Index: main/tags/2.83/gli/.java.policy
===================================================================
--- main/tags/2.83/gli/.java.policy	(revision 21123)
+++ main/tags/2.83/gli/.java.policy	(revision 21123)
@@ -0,0 +1,12 @@
+
+grant {
+        permission java.io.FilePermission "<<ALL FILES>>", "read, write";
+        permission javax.sound.sampled.AudioPermission "record";
+        permission java.util.PropertyPermission "user.dir", "read";
+        permission java.util.PropertyPermission "user.home", "read";
+
+        permission java.lang.RuntimePermission "modifyThread";
+
+	permission java.util.prefs.syncInterval "write";
+	permission java.library.path "read, write";
+}
Index: main/tags/2.83/gli/CheckJavaVersion.java
===================================================================
--- main/tags/2.83/gli/CheckJavaVersion.java	(revision 21123)
+++ main/tags/2.83/gli/CheckJavaVersion.java	(revision 21123)
@@ -0,0 +1,100 @@
+import java.util.regex.Pattern;
+
+
+public class CheckJavaVersion {
+	static final String MINIMUM_VERSION_PREFIX = "1.4";
+	
+	/**
+	 * @param args, arg[0] is the minium version of Java required
+	 * to run the program. arg[1] is the name of the program.
+	 * If arg[1] is left out, then no distinct program name is
+	 * mentioned. If arg[0] is left out as well, then Greenstone3's
+	 * minimum default version of 1.4.x is assumed.
+	 * The program exits with 1 if the Java version being used is 
+	 * incompatible and with 2 if it is acceptable.
+	 */
+	public static void main(String[] args) {
+		String minimumVersion = MINIMUM_VERSION_PREFIX;
+		String programName = "this program"; 
+		// the version of java that's in use
+		String runningJavaVersion = System.getProperty("java.version");
+		
+		if(args.length > 0) {
+			minimumVersion = args[0];
+		}
+		if(args.length > 1) {
+			programName = args[1];
+		}
+		
+		System.out.println("\nChecking for a compatible Java version..."
+				+ "\nLooking for minimum version: " + minimumVersion);
+		
+		// Version numbers can be of the form "1.5.0_2" 
+		// We want to split version numbers into the individual numbers
+		// For example: splitting 1.5.0_2 will give us {1,5,0,2},
+		// while splitting 1.5.0_10 will give us {1,5,0,10}.
+		// The comparison then is straightforward.
+		
+		// We will split version strings into the individual numbers
+		// using regular expressions. However, the tokens . and _ are
+		// reserved in regular expressions and need to be escaped: 
+		// Period: \Q.\E;  underscore: \Q_\E.
+		// Once escaped, it should be indicated in the regular expression
+		// that the two characters are separate tokens by using |, so 
+		// that the regex becomes: ".|_" -> \Q.\E|\Q_\E.
+		String period = "\\Q.\\E";
+		String underscore = "\\Q_\\E";
+			 // Can't use Pattern.quote() since it is not there in Java 1.4.*
+		     //String period = Pattern.quote(".");
+		     //String underscore = Pattern.quote("_");
+		
+		String[] minVersionNums = minimumVersion.split(period+"|"+underscore);
+		String[] runningVersionNums =runningJavaVersion.split(period+"|"+underscore);
+		
+		boolean acceptable = true;
+		// only keep looping while we haven't gone past the end of either array
+		int i=0;
+		for(; i < minVersionNums.length && i < runningVersionNums.length; i++)
+		{
+			int min = Integer.parseInt(minVersionNums[i]);
+			int run = Integer.parseInt(runningVersionNums[i]);
+			if(run > min) { 
+			        // certain success: one of the higher positional numbers 
+			        // of the running version is greater than the corresponding
+			        // number of the minimum version, meaning we've finished.
+				break;
+			} else if(run < min) { 
+				// fail: running version number is lower than corresponding 
+				// minimum version number
+				acceptable = false;
+				break;
+			} 
+		}
+		
+		// Consider minVersion = 1.5.0_10 and runningVersion = 1.5.0
+		// this means the runningversion is still insufficient. 
+		// HOWEVER, minVersion being longer does not always mean it is
+		// a later version, consider: min=1.5.0_9.12 and run=1.5.0_10
+		// This should be acceptable since 10 > 9 even though min is longer.
+		// SOLUTION: If the last values for both were the same, the running 
+		// Version is not compatible if the minVersionNums array is longer
+		int min = Integer.parseInt(minVersionNums[i-1]);
+		int run = Integer.parseInt(runningVersionNums[i-1]);
+		
+		// if the last values were the same, check whether min is longer
+		// in which case the running version is not acceptable
+		if(min == run && minVersionNums.length > runningVersionNums.length) 
+		{
+			acceptable = false;
+		}
+		
+		if(acceptable) {
+			System.out.println("Found compatible Java version " +runningJavaVersion);
+			System.exit(2); // acceptable case
+		} else {
+			System.out.println("The current Java version " + 
+				runningJavaVersion + " is insufficient to run " + programName);
+			System.exit(1);
+		} 
+	}
+}
Index: main/tags/2.83/gli/FLI_README.txt
===================================================================
--- main/tags/2.83/gli/FLI_README.txt	(revision 21123)
+++ main/tags/2.83/gli/FLI_README.txt	(revision 21123)
@@ -0,0 +1,46 @@
+FLI, the Fedora Librarian Interface:
+____________________________________
+
+A Purpose of FLI:
+FLI is built on top of GLI. Just as with GLI, it allows you to drag-and-drop documents into a collection which it will then build. The building process of FLI is different in that it will export the documents into a Fedora repository.
+
+
+B Some limitations and workarounds
+- You need the Greenstone server to be running on the same machine as where your Fedora machine is running. This may or may not remain a requirement in the future.
+- FLI will put documents into the Fedora repository (a process called "ingesting into Fedora"). If you happen to encounter some connection failure problems please try the following and also inform us of the context of your problem. To overcome such a problem, what you need to do is:
+ * Stop the fedora server
+ * Go to FEDORA_HOME/tomcat/conf/Catalina/localhost/
+(where FEDORA_HOME is your Fedora installation folder)
+ * Create a file containing this XML:
+<?xml version='1.0' encoding='utf-8'?>
+<Context docBase="/full/path/to/parent/folder/of/your/greenstone/collectdir" path="/gsdl"></Context>
+Where this full path would be your 
+- GSDLHOME/web/sites/localsite for Greenstone 3, and 
+- just plain GSDLHOME for Greenstone 2. 
+Note that in both cases, it has to be the full path to the parent directory of the "collect" directory.
+ * restart the fedora server
+ * Now you can run FLI as described below.
+
+
+C Prerequisites for running FLI: 
+- You need Greenstone 2 or 3
+- You need Fedora installed (which would have required you to set the environment variables FEDORA_HOME, CATALINA_HOME and JAVA_HOME). Then add a new environment variable called FEDORA_VERSION and set it to the value of your Fedora installation's version number.
+- You need the Greenstone server running on the same machine as where your Fedora server is installed.
+
+
+D Running FLI:
+- If you have more than one Greenstone installed (Greenstone 2 and Greenstone 3), then first run the setup file for the Greenstone installation you want to use, so that your Greenstone environment is set up. 
+If you were on linux, you would have to source the setup scripts by going into the Greenstone installation directory and typing
+	source setup.bash
+if it is Greenstone 2.
+And
+	source gs3-setup.sh
+if it is Greenstone 3.	
+If you're on Windows you would run setup.bat in the Greenstone 2 folder or gs3-setup.bat in the Greenstone 3 folder.
+- If you're using a linux xterm, you'd go into Greenstone's gli folder and type:
+	./fli.sh
+If you're on Windows, go into Greenstone's gli folder and double-click on fli.bat
+- Once FLI starts up, it will ask you the Fedora server details and your Fedora username and password to access the Fedora repository.
+- Drag and drop documents into a collection as before, go to the Build tab and press the Build button. Once the building is finished, pressing the preview button will open the browser onto the Fedora search page. 
+- If you have other digital objects in your Fedora repository besides the content generated by Greenstone, you will have to type "greenstone:*" (or just "greenstone*") in the search box--with the quotes.
+If your Fedora repository only contains documents built in FLI, then pressing just the search button should be fine.
Index: main/tags/2.83/gli/LICENSE.txt
===================================================================
--- main/tags/2.83/gli/LICENSE.txt	(revision 21123)
+++ main/tags/2.83/gli/LICENSE.txt	(revision 21123)
@@ -0,0 +1,350 @@
+Copyright (c) 2003 Greenstone Digital Libraries, University of Waikato
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, and distribute copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the GPL and the following conditions (where not in conflict with the GPL):
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software, as will all other notices contained in the copyrights directory.
+
+THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDER (Greenstone Digital Libraries, University of Waikato), OR THEIR STAFF BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Greenstone Digital Libraries, University of Waikato shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the Greenstone Digital Libraries, University of Waikato. Distributed under GPL, as follows: 
+
+
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                          675 Mass Ave, Cambridge, MA 02139, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  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.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  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.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+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.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  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.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  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.
+
+			    NO WARRANTY
+
+  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.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) 19yy  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) 19yy name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
Index: main/tags/2.83/gli/READMEar.txt
===================================================================
--- main/tags/2.83/gli/READMEar.txt	(revision 21123)
+++ main/tags/2.83/gli/READMEar.txt	(revision 21123)
@@ -0,0 +1,9 @@
+﻿واجهة مكتبي قرينستون  Greenstone Librarian Interface (GLI) تسمح لك باستخدام وظائف برنامج قرينستون  من خلال واجهة استخدام سهلة وتعتمد على الفأرة. حيث يمكنك تجميع مجموعات من الوثائق و إستيراد واصفات البيانات الخاصة بها أو التي تحددها بنفسك ثم تنهي عملية بناء المجموعة. 
+لاحظ أن واجهة مكتبي قرينستون GLI يعمل من خلال برنامج قرينستون، ويفترض أن يتم تثبيته في مجلد فرعي من مجلد قرينستون. و تعتبر  هذه الحالة خاصة  إذا قمت بتنزيل   البرنامج من شبكة  الإنترنت أو قمت بتثبيته من على القرص  المدمج لقرينستون. 
+
+تشغيل واجهة مكتبي قرينستون GLI في بيئة النوافذ   Windows 
+قم بتشغيل واجهة مكتبي قرينستون في بيئة النوافذ   Windows باختيار مكتبة قرينستون الرقمية  من قسم البرامج في قائمة إبدأ ثم اختيار واجهة مكتبي قرينستون. 
+تشغيل واجهة مكتبي قرينستون GLI في بيئة Unix
+لتشغيل واجهة مكتبي قرينستون GLI في بيئة Unix, انتقل إلى مجلد gli الموجود في  تثبيت برنامج قرينستون، ثم قم بتشغيل الملف gli.sh . 
+تشغيل واجهة مكتبي قرينستون GLI في بيئة Mac OS X
+في متصفح الملفات , تصفح حتى تصل إلى تطبيقات ثم قرينستون (هذا في حالة تثبيت البرنامج في المسارات المعرفة تلقائيا للتثبيت), ثم شغل  تطبيق   واجهة مكتبي قرينستون GLI
Index: main/tags/2.83/gli/READMEen.txt
===================================================================
--- main/tags/2.83/gli/READMEen.txt	(revision 21123)
+++ main/tags/2.83/gli/READMEen.txt	(revision 21123)
@@ -0,0 +1,50 @@
+The Greenstone Librarian Interface
+----------------------------------
+
+This folder contains the Greenstone Librarian Interface (GLI), a tool to
+assist you with building digital libraries using Greenstone. The GLI gives
+you access to Greenstone's functionality from an easy-to-use, 'point and
+click' interface.
+
+To use the GLI, you need a suitable version of the Java Runtime Environment
+(version 1.4.0 or newer). If you don't already have one, you can download
+one from http://java.sun.com/j2se/downloads.html
+
+Note that the GLI is run in conjunction with Greenstone, and assumes that
+it is installed in a subdirectory of your Greenstone installation. If you
+have downloaded one of the Greenstone distributions, or installed from a 
+Greenstone CD-ROM, this will be the case.
+
+
+-- Running the GLI under Windows --
+
+To run the GLI under Windows, browse to the GLI folder in your Greenstone
+installation (using Windows Explorer), and double-click on the gli.bat
+file. This file will check that Greenstone, Perl, and the Java Runtime
+Environment are installed, then start the Greenstone Librarian Interface.
+
+
+-- Running the GLI under Unix --
+
+To run the GLI under Unix, change to the GLI directory in your Greenstone
+installation, then run the gli.sh script. This script will check that
+Greenstone, Perl, and the Java Runtime Environment are installed (make sure
+they are on your search path), then start the Greenstone Librarian
+Interface.
+
+
+Please report any problems you have running or using the Librarian
+Interface to greenstone@cs.waikato.ac.nz.
+
+
+-- Compiling the GLI --
+
+If you have downloaded the Greenstone source distribution, or you have
+obtained the GLI via SVN, you will have the source code (Java) of the
+Librarian Interface. Compiling it requires a suitable version of the Java
+Software Development Kit (version 1.4.0 or newer). You can download one
+from http://java.sun.com/j2se/downloads.html
+
+To compile this source code, run the makegli.bat (Windows) or makegli.sh
+(Unix) files. Once this has been done, you can run the GLI using the
+instructions above.
Index: main/tags/2.83/gli/READMEes.txt
===================================================================
--- main/tags/2.83/gli/READMEes.txt	(revision 21123)
+++ main/tags/2.83/gli/READMEes.txt	(revision 21123)
@@ -0,0 +1,54 @@
+Interfaz de la Biblioteca Digital Greenstone
+--------------------------------------------
+
+Esta carpeta contiene la Interfaz de la Biblioteca Digital Greenstone (GLI
+por sus siglas en inglés), una herramienta que le ayudará a crear y 
+construir bibliotecas digitales por medio de Greenstone. La GLI le da 
+acceso a las funciones de Greenstone desde una interfaz fácil de usar con 
+la que solo tiene que apuntar y hacer click.
+
+Para poder usar la GLI usted necesita una versión adecuada del Ambiente 
+de Ejecución Java (versión 1.4.0 o posterior). Si aún no la tiene, podrá 
+bajarla desde http://java.sun.com/j2se/downloads.html.
+
+Recuerde que la GLI se ejecuta junto con los programas Greenstone, por 
+lo que se asume que estará instalada en un subdirectorio de Greenstone. 
+Si usted ya bajó de la Web una de las versiones de Greenstone o la instaló  
+desde un CD-ROM, entonces éste será el caso.
+
+
+-- Ejecución de la GLI bajo Windows --
+
+Para correr la GLI bajo Windows explore la carpeta GLI que se encuentra 
+en su instalación Greenstone (por medio de Windows Explorer) y haga 
+doble click en el archivo gli.bat. Este archivo verificará que Greenstone, 
+Perl y el Ambiente de Ejecución Java están instalados. A continuación 
+inicie la Interfaz de la Biblioteca Digital Greenstone.
+
+
+-- Ejecución de la GLI bajo UNIX --
+
+Para correr la GLI bajo UNIX cambie al directorio GLI que se encuentra en 
+su instalación Greenstone y ejecute el guión gli.sh. Este guión 
+verificará que Greenstone, Perl y el Ambiente de Ejecución Java están 
+instalados (asegúrese de que están en su ruta de búsqueda). A 
+continuación inicie la Interfaz de la Biblioteca Digital Greenstone.
+
+
+Por favor informe sobre cualquier problema que tenga al correr o usar la 
+Interfaz de la Biblioteca Digital a la siguiente dirección:
+greenstone@cs.waikato.ac.nz.
+
+
+-- Compilación de la GLI --
+
+Si usted ha bajado la versión con el código fuente de Greenstone o ha 
+obtenido la GLI por medio de SVN, entonces tendrá el código fuente 
+(Java) de la Interfaz de la Biblioteca Digital. Para compilarlo se necesita 
+una versión adecuada del Kit de Desarrollo de Software Java (versión 
+1.4.0 o posterior). Usted puede bajarlo desde 
+http://java.sun.com/j2se/downloads.html.
+
+Para compilar este código fuente ejecute los archivos makegli.bat 
+(Windows) o makegli.sh (UNIX). Una vez que haya hecho esto usted 
+podrá correr la GLI usando las instrucciones que aparecen arriba.
Index: main/tags/2.83/gli/READMEfr.txt
===================================================================
--- main/tags/2.83/gli/READMEfr.txt	(revision 21123)
+++ main/tags/2.83/gli/READMEfr.txt	(revision 21123)
@@ -0,0 +1,49 @@
+L'Interface du Bibliothécaire de Greenstone (Greenstone Librarian Interface)
+----------------------------------------------------------------------------
+
+Ce dossier contient l'Interface du Bibliothécaire de Greenstone - Greenstone 
+Librarian Interface (GLI), un outil qui vous assiste pour la création de 
+bibliothèques numérique avec Greenstone. GLI vous donne accès aux fonctions 
+de Greenstone à partir d'une interce 'pointer et cliquer' facile à utiliser.
+
+Pour utiliser GLI, vous avez besoin d'une version adéquate de Java Runtime 
+Environment (version 1.4.0 ou supérieure). Si vous n'en disposez pas, vous 
+pouvez le télécharger de http://java.sun.com/j2se/downloads.html
+
+Notez que GLI est lancé avec Greenstone et suppose qu'il est installé dans 
+un sous-répertoire de votre installation Greenstone. Si vous avez téléchargé 
+une des distributions de Greenstone ou si vous avez installé à partir d'un 
+CD-ROM, ceci sera le cas.
+
+
+-- Exécuter GLI sous Windows --
+
+Pour exécuter GLI sous Windows, parcourez votre système de fichiers jusqu'au 
+répertoire GLI (en utilisant Windows Explorer), et double-cliquez sur le 
+fichier gli.bat. Ce fichier va vérifier que Greenstone, Perl et Java Runtime 
+Environment sont installés, puis démarre Greenstone Librarian Interface.
+
+
+-- Exécuter GLI sous Unix --
+
+Pour exécuter GLI sous Unix, aller au répertoire GLI de votre installation 
+Greenstone et lancer le script gli.sh. Ce script va vérifier que Greenstone, 
+Perl et Java Runtime Environment sont installés (assurez-vous qu'ils sont 
+dans le chemin de recherche), puis démarre Greenstone Librarian Interface.
+
+
+Prière de signaler tous problèmes rencontrés lors de l'exécution ou de 
+l'utilisation de Librarian Interface à greenstone@cs.waikato.ac.nz.
+
+
+-- Compiler GLI --
+
+Si vous avez téléchargé la distribution source de Greenstone, ou si vous 
+avez obtenu Greenstone à travers SVN, alors vous avez le code source (Java) 
+de Librarian Interface. Le compiler requière une version adéquate de Java 
+Software Development Kit (version 1.4.0 ou supérieure). Vous pouvez le 
+télécharger de http://java.sun.com/j2se/downloads.html
+
+Pour compiler ce code source, exécutez makegli.bat (Windows) ou makegli.sh 
+(Unix). Une fois ceci fait, vous pouvez exécuter GLI en suivant les 
+instructions ci-dessus.
Index: main/tags/2.83/gli/READMEru.txt-cp1251
===================================================================
--- main/tags/2.83/gli/READMEru.txt-cp1251	(revision 21123)
+++ main/tags/2.83/gli/READMEru.txt-cp1251	(revision 21123)
@@ -0,0 +1,51 @@
+Èíòåðôåéñ áèáëèîòåêè Greenstone
+-------------------------------
+
+Ýòà ïàïêà ñîäåðæèò èíòåðôåéñ Áèáëèîòåêè Greenstone (GLI) - èíñòðóìåíò,
+êîòîðûé ïîìîæåò Âàì â ïîñòðîåíèè öèôðîâûõ áèáëèîòåê ñ èñïîëüçîâàíèåì
+Greenstone. GLI äàžò Âàì âîçìîæíîñòü ïîëó÷èòü äîñòóï ê ôóíêöèîíàëüíûì
+âîçìîæíîñòÿì Greenstone, óäîáíîìó â ðàáîòå èíòåðôåéñó - óêàæèòå è ùåëêíèòå.
+
+×òîáû èñïîëüçîâàòü GLI, Âàì íåîáõîäèìà ïîäõîäÿùàÿ âåðñèÿ Java Runtime
+Environment (JRE) (âåðñèÿ 1.4.0 èëè áîëåå íîâàÿ). Åñëè ó Âàñ îíà
+îòñóòñòâóåò, Âû ìîæåòå çàãðóçèòü åž ñ ñàéòà
+http://java.sun.com/j2se/downloads.html
+
+Îáðàòèòå âíèìàíèå, ÷òî GLI ñâÿçàíà ñ Greenstone. Ïðåäïîëàãàåòñÿ, ÷òî îíà
+óñòàíîâëåíà â ïîääèðåêòîðèè ïðè èíñòàëëÿöèè Greenstone. Åñëè Âû çàãðóçèëè
+îäèí èç äèñòðèáóòèâîâ Greenstone èëè óñòàíîâèëè åãî ñ CD-ROM, òî ýòî áóäåò
+èìåòü ìåñòî.
+
+
+-- Çàïóñê GLI ïîä Windows --
+
+×òîáû çàïóñòèòü GLI ïîä Windows, ðàññìîòðèòå ïàïêó GLI â èíñòàëëèðîâàííîì ó
+Âàñ Greenstone, èñïîëüçóÿ Windows Explorer, è ùåëêíèòå 2 ðàçà íà ôàéë
+gli.bat. Ýòîò ôàéë ïðîâåðèò, ÷òî Greenstone, Perl è JRE óñòàíîâëåíû, ïîñëå
+÷åãî çàïóñêàåòñÿ èíòåðôåéñ Greenstone.
+
+
+-- Çàïóñê GLI ïîä Unix --
+
+×òîáû çàïóñòèòü GLI ïîä Unix, èçìåíèòå äèðåêòîðèþ GLI â âàøåì
+èíñòàëëèðîâàííîì Greenstone, çàòåì îáðàòèòåñü ê ñêðèïòó gli.sh. Ýòîò ñêðèïò
+ïðîâåðèò, ÷òî Greenstone, Perl è JRE óñòàíîâëåíû (óäîñòîâåðüòåñü, ÷òî îíè
+íàõîäÿòñÿ íà óêàçàííîì âàìè ïóòè ïîèñêà), ïîñëå ÷åãî ñòàðòóåò èíòåðôåéñ
+Greenstone.
+
+
+Ïîæàëóéñòà, ñîîáùèòå î ëþáûõ ïðîáëåìàõ, êîòîðûå ó Âàñ èìåþòñÿ ïðè çàïóñêå
+èëè èñïîëüçîâàíèè èíòåðôåéñà GS, ê greenstone@cs.waikato.ac.nz.
+
+
+-- Êîìïèëèðîâàíèå GLI --
+
+Åñëè Âû çàãðóçèëè èñòî÷íèê äèñòðèáóòèâà Greenstone èëè æå ðàñïîëàãàåòå GLI
+îò SVN, òî Âû ðàñïîëàãàåòå èñõîäíîé ïðîãðàììîé Java èíòåðôåéñà áèáëèîòåêè.
+Êîìïèëÿöèÿ åž òðåáóåò ïîäõîäÿùåé âåðñèè ïðîãðàììíîãî îáåñïå÷åíèÿ Java
+Software Development Kit (âåðñèÿ 1.4.0 èëè áîëåå íîâàÿ). Âû ìîæåòå çàãðóçèòü
+åž ñ ñàéòà http://java.sun.com/j2se/downloads.html.
+
+×òîáû ñîáðàòü ýòó èñõîäíóþ ïðîãðàììó, âîéäèòå â ôàéëû makegli.bat (Windows)
+èëè makegli.sh (Unix). Êàê òîëüêî ýòî áóäåò ñäåëàíî, ìîæåòå çàïóñòèòü GLI,
+èñïîëüçóÿ äàííûå âûøå èíñòðóêöèè.
Index: main/tags/2.83/gli/READMEru.txt-koi8-r
===================================================================
--- main/tags/2.83/gli/READMEru.txt-koi8-r	(revision 21123)
+++ main/tags/2.83/gli/READMEru.txt-koi8-r	(revision 21123)
@@ -0,0 +1,51 @@
+éÎÔÅÒÆÅÊÓ ÂÉÂÌÉÏÔÅËÉ Greenstone
+-------------------------------
+
+üÔÁ ÐÁÐËÁ ÓÏÄÅÒÖÉÔ ÉÎÔÅÒÆÅÊÓ âÉÂÌÉÏÔÅËÉ Greenstone (GLI) - ÉÎÓÔÒÕÍÅÎÔ,
+ËÏÔÏÒÙÊ ÐÏÍÏÖÅÔ ÷ÁÍ × ÐÏÓÔÒÏÅÎÉÉ ÃÉÆÒÏ×ÙÈ ÂÉÂÌÉÏÔÅË Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ
+Greenstone. GLI ÄÁ£Ô ÷ÁÍ ×ÏÚÍÏÖÎÏÓÔØ ÐÏÌÕÞÉÔØ ÄÏÓÔÕÐ Ë ÆÕÎËÃÉÏÎÁÌØÎÙÍ
+×ÏÚÍÏÖÎÏÓÔÑÍ Greenstone, ÕÄÏÂÎÏÍÕ × ÒÁÂÏÔÅ ÉÎÔÅÒÆÅÊÓÕ - ÕËÁÖÉÔÅ É ÝÅÌËÎÉÔÅ.
+
+þÔÏÂÙ ÉÓÐÏÌØÚÏ×ÁÔØ GLI, ÷ÁÍ ÎÅÏÂÈÏÄÉÍÁ ÐÏÄÈÏÄÑÝÁÑ ×ÅÒÓÉÑ Java Runtime
+Environment (JRE) (×ÅÒÓÉÑ 1.4.0 ÉÌÉ ÂÏÌÅÅ ÎÏ×ÁÑ). åÓÌÉ Õ ÷ÁÓ ÏÎÁ
+ÏÔÓÕÔÓÔ×ÕÅÔ, ÷Ù ÍÏÖÅÔÅ ÚÁÇÒÕÚÉÔØ Å£ Ó ÓÁÊÔÁ
+http://java.sun.com/j2se/downloads.html
+
+ïÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ, ÞÔÏ GLI Ó×ÑÚÁÎÁ Ó Greenstone. ðÒÅÄÐÏÌÁÇÁÅÔÓÑ, ÞÔÏ ÏÎÁ
+ÕÓÔÁÎÏ×ÌÅÎÁ × ÐÏÄÄÉÒÅËÔÏÒÉÉ ÐÒÉ ÉÎÓÔÁÌÌÑÃÉÉ Greenstone. åÓÌÉ ÷Ù ÚÁÇÒÕÚÉÌÉ
+ÏÄÉÎ ÉÚ ÄÉÓÔÒÉÂÕÔÉ×Ï× Greenstone ÉÌÉ ÕÓÔÁÎÏ×ÉÌÉ ÅÇÏ Ó CD-ROM, ÔÏ ÜÔÏ ÂÕÄÅÔ
+ÉÍÅÔØ ÍÅÓÔÏ.
+
+
+-- úÁÐÕÓË GLI ÐÏÄ Windows --
+
+þÔÏÂÙ ÚÁÐÕÓÔÉÔØ GLI ÐÏÄ Windows, ÒÁÓÓÍÏÔÒÉÔÅ ÐÁÐËÕ GLI × ÉÎÓÔÁÌÌÉÒÏ×ÁÎÎÏÍ Õ
+÷ÁÓ Greenstone, ÉÓÐÏÌØÚÕÑ Windows Explorer, É ÝÅÌËÎÉÔÅ 2 ÒÁÚÁ ÎÁ ÆÁÊÌ
+gli.bat. üÔÏÔ ÆÁÊÌ ÐÒÏ×ÅÒÉÔ, ÞÔÏ Greenstone, Perl É JRE ÕÓÔÁÎÏ×ÌÅÎÙ, ÐÏÓÌÅ
+ÞÅÇÏ ÚÁÐÕÓËÁÅÔÓÑ ÉÎÔÅÒÆÅÊÓ Greenstone.
+
+
+-- úÁÐÕÓË GLI ÐÏÄ Unix --
+
+þÔÏÂÙ ÚÁÐÕÓÔÉÔØ GLI ÐÏÄ Unix, ÉÚÍÅÎÉÔÅ ÄÉÒÅËÔÏÒÉÀ GLI × ×ÁÛÅÍ
+ÉÎÓÔÁÌÌÉÒÏ×ÁÎÎÏÍ Greenstone, ÚÁÔÅÍ ÏÂÒÁÔÉÔÅÓØ Ë ÓËÒÉÐÔÕ gli.sh. üÔÏÔ ÓËÒÉÐÔ
+ÐÒÏ×ÅÒÉÔ, ÞÔÏ Greenstone, Perl É JRE ÕÓÔÁÎÏ×ÌÅÎÙ (ÕÄÏÓÔÏ×ÅÒØÔÅÓØ, ÞÔÏ ÏÎÉ
+ÎÁÈÏÄÑÔÓÑ ÎÁ ÕËÁÚÁÎÎÏÍ ×ÁÍÉ ÐÕÔÉ ÐÏÉÓËÁ), ÐÏÓÌÅ ÞÅÇÏ ÓÔÁÒÔÕÅÔ ÉÎÔÅÒÆÅÊÓ
+Greenstone.
+
+
+ðÏÖÁÌÕÊÓÔÁ, ÓÏÏÂÝÉÔÅ Ï ÌÀÂÙÈ ÐÒÏÂÌÅÍÁÈ, ËÏÔÏÒÙÅ Õ ÷ÁÓ ÉÍÅÀÔÓÑ ÐÒÉ ÚÁÐÕÓËÅ
+ÉÌÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÉÎÔÅÒÆÅÊÓÁ GS, Ë greenstone@cs.waikato.ac.nz.
+
+
+-- ëÏÍÐÉÌÉÒÏ×ÁÎÉÅ GLI --
+
+åÓÌÉ ÷Ù ÚÁÇÒÕÚÉÌÉ ÉÓÔÏÞÎÉË ÄÉÓÔÒÉÂÕÔÉ×Á Greenstone ÉÌÉ ÖÅ ÒÁÓÐÏÌÁÇÁÅÔÅ GLI
+ÏÔ SVN, ÔÏ ÷Ù ÒÁÓÐÏÌÁÇÁÅÔÅ ÉÓÈÏÄÎÏÊ ÐÒÏÇÒÁÍÍÏÊ Java ÉÎÔÅÒÆÅÊÓÁ ÂÉÂÌÉÏÔÅËÉ.
+ëÏÍÐÉÌÑÃÉÑ Å£ ÔÒÅÂÕÅÔ ÐÏÄÈÏÄÑÝÅÊ ×ÅÒÓÉÉ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ Java
+Software Development Kit (×ÅÒÓÉÑ 1.4.0 ÉÌÉ ÂÏÌÅÅ ÎÏ×ÁÑ). ÷Ù ÍÏÖÅÔÅ ÚÁÇÒÕÚÉÔØ
+Å£ Ó ÓÁÊÔÁ http://java.sun.com/j2se/downloads.html.
+
+þÔÏÂÙ ÓÏÂÒÁÔØ ÜÔÕ ÉÓÈÏÄÎÕÀ ÐÒÏÇÒÁÍÍÕ, ×ÏÊÄÉÔÅ × ÆÁÊÌÙ makegli.bat (Windows)
+ÉÌÉ makegli.sh (Unix). ëÁË ÔÏÌØËÏ ÜÔÏ ÂÕÄÅÔ ÓÄÅÌÁÎÏ, ÍÏÖÅÔÅ ÚÁÐÕÓÔÉÔØ GLI,
+ÉÓÐÏÌØÚÕÑ ÄÁÎÎÙÅ ×ÙÛÅ ÉÎÓÔÒÕËÃÉÉ.
Index: main/tags/2.83/gli/chkinst.bat
===================================================================
--- main/tags/2.83/gli/chkinst.bat	(revision 21123)
+++ main/tags/2.83/gli/chkinst.bat	(revision 21123)
@@ -0,0 +1,32 @@
+::@echo off
+
+set CHECK=1
+
+:: Check that the Greenstone installation looks OK
+if "%GLILANG%" == "en" echo Checking GSDL: %1
+if "%GLILANG%" == "es" echo Revisando GSDL: %1
+if "%GLILANG%" == "fr" echo Vrification de GSDL: %1
+if "%GLILANG%" == "ru" echo à®¢¥àª  GSDL: %1
+
+:: if either of the files exist, we know we can install greenstone
+if exist %1\gs3-setup.bat set CHECK=0
+if exist %1\setup.bat set CHECK=0
+
+if "%CHECK%" == "0" goto endchk
+
+	:: Otherwise, if there was no setup file, then installation fails
+	echo.
+	if "%GLILANG%" == "en" echo The Greenstone %2 installation could not be found, or is incomplete.
+	if "%GLILANG%" == "en" echo Try reinstalling Greenstone %2 then running this script again.
+
+	if "%GLILANG%" == "es" echo No se pudo encontrar la instalaci¢n de Greenstone %2 o est  incompleta.
+	if "%GLILANG%" == "es" echo Trate de reinstalar Greenstone %2 y a continuaci¢n ejecute nuevamente este gui¢n.
+
+	if "%GLILANG%" == "fr" echo L'installation de Greenstone %2 est introuvable ou incomplte. Essayez
+	if "%GLILANG%" == "fr" echo de rinstaller Greenstone %2 et excutez ce script 
+ nouveau.
+
+	if "%GLILANG%" == "ru" echo ­áâ ««ïæšï Greenstone %2 ­¥ ¡ë«  ­ ©€¥­  š«š ®­  ­¥¯®«­ . ®¯à®¡ã©â¥ ¯®¢â®à­®
+	if "%GLILANG%" == "ru" echo ãáâ ­®¢šâì Greenstone %2,   § â¥¬ ¢¢¥áâš íâ®â áªàš¯â á­®¢ .
+
+:endchk
Index: main/tags/2.83/gli/classes/META-INF/MANIFEST.MF
===================================================================
--- main/tags/2.83/gli/classes/META-INF/MANIFEST.MF	(revision 21123)
+++ main/tags/2.83/gli/classes/META-INF/MANIFEST.MF	(revision 21123)
@@ -0,0 +1,4 @@
+Manifest-Version: 1.0
+Created-By: 1.3.0 (Sun Microsystems Inc.)
+Main-Class: org.greenstone.gatherer.Gatherer
+Classpath: .\Gatherer.jar
Index: main/tags/2.83/gli/classes/dictionary.properties
===================================================================
--- main/tags/2.83/gli/classes/dictionary.properties	(revision 21123)
+++ main/tags/2.83/gli/classes/dictionary.properties	(revision 21123)
@@ -0,0 +1,1094 @@
+#*******************
+#** Language Orientation Property
+Component.Orientation:LTR
+
+#*******************
+#
+#***** AboutDialog *****
+AboutDialog.Acknowledgement:Acknowledgements for proprietary programs, packages or classes...
+AboutDialog.Date:(April 2009)
+AboutDialog.Item0:'Xerces Java 1' from The Apache Software Foundation (http://www.apache.org/)
+AboutDialog.Item2:'WGet' from Free Software Foundation, Inc. (http://www.gnu.org/software/wget/wget.html)
+AboutDialog.Item3:'qflib' from Quality First Software GmbH. (http://www.qfs.de/en/qflib/index.html)
+AboutDialog.Item4:'ExtensionFileFilter.class' by Bruno Dumon and contributors (http://pollo.sourceforge.net/)
+AboutDialog.Item5:'How to disable file renaming in file chooser' - vladi21 (http://www.experts-exchange.com/)
+AboutDialog.Item6:'Autoscrolling' - Java Swing by Robert Eckstein, Marc Loy & Dave Wood (http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf)
+AboutDialog.Item7:'Add ghosted drag images to your JTrees' - By Andrew J. Armstrong (http://www.javaworld.com/javaworld/javatips/jw-javatip114.html)
+AboutDialog.Item8:'Stop annoying java.prefs error when you don't have superuser access' - Thanks to Walter Schatz
+AboutDialog.Item9:'New folder', 'delete' and 'help' icons from the Dropline Neu! icon set by Silvestre Herrera, available from http://art.gnome.org/
+AboutDialog.Java_Req:Java is a trademark of Sun Microsystems Inc. The JRE is redistributed as per the Supplemental License Terms, found at http://java.sun.com/j2se/1.4.1/j2re-1_4_1_02-license.html
+AboutDialog.Java_Req_One:This product includes code licensed from RSA Security, Inc.
+AboutDialog.Java_Req_Two:Some portions licensed from IBM are available at http\://oss.software.ibm.com/icu4j/
+AboutDialog.Thanks:Also thanks to those who posted helpful java information on the web...
+AboutDialog.Title:About...
+AboutDialog.Title_One:Greenstone Librarian Interface
+AboutDialog.Title_Two:Greenstone Digital Library, University of Waikato
+AboutDialog.Copyright:Copyright (C) 2003-2009 New Zealand Digital Library Project
+AboutDialog.Copyright_Two:Published under the GPL. See LICENSE.txt for details.
+#***********************
+#
+#***** Audit Table *****
+AuditTable.File:Filename
+#***********************
+#
+#***** Auto Filter *****
+Autofilter.AND:AND
+Autofilter.Ascending:Ascending
+Autofilter.Case_Sensitive:Match Case                              
+Autofilter.Custom_Filter:Advanced
+Autofilter.Descending:Descending
+Autofilter.Filter_By_Value:Simple
+Autofilter.Name:Column Name
+Autofilter.None:None
+Autofilter.Operator:Condition
+Autofilter.OR:OR
+Autofilter.Order:Ordering
+Autofilter.Order_Tooltip:Sort the matching items in this order
+Autofilter.Remove:Remove Filter
+Autofilter.Remove_Tooltip:Remove this filter from the table column
+Autofilter.Set:Set Filter
+Autofilter.Set_Tooltip:Add this filter to the table column
+Autofilter.Table_Header_Tooltip:Filter by {0}
+Autofilter.Title:Autofilter Metadata
+Autofilter.eqeq:equal to
+Autofilter.!eq:does not equal
+Autofilter.<:is less than
+Autofilter.<eq:is less than or equal to
+Autofilter.>:is greater than
+Autofilter.>eq:is greater than or equal to
+Autofilter.^:starts with
+Autofilter.!^:does not start with
+Autofilter.$:ends with
+Autofilter.!$:does not end with
+Autofilter.?:contains
+Autofilter.!?:does not contain
+#
+#     ********************************************************
+#     *************** Collection Design Module ***************
+#     ********************************************************
+#     * The dictionary  phrases  used in the creation of the *
+#     * Colection  Design  Module. Note that we  still  have *
+#     * access  to the format  arguments (argument  32+) for *
+#     * html formatting.                                     *
+#     ********************************************************
+CDM.ArgumentConfiguration.Bad_Integer:<html>The argument '{0}' requires an integer value,<br>but no integer can be parsed from {1}.</html>
+CDM.ArgumentConfiguration.Error_Title:Error In Arguments
+CDM.ArgumentConfiguration.Header:<HTML><STRONG><FONT FACE={FONT} COLOR=Black SIZE=5><CENTER>Please configure the arguments for {0}.</CENTER></FONT></STRONG></HTML>
+CDM.ArgumentConfiguration.No_Value:The argument '{0}' requires a value, but no value is specified.
+CDM.ArgumentConfiguration.Required_Argument:The argument '{0}' must be given a value.
+CDM.ArgumentConfiguration.Title:Configuring Arguments
+CDM.BuildTypeManager.Title:Select the Indexer
+CDM.BuildTypeManager.mg:MG
+CDM.BuildTypeManager.mg_Description:This is the original indexer used by Greenstone, developed mainly by Alistair Moffat and described in the classic book Managing Gigabytes. It does section level indexing, and searches can be boolean or ranked (not both at once). For each index specified in the collection, a separate index file is created. For phrase searching, Greenstone does an "AND" search on all the terms, then scans the resulting hits to see if the phrase is present. It has been extensively tested on very large collections (many GB of text).
+CDM.BuildTypeManager.mgpp:MGPP
+CDM.BuildTypeManager.mgpp_Description:This new version of MG (MG plus plus) was developed by the New Zealand Digital Library Project. It does word level indexing, which allows fielded, phrase and proximity searching to be handled by the indexer. Boolean searches can be ranked. Only a single index file is created for a Greenstone collection: document/section levels and text/metadata fields are all handled by one index file. For collections with many indexes, this results in a smaller collection size than using MG. For large collections, searching may be a bit slower due to the index being word level rather than section level.
+CDM.BuildTypeManager.lucene:Lucene
+CDM.BuildTypeManager.lucene_Description:Lucene was developed by the Apache Software Foundation. It handles field and proximity searching, but only at a single level (e.g. complete documents or individual sections, but not both). Therefore document and section indexes for a collection require two separate index files. It provides a similar range of search functionality to MGPP with the addition of single-character wildcards, range searching and sorting of search results by metadata fields. It was added to Greenstone to facilitate incremental collection building, which MG and MGPP can't provide.
+CDM.BuildTypeManager.Current_Type:Indexer in use: {0}
+CDM.BuildTypeManager.Change:Change...
+CDM.BuildTypeManager.Change_Tooltip:Change the indexer used by this collection
+CDM.ClassifierManager.Add:Add Classifier...
+CDM.ClassifierManager.Add_Tooltip:Use the specified classifier with this collection
+CDM.ClassifierManager.Assigned:Assigned Classifiers
+CDM.ClassifierManager.Classifier:Select classifier to add
+CDM.ClassifierManager.Classifier_Str:classifier
+CDM.ClassifierManager.Classifier_List_XML_Parse_Failed:Unable to get the list of classifiers using classinfo.pl -listall.
+CDM.ClassifierManager.Classifier_XML_Parse_Failed:Unable to determine the arguments for the {0}\nclassifier. Please ensure that the classifier in question\nprovides the -xml flag by running the classinfo.pl script\nsimilar to the description of the pluginfo.pl script in\nsection 2.1 of the Greenstone Developers Guide.
+CDM.ClassifierManager.Configure:Configure Classifier...
+CDM.ClassifierManager.Configure_Tooltip:Change the options of the selected classifier
+CDM.ClassifierManager.Remove:Remove Classifier
+CDM.ClassifierManager.Remove_Tooltip:Remove the selected classifier from the list
+CDM.FormatManager.Add:Add Format
+CDM.FormatManager.Add_Tooltip:Add the specified format command 
+CDM.FormatManager.AllFeatures:All Features
+CDM.FormatManager.AllParts:All Components
+CDM.FormatManager.Default:Reset to Default
+CDM.FormatManager.Default_Tooltip:Reset the selected format command to its default value 
+CDM.FormatManager.Editor:HTML Format String
+CDM.FormatManager.Editor_Tooltip:Enter or edit the format command
+CDM.FormatManager.Editor_Disabled_Tooltip:Click 'Add Format' to add this format command to your collection.
+CDM.FormatManager.Enabled:Enabled
+CDM.FormatManager.Feature:Choose Feature
+CDM.FormatManager.Feature_Tooltip:The feature to format
+CDM.FormatManager.Insert:Insert
+CDM.FormatManager.Insert_Tooltip:Insert the selected variable into the format command
+CDM.FormatManager.Default:Reset to Default
+CDM.FormatManager.Default_Tooltip:Reset the selected variable to its default
+CDM.FormatManager.Insert_Variable:Insert Variable...
+CDM.FormatManager.Part:Affected Component
+CDM.FormatManager.Part_Tooltip:The aspect of the selected feature to format
+CDM.FormatManager.Remove:Remove Format
+CDM.FormatManager.Remove_Tooltip:Remove the selected format command
+CDM.FormatManager.Variable_Tooltip:Insert one of the predefined variables into the selected format command
+CDM.FormatManager.MessageBox:XML Validation 
+CDM.FormatManager.MessageBox_Tooltip:XML Template validation Message 
+CDM.General.Access:This collection should be publicly accessible
+CDM.General.Browser_Title:Select An Image
+CDM.General.Collection_Extra:Collection description:
+CDM.General.Collection_Extra_Tooltip:A description of the purpose and content of the collection
+CDM.General.Collection_Name:Collection title:
+CDM.General.Collection_Name_Tooltip:Name of the collection
+CDM.General.Email.Creator:Creator's email
+CDM.General.Email.Creator_Tooltip:E-mail address of the collection's creator
+CDM.General.Email.Maintainer:Maintainer's email
+CDM.General.Email.Maintainer_Tooltip:E-mail address of the collection's maintainer
+CDM.General.Icon_Collection:URL to 'about page' image:
+CDM.General.Icon_Collection_Tooltip:The URL of the image to display on the collection's about page
+CDM.General.Icon_Collection_Small:URL to 'home page' image:
+CDM.General.Icon_Collection_Small_Tooltip:The URL of the image to display on the library's home page for this collection
+CDM.General.Image_Copy_Failed:An error has occurred which prevents the image you selected being copied.\nPlease try manually copying the image:\n{0}\n to the images folder of your collection:\n{1}
+CDM.General.Image_Filter:Images (gifs, jpgs and pngs)
+CDM.GUI.Classifiers:Browsing Classifiers
+CDM.GUI.Formats:Format Features
+CDM.GUI.General:General
+CDM.GUI.Indexes:Search Indexes
+CDM.GUI.Macros:Collection Specific Macros
+CDM.GUI.Plugins:Document Plugins
+CDM.GUI.Root:CDM_ROOT
+CDM.GUI.SearchMetadata:Search
+CDM.GUI.Subcollections:Partition Indexes
+CDM.GUI.SuperCollection:Cross-Collection Search
+CDM.GUI.Translation:Translate Text
+CDM.GUI.DepositorMetadata:Depositor Metadata
+CDM.HelpButton:Help for this screen
+CDM.HelpButton_Tooltip:Open up the GLI help for this screen
+CDM.IndexManager.Add_Index:Add Index
+CDM.IndexManager.Add_Index_Tooltip:Add the specified index
+CDM.IndexManager.Allfields_Index:Add combined searching over all assigned indexes (allfields)
+CDM.IndexManager.Default_Index_Indicator:[Default Index]
+CDM.IndexManager.Index_Exists:That index has already been assigned for this collection.
+CDM.IndexManager.Indexes:Assigned Indexes
+CDM.IndexManager.Level:Indexing level:
+CDM.IndexManager.Level_Tooltip:Textual unit on which index is based
+CDM.IndexManager.Add_All:Add All
+CDM.IndexManager.Add_All_Tooltip:Add a separate index for every source
+CDM.IndexManager.Edit_Index:Edit Index
+CDM.IndexManager.Edit_Index_Tooltip:Modify the selected index
+CDM.IndexManager.New_Index:New Index
+CDM.IndexManager.New_Index_Tooltip:Add a new index
+CDM.IndexManager.Remove_Index:Remove Index
+CDM.IndexManager.Remove_Index_Tooltip:Remove the selected index
+CDM.IndexManager.Replace_Index:Replace Index
+CDM.IndexManager.Replace_Index_Tooltip:Update the selected index
+CDM.IndexManager.Select_All:Select All
+CDM.IndexManager.Select_All_Tooltip:Select all index sources
+CDM.IndexManager.Select_None:Select None
+CDM.IndexManager.Select_None_Tooltip:Deselect all index sources
+CDM.IndexManager.Set_Default:Set Default Index
+CDM.IndexManager.Set_Default_Tooltip:Make the selected index the default index
+CDM.IndexManager.Source:Include in index:
+CDM.IndexManager.Source_Tooltip:The metadata elements to build the index on
+CDM.IndexManager.Text_Source:Full text
+CDM.IndexManager.Text_Source_Tooltip:Include the full text of the documents in the index
+CDM.IndexingManager.Accent_fold:Accent fold
+CDM.IndexingManager.Accent_fold_Tooltip:Generate an accent-folded index, which enables searching for words ignoring accents.
+CDM.IndexingManager.Casefold:Casefold
+CDM.IndexingManager.Casefold_Tooltip:Generate a case-folded index, which enables case-insensitive searching.
+CDM.IndexingManager.Options:Indexing options:
+CDM.IndexingManager.Separate_cjk:CJK Text Segmentation
+CDM.IndexingManager.Separate_cjk_Tooltip:<html>Segment CJK (Chinese, Japanese, Korean) text. Currently involves inserting a space between each CJK character.<br> This is necessary for searching in CJK text unless the text has been segmented into words already.</html>
+CDM.IndexingManager.Stem:Stem
+CDM.IndexingManager.Stem_Tooltip:<html>Generate a stemmed index, which enables searching on word stems. <br>For example, searching for "farm" will also match "farms" "farming" "farmers" (useful for English and French only).</html>
+CDM.LanguageManager.Add_Tooltip:Add an index partition based on the specified languages
+CDM.LanguageManager.Assigned_Languages:Assigned Language Partitions
+CDM.LanguageManager.Default_Language:Default Language
+CDM.LanguageManager.LanguageMetadata:Language Metadata:
+CDM.LanguageManager.LanguageMetadata_Tooltip:The metadata element to use to determine a document's language
+CDM.LanguageManager.Remove_Tooltip:Remove the selected language partition from the list
+CDM.LanguageManager.Replace_Tooltip:Replace the selected partition with a new one based on the ticked languages
+CDM.LanguageManager.Selector:Languages to add: 
+CDM.LanguageManager.Selector_Tooltip:The languages to build an index partition on
+CDM.LanguageManager.Set_Default:Set Default
+CDM.LanguageManager.Set_Default_Tooltip:Make the selected language partition the default
+CDM.LevelManager.Document:document
+CDM.LevelManager.Section:section
+CDM.LevelManager.Paragraph:paragraph
+CDM.LevelManager.Level_Title:Indexing Levels
+CDM.LevelManager.Default:Default
+CDM.LevelManager.Default_Tooltip:Default level in reader's interface
+CDM.MacrosManager.Editor_Tooltip:Edit macros here
+CDM.Move.At_Bottom:Cannot move the {0} {1} lower as it is already at the bottom of the list.
+CDM.Move.At_Top:Cannot move the {0} {1} higher as it is already at the top of the list.
+CDM.Move.Cannot:Cannot move the plugin {0} any lower as RecPlug and ArcPlug must be at the bottom of the list.
+CDM.Move.Fixed:<html>RecPlug and ArcPlug are generally required to be last and so are fixed in place.<br>If you really must move them please hand edit the collect.cfg file.</html>
+CDM.Move.Move_Down:Move Down
+CDM.Move.Move_Down_Tooltip:Move the selected item down the list
+CDM.Move.Move_Up:Move Up
+CDM.Move.Move_Up_Tooltip:Move the selected item up the list
+CDM.Move.Title:Error - Cannot Move
+CDM.PlugInManager.Add:Add Plugin...
+CDM.PlugInManager.QuickAdd:Add Plugin
+CDM.PlugInManager.Add_Tooltip:Use the specified plugin with this collection
+CDM.PlugInManager.Assigned:Assigned Plugins
+CDM.PlugInManager.Configure:Configure Plugin...
+CDM.PlugInManager.Configure_Tooltip:Change the options of the selected plugin
+CDM.PlugInManager.Ignore:Don't Add Plugin
+CDM.PlugInManager.Ignore_Tooltip:Don't add any plugins to this collection.
+CDM.PlugInManager.PlugIn:Select plugin to add:
+CDM.PlugInManager.PlugIn_Tooltip:The plugins available for use in the collection
+CDM.PlugInManager.PlugIn_Str:plugin
+CDM.PlugInManager.PlugIn_XML_Parse_Failed:Unable to determine the arguments for the {0}\nplugin. Please ensure that the plugin in question provides\nthe -xml flag by running the pluginfo.pl script described\nin section 2.1 of the Greenstone Developers Guide.
+CDM.PluginManager.Plugin_List_XML_Parse_Failed:Unable to get the list of plugins using pluginfo.pl -listall.
+CDM.PluginManager.Plugin_Suggestion_Prompt:None of the plugins in this collection are expected to process the file "{0}" directly. (However, it may be included in the collection if it belongs to another file, for example, an image in a web page.) The following plugins may be able to process this file. You can add one to your collection now by selecting it and pressing the Add button. (Note that you can change the list of plugins at any time by going to "Document Plugins" on the Design Pane.)
+CDM.PlugInManager.Remove:Remove Plugin
+CDM.PlugInManager.Remove_Tooltip:Remove the selected plugin from the list
+CDM.PluginManager.SuggestedPluginListTitle:Suggested plugins for file
+CDM.SearchMetadataManager.Component:Item in search menu
+CDM.SearchMetadataManager.Component_Name:Display text
+CDM.SearchMetadataManager.Type_index:Index
+CDM.SearchMetadataManager.Type_level:Level
+CDM.SearchMetadataManager.Type_partition:Partition
+CDM.SearchMetadataManager.Type_language:Language Partition
+CDM.SubcollectionManager.Add:Add Filter
+CDM.SubcollectionManager.Add_Tooltip:Add the specified filter to the collection
+CDM.SubcollectionManager.Assigned:Defined Subcollection Filters
+CDM.SubcollectionManager.Exclude:Exclude
+CDM.SubcollectionManager.Flags:Flags to set when matching
+CDM.SubcollectionManager.Flags_Tooltip:Regular expression flags to use when matching (eg. "i" for case-insensitive matching)
+CDM.SubcollectionManager.Include:Include
+CDM.SubcollectionManager.Inclusive:What do we do with files that match?
+CDM.SubcollectionManager.Language_Controls:Assign Languages
+CDM.SubcollectionManager.Match:Regular expression to match with: 
+CDM.SubcollectionManager.Match_Tooltip:A regular expression defining the documents in the subcollection
+CDM.SubcollectionManager.Name:Subcollection filter name:
+CDM.SubcollectionManager.Name_Tooltip:The name of the new subcollection filter
+CDM.SubcollectionManager.Remove:Remove Filter
+CDM.SubcollectionManager.Remove_Tooltip:Remove the selected filter from the list
+CDM.SubcollectionManager.Replace:Replace Filter
+CDM.SubcollectionManager.Replace_Tooltip:Update the details of the selected filter
+CDM.SubcollectionManager.Source:Document attribute to match against:
+CDM.SubcollectionManager.Source_Tooltip:The document attribute to filter on
+CDM.SubcollectionManager.Subcollection_Controls:Define Filters
+CDM.SubcollectionManager.Subindex_Controls:Assign Partitions
+CDM.SubcollectionIndexManager.Add_Subindex:Add Partition
+CDM.SubcollectionIndexManager.Add_Subindex_Tooltip:Add the specified partition to this collection
+CDM.SubcollectionIndexManager.Default_Partition_Indicator:[Default Partition]
+CDM.SubcollectionIndexManager.Remove_Subindex:Remove Partition
+CDM.SubcollectionIndexManager.Remove_Subindex_Tooltip:Remove the selected partition from this collection
+CDM.SubcollectionIndexManager.Replace_Subindex:Replace Partition
+CDM.SubcollectionIndexManager.Replace_Subindex_Tooltip:Update the selected partition
+CDM.SubcollectionIndexManager.Set_Default_Subindex:Set Default
+CDM.SubcollectionIndexManager.Set_Default_Subindex_Tooltip:Make the selected partition the default
+CDM.SubcollectionIndexManager.Source:Build partition on:
+CDM.SubcollectionIndexManager.Source_Tooltip:The subcollection filters to build the partition on
+CDM.SubcollectionIndexManager.Subindexes:Assigned Subcollection Partitions
+CDM.TranslationManager.Add:Add Translation
+CDM.TranslationManager.Add_Tooltip:Add the specified translation to the collection
+CDM.TranslationManager.Affected_Features:Features
+CDM.TranslationManager.Assigned_Fragments:Assigned Translations
+CDM.TranslationManager.Default_Text:Initial Text Fragment
+CDM.TranslationManager.Fragment_Column:Text Fragment
+CDM.TranslationManager.Language:Language of translation:
+CDM.TranslationManager.Language_Column:Language
+CDM.TranslationManager.Language_Tooltip:The language being translated into
+CDM.TranslationManager.Remove:Remove Translation
+CDM.TranslationManager.Remove_Tooltip:Remove the selected translation from the collection
+CDM.TranslationManager.Replace:Replace Translation
+CDM.TranslationManager.Replace_Tooltip:Update the selected translation
+CDM.TranslationManager.Translation:Translated Text
+CDM.TranslationManager.Translation_Tooltip:Enter the translation of the string here
+CDM.DepositorMetadataManager.Warning:At least one metadata element should be selected.
+#*******************
+#
+#***** Collection *****
+Collection.Collection:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>Collection</FONT></STRONG></HTML>
+Collection.Delete_Tooltip:Delete selected files and folders
+Collection.Filter_Tooltip:Restrict the files shown in the file tree
+Collection.New_Folder_Tooltip:Create a new folder
+Collection.No_Collection:No Collection
+Collection.No_Collection_Loaded:No collection loaded
+Collection.Stop:Stop
+Collection.Stop_Tooltip:Stop copying files
+Collection.Workspace:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>Workspace</FONT></STRONG></HTML>
+#**********************
+#
+#***** CollectionBuilt *****
+CollectionBuilt.Message:The collection has been built and is ready for previewing.
+CollectionBuilt.Title:Collection Creation Result
+#***************************
+#
+#******ScheduldBuilt******
+ScheduleBuilt.Message:The scheduling of this collection has been altered. 
+ScheduleBuilt.Title:Collection Scheduling Result
+#***************************
+#
+#***** CollectionManager *****
+CollectionManager.Schedule_Failed:An error has occurred and the collection could not be scheduled for periodic building. 
+CollectionManager.Build_Cancelled:Building the collection has been cancelled.
+CollectionManager.Cannot_Create_Collection:An error has occurred and the collection could not be created.
+CollectionManager.Cannot_Create_Collection_With_Reason:The collection could not be created because:\n{0-Error message}
+CollectionManager.Cannot_Delete_Index:This collection cannot be rebuilt because the old index files cannot be deleted.\nPlease make sure that Greenstone or some other program is not using these files,\n and try again.
+CollectionManager.Cannot_Delete_Index_Log:Old index files unable to be deleted so importing stopped.
+CollectionManager.Cannot_Open:The collection at:\n{0-Collection file path}\ncannot be opened.
+CollectionManager.Cannot_Open_With_Reason:The collection at:\n{0-Collection file path}\ncannot be opened because:\n{1-Error message}
+CollectionManager.Creating_Collection:Creating collection
+CollectionManager.Creating_Collection_Please_Wait:Creating collection, please wait...
+CollectionManager.Loading_Collection:Loading collection
+CollectionManager.Loading_Collection_Please_Wait:Loading collection, please wait...
+CollectionManager.Loading_Successful:Loaded collection {0}.
+CollectionManager.Missing_Config:This collection does not have a valid collect.cfg file 
+CollectionManager.Not_Col_File:'{0}' is not a Librarian Interface Collection File (.col)
+CollectionManager.No_Config_File:The collect.cfg file has not been created by mkcol.pl.
+CollectionManager.Preview_Ready_Failed:An error has occurred which will prevent the collection being previewed.
+CollectionManager.Preview_Ready_Title:Collection Preview State.
+CollectionManager.Schedule_Ready_Title:Scheduling State. 
+CollectionManager.Build_Not_Moved:The building directory could not be moved. Try building again, or exit GLI and the server, and then restart GLI and try building again - this should fix the problem.
+CollectionManager.Index_Not_Deleted:The index directory could not be deleted. Try exiting GLI and the server, and then restart GLI and try building again - this should fix the problem.
+CollectionManager.Install_Exception:Exception detected during collection install:\n{0}\nMost likely caused by Windows or Local Library holding locks on files.\nPlease make sure that none of the collection source files\nare opened in external applications, then rebuild.
+#*****************************
+#
+#***** CollectionPopupMenu *****
+CollectionPopupMenu.Delete:Delete
+CollectionPopupMenu.New_Dummy_Doc:New dummy document
+CollectionPopupMenu.New_Folder:New folder
+CollectionPopupMenu.Refresh:Refresh folder view
+CollectionPopupMenu.Rename:Rename
+CollectionPopupMenu.Replace:Replace
+#*******************************
+#
+#***** CreatePane *****
+CreatePane.Schedule_Progress:Schedule Progress
+CreatePane.Schedule:Schedule Options
+CreatePane.Schedule_Tooltip:Options for the scheduling of automatic collection formation
+CreatePane.Schedule_Build:Schedule Action
+CreatePane.Schedule_Build_Tooltip:Schedule automatic collection formation
+CreatePane.Build:Build Options
+CreatePane.Build_Tooltip:Options for the indexing and classification stage of collection formation
+CreatePane.Build_Collection:Build Collection
+CreatePane.Build_Collection_Tooltip:Start the collection formation process
+CreatePane.Build_Progress:Build Progress
+CreatePane.Cancel_Build:Cancel Build
+CreatePane.Cancel_Build_Tooltip:Stop the collection formation process
+CreatePane.Full_Build:Complete Rebuild
+CreatePane.Full_Build_Tooltip:Completely rebuild the collection from scratch
+CreatePane.Import:Import Options
+CreatePane.Import_Tooltip:Options for the file conversion and metadata assignment stage of collection formation
+CreatePane.Import_Progress:Import Progress
+CreatePane.Minimal_Build:Minimal Rebuild
+CreatePane.Minimal_Build_Tooltip:Faster, as only the parts of the collection building process that are necessary are performed
+CreatePane.Minimal_Build_Not_Required:Rebuilding is not required because you have not added any files to the collection,\nedited metadata, or changed options in the Design pane.\n(To force a rebuild, choose "Complete Rebuild" and press the "Build Collection" button.)
+CreatePane.Log:Message Log
+CreatePane.Log_Tooltip:View output from previous collection formation attempts
+CreatePane.Mode_All:all
+CreatePane.Options:Option Groups
+CreatePane.Options_Title:Collection Import, Build, and Scheduling Options
+CreatePane.Preview_Collection:Preview Collection
+CreatePane.Preview_Collection_Tooltip:Preview the collection
+#**********************
+#
+#***** Dates *****
+Dates.Mon:Monday
+Dates.Tue:Tuesday
+Dates.Wed:Wednesday
+Dates.Thu:Thursday
+Dates.Fri:Friday
+Dates.Sat:Saturday
+Dates.Sun:Sunday
+Dates.Jan:January
+Dates.Feb:February
+Dates.Mar:March
+Dates.Apr:April
+Dates.May:May
+Dates.Jun:June
+Dates.Jul:July
+Dates.Aug:August
+Dates.Sep:September
+Dates.Oct:October
+Dates.Nov:November
+Dates.Dec:December
+#**********************
+#
+#***** Delete Collection Prompt *****
+DeleteCollectionPrompt.Collection_Details:Selected collection's details
+DeleteCollectionPrompt.Collection_List:Available collections
+DeleteCollectionPrompt.Confirm_Delete:Please tick the box to confirm collection deletion.
+DeleteCollectionPrompt.Delete:Delete
+DeleteCollectionPrompt.Delete_Tooltip:Delete the selected collection
+DeleteCollectionPrompt.Details:Creator - {0}\nMaintainer - {1}\nDescription\n{2}
+DeleteCollectionPrompt.Failed_Delete:Collection could not be completely deleted.
+DeleteCollectionPrompt.Failed_Title:Deletion Failed!
+DeleteCollectionPrompt.No_Collection:No collection selected.
+DeleteCollectionPrompt.Successful_Delete:Collection has been deleted.
+DeleteCollectionPrompt.Successful_Title:Deletion Complete!
+DeleteCollectionPrompt.Title:Collection Deletion
+DeleteCollectionPrompt.Cannot_Delete_Open_Collection_Tooltip:Cannot delete collection {0}, since it is currently open
+#**********************
+#
+#***** DirectoryLevelMetadata *****
+DirectoryLevelMetadata.Message:You are about to assign 'folder level' metadata to the selected folder (or folders). Such metadata will be automatically inherited by all files and folders in this folder. Furthermore this metadata cannot be removed from specific children, only replaced. To continue with this action click 'OK'.
+DirectoryLevelMetadata.Title:About to add folder level metadata
+
+#*******************
+#
+#***** Download *****
+DOWNLOAD.MODE.Root:Download_Root
+DOWNLOAD.MODE.WebDownload:Web
+DOWNLOAD.MODE.MediaWikiDownload:MediaWiki
+DOWNLOAD.MODE.OAIDownload:OAI
+DOWNLOAD.MODE.ZDownload:Z39.50
+DOWNLOAD.MODE.SRWDownload:SRW
+
+Download.ServerInformation:Server Information
+Download.ServerInformation_Tooltip:Download some information about the server, and check that a connection can be made
+
+#********************
+#
+#***** EnrichPane *****
+EnrichPane.AutoMessage:This element, {0}, belongs to the Greenstone metadata set. This set represents metadata that can usually be extracted automatically. To check what {0} metadata can be extracted create the collection using the 'Create' tab.
+EnrichPane.ExistingValues:Existing values for {0}
+EnrichPane.InheritedMetadataSelected:This piece of metadata is inherited from a folder above it, and cannot be edited. You can visit the actual folder containing the metadata by clicking on the folder icon at the start of the row.
+EnrichPane.InheritedMetadata_Tooltip:Click this icon to visit the folder where this inherited piece of metadata was assigned
+EnrichPane.ManageMetadataSets:Manage Metadata Sets...
+EnrichPane.ManageMetadataSets_Tooltip:Change the metadata sets used by the collection
+EnrichPane.No_File:No File Selected
+EnrichPane.No_Metadata:No Metadata Available
+EnrichPane.No_Metadata_Element:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>No Metadata Element Selected</FONT></STRONG></HTML>
+EnrichPane.NotOneFileOnlyMetadataSelected:This piece of metadata does not apply only to this file, and cannot be edited.
+EnrichPane.Value_Field_Tooltip:Value to assign to the selected metadata element
+EnrichPane.Value_Field_Tooltip_Uneditable:Value assigned to the selected metadata element
+#***********************
+#
+#****** ExplodeMetadataPrompt *******
+ExplodeMetadataPrompt.Explode:Explode
+ExplodeMetadataPrompt.Explode_Tooltip:Explode the metadata file 
+ExplodeMetadataPrompt.Instructions:Exploding this metadata file will produce individual records with editable metadata. This is an irreversible process and the original metadata file will be removed from the collection.
+ExplodeMetadataPrompt.Failed_Title:Exploding Failed.
+ExplodeMetadataPrompt.Failed_Explode:The database {0} could not be exploded.
+ExplodeMetadataPrompt.NotExplodable:This file is not explodable.
+ExplodeMetadataPrompt.Successful_Explode:Database {0} successfully exploded.
+ExplodeMetadataPrompt.Successful_Title:Exploding Complete.
+ExplodeMetadataPrompt.Title:Explode Metadata Database
+ExplodeMetadataPrompt.Plugin:Plugin to use for exploding
+#***********************
+#
+#****** ReplaceSrcWithHTMLPrompt *******
+ReplaceSrcWithHTMLPrompt.ReplaceSrc:Replace with HTML version
+ReplaceSrcWithHTMLPrompt.ReplaceSrc_Tooltip:Replace this source document with the HTML version Greenstone generates.
+ReplaceSrcWithHTMLPrompt.Instructions:Replacing a document with its generated HTML version will allow you to edit the HTML file and rebuild the collection in future with these edits intact. This is an irreversible process and the original document(s) thus replaced will be removed from the collection.
+ReplaceSrcWithHTMLPrompt.Failed_Title:Replacing with HTML Failed.
+ReplaceSrcWithHTMLPrompt.Failed_ReplaceSrc:The document(s) {0} could not be replaced with an HTML version.
+ReplaceSrcWithHTMLPrompt.NotSrcReplaceable:This file-type can not be replaced with an HTML version.
+ReplaceSrcWithHTMLPrompt.Successful_ReplaceSrc:All selected documents successfully replaced with their HTML versions.
+ReplaceSrcWithHTMLPrompt.Successful_Title:Replacing with Generated HTML Versions Complete.
+ReplaceSrcWithHTMLPrompt.Title:Replace Source Documents with HTML Files
+ReplaceSrcWithHTMLPrompt.Plugin:Plugin to use for exploding
+#***********************
+#
+#****** WriteCDImagePrompt *******
+WriteCDImagePrompt.CD_Name:CD/DVD name
+WriteCDImagePrompt.Export:Write CD/DVD image
+WriteCDImagePrompt.Export_Tooltip:Write the selected collections as a Windows CD/DVD Image
+WriteCDImagePrompt.Failed_Export:The collections ({0}) could not be exported.
+WriteCDImagePrompt.Failed_Title:Export Failed
+WriteCDImagePrompt.Install:CD/DVD will install some files when used (faster)
+WriteCDImagePrompt.Install_Tooltip:Produces a self-installing CD-ROM that installs the library server (and optionally all the collection files) onto the host machine. 
+WriteCDImagePrompt.NoInstall:CD/DVD will not install any files when used
+WriteCDImagePrompt.NoInstall_Tooltip:Produces a CD-ROM that runs the library directly from the CD-ROM without installing anything on the host machine.
+WriteCDImagePrompt.Instructions:Export one or more collections to a self-installing Windows CD/DVD image (although this works on any platform, the CD/DVD image that is created only runs under Windows).
+WriteCDImagePrompt.Progress_Label:Copying Files. This could take some time...
+WriteCDImagePrompt.Size_Label:Estimated size: 
+WriteCDImagePrompt.Successful_Export:The collections ({0}) have been exported.
+WriteCDImagePrompt.Successful_Title:Export Complete
+WriteCDImagePrompt.Title:Export Collection to CD/DVD
+#************************
+#
+#****** ExportAsPrompt *******
+ExportAsPrompt.Export_Name:Folder name
+ExportAsPrompt.Export_Name_Tooltip:The name of the folder in the Greenstone tmp directory where the exported collection will be saved.
+ExportAsPrompt.Export:Export collection
+ExportAsPrompt.Export_Tooltip:Export the selected collection in the chosen file format into the designated directory
+ExportAsPrompt.Failed_ExportOne:The collection {0} could not be exported.
+ExportAsPrompt.Failed_Details:See {1} for details
+ExportAsPrompt.Failed_Title:Export Failed
+ExportAsPrompt.Instructions:Export files in a collection into another format.
+ExportAsPrompt.Progress_Label:Exporting Files. This could take some time...
+ExportAsPrompt.Successful_ExportOne:The collection {0} has been exported.
+ExportAsPrompt.Successful_Details:Files exported to: {1}
+ExportAsPrompt.Successful_Title:Export Complete
+ExportAsPrompt.Title:Export Collection
+ExportAsPrompt.SaveAs:Export to
+ExportAsPrompt.SaveAs_Tooltip:Select the format you want to export to
+ExportAsPrompt.Cancel:Cancel
+ExportAsPrompt.Cancel_Tooltip:Cancel the exporting process
+ExportAsPrompt.Browse:Browse
+ExportAsPrompt.Browse_Tooltip:Choose a xsl file
+ExportAsPrompt.ApplyXSL:Apply XSL file to {0}
+ExportAsPrompt.ApplyXSL_Tooltip:Use a xsl file to convert the exported files.
+ExportAsPrompt.MARCXMLGroup:Group marc records
+ExportAsPrompt.MARCXMLGroup_Tooltip:Export all marc records to a single file.
+ExportAsPrompt.MappingXML:Apply the mapping file
+ExportAsPrompt.MappingXML_Tooltip:Use a mapping file for converting the exported files.
+#
+#***** Inherited Metadata *****
+ExtractedMetadata.Message:The selected file or folder contains extracted metadata, but it is currently hidden. To view extracted metadata go to the "File" menu and select "Preferences". In the "General" properties sheet select "View Extracted Metadata", then click "Ok".
+ExtractedMetadata.Title:This File/Folder Has Hidden Extracted Metadata
+#
+#***** FileActions *****
+FileActions.Calculating_Size:Calculating total size of selected files
+FileActions.Copying:Copying {0}
+FileActions.Could_Not_Delete:Could not delete {0}
+FileActions.Cyclic_Path:Cannot copy {0}: the destination folder is a subfolder of the source folder.
+FileActions.Deleting:Deleting {0}
+FileActions.Directories_Selected:{0} folders selected
+FileActions.Directory_Selected:1 folder selected
+FileActions.File_Already_Exists_No_Create:The file '{0}' already exists. 
+FileActions.File_And_Directories_Selected:1 file and {0} folders selected
+FileActions.File_And_Directory_Selected:1 file and 1 folder selected
+FileActions.File_Create_Error:The file {0} could not be created.
+FileActions.Folder_Create_Error:The folder {0} could not be created.
+FileActions.File_Exists:{0} already exists in the destination folder. Overwrite it?
+FileActions.File_Move_Error_Message:Could not move {0} to\n{1}.
+FileActions.File_Not_Deleted_Message:{0}\nThe file named above can not be deleted. \nPlease check that you don't have the file open\nin an external program, then try again. 
+FileActions.File_Not_Found_Message:{0}\nThe file named above can not be found. Once file view\nhas refreshed, please check the file still exists.
+FileActions.File_Selected:1 file selected
+FileActions.Files_And_Directory_Selected:{0} files and 1 folder selected
+FileActions.Files_Selected:{0} files selected
+FileActions.Folder_Already_Exists:The folder name '{0}' is already in use. Cannot create folder.
+FileActions.Insufficient_Space_Message:The file action has failed because of insufficient disk\nspace. For the file to copy successfully you require a\nfurther: {0}
+FileActions.Moving:Moving {0}
+FileActions.No_Activity:No action requested
+FileActions.Read_Not_Permitted_Message:Could not read {0}.
+FileActions.Read_Only:Files from the workspace are read only and cannot be deleted.
+FileActions.Replacing:Replacing {0}
+FileActions.Selected:{0} files and {1} folders selected
+FileActions.Unknown_File_Error_Message:Although no error message was reported during the file\naction, a final check has shown that the destination\ncopy is not the same as the source file. The reason\nfor this is unknown. Please check your media and update\nyour installed JVM.
+FileActions.Write_Not_Permitted_Message:The Librarian Interface does not have permission to write to\n{0}\nPlease check file permissions.
+FileActions.Write_Not_Permitted_Title:Error - Incorrect File Permissions
+FileActions.Yes_To_All:Yes to All
+FileActions.File_Permission_Detail:\n\nNote: In general, the Greenstone Librarian Interface needs write permission for the Greenstone home folder, \nwhich is {0}.\nPlease grant 'Full Control' for this folder (and all subfolders) to the current user ({1}) and try again.\n\n(Alternatively, re-install Greenstone into a location where you have "Full Control" already,\n such as a your home folder or "My Documents".)
+
+#************************
+#
+#******* File Associations dialog **********
+FileAssociationDialog.Add:Add
+FileAssociationDialog.Add_Tooltip:Use this application to view files of this type
+FileAssociationDialog.Batch_File:Batch files
+FileAssociationDialog.Browse:Browse
+FileAssociationDialog.Browse_Tooltip:Choose the application to use from your filespace
+FileAssociationDialog.Browse_Tooltip_Mac:Browsing for your application is currently disabled for MacOS
+FileAssociationDialog.Browse_Title:Choose Application
+FileAssociationDialog.Close:Close
+FileAssociationDialog.Close_Tooltip:Close this dialog and return to the main window
+FileAssociationDialog.Command:Launch command:
+FileAssociationDialog.Command_File:Command files
+FileAssociationDialog.Command_Tooltip:Enter the command to launch the application to use
+FileAssociationDialog.Details:New File Association Details
+FileAssociationDialog.Executable_File:Executable files
+FileAssociationDialog.Extension:For files ending:
+FileAssociationDialog.Extension_Tooltip:The file extension of the files to view
+FileAssociationDialog.Instructions:Use this dialog to set what external programs are used to view a certain file-type, and what command is sent to launch this program.\nTo add a new file-type, type its extension in 'For files ending'. To add or modify a launch command, type the new command in 'Launch command' or click 'Browse' to search the file system for an appropriate program. Use the special string '%1' to indicate where the name of the file to be opened should be inserted, e.g. "C:\\Windows\\System\\MSPaint.exe %1". '%1' will be appended to the end of a command if not otherwise specified.\nMacOS users should always try the mac specific command "open [-a <application_name>] %1" first.
+FileAssociationDialog.Table.Command:Command
+FileAssociationDialog.Table.Extension:Extension
+FileAssociationDialog.Title:Edit File Associations
+FileAssociationDialog.Remove:Remove
+FileAssociationDialog.Remove_Tooltip:Remove the selected association from the existing associations
+FileAssociationDialog.Replace:Replace
+FileAssociationDialog.Replace_Tooltip:Replace the selected association with the new association details
+#*******************
+#
+#******Filter***************
+Filter.0:HTM & HTML
+Filter.1:XML
+Filter.2:Text Files
+Filter.3:Images
+Filter.4:PDF
+Filter.5:Office Documents
+Filter.All_Files:All Files
+Filter.Filter_Tree:Show Files
+Filter.Invalid_Pattern:<HTML><FONT FACE={FONT} COLOR=Black>The pattern you have entered for filtering files is invalid.<BR>Please try again using regular expression syntax and with<BR>* for the wildcard character.</FONT></HTML>
+#***********************
+#
+#***** GAuthenticator *****
+GAuthenticator.Password:Password:
+GAuthenticator.Password_Tooltip:Enter your password here
+GAuthenticator.Title:Password Required.
+GAuthenticator.Username:User Name:
+GAuthenticator.Username_Tooltip:Enter your username here
+#**************************
+#
+#***** General Messages *****
+# 0 - A String representing the name and method of the class in question.
+General.Apply:Apply
+General.Apply_Tooltip:Apply the current settings but do not exit the dialog
+General.Browse:Browse...
+General.Cancel:Cancel
+General.Cancel_Tooltip:Cancel the changes (will not undo any that have been applied already)
+General.Close:Close
+General.Close_Tooltip:Close this dialog box
+General.Edit:Edit Value
+General.Error:Error
+General.LLS_Not_Started:You've launched the Greenstone server, but not pressed its Enter Library button yet.\nOnce you've done this, press Preview Collection in the Librarian Interface again to view the collection.
+General.LLS_Not_Started_Title:Local Library Server not started yet.
+General.No:No
+General.NotSunJava:Java vendor: {0}\nNote that the Librarian Interface has been developed and tested with Java from Sun Microsystems. 
+General.OK:OK
+General.OK_Tooltip:Accept the current settings and exit the dialog
+General.Outstanding_Processes:<html>The Librarian Interface cannot close completely until all programs<br>started within The Librarian Interface have also exited.</html>
+General.Outstanding_Processes_Title:Waiting To Exit
+General.Pure_Cancel_Tooltip:Abort this action (no changes will be made)
+General.Review_Output:Please review output below:
+General.Redo:Redo
+General.Redo_Tooltip:Restore the last undo
+General.Undo:Undo
+General.Undo_Tooltip:Undo the last edit
+General.Usage:Usage: {0} <params>\nAll parameters are optional but the Librarian Interface may fail to work if -gsdl and -library aren't set.\n -gsdl <path>  : Force path to gsdl\n -library <path> : Path to cgi-bin\n -mozilla <path> : Enabled mozilla\n -mirror : Enable web-mirroring controls\n -laf [java|windows|motif|mac] : Look and feel\n -debug : Enable debug messages\n -no_load : Don't load previously open collection\n -load <path> : Load the specified collection
+General.View:View Value
+General.Warning:Warning
+General.Yes:Yes
+#****************************
+#
+#***** GShell *****
+GShell.BadArgument:Argument {0} is invalid.
+GShell.BadArgumentValue:Argument {0} has an invalid value.
+GShell.BadPluginOptions:The bad argument occurred in plugin {0}.
+GShell.BadClassifierOptions:The bad argument occurred in classifier {0}.
+GShell.Build.Auxilary:Creating auxiliary files and tidying up...
+GShell.Build.BuildBegun1:************** Build  Started **************
+GShell.Build.BuildCancelled:**************   Cancelled    **************
+GShell.Build.BuildComplete1:************** Build Finished **************
+GShell.Build.CompressText:Compressing text...
+GShell.Build.Index:Creating an index based on {0-index source and level}...
+GShell.Build.InfoDatabase:Creating information database...
+GShell.Build.Phind:Generating a Phind classifier. This may take some time...
+GShell.Schedule.ScheduleBegun1:**************** Schedule Started ***************
+GShell.Schedule.ScheduleComplete1:**************** Schedule Finished *************
+GShell.Schedule.ScheduleDelete:*********** Deleting Existing Scheduling ***** 
+GShell.Command:Command
+GShell.Failure:Command failed.
+GShell.Import.FileNotProcessed:The file {0-target file path} was recognised but could not be processed by any plugin.
+GShell.Import.FileNotRecognised:The file {0-target file path} was not recognised by any plugin.
+GShell.Import.FileProcessing:The file {0-target file path} is being processed by {1-plugin name}.
+GShell.Import.FileProcessingError:The file {0-target file path} encountered an error during processing.
+GShell.Import.ImportBegun1:************** Import  Started **************
+GShell.Import.ImportComplete1:************** Import Finished **************
+GShell.Import.ImportComplete2:{0-number documents considered} documents were considered for processing:
+GShell.Import.ImportComplete2.1:1 document was considered for processing:
+GShell.Import.ImportComplete.Processed:{0-number processed} documents were processed and included in the collection. 
+GShell.Import.ImportComplete.Processed.1:1 document was processed and included in the collection. 
+GShell.Import.ImportComplete.Blocked:{0-number blocked} were prevented from being added by plugins (such as images in web pages).
+GShell.Import.ImportComplete.Blocked.1:1 was prevented from being added by plugins (such as images in web pages).
+GShell.Import.ImportComplete.Ignored:{0-number ignored} were unrecognised.
+GShell.Import.ImportComplete.Ignored.1:1 was unrecognised.
+GShell.Import.ImportComplete.Failed:{0-number failed} were rejected.
+GShell.Import.ImportComplete.Failed.1:1 was rejected.
+GShell.Import.ImportComplete3:\n
+GShell.Import.Warning:{0-plugin name} Warning:
+GShell.Parsing_Metadata_Complete:Archived metadata extraction complete.
+GShell.Parsing_Metadata_Start:Extracting new metadata from archive files.
+GShell.Success:Command complete.
+#*********************
+#
+#***** GUI *****
+# Currently Enabled and Disabled display the same text but in different
+# colours. If necessary this can be changed.
+GUI.Create:Create
+GUI.Create_Tooltip:Build your collection using Greenstone
+GUI.Design:Design
+GUI.Design_Tooltip:Design the functionality of your collection
+GUI.Download:Download
+GUI.Download_Tooltip:Download resources from the internet for your collection
+GUI.Enrich:Enrich
+GUI.Enrich_Tooltip:Assign metadata to the files in your collection
+GUI.Format:Format
+GUI.Format_Tooltip:Design the appearance of your collection
+GUI.Gather:Gather
+GUI.Gather_Tooltip:Select the files to include in your collection
+#***************
+#
+#***** HELP *****
+Help.Contents:Contents
+Help.Title:Librarian Interface Help Pages
+#****************************
+#
+#***** Invalid Metadata ******
+InvalidMetadata.Message:This metadata element is restricted to the pre-defined set of values. Please choose one from the existing values.
+InvalidMetadata.Title:Invalid Metadata
+#***************************
+#
+#***** LegacyCollection
+LegacyCollection.Message:You are about to load a collection that has not been created by the GLI. Existing metadata will be imported into the Dublin Core metadata set. Original metadata files will be saved in a folder called import.bak.
+LegacyCollection.Title:Loading External Collection
+#***************************
+#
+#***** LockFileDialog *****
+LockFileDialog.Cancel_Tooltip:Do not steal control of the lock file (collection will not open)
+LockFileDialog.Date:Date
+LockFileDialog.Error:error
+LockFileDialog.Lockfile_Message_One:The presence of a lock file suggests this collection is already open.
+LockFileDialog.Lockfile_Message_Two:Do you wish to 'steal' control of this lock file?
+LockFileDialog.Machine:Where
+LockFileDialog.Name:Name
+LockFileDialog.OK_Tooltip:Steal control of the lock file
+LockFileDialog.Title:Lock File Detected
+LockFileDialog.User:Who
+#********************
+#
+#*****MappingPrompt **********
+MappingPrompt.File:Folder
+MappingPrompt.Map:Create Shortcut
+MappingPrompt.Name:Name
+MappingPrompt.Title:Set Folder Shortcut
+MappingPrompt.Unmap:Remove Shortcut
+#*******************
+#
+#***** Menu Options *****
+Menu.Collapse:Close Folder
+Menu.Edit:Edit
+Menu.Edit_Copy:Copy (ctrl-c)
+Menu.Edit_Cut:Cut (ctrl-x)
+Menu.Edit_Paste:Paste (ctrl-v)
+Menu.Expand:Open Folder
+Menu.Explode_Metadata_Database:Explode metadata database
+Menu.Replace_SrcDoc_With_HTML:Replace with HTML version
+Menu.File:File
+Menu.File_Associations:File Associations...
+Menu.File_CDimage:Write CD/DVD image...
+Menu.File_Close:Close
+Menu.File_Delete:Delete...
+Menu.File_Exit:Exit
+Menu.File_ExportAs:Export...
+Menu.File_New:New...
+Menu.File_Open:Open...
+Menu.File_Options:Preferences...
+Menu.File_Save:Save
+Menu.Help:Help
+Menu.Help_About:About...
+Menu.Metadata_View:Assigned Metadata for the {0}
+Menu.Open_Externally:Open in external program
+#********************
+#
+#***** MetaAudit *****
+MetaAudit.Close:Close
+MetaAudit.Close_Tooltip:Close this dialog box
+MetaAudit.Title:All Metadata
+#*********************
+#
+#***** Metadata *****
+Metadata.Element:Element
+Metadata.Value:Value
+MetadataSet.Files:Metadata Set Files
+#**********************************
+#
+#***** MetadataSetDialog**********
+MetadataSetDialog.Title:Manage Metadata Sets
+MetadataSetDialog.Add_Title:Add Metadata Set
+MetadataSetDialog.Current_Sets:Assigned Metadata Sets
+MetadataSetDialog.Available_Sets:Available Metadata Sets
+MetadataSetDialog.Add:Add...
+MetadataSetDialog.Add_Tooltip:Add a new metadata set to the collection
+MetadataSetDialog.New_Set:New...
+MetadataSetDialog.New_Set_Tooltip:Create a new metadata set
+MetadataSetDialog.Add_Set:Add
+MetadataSetDialog.Add_Set_Tooltip:Add the selected metadata set to the collection
+MetadataSetDialog.Browse:Browse...
+MetadataSetDialog.Browse_Tooltip:Add a new metadata set to the collection
+MetadataSetDialog.Edit:Edit...
+MetadataSetDialog.Edit_Tooltip:Edit the selected metadata set
+MetadataSetDialog.Remove:Remove
+MetadataSetDialog.Remove_Tooltip:Remove the selected metadata set from the collection
+MetadataSetDialog.Elements:Elements in selected Metadata Set
+
+#****************************************
+#
+#***** MetadataSetNamespaceClash warning***
+MetadataSetNamespaceClash.Title:Metadata Set Namespace Clash
+MetadataSetNamespaceClash.Message:The metadata set you have chosen to add ({0}) has the same namespace as one already in the collection ({1}). If you add this new set, the old one will be deleted and the new one added in its place. Any assigned metadata values will be transferred to the new set if it contains the appropriate elements.
+#*********************************************
+#
+#******** MetadataImportMappingPrompt *********
+MIMP.Add:Add
+MIMP.Add_Tooltip:Add the metadata element to the selected set
+MIMP.Ignore:Ignore
+MIMP.Ignore_Tooltip:Ignore this metadata element
+MIMP.Instructions:The metadata element {0} cannot be automatically imported into the collection. Select a metadata set and either:\n(1) press 'Add' to add the metadata to that set (only if there is not already {0} metadata in the set), or\n(2) choose an element and press 'Merge' to import {0} metadata to this element, or\n(3) ignore this metadata element.
+MIMP.Merge:Merge
+MIMP.Merge_Tooltip:Map the metadata element to the specified element in the selected set
+MIMP.Source_Element:Source metadata element:
+MIMP.Target_Element:Target metadata element:
+MIMP.Target_Set:Target metadata set:
+MIMP.Title:Merging Action Required.
+#*****************************
+#
+#***** Mirroring *****
+Mirroring.ClearCache:Clear Cache
+Mirroring.ClearCache_Tooltip:Delete all downloaded files
+Mirroring.Download:Download
+Mirroring.Download_Tooltip:Start a new download job
+Mirroring.DownloadJob.Close:Close
+Mirroring.DownloadJob.Close_Tooltip:Remove this job from the list, stopping it if it is currently running
+Mirroring.DownloadJob.Downloading:Downloading {0}
+Mirroring.DownloadJob.Download_Complete:Download complete
+Mirroring.DownloadJob.Download_Stopped:Download halted
+Mirroring.DownloadJob.Download_Progress:Downloading in progress
+Mirroring.DownloadJob.Log:View Log
+Mirroring.DownloadJob.Log_Tooltip:View details about this download
+Mirroring.DownloadJob.Log_Title:Download Log
+Mirroring.DownloadJob.Pause:Pause
+Mirroring.DownloadJob.Pause_Tooltip:Pause this download
+Mirroring.DownloadJob.Resume:Resume
+Mirroring.DownloadJob.Resume_Tooltip:Resume this download
+Mirroring.DownloadJob.Status:Downloaded {0} of {1} files ({2} warnings, {3} errors)
+Mirroring.DownloadJob.Waiting:Waiting to start
+Mirroring.DownloadJob.Waiting_User:Waiting for user action
+Mirroring.Invalid_URL:The URL entered is not valid. Please correct.
+Mirroring.Invalid_URL_Title:Invalid URL
+Mirroring.Preferences:Configure Proxy...
+Mirroring.Preferences_Tooltip:Enable proxy and/or edit proxy settings
+#*********************
+#
+#***** Missing EXEC *****
+MissingEXEC.Message:Warning! You will not be able to view your new collections within the Librarian Interface unless you specify the path to the Greenstone Library Webserver. You can enter this now in the text field below, or later by going to Preferences and choosing the Connection tab. Remember that a valid url must start with the protocol "http://", and will probably end with the executable name ("gsdl" for Greenstone Windows Local Library Server, "library.cgi" for other web servers).
+MissingEXEC.Title:Missing Greenstone Library Address
+#***** Missing EXEC_GS3 *****
+MissingEXEC_GS3.Message:Please enter the Greenstone 3 library URL. You will not be able to view your new collections within the Librarian Interface unless you specify the path to the Greenstone context in the locally running Tomcat Webserver. You can enter this now in the text field below, or later by going to Preferences and choosing the Connection tab. Remember that a valid URL must start with the protocol "http://".
+MissingEXEC_GS3.Title:Greenstone 3 Library URL
+#***** Missing GLIServer *****
+MissingGLIServer.Message:Enter the address of the remote Greenstone "gliserver.pl" script in the text field below. Remember that a valid URL must start with the protocol "http://" and end with "gliserver.pl".
+MissingGLIServer.Title:Specify GLI Server Address
+#***** Missing GSDL *****
+MissingGSDL.Message:Warning! You will not be able to access all of the Librarian Interface's features without a local copy of Greenstone Digital Library also installed. If you believe you are receiving this message in error please check your installation, and the paths specified in Librarian Interface batch or script file.
+MissingGSDL.Title:Missing Greenstone Path
+#***** Missing PERL *****
+MissingPERL.Message:Warning! You will not be able to create new collections, nor build existing ones, without PERL installed, and the Librarian Interface was unable to find PERL on your system. If you believe you are receiving this message in error please check your installation, and the paths specified in Librarian Interface batch or script file.
+MissingPERL.Title:Missing PERL Path
+#******* MissingImageMagick ********
+MissingImageMagick.Message:Warning! The Librarian Interface failed to locate an appropriate version of ImageMagick. Images can be included in collections but no image processing functionality will be available, such as converting images to a different type, or generating thumbnails. 
+MissingImageMagick.Title:Missing ImageMagick
+#*****************************
+#
+#***** New Session *****
+NewCollectionPrompt.Base_Collection:Base this collection on:
+NewCollectionPrompt.Base_Collection_Tooltip:Select an existing collection to base the new collection on
+NewCollectionPrompt.Collection_Description:Description of content:
+NewCollectionPrompt.Collection_Name:Collection folder:
+NewCollectionPrompt.Collection_Scope_Personal:This is a personal collection
+NewCollectionPrompt.Collection_Scope_Personal_Tooltip:The collection can be edited by the person who created it and users in the "all-collections-editor" group.
+NewCollectionPrompt.Collection_Scope_Shared:This is not a personal collection
+NewCollectionPrompt.Collection_Scope_Shared_Tooltip:The collection can be edited by users in the "all-collections-editor" group.
+NewCollectionPrompt.Error:Error in new collection.
+NewCollectionPrompt.Instructions:To create a new collection fill out the fields below.
+NewCollectionPrompt.NewCollection:-- New Collection --
+NewCollectionPrompt.Title:Create a new Collection.
+NewCollectionPrompt.Title_Clash:The title you have chosen for your collection is already in use. Continue?
+NewCollectionPrompt.Title_Error:The title field must be filled out. Please correct.
+#***** New Folder OrFilePrompt *****
+NewFolderOrFilePrompt.Default_File_Name:dummy
+NewFolderOrFilePrompt.Default_Folder_Name:new folder
+NewFolderOrFilePrompt.Destination_Name:Destination Folder
+NewFolderOrFilePrompt.File_Name:File Name
+NewFolderOrFilePrompt.File_Name_Tooltip:Enter a name for the new file
+NewFolderOrFilePrompt.Folder_Name:Folder Name
+NewFolderOrFilePrompt.Folder_Name_Tooltip:Enter a name for the new folder
+NewFolderOrFilePrompt.Title_Folder:Create a new folder
+NewFolderOrFilePrompt.Title_File:Create a new dummy document
+#**********************
+#
+#******* OldWGET *******
+NoPluginExpectedToProcessFile.Message:None of Greenstone's plugins are expected to process the file "{0}" directly. (However, it may be included in the collection if it belongs to another file, for example, an image in a web page.) Check that the file has the correct extension. If it is correct then you may have to use UnknownPlug to process this file.
+NoPluginExpectedToProcessFile.Title:No plugin expected to process file
+#***********************
+#
+#***** OpenCollectionDialog *****
+OpenCollectionDialog.Available_Collections:Available Collections
+OpenCollectionDialog.Description:Collection Description
+OpenCollectionDialog.Open:Open
+OpenCollectionDialog.Open_Tooltip:Load the selected collection into the Librarian Interface
+OpenCollectionDialog.Title:Open Greenstone Collection
+#**********************
+#
+#***** Options Pane inside CreatePane *****
+OptionsPane.Cancelled: - cancelled
+OptionsPane.LogHistory:Log history
+OptionsPane.Successful: - successful
+OptionsPane.Scheduled: - scheduled
+OptionsPane.Unknown: - unknown
+OptionsPane.Unsuccessful: - unsuccessful
+#*******************
+#
+#***** Preferences *****
+Preferences:Preferences
+Preferences.Connection:Connection
+Preferences.Connection_Tooltip:Set the URL to the greenstone library and configure a proxy connection if appropriate
+Preferences.Connection.GLIServer_URL:Greenstone gliserver URL:
+Preferences.Connection.GLIServer_URL_Tooltip:The URL of the Greenstone "gliserver" CGI script
+Preferences.Connection.Library_Path:Library Path:
+Preferences.Connection.Library_Path_GS3:Greenstone Web Path:
+Preferences.Connection.Library_Path_Tooltip:The URL of the Greenstone web-server
+Preferences.Connection.Library_Path_Tooltip_GS3:The URL of the Greenstone web-server
+Preferences.Connection.Library_Path_Connection_Failure:Failed to connect. Check that the Greenstone server at {0} is running.
+Preferences.Connection.ProgramCommand:Preview Command:
+Preferences.Connection.ProgramCommand_Tooltip:The launch command for the program used to view the collection preview. Remember to use %1 as the placeholder for the collection address, and to use speechmarks where necessary.
+Preferences.Connection.Proxy_Host:Proxy Host:
+Preferences.Connection.Proxy_Host_Tooltip:The address of your proxy server
+Preferences.Connection.Proxy_Port:Proxy Port:
+Preferences.Connection.Proxy_Port_Tooltip:The port number of your proxy server
+Preferences.Connection.Proxy_Host_Missing:Enter a value for the proxy host or turn off Use Proxy Connection in the Connection tab.
+Preferences.Connection.Servlet:Servlet:
+Preferences.Connection.Servlet_Tooltip:The servlet to use to view your site
+Preferences.Connection.Servlet_Tooltip2:There is no servlet specified for this site, you can still build collections, but you wont be able to view them
+Preferences.Connection.Site:Site:
+Preferences.Connection.Site_Tooltip:The site you want to work in
+Preferences.Connection.Use_Proxy:Use proxy connection?
+Preferences.General:General
+Preferences.General_Tooltip:Set some general preferences
+Preferences.General.Email:User's Email:
+Preferences.General.Email_Tooltip:The email address automatically used for any collection created with the GLI
+Preferences.General.Font:Font:
+Preferences.General.Font_Tooltip:The font used for the GLI interface.
+Preferences.General.Interface_Language:Interface Language:
+Preferences.General.Interface_Language_Tooltip:Select the language you wish the interface and its controls to be displayed in. 
+Preferences.General.Restart_Required:GLI should now be restarted in order to complete loading a new interface language.
+Preferences.General.Manual_Restart_Required:Please restart the GLI client to take the changed connection settings into account.
+Preferences.General.Show_File_Size:Show file sizes
+Preferences.General.Show_File_Size_Tooltip:Show file sizes next to entries in the Workspace and Collection file trees.
+Preferences.General.View_Extracted_Metadata:View Extracted Metadata
+Preferences.General.View_Extracted_Metadata_Tooltip:Display metadata extracted by the greenstone plugins in the metadata list in the Enrich view.
+Preferences.Mode:Mode
+Preferences.Mode_Tooltip:Click on an entry to select a suitable level of operation
+Preferences.Mode.Assistant:Library Assistant
+Preferences.Mode.Assistant_Description:Use this setting to gain access to the basic features of the Greenstone Librarian Interface: adding documents and metadata to collections, creating new collections whose structure mirrors existing ones, and building collections.
+Preferences.Mode.Librarian:Librarian
+Preferences.Mode.Librarian_Description:This setting gives normal use of the Greenstone Librarian Interface: creating and designing new collections, adding documents and metadata to collections, and building collections.
+Preferences.Mode.Expert:Expert
+Preferences.Mode.Expert_Description:This setting enables expert use of the Greenstone Librarian Interface. It is recommended for users who are experienced with Greenstone, and are able to perform troubleshooting tasks that involve interpreting debugging output from PERL scripts. All features of the Greenstone Librarian Interface are enabled.
+Preferences.Warnings:Warnings
+Preferences.Warnings_Tooltip:Enable or disable various warning dialogs
+Preferences.Workflow:Workflow
+Preferences.Workflow_Tooltip:Design the interface workflow: set which views should be enabled
+Preferences.Workflow.Predefined.Label:Predefined Workflows
+Preferences.Workflow.Title:Check box to enable view
+#**********************
+#
+#**** PreviewCommandDialog *******
+PreviewCommandDialog.Instructions:Enter the command for opening the program to view collection preview. Remember to use %1 as the placeholder for the collection address, and to use speechmarks where necessary.
+PreviewCommandDialog.Title:Preview Command
+
+ShowPreviousCollection.Title:Preview the collection previously built
+ShowPreviousCollection.Message:An error has occurred and the collection could not be created.You are previewing the collection that was built previously. 
+#**********************
+#
+#***** Remote Greenstone Server *****
+RemoteGreenstoneServer.Authentication_Message:Please enter your Greenstone username and password:
+RemoteGreenstoneServer.Authentication_Message_gs3:Please enter your Greenstone username and password at site:
+RemoteGreenstoneServer.Error:An error has occurred on the remote Greenstone server while performing this operation:\n{0-Error message}
+RemoteGreenstoneServer.Error_Title:Remote Greenstone Server Error
+RemoteGreenstoneServer.Progress:Remote Greenstone Server Progress: 
+RemoteGreenstoneServer.Steal_Lock_Message:This collection is currently locked by user '{0-User name}'.\nDo you want to steal control of this lock file (not recommended, as work may be lost)?
+#**********************
+#
+#***** Rename Prompt *****
+RenamePrompt.Name:Name:
+RenamePrompt.Title:Rename file/folder
+#**********************
+#
+#***** Replace Prompt *****
+ReplacePrompt.Title:Replace file with ...
+#**********************
+#
+#***** Save Collection Box *****
+SaveCollectionBox.File_Name:File Name:
+SaveCollectionBox.Files_Of_Type:Files of Type:
+SaveCollectionBox.Look_In:Look In:
+#**********************
+#
+#***** Save Progress Box *******
+SaveProgressDialog.Title:Saving Collection
+#*******************************
+#
+Server.QuitManual:The Librarian Interface was unable to close the local\nlibrary server automatically. Please exit the server\nmanually by clicking on the cross icon in its top\nright-hand corner, then click OK on this dialog.
+Server.QuitTimeOut:The greenstone local library has not responded to the\nautomatic close command for {0} seconds. Do you\nwish to wait for another {0} seconds?
+Server.StartUpTimeOut:The greenstone local library has not responded to the\nstart command for {0} seconds. Do you\nwish to wait for another {0} seconds?
+#
+#***** Sources *****
+Source.General:General
+#**********************
+#
+#***** Trees *****
+Tree.DownloadedFiles:Downloaded Files
+Tree.Files:files
+Tree.Home:Home Folder ({0})
+Tree.Root:Local Filespace
+Tree.World:Documents in Greenstone Collections
+#***********************
+#
+#***** Warning Dialog *****
+WarningDialog.Dont_Show_Again:Do not show this warning again
+WarningDialog.Dont_Show_Again_Message:Do not show this message again
+WarningDialog.Invalid_Value:The value you have entered in the value field\nis not valid for the specified property.
+WarningDialog.Value:Enter value:
+#
+#****** WGet *****
+WGet.Prompt:WGet Mirroring Client
+#
+#****** Workflows *****
+Workflow.AllPanels:All panels
+Workflow.LocalSourceCollectionBuilding:Local source collection building
+Workflow.DocumentEnriching:Document enriching
+
+
+#********GEMS******
+
+GEMS.Title:Greenstone Editor for Metadata Sets
+GEMS.OpenMetadataSetPrompt.Title:Open Metadata Set
+GEMS.OpenMetadataSetPrompt.Open_Tooltip:Open the selected metadata set
+GEMS.Set_Description:Metadata set description
+GEMS.OpenMetadataSetPrompt.Open:Open
+GEMS.OpenMetadataSetPrompt.Available_Sets:Available metadata sets
+GEMS.DeleteMetadataSetPrompt.Title:Delete Metadata Set
+GEMS.DeleteMetadataSetPrompt.Delete_Tooltip:Delete the selected metadata set
+GEMS.DeleteMetadataSetPrompt.Delete:Delete
+GEMS.DeleteMetadataSetPrompt.Available_Sets:Available metadata sets
+GEMS.DeleteMetadataSetPrompt.Confirm_Delete:Please tick the box to confirm metadata set deletion.
+GEMS.DeleteMetadataSetPrompt.No_Set:No metadata set selected
+GEMS.Confirm_Removal:Are you sure you wish to remove this {0}?
+GEMS.Confirm_Removal_Title:Confirm Removal
+GEMS.Attribute:Attribute
+GEMS.Popup.AddElement:Add Element
+GEMS.Popup.DeleteElement:Delete Element
+GEMS.Popup.AddSubElement:Add Subelement
+GEMS.Popup.DeleteSubElement:Delete Subelement
+GEMS.NewMetadataSetPrompt.Title:New Metadata Set
+GEMS.NewMetadataSetPrompt.Instructions:To create a new metadata set fill out the fields below:
+GEMS.NewMetadataSetPrompt.Base_MetadataSet:Base this metadata set on:
+GEMS.NewMetadataSetPrompt.Metadata_Title:Metadata set title:
+GEMS.NewMetadataSetPrompt.Metadata_Namespace:Metadata set namespace:
+GEMS.NewMetadataSetPrompt.New_Metadata:-- New Metadata Set --
+GEMS.NewMetadataSetPrompt.Title_Error_Message:A new metadata set must have a Title
+GEMS.NewMetadataSetPrompt.Title_Error:No Title Specified
+GEMS.NewMetadataSetPrompt.Namespace_Error_Message:A new metadata set must have a namespace
+GEMS.NewMetadataSetPrompt.Namespace_Error:No Namespace Specified
+GEMS.SelectedLanguage:Add attributes for language:
+GEMS.Language:--Choose Language--
+GEMS.LanguageDependent:Language dependent attributes
+GEMS.Attribute_Table:Attributes
+GEMS.Attribute_Deletion_Error:Attribute Deletion Error
+GEMS.Attribute_Deletion_Error_Message:This attribute is required and cannot be deleted
+GEMS.Add_Lang_Depend_Attr_Error:Attribute Addition Error
+GEMS.Add_Lang_Depend_Attr_Error_Message:No "language-dependent" attribute is provided, please add this attribute.
+GEMS.Attribute_Edition_Error:Attribute Edition Error
+GEMS.Attribute_Edition_Error_Message:This attribute is required and cannot be empty
+GEMS.Confirm_Save:This metadata set has been changed, would you like to save it?
+GEMS.Confirm_Save_Title:Save Metadata Set
+GEMS.Confirm_DeleteElement:Are you sure you wish to delete element {0}?
+GEMS.Confirm_DeleteElement_Title:Delete Element
+GEMS.File_Deletion_Error_Message:This file cannot be deleted
+GEMS.File_Deletion_Error:File Deletion Error
+GEMS.Namespace_Conflict_Message:Warning: this namespace has been used by another metadata set. Continue?
+GEMS.Namespace_Conflict:Namespace Conflict
+GEMS.Move_Up:Move Up
+GEMS.Move_Down:Move Down
+GEMS.Cannot_Undo:(this action cannot be undone)
+
+GEMS.AttributeTable.Name:Name
+GEMS.AttributeTable.Language:Language
+GEMS.AttributeTable.Value:Value
+GEMS.NewMetadataElementNamePrompt.Title:New Element
+GEMS.NewMetadataElementNamePrompt.Name:Please enter a name for the new element
+GEMS.NewMetadataElementNamePrompt.SubTitle:New Subelement
+GEMS.NewMetadataElementNamePrompt.SubName:Please enter a name for the new subelement
+GEMS.NewMetadataElementNamePrompt.Name_Error_Message:An element with this name already exists.
+GEMS.NewMetadataElementNamePrompt.Name_Error:Element Name Error
+GEMS.NewMetadataElementNamePrompt.EmptyName_Error_Message:A new element must have a name.
+
+
+GEMS.No_Set_Loaded:No metadata set is loaded. Please use File->New to create a new set, or File->Open to open an existing set.
Index: main/tags/2.83/gli/classes/dictionary_ar.properties
===================================================================
--- main/tags/2.83/gli/classes/dictionary_ar.properties	(revision 21123)
+++ main/tags/2.83/gli/classes/dictionary_ar.properties	(revision 21123)
@@ -0,0 +1,3044 @@
+#*******************
+#** Language Orientation Property
+Component.Orientation:RTL
+
+#*******************
+#
+#***** AboutDialog *****
+AboutDialog.Acknowledgement:ØŽÙØ± Ù Ø¹Ø±ÙØ§Ù...
+AboutDialog.Date:(ÙÙÙÙÙ 2007)
+AboutDialog.Item0:'Xerces Java 1' from The Apache Software Foundation (http://www.apache.org/)
+AboutDialog.Item2:'WGet' from Free Software Foundation, Inc. (http://www.gnu.org/software/wget/wget.html)
+AboutDialog.Item3:'qflib' from Quality First Software GmbH. (http://www.qfs.de/en/qflib/index.html)
+AboutDialog.Item4:'ExtensionFileFilter.class' by Bruno Dumon and contributors (http://pollo.sourceforge.net/)
+AboutDialog.Item5:'How to disable file renaming in file chooser' - vladi21 (http://www.experts-exchange.com/)
+AboutDialog.Item6:'Autoscrolling' - Java Swing by Robert Eckstein, Marc Loy & Dave Wood (http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf)
+AboutDialog.Item7:'Add ghosted drag images to your JTrees' - By Andrew J. Armstrong (http://www.javaworld.com/javaworld/javatips/jw-javatip114.html)
+AboutDialog.Item8:'Stop annoying java.prefs error when you don't have superuser access' - Thanks to Walter Schatz
+AboutDialog.Item9:Ø£Ø°Ø±Ø§Ø± 'Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯', 'Ø¥ÙØºØ§Ø¡' Ù 'Ù
+Ø³Ø§Ø¹Ø¯Ø©' Ù
+Ù Dropline Neu! ØªÙ
+ Ø¥Ø¹Ø¯Ø§Ø¯ Ø§ÙØ²Ø± ØšÙØ§Ø³Ø·Ø© Silvestre Herrera, Ù Ù
+ØªÙÙØ± ÙÙ http://art.gnome.org/  
+AboutDialog.Java_Req:Java Ø¹ÙØ§Ù
+Ø© ØªØ¬Ø§Ø±ÙØ© Ù
+Ø³Ø¬ÙØ© Ù
+Ù Sun Microsystems Inc. The JRE is redistributed as per the Supplemental License Terms, found at http://java.sun.com/j2se/1.4.1/j2re-1_4_1_02-license.html
+AboutDialog.Java_Req_One:ÙØ°Ø§ Ø§ÙÙ
+ÙØªØ¬ ÙØªØ¶Ù
+Ù ÙÙØ¯ Ø±Ø®ØµØª Ù
+Ù RSA Security, Inc.
+AboutDialog.Java_Req_Two:ØšØ¹Ø¶ Ø§ÙØ£Ø¬Ø²Ø§Ø¡ Ø±Ø®ØµØª Ù
+Ù  IBM Ù ÙÙ Ù
+ØªÙÙØ±Ø© ÙÙ http\://oss.software.ibm.com/icu4j/
+AboutDialog.Thanks:Ø§ÙØŽÙØ± Ø£ÙØ¶Ø§ Ù
+ÙØµÙÙ ÙÙ
+Ù Ø£ØŽØ§Ø± Ø¥ÙÙÙØ§ ØšÙ
+Ø¹ÙÙÙ
+Ø§Øª ÙÙ Ø§ÙØŽØšÙØ© Ø¹Ù  java ...
+AboutDialog.Title:Ø­ÙÙ...
+AboutDialog.Title_One:ÙØ§Ø¬ÙØ© Ù
+ÙØªØšÙ ÙØ±ÙÙØ³ØªÙÙ
+AboutDialog.Title_Two:ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+ÙØªØšØ© Ø§ÙØ±ÙÙ
+ÙØ©, Ø¬Ø§Ù
+Ø¹Ø© ÙÙÙØ§ØªÙ
+AboutDialog.Copyright:Ø­Ù Ø§ÙÙØŽØ± (C) 2003-2009 Ù
+ØŽØ±ÙØ¹ ÙÙÙØ²ÙÙÙØ¯Ø§ ÙÙÙ
+ÙØªØšØ© Ø§ÙØ±ÙÙ
+ÙØ©
+AboutDialog.Copyright_Two:ÙØŽØ± ØªØ­Øª Ø§ÙØ±Ø®ØµØ© Ø§ÙØ¹Ø§Ù
+Ø© GPL. Ø£ÙØžØ±  LICENSE.txt ÙÙØªÙØ§ØµÙÙ.
+#***********************
+#
+#***** Audit Table *****
+AuditTable.File:Filename
+#***********************
+#
+#***** Auto Filter *****
+Autofilter.AND:Ù
+Autofilter.Ascending:ØªØµØ§Ø¹Ø¯Ù
+Autofilter.Case_Sensitive:Ù
+Ø¶Ø§ÙØ§Ø© Ø­Ø§ÙØ©  
+Autofilter.Custom_Filter:Ù
+ØªÙØ¯Ù
+
+Autofilter.Descending:ØªÙØ§Ø²ÙÙ
+Autofilter.Filter_By_Value:ØšØ³ÙØ·
+Autofilter.Name:Ø¥Ø³Ù
+ Ø§ÙØ¹Ù
+ÙØ¯
+Autofilter.None:ÙØ§ØŽÙ
+Autofilter.Operator:Ø­Ø§ÙØ©
+Autofilter.OR:Ø£Ù
+Autofilter.Order:ØªØ±ØªÙØš
+Autofilter.Order_Tooltip:ÙØ±Ø² Ø§ÙØ¹ÙØ§ØµØ± Ø§ÙÙ
+Ø¶Ø§ÙØ§Ø© ØšÙØ°Ø§ Ø§ÙØªØ±ØªÙØš
+Autofilter.Remove:Ø¥Ø²Ø§Ø­Ø© Ù
+Ø±ØŽØ­
+Autofilter.Remove_Tooltip:Ø­Ø°Ù ÙØ°Ø§ Ø§ÙÙ
+Ø±ØŽØ­ Ù
+Ù Ø¬Ø¯ÙÙ Ø§ÙØ£Ø¹Ù
+Ø¯Ø©
+Autofilter.Set:ØªØ¹ÙÙÙ Ù
+Ø±ØŽØ­
+Autofilter.Set_Tooltip:Ø¥Ø¶Ù ÙØ°Ø§ Ø§ÙÙ
+Ø±ØŽØ­ ÙØ¬Ø¯ÙÙ Ø§ÙØ£Ø¹Ù
+Ø¯Ø©
+Autofilter.Table_Header_Tooltip:Ø±ØŽØ­Øª Øš {0}
+Autofilter.Title:ØªØ±ØŽÙØ­ Ø¢ÙÙ ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª
+Autofilter.eqeq:equal to
+Autofilter.!eq:does not equal
+Autofilter.<:is less than
+Autofilter.<eq:is less than or equal to
+Autofilter.>:is greater than
+Autofilter.>eq:is greater than or equal to
+Autofilter.^:starts with
+Autofilter.!^:does not start with
+Autofilter.$:ends with
+Autofilter.!$:does not end with
+Autofilter.?:contains
+Autofilter.!?:does not contain
+#
+#     ********************************************************
+#     *************** Collection Design Module ***************
+#     ********************************************************
+#     * The dictionary  phrases  used in the creation of the *
+#     * Colection  Design  Module. Note that we  still  have *
+#     * access  to the format  arguments (argument  32+) for *
+#     * html formatting.                                     *
+#     ********************************************************
+CDM.ArgumentConfiguration.Bad_Integer:<html>Ù
+Ø¶Ù
+ÙÙ  '{0}' ÙØ­ØªØ§Ø¬ ÙÙÙÙ
+Ø©  ØµØ­ÙØ­Ø©,<br>ÙÙÙ ÙØ§ ØªÙØ¬Ø¯ ÙÙÙ
+Ø© ÙÙ
+ÙÙ ØªØ­ÙÙÙÙØ§ Ù
+Ù {1}.</html>
+CDM.ArgumentConfiguration.Error_Title:Ø®Ø·Ø£ ÙÙ Ø§ÙÙ
+Ø¶Ù
+ÙÙ
+CDM.ArgumentConfiguration.Header:<HTML><STRONG><FONT FACE={FONT} COLOR=Black SIZE=5><CENTER>Ø§ÙØ±Ø¬Ø§Ø¡ ØªØ¬ÙÙØ² Ø§ÙÙ
+Ø¶Ù
+ÙÙ ÙÙ {0}.</CENTER></FONT></STRONG></HTML>
+CDM.ArgumentConfiguration.No_Value:Ù
+Ø¶Ù
+ÙÙ '{0}' ÙØªØ·ÙØš ÙÙÙ
+Ø© ØµØ­ÙØ­Ø©, ÙÙÙ ÙÙ
+ ØªØ­Ø¯Ø¯ ÙÙÙ
+Ø©.
+CDM.ArgumentConfiguration.Required_Argument:ÙØ¬Øš Ø¥Ø¹Ø·Ø§Ø¡ ÙÙÙ
+Ø© ÙÙ
+Ø¶Ù
+ÙÙ '{0}' .
+CDM.ArgumentConfiguration.Title:ØªØ¬ÙÙØ² Ù
+Ø¶Ø§Ù
+ÙÙ
+CDM.BuildTypeManager.Title:Ø¥Ø®ØªÙØ§Ø± Ù
+ÙØŽÙ
+CDM.BuildTypeManager.mg:mg
+CDM.BuildTypeManager.mg_Description:ÙØ°Ø§ ÙÙ Ø§ÙÙ
+ÙØŽÙ Ø§ÙØ£ØµÙÙ Ø§ÙØ°Ù ÙØ³ØªØ®Ø¯Ù
+Ù. ÙØ§Ù
+ ØšØªØ·ÙÙØ± ÙØ°Ø§ Ø§ÙØšØ±ÙØ§Ù
+Ø¬ ØšØµÙØ±Ø© Ø§Ø³Ø§Ø³ÙØ© Ø¥ÙÙØ³ØªÙØ± Ù
+ÙÙØ§Øª Ù ÙØ¯ ØªÙ
+ ÙØµÙÙ ÙÙ Ø§ÙÙØªØ§Øš Ø§ÙÙÙØ§Ø³ÙÙÙ  Managing Gigabytes. ÙØªÙØ­ Ø§ÙØªÙØŽÙÙ Ø¹ÙÙ Ù
+Ø³ØªÙÙ Ø§ÙÙØ³Ù
+ Ø Ù ÙÙÙÙ Ø§ÙØšØ­Ø« ÙÙÙ ØšÙÙÙØ§ÙÙ Ø£Ù ØªØ±Ø§ØªÙØšÙ(ÙÙØ³Ø§ Ù
+Ø¹Ø§ ÙÙ ÙØ­ØžØ© ÙØ§Ø­Ø¯Ø©) .ÙÙÙ Ù
+ÙØŽÙ Ù
+Ø®ØµØµ ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØŽØ§Ù Ù
+Ø§Ø¯Ù Ù
+ÙÙØµÙ . ØšØ§ÙÙØ³ØšØ© ÙØšØ­Ø« Ø§ÙØ¬Ù
+ÙØ© ÙØ³ØªØ®Ø¯Ù
+ ÙØ±ÙÙØ³ØªÙÙ Ø§ÙÙ
+Ø¹Ø§Ù
+Ù "Ù" ÙÙÙ Ù
+ØµØ·ÙØ­Ø§Øª Ø§ÙØšØ­Ø« Ù Ø¹Ø±Ø¶ Ø§ÙØµÙØ§ØŠØš ÙÙ
+Ø¹Ø±ÙØ© Ù
+Ø§ Ø¥Ø°Ø§ ÙØ§ÙØª Ø§ÙØ¬Ù
+ÙØ© Ù
+ÙØ¬ÙØ¯Ø©. ØªÙ
+ ØªØ¬Ø±ÙØš ÙØ°Ø§ Ø§ÙØšØ±ÙØ§Ù
+Ø¬ ØšØµÙØ±Ø© Ù
+ÙØ«ÙØ© Ø¹ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø§Øª ÙØšÙØ±Ø© Ø¬Ø¯Ø§  ections (ÙØµÙØµ ØšØ­Ø¬Ù
+ Ù
+ØªØ¹Ø¯Ø¯ Ø§Ù GB ).
+CDM.BuildTypeManager.mgpp:mgpp
+CDM.BuildTypeManager.mgpp_Description:ÙØ°Ù Ø¥ØµØ¯Ø§Ø±Ø© Ø¬Ø¯ÙØ¯Ø© Ù
+Ù MG (MG plus plus) ØªÙ
+ ØªØ·ÙÙØ±ÙØ§ ÙÙ Ù
+ØŽØ±ÙØ¹ Ù
+ÙØªØšØ© ÙÙÙØ²ÙÙÙØ¯Ø§ Ø§ÙØ±ÙÙ
+ÙØ©. ÙÙÙØ± Ø§ÙØªÙØŽÙÙ Ø¹ÙÙ Ù
+Ø³ØªÙÙ Ø§ÙÙÙÙ
+Ø© Ù ÙØªÙØ­ ÙØ°Ø§ Ø§ÙØ§Ø³ÙÙØš Ø§ÙØšØ­Ø« Ø§ÙØ­ÙÙÙ Ù Ø§ÙØšØ­Ø« Ø¹ÙÙ Ù
+Ø³ØªÙÙ Ø§ÙØªØ¬Ø§ÙØ± ÙÙÙ
+ÙØŽÙ. ÙÙ
+ÙÙ ÙÙØšØ­Ø« Ø§ÙØšÙÙÙØ§ÙÙ Ø£Ù ÙÙÙÙ ØªØ±Ø§ØªÙØšÙØ§. ÙØªÙ
+ Ø¥ÙØŽØ§Ø¡ ÙØŽØ§Ù ÙØ§Ø­Ø¯ ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØ±ÙÙØ³ØªÙÙØ ØªØªØ§Ø­ ÙÙÙ ÙÙ Ù
+Ø³ØªÙÙØ§Øª ÙØ«ÙÙØ©/ÙØ³Ù
+ Ù ÙØµ / Ø­ÙÙÙ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª.ØªÙÙØ± Ø£ÙØ«Ø± Ù
+Ù ÙØŽØ§Ù ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª ÙÙØªØ¬ Ø¹Ù Ø£ÙÙØ§ Ø§ØµØºØ± Ù
+Ù Ø£Ù ØªØ³ØªØ®Ø¯Ù
+  MG. ØšØ§ÙÙØ³ØšØ© ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙØšÙØ±Ø© ÙØµØšØ­ Ø¥Ø¬Ø±Ø§Ø¡ Ø§ÙØšØ­Ø« ØšØ·ÙØŠØ§ ÙØ³ØšØ© ÙÙ
+Ø³ØªÙÙ Ø§ÙÙÙÙ
+Ø© Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ Ù ÙÙ Ø¯ÙÙ Ù
+Ø³ØªÙÙ Ø§ÙÙØ³Ù
+.
+CDM.BuildTypeManager.lucene:lucene
+CDM.BuildTypeManager.lucene_Description:ÙØ§Ù
+Øª Ù
+Ø€Ø³Ø³Ø© Ø¢ØšØ§ØªØŽÙ ÙÙØšØ±Ø§Ù
+Ø¬ ÙØªØ·ÙÙØ±  Lucene .ÙØªÙØ­ Ø§ÙØšØ­Ø« Ø§ÙØ­ÙÙÙ Ù ÙØšØ­Ø« Ø¹ÙÙ Ù
+Ø³ØªÙÙ Ø§ÙØªØ¬Ø§ÙØ± Ù ÙÙÙ ÙÙ Ù
+Ø³ØªÙÙ ÙØ§Ø­Ø¯ ÙÙØ·  (Ù
+Ø«Ø§Ù . ÙØ«Ø§ØŠÙ ÙØ§Ù
+ÙØ© Ø£Ù Ø£ÙØ³Ø§Ù
+ Ù ÙÙÙ ÙÙØ³Ø§ Ù
+Ø¹Ø§). ÙØ°ÙÙ ØªØµØšØ­ ÙÙØ§Ù Ø­ÙØ¬Ø© ÙÙØ¬ÙØ¯ ÙØŽØ§ÙÙÙ Ù
+ÙÙØµÙÙÙ ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙØ«Ø§ØŠÙ Ù Ø§ÙØ£ÙØ³Ø§Ù
+. ÙØªÙØ­ÙØžØ§ØŠÙ Ø§ÙØšØ­Ø« Ø§ÙÙ
+ØªÙÙØ±Ø© ÙÙ MGPP  Ø¥Ø¶Ø§ÙØ© Ø¥ÙÙ Ø¹ÙØ§Ù
+Ø§Øª Ø§ÙÙ
+Ø­Ø±Ù Ø§ÙÙØ§Ø­Ø¯Ø Ø³ÙØ§Ù ØšØ­Ø« Ù ÙØ±Ø² ÙÙØªØ§ØŠØ¬ Ø§ÙØšØ­Ø« ÙØ­ÙÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª. ØªÙ
+Øª Ø¥Ø¶Ø§ÙØªÙ ÙÙØ±ÙÙØ³ØªÙÙ ÙØªØ³ÙÙÙ ØªØ³Ø±ÙØ¹ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ù Ø§ÙØªÙ ÙØ§ ØªØªÙÙØ± ÙÙ  MG Ù MGPP
+CDM.BuildTypeManager.Current_Type:Ø§ÙÙØŽØ§Ù Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+: {0}
+CDM.BuildTypeManager.Change:ØªØºÙÙØ±
+CDM.BuildTypeManager.Change_Tooltip:ØªØºÙÙØ± Ø§ÙÙ
+ÙØŽÙ Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ ØšÙØ§Ø³Ø·Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CDM.ClassifierManager.Add:Ø¥Ø¶Ø§ÙØ© Ù
+ØµÙÙ
+CDM.ClassifierManager.Add_Tooltip:Ø§Ø³ØªØ®Ø¯Ù
+ Ø§ÙÙ
+ØµÙÙ Ø§ÙÙ
+Ø®ØµØµ Ù
+Ø¹ ÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CDM.ClassifierManager.Assigned:Ø§ÙÙ
+ØµÙÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©
+CDM.ClassifierManager.Classifier:Ø§Ø®ØªØ± Ù
+ØµÙÙ ÙØ¥Ø¶Ø§ÙØªÙ  
+CDM.ClassifierManager.Classifier_Str:Ù
+ØµÙÙ
+CDM.ClassifierManager.Classifier_List_XML_Parse_Failed:ÙØ§ ÙÙ
+ÙÙ Ø§ÙØ¹Ø«ÙØ± Ø¹ÙÙ ÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ØµÙÙØ§Øª ØšØ¥Ø³ØªØ®Ø¯Ø§Ù
+ classinfo.pl -listall  
+CDM.ClassifierManager.Classifier_XML_Parse_Failed:ÙØ§ ÙÙ
+ÙÙ ØªØ­Ø¯ÙØ¯ Ø§ÙÙ
+Ø¶Ù
+ÙÙ ÙÙ {0}\nØ§ÙÙ
+ØµÙÙ. Ø§ÙØ±Ø¬Ø§Ø¡ Ø§ÙØªØ£ÙØ¯ Ù
+Ù Ø§ÙÙ
+ØµÙÙ Ù
+ÙØ¶ÙØ¹ Ø§ÙØ³Ø€Ø§Ù\nØšØªÙÙÙØ± ØŽØ§Ø±Ø© -xml ØšØªÙÙÙØ° Ù
+ÙÙ
+CDM.ClassifierManager.Configure:ØªØ¬ÙÙØ² Ù
+ØµÙÙ
+CDM.ClassifierManager.Configure_Tooltip:ØªØºÙÙØ± Ø§ÙØ®ÙØ§Ø±Ø§Øª ÙÙÙ
+ØµÙÙ Ø§ÙÙ
+Ø®ØªØ§Ø±
+CDM.ClassifierManager.Remove:Ø­Ø°Ù Ù
+ØµÙÙ
+CDM.ClassifierManager.Remove_Tooltip:Ø­Ø°Ù Ø§ÙÙ
+ØµÙÙ Ø§ÙÙ
+Ø®ØªØ§Ø± Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©
+CDM.FormatManager.Add:Ø¥Ø¶Ø§ÙØ© ÙØ³Ù Ø¹Ø±Ø¶
+CDM.FormatManager.Add_Tooltip:Ø¥Ø³ØªØ®Ø¯Ù
+ Ø£Ù
+Ø± ÙØ³Ù Ø§ÙØ¹Ø±Ø¶ Ù
+Ø¹ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CDM.FormatManager.AllFeatures:ÙÙ Ø§ÙÙ
+ÙØ§Ù
+Ø­
+CDM.FormatManager.AllParts:ÙÙ Ø§ÙØ£Ø¬Ø²Ø§Ø¡
+CDM.FormatManager.Default:Reset to Default
+CDM.FormatManager.Default_Tooltip:Reset the selected format command to its default value 
+CDM.FormatManager.Editor:Ø³ÙØ§Ø³Ù Ù
+Ø­Ø§Ø±Ù Ø£Ù
+Ø± ÙØ³Ù Ø¹Ø±Ø¶ ØšÙØºØ© Ø§ÙÙØµÙØµ Ø§ÙØªØŽØ¹ØšÙØ©
+CDM.FormatManager.Editor_Tooltip:Ø¥Ø¯Ø®Ù Ø£ÙØ§Ù
+Ø± ÙØ³Ù Ø§ÙØ¹Ø±Ø¶ ÙÙØ§
+CDM.FormatManager.Editor_Disabled_Tooltip:Ø£ÙÙØ±  'Ø¥Ø¶Ø§ÙØ© ÙØ³Ù Ø¹Ø±Ø¶' ÙØ¥Ø¶Ø§ÙØ© Ø£Ù
+Ø± ÙØ³Ù Ø§ÙØ¹Ø±Ø¶ ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.
+CDM.FormatManager.Enabled:ØªÙ
+ÙÙÙ
+CDM.FormatManager.Feature:Ø¥Ø®ØªÙØ§Ø± Ø³Ù
+Ø§Øª
+CDM.FormatManager.Feature_Tooltip:Ø³Ù
+Ø© ÙØ³Ù Ø§ÙØ¹Ø±Ø¶
+CDM.FormatManager.Insert:Ø­ØŽØ±
+CDM.FormatManager.Insert_Tooltip:Ø­ØŽØ± Ø§ÙÙ
+ØªØºÙØ±Ø§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© ÙÙ Ø£Ù
+Ø± ÙØ³Ù Ø§ÙØ¹Ø±Ø¶
+CDM.FormatManager.Default:Ø¥ÙØªØ±Ø§Ø¶Ù
+CDM.FormatManager.Default_Tooltip:Ø¥Ø¹Ø§Ø¯Ø© Ø§ÙÙ
+ØªØºÙØ±Ø§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© Ø¥ÙÙ Ø§ÙÙÙÙ
+Ø© Ø§ÙØ¥ÙØªØ±Ø§Ø¶ÙØ©
+CDM.FormatManager.Insert_Variable:Ø­ØŽØ± Ù
+ØªØºÙØ±
+CDM.FormatManager.Part:Ø§ÙÙ
+Ø­ØªÙÙ Ø§ÙÙ
+ØªÙØ§Ø¹Ù
+CDM.FormatManager.Part_Tooltip:Ø¬Ø§ÙØš Ø§ÙÙ
+ÙÙ
+Ø­ Ø§ÙÙ
+Ø®ØªØ§Ø± ÙÙØ³Ù Ø§ÙØ¹Ø±Ø¶
+CDM.FormatManager.Remove:Ø­Ø°Ù ÙØ³Ù Ø§ÙØ¹Ø±Ø¶
+CDM.FormatManager.Remove_Tooltip:Ø­Ø°Ù Ø£Ù
+Ø± ÙØ³Ù Ø§ÙØ¹Ø±Ø¶ Ø§ÙÙ
+Ø®ØªØ§Ø± Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©
+CDM.FormatManager.Variable_Tooltip:Ø§ÙÙ
+ØªØºÙØ±Ø§Øª Ø§ÙÙ
+ØªÙÙØ±Ø© Ù
+Ø¹ Ø£Ù
+Ø± ÙØ³Ù Ø§ÙØ¹Ø±Ø¶
+CDM.FormatManager.MessageBox:ØµÙØ§Ø­ÙØ© XML  
+CDM.FormatManager.MessageBox_Tooltip:Ø±Ø³Ø§ÙØ© ØµÙØ§Ø­ÙØ© ÙÙ
+ÙØ°Ø¬ XML  
+CDM.General.Access:ÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+ØªØ§Ø­Ø© ÙÙØ¬Ù
+ÙÙØ±
+CDM.General.Browser_Title:Ø¥Ø®ØªÙØ§Ø± ØµÙØ±Ø©
+CDM.General.Collection_Extra:ÙØµÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©:
+CDM.General.Collection_Extra_Tooltip:ÙØµÙ ØºØ±Ø¶ Ù Ù
+Ø­ØªÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CDM.General.Collection_Name:Ø¹ÙÙØ§Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©:
+CDM.General.Collection_Name_Tooltip:Ø¥Ø³Ù
+ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CDM.General.Email.Creator:Ø§ÙØšØ±ÙØ¯ Ø§ÙØ¥ÙÙØªØ±ÙÙÙ ÙÙÙ
+ÙØŽÙØ¡
+CDM.General.Email.Creator_Tooltip:Ø¹ÙÙØ§Ù Ø§ÙØšØ±ÙØ¯ Ø§ÙØ¥ÙÙØªØ±ÙÙÙ ÙÙ
+ÙØŽÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CDM.General.Email.Maintainer:Ø§ÙØšØ±ÙØ¯ Ø§ÙØ¥ÙÙØªØ±ÙÙÙ ÙÙÙ
+Ø§ÙÙ
+CDM.General.Email.Maintainer_Tooltip:Ø¹ÙÙØ§Ù Ø§ÙØšØ±ÙØ¯ Ø§ÙØ¥ÙÙØªØ±ÙÙÙ ÙÙ
+Ø§ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CDM.General.Icon_Collection:Ø¹ÙÙØ§Ù Ø§ÙÙ
+ÙØ§Ø±Ø¯ Ø§ÙÙ
+ÙØ­Ø¯ ÙØµÙØ±Ø©  'ØµÙØ­Ø© Ø­ÙÙ'
+CDM.General.Icon_Collection_Tooltip:Ø¹ÙÙØ§Ù Ø§ÙÙ
+ÙØ§Ø±Ø¯ Ø§ÙÙ
+ÙØ­Ø¯ ÙÙØµÙØ±Ø© Ø§ÙØªÙ ØªØ¹Ø±Ø¶ ÙÙ ØµÙØ­Ø© Ø­ÙÙ ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CDM.General.Icon_Collection_Small:Ø¹ÙÙØ§Ù Ø§ÙÙ
+ÙØ§Ø±Ø¯ Ø§ÙÙ
+ÙØ­Ø¯ ÙØµÙØ±Ø©  'ØµÙØ­Ø© Ø§ÙÙ
+ÙÙØ¹' :
+CDM.General.Icon_Collection_Small_Tooltip:Ø¹ÙÙØ§Ù Ø§ÙÙ
+ÙØ§Ø±Ø¯ Ø§ÙÙ
+ÙØ­Ø¯ ÙÙØµÙØ±Ø© Ø§ÙØªÙ ØªØ¹Ø±Ø¶ ÙÙ ØµÙØ­Ø© Ù
+ÙÙØ¹ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CDM.General.Image_Copy_Failed:Ø­Ø¯Ø« Ø®Ø·Ø£ ÙÙ
+ÙØ¹ Ø¹Ø±Ø¶ Ø§ÙØµÙØ±Ø©.\nØ§ÙØ±Ø¬Ø§Ø¡ Ù
+Ø­Ø§ÙÙØ© ÙØ³Ø® Ø§ÙØµÙØ±Ø© Ø§ÙÙ Ù
+Ø¬ÙØ¯ Ø§ÙØµÙØ± Ø§ÙØ®Ø§Øµ ØšØ§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØ¯ÙÙØ§
+CDM.General.Image_Filter:ØµÙØ± (gifs, jpgs and pngs)
+CDM.GUI.Classifiers:Ù
+ØµÙÙØ§Øª Ø§ÙØªØµÙØ­
+CDM.GUI.Formats:Ù
+ÙØ§Ù
+Ø­ ÙØ³Ù Ø§ÙØ¹Ø±Ø¶
+CDM.GUI.General:Ø¹Ø§Ù
+
+CDM.GUI.Indexes:ÙØŽØ§ÙØ§Øª Ø§ÙØšØ­Ø«
+CDM.GUI.Macros:Ù
+Ø§ÙØ±Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+Ø®ØµØµ
+CDM.GUI.Plugins:Ù
+ÙØ§ØšØ³ Ø§ÙÙØ«ÙÙØ©
+CDM.GUI.Root:CDM_ROOT:
+CDM.GUI.SearchMetadata:ØšØ­Ø«
+CDM.GUI.Subcollections:ÙØŽØ§ÙØ§Øª Ø§ÙÙØ·Ø§Ø¹Ø§Øª
+CDM.GUI.SuperCollection:ØšØ­Ø« ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª
+CDM.GUI.Translation:ØªØ±Ø¬Ù
+Ø© ÙØµ
+CDM.GUI.DepositorMetadata:Ù
+Ø³ØªÙØ¯Ø¹ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª.  
+CDM.HelpButton:Ù
+Ø³Ø§Ø¹Ø¯Ø© ÙÙØ°Ù Ø§ÙØŽØ§ØŽØ©
+CDM.HelpButton_Tooltip:Ù
+Ø³Ø§Ø¹Ø¯Ø© ÙÙØ°Ù Ø§ÙØŽØ§ØŽØ©
+CDM.IndexManager.Add_Index:Ø¥Ø¶Ø§ÙØ© ÙØŽØ§Ù
+CDM.IndexManager.Add_Index_Tooltip:ØšÙØ§Ø¡ Ø§ÙÙØŽØ§Ù Ø§ÙÙ
+Ø®ØµØµ ÙÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CDM.IndexManager.Allfields_Index:ÙÙ Ø­ÙÙÙ Ø§ÙÙØŽØ§Ù
+CDM.IndexManager.Default_Index_Indicator:[Ø§ÙÙØŽØ§Ù Ø§ÙØ¥ÙØªØ±Ø§Ø¶Ù]
+CDM.IndexManager.Index_Exists:ÙÙØ¯ ØªÙ
+ ØªØ®ØµÙØµ ÙØ°Ø§ Ø§ÙÙØŽØ§Ù Ù
+Ù ÙØšÙ ÙÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.
+CDM.IndexManager.Indexes:Ø§ÙÙØŽØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©
+CDM.IndexManager.Level:Ù
+Ø³ØªÙÙ Ø§ÙØªÙØŽÙÙ:
+CDM.IndexManager.Level_Tooltip:ØšÙØ§Ø¡ Ø§ÙÙØŽØ§Ù Ø¹ÙÙ Ù
+Ø³ØªÙÙ ÙØ«ÙÙØ©
+CDM.IndexManager.Add_All:Ø¥Ø¶Ø§ÙØ© Ø§ÙÙÙ
+CDM.IndexManager.Add_All_Tooltip:Ø¥Ø¶Ø§ÙØ© ÙØŽØ§Ù Ù
+ÙÙØµÙ ÙÙÙ Ù
+ØµØ¯Ø±
+CDM.IndexManager.Edit_Index:ØªØ­Ø¯ÙØ« ÙØŽØ§Ù
+CDM.IndexManager.Edit_Index_Tooltip:ØªØ­Ø¯ÙØ« Ø§ÙÙØŽØ§Ù Ø§ÙÙ
+Ø®ØªØ§Ø±
+CDM.IndexManager.New_Index:ÙØŽØ§Ù Ø¬Ø¯ÙØ¯
+CDM.IndexManager.New_Index_Tooltip:Ø¥Ø¶Ø§ÙØ© ÙØŽØ§Ù Ø¬Ø¯ÙØ¯
+CDM.IndexManager.Remove_Index:Ø­Ø°Ù ÙØŽØ§Ù
+CDM.IndexManager.Remove_Index_Tooltip:Ø­Ø°Ù Ø§ÙÙØŽØ§Ù Ø§ÙÙ
+Ø®ØªØ§Ø±
+CDM.IndexManager.Replace_Index:Ø¥Ø³ØªØšØ¯Ø§Ù ÙØŽØ§Ù
+CDM.IndexManager.Replace_Index_Tooltip:ØªØ­Ø¯ÙØ« Ø§ÙÙØŽØ§Ù Ø§ÙÙ
+Ø®ØªØ§Ø±
+CDM.IndexManager.Select_All:Ø¥Ø®ØªÙØ§Ø± Ø§ÙÙÙ
+CDM.IndexManager.Select_All_Tooltip:Ø¥Ø®ØªÙØ§Ø± ÙÙ ÙØŽØ§ÙØ§Øª Ø§ÙÙ
+ØµØ§Ø¯Ø±
+CDM.IndexManager.Select_None:ÙÙØ¶
+CDM.IndexManager.Select_None_Tooltip:ÙÙØ¶ Ø¥Ø®ØªÙØ§Ø± ÙÙ ÙØŽØ§ÙØ§Øª Ø§ÙÙ
+ØµØ§Ø¯Ø±
+CDM.IndexManager.Set_Default:ØªØ¹ÙÙÙ Ø§ÙÙØŽØ§Ù Ø§ÙØ¥ÙØªØ±Ø§Ø¶Ù
+CDM.IndexManager.Set_Default_Tooltip:Ø¬Ø¹Ù Ø§ÙÙØŽØ§Ù Ø§ÙÙ
+Ø®ØªØ§Ø± Ø§ÙÙØŽØ§Ù Ø§ÙØ¥ÙØªØ±Ø§Ø¶Ù
+CDM.IndexManager.Source:Ø¥ØšÙÙ ÙØŽØ§ÙØ§ Ø¹ÙÙ:
+CDM.IndexManager.Source_Tooltip:ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØªÙ ÙØšÙÙ Ø¹ÙÙÙØ§ Ø§ÙÙØŽØ§Ù
+CDM.IndexManager.Text_Source:ÙØµ ÙØ§Ù
+Ù
+CDM.IndexManager.Text_Source_Tooltip:ØªØ¶Ù
+ÙÙ Ø§ÙÙØµ Ø§ÙÙØ§Ù
+Ù ÙÙÙØ«ÙÙØ© ÙÙ Ø§ÙÙØŽØ§Ù
+CDM.IndexingManager.Accent_fold:Accent fold
+CDM.IndexingManager.Accent_fold_Tooltip:ØªÙÙÙØ¯ ÙØŽØ§Ù ØšØªØ¬Ø§ÙÙ  Ø­Ø§ÙØ© Ø§ÙÙØšØ± Ø¹ÙÙ Ø§ÙÙÙÙ
+Ø§ØªØÙ Ø§ÙØ°Ù ÙØªÙØ­ Ø§ÙØšØ­Ø« Ø¹Ù Ø§ÙÙÙÙ
+Ø§Øª ÙÙØªØ¬Ø§ÙÙ Ø­Ø±ÙØ§Øª Ø§ÙÙØšØ±.  
+CDM.IndexingManager.Casefold:Casefold
+CDM.IndexingManager.Casefold_Tooltip:.ØªÙÙÙØ¯ ÙØŽØ§Ù ØšØªØ¬Ø§ÙÙ ÙÙØ§ÙØ© Ø§ÙÙÙÙ
+Ø©ØÙ Ø§ÙØ°Ù ÙØªÙØ­ ØšØ­Ø« Ø§ÙØ­Ø§ÙØ§Øª ØºÙØ± Ø§ÙØ­Ø³Ø§Ø³Ø©  
+CDM.IndexingManager.Options:Ø®ÙØ§Ø±Ø§Øª Ø§ÙØªÙØŽÙÙ:
+CDM.IndexingManager.Separate_cjk:CJK ØªØ¬Ø²ØŠØ© ÙØµ  
+CDM.IndexingManager.Separate_cjk_Tooltip:<html>ØªØ¬Ø²ØŠØ© ÙØµ CJK (ØµÙÙÙ, ÙØ§ØšØ§ÙÙ, ÙÙØ±Ù) . ØªØªØ¶Ù
+Ù Ø­Ø§ÙÙØ§ Ø­ØŽØ± Ù
+Ø³Ø§ÙØ© ØšÙÙ ÙÙ Ù
+Ø­Ø±Ù CJK .<br> ÙÙØ¹ØªØšØ± ÙØ°Ø§ Ø¶Ø±ÙØ±ÙØ§ ÙÙØšØ­Ø« ÙÙ ÙØµ CJK Ø¥ÙØ§ Ø¥Ø°Ø§ ØªÙ
+Øª ØªØ¬Ø²ØŠØ© Ø§ÙÙØµ Ø§ÙÙ ÙÙÙ
+Ø§Øª Ù
+Ù ÙØšÙ .</html>  
+CDM.IndexingManager.Stem:Stem
+CDM.IndexingManager.Stem_Tooltip:ØªÙÙÙØ¯ ÙØŽØ§Ù Ø­Ø§ÙØ© ÙØ­Ø³Ø§Ø³ÙØ© Ø ÙØ§ÙØ°Ù ÙØªÙØ­ Ø§ÙØšØ­Ø« ØšØ¬Ø°Ø± Ø§ÙÙÙÙ
+Ø§Øª <br>Ø¹ÙÙ Ø³ØšÙÙ Ø§ÙÙ
+Ø«Ø§ÙØØ§ÙØšØ­Ø« Ø¹Ù "farm" Ø³ÙÙ ÙØ¶Ø§ÙÙ Ø£ÙØ¶Ø§ "farms" "farming" "farmers" (Ù
+ÙÙØ¯ ØšØ§ÙÙØ³ØšØ© Ø§ÙÙØºØ© Ø§ÙØ¥ÙØ¬ÙÙØ²ÙØ© Ù Ø§ÙÙØ±ÙØ³ÙØ©).  
+CDM.LanguageManager.Add_Tooltip:Ø¥Ø¶Ø§ÙØ© Ø§ÙÙØºØ© Ø§ÙÙ
+Ø®ØµØµØ© ÙÙÙØ§ØŠÙ
+Ø©
+CDM.LanguageManager.Assigned_Languages:Ø§ÙÙØºØ§Øª Ø§ÙÙ
+Ø®ØµØµØ©
+CDM.LanguageManager.Default_Language:Ø§ÙÙØºØ© Ø§ÙØ¥ÙØªØ±Ø§Ø¶ÙØ©
+CDM.LanguageManager.LanguageMetadata:ÙØºØ© ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª
+CDM.LanguageManager.LanguageMetadata_Tooltip:Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ ÙØªØ­Ø¯ÙØ¯ ÙØºØ© Ø§ÙÙØ«ÙÙØ©
+CDM.LanguageManager.Remove_Tooltip:Ø­Ø°Ù Ø§ÙÙØºØ© Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©
+CDM.LanguageManager.Replace_Tooltip:Ø¥Ø³ØªØšØ¯Ø§Ù
+CDM.LanguageManager.Selector:Ø¥Ø¶Ø§ÙØ© ÙØºØ©:
+CDM.LanguageManager.Selector_Tooltip:Ø§ÙÙØºØ© Ø§ÙØªÙ ÙØªÙ
+ ØšÙØ§Ø¡ ÙØ·Ø§Ø¹ Ø§ÙÙØŽØ§Ù ØšÙØ§
+CDM.LanguageManager.Set_Default:ØªØ¹ÙÙÙ Ø¥ÙØªØ±Ø§Ø¶Ù
+CDM.LanguageManager.Set_Default_Tooltip:ØªØ¹ÙÙÙ Ø§ÙÙØºØ© Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© Ø¥ÙØªØ±Ø§Ø¶ÙØ©
+CDM.LevelManager.Document:ÙØ«ÙÙØ©
+CDM.LevelManager.Section:ÙØ³Ù
+
+CDM.LevelManager.Paragraph:ÙÙØ±Ø©
+CDM.LevelManager.Level_Title:Ù
+Ø³ØªÙÙØ§Øª Ø§ÙØªÙØŽÙÙ
+CDM.LevelManager.Default:Ø¥ÙØªØ±Ø§Ø¶Ù
+CDM.LevelManager.Default_Tooltip:Ø§ÙÙ
+Ø³ØªÙÙ Ø§ÙØ¥ÙØªØ±Ø§Ø¶Ù ÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙØ±Ø§Ø¡
+CDM.MacrosManager.Editor_Tooltip:ØªØ­Ø¯ÙØ« Ø§ÙÙ
+Ø§ÙØ±Ù ÙÙØ§
+CDM.Move.At_Bottom:Ø¥Ø³ØªØ­Ø§ÙØ© ØªØ­Ø±ÙÙ {0} {1} Ø¥ÙÙ Ø£Ø³ÙÙ ÙØ§ÙÙØ§ Ø§ÙØ£Ø®ÙØ±Ø© ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø©
+CDM.Move.At_Top:Ø¥Ø³ØªØ­Ø§ÙØ© ØªØ­Ø±ÙÙ {0} {1} Ø¥ÙÙ Ø£Ø¹ÙÙ ÙØ§ÙÙØ§ Ø§ÙØ£ÙÙÙ ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø©
+CDM.Move.Cannot:ÙØ§ ÙÙ
+ÙÙ ØªØ­Ø±ÙÙ Ø§ÙÙ
+ÙØ§ØšØ³ {0} Ø¥ÙÙ Ø£Ø¯ÙÙ Ø­ÙØ« ÙÙØšØºÙ ÙØ¬ÙØ¯  RecPlug Ù ArcPlug Ø£Ø³ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø©.
+CDM.Move.Fixed:<html>RecPlug Ù ArcPlug  ØšØµÙØ±Ø© Ø¹Ø§Ù
+Ø© Ù
+Ø·ÙÙØš ÙØ¬ÙØ¯ÙÙ
+Ø§ Ø£Ø³ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø©.<br>Ø¥Ø°Ø§ ÙÙØª ØªÙØ¯ Ø°ÙÙ Ø§ÙØ±Ø¬Ø§Ø¡ ÙØ¹Ù Ø°ÙÙ ÙØ¯ÙÙØ§ ÙÙ Ù
+ÙÙ Ø§ÙØªØ¬ÙÙØ² collect.cfg .</html>
+CDM.Move.Move_Down:Ø­Ø±Ù Ø§ÙÙ Ø£Ø³ÙÙ
+CDM.Move.Move_Down_Tooltip:ØªØ­Ø±ÙÙ Ø§ÙØ¹ÙØµØ± Ø§ÙÙ
+Ø®ØªØ§Ø± Ø¥ÙÙ Ø£Ø³ÙÙ
+CDM.Move.Move_Up:Ø­Ø±Ù Ø§ÙÙ Ø£Ø¹ÙÙ
+CDM.Move.Move_Up_Tooltip:ØªØ­Ø±ÙÙ Ø§ÙØ¹ÙØµØ± Ø§ÙÙ
+Ø®ØªØ§Ø± Ø¥ÙÙ Ø£Ø¹ÙÙ
+CDM.Move.Title:Ø®Ø·Ø£ - ÙØ§ ÙÙ
+ÙÙ Ø§ÙØªØ­Ø±ÙÙ
+CDM.PlugInManager.Add:Ø¥Ø¶Ø§ÙØ© Ù
+ÙØ§ØšØ³
+CDM.PlugInManager.QuickAdd:Ø¥Ø¶Ø§ÙØ© Ù
+ÙØ§ØšØ³
+CDM.PlugInManager.Add_Tooltip:Ø§Ø³ØªØ®Ø¯Ù
+ Ø§ÙÙ
+ÙØ§ØšØ³ Ø§ÙÙ
+Ø®ØµØµ ÙÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CDM.PlugInManager.Assigned:Ø§ÙÙ
+ÙØ§ØšØ³ Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©
+CDM.PlugInManager.Configure:ØªØ¬ÙÙØ² Ù
+ÙØ§ØšØ³
+CDM.PlugInManager.Configure_Tooltip:ØªØºÙÙØ± Ø§ÙØ®ÙØ§Ø±Ø§Øª ÙÙÙ
+ÙØ§ØšØ³ Ø§ÙÙ
+Ø®ØªØ§Ø±
+CDM.PlugInManager.Ignore:ÙØ§ ØªØ¶Ù Ù
+ÙØ§ØšØ³
+CDM.PlugInManager.Ignore_Tooltip:ÙØ§ ØªØ¶Ù Ø£Ù Ù
+ÙØ§ØšØ³ ÙÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.
+CDM.PlugInManager.PlugIn:Ø¥Ø®ØªÙØ§Ø± Ù
+ÙØ§ØšØ³ ÙØ¥Ø¶Ø§ÙØªÙ:
+CDM.PlugInManager.PlugIn_Tooltip:Ø§ÙÙ
+ÙØ§ØšØ³ Ø§ÙÙ
+ØªÙÙØ±Ø© ÙÙØ¥Ø³ØªØ®Ø¯Ø§Ù
+ ÙÙ ÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CDM.PlugInManager.PlugIn_Str:Ù
+ÙØ§ØšØ³
+CDM.PlugInManager.PlugIn_XML_Parse_Failed:ÙØ§ ÙÙ
+ÙÙ ØªØ­Ø¯ÙØ¯ Ø§ÙÙ
+Ø¶Ù
+ÙÙ ÙÙ {0}\nÙ
+ÙØ§ØšØ³. . Ø§ÙØ±Ø¬Ø§Ø¡ Ø§ÙØªØ£ÙØ¯ Ù
+Ù Ø§ÙÙ
+ÙØ§ØšØ³ Ù
+ÙØ¶ÙØ¹ Ø§ÙØ³Ø€Ø§Ù\nØšØªÙÙÙØ± ØŽØ§Ø±Ø© -xml ØšØªÙÙÙØ° Ù
+ÙÙ
+CDM.PluginManager.Plugin_List_XML_Parse_Failed:ÙØ§ ÙÙ
+ÙÙ Ø§ÙØ¹Ø«ÙØ± Ø¹ÙÙ ÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ§ØšØ³ ØšØ¥Ø³ØªØ®Ø¯Ø§Ù
+pluginfo.pl -listall  
+CDM.PluginManager.Plugin_Suggestion_Prompt:ÙØ§ ÙÙØ¬Ø¯ Ù
+ÙØ§ØšØ³ ÙÙ ÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØ³ØªØ·ÙØ¹ Ù
+Ø¹Ø§ÙØ¬Ø© Ø§ÙÙ
+ÙÙ "{0}" Ù
+ØšØ§ØŽØ±Ø© .( Ù Ù
+Ø¹ Ø°ÙÙØ ÙÙ
+ÙÙ Ø§Ù ØªØ¶Ù
+Ù ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø¥Ø°Ø§ ØªÙØªÙ
+Ù ÙÙ
+ÙÙ Ø¢Ø®Ø± Ø Ø¹ÙÙ Ø³ØšÙÙ Ø§ÙÙ
+Ø«Ø§Ù Ø ØµÙØ±Ø© Ø£Ù ØµÙØ­Ø© ÙØš) Ø§ÙÙ
+ÙØ§ØšØ³ Ø§ÙØªØ§ÙÙØ© ÙÙ
+ÙÙ Ø£Ù ØªØ¹Ø§ÙØ¬ ÙØ°Ø§ Ø§ÙÙ
+ÙÙ. ØªØ³ØªØ·ÙØ¹ Ø¥Ø¶Ø§ÙØ© ÙØ§Ø­Ø¯ ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšØ¥Ø®ØªÙØ§Ø±Ù Ù Ø§ÙØ¶ØºØ· Ø¹ÙÙ Ø²Ø± Ø¥Ø¶Ø§ÙØ©. (ØªØ¬Øš Ù
+ÙØ§Ø­ØžØ© Ø§ÙÙ ØšØ§ÙØ¥Ù
+ÙØ§Ù ØªØ¹Ø¯ÙÙ ÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ§ØšØ³ ÙÙ Ø£Ù ÙÙØª Ù
+Ù Ø®ÙØ§Ù "Ù
+ÙØ§ØšØ³ Ø§ÙÙØ«ÙÙØ©" ÙÙ Ù
+ØŽÙØ¯ Ø§ÙØªØµÙ
+ÙÙ
+.)  
+CDM.PlugInManager.Remove:Ø­Ø°Ù Ù
+ÙØ§ØšØ³
+CDM.PlugInManager.Remove_Tooltip:Ø­Ø°Ù Ø§ÙÙ
+ÙØ§ØšØ³ Ø§ÙÙ
+Ø®ØªØ§Ø± Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©
+CDM.PluginManager.SuggestedPluginListTitle:Ø§ÙÙ
+ÙØ§ØšØ³ Ø§ÙÙ
+ÙØªØ±Ø­Ø© ÙÙØ°Ø§ Ø§ÙÙ
+ÙÙ
+CDM.SearchMetadataManager.Component:Ø¹ÙØµØ± ÙÙ ÙØ§ØŠÙ
+Ø© Ø§ÙØšØ­Ø«
+CDM.SearchMetadataManager.Component_Name:Ø¹Ø±Ø¶ Ø§ÙØªØµ
+CDM.SearchMetadataManager.Type_index:ÙØŽØ§Ù
+CDM.SearchMetadataManager.Type_level:Ù
+Ø³ØªÙÙl
+CDM.SearchMetadataManager.Type_partition:ÙØ·Ø§Ø¹
+CDM.SearchMetadataManager.Type_language:ÙØºØ© Ø§ÙÙØ·Ø§Ø¹
+CDM.SubcollectionManager.Add:Ø¥Ø¶Ø§ÙØ© Ù
+Ø±ØŽØ­
+CDM.SubcollectionManager.Add_Tooltip:Ø¥Ø¶Ù Ø§ÙÙ
+Ø±ØŽØ­ Ø§ÙÙ
+Ø®ØµØµ ÙÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CDM.SubcollectionManager.Assigned:Ø¹Ø±Ù Ù
+Ø±ØŽØ­Ø§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙØ±Ø¹ÙØ©
+CDM.SubcollectionManager.Exclude:Ø¥Ø³ØªØšØ¹Ø§Ø¯
+CDM.SubcollectionManager.Flags:ØªØ¹ÙÙÙ Ø¹ÙØ§Ù
+Ø§Øª Ù
+Ù
+ÙØ²Ø© ÙÙÙ
+Ø¶Ø§ÙØ§Ø©
+CDM.SubcollectionManager.Flags_Tooltip:Ø§ÙØ¹ÙØ§Ù
+Ø§Øª Ø§ÙÙ
+Ù
+ÙØ²Ø© ÙÙØªØ¹ØšÙØ±Ø§Øª Ø§ÙÙ
+ÙØªØžÙ
+Ø© Ø§ÙØªÙ ØªØ³ØªØ®Ø¯Ù
+ ÙÙÙ
+Ø¶Ø§ÙØ§Ø© (Ù
+Ø«Ø§Ù. "i" ÙÙ
+Ø¶Ø§ÙØ§Ø© Ø­Ø§ÙØ© -ØºÙØ± Ø­Ø³Ø§Ø³Ø©)
+CDM.SubcollectionManager.Include:Ø¶Ù
+
+CDM.SubcollectionManager.Inclusive:Ù
+Ø§Ø°Ø§ ÙÙØ¹Ù ØšØ§ÙÙ
+ÙÙØ§Øª Ø§ÙØªÙ ØªÙ
+Øª Ù
+Ø¶Ø§ÙØ§ØªÙØ§Ø
+CDM.SubcollectionManager.Language_Controls:ØªØ­Ø¯ÙØ¯ ÙØºØ§Øª
+CDM.SubcollectionManager.Match:Ø§ÙØªØ¹ØšÙØ±Ø§Øª Ø§ÙÙ
+ÙØªØžÙ
+Ø© ÙÙÙ
+Ø¶Ø§ÙØ§Ø© Ù
+Ø¹:
+CDM.SubcollectionManager.Match_Tooltip:Ø§ÙØªØ¹ØšÙØ±Ø§Øª Ø§ÙÙ
+ÙØªØžÙ
+Ø© Ø§ÙØªÙ ØªØ¹Ø±Ù Ø§ÙÙØ«Ø§ØŠÙ ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙØ±Ø¹ÙØ©
+CDM.SubcollectionManager.Name:Ø¥Ø³Ù
+ Ù
+Ø±ØŽØ­ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙØ±Ø¹ÙØ©:
+CDM.SubcollectionManager.Name_Tooltip:Ø¥Ø³Ù
+ Ø§ÙÙ
+Ø±ØŽØ­ ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙØ±Ø¹ÙØ© Ø§ÙØ¬Ø¯ÙØ¯Ø©
+CDM.SubcollectionManager.Remove:Ø­Ø°Ù Ù
+Ø±ØŽØ­
+CDM.SubcollectionManager.Remove_Tooltip:Ø­Ø°Ù Ø§ÙÙ
+Ø±ØŽØ­ Ø§ÙÙ
+Ø®ØªØ§Ø± Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©
+CDM.SubcollectionManager.Replace:Ø¥Ø³ØªØšØ¯Ø§Ù Ù
+Ø±ØŽØ­
+CDM.SubcollectionManager.Replace_Tooltip:ØªØ­Ø¯ÙØ« ØªÙØ§ØµÙÙ Ø§ÙÙ
+Ø±ØŽØ­ Ø§ÙÙ
+Ø®ØªØ§Ø±
+CDM.SubcollectionManager.Source:Ù
+Ø€ØŽØ±Ø§Øª Ø§ÙÙØ«ÙÙØ© ÙÙÙ
+Ø¶Ø§ÙØ§Ø© Ø¶Ø¯ÙØ§:
+CDM.SubcollectionManager.Source_Tooltip:Ù
+Ø€ØŽØ±Ø§Øª Ø§ÙÙØ«ÙÙØ© ÙØ¥Ø¬Ø±Ø§Ø¡ Ø§ÙØªØ±ØŽÙØ­ Ø¹ÙÙÙØ§
+CDM.SubcollectionManager.Subcollection_Controls:ØªØ¹Ø±ÙÙ Ù
+Ø±ØŽØ­Ø§Øª
+CDM.SubcollectionManager.Subindex_Controls:ØªØ¹ÙÙÙ ÙØ·Ø§Ø¹Ø§Øª
+CDM.SubcollectionIndexManager.Add_Subindex:Ø¥Ø¶Ø§ÙØ© ÙØŽØ§Ù ÙØ·Ø§Ø¹
+CDM.SubcollectionIndexManager.Add_Subindex_Tooltip:Ø¥Ø¶Ø§ÙØ© ÙØŽØ§Ù Ø§ÙÙØ·Ø§Ø¹ Ø§ÙÙ
+Ø®ØµØµ ÙÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CDM.SubcollectionIndexManager.Default_Partition_Indicator:[ÙØŽØ§Ù Ø§ÙÙØ·Ø§Ø¹ Ø§ÙØ¥ÙØªØ±Ø§Ø¶Ù]
+CDM.SubcollectionIndexManager.Remove_Subindex:Ø­Ø°Ù ÙØŽØ§Ù Ø§ÙÙØ·Ø§Ø¹
+CDM.SubcollectionIndexManager.Remove_Subindex_Tooltip:Ø­Ø°Ù ÙØŽØ§Ù Ø§ÙÙØ·Ø§Ø¹ Ø§ÙÙ
+Ø®ØªØ§Ø± Ù
+Ù ÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CDM.SubcollectionIndexManager.Replace_Subindex:Ø¥Ø³ØªØšØ¯Ø§Ù ÙØŽØ§Ù ÙØ·Ø§Ø¹
+CDM.SubcollectionIndexManager.Replace_Subindex_Tooltip:ØªØ­Ø¯ÙØ« ÙØŽØ§Ù Ø§ÙÙØ·Ø§Ø¹ Ø§ÙÙ
+Ø®ØªØ§Ø±
+CDM.SubcollectionIndexManager.Set_Default_Subindex:ØªØ¹ÙÙÙ Ø¥ÙØªØ±Ø§Ø¶Ù
+CDM.SubcollectionIndexManager.Set_Default_Subindex_Tooltip:ØªØ¹ÙÙÙ ÙØŽØ§Ù Ø§ÙÙØ·Ø§Ø¹ Ø§ÙÙ
+Ø®ØªØ§Ø± Ø¥ÙØªØ±Ø§Ø¶ÙØ§
+CDM.SubcollectionIndexManager.Source:ØšÙØ§Ø¡ ÙØŽØ§Ù Ø§ÙÙØ·Ø§Ø¹ ÙÙÙØ§ Ù:
+CDM.SubcollectionIndexManager.Source_Tooltip:Ù
+Ø±ØŽØ­Ø§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙØ±Ø¹ÙØ© ÙØšÙØ§Ø¡ ÙØŽØ§Ù Ø§ÙÙØ·Ø§Ø¹ Ø¹ÙÙÙØ§
+CDM.SubcollectionIndexManager.Subindexes:ÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙØ±Ø¹ÙØ© Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©
+CDM.TranslationManager.Add:Ø¥Ø¶Ø§ÙØ© ØªØ±Ø¬Ù
+Ø©
+CDM.TranslationManager.Add_Tooltip:Ø¥Ø¶Ø§ÙØ© Ø§ÙØªØ±Ø¬Ù
+Ø© Ø§ÙÙ
+Ø­Ø¯Ø¯Ø© Ø§ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CDM.TranslationManager.Affected_Features:Ø³Ù
+Ø§Øª
+CDM.TranslationManager.Assigned_Fragments:Ø§ÙØªØ±Ø¬Ù
+Ø§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©
+CDM.TranslationManager.Default_Text:ØªØ¬Ø²ØŠØ© ÙØµ Ù
+ØšØ¯ØŠÙØ©
+CDM.TranslationManager.Fragment_Column:ØªØ¬Ø²ØŠØ© ÙØµ
+CDM.TranslationManager.Language:ÙØºØ© Ø§ÙØªØ±Ø¬Ù
+Ø©:
+CDM.TranslationManager.Language_Column:ÙØºØ©
+CDM.TranslationManager.Language_Tooltip:Ø§ÙÙØºØ© Ø§ÙØªÙ ØªÙ
+Øª Ø§ÙØªØ±Ø¬Ù
+Ø© Ø¥ÙÙÙØ§
+CDM.TranslationManager.Remove:Ø­Ø°Ù ØªØ±Ø¬Ù
+Ø©
+CDM.TranslationManager.Remove_Tooltip:Ø­Ø°Ù Ø§ÙØªØ±Ø¬Ù
+Ø© Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© Ù
+Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CDM.TranslationManager.Replace:Ø¥Ø³ØªØšØ¯Ø§Ù ØªØ±Ø¬Ù
+Ø©
+CDM.TranslationManager.Replace_Tooltip:ØªØ­Ø¯ÙØ« Ø§ÙØªØ±Ø¬Ù
+Ø© Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©
+CDM.TranslationManager.Translation:Ø§ÙÙØµ Ø§ÙÙ
+ØªØ±Ø¬Ù
+
+CDM.TranslationManager.Translation_Tooltip:Ø¥Ø¯Ø®Ù Ø§ÙØªØ±Ø¬Ù
+Ø© ÙÙØ§
+CDM.DepositorMetadataManager.Warning:ÙØ¬Øš Ø§Ù ØªØ®ØªØ§Ø± Ø¹ÙØµØ±Ø§ ÙØ§Ø­Ø¯Ø§ Ù
+Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø¹ÙÙ Ø§ÙØ£ÙÙ  
+#*******************
+#
+#***** Collection *****
+Collection.Collection:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>Ù
+Ø¬Ù
+ÙØ¹Ø©</FONT></STRONG></HTML>
+Collection.Delete_Tooltip:Ø¥ÙØºØ§Ø¡ Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª Ù Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©
+Collection.Filter_Tooltip:ØªÙÙÙØ¯ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙØžØ§ÙØ±Ø© ÙÙ ØŽØ¬Ø±Ø© Ø§ÙÙ
+ÙÙ
+Collection.New_Folder_Tooltip:Ø¥ÙØŽØ§Ø¡ Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯
+Collection.No_Collection:ÙØ§ØªÙØ¬Ø¯ Ù
+Ø¬Ù
+ÙØ¹Ø©
+Collection.No_Collection_Loaded:ÙÙ
+ ÙØªÙ
+ ØªØ­Ù
+ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø©
+Collection.Stop:Ø¥ÙÙØ§Ù
+Collection.Stop_Tooltip:Ø¥ÙÙØ§Ù ÙØ³Ø® Ø§ÙÙ
+ÙÙØ§Øª
+Collection.Workspace:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>Ù
+Ø³Ø§Ø­Ø© Ø§ÙØ¹Ù
+Ù</FONT></STRONG></HTML>
+#**********************
+#
+#***** CollectionBuilt *****
+CollectionBuilt.Message:ØªÙ
+ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù ÙÙ
+ÙÙ Ø¹Ø±Ø¶ÙØ§
+CollectionBuilt.Title:ÙØªÙØ¬Ø© Ø¥ÙØŽØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+#***************************
+#
+#******ScheduldBuilt******
+ScheduleBuilt.Message:ØªÙ
+ Ø§ÙØªÙØšÙÙ ÙØ¬Ø¯ÙÙØ© ÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.  
+ScheduleBuilt.Title:ÙØªØ§ØŠØ¬ Ø¬Ø¯ÙÙØ© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.  
+#***************************
+#
+#***** CollectionManager *****
+CollectionManager.Schedule_Failed:Ø­Ø¯Ø« Ø®Ø·Ø£ Ù ÙÙ
+ ÙØªÙ
+ ØšØ±Ù
+Ø¬Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙØšÙØ§Ø¡ ØšØµÙØ© Ø¯ÙØ±ÙØ©  
+CollectionManager.Build_Cancelled:ØªÙ
+ Ø¥ÙØºØ§Ø¡ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.
+CollectionManager.Cannot_Create_Collection:Ø­Ø¯Ø« Ø®Ø·Ø£ Ù ÙÙ
+ ÙØªÙ
+ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.
+CollectionManager.Cannot_Create_Collection_With_Reason:ÙÙ
+ ÙØªÙ
+ ØšÙØ§Ø¡ ÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšØ³ØšØš:\n{0-Error message}
+CollectionManager.Cannot_Delete_Index:ÙØ§ ÙÙ
+ÙÙ Ø¥Ø¹Ø§Ø¯Ø© ØšÙØ§Ø¡ ÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšØ³ØšØš Ø§Ù Ø§ÙÙØŽØ§ÙØ§Øª Ø§ÙÙØ¯ÙÙ
+Ø© ÙØ§ ÙÙ
+ÙÙ Ø¥ÙØºØ§Ø€ÙØ§.\nØ§ÙØ±Ø¬Ø§Ø¡ Ø§ÙØªØ£ÙØ¯ Ù
+Ù Ø§Ù ÙØ±ÙÙØ³ØªÙÙ  Ø£Ù Ø§Ù ØšØ±ÙØ§Ù
+Ø¬ Ø¢Ø®Ø± ÙØ§ ÙØ³ØªØ®Ø¯Ù
+ ÙØ°Ù Ø§ÙÙ
+ÙÙØ§Øª,\n Ù Ø­Ø§ÙÙ Ù
+Ø±Ø© Ø£Ø®Ø±Ù.
+CollectionManager.Cannot_Delete_Index_Log:ÙÙ
+ ÙØªÙ
+ Ø¥ÙØºØ§Ø¡ Ù
+ÙÙØ§Øª Ø§ÙÙØŽØ§ÙØ§Øª Ø§ÙÙØ¯ÙÙ
+Ø© ÙØ°ÙÙ ØªÙÙÙ Ø§ÙØ¥Ø³ØªÙØ±Ø§Ø¯.
+CollectionManager.Cannot_Open:ÙØ§ ÙÙ
+ÙÙ ÙØªØ­ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©:\n{0-Collection file path}\n.
+CollectionManager.Cannot_Open_With_Reason:Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙ:\n{0-Collection file path}\nÙØ§ ÙÙ
+ÙÙ ÙØªØ­ÙØ§ ØšØ³ØšØš:\n{1-Error message}
+CollectionManager.Creating_Collection:Ø¥ÙØŽØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø©  
+CollectionManager.Creating_Collection_Please_Wait:Ø¥ÙØŽØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø© ØØ§ÙØ±Ø¬Ø§Ø¡Ø§ÙØ¥ÙØªØžØ§Ø±....  
+CollectionManager.Loading_Collection:ØªØ­Ù
+ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CollectionManager.Loading_Collection_Please_Wait:ØªØ­Ù
+ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©Ø Ø§ÙØ±Ø¬Ø§Ø¡ Ø§ÙØ¥ÙØªØžØ§Ø±...
+CollectionManager.Loading_Successful:Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+Ø­Ù
+ÙØ© {0}.
+CollectionManager.Missing_Config:ÙØ§ ØªÙ
+ÙÙ ÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+ÙÙ ØªØ¬ÙÙØ² ØµØ§ÙØ­ collect.cfg
+CollectionManager.Not_Col_File:'{0}' ÙÙØ³ Ù
+ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ (.col)
+CollectionManager.No_Config_File:ÙÙ
+ ÙØªÙ
+ Ø¥ÙØŽØ§Ø¡ Ù
+ÙÙ Ø§ÙØªØ¬ÙÙØ² ØšÙØ§Ø³Ø·Ø©  mkcol.pl.
+CollectionManager.Preview_Ready_Failed:Ø­Ø¯Ø« Ø®Ø·Ø£ ÙÙ
+ÙØ¹ Ø¹Ø±Ø¶ ÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.
+CollectionManager.Preview_Ready_Title:Ø­Ø§ÙØ© Ø¹Ø±Ø¶ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.
+CollectionManager.Schedule_Ready_Title:Ø­Ø§ÙØ© Ø§ÙØ¬Ø¯ÙÙØ©.  
+CollectionManager.Build_Not_Moved:ÙØ§ ÙÙ
+ÙÙ ÙÙÙ Ø§ÙØ¯ÙÙÙ Ø§ÙØ°Ù ØªÙ
+ ÙÙÙ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©. Ø­Ø§ÙÙ Ø¥Ø¹Ø§Ø¯Ø© Ø§ÙØšÙØ§Ø¡ Ø£Ù ÙÙ
+ ØšØ§ÙØ®Ø±ÙØ¬ Ù
+Ù GLI ÙØ§ÙØ­Ø§Ø³Øš Ø§ÙØ®Ø§Ø¯Ù
+ ÙØ£Ø¹Ø¯ ØªØŽØºÙÙ GLI Ø«Ù
+ Ø­Ø§ÙÙ Ù
+Ø±Ø© Ø£Ø®Ø±Ù  
+CollectionManager.Index_Not_Deleted:ÙØ§ ÙÙ
+ÙÙ Ø­Ø°Ù Ø§ÙØ¯ÙÙÙ Ø§ÙØ°Ù ÙØ­ØªÙÙ Ø¹ÙÙ Ø§ÙÙØŽØ§Ù. Ø­Ø§ÙÙ Ø§ÙØ®Ø±ÙØ¬ Ù
+Ù GLI ÙØ§ÙØ­Ø§Ø³Øš Ø§ÙØ®Ø§Ø¯Ù
+ Ø«Ù
+ ÙÙ
+ ØšØ£Ø¹Ø§Ø¯Ø© ØªØŽØºÙÙ GLI Ø«Ù
+ Ø­Ø§ÙÙ Ø¥Ø¹Ø§Ø¯Ø© Ø¹Ù
+ÙÙØ© Ø§ÙØšÙØ§Ø¡ .  
+CollectionManager.Install_Exception:ØªÙ
+ Ø±ØµØ¯ ØªØ¬Ø§ÙØ² Ø®ÙØ§Ù ØªØ«ØšÙØª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©:\n{0}\nØºØ§ÙØšØ§ ØšØ³ØšØš Ø¥Ø³ØªØ®Ø¯Ø§Ù
+ ØšØ±Ø§Ù
+Ø¬ Ø£Ø®Ø±Ù ÙÙÙ
+ÙÙØ§Øª .\nØ§ÙØ±Ø¬Ø§Ø¡ Ø§ÙØªØ£ÙØ¯ Ù
+Ù Ø£Ù Ù
+ØµØ§Ø¯Ø± Ù
+ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©\nØºÙØ± Ù
+Ø³ØªØ®Ø¯Ù
+Ø© ØšÙØ§Ø³Ø·Ø© ØšØ±ÙØ§Ù
+Ø¬ Ø®Ø§Ø±Ø¬Ù, Ø«Ù
+ Ø£Ø¹Ø¯ Ø§ÙØšÙØ§Ø¡.
+#*****************************
+#
+#***** CollectionPopupMenu *****
+CollectionPopupMenu.Delete:Ø¥ÙØºØ§Ø¡
+CollectionPopupMenu.New_Dummy_Doc:ÙØ«ÙÙØ© Ù
+Ø²ÙÙØ© Ø¬Ø¯ÙØ¯Ø©
+CollectionPopupMenu.New_Folder:Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯
+CollectionPopupMenu.Refresh:Ø¥ÙØ¹Ø§ØŽ Ø§ÙÙ
+Ø¬ÙØ¯.  
+CollectionPopupMenu.Rename:Ø¥Ø¹Ø§Ø¯Ø© ØªØ³Ù
+ÙØ©
+CollectionPopupMenu.Replace:Ø¥Ø³ØªØšØ¯Ø§Ù
+#*******************************
+#
+#***** CreatePane *****
+CreatePane.Schedule_Progress:ØªÙØ¯Ù
+ Ø§ÙØ¬Ø¯ÙÙØ©.  
+CreatePane.Schedule:Ø®ÙØ§Ø±Ø§Øª Ø§ÙØ¬Ø¯ÙÙØ©.  
+CreatePane.Schedule_Tooltip:Ø®ÙØ§Ø±Ø§Øª ÙØ¬Ø¯ÙÙØ© ØªÙÙÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙØ¢ÙÙ.  
+CreatePane.Schedule_Build:Ø¥Ø¬Ø±Ø§Ø¡ Ø§ÙØ¬Ø¯ÙÙØ©.  
+CreatePane.Schedule_Build_Tooltip:Ø§ÙØ¬Ø¯ÙÙØ© Ø§ÙØ¢ÙÙØ© ÙØªÙÙÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.  
+CreatePane.Build:Ø®ÙØ§Ø±Ø§Øª Ø§ÙØšÙØ§Ø¡
+CreatePane.Build_Tooltip:Ø®ÙØ§Ø±Ø§Øª ÙÙ
+Ø±Ø­ÙØ© Ø§ÙØªÙØŽÙÙ Ù Ø§ÙØªØµÙÙÙ ÙÙ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CreatePane.Build_Collection:ØšÙØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø©
+CreatePane.Build_Collection_Tooltip:Ø¥ØšØ¯Ø£ Ø¥Ø¬Ø±Ø§Ø¡ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CreatePane.Build_Progress:ØªØ·ÙØ± Ø§ÙØšÙØ§Ø¡
+CreatePane.Cancel_Build:Ø¥ÙØºØ§Ø¡ Ø§ÙØšÙØ§Ø¡
+CreatePane.Cancel_Build_Tooltip:Ø£ÙÙÙ Ø¥Ø¬Ø±Ø§Ø¡ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CreatePane.Full_Build:Ø¥Ø¹Ø§Ø¯Ø© ØšÙØ§Ø¡
+CreatePane.Full_Build_Tooltip:Ø¥ØšØ¯Ø£ Ø¥Ø¹Ø§Ø¯Ø©  ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ù Ø¬Ø¯ÙØ¯
+CreatePane.Import:Ø®ÙØ§Ø±Ø§Øª Ø§ÙØ¥Ø³ØªÙØ±Ø§Ø¯
+CreatePane.Import_Tooltip:Ø®ÙØ§Ø±Ø§Øª ÙÙ
+Ø±Ø­ÙØ© ØªØ­ÙÙÙ Ø§ÙÙ
+ÙÙ Ù ØªØ¹ÙÙÙ  ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙÙ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CreatePane.Import_Progress:ØªØ·ÙØ± Ø§ÙØ¥Ø³ØªÙØ±Ø§Ø¯
+CreatePane.Minimal_Build:Ø¥Ø¹Ø§Ø¯Ø© ØšÙØ§Ø¡ Ø§ÙØ­Ø¯ Ø§ÙØ£Ø¯ÙÙ
+CreatePane.Minimal_Build_Tooltip:Ø§Ø³Ø±Ø¹ ØØšØªØ¶Ù
+ÙÙ Ø§ÙØ£Ø¬Ø²Ø§Ø¡ Ø§ÙØ¶Ø±ÙØ±ÙØ© ÙÙØ· ÙÙ Ø¥Ø¬Ø±Ø§Ø¡ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©  
+CreatePane.Minimal_Build_Not_Required:Ø¥Ø¹Ø§Ø¯Ø© Ø§ÙØšÙØ§Ø¡ ÙÙØ³Øª Ù
+Ø·ÙÙØšØ© ÙØ§ÙÙ ÙÙ
+ ØªÙÙ
+ ØšØ¥Ø¶Ø§ÙØ© Ø¢Ù Ù
+ÙÙ ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©ØØªØ¹Ø¯ÙÙ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§ØªØ Ø§Ù ØªØºÙÙØ± Ø®ÙØ§Ø±Ø§Øª ÙÙ Ø­ÙØ² Ø§ÙØªØµÙ
+ÙÙ
+\nÙØ¥Ø¬ØšØ§Ø± Ø¥Ø¹Ø§Ø¯Ø© ØšÙØ§Ø¡ Ø§ÙØ±Ø¬Ø§Ø¡ Ø¥Ø®ØªÙØ§Ø± "Ø¥Ø¹Ø§Ø¯Ø© ØšÙØ§Ø¡ ÙØ§Ù
+ÙØ©" Ù Ø¥Ø¶ØºØ· Ø²Ø± "ØšÙØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø©"  
+CreatePane.Log:Ù
+ÙÙ Ø§ÙØ³Ø¬Ù
+CreatePane.Log_Tooltip:Ø¹Ø±Ø¶ Ù
+Ø®Ø±Ø¬Ø§Øª Ù
+Ø­Ø§ÙÙØ§Øª ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙØ³Ø§ØšÙØ©
+CreatePane.Mode_All:ÙÙ
+CreatePane.Options:Ø®ÙØ§Ø±Ø§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª
+CreatePane.Options_Title:Ø®ÙØ§Ø±Ø§Øª ØšÙØ§Ø¡ Ø Ø¥Ø³ØªÙØ±Ø§Ø¯ Ù Ø¬Ø¯ÙÙØ© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.  
+CreatePane.Preview_Collection:Ø¹Ø±Ø¶ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+CreatePane.Preview_Collection_Tooltip:Ø¹Ø±Ø¶ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+#**********************
+#
+#***** Dates *****
+Dates.Mon:Ø§ÙØ£Ø«ÙÙÙ
+Dates.Tue:Ø§ÙØ«ÙØ§Ø«Ø§Ø¡
+Dates.Wed:Ø§ÙØ£Ø±ØšØ¹Ø§Ø¡
+Dates.Thu:Ø§ÙØ®Ù
+ÙØ³
+Dates.Fri:Ø§ÙØ¬Ù
+Ø¹Ø©
+Dates.Sat:Ø§ÙØ³ØšØª
+Dates.Sun:Ø§ÙØ£Ø­Ø¯
+Dates.Jan:ÙÙØ§ÙØ±
+Dates.Feb:ÙØšØ±Ø§ÙØ±
+Dates.Mar:Ù
+Ø§Ø±Ø³
+Dates.Apr:Ø§ØšØ±ÙÙ
+Dates.May:Ù
+Ø§ÙÙ
+Dates.Jun:ÙÙÙÙÙ
+Dates.Jul:ÙÙÙÙÙ
+Dates.Aug:Ø£ØºØ³Ø·Ø³
+Dates.Sep:Ø³ØšØªÙ
+ØšØ±
+Dates.Oct:Ø§ÙØªÙØšØ±
+Dates.Nov:ÙÙÙÙ
+ØšØ±
+Dates.Dec:Ø¯ÙØ³Ù
+ØšØ±
+#**********************
+#
+#***** Delete Collection Prompt *****
+DeleteCollectionPrompt.Collection_Details:ØªÙØ§ØµÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©
+DeleteCollectionPrompt.Collection_List:Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ
+ØªÙÙØ±Ø©
+DeleteCollectionPrompt.Confirm_Delete:Ø§ÙØ±Ø¬Ø§Ø¡ ØªØ£ÙÙØ¯ Ø¥ÙØºØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+DeleteCollectionPrompt.Delete:Ø¥ÙØºØ§Ø¡
+DeleteCollectionPrompt.Delete_Tooltip:Ø¥ÙØºØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©
+DeleteCollectionPrompt.Details:Ù
+ÙØŽÙ - {0}\nÙ
+Ø§ÙÙ - {1}\nÙØµÙ\n{2}
+DeleteCollectionPrompt.Failed_Delete:ÙØ§ ÙÙ
+ÙÙ Ø¥ÙØºØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØªÙ
+Ø§Ù
+Ø§.
+DeleteCollectionPrompt.Failed_Title:ÙØŽÙ Ø§ÙØ¥ÙØºØ§Ø¡
+DeleteCollectionPrompt.No_Collection:ÙØ§ ØªÙØ¬Ø¯ Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ø®ØªØ§Ø±Ø©.
+DeleteCollectionPrompt.Successful_Delete:ØªÙ
+ Ø¥ÙØºØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.
+DeleteCollectionPrompt.Successful_Title:Ø¥ÙØªÙ
+ÙØª Ø¹Ù
+ÙÙØ© Ø§ÙØ¥ÙØºØ§Ø¡!
+DeleteCollectionPrompt.Title:Ø¥ÙØºØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+DeleteCollectionPrompt.Cannot_Delete_Open_Collection_Tooltip:ÙØ§ ÙÙ
+ÙÙ Ø¥ÙØºØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©  {0}, Ø·Ø§ÙÙ
+Ø§ ÙÙ Ù
+ÙØªÙØ­Ø©.  
+#**********************
+#
+#***** DirectoryLevelMetadata *****
+DirectoryLevelMetadata.Message:Ø£ÙØª ØšØµØ¯Ø¯ ØªØ¹ÙÙÙ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª  'ÙÙ
+Ø³ØªÙÙ Ø§ÙÙ
+Ø¬ÙØ¯' ÙÙÙ
+Ø¬ÙØ¯ Ø§ÙÙ
+Ø®ØªØ§Ø±  (Ø£Ù Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©). Ø³ÙÙ ÙØªÙ
+ ØªÙØ±ÙØ« ÙØ°Ù Ø§ÙÙØ§ØµÙØ§Øª Ø¢ÙÙØ§ ÙÙÙ Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª Ø§ÙÙØ±Ø¹ÙØ© Ù Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙØªØ§ØšØ¹Ø© ÙÙØ°Ø§ Ø§ÙÙ
+Ø¬ÙØ¯. ÙÙØšØºÙ Ø£Ù ÙØ°ÙØ± ÙÙØ§ Ø§Ù ÙØ°Ù Ø§ÙÙØ§ØµÙØ§Øª ÙØ§ ÙÙ
+ÙÙ Ø¥ÙØºØ§Ø€ÙØ§ Ø£Ù ØªØºÙÙØ±ÙØ§ Ø¥ÙØ§ Ø¹ÙÙ Ù
+Ø³ØªÙÙ Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ£Øš. ÙØ¥ÙÙ
+Ø§Ù ÙØ°Ø§ Ø§ÙØ¥Ø¬Ø±Ø§Ø¡  Ø§ÙØ±Ø¬Ø§Ø¡ Ø§ÙÙÙØ± Ø¹ÙÙ 'OK'.
+DirectoryLevelMetadata.Title:Ø¥Ø¶Ø§ÙØ© ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ø³ØªÙÙ Ø§ÙÙ
+Ø¬ÙØ¯
+
+#*******************
+#
+#***** Download *****
+DOWNLOAD.MODE.Root:ØªÙØ²ÙÙ Ø£Ø³Ø§Ø³Ù
+DOWNLOAD.MODE.WebDownload:Ø§ÙÙØš
+DOWNLOAD.MODE.MediaWikiDownload:MediaWiki  
+DOWNLOAD.MODE.OAIDownload:OAI
+DOWNLOAD.MODE.ZDownload:Z39.50
+DOWNLOAD.MODE.SRWDownload:SRW
+
+Download.ServerInformation:Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙÙ
+Ø²ÙØ¯
+Download.ServerInformation_Tooltip:ØªÙØ²ÙÙ ØšØ¹Ø¶ Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø­ÙÙ Ø§ÙÙ
+Ø²ÙØ¯Ø Ù ÙØ­Øµ Ø§ÙØ¥ØªØµØ§Ù Ø§ÙØ°Ù ÙÙ
+ÙÙ Ø£Ù ÙÙÙÙ
+
+#********************
+#
+#***** EnrichPane *****
+EnrichPane.AutoMessage:ÙØ°Ø§ Ø§ÙØ¹ÙØµØ± , {0}, ÙÙØªÙ
+Ù ÙÙ
+Ø¹ÙØ§Ø± ÙØ±ÙÙØ³ØªÙÙ ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª. ÙØ°Ø§ Ø§ÙÙ
+Ø¹ÙØ§Ø± ÙÙ
+Ø«Ù  ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø³ØªØ®Ø±Ø¬Ø© Ø¢ÙÙØ§. ÙÙØ­Øµ Ø£Ù  {0} ÙØ§ØµØ§ÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙ
+ÙÙ Ø¥Ø³ØªØ®Ø±Ø§Ø¬ÙØ§ Ø£ØšÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšØ¥Ø³ØªØ®Ø¯Ø§Ù
+  'Ø¥ÙØŽØ§Ø¡' .
+EnrichPane.ExistingValues:Ø§ÙÙÙÙ
+ Ø§ÙÙ
+ÙØ¬ÙØ¯Ø©
+EnrichPane.InheritedMetadataSelected:Ø§ÙÙÙÙ
+ Ø§ÙÙ
+Ø¶Ù
+ÙØ© Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©
+EnrichPane.InheritedMetadata_Tooltip:Ø§ÙÙÙÙ
+ Ø§ÙÙ
+Ø¶Ù
+ÙØ©
+EnrichPane.ManageMetadataSets:Ø¥Ø¯Ø§Ø±Ø© Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª
+EnrichPane.ManageMetadataSets_Tooltip:Ø¥Ø¯Ø§Ø±Ø© Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª
+EnrichPane.No_File:ÙÙ
+ ÙØªÙ
+ Ø¥Ø®ØªÙØ§Ø± Ù
+ÙÙ
+EnrichPane.No_Metadata:ÙØ§ ÙÙØ¬Ø¯ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+ØªÙÙØ±
+EnrichPane.No_Metadata_Element:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>ÙÙ
+ ÙØªÙ
+ Ø¥Ø®ØªÙØ§Ø± Ø¹ÙØµØ± Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª</FONT></STRONG></HTML>
+EnrichPane.NotOneFileOnlyMetadataSelected:ÙØ§ ÙÙ
+ÙÙ ØªØ­Ø¯ÙØ« ÙØ§ØµÙØ© Ø§ÙØšÙØ§ÙØ§Øª ÙØ°Ù ÙØ§ÙÙØ§ ÙØ§ ØªÙØ·ØšÙ Ø¹ÙÙ ÙØ°Ø§ Ø§ÙÙ
+ÙÙ ÙØ­Ø¯Ù.
+EnrichPane.Value_Field_Tooltip:ÙÙÙ
+Ø© ÙØªØ¹ÙÙÙØ§ ÙØ¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±
+EnrichPane.Value_Field_Tooltip_Uneditable:Ø§ÙÙÙÙ
+Ø© Ø§ÙØªÙ Ø¹ÙÙØª ÙØ¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±
+#***********************
+#
+#****** ExplodeMetadataPrompt *******
+ExplodeMetadataPrompt.Explode:ØªØ¬Ø²ØŠØ©
+ExplodeMetadataPrompt.Explode_Tooltip:ØªØ¬Ø²ØŠØ© Ù
+ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª
+ExplodeMetadataPrompt.Instructions:ØªØ¬Ø²ØŠØ© Ù
+ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙØ°Ø§ Ø³ÙÙ ÙÙØªØ¬ ØªØ³Ø¬ÙÙØ§Øª ÙØ±Ø¹ÙØ© ØšÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙØ§ØšÙØ© ÙÙØªØ¹Ø¯ÙÙ.ÙØ°Ø§ Ø¥Ø¬Ø±Ø§Ø¡ ØºÙØ± Ù
+Ø¹ÙÙØ³ Ù Ø³ÙÙ ÙØªÙ
+ Ø­Ø°Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØ£ØµÙÙØ© Ù
+Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.
+ExplodeMetadataPrompt.Failed_Title:ØªØ¬Ø²ØŠØ© .
+ExplodeMetadataPrompt.Failed_Explode:ÙÙ
+ ØªØªÙ
+ ØªØ¬Ø²ØŠØ© ÙØ§Ø¹Ø¯Ø© Ø§ÙØšÙØ§ÙØ§Øª {0} .
+ExplodeMetadataPrompt.NotExplodable:ÙØ°Ø§ Ø§ÙÙ
+ÙÙ ØºÙØ± ÙØ§ØšÙ ÙÙØªØ¬Ø²ØŠØ©.
+ExplodeMetadataPrompt.Successful_Explode:ØªÙ
+Øª Ø§ÙØªØ¬Ø²ØŠØ© ØšÙØ¬Ø§Ø­ ÙÙØ§Ø¹Ø¯Ø© Ø§ÙØšÙØ§ÙØ§Øª {0}
+ExplodeMetadataPrompt.Successful_Title:Ø¥ÙØªÙ
+ÙØª Ø§ÙØªØ¬Ø²ØŠØ©.
+ExplodeMetadataPrompt.Title:ØªØ¬Ø²ØŠØ© ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙØ§Ø¹Ø¯Ø© ØšÙØ§ÙØ§Øª
+ExplodeMetadataPrompt.Plugin:Ø§ÙÙ
+ÙØ§ØšØ³ Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ ÙÙØªØ¬Ø²ØŠØ©
+#***********************
+#
+#****** ReplaceSrcWithHTMLPrompt *******
+ReplaceSrcWithHTMLPrompt.ReplaceSrc:Ø§Ø³ØªØšØ¯Ù ØšÙÙØ³Ø®Ø© HTML .  
+ReplaceSrcWithHTMLPrompt.ReplaceSrc_Tooltip:Ø¥Ø³ØªØšØ¯Ù Ù
+ØµØ¯Ø± ÙØ°Ù Ø§ÙÙØ«ÙÙØ© ØšÙØ³Ø® HTML ÙÙ
+ÙÙ ØªÙÙÙØ¯ÙØ§ ØšÙ Greenstone .  
+ReplaceSrcWithHTMLPrompt.Instructions:Ø¥Ø³ØªØšØ¯Ø§Ù ÙØ«ÙÙØ© ØšÙØ³Ø®ØªÙØ§ Ø§ÙÙ
+ÙÙØ¯Ø© Øš Html Ø³ÙÙ ÙØªÙØ­ ÙÙ ØªØ­Ø¯ÙØ« Ù
+ÙÙ Html Ù Ø¥Ø¹Ø§Ø¯Ø© ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙ Ø§ÙÙ
+Ø³ØªÙØšÙ ØšÙÙØ§Ø· Ø§ÙØªÙØ§Ø¹Ù ÙØ°Ù.ÙØ¹ØªØšØ± ÙØ°Ø§ Ø§ÙØ¥Ø¬Ø±Ø§Ø¡ ØºÙØ± Ù
+Ø±Ø¯ÙØ¯ Ù Ø³ÙÙ ÙØªÙ
+ Ø¥Ø³ØªØšØ¯Ø§Ù Ø§ÙÙØ«ÙÙØ© Ø§ÙØ£ØµÙÙØ© Ù Ø­Ø°ÙÙØ§ Ù
+Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.  
+ReplaceSrcWithHTMLPrompt.Failed_Title:ÙØŽÙ Ø§ÙØ¥Ø³ØªØšØ¯Ø§Ù Øš  HTML .  
+ReplaceSrcWithHTMLPrompt.Failed_ReplaceSrc:ÙÙ
+ ÙØªÙ
+ Ø¥Ø³ØªØšØ¯Ø§Ù Ø§ÙÙØ«ÙÙØ©{0} ØšÙØ³Ø®Ø© HTML .  
+ReplaceSrcWithHTMLPrompt.NotSrcReplaceable:Ù
+ÙÙ Ù
+Ù ÙØ°Ø§ Ø§ÙÙÙØ¹ ÙØ§ ÙÙ
+ÙÙ Ø¥Ø³ØªØšØ¯Ø§ÙÙ ØšÙ  HTML .  
+ReplaceSrcWithHTMLPrompt.Successful_ReplaceSrc:ØªÙ
+ Ø¥Ø³ØªØšØ¯Ø§Ù ÙÙ Ø§ÙÙØ«Ø§ØŠÙ ØšÙØ³Ø® HTML ØšÙØ¬Ø§Ø­.  
+ReplaceSrcWithHTMLPrompt.Successful_Title:Ø§ÙØªÙ
+Ù Ø§ÙØ¥Ø³ØªØšØ¯Ø§Ù ØšÙØ³Ø® HTML Ù
+ÙÙØ¯Ù.  
+ReplaceSrcWithHTMLPrompt.Title:Ø¥Ø³ØªØšØ¯Ù Ù
+ØµØ¯Ø± Ø§ÙÙØ«Ø§ØŠÙ ØšÙ
+ÙÙØ§Øª HTML .  
+ReplaceSrcWithHTMLPrompt.Plugin:Ø§ÙÙ
+ÙØ§ØšØ³ Ø§ÙØ°Ù ÙØ³ØªØ®Ø¯Ù
+ ÙÙØªØ¬Ø²ØŠØ©.  
+#***********************
+#
+#****** WriteCDImagePrompt *******
+WriteCDImagePrompt.CD_Name:CD/DVD Ø¥Ø³Ù
+
+WriteCDImagePrompt.Export:ØªØµØ¯ÙØ± CD/DVD
+WriteCDImagePrompt.Export_Tooltip:ØªØµØ¯ÙØ± Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© ÙÙØ±Øµ Ø¹ÙÙ Ù
+ÙØµØ©  ØšØ±Ø§Ù
+Ø¬ Ø§ÙÙÙØ§ÙØ°
+WriteCDImagePrompt.Failed_Export:ÙÙ
+ ÙØªÙ
+ ØªØµØ¯ÙØ± Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ({0}) .
+WriteCDImagePrompt.Failed_Title:ÙØŽÙ Ø§ÙØªØµØ¯ÙØ±
+WriteCDImagePrompt.Install:CD/DVD Ø³ÙÙ ÙØ«ØšØª ØšØ¹Ø¶ Ø§ÙÙ
+ÙÙØ§Øª Ø¹ÙØ¯ Ø§ÙØ¥Ø³ØªØ®Ø¯Ø§Ù
+ (Ø£Ø³Ø±Ø¹)
+WriteCDImagePrompt.Install_Tooltip:ÙÙØªØ¬  CD-ROM Ø°Ø§ØªÙ Ø§ÙØªØ«ØšÙØª ÙØ«ØšÙØª Ù
+Ø²ÙØ¯ Ø§ÙÙ
+ÙØªØšØ©  (Ù Ø¥Ø®ØªÙØ§Ø±ÙØ§ ÙÙ Ù
+ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©) ÙÙ Ø§ÙØ¬ÙØ§Ø² Ø§ÙÙ
+Ø¶ÙÙ
+WriteCDImagePrompt.NoInstall:CD/DVD ÙÙ ÙØ«ØšØª Ø£Ù Ù
+ÙÙØ§Øª Ø¹ÙØ¯ Ø§ÙØ¥Ø³ØªØ®Ø¯Ø§Ù
+
+WriteCDImagePrompt.NoInstall_Tooltip:ÙØªÙ
+ ØªØŽØºÙÙ Ø§ÙÙ
+ÙØªØšØ© Ù
+ØšØ§ØŽØ±Ø© Ù
+Ù Ø§ÙÙØ±Øµ ØšØ¯ÙÙ ØªØ«ØšÙØª Ø§Ù ØŽÙÙ ÙÙ Ø§ÙØ¬ÙØ§Ø² Ø§ÙÙ
+Ø¶ÙÙ
+WriteCDImagePrompt.Instructions:ØªØµØ¯ÙØ± Ù
+Ø¬Ù
+ÙØ¹Ø© Ø£Ù Ø£ÙØ«Ø± ÙÙØ±Øµ ØªØŽØºÙÙ Ø°Ø§ØªÙ Ø¹ÙÙ Ù
+ÙØµØ© (ØšØ§ÙØ±ØºÙ
+ Ù
+Ù Ø¥ØªØ§Ø­Ø© Ø§ÙØªØµØ¯ÙØ± Ø¹ÙÙ Ø£ÙØ«Ø± Ù
+Ù Ù
+ÙØµØ©, Ø¥ÙØ§ Ø§Ù ÙØ°Ø§ Ø§ÙÙØ±Øµ ÙØªÙ
+ ØªØŽØºÙÙÙ ÙÙØ· Ù
+Ù Ù
+ÙØµØ© ØšØ±Ø§Ù
+Ø¬ Ø§ÙÙÙØ§ÙØ°).
+WriteCDImagePrompt.Progress_Label:ÙØ³Ø® Ù
+ÙÙØ§Øª. ÙØ¯ ÙØ³ØªØºØ±Ù ÙØ°Ø§ ÙÙØªØ§...
+WriteCDImagePrompt.Size_Label:Ø§ÙØ­Ø¬Ù
+ Ø§ÙÙ
+ØªÙÙØ¹:
+WriteCDImagePrompt.Successful_Export:ØªÙ
+ ØªØµØ¯ÙØ± Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª ({0})
+WriteCDImagePrompt.Successful_Title:Ø¥ÙØªÙ
+ÙØª Ø¥Ø¬Ø±Ø§Ø¡Ø§Øª Ø§ÙØªØµØ¯ÙØ±
+WriteCDImagePrompt.Title:ØªØµØ¯ÙØ± Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ CD/DVD
+#************************
+#
+#****** ExportAsPrompt *******
+ExportAsPrompt.Export_Name:Ø¥Ø³Ù
+ Ø¯ÙÙÙ Ø§ÙØªØµØ¯ÙØ±
+ExportAsPrompt.Export_Name_Tooltip:Ø¥Ø³Ù
+ Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ°Ù Ø³ÙÙ ØªØ­ÙØž ÙÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ
+ØµØ¯Ø±Ø© ÙÙ Ù
+Ø³Ø§Ø±Greenstone tmp  
+ExportAsPrompt.Export:ØªØµØ¯ÙØ± Ù
+Ø¬Ù
+ÙØ¹Ø©.  
+ExportAsPrompt.Export_Tooltip:ØªØµØ¯ÙØ± Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© ÙÙ ØŽÙÙ Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+Ø®ØªØ§Ø± Ø§ÙÙ Ø§ÙÙ
+Ø³Ø§Ø±  Ø§ÙÙ
+Ø­Ø¯Ø¯.  
+ExportAsPrompt.Failed_ExportOne:ÙÙ
+ ÙØªÙ
+ ØªØµØ¯ÙØ± Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©, {0},ÙÙ
+ ÙØªÙ
+ ØªØµØ¯ÙØ± Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©, {0},  
+ExportAsPrompt.Failed_Details:Ø§ÙØžØ± {1} ÙÙØªÙØ§ØµÙÙ
+ExportAsPrompt.Failed_Title:ÙØŽÙ Ø§ÙØªØµØ¯ÙØ±
+ExportAsPrompt.Instructions:ØªØµØ¯ÙØ± Ù
+ÙÙØ§Øª ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© ÙÙ ØŽÙÙ Ø¢Ø®Ø±.  
+ExportAsPrompt.Progress_Label:ØªØµØ¯ÙØ± Ù
+ÙÙØ§Øª. ÙØ¯ ÙØ³ØªØºØ±Ù ÙØ°Ø§ ÙÙØªØ§...
+ExportAsPrompt.Successful_ExportOne:ØªÙ
+ ØªØµØ¯ÙØ± Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©, {0},  
+ExportAsPrompt.Successful_Details:Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+ØµØ¯Ø±Ø© Ø¥ÙÙ: {1}
+ExportAsPrompt.Successful_Title:Ø¥ÙØªÙ
+ÙØª Ø¥Ø¬Ø±Ø§Ø¡Ø§Øª Ø§ÙØªØµØ¯ÙØ±
+ExportAsPrompt.Title:ØªØµØ¯ÙØ± Ù
+Ø¬Ù
+ÙØ¹Ø©.  
+ExportAsPrompt.SaveAs:ØªØµØ¯ÙØ± Ø¥ÙÙ
+ExportAsPrompt.SaveAs_Tooltip:Ø¥Ø®ØªØ± Ø§ÙÙØ³Ù Ø§ÙØ°Ù ØªÙØ¯ Ø§ÙØªØµØ¯ÙØ± Ø¥ÙÙÙ
+ExportAsPrompt.Cancel:Ø¥ÙØºØ§Ø¡
+ExportAsPrompt.Cancel_Tooltip:Ø¥ÙØºØ§Ø¡ Ø¥Ø¬Ø±Ø§Ø¡ Ø§ÙØªØµØ¯ÙØ±
+ExportAsPrompt.Browse:ØªØµÙØ­
+ExportAsPrompt.Browse_Tooltip:Ø¥Ø®ØªÙØ§Ø± Ù
+ÙÙ xsl
+ExportAsPrompt.ApplyXSL:ØªØ·ØšÙÙ Ù
+ÙÙ  XSL Ø¥ÙÙ {0}
+ExportAsPrompt.ApplyXSL_Tooltip:Ø¥Ø³ØªØ®Ø¯Ø§Ù
+ Ù
+ÙÙ  xsl ÙØªØ­ÙÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+ØµØ¯Ø±Ø©.
+ExportAsPrompt.MARCXMLGroup:Ù
+Ø¬Ù
+ÙØ¹Ø© ØªØ³Ø¬ÙÙØ§Øª Ù
+Ø§Ø±Ù
+ExportAsPrompt.MARCXMLGroup_Tooltip:ØªØµØ¯ÙØ± ØªØ³Ø¬ÙÙØ§Øª Ù
+Ø§Ø±Ù ÙÙ Ù
+ÙÙ ÙØ§Ø­Ø¯.
+ExportAsPrompt.MappingXML:ØªØ·ØšÙÙ Ø§ÙÙ
+ÙÙ Ø§ÙØªØ®Ø·ÙØ·Ù
+ExportAsPrompt.MappingXML_Tooltip:Ø¥Ø³ØªØ®Ø¯Ù
+ Ø§ÙÙ
+ÙÙ Ø§ÙØªØ®Ø·ÙØ·Ù ÙØªØ­ÙÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+ØµØ¯Ø±Ø©
+#
+#***** Inherited Metadata *****
+ExtractedMetadata.Message:Ø§ÙÙ
+ÙÙ Ø£Ù Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙÙ
+Ø®ØªØ§Ø± ÙØªØ¶Ù
+Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ØÙÙÙÙÙØ§ Ù
+Ø®ÙÙØ© Ø­Ø§ÙÙØ§.ÙØ¹Ø±Ø¶ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙØªÙ
+ Ø¥Ø®ØªÙØ§Ø± ÙØ§ØŠÙ
+Ø© 'Ù
+ÙÙ' Ø«Ù
+ Ø¥Ø®ØªÙØ§Ø± 'ØªÙØ¶ÙÙØ§Øª' Ø«Ù
+ Ø¥Ø®ØªÙØ§Ø± 'Ø¹Ø§Ù
+' Ø«Ù
+ Ø¥Ø®ØªÙØ§Ø± 'Ø¹Ø±Ø¶ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø³ØªØ®Ø±Ø¬Ø©' Ù Ø§ÙÙÙØ± Ø¹ÙÙ "[O]k"  
+ExtractedMetadata.Title:ÙØ°Ø§ Ø§ÙÙ
+ÙÙ/Ø§ÙÙ
+Ø¬ÙØ¯ ÙØªØ¶Ù
+Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ø®ÙÙØ©
+#
+#***** FileActions *****
+FileActions.Calculating_Size:Ø­Ø³Ø§Øš Ø§ÙØ­Ø¬Ù
+ Ø§ÙÙÙÙ ÙÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©
+FileActions.Copying:ÙØ³Ø® {0}
+FileActions.Could_Not_Delete:ÙØ§ ÙÙ
+ÙÙ Ø¥ÙØºØ§Ø€Ù
+FileActions.Cyclic_Path:ÙØ§ ÙÙ
+ÙÙ ÙØ³Ø®{0}:Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙÙØ¯Ù ÙÙ Ù
+Ø¬ÙØ¯ ÙØ±Ø¹Ù ÙÙ Ù
+Ø¬ÙØ¯ Ø§ÙÙ
+ØµØ¯Ø±  
+FileActions.Deleting:Ø¥ÙØºØ§Ø¡ {0}
+FileActions.Directories_Selected:{0} Ù
+Ø¬ÙØ¯Ø§Øª Ù
+Ø®ØªØ§Ø±Ø©
+FileActions.Directory_Selected:1 Ù
+Ø¬ÙØ¯ Ù
+Ø®ØªØ§Ø±
+FileActions.File_Already_Exists_No_Create:Ø§ÙÙ
+ÙÙ '{0}' Ù
+ÙØ¬ÙØ¯ Ù
+Ù ÙØšÙ.
+FileActions.File_And_Directories_Selected:1 Ù
+ÙÙ Ù {0} Ù
+Ø¬ÙØ¯Ø§Øª Ù
+Ø®ØªØ§Ø±Ø©
+FileActions.File_And_Directory_Selected:1 Ù
+ÙÙ Ù {0} Ù
+Ø¬ÙØ¯ Ù
+Ø®ØªØ§Ø±
+FileActions.File_Create_Error:ÙØ§ ÙÙ
+ÙÙ Ø¥ÙØŽØ§Ø¡ Ø§ÙÙ
+ÙÙ {0}
+FileActions.Folder_Create_Error:ÙØ§ ÙÙ
+ÙÙ Ø¥ÙØŽØ§Ø¡ Ø§ÙÙ
+Ø¬ÙØ¯ {0} .
+FileActions.File_Exists:<html>{0} Ù
+ÙØ¬ÙØ¯ Ù
+Ù ÙØšÙ ÙÙ Ø§ÙÙ
+ÙÙ Ø§ÙÙØ¯Ù. ÙÙ ØªÙØ¯ Ø§ÙÙØªØ§ØšØ© ÙÙÙÙ?</html>
+FileActions.File_Move_Error_Message:ÙØ§ ÙÙ
+ÙÙ ØªØ­Ø±ÙÙ {0} Ø¥ÙÙ\n{1}.
+FileActions.File_Not_Deleted_Message:{0}\nÙØ§ ÙÙ
+ÙÙ Ø¥ÙØºØ§Ø¡ Ø§ÙÙ
+ÙÙ ØšØ§ÙØ¥Ø³Ù
+ Ø£Ø¹ÙØ§Ù. \nØ§ÙØ±Ø¬Ø§Ø¡ ÙØ­Øµ Ø¥Ø°Ø§ Ù
+Ø§ ÙØ§Ù ÙØ°Ø§ Ø§ÙÙ
+ÙÙ Ù
+ÙØªÙØ­Ø§ Ù
+Ù ÙØšÙ\nØšØ±ÙØ§Ù
+Ø¬ Ø®Ø§Ø±Ø¬Ù. Ø«Ù
+ Ø­Ø§ÙÙ Ù
+Ø±Ø© Ø£Ø®Ø±Ù.
+FileActions.File_Not_Found_Message:{0}\nÙÙ
+ ÙØªÙ
+ Ø§ÙØ¹Ø«ÙØ± Ø¹ÙÙ Ø§ÙÙ
+ÙÙ ØšØ§ÙØ§Ø³Ù
+ Ø£Ø¹ÙØ§Ù. Ø¥Ø°Ø§ ØªÙ
+ Ø¥ÙØ¹Ø§ØŽ \nØ¹Ø±Ø¶ Ø§ÙÙ
+ÙÙ, Ø§ÙØ±Ø¬Ø§Ø¡ ÙØ­Øµ ÙØ¬ÙØ¯ Ø§ÙÙ
+ÙÙ.
+FileActions.File_Selected:1 Ù
+ÙÙ Ù
+Ø®ØªØ§Ø±
+FileActions.Files_And_Directory_Selected:{0} Ù
+ÙÙØ§Øª Ù 1 Ù
+Ø¬ÙØ¯ Ù
+Ø®ØªØ§Ø±
+FileActions.Files_Selected:{0} Ù
+ÙÙØ§Øª Ù
+Ø®ØªØ§Ø±Ø©
+FileActions.Folder_Already_Exists:Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙÙ
+Ø³Ù
+Ù  '{0}' ÙÙØ¯ Ø§ÙØ¥Ø³ØªØ®Ø¯Ø§Ù
+.ÙØ§ ÙÙ
+ÙÙ Ø¥ÙØŽØ§Ø¡ Ù
+Ø¬ÙØ¯.
+FileActions.Insufficient_Space_Message:ÙØŽÙ Ø§ÙØ¥Ø¬Ø±Ø§Ø¡ Ø§ÙÙ
+Ø·ÙÙØš ÙØ¹Ø¯Ù
+ ÙØ¬ÙØ¯ \nÙ
+Ø³Ø§Ø­Ø© ÙØ§ÙÙØ© ØšØ§ÙÙØ±Øµ. ÙÙØ³Ø® Ø§ÙÙ
+ÙÙ ØšÙØ¬Ø§Ø­ Ø³ÙÙ ØªØ­ØªØ§Ø¬ Ø§ÙÙ Ù
+Ø³Ø§Ø­Ø© \nØ¥Ø¶Ø§ÙÙØ©: {0}
+FileActions.Moving:ØªØ­Ø±ÙÙ {0}
+FileActions.No_Activity:ÙØ§ ÙÙØ¬Ø¯ Ø¥Ø¬Ø±Ø§Ø¡ Ù
+Ø·ÙÙØš
+FileActions.Read_Not_Permitted_Message:ÙØ§ ÙÙ
+ÙÙ ÙØ±Ø§Ø¡Ø© {0}.
+FileActions.Read_Only:Ø§ÙÙ
+ÙÙØ§Øª ÙÙ Ù
+Ø³Ø§Ø­Ø© Ø§ÙØ¹Ù
+Ù ØšØ®Ø§ØµÙØ© ÙØ±Ø§Ø¡Ø© ÙÙØ· Ù ÙØ§ ÙÙ
+ÙÙ Ø¥ÙØºØ§Ø€ÙØ§.
+FileActions.Replacing:Ø¥Ø³ØªØšØ¯Ø§Ù
+FileActions.Selected:{0} Ø§ÙÙ
+ÙÙØ§Øª Ù  {1} Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©
+FileActions.Unknown_File_Error_Message:ØšØ§ÙØ±ØºÙ
+ Ù
+Ù Ø¹Ø¯Ù
+ ÙØ¬ÙØ¯ ØªÙØ±ÙØ± Ø®ÙØ§Ù \nØ¥Ø¬Ø±Ø§Ø¡ Ø§ÙÙ
+ÙÙ. Ø¥ÙØ§ Ø§Ù Ø§ÙÙØ­Øµ Ø§ÙÙÙØ§ØŠÙ Ø£ØžÙØ± Ø§Ù Ø§ÙÙØ³Ø®Ø© Ø§ÙÙØ¯Ù \nØºÙØ± Ù
+ØªÙ
+Ø§Ø«ÙØ© Ù
+Ø¹ Ø§ÙÙØ³Ø®Ø© Ø§ÙÙ
+ØµØ¯Ø±. Ø§ÙØ³ØšØš\nÙÙ ÙØ°Ø§ Ø§ÙØ£Ù
+Ø± ØºÙØ± Ù
+Ø¹Ø±ÙÙ. Ø§ÙØ±Ø¬Ø§Ø¡ ÙØ­Øµ Ø§ÙÙ
+ÙÙ Ù ØªØ¹Ø¯ÙÙ\nØªÙØ¶ÙØš JVM.
+FileActions.Write_Not_Permitted_Message:ÙØ§ ÙÙ
+ÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ Ø§ÙØ£Ø°Ù ØšØ§ÙÙØªØ§ØšØ© Ø§ÙÙ\n{0}\nØ§ÙØ±Ø¬Ø§Ø¡ Ù
+Ø±Ø§Ø¬Ø¹Ø© Ø£Ø°ÙÙØ§Øª Ø§ÙÙ
+ÙÙ.
+FileActions.Write_Not_Permitted_Title:Ø®Ø·Ø£ - Ø£Ø°ÙÙØ§Øª Ù
+ÙÙ ØºÙØ± ØµØ­ÙØ­Ø©
+FileActions.Yes_To_All:ÙØ¹Ù
+ ÙÙÙÙ
+FileActions.File_Permission_Detail:\n\nÙ
+ÙØ§Ø­ØžØ© : ØšØµÙØ© Ø¹Ø§Ù
+Ø© Ø ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ÙÙ ØšØ±ÙØ§Ù
+Ø¬ Greenstone ØªØ­ØªØ§Ø¬ Ø¥ÙÙ Ø¥Ø°Ù ÙÙØ³Ù
+Ø§Ø­ ØšØ§ÙÙØªØ§ØšØ© ÙÙ Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ£Ø³Ø§Ø³ÙØ \nwhich ÙÙÙÙ {0}. \nPlease ØªÙ
+ÙÙ Ù
+Ù ØªØ­ÙÙ
+ ÙØ§Ù
+Ù ÙÙ ÙØ°Ø§ Ø§ÙÙ
+Ø¬ÙØ¯ (ÙÙÙ Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª Ø§ÙÙØ±Ø¹ÙØ© Ù
+ÙÙ) ÙÙÙ
+Ø³ØªØ®Ø¯Ù
+ Ø§ÙØ­Ø§ÙÙ ({1}) Ø«Ù
+ Ø­Ø§ÙÙ Ù
+Ø±Ø© Ø£Ø®Ø±Ù. \n\n (Ø£Ù ÙÙ
+ ØšØªØ«ØšÙØª ØšØ±ÙØ§Ù
+Ø¬ Greenstone ÙÙ Ù
+ÙØ§Ù ÙÙÙÙ ÙÙ ÙØ§Ù
+Ù Ø§ÙØªØ­ÙÙ
+ Ø¹ÙÙÙ Ù
+Ù Ø§ÙØ£Ø³Ø§Ø³Ø \n Ù
+Ø«Ù Ù
+Ø¬ÙØ¯ "My Documents".)  
+
+#************************
+#
+#******* File Associations dialog **********
+FileAssociationDialog.Add:Ø¥Ø¶Ø§ÙØ©
+FileAssociationDialog.Add_Tooltip:Ø§Ø³ØªØ®Ø¯Ù
+ ÙØ°Ø§ Ø§ÙØªØ·ØšÙÙ ÙØ¹Ø±Ø¶ Ù
+ÙÙØ§Øª Ù
+Ù ÙØ°Ø§ Ø§ÙÙÙØ¹
+FileAssociationDialog.Batch_File:Ù
+ÙÙØ§Øª ØªÙÙÙØ°
+FileAssociationDialog.Browse:ØªØµÙØ­
+FileAssociationDialog.Browse_Tooltip:Ø¥Ø®ØªÙØ§Ø± Ø§ÙØªØ·ØšÙÙ ÙÙØ¥Ø³ØªØ®Ø¯Ø§Ù
+ Ù
+Ù Ù
+Ø³Ø§Ø­Ø© Ø§ÙØ¹Ù
+Ù
+FileAssociationDialog.Browse_Tooltip_Mac:ØªØµÙØ­ ØªØ·ØšÙÙ Ø§ÙØ¹Ù
+Ù ØºÙØ± Ù
+ØªØ§Ø­ Ø­Ø§ÙÙØ§ Ù MacOS
+FileAssociationDialog.Browse_Title:Ø¥Ø®ØªÙØ§Ø± ØªØ·ØšÙÙ
+FileAssociationDialog.Close:ØºÙÙ
+FileAssociationDialog.Close_Tooltip:ØºÙÙ Ø§ÙØ­ÙØ§Ø± Ù Ø§ÙØ±Ø¬ÙØ¹ ÙÙÙØ§ØŠÙ
+Ø© Ø§ÙØ±ØŠÙØ³Ø©
+FileAssociationDialog.Command:Ø¥Ø·ÙØ§Ù Ø£Ù
+Ø±:
+FileAssociationDialog.Command_File:Ù
+ÙÙØ§Øª Ø£Ù
+Ø±
+FileAssociationDialog.Command_Tooltip:Ø¥Ø¯Ø®Ù Ø§ÙØ£Ù
+Ø± ÙØ¥Ø·ÙØ§Ù Ø§ÙØªØ·ØšÙÙ ÙÙØ¥Ø³ØªØ®Ø¯Ø§Ù
+
+FileAssociationDialog.Details:ØªÙØ§ØµÙÙ Ø¥Ù
+ØªØ¯Ø§Ø¯ Ø§ÙÙ
+ÙÙ Ø§ÙØ¬Ø¯ÙØ¯
+FileAssociationDialog.Executable_File:Ù
+ÙÙØ§Øª Ø§ÙØªÙÙÙØ°
+FileAssociationDialog.Extension:ÙÙÙØ§ÙØ© Ø§ÙÙ
+ÙÙ:
+FileAssociationDialog.Extension_Tooltip:Ø¹Ø±Ø¶ Ø¥Ù
+ØªØ¯Ø§Ø¯Ø§Øª Ø§ÙÙ
+ÙÙØ§Øª
+FileAssociationDialog.Instructions:Ø§Ø³ØªØ®Ø¯Ù
+ ÙØ°Ø§ Ø§ÙÙ
+Ø±ØšØ¹ ÙØªØ­Ø¯ÙØ¯ Ø§ÙØšØ±Ø§Ù
+Ø¬ Ø§ÙØ®Ø§Ø±Ø¬ÙØ© Ø§ÙØªÙ ØªØ¹Ø±Ø¶ Ø§ÙÙØ§Ø¹ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+Ø­Ø¯Ø¯Ø©, Ù ØªØ­Ø¯ÙØ¯ Ø§ÙØ§Ù
+Ø± Ø§ÙØ°Ù ÙØ±Ø³Ù ÙØ§Ø·ÙØ§Ù ÙØ°Ø§ Ø§ÙØšØ±ÙØ§Ù
+Ø¬.\nÙØ§Ø¶Ø§ÙØ© ÙÙØ¹ Ù
+ÙÙ Ø¬Ø¯ÙØ¯ , Ø¥Ø·ØšØ¹ Ø§Ù
+ØªØ¯Ø§Ø¯ Ø§ÙÙ
+ÙÙ ÙÙ  'Ø¥Ù
+ØªØ¯Ø§Ø¯ Ù
+ÙÙ'. ÙØ§Ø¶Ø§ÙØ© Ø§Ù ØªØ¹Ø¯ÙÙ Ø£Ù
+Ø± Ø§Ø·ÙØ§ÙØ Ø§Ø·ØšØ¹ Ø§ÙØ§Ù
+Ø± Ø§ÙØ¬Ø¯ÙØ¯ ÙÙ 'Ø£Ù
+Ø± Ø§Ø·ÙØ§Ù' Ø§Ù Ø§ÙÙÙØ± Ø¹ÙÙ  'ØªØµÙØ­' ÙÙØšØ­Ø« Ø¹Ù Ù
+ÙÙ Ø§ÙÙØžØ§Ù
+ Ø§ÙÙ
+ÙØ§Ø³Øš ÙÙØšØ±ÙØ§Ù
+Ø¬. Ø§Ø³ØªØ®Ø¯Ù
+ Ø§ÙØ³ÙØ³ÙØ© Ø§ÙØ®Ø§ØµØ© '%1' Ù
+ÙÙØ¹ Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+Ø±Ø§Ø¯ ÙØªØ­Ù Ù Ø§ÙØ°Ù ÙØ¬Øš Ø§Ù ÙØ­ØŽØ± Ù
+Ø«Ù. "C:\\Windows\\System\\MSPaint.exe %1". '%1' ØªÙØ¶Ø¹ Ø¯Ø§ØŠÙ
+Ø§ ÙÙ ÙÙØ§ÙØ© Ø§ÙØ£Ù
+Ø± Ù
+Ø§ÙÙ
+ ÙØ­Ø¯Ø¯ ØºÙØ± Ø°ÙÙ.\nÙ
+Ø³ØªØ®Ø¯Ù
+Ù MacOS Ø¹ÙÙÙÙ
+ Ø¯Ø§ØŠÙ
+Ø§ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙØ§Ù
+Ø± mac Ø§ÙÙ
+Ø­Ø¯Ø¯Ø© "ÙØªØ­ [-a <application_name>] %1" Ø§ÙÙØ§.
+FileAssociationDialog.Table.Command:Ø£Ù
+Ø±
+FileAssociationDialog.Table.Extension:Ø¥Ù
+ØªØ¯Ø§Ø¯
+FileAssociationDialog.Title:ØªØ­Ø¯ÙØ« Ø¥Ù
+ØªØ¯Ø§Ø¯ Ù
+ÙÙ
+FileAssociationDialog.Remove:Ø­Ø°Ù
+FileAssociationDialog.Remove_Tooltip:Ø­Ø°Ù Ø¥Ù
+ØªØ¯Ø§Ø¯Ø§Øª Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© Ù
+Ù Ø¥Ù
+ØªØ¯Ø§Ø¯Ø§Øª Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙØ­Ø§ÙÙØ©
+FileAssociationDialog.Replace:Ø¥Ø³ØªØšØ¯Ø§Ù
+FileAssociationDialog.Replace_Tooltip:Ø¥Ø³ØªØšØ¯Ø§Ù Ø¥Ù
+ØªØ¯Ø§Ø¯Ø§Øª Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙØ­Ø§ÙÙØ© ØšØªÙØ§ØµÙÙ Ø¥Ù
+ØªØ¯Ø§Ø¯Ø§Øª Ø¬Ø¯ÙØ¯Ø©
+#*******************
+#
+#******Filter***************
+Filter.0:HTM & HTML
+Filter.1:XML
+Filter.2:Ù
+ÙÙØ§Øª ÙØµÙØ©
+Filter.3:ØµÙØ±
+Filter.4:PDF  
+Filter.5:ÙØ«Ø§ØŠÙ  Office .  
+Filter.All_Files:ÙÙ Ø§ÙÙ
+ÙÙØ§Øª
+Filter.Filter_Tree:Ø¹Ø±Ø¶ Ø§ÙÙ
+ÙÙØ§Øª
+Filter.Invalid_Pattern:<HTML><FONT FACE={FONT} COLOR=Black>Ø§ÙÙÙ
+Ø· Ø§ÙÙ
+Ø¯Ø®Ù ÙØªØ±ØŽÙØ­ Ø§ÙÙ
+ÙÙØ§Øª ØºÙØ± ØµØ§ÙØ­.<BR>Ø§ÙØ±Ø¬Ø§Ø¡ Ø§ÙÙ
+Ø­Ø§ÙÙØ© Ù
+Ø±Ø© Ø«Ø§ÙÙØ© ØšØ¥Ø³ØªØ®Ø¯Ø§Ù
+ ØµÙØºØ© Ø§ÙØªØ¹ØšÙØ±Ø§Øª Ø§ÙÙ
+ÙØªØžÙ
+Ø© Ù
+Ø¹ <BR>* for the wildcard character.</FONT></HTML>
+#***********************
+#
+#***** GAuthenticator *****
+GAuthenticator.Password:ÙÙÙ
+Ø© Ø§ÙÙ
+Ø±ÙØ±:
+GAuthenticator.Password_Tooltip:Ø¥Ø¯Ø®Ù ÙÙÙ
+Ø© Ø§ÙÙ
+Ø±ÙØ± ÙÙØ§
+GAuthenticator.Title:ÙÙÙ
+Ø© Ø§ÙÙ
+Ø±ÙØ±.
+GAuthenticator.Username:Ø¥Ø³Ù
+ Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+:
+GAuthenticator.Username_Tooltip:Ø¥Ø¯Ø®Ù Ø¥Ø³Ù
+ Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ ÙÙØ§
+#**************************
+#
+#***** General Messages *****
+# 0 - A String representing the name and method of the class in question.
+General.Apply:ØªØ·ØšÙÙ
+General.Apply_Tooltip:ØªØ·ØšÙÙ Ø§ÙØ¥Ø¹Ø¯Ø§Ø¯Ø§Øª Ø§ÙØ­Ø§ÙÙØ© ØšØ¯ÙÙ Ø®Ø±ÙØ¬ Ù
+Ù Ù
+Ø±ØšØ¹ Ø§ÙØ­ÙØ§Ø±
+General.Browse:ØªØµÙØ­...
+General.Cancel:Ø¥ÙØºØ§Ø¡
+General.Cancel_Tooltip:Ø¥ÙØºØ§Ø¡ Ø§ÙØªØ¹Ø¯ÙÙØ§Øª (ÙÙ ÙØªÙ
+ ÙÙØ¶ Ø¢Ù Ø¥Ø¬Ø±Ø§Ø¡ ØªÙ
+ ØªØ·ØšÙÙÙ Ù
+Ù ÙØšÙ)
+General.Close:ØºÙÙ
+General.Close_Tooltip:ØºÙÙ Ù
+Ø±ØšØ¹ Ø§ÙØ­ÙØ§Ø±
+General.Edit:ØªØ¹Ø¯ÙÙ ÙÙÙ
+Ø©
+General.Error:Ø®Ø·Ø£
+General.LLS_Not_Started:ÙÙØ¯ ÙÙ
+Øª ØšØ¥Ø·ÙØ§Ù Ù
+Ø²ÙØ¯ Ø¬Ø±ÙÙØ³ØªÙÙØ Ù ÙÙÙÙ ÙÙ
+ ØªÙÙ
+ ØšØ§ÙØ¶ØºØ· Ø¹ÙÙ Ø²Ø± Ø§ÙÙ
+ÙØªØšØ© ÙÙØ¯Ø®ÙÙ ØšØ¹Ø¯.\nØ¹ÙØ¯Ù
+Ø§ ØªÙÙÙ
+ ØšÙØ°Ø§ Ø§ÙØ¥Ø¬Ø±Ø§Ø¡ ØÙÙ
+ ØšØ§ÙØ¶ØºØ· Ø¹ÙÙ Ø¹Ø±Ø¶ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ Ù
+Ø±Ø© Ø«Ø§ÙÙØ© ÙØ¹Ø±Ø¶ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.  
+General.LLS_Not_Started_Title:ÙÙ
+ ÙØšØ¯Ø£ ØšØ¹Ø¯ Ù
+Ø²ÙØ¯ Ø§ÙÙ
+ÙØªØšØ© Ø§ÙÙ
+Ø­ÙÙ  
+General.No:ÙØ§
+General.NotSunJava:Java vendor: {0}\nÙØ¬Øš Ø§ÙØªÙØšÙ Ø¥ÙÙ Ø£Ù ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ÙØ¯ ØªÙ
+ ØªØ·ÙÙØ±ÙØ§ Ù Ø¥Ø®ØªØšØ§Ø±ÙØ§ ØšÙØ§Ø³Ø·Ø©  Ø¬Ø§ÙØ§ Ù
+Ù  Sun Microsystems.
+General.OK:OK
+General.OK_Tooltip:Ø®Ø±ÙØ¬ ÙØ­ÙØž Ø§ÙØªØ¬ÙÙØ² Ø§ÙØ­Ø§ÙÙ
+General.Outstanding_Processes:<html>ÙÙ ÙØºÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ Ø­ØªÙ ÙØªÙ
+ ØºÙÙ ÙÙ Ø§ÙØšØ±Ø§Ù
+Ø¬ Ø§ÙØ£Ø®Ø±Ù<br>Ø§ÙØªÙ Ø¥ØšØªØ¯Ø£Øª Ù
+Ø¹ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ.</html>
+General.Outstanding_Processes_Title:Ø¥ÙØªØžØ§Ø± Ø§ÙØ®Ø±ÙØ¬
+General.Pure_Cancel_Tooltip:Ø£Ø¬ÙØ¶ ÙØ°Ø§ Ø§ÙØ¥Ø¬Ø±Ø§Ø¡ (Ø­Ø°Ù Ø§ÙØªØ¹Ø¯ÙÙØ§Øª)
+General.Review_Output:Ø§ÙØ±Ø¬Ø§Ø¡ Ø¹Ø±Ø¶ Ø§ÙÙ
+Ø®Ø±Ø¬Ø§Øª Ø£Ø¯ÙØ§Ù:
+General.Redo:Ø¥Ø¹Ø§Ø¯Ø©
+General.Redo_Tooltip:Ø¥Ø³ØªØ¹Ø§Ø¯Ø© Ø§ÙØ¥Ø¬Ø±Ø§Ø¡ Ø§ÙØ£Ø®ÙØ±
+General.Undo:ÙÙØ¶
+General.Undo_Tooltip:ÙÙØ¶ Ø§ÙØªØ­Ø¯ÙØ« Ø§ÙØ£Ø®ÙØ±
+General.Usage:Usage: {0} <params>\nÙÙ Ø§ÙÙ
+Ø€ØŽØ±Ø§Øª Ø¥Ø®ØªÙØ§Ø±ÙØ© ÙÙÙ Ø±ØšÙ
+Ø§ ÙÙØŽÙ ØªØŽØºÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ Ø§Ø°Ø§ ÙÙ
+ ÙØªÙ
+ ØªØ«ØšÙØª  -gsdl Ù Ø§ÙÙ
+ÙØªØšØ©.\n -gsdl <path>  : ØªØ­Ø¯ÙØ¯ Ù
+Ø³Ø§Ø± gsdl\n -Ø±Ø³Ø§ØŠÙ ØªØµØ­ÙØ­ Ø§ÙÙ
+ÙØªØšØ© <path> : Ù
+Ø³Ø§Ø± cgi-bin\n -mozilla <path> : ØªÙ
+ÙÙÙ mozilla\n -mirror : Ø¥ØªØ§Ø­Ø© ØªØ­ÙÙ
+ Ø§ÙÙØš Ø§ÙÙ
+ØªØ·Ø§ØšÙ\n -laf [java|windows|motif|mac] : ØªÙ
+ØžÙØ± Ù Ø¥Ø­Ø³Ø§Ø³\n -ØªØµØ­ÙØ­ : ØªÙ
+ÙÙÙ Ø±Ø³Ø§ØŠÙ Ø§ÙØªØµØ­ÙØ­\n -no_load : ÙØ§ ØªØ­Ù
+Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+ÙØªÙØ­Ø© Ù
+Ù ÙØšÙ\n -load <path> : ØªØ­Ù
+ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+Ø­Ø¯Ø¯Ø©
+General.View:Ø¹Ø±Ø¶ ÙÙÙ
+Ø©
+General.Warning:ØªØ­Ø°ÙØ±
+General.Yes:ÙØ¹Ù
+
+#****************************
+#
+#***** GShell *****
+GShell.BadArgument:Ù
+Ø¶Ù
+ÙÙ  {0} ÙÙØ³ ØµØ§ÙØ­Ø§.
+GShell.BadArgumentValue:Ù
+Ø¶Ù
+ÙÙ  {0} ÙÙØ³ ÙØ¯ÙÙ ÙÙÙ
+Ø© ØµØ§ÙØ­Ø©.
+GShell.BadPluginOptions:Ù
+Ø¶Ù
+ÙÙ ØºÙØ± ØµØ§ÙØ­ ÙÙ Ù
+ÙØ§ØšØ³ {0}.
+GShell.BadClassifierOptions:Ù
+Ø¶Ù
+ÙÙ ØºÙØ± ØµØ§ÙØ­ ÙÙ Ù
+ØµÙÙ {0}.
+GShell.Build.Auxilary:ØšÙØ§Ø¡ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙØ¥Ø¶Ø§ÙÙØ© Ù Ø§ÙØªØ±ØªÙØš...
+GShell.Build.BuildBegun1:************** ØšØ¯Ø§ÙØ© ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© **************
+GShell.Build.BuildCancelled:**************   Ø¥ÙØºØ§Ø¡    **************
+GShell.Build.BuildComplete1:************** ÙÙØ§ÙØ© ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© **************
+GShell.Build.CompressText:Ø¶ØºØ· Ø§ÙÙØµ...
+GShell.Build.Index:ØšÙØ§Ø¡ ÙØŽØ§Ù ÙÙÙØ§ ÙÙ {0-index source and level}...
+GShell.Build.InfoDatabase:ØšÙØ§Ø¡ Ù
+Ø¹ÙÙÙ
+Ø§Øª ÙØ§Ø¹Ø¯Ø© Ø§ÙØšÙØ§ÙØ§Øª...
+GShell.Build.Phind:ØªÙÙÙØ¯ Phind Ù
+ØµÙÙ. ÙØ¯ ÙØ³ØªØºØ±Ù ÙØ°Ø§ ÙÙØªØ§...
+GShell.Schedule.ScheduleBegun1:**************** Ø§ØšØªØ¯Ø£Øª Ø§ÙØ¬Ø¯ÙÙØ© ***************  
+GShell.Schedule.ScheduleComplete1:**************** Ø§ÙØ¬Ø¯ÙÙØ© Ø§ÙØªÙØª *************  
+GShell.Schedule.ScheduleDelete:*********** Ø¥ÙØºØ§Ø¡ Ø¬Ø¯ÙÙØ© Ù
+ÙØ¬ÙØ¯Ø© *****  
+GShell.Command:Ø£Ù
+Ø±
+GShell.Failure:ÙØŽÙØª Ø¥Ø¬Ø±Ø§Ø¡Ø§Øª ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.
+GShell.Import.FileNotProcessed:ÙØ°Ø§ Ø§ÙÙ
+ÙÙ {0-target file path} ØªÙ
+ Ø§ÙØªØ¹Ø±Ù Ø¹ÙÙÙ Ù ÙÙÙ ÙÙ
+ ÙØ³ØªØ·Ø¹ Ø£Ù ÙØ§ØšØ³ Ù
+Ø¹Ø§ÙØ¬ØªÙ.
+GShell.Import.FileNotRecognised:ÙØ°Ø§ Ø§ÙÙ
+ÙÙ {0-target file path} ÙÙ
+ ÙØªÙ
+ Ø§ÙØªØ¹Ø±Ù Ø¹ÙÙÙ ØšÙØ§Ø³Ø·Ø© Ø£Ù Ù
+ÙØ§ØšØ³.
+GShell.Import.FileProcessing:ÙØ°Ø§ Ø§ÙÙ
+ÙÙ {0-target file path} ÙÙØ¯ Ø§ÙÙ
+Ø¹Ø§ÙØ¬Ø© ØšÙØ§Ø³Ø·Ø© {1-plugin name}.
+GShell.Import.FileProcessingError:Ø­Ø¯Ø«Øª Ø£Ø®Ø·Ø§ Ø®ÙØ§Ù Ù
+Ø¹Ø§ÙØ¬Ø© Ø§ÙÙ
+ÙÙ {0-target file path}
+GShell.Import.ImportBegun1:************** ØšØ¯Ø§ÙØ© Ø§ÙØ¥Ø³ØªÙØ±Ø§Ø¯ **************
+GShell.Import.ImportComplete1:************** ÙÙØ§ÙØ© Ø§ÙØ¥Ø³ØªÙØ±Ø§Ø¯ **************
+GShell.Import.ImportComplete2:{0-number documents considered}Ø§ÙÙØ«Ø§ØŠÙ Ø§ÙØªÙ Ø¶Ù
+ÙØª ÙÙØ¥Ø¬Ø±Ø§Ø¡:
+GShell.Import.ImportComplete2.1:1 Ø§ÙÙØ«Ø§ØŠÙ Ø§ÙØªÙ Ø¶Ù
+ÙØª ÙÙØ¥Ø¬Ø±Ø§Ø¡:
+GShell.Import.ImportComplete.Processed:{0-number processed} ÙØ«ÙÙØ© Ø¹ÙÙØ¬Øª ÙØ¶Ù
+ÙØª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.
+GShell.Import.ImportComplete.Processed.1:1 ÙØ«ÙÙØ© Ø¹ÙÙØ¬Øª ÙØ¶Ù
+ÙØª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.
+GShell.Import.ImportComplete.Blocked:{0-number blocked} ØªÙ
+ Ù
+ÙØ¹ÙØ§ ØšÙØ§Ø³Ø·Ø© Ù
+ÙØ§ØšØ³ (Ù
+Ø«Ù Ø§ÙØµÙØ± ÙÙ ØµÙØ­Ø§Øª Ø§ÙØŽØšÙØ©).
+GShell.Import.ImportComplete.Blocked.1:1 ØªÙ
+ Ù
+ÙØ¹ÙØ§ ØšÙØ§Ø³Ø·Ø© Ù
+ÙØ§ØšØ³ (Ù
+Ø«Ù Ø§ÙØµÙØ± ÙÙ ØµÙØ­Ø§Øª Ø§ÙØŽØšÙØ©).
+GShell.Import.ImportComplete.Ignored:{0-number ignored} ÙÙ
+ ÙØªÙ
+ Ø§ÙØªØ¹Ø±Ù Ø¹ÙÙÙØ§.
+GShell.Import.ImportComplete.Ignored.1:1 ÙÙ
+ ÙØªÙ
+ Ø¥Ø¹ØªØšØ§Ø±ÙØ§.
+GShell.Import.ImportComplete.Failed:{0-number failed} ØªÙ
+ Ø±ÙØ¶ÙØ§.
+GShell.Import.ImportComplete.Failed.1:1 ØªÙ
+ Ø±ÙØ¶ÙØ§.
+GShell.Import.ImportComplete3:\n
+GShell.Import.Warning:{0-Ø§Ø³Ù
+ Ù
+ÙØ§ØšØ³} ØªØ­Ø°ÙØ±:  
+GShell.Parsing_Metadata_Complete:Ø¥ÙØªÙ
+Ù Ø¥Ø±ØŽÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø³ØªØ®Ø±Ø¬Ø©.
+GShell.Parsing_Metadata_Start:Ø¥Ø³ØªØ®Ø±Ø§Ø¬ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¬Ø¯ÙØ¯Ø© Ù
+Ù Ù
+ÙØºØ§Øª Ø§ÙØ£Ø±ØŽÙÙ.
+GShell.Success:Ø¥ÙØªÙ
+ÙØª Ø¥Ø¬Ø±Ø§Ø¡Ø§Øª ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© .
+#*********************
+#
+#***** GUI *****
+# Currently Enabled and Disabled display the same text but in different
+# colours. If necessary this can be changed.
+GUI.Create:Ø¥ÙØŽØ§Ø¡
+GUI.Create_Tooltip:ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšØ¥Ø³ØªØ®Ø¯Ø§Ù
+ ÙØ±ÙÙØ³ØªÙÙ
+GUI.Design:ØªØµÙ
+ÙÙ
+
+GUI.Design_Tooltip:ØšÙØ§Ø¡ ÙØžØ§ØŠÙ  Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+GUI.Download:ØªÙØ²ÙÙ
+GUI.Download_Tooltip:ØªÙØ²ÙÙ Ù
+ØµØ§Ø¯Ø± Ù
+Ù Ø§ÙØ¥ÙØªØ±ÙØª ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+GUI.Enrich:Ø¥Ø«Ø±Ø§Ø¡
+GUI.Enrich_Tooltip:ØªØ­Ø¯ÙØ¯  ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙÙ
+ÙÙØ§Øª ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+GUI.Format:ÙØ³Ù Ø¹Ø±Ø¶
+GUI.Format_Tooltip:ØšÙØ§Ø¡ ØªÙ
+ØžÙØ± Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+GUI.Gather:ØªØ¬Ù
+ÙØ¹
+GUI.Gather_Tooltip:Ø¥Ø®ØªÙØ§Ø± Ø§ÙÙ
+ÙÙØ§Øª ÙØªØ¶Ù
+ÙÙÙØ§ ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+#***************
+#
+#***** HELP *****
+Help.Contents:Ù
+Ø­ØªÙÙØ§Øª
+Help.Title:ØµÙØ­Ø§Øª Ø§ÙÙ
+Ø³Ø§Ø¹Ø¯Ø© ÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ
+#****************************
+#
+#***** Invalid Metadata ******
+InvalidMetadata.Message:Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ù
+Ø­Ø¬ÙØ² Ø¶Ù
+Ù ÙÙÙ
+ Ù
+Ø¹ÙØ§Ø± Ù
+Ø¹Ø±Ù Ù
+Ù ÙØšÙ .Ø§ÙØ±Ø¬Ø§Ø¡ Ø¥Ø®ØªÙØ§Ø± ÙØ§Ø­Ø¯Ø© Ù
+Ù Ø§ÙÙÙÙ
+ Ø§ÙÙ
+ÙØ¬ÙØ¯Ø©
+InvalidMetadata.Title:ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ØºÙØ± ØµØ§ÙØ­Ø©
+#***************************
+#
+#***** LegacyCollection
+LegacyCollection.Message:Ø£ÙØª ØšØµØ¯Ø¯ ØªØ­Ù
+ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© ÙÙ
+ ÙØªÙ
+ ØšÙØ§Ø€ÙØ§ ØšÙØ§Ø³Ø·Ø©  GLI. Ø³ÙÙ ÙØªÙ
+ Ø¥Ø³ØªÙØ±Ø§Ø¯ ÙÙÙ
+ ÙØ§ÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ÙØ¬ÙØ¯Ø© Ø¥ÙÙ Ù
+Ø¹ÙØ§Ø± Ø¯ØšÙÙ ÙÙØ± ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª. Ù
+ÙÙØ§Øª ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØ£ØµÙÙØ© Ø³ÙÙ ÙØªÙ
+ Ø­ÙØžÙØ§ÙÙ Ù
+Ø¬ÙØ¯ ÙØ³Ù
+Ù  import.bak.
+LegacyCollection.Title:ØªØ­Ù
+ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø®Ø§Ø±Ø¬ÙØ©
+#***************************
+#
+#***** LockFileDialog *****
+LockFileDialog.Cancel_Tooltip:ÙØ§ ØªÙ
+ÙÙ ØªØ­ÙÙ
+ Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+ØºÙÙ (Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙ ØªÙØªØ­)
+LockFileDialog.Date:ØªØ£Ø±ÙØ®
+LockFileDialog.Error:Ø®Ø·Ø£
+LockFileDialog.Lockfile_Message_One:ÙØ¬ÙØ¯ Ù
+ÙØªØ§Ø­ Ø§ÙØºÙÙ ÙØŽÙØ± Ø§ÙÙ Ø§Ù ÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙ ÙÙØ¯ Ø§ÙØ£Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙØ¢Ù.
+LockFileDialog.Lockfile_Message_Two:ÙÙ ØªØ±ØºØš ÙÙ Ø¥Ù
+ØªÙØ§Ù ØªØ­ÙÙ
+ ÙØ°Ø§ Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+ØºÙÙØ
+LockFileDialog.Machine:Ø£ÙÙ
+LockFileDialog.Name:Ø¥Ø³Ù
+
+LockFileDialog.OK_Tooltip:Ø¥Ù
+ØªÙØ§Ù ØªØ­ÙÙ
+ Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+ØºÙÙ
+LockFileDialog.Title:ØªÙ
+ ØªØ­Ø³Ø³ Ù
+ÙÙ Ù
+ØºÙÙ
+LockFileDialog.User:Ù
+Ù
+#********************
+#
+#*****MappingPrompt **********
+MappingPrompt.File:Ù
+Ø¬ÙØ¯
+MappingPrompt.Map:Ø£ÙØŽØ§Ø¡ Ù
+Ø®ØªØµØ±
+MappingPrompt.Name:Ø¥Ø³Ù
+
+MappingPrompt.Title:ØªØ¹ÙÙÙ Ù
+Ø®ØªØµØ± Ù
+Ø¬ÙØ¯
+MappingPrompt.Unmap:Ø­Ø°Ù Ù
+Ø®ØªØµØ±
+#*******************
+#
+#***** Menu Options *****
+Menu.Collapse:ØºÙÙ Ù
+Ø¬ÙØ¯
+Menu.Edit:ØªØ­Ø¯ÙØ«
+Menu.Edit_Copy:ÙØ³Ø® (ctrl-c)
+Menu.Edit_Cut:ÙØ·Ø¹ (ctrl-x)
+Menu.Edit_Paste:ÙØµÙ (ctrl-v)
+Menu.Expand:ÙØªØ­ Ù
+Ø¬ÙØ¯
+Menu.Explode_Metadata_Database:ØªÙ
+Ø¯ÙØ¯ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙØ§Ø¹Ø¯Ø© Ø§ÙØšÙØ§ÙØ§Øª
+Menu.Replace_SrcDoc_With_HTML:Ø¥Ø³ØªØšØ¯Ø§Ù ØšÙØ³Ø®Ø© HTML .  
+Menu.File:Ù
+ÙÙ
+Menu.File_Associations:Ù
+ØªØ¹ÙÙØ§Øª Ø§ÙÙ
+ÙÙ...
+Menu.File_CDimage:ØªØµØ¯ÙØ± CD/DVD ...
+Menu.File_Close:ØºÙÙ
+Menu.File_Delete:Ø¥ÙØºØ§Ø¡...
+Menu.File_Exit:Ø®Ø±ÙØ¬
+Menu.File_ExportAs:ØªØµØ¯ÙØ±...
+Menu.File_New:Ø¬Ø¯ÙØ¯..
+Menu.File_Open:ÙØªØ­...
+Menu.File_Options:ØªÙØ¶ÙÙØ§Øª...
+Menu.File_Save:Ø­ÙØž
+Menu.Help:Ù
+Ø³Ø§Ø¹Ø¯Ø©
+Menu.Help_About:Ø­ÙÙ...
+Menu.Metadata_View:ØªØ­Ø¯ÙØ¯ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ù {0}
+Menu.Open_Externally:ÙØªØ­ ØšØ±ÙØ§Ù
+Ø¬ Ø®Ø§Ø±Ø¬Ù
+#********************
+#
+#***** MetaAudit *****
+MetaAudit.Close:ØºÙÙ
+MetaAudit.Close_Tooltip:ØºÙÙ Ù
+Ø±ØšØ¹ Ø§ÙØ­ÙØ§Ø± ÙØ°Ø§
+MetaAudit.Title:ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª
+#*********************
+#
+#***** Metadata *****
+Metadata.Element:Ø¹ÙØµØ±
+Metadata.Value:ÙÙÙ
+Ø©
+MetadataSet.Files:Ù
+ÙÙØ§Øª Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª
+#**********************************
+#
+#***** MetadataSetDialog**********
+MetadataSetDialog.Title:Ø¥Ø¯Ø§Ø±Ø© Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª
+MetadataSetDialog.Add_Title:Ø¥Ø¶Ø§ÙØ© Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª
+MetadataSetDialog.Current_Sets:Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©
+MetadataSetDialog.Available_Sets:Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ØªÙÙØ±Ø©
+MetadataSetDialog.Add:Ø¥Ø¶Ø§ÙØ©...
+MetadataSetDialog.Add_Tooltip:Ø¥Ø¶Ø§ÙØ© Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª  ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+MetadataSetDialog.New_Set:Ø¬Ø¯ÙØ¯...
+MetadataSetDialog.New_Set_Tooltip:Ø¥ÙØŽØ§Ø¡ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¬Ø¯ÙØ¯
+MetadataSetDialog.Add_Set:Ø¥Ø¶Ø§ÙØ©
+MetadataSetDialog.Add_Set_Tooltip:Ø¥Ø¶Ø§ÙØ© Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø± ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+MetadataSetDialog.Browse:ØªØµÙØ­...
+MetadataSetDialog.Browse_Tooltip:Ø¥Ø¶Ø§ÙØ© Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø± ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+MetadataSetDialog.Edit:ØªØ­Ø¯ÙØ«...
+MetadataSetDialog.Edit_Tooltip:ØªØ­Ø¯ÙØ« Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±
+MetadataSetDialog.Remove:Ø­Ø°Ù
+MetadataSetDialog.Remove_Tooltip:Ø­Ø°Ù Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø± Ù
+Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+MetadataSetDialog.Elements:Ø§ÙØ¹ÙØ§ØµØ± ÙÙ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±
+
+#****************************************
+#
+#***** MetadataSetNamespaceClash warning***
+MetadataSetNamespaceClash.Title:ØªØ¶Ø§Ø±Øš Ø¥Ø³Ù
+ Ù
+Ø³Ø§Ø­Ø© Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª
+MetadataSetNamespaceClash.Message:Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØ°Ù Ø£Ø®ØªØ±ØªÙ ÙÙØ¥Ø¶Ø§ÙØ© ({0}) ÙÙÙ Ø¥Ø³Ù
+ Ù
+Ø³Ø§Ø­Ø© Ù
+ÙØ¬ÙØ¯ Ù
+Ù ÙØšÙ ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ({1}). Ø¥Ø°Ø§ Ø£Ø¶ÙØª ÙØ°Ø§ Ø§ÙÙ
+Ø¹ÙØ§Ø± Ø§ÙØ¬Ø¯ÙØ¯ØØ³ÙÙ ÙØªÙ
+ Ø¥ÙØºØ§Ø¡ Ø§ÙÙØ¯ÙÙ
+ Ù Ø¥Ø­ÙØ§Ù Ø§ÙØ¬Ø¯ÙØ¯ Ù
+Ø­ÙÙ. Ø¢Ù ÙÙÙ
+ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ø¹ØªÙ
+Ø¯Ø© Ø³ÙÙ ÙØªÙ
+ ØªØ­ÙÙÙÙØ§ Ø¥ÙÙ Ø§ÙÙ
+Ø¹ÙØ§Ø± Ø§ÙØ¬Ø¯ÙØ¯ Ø·Ø§ÙÙ
+Ø§ ØªØ¶Ù
+ÙØª Ø§ÙØ¹ÙØ§ØµØ± Ø§ÙÙ
+ÙØ§Ø³ØšØ©.
+#*********************************************
+#
+#******** MetadataImportMappingPrompt *********
+MIMP.Add:Ø¥Ø¶Ø§ÙØ©
+MIMP.Add_Tooltip:Ø¥Ø¶Ø§ÙØ© ÙØ§ØµÙØ© ØšÙØ§ÙØ§Øª ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©
+MIMP.Ignore:ØªØ¬Ø§ÙÙ
+MIMP.Ignore_Tooltip:ØªØ¬Ø§ÙÙ Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙØ°Ø§
+MIMP.Instructions:ÙØ§ ÙÙ
+ÙÙ Ø¥Ø³ØªÙØ±Ø§Ø¯ Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª {0} ØªÙÙØ§ØŠÙØ§ ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©. ÙÙ
+ ØšØ¥Ø®ØªÙØ§Ø± Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ù ÙÙÙØ§ ÙÙØ°Ù Ø§ÙØ®ÙØ§Ø±Ø§Øª:\n(1) Ø§Ø¶ØºØ·  'Ø¥Ø¶Ø§ÙØ©' ÙØ§Ø¶Ø§ÙØ© ÙØ§ØµÙØ© Ø§ÙØšÙØ§ÙØ§Øª Ø¥ÙÙ ÙØ°Ø§ Ø§ÙÙ
+Ø¹ÙØ§Ø± (ÙÙØ· ÙÙ Ø­Ø§ÙØ© Ø¹Ø¯Ù
+ ØªÙÙØ± {0} ÙØ§ØµÙØ© Ø§ÙØšÙØ§ÙØ§ØªÙÙ Ø§ÙÙ
+Ø¹ÙØ§Ø±), Ø£Ù\n(2) Ø¥Ø®ØªÙØ§Ø± Ø¹ÙØµØ± Ù Ø§ÙØ¶ØºØ· Ø¹ÙÙ  'Ø¯Ù
+Ø¬' ÙØ¥Ø³ØªÙØ±Ø§Ø¯ {0} ÙØ§ØµÙØ© Ø§ÙØšÙØ§ÙØ§Øª ÙÙØ°Ø§ Ø§ÙØ¹ÙØµØ±, Ø£Ù\n(3) ØªØ¬Ø§ÙÙ Ø¹ÙØµØ± ÙØ§ØµÙØ© Ø§ÙØšÙØ§ÙØ§Øª.
+MIMP.Merge:Ø¯Ù
+Ø¬
+MIMP.Merge_Tooltip:ØªØ®Ø·ÙØ· Ø¹ÙØµØ± ÙØ§ØµÙØ© Ø§ÙØšÙØ§ÙØ§Øª ÙÙØ¹ÙØµØ± Ø§ÙÙ
+Ø­Ø¯Ø¯ ÙÙ Ø§ÙÙ
+Ø¹ÙØ§Ø± Ø§ÙÙ
+Ø®ØªØ§Ø±.
+MIMP.Source_Element::Ù
+ØµØ¯Ø± Ø¹ÙØµØ± ÙØ§ØµÙØ© Ø§ÙØšÙØ§ÙØ§Øª
+MIMP.Target_Element::Ø¹ÙØµØ± ÙØ§ØµÙØ© Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙØ¯Ù
+MIMP.Target_Set::Ù
+Ø¹ØšØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙØ¯Ù
+MIMP.Title:Ø¯Ù
+Ø¬ Ø§ÙØ¥Ø¬Ø±Ø§Ø¡ Ø§ÙÙ
+Ø·ÙÙØš.
+#*****************************
+#
+#***** Mirroring *****
+Mirroring.ClearCache:Ù
+Ø­Ù Ø§ÙØ°Ø§ÙØ±Ø©
+Mirroring.ClearCache_Tooltip:Ø¥ÙØºØ§Ø¡ ÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+ÙØ²ÙØ©
+Mirroring.Download:ØªÙØ²ÙÙ
+Mirroring.Download_Tooltip:Ø¥ØšØ¯Ø£ Ù
+ÙÙ
+Ø© ØªÙØ²ÙÙ Ø¬Ø¯ÙØ¯Ø©
+Mirroring.DownloadJob.Close:ØºÙÙ
+Mirroring.DownloadJob.Close_Tooltip:Ø­Ø°Ù ÙØ°Ù Ø§ÙÙ
+ÙÙ
+Ø© Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©, Ø£ÙÙÙÙØ§ Ø¥Ø°Ø§ ÙØ§ÙØª ÙÙØ¯ Ø§ÙØªØŽØºÙÙ
+Mirroring.DownloadJob.Downloading:ØªÙØ²ÙÙ {0}
+Mirroring.DownloadJob.Download_Complete:Ø¥ÙØªÙØ§Ø¡ Ø§ÙØªÙØ²ÙÙ
+Mirroring.DownloadJob.Download_Stopped:Ø¹ÙÙ Ø¥Ø¬Ø±Ø§Ø¡ Ø§ÙØªÙØ²ÙÙ
+Mirroring.DownloadJob.Download_Progress:ØªØ·ÙØ± Ø¹Ù
+ÙÙØ© Ø§ÙØªÙØ²ÙÙ
+Mirroring.DownloadJob.Log:Ø¹Ø±Ø¶ Ø³Ø¬Ù
+Mirroring.DownloadJob.Log_Tooltip:Ø¹Ø±Ø¶ ØªÙØ§ØµÙÙ Ø­ÙÙ ÙØ°Ø§ Ø§ÙØªÙØ²ÙÙ
+Mirroring.DownloadJob.Log_Title:Ù
+Ø¯ÙÙØ© Ø§ÙØªÙØ²ÙÙ  
+Mirroring.DownloadJob.Pause:Pause
+Mirroring.DownloadJob.Pause_Tooltip:ØªØ¹ÙÙÙ ÙØ°Ø§ Ø§ÙØªÙØ²ÙÙ
+Mirroring.DownloadJob.Resume:Ù
+ØªØ§ØšØ¹Ø©
+Mirroring.DownloadJob.Resume_Tooltip:Ù
+ØªØ§ØšØ¹Ø© ÙØ°Ø§ Ø§ÙØªÙØ²ÙÙ
+Mirroring.DownloadJob.Status:ØªÙØ²ÙÙ {0} of {1} Ù
+ÙÙØ§Øª ({2} ØªØ­Ø°ÙØ±Ø§Øª, {3} Ø£Ø®Ø·Ø§)
+Mirroring.DownloadJob.Waiting:Ø¥ÙØªØžØ§Ø± Ø§ÙØšØ¯Ø§ÙØ©
+Mirroring.DownloadJob.Waiting_User:Ø¥ÙØªØžØ§Ø± Ø¥Ø¬Ø±Ø§Ø¡ Ø§ÙÙ
+Ø³ØªÙÙØ¯
+Mirroring.Invalid_URL:Ø¹ÙÙØ§Ù Ù
+ÙØ§Ø±Ø¯ Ù
+ÙØ­Ø¯ ØºÙØ± ØµØ§ÙØ­. Ø±Ø¬Ø§Ø¡ Ø§ÙØªØµØ­ÙØ­.
+Mirroring.Invalid_URL_Title:Ø¹ÙÙØ§Ù Ù
+ÙØ§Ø±Ø¯ Ù
+ÙØ­Ø¯ ØºÙØ± ØµØ§ÙØ­
+Mirroring.Preferences:Ø¥Ø¹Ø¯Ø§Ø¯ Ø§ÙØšØ±ÙÙØ³ÙâŠ  
+Mirroring.Preferences_Tooltip:ØªÙØ¹ÙÙ ØšØ±ÙÙØ³Ù Ù / Ø£Ù ØªØ­Ø¯ÙØ« Ø¥Ø¹Ø¯Ø§Ø¯Ø§Øª Ø§ÙØšØ±ÙÙØ³Ù
+#*********************
+#
+#***** Missing EXEC *****
+MissingEXEC.Message:ØªØ­Ø°ÙØ±! ÙÙ ÙÙÙÙ Ù
+Ù
+ÙÙØ§ ÙÙ Ø¹Ø±Ø¶ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙØ¬Ø¯ÙØ¯Ø© Ù
+Ù Ø®ÙØ§Ù ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ Ø¥ÙØ§ Ø¥Ø°Ø§ ÙÙ
+Øª ØšØªØ­Ø¯ÙØ¯ Ù
+Ø³Ø§Ø± Ù
+Ø²ÙØ¯ ÙØ±ÙÙØ³ØªÙÙ. ÙÙ
+ÙÙÙ Ø§ÙÙÙØ§Ù
+ ØšÙØ°Ø§ Ø§ÙØ¥Ø¬Ø±Ø§Ø¡ Ø§ÙØ¢Ù ØšØ§ÙÙØªØ§ØšØ© ÙÙ Ù
+Ø±ØšØ¹ Ø§ÙÙØµ Ø£Ø¯ÙØ§Ù  Ø Ø£Ù ÙØ§Ø­ÙØ§ ØšØ¥Ø®ØªÙØ§Ø± Ù
+ØŽÙØ¯ ØªÙØ¶ÙÙØ§Øª Ø«Ù
+ Ø§ÙØ¥ØªØµØ§Ù, .ØªØ°ÙØ± Ø§Ù Ø¹ÙÙØ§Ù Ø§ÙÙ
+ÙØ§Ø±Ø¯ Ø§ÙÙ
+ÙØ­Ø¯ Ø§ÙØµØ§ÙØ­ ÙØ¬Øš Ø£Ù ÙØšØ¯Ø£ ØšØ§ÙØšØ±ÙØªÙÙÙ.  "http://", Ù Ø³ÙÙ ÙÙØªÙÙ ØšØ§Ø³Ù
+ Ø§ÙÙ
+ÙÙ Ø§ÙØªÙÙÙØ°Ù ("gsdl" ØªÙØ¶ÙØš Ù
+Ø²ÙØ¯ Ù
+ÙØªØšØ© Ù
+Ø­ÙÙ, "library" ÙÙ
+Ø²ÙØ¯ Ø§ÙÙØš).
+MissingEXEC.Title:Ø¹ÙÙØ§ÙGreenstone Library ØºÙØ± Ù
+ÙØ¬ÙØ¯
+#***** Missing EXEC_GS3 *****
+MissingEXEC_GS3.Message:Ø§ÙØ±Ø¬Ø§Ø¡ ÙØªØ§ØšØ© Ø¹ÙÙØ§Ù Ø§ÙÙ
+ÙØ§Ø±Ø¯ Ø§ÙÙ
+ÙØ­Ø¯ ÙÙ
+ÙØªØšØ© Greenstone 3 . ÙÙ ØªØªÙ
+ÙÙ Ù
+Ù Ø¹Ø±Ø¶ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙØ¬Ø¯ÙØ¯Ø© Ù
+Ù Ø®ÙØ§Ù ÙØ§Ø¬ÙØ© Ù
+ÙØªØšÙ ÙØ±ÙÙØ³ØªÙÙ ØšØ¯ÙÙ ØªØ­Ø¯ÙØ¯ Ù
+Ø³Ø§Ø± ÙØ±ÙÙØ³ØªÙÙ ÙÙ
+Ø²ÙØ¯ Tomcat.  ÙÙ
+ÙÙÙ Ø¥Ø¯Ø®Ø§Ù ÙØ°Ø§ ÙÙ Ù
+Ø±ØšØ¹ Ø§ÙÙØµ Ø§Ø¯ÙØ§Ù Ø§Ù ÙÙÙ
+Ø§ ØšØ¹Ø¯ ØšØ§ÙØªÙØ¬Ù Ø¥ÙÙ Ø§ÙØªÙØ¶ÙÙØ§Øª Ø«Ù
+ Ø¥Ø®ØªÙØ§Ø± Ù
+Ø±ØšØ¹ Ø§ÙØ¥ØªØµØ§Ù .ÙØ§ØšØ¯ ÙÙ Ù
+Ù ÙØªØ§ØšØ© Ø§ÙØšØ±ÙØªÙÙÙÙ "http:"  
+MissingEXEC_GS3.Title:Ø¹ÙÙØ§Ù Ù
+ÙØ§Ø±Ø¯ Ù
+ÙØ­Ø¯ Greenstone 3 .  
+#***** Missing GLIServer *****
+MissingGLIServer.Message:Ø£Ø¯Ø®Ù Ø¹ÙÙØ§Ù Ø¹ÙÙØ§Ù Ø§ÙÙ
+ÙØ§Ø±Ø¯ Ø§ÙÙ
+ÙØ­Ø¯ ÙÙ
+ÙÙ  Greenstone Ø¹Ù ØšØ¹Ø¯ "gliserver.pl" ÙÙ ÙØµ Ø§ÙØ­ÙÙ Ø£Ø¯ÙØ§Ù . ØªØ°ÙØ± Ø§Ù Ø¹ÙÙØ§Ù Ø§ÙÙ
+ÙØ§Ø±Ø¯ Ø§ÙØµØ§ÙØ­ ÙØšØ¯Ø£ ØšØšØ±ÙØªÙÙÙÙ "http://" ÙÙÙØªÙÙ Øš "gliserver".  
+MissingGLIServer.Title:ØªØ­Ø¯ÙØ¯ Ø¹ÙÙØ§Ù GLIServer .  
+#***** Missing GSDL *****
+MissingGSDL.Message:ØªØ­Ø°ÙØ±! ÙÙ ØªØªÙ
+ÙÙ Ù
+Ù Ø¥Ø³ØªØ®Ø¯Ø§Ù
+ ÙÙ Ù
+ÙØ§Ù
+Ø­ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØšØ¯ÙÙ ØªØ«ØšÙØª ÙØ³Ø®Ø© Ù
+Ø­ÙÙØ© Ù
+Ù ÙØ±ÙÙØ³ØªÙÙ. Ø§ÙØ±Ø¬Ø§Ø¡ ØªÙØ­Øµ ØªØ«ØšÙØª Ø§ÙÙØ³Ø®Ø© Ø§ÙÙ
+Ø­ÙÙØ© ÙÙØ±ÙÙØ³ØªÙÙ Ø§Ù Ù
+Ø³Ø§Ø± Ù
+ÙÙ Ø§ÙØªÙÙÙØ°.
+MissingGSDL.Title:Ù
+Ø³Ø§Ø± GreenstoneØºÙØ± Ù
+ÙØ¬ÙØ¯
+#***** Missing PERL *****
+MissingPERL.Message:ØªØ­Ø°ÙØ±! ÙÙ ØªØªÙ
+ÙÙ Ù
+Ù Ø¥ÙØŽØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø§Øª Ø¬Ø¯ÙØ¯Ø© Ø£Ù ØšÙØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø§Øª Ù
+ÙØ¬ÙØ¯Ø©Ø ØšØ¯ÙÙ ØªØ«ØšÙØª  ØšÙØ±Ù Ø Ø§Ù Ø§Ù ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ÙØ¯ ÙØŽÙ ÙÙ Ø§ÙÙØµÙÙ Ø¥ÙÙ ØšÙØ±Ù ÙÙ ÙØžØ§Ù
+Ù. Ø§ÙØ±Ø¬Ø§Ø¡ ØªÙØ­Øµ ØªØ«ØšÙØª ØšÙØ±Ù Ø£Ù Ù
+Ø³Ø§Ø± Ù
+ÙÙ Ø§ÙØªÙÙÙØ° ÙØšÙØ±Ù.
+MissingPERL.Title:Ù
+Ø³Ø§Ø± PERL ØºÙØ± Ù
+ÙØ¬ÙØ¯
+#******* MissingImageMagick ********
+MissingImageMagick.Message:ØªØ­Ø°ÙØ±! ÙØŽÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ÙÙ ØªØ­Ø¯ÙØ¯ Ø§ÙÙØ³Ø®Ø© Ø§ÙÙ
+ÙØ§Ø³ØšØ© Ù
+Ù ImageMagick, ÙÙ
+ÙÙ ØªØ¶Ù
+ÙÙ Ø§ÙØµÙØ± ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù ÙÙÙ ÙÙ ØªØ¹Ù
+Ù ÙØžÙÙØ© Ù
+Ø¹Ø§ÙØ¬Ø© Ø§ÙØµÙØ±Ø Ù
+Ø«Ù ØªØ­ÙÙÙ Ø§ÙÙ ØŽÙÙ Ø¢Ø®Ø± Ø£Ù ØªÙÙÙØ¯ Ù
+Ø®ØªØµØ± ØµÙØ±Ù.  
+MissingImageMagick.Title:ImageMagick ØºÙØ± Ù
+ÙØ¬ÙØ¯
+#*****************************
+#
+#***** New Session *****
+NewCollectionPrompt.Base_Collection:ØªØ¹ØªÙ
+Ø¯ ÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø¹ÙÙ:
+NewCollectionPrompt.Base_Collection_Tooltip:Ø¥Ø®ØªÙØ§Ø± Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+ÙØ¬ÙØ¯Ø© ÙØªØ¹ØªÙ
+Ø¯ Ø¹ÙÙÙØ§ ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙØ¬Ø¯ÙØ¯Ø©
+NewCollectionPrompt.Collection_Description:ÙØµÙ Ø§ÙÙ
+Ø­ØªÙÙØ§Øª:
+NewCollectionPrompt.Collection_Name:Ù
+Ø¬ÙØ¯ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©:
+NewCollectionPrompt.Collection_Scope_Personal:Ø³Ù
+Ø§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙØŽØ®ØµÙØ©
+NewCollectionPrompt.Collection_Scope_Personal_Tooltip:ÙÙ
+ÙÙ ØªØ­Ø±ÙØ± Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø¹Ù Ø·Ø±ÙÙ Ø§ÙØŽØ®Øµ Ø§ÙØ°Ù Ø£ÙØŽØ£ÙØ§ ÙØ§ÙØ£ØŽØ®Ø§Øµ Ø§ÙÙ
+ÙØ¬ÙØ¯ÙÙ ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ø­Ø±Ø±Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª "all-collections-editor" .  
+NewCollectionPrompt.Collection_Scope_Shared:Ø³Ù
+Ø§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙØ¬Ù
+Ø§Ø¹ÙØ©
+NewCollectionPrompt.Collection_Scope_Shared_Tooltip:ÙÙ
+ÙÙ ØªØ­Ø±ÙØ± Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø¹Ù Ø·Ø±ÙÙ Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ÙÙ ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ø­Ø±Ø±Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª "all-collections-editor".  
+NewCollectionPrompt.Error:Ø®Ø·Ø£ ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙØ¬Ø¯ÙØ¯Ø©.
+NewCollectionPrompt.Instructions:ÙØ¥ÙØŽØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø¬Ø¯ÙØ¯Ø© Ø¥Ø³ØªØ®Ø¯Ù
+ Ø§ÙØ­ÙÙÙ Ø£Ø¯ÙØ§Ù
+NewCollectionPrompt.NewCollection:-- Ù
+Ø¬Ù
+ÙØ¹Ø© Ø¬Ø¯ÙØ¯Ø© --
+NewCollectionPrompt.Title:Ø¥ÙØŽØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø¬Ø¯ÙØ¯Ø©.
+NewCollectionPrompt.Title_Clash:Ø§ÙØ¹ÙÙØ§Ù Ø§ÙØ°Ù Ø§Ø®ØªØ±ØªÙ ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙØ¯ Ø§ÙØ¥Ø³ØªØ®Ø¯Ø§Ù
+ Ù
+Ù ÙØšÙ . ÙÙ ØªÙØ¯ Ø§ÙØ¥Ø³ØªÙ
+Ø±Ø§Ø±Ø
+NewCollectionPrompt.Title_Error:Ø§ÙØ±Ø¬Ø§Ø¡ ÙØªØ§ØšØ© ØšÙØ§ÙØ§Øª Ø­ÙÙ Ø§ÙØ¹ÙÙØ§Ù.
+#***** New Folder OrFilePrompt *****
+NewFolderOrFilePrompt.Default_File_Name:Ø²Ø§ØŠÙ
+NewFolderOrFilePrompt.Default_Folder_Name:Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯
+NewFolderOrFilePrompt.Destination_Name:Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙÙØ¯Ù
+NewFolderOrFilePrompt.File_Name:Ø¥Ø³Ù
+ Ù
+ÙÙ
+NewFolderOrFilePrompt.File_Name_Tooltip:Ø¥Ø¯Ø®Ù Ø¥Ø³Ù
+Ø§ ÙÙÙ
+ÙÙ Ø§ÙØ¬Ø¯ÙØ¯
+NewFolderOrFilePrompt.Folder_Name:Ø¥Ø³Ù
+ Ø§ÙÙ
+Ø¬ÙØ¯
+NewFolderOrFilePrompt.Folder_Name_Tooltip:Ø¥Ø¯Ø®Ù Ø¥Ø³Ù
+Ø§ ÙÙÙ
+Ø¬ÙØ¯ Ø§ÙØ¬Ø¯ÙØ¯
+NewFolderOrFilePrompt.Title_Folder:Ø¥ÙØŽØ§Ø¡ Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯
+NewFolderOrFilePrompt.Title_File:Ø¥ÙØŽØ§Ø¡ ÙØ«ÙÙØ© Ù
+Ø²ÙÙØ© Ø¬Ø¯ÙØ¯Ø©
+#**********************
+#
+#******* OldWGET *******
+NoPluginExpectedToProcessFile.Message:ÙÙØ³ Ù
+Ù Ø§ÙÙ
+ØªÙÙØ¹ ÙØ£Ù Ù
+Ù Ù
+ÙØ§ØšØ³ ÙØ±ÙÙØ³ØªÙÙ Ø§Ù ÙÙÙÙ
+ ØšÙ
+Ø¹Ø§ÙØ¬Ø© Ø§ÙÙ
+ÙÙ "{0}". Ø¥ÙØ­Øµ ØµØ­Ø© Ø¥Ù
+ØªØ¯Ø§Ø¯ Ø§ÙÙ
+ÙÙ . Ø¥Ø°Ø§ ÙØ§Ù ØµØ­ÙØ­Ø§ Ø ÙÙ
+ÙÙÙ Ø¥Ø³ØªØ®Ø¯Ø§Ù
+ Ù
+ÙØ§ØšØ³ UnknownPlug ÙÙ
+Ø¹Ø§ÙØ¬Ø© Ø§ÙÙ
+ÙÙ.  
+NoPluginExpectedToProcessFile.Title:ÙØ§ ÙÙØ¬Ø¯ Ù
+ÙØ§ØšØ³ ÙÙ
+Ø¹Ø§ÙØ¬Ø© ÙØ°Ø§ Ø§ÙÙ
+ÙÙ
+#***********************
+#
+#***** OpenCollectionDialog *****
+OpenCollectionDialog.Available_Collections:Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ
+ØªÙÙØ±Ø©
+OpenCollectionDialog.Description:ÙØµÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+OpenCollectionDialog.Open:ÙØªØ­
+OpenCollectionDialog.Open_Tooltip:ØªØ­Ù
+ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© ÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ
+OpenCollectionDialog.Title:ÙØªØ­ Ù
+Ø¬Ù
+ÙØ¹Ø© ÙØ±ÙÙØ³ØªÙÙ
+#**********************
+#
+#***** Options Pane inside CreatePane *****
+OptionsPane.Cancelled:- Ù
+ÙØºÙØ©
+OptionsPane.LogHistory:Ù
+Ø¯ÙÙØ©
+OptionsPane.Successful:- ØšÙØ¬Ø§Ø­
+OptionsPane.Scheduled:#NAME?  
+OptionsPane.Unknown:- Ù
+Ø¬ÙÙÙØ©
+OptionsPane.Unsuccessful:- ØºÙØ± ÙØ§Ø¬Ø­Ø©
+#*******************
+#
+#***** Preferences *****
+Preferences:Ø§ÙØªÙØ¶ÙÙØ§Øª
+Preferences.Connection:Ø§ÙØ¥ØªØµØ§Ù
+Preferences.Connection_Tooltip:Ø¥Ø¹Ø¯Ø§Ø¯ Ø¹ÙÙØ§Ù Ø§ÙÙ
+ÙØ§Ø±Ø¯ Ø§ÙÙ
+ÙØ­Ø¯ ÙÙ
+ÙØªØšØ© ÙØ±ÙÙØ³ØªÙÙ Ù ØªØ¬ÙÙØ² Ø¥ØªØµØ§Ù Ø§ÙØšØ±ÙÙØ³Ù ØšØ§ÙØµÙØ±Ø© Ø§ÙÙ
+ÙØ§Ø³ØšØ©
+Preferences.Connection.GLIServer_URL:Ø¹ÙÙØ§Ù Ø§ÙÙ
+ÙØ§Ø±Ø¯ Ø§ÙÙ
+ÙØ­Ø¯ ÙÙØ±ÙÙØ³ØªÙÙ gliserver :
+Preferences.Connection.GLIServer_URL_Tooltip:Ø¹ÙÙØ§Ù Ø§ÙÙ
+ÙØ§Ø±Ø¯ Ø§ÙÙ
+ÙØ­Ø¯ ÙÙØ±ÙÙØ³ØªÙÙ "gliserver" CGI Ù
+Ø®Ø·ÙØ·Ø©
+Preferences.Connection.Library_Path:Ù
+Ø³Ø§Ø± Ø§ÙÙ
+ÙØªØšØ©:
+Preferences.Connection.Library_Path_GS3:Ù
+Ø³Ø§Ø± ÙØš ÙØ±ÙÙØ³ØªÙÙ:
+Preferences.Connection.Library_Path_Tooltip:Ø¹ÙÙØ§Ù Ø§ÙÙ
+ÙØ§Ø±Ø¯ Ø§ÙÙ
+ÙØ­Ø¯ ÙÙØ±ÙÙØ³ØªÙÙ Ø¹ÙÙ Ù
+Ø²ÙØ¯ Ø§ÙÙØš
+Preferences.Connection.Library_Path_Tooltip_GS3:Ø¹ÙÙØ§Ù Ø§ÙÙ
+ÙØ§Ø±Ø¯ Ø§ÙÙ
+ÙØ­Ø¯ ÙÙØ±ÙÙØ³ØªÙÙ Ø¹ÙÙ Ù
+Ø²ÙØ¯ Ø§ÙÙØš
+Preferences.Connection.Library_Path_Connection_Failure:ÙØŽÙ Ø§ÙØ¥ØªØµØ§Ù.Ø¥ÙØ­Øµ ØªØŽØºÙÙ Ù
+Ø²ÙØ¯ Greenstone ÙÙ {0} .  
+Preferences.Connection.ProgramCommand:Ø£Ù
+Ø± Ø§ÙØ¹Ø±Ø¶:
+Preferences.Connection.ProgramCommand_Tooltip:Ø§Ù
+Ø± Ø¥Ø·ÙØ§Ù ØšØ±ÙØ§Ù
+Ø¬ Ø¹Ø±Ø¶ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©. ØªØ°ÙØ± Ø¥Ø³ØªØ®Ø¯Ø§Ù
+  %1 ÙØ­Ø¬Ø² Ù
+ÙØ§Ù Ø¹ÙÙØ§Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ø¹ Ø¥Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙØ¹ÙØ§Ù
+Ø§Øª Ø§ÙÙ
+Ø§ØŠÙØ© Ø§ÙÙ
+ÙØ§Ø³ØšØ©.
+Preferences.Connection.Proxy_Host:Ù
+Ø¶ÙÙ Ø§ÙØšØ±ÙÙØ³Ù:
+Preferences.Connection.Proxy_Host_Tooltip:Ø¹ÙÙØ§Ù Ù
+Ø²ÙØ¯ Ø§ÙØšØ±ÙÙØ³Ù
+Preferences.Connection.Proxy_Port:Ù
+ÙÙØ° Ø§ÙØšØ±ÙÙØ³Ù:
+Preferences.Connection.Proxy_Port_Tooltip:Ø±ÙÙ
+ Ù
+ÙÙØ° Ù
+Ø²ÙØ¯ Ø§ÙØšØ±ÙÙØ³Ù
+Preferences.Connection.Servlet:Ø³ÙØ±ÙÙÙØª:
+Preferences.Connection.Servlet_Tooltip:ØªØ­Ø¯ÙØ¯ Ø§ÙØ³ÙØ±ÙÙÙØª ÙØ¥Ø³ØªØ®Ø¯Ø§Ù
+Ø© ÙÙ Ø¹Ø±Ø¶ Ø§ÙÙ
+ÙÙØ¹
+Preferences.Connection.Servlet_Tooltip2:ÙØ§ ÙÙØ¬Ø¯ Ø³ÙØ±ÙÙÙØª Ù
+Ø­Ø¯Ø¯ ÙÙØ°Ø§ Ø§ÙÙ
+ÙÙØ¹. Ù
+Ø¹ Ø°ÙÙ ÙÙ
+ÙÙÙ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ù ÙÙÙ ÙÙ ØªØªÙ
+ÙÙ Ù
+Ù Ø¹Ø±Ø¶ÙØ§
+Preferences.Connection.Site:Ù
+ÙÙØ¹:
+Preferences.Connection.Site_Tooltip:Ø§ÙÙ
+ÙÙØ¹ Ø§ÙØ°Ù ØªÙØ¯ Ø§ÙØ¹Ù
+Ù ÙÙÙ
+Preferences.Connection.Use_Proxy:Ø§Ø³ØªØ®Ø¯Ù
+ Ø¥ØªØµØ§Ù Ø§ÙØšØ±ÙÙØ³ÙØ
+Preferences.General:Ø¹Ø§Ù
+
+Preferences.General_Tooltip:Ø¥Ø¹Ø¯Ø§Ø¯ ØšØ¹Ø¶ Ø§ÙØªØ¬ÙÙØ²Ø§Øª Ø§ÙØ¹Ø§Ù
+Ø©
+Preferences.General.Email:Ø¹ÙÙØ§Ù Ø§ÙÙ
+Ø³ØªÙÙØ¯ Ø§ÙØ¥ÙÙØªØ±ÙÙÙ:
+Preferences.General.Email_Tooltip:Ø³ÙÙ ÙØªÙ
+ Ø¥Ø³ØªØ®Ø¯Ø§Ù
+ Ø¹ÙÙØ§Ù Ø§ÙØšØ±ÙØ¯ Ø§ÙØ¥ÙÙØªØ±ÙÙÙ ØªÙÙØ§ØŠÙØ§ Ù
+Ø¹ Ø¢Ù Ù
+Ø¬Ù
+ÙØ¹Ø© ÙØªÙ
+ Ø¥ÙØŽØ§Ø€ÙØ§ ØšÙØ§Ø³Ø·Ø©  GLI
+Preferences.General.Font:Ø§ÙØšÙØ·:
+Preferences.General.Font_Tooltip:Ø§ÙØšÙØ· Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ ÙÙ ÙØ§Ø¬ÙØ©  GLI .
+Preferences.General.Interface_Language:ÙØºØ© Ø§ÙÙØ§Ø¬ÙØ©:
+Preferences.General.Interface_Language_Tooltip:Ø¥Ø®ØªÙØ§Ø± ÙØºØ© Ø§ÙØ¹Ø±Ø¶ ÙÙÙØ§Ø¬ÙØ©.
+Preferences.General.Restart_Required:ÙØ¬Øš Ø¥Ø¹Ø§Ø¯Ø© ØªØŽØºÙÙ GLI ÙØªÙØ¹ÙÙ Ø§ÙØªØ¹Ø¯ÙÙØ§Øª.
+Preferences.General.Manual_Restart_Required:Ø§ÙØ±Ø¬Ø§Ø¡ Ø¥Ø¹Ø§Ø¯Ø© ØªØŽØºÙÙ Ù
+ÙÙÙ
+GLI ÙØªÙØ¹ÙÙ ØªØºÙØ±Ø§Øª Ø§Ø¹Ø¯Ø§Ø¯ Ø§ÙØ§ØªØµØ§Ù.  
+Preferences.General.Show_File_Size:Ø¹Ø±Ø¶ Ø£Ø­Ø¬Ø§Ù
+ Ø§ÙÙ
+ÙÙØ§Øª
+Preferences.General.Show_File_Size_Tooltip:Ø¹Ø±Ø¶ Ø£Ø­Ø¬Ø§Ù
+ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙØªØ§ÙÙØ© ÙÙÙ
+Ø¯Ø§Ø®Ù ÙÙ Ù
+Ø­Ø·Ø© Ø§ÙØ¹Ù
+Ù Ù ØŽØ¬Ø±Ø© Ù
+ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.
+Preferences.General.View_Extracted_Metadata:Ø¹Ø±Ø¶ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø³ØªØ®Ø±Ø¬Ø©
+Preferences.General.View_Extracted_Metadata_Tooltip:Ø¹Ø±Ø¶ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø³ØªØ®Ø±Ø¬Ø© ØšÙØ§Ø³Ø·Ø© Ù
+ÙØ§ØšØ³ ÙØ±ÙÙØ³ØªÙÙ ÙÙ ÙØ§ØŠÙ
+Ø© ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙ Ù
+ØŽÙØ¯ Ø¥Ø«Ø±Ø§Ø¡.
+Preferences.Mode:Ø³ÙØ§Ù
+Preferences.Mode_Tooltip:Ø£ÙÙØ± Ø¹ÙÙ Ù
+Ø¯Ø®Ù ÙØ¥Ø®ØªÙØ§Ø± Ø§ÙÙ
+Ø³ØªÙÙ Ø§ÙÙ
+ÙØ§Ø³Øš ÙÙØ¹Ù
+Ù
+Preferences.Mode.Assistant:Ù
+Ø³Ø§Ø¹Ø¯ Ù
+ÙØªØšÙ
+Preferences.Mode.Assistant_Description:Ø§Ø³ØªØ®Ø¯Ø§Ù
+ ÙØ°Ø§ Ø§ÙØ¥Ø¹Ø¯Ø§Ø¯ ÙÙ
+ÙÙÙ Ù
+Ù Ø¥Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙÙØžØ§ØŠÙ Ø§ÙØ£Ø³Ø§Ø³ÙØ© ÙÙØ§Ø¬ÙØ© Ù
+ÙØªØšÙ ÙØ±ÙÙØ³ØªÙÙ: Ø¥Ø¶Ø§ÙØ© Ø§ÙÙØ«Ø§ØŠÙ Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø§ØªØ Ø¥ÙØŽØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø§Øª Ø¬Ø¯ÙØ¯Ø© ØªØ¹ÙØ³ ÙÙÙÙÙØ© Ù
+Ø¬Ù
+ÙØ¹Ø§Øª Ù
+ÙØ¬ÙØ¯Ø©, ÙØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª.
+Preferences.Mode.Librarian:Ù
+ÙØªØšÙ
+Preferences.Mode.Librarian_Description:ÙÙÙØ± ÙØ°Ø§ Ø§ÙØ¥Ø¹Ø¯Ø§Ø¯ Ø§ÙØ¥Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙØ·ØšÙØ¹Ù ÙÙØ§Ø¬ÙØ© Ù
+ÙØªØšÙ ÙØ±ÙÙØ³ØªÙÙ: Ø¥ÙØŽØ§Ø¡ Ù ØªØµÙ
+ÙÙ
+ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙØ¬Ø¯ÙØ¯Ø© Ø Ø¥Ø¶Ø§ÙØ© Ø§ÙÙØ«Ø§ØŠÙ Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø§ØªØ ØªØµÙ
+ÙÙ
+ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙØ¬Ø¯ÙØ¯Ø© Ù ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª.  
+Preferences.Mode.Expert:Ø®ØšÙØ±
+Preferences.Mode.Expert_Description:ÙØªÙØ­ ÙÙ ÙØ°Ø§ Ø§ÙØ¥Ø¹Ø¯Ø§Ø¯ Ø§ÙØ¥Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙØ®ØšÙØ± ÙÙØ§Ø¬ÙØ© Ù
+ÙØªØšÙ ÙØ±ÙÙØ³ØªÙÙ.. ÙÙØµÙ ØšÙ ÙÙÙ
+Ø³ØªØ®Ø¯ÙÙ Ø°ÙÙ Ø§ÙØ®ØšØ±Ø© ØšÙØ±ÙÙØ³ØªÙÙ Ù ÙØ¯ÙÙÙ
+ Ø§ÙÙØ¯Ø±Ø© Ø¹ÙÙ ØªÙØ¯ÙÙ
+ Ø§ÙØ­ÙÙÙ Ø§ÙÙ
+ØªØ¹ÙÙØ© ØšØªØµØ­ÙØ­ Ù
+Ø®Ø±Ø¬Ø§Øª Ù
+Ø®Ø·ÙØ·Ø§Øª ØšÙØ±Ù.ÙÙ Ù
+ÙØ§Ù
+Ø­ ÙØ§Ø¬ÙØ© Ù
+ÙØªØšÙ ÙØ±ÙÙØ³ØªÙÙ Ù
+ØªØ§Ø­Ø©.
+Preferences.Warnings:ØªØ­Ø°ÙØ±
+Preferences.Warnings_Tooltip:ØªÙ
+ÙÙÙ Ø£Ù Ø¥Ø®Ù
+Ø§Ø¯ Ø±Ø³Ø§ØŠÙ Ø§ÙØªØ­Ø°ÙØ±
+Preferences.Workflow:ØªØ¯ÙÙ Ø§ÙØ¹Ù
+Ù
+Preferences.Workflow_Tooltip:ØªØµÙ
+ÙÙ
+ ØªØ¯ÙÙ Ø¹Ù
+Ù Ø§ÙÙØ§Ø¬ÙØ©: ØªØ­Ø¯ÙØ¯ Ø§ÙÙ
+ØŽØ§ÙØ¯ Ø§ÙÙ
+ÙØ¹ÙØ©
+Preferences.Workflow.Predefined.Label:ØªØ¯ÙÙ Ø¹Ù
+Ù Ù
+Ø¹Ø±Ù Ù
+Ù ÙØšÙ
+Preferences.Workflow.Title:Ø¥Ø³ØªØ®Ø¯Ù
+ Ù
+Ø±ØšØ¹ Ø§ÙØ¥Ø®ØªÙØ§Ø± ÙØªÙØ¹ÙÙ Ù
+ØŽÙØ¯
+#**********************
+#
+#**** PreviewCommandDialog *******
+PreviewCommandDialog.Instructions:Ø§Ù
+Ø± Ø¥Ø·ÙØ§Ù ØšØ±ÙØ§Ù
+Ø¬ Ø¹Ø±Ø¶ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©. ØªØ°ÙØ± Ø¥Ø³ØªØ®Ø¯Ø§Ù
+  %1 ÙØ­Ø¬Ø² Ù
+ÙØ§Ù Ø¹ÙÙØ§Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ø¹ Ø¥Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙØ¹ÙØ§Ù
+Ø§Øª Ø§ÙÙ
+Ø§ØŠÙØ© Ø§ÙÙ
+ÙØ§Ø³ØšØ©.
+PreviewCommandDialog.Title:Ø£Ù
+Ø± Ø§ÙØ¹Ø±Ø¶
+
+ShowPreviousCollection.Title:Ø¹Ø±Ø¶ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+ØšÙÙØ© Ø³Ø§ØšÙØ§
+ShowPreviousCollection.Message:ÙÙ
+ ÙØªÙ
+ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØ­Ø¯ÙØ« Ø®Ø·Ø£.Ø£ÙØª ØªØ¹Ø±Ø¶ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙØªÙ Ø³ØšÙ ØšÙØ§Ø€ÙØ§.
+#**********************
+#
+#***** Remote Greenstone Server *****
+RemoteGreenstoneServer.Authentication_Message:Ø§ÙØ±Ø¬Ø§Ø¡ Ø¥Ø¯Ø®Ø§Ù ÙÙÙ
+Ø© Ø¥Ø³Ù
+ Ù
+Ø³ØªØ®Ø¯Ù
+ ÙØ±ÙÙØ³ØªÙÙ Ù ÙÙÙ
+Ø© Ø§ÙØ³Ø±:
+RemoteGreenstoneServer.Authentication_Message_gs3:Ù
+Ù ÙØ¶ÙÙ Ø£Ø¯Ø®Ù Ø§Ø³Ù
+ Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ ÙÙÙÙ
+Ø© Ø§ÙÙ
+Ø±ÙØ± ÙØšØ±ÙØ§Ù
+Ø¬ Greenstone:  
+RemoteGreenstoneServer.Error:Ø­Ø¯Ø« Ø®Ø·Ø£ ÙÙ Ù
+Ø²ÙØ¯ ÙØ±ÙÙØ³ØªÙÙ Ø®ÙØ§Ù ØªÙÙÙØ° Ø§ÙØ¹Ù
+ÙÙØ©:\n{0-Error message}
+RemoteGreenstoneServer.Error_Title:Ø®Ø·Ø£ Ù
+Ø²ÙØ¯ ÙØ±ÙÙØ³ØªÙÙ
+RemoteGreenstoneServer.Progress:ØªØ·ÙØ± Ù
+Ø²ÙØ¯ ÙØ±ÙÙØ³ØªÙÙ:
+RemoteGreenstoneServer.Steal_Lock_Message:ÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+ØºÙÙØ© ØšÙØ§Ø³Ø·Ø© Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ '{0-User name}'.\nÙÙ ØªÙØ¯ Ø¥Ù
+ØªÙØ§Ù Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+ØºÙÙ (ÙØ§ ÙÙØµØ­ ØšÙØ°Ø§, Ø±ØšÙ
+Ø§ ÙØ¶ÙØ¹ Ø§ÙØ¹Ù
+Ù)Ø
+#**********************
+#
+#***** Rename Prompt *****
+RenamePrompt.Name:Ø¥Ø³Ù
+:
+RenamePrompt.Title:Ø¥Ø¹Ø§Ø¯Ø© ØªØ³Ù
+ÙØ© Ù
+ÙÙ/Ù
+Ø¬ÙØ¯
+#**********************
+#
+#***** Replace Prompt *****
+ReplacePrompt.Title:Ø¥Ø³ØªØšØ¯Ø§Ù Ù
+ÙÙ Øš...
+#**********************
+#
+#***** Save Collection Box *****
+SaveCollectionBox.File_Name:Ø§Ø³Ù
+ Ø§ÙÙ
+ÙÙ:
+SaveCollectionBox.Files_Of_Type:Ù
+ÙÙØ§Øª Ù
+Ù ÙÙØ¹:
+SaveCollectionBox.Look_In:Ø§ÙÙØžØ± ÙÙ:
+#**********************
+#
+#***** Save Progress Box *******
+SaveProgressDialog.Title:Ø­ÙØž Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+#*******************************
+#
+Server.QuitManual:ÙÙ
+ ÙØ³ØªØ·Ø¹ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØºÙÙ Ù
+Ø²ÙØ¯ Ø§ÙÙ
+ÙØªØšØ© Ø§ÙÙ
+Ø­ÙÙ ØªÙÙØ§ØŠÙØ§. Ø§ÙØ±Ø¬Ø§Ø¡ ØºÙÙ ÙØ°Ø§ Ø§ÙÙ
+Ø²ÙØ¯ ÙØ¯ÙÙØ§ ØšØ§ÙÙÙØ± Ø¹ÙÙ Ù
+Ø±ØšØ¹ Ø§ÙØºÙÙ ÙÙ Ø§ÙØ±ÙÙ Ø§ÙØ£Ø¹ÙÙ Ø§ÙØ£ÙÙ
+Ù Ø«Ù
+ Ø§ÙÙÙØ± Ø¹ÙÙ  OK ÙÙ Ù
+Ø±ØšØ¹ Ø§ÙØ­ÙØ§Ø± ÙØ°Ø§.
+Server.QuitTimeOut:ÙÙ
+ ØªØ³ØªØ¬Øš Ù
+ÙØªØšØ© ÙØ±ÙÙØ³ØªÙÙ Ø§ÙÙ
+Ø­ÙÙØ© ÙØ§Ù
+Ø± Ø§ÙØºÙÙ ÙÙØªØ±Ø© 60 Ø«Ø§ÙÙØ©. ÙÙ ØªÙØ¯ Ø§ÙØ¥ÙØªØžØ§Ø± ÙÙØªØ±Ø© Ø¯ÙÙÙØ© Ø£Ø®Ø±ÙØ
+Server.StartUpTimeOut:ÙÙ
+ ØªØ³ØªØ¬Øš Ù
+ÙØªØšØ© Ø¬Ø±ÙÙØ³ØªÙÙ Ø§ÙÙ
+Ø­ÙÙØ© ÙØ£Ù
+Ø±\nØ¥ØšØ¯Ø£ ÙÙØªØ±Ø©   {0} Ø«Ø§ÙÙØ©. \nÙÙ ØªØ±ØºØš ØšØ§ÙØ¥ÙØªØžØ§Ø± ÙÙØªØ±Ø©  {0} Ø«Ø§ÙÙØ© Ø£Ø®Ø±Ù? 
+
+  
+#
+#***** Sources *****
+Source.General:Ø¹Ø§Ù
+
+#**********************
+#
+#***** Trees *****
+Tree.DownloadedFiles:Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+ÙØ²ÙØ©
+Tree.Files:Ù
+ÙÙØ§Øª
+Tree.Home:Ù
+Ø¬ÙØ¯ Ø§ÙÙ
+ÙÙØ¹ ({0})
+Tree.Root:Ù
+Ø³Ø§Ø­Ø© Ù
+ÙÙ Ù
+Ø­ÙÙØ©
+Tree.World:ÙØ«Ø§ØŠÙ  Ù
+Ø¬Ù
+ÙØ¹Ø§Øª ÙØ±ÙÙØ³ØªÙÙ
+#***********************
+#
+#***** Warning Dialog *****
+WarningDialog.Dont_Show_Again:ÙØ§ ØªØ¹Ø±Ø¶ ÙØ°Ù Ø§ÙØ±Ø³Ø§ÙØ© Ù
+Ø±Ø© Ø«Ø§ÙÙØ©
+WarningDialog.Dont_Show_Again_Message:ÙØ§ ØªØ¹Ø±Ø¶ ÙØ°Ù Ø§ÙØ±Ø³Ø§ÙØ© Ù
+Ø±Ø© Ø«Ø§ÙÙØ©
+WarningDialog.Invalid_Value:Ø§ÙÙÙÙ
+Ø© Ø§ÙÙ
+Ø¯Ø®ÙØ© ÙÙ ÙÙÙ
+Ø© Ø§ÙØ­ÙÙ ØºÙØ± ØµØ§ÙØ­Ø© Ù
+Ø¹ Ø§ÙØ®ØµØ§ØŠØµ Ø§ÙÙ
+Ø­Ø¯Ø¯Ø©.
+WarningDialog.Value:Ø¥Ø¯Ø®Ù ÙÙÙ
+Ø©:
+#
+#****** WGet *****
+WGet.Prompt:WGet Ù
+ØªØ·Ø§ØšÙØ§Øª Ù
+Ø²ÙØ¯
+#
+#****** Workflows *****
+Workflow.AllPanels:ÙÙ Ø§ÙÙØ§ÙØªØ§Øª
+Workflow.LocalSourceCollectionBuilding:Ø¹ÙØµØ± Ù
+Ø­ÙÙ ÙØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©
+Workflow.DocumentEnriching:Ø¥Ø«Ø±Ø§Ø¡ Ø§ÙÙØ«ÙÙØ©
+
+
+#********GEMS******
+
+GEMS.Title:Ù
+Ø­Ø±Ø± ÙØ±ÙÙØ³ØªÙÙ ÙÙ
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª
+GEMS.OpenMetadataSetPrompt.Title:ÙØªØ­ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª
+GEMS.OpenMetadataSetPrompt.Open_Tooltip:ÙØªØ­ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±
+GEMS.Set_Description:ÙØµÙ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª
+GEMS.OpenMetadataSetPrompt.Open:ÙØªØ­
+GEMS.OpenMetadataSetPrompt.Available_Sets:Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ØªÙÙØ±Ø©
+GEMS.DeleteMetadataSetPrompt.Title:Ø¥ÙØºØ§Ø¡ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª
+GEMS.DeleteMetadataSetPrompt.Delete_Tooltip:Ø¥ÙØºØ§Ø¡ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±
+GEMS.DeleteMetadataSetPrompt.Delete:Ø¥ÙØºØ§Ø¡
+GEMS.DeleteMetadataSetPrompt.Available_Sets:Ø¥ÙØºØ§Ø¡ Ø§ÙÙ
+Ø¹Ø§ÙÙØ± Ø§ÙÙ
+ØªÙÙØ±Ø©
+GEMS.DeleteMetadataSetPrompt.Confirm_Delete:ØªØ£ÙÙØ¯ Ø§ÙØ¥ÙØºØ§Ø¡
+GEMS.DeleteMetadataSetPrompt.No_Set:ÙØ§ ÙÙØ¬Ø¯ Ù
+Ø¹ÙØ§Ø±
+GEMS.Confirm_Removal:ÙÙ Ø£ÙØª Ù
+ØªØ£ÙØ¯ Ù
+Ù Ø£ÙÙ ØªÙØ¯ Ø­Ø°Ù ÙØ°Ø§ {0}Ø
+GEMS.Confirm_Removal_Title:ØªØ£ÙÙØ¯ Ø§ÙØ­Ø°Ù
+GEMS.Attribute:ØµÙØ©
+GEMS.Popup.AddElement:Ø¥Ø¶Ø§ÙØ© Ø¹ÙØµØ±
+GEMS.Popup.DeleteElement:Ø¥ÙØºØ§Ø¡ Ø¹ÙØµØ±
+GEMS.Popup.AddSubElement:Ø¥Ø¶Ø§ÙØ© Ø¹ÙØµØ± ÙØ±Ø¹Ù
+GEMS.Popup.DeleteSubElement:Ø¥ÙØºØ§Ø¡ Ø¹ÙØµØ± ÙØ±Ø¹Ù
+GEMS.NewMetadataSetPrompt.Title:Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¬Ø¯ÙØ¯
+GEMS.NewMetadataSetPrompt.Instructions:ÙØ¥ÙØŽØ§Ø¡ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¬Ø¯ÙØ¯ Ø¥Ø¯Ø®Ù ØšÙØ§ÙØ§Øª Ø§ÙØ­ÙÙÙ Ø£Ø¯ÙØ§Ù:
+GEMS.NewMetadataSetPrompt.Base_MetadataSet:ØªØ£Ø³ÙØ³ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙØ°Ø§ Ø¹ÙÙ:
+GEMS.NewMetadataSetPrompt.Metadata_Title:Ø¹ÙÙØ§Ù Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª:
+GEMS.NewMetadataSetPrompt.Metadata_Namespace:Ø¥Ø³Ù
+ Ù
+Ø³Ø§Ø­Ø© Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª:
+GEMS.NewMetadataSetPrompt.New_Metadata:-- Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¬Ø¯ÙØ¯ --
+GEMS.NewMetadataSetPrompt.Title_Error_Message:ØªØ¬Øš ØªØ³Ù
+ÙØ© Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØ¬Ø¯ÙØ¯
+GEMS.NewMetadataSetPrompt.Title_Error:ÙÙ
+ ÙØªÙ
+ ØªØ­Ø¯ÙØ¯ Ø¹ÙÙØ§Ù
+GEMS.NewMetadataSetPrompt.Namespace_Error_Message:ÙØ¬Øš ØªÙÙÙØ± Ø¥Ø³Ù
+ Ù
+Ø³Ø§Ø­Ø© ÙÙ
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØ¬Ø¯ÙØ¯
+GEMS.NewMetadataSetPrompt.Namespace_Error:ÙÙ
+ ÙØªÙ
+ ØªØ­Ø¯ÙØ¯ Ø¥Ø³Ù
+ Ù
+Ø³Ø§Ø­Ø©
+GEMS.SelectedLanguage:Ø¥Ø¶Ø§ÙØ© ØµÙØ§Øª ÙÙØºØ©:
+GEMS.Language:--Ø¥Ø®ØªÙØ§Ø± ÙØºØ©--
+GEMS.LanguageDependent:Ø§ÙØµÙØ§Øª ØšØ§ÙÙØºØ©
+GEMS.Attribute_Table:ØµÙØ§Øª
+GEMS.Attribute_Deletion_Error:Ø®Ø·Ø£ Ø¥ÙØºØ§Ø¡ Ø§ÙØµÙØ©
+GEMS.Attribute_Deletion_Error_Message:ÙØ°Ù Ø§ÙØµÙØ© Ù
+Ø·ÙÙØšØ© ÙØ§ ÙÙ
+ÙÙ Ø¥ÙØºØ§Ø€ÙØ§
+GEMS.Add_Lang_Depend_Attr_Error:Ø®Ø·Ø£ Ø§ÙÙØºØ© Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© ÙÙØµÙØ©
+GEMS.Add_Lang_Depend_Attr_Error_Message:ÙÙ
+ ØªÙÙØ± ØµÙØ©  "Ø§ÙÙØºØ© -Ø§ÙÙ
+Ø³ØªÙÙØ©" Ø Ø§ÙØ±Ø¬Ø§Ø¡ Ø¥Ø¶Ø§ÙØ© ÙØ°Ù Ø§ÙØµÙØ©
+GEMS.Attribute_Edition_Error:Ø®Ø·Ø£ Ø¥ØµØ¯Ø§Ø±Ø© Ø§ÙØµÙØ©
+GEMS.Attribute_Edition_Error_Message:ÙØ°Ù Ø§ÙØµÙØ© Ù
+Ø·ÙÙØšØ© Ù ÙØ§ ÙÙ
+ÙÙ Ø¥ÙØºØ§Ø€ÙØ§
+GEMS.Confirm_Save:Ø­Ø¯Ø« ØªØºÙÙØ± ÙÙ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙØ°Ø§Ø ÙÙ ØªØ±ØºØš ÙÙ Ø­ÙØžÙØ
+GEMS.Confirm_Save_Title:Ø­ÙØž Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª
+GEMS.Confirm_DeleteElement:ÙÙ Ø£ÙØª Ù
+ØªØ£ÙØ¯ Ù
+Ù Ø¥ÙØºØ§Ø¡ Ø§ÙØ¹ÙØµØ± {0}Ø
+GEMS.Confirm_DeleteElement_Title:Ø¥ÙØºØ§Ø¡  Ø¹ÙØµØ±
+GEMS.File_Deletion_Error_Message:ÙØ§ ÙÙ
+ÙÙ Ø¥ÙØºØ§Ø¡ ÙØ°Ø§ Ø§ÙÙ
+ÙÙ
+GEMS.File_Deletion_Error:Ø®Ø·Ø£ Ø¥ÙØºØ§Ø¡ Ù
+ÙÙ
+GEMS.Namespace_Conflict_Message:ØªØ­Ø°ÙØ±: Ø¥Ø³Ù
+ Ø§ÙÙ
+Ø³Ø§Ø­Ø© ÙØ°Ø§ Ù
+Ø³ØªØ®Ø¯Ù
+ Ù
+Ù ÙØšÙ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¢Ø®Ø±. Ø£Ø³ØªÙ
+Ø± Ø
+GEMS.Namespace_Conflict:Ø¥Ø³Ù
+ Ù
+Ø³Ø§Ø­Ø© Ù
+ØªØ¶Ø§Ø±Øš
+GEMS.Move_Up:ØªØ­Ø±ÙÙ Ø¥ÙÙ Ø§Ø¹ÙÙ
+GEMS.Move_Down:ØªØ­Ø±ÙÙ Ø¥ÙÙ Ø£Ø³ÙÙ
+GEMS.Cannot_Undo:(ÙØ§ ÙÙ
+ÙÙ ÙÙØ¶ ÙØ°Ø§ Ø§ÙØ¥Ø¬Ø±Ø§Ø¡)
+
+GEMS.AttributeTable.Name:Ø¥Ø³Ù
+
+GEMS.AttributeTable.Language:ÙØºØ©
+GEMS.AttributeTable.Value:ÙÙÙ
+Ø©
+GEMS.NewMetadataElementNamePrompt.Title:Ø¹ÙØµØ± Ø¬Ø¯ÙØ¯
+GEMS.NewMetadataElementNamePrompt.Name:Ø§ÙØ±Ø¬Ø§Ø¡ Ø¥Ø¯Ø®Ø§Ù Ø¥Ø³Ù
+ Ø§ÙØ¹ÙØµØ± Ø§ÙØ¬Ø¯ÙØ¯
+GEMS.NewMetadataElementNamePrompt.SubTitle:Ø¹ÙØµØ± ÙØ±Ø¹Ù Ø¬Ø¯ÙØ¯
+GEMS.NewMetadataElementNamePrompt.SubName:Ø§ÙØ±Ø¬Ø§Ø¡ Ø¥Ø¯Ø®Ø§Ù Ø¥Ø³Ù
+ Ø§ÙØ¹ÙØµØ± Ø§ÙÙØ±Ø¹Ù
+GEMS.NewMetadataElementNamePrompt.Name_Error_Message:Ø¹ÙØµØ± ØšÙØ°Ø§ Ø§ÙØ¥Ø³Ù
+ Ù
+ÙØ¬ÙØ¯ Ù
+Ù ÙØšÙ
+GEMS.NewMetadataElementNamePrompt.Name_Error:Ø®Ø·Ø£ Ø¥Ø³Ù
+ Ø¹ÙØµØ±
+GEMS.NewMetadataElementNamePrompt.EmptyName_Error_Message:ÙØ¬Øš ØªÙÙÙØ± Ø¥Ø³Ù
+ ÙÙØ¹ÙØµØ± Ø§ÙØ¬Ø¯ÙØ¯.
+
+
+GEMS.No_Set_Loaded:ÙÙ
+ ÙØªÙ
+ ØªØ­Ù
+ÙÙ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª. Ø§ÙØ±Ø¬Ø§Ø¡ Ø¥Ø³ØªØ®Ø¯Ø§Ù
+  Ù
+ÙÙ->Ø¬Ø¯ÙØ¯ ÙØ¥ÙØŽØ§Ø¡ Ù
+Ø¹ÙØ§Ø± Ø¬Ø¯ÙØ¯, Ø£Ù Ù
+ÙÙ->ÙØªØ­ ÙÙØªØ­ Ù
+Ø¹ÙØ§Ø± Ù
+ÙØ¬ÙØ¯
Index: main/tags/2.83/gli/classes/dictionary_ca.properties
===================================================================
--- main/tags/2.83/gli/classes/dictionary_ca.properties	(revision 21123)
+++ main/tags/2.83/gli/classes/dictionary_ca.properties	(revision 21123)
@@ -0,0 +1,1045 @@
+#*******************
+#** Language Orientation Property
+Component.Orientation:LTR
+
+#*******************
+#
+#***** AboutDialog *****
+AboutDialog.Acknowledgement:AgraÃ¯ments als autors de programes, paquets, classes, etc. amb drets d'autor  
+AboutDialog.Date:(Juny de 2006)  
+AboutDialog.Item0:Xerces Java 1' de The Apache Software Foundation (http://www.apache.org/)  
+AboutDialog.Item2:WGet' de Free Software Foundation, Inc. (http://www.gnu.org/software/wget/wget.html)  
+AboutDialog.Item3:qflib' de Quality First Software GmbH. (http://www.qfs.de/en/qflib/index.html)  
+AboutDialog.Item4:ExtensionFileFilter.class' de Bruno Dumon i colÂ·laboradors (http://pollo.sourceforge.net/)  
+AboutDialog.Item5:'How to disable file renaming in file chooser' - vladi21 (http://www.experts-exchange.com/)  
+AboutDialog.Item6:'Autoscrolling' - Java Swing by Robert Eckstein, Marc Loy & Dave Wood (http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf)  
+AboutDialog.Item7:'Add ghosted drag images to your JTrees' - By Andrew J. Armstrong (http://www.javaworld.com/javaworld/javatips/jw-javatip114.html)  
+AboutDialog.Item8:Stop annoying java.prefs error when you don't have superuser access' - GrÃ cies a Walter Schatz  
+AboutDialog.Java_Req:Java Ã©s una marca registrada de Sun Microsystems Inc. El JRE es redistribueix conforme a les condicions establertes en el document Supplemental License Terms, que es pot trobar a http://java.sun.com/j2se/1.4.1/j2re-1_4_1_02-license.html  
+AboutDialog.Java_Req_One:Aquest producte inclou codi amb llicÃšncia d'Ãºs de RSA Security, Inc.   
+AboutDialog.Java_Req_Two:N'hi ha parts amb llicÃšncia d'IBM que estan disponibles a http\://oss.software.ibm.com/icu4j/  
+AboutDialog.Thanks:GrÃ cies tambÃ© a aquelles persones que han publicat informaciÃ³ Ãºtil sobre java a la web...  
+AboutDialog.Title:Sobre...  
+AboutDialog.Title_One:InterfÃ­cie de Bibliotecari de Greenstone  
+AboutDialog.Title_Two:Biblioteca Digital Greenstone, Universitat de Waikato  
+AboutDialog.Copyright:Copyright (C) 2003 New Zealand Digital Library Project  
+AboutDialog.Copyright_Two:Publicat sota GPL. Consulteu LICENSE.txt per a mÃ©s informaciÃ³  
+#***********************
+#
+#***** Audit Table *****
+AuditTable.File:Nom de fitxer  
+#***********************
+#
+#***** Auto Filter *****
+Autofilter.AND:I  
+Autofilter.Ascending:Ascendent  
+Autofilter.Case_Sensitive:Han de coincidir maj./min.  
+Autofilter.Custom_Filter:AvanÃ§at  
+Autofilter.Descending:Descendent  
+Autofilter.Filter_By_Value:Simple  
+Autofilter.Name:Nom de columna  
+Autofilter.None:Cap  
+Autofilter.Operator:CondiciÃ³  
+Autofilter.OR:O   
+Autofilter.Order:OrdenaciÃ³  
+Autofilter.Order_Tooltip:Ordena els resultats coincidents segons aquest criteri  
+Autofilter.Remove:Treu el filtre  
+Autofilter.Remove_Tooltip:Elimina aquest filtre de la columna de taula  
+Autofilter.Set:Posa el filtre  
+Autofilter.Set_Tooltip:Afegeix aquest filtre a la columna de la taula  
+Autofilter.Table_Header_Tooltip:Filtra per {0}  
+Autofilter.Title:Metadades de l'autofiltre  
+Autofilter.eqeq:igual que  
+Autofilter.!eq:no Ã©s igual que  
+Autofilter.<:Ã©s menys que  
+Autofilter.<eq:Ã©s menys o igual que  
+Autofilter.>:Ã©s mÃ©s que  
+Autofilter.>eq:Ã©s mÃ©s o igual que  
+Autofilter.^:comenÃ§a amb  
+Autofilter.!^:no comenÃ§a amb  
+Autofilter.$:acaba amb  
+Autofilter.!$:no acaba amb  
+Autofilter.?:contÃ©  
+Autofilter.!?:no contÃ©  
+#
+#     ********************************************************
+#     *************** Collection Design Module ***************
+#     ********************************************************
+#     * The dictionary  phrases  used in the creation of the *
+#     * Colection  Design  Module. Note that we  still  have *
+#     * access  to the format  arguments (argument  32+) for *
+#     * html formatting.                                     *
+#     ********************************************************
+CDM.ArgumentConfiguration.Bad_Integer:<html>L'argument '{0}' exigeix un valor enter, <br>perÃ² {1} no es pot dividir en cap altre nombre enter.</html>  
+CDM.ArgumentConfiguration.Error_Title:Error als arguments  
+CDM.ArgumentConfiguration.Header:<HTML><STRONG><FONT FACE={FONT} COLOR=Black SIZE=5><CENTER>Configureu els arguments per a {0}.</CENTER></FONT></STRONG></HTML>  
+CDM.ArgumentConfiguration.No_Value:L'argument '{0}' exigeix un valor, i no se n'ha especificat cap   
+CDM.ArgumentConfiguration.Required_Argument:L'argument '{0}' ha de tenir un valor  
+CDM.ArgumentConfiguration.Title:Configurar arguments  
+CDM.BuildTypeManager.Title:Seleccionar l'indexador  
+CDM.BuildTypeManager.mg:MG  
+CDM.BuildTypeManager.mg_Description:Aquest Ã©s el primer indexador que va fer servir Greenstone, creat principalment per Alistair Moffat i descrit al llibre de consulta Managing Gigabytes. Fa Ã­ndexs a nivell de seccions i cerques booleanes o jerarquitzades (no de totes dues classes alhora). Per cada Ã­ndex especificat a la colÂ·lecciÃ³, es crea un Ã­ndex fÃ­sic a part. Per cercar frases, Greenstone fa una cerca "i" de tots els termes, i desprÃ©s explora els resultats obtinguts per veure si contenen la frase. S'ha experimentat Ã mpliament en grans colÂ·leccions (de molts GB).  
+CDM.BuildTypeManager.mgpp:MGPP  
+CDM.BuildTypeManager.mgpp_Description:Aquesta nova versiÃ³ de MG (MG plus plus) va ser creada pel New Zealand Digital Library Project. Crea Ã­ndexs a nivell de paraules, la qual cosa permet a l'indexador gestionar cerques de proximitat, de frases i per camps. Les cerques booleanes es poden jerarquitzar. Per a cada colÂ·lecciÃ³ de Greenstone es crea un sol Ã­ndex: els nivells de document/secciÃ³ i els camps de text/metadades sÃ³n gestionats per aquest Ãºnic Ã­ndex. Per a colÂ·leccions amb molts Ã­ndexs, aixÃ² permet que les colÂ·leccions siguin mÃ©s petites que mitjanÃ§ant MG. Per a colÂ·leccions molt voluminoses, la cerca pot ser una mica mÃ©s lenta pel fet que l'Ã­ndex sigui de nivell de paraules i no de seccions.   
+CDM.BuildTypeManager.lucene:Lucene  
+CDM.BuildTypeManager.lucene_Description:Lucene ha estat desenvolupat per Apache Software Foundation. Gestiona les cerques per camps i de proximitat, perÃ² nomÃ©s a un sol nivell (Ã©s a dir, documents complets o seccions concretes, perÃ² no totes dues coses). Per aixÃ² els Ã­ndexs de documents i de seccions d'una colÂ·lecciÃ³ requereixen dos Ã­ndexs diferents. Ofereix un grau de funcionalitat de cerca semblant al de MGPP, a mÃ©s de comodins d'un sol carÃ cter, cerques per rang i ordenaciÃ³ de resultats per camps de metadades. Aquests es van afegir a Greenstone per facilitar la construcciÃ³ gradual de les colÂ·leccions, cosa que MG i MGPP no poden oferir.   
+CDM.BuildTypeManager.Current_Type:Indexador en Ãºs: {0}  
+CDM.BuildTypeManager.Change:Canvia...  
+CDM.BuildTypeManager.Change_Tooltip:Canvia l'indexador utilitzat en aquesta colÂ·lecciÃ³  
+CDM.ClassifierManager.Add:Afegeix classificador...  
+CDM.ClassifierManager.Add_Tooltip:Utilitza el classificador especificat amb aquesta colÂ·lecciÃ³  
+CDM.ClassifierManager.Assigned:Classificadors assignats  
+CDM.ClassifierManager.Classifier:Seleccioneu classificador per afegir:  
+CDM.ClassifierManager.Classifier_Str:classificador  
+CDM.ClassifierManager.Classifier_List_XML_Parse_Failed:No es pot obtenir la llista de classificadors mitjanÃ§ant classinfo.pl -listall.  
+CDM.ClassifierManager.Classifier_XML_Parse_Failed:No s'han pogut determinar els arguments per al classificador {0}\n. Comproveu que el classificador\ncontÃ© l'indicador -xml executant el classinfo.pl script\n, que s'assembla a la descripciÃ³ de l'script del pluginfo.pl que es troba a\nla secciÃ³ 2.1 de la Guia del Programador de Greenstone.  
+CDM.ClassifierManager.Configure:Configura el classificador...  
+CDM.ClassifierManager.Configure_Tooltip:Canvia les opcions del classificador seleccionat  
+CDM.ClassifierManager.Remove:Elimina classificador  
+CDM.ClassifierManager.Remove_Tooltip:Elimina el classificador seleccionat de la llista  
+CDM.FormatManager.Add:Afegeix format  
+CDM.FormatManager.Add_Tooltip:Afegeix l'ordre de format especificada  
+CDM.FormatManager.AllFeatures:Totes les funcions  
+CDM.FormatManager.AllParts:Tots els components  
+CDM.FormatManager.Default:Reset to Default
+CDM.FormatManager.Default_Tooltip:Reset the selected format command to its default value 
+CDM.FormatManager.Editor:Cadena de format HTLM  
+CDM.FormatManager.Editor_Tooltip:Introdueix o modifica l'ordre de format  
+CDM.FormatManager.Editor_Disabled_Tooltip:Feu clic sobre 'Afegeix format' per afegir aquesta ordre de format a la colÂ·lecciÃ³.  
+CDM.FormatManager.Enabled:Habilitat  
+CDM.FormatManager.Feature:Escolliu funciÃ³  
+CDM.FormatManager.Feature_Tooltip:La funciÃ³ que s'ha de formatar  
+CDM.FormatManager.Insert:Insereix  
+CDM.FormatManager.Insert_Tooltip:Insereix la variable seleccionada en l'ordre de format  
+CDM.FormatManager.Default:Restableix els valors incials  
+CDM.FormatManager.Default_Tooltip:Restitueix la variable seleccionada als seus valors inicials  
+CDM.FormatManager.Insert_Variable:Insereix variable...  
+CDM.FormatManager.Part:Component afectat  
+CDM.FormatManager.Part_Tooltip:L'aspecte de la funciÃ³ seleccionada per formatar  
+CDM.FormatManager.Remove:Elimina format  
+CDM.FormatManager.Remove_Tooltip:Elimina l'ordre de format seleccionada  
+CDM.FormatManager.Variable_Tooltip:Insereix una de les variables predefinides en l'ordre de format seleccionada  
+
+
+CDM.General.Access:Aquesta colÂ·lecciÃ³ ha de ser d'accÃ©s pÃºblic  
+CDM.General.Browser_Title:Seleccionar una imatge  
+CDM.General.Collection_Extra:DescripciÃ³ de la colÂ·lecciÃ³:  
+CDM.General.Collection_Extra_Tooltip:Una descripciÃ³ de la finalitat i el contingut de la colÂ·lecciÃ³  
+CDM.General.Collection_Name:TÃ­tol de la colÂ·lecciÃ³:  
+CDM.General.Collection_Name_Tooltip:Nom de la colÂ·lecciÃ³  
+CDM.General.Email.Creator:Correu electrÃ²nic del creador  
+CDM.General.Email.Creator_Tooltip:AdreÃ§a electrÃ²nica del creador de la colÂ·lecciÃ³  
+CDM.General.Email.Maintainer:Correu electrÃ²nic del responsable de manteniment  
+CDM.General.Email.Maintainer_Tooltip:AdreÃ§a electrÃ²nica del responsable de manteniment de la colÂ·lecciÃ³  
+CDM.General.Icon_Collection:URL a la imatge de la pÃ gina 'sobre':  
+CDM.General.Icon_Collection_Tooltip:URL de la imatge que es visualitzarÃ  a la pÃ gina 'sobre' de la colÂ·lecciÃ³  
+CDM.General.Icon_Collection_Small:URL a la imatge de la pÃ gina 'inici':  
+CDM.General.Icon_Collection_Small_Tooltip:URL de la imatge que es visualitzarÃ  a la pÃ gina inicial de la biblioteca per a aquesta colÂ·lecciÃ³  
+CDM.General.Image_Copy_Failed:S'ha produÃ¯t un error que impedeix copiar la imatge que heu seleccionat.\nIntenteu copiar la imatge manualment:\n{0}\n a la carpeta d'imatges de la colÂ·lecciÃ³:\n{1}  
+CDM.General.Image_Filter:Imatges (gifs, jpgs i pngs)  
+CDM.GUI.Classifiers:Examina els classificadors  
+CDM.GUI.Formats:CaracterÃ­stiques de format  
+CDM.GUI.General:General  
+CDM.GUI.Indexes:Ãndexs de cerca  
+CDM.GUI.Macros:Macros especÃ­fiques de les colÂ·leccions  
+CDM.GUI.Plugins:Plugins del document  
+CDM.GUI.Root:CDM_ROOT  
+CDM.GUI.SearchMetadata:Cerca  
+CDM.GUI.Subcollections:Ãndexs de particiÃ³  
+CDM.GUI.SuperCollection:Cerca transversal en colÂ·leccions  
+CDM.GUI.Translation:Tradueix text  
+CDM.HelpButton:Ajuda d'aquesta pantalla  
+CDM.HelpButton_Tooltip:Obre l'ajuda de la IBG d'aquesta pantalla  
+CDM.IndexManager.Add_Index:Afegeix Ã­ndex  
+CDM.IndexManager.Add_Index_Tooltip:Afegeix l'Ã­ndex especificat  
+CDM.IndexManager.Allfields_Index:Afegeix cerca combinada per tots els Ã­ndexs assignats (tots els camps)  
+CDM.IndexManager.Default_Index_Indicator:[Ãndex preestablert]  
+CDM.IndexManager.Index_Exists:L'Ã­ndex ja ha estat assignat a aquesta colÂ·lecciÃ³  
+CDM.IndexManager.Indexes:Ãndexs assignats  
+CDM.IndexManager.Level:Nivell d'indexaciÃ³:  
+CDM.IndexManager.Level_Tooltip:Unitat textual en quÃš es basa l'Ã­ndex  
+CDM.IndexManager.Add_All:Afegeix-los tots  
+CDM.IndexManager.Add_All_Tooltip:Afegeix un Ã­ndex diferent per a cada font  
+CDM.IndexManager.Edit_Index:Edita Ã­ndex  
+CDM.IndexManager.Edit_Index_Tooltip:Modifica l'Ã­ndex seleccionat  
+CDM.IndexManager.New_Index:Nou Ã­ndex  
+CDM.IndexManager.New_Index_Tooltip:Afegeix un Ã­ndex nou  
+CDM.IndexManager.Remove_Index:Elimina Ã­ndex  
+CDM.IndexManager.Remove_Index_Tooltip:Elimina l'Ã­ndex seleccionat  
+CDM.IndexManager.Replace_Index:Substitueix Ã­ndex  
+CDM.IndexManager.Replace_Index_Tooltip:Actualitza l'Ã­ndex seleccionat  
+CDM.IndexManager.Select_All:Selecciona-les totes  
+CDM.IndexManager.Select_All_Tooltip:Selecciona totes les fonts d'Ã­ndexs  
+CDM.IndexManager.Select_None:No en seleccionis cap  
+CDM.IndexManager.Select_None_Tooltip:Desselecciona totes les fonts d'Ã­ndex  
+CDM.IndexManager.Set_Default:Restitueix l'Ã­ndex preestablert  
+CDM.IndexManager.Set_Default_Tooltip:Preestableix l'Ã­ndex seleccionat   
+CDM.IndexManager.Source:Inclou a l'Ã­ndex:  
+CDM.IndexManager.Source_Tooltip:Els elements de metadades sobre els quals s'ha de construir l'Ã­ndex  
+CDM.IndexManager.Text_Source:Text complet  
+CDM.IndexManager.Text_Source_Tooltip:Inclou el text complet dels documents presents a l'Ã­ndex  
+CDM.IndexingManager.Accent_fold:Omet accents  
+CDM.IndexingManager.Casefold:Tot en minÃºscules  
+CDM.IndexingManager.Options:Opcions d'indexaciÃ³:  
+CDM.IndexingManager.Stem:Arrel  
+CDM.LanguageManager.Add_Tooltip:Afegeix una particiÃ³ d'Ã­ndex basada en els idiomes especificats  
+CDM.LanguageManager.Assigned_Languages:Particions d'idioma assignades  
+CDM.LanguageManager.Default_Language:Idioma preestablert  
+CDM.LanguageManager.LanguageMetadata:Metadades d'idioma:  
+CDM.LanguageManager.LanguageMetadata_Tooltip:L'element de metadades que s'utilitza per determinar l'idioma d'un document  
+CDM.LanguageManager.Remove_Tooltip:Elimina la particiÃ³ d'idioma seleccionada de la llista  
+CDM.LanguageManager.Replace_Tooltip:Substitueix la particiÃ³ seleccionada amb una de nova basada en els idiomes triats  
+CDM.LanguageManager.Selector:Idiomes per afegir:  
+CDM.LanguageManager.Selector_Tooltip:Els idiomes sobre els quals es pot construir una particiÃ³ d'Ã­ndex  
+CDM.LanguageManager.Set_Default:Fixa l'opciÃ³ preestablerta  
+CDM.LanguageManager.Set_Default_Tooltip:Fixa la particiÃ³ d'idioma seleccionada com a opciÃ³ preestablerta  
+CDM.LevelManager.Document:document  
+CDM.LevelManager.Section:secciÃ³  
+CDM.LevelManager.Paragraph:parÃ graf  
+CDM.LevelManager.Level_Title:Nivells d'indexaciÃ³  
+CDM.LevelManager.Default:OpciÃ³ preestablerta  
+CDM.LevelManager.Default_Tooltip:Nivell preestablert a la interfÃ­cie del lector  
+CDM.MacrosManager.Editor_Tooltip:AquÃ­ podeu editar les macros  
+CDM.Move.At_Bottom:No es pot fer baixar mÃ©s el {0} {1} perquÃš ja Ã©s al final de la llista.  
+CDM.Move.At_Top:No es pot fer pujar mÃ©s el {0} {1} perquÃš ja Ã©s al capdamunt de la llista.  
+CDM.Move.Cannot:No es pot fer baixar mÃ©s el plugin {0} perquÃš RecPlug i ArcPlug han d'anar al final de la llista.  
+CDM.Move.Fixed:<html>RecPlug i ArcPlug han de ser, per regla general, els darrers, i per aixÃ² es fixen al seu lloc.<br>Si realment us cal moure'ls, editeu manualment el fitxer collect.cfg.</html>  
+CDM.Move.Move_Down:Baixa  
+CDM.Move.Move_Down_Tooltip:Fa baixar l'element seleccionat per la llista  
+CDM.Move.Move_Up:Puja  
+CDM.Move.Move_Up_Tooltip:Fa pujar l'element seleccionat per la llista  
+CDM.Move.Title:Error - No es pot moure  
+CDM.PlugInManager.Add:Afegeix plugin...  
+CDM.PlugInManager.QuickAdd:Afegeix plugin  
+CDM.PlugInManager.Add_Tooltip:Utilitza el plugin especificat amb aquesta colÂ·lecciÃ³  
+CDM.PlugInManager.Assigned:Plugins assignats  
+CDM.PlugInManager.Configure:Configura el plugin...  
+CDM.PlugInManager.Configure_Tooltip:Canvia les opcions del plugin seleccionat  
+CDM.PlugInManager.Ignore:No afegeixis plugin  
+CDM.PlugInManager.Ignore_Tooltip:No afegeixis cap plugin a aquesta colÂ·lecciÃ³  
+CDM.PlugInManager.PlugIn:Seleccioneu el plugin que voleu afegir  
+CDM.PlugInManager.PlugIn_Tooltip:Plugins disponibles per a Ãºs en aquesta colÂ·lecciÃ³:  
+CDM.PlugInManager.PlugIn_Str:plugin  
+CDM.PlugInManager.PlugIn_XML_Parse_Failed:No es poden determinar els arguments del plugin{0}\n. Comproveu que el plugin en qÃŒestiÃ³ contÃ©\nl'indicador -xml executant l'script pluginfo.pl descrit\na la secciÃ³ 2.1 de la Guia del Programador de Greenstone.   
+CDM.PluginManager.Plugin_List_XML_Parse_Failed:No s'ha pogut obtenir la llista de plugins mitjanÃ§ant pluginfo.pl -listall.  
+CDM.PluginManager.Plugin_Suggestion_Prompt:No es troba cap plugin en aquesta colÂ·lecciÃ³ que pugui processar el fitxer "{0}". Es poden utilitzar els plugins segÃŒents per processar-lo. Ara en podeu afegir un a la colÂ·lecciÃ³ seleccionant-lo i pitjant el botÃ³ Afegeix. (Penseu que podeu canviar la llista de plugins en qualsevol moment des de "Plugins del document" al panell de disseny.)  
+CDM.PlugInManager.Remove:Elimina plugin  
+CDM.PlugInManager.Remove_Tooltip:Elimina el plugin seleccionat de la llista  
+CDM.PluginManager.SuggestedPluginListTitle:Plugins suggerits per al fitxer  
+CDM.SearchMetadataManager.Component:Element en el menÃº de cerca  
+CDM.SearchMetadataManager.Component_Name:Visualitza el text  
+CDM.SearchMetadataManager.Type_index:Ãndex  
+CDM.SearchMetadataManager.Type_level:Nivell  
+CDM.SearchMetadataManager.Type_partition:ParticiÃ³  
+CDM.SearchMetadataManager.Type_language:ParticiÃ³ d'idioma  
+CDM.SubcollectionManager.Add:Afegeix filtre  
+CDM.SubcollectionManager.Add_Tooltip:Afegeix el filtre especificat a la colÂ·lecciÃ³  
+CDM.SubcollectionManager.Assigned:Filtres de subcolÂ·lecciÃ³ definits  
+CDM.SubcollectionManager.Exclude:Exclou  
+CDM.SubcollectionManager.Flags:Indicadors que s'utilitzaran quan es trobin correspondÃšncies  
+CDM.SubcollectionManager.Flags_Tooltip:Indicadors d'expressiÃ³ regular que s'utilitzaran quan hi hagi correspondÃšncies (p. ex., "i" per ometre maj./min.)  
+CDM.SubcollectionManager.Include:Inclou  
+CDM.SubcollectionManager.Inclusive:QuÃš fem amb els fitxers que coincideixen?  
+CDM.SubcollectionManager.Language_Controls:Assigna idiomes  
+CDM.SubcollectionManager.Match:ExpressiÃ³ regular amb quÃš ha de coincidir:  
+CDM.SubcollectionManager.Match_Tooltip:Una expressiÃ³ regular que defineix els documents d'aquesta subcolÂ·lecciÃ³  
+CDM.SubcollectionManager.Name:Nom del filtre de subcolÂ·lecciÃ³:  
+CDM.SubcollectionManager.Name_Tooltip:Nom del nou filtre de subcolÂ·lecciÃ³  
+CDM.SubcollectionManager.Partitions_Disabled:Aquesta funciÃ³ estÃ  deshabilitada perquÃš esteu treballant en mode {0-Current Mode}. NomÃ©s s'hi pot acedir en els modes {1-Systems} i {2-Expert}. Utilitzeu Fitxer->PreferÃšncies per canviar el mode de treball.  
+CDM.SubcollectionManager.Remove:Elimina filtre  
+CDM.SubcollectionManager.Remove_Tooltip:Elimina el filtre seleccionat de la llista  
+CDM.SubcollectionManager.Replace:ReemplaÃ§a el filtre  
+CDM.SubcollectionManager.Replace_Tooltip:Actualitza les dades del filtre seleccionat  
+CDM.SubcollectionManager.Source:L'atribut del document ha de coincidir amb:  
+CDM.SubcollectionManager.Source_Tooltip:L'atribut del document que s'ha de filtrar  
+CDM.SubcollectionManager.Subcollection_Controls:Defineix filtres  
+CDM.SubcollectionManager.Subindex_Controls:Assigna particions  
+CDM.SubcollectionIndexManager.Add_Subindex:Afegeix particiÃ³  
+CDM.SubcollectionIndexManager.Add_Subindex_Tooltip:Afegeix la particiÃ³ especificada a aquesta colÂ·lecciÃ³  
+CDM.SubcollectionIndexManager.Default_Partition_Indicator:[ParticiÃ³ preestablerta]  
+CDM.SubcollectionIndexManager.Remove_Subindex:Elimina particiÃ³  
+CDM.SubcollectionIndexManager.Remove_Subindex_Tooltip:Elimina la particiÃ³ seleccionada d'aquesta colÂ·lecciÃ³  
+CDM.SubcollectionIndexManager.Replace_Subindex:Substitueix particiÃ³  
+CDM.SubcollectionIndexManager.Replace_Subindex_Tooltip:Actualitza la particiÃ³ seleccionada  
+CDM.SubcollectionIndexManager.Set_Default_Subindex:Estableix l'opciÃ³ preestablerta  
+CDM.SubcollectionIndexManager.Set_Default_Subindex_Tooltip:Preestableix la particiÃ³ seleccionada  
+CDM.SubcollectionIndexManager.Source:Construeix la particiÃ³ sobre:  
+CDM.SubcollectionIndexManager.Source_Tooltip:Els filtres de subcolÂ·lecciÃ³ sobre els quals s'ha de construir la particiÃ³  
+CDM.SubcollectionIndexManager.Subindexes:Particions de subcolÂ·lecciÃ³ assignades  
+CDM.TranslationManager.Add:Afegeix traducciÃ³  
+CDM.TranslationManager.Add_Tooltip:Afegeix la traducciÃ³ especificada a la colÂ·lecciÃ³  
+CDM.TranslationManager.Affected_Features:CaracterÃ­stiques  
+CDM.TranslationManager.Assigned_Fragments:Traduccions assignades  
+CDM.TranslationManager.Default_Text:Fragment inicial del text  
+CDM.TranslationManager.Fragment_Column:Fragment de text  
+CDM.TranslationManager.Language:Idioma de la traducciÃ³:  
+CDM.TranslationManager.Language_Column:Idioma:  
+CDM.TranslationManager.Language_Tooltip:Idioma al qual es tradueix  
+CDM.TranslationManager.Remove:Elimina traducciÃ³  
+CDM.TranslationManager.Remove_Tooltip:Elimina la traducciÃ³ seleccionada de la colÂ·lecciÃ³  
+CDM.TranslationManager.Replace:ReemplaÃ§a traducciÃ³  
+CDM.TranslationManager.Replace_Tooltip:Actualitza la traducciÃ³ seleccionada  
+CDM.TranslationManager.Translation:Text traduÃ¯t  
+CDM.TranslationManager.Translation_Tooltip:AquÃ­ podeu introduir la traducciÃ³ de la cadena  
+#*******************
+#
+#***** Collection *****
+Collection.Collection:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>ColÂ·lecciÃ³</FONT></STRONG></HTML>  
+Collection.Delete_Tooltip:Elimina fitxers i carpetes seleccionats  
+Collection.Filter_Tooltip:Redueix els fitxers que es mostren a l'arbre de fitxers  
+Collection.New_Folder_Tooltip:Crea una nova carpeta  
+Collection.No_Collection:Cap colÂ·lecciÃ³  
+Collection.No_Collection_Loaded:Cap colÂ·lecciÃ³ carregada  
+Collection.Stop:Atura  
+Collection.Stop_Tooltip:Atura de copiar fitxers  
+Collection.Workspace:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>Espai de treball</FONT></STRONG></HTML>  
+#**********************
+#
+#***** CollectionBuilt *****
+CollectionBuilt.Message:La colÂ·lecciÃ³ ha estat construÃ¯da i estÃ  a punt per a una vista preliminar  
+CollectionBuilt.Title:Resultat de la creaciÃ³ de colÂ·lecciÃ³  
+#***************************
+#
+#***** CollectionManager *****
+CollectionManager.Build_Cancelled:S'ha cancelÂ·lat la construcciÃ³ de la colÂ·lecciÃ³.  
+CollectionManager.Cannot_Create_Collection:S'ha produÃ¯t un error i no s'ha pogut crear la colÂ·lecciÃ³.  
+CollectionManager.Cannot_Create_Collection_With_Reason:La colÂ·lecciÃ³ no s'ha pogut crear a causa de:\n{0-missatge d'error}  
+CollectionManager.Cannot_Delete_Index:Aquesta colÂ·lecciÃ³ no es pot reconstruir perquÃš els antics fitxers d'Ã­ndexs no es poden eliminar.\nComproveu que Greenstone ni cap altre programa no estiguin utilitzant aquests fitxers,\n i torneu a intentar-ho.  
+CollectionManager.Cannot_Delete_Index_Log:No es poden eliminar els antics fitxers d'Ã­ndexs i per tant s'ha aturat la importaciÃ³.   
+CollectionManager.Cannot_Open:La colÂ·lecciÃ³ a:\n{0-Collection file path}\nno es pot obrir.  
+CollectionManager.Cannot_Open_With_Reason:La colÂ·lecciÃ³ a:\n{0-Collection file path}\nno es pot obrir perquÃš:\n{1-missatge d'error}  
+CollectionManager.Creating_Collection:Crear una colÂ·lecciÃ³  
+CollectionManager.Creating_Collection_Please_Wait:EstÃ  creant la colÂ·lecciÃ³, espereu...  
+CollectionManager.Loading_Collection:EstÃ  carregant la colÂ·lecciÃ³  
+CollectionManager.Loading_Collection_Please_Wait:La colÂ·lecciÃ³ s'estÃ  carregant, espereu...  
+CollectionManager.Loading_Successful:ColÂ·lecciÃ³ {0} carregada.  
+CollectionManager.Missing_Config:Aquesta colÂ·lecciÃ³ no tÃ© cap fitxer collect.cfg vÃ lid  
+CollectionManager.Not_Col_File:{0}' no Ã©s un fitxer de colÂ·lecciÃ³ de la InterfÃ­cie de Bibliotecari (.col)  
+CollectionManager.No_Config_File:El fitxer collect.cfg no ha estat creat per mkcol.pl.  
+CollectionManager.Preview_Ready_Failed:S'ha produÃ¯t un error que impedirÃ  la vista preliminar de la colÂ·lecciÃ³.  
+CollectionManager.Preview_Ready_Title:Estat de vista preliminar de la colÂ·lecciÃ³.  
+CollectionManager.Build_Not_Moved:No s'ha pogut moure el directori de construcciÃ³.  
+CollectionManager.Index_Not_Deleted:No s'ha pogut eliminar el directori d'Ã­ndexs.  
+CollectionManager.Install_Exception:S'ha detectat una excepciÃ³ durant la instalÂ·laciÃ³ de la colÂ·lecciÃ³:\n{0}\nSegurament provocada per Windows o una biblioteca local que tÃ© bloquejats uns quants fitxers.\nComproveu que cap dels fitxers font de la colÂ·lecciÃ³\nno estigui obert en aplicacions externes, i llavors torneu-la a construir.  
+#*****************************
+#
+#***** CollectionPopupMenu *****
+CollectionPopupMenu.Delete:Eliminar  
+CollectionPopupMenu.New_Dummy_Doc:Nou document postÃ­s  
+CollectionPopupMenu.New_Folder:Nova carpeta  
+CollectionPopupMenu.Rename:Canvia'n el nom  
+CollectionPopupMenu.Replace:ReemplaÃ§a  
+#*******************************
+#
+#***** CreatePane *****
+CreatePane.Build:Opcions de construcciÃ³  
+CreatePane.Build_Tooltip:Opcions per a la fase d'indexaciÃ³ i classificaciÃ³ de la formaciÃ³ de la colÂ·lecciÃ³  
+CreatePane.Build_Collection:Construeix colÂ·lecciÃ³  
+CreatePane.Build_Collection_Tooltip:ComenÃ§a el procÃ©s de formaciÃ³ de la colÂ·lecciÃ³  
+CreatePane.Build_Progress:ProgrÃ©s de la construcciÃ³   
+CreatePane.Cancel_Build:CancelÂ·la la construcciÃ³  
+CreatePane.Cancel_Build_Tooltip:Atura el procÃ©s de formaciÃ³ de la colÂ·lecciÃ³  
+CreatePane.Full_Build:ReconstrucciÃ³ completa  
+CreatePane.Full_Build_Tooltip:Reconstrueix completament la colÂ·lecciÃ³ des de zero  
+CreatePane.Import:Opcions d'importaciÃ³  
+CreatePane.Import_Tooltip:Opcions per a la fase de conversiÃ³ del fitxer i assignaciÃ³ de metadades de la formaciÃ³ de la colÂ·lecciÃ³  
+CreatePane.Import_Progress:ProgrÃ©s de la importaciÃ³  
+CreatePane.Minimal_Build:ReconstrucciÃ³ mÃ­nima  
+CreatePane.Minimal_Build_Tooltip:Ãs mÃ©s rÃ pid perquÃš nomÃ©s es duen a terme les parts necessÃ ries del procÃ©s de construcciÃ³ de la colÂ·lecciÃ³  
+CreatePane.Minimal_Build_Not_Required:No cal reconstruir perquÃš no heu afegit cap fitxer a la colÂ·lecciÃ³,\neditat metadades ni canviat opcions al panell de disseny.\n(Per forÃ§ar una reconstrucciÃ³, escolliu "ReconstrucciÃ³ completa" i pitgeu el botÃ³ "Construeix colÂ·lecciÃ³".)  
+CreatePane.Log:Registre de missatges  
+CreatePane.Log_Tooltip:Vegeu els resultats d'intents anteriors de formaciÃ³ de colÂ·lecciÃ³  
+CreatePane.Mode_All:tot  
+CreatePane.Options:Grups d'opcions  
+CreatePane.Options_Title:Opcions d'importaciÃ³ i construcciÃ³  
+CreatePane.Preview_Collection:Vista preliminar de la colÂ·lecciÃ³  
+CreatePane.Preview_Collection_Tooltip:Mostra la vista preliminar de la colÂ·lecciÃ³  
+#**********************
+#
+#***** Dates *****
+Dates.Mon:Dilluns  
+Dates.Tue:Dimarts  
+Dates.Wed:Dimecres  
+Dates.Thu:Dijous  
+Dates.Fri:Divendres  
+Dates.Sat:Dissabte  
+Dates.Sun:Diumenge  
+Dates.Jan:Gener  
+Dates.Feb:Febrer  
+Dates.Mar:MarÃ§  
+Dates.Apr:Abril  
+Dates.May:Maig  
+Dates.Jun:Juny  
+Dates.Jul:Juliol  
+Dates.Aug:Agost  
+Dates.Sep:Setembre  
+Dates.Oct:Octubre  
+Dates.Nov:Novembre  
+Dates.Dec:Desembre  
+#**********************
+#
+#***** Delete Collection Prompt *****
+DeleteCollectionPrompt.Collection_Details:Detalls seleccionats de la colÂ·lecciÃ³  
+DeleteCollectionPrompt.Collection_List:ColÂ·leccions disponibles  
+DeleteCollectionPrompt.Confirm_Delete:Marqueu la casella per confirmar la supressiÃ³ de la colÂ·lecciÃ³.  
+DeleteCollectionPrompt.Delete:Suprimeix  
+DeleteCollectionPrompt.Delete_Tooltip:Suprimeix la colÂ·lecciÃ³ seleccionada  
+DeleteCollectionPrompt.Details:Creador - {0}\nResponsable de manteniment - {1}\nDescripciÃ³\n{2}  
+DeleteCollectionPrompt.Failed_Delete:La colÂ·lecciÃ³ no s'ha pogut suprimir del tot.  
+DeleteCollectionPrompt.Failed_Title:Ha fallat la supressiÃ³!  
+DeleteCollectionPrompt.No_Collection:No hi ha cap colÂ·lecciÃ³ seleccionada.  
+DeleteCollectionPrompt.Successful_Delete:La colÂ·lecciÃ³ ha estat suprimida.  
+DeleteCollectionPrompt.Successful_Title:SupressiÃ³ completada!  
+DeleteCollectionPrompt.Title:SupressiÃ³ de colÂ·leccions  
+#**********************
+#
+#***** DirectoryLevelMetadata *****
+DirectoryLevelMetadata.Message:Esteu a punt d'assignar metadades de 'nivell carpeta' a la carpeta (o carpetes) seleccionades. Aquestes metadades seran automÃ ticament heretades per tots els fitxers i carpetes dins aquesta carpeta. A mÃ©s, aquestes metadades no es podran eliminar en els fills, nomÃ©s es podran substituir. Per continuar amb aquesta acciÃ³, feu clic sobre 'D'acord'.   
+DirectoryLevelMetadata.Title:A punt d'afegir metadades de nivell carpeta  
+
+#*******************
+#
+#***** Download *****
+DOWNLOAD.MODE.Root:Download_Root  
+DOWNLOAD.MODE.WebDownload:Web  
+DOWNLOAD.MODE.OAIDownload:OAI  
+DOWNLOAD.MODE.ZDownload:Z39.50  
+DOWNLOAD.MODE.SRWDownload:SRW  
+
+Download.ServerInformation:InformaciÃ³ del servidor  
+Download.ServerInformation_Tooltip:Baixeu informaciÃ³ sobre el servidor i comproveu que es pugui establir la connexiÃ³  
+
+#********************
+#
+#***** EnrichPane *****
+EnrichPane.AutoMessage:Aquest element, {0}, forma part del conjunt de metadades de Greenstone. Aquest conjunt representa metadades que normalment es poden extreure automÃ ticament. Per comprovar quines metadades {0} es poden extreure, creeu la colÂ·lecciÃ³ a travÃ©s de la pestanya 'Crear'.   
+EnrichPane.ExistingValues:Valors existents per a {0}  
+EnrichPane.InheritedMetadataSelected:Aquesta metadada Ã©s heretada d'una carpeta superior i no es pot modificar. Podeu visitar la carpeta que la contÃ© fent clic sobre la icona de carpeta a l'inici de la fila.  
+EnrichPane.InheritedMetadata_Tooltip:Feu clic sobre aquesta icona per visitar la carpeta a la qual s'ha assignat aquesta metadada heretada  
+EnrichPane.ManageMetadataSets:Gestionar conjunts de metadades...  
+EnrichPane.ManageMetadataSets_Tooltip:Canvia el conjunt de metadades que utilitza la colÂ·lecciÃ³  
+EnrichPane.No_File:No s'ha seleccionat cap fitxer  
+EnrichPane.No_Metadata:No hi ha metadades disponibles  
+EnrichPane.No_Metadata_Element:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>No s'ha seleccionat cap element de metadades</FONT></STRONG></HTML>  
+EnrichPane.NotOneFileOnlyMetadataSelected:Aquesta metadada no afecta solament aquest fitxer i no es pot modificar.  
+EnrichPane.Value_Field_Tooltip:Valor per assignar a l'element de metadades seleccionat  
+EnrichPane.Value_Field_Tooltip_Uneditable:Valor assignat a l'element de metadades seleccionat  
+#***********************
+#
+#****** ExplodeMetadataPrompt *******
+ExplodeMetadataPrompt.Explode:Disgrega  
+ExplodeMetadataPrompt.Explode_Tooltip:Disgrega el fitxer de metadades  
+ExplodeMetadataPrompt.Instructions:Disgregar aquest fitxer de metadades produirÃ  registres separats amb metadades modificables. AixÃ² Ã©s un procÃ©s irreversible i el fitxer original de metadades serÃ  eliminat de la colÂ·lecciÃ³.  
+ExplodeMetadataPrompt.Failed_Title:La disgregaciÃ³ ha fallat.  
+ExplodeMetadataPrompt.Failed_Explode:No s'ha pogut disgregar la base de dades {0}   
+ExplodeMetadataPrompt.NotExplodable:Aquest fitxer no es pot disgregar.  
+ExplodeMetadataPrompt.Successful_Explode:La base de dades {0} s'ha disgregat correctament.  
+ExplodeMetadataPrompt.Successful_Title:DisgregaciÃ³ completa.  
+ExplodeMetadataPrompt.Title:Disgregar bases de metadades  
+ExplodeMetadataPrompt.Plugin:Plugin que s'utilitzarÃ  per a la disgregaciÃ³  
+#***********************
+#
+#****** WriteCDImagePrompt *******
+WriteCDImagePrompt.CD_Name:Nom de CD/DVD  
+WriteCDImagePrompt.Export:Escriu imatge de CD/DVD  
+WriteCDImagePrompt.Export_Tooltip:Escriu les colÂ·leccions seleccionades com a imatge de Windows de CD/DVD  
+WriteCDImagePrompt.Failed_Export:Les colÂ·leccions ({0}) no s'han pogut exportar.  
+WriteCDImagePrompt.Failed_Title:Ha fallat l'exportaciÃ³  
+WriteCDImagePrompt.Install:CD/DVD instalÂ·larÃ  alguns fitxers quan s'utilitzin (mÃ©s rÃ pid)   
+WriteCDImagePrompt.Install_Tooltip:Produeix un CD-ROM autoinstalÂ·lable que instalÂ·la el servidor de la biblioteca (i optativament tots els fitxers de la colÂ·lecciÃ³) a l'ordinador amfitriÃ³.   
+WriteCDImagePrompt.NoInstall:El CD/DVD no instalÂ·larÃ  cap fitxer en Ãºs  
+WriteCDImagePrompt.NoInstall_Tooltip:Produeix un CD-ROM que executa la biblioteca directament des del CD-ROM sense haver d'instalÂ·lar res a l'ordinador amfitriÃ³.  
+WriteCDImagePrompt.Instructions:Exporta una o mÃ©s colÂ·leccions a una imatge de CD/DVD autoinstalÂ·lable de Windows (si bÃ© aixÃ² funciona en qualsevol plataforma, la imatge de CD/DVD que es crea nomÃ©s es pot fer servir amb Windows).  
+WriteCDImagePrompt.Progress_Label:EstÃ  copiant fitxers. Pot estar una estona...  
+WriteCDImagePrompt.Size_Label:Mida estimada:  
+WriteCDImagePrompt.Successful_Export:Les colÂ·leccions ({0}) han estat exportades.  
+WriteCDImagePrompt.Successful_Title:S'ha completat l'exportaciÃ³  
+WriteCDImagePrompt.Title:Exportar colÂ·lecciÃ³ a CD/DVD
+  
+#************************
+#
+#****** ExportAsPrompt *******
+ExportAsPrompt.Export_Name:Nom de carpeta  
+ExportAsPrompt.Export_Name_Tooltip:El nom de la carpeta dins el directori tmp de Greenstone en el qual es desaran les colÂ·leccions exportades.  
+ExportAsPrompt.Export:Exporta colÂ·lecciÃ³(ons)  
+ExportAsPrompt.Export_Tooltip:Exporta les colÂ·leccions seleccionades en el format de fitxer escollit al directori designat  
+ExportAsPrompt.Failed_ExportOne:La colÂ·lecciÃ³, {0}, no s'ha pogut exportar.  
+ExportAsPrompt.Failed_ExportMany:Les colÂ·leccions -- {0} -- no s'han pogut exportar.  
+ExportAsPrompt.Failed_Details:Vegeu {1} per a mÃ©s informaciÃ³  
+ExportAsPrompt.Failed_Title:L'exportaciÃ³ ha fallat  
+ExportAsPrompt.Instructions:Exporta una o mÃ©s colÂ·leccions en el format escollit al directori estipulat  
+ExportAsPrompt.Progress_Label:EstÃ  exportant fitxers. AixÃ² pot durar uns instants...  
+ExportAsPrompt.Successful_ExportOne:La colÂ·lecciÃ³, {0}, s'ha exportat.  
+ExportAsPrompt.Successful_ExportMany:Les colÂ·leccions -- {0} -- s'han exportat.  
+ExportAsPrompt.Successful_Details:Fitxers exportats a: {1}  
+ExportAsPrompt.Successful_Title:S'ha completat l'exportaciÃ³  
+ExportAsPrompt.Title:Exportar colÂ·leccions  
+ExportAsPrompt.SaveAs:Exporta a  
+ExportAsPrompt.SaveAs_Tooltip:Seleccioneu el format al qual voleu exportar  
+ExportAsPrompt.Cancel:CancelÂ·la  
+ExportAsPrompt.Cancel_Tooltip:CancelÂ·la el procÃ©s d'exportaciÃ³  
+ExportAsPrompt.Browse:Examina  
+ExportAsPrompt.Browse_Tooltip:Escolliu un fitxer xsl  
+ExportAsPrompt.ApplyXSL:Aplica el fitxer XSL a {0}  
+ExportAsPrompt.ApplyXSL_Tooltip:Utilitza un fitxer xsl per convertir els fitxers disgregats  
+ExportAsPrompt.MARCXMLGroup:Agrupa els registres MARC  
+ExportAsPrompt.MARCXMLGroup_Tooltip:Exporta tots els registres MARC a un sol fitxer.  
+ExportAsPrompt.MappingXML:Aplica el fitxer de mapatge  
+ExportAsPrompt.MappingXML_Tooltip:Utilitza un fitxer de mapatge per convertir els fitxers exportats  
+#
+#***** Inherited Metadata *****
+ExtractedMetadata.Message:El fitxer o carpeta seleccionat contÃ© metadades extretes, perÃ² de moment Ã©s ocult. Per veure les metadades extretes, aneu al menÃº "[F]itxer" i seleccioneu "[P]referÃšncies". Al full de propietats "General" seleccioneu "Veure metadades extretes", i feu clic a "[D]'acord".  
+ExtractedMetadata.Title:Aquest fitxer/carpeta contÃ© metadades extretes ocultes  
+#
+#***** FileActions *****
+FileActions.Calculating_Size:Calcula la mida total dels fitxers seleccionats  
+FileActions.Copying:Copia {0}  
+FileActions.Could_Not_Delete:No s'ha pogut suprimir {0}  
+FileActions.Cyclic_Path:No es pot copiar {0}: la carpeta de destinaciÃ³ Ã©s una subcarpeta de la carpeta d'origen.  
+FileActions.Deleting:Suprimeix {0}  
+FileActions.Directories_Selected:{0} carpetes seleccionades  
+FileActions.Directory_Selected:1 carpeta seleccionada  
+FileActions.File_Already_Exists_No_Create:El fitxer '{0}' ja existeix.  
+FileActions.File_And_Directories_Selected:1 fitxer i {0} carpetes seleccionats  
+FileActions.File_And_Directory_Selected:1 fitxer i 1 carpeta seleccionats  
+FileActions.File_Create_Error:El fitxer {0} no s'ha pogut crear.  
+FileActions.Folder_Create_Error:No s'ha pogut crear la carpeta {0}.  
+FileActions.File_Exists:{0} ja existeix a la carpeta de destinaciÃ³. El voleu reemplaÃ§ar?   
+FileActions.File_Move_Error_Message:No s'ha pogut moure {0} a\n{1}.  
+FileActions.File_Not_Deleted_Message:{0}\nEl fitxer indicat al damunt no es pot suprimir. \nComproveu que el fitxer no estigui obert\nen un programa extern, i torneu a intentar-ho.  
+FileActions.File_Not_Found_Message:{0}\nNo es pot trobar el fitxer indicat al damunt. Un cop s'hagi renovat la visualitzaciÃ³ del fitxer\n, comproveu que el fitxer encara existeix.   
+FileActions.File_Selected:1 fitxer seleccionat  
+FileActions.Files_And_Directory_Selected:{0} fitxers i 1 carpeta seleccionats  
+FileActions.Files_Selected:{0} fitxers seleccionats  
+FileActions.Folder_Already_Exists:El nom de carpeta '{0}' ja existeix. No es pot crear la carpeta.  
+FileActions.Insufficient_Space_Message:L'acciÃ³ del fitxer ha fallat perquÃš no hi ha prou espai al disc\n. PerquÃš el fitxer es copiÃ¯ correctament us en cal un\naltre: {0}  
+FileActions.Moving:Mou {0}  
+FileActions.No_Activity:No s'ha demanat cap acciÃ³  
+FileActions.Read_Not_Permitted_Message:No s'ha pogut llegir {0}.  
+FileActions.Read_Only:Els fitxers de l'espai de treball nomÃ©s sÃ³n de lectura i no es poden eliminar.  
+FileActions.Replacing:ReemplaÃ§a {0}  
+FileActions.Selected:{0} fitxers i {1} carpetes seleccionades   
+FileActions.Unknown_File_Error_Message:Si bÃ© no s'ha detectat cap error durant l'acciÃ³ del fitxer\n, una comprovaciÃ³ final ha indicat que la cÃ²pia\n de destinaciÃ³ no Ã©s la mateixa que el fitxer d'origen. Se'n desconeix el motiu\n. Comproveu els vostres mitjans i actualitzeu\nel JVM que teniu instalÂ·lat.  
+FileActions.Write_Not_Permitted_Message:La InterfÃ­cie de Bibliotecari no tÃ© permÃ­s per escriure a\n{0}\nComproveu les autoritzacions de fitxer.   
+FileActions.Write_Not_Permitted_Title:Error - Autoritzacions de fitxer incorrectes  
+FileActions.Yes_To_All:SÃ­ a tot  
+#************************
+#
+#******* File Associations dialog **********
+FileAssociationDialog.Add:Afegeix  
+FileAssociationDialog.Add_Tooltip:Utilitzeu aquesta aplicaciÃ³ per visualitzar fitxers d'aquest tipus  
+FileAssociationDialog.Batch_File:Fitxers de lots  
+FileAssociationDialog.Browse:Examina  
+FileAssociationDialog.Browse_Tooltip:Escolliu l'aplicaciÃ³ que s'ha d'utilitzar del vostre espai de fitxers  
+FileAssociationDialog.Browse_Tooltip_Mac:Examinar la vostra aplicaciÃ³ estÃ  actualment deshabilitat per a MacOS.   
+FileAssociationDialog.Browse_Title:Escolliu aplicaciÃ³  
+FileAssociationDialog.Close:Tanca  
+FileAssociationDialog.Close_Tooltip:Tanca aquest diÃ leg i torna a la finestra principal  
+FileAssociationDialog.Command:Ordre d'obrir:  
+FileAssociationDialog.Command_File:Fitxers d'ordres  
+FileAssociationDialog.Command_Tooltip:IntroduÃ¯u l'ordre d'obrir l'aplicaciÃ³ que voleu utilitzar  
+FileAssociationDialog.Details:Detalls de noves associacions de fitxers  
+FileAssociationDialog.Executable_File:Fitxers executables  
+FileAssociationDialog.Extension:Per a fitxers que acabin en:  
+FileAssociationDialog.Extension_Tooltip:L'extensiÃ³ dels fitxers que es volen visualitzar  
+FileAssociationDialog.Instructions:Utilitzeu aquest diÃ leg per definir quins programes externs s'han d'utilitzar per visualitzar un determinat tipus de fitxer, i quina ordre obrirÃ  el programa.\nPer afegir un nou tipus de fitxer, escriviu-ne l'extensiÃ³ a 'Per a fitxers que acabin en'. Per afegir o modificar una ordre d'obrir un programa, escriviu la nova ordre a 'Ordre d'obrir' o pitgeu 'Examina' per cercar el sistema de fitxers per al programa en qÃŒestiÃ³. Feu servir la cadena especial '%1' per indicar on s'ha d'inserir el nom del fitxer que voleu obrir, p. ex., "C:\\Windows\\System\\MSPaint.exe %1". '%1' s'annexarÃ  al final de les ordres si no s'especifica una altra cosa. Es recomana als usuaris de \nMacOS que sempre provin primer l'ordre especÃ­fica de Mac "open [-a <application_name>] %1".  
+FileAssociationDialog.Table.Command:Ordre  
+FileAssociationDialog.Table.Extension:ExtensiÃ³  
+FileAssociationDialog.Title:Editar associacions de fitxer  
+FileAssociationDialog.Remove:Elimina  
+FileAssociationDialog.Remove_Tooltip:Elimina l'associaciÃ³ seleccionada de les associacions existents  
+FileAssociationDialog.Replace:ReemplaÃ§a  
+FileAssociationDialog.Replace_Tooltip:ReemplaÃ§a l'associaciÃ³ seleccionada amb els nous detalls d'associaciÃ³  
+#*******************
+#
+#******Filter***************
+Filter.0:HTM & HTML  
+Filter.1:XML  
+Filter.2:Fitxers de text  
+Filter.3:Imatges  
+Filter.All_Files:Tots els fitxers  
+Filter.Filter_Tree:Mostra fitxers  
+Filter.Invalid_Pattern:<HTML><FONT FACE={FONT} COLOR=Black>El patrÃ³ que heu introduÃ¯t per filtrar fitxers Ã©s invÃ lid.<BR>Torneu a provar-ho amb una sintaxi d'expressiÃ³ regular i amb <BR>* per al carÃ cter comodÃ­.</FONT></HTML>  
+#***********************
+#
+#***** GAuthenticator *****
+GAuthenticator.Password:Contrasenya:   
+GAuthenticator.Password_Tooltip:IntroduÃ¯u aquÃ­ la contrasenya  
+GAuthenticator.Title:Cal contrasenya.  
+GAuthenticator.Username:Nom d'usuari:  
+GAuthenticator.Username_Tooltip:IntroduÃ¯u aquÃ­ el vostre nom d'usuari  
+#**************************
+#
+#***** General Messages *****
+# 0 - A String representing the name and method of the class in question.
+General.Apply:Aplica  
+General.Apply_Tooltip:Aplica els valors actuals perÃ² no surt del diÃ leg  
+General.Browse:Examina...  
+General.Cancel:CancelÂ·la  
+General.Cancel_Tooltip:CancelÂ·la els canvis (no en desfarÃ  cap que ja s'hagi aplicat)  
+General.Close:Tanca  
+General.Close_Tooltip:Tanca aquesta caixa de diÃ leg  
+General.Edit:Edita valor  
+General.Error:Error  
+General.No:No  
+General.NotSunJava:DistribuÃ¯dor de Java: {0}\nObserveu que la InterfÃ­cie de Bibliotecari ha estat desenvolupada i provada amb Java de Sun Microsystems.  
+General.OK:D'acord  
+General.OK_Tooltip:Accepta els valors actuals i surt del diÃ leg  
+General.Outstanding_Processes:<html>La InterfÃ­cie de Bibliotecari no es pot tancar del tot fins que tots els programes<br>oberts dins la InterfÃ­cie tambÃ© s'hagin tancat.</html>  
+General.Outstanding_Processes_Title:Esperar per sortir  
+General.Pure_Cancel_Tooltip:Fes avortar aquesta acciÃ³ (no es farÃ  cap canvi)  
+General.Review_Output:Reviseu els resultats de sota:  
+General.Redo:RefÃ©s  
+General.Redo_Tooltip:Restableix l'Ãºltima acciÃ³ desfeta  
+General.Undo:DesfÃ©s  
+General.Undo_Tooltip:DesfÃ  l'Ãºltima modificaciÃ³  
+General.Usage:Ãs: {0} <params>\nTots els parÃ metres sÃ³n optatius, perÃ² la InterfÃ­cie de Bibliotecari podria no funcionar si -gsdl i -library no estan definits.\n gsdl <path>  : Forceu rutes cap a gsdl\n -library <path> : Ruta cap a cgi-bin\n -mozilla <path> : Habilitada mozilla\n -mirror : Activeu els controls per a la descÃ rrega de fitxers de la web\n -laf [java|windows|motif|mac] : Imatge i aparenÃ§a\n -debug : Permet depurar missatges\n -no_load : No carrega colÂ·leccions obertes prÃšviament\n -load <path> : Carrega la colÂ·lecciÃ³ especificada  
+General.View:Visualitza valor  
+General.Warning:AdvertÃšncia  
+General.Yes:SÃ­  
+#****************************
+#
+#***** GShell *****
+GShell.BadArgument:L'argument {0} Ã©s invÃ lid.  
+GShell.BadArgumentValue:L'argument {0} tÃ© un valor invÃ lid.   
+GShell.BadPluginOptions:L'argument erroni s'ha produÃ¯t en el plugin {0}.  
+GShell.BadClassifierOptions:L'argument erroni s'ha produÃ¯t en el classificador {0}.  
+GShell.Build.Auxilary:EstÃ  creant fitxers auxiliars i endreÃ§ant...   
+GShell.Build.BuildBegun1:************** ConstrucciÃ³ iniciada ******  
+GShell.Build.BuildCancelled:************** CancelÂ·lada ****************  
+GShell.Build.BuildComplete1:************** ConstrucciÃ³ finalitzada ******  
+GShell.Build.CompressText:EstÃ  comprimint el text...  
+GShell.Build.Index:EstÃ  creant un Ã­ndex basat en {0-font i nivell d'Ã­ndex}...  
+GShell.Build.InfoDatabase:EstÃ  creant una base de dades d'informaciÃ³...  
+GShell.Build.Phind:EstÃ  generant un classficador Phind. AixÃ² pot durar uns instants...  
+GShell.Command:Ordre  
+GShell.Failure:L'ordre ha fallat.  
+GShell.Import.FileNotProcessed:El fitxer {0-target file path} ha estat reconegut perÃ² no l'ha pogut processar cap plugin .  
+GShell.Import.FileNotRecognised:El fitxer {0-target file path} no ha estat reconegut per cap plugin.  
+GShell.Import.FileProcessing:El fitxer {0-target file path} estÃ  sent processat per {1-plugin name}.  
+GShell.Import.FileProcessingError:El fitxer {0-target file path} ha sofert un error durant el processament.   
+GShell.Import.ImportBegun1:************** ImportaciÃ³ iniciada **************  
+GShell.Import.ImportComplete1:************** ImportaciÃ³ finalitzada **************  
+GShell.Import.ImportComplete2:{0-nombre de documents considerats} documents han estat considerats per a processament:  
+GShell.Import.ImportComplete2.1:1 document ha estat considerat per a processament:  
+GShell.Import.ImportComplete.Processed:{0-nombre processat} documents han estat processats i inclosos a la colÂ·lecciÃ³.   
+GShell.Import.ImportComplete.Processed.1:1 document ha estat processat i inclÃ²s a la colÂ·lecciÃ³.   
+GShell.Import.ImportComplete.Blocked:{0-nombre bloquejat} no han pogut ser afegits pels plugins (com ara imatges a pÃ gines web).  
+GShell.Import.ImportComplete.Blocked.1:1 no ha pogut ser afegit pels plugins (com ara imatges a pÃ gines web).  
+GShell.Import.ImportComplete.Ignored:{0-nombre ignorat} no han estat reconeguts.   
+GShell.Import.ImportComplete.Ignored.1:1 no ha estat reconegut.  
+GShell.Import.ImportComplete.Failed:{0-number failed} han estat rebutjats.  
+GShell.Import.ImportComplete.Failed.1:1 ha estat rebutjat.  
+GShell.Import.ImportComplete3:\n  
+GShell.Parsing_Metadata_Complete:S'ha completat l'extracciÃ³ de metadades arxivades.  
+GShell.Parsing_Metadata_Start:EstÃ  extraient noves metadades dels fitxers de l'arxiu.  
+GShell.Success:Ordre completa.  
+#*********************
+#
+#***** GUI *****
+# Currently Enabled and Disabled display the same text but in different
+# colours. If necessary this can be changed.
+GUI.Create:Crea  
+GUI.Create_Tooltip:ConstruÃ¯u la vostra colÂ·lecciÃ³ mitjanÃ§ant Greenstone  
+GUI.Design:Disseny  
+GUI.Design_Tooltip:Dissenyeu la funcionalitat de la vostra colÂ·lecciÃ³  
+GUI.Download:Baixa  
+GUI.Download_Tooltip:Baixeu recursos d'Internet per a la vostra colÂ·lecciÃ³  
+GUI.Enrich:Enriquir  
+GUI.Enrich_Tooltip:Assigneu metadades als fitxers de la vostra colÂ·lecciÃ³  
+GUI.Format:Format  
+GUI.Format_Tooltip:Dissenyeu l'aparenÃ§a de la vostra colÂ·lecciÃ³  
+GUI.Gather:Aplegar  
+GUI.Gather_Tooltip:Seleccioneu els fitxers que s'han d'incloure a la colÂ·lecciÃ³  
+#***************
+#
+#***** HELP *****
+Help.Contents:Ãndex  
+Help.Title:PÃ gines d'ajuda de la InterfÃ­cie de Bibliotecari  
+#****************************
+#
+#***** Invalid Metadata ******
+InvalidMetadata.Message:Aquest element de metadades estÃ  restringit al conjunt de valors predefinits. Escolliu un dels valors existents.  
+InvalidMetadata.Title:Metadada invÃ lida  
+#***************************
+#
+#***** LegacyCollection
+LegacyCollection.Message:Esteu a punt de carregar una colÂ·lecciÃ³ que no ha estat creada per la interfÃ­cie de la IBG. Les metadades existents s'importaran al conjunt de metadades Dublin Core. Els fitxers originals de metatades es desaran en una carpeta anomenada import.bak.  
+LegacyCollection.Title:Carregar una colÂ·lecciÃ³ externa  
+#***************************
+#
+#***** LockFileDialog *****
+LockFileDialog.Cancel_Tooltip:No prengueu el control del fitxer de bloqueig (la colÂ·lecciÃ³ no s'obrirÃ )  
+LockFileDialog.Date:Data  
+LockFileDialog.Error:error  
+LockFileDialog.Lockfile_Message_One:La presÃšncia d'un fitxer de bloqueig indica que aquesta colÂ·lecciÃ³ ja estÃ  oberta.  
+LockFileDialog.Lockfile_Message_Two:Voleu 'prendre' el control d'aquest fitxer de bloqueig?  
+LockFileDialog.Machine:On  
+LockFileDialog.Name:Nom  
+LockFileDialog.OK_Tooltip:Pren el control del fitxer de bloqueig  
+LockFileDialog.Title:Fitxer de bloqueig detectat  
+LockFileDialog.User:Qui  
+#********************
+#
+#*****MappingPrompt **********
+MappingPrompt.File:Carpeta  
+MappingPrompt.Map:Crea un accÃ©s directe  
+MappingPrompt.Name:Nom  
+MappingPrompt.Title:Crear accÃ©s directe de carpeta  
+MappingPrompt.Unmap:Eliminar accÃ©s directe  
+#*******************
+#
+#***** Menu Options *****
+Menu.Collapse:Tanca carpeta  
+Menu.Edit:Edita  
+Menu.Edit_Copy:Copia (ctrl-c)  
+Menu.Edit_Cut:Talla (ctrl-x)  
+Menu.Edit_Paste:Enganxa (ctrl-v)  
+Menu.Expand:Obre carpeta  
+Menu.Explode_Metadata_Database:Disgrega base de metadades  
+Menu.File:Fitxer  
+Menu.File_Associations:Associacions de fitxers...  
+Menu.File_CDimage:Escriu imatge de CD/DVD...  
+Menu.File_Close:Tanca  
+Menu.File_Delete:Elimina...  
+Menu.File_Exit:Surt  
+Menu.File_ExportAs:Exporta...  
+Menu.File_New:Nou...  
+Menu.File_Open:Obre...  
+Menu.File_Options:PreferÃšncies...  
+Menu.File_Save:Desa  
+Menu.Help:Ajuda  
+Menu.Help_About:Sobre...  
+Menu.Metadata_View:Metadades assignades per a {0}  
+Menu.Open_Externally:Obre en programa extern  
+#********************
+#
+#***** MetaAudit *****
+MetaAudit.Close:Tanca  
+MetaAudit.Close_Tooltip:Tanca aquesta caixa de diÃ leg  
+MetaAudit.Title:Totes les metadades  
+#*********************
+#
+#***** Metadata *****
+Metadata.Element:Element  
+Metadata.Value:Valor  
+MetadataSet.Files:Fitxers de conjunts de metadades  
+#**********************************
+#
+#***** MetadataSetDialog**********
+MetadataSetDialog.Title:Gestionar conjunts de metadades  
+MetadataSetDialog.Add_Title:Afegir conjunt de metadades  
+MetadataSetDialog.Current_Sets:Conjunts de metadades assignats  
+MetadataSetDialog.Available_Sets:Conjunts de metadades disponibles  
+MetadataSetDialog.Add:Afegeix...  
+MetadataSetDialog.Add_Tooltip:Afegeix un nou conjunt de metadades a la colÂ·lecciÃ³  
+MetadataSetDialog.New_Set:Nou...  
+MetadataSetDialog.New_Set_Tooltip:Crea un nou conjunt de metadades  
+MetadataSetDialog.Add_Set:Afegeix...  
+MetadataSetDialog.Add_Set_Tooltip:Afegeix el conjunt de metadades seleccionat a la colÂ·lecciÃ³  
+MetadataSetDialog.Browse:Examina...  
+MetadataSetDialog.Browse_Tooltip:Afegeix un nou conjunt de metadades a la colÂ·lecciÃ³  
+MetadataSetDialog.Edit:Edita...  
+MetadataSetDialog.Edit_Tooltip:Edita el conjunt de metadades seleccionat  
+MetadataSetDialog.Remove:Elimina  
+MetadataSetDialog.Remove_Tooltip:Elimina el conjunt de metadades seleccionat de la colÂ·lecciÃ³  
+MetadataSetDialog.Elements:Elements del conjunt de metadades seleccionat  
+
+#****************************************
+#
+#***** MetadataSetNamespaceClash warning***
+MetadataSetNamespaceClash.Title:Conflicte d'espai de noms entre conjunts de metadades  
+MetadataSetNamespaceClash.Message:El conjunt de metadades que heu escollit per afegir ({0}) tÃ© el mateix espai de noms que un altre que ja Ã©s a la colÂ·lecciÃ³ ({1}). Si afegiu aquest nou conjunt, l'antic serÃ  eliminat i el nou s'afegirÃ  en el seu lloc. Els valors de metadades assignats es transferiran al nou conjunt si aquest contÃ© els elements adequats.   
+#*********************************************
+#
+#******** MetadataImportMappingPrompt *********
+MIMP.Add:Afegeix  
+MIMP.Add_Tooltip:Afegeix l'element de metadades al conjunt seleccionat  
+MIMP.Ignore:Omet  
+MIMP.Ignore_Tooltip:Omet aquest element de metadades  
+MIMP.Instructions:L'element de metadades {0} no es pot importar automÃ ticament a la colÂ·lecciÃ³. Seleccioneu un conjunt de metadades i:\n(1) pitgeu 'Afegeix' per afegir la metadada al conjunt (sempre que no hi hagi {0} metadades al conjunt), o bÃ©\n(2) escolliu un element i pitgeu 'Fusiona' per importar {0} metadades a aquest element, o bÃ©\n(3) ometeu aquest element de metadades.  
+MIMP.Merge:Fusiona  
+MIMP.Merge_Tooltip:Mapa l'element de metadades fins a l'element especificat en el conjunt seleccionat  
+MIMP.Source_Element:Element de metadades d'origen:  
+MIMP.Target_Element:Element de metadades de destinaciÃ³:  
+MIMP.Target_Set:Conjunt de metadades de destinaciÃ³:  
+MIMP.Title:Cal acciÃ³ de fusiÃ³.  
+#*****************************
+#
+#***** Mirroring *****
+Mirroring.ClearCache:Buida la memÃ²ria cau  
+Mirroring.ClearCache_Tooltip:Elimina tots els fitxers baixats d'Internet  
+Mirroring.Download:Baixa  
+Mirroring.Download_Tooltip:Inicia una nova tasca de baixada  
+Mirroring.DownloadJob.Close:Tanca  
+Mirroring.DownloadJob.Close_Tooltip:Elimina aquesta tasca de la llista, i l'interromp si ja estÃ  en marxa  
+Mirroring.DownloadJob.Downloading:EstÃ  baixant {0}  
+Mirroring.DownloadJob.Download_Complete:S'ha completat la baixada  
+Mirroring.DownloadJob.Download_Stopped:Baixada interrompuda  
+Mirroring.DownloadJob.Download_Progress:Baixada en procÃ©s  
+Mirroring.DownloadJob.Log:Visualitza el registre  
+Mirroring.DownloadJob.Log_Tooltip:Mostra els detalls d'aquesta baixada  
+Mirroring.DownloadJob.Log_Title:Registre de baixades  
+Mirroring.DownloadJob.Pause:Pausa  
+Mirroring.DownloadJob.Pause_Tooltip:Posa la baixada en pausa  
+Mirroring.DownloadJob.Resume:Continua  
+Mirroring.DownloadJob.Resume_Tooltip:Continua la baixada  
+Mirroring.DownloadJob.Status:{0} de {1} fitxers baixats ({2} advertÃšncies {3} errors)  
+Mirroring.DownloadJob.Waiting:En espera de comenÃ§ar  
+Mirroring.DownloadJob.Waiting_User:En espera d'acciÃ³ de l'usuari  
+Mirroring.Invalid_URL:L'URL introduÃ¯t no Ã©s vÃ lid. Corregiu-lo.  
+Mirroring.Invalid_URL_Title:URL invÃ lid  
+Mirroring.Preferences:PreferÃšncies...  
+Mirroring.Preferences_Tooltip:Habilita el proxy i/o permet modificar-ne la configuraciÃ³  
+#*********************
+#
+#***** Missing EXEC *****
+MissingEXEC.Message:Alerta! No podreu visualitzar les noves colÂ·leccions dins la InterfÃ­cie de Bibliotecari si no especifiqueu la ruta fins al servidor web de la biblioteca de Greenstone. Podeu introduir-la ara en el camp de text de sota, o mÃ©s tard a "PreferÃšncies", pestanya "ConnexiÃ³". Recordeu que un URL vÃ lid ha de comenÃ§ar amb el protocol "http://", i segurament acabarÃ  amb el nom executable ("gsdl" per al servidor de biblioteca local de Greenstone, "library" per a altres servidors web).  
+MissingEXEC.Title:No es pot trobar l'adreÃ§a de biblioteca Greenstone  
+#***** Missing EXEC_GS3 *****
+MissingEXEC_GS3.Message:Alerta! No podreu visualitzar les noves colÂ·leccions dins la InterfÃ­cie de Bibliotecari si no especifiqueu la ruta fins al context de Greenstone en el servidor web Tomcat que s'estigui executant localment. Podeu introduir-la ara en el camp de text de sota, o mÃ©s tard a 'PreferÃšncies', pestanya 'ConnexiÃ³'. Recordeu que un URL vÃ lid ha de comenÃ§ar amb el protocol "http://". L'adreÃ§a preestablerta Ã©s http://localhost:8080/greenstone3.  
+MissingEXEC_GS3.Title:No es pot trobar l'adreÃ§a de la biblioteca de Greenstone 3  
+#***** Missing GLIServer *****
+MissingGLIServer.Message:Alerta! No podreu treballar amb colÂ·leccions des de la InterfÃ­cie de Bibliotecari si no especifiqueu l'adreÃ§a de l'script "gliserver" del servidor remot de Greenstone. Podeu introduir-la ara en el camp de text de sota, o mÃ©s tard a "PreferÃšncies", pestanya "ConnexiÃ³". Recordeu que un URL vÃ lid ha de comenÃ§ar amb el protocol "http://" i acabar amb "gliserver".  
+MissingGLIServer.Title:No es pot trobar l'adreÃ§a del GLIServer   
+#***** Missing GSDL *****
+MissingGSDL.Message:Alerta! No podreu accedir a totes les funcions de la InterfÃ­cie de Bibliotecari si no teniu instalÂ·lada tambÃ© una cÃ²pia local de la Biblioteca Digital Greenstone. Si penseu que heu rebut aquest missatge per error, compreveu la vostra instalÂ·laciÃ³ i les rutes especificades en el fitxer de lots o scripts de la InterfÃ­cie de Bibliotecari.   
+MissingGSDL.Title:No es pot trobar la ruta de Greenstone  
+#***** Missing PERL *****
+MissingPERL.Message:Alerta! No podreu crear noves colÂ·leccions ni construir-ne d'existents sense tenir PERL instalÂ·lat, i la InterfÃ­cie de Bibliotecari no ha trobat PERL en el vostre sistema. Si penseu que heu rebut aquest missatge per error, comproveu la vostra instalÂ·laciÃ³ i les rutes especificades en el fitxer de lots o scripts de la InterfÃ­cie de Bibliotecari.  
+MissingPERL.Title:No es pot trobar ruta de PERL  
+#******* MissingImageMagick ********
+MissingImageMagick.Message:Alerta! La InterfÃ­cie de Bibliotecari no ha pogut localitzar cap versiÃ³ adequada d'ImageMagick, i per tant ImagePlug no funcionarÃ . InstalÂ·leu  ImageMagick si voleu construir colÂ·leccions d'imatges.   
+MissingImageMagick.Title:No es pot trobar ImageMagick  
+#*****************************
+#
+#***** New Session *****
+NewCollectionPrompt.Base_Collection:Basa aquesta colÂ·lecciÃ³ en:  
+NewCollectionPrompt.Base_Collection_Tooltip:Seleccioneu una colÂ·lecciÃ³ existent per basar-hi la nova  
+NewCollectionPrompt.Collection_Description:DescripciÃ³ del contingut:  
+NewCollectionPrompt.Collection_Name:Carpeta de colÂ·lecciÃ³:  
+NewCollectionPrompt.Collection_Scope_Personal:Aquesta Ã©s una colÂ·lecciÃ³ personal  
+NewCollectionPrompt.Collection_Scope_Shared:Aquesta no Ã©s una colÂ·lecciÃ³ personal  
+NewCollectionPrompt.Error:Error a la nova colÂ·lecciÃ³  
+NewCollectionPrompt.Instructions:Per crear una nova colÂ·lecciÃ³,empleneu els camps de sota.  
+NewCollectionPrompt.NewCollection:-- Nova ColÂ·lecciÃ³ --  
+NewCollectionPrompt.Title:Crear una nova colÂ·lecciÃ³.  
+NewCollectionPrompt.Title_Clash:El tÃ­tol que heu escollit per a la colÂ·lecciÃ³ ja existeix. Voleu continuar?  
+NewCollectionPrompt.Title_Error:El camp de tÃ­tol s'ha d'emplenar. Corregiu-lo.  
+#***** New Folder OrFilePrompt *****
+NewFolderOrFilePrompt.Default_File_Name:postÃ­s  
+NewFolderOrFilePrompt.Default_Folder_Name:nova carpeta  
+NewFolderOrFilePrompt.Destination_Name:Carpeta de destinaciÃ³  
+NewFolderOrFilePrompt.File_Name:Nom de fitxer  
+NewFolderOrFilePrompt.File_Name_Tooltip:IntroduÃ¯u un nom per al nou fitxer  
+NewFolderOrFilePrompt.Folder_Name:Nom de carpeta   
+NewFolderOrFilePrompt.Folder_Name_Tooltip:IntroduÃ¯u un nom per a la nova carpeta  
+NewFolderOrFilePrompt.Title_Folder:Crea una nova carpeta  
+NewFolderOrFilePrompt.Title_File:Crea un nou document postÃ­s  
+#**********************
+#
+#******* OldWGET *******
+NoPluginExpectedToProcessFile.Message:No es pot trobar cap plugin de Greenstone que pugui processar el fitxer "{0}". Comproveu que el fitxer tÃ© l'extensiÃ³ correcta. Si Ã©s correcta, potser haureu d'utilitzar el plugin Unknown per processar aquest fitxer.   
+NoPluginExpectedToProcessFile.Title:Cap plugin que pugui processar el fitxer  
+#***********************
+#
+#***** OpenCollectionDialog *****
+OpenCollectionDialog.Available_Collections:ColÂ·leccions disponibles  
+OpenCollectionDialog.Description:DescripciÃ³ de la colÂ·lecciÃ³  
+OpenCollectionDialog.Open:Obre  
+OpenCollectionDialog.Open_Tooltip:Carrega la colÂ·lecciÃ³ seleccionada a la InterfÃ­cie de Bibliotecari  
+OpenCollectionDialog.Title:Obrir colÂ·lecciÃ³ de Greenstone  
+#**********************
+#
+#***** Options Pane inside CreatePane *****
+OptionsPane.Cancelled:- cancelÂ·lat  
+OptionsPane.LogHistory:Historial de registres  
+OptionsPane.Successful:- correcte  
+OptionsPane.Unknown:- desconegut  
+OptionsPane.Unsuccessful:- incorrecte  
+#*******************
+#
+#***** Preferences *****
+Preferences:PreferÃšncies  
+Preferences.Connection:ConnexiÃ³  
+Preferences.Connection_Tooltip:Ajusteu l'URL a la biblioteca de Greenstone i configureu una connexiÃ³ proxy si escau  
+Preferences.Connection.GLIServer_URL:URL del 'gliserver' de Greenstone:  
+Preferences.Connection.GLIServer_URL_Tooltip:URL de l'script CGI 'gliserver' de Greenstone  
+Preferences.Connection.Library_Path:Ruta de biblioteca:  
+Preferences.Connection.Library_Path_GS3:Ruta web de Greenstone:  
+Preferences.Connection.Library_Path_Tooltip:URL del servidor web de Greenstone  
+Preferences.Connection.Library_Path_Tooltip_GS3:URL del servidor web de Greenstone  
+Preferences.Connection.ProgramCommand:Ordre de vista preliminar:  
+Preferences.Connection.ProgramCommand_Tooltip:Ordre d'obrir el programa que s'utilitza per obtenir una vista preliminar de la colÂ·lecciÃ³. Recordeu que heu d'utilitzar %1 per indicar el lloc on s'ha d'inserir l'adreÃ§a de la colÂ·lecciÃ³, i utilitzar cometes quan calgui.   
+Preferences.Connection.Proxy_Host:AmfitriÃ³ proxy:  
+Preferences.Connection.Proxy_Host_Tooltip:AdreÃ§a del servidor proxy:  
+Preferences.Connection.Proxy_Port:Port del proxy:  
+Preferences.Connection.Proxy_Port_Tooltip:El nÃºmero de port del vostre servidor proxy:  
+Preferences.Connection.Servlet:Servlet:  
+Preferences.Connection.Servlet_Tooltip:El 'servlet' que heu de fer servir per visualitzar el vostre lloc web  
+Preferences.Connection.Servlet_Tooltip2:No s'ha especificat cap 'servlet' per a aquest lloc; encara podreu construir colÂ·leccions, perÃ² no les podreu visualitzar.   
+Preferences.Connection.Site:Lloc web:  
+Preferences.Connection.Site_Tooltip:El lloc on voleu treballar  
+Preferences.Connection.Use_Proxy:Voleu utilitzar una connexiÃ³ proxy?  
+Preferences.General:General  
+Preferences.General_Tooltip:Establiu algunes preferÃšncies generals  
+Preferences.General.Email:Correu electrÃ²nic de l'usuari:  
+Preferences.General.Email_Tooltip:AdreÃ§a electrÃ²nica que s'utilitzarÃ  automÃ ticament per a qualsevol colÂ·lecciÃ³ creada amb la IBG  
+Preferences.General.Font:Font:  
+Preferences.General.Font_Tooltip:La font utilitzada per a la interfÃ­cie IBG.  
+Preferences.General.Interface_Language:Idioma de la interfÃ­cie:  
+Preferences.General.Interface_Language_Tooltip:Seleccioneu l'idioma en quÃš voleu que apareguin la interfÃ­cie i els seus controls.  
+Preferences.General.Restart_Required:Ara cal reiniciar la IBG per completar l'assignaciÃ³ del nou idioma d'interfÃ­cie.   
+Preferences.General.Show_File_Size:Mostra la mida dels fitxers  
+Preferences.General.Show_File_Size_Tooltip:Mostra la mida dels fitxers al costat de les entrades en els arbres de fitxers de l'espai de treball i de la colÂ·lecciÃ³.  
+Preferences.General.View_Extracted_Metadata:Visualitza metadades extretes  
+Preferences.General.View_Extracted_Metadata_Tooltip:Mostra les metadades extretes pels plugins de Greenstone a la llista de metatades de la vista Enriquir.  
+Preferences.Mode:Mode  
+Preferences.Mode_Tooltip:Feu clic sobre una entrada per seleccionar un nivell d'operaciÃ³ adequat  
+Preferences.Mode.Assistant:Assistent de biblioteca  
+Preferences.Mode.Assistant_Description:Utilitzeu aquesta opciÃ³ per accedir a les funcions bÃ siques de la InterfÃ­cie de Bibliotecari de Greenstone: afegir documents i metadades a les colÂ·leccions, crear noves colÂ·leccions amb la mateixa estructura que d'altres d'existents i construir colÂ·leccions.  
+Preferences.Mode.Librarian:Bibliotecari  
+Preferences.Mode.Librarian_Description:Aquesta opciÃ³ ofereix un Ãºs normal de la InterfÃ­cie de Bibliotecari de Greenstone: crear i dissenyar noves colÂ·leccions, afegir-hi documents i metadades, dissenyar-ne de noves i construir colÂ·leccions.   
+Preferences.Mode.Systems:Especialista en sistemes de biblioteca  
+Preferences.Mode.Systems_Description:Aquesta opciÃ³ permet un Ãºs complet de la InterfÃ­cie de Bibliotecari de Greenstone. Per aprofitar totes les funcions disponibles, haureu de saber formular expressions regulars.   
+Preferences.Mode.Expert:Expert  
+Preferences.Mode.Expert_Description:Aquesta opciÃ³ habilita l'Ãºs avanÃ§at de la InterfÃ­cie de Bibliotecari de Greenstone. Es recomana per a usuaris amb experiÃšncia de Greenstone i que sÃ piguen resoldre problemes que comporten interpretar resultats de depuraciÃ³ dels scripts PERL. Estan habilitades totes les funcions de la InterfÃ­cie de Bibliotecari de Greenstone.   
+Preferences.Warnings:AdvertÃšncies  
+Preferences.Warnings_Tooltip:Habilita o deshabilita els diversos diÃ legs d'advertÃšncia  
+Preferences.Workflow:Flux de treball  
+Preferences.Workflow_Tooltip:Dissenyeu el flux de treball de la interfÃ­cie: definiu quines visualitzacions s'han d'habilitar  
+Preferences.Workflow.Predefined.Label:Fluxos de treball predefinits  
+Preferences.Workflow.Title:Marqueu la casella per habilitar la visualitzaciÃ³  
+#**********************
+#
+#**** PreviewCommandDialog *******
+PreviewCommandDialog.Instructions:IntriduÃ¯u l'ordre d'obrir el programa per veure la vista preliminar de la colÂ·lecciÃ³. Recordeu que heu d'utilitzar %1 per indicar el lloc on s'inserirÃ  l'adreÃ§a de la colÂ·lecciÃ³, i utilitzar cometes quan calgui.    
+PreviewCommandDialog.Title:Ordre de vista preliminar  
+
+ShowPreviousCollection.Title:Vista preliminar de la colÂ·lecciÃ³ construÃ¯da anteriorment  
+ShowPreviousCollection.Message:S'ha produÃ¯t un error i no s'ha pogut crear la colÂ·lecciÃ³. Ara veieu la vista preliminar de la colÂ·lecciÃ³ que s'ha construÃ¯t anteriorment.   
+#**********************
+#
+#***** Remote Greenstone Server *****
+RemoteGreenstoneServer.Authentication_Message:IntroduÃ¯u el vostre nom d'usuari i contrasenya de Greenstone:  
+RemoteGreenstoneServer.Error:S'ha produÃ¯t un error en el servidor remot de Greenstone mentre realitzava aquesta operaciÃ³:\n{0-missatge d'error}  
+RemoteGreenstoneServer.Error_Title:Error de servidor remot de Greenstone  
+RemoteGreenstoneServer.Progress:ProgrÃ©s del servidor remot de Greenstone:  
+RemoteGreenstoneServer.Steal_Lock_Message:Aquesta colÂ·lecciÃ³ estÃ  bloquejada ara per l'usuari '{0-User name}'.\nLi voleu prendre el control d'aquest fitxer de bloqueig (no es recomana, ja que es podria perdre feina)?  
+#**********************
+#
+#***** Rename Prompt *****
+RenamePrompt.Name:Nom:  
+RenamePrompt.Title:Canviar nom de fitxer/carpeta  
+#**********************
+#
+#***** Replace Prompt *****
+ReplacePrompt.Title:ReemplaÃ§a el fitxer amb...  
+#**********************
+#
+#***** Save Collection Box *****
+SaveCollectionBox.File_Name:Nom de fitxer:  
+SaveCollectionBox.Files_Of_Type:Fitxers de tipus:  
+SaveCollectionBox.Look_In:Visita rÃ pida:  
+#**********************
+#
+#***** Save Progress Box *******
+SaveProgressDialog.Title:Desar colÂ·lecciÃ³  
+#*******************************
+#
+Server.QuitManual:La InterfÃ­cie de Bibliotecari no ha pogut tancar automÃ ticament el servidor local de\nbiblioteca. Sortiu del servidor\nmanualment fent clic sobre la creu a l'angle dret\nsuperior i desprÃ©s sobre 'D'acord' en aquest diÃ leg.  
+Server.QuitTimeOut:La biblioteca local de Greenstone no ha respost a l'\nordre automÃ tica de tancar durant seixanta segons. \nVoleu esperar un altre minut?  
+#
+#***** Sources *****
+Source.General:General  
+#**********************
+#
+#***** Trees *****
+Tree.DownloadedFiles:Fitxers baixats  
+Tree.Files:fitxers  
+Tree.Home:Carpeta d'inici ({0})  
+Tree.Root:Espai de fitxer local  
+Tree.World:Documents a les colÂ·leccions de Greenstone  
+#***********************
+#
+#***** Warning Dialog *****
+WarningDialog.Dont_Show_Again:No tornis a mostrar aquesta advertÃšncia  
+WarningDialog.Dont_Show_Again_Message:No tornis a mostrar aquest missatge  
+WarningDialog.Invalid_Value:El valor que heu introduÃ¯t en el camp de valor\nno Ã©s vÃ lid per a la propietat especificada.  
+WarningDialog.Value:IntroduÃ¯u valor:  
+#
+#****** WGet *****
+WGet.Prompt:Client Mirror WGet   
+#
+#****** Workflows *****
+Workflow.AllPanels:Tots els panells  
+Workflow.LocalSourceCollectionBuilding:EstÃ  construint la colÂ·lecciÃ³ de font local  
+Workflow.DocumentEnriching:EstÃ  enriquint el document  
+
+
+#********GEMS******
+
+GEMS.Title:Editor de Greenstone per a conjunts de metadades  
+GEMS.OpenMetadataSetPrompt.Title:Obrir conjunt de metadades  
+GEMS.OpenMetadataSetPrompt.Open_Tooltip:Obre el conjunt de metadades seleccionat  
+GEMS.Set_Description:DescripciÃ³ del conjunt de metadades  
+GEMS.OpenMetadataSetPrompt.Open:Obre  
+GEMS.OpenMetadataSetPrompt.Available_Sets:Conjunts de metadades disponibles  
+GEMS.DeleteMetadataSetPrompt.Title:Suprimir conjunt de metadades  
+GEMS.DeleteMetadataSetPrompt.Delete_Tooltip:Suprimeix el conjunt de metadades seleccionat  
+GEMS.DeleteMetadataSetPrompt.Delete:Suprimeix  
+GEMS.DeleteMetadataSetPrompt.Available_Sets:Conjunts de metadades disponibles  
+GEMS.DeleteMetadataSetPrompt.Confirm_Delete:Marqueu la casella per confirmar la supressiÃ³ del conjunt de metadades.  
+GEMS.DeleteMetadataSetPrompt.No_Set:No s'ha seleccionat cap conjunt de metadades  
+GEMS.Confirm_Removal:Esteu segur que voleu eliminar aquest {0}?  
+GEMS.Confirm_Removal_Title:Confirmar supressiÃ³  
+GEMS.Attribute:Atribut  
+GEMS.Popup.AddElement:Afegeix element  
+GEMS.Popup.DeleteElement:Suprimeix element  
+GEMS.Popup.AddSubElement:Afegeix subelement  
+GEMS.Popup.DeleteSubElement:Suprimeix subelement  
+GEMS.NewMetadataSetPrompt.Title:Nou conjunt de metadades  
+GEMS.NewMetadataSetPrompt.Instructions:Per crear un nou conjunt de metadades, empleneu els camps de sota:  
+GEMS.NewMetadataSetPrompt.Base_MetadataSet:Basa aquest conjunt de metadades en:  
+GEMS.NewMetadataSetPrompt.Metadata_Title:TÃ­tol de conjunt de metadades:  
+GEMS.NewMetadataSetPrompt.Metadata_Namespace:Espai de noms de conjunt de metadades:  
+GEMS.NewMetadataSetPrompt.New_Metadata:-- Nou conjunt de metadades --  
+GEMS.NewMetadataSetPrompt.Title_Error_Message:Un nou conjunt de metadades ha de tenir un tÃ­tol  
+GEMS.NewMetadataSetPrompt.Title_Error:No s'ha especificat cap tÃ­tol  
+GEMS.NewMetadataSetPrompt.Namespace_Error_Message:Un nou conjunt de metadades ha de tenir un espai de noms  
+GEMS.NewMetadataSetPrompt.Namespace_Error:No s'ha especificat cap espai de noms  
+GEMS.SelectedLanguage:Afegeix atributs d'idioma:  
+GEMS.Language:Escolliu idioma  
+GEMS.LanguageDependent:Atributs subordinats a idioma  
+GEMS.Attribute_Table:Atributs  
+GEMS.Attribute_Deletion_Error:Error de supressiÃ³ d'atribut  
+GEMS.Attribute_Deletion_Error_Message:Aqust atribut Ã©s imprescindible i no es pot suprimir  
+GEMS.Add_Lang_Depend_Attr_Error:Error d'addiciÃ³ d'atribut  
+GEMS.Add_Lang_Depend_Attr_Error_Message:No s'ha proporcionat cap atribut "subordinat a idioma"; afegiu aquest atribut.  
+GEMS.Attribute_Edition_Error:Error d'ediciÃ³ d'atribut  
+GEMS.Attribute_Edition_Error_Message:Aquest atribut Ã©s imprescindible i no pot estar buit  
+GEMS.Confirm_Save:Aquest conjunt de metadades ha canviat, el voleu desar?  
+GEMS.Confirm_Save_Title:Desar conjunt de metadades  
+GEMS.Confirm_DeleteElement:Esteu segur que voleu suprimir l'element {0}?  
+GEMS.Confirm_DeleteElement_Title:Suprimir element  
+GEMS.File_Deletion_Error_Message:No es pot eliminar aquest fitxer  
+GEMS.File_Deletion_Error:Error de supressiÃ³ de fitxer  
+GEMS.Namespace_Conflict_Message:Alerta: aquest espai de noms ja ha estat utilitzat per un altre conjunt de metadades. Voleu continuar?  
+GEMS.Namespace_Conflict:Conflicte d'espai de noms  
+GEMS.Move_Up:Puja  
+GEMS.Move_Down:Baixa  
+GEMS.Cannot_Undo:(aquesta acciÃ³ no es pot desfer)  
+
+GEMS.AttributeTable.Name:Nom  
+GEMS.AttributeTable.Language:Idioma  
+GEMS.AttributeTable.Value:Valor  
+GEMS.NewMetadataElementNamePrompt.Title:Nou element  
+GEMS.NewMetadataElementNamePrompt.Name:IntroduÃ¯u un nom per al nou element  
+GEMS.NewMetadataElementNamePrompt.SubTitle:Nou subelement  
+GEMS.NewMetadataElementNamePrompt.SubName:IntroduÃ¯u un nom per al nou subelement  
+GEMS.NewMetadataElementNamePrompt.Name_Error_Message:Ja existeix un element amb aquest nom.  
+GEMS.NewMetadataElementNamePrompt.Name_Error:Error de nom d'element  
+GEMS.NewMetadataElementNamePrompt.EmptyName_Error_Message:Un element nou ha de tenir un nom.  
+
+
+GEMS.No_Set_Loaded:No hi ha cap conjunt de metadades carregat. Utilitzeu Fitxer->Nou per crear un nou conjunt, o Fitxer->Obrir per obrir-ne un d'existent.  
Index: main/tags/2.83/gli/classes/dictionary_el.properties
===================================================================
--- main/tags/2.83/gli/classes/dictionary_el.properties	(revision 21123)
+++ main/tags/2.83/gli/classes/dictionary_el.properties	(revision 21123)
@@ -0,0 +1,1808 @@
+#*******************
+#** Language Orientation Property
+Component.Orientation:LTR
+
+#*******************
+#
+#***** AboutDialog *****
+AboutDialog.Acknowledgement:Î Î»Î·ÏÎ¿ÏÎ¿ÏÎ¯ÎµÏ Î³Î¹Î± Î¹ÎŽÎ¹ÏÎºÏÎ·ÏÎ± ÏÏÎ¿Î³ÏÎ¬ÎŒÎŒÎ±ÏÎ± ÏÎ±ÎºÎ­ÏÎ± Î® ÎºÎ»Î¬ÏÎµÎ¹Ï...  
+AboutDialog.Date:(ÎÎ¿ÏÎ»Î¹Î¿Ï 2007)  
+AboutDialog.Item0:'Xerces Java 1' Î±ÏÏ ÏÎ¿ Apache Software Foundation (http://www.apache.org/)  
+AboutDialog.Item2:'WGet' Î±ÏÏ ÏÎ¿ Free Software Foundation, Inc. (http://www.gnu.org/software/wget/wget.html)  
+AboutDialog.Item3:'qflib' Î±ÏÏ ÏÎ¿ Quality First Software GmbH. (http://www.qfs.de/en/qflib/index.html)  
+AboutDialog.Item4:'ExtensionFileFilter.class' Î±ÏÏ ÏÎ¿Îœ Bruno Dumon ÎºÎ±Î¹ Î¬Î»Î»Î¿Ï
+Ï (http://pollo.sourceforge.net/)  
+AboutDialog.Item5:'Î ÏÏ ÎœÎ± Î±ÏÎµÎœÎµÏÎ³Î¿ÏÎ¿Î¹Î®ÏÎµÏÎµ ÏÎ· ÎŒÎµÏÎ¿ÎœÎ¿ÎŒÎ±ÏÎ¯Î± ÏÎ±ÎºÎ­Î»ÏÎœ ÏÏÎ·Îœ ÎµÏÎ¹Î»Î¿Î³Î® ÏÎ±ÎºÎ­Î»ÏÎœ' - vladi21 (http://www.experts-exchange.com/)  
+AboutDialog.Item6:'Autoscrolling' - Java Swing Î±ÏÏ ÏÎ¿Îœ Robert Eckstein, Marc Loy & Dave Wood (http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf)  
+AboutDialog.Item7:'Î ÏÎ¿ÏÎžÎ®ÎºÎ· ghosted ÎµÎ¹ÎºÏÎœÏÎœ ÏÎµ JTrees' - By Andrew J. Armstrong (http://www.javaworld.com/javaworld/javatips/jw-javatip114.html)  
+AboutDialog.Item8:'Î£ÏÎ±ÎŒÎ¬ÏÎ·ÎŒÎ± ÏÎ¿Ï
+ Î»Î¬ÎžÎ¿Ï
+Ï java.prefs Î»ÏÎ³Ï Î­Î»Î»ÎµÎ¹ÏÎ·Ï ÎŽÎ¹ÎºÎ±Î¹ÏÎŒÎ¬ÏÏÎœ' - Thanks to Walter Schatz  
+AboutDialog.Java_Req:Î Java ÎµÎ¯ÎœÎ±Î¹ trademark ÏÎ·Ï Sun Microsystems Inc. Î€Î¿ JRE ÎŽÎ¹Î±ÎœÎ­ÎŒÎµÏÎ±Î¹ ÎŒÎµ ÏÎ·Îœ Î¬ÎŽÎµÎ¹Î± ÎºÎ±Î¹ ÏÎ¿Ï
+Ï ÏÏÎ¿Ï
+Ï ÏÏÎ¿ http://java.sun.com/j2se/1.4.1/j2re-1_4_1_02-license.html  
+AboutDialog.Java_Req_One:Î ÎµÏÎ¹Î»Î±ÎŒÎ²Î¬ÎœÎµÎ¹ ÎºÏÎŽÎ¹ÎºÎµÏ ÎŒÎµ Î¬ÎŽÎµÎ¹Î± Î±ÏÏ ÏÎ¿ RSA Security, Inc.  
+AboutDialog.Java_Req_Two:ÎÎµ Î¬ÎŽÎµÎ¹Î± Î±ÏÏ ÏÎ·Îœ IBM http://oss.software.ibm.com/icu4j/  
+AboutDialog.Thanks:ÎÏ
+ÏÎ±ÏÎ¹ÏÏÎ¯ÎµÏ ÏÎµ ÏÏÎ¿Ï
+Ï ÎŸÎ­ÏÎ¿Ï
+Îœ java ÎºÎ±Î¹ Î²Î¿Î®ÎžÎ·ÏÎ±Îœ...  
+AboutDialog.Title:Î£ÏÎµÏÎ¹ÎºÎ¬...  
+AboutDialog.Title_One:ÎÎ¹ÎµÏÎ±ÏÎ® ÎÎ¹Î±ÏÎµÎ¯ÏÎ¹ÏÎ·Ï Greenstone  
+AboutDialog.Title_Two:ÎÎ¹ÎµÏÎ±ÏÎ® ÎÎ¹Î±ÏÎµÎ¯ÏÎ¹ÏÎ·Ï Greenstone, Î Î±ÎœÎµÏÎ¹ÏÏÎ®ÎŒÎ¹Î¿ Waikato  
+AboutDialog.Copyright:Copyright (C) 2006 New Zealand Digital Library Project  
+AboutDialog.Copyright_Two:ÎÎ¬ÏÏ Î±ÏÏ ÏÎ·Îœ GPL Î¬ÎŽÎµÎ¹Î±. ÎÎ»Î­ÏÎµ LICENSE.txt Î³Î¹Î± Î»ÎµÏÏÎ¿ÎŒÎ­ÏÎµÎ¹ÎµÏ.  
+#***********************
+#
+#***** Audit Table *****
+AuditTable.File:ÎÎœÎ¿ÎŒÎ± ÎÏÏÎµÎ¯Î¿Ï
+  
+#***********************
+#
+#***** Auto Filter *****
+Autofilter.AND:ÎÎÎ  
+Autofilter.Ascending:ÎÏÎŸÎ¿Ï
+ÏÎ±  
+Autofilter.Case_Sensitive:ÎÎ¹Î±ÏÏÏÎ¹ÏÎŒÏÏ ÎÎµÏÎ±Î»Î±Î¯Î±-Î ÎµÎ¶Î¬  
+Autofilter.Custom_Filter:ÎÎ¹Î± Î ÏÎ¿ÏÏÏÎ·ÎŒÎ­ÎœÎ¿Ï
+Ï  
+Autofilter.Descending:ÎŠÎžÎ¯ÎœÎ¿Ï
+ÏÎ±  
+Autofilter.Filter_By_Value:ÎÏÎ»Ï  
+Autofilter.Name:ÎÎœÎ¿ÎŒÎ± Î£ÏÎ®Î»Î·Ï  
+Autofilter.None:ÎÎ±ÎœÎ­ÎœÎ±  
+Autofilter.Operator:ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ·  
+Autofilter.OR:Î  
+Autofilter.Order:ÎÎ¹Î¬ÏÎ±ÎŸÎ·  
+Autofilter.Order_Tooltip:Î€Î±ÎŸÎ¹ÎœÏÎŒÎ·ÏÎµ ÏÎ± Î±ÏÎ¿ÏÎµÎ»Î­ÏÎŒÎ±ÏÎ± ÎŒÎµ Î±Ï
+ÏÎ® ÏÎ· ÏÎµÎ¹ÏÎ¬  
+Autofilter.Remove:ÎÏÎ±Î¯ÏÎµÏÎ· ÎŠÎ¯Î»ÏÏÎ¿Ï
+  
+Autofilter.Remove_Tooltip:ÎÏÎ±Î¯ÏÎµÏÎ· ÏÎ¯Î»ÏÏÎ¿Ï
+ Î±ÏÏ Î±Ï
+ÏÎ® ÏÎ· ÏÏÎ®Î»Î·  
+Autofilter.Set:ÎÎ­ÏÎµ ÎŠÎ¯Î»ÏÏÎ¿  
+Autofilter.Set_Tooltip:Î ÏÏÏÎžÎµÏÎµ ÏÎ¿ ÏÎ¯Î»ÏÏÎ¿ ÏÎµ Î±Ï
+ÏÎ® ÏÎ· ÏÏÎ®Î»Î·  
+Autofilter.Table_Header_Tooltip:Î€Î±ÎŸÎ¹ÎœÏÎŒÎ·ÏÎµ ÎºÎ±ÏÎ¬ {0}  
+Autofilter.Title:ÎÏ
+ÏÏÎŒÎ±ÏÎ¿ ÏÎ¹Î»ÏÏÎ¬ÏÎ¹ÏÎŒÎ± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ  
+Autofilter.eqeq:Î¯ÏÎ¿ ÎŒÎµ  
+Autofilter.!eq:ÏÏÎ¹ Î¯ÏÎ¿ ÎŒÎµ  
+Autofilter.<:ÎŒÎ¹ÎºÏÏÏÎµÏÎ¿ Î±ÏÏ  
+Autofilter.<eq:ÎŒÎ¹ÎºÏÏÏÎµÏÎ¿ Î® Î¯ÏÎ¿  
+Autofilter.>:ÎŒÎµÎ³Î±Î»ÏÏÎµÏÎ¿ Î±ÏÏ  
+Autofilter.>eq:ÎŒÎµÎ³Î±Î»ÏÏÎµÏÎ¿ Î® Î¯ÏÎ¿  
+Autofilter.^:ÎŸÎµÎºÎ¹ÎœÎ¬ÎµÎ¹ ÎŒÎµ  
+Autofilter.!^:ÎŽÎµÎœ ÎŸÎµÎºÎ¹ÎœÎ¬ÎµÎ¹ ÎŒÎµ  
+Autofilter.$:ÏÎµÎ»ÎµÎ¹ÏÎœÎµÎ¹ ÎŒÎµ  
+Autofilter.!$:ÎŽÎµÎœ ÏÎµÎ»ÎµÎ¹ÏÎœÎµÎ¹ ÎŒÎµ  
+Autofilter.?:ÏÎµÏÎ¹Î­ÏÎµÎ¹  
+Autofilter.!?:ÎŽÎµÎœ ÏÎµÏÎ¹Î­ÏÎµÎ¹  
+#
+#     ********************************************************
+#     *************** Collection Design Module ***************
+#     ********************************************************
+#     * The dictionary  phrases  used in the creation of the *
+#     * Colection  Design  Module. Note that we  still  have *
+#     * access  to the format  arguments (argument  32+) for *
+#     * html formatting.                                     *
+#     ********************************************************
+CDM.ArgumentConfiguration.Add:Î ÏÏÏÎžÎµÏÎµ  
+CDM.ArgumentConfiguration.Bad_Integer:<html>Î€Î¿ ÏÏÎ¹ÏÎŒÎ± '{0}' Î±ÏÎ±Î¹ÏÎµÎ¯ ÎŒÎ¹Î± Î±ÎºÎ­ÏÎ±Î¹Î± ÏÎ¹ÎŒÎ®,<br>Î±Î»Î»Î¬ ÎºÎ±ÎŒÎ¯Î± ÎŽÎµ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± Î²ÏÎµÎžÎµÎ¯ Î±ÏÏ ÏÎ¿ {1}.</html>  
+CDM.ArgumentConfiguration.Custom_Header:Î€ÏÎ¿ÏÎ¿ÏÎ¿Î¯ÏÎ·  
+CDM.ArgumentConfiguration.Custom:ÎÏÎ¯ÏÎŒÎ±ÏÎ± Î€ÏÎ¿ÏÎ¿ÏÎ¿Î¯Î·ÏÎ·Ï  
+CDM.ArgumentConfiguration.Error_Title:ÎÎ¬ÎžÎ¿Ï ÏÏÎ± Î¿ÏÎ¯ÏÎŒÎ±ÏÎ±  
+CDM.ArgumentConfiguration.Header:{39}{46}Î¡Ï
+ÎžÎŒÎ¯ÏÏÎµ ÏÎ± Î¿ÏÎ¯ÏÎŒÎ±ÏÎ± Î³Î¹Î± {0}.{47}{34}  
+CDM.ArgumentConfiguration.No_Value:ÏÎ¿ ÏÏÎ¹ÏÎŒÎ± '{0}' Î±ÏÎ±Î¹ÏÎµÎ¯ ÎŒÎ¹Î± ÏÎ¹ÎŒÎ® Î±Î»Î»Î¬ ÎºÎ±ÎŒÎ¯Î± ÎŽÎµÎœ Î­ÏÎµÎ¹ Î¿ÏÎ¹ÏÏÎµÎ¯.  
+CDM.ArgumentConfiguration.Remove:ÎÏÎ±Î¯ÏÎµÏÎ·  
+CDM.ArgumentConfiguration.Required_Argument:Î ÏÎ­ÏÎµÎ¹ ÎœÎ± ÎŽÏÎžÎµÎ¯ ÏÎ¹ÎŒÎ® ÏÏÎ¿ ÏÏÎ¹ÏÎŒÎ± '{0}'.  
+CDM.ArgumentConfiguration.Title:Î¡ÏÎžÎŒÎ¹ÏÎ· Î¿ÏÎ¹ÏÎŒÎ¬ÏÏÎœ  
+CDM.ClassifierManager.Add:Î ÏÎ¿ÏÎžÎ®ÎºÎ· Î€Î±ÎŸÎ¹ÎœÎ¿ÎŒÎ·ÏÎ®  
+CDM.ClassifierManager.Add_Tooltip:Î§ÏÎ®ÏÎ· ÎºÎ±ÎžÎ¿ÏÎ¹ÏÎŒÎ­ÎœÎ¿Ï
+ ÏÎ±ÎŸÎ¹ÎœÎ¿ÎŒÎ·ÏÎ® Î³Î¹Î± ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î® Î±Ï
+ÏÎ®.  
+CDM.ClassifierManager.Assigned:Î¥ÏÎ¬ÏÏÎ¿ÎœÏÎµÏ ÏÎ±ÎŸÎ¹ÎœÎ¿ÎŒÎ·ÏÎ­Ï  
+CDM.ClassifierManager.Classifier:ÎÏÎ¹Î»Î¿Î³Î· ÏÎ±ÎŸÎ¹ÎœÎ¿ÎŒÎ·ÏÎ® Î³Î¹Î± ÏÏÎ¿ÏÎžÎ®ÎºÎ·:  
+CDM.ClassifierManager.Classifier_Tooltip:ÎÎ¹ ÏÎ±ÎŸÎ¹ÎœÎ¿ÎŒÎ·ÏÎ­Ï ÎŽÎ¹Î±ÎžÎ­ÏÎ¹ÎŒÎ¿Î¹ Î³Î¹Î± ÏÏÎ®ÏÎ·  
+CDM.ClassifierManager.Classifier_Exists:ÎÏ
+ÏÏÏ Î¿ ÏÎ±ÎŸÎ¹ÎœÎ¿ÎŒÎ·ÏÎ®Ï Î­ÏÎµÎ¹ Î®ÎŽÎ· ÎºÎ±ÏÎ±ÏÏÏÎ¹ÎžÎµÎ¯ Î³Î¹Î± ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î® Î±Ï
+ÏÎ®  
+CDM.ClassifierManager.Classifier_Str:Î€Î±ÎŸÎ¹ÎœÎ¿ÎŒÎ·ÏÎ®Ï  
+CDM.ClassifierManager.Classifier_XML_Parse_Failed:ÎÎŽÏÎœÎ±ÏÎ¿Îœ ÎœÎ± ÏÏÎ¿ÏÎŽÎ¹Î¿ÏÎ¹ÏÏÎ¿ÏÎœ ÏÎ± Î¿ÏÎ¯ÏÎŒÎ±ÏÎ± Î³Î¹Î± ÏÎ¿Îœ ÏÎ±ÎŸÎ¹ÎœÎ¿ÎŒÎ·ÏÎ® {0}\n. ÎÏÎ¹Î²ÎµÎ²Î±Î¹ÏÏÏÎµ ÏÏÎ¹ Î¿ ÏÎ±ÎŸÎ¹ÎœÎ¿ÎŒÎ·ÏÎ®Ï\nÏÎ±ÏÎ­ÏÎµÎ¹ ÏÎ¿ -xml flag ÏÏÎ­ÏÎ¿ÎœÏÎ±Ï ÏÎ¿ classinfo.pl script.  
+CDM.ClassifierManager.Configure:Î¡ÏÎžÎŒÎ¹ÏÎ· ÏÎ±ÎŸÎ¹ÎœÎ¿ÎŒÎ·ÏÎ®  
+CDM.ClassifierManager.Configure_Tooltip:ÎÎ»Î»Î±Î³Î® ÏÏ
+ÎžÎŒÎ¯ÏÎµÏÎœ ÏÎ¿Ï
+ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿Ï
+ ÏÎ±ÎŸÎ¹ÎœÎ¿ÎŒÎ·ÏÎ®  
+CDM.ClassifierManager.Remove:ÎÏÎ±Î¯ÏÎµÏÎ· Î€Î±ÎŸÎ¹ÎœÎ¿ÎŒÎ·ÏÎ®  
+CDM.ClassifierManager.Remove_Tooltip:ÎÏÎ±Î¯ÏÎµÏÎ· ÏÎ±ÎŸÎ¹ÎœÎ¿ÎŒÎ·ÏÎ® Î±ÏÏ ÏÎ· Î»Î¯ÏÏÎ±  
+CDM.ClassifierManager.Parsing.Message:Î€Î¿ ÎµÏÎ³Î±Î»ÎµÎ¯Î¿ ÏÏÎµÎŽÎ¯Î±ÏÎ·Ï ÏÎ¿ÏÏÏÎœÎµÎ¹ ÏÎ»Î·ÏÎ¿ÏÎ¿ÏÎ¯ÎµÏ Î³Î¹Î± ÏÎ¿Îœ ÏÎ±ÎŸÎ¹ÎœÎ¿ÎŒÎ·ÏÎ®.  
+CDM.ClassifierManager.Parsing.Title:ÎŠÏÏÏÏÏÎ· Î€Î±ÎŸÎ¹ÎœÎ¿ÎŒÎ·ÏÏÎœ  
+CDM.FormatManager.Add:Î ÏÎ¿ÏÎžÎ®ÎºÎ· ÎÎ¿ÏÏÎ¿ÏÎ¿Î¯Î·ÏÎ·Ï  
+CDM.FormatManager.Add_Tooltip:Î§ÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¯Î·ÏÎµ ÏÎ·Îœ ÎºÎ±ÎžÎ¿ÏÎ¹ÏÎŒÎ­ÎœÎ· ÎµÎœÏÎ¿Î»Î® ÎŒÎ¿ÏÏÎ¿ÏÎ¿Î¯Î·ÏÎ·Ï ÎŒÎµ ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®  
+CDM.FormatManager.Assigned_Formats:ÎÎ±ÏÎ±ÏÏÏÎ·ÎŒÎ­ÎœÎµÏ ÎÎœÏÎ¿Î»Î­Ï ÎŒÎ¿ÏÏÎ¿ÏÎ¿Î¯Î·ÏÎ·Ï  
+CDM.FormatManager.Editor:HTML Format String  
+CDM.FormatManager.Editor_Tooltip:ÎÎ¹ÏÎ¬Î³ÎµÏÎµ ÏÎ·Îœ ÎµÎœÏÎ¿Î»Î® ÎŒÎ¿ÏÏÎ¿ÏÎ¿Î¯Î·ÏÎ·Ï ÎµÎŽÏ  
+CDM.FormatManager.Enabled:ÎÎœÎµÏÎ³Î¿ÏÎ¿Î¹Î·ÎŒÎ­ÎœÎ¿  
+CDM.FormatManager.Feature:ÎÏÎ¹Î»Î¿Î³Î® ÏÎ±ÏÎ±ÎºÏÎ·ÏÎ¹ÏÏÎ¹ÎºÎ¿Ï  
+CDM.FormatManager.Feature_Tooltip:Î€Î¿ ÏÎ±ÏÎ±ÎºÏÎ·ÏÎ¹ÏÏÎ¹ÎºÏ ÏÏÎ¿Ï ÎŒÎ¿ÏÏÎ¿ÏÎ¿Î¯Î·ÏÎ·  
+CDM.FormatManager.Insert:ÎÎ¹ÏÎ±Î³ÏÎ³Î®  
+CDM.FormatManager.Insert_Tooltip:ÎÎ¹ÏÎ±Î³ÏÎ³Î® ÏÎ·Ï ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ·Ï ÎŒÎµÏÎ±Î²Î»Î·ÏÎ®Ï ÏÏÎ·Îœ ÎµÎœÏÎ¿Î»Î® ÎŒÎ¿ÏÏÎ¿ÏÎ¿Î¯Î·ÏÎ·Ï  
+CDM.FormatManager.Part:ÎÏÎ·ÏÎµÎ±Î¶ÏÎŒÎµÎœÎ¿ Component  
+CDM.FormatManager.Part_Tooltip:Î£ÏÎ¿Î¹ÏÎµÎ¯Î¿ ÏÏÎ¿Ï ÎŒÎ¿ÏÏÎ¿ÏÎ¿Î¯Î·ÏÎ· ÏÎ¿Ï
+ ÏÎ±ÏÎ±ÎºÏÎ·ÏÎ¹ÏÏÎ¹ÎºÎ¿Ï  
+CDM.FormatManager.Remove:ÎÏÎ±Î¯ÏÎµÏÎ· ÎŒÎ¿ÏÏÎ¿ÏÎ¿Î¯Î·ÏÎ·Ï  
+CDM.FormatManager.Remove_Tooltip:ÎÏÎ±Î¯ÏÎµÏÎ· ÎµÎœÏÎ¿Î»Î®Ï ÎŒÎ¿ÏÏÎ¿ÏÎ¿Î¯Î·ÏÎ·Ï Î±ÏÏ ÏÎ· Î»Î¯ÏÏÎ±  
+CDM.FormatManager.Replace:ÎÎœÏÎ¹ÎºÎ±Ï=Î¬ÏÏÎ±ÏÎ· ÎŒÎ¿ÏÏÎ¿ÏÎ¿Î¯Î·ÏÎ·Ï  
+CDM.FormatManager.Replace_Tooltip:ÎÎœÎ·ÎŒÎ­ÏÏÏÎ· ÏÎ·Ï ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ·Ï ÎµÎœÏÎ¿Î»Î®Ï ÎŒÎ¿ÏÏÎ¿ÏÎ¿Î¯Î·ÏÎ·Ï  
+CDM.FormatManager.Variable:ÎÎµÏÎ±Î²Î»Î·ÏÎ­Ï  
+CDM.FormatManager.Variable_Tooltip:ÎÎµÏÎ±Î²Î»Î·ÏÎ­Ï Î³Î¹Î± ÏÏÎ®ÏÎ· ÎŒÎµ ÏÎ·Îœ ÎµÎœÏÎ¿Î»Î® ÎŒÎ¿ÏÏÎ¿ÏÎ¿Î¯Î·ÏÎ·Ï  
+CDM.General.Access:ÎÏ
+ÏÎ® Î· ÏÏ
+Î»Î»Î¿Î³Î® ÎœÎ± ÎµÎ¯ÎœÎ±Î¹ ÎŽÎ·ÎŒÏÏÎ¹Î± ÏÏÎ¿ÏÏÎµÎ»Î¬ÏÎ¹ÎŒÎ·  
+CDM.General.Browser_Title:ÎÏÎ¹Î»Î¿Î³Î® ÎÎ¹ÎºÏÎœÎ±Ï  
+CDM.General.Collection_Extra:Î ÎµÏÎ¹Î³ÏÎµÏÎ® Î£Ï
+Î»Î»Î¿Î³Î®Ï:  
+CDM.General.Collection_Extra_Tooltip:Î ÎµÏÎ¹Î³ÏÎ±ÏÎ® ÏÎ¿Ï
+ ÏÎµÏÎ¹ÎµÏÎ¿ÎŒÎ­ÎœÎ¿Ï
+ ÎºÎ±Î¹ ÏÎ¿Ï
+ ÏÎºÎ¿ÏÎ¿Ï ÏÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï  
+CDM.General.Collection_Name:ÏÎ¯ÏÎ»Î¿Ï Î£Ï
+Î»Î»Î¿Î³Î®Ï:  
+CDM.General.Collection_Name_Tooltip:ÎÎœÎ¿ÎŒÎ± Î£Ï
+Î»Î»Î¿Î³Î®Ï  
+CDM.General.Email.Creator:Email ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¿Ï  
+CDM.General.Email.Creator_Tooltip:E-mail ÏÎ¿Ï
+ ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¿Ï ÏÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï  
+CDM.General.Email.Maintainer:E-mail ÏÏ
+ÎœÏÎ·ÏÎ·ÏÎ®  
+CDM.General.Email.Maintainer_Tooltip:E-mail ÏÎ¿Ï
+ ÏÏ
+ÎœÏÎ·ÏÎ·ÏÎ® ÏÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï  
+CDM.General.Icon_Collection:URL ÏÏÎ¿Ï ÏÎ¿ 'about page' icon:  
+CDM.General.Icon_Collection_Tooltip:Î€Î¿ URL ÏÎ·Ï ÎµÎ¹ÎºÏÎœÎ±Ï ÏÎ¿Ï
+ ÎžÎ± ÏÏÎ¿Î²Î»Î·ÎžÎµÎ¯ ÏÏÎ·Îœ about page  
+CDM.General.Icon_Collection_Small:URL ÏÏÎ¿ 'home page' icon:  
+CDM.General.Icon_Collection_Small_Tooltip:Î€Î¿ URL ÏÎ·Ï ÎµÎ¹ÎºÏÎœÎ±Ï ÏÎ·Ï ÎºÎµÎœÏÏÎ¹ÎºÎ®Ï ÏÎµÎ»Î¯ÎŽÎ±Ï ÏÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï  
+CDM.General.Image_Copy_Failed:Î£ÏÎ¬Î»ÎŒÎ±, ÎŽÎµ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± Î±ÎœÏÎ¹Î³ÏÎ±ÏÎµÎ¯ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ ÎµÎ¹ÎºÏÎœÎ±Ï.\nÎ ÏÎ¿ÏÏÎ±ÎžÎµÎ¯ÏÏÎµ ÎœÎ± ÏÎ¿ Î±ÎœÏÎ¹Î³ÏÎ¬ÏÎµÏÎµ ÏÎµÎ¹ÏÎ¿ÎºÎ¯ÎœÎ·ÏÎ±  
+CDM.General.Image_Filter:ÎÎ¹ÎºÏÎœÎµÏ (gifs, jpgs ÎºÎ±Î¹ pngs)  
+CDM.GUI.Classifiers:Î€Î±ÎŸÎ¹ÎœÎ¿ÎŒÎ·ÏÎ­Ï Î Î»Î¿Î®Î³Î·ÏÎ·Ï  
+CDM.GUI.Design_Topics:ÎÎœÏÏÎ·ÏÎµÏ Î£ÏÎµÎŽÎ¯Î±ÏÎ·Ï  
+CDM.GUI.Formats:Î§Î±ÏÎ±ÎºÏÎ·ÏÎ¹ÏÏÎ¹ÎºÎ¬ ÎÎ¿ÏÏÎ¿ÏÎ¿Î¯Î·ÏÎ·Ï  
+CDM.GUI.General:ÎÎµÎœÎ¹ÎºÎ¬  
+CDM.GUI.Indexes:ÎÏ
+ÏÎµÏÎ®ÏÎ¹Î± ÎÎœÎ±Î¶Î®ÏÎ·ÏÎ·Ï  
+CDM.GUI.MetadataSets:Î£ÏÎœÎ¿Î»Î± ÎÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ  
+CDM.GUI.Plugins:Plugins ÎÏÏÎµÎ¯ÏÎœ  
+CDM.GUI.Root:ÎÎ¡Î§Î  
+CDM.GUI.SearchTypes:ÎÎ¯ÎŽÎ· ÎÎœÎ±Î¶Î®ÏÎ·ÏÎ·Ï  
+CDM.GUI.Subcollections:ÎÎ¹Î±Î¯ÏÎµÏÎ· ÎÏ
+ÏÎµÏÎ·ÏÎ¯ÏÎœ  
+CDM.GUI.SuperCollection:ÎÎ¹Î±Î£Ï
+Î»Î»Î¿Î³Î¹ÎºÎ® ÎÎœÎ±Î¶Î®ÏÎ·ÏÎ·  
+CDM.GUI.Translation:ÎÎµÏÎ¬ÏÏÎ±ÏÎ· ÎºÎµÎ¹ÎŒÎ­ÎœÎ¿Ï
+  
+CDM.HelpButton:ÎÎ¿Î®ÎžÎµÎ¹Î± Î³Î¹Î± Î±Ï
+ÏÎ® ÏÎ·Îœ Î¿ÎžÏÎœÎ·
+CDM.HelpButton_Tooltip:ÎÎœÎ¿Î¹ÎŸÏÎµ ÏÎ· Î²Î¿Î®ÎžÎµÎ¹Î± ÏÎ¿Ï
+ GLI Î³Î¹Î± Î±Ï
+ÏÎ® ÏÎ·Îœ Î¿ÎžÏÎœÎ·
+CDM.IndexManager.Add_Index:Î ÏÎ¿ÏÎžÎ®ÎºÎ· ÎÏ
+ÏÎµÏÎ·ÏÎ¯Î¿Ï
+  
+CDM.IndexManager.Add_Index_Tooltip:ÎÎ±ÏÎ±ÏÎºÎµÏ
+Î® ÏÎ¿Ï
+ ÎºÎ±ÎžÎ¿ÏÎ¹ÏÎŒÎ­ÎœÎ¿Ï
+ ÎµÏ
+ÏÎµÏÎ·ÏÎ¯Î¿Ï
+ Î³Î¹' Î±Ï
+ÏÎ® ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®  
+CDM.IndexManager.Allfields_Index:Î ÏÎ¿ÏÎžÎ­ÏÏÎµ ÏÏ
+ÎœÎŽÏ
+Î±ÏÏÎ¹ÎºÎ® Î±ÎœÎ±Î¶Î®ÏÎ·ÏÎ· ÏÎµ ÏÎ»Î± ÏÎ± ÎµÏ
+ÏÎµÏÎ®ÏÎ¹Î±
+CDM.IndexManager.Default_Index_Indicator:[Î ÏÎ¿ÎºÎ±ÎžÎ¿ÏÎ¹ÏÎŒÎ­ÎœÎ¿ ÎÏ
+ÏÎµÏÎ®ÏÎ¹Î¿]  
+CDM.IndexManager.Document:Î­Î³Î³ÏÎ±ÏÎ¿  
+CDM.IndexManager.Index_Exists:ÎÏ
+ÏÏ ÏÎ¿ ÎÏ
+ÏÎµÏÎ®ÏÎ¹Î¿ Î­ÏÎµÎ¹ Î®ÎŽÎ· ÎºÎ±ÏÎ±ÏÏÏÎ·ÎžÎµÎ¯ Î³Î¹Î± Î±Ï
+ÏÎ® ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®  
+CDM.IndexManager.Index_Name:ÎÎœÎ¿ÎŒÎ± ÎÏ
+ÏÎµÏÎ·ÏÎ¯Î¿Ï
+:  
+CDM.IndexManager.Index_Name_Tooltip:ÏÎ¿ ÎŒÎ¿ÎœÎ±ÎŽÎ¹ÎºÏ ÎÎœÎ¿ÎŒÎ± Î³Î¹Î± ÏÎ¿ ÎœÎ­Î¿ ÎÏ
+ÏÎµÏÎ®ÏÎ¹Î¿  
+CDM.IndexManager.Indexes:ÎÎ±ÏÎ±ÏÏÏÎ·ÎŒÎ­ÎœÎ± ÎÏ
+ÏÎµÏÎ®ÏÎ¹Î±  
+CDM.IndexManager.Level:Î£ÏÎ¿ ÎÏÎ¯ÏÎµÎŽÎ¿:  
+CDM.IndexManager.Level_Exists:ÎÏ
+ÏÏ ÏÎ¿ ÎµÏÎ¯ÏÎµÎŽÎ¿ Î­ÏÎµÎ¹ Î®ÎŽÎ· ÎºÎ±ÏÎ±ÏÏÏÎ·ÎžÎµÎ¯ Î³Î¹Î± Î±Ï
+ÏÎ® ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®  
+CDM.IndexManager.Level_Tooltip:Î€Î¿ ÎµÏÎ¯ÏÎµÎŽÎ¿ ÏÎ¿Ï
+ ÎµÎ³Î³ÏÎ¬ÏÎ¿Ï
+ ÏÏÎ¿ Î¿ÏÎ¿Î¯Î¿ ÎžÎ± ÏÏÎ¹ÏÏÎµÎ¯ ÏÎ¿ ÎÏ
+ÏÎµÏÎ®ÏÎ¹Î¿  
+CDM.IndexManager.MGPP.Add_All_Metadata:Î ÏÎ¿ÏÎžÎ®ÎºÎ· ÏÎ»ÏÎœ  
+CDM.IndexManager.MGPP.Add_All_Metadata_Tooltip:Î§ÏÎ¯Î¶ÎµÎ¹ Î­ÎœÎ± ÎŸÎµÏÏÏÎ¹ÏÏÏ ÎµÏ
+ÏÎµÏÎ®ÏÎ¹Î¿ Î³Î¹Î± ÎºÎ¬ÎžÎµ ÎŽÎ¹Î±ÎžÎ­ÏÎ¹ÎŒÎ¿ ÏÏÏÎ¿ ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¯ÏÎœÏÎ±Ï ÏÎ¿ ÏÎœÎ¿ÎŒÎ± ÏÎ¿Ï
+ ÏÏÏÎ¿Ï
+ ÏÏ ÏÎ¿ ÏÎœÎ¿ÎŒÎ± ÏÎ¿Ï
+ ÎµÏ
+ÏÎµÏÎ·ÏÎ¯Î¿Ï
+  
+CDM.IndexManager.MGPP.Add_Level:Î ÏÎ¿ÏÎžÎ®ÎºÎ· ÎÏÎ¹ÏÎ­ÎŽÎ¿Ï
+  
+CDM.IndexManager.MGPP.Add_Level_Tooltip:Î§ÏÎ¯Î¶ÎµÎ¹ Î­ÎœÎ± ÎµÏ
+ÏÎµÏÎ®ÏÎ¹Î¿ ÏÏÎ¿ ÎºÎ±ÎžÎ¿ÏÎ¹ÏÎŒÎ­ÎœÎ¿ ÎµÏÎ¯ÏÎµÎŽÎ¿  
+CDM.IndexManager.MGPP.Current_Levels:ÎÎ±ÏÎ±ÏÏÏÎ·ÎŒÎ­ÎœÎ± ÎµÏÎ¯ÏÎµÎŽÎ±  
+CDM.IndexManager.MGPP.Indexes:ÎÎ¹Î±ÏÎµÎ¯ÏÎ¹ÏÎ· ÎÏ
+ÏÎµÏÎ·ÏÎ¯ÏÎœ  
+CDM.IndexManager.MGPP.Level:ÎÏÎ¯ÏÎµÎŽÎ¿ Î ÏÏÎ¿Ï
+:  
+CDM.IndexManager.MGPP.Level_Name:ÎÎœÎ¿ÎŒÎ± ÎÏÎ¹ÏÎ­ÎŽÎ¿Ï
+:  
+CDM.IndexManager.MGPP.Level_Name_Tooltip:ÎÎœÎ± ÎŒÎ¿ÎœÎ±ÎŽÎ¹ÎºÏ ÏÎœÎ¿ÎŒÎ± Î³Î¹Î± ÏÎ¿ ÎœÎ­Î¿ ÎµÏÎ¯ÏÎµÎŽÎ¿ ÎÏ
+ÏÎµÏÎ·ÏÎ¹Î¿ÏÎ¿Î¯Î·ÏÎ·Ï  
+CDM.IndexManager.MGPP.Levels:ÎÎ¹Î±ÏÎµÎ¯ÏÎ¹ÏÎ· ÎµÏÎ¹ÏÎ­ÎŽÏÎœ  
+CDM.IndexManager.MGPP.Remove_Level:ÎÎ¹Î±Î³ÏÎ±ÏÎ® ÎÏÎ¹ÏÎ­ÎŽÎ¿Ï
+  
+CDM.IndexManager.MGPP.Remove_Level_Tooltip:ÎÎ¹Î±Î³ÏÎ±ÏÎ® ÏÎ¿Ï
+ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿Ï
+ ÎµÏÎ¹ÏÎ­ÎŽÎ¿Ï
+ ÎµÏ
+ÏÎµÏÎ·ÏÎ¹Î¿ÏÎ¿Î¯Î·ÏÎ·Ï  
+CDM.IndexManager.MGPP.Replace_Index:ÎÎœÏÎ¹ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÎÏ
+ÏÎµÏÎ·ÏÎ¯Î¿Ï
+  
+CDM.IndexManager.MGPP.Replace_Index_Tooltip:ÎÎœÎ·ÎŒÎ­ÏÏÏÎ· ÏÎ¿Ï
+ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿Ï
+ ÎµÏ
+ÏÎµÏÎ·ÏÎ¯Î¿Ï
+  
+CDM.IndexManager.Paragraph:ÏÎ±ÏÎ¬Î³ÏÎ±ÏÎ¿Ï  
+CDM.IndexManager.Remove_Index:ÎÏÎ±Î¯ÏÎµÏÎ· ÎÏ
+ÏÎµÏÎ·ÏÎ¯Î¿Ï
+  
+CDM.IndexManager.Remove_Index_Tooltip:ÎÏÎ±Î¯ÏÎµÏÎ· ÏÎ¿Ï
+ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿Ï
+ ÎµÏ
+ÏÎµÏÎ·ÏÎ¯Î¿Ï
+ Î±ÏÏ ÏÎ· Î»Î¯ÏÏÎ±  
+CDM.IndexManager.Section:ÎµÎœÏÏÎ·ÏÎ±  
+CDM.IndexManager.Set_Default:ÎÎ­ÏÎµ ÏÏ ÏÏÎ¿ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿ ÎÏ
+ÏÎµÏÎ®ÏÎ¹Î¿  
+CDM.IndexManager.Set_Default_Tooltip:ÎÏÎ¯Î¶ÎµÎ¹ ÏÎ¿ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿ ÎµÏ
+ÏÎµÏÎ®ÏÎ¹Î¿ ÏÏ ÏÏÎ¿ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿  
+CDM.IndexManager.Source:Î§ÏÎ¯ÏÎµ ÏÎ¿ ÎÏ
+ÏÎµÏÎ®ÏÎ¹Î¿ ÏÎ¬ÎœÏ ÏÎµ:  
+CDM.IndexManager.Source_Tooltip:Î€Î± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ± ÏÎ¬ÎœÏ ÏÏÎ± Î¿ÏÎ¿Î¯Î± ÎžÎ± ÏÏÎ¹ÏÏÎµÎ¯ ÏÎ¿ ÎÏ
+ÏÎµÏÎ®ÏÎ¹Î¿  
+CDM.LanguageManager.Add:Î ÏÎ¿ÏÎžÎ®ÎºÎ· ÎÎ»ÏÏÏÎ±Ï  
+CDM.LanguageManager.Add_Tooltip:Î ÏÎ¿ÏÎžÎ®ÎºÎ· ÏÎ·Ï ÎºÎ±ÎžÎ¿ÏÎ¹ÏÎŒÎ­ÎœÎ·Ï Î³Î»ÏÏÏÎ±Ï ÏÏÎ· Î»Î¯ÏÏÎ±  
+CDM.LanguageManager.Assigned_Languages:ÎÎ±ÏÎ±ÏÏÏÎ·ÎŒÎ­ÎœÎµÏ Î³Î»ÏÏÏÎµÏ  
+CDM.LanguageManager.Default_Language:Î ÏÎ¿ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ· ÎÎ»ÏÏÏÎ±  
+CDM.LanguageManager.Remove:ÎÎ¹Î±Î³ÏÎ±ÏÎ® ÎÎ»ÏÏÏÎ±Ï  
+CDM.LanguageManager.Remove_Tooltip:ÎÎ¹Î±Î³ÏÎ±ÏÎ® ÏÎ·Ï ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ·Ï Î³Î»ÏÏÏÎ±Ï Î±ÏÏ ÏÎ· Î»Î¯ÏÏÎ±  
+CDM.LanguageManager.Selector:ÎÎ»ÏÏÏÎ± Î³Î¹Î± Î ÏÎ¿ÏÎžÎ®ÎºÎ·:  
+CDM.LanguageManager.Selector_Tooltip:Î Î³Î»ÏÏÏÎ± ÏÎ¬ÎœÏ ÏÏÎ·Îœ Î¿ÏÎ¿Î¯Î± ÎžÎ± ÏÏÎ¹ÏÏÎµÎ¯ ÏÎ¿ ÎµÏ
+ÏÎµÏÎ®ÏÎ¹Î¿  
+CDM.LanguageManager.Set_Default:ÎÎ­ÏÎµ ÏÏ Î ÏÎ¿ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿  
+CDM.LanguageManager.Set_Default_Tooltip:ÎÎ¬ÎœÎµ ÏÎ·Îœ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ· Î³Î»ÏÏÏÎ± Î ÏÎ¿ÎµÏÎ¹Î»Î¿Î³Î®  
+CDM.MetadataSetManager.Add:Î ÏÎ¿ÏÎžÎ®ÎºÎ· ÏÏ
+ÎœÏÎ»Î¿Ï
+ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ  
+CDM.MetadataSetManager.Add_Tooltip:Î ÏÎ¿ÏÎžÎ®ÎºÎ· ÎµÎœÏÏ ÎœÎµÏÏ
+ ÏÏ
+ÎœÏÎ»Î¿Ï
+ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ ÏÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®  
+CDM.MetadataSetManager.Edit:ÎÏÎµÎŸÎµÏÎ³Î±ÏÎ¯Î± Î£Ï
+ÎœÏÎ»Î¿Ï
+ ÎÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ  
+CDM.MetadataSetManager.Edit_Message:Î€Î± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ± ÎŒÏÎ¿ÏÎ¿ÏÎœ ÎœÎ± ÎµÏÎµÎŸÎµÏÎ³Î±ÏÏÎ¿ÏÎœ ÎŒÎµ ÏÏÎ®ÏÎ· ÏÎ¿Ï
+ GEMS (Greenstone Editor for Metadata Sets).\nÎÎµÎºÎ¹ÎœÎ®ÏÏÎµ ÏÎ¿Îœ GEMS ÎŒÎµ ÏÎ·Îœ ÎµÎœÏÎ¿Î»Î® gems.bat (Windows) Î® gems.sh (Linux) Î±ÏÏ ÏÎ¿ ÏÎ¬ÎºÎµÎ»Î¿ gli.  
+CDM.MetadataSetManager.Edit_Message_Title:ÎÏÎµÎŸÎµÏÎ³Î±ÏÎ¯Î± ÏÏ
+ÎœÏÎ»Î¿Ï
+ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ  
+CDM.MetadataSetManager.Edit_Tooltip:ÎÏÎµÎŸÎµÏÎ³Î±ÏÎ¯Î± ÏÎ¿Ï
+ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿Ï
+ ÏÏ
+ÎœÏÎ»Î¿Ï
+.  
+CDM.MetadataSetManager.Elements:Elements ÏÏÎ¿ ÏÏÎœÎ¿Î»Î¿ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ  
+CDM.MetadataSetManager.Remove:ÎÏÎ±Î¯ÏÎµÏÎ· ÏÏ
+ÎœÏÎ»Î¿Ï
+ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ  
+CDM.MetadataSetManager.Remove_Tooltip:ÎÏÎ±Î¯ÏÎµÏÎ· ÏÎ¿Ï
+ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿Ï
+ ÏÏ
+ÎœÏÎ»Î¿Ï
+ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ Î±ÏÏ ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®  
+CDM.MetadataSetManager.Sets:ÎÎ¹Î±ÎžÎ­ÏÎ¹ÎŒÎ± ÏÏÎœÎ¿Î»Î± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ  
+CDM.MetadataSetManager.Chooser.Add:Î ÏÏÏÎžÎµÏÎµ
+CDM.Move.At_Bottom:ÎÎµ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± ÎŒÎµÏÎ±ÎºÎ¹ÎœÎ·ÎžÎµÎ¯ ÏÎ¿ {0} {1} ÏÎ±ÎŒÎ·Î»ÏÏÎµÏÎ± Î³Î¹Î±ÏÎ¯ ÎµÎ¯ÎœÎ±Î¹ Î®ÎŽÎ· ÏÏÎ¿Îœ ÏÎ¬ÏÎ¿ ÏÎ·Ï Î»Î¯ÏÏÎ±Ï.  
+CDM.Move.At_Top:ÎÎµ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± ÎŒÎµÏÎ±ÎºÎ¹ÎœÎ·ÎžÎµÎ¯ ÏÎ¿ {0} {1} ÏÎ·Î»ÏÏÎµÏÎ± Î³Î¹Î±ÏÎ¯ ÎµÎ¯ÎœÎ±Î¹ Î®ÎŽÎ· ÏÏÎ·Îœ ÎºÎ¿ÏÏ
+ÏÎ® ÏÎ·Ï Î»Î¯ÏÏÎ±Ï  
+CDM.Move.Cannot:ÎÎµ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± ÎŒÎµÏÎ±ÎºÎ¹ÎœÎ·ÎžÎµÎ¯ ÏÎ¿ plugin {0} ÏÎ±ÎŒÎ·Î»ÏÏÎµÏÎ± Î±ÏÏ ÏÎ±  RecPlug and ArcPlug.  
+CDM.Move.Fixed:<html>Î€Î¿ RecPlug ÎºÎ±Î¹ ÏÎ¿ ArcPlug ÏÏÎ­ÏÎµÎ¹ ÎœÎ± ÎµÎ¯ÎœÎ±Î¹ ÏÎµÎ»ÎµÏ
+ÏÎ±Î¯Î±.</html>  
+CDM.Move.Move_Down:ÎÎµÏÎ±ÎºÎ¯ÎœÎ·ÏÎ· ÏÏÎ¿Ï ÏÎ± ÎºÎ¬ÏÏ  
+CDM.Move.Move_Down_Tooltip:ÎÎµÏÎ±ÎºÎ¯ÎœÎ·ÏÎ· ÏÎ¿Ï
+ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿Ï
+ ÏÏÎ¿Ï
+ ÏÏÎ¿Ï ÏÎ± ÎºÎ¬ÏÏ  
+CDM.Move.Move_Up:ÎÎµÏÎ±ÎºÎ¯ÎœÎ·ÏÎ· ÏÏÎ¿Ï ÏÎ± ÏÎ¬ÎœÏ  
+CDM.Move.Move_Up_Tooltip:ÎÎµÏÎ±ÎºÎ¯ÎœÎ·ÏÎ· ÏÎ¿Ï
+ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿Ï
+ ÏÏÎ¿Ï
+ ÏÏÎ¿Ï ÏÎ± ÏÎ¬ÎœÏ  
+CDM.Move.Title:Error - ÎÎµ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± ÎŒÎµÏÎ±ÎºÎ¹ÎœÎ·ÎžÎµÎ¯  
+CDM.PlugInManager.Add:Î ÏÎ¿ÏÎžÎ®ÎºÎ· Plugin  
+CDM.PlugInManager.QuickAdd:Î ÏÎ¿ÏÎžÎ®ÎºÎ· Plugin
+CDM.PlugInManager.Add_Tooltip:Î§ÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¯Î·ÏÎµ ÏÎ¿ ÎºÎ±ÎžÎ¿ÏÎ¹ÏÎŒÎ­ÎœÎ¿ plugin ÎŒÎµ Î±Ï
+ÏÎ® ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®  
+CDM.PlugInManager.Assigned:Î€ÏÎ­ÏÎ¿ÎœÏÎ± Plugins  
+CDM.PlugInManager.Configure:ÎÎ¹Î±ÎŒÏÏÏÏÏÎ· Plugin  
+CDM.PlugInManager.Configure_Tooltip:ÎÎ»Î»Î±Î³Î® ÏÏÎœ ÎµÏÎ¹Î»Î¿Î³ÏÎœ ÏÎ¿Ï
+ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿Ï
+ plugin  
+CDM.PlugInManager.Ignore:ÎÎ· ÏÏÎ¿ÏÎžÎ­ÏÎµÎ¹Ï ÏÎ¿ Plugin  
+CDM.PlugInManager.Ignore_Tooltip:ÎÎ·Îœ ÏÏÎ¿ÏÎžÎ­ÏÎµÎ¹Ï plugins ÏÎµ Î±Ï
+ÏÎ® ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®.  
+CDM.PlugInManager.PlugIn:ÎÏÎ¹Î»Î¿Î³Î® plugin Î³Î¹Î± ÏÏÎ¿ÏÎžÎ®ÎºÎ·:  
+CDM.PlugInManager.PlugIn_Tooltip:ÏÎ± plugins ÎŽÎ¹Î±ÎžÎ­ÏÎ¹ÎŒÎ± Î³Î¹Î± ÏÏÎ®ÏÎ· ÏÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®.  
+CDM.PlugInManager.PlugIn_Exists:ÎÏ
+ÏÏ ÏÎ¿ plugin Î­ÏÎµÎ¹ Î®ÎŽÎ· ÎºÎ±ÏÎ±ÏÏÏÎ·ÎžÎµÎ¯ Î³Î¹Î± Î±Ï
+ÏÎ® ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®.  
+CDM.PlugInManager.PlugIn_Str:plugin  
+CDM.PlugInManager.PlugIn_XML_Parse_Failed:ÎÎµ ÎŒÏÎ¿ÏÎ¿ÏÎœ ÎœÎ± ÎºÎ±ÎžÎ¿ÏÎ¯ÏÏÎ¿ÏÎœ ÏÎ± Î¿ÏÎ¯ÏÎŒÎ±ÏÎ± Î³Î¹Î± ÏÎ¿ {0}\nplugin. ÎÎµÎ²Î±Î¹ÏÎžÎµÎ¯ÏÎµ ÏÏÎ¹ ÏÎ±ÏÎ­ÏÎµÏÎµ ÏÏÎ¿ plugin ÏÎ± ÎºÎ±ÏÎ¬Î»Î»Î·Î»Î± Î¿ÏÎ¯ÏÎŒÎ±ÏÎ± Î²Î»Î­ÏÎ¿ÎœÏÎ±Ï Î±ÏÏ ÏÎ·Îœ ÎµÎœÏÎ¿Î»Î® pluginfo.pl.  
+CDM.PluginManager.Plugin_Suggestion_Prompt:ÎÎ±ÎœÎ­ÎœÎ± Î±ÏÏ ÏÎ± plugins ÏÎµ Î±Ï
+ÏÎ® ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î® ÎŽÎµ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± ÎµÏÎµÎŸÎµÏÎ³Î±ÏÏÎµÎ¯ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ "{0}".  
+CDM.PlugInManager.Remove:ÎÎ¹Î±Î³ÏÎ±ÏÎ® Plugin  
+CDM.PlugInManager.Remove_Tooltip:ÎÏÎ±Î¯ÏÎµÏÎ· ÏÎ¿Ï
+ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿Ï
+ plugin Î±ÏÏ ÏÎ· Î»Î¯ÏÏÎ±  
+CDM.PluginManager.SuggestedPluginListTitle:ÏÏÎ¿ÏÎµÎ¹ÎœÏÎŒÎµÎœÎ± plugins Î³Î¹Î± ÏÎ¿ Î±ÏÏÎµÎ¯Î¿  
+CDM.PlugInManager.Parsing.Message:Î€Î¿ ÎµÏÎ³Î±Î»ÎµÎ¯Î¿ ÏÏÎµÎŽÎ¯Î±ÏÎ·Ï ÏÎ¿ÏÏÏÎœÎµÎ¹ ÏÎ»Î·ÏÎ¿ÏÎ¿ÏÎ¯ÎµÏ Î³Î¹Î± ÏÎ¿ plugin.  
+CDM.PlugInManager.Parsing.Title:Î€Î± Plugins ÎŠÎ¿ÏÏÏÎœÎ¿ÎœÏÎ±Î¹  
+CDM.SearchTypeManager.Add:Î ÏÎ¿ÏÎžÎ®ÎºÎ· ÏÏÏÎ¿Ï
+ ÎÎœÎ±Î¶Î®ÏÎ·ÏÎ·Ï  
+CDM.SearchTypeManager.Add_Tooltip:ÎÏÎ¹ÏÏÎ­ÏÏÎµ ÏÎ¿Îœ ÎºÎ±ÎžÎ¿ÏÎ¹ÏÎŒÎ­ÎœÎ¿ ÏÏÏÎ¿ Î±ÎœÎ±Î¶Î®ÏÎ·ÏÎ·Ï ÎŒÎµ Î±Ï
+ÏÎ® ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®  
+CDM.SearchTypeManager.Assigned:Î€ÏÎ­ÏÎ¿ÎœÏÎµÏ ÏÏÏÎ¿Î¹ ÏÎ±ÎŸÎ¯ÎŒÎ±ÏÎ¿Ï  
+CDM.SearchTypeManager.BuildType_Selection:ÎÏ
+ÏÎµÏÎ·ÏÎ¹Î¿ÏÎ¿Î¯Î·ÏÎ·:
+CDM.SearchTypeManager.BuildType_Selection_Tooltip:ÎÏÎ¹Î»Î­ÎŸÏÎµ ÏÎ¿Îœ ÎµÏ
+ÏÎµÏÎ·ÏÎ¹Î¿ÏÎ¿Î¹Î·ÏÎ® ÏÎ¿Ï
+ ÎžÎ± ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹Î·ÎžÎµÎ¯ Î³Î¹Î± ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®
+CDM.SearchTypeManager.Enable:ÎÎœÎµÏÎ³Î¿ÏÎ¿Î¯Î·ÏÎ· Î ÏÎ¿ÏÏÏÎ·ÎŒÎ­ÎœÎ·Ï ÎÎœÎ±Î¶Î®ÏÎ·ÏÎ·Ï  
+CDM.SearchTypeManager.Remove:ÎÏÎ±Î¯ÏÎµÏÎ· ÏÎ¿Ï
+ ÏÏÏÎ¿Ï
+ Î±ÎœÎ±Î¶Î®ÏÎ·ÏÎ·Ï  
+CDM.SearchTypeManager.Remove_Tooltip:ÎÎ± ÎŒÎ· ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÎµÎ¯ÏÎ±Î¹ Î¿ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿Ï ÏÏÏÎ¿Ï Î±ÎœÎ±Î¶Î®ÏÎ·ÏÎ·Ï ÎŒÎµ Î±Ï
+ÏÎ® ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®  
+CDM.SearchTypeManager.SearchType:Î€ÏÏÎ¿Ï ÎÎœÎ±Î¶Î®ÏÎ·ÏÎ·Ï  
+CDM.SearchTypeManager.SearchType_Selection:Î€ÏÏÎ¿Î¹ ÎÎœÎ±Î¶Î®ÏÎ·ÏÎ·Ï:  
+CDM.SearchTypeManager.SearchType_Selection_Tooltip:ÎÎ¹ ÏÏÏÎ¿Î¹ Î±ÎœÎ±Î¶Î®ÏÎ·ÏÎ·Ï Î³Î¹Î± Î±Ï
+ÏÎ® ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®  
+CDM.SubcollectionManager.Add:Î ÏÎ¿ÏÎžÎ®ÎºÎ· ÏÎ¯Î»ÏÏÎ¿Ï
+  
+CDM.SubcollectionManager.Add_Tooltip:Î ÏÎ¿ÏÎžÎ®ÎºÎ· ÏÎ¿Ï
+ ÎºÎ±ÎžÎ¿ÏÎ¹ÏÎŒÎ­ÎœÎ¿Ï
+ ÏÎ¯Î»ÏÏÎ¿Ï
+ ÏÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®  
+CDM.SubcollectionManager.Assigned:ÎÎ±ÎžÎ¿ÏÎ¹ÏÎŒÎ­ÎœÎ± ÎŠÎ¯Î»ÏÏÎ± Î³Î¹Î± ÏÎ·Îœ Ï
+ÏÎ¿ÏÏ
+Î»Î»Î¿Î³Î®  
+CDM.SubcollectionManager.Exclude:ÎÏÎ­ÎºÎ»ÎµÎ¹ÏÎµ  
+CDM.SubcollectionManager.Flags:Î£Î·ÎŒÎ±Î¯ÎµÏ ÏÎ¿Ï
+ ÎžÎ± ÏÎµÎžÎ¿ÏÎœ ÏÏÎ¿ ÏÎ±Î¯ÏÎ¹Î±ÏÎŒÎ±  
+CDM.SubcollectionManager.Flags_Tooltip:Î€Î± Regular expression flags ÏÎ¿Ï
+ ÎžÎ± ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹Î·ÎžÎ¿ÏÎœ ÏÎµ ÏÎµÏÎ¯ÏÏÏÏÎ· ÏÎ±Î¹ÏÎ¹Î¬ÏÎŒÎ±ÏÎ¿Ï (ÏÏ. "i" Î³Î¹Î± ÎœÎ± ÎŒÎ· ÎŽÎ¹Î±ÏÏÏÎ¯Î¶Î¿ÎœÏÎ±Î¹ ÎºÎµÏÎ±Î»Î±Î¯Î± ÏÎµÎ¶Î¬)  
+CDM.SubcollectionManager.Include:Î ÎµÏÎ¹Î­Î»Î±Î²Îµ  
+CDM.SubcollectionManager.Inclusive:Î€Î¹ ÎœÎ± Î³Î¯ÎœÎµÎ¹ ÎŒÎµ Î±ÏÏÎµÎ¯Î± ÏÎ¿Ï
+ ÏÎ±Î¹ÏÎ¹Î¬Î¶Î¿Ï
+Îœ?  
+CDM.SubcollectionManager.Language_Controls:ÎÎ±ÏÎ±ÏÏÏÎ·ÏÎ· ÎÎ»ÏÏÏÏÎœ  
+CDM.SubcollectionManager.Match:ÎÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® ÎÎºÏÏÎ±ÏÎ· Î³Î¹Î± ÏÎ±Î¯ÏÎ¹Î±ÏÎŒÎ±:  
+CDM.SubcollectionManager.Match_Tooltip:ÎÎ¹Î± ÎºÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® Î­ÎºÏÏÎ±ÏÎ· ÏÎ¿Ï
+ ÎºÎ±ÎžÎ¿ÏÎ¯Î¶ÎµÎ¹ ÏÎ± Î­Î³Î³ÏÎ±ÏÎ± ÏÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®  
+CDM.SubcollectionManager.Name:ÎÎœÎ¿ÎŒÎ± ÏÎ¯Î»ÏÏÎ¿Ï
+ Ï
+ÏÎ¿ÏÏ
+Î»Î»Î¿Î³Î®Ï:  
+CDM.SubcollectionManager.Name_Tooltip:Î€Î¿ ÏÎœÎ¿ÎŒÎ± ÏÎ¿Ï
+ ÎœÎ­Î¿Ï
+ ÏÎ¯Î»ÏÎ¿Ï
+ Ï
+ÏÎ¿ÏÏ
+Î»Î»Î¿Î³Î®Ï  
+CDM.SubcollectionManager.Partitions_Disabled:ÎÏ
+ÏÎ® Î· Î¹ÎŽÎ¹ÏÏÎ·ÏÎ± Î­Î¹ÎœÎ±Î¹ Î±ÏÎµÎœÎµÏÎ³Î¿ÏÎ¿Î¹Î·ÎŒÎ­ÎœÎ· Î³Î¹Î±ÏÎ¯ ÎµÎ¯ÏÏÎµ ÏÎµ {0-Current Mode} ÏÏÏÏÎ¿ Î»ÎµÎ¹ÏÎ¿Ï
+ÏÎ³Î¯Î±Ï. ÎÏÎ¿ÏÎµÎ¯ ÎŒÏÎœÎ¿ ÎœÎ± ÏÏÎ¿ÏÏÎµÎ»Î±ÏÏÎµÎ¯ ÏÎµ {1-Systems} ÎºÎ±Î¹ {2-Expert} ÏÏÏÏÎ¿Ï
+Ï Î»ÎµÎ¹ÏÎ¿Ï
+ÏÎ³Î¯Î±Ï. Î§ÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÎµÎ¯ÏÏÎµ ÎÏÏÎµÎ¯Î¿ -> Î ÏÎ¿ÏÎ¹ÎŒÎ®ÏÎµÎ¹Ï Î³Î¹Î± ÎœÎ± Î±Î»Î»Î¬ÎŸÎµÏÎµ ÏÎ¿Îœ ÏÏÏÏÎ¿ Î»ÎµÎ¹ÏÎ¿Ï
+ÏÎ³Î¯Î±Ï.  
+CDM.SubcollectionManager.Remove:ÎÏÎ±Î¯ÏÎµÏÎ· ÎŠÎ¯Î»ÏÏÎ¿Ï
+  
+CDM.SubcollectionManager.Remove_Tooltip:ÎÏÎ±Î¯ÏÎµÏÎ· ÏÎ¿Ï
+ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿Ï
+ ÏÎ¯Î»ÏÏÎ¿Ï
+ Î±ÏÏ ÏÎ· Î»Î¯ÏÏÎ±.  
+CDM.SubcollectionManager.Replace:ÎÎœÏÎ¹ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÎŠÎ¯Î»ÏÏÎ¿Ï
+  
+CDM.SubcollectionManager.Replace_Tooltip:ÎÎœÎ·ÎŒÎ­ÏÏÏÎ· ÏÏÎœ Î»ÎµÏÏÎ¿ÎŒÎµÏÎµÎ¹ÏÎœ ÏÎ¿Ï
+ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿Ï
+ ÎŠÎ¯Î»ÏÏÎ¿Ï
+  
+CDM.SubcollectionManager.Source:Î§Î±ÏÎ±ÎºÏÎ·ÏÎ¹ÏÏÎ¹ÎºÏ Î±ÏÏÎµÎ¯Î¿Ï
+ Î³Î¹Î± ÏÎ±Î¯ÏÎ¹Î±ÏÎŒÎ±:  
+CDM.SubcollectionManager.Source_Tooltip:Î€Î¿ ÏÎ±ÏÎ±ÎºÏÎ·ÏÎ¹ÏÏÎ¹ÎºÏ ÏÎ¿Ï
+ Î±ÏÏÎµÎ¯Î¿Ï
+ Î³Î¹Î± ÏÎ±Î¯ÏÎ¹Î±ÏÎŒÎ±  
+CDM.SubcollectionManager.Subcollection_Controls:ÎÎ±ÎžÎ¿ÏÎ¹ÏÎŒÏÏ ÎŠÎ¯Î»ÏÏÏÎœ  
+CDM.SubcollectionManager.Subindex_Controls:ÎÎœÎ¬ÎžÎµÏÎ· Î¥ÏÎ¿ÎŽÎ¹Î±Î¹ÏÎ­ÏÎµÏÎœ  
+CDM.SubcollectionIndexManager.Add_Subindex:Î ÏÎ¿ÏÎžÎ®ÎºÎ· ÎÏ
+ÏÎµÏÎ·ÏÎ¯Î¿Ï
+  
+CDM.SubcollectionIndexManager.Add_Subindex_Tooltip:Î ÏÏÏÎžÎµÏÎµ ÏÎ·Îœ ÎºÎ±ÎžÎ¿ÏÎ¹ÏÎŒÎ­ÎœÎ· Ï
+ÏÎ¿ÎŽÎ¹Î±Î¯ÏÎµÏÎ· ÏÎµ Î±Ï
+ÏÎ® ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®  
+CDM.SubcollectionIndexManager.Default_Partition_Indicator:[Î ÏÎ¿ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ· Î¥ÏÎ¿ÎŽÎ¹Î±Î¯ÏÎµÏÎ·]  
+CDM.SubcollectionIndexManager.PartitionName:ÎÎœÎ¿ÎŒÎ± Î¥ÏÎ¿ÎŽÎ¹Î±Î¯ÏÎµÏÎ·Ï:  
+CDM.SubcollectionIndexManager.PartitionName_Tooltip:Î€Î¿ ÏÎœÎ¿ÎŒÎ± ÏÎ·Ï ÎœÎ­Î±Ï Ï
+ÏÎ¿ÎŽÎ¹Î±Î¯ÏÎµÏÎ·Ï  
+CDM.SubcollectionIndexManager.Remove_Subindex:ÎÏÎ±Î¯ÏÎµÏÎ· Î¥ÏÎ¿ÎŽÎ¹Î±Î¯ÏÎµÏÎ·Ï  
+CDM.SubcollectionIndexManager.Remove_Subindex_Tooltip:ÎÏÎ±Î¯ÏÎµÏÏÎµ ÏÎ· ÏÏ
+Î³ÎºÎµÎºÏÎ¹ÎŒÎ­ÎœÎ· Ï
+ÏÎ¿ÎŽÎ¹Î±Î¯ÏÎµÏÎ· Î±ÏÏ Î±Ï
+ÏÎ® ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®  
+CDM.SubcollectionIndexManager.Replace_Subindex:ÎÎœÏÎ¹ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ· Î¥ÏÎ¿ÎŽÎ¹Î±Î¯ÏÎµÏÎ·Ï  
+CDM.SubcollectionIndexManager.Replace_Subindex_Tooltip:ÎÎœÎ±ÎœÎµÏÏÏÎµ ÏÎ·Îœ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ· Ï
+ÏÎ¿ÎŽÎ¹Î±Î¯ÏÎµÏÎ·  
+CDM.SubcollectionIndexManager.Set_Default_Subindex:ÎÎ­ÏÎµ ÏÏ Î ÏÎ¿ÎµÏÎ¹Î»Î¿Î³Î®  
+CDM.SubcollectionIndexManager.Set_Default_Subindex_Tooltip:ÎÎµÏÎ±ÏÏÎ­ÏÎµÎ¹ ÏÎ·Îœ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ· Ï
+ÏÎ¿ÎŽÎ¹Î±Î¯ÏÎµÏÎ· ÏÏ ÏÏÎ¿ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ·  
+CDM.SubcollectionIndexManager.Source:Î§ÏÎ¯ÏÎµ ÏÎ·Îœ Ï
+ÏÎ¿ÎŽÎ¹Î±Î¯ÏÎµÏÎ· ÏÎ¬ÎœÏ ÏÏÎ¿:  
+CDM.SubcollectionIndexManager.Source_Tooltip:Î€Î± ÏÎ¯Î»ÏÏÎ± ÏÎ·Ï Ï
+ÏÎ¿ÏÏ
+Î»Î»Î¿Î³Î®Ï ÏÎ¬ÎœÏ ÏÏÎ± Î¿ÏÎ¿Î¯Î± ÎžÎ± ÏÏÎ¹ÏÏÎµÎ¯ Î· Ï
+ÏÎ¿ÎŽÎ¹Î±Î¯ÏÎµÏÎ·  
+CDM.SubcollectionIndexManager.Subindexes:ÎÎ±ÏÎ±ÏÏÏÎ·ÎŒÎ­ÎœÎµÏ Ï
+ÏÎ¿ÎŽÎ¹Î±ÏÎ­ÏÎ·Ï Ï
+ÏÎ¿ÏÏ
+Î»Î»Î¿Î³Î®Ï  
+CDM.TranslationManager.Add:Î ÏÎ¿ÏÎžÎ®ÎºÎ· ÎÎµÏÎ¬ÏÏÎ±ÏÎ·Ï  
+CDM.TranslationManager.Add_Tooltip:Î ÏÏÏÎžÎµÏÎµ ÏÎ·Îœ ÎºÎ±ÎžÎ¿ÏÎ¹ÏÎŒÎ­ÎœÎ· ÎŒÎµÏÎ¬ÏÏÎ±ÏÎ· ÏÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®  
+CDM.TranslationManager.Affected_Features:Î§Î±ÏÎ±ÎºÏÎ·ÏÎ¹ÏÏÎ¹ÎºÎ¬  
+CDM.TranslationManager.Assigned_Fragments:ÎÎ±ÏÎ±ÏÏÏÎ·ÎŒÎ­ÎœÎµÏ ÎÎµÏÎ±ÏÏÎ¬ÏÎµÎ¹Ï  
+CDM.TranslationManager.Default_Text:ÎÏÏÎ¹ÎºÏ ÎÎµÎ¯ÎŒÎµÎœÎ¿  
+CDM.TranslationManager.Fragment_Column:ÎÎµÎ¯ÎŒÎµÎœÎ¿  
+CDM.TranslationManager.Language:ÎÎ»ÏÏÏÎ± ÎÎµÏÎ¬ÏÏÎ±ÏÎ·Ï:  
+CDM.TranslationManager.Language_Column:ÎÎ»ÏÏÏÎ±  
+CDM.TranslationManager.Language_Tooltip:Î Î³Î»ÏÏÏÎ± ÏÎ¿Ï
+ ÎžÎ± Î³Î¯ÎœÎµÎ¹ Î· ÎŒÎµÏÎ¬ÏÏÎ±ÏÎ·  
+CDM.TranslationManager.Remove:ÎÏÎ±Î¯ÏÎµÏÎ· ÎŒÎµÏÎ¬ÏÏÎ±ÏÎ·Ï  
+CDM.TranslationManager.Remove_Tooltip:ÎÏÎ±Î¹ÏÎ­Î¯ ÏÎ·Îœ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ· ÎŒÎµÏÎ¬ÏÏÎ±ÏÎ· Î±ÏÏ ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®  
+CDM.TranslationManager.Replace:ÎÎœÏÎ¹ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÎÎµÏÎ¬ÏÏÎ±ÏÎ·Ï  
+CDM.TranslationManager.Replace_Tooltip:ÎÎœÎ·ÎŒÎµÏÏÎœÎµÎ¹ ÏÎ·Îœ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ· ÎŒÎµÏÎ¬ÏÏÎ±ÏÎ·  
+CDM.TranslationManager.Translation:ÎÎµÏÎ±ÏÏÎ±ÏÎŒÎ­ÎœÎ¿ ÎÎµÎ¯ÎŒÎµÎœÎ¿  
+CDM.TranslationManager.Translation_Tooltip:ÎÎ¹ÏÎ¬Î³ÎµÏÎµ ÏÎ· ÎŒÎµÏÎ¬ÏÏÎ±ÏÎ· ÏÎ¿Ï
+ ÎºÎµÎ¹ÎŒÎ­ÎœÎ¿Ï
+ ÎµÎŽÏ  
+#*******************
+#
+#***** Collection *****
+Collection.Collection:{32}Î£Ï
+Î»Î»Î¿Î³Î®{34}  
+Collection.Delete_Tooltip:ÎÎ¹Î±Î³ÏÎ¬ÏÏÎµ ÏÎ± ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ± ÎÏÏÎµÎ¯Î± ÎºÎ±Î¹ ÎŠÎ±ÎºÎ­Î»Î¿Ï
+Ï  
+Collection.Filter_Tooltip:Î ÎµÏÎ¹Î¿ÏÎ¯ÏÏÎµ ÏÎ± Î±ÏÏÎµÎ¯Î± ÏÎ¿Ï
+ ÎµÎŒÏÎ±ÎœÎ¯Î¶Î¿ÎœÏÎ±Î¹ ÏÏÎ¿ ÎŽÎ­ÎœÏÏÎ¿  
+Collection.New_Folder_Tooltip:ÎÎ·ÎŒÎ¹Î¿ÏÏÎ³Î®ÏÏÎµ Î­ÎœÎ± ÎœÎ­Î¿ ÏÎ¬ÎºÎµÎ»Î¿  
+Collection.No_Collection:ÎÎµÎœ Ï
+ÏÎ¬ÏÏÎµÎ¹ Î£Ï
+Î»Î»Î¿Î³Î®  
+Collection.Stop_Tooltip:Î£ÏÎ±ÎŒÎ±ÏÎ¬ÎµÎ¹ ÏÎ·Îœ Î±ÎœÏÎ¹Î³ÏÎ±ÏÎµÎ¯ ÏÏÎœ Î±ÏÏÎµÎ¯ÏÎœ  
+Collection.Workspace:{32}Î ÎµÏÎ¹Î²Î¬Î»Î»Î¿Îœ ÎÏÎ³Î±ÏÎ¯Î±Ï{34}  
+#**********************
+#
+#***** CollectionBuilt *****
+CollectionBuilt.Message:Î ÏÏ
+Î»Î»Î¿Î³Î® Î­ÏÎµÎ¹ ÏÏÎ¹ÏÏÎµÎ¯ ÎºÎ±Î¹ ÎµÎ¯ÎœÎ±Î¹ Î­ÏÎ¿Î¹ÎŒÎ· Î³Î¹Î± ÏÏÎ¿ÎµÏÎ¹ÏÎºÏÏÎ·ÏÎ·  
+CollectionBuilt.Title:ÎÏÎ¿ÏÎ­Î»ÎµÏÎŒÎ± ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î±Ï Î£Ï
+Î»Î»Î¿Î³Î®Ï  
+#***************************
+#
+#***** CollectionManager *****
+CollectionManager.Build_Cancelled:Î ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î± ÏÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï Î­ÏÎµÎ¹ Î±ÎºÏ
+ÏÏÎžÎµÎ¯.  
+CollectionManager.Cannot_Create_Collection:ÎÎœÎ± ÏÏÎ¬Î»ÎŒÎ± ÎµÎŒÏÏÎŽÎ¹ÏÎµ ÏÎ· ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î± ÏÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï  
+CollectionManager.Cannot_Create_Collection_With_Reason:Î ÏÏ
+Î»Î»Î¿Î³Î® ÎŽÎµÎœ ÎŒÏÏÏÎµÏÎµ ÎœÎ± ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î·ÎžÎµÎ¯ ÎµÏÎµÎ¹ÎŽÎ® \n{0-Error message}
+CollectionManager.Cannot_Delete_Index:ÎÏ
+ÏÎ® Î· ÏÏ
+Î»Î»Î¿Î³Î® ÎŽÎµ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± ÎŸÎ±ÎœÎ±ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î·ÎžÎµÎ¯ Î³Î¹Î±ÏÎ¯ ÏÎ± ÏÎ±Î»Î¹Î¬ ÎµÏ
+ÏÎµÏÎ®ÏÎ¹Î± ÎŽÎµ ÎŒÏÎ¿ÏÎ¿ÏÎœ ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ±ÏÎ¿ÏÎœ.\nÎ£Î¹Î³Î¿Ï
+ÏÎµÏ
+ÏÎµÎ¯ÏÎµ ÏÏÎ¹ ÏÎ± Î±ÏÏÎµÎ¯Î± Î±Ï
+ÏÎ¬ ÎŽÎµ ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹Î¿ÏÎœÏÎ±Î¹ Î±ÏÏ ÎºÎ¬ÏÎ¿Î¹Î¿ Î¬Î»Î»Î¿ ÏÏÏÎ³ÏÎ±ÎŒÎŒÎ±.\n (Î® Î±ÏÏ ÏÎ¿ Greenstone) ÎºÎ±Î¹ ÏÏÎ¿ÏÏÎ±ÎžÎµÎ¯ÏÏÎµ ÎŸÎ±ÎœÎ¬.  
+CollectionManager.Cannot_Delete_Index_Log:Î ÎµÎ¹ÏÎ±Î³ÏÎ³Î® ÏÏÎ±ÎŒÎ¬ÏÎ·ÏÎµ Î³Î¹Î±ÏÎ¯ ÏÎ± ÏÎ±Î»Î¹Î¬ ÎµÏ
+ÏÎµÏÎ®ÏÎ¹Î± ÎŽÎµ ÎŒÏÎ¿ÏÎ¿ÏÎœ ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ±ÏÎ¿ÏÎœ.  
+CollectionManager.Cannot_Open:Î ÏÏ
+Î»Î»Î¿Î³Î® ÏÏÎ¿:\n{0-Collection file path}\nÎÎµ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± Î±ÎœÎ¿Î¹ÏÎžÎµÎ¯.  
+CollectionManager.Cannot_Open_With_Reason:Î ÏÏ
+Î»Î»Î¿Î³Î® ÏÏÎ¿:\n{0-Collection file path}\nÎŽÎµ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± Î±ÎœÎ¿Î¹ÏÎžÎµÎ¯ Î³Î¹Î±ÏÎ¯:\n{1-Error message}  
+CollectionManager.Creating_New:ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³ÎµÎ¯ÏÎ±Î¹ ÎŒÎ¹Î± ÎœÎ­Î± ÏÏ
+Î»Î»Î¿Î³Î®.  
+CollectionManager.Log_Created:Î€Î¿ Î±ÏÏÎµÎ¯Î¿ ÎºÎ±ÏÎ±Î³ÏÎ±ÏÎ®Ï ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î®ÎžÎ·ÎºÎµ.  
+CollectionManager.Loading_Collection:Î ÏÏ
+Î»Î»Î¿Î³Î® ÏÎ¿ÏÏÏÎœÎµÏÎ±Î¹  
+CollectionManager.Loading_Collection_Please_Wait:Î ÏÏ
+Î»Î»Î¿Î³Î® ÏÎ¿ÏÏÏÎœÎµÏÎ±Î¹ ÏÎ±ÏÎ±ÎºÎ±Î»Î¿ÏÎŒÎµ ÏÎµÏÎ¹ÎŒÎ­ÎœÎµÏÎµ...  
+CollectionManager.Loading_Successful:ÎŠÎ¿ÏÏÏÎŒÎ­ÎœÎ· Î£Ï
+Î»Î»Î¿Î³Î® {0}.  
+CollectionManager.Missing_Config:ÎÏ
+ÏÎ® Î· ÏÏ
+Î»Î»Î¿Î³Î® ÎŽÎµÎœ Î­ÏÎµÎ¹ ÏÏÏÏÏ Î±ÏÏÎµÎ¯Î¿ ÎŽÎ¹Î±ÎŒÏÏÏÏÏÎ·Ï  
+CollectionManager.Not_Col_File:'{0}' ÎŽÎµÎœ ÎµÎ¯ÎœÎ±Î¹ Î­ÎœÎ± Î­Î³ÎºÏ
+ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ ÏÏ
+Î»Î»Î¿Î³Î®Ï (.col)  
+CollectionManager.No_Config_File:Î€Î¿ collect.cfg ÎŽÎµÎœ Î­ÏÎµÎ¹ ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î·ÎžÎµÎ¯ Î±ÏÏ ÏÎ¿ mkcol.pl
+CollectionManager.Preview_Ready_Failed:ÎÎœÎ± ÏÏÎ¬Î»ÎŒÎ± ÎžÎ± ÎµÎŒÏÎ¿ÎŽÎ¯ÏÎµÎ¹ ÏÎ·Îœ ÏÏÎ¿ÎµÏÎ¹ÏÎºÏÏÎ·ÏÎ· ÏÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï.  
+CollectionManager.Preview_Ready_Title:ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ· Î ÏÎ¿ÎµÏÎ¹ÏÎºÏÏÎ·ÏÎ·Ï Î£Ï
+Î»Î»Î¿Î³Î®Ï.  
+CollectionManager.Session_Ready:Î ÏÏ
+Î»Î»Î¿Î³Î® {0} ÎµÎ¯ÎœÎ±Î¹ Î­ÏÎ¿Î¹ÎŒÎ· Î³Î¹Î± ÏÏÎ®ÏÎ·.  
+CollectionManager.Build_Not_Moved:Î ÏÎ¬ÎºÎµÎ»Î¿Ï ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î±Ï ÎŽÎµ ÎŒÏÎ¿ÏÎ¿ÏÏÎµ ÎœÎ± ÎŒÎµÏÎ±ÎºÎ¹ÎœÎ·ÎžÎµÎ¯
+CollectionManager.Index_Not_Deleted:Î ÏÎ¬ÎºÎµÎ»Î¿Ï ÎµÏ
+ÏÎµÏÎ·ÏÎ¹Î¿ÏÎ¿Î¯Î·ÏÎ·Ï ÎŽÎµÎœ ÎŒÏÎ¿ÏÎ¿ÏÏÎµ ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ±ÏÎµÎ¯
+CollectionManager.Install_Exception:ÎÎœÎ± ÏÏÎ¬Î»ÎŒÎ± Î±ÎœÎ¹ÏÎœÎ­Ï
+ÎžÎ·ÎºÎµ ÎºÎ±ÏÎ¬ ÏÎ·Îœ ÎµÎ³ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÏÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï:\n{0}\nÎ Î¹ÎžÎ±ÎœÏÏÎ±ÏÎ± ÏÏÎ¿ÎºÎ»Î®ÎžÎ·ÎºÎµ Î±ÏÏ ÏÎ± Windows ÏÎ¿Ï
+ Î­ÏÎ¿Ï
+Îœ ÎºÎ»ÎµÎ¹ÎŽÏÏÎµÎ¹ ÏÎ± Î±ÏÏÎµÎ¯Î±.\nÎÎµÎ²Î±Î¹ÏÎžÎµÎ¯ÏÎµ ÏÏÎ¹ ÎºÎ±ÎœÎ­ÎœÎ± Î±ÏÏ ÏÎ± Î±ÏÏÎµÎ¯Î± ÏÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï ÎŽÎµÎœ ÎµÎ¯ÎœÎ±Î¹ Î±ÎœÎ¿Î¹Î³ÎŒÎ­ÎœÎ¿ Î±ÏÏ ÎµÎŸÏÏÎµÏÎ¹ÎºÏ ÏÏÏÎ³ÏÎ±ÎŒÎŒÎ±.
+#*****************************
+#
+#***** CollectionPopupMenu *****
+CollectionPopupMenu.Delete:ÎÎ¹Î±Î³ÏÎ±ÏÎ®  
+CollectionPopupMenu.New_Dummy_Doc:ÎÎ­Î¿ dummy Î­Î³Î³ÏÎ±ÏÎ¿  
+CollectionPopupMenu.New_Folder:ÎÎ­Î¿Ï ÎŠÎ¬ÎºÎµÎ»Î¿Ï  
+CollectionPopupMenu.Rename:ÎÎµÏÎ¿ÎœÎ¿ÎŒÎ±ÏÎ¯Î±
+CollectionPopupMenu.Replace:ÎÎœÏÎ¹ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ·
+#*******************************
+#
+#***** CreatePane *****
+CreatePane.Build:ÎÏÎ¹Î»Î¿Î³Î­Ï ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î±Ï  
+CreatePane.Build_Tooltip:ÎÏÎ¹Î»Î¿Î³Î­Ï Î³Î¹Î± ÏÎ± ÎµÏ
+ÏÎµÏÎ®ÏÎ¹Î± ÎºÎ±Î¹ ÏÎ·Îœ ÎºÎ±ÏÎ·Î³Î¿ÏÎ¹Î¿ÏÎ¿Î¯Î·ÏÎ· ÏÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï.  
+CreatePane.Build_Collection:Î§ÏÎ¯ÏÎ¹ÎŒÎ¿ Î£Ï
+Î»Î»Î¿Î³Î®Ï  
+CreatePane.Build_Collection_Tooltip:ÎÎµÎºÎ¹ÎœÎ¬ ÏÎ· ÎŽÎ¹Î±ÎŽÎ¹ÎºÎ±ÏÎ¯Î± ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î±Ï ÏÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï  
+CreatePane.Build_Progress:Î ÏÏÎ¿ÎŽÎ¿Ï ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î±Ï  
+CreatePane.Cancel_Build:ÎÎºÏÏÏÏÎ· ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î±Ï  
+CreatePane.Cancel_Build_Tooltip:Î Î±ÏÏÎ· ÏÎ·Ï ÎŽÎ¹Î±ÎŽÎ¹ÎºÎ±ÏÎ¯Î±Ï ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î±Ï  
+CreatePane.Full_Build:Î Î»Î®ÏÎ·Ï ÎµÏÎ±ÎœÎ±ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î±
+CreatePane.Full_Build_Tooltip:Î Î»Î®ÏÎ·Ï ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î± ÏÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï Î±ÏÏ ÏÎ·Îœ Î±ÏÏÎ®
+CreatePane.Import:ÎÏÎ¹Î»Î¿Î³Î­Ï ÎÎ¹ÏÎ±Î³ÏÎ³Î®Ï  
+CreatePane.Import_Tooltip:ÎÏÎ¹Î»Î¿Î³Î­Ï Î³Î¹Î± ÏÎ· ÎŒÎµÏÎ±ÏÏÎ¿ÏÎ® ÏÎ¿Ï
+ Î±ÏÏÎµÎ¯Î¿Ï
+ ÎºÎ±Î¹ ÎºÎ±Î¹ ÎºÎ±ÏÎ±ÏÏÏÎ·ÏÎ· ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ  
+CreatePane.Import_Progress:Î ÏÏÎ¿ÎŽÎ¿Ï ÎÎ¹ÏÎ±Î³ÏÎ³Î®Ï  
+CreatePane.Incremental_Build:ÎÎ±ÎžÎŒÎ¹Î±Î¯Î± ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î±
+CreatePane.Incremental_Build_Tooltip:ÎÏÎ·Î³Î¿ÏÏÏÎµÏÎ·, ÎºÎ±ÎžÏÏ ÎµÎºÏÎµÎ»Î¿ÏÎœÏÎ±Î¹ ÎŒÏÎœÎ¿ ÏÎ± ÏÎŒÎ®ÎŒÎ±ÏÎ± ÏÎ¿Ï
+ Î±ÏÎ±Î¹ÏÎ¿ÏÎœÏÎ±Î¹.
+CreatePane.Log:ÎÎ±ÏÎ±Î³ÏÎ±ÏÎ® ÎŒÎ·ÎœÏ
+ÎŒÎ¬ÏÏÎœ  
+CreatePane.Log_Tooltip:Î Î±ÏÎ¿Ï
+ÏÎ¹Î¬Î¶ÎµÎ¹ ÏÎ± Î±ÏÎ¿ÏÎµÎ»Î­ÏÎŒÎ±ÏÎ± Î±ÏÏ ÏÏÎ¿Î·Î³Î¿ÏÎŒÎµÎœÎµÏ ÎµÎœÎ­ÏÎ³ÎµÎ¹ÎµÏ ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î±Ï  
+CreatePane.Mode_All:ÎÎ»Î±  
+CreatePane.Options:ÎÏÎ¹Î»Î¿Î³Î­Ï ÏÎŒÎ·ÎŒÎ¬ÏÏÎœ  
+CreatePane.Options_Title:ÎÏÎ¹Î»Î¿Î³Î­Ï ÎÎ¹ÏÎ±Î³ÏÎ³Î®Ï ÎºÎ±Î¹ ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î±Ï  
+CreatePane.Preview_Collection:Î ÏÎ¿ÎµÏÎ¹ÏÎºÏÏÎ·ÏÎ· Î£Ï
+Î»Î»Î¿Î³Î®Ï  
+CreatePane.Preview_Collection_Tooltip:Î ÏÎ¿ÎµÏÎ¹ÏÎºÏÏÎ·ÏÎ· ÏÎ·Ï ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î·ÎŒÎ­ÎœÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï  
+#**********************
+#
+#***** Dates *****
+Dates.Mon:ÎÎµÏ
+ÏÎ­ÏÎ±  
+Dates.Tue:Î€ÏÎ¯ÏÎ·  
+Dates.Wed:Î€ÎµÏÎ¬ÏÏÎ·  
+Dates.Thu:Î Î­ÎŒÏÏÎ·  
+Dates.Fri:Î Î±ÏÎ±ÏÎºÎµÏ
+Î®  
+Dates.Sat:Î£Î¬Î²Î²Î±ÏÎ¿  
+Dates.Sun:ÎÏ
+ÏÎ¹Î±ÎºÎ®  
+Dates.Jan:ÎÎ±ÎœÎ¿Ï
+Î¬ÏÎ¹Î¿Ï  
+Dates.Feb:ÎŠÎµÎ²ÏÎ¿Ï
+Î¬ÏÎ¹Î¿Ï  
+Dates.Mar:ÎÎ¬ÏÏÎ¹Î¿Ï  
+Dates.Apr:ÎÏÏÎ¯Î»Î¹Î¿Ï  
+Dates.May:ÎÎ¬ÏÎ¿Ï  
+Dates.Jun:ÎÎ¿ÏÎœÎ¹Î¿Ï  
+Dates.Jul:ÎÎ¿ÏÎ»Î¹Î¿Ï  
+Dates.Aug:ÎÏÎ³Î¿Ï
+ÏÏÎ¿Ï  
+Dates.Sep:Î£ÎµÏÏÎ­ÎŒÎ²ÏÎ·Ï  
+Dates.Oct:Î¿ÎºÏÏÎ²ÏÎ·Ï  
+Dates.Nov:ÎÎ¿Î­ÎŒÎ²ÏÎ·Ï  
+Dates.Dec:ÎÎµÎºÎ­ÎŒÎ²ÏÎ·Ï  
+#**********************
+#
+#***** Delete Collection Prompt *****
+DeleteCollectionPrompt.Collection_Details:ÎÎµÏÏÎ¿ÎŒÎ­ÏÎµÎ¹ÎµÏ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï  
+DeleteCollectionPrompt.Collection_List:ÎÎ¹Î±ÎžÎ­ÏÎ¹ÎŒÎµÏ Î£Ï
+Î»Î»Î¿Î³Î­Ï  
+DeleteCollectionPrompt.Confirm_Delete:Î Î±ÏÎ±ÎºÎ±Î»Î¿ÏÎŒÎµ ÎµÏÎ¹Î»Î­ÎŸÏÎµ ÏÎ¿ ÎºÎ¿Ï
+ÏÎ¬ÎºÎ¹ Î³Î¹Î± ÎµÏÎ¹Î²ÎµÎ²Î±Î¯ÏÏÎ·.  
+DeleteCollectionPrompt.Delete:ÎÎ¹Î±Î³ÏÎ±ÏÏÎ®  
+DeleteCollectionPrompt.Delete_Tooltip:ÎÎ¹Î±Î³ÏÎ¬ÏÎµÎ¹ ÏÎ·Îœ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ· Î£Ï
+Î»Î»Î¿Î³Î®  
+DeleteCollectionPrompt.Details:ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³ÏÏ - {0}\nÎ£Ï
+ÎœÏÎ·ÏÎ·ÏÎ®Ï - {1}\nÎ ÎµÏÎ¹Î³ÏÎ±ÏÎ®\n{2}  
+DeleteCollectionPrompt.Failed_Delete:Î ÏÏ
+Î»Î»Î¿Î³Î® ÎŽÎµ ÎŒÏÏÏÎµÏÎµ ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ±ÏÎµÎ¯ ÏÎ»Î®ÏÏÏ  
+DeleteCollectionPrompt.Failed_Title:Î ÎŽÎ¹Î±Î³ÏÎ±ÏÎ® Î±ÏÎ­ÏÏ
+ÏÎµ!  
+DeleteCollectionPrompt.No_Collection:ÎÎµÎœ ÎµÏÎ¹Î»Î­ÏÎžÎ·ÎºÎµ ÏÏ
+Î»Î»Î¿Î³Î®.  
+DeleteCollectionPrompt.Successful_Delete:Î ÏÏ
+Î»Î»Î¿Î³Î® Î­ÏÎµÎ¹ ÎŽÎ¹Î±Î³ÏÎ±ÏÎµÎ¯.  
+DeleteCollectionPrompt.Successful_Title:Î ÎŽÎ¹Î±Î³ÏÎ±ÏÎ® Î¿Î»Î¿ÎºÎ»Î·ÏÏÎžÎ·ÎºÎµ!  
+DeleteCollectionPrompt.Title:ÎÎ¹Î±Î³ÏÎ±ÏÎ® Î£Ï
+Î»Î»Î¿Î³Î®Ï  
+#**********************
+#
+#***** DirectoryLevelMetadata *****
+DirectoryLevelMetadata.Message:ÎÎ± ÎºÎ±ÏÎ±ÏÏÏÎ®ÏÎµÏÎµ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ± ÎµÏÎ¹ÏÎ­ÎŽÎ¿Ï
+ ÏÎ±ÎºÎ­Î»Î¿Ï
+ ÏÎµ Î­ÎœÎ± ÏÎ¬ÎºÎµÎ»Î¿. ÎÏ
+ÏÎ¬ ÏÎ± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ± ÎžÎ± ÎºÎ»Î·ÏÎ¿ÎŽÎ¿ÏÎ·ÎžÎ¿ÏÎœ Î±Ï
+ÏÏÎŒÎ±ÏÎ± ÎºÎ±Î¹ ÏÏÎ± ÎºÎ±ÏÏÏÎµÏÎ± ÏÏÎ·Îœ Î¹ÎµÏÎ±ÏÏÎ¯Î± Î±ÏÏÎµÎ¯Î± ÎºÎ±Î¹ ÎŽÎµ ÎŒÏÎ¿ÏÎ¿ÏÎœ ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ±ÏÎ¿ÏÎœ ÏÎ±ÏÎ¬ ÎŒÏÎœÎ¿ ÎœÎ± Î±ÎœÏÎ¹ÎºÎ±ÏÎ±ÏÏÎ±ÎžÎ¿ÏÎœ. ÎÎ¹Î± ÎœÎ± ÏÏ
+ÎœÎµÏÎ¯ÏÎµÏÎµ ÏÎ±ÏÎ®ÏÏÎµ 'OK'.  
+DirectoryLevelMetadata.Title:ÎÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ± ÎµÏÎ¹ÏÎ­ÎŽÎ¿Ï
+ ÏÎ±ÎºÎ­Î»Î¿Ï
+  
+#********************
+#
+#***** EnrichPane *****
+EnrichPane.AutoMessage:ÎÏ
+ÏÏÏ Î¿ element, {0}, Î±ÎœÎ®ÎºÎµÎ¹ ÏÏÎ± Î±Ï
+ÏÏÎŒÎ±ÏÎ± ÎµÎŸÎ±Î³ÏÎŒÎµÎœÎ± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ± ÏÎ¿Ï
+ Greenstone. ÎÎ¹Î± ÎœÎ± ÎµÎ»Î­Î³ÎŸÎµÏÎµ ÏÎ¿Î¹Î± {0} ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ± ÎŒÏÎ¿ÏÎ¿ÏÎœ ÎœÎ± ÎµÎŸÎ±ÏÎžÎ¿ÏÎœ ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î®ÏÏÎµ ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®.  
+EnrichPane.ExistingValues:Î¥ÏÎ¬ÏÏÎ¿Ï
+ÏÎµÏ ÏÎ¹ÎŒÎ­Ï Î³Î¹Î± ÏÎ¿ {0}  
+EnrichPane.InheritedMetadataSelected:ÎÏ
+ÏÏÏ Î¿ ÏÏÎ¿Ï ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ ÎºÎ»Î·ÏÎ¿ÎœÎ¿ÎŒÎµÎ¯ ÏÎ·Îœ ÏÎ¹ÎŒÎ® ÏÎ¿Ï
+ Î±ÏÏ Î­ÎœÎ± ÏÎ¬ÎºÎµÎ»Î¿ ÏÎ¬ÎœÏ Î±ÏÏ Î±Ï
+ÏÏÎœ ÎºÎ±Î¹ ÎŽÎµ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± Î±Î»Î»Î¬ÎŸÎµÎ¹ Î±ÏÏ ÎµÎŽÏ. ÎÏÎ¿ÏÎµÎ¯ÏÎµ ÎœÎ± ÎµÏÎ¹ÏÎºÎµÏ
+ÎžÎµÎ¯ÏÎµ ÏÎ¿ ÏÎ¬ÎºÎµÎ»Î¿ ÎºÎ¬ÎœÎ¿ÎœÏÎ±Ï ÎºÎ»Î¹Îº ÏÏÎ¿ ÎµÎ¹ÎºÎ¿ÎœÎ¯ÎŽÎ¹Î¿ ÏÏÎ·Îœ Î±ÏÏÎ® ÏÎ·Ï Î³ÏÎ±ÎŒÎŒÎ®Ï.  
+EnrichPane.No_File:ÎÎµ Î­ÏÎµÎ¹ ÎµÏÎ¹Î»ÎµÎ³ÎµÎ¯ Î±ÏÏÎµÎ¯Î¿  
+EnrichPane.No_Metadata:ÎÎµ Ï
+ÏÎ¬ÏÏÎµÎ¹ ÎŽÎ¹Î±ÎžÎ­ÏÎ¹ÎŒÎ¿ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ¿  
+EnrichPane.No_Metadata_Element:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>ÎÎµÎœ Î­ÏÎµÎ¹ ÎµÏÎ¹Î»ÎµÎ³ÎµÎ¯ ÏÏÎ¿Ï ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ</FONT></STRONG></HTML>  
+EnrichPane.NotOneFileOnlyMetadataSelected:ÎÏ
+ÏÏ ÏÎ¿ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ¿ ÎŽÎµÎœ ÎµÏÎ±ÏÎŒÏÎ¶ÎµÏÎ±Î¹ ÏÎµ Î±Ï
+ÏÏ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ ÎºÎ±Î¹ ÎŽÎµÎœ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± ÏÏÎ¿ÏÎ¿ÏÎ¿Î¹Î·ÎžÎµÎ¯
+EnrichPane.Value_Field_Tooltip:Î€Î¹ÎŒÎ® ÏÏÎ¿Ï ÎºÎ±ÏÎ±ÏÏÏÎ·ÏÎ· ÏÏÎ¿Îœ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿ ÏÏÎ¿ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ  
+EnrichPane.Value_Field_Tooltip_Uneditable:ÎÎ±ÏÎ±ÏÏÏÎ·ÎŒÎ­ÎœÎ· ÏÎ¹ÎŒÎ® ÏÏÎ¿Îœ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿ ÏÏÎ¿ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ  
+#***********************
+#
+#****** ExplodeMetadataPrompt *******
+ExplodeMetadataPrompt.Explode:ÎÎºÏÏ
+ÎŸÎ·  
+ExplodeMetadataPrompt.Explode_Tooltip:Explode the metadata file  
+ExplodeMetadataPrompt.Instructions:Exploding this metadata file will produce individual records with editable metadata. This is an irreversible process and the original metadata file will be removed from the collection.  
+ExplodeMetadataPrompt.Failed_Title:Exploding Failed.  
+ExplodeMetadataPrompt.Failed_Explode:The database {0} could not be exploded.  
+ExplodeMetadataPrompt.NotExplodable:This file is not explodable.  
+ExplodeMetadataPrompt.Successful_Explode:Database {0} successfully exploded.  
+ExplodeMetadataPrompt.Successful_Title:Exploding Complete.  
+ExplodeMetadataPrompt.Title:Explode Metadata Database  
+#***********************
+#
+#****** WriteCDImagePrompt *******
+WriteCDImagePrompt.CD_Name:ÎÎœÎ¿ÎŒÎ± CD/DVD  
+WriteCDImagePrompt.Export:ÎÏÎ¬ÏÎµ Image CD/DVD  
+WriteCDImagePrompt.Export_Tooltip:ÎÏÎ¬ÏÎµ ÏÎ·Îœ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ· ÏÏ
+Î»Î»Î¿Î³Î® ÏÏ Î­ÎœÎ± Windows CD/DVD Image  
+WriteCDImagePrompt.Failed_Export:ÎÎ¹ ÏÏ
+Î»Î»Î¿Î³Î­Ï ({0}) ÎŽÎµ ÎŒÏÏÏÎµÏÎ±Îœ ÎœÎ± ÎµÎŸÎ±ÏÎžÎ¿ÏÎœ.  
+WriteCDImagePrompt.Failed_Title:Î ÎµÎŸÎ±Î³ÏÎ³Î® Î±ÏÎ­ÏÏ
+ÏÎµ  
+WriteCDImagePrompt.Instructions:ÎÎŸÎ±Î³ÏÎ³Î® ÎŒÎ¹Î±Ï Î® ÏÎµÏÎ¹ÏÏÏÏÎµÏÏÎœ ÏÏ
+Î»Î»Î¿Î³ÏÎœ ÏÎµ Î­ÎœÎ± self-installing Windows CD/DVD. Î€Î¿ CD ÎžÎ± ÎŽÎ¿Ï
+Î»ÎµÏÎµÎ¹ ÎŒÏÎœÎ¿ ÏÎµ Windows.  
+WriteCDImagePrompt.Netscape_Compatibility:Bundle Netscape4 browser (and Netscape4 compatibility macros and images).
+WriteCDImagePrompt.Progress_Label:ÎÎœÏÎ¹Î³ÏÎ±ÏÎ® ÎÏÏÎµÎ¯ÏÎœ. ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± ÏÎ¬ÏÎµÎ¹ Î»Î¯Î³Î¿ ÏÏÏÎœÎ¿...  
+WriteCDImagePrompt.Size_Label:ÎÎºÏÎ¹ÎŒÏÎŒÎµÎœÎ¿ ÎŒÎ­Î³ÎµÎžÎ¿Ï
+WriteCDImagePrompt.Successful_Export:ÎÎ¹ ÏÏ
+Î»Î»Î¿Î³Î­Ï ({0}) Î­ÏÎ¿Ï
+Îœ ÎµÎŸÎ±ÏÎžÎµÎ¯.  
+WriteCDImagePrompt.Successful_Title:Î ÎµÎŸÎ±Î³ÏÎ³Î® Î¿Î»Î¿ÎºÎ»Î·ÏÏÎžÎ·ÎºÎµ  
+WriteCDImagePrompt.Title:ÎÎŸÎ±Î³ÏÎ³Î® ÏÏ
+Î»Î»Î¿Î³Î®Ï ÏÎµ CD/DVD  
+#************************
+#
+#****** ExportAsPrompt *******
+ExportAsPrompt.Export_Name:ÎÎŸÎ±Î³ÏÎ³Î® ÎÎœÏÎŒÎ±ÏÎ¿Ï ÎÎ±ÏÎ±Î»ÏÎ³Î¿Ï
+  
+ExportAsPrompt.Export:ÎÎŸÎ±Î³ÏÎ³Î® Î£Ï
+Î»Î»Î¿Î³Î®Ï  
+ExportAsPrompt.Export_Tooltip:ÎÎŸÎ¬Î³ÎµÎ¹ ÏÎ¹Ï ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎµÏ ÏÏ
+Î»Î»Î¿Î³Î­Ï ÏÏÎ¿Îœ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿ ÏÏÏÎ¿ Î±ÏÏÎµÎ¯Î¿Ï
+ ÎºÎ±Î¹ ÎºÎ±ÏÎ¬Î»Î¿Î³Î¿.  
+ExportAsPrompt.Failed_ExportOne:Î ÏÏ
+Î»Î»Î¿Î³Î®, {0}, ÎŽÎµ ÎŒÏÏÏÎµÏÎµ ÎœÎ± ÎµÎŸÎ±ÏÎžÎµÎ¯.  
+ExportAsPrompt.Failed_ExportMany:ÎÎ¹ ÏÏ
+Î»Î»Î¿Î³Î­Ï -- {0} -- ÎŽÎµ ÎŒÏÏÏÎµÏÎ±Îœ ÎœÎ± ÎµÎŸÎ±ÏÎžÎ¿ÏÎœ.  
+ExportAsPrompt.Failed_Details:ÎÎµÎ¯ÏÎµ {1} Î³Î¹Î± Î»ÎµÏÏÎ¿ÎŒÎ­ÏÎµÎ¹ÎµÏ  
+ExportAsPrompt.Failed_Title:Î ÎµÎŸÎ±Î³ÏÎ³Î® Î±ÏÎ­ÏÏ
+ÏÎµ  
+ExportAsPrompt.Instructions:ÎÎŸÎ¬Î³ÎµÏÎµ ÎŒÎ¯Î± ÎÎÎ· ÏÎµÏÎ¹ÏÏÏÏÎµÏÎµÏ ÏÏ
+Î»Î»Î¿Î³Î­Ï ÏÏÎ¿Îœ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿ ÎŒÎ¿ÏÏÏÏÏ
+ÏÎ¿ ÎºÎ±Î¹ ÎºÎ±ÏÎ¬Î»Î¿Î³Î¿.  
+ExportAsPrompt.Progress_Label:ÎÎŸÎ±Î³ÏÎ³Î® Î±ÏÏÎµÎ¯ÏÎœ. ÎÏÎ¿ÏÎµÎ¯ ÎœÎ± ÎŽÎ¹Î±ÏÎºÎ­ÏÎµÎ¹ Î»Î¯Î³Î¿ ÏÏÏÎœÎ¿...  
+ExportAsPrompt.Successful_ExportOne:Î ÏÏ
+Î»Î»Î¿Î³Î®, {0}, Î­ÏÎµÎ¹ ÎµÎŸÎ±ÏÎžÎµÎ¯.  
+ExportAsPrompt.Successful_ExportMany:ÎÎ¹ ÏÏ
+Î»Î»Î¿Î³Î­Ï -- {0} -- Î­ÏÎ¿Ï
+Îœ ÎµÎŸÎ±ÏÎžÎµÎ¯.  
+ExportAsPrompt.Successful_Details:Î€Î± Î±ÏÏÎµÎ¯Î± ÎµÎŸÎ®ÏÎžÎ·ÏÎ±Îœ ÏÏÎ¿: {1}  
+ExportAsPrompt.Successful_Title:Î ÎµÎŸÎ±Î³ÏÎ³Î® Î¿Î»Î¿ÎºÎ»Î·ÏÏÎžÎ·ÎºÎµ  
+ExportAsPrompt.Title:ÎÎŸÎ±Î³ÏÎ³Î® Î£Ï
+Î»Î»Î¿Î³ÏÎœ  
+ExportAsPrompt.SaveAs:ÎÎŸÎ±Î³ÏÎ³Î® ÏÎµ  
+ExportAsPrompt.SaveAs_Tooltip:ÎÏÎ¹Î»Î­ÎŸÏÎµ ÏÎ¿Îœ ÏÏÏÎ¿ Î±ÏÏÎµÎ¯Î¿Ï
+ ÏÎ¿Ï
+ ÎžÎ­Î»ÎµÏÎµ ÎœÎ± Î³Î¯ÎœÎµÎ¹ Î· ÎµÎŸÎ±Î³ÏÎ³Î®  
+#************************
+#
+#*****ExternalCollectionPrompt********
+ExternalCollectionPrompt.NewMDS:ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î®ÏÏÎµ Î­ÎœÎ± ÎœÎ­Î¿ ÎºÎµÎœÏ ÏÏÎœÎ¿Î»Î¿ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ.  
+ExternalCollectionPrompt.ExistingMDS:ÎÏÎ¹Î»Î­ÎŸÏÎµ Î­ÎœÎ± Î® ÏÎµÏÎ¹ÏÏÏÏÎµÏÎ± Î±ÏÏ ÏÎ± Ï
+ÏÎ¬ÏÏÎ¿ÎœÏÎ± ÏÏÎœÎ¿Î»Î± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ  
+ExternalCollectionPrompt.Title:ÎŠÏÏÏÏÏÎ· ÎÎŸÏÏÎµÏÎ¹ÎºÎ®Ï Î£Ï
+Î»Î»Î¿Î³Î®Ï  
+ExternalCollectionPrompt.Instructions_1:Î ÏÎ¿ÏÎ¯ÎžÎµÏÏÎµ ÎœÎ± ÏÎ¿ÏÏÏÏÎµÏÎµ ÎŒÎ¹Î± ÏÏ
+Î»Î»Î¿Î³Î® ÏÎ¿Ï
+ ÎŽÎµÎœ Î­ÏÎµÎ¹ ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î·ÎžÎµÎ¯ Î±ÏÏ ÏÎ¿ Ï
+ÏÎ¬ÏÏÎ¿Îœ ÏÏÏÏÎ·ÎŒÎ±. ÎÎ± ÏÎ±Ï Î¶Î·ÏÎ·ÎžÎµÎ¯ ÎœÎ± ÎµÏÎ¹Î»Î­ÎŸÎµÏÎµ Î­ÎœÎ± Î® ÏÎµÏÎ¹ÏÏÏÏÎµÏÎ± ÏÏÎœÎ¿Î»Î± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ Î³Î¹Î± ÏÏÎ®ÏÎ· ÎŒÎµ Î±Ï
+ÏÎ® ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®. Î¥ÏÎ¬ÏÏÎ¿ÎœÏÎ± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ± ÎžÎ± ÎµÎ¹ÏÎ±ÏÎžÎ¿ÏÎœ ÎŒÎµ ÏÏÎ± ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ± ÏÏÎœÎ¿Î»Î±. Î€Î± Î±ÏÏÎ¹ÎºÎ¬ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ± ÎžÎ± ÎŽÎ¹Î±ÏÎ·ÏÎ·ÎžÎ¿ÏÎœ ÏÏÎ¿ Î±ÏÏÎµÎ¯Î¿ import.bak (just incase).  
+ExternalCollectionPrompt.Instructions_2:Î ÏÎ¿ÏÎ¯ÎžÎµÏÏÎµ ÎœÎ± ÏÎ¿ÏÏÏÏÎµÏÎµ ÎŒÎ¹Î± ÏÏ
+Î»Î»Î¿Î³Î® ÏÎ¿Ï
+ ÎŽÎµÎœ Î­ÏÎµÎ¹ ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î·ÎžÎµÎ¯ Î±ÏÏ ÏÎ¿ Ï
+ÏÎ¬ÏÏÎ¿Îœ ÏÏÏÏÎ·ÎŒÎ±. ÎÎ± ÏÏÎ­ÏÎµÎ¹ ÎœÎ± ÏÏÎ¿ÏÎžÎ­ÏÎµÏÎµ Î­ÎœÎ± ÏÏÎœÎ¿Î»Î¿ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ ÏÎµ Î±Ï
+ÏÎ® ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®. ÎÏÎ¿ÏÎµÎ¯ÏÎµ ÎœÎ± ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î®ÏÎµÏÎµ Î­ÎœÎ± ÎœÎ­Î¿ Î¬ÎŽÎµÎ¹Î¿, ÏÏÎ¿ Î¿ÏÎ¿Î¯Î¿ ÎžÎ± ÏÏÎ¿ÏÏÎµÎžÎ¿ÏÎœ ÏÎ± Ï
+ÏÎ¬ÏÏÎ¿ÎœÏÎ± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ± Î® ÎœÎ± ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÎµÎ¯ÏÎµÏÎµ Î­ÎœÎ± Î±ÏÏ ÏÎ± Ï
+ÏÎ¬ÏÏÎ¿ÎœÏÎ± ÏÏÎ¿ Î¿ÏÎ¿Î¯Î¿ Î­ÏÎµÏÎµ ÏÎ· ÎŽÏ
+ÎœÎ±ÏÏÏÎ·ÏÎ± ÎµÎ¯ÏÎµ ÎœÎ± ÏÏÎ¿ÏÎžÎ­ÏÎµÏÎµ ÎµÎ¯ÏÎµ ÎœÎ± ÏÏ
+ÎœÎµÎœÏÏÎµÏÎµ Ï
+ÏÎ¬ÏÏÎ¿ÎœÏÎ± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ±. Î€Î± Î±ÏÏÎ¹ÎºÎ¬ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ± ÎžÎ± ÎŽÎ¹Î±ÏÎ·ÏÎ·ÎžÎ¿ÏÎœ ÏÏÎ¿ Î±ÏÏÎµÎ¯Î¿ import.bak (just incase).
+#****************************************
+#
+#***** Inherited Metadata *****
+ExtractedMetadata.Message:Î€Î¿ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿ Î±ÏÏÎµÎ¯Î¿ Î® ÏÎ¬ÎºÎµÎ»Î¿Ï ÏÎµÏÎ¹Î­ÏÎµÎ¹ ÎµÎŸÎ±Î³ÎŒÎ­ÎœÎ± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ± ÏÎ± Î¿ÏÎ¿Î¯Î± ÎµÎ¯ÎœÎ±Î¹ ÎºÏÏ
+ÎŒÎŒÎ­ÎœÎ±. ÎÎ¹Î± ÎœÎ± ÏÎ± ÎŽÎµÎ¯ÏÎµ ÏÏÎ¿ÏÎ¿ÏÎ¿Î¹Î®ÏÏÎµ Î±ÎœÏÎ¯ÏÏÎ¿Î¹ÏÎ± Î±ÏÏ ÏÎ· Î³ÎµÎœÎ¹ÎºÎ® ÎºÎ±ÏÏÎ­Î»Î± ÏÏÎœ ÎµÏÎ¹Î»Î¿Î³ÏÎœ.  
+ExtractedMetadata.Title:ÎÏ
+ÏÏ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿/ÏÎ¬ÎºÎµÎ»Î¿Ï Î­ÏÎµÎ¹ ÎºÏÏ
+ÏÎ¬, ÎµÎŸÎ±Î³ÎŒÎ­ÎœÎ± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ±.  
+#
+#***** FileActions *****
+FileActions.Calculating_Size:Î¥ÏÎ¿Î»Î¿Î³Î¯Î¶ÎµÏÎ±Î¹ ÏÎ¿ ÏÏ
+ÎœÎ¿Î»Î¹ÎºÏ ÎŒÎ­Î³ÎµÎžÎ¿Ï ÏÏÎœ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÏÎœ Î±ÏÏÎµÎ¯ÏÎœ.  
+FileActions.Copying:ÎÏÎ¹Î³ÏÎ¬ÏÎ¿ÎœÏÎ±Ï {0}  
+FileActions.Could_Not_Delete:ÎÎµ Î³Î¯ÎœÎµÏÎµ ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ±ÏÎµÎ¯ {0}
+FileActions.Cyclic_Path:ÎÎµÎœ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± Î±ÎœÏÎ¹Î³ÏÎ±ÏÎµÎ¯ ÏÎ¿ {0}. Î€Î¿ ÎŒÎ¿ÎœÎ¿ÏÎ¬ÏÎ¹ ÏÏÎ¿Î¿ÏÎ¹ÏÎŒÎ¿Ï ÎµÎ¯ÎœÎ±Î¹ Ï
+ÏÎ¿ÏÎ¬ÎºÎµÎ»Î¿Ï ÏÎ¿Ï
+ Î±ÏÏÎ¹ÎºÎ¿Ï
+FileActions.Deleting:ÎÎ¹Î±Î³ÏÎ¬ÏÎ¿ÎœÏÎ±Ï {0}  
+FileActions.Directories_Selected:{0} ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿Î¹ ÏÎ¬ÎºÎµÎ»Î¿Î¹  
+FileActions.Directory_Selected:1 ÏÎ¬ÎºÎµÎ»Î¿Ï ÎµÏÎ¹Î»Î­Î³ÎµÎ¹  
+FileActions.File_Already_Exists_No_Create:Î€Î¿ Î±ÏÏÎµÎ¯Î¿ '{0}' Ï
+ÏÎ¬ÏÏÎµÎ¹ Î®ÎŽÎ·.  
+FileActions.File_Already_Exists_Message:{0}\nÎÎœÎ± Î±ÏÏÎµÎ¯Î¿ ÎŒÎµ ÏÎ¿ ÏÎ±ÏÎ±ÏÎ¬ÎœÏ ÏÎœÎ¿ÎŒÎ± Ï
+ÏÎ¬ÏÏÎµÎ¹ Î®ÎŽÎ· ÏÏÎ¿Îœ \nÎºÎ±Î¹ ÏÎ±ÏÎ¬ ÏÎ·Îœ ÏÏÎ¿Î·Î³Î¿ÏÎŒÎµÎœÎ® ÏÎ±Ï ÎµÏÎ¹Î»Î¿Î³Î® \n ÎµÎ¯ÎœÎ±Î¹ Î±ÎŽÏÎœÎ±ÏÎ¿ ÎœÎ± Î³ÏÎ±ÏÏÎµÎ¯. Î Î±ÏÎ±ÎºÎ±Î»Î¿ÏÎŒÎµ ÎµÏÎ¹Î»Î­ÎŸÏÎµ ÏÎ± ÎŽÎ¹ÎºÎ±Î¹ÏÎŒÎ±ÏÎ± Î±ÏÏÎµÎ¯ÏÎœ.  
+FileActions.File_Already_Exists_Title:Î£ÏÎ¬Î»ÎŒÎ± - Î€Î¿ Î±ÏÏÎµÎ¯Î¿ Ï
+ÏÎ¬ÏÏÎµÎ¹ Î®ÎŽÎ·.  
+FileActions.File_And_Directories_Selected:1 Î±ÏÏÎµÎ¯Î¿ ÎºÎ±Î¹ {0} ÏÎ¬ÎºÎµÎ»Î¿Î¹ Î­ÏÎ¿Ï
+Îœ ÎµÏÎ¹Î»ÎµÎ³ÎµÎ¯  
+FileActions.File_And_Directory_Selected:1 Î±ÏÏÎµÎ¯Î¿ ÎºÎ±Î¹ 1 ÏÎ¬ÎºÎµÎ»Î¿Ï Î­ÏÎ¿Ï
+Îœ ÎµÏÎ¹Î»ÎµÎ³ÎµÎ¯  
+FileActions.File_Create_Error:Î€Î¿ Î±ÏÏÎµÎ¯Î¿ {0} ÎŽÎµ ÎŒÏÏÏÎµÏÎµ ÎœÎ± ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î·ÎžÎµÎ¯.  
+FileActions.Folder_Create_Error:Î ÏÎ¬ÎºÎµÎ»Î¿Ï {0} ÎŽÎµ ÎŒÏÏÏÎµÏÎµ ÎœÎ± ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î·ÎžÎµÎ¯.  
+FileActions.File_Exists:<html>{0} Ï
+ÏÎ¬ÏÏÎµÎ¹ Î®ÎŽÎ· ÏÏÎ¿ ÏÎ¬ÎºÎµÎ»Î¿ ÏÏÎ¿Î¿ÏÎ¹ÏÎŒÎ¿Ï. ÎÎ± ÏÎ¿ ÎµÏÎ±ÎœÎµÎ³Î³ÏÎ¬ÏÏ?</html>  
+FileActions.File_Move_Error_Message:ÎÎµÎœ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± ÎŒÎµÏÎ±ÎºÎ¹ÎœÎ·ÎžÎµÎ¯ ÏÎ¿ {0} ÏÏÎ¿\n{1}.
+FileActions.File_Not_Deleted_Message:{0}\nÎ€Î¿ Î±ÎœÏÏÎ­ÏÏ Î±ÏÏÎµÎ¯Î¿ ÎŽÎµÎœ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ±ÏÎµÎ¯. \nÎ Î±ÏÎ±ÎºÎ±Î»Î¿ÏÎŒÎµ ÎµÎ»Î­ÎœÎŸÏÎµ ÏÏÎ¹ ÎŽÎµÎœ Î­ÏÎµÏÎµ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ Î±ÎœÎ¿Î¹ÏÏÏ\n ÎŒÎµ Î­ÎœÎ± ÎµÎŸÏÏÎµÏÎ¹ÎºÏ ÏÏÏÎ³ÏÎ±ÎŒÎŒÎ± ÎºÎ±Î¹ ÏÏÎ¿ÏÏÎ±ÎžÎµÎ¯ÏÏÎµ ÎŸÎ±ÎœÎ¬.
+FileActions.File_Not_Deleted_Title:Î£ÏÎ¬Î»ÎŒÎ± - ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ ÎŽÎµÎœ ÏÎ²Î®ÏÏÎ·ÎºÎµ.
+FileActions.File_Not_Found_Message:{0}\nÎ€Î¿ ÏÎ±ÏÎ±ÏÎ¬ÎœÏ Î±ÏÏÎµÎ¯Î¿ ÎŽÎµ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± Î²ÏÎµÎžÎµÎ¯. ÎÏÎ»Î¹Ï Î³Î¯ÎœÎµÎ¹ Î· Î±ÎœÎ±ÎœÎ­ÏÏÎ·\nÎµÎ»Î­ÎŸÏÎµ ÏÏÎ¹ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ Ï
+ÏÎ¬ÏÏÎµÎ¹.  
+FileActions.File_Not_Found_Title:Î£ÏÎ¬Î»ÎŒÎ± - ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ ÎŽÎµ Î²ÏÎ­ÎžÎ·ÎºÎµ.  
+FileActions.File_Selected:1 ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿ Î±ÏÏÎµÎ¯Î¿  
+FileActions.Files_And_Directory_Selected:{0} Î±ÏÏÎµÎ¯Î± ÎºÎ±Î¹ 1 ÏÎ¬ÎºÎµÎ»Î¿Ï ÎµÏÎ¹Î»Î­ÏÎžÎ·ÎºÎ±Îœ  
+FileActions.Files_Selected:{0} Î±ÏÏÎµÎ¯Î± ÎµÏÎ¹Î»Î­ÏÎžÎ·ÎºÎ±Îœ  
+FileActions.Folder_Already_Exists:Î€Î¿ ÏÎœÎ¿ÎŒÎ± ÏÎ¿Ï
+ Î±ÏÏÎµÎ¯Î¿Ï
+ '{0}' ÎµÎ¯ÎœÎ±Î¹ ÏÎµ ÏÏÎ®ÏÎ·. ÎÎµ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î·ÎžÎµÎ¯ Î¿ ÏÎ¬ÎºÎµÎ»Î¿Ï.  
+FileActions.Increase_Depth:ÎÏÎŸÎ·ÏÎ· Î²Î¬ÎžÎ¿Ï
+Ï ÎºÎ±ÏÎ¬ 1  
+FileActions.Insufficient_Space_Message:Î ÎµÎœÎ­ÏÎ³ÎµÎ¹Î± Î­ÏÎµÎ¹ Î±ÏÎ¿ÏÏÏÎµÎ¹ Î»ÏÎ³Ï Î±ÎœÎµÏÎ±ÏÎºÎ¿ÏÏ ÏÏÏÎ¿Ï
+ ÏÏÎ¿ ÎŽÎ¯ÏÎºÎ¿.\nÎÎ¹Î± ÎœÎ± Î±ÎœÏÎ¹Î³ÏÎ±ÏÎµÎ¯ ÎµÏÎ¹ÏÏ
+ÏÏÏ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ Î±ÏÎ±Î¹ÏÎ¿ÏÎœÏÎ±Î¹ \nÎµÏÎ¹ÏÎ»Î­Î¿Îœ: {0}  
+FileActions.Insufficient_Space_Title:Î£ÏÎ¬Î»ÎŒÎ± - ÎÎœÎµÏÎ±ÏÎºÎ®Ï ÏÏÏÎ¿Ï  
+FileActions.Moving:ÎÎµÏÎ±ÎºÎ¹ÎœÏÎœÏÎ±Ï {0}  
+FileActions.No_Activity:ÎÎ±ÎŒÎ¯Î± Î±Î¯ÏÎ·ÏÎ· Î³Î¹Î± ÎµÎœÎ­ÏÎ³ÎµÎ¹Î±  
+FileActions.Possible_Cyclic_Path:{1} ÎµÎ¯ÎœÎ±Î¹ {0} ÎºÎ±ÏÎ±Î»ÏÎ³Î¿Ï
+Ï Î²Î¬ÎžÎ¿Ï ÎºÎ±Î¹ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± ÎµÎ¯ÎœÎ±Î¹ Î±ÎœÎ±ÎŽÏÎ¿ÎŒÎ¹ÎºÏ ÎŒÎ¿ÎœÎ¿ÏÎ¬ÏÎ¹? ÎÎ± ÏÏ
+ÎœÎµÏÎ¹ÏÏÎµÎ¯ Î· ÎµÎœÎ­ÏÎ³ÎµÎ¹Î±?  
+FileActions.Read_Not_Permitted_Message:ÎÎµÎœ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± ÎŽÎ¹Î±Î²Î±ÏÏÎµÎ¯ {0}
+FileActions.Read_Only:Î€Î± Î±ÏÏÎµÎ¯Î± ÏÏÎ¿ ÏÎµÏÎ¹Î²Î¬Î»Î»Î¿Îœ ÎµÏÎ³Î±ÏÎ¯Î±Ï ÎŽÎµ ÎŒÏÎ¿ÏÎ¿ÏÎœ ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ±ÏÎ¿ÏÎœ.  
+FileActions.Replacing:ÎÎœÏÎ¹ÎºÎ±ÎžÎ¹ÏÏÏÎœÏÎ±Ï {0}
+FileActions.Selected:{0} Î±ÏÏÎµÎ¯Î± ÎºÎ±Î¹ {1} ÏÎ±ÎºÎµÎ»Î¿Ï ÎµÏÎ¹Î»Î­Î³ÎµÎ¹.  
+FileActions.Unknown_File_Error_Message:Î€Î¿ Î±ÎœÏÎ¯Î³ÏÎ±ÏÎ¿ ÏÏÎ¿Î¿ÏÎ¹ÏÎŒÎ¿Ï\nÎŽÎµÎœ ÎµÎ¯ÎœÎ±Î¹ Î¯ÎŽÎ¹Î¿ ÎŒÎµ ÏÎ¿ Î±ÏÏÎ¹ÎºÏ\nÎ±ÏÏÎµÎ¯Î¿. Î Î±Î¹ÏÎ¯Î± ÎµÎ¯ÎœÎ±Î¹ Î¬Î³ÎœÏÏÏÎ·.\nÎÎ»Î­ÎŸÏÎµ ÎºÎ±Î¹ Î±ÎœÎ±ÎœÎµÏÏÏÎµ ÏÎ·Îœ JVM.  
+FileActions.Unknown_File_Error_Title:Î£ÏÎ¬Î»ÎŒÎ± - Î¬Î³ÎœÏÏÏÎ¿ ÏÏÎ¬Î»ÎŒÎ± Î±ÏÏÎµÎ¯Î¿Ï
+.  
+FileActions.Write_Not_Permitted_Message:Î€Î¿ ÏÎµÏÎ¹Î²Î¬Î»Î»Î¿Îœ ÏÎµÎºÎŒÎ·ÏÎ¯ÏÏÎ·Ï ÎŽÎµÎœ Î­ÏÎµÎ¹ ÎŽÎ¹ÎºÎ±Î¯ÏÎŒÎ± ÎœÎ± Î³ÏÎ¬ÏÎµÎ¹ ÏÏÎ¿\n{0}\nÎÎ»Î­ÎŸÏÎµ ÏÎ± ÎŽÎ¹ÎºÎ±Î¹ÏÎŒÎ±ÏÎ± ÏÏÏÏÎ²Î±ÏÎ·Ï ÏÏÎ¿ Î±ÏÏÎµÎ¯Î¿.  
+FileActions.Write_Not_Permitted_Title:Î£ÏÎ¬Î»ÎŒÎ± - Î»Î¬ÎžÎ¿Ï ÎŽÎ¹ÎºÎ±Î¹ÏÎŒÎ±ÏÎ± ÏÏÏÏÎ²Î±ÏÎ·Ï.  
+FileActions.Yes_To_All:ÎÎ±Î¹ ÏÎµ ÏÎ»Î±  
+#************************
+#
+#******* File Associations dialog **********
+FileAssociationDialog.Add:Î ÏÎ¿ÏÎžÎ®ÎºÎ·  
+FileAssociationDialog.Add_Tooltip:Î§ÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹Î®ÏÏÎµ Î±Ï
+ÏÎ® ÏÎ·Îœ ÎµÏÎ±ÏÎŒÎ¿Î³Î® Î³Î¹Î± ÎœÎ± ÎŽÎµÎ¯ÏÎµ Î±ÏÏÎµÎ¯Î± Î±Ï
+ÏÎ¿Ï ÏÎ¿Ï
+ ÏÏÏÎ¿Ï
+.  
+FileAssociationDialog.Batch_File:Batch Î±ÏÏÎµÎ¯Î±  
+FileAssociationDialog.Browse:Î Î»Î¿Î®Î³Î·ÏÎ·  
+FileAssociationDialog.Browse_Tooltip:ÎÎ¹Î±Î»Î­ÎŸÏÎµ ÏÎ·Îœ ÎµÏÎ±ÏÎŒÎ¿Î³Î® ÏÎ¿Ï
+ ÎžÎ± ÏÏÎ·Î¹ÎŒÎ¿ÏÎ¿Î¹Î®ÏÎµÏÎµ Î±ÏÏ ÏÎ¿ ÏÏÏÏÎ·ÎŒÎ¬ ÏÎ±Ï  
+FileAssociationDialog.Browse_Tooltip_Mac:Î ÏÎ»Î¿Î®Î³Î·ÏÎ· Î³Î¹Î± ÏÎ·Îœ ÎµÏÎ±ÏÎŒÎ¿Î³Î® ÏÎ±Ï ÎµÎ¯ÎœÎ±Î¹ Î±ÏÎµÎœÎµÏÎ³Î¿ÏÎ¿Î¹Î·ÎŒÎ­ÎœÎ· Î³Î¹Î± MacOS  
+FileAssociationDialog.Browse_Title:ÎÏÎ¹Î»Î­ÎŸÏÎµ ÎÏÎ±ÏÎŒÎ¿Î³Î®  
+FileAssociationDialog.Close:ÎÎ»ÎµÎ¯ÏÎ¹ÎŒÎ¿  
+FileAssociationDialog.Close_Tooltip:ÎÎ»ÎµÎ¯ÏÎµ Î±Ï
+ÏÏ ÏÎ¿ ÎŽÎ¹Î¬Î»Î¿Î³Î¿ ÎºÎ±Î¹ ÎµÏÎ­ÏÏÏÎµÏÎµ ÏÏÎ¿ ÎºÎµÎœÏÏÎ¹ÎºÏ ÏÎ±ÏÎ¬ÎžÏ
+ÏÎ¿  
+FileAssociationDialog.Command:ÎÎºÏÎ­Î»ÎµÏÎ· ÎµÎœÏÎ¿Î»Î®Ï:  
+FileAssociationDialog.Command_File:ÎÏÏÎµÎ¯Î± ÎµÎœÏÎ¿Î»ÏÎœ  
+FileAssociationDialog.Command_Tooltip:ÎÎ¹ÏÎ¬Î³ÎµÏÎµ ÏÎ·Îœ ÎµÎœÏÎ¿Î»Î® Î³Î¹Î± ÎœÎ± ÎŸÎµÎºÎ¹ÎœÎ®ÏÎµÏÎµ ÏÎ· ÏÏÎ®ÏÎ· ÏÎ·Ï ÎµÏÎ±ÏÎŒÎ¿Î³Î®Ï  
+FileAssociationDialog.Details:Î»ÎµÏÏÎ¿ÎŒÎ­ÏÎµÎ¹ÎµÏ ÏÏ
+ÏÏÎµÏÎ¹ÏÎŒÎ¿Ï Î±ÏÏÎµÎ¯Î¿Ï
+  
+FileAssociationDialog.Executable_File:ÎÎºÏÎµÎ»Î­ÏÎ¹ÎŒÎ± Î±ÏÏÎµÎ¯Î±  
+FileAssociationDialog.Existing_Associations:Î€ÏÎ­ÏÎ¿ÎœÏÎµÏ ÏÏ
+ÏÏÎµÏÎ¹ÏÎŒÎ¿Î¯ Î±ÏÏÎµÎ¯ÏÎœ  
+FileAssociationDialog.Extension:ÎÎ¹Î± Î±ÏÏÎµÎ¯Î± ÎŒÎµ ÎºÎ±ÏÎ¬Î»Î·ÎŸÎ·:  
+FileAssociationDialog.Extension_Tooltip:Î ÎºÎ±ÏÎ¬Î»Î·ÎŸÎ· Î³Î¹Î± ÏÎ± Î±ÏÏÎµÎ¯Î±  
+FileAssociationDialog.Instructions:Î§ÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÎµÎ¯ÏÏÎµ Î±Ï
+ÏÏ ÏÎ¿ ÎŽÎ¹Î¬Î»Î¿Î³Î¿ Î³Î¹Î± ÎœÎ± ÎžÎ­ÏÎµÏÎµ ÏÎ¿Î¹Î± ÎµÎŸÏÏÎµÏÎ¹ÎºÎ¬ ÏÏÎ¿Î³ÏÎ¬ÎŒÎŒÎ±ÏÎ± ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹Î¿ÏÎœÏÎ±Î¹ Î³Î¹Î± ÎœÎ± Î±ÎœÎ¿ÏÎ¹ÏÎžÎµÎ¯ Î­ÎœÎ±Ï ÏÏ
+Î³ÎºÎµÎºÏÎ¹ÎŒÎ­ÎœÎ¿Ï ÏÏÏÎ¿Ï Î±ÏÏÎµÎ¯Î¿Ï
+ ÎºÎ±Î¹ ÏÎ¿Î¹Î± ÎµÎœÏÎ¿Î»Î® ÎŸÎµÎºÎ¹ÎœÎ¬ Î±Ï
+ÏÏ ÏÎ¿ ÎµÎŸÏÏÎµÏÎ¹ÎºÏ ÏÏÏÎ³ÏÎ±ÎŒÎŒÎ±.  
+FileAssociationDialog.Table.Command:ÎÎœÏÎ¿Î»Î®  
+FileAssociationDialog.Table.Extension:ÎÏÎ­ÎºÏÎ±ÏÎ·  
+FileAssociationDialog.Title:ÎÏÎµÎŸÎµÏÎ³Î±ÏÏÎµÎ¯ÏÎµ ÏÎ¿Ï
+Ï ÏÏ
+ÏÏÎµÏÎ¹ÏÎŒÎ¿ÏÏ Î±ÏÏÎµÎ¯ÏÎœ  
+FileAssociationDialog.Remove:ÎÎ¹Î±Î³ÏÎ±ÏÎ®  
+FileAssociationDialog.Remove_Tooltip:ÎÎ¹Î±Î³ÏÎ¬ÏÎµÎ¹ ÏÎ¿Îœ ÏÏÎ­ÏÎ¿ÎœÏÎ± ÏÏ
+ÏÏÎµÏÎ¹ÏÎŒÏ.  
+FileAssociationDialog.Replace:ÎÎœÏÎ¹ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ·  
+FileAssociationDialog.Replace_Tooltip:ÎÎœÏÎ¹ÎºÎ±ÎžÎ¹ÏÏÎ¬ ÏÎ¿Îœ ÏÏÎ­ÏÎ¿ÎœÏÎ± ÎµÏÎ¹Î»Î­Î³ÎŒÎ­ÎœÎ¿ ÏÏ
+ÏÏÎµÏÎ¹ÏÎŒÏ.  
+#*******************
+#
+#******Filter***************
+Filter.0:HTM & HTML  
+Filter.1:XML  
+Filter.2:ÎÏÏÎµÎ¯Î± ÎÎµÎ¹ÎŒÎ­ÎœÎ¿Ï
+  
+Filter.3:ÎŠÏÏÎ¿Î³ÏÎ±ÏÎ¯ÎµÏ  
+Filter.All_Files:ÎÎ»Î± ÏÎ± Î±ÏÏÎµÎ¯Î±  
+Filter.Filter_Tree:ÎÎµÎ¯ÎŸÎµ ÏÎ± Î±ÏÏÎµÎ¯Î±  
+Filter.Invalid_Pattern:{43}Î Î­ÎºÏÏÎ±ÏÎ· ÏÎ¿Ï
+ ÎµÎ¹ÏÎ¬Î³Î±ÏÎµ Î³Î¹Î± ÏÎ¹Î»ÏÏÎ¬ÏÎ¹ÏÎŒÎ± ÎŽÎµÎœ ÎµÎ¯ÎœÎ±Î¹ Î­Î³ÎºÏ
+ÏÎ·.{35}Î ÏÎ¿ÏÏÎ±ÎžÎµÎ¯ÏÏÎµ ÎŸÎ±ÎœÎ¬ ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÏÎœÏÎ±Ï ÎŒÎ¹Î± ÎºÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® Î­ÎºÏÏÎ±ÏÎ· ÎŒÎµ {35}* Î³Î¹Î± ÎµÎ¹ÎŽÎ¹ÎºÏ ÏÎ±ÏÎ±ÎºÏÎ®ÏÎ±.{45}  
+#***********************
+#
+#***** GAuthenticator *****
+GAuthenticator.Password:ÎÏÎŽÎ¹ÎºÏÏ:  
+GAuthenticator.Password_Tooltip:ÎÎ¹ÏÎ¬Î³ÎµÏÎµ ÏÎ¿Îœ ÎºÏÎŽÎ¹ÎºÏ ÏÎ±Ï  
+GAuthenticator.Title:ÎÏÎ±Î¹ÏÎµÎ¯ÏÎ±Î¹ ÎºÏÎŽÎ¹ÎºÏÏ.  
+GAuthenticator.Username:ÎÎœÎ¿ÎŒÎ± ÏÏÎ®ÏÏÎ·:  
+GAuthenticator.Username_Tooltip:ÎÎ¹ÏÎ¬Î³ÎµÏÎµ ÏÎ¿ ÏÎœÎ¿ÎŒÎ± ÏÏÎ®ÏÏÎ·  
+#**************************
+#
+#***** General Messages *****
+# 0 - A String representing the name and method of the class in question.
+General.Apply:ÎÏÎ±ÏÎŒÎ¿Î³Î®  
+General.Apply_Tooltip:ÎÏÎ¬ÏÎŒÎ¿ÏÎµ ÏÎ¹Ï ÏÏÎ­ÏÎ¿Ï
+ÏÎµÏ ÏÏ
+ÎžÎŒÎ¯ÏÎµÎ¹Ï Î±Î»Î»Î¬ ÎŒÎ·Îœ ÎºÎ»ÎµÎ¯ÏÎµÎ¹Ï ÏÎ¿ ÏÎ±ÏÎ¬ÎžÏ
+ÏÎ¿ ÎŽÎ¹Î±Î»ÏÎ³Î¿Ï
+.  
+General.Browse:ÏÎ»Î¿Î®Î³Î·ÏÎ·...  
+General.Cancel:ÎÎºÏÏÏÏÎ·  
+General.Cancel_Tooltip:ÎÎºÏÏÏÏÎ· Î±Î»Î»Î±Î³ÏÎœ (ÎŽÎµÎœ Î±ÎºÏ
+ÏÏÎœÎµÎ¹ ÏÏÎ¹ Î­ÏÎµÎ¹ ÎµÏÎ±ÏÎŒÎ¿ÏÏÎµÎ¯ ÎŒÎ­ÏÏÎ¹ ÏÏÏÎ±)  
+General.Close:ÎÎ»ÎµÎ¯ÏÎ¹ÎŒÎ¿  
+General.Close_Tooltip:ÎÎ»ÎµÎ¯ÏÎµ Î±Ï
+ÏÏ ÏÎ¿ ÏÎ±ÏÎ¬ÎžÏ
+ÏÎ¿ ÎŽÎ¹Î±Î»ÏÎ³Î¿Ï
+  
+General.Edit:ÎÏÎµÎŸÎµÏÎ³Î±ÏÎ¯Î± ÏÎ¹ÎŒÎ®Ï  
+General.Error:Î£ÏÎ¬Î»ÎŒÎ±  
+General.No:ÎÏÎ¹  
+General.NotSunJava:Java vendor: {0}\nÎ€Î¿ ÎµÏÎ³Î±Î»ÎµÎ¯Î¿ Î­ÏÎµÎ¹ Î±ÎœÎ±ÏÏÏ
+ÏÎžÎµÎ¯ ÎºÎ±Î¹ ÎµÎ»ÎµÎ³ÏÎžÎµÎ¯ ÎŒÎµ Î­ÎºÎŽÎ¿ÏÎ· ÏÎ·Ï Java Î±ÏÏ ÏÎ· Sun Microsystems.  
+General.OK:ÎÎœÏÎ¬ÎŸÎµÎ¹  
+General.OK_Tooltip:ÎÎ­ÎŸÎ¿Ï
+ ÏÎ¹Ï ÏÏÎ­ÏÎ¿Ï
+ÏÎµÏ ÏÏ
+ÎžÎŒÎ¯ÏÎµÎ¹Ï ÎºÎ±Î¹ Î²Î³ÎµÏ Î±ÏÏ ÏÎ¿ ÏÎ±ÏÎ¬ÎžÏ
+ÏÎ¿ ÎŽÎ¹Î±Î»ÏÎ³Î¿Ï
+  
+General.Open:ÎÎœÎ¿Î¹Î³ÎŒÎ±  
+General.Outstanding_Processes:<html>Î€Î¿ ÏÎµÏÎ¹Î²Î¬Î»Î»Î¿Îœ ÏÎµÎºÎŒÎ·ÏÎ¯ÏÏÎ·Ï ÎŽÎµ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± ÎºÎ»ÎµÎ¯ÏÎµÎ¹ ÏÎ»Î®ÏÏÏ ÎŒÎ­ÏÏÎ¹ ÎœÎ± ÎºÎ»ÎµÎ¯ÏÎ¿Ï
+Îœ ÏÎ»Î± ÏÎ± ÏÏÎ¿Î³ÏÎ¬ÎŒÎŒÎ±ÏÎ± <br>ÏÎ¿Ï
+ ÎŸÎµÎºÎ¯ÎœÎ·ÏÎ±Îœ Î±ÏÏ Î±Ï
+ÏÏ.</html>  
+General.Outstanding_Processes_Title:Î ÎµÏÎ¹ÎŒÎ­ÎœÎ¿ÎœÏÎ±Ï Î³Î¹Î± ÎÎŸÎ¿ÎŽÎ¿...  
+General.Pure_Cancel_Tooltip:ÎÎºÏÏÏÏÎ· Î±Ï
+ÏÎ®Ï ÏÎ·Ï ÎµÎœÎ­ÏÎ³ÎµÎ¹Î±Ï (ÎŽÎµ ÎžÎ± ÏÏÎ±Î³ÎŒÎ±ÏÎ¿ÏÎ¿Î¹Î·ÎžÎ¿ÏÎœ Î±Î»Î»Î±Î³Î­Ï)  
+General.Review_Output:Î Î±ÏÎ±ÎºÎ±Î»Î¿ÏÎŒÎµ ÎµÎ»Î­ÎŸÏÎµ ÏÎ·Îœ ÏÎ±ÏÎ±ÎºÎ¬ÏÏ Î­ÎŸÎ¿ÎŽÎ¿:  
+General.Usage:Usage: {0} <params>\nÎÎ»ÎµÏ Î¿Î¹ ÏÎ±ÏÎ¬ÎŒÎµÏÏÎ¿Î¹ ÎµÎ¯ÎœÎ±Î¹ ÏÏÎ¿Î±Î¹ÏÎµÏÎ¹ÎºÎ­Ï Î±Î»Î»Î¬ ÏÎ¿ ÏÎµÏÎ¹Î²Î¬Î»Î»Î¿Îœ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± Î±ÏÎ¿ÏÏÏÎµÎ¹ Î±Îœ Î¿Î¹ -gsdl ÎºÎ±Î¹ -library ÎŽÎµÎœ Î­ÏÎ¿Ï
+Îœ ÏÎµÎžÎµÎ¯.\n -gsdl <path>  : Force path to gsdl\n -library <path> : Path to cgi-bin\n -mozilla <path> : Enabled mozilla\n -mirror : Enable web-mirroring controls\n -laf [java|windows|motif|mac] : Look and feel\n -debug : Enable debug messages\n -no_load : Don't load previously open collection\n -load <path> : Load the specified collection  
+General.View:Î ÏÎ¿Î²Î¿Î»Î® Î€Î¹ÎŒÎ®Ï  
+General.Warning:Î ÏÎ¿ÎµÎ¹ÎŽÎ¿ÏÎ¿Î¯Î·ÏÎ·  
+General.Yes:ÎÎ±Î¹  
+#****************************
+#
+#***** GShell *****
+GShell.BadArgument:Î€Î¿ ÏÏÎ¹ÏÎŒÎ± {0} ÎŽÎµÎœ ÎµÎ¯ÎœÎ±Î¹ Î­Î³ÎºÏ
+ÏÎ¿.
+GShell.BadArgumentValue:Î€Î¿ ÏÏÎ¹ÏÎŒÎ± {0} Î­ÏÎµÎ¹ ÎŒÎ¹Î± Î¬ÎºÏ
+ÏÎ· ÏÎ¹ÎŒÎ®.
+GShell.BadPluginOptions:Î€Î¿ ÎºÎ±ÎºÏ ÏÏÎ¹ÏÎŒÎ± ÏÏÎ¿Î­ÎºÏ
+ÏÎµ ÏÏÎ¿ plugin {0}.
+GShell.BadClassifierOptions:Î€Î¿ ÎºÎ±ÎºÏ ÏÏÎ¹ÏÎŒÎ± ÏÏÎ¿Î­ÎºÏ
+ÏÎµ ÏÏÎ¿Îœ ÏÎ±ÎŸÎ¹ÎœÎ¿ÎŒÎ·ÏÎ® {0}.
+GShell.Build.Auxilary:ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¿ÏÎœÏÎ±Î¹ Î²Î¿Î·ÎžÎ·ÏÎ¹ÎºÎ¬ Î±ÏÏÎµÎ¯Î±...  
+GShell.Build.BuildBegun1:************** Î ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î± ÎŸÎµÎºÎ¯ÎœÎ·ÏÎµ **************  
+GShell.Build.BuildCancelled:**************   ÎÎºÏ
+ÏÏÎžÎ·ÎºÎµ    **************  
+GShell.Build.BuildComplete1:************** Î ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î± ÏÎµÎ»ÎµÎ¯ÏÏÎµ **************  
+GShell.Build.CompressText:Î€Î¿ ÎºÎµÎ¯ÎŒÎµÎœÎ¿ ÏÏ
+ÎŒÏÎ¹Î­Î¶ÎµÏÎ±Î¹...  
+GShell.Build.Index:ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³ÎµÎ¯ÏÎ±Î¹ Î­ÎœÎ± ÎµÏ
+ÏÎµÏÎ®ÏÎ¹Î¿ Î²Î±ÏÎ¹ÏÎŒÎ­ÎœÎ¿ ÏÏÎ¿ {0-index source and level}...  
+GShell.Build.InfoDatabase:ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î± ÎÎ¬ÏÎ·Ï ÎÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ...  
+GShell.Build.Phind:ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³ÎµÎ¯ÏÎ±Î¹ Î­ÎœÎ±Ï Phind ÏÎ±ÎŸÎ¹ÎœÎ¿ÎŒÎ·ÏÎ®Ï.......  
+GShell.Command:ÎÎœÏÎ¿Î»Î®  
+GShell.Failure:Î ÎµÎœÏÎ¿Î»Î® Î±ÏÎ­ÏÏ
+ÏÎµ.  
+GShell.Import.FileNotProcessed:Î€Î¿ Î±ÏÏÎµÎ¯Î¿ {0-target file path} Î±ÎœÎ±Î³ÎœÏÏÎ¯ÏÎžÎ·ÎºÎµ Î±Î»Î»Î¬ ÎŽÎµ ÎŒÏÏÏÎµÏÎµ ÎœÎ± ÎµÏÎµÎŸÎµÏÎ³Î±ÏÏÎµÎ¯ Î±ÏÏ ÎºÎ±ÎœÎ­ÎœÎ± plugin.  
+GShell.Import.FileNotRecognised:Î€Î¿ Î±ÏÏÎµÎ¯Î¿ {0-target file path} ÎŽÎµÎœ Î±ÎœÎ±Î³ÎœÏÏÎ¯ÏÎžÎ·ÎºÎµ Î±ÏÏ ÎºÎ±ÎœÎ­ÎœÎ± plugin.  
+GShell.Import.FileProcessing:ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ {0-target file path} ÎµÏÎµÎŸÎµÏÎ³Î¬Î¶ÎµÏÎ±Î¹ Î±ÏÏ {1-plugin name}.  
+GShell.Import.FileProcessingError:Î€Î¿ Î±ÏÏÎµÎ¯Î¿ {0-target file path} Î±ÎœÏÎ¹ÎŒÎµÏÏÏÎ¹ÏÎµ Î­ÎœÎ± ÏÏÏÎ²Î»Î·ÎŒÎ± ÎºÎ±ÏÎ¬ ÏÎ·Îœ ÎµÏÎµÎŸÎµÏÎ³Î±ÏÎ¯Î± ÏÎ¿Ï
+.  
+GShell.Import.ImportBegun1:************** Î ÎÎ¹ÏÎ±Î³ÏÎ³Î® ÎÎµÎºÎ¯ÎœÎ·ÏÎµ **************  
+GShell.Import.ImportComplete1:************** Î ÎÎ¹ÏÎ±Î³ÏÎ³Î® Î£ÏÎ±ÎŒÎ¬ÏÎ·ÏÎµ **************  
+GShell.Import.ImportComplete2:{0-number documents considered} Î­Î³Î³ÏÎ±ÏÎ± ÏÎ­ÎžÎ·ÎºÎ±Îœ ÏÎµ ÎµÏÎµÎŸÎµÏÎ³Î±ÏÎ¯Î±:  
+GShell.Import.ImportComplete2.1:1 Î­Î³Î³ÏÎ±ÏÎ¿ ÎµÏÎµÎŸÎµÏÎ³Î¬ÏÏÎ·ÎºÎµ:  
+GShell.Import.ImportComplete.Processed:{0-number processed} Î­Î³Î³ÏÎ±ÏÎ± ÎµÏÎµÎŸÎµÏÎ³Î¬ÏÏÎ·ÎºÎ±Îœ ÎºÎ±Î¹ ÏÎµÏÎ¹ÎµÎ»Î®ÏÎžÎ·ÏÎ±Îœ ÏÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®.  
+GShell.Import.ImportComplete.Processed.1:1 Î­Î³Î³ÏÎ±ÏÎ¿ ÎµÏÎµÎŸÎµÏÎ³Î¬ÏÏÎ·ÎºÎµ ÎºÎ±Î¹ ÏÎµÏÎ¹ÎµÎ»Î®ÏÎžÎ· ÏÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®.  
+GShell.Import.ImportComplete.Blocked:{0-number blocked} ÎŽÎµÎœ ÎµÎ¹ÏÎ®ÏÎžÎ·ÏÎ±Îœ Î±ÏÏ plugins ÏÏÎ· ÏÏ
+Î»Î»Î¿Î³Î® (ÏÏÏÏ ÎµÎ¹ÎºÏÎœÎµÏ ÏÎµ Î¹ÏÏÎ¿ÏÎµÎ»Î¯ÎŽÎµÏ).  
+GShell.Import.ImportComplete.Blocked.1:1 ÎŽÎµÎœ ÎµÎ¹ÏÎ®ÏÎžÎµÎ¹ Î±ÏÏ plugins ÏÏÎ· ÏÏ
+Î»Î»Î¿Î³Î® (ÏÏÏÏ ÎµÎ¹ÎºÏÎœÎµÏ ÏÎµ Î¹ÏÏÎ¿ÏÎµÎ»Î¯ÎŽÎµÏ).  
+GShell.Import.ImportComplete.Ignored:{0-number ignored} ÎŽÎµÎœ Î±ÎœÎ±Î³ÎœÏÏÎ¯ÏÏÎ·ÎºÎ±Îœ.  
+GShell.Import.ImportComplete.Ignored.1:1 ÎŽÎµÎœ Î±ÎœÎ±Î³ÎœÏÏÎ¯ÏÏÎ·ÎºÎµ.  
+GShell.Import.ImportComplete.Failed:{0-number failed} Î±ÏÎ¿ÏÏÎ¯ÏÎžÎ·ÎºÎ±Îœ.  
+GShell.Import.ImportComplete.Failed.1:1 Î±ÏÎ¿ÏÏÎ¯ÏÎžÎ·ÎºÎµ.  
+GShell.Import.ImportComplete3:\n  
+GShell.Parsing_Metadata_Complete:Î ÎµÎŸÎ±Î³ÏÎ³Î® ÏÏÎœ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ Î¿Î»Î¿ÎºÎ»Î·ÏÏÎžÎ·ÎºÎµ.  
+GShell.Parsing_Metadata_Start:ÎÎŸÎ¬Î³ÏÎœÏÎ±Î¹ ÎœÎ­Î± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ± Î±ÏÏ Î±ÏÏÎµÎ¯Î±.  
+GShell.Success:Î ÎµÎœÏÎ¿Î»Î® Î¿Î»Î¿ÎºÎ»Î·ÏÏÎžÎ·ÎºÎµ.  
+#*********************
+#
+#***** GUI *****
+# Currently Enabled and Disabled display the same text but in different
+# colours. If necessary this can be changed.
+GUI.Create:ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î±  
+GUI.Create_Tooltip:ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î± Î£Ï
+Î»Î»Î¿Î³Î®Ï  
+GUI.Design:Î£ÏÎµÎŽÎ¹Î±ÏÎŒÏÏ  
+GUI.Design_Tooltip:Î£ÏÎµÎŽÎ¹Î±ÏÎŒÏÏ ÏÎ·Ï Î»ÎµÎ¹ÏÎ¿Ï
+ÏÎ³Î¹ÎºÏÏÎ·ÏÎ± ÎºÎ±Î¹ ÏÎ·Ï ÎµÎŒÏÎ¬ÎœÎ¹ÏÎ·Ï ÏÎ·Ï ÏÏ
+Î»Î¿Î³Î®Ï  
+GUI.Download:ÎÎ±ÏÎ­Î²Î±ÏÎŒÎ±/Mirroring  
+GUI.Download_Tooltip:ÎÎ±ÏÎ­Î²Î±ÏÎŒÎ± ÏÏÏÏÎœ Î±ÏÏ ÏÎ¿ ÎÎ¹Î±ÎŽÎ¯ÎºÏÏ
+Î¿ Î³Î¹Î± ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®  
+GUI.Enrich:ÎÎŒÏÎ»Î¿Ï
+ÏÎ¹ÏÎŒÏÏ  
+GUI.Enrich_Tooltip:ÎÎ±ÏÎ±ÏÏÏÎ·ÏÎ· ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ Î³Î¹Î± ÏÎ± Î±ÏÏÎµÎ¯Î± ÏÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï  
+GUI.Gather:Î£Ï
+Î»Î»Î¿Î³Î®  
+GUI.Gather_Tooltip:ÎÏÎ¹Î»Î¿Î³Î® Î±ÏÏÎµÎ¯ÏÎœ ÏÎ¿Ï
+ ÎžÎ± ÏÎµÏÎ¹Î­ÏÎµÎ¹ Î· ÏÏ
+Î»Î»Î¿Î³Î®  
+#***************
+#
+#***** HELP *****
+Help.Contents:Î ÎµÏÎ¹ÎµÏÏÎŒÎµÎœÎ±  
+Help.Title:ÎÎ¿Î·ÎžÎ·ÏÎ¹ÎºÎ­Ï Î£ÎµÎ»Î¯ÎŽÎµÏ Î§ÏÎ®ÏÏÎ·  
+#****************************
+#
+#***** Invalid Metadata ******
+InvalidMetadata.Message:ÎÏ
+ÏÏÏ Î¿ ÏÏÎ¿Ï ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ ÎµÎ¯ÎœÎ±Î¹ ÏÎµÏÎ¹Î¿ÏÎ¹ÏÎŒÎ­ÎœÎ¿Ï ÏÎµ Î­ÎœÎ± ÏÏ
+Î³ÎºÎµÎºÏÎ¹ÎŒÎ­ÎœÎ¿ ÏÏÎœÎ¿Î»Î¿ ÏÎ¹ÎŒÏÎœ. ÎÎ¹Î±Î»Î­ÎŸÏÎµ ÎŒÎ¹Î± Î±ÏÏ Î±Ï
+ÏÎ­Ï.
+InvalidMetadata.Title:ÎÎºÏ
+ÏÎ¿ ÎÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ¿.
+#***************************
+#
+#***** LockFileDialog *****
+LockFileDialog.Cancel_Tooltip:ÎÎ± ÎŒÎ·Îœ ÎºÎ»Î±ÏÎµÎ¯ ÏÎ¿ ÎºÎ»ÎµÎ¯ÎŽÏÎŒÎ± (Î· ÏÏ
+Î»Î»Î¿Î³Î® ÎŽÎµ ÎžÎ± Î±ÎœÎ¿Î¯ÎŸÎµÎ¹)  
+LockFileDialog.Date:ÎÎŒÎµÏÎ¿ÎŒÎ·ÎœÎ¯Î±  
+LockFileDialog.Error:#Î£ÏÎ¬Î»ÎŒÎ±  
+LockFileDialog.Lockfile_Message_One:Î ÏÎ±ÏÎ¿Ï
+ÏÎ¯Î± ÎºÎ»ÎµÎ¹ÎŽÏÎŒÎ±ÏÎ¿Ï Ï
+ÏÎ¿ÎŽÎµÎ¹ÎºÎœÏÎµÎ¹ ÏÏÎ¹ Î· ÏÏ
+Î»Î»Î¿Î³Î® ÎµÎ¯ÎœÎ±Î¹ Î®ÎŽÎ· Î±ÎœÎ¿Î¹Î³ÎŒÎ­ÎœÎ· (Î Î¹ÎžÎ±ÎœÏÏ ÏÎ¿ ÎÏÎ³Î±Î»ÎµÎ¯Î¿ ÎœÎ± ÎŒÎ·Îœ Î­ÎºÎ»ÎµÎ¹ÏÎµ ÏÏÏÏÎ¬)).  
+LockFileDialog.Lockfile_Message_Two:ÎÏÎ¹ÎžÏ
+ÎŒÎµÎ¯ÏÎµ ÎœÎ± ÎºÎ»Î­ÏÎµÏÎµ ÏÎ¿Îœ Î­Î»ÎµÎ³ÏÎ¿ Î±Ï
+ÏÎ¿Ï ÏÎ¿Ï
+ ÎºÎ»ÎµÎ¹ÎŽÏÎŒÎ±ÏÎ¿Ï? ÎÏÎ¹Î»Î­ÎŸÏÎµ Î¿Îº  
+LockFileDialog.Machine:Î Î¿Ï
+  
+LockFileDialog.Name:ÎÎœÎ¿ÎŒÎ±  
+LockFileDialog.OK_Tooltip:ÎÎ»Î­ÏÎµ ÏÎ¿Îœ Î­Î»ÎµÎ³ÏÎ¿ ÏÎ¿Ï
+ ÎºÎ»ÎµÎ¹ÎŽÏÎŒÎ±ÏÎ¿Ï  
+LockFileDialog.Title:ÎÎœÎ¯ÏÎœÎµÏ
+ÏÎ·ÎºÎµ Î±ÏÏÎµÎ¯Î¿ ÎºÎ»ÎµÎ¹ÎŽÏÎŒÎ±ÏÎ¿Ï  
+LockFileDialog.User:Î Î¿Î¹Î¿Ï  
+#********************
+#
+#*****MappingPrompt **********
+MappingPrompt.File:ÎŠÎ¬ÎºÎµÎ»Î¿Ï  
+MappingPrompt.Map:ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î± ÏÏ
+ÎœÏÏÎŒÎµÏ
+ÏÎ·Ï  
+MappingPrompt.Name:ÎÎœÎ¿ÎŒÎ±  
+MappingPrompt.Title:ÎžÎ­ÏÎµ ÏÏ
+ÎœÏÏÎŒÎµÏ
+ÏÎ· ÏÎ±ÎºÎ­Î»Î¿Ï
+  
+MappingPrompt.Unmap:ÎÎ¹Î±Î³ÏÎ±ÏÎ® ÏÏ
+ÎœÏÏÎŒÎµÏ
+ÏÎ·Ï  
+#*******************
+#
+#***** Menu Options *****
+Menu.Collapse:ÎÎ»ÎµÎ¯ÏÎµ ÏÎ¿ ÏÎ¬ÎºÎµÎ»Î¿  
+Menu.Edit:ÎÏÎµÎŸÎµÏÎ³Î±ÏÎ¯Î±  
+Menu.Edit_Copy:ÎÎœÏÎ¹Î³ÏÎ±ÏÎ® (ctrl-c)  
+Menu.Edit_Cut:ÎÏÎ¿ÎºÎ¿ÏÎ® (ctrl-x)  
+Menu.Edit_Paste:ÎÏÎ¹ÎºÏÎ»Î·ÏÎ· (ctrl-v)  
+Menu.Expand:ÎÎœÎ¿Î¹Î³ÎŒÎ± ÎŠÎ±ÎºÎ­Î»Î¿Ï
+  
+Menu.Explode_Metadata_Database:ÎÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ± ÎÎ¬ÏÎ·Ï  
+Menu.File:ÎÏÏÎµÎ¯Î¿  
+Menu.File_Associations:Î£Ï
+ÏÏÎµÏÎ¹ÏÎŒÎ¿Î¯ ÎÏÏÎµÎ¯ÏÎœ...  
+Menu.File_CDimage:ÎÏÎ¬ÏÎµ ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î® ÏÎµ CD/DVD ...  
+Menu.File_Close:ÎÎ»ÎµÎ¯ÏÎ¹ÎŒÎ¿  
+Menu.File_Delete:ÎÎ¹Î±Î³ÏÎ±ÏÎ®...  
+Menu.File_Exit:ÎÎŸÎ¿ÎŽÎ¿Ï  
+Menu.File_ExportAs:ÎÎŸÎ±Î³ÏÎ³Î®...  
+Menu.File_New:ÎÎ­Î¿...  
+Menu.File_Open:ÎÎœÎ¿Î¹Î³ÎŒÎ±...  
+Menu.File_Options:ÎÏÎ¹Î»Î¿Î³Î­Ï...  
+Menu.File_Save:ÎÏÎ¿ÎžÎ®ÎºÎµÏ
+ÏÎ·  
+Menu.Help:ÎÎ¿Î®ÎžÎµÎ¹Î±  
+Menu.Help_About:Î£ÏÎµÏÎ¹ÎºÎ¬...  
+Menu.Metadata_View:ÎÎ±ÏÎ±ÏÏÏÎ·ÎŒÎ­ÎœÎ± ÎÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ± Î³Î¹Î± ÏÎ¿ {0}  
+Menu.Open_Externally:ÎÎœÎ¿Î¹Î³ÎŒÎ± ÎŒÎµ ÎµÎŸÏÏÎµÏÎ¹ÎºÏ ÏÏÏÎ³ÏÎ±ÎŒÎŒÎ±  
+#********************
+#
+#***** MetaAudit *****
+MetaAudit.Close:ÎÎ»ÎµÎ¯ÏÎ¹ÎŒÎ¿  
+MetaAudit.Close_Tooltip:ÎÎ»ÎµÎ¯ÎœÎµÎ¹ Î±Ï
+ÏÏ ÏÎ¿ ÏÎ±ÏÎ¬ÎžÏ
+ÏÎ¿ ÎŽÎ¹Î±Î»ÏÎ³Î¿Ï
+  
+MetaAudit.Title:ÎÎ»Î± ÏÎ± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ±  
+#*********************
+#
+#***** Metadata *****
+Metadata.Element:ÎÏÎ¿Ï  
+Metadata.Value:Î€Î¹ÎŒÎ®  
+MetadataSet.Files:ÎÏÏÎµÎ¯Î± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ  
+#*********************************************
+#
+#******** MetadataImportMappingPrompt *********
+MIMP.Add:Î ÏÎ¿ÏÎžÎ®ÎºÎ·  
+MIMP.Add_Tooltip:Î ÏÎ¿ÏÎžÎ®ÎºÎ· ÏÎ¿Ï
+ ÏÏÎ¿Ï
+ ÏÏÎ¿ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿ ÏÏÎœÎ¿Î»Î¿  
+MIMP.Ignore:Î Î±ÏÎ¬Î²Î»ÎµÏÎµ  
+MIMP.Ignore_Tooltip:ÎÎ³ÎœÏÎ·ÏÎµ Î±Ï
+ÏÏ ÏÎ¿ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ¿  
+MIMP.Instructions:Î ÏÏÎ¿Ï {0} ÎŽÎµ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± ÎµÎ¹ÏÎ±ÏÎžÎµÎ¯ ÏÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®. ÎÏÎ¹Î»Î­ÎŸÏÎµ Î­ÎœÎ± ÏÏÎœÎ¿Î»Î¿ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ ÎºÎ±Î¹ ÎµÎ¯ÏÎµ:\n(1) ÏÎ±ÏÎ®ÏÏÎµ 'Î ÏÎ¿ÏÎžÎ®ÎºÎ·' Î³Î¹Î± ÎœÎ± ÏÏÎ¿ÏÎžÎ­ÏÎµÏÎµ ÏÎ¿ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ¿ ÏÎµ Î±Ï
+ÏÏ ÏÎ¿ ÏÏÎœÎ¿Î»Î¿ (ÎŒÏÎœÎ¿ Î±Îœ ÎŽÎµÎœ Ï
+ÏÎ¬ÏÏÎµÎ¹ Î®ÎŽÎ· {0} ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ¿ ÏÏÎ¿ ÏÏÎœÎ¿Î»Î¿), Î®\n(2) ÎŽÎ¹Î±Î»Î­ÏÏÎµ Î­ÎœÎ±Îœ ÏÏÎ¿ ÎºÎ±Î¹ ÏÎ±ÏÎ®ÏÏÎµ 'Î£Ï
+Î³ÏÏÎœÎµÏ
+ÏÎ·' Î³Î¹Î± ÎœÎ± ÎµÎ¹ÏÎ¬Î³ÎµÏÎµ ÏÎ¿ {0} ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ¿ ÏÎµ Î±Ï
+ÏÏ ÏÎ¿Îœ ÏÏÎ¿, Î®\n(3) Î±Î³ÎœÎ¿ÎµÎ¯ÏÏÎµ Î±Ï
+ÏÏ ÏÎ¿Îœ ÏÏÎ¿.  
+MIMP.Merge:Î£Ï
+Î³ÏÏÎœÎµÏ
+ÏÎ·  
+MIMP.Merge_Tooltip:ÎÎœÏÎ¹ÏÏÎ¿Î¹ÏÎµÎ¯ ÏÎ¿Îœ ÏÏÎ¿ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ ÏÏÎ¿Îœ ÎºÎ±ÎžÎ¿ÏÎ¹ÏÎŒÎ­ÎœÎ¿ ÏÎ¿Ï
+ ÏÏ
+ÎœÏÎ»Î¿Ï
+.  
+MIMP.Source_Element:ÎÏÏÎ¹ÎºÏÏ ÎÏÎ¿Ï ÎÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ¿Ï
+:  
+MIMP.Target_Element:ÎÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ¿ ÏÏÏÏÎ¿Ï:  
+MIMP.Target_Set:Î£ÏÎœÎ¿Î»Î¿ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ ÏÏÏÏÎ¿Ï:  
+MIMP.Title:ÎÏÎ±Î¹ÏÎµÎ¯ÏÎ±Î¹ ÎµÎœÎ­ÏÎ³ÎµÎ¹Î± ÏÏ
+Î³ÏÏÎœÎµÏ
+ÏÎ·Ï.  
+#*****************************
+#
+#***** Mirroring *****
+Mirroring.ClearCache:ÎÎ±ÎžÎ±ÏÎ¹ÏÎŒÏÏ ÎŒÎœÎ®ÎŒÎ·Ï  
+Mirroring.ClearCache_Tooltip:ÎÎ¹Î±Î³ÏÎ±ÏÎ® ÏÎ»ÏÎœ ÏÏÎœ ÎºÎ±ÏÎµÎ²Î±ÏÎŒÎ­ÎœÏÎœ Î±ÏÏÎµÎ¯ÏÎœ  
+Mirroring.Download:ÎÎ±ÏÎ­Î²Î±ÏÎŒÎ±  
+Mirroring.Download_Tooltip:ÎÎµÎºÎ¹ÎœÎ¬ ÎŒÎ¹Î± ÎœÎ­Î± ÎŽÎ¹ÎµÏÎ³Î±ÏÎ¯Î± ÎºÎ±ÏÎµÎ²Î¬ÏÎŒÎ±ÏÎ¿Ï  
+Mirroring.Download_Controls:Î¡Ï
+ÎžÎŒÎ¯ÏÎµÎ¹Ï ÎÎ±ÏÎµÎ²Î¬ÏÎŒÎ±ÏÎ¿Ï  
+Mirroring.Download_Depth:ÎÎ¬ÎžÎ¿Ï ÎÎ±ÏÎµÎ²Î¬ÏÎŒÎ±ÏÎ¿Ï:  
+Mirroring.Download_Depth.Zero:ÎÎ·ÎŽÎ­Îœ  
+Mirroring.Download_Depth.Unlimited:ÎÏÎµÏÎ¹ÏÏÎ¹ÏÏÎ¿  
+Mirroring.Download_Depth_Tooltip:ÎÎ±ÎžÎ¿ÏÎ¯Î¶ÎµÎ¹ ÏÎµ ÏÏÏÎ¿ Î²Î¬ÎžÎ¿Ï Ï
+ÏÎµÏÏÏ
+ÎœÎŽÎ­ÏÎŒÏÎœ ÎžÎ± ÏÏÎ¬ÏÎ¿Ï
+ÎŒÎµ  
+
+Mirroring.DownloadJob.Close:ÎÎ»ÎµÎ¯ÏÎ¹ÎŒÎ¿  
+Mirroring.DownloadJob.Close_Tooltip:ÎÏÎ±Î¯ÏÎµÏÎµ Î±Ï
+ÏÎ® ÏÎ· ÎŽÎ¹ÎµÏÎ³ÏÎ¯Î± Î±ÏÏ ÏÎ· Î»Î¯ÏÏÎ± ÏÏÎ±ÎŒÎ±ÏÏÎœÏÎ±Ï ÏÎ·Îœ Î±Îœ Î®ÎŽÎ· ÏÏÎ­ÏÎµÎ¹  
+Mirroring.DownloadJob.Downloading:ÎºÎ±ÏÎ­Î²Î¬Î¶Î¿ÎœÏÎ±Ï ÏÎ¿ {0}  
+Mirroring.DownloadJob.Download_Complete:Î€Î¿ ÎÎ±ÏÎ­Î²Î±ÏÎŒÎ± Î¿Î»Î¿ÎºÎ»Î·ÏÏÎžÎ·ÎºÎµ  
+Mirroring.DownloadJob.Download_Stopped:Î€Î¿ ÎºÎ±ÏÎ­Î²Î±ÏÎŒÎ± ÏÏÎ±ÎŒÎ¬ÏÎ·ÏÎµ  
+Mirroring.DownloadJob.Download_Progress:Î€Î¿ ÎºÎ±ÏÎ­Î²Î±ÏÎŒÎ± Î²ÏÎ¯ÏÎºÎµÏÎ±Î¹ ÏÎµ ÎµÎŸÎ­Î»Î¹ÎŸÎ·  
+Mirroring.DownloadJob.Log:ÎŽÎµÎ¯ÏÎµ ÏÎ¿ Log  
+Mirroring.DownloadJob.Log_Tooltip:ÎÎµÎ¯ÏÎµ Î»ÎµÏÏÎ¿ÎŒÎ­ÏÎµÎ¹ÎµÏ ÏÏÎµÏÎ¹ÎºÎ¬ ÎŒÎµ Î±Ï
+ÏÏ ÏÎ¿ ÎºÎ±ÏÎ­Î²Î±ÏÎŒÎ±  
+Mirroring.DownloadJob.Pause:Î Î±ÏÏÎ·  
+Mirroring.DownloadJob.Pause_Tooltip:Î Î±ÏÏÎµ Î±Ï
+ÏÏ ÏÎ¿ ÎºÎ±ÏÎ­Î²Î±ÏÎŒÎ±  
+Mirroring.DownloadJob.Resume:ÎÏÎ±ÎœÎ­ÎœÎ±ÏÎŸÎ·  
+Mirroring.DownloadJob.Resume_Tooltip:ÎÏÎ±ÎœÎ­ÏÎŸÎ· ÏÎ¿Ï
+ ÎºÎ±ÏÎµÎ²Î¬ÏÎŒÎ±ÏÎ¿Ï  
+Mirroring.DownloadJob.Status:ÎÎ±ÏÎ­Î²Î·ÎºÎ±Îœ {0} Î±ÏÏ {1} Î±ÏÏÎµÎ¯Î± ({2} ÏÏÎ¿ÎµÎ¹ÎŽÎ¿ÏÎ¿Î¹Î®ÏÎµÎ¹Ï, {3} Î»Î¬ÎžÎ·)  
+Mirroring.DownloadJob.Waiting:Î ÎµÏÎ¹ÎŒÎ­ÎœÎµÏÎµ Î³Î¹Î± ÎœÎ± ÎŸÎµÎºÎ¹ÎœÎ®ÏÎµÎ¹  
+Mirroring.DownloadJob.Waiting_User:Î ÎµÏÎ¹ÎŒÎ­ÎœÎ¿ÎœÏÎ±Ï ÎµÎœÎ­ÏÎ³ÎµÎ¹Î± ÏÏÎ®ÏÏÎ·  
+Mirroring.Higher_Directories:ÎÎ±ÏÎ­Î²Î±ÏÎŒÎ± Î±ÏÏÎµÎ¯ÏÎœ ÎŒÏÎœÎ¿ ÎºÎ¬ÏÏ Î±ÏÏ Î±Ï
+ÏÏ ÏÎ¿ URL.  
+Mirroring.Invalid_URL:Î€Î¿ URL ÎŽÎµÎœ ÎµÎ¯ÎœÎ±Î¹ Î­Î³ÎºÏ
+ÏÎ¿. Î Î±ÏÎ±ÎºÎ±Î»Ï ÎŽÎ¹Î¿ÏÎžÏÏÏÎµ.  
+Mirroring.Invalid_URL_Title:ÎÎ· Î­Î³ÎºÏ
+ÏÎ¿ URL  
+Mirroring.Preferences:ÎÏÎ¹Î»Î¿Î³Î­Ï...  
+Mirroring.Preferences_Tooltip:ÎÎœÎµÏÎ³Î¿ÏÎ¿Î¹ÎµÎ¯ÏÏÎµ ÏÎ¿Îœ proxy ÎºÎ±Î¹/Î® ÎµÏÎµÎŸÎµÏÎ³Î±ÏÏÎµÎ¯ÏÎµ ÏÎ¹Ï ÏÏ
+ÎžÎŒÎ¯ÏÎµÎ¹Ï ÏÎ¿Ï
+  
+Mirroring.Same_Host:ÎºÎ±ÏÎ­Î²Î±ÏÎŒÎ± Î±ÏÏÎµÎ¯ÏÎœ ÎŒÏÎœÎ¿ Î±ÏÏ ÏÎ¿ Î¯ÎŽÎ¹Î¿ site  
+Mirroring.Source_URL:URL ÏÎ·Î³Î®Ï:  
+Mirroring.Source_URL_Tooltip:URL Î³Î¹Î± ÎºÎ±ÏÎ­Î²Î±ÏÎŒÎ±  
+#*********************
+#
+#***** Missing EXEC *****
+MissingEXEC.Message:Î ÏÎ¿ÎµÎ¹ÎŽÎ¿ÏÎ¿Î¯Î·ÏÎ·! ÎÎµ ÎžÎ± ÎŒÏÎ¿ÏÎµÎ¯ÏÎµ ÎœÎ± ÎŽÎµÎ¯ÏÎµ ÏÎ¹Ï ÏÏ
+Î»Î»Î¿Î³Î­Ï ÏÎ±Ï ÏÏÎ¿ ÏÎµÏÎ¹Î²Î¬Î»Î»Î¿Îœ Î±Ï
+ÏÏ Î±Îœ ÎŽÎµÎœ ÎºÎ±ÎžÎ¿ÏÎ¯ÏÎµÏÎµ ÏÎ¿ ÎŒÎ¿ÎœÎ¿ÏÎ¬ÏÎ¹ Î³Î¹Î± ÏÎ¿Îœ ÎµÎŸÏ
+ÏÎ·ÏÎµÏÎ·ÏÎ® ÏÏÎœ ÏÏ
+Î»Î»Î¿Î³ÏÎœ ÏÎ¿Ï
+ Greenstone. ÎÏÎ¿ÏÎµÎ¯ÏÎµ ÎœÎ± ÏÎ¿ ÎºÎ¬ÎœÎµÏÎµ ÎºÎ±Î¹ Î±ÏÎ³ÏÏÎµÏÎ± Î±ÏÏ ÏÎ·Îœ ÎºÎ±ÏÏÎ­Î»Î± ÏÏÎœ ÎµÏÎ¹Î»Î¿Î³ÏÎœ. ÎÎœÎ± Î­Î³ÎºÏ
+ÏÎ¿ URL ÏÏÎ­ÏÎµÎ¹ ÎœÎ± ÎŸÎµÎ¹ÎœÎ¬ÎµÎ¹ ÎŒÎµ "http://", ÎºÎ±Î¹ ÎœÎ± ÏÎµÎ»ÎµÎ¹ÏÎœÎµÎ¹ ÎŒÎµ "gsdl" Î³Î¹Î± ÏÎ¿ Greenstone local library server Î® "library" Î³Î¹Î± Î¬Î»Î»Î¿Ï
+Ï web servers).  
+MissingEXEC.Title:ÎÎ»ÎµÎ¹ÏÎ®Ï ÎÎ¹ÎµÏÎžÏ
+ÎœÏÎ· ÎÎ¹Î²Î»Î¹Î¿ÎžÎ®ÎºÎ·Ï  
+#***** Missing EXEC_GS3 *****
+MissingEXEC_GS3.Message:Î ÏÎ¿ÎµÎ¹ÎŽÎ¿ÏÎ¿Î¯Î·ÏÎ·! ÎÎµ ÎžÎ± ÎµÎ¯ÏÏÎµ Î¹ÎºÎ±ÎœÎ¿Î¯ ÎœÎ± ÎŽÎµÎ¯ÏÎµ ÏÎ¹Ï ÎœÎ­ÎµÏ ÏÎ±Ï ÏÏ
+Î»Î»Î¿Î³Î­Ï ÎµÎ¬Îœ ÎŽÎµÎœ ÎºÎ±ÎžÎ¿ÏÎ¯ÏÎµÏÎµ ÏÎ¿ ÎŒÎ¿ÎœÎ¿ÏÎ¬ÏÎ¹ Î³Î¹Î± ÏÎ¿Îœ ÎµÎŸÏ
+ÏÎ·ÏÎµÏÎ·ÏÎ® ÎÏÎ¿ÏÎµÎ¯ÏÎµ ÎœÎ± ÏÎ¿ ÎµÎ¹ÏÎ¬Î³ÎµÏÎµ ÏÏÏÎ± Î® Î±ÏÎ³ÏÏÎµÏÎ± Î±ÏÏ ÏÎ·Îœ ÎºÎ±ÏÏÎ­Î»Î± ÏÏÎœ ÎµÏÎ¹Î»Î¿Î³ÏÎœ. Î€Î¿ ÎŒÎ¿ÎœÎ¿ÏÎ¬ÏÎ¹ ÎžÎ± ÎŒÎ¿Î¹Î¬Î¶ÎµÎ¹ ÎŒÎµ (http://localhost:8080/gsdl3).  
+MissingEXEC_GS3.Title:ÎÎ»ÎµÎ¹ÏÎ®Ï ÎÎ¹ÎµÏÎžÏ
+ÎœÏÎ· ÎÎ¹Î²Î»Î¹Î¿ÎžÎ®ÎºÎ·Ï ÏÎ¿Ï
+ GS3.  
+#***** Missing GLIServer *****
+MissingGLIServer.Message:Î ÏÎ¿ÎµÎ¹ÎŽÎ¿ÏÎ¿Î¯Î·ÏÎ·! ÎÎµ ÎžÎ± ÎŒÏÎ¿ÏÎµÎ¯ÏÎµ ÎœÎ± ÎŽÎ¿Ï
+Î»Î­ÏÎµÏÎµ ÎŒÎµ ÏÎ¹Ï ÏÏ
+Î»Î»Î¿Î³Î­Ï ÏÎ¿Ï
+ Greenstone Î±Îœ ÎŽÎµÎœ Î¿ÏÎ¯ÏÎµÏÎµ ÏÎ· ÎŽÎ¹ÎµÏÎžÏ
+ÎœÏÎ· ÏÎ¿Ï
+ remote Greenstone "gliserver" script. Î ÏÎ­ÏÎµÎ¹ ÎœÎ± ÎŸÎµÎºÎ¹ÎœÎ¬ÎŒÎµ "http://" ÎºÎ±Î¹ ÎœÎ± ÏÎµÎ»ÎµÎ¯ÏÎœÎµÎ¹ ÎŒÎµ "gliserver".  
+MissingGLIServer.Title:Î ÏÎ­ÏÎµÎ¹ ÎœÎ± ÏÏ
+ÎŒÏÎ»Î·ÏÏÎžÎµÎ¯ Î· ÎŽÎ¹ÎµÏÎžÏ
+ÎœÏÎ· ÏÎ¿Ï
+ GLIServer  
+#***** Missing GSDL *****
+MissingGSDL.Message:ÏÏÎ¿ÎµÎ¹ÎŽÎ¿ÏÎ¿Î¯Î·ÏÎ·! Î ÎµÎ³ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÎµÎ¯ÎœÎ±Î¹ ÎµÎ»ÎµÎ¹ÏÎ®Ï ÎºÎ±Î¹ ÎŽÎµ ÎžÎ± ÎŒÏÎ¿ÏÎµÎ¯ÏÎµ ÎœÎ± ÏÏÎ¿ÏÏÎµÎ»Î¬ÏÎµÏÎµ ÏÎ»Î± ÏÎ± ÏÎ±ÏÎ±ÎºÏÎ·ÏÎ¹ÏÏÎ¹ÎºÎ¬ ÏÎ¿Ï
+ ÎµÏÎ³Î±Î»ÎµÎ¯Î¿Ï
+. ÎÎ»Î­ÎŸÏÎµ ÏÎ± ÎŒÎ¿ÎœÎ¿ÏÎ¬ÏÎ¹Î± ÏÏÎ¿ .bat Î±ÏÏÎµÎ¯Î¿!  
+MissingGSDL.Title:ÎÎ»ÎµÎ¹ÏÎ­Ï ÎŒÎ¿ÎœÎ¿ÏÎ¬ÏÎ¹  
+#***** Missing PERL *****
+MissingPERL.Message:Î ÏÎ¿ÎµÎ¹ÎŽÎ¿ÏÎ¿Î¯Î·ÏÎ·! ÎÎµ ÎžÎ± ÎŒÏÎ¿ÏÎµÎ¯ÏÎµ ÎœÎ± ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î®ÏÎµÏÎµ ÎœÎ­ÎµÏ ÏÏ
+Î»Î»Î¿Î³Î­Ï Î® ÎœÎ± ÏÏÎ¯ÏÎµÏÎµ ÏÎ¹Ï Ï
+ÏÎ¬ÏÏÎ¿Ï
+ÏÎµÏ ÏÏÏÎ¯Ï ÏÎ·Îœ PERL. Î€Î¿ ÎµÏÎ³Î±Î»ÎµÎ¯Î¿ ÎŽÎµ ÎŒÏÏÏÎµÏÎµ ÎœÎ± Î²ÏÎµÎ¹ ÏÎ·Îœ ÎµÎ³ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ® ÏÎ·Ï ÏÏÎ¿ ÏÏÏÏÎ·ÎŒÎ±.ÎÎ»Î­ÎŸÏÎµ ÏÎ± ÎŒÎ¿ÎœÎ¿ÏÎ¬ÏÎ¹Î± ÏÎ¿Ï
+ ÎºÎ±ÎžÎ¿ÏÎ¯Î¶Î¿ÎœÏÎ±Î¹ ÏÏÎ¿ .bat Î±ÏÏÎµÎ¯Î¿.  
+MissingPERL.Title:ÎÎ»ÎµÎ¹ÏÎ­Ï ÎŒÎ¿ÎœÎ¿ÏÎ¬ÏÎ¹ Î³Î¹Î± ÏÎ·Îœ PERL  
+#******* MissingWGET ********
+MissingWGET.Message:Î ÏÎ¿ÎµÎ¹ÎŽÎ¿ÏÎ¿Î¯Î·ÏÎ·! ÎÎµ ÎžÎ± ÎŒÏÎ¿ÏÎµÎ¯ÏÎµ ÎœÎ± ÎºÎ±ÏÎµÎ²Î¬ÏÎµÏÎµ ÎœÎ­ÎµÏ ÏÏ
+Î»Î»Î¿Î³Î­Ï ÏÏÏÎ¯Ï ÏÎ¿ WGET. Î€Î¿ ÎµÏÎ³Î±Î»ÎµÎ¯Î¿ ÎŽÎµ ÎŒÏÏÏÎµÏÎµ ÎœÎ± Î²ÏÎµÎ¹ ÏÎ·Îœ ÎµÎ³ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ® ÏÎ¿Ï
+ ÏÏÎ¿ ÏÏÏÏÎ·ÎŒÎ±.ÎÎ»Î­ÎŸÏÎµ ÏÎ± ÎŒÎ¿ÎœÎ¿ÏÎ¬ÏÎ¹Î± ÏÎ¿Ï
+ ÎºÎ±ÎžÎ¿ÏÎ¯Î¶Î¿ÎœÏÎ±Î¹ ÏÏÎ¿ .bat Î±ÏÏÎµÎ¯Î¿.  
+MissingWGET.Title:ÎÎ»ÎµÎ¹ÏÎ­Ï ÎŒÎ¿ÎœÎ¿ÏÎ¬ÏÎ¹ Î³Î¹Î± ÏÎ¿ WGet  
+#******* MissingImageMagick ********
+MissingImageMagick.Message:Î€Î¿ ImageMagick ÎŽÎµÎœ ÎµÎ¯ÎœÎ±Î¹ ÎµÎ³ÎºÎ±ÏÎµÏÏÎ·ÎŒÎ­ÎœÎ¿, Î¿Î¹ ÏÏ
+Î»Î»Î¿Î³Î­Ï ÏÏÏÎ¿Î³ÏÎ±ÏÎ¹ÏÎœ ÎŽÎµ ÎžÎ± Î»ÎµÎ¹ÏÎ¿Ï
+ÏÎ³Î®ÏÎ¿Ï
+Îœ
+MissingImageMagick.Title:Î€Î¿ ImageMagick ÎŽÎµÎœ ÎµÎ¯ÎœÎ±Î¹ ÎµÎ³ÎºÎ±ÏÎµÏÏÎ·ÎŒÎ­ÎœÎ¿
+#*****************************
+#
+#***** New Session *****
+NewCollectionPrompt.Base_Collection:ÎÎ·ÎŒÎ¹Î¿ÏÏÎ³Î·ÏÎµ Î±Ï
+ÏÎ® ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î® ÎŒÎµ Î²Î¬ÏÎ·:  
+NewCollectionPrompt.Base_Collection_Tooltip:ÎÏÎ¹Î»Î­ÎŸÏÎµ ÎŒÎ¹Î± Ï
+ÏÎ¬ÏÏÎ¿Ï
+ÏÎ± ÏÏ
+Î»Î»Î¿Î³Î® Î³Î¹Î± ÎœÎ± Î²Î±ÏÎ¹ÏÏÎµÎ¯ Î· ÎœÎ­Î±:  
+NewCollectionPrompt.Collection_Description:Î ÎµÏÎ¹Î³ÏÎ±ÏÎ® Î ÎµÏÎ¹ÎµÏÎ¿ÎŒÎ­ÎœÎ¿Ï
+:  
+#NewCollectionPrompt.Collection_Email:Email ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¿Ï:  
+NewCollectionPrompt.Collection_Name:ÎŠÎ¬ÎºÎµÎ»Î¿Ï Î£Ï
+Î»Î»Î¿Î³Î®Ï:  
+#NewCollectionPrompt.Collection_Name_Tooltip:ÎÎ­ÏÏÎ¹ Î¿ÎºÏÏ ÏÎ±ÏÎ±ÎºÏÎ®ÏÎµÏ (ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÎµÎ¯ÏÎ±Î¹ ÎµÏÏÏÎµÏÎ¹ÎºÎ¬)  
+NewCollectionPrompt.Error:Î£ÏÎ¬Î»ÎŒÎ± ÏÏÎ· ÎœÎ­Î± ÏÏ
+Î»Î»Î¿Î³Î®.  
+NewCollectionPrompt.Instructions:ÎÎ¹Î± ÎœÎ± ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î®ÏÎµÏÎµ ÎŒÎ¹Î± ÎœÎ­Î± ÏÏ
+Î»Î»Î¿Î³Î® ÏÏ
+ÎŒÏÎ»Î·ÏÏÏÏÎµ ÏÎ± ÏÎ±ÏÎ±ÎºÎ¬ÏÏ ÏÎµÎŽÎ¯Î±.  
+NewCollectionPrompt.Metadata_Elements:ÎÏÎ¿Î¹ ÎŒÎ­ÏÎ± ÏÏÎ¿ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿ ÏÏÎœÎ¿Î»Î¿:  
+NewCollectionPrompt.Metadata_Instructions1:ÎÏÎ¹Î»Î­ÎŸÏÎµ ÏÎ¿ ÎºÎ¿Ï
+ÏÎ¬ÎºÎ¹ ÎŽÎ¯ÏÎ»Î± Î±ÏÏ ÎºÎ¬ÏÎ¿Î¹Î¿ ÏÏÎœÎ¿Î»Î¿ Î³Î¹Î± ÎœÎ± ÏÎµÏÎ¹Î»Î¬Î²ÎµÏÎµ ÏÎ¿ Î±ÎœÏÎ¯ÏÏÎ¿Î¹ÏÎ¿.  
+NewCollectionPrompt.Metadata_Instructions2:(ÎÏÎ¿ÏÎµÎ¯ÏÎµ ÎœÎ± ÏÏÎ¿ÏÎžÎ­ÏÎµÏÎµ ÎµÏÎ¹ÏÎ»Î­Î¿Îœ ÏÏÎœÎ¿Î»Î± Î±ÏÎ³ÏÏÎµÏÎ±).  
+NewCollectionPrompt.Metadata_Title_Existing:ÎÏÎ¹Î»Î­ÎŸÏÎµ ÏÏÎœÎ¿Î»Î± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ.  
+#NewCollectionPrompt.Name_Error:ÎÎµÎœ Î­ÏÎµÏÎµ ÎµÎ¹ÏÎ¬Î³ÎµÎ¹ ÏÎœÎ¿ÎŒÎ± Î³Î¹Î± ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î® Î® ÏÎ¿ ÏÎœÎ¿ÎŒÎ± ÏÎ¿Ï
+ ÎµÏÎ¹Î»Î­ÎŸÎ±ÏÎµ ÎµÎ¯ÎœÎ±Î¹ Î®ÎŽÎ· ÏÎµ ÏÏÎ®ÏÎ·.  
+NewCollectionPrompt.NewCollection:-- ÎÎ­Î± Î£Ï
+Î»Î»Î¿Î³Î® --  
+NewCollectionPrompt.Select_MDS:ÎÎ¹Î±ÎžÎ­ÏÎ¹ÎŒÎ± Î£ÏÎœÎ¿Î»Î± ÎÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ:  
+NewCollectionPrompt.Title:ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î®ÏÏÎµ ÎŒÎ¹Î± ÎœÎ­Î± ÏÏ
+Î»Î»Î¿Î³Î®.  
+NewCollectionPrompt.Title_Clash:Î ÏÎ¯ÏÎ»Î¿Ï ÏÎ¿Ï
+ Î­ÏÎµÏÎµ ÎµÏÎ¹Î»Î­ÎŸÎµÎ¹ Î³Î¹Î± ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î® ÏÎ±Ï ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÎµÎ¯ÏÎ±Î¹ Î±ÏÏ Î¬Î»Î»Î·. ÎÎ± ÏÏ
+ÎœÎµÏÎ¯ÏÏ?  
+NewCollectionPrompt.Title_Error:Î ÏÎ¯ÏÎ»Î¿Ï ÏÏÎ­ÏÎµÎ¹ ÎœÎ± ÏÏ
+ÎŒÏÎ»Î·ÏÏÎžÎµÎ¯. Î Î±ÏÎ±ÎºÎ±Î»Ï ÎŽÎ¹Î¿ÏÎžÏÏÏÎµ.  
+#***** New Folder OrFilePrompt *****
+NewFolderOrFilePrompt.Default_File_Name:dummy  
+NewFolderOrFilePrompt.Default_Folder_Name:ÎœÎ­Î¿Ï ÏÎ¬ÎºÎµÎ»Î¿Ï  
+NewFolderOrFilePrompt.Destination_Name:ÎŠÎ¬ÎºÎµÎ»Î¿Ï Î ÏÎ¿Î¿ÏÎ¹ÏÎŒÎ¿Ï  
+NewFolderOrFilePrompt.File_Name:ÎÎœÎ¿ÎŒÎ± Î±ÏÏÎµÎ¯Î¿Ï
+  
+NewFolderOrFilePrompt.File_Name_Tooltip:ÎÎ¹ÏÎ¬Î³ÎµÏÎµ Î­ÎœÎ± ÏÎœÎ¿ÎŒÎ± Î³Î¹Î± ÏÎ¿ ÎœÎ­Î¿ Î±ÏÏÎµÎ¯Î¿  
+NewFolderOrFilePrompt.Folder_Name:ÎÎœÎ¿ÎŒÎ± ÏÎ±ÎºÎ­Î»Î¿Ï
+  
+NewFolderOrFilePrompt.Folder_Name_Tooltip:ÎÎ¹ÏÎ¬Î³ÎµÏÎ±Î¹ Î­ÎœÎ± ÏÎœÎ¿ÎŒÎ± Î³Î¹Î± ÏÎ¿ ÎœÎ­Î¿ ÏÎ¬ÎºÎµÎ»Î¿  
+NewFolderOrFilePrompt.Title_Folder:ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î®ÏÏÎµ Î­ÎœÎ± ÎœÎ­Î¿ ÏÎ¬ÎºÎµÎ»Î¿  
+NewFolderOrFilePrompt.Title_File:ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î®ÏÏÎµ Î­ÎœÎ± ÎœÎ­Î¿ dummy Î­Î³Î³ÏÎ±ÏÎ¿  
+#***********************
+#
+NoMetadataSetsSelected.Message:ÎÎœ ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î®ÏÎµÏÎµ ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î® ÏÏÏÎ± ÎŽÎµ ÎžÎ± Î­ÏÎµÎ¹ Î±ÏÏÎ¹ÎºÎ¬ ÏÏÎœÎ¿Î»Î± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ. ÎÎµ ÎžÎ± ÎŒÏÎ¿ÏÎµÎ¯ÏÎµ ÎœÎ± ÎºÎ±ÏÎ±ÏÏÏÎ®ÏÎµÏÎµ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ± ÎŒÎ­ÏÏÎ¹ ÎœÎ± ÎµÎ¹ÏÎ¬Î³ÎµÏÎµ Î­ÎœÎ± ÏÏÎœÎ¿Î»Î¿ ÏÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®. ÎÏÎ¹ÎžÏ
+ÎŒÎµÎ¯ÏÎµ ÎœÎ± ÏÏ
+ÎœÎµÏÎ¯ÏÎµÏÎµ?  
+NoMetadataSetsSelected.Title:ÎÎµÎœ Î­ÏÎ¿Ï
+Îœ ÎµÏÎ¹Î»ÎµÎ³ÎµÎ¯ ÏÏÎœÎ¿Î»Î± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ  
+#**********************
+#
+#******* OldWGET *******
+NoPluginExpectedToProcessFile.Message:ÎÎµÎœÎ­ÎœÎ± Î±ÏÏ ÏÎ± plugins ÏÎ¿Ï
+ Greenstone ÎŽÎµ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± ÎµÏÎµÎŸÎµÏÎ³Î±ÏÏÎµÎ¯ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ "{0}". ÎÎ»Î­ÎŸÏÎµ ÏÏÎ¹ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ Î­ÏÎµÎ¹ ÏÎ· ÏÏÏÏÎ® ÎºÎ±ÏÎ¬Î»Î·ÎŸÎ·. ÎÎœ Î­ÏÎµÎ¹ ÏÎœÏÏÏ ÏÏÏÏÎ® ÏÏÏÎµ ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹Î®ÏÏÎµ ÏÎ¿ UnknownPlug.  
+NoPluginExpectedToProcessFile.Title:ÎÎµ Î²ÏÎ­ÎžÎ·ÎºÎµ plugin Î³Î¹Î± ÎœÎ± ÎµÏÎµÎŸÎµÏÎ³Î±ÏÏÎµÎ¯ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿  
+#**********************
+#
+#******* OldWGET *******
+OldWGET.Message:Î ÏÎ¿ÎµÎ¹ÎŽÎ¿ÏÎ¿Î¯Î·ÏÎ·! Î Î­ÎºÎŽÎ¿ÏÎ· ÏÎ¿Ï
+ WGet ÏÎ¿Ï
+ Î­ÏÎµÏ ÎµÎ³ÎºÎ±ÏÎµÏÏÎ·ÎŒÎ­Î· Î­ÏÎµÎ¹ Î­ÎœÎ± Î³ÎœÏÏÏÏ ÏÏÏÎ²Î»Î·ÎŒÎ± ÏÏÎ±Îœ mirror ÏÎ¿Ï
+ ÏÎµÏÎ¹Î­ÏÎ¿Ï
+Îœ ÎºÏÎŽÎ¹ÎºÎ¿ÏÎ¿Î¹Î·ÎŒÎ­ÎœÎ¿Ï
+Ï ÏÎ±ÏÎ±ÎºÏÎ®ÏÎµÏ ÏÏÏÏ space ÎºÎ±Î¹ tilde ÏÏÎ¿ URL. ÎÎ³ÎºÎ±ÏÎ±ÏÏÎ®ÏÏÎµ WGet 1.9.  
+OldWGET.Title:Î Î±Î»Î¹Ï WGet  
+#***********************
+#
+#***** OpenCollectionDialog *****
+OpenCollectionDialog.Available_Collections:ÎÎ¹Î±ÎžÎ­ÏÎ¹ÎŒÎµÏ ÏÏ
+Î»Î»Î¿Î³Î­Ï  
+OpenCollectionDialog.Browse:Î Î»Î¿Î®Î³Î·ÏÎ·  
+OpenCollectionDialog.Browse_Tooltip:ÎÏÎ¹Î»Î­ÎŸÏÎµ ÎŒÎ¹Î± ÏÏ
+Î»Î»Î¿Î³Î® Î±ÏÏ ÏÎ¿ ÏÏÏÏÎ·ÎŒÎ± Î±ÏÏÎµÎ¯ÏÎœ ÏÎ±Ï  
+OpenCollectionDialog.Collection:Î£Ï
+Î»Î»Î¿Î³Î® ÏÎ¿Ï
+ Greenstone (".col")  
+OpenCollectionDialog.Description:Î ÎµÏÎ¹Î³ÏÎ±ÏÎ® Î£Ï
+Î»Î»Î¿Î³Î®Ï  
+OpenCollectionDialog.Locked_Collection:Î ÏÏ
+Î»Î»Î¿Î³Î® Î®ÎŽÎ· ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÎµÎ¯ÏÎ±Î¹  
+OpenCollectionDialog.No_Description:ÎÏÎ¹Î»Î­ÎŸÏÎµ Î­ÎœÎ± ".col" Î±ÏÏÎµÎ¯Î¿ Î³Î¹Î± ÎœÎ± ÎŽÎµÎ¯ÏÎµ ÏÎ·Îœ ÏÎµÏÎ¹Î³ÏÎ±ÏÎ® ÏÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï.  
+OpenCollectionDialog.Normal_Collection:Î£Ï
+Î»Î»Î¿Î³Î® ÏÎ¿Ï
+ Greenstone  
+OpenCollectionDialog.Open:ÎÎœÎ¿Î¹Î³ÎŒÎ±  
+OpenCollectionDialog.Open_Tooltip:ÎŠÎ¿ÏÏÏÎœÎµÎ¹ ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î® ÏÎ¿Ï
+ ÎžÎ± ÎµÏÎ¹Î»ÎµÎ³ÎµÎ¯ ÏÏÎ¿ ÎµÏÎ³Î±Î»ÎµÎ¯Î¿  
+OpenCollectionDialog.Title:ÎÎœÎ¿Î¹Î³ÎŒÎ± Î£Ï
+Î»Î»Î¿Î³Î®Ï ÏÎ¿Ï
+ Greenstone  
+#**********************
+#
+#***** Options Pane inside CreatePane *****
+OptionsPane.Cancelled:- Î±ÎºÏ
+ÏÏÎžÎ·ÎºÎµ  
+OptionsPane.LogHistory:ÎÏÏÎ¿ÏÎ¹ÎºÏ ÎºÎ±ÏÎ±Î³ÏÎ±ÏÎ®Ï  
+OptionsPane.Successful:- ÎµÏÎ¹ÏÏ
+ÏÎ­Ï  
+OptionsPane.Unknown:- Î¬Î³ÎœÏÏÏÎ¿  
+OptionsPane.Unsuccessful:- Î±ÎœÎµÏÎ¹ÏÏ
+ÏÎ­Ï  
+#*******************
+#
+#***** Preferences *****
+Preferences:Preferences  
+Preferences.Connection:Î£ÏÎœÎŽÎµÏÎ·  
+Preferences.Connection_Tooltip:ÎÎ­ÏÏÎµ ÏÎ¿ URL ÏÏÎ· Î²Î¹Î²Î»Î¹Î¿ÎžÎ®ÎºÎ· ÎºÎ±Î¹ ÎŽÎ¹Î±ÎŒÎ¿ÏÏÏÏÏÎµ ÎŒÎ¹Î± proxy ÏÏÎœÎŽÎµÏÎ· (Î±Îœ Ï
+ÏÎ¬ÏÏÎµÎ¹)  
+Preferences.Connection.GLIServer_URL:Greenstone gliserver URL:  
+Preferences.Connection.GLIServer_URL_Tooltip:Î€Î¿ URL ÏÎ¿Ï
+ "gliserver" ÏÎ¿Ï
+ Greenstone CGI script  
+Preferences.Connection.Library_Path:ÎÎ¿ÎœÎ¿ÏÎ¬ÏÎ¹ Î²Î¹Î²Î»Î¹Î¿ÎžÎ®ÎºÎ·Ï:  
+Preferences.Connection.Library_Path_GS3:ÎÎ¿ÎœÎ¿ÏÎ¬ÏÎ¹ Web:  
+Preferences.Connection.Library_Path_Tooltip:Î€Î¿ URL ÏÎ¿Ï
+ web-server  
+Preferences.Connection.Library_Path_Tooltip_GS3:Î€Î¿ URL ÏÎ¿Ï
+ web-server  
+Preferences.Connection.ProgramCommand:Î ÏÎ¿ÎµÏÎ¹ÏÎºÏÏÎ·ÏÎ· ÎµÎœÏÎ¿Î»Î®Ï:  
+Preferences.Connection.ProgramCommand_Tooltip:Î ÎµÎœÏÎ¿Î»Î® ÏÎ¿Ï
+ ÎŸÎµÎºÎ¹ÎœÎ¬ ÏÎ¿ ÏÏÏÎ³ÏÎ±ÎŒÎŒÎ± Î³Î¹Î± ÏÎ·Îœ ÏÏÎ¿ÎµÏÎ¹ÏÎºÏÏÎ·ÏÎ· ÏÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï.  
+Preferences.Connection.Proxy_Host:Proxy Host:  
+Preferences.Connection.Proxy_Host_Tooltip:Î ÎŽÎ¹ÎµÏÎžÏ
+ÎœÏÎ· ÏÎ¿Ï
+ proxy server  
+Preferences.Connection.Proxy_Port:Proxy Port:  
+Preferences.Connection.Proxy_Port_Tooltip:Î€Î¿ port number ÏÎ¿Ï
+ proxy server  
+Preferences.Connection.Servlet:Servlet:  
+Preferences.Connection.Servlet_Tooltip:Î€Î¿ servlet ÏÎ¿Ï
+ ÎµÎŒÏÎ±ÎœÎ¯Î¶ÎµÎ¹ ÏÎ·Îœ Ï
+ÏÎµÏÏÏ
+Î»Î»Î¿Î³Î®  
+Preferences.Connection.Servlet_Tooltip2:ÎÎµÎœ Ï
+ÏÎ¬ÏÏÎµÎ¹ servlet Î³Î¹Î± Î±Ï
+ÏÎ® ÏÎ·Îœ Ï
+ÏÎµÏÏÏ
+Î»Î»Î¿Î³Î®  
+Preferences.Connection.Site:Site:  
+Preferences.Connection.Site_Tooltip:Î€Î¿ site ÏÏÎ¿ Î¿ÏÎ¿Î¯Î¿ ÎžÎ± ÎµÏÎ³Î±ÏÏÎµÎ¯ÏÎµ  
+Preferences.Connection.Use_Proxy:ÎÎ± ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹Î·ÎžÎµÎ¯ proxy ÏÏÎœÎŽÎµÏÎ·?  
+Preferences.General:ÎÎµÎœÎ¹ÎºÎ¬  
+Preferences.General_Tooltip:ÎÎ­ÏÎµÎ¹ ÎºÎ¬ÏÎ¿Î¹ÎµÏ Î³ÎµÎœÎ¹ÎºÎ­Ï ÎµÏÎ¹Î»Î¿Î³Î­Ï  
+Preferences.General.Email:Email Î§ÏÎ®ÏÏÎ·:  
+Preferences.General.Email_Tooltip:Î€Î¿ email ÏÎ¿Ï
+ ÎžÎ± ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÎµÎ¯ÏÎ±Î¹ Î±Ï
+ÏÏÎŒÎ±ÏÎ± Î³Î¹Î± ÎºÎ¬ÎžÎµ ÏÏ
+Î»Î»Î¿Î³Î®  
+Preferences.General.Font:Font:  
+Preferences.General.Font_Tooltip:Î€Î¿ font Î³Î¹Î± ÏÎ¿ interface.  
+Preferences.General.Interface_Language:ÎÎ»ÏÏÏÎ± ÎÎ¹ÎµÏÎ±ÏÎ®Ï:  
+Preferences.General.Interface_Language_Tooltip:ÎÏÎ¹Î»Î­ÎŸÏÎµ ÏÎ· Î³Î»ÏÏÏÎ± ÏÏÎ·Îœ Î¿ÏÎ¿Î¯Î± ÎžÎ­Î»ÎµÏÎµ ÎœÎ± ÎµÎŒÏÎ±ÎœÎ¯Î¶ÎµÏÎ±Î¹ ÏÎ¿ ÏÎµÏÎ¹Î²Î¬Î»Î»Î¿Îœ.  
+Preferences.General.Restart_Required:Î€Î¿ ÎµÏÎ³Î±Î»ÎµÎ¯Î¿ ÏÏÎ­ÏÎµÎ¹ ÎœÎ± ÎŸÎ±ÎœÎ±ÎŸÎµÎºÎ¹ÎœÎ®ÏÎµÎ¹ Î³Î¹Î± ÎœÎ± ÎŒÏÎ¿ÏÎ­ÏÎµÎ¹ ÎœÎ± ÎµÏÎ±ÏÎŒÏÏÎµÎ¹ ÏÎ¹Ï Î±Î»Î»Î±Î³Î­Ï. (ÎÎ»ÎµÎ¯ÏÏÎµ ÏÎ¿ ÎºÎ±Î¹ ÎŸÎµÎºÎ¹ÎœÎ®ÏÏÎµ ÏÎ¿ ÏÎ¬Î»Î¹)  
+Preferences.General.Show_File_Size:ÎÎµÎ¯ÎŸÎµ ÏÎ± ÎŒÎµÎ³Î­ÎžÎ· ÏÏÎœ Î±ÏÏÎµÎ¯ÏÎœ  
+Preferences.General.Show_File_Size_Tooltip:ÎÎµÎ¯ÏÎœÎµÎ¹ ÏÎ¿ ÎŒÎ­Î³ÎµÎžÎ¿Ï ÎºÎ¬ÎžÎµ Î±ÏÏÎµÎ¯Î¿Ï
+ ÎŽÎµÎŸÎ¹Î¬ Î±ÏÏ Î±Ï
+ÏÏ.  
+Preferences.General.View_Extracted_Metadata:Î ÏÏÎ²Î±Î»Îµ ÏÎ± ÎµÎŸÎ±Î³ÎŒÎ­ÎœÎ± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ±  
+Preferences.General.View_Extracted_Metadata_Tooltip:Î Î±ÏÎ¿Ï
+ÏÎ¹Î¬Î¶ÎµÎ¹ ÏÎ± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ± ÏÎ¿Ï
+ ÎµÎŸÎ¬Î³Î¿ÎœÏÎ±Î¹ Î±Ï
+ÏÏÎŒÎ±ÏÎ± Î±ÏÏ ÏÎ± plugins ÏÎ¿Ï
+ Greenstone ÏÏÎ· Î»Î¯ÏÏÎ± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ ÏÏÎ·Îœ ÎºÎ±ÏÏÎ­Î»Î± ÎµÎŒÏÎ»Î¿Ï
+ÏÎ¹ÏÎŒÏÏ.  
+Preferences.Mode:Mode  
+Preferences.Mode_Tooltip:ÎÏÎ¹Î»Î­ÎŸÏÎµ ÎŒÎ¹Î± ÏÎ¹ÎŒÎ® ÏÎ¿Ï
+ Î±ÎœÏÎ¹ÏÏÎ¿ÏÏÏÎµÏÎµÎ¹ ÏÎ¿ ÎºÎ±ÏÎ¬Î»Î»Î·Î»Î¿ ÎµÏÎ¯ÏÎµÎŽÎ¿ Î»ÎµÎ¹ÏÎ¿Ï
+ÏÎ³Î¯Î±Ï  
+Preferences.Mode.Assistant:ÎÎ¿Î·ÎžÏÏ ÎÎ¹Î²Î»Î¹Î¿ÎžÎ·ÎºÎ¿ÎœÏÎŒÎ¿Ï
+  
+Preferences.Mode.Assistant_Description:Î ÏÏÏÎ²Î±ÏÎ· ÎŒÏÎœÎ¿ ÏÏÎ¹Ï Î²Î±ÏÎ¹ÎºÎ­Ï Ï
+ÏÎ·ÏÎµÏÎ¯ÎµÏ ÏÎ¿Ï
+ Greenstone: ÏÏÎ¿ÏÎžÎ®ÎºÎ· ÎµÎ³Î³ÏÎ¬ÏÏÎœ ÎºÎ±Î¹ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ ÏÏÎ¹Ï ÏÏ
+Î»Î»Î¿Î³Î­Ï, ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î± ÎœÎ­ÏÎœ ÏÏ
+Î»Î»Î¿Î³ÏÎœ.  
+Preferences.Mode.Librarian:ÎÎ¹Î²Î»Î¹Î¿ÎžÎ·ÎºÎ¿ÎœÏÎŒÎ¿Ï  
+Preferences.Mode.Librarian_Description:ÎÎ±ÎœÎ¿ÎœÎ¹ÎºÏ ÎµÏÎ¯ÏÎµÎŽÎ¿ ÎŽÎ¹ÎºÎ±Î¹ÏÎŒÎ¬ÏÏÎœ: ÏÏÏÏ ÏÏÎ¿Î·Î³Î¿ÏÎŒÎµÎœÎ¿ + ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î± ÎºÎ±Î¹ ÏÏÎµÎŽÎ¯Î±ÏÎ· ÏÏ
+Î»Î»Î¿Î³ÏÎœ.  
+Preferences.Mode.Systems:ÎÎŸÎµÎ¹ÎŽÎ¹ÎºÎµÏ
+ÎŒÎ­ÎœÎ¿ Î ÏÎ¿ÏÏÏÎ¹ÎºÏ ÎÎ¹Î²Î»Î¹Î¿ÎžÎ®ÎºÎ·Ï  
+Preferences.Mode.Systems_Description:Î Î»Î®ÏÎ·Ï ÏÏÎ®ÏÎ· ÏÎ¿Ï
+ ÎµÏÎ³Î±Î»ÎµÎ¯Î¿Ï
+ ÎŒÎµ Î±ÎŸÎ¹Î¿ÏÎ¿Î¯Î·ÏÎ· ÎºÎ±ÎœÎ¿ÎœÎ¹ÎºÏÎœ ÎµÎºÏÏÎ¬ÏÎµÏÎœ.  
+Preferences.Mode.Expert:ÎÎ¹ÎŽÎ¹ÎºÎ¿Î¯  
+Preferences.Mode.Expert_Description:ÎÎ»Î± ÏÎ± ÏÎ±ÏÎ±ÎºÏÎ·ÏÎ¹ÏÏÎ¹ÎºÎ¬ ÎµÎ¯ÎœÎ±Î¹ ÎµÎœÎµÏÎ³Î¿ÏÎ¿Î¹ÎŒÎ­ÎœÎ± ÎºÎ±ÎžÏÏ ÎµÏÎ¯ÏÎ·Ï ÎºÎ±Î¹ ÏÎ± ÎŒÎ·ÎœÏÎŒÎ±ÏÎ± Î±ÏÏ ÏÎ¿Îœ ÏÎ·Î³Î±Î¯Î¿ ÎºÏÎŽÎ¹ÎºÎ±. ÎÏÎœÎ¿ Î­ÎŒÏÎµÎ¹ÏÎ¿Î¹ ÏÏÎ®ÏÏÎµÏ ÏÏÎ­ÏÎµÎ¹ ÎœÎ± ÏÎ¿ ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹Î¿ÏÎœ  
+Preferences.Warnings:Î ÏÎ¿ÎµÎ¹ÎŽÎ¿ÏÎ¿Î¹Î®ÏÎµÎ¹Ï  
+Preferences.Warnings_Tooltip:ÎÎœÎµÏÎ³Î¿ÏÎ¿Î¯Î·ÏÏÎµ/ÎÏÎµÎœÎµÏÎ³Î¿ÏÎ¿Î¹Î®ÏÏÎµ ÏÎ± ÎŽÎ¹Î¬ÏÎ¿ÏÎ± ÎŒÎ·ÎœÏÎŒÎ±ÏÎ± ÏÏÎ¿ÎµÎ¹ÎŽÎ¿ÏÎ¿Î¯Î·ÏÎ·Ï  
+Preferences.Workflow:Î¡Î¿Î® ÎÏÎ³Î±ÏÎ¹ÏÎœ  
+Preferences.Workflow_Tooltip:Î£ÏÎµÎŽÎ¹Î¬ÏÏÎµ ÏÎ¿ ÏÎµÏÎ¹Î²Î¬Î»Î»Î¿Îœ Î±ÏÎµÎœÎµÏÎ³ ÎŽÎ¹Î±ÏÎ¿ÏÎµÏ ÎºÎ±ÏÏÎ­Î»ÎµÏ  
+Preferences.Workflow.Create:ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î®ÏÏÎµ ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î® ÎŒÎµ ÏÎ¿ Greenstone  
+Preferences.Workflow.Design:Î£ÏÎµÎŽÎ¯Î±ÏÎ· - Î±Î»Î»Î±Î³Î® ÎµÎŒÏÎ¬ÎœÎ¹ÏÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï  
+Preferences.Workflow.Download:ÎÎ±ÏÎ­Î²Î±ÏÎŒÎ± - ÎºÎ±ÏÎ­Î²Î±ÏÎŒÎ± ÏÏÏÏÎœ Î±ÏÏ ÏÎ¿ web  
+Preferences.Workflow.Enrich:ÎÎŒÏÎ»Î¿Ï
+ÏÎ¹ÏÎŒÏÏ - ÏÏÎ¿Î»Î¹Î±ÏÎŒÏÏ ÎŒÎµ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÎ±  
+Preferences.Workflow.Gather:Î£Ï
+Î»Î»Î¿Î³Î® - ÎÏÎ¹Î»Î¿Î³Î® Î±ÏÏÎµÎ¯ÏÎœ Î³Î¹Î± ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®  
+Preferences.Workflow.Predefined.Label:Î ÏÎ¿ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎµÏ Î¡Î¿Î­Ï  
+Preferences.Workflow.Title:ÎÏÎ¹Î»Î­ÎŸÏÎµ ÎºÎ¿Ï
+ÏÎ¬ÎºÎ¹ Î³Î¹Î± ÎœÎ± ÎµÎœÎµÏÎ³Î¿ÏÎ¿Î¹Î®ÏÎµÏÎµ ÏÎ·Îœ ÏÏÎ¿Î²Î¿Î»Î®  
+#**********************
+#
+#**** PreviewCommandDialog *******
+PreviewCommandDialog.Instructions:ÎÎ¹ÏÎ¬Î³ÎµÏÎµ ÏÎ·Îœ ÎµÎœÏÎ¿Î»Î® Î³Î¹Î± Î±ÎœÎ¿Î¯ÎŸÎµÎ¹ ÏÎ¿ ÏÏÏÎ³ÏÎ±ÎŒÎŒÎ± ÏÏÎ¿ÎµÏÎ¹ÏÎºÏÏÎ·ÏÎ·Ï ÏÎ·Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï.  
+PreviewCommandDialog.Title:ÎÎœÏÎ¿Î»Î® Î ÏÎ¿ÎµÏÎ¹ÏÎºÏÏÎ·ÏÎ·Ï  
+#**********************
+#
+#***** Remote Greenstone Server *****
+RemoteGreenstoneServer.Authentication_Message:ÎÎ¹ÏÎ¬Î³ÎµÏÎµ ÏÎ¿ ÏÎœÎ¿ÎŒÎ± ÏÏÎ®ÏÏÎ· ÎºÎ±Î¹ ÏÎ¿Îœ ÎºÏÎŽÎ¹ÎºÏ ÏÎ±Ï:  
+RemoteGreenstoneServer.Error:ÎÎœÎ± ÏÏÎ¬Î»ÎŒÎ± ÏÏÎ¿Î­ÎºÏ
+ÏÎµ ÏÏÎ¿Îœ Î±ÏÎ¿ÎŒÎ±ÎºÏÏ
+ÏÎŒÎ­ÎœÎ¿ Greenstone ÎµÎŸÏ
+ÏÎ·ÏÎµÏÎ·ÏÎ® ÎµÎœÏ ÎµÎºÏÎµÎ»Î¿ÏÏÎµ ÏÎ· ÎŽÎ¹Î±ÎŽÎ¹ÎºÎ±ÏÎ¯Î±:\n{0-Error message}  
+RemoteGreenstoneServer.Error_Title:Î£ÏÎ¬Î»ÎŒÎ± Î±ÏÎ¿ÎŒÎ±ÎºÏÏ
+ÏÎŒÎ­ÎœÎ¿Ï
+ Greenstone Server  
+RemoteGreenstoneServer.Progress:Î ÏÏÎ¿ÎŽÎ¿Ï ÎÏÎ¿ÎŒÎ±ÎºÏÏ
+ÏÎŒÎ­ÎœÎ¿Ï
+ Greenstone ÎÎŸÏ
+ÏÎ·ÏÎµÏÎ·ÏÎ®:  
+RemoteGreenstoneServer.Steal_Lock_Message:ÎÏ
+ÏÎ® Î· ÏÏ
+Î»Î»Î¿Î³Î® ÎµÎ¯ÎœÎ±Î¹ ÏÏÎ¿ÏÏÏÎ¹ÎœÎ¬ ÎºÎ»ÎµÎ¹ÎŽÏÎŒÎ­ÎœÎ· Î±ÏÏ ÏÎ¿Îœ ÏÏÎ®ÏÏÎ· '{0-User name}'.\nÎÎ­Î»ÎµÏÎµ ÎœÎ± ÎºÎµÏÎŽÎ¯ÏÎµÏÎµ ÎµÏÎµÎ¯Ï ÏÎ¿Îœ Î­Î»ÎµÎ³ÏÎ¿? (ÎŽÎµ ÏÏ
+ÏÏÎ®ÎœÎµÏÎµ Î±ÏÎ¿Ï ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± ÏÎ±ÎžÎµÎ¯ ÎŽÎ¿Ï
+Î»ÎµÎ¹Î¬)?  
+#**********************
+#
+#***** Rename Prompt *****
+RenamePrompt.Name:Name:  
+RenamePrompt.Title:Rename file/folder  
+#**********************
+#
+#***** Replace Prompt *****
+ReplacePrompt.Title:ÎÎœÏÎ¹ÎºÎ±ÏÎ±ÏÏÎ®ÏÏÎµ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ ÎŒÎµ ...
+#**********************
+#
+#***** Save Collection Box *****
+SaveCollectionBox.File_Name:ÎÎœÎ¿ÎŒÎ± ÎÏÏÎµÎ¯Î¿Ï
+:  
+SaveCollectionBox.Files_Of_Type:ÎÏÏÎµÎ¯Î± ÏÏÏÎ¿Ï
+:  
+SaveCollectionBox.Look_In:ÎšÎ¬ÎŸÎµ ÏÎµ:  
+#**********************
+#
+#***** Save Progress Box *******
+SaveProgressDialog.Title:ÎÏÎ¿ÎžÎ®ÎºÎµÏ
+ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î®Ï  
+#*******************************
+#
+Server.QuitManual:Î€Î¿ ÎµÏÎ³Î±Î»ÎµÎ¯Î¿ ÎŽÎµÎœ Î®ÏÎ±Îœ ÎŽÏ
+ÎœÎ±ÏÏ ÎœÎ± ÎºÎ»ÎµÎ¯ÏÎµÎ¹ ÏÎ¿Îœ ÏÎ¿ÏÎ¹ÎºÏ \nÎµÎŸÏ
+ÏÎ·ÏÎµÏÎ·ÏÎ® ÏÏ
+Î»Î»Î¿Î³Î®Ï Î±Ï
+ÏÏÎŒÎ±ÏÎ±. ÎÎ»ÎµÎ¯ÏÏÎµ ÏÎ¿Îœ \nÏÎµÎ¹ÏÎ¿ÎºÎ¯ÎœÎ·ÏÎ±.  
+Server.QuitTimeOut:Î ÏÎ¿ÏÎ¹ÎºÎ® ÏÏ
+Î»Î»Î¿Î³Î® ÎŽÎµÎœ Î­ÏÎµÎ¹ Î±ÏÎ±ÎœÏÎ®ÏÎµÎ¹ \nÏÏÎ¿ Î±Ï
+ÏÏÎŒÎ±ÏÎ¿ ÎºÎ»ÎµÎ¯ÏÎ¹ÎŒÎ¿ Î³Î¹Î± ÎµÎŸÎ®ÎœÏÎ± ÎŽÎµÏ
+ÏÎµÏÏÎ»ÎµÏÏÎ±. ÎÏÎ¹ÎžÏ
+ÎŒÎµÎ¯ÏÎµ ÎœÎ± ÏÎµÏÎ¹ÎŒÎ­ÎœÎµÏÎµ Î³Î¹Î± Î¬Î»Î»Î¿ ÏÏÏÎ¿?  
+#
+#***** Sources *****
+Source.General:ÎÎµÎœÎ¹ÎºÎ¬  
+#*******************
+#
+#***** TitleClash *****
+TitleClashes.Message:Î ÏÎ¯ÏÎ»Î¿Ï ÏÎ¿Ï
+ Î­ÏÎµÏ ÎµÏÎ¹Î»Î­ÎŸÎµÎ¹ Î³Î¹Î± ÏÎ· ÏÏ
+Î»Î»Î¿Î³Î® ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÎµÎ¯ÏÎ±Î¹. ÎÎ± ÏÏ
+ÎœÎµÏÎ¯ÏÏ?  
+TitleClashes.Title:Î ÏÎ¯ÏÎ»Î¿Ï ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÎµÎ¯ÏÎ±Î¹  
+#**********************
+#
+#***** Trees *****
+Tree.DownloadedFiles:ÎÎ±ÏÎµÎ²Î±ÏÎŒÎ­ÎœÎ± ÎÏÏÎµÎ¯Î±  
+Tree.Files:Î±ÏÏÎµÎ¯Î±  
+Tree.Home:Home Folder ({0})  
+Tree.Root:Î€Î¿ÏÎ¹ÎºÏÏ ÏÏÏÎ¿Ï Î±ÏÏÎµÎ¯ÏÎœ  
+Tree.World:ÎÎ³Î³ÏÎ±ÏÎ± ÏÏÎ¹Ï ÏÏ
+Î»Î»Î¿Î³Î­Ï ÏÎ¿Ï
+ Greenstone  
+#***********************
+#
+#***** Warning Dialog *****
+WarningDialog.Dont_Show_Again:ÎÎ± ÎŒÎ·Îœ ÎŸÎ±ÎœÎ±ÎµÎŒÏÎ±ÎœÎ¹ÏÏÎµÎ¯ Î±Ï
+ÏÏÏ Î¿ ÎŽÎ¹Î¬Î»Î¿Î³Î¿Ï  
+WarningDialog.Dont_Show_Again_Message:ÎÎ± ÎŒÎ·Îœ ÎŸÎ±ÎœÎ±ÎµÎŒÏÎ±ÎœÎ¹ÏÏÎµÎ¯ Î±Ï
+ÏÏ ÏÎ¿ ÎŒÎ®ÎœÏ
+ÎŒÎ±  
+WarningDialog.Invalid_Value:Î ÏÎ¹ÎŒÎ® ÏÎ¿Ï
+ Î­ÏÎµÏÎµ Î²Î¬Î»ÎµÎ¹ ÎŽÎµÎœ ÎµÎ¯ÎœÎ±Î¹\nÎ­Î³ÎºÏ
+ÏÎ· Î³Î¹Î± ÏÎ·Îœ ÎºÎ±ÎžÎ¿ÏÎ¹ÏÎŒÎ­ÎœÎ· Î¹ÎŽÎ¹ÏÏÎ·ÏÎ±.  
+WarningDialog.Value:ÎÎ¹ÏÎ¬Î³ÎµÏÎµ ÏÎ¹ÎŒÎ®:  
+#
+#****** WGet *****
+WGet.Prompt:WGet ÏÏÏÎ³ÏÎ±ÎŒÎŒÎ± Î³Î¹Î± Mirroring  
+#
+#****** Workflows *****
+Workflow.AllPanels:ÎÎ»Î± ÏÎ± panels
+Workflow.LocalSourceCollectionBuilding:ÎÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³Î¯Î± ÏÎ¿ÏÎ¹ÎºÎ®Ï ÏÏ
+Î»Î»Î¿Î³Î®Ï
+Workflow.DocumentEnriching:ÎÎŒÏÎ»Î¿Ï
+ÏÎ¹ÏÎŒÏÏ Î±ÏÏÎµÎ¯ÏÎœ
+
+GEMS.Already_Loaded_Set_Error:Î€Î¿ ÏÏÎœÎ¿Î»Î¿ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ ÏÎ¿Ï
+ ÎµÏÎ¹Î»Î­ÎŸÎ±ÏÎµ ÎµÎ¯ÎœÎ±Î¹ Î±ÎœÎ¿Î¹ÏÏÏ.  
+GEMS.Element_Already_Exists:ÎÎœÎ±Ï ÏÏÎ¿Ï ÎŒÎµ Î±Ï
+ÏÏ ÏÎ¿ ÏÎœÎ¿ÎŒÎ± Ï
+ÏÎ¬ÏÏÎµÎ¹ Î®ÎŽÎ·.  
+GEMS.Set_Already_Exists:ÎÎœÎ± ÏÏÎœÎ¿Î»Î¿ ÎŒÎµ Î±Ï
+ÏÏ ÏÎ¿ ÏÎœÎ¿ÎŒÎ± Ï
+ÏÎ¬ÏÏÎµÎ¹ Î®ÎŽÎ·.  
+GEMS.Cannot_Delete_Core_Sets_Error:ÎÎµ ÎŒÏÎ¿ÏÎµÎ¯ÏÎµ ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÏÎµ Î­ÎœÎ± ÏÏÎœÎ¿Î»Î¿ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ ÏÏ
+ÏÎ®ÎœÎ±.  
+
+GEMS.Preferences.Selected_Languages_Tooltip:ÎÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎµÏ Î³Î»ÏÏÏÎµÏ Î³Î¹Î± ÏÏÎ¿Î²Î¿Î»Î®:  
+
+GEMS.Add_Attribute:Î ÏÎ¿ÏÎžÎ®ÎºÎ· attribute  
+GEMS.Add_Attribute_Tooltip:Î ÏÎ¿ÏÎžÎ­ÏÏÎµ Î­ÎœÎ± ÎœÎ­Î¿ attribute ÏÏÎ¿Îœ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿ ÏÏÎ¿  
+GEMS.Add_Element:Î ÏÎ¿ÏÎžÎ®ÎºÎ· ÏÏÎ¿Ï
+  
+GEMS.Add_Element_Tooltip:Î ÏÎ¿ÏÎžÎ­ÏÏÎµ Î­ÎœÎ± ÎœÎ­Î¿ ÏÏÎ¿ ÏÏÎ¿ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿ ÏÏÎœÎ¿Î»Î¿  
+GEMS.Add_Subelement:Î ÏÎ¿ÏÎžÎ®ÎºÎ· Ï
+ÏÎ¿-ÏÏÎ¿Ï
+  
+GEMS.Add_Subelement_Tooltip:Î ÏÎ¿ÏÎžÎ­ÏÏÎµ Î­ÎœÎ±Îœ Ï
+ÏÎ¿-ÏÏÎ¿ ÏÏÎ¿Îœ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿ ÏÏÎ¿  
+GEMS.Add_Set:Î ÏÎ¿ÏÎžÎ®ÎºÎ· Î£Ï
+ÎœÏÎ»Î¿Ï
+  
+GEMS.Attribute:Attribute  
+GEMS.Attribute_Already_Exists:ÎÏ
+ÏÏ ÏÎ¿ attribute Ï
+ÏÎ¬ÏÏÎµÎ¹ Î®ÎŽÎ·.  
+GEMS.Attribute_Name_Tooltip:Î€Î¿ ÏÎœÎ¿ÎŒÎ± ÏÎ¿Ï
+ ÎœÎ­Î¿Ï
+ attribute  
+GEMS.Attribute_Language_Tooltip:Î Î³Î»ÏÏÏÎ± ÏÎ¿Ï
+ ÎœÎ­Î¿Ï
+ attribute  
+GEMS.Attribute_Value_Tooltip:Î ÏÎ¹ÎŒÎ® ÏÎ¿Ï
+ ÎœÎ­Î¿Ï
+ attribute  
+GEMS.Attributes:Attributes  
+GEMS.Cannot_Undo:(Î±Ï
+ÏÎ® Î· ÎµÎœÎ­ÏÎ³ÎµÎ¹Î± ÎŽÎµ ÎŒÏÎ¿ÏÎµÎ¯ ÎœÎ± Î±ÎœÎ±Î¹ÏÎµÎžÎµÎ¯)  
+GEMS.Cannot_Add_Elements_To_Greenstone_MDS:ÎÎµÎœ ÎŒÏÎ¿ÏÎµÎ¯ÏÎµ ÎœÎ± ÎµÎ¹ÏÎ¬Î³ÎµÏÎµ ÏÏÎ¿Ï
+Ï ÏÏÎ¿ ÏÏÎœÎ¿Î»Î¿ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ ÏÎ¿Ï
+ GS. ÎÎœ Î±ÏÎ±Î¹ÏÎµÎ¯ÏÎ±Î¹ ÎŽÎ·ÎŒÎ¹Î¿Ï
+ÏÎ³ÎµÎ¯ÏÏÎµ Î­ÎœÎ± ÎœÎ­Î¿ ÏÏÎœÎ¿Î»Î¿.
+GEMS.Confirm_Exit_Save:ÎÎ­Î»ÎµÏÎµ ÎœÎ± Î±ÏÎ¿ÎžÎ·ÎºÎµÏÏÎµÏÎµ ÏÏÎ¹Îœ ÏÎ·Îœ Î­ÎŸÎ¿ÎŽÎ¿?
+GEMS.Confirm_Exit_Save_Title:ÎÏÎ¿ÎžÎ®ÎºÎµÏ
+ÏÎ· ÏÏÎ¹Îœ ÏÎ·Îœ Î­ÎŸÎ¿ÎŽÎ¿?
+GEMS.Confirm_Removal:ÎÎ¯ÏÏÎµ ÏÎ¯Î³Î¿Ï
+ÏÎ¿Ï ÏÏÎ¹ ÎžÎ­Î»ÎµÏÎµ ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÏÎµ ÏÎ¿ {0}?
+GEMS.Confirm_Removal_Title:ÎÏÎ¹Î²ÎµÎ²Î±Î¯ÏÏÎ· ÎŽÎ¹Î±Î³ÏÎ±ÏÎ®Ï
+GEMS.Edit_Attribute:ÎÏÎµÎŸÎµÏÎ³Î±ÏÎ¯Î± ÏÎ±ÏÎ±ÎºÏÎ·ÏÎ¹ÏÏÎ¹ÎºÎ¿Ï
+GEMS.Edit_Value:ÎÏÎµÎŸÎµÏÎ³Î±ÏÎ¯Î± ÏÎ¹ÎŒÎ®Ï
+GEMS.Edit_Value_Tooltip:ÎÎ»Î»Î±Î³Î® ÏÎ·Ï ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ·Ï ÏÎ¹ÎŒÎ®Ï
+GEMS.Element:ÎÏÎ¿Ï
+GEMS.Element_Name_Tooltip:Î€Î¿ ÏÎœÎ¿ÎŒÎ± ÏÎ¿Ï
+ ÎœÎ­Î¿Ï
+ ÏÏÎ¿Ï
+
+GEMS.Element_Details:ÎÎµÏÏÎ¿ÎŒÎ­ÏÎµÎ¹ÎµÏ ÏÎ¿Ï
+ ÏÏÎ¿Ï
+ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ
+GEMS.Language:ÎÎ»ÏÏÏÎ±
+GEMS.Language_Code:ÎÎ»ÏÏÏÎ±
+GEMS.Name:ÎÎœÎ¿ÎŒÎ±
+GEMS.Namespace:Î§ÏÏÎ¿Ï ÎÎœÎ¿ÎŒÎ¬ÏÏÎœ
+GEMS.New_Name:ÎÎ­Î¿ ÏÎœÎ¿ÎŒÎ±
+GEMS.No_Description:ÎÎµÎœ Î²ÏÎ­ÎžÎ·ÎºÎµ ÏÎµÏÎ¹Î³ÏÎ±ÏÎ®.
+GEMS.No_Name:ÎÎµÎœ Î²ÏÎ­ÎžÎ·ÎºÎµ ÏÎœÎ¿ÎŒÎ±.
+GEMS.Open_Set:ÎÎœÎ¿Î¹Î³ÎŒÎ± Î£Ï
+ÎœÏÎ»Î¿Ï
+
+GEMS.Remove_Attribute:ÎÎ¹Î±Î³ÏÎ±ÏÎ® ÏÎ±ÏÎ±ÎºÏÎ·ÏÎ¹ÏÏÎ¹ÎºÎ¿Ï
+GEMS.Remove_Attribute_Tooltip:ÎÎ¹Î±Î³ÏÎ¬ÏÎµÎ¹ ÏÎ¿ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿ ÏÎ±ÏÎ±ÎºÏÎ·ÏÎ¹ÏÏÎ¹ÎºÏ.
+GEMS.Remove_Element:ÎÎ¹Î±Î³ÏÎ±ÏÎ® ÏÏÎ¿Ï
+
+GEMS.Remove_Element_Tooltip:ÎÎ¹Î±Î³ÏÎ¬ÏÎµÎ¹ ÏÎ¿Îœ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿ ÏÏÎ¿ Î±ÏÏ ÏÎ¿ ÏÏÎœÎ¿Î»Î¿
+GEMS.Remove_Set:ÎÎ¹Î±Î³ÏÎ±ÏÎ® ÏÏ
+ÎœÏÎ»Î¿Ï
+.
+GEMS.Remove_Set_Tooltip:ÎÎ¹Î±Î³ÏÎ¬ÏÎµÎ¹ ÏÎ¿ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿ ÏÏÎœÎ¿Î»Î¿
+GEMS.Rename_Element:ÎÎµÏÎ¿ÎœÎ¿ÎŒÎ±ÏÎ¯Î± ÏÏÎ¿Ï
+
+GEMS.Rename_Element_Tooltip:Î€Î¿ ÎœÎ­Î¿ ÏÎœÎ¿ÎŒÎ± ÏÎ¿Ï
+ ÏÏÎ¿Ï
+
+GEMS.Rename_Name_Tooltip:Î€Î¿ ÎœÎ­Î¿ ÏÎœÎ¿ÎŒÎ± ÏÎ¿Ï
+ ÏÏ
+ÎœÏÎ»Î¿Ï
+ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ
+GEMS.Rename_Namespace_Tooltip:Î ÎŒÎ¿ÎœÎ±ÎŽÎ¹ÎºÏÏ ÏÏÏÎ¿Ï Î¿ÎœÎ¿ÎŒÎ¬ÏÏÎœ ÏÎ¿Ï
+ ÏÏ
+ÎœÏÎ»Î¿Ï
+ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ
+GEMS.Rename_Set:ÎÎµÏÎ¿ÎœÎ¿ÎŒÎ±ÏÎ¯Î± ÏÏ
+ÎœÏÎ»Î¿Ï
+
+GEMS.Rename_Set_Tooltip:ÎÎµÏÎ¿ÎœÎ¿ÎŒÎ¬ÏÏÎµ ÏÎ¿ ÏÏÎœÎ¿Î»Î¿ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ
+GEMS.Set:Î£ÏÎœÎ¿Î»Î¿
+GEMS.Set_Details:ÎÎµÏÏÎ¿ÎŒÎ­ÏÎµÎ¹ÎµÏ ÏÏ
+ÎœÏÎ»Î¿Ï
+
+GEMS.Set_Name_Tooltip:Î€Î¿ ÏÎœÎ¿ÎŒÎ± ÏÎ¿Ï
+ ÎœÎ­Î¿Ï
+ ÏÏ
+ÎœÏÎ»Î¿Ï
+ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ
+GEMS.Set_Namespace_Tooltip:ÎÎœÎ±Ï ÎŒÎ¿ÎœÎ±ÎŽÎ¹ÎºÏÏ ÏÏÏÎ¿Ï Î¿ÎœÎ¿ÎŒÎ¬ÏÏÎœ Î³Î¹Î± ÏÎ¿ ÎœÎ­Î¿ ÏÏÎœÎ¿Î»Î¿
+GEMS.Subelement_Name_Tooltip:Î€Î¿ ÏÎœÎ¿ÎŒÎ± ÏÎ¿Ï
+ ÎœÎ­Î¿Ï
+ Ï
+ÏÎ¿ÏÏÎ¿Ï
+
+GEMS.Subelement_Already_Exists:Î¥ÏÎ¬ÏÏÎµÎ¹ Î®ÎŽÎ· Î­ÎœÎ±Ï Ï
+ÏÎ¿ÏÏÎ¿Ï ÎŒÎµ Î±Ï
+ÏÏ ÏÎ¿ ÏÎœÎ¿ÎŒÎ±.
+GEMS.Target:ÎÏÎ¿Ï
+GEMS.Title:ÎÏÎµÎŸÎµÏÎ³Î±ÏÏÎ®Ï Î³Î¹Î± ÏÏÎœÎ¿Î»Î± ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ
+GEMS.Value:Î€Î¹ÎŒÎ®
+GEMS.Values:Î€Î¹ÎŒÎ­Ï
+GEMS.inheritMetadataSet:ÎÎ»Î·ÏÎ¿ÎœÏÎŒÎ·ÏÎµ Î±ÏÏ ÏÎ¿ ÏÏÎœÎ¿Î»Î¿ ÎŒÎµÏÎ±ÎŽÎµÎŽÎ¿ÎŒÎ­ÎœÏÎœ:
+GEMS.Add_Set.No_Inherit:ÎÎ·Îœ ÎºÎ»Î·ÏÎ¿ÎœÎ¿ÎŒÎµÎ¯Ï
Index: main/tags/2.83/gli/classes/dictionary_es.properties
===================================================================
--- main/tags/2.83/gli/classes/dictionary_es.properties	(revision 21123)
+++ main/tags/2.83/gli/classes/dictionary_es.properties	(revision 21123)
@@ -0,0 +1,1098 @@
+#*******************
+# Spanish Translation of GLI Dictionary. Many thanks to Jesus Tramullas and Diego Spano.
+# Translations updated by Diego Spano in March 2009.
+#
+#** Language Orientation Property
+Component.Orientation:LTR
+
+#*******************
+#
+#***** AboutDialog *****
+AboutDialog.Acknowledgement:Reconocimientos de marca de paquetes, clases y programas propietarios...
+AboutDialog.Date:(Abril 2009)  
+AboutDialog.Item0:Xerces Java 1' de The Apache Software Foundation (http://www.apache.org/)
+AboutDialog.Item2:WGet' de Free Software Foundation, Inc. (http://www.gnu.org/software/wget/wget.html)
+AboutDialog.Item3:qflib' de Quality First Software GmbH. (http://www.qfs.de/en/qflib/index.html)
+AboutDialog.Item4:ExtensionFileFilter.class', por Bruno Dumon y asociados (http://pollo.sourceforge.net/)
+AboutDialog.Item5:How to disable file renaming in file chooser' - vladi21 (http://www.experts-exchange.com/)
+AboutDialog.Item6:Autoscrolling' - Java Swing, por Robert Eckstein, Marc Loy & Dave Wood (http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf)
+AboutDialog.Item7:Add ghosted drag images to your JTrees', por Andrew J. Armstrong (http://www.javaworld.com/javaworld/javatips/jw-javatip114.html)
+AboutDialog.Item8:Stop annoying java.prefs error when you don't have superuser access', cortesÃ­a de Walter Schatz
+AboutDialog.Item9:Los Ã­conos de "Nueva carpeta", "borrar" y "ayuda" del conjunto de Ã­conos Dropline Neu! De Silvestre Herrera, disponibles en http://art.gnome.org/  
+AboutDialog.Java_Req:Java es una marca registrada de Sun Microsystems Inc. El Ambiente de EjecuciÃ³n Java (JRE por sus siglas en inglÃ©s) se distribuye de acuerdo a los tÃ©rminos de la licencia suplementaria que se encuentra en http://java.sun.com/j2se/1.4.1/j2re-1_4_1_02-license.html
+AboutDialog.Java_Req_One:Este producto incluye un cÃ³digo con licencia de uso de RSA Security, Inc.
+AboutDialog.Java_Req_Two:Algunas partes con licencia de IBM estÃ¡n disponibles en http\://oss.software.ibm.com/icu4j/
+AboutDialog.Thanks:TambiÃ©n queremos agradecer a todos aquellos que nos proporcionaron su valiosa informaciÃ³n sobre Java a travÃ©s de la Web...
+AboutDialog.Title:Acerca de...
+AboutDialog.Title_One:Interfaz de la Biblioteca Digital Greenstone
+AboutDialog.Title_Two:Biblioteca Digital Greenstone, Universidad de Waikato
+AboutDialog.Copyright:Copyright (C) 2003-2009 New Zealand Digital Library Project  
+AboutDialog.Copyright_Two:Publicado conforme a los tÃ©rminos y condiciones de la Licencia PÃºblica General. Para mayor informaciÃ³n vea LICENSE.txt
+#***********************
+#
+#***** Audit Table *****
+AuditTable.File:Nombre del fichero  
+#***********************
+#
+#***** Auto Filter *****
+Autofilter.AND:Y
+Autofilter.Ascending:Ascendente
+Autofilter.Case_Sensitive:Concordancia de caso  
+Autofilter.Custom_Filter:Avanzada
+Autofilter.Descending:Descendente
+Autofilter.Filter_By_Value:Sencilla
+Autofilter.Name:TÃ­tulo de la columna
+Autofilter.None:Ninguno
+Autofilter.Operator:CondiciÃ³n
+Autofilter.OR:O
+Autofilter.Order:Ordenar
+Autofilter.Order_Tooltip:Clasifica los elementos en este orden
+Autofilter.Remove:Eliminar filtro
+Autofilter.Remove_Tooltip:Quita este filtro de la columna
+Autofilter.Set:Filtrar
+Autofilter.Set_Tooltip:AÃ±ade este filtro a la columna
+Autofilter.Table_Header_Tooltip:Filtrar por {0}
+Autofilter.Title:Filtrar metadatos
+Autofilter.eqeq:igual a
+Autofilter.!eq:does not equal
+Autofilter.<:is less than
+Autofilter.<eq:is less than or equal to
+Autofilter.>:is greater than
+Autofilter.>eq:is greater than or equal to
+Autofilter.^:starts with
+Autofilter.!^:does not start with
+Autofilter.$:ends with
+Autofilter.!$:does not end with
+Autofilter.?:contains
+Autofilter.!?:does not contain
+#
+#     ********************************************************
+#     *************** Collection Design Module ***************
+#     ********************************************************
+#     * The dictionary  phrases  used in the creation of the *
+#     * Colection  Design  Module. Note that we  still  have *
+#     * access  to the format  arguments (argument  32+) for *
+#     * html formatting.                                     *
+#     ********************************************************
+CDM.ArgumentConfiguration.Bad_Integer:<html>El argumento '{0}' requiere un nÃºmero entero,<br>pero no se puede obtener ningÃºn entero de {1}.</html>
+CDM.ArgumentConfiguration.Error_Title:Error en los argumentos
+CDM.ArgumentConfiguration.Header:<HTML><STRONG><FONT FACE={FONT} COLOR=Black SIZE=5><CENTER>Por favor, configure los argumentos para {0}.</CENTER></FONT></STRONG></HTML>
+CDM.ArgumentConfiguration.No_Value:El argumento â{0}â requiere un valor, pero no se ha especificado ninguno.
+CDM.ArgumentConfiguration.Required_Argument:El argumento '{0}' deberÃ¡ ser un valor dado.
+CDM.ArgumentConfiguration.Title:Configurando argumentos
+CDM.BuildTypeManager.Title:Seleccionar el Indizador  
+CDM.BuildTypeManager.mg:MG  
+CDM.BuildTypeManager.mg_Description:Este es el indizador original utilizado por Greenstone, desarrollado por Alistair Moffat y descrito en el clÃ¡sico libro <i>Managing Gigabytes</i>. realzia indizaciÃ³n a nivel de secciÃ³n, y las bÃºsquedas pueden ser booleanas o por relevancia (no ambas a la vez). Para cada Ã­ndice especificado en la colecciÃ³n, se crea un Ã­ndice fÃ­sico separado. Para bÃºsqueda por frases, Greenstone aÃ±ade un "Y" para cada tÃ©rmino, y explora los resultados para ver si la frase estÃ¡ presente. Ha sido probado intensivamente en grandes colecciones (muchos GB de texto).  
+CDM.BuildTypeManager.mgpp:MGPP  
+CDM.BuildTypeManager.mgpp_Description:Esta nueva versiÃ³n de MP (MG plus plus) fuÃ© desarrollada por el New Zealand Digital Library Project. Hace la indizaciÃ³n a nivel de palabra, lo que permite bÃºsquedas por campo, frase y proximidad. Las bÃºsquedas booleanas pueden ser ordenadas por relevancia. SÃ³lo se crea un Ã­ndice para la colecciÃ³n: los niveles de documento/secciÃ³n y texto/campos de metadatos se gestionan en un Ãºnico Ã­ndice. Para colecciones con muchos Ã­ndices, esto ofrece una colecciÃ³n de tamaÃ±o menor que el obtenido usando MG. Para grandes colecciones, la bÃºsqueda puede ser un poco mÃ¡s lenta debido a la indizaciÃ³n a nivel de palabra.  
+CDM.BuildTypeManager.lucene:Lucene  
+CDM.BuildTypeManager.lucene_Description:Lucene fuÃ© desarrollado por la Apache Software Foundation. Ofrece bÃºsquedas por campo y de proximidad, pero sÃ³lo a nivel simple (por ej., documentos completos o secciones individuales, pero no ambos al mismo tiempo). Por lo tanto, una colecciÃ³n con Ã­ndices de documento y de secciÃ³n requiere dos Ã­ndices separados. Ofrece funcionalidades de bÃºsqueda similares a MGPP, aÃ±adiendo truncamiento de caracteres Ãºnicos y bÃºsqueda de rango y ordenaciÃ³n de resultados por campos de metadatos. Se ha aÃ±adido a Greenstone para hacer posible la creaciÃ³n incremental de colecciones, que MG y MGPP no ofrecen.  
+CDM.BuildTypeManager.Current_Type:Utilizando el indizador: {0}  
+CDM.BuildTypeManager.Change:Cambiar...  
+CDM.BuildTypeManager.Change_Tooltip:Cambiar el indizador utilizado en esta colecciÃ³n  
+CDM.ClassifierManager.Add:AÃ±adir clasificador...
+CDM.ClassifierManager.Add_Tooltip:Utilice el clasificador especificado con esta colecciÃ³n
+CDM.ClassifierManager.Assigned:Clasificadores asignados actualmente  
+CDM.ClassifierManager.Classifier:Seleccione el clasificador que se va a aÃ±adir  
+CDM.ClassifierManager.Classifier_Str:clasificador
+CDM.ClassifierManager.Classifier_List_XML_Parse_Failed:Imposible obtener la lista de clasificadores usando classinfo.pl -listall.  
+CDM.ClassifierManager.Classifier_XML_Parse_Failed:Imnposible determinar los argumentos del clasificador {0}\n. Por favor, asegÃºrese que el clasificador\n contiene el indicador -xml ejecutando el guiÃ³n classinfo.pl\n, el cual es similar a la descripciÃ³n del guiÃ³n pluginfo.pl que se encuentra en\n la secciÃ³n 2.1 de la GuÃ­a del Programador de Greenstone.  
+CDM.ClassifierManager.Configure:Configurar clasificador...
+CDM.ClassifierManager.Configure_Tooltip:Cambia las opciones del clasificador seleccionado
+CDM.ClassifierManager.Remove:Eliminar clasificador
+CDM.ClassifierManager.Remove_Tooltip:Elimina el clasificador seleccionado de la lista
+CDM.FormatManager.Add:AÃ±adir formato
+CDM.FormatManager.Add_Tooltip:AÃ±ade la orden de formato especificada  
+CDM.FormatManager.AllFeatures:Todas las CaraterÃ­sticas  
+CDM.FormatManager.AllParts:Todos los Componentes  
+CDM.FormatManager.Default:Reset to Default
+CDM.FormatManager.Default_Tooltip:Reset the selected format command to its default value 
+CDM.FormatManager.Editor:Cadena de formato HTML
+CDM.FormatManager.Editor_Tooltip:Introduzca o edite la orden de formato  
+CDM.FormatManager.Editor_Disabled_Tooltip:Pulse 'AÃ±adir Formato' para aÃ±adir esta orden de formato a su colecciÃ³n.  
+CDM.FormatManager.Enabled:Activo
+CDM.FormatManager.Feature:Elegir funciÃ³n
+CDM.FormatManager.Feature_Tooltip:Es la funciÃ³n a la que se darÃ¡ formato
+CDM.FormatManager.Insert:Insertar
+CDM.FormatManager.Insert_Tooltip:Inserta la variable seleccionada en la orden de formato  
+CDM.FormatManager.Default:Volver a los parÃ¡metros predefinidos  
+CDM.FormatManager.Default_Tooltip:Reponer el valor predefinido de la variable  
+CDM.FormatManager.Insert_Variable:Insertar variable...  
+CDM.FormatManager.Part:Componente afectado
+CDM.FormatManager.Part_Tooltip:Es el aspecto del componente afectado al que se va a dar formato
+CDM.FormatManager.Remove:Eliminar formato
+CDM.FormatManager.Remove_Tooltip:Elimina la orden de formato seleccionada  
+CDM.FormatManager.Variable_Tooltip:Inserte una de las variables predefinidas en la orden de formato seleccionada  
+CDM.FormatManager.MessageBox:ValidaciÃ³n XML  
+CDM.FormatManager.MessageBox_Tooltip:Mensaje de validaciÃ³n de plantilla XML  
+CDM.General.Access:La colecciÃ³n serÃ¡ de acceso pÃºblico
+CDM.General.Browser_Title:Seleccione una imagen
+CDM.General.Collection_Extra:DescripciÃ³n de la colecciÃ³n:
+CDM.General.Collection_Extra_Tooltip:Es una descripciÃ³n del propÃ³sito y los contenidos de la colecciÃ³n
+CDM.General.Collection_Name:TÃ­tulo de la colecciÃ³n:
+CDM.General.Collection_Name_Tooltip:Es el nombre de la colecciÃ³n
+CDM.General.Email.Creator:E-mail del creador de la colecciÃ³n
+CDM.General.Email.Creator_Tooltip:es la direcciÃ³n de e-mail del creador de la colecciÃ³n
+CDM.General.Email.Maintainer:E-mail del administrador de la colecciÃ³n
+CDM.General.Email.Maintainer_Tooltip:Es la direcciÃ³n de e-mail del administrador de la colecciÃ³n
+CDM.General.Icon_Collection:URL del icono de la pÃ¡gina 'acerca de':  
+CDM.General.Icon_Collection_Tooltip:Es el URL de la imagen que aparecerÃ¡ en la pÃ¡gina "Acerca de" de la biblioteca digital
+CDM.General.Icon_Collection_Small:URL del icono de la 'pÃ¡gina principal':  
+CDM.General.Icon_Collection_Small_Tooltip:URL de la imagen para la colecciÃ³n, que aparecerÃ¡ en la pÃ¡gina principal de la biblioteca  
+CDM.General.Image_Copy_Failed:Ha ocurrido un error que evita que la imagen que usted seleccionÃ³ sea copiada.\n Por favor trate de copiarla manualmente: :\n{0}\n en la carpeta de imÃ¡genes de su colecciÃ³n:\n{1}.  
+CDM.General.Image_Filter:ImÃ¡genes (gifs, jpgs y pngs)
+CDM.GUI.Classifiers:Clasificadores de exploraciÃ³n
+CDM.GUI.Formats:Formatos
+CDM.GUI.General:General
+CDM.GUI.Indexes:Ãndices de bÃºsqueda
+CDM.GUI.Macros:Macros EspecÃ­ficos de ColecciÃ³n  
+CDM.GUI.Plugins:Plugins de documento
+CDM.GUI.Root:CDM_ROOT
+CDM.GUI.SearchMetadata:Buscar  
+CDM.GUI.Subcollections:Particionar Ã­ndices
+CDM.GUI.SuperCollection:BÃºsqueda cruzada a travÃ©s de varias colecciones
+CDM.GUI.Translation:Traducir texto
+CDM.GUI.DepositorMetadata:Metadatos del Acumulador  
+CDM.HelpButton:Ayuda para esta pantalla  
+CDM.HelpButton_Tooltip:Abra la ayuda de GLI para esta pantalla  
+CDM.IndexManager.Add_Index:AÃ±adir Ã­ndice
+CDM.IndexManager.Add_Index_Tooltip:AÃ±ade el Ã­ndice especificado  
+CDM.IndexManager.Allfields_Index:AÃ±adir bÃºsqueda combinada sobre todos los Ã­ndices asignados (todos los campos)  
+CDM.IndexManager.Default_Index_Indicator:[Ãndice por omisiÃ³n]
+CDM.IndexManager.Index_Exists:Ese Ã­ndice ya se le ha asignado a esta colecciÃ³n.
+CDM.IndexManager.Indexes:Ãndices asignados
+CDM.IndexManager.Level:Nivel de IndizaciÃ³n:  
+CDM.IndexManager.Level_Tooltip:Unidad textual sobre la que se basarÃ¡ el Ã­ndice  
+CDM.IndexManager.Add_All:AÃ±adir Todo  
+CDM.IndexManager.Add_All_Tooltip:AÃ±adir un Ã­ndice independiente para cada fuente  
+CDM.IndexManager.Edit_Index:Editar Ãndice  
+CDM.IndexManager.Edit_Index_Tooltip:Modificar el Ã­ndice seleccionado  
+CDM.IndexManager.New_Index:Nuevo Ãndice  
+CDM.IndexManager.New_Index_Tooltip:AÃ±adir un nuevo Ã­ndice  
+CDM.IndexManager.Remove_Index:Eliminar Ã­ndice
+CDM.IndexManager.Remove_Index_Tooltip:Elimina el Ã­ndice seleccionado  
+CDM.IndexManager.Replace_Index:Reemplazar Ãndice  
+CDM.IndexManager.Replace_Index_Tooltip:Actualizar el Ã­ndice seleccionado  
+CDM.IndexManager.Select_All:Seleccionar Todo  
+CDM.IndexManager.Select_All_Tooltip:Seleccionar todas las fuentes de los Ã­ndices  
+CDM.IndexManager.Select_None:No seleccionar ninguno  
+CDM.IndexManager.Select_None_Tooltip:Desmarcar todas las fuentes de Ã­ndices  
+CDM.IndexManager.Set_Default:Establecer un Ã­ndice por omisiÃ³n
+CDM.IndexManager.Set_Default_Tooltip:Hace que el Ã­ndice seleccionado sea el Ã­ndice por omisiÃ³n
+CDM.IndexManager.Source:Incluir en el Ã­ndice:  
+CDM.IndexManager.Source_Tooltip:Son los elementos de metadato sobre los que se crearÃ¡ el Ã­ndice
+CDM.IndexManager.Text_Source:Texto completo  
+CDM.IndexManager.Text_Source_Tooltip:Incluir el texto completo de los documentos en el Ã­ndice  
+CDM.IndexingManager.Accent_fold:Coincidencia de acentos  
+CDM.IndexingManager.Accent_fold_Tooltip:Generar un Ã­ndice sin acentos, el cual habilita la bÃºsqueda de palabras con y sin acentos.  
+CDM.IndexingManager.Casefold:May./Min.  
+CDM.IndexingManager.Casefold_Tooltip:Generar un Ã­ndice no sensitivo a MayÃºsculas/minÃºsculas  
+CDM.IndexingManager.Options:Opciones de indizaciÃ³n:  
+CDM.IndexingManager.Separate_cjk:SegmentaciÃ³n de texto CJK  
+CDM.IndexingManager.Separate_cjk_Tooltip:<html>Segmentar texto CJK (Chino, JaponÃ©s, Coreano). Significa que inserta un espacio entre cada caracter CJK.<br> Esto es necesario para bÃºsquedas en texto CJK, a menos que que dicho texto ya estuviera segmentado.</html>  
+CDM.IndexingManager.Stem:Cadena  
+CDM.IndexingManager.Stem_Tooltip:<html>Generar un Ã­ndice de raÃ­ces de palabras, el cual permite la bÃºsqueda de palabras en su forma raÃ­z.<br>Por ejemplo, una bÃºsqueda por "farm" taerÃ¡ resultados como "farms" "farming" "farmers" (muy Ãºtil para InglÃ©s y FrancÃ©s solamente).</html>  
+CDM.LanguageManager.Add_Tooltip:AÃ±ade una particiÃ³n de Ã­ndice basada en los idiomas especificados  
+CDM.LanguageManager.Assigned_Languages:Particiones de idioma asignadas  
+CDM.LanguageManager.Default_Language:Idioma predeterminado
+CDM.LanguageManager.LanguageMetadata:Metadatos de Idioma:  
+CDM.LanguageManager.LanguageMetadata_Tooltip:Elemento de metadato usado para determinar el idioma de un documento  
+CDM.LanguageManager.Remove_Tooltip:Elimina el idioma seleccionado de la lista  
+CDM.LanguageManager.Replace_Tooltip:Reemplazar la particiÃ³n seleccionada con una nueva basada en los idiomas marcados  
+CDM.LanguageManager.Selector:Idiomas que se van a aÃ±adir:  
+CDM.LanguageManager.Selector_Tooltip:Idiomas sobre los que se va a crear una particiÃ³n de Ã­ndice  
+CDM.LanguageManager.Set_Default:Predeterminar
+CDM.LanguageManager.Set_Default_Tooltip:Hace que el idioma seleccionado sea el idioma predefinido  
+CDM.LevelManager.Document:documento  
+CDM.LevelManager.Section:secciÃ³n  
+CDM.LevelManager.Paragraph:pÃ¡rrafo  
+CDM.LevelManager.Level_Title:Niveles de IndizaciÃ³n  
+CDM.LevelManager.Default:Predefinido  
+CDM.LevelManager.Default_Tooltip:Nivel predefinido en la interfaz de lector  
+CDM.MacrosManager.Editor_Tooltip:Editar macros aquÃ­  
+CDM.Move.At_Bottom:{0} {1} no se puede mover mÃ¡s abajo puesto que ya se encuentra al final de la lista.
+CDM.Move.At_Top:{0} {1} no se puede mover mÃ¡s arriba puesto que ya se encuentra al principio de la lista.
+CDM.Move.Cannot:El plugin {0} no se puede mover mÃ¡s abajo ya que RecPlug y ArcPlug deben estar al final de la lista.
+CDM.Move.Fixed:<html>Por regla general RecPlug y ArcPlug siempre deben estar al final.<br>Si por alguna razÃ³n tiene que moverlos de lugar, por favor edite manualmente el fichero collect.cfg.</html>  
+CDM.Move.Move_Down:Mover abajo
+CDM.Move.Move_Down_Tooltip:Mueve el elemento seleccionado hacia abajo en la lista
+CDM.Move.Move_Up:Mover arriba
+CDM.Move.Move_Up_Tooltip:Mueve el elemento seleccionado hacia arriba en la lista
+CDM.Move.Title:Error - no se puede mover
+CDM.PlugInManager.Add:AÃ±adir plugin...
+CDM.PlugInManager.QuickAdd:AÃ±adir plugin
+CDM.PlugInManager.Add_Tooltip:Utilice el plugin especificado con esta colecciÃ³n
+CDM.PlugInManager.Assigned:Plugins asignados actualmente  
+CDM.PlugInManager.Configure:Configurar un plugin...
+CDM.PlugInManager.Configure_Tooltip:Cambia las opciones del plugin seleccionado
+CDM.PlugInManager.Ignore:No Agregar Plugin
+CDM.PlugInManager.Ignore_Tooltip:No agregar ningÃºn Plugin a esta colecciÃ³n.
+CDM.PlugInManager.PlugIn:Seleccione el plugin que se va a aÃ±adir
+CDM.PlugInManager.PlugIn_Tooltip:Son los plugins disponibles para esta colecciÃ³n
+CDM.PlugInManager.PlugIn_Str:plugin
+CDM.PlugInManager.PlugIn_XML_Parse_Failed:Imposible determinar los argumentos para el plugin {0}\n. Por favor, asegÃºrese que el plugin contiene\nel indicador -xml ejecutando el guiÃ³n pluginfo.pl descrito\nen la secciÃ³n 2.1 de la GuÃ­a del Programador de Greenstone.  
+CDM.PluginManager.Plugin_List_XML_Parse_Failed:Imposible obtener la lista de plugins usando pluginfo.pl -listall.  
+CDM.PluginManager.Plugin_Suggestion_Prompt:Ninguno de los conectores de esta colecciÃ³n puede procesar el archivo "{0}". (De todas maneras, puede ser incluido en la colecciÃ³n si pertenece a otro archivo, como por ejemplo, una imagen de una pÃ¡gina web.) Los conectores siguientes pueden llegar a procesarlo. Puede agregar un conector ahora a su colecciÃ³n seleccionÃ¡ndolo y presionando el botÃ³n "Agregar". (Note que puede cambiar la lista de conectores en cualquier momento desde el Panel de DiseÃ±o en la secciÃ³n "Plugins del documento")  
+CDM.PlugInManager.Remove:Eliminar plugin
+CDM.PlugInManager.Remove_Tooltip:Elimina el plugin seleccionado de la lista
+CDM.PluginManager.SuggestedPluginListTitle:Plugins sugeridos para el fichero  
+CDM.SearchMetadataManager.Component:Elemento en el menÃº de bÃºsqueda  
+CDM.SearchMetadataManager.Component_Name:Mostrar texto  
+CDM.SearchMetadataManager.Type_index:Ãndice  
+CDM.SearchMetadataManager.Type_level:Nivel  
+CDM.SearchMetadataManager.Type_partition:ParticiÃ³n  
+CDM.SearchMetadataManager.Type_language:ParticiÃ³n de Idioma  
+CDM.SubcollectionManager.Add:AÃ±adir filtro
+CDM.SubcollectionManager.Add_Tooltip:AÃ±ade el filtro especificado a la colecciÃ³n
+CDM.SubcollectionManager.Assigned:Filtros definidos para la subcolecciÃ³n
+CDM.SubcollectionManager.Exclude:Excluir
+CDM.SubcollectionManager.Flags:Indicadores que se usarÃ¡n al momento de contrastar
+CDM.SubcollectionManager.Flags_Tooltip:Indicadores de expresiones regulares que se utilizarÃ¡n al momento de cotejar (p. ej. âiâ para comparaciones que no toman en cuenta el caso)
+CDM.SubcollectionManager.Include:Incluir
+CDM.SubcollectionManager.Inclusive:Â¿QuÃ© hacemos con los ficheros que concuerdan?  
+CDM.SubcollectionManager.Language_Controls:Asignar idiomas
+CDM.SubcollectionManager.Match:ExpresiÃ³n regular con la que se contrastarÃ¡:
+CDM.SubcollectionManager.Match_Tooltip:Es una expresiÃ³n regular que define los documentos de la subcolecciÃ³n
+CDM.SubcollectionManager.Name:Nombre del filtro de la subcolecciÃ³n:
+CDM.SubcollectionManager.Name_Tooltip:Es el nombre del nuevo filtro de la subcolecciÃ³n
+CDM.SubcollectionManager.Remove:Eliminar filtro
+CDM.SubcollectionManager.Remove_Tooltip:Quita el filtro seleccionado de la lista
+CDM.SubcollectionManager.Replace:Reemplazar filtro
+CDM.SubcollectionManager.Replace_Tooltip:Actualiza los detalles del filtro seleccionado
+CDM.SubcollectionManager.Source:Atributo del documento con el cual se va a contrastar:
+CDM.SubcollectionManager.Source_Tooltip:Es el atributo con base en el cual se filtrarÃ¡n los documentos
+CDM.SubcollectionManager.Subcollection_Controls:Definir filtros
+CDM.SubcollectionManager.Subindex_Controls:Asignar particiones
+CDM.SubcollectionIndexManager.Add_Subindex:AÃ±adir particiÃ³n
+CDM.SubcollectionIndexManager.Add_Subindex_Tooltip:AÃ±ade la particiÃ³n especificada a esta colecciÃ³n
+CDM.SubcollectionIndexManager.Default_Partition_Indicator:[ParticiÃ³n por Defecto]
+CDM.SubcollectionIndexManager.Remove_Subindex:Eliminar particiÃ³n
+CDM.SubcollectionIndexManager.Remove_Subindex_Tooltip:Elimina la particiÃ³n seleccionada de esta colecciÃ³n
+CDM.SubcollectionIndexManager.Replace_Subindex:Remplazar ParticiÃ³n
+CDM.SubcollectionIndexManager.Replace_Subindex_Tooltip:Actualizar la particiÃ³n seleccionada
+CDM.SubcollectionIndexManager.Set_Default_Subindex:Predeterminar
+CDM.SubcollectionIndexManager.Set_Default_Subindex_Tooltip:Hace que la particiÃ³n seleccionada sea la particiÃ³n por omisiÃ³n
+CDM.SubcollectionIndexManager.Source:Construir particiÃ³n en:
+CDM.SubcollectionIndexManager.Source_Tooltip:Los filtros de la subcolecciÃ³n para construir la particiÃ³n en
+CDM.SubcollectionIndexManager.Subindexes:Particiones asignadas a la subcolecciÃ³n
+CDM.TranslationManager.Add:AÃ±adir traducciÃ³n
+CDM.TranslationManager.Add_Tooltip:AÃ±ade la traducciÃ³n especificada a la colecciÃ³n
+CDM.TranslationManager.Affected_Features:Funciones
+CDM.TranslationManager.Assigned_Fragments:Traducciones asignadas
+CDM.TranslationManager.Default_Text:Fragmento de texto inicial
+CDM.TranslationManager.Fragment_Column:Fragmento de texto
+CDM.TranslationManager.Language:Idioma de la traducciÃ³n
+CDM.TranslationManager.Language_Column:Idioma
+CDM.TranslationManager.Language_Tooltip:Es el idioma al que se traducirÃ¡
+CDM.TranslationManager.Remove:Eliminar traducciÃ³n
+CDM.TranslationManager.Remove_Tooltip:Quita la traducciÃ³n seleccionada de la colecciÃ³n
+CDM.TranslationManager.Replace:Reemplazar traducciÃ³n
+CDM.TranslationManager.Replace_Tooltip:Actualiza la traducciÃ³n seleccionada
+CDM.TranslationManager.Translation:Texto traducido
+CDM.TranslationManager.Translation_Tooltip:Escriba aquÃ­ la traducciÃ³n de la cadena de texto
+CDM.DepositorMetadataManager.Warning:Por lo menos debe seleccionarse un metadato.  
+#*******************
+#
+#***** Collection *****
+Collection.Collection:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>ColecciÃ³n</FONT></STRONG></HTML>
+Collection.Delete_Tooltip:Elimina los ficheros y carpetas seleccionados  
+Collection.Filter_Tooltip:Limita el nÃºmero de ficheros mostrados en este Ã¡rbol de ficheros  
+Collection.New_Folder_Tooltip:Crea una nueva carpeta
+Collection.No_Collection:No hay colecciÃ³n
+Collection.No_Collection_Loaded:ColecciÃ³n no cargada  
+Collection.Stop:Detener
+Collection.Stop_Tooltip:Detiene la copia de los ficheros  
+Collection.Workspace:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>Ãrea de trabajo</FONT></STRONG></HTML>
+#**********************
+#
+#***** CollectionBuilt *****
+CollectionBuilt.Message:Se ha construido la colecciÃ³n y estÃ¡ lista para verse.
+CollectionBuilt.Title:Resultado del proceso de creaciÃ³n de la colecciÃ³n
+#***************************
+#
+#******ScheduldBuilt******
+ScheduleBuilt.Message:La programaciÃ³n de esta colecciÃ³n ha sido alterada.  
+ScheduleBuilt.Title:Resultado de la programaciÃ³n de la colecciÃ³n  
+#***************************
+#
+#***** CollectionManager *****
+CollectionManager.Schedule_Failed:Ha ocurrido un error y la colecciÃ³n no puede programarse para una construcciÃ³n periÃ³dica.  
+CollectionManager.Build_Cancelled:Se ha cancelado la construcciÃ³n de la colecciÃ³n.
+CollectionManager.Cannot_Create_Collection:Ha ocurrido un error y no se ha podido crear la colecciÃ³n
+CollectionManager.Cannot_Create_Collection_With_Reason:La colecciÃ³n no pudo crearse debido a:\n{0-Error message}  
+CollectionManager.Cannot_Delete_Index:Esta colecciÃ³n no se puede reconstruir debido a que los ficheross de Ã­ndices anteriores no se pueden suprimir.\n Por favor asegÃºrese que Greenstone o algÃºn otro programa no estÃ¡ usando estos ficheros\n e intÃ©ntelo de nuevo.  
+CollectionManager.Cannot_Delete_Index_Log:Los ficheros de Ã­ndices anteriores no se pudieron suprimir, por lo cual la importaciÃ³n se detuvo.  
+CollectionManager.Cannot_Open:La colecciÃ³n en:\n{0-ruta del fichero de la colecciÃ³n}\n no se pudo abrir.  
+CollectionManager.Cannot_Open_With_Reason:La colecciÃ³n en:\n{0-ruta de acceso al fichero de la colecciÃ³n}\n no pudo abrirse debido a:\n{1-mensaje de error}  
+CollectionManager.Creating_Collection:Creando colecciÃ³n  
+CollectionManager.Creating_Collection_Please_Wait:Creando la colecciÃ³n, por favor, espere...  
+CollectionManager.Loading_Collection:Cargando colecciÃ³n
+CollectionManager.Loading_Collection_Please_Wait:Cargando colecciÃ³n, espere por favorâŠ
+CollectionManager.Loading_Successful:ColecciÃ³n cargada {0}.
+CollectionManager.Missing_Config:Esta colecciÃ³n no cuenta con un fichero collect.cfg vÃ¡lido  
+CollectionManager.Not_Col_File:{0}' no es un fichero de colecciÃ³n de la Interfaz de la Biblioteca Digital (.col)  
+CollectionManager.No_Config_File:El fichero collect.cfg no ha sido creado por mkcol.pl  
+CollectionManager.Preview_Ready_Failed:Ha ocurrido un error que evitarÃ¡ que la colecciÃ³n se pueda ver de forma preliminar.
+CollectionManager.Preview_Ready_Title:Vista preliminar de la colecciÃ³n.
+CollectionManager.Schedule_Ready_Title:Estado de programaciÃ³n.  
+CollectionManager.Build_Not_Moved:El directorio building no podrÃ­a moverse.Intente construir de nuevo, o salga de GLI y del servidor, reinicie GLI e intente reconstruir de nuevo -- esto deberÃ­a solucionar el problema.  
+CollectionManager.Index_Not_Deleted:El directorio index podrÃ­a no ser borrado. Intente salir de GLI y del servidor, reinicie GLI y reconstruya -- esto deberÃ­a solucionar el problema.  
+CollectionManager.Install_Exception:Detectada una excepciÃ³n durante la instalaciÃ³n de la colecciÃ³n:\n{0}\nSeguramente causada por Windows o por bloqueos de la Biblioteca Local Greenstone.\nPor favor, asegÃºrese de que ninguno de los ficheros fuente de la colecciÃ³n\nse encuentran abiertos en aplicaciones externas, y entonces reconstruya la colecciÃ³n.  
+#*****************************
+#
+#***** CollectionPopupMenu *****
+CollectionPopupMenu.Delete:Suprimir
+CollectionPopupMenu.New_Dummy_Doc:Nuevo documento postizo
+CollectionPopupMenu.New_Folder:Nueva carpeta  
+CollectionPopupMenu.Refresh:Actualizar la vista de carpeta  
+CollectionPopupMenu.Rename:Renombrar  
+CollectionPopupMenu.Replace:Reemplazar
+#*******************************
+#
+#***** CreatePane *****
+CreatePane.Schedule_Progress:Progreso de la programaciÃ³n  
+CreatePane.Schedule:Opciones de programaciÃ³n  
+CreatePane.Schedule_Tooltip:Opciones de la programaciÃ³n para la creaciÃ³n automÃ¡tica de la colecciÃ³n  
+CreatePane.Schedule_Build:Programar AcciÃ³n  
+CreatePane.Schedule_Build_Tooltip:Programar la creaciÃ³n automÃ¡tica de la colecciÃ³n  
+CreatePane.Build:Opciones de construcciÃ³n de la colecciÃ³n
+CreatePane.Build_Tooltip:Opciones para las fases de indexaciÃ³n y clasificaciÃ³n en la formaciÃ³n de la colecciÃ³n
+CreatePane.Build_Collection:Crear colecciÃ³n
+CreatePane.Build_Collection_Tooltip:Inicia el proceso de formaciÃ³n de la colecciÃ³n
+CreatePane.Build_Progress:Grado de avance en el proceso de construcciÃ³n
+CreatePane.Cancel_Build:Cancelar la construcciÃ³n
+CreatePane.Cancel_Build_Tooltip:Detiene el proceso de formaciÃ³n de la colecciÃ³n
+CreatePane.Full_Build:ReconstrucciÃ³n completa  
+CreatePane.Full_Build_Tooltip:ReconstrucciÃ³n completa de la colecciÃ³n desde el inicio.  
+CreatePane.Import:Opciones de importaciÃ³n de la colecciÃ³n
+CreatePane.Import_Tooltip:Opciones para las fases de conversiÃ³n de ficheros y asignaciÃ³n de metadatos en la formaciÃ³n de la colecciÃ³n  
+CreatePane.Import_Progress:Grado de avance del proceso de importaciÃ³n
+CreatePane.Minimal_Build:ReconstrucciÃ³n mÃ­nima  
+CreatePane.Minimal_Build_Tooltip:MÃ¡s rÃ¡pido, ya que sÃ³lo se ejecutan las partes que son necesarias del proceso de construcciÃ³n de la colecciÃ³n  
+CreatePane.Minimal_Build_Not_Required:No es necesario reconstruir porque no ha aÃ±adido ficheros a la colecciÃ³n, \ni editado metadatos, ni cambiado opciones en el panel de DiseÃ±o. \n(Para forzar la reconstrucciÃ³n, seleccione "ReconstrucciÃ³n completa" y pulse el botÃ³n "Construir colecciÃ³n".)  
+CreatePane.Log:Registro de mensajes
+CreatePane.Log_Tooltip:Muestra los resultados de intentos anteriores de construcciÃ³n de la colecciÃ³n
+CreatePane.Mode_All:todos
+CreatePane.Options:Grupos opcionales
+CreatePane.Options_Title:Opciones de ImportaciÃ³n, ConstrucciÃ³n y ProgramaciÃ³n de la colecciÃ³n  
+CreatePane.Preview_Collection:Vista previa de la colecciÃ³n
+CreatePane.Preview_Collection_Tooltip:Vista previa de la colecciÃ³n  
+#**********************
+#
+#***** Dates *****
+Dates.Mon:Lunes
+Dates.Tue:Martes
+Dates.Wed:MiÃ©rcoles
+Dates.Thu:Jueves
+Dates.Fri:Viernes
+Dates.Sat:SÃ¡bado
+Dates.Sun:Domingo
+Dates.Jan:Enero
+Dates.Feb:Febrero
+Dates.Mar:Marzo
+Dates.Apr:Abril
+Dates.May:Mayo
+Dates.Jun:Junio
+Dates.Jul:Julio
+Dates.Aug:Agosto
+Dates.Sep:Septiembre
+Dates.Oct:Octubre
+Dates.Nov:Noviembre
+Dates.Dec:Diciembre
+#**********************
+#
+#***** Delete Collection Prompt *****
+DeleteCollectionPrompt.Collection_Details:Detalles de la colecciÃ³n seleccionada
+DeleteCollectionPrompt.Collection_List:Colecciones disponibles
+DeleteCollectionPrompt.Confirm_Delete:Por favor marque el recuadro para confirmar que desea eliminar la colecciÃ³n.
+DeleteCollectionPrompt.Delete:Suprimir
+DeleteCollectionPrompt.Delete_Tooltip:Elimina la colecciÃ³n seleccionada
+DeleteCollectionPrompt.Details:Creador - {0}\nAdministrador - {1}\nDescripciÃ³n\n{2}
+DeleteCollectionPrompt.Failed_Delete:La colecciÃ³n no se pudo eliminar por completo.
+DeleteCollectionPrompt.Failed_Title:Â¡No se puede eliminar!
+DeleteCollectionPrompt.No_Collection:No se ha seleccionado ninguna colecciÃ³n.
+DeleteCollectionPrompt.Successful_Delete:La colecciÃ³n ha sido eliminada.
+DeleteCollectionPrompt.Successful_Title:Â¡Se ha eliminado por completo!
+DeleteCollectionPrompt.Title:EliminaciÃ³n de la colecciÃ³n
+DeleteCollectionPrompt.Cannot_Delete_Open_Collection_Tooltip:No se puede borrar la colecciÃ³n {0}, debido a que estÃ¡ abierta actualmente  
+#**********************
+#
+#***** DirectoryLevelMetadata *****
+DirectoryLevelMetadata.Message:EstÃ¡ a punto de asignar metadatos âa nivel de carpetaâ a la carpeta (o carpetas) seleccionadas. Estos metadatos serÃ¡n heredados automÃ¡ticamente por todos sus ficheros y subcarpetas, y  no podrÃ¡n eliminarse de ninguno de ellos de forma individual, sino sÃ³lo reemplazarse. Para continuar haga click en âAceptarâ.  
+DirectoryLevelMetadata.Title:A punto de aÃ±adir metadatos a nivel de carpeta
+
+#*******************
+#
+#***** Download *****
+DOWNLOAD.MODE.Root:Download_Root  
+DOWNLOAD.MODE.WebDownload:Web  
+DOWNLOAD.MODE.MediaWikiDownload:MediaWiki  
+DOWNLOAD.MODE.OAIDownload:OAI  
+DOWNLOAD.MODE.ZDownload:Z39.50  
+DOWNLOAD.MODE.SRWDownload:SRW  
+
+Download.ServerInformation:InformaciÃ³n del servidor  
+Download.ServerInformation_Tooltip:Descarga informaciÃ³n sobre el servidor, y comprueba que se pueda establecer la conexiÃ³n  
+
+#********************
+#
+#***** EnrichPane *****
+EnrichPane.AutoMessage:Este elemento, {0}, pertenece al conjunto de metadatos de Greenstone, el cual representa metadatos que normalmente pueden extraerse automÃ¡ticamente. Para saber quÃ© metadatos {0} pueden extraerse, construya una colecciÃ³n por medio de la pantalla âCrearâ.
+EnrichPane.ExistingValues:Valores existentes para {0}  
+EnrichPane.InheritedMetadataSelected:Este valor de metadato se hereda de una carpeta superior, y no puede editarse. Puede visitar la carpeta que contiene el metadato pulsando en el icono de carpeta situado al inicio de la fila.  
+EnrichPane.InheritedMetadata_Tooltip:Pulsar este icono para ver la carpeta donde se ha heredado este elemento de metadato  
+EnrichPane.ManageMetadataSets:Gestionar Conjuntos de Metadatos...  
+EnrichPane.ManageMetadataSets_Tooltip:Cambiar los conjuntos de metadatos usados en la colecciÃ³n  
+EnrichPane.No_File:No se ha seleccionado ningÃºn fichero  
+EnrichPane.No_Metadata:No hay metadatos disponibles
+EnrichPane.No_Metadata_Element:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>No se ha seleccionado ningÃºn elemento de metadato</FONT></STRONG></HTML>
+EnrichPane.NotOneFileOnlyMetadataSelected:Esta parte de metadatos no solo es aplicable para este fichero, y no puede ser editada.  
+EnrichPane.Value_Field_Tooltip:Es el valor que se asignarÃ¡ al elemento de metadato seleccionado.
+EnrichPane.Value_Field_Tooltip_Uneditable:Valor asignado al metadato seleccionado  
+#***********************
+#
+#****** ExplodeMetadataPrompt *******
+ExplodeMetadataPrompt.Explode:Explotar
+ExplodeMetadataPrompt.Explode_Tooltip:Explotar el fichero de metadatos  
+ExplodeMetadataPrompt.Instructions:La explosiÃ³n de este fichero de metadatos producirÃ¡ registros individuales con metadatos editables. Este proceso es irreversible y el fichero original de metadatos serÃ¡ eliminado de la colecciÃ³n.  
+ExplodeMetadataPrompt.Failed_Title:FallÃ³ la ExplosiÃ³n.
+ExplodeMetadataPrompt.Failed_Explode:No se pudo explotar la base de datos {0}
+ExplodeMetadataPrompt.NotExplodable:Este fichero no es explotable.  
+ExplodeMetadataPrompt.Successful_Explode:La base de datos {0} ha sido explotada con Ã©xito
+ExplodeMetadataPrompt.Successful_Title:Se completÃ³ la ExplosiÃ³n.
+ExplodeMetadataPrompt.Title:Explotar la Base de Datos de Metadatos
+ExplodeMetadataPrompt.Plugin:Plugin usado para expandir  
+#***********************
+#
+#****** ReplaceSrcWithHTMLPrompt *******
+ReplaceSrcWithHTMLPrompt.ReplaceSrc:Reemplazar con la versiÃ³n HTML  
+ReplaceSrcWithHTMLPrompt.ReplaceSrc_Tooltip:Reemplazar el documento origen con la versiÃ³n HTML que genera Greenstone.  
+ReplaceSrcWithHTMLPrompt.Instructions:Reemplazar un documento con su versiÃ³n HTML generada le permitirÃ¡ editar el archivo HTML y reconstruir la colecciÃ³n en un futuro con todos esos cambios intactos. Este es un proceso irreversible y el documento original reemplazado de este modo serÃ¡ removido.  
+ReplaceSrcWithHTMLPrompt.Failed_Title:FallÃ³ el reemplazo por HTML.  
+ReplaceSrcWithHTMLPrompt.Failed_ReplaceSrc:Los documentos {0} no pueden reemplazarse con una versiÃ³n HTML.  
+ReplaceSrcWithHTMLPrompt.NotSrcReplaceable:Este tipo de archivo no puede reemplazarse con una versiÃ³n HTML.  
+ReplaceSrcWithHTMLPrompt.Successful_ReplaceSrc:Todos los documentos seleccionados han sido reemplazados exitosamente por su versiÃ³n HTML.  
+ReplaceSrcWithHTMLPrompt.Successful_Title:El reemplazo por la versiÃ³n HTML generada se ha completado.  
+ReplaceSrcWithHTMLPrompt.Title:Reemplazar documentos de origen por archivos HTML  
+ReplaceSrcWithHTMLPrompt.Plugin:Conector a utilizar para la expansiÃ³n  
+#***********************
+#
+#****** WriteCDImagePrompt *******
+WriteCDImagePrompt.CD_Name:Nombre del CD-ROM
+WriteCDImagePrompt.Export:Exportar
+WriteCDImagePrompt.Export_Tooltip:Exportar las colecciones seleccionadas al CD-ROM para Windows
+WriteCDImagePrompt.Failed_Export:Las colecciones  ({0}) no se pudieron exportar al CD-ROM
+WriteCDImagePrompt.Failed_Title:No se pudo exportar
+WriteCDImagePrompt.Install:El CD/DVD instalarÃ¡ algunos ficheros cuando se use (mÃ¡s rÃ¡pido)  
+WriteCDImagePrompt.Install_Tooltip:Crea un CD-ROM que auto instala el servidor de la Biblioteca (y opcionalmente todos los ficheros de la colecciÃ³n) en el servidor.  
+WriteCDImagePrompt.NoInstall:El CD/DVD no instalarÃ¡ ningÃºn fichero cuando se use  
+WriteCDImagePrompt.NoInstall_Tooltip:Produce un CD-ROM que ejecuta directamente la Biblioteca, sin instalar nada en el computador  
+WriteCDImagePrompt.Instructions:Exportar una o mÃ¡s colecciones a una imÃ¡gen CD/DVD para Windows para que se instale automÃ¡ticamente (aunque esto funciona en cualquier plataforma, el CD/DVD que se crea Ãºnicamente correrÃ¡ bajo Windows).  
+WriteCDImagePrompt.Progress_Label:Copiando ficheros. Esto podrÃ¡ tomar algÃºn tiempo...  
+WriteCDImagePrompt.Size_Label:TamaÃ±o estimado:  
+WriteCDImagePrompt.Successful_Export:Se han exportado las colecciones ({0}).
+WriteCDImagePrompt.Successful_Title:ExportaciÃ³n completa
+WriteCDImagePrompt.Title:Exportar la colecciÃ³n a un CD-ROM
+#************************
+#
+#****** ExportAsPrompt *******
+ExportAsPrompt.Export_Name:Nombre de la carpeta  
+ExportAsPrompt.Export_Name_Tooltip:Nombre de la carpeta en el directorio /tmp de Greenstone donde se guardarÃ¡n las colecciones exportadas.  
+ExportAsPrompt.Export:Exportar la colecciÃ³n  
+ExportAsPrompt.Export_Tooltip:Exportar las colecciones seleccionadas en el formato de archivo escogido al directorio designado  
+ExportAsPrompt.Failed_ExportOne:La colecciÃ³n {0} no pudo exportarse.  
+ExportAsPrompt.Failed_Details:Ver detalles en {1}
+ExportAsPrompt.Failed_Title:FallÃ³ la ExportaciÃ³n
+ExportAsPrompt.Instructions:Exportar los archivos de una colecciÃ³n a otro formato  
+ExportAsPrompt.Progress_Label:Exportando Ficheros. Esto puede tomar algÃºn tiempoâŠ  
+ExportAsPrompt.Successful_ExportOne:La colecciÃ³n {0} ha sido exportada.  
+ExportAsPrompt.Successful_Details:Ficheros exportados a: {1}  
+ExportAsPrompt.Successful_Title:ExportaciÃ³n Completada
+ExportAsPrompt.Title:Exportar ColecciÃ³n  
+ExportAsPrompt.SaveAs:Exportar a
+ExportAsPrompt.SaveAs_Tooltip:Seleccione el formato al cual desea exportar
+ExportAsPrompt.Cancel:Cancelar  
+ExportAsPrompt.Cancel_Tooltip:Cancelar el proceso de exportaciÃ³n  
+ExportAsPrompt.Browse:Mostrar  
+ExportAsPrompt.Browse_Tooltip:Elegir un fichero XSL  
+ExportAsPrompt.ApplyXSL:Aplicar fichero XSL a (0)  
+ExportAsPrompt.ApplyXSL_Tooltip:Usar un fichero XSL para convertir los ficheros exportados  
+ExportAsPrompt.MARCXMLGroup:Agrupar registros MARC  
+ExportAsPrompt.MARCXMLGroup_Tooltip:Exportar todos los registros MARC a un fichero simple  
+ExportAsPrompt.MappingXML:Aplicar el fichero de mapeado  
+ExportAsPrompt.MappingXML_Tooltip:Usar un fichero de mapeo para convertir los ficheros exportados.  
+#
+#***** Inherited Metadata *****
+ExtractedMetadata.Message:El archivo o carpeta seleccionada contiene metadatos extraÃ­dos, los cuales estÃ¡n ocultos. Para verlos vaya al menÃº "[A]rchivo" y seleccione la opciÃ³n "[P]referencias". En la hoja de propiedades "Generales" seleccione "Ver metadatos extraÃ­dos" y haga click en "[A]ceptar".  
+ExtractedMetadata.Title:Este fichero/carpeta tiene metadatos extraÃ­dos ocultos  
+#
+#***** FileActions *****
+FileActions.Calculating_Size:Calculando el tamaÃ±o total de los ficheros seleccionados  
+FileActions.Copying:Copiando {0}  
+FileActions.Could_Not_Delete:No se podrÃ­a borrar {0}  
+FileActions.Cyclic_Path:No se puede copiar {0}: la carpeta de destino es una subcarpeta de la carpeta de origen.  
+FileActions.Deleting:Borrando {0}  
+FileActions.Directories_Selected:{0} carpetas seleccionadas
+FileActions.Directory_Selected:1 carpeta seleccionada
+FileActions.File_Already_Exists_No_Create:El fichero '{0}' ya existe.  
+FileActions.File_And_Directories_Selected:1 fichero y {0} carpetas seleccionadas  
+FileActions.File_And_Directory_Selected:1 fichero y 1 carpeta seleccionadas  
+FileActions.File_Create_Error:El fichero {0} no pudo ser creado.  
+FileActions.Folder_Create_Error:La carpeta {0} no pudo ser creada.
+FileActions.File_Exists:{0} ya existe en la carpeta de destino. Â¿Desea reemplazarlo?
+FileActions.File_Move_Error_Message:No se puede mover {0} a\n{1}.  
+FileActions.File_Not_Deleted_Message:{0}\nEl fichero indicado arriba no puede borrarse. \nPor favor, compruebe que no tiene el fichero\nabierto con un programa externo, y pruebe de nuevo.  
+FileActions.File_Not_Found_Message:{0}\nNo se encontrÃ³ el fichero mencionado. Una vez que la vista de los ficheros\n se haya refrescado, por favor verifique si el fichero aÃºn existe.  
+FileActions.File_Selected:1 fichero seleccionado  
+FileActions.Files_And_Directory_Selected:{0} ficheros y 1 carpeta seleccionados  
+FileActions.Files_Selected:{0} ficheros seleccionados  
+FileActions.Folder_Already_Exists:El nombre de la carpeta '{0}' ya se estÃ¡ usando. No se puede crear la carpeta.
+FileActions.Insufficient_Space_Message:La acciÃ³n no se pudo realizar debido a que no hay suficiente espacio en el disco.\n Para que el fichero se pueda copiar se requiere de uno\n adicional: {0}  
+FileActions.Moving:Moviendo {0}
+FileActions.No_Activity:No se requiere ninguna acciÃ³n
+FileActions.Read_Not_Permitted_Message:No se puede leer {0}.  
+FileActions.Read_Only:Los ficheros del Ã¡rea de trabajo son de sÃ³lo lectura y no se pueden eliminar.  
+FileActions.Replacing:Reemplazando {0}  
+FileActions.Selected:{0} ficheros y {1} carpetas seleccionadas  
+FileActions.Unknown_File_Error_Message:Aunque no se registrÃ³ ningÃºn mensaje de error durante la acciÃ³n\n, la revisiÃ³n final ha mostrado que la copia\n no es igual al fichero original. La razÃ³n\n de esto es desconocida. Por favor revise el medio y actualice\n la JVM instalada.  
+FileActions.Write_Not_Permitted_Message:La Interfaz de la Biblioteca Digital no tiene permiso para escribir en\n{0}\n Por favor revise los permisos de acceso al fichero.  
+FileActions.Write_Not_Permitted_Title:Error - Permisos de acceso al fichero incorrectos  
+FileActions.Yes_To_All:Si a todo
+FileActions.File_Permission_Detail:\n\Nota: En general, la Interfaz de Bibliotecario de Greenstone necesita permiso de escritura para el directorio raÃ­z de Greenstone. \nque es  {0}.\n. Por favor, conceda âControl completoâ para este directorio (y para todos sus subdirectorios) al usuario actua  ({1}), e intÃ©ntelo de nuevo.\n\n(Alternativamente, reinstale Greenstone en una localizaciÃ³n en la que tenga âControl completoâ,\ncomo su directorio raÃ­z o âMis documentosâ).  
+
+#************************
+#
+#******* File Associations dialog **********
+FileAssociationDialog.Add:AÃ±adir
+FileAssociationDialog.Add_Tooltip:Utilice este programa para ver ficheros de este tipo  
+FileAssociationDialog.Batch_File:Ficheros de procesamiento por lotes  
+FileAssociationDialog.Browse:Explorar
+FileAssociationDialog.Browse_Tooltip:Escoge el programa que se usarÃ¡ desde el espacio de ficheros de su computadora  
+FileAssociationDialog.Browse_Tooltip_Mac:La bÃºsqueda de su aplicaciÃ³n no estÃ¡ activa en este momento para MacOS
+FileAssociationDialog.Browse_Title:Elegir aplicaciÃ³n
+FileAssociationDialog.Close:Cerrar
+FileAssociationDialog.Close_Tooltip:Cerrar este cuadro de diÃ¡logo y regresar a la ventana principal
+FileAssociationDialog.Command:Orden de inicio:  
+FileAssociationDialog.Command_File:Fichero de Ã³rdenes  
+FileAssociationDialog.Command_Tooltip:Introduzca la orden para iniciar el programa que se va a usar  
+FileAssociationDialog.Details:Detalles de la nueva asociaciÃ³n
+FileAssociationDialog.Executable_File:Ficheros ejecutables  
+FileAssociationDialog.Extension:Para ficheros que terminan en:  
+FileAssociationDialog.Extension_Tooltip:La extensiÃ³n de los ficheros que se van a ver  
+FileAssociationDialog.Instructions:Utilice este cuadro de diÃ¡logo para establecer los programas externos que se usarÃ¡n para ver un cierto tipo de ficheroo y la orden que se enviarÃ¡ para iniciar este programa.\n Para aÃ±adir un nuevo tipo de fichero escriba su extensiÃ³n en âPara ficheros que terminan enâ. Para aÃ±adir o modificar una orden de inicio escriba la nueva orden en âOrden de inicioâ o haga click en âExplorarâ para buscar el sistema de ficheros un programa apropiado. Use la cadena de caracteres especiales â%1â para indicar el lugar en el que el nombre del fichero que se abrirÃ¡ deberÃ¡ insertarse, p. ej. "C:\\Windows\\System\\MSPaint.exe %1". '%1' se anexarÃ¡ al final de una orden si no se especifica de otra manera.\n Los usuarios de Mac OS siempre deberÃ¡n intentar primero la orden especÃ­fica para mac "open [-a <application_name>] %1".  
+FileAssociationDialog.Table.Command:Orden  
+FileAssociationDialog.Table.Extension:ExtensiÃ³n
+FileAssociationDialog.Title:Editar asociaciones de ficheros  
+FileAssociationDialog.Remove:Eliminar
+FileAssociationDialog.Remove_Tooltip:Elimine la asociaciÃ³n seleccionada del conjunto de asociaciones existentes  
+FileAssociationDialog.Replace:Reemplazar
+FileAssociationDialog.Replace_Tooltip:Reemplace la asociaciÃ³n seleccionada con los detalles de la nueva asociaciÃ³n  
+#*******************
+#
+#******Filter***************
+Filter.0:HTM y HTML
+Filter.1:XML
+Filter.2:Ficheros de texto  
+Filter.3:ImÃ¡genes
+Filter.4:PDF  
+Filter.5:Documentos de Office  
+Filter.All_Files:Todos los ficheros  
+Filter.Filter_Tree:Mostrar ficheros  
+Filter.Invalid_Pattern:<HTML><FONT FACE={FONT} COLOR=Black>El patrÃ³n que usted ha introducido para filtrar ficheros no es vÃ¡lido.<BR> Por favor intÃ©ntelo de nuevo usando la sintaxis de expresiones regulares con<BR>* como comodÃ­n.</FONT></HTML>  
+#***********************
+#
+#***** GAuthenticator *****
+GAuthenticator.Password:ContraseÃ±a:
+GAuthenticator.Password_Tooltip:Escriba aquÃ­ su contraseÃ±a
+GAuthenticator.Title:Requiere contraseÃ±a.
+GAuthenticator.Username:Nombre de usuario:
+GAuthenticator.Username_Tooltip:Escriba aquÃ­ su nombre de usuario
+#**************************
+#
+#***** General Messages *****
+# 0 - A String representing the name and method of the class in question.
+General.Apply:Aplicar
+General.Apply_Tooltip:Aplica los ajustes, pero sin salir del cuadro de diÃ¡logo
+General.Browse:Explorar
+General.Cancel:Cancelar
+General.Cancel_Tooltip:Cancela los cambios (no desharÃ¡ ninguno de los cambios que ya se hayan aplicado)
+General.Close:Cerrar
+General.Close_Tooltip:Cierra este cuadro de diÃ¡logo
+General.Edit:Editar valor
+General.Error:Error
+General.LLS_Not_Started:Usted ha iniciado el servidor de Greenstone, pero no ha presionado aÃºn el botÃ³n "Enter Library".\nUna vez que lo haya hecho, presione "Previsualizar ColecciÃ³n" en la "Interfaz del Bibliotecario" nuevamente para ver la colecciÃ³n.  
+General.LLS_Not_Started_Title:Servidor de biblioteca local aÃºn no iniciado.
+
+  
+General.No:No
+General.NotSunJava:Proveedor de Java: {0}\nTenga en cuenta que la Interfaz de Bibliotecario ha sido desarrollada y probada con Java de Sun Microsystems
+General.OK:Aceptar
+General.OK_Tooltip:Acepta los cambios actuales y sale del cuadro de diÃ¡logo
+General.Outstanding_Processes:<html>La Interfaz de la Biblioteca Digital no se podrÃ¡ cerrar completamente hasta que se haya salido de todos los programas<br>.</html>
+General.Outstanding_Processes_Title:Esperando para salir
+General.Pure_Cancel_Tooltip:Aborta esta acciÃ³n (no se harÃ¡ ningÃºn cambio)
+General.Review_Output:Por favor revise los resultados que estÃ¡n a continuaciÃ³n:
+General.Redo:Rehacer  
+General.Redo_Tooltip:Restaurar el Ãºltimo deshacer  
+General.Undo:Deshacer  
+General.Undo_Tooltip:Deshacer la Ãºltima ediciÃ³n  
+General.Usage:Uso: {0} <params>\nTodos los parÃ¡metros son opcionales, pero es probable que la Interfaz de la Biblioteca Digital no funcione si -gsdl y -library no se han establecido.\n -gsdl <path>  : Forzar la ruta hacia gsdl\n -library <path> : Ruta hacia cgi-bin\n -mozilla <path> : Habilitada mozilla\n -mirror : Activar los controles para la descarga de ficheros de la web\n -laf [java|windows|motif|mac] : Imagen y apariencia\n -debug : Permite depurar mensajes\n -no_load : No carga una colecciÃ³n abierta previamente\n -load <path> : Carga la colecciÃ³n especificada  
+General.View:Ver Valor
+General.Warning:Advertencia
+General.Yes:Si
+#****************************
+#
+#***** GShell *****
+GShell.BadArgument:El argumento {0} es invÃ¡lido.  
+GShell.BadArgumentValue:El argumento {0} tiene un valor invÃ¡lido.  
+GShell.BadPluginOptions:Argumento errÃ³neo en el plugin {0}.  
+GShell.BadClassifierOptions:Argumento errÃ³neno en el clasificador {0}.  
+GShell.Build.Auxilary:Creando los ficheros auxiliares y poniÃ©ndolos en orden...  
+GShell.Build.BuildBegun1:************ Iniciando el proceso de construcciÃ³n de la colecciÃ³n ************
+GShell.Build.BuildCancelled:************** Cancelado **************
+GShell.Build.BuildComplete1:*********** El proceso de construcciÃ³n de la colecciÃ³n ha terminado ***********
+GShell.Build.CompressText:Comprimiendo el texto...
+GShell.Build.Index:Creando un Ã­ndice basado en {0-fuente y nivel del Ã­ndice}...
+GShell.Build.InfoDatabase:Creando una base de datos de informaciÃ³n...
+GShell.Build.Phind:Generando un clasificador Phind...
+GShell.Schedule.ScheduleBegun1:**************** Comienzo de la programaciÃ³n ***************  
+GShell.Schedule.ScheduleComplete1:**************** Fin de la programaciÃ³n *************  
+GShell.Schedule.ScheduleDelete:*********** Borrando la programaciÃ³n existente *****  
+GShell.Command:orden  
+GShell.Failure:La orden no se pudo ejecutar.  
+GShell.Import.FileNotProcessed:El fichero {0-target file path} fue reconocido pero no pudo ser procesado por ningÃºn plugin.  
+GShell.Import.FileNotRecognised:El fichero que se encuentra en {0-ruta del fichero objetivo} no se puede aÃ±adir debido a que su tipo no es reconocible por ninguno de los plugins de Greenstone.  
+GShell.Import.FileProcessing:El fichero {0-target file path} estÃ¡ siendo procesado por {1-plugin name}.  
+GShell.Import.FileProcessingError:El fichero {0-target file path} generÃ³ un error al ser procesado.  
+GShell.Import.ImportBegun1:************ Iniciando el proceso de importaciÃ³n de la colecciÃ³n ************
+GShell.Import.ImportComplete1:*********** El proceso de importaciÃ³n de la colecciÃ³n ha terminado ***********
+GShell.Import.ImportComplete2:{0-nÃºmero de documentos considerados} de los documentos fueron considerados a efecto de ser procesados:
+GShell.Import.ImportComplete2.1:1 documento fue considerado a efecto de ser procesado:
+GShell.Import.ImportComplete.Processed:{0-nÃºmero procesado} se procesaron e incluidos en la colecciÃ³n.
+GShell.Import.ImportComplete.Processed.1:1 fue procesado e incluido en la colecciÃ³n.
+GShell.Import.ImportComplete.Blocked:{0-nÃºmero bloqueado} eran ser aÃ±adidos por los plugins (como por ejemplo las imÃ¡genes de las pÃ¡ginas web).
+GShell.Import.ImportComplete.Blocked.1:1 era ser aÃ±adidos por los plugins (como por ejemplo las imÃ¡genes de las pÃ¡ginas web).
+GShell.Import.ImportComplete.Ignored:{0-nÃºmero ignorado} no eran ser reconocidos por los plugins y son disponibles en la colecciÃ³n.
+GShell.Import.ImportComplete.Ignored.1:1 no era ser reconocidos por los plugins y es disponibles en la colecciÃ³n.
+GShell.Import.ImportComplete.Failed:{0-number failed} rechazados.
+GShell.Import.ImportComplete.Failed.1:1 fue rechazado.
+GShell.Import.ImportComplete3:\n
+GShell.Import.Warning:{0-plugin name} Aviso:  
+GShell.Parsing_Metadata_Complete:ExtracciÃ³n completa de metadatos archivados.
+GShell.Parsing_Metadata_Start:Extrayendo nuevos metadatos de los ficheros.  
+GShell.Success:Orden completada.  
+#*********************
+#
+#***** GUI *****
+# Currently Enabled and Disabled display the same text but in different
+# colours. If necessary this can be changed.
+GUI.Create:Crear
+GUI.Create_Tooltip:Le ayuda a crear su colecciÃ³n por medio del conjunto de programas Greenstone
+GUI.Design:DiseÃ±o
+GUI.Design_Tooltip:DiseÃ±a la funcionalidad de su colecciÃ³n  
+GUI.Download:Descargar  
+GUI.Download_Tooltip:Baja recursos de Internet para su colecciÃ³n
+GUI.Enrich:Enriquecer
+GUI.Enrich_Tooltip:Asigna metadatos a los ficheros de su colecciÃ³n  
+GUI.Format:Formato  
+GUI.Format_Tooltip:DiseÃ±ar la presentaciÃ³n de su colecciÃ³n  
+GUI.Gather:Reunir
+GUI.Gather_Tooltip:Selecciona los ficheros que se incluirÃ¡n en su colecciÃ³n  
+#***************
+#
+#***** HELP *****
+Help.Contents:Contenido
+Help.Title:PÃ¡ginas de ayuda de la Interfaz de la Biblioteca Digital
+#****************************
+#
+#***** Invalid Metadata ******
+InvalidMetadata.Message:Este elemento de metadato estÃ¡ restringido a un conjunto predefinido de valores. Por favor, elija uno de los valores existentes.  
+InvalidMetadata.Title:Metadato invÃ¡lido  
+#***************************
+#
+#***** LegacyCollection
+LegacyCollection.Message:EstÃ¡ a punto de cargar una colecciÃ³n no creada mediante GLI. Los metadatos existentes serÃ¡n importados en el conjunto de metadatos Dublin Core. Los ficheros de metadatos originales serÃ¡n guardados en una carpeta llamada import.bak  
+LegacyCollection.Title:Cargando ColecciÃ³n Externa  
+#***************************
+#
+#***** LockFileDialog *****
+LockFileDialog.Cancel_Tooltip:No tome el control del fichero de bloqueo (o la colecciÃ³n no se abrirÃ¡)  
+LockFileDialog.Date:Fecha
+LockFileDialog.Error:error
+LockFileDialog.Lockfile_Message_One:La presencia de un fichero de bloqueo sugiere que esta colecciÃ³n estÃ¡ siendo usada por otra persona.  
+LockFileDialog.Lockfile_Message_Two:Â¿Desea tomar el control de este fichero de bloqueo?  
+LockFileDialog.Machine:Donde
+LockFileDialog.Name:Nombre
+LockFileDialog.OK_Tooltip:Toma el control del fichero de bloqueo  
+LockFileDialog.Title:Se detectÃ³ un fichero de bloqueo  
+LockFileDialog.User:Quien
+#********************
+#
+#*****MappingPrompt **********
+MappingPrompt.File:Carpeta
+MappingPrompt.Map:Crear un acceso directo
+MappingPrompt.Name:Nombre
+MappingPrompt.Title:Establecer un acceso directo a la carpeta
+MappingPrompt.Unmap:Eliminar acceso directo
+#*******************
+#
+#***** Menu Options *****
+Menu.Collapse:Cerrar carpeta
+Menu.Edit:Editar
+Menu.Edit_Copy:Copiar (ctrl-c)
+Menu.Edit_Cut:Cortar (ctrl-x)
+Menu.Edit_Paste:Pegar (ctrl-v)
+Menu.Expand:Abrir carpeta
+Menu.Explode_Metadata_Database:Explotar la base de datos de metadatos
+Menu.Replace_SrcDoc_With_HTML:Reemplazar con la versiÃ³n HTML  
+Menu.File:Archivo
+Menu.File_Associations:AsociaciÃ³n de ficheros...  
+Menu.File_CDimage:Exportar a un CD-ROM/DVD...
+Menu.File_Close:Cerrar
+Menu.File_Delete:Suprimir...
+Menu.File_Exit:Salir
+Menu.File_ExportAs:Exportar...
+Menu.File_New:Nueva...
+Menu.File_Open:Abrir...
+Menu.File_Options:Preferencias...
+Menu.File_Save:Guardar
+Menu.Help:Ayuda
+Menu.Help_About:Acerca de...
+Menu.Metadata_View:Metadatos asignados para {0}
+Menu.Open_Externally:Abrir en un programa externo
+#********************
+#
+#***** MetaAudit *****
+MetaAudit.Close:Cerrar
+MetaAudit.Close_Tooltip:Cierra este cuadro de diÃ¡logo
+MetaAudit.Title:Todos los metadatos
+#*********************
+#
+#***** Metadata *****
+Metadata.Element:Elemento
+Metadata.Value:Valor
+MetadataSet.Files:Ficheros de conjunto de metadatos  
+#**********************************
+#
+#***** MetadataSetDialog**********
+MetadataSetDialog.Title:Gestionar Conjuntos de Metadatos  
+MetadataSetDialog.Add_Title:AÃ±adir Conjunto de Metadatos  
+MetadataSetDialog.Current_Sets:Conjuntos de Metadatos Asignados  
+MetadataSetDialog.Available_Sets:Conjuntos de Metadatos disponibles  
+MetadataSetDialog.Add:AÃ±adir...  
+MetadataSetDialog.Add_Tooltip:AÃ±adir un nuevo conjunto de metadatos a la colecciÃ³n  
+MetadataSetDialog.New_Set:Nuevo...  
+MetadataSetDialog.New_Set_Tooltip:Crea un nuevo conjutno de metadatos  
+MetadataSetDialog.Add_Set:AÃ±adir  
+MetadataSetDialog.Add_Set_Tooltip:AÃ±adir el conjunto de metadatos seleccionado a la colecciÃ³n  
+MetadataSetDialog.Browse:Mostrar...  
+MetadataSetDialog.Browse_Tooltip:AÃ±adir un nuevo conjunto de metadatos a la colecciÃ³n  
+MetadataSetDialog.Edit:Editar...  
+MetadataSetDialog.Edit_Tooltip:Editar el conjunto de metadatos seleccionado  
+MetadataSetDialog.Remove:Borrar  
+MetadataSetDialog.Remove_Tooltip:Borrar de la colecciÃ³n el conjunto de metadatos seleccionado  
+MetadataSetDialog.Elements:Elementos del Conjunto de Metadatos seleccionado  
+
+#****************************************
+#
+#***** MetadataSetNamespaceClash warning***
+MetadataSetNamespaceClash.Title:Conflicto de Espacio de Nombres del Conjunto de Metadatos  
+MetadataSetNamespaceClash.Message:El conjunto de metadatos que ha elegido aÃ±adir ({0}) tiene el mismo espacio de nombres que otro existente ya en la colecciÃ³n ({1}). Si aÃ±ade este nuevo conjunto, el otro se borrarÃ¡ y el nuevo lo sustituirÃ¡. Cualquier valor asignado de metadatos se transferirÃ¡ al nuevo conjunto si Ã©ste contiene los elementos apropiados.  
+#*********************************************
+#
+#******** MetadataImportMappingPrompt *********
+MIMP.Add::AÃ±adir
+MIMP.Add_Tooltip:AÃ±ade el elemento de metadato al conjunto seleccionado
+MIMP.Ignore:Ignorar
+MIMP.Ignore_Tooltip:Ignora este elemento de metadato
+MIMP.Instructions:El elemento de metadato {0} no se puede importar automÃ¡ticamente a la colecciÃ³n. Seleccione un conjunto de metadatos y:\n(1) haga click en âAÃ±adirâ para agregar el metadato a ese conjunto (sÃ³lo si el metadato {0} no se encuentra ya en el conjunto), o\n(2) elija un elemento y haga click en âCombinarâ para importar el metadato {0} a este elemento, o\n(3) ignore este elemento de metadato.
+MIMP.Merge:Combinar
+MIMP.Merge_Tooltip:Mapea el elemento de metadato hacia el elemento especificado en el conjunto seleccionado
+MIMP.Source_Element:Elemento de metadatos origen:
+MIMP.Target_Element:Elemento de metadatos destino:
+MIMP.Target_Set:Conjunto de metadatos destino:
+MIMP.Title:Es necesario combinar los elementos.
+#*****************************
+#
+#***** Mirroring *****
+Mirroring.ClearCache:Borrar CachÃ©
+Mirroring.ClearCache_Tooltip:Borrar todos los ficheros descargados  
+Mirroring.Download:Descargar  
+Mirroring.Download_Tooltip:Inicia una nueva descarga
+Mirroring.DownloadJob.Close:Cerrar
+Mirroring.DownloadJob.Close_Tooltip:Quitar este job de la lista, deteniÃ©ndolo si todavÃ­a estÃ¡ en ejecuciÃ³n
+Mirroring.DownloadJob.Downloading:Bajando {0}
+Mirroring.DownloadJob.Download_Complete:Descarga completa
+Mirroring.DownloadJob.Download_Stopped:Descarga detenida
+Mirroring.DownloadJob.Download_Progress:Descarga en ejecuciÃ³n
+Mirroring.DownloadJob.Log:Ver BitÃ¡cora
+Mirroring.DownloadJob.Log_Tooltip:Ver detalles acerca de esta descarga
+Mirroring.DownloadJob.Log_Title:Fichero de control de descarga  
+Mirroring.DownloadJob.Pause:Pausa
+Mirroring.DownloadJob.Pause_Tooltip:Pausa
+Mirroring.DownloadJob.Resume:Reiniciar
+Mirroring.DownloadJob.Resume_Tooltip:Reiniciar esta descarga
+Mirroring.DownloadJob.Status:{0} descarga de {1} ficheros ({2} mensajes de advertencia, {3} errores)  
+Mirroring.DownloadJob.Waiting:Esperando para iniciar
+Mirroring.DownloadJob.Waiting_User:Esperando instrucciones
+Mirroring.Invalid_URL:El URL que se ingresÃ³ no es vÃ¡lido. Por favor corrÃ­jalo.
+Mirroring.Invalid_URL_Title:URL invÃ¡lida
+Mirroring.Preferences:Configurar ProxyâŠ  
+Mirroring.Preferences_Tooltip:Habilitar proxy y/o editar la configuraciÃ³n del proxy
+#*********************
+#
+#***** Missing EXEC *****
+MissingEXEC.Message:Â¡Cuidado! Usted no podrÃ¡ ver sus nuevas colecciones dentro de la Interfaz de Bibliotecario a menos que especifique la ruta hacia el servidor web de la Biblioteca Greenstone. Usted puede indicarla ahora en el campo de texto que se encuentra debajo, o mÃ¡s tarde en "Preferencias", pestaÃ±a "ConexiÃ³n". Recuerde que un url vÃ¡lido debe comenzar con el protocolo "http://" y terminar con el nombre del ejecutable ("gsdl" para el servidor de la biblioteca local Greenstone, "library" para otros servidores web).  
+MissingEXEC.Title:Falta la direcciÃ³n de la Biblioteca Greenstone
+#***** Missing EXEC_GS3 *****
+MissingEXEC_GS3.Message:Por favor ingrese la URL a la biblioteca de Greenstone3. No podrÃ¡ ver las nuevas colecciones con la Interfaz de Bibliotecario a menos que especifique la ruta al entorno Greenstone en el servidor local Tomcat. Puede introducirla ahora en el campo de texto situado debajo, o mÃ¡s tarde en "Preferencias", pestaÃ±a "ConexiÃ³n". Recuerde que un URL vÃ¡lido debe comenzar con el protocolo "http://".  
+MissingEXEC_GS3.Title:URL de la Biblioteca Greenstone 3  
+#***** Missing GLIServer *****
+MissingGLIServer.Message:Ingrese la direcciÃ³n del script remoto de Greenstone "gliserver.pl" en el recuadro de abajo. Recuerde que una URL vÃ¡lida debe comenzar con el protocolo "http://" y finalizar con "gliserver".  
+MissingGLIServer.Title:Especifique la direcciÃ³n del Servidor GLI  
+#***** Missing GSDL *****
+MissingGSDL.Message:Â¡Cuidado! Usted no podrÃ¡ tener acceso a todas las funciones de la Interfaz de Bibliotecario sin tener instalada una copia local de Biblioteca Digital Greenstone. Si usted cree que estÃ¡ recibiendo este mensaje por error, por favor revise su instalaciÃ³n y las rutas especificadas en los ficheros script y batch de la Interfaz de Bibliotecario.  
+MissingGSDL.Title:Falta la ruta de conexiÃ³n con Greenstone
+#***** Missing PERL *****
+MissingPERL.Message:Â¡Cuidado! Usted no podrÃ¡ crear nuevas colecciones ni construir las que ya existen, si no ha instalado el lenguaje de programaciÃ³n PERL, o si la Interfaz de Bibliotecario no pudo encontrarlo en su sistema. Si usted cree que estÃ¡ recibiendo este mensaje por error, por favor revise su instalaciÃ³n y las rutas especificadas en los ficheros de script y batch de la Interfaz de Bibliotecario.  
+MissingPERL.Title:Falta la ruta PERL
+#******* MissingImageMagick ********
+MissingImageMagick.Message:AtenciÃ³n! La interfaz del bibliotecario fallÃ³ al ubicar un versiÃ³n apropiada de imageMagick. Las imÃ¡genes podrÃ¡n incluirse en las colecciones pero no estarÃ¡ disponible ninguna funcionalidad de procesamiento de imÃ¡genes, como por ejemplo convertir imÃ¡genes a diferente tipo, o generar miniaturas.  
+MissingImageMagick.Title:Falta ImageMagick
+#*****************************
+#
+#***** New Session *****
+NewCollectionPrompt.Base_Collection:Construir esta colecciÃ³n con base en:
+NewCollectionPrompt.Base_Collection_Tooltip:Seleccione una colecciÃ³n existente para basar en ella la nueva colecciÃ³n
+NewCollectionPrompt.Collection_Description:DescripciÃ³n de contenidos:
+NewCollectionPrompt.Collection_Name:Carpeta de la colecciÃ³n:
+NewCollectionPrompt.Collection_Scope_Personal:Esta es una colecciÃ³n personal  
+NewCollectionPrompt.Collection_Scope_Personal_Tooltip:La colecciÃ³n puede editarse por la persona que la creÃ³ y por los usuarios del grupo "all-collections-editor".  
+NewCollectionPrompt.Collection_Scope_Shared:Esta no es una colecciÃ³n personal  
+NewCollectionPrompt.Collection_Scope_Shared_Tooltip:La colecciÃ³n puede editarse por los usuarios del grupo "all-collections-editor".  
+NewCollectionPrompt.Error:Error en la nueva colecciÃ³n
+NewCollectionPrompt.Instructions:Para crear una nueva colecciÃ³n llene los campos que estÃ¡n a continuaciÃ³n.
+NewCollectionPrompt.NewCollection:-- Nueva colecciÃ³n --
+NewCollectionPrompt.Title:Crear una nueva colecciÃ³n.
+NewCollectionPrompt.Title_Clash:El tÃ­tulo que usted ha elegido para su colecciÃ³n ya se estÃ¡ usando. Â¿Desea continuar?
+NewCollectionPrompt.Title_Error:El tÃ­tulo debe llenarse. Por favor corrija.
+#***** New Folder OrFilePrompt *****
+NewFolderOrFilePrompt.Default_File_Name:postizo
+NewFolderOrFilePrompt.Default_Folder_Name:nueva carpeta
+NewFolderOrFilePrompt.Destination_Name:Carpeta Destino
+NewFolderOrFilePrompt.File_Name:Nombre del Fichero  
+NewFolderOrFilePrompt.File_Name_Tooltip:Dar un nombre para el nuevo fichero  
+NewFolderOrFilePrompt.Folder_Name:Nombre de la Carpeta
+NewFolderOrFilePrompt.Folder_Name_Tooltip:Dar un nombre para la nueva carpeta
+NewFolderOrFilePrompt.Title_Folder:Crear una nueva carpeta
+NewFolderOrFilePrompt.Title_File:Crear un nuevo documento postizo
+#**********************
+#
+#******* OldWGET *******
+NoPluginExpectedToProcessFile.Message:No se encuentra ningÃºn conector de Greenstone que pueda procesar el archivo "{0}". Compruebe que el archivo tiene la extensiÃ³n correcta. Si la extensiÃ³n es correcta entonces tendrÃ¡ que usar el UnknownPlugin para procesar este archivo.  
+NoPluginExpectedToProcessFile.Title:No se encuentra un plugin que pueda procesar el fichero  
+#***********************
+#
+#***** OpenCollectionDialog *****
+OpenCollectionDialog.Available_Collections:Colecciones disponibles
+OpenCollectionDialog.Description:DescripciÃ³n de la colecciÃ³n
+OpenCollectionDialog.Open:Abrir
+OpenCollectionDialog.Open_Tooltip:Carga la colecciÃ³n seleccionada en la Interfaz de la Biblioteca Digital
+OpenCollectionDialog.Title:Abrir la colecciÃ³n Greenstone
+#**********************
+#
+#***** Options Pane inside CreatePane *****
+OptionsPane.Cancelled:- cancelada
+OptionsPane.LogHistory:Historial de registro
+OptionsPane.Successful:- con Ã©xito
+OptionsPane.Scheduled:- programado  
+OptionsPane.Unknown:- desconocido
+OptionsPane.Unsuccessful:- sin Ã©xito
+#*******************
+#
+#***** Preferences *****
+Preferences:Preferencias
+Preferences.Connection:ConexiÃ³n
+Preferences.Connection_Tooltip:Escriba el URL de la Biblioteca Greenstone y configure una conexiÃ³n proxy segÃºn sea necesario
+Preferences.Connection.GLIServer_URL:URL del gliserver de Greenstone:  
+Preferences.Connection.GLIServer_URL_Tooltip:El URL del script CGI "gliserver" de Greenstone.  
+Preferences.Connection.Library_Path:Ruta de la biblioteca
+Preferences.Connection.Library_Path_GS3:Ruta Web de Greenstone:
+Preferences.Connection.Library_Path_Tooltip:Es el URL del servidor Web Greenstone
+Preferences.Connection.Library_Path_Tooltip_GS3:URL del servidor web de Greenstone
+Preferences.Connection.Library_Path_Connection_Failure:Fallo al conectar. Chequee que el servidor Greenstone estÃ¡ corriendo en {0}.  
+Preferences.Connection.ProgramCommand:Orden de vista previa:  
+Preferences.Connection.ProgramCommand_Tooltip:Es la orden de inicio del programa usado para tener una vista previa de la colecciÃ³n. Recuerde usar %1 para indicar el lugar donde deberÃ¡ insertarse la direcciÃ³n de la colecciÃ³n y usar las marcas de habla donde sea necesario.  
+Preferences.Connection.Proxy_Host:Servidor proxy
+Preferences.Connection.Proxy_Host_Tooltip:Es la direcciÃ³n del servidor proxy
+Preferences.Connection.Proxy_Port:Puerto para el servidor proxy
+Preferences.Connection.Proxy_Port_Tooltip:Es el nÃºmero de puerto del servidor proxy
+Preferences.Connection.Servlet:Servlet:
+Preferences.Connection.Servlet_Tooltip:Servlet a utilizar para ver su sitio
+Preferences.Connection.Servlet_Tooltip2:No se ha especificado 'servlet' para este sitio, es posible construir colecciones, pero no podrÃ¡ verlas
+Preferences.Connection.Site:Sitio:
+Preferences.Connection.Site_Tooltip:El sitio en el cual quiere trabajar
+Preferences.Connection.Use_Proxy:Â¿Desea usar la conexiÃ³n del servidor proxy?
+Preferences.General:General
+Preferences.General_Tooltip:Determine algunas preferencias generales
+Preferences.General.Email:E-mail del usuario:
+Preferences.General.Email_Tooltip:La direcciÃ³n de correo electrÃ³nico usada automÃ¡ticamente para cualquier colecciÃ³n creada por medio de GLI.
+Preferences.General.Font:Fuente:
+Preferences.General.Font_Tooltip:La fuente utilizada para el interfaz GLI.
+Preferences.General.Interface_Language:Idioma de la interfaz:
+Preferences.General.Interface_Language_Tooltip:Seleccione el idioma en el que usted desea que aparezcan los controles y la interfaz.
+Preferences.General.Restart_Required:DeberÃ¡ reiniciar GLI para completar la carga de un nuevo idioma para la interfaz.  
+Preferences.General.Manual_Restart_Required:Por favor, reinicie el cliente GLI para aceptar los cambios en la configuraciÃ³n de la conexiÃ³n.  
+Preferences.General.Show_File_Size:Mostrar el tamaÃ±o de los ficheros  
+Preferences.General.Show_File_Size_Tooltip:Muestra el tamaÃ±o de los ficheros junto a cada una de las entradas de las estructuras de ficheros en el Ã¡rea de trabajo y en la colecciÃ³n.  
+Preferences.General.View_Extracted_Metadata:Ver metadatos extraÃ­dos
+Preferences.General.View_Extracted_Metadata_Tooltip:Muestra los metadatos extraÃ­dos por los plugins de Greenstone en la lista de metadatos de la pantalla Enriquecer
+Preferences.Mode:Modo
+Preferences.Mode_Tooltip:Haga click en una entrada para seleccionar el nivel de operaciÃ³n
+Preferences.Mode.Assistant:Asistente de biblioteca
+Preferences.Mode.Assistant_Description:Utilice esta opciÃ³n para tener acceso a las funciones bÃ¡sicas de la Interfaz de Bibliotecario de Greenstone: aÃ±adir documentos y metadatos a las colecciones, crear nuevas colecciones cuya estructura refleje la de colecciones que ya existen y construir colecciones.  
+Preferences.Mode.Librarian:Bibliotecario
+Preferences.Mode.Librarian_Description:Este control le da un uso normal de la Interfaz de Bibliotecario Greenstone: crear y diseÃ±ar nuevas colecciones, aÃ±adir documentos y metadatos a las colecciones y construir colecciones.  
+Preferences.Mode.Expert:Avanzado
+Preferences.Mode.Expert_Description:Este control permite el uso avanzado de la Interfaz de la Biblioteca Digital Greenstone. Se recomienda para usuarios que tienen experiencia con Greenstone y son capaces de resolver problemas que impliquen interpretar la depuraciÃ³n de los resultados de los guiones PERL: Todas las funciones de la Biblioteca Digital estÃ¡n activas.
+Preferences.Warnings:Mensajes de advertencia
+Preferences.Warnings_Tooltip:Activa o desactiva los distintos mensajes de advertencia
+Preferences.Workflow:Flujo de trabajo
+Preferences.Workflow_Tooltip:DiseÃ±e el flujo de trabajo de la interfaz: determine las pantallas que estarÃ¡n activas
+Preferences.Workflow.Predefined.Label:Flujos de trabajo predeterminados
+Preferences.Workflow.Title:Marque el cuadro para activar la pantalla
+#**********************
+#
+#**** PreviewCommandDialog *******
+PreviewCommandDialog.Instructions:Introduzca la orden para abrir el programa a fin de tener una vista previa de la colecciÃ³n. Recuerde usar %1 para indicar el lugar donde deberÃ¡ insertarse la direcciÃ³n de la colecciÃ³n y usar las marcas de habla donde sea necesario.  
+PreviewCommandDialog.Title:Orden de vista previa  
+
+ShowPreviousCollection.Title:Previsualiza la colecciÃ³n construida previamente  
+ShowPreviousCollection.Message:Ha ocurrido un error y no se ha podido crar la colecciÃ³n. Este previsualizando la colecciÃ³n creada previamente.  
+#**********************
+#
+#***** Remote Greenstone Server *****
+RemoteGreenstoneServer.Authentication_Message:Por favor, introduzca su nombre de usuario y su clave de acceso para Greenstone:  
+RemoteGreenstoneServer.Authentication_Message_gs3:Por favor, introduzca su nombre de usuario y clave de Greentone en el sitio:  
+RemoteGreenstoneServer.Error:Ha ocurrido un error en el servidor Greenstone remoto mientras se ejecutaba esta operaciÃ³n:\n{0-Error message}  
+RemoteGreenstoneServer.Error_Title:Error del servidor Greenstone remoto  
+RemoteGreenstoneServer.Progress:Progreso del servidor Greenstone remoto:  
+RemoteGreenstoneServer.Steal_Lock_Message:Esta colecciÃ³n estÃ¡ acualmente bloqueada por el usuario '{0-User name}'.\nÂ¿Quiere tomar el control de este fichero de bloqueo? (no se recomienda, ya que el trabajo puede perderse)  
+#**********************
+#
+#***** Rename Prompt *****
+RenamePrompt.Name:Nombre:  
+RenamePrompt.Title:Renombrar el fichero/carpeta  
+#**********************
+#
+#***** Replace Prompt *****
+ReplacePrompt.Title:Reemplazar fichero con ...  
+#**********************
+#
+#***** Save Collection Box *****
+SaveCollectionBox.File_Name:Nombre del fichero:  
+SaveCollectionBox.Files_Of_Type:Ficheros de tipo:  
+SaveCollectionBox.Look_In:Visita rÃ¡pida:
+#**********************
+#
+#***** Save Progress Box *******
+SaveProgressDialog.Title:Guardando la colecciÃ³n
+#*******************************
+#
+Server.QuitManual:La Interfaz de la Biblioteca Digital no pudo cerrar el servidor local\n de forma automÃ¡tica. Por favor salga manualmente del servidor\n haciendo click en el icono en forma de tache o cruz que se encuentra en el Ã¡ngulo superior\n derecho de la pantalla y luego haga click en Aceptar.
+Server.QuitTimeOut:La biblioteca local Greenstone no ha respondido \n al comando de cierre por {0} segundos. \n. Â¿Desea esperar otros {0} segundos?  
+Server.StartUpTimeOut:La biblioteca local de Greenstone no ha respondido al comando \nde inicio por {0} segundos. Quiere esperar \notros {0} segundos?  
+#
+#***** Sources *****
+Source.General:General
+#**********************
+#
+#***** Trees *****
+Tree.DownloadedFiles:Ficheros Descargados  
+Tree.Files:ficheros  
+Tree.Home:Carpeta principal ({0})
+Tree.Root:Espacio de ficheros local  
+Tree.World:Documentos en las Colecciones Greenstone
+#***********************
+#
+#***** Warning Dialog *****
+WarningDialog.Dont_Show_Again:No mostrar este aviso otra vez.
+WarningDialog.Dont_Show_Again_Message:No mostrar este mensaje otra vez
+WarningDialog.Invalid_Value:El valor que usted ha ingresado en el campo de valores\n no es vÃ¡lido para esta propiedad.
+WarningDialog.Value:Introduzca el valor:  
+#
+#****** WGet *****
+WGet.Prompt:Cliente de descarga Wget  
+#
+#****** Workflows *****
+Workflow.AllPanels:Todos los paneles
+Workflow.LocalSourceCollectionBuilding:Construyendo la colecciÃ³n de fuente local
+Workflow.DocumentEnriching:Enriqueciendo el documento
+
+
+#********GEMS******
+
+GEMS.Title:Editar conjuntos de metadatos
+GEMS.OpenMetadataSetPrompt.Title:Abrir conjunto de metdatos  
+GEMS.OpenMetadataSetPrompt.Open_Tooltip:Abrir el conjunto de metadatos seleccionado  
+GEMS.Set_Description:DescripciÃ³n del conjunto de metadatos  
+GEMS.OpenMetadataSetPrompt.Open:Abrir  
+GEMS.OpenMetadataSetPrompt.Available_Sets:Conjuntos de metadatos disponibles  
+GEMS.DeleteMetadataSetPrompt.Title:Borrar conjunto de metadatos  
+GEMS.DeleteMetadataSetPrompt.Delete_Tooltip:Borrar el conjunto de metadatos seleccionado  
+GEMS.DeleteMetadataSetPrompt.Delete:Borrar  
+GEMS.DeleteMetadataSetPrompt.Available_Sets:Conjuntos de metadatos disponibles  
+GEMS.DeleteMetadataSetPrompt.Confirm_Delete:Por favor, marque para confirmar el borrado del conjunto de metadatos  
+GEMS.DeleteMetadataSetPrompt.No_Set:No se ha seleccionado conjunto de metadatos  
+GEMS.Confirm_Removal:Â¿EstÃ¡ seguro de que desea eliminar este {0}?  
+GEMS.Confirm_Removal_Title:Confirme el borrado  
+GEMS.Attribute:Atributo  
+GEMS.Popup.AddElement:AÃ±adir elemento  
+GEMS.Popup.DeleteElement:Borrar elemento  
+GEMS.Popup.AddSubElement:AÃ±adir subelemento  
+GEMS.Popup.DeleteSubElement:Borrar subelemento  
+GEMS.NewMetadataSetPrompt.Title:Nuevo conjunto de metadatos  
+GEMS.NewMetadataSetPrompt.Instructions:Para crear un nuevo conjunto de metadatos rellene los campos siguientes:  
+GEMS.NewMetadataSetPrompt.Base_MetadataSet:Basar este conjunto de metadatos en:  
+GEMS.NewMetadataSetPrompt.Metadata_Title:TÃ­tulo del conjunto de metadatos:  
+GEMS.NewMetadataSetPrompt.Metadata_Namespace:Espacio de nombres del conjunto de metadatos:  
+GEMS.NewMetadataSetPrompt.New_Metadata:-- Nuevo conjunto de metadatos --  
+GEMS.NewMetadataSetPrompt.Title_Error_Message:Un conjunto de metadatos nuevo debe tener un TÃ­tulo  
+GEMS.NewMetadataSetPrompt.Title_Error:No se ha indicado TÃ­tulo  
+GEMS.NewMetadataSetPrompt.Namespace_Error_Message:Un conjunto de metadatos nuevo debe tener un espacio de nombres  
+GEMS.NewMetadataSetPrompt.Namespace_Error:No se ha indicado espacio de nombres  
+GEMS.SelectedLanguage:AÃ±adir atributos para idioma:  
+GEMS.Language:---Elija idioma--  
+GEMS.LanguageDependent:Atributos dependientes del idioma  
+GEMS.Attribute_Table:Atributos  
+GEMS.Attribute_Deletion_Error:Error de borrado de atributo  
+GEMS.Attribute_Deletion_Error_Message:Este atributo es necesario y no puede borrarse  
+GEMS.Add_Lang_Depend_Attr_Error:Error al aÃ±adir atributo  
+GEMS.Add_Lang_Depend_Attr_Error_Message:No se ha incluido un atributo "dependiente del idioma", por favor, aÃ±Ã¡dalo.  
+GEMS.Attribute_Edition_Error:Error de ediciÃ³n de atributo  
+GEMS.Attribute_Edition_Error_Message:Este atributo es necesario y no puede dejarse vacÃ­o  
+GEMS.Confirm_Save:Este conjunto de metadatos ha cambiado, Â¿quiere guardarlo?  
+GEMS.Confirm_Save_Title:Guardar conjunto de metadatos  
+GEMS.Confirm_DeleteElement:Â¿Seguro que quiere borrar el elemento {0}?  
+GEMS.Confirm_DeleteElement_Title:Borrar elemento  
+GEMS.File_Deletion_Error_Message:Este fichero no puede borrarse  
+GEMS.File_Deletion_Error:Error al borrar el fichero  
+GEMS.Namespace_Conflict_Message:AtenciÃ³n: este espacio de nombres ha sido usado pro otro conjunto de metadatos Â¿Desea continuar?  
+GEMS.Namespace_Conflict:Conflicto de espacio de nombres  
+GEMS.Move_Up:Subir  
+GEMS.Move_Down:Descender  
+GEMS.Cannot_Undo:(esta acciÃ³n no se puede deshacer)  
+
+GEMS.AttributeTable.Name:Nombre  
+GEMS.AttributeTable.Language:Idioma  
+GEMS.AttributeTable.Value:Valor  
+GEMS.NewMetadataElementNamePrompt.Title:Nuevo Elemento  
+GEMS.NewMetadataElementNamePrompt.Name:Por favor, introduzca un nombre para el elemento nuevo  
+GEMS.NewMetadataElementNamePrompt.SubTitle:Nuevo subelemento  
+GEMS.NewMetadataElementNamePrompt.SubName:Introduzca un nombre para el nuevo subelemento  
+GEMS.NewMetadataElementNamePrompt.Name_Error_Message:Ya existe un elemento con este nombre.  
+GEMS.NewMetadataElementNamePrompt.Name_Error:Error de nombre de elemento  
+GEMS.NewMetadataElementNamePrompt.EmptyName_Error_Message:Un elemento nuevo debe recibir un nombre.  
+
+
+GEMS.No_Set_Loaded:No se ha cargado un conjunto de metadatos. Por favor, use Archivo->Nuevo para crear uno nuevo, o Archivo->Abrir para abrir uno existente.  
Index: main/tags/2.83/gli/classes/dictionary_fa.properties
===================================================================
--- main/tags/2.83/gli/classes/dictionary_fa.properties	(revision 21123)
+++ main/tags/2.83/gli/classes/dictionary_fa.properties	(revision 21123)
@@ -0,0 +1,2380 @@
+#*******************
+#** Language Orientation Property
+Component.Orientation:RTL 
+
+#*******************
+#
+#***** AboutDialog *****
+AboutDialog.Acknowledgement:ØªØ§ÛÛØ¯ÛÙ ÙØ§Û ØšØ±ÙØ§Ù
+Ù ÙØ§ , ÙŸÚ©ÛØ¬ ÙØ§ Ù Ú©ÙØ§Ø³ ÙØ§Û Ø§Ø®ØªØµØ§ØµÛ 
+AboutDialog.Date:(ÚÙØŠÙÙ 2007) 
+AboutDialog.Item0:Xerces java 1' Ø§Ø² ØšÙÛØ§Ø¯ ÙØ±Ù
+ Ø§ÙØ²Ø§Ø±Û Apache  . (http://www.apache.org ) 
+AboutDialog.Item2:'WGet'  Ø§Ø² ØšÙÛØ§Ø¯ ÙØ±Ù
+ Ø§ÙØ²Ø§Ø±ÙØ§Û Ø¢Ø²Ø§Ø¯ . (http://www.gnu.org/software/wget/wget.html) 
+AboutDialog.Item3:'qflib' Ø§Ø² Quality First Software GmbH . (http://www.qfs.de/en/qflib/index.html) 
+AboutDialog.Item4:ExtensionFileFilter.class' ØšÙØ³ÛÙÙ Û Bruno Dumon Ù Ø¯ÛÚ¯Ø± ÙÙ
+Ú©Ø§Ø±Ø§Ù . 
+AboutDialog.Item5:"ÚÚ¯ÙÙÚ¯Û ØºÛØ± ÙØ¹Ø§Ù Ú©Ø±Ø¯Ù ØªØºÛÛØ± ÙØ§Ù
+ Ø¯Ø± file chooser " ØšÙØ³ÛÙÙ Û vladi21  . (http://www.experts-exchange.com/) 
+AboutDialog.Item6:'Autoscrolling' Ø¯Ø± ÙØ±ÛÙ
+ ÙØ±Ú© Java Swing  ØšÙØ³ÛÙÙ Û Robert Eckstein , Marc Loy  Ù  Dave Wood . (http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf) 
+AboutDialog.Item7:" Ø§ÙØ²ÙØ¯Ù Ø¹Ú©Ø³ ÙØ§Û Ù
+Ø§Øª Ø¯Ø± JTree " ØšÙØ³ÛÙÙ Û  Andrew J. Armstrong . (http://www.javaworld.com/javaworld/javatips/jw-javatip114.html) 
+AboutDialog.Item8:"Ø¬ÙÙÚ¯ÛØ±Û Ø§Ø² Ø®Ø·Ø§Û java.prefs  Ø¯Ø± Ø²Ù
+Ø§ÙÛ Ú©Ù Ø¯Ø³ØªØ±Ø³Û Ø³Ø·Ø­ ØšØ§ÙØ§ ÙØ¬ÙØ¯ ÙØ¯Ø§Ø±Ø¯ " ØšØ§ ØªØŽÚ©Ø± Ø§Ø²  Walter Schatz . 
+AboutDialog.Item9:Ø§ÛÚ©Ù ÙØ§Û  "ÙŸÙØŽÙ Û Ø¬Ø¯ÛØ¯" , "Ø­Ø°Ù"  Ù "Ø±Ø§ÙÙÙ
+Ø§" Ø§Ø² Dropline Neu!  Ù Ù
+Ø¬Ù
+ÙØ¹Ù Ø§ÛÚ©Ù ÙØ§ Ø§Ø²  Silvestre Herrera , Ù
+ÙØ¬ÙØ¯ Ø¯Ø± http://art.gnome.org . 
+AboutDialog.Java_Req:Java Ø¹ÙØ§Ù
+Øª ØªØ¬Ø§Ø±Û  Sun Microsystems  Ù
+Û ØšØ§ØŽØ¯ . Jre  ØªØ­Øª ØŽØ±Ø§ÛØ· Ù
+Ø¬ÙØ² Ø§ÙØ­Ø§ÙÛ ØªØ¹Ù
+ÛÙ
+ Ø¯Ø§Ø¯Ù ØŽØ¯Ù Ø§Ø³Øª . (Ù
+Ø¬ÙØ² Ø¯Ø± Ø³Ø§ÛØª http://java.sun.com/j2se/1.4.1/j2re-1_4_1_02-license.html ÙØ§ØšÙ Ø¯Ø³ØªØ±Ø³Û Ø§Ø³Øª ) 
+AboutDialog.Java_Req_One:Ø§ÛÙ Ú©Ø§ÙØ§ Ù
+Ø­ØªÙÛ Ú©Ø¯ÙØ§Û ØªØ­Øª ÙÛØ³Ø§ÙØ³ RSA Security  Ø§Ø³Øª . 
+AboutDialog.Java_Req_Two:Ù
+Ø¬ÙØ² ØšØ¹Ø¶Û Ø§Ø² ÙØ³Ù
+Øª ÙØ§Û Ù
+ØªØ¹ÙÙ ØšÙ IBM  Ø±Ø§ Ù
+Û ØªÙØ§ÙÛØ¯ Ø¯Ø± Ø¢Ø¯Ø±Ø³ ÙÙÙ ØšÛØ§ØšÛØ¯  .http\://oss.software.ibm.com/icu4j 
+AboutDialog.Thanks:ØšØ§ ØªØŽÚ©Ø± Ø§Ø² Ú©Ø³Ø§ÙÛ Ú©Ù Ø§Ø·ÙØ§Ø¹Ø§Øª Ù
+ÙÛØ¯Û Ø¯Ø± Ù
+ÙØ±Ø¯ Java  ØšÙ Ø§ØŽØªØ±Ø§Ú© Ú¯Ø°Ø§ØŽØªÙØ¯ . 
+AboutDialog.Title:Ø¯Ø±ØšØ§Ø±Ù Û ... 
+AboutDialog.Title_One:Ø±Ø§ØšØ· Ú©Ø§Ø±ØšØ±Û Ú©ØªØ§Øš Ø¯Ø§Ø±Ø§Ù GreenStone 
+AboutDialog.Title_Two:Ú©ØªØ§Øš Ø®Ø§ÙÙ Û Ø¯ÛØ¬ÛØªØ§ÙÛ Greenstone,Ø¯Ø§ÙØŽÚ¯Ø§Ù  Waikato 
+AboutDialog.Copyright:Copyright (C) 2003 New Zealand Digital Library Project 
+AboutDialog.Copyright_Two:Ù
+ÙØªØŽØ± ØŽØ¯Ù ØªØ­Øª Ù
+Ø¬ÙØ²  GPL. ÙØ·ÙØ§ ØšØ±Ø§Û ØªÙØ¶ÛØ§Øª ØšÛØŽØªØ± ØšÙ ÙØ§ÛÙ LICENSE.txt Ù
+Ø±Ø§Ø¬Ø¹Ù Ú©ÙÛØ¯ . 
+#***********************
+#
+#***** Audit Table *****
+AuditTable.File:ÙØ§Ù
+ ÙØ§ÛÙ 
+#***********************
+#
+#***** Auto Filter *****
+Autofilter.AND:Ù 
+Autofilter.Ascending:ØµØ¹ÙØ¯Û 
+Autofilter.Case_Sensitive:Ø­Ø³Ø§Ø³ ØšÙ Ú©ÙÚÚ© ÛØ§ ØšØ²Ø±Ú¯ ØšÙØ¯Ù Ø­Ø±ÙÙ 
+Autofilter.Custom_Filter:ÙŸÛØŽØ±ÙØªÙ 
+Autofilter.Descending:ÙØ²ÙÙÛ 
+Autofilter.Filter_By_Value:Ø³Ø§Ø¯Ù 
+Autofilter.Name:ÙØ§Ù
+ Ø³Ø·ÙÙ 
+Autofilter.None:Ø®Ø§ÙÛ 
+Autofilter.Operator:ÙØ¶Ø¹ÛØª 
+Autofilter.OR:ÛØ§ 
+Autofilter.Order:ØªØ±ØªÛØš 
+Autofilter.Order_Tooltip:ØªØ±ØªÛØš Ø§ÙÙØ§Ù
+ Ù
+ÙØ·ØšÙ 
+Autofilter.Remove:Ø­Ø°Ù ÙÛÙØªØ± 
+Autofilter.Remove_Tooltip:Ø­Ø°Ù Ø§ÛÙ ÙÛÙØªØ± Ø§Ø² Ø³Ø·ÙÙ Ø¬Ø¯ÙÙ 
+Autofilter.Set:Ø§ÙØ²ÙØ¯Ù ÙÛÙØªØ± 
+Autofilter.Set_Tooltip:Ø§ÙØ²ÙØ¯Ù Ø§ÛÙ ÙÛÙØªØ± ØšÙ Ø³Ø·ÙÙ Ø¬Ø¯ÙÙ 
+Autofilter.Table_Header_Tooltip:ÙÛÙØªØ± Ø§Ø² Ø±ÙÛ {0} 
+Autofilter.Title:ÙÛÙØªØ± Ø§ØªÙÙ
+Ø§ØªÛÚ© ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§ 
+Autofilter.eqeq:ØšØ±Ø§ØšØ±Û Ù
+Û Ú©ÙØ¯ ØšØ§ 
+Autofilter.!eq:ØšØ±Ø§ØšØ±Û ÙÙ
+Û Ú©ÙØ¯ ØšØ§ 
+Autofilter.<:Ú©ÙÚÚ©ØªØ± Ø§Ø² 
+Autofilter.<eq:Ú©ÙÚÚ©ØªØ± ÛØ§ Ù
+Ø³Ø§ÙÛ ØšØ§ 
+Autofilter.>:ØšØ²Ø±Ú¯ØªØ± Ø§Ø² 
+Autofilter.>eq:ØšØ²Ø±Ú¯ØªØ± ÛØ§ Ù
+Ø³Ø§ÙÛ ØšØ§ 
+Autofilter.^:ØšØ§ Ø§ÛÙ Ø­Ø±Ù ØŽØ±ÙØ¹ ØŽÙØ¯ . 
+Autofilter.!^:ØšØ§ Ø§ÛÙ Ø­Ø±Ù ØŽØ±ÙØ¹ ÙØŽÙØ¯ . 
+Autofilter.$:ØšØ§ Ø§ÛÙ Ø­Ø±Ù ØªÙ
+Ø§Ù
+ ØŽÙØ¯ . 
+Autofilter.!$:ØšØ§ Ø§ÛÙ Ø­Ø±Ù ØªÙ
+Ø§Ù
+ ÙØŽÙØ¯ . 
+Autofilter.?:Ø¯Ø§Ø±Ø§Û Ø§ÛÙ Ù
+Ø­ØªÙØ§Û ØšØ§ØŽØ¯ 
+Autofilter.!?:Ø¯Ø§Ø±Ø§Û Ø§ÛÙ Ù
+Ø­ØªÙØ§ ÙØšØ§ØŽØ¯ 
+#
+#     ********************************************************
+#     *************** Collection Design Module ***************
+#     ********************************************************
+#     * The dictionary  phrases  used in the creation of the *
+#     * Colection  Design  Module. Note that we  still  have *
+#     * access  to the format  arguments (argument  32+) for *
+#     * html formatting.                                     *
+#     ********************************************************
+CDM.ArgumentConfiguration.Bad_Integer:<html>Ø¢Ø±Ú¯ÙÙ
+Ø§Ù '{0}' ÙÛØ§Ø² ØšÙ ÛÚ© Ù
+ÙØ¯Ø§Ø± ØµØ­ÛØ­ Ø¯Ø§Ø±Ø¯ <br> ÙÙÛ ÙÛÚ Ù
+ÙØ¯Ø§Ø± ØµØ­ÛØ­Û Ø§Ø²{1} ÙØ§ØšÙ ØªØ¬Ø²ÛÙ ÙØšÙØ¯ </html> 
+CDM.ArgumentConfiguration.Error_Title:Ø®Ø·Ø§ Ø¯Ø± Ø¢Ø±Ú¯ÙÙ
+Ø§Ù ÙØ§ 
+CDM.ArgumentConfiguration.Header:<HTML><STRONG><FONT FACE={FONT} COLOR=Black SIZE=5><CENTER>ÙØ·ÙØ§ Ø¢Ø±Ú¯ÙÙ
+Ø§Ù Ø±Ø§ ØšØ±Ø§Û {0}  ØªÙØžÛÙ
+ Ú©ÙÛØ¯ . </CENTER></FONT></STRONG></HTML> 
+CDM.ArgumentConfiguration.No_Value:Ø¢Ø±Ú¯ÙÙ
+Ø§Ù {0}  ÙÛØ§Ø² ØšÙ ÛÚ© Ù
+ÙØ¯Ø§Ø± Ø¯Ø§Ø±Ø¯ ,ÙÙÛ ÙÛÚ Ù
+ÙØ¯Ø§Ø±Û ØšØ±Ø§Û Ø¢Ù Ù
+ØŽØ®Øµ ÙØŽØ¯Ù Ø§Ø³Øª . 
+CDM.ArgumentConfiguration.Required_Argument:Ø¢Ø±Ú¯ÙÙ
+Ø§Ù {0}  ØšØ§ÛØ¯ Ù
+ÙØ¯Ø§Ø±Ø¯ÙÛ ØŽÙØ¯ . 
+CDM.ArgumentConfiguration.Title:Ø¢Ø±Ú¯ÙÙ
+Ø§Ù ÙØ§Û ÙŸÛÚ©Ø±ØšÙØ¯Û 
+CDM.BuildTypeManager.Title:Ø§ÙØªØ®Ø§Øš ØªÙÙÛØ¯ Ú©ÙÙØ¯Ù Û ØŽØ§Ø®Øµ 
+CDM.BuildTypeManager.mg:MG 
+CDM.BuildTypeManager.mg_Description:Ø§ÛÙ ÙÙØ±Ø³Øª Ú¯Ø± ØªÙÙÛØ¯ Ú©ÙÙØ¯Ù Û ÙÙØ±Ø³Øª Ø§ØµÙÛ Ù
+ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù Û GreenStone Ø§Ø³Øª , ØšÛØŽØªØ± Ø¢Ù ØªÙØ³Ø·  Alistair Moffat ÙŸÛØ§Ø¯Ù Ø³Ø§Ø²Û ØŽØ¯Ù Ù Ø¯Ø± Ú©ØªØ§Øš Ú©ÙØ§Ø³ÛÚ©  Managing Gigabytes ØªÙØ¶ÛØ­ Ø¯Ø§Ø¯Ù ØŽØ¯Ù Ø§Ø³Øª . ÙØ¯Ø§Ø±Ø§Û ÙØ§ØšÙÛØª ÙØ§Û ØªÙÙÛØ¯ ØŽØ§Ø®Øµ ØšØ±Ø§Û ØšØ®ØŽ ÙØ§ Ù Ø¬Ø³ØªØ¬ÙÛ Boolean ÛØ§ Ø±ØªØšÙ ØšÙØ¯Û ØŽØ¯Ù Ù
+Û ØšØ§ØŽØ¯ ( ÙÙÛ ÙÙ ÙØ± Ø¯Ù Ø¯Ø± ÛÚ© Ø²Ù
+Ø§Ù ). ØšØ±Ø§Û ÙØ± ØŽØ§Ø®Øµ Ù
+ØŽØ®Øµ ØŽØ¯Ù Ø¯Ø± Ù
+Ø¬Ù
+ÙØ¹Ù ÛÚ© ØŽØ§Ø®Øµ Ù
+Ø¬Ø²Ø§Û ÙÛØ²ÛÚ©Û ØªÙÙÛØ¯ Ù
+Û ØŽÙØ¯ . ØšØ±Ø§Û Ø¬Ø³ØªØ¬ÙÛ Ø¹ØšØ§Ø±Øª ÛÚ© Ø¬Ø³ØªØ¬ÙÛ AND ØšØ±Ø§Û ØªÙ
+Ø§Ù
+ ØŽØ±Ø§ÛØ· Ø§ÙØ¬Ø§Ù
+ Ù
+Û Ø¯ÙØ¯ Ø³ÙŸØ³ Ø¯Ø± ÙØªØ§ÛØ¬ ØšØ¯Ø³Øª Ø¢Ù
+Ø¯Ù ØšÙ Ø¯Ù
+ØšØ§Ù Ø¹ØšØ§Ø±Øª Ø¬Ø³ØªØ¬Ù Ù
+ÛÚ©ÙØ¯ ØªØ§ ØšØšÛÙØ¯ Ú©Ù Ø¹ØšØ§Ø±Øª Ù
+ÙØ¬ÙØ¯ Ø§Ø³Øª ÛØ§ ÙÙ .Ø§ÛÙ Ø±ÙØŽ ØšØ§ ÙØ³Ø¹Øª Ø²ÛØ§Ø¯Û ØšØ±Ø§Û Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û ØšØ³ÛØ§Ø± ØšØ²Ø±Ú¯ ØªØ³Øª ØŽØ¯Ù Ø§Ø³Øª . 
+CDM.BuildTypeManager.mgpp:MGPP 
+CDM.BuildTypeManager.mgpp_Description:Ø§ÛÙ ÙØ³Ø®Ù Û Ø¬Ø¯ÛØ¯ Ø§Ø² MG (MG plus plus) Ø§Ø³Øª Ú©Ù Ø¯Ø± ÙŸØ±ÙÚÙ Û New Zealand Digital Library Ø·Ø±Ø§Ø­Û ØŽØ¯Ù .Ù Ø¯Ø§Ø±Ø§Û ÙØ§ØšÙÛØª ØŽØ§Ø®Øµ Ú¯Ø°Ø§Ø±Û Ø¯Ø± Ø³Ø·Ø­ Ú©ÙÙ
+Ù Ù
+Û ØšØ§ØŽØ¯ Ú©Ù Ø§Ø¬Ø§Ø²Ù Ù
+Û Ø¯ÙØ¯ Ú©Ù Ø¬Ø³ØªØ¬ÙÙØ§Û Ø§Ø²Ø±ÙÛ ÙÛÙØ¯ Ù Ø¬Ù
+ÙÙ Ù Ù
+Ø¬Ø§ÙØ±Øª ØªÙØ³Ø· ÙÙØ±Ø³Øª Ú¯Ø± ÙØ±Ø§ÙÙ
+ ØŽÙÙØ¯ .Ø¬Ø³ØªØ¬ÙÙØ§Û Ù
+ÙØ·ÙÛ Ù
+ÛØªÙØ§ÙÙØ¯ Ø±ØªØšÙ ØšÙØ¯Û ØŽÙÙØ¯ .ØªÙÙØ§ ÛÚ© ÙÙØ±Ø³Øª ØšØ±Ø§Û ÛÚ© Ù
+Ø¬Ù
+ÙØ¹Ù Ø³Ø§Ø®ØªÙ Ø®ÙØ§ÙØ¯ ØŽØ¯ Ù ØªÙ
+Ø§Ù
+ Ø¬Ø³ØªØ¬Ù ÙØ§ Ø§Ø² Ø±ÙÛ ÙÙ
+Ø§Ù ÙÙØ±Ø³Øª Ø®ÙØ§ÙØ¯ ØšÙØ¯ .Ø§ÛÙ Ø§Ù
+Ø± ØšØ±Ø§Û Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ÛÛ ØšØ§ ØŽØ§Ø®Øµ ÙØ§Û Ø²ÛØ§Ø¯ ØšØ§Ø¹Ø« Ú©Ø§ÙØŽ Ø­Ø¬Ù
+ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ³ØšØª ØšÙ Ø²Ù
+Ø§ÙÛ Ú©Ù ØšØ§   MG Ø³Ø§Ø®ØªÙ ØŽØ¯Ù ØšØ§ØŽØ¯ Ù
+Û ØŽÙØ¯ . ØšÙ Ø®Ø§Ø·Ø± Ø¯Ø§ØŽØªÙ ÙÙØ±Ø³Øª Ø§Ø² Ø¯Ø±Ø¬Ù Û Ú©ÙÙ
+Ù ØšØ±Ø§Û Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û ØšØ²Ø±Ú¯ Ø¬Ø³ØªØ¬Ù Ú©ÙØ¯ ØªØ± Ø®ÙØ§ÙØ¯ ØšÙØ¯ . 
+CDM.BuildTypeManager.lucene:Lucene 
+CDM.BuildTypeManager.lucene_Description:Lucene  ØªÙØ³Ø· ØšÙÛØ§Ø¯ ÙØ±Ù
+ Ø§ÙØ²Ø§Ø±Û Apache  Ø·Ø±Ø§Ø­Û ØŽØ¯Ù .Ù Ø¯Ø§Ø±Ø§Û ÙØ§ØšÙÛØª Ø¬Ø³ØªØ¬ÙÛ ÙÛÙØ¯ Ù Ù
+Ø¬Ø§ÙØ±Øª Ø§Ø³Øª ÙÙÛ ØªÙÙØ§ Ø¯Ø± ÛÚ© Ø³Ø·Ø­ ( ØªÙ
+Ø§Ù
+ Ø§Ø³ÙØ§Ø¯ Ù ÛØ§ ÙØ± ÙØ³Ù
+Øª ÙÙÛ ÙÙ ÙØ± Ø¯Ù ØšØ§ ÙÙ
+ ). ØšÙ ÙÙ
+ÛÙ Ø®Ø§Ø·Ø± Ø§Ø³ÙØ§Ø¯ Ù ØšØ®ØŽ ÙØ§ Ø¯Ø± ÙØ± Ù
+Ø¬Ù
+ÙØ¹Ù ÙÛØ§Ø² ØšÙ Ø¯Ù ÙÙØ±Ø³Øª Ù
+Ø¬Ø²Ø§ Ø¯Ø§Ø±ÙØ¯ .ÙØ§ØšÙÛØª Ø¬Ø³ØªØ¬ÙÛ ØŽØšÛÙ ØšÙ MGPP  ØšØ±Ø§Û Ù
+Ø§ ÙØ±Ø§ÙÙ
+ Ù
+Û Ú©ÙØ¯ ØšÙ Ø¹ÙØ§ÙÙ ÙØ§ØšÙÛØª Ø¬Ø³ØªØ¬ÙÛ Ø­Ø±ÙÙ Ù Ø¬Ø³ØªØ¬ÙÛ Ø¯Ø§Ù
+ÙÙ Ø§Û Ù Ù
+Ø±ØªØš Ú©Ø±Ø¯Ù ÙØªØ§ÛØ¬ Ø§Ø² Ø±ÙÛ ÙØ±Ø§ Ø¯Ø§Ø¯Ù ÙØ§ Ø±Ø§ Ø¯Ø§Ø±Ø¯ . ØšØ±Ø§Û  Ø§ÙØ²ÙØ¯Ù ÙØ§ØšÙÛØª Ø³Ø§Ø®Øª Ø§ÙØ²Ø§ÛØŽÛ Ú©Ù MG  Ù  MGPP ÙØ§ÙØ¯ Ø¢Ù ÙØ³ØªÙØ¯ ØšÙ GreenStone  Ø§ÙØ²ÙØ¯Ù ØŽØ¯Ù Ø§Ø³Øª . 
+CDM.BuildTypeManager.Current_Type:ÙÙØ±Ø³Øª Ú¯Ø± ÙØ¹Ø§Ù : {0} 
+CDM.BuildTypeManager.Change:ØªØºÛÛØ±... 
+CDM.BuildTypeManager.Change_Tooltip:ØªØºÛÛØ± ÙÙØ±Ø³Øª Ú¯Ø± Ù
+ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù Û Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù 
+CDM.ClassifierManager.Add:Ø§ÙØ²ÙØ¯Ù Ø·ØšÙÙ ØšÙØ¯Û Ú©ÙÙØ¯Ù ... 
+CDM.ClassifierManager.Add_Tooltip:Ø§Ø³ØªÙØ§Ø¯Ù Ø§Ø² Ø·ØšÙÙ ØšÙØ¯Û Ú©ÙÙØ¯Ù Û Ù
+ØŽØ®Øµ ØŽØ¯Ù ØšØ±Ø§Û Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù 
+CDM.ClassifierManager.Assigned:Ø·ØšÙÙ ØšÙØ¯Û Ú©ÙÙØ¯Ù ÙØ§Û ØªØ®ØµÛØµ Ø¯Ø§Ø¯Ù ØŽØ¯Ù 
+CDM.ClassifierManager.Classifier:Ø·ØšÙÙ ØšÙØ¯Û Ú©ÙÙØ¯Ù Ø±Ø§ ØšØ±Ø§Û Ø§ÙØ²ÙØ¯Ù Ø§ÙØªØ®Ø§Øš Ú©ÙÛØ¯ 
+CDM.ClassifierManager.Classifier_Str:Ø·ØšÙÙ ØšÙØ¯Û Ú©ÙÙØ¯Ù 
+CDM.ClassifierManager.Classifier_List_XML_Parse_Failed:Ø®Ø·Ø§ Ø¯Ø± ØšØ¯Ø³Øª Ø¢ÙØ±Ø¯Ù ÙÛØ³Øª Ø·ØšÙÙ ØšÙØ¯Û Ú©ÙÙØ¯Ù ÙØ§ ØªÙØ³Ø·  classinfo.pl âlistall . 
+CDM.ClassifierManager.Classifier_XML_Parse_Failed:Ø®Ø·Ø§ Ø¯Ø± ØªØ¹ÛÛÙ Ø¢Ø±Ú¯ÙÙ
+Ø§Ù ÙØ§ ØšØ±Ø§Û Ø·ØšÙÙ ØšÙØ¯Û Ú©ÙÙØ¯Ù Û {0}  . \nØ§Ø·Ù
+ÛÙØ§Ù Ø­Ø§ØµÙ Ú©ÙÛØ¯ Ú©Ù Ø·ØšÙÙ ØšÙØ¯Û Ú©ÙÙØ¯Ù Û Ù
+ÙØ±Ø¯ ÙØžØ± ÙŸØ±ÚÙ
+ âxml  Ø±Ø§ ØªÙØ³Ø· Ø§Ø¬Ø±Ø§Û Ú©Ø¯ classinfo.pl ØªØ§Ù
+ÛÙ Ù
+Û Ú©ÙØ¯ . \nØŽØšÛÙ ØšÙ ØªÙØ¶ÛØ­Ø§Øª Ú©Ø¯ pluginfo.pl \n Ø¯Ø± Section 2.1  Ø±Ø§ÙÙÙ
+Ø§Û ØªÙØ³Ø¹Ù Ø¯ÙÙØ¯Ù Ú¯Ø§Ù Ú¯Ø±ÛÙ Ø³ØªÙÙ . 
+CDM.ClassifierManager.Configure:ÙŸÛÚ©Ø± ØšÙØ¯Û Ø·ØšÙÙ ØšÙØ¯Û Ú©ÙÙØ¯Ù ... 
+CDM.ClassifierManager.Configure_Tooltip:ØªØºÛÛØ± Ú¯Ø²ÛÙÙ ÙØ§Û Ø·ØšÙÙ ØšÙØ¯Û Ú©ÙÙØ¯Ù Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+CDM.ClassifierManager.Remove:Ø­Ø°Ù Ø·ØšÙÙ ØšÙØ¯Û Ú©ÙÙØ¯Ù 
+CDM.ClassifierManager.Remove_Tooltip:Ø­Ø°Ù Ø·ØšÙÙ ØšÙØ¯Û Ú©ÙÙØ¯Ù Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+CDM.FormatManager.Add:Ø§ÙØ²ÙØ¯Ù ÙØ§ÙØš 
+CDM.FormatManager.Add_Tooltip:Ø§ÙØ²ÙØ¯Ù Ø¯Ø³ØªÙØ± ÙØ§ÙØš ØšÙØ¯Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+CDM.FormatManager.AllFeatures:ØªÙ
+Ø§Ù
+ ÙÛÚÚ¯Û ÙØ§ 
+CDM.FormatManager.AllParts:ØªÙ
+Ø§Ù
+ Ø§Ø¬Ø²Ø§Ø¹ 
+CDM.FormatManager.Default:Reset to Default
+CDM.FormatManager.Default_Tooltip:Reset the selected format command to its default value 
+CDM.FormatManager.Editor:Ù
+ØªÙ Ø¯Ø± ÙØ§ÙØš HTML 
+CDM.FormatManager.Editor_Tooltip:Ø¯Ø³ØªÙØ± ÙØ§ÙØš ØšÙØ¯Û Ø±Ø§ ÙØ§Ø±Ø¯ ÛØ§ ÙÛØ±Ø§ÛØŽ Ú©ÙÛØ¯ 
+CDM.FormatManager.Editor_Disabled_Tooltip:ØšØ±Ø§Û Ø§ÙØ²ÙØ¯Ù Ø§ÛÙ Ø¯Ø³ØªÙØ± ÙØ§ÙØš ØšÙØ¯Û ØšÙ Ù
+Ø¬Ù
+ÙØ¹Ù ØšØ± Ø±ÙÛ "Ø§ÙØ²ÙØ¯Ù ÙØ§ÙØš " Ú©ÙÛÚ© Ú©ÙÛØ¯ 
+CDM.FormatManager.Enabled:ÙØ¹Ø§Ù 
+CDM.FormatManager.Feature:Ø§ÙØªØ®Ø§Øš ÙÛÚÚ¯Û 
+CDM.FormatManager.Feature_Tooltip:ÙÛÚÚ¯Û ØšØ±Ø§Û ÙØ§ÙØš Ú©Ø±Ø¯Ù 
+CDM.FormatManager.Insert:ÙØ§Ø±Ø¯ Ú©Ø±Ø¯Ù 
+CDM.FormatManager.Insert_Tooltip:ÙØ§Ø±Ø¯ Ú©Ø±Ø¯Ù Ù
+ØªØºÛÛØ± Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù ØšÙ Ø¯Ø§Ø®Ù Ø¯Ø³ØªÙØ± ÙØ±Ù
+Øª 
+CDM.FormatManager.Default:ØšØ§Ø²Ú¯ØŽØª ØšÙ ÙŸÛØŽ ÙØ±Ø¶ 
+CDM.FormatManager.Default_Tooltip:Ù
+ØªØºÛØ± Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø±Ø§ ØšÙ Ø­Ø§ÙØª ÙŸÛØŽ ÙØ±Ø¶ ØšØ§Ø² Ù
+ÛÚ¯Ø±Ø¯Ø§ÙØ¯ 
+CDM.FormatManager.Insert_Variable:ÙØ§Ø±Ø¯ Ú©Ø±Ø¯Ù Ù
+ØªØºÛØ± 
+CDM.FormatManager.Part:Ø§Ø¬Ø²Ø§Ø¹ ØªØ­Øª ØªØ§Ø«ÛØ± ÙØ±Ø§Ø± Ú¯ÙØªÙ 
+CDM.FormatManager.Part_Tooltip:Ø¬ÙØšÙ Û ÙÛÚÚ¯Û Ù
+ÙØ±Ø¯ ÙØžØ± ØšØ±Ø§Û ÙØ±Ù
+Øª ØŽØ¯Ù 
+CDM.FormatManager.Remove:Ø­Ø°Ù ÙØ§ÙØš 
+CDM.FormatManager.Remove_Tooltip:Ø­Ø°Ù Ø¯Ø³ØªÙØ± ÙØ§ÙØš Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+CDM.FormatManager.Variable_Tooltip:ÙØ§Ø±Ø¯ Ú©Ø±Ø¯Ù ÛÚ©Û Ø§Ø² Ù
+ØªØºÛÛØ± ÙØ§Û Ø§Ø² ÙŸÛØŽ ØªØ¹Ø±ÛÙ ØŽØ¯Ù Ø¯Ø§Ø®Ù  ÙØ§ÙØš Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+CDM.FormatManager.MessageBox:Xml Ø§Ø¹ØªØšØ§Ø± ÛØ§ØšÛ 
+CDM.FormatManager.MessageBox_Tooltip:Xml ÙŸÛØºØ§Ù
+ Ø§Ø¹ØªØšØ§Ø±Ø³ÙØ¬Û Ø§ÙÚ¯ÙÛ 
+CDM.General.Access:Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù ØšØ§ÛØ¯ ÙØ§ØšÙ Ø¯Ø³ØªØ±Ø³Û ØšØ±Ø§Û Ø¹Ù
+ÙÙ
+ ØšØ§ØŽØ¯ 
+CDM.General.Browser_Title:Ø§ÙØªØ®Ø§Øš Ø¹Ú©Ø³ 
+CDM.General.Collection_Extra:ÙØµÙ Ù
+Ø¬Ù
+ÙØ¹Ù : 
+CDM.General.Collection_Extra_Tooltip:ØªÙØµÛÙ ÙØ¯Ù Ù Ù
+Ø¶Ù
+ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ù : 
+CDM.General.Collection_Name:Ø¹ÙÙØ§Ù Ù
+Ø¬Ù
+ÙØ¹Ù : 
+CDM.General.Collection_Name_Tooltip:Ø¹ÙÙØ§Ù Ù
+Ø¬Ù
+ÙØ¹Ù Û Ù
+ÙØ±Ø¯ ÙØžØ± 
+CDM.General.Email.Creator:ÙŸØ³Øª Ø§ÙÚ©ØªØ±ÙÙÛÚ©Û ØšÙ ÙØ¬ÙØ¯ Ø¢ÙØ±ÙØ¯Ù : 
+CDM.General.Email.Creator_Tooltip:ÙŸØ³Øª Ø§ÙÚ©ØªØ±ÙÙÛÚ©Û ØšÙ ÙØ¬ÙØ¯ Ø¢ÙØ±ÙØ¯Ù Û Ù
+Ø¬Ù
+ÙØ¹Ù 
+CDM.General.Email.Maintainer:ÙŸØ³Øª Ø§ÙÚ©ØªØ±ÙÙÛÚ©Û ÙÚ¯Ø§Ù Ø¯Ø§Ø±ÙØ¯Ù : 
+CDM.General.Email.Maintainer_Tooltip:ÙŸØ³Øª Ø§ÙÚ©ØªØ±ÙÙÛÚ©Û ÙÚ¯Ø§Ù Ø¯Ø§Ø±ÙØ¯Ù Û Ù
+Ø¬Ù
+ÙØ¹Ù 
+CDM.General.Icon_Collection:Ø¢Ø¯Ø±Ø³  ØšÙ Ø¹Ú©Ø³ ØµÙØ­Ù Û " Ø¯Ø±ØšØ§Ø±Ù Û "  : 
+CDM.General.Icon_Collection_Tooltip:Ø¢Ø¯Ø±Ø³ Ø§ÛÙØªØ±ÙØªÛ Ø¹Ú©Ø³ ØµÙØ­Ù Û Ø¯Ø± ØšØ§Ø±Ù Û 
+CDM.General.Icon_Collection_Small:Ø¢Ø¯Ø±Ø³ ØšÙ Ø¹Ú©Ø³ ØµÙØ­Ù Û Ø®Ø§ÙÙ Ú¯Û :  
+CDM.General.Icon_Collection_Small_Tooltip:Ø¢Ø¯Ø±Ø³ Ø§ÛÙØªØ±ÙØªÛ Ø¹Ú©Ø³Û Ú©Ù Ø¯Ø± ØµÙØ­Ù Û Ø®Ø§ÙÚ¯Û ØšÙ Ø¹ÙÙØ§Ù Ø¹Ú©Ø³ Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù ÙÙ
+Ø§ÛØŽ Ø¯Ø§Ø¯Ù Ù
+Û ØŽÙØ¯ 
+CDM.General.Image_Copy_Failed:Ù
+ØŽÚ©ÙÛ ØšÙ ÙØ¬ÙØ¯ Ø¢Ù
+Ø¯Ù Ú©Ù Ø§Ø² Ú©ÙŸÛ ØŽØ¯Ù Ø¹Ú©Ø³ Ù
+ÙØ±Ø¯ ÙØžØ± ØŽÙ
+Ø§ Ø¬ÙÙÚ¯ÛØ±Û Ù
+ÛÚ©ÙØ¯ \n ÙØ·ÙØ§ Ø¹Ú©Ø³ Ø±Ø§   : {0} \n  ØšÙ ØµÙØ±Øª Ø¯Ø³ØªÛ ØšÙ ÙŸÙØŽÙ Û Ø¹Ú©Ø³ ÙØ§ Û Ù
+Ø¬Ù
+ÙØ¹Ù Û Ø®ÙØ¯ Ú©ÙŸÛ Ú©ÙÛØ¯ 
+CDM.General.Image_Filter:Ø¹Ú©Ø³ ÙØ§Û  (gifs, jpgs and pngs) 
+CDM.GUI.Classifiers:Ø·ØšÙÙ ØšÙØ¯Û Ú©ÙÙØ¯Ù ÙØ§ ØšØ±Ø§Û Ù
+Ø±ÙØ± 
+CDM.GUI.Formats:ÙØ§ØšÙÛØª ÙØ§Û ÙØ§ÙØš ÙØ§ 
+CDM.GUI.General:Ø¹Ù
+ÙÙ
+Û 
+CDM.GUI.Indexes:ØŽØ§Ø®Øµ ÙØ§Û Ø¬Ø³ØªØ¬Ù 
+CDM.GUI.Macros:Macro  ÙØ§Û Ù
+Ø®ØªØµ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ 
+CDM.GUI.Plugins:Ø§ÙØ²ÙÙÙ ÙØ§Û Ø§Ø³ÙØ§Ø¯ 
+CDM.GUI.Root:CDM_ROOT 
+CDM.GUI.SearchMetadata:Ø¬Ø³ØªØ¬Ù 
+CDM.GUI.Subcollections:ØŽØ§Ø®Øµ ÙØ§Û Ø§ÙØ±Ø§Ø² 
+CDM.GUI.SuperCollection:Ø¬Ø³ØªØ¬ÙÛ ØšÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù Ø§Û 
+CDM.GUI.Translation:ØªØ±Ø¬Ù
+Ù Û Ù
+ØªÙ 
+CDM.GUI.DepositorMetadata:Ø°Ø®ÛØ±Ù Û ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§ 
+CDM.HelpButton:Ø±Ø§ÙÙÙ
+Ø§Û ØµÙØ­Ù 
+CDM.HelpButton_Tooltip:Ø±Ø§ÙÙÙ
+Ø§Û Ø§ÛÙ ØµÙØ­Ù 
+CDM.IndexManager.Add_Index:Ø§ÙØ²ÙØ¯Ù 
+CDM.IndexManager.Add_Index_Tooltip:Ø§ÙØ²ÙØ¯Ù ØŽØ§Ø®Øµ ØªØ®ØµÛØµ Ø¯Ø§Ø¯Ù ØŽØ¯Ù 
+CDM.IndexManager.Allfields_Index:Ø§ÙØ²ÙØ¯Ù Ø¬Ø³ØªØ¬ÙÛ ØªØ±Ú©ÛØšÛ ØšØ± Ø±ÙÛ ØŽØ§Ø®Øµ ÙØ§Û ØªØ®ØµÛØµ Ø¯Ø§Ø¯Ù ØŽØ¯Ù . 
+CDM.IndexManager.Default_Index_Indicator:[ÙŸÛØŽ ÙØ±Ø¶] 
+CDM.IndexManager.Index_Exists:Ø§ÛÙ ÙÙØ±Ø³Øª ØšÙ Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù Ø§Ø² ÙØšÙ ØªØ®ØµÛØµ Ø¯Ø§Ø¯Ù ØŽØ¯Ù Ø§Ø³Øª . 
+CDM.IndexManager.Indexes:ÙÙØ±Ø³Øª ÙØ§Û ØªØ®ØµÛØµ Ø¯Ø§Ø¯Ù ØŽØ¯Ù  : 
+CDM.IndexManager.Level:Ø¯Ø±Ø¬Ù Û ÙÙØ±Ø³Øª Ø³Ø§Ø²Û : 
+CDM.IndexManager.Level_Tooltip:ÙØ§Ø­Ø¯ Ù
+ØªÙÛ Ú©Ù ÙÙØ±Ø³Øª Ú¯Ø± ØšØ± Ù
+ØšÙØ§Û Ø¢Ù Ú©Ø§Ø± Ù
+Û Ú©ÙØ¯ (Ú©ÙÙ
+Ù , Ø­Ø±Ù ) . 
+CDM.IndexManager.Add_All:Ø§ÙØ²ÙØ¯Ù ÙÙ
+Ù 
+CDM.IndexManager.Add_All_Tooltip:Ø§ÙØ²ÙØ¯Ù ÙÙØ±Ø³Øª Ù
+Ø¬Ø²Ø§ ØšØ±Ø§Û ÙØ± Ù
+ÙØšØ¹ 
+CDM.IndexManager.Edit_Index:ÙÛØ±Ø§ÛØŽ ØŽØ§Ø®Øµ 
+CDM.IndexManager.Edit_Index_Tooltip:Ø§ØµÙØ§Ø­ ØŽØ§Ø®Øµ Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+CDM.IndexManager.New_Index:ØŽØ§Ø®Øµ Ø¬Ø¯ÛØ¯ 
+CDM.IndexManager.New_Index_Tooltip:Ø§ÙØ²ÙØ¯Ù ØŽØ§Ø®Øµ Ø¬Ø¯ÛØ¯ ØšØ±Ø§Û ÙÙØ±Ø³Øª ØŽØ¯Ù 
+CDM.IndexManager.Remove_Index:Ø­Ø°Ù ØŽØ§Ø®Øµ 
+CDM.IndexManager.Remove_Index_Tooltip:Ø­Ø°Ù ØŽØ§Ø®Øµ Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+CDM.IndexManager.Replace_Index:Ø¬Ø§ÛÚ¯Ø²ÛÙÛ ØŽØ§Ø®Øµ 
+CDM.IndexManager.Replace_Index_Tooltip:ØšÙ Ø±ÙØ² Ø±Ø³Ø§ÙÛ ØŽØ§Ø®Øµ Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+CDM.IndexManager.Select_All:Ø§ÙØªØ®Ø§Øš ÙÙ
+Ù 
+CDM.IndexManager.Select_All_Tooltip:Ø§ÙØªØ®Ø§Øš ØªÙ
+Ø§Ù
+ Ù
+ÙØ§ØšØ¹ ÙÙØ±Ø³Øª 
+CDM.IndexManager.Select_None:Ø­Ø°Ù Ø§ÙØªØ®Ø§Øš ÙØ§ 
+CDM.IndexManager.Select_None_Tooltip:Ø­Ø°Ù ØªÙ
+Ø§Ù
+ Ù
+ÙØ§ØšØ¹ ÙÙØ±Ø³Øª ÙØ§Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+CDM.IndexManager.Set_Default:ØªÙØžÛÙ
+ ØŽØ§Ø®Øµ ÙŸÛØŽ ÙØ±Ø¶ 
+CDM.IndexManager.Set_Default_Tooltip:ØŽØ§Ø®Øµ Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø±Ø§ ÙŸÛØŽ ÙØ±Ø¶ ÙØ±Ø§Ø± Ù
+ÛØ¯ÙØ¯ 
+CDM.IndexManager.Source:Ø§ÙØ²ÙØ¯Ù Ø¯Ø± ÙÙØ±Ø³Øª : 
+CDM.IndexManager.Source_Tooltip:Ø¹ÙØ§ØµØ± ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û Ù
+ØšÙØ§Û Ø³Ø§Ø®Øª ÙÙØ±Ø³Øª 
+CDM.IndexManager.Text_Source:Ù
+ØªÙ Ú©Ø§Ù
+Ù 
+CDM.IndexManager.Text_Source_Tooltip:Ø§ÙØ²ÙØ¯Ù Ù
+ØªÙ Ú©Ø§Ù
+Ù Ø³ÙØ¯ Ø¯Ø± ÙÙØ±Ø³Øª 
+CDM.IndexingManager.Accent_fold:Ø­Ø³Ø§Ø³ ØšÙ ØªÚ©ÛÙ Û Ø­Ø±ÙÙ 
+CDM.IndexingManager.Accent_fold_Tooltip:Ø§ÛØ¬Ø§Ø¯ ÛÚ© ÙÙØ±Ø³Øª ØšØ¯ÙÙ ØªÙØ¬Ù ØšÙ ØªÚ©ÛÙ Û Ø­Ø±ÙÙ , ÙØ§ØšÙÛØª Ø¬Ø³ØªØ¬Ù Û Ú©ÙÙ
+Ø§Øª ØšØ¯ÙÙ ØªÙØ¬Ù ØšÙ ØªÚ©ÛÙ Û Ø¢ÙÙØ§ Ø±Ø§ ÙØ¹Ø§Ù Ù
+Û Ø³Ø§Ø²Ø¯ . 
+CDM.IndexingManager.Casefold:Ø­Ø³Ø§Ø³ ØšÙ ØšØ²Ø±Ú¯ ÛØ§ Ú©ÙÚÚ© ØšÙØ¯Ù Ø­Ø±ÙÙ 
+CDM.IndexingManager.Casefold_Tooltip:ØªÙÙÛØ¯ ÙÙØ±Ø³Øª ØšØ§ Ø­Ø±ÙÙ ÙØ§ØªÛÙ ØšØ²Ø±Ú¯ , ØšØ±Ø§Û Ø§ÛØ¬Ø§Ø¯ ÙØ§ØšÙÛØª Ø¬Ø³ØªØ¬Ù ØšØ¯ÙÙ ØªÙØ¬Ù ØšÙ ØšØ²Ø±Ú¯ Ù ÛØ§ Ú©ÙÚÚ© ØšÙØ¯Ù Ø­Ø±ÙÙ . 
+CDM.IndexingManager.Options:Ú¯Ø²ÛÙÙ ÙØ§Û ÙÙØ±Ø³Øª Ø³Ø§Ø²Û : 
+CDM.IndexingManager.Separate_cjk:ÙØ·Ø¹Ù ÛÙØ¯Û Ù
+ØªÙÛ CJK  
+CDM.IndexingManager.Separate_cjk_Tooltip:<html>ØšØ±Ø§Û ÙØ¬ÙØ¯ ÙØ§ØšÙÛØª Ø¬Ø³ØªØ¬Ù Ø¯Ø± Ù
+ØªÙ ÙØ§Û ØšØ§ ÙØ·Ø¹Ù ÙØ§Û CJK  (ÚØ§ÙŸÙÛ , Ú©Ø±Ù Ø§Û , ÚÛÙÛ ) <br>  ØšØ§ÛØ¯ Ø¯Ø± ÙÙÚ¯Ø§Ù
+ Ø°Ø®ÛØ±Ù Û Ø§ÛÙ Ù
+ØªÙÙ ØšÛÙ ÙØ± Ú©Ø±Ø§Ú©ØªØ± Ø¢ÙÙØ§ ÛÚ© Ø®Ø· ÙØ§ØµÙÙ ÙØ±Ø§Ø± Ø¯Ø§Ø¯ </html> 
+CDM.IndexingManager.Stem:Ø±ÛØŽÙ ÙØºØª 
+CDM.IndexingManager.Stem_Tooltip:<html> Ø§ÛØ¬Ø§Ø¯ ÙÙØ±Ø³Øª ØšØ§ ØªÙØ¬Ù ØšÙ Ø±ÛØŽÙ Û Ø­Ø±ÙÙ , Ø§ÛÙ Ú©Ø§Ø± ÙØ§ØšÙÛØª Ø¬Ø³ØªØ¬Ù ØšØ± Ø±ÙÛ Ø±ÛØŽÙ Ù Û Ø­Ø±ÙÙ Ø±Ø§ ÙØ¹Ø§Ù Ø®ÙØ§ÙØ¯ Ø³Ø§Ø®Øª <br> ØªÙØ¬Ù Ø¯Ø§ØŽØªÙ ØšØ§ØŽÛØ¯ Ú©Ù Ø§ÛÙ ÙØ§ØšÙÛØª ØšØ±Ø§Û Ù
+ØªÙÙ Ø§ÙÚ¯ÙÛØ³Û Ù ÙØ±Ø§ÙØ³ÙÛ Ù
+Û ØšØ§ØŽØ¯ </html> 
+CDM.LanguageManager.Add_Tooltip:Ø§ÙØ²ÙØ¯Ù ÛÚ© ÙÙØ±Ø³Øª Ø§ÙØ±Ø§Ø² ØšØ± Ù
+ØšÙØ§Û ÛÚ© Ø²ØšØ§Ù Ù
+ØŽØ®Øµ 
+CDM.LanguageManager.Assigned_Languages:Ø§ÙØ±Ø§Ø²ÙØ§Û Ø²ØšØ§Ù ØªØ®ØµÛØµ Ø¯Ø§Ø¯Ù ØŽØ¯Ù 
+CDM.LanguageManager.Default_Language:Ø²ØšØ§Ù ÙŸÛØŽ ÙØ±Ø¶ 
+CDM.LanguageManager.LanguageMetadata:ÙØ±Ø§Ø¯Ø§Ø¯Ù Û Ø²ØšØ§Ù : 
+CDM.LanguageManager.LanguageMetadata_Tooltip:Ø¹ÙØµØ± ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û Ú©Ù Ø§Ø² Ø¢Ù ØšØ±Ø§Û Ù
+ØŽØ®Øµ Ú©Ø±Ø¯Ù Ø²ØšØ§Ù ÙØ± Ø³ÙØ¯ Ø§Ø³ØªÙØ§Ø¯Ù Ø®ÙØ§ÙØ¯ ØŽØ¯ 
+CDM.LanguageManager.Remove_Tooltip:Ø§ÙØ±Ø§Ø² Ø²ØšØ§Ù Ø§ÙØ®Ø§Øš ØŽØ¯Ù Ø±Ø§ Ø§Ø² ÙÛØ³Øª Ø­Ø°Ù Ù
+Û Ú©ÙØ¯ 
+CDM.LanguageManager.Replace_Tooltip:Ø§ÙØ±Ø§Ø² Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø±Ø§ ØšØ± Ù
+ØšÙØ§Û Ø²ØšØ§Ù ØªÛÚ© Ø®ÙØ±Ø¯Ù Ø¬Ø§ÛÚ¯Ø²ÛÙ Ù
+Û Ú©ÙØ¯ 
+CDM.LanguageManager.Selector:Ø²ØšØ§Ù ÙØ§ ØšØ±Ø§Û Ø§ÙØ²ÙØ¯Ù : 
+CDM.LanguageManager.Selector_Tooltip:Ø²ØšØ§Ù ÙØ§ ØšØ±Ø§Û Ø³Ø§Ø®Øª ÙÙØ±Ø³Øª Ø§ÙØ±Ø§Ø² ØšØ± Ù
+ØšÙØ§Û Ø¢ÙÙØ§ 
+CDM.LanguageManager.Set_Default:ØªÙØžÛÙ
+ ÙŸÛØŽ ÙØ±Ø¶ 
+CDM.LanguageManager.Set_Default_Tooltip:Ø§ÙØ±Ø§Ø² Ø²ØšØ§Ù Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø±Ø§ ÙŸÛØŽ ÙØ±Ø¶ ÙØ±Ø§Ø± Ù
+Û Ø¯ÙØ¯ 
+CDM.LevelManager.Document:Ø³ÙØ¯ 
+CDM.LevelManager.Section:ØšØ®ØŽ 
+CDM.LevelManager.Paragraph:ÙŸØ§Ø±Ø§Ú¯Ø±Ø§Ù 
+CDM.LevelManager.Level_Title:Ø³Ø·ÙØ­ ÙÙØ±Ø³Øª Ø³Ø§Ø²Û 
+CDM.LevelManager.Default:ÙŸÛØŽ ÙØ±Ø¶ 
+CDM.LevelManager.Default_Tooltip:Ø³Ø·Ø­ ÙŸÛØŽ ÙØ±Ø¶ Ø¯Ø± Ø±Ø§ØšØ· Ú©Ø§Ø±ØšØ±Û Ø¢ÙÙØ§ÛÙ 
+CDM.MacrosManager.Editor_Tooltip:Ù
+Ø§Ú©Ø±Ù ÙØ§ Ø±Ø§ Ø¯Ø± Ø§ÛÙØ¬Ø§ ÙÛØ±Ø§ÛØŽ Ú©ÙÛØ¯ 
+CDM.Move.At_Bottom:ÙÙ
+Û ØªÙØ§Ù {0}  {1} Ø±Ø§ ÙŸØ§ÛÛÙ ØªØ± Ø§Ø² Ø§ÛÙ Ø¯Ø± ÙÛØ³Øª ØšØ±Ø¯ 
+CDM.Move.At_Top:ÙÙ
+Û ØªÙØ§Ù {0}  {1}  Ø±Ø§ Ø¯Ø± ÙÛØ³Øª ØšØ§ÙØ§ ØªØ± ØšØ±Ø¯ 
+CDM.Move.Cannot:ÙÙ
+Û ØªÙØ§Ù Ø§ÙØ²ÙÙÙ Û {0}  Ø±Ø§ Ø¯Ø± ÙÛØ³Øª ÙŸØ§ÛÛÙ ØªØ± ØšØ±Ø¯ Ø§ÙØ²ÙÙÙ ÙØ§Û RecPlug  Ù ArcPlug ØšØ§ÛØ¯ Ø¯Ø± Ø¢Ø®Ø± ÙÛØ³Øª ØšØ§ØŽÙØ¯ . 
+CDM.Move.Fixed:<html> Ø§ÙØ²ÙÙÙ ÙØ§Û RecPlug  Ù ArcPlug Ø¯Ø± Ú©Ù ØšØ§ÛØ¯ Ø¢Ø®Ø± ÙÛØ³Øª ØšØ§ØŽÙØ¯ Ù ØšÙ Ø§ÛÙ ØµÙØ±Øª ØªÙØžÛÙ
+ ØŽØ¯Ù Ø§ÙØ¯. <br> Ø§Ú¯Ø± Ú©Ù ÙØ§ÙØ¹Ø§ ÙÛØ§Ø² ØšÙ ØªØºÛÛØ± Ø¬Ø§Û Ø¢ÙÙØ§ Ø¯Ø§Ø±ÛØ¯ ÙØ·ÙØ§ ÙØ§ÛÙ Collect.cfg  Ø±Ø§ Ø¯Ø³ØªÛ ØªØºÛÛØ± Ø¯ÙÛØ¯ . </html> 
+CDM.Move.Move_Down:ÙŸØ§ÛÛÙ 
+CDM.Move.Move_Down_Tooltip:Ø­Ø±Ú©Øª Ø¯Ø§Ø¯Ù Ø¹ÙØµØ± Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù ØšÙ ÙŸØ§ÛÛÙ 
+CDM.Move.Move_Up:ØšØ§ÙØ§ 
+CDM.Move.Move_Up_Tooltip:Ø­Ø±Ú©Øª Ø¹ÙØµØ± Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù ØšÙ ØšØ§ÙØ§ 
+CDM.Move.Title:Error - ØºÛØ± ÙØ§ØšÙ Ø­Ø±Ú©Øª 
+CDM.PlugInManager.Add:Ø§ÙØ²ÙØ¯Ù Ø§ÙØ²ÙÙÙ ... 
+CDM.PlugInManager.QuickAdd:Ø§ÙØ²ÙØ¯Ù Ø§ÙØ²ÙÙÙ 
+CDM.PlugInManager.Add_Tooltip:ØšÙ Ú©Ø§Ø± ØšØ±Ø¯Ù Ø§ÙØ²ÙÙÙ Û Ø®Ø§ØµÛ Ø¯Ø± Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù 
+CDM.PlugInManager.Assigned:Ø§ÙØ²ÙÙÙ ÙØ§Û ØªØ®ØµÛØµ Ø¯Ø§Ø¯Ù ØŽØ¯Ù 
+CDM.PlugInManager.Configure:ØªÙØžÛÙ
+Ø§Øª Ø§ÙØ²ÙÙÙ 
+CDM.PlugInManager.Configure_Tooltip:ØªØºÛÛØ± ØªÙØžÛÙ
+Ø§Øª Ø§ÙØ²ÙÙÙ Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+CDM.PlugInManager.Ignore:Ø§ÙØ²ÙÙÙ Ø§Û Ø§Ø¶Ø§ÙÙ ÙÚ©ÙÛØ¯ 
+CDM.PlugInManager.Ignore_Tooltip:ØšÙ Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù ÙÛØ¬ Ø§ÙØ²ÙÙÙ Ø§Û Ø§Ø¶Ø§ÙÙ ÙÚ©ÙÛØ¯ 
+CDM.PlugInManager.PlugIn:Ø§ÙØ²ÙÙÙ Ø±Ø§ ØšØ±Ø§Û Ø§ÙØ²ÙØ¯Ù Ø§ÙØªØ®Ø§Øš Ú©ÙÛØ¯ : 
+CDM.PlugInManager.PlugIn_Tooltip:Ø§ÙØ²ÙÙÙ ÙØ§Û Ù
+ÙØ¬ÙØ¯ ØšØ±Ø§Û Ø§Ø³ØªÙØ§Ø¯Ù Ø¯Ø± Ù
+Ø¬Ù
+ÙØ¹Ù 
+CDM.PlugInManager.PlugIn_Str:Ø§ÙØ²ÙÙÙ 
+CDM.PlugInManager.PlugIn_XML_Parse_Failed:Ø®Ø·Ø§Û ÙŸØ§Ø±Ø³ Xml  ØšØ±Ø§Û Ø§ÙØ²ÙÙÙ 
+CDM.PluginManager.Plugin_List_XML_Parse_Failed:Ø®Ø·Ø§ Ø¯Ø± ØšØ¯Ø³Øª Ø¢ÙØ±Ø¯Ù ÙÛØ³Øª Ø§ÙØ²ÙÙÙ ÙØ§ ØªÙØ³Ø· Pluginfo.pl âinstall  . 
+CDM.PluginManager.Plugin_Suggestion_Prompt:ÙÛÚ Ø§ÙØ²ÙÙÙ Ø§Û Ø¯Ø± Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù ÙÙ
+Û ØªÙØ§ÙØ¯ ÙØ§ÛÙ {0}  Ø±Ø§ ÙŸØ±Ø¯Ø§Ø²ØŽ Ú©ÙØ¯ . ØšØ±Ø§Û Ø§ÙØ¬Ø§Ù
+ Ø§ÛÙ ÙŸØ±Ø¯Ø§Ø²ØŽ Ø§Ø² Ø§ÙØ²ÙÙÙ ÙØ§Û ÙÙÙ Ù
+Û ØªÙØ§Ù Ø§Ø³ØªÙØ¯Ù Ú©Ø±Ø¯ . ØŽÙ
+Ø§ ÙÙ
+ Ø§Ú©ÙÙÙ ØšØ§ Ø§ÙØªØ®Ø§Øš ÛÚ©Û Ø§Ø² Ø¢ÙÙØ§ Ù
+Û ØªÙØ§ÙÛØ¯ Ø¢Ù Ø±Ø§ ØšÙ Ù
+Ø¬Ù
+ÙØ¹Ù Ø§Ø¶Ø§ÙÙ Ú©ÙÛØ¯ .( ØªÙØ¬Ù Ø¯Ø§ØŽØªÙ ØšØ§ØŽÛØ¯ Ú©Ù ÙÛØ³Øª Ø§ÙØ²ÙÙÙ ÙØ§ Ø¯Ø± ÙØ± Ø²Ù
+Ø§ÙÛ ÙØ§ØšÙ ØªØºÛÛØ± ÙØ³ØªÙØ¯) 
+CDM.PlugInManager.Remove:Ø­Ø°Ù Ø§ÙØ²ÙÙÙ 
+CDM.PlugInManager.Remove_Tooltip:Ø­Ø°Ù Ø§ÙØ²ÙÙÙ Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø§Ø² Ù
+Ø¬Ù
+ÙØ¹Ù 
+CDM.PluginManager.SuggestedPluginListTitle:Ø§ÙØ²ÙÙÙ ÙØ§Û ÙŸÛØŽÙÙØ§Ø¯ ØŽØ¯Ù ØšØ±Ø§Û ÙØ§ÛÙ 
+CDM.SearchMetadataManager.Component:Ø¹ÙØµØ± Ø¯Ø§Ø®Ù Ù
+ÙÙÛ Ø¬Ø³ØªØ¬Ù 
+CDM.SearchMetadataManager.Component_Name:ÙÙ
+Ø§ÛØŽ Ù
+ØªÙ 
+CDM.SearchMetadataManager.Type_index:ÙÙØ±Ø³Øª 
+CDM.SearchMetadataManager.Type_level:Ø³Ø·Ø­ 
+CDM.SearchMetadataManager.Type_partition:Ø§ÙØ±Ø§Ø² 
+CDM.SearchMetadataManager.Type_language:Ø§ÙØ±Ø§Ø² Ø²ØšØ§Ù 
+CDM.SubcollectionManager.Add:Ø§ÙØ²ÙØ¯Ù ÙÛÙØªØ± 
+CDM.SubcollectionManager.Add_Tooltip:Ø§ÙØ²ÙØ¯Ù ÙÛÙØªØ± Ù
+ØŽØ®Øµ ØŽØ¯Ù ØšÙ Ù
+Ø¬Ù
+ÙØ¹Ù 
+CDM.SubcollectionManager.Assigned:ÙÛÙØªØ±ÙØ§Û ØªØ¹Ø±ÛÙ ØŽØ¯Ù Û Ø²ÛØ±Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ 
+CDM.SubcollectionManager.Exclude:Ø­Ø°Ù Ú©Ø±Ø¯Ù 
+CDM.SubcollectionManager.Flags:ÙŸØ±ÚÙ
+ ÙØ§Û Ø¹ØšØ§Ø±Øª Ù
+ÙØžÙ
+ Ù
+ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù Ø¯Ø± ÙÙÚ¯Ø§Ù
+ ØªØ·Ø§ØšÙ : 
+CDM.SubcollectionManager.Flags_Tooltip:ÙŸØ±ÚÙ
+ Ø¹ØšØ§Ø±Ø§Øª Ù
+ÙØžÙ
+ ØšØ±Ø§Û Ø§Ø³ØªÙØ§Ø¯Ù Ø¯Ø± Ø²Ù
+Ø§Ù ØªØ·Ø§ØšÙ . 
+CDM.SubcollectionManager.Include:Ø§ÙØ²ÙØ¯Ù 
+CDM.SubcollectionManager.Inclusive:ØšØ§ ÙØ§ÛÙ ÙØ§ÛÛ Ú©Ù Ù
+Ø·Ø§ØšÙØª Ø¯Ø§Ø±ÙØ¯ ÚÚ©Ø§Ø± Ú©ÙÛÙ
+ Ø 
+CDM.SubcollectionManager.Language_Controls:Ø§Ø®ØªØµØ§Øµ Ø²ØšØ§Ù 
+CDM.SubcollectionManager.Match:Ø¹ØšØ§Ø±Ø§Øª Ù
+ÙØžÙ
+ ØšØ±Ø§Û ØªØ·Ø§ØšÙ Ø¯Ø§Ø¯Ù : 
+CDM.SubcollectionManager.Match_Tooltip:ÛÚ© Ø¹ØšØ§Ø±Øª Ù
+ÙØžÙ
+ Ù
+ØŽØ®Øµ Ú©ÙÙØ¯Ù Û Ø§Ø³ÙØ§Ø¯ Ø¯Ø± Ø²ÛØ± Ù
+Ø¬Ù
+ÙØ¹Ù 
+CDM.SubcollectionManager.Name:ÙØ§Ù
+ ÙÛÙØªØ± Ø²ÛØ±Ù
+Ø¬Ù
+ÙØ¹Ù : 
+CDM.SubcollectionManager.Name_Tooltip:ÙØ§Ù
+ ÙÛÙØªØ± Ø¬Ø¯ÛØ¯ Ø²ÛØ± Ù
+Ø¬Ù
+ÙØ¹Ù 
+CDM.SubcollectionManager.Partitions_Disabled:Ø§ÛÙ ÙØ§ØšÙÛØª Ø¯Ø± ÙØ¶Ø¹ÛØª   {0-Current Mode} ØºÛØ± ÙØ¹Ø§Ù Ø§Ø³Øª . Ø§ÛÙ ÙØ§ØšÙÛØª ØªÙÙØ§ Ø¯Ø± ÙØ¶Ø¹ÛØª ÙØ§Û {1-Systems}  Ù {2-Expert} ÙØ¹Ø§Ù Ù
+Û ØšØ§ØŽØ¯ . ÙØ¶Ø¹ÛØª Ø±Ø§ØšØ· Ú©Ø§Ø±ØšØ±Û Ø±Ø§ ØšÙ Ø§ÛÙ ØŽÚ©Ù Ù
+ÛØªÙØ§ÙÛØ¯ ØªØºÛÛØ± Ø¯ÙÛØ¯   ÙØ§ÛÙ<-  ØªÙØžÛÙ
+Ø§Øª <-  ÙØ¶Ø¹ÛØª 
+CDM.SubcollectionManager.Remove:Ø­Ø°Ù ÙÛÙØªØ± 
+CDM.SubcollectionManager.Remove_Tooltip:Ø­Ø°Ù ÙÛÙØªØ± Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø§Ø² ÙÛØ³Øª 
+CDM.SubcollectionManager.Replace:ØªØ¹ÙÛØ¶ ÙÛÙØªØ± 
+CDM.SubcollectionManager.Replace_Tooltip:ØšÙ Ø±ÙØ² Ø±Ø³Ø§ÙÛ Ø¬Ø²Ø¹ÛØ§Øª ÙÛÙØªØ± Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+CDM.SubcollectionManager.Source:Ù
+ØŽØ®ØµÙ ÙØ§Û Ø³ÙØ¯ ØšØ±Ø§Û Ù
+Ø·Ø§ØšÙØª : 
+CDM.SubcollectionManager.Source_Tooltip:Ù
+ØŽØ®ØµÙ Û Ø³ÙØ¯ ØšØ±Ø§Û ÙÛÙØªØ± Ú©Ø±Ø¯Ù 
+CDM.SubcollectionManager.Subcollection_Controls:ØªØ¹ÛÛÙ ÙÛÙØªØ± 
+CDM.SubcollectionManager.Subindex_Controls:ØªØ®ØµÛØµ Ø§ÙØ±Ø§Ø² 
+CDM.SubcollectionIndexManager.Add_Subindex:Ø§ÙØ²ÙØ¯Ù Ø§ÙØ±Ø§Ø² 
+CDM.SubcollectionIndexManager.Add_Subindex_Tooltip:Ø§ÙØ²ÙØ¯Ù Ø§ÙØ±Ø§Ø² Ù
+ØŽØ®Øµ ØŽØ¯Ù ØšÙ Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù 
+CDM.SubcollectionIndexManager.Default_Partition_Indicator:[ÙŸÛØŽ ÙØ±Ø¶] 
+CDM.SubcollectionIndexManager.Remove_Subindex:Ø­Ø°Ù Ø§ÙØ±Ø§Ø² 
+CDM.SubcollectionIndexManager.Remove_Subindex_Tooltip:Ø­Ø°Ù Ø§ÙØ±Ø§Ø² Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø§Ø² Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù 
+CDM.SubcollectionIndexManager.Replace_Subindex:ØªØ¹ÙÛØ¶ Ø§ÙØ±Ø§Ø² 
+CDM.SubcollectionIndexManager.Replace_Subindex_Tooltip:ØšÙ Ø±ÙØ² Ø±Ø³Ø§ÙÛ Ø§ÙØ±Ø§Ø² Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+CDM.SubcollectionIndexManager.Set_Default_Subindex:ÙŸÛØŽ ÙØ±Ø¶ 
+CDM.SubcollectionIndexManager.Set_Default_Subindex_Tooltip:Ø§ÙØ±Ø§Ø² Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø±Ø§ ÙŸÛØŽÙØ±Ø¶ ÙØ±Ø§Ø± Ù
+Û Ø¯ÙØ¯ 
+CDM.SubcollectionIndexManager.Source:Ø³Ø§Ø®Øª Ø§ÙØ±Ø§Ø² ØšØ± ÙŸØ§ÛÙ Û : 
+CDM.SubcollectionIndexManager.Source_Tooltip:ÙÛÙØªØ±ÙØ§Û Ø²ÛØ±Ù
+Ø¬Ù
+ÙØ¹Ù ØšØ±Ø§Û Ø³Ø§Ø®Øª Ø§ÙØ±Ø§Ø² 
+CDM.SubcollectionIndexManager.Subindexes:Ø§ÙØ±Ø§Ø²ÙØ§Û Ø²ÛØ±Ù
+Ø¬Ù
+ÙØ¹Ù Û ØªØ®ØµÛØµ Ø¯Ø§Ø¯Ù ØŽØ¯Ù 
+CDM.TranslationManager.Add:Ø§ÙØ²ÙØ¯Ù ØªØ±Ø¬Ù
+Ù 
+CDM.TranslationManager.Add_Tooltip:Ø§ÙØ²ÙØ¯Ù ØªØ±Ø¬Ù
+Ù Û Ù
+ØŽØ®Øµ ØŽØ¯Ù ØšÙ Ù
+Ø¬Ù
+ÙØ¹Ù 
+CDM.TranslationManager.Affected_Features:ÙÛÚÚ¯Û ÙØ§ 
+CDM.TranslationManager.Assigned_Fragments:ØªØ±Ø¬Ù
+Ù ÙØ§Û ØªØ®ØµÛØµ Ø¯Ø§Ø¯Ù ØŽØ¯Ù 
+CDM.TranslationManager.Default_Text:ÙØ·Ø¹Ù Ù
+ØªÙ Ø§ØšØªØ¯Ø§ÛÛ 
+CDM.TranslationManager.Fragment_Column:ÙØ·Ø¹Ù Ù
+ØªÙ 
+CDM.TranslationManager.Language:Ø²ØšØ§Ù ØªØ±Ø¬Ù
+Ù 
+CDM.TranslationManager.Language_Column:Ø²ØšØ§Ù 
+CDM.TranslationManager.Language_Tooltip:Ø²ØšØ§Ù Ú©Ù ØªØ±Ø¬Ù
+Ù ØšÙ Ø¢Ù Ø§ÙØ¬Ø§Ù
+ Ù
+Û ØŽÙØ¯ 
+CDM.TranslationManager.Remove:Ø­Ø°Ù ØªØ±Ø¬Ù
+Ù 
+CDM.TranslationManager.Remove_Tooltip:Ø­Ø°Ù ØªØ±Ø¬Ù
+Ù Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø§Ø² Ù
+Ø¬Ù
+ÙØ¹Ù 
+CDM.TranslationManager.Replace:ØªØ¹ÙÛØ¶ ØªØ±Ø¬Ù
+Ù 
+CDM.TranslationManager.Replace_Tooltip:ØšÙ Ø±ÙØ² Ø±Ø³Ø§ÙÛ ØªØ±Ø¬Ù
+Ù Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+CDM.TranslationManager.Translation:Ù
+ØªÙ ØªØ±Ø¬Ù
+Ù ØŽØ¯Ù 
+CDM.TranslationManager.Translation_Tooltip:ØªØ±Ø¬Ù
+Ù Û Ù
+ØªÙ Ø±Ø§ Ø¯Ø± Ø§ÛÙØ¬Ø§ ÙØ§Ø±Ø¯ Ú©ÙÛØ¯ 
+CDM.DepositorMetadataManager.Warning:Ø­Ø¯Ø§ÙÙ ÛÚ© Ø¹ÙØµØ± ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û ØšØ§ÛØ¯ Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù ØšØ§ØŽØ¯ . 
+#*******************
+#
+#***** Collection *****
+Collection.Collection:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>Ù
+Ø¬Ù
+ÙØ¹Ù</FONT></STRONG></HTML> 
+Collection.Delete_Tooltip:Ø­Ø°Ù ÙØ§ÛÙ ÙØ§ Ù ÙŸÙØŽØ¯Ù ÙØ§Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+Collection.Filter_Tooltip:Ù
+Ø­Ø¯ÙØ¯ Ú©Ø±Ø¯Ù ÙØ§ÛÙ ÙØ§ÛÛ Ú©Ù Ø¯Ø± Ø¯Ø±Ø®Øª ÙØ§ÛÙ ÙÙ
+Ø§ÛØŽ Ø¯Ø§Ø¯Ù Ù
+Û ØŽÙØ¯ 
+Collection.New_Folder_Tooltip:Ø§ÛØ¬Ø§Ø¯ ÙŸÙØŽÙ Û Ø¬Ø¯ÛØ¯ 
+Collection.No_Collection:ÙÛÚ 
+Collection.No_Collection_Loaded:ÙÛÚ Ù
+Ø¬Ù
+ÙØ¹Ù Ø§Û ØšØ§Ø±Ú¯Ø²Ø§Ø±Û ÙØŽØ¯Ù Ø§Ø³Øª 
+Collection.Stop:ØªÙÙÙ 
+Collection.Stop_Tooltip:Ù
+ØªÙÙÙ Ú©Ø±Ø¯Ù ÙØ±Ø§ÛÙØ¯ Ú©ÙŸÛ ÙØ§ÛÙ ÙØ§ 
+Collection.Workspace:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>ÙØ¶Ø§Û Ú©Ø§Ø±</FONT></STRONG></HTML> 
+#**********************
+#
+#***** CollectionBuilt *****
+CollectionBuilt.Message:Ù
+Ø¬Ù
+ÙØ¹Ù Ø³Ø§Ø®ØªÙ ØŽØ¯Ù Ù Ø¢Ù
+Ø§Ø¯Ù ØšØ±Ø§Û ÙŸÛØŽ ÙÙ
+Ø§ÛØŽ Ù
+Û ØšØ§ØŽØ¯ . 
+CollectionBuilt.Title:ÙØªØ§ÛØ¬ Ø§ÛØ¬Ø§Ø¯ Ù
+Ø¬Ù
+ÙØ¹Ù 
+#***************************
+#
+#******ScheduldBuilt******
+ScheduleBuilt.Message:Ø²Ù
+Ø§ÙØšÙØ¯Û Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù ØªØºÛÛØ± ÛØ§ÙØªÙ Ø§Ø³Øª . 
+ScheduleBuilt.Title:ÙØªØ§ÛØ¬ Ø¹Ù
+ÙÛØ§Øª Ø²Ù
+Ø§ÙØšÙØ¯Û ØŽØ¯Ù Û Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ 
+#***************************
+#
+#***** CollectionManager *****
+CollectionManager.Schedule_Failed:Ø®Ø·Ø§ , Ù
+Ø¬Ù
+ÙØ¹Ù Ø¯Ø± ØµÙ Ø²Ù
+Ø§Ù ØšÙØ¯Û ØšØ±Ø§Û Ø³Ø§Ø®Øª Ù
+ØªÙØ§ÙØš ÙØ±Ø§Ø± ÙÚ¯Ø±ÙØª . 
+CollectionManager.Build_Cancelled:Ø³Ø§Ø®Øª Ù
+Ø¬Ù
+ÙØ¹Ù ÙØºÙ ØŽØ¯ 
+CollectionManager.Cannot_Create_Collection:ÛÚ© Ø®Ø·Ø§ Ø±Ø® Ø¯Ø§Ø¯Ù , Ù
+Ø¬Ù
+ÙØ¹Ù Ø§ÛØ¬Ø§Ø¯ ÙØŽØ¯ . 
+CollectionManager.Cannot_Create_Collection_With_Reason:Ø§ÛØ¬Ø§Ø¯ Ù
+Ø¬Ù
+ÙØ¹Ù ØšÙ Ø¯ÙÛÙ ÙÙÙ Ù
+ÙØ¯ÙØ± ÙØšÙØ¯ :  \n{0-Error message} 
+CollectionManager.Cannot_Delete_Index:Ø¯Ø± Ø³Ø§Ø®Øª Ù
+Ø¬Ù
+ÙØ¹Ù Ù
+ØŽÚ©Ù ØšÙØ¬ÙØ¯ Ø¢Ù
+Ø¯Ù , ÙØ§ÛÙ ÙÙØ±Ø³Øª ÙØ¯ÛÙ
+Û Ø±Ø§ ÙÙ
+Û ØªÙØ§Ù ÙŸØ§Ú© Ú©Ø±Ø¯ . \n  ÙØ·ÙØ§ Ø§Ø² Ø¹Ø¯Ù
+ Ø§Ø³ØªÙØ§Ø¯Ù Û ÙØ±Ù
+ Ø§Ø§ÙØ²Ø§Ø±ÙØ§Û Ø¯ÛÚ¯Ø± Ø§Ø² Ø§ÛÙ ÙØ§ÛÙ Ø§Ø·Ù
+ÛÙØ§Ù Ø­Ø§ØµÙ Ú©ÙÛØ¯ Ø³ÙŸØ³ Ø¯ÙØšØ§Ø±Ù Ø¹Ù
+ÙÛØ§Øª ÙÙÙ Ø±Ø§ Ø§ÙØ¬Ø§Ù
+ Ø¯ÙÛØ¯ 
+CollectionManager.Cannot_Delete_Index_Log:Ù
+ØŽÚ©Ù Ø¯Ø± Ø­Ø°Ù ÙØ§ÛÙ ÙØ§Û ÙÙØ±Ø³Øª ÙØ¯ÛÙ
+Û , Ø¹Ù
+ÙÛØ§Øª Ø¯Ø±ÙÙ ØšØ±Ø¯ Ù
+ØªÙÙÙ ØŽØ¯ . 
+CollectionManager.Cannot_Open:Ù
+Ø¬Ù
+ÙØ¹Ù Û Ù
+ÙØ¬ÙØ¯ Ø¯Ø± : \n {0-Collection file path} \n ÙØ§ØšÙ ØšØ§Ø² ØŽØ¯Ù ÙÛØ³Øª . 
+CollectionManager.Cannot_Open_With_Reason:Ù
+Ø¬Ù
+ÙØ¹Ù Ø¯Ø± Ø¢Ø¯Ø±Ø³ :\n{0-Collection file path}\nØ±Ø§ ÙÙ
+Û ØªÙØ§Ù ØšØ§Ø² Ú©Ø±Ø¯ ØšÙ Ø®Ø§Ø·Ø± :\n{1-Error message} 
+CollectionManager.Creating_Collection:Ø§ÛØ¬Ø§Ø¯ Ù
+Ø¬Ù
+ÙØ¹Ù 
+CollectionManager.Creating_Collection_Please_Wait:Ø¯Ø± Ø­Ø§Ù Ø§ÛØ¬Ø§Ø¯ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ·ÙØ§ Ù
+ÙØªØžØ± ØšÙ
+Ø§ÙÛØ¯  âŠ 
+CollectionManager.Loading_Collection:Ø¯Ø± Ø­Ø§Ù ØšØ§Ø±Ú¯Ø°Ø§Ø±Û Ù
+Ø¬Ù
+ÙØ¹Ù 
+CollectionManager.Loading_Collection_Please_Wait:Ø¯Ø± Ø­Ø§Ù ØšØ§Ø±Ú¯Ø°Ø§Ø±Û Ù
+Ø¬Ù
+ÙØ¹Ù , ÙØ·ÙØ§ Ù
+ÙØªØžØ± ØšÙ
+Ø§ÙÛØ¯ . 
+CollectionManager.Loading_Successful:Ù
+Ø¬Ù
+ÙØ¹Ù Û ØšØ§Ø±Ú¯Ø°Ø§Ø±Û ØŽØ¯Ù {0}. 
+CollectionManager.Missing_Config:ÙØ§ÛÙ Collect.cfg Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù Ù
+ØªØ¹ØšØ± ÙÙ
+Û ØšØ§ØŽØ¯ 
+CollectionManager.Not_Col_File:{0} ÛÚ© ÙØ§ÛÙ Ù
+Ø¹ØªØšØ± ÙÙ
+Û ØšØ§ØŽØ¯ 
+CollectionManager.No_Config_File:ÙØ§ÛÙ Collect.cfg ØšÙ ÙØ³ÛÙÙ Û mkcol.pl Ø§ÛØ¬Ø§Ø¯ ÙØŽØ¯Ù Ø§Ø³Øª 
+CollectionManager.Preview_Ready_Failed:Ø®Ø·Ø§Û Ø±Ø® Ø¯Ø§Ø¯Ù Ú©Ù Ø§Ø² ÙÙ
+Ø§ÛØŽ Ù
+Ø¬Ù
+ÙØ¹Ù Ø¬ÙÙ Ú¯ÛØ±Û Ù
+Û Ú©ÙØ¯ 
+CollectionManager.Preview_Ready_Title:ÙØ¶Ø¹ÛØª ÙÙ
+Ø§ÛØŽ Ù
+Ø¬Ù
+ÙØ¹Ù 
+CollectionManager.Schedule_Ready_Title:ÙØ¶Ø¹ÛØª Ø²Ù
+Ø§ÙØšÙØ¯Û 
+CollectionManager.Build_Not_Moved:ÙŸÙØŽÙ Û Ø³Ø§Ø®Øª Ø­Ø°Ù ÙØŽØ¯ . Ø³Ø§Ø®Øª Ø¯ÙØšØ§Ø±Ù Ø±Ø§ Ø§Ù
+ØªØ­Ø§Ù Ú©ÙÛØ¯ , ÛØ§ Ø§Ø² Gli Ù Server Ø®Ø§Ø±Ø¬ ØŽÙÛØ¯ Ù ØšØ§ ÙØ±ÙØ¯ Ù
+Ø¬Ø¯Ø¯ ØšÙ Gli  Ø§ÙØ¯Ø§Ù
+ ØšÙ Ø³Ø§Ø®Øª ÙÙ
+Ø§ÛØ¯ â Ø§ÛÙ Ú©Ø§Ø± Ø§Ø­ØªÙ
+Ø§ÙØ§ Ù
+ØŽÚ©Ù Ø±Ø§ ØšØ±Ø·Ø±Ù Ø®ÙØ§ÙØ¯ Ú©Ø±Ø¯ . 
+CollectionManager.Index_Not_Deleted:ÙŸÙØŽÙ Û Ø³Ø§Ø®Øª Ø­Ø°Ù ÙØŽØ¯ . Ø³Ø§Ø®Øª Ø¯ÙØšØ§Ø±Ù Ø±Ø§ Ø§Ù
+ØªØ­Ø§Ù Ú©ÙÛØ¯ , ÛØ§ Ø§Ø² Gli Ù Server Ø®Ø§Ø±Ø¬ ØŽÙÛØ¯ Ù ØšØ§ ÙØ§Ø±Ø¯ Ù
+Ø¬Ø¯Ø¯ ØšÙ Gli  Ø§ÙØ¯Ø§Ù
+ ØšÙ Ø³Ø§Ø®Øª ÙÙ
+Ø§ÛØ¯ â Ø§ÛÙ Ú©Ø§Ø± Ø§Ø­ØªÙ
+Ø§ÙØ§ Ù
+ØŽÚ©Ù Ø±Ø§ ØšØ±Ø·Ø±Ù Ø®ÙØ§ÙØ¯ Ú©Ø±Ø¯ . 
+CollectionManager.Install_Exception:Ø¯Ø± Ø²Ù
+Ø§Ù ÙØµØš Ù
+Ø¬Ù
+ÙØ¹Ù ÛÚ© Ø§Ø³ØªØ«ÙØ§ ÛØ§ÙØª ØŽÙØ¯ . \n {0}  \n  ØšÙ Ø§Ø­ØªÙ
+Ø§Ù Ø²ÛØ§Ø¯ ØšØ¯ÙÛÙ ÙØ¬ÙØ¯ ÛÚ© ÙÙÙ Ø§Ø² Ø·Ø±Ù  Windows  ÛØ§ Ú©ØªØ§Øš Ø®Ø§ÙÙ Û Ù
+Ø­ÙÛ Ø§Ø³Øª . \n  ÙØ·ÙØ§ Ø§Ø² ØšØ§Ø² ÙØšÙØ¯Ù ÙØ§ÛÙ ÙØ§Û Ù
+Ø¬Ù
+ÙØ¹Ù Ø¯Ø± ÙØ±Ù
+ Ø§ÙØ²Ø§Ø±ÙØ§Û Ø®Ø§Ø±Ø¬Û Ø§Ø·Ù
+ÛÙØ§Ù Ø­Ø§ØµÙ Ú©ÙÛØ¯ . 
+#*****************************
+#
+#***** CollectionPopupMenu *****
+CollectionPopupMenu.Delete:Ø­Ø°Ù 
+CollectionPopupMenu.New_Dummy_Doc:Ø³ÙØ¯ Ø³Ø§Ø®ØªÚ¯Û Ø¬Ø¯ÛØ¯ 
+CollectionPopupMenu.New_Folder:ÙŸÙØŽÙ Û Ø¬Ø¯ÛØ¯ 
+CollectionPopupMenu.Refresh:ØªØ§Ø²Ù Ø³Ø§Ø²Û ÙÙ
+Ø§ÛØŽ ÙŸÙØŽÙ  
+CollectionPopupMenu.Rename:ØªØºÛÛØ± ÙØ§Ù
+ 
+CollectionPopupMenu.Replace:ØªØ¹ÙÛØ¶ 
+#*******************************
+#
+#***** CreatePane *****
+CreatePane.Schedule_Progress:Ø±ÙÙØ¯ Ø²Ù
+Ø§Ù ØšÙØ¯Û 
+CreatePane.Schedule:Ú¯Ø²ÛÙÙ ÙØ§Û Ø²Ù
+Ø§Ù ØšÙØ¯Û  
+CreatePane.Schedule_Tooltip:Ú¯Ø²ÛÙÙ ÙØ§ ØšØ±Ø§Û Ø²Ù
+Ø§ÙØšÙØ¯Û ØªØŽÚ©ÛÙ Ø®ÙØ¯Ú©Ø§Ø± Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ 
+CreatePane.Schedule_Build:Ø¹Ù
+Ù Ù
+Ø±ØšÙØ· ØšÙ Ø²Ù
+Ø§Ù ØšÙØ¯Û 
+CreatePane.Schedule_Build_Tooltip:Ø²Ù
+Ø§ÙØšÙØ¯Û ØªØŽÚ©ÛÙ Ø®ÙØ¯Ú©Ø§Ø± Ù
+Ø¬Ù
+ÙØ¹Ù 
+CreatePane.Build:Ú¯Ø²ÛÙÙ ÙØ§Û Ø³Ø§Ø®Øª 
+CreatePane.Build_Tooltip:Ú¯Ø²ÛÙÙ ÙØ§ ØšØ±Ø§Û Ù
+Ø±Ø§Ø­Ù ÙÙØ±Ø³Øª Ú©Ø±Ø¯Ù Ù Ø·ØšÙÙ ØšÙØ¯Û Ø§Ø·ÙØ§Ø¹Ø§Øª Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ 
+CreatePane.Build_Collection:Ø³Ø§Ø®Øª Ù
+Ø¬Ù
+ÙØ¹Ù 
+CreatePane.Build_Collection_Tooltip:ØŽØ±ÙØ¹ ÙŸØ±Ø¯Ø§Ø²ØŽ Ø§ÛØ¬Ø§Ø¯ Ø§Ø·ÙØ§Ø¹Ø§Øª Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ 
+CreatePane.Build_Progress:Ø¬Ø±ÛØ§Ù Ø³Ø§Ø®Øª 
+CreatePane.Cancel_Build:ÙØºÙ Ø³Ø§Ø®Øª 
+CreatePane.Cancel_Build_Tooltip:ÙØºÙ ÙŸØ±Ø¯Ø§Ø²ØŽ Ø§ÛØ¬Ø§Ø¯ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ 
+CreatePane.Full_Build:Ø³Ø§Ø®Øª Ú©Ø§Ù
+Ù 
+CreatePane.Full_Build_Tooltip:Ø³Ø§Ø®Øª Ù
+Ø¬Ø¯Ø¯ Ù
+Ø¬Ù
+ÙØ¹Ù ØšÙ ØµÙØ±Øª Ú©Ø§Ù
+Ù Ø§Ø² ÙŸØ§ÛÙ 
+CreatePane.Import:Ú¯Ø²ÛÙÙ ÙØ§Û Ø¯Ø±ÙÙ ØšØ±Ø¯ 
+CreatePane.Import_Tooltip:Ú¯Ø²ÛÙÙ ÙØ§ ØšØ±Ø§Û Ù
+Ø±Ø§Ø­Ù ØªØšØ¯ÛÙ Ù ØªØ®ØµÛØµ ÙØ±Ø§Ø¯Ø§Ø¯Ù ØšÙ Ù
+Ø¬Ù
+ÙØ¹Ù 
+CreatePane.Import_Progress:Ø¬Ø±ÛØ§Ù Ø¯Ø±ÙÙ ØšØ±Ø¯ 
+CreatePane.Minimal_Build:Ø­Ø¯Ø§ÙÙ ØšØ§Ø²Ø³Ø§Ø®Øª 
+CreatePane.Minimal_Build_Tooltip:Ø³Ø±ÛØ¹ ØªØ± Ø§Ø³Øª ØšÙ Ø¢Ù Ø®Ø§Ø·Ø± Ú©Ù ØªÙÙØ§ Ù
+Ø±Ø§Ø­ÙÛ Ø§Ø² Ø³Ø§Ø®Øª Ú©Ù ÙØ§Ø²Ù
+ ÙØ³ØªÙØ¯ Ø§ÙØ¬Ø§Ù
+ Ù
+Û ØŽÙÙØ¯ 
+CreatePane.Minimal_Build_Not_Required:ØšØ§Ø²Ø³Ø§Ø®Øª ÙØ§Ø²Ù
+ ÙÛØ³Øª Ø²ÛØ±Ø§ ÙÛÚ ÙØ§ÛÙ Ø¬Ø¯ÛØ¯Û ØšÙ Ù
+Ø¬Ù
+ÙØ¹Ù Ø§Ø¶Ø§ÙÙ ÙØŽØ¯Ù Ø§Ø³Øª . 
+CreatePane.Log:Ø«ØšØª ÙÙØ§ÛØ¹ ÙŸÛØºØ§Ù
+ ÙØ§ 
+CreatePane.Log_Tooltip:Ù
+ØŽØ§ÙØ¯Ù Û Ø®Ø±ÙØ¬Û ØšØ±Ø§Û ØªÙØ§ØŽ ÙØ§Û ÙØšÙÛ Ø¯Ø± Ø§ÛØ¬Ø§Ø¯ Ù
+Ø¬Ù
+ÙØ¹Ù 
+CreatePane.Mode_All:ÙÙ
+Ù 
+CreatePane.Options:Ú¯Ø±ÙÙ ÙØ§Û Ú¯Ø²ÛÙÙ 
+CreatePane.Options_Title:Ú¯Ø²ÛÙÙ ÙØ§Û Ø³Ø§Ø®Øª Ù Ø¯Ø±ÙÙ ØšØ±Ø¯ Ù
+Ø¬Ù
+ÙØ¹Ù 
+CreatePane.Preview_Collection:Ù
+ØŽØ§ÙØ¯Ù Û Ù
+Ø¬Ù
+ÙØ¹Ù 
+CreatePane.Preview_Collection_Tooltip:Ù
+ØŽØ§ÙØ¯Ù Û Ù
+Ø¬Ù
+ÙØ¹Ù Û Ø³Ø§Ø®ØªÙ ØŽØ¯Ù 
+#**********************
+#
+#***** Dates *****
+Dates.Mon:Ø¯ÙØŽÙØšÙ 
+Dates.Tue:Ø³Ù ØŽÙØšÙ 
+Dates.Wed:ÚÙØ§Ø±ØŽÙØšÙ 
+Dates.Thu:ÙŸÙØ¬ ØŽÙØšÙ 
+Dates.Fri:Ø¬Ù
+Ø¹Ù 
+Dates.Sat:ØŽÙØšÙ 
+Dates.Sun:ÛÚ© ØŽÙØšÙ 
+Dates.Jan:ÚØ§ÙÙÛÙ 
+Dates.Feb:ÙÙØ±ÛÙ 
+Dates.Mar:Ù
+Ø§Ø±Ø³ 
+Dates.Apr:Ø¢ÙØ±ÛÙ 
+Dates.May:Ù
+Ù 
+Dates.Jun:ÚÙØŠÙ 
+Dates.Jul:ÚÙØŠÛÙ 
+Dates.Aug:Ø¢Ú¯ÙØ³Øª 
+Dates.Sep:Ø³ÙŸØªØ§Ù
+ØšØ± 
+Dates.Oct:Ø§Ú©ØªØšØ± 
+Dates.Nov:ÙÙØ§Ù
+ØšØ± 
+Dates.Dec:Ø¯Ø³Ø§Ù
+ØšØ± 
+#**********************
+#
+#***** Delete Collection Prompt *****
+DeleteCollectionPrompt.Collection_Details:Ø¬Ø²Ø¹ÛØ§Øª Ù
+Ø¬Ù
+ÙØ¹Ù Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+DeleteCollectionPrompt.Collection_List:Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û Ù
+ÙØ¬ÙØ¯ 
+DeleteCollectionPrompt.Confirm_Delete:ÙØ·ÙØ§ ØšØ±Ø§Û ØªØ§ÛÛØ¯ Ø­Ø°Ù Ù
+Ø¬Ù
+ÙØ¹Ù Ø¬Ø¹ØšÙ Ø±Ø§ Ø¹ÙØ§Ù
+Øª ØšÚ¯Ø°Ø§Ø±ÛØ¯ . 
+DeleteCollectionPrompt.Delete:Ø­Ø°Ù 
+DeleteCollectionPrompt.Delete_Tooltip:Ø­Ø°Ù Ú©Ø±Ø¯Ù Ù
+Ø¬Ù
+ÙØ¹Ù Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+DeleteCollectionPrompt.Details:Ø§ÛØ¬Ø§Ø¯ Ú©ÙÙØ¯Ù â {0}  \n ÙÚ¯Ù Ø¯Ø§Ø±ÙØ¯Ù â {1} \n ØªÙØµÛÙ \n {2} 
+DeleteCollectionPrompt.Failed_Delete:Ù
+Ø¬Ù
+ÙØ¹Ù ØšÙ Ú©Ø§Ù
+ÙÛ Ø­Ø°Ù ÙØŽØ¯ 
+DeleteCollectionPrompt.Failed_Title:Ø­Ø°Ù ÙØ§Ù
+ÙÙÙ 
+DeleteCollectionPrompt.No_Collection:ÙÛÚ Ù
+Ø¬Ù
+ÙØ¹Ù Ø§Û Ø§ÙØªØ®Ø§Øš ÙØŽØ¯Ù Ø§Ø³Øª 
+DeleteCollectionPrompt.Successful_Delete:Ù
+Ø¬Ù
+ÙØ¹Ù Ø­Ø°Ù ØŽØ¯ 
+DeleteCollectionPrompt.Successful_Title:Ø­Ø°Ù Ù
+ÙÙÙÛØª Ø¢Ù
+ÛØ² 
+DeleteCollectionPrompt.Title:Ø­Ø°Ù Ù
+Ø¬Ù
+ÙØ¹Ù 
+DeleteCollectionPrompt.Cannot_Delete_Open_Collection_Tooltip:Ù
+Ø¬Ù
+ÙØ¹Ù Û {0} Ø±Ø§ ÙÙ
+Û ØªÙØ§Ù Ø­Ø°Ù Ú©Ø±Ø¯ , ÙØ·ÙØ§ ÙØšØ§ Ø§Ø² Ø­Ø°Ù Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù Ø¢Ù Ø±Ø§ ØšØšÙØ¯ÛØ¯ . 
+#**********************
+#
+#***** DirectoryLevelMetadata *****
+DirectoryLevelMetadata.Message:ØŽÙ
+Ø§ Ø¯Ø± Ø­Ø§Ù Ø§ÙØ²ÙØ¯Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§Û Ø³Ø·Ø­ ÙŸÙØŽÙ Ø§Û ØšÙ ÙŸÙØŽÙ Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù ÙØ³ØªÛØ¯ .Ø§ÛÙ ÚÙÛÙ ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§ÛÛ ØšÙ ØŽÚ©Ù Ø®ÙÚ©Ø§Ø± ØªÙØ³Ø· ØªÙ
+Ø§Ù
+ ÙØ§ÛÙ ÙØ§ Ù ÙŸÙØŽÙ ÙØ§Û Ù
+ÙØ¬ÙØ¯ Ø¯Ø± Ø§ÛÙ ÙŸÙØŽÙ ØšÙ Ø§Ø±Ø« ØšØ±Ø¯Ù Ø®ÙØ§ÙÙØ¯ ØŽØ¯ Ù Ø¯Ø± Ø¢ÛÙØ¯Ù ÙÛØ² Ø§ÛÙ ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§ Ø¯Ø± ÙØ±Ø²ÙØ§Ø¯Ø§Ù Ø§ÛÙ ÙŸÙØŽÙ ÙØ§ØšÙ Ø­Ø°Ù ÙØšÙØ¯Ù ÙØªÙÙØ§ ÙØ§ØšÙÛØª Ø¬Ø§ÛÚ¯Ø²ÛÙÛ Ø±Ø§ Ø¯Ø§Ø±Ø¯ . ØšØ±Ø§Û Ø§ÙØ¬Ø§Ù
+ Ø§ÛÙ ÙØ¹Ø§ÙÛØª Ú©ÙÛØ¯ ØªØ§ÛÛØ¯ Ø±Ø§ ÙØŽØ§Ø± Ø¯ÙÛØ¯ . 
+DirectoryLevelMetadata.Title:Ø¢Ù
+Ø§Ø¯Ù ØšØ±Ø§Û Ø§ÙØ²ÙØ¯Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§Û Ø¯Ø± Ø³Ø·Ø­ ÙŸÙØŽÙ 
+
+#*******************
+#
+#***** Download *****
+DOWNLOAD.MODE.Root:Ø±ÛØŽÙ Û Ø¯Ø§ÙÙÙØ¯ 
+DOWNLOAD.MODE.WebDownload:Web 
+DOWNLOAD.MODE.MediaWikiDownload:MediaWiki 
+DOWNLOAD.MODE.OAIDownload:OAI 
+DOWNLOAD.MODE.ZDownload:Z39.50 
+DOWNLOAD.MODE.SRWDownload:SRW 
+
+Download.ServerInformation:Ø§Ø·ÙØ§Ø¹Ø§Øª Ø³Ø±ÙØ± 
+Download.ServerInformation_Tooltip:Ø¯Ø§ÙÙÙÙØ¯ Ù
+ÙØ¯Ø§Ø±Û Ø§Ø·ÙØ§Ø¹Ø§Øª Ø¯Ø±ØšØ§Ø±Ù Û Ø³Ø±ÙØ± Ù Ø¢Ø²Ù
+Ø§ÛØŽ ÙØ§ØšÙÛØª ØšØ±ÙØ±Ø§Ø±Û Ø§Ø±ØªØšØ§Ø· 
+
+#********************
+#
+#***** EnrichPane *****
+EnrichPane.AutoMessage:Ø§ÛÙ Ø¹ÙØµØ± , {0} , Ù
+ØªØ¹ÙÙ ØšÙ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û GreenStone  Ù
+Û ØšØ§ØŽØ¯ , Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù ÙÙ
+Ø§ÛØŽ Ú¯Ø± ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§Û Ø§Ø³Øª Ú©Ù Ù
+Ø¹Ù
+ÙÙØ§ ØšÙ ØµÙØ±Øª Ø®ÙØ¯ Ú©Ø§Ø± Ø§Ø² ÙØ§ÛÙ ÙØ§ØšÙ ØšØ§Ø²ÛØ§ØšÛ ÙØ³ØªÙØ¯ . ØšØ±Ø§Û ØšØ±Ø±Ø³Û ÙØ§ØšÙÛØª ØšØ§Ø²ÛØ§ØšÛ ÙØ±Ø§Ø¯Ø§Ø¯Ù Û {0} Ù
+Ø¬Ù
+ÙØ¹Ù Ø±Ø§ ØªÙØ³Ø· Ú©ÙÛØ¯ '  Ø§ÛØ¬Ø§Ø¯ ' ØšÙ ÙØ¬ÙØ¯ Ø¢ÙØ±ÛØ¯ . 
+EnrichPane.ExistingValues:Ù
+ÙØ§Ø¯ÛØ± Ù
+ÙØ¬ÙØ¯ ØšØ±Ø§Û  {0} 
+EnrichPane.InheritedMetadataSelected:Ø§ÛÙ Ø¹ÙØµØ±Ø§Ø² ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Ø² ÙŸÙØŽÙ Û ØšØ§ÙØ§ÛÛ Ø®ÙØ¯ ØšÙ Ø§Ø±Ø« ØšØ±Ø¯Ù Ù
+Û ØŽÙØ¯ Ù ÙØ§ØšÙÛØª ÙÛØ±Ø§ÛØŽ ÙØ¯Ø§Ø±Ø¯ . ØŽÙ
+Ø§ Ù
+Û ØªÙØ§ÙÛØ¯ Ø§Ø² Ø·Ø±ÛÙ Ú©ÙÛÚ© Ú©Ø±Ø¯Ù ØšØ± Ø±ÙÛ ØŽÚ©Ù ÙŸÙØŽÙ  Ø¯Ø± Ø§ÙÙ Ø®Ø· ØšÙ ÙŸÙØŽÙ Û ÙØ§ÛÙ Ø¯Ø³ØªØ±Ø³Û Ø¯Ø§ØŽØªÙ ØšØ§ØŽÛØ¯ . 
+EnrichPane.InheritedMetadata_Tooltip:ØšØ±Ø§Û Ø±ÙØªÙ ØšÙ ÙŸÙØŽÙ Ø§Û Ú©Ù Ø§ÛÙ Ø¹ÙØµØ± ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Ø² Ø¢ÙØ¬Ø§ ØšÙ Ø§Ø±Ø« ØšØ±Ø¯Ù ØŽØ¯Ù ØšØ± Ø±ÙÛ Ø§ÛÙ ØªØµÙÛØ± Ú©ÙÛÚ© Ú©ÙÛØ¯ . 
+EnrichPane.ManageMetadataSets:Ù
+Ø¯ÛØ±ÛØª Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û ÙØ±Ø§Ø¯Ø§Ø¯Ù  ... 
+EnrichPane.ManageMetadataSets_Tooltip:ØªØºÛÛØ± Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù Û Ù
+ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù Ù
+Ø¬Ù
+ÙØ¹Ù 
+EnrichPane.No_File:ÙÛØ¬ ÙØ§ÛÙÛ Ø§ÙØªØ®Ø§Øš ÙØŽØ¯Ù 
+EnrichPane.No_Metadata:ÙÛÚ ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û Ù
+ÙØ¬ÙØ¯ ÙÙ
+Û ØšØ§ØŽØ¯ 
+EnrichPane.No_Metadata_Element:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>ÙÛÚ Ø¹ÙØµØ±Û Ø§Ø² ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§ÙØªØ®Ø§Øš ÙØŽØ¯Ù Ø§Ø³Øª</FONT></STRONG></HTML> 
+EnrichPane.NotOneFileOnlyMetadataSelected:Ø§ÛÙ Ø¹ÙØµØ± ÙØ±Ø§Ø¯Ø§Ø¯Ù ØªÙÙØ§ Ù
+ØªØ¹ÙÙ ØšÙ Ø§ÛÙ ÙØ§ÛÙ ÙØšÙØ¯Ù Ù ÙÙ
+Û ØªÙØ§Ù Ø¢Ù Ø±Ø§ ÙÛØ±Ø§ÛØŽ Ú©Ø±Ø¯ 
+EnrichPane.Value_Field_Tooltip:Ù
+ÙØ¯Ø§Ø± ØšØ±Ø§Û ØªØ®ØµÛØµ ØšÙ Ø¹ÙØµØ± ÙØ±Ø§Ø¯Ø§Ø¯Ù Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+EnrichPane.Value_Field_Tooltip_Uneditable:Ù
+ÙØ¯Ø§Ø± ØªØ®ØµÛØµ Ø¯Ø§Ø¯Ù ØŽØ¯Ù ØšÙ Ø¹ÙØµØ± ÙØ±Ø§Ø¯Ø§Ø¯Ù Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+#***********************
+#
+#****** ExplodeMetadataPrompt *******
+ExplodeMetadataPrompt.Explode:Ú¯Ø³ØªØ±ØŽ Ø¯Ø§Ø¯Ù 
+ExplodeMetadataPrompt.Explode_Tooltip:Ú¯Ø³ØªØ±ØŽ Ø¯Ø§Ø¯Ù ÙØ§ÛÙ ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û 
+ExplodeMetadataPrompt.Instructions:Ú¯Ø³ØªØ±ØŽ Ø§ÛÙ ÙØ§ÛÙ ÙØ±Ø§ Ø¯Ø§Ø¯Ù Ø§Û ØšØ§Ø¹Ø« ØšÙ ÙØ¬ÙØ¯ Ø¢Ù
+Ø¯Ù Ø±Ú©ÙØ±Ø¯ ÙØ§Û Ù
+ÙØ­ØµØ± ØšÙ ÙØ±Ø¯ ÙØ§ØšÙ ÙÛØ±Ø§ÛØŽ ÙØ±Ø§Ø¯Ø§Ø¯Ù Ù
+ÛØŽÙØ¯ .Ø§ÛÙ ÛÚ© ÙŸØ±Ø¯Ø§Ø²ØŽ ØšØ¯ÙÙ ØšØ§Ø²Ú¯ØŽØª Ø§Ø³Øª Ù ØšØ§Ø¹Ø« Ø­Ø°Ù ØŽØ¯Ù ÙØ§ÛÙ ÙØ±Ø§Ø¯Ø§Ø¯Ù Û Ø§ØµÙÛ Ø§Ø² Ù
+Ø¬Ù
+ÙØ¹Ù Ù
+Û ØŽÙØ¯ . 
+ExplodeMetadataPrompt.Failed_Title:Ú¯Ø³ØªØ±ØŽ ÙØ§Ù
+ÙÙÙ 
+ExplodeMetadataPrompt.Failed_Explode:Ú¯Ø³ØªØ±ØŽ ÙŸØ§ÛÚ¯Ø§Ù Ø¯Ø§Ø¯Ù Û {0} Ù
+ÙØ¯ÙØ± ÙØšÙØ¯ . 
+ExplodeMetadataPrompt.NotExplodable:Ø§ÛÙ ÙØ§ÛÙ ÙØšÙ Ú¯Ø³ØªØ±ØŽ ÙÛØ³Øª 
+ExplodeMetadataPrompt.Successful_Explode:ÙŸØ§ÛÚ¯Ø§Ù Ø¯Ø§Ø¯Ù Û {0} ØšØ§ Ù
+ÙÙÙÛØª Ú¯Ø³ØªØ±ØŽ Ø¯Ø§Ø¯Ù ØŽØ¯ . 
+ExplodeMetadataPrompt.Successful_Title:Ú¯Ø³ØªØ±ØŽ ØšÙ Ø§ÙØ¬Ø§Ù
+ Ø±Ø³ÛØ¯ 
+ExplodeMetadataPrompt.Title:Ú¯Ø³ØªØ±ØŽ ÙŸØ§ÛÚ¯Ø§Ù Ø¯Ø§Ø¯Ù Û ÙØ±Ø§Ø¯Ø§Ø¯ÙØ§ 
+ExplodeMetadataPrompt.Plugin:Ø§ÙØ²ÙÙÙ Û Ù
+ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù Ø¯Ø± Ú¯Ø³ØªØ±ØŽ 
+#***********************
+#
+#****** ReplaceSrcWithHTMLPrompt *******
+ReplaceSrcWithHTMLPrompt.ReplaceSrc:Ø¬Ø§ÛÚ¯Ø²ÛÙÛ ØšØ§ ÙØ³Ø®Ù Û Html 
+
+ReplaceSrcWithHTMLPrompt.Instructions:Ø¬Ø§ÛÚ¯Ø²ÛÙÛ Ø³ÙØ¯ ØšØ§ ÙØ³Ø®Ù Û Html  Ø¢Ù ØšÙ ØŽÙ
+Ø§ ÙØ§ØšÙÛØª ÙÛØ±Ø§ÛØŽ ÙØ§ÛÙ Html  Ø±Ø§ Ù
+ÛØ¯ÙØ¯ , Ø³Ø§Ø®Øª Ù
+Ø¬Ù
+ÙØ¹Ù Ø¯Ø± Ø¢ÛÙØ¯Ù ØšØ§ ÙØ¬ÙØ¯ Ø§ÛÙ ØªØºÛÛØ±Ø§Øª Ø§ÙØ¬Ø§Ù
+ Ø®ÙØ§ÙØ¯ ØŽØ¯ . Ø§ÛÙ ÛÚ© Ø¹Ù
+Ù ØºÛØ± ÙØ§ØšÙ ØšØ±Ú©ØŽØª Ø§Ø³Øª Ù Ø³ÙØ¯ ÙØ§Û Ø§ØµÙÛ ØšØ¹Ø¯ Ø§Ø² Ø¬Ø§ÛÚ¯Ø²ÛÙÛ ØšØ§ ÙØ³Ø®Ù Û Html  Ø­Ø°Ù Ø®ÙØ§ÙÙØ¯ ØŽØ¯ . 
+ReplaceSrcWithHTMLPrompt.Failed_Title:ØŽÚ©Ø³Øª Ø¹Ù
+ÙÛØ§Øª Ø¬Ø§ÛÚ¯Ø²ÛÙÛ ØšØ§ Html 
+ReplaceSrcWithHTMLPrompt.Failed_ReplaceSrc:Ø®Ø·Ø§ Ø¯Ø± Ø¬Ø§ÛÚ¯Ø²ÛÙÛ Ø³ÙØ¯ (ÙØ§Û) {0} ØšØ§ ÙØ³Ø®Ù Û Html . 
+ReplaceSrcWithHTMLPrompt.NotSrcReplaceable:Ø§ÛÙ ÙÙØ¹ ÙØ§ÛÙ ÙÙ
+Û ØªÙØ§ÙØ¯ ØšØ§ ÙØ³Ø®Ù Û Html Ø¬Ø§ÛÚ¯Ø²ÛÙ ØŽÙØ¯. 
+ReplaceSrcWithHTMLPrompt.Successful_ReplaceSrc:ØªÙ
+Ø§Ù
+ Ø§Ø³ÙØ§Ø¯ Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù ØšØ§ Ù
+ÙÙÙÛØª ØšØ§ ÙØ³Ø®Ù Û Html Ø¢ÙÙØ§ Ø¬Ø§ÛÚ¯Ø²ÛÙ ØŽØ¯ÙØ¯ . 
+ReplaceSrcWithHTMLPrompt.Successful_Title:ÙŸØ§ÛØ§Ù Ø¹Ù
+ÙÛØ§Øª Ø¬Ø§ÛÚ¯Ø²ÛÙÛ ØšØ§ ÙØ³Ø®Ù Û Html . 
+ReplaceSrcWithHTMLPrompt.Title:Ø¬Ø§ÛÚ¯Ø²ÛÙÛ Ø³ÙØ¯ Ù
+ÙØšØ¹ ØšØ§ ÙØ§ÛÙ ÙØ§Û Html  
+ReplaceSrcWithHTMLPrompt.Plugin:Ø§ÙØ²ÙÙÙ Û Ù
+ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù Ú¯Ø³ØªØ±ØŽ 
+#***********************
+#
+#****** WriteCDImagePrompt *******
+WriteCDImagePrompt.CD_Name:ÙØ§Ù
+ CD/DVD 
+WriteCDImagePrompt.Export:ÙÙØŽØªÙ CD/DVD 
+WriteCDImagePrompt.Export_Tooltip:Ù
+Ø¬Ù
+ÙØ¹Ù Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø±Ø§ ØšÙ ØµÙØ±Øª CD/DVD  ØªØšØ¯ÛÙ Ù
+Û Ú©ÙØ¯ . 
+WriteCDImagePrompt.Failed_Export:ØšØ±ÙÙ ØšØ±Ø¯ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ Û  ({0}) Ù
+ÙØ¯ÙØ± ÙØšÙØ¯ . 
+WriteCDImagePrompt.Failed_Title:ØšØ±ÙÙ ØšØ±Ø¯ ÙØ§Ù
+ÙÙÙ 
+WriteCDImagePrompt.Install:CD/DVD Ø¯Ø± Ø²Ù
+Ø§Ù Ø§Ø³ØªÙØ§Ø¯Ù ÛÚ© Ø³Ø±Û Ø§Ø·ÙØ§Ø¹Ø§Øª Ø±Ø§ ÙØµØš Ø®ÙØ§ÙÙØ¯ Ú©Ø±Ø¯ (Ø³Ø±ÛØ¹ ØªØ±) . 
+WriteCDImagePrompt.Install_Tooltip:ÛÚ© Ø¯ÛØ³Ú© ÙØŽØ±Ø¯Ù  ØšØ§ ÙØ§ØšÙÛØª ÙØµØš Ø®Ø¯ÙÚ©Ø§Ø± Ø§ÛØ¬Ø§Ø¯ Ù
+Û Ú©ÙØ¯ 
+WriteCDImagePrompt.NoInstall:Ø¯ÛØ³Ú© ÙØŽØ±Ø¯Ù Ø¯Ø± Ø²Ù
+Ø§Ù Ø§Ø³ØªÙØ§Ø¯Ù ÙÛÚ ÙØ§ÛÙÛ Ø±Ø§ ÙØµØš ÙØ®ÙØ§ÙØ¯ Ú©Ø±Ø¯ 
+WriteCDImagePrompt.NoInstall_Tooltip:ÛÚ© Ø¯ÛØ³Ú© ÙØŽØ±Ø¯Ù Ø§ÛØ¬Ø§Ø¯ Ù
+Û Ú©ÙØ¯ Ú©Ù Ú©ØªØ§Øš Ø®Ø§ÙÙ Ø±Ø§ ØšÙ Ø·ÙØ± Ù
+Ø³ØªÙÛÙ
+ Ø§Ø² Ø±ÙÛ Ø®ÙØ¯ Ø§Ø¬Ø±Ø§ Ù
+Û Ú©ÙØ¯ ØšØ¯ÙÙ ÙÛØ§Ø² ØšÙ ÙØµØš ÙÛÚ ÙØ±Ù
+ Ø§ÙØ²Ø§Ø± Ø®Ø§ØµÛ . 
+WriteCDImagePrompt.Instructions:ØšØ±ÙÙ ØšØ±Ø¯ ØªØ¹Ø¯Ø§Ø¯Û Ù
+Ø¬Ù
+ÙØ¹Ù ØšÙ ÛÚ© Ø¯ÛØ³Ú© ÙØŽØ±Ø¯Ù Û Ø¯Ø§Ø±Ø§Û ÙØ§ØšÙÛØª ÙØµØš Ø®ÙØ¯ Ú©Ø§Ø± Ø¯Ø± ÙÛÙØ¯ÙØ² 
+WriteCDImagePrompt.Progress_Label:Ø¯Ø± Ø­Ø§Ù Ú¯ÙŸÛ Ú©Ø±Ø¯Ù ÙØ§ÛÙ ÙØ§ , ÙØ·ÙØ§ Ù
+ÙØªØžØ± ØšÙ
+Ø§ÙÛØ¯ . 
+WriteCDImagePrompt.Size_Label:Ø­Ø¬Ù
+ ÙŸÛØŽØšÛÙÛ ØŽØ¯Ù 
+WriteCDImagePrompt.Successful_Export:Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û  ({0}) ØšØ§ Ù
+ÙÙÙÛØª ØšØ±ÙÙ ØšØ±Ø¯ ØŽØ¯ÙØ¯ . 
+WriteCDImagePrompt.Successful_Title:ØšØ±ÙÙ ØšØ±Ø¯ Ù
+ÙÙÙÛØª Ø¢Ù
+ÛØ² 
+WriteCDImagePrompt.Title:ØšØ±ÙÙ ØšØ±Ø¯ Ù
+Ø¬Ù
+ÙØ¹Ù ØšÙ Ø¯ÛØ³Ú© ÙØŽØ±Ø¯Ù 
+#************************
+#
+#****** ExportAsPrompt *******
+ExportAsPrompt.Export_Name:ÙØ§Ù
+ ÙŸÙØŽÙ 
+ExportAsPrompt.Export_Name_Tooltip:ÙØ§Ù
+ ÙŸÙØŽÙ Ø¯Ø± Ø¯Ø§Ø±Ú©ØªÙØ±Û Ù
+ÙÙØª Ú¯Ø±ÛÙ Ø³ØªÙÙ , Ú©Ù Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û ØšØ±ÙÙ Ø±ÛØ²Û ØŽØ¯Ù Ø¯Ø± Ø¢ÙØ¬Ø§ Ø°Ø®ÛØ±Ù Ø®ÙØ§ÙØ¯ ØŽØ¯ .
+ 
+ExportAsPrompt.Export:ØšØ±ÙÙ ØšØ±Ø¯ Ù
+Ø¬Ù
+ÙØ¹Ù(ÙØ§) 
+ExportAsPrompt.Export_Tooltip:ØšØ±ÙÙ ØšØ±Ø¯ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø¯Ø± ÙØ§ÙØš Ù
+ØŽØ®Øµ ØŽØ¯Ù ÙØ§ÛÙ Ø¯Ø± Ø¯Ø§Ø±Ú©ØªÙØ±Û Ù
+Ø¹ÛÙ ØŽØ¯Ù 
+ExportAsPrompt.Failed_ExportOne:Ù
+Ø¬Ù
+ÙØ¹Ù Û {0}  ØšØ±ÙÙ ØšØ±Ø¯ ÙØŽØ¯ . 
+ExportAsPrompt.Failed_Details:ØšØ±Ø§Û Ø¬Ø²Ø¹ÛØ§Øª ØšÙ {1} Ù
+Ø±Ø§Ø¬Ø¹Ù Ú©ÙÛØ¯ 
+ExportAsPrompt.Failed_Title:ØšØ±ÙÙ ØšØ±Ø¯ ÙØ§ Ù
+ÙÙÙ 
+ExportAsPrompt.Instructions:ØšØ±ÙÙ ØšØ±Ø¯ ÛÚ© ÛØ§ ÚÙØ¯ Ù
+Ø¬Ù
+ÙØ¹Ù Ø¯Ø± ÙØ§ÙØš Ù
+ØŽØ®Øµ ØšÙ Ø¯Ø§Ø±Ú©ØªÙØ±Û Ø§Ø² ÙŸÛØŽ ØªØ¹ÛÛÙ ØŽØ¯Ù 
+ExportAsPrompt.Progress_Label:Ø¯Ø± Ø­Ø§Ù ØšØ±ÙÙ ØšØ±Ø¯ ÙØ§ÛÙ ÙØ§ ... ÙØ·ÙØ§ Ù
+ÙØªØžØ± ØšÙ
+Ø§ÙÛØ¯ 
+ExportAsPrompt.Successful_ExportOne:Ù
+Ø¬Ù
+ÙØ¹Ù Û{0}  ØšØ±ÙÙ ØšØ±Ø¯ ØŽØ¯ 
+ExportAsPrompt.Successful_Details:ÙØ§ÛÙ ÙØ§ ØšÙ {1}  ØšØ±ÙÙ ØšØ±Ø¯ ØŽØ¯ÙØ¯ 
+ExportAsPrompt.Successful_Title:ØšØ±ÙÙ ØšØ±Ø¯ Ù
+ÙÙÙÛØª Ø¢Ù
+ÛØ² 
+ExportAsPrompt.Title:ØšØ±ÙÙ ØšØ±Ø¯ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ 
+ExportAsPrompt.SaveAs:ØšØ±ÙÙ ØšØ±Ø¯ ØšÙ 
+ExportAsPrompt.SaveAs_Tooltip:ÙØ§ÙØšÛ Ø±Ø§ Ú©Ù Ù
+ÛØ®ÙØ§ÙÛØ¯ ØšÙ Ø¢Ù ØšØ±ÙÙ ØšØ±Ø¯ Ú©ÙÛØ¯ Ø§ÙØªØ®Ø§Øš ÙÙ
+Ø§ÛÛØ¯ 
+ExportAsPrompt.Cancel:Ø§ÙØµØ±Ø§Ù 
+ExportAsPrompt.Cancel_Tooltip:ÙØºÙ ÙØ±Ø§ÛÙØ¯ ØšØ±ÙÙ ØšØ±Ø¯ 
+ExportAsPrompt.Browse:Ù
+Ø±ÙØ± 
+ExportAsPrompt.Browse_Tooltip:ÛÚ© ÙØ§ÛÙ xsl Ø§ÙØªØ®Ø§Øš Ú©ÙÛØ¯ 
+ExportAsPrompt.ApplyXSL:Ø§Ø¹Ù
+Ø§Ù Xsl  ØšÙ {0} 
+ExportAsPrompt.ApplyXSL_Tooltip:ØšØ±Ø§Û ØªØšØ¯ÛÙ ÙØ§ÛÙ ÙØ§Û ØšØ±ÙÙ ØšØ±Ø¯ ØŽØ¯Ù Ø§Ø² Ø§ÛÙ ÙØ§ÛÙ Xsl Ø§Ø³ØªÙØ§Ø¯Ù Ø®ÙØ§ÙØ¯ ØŽØ¯ . 
+ExportAsPrompt.MARCXMLGroup:Ø¯Ø³ØªÙ ØšÙØ¯Û ÙŸÛØŽÛÙÙ ÙØ§Û marc 
+ExportAsPrompt.MARCXMLGroup_Tooltip:ØšØ±ÙÙ ØšØ±Ø¯ ØªÙ
+Ø§Ù
+ ÙŸÛØŽÛÙÙ ÙØ§Û marc ØšÙ ÛÚ© ÙØ§ÛÙ Ù
+ÙÙØ±Ø¯ . 
+ExportAsPrompt.MappingXML:Ø§Ø³ØªÙØ§Ø¯Ù Ø§Ø² ÙØ§ÛÙ ØªØ¹ÛÛÙ Ù
+Ø³ÛØ± . 
+ExportAsPrompt.MappingXML_Tooltip:Ø§Ø³ØªÙØ§Ø¯Ù Ø§Ø² ÛÚ© ÙØ§ÛÙ ØªØ¹ÛÛÙ Ù
+Ø³ÛØ± ØšØ±Ø§Û Ø§Ø³ØªÙØ§Ø¯Ù Ø¯Ø± ØšØ±ÙÙ ØšØ±Ø¯ ÙØ§ÛÙ ÙØ§ . 
+#
+#***** Inherited Metadata *****
+ExtractedMetadata.Message:ÙØ§ÛÙ ÛØ§ ÙŸÙØŽÙ Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø­Ø§ÙÛ ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§Û Ø§Ø³ØªØ®Ø±Ø§Ø¬ ØŽØ¯Ù Ù
+Û ØšØ§ØŽØ¯ , ÙÙÛ Ø¯Ø± Ø­Ø§Ù Ø­Ø§Ø¶Ø± ÙŸÙÙØ§Ù ÙØ³ØªÙØ¯ .ØšØ±Ø§Û Ù
+ØŽØ§ÙØ¯Ù Û ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§Û Ø§Ø³ØªØ®Ø±Ø§Ø¬ ØŽØ¯Ù ØšÙ Ø±ÙØŽ Ù
+ÙØ§ØšÙ Ø¹Ù
+Ù Ú©ÙÛØ¯  ÙØ§ÛÙ <-  ØªÙØžÛÙ
+Ø§Øª <- Ø¹Ù
+ÙÙ
+Û 
+ExtractedMetadata.Title:Ø§ÛÙ ÙØ§ÛÙ ÛØ§ ÙŸÙØŽÙ ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§Û Ø§Ø³ØªØ®Ø±Ø§Ø¬Û ÙŸÙÙØ§Ù Ø¯Ø§Ø±Ø¯ 
+#
+#***** FileActions *****
+FileActions.Calculating_Size:Ø¯Ø± Ø­Ø§Ù Ù
+Ø­Ø§Ø³ØšÙ Û Ø­Ø¬Ù
+ Ú©ÙÛ ÙØ§ÛÙ Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+FileActions.Copying:Ø¯Ø± Ø­Ø§Ù Ú©ÙŸÛ {0} 
+FileActions.Could_Not_Delete:Ø­Ø°Ù ÙØ§ÛÙ {0} Ù
+ÙØ¯ÙØ± ÙØšÙØ¯ . 
+FileActions.Cyclic_Path:Ú©ÙŸÛ {0} Ù
+ÙØ¯ÙØ± ÙÛØ³Øª : ÙŸÙØŽÙ Û Ù
+ÙØµØ¯ Ø²ÛØ± ÙŸÙØŽÙ Ø§Û Ø§Ø² Ù
+ÙØšØ¹ Ø§Ø³Øª . 
+FileActions.Deleting:Ø¯Ø± Ø­Ø§Ù Ø­Ø°Ù {0} 
+FileActions.Directories_Selected:ÙŸÙØŽÙ ÙØ§Û {0} Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø§ÙØ¯ 
+FileActions.Directory_Selected:ÛÚ© ÙŸÙØŽÙ Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø§Ø³Øª 
+FileActions.File_Already_Exists_No_Create:ÙØ§ÛÙ ØšØ§ ÙØ§Ù
+ {0} ÙÙ
+ Ø§Ú©ÙÙÙ Ù
+ÙØ¬ÙØ¯ Ø§Ø³Øª . 
+FileActions.File_And_Directories_Selected:1 ÙØ§ÛÙ  Ù {0}  ÙŸÙØŽÙ Ø§ÙØªØ®Ø§Øš ØŽØ¯ 
+FileActions.File_And_Directory_Selected:1ÙØ§ÛÙ Ù 1  ÙŸÙØŽÙ Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+FileActions.File_Create_Error:Ø§ÛØ¬Ø§Ø¯ ÙØ§ÛÙ {0}  Ù
+ÙØ¯ÙØ± ÙØšÙØ¯ . 
+FileActions.Folder_Create_Error:Ø§ÛØ¬Ø§Ø¯ ÙŸÙØŽÙ Û  {0}  Ù
+ÙØ¯ÙØ± ÙØšÙØ¯ . 
+FileActions.File_Exists:{0} Ø¯Ø± ÙŸÙØŽÙ Û Ù
+ÙØµØ¯ Ù
+ÙØ¬ÙØ¯ Ù
+Û ØšØ§ØŽØ¯ Ø¢ÛØ§ Ù
+Ø§ÛÙÛØ¯ Ø¢Ù Ø±Ø§ ØšØ§Ø² ÙÙÛØ³Û Ú©ÙÛØ¯ . 
+FileActions.File_Move_Error_Message:Ø®Ø·Ø§ Ø¯Ø± Ø§ÙØªÙØ§Ù {0}  ØšÙ {1}  . 
+FileActions.File_Not_Deleted_Message:{0} \n ÙØ§ÛÙ ØšØ§ÙØ§ Ø­Ø°Ù ÙØŽØ¯ \n ÙØ·ÙØ§ ÚÚ© Ú©ÙÛØ¯ Ú©Ù ÙØ§ÛÙ ØšØ§ÙØ§ Ø±Ø§ \n Ø¯Ø± ÛÚ© ØšØ±ÙØ§Ù
+Ù Û Ø®Ø§Ø±Ø¬Û ØšØ§Ø² ÙÚ¯Ø°Ø§ØŽØªÙ ØšØ§ØŽÛØ¯ . 
+FileActions.File_Not_Found_Message:{0}  \n ÙØ§ÛÙ ØšØ§ÙØ§ ÛØ§ÙØª ÙØŽØ¯ . Ø²Ù
+Ø§ÙÛ Ú©Ù ÙÙ
+Ø§Û ÙÛÙ ÙØ§ \n  ØšÙ Ø±ÙØ² ØŽØ¯ÙØ¯ Ø§Ø² ÙØ¬ÙØ¯ Ø¢Ù Ø§Ø·Ù
+ÛÙØ§Ù Ø­Ø§ØµÙ Ú©ÙÛØ¯ . 
+FileActions.File_Selected:ÛÚ© ÙØ§ÛÙ Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø§Ø³Øª 
+FileActions.Files_And_Directory_Selected:{0}  ÙØ§ÛÙ Ù 1  ÙŸÙØŽÙ Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø§ÙØ¯ 
+FileActions.Files_Selected:{0}  ÙØ§ÛÙ Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø§ÙØ¯ 
+FileActions.Folder_Already_Exists:ÙŸÙØŽÙ ØšØ§ ÙØ§Ù
+ {0}  Ø¯Ø± Ø­Ø§Ù Ø­Ø§Ø¶Ø± Ù
+ÙØ¬ÙØ¯ Ù
+Û ØšØ§ØŽØ¯ . 
+FileActions.Insufficient_Space_Message:ØšÙ Ø¯ÙÛÙ Ú©Ù
+ ØšÙØ¯ ÙØ¶Ø§ ÙØ¹Ø§ÙÛØª ÙØ§ÛÙ ØšØ§ Ø®Ø·Ø§ Ù
+ÙØ§Ø¬Ù ØŽØ¯Ù Ø§Ø³Øª . \n  ØšØ±Ø§Û Ú©ÙŸÛ ØŽØ¯Ù Ù
+ÙÙÙÛØª Ø¢Ù
+ÛØ² ÙØ§ÛÙ \n  ØŽÙ
+Ø§ ÙÛØ§Ø² ØšÙ {0}  ÙØ¶Ø§Û ØšÛØŽØªØ± Ø¯Ø§Ø±ÛØ¯ . 
+FileActions.Moving:Ø¯Ø± Ø­Ø§Ù Ø¬Ø§ØšØ¬Ø§ÛÛ {0} 
+FileActions.No_Activity:ÙÛÚ Ø¯Ø± Ø®ÙØ§Ø³ØªÛ Ù
+ÙØ¬ÙØ¯ ÙÙ
+Û ØšØ§ØŽØ¯ . 
+FileActions.Read_Not_Permitted_Message:ÙØ§ÛÙ {0}  ÙØ§ØšÙ Ø®ÙØ§ÙØ¯Ù ÙÙ
+Û ØšØ§ØŽØ¯ . 
+FileActions.Read_Only:ÙØ§ÛÙ ÙØ§Û Ù
+ÙØ¬ÙØ¯ Ø¯Ø± ÙØ¶Ø§Û Ú©Ø§Ø± ØªÙÙØ§ Ø®ÙØ§ÙØ¯ÙÛ ÙØ³ØªÙØ¯ Ù ÙÙ
+Û ØªÙØ§Ù Ø¢ÙÙØ§ Ø±Ø§ Ø­Ø°Ù Ú©Ø±Ø¯ . 
+FileActions.Replacing:Ø¯Ø± Ø­Ø§Ù ØªØ¹ÙÛØ¶ {0}  . 
+FileActions.Selected:{0}  ÙØ§ÛÙ Ù {1}  ÙŸÙØŽÙ Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø§ÙØ¯ 
+FileActions.Unknown_File_Error_Message:ØšØ§ Ø§ÛÙ Ú©Ù ÙÛÚ ÙŸÛØºØ§Ù
+ Ø®Ø·Ø§ÛÛ Ø¯Ø± Ø²Ù
+Ø§Ù \n ÙØ¹Ø§ÙÛØª ÙØ§ÛÙ ÙØ¬ÙØ¯ ÙØ¯Ø§ØŽØªÙ ,  ÛÚ© Ø¢Ø²Ù
+ÙÙ ÙÙØ§ÛÛ ÙØŽØ§Ù Ø¯Ø§Ø¯Ù  \n Ú©Ù ÙØ§ÛÙ Ø§ØµÙÛ ØšØ§ Ú©ÙŸÛ Ø®ÙØ¯ ØšØ±Ø§ØšØ± ÙÙ
+Û ØšØ§ØŽØ¯ . \n Ø¯ÙÛÙ Ø§ÛÙ Ù
+ØŽÚ©Ù ÙØ§ Ù
+ØŽØ®Øµ Ø§Ø³Øª ÙØ·ÙØ§ ÙØ§Ø³Ø·Ù ÙØ§Û \n  Ø®ÙØ¯ Ø±Ø§ ÚÚ© Ù JVM   Ø±Ø§ ØšÙ Ø±ÙØ² Ø±Ø³Ø§ÙÛ Ú©ÙÛØ¯ . 
+FileActions.Write_Not_Permitted_Message:ÙØ§Ø³Ø· Ú©Ø§Ø±ØšØ±Û Ú©ØªØ§ØšØ¯Ø§Ø±Ø§Ù Ø§Ø¬Ø§Ø²Ù ØšØ±Ø§Û ÙÙØŽØªÙ Ø¯Ø± ÙØ§ÛÙ \n\  {0}  n Ø±Ø§ ÙØ¯Ø§Ø±Ø¯ . \n ÙØ·ÙØ§ Ù
+Ø¬ÙØ² ÙØ§ÛÙ ÙØ§Û Ø®ÙØ¯ Ø±Ø§ ØªÙØžÛÙ
+ Ú©ÙÛØ¯ . 
+FileActions.Write_Not_Permitted_Title:Ø®Ø·Ø§ -   Ù
+Ø¬ÙØ² ÙØ§ÛÙ ØšØ±Ø§Û Ø§ÛÙ Ø¹Ù
+ÙÛØ§Øª ÙØ§ Ù
+Ø¹ØªØšØ± Ø§Ø³Øª . 
+FileActions.Yes_To_All:ØšÙÙ ØšØ±Ø§Û ÙÙ
+Ù 
+FileActions.File_Permission_Detail:\n\nØªÙØ¬Ù : ØšÙ Ø·ÙØ± Ú©ÙÛ ÙØ±Ù
+ Ø§ÙØ²Ø§Ø± Ú©ØªØ§ØšØ¯Ø§Ø±Ø§Ù ÙÛØ§Ø² ØšÙ Ù
+Ø¬ÙØ² ÙÙØŽØªÙ Ø¯Ø± ÙŸÙØŽÙ Û Ø®Ø§ÙÙ Ú¯Û ÙØ±Ù
+ Ø§ÙØ²Ø§Ø± GreenStone  Ø¯Ø§Ø±Ø¯ .\nÚ©Ù Ø¯Ø± Ø­Ø§Ù Ø­Ø§Ø¶Ø± {0} Ù
+Û ØšØ§ØŽØ¯ .\nÙØ·ÙØ§ Ù
+Ø¬ÙØ² ({1}) Ú©Ø§Ø±ØšØ± Ø±Ø§ ØšØ±Ø§Û Ú©ÙØªØ±Ù Ú©Ø§Ù
+Ù ØšØ± Ø±ÙÛ Ø§ÛÙ ÙŸÙØŽÙ ØªÙØžÛÙ
+ ÙÙ
+ÙØ¯Ù Ù Ø¯ÙØšØ§Ø±Ù Ø³Ø¹Û Ú©ÙÛØ¯ .\n\n(ÛØ§ GreenStone  Ø±Ø§ Ø¯Ø± ÙŸÙØŽÙ Ø§Û ÙØµØš Ú©ÙÛØ¯ Ú©Ù Ù
+Ø¬ÙØ² Ø¯Ø³ØªØ±Ø³Û Ú©Ø§Ù
+Ù ØšÙ Ø¢Ù Ø±Ø§ Ø¯Ø§Ø±ÛØ¯ \n , Ù
+Ø§ÙÙØ¯ ÙŸÙØŽÙ Û Ø®Ø§ÙÙ Ú¯Û ÛØ§ "My Documents" . ) 
+
+#************************
+#
+#******* File Associations dialog **********
+FileAssociationDialog.Add:Ø§ÙØ²ÙØ¯Ù 
+FileAssociationDialog.Add_Tooltip:ØšØ±Ø§Û Ù
+ØŽØ§ÙØ¯Ù Û ÙØ§ÛÙ ÙØ§ Ø§Ø² Ø§ÛÙ ÙÙØ¹ Ø§Ø² Ø§ÛÙ ÙØ±Ù
+ Ø§ÙØ²Ø§Ø± Ø§Ø³ØªÙØ§Ø¯Ù Ø®ÙØ§ÙØ¯ ØŽØ¯ . 
+FileAssociationDialog.Batch_File:ÙØ§ÛÙ ÙØ§Û Ø¯Ø³ØªÙ Ø§Û 
+FileAssociationDialog.Browse:Ù
+Ø±ÙØ± ÙÛØ³Øª 
+FileAssociationDialog.Browse_Tooltip:ÙØ±Ù
+ Ø§ÙØ²Ø§Ø± Ù
+ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù Ø±Ø§ Ø§ÙØªØ®Ø§Øš Ú©ÙÛØ¯ 
+
+FileAssociationDialog.Browse_Title:ÙØ±Ù
+ Ø§ÙØ²Ø§Ø± Ø±Ø§ Ø§ÙØªØ®Ø§Øš Ú©ÙÛØ¯ 
+FileAssociationDialog.Close:ØšØ³ØªÙ 
+FileAssociationDialog.Close_Tooltip:ØšØ³ØªÙ Ø§ÛÙ ÙŸÙØ¬Ø±Ù Ù ØšØ§Ø²Ú¯ØŽØª ØšÙ ÙŸÙØ¬Ø±Ù Û Ø§ØµÙÛ 
+FileAssociationDialog.Command:Ø¯Ø³ØªÙØ± Ø§Ø¬Ø±Ø§ : 
+FileAssociationDialog.Command_File:ÙØ§ÛÙ ÙØ§Û Ø¯Ø³ØªÙØ± 
+FileAssociationDialog.Command_Tooltip:ÙØ§Ø±Ø¯ Ú©Ø±Ø¯Ù Ø¯Ø³ØªÙØ± ØšØ±Ø§Û Ø§Ø¬Ø±Ø§Û ÙØ±Ù
+ Ø§ÙØ²Ø§Ø± Ù
+ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù 
+FileAssociationDialog.Details:Ø¬Ø²Ø¹ÛØ§Øª Ù
+Ø±ØšÙØ· ØšÙ ÙØ§ÛÙ Ø¬Ø¯ÛØ¯ 
+FileAssociationDialog.Executable_File:ÙØ§ÛÙ ÙØ§Û Ø§Ø¬Ø±Ø§ÛÛ 
+FileAssociationDialog.Extension:ÙØ§ÛÙ ÙØ§ ØšØ§ ÙŸØ³ÙÙØ¯ : 
+FileAssociationDialog.Extension_Tooltip:ÙŸØ³ÙÙØ¯ ÙØ§ÛÙ ÙØ§ ØšØ±Ø§Û ÙÙ
+Ø§ÛØŽ 
+FileAssociationDialog.Instructions:Ø§Ø² Ø§ÛÙ Ø¯ÛØ§ÙÚ¯ ØšØ±Ø§Û ØªÙØžÛÙ
+ ÙØ±Ù
+ Ø§ÙØ²Ø§Ø±ÙØ§Û Ø®Ø§Ø±Ø¬Û Ù
+ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù ØšØ±Ø§Û Ù
+ØŽØ§ÙØ¯Ù Û Ø§ÙÙØ§Ø¹ ÙØ§ÛÙ ÙØ§Û Ù
+Ø®ØªÙÙ Ù ÙÙ
+ÚÙÛÙ Ù Ø¯Ø³ØªÙØ±Ø§Øª Ø§Ø¬Ø±Ø§ÛÛ Ø§ÛÙ ÙØ±Ù
+ Ø§ÙØ²Ø§Ø±ÙØ§  Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯ . \nØšØ±Ø§Û Ø§ÙØ²ÙØ¯Ù ÛÚ© ÙØ§ÛÙ Ø¬Ø¯ÛØ¯ ÙŸØ³ÙÙØ¯ Ø¢Ù Ø±Ø§ Ú©Ø§Ø¯Ø± Ù
+Ø±ØšÙØ·Ù ÙØ§Ø±Ø¯ Ú©ÙÛØ¯ .\n ØšØ±Ø§Û Ø§ÙØ²ÙØ¯Ù ÛØ§ ØªØºÛÛØ± ÛÚ© Ø¯Ø³ØªÙØ± Ø§Ø¬Ø±Ø§ÛÛ , Ø¯Ø³ØªÙØ± Ø¬Ø¯ÛØ¯ Ø±Ø§ Ø¯Ø± Ú©Ø§Ø¯Ø± Ù
+Ø±ØšÙØ· ØšÙ Ø¢Ù ÙØ§Ø±Ø¯ Ú©ÙÛØ¯  ÛØ§ ØšØ±Ø§Û Ø¬Ø³ØªØ¬ÙÛ ÙØ±Ù
+ Ø§ÙØ²Ø§Ø± Ù
+ÙØ¯ ÙØžØ± ØšØ± Ø±ÙÛ Ø¯Ú©Ù
+Ù Û Ø¬Ø³ØªØ¬Ù Ø§Ø² Ø±ÙÛ ÙÛØ³Øª Ú©ÙÛÚ© Ú©ÙÛØ¯ . \nØ§Ø² Ø±ØŽØªÙ Û "%1 " ØšØ±Ø§Û ØªØ¹ÛÛÙ Ù
+Ú©Ø§Ù ÙØ§Ù
+ ÙØ§ÛÙ Ù
+ÙØ±Ø¯ ÙØžØ± ØšØ±Ø§Û Ú¯ØŽÙØ¯Ù Ø¯Ø± Ø¯Ø³ØªÙØ± Ø§Ø¬Ø±Ø§ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯ . \nÙ
+Ø«Ø§Ù : "C:\\Windows\\System\\MSPaint.exe %1" . \nÚ©Ø§Ø±ØšØ±Ø§Ù Mac  ØšÙØªØ± Ø§Ø³Øª Ú©Ù Ø§ØšØªØ¯Ø§ Ø§Ø² Ø¯Ø³ØªÙØ± "open [-a <application_name>] %1" Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÙØ¯ . 
+FileAssociationDialog.Table.Command:Ø¯Ø³ØªÙØ± 
+FileAssociationDialog.Table.Extension:ÙŸØ³ÙÙØ¯ 
+FileAssociationDialog.Title:ÙÛØ±Ø§ÛØŽ ÙØ§ØšØ³ØªÚ¯Û ÙØ§ÛÙ ÙØ§ 
+FileAssociationDialog.Remove:Ø­Ø°Ù 
+FileAssociationDialog.Remove_Tooltip:Ø­Ø°Ù ÙØ§ØšØ³ØªÚ¯Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø§Ø² ÙÛØ³Øª ÙØ§ØšØ³ØªÚ¯Û ÙØ§ 
+FileAssociationDialog.Replace:ØªØ¹ÙÛØ¶ 
+FileAssociationDialog.Replace_Tooltip:ØªØ¹ÙÛØ¶ ÙØ§ØšØ³ØªÚ¯Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù ØšØ§ Ø¬Ø²Ø¹ÛØ§Øª ÙØ§ØšØ³ØªÚ¯Û Ø¬Ø¯ÛØ¯ 
+#*******************
+#
+#******Filter***************
+Filter.0:HTM & HTML 
+Filter.1:XML 
+Filter.2:ÙØ§ÛÙ Ù
+ØªÙÛ 
+Filter.3:Ø¹Ú©Ø³ ÙØ§ 
+Filter.4:PDF 
+Filter.5:Ø³ÙØ¯ Office 
+Filter.All_Files:ÙÙ
+Ù Û ÙØ§ÛÙ ÙØ§ 
+Filter.Filter_Tree:ÙÙ
+Ø§ÛØŽ ÙØ§ÛÙ ÙØ§ 
+Filter.Invalid_Pattern:<HTML><FONT FACE={FONT} COLOR=Black>Ø§ÙÚ¯ÙÛÛ Ú©Ù ØšØ±Ø§Û ÙÛÙØªØ± Ú©Ø±Ø¯Ù ÙØ§ÛÙ ÙØ§ ÙØ§Ø±Ø¯ Ú©Ø±Ø¯Ù Ø§ÛØ¯ ÙØ§ Ù
+Ø¹ØªØšØ± Ø§Ø³Øª .<BR>ÙØ·ÙØ§ ØšØ§ Ø§Ø³ØªÙØ§Ø¯Ù Ø§Ø² Ø¹ØšØ§Ø±Ø§Øª Ù
+ÙØžÙ
+ Ù * ØšØ±Ø§Û Ú©Ø§Ø±Ø§Ú©ØªØ± ÙØ§Û Ø¹Ø§Ù
+ Ø§ÙÚ¯ÙÛ Ø®ÙØ¯ Ø±Ø§ ÙØ§Ø±Ø¯ Ú©ÙÛØ¯ .</FONT></HTML> 
+#***********************
+#
+#***** GAuthenticator *****
+GAuthenticator.Password:Ø±Ù
+Ø² Ø¹ØšÙØ± : 
+GAuthenticator.Password_Tooltip:Ø±Ù
+Ø² Ø¹ØšÙØ± Ø®ÙØ¯ Ø±Ø§ ÙØ§Ø±Ø¯ Ú©ÙÛØ¯ . 
+GAuthenticator.Title:Ø±Ù
+Ø² Ø¹ØšÙØ± ÙÛØ§Ø² Ø§Ø³Øª 
+GAuthenticator.Username:ÙØ§Ù
+ Ú©Ø§Ø± ØšØ±Û : 
+GAuthenticator.Username_Tooltip:ÙØ§Ù
+ Ú©Ø§Ø±ØšØ±Û Ø®ÙØ¯ Ø±Ø§ ÙØ§Ø±Ø¯ Ú©ÙÛØ¯ . 
+#**************************
+#
+#***** General Messages *****
+# 0 - A String representing the name and method of the class in question.
+General.Apply:Ø§Ø¹Ù
+Ø§Ù 
+General.Apply_Tooltip:Ø§Ø¹Ù
+Ø§Ù ØªÙØžÛÙ
+Ø§Øª ÙØ¹ÙÛ ØšØ¯ÙÙ Ø®Ø±ÙØ¬ Ø§Ø² Ø§ÛÙ ÙŸÙØ¬Ø±Ù . 
+General.Browse:Ù
+Ø±ÙØ± ÙÛØ³Øª... 
+General.Cancel:ÙØºÙ 
+General.Cancel_Tooltip:ÙØºÙ Ú©Ø±Ø¯Ù ØªØºÛÛØ±Ø§Øª (ØªØºÛÛØ±Ø§ØªÛ Ú©Ù ØšÙ ÙØ³ÛÙÙ Û Ø¯Ú©Ù
+Ù Û Ø§Ø¹Ù
+Ø§Ù Ø§ÙØ¬Ø§Ù
+ ØŽØ¯Ù Ø§ÙØ¯ ØšØ§ÙÛ Ø®ÙØ§ÙÙØ¯ Ù
+Ø§ÙØ¯). 
+General.Close:ØšØ³ØªÙ 
+General.Close_Tooltip:ØšØ³ØªÙ Ø§ÛÙ ÙŸÙØ¬Ø±Ù 
+General.Edit:ÙÛØ±Ø§ÛØŽ Ù
+ÙØ§Ø¯ÛØ± 
+General.Error:Ø®Ø·Ø§ 
+General.No:Ø®ÛØ± 
+General.NotSunJava:ØªÙØ¬Ù Ø¯Ø§ØŽØªÙ ØšØ§ØŽÛØ¯ Ú©Ù Ø±Ø§ØšØ· Ú©Ø§Ø±ØšØ±Û ØªÙØ³Ø· SDK  Ø¬Ø§ÙØ§ Ø³Ø§Ø®Øª Sun Microsystems  Ø·Ø±Ø§Ø­Û ÙØªØ³Øª ØŽØ¯Ù Ø§Ø³Øª . 
+General.OK:ØªØ§ÛÛØ¯ 
+General.OK_Tooltip:ØªØ§ÛÛØ¯ ØªÙØžÛÙ
+Ø§Øª ÙØ¹ÙÛ Ù Ø®Ø±ÙØ¬ Ø§Ø² Ø§ÛÙ ÙŸÙØ¬Ø±Ù 
+General.Outstanding_Processes:<html>ØšØ±Ø§Û Ø®Ø±ÙØ¬ Ú©Ø§Ù
+Ù Ø§Ø² Ø±Ø§ØšØ· Ú©Ø§Ø±ØšØ±Û Ø§ØšØªØšØ§ ØšØ§ÛØ¯ ØªÙ
+Ø§Ù
+ <br> ÙØ±Ù
+ Ø§ÙØ²Ø§Ø± ÙØ§ÛÛ Ú©Ù Ø§Ø² Ø¯Ø±ÙÙ ÙØ±Ù
+ Ø§ÙØ²Ø§Ø± Ø§Ø¬Ø±Ø§ ØŽØ¯ÙØ¯ Ø±Ø§ ØšØšÙØ¯ÛØ¯ .</html> 
+General.Outstanding_Processes_Title:Ø¯Ø± Ø§ÙØªØžØ§Ø± ØšØ±Ø§Û Ø®Ø±ÙØ¬ ... 
+General.Pure_Cancel_Tooltip:Ø§ÙØµØ±Ø§Ù Ø§Ø² Ø§ÛÙ Ø¹Ù
+Ù ( ÙÛÚ ØªØºÛÛØ±Ø§ØªÛ Ø§Ø¹Ù
+Ø§Ù ÙØ®ÙØ§ÙØ¯ ØŽØ¯ ) . 
+General.Review_Output:ÙØ·ÙØ§ Ø®Ø±ÙØ¬Û Ø±Ø§ Ø¯Ø± Ø²ÛØ± Ù
+Ø±ÙØ± Ú©ÙÛØ¯  : 
+General.Redo:Ø§ÙØ¬Ø§Ù
+ Ø¯ÙØšØ§Ø±Ù 
+General.Redo_Tooltip:ØšØ§Ø² Ú¯Ø±Ø¯Ø§ÙØ¯Ù Ø¢Ø®Ø±ÛÙ Ø¹Ù
+Ù Ø®ÙØ«Û ØŽØ¯Ù 
+General.Undo:Ø®ÙØ«Û 
+General.Undo_Tooltip:Ø®ÙØ«Û Ú©Ø±Ø¯Ù Ø¢Ø®Ø±ÛÙ Ø¹Ù
+Ù ÙÛØ±Ø§ÛØŽ 
+General.Usage:Ø§Ø³ØªÙØ§Ø¯Ù : {0} <params>  \n ØªÙ
+Ø§Ù
+ ÙŸØ§Ø±Ø§Ù
+ØªØ± ÙØ§ Ø§Ø®ØªÛØ§Ø±Û ÙØ³ØªÙØ¯ ÙÙÛ ÙØ§Ø³Ø· Ú©Ø§Ø±ØšØ±Û ØšØ¯ÙÙ ØªÙØžÛÙ
+ ØšÙØ¯Ù âgsdl  Ù âlibrary  Ù
+Ù
+Ú©Ù Ø§Ø³Øª Ø§Ø¬Ø±Ø§ ÙØŽÙØ¯   \n-gsdl  <path> : Ø¢Ø¯Ø±Ø³ ØšÙ Ú©ØªØ§Øš Ø®Ø§ÙÙ . \n -library <path> : Ø¢Ø¯Ø±Ø³ ØšÙ cgi-bin   \n-mozilla <path> : ÙØ¹Ø§Ù Ø³Ø§Ø²Û Mozilla  \n-mirror <path> : Ú©ÙØªØ±Ù ÙØ§Û Web-mirroring  \n-laf [java|windows|motif|mac] : ÙŸÙØ³ØªÙ \n debug : ÙØ¹Ø§Ù Ø³Ø§Ø²Û ÙŸÛØºØ§Ù
+ ÙØ§Û Ø®Ø·Ø§ ÛØ§ØšÛ \n -no_load : Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û ØšØ§Ø² Ø§Ø² ÙØšÙ Ø±Ø§ ØšØ§Ø± Ú¯Ø²Ø§Ø±Û ÙÚ©Ù \n -load <path> : ØšØ§Ø± Ú¯Ø²Ø§Ø±Û Ù
+Ø¬Ù
+ÙØ¹Ù Û Ù
+ØŽØ®Øµ ØŽØ¯Ù . 
+General.View:Ù
+ØŽØ§ÙØ¯Ù Û Ù
+ÙØ¯Ø§Ø± 
+General.Warning:Ø§Ø®Ø·Ø§Ø± 
+General.Yes:ØšÙÙ 
+#****************************
+#
+#***** GShell *****
+GShell.BadArgument:Ø¢Ø±Ú¯ÙÙ
+Ø§Ù  {0}  ÙØ§ Ù
+Ø¹ØªØšØ± Ø§Ø³Øª 
+GShell.BadArgumentValue:Ø¢Ø±Ú¯ÙÙ
+Ø§Ù  {0}  ÛÚ© Ù
+ÙØ¯Ø§Ø± ÙØ§ Ù
+Ø¹ØªØšØ± Ø¯Ø§Ø±Ø¯ . 
+GShell.BadPluginOptions:Ø¢Ø±Ú¯ÙÙ
+Ø§Ù ÙØ§ Ù
+Ø¹ØªØšØ± Ø¯Ø± Ø§ÙØ²ÙÙÙ Û {0}  ÛØ§ÙØª ØŽØ¯ 
+GShell.BadClassifierOptions:Ø¢Ø±Ú¯ÙÙ
+Ø§Ù ÙØ§Ù
+Ø¹ØªØšØ± Ø¯Ø± Ø·ØšÙÙ ØšÙØ¯Û Ú©ÙÙØ¯Ù Û {0}   ÛØ§ÙØª ØŽØ¯ . 
+GShell.Build.Auxilary:Ø¯Ø± Ø­Ø§Ù Ù
+Ø±ØªØš Ú©Ø±Ø¯Ù Ù Ø§ÛØ¬Ø§Ø¯ ÙØ§ÛÙ ÙØ§Û Ú©Ù
+Ú©Û ... 
+GShell.Build.BuildBegun1:************** ØŽØ±ÙØ¹ ÙØ±Ø§ÛÙØ¯ Ø³Ø§Ø®Øª ************** 
+GShell.Build.BuildCancelled:**************    ÙØ±Ø§ÛÙØ¯ ÙØºÙ ØŽØ¯     ************** 
+GShell.Build.BuildComplete1:************** Ø§ØªÙ
+Ø§Ù
+ ÙØ±Ø§ÛÙØ¯ Ø³Ø§Ø®Øª ************** 
+GShell.Build.CompressText:Ø¯Ø± Ø­Ø§Ù ÙØŽØ±Ø¯Ù Ø³Ø§Ø²Û Ù
+ØªÙ ... 
+GShell.Build.Index:Ø¯Ø± Ø­Ø§Ù Ø§ÛØ¬Ø§Ø¯ ÙÙØ±Ø³Øª ØšØ± Ù
+ØšÙØ§Û {0-index source and level} ... 
+GShell.Build.InfoDatabase:Ø¯Ø± Ø­Ø§Ù Ø§ÛØ¬Ø§Ø¯ ÙŸØ§ÛÚ¯Ø§Ù Ø¯Ø§Ø¯Ù Û Ø§Ø·ÙØ§Ø¹Ø§Øª ... 
+GShell.Build.Phind:Ø¯Ø± Ø­Ø§Ù ØªÙÙÛØ¯ ÛÚ© Ø·ØšÙÙ ØšÙØ¯Û Ú©ÙÙØ¯Ù Û Phind  . Ø§ÛÙ Ø¹Ù
+Ù Ù
+Ù
+Ú©Ù Ø§Ø³Øª Ù
+Ø¯ØªÛ Ø²Ù
+Ø§Ù ØšØšØ±Ø¯ ... 
+GShell.Schedule.ScheduleBegun1:**************** ØŽØ±ÙØ¹ Ø¹Ù
+ÙØ§Øª ÙØ§Û Ø²Ù
+Ø§ÙØšÙØ¯Û ØŽØ¯Ù *************** 
+GShell.Schedule.ScheduleComplete1:**************** ÙŸØ§ÛØ§Ù Ø²Ù
+Ø§Ù ØšÙØ¯Û ************* 
+GShell.Schedule.ScheduleDelete:*********** Ø¯Ø± Ø­Ø§Ù Ø­Ø°Ù Ú©Ø±Ø¯Ù Ø²Ù
+Ø§Ù ØšÙØ¯Û Ù
+ÙØ¬ÙØ¯ ***** 
+GShell.Command:Ø¯Ø³ØªÙØ± 
+GShell.Failure:Ø¯Ø³ØªÙØ± ÙØ§ Ù
+ÙÙÙ . 
+GShell.Import.FileNotProcessed:ÙØ§ÛÙ {0-target file path} ÙØ§ØšÙ ØŽÙØ§Ø³Ø§ÛÛ Ù
+Û ØšØ§ØŽØ¯ ÙÙÛ ÙÛÚ Ø§ÙØ²ÙÙÙ Ø§Û ÙØ§Ø¯Ø± ØšÙ ÙŸØ±Ø¯Ø§Ø²ØŽ Ø¢Ù ÙÛØ³Øª . 
+GShell.Import.FileNotRecognised:ÙØ§ÛÙ {0-target file path}  ØªÙØ³Ø· ÙÛÚ Ø§ÙØ²ÙÙÙ Ø§Û ÙØ§ØšÙ ØŽÙØ§Ø³Ø§ÛÛ ÙÛØ³Øª . 
+GShell.Import.FileProcessing:Ø§ÙØ²ÙÙÙ Û {1-plugin name} Ø¯Ø± Ø­Ø§Ù ÙŸØ±Ø¯Ø§Ø²ØŽ ÙØ§ÛÙ {0-target file path}  Ø§Ø³Øª . 
+GShell.Import.FileProcessingError:Ø®Ø·Ø§ Ø¯Ø± ÙŸØ±Ø¯Ø§Ø²ØŽ ÙØ§ÛÙ {0-target file path} 
+GShell.Import.ImportBegun1:************** ØŽØ±ÙØ¹ Ø¯Ø±ÙÙ ØšØ±Ø¯************** 
+GShell.Import.ImportComplete1:************** ÙŸØ§ÛØ§Ù Ø¯Ø±ÙÙ ØšØ±Ø¯ ************** 
+GShell.Import.ImportComplete2:ÙŸØ±Ø¯Ø§Ø²ØŽ {0-number documents considered} Ø³ÙØ¯ ÙŸÛØŽØšÛÙÛ Ù
+Û ØŽØ¯ . 
+GShell.Import.ImportComplete2.1:1 Ø³ÙØ¯ ØšØ±Ø§Û ÙŸØ±Ø¯Ø§Ø²ØŽ ÙØ¬ÙØ¯ Ø¯Ø§Ø±Ø¯ . 
+GShell.Import.ImportComplete.Processed:{0-number processed} Ø³ÙØ¯ ÙŸØ±Ø¯Ø§Ø²ØŽ Ù ØšÙ Ù
+Ø¬Ù
+ÙØ¹Ù Ø§ÙØ²ÙØ¯Ù ØŽØ¯ . 
+GShell.Import.ImportComplete.Processed.1:1 Ø³ÙØ¯ ÙŸØ±Ø¯Ø§Ø²ØŽ Ù Ø¯Ø± Ù
+Ø¬Ù
+ÙØ¹Ù Ø§ÙØ²ÙØ¯Ù ØŽØ¯ . 
+GShell.Import.ImportComplete.Blocked:ÙØ§ØšÙÛØª Ø§ÙØ²ÙØ¯Ù {0-number blocked}  Ø³ÙØ¯ ØšÙ ÙØ³ÛÙÙ Û Ø§ÙØ²ÙÙÙ ÙØ§ Ù
+ÙØ¬ÙØ¯ ÙØšÙØ¯ . 
+GShell.Import.ImportComplete.Blocked.1:ÙØ§ØšÙÛØª Ø§ÙØ²ÙØ¯Ù 1 Ø³ÙØ¯ ØšÙ ÙØ³ÛÙÙ Û Ø§ÙØ²ÙÙÙ ÙØ§ Ù
+ÙØ¬ÙØ¯ ÙØšÙØ¯ . 
+GShell.Import.ImportComplete.Ignored:{0-number ignored} Ø³ÙØ¯ ØŽÙØ§Ø®ØªÙ ÙØŽØ¯ÙØ¯ . 
+GShell.Import.ImportComplete.Ignored.1:1 Ø³ÙØ¯ ØŽÙØ§Ø®ØªÙ ÙØŽØ¯ . 
+GShell.Import.ImportComplete.Failed:{0-number failed} Ø³ÙØ¯ ÙŸØ°ÛØ±ÙØªÙ ÙØŽØ¯ÙØ¯ . 
+GShell.Import.ImportComplete.Failed.1:1 Ø³ÙØ¯ ÙŸØ°ÛØ±ÙØªÙ ÙØŽØ¯. 
+GShell.Import.ImportComplete3:\n 
+GShell.Import.Warning:{0-plugin name} Ø§Ø®Ø·Ø§Ø±: 
+GShell.Parsing_Metadata_Complete:Ø§ØªÙ
+Ø§Ù
+ Ø§Ø³ØªØ®Ø±Ø§Ø¬ ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§Û Ø¢Ø±ØŽÛÙ . 
+GShell.Parsing_Metadata_Start:Ø¯Ø± Ø­Ø§Ù Ø§Ø³ØªØ®Ø±Ø§Ø¬ ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§Û Ø¬Ø¯ÛØ¯ Ø§Ø² ÙØ§ÛÙ ÙØ§Û Ø¢Ø±ØŽÛÙ . 
+GShell.Success:ÙŸØ§ÛØ§Ù Ø¯Ø³ØªÙØ± . 
+#*********************
+#
+#***** GUI *****
+# Currently Enabled and Disabled display the same text but in different
+# colours. If necessary this can be changed.
+GUI.Create:Ø§ÛØ¬Ø§Ø¯ 
+GUI.Create_Tooltip:Ø³Ø§Ø®ØªÙ Ù
+Ø¬Ù
+ÙØ¹Ù ØšÙ ÙØ³ÛÙÙ Û GreenStone 
+GUI.Design:Ø·Ø±Ø§Ø­Û 
+GUI.Design_Tooltip:Ø·Ø±Ø§Ø­Û Ú©Ø§Ø±Ø§ÛÛ Ù
+Ø¬Ù
+ÙØ¹Ù 
+GUI.Download:Ø¯Ø§ÙÙÙØ¯ 
+GUI.Download_Tooltip:Ø¯Ø§ÙÙÙØ¯ Ù
+ÙØ§ØšØ¹ Ø§Ø² Ø§ÛÙØªØ±ÙØª ØšØ±Ø§Û Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ 
+GUI.Enrich:ØºÙÛ Ø³Ø§Ø²Û 
+GUI.Enrich_Tooltip:ØªØ®ØµÛØµ ÙØ±Ø§Ø¯Ø§Ø¯Ù ØšÙ ÙØ§ÛÙ ÙØ§ Û Ù
+Ø¬Ù
+ÙØ¹Ù 
+GUI.Format:ÙØ§ÙØš 
+GUI.Format_Tooltip:Ø·Ø±Ø§Ø­Û ØžØ§ÙØ± Ù
+Ø¬Ù
+ÙØ¹Ù 
+GUI.Gather:Ø¬Ù
+Ø¹ Ø¢ÙØ±Û 
+GUI.Gather_Tooltip:Ø§ÙØªØ®Ø§Øš ÙØ§ÛÙ ÙØ§ ØšØ±Ø§Û Ø§Ø¶Ø§ÙÙ ØŽØ¯Ù ØšÙ Ù
+Ø¬Ù
+ÙØ¹Ù 
+#***************
+#
+#***** HELP *****
+Help.Contents:Ù
+Ø­ØªÙØ§ 
+Help.Title:ØµÙØ­Ø§Øª Ø±Ø§ÙÙÙ
+Ø§ 
+#****************************
+#
+#***** Invalid Metadata ******
+InvalidMetadata.Message:Ø§ÛÙ ÙØ±Ø§Ø¯Ø§Ø¯Ù ØšÙ ÚÙØ¯ Ù
+ÙØ¯Ø§Ø± Ø§Ø² ÙŸÛØŽ ØªØ¹ÛÛÙ ØŽØ¯Ù Ù
+Ø­Ø¯ÙØ¯ ØŽØ¯Ù Ø§Ø³Øª .ÙØ·ÙØ§ Ø§Ø² Ù
+ÛØ§Ù Ù
+ÙØ§Ø¯ÛØ± Ù
+ÙØ¬ÙØ¯ ÛÚ©Û Ø±Ø§ Ø§ÙØªØ®Ø§Øš Ú©ÙÛØ¯ . 
+InvalidMetadata.Title:ÙØ±Ø§Ø¯Ø§Ø¯Ù Û ÙØ§ Ù
+Ø¹ØªØšØ± 
+#***************************
+#
+#***** LegacyCollection
+LegacyCollection.Message:ØŽÙ
+Ø§ Ø¯Ø± Ø­Ø§Ù ØšØ§Ø± Ú¯Ø²Ø§Ø±Û Ø§Ø·ÙØ§Ø¹Ø§ØªÛ ÙØ³ØªÛØ¯ Ú©Ù ØªÙØ³Ø· Ø§ÛÙ ÙØ±Ù
+ Ø§ÙØ²Ø§Ø± ØªÙÙÛØ¯ ÙØŽØ¯Ù Ø§ÙØ¯ .ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§Û Ù
+ÙØ¬ÙØ¯ ØšÙ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û Ø¯ÙØšÙÛÙ ØšØ±ÙÙ ØšØ±Ø¯ Ø®ÙØ§ÙÙØ¯ ØŽØ¯ Ù ÙØ§ÛÙ ÙØ§Û ÙØ±Ø§Ø¯Ø§Ø¯Ù Û Ø§ØµÙÛ Ø¯Ø± ÙØ§ÛÙ import.bak Ø°Ø®ÛØ±Û Ù
+Û ØŽÙØ¯. 
+LegacyCollection.Title:Ø¯Ø± Ø­Ø§Ù ØšØ§Ø± Ú¯Ø²Ø§Ø±Û Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û Ø®Ø§Ø±Ø¬Û 
+#***************************
+#
+#***** LockFileDialog *****
+LockFileDialog.Cancel_Tooltip:ÙÚ¯Ø±ÙØªÙ Ú©ÙØªØ±Ù Ø§Ø² ÙØ§ÛÙ ÙÙÙ (Ù
+Ø¬Ù
+ÙØ¹Ù ØšØ§Ø² ÙØ®ÙØ§ÙØ¯ ØŽØ¯)  . 
+LockFileDialog.Date:ØªØ§Ø±ÛØ® 
+LockFileDialog.Error:Ø®Ø·Ø§ 
+LockFileDialog.Lockfile_Message_One:ÙØ¬ÙØ¯ ÛÚ© ÙØ§ÛÙ ÙÙÙ ÙØŽØ§ÙØ¯ÙÙØ¯Ù Û ØšØ§Ø² ØšÙØ¯Ù Ø§ÛÙ ÙØ§ÛÙ Ù
+Û ØšØ§ØŽØ¯ 
+LockFileDialog.Lockfile_Message_Two:Ø¢ÛØ§ Ù
+Ø§ÛÙÛØ¯ Ú©ÙØªØ±Ù Ø±Ø§ Ø§Ø² ÙØ§ÛÙ ÙÙÙ ØšÚ¯ÛØ±ÛØ¯ Ø 
+LockFileDialog.Machine:Ú©Ø¬Ø§ 
+LockFileDialog.Name:ÙØ§Ù
+ 
+LockFileDialog.OK_Tooltip:Ú¯Ø±ÙØªÙ Ú©ÙØªØ±Ù Ø§Ø² ÙØ§ÛÙ ÙÙÙ. 
+LockFileDialog.Title:ÙØ§ÛÙ ÙÙÙ ÙŸØ§Ú© ØŽØ¯ 
+LockFileDialog.User:ÚÙ Ú©Ø³Û 
+#********************
+#
+#*****MappingPrompt **********
+MappingPrompt.File:ÙŸÙØŽÙ 
+MappingPrompt.Map:Ø§ÛØ¬Ø§Ø¯ Ù
+ÛØ§ÙØšØ± 
+MappingPrompt.Name:ÙØ§Ù
+ 
+MappingPrompt.Title:ØªÙØžÛÙ
+ Ù
+ÛØ§ÙØšØ± ÙŸÙØŽÙ 
+MappingPrompt.Unmap:Ø­Ø°Ù Ù
+ÛØ§ÙØšØ± 
+#*******************
+#
+#***** Menu Options *****
+Menu.Collapse:ØšØ³ØªÙ ÙŸÙØŽÙ 
+Menu.Edit:ÙÛØ±Ø§ÛØŽ 
+Menu.Edit_Copy:Ú©ÙŸÛ (Ctrl+C) 
+Menu.Edit_Cut:ØšØ±ØŽ(Ctrl+x) 
+Menu.Edit_Paste:ÚØ³ØšØ§ÙØ¯Ù(Ctrl+v) 
+Menu.Expand:ØšØ§Ø²Ú©Ø±Ø¯Ù ÙŸÙØŽÙ 
+Menu.Explode_Metadata_Database:Ú¯Ø³ØªØ±ØŽ ÙŸØ§ÛÚ¯Ø§Ù Ø¯Ø§Ø¯Ù Û ÙØ±Ø§Ø¯Ø§Ø¯Ù 
+Menu.Replace_SrcDoc_With_HTML:ØªØ¹ÙÛØ¶ ØšØ§ ÙØ³Ø®Ù Û Html  
+Menu.File:ÙØ§ÛÙ 
+Menu.File_Associations:ÙØ§ØšØ³ØªÚ¯Û ÙØ§Û ÙØ§ÛÙ ÙØ§... 
+Menu.File_CDimage:Ø±Ø§ÛØª CD/DVD 
+Menu.File_Close:ØšØ³ØªÙ 
+Menu.File_Delete:Ø­Ø°Ù ... 
+Menu.File_Exit:Ø®Ø±ÙØ¬ 
+Menu.File_ExportAs:ØšØ±ÙÙ Ø±ÛØ²Û ... 
+Menu.File_New:Ø¬Ø¯ÛØ¯ ... 
+Menu.File_Open:Ú¯ØŽÙØ¯Ù ... 
+Menu.File_Options:ØªÙØžÛÙ
+Ø§Øª ... 
+Menu.File_Save:Ø°Ø®ÛØ±Ù 
+Menu.Help:Ø±Ø§ÙÙÙ
+Ø§ 
+Menu.Help_About:Ø¯Ø±ØšØ§Ø±Ù Û ... 
+Menu.Metadata_View:ÙØ±Ø§ Ø¯Ø§Ø¯Ù ÙØ§Û Ø§Ø®ØªØµØ§Øµ Ø¯Ø§Ø¯Ù ØŽØ¯Ù ØšØ±Ø§Û {0}  . 
+Menu.Open_Externally:ØšØ§Ø² Ú©Ø±Ø¯Ù Ø¯Ø± ÙØ±Ù
+ Ø§ÙØ²Ø§Ø± Ø®Ø§Ø±Ø¬Û . 
+#********************
+#
+#***** MetaAudit *****
+MetaAudit.Close:ØšØ³ØªÙ 
+MetaAudit.Close_Tooltip:ØšØ³ØªÙ Ø§ÛÙ ÙŸÙØ¬Ø±Ù 
+MetaAudit.Title:ØªÙ
+Ø§Ù
+ ÙØ±Ø§Ø¯Ø§Ø¯ÙØ§ 
+#*********************
+#
+#***** Metadata *****
+Metadata.Element:Ø¹ÙØµØ± 
+Metadata.Value:Ù
+ÙØ¯Ø§Ø± 
+MetadataSet.Files:ÙØ§ÛÙ ÙØ§Û ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û 
+#**********************************
+#
+#***** MetadataSetDialog**********
+MetadataSetDialog.Title:Ù
+Ø¯ÛØ±ÛØª Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§ 
+MetadataSetDialog.Add_Title:Ø§ÙØ²ÙØ¯Ù 
+MetadataSetDialog.Current_Sets:ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§Û ØªØ®ØµÛØµ Ø¯Ø§Ø¯Ù ØŽØ¯Ù 
+MetadataSetDialog.Available_Sets:ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§Û Ù
+ÙØ¬ÙØ¯ 
+MetadataSetDialog.Add:Ø§ÙØ²ÙØ¯Ù ... 
+MetadataSetDialog.Add_Tooltip:Ø§ÙØ²ÙØ¯Ù Ø¯Ø³ØªÙ ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û ØšÙ Ù
+Ø¬Ù
+ÙØ¹Ù 
+MetadataSetDialog.New_Set:Ø¬Ø¯ÛØ¯ âŠ 
+MetadataSetDialog.New_Set_Tooltip:Ø§ÛØ¬Ø§Ø¯ ÛÚ© Ø¯Ø³ØªÙ ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û Ø¬Ø¯ÛØ¯ 
+MetadataSetDialog.Add_Set:Ø§ÙØ²ÙØ¯Ù 
+MetadataSetDialog.Add_Set_Tooltip:Ø§ÙØ²ÙØ¯Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù ØšÙ Ù
+Ø¬Ù
+ÙØ¹Ù 
+MetadataSetDialog.Browse:Ù
+Ø±ÙØ± ÙÛØ³Øª  ... 
+MetadataSetDialog.Browse_Tooltip:Ø§ÙØ²ÙØ¯Ù ÛÚ© Ø¯Ø³ØªÙ Û Ø¬Ø¯ÛØ¯ ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û ØšÙ Ù
+Ø¬Ù
+ÙØ¹Ù 
+MetadataSetDialog.Edit:ÙÛØ±Ø§ÛØŽ ... 
+MetadataSetDialog.Edit_Tooltip:ÙÛØ±Ø§ÛØŽ Ø¯Ø³ØªÙ ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+MetadataSetDialog.Remove:Ø­Ø°Ù 
+MetadataSetDialog.Remove_Tooltip:Ø­Ø°Ù Ø¯Ø³ØªÙ ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø§Ø² Ù
+Ø¬Ù
+ÙØ¹Ù 
+MetadataSetDialog.Elements:Ø¹ÙØ§ØµØ± Ù
+Ø¬Ù
+ÙØ¹Ù Û  ÙØ±Ø§Ø¯Ø§Ø¯Ù 
+
+#****************************************
+#
+#***** MetadataSetNamespaceClash warning***
+MetadataSetNamespaceClash.Title:ØªØµØ§Ø¯Ù
+ ÙØ¶Ø§Û ÙØ§Ù
+ Ù
+Ø¬Ù
+ÙØ¹Ù Û ÙØ±Ø§Ø¯Ø§Ø¯Ù 
+MetadataSetNamespaceClash.Message:ÙØ¶Ø§Û ÙØ§Ù
+ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û Ú©Ù ØŽÙ
+Ø§ ØšØ±Ø§Û Ø§ÙØ²ÙØ¯Ù Ø§ÙØªØ®Ø§Øš Ú©Ø±Ø¯Ù Ø§ÛØ¯ ({0}) ØšØ§ ÙØ§Ù
+ ÛÚ©Û Ø§Ø² Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û Ù
+ÙØ¬ÙØ¯ Ø¯Ø± Ù
+Ø¬Ù
+ÙØ¹Ù Û ({1}) ØšØ±Ø§ØšØ±Û Ù
+Û Ú©ÙØ¯ . ØšØ§ Ø§ÙØ²ÙØ¯Ù ØŽØ¯Ù Ø¯Ø³ØªÙ ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û Ø¬Ø¯ÛØ¯ Ú©ÙŸÛ ÙØ¯ÛÙ
+Û Ø¢Ù Ø­Ø°Ù Ù
+Û ØŽÙØ¯ Ù ÙØ³Ø®Ù Û Ø¬Ø¯ÛØ¯ Ø¬Ø§ÛÚ¯Ø²ÛÙ Ø¢Ù Ø®ÙØ§ÙØ¯ ØŽØ¯ .ÙØ± Ù
+ÙØ¯Ø§Ø± ÙØ±Ø§Ø¯Ø§Ø¯Ù Û ØªØ®ØµÛØµ Ø¯Ø§Ø¯Ù ØŽØ¯Ù Ø¯Ø± ØµÙØ±Øª Ù
+ÙØ¬ÙØ¯ ØšÙØ¯Ù Ø¹ÙØµØ± Ø¢Ù Ø¯Ø± Ù
+Ø¬Ù
+ÙØ¹Ù Û Ø¬Ø¯ÛØ¯ ØšÙ Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù Ø§ÙØªÙØ§Ù ÙŸÛØ¯Ø§ Ø®ÙØ§ÙØ¯ Ú©Ø±Ø¯ . 
+#*********************************************
+#
+#******** MetadataImportMappingPrompt *********
+MIMP.Add:Ø§ÙØ²ÙØ¯Ù 
+MIMP.Add_Tooltip:Ø§ÙØ²ÙØ¯Ù Ø¹ÙØ§ØµØ± ÙØ±Ø§Ø¯Ø§Ø¯Ù ØšÙ Ø¯Ø³ØªÙ Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+MIMP.Ignore:ØµØ±Ù ÙØžØ± 
+MIMP.Ignore_Tooltip:ØµØ±Ù ÙØžØ± Ø§Ø² Ø§ÛÙ Ø¹ÙØµØ± ÙØ±Ø§Ø¯Ø§Ø¯Ù 
+MIMP.Instructions:Ø¹ÙØµØ± ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û {0}  ÙÙ
+Û ØªÙØ§ÙØ¯ ØšÙ Ø·ÙØ± Ø®ÙØ¯ Ú©Ø§Ø± ØšÙ Ù
+Ø¬Ù
+ÙØ¹Ù Ø§ÙØ²ÙØ¯Ù ØŽÙØ¯ \n ÙØ·ÙØ§ ÛÚ© Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û Ø§ÙØªØ®Ø§Øš Ú©ÙÛØ¯ Ù ØšÙ ÛÚ©Û Ø§Ø² Ø±ÙØŽ ÙØ§Û Ø²ÛØ± Ø¹Ù
+Ù Ú©ÙÛØ¯ : \n (1) ØšØ±Ø§Û Ø§ÙØ²ÙØ¯Ù ØšÙ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û  Ø±ÙÛ Ø¯Ú©Ù
+Ù Û "Ø§ÙØ²ÙØ¯Ù" Ú©ÙÛÚ© Ú©ÙÛØ¯(ØªÙÙØ§ Ø¯Ø± ØµÙØ±ØªÛ Ú©Ù {0}  Ø¯Ø± Ø¢Ù Ù
+Ø¬Ù
+ÙØ¹Ù Ù
+ÙØ¬ÙØ¯ ÙØ§ØŽØ¯) \n (2) ÛÚ© Ø¹ÙØµØ± Ø±Ø§ Ø§ÙØªØ®Ø§Øš Ú©Ø±Ø¯Ù Ù ØšØ± Ø±ÙÛ Ø¯Ú©Ù
+Ù Û "Ø§Ø¯ØºØ§Ù
+" Ú©ÙÛÚ© Ú©ÙÛØ¯ ØªØ§ Ø§ÛÙ ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø¯Ø± Ø§ÛÙ Ø¹ÙØµØ± Ø±ÛØ®ØªÙ ØŽÙØ¯ .\n (3) Ø§ÛÙ Ø¹ÙØµØ± ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û Ø±Ø§ ÙØ§Ø¯ÛØ¯Ù ØšÚ¯ÛØ±ÛØ¯ . 
+MIMP.Merge:Ø§Ø¯ØºØ§Ù
+ 
+MIMP.Merge_Tooltip:Ø¹ÙØµØ± ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø±Ø§ ØšÙ Ø¹ÙØµØ± ÙØ±Ø§Ø¯Ø§Ø¯Ù Û Ù
+ØŽØ®Øµ ØŽØ¯Ù ÙÚ¯Ø§ØŽØª Ù
+Û Ú©ÙØ¯ 
+MIMP.Source_Element:Ø¹ÙØµØ± ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û Ù
+ÙØšØ¹ :  
+MIMP.Target_Element:Ø¹ÙØµØ± ÙØ±Ø§ Ø¯Ø§Ø¯Ù Ø§Û Ù
+ØšØ¯Ø¹ : 
+MIMP.Target_Set:Ø¯Ø³ØªÙ Û ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û Ù
+ØšØ¯Ø¹ : 
+MIMP.Title:ÙÛØ§Ø² ØšÙ Ø¹Ù
+ÙÛØ§Øª Ø§Ø¯ØºØ§Ù
+ Ø¯Ø§Ø±Ø¯ 
+#*****************************
+#
+#***** Mirroring *****
+Mirroring.ClearCache:ÙŸØ§Ú© Ú©Ø±Ø¯Ù Cache 
+Mirroring.ClearCache_Tooltip:Ø­Ø°Ù ØªÙ
+Ø§Ù
+ ÙØ§ÛÙ ÙØ§Û Ø¯Ø§ÙÙÙØ¯ 
+Mirroring.Download:Ø¯Ø§ÙÙÙØ¯ 
+Mirroring.Download_Tooltip:ØŽØ±ÙØ¹ ÙØ¹Ø§ÙÛØª Ø¯Ø§ÙÙÙØ¯ Ø¬Ø¯ÛØ¯ 
+Mirroring.DownloadJob.Close:ØšØ³ØªÙ 
+Mirroring.DownloadJob.Close_Tooltip:Ø­Ø°Ù Ø§ÛÙ ÙØ¹Ø§ÙÛØª Ø§Ø² ÙÛØ³Øª , ÙØºÙ Ø¢Ù Ø¯Ø± ØµÙØ±ØªÛ Ú©Ù Ø¯Ø± Ø­Ø§Ù Ø§Ø¬Ø±Ø§ ØšØ§ØŽØ¯ 
+Mirroring.DownloadJob.Downloading:Ø¯Ø± Ø­Ø§Ù Ø¯Ø§ÙÙÙØ¯ {0} 
+Mirroring.DownloadJob.Download_Complete:Ø¯Ø§ÙÙÙØ¯ Ú©Ø§Ù
+Ù ØŽØ¯ 
+Mirroring.DownloadJob.Download_Stopped:Ø¯Ø§ÙÙÙØ¯ Ù
+ØªÙÙÙ ØŽØ¯Ù 
+Mirroring.DownloadJob.Download_Progress:Ø¹Ù
+ÙÛØ§Øª Ø¯Ø§ÙÙÙØ¯ Ø¯Ø± Ø¬Ø±ÛØ§Ù Ø§Ø³Øª 
+Mirroring.DownloadJob.Log:Ù
+ØŽØ§ÙØ¯Ù Û Log 
+Mirroring.DownloadJob.Log_Tooltip:Ù
+ØŽØ§ÙØ¯Ù Û Ø¬Ø²Ø¹ÛØ§Øª Ø¯Ø± Ù
+Ø±Ø¯ Ø§ÛÙ Ø¯Ø§ÙÙÙØ¯ 
+Mirroring.DownloadJob.Log_Title:Log Ø¯Ø§ÙÙÙØ¯ 
+Mirroring.DownloadJob.Pause:ØªÙÙÙ 
+Mirroring.DownloadJob.Pause_Tooltip:ØªÙÙÙ Ø§ÛÙ Ø¯Ø§ÙÙÙØ¯ ( ÙØ§ØšÙÛØª Ø§Ø¯Ø§Ù
+Ù Ø¯Ø§Ø±Ø¯ ) 
+Mirroring.DownloadJob.Resume:Ø§Ø¯Ø§Ù
+Ù 
+Mirroring.DownloadJob.Resume_Tooltip:Ø§Ø¯Ø§Ù
+Ù Û Ø§ÛÙ Ø¯Ø§ÙÙÙØ¯ 
+Mirroring.DownloadJob.Status:{0}  Ø§Ø² {1} ÙØ§ÛÙ Ø¯Ø§ÙÙÙØ¯ ØŽØ¯ÙØ¯ ({2}  Ø§Ø®Ø·Ø§Ø± , {3}  Ø®Ø·Ø§ ) 
+Mirroring.DownloadJob.Waiting:Ø¯Ø± Ø§ÙØªØžØ§Ø± ØŽØ±ÙØ¹ 
+Mirroring.DownloadJob.Waiting_User:Ø¯Ø± Ø§ÙØªØžØ§Ø± Ú©Ø§Ø±ØšØ± 
+Mirroring.Invalid_URL:ÙÛÙÚ© ÙØ§Ø±Ø¯ ØŽØ¯Ù ØµØ­ÛØ­ ÙÙ
+Û ØšØ§ØŽØ¯ . ÙØ·ÙØ§ ØªØµØ­ÛØ­ Ú©ÙÛØ¯ . 
+Mirroring.Invalid_URL_Title:ÙÛÙÚ© ÙØ§ Ù
+Ø¹ØªØšØ± . 
+Mirroring.Preferences:ØªÙØžÛÙ
+Ø§Øª... 
+Mirroring.Preferences_Tooltip:ÙØ¹Ø§Ù Ø³Ø§Ø²Û Proxy  ÙÛØ§ ÙÛØ±Ø§ÛØŽ ØªÙØžÛÙ
+Ø§Øª Ø¢Ù . 
+#*********************
+#
+#***** Missing EXEC *****
+MissingEXEC.Message:Ø§Ø®Ø·Ø§Ø± ! Ø¯Ø± ØµÙØ±Øª Ø¹Ø¯Ù
+ Ù
+ØŽØ®Øµ Ú©Ø±Ø¯Ù Ø¢Ø¯Ø±Ø³ Ø³Ø±ÙØ± Ú©ØªØ§Øš Ø®Ø§ÙÙ , ØŽÙ
+Ø§ ÙØ§Ø¯Ø± ØšÙ Ù
+ØŽØ§ÙØ¯Ù Û Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û Ø®ÙØ¯ ÙØ®ÙØ§ÙÛØ¯ ØšÙØ¯ . ØšØ±Ø§Û Ø§ÙØ¬Ø§Ù
+ Ø§ÛÙ Ú©Ø§Ø± Ù
+Û ØªÙØ§ÙÛØ¯ ÙÙ
+ Ø§Ú©ÙÙÙ Ø¯Ø± Ú©Ø§Ø¯Ø± ÙŸØ§ÛÛÙ Ø¢Ø¯Ø±Ø³ Ø±Ø§ ÙØ§Ø±Ø¯ Ú©ÙÛØ¯ Ù ÛØ§  Ø¯Ø± Ø¢ÛÙØ¯Ù ØšÙ Ù
+ÙÙÛ ØªÙØžÛÙ
+Ø§Øª Ù Ø§ÙØªØ®Ø§Øš ÙÙØ§Ø± Ø§ØªØµØ§ÙØ§Øª Ù
+Ø±Ø§Ø¬Ø¹Ù Ú©ÙÛØ¯ . ØšÙ ÛØ§Ø¯ Ø¯Ø§ØŽØªÙ ØšØ§ØŽØ¯ Ú©Ù ÛÚ© Url  Ù
+Ø¹ØªØšØ± ØšØ§ÛØ¯ ØšØ§ Http://  ØŽØ±ÙØ¹ ØŽÙØ¯ . Ù ØšØ§ ÛÚ© ÙØ§Ù
+ Ø§Ø¬Ø±Ø§ÛÛ ÙŸØ§ÛØ§Ù ÛØ§ØšØ¯ ( "Gsdl" ØšØ±Ø§Û Ø³Ø±ÙØ± Ø¯Ø§Ø®ÙÛ GreenStone  , "library" ØšØ±Ø§Û Ø³Ø±ÙØ± Ø§ÛÙØªØ±ÙØªÛ ) . 
+MissingEXEC.Title:Ø¢Ø¯Ø±Ø³ Ú©ØªØ§Øš Ø®Ø§ÙÙ Ù
+ÙØ¬ÙØ¯ ÙÙ
+Û ØšØ§ØŽØ¯ 
+#***** Missing EXEC_GS3 *****
+MissingEXEC_GS3.Message:Ø§Ø®Ø·Ø§Ø± ! ØšØ±Ø§Û Ù
+ØŽØ§ÙØ¯Ù Û Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û Ø®ÙØ¯ ØšØ§ÛØ¯ Ø¢Ø¯Ø±Ø³ ØšÙ ÙØ¶Ø§Û GreenStone  Ø¯Ø± ÛÚ© Ø³Ø±ÙØ± Tomcat  Ø¯Ø± Ø­Ø§Ù Ø§Ø¬Ø±Ø§Û  Ù
+Ø­ÙÛ Ø±Ø§ ÙØ§Ø±Ø¯ Ú©ÙÛØ¯ .ØŽÙ
+Ø§ Ù
+Û ØªÙØ§ÙÛØ¯ Ø§ÛÙ Ú©Ø§Ø± Ø±Ø§ ÙÙ
+ Ø§Ú©ÙÙÙ ØšØ§ ÙØ§Ø±Ø¯ Ú©Ø±Ø¯Ù Ø¯Ø± Ú©Ø§Ø¯Ø± Ø²ÛØ± ÛØ§ ØšÙØ³ÛÙÙ Û Ù
+Ø±Ø§Ø¬Ø¹Ù ØšÙ Ù
+ÙÙÛ ØªÙØžÛÙ
+Ø§Øª Ù Ø§ÙØªØ®Ø§Øš ÙÙØ§Ø± Ø§ØªØµØ§ÙØ§Øª Ø§ÙØ¬Ø§Ù
+ Ø¯ÙÛØ¯ . ØšÙ ÛØ§Ø¯ Ø¯Ø§ØŽØªÙ ØšØ§ØŽÛØ¯ Ú©Ù ÛÚ© Url  Ù
+Ø¹ØªØšØ± ØšÙ ØµÙØ±Øª Ø±ÙØšØ±Ù Ù
+Û ØšØ§ØŽØ¯ http://localhost:8080/greenstone3 
+MissingEXEC_GS3.Title:Ø¢Ø¯Ø±Ø³ GreenStone 3  Ù
+ÙØ¬ÙØ¯ ÙÙ
+Û ØšØ§ØŽØ¯ 
+#***** Missing GLIServer *****
+MissingGLIServer.Message:Ø§Ø®Ø·Ø§Ø± ! ØšØ±Ø§Û Ù
+ØŽØ§ÙØ¯Ù Û Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û Ø®ÙØ¯ ØšØ§ÛØ¯ Ø¢Ø¯Ø±Ø³ ØšÙ "gliserver" Ø±Ø§ Ù
+ØŽØ®Ø³ Ú©ÙÛØ¯ .ØŽÙ
+Ø§ Ù
+Û ØªÙØ§ÙÛØ¯ Ø§ÛÙ Ú©Ø§Ø± Ø±Ø§ ÙÙ
+ Ø§Ú©ÙÙÙ ØšØ§ ÙØ§Ø±Ø¯ Ú©Ø±Ø¯Ù Ø¯Ø± Ú©Ø§Ø¯Ø± Ø²ÛØ± ÛØ§ ØšÙØ³ÛÙÙ Û Ù
+Ø±Ø§Ø¬Ø¹Ù ØšÙ Ù
+ÙÙÛ ØªÙØžÛÙ
+Ø§Øª Ù Ø§ÙØªØ®Ø§Øš ÙÙØ§Ø± Ø§ØªØµØ§ÙØ§Øª Ø§ÙØ¬Ø§Ù
+ Ø¯ÙÛØ¯ . ØšÙ ÛØ§Ø¯ Ø¯Ø§ØŽØªÙ ØšØ§ØŽÛØ¯ Ú©Ù ÛÚ© Url  Ù
+Ø¹ØªØšØ± ØšØ§ Http://  ØŽØ±ÙØ¹ Ù ØšÙ "gliserver"  Ø®ØªÙ
+ Ù
+Û ØŽÙØ¯ . 
+MissingGLIServer.Title:GliServer  Ù
+ÙØ¬ÙØ¯ ÙÙ
+Û ØšØ§ØŽØ¯ 
+#***** Missing GSDL *****
+MissingGSDL.Message:Ø§Ø®Ø·Ø§Ø± ! ØŽÙ
+Ø§ Ø¯Ø± ØµÙØ±Øª ÙØ¯Ø§ØŽØªÙ ÛÚ© ÙØµØš Ø§Ø² GreenStone Digital Library  Ø¯Ø± Ø¢ÛÙØ¯Ù  ÙØ§Ø¯Ø± ØšÙ Ø§Ø³ØªÙØ§Ø¯Ù Ø§Ø² ØªÙ
+Ø§Ù
+ ÙØ§ØšÙÛØª ÙØ§Û Gli  ÙØ®ÙØ§ÙÛØ¯ ØšÙØ¯ .Ø§Ú¯Ø± Ú¯Ù ØšÙ ÙØžØ± Ù
+Û Ø±Ø³Ø¯ Ú©Ù Ø§ÛÙ ÙŸÛØºØ§Ù
+ Ø®Ø·Ø§ Ø±Ø§ Ø§ØŽØªØšØ§Ù Ø¯Ø±ÛØ§ÙØª Ú©Ø±Ø¯Ù Ø§ÛØ¯ ÙØ·ÙØ§ ÙØµØš Ø®ÙØ¯ Ù Ø¢Ø¯Ø±Ø³ ØšÙ ÙØ§ÛÙ batch   ÛØ§ Script  Ø±Ø§ ÚÚ© Ú©ÙÛØ¯ . 
+MissingGSDL.Title:Ø¢Ø¯Ø±Ø³ GreenStone  Ù
+ÙØ¬ÙØ¯ ÙÙ
+Û ØšØ§ØŽØ¯ 
+#***** Missing PERL *****
+MissingPERL.Message:Ø§Ø®Ø·Ø§Ø± ! ØŽÙ
+Ø§ ØšØ¯ÙÙ Ø¯Ø§ØŽØªÙ Perl ÙØ®ÙØ§ÙÛØ¯ ØªÙØ§ÙØ³Øª Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û Ø¬Ø¯ÛØ¯ Ø§ÛØ¬Ø§Ø¯ Ú©ÙÛØ¯ ÛØ§ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û Ù
+ÙØ¬ÙØ¯ Ø±Ø§ ØšØ³Ø§Ø²ÛØ¯ . Ø±Ø§ØšØ· Ú©Ø§Ø±ØšØ±Û Ú©ØªØ§Øš Ø®Ø§ÙÙ Ù
+ÙÙÙ ØšÙ ÛØ§ÙØªÙ Perl  ØšØ± Ø±ÙÛ Ø³ÛØ³ØªÙ
+ ØŽÙ
+Ø§ ÙØŽØ¯ . Ø§Ú¯Ø± Ú©Ù ØšÙ ÙØžØ± Ù
+Û Ø±Ø³Ø¯ ØŽÙ
+Ø§ Ø§ÛÙ ÙŸÛØºØ§Ù
+ Ø±Ø§ ØšÙ Ø§ØŽØªØšØ§Ù Ø¯Ø±ÛØ§ÙØª Ú©Ø±Ø¯Ù Ø§ÛØ¯ ÙØ·ÙØ§ ÙØµØš Ø®ÙØ¯ Ù Ø¢Ø¯Ø±Ø³ ÙØ§ ØšÙ ÙØ§ÛÙ ÙØ§Û Batch ÛØ§ Script Ø±Ø§ØšØ· Ú©Ø§Ø±ØšØ±Û Ø±Ø§ ÚÚ© Ú©ÙÛØ¯ . 
+MissingPERL.Title:Ø¢Ø¯Ø±Ø³ Perl  ÛØ§ÙØª ÙØŽØ¯ 
+#******* MissingImageMagick ********
+MissingImageMagick.Message:Ø§Ø®Ø·Ø§Ø± ! Ø±Ø§ØšØ· Ú©Ø§Ø±ØšØ±Û Ú©ØªØ§Øš Ø¯Ø§Ø±Ø§Ù Ù
+ÙÙÙ ØšÙ ÛØ§ÙØª ÛÚ© Ú©ÙŸÛ Ù
+ÙØ§Ø³Øš Ø§Ø² ImageMagick ÙØŽØ¯ . Ù ÙØªÛØ¬ØªØ§ ImagePlug  ÙØ¹Ø§Ù ÙØ®ÙØ§ÙØ¯ ØšÙØ¯ . Ø§Ú¯Ø± Ú©Ù ÙØµØ¯ Ø³Ø§Ø®Øª Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ Û Ø¹Ú©Ø³ Ø¯Ø§Ø±ÛØ¯ ÙØ·ÙØ§ ImageMagic  Ø±Ø§ ÙØµØš Ú©ÙÛØ¯ . 
+MissingImageMagick.Title:ImageMagic  Ù
+ÙØ¬ÙØ¯ ÙÙ
+Û ØšØ§ØŽØ¯ 
+#*****************************
+#
+#***** New Session *****
+NewCollectionPrompt.Base_Collection:Ø³Ø§Ø®Øª Ù
+Ø¬Ù
+ÙØ¹Ù ØšØ± ÙŸØ§ÛÙ Û : 
+NewCollectionPrompt.Base_Collection_Tooltip:Ø§ÙØªØ®Ø§Øš ÛÚ© Ù
+Ø¬Ù
+ÙØ¹Ù Û Ù
+ÙØ¬ÙØ¯ ØšÙ Ø¹ÙÙØ§Ù Ø±ÛØŽÙ Û Ø³Ø§Ø®Øª Ù
+Ø¬Ù
+ÙØ¹Ù Û Ø¬Ø¯ÛØ¯ . 
+NewCollectionPrompt.Collection_Description:ØªÙØµÛÙ Ù
+Ø¶Ù
+ÙÙ : 
+NewCollectionPrompt.Collection_Name:ÙŸÙØŽÙ Û Ù
+Ø¬Ù
+ÙØ¹Ù  : 
+NewCollectionPrompt.Collection_Scope_Personal:Ø§ÛÙ ÛÚ© Ù
+Ø¬Ù
+ÙØ¹Ù Û ØŽØ®ØµÛ Ø§Ø³Øª 
+NewCollectionPrompt.Collection_Scope_Personal_Tooltip:Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ØšÙ ÙÚ¯Ø§Ø±ØŽ ØªÙØ³Ø· ØšÙ ÙØ¬ÙØ¯ Ø¢ÙØ±ÙØ¯Ù Û Ø¢Ù Ù Ù
+Ø¬Ù
+ÙØ¹Ù Ú©Ø§Ø±ØšØ±Ø§Ù Ú¯Ø±ÙÙ all-collections-editor Ù
+Û ØšØ§ØŽØ¯ . 
+NewCollectionPrompt.Collection_Scope_Shared:Ø§ÛÙ ÛÚ© Ù
+Ø¬Ù
+ÙØ¹Ù Û ØŽØ®ØµÛ ÙÛØ³Øª 
+NewCollectionPrompt.Collection_Scope_Shared_Tooltip:Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ØšÙ ÙÚ¯Ø§Ø±ØŽ ØªÙØ³Ø· Ú©Ø§Ø±ØšØ±Ø§Ù Ú¯Ø±ÙÙ all-collections-editor Ù
+Û ØšØ§ØŽØ¯ 
+NewCollectionPrompt.Error:Ø®Ø·Ø§ Ø¯Ø± Ù
+Ø¬Ù
+ÙØ¹Ù 
+NewCollectionPrompt.Instructions:ØšØ±Ø§Û Ø§ÛØ¬Ø§Ø¯ Ù
+Ø¬Ù
+ÙØ¹Ù Û Ø¬Ø¯ÛØ¯ Ú©Ø§Ø¯Ø± ÙØ§Û Ø²ÛØ± Ø±Ø§ ÙŸØ± Ú©ÙÛØ¯ 
+NewCollectionPrompt.NewCollection:--Ù
+Ø¬Ù
+ÙØ¹Ù Û Ø¬Ø¯ÛØ¯-- 
+NewCollectionPrompt.Title:Ø§ÛØ¬Ø§Ø¯ ÛÚ© Ù
+Ø¬Ù
+ÙØ¹Ù Û Ø¬Ø¯ÛØ¯ 
+NewCollectionPrompt.Title_Clash:Ø¹ÙÙØ§ÙÛ Ú©Ù ØšØ±Ø§Û Ù
+Ø¬Ù
+ÙØ¹Ù Û Ø¬Ø¯ÛØ¯ Ø®ÙØ¯ Ø§ÙØªØ®Ø§Øš Ú©Ø± Ø¯Ù Ø§ÛØ¯ ÙÙ
+ Ø§Ú©ÙÙÙ Ù
+ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù Ù
+Ø¬Ù
+ÙØ¹Ù Ø§Û Ø¯ÛÚ¯Ø± Ø§Ø³Øª . 
+NewCollectionPrompt.Title_Error:Ú©Ø§Ø¯Ø± Ø¹ÙÙØ§Ù Ø±Ø§ ØªÚ©Ù
+ÛÙ Ú©ÙÛØ¯ . 
+#***** New Folder OrFilePrompt *****
+NewFolderOrFilePrompt.Default_File_Name:Ø³Ø§Ø®ØªÚ¯Û 
+NewFolderOrFilePrompt.Default_Folder_Name:ÙŸÙØŽÙ Û Ø¬Ø¯ÛØ¯ 
+NewFolderOrFilePrompt.Destination_Name:ÙŸÙØŽÙ Û Ù
+ÙØµØ¯ 
+NewFolderOrFilePrompt.File_Name:ÙØ§Ù
+ ÙØ§ÛÙ 
+NewFolderOrFilePrompt.File_Name_Tooltip:ÛÚ© ÙØ§Ù
+ ØšØ±Ø§Û ÙØ§ÛÙ Ø¬Ø¯ÛØ¯ ÙØ§Ø±Ø¯ Ú©ÙÛØ¯ 
+NewFolderOrFilePrompt.Folder_Name:ÙØ§Ù
+ ÙŸÙØŽÙ 
+NewFolderOrFilePrompt.Folder_Name_Tooltip:ÛÚ© ÙØ§Ù
+ Ø¬Ø¯ÛØ¯ ØšØ±Ø§Û ÙŸÙØŽÙ ÙØ§Ø±Ø¯ Ú©ÙÛØ¯ 
+NewFolderOrFilePrompt.Title_Folder:Ø§ÛØ¬Ø§Ø¯ ÛÚ© ÙŸÙØŽÙ Û Ø¬Ø¯ÛØ¯ 
+NewFolderOrFilePrompt.Title_File:ÛÚ© Ø³ÙØ¯ Ø³Ø§Ø®ØªÚ¯Û Ø¬Ø¯ÛØ¯ ØšØ³Ø§Ø²ÛØ¯ 
+#**********************
+#
+#******* OldWGET *******
+NoPluginExpectedToProcessFile.Message:ÙÛÚ Ú©Ø¯Ø§Ù
+ Ø§Ø² Ø§ÙØ²ÙÙÙ ÙØ§Û GreenStone  ÙØ§ØšÙÛØª ÙŸØ±Ø¯Ø§Ø²ØŽ ÙØ§ÛÙ " {0} " Ø±Ø§ ÙØ¯Ø§Ø±ÙØ¯ . ÙŸØ³ÙÙØ¯ ÙØ§ÛÙ Ø±Ø§ ÚÚ© Ú©ÙÛØ¯ .ÙŸØ³ Ø§Ø² Ø§Ø·Ù
+ÛÙØ§Ù Ø§Ø² ØµØ­Øª Ø¢Ù Ù
+Û ØªÙØ§ÙÛØ¯ Ø§Ø² Ø§ÙØ²ÙÙÙ Û UnknownPlug  ØšØ±Ø§Û ÙŸØ±Ø¯Ø§Ø²ØŽ Ø§ÛÙ ÙØ§ÛÙ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯ . 
+NoPluginExpectedToProcessFile.Title:Ø§ÛÙ ÙØ§ÛÙ ØªÙØ³Ø· ÙÛÚ Ø§ÙØ²ÙÙÙ Ø§Û  ÙØ§ØšÙ ÙŸØ±Ø¯Ø§Ø²ØŽ ÙÛØ³Øª . 
+#***********************
+#
+#***** OpenCollectionDialog *****
+OpenCollectionDialog.Available_Collections:Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û Ù
+ÙØ¬ÙØ¯ 
+OpenCollectionDialog.Description:ØªÙØµÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù 
+OpenCollectionDialog.Open:Ú¯ØŽÙØ¯Ù 
+OpenCollectionDialog.Open_Tooltip:ØšØ§Ø±Ú¯Ø²Ø±Ø§Û Ù
+Ø¬Ù
+ÙØ¹Ù Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø¯Ø± Ø±Ø§ØšØ· Ú©Ø§Ø±ØšØ±Û Ú©ØªØ§Øš Ø¯Ø§Ø±Û 
+OpenCollectionDialog.Title:Ú¯ØŽÙØ¯Ù Ù
+Ø¬Ù
+ÙØ¹Ù Û GreenStone 
+#**********************
+#
+#***** Options Pane inside CreatePane *****
+OptionsPane.Cancelled:#NAME? 
+OptionsPane.LogHistory:Ø«ØšØª ÙÙØ§ÛØ¹ 
+OptionsPane.Successful:- Ù
+ÙÙÙ 
+OptionsPane.Scheduled:#NAME? 
+OptionsPane.Unknown:-ÙØ§ Ù
+Ø¹ÙÙÙ
+ 
+OptionsPane.Unsuccessful:#NAME? 
+#*******************
+#
+#***** Preferences *****
+Preferences:ØªÙØžÛÙ
+Ø§Øª 
+Preferences.Connection:Ø§ØªØµØ§Ù 
+Preferences.Connection_Tooltip:ØªÙØžÛÙ
+ Url  Ú©ØªØ§Øš Ø®Ø§ÙÙ Ù Ø§ØªØµØ§Ù proxy Ø¯Ø± ØµÙØ±Øª ÙÛØ§Ø² 
+Preferences.Connection.GLIServer_URL:Ø¢Ø¯Ø±Ø³ gli  Ø³Ø±ÙØ± Greenstone :  
+Preferences.Connection.GLIServer_URL_Tooltip:Ø¢Ø¯Ø±Ø³ Ø§Ø³Ú©Ø±ÛÙŸØª CGI  Ø³Ø±ÙØ± Gli 
+Preferences.Connection.Library_Path:Ø¢Ø¯Ø±Ø³ Ú©ØªØ§Øš Ø®Ø§ÙÙ : 
+Preferences.Connection.Library_Path_GS3:Ø¢Ø¯Ø±Ø³ Ø§ÛÙØªØ±ÙØªÛ :  
+Preferences.Connection.Library_Path_Tooltip:Ø¢Ø¯Ø±Ø³ Ø³Ø±ÙØ± Ø§ÛÙØªØ±ÙØªÛ GreenStone 
+Preferences.Connection.Library_Path_Tooltip_GS3:Ø¢Ø¯Ø±Ø³ Ø§ÛÙØªØ±ÙØªÛ Ø³Ø±ÙØ± GreenStone 3 
+Preferences.Connection.Library_Path_Connection_Failure:Ø§ØªØµØ§Ù ÙØ§ Ù
+ÙÙÙ . Ø§Ø² Ø¯Ø± Ø­Ø§Ù Ø§Ø¬Ø±Ø§ ØšÙØ¯Ù Ø³Ø±ÙØ± GreenStone Ø¯Ø± {0} Ø§Ø·Ù
+ÛÙØ§Ù Ø­Ø§ØµÙ Ú©ÙÛØ¯ .  
+Preferences.Connection.ProgramCommand:Ø¯Ø³ØªÙØ± ÙŸÛØŽ ÙÙ
+Ø§ÛØŽ 
+Preferences.Connection.ProgramCommand_Tooltip:Ø¯Ø³ØªÙØ± Ø§Ø¬Ø±Ø§ÛÛ Ù
+ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù Û ÙØ±Ù
+ Ø§ÙØ²Ø§Ø± ØšØ±Ø§Û ÙŸÛØŽ ÙÙ
+Ø§ÛØŽ Ù
+Ø¬Ù
+ÙØ¹Ù , Ø§Ø² %1  ØšÙ Ø¹ÙÙØ§Ù Ø¢Ø¯Ø±Ø³ Ù
+Ø¬Ù
+ÙØ¹Ù Ø§Ø³ØªÙØ§Ø¯Ù Ù
+Û ØŽÙØ¯ 
+Preferences.Connection.Proxy_Host:Ù
+ÛØ²ØšØ§Ù ÙŸØ±Ú©Ø³Û  : 
+Preferences.Connection.Proxy_Host_Tooltip:Ø¢Ø¯Ø±Ø³ Ù
+Ø±ØšÙØ· ØšÙ Ø³Ø±ÙØ± ÙŸØ±Ú©Ø³Û 
+Preferences.Connection.Proxy_Port:ÙŸØ±Øª ÙŸØ±Ú©Ø³Û  : 
+Preferences.Connection.Proxy_Port_Tooltip:ØŽÙ
+Ø§Ø±Ù Û ÙŸÙØ±Øª Ø³Ø±ÙØ± ÙŸØ±Ú©Ø³Û 
+Preferences.Connection.Servlet:Ø³Ø±ÙÙØª : 
+Preferences.Connection.Servlet_Tooltip:Ø³Ø±ÙÙØª Ù
+ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù ØšØ±Ø§Û ÙÙ
+Ø§ÛØŽ Ø³Ø§ÛØª 
+Preferences.Connection.Servlet_Tooltip2:Ø³Ø±ÙÙØªÛ ØšØ±Ø§Û Ø§ÛÙ Ø³Ø§ÛØª Ø§Ø³ØªÙØ§Ø¯Ù ÙØŽØ¯Ù Ø§Ø³Øª , ØŽÙ
+Ø§ Ù
+Û ØªÙØ§ÙÛØ¯ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û Ø®ÙØ¯ Ø±Ø§ ØšØ³Ø§Ø²ÛØ¯ ÙÙÛ ÙØ§Ø¯Ø± ÛÙ Ù
+ØŽØ§ÙØ¯Ù Û Ø¢ÙÙØ§ ÙØ®ÙØ§ÙÛØ¯ ØšÙØ¯ 
+Preferences.Connection.Site:Ø³Ø§ÛØª  : 
+Preferences.Connection.Site_Tooltip:Ø³Ø§ÛØªÛ Ú©Ù Ù
+Û Ø®ÙØ§ÙÛØ¯ ØšØ§ Ø¢Ù Ú©Ø§Ø± Ú©ÙÛØ¯ 
+Preferences.Connection.Use_Proxy:Ø§Ø² Ø§ØªØµØ§Ù ÙŸØ±Ú©Ø³Û Ø§Ø³ØªÙØ§Ø¯Ù ØŽÙØ¯ Ø 
+Preferences.General:Ø¹Ù
+ÙÙ
+Û 
+Preferences.General_Tooltip:ØªÙØžÛÙ
+Ø§Øª Ø¹Ù
+ÙÙ
+Û 
+Preferences.General.Email:ÙŸØ³Øª Ø§ÙÚ©ØªØ±ÙÙÛÚ©Û Ú©Ø§Ø±ØšØ± : 
+Preferences.General.Email_Tooltip:ÙŸØ³Øª Ø§ÙÚ©ØªØ±ÙÙÛÚ©Û Ø§Û Ú©Ù ØšÙ Ø·ÙØ± Ø®ÙØ¯ Ú©Ø§Ø± ØšØ±Ø§Û ØªÙ
+Ø§Ù
+ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û Ø³Ø§Ø®ØªÙ ØŽØ¯Ù ØšØ§ Gli  Ø§Ø² Ø¢Ù Ø§Ø³ØªÙØ§Ø¯Ù Ù
+Û ØŽÙØ¯ 
+Preferences.General.Font:ÙÙØª : 
+Preferences.General.Font_Tooltip:ÙÙÙØª Ù
+ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù ØšØ±Ø§Û ÙØ§Ø³Ø· Ú©Ø§Ø±ØšØ±Û Gli 
+Preferences.General.Interface_Language:Ø²ØšØ§Ù ÙØ§Ø³Ø· Ú©Ø§Ø±ØšØ±Û : 
+Preferences.General.Interface_Language_Tooltip:Ø²ØšØ§Ù Ù
+ÙØ±Ø¯ ÙØžØ± Ø®ÙØ¯ Ø±Ø§ Ø§ÙØªØ®Ø§Øš Ú©ÙÛØ¯ 
+Preferences.General.Restart_Required:ØšØ±Ø§Û ØšØ§Ø±Ú¯Ø²Ø§Ø±Û Ú©Ø§Ù
+Ù Ø²ØšØ§Ù , ÙØ§Ø³Ø· Ú©Ø§Ø±ØšØ±Û Gli ØšØ§ÛØ¯ Ø¯ÙØšØ§Ø±Ù Ø±Ø§Ù Ø§ÙØ¯Ø§Ø²Û ØŽÙØ¯ . 
+Preferences.General.Manual_Restart_Required:ØšØ±Ø§Û Ø§Ø¹Ù
+Ø§Ù ØªØºÛÛØ±Ø§Øª Ø¯Ø± ØªÙØžÛÙ
+Ø§Øª Ø§ØªØµØ§Ù ÙØ·ÙØ§ ÙØ±Ù
+ Ø§ÙØ²Ø§Ø± Ú©ØªØ§ØšØ¯Ø§Ø±Ø§Ù Ø±Ø§ ØšØ§Ø²Ú¯ØŽØ§ÛÛ Ú©ÙÛØ¯ . 
+Preferences.General.Show_File_Size:ÙÙ
+Ø§ÛØŽ Ø­Ø¬Ù
+ ÙØ§ÛÙ 
+Preferences.General.Show_File_Size_Tooltip:ÙÙ
+Ø§ÛØŽ Ø­Ø¬Ù
+ ÙØ§ÛÙ ÙØ§ Ø¯Ø± Ú©ÙØ§Ø± Ø¹ÙØ§ØµØ± Ø¯Ø± Ø¯Ø±Ø®Øª Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ Ù Ù
+Ø­ÛØ· Ú©Ø§Ø± 
+Preferences.General.View_Extracted_Metadata:ÙÙ
+Ø§ÛØŽ ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§Û Ø§Ø³ØªØ®Ø±Ø§Ø¬ ØŽØ¯Ù 
+Preferences.General.View_Extracted_Metadata_Tooltip:ÙÙ
+Ø§ÛØŽ ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§Û Ø§Ø³ØªØ®Ø±Ø§Ø¬ ØŽØ¯Ù ØšÙØ³ÛÙÙ Û Ø§ÙØ²ÙÙÙ ÙØ§ Ø¯Ø± ÙÛØ³Øª ÙØ±Ø§Ø¯Ø§Ø¯Ù Û GreenStone 
+Preferences.Mode:ÙØ¶Ø¹ÛØª 
+Preferences.Mode_Tooltip:ØšØ± Ø±ÙÛ ÛÚ© Ù
+ÙØ¬ÙØ¯Û ØšØ±Ø§Û ØªØ¹ÛÛÙ Ø³Ø·Ø­ Ù
+ÙØ§Ø³Øš ÙØ¹Ø§ÙÛØª ÙØ§Û ÙØ§ØšÙ Ø§ÙØ¬Ø§Ù
+ Ú©ÙÛÚ© Ú©ÙÛØ¯ . 
+Preferences.Mode.Assistant:Ø¯Ø³ØªÛØ§Ø± Ú©ØªØ§Øš Ø®Ø§ÙÙ 
+Preferences.Mode.Assistant_Description:Ø§Ø² Ø§ÛÙ ØªÙØžÛÙ
+ ØšØ±Ø§Û Ø¯Ø³ØªØ±Ø³Û ØšÙ ÙØ§ØšÙÛØª ÙØ§Û ÙŸØ§ÛÙ Û  ÙØ§Ø³Ø· Ú©Ø§Ø±ØšØ±Û  Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯ .Ø§ÙØ²ÙØ¯Ù Ø³ÙØ¯ Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù ØšÙ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ , Ø§ÛØ¬Ø§Ø¯ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ ØšØ± ÙŸØ§ÛÙ Û Ø³Ø§Ø®ØªØ§Ø± Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û Ø¯ÛÚ¯Ø± Ù Ø³Ø§Ø®Øª Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§. 
+Preferences.Mode.Librarian:Ú©ØªØ§ØšØ¯Ø§Ø± 
+Preferences.Mode.Librarian_Description:Ø§ÛÙ ØªÙØžÛÙ
+ ÙØ§ØšÙÛØª Ø§Ø³ØªÙØ§Ø¯Ù Û ÙØ±Ù
+Ø§Ù Ø§Ø² Ø±Ø§ØšØ· Ú©Ø§Ø±ØšØ±Û Ø±Ø§ ÙØ±Ø§ÙÙ
+ Ù
+Û Ú©ÙØ¯ , Ø§ÛØ¬Ø§Ø¯ Ù Ø·Ø±Ø§Ø­Û Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û Ø¬Ø¯ÛØ¯ , Ø§ÙØ²ÙØ¯Ù Ø³ÙØ¯ Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù ØšÙ Ù
+Ø¬Ù
+ÙØ¹Ù , Ø·Ø±Ø§Ø­Û Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û Ø¬Ø¯ÛØ¯ Ù Ø³Ø§Ø®Øª Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û Ø¬Ø¯ÛØ¯ . 
+Preferences.Mode.Systems:Ù
+ØªØ®ØµØµ Ø³ÛØ³ØªÙ
+ ÙØ§Û  Ú©ØªØ§Øš Ø®Ø§ÙÙ 
+Preferences.Mode.Systems_Description:Ø§ÛÙ ØªÙØžÛÙ
+ ÙØ§ØšÙÛØª ÙØ§Û Ú©Ø§Ù
+Ù ÙØ§Ø³Ø· Ú©Ø§Ø±ØšØ±Û Ø±Ø§ ÙØ¹Ø§Ù Ù
+Û Ú©ÙØ¯ . 
+Preferences.Mode.Expert:Ù
+ØªØ®ØµØµ 
+Preferences.Mode.Expert_Description:Ø§ÛÙ ØªÙØžÛÙ
+ ÙØ§ØšÙÛØª Ø§Ø³ØªÙØ§Ø¯Ù Û ØªØ®ØµØµÛ Ø§Ø² ÙØ§Ø³Ø· Ú©Ø§Ø± ØšØ±Û Ø±Ø§ ÙØ¹Ø§Ù Ù
+Û Ú©ÙØ¯ . Ù ØšÙ Ú©Ø§Ø± ØšØ±Ø§ÙÛ ÙŸÛØŽÙÙØ§Ø¯ Ù
+Û ØŽÙØ¯ Ú©Ù Ø¯Ø§Ø±Ø§Û ØªØ¬Ø±ØšÙ Ø¯Ø± GreenStone  ÙØ³ØªÙØ¯ . ØªÙ
+Ø§Ù
+ ÙØ§ØšÙÛØª ÙØ§Û ÙØ§Ø³Ø· Ú©Ø§Ø±ØšØ±Û ÙØ¹Ø§Ù ØŽØ¯Ù Ø§Ø³Øª . 
+Preferences.Warnings:Ø§Ø®Ø·Ø§Ø±ÙØ§ 
+Preferences.Warnings_Tooltip:ÙØ¹Ø§Ù Ù ØºÛØ± ÙØ¹Ø§Ù Ú©Ø±Ø¯Ù Ù
+Ø­Ø§ÙØ±Ù ÙØ§Û Ø§Ø®Ø·Ø§Ø±Û 
+Preferences.Workflow:Ù
+Ø­ÛØ· Ú©Ø§Ø± 
+Preferences.Workflow_Tooltip:ØªÙØžÛÙ
+ Ù
+Ø­ÛØ· Ú©Ø§Ø± ÙØ§Ø³Ø· Ú©Ø§Ø±ØšØ±Û : ØªÙØžÛÙ
+ ÙÙ
+Ø§Û ÙØ¹Ø§Ù 
+Preferences.Workflow.Predefined.Label:Ù
+Ø­ÛØ· Ú©Ø§Ø±ÙØ§Û Ø§Ø² ÙŸÛØŽ ØªØ¹Ø±ÛÙ ØŽØ¯Ù 
+Preferences.Workflow.Title:ØšØ±Ø§Û ÙØ¹Ø§Ù Ø³Ø§Ø²Û ÙØ± ÙÙ
+Ø§ Ø¬Ø¹ØšÙ Ù
+Ø±ØšÙØ· ØšÙ Ø¢Ù Ø±Ø§ Ø¹ÙØ§Ù
+Øª ØšÚ¯Ø°Ø§Ø±ÛØ¯ . 
+#**********************
+#
+#**** PreviewCommandDialog *******
+PreviewCommandDialog.Instructions:Ø¯Ø³ØªÙØ± Ù
+ÙØ±Ø¯ ÙÛØ§Ø² ØšØ§Ø± Ú¯Ø²Ø§Ø±Û ÙØ±Ù
+ Ø§ÙØ²Ø§Ø± ØšØ±Ø§Û Ù
+ØŽØ§ÙØ¯Ù Û ÙŸÛØŽ ÙÙ
+Ø§ÛØŽ Ù
+Ø¬Ù
+ÙØ¹Ù Ø±Ø§ ÙØ§Ø±Ø¯ Ú©ÙÛØ¯ . ØšØ±Ø§Û Ø¢Ø¯Ø±Ø³ Ù
+Ø¬Ù
+ÙØ¹Ù Ø§Ø² %1  Ø§Ø³ØªÙØ§Ø¯Ù Ù
+Û ØŽÙØ¯. 
+PreviewCommandDialog.Title:Ø¯Ø³ØªÙØ± ÙŸÛØŽ ÙÙ
+Ø§ÛØŽ 
+
+ShowPreviousCollection.Title:ÙŸÛØŽ ÙÙ
+Ø§ÛØŽ Ù
+Ø¬Ù
+ÙØ¹Ù Û ÙØšÙØ§ Ø³Ø§Ø®ØªÙ ØŽØ¯Ù 
+ShowPreviousCollection.Message:ÛÚ© Ø®Ø·Ø§ Ø±Ø® Ø¯Ø§Ø¯Ù Ù Ø³Ø§Ø®Øª Ù
+Ø¬Ù
+ÙØ¹Ù Ø§ÙØ¬Ø§Ù
+ ÙØŽØ¯Ù Ø§Ø³Øª . ØŽÙ
+Ø§ Ø¯Ø±Ø­Ø§Ù Ù
+ØŽØ§ÙØ¯Ù Û Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§Û Ø³Ø§Ø®Øª ÙØšÙ ÙØ³ØªÛØ¯ . 
+#**********************
+#
+#***** Remote Greenstone Server *****
+RemoteGreenstoneServer.Authentication_Message:ÙØ·ÙØ§ Ø±Ù
+Ø² Ø¹ØšÙØ± Ù ÙØ§Ù
+ Ú©Ø§Ø±ØšØ±Û Ø®ÙØ¯ Ø±Ø§ ÙØ§Ø±Ø¯ Ú©ÙÛØ¯ : 
+RemoteGreenstoneServer.Authentication_Message_gs3:ÙØ·ÙØ§ Ø±Ù
+Ø² Ø¹ØšÙØ± Ù ÙØ§Ù
+ Ú©Ø§Ø±ØšØ±Û Ø®ÙØ¯ Ø±Ø§ Ø¯Ø± Ø³Ø§ÛØª ÙØ§Ø±Ø¯ Ú©ÙÛØ¯ : 
+RemoteGreenstoneServer.Error:Ø¯Ø± Ø²Ù
+Ø§Ù Ø§ÙØ¬Ø§Ù
+ Ø¹Ù
+ÙÛØ§Øª : {0-Error message} \n  \n ØšØ± Ø±ÙÛ Ø³Ø±ÙØ± GreenStone  ÛÚ© Ø®Ø·Ø§ Ø±Ø® Ø¯Ø§Ø¯Ù Ø§Ø³Øª . 
+RemoteGreenstoneServer.Error_Title:Ø®Ø·Ø§Û Ø³Ø±ÙØ± Ú¯Ø±ÛÙ Ø³ØªÙÙ 
+RemoteGreenstoneServer.Progress:Ø±ÙÛÙ Û Ú©Ø§Ø± Ø§Ø² Ø±Ø§Ù Ø¯ÙØ± Ø³Ø±ÙØ± Ú¯Ø±ÛÙ Ø³ØªÙÙ : 
+RemoteGreenstoneServer.Steal_Lock_Message:Ú©ÙØªØ±Ù Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù Ø¯Ø± Ø­Ø§Ù Ø­Ø§ØžØ± Ø¯Ø± Ø¯Ø³Øª Ú©Ø§Ø±ØšØ± ÙÙÙ Ù
+Û ØšØ§ØŽØ¯ : {0-User name}  \n Ø¢ÛØ§ Ù
+Ø§ÛÙÛØ¯ Ú©ÙØªØ±Ù Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù Ø±Ø§ Ø¯Ø± Ø¯Ø³Øª ØšÚ¯ÛØ±ÛØ¯ Ø ( ÙŸÛØŽÙÙØ§Ø¯ ÙÙ
+Û ØŽÙØ¯ , Ú©Ø§Ø±ÙØ§ Ù
+Ù
+Ú©Ù Ø§Ø³Øª Ø§Ø² ØšÛÙ ØšØ±ÙÙØ¯ ) 
+#**********************
+#
+#***** Rename Prompt *****
+RenamePrompt.Name:ÙØ§Ù
+ : 
+RenamePrompt.Title:ØªØºÛÛØ± ÙØ§Ù
+ ÙØ§ÛÙ/ÙŸÙØŽÙ : 
+#**********************
+#
+#***** Replace Prompt *****
+ReplacePrompt.Title:ØªØ¹ÙÛØ¶ ÙØ§ÛÙ ØšØ§ âŠ 
+#**********************
+#
+#***** Save Collection Box *****
+SaveCollectionBox.File_Name:ÙØ§Ù
+ ÙØ§ÛÙ : 
+SaveCollectionBox.Files_Of_Type:ÙØ§ÛÙ ÙØ§ Ø§Ø² ÙÙØ¹ : 
+SaveCollectionBox.Look_In:Ø¯Ø± Ø§ÛÙØ¬Ø§ : 
+#**********************
+#
+#***** Save Progress Box *******
+SaveProgressDialog.Title:Ø¯Ø± Ø­Ø§Ù Ø°Ø®ÛØ±Ù Û Ù
+Ø¬Ù
+ÙØ¹Ù 
+#*******************************
+#
+Server.QuitManual:ÙØ§Ø³Ø· Ù
+ÙÙÙ ØšÙ ØšØ³ØªÙ Ø³Ø±ÙØ± Ù
+Ø­ÙÛ ÙØŽØ¯ . ÙØ·ÙØ§ Ø§Ø² Ø³Ø±ÙØ± Ø®Ø§Ø±Ø¬ ØŽÙÛØ¯ Ø³ÙŸØ³ Ú©ÙÛØ¯ ØªØ§ÛÛØ¯ Ø±Ø§ ÙØŽØ§Ø± Ø¯ÙÛØ¯ . 
+Server.QuitTimeOut:Ú©ØªØ§ØšØ®Ø§ÙÙ ØšÙ Ø¯Ø³ØªÙØ± Ø®Ø±ÙØ¬ ØšÙ Ù
+Ø¯Øª 6 Ø«Ø§ÛÙ Ø¬ÙØ§Øš ÙØ¯Ø§Ø¯Ù Ø§Ø³Øª , Ø¢ÛØ§ Ù
+Ø§ÛÙÛØ¯ ÛÚ© Ø¯ÙÛÙÙ ØµØšØ± Ú©ÙÛØ¯Ø 
+#
+#***** Sources *****
+Source.General:Ø¹Ù
+ÙÙ
+Û 
+#**********************
+#
+#***** Trees *****
+Tree.DownloadedFiles:Ø¯Ø§ÙÙÙÙØ¯ ÙØ§ÛÙ ÙØ§ 
+Tree.Files:ÙØ§ÛÙ ÙØ§ 
+Tree.Home:ÙŸÙØŽÙ Û Ø®Ø§ÙÚ¯Û ({0}) 
+Tree.Root:ÙØ¶Ø§Û Ù
+Ø­ÙÛ 
+Tree.World:Ø§Ø³ÙØ§Ø¯ Ø¯Ø± Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ 
+#***********************
+#
+#***** Warning Dialog *****
+WarningDialog.Dont_Show_Again:Ø§ÛÙ Ø§Ø®Ø·Ø§Ø± Ø±Ø§ Ø¯ÛÚ¯Ø± ÙÙ
+Ø§ÛØŽ ÙØ¯Ù 
+WarningDialog.Dont_Show_Again_Message:Ø§ÛÙ ÙŸÛØºØ§Ù
+ Ø±Ø§ Ø¯ÛÚ¯Ø± ÙÙ
+Ø§ÛØŽ ÙØ¯Ù 
+WarningDialog.Invalid_Value:Ù
+ÙØ¯Ø§Ø±Û Ú©Ù ØŽÙ
+Ø§ ÙØ§Ø±Ø¯ Ú©Ø±Ø¯Ù Ø§ÛØ¯ ØšØ±Ø§Û Ù
+ØŽØ®ØµÙ Û ÙÙÙ Ù
+ÙØ§Ø³Øš ÙÛØ³Øª 
+WarningDialog.Value:Ù
+ÙØ¯Ø§Ø± : 
+#
+#****** WGet *****
+WGet.Prompt:Ø³Ø±ÙÛØ³ Ú¯ÛØ±ÙØ¯Ù Ø§Ø² Wget 
+#
+#****** Workflows *****
+Workflow.AllPanels:ØªÙ
+Ø§Ù
+ ØµÙØ­Ù ÙØ§ 
+Workflow.LocalSourceCollectionBuilding:Ø³Ø§Ø®ØªÙ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ§ Ø§Ø² Ù
+ÙØ§ØšØ¹ Ù
+Ø­ÙÛ 
+Workflow.DocumentEnriching:ØºÙÛ Ø³Ø§Ø²Û Ø§Ø³ÙØ§Ø¯ 
+
+
+#********GEMS******
+
+GEMS.Title:ÙÛØ±Ø§ÛØŽ Ú¯Ø± Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û GreenStone 
+GEMS.OpenMetadataSetPrompt.Title:Ú¯ØŽÙØ¯Ù Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù 
+GEMS.OpenMetadataSetPrompt.Open_Tooltip:Ú¯ØŽÙØ¯Ù Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+GEMS.Set_Description:ØªÙØ¶ÛØ­Ø§Øª Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù 
+GEMS.OpenMetadataSetPrompt.Open:Ú¯ØŽÙØ¯Ù 
+GEMS.OpenMetadataSetPrompt.Available_Sets:Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§Û Ù
+ÙØ¬ÙØ¯ 
+GEMS.DeleteMetadataSetPrompt.Title:Ø­Ø°Ù Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù 
+GEMS.DeleteMetadataSetPrompt.Delete_Tooltip:Ø­Ø°Ù Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù 
+GEMS.DeleteMetadataSetPrompt.Delete:Ø­Ø°Ù 
+GEMS.DeleteMetadataSetPrompt.Available_Sets:Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù ÙØ§Û Ù
+ÙØ¬ÙØ¯ 
+GEMS.DeleteMetadataSetPrompt.Confirm_Delete:ÙØ·ÙØ§ ØšØ±Ø§Û ØªØ§ÛÛØ¯ Ø­Ø°Ù Ø¯Ø± Ø¬Ø¹ØšÙ Ø¹ÙØ§Ù
+Øª ØšÚ¯Ø°Ø§Ø±ÛØ¯ 
+GEMS.DeleteMetadataSetPrompt.No_Set:ÙÛÚ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û Ø§ÙØªØ®Ø§Øš ÙØŽØ¯Ù 
+GEMS.Confirm_Removal:Ø¢ÛØ§ Ù
+Û Ø®ÙØ§ÙÛØ¯ {0} Ø±Ø§ Ø­Ø°Ù Ú©ÙÛØ¯ Ø 
+GEMS.Confirm_Removal_Title:ØªØ§ÛÛØ¯ Ø­Ø°Ù 
+GEMS.Attribute:Ù
+ØŽØ®ØµÙ 
+GEMS.Popup.AddElement:Ø§ÙØ²ÙØ¯Ù Ø¹ÙØµØ± 
+GEMS.Popup.DeleteElement:Ø­Ø°Ù Ø¹ÙØµØ± 
+GEMS.Popup.AddSubElement:Ø§ÙØ²ÙØ¯Ù Ø¹ÙØµØ± Ø²ÛØ±ØŽØ§Ø®Ù 
+GEMS.Popup.DeleteSubElement:Ø­Ø°Ù Ø¹ÙØµØ± Ø²ÛØ±ØŽØ§Ø®Ù 
+GEMS.NewMetadataSetPrompt.Title:Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù Û Ø¬Ø¯ÛØ¯ 
+GEMS.NewMetadataSetPrompt.Instructions:ØšØ±Ø§Û Ø§ÛØ¬Ø§Ø¯ ÛÚ© Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û Ø¬Ø¯ÛØ¯ Ú©Ø§Ø¯Ø±ÙØ§Û ÙŸØ§ÛÛÙ Ø±Ø§ ÙŸØ± Ú©ÙÛØ¯ 
+GEMS.NewMetadataSetPrompt.Base_MetadataSet:Ù
+ØšÙØ§Û Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û : 
+GEMS.NewMetadataSetPrompt.Metadata_Title:Ø¹ÙÙØ§Ù Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù : 
+GEMS.NewMetadataSetPrompt.Metadata_Namespace:ÙØ¶Ø§Û ÙØ§Ù
+ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯ Ø§Û : 
+GEMS.NewMetadataSetPrompt.New_Metadata:-- Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù Û Ø¬Ø¯ÛØ¯ -- 
+GEMS.NewMetadataSetPrompt.Title_Error_Message:ÙØ·Ø§ÙØ§ Ø¹ÙÙØ§Ù Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û Ø±Ø§ ÙØ§Ø±Ø¯ Ú©ÙÛØ¯ 
+GEMS.NewMetadataSetPrompt.Title_Error:ÙÛØ¬ Ø¹ÙÙØ§ÙÛ Ù
+ØŽØ®Øµ ÙØŽØ¯Ù ! 
+GEMS.NewMetadataSetPrompt.Namespace_Error_Message:ÙØ·ÙØ§ ÙØ¶Ø§Û ÙØ§Ù
+ Ø±Ø§ ÙØ§Ø±Ø¯ Ú©ÙÛØ¯ . 
+GEMS.NewMetadataSetPrompt.Namespace_Error:ÙÛÚ ÙØ¶Ø§Û ÙØ§Ù
+ Û Ù
+ØŽØ®Øµ ÙØŽØ¯Ù Ø§Ø³Øª . 
+GEMS.SelectedLanguage:Ø§ÙØ²ÙØ¯Ù ÙÛÚÚ¯Û Ø²ØšØ§Ù : 
+GEMS.Language:Ø²ØšØ§Ù Ø±Ø§ Ø§ÙØªØ®Ø§Øš Ú©ÙÛØ¯ 
+GEMS.LanguageDependent:Ù
+ØŽØ®ØµÙ ÙØ§Û ÙØ§ØšØ³ØªÙ ØšÙ Ø²ØšØ§Ù 
+GEMS.Attribute_Table:ÙÛÚÚ¯Û ÙØ§ 
+GEMS.Attribute_Deletion_Error:Ø®Ø·Ø§Û Ø­Ø°Ù ÙÛÚÚ¯Û 
+GEMS.Attribute_Deletion_Error_Message:Ø§ÛÙ ÙÛÚÚ¯Û ÙÛØ§Ø² Ø§Ø³Øª Ù ÙÙ
+Û ØªÙØ§ÙØ¯ Ø­Ø°Ù ØŽÙØ¯ . 
+GEMS.Add_Lang_Depend_Attr_Error:Ø®Ø·Ø§Û Ø§ÙØ²ÙØ¯Ù ÙÛÚÚ¯Û 
+GEMS.Add_Lang_Depend_Attr_Error_Message:ÙÛÚ ÙÛÚÚ¯Û " ÙØ§ØšØ³ØªÙ ØšÙ Ø²ØšØ§Ù" Ø§Û ÛØ§ÙØª ÙÙ
+Û ØŽÙØ¯ 
+GEMS.Attribute_Edition_Error:Ø®Ø·Ø§Û ÙÛØ±Ø§ÛØŽ ÙÛÚÚ¯Û 
+GEMS.Attribute_Edition_Error_Message:Ø§ÛÙ ÙÛÚÚ¯Û ÙÛØ§Ø² Ø§Ø³Øª Ù ÙÙ
+Û ØªÙØ§ÙØ¯ Ø®Ø§ÙÛ ØšÙ
+Ø§ÙØ¯ 
+GEMS.Confirm_Save:Ø§ÛÙ Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û ØªØºÛÛØ± Ú©Ø±Ø¯Ù Ø¢ÛØ§ Ù
+Ø§ÛÙ ØšÙ Ø°Ø®ÛØ±Ù Û ØªØºÛÛØ±Ø§Øª ÙØ³ØªÛØ¯Ø 
+GEMS.Confirm_Save_Title:Ø°Ø®ÛØ±Ù Û Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û 
+GEMS.Confirm_DeleteElement:Ø¢ÛØ§ Ù
+Ø·Ù
+ØŠÙ ÙØ³ØªÛØ¯ Ù
+Û Ø®ÙØ§ÙÛØ¯ Ø¹ÙØµØ± {0} Ø±Ø§ Ø­Ø°Ù Ú©ÙÛØ¯ Ø 
+GEMS.Confirm_DeleteElement_Title:Ø­Ø°Ù Ø¹ÙØµØ± 
+GEMS.File_Deletion_Error_Message:Ø­Ø°Ù Ø§ÛÙ ÙØ§ÛÙ Ù
+ÙØ¯ÙØ± ÙÙ
+Û ØšØ§ØŽØ¯ . 
+GEMS.File_Deletion_Error:Ø®Ø·Ø§Û Ø­Ø°Ù ÙØ§ÛÙ 
+GEMS.Namespace_Conflict_Message:Ø§Ø®Ø·Ø§Ø± : ÛÚ© Ù
+Ø¬Ù
+ÙØ¹Ù ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û Ø¯ÛÚ¯Ø± ØšØ§ Ø§ÛÙ ÙØ¶Ø§Û ÙØ§Ù
+ Ù
+ÙØ¬ÙØ¯ Ù
+Û ØšØ§ØŽØ¯ .Ù
+Û Ø®ÙØ§ÙÛØ¯ Ø§Ø¯Ø§Ù
+Ù Ø¯ÙÛØ¯ Ø 
+GEMS.Namespace_Conflict:ØªØ¯Ø§Ø®Ù ÙØ¶Ø§Û ÙØ§Ù
+ 
+GEMS.Move_Up:ØšØ§ÙØ§ 
+GEMS.Move_Down:ÙŸØ§ÛÛÙ 
+GEMS.Cannot_Undo:(Ø§ÛÙ ÙØ¹Ø§ÙÛØª ØºÛØ± ØºØ§ØšÙ ØšØ±Ú¯ØŽØª Ø§Ø³Øª) 
+
+GEMS.AttributeTable.Name:ÙØ§Ù
+ 
+GEMS.AttributeTable.Language:Ø²ØšØ§Ù 
+GEMS.AttributeTable.Value:Ù
+ÙØ¯Ø§Ø± 
+GEMS.NewMetadataElementNamePrompt.Title:Ø¹ÙØµØ± Ø¬Ø¯ÛØ¯ 
+GEMS.NewMetadataElementNamePrompt.Name:ÙØ·ÙØ§ ØšØ±Ø§Û Ø¹ÙØµØ± Ø¬Ø¯ÛØ¯ ÛÚ© ÙØ§Ù
+ ÙØ§Ø±Ø¯ Ú©ÙÛØ¯ 
+GEMS.NewMetadataElementNamePrompt.SubTitle:Ø¹ÙØµØ± ÙØ±Ø¹Û Ø¬Ø¯ÛØ¯ 
+GEMS.NewMetadataElementNamePrompt.SubName:ÙØ·ÙØ§ ØšØ±Ø§Û Ø¹ÙØµØ± ÙØ±Ø¹Û Ø¬Ø¯ÛØ¯ ÛÚ© ÙØ§Ù
+ ÙØ§Ø±Ø¯ Ú©ÙÛØ¯ 
+GEMS.NewMetadataElementNamePrompt.Name_Error_Message:ÛÚ© Ø¹ÙØµØ± ØšØ§ Ø§ÛÙ ÙØ§Ù
+ ÙØ¬ÙØ¯ Ø¯Ø§Ø±Ø¯ 
+GEMS.NewMetadataElementNamePrompt.Name_Error:Ø®Ø·Ø§Û ÙØ§Ù
+ Ø¹ÙØµØ± 
+GEMS.NewMetadataElementNamePrompt.EmptyName_Error_Message:ÙØ§Ù
+ Ø¹ÙØµØ± Ø¬Ø¯ÛØ¯ Ø±Ø§ ÙØ§Ø±Ø¯ Ú©ÙÛØ¯ . 
+
+
+GEMS.No_Set_Loaded:ÙÛÚ Ø¯Ø³ØªÙ ÙØ±Ø§Ø¯Ø§Ø¯Ù Ø§Û ØšØ§Ø± Ú¯Ø²Ø§Ø±Û ÙØŽØ¯Ù Ø§Ø³Øª 
Index: main/tags/2.83/gli/classes/dictionary_fr.properties
===================================================================
--- main/tags/2.83/gli/classes/dictionary_fr.properties	(revision 21123)
+++ main/tags/2.83/gli/classes/dictionary_fr.properties	(revision 21123)
@@ -0,0 +1,1093 @@
+#*******************
+#** Language Orientation Property
+Component.Orientation:LTR
+
+#*******************
+#
+#***** AboutDialog *****
+AboutDialog.Acknowledgement:Remerciements pour les programmes propriÃ©taires, paquetages ou classesâŠ"
+AboutDialog.Date:(avril 2009)  
+AboutDialog.Item0:Xerces Java 1' de The Apache Software Foundation (http://www.apache.org/)
+AboutDialog.Item2:WGet' de la Free Software Foundation, Inc. (http://www.gnu.org/software/wget/wget.html)
+AboutDialog.Item3:qflib' de Quality First Software Gmbh, (http://www.qfs.de/enqflib/index.html)
+AboutDialog.Item4:ExtensionFileFilter,class' de Bruno Dumon et contributeurs (http://pollo.sourceforge.net/)
+AboutDialog.Item5:'How to disable file renaming in file chooser' - vladi21 (http://www.experts-exchange.com/)
+AboutDialog.Item6:Autoscrolling' - Java Swing par Robert Eckstein, Marc Loy & Dave Wood (http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf)
+AboutDialog.Item7:Add ghosted drag images to your JTrees' - Par Andrew J. Armstrong (http://www.javaworld.com/javaworld/javatips/jw-javatip114.html)
+AboutDialog.Item8:Stop annoying java.prefs error when you don't have superuser access' - Remerciements Ã  Walter Schatz
+AboutDialog.Item9:Les icÃŽnes nouveau dossier, supprimer et aide proviennent du jeu d'icÃŽnes Dropline Neu! par Silvestre Herrera, disponible Ã  http://art.gnome.org/  
+AboutDialog.Java_Req:Java est une marque dÃ©posÃ©e de Sun Microsystems Inc. Le JRE est redistribuÃ© selon les termes de licence supplÃ©mentaires qu'on peut trouver Ã  http://java.sun.com/j2se/1.4.1/j2re-1_4_1_02-license.html
+AboutDialog.Java_Req_One:Ce produit inclut le code brevetÃ© de RSA Security, Inc,
+AboutDialog.Java_Req_Two:Certaines parties brevetÃ©es de IBM sont disponibles Ã  http/://oss,software,ibm,com/icu4j/
+AboutDialog.Thanks:Remerciements aussi Ã  ceux qui ont publiÃ© sur le web des informations utiles sur java âŠ
+AboutDialog.Title:A proposâŠ
+AboutDialog.Title_One:Interface BibliothÃ©caire Greenstone  
+AboutDialog.Title_Two:BibliothÃšque NumÃ©rique Greenstone, UniversitÃ© de Waikato
+AboutDialog.Copyright:Copyright (C) 2003-2009 Projet BibliothÃšque NumÃ©rique Nouvelle ZÃ©lande  
+AboutDialog.Copyright_Two:EditÃ© sous GPL. Voir LICENSE.txt pour les dÃ©tails.
+#***********************
+#
+#***** Audit Table *****
+AuditTable.File:Nom de fichier
+#***********************
+#
+#***** Auto Filter *****
+Autofilter.AND:ET
+Autofilter.Ascending:Montant
+Autofilter.Case_Sensitive:Respecter la casse  
+Autofilter.Custom_Filter:AvancÃ©
+Autofilter.Descending:Descendant
+Autofilter.Filter_By_Value:Simple
+Autofilter.Name:Nom de la colonne  
+Autofilter.None:Aucun
+Autofilter.Operator:Condition
+Autofilter.OR:OU
+Autofilter.Order:Tri
+Autofilter.Order_Tooltip:Trier les Ã©lÃ©ments correspondants dans cet ordre
+Autofilter.Remove:Supprimer le filtre
+Autofilter.Remove_Tooltip:Supprimer ce filtre du tableau des colonnes
+Autofilter.Set:Installer le filtre
+Autofilter.Set_Tooltip:Ajouter ce filtre de la colonne du tableau
+Autofilter.Table_Header_Tooltip:Filtrer par {0}
+Autofilter.Title:Filtrer les mÃ©tadonnÃ©es automatiquement  
+Autofilter.eqeq:Ã©gal Ã 
+Autofilter.!eq:n'est pas Ã©gal Ã   
+Autofilter.<:est moins que  
+Autofilter.<eq:est infÃ©rieur ou Ã©gal Ã   
+Autofilter.>:est plus grand que  
+Autofilter.>eq:is greater than or equal to
+Autofilter.^:starts with
+Autofilter.!^:ne commence pas par  
+Autofilter.$:termine par  
+Autofilter.!$:ne termine pas par  
+Autofilter.?:contient  
+Autofilter.!?:does not contain
+#
+#     ********************************************************
+#     *************** Collection Design Module ***************
+#     ********************************************************
+#     * The dictionary  phrases  used in the creation of the *
+#     * Colection  Design  Module. Note that we  still  have *
+#     * access  to the format  arguments (argument  32+) for *
+#     * html formatting.                                     *
+#     ********************************************************
+CDM.ArgumentConfiguration.Bad_Integer:<html>L'argument '{0}' nÃ©cessite une valeur entiÃšre,<br>mays aucune valeur entiÃšre ne peut Ãªtre extraite de  {1}.</html>
+CDM.ArgumentConfiguration.Error_Title:Erreur dans Arguments
+CDM.ArgumentConfiguration.Header:<HTML><STRONG><FONT FACE={FONT} COLOR=Black SIZE=5><CENTER> Veuiller configurer les arguments pour {0}.</CENTER></FONT></STRONG></HTML>
+CDM.ArgumentConfiguration.No_Value:L'argument '{0}' requiert une valeur, mais aucune valeur n'est spÃ©cifiÃ©e.
+CDM.ArgumentConfiguration.Required_Argument:On doit donner une valeur Ã  l'argument '{0'}.
+CDM.ArgumentConfiguration.Title:Configuration des arguments
+CDM.BuildTypeManager.Title:SÃ©lectionnez l'indexeur  
+CDM.BuildTypeManager.mg:MG  
+CDM.BuildTypeManager.mg_Description:C'est l'indexeur original utilisÃ© par Greenstone, dÃ©veloppÃ© principalement par Alistair Moffat et dÃ©crit dans le livre classique GÃ©rer des gigaoctets (Managing Gigabytes). Il permet l'indexation au niveau de la section, et les recherches peuvent Ãªtre boolÃ©ennes ou classÃ©es (une seule Ã  la fois). Pour chaque index spÃ©cifiÃ© dans la collection, un index physique distinct est crÃ©Ã©. Pour rechercher une phrase, Greenstone effectue une recherche "ET" sur tous les termes, puis examine les rÃ©sultats pour voir si la phrase est prÃ©sente. Il a Ã©tÃ© testÃ© sur de trÃšs grandes collections (beaucoup de Go de texte).  
+CDM.BuildTypeManager.mgpp:MGPP  
+CDM.BuildTypeManager.mgpp_Description:Cette nouvelle version du MG (MG + +) a Ã©tÃ© dÃ©veloppÃ©e par le New Zealand Digital Library Project. Il effectue une indexation au niveau des mots, qui permet la recherche par champ, par phrase et par proximitÃ©, et qui doit Ãªtre gÃ©rÃ©e par l'indexeur. Les recherches boolÃ©ennes peuvent Ãªtre classÃ©es. Un index physique unique est crÃ©Ã© pour une collection Greenstone: des niveaux document/section et champs texte/mÃ©tadonnÃ©es sont tous traitÃ©s par ce seul index. Pour les collections avec de nombreux indices, cela se traduit par une plus petite taille d'index que celle d'une collection utilisant MG. Pour les grandes collections, la recherche peut Ãªtre un peu plus lente en raison de l'indexation au niveau du mot plutÃŽt qu'au niveau de la section.  
+CDM.BuildTypeManager.lucene:Lucene  
+CDM.BuildTypeManager.lucene_Description:Lucene a Ã©tÃ© dÃ©veloppÃ© par Apache Software Foundation. Il gÃšre la recherche par champ et par proximitÃ©, mais uniquement Ã  un seul niveau (par exemple, des documents complets ou des sections individuelles, mais pas les deux). Par consÃ©quent, les index de document et de section pour une collection ont besoin de deux index physiques distincts. Il offre un Ã©ventail de fonctionnalitÃ©s de recherche similaire Ã  MGPP avec l'ajout de jokers Ã  un caractÃšre, de recherche par Ã©tendue et de tri de rÃ©sultats de recherche par champ de mÃ©tadonnÃ©es. Il a Ã©tÃ© ajoutÃ© Ã  Greenstone pour faciliter la crÃ©ation incrÃ©mentale d'une collection, ce que MG et MGPP ne peuvent pas faire.  
+CDM.BuildTypeManager.Current_Type:Indexeur en service: {0}  
+CDM.BuildTypeManager.Change:Modifier ...  
+CDM.BuildTypeManager.Change_Tooltip:Modifier l'indexeur utilisÃ© par cette collection  
+CDM.ClassifierManager.Add:Ajouter classificateur...  
+CDM.ClassifierManager.Add_Tooltip:Utiliser le classificateur spÃ©cifiÃ© avec cette collection
+CDM.ClassifierManager.Assigned:Classificateurs attribuÃ©s  
+CDM.ClassifierManager.Classifier:SÃ©lectionner classificateur Ã  ajouter:
+CDM.ClassifierManager.Classifier_Str:classificateur
+CDM.ClassifierManager.Classifier_List_XML_Parse_Failed:Impossible d'obtenir la liste des classificateurs en utilisant classinfo.pl - listall.  
+CDM.ClassifierManager.Classifier_XML_Parse_Failed:Impossible de dÃ©terminer les arguments pour le classificateur {0}\n. Merci de s'assurer que le classificateur en question\nfournit le drapeau -xml en exÃ©cutant le script classinfo.pl\nsimilaire au script pluginfo.pl dans la\nsection 2.1 du Guide du DÃ©velopeur Greenstone.  
+CDM.ClassifierManager.Configure:Configurer classificateur...  
+CDM.ClassifierManager.Configure_Tooltip:Modifier les options du classificateur sÃ©lectionnÃ©  
+CDM.ClassifierManager.Remove:Supprimer classificateur  
+CDM.ClassifierManager.Remove_Tooltip:Supprimer le classificateur sÃ©lectionnÃ© de la liste
+CDM.FormatManager.Add:Ajouter le format  
+CDM.FormatManager.Add_Tooltip:Utiliser la commande de format spÃ©cifiÃ©e avec la collection
+CDM.FormatManager.AllFeatures:Toutes les caractÃ©ristiques  
+CDM.FormatManager.AllParts:Tous les composants  
+CDM.FormatManager.Default:Reset to Default
+CDM.FormatManager.Default_Tooltip:Reset the selected format command to its default value 
+CDM.FormatManager.Editor:ChaÃ®ne au format HTML  
+CDM.FormatManager.Editor_Tooltip:Entrer la commande du format ici
+CDM.FormatManager.Editor_Disabled_Tooltip:Cliquer sur "Ajouter Format" pour ajouter cette commande de format Ã  votre collection.  
+CDM.FormatManager.Enabled:ActivÃ©
+CDM.FormatManager.Feature:Choisir caractÃ©ristique  
+CDM.FormatManager.Feature_Tooltip:CaractÃ©ristique Ã  formater
+CDM.FormatManager.Insert:InsÃ©rer
+CDM.FormatManager.Insert_Tooltip:InsÃ©rer la variable sÃ©lectionnÃ©e dans la commande du format
+CDM.FormatManager.Default:Valeur par dÃ©faut  
+CDM.FormatManager.Default_Tooltip:RÃ©initialiser le format Ã  sa valeur initiale  
+CDM.FormatManager.Insert_Variable:InsÃ©rer la variable...  
+CDM.FormatManager.Part:Composante affectÃ©e
+CDM.FormatManager.Part_Tooltip:L'aspect de la caractÃ©ristique sÃ©lectionnÃ©e Ã  formater
+CDM.FormatManager.Remove:Supprimer le format  
+CDM.FormatManager.Remove_Tooltip:Supprimer la commande de format sÃ©lectionnÃ©e de la liste
+CDM.FormatManager.Variable_Tooltip:Variables disponibles pour utilisation avec la commande de format
+CDM.FormatManager.MessageBox:Validation XML  
+CDM.FormatManager.MessageBox_Tooltip:Message de validation du modÃšle XML  
+CDM.General.Access:Cette colection doit Ãªtre d'accÃšs publique.
+CDM.General.Browser_Title:SÃ©lectionnez une image
+CDM.General.Collection_Extra:Description de la collection :  
+CDM.General.Collection_Extra_Tooltip:Une description de l'objet et du contenu de la collection  
+CDM.General.Collection_Name:Titre de la collection:
+CDM.General.Collection_Name_Tooltip:Nom de la collection
+CDM.General.Email.Creator:Email du crÃ©ateur
+CDM.General.Email.Creator_Tooltip:Adresse email du crÃ©ateur de la collection
+CDM.General.Email.Maintainer:E-mail du responsable maintenance  
+CDM.General.Email.Maintainer_Tooltip:Adresse Email du responsable maintenance de la collection  
+CDM.General.Icon_Collection:URL de l'icÃŽne 'page Ã  propos'  
+CDM.General.Icon_Collection_Tooltip:L'URL de l'image Ã  afficher sur la page Ã  propos de la collection
+CDM.General.Icon_Collection_Small:URL de l'icÃŽne 'page d'accueil'  
+CDM.General.Icon_Collection_Small_Tooltip:L'URL de l'image Ã  afficher sur la page de dÃ©marrage de la bibliothÃ©que
+CDM.General.Image_Copy_Failed:Une erreur a eu lieu qui empÃªche de copier l'image sÃ©lectionnÃ©e.\nEssayez de copier manuellement l'image dans le rÃ©pertoire image:\n{0}\n de la collection:\n{1}  
+CDM.General.Image_Filter:Images (gifs, jpgs et pngs)
+CDM.GUI.Classifiers:Classificateurs de navigation
+CDM.GUI.Formats:CaractÃ©ristiques de format
+CDM.GUI.General:GÃ©nÃ©ral
+CDM.GUI.Indexes:Index de recherche  
+CDM.GUI.Macros:Macros spÃ©cifiques Ã  la collection.  
+CDM.GUI.Plugins:Plugiciels de document  
+CDM.GUI.Root:RACINE_CDM
+CDM.GUI.SearchMetadata:Recherches  
+CDM.GUI.Subcollections:Index de partition  
+CDM.GUI.SuperCollection:Recherches Ã  travers collections
+CDM.GUI.Translation:Traduire le texte  
+CDM.GUI.DepositorMetadata:MÃ©tadonnÃ©es du DÃ©posant  
+CDM.HelpButton:Aide pour cette fenÃªtre  
+CDM.HelpButton_Tooltip:Ouvrir l'aide le GLI pour cette fenÃªtre  
+CDM.IndexManager.Add_Index:Ajouter index
+CDM.IndexManager.Add_Index_Tooltip:Construire l'index spÃ©cifiÃ© pour cette collection
+CDM.IndexManager.Allfields_Index:Ajouter une recherche combinÃ©e sur tous les index  
+CDM.IndexManager.Default_Index_Indicator:[Index par dÃ©faut]
+CDM.IndexManager.Index_Exists:Cet index a dÃ©jÃ  Ã©tÃ© attribuÃ© Ã  cette collection.  
+CDM.IndexManager.Indexes:Index attribuÃ©s  
+CDM.IndexManager.Level:Niveau d'indexation :  
+CDM.IndexManager.Level_Tooltip:Le niveau du document sur lequel construire l'index
+CDM.IndexManager.Add_All:Ajouter tout  
+CDM.IndexManager.Add_All_Tooltip:Ajout d'un index distinct pour chacune des sources  
+CDM.IndexManager.Edit_Index:Modifier l'index  
+CDM.IndexManager.Edit_Index_Tooltip:Modifier l'index sÃ©lÃ©ctionnÃ©  
+CDM.IndexManager.New_Index:Nouvel index  
+CDM.IndexManager.New_Index_Tooltip:Ajouter un nouvel index  
+CDM.IndexManager.Remove_Index:Supprimer index
+CDM.IndexManager.Remove_Index_Tooltip:Supprimer l'index sÃ©lectionnÃ© de la liste
+CDM.IndexManager.Replace_Index:Remplacer l'index  
+CDM.IndexManager.Replace_Index_Tooltip:Mettre Ã  jour l'index sÃ©lectionnÃ©  
+CDM.IndexManager.Select_All:Tout sÃ©lectionner  
+CDM.IndexManager.Select_All_Tooltip:SÃ©lectionner toutes les sources de l'index  
+CDM.IndexManager.Select_None:Ne rien sÃ©lectionner  
+CDM.IndexManager.Select_None_Tooltip:DÃ©sÃ©lectionnez toutes les sources de l'index  
+CDM.IndexManager.Set_Default:DÃ©finir l'index par dÃ©faut
+CDM.IndexManager.Set_Default_Tooltip:Faire de l'index sÃ©lectionnÃ© l'index par dÃ©faut
+CDM.IndexManager.Source:Construire l'index sur:
+CDM.IndexManager.Source_Tooltip:Les Ã©lÃ©ments de mÃ©tadonnÃ©es sur lesquels construire l'index  
+CDM.IndexManager.Text_Source:Texte intÃ©gral  
+CDM.IndexManager.Text_Source_Tooltip:Inclure le texte intÃ©gral des documents dans l'index  
+CDM.IndexingManager.Accent_fold:Ignorer accents  
+CDM.IndexingManager.Accent_fold_Tooltip:CrÃ©er un index sans la prise en compte des accents, afin d'avoir la possibilitÃ© de faire des recherches sans utiliser d'accents.  
+CDM.IndexingManager.Casefold:Ignorer casse  
+CDM.IndexingManager.Casefold_Tooltip:CrÃ©er un index sans la prise en compte de la casse, afin d'avoir la possibilitÃ© de faire des recherches sans respecter la casse des mots.  
+CDM.IndexingManager.Options:Options d'indexation:  
+CDM.IndexingManager.Separate_cjk:Segmentation de texte CJK
+CDM.IndexingManager.Separate_cjk_Tooltip:<html>Segment de texte CJK (Chinois, Japonais, CorÃ©en). Dans l'Ã©tat actuel, il faut insÃ©rer un espace entre chaque caractÃšre CJK.<br> Cela est nÃ©cessaire pour chercher dans du texte CJK si le texte n'a pas dÃ©jÃ  Ã©tÃ© fractionnÃ© en mots</html>  
+CDM.IndexingManager.Stem:Ignorer terminaisons  
+CDM.IndexingManager.Stem_Tooltip:<html>GÃ©nÃ©rer un index de racine de mots, ce qui permet de faire des recherches par racine. <br>Par exemple, chercher "farm" cherchera Ã©galement "farms" "farming" "farmers" (fonctionne pour les documents en anglais et franÃ§ais uniquement).</html>  
+CDM.LanguageManager.Add_Tooltip:Ajouter la langue spÃ©cifiÃ©e dans la liste
+CDM.LanguageManager.Assigned_Languages:Partitions de langue attribuÃ©es  
+CDM.LanguageManager.Default_Language:Langue par dÃ©faut
+CDM.LanguageManager.LanguageMetadata:Langue des mÃ©tadonnÃ©es:  
+CDM.LanguageManager.LanguageMetadata_Tooltip:L'Ã©lÃ©ment de mÃ©tadonnÃ©es Ã  utiliser pour dÃ©terminer la langue d'un document  
+CDM.LanguageManager.Remove_Tooltip:Supprimer la partition de langue sÃ©lectionnÃ©e de la liste  
+CDM.LanguageManager.Replace_Tooltip:Remplacer la partition sÃ©lectionnÃ©e par une nouvelle basÃ©e sur les langues cochÃ©es
+CDM.LanguageManager.Selector:Langue Ã  ajouter:
+CDM.LanguageManager.Selector_Tooltip:La langue sur laquelle construire un index de partition
+CDM.LanguageManager.Set_Default:DÃ©finir dÃ©faut
+CDM.LanguageManager.Set_Default_Tooltip:Faire de la langue sÃ©lectionnÃ©e la langue par dÃ©faut
+CDM.LevelManager.Document:document  
+CDM.LevelManager.Section:section  
+CDM.LevelManager.Paragraph:Paragraphe  
+CDM.LevelManager.Level_Title:Les niveaux d'indexation  
+CDM.LevelManager.Default:Par dÃ©faut  
+CDM.LevelManager.Default_Tooltip:Niveau par dÃ©faut dans l'interface de lecteur  
+CDM.MacrosManager.Editor_Tooltip:Modifier des macros ici  
+CDM.Move.At_Bottom:Ne peux pas dÃ©placer {0} {1} plus bas car il est dÃ©jÃ  en bas de liste.
+CDM.Move.At_Top:Ne peux pas dÃ©placer {0} {1}plus haut car il est dÃ©jÃ  en haut de la liste.
+CDM.Move.Cannot:Ne peux pas dÃ©placer le plugiciel {0} plus bas car RecPlug et ArcPlug doivent Ãªtre placÃ©s en bas de liste.  
+CDM.Move.Fixed:<htlm>RegPlug et ArcPlug doivent gÃ©nÃ©ralement venir en dernier lieu et sont par consÃ©quent fixÃ©s Ã  leur place. <br>Si vous devez vraiment les dÃ©placer, veuillez Ã©diter le fichier collect.cfg Ã  la main.</html>
+CDM.Move.Move_Down:DÃ©placer vers le bas
+CDM.Move.Move_Down_Tooltip:DÃ©placer l'Ã©lÃ©ment sÃ©lectionnÃ© vers le bas de la liste
+CDM.Move.Move_Up:DÃ©placer vers le haut
+CDM.Move.Move_Up_Tooltip:DÃ©placer l'Ã©lÃ©ment sÃ©lectionnÃ© vers le haut
+CDM.Move.Title:Erreur - Ne peux pas dÃ©placer
+CDM.PlugInManager.Add:Ajouter plugiciel...  
+CDM.PlugInManager.QuickAdd:Ajouter plugiciel  
+CDM.PlugInManager.Add_Tooltip:Utiliser le plugiciel spÃ©cifiÃ© avec cette collection  
+CDM.PlugInManager.Assigned:Plugiciels attribuÃ©s  
+CDM.PlugInManager.Configure:Configurer plugiciel...  
+CDM.PlugInManager.Configure_Tooltip:Modifier les options du plugiciel sÃ©lectionnÃ©  
+CDM.PlugInManager.Ignore:N'ajoutez pas de plugiciel  
+CDM.PlugInManager.Ignore_Tooltip:N'ajoutez pas de plugiciel Ã  cette collection  
+CDM.PlugInManager.PlugIn:Choisir le plugiciel Ã  ajouter :  
+CDM.PlugInManager.PlugIn_Tooltip:Les plugiciels disponibles pour utilisation dans la collection  
+CDM.PlugInManager.PlugIn_Str:plugiciel  
+CDM.PlugInManager.PlugIn_XML_Parse_Failed:CDM.PlugInManager.PlugIn_XML_Parse_Failed:Impossible de dÃ©terminer les paramÃštres pour le plugiciel {0}\n. Assurez-vous que le plugiciel en question\nfournit le drapeau -xml en exÃ©cutant le script pluginfo.pl dans la section 2.1 du Guide du DÃ©velopeur Greenstone.  
+CDM.PluginManager.Plugin_List_XML_Parse_Failed:Impossible d'obtenir la liste des modules utilisant pluginfo.pl â listall.  
+CDM.PluginManager.Plugin_Suggestion_Prompt:Aucun des plugiciels associÃ©s Ã  cette collection ne permet de traiter directement le fichier "{0}". (Cependant, il peut Ãªtre inclus dans la collection sâil appartient Ã  un autre ficher, par exemple, une image dans une page web.) Les plugiciels suivants peuvent Ãªtre utilisÃ©s pour traiter ce fichier. Vous pouvez associer un plugiciel Ã  votre collection en sÃ©lectionnant le plugiciel puis en cliquant sur le bouton "Ajouter". (Vous pouvez modifier la liste des plugiciels Ã  tout moment en sÃ©lectionnant "Plugiciels de document " dans la vue "ParamÃ©ter".)  
+CDM.PlugInManager.Remove:Supprimer plugiciel  
+CDM.PlugInManager.Remove_Tooltip:Supprimer le plugiciel sÃ©lectionnÃ© de la liste  
+CDM.PluginManager.SuggestedPluginListTitle:Suggestion de plugiciels pour ce fichier  
+CDM.SearchMetadataManager.Component:ElÃ©ment dans le menu de recherche  
+CDM.SearchMetadataManager.Component_Name:Afficher le texte  
+CDM.SearchMetadataManager.Type_index:Index  
+CDM.SearchMetadataManager.Type_level:Niveau par dÃ©faut dans l'interface de lecteur  
+CDM.SearchMetadataManager.Type_partition:Partition  
+CDM.SearchMetadataManager.Type_language:Partition de langues  
+CDM.SubcollectionManager.Add:Ajouter filtre
+CDM.SubcollectionManager.Add_Tooltip:Ajouter le filtre spÃ©cifiÃ© Ã  la collection
+CDM.SubcollectionManager.Assigned:Filtres de sous-collection dÃ©finis  
+CDM.SubcollectionManager.Exclude:Exclure
+CDM.SubcollectionManager.Flags:Drapeaux Ã  activer en cas de correspondance
+CDM.SubcollectionManager.Flags_Tooltip:Drapeaux d'expression courante Ã  utiliser pour les correspondances (par exemple: "i" pour la correspondance ne tenant pas compte de la casse)
+CDM.SubcollectionManager.Include:Inclure
+CDM.SubcollectionManager.Inclusive:Que faisons nous avec des fichiers qui correspondent?
+CDM.SubcollectionManager.Language_Controls:Attribuer langues  
+CDM.SubcollectionManager.Match:Expression rÃ©guliÃšre Ã  correspondre :  
+CDM.SubcollectionManager.Match_Tooltip:Une expression ordinaire dÃ©finissant les documents dans la sous-collection
+CDM.SubcollectionManager.Name:Nom du filtre de sous-collection :  
+CDM.SubcollectionManager.Name_Tooltip:Nom du nouveau filtre de sous collection
+CDM.SubcollectionManager.Remove:Supprimer filtre
+CDM.SubcollectionManager.Remove_Tooltip:Supprimer le filtre sÃ©lectionnÃ© de la liste
+CDM.SubcollectionManager.Replace:Remplacer filtre
+CDM.SubcollectionManager.Replace_Tooltip:Mettre Ã  jour les dÃ©tails du filtre sÃ©lectionnÃ©
+CDM.SubcollectionManager.Source:Attribut du document Ã  faire correspondre:
+CDM.SubcollectionManager.Source_Tooltip:Attribut du document sur lequel appliquer le filtre
+CDM.SubcollectionManager.Subcollection_Controls:DÃ©finir les filtres
+CDM.SubcollectionManager.Subindex_Controls:Attribuer des partitions  
+CDM.SubcollectionIndexManager.Add_Subindex:Ajouter partition
+CDM.SubcollectionIndexManager.Add_Subindex_Tooltip:Ajouter la partition spÃ©cifiÃ©e Ã  cette collection
+CDM.SubcollectionIndexManager.Default_Partition_Indicator:[Partition par dÃ©faut]
+CDM.SubcollectionIndexManager.Remove_Subindex:Supprimer la partition  
+CDM.SubcollectionIndexManager.Remove_Subindex_Tooltip:Supprimer la partition sÃ©lectionnÃ©e de cette collection
+CDM.SubcollectionIndexManager.Replace_Subindex:Remplacer la partition
+CDM.SubcollectionIndexManager.Replace_Subindex_Tooltip:Mettre Ã  jour la partition
+CDM.SubcollectionIndexManager.Set_Default_Subindex:DÃ©finir dÃ©faut
+CDM.SubcollectionIndexManager.Set_Default_Subindex_Tooltip:Faire de la partition sÃ©lectionnÃ©e la partition par dÃ©faut
+CDM.SubcollectionIndexManager.Source:Construire la partition sur :  
+CDM.SubcollectionIndexManager.Source_Tooltip:Le filtres de sous-collections pour construire la partition sur  
+CDM.SubcollectionIndexManager.Subindexes:Partitions de sous-collection attribuÃ©es  
+CDM.TranslationManager.Add:Ajouter traduction
+CDM.TranslationManager.Add_Tooltip:Ajouter la traduction spÃ©cifiÃ©e Ã  la collection
+CDM.TranslationManager.Affected_Features:CaractÃ©ristiques
+CDM.TranslationManager.Assigned_Fragments:Traductions attribuÃ©es  
+CDM.TranslationManager.Default_Text:Fragment de texte initial
+CDM.TranslationManager.Fragment_Column:Fragment de texte
+CDM.TranslationManager.Language:Langue de traduction:
+CDM.TranslationManager.Language_Column:Langue
+CDM.TranslationManager.Language_Tooltip:La langue vers laquelle la traduction est effectuÃ©e
+CDM.TranslationManager.Remove:Supprimer traduction
+CDM.TranslationManager.Remove_Tooltip:Supprimer la traduction sÃ©lectionnÃ©e de la collection
+CDM.TranslationManager.Replace:Remplacer traduction
+CDM.TranslationManager.Replace_Tooltip:Mettre Ã  jour la traduction sÃ©lectionnÃ©e
+CDM.TranslationManager.Translation:Texte traduit
+CDM.TranslationManager.Translation_Tooltip:Entrer la traduction de la chaÃ®ne ici
+CDM.DepositorMetadataManager.Warning:Au moins un Ã©lÃ©ment de mÃ©tadonnÃ©es doit Ãªtre sÃ©lectionnÃ©.  
+#*******************
+#
+#***** Collection *****
+Collection.Collection:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>Collection</FONT></STRONG></HTML>
+Collection.Delete_Tooltip:Effacer les fichiers et dossiers sÃ©lectionnÃ©s
+Collection.Filter_Tooltip:Restreindre les fichiers affichÃ©s sur l'arborescence des fichiers
+Collection.New_Folder_Tooltip:CrÃ©er un nouveau dossier
+Collection.No_Collection:Pas de collection
+Collection.No_Collection_Loaded:Aucune collection chargÃ©e  
+Collection.Stop:ArrÃªt
+Collection.Stop_Tooltip:ArrÃªt de copie de fichiers
+Collection.Workspace:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>Espace de travail</FONT></STRONG></HTML>
+#**********************
+#
+#***** CollectionBuilt *****
+CollectionBuilt.Message:La collection a Ã©tÃ© construite et est prÃªte Ã  Ãªtre prÃ©visualisÃ©e.
+CollectionBuilt.Title:RÃ©sultat de la CrÃ©ation de la Collection
+#***************************
+#
+#******ScheduldBuilt******
+ScheduleBuilt.Message:La programmation pour cette collection a Ã©tÃ© modifiÃ©e.  
+ScheduleBuilt.Title:RÃ©sultat de la programmation du traitement de collections  
+#***************************
+#
+#***** CollectionManager *****
+CollectionManager.Schedule_Failed:Une erreur est survenue, la construction pÃ©riodique n'a pas pu Ãªtre programmÃ©e pour cette collection.  
+CollectionManager.Build_Cancelled:La construction de la collection a Ã©tÃ© interrompue
+CollectionManager.Cannot_Create_Collection:Une erreur s'est produite,la collection n'a pas pu Ãªtre construite.  
+CollectionManager.Cannot_Create_Collection_With_Reason:La collection n'a pas pu Ãªtre construite car:\n{0-Erreur message}  
+CollectionManager.Cannot_Delete_Index:Cette collection ne peut pas Ãªtre reconstruite parce que l'ancien fichier d'index ne peut pas Ãªtre supprimÃ©.\nAssurez-vous SVP que Greenstone ou un autre programme n'est pas en train d'utiliser ces fichiers\net essayez Ã  nouveau.
+CollectionManager.Cannot_Delete_Index_Log:Impossible de supprimer les anciens fichiers d'index; l'imporatation est arrÃªtÃ©e.
+CollectionManager.Cannot_Open:Impossible d'ouvrir le fichier Ã :\n{0-Collection file path}.
+CollectionManager.Cannot_Open_With_Reason:La collection Ã :\n{0-chemin du fichier de la Collection} \nne peut pas Ãªtre ouverte Ã  cause: \n{1-Message d'erreur}
+CollectionManager.Creating_Collection:CrÃ©ation de la collection  
+CollectionManager.Creating_Collection_Please_Wait:CrÃ©ation de la collection...  
+CollectionManager.Loading_Collection:Chargement de la collection
+CollectionManager.Loading_Collection_Please_Wait:Chargement de la collectionâŠ  
+CollectionManager.Loading_Successful:Collection chargÃ©e {0}.
+CollectionManager.Missing_Config:Cette collection n'a pas de fichier de collect.cfg valide
+CollectionManager.Not_Col_File:{0}' n'est pas un fichier de la colection Librarian Interface (.col)
+CollectionManager.No_Config_File:Le fichier collect.cfg n'a pas Ã©tÃ© crÃ©Ã© par mkcol.pl.  
+CollectionManager.Preview_Ready_Failed:Une erreur est survenue et va empÃªcher la prÃ©visualisation de la collection.
+CollectionManager.Preview_Ready_Title:Etat de previsualisation de la collection.
+CollectionManager.Schedule_Ready_Title:Etat de la programmation  
+CollectionManager.Build_Not_Moved:Le rÃ©pertoire en construction n'a pas pu Ãªtre dÃ©placÃ©. Essayez de nouveau le reconstruire, ou de sortir de GLI et du serveur, puis redÃ©marrez GLI et essayer Ã  nouveau de reconstuire, ce qui devrait rÃ©soudre le problÃšme.  
+CollectionManager.Index_Not_Deleted:Le rÃ©pertoire d'index ne peut pas Ãªtre supprimÃ©. Essayez de sortir de GLI et du serveur, puis redÃ©marrez GLI et essayer Ã  nouveau de reconstruire la collection, ce qui devrait rÃ©soudre le problÃšme.  
+CollectionManager.Install_Exception:Anomalie dÃ©tectÃ©e pendant l'installation de la collection:\n{0}\nProbablement causÃ©e par Windows ou par une Librairie Locale retenant un bloquage sur les fichiers.\nS'il vous plaÃ®t vÃ©rifiez qu'aucun des fichiers de la source de collection\nare est ouvert une application externe, en suite relancez la construction.  
+#*****************************
+#
+#***** CollectionPopupMenu *****
+CollectionPopupMenu.Delete:Effacer
+CollectionPopupMenu.New_Dummy_Doc:Nouveau document factice
+CollectionPopupMenu.New_Folder:Nouveau dossier  
+CollectionPopupMenu.Refresh:Actualiser la vue de dossiers  
+CollectionPopupMenu.Rename:Renomme  
+CollectionPopupMenu.Replace:Remplacer
+#*******************************
+#
+#***** CreatePane *****
+CreatePane.Schedule_Progress:Deroulement des taches programmÃ©es  
+CreatePane.Schedule:Options de programmation  
+CreatePane.Schedule_Tooltip:Options pour la programmation de la crÃ©ation automatique des collections  
+CreatePane.Schedule_Build:Programmer l'action  
+CreatePane.Schedule_Build_Tooltip:Programmer la crÃ©ation automatique de la collection  
+CreatePane.Build:Options de construction
+CreatePane.Build_Tooltip:Options pour l'Ã©tape d'indexation et de classification lors de la crÃ©ation de la collection  
+CreatePane.Build_Collection:Construire collection
+CreatePane.Build_Collection_Tooltip:DÃ©marrer le processus de crÃ©ation de la collection  
+CreatePane.Build_Progress:Progression de la construction
+CreatePane.Cancel_Build:Annuler la construction
+CreatePane.Cancel_Build_Tooltip:ArrÃªter du processus de crÃ©ation de la collection  
+CreatePane.Full_Build:Reconstruction complÃšte  
+CreatePane.Full_Build_Tooltip:Reconstruire complÃštement la collection depuis le dÃ©but  
+CreatePane.Import:Options d'importation
+CreatePane.Import_Tooltip:Options pour la phase de conversion de fichiers et d'attribution de mÃ©tadonnÃ©es lors de la crÃ©ation de la collection  
+CreatePane.Import_Progress:Progression de l'importation
+CreatePane.Minimal_Build:Reconstruction minimale  
+CreatePane.Minimal_Build_Tooltip:Plus rapide, car seules sont exÃ©cutÃ©es les parties du processus de construction de la collection qui sont nÃ©cessaires  
+CreatePane.Minimal_Build_Not_Required:La reconstruction n'est pas nÃ©cessaire parce que vous n'avez ajoutÃ© aucun fichier Ã  la collection,\nni revisÃ© aucune mÃ©tadonnÃ©e, ni modifiÃ© les options dans la vue "ParamÃ©trer".\n(Pour provoquer la reconstruction, chosir "Construction complÃšte" et sÃ©lectionner le bouton "Construire collection".)  
+CreatePane.Log:Historique de messages  
+CreatePane.Log_Tooltip:Voir les rÃ©sultats des prÃ©cÃ©dents essais de crÃ©ation de la collection  
+CreatePane.Mode_All:tout
+CreatePane.Options:Groupes d'options
+CreatePane.Options_Title:Options pour l'importation & la construction de collection
+CreatePane.Preview_Collection:PrÃ©visualiser collection  
+CreatePane.Preview_Collection_Tooltip:PrÃ©visualiser la collection construite
+#**********************
+#
+#***** Dates *****
+Dates.Mon:Lundi
+Dates.Tue:Mardi
+Dates.Wed:Mercredi
+Dates.Thu:Jeudi
+Dates.Fri:Vendredi
+Dates.Sat:Samedi
+Dates.Sun:Samedi
+Dates.Jan:Janvier
+Dates.Feb:FÃ©vrier
+Dates.Mar:Mars
+Dates.Apr:Avril
+Dates.May:Mai
+Dates.Jun:Juin
+Dates.Jul:Juillet
+Dates.Aug:AoÃ»t
+Dates.Sep:Septembre
+Dates.Oct:Octobre
+Dates.Nov:Novembre
+Dates.Dec:DÃ©cembre
+#**********************
+#
+#***** Delete Collection Prompt *****
+DeleteCollectionPrompt.Collection_Details:DÃ©tails de la collection sÃ©lectionnÃ©s
+DeleteCollectionPrompt.Collection_List:Collections disponibles
+DeleteCollectionPrompt.Confirm_Delete:Veuillez cocher la case pour confirmer l'effacement de la collection.  
+DeleteCollectionPrompt.Delete:Effacer
+DeleteCollectionPrompt.Delete_Tooltip:Effacer la collection sÃ©lectionnÃ©e
+DeleteCollectionPrompt.Details:CrÃ©ateur - {0}\nMaintenancier - {1}\nDescription\n{2}
+DeleteCollectionPrompt.Failed_Delete:La collection n'a pas pu Ãªtre complÃ©tement effacÃ©e.
+DeleteCollectionPrompt.Failed_Title:Echec de la suppression.
+DeleteCollectionPrompt.No_Collection:Aucune collection n'a Ã©tÃ© sÃ©lectionnÃ©e.  
+DeleteCollectionPrompt.Successful_Delete:La collection a Ã©tÃ© supprimÃ©e.
+DeleteCollectionPrompt.Successful_Title:Fin de la suppression!
+DeleteCollectionPrompt.Title:Suppression de la collection
+DeleteCollectionPrompt.Cannot_Delete_Open_Collection_Tooltip:La collection {0} ne peut pas Ãªtre supprimÃ©e, parce qu'elle est actuellement ouverte  
+#**********************
+#
+#***** DirectoryLevelMetadata *****
+DirectoryLevelMetadata.Message:Vous Ãªtes sur le point d'affecter des mÃ©tadonnÃ©es du dossier actuel au dossier(s) sÃ©lectionnÃ©(s). Ces mÃ©tadonnÃ©es seront automatiquement hÃ©ritÃ©es par tous les fichiers et dossiers prÃ©sents dans ce dossier. En plus, ces mÃ©tadonnÃ©es ne pourront pas Ãªtre supprimÃ©es d'un fichier ou d'un dossiers fils, mais seulement remplacÃ©es. Pour continuer cette opÃ©ration, cliquer sur 'OK'.  
+DirectoryLevelMetadata.Title:Sur le point d'ajouter des mÃ©tadonnÃ©es au niveau du dossier  
+
+#*******************
+#
+#***** Download *****
+DOWNLOAD.MODE.Root:Racine_de_tÃ©lÃ©chargement  
+DOWNLOAD.MODE.WebDownload:Web  
+DOWNLOAD.MODE.MediaWikiDownload:MediaWiki  
+DOWNLOAD.MODE.OAIDownload:OAI  
+DOWNLOAD.MODE.ZDownload:Z39.50  
+DOWNLOAD.MODE.SRWDownload:SRW  
+
+Download.ServerInformation:Informations sur le serveur  
+Download.ServerInformation_Tooltip:"TÃ©lÃ©charger des informations concernant le serveur, et vÃ©rifier que la connexion peut Ãªtre faite"  
+
+#********************
+#
+#***** EnrichPane *****
+EnrichPane.AutoMessage:Cet Ã©lÃ©ment, {0}, appartient au jeu de mÃ©tadonnÃ©es de Greenstone. Ce jeu reprÃ©sente des mÃ©tadonnÃ©es qui peuvent le plus souvent Ãªtre extraites automatiquement. Pour vÃ©rifier quelles mÃ©tadonnÃ©es {0} peuvent Ãªtre extraites automatiquement, crÃ©er la collection en utilisant l'onglet 'CrÃ©er'.  
+EnrichPane.ExistingValues:Valeurs existantes pour {0}  
+EnrichPane.InheritedMetadataSelected:Cette partie d'information (metadata) est hÃ©ritÃ© d'un fichier au-dessus de celui-ci, et ne peux pas Ãªtre Ã©ditÃ©. Vous pouvez visiter le fichier originel contenant l'information (metadata) en cliquant sur l'Ã®cone du fichier qui se trouve au dÃ©but de la rangÃ©e.  
+EnrichPane.InheritedMetadata_Tooltip:Cliquez sur cette icÃŽne pour consulter le dossier dans lequel a Ã©tÃ© affectÃ© ce morceau de mÃ©tadonnÃ©es hÃ©ritÃ©  
+EnrichPane.ManageMetadataSets:GÃ©rer les jeux de mÃ©tadonnÃ©es ...  
+EnrichPane.ManageMetadataSets_Tooltip:Modifier les jeux de mÃ©tadonnÃ©es utilisÃ©es par la collection  
+EnrichPane.No_File:Aucun fichier sÃ©lectionnÃ©
+EnrichPane.No_Metadata:Aucune mÃ©tadonnÃ©e disponible  
+EnrichPane.No_Metadata_Element:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>Aucun Ã©lÃ©ment de mÃ©tadonnÃ©es sÃ©lectionnÃ©</FONT></STRONG></HTML>  
+EnrichPane.NotOneFileOnlyMetadataSelected:Ce fragment d'information (metadata) n'est pas appliquÃ© que pour ce fichier, et ne peut pas Ãªtre Ã©ditÃ©.  
+EnrichPane.Value_Field_Tooltip:Valeur Ã  affecter Ã  l'Ã©lÃ©ment de mÃ©tadonnÃ©e sÃ©lectionnÃ©  
+EnrichPane.Value_Field_Tooltip_Uneditable:Valeur affectÃ©e Ã  l'Ã©lÃ©ment de mÃ©tadonnÃ©es sÃ©lectionnÃ©  
+#***********************
+#
+#****** ExplodeMetadataPrompt *******
+ExplodeMetadataPrompt.Explode:Ãclater
+ExplodeMetadataPrompt.Explode_Tooltip:Ãclater le fichier de mÃ©tadonnÃ©es  
+ExplodeMetadataPrompt.Instructions:L'Ã©clatement de ce fichier de mÃ©tadonnÃ©es produira des enregistrements individuels avec des mÃ©tadonnÃ©es qui pouvent Ãªtre modifiÃ©es. Ce processus est irrÃ©versible, le fichier de mÃ©tadonnÃ©es source sera supprimÃ© dans la collection/  
+ExplodeMetadataPrompt.Failed_Title:Ãchec de l'Ã©clatement
+ExplodeMetadataPrompt.Failed_Explode:La base de donnÃ©es {0} n'a pu Ãªtre Ã©clatÃ©es.
+ExplodeMetadataPrompt.NotExplodable:Ce fichier ne peut Ãªtre Ã©clatÃ©.
+ExplodeMetadataPrompt.Successful_Explode:Base de donnÃ©es {0} Ã©clatÃ©e avec succÃ©s
+ExplodeMetadataPrompt.Successful_Title:Ãclatement terminÃ©.
+ExplodeMetadataPrompt.Title:Ãclater la base de donnÃ©es de mÃ©tadonnÃ©es.  
+ExplodeMetadataPrompt.Plugin:Plugiciel Ã  utiliser pour eclater  
+#***********************
+#
+#****** ReplaceSrcWithHTMLPrompt *******
+ReplaceSrcWithHTMLPrompt.ReplaceSrc:Remplacer par la version HTML  
+ReplaceSrcWithHTMLPrompt.ReplaceSrc_Tooltip:Remplacer ce document source par la version HTML que Greenstone gÃ©nÃšre.  
+ReplaceSrcWithHTMLPrompt.Instructions:Le remplacement d'un document par la version HTML qu'il genÃšre, vous permettra de modifier le fichier HTML et de reconstruire la collection dans le futur en maintenant les modifications. Ceci est un processus irrÃ©versible, les documents d'origine ainsi remplacÃ©s seront Ã©liminÃ©s de la collection.  
+ReplaceSrcWithHTMLPrompt.Failed_Title:Le remplacement par la version HTML a Ã©chouÃ©.  
+ReplaceSrcWithHTMLPrompt.Failed_ReplaceSrc:Le(s) document(s) {0} n'a pas pu Ãªtre remplacÃ©(s) par une version HTML.  
+ReplaceSrcWithHTMLPrompt.NotSrcReplaceable:Ce type de fichier ne peut pas Ãªtre remplacÃ© par une version HTML.  
+ReplaceSrcWithHTMLPrompt.Successful_ReplaceSrc:Tous les fichiers ont Ãªtre remplacÃ©s avec succÃšs par leur version HTML.  
+ReplaceSrcWithHTMLPrompt.Successful_Title:Le remplacement par les versions HTML gÃ©nÃ©rÃ©es est terminÃ©.  
+ReplaceSrcWithHTMLPrompt.Title:Remplacer les documents source par les fichiers HTML  
+ReplaceSrcWithHTMLPrompt.Plugin:Plugiciel Ã  utiliser pour l'Ã©clatement  
+#***********************
+#
+#****** WriteCDImagePrompt *******
+WriteCDImagePrompt.CD_Name:Nom du CD/DVD  
+WriteCDImagePrompt.Export:Exportation vers une image CD/DVD  
+WriteCDImagePrompt.Export_Tooltip:Exporter les collections sÃ©lectionnÃ©es comme image de CD-ROM pour Windows  
+WriteCDImagePrompt.Failed_Export:Les collections ({0}) n'ont pas pu Ãªtre exportÃ©es vers le CD-ROM.
+WriteCDImagePrompt.Failed_Title:Echec de l'exportation
+WriteCDImagePrompt.Install:Le CD/DVD va installer certains fichiers en cas d'utilisation (plus rapide)  
+WriteCDImagePrompt.Install_Tooltip:Produit un CD-ROM auto-installable, qui installe le serveur de la bibliothÃšque (et facultativement tous les fichiers de la collection) sur l'ordinateur hÃŽte.  
+WriteCDImagePrompt.NoInstall:Le CD/DVD n'installera aucun fichier lors de son utilisation  
+WriteCDImagePrompt.NoInstall_Tooltip:Produit un CD-ROM qui exÃ©cute la bibliothÃšque directement Ã  partir de celui-ci sans rien installer sur l'ordinateur hÃŽte.  
+WriteCDImagePrompt.Instructions:Exporter une ou plusieurs collections vers un CD/DVD d'auto-installation pour Windows (Bien que cela fonctionne sur n'importe quelle plate-forme, le CD-ROM qui a Ã©tÃ© crÃ©e ne s'exÃ©cute que sous Windows).  
+WriteCDImagePrompt.Progress_Label:Copie de fichiers. Cela peut prendre du tempsâŠ
+WriteCDImagePrompt.Size_Label:Taille estimÃ©e:  
+WriteCDImagePrompt.Successful_Export:Les collections ({0})) ont Ã©tÃ© exportÃ©es.
+WriteCDImagePrompt.Successful_Title:Exportation terminÃ©e
+WriteCDImagePrompt.Title:Exporter la Collection vers un CD-ROM
+#************************
+#
+#****** ExportAsPrompt *******
+ExportAsPrompt.Export_Name:Exporter le nom du rÃ©pertoire
+ExportAsPrompt.Export_Name_Tooltip:Le nom du dossier, dans le rÃ©pertoire tmp de Greenstone, oÃ¹ les collections exportÃ©es seront sauvegardÃ©es.  
+ExportAsPrompt.Export:Exporter la/les collections(s)
+ExportAsPrompt.Export_Tooltip:Exporter les collections sÃ©lectionnÃ©es dans le format choisi et le rÃ©pertoire indiquÃ©.
+ExportAsPrompt.Failed_ExportOne:La collection -- {0} -- n'a pu Ãªtre exportÃ©e.
+ExportAsPrompt.Failed_Details:Voir {1} pour les dÃ©tails.
+ExportAsPrompt.Failed_Title:Ãchec de l'exportation
+ExportAsPrompt.Instructions:Exporter une ou plusieurs collections dans le format choisi et le rÃ©pertoire indiquÃ©.
+ExportAsPrompt.Progress_Label:Exportation des fichier. Cela peut prendre un certain tempsâŠ
+ExportAsPrompt.Successful_ExportOne:La collection, {0}, a Ã©tÃ© exportÃ©e.
+ExportAsPrompt.Successful_Details:Fichiers exportÃ©s sur: {1}
+ExportAsPrompt.Successful_Title:Exportation terminÃ©e
+ExportAsPrompt.Title:Exporter la collection
+ExportAsPrompt.SaveAs:Exporter sur
+ExportAsPrompt.SaveAs_Tooltip:SÃ©lectionnez le format dans lequel vous souhaitez exporter
+ExportAsPrompt.Cancel:Annuler  
+ExportAsPrompt.Cancel_Tooltip:Annuler le processus d'exportation  
+ExportAsPrompt.Browse:Parcourir  
+ExportAsPrompt.Browse_Tooltip:Choisissez un fichier XSL  
+ExportAsPrompt.ApplyXSL:Appliquer le fichier XSL au {0}  
+ExportAsPrompt.ApplyXSL_Tooltip:Utilisez un fichier xsl pour convertir les fichiers exportÃ©s.  
+ExportAsPrompt.MARCXMLGroup:Grouper des enregistements Marc  
+ExportAsPrompt.MARCXMLGroup_Tooltip:Exporter tous les enregistrements Marc Ã  un seul fichier.  
+ExportAsPrompt.MappingXML:Appliquer le fichier de correspondance  
+ExportAsPrompt.MappingXML_Tooltip:Utilisez un fichier de correspondance pour convertir les fichiers exportÃ©s.  
+#
+#***** Inherited Metadata *****
+ExtractedMetadata.Message:Le fichier ou dossier sÃ©lectionnÃ© contient des mÃ©tadonnÃ©es extraites, mais il est actuellement cachÃ©. Pour visualiser les mÃ©tadonnÃ©es extraites, aller au menu "Fichier" puis sÃ©lectionnez "PrÃ©ferences". Dans la feuille de paramÃštres "GÃ©nÃ©ral", sÃ©lectionnez "Visualiser les mÃ©tadonnÃ©es extraites" puis cliquez sur "OK".  
+ExtractedMetadata.Title:Ce fichier/dossier contient des mÃ©tadonnÃ©es extraites cachÃ©es  
+#
+#***** FileActions *****
+FileActions.Calculating_Size:Calcul de la taille totale des fichiers sÃ©lectionnÃ©s
+FileActions.Copying:Copie de {0}  
+FileActions.Could_Not_Delete:N'a pas pu supprimer {0}  
+FileActions.Cyclic_Path:Ne peut pas copier {0}: le fichier destinataire est un sous-rÃ©pertoire du fichier source.  
+FileActions.Deleting:Suppression {0}
+FileActions.Directories_Selected:{0} dossiers sÃ©lectionÃ©s
+FileActions.Directory_Selected:1 dossier sÃ©lectionnÃ©
+FileActions.File_Already_Exists_No_Create:Le fichier '{0}' existe dÃ©jÃ .
+FileActions.File_And_Directories_Selected:1 fichier et {0} dossiers sÃ©lectionnÃ©s
+FileActions.File_And_Directory_Selected:1 fichier et 1 dossier sÃ©lectionnÃ©s
+FileActions.File_Create_Error:Le fichier {0} n'a pu Ãªtre crÃ©Ã©.
+FileActions.Folder_Create_Error:Le dossier {0} n'a pu Ãªtre crÃ©Ã©.
+FileActions.File_Exists:{0} existe dÃ©jÃ  dans le dossier de destination. L'Ã©craser?
+FileActions.File_Move_Error_Message:Incapable de bouger {0} Ã \n{1}.  
+FileActions.File_Not_Deleted_Message:{0}\nLe fichier nommÃ© ci-dessus ne peut pas Ãªtre supprimÃ©.\nVÃ©rifiez s'il vous plaÃ®t que le fichier ne sois pas ouvert\nin un programme externe, en suite essayez une fois de plus.  
+FileActions.File_Not_Found_Message:{0}\nImpossible de trouver le fichier nommÃ© ci-dessus. Veuillez vous assurer que le fichier existe toujours une fois l'affichage des fichiers actualisÃ©e.
+FileActions.File_Selected:1 fichier sÃ©lectionnÃ©
+FileActions.Files_And_Directory_Selected:{0} fichiers et 1 dossier sÃ©lectionnÃ©s
+FileActions.Files_Selected:{0} fichiers sÃ©lectionnÃ©s
+FileActions.Folder_Already_Exists:Le nom de dossier {0} est dÃ©jÃ  utilisÃ©. Impossible de crÃ©er le dossier.
+FileActions.Insufficient_Space_Message:L'opÃ©ration fichier a Ã©chouÃ© par manque\nd'espace disque. Pour que le fichier soit copiÃ© avec succÃšs vous avez encore besoin de : {0}
+FileActions.Moving:DÃ©placement de {0}  
+FileActions.No_Activity:Aucune action requise
+FileActions.Read_Not_Permitted_Message:N' a pas pu lire {0}.  
+FileActions.Read_Only:Les fichiers de l'espace de travail sont en lecture seule et ne peuvent pas Ãªtre effacÃ©s.
+FileActions.Replacing:RemplaÃ§ant {0}  
+FileActions.Selected:{0} fichiers et {1} dossiers sÃ©lectionnÃ©s
+FileActions.Unknown_File_Error_Message:Bien qu'aucune erreur n'ait Ã©tÃ© signalÃ©e durant\nl'opÃ©ration de fichier, une derniÃšre vÃ©rification a rÃ©vÃ©lÃ© que la\ncopie de destination n'est pas la mÃªme que le fichier d'origine. La raison\nÃ  cela est inconnue. Veuillez vÃ©rifier votre mÃ©dia et mettre Ã  jour\nvotre installation JVM.
+FileActions.Write_Not_Permitted_Message:L'Interface BibliothÃ©caire n'a pas la permission d'Ã©crire dans\n{0}\nVeuillez vÃ©rifier les permissions de fichier.  
+FileActions.Write_Not_Permitted_Title:Erreur - Permissions de fichier incorrectes  
+FileActions.Yes_To_All:Oui pour tout  
+FileActions.File_Permission_Detail:\n\nNote: En gÃ©nÃ©ral, L'interface bibliothÃ©caire de Greenstone nÃ©cessite une autorisation d'Ã©criture sur le dossier d'accueil de Greenstone,\nlequel est {0}.\nAutorisez Â« ContrÃŽle Total Â» sur ce dossier (et sur tous les sous-dossiers)  pour l'utilisateur courant  ({1}) et re-essayez.\n\n(Alternativement, re-installez Greenstone Ã  l'emplacement oÃ¹ vous avez dÃ©jÃ  "ContrÃŽle Total",\n comme votre dossier d'accueil ou "Mes Documents".)  
+
+#************************
+#
+#******* File Associations dialog **********
+FileAssociationDialog.Add:Ajouter
+FileAssociationDialog.Add_Tooltip:Utiliser cette application pour visionner les fichiers de ce type
+FileAssociationDialog.Batch_File:Fichiers de lots
+FileAssociationDialog.Browse:Parcourir
+FileAssociationDialog.Browse_Tooltip:Choisir l'application Ã  utiliser dans votre espace fichiers
+FileAssociationDialog.Browse_Tooltip_Mac:La navigation pour votre application est actuellement dÃ©sactivÃ©e pour MacOS.
+FileAssociationDialog.Browse_Title:Choisir application
+FileAssociationDialog.Close:Fermer
+FileAssociationDialog.Close_Tooltip:Fermer cette boÃ®te de dialogue et retourner Ã  la fenÃªtre principale
+FileAssociationDialog.Command:Lancer la commande :  
+FileAssociationDialog.Command_File:Fichiers de commandes
+FileAssociationDialog.Command_Tooltip:Entrer la commande pour lancer l'application Ã  utiliser
+FileAssociationDialog.Details:DÃ©tails de la nouvelle association de fichier  
+FileAssociationDialog.Executable_File:Fichiers exÃ©cutables
+FileAssociationDialog.Extension:Pour la terminaison de fichier :  
+FileAssociationDialog.Extension_Tooltip:L'extension des fichiers Ã  visionner
+FileAssociationDialog.Instructions:Utilisez ce dialogue pour spÃ©cifier les programmes externes qui sont utilisÃ©s pour visualiser un certain type de fichiers, et la commande qui est envoyÃ©e pour lancer ce programme.\nPour ajouter un nouveau type de fichier, tapez son extension dans 'Pour extensions de fichier'. Pour ajouter ou modifier une commande de lancement, tapez dans 'ExÃ©cuter commande' ou cliquez sur 'Parcourir' pour rechercher dans le systÃšme de fichiers un programme appropriÃ©. Utilisez la chaÃ®ne spÃ©ciale '%1' pour indiquer l'endroit oÃ¹ le nom du fichier Ã  ouvrir doit Ãªtre insÃ©rÃ©, exemple: "C:\\Windows\\System\\MSPaint.exe %1". '%1' sera annexÃ© Ã  la fin d'une commande, sauf spÃ©cification contraire.\nLes utilisateurs de MacOS devraient toujours essayer d'abord la commande Mac spÃ©cifique "open [-a<application_name>] %1".  
+FileAssociationDialog.Table.Command:Commande
+FileAssociationDialog.Table.Extension:Extension
+FileAssociationDialog.Title:Modifier les associations de fichier  
+FileAssociationDialog.Remove:Supprimer
+FileAssociationDialog.Remove_Tooltip:Supprimer les associations prÃ©sentement sÃ©lectionnÃ©es des associations existantes
+FileAssociationDialog.Replace:Remplacer
+FileAssociationDialog.Replace_Tooltip:Remplacer l'association sÃ©lectionnÃ©e par cette nouvelle association  
+#*******************
+#
+#******Filter***************
+Filter.0:HTM & HTML
+Filter.1:XML
+Filter.2:Fichiers texte
+Filter.3:Images
+Filter.4:PDF  
+Filter.5:Documents Office  
+Filter.All_Files:Tous les fichiers
+Filter.Filter_Tree:Montrer les fichiers
+Filter.Invalid_Pattern:<HTML><FONT FACE={FONT} COLOR=Black>L'expression que vous avez entrÃ©e pour filtrer les fichiers n'est pas valide.<BR>Veuillez rÃ©essayer en utilisant une syntaxe d'expression ordinaire et avec<BR>* pour le caractÃšre wildcard.</FONT></HTML>
+#***********************
+#
+#***** GAuthenticator *****
+GAuthenticator.Password:Mot de passe :  
+GAuthenticator.Password_Tooltip:Entrez votre mot de passe ici
+GAuthenticator.Title:Mot de passe requis.
+GAuthenticator.Username:Nom d'utilisateur
+GAuthenticator.Username_Tooltip:Entrez votre nom d'utilisateur ici
+#**************************
+#
+#***** General Messages *****
+# 0 - A String representing the name and method of the class in question.
+General.Apply:Appliquer
+General.Apply_Tooltip:Appliquer les configurations courantes mais sans sortir de la boÃ®te de dialogue
+General.Browse:ParcourirâŠ  
+General.Cancel:Annuler
+General.Cancel_Tooltip:Annuler les modifications (cela ne va pas annuler les modifications dÃ©ja appliquÃ©es)
+General.Close:Fermer
+General.Close_Tooltip:Fermer cette boÃ®te de dialogue
+General.Edit:Modifier valeur  
+General.Error:Erreur
+General.LLS_Not_Started:Vous avez executÃ© le serveur Greenstone, mais vous n'avez pas encore appuyÃ© sur le bouton Enter Library./Une fois ceci fait, appuyer encore une fois sur PrÃ©visualiser collection pour visualiser la collection.  
+General.LLS_Not_Started_Title:Le Serveur de bibliothÃšque local n'a pas encore dÃ©marrÃ©.  
+General.No:Non
+General.NotSunJava:Fournisseur java: {0}\nNotez que l'Interface BibliothÃšcaire a Ã©tÃ© dÃ©veloppÃ©e et testÃ©e avec Java de Sun Microsystems.  
+General.OK:OK
+General.OK_Tooltip:Accepter les configurations courantes et sortir du dialogue
+General.Outstanding_Processes:<html> Impossible fermer complÃ©tement l'Interface BibliothÃšcaire avant que que tous les programmes<br>lancÃ©s par celle-ci soient Ã©galement fermÃ©s.</html>  
+General.Outstanding_Processes_Title:En attente de sortie
+General.Pure_Cancel_Tooltip:Annuler cette opÃ©ration (aucune modification ne sera faite)
+General.Review_Output:Veuillez vÃ©rifier le rÃ©sultat ci-dessous:
+General.Redo:RÃ©tablir  
+General.Redo_Tooltip:Restaurer la derniÃšre action "Annuler"  
+General.Undo:Annuler  
+General.Undo_Tooltip:Annuler la derniÃšre modification  
+General.Usage:Usage: {0} <params>\nTous les paramÃštres sont facultatifs mais l'Interface BibliothÃ©caire peut ne pas fonctionner si -gsdl et -library ne sont pas dÃ©finis.\n -gsdl <chemin>: Force chemin vers gsdl\n -library <chemin>: Chemin vers cgi-bin\nmozilla <chemin>: Mozilla activÃ©\n -mirror: Active les contrÃŽles pour les miroirs web\n -laf [javaIwindowsImotifImac]: Look and Feel\n -debug: Active les messages de dÃ©bogage\n no_load: Ne pas charger la collection prÃ©cÃ©demment ouverte\n -load <chemin>: Charge la collection spÃ©cifiÃ©e  
+General.View:Voir la valeur
+General.Warning:Attention
+General.Yes:Oui
+#****************************
+#
+#***** GShell *****
+GShell.BadArgument:Argument {0} invalide.  
+GShell.BadArgumentValue:Argument {0} a une valeur invalide.  
+GShell.BadPluginOptions:Une incompabilitÃ© de commande s' est produite dans le plugiciel {0}.  
+GShell.BadClassifierOptions:L' incompabilitÃ© de commande s'est produite dans le classificateur {0}.  
+GShell.Build.Auxilary:CrÃ©ation et  rangement des fichiers auxiliaires  
+GShell.Build.BuildBegun1:************** Construction dÃ©marrÃ©e **************
+GShell.Build.BuildCancelled:**************   AnnulÃ©    **************
+GShell.Build.BuildComplete1:************** Construction terminÃ©e **************
+GShell.Build.CompressText:Compression du texteâŠ
+GShell.Build.Index:CrÃ©ation d'un index basÃ© sur {0-index source and level}...
+GShell.Build.InfoDatabase:CrÃ©ation d'une base de donnÃ©es d'informationâŠ  
+GShell.Build.Phind:GÃ©nÃ©ration d'un classificateur Phind. Ceci pourrait prendre quelque tempsâŠ
+GShell.Schedule.ScheduleBegun1:**************** Le programme a dÃ©marrÃ© ***************  
+GShell.Schedule.ScheduleComplete1:**************** Le programme est terminÃ© ***************  
+GShell.Schedule.ScheduleDelete:**************** Le programmation actuelle est en cours d'annulation ***************  
+GShell.Command:Commande
+GShell.Failure:La commande a Ã©chouÃ©.
+GShell.Import.FileNotProcessed:Le fichier {0-target file path} a Ã©tÃ© reconnu mais n'a pu Ãªtre traitÃ© par aucun plugiciel.  
+GShell.Import.FileNotRecognised:Le fichier {0-target file path} ne peut pas Ãªtre ajoutÃ© car son type n'est reconnu par aucun plugiciel Greenstone.  
+GShell.Import.FileProcessing:Le fichier {0-target file path} est en cours de traitement par {1-plugin name}.
+GShell.Import.FileProcessingError:Une erreur s'est produite los du traiement du fichier {0-target file path}
+GShell.Import.ImportBegun1:************** Importation dÃ©marrÃ©e **************
+GShell.Import.ImportComplete1:************** Importation terminÃ©e **************
+GShell.Import.ImportComplete2:{0-number documents considered} documents ont Ã©tÃ© pris en compte pour traitement:
+GShell.Import.ImportComplete2.1:1 document a Ã©tÃ© pris en compte pour traitement:
+GShell.Import.ImportComplete.Processed:{0-number processed} ont Ã©tÃ© traitÃ©s et intÃ©grÃ©s dans la collection.
+GShell.Import.ImportComplete.Processed.1:1 a Ã©tÃ© traitÃ© et intÃ©grÃ© dans la collection.
+GShell.Import.ImportComplete.Blocked:{0-number blocked} ont Ã©tÃ© empÃªchÃ©s d'Ãªtre ajoutÃ©s par les plugiciels (par exemple images dans pages web)  
+GShell.Import.ImportComplete.Blocked.1:1 a Ã©tÃ© empÃªchÃ© d'Ãªtre ajoutÃ© par les plugiciels (par exemple images dans pages web)  
+GShell.Import.ImportComplete.Ignored:{0-number ignored} n'ont pas Ã©tÃ© reconnus  
+GShell.Import.ImportComplete.Ignored.1:1 n'a pas Ã©tÃ© reconnu  
+GShell.Import.ImportComplete.Failed:{0-number failed} ont Ã©tÃ© rejetÃ©s.
+GShell.Import.ImportComplete.Failed.1:1 a Ã©tÃ© rejetÃ©.
+GShell.Import.ImportComplete3:\n
+GShell.Import.Warning:Avertissement de {0-plugin name} :  
+GShell.Parsing_Metadata_Complete:L'extraction de mÃ©tadonnÃ©es archivÃ©es est terminÃ©e.  
+GShell.Parsing_Metadata_Start:Extraction de nouvelles mÃ©tadonnÃ©es Ã  partir des fichiers archives.  
+GShell.Success:Commande exÃ©cutÃ©e.
+#*********************
+#
+#***** GUI *****
+# Currently Enabled and Disabled display the same text but in different
+# colours. If necessary this can be changed.
+GUI.Create:CrÃ©er
+GUI.Create_Tooltip:Construire votre collection en utilisant Greenstone
+GUI.Design:ParamÃ©trer  
+GUI.Design_Tooltip:ParamÃ©trer la fonctionnalitÃ© et l'apparence de votre collection  
+GUI.Download:TÃ©lÃ©charger  
+GUI.Download_Tooltip:TÃ©lÃ©charger des ressources d'internet dans votre collection
+GUI.Enrich:Enrichir
+GUI.Enrich_Tooltip:Attribuer des mÃ©tadonnÃ©es aux fichiers dans votre collection  
+GUI.Format:Formater  
+GUI.Format_Tooltip:ParamÃ©trer l'apparence de votre collection  
+GUI.Gather:Rassembler
+GUI.Gather_Tooltip:SÃ©lectionner les fichiers Ã  inclure dans votre collection
+#***************
+#
+#***** HELP *****
+Help.Contents:Contenus
+Help.Title:Pages d'aide de l'Interface BibliothÃ©caire  
+#****************************
+#
+#***** Invalid Metadata ******
+InvalidMetadata.Message:Cet Ã©lÃ©ment de mÃ©tadonnÃ©es est restreint Ã  un ensemble de valeurs prÃ©-dÃ©finies. S' il vous plaÃ®t choisissez une parmi les valeurs existantes.  
+InvalidMetadata.Title:Metadata Invalide  
+#***************************
+#
+#***** LegacyCollection
+LegacyCollection.Message:Vous Ãªtes sur le point de charger une collection qui n'a pas Ã©tÃ© crÃ©Ã© par le GLI. Les mÃ©tadonnÃ©es existantes seront importÃ©es dans le jeu de mÃ©tadonnÃ©es Dublin Core. Les fichiers des mÃ©tadonnÃ©es originales seront enregistrÃ©s dans un dossier appelÃ© import.bak.  
+LegacyCollection.Title:Chargement de la collection externe  
+#***************************
+#
+#***** LockFileDialog *****
+LockFileDialog.Cancel_Tooltip:Ne pas voler le contrÃŽle du fichier de verrouillage (la collection ne s'ouvrira pas)
+LockFileDialog.Date:Date
+LockFileDialog.Error:erreur
+LockFileDialog.Lockfile_Message_One:La prÃ©sence d'un fichier de verrouillage suggÃšre que cette collection est dÃ©jÃ  ouverte.
+LockFileDialog.Lockfile_Message_Two:Souhaitez-vous 'voler' le contrÃŽle de ce fichier de verrouillage?
+LockFileDialog.Machine:OÃ¹
+LockFileDialog.Name:Nom
+LockFileDialog.OK_Tooltip:Voler le contrÃŽle du fichier de verrouillage
+LockFileDialog.Title:Fichier de verrouillage dÃ©tectÃ©
+LockFileDialog.User:Qui
+#********************
+#
+#*****MappingPrompt **********
+MappingPrompt.File:Dossier
+MappingPrompt.Map:CrÃ©er un Raccourci
+MappingPrompt.Name:Nom
+MappingPrompt.Title:Etablir un raccourci de dossier  
+MappingPrompt.Unmap:Supprimer Raccourci
+#*******************
+#
+#***** Menu Options *****
+Menu.Collapse:Fermer Dossier
+Menu.Edit:Modifier  
+Menu.Edit_Copy:Copier (ctrl-c)
+Menu.Edit_Cut:Couper (ctrl-x)
+Menu.Edit_Paste:Coller (ctrl-v)
+Menu.Expand:Ouvrir Dossier
+Menu.Explode_Metadata_Database:Ãclater la base de donnÃ©es de mÃ©tadonnÃ©es  
+Menu.Replace_SrcDoc_With_HTML:Remplacer par la version HTML  
+Menu.File:Fichier
+Menu.File_Associations:Associations de fichiersâŠ
+Menu.File_CDimage:Exporter vers CD-RomâŠ
+Menu.File_Close:Fermer
+Menu.File_Delete:EffacerâŠ
+Menu.File_Exit:Sortir
+Menu.File_ExportAs:ExporterâŠ
+Menu.File_New:NouveauâŠ
+Menu.File_Open:OuvrirâŠ
+Menu.File_Options:PrÃ©fÃ©rencesâŠ
+Menu.File_Save:Sauvegarder
+Menu.Help:Aide
+Menu.Help_About:A proposâŠ
+Menu.Metadata_View:MÃ©tadonnÃ©es attribuÃ©es pour le {0}  
+Menu.Open_Externally:Ouvrir dans une application extÃ©rieure
+#********************
+#
+#***** MetaAudit *****
+MetaAudit.Close:Fermer
+MetaAudit.Close_Tooltip:Fermer cette boÃ®te de dialogue
+MetaAudit.Title:Toutes les mÃ©tadonnÃ©es  
+#*********************
+#
+#***** Metadata *****
+Metadata.Element:ElÃ©ment
+Metadata.Value:Valeur
+MetadataSet.Files:Fichiers Jeu de mÃ©tadonnÃ©es  
+#**********************************
+#
+#***** MetadataSetDialog**********
+MetadataSetDialog.Title:GÃ©rer les jeux de mÃ©tadonnÃ©es  
+MetadataSetDialog.Add_Title:Ajouter un jeu de mÃ©tadonnÃ©es  
+MetadataSetDialog.Current_Sets:Jeux de mÃ©tadonnÃ©es affectÃ©s  
+MetadataSetDialog.Available_Sets:Jeux de mÃ©tadonnÃ©es disponibles  
+MetadataSetDialog.Add:Ajouter...  
+MetadataSetDialog.Add_Tooltip:Ajouter un nouveau jeu de mÃ©tadonnÃ©es Ã  la collection  
+MetadataSetDialog.New_Set:Nouveau ...  
+MetadataSetDialog.New_Set_Tooltip:CrÃ©er un nouveau jeu de mÃ©tadonnÃ©es  
+MetadataSetDialog.Add_Set:Ajouter  
+MetadataSetDialog.Add_Set_Tooltip:Ajouter le jeu de mÃ©tadonnÃ©es sÃ©lectionnÃ©es Ã  la collections  
+MetadataSetDialog.Browse:Parcourir ...  
+MetadataSetDialog.Browse_Tooltip:Ajouter un nouveau jeu de mÃ©tadonnÃ©es Ã  la collection  
+MetadataSetDialog.Edit:Modifier...  
+MetadataSetDialog.Edit_Tooltip:Modifier le jeu de mÃ©tadonnÃ©es sÃ©lÃ©ctionnÃ©es  
+MetadataSetDialog.Remove:Retirer  
+MetadataSetDialog.Remove_Tooltip:Retirez les mÃ©tadonnÃ©es sÃ©lectionnÃ©es de la collection  
+MetadataSetDialog.Elements:ElÃ©ments du Jeu de mÃ©tadonnÃ©es sÃ©lectionnÃ©  
+
+#****************************************
+#
+#***** MetadataSetNamespaceClash warning***
+MetadataSetNamespaceClash.Title:IncompatibilitÃ© d'un espace de nom d'un jeu de mÃ©tadonnÃ©es  
+MetadataSetNamespaceClash.Message:L'ensemble des mÃ©tadonnÃ©es que vous avez choisi d'ajouter ({0}) a le mÃªme espace de noms que celui dÃ©jÃ  dans la collection ({1}). Si vous ajoutez cette nouveau jeu, l'ancien sera supprimÃ© et le nouveau sera ajoutÃ© Ã  sa place. Toutes les valeurs de mÃ©tadonnÃ©es attribuÃ©es seront transfÃ©rÃ©es au nouveau jeu, s'il contient les Ã©lÃ©ments appropriÃ©s.  
+#*********************************************
+#
+#******** MetadataImportMappingPrompt *********
+MIMP.Add:Ajouter
+MIMP.Add_Tooltip:Ajouter l'Ã©lÃ©ment de mÃ©tadonnÃ©es au jeu sÃ©lectionnÃ©  
+MIMP.Ignore:Ignorer
+MIMP.Ignore_Tooltip:Ignorer cet Ã©lÃ©ment de mÃ©tadonnÃ©es  
+MIMP.Instructions:L'Ã©lÃ©ment de mÃ©tadonnÃ©es {0} ne peut Ãªtre automatiquement importÃ©e dans la collection. SÃ©lectionner un jeu de mÃ©tadonnÃ©es et soit:\n(1)appuyer sur 'Ajouter' pour ajouter la mÃ©tadonnÃ©e Ã  ce jeu (seulement si la mÃ©tadonnÃ©e {0} n'est pas dejÃ  dans le jeu), soit \n(2) choisir un Ã©lÃ©ment et appuyer sur 'Fusion' pour importer la mÃ©tadonnÃ©e {0} dans cet Ã©lÃ©ment, soit\n(3) ignorer cet Ã©lÃ©ment de mÃ©tadonnÃ©es.  
+MIMP.Merge:Fusionner
+MIMP.Merge_Tooltip:Mettre en correspondance l'Ã©lÃ©ment de mÃ©tadonnÃ©es avec l'Ã©lÃ©ment spÃ©cifiÃ© du jeu sÃ©lectionnÃ©  
+MIMP.Source_Element:ÃlÃ©ment source de mÃ©tadonnÃ©e :  
+MIMP.Target_Element:ÃlÃ©ment de mÃ©tadonnÃ©es cible :  
+MIMP.Target_Set:Jeu de mÃ©tadonnÃ©es cible :  
+MIMP.Title:OpÃ©ration de fusion requise.
+#*****************************
+#
+#***** Mirroring *****
+Mirroring.ClearCache:Effacer la mÃ©moire cache
+Mirroring.ClearCache_Tooltip:Supprimer tous les fichiers tÃ©lÃ©chargÃ©s
+Mirroring.Download:TÃ©lÃ©chargement
+Mirroring.Download_Tooltip:Commencer un nouveau travail de tÃ©lÃ©chargement
+Mirroring.DownloadJob.Close:Fermer
+Mirroring.DownloadJob.Close_Tooltip:Enlever ce travail de la liste, l'arrÃªter si celui-ci s'exÃ©cute
+Mirroring.DownloadJob.Downloading:TÃ©lÃ©chargement {0}
+Mirroring.DownloadJob.Download_Complete:Fin du tÃ©lÃ©chargement
+Mirroring.DownloadJob.Download_Stopped:TÃ©lÃ©chargement interrompu
+Mirroring.DownloadJob.Download_Progress:TÃ©lÃ©chargement en cours
+Mirroring.DownloadJob.Log:Voir l'historique  
+Mirroring.DownloadJob.Log_Tooltip:Voir les dÃ©tails pour ce tÃ©lÃ©chargement
+Mirroring.DownloadJob.Log_Title:TÃ©lÃ©charger l'historique  
+Mirroring.DownloadJob.Pause:Pause
+Mirroring.DownloadJob.Pause_Tooltip:Suspendre ce tÃ©lÃ©chargement
+Mirroring.DownloadJob.Resume:Recommencer  
+Mirroring.DownloadJob.Resume_Tooltip:Continuer ce tÃ©lechargement  
+Mirroring.DownloadJob.Status:TÃ©lÃ©chargÃ© {0} de {1} fichiers ({2} avertissements, {3} erreurs)  
+Mirroring.DownloadJob.Waiting:En attente de dÃ©marrage
+Mirroring.DownloadJob.Waiting_User:En attente dune action de l'utilisateur
+Mirroring.Invalid_URL:L'URL entrÃ© n'est pas valide. Veuillez corriger.
+Mirroring.Invalid_URL_Title:URL invalide
+Mirroring.Preferences:Configuration du ProxyâŠ  
+Mirroring.Preferences_Tooltip:Permettre le proxy et/ou Ã©dition des options du proxy
+#*********************
+#
+#***** Missing EXEC *****
+MissingEXEC.Message:Attention! Vous ne pouvez pas visualiser vos nouvelles collections dans l'Interface BibliothÃ©caire Ã  moins de spÃ©cifier le chemin du Serveur web de bibliothÃšque Greenstone. Vous pouvez saisir ceci maintenant dans le champ texte ci-dessous, ou plus tard en allant Ã  PrÃ©fÃ©rences et en sÃ©lectionnant l'onglet Connexion. Rapelez-vous qu' un URL valide commence toujours par le protocole "http://", et finira probablement avec le nom du fichier exÃ©cutable ("gsdl" pour la Serveur de bibliothÃšque local Greenstone, "library.cgi" pour d'autres serveurs web).  
+MissingEXEC.Title:Addresse de bibliothÃšque Greenstone manquante
+#***** Missing EXEC_GS3 *****
+MissingEXEC_GS3.Message:Veuillez entrer l'adresse de base (URL) du progiciel Greenstone 3. Attention! Vous ne pourrez pas voir vos nouvelles collections dans l'interface bibliotÃšcaire a moins que vous spÃ©cifiez le chemin d'accÃšs Ã  Greenstone pour le serveur http Tomcat qui tourne en local sur votre ordinateur. Vous pouvez saisir cette information dans le champ ci-dessous, ou plus tard en allant dans "PrÃ©fÃ©rences" et en choisissant l'onglet "Connection". Rappellez-vous qu'une URL doit toujours commencer par le prÃ©fixe, "http://".  
+MissingEXEC_GS3.Title:Adresse de base (URL) du progiciel Greenstone 3  
+#***** Missing GLIServer *****
+MissingGLIServer.Message:Saisissez dans le champ de texte ci-dessous l'adresse du script "gliserver.pl" du serveur Ã  distance. Rappelez-vous qu'une URL valide commence par le protocole "http://" et finit par "gliserver.pl".  
+MissingGLIServer.Title:PrÃ©cisez l' adresse du serveur GLI  
+#***** Missing GSDL *****
+MissingGSDL.Message:Attention! Vous ne pourrez pas accÃ©der Ã  toutes les fonctionnalitÃ©s de l'Interface BibliothÃ©caire sans qu'une copie locale de Greenstone Digital Library soit aussi installÃ©. Si vous pensez que vous recevez ce message par erreur, veuillez vÃ©rifier votre installation, et les chemins spÃ©cifiÃ©s dans le fichier de traitement par lot ou le fichier de script de l'Interface BibliothÃ©caire.  
+MissingGSDL.Title:Chemin Greenstone manquant
+#***** Missing PERL *****
+MissingPERL.Message:Attention! Vous ne pourrez pas crÃ©er de nouvelles collections, ni construire celles existantes, sans avoir installÃ© PERL, et l'Interface BibliothÃ©caire n'a pas trouvÃ© PERL dans votre systÃšme. Si vous pensez que vous recevez ce message par erreur, veuillez vÃ©rifier votre installation ainsi que les chemins spÃ©cifiÃ©s dans le fichier de traitement par lot ou le fichier de l'Interface BibliothÃ©caire.  
+MissingPERL.Title:Chemin vers PERL manquant  
+#******* MissingImageMagick ********
+MissingImageMagick.Message:Attention! L'Interface BibliothÃšcaire n'a pu trouver une version appropriÃ©e d'ImageMagick. Il est tout de mÃªme possible d'inclure des images dans des collections ; cependant aucune modification d'images avancÃ©e, tels que la conversion d'un format Ã  un autre ou la crÃ©ation automatique de miniatures, ne sera possible.  
+MissingImageMagick.Title:ImageMagick est manquant
+#*****************************
+#
+#***** New Session *****
+NewCollectionPrompt.Base_Collection:Baser cette collection sur:
+NewCollectionPrompt.Base_Collection_Tooltip:SÃ©lectionner une collection existante sur laquelle baser la nouvelle collection
+NewCollectionPrompt.Collection_Description:Description du contenu:
+NewCollectionPrompt.Collection_Name:Dossier de collection:
+NewCollectionPrompt.Collection_Scope_Personal:Il s'agit d'une collection personnelle  
+NewCollectionPrompt.Collection_Scope_Personal_Tooltip:La collection peut Ãªtre modifiÃ©e par la personne qui l'a crÃ©Ã© et des utilisateurs dans le groupe "all-collections-editor".  
+NewCollectionPrompt.Collection_Scope_Shared:Ceci n'est pas une collection personnelle  
+NewCollectionPrompt.Collection_Scope_Shared_Tooltip:"La collection peut Ãªtre modifiÃ© par les utilisateurs dans le "all-collections-edito" groupe."  
+NewCollectionPrompt.Error:Erreur dans la nouvelle collection.
+NewCollectionPrompt.Instructions:Pour crÃ©er une nouvelle collection remplir les champs ci-dessous
+NewCollectionPrompt.NewCollection:Nouvelle collection
+NewCollectionPrompt.Title:CrÃ©er une nouvelle collection.
+NewCollectionPrompt.Title_Clash:Le titre que vous avez choisi pour votre collection est dÃ©jÃ  utilisÃ©. Continuer?
+NewCollectionPrompt.Title_Error:Le champ de titre doit Ãªtre rempli. Veuillez corriger.
+#***** New Folder OrFilePrompt *****
+NewFolderOrFilePrompt.Default_File_Name:Factice
+NewFolderOrFilePrompt.Default_Folder_Name:nouveau dossier
+NewFolderOrFilePrompt.Destination_Name:Dossier destination
+NewFolderOrFilePrompt.File_Name:Nom du Fichier
+NewFolderOrFilePrompt.File_Name_Tooltip:Tapez un nom pour le nouveau fichier
+NewFolderOrFilePrompt.Folder_Name:Nom du dossier
+NewFolderOrFilePrompt.Folder_Name_Tooltip:Tapez un nom pour le nouveau dossier
+NewFolderOrFilePrompt.Title_Folder:CrÃ©er un nouveau rÃ©pertoire
+NewFolderOrFilePrompt.Title_File:CrÃ©er un nouveau document factice
+#**********************
+#
+#******* OldWGET *******
+NoPluginExpectedToProcessFile.Message:Aucun des plugiciels Greenstone n'est prÃ©vu pour traiter directement le fichier "{0}". (Cependant, il peut Ãªtre inclus dans la collection sâil appartient Ã  un autre ficher, par exemple, une image dans une page web.) VÃ©rifiez que l'extension du fichier est correcte. Si elle est correcte, il se peut que vous deviez utiliser UnknownPlug pour traiter ce fichier.  
+NoPluginExpectedToProcessFile.Title:Aucun plugicel prÃ©vu pour traiter le fichier.  
+#***********************
+#
+#***** OpenCollectionDialog *****
+OpenCollectionDialog.Available_Collections:Collections disponibles
+OpenCollectionDialog.Description:Description de la collection
+OpenCollectionDialog.Open:Ouvrir
+OpenCollectionDialog.Open_Tooltip:Charger la collection sÃ©lectionnÃ©e dans l'Interface BibliothÃ©caire  
+OpenCollectionDialog.Title:Ouvrir la collection Greenstone
+#**********************
+#
+#***** Options Pane inside CreatePane *****
+OptionsPane.Cancelled:- annulÃ©
+OptionsPane.LogHistory:Historique des journaux  
+OptionsPane.Successful:- rÃ©ussi
+OptionsPane.Scheduled:- programmÃ©  
+OptionsPane.Unknown:- inconnu
+OptionsPane.Unsuccessful:- non rÃ©ussi
+#*******************
+#
+#***** Preferences *****
+Preferences:PrÃ©fÃ©rences
+Preferences.Connection:Connexion
+Preferences.Connection_Tooltip:DÃ©finir l'URL vers la bibliothÃšque Greenstone et configurer une connexion proxy si nÃ©cessaire
+Preferences.Connection.GLIServer_URL:URL du server GLI de Greenstone:  
+Preferences.Connection.GLIServer_URL_Tooltip:Le URL du Greenstone "gliserver" en script CGI  
+Preferences.Connection.Library_Path:Chemin de la bibliothÃšque
+Preferences.Connection.Library_Path_GS3:Chemin d'accÃ©s Web de Greenstone
+Preferences.Connection.Library_Path_Tooltip:L'URL du serveur web Greenstone
+Preferences.Connection.Library_Path_Tooltip_GS3:URL du serveur web de Greenstone
+Preferences.Connection.Library_Path_Connection_Failure:Impossible de se connecter. Veuillez vÃ©rifier qu'un serveur Greenstone est lancÃ© Ã  {0}.  
+Preferences.Connection.ProgramCommand:Commande de prÃ©visualisation:
+Preferences.Connection.ProgramCommand_Tooltip:La commande d'exÃ©cution pour le programme utilisÃ© pour prÃ©visualiser la collection. Pensez Ã  utiliser %1 pour rÃ©server de la place pour l'adresse de la collection et Ã  utiliser des symboles lÃ  oÃ¹ c'est nÃ©cessaire.
+Preferences.Connection.Proxy_Host:HÃŽte proxy
+Preferences.Connection.Proxy_Host_Tooltip:L'adresse de votre serveur proxy
+Preferences.Connection.Proxy_Port:Port du proxy :  
+Preferences.Connection.Proxy_Port_Tooltip:Le numÃ©ro de port de votre serveur proxy  
+Preferences.Connection.Servlet:Servlet:
+Preferences.Connection.Servlet_Tooltip:Servlet Ã  utiliser pour afficher votre site
+Preferences.Connection.Servlet_Tooltip2:Il n'y a pas de servlet spÃ©cifiÃ© pour ce site, vous pouvez toujours construire des collections, mais vous ne pourrez pas les voir
+Preferences.Connection.Site:Site:
+Preferences.Connection.Site_Tooltip:Le site sur lequel vous voulez travailler
+Preferences.Connection.Use_Proxy:Utiliser une connexion par proxy ?  
+Preferences.General:GÃ©nÃ©ral
+Preferences.General_Tooltip:DÃ©finir quelques prÃ©fÃ©rences gÃ©nÃ©rales
+Preferences.General.Email:Email de l'utilisateur:
+Preferences.General.Email_Tooltip:L'addresse email est utilisÃ©e automatiquement pour toute collection crÃ©e avec GLI
+Preferences.General.Font:Police:
+Preferences.General.Font_Tooltip:La police utilisÃ©e pour l'interface GLI.
+Preferences.General.Interface_Language:Langue d'interface
+Preferences.General.Interface_Language_Tooltip:SÃ©lectionner la langue que vous voulez utiliser pour l'interface et ses commandes,
+Preferences.General.Restart_Required:GLI doit Ãªtre redÃ©marrÃ© pour mettre Ã  jour la langue de son interface.  
+Preferences.General.Manual_Restart_Required:Veuillez redÃ©marrer GLI afin de que les modifications prennent effet.  
+Preferences.General.Show_File_Size:Montrer les tailles des fichiers
+Preferences.General.Show_File_Size_Tooltip:Montrer les tailles des fichiers Ã  cÃŽtÃ© des entrÃ©es dans le bureau et dans l'arborescence des fichiers des collections.
+Preferences.General.View_Extracted_Metadata:Visualiser les mÃ©tadonnÃ©es extraites  
+Preferences.General.View_Extracted_Metadata_Tooltip:Afficher les mÃ©tadonnÃ©es extraites par les plugiciels de Greenstone dans la liste de mÃ©tadonnÃ©es de la vue "Enrichir".  
+Preferences.Mode:Mode
+Preferences.Mode_Tooltip:Cliquez sur une entrÃ©e pour sÃ©lectionner un niveau d'opÃ©ration convenable
+Preferences.Mode.Assistant:Assistant BibliothÃ©caire
+Preferences.Mode.Assistant_Description:Utiliser cette configuration pour accÃ©der aux caractÃ©ristiques de base de l'Interface BibliothÃ©caire de Greenstone : ajout de documents et mÃ©tadonnÃ©es aux collections, crÃ©ation de nouvelles collections dont les structures reflÃštent celles des collections existantes, et construction de collections.  
+Preferences.Mode.Librarian:BibliothÃ©caire
+Preferences.Mode.Librarian_Description:Cette configuration permet l'utilisation normale de l'Interface BibliotÃ©caire de Greenstone : crÃ©ation et paramÃ©trage de nouvelles collections, ajout de documents et de mÃ©tadonnÃ©es aux collections et construction de collections.  
+Preferences.Mode.Expert:Expert
+Preferences.Mode.Expert_Description:Cette configuration permet l'utilisation de l'Interface BibliothÃ©caire Greenstone en mode expert. Elle est recommandÃ©e pour des utilisateurs expÃ©rimentÃ©s avec Greenstone et qui sont capables de procÃ©der Ã  des dÃ©pannages impliquant l'interprÃ©tation de sorties de dÃ©bogage de scripts PERL. Toutes les fonctionnalitÃ©s de l'Interface BibliothÃ©caire Greenstone sont activÃ©es.  
+Preferences.Warnings:Avertissements
+Preferences.Warnings_Tooltip:Activer ou dÃ©sactiver les diffÃ©rents dialogues d'avertissement  
+Preferences.Workflow:Flux de travail
+Preferences.Workflow_Tooltip:Concevoir le flux de travail de l'interface: dÃ©finir les boÃ®tes de dialogue Ã  activer
+Preferences.Workflow.Predefined.Label:Flux de travail prÃ©dÃ©finis
+Preferences.Workflow.Title:Cocher la case pour permettre la visualisation
+#**********************
+#
+#**** PreviewCommandDialog *******
+PreviewCommandDialog.Instructions:Entrez la commande pour ouvrir le programme qui permet de voir la prÃ©visualisation de collection. Pensez Ã  utiliser %1 pour rÃ©server de la place pour l'adresse de la collection et Ã  utiliser des symboles lÃ  oÃ¹ c'est nÃ©cessaire.
+PreviewCommandDialog.Title:Commande de prÃ©visualisation
+
+ShowPreviousCollection.Title:AperÃ§u de la collection prÃ©cÃ©demment construite  
+ShowPreviousCollection.Message:Une erreur s'est produite et la collection n'a pas pu Ãªtre creÃ©. Vous prÃ©visualisez la collection qui a Ã©tÃ© construite prÃ©cÃ©demment.  
+#**********************
+#
+#***** Remote Greenstone Server *****
+RemoteGreenstoneServer.Authentication_Message:Saisissez s'il vous plaÃ®t votre compte Greenstone et votre nom de passe:  
+RemoteGreenstoneServer.Authentication_Message_gs3:Veuillez saisir votre nom d'utilisateur et mot de passe Greenstone sur le site:  
+RemoteGreenstoneServer.Error:Une erreur s'est produite dans le serveur isolÃ© de Greenstone en produisant cette opÃ©ration:\n{0-Erreur message}  
+RemoteGreenstoneServer.Error_Title:Erreur du Serveur Greenstone IsolÃ©  
+RemoteGreenstoneServer.Progress:ProgrÃšs du Serveur IsolÃ© de Greenstone:  
+RemoteGreenstoneServer.Steal_Lock_Message:Cette collection est pour l'instant bloquÃ©e par l'usager '{0-User name}'.\nVoulez-vous prendre possession du control de bloquage de ce fichier (pas recommandÃ© car le travail peut Ãªtre perdu)?  
+#**********************
+#
+#***** Rename Prompt *****
+RenamePrompt.Name:Nom:  
+RenamePrompt.Title:Renommez le fichier  
+#**********************
+#
+#***** Replace Prompt *****
+ReplacePrompt.Title:Remplacer le fichier avec ...  
+#**********************
+#
+#***** Save Collection Box *****
+SaveCollectionBox.File_Name:Nom de fichier:
+SaveCollectionBox.Files_Of_Type:Fichiers de type :  
+SaveCollectionBox.Look_In:Regarder dans:
+#**********************
+#
+#***** Save Progress Box *******
+SaveProgressDialog.Title:Sauvegarde de la collection
+#*******************************
+#
+Server.QuitManual:L'Interface BibliothÃšcaire n'a pas Ã©tÃ© en mesure de fermer automatiquemet\nle serveur de bibliothÃšque locale. Veuillez arrÃªter le serveur\nmanuellemnt en cliquant sur l'icÃŽne portant la croix situÃ©e en haut\Ã  droite, puis cliquez sur OK de la boÃ®te dialogue.  
+Server.QuitTimeOut:La bibliothÃšque Greenstone locale n'a pas rÃ©pondu Ã  la commande de fermeture automatique pendant soixante secondes. Voulez vous\n attendre une autre minute?
+Server.StartUpTimeOut:La bibliothÃšque Greenstone locale n'a pas rÃ©pondu Ã  la\ncommande de dÃ©marrage pendant {0} secondes. Voulez vous\nattendre encore {0} secondes ?  
+#
+#***** Sources *****
+Source.General:GÃ©nÃ©ral
+#**********************
+#
+#***** Trees *****
+Tree.DownloadedFiles:Fichiers tÃ©lÃ©chargÃ©s
+Tree.Files:fichiers
+Tree.Home:Dossier de dÃ©marrage ({0})
+Tree.Root:Espace de fichiers local
+Tree.World:Documents dans les Collections Greenstone
+#***********************
+#
+#***** Warning Dialog *****
+WarningDialog.Dont_Show_Again:Ne pas afficher cet avertissement de nouveau  
+WarningDialog.Dont_Show_Again_Message:Ne plus afficher ce message
+WarningDialog.Invalid_Value:La valeur que vous avez introduite dans le champ de valeur\nn'est pas valide pour la propriÃ©tÃ© spÃ©cifiÃ©e.
+WarningDialog.Value:Introduire valeur:
+#
+#****** WGet *****
+WGet.Prompt:Client mirroir Wget
+#
+#****** Workflows *****
+Workflow.AllPanels:Tous les panneaux
+Workflow.LocalSourceCollectionBuilding:Construction d'un collection locale.
+Workflow.DocumentEnriching:Enrichissement du document.
+
+
+#********GEMS******
+
+GEMS.Title:Editeur Greenstone de jeux de mÃ©tadonnÃ©es  
+GEMS.OpenMetadataSetPrompt.Title:Ouvrir le jeu de mÃ©tadonnÃ©es  
+GEMS.OpenMetadataSetPrompt.Open_Tooltip:Ouvrir le jeu de mÃ©tadonnÃ©es sÃ©lectionnÃ©  
+GEMS.Set_Description:Description d'un jeu de mÃ©tadonnÃ©es  
+GEMS.OpenMetadataSetPrompt.Open:Ouvrir  
+GEMS.OpenMetadataSetPrompt.Available_Sets:Jeux de mÃ©tadonnÃ©es disponibles  
+GEMS.DeleteMetadataSetPrompt.Title:Supprimer ce jeu de mÃ©tadonnÃ©es  
+GEMS.DeleteMetadataSetPrompt.Delete_Tooltip:Supprimer le jeu de mÃ©tadonnÃ©es sÃ©lectionnÃ©  
+GEMS.DeleteMetadataSetPrompt.Delete:Supprimer  
+GEMS.DeleteMetadataSetPrompt.Available_Sets:Jeux de mÃ©tadonnÃ©es disponsibles  
+GEMS.DeleteMetadataSetPrompt.Confirm_Delete:Veuillez cocher la case pour confirmer la suppression du jeu de mÃ©tadonnÃ©es.  
+GEMS.DeleteMetadataSetPrompt.No_Set:Aucun jeu de mÃ©tadonnÃ©es sÃ©lectionnÃ©  
+GEMS.Confirm_Removal:Etes vous sÃ»r de vouloir supprimer ce {0}?
+GEMS.Confirm_Removal_Title:Confirmer suppression
+GEMS.Attribute:Attribut
+GEMS.Popup.AddElement:Ajouter un Ã©lÃ©ment  
+GEMS.Popup.DeleteElement:Supprimer un Ã©lÃ©ment  
+GEMS.Popup.AddSubElement:Ajouter un sous-Ã©lÃ©ment  
+GEMS.Popup.DeleteSubElement:Supprimer un sous-Ã©lÃ©ment  
+GEMS.NewMetadataSetPrompt.Title:Nouveau jeu de mÃ©tadonnÃ©es  
+GEMS.NewMetadataSetPrompt.Instructions:Pour crÃ©er un nouveau jeu de mÃ©tadonnÃ©es complÃ©ter les champs ci-dessous :  
+GEMS.NewMetadataSetPrompt.Base_MetadataSet:Baser ce jeu de mÃ©tadonnÃ©es sur :  
+GEMS.NewMetadataSetPrompt.Metadata_Title:Titre du jeu des mÃ©tadonnÃ©es :  
+GEMS.NewMetadataSetPrompt.Metadata_Namespace:Espace de noms du jeu des mÃ©tadonnÃ©es :  
+GEMS.NewMetadataSetPrompt.New_Metadata:-- Nouveau jeu de mÃ©tadonnÃ©es --  
+GEMS.NewMetadataSetPrompt.Title_Error_Message:Un nouveau jeu de mÃ©tadonnÃ©es doit disposer d'un titre  
+GEMS.NewMetadataSetPrompt.Title_Error:Pas de titre spÃ©cifiÃ©  
+GEMS.NewMetadataSetPrompt.Namespace_Error_Message:Un nouveau jeu de mÃ©tadonnÃ©es doit avoir un espace de noms  
+GEMS.NewMetadataSetPrompt.Namespace_Error:Pas d'espace de noms spÃ©cifiÃ©  
+GEMS.SelectedLanguage:Ajoutez des attributs pour la langue:  
+GEMS.Language:Langue
+GEMS.LanguageDependent:Attributs qui dÃ©pendent de la langue  
+GEMS.Attribute_Table:Attributs  
+GEMS.Attribute_Deletion_Error:Erreur de suppression d'attribut  
+GEMS.Attribute_Deletion_Error_Message:Cet attribut est obligatoire et ne peut pas Ãªtre supprimÃ©  
+GEMS.Add_Lang_Depend_Attr_Error:Erreur d'ajout d'attribut  
+GEMS.Add_Lang_Depend_Attr_Error_Message:"Pas d'attribut "dÃ©pendant de la langue" est prÃ©vu, veuillez ajouter cet attribut"  
+GEMS.Attribute_Edition_Error:Erreur d'Ã©dition d'attribut  
+GEMS.Attribute_Edition_Error_Message:Cet attribut est obligatoire et ne peut pas Ãªtre vide  
+GEMS.Confirm_Save:Ce jeu de mÃ©tadonnÃ©es a Ã©tÃ© modifiÃ©, voulez-vous l'enregistrer ?  
+GEMS.Confirm_Save_Title:Enregistrer le jeu des mÃ©tadonnÃ©es  
+GEMS.Confirm_DeleteElement:Etes-vous sÃ»r de vouloir supprimer l'Ã©lÃ©ment {0}?  
+GEMS.Confirm_DeleteElement_Title:Supprimer l'Ã©lÃ©ment  
+GEMS.File_Deletion_Error_Message:Ce fichier ne peut pas Ãªtre supprimÃ©  
+GEMS.File_Deletion_Error:Erreur de suppression de fichier  
+GEMS.Namespace_Conflict_Message:Attention : cet espace de noms a Ã©tÃ© utilisÃ© par un autre jeu de mÃ©tadonnÃ©es. Continuer ?  
+GEMS.Namespace_Conflict:Conflit d'espace de noms  
+GEMS.Move_Up:DÃ©placer vers le haut  
+GEMS.Move_Down:DÃ©placer vers le bas  
+GEMS.Cannot_Undo:(cette action est irrÃ©versible)
+
+GEMS.AttributeTable.Name:Nom  
+GEMS.AttributeTable.Language:Langues  
+GEMS.AttributeTable.Value:Valeur  
+GEMS.NewMetadataElementNamePrompt.Title:Nouvel Ã©lÃ©ment  
+GEMS.NewMetadataElementNamePrompt.Name:Veuillez entrer un nom pour le novel Ã©lÃ©ment  
+GEMS.NewMetadataElementNamePrompt.SubTitle:Nouveau sous-Ã©lÃ©ment  
+GEMS.NewMetadataElementNamePrompt.SubName:Veuillez entrer un nom pour le nouveau sous-Ã©lement  
+GEMS.NewMetadataElementNamePrompt.Name_Error_Message:Un Ã©lÃ©ment avec ce nom existe dÃ©jÃ   
+GEMS.NewMetadataElementNamePrompt.Name_Error:Erreur de nom d'Ã©lÃ©ment  
+GEMS.NewMetadataElementNamePrompt.EmptyName_Error_Message:Un nouvel Ã©lÃ©ment doit avoir un nom.  
+
+
+GEMS.No_Set_Loaded:"Aucun jeu de mÃ©tadonnÃ©es n'est chargÃ©. Veuillez utiliser Fichier -> Nouveau pour crÃ©er un nouveau jeu, ou Fichier -> Ouvrir pour ouvrir un jeu existant."  
Index: main/tags/2.83/gli/classes/dictionary_kk.properties
===================================================================
--- main/tags/2.83/gli/classes/dictionary_kk.properties	(revision 21123)
+++ main/tags/2.83/gli/classes/dictionary_kk.properties	(revision 21123)
@@ -0,0 +1,1159 @@
+#*********************************************************
+# Kazakh GLI Dictionary.
+# Translated by Zhanat Kulenov, Kalima Tuenbaeva and Sergey Karpov in May 2009.
+#
+#*********************************************************
+
+#*******************
+#** Language Orientation Property
+Component.Orientation:LTR  
+
+#*******************
+#
+#***** AboutDialog *****
+AboutDialog.Acknowledgement:ÓšÐ· Ð±Ð°ÒÐŽÐ°ÑÐ»Ð°ÐŒÐ°Ð»Ð°ÑÑ, Ð¿Ð°ÐºÐµÑÑÐµÑÑ ÐœÐµÐŒÐµÑÐµ ÑÑÐœÑÐ¿ÑÐ°ÑÑ Ò¯ÑÑÐœ Ð°Ð»ÒÑÑÑÐ°Ñ...
+AboutDialog.Date:(2007 ÑÑÐ»ÐŽÐµ)
+AboutDialog.Item0:Xerces Java 1' Apache Ð±Ð°ÒÐŽÐ°ÑÐ»Ð°ÐŒÐ°ÑÑÐœ ÒÐ°ÐŒÑÐ°ÐŒÐ°ÑÑÐ· ÐµÑÑÒÐŸÑÑÐœÐ°Ðœ (http://www.apache.org/)
+AboutDialog.Item2:WGet' ÐÑÑÐºÑÑ Ð±Ð°ÒÐŽÐ°ÑÐ»Ð°ÐŒÐ°ÐœÑ ÒÐ°ÐŒÑÐ°ÐŒÐ°ÑÑÐ· ÐµÑÑ ÒÐŸÑÑÐœÐ°Ðœ (http://www.gnu.org/software/wget/wget.html)  
+AboutDialog.Item3:qflib' ÐÑÑÑÐœÑÑ Ð¡Ð°Ð¿Ð°Ð»Ñ Ð±Ð°ÒÐŽÐ°ÑÐ»Ð°ÐŒÐ°ÐœÑ ÒÐ°ÐŒÑÐ°ÐŒÐ°ÑÑÐ· ÐµÑÑÐŽÐµÐœ (http://www.qfs.de/en/qflib/index.html)
+AboutDialog.Item4:ÐÑÑÐœÐŸ ÐÐ°ÐŒÐŸÐœ Ð¶ÓÐœÐµ ÑÐŸÐ°Ð²ÑÐŸÑÐ»Ð°Ñ ÐŽÐ°ÐžÐœÐŽÐ°ÒÐ°Ðœ ÑÒ¯Ð·Ð³ÑÑ ÑÑÐœÑÐ¿ ÑÐ°Ð¹Ð»ÐŽÐ°ÑÑÐœ ÐºÐµÒ£ÐµÐ¹ÑÑ (http://pollo.sourceforge.net/)
+AboutDialog.Item5:'Ð€Ð°Ð¹Ð»ÐŽÑ ÑÐ°Ò£ÐŽÐ°ÒÐ°ÐœÐŽÐ°ÑÐŒÐµÐœ, ÑÐ°Ð¹Ð»ÐŽÑÒ£ Ð°ÑÑÐœ Ó©Ð·Ð³ÐµÑÑÑÐŽÑ ÒÐ°Ð»Ð°Ð¹ ÑÐŸÒÑÐ°ÑÑ ÐºÐµÑÐµÐº' - vladi21 (http://www.experts-exchange.com/)  
+AboutDialog.Item6:ÐÐ²ÑÐŸÐ°Ð¹ÐœÐ°Ð»ÐŽÑÑÑ' - ÐÐ°ÑÐº ÐÐŸÐ¹, ÐÑÐ¹Ð² ÐÑÐŽ Ð¶ÓÐœÐµ Ð ÐŸÐ±ÐµÑÑ Ð­ÐºÑÑÐµÐ¹ÐœÐŒÐµÐœ, ÐŽÐ°Ð¹ÑÐœÐŽÐ°Ð»ÒÐ°Ðœ Java Swing (http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf)
+AboutDialog.Item7:Ð­ÐœÐŽÑÑ ÐÐ¶. ÐÑÐŒÑÑÑÐŸÐœÐ³-ÑÑÐ·ÐŽÑÒ£ JÐ°ÒÐ°ÑÑÐ°ÑÑÒ£ÑÐ·ÒÐ°' ÐºÐµÑÐºÑÐœÐŽÐµÑÐŽÑ Ð°Ð¿Ð°ÑÑÐŽÑ ÒÐŸÑÑÐŽÑÒ£ ÒÐŸÑÐ°Ð»ÒÑ ÑÑÑÐµÐºÑÑÐ»ÐµÑÑ (http://www.javaworld.com/javaworld/javatips/jw-javatip114.html)
+AboutDialog.Item8:Ð£ÐŸÐ»ÑÐµÑÑ ÐšÐ°ÑÐ·ÒÐ° ÐÐ»ÒÑÑ-ÑÑÐ·ÐŽÐµ ÑÑÐ¿ÐµÑÐ¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÑÑ ÒÐ°ÑÐžÐµÑÑ Ð¶ÐŸÒ ÐºÐµÐ·ÐŽÐµ, java.prefs ÒÐ°ÑÐµÐ»ÑÐ³ÑÐœ ÑÐŸÒÑÐ°ÑÑ
+AboutDialog.Item9:http://art.gnome.org/  Ð°Ð»ÑÒÐ° Ð±ÐŸÐ»Ð°ÐŽÑ Ð¡ÐžÐ»ÑÐ²ÐµÑÑÑ Ð¥ÐµÑÐµÑÐŒÐµÐœ ÐŽÐ°Ð¹ÑÐœÐŽÐ°Ð»ÒÐ°Ðœ ÐžÐºÐŸÐœÐºÐ°Ð»Ð°Ñ, Dropline NeuÐŽÐµÐœ! ÐÐ»ÑÐœÒÐ°Ðœ ÐžÐºÐŸÐœÐºÐ°Ð»Ð°Ñ 'Ð¶Ð°Ò£Ð° Ð¿Ð°Ð¿ÐºÐ°', 'Ð¶ÐŸÑ' Ð¶ÓÐœÐµ 'ÐºÓ©ÐŒÐµÐº'  
+AboutDialog.Java_Req:http://java.sun.com/j2se/1.4.1/j2re-1_4_1_02-license.html ÑÐ°Ð±ÑÐ»ÒÐ°Ðœ Sun Microsystems Inc ÑÐ°ÑÐŽÐ° ÐŒÐ°ÑÐºÐ°ÑÑ, JRE ÒÐŸÑÑÐŒÑÐ° Ð»ÐžÑÐµÐœÐ·ÐžÑÐ»Ð°ÑÒÐ° ÑÓÐ¹ÐºÐµÑ ÒÐ°Ð¹ÑÐ° Ð±Ó©Ð»ÑÐœÐ³ÐµÐœ.
+AboutDialog.Java_Req_One:ÐÒ±Ð» Ó©ÐœÑÐŒÐ³Ðµ RSA Security, Inc Ð»ÐžÑÐµÐœÐ·ÐžÑÐ»Ð°ÐœÐŽÑÑÑÐ»ÒÐ°Ðœ Ð±Ð°ÒÐŽÐ°ÑÐ»Ð°ÐŒÐ°ÑÑ ÒÐŸÑÑÐ»ÒÐ°Ðœ
+AboutDialog.Java_Req_Two:IBM-ÐŒÐµÐœ Ð»ÐžÑÐµÐœÐ·ÐžÑÐ»Ð°ÐœÐŽÑÑÑÐ»ÒÐ°Ðœ ÐºÐµÐ¹Ð±ÑÑ Ð±Ó©Ð»ÑÐŒÑÐµÐ»ÐµÑ http\://oss.software.ibm.com/icu4j/-ÐŽÐµ Ð°ÑÑÒ
+AboutDialog.Thanks:Ð¡ÐŸÐ» ÑÐžÑÒÑÑ, Ð¿ÐŸÑÑÐ°ÐŒÐµÐœ Java Ð±ÐŸÐ¹ÑÐœÑÐ° Ð¿Ð°Ð¹ÐŽÐ°Ð»Ñ ÐŒÓÐ»ÑÐŒÐµÑÑÑ Ð²ÐµÐ±-ÐºÐµ Ð¶ÑÐ±ÐµÑÐ³ÐµÐœÐŽÐµÑÐ³Ðµ Ð°Ð»ÒÑÑÑÐ°Ñ...
+AboutDialog.Title:Ð...
+AboutDialog.Title_One:ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐÑÐžÐœÑÑÐŸÑÐœ ÐÐœÑÐµÑÑÐµÐ¹ÑÑ  
+AboutDialog.Title_Two:ÐÐ°ÐžÐºÐ°ÑÐŸ  Ð£ÐœÐžÐ²ÐµÑÑÐžÑÐµÑÑ, Ð­Ð»ÐµÐºÑÑÐŸÐœÐŽÑÒ ÐÑÐžÐœÑÑÐŸÑÐœ ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°ÑÑ  
+AboutDialog.Copyright:Copyright (C) 2003-2009 ÐÐ°Ò£Ð°Ð·ÐµÐ»Ð°ÐœÐŽÐžÑÐ»ÑÒ ÑÐ°ÐœÐŽÑÒ ÐºÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°ÑÑÐœÑÒ£ Ð¶ÐŸÐ±Ð°ÑÑ  
+AboutDialog.Copyright_Two:ÐÑÑÒ ÒÐŸÒÐ°ÐŒÐŽÑÒ Ð»ÐžÑÐµÐœÐ·ÐžÑ ÐºÓ©Ð»ÐµÐŒÑÐœÐŽÐµ Ð¶Ð°ÑÐžÑÐ»Ð°ÐœÒÐ°Ðœ GPL. ÐÐµÑÐ°Ð»Ðž ÑÐŒ. Ð² LICENSE.TXT.  
+#***********************
+#
+#***** Audit Table *****
+AuditTable.File:ÐÐŒÑ ÑÐ°Ð¹Ð»Ð°
+#***********************
+#
+#***** Auto Filter *****
+Autofilter.AND:Ð
+Autofilter.Ascending:ÓšÑÐ»ÐµÑ Ð±ÐŸÐ¹ÑÐœÑÐ°  
+Autofilter.Case_Sensitive:Ð¡ÓÐ¹ÐºÐµÑÑÑÐº ÑÓÑÑ
+Autofilter.Custom_Filter:ÐÐ°Ò£Ð°ÑÑÑÐ»ÒÐ°Ðœ
+Autofilter.Descending:Ð¢Ó©ÐŒÐµÐœÐŽÐµÑ
+Autofilter.Filter_By_Value:ÐÓÐ¹
+Autofilter.Name:ÐÐŸÐ»ÐŸÐœÐºÐ°ÐœÑÒ£ Ð°ÑÑ
+Autofilter.None:ÐÑÒÐ°Ð¹ÑÑÑÑ
+Autofilter.Operator:ÐÐ°ÒÐŽÐ°Ð¹
+Autofilter.OR:ÐÐÐÐÐ¡Ð
+Autofilter.Order:Ð ÐµÑÑÐµÑ
+Autofilter.Order_Tooltip:Ð¡ÓÐ¹ÐºÐµÑ ÑÐ»ÐµÐŒÐµÐœÑÑÐµÑÐŽÑ ÐŸÑÑ ÑÓÑÑÑÐ¿Ð¿ÐµÐœ ÑÐµÑÑÐµÒ£ÐŽÐµÑ
+Autofilter.Remove:Ð¡Ò¯Ð·Ð³ÑÑÑÑ Ð¶ÐŸÑ
+Autofilter.Remove_Tooltip:ÐÐŸÐ»ÐŸÐœÐºÐ° ÐºÐµÑÑÐµÑÑÐœÐµÐœ Ð±Ò±Ð» ÑÒ¯Ð·Ð³ÑÑÑÑ Ð¶ÐŸÑ
+Autofilter.Set:Ð¡Ò¯Ð·Ð³ÑÑÑÑ ÒÐŸÐœÐŽÑÑ
+Autofilter.Set_Tooltip:ÐÑÑ ÑÒ¯Ð·Ð³ÑÑÑÑ ÐºÐŸÐ»ÐŸÐœÐºÐ° ÐºÐµÑÑÐµÑÐœÐµ ÒÐŸÑÑ
+Autofilter.Table_Header_Tooltip:ÐÐŸÐ¹ÑÐœÑÐ° ÑÒ¯Ð·Ð³ÑÑ {0}
+Autofilter.Title:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð°Ð²ÑÐŸÑÒ¯Ð·Ð³ÑÑÑ
+Autofilter.eqeq:ÑÐºÐ²ÐžÐ²Ð°Ð»ÐµÐœÑÑÑ
+Autofilter.!eq:ÑÐ°Ð¹ ÐºÐµÐ»ÐŒÐµÐ¹ÐŽÑ  
+Autofilter.<:Ð±ÐµÑÑÐ»Ð³ÐµÐœÐœÐµÐœ ÐºÐµÐŒ  
+Autofilter.<eq:Ð±ÐµÑÑÐ»Ð³ÐµÐœÐœÐµÐœ ÐºÐµÐŒ ÐœÐµÐŒÐµÑÐµ ÑÐµÒ£  
+Autofilter.>:ÐŸÐŽÐ°Ðœ ÐºÓ©Ð¿  
+Autofilter.>eq:Ð±Ò±Ð» ÐºÓ©Ð¿ ÐœÐµÐŒÐµÑÐµ  
+Autofilter.^:ÐŸÑÑÐŽÐ°Ðœ Ð±Ð°ÑÑÐ°Ð¿  
+Autofilter.!^:ÑÐ°Ð¹Ð»ÐŽÑÒ£ Ð°ÑÑ ÐºÐµÐ»ÐµÑÑÐŒÐµÐœ Ð±Ð°ÑÑÐ°Ð»ÐŒÐ°Ð¹ÐŽÑ  
+Autofilter.$:ÐŸÑÑÐŒÐµÐœ Ð°ÑÒÑÐ°Ð»Ð°ÐŽÑ  
+Autofilter.!$:ÑÐ°Ð¹Ð»ÐŽÑÒ£ Ð°ÑÑ ÐºÐµÐ»ÐµÑÑÐŒÐµÐœ Ð°ÑÒÑÐ°Ð»ÐŒÐ°Ð¹ÐŽÑ  
+Autofilter.?:ÒÒ±ÑÐ°ÐŒÑÐœÐŽÐ° Ð±Ð°Ñ  
+Autofilter.!?:ÒÒ±ÑÐ°ÐŒÑÐœÐŽÐ° Ð¶ÐŸÒ  
+#
+#     ********************************************************
+#     *************** Collection Design Module ***************
+#     ********************************************************
+#     * The dictionary  phrases  used in the creation of the *
+#     * Colection  Design  Module. Note that we  still  have *
+#     * access  to the format  arguments (argument  32+) for *
+#     * html formatting.                                     *
+#     ********************************************************
+CDM.ArgumentConfiguration.Bad_Integer:<html>'{0}' Ð°ÑÐ³ÑÐŒÐµÐœÑÑ Ð±Ò¯ÑÑÐœ ÑÐ°ÐœÐœÑÒ£ ÐŒÐ°ÒÑÐœÐ°ÑÑÐœ ÑÐ°Ð»Ð°Ð¿ ÐµÑÐµÐŽÑ, Ð±ÑÑÐ°Ò, <br> Ð±Ò¯ÑÑÐœ ÑÐ°ÐœÑÐœ ÑÐ°Ð±Ñ ÐŒÒ¯ÐŒÐºÑÐœ ÐµÐŒÐµÑ {1}.</html>
+CDM.ArgumentConfiguration.Error_Title:ÓšÐ»ÑÐµÐŒÐŽÐµÑÐŽÐµÐ³Ñ ÒÐ°ÑÐµÐ»ÑÐº
+CDM.ArgumentConfiguration.Header:<HTML><STRONG><FONT FACE={FONT} COLOR=Black SIZE=5><CENTER>Ò®ÑÑÐœ Ó©Ð»ÑÐµÐŒÐŽÐµÑÐŽÑ ÑÐµÑÑÐµÑÑÒ£ÑÐ·ÐŽÑ ÑÒ±ÑÐ°Ð¹ÐŒÑÐ· {0}.</CENTER></FONT></STRONG></HTML>
+CDM.ArgumentConfiguration.No_Value:'{0}' Ó©Ð»ÑÐµÐŒÑ ÐŒÐ°ÒÑÐœÐ°ÐœÑ ÑÐ°Ð»Ð°Ð¿ ÐµÑÐµÐŽÑ, Ð±ÑÑÐ°Ò ÐµÑ ÐŒÐ°ÒÑÐœÐ° Ð±ÐµÑÑÐ»ÐŒÐµÐ³ÐµÐœ.
+CDM.ArgumentConfiguration.Required_Argument:'{0}' Ó©Ð»ÑÐ°ÐŒÑÐœÐµ ÐŒÐ°ÒÑÐœÐ° Ð±ÐµÑÑ ÒÐ°Ð¶ÐµÑ.
+CDM.ArgumentConfiguration.Title:ÓšÐ»ÑÐµÐŒÐŽÐµÑÐŽÑ ÑÐµÑÑÐµÑ.
+CDM.BuildTypeManager.Title:ÐÐœÐŽÐµÐºÑÐ°ÑÐŸÑÐŽÑ ÑÐµÑÑÐµÑ  
+CDM.BuildTypeManager.mg:MG  
+CDM.BuildTypeManager.mg_Description:ÐÒ±Ð» ÐŸÑÐžÐ³ÐžÐœÐ°Ð»ÐŽÑ ÐÑÐžÐœÑÑÐŸÑÐœ ÐžÐœÐŽÐµÐºÑÐ°ÑÐŸÑÑÐœÑÒ£ ÐºÓ©Ð¿ÑÑÐ»ÑÐº Ð±Ó©Ð»ÑÐ³Ñ ÐÐ»ÐžÑÑÐµÑ ÐÐŸÑÑÐ°ÑÐ¿ÐµÐœ ÐŽÐ°Ð¹ÑÐœÐŽÐ°Ð»ÒÐ°Ðœ Ð¶ÓÐœÐµ (Â«Managing GigabytesÂ»). Â«ÐÐžÐ³Ð°Ð±Ð°Ð¹ÑÑÐ°ÑÐŽÑ Ð±Ð°ÑÒÐ°ÑÑÂ» ÐºÐ»Ð°ÑÑÐžÐºÐ°Ð»ÑÒ ÐºÑÑÐ°Ð±ÑÐœÐŽÐµ Ð¶Ð°Ð·ÑÐ»ÒÐ°Ðœ. ÐÐ» ÐžÐœÐŽÐµÐºÑÐ°ÑÐžÑÐœÑ ÑÐµÐºÑÐžÑ ÐŽÐµÒ£Ð³ÐµÐ¹ÑÐœÐŽÐµ Ò±ÑÑÐ°Ð¹ÐŽÑ, Ð°Ð» ÑÐ·ÐŽÐµÑ ÑÐ°ÐœÐ³ÑÑÐº ÐœÐµ Ð»ÐŸÐ³ÐžÐºÐ°Ð»ÑÒ Ð±ÐŸÐ»ÑÑ ÐŒÒ¯ÐŒÐºÑÐœ, Ð±ÑÑÐ°Ò Ð±ÑÑ ÑÐ°ÒÑÑÑÐ° ÐµÐºÐµÑÑ ÐŽÐµ Ð±ÐŸÐ»Ð° Ð°Ð»ÐŒÐ°Ð¹ÐŽÑ. ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐŽÐ° ÐºÓ©ÑÑÐµÑÑÐ»Ð³ÐµÐœ ÓÑ ÐžÐœÐŽÐµÐºÑ Ò¯ÑÑÐœ, Ð¶ÐµÐºÐµ ÑÐžÐ·ÐžÐºÐ°Ð»ÑÒ ÐžÐœÐŽÐµÐºÑ ÒÒ±ÑÑÐ»Ð°ÐŽÑ. Ð€ÑÐ°Ð·Ð°ÐœÑ ÑÐ·ÐŽÐµÑ Ò¯ÑÑÐœ ÐÑÐžÐœÑÑÐŸÑÐœ ÑÐ·ÐŽÐµÑ ÒÐ°ÑÐ°ÑÑÐœÐŽÐ°ÒÑ Ð±Ð°ÑÐ»ÑÒ ÑÓ©Ð·ÐŽÐµÑÐ³Ðµ Ð»ÐŸÐ³ÐžÐºÐ°Ð»ÑÒ Â«ÐÂ» ÐŸÐ¿ÐµÑÐ°ÑÐŸÑÑÐœ ÒÐŸÐ»ÐŽÐ°ÐœÐ°ÐŽÑ, ÐŸÐŽÐ°Ðœ ÐºÐµÐ¹ÑÐœ  ÑÓÐ¹ÐºÐµÑÑÑÐºÑÐµÑÐŽÑ Ð±Ò¯ÐºÑÐ» ÑÑÐ°Ð·Ð°ÐœÑ ÐµÐœÑÑÐœÐµ ÒÐ°ÑÐ°Ð¹ ÑÐºÐ°ÐœÐµÑÐ»ÐµÐ¹ÐŽÑ.  ÐÐœÐŽÐµÐºÑÐ°ÑÐŸÑ Ó©ÑÐµ Ò¯Ð»ÐºÐµÐœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÐŽÐ° ÐºÐµÒ£ÐµÐ¹ÑÑÐ»Ð³ÐµÐœ ÑÐµÑÑÑÐ»ÐµÑÐŽÐµÐœ Ó©ÑÑÑ(ÐŒÓÑÑÐœÐŽÐµÐ³Ñ ÐºÓ©Ð¿ÑÐµÐ³ÐµÐœ Ð³ÐžÐ³Ð°Ð±Ð°Ð¹Ñ ).  
+CDM.BuildTypeManager.mgpp:MGPP-ÐµÑÑÐºÑÑ ÐŸÐœÐ»Ð°Ð¹Ðœ ÑÓ©Ð·ÐŽÑÐ³Ñ Ð¶ÓÐœÐµ ÑÐµÐ·Ð°ÑÑÑÑ  
+CDM.BuildTypeManager.mgpp_Description:ÐÒ±Ð» Ð¶Ð°Ò£Ð°Ð·ÐµÐ»Ð°ÐœÐŽÐžÑÐ»ÑÒ ÑÐ°ÐœÐŽÑÒ ÐºÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°ÑÑ Ð¶Ð°Ð±ÑÐ»Ð°Ð¿ Ð¶Ð°ÑÐ°ÒÐ°Ðœ MG (MG++) ÐžÐœÐŽÐµÐºÑÐ°ÑÐŸÑÑÐœÑÒ£ Ð¶Ð°Ò£Ð°  Ð±ÐŸÐ»Ð¶Ð°ÐŒÑ. ÐÐ» ÐžÐœÐŽÐµÐºÑÐ°ÑÐžÑÐœÑ Ð°Ð»Ð°Ò£, ÑÑÐ°Ð·Ð° Ð±ÐŸÐ¹ÑÐœÑÐ°  ÑÐ·ÐŽÐµÐ¹ÑÑÐœ ÑÓ©Ð· ÐŽÐµÑÐ³ÐµÐ¹ÑÐœÐŽÐµ Ò±ÑÑÐ°Ð¹ÐŽÑ Ð¶ÓÐœÐµ Ò±ÒÑÐ°Ñ ÑÓ©Ð·ÐŽÐµÑÐŽÑ ÐžÐœÐŽÐµÐºÑÐ°ÑÐŸÑÐŽÑÒ  Ó©Ð· ÒÒ±ÑÑÐ»ÒÑÐ»Ð°ÑÑÐŒÐµÐœ ÑÐ·ÐŽÐµÑÐ³Ðµ ÑÐµÑÑÐµÐ»ÑÑ ÐŒÒ¯ÐŒÐºÑÐœ ÐÑÐžÐœÑÑÐŸÑÐœÐœÑÒ£ Ð±Ð°ÑÐ»ÑÒ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÑ ÐœÑÑÐœ ÑÐµÐºÐ±ÑÑ ÐžÐœÐŽÐµÐºÑ ÒÒ±ÑÑÐ»Ð°ÐŽÑ: ÒÒ±Ð¶Ð°Ñ ÐŽÐµÒ£Ð³ÐµÐ¹Ð»ÐµÑÑ/ÑÐµÐºÑÐžÑÐ»Ð°Ñ ÐŒÐµÐœ ÐŒÓÑÑÐœ/ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð±ÑÑ ÐžÐœÐŽÐµÐºÑÑÑ Ð¿Ð°Ð¹ÐŽÐ°ÐœÐ°Ð»Ð°ÐŽÑ. ÐÐœÐŽÐµÐºÑÑÐµÑ ÑÐ°ÐœÑ Ò¯Ð»ÐºÐµÐœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°Ñ Ò¯ÑÑÐœ ÐŸÐ», Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÒÐ°ÐœÐœÐ°Ò£ Ð³Ó©ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°Ñ ÐºÓ©Ð»ÐµÐŒÑ ÐºÑÑÑÑÐµÐº ÐµÐºÐµÐœÑÐœ Ð±ÑÐ»ÐŽÑÑÐµÐŽÑ. Ò®Ð»ÐºÐµÐœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°Ñ Ò¯ÑÑÐœ, ÐžÐœÐŽÐµÐºÑÐ°ÑÐžÑ ÐŽÐµÑÐ³ÐµÐ¹Ñ ÑÓ©ÐŒÐµÐœÑÑÐµÐº Ð±ÐŸÐ»ÒÐ°ÐœÐŽÑÒÑÐ°Ðœ, ÑÐ·ÐŽÐµÑ Ð±Ð°ÑÑÑÑÐ°Ò Ð±ÐŸÐ»ÑÑ ÐŒÒ¯ÐŒÐºÑÐœ.  
+CDM.BuildTypeManager.lucene:ÐÐœÐŽÐµÐºÑÐ°ÑÐŸÑ Lucene  
+CDM.BuildTypeManager.lucene_Description:Lucene Apache Software Foundation-ÐŒÐµÐœ ÐŽÐ°Ð¹ÑÐœÐŽÐ°Ð»ÒÐ°Ðœ  ÐŸÐ» ÑÐ·ÐŽÐµÑÐŽÑ Ð°Ð»Ð°Ò£ Ð±ÐŸÐ¹ÑÐœÑÐ° Ð¶ÓÐœÐµ Ò±ÒÑÐ°Ñ ÑÓ©Ð·ÐŽÐµÑ Ð±ÐŸÐ¹ÑÐœÑÐ° Ð¶Ò¯ÑÐ³ÑÐ·ÐµÐŽÑ, Ð±ÑÑÐ°Ò ÑÐµÐº Ð±ÑÑ ÐŽÐµÒ£Ð³ÐµÐ¹ÐŽÐµ (ÑÐŸÐ»ÑÒ ÒÒ±Ð¶Ð°ÑÑÐ°Ñ ÐœÐµÐŒÐµÑÐµ Ð¶ÐµÐºÐµ ÑÐµÐºÑÐžÑÐ»Ð°Ñ Ð±ÐŸÐ¹ÑÐœÑÐ°, ÑÐµÐº ÒÐ°ÐœÐ° ÐµÐºÐµÑÑÐœ Ð±ÑÑÐŽÐµÐœ Ð¶Ð°ÑÐ°Ð¹ Ð°Ð»ÐŒÐ°Ð¹ÐŽÑ) ÑÐŸÐœÐŽÑÒÑÐ°Ðœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÒÐ° Ð¶ÐµÐºÐµ ÐµÐºÑ ÐžÐœÐŽÐµÐºÑ ÒÐ°Ð¶ÐµÑ: ÒÒ±Ð¶Ð°Ñ Ð¶ÓÐœÐµ ÑÐµÐºÑÐžÑÐ»Ð°Ñ Ò¯ÑÑÐœ. ÐÒ¯Ð¹Ðµ Ð±ÑÑ ÑÐžÐŒÐ²ÐŸÐ»ÐŽÑ ÑÐ·ÐŽÐµÑ ÑÐ°Ð±Ð»ÐŸÐœÑ ÒÐŸÑÑ MGPP Ò±ÒÑÐ°ÒÐ°Ðœ, ÐŽÐžÐ°Ð¿Ð°Ð·ÐŸÐœ Ð±ÐŸÐ¹ÑÐœÑÐ°  ÑÐ·ÐŽÐµÑ Ð¶ÓÐœÐµ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ ÑÐŸÑÑÑÐ°Ñ ÐŒÓÑÐžÐ¶ÐµÑÑÐœ Ð°Ð»Ð°Ðœ Ð±ÐŸÐ¹ÑÐœÑÐ° ÑÐ·ÐŽÐµÑ ÑÑÐœÐºÑÐžÑÐ»Ð°ÑÑ  Ð¶ÐžÑÐœÑÑÒÑÐœÐ°Ðœ ÒÒ±ÑÑÐ»ÒÐ°Ðœ. ÐÐ» Greenstone-ÒÐ° MG Ð¶ÓÐœÐµ MGPP-ÐŽÐ° Ð¶ÐŸÒ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÐŽÑ ÐžÐœÐºÑÐµÐŒÐµÐœÑÑÑ Ð¶ÐžÐœÐ°Ñ Ò¯ÑÑÐœ ÒÐŸÑÑÐ»ÒÐ°Ðœ.  
+CDM.BuildTypeManager.Current_Type:ÐÐ°Ð¹ÐŽÐ°ÐœÐ°Ð»Ð°ÑÑÐœ ÐžÐœÐŽÐµÐºÑÐ°ÑÐŸÑ: {0]  
+CDM.BuildTypeManager.Change:ÓšÐ·Ð³ÐµÑÑÑ...  
+CDM.BuildTypeManager.Change_Tooltip:ÐÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐŒÐµÐœ Ð¿Ð°Ð¹ÐŽÐ°ÐœÐ°Ð»Ð°ÑÑÐœ ÐžÐœÐŽÐµÐºÑÐ°ÑÐŸÑÐŽÑ Ó©Ð·Ð³ÐµÑÑÑ  
+CDM.ClassifierManager.Add:ÐÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐŽÑ ÒÐŸÑÑÐœÑÐ·...
+CDM.ClassifierManager.Add_Tooltip:ÐÓ©ÑÑÐµÑÑÐ»Ð³ÐµÐœ  ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐŽÑ ÐŸÑÑ  ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÒÐ° Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÒ£ÑÐ·.
+CDM.ClassifierManager.Assigned:ÐÑÑ ÑÐ°ÒÑÑÑÐ° Ð±ÐµÑÑÐ»Ð³ÐµÐœ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐ»Ð°Ñ.
+CDM.ClassifierManager.Classifier:ÒÐŸÑÑ Ò¯ÑÑÐœ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐŽÑ ÑÐ°Ò£ÐŽÐ°Ò£ÑÐ·.
+CDM.ClassifierManager.Classifier_Str:ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ  
+CDM.ClassifierManager.Classifier_List_XML_Parse_Failed:ÐÓ©ÐŒÐµÐ³ÑÐŒÐµÐœ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐ»Ð°Ñ ÑÑÐ·ÑÐŒÑÐœ Ð°Ð»Ñ ÐŒÒ¯ÐŒÐºÑÐœ ÐµÐŒÐµÑ. classinfo.pl -listall  
+CDM.ClassifierManager.Classifier_XML_Parse_Failed:{0}ÐÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÑÐœÐ° Ð°ÑÐœÐ°Ð»ÒÐ°Ðœ Ó©Ð»ÑÐµÐŒÐŽÐµÑÐŽÑ Ð°ÐœÑÒÑÐ°Ñ ÐŒÒ¯ÐŒÐºÑÐœ ÐµÐŒÐµÑ ÒÐ°ÑÐ°Ð»ÑÐ¿ Ð¶Ð°ÑÒÐ°Ðœ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ ÒÒ±ÑÐ°ÐŒÑÐœÐŽÐ°,classinfo.pl ÑÐºÑÐžÐ¿ÑÑÐœ ÐŸÑÑÐœÐŽÐ°ÑÐŽÐ° -xml  Ð¶Ð°Ð»Ð°ÑÑ Ð±Ð°ÑÐµÐºÐµÐœÑÐœÐµ, Ð¶ÓÐœÐµ ÐŽÐµ ÐÑÐžÐœÑÑÐŸÑÐœ ÒÒ±ÑÑÑÑÐ»Ð°ÑÑ Ð±Ð°ÑÑÑÐ»ÑÒÑÐœÑÒ£ 2.1 Ð±Ó©Ð»ÑÐŒÑÐœÐŽÐµÐ³Ñ  pluginfo.pl ÑÐºÑÐžÐ¿Ñ Ð¶Ð°Ð·ÑÐ»ÑÑ Ð±Ð°Ñ ÐµÐºÐµÐœÑÐœÐµ ÐºÓ©Ð· Ð¶ÐµÑÐºÑÐ·ÑÒ£ÑÐ·.  
+CDM.ClassifierManager.Configure:ÐÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐ»Ð°ÑÐŽÑ ÑÐµÑÑÐµÒ£ÑÐ·ÐŽÐµÑ...
+CDM.ClassifierManager.Configure_Tooltip:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐŽÑÒ£ ÐŸÐ¿ÑÐžÑÐ»Ð°ÑÑÐœ Ó©Ð·Ð³ÐµÑÑÑÒ£ÑÐ·ÐŽÐµÑ.
+CDM.ClassifierManager.Remove:ÐÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐŽÑ Ð¶ÐŸÑ
+CDM.ClassifierManager.Remove_Tooltip:Ð¢ÑÐ·ÑÐŒÐœÐµÐœ ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐŽÑ Ð¶ÐŸÑ
+CDM.FormatManager.Add:Ð€ÐŸÑÐŒÐ°ÑÑÑ ÒÐŸÑÑ
+CDM.FormatManager.Add_Tooltip:ÐÓ©ÑÑÐµÑÑÐ»Ð³ÐµÐœ Ð±Ò±Ð¹ÑÑÒÑÑÒ ÑÐŸÑÐŒÐ°ÑÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐŒÐµÐœ Ð±ÑÑÐ³Ðµ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÒ£ÑÐ·
+CDM.FormatManager.AllFeatures:ÐÐ°ÑÐ»ÑÒ ÐŒÒ¯ÐŒÐºÑÐœÐŽÑÐºÑÐµÑ  
+CDM.FormatManager.AllParts:ÐÐ°ÑÐ»ÑÒ  ÐºÐŸÐŒÐ¿ÐŸÐœÐµÐœÑÑÐµÑ  
+CDM.FormatManager.Default:Reset to Default
+CDM.FormatManager.Default_Tooltip:Reset the selected format command to its default value 
+CDM.FormatManager.Editor:HTML ÑÐŸÑÐŒÐ°ÑÑÑÒ Ð¶ÐŸÐ»Ñ
+CDM.FormatManager.Editor_Tooltip:ÐÑÑ Ð¶ÐµÑÐ³Ðµ ÑÐŸÑÐŒÐ°Ñ Ð±Ò±Ð¹ÑÑÒÑÐœ ÐµÐœÐ³ÑÐ·Ñ.
+CDM.FormatManager.Editor_Disabled_Tooltip:Ð¡ÑÐ·ÐŽÑÒ£ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÒ£ÑÐ·ÒÐ° ÐŸÑÑ ÑÐŸÑÐŒÐ°Ñ Ð±Ò±Ð¹ÑÑÒÑÐœ ÒÐŸÑÑ Ò¯ÑÑÐœ Â«Ð€ÐŸÑÐŒÐ°ÑÑÑ ÒÐŸÑÑÐŽÑ Â» Ð±Ð°ÑÑÐœÑÐ·.  
+CDM.FormatManager.Enabled:ÒÐŸÐ» Ð¶ÐµÑÐµÑÐ»ÑÐº
+CDM.FormatManager.Feature:ÐÑÐœÐµÐ·ÐŽÐµÐŒÐµÐœÑ ÑÐ°Ò£ÐŽÐ°Ñ  
+CDM.FormatManager.Feature_Tooltip:Ð€ÐŸÑÐŒÐ°ÑÑÐ°Ñ ÒÒ±ÑÐ»ÐŽÐ°ÑÑ
+CDM.FormatManager.Insert:ÒÐŸÑ
+CDM.FormatManager.Insert_Tooltip:Ð€ÐŸÑÐŒÐ°Ñ ÐºÐŸÐŒÐ°ÐœÐŽÐ°ÑÑÐœÐ° ÑÐ°Ò£ÐŽÐ°Ð»ÒÐ°Ðœ Ð°ÑÑÑÐ¿Ð°Ð»ÑÐœÑ ÒÐŸÑ
+CDM.FormatManager.Default:Ò®ÐœÐŽÐµÐŒÐµÑ Ð±ÐµÐ»Ð³ÑÑÑÐœÐµ ÑÐ°ÑÑÐ°Ñ  
+CDM.FormatManager.Default_Tooltip:Ð¢Ð°Ò£ÐŽÐ°Ð»ÒÐ°Ðœ Ð°ÑÑÑÐ¿Ð°Ð»Ñ Ð±ÐµÐ»Ð³ÑÐœÑ Ò¯ÐœÐŽÐµÐŒÐµÑ Ð±ÐµÐ»Ð³ÑÑÑÐœÐµ ÑÐ°ÑÑÐ°Ñ.  
+CDM.FormatManager.Insert_Variable:ÐÑÑÑÐ¿Ð°Ð»ÑÐœÑ ÒÐŸÑ...  
+CDM.FormatManager.Part:ÐÑÐºÐµ ÒÐŸÑÑÐ»ÒÐ°Ðœ ÐºÐŸÐŒÐ¿ÐŸÐœÐµÐœÑ
+CDM.FormatManager.Part_Tooltip:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ Ð±Ò±Ð¹ÑÐŒÐŽÐ°ÑÐŽÑ ÑÐŸÑÐŒÐ°ÑÑÐ° ÑÐ°ÐœÑÑÑÑÑÑ
+CDM.FormatManager.Remove:Ð€ÐŸÑÐŒÐ°ÑÑÑ Ð¶ÐŸÑ
+CDM.FormatManager.Remove_Tooltip:Ð€ÐŸÑÐŒÐ°ÑÑÑÒ£ ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ Ð±Ò±Ð¹ÑÑÒÑÐœ ÑÑÐ·ÑÐŒÐœÐµÐœ Ð¶ÐŸÑ
+CDM.FormatManager.Variable_Tooltip:Ð€ÐŸÑÐŒÐ°Ñ ÐºÐŸÐŒÐ°ÐœÐŽÐ°ÑÑÐŒÐµÐœ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÒÐ° Ð¶Ð°ÑÐ°ÐŒÐŽÑ Ð°ÑÑÑÐ¿Ð°Ð»ÑÐ»Ð°Ñ
+CDM.FormatManager.MessageBox:XML ÑÐ°ÑÑÐ°Ñ  
+CDM.FormatManager.MessageBox_Tooltip:XML Ð²Ð°Ð»ÐžÐŽÐ°ÑÐžÑ ÑÐ°Ð±Ð»ÐŸÐœÑÐœÑÒ£ Ñ
+Ð°Ð±Ð°ÑÑ  
+CDM.General.Access:ÐÒ±Ð» ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð±ÓÑÑÐœÐµ Ð¶ÐµÑÐºÑÐ»ÑÐºÑÑ Ð±ÐŸÐ»ÑÑ ÑÐžÑÑ
+CDM.General.Browser_Title:ÐÐµÑÐºÑÐœÐŽÑ ÑÐ°Ò£ÐŽÐ°Ñ
+CDM.General.Collection_Extra:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑÒ£ ÑÑÐ·ÑÐŒÑ:
+CDM.General.Collection_Extra_Tooltip:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑÒ£ ÐŒÐ°Ð·ÐŒÒ±ÐœÑ ÐŒÐµÐœ ÐŒÐ°ÒÑÐ°ÑÑÐœÑÒ£ ÑÑÐ·ÑÐŒÑ
+CDM.General.Collection_Name:ÐÑÑ/ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑÒ£ Ð±Ð°ÑÑÐ°ÑÑ
+CDM.General.Collection_Name_Tooltip:ÐÑÑ/ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑÒ£  ÐµÑÑÐŒÑ
+CDM.General.Email.Creator:ÒÒ±ÑÑÑÑÐœÑÒ£ ÑÐ»ÐµÐºÑÑÐŸÐœÐŽÑÒ Ð¿ÐŸÑÑÐ°ÑÑ
+CDM.General.Email.Creator_Tooltip:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÐŽÑ ÒÒ±ÑÑÑÑÐœÑÒ£ ÑÐ»ÐµÐºÑÑÐŸÐœÐŽÑÒ Ð¿ÐŸÑÑÐ°ÑÑÐœÑÒ£ ÐŒÐµÐºÐµÐœ Ð¶Ð°Ð¹Ñ
+CDM.General.Email.Maintainer:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÐŽÑ Ò±ÑÑÐ°ÑÑÑÐœÑÒ£ ÑÐ»ÐµÐºÑÑÐŸÐœÐŽÑÒ Ð¿ÐŸÑÑÐ°ÑÑ
+CDM.General.Email.Maintainer_Tooltip:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÐŽÑ Ò±ÑÑÐ°ÑÑÑÐœÑÒ£ ÑÐ»ÐµÐºÑÑÐŸÐœÐŽÑÒ Ð¿ÐŸÑÑÐ°ÑÑÐœÑÒ£ ÐŒÐµÐºÐµÐœ Ð¶Ð°Ð¹Ñ
+CDM.General.Icon_Collection:'about' Ð±ÐµÑÑÐµÑÑÐœÑÒ£ URL Ð¿ÐžÐºÑÐŸÐ³ÑÐ°ÐŒÐŒÐ°Ð»Ð°ÑÑ:
+CDM.General.Icon_Collection_Tooltip:"ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°Ñ ÑÑÑÐ°Ð»Ñ" Ð±ÐµÑÑÐœÐŽÐµÐ³Ñ URL Ð±ÐµÐ¹ÐœÐµÐ»ÐµÑÑ  
+CDM.General.Icon_Collection_Small:'home page'Ð°Ð»ÒÐ°ÑÒÑ Ð±ÐµÑ Ò¯ÑÑÐœ URL Ð±ÐµÐ¹ÐœÐµÐ»ÐµÑÑ:  
+CDM.General.Icon_Collection_Small_Tooltip:ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°ÐŽÐ°ÒÑ Ð°Ð»ÒÐ°ÑÒÑ Ð±ÐµÑÑÐµ Ð±ÐµÐ¹ÐœÐµÐ»ÐµÑ Ò¯ÑÑÐœ URL Ð±ÐµÐ¹ÐœÐµÐ»ÐµÑÑ  
+CDM.General.Image_Copy_Failed:Ð¡ÑÐ· ÑÐ°Ò£ÐŽÐ°ÒÐ°Ðœ Ð±ÐµÐ¹ÐœÐµÐœÑ ÐºÓ©ÑÐµÑÑÐŽÐµÐœ ÑÐ°ÒÑÐ°Ð¹ÑÑÐœ ÒÐ°ÑÐµÐ»ÑÐº ÑÑÑÐœÐŽÐ°ÐŽÑ: \n Ð±ÐµÐ¹ÐœÐµÐœÑ \n{0}\ ÒÐŸÐ»ÐŒÐµÐœ ÑÑÐ·ÐŽÑÒ£ Ð±ÐµÐ¹ÐœÐµÐ»ÐµÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°ÑÑÐœÐ° ÐºÓ©ÑÑÑÑÐ³Ðµ ÑÑÑÑÑÑÒ£ÑÐ·  
+CDM.General.Image_Filter:ÐÐµÐ¹ÐœÐµÐ»ÐµÑ (gifs, jpgs Ðž pngs)
+CDM.GUI.Classifiers:ÒÐ°ÑÐ°Ñ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐ»Ð°ÑÑ
+CDM.GUI.Formats:Ð€ÐŸÑÐŒÐ°ÑÑÐ°Ñ ÒÒ±ÑÐ°Ð»ÐŽÐ°ÑÑ
+CDM.GUI.General:ÐÐ°Ð»Ð¿Ñ
+CDM.GUI.Indexes:ÐÐ·ÐŽÐµÑ ÐžÐœÐŽÐµÐºÑÑÐµÑ
+CDM.GUI.Macros:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÐŽÑÒ£ ÐŒÐ°ÐºÑÐŸÑÑÑÒ ÑÐ¿ÐµÑÐžÑÐžÐºÐ°Ð»Ð°ÑÑ  
+CDM.GUI.Plugins:ÒÒ±Ð¶Ð°ÑÑÐ°Ñ Ð¿Ð»Ð°Ð³ÐžÐœÐŽÐµÑÑ
+CDM.GUI.Root:CDM_ROOT
+CDM.GUI.SearchMetadata:ÐÐ·ÐŽÐµÑ  
+CDM.GUI.Subcollections:ÐÓ©Ð»Ñ ÐžÐœÐŽÐµÐºÑÑÐµÑÑ
+CDM.GUI.SuperCollection:ÒÐžÐ»ÑÑÐ°ÑÑÐœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÐŽÐ°Ðœ ÑÐ·ÐŽÐµÑ
+CDM.GUI.Translation:ÐÓÑÑÐœÐŽÑ Ð°ÑÐŽÐ°ÑÑ
+CDM.GUI.DepositorMetadata:ÐÐµÐ¿ÐŸÐ·ÐžÑÐŸÑÐŽÑÒ£ ÐŒÐµÑÐ°ÐŽÐµÑÐµÐºÑÐµÑÑÐºÑÐµÑÑ  
+CDM.HelpButton:ÐÑÑ ÑÐºÑÐ°Ðœ Ò¯ÑÑÐœ ÐºÓ©ÐŒÐµÐº  
+CDM.HelpButton_Tooltip:ÐÑÑ ÑÐºÑÐ°Ðœ ÐÐÐ(GLI) ÐºÓ©ÐŒÐµÐ³ÑÐœ Ð°ÑÑ  
+CDM.IndexManager.Add_Index:ÐÐœÐŽÐµÐºÑÑÑ ÒÐŸÑÑ
+CDM.IndexManager.Add_Index_Tooltip:ÐÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°Ñ Ò¯ÑÑÐœ Ð±ÐµÑÑÐ»Ð³ÐµÐœ ÐžÐœÐŽÐµÐºÑÑÑ ÒÒ±ÑÑÒ£ÑÐ·
+CDM.IndexManager.Allfields_Index:ÐÐ°ÑÐ»ÑÒ ÐžÐœÐŽÐµÐºÑÑÐµÑ Ð±ÐŸÐ¹ÑÐœÑÐ° ÒÒ±ÑÐ°ÐŒÐ°Ð»ÑÒ ÑÐ·ÐŽÐµÑÐŽÑ ÒÐŸÑÑ(allfields)  
+CDM.IndexManager.Default_Index_Indicator:[Ò®ÐœÐŽÐµÐŒÐµÑ Ð±ÐŸÐ¹ÑÐœÑÐ° ÐžÐœÐŽÐµÐºÑ]
+CDM.IndexManager.Index_Exists:ÐÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°Ñ Ò¯ÑÑÐœ Ð±Ò±Ð» ÐžÐœÐŽÐµÐºÑ Ð±Ò±ÑÑÐœÑÑÐ°Ò Ð±ÐµÑÑÐ»Ð³ÐµÐœ
+CDM.IndexManager.Indexes:ÐÐµÑÑÐ»Ð³ÐµÐœ ÐžÐœÐŽÐµÐºÑÑÐµÑ
+CDM.IndexManager.Level:ÐÐœÐŽÐµÐºÑÐ°ÑÐžÑÐ»Ð°Ñ ÐŽÐµÒ£Ð³ÐµÐ¹Ñ:  
+CDM.IndexManager.Level_Tooltip:ÐÐœÐŽÐµÐºÑÑÑ ÒÒ±ÑÑÒÐ° Ð°ÑÐœÐ°Ð»ÒÐ°Ðœ ÒÒ±Ð¶Ð°Ñ ÐŽÐµÒ£Ð³ÐµÐ¹Ñ
+CDM.IndexManager.Add_All:ÐÓÑÑÐœ ÒÐŸÑÑ  
+CDM.IndexManager.Add_All_Tooltip:ÓÑÐ±ÑÐ· ÐºÓ©Ð· Ò¯ÑÑÐœ Ð¶ÐµÐºÐµ ÐžÐœÐŽÐµÐºÑ ÒÐŸÑÑ  
+CDM.IndexManager.Edit_Index:ÐÐœÐŽÐµÐºÑÑÑ ÑÐµÐŽÐ°ÐºÑÐžÑÐ»Ð°Ñ  
+CDM.IndexManager.Edit_Index_Tooltip:Ð¢Ð°Ò£ÐŽÐ°Ð»ÒÐ°Ðœ ÐžÐœÐŽÐµÐºÑÑÑ ÐŒÐŸÐŽÐžÑÐžÐºÐ°ÑÐžÑÐ»Ð°Ñ  
+CDM.IndexManager.New_Index:ÐÐ°Ò£Ð° ÐžÐœÐŽÐµÐºÑ  
+CDM.IndexManager.New_Index_Tooltip:ÐÐ°Ò£Ð° ÐžÐœÐŽÐµÐºÑÑÑ ÒÐŸÑÑ  
+CDM.IndexManager.Remove_Index:ÐÐœÐŽÐµÐºÑÑÑ Ð¶ÐŸÑ
+CDM.IndexManager.Remove_Index_Tooltip:Ð¢Ð°Ò£ÐŽÐ°Ð»ÒÐ°Ðœ ÐžÐœÐŽÐµÐºÑÑÑ ÑÑÐ·ÑÐŒÐœÐµÐœ  Ð¶ÐŸÑ
+CDM.IndexManager.Replace_Index:ÐÐœÐŽÐµÐºÑÑÑ Ð°ÑÑÑÑÑÑ  
+CDM.IndexManager.Replace_Index_Tooltip:Ð¢Ð°Ò£ÐŽÐ°Ð»ÒÐ°Ðœ ÐžÐœÐŽÐµÐºÑÑÑ Ð¶Ð°Ò£Ð°ÑÑÑ  
+CDM.IndexManager.Select_All:ÐÓÑÑÐœ ÐµÑÐµÐºÑÐµÐ»ÐµÐ¿ Ð±Ó©Ð»Ñ  
+CDM.IndexManager.Select_All_Tooltip:ÐÐ°ÑÐ»ÑÒ ÐžÐœÐŽÐµÐºÑÑÑÐº ÐºÓ©Ð·ÐŽÐµÑÐŽÑ ÐµÑÐµÐºÑÐµÐ»ÐµÐ¿ Ð±Ó©Ð»Ñ  
+CDM.IndexManager.Select_None:Ð¢Ð°Ò£ÐŽÐ°ÑÐŽÑ Ð°Ð»ÑÐ¿ ÑÐ°ÑÑÐ°Ñ  
+CDM.IndexManager.Select_None_Tooltip:ÐÐ°ÑÐ»ÑÒ ÐžÐœÐŽÐµÐºÑÑÑÐº ÐºÓ©Ð·ÐŽÐµÑÐŽÐµÐœ ÑÐ°Ò£ÐŽÐ°ÑÐŽÑ Ð°Ð»ÑÐ¿ ÑÐ°ÑÑÐ°Ñ  
+CDM.IndexManager.Set_Default:ÐÐœÐŽÐµÐºÑÑÑ Ò¯ÐœÐŽÐµÐŒÐµÑ Ð±ÐŸÐ¹ÑÐœÑÐ° ÒÒ±ÑÑ
+CDM.IndexManager.Set_Default_Tooltip:Ð¢Ð°Ò£ÐŽÐ°Ð»ÒÐ°Ðœ ÐžÐœÐŽÐµÐºÑÑÑ Ò¯ÐœÐŽÐµÐŒÐµÑ Ð±ÐŸÐ¹ÑÐœÑÐ° ÐžÐœÐŽÐµÐºÑ Ð¶Ð°ÑÐ°Ñ
+CDM.IndexManager.Source:ÐÐœÐŽÐµÐºÑÑÑ ÒÒ±ÑÑ:
+CDM.IndexManager.Source_Tooltip:ÐÐœÐŽÐµÐºÑÑÑ ÒÒ±ÑÐ°ÑÑÑÑÑÒÐ° Ð°ÑÐœÐ°Ð»ÒÐ°Ðœ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ ÑÐ»ÐµÐŒÐµÐœÑÑÐµÑÑ
+CDM.IndexManager.Text_Source:Ð¢ÐŸÐ»ÑÒ ÐŒÓÑÑÐœ  
+CDM.IndexManager.Text_Source_Tooltip:Ð¢ÐŸÐ»ÑÒ ÐŒÓÑÑÐœ ÒÒ±Ð¶Ð°ÑÑÐ°ÑÑÐœ ÐžÐœÐŽÐµÐºÑÐºÐµ ÒÐŸÑÑ  
+CDM.IndexingManager.Accent_fold:ÒÐŸÑÑÐŒÑÐ° Ð±ÐµÑÑÑ Ð°ÑÑ  
+CDM.IndexingManager.Accent_fold_Tooltip:Ð¢ÑÐœÑÑ Ð±ÐµÐ»Ð³ÑÐ»ÐµÑÑÐœ ÐµÐ»ÐµÐŒÐµÐ¹ ÑÓ©Ð·ÐŽÐµÑÐŽÑ ÒÐ°ÐœÐ° ÑÐ·ÐŽÐµÑÐ³Ðµ ÐŒÒ¯ÐŒÐºÑÐœÐŽÑÐº Ð±ÐµÑÐµÑÑÐœ ÑÐŸÐ»ÑÒ Ð¶ÐžÐœÐ°ÑÑÑÑÑÐ»ÒÐ°Ðœ ÐºÑÑÑÐŽÑÒ£ ÐžÐœÐŽÐµÐºÑÑÐœ Ð³ÐµÐœÐµÑÐ°ÑÐžÑÐ»Ð°Ñ  
+CDM.IndexingManager.Casefold:ÒÐŸÑÑÐŒÑÐ° Ð±ÐµÑÑÑ Ð±Ò¯ÐºÑÐµÑ  
+CDM.IndexingManager.Casefold_Tooltip:ÐÐŸÒÐ°ÑÒÑ ÐœÐµÐŒÐµÑÐµ ÑÓ©ÐŒÐµÐœÐ³Ñ ÐœÑÑÐ°ÐœÐŽÐ°Ñ ÑÐµÐ³ÐžÑÑÑÑÐœÐµ ÑÐµÐ·ÑÐŒÑÐ°Ð» ÑÐŸÐ»ÑÒ Ð¶ÐžÐœÐ°ÑÑÑÑÑÐ»ÒÐ°Ðœ ÐžÐœÐŽÐµÐºÑ ÑÐµÐ³ÐžÑÑÑÑÐœ Ð³ÐµÐœÐµÑÐ°ÑÐžÑÐ»Ð°Ñ  
+CDM.IndexingManager.Options:ÐÐ¿ÑÐžÐž ÐžÐœÐŽÐµÐºÑÐ°ÑÐžÐž:  
+CDM.IndexingManager.Separate_cjk:ÐÓÑÑÐœ ÑÐµÐ³ÐŒÐµÐœÑÐ°ÑÐžÑÑÑ ÒÐÐ  
+CDM.IndexingManager.Separate_cjk_Tooltip:<html>ÒÐÐ ÐÓÑÑÐœ (ÒÑÑÐ°Ð¹, ÐÐ°Ð¿ÐŸÐœ, ÐÓÑÑÑ) ÑÐµÐ³ÐŒÐµÐœÑÑ. ÓÑ ÒÐÐ ÐžÐµÑÐŸÐ³Ð»ÐžÑÑ Ð°ÑÐ°ÑÑÐœÐŽÐ° Ð±ÐŸÑ ÐŸÑÑÐœ ÒÐŸÑÒÐ° ÐŒÒ¯ÐŒÐºÑÐœÐŽÑÐº Ð±ÐµÑÐµÐŽÑ. <br> ÐÒ±Ð» ÒÐÐ ÐŒÓÑÑÐœÑÐœÐŽÐµ ÑÐ·ÐŽÐµÑ Ò¯ÑÑÐœ ÒÐ°Ð¶ÐµÑÑÑ, ÑÓ©Ð·ÐŽÐµÑÐ³Ðµ ÐŒÓÑÑÐœÐŽÑ ÑÐµÐ³ÐŒÐµÐœÑÐ°ÑÐžÑÐ»Ð°ÑÒÐ° ÐŽÐµÐ¹ÑÐœ.</html>  
+CDM.IndexingManager.Stem:ÐÒÐ°Ñ  
+CDM.IndexingManager.Stem_Tooltip:<html>Ð¢Ò¯Ð±ÑÑÐ»ÐµÑ ÑÓ©Ð·ÐŽÐµÑÐ³Ðµ ÑÐ·ÐŽÐµÑ ÑÐ°Ð»Ð°ÑÑÐœ ÑÒ¯Ð±ÑÑ ÐžÐœÐŽÐµÐºÑÑÐœ Ð³ÐµÐœÐµÑÐ°ÑÐžÑÐ»Ð°Ñ. <br>ÐÑÑÐ°Ð»Ñ, "farm" ÑÓ©Ð·ÑÐœ ÑÐ·ÐŽÐµÑ "farms" "farming" "farmers" ÑÓ©Ð·ÐŽÐµÑÑÐœ ÐŽÐµ ÑÐ°Ð±Ð°ÐŽÑ (Ð°ÒÑÐ»ÑÑÐœ Ð¶ÓÐœÐµ ÑÑÑÐ°ÐœÑÑÐ· ÐŒÓÑÑÐœÑÐœÐŽÐµ ÒÐ°ÐœÐ° Ð¶Ò±ÐŒÑÑ Ð¶Ð°ÑÐ°Ð¹ÐŽÑ).</html>  
+CDM.LanguageManager.Add_Tooltip:ÐÓ©ÑÑÐµÑÑÐ»Ð³ÐµÐœ ÑÑÐ»ÐŽÑ ÑÑÐ·ÑÐŒÐ³Ðµ ÒÐŸÑÑ
+CDM.LanguageManager.Assigned_Languages:ÐÐµÑÑÐ»Ð³ÐµÐœ ÑÑÐ»ÐŽÐµÑ
+CDM.LanguageManager.Default_Language:Ò®ÐœÐŽÐµÐŒÐµÑ Ð±ÐŸÐ¹ÑÐœÑÐ° ÑÑÐ»Ñ
+CDM.LanguageManager.LanguageMetadata:Ð¢ÑÐ»ÐŽÑÒ£ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÑ:  
+CDM.LanguageManager.LanguageMetadata_Tooltip:ÒÒ±Ð¶Ð°ÑÑÑÒ£ ÑÑÐ»ÑÐœ Ð°ÐœÑÒÑÐ°ÑÒÐ° Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÐ°ÑÑÐœ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ ÑÐ»ÐµÐŒÐµÐœÑÑ.  
+CDM.LanguageManager.Remove_Tooltip:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ ÑÑÐ»ÐŽÑ ÑÑÐ·ÑÐŒÐœÐµÐœ Ð¶ÐŸÑ
+CDM.LanguageManager.Replace_Tooltip:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ Ð±Ó©Ð»ÑÐŒÐŽÑ, ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ ÑÑÐ»ÐŽÐµÑ   ÐœÐµÐ³ÑÐ·ÑÐœÐŽÐµ    Ð¶Ð°Ò£Ð° Ð±Ó©Ð»ÑÐŒÐŒÐµÐœ Ð°ÑÑÑÑÑÑÑ  
+CDM.LanguageManager.Selector:Ð¢ÑÐ»ÐŽÑ ÒÐŸÑÑ:
+CDM.LanguageManager.Selector_Tooltip:ÐÓ©Ð»Ñ ÐžÐœÐŽÐµÐºÑÑÐœ ÒÒ±ÑÑÒÐ° Ð°ÑÐœÐ°Ð»ÒÐ°Ðœ ÑÑÐ»
+CDM.LanguageManager.Set_Default:Ò®ÐœÐŽÐµÐŒÐµÑ Ð±ÐŸÐ¹ÑÐœÑÐ° Ð±Ð°ÑÑÑÐ»ÑÒ
+CDM.LanguageManager.Set_Default_Tooltip:Ð¢Ð°Ò£ÐŽÐ°Ð»ÒÐ°Ðœ ÑÑÐ»ÐŽÐµÐœ Ò¯ÐœÐŽÐµÐŒÐµÑ Ð±ÐŸÐ¹ÑÐœÑÐ° ÑÑÐ»ÑÐœ Ð¶Ð°ÑÐ°Ñ  
+CDM.LevelManager.Document:ÒÒ±Ð¶Ð°Ñ  
+CDM.LevelManager.Section:ÑÐµÐºÑÐžÑ  
+CDM.LevelManager.Paragraph:Ð°Ð±Ð·Ð°Ñ  
+CDM.LevelManager.Level_Title:ÐÐœÐŽÐµÐºÑÐ°ÑÐžÑ ÐŽÐµÒ£Ð³ÐµÐ¹Ñ  
+CDM.LevelManager.Default:Ò®ÐœÐŽÐµÐŒÐµÑ Ð±ÐŸÐ¹ÑÐœÑÐ°  
+CDM.LevelManager.Default_Tooltip:ÐÒÑÑÐŒÐ°Ðœ ÐžÐœÑÐµÑÑÐµÐ¹ÑÑÐœÐŽÐµÐ³Ñ Ò¯ÐœÐŽÐµÐŒÐµÑÐŽÑÒ£ ÐŽÐµÒ£Ð³ÐµÐ¹Ñ  
+CDM.MacrosManager.Editor_Tooltip:ÐÐ°ÐºÑÐŸÑÑÐ°ÑÐŽÑ ÐŸÑÑ Ð¶ÐµÑÐŽÐµ ÑÐµÐŽÐ°ÐºÑÐžÐ»Ð°Ñ  
+CDM.Move.At_Bottom:{0} {1} ÑÓ©ÐŒÐµÐœ ÑÒ¯ÑÑÑÑ ÐŒÒ¯ÐŒÐºÑÐœ ÐµÐŒÐµÑ, Ó©Ð¹ÑÐºÐµÐœÑ ÐŸÐ» ÑÑÐ·ÑÐŒÐœÑÒ£ ÑÑÑÐµÐ³ÑÐœÐŽÐµ ÑÒ±Ñ.
+CDM.Move.At_Top:{0} {1} Ð¶ÐŸÒÐ°ÑÑÒÐ° Ð°ÑÑÑÑÑÑÑ ÐŒÒ¯ÐŒÐºÑÐœ ÐµÐŒÐµÑ, Ó©Ð¹ÑÐºÐµÐœÑ ÐŸÐ» ÑÑÐ·ÑÐŒÐœÑÒ£ Ð¶ÐŸÒÐ°ÑÒÑ Ð¶Ð°ÒÑÐœÐŽÐ° ÑÒ±Ñ .
+CDM.Move.Cannot:RecPlug Ðž ArcPlug ÑÑÐ·ÑÐŒÐœÑÒ£ ÑÑÑÐµÐ³ÑÐœÐŽÐµ ÑÒ±ÑÒÐ°ÐœÐŽÑÒÑÐ°Ðœ,{0} Ð¿Ð»Ð°Ð³ÐžÐœÑÐœ ÑÓ©ÐŒÐµÐœÑÑÐµÐº Ð°ÑÑÑÑÑÑÑ ÐŒÒ¯ÐŒÐºÑÐœ ÐµÐŒÐµÑ.
+CDM.Move.Fixed:<html>ÐÐ°Ð»Ð¿Ñ RecPlug Ðž ArcPlug Ó©Ð· ÐŸÑÐœÑÐœÐŽÐ° Ð±ÐµÐºÑÑÑÐ»ÑÐ¿ Ð¶ÓÐœÐµ ÑÐŸÒ£ÑÐœÐŽÐ° Ð±ÐŸÐ»ÑÑ ÑÐžÑÑ.ÐÐ³ÐµÑ ÑÑÐ· ÐŸÐœÑ Ð°ÑÑÑÑÑÑÑÐ°Ò£ÑÐ·, collect.cfg .</html> ÑÐ°Ð¹Ð»ÑÐœ ÒÐŸÐ»ÐŒÐµÐœ ÑÐµÐŽÐ°ÐºÑÐžÑÐ»Ð°Ò£ÑÐ·.
+CDM.Move.Move_Down:Ð¢Ó©ÐŒÐµÐœÐ³Ðµ Ð°ÑÑÑÑ
+CDM.Move.Move_Down_Tooltip:Ð¢Ð°Ò£ÐŽÐ°Ð»ÒÐ°Ðœ ÑÐ»ÐµÐŒÐµÐœÑÑÑ ÑÑÐ·ÑÐŒÐœÑÒ£ ÑÓ©ÐŒÐµÐœ Ð¶Ð°ÒÑÐœÐ° Ð°ÑÑÑÑÑÑÑ
+CDM.Move.Move_Up:ÐÐŸÒÐ°ÑÑ ÒÐ°ÑÐ°Ð¹ Ð¶ÑÐ»Ð¶Ñ
+CDM.Move.Move_Up_Tooltip:Ð¢Ð°Ò£ÐŽÐ°Ð»ÒÐ°Ðœ ÑÐ»ÐµÐŒÐµÐœÑÑÑ ÑÑÐ·ÑÐŒÐœÑÒ£ Ð¶ÐŸÒÐ°ÑÒÑ Ð¶Ð°ÒÑÐœÐ° Ð°ÑÑÑÑÑÑÑ
+CDM.Move.Title:ÒÐ°ÑÐµ -  ÒÐ°Ð·ÒÐ°Ð»Ñ ÐŒÒ¯ÐŒÐºÑÐœ ÐµÐŒÐµÑ
+CDM.PlugInManager.Add:ÐÐ»Ð°Ð³ÐžÐ³ÑÑ ÒÐŸÑÑ...
+CDM.PlugInManager.QuickAdd:ÐÐ»Ð°Ð³ÐžÐ³ÑÑ ÒÐŸÑÑ
+CDM.PlugInManager.Add_Tooltip:ÒÓ©ÑÑÐµÑÑÐ»Ð³ÐµÐœ ÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐŒÐµÐœ ÒÐŸÐ»ÐŽÐ°ÐœÑ
+CDM.PlugInManager.Assigned:ÐÒÑÐŒÐŽÐ°ÒÑ Ð±ÐµÑÑÐ»Ð³ÐµÐœ Ð¿Ð»Ð°Ð³ÐžÐœÐŽÐµÑ
+CDM.PlugInManager.Configure:ÐÐ»Ð°Ð³ÐžÐœÐŽÑ ÒÒ±ÑÑÒ£ÑÐ·ÐŽÐ°Ñ...
+CDM.PlugInManager.Configure_Tooltip:Ð¢Ð°Ò£ÐŽÐ°Ð»ÒÐ°Ðœ Ð¿Ð»Ð°Ð³ÐžÐœÐœÑÒ£ ÐŸÐ¿ÑÐžÑÐ»Ð°ÑÑÐœ Ó©Ð·Ð³ÐµÑÑÑ
+CDM.PlugInManager.Ignore:ÐÐ»Ð°Ð³ÐžÐœÐŽÑ ÒÐŸÑÐ¿Ð°Ñ
+CDM.PlugInManager.Ignore_Tooltip:ÐÒ±Ð» ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÒÐ° ÐµÑ Ð¿Ð»Ð°Ð³ÐžÐœÐŽÑ ÒÐŸÑÐ¿Ð°Ñ.
+CDM.PlugInManager.PlugIn:ÒÐŸÑÑ Ò¯ÑÑÐœ Ð¿Ð»Ð°Ð³ÐžÐœÐŽÑ ÑÐ°Ò£ÐŽÐ°Ñ:
+CDM.PlugInManager.PlugIn_Tooltip:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐŽÐ° ÒÐŸÐ»ÐŽÐ°ÐœÑÒÐ° Ð±ÐŸÐ»Ð°ÑÑÐœ Ð¿Ð»Ð°Ð³ÐžÐœÐŽÐµÑ.
+CDM.PlugInManager.PlugIn_Str:Ð¿Ð»Ð°Ð³ÐžÐœ
+CDM.PlugInManager.PlugIn_XML_Parse_Failed:{0} Ð¿Ð»Ð°Ð³ÐžÐœÑÐœÐµ Ð°ÑÐœÐ°Ð»ÒÐ°Ðœ Ó©Ð»ÑÐµÑÐ»ÐµÑÐŽÑ Ð°Ò£ÑÒÑÐ°Ñ ÐŒÒ¯ÐŒÐºÑÐœ ÐµÐŒÐµÑ. ÒÐ°ÑÐ°Ð»ÑÐ¿ Ð¶Ð°ÑÒÐ°Ðœ Ð¿Ð»Ð°Ð³ÐžÐœ pluginfo.pl ÑÐºÑÐžÐ¿ÑÑÑ ÐŸÑÑÐœÐŽÐ°ÑÐŽÐ° ÐÑÐžÐœÑÑÐŸÑÐœ ÒÒ±ÑÑÑÑÐ»Ð°ÑÑ Ð±Ð°ÑÑÑÐ»ÑÒÑÐœÑÒ£ 2.1 Ð±Ó©Ð»ÑÐŒÑÐœÐŽÐµ Ð¶Ð°Ð·ÑÐ»ÒÐ°ÐœÐŽÐ°Ð¹ âxml Ð¶Ð°Ð»Ð°ÑÐŒÐµÐœ ÒÐŸÑÐ° Ð¶Ò¯ÑÐµÑÑÐœÑÐœÐµ ÐºÓ©Ð· Ð¶ÐµÑÐºÑÐ·ÑÒ£ÑÐ·.  
+CDM.PluginManager.Plugin_List_XML_Parse_Failed:pluginfo.pl -listall ÐºÓ©ÐŒÐµÐ³ÑÐŒÐµÐœ Ð¿Ð»Ð°Ð³ÐžÐœÐŽÐµÑ ÑÑÐ·ÑÐŒÑÐœ Ð°Ð»Ñ ÐŒÒ¯ÐŒÐºÑÐœ ÐµÐŒÐµÑ  
+CDM.PluginManager.Plugin_Suggestion_Prompt:ÐÒ±Ð» ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÐŽÐ°ÒÑ Ð±ÑÑÐŽÐµ-Ð±ÑÑ Ð¿Ð»Ð°Ð³ÐžÐœ "{0}" ÑÐ°Ð¹Ð»ÑÐœ Ó©ÐœÐŽÐµÑÐ³Ðµ Ð°ÑÐœÐ°Ð»ÐŒÐ°ÒÐ°Ðœ. ÐÐµÐ»ÐµÑÑ Ð¿Ð»Ð°Ð³ÐžÐœÐŽÐµÑ ÐŸÑÑ ÑÐ°Ð¹Ð»ÐŽÑ Ó©Ò£ÐŽÐµÑÐ³Ðµ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÐ»ÑÑ ÐŒÒ¯ÐŒÐºÑÐœ. Ð¡ÑÐ· Ð¿Ð»Ð°Ð³ÐžÐœÐŽÐµÑ ÑÑÐ·ÑÐŒÑÐœ ÐºÐµÐ·-ÐºÐµÐ»ÑÐ³ÐµÐœ ÑÐ°ÒÑÑÑÐ° "ÐÐžÐ·Ð°Ð¹Ðœ" Ð¿ÑÐ°ÐœÐµÐ»ÑÐœÐŽÐµÐ³Ñ " ÒÒ±Ð¶Ð°Ñ ÐÐ»Ð°Ð³ÐžÐœÐŽÐµÑÑ "  ÐŒÐµÐœÑÑ Ð°ÑÒÑÐ»Ñ Ó©Ð·Ð³ÐµÑÑÐµ Ð°Ð»Ð°ÑÑÐ·.
+CDM.PlugInManager.Remove:ÐÐ»Ð°Ð³ÐžÐœÐŽÑ Ð¶ÐŸÑ
+CDM.PlugInManager.Remove_Tooltip:Ð¢Ð°Ò£ÐŽÐ°Ð»ÒÐ°Ðœ Ð¿Ð»Ð°Ð³ÐžÐœÐŽÑ ÑÑÐ·ÑÐŒÐœÐµÐœ Ð¶ÐŸÑ
+CDM.PluginManager.SuggestedPluginListTitle:ÐÐ»Ð°Ð³ÐžÐœ Ò¯ÑÑÐœ Ò±ÑÑÐœÑÐ»ÒÐ°Ðœ ÑÐ°Ð¹Ð»ÐŽÐ°Ñ
+CDM.SearchMetadataManager.Component:ÐÐ·ÐŽÐµÑ ÐŒÐµÐœÑÑÐŽÐµÐ³Ñ Ð¿ÑÐœÐºÑ  
+CDM.SearchMetadataManager.Component_Name:ÐÓ©ÑÑÐµÑÑÐ»ÐµÑÑÐœ ÐŒÓÑÑÐœ  
+CDM.SearchMetadataManager.Type_index:ÐÐœÐŽÐµÐºÑ  
+CDM.SearchMetadataManager.Type_level:ÐÐµÒ£Ð³ÐµÐ¹  
+CDM.SearchMetadataManager.Type_partition:ÐÓ©Ð»ÑÐŒ  
+CDM.SearchMetadataManager.Type_language:Ð¢ÑÐ» Ð±Ó©Ð»ÑÐŒÑ  
+CDM.SubcollectionManager.Add:Ð¡Ò¯Ð·Ð³ÑÑÑÑ ÒÐŸÑÑ
+CDM.SubcollectionManager.Add_Tooltip:ÐÓ©ÑÑÐµÑÑÐ»Ð³ÐµÐœ ÑÒ¯Ð·Ð³ÑÑÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÒÐ°  ÒÐŸÑÑ
+CDM.SubcollectionManager.Assigned:Ð¡ÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑÒ£ Ð±ÐµÑÑÐ»Ð³ÐµÐœ ÑÒ¯Ð·Ð³ÑÑÑÐµÑÑ
+CDM.SubcollectionManager.Exclude:ÐÐ»Ñ
+CDM.SubcollectionManager.Flags:Ð¡ÓÐ¹ÐºÐµÑÑÑÐº ÐºÐµÐ·ÑÐœÐŽÐµ ÒÒ±ÑÑÐ»Ð°ÑÑÐœ Ð¶Ð°Ð»Ð°ÑÐ»Ð°Ñ
+CDM.SubcollectionManager.Flags_Tooltip:Ð¡ÓÐ¹ÐºÐµÑÑÑÐº ÐºÐµÐ·ÑÐœÐŽÐµ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÐ°ÑÑÐœ ÐŽÒ±ÑÑÑ ÑÓ©Ð·ÐŽÐµÑ Ð¶Ð°Ð»Ð°ÑÐ»Ð°ÑÑ. (ÐŒÑÑÐ°Ð»Ñ, "i" Ð±Ð°Ñ Ð¶ÓÐœÐµ Ð¶ÐŸÐ» ÓÑÑÐ¿ÑÐµÑÑÐœÑÒ£ Ð°Ð¹ÑÑÐŒÐ°ÑÑÐ»ÑÒÑÑÑÐ· ÑÓÐ¹ÐºÐµÑ Ò¯ÑÑÐœ).
+CDM.SubcollectionManager.Include:ÒÐŸÑÑ
+CDM.SubcollectionManager.Inclusive:Ð¡Ð°Ð¹ ÐºÐµÐ»ÐµÑÑÐœ ÑÐ°Ð¹Ð»ÐŽÐ°ÑÐŒÐµÐœ Ð±ÑÐ· ÐœÐµ ÑÑÑÐµÑÑÐŒÑÐ· ÐºÐµÑÐµÐº?
+CDM.SubcollectionManager.Language_Controls:Ð¢ÑÐ»ÐŽÐµÑÐŽÑ Ð±ÐµÑÑÒ£ÑÐ·
+CDM.SubcollectionManager.Match:Ð¡ÓÐ¹ÐºÐµÑ ÐºÐµÐ»ÑÐŽÑ ÐŽÒ±ÑÑÑ Ð±ÑÐ»ÐŽÑÑÑ:
+CDM.SubcollectionManager.Match_Tooltip:Ð¡ÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÐŽÐ°ÒÑ ÒÒ±Ð¶Ð°ÑÑÐ°ÑÐŽÑ Ð°ÐœÑÒÑÐ°ÑÐŽÑ ÐŽÒ±ÑÑÑ Ð±ÑÐ»ÐŽÑÑÑ.
+CDM.SubcollectionManager.Name:Ð¡ÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°Ñ ÑÒ¯Ð·Ð³ÑÑÑÐœÑÒ£ Ð°ÑÑ:
+CDM.SubcollectionManager.Name_Tooltip:Ð¡ÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÑÒ¯Ð·Ð³ÑÑÑÐœÑÒ£ Ð¶Ð°Ò£Ð° Ð°ÑÑ
+CDM.SubcollectionManager.Remove:Ð¡Ò¯Ð·Ð³ÑÑÑÑ Ð¶ÐŸÑ
+CDM.SubcollectionManager.Remove_Tooltip:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ ÑÒ¯Ð·Ð³ÑÑÑÑ ÑÑÐ·ÑÐŒÐœÐµÐœ Ð¶ÐŸÑ
+CDM.SubcollectionManager.Replace:Ð¡Ò¯Ð·Ð³ÑÑÑÑ Ð°ÑÑÑÑÑÑÑ
+CDM.SubcollectionManager.Replace_Tooltip:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ ÑÒ¯Ð·Ð³ÑÑ ÐŽÐµÑÐ°Ð»ÑÐŽÐ°ÑÑÐœ Ð°ÑÑÑÑÑÑÑ
+CDM.SubcollectionManager.Source:ÒÒ±Ð¶Ð°ÑÑÑÒ£ ÑÓÐ¹ÐºÐµÑ ÐºÐµÐ»Ñ Ð±ÐµÐ»Ð³ÑÑÑ:
+CDM.SubcollectionManager.Source_Tooltip:ÒÒ±Ð¶Ð°ÑÑÑÒ£ ÑÑÐ·Ñ Ò¯ÑÑÐœ Ð±ÐµÐ»Ð³ÑÑÑ
+CDM.SubcollectionManager.Subcollection_Controls:Ð¡Ò¯Ð·Ð³ÑÑÑÐµÑÐŽÑ Ð°ÐœÑÒÑÐ°Ñ
+CDM.SubcollectionManager.Subindex_Controls:ÐÓ©Ð»ÑÐŽÑ Ð±ÐµÐ»Ð³ÑÐ»ÐµÑ
+CDM.SubcollectionIndexManager.Add_Subindex:ÐÓ©Ð»ÑÐŒÐŽÑ ÒÐŸÑÑ  
+CDM.SubcollectionIndexManager.Add_Subindex_Tooltip:ÐÓ©ÑÑÐµÑÑÐ»Ð³ÐµÐœ Ð±Ó©Ð»ÑÐŒÐŽÑ ÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÒÐ° ÒÐŸÑÑ
+CDM.SubcollectionIndexManager.Default_Partition_Indicator:[Ò®ÐœÐŽÐµÐŒÐµÑ Ð±ÐŸÐ¹ÑÐœÑÐ° Ð±Ó©Ð»ÑÐŒÐŽÐµÑ]  
+CDM.SubcollectionIndexManager.Remove_Subindex:ÐÓ©Ð»ÑÐŒÐŽÑ Ð¶ÐŸÑ
+CDM.SubcollectionIndexManager.Remove_Subindex_Tooltip:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ Ð±Ó©Ð»ÑÐŒÐŽÑ ÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐŽÐ°Ðœ Ð¶ÐŸÑ
+CDM.SubcollectionIndexManager.Replace_Subindex:ÐÓ©Ð»ÑÐŒÐŽÑ Ð°ÑÑÑÑÑÑ
+CDM.SubcollectionIndexManager.Replace_Subindex_Tooltip:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ Ð±Ó©Ð»ÑÐŒÐŽÑ Ð¶Ð°Ò£Ð°ÑÑÑ
+CDM.SubcollectionIndexManager.Set_Default_Subindex:Ò®ÐœÐŽÐµÐŒÐµÑ Ð±ÐŸÐ¹ÑÐœÑÐ° ÒÐŸÑ
+CDM.SubcollectionIndexManager.Set_Default_Subindex_Tooltip:Ð¢Ð°Ò£ÐŽÐ°Ð»ÒÐ°Ðœ Ð±Ó©Ð»ÑÐŒÐŽÑ Ò¯ÐœÐŽÐµÐŒÐµÑ Ð±ÐŸÐ»ÑÐŒÑ ÑÐµÑÑÐœÐŽÐµ Ð±ÐµÐ»Ð³ÑÐ»ÐµÑ
+CDM.SubcollectionIndexManager.Source:ÐÓ©Ð»ÑÐ³Ðµ ÒÐŸÐ»ÐŽÐ°ÐœÑ:
+CDM.SubcollectionIndexManager.Source_Tooltip:ÐÓ©Ð»ÑÐŽÑ ÒÐŸÐ»ÐŽÐ°ÐœÑÒÐ° Ð°ÑÐœÐ°Ð»ÒÐ°Ðœ ÑÒ¯Ð·Ð³ÑÑÑÐµÑ ÐºÐŸÐ¿ÑÑÐ»ÑÐ³Ñ
+CDM.SubcollectionIndexManager.Subindexes:Ð¡ÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÐŽÑ Ð±Ó©Ð»Ñ ÐŒÑÐœÐŽÐµÑÑÐµÑÑ
+CDM.TranslationManager.Add:ÐÑÐŽÐ°ÑÑÐŒÐŽÑ ÒÐŸÑÑ
+CDM.TranslationManager.Add_Tooltip:ÐÓ©ÑÑÐµÑÑÐ»Ð³ÐµÐœ Ð°ÑÐŽÐ°ÑÑÐŒÐŽÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÒÐ° ÒÐŸÑÑ
+CDM.TranslationManager.Affected_Features:ÒÓÑÐžÐµÑ
+CDM.TranslationManager.Assigned_Fragments:ÐÐµÑÑÐ»Ð³ÐµÐœ Ð°ÑÐŽÐ°ÑÑÐŒÐŽÐ°Ñ
+CDM.TranslationManager.Default_Text:ÐÓÑÑÐœÐœÑÒ£ Ð±Ð°ÑÑÐ°Ð¿ÒÑ ÑÑÐ°Ð³ÐŒÐµÐœÑÑ
+CDM.TranslationManager.Fragment_Column:ÐÓÑÑÐœÐœÑÒ£  ÑÑÐ°Ð³ÐŒÐµÐœÑÑ
+CDM.TranslationManager.Language:ÐÑÐŽÐ°ÑÑ ÑÑÐ»Ñ:
+CDM.TranslationManager.Language_Column:Ð¢ÑÐ»Ñ
+CDM.TranslationManager.Language_Tooltip:ÐÑÐŽÐ°ÑÑÐ»Ð°ÑÑÐœ ÑÑÐ»
+CDM.TranslationManager.Remove:ÐÑÐŽÐ°ÑÑÐŒÐŽÑ Ð¶ÐŸÑ
+CDM.TranslationManager.Remove_Tooltip:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ Ð°ÑÑÑÑÑÑÑÐŽÑ ÑÑÐ·ÑÐŒÐœÐµÐœ Ð¶ÐŸÑ
+CDM.TranslationManager.Replace:ÐÑÐŽÐ°ÑÑÐŒÐŽÑ Ð°ÑÑÑÑÑÑÑ
+CDM.TranslationManager.Replace_Tooltip:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ Ð°ÑÐŽÐ°ÑÑÐŒÐŽÑ Ð¶Ð°Ò£Ð°ÑÑÑ
+CDM.TranslationManager.Translation:ÐÑÐŽÐ°ÑÑÐ»ÒÐ°Ðœ ÐŒÓ©ÑÑÐœ
+CDM.TranslationManager.Translation_Tooltip:ÐÐŸÐ»ÐŽÑ Ð°ÑÐŽÐ°ÑÑÐŽÑ ÐŸÑÑ Ð¶ÐµÑÐ³Ðµ ÐµÐœÐ³ÑÑÑÒ£ÑÐ·
+CDM.DepositorMetadataManager.Warning:ÐÐµÑÐ°ÐŽÐµÑÐµÐºÑÐµÑÐŽÑÒ£ Ð±ÑÑ ÒÐ°ÐœÐ° ÑÐ»ÐµÐŒÐµÐœÑÑ Ð±ÐŸÐ»ÑÐ° ÐŽÐ° ÑÐ°Ò£ÐŽÐ°Ð»ÑÑ ÐºÐµÑÐµÐº  
+#*******************
+#
+#***** Collection *****
+Collection.Collection:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>ÐÐŸÐ»Ð»ÐµÐºÑÐžÑ</FONT></STRONG></HTML>
+Collection.Delete_Tooltip:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ ÑÐ°Ð¹Ð»ÐŽÐ°Ñ ÐŒÐµÐœ Ð¿Ð°Ð¿ÐºÐ°Ð»Ð°ÑÐŽÑ Ð¶ÐŸÑ
+Collection.Filter_Tooltip:Ð€Ð°Ð¹Ð» Ð°ÒÐ°ÑÑÐœÐŽÐ° ÐºÓ©ÑÑÐµÑÑÐ»Ð³ÐµÐœ ÑÐ°Ð¹Ð»ÐŽÐ°ÑÐŽÑ ÑÐµÐºÑÐµÑ
+Collection.New_Folder_Tooltip:ÐÐ°Ò£Ð° Ð¿Ð°Ð¿ÐºÐ° ÒÒ±ÑÑ
+Collection.No_Collection:ÐÑÒÐ°ÐœÐŽÐ°Ð¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ
+Collection.No_Collection_Loaded:ÐÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð¶Ò¯ÐºÑÐµÐ»ÐŒÐµÐ³ÐµÐœ  
+Collection.Stop:Ð¢ÐŸÒÑÐ°ÑÑ
+Collection.Stop_Tooltip:Ð€Ð°Ð¹Ð»ÐŽÑ ÐºÓ©ÑÑÑÑÐŽÑ ÑÐŸÒÑÐ°ÑÑ
+Collection.Workspace:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>ÐÒ±ÐŒÑÑ ÐºÐµÒ£ÑÑÑÑÐ³Ñ</FONT></STRONG></HTML>  
+#**********************
+#
+#***** CollectionBuilt *****
+CollectionBuilt.Message:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑ ÒÒ±ÑÑÐ»ÐŽÑ Ð¶ÓÐœÐµ Ð°Ð»ÐŽÑÐœ-Ð°Ð»Ð° ÒÐ°ÑÑÐ°ÒÐ° ÐŽÐ°Ð¹ÑÐœ.
+CollectionBuilt.Title:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÒÒ±ÑÑ ÐœÓÑÐžÐ¶ÐµÑÑ.
+#***************************
+#
+#******ScheduldBuilt******
+ScheduleBuilt.Message:ÐÐžÐœÐ°ÒÑÑÒ£ ÐºÐµÐ·ÐµÐºÑÑÐ»ÑÐ³Ñ Ó©Ð·Ð³ÐµÑÑÑÐ»ÐŽÑ.  
+ScheduleBuilt.Title:ÐÐžÐœÐ°ÒÑÑÒ£ ÐºÐµÐ·ÐµÐºÑÑÐ»ÑÐ³ÑÐœÑÒ£ ÐœÓÑÐžÐ¶ÐµÑÑ  
+#***************************
+#
+#***** CollectionManager *****
+CollectionManager.Schedule_Failed:ÒÐ°ÑÐµ ÐºÐµÐ·ÐµÐºÑÑ ÐºÐµÐ·ÐµÒ£ÐŽÑÐº Ð¶Ð°Ò£Ð°Ð»Ð°Ñ ÐŒÐµÐœ ÒÐ°Ð¹ÑÐ°ÒÒ±ÑÑÐ»ÑÐŽÑÒ£ ÐŒÒ¯ÐŒÐºÑÐœ ÐµÐŒÐµÑ Ð±ÐŸÐ»ÒÐ°ÐœÑÐœÐ°Ðœ ÑÑÒÑÑ.  
+CollectionManager.Build_Cancelled:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÒÒ±ÑÑ Ð°ÑÑÑÑÑÑÑÐ»ÐŽÑ.
+CollectionManager.Cannot_Create_Collection:ÒÐ°ÑÐµÐ»ÑÐº Ð¿Ð°Ð¹ÐŽÐ° Ð±ÐŸÐ»ÐŽÑ. ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÒÒ±ÑÑ ÐŒÒ¯ÐŒÐºÑÐœ ÐµÐŒÐµÑ.
+CollectionManager.Cannot_Create_Collection_With_Reason:ÐÐŸÐ»ÒÐ°ÐœÐŽÑÒÑÐ°Ðœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÒÒ±ÑÑÐ»Ð° Ð°Ð»ÐŒÐ°ÐŽÑ:\n{0-Error message}  
+CollectionManager.Cannot_Delete_Index:ÐÒ±Ð» ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÒÐ°Ð¹ÑÐ° ÒÒ±ÑÑÐ»Ð° Ð°Ð»ÐŒÐ°Ð¹ÐŽÑ, Ó©Ð¹ÑÐºÐµÐœÑ ÐµÑÐºÑ ÐžÐœÐŽÐµÐºÑÑÑÐº ÑÐ°Ð¹Ð»ÐŽÐ°Ñ Ð¶ÐŸÐ¹ÑÐ»Ð° Ð°Ð»ÐŒÐ°Ð¹ÐŽÑ. ÐÑÑ ÑÐ°Ð¹Ð»ÐŽÐ°Ñ ÐÑÐžÐœÑÑÐŸÑÐœ ÐœÐµÐŒÐµÑÐµ Ð±Ð°ÑÒÐ° Ð±Ð°ÒÐŽÐ°ÑÐ»Ð°ÐŒÐ°Ð»Ð°ÑÐŽÑ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°Ðœ Ð±Ð°Ð¹ÑÑÐœÑÐœÐ°. ÐÓ©Ð· Ð¶ÐµÑÐºÑÐ·ÑÒ£ÑÐ·ÐŽÐµ, ÒÐ°Ð¹ÑÐ° ÐºÓ©ÑÑÐœÑÐ·  
+CollectionManager.Cannot_Delete_Index_Log:ÐÑÐºÑ ÐžÐœÐŽÐµÐºÑÑÑÐº ÑÐ°Ð¹Ð»ÐŽÐ°Ñ Ð¶ÐŸÐ¹ÑÐ»Ð°  ÐÐ»ÐŒÐ°ÒÐ°ÐœÐŽÑÒÑÐ°Ðœ ÐžÐŒÐ¿ÐŸÑÑ ÑÐŸÒÑÐ°ÑÑÐ»ÐŽÑ.
+CollectionManager.Cannot_Open:\n{0-Collection file path}\n ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑÑ Ð°ÑÑÒ Ð±ÐŸÐ»ÑÑ ÐŒÒ¯ÐŒÐºÑÐœ.
+CollectionManager.Cannot_Open_With_Reason:ÐÐŸÐ»ÒÐ°ÐœÐŽÑÒÑÐ°Ðœ,\n{0-Collection file path}\n ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑÑ Ð°ÑÑÒ Ð±ÐŸÐ»ÑÑ ÐŒÒ¯ÐŒÐºÑÐœ:\n{1-Error message}
+CollectionManager.Creating_Collection:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÒÒ±ÑÑ  
+CollectionManager.Creating_Collection_Please_Wait:ÐÒ¯ÑÐµ ÑÒ±ÑÑÒ£ÑÐ·, ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÒÒ±ÑÑ...  
+CollectionManager.Loading_Collection:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ Ð¶Ò¯ÐºÑÐµÑ
+CollectionManager.Loading_Collection_Please_Wait:ÐÒ¯ÑÐµ ÑÒ±ÑÑÒ£ÑÐ·,ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð¶Ò¯ÐºÑÐµÐ»ÑÐŽÐµ...
+CollectionManager.Loading_Successful:ÐÒ¯ÐºÑÐµÐ»Ð³ÐµÐœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ{0}.
+CollectionManager.Missing_Config:ÐÒ±Ð» ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐŽÐ° Ð¶Ð°ÑÐ°ÐŒÐŽÑ ÑÐ°Ð¹Ð» Ð¶ÐŸÒ collect.cfg
+CollectionManager.Not_Col_File:{0}' - ÐºÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐžÐœÑÐµÑÑÐµÐ¹Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑÑÐœÑÒ£ ÑÐ°Ð¹Ð» Ð±ÐŸÐ»ÑÐ¿ ÑÐ°Ð±ÑÐ»ÐŒÐ°Ð¹ÐŽÑ (.col).
+CollectionManager.No_Config_File:Ð¡ÐºÑÐžÐ¿ÑÐµ collect.cfg ÑÐ°Ð¹Ð»Ñ ÒÒ±ÑÑÐ» Ð°Ð»ÐŒÐ°ÐŽÑ mkcol.pl.  
+CollectionManager.Preview_Ready_Failed:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ Ð°Ð»ÐŽÑÐœ-Ð°Ð»Ð° ÒÐ°ÑÐ°ÑÒÐ° ÐºÐµÐŽÐµÑÐ³Ñ ÐºÐµÐ»ÑÑÑÐµÑÑÐœ ÒÐ°ÑÐµÐ»ÑÐº ÑÑÐŽÑ.
+CollectionManager.Preview_Ready_Title:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ Ð°Ð»ÐŽÑÐœ-Ð°Ð»Ð° ÒÐ°ÑÐ°Ñ Ð¶Ð°ÒÐŽÐ°Ð¹Ñ.
+CollectionManager.Schedule_Ready_Title:ÐÐµÐ·ÐµÐºÑÑÐ»ÑÐº ÐŽÓÑÐµÐ¶ÐµÑÑ.  
+CollectionManager.Build_Not_Moved:ÒÒ±ÑÑÐ»Ð°ÑÑÐœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐœÑ Ð°ÑÑÑÑÑÑÑ ÐŒÒ¯ÐŒÐºÑÐœ ÐµÐŒÐµÑ. ÒÒ±ÑÑÐ»ÑÐŽÑ ÒÐ°Ð¹ÑÐ° ÒÐŸÑÑÒÐ°ÑÑÑÑÑÑÐ¿ ÐºÓ©ÑÑÒ£ÑÐ·, ÐœÐµÐŒÐµÑÐµ ÑÐµÑÐ²ÐµÑÐŽÐµÐœ Ð¶ÓÐœÐµ GLI ÑÑÒÑÐ¿ ÒÐ°Ð¹ÑÐ° Ð¶ÐžÐœÐ°ÑÒÐ° ÑÑÑÑÑÑÒ£ÑÐ·-Ð±Ò±Ð» ÐºÓ©ÐŒÐµÐºÑÐµÑÑÑ ÐºÐµÑÐµÐº.  
+CollectionManager.Index_Not_Deleted:ÐÐœÐŽÐµÐºÑ ÐŽÐžÑÐµÐºÑÐŸÑÐžÑÑÑ Ð¶ÐŸÐ¹ÑÐ»Ð° Ð°Ð»ÐŒÐ°ÐŽÑ. ÒÒ±ÑÑÐ»ÑÐŽÑ ÒÐ°Ð¹ÑÐ° ÒÐŸÑÑÒÐ°ÑÑÑÑÑÑÐ¿ ÐºÓ©ÑÑÒ£ÑÐ·, ÐœÐµÐŒÐµÑÐµ ÑÐµÑÐ²ÐµÑÐŽÐµÐœ Ð¶ÓÐœÐµ GLI ÑÑÒÑÐ¿ ÒÐ°Ð¹ÑÐ° Ð¶ÐžÐœÐ°ÑÒÐ° ÑÑÑÑÑÑÒ£ÑÐ·-Ð±Ò±Ð» ÐºÓ©ÐŒÐµÐºÑÐµÑÑÑ ÐºÐµÑÐµÐº.
+CollectionManager.Install_Exception:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÐžÐœÑÑÐ°Ð»ÑÐžÑÐ»Ð°Ñ ÐºÐµÐ·ÑÐœÐŽÐµ ÐµÑÐµÐºÑÐµÐ»ÑÐº Ð¿Ð°Ð¹ÐŽÐ° Ð±ÐŸÐ»ÐŽÑ: \n{0}\n ÑÐµÐ±ÐµÐ±Ñ ÑÐ°Ð¹Ð» Ð»ÐŸÐºÐ°Ð»ÐŽÑÒ ÐºÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°ÐŒÐµÐœ ÐœÐµÐŒÐµÑÐµ Windows Ð¶Ò¯Ð¹ÐµÑÑÐŒÐµÐœ Ð±Ð»ÐŸÐºÑÐ°Ð»ÑÑ.\n ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐŒÐµÐœ Ð¿Ð°Ð¹ÐŽÐ°ÐœÐ°Ð»Ð°ÑÑÐœ ÑÐ°Ð¹Ð»ÐŽÐ°ÑÐŽÑÒ£, ÐµÑÒÐ°Ð¹ÑÑÑÑ ÑÑÐºÑ Ð±Ð°ÒÐŽÐ°ÑÐ»Ð°ÐŒÐ°ÐŽÐ° Ð°ÑÑÒ ÐµÐŒÐµÑ ÐµÐºÐµÐœÐŽÑÐ³ÑÐœÐµ ÐºÓ©Ð· Ð¶ÐµÑÐºÑÐ·ÑÒ£ÑÐ· ÐŽÐµ, ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÒÐ°Ð¹ÑÐ° ÒÒ±ÑÑÒ£ÑÐ·.  
+#*****************************
+#
+#***** CollectionPopupMenu *****
+CollectionPopupMenu.Delete:ÐÐŸÑ
+CollectionPopupMenu.New_Dummy_Doc:ÐÐŸÐ¹ÐŽÐ°Ò Ð¶Ð°Ò£Ð° ÒÒ±Ð¶Ð°Ñ
+CollectionPopupMenu.New_Folder:ÐÐ°Ò£Ð° Ð¿Ð°Ð¿ÐºÐ°
+CollectionPopupMenu.Refresh:ÒÐ°Ð»ÑÐ° ÑÒ¯ÑÑÐœ Ð¶Ð°Ò£Ð°Ð»Ð°Ñ  
+CollectionPopupMenu.Rename:ÐÑÑÐœ Ð°ÑÑÑÑÑÑÑ  
+CollectionPopupMenu.Replace:ÐÑÑÑÑÑÑÑ
+#*******************************
+#
+#***** CreatePane *****
+CreatePane.Schedule_Progress:ÐÐµÐ·ÐµÐºÑÑÐ»ÑÐºÑÑÒ£ ÑÐ»Ð³ÐµÑÑ Ð±Ð°ÑÑÑ  
+CreatePane.Schedule:ÐÐµÐ·ÐµÐºÑÑÐ»ÑÐº Ð±Ð°Ð¿ÑÐ°Ð»ÑÐŒÐŽÐ°ÑÑ  
+CreatePane.Schedule_Tooltip:ÐÐžÐœÐ°ÒÑÑÒ£ Ó©Ð·ÐŽÑÐºÑÑÐº ÒÒ±ÑÑÐ»ÑÐŒÑÐœÑÒ£ ÐºÐµÐ·ÐµÐºÑÑÐ»ÑÐº Ð±Ð°Ð¿ÑÐ°Ð»ÑÐŒÐŽÐ°ÑÑ  
+CreatePane.Schedule_Build:ÐÐµÐ·ÐµÐºÑÑÐ»ÑÐº ÑÑ-ÓÑÐµÐºÐµÑÑÐµÑÑ  
+CreatePane.Schedule_Build_Tooltip:ÐÐžÐœÐ°ÒÑÑÒ£ Ó©Ð·ÐŽÑÐºÑÑÐº ÒÒ±ÑÑÐ»ÑÐŒÑÐœ Ð¶ÐŸÑÐ¿Ð°ÑÐ»Ð°Ñ  
+CreatePane.Build:ÒÒ±ÑÑ Ð²Ð°ÑÐžÐ°ÐœÑÑÐ°ÑÑ
+CreatePane.Build_Tooltip:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÒÒ±ÑÑÐŽÑÒ£ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐžÑ ÐºÐµÐ·ÐµÒ£ÐŽÐµÑ Ð¶ÓÐœÐµ ÐžÐœÐŽÐµÐºÑÐ°ÑÐžÑ ÐºÐµÐ·ÐµÒ£ÐŽÐµÑÑ
+CreatePane.Build_Collection:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ Ð¶Ð°ÑÐ°Ñ
+CreatePane.Build_Collection_Tooltip:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑ ÒÒ±ÑÑ Ð¿ÑÐŸÑÐµÑÑÐœ Ð±Ð°ÑÑÐ°Ñ
+CreatePane.Build_Progress:ÒÒ±ÑÑÐŽÑ ÐŽÐ°ÐŒÑÑÑ
+CreatePane.Cancel_Build:ÒÒ±ÑÑÐŽÑ Ð¶ÐŸÑ
+CreatePane.Cancel_Build_Tooltip:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÒÒ±ÑÑ Ð¿ÑÐŸÑÐµÑÑÐœ ÑÐŸÒÑÐ°Ñ
+CreatePane.Full_Build:Ð¢ÐŸÐ»ÑÒ ÐÐ°Ò£Ð°ÑÐ°ÒÒ±ÑÑ  
+CreatePane.Full_Build_Tooltip:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÐœÐŸÐ»ÑÐŽÐµÐœ Ð±Ð°ÑÑÐ°Ð¿ ÑÐŸÐ»ÑÒ Ð¶Ð°Ò£Ð°ÑÐ°ÒÒ±ÑÑ  
+CreatePane.Import:ÐÐŒÐ¿ÐŸÑÑ Ð²Ð°ÑÐžÐ°ÐœÑÑÐ°ÑÑ
+CreatePane.Import_Tooltip:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÒÒ±ÑÑÐŽÐ°ÒÑ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑ Ð°ÐœÑÒÑÐ°Ñ ÐºÐµÐ·ÐµÒ£ÐŽÐµÑÑ Ð¶ÓÐœÐµ ÑÐ°Ð¹Ð»ÐŽÐ°ÑÐŽÑ ÒÐ°Ð¹ÑÐ° ÒÒ±ÑÑ Ð²Ð°ÑÐžÐ°ÐœÑÑÐ°ÑÑ.
+CreatePane.Import_Progress:ÐÐŒÐ¿ÐŸÑÑ Ð¶ÑÐ»Ð¶ÑÑÑ
+CreatePane.Minimal_Build:ÒÐ°Ð¹ÑÐ° ÒÒ±ÑÑÐŽÑÒ£ ÑÓ©ÐŒÐµÐœÐ³Ñ ÐŽÐµÒ£Ð³ÐµÐžÑ  
+CreatePane.Minimal_Build_Tooltip:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ Ð¶ÐžÐœÐ°ÒÑÐ°ÑÐŽÑÒ£ ÒÐ°Ð¶ÐµÑÑÑ ÐºÐµÐ·ÐµÒ£ÐŽÐµÑÑ ÒÐ°ÐœÐ° Ó©Ò£ÐŽÐµÐ»ÐµÑÑÐœÐŽÑÐºÑÐµÐœ, Ð±Ò±Ð» Ð¶ÑÐ»ÐŽÐ°ÐŒÑÑÐ°Ò  
+CreatePane.Minimal_Build_Not_Required:ÒÐ°Ð¹ÑÐ° ÒÒ±ÑÑ ÒÐ°Ð¶ÐµÑ ÐµÐŒÐµÑ, ÑÐµÐ±ÐµÐ±Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÒÐ° ÐµÑ ÑÐ°Ð¹Ð» ÒÐ°Ð¶Ðµ ÐµÐŒÐµÑ\ ÑÐµÐŽÐ°ÐºÑÐžÑÐ»Ð°ÐœÒÐ°Ðœ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ ÐœÐµÐŒÐµÑÐµ ÐŽÐžÐ·Ð°Ð¹Ðœ Ð¿Ð°ÐœÐµÐ»ÑÐœÐŽÐµ Ó©Ð·Ð³ÐµÑÑÑÐ»Ð³ÐµÐœ ÒÒ±ÑÑÐ»ÒÑ.\n(ÒÐ°Ð¹ÑÐ° ÒÒ±ÑÑÐŽÑ Ð¶ÐµÐŽÐµÐ»ÐŽÐµÑÑ Ò¯ÑÑÐœ,âÐ¢ÐŸÐ»ÑÒ ÒÐ°Ð¹ÑÐ° ÒÒ±ÑÑÐŽÑâ ÑÐ°Ò£ÐŽÐ°Ò£ÑÐ· ÐŽÐ° Â«ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ Ð¶ÐžÐœÐ°ÑÂ» ÐœÒ¯ÐºÑÐµÑÑÐœ Ð±Ð°ÑÑÒ£ÑÐ·.)  
+CreatePane.Log:Ð¥Ð°Ð±Ð°ÑÐ»Ð°ÐŒÐ° Ñ
+Ð°ÑÑÐ°ÐŒÐ°Ð»Ð°ÑÑ  
+CreatePane.Log_Tooltip:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑ ÒÒ±ÑÑÐŽÑÒ£ Ð°Ð»ÐŽÑÒ£ÒÑ ÐŒÒ¯ÐŒÐºÑÐœÐŽÑÐºÑÐµÑÑÐœÑÒ£ ÐœÓÑÐžÐ¶Ðµ Ð°Ð¹ÑÑÐŒÐ°ÑÑÐ»ÑÒÑÐ°ÑÑÐœ ÒÐ°ÑÐ°Ñ.
+CreatePane.Mode_All:Ð±ÓÑÑ
+CreatePane.Options:Ð¢Ð°Ò£ÐŽÐ°Ñ ÑÐŸÐ¿ÑÐ°ÑÑ
+CreatePane.Options_Title:ÒÒ±ÑÐ°ÑÑÑÑÑ Ð²Ð°ÑÐžÐ°ÐœÑÑÐ°ÑÑ Ð¶ÓÐœÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐžÐŒÐ¿ÐŸÑÑÑ
+CreatePane.Preview_Collection:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ Ð°Ð»ÐŽÑÐœ-Ð°Ð»Ð° ÒÐ°ÑÐ°Ñ
+CreatePane.Preview_Collection_Tooltip:ÒÒ±ÑÑÐ»ÒÐ°Ðœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ Ð°Ð»ÐŽÑÐœ-Ð°Ð»Ð° ÒÐ°ÑÐ°Ñ
+#**********************
+#
+#***** Dates *****
+Dates.Mon:ÐÒ¯Ð¹ÑÐµÐœÐ±Ñ
+Dates.Tue:Ð¡ÐµÐ¹ÑÐµÐœÐ±Ñ
+Dates.Wed:Ð¡ÓÑÑÐµÐœÐ±Ñ
+Dates.Thu:ÐÐµÐ¹ÑÐµÐœÐ±Ñ
+Dates.Fri:ÐÒ±ÐŒÐ°
+Dates.Sat:Ð¡ÐµÐœÐ±Ñ
+Dates.Sun:ÐÐµÐºÑÐµÐœÐ±Ñ
+Dates.Jan:ÒÐ°ÐœÑÐ°Ñ
+Dates.Feb:ÐÒÐ¿Ð°Ðœ
+Dates.Mar:ÐÐ°ÑÑÑÐ·
+Dates.Apr:Ð¡ÓÑÑÑ
+Dates.May:ÐÐ°ÐŒÑÑ
+Dates.Jun:ÐÐ°ÑÑÑÐŒ
+Dates.Jul:ÐšÑÐ»ÐŽÐµ
+Dates.Aug:Ð¢Ð°ÐŒÑÐ·
+Dates.Sep:ÒÑÑÐºÒ¯Ð¹ÐµÐº
+Dates.Oct:ÒÐ°Ð·Ð°Ðœ
+Dates.Nov:ÒÐ°ÑÐ°ÑÐ°
+Dates.Dec:ÐÐµÐ»ÑÐŸÒÑÐ°Ðœ
+#**********************
+#
+#***** Delete Collection Prompt *****
+DeleteCollectionPrompt.Collection_Details:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐŽÐµÑÐ°Ð»ÑÐŽÐ°ÑÑ
+DeleteCollectionPrompt.Collection_List:ÐÐŸÑÑÑÐ¿ÐœÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+DeleteCollectionPrompt.Confirm_Delete:ÐÐŸÐ»Ð»ÐµÐºÑÐžÐœÑ Ð¶ÐŸÑÐŽÑ ÐŒÐ°ÒÒ±Ð»ÐŽÐ°Ð¹ÑÑ Ð°Ð»Ð°Ò£ÐŽÑ Ð±ÐµÐ»Ð³ÑÐ»ÐµÒ£ÑÐ·.
+DeleteCollectionPrompt.Delete:ÐÐŸÑ
+DeleteCollectionPrompt.Delete_Tooltip:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ Ð¶ÐŸÑ
+DeleteCollectionPrompt.Details:ÒÒ±ÑÑÑÑ -{0}\nÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ Ò±ÑÑÐ°Ð¹ÑÑÐœ ÑÒ±Ð»ÒÐ°-1}\nÐ¶Ð°ÑÐ±Ð°Ð¿ÑÑ\n{2}
+DeleteCollectionPrompt.Failed_Delete:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑ ÑÐŸÐ»ÑÒ Ð¶ÐŸÐ¹ÑÐ»Ð° Ð°Ð»ÐŒÐ°Ð¹ÐŽÑ.
+DeleteCollectionPrompt.Failed_Title:ÐÓÑÐžÐ¶ÐµÑÑÐ· Ð¶ÐŸÑ!
+DeleteCollectionPrompt.No_Collection:ÐÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÐŒÐ°ÐŽÑ.
+DeleteCollectionPrompt.Successful_Delete:ÐÐŸÐ»Ð»ÐµÐºÑÐž Ð¶ÐŸÐ¹ÑÐ»ÒÐ°Ðœ Ð±ÐŸÐ»Ð°ÑÑÐœ.
+DeleteCollectionPrompt.Successful_Title:ÐÐŸÑ Ð°ÑÒÑÐ°Ð»ÐŽÑ!
+DeleteCollectionPrompt.Title:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ Ð¶ÐŸÑ
+DeleteCollectionPrompt.Cannot_Delete_Open_Collection_Tooltip:ÐÐžÐœÐ°Ò Ð°ÑÑÒ Ð±ÐŸÐ»ÒÐ°ÐœÐŽÑÒÑÐ°Ðœ {0}, ÐŸÐœÑ Ð¶ÐŸÑÐ»ÐŒÐ°Ð¹ÐŒÑÐœ  
+#**********************
+#
+#***** DirectoryLevelMetadata *****
+DirectoryLevelMetadata.Message:Ð¡ÑÐ· ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ Ð¿Ð°Ð¿ÐºÐ°ÒÐ°(ÐœÐµÐŒÐµÑÐµ Ð¿Ð°Ð¿ÐºÐ°Ð»Ð°ÑÒÐ°) ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ 'Ð¿Ð°Ð¿ÐºÐ° ÐŽÐµÒ£Ð³ÐµÐ¹ÑÐœ' Ð±ÐµÑÑÐ³Ðµ ÑÑÑÑÑÑÐŽÐ°ÑÑÐ·. ÐÒ±Ð» ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ ÐŸÑÑ Ð¿Ð°Ð¿ÐºÐ°ÐŽÐ°ÒÑ Ð¿Ð°Ð¿ÐºÐ°Ð»Ð°ÑÐŒÐµÐœ Ð¶ÓÐœÐµ Ð±Ð°ÑÒÐ° ÑÐ°Ð¹Ð»ÐŽÐ°ÑÐŒÐµÐœ Ð°Ð²ÑÐŸÐŒÐ°ÑÑÑ ÑÒ¯ÑÐŽÐµ ÐµÐœÑÑÐ»ÐµÐœÐµÐŽÑ. ÐÐœÑÒ£ Ò¯ÑÑÑÐœÐµ Ð±Ò±Ð» ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð±ÐµÐ»Ð³ÑÐ»Ñ ÐµÐœÑÑÐ»ÐµÑ Ð¿Ð°Ð¿ÐºÐ°Ð»Ð°ÑÐŽÐ°Ðœ Ð¶ÐŸÐ¹ÑÐ»Ð° Ð°Ð»ÐŒÐ°Ð¹ÐŽÑ, ÑÐµÐº Ð°ÑÑÑÑÑÑÐ»Ð° Ð°Ð»Ð°ÐŽÑ. ÐÒ±Ð» ÒÐžÐŒÐ°Ð»ÐŽÑ Ð¶Ð°Ð»ÒÑÑÑÑÑÑ Ò¯ÑÑÐœ 'OK' Ð±Ð°ÑÑÐœÑÐ·.
+DirectoryLevelMetadata.Title:ÐÐ°Ð¿ÐºÐ° ÐŽÐµÒ£Ð³ÐµÐžÑÐœÐµ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑ ÒÐŸÑÑ ÑÑÑÐ°Ð»Ñ .
+
+#*******************
+#
+#***** Download *****
+DOWNLOAD.MODE.Root:Download_Root  
+DOWNLOAD.MODE.WebDownload:ÐÐµÐ±  
+DOWNLOAD.MODE.MediaWikiDownload:MediaWiki  
+DOWNLOAD.MODE.OAIDownload:OAI  
+DOWNLOAD.MODE.ZDownload:Ñ
+Ð°ÑÑÐ°ÐŒÐ° Z39.50  
+DOWNLOAD.MODE.SRWDownload:SRW  
+
+Download.ServerInformation:Ð¡ÐµÑÐ²ÐµÑ ÑÑÑÐ°Ð»Ñ ÐŒÐ°ÒÐ»Ò±ÐŒÐ°Ñ  
+Download.ServerInformation_Tooltip:Ð¡ÐµÑÐ²ÐµÑ ÑÑÑÐ°Ð»Ñ ÐºÐµÐ¹Ð±ÑÑ ÐŒÐ°ÒÐ»Ò±ÐŒÐ°ÑÑÑ Ð¶Ò¯ÐºÑÐµÑ ÐŒÐµÐœ Ð±Ð°Ð¹Ð»Ð°ÐœÑÐ· ÐŽÐµÒ£Ð³ÐµÐžÑÐœ ÑÐµÐºÑÐµÑÑ  
+
+#********************
+#
+#***** EnrichPane *****
+EnrichPane.AutoMessage:ÐÒ±Ð» ÑÐ»ÐµÐŒÐµÐœÑ, {0},ÐÑÐžÐœÑÑÐŸÑÐœ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœ ÑÑÒÐ°ÐœÐ° Ð¶Ð°ÑÐ°ÐŽÑ. ÐÒ±Ð» Ð¶ÐžÑÐœÑÑÒ Ð°Ð²ÑÐŸÐŒÐ°ÑÑÑ ÑÒ¯ÑÐŽÐµ ÑÑÒÐ°ÑÑÐ»Ð° Ð°Ð»Ð°ÑÑÐœ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑ Ð°Ð¹ÒÑÐœ {0} ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÑÐœÑÒ£ ÑÑÒÐ°ÑÑÐ»Ð° Ð°Ð»Ð°ÑÑÐœÐŽÑÒÑÐœ ÑÐµÐºÑÐµÑÑ Ò¯ÑÑÐœ, 'ÒÒ±ÑÑ' ÐºÐ»Ð°Ð²ÐžÑÐ°ÑÑÐœ Ð¿Ð°Ð¹ÐŽÐ°ÐœÐ°Ð»ÑÐ¿, ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÒÒ±ÑÑÒ£ÑÐ·.  
+EnrichPane.ExistingValues:{0} Ò¯ÑÑÐœ ÐŒÐ°ÒÑÐœÐ°ÑÑ Ð±Ð°Ñ  
+EnrichPane.InheritedMetadataSelected:ÐÐµÒ£Ð³ÐµÐ¹Ñ Ð¶ÐŸÒÐ°ÑÑ Ð¿Ð°Ð¿ÐºÐ°ÐŽÐ°Ðœ ÐµÐœÑÑÐ»ÐµÐœÐ³ÐµÐœ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð±Ó©Ð»ÑÐ³Ñ, ÐŸÐ» Ð¶ÐŸÐ¹ÑÐ»Ð° Ð°Ð»ÐŒÐ°Ð¹ÐŽÑ. ÐÐŸÐ» Ð±Ð°ÑÑÐœÐŽÐ°ÒÑ Ð¿Ð°Ð¿ÐºÐ° Ð±ÐµÐ»Ð³ÑÑÑÐœÐµ Ð±Ð°ÑÑÐ¿, ÑÑÐ· ÐŸÑÑ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑ ÑÐ°ÒÑÐ°Ð¹ÑÑÐœ Ð¿Ð°Ð¿ÐºÐ°ÐœÑ ÐºÓ©ÑÐµ Ð°Ð»Ð°ÑÑÐ·.  
+EnrichPane.InheritedMetadata_Tooltip:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ ÐµÐœÑÑÐ»ÐµÐœÐ³ÐµÐœ Ð±Ó©Ð»ÑÐ³ÑÐ±Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°ÒÐ° Ð±Ð°ÑÑ Ò¯ÑÑÐœ, ÐŸÑÑ ÐžÐºÐŸÐœÐºÐ°ÒÐ° Ð±Ð°ÑÑÒ£ÑÐ·  
+EnrichPane.ManageMetadataSets:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœÑÑÒÑÐœ Ð±Ð°ÑÒÐ°ÑÑ...  
+EnrichPane.ManageMetadataSets_Tooltip:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐŒÐµÐœ Ð¿Ð°Ð¹ÐŽÐ°ÐœÐ°Ð»Ð°ÑÑÐœ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœÑÑÒÑÐœ Ó©Ð·Ð³ÐµÑÑÑ  
+EnrichPane.No_File:ÐÑ ÑÐ°Ð¹Ð» ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÐŒÐ°ÐŽÑ
+EnrichPane.No_Metadata:ÐÐµÑ ÐŽÐŸÑÑÑÐ¿ÐœÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+EnrichPane.No_Metadata_Element:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ ÐµÑ ÑÐ»ÐµÐŒÐµÐœÑÑ ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÐŒÐ°ÐŽÑ</FONT></STRONG></HTML>
+EnrichPane.NotOneFileOnlyMetadataSelected:Ð­ÑÐ° ÑÐ°ÑÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐ° Ñ ÑÑÐžÐŒ ÑÐ°Ð¹Ð»ÐŸÐŒ, Ðž ÐœÐµ Ð¿ÐŸÐŽÐ»ÐµÐ¶ÐžÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑÐŒ.  
+EnrichPane.Value_Field_Tooltip:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ ÑÐ°Ò£ÐŽÐ°ÐœÑÐ¿ Ð°Ð»ÑÐœÒÐ°Ðœ ÑÐ°Ð¿ÑÑÑÐŒÐ°ÑÑÐœÐ° Ð°ÑÐœÐ°Ð»ÒÐ°Ðœ ÐŒÐ°ÒÑÐœÐ°
+EnrichPane.Value_Field_Tooltip_Uneditable:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ ÑÐ°Ò£ÐŽÐ°ÐœÑÐ¿ Ð°Ð»ÑÐœÒÐ°Ðœ ÑÐ»ÐµÐŒÐµÐœÑÑÐœÐµ Ð±ÐµÑÑÐ»Ð³ÐµÐœ ÐŒÐ°ÒÑÐœÐ°
+#***********************
+#
+#****** ExplodeMetadataPrompt *******
+ExplodeMetadataPrompt.Explode:ÐÓ©Ð»Ñ
+ExplodeMetadataPrompt.Explode_Tooltip:ÐÐµÑÐ°-Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ ÑÐ°Ð¹Ð»ÑÐœ Ð±Ó©Ð»Ñ
+ExplodeMetadataPrompt.Instructions:ÐÐµÑÐ°-Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ ÑÐ°Ð¹Ð»ÑÐœ Ð±Ó©Ð»Ñ, ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŒÐµÐœ ÑÐµÐŽÐ°ÐºÑÐžÑÐ»Ð°ÐœÐ°ÑÑÐœ Ð¶ÐµÐºÐµÐ»ÐµÐœÐ³ÐµÐœ Ð¶Ð°Ð·ÑÐŽÑ ÒÒ±ÑÐ°ÐŽÑ. ÐÒ±Ð» Ð±ÓÑÑ-Ð±ÑÑ ÐŸÑÑÐœÐŽÐ°Ð»Ð°ÑÑÐœ Ð¿ÑÐŸÑÐµÑÑ Ð¶ÓÐœÐµ ÑÑÒÐ°ÑÑÐœ Ð€Ð°Ð¹Ð» ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐŽÐ°Ðœ ÐŒÐµÑÐ°-Ð±ÐµÑÐ³ÐµÐœÐŽÐµÑÐŒÐµÐœ Ð¶ÐŸÐ¹ÑÐ»Ð°ÐŽÑ.
+ExplodeMetadataPrompt.Failed_Title:ÐÓ©Ð»Ñ ÐŸÑÑÐœÐŽÐ°Ð»-ÐŒÐ°ÐŽÑ.
+ExplodeMetadataPrompt.Failed_Explode:ÐÐµÑÑÐ»Ð³ÐµÐœ Ð±Ð°Ð·Ð° Ð±Ó©Ð»ÑÐœÐµ Ð°Ð»ÐŒÐ°ÐŽÑ.
+ExplodeMetadataPrompt.NotExplodable:Ð€Ð°Ð¹Ð»ÐŽÑ Ð±Ó©Ð»ÑÐ³Ðµ Ð±ÐŸÐ»ÐŒÐ°Ð¹ÐŽÑ.
+ExplodeMetadataPrompt.Successful_Explode:{0} Ð±ÐµÑÑÐ»Ð³ÐµÐœ Ð±Ð°Ð·Ð° ÑÓÑÑÑ Ð±Ó©Ð»ÑÐœÐŽÑ.
+ExplodeMetadataPrompt.Successful_Title:ÐÓ©Ð»Ñ Ð°ÑÒÑÐ°Ð»ÐŽÑ.
+ExplodeMetadataPrompt.Title:ÐÐµÑÑÐ»Ð³ÐµÐœ Ð±Ð°Ð·Ð°ÐŽÐ°ÒÑ ÐŒÐµÑÐ°-Ð±ÐµÑÐ³ÐµÐœÐŽÐµÑÐŽÑ Ð±Ó©Ð»Ñ
+ExplodeMetadataPrompt.Plugin:ÐÑÑÐ»ÒÐ°Ðœ ÐºÐµÐ·ÐŽÐµ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÐ°ÑÑÐœ Ð¿Ð»Ð°Ð³ÐžÐœ  
+#***********************
+#
+#****** ReplaceSrcWithHTMLPrompt *******
+ReplaceSrcWithHTMLPrompt.ReplaceSrc:HTML ÐœÒ±ÑÒÐ°ÒÐ° Ð°ÑÑÑÑÑÑÑ  
+ReplaceSrcWithHTMLPrompt.ReplaceSrc_Tooltip:ÐÐµÐœÐµÑÐ°ÑÐžÑÐ»Ð°ÐœÒÐ°Ðœ ÐÑÐžÐœÑÑÐŸÑÐœ HTML ÐœÒ±ÑÒÐ°ÐŒÐµÐœ ÒÒ±Ð¶Ð°ÑÑÑ Ð°ÑÑÑÑÑÑÑ  
+ReplaceSrcWithHTMLPrompt.Instructions:ÐÐµÐœÐµÑÐ°ÑÐžÑÐ»Ð°ÐœÒÐ°Ðœ HTML ÐœÒ±ÑÒÐ°ÑÑÐœÐ° ÒÒ±Ð¶Ð°ÑÑÑ Ð°ÑÑÑÑÑÑÑ HTML ÑÐ°Ð¹Ð»ÐŽÑ Ó©Ò£ÐŽÐµÑÐ³Ðµ Ð¶ÓÐœÐµ Ð±ÐŸÐ»Ð°ÑÐ°ÒÑÐ° Ð¶ÐžÐœÐ°ÒÑÑ ÒÐ°Ð¹ÑÐ° ÒÒ±ÑÑÒÐ° ÐŒÒ¯ÐŒÐºÑÐœÐŽÑÐº Ð±ÐµÑÐµÐŽÑ. ÐÒ±Ð» ÑÐŸÒÑÐ°ÑÑÐ»ÐŒÐ°Ð¹ÑÑÐœ Ò¯ÑÐŽÑÑ Ð¶ÓÐœÐµ ÑÒ¯Ð¿ÐºÑ Ð°ÑÑÑÑÑÑÑÐ»ÒÐ°Ðœ ÒÒ±Ð¶Ð°Ñ Ð¶ÐžÐœÐ°ÒÑÐ°Ðœ ÑÑÒÐ°ÑÑÐ»Ð°ÐŽÑ.  
+ReplaceSrcWithHTMLPrompt.Failed_Title:HTML-Ð³Ðµ Ð°ÑÑÑÑÑÑÑ ÐŸÑÑÐœÐŽÐ°Ð»ÐŒÐ°ÐŽÑ.  
+ReplaceSrcWithHTMLPrompt.Failed_ReplaceSrc:{0} ÒÒ±Ð¶Ð°ÑÑÐ°ÑÑ HTML ÐœÒ±ÑÒÐ°ÑÑÐŒÐµÐœ Ð°ÑÑÑÑÑÑÑÐ»ÑÑ ÐŒÒ¯ÐŒÐºÑÐœ ÐµÐŒÐµÑ.  
+ReplaceSrcWithHTMLPrompt.NotSrcReplaceable:Ð€Ð°Ð¹Ð»ÐŽÑÒ£ Ð±Ò±Ð» ÑÒ¯ÑÑ  HTML ÐœÒ±ÑÒÐ°ÒÐ° Ð°ÑÑÑÑÑÑÑÐ»ÐŒÐ°Ð¹ÐŽÑ.  
+ReplaceSrcWithHTMLPrompt.Successful_ReplaceSrc:ÐÐ°ÑÐ»ÑÒ ÑÐ°Ò£ÐŽÐ°Ð»ÑÐœÒÐ°Ðœ ÒÒ±Ð¶Ð°ÑÑÐ°Ñ HTML ÐœÒ±ÑÒÐ°ÐŒÐµÐœ Ð°ÑÑÑÑÑÑÑÐ»ÐŽÑ  
+ReplaceSrcWithHTMLPrompt.Successful_Title:ÐÐµÐœÐµÑÐ°ÑÐžÑÐ»Ð°ÐœÒÐ°Ðœ HTML ÐœÒ±ÑÒÐ°ÑÑÐœÐ° Ð°ÑÑÑÑÑÑÑ Ð°ÑÒÑÐ°Ð»ÐŽÑ.  
+ReplaceSrcWithHTMLPrompt.Title:ÐÐ°ÑÑÐ°Ð¿ÒÑ ÒÒ±Ð¶Ð°ÑÑÑ HTML ÑÐ°Ð¹Ð»ÐŒÐµÐœ Ð°ÑÑÑÑÑÑÑ  
+ReplaceSrcWithHTMLPrompt.Plugin:ÐÐ°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÒÐ° Ð°ÑÐœÐ°Ð»ÒÐ°Ðœ Ð¿Ð»Ð°Ð³ÐžÐœ  
+#***********************
+#
+#****** WriteCDImagePrompt *******
+WriteCDImagePrompt.CD_Name:CD-ROM Ð°ÑÑ
+WriteCDImagePrompt.Export:Ð­ÐºÑÐ¿ÐŸÑÑ
+WriteCDImagePrompt.Export_Tooltip:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ ÐºÐŸÐ»Ð»ÐµÐºÐžÐœÑ WindowsÑÑÒ£ CD/DVD ÐŒÒ¯ÑÑÐœ ÐŽÐžÑÐºÑÑÑÐœÐµ ÑÐºÑÐ¿ÐŸÑÑÑÐ°Ò£ÑÐ·  
+WriteCDImagePrompt.Failed_Export:{0} ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑÑ CD-ROM-ÒÐ° ÑÐºÑÐ¿ÐŸÑÑÑÐ°Ð»Ð° Ð°Ð»ÐŒÐ°Ð¹ÐŽÑ.  
+WriteCDImagePrompt.Failed_Title:Ð­ÐºÑÐ¿ÐŸÑÑ ÑÓÑÑÑÐ·
+WriteCDImagePrompt.Install:CD/DVD ÐºÐµÐ¹Ð±ÑÑ ÑÐ°Ð¹Ð»ÐŽÐ°ÑÐŽÑ Ð¶ÑÐ»ÐŽÐ°ÐŒ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÐŽÐ° ÒÐŸÑÐŽÑ  
+WriteCDImagePrompt.Install_Tooltip:ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ° ÑÐµÑÐ²ÐµÑÑÐœ (Ð¶ÓÐœÐµ ÐŸÐ¿ÑÐžÐ°Ð»ÐŽÑ, ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÑÐ°Ð¹Ð»ÐŽÐ°ÑÑ) Ñ
+ÐŸÑÑ-ÐŒÐ°ÑÐžÐœÐ°ÒÐ° Ó©Ð·:ÒÐŸÐ¹ÑÐ»Ð°ÑÑÐœ CD-ROM-ÐŽÑ ÒÒ±ÑÐ°ÐŽÑ.  
+WriteCDImagePrompt.NoInstall:CD/DVD ÐµÑ ÑÐ°Ð¹Ð»ÐŽÑ ÒÐŸÐ¹ÐŒÐ°Ð¹ÐŽÑ  
+WriteCDImagePrompt.NoInstall_Tooltip:ÐÑÓÑÐ°Ð¿Ñ
+Ð°ÐœÐ° ÑÐµÑÐ²ÐµÑÑÐœ ÐºÐŸÐŒÐ¿Ð°ÐºÑ-ÐŽÐžÑÐºÑÐŽÐµÐœ Ñ
+ÐŸÑÑ-ÐŒÐ°ÑÐžÐœÐ°ÒÐ° ÐµÑ ÐœÓÑÑÐµÐœÑ ÒÒ±ÑÐŒÐ°Ð¹-Ð°Ò ÑÑÐºÐµÒÐŸÑÐ°ÑÑÒ£ CD-ROM-ÐŽÑ ÒÒ±ÑÐ°ÐŽÑ.  
+WriteCDImagePrompt.Instructions:ÓšÐ·ÑÐœÐžÐœÑÑÐ°Ð»Ð»Ð°ÐœÐŽÑÑÑÐ»Ð°ÑÑÐœ Windows CD/DVD-ROM-ÒÐ° Ð±ÑÑ ÐœÐµÐŒÐµÑÐµ ÐºÓ©Ð±ÑÑÐµÐº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÑÐºÑÐ¿ÐŸÑÑÑÐ°Ò£ÑÐ· (Ð±Ò±Ð» ÐºÐµÐ· ÐºÐµÐ»Ð³ÐµÐœ Ð¿Ð»Ð°ÑÑÐŸÑÐŒÐ°ÐŽÐ° Ð¶Ò±ÐŒÑÑ ÑÑÑÐµÐ³ÐµÐœÑÐŒÐµÐœ, CD/DVD-ROM-ÐŒÐµÐœ ÒÒ±ÑÑÐ»ÒÐ°Ðœ Ð¶ÓÐœÐµ WindowsÐ¿ÐµÐœ ).  
+WriteCDImagePrompt.Progress_Label:Ð€Ð°Ð¹Ð»ÐŽÑ ÐºÓ©ÑÑÑÑ. ÐÒ±Ð» Ð±ÑÑÐ°Ð· ÑÐ°ÒÑÑ Ð°Ð»ÑÑ ÐŒÒ¯ÐŒÐºÑÐœ...
+WriteCDImagePrompt.Size_Label:ÐšÐ°ÐŒÐ°ÐŒÐµÐœ Ó©Ð»ÑÐµÐŒÑ:  
+WriteCDImagePrompt.Successful_Export:({0}) ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÑ ÑÐºÑÐ¿ÐŸÑÑÑÐ°Ð»ÐŽÑ
+WriteCDImagePrompt.Successful_Title:Ð­ÐºÑÐ¿ÐŸÑÑ Ð°ÑÒÑÐ°Ð»ÐŽÑ
+WriteCDImagePrompt.Title:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ CD/DVD-ÒÐ°  ÑÐºÑÐ¿ÐŸÑÑÑÐ°Ñ
+  
+#************************
+#
+#****** ExportAsPrompt *******
+ExportAsPrompt.Export_Name:ÐÐžÑÐµÐºÑÐŸÑÐžÑ Ð°ÑÐ°ÑÑÐœ ÑÐºÑÐ¿ÐŸÑÑÑÐ°Ñ
+ExportAsPrompt.Export_Name_Tooltip:Ð£Ð°ÒÑÑÑÐ°(tmp) ÐºÐ°ÑÐ°Ð»ÐŸÐ³ÑÐ°ÒÑ ÑÐºÑÐ¿ÐŸÑÑÑÐ°Ð»ÒÐ°Ðœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°Ñ ÑÐ°ÒÑÐ°Ð»Ð°ÑÑÐœ Ð¿Ð°Ð¿ÐºÐ°ÐœÑÒ£ Ð°ÑÑ .  
+ExportAsPrompt.Export:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÑÐºÑÐ¿ÐŸÑÑÑÐ°Ñ
+ExportAsPrompt.Export_Tooltip:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐŽÐ°ÒÑ, ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ ÑÐ°Ð¹Ð» ÑÐŸÑÐŒÐ°ÑÑÐœÐŽÐ°,ÐºÓ©ÑÑÐµÑÑÐ»Ð³ÐµÐœ ÐŽÐžÑÐµÐºÑÐŸÑÐžÑÒÐ° ÑÐºÑÐ¿ÐŸÑÑÑÐ°Ñ.
+ExportAsPrompt.Failed_ExportOne:{0} ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑÑÐœ ÑÐºÑÐ¿ÐŸÑÑÑÐ°Ñ ÐŒÒ¯ÐŒÐºÑÐœ Ð±ÐŸÐ»ÐŒÐ°ÐŽÑ.
+ExportAsPrompt.Failed_Details:{1} ÐŒÐ°ÒÐ»Ò±ÐŒÐ°Ñ Ò¯ÑÑÐœ ÒÐ°ÑÐ°
+ExportAsPrompt.Failed_Title:Ð­ÐºÑÐ¿ÐŸÑÑÑÐ°Ñ ÐŒÒ¯ÐŒÐºÑÐœ Ð±ÐŸÐ»ÐŒÐ°ÐŽÑ
+ExportAsPrompt.Instructions:ÐÐµÐ»ÑÑÑÐ»Ð³ÐµÐœ ÐŽÐžÑÐµÐºÑÐŸÑÐžÑÒÐ° ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ ÑÐŸÑÐŒÐ°Ñ ÑÐ°Ð¹Ð»ÑÐœÐ°Ðœ Ð±ÑÑ ÐœÐµÐŒÐµÑÐµ Ð±ÑÑÐœÐµÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÑÐºÑÐ¿ÐŸÑÑÑÐ°Ñ
+ExportAsPrompt.Progress_Label:Ð€Ð°Ð¹Ð»ÐŽÐ°Ñ ÑÐºÑÐ¿ÐŸÑÑÑ  Ð¶Ò±ÐŒÑÑ Ò¯ÑÑÑÐœÐŽÐµ, Ð±Ò±Ð» Ð±ÑÑÐ°Ð· ÑÐ°ÒÑÑÑÑ Ð°Ð»Ð°ÐŽÑ...
+ExportAsPrompt.Successful_ExportOne:{0}, ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÒÐ° ÑÐºÑÐ¿ÐŸÑÑÑÐ°Ð»ÐŽÑ.
+ExportAsPrompt.Successful_Details:Ð€Ð°Ð¹Ð»ÐŽÐ°Ñ {1}-Ð³Ðµ ÑÐºÑÐ¿ÐŸÑÑÑÐ°Ð»ÐŽÑ:
+ExportAsPrompt.Successful_Title:Ð­ÐºÑÐ¿ÐŸÑÑ Ð°ÑÒÑÐ°Ð»ÐŽÑ
+ExportAsPrompt.Title:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑ ÑÐºÑÐ¿ÐŸÑÑÑ
+ExportAsPrompt.SaveAs:Ð­ÐºÑÐ¿ÐŸÑÑ ...-Ð³Ðµ(ÒÐ°)
+ExportAsPrompt.SaveAs_Tooltip:Ð­ÐºÑÐ¿ÐŸÑÑÑÐ°ÒÑÒ£ÑÐ· ÐºÐµÐ»ÐµÑÑÐœ ÑÐŸÑÐŒÐ°ÑÑÑ ÑÐ°Ò£ÐŽÐ°Ò£ÑÐ·
+ExportAsPrompt.Cancel:ÐÐŸÑ  
+ExportAsPrompt.Cancel_Tooltip:Ð­ÐºÑÐ¿ÐŸÑÑÐ°Ñ Ð¿ÑÐŸÑÐµÑÑÐœ Ð¶ÐŸÑ  
+ExportAsPrompt.Browse:ÒÐ°ÑÐ°Ñ  
+ExportAsPrompt.Browse_Tooltip:xsl-ÑÐ°Ð¹Ð»ÑÐœ ÑÐ°Ò£ÐŽÐ°Ñ  
+ExportAsPrompt.ApplyXSL:XSL-ÐŽÑ {0}  ÑÐ°Ð¹Ð»ÑÑÐœÐ° ÒÐŸÐ»ÐŽÐ°ÐœÑ  
+ExportAsPrompt.ApplyXSL_Tooltip:XSL-ÑÐ°Ð¹Ð»ÑÐœ ÑÐºÑÐ¿ÐŸÑÑÑÐ°Ð»ÒÐ°Ðœ ÑÐ°Ð¹Ð»ÐŽÐ°ÑÐŽÑ ÐºÐŸÐœÐ²ÐµÑÑÐ°ÑÐžÑÐ»Ð°Ñ  Ò¯ÑÑÐœ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑ.  
+ExportAsPrompt.MARCXMLGroup:Marc-Ð¶Ð°Ð·ÑÐ»Ð°ÑÑÐœ ÑÐŸÐ¿ÑÐ°Ñ  
+ExportAsPrompt.MARCXMLGroup_Tooltip:ÐÐ°ÑÐ»ÑÒ marc- Ð¶Ð°Ð·ÑÐ»Ð°ÑÑÐœ Ð±ÑÑ ÑÐ°Ð¹Ð»ÒÐ° ÑÐŸÐ¿ÑÐ°Ñ.  
+ExportAsPrompt.MappingXML:ÐšÐ°ÒÑÐ»ÒÐ°Ðœ Ð±ÐµÐ¹ÐœÐµÐœÑ ÑÐ°Ð¹Ð»ÒÐ° ÒÐŸÐ»ÐŽÐ°ÐœÑ  
+ExportAsPrompt.MappingXML_Tooltip:ÐÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÑÐ°Ð¹Ð» ÐŸÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÑ ÐŽÐ»Ñ ÐºÐŸÐœÐ²ÐµÑÑÐ°ÑÐžÐž ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÐœÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ².  
+#
+#***** Inherited Metadata *****
+ExtractedMetadata.Message:Ð¢Ð°Ò£ÐŽÐ°Ð»ÑÐœÒÐ°Ðœ ÑÐ°Ð¹Ð»ÐŽÐ° ÐœÐµÐŒÐµÑÐµ ÒÐ°Ð»ÑÐ°ÐŽÐ° ÐŒÐµÑÐ°ÐŽÐµÑÐµÐºÑÐµÑ Ð±Ð°Ñ, Ð±ÑÑÐ°Ò ÒÐ°Ð·ÑÑÐ³Ñ ÑÐ°ÒÑÑÑÐ° Ð¶Ð°ÑÑÑÑÐ»ÒÐ°Ðœ. ÐÐ»ÑÐœÒÐ°Ðœ ÐŒÐµÑÐ°ÐŽÐµÑÐµÐºÑÐµÑÐŽÑ ÒÐ°ÑÐ°ÑÑÑÑÑ Ò¯ÑÑÐœ Ð€Ð°Ð¹Ð» ÐŒÓÐ·ÑÑÑÐœÐµ ÐºÑÑÑÐ¿, ÐÐ¿ÑÐžÑÐœÑ Ð¶ÓÐœÐµ Ð¡ÑÐ»ÑÐµÐŒÐµ Ð»Ð°ÒÐ°Ð±ÑÐœ (Ò°ÑÑÐœÑÑÑÐ°Ñ) ÑÐ°Ò£ÐŽÐ°Ñ ÐºÐµÑÐµÐº. Ð¡ÐžÐ¿Ð°ÑÑÐ°Ñ Ð¿Ð°ÑÐ°ÒÑÐœÐŽÐ° Ð°Ð»ÑÐœÒÐ°Ðœ ÐŒÐµÑÐ°ÐŽÐµÑÐµÐºÑÐµÑÐŽÑ ÐÓ©ÑÑ-ÐŽÑ ÑÐ°Ò£ÐŽÐ°Ò£ÑÐ·, ÑÐŸÐŽÐ°Ðœ ÑÐŸÒ£ ÐÐ-ÐŽÑ Ð±Ð°ÑÑÒ£ÑÐ·.  
+ExtractedMetadata.Title:ÐÒ±Ð» Ð¿Ð°Ð¿ÐºÐ°ÐŽÐ°/ ÑÐ°Ð¹Ð»ÐŽÐ° ÑÑÑÐºÑÐµÐ¿ Ð°Ð»ÑÐœÒÐ°Ðœ Ð¶Ð°ÑÑÑÑÐœ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð±Ð°Ñ.
+#
+#***** FileActions *****
+FileActions.Calculating_Size:Ð¢Ð°Ò£ÐŽÐ°Ð»ÑÑÒÐ°Ðœ ÑÐ°Ð¹Ð»ÐŽÐ°Ñ Ó©Ð»ÑÐµÐŒÑÐœ ÑÐŸÐ»ÑÒ ÐµÑÐµÐ¿ÑÐµÑ
+FileActions.Copying:ÐÓ©ÑÑÑÑ {0}
+FileActions.Could_Not_Delete:ÐÐŸÐ¹ÑÐ»Ð° Ð°Ð»ÐŒÐ°ÐŽÑ {0}  
+FileActions.Cyclic_Path:{0}ÐºÓ©ÑÑÑÐŒÐµ ÒÒ±ÑÑÐ»Ð° Ð°Ð»ÐŒÐ°ÐŽÑ: ÑÐ°ÒÐ°Ð¹ÑÐœÐŽÐ°Ñ Ð¿Ð°Ð¿ÐºÐ°ÑÑ ÐœÐµÐ³ÑÐ·Ð³Ñ Ð¿Ð°Ð¿ÐºÐ°ÐŽÐ°.  
+FileActions.Deleting:ÐÐŸÑ {0}
+FileActions.Directories_Selected:{0} ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ Ð¿Ð°Ð¿ÐºÐ°Ð»Ð°Ñ
+FileActions.Directory_Selected:1 ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ Ð¿Ð°Ð¿ÐºÐ°
+FileActions.File_Already_Exists_No_Create:'{0}' Ð±Ò±Ð» ÑÐ°Ð¹Ð» Ð±Ð°Ñ.
+FileActions.File_And_Directories_Selected:1 ÑÐ°Ð¹Ð» Ð¶ÓÐœÐµ {0} Ð¿Ð°Ð¿ÐºÐ°Ð»Ð°ÑÑ ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÐŽÑ
+FileActions.File_And_Directory_Selected:1 ÑÐ°Ð¹Ð» Ð¶ÓÐœÐµ 1 Ð¿Ð°Ð¿ÐºÐ°ÑÑ ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÐŽÑ
+FileActions.File_Create_Error:Ð€Ð°Ð¹Ð» ÒÒ±ÑÑÐ»Ð° Ð°Ð»ÐŒÐ°ÐŽÑ {0}.
+FileActions.Folder_Create_Error:ÐÐ°Ð¿ÐºÐ° ÒÒ±ÑÑÐ»Ð° Ð°Ð»ÐŒÐ°ÐŽÑ {0}.
+FileActions.File_Exists:{0} ÑÐ°ÒÐ°ÑÑÐœÐŽÐ°Ñ Ð¿Ð°Ð¿ÐºÐ°ÑÑÐœÐŽÐ° Ð±Ð°Ñ. ÐÐ» ÒÐ°Ð¹ÑÐ° Ð¶Ð°Ð·ÑÐ»ÑÑÐœ Ð±Ð°?
+FileActions.File_Move_Error_Message:{0}-ÐŽÑ Ð°Ð»Ð°ÑÑÑÑÑ ÐŒÒ¯ÐŒÐºÑÐœ Ð±ÐŸÐ»ÐŒÐ°ÐŽÑ \n{1}.  
+FileActions.File_Not_Deleted_Message:{0}\nÐÒ±Ð» ÑÐ°Ð¹Ð»ÐŽÑ Ð¶ÐŸÑ ÐŒÒ¯ÐŒÐºÑÐœ Ð±ÐŸÐ»ÐŒÐ°ÐŽÑ. ÐÐ» ÑÐºÑÑÐµÑÐœÐŽÑÐº Ð±Ð°ÒÐŽÐ°ÑÐ»Ð°ÐŒÐ°ÐŽÐ° Ð°ÑÑÒ ÐµÐŒÐµÑ ÐµÐºÐµÐœÐŽÑÐ³ÑÐœ ÑÐµÐºÑÐµÑÑÒ£ÑÐ· ÐŽÐµ,  ÒÐ°Ð¹ÑÐ° Ð¶ÐŸÑÒÐ° ÑÑÑÑÑÑÒ£ÑÐ·.  
+FileActions.File_Not_Found_Message:{0}\nÐÐŸÒÐ°ÑÑÐŽÐ° Ð°ÑÐ°Ð»ÒÐ°Ðœ ÑÐ°Ð¹Ð» ÑÐ°Ð±ÑÐ»Ñ Ð°Ð»ÐŒÐ°ÐŽÑ. ÐÑÑÐŽÐµ Ð±Ò±Ð» ÑÐ°Ð¹Ð»\n Ð¶Ð°Ò£Ð°ÑÑÑÐ»ÐŽÑ; ÐÒ±Ð» ÑÐ°Ð¹Ð»ÐŽÑÒ£ ÓÐ»ÑÐŽÐµ Ð±Ð°Ñ ÐµÐºÐµÐœÐŽÑÐ³ÑÐœ ÑÐµÐºÑÐµÑÑÒ£ÑÐ·.
+FileActions.File_Selected:1 ÑÐ°Ð¹Ð» ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÐŽÑ
+FileActions.Files_And_Directory_Selected:{0} ÑÐ°Ð¹Ð»(ÐŽÐ°Ñ) Ð¶ÓÐœÐµ 1 Ð¿Ð°Ð¿ÐºÐ° ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÐŽÑ  
+FileActions.Files_Selected:{0} ÑÐ°Ð¹Ð»(ÐŽÐ°Ñ) ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÐŽÑ  
+FileActions.Folder_Already_Exists:'{0}'Ð°ÑÐ°ÑÐ»Ñ Ð¿Ð°Ð¿ÐºÐ° ÒÐŸÐ»ÐŽÐ°ÐœÑÑÑÐ°. ÐÐ°Ð¿ÐºÐ° ÒÒ±ÑÑ ÐŒÒ¯ÐŒÐºÑÐœ ÐµÐŒÐµÑ.
+FileActions.Insufficient_Space_Message:ÐÐžÑÐºÑÐ»ÑÐº\n ÐºÐµÒ£ÑÑÑÑÐºÑÑÒ£ Ð¶ÐµÑÐºÑÐ»ÑÐº ÑÑÐ·ÐŽÑÐ³ÑÐœÐµÐœ ÑÐ°Ð¹Ð»ÐŽÑÒ£ ÒÐžÐŒÑÐ»Ñ ÑÓÑÑÑÐ· Ð±ÐŸÐ»ÐŽÑ. ÐÓ©ÑÑÑÑ ÑÓÑÑÑ Ð±ÐŸÐ»ÑÑ Ò¯ÑÑÐœ Ð±Ò±Ð» ÑÐ°Ð¹Ð»ÒÐ° Ð°\n Ð¶Ð°Ð»ÒÐ°ÑÑ ÒÐ°Ð¶ÐµÑ: {0}
+FileActions.Moving:ÐÐ»ÐŒÐ°ÑÑÑÑÑ {0}
+FileActions.No_Activity:ÒÐ°Ð¶ÐµÑ ÒÐžÐŒÑÐ»ÐŽÑÒ£ ÐµÑ ÒÐ°Ð¹ÑÑÑÑ
+FileActions.Read_Not_Permitted_Message:ÐÒÑÐ»ÐŒÐ°ÐŽÑ {0}.  
+FileActions.Read_Only:ÐÒ±ÐŒÑÑ ÐºÐµÒ£ÑÑÑÑÐ³ÑÐœÐŽÐµÐ³Ñ ÑÐ°Ð¹Ð»ÐŽÐ°Ñ ÑÐµÐº ÐŸÒÑÐ»Ð°ÐŽÑ Ð¶ÓÐœÐµ Ð¶ÐŸÐ¹ÑÐ»Ð° Ð°Ð»ÐŒÐ°Ð¹ÐŽÑ.
+FileActions.Replacing:ÐÑÑÑÑÑÑÑÐ»Ð°ÐŽÑ {0}  
+FileActions.Selected:{0}ÑÐ°Ð¹Ð»ÐŽÐ°Ñ Ð¶ÓÐœÐµ {1}Ð¿Ð°Ð¿ÐºÐ° ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÐŽÑ
+FileActions.Unknown_File_Error_Message:ÑÐ°Ð¹Ð»Ñ ÒÐžÐŒÑÐ»Ñ ÐºÐµÐ·ÑÐœÐŽÐµ ÐµÑ Ñ
+Ð°Ð±Ð°ÑÐ»Ð°ÐŒÐ° Ð±ÐŸÐ»ÐŒÐ°ÒÐ°ÐœÑÐœÐ° ÒÐ°ÑÐ°ÐŒÐ°ÑÑÐ°Ðœ\n, Ð·ÑÐŸÒ£ÒÑ ÑÐµÐºÑÐµÑÑ ÐºÓ©ÑÑÑÐŒÐµÐœÑÒ£ ÐŒÐµÐºÐµÐœ-Ð¶Ð°Ð¹ÑÐœÑÒ£ ÑÑÒÐ°ÑÑÐ»Ð°ÑÑÐœ ÑÐ°Ð¹Ð»ÐŒÐµÐœ ÑÓÐ¹ÐºÐµÑ. ÐÐŒÐµÑÑÑÐ³ÑÐœ\n ÐºÓ©ÑÑÐµÑÑÑ.ÐÐœÑÒ£ ÑÐµÐ±ÐµÐ±Ñ\n Ð±ÐµÐ»Ð³ÑÑÑÐ·. ÓšÐ·ÑÒ£ÑÐ·ÐŽÑÒ£ ÐžÐœÑÑÐ°Ð»ÐŽÐ°ÐœÐŽÑÑÑÐ»ÒÐ°Ðœ JVM Ð¶Ð°Ò£Ð°ÑÑÑÒ£ÑÐ·ÐŽÐ°\n, ÐŒÓÐ»ÑÐŒÐµÑ Ð°Ð»ÑÐ¿ Ð¶Ò¯ÑÑÑÑÐœÑ ÑÐµÐºÑÐµÑÑÒ£ÑÐ·.
+FileActions.Write_Not_Permitted_Message:ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐžÐœÑÐµÑÑÐµÐ¹ÑÑÑÒ£ \n{0}\n Ð¶Ð°Ð·ÑÒÐ° ÑÒ±ÒÑÐ°ÑÑ Ð¶ÐŸÒ. Ð€Ð°Ð¹Ð» ÑÒ±ÒÑÐ°ÑÑÐœ ÑÐµÐºÑÐµÑÑÒ£ÑÐ·.
+FileActions.Write_Not_Permitted_Title:ÒÐ°ÑÐµ-ÑÐ°Ð¹Ð» ÑÒ±ÒÑÐ°ÑÑ ÐºÐŸÑÑÐµÐºÑÑÑÑÐ·.
+FileActions.Yes_To_All:ÐÓ-Ð±ÓÑÑÐœÐµ
+FileActions.File_Permission_Detail:\n\nÐÑÐºÐµÑÑÑ: ÐÐ°Ð»Ð¿Ñ ÐÑÐžÐœÑÑÐŸÑÐœ ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐÐœÑÐµÑÑÐµÐ¹ÑÑÐœÐµ, ÐÑÐžÐœÑÑÐŸÑÐœÐœÑÒ£ Ò¯Ð¹ Ð¿Ð°Ð¿ÐºÐ°ÑÑÐœÐ°, {0} ÐŽÐµÐ³ÐµÐœ\n, Ð¶Ð°Ð·Ñ ÒÒ±ÒÑÒÑ ÒÐ°Ð¶ÐµÑ. ÐÐ°Ð¿ÐºÐ°ÒÐ°(Ð¶ÓÐœÐµ Ð±Ð°ÑÐ»ÑÒ ÑÐ°Ð»ÑÐœÒÐ°Ðœ Ð¿Ð°Ð¿ÐºÐ°Ð»Ð°ÑÒÐ°) ({1}) Ð°ÒÑÐŒÐŽÐ°ÒÑ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÑÑ Ò¯ÑÑÐœ, ÑÐŸÐ»ÑÒ Ð±Ð°ÑÑ Ð¿Ð°Ð¿ÐºÐ°ÑÑÐœ ÒÒ±ÑÑÒ£ÑÐ· ÐŽÐ°, ÒÐ°Ð¹ÑÐ°Ð»Ð°ÐœÑÐ·\n\n(ÐœÐµÐŒÐµÑÐµ, ÑÑÐ· ÑÐŸÐ»ÑÒ Ð±Ð°ÑÐ° Ð°Ð»Ð°ÑÑÐœ Ð¿Ð°Ð¿ÐºÐ°ÒÐ° ÐÑÐžÐœÑÑÐŸÑÐœÐŽÑ ÒÐ°Ð¹ÑÐ° ÒÒ±ÑÑÒ£ÑÐ·, ÐŒÑÑÐ°Ð»Ñ\n ÑÑÐ·ÐŽÑÒ£ Ò¯Ð¹ Ð¿Ð°Ð¿ÐºÐ°Ò£ÑÐ·ÒÐ° ÐœÐµÐŒÐµÑÐµâÐÐµÐœÑÒ£ ÒÒ±Ð¶Ð°ÑÑÐ°ÑÑÐŒâ Ð¿Ð°Ð¿ÐºÐ°ÑÑÐœÐ°)  
+
+#************************
+#
+#******* File Associations dialog **********
+FileAssociationDialog.Add:ÒÐŸÑÑ
+FileAssociationDialog.Add_Tooltip:ÐÒ±Ð» ÒÐŸÑÑÐŒÑÐ°ÐœÑ ÐŸÑÑ ÑÒ¯ÑÐŽÐµÐ³Ñ ÑÐ°Ð¹Ð»ÐŽÐ°ÑÐŽÑ ÒÐ°ÑÐ°Ñ Ò¯ÑÑÐœ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑ.
+FileAssociationDialog.Batch_File:Ð¢ÐŸÐ¿ÑÑÒ ÑÐ°Ð¹Ð»ÐŽÐ°Ñ.
+FileAssociationDialog.Browse:ÒÐ°ÑÐ°Ñ.
+FileAssociationDialog.Browse_Tooltip:Ð¡ÑÐ·ÐŽÑÒ£ ÑÐ°Ð¹Ð»ÐŽÑÒ ÐºÐµÒ£ÑÑÑÑÐ³ÑÒ£ÑÐ·ÐŽÐµ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑ Ò¯ÑÑÐœ ÒÐŸÑÑÐŒÑÑ ÑÐ°Ò£ÐŽÐ°Ñ  
+FileAssociationDialog.Browse_Tooltip_Mac:Ð¡ÑÐ·ÐŽÑÒ£ ÒÐŸÑÑÐŒÑÐ°Ò£ÑÐ·ÐŽÑ ÒÐ°ÑÐ°Ñ ÒÓÐ·ÑÑ MacOS-ÒÐ° Ð±Ð»ÐŸÐºÑÐ°Ð»ÒÐ°Ðœ
+FileAssociationDialog.Browse_Title:ÒÐŸÑÑÐŒÑÐ°ÐœÑ ÑÐ°Ò£ÐŽÐ°Ñ
+FileAssociationDialog.Close:ÐÐ°Ð±Ñ
+FileAssociationDialog.Close_Tooltip:ÐÒ±Ð» ÐŽÐžÐ°Ð»ÐŸÐ³ÑÑ Ð¶Ð°ÑÑÐ¿, ÐœÐµÐ³ÑÐ·Ð³Ñ ÑÐµÑÐµÐ·ÐµÐ³Ðµ ÐŸÑÐ°Ð»Ñ
+FileAssociationDialog.Command:ÒÐŸÑÑ Ð±Ò±Ð¹ÑÑÒÑ:
+FileAssociationDialog.Command_File:ÐÒ±Ð¹ÑÑÒÑÑÒ ÑÐ°Ð¹Ð»ÐŽÐ°Ñ.
+FileAssociationDialog.Command_Tooltip:ÐÐ°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÐŽÐ°ÒÑ ÒÐŸÑÑÐŒÑÐ°Ð»Ð°ÑÐŽÑ ÒÐŸÑÑ Ð±Ò±Ð¹ÑÑÒÑÐœ ÐµÐœÐ³ÑÑÑ.
+FileAssociationDialog.Details:Ð€Ð°Ð¹Ð»ÐŽÑÒ£ Ð¶Ð°Ò£Ð° Ð°ÑÑÐŸÑÐžÐ°ÑÐžÑÐ»Ð°Ñ Ð±Ó©Ð»ÑÐ³Ñ
+FileAssociationDialog.Executable_File:ÐÑÑÐœÐŽÐ°Ð»Ð°ÑÑÐœ ÑÐ°Ð¹Ð»ÐŽÐ°Ñ
+FileAssociationDialog.Extension:Ð€Ð°Ð¹Ð»ÐŽÐ°ÑÐŽÑÒ£ Ð°ÑÒÑÐ°Ð»ÑÑ Ò¯ÑÑÐœ:
+FileAssociationDialog.Extension_Tooltip:Ð€Ð°Ð¹Ð»ÐŽÐ°ÑÐŽÑ ÒÐ°ÑÐ°Ñ Ò¯ÑÑÐœ ÑÐ°Ð¹Ð»ÐŽÑÒ ÐºÐµÒ£ÐµÐ¹ÑÑ
+FileAssociationDialog.Instructions:ÐÒ±Ð» ÐŽÐžÐ°Ð»ÐŸÐ³ÑÑ ÐºÐµÐ¹Ð±ÑÑ ÑÐ°Ð¹Ð» ÑÐžÐ¿ÑÐµÑÑÐœ Ð¶ÓÐœÐµ Ð¶ÑÐ±ÐµÑÑÐ»ÐµÑÑÐœ Ð±Ò±Ð¹ÑÑÒ ÑÐ°ÑÐŽÑ ÒÐ°ÑÐ°Ñ Ò¯ÑÑÐœ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÑÑÐœ, ÑÑÐºÑ Ð±Ð°ÒÐŽÐ°ÑÐ»Ð°ÐŒÐ°ÐœÑ ÒÒ±ÑÑÒÐ°  Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÒ£ÑÐ·. ÐÒ±Ð» Ð±Ð°ÒÐŽÐ°ÑÐ»Ð°ÐŒÐ°ÐœÑ ÒÐŸÑÑ Ò¯ÑÑÐœ\n Ð€Ð°Ð¹Ð»ÐŽÑÒ£ Ð¶Ð°Ò£Ð° ÑÐžÐ¿ÑÐœ ÒÐŸÑÑ Ò¯ÑÑÐœ. ' Ð€Ð°Ð¹Ð»ÐŽÑ Ð°ÑÒÑÐ°Ñ Ò¯ÑÑÐœÐµ' ÐºÐµÒ£ÐµÐ¹ÑÑÐ¿ Ð¶Ð°Ð·ÑÒ£ÑÐ·. ÐÒ±Ð¹ÑÑÒÑÑ Ó©Ð·Ð³ÐµÑÑ ÐœÐµ ÒÐŸÑÑ Ò¯ÑÑÐœ, Ð±Ð°ÒÐŽÐ°ÑÐ»Ð°ÐŒÐ°ÒÐ° ÑÓÐ¹ÐºÐµÑ ÐºÐµÐ»ÑÑÐœ ÑÐ°Ð¹Ð»ÐŽ ÑÐ·ÐŽÐµÑ Ò¯ÑÑÐœ, 'ÐÐ°ÑÐ°ÑÐŽÑ' ÐÐ°ÑÑÒ£ÑÐ· ÐœÐµÐŒÐµÑÐµ 'ÐÒ±Ð¹ÑÑÒÑÑ ÒÐŸÑÑÒÐ°' ÐÐ°Ò£Ð° Ð±Ò±Ð¹ÑÑÒÑÑ Ð¶Ð°Ð·ÑÒ£ÑÐ·. ÐÑÑÒ ÑÐ°Ð¹Ð»ÐŽÑÒ£ Ð°ÑÑ ÒÐ°Ð¹ Ð¶ÐµÑÐŽÐµ ÐºÓ©ÑÑÐµÑÑ Ò¯ÑÑÐœ Ð°ÑÐœÐ°Ð¹Ñ Ð¶ÐŸÐ»ÐŽÑ '%1' Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÒ£ÑÐ·, ÐŒÑÑÐ°Ð»Ñ, Ð±Ð°ÑÒÐ°ÑÑ ÐºÓ©ÑÑÐµÑÑÐ»ÐŒÐµÐ³Ðµ "C:\\Windows\\System\\MSPaint.exe %1". '%1' Ð±Ò±Ð¹ÑÑÒÑÑÒ£ ÑÐŸÒ£ÑÐœÐ° ÒÐŸÑÑÐ»Ð°ÐŽÑ. \n MacOS Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÑÑÑÑ Ð±Ð°ÑÑÐœÐŽÐ° ÓÑÒÐ°ÑÐ°Ðœ ÐÐ°ÐºÐžÐœÑÐŸÑÑÑÒ£ Ð°ÑÐœÐ°Ð¹Ñ Ð±Ò±Ð¹ÑÑÒÑÐœ ÒÐŸÐ»ÐŽÐ°ÐœÑÑ ÐºÐµÑÐµÐº "open [-a <application_name>] %1".
+FileAssociationDialog.Table.Command:ÐÒ±Ð¹ÑÑÒ
+FileAssociationDialog.Table.Extension:ÐÐµÒ£ÐµÐ¹ÑÑ
+FileAssociationDialog.Title:Ð€Ð°Ð¹Ð»ÐŽÑÒ Ð°ÑÑÐŸÑÐžÐ°ÑÐžÑÐœÑ ÑÐµÐŽÐ°ÐºÑÐžÐ»Ð°Ñ
+FileAssociationDialog.Remove:ÐÐŸÑ
+FileAssociationDialog.Remove_Tooltip:ÐÒÑÐŒÐŽÐ°ÒÑ ÑÐ°Ò£ÐŽÐ°Ð»ÒÐ°Ðœ Ð°ÑÑÐŸÑÐžÐ°ÑÐžÑÐœÑ, Ð°ÑÑÐŸÑÐžÐ°ÑÐžÑÐŽÐ°Ðœ Ð¶ÐŸÑ
+FileAssociationDialog.Replace:ÐÑÑÑÑÑÑÑ
+FileAssociationDialog.Replace_Tooltip:ÐÒÑÐŒÐŽÐ°ÒÑ ÑÐ°Ò£ÐŽÐ°Ð»ÒÐ°Ðœ Ð°ÑÑÐŸÑÐžÐ°ÑÐžÑÐœÑ, Ð°ÑÑÐŸÑÐžÐ°ÑÐžÑÐŽÑÒ£ Ð¶Ð°Ò£Ð° Ð±Ó©Ð»ÑÐµÐºÑÐµÑÑÐŒÐµÐœ Ð°ÑÑÑÑÑÑÑ
+#*******************
+#
+#******Filter***************
+Filter.0:HTM & HTML
+Filter.1:XML
+Filter.2:ÐÓÑÑÐœÐŽÑÐº ÑÐ°Ð¹Ð»ÐŽÐ°Ñ
+Filter.3:ÐÐµÐ¹ÐœÐµÐ»ÐµÑ
+Filter.4:PDF  
+Filter.5:MS Office ÒÒ±Ð¶Ð°ÑÑ  
+Filter.All_Files:ÐÐ°ÑÐ»ÑÒ ÑÐ°Ð¹Ð»ÐŽÐ°Ñ
+Filter.Filter_Tree:Ð€Ð°Ð¹Ð»ÐŽÐ°ÑÐŽÑ ÐºÓ©ÑÑÐµÑÑ
+Filter.Invalid_Pattern:<HTML><FONT FACE={FONT} COLOR=Black>Ð¡ÑÐ· ÑÐ°Ð¹Ð»ÐŽÐ°ÑÐŽÑ ÑÒ¯Ð·ÑÐ³Ðµ ÐµÐœÐ³ÑÐ·Ð³ÐµÐœ ÑÑÐ·Ð±Ð° Ð¶Ð°ÑÐ°ÐŒÑÑÐ·. <BR>, <BR>* ÑÓÐœ ÑÐžÐŒÐ²ÐŸÐ»- ÑÐ°Ð±Ð»ÐŸÐœÐŽÐ°ÑÐŽÑ Ð¶ÓÐœÐµ ÐŽÒ±ÑÑÑ ÑÐžÐœÑÐ°ÐºÑÐžÑ Ð±ÑÐ»ÐŽÑÑÑÑÐœ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÐ¿, ÒÐ°Ð¹ÑÐ° ÑÑÑÑÑÑÒ£ÑÐ·.</FONT></HTML>
+#***********************
+#
+#***** GAuthenticator *****
+GAuthenticator.Password:ÐÐ°ÑÐŸÐ»Ñ:
+GAuthenticator.Password_Tooltip:Ð¡ÑÐ·ÐŽÑÒ£ Ð¿Ð°ÑÐŸÐ»ÑÑÒ£ÑÐ·ÐŽÑ ÐŸÑÑ Ð¶ÐµÑÐ³Ðµ ÐµÐœÐ³ÑÐ·ÑÒ£ÑÐ·
+GAuthenticator.Title:Ð¢Ð°Ð»Ð°Ð¿ ÐµÑÑÐ»ÐµÑÑÐœ Ð¿Ð°ÑÐŸÐ»Ñ.
+GAuthenticator.Username:ÐÐ°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÑÑÐœÑÒ£ Ð°ÑÑ:
+GAuthenticator.Username_Tooltip:Ð¡ÑÐ·ÐŽÑÒ£ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÑÑ Ð°ÑÑÒ£ÑÐ·ÐŽÑ ÐŸÑÑ Ð¶ÐµÑÐ³Ðµ ÐµÐœÐ³ÑÐ·ÑÒ£ÑÐ·
+#**************************
+#
+#***** General Messages *****
+# 0 - A String representing the name and method of the class in question.
+General.Apply:ÒÐŸÐ»ÐŽÐ°ÐœÑ
+General.Apply_Tooltip:ÐÑÑ ÐŽÐžÐ°Ð»ÐŸÐ³ÑÐ°Ðœ ÑÑÒÐ¿Ð°Ð¹-Ð°Ò, Ð°ÒÑÐŒÐŽÐ°ÒÑ ÒÐ°Ð»ÑÐ¿ÑÑ ÒÐŸÐ»ÐŽÐ°ÐœÑ.
+General.Browse:ÒÐ°ÑÐ°Ñ
+General.Cancel:ÐÑÑÑÑÑÑÑ
+General.Cancel_Tooltip:ÓšÐ·Ð³ÐµÑÑÑÑÐµÑÐŽÑ Ð°ÑÑÑÑÑÑÑ(ÒÐŸÐ»ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ Ó©Ð·Ð³ÐµÑÑÑÑÐµÑÐŽÑÒ£ ÐµÑÒÐ°Ð¹ÑÑÑÑ Ð¶ÐŸÐ¹ÑÐ»ÐŒÐ°Ð¹ÐŽÑ)
+General.Close:ÐÐ°Ð±Ñ
+General.Close_Tooltip:ÐÑÑ ÐŽÐžÐ°Ð»ÐŸÐ³ÑÑÒ Ð°Ð»Ð°Ò£ÐŽÑ Ð¶Ð°Ð±Ñ  
+General.Edit:ÐÐµÐ»Ð³ÑÐœÑ ÑÐµÐŽÐ°ÐºÑÐžÑÐ»Ð°Ñ
+General.Error:ÒÐ°ÑÐµ
+General.No:ÐÐŸÒ
+General.NotSunJava:Java ÐŽÐžÑÑÑÐžÐ±ÑÑÑÐµÑ: {0}\n ÐÐ°Ð·Ð°Ñ Ð°ÑÐŽÐ°ÑÑÒ£ÑÐ·, ÐºÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐžÐœÑÐµÑÑÐµÐ¹Ñ Java ÑÑÐ»ÑÐœÐŽÐµ Sun Microsystems ÑÐžÑÐŒÐ°ÑÑÐŒÐµÐœ ÐŽÐ°Ð¹ÑÐœÐŽÐ°Ð»ÒÐ°Ðœ Ð¶ÓÐœÐµ ÑÐµÑÑÑÐ»ÐµÐœÐ³ÐµÐœ.
+General.OK:OK
+General.OK_Tooltip:ÐÑÐžÐœÑÑÑ ÑÐµÐºÑÑÐžÐµ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž Ðž Ð²ÑÐ¹ÑÐž ÐžÐ· ÐŽÐžÐ°Ð»ÐŸÐ³Ð°
+General.Outstanding_Processes:<html><ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐžÐœÑÐµÑÑÐµÐ¹Ñ Ó©Ð·ÑÐŒÐµÐœ Ð±ÑÑÐ³Ðµ ÑÑÐºÐµ ÒÐŸÑÑÐ»ÒÐ°Ðœ Ð±Ð°ÑÐ»ÑÒ Ð±Ð°ÒÐŽÐ°ÑÐ»Ð°ÐŒÐ°Ð»Ð°Ñ<br> Ð¶Ð°Ð±ÑÐ»ÒÐ°ÐœÑÐ°, ÑÐŸÐ»ÑÒ Ð¶Ð°Ð±Ð° Ð°Ð»ÐŒÐ°Ð¹ÐŽÑ.</html>
+General.Outstanding_Processes_Title:ÐÑÒÑÐ°Ð»ÑÐŽÑ ÐºÒ¯ÑÑ
+General.Pure_Cancel_Tooltip:ÐÒ±Ð» ÒÐžÐŒÐ°Ð»ÐŽÑ Ò¯Ð·Ñ (ÐµÑ Ó©Ð·Ð³ÐµÑÑÑ Ð¶Ð°ÑÐ°Ð»ÐŒÐ°Ð¹ÐŽÑ)
+General.Review_Output:Ð¢Ó©ÐŒÐµÐœÐŽÐµÐ³Ñ Ó©ÐœÑÐŒÐŽÑ ÒÐ°ÑÐ°Ò£ÑÐ·:
+General.Redo:ÒÐ°Ð¹ÑÐ°ÑÑ  
+General.Redo_Tooltip:ÐÐ»ÐŽÑÒ£ÒÑ ÐŸÑÐºÐ°ÑÑÑ ÒÐ°Ð¹ÑÐ° ÒÒ±ÑÑ  
+General.Undo:ÐÑÑÑÑÑÑÑ  
+General.Undo_Tooltip:Ð¡ÐŸÒ£ÒÑ ÑÒ¯Ð·ÐµÑÑÐŽÑ Ð°ÑÑÑÑÑÑÑ  
+General.Usage:ÐÐ°Ð¹ÐŽÐ°Ð»Ð°ÐœÑ: {0} <params>\n Ð±Ð°ÑÐ»ÑÒ Ó©Ð»ÑÐµÐŒÐŽÐµÑ Ó©Ð·ÑÐœÐŽÑÐº, Ð±ÑÑÐ°Ò ÐºÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐžÐœÑÐµÑÑÐµÐ¹Ñ ÐµÐ³ÐµÑ ÑÐ°ÐœÐŽÑÒ Greenstone ÐºÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°ÑÑ ÒÐŸÐœÐŽÑÑÑÐ»ÐŒÐ°ÑÐ°, Ð¶Ò±ÐŒÑÑ ÑÑÑÐµÐ¹ Ð°Ð»ÐŒÐ°ÑÑ ÐŒÒ¯ÐŒÐºÑÐœ. \n-gsdl <path>:gsdl\n -library <path>: Ð¶ÐŸÐ»ÑÐœ ÐºÒ¯ÑÑÐµÐ¿ Ð±ÐµÑÑÒ£ÑÐ· cgi-bin\n-mozilla <path>-ÒÐ° Ð¶ÐŸÐ»: mozilla\n âmirror ÒÐŸÑÑ\n -laf [java|windows|motif|mac]:Ð²ÐµÐ±-Ð°Ð¹ÐœÐ°Ð»ÑÒ Ð±Ð°ÑÒÐ°ÑÑ. \n ÐÓ©ÐœÐŽÐµÐ»ÑÐŽÑ ÐºÓ©ÑÑ Ð¶ÓÐœÐµ ÑÐµÐ·Ñ. \n -no_load: Ð°Ð»ÐŽÑÐœ-Ð°Ð»Ð° Ð°ÑÑÐ»ÒÐ°Ðœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÑÐŸÐ»ÑÑÑÐŒÐ°Ò£ÑÐ·\n -no_load: ÐºÓ©ÑÑÐµÑÑÐ»Ð³ÐµÐœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÑÐŸÐ»ÑÑÑÑÒ£ÑÐ·.
+General.View:ÐÓ©ÑÑÐŽÑÒ£ ÐŒÐ°Ò£ÑÐ·Ñ
+General.Warning:ÐÑÐºÐµÑÑÑÐ»ÐµÑ
+General.Yes:ÐÑ
+#****************************
+#
+#***** GShell *****
+GShell.BadArgument:{0} Ó©Ð»ÑÐµÐŒÑ Ð¶Ð°ÑÐ°ÐŒÑÑÐ·.  
+GShell.BadArgumentValue:{0} Ð¿Ð°ÑÐ°ÐŒÐµÑÑÑÐœÑÒ£ Ð¶Ð°ÑÐ°ÐŒÑÑÐ· ÐŒÐ°ÒÑÐœÐ°ÑÑ Ð±Ð°Ñ.  
+GShell.BadPluginOptions:{0} Ð¿Ð»Ð°Ð³ÐžÐœÑÐœÐŽÐµ ÐœÐ°ÑÐ°Ñ Ð°ÑÐ³ÑÐŒÐµÐœÑ ÒÐŸÐ»ÐŽÐ°ÐœÑÐ»ÐŽÑ.  
+GShell.BadClassifierOptions:ÐÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ Ó©Ð»ÑÐµÐŒÑÐœÑÒ£ ÐŒÐ°Ò£ÑÐ·Ñ ÐŽÒ±ÑÑÑ ÐµÐŒÐµÑ {0}.  
+GShell.Build.Auxilary:ÒÐŸÑÑÐŒÑÐ° ÑÐ°Ð¹Ð»ÐŽÐ°ÑÐŽÑ ÒÒ±ÑÑ Ð¶ÓÐœÐµ Ð¶ÐŸÑ...
+GShell.Build.BuildBegun1:************** ÒÒ±ÑÑ Ð±Ð°ÑÑÐ°Ð»ÐŽÑ **************
+GShell.Build.BuildCancelled:**************   ÐÑÑÑÑÑÑÑÐ»ÐŽÑ  **************  
+GShell.Build.BuildComplete1:************** ÒÒ±ÑÑ Ð°ÑÒÑÐ°Ð»ÐŽÑ **************
+GShell.Build.CompressText:ÐÓÑÑÐœÐŽÑ ÒÑÑÑ...
+GShell.Build.Index:ÐÐµÐ³ÑÐ·ÐŽÐµÐ»Ð³ÐµÐœ ÐžÐœÐŽÐµÐºÑÑÑ ÒÒ±ÑÑ {0-index source and level}...
+GShell.Build.InfoDatabase:ÐÐµÑÑÐ»Ð³ÐµÐœ ÐŒÓÐ»ÑÐŒÐµÑÑÑÐº Ð±Ð°Ð·Ð°ÐœÑ ÒÒ±ÑÑ...
+GShell.Build.Phind:Phind ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÑÐœÑÒ£ Ð±Ð°Ð¿ÑÐ°Ð»ÑÑ . ÐÒ±Ð» Ð±ÑÑÐ°Ð· ÑÐ°ÒÑÑ Ð°Ð»ÑÑ ÐŒÒ¯ÐŒÐºÑÐœ...  
+GShell.Schedule.ScheduleBegun1:************* ÐÐµÐ·ÐµÐºÑÑÐ»ÑÐº ÐÐ°ÑÑÐ°Ð»ÐŽÑ *************  
+GShell.Schedule.ScheduleComplete1:*********** ÐÐµÐ·ÐµÐºÑÑÐ»ÑÐº ÐÑÒÑÐ°Ð»ÐŽÑ*********  
+GShell.Schedule.ScheduleDelete:** ÐÐ°Ñ ÐºÐµÐ·ÐµÐºÑÑÐ»ÑÐºÑÐµÑÐŽÑÒ£ Ð¶ÐŸÐ¹ÑÐ»ÑÑ **  
+GShell.Command:ÐÒ±Ð¹ÑÑÒ
+GShell.Failure:ÐÒ±Ð¹ÑÑÒ ÑÑÐºÐµ Ð°ÑÐ¿Ð°ÐŽÑ.
+GShell.Import.FileNotProcessed:{0-target file path} ÑÐ°Ð¹Ð»Ñ ÑÐ°ÐœÑÐ»ÐŽÑ, Ð±ÑÑÐ°Ò Ð±ÑÑ-ÐŽÐµ-Ð±ÑÑ Ð¿Ð»Ð°Ð³ÐžÐœÐŒÐµÐœ Ó©Ò£ÐŽÐµÐ»Ðµ Ð°Ð»ÐŒÐ°Ð¹ÐŽÑ
+GShell.Import.FileNotRecognised:ÐŸÐœÑÒ£ ÑÐžÐ¿Ñ ÐÑÐžÐœÑÑÐŸÑÐœÐœÑÒ£ ÐµÑÐ±ÑÑ Ð¿Ð»Ð°Ð³ÐžÐœÑÐŒÐµÐœ ÑÐ°ÐœÑÐ»ÐŒÐ°ÒÐ°ÐœÐŽÑÒÑÐ°Ðœ, ÐŸÒÐ°Ðœ ÒÐŸÑÑÒÐ° Ð±ÐŸÐ»ÐŒÐ°Ð¹ÐŽÑ.  
+GShell.Import.FileProcessing:Ð€Ð°Ð¹Ð» {0-target file path} Ð¿Ð»Ð°Ð³ÐžÐœÐŒÐµÐœ Ó©Ò£ÐŽÐµÐ»ÑÐŽÐµ {1-plugin name}.
+GShell.Import.FileProcessingError:Ð€Ð°Ð¹Ð» {0-target file path} Ó©ÐœÐŽÐµÑ ÐºÐµÐ·ÑÐœÐŽÐµ ÒÐ°ÑÐµÐ»ÑÐºÐºÐµ Ð¶ÐŸÐ»ÑÒÑÑ.
+GShell.Import.ImportBegun1:************** ÐÐŒÐ¿ÐŸÑÑ Ð±Ð°ÑÑÐ°Ð»ÐŽÑ **************
+GShell.Import.ImportComplete1:************** ÐÐŒÐ¿ÐŸÑÑ Ð°ÑÒÑÐ°Ð»ÐŽÑ **************
+GShell.Import.ImportComplete2:{0-number documents considered} Ó©Ò£ÐŽÐµÑÐ³Ðµ Ð°ÑÐœÐ°Ð»ÒÐ°Ðœ ÒÒ±Ð¶Ð°ÑÑÐ°Ñ:
+GShell.Import.ImportComplete2.1:1 ÒÒ±Ð¶Ð°Ñ Ó©Ò£ÐŽÐµÑÐ³Ðµ Ð°ÑÐœÐ°Ð»ÒÐ°Ðœ ÐµÐŽÑ:
+GShell.Import.ImportComplete.Processed:{0-number processed} Ó©Ò£ÐŽÐµÐ»ÐŽÑ Ð¶ÓÐœÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÒÐ° ÒÐŸÑÑÐ»ÐŽÑ.
+GShell.Import.ImportComplete.Processed.1:1 Ó©Ò£ÐŽÐµÐ»ÐŽÑ Ð¶ÓÐœÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÒÐ° ÒÐŸÑÑÐ»ÐŽÑ.
+GShell.Import.ImportComplete.Blocked:{0-number blocked} Ð¿Ð»Ð°Ð³ÐžÐœÐŽÐµÑ ÐºÓ©ÐŒÐµÐ³ÑÐŒÐµÐœ ÒÐŸÑÑÒÐ° Ð±Ó©Ð³ÐµÑÑÐµÑ Ð±ÐŸÐ»ÐŽÑ. (Ð²ÐµÐ±-Ð±ÐµÑÑÐµÐ³Ñ Ð±ÐµÐ¹ÐœÐµÐ»ÐµÑ ÑÐžÐ¿Ñ)
+GShell.Import.ImportComplete.Blocked.1:1 ÒÐŸÑÑ Ð¿Ð»Ð°Ð³ÐžÐœÐŒÐµÐœ ÐµÑÐºÐµÑÑÑÐ»ÐŽÑ (ÐŒÑÑÐ°Ð»Ñ: Ð²ÐµÐ±-Ð±ÐµÑÑÐµÐ³Ñ Ð±ÐµÐ¹ÐœÐµ).  
+GShell.Import.ImportComplete.Ignored:{0-number ignored} ÑÐ°ÐœÑÐ»ÐŒÐ°ÐŽÑ Ð¶ÓÐœÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐŽÐ° Ð±ÐŸÐ»Ð° Ð°Ð»ÐŒÐ°Ð¹ÐŽÑ.
+GShell.Import.ImportComplete.Ignored.1:1 ÑÐ°ÐœÑÐ»ÐŒÐ°ÐŽÑ Ð¶ÓÐœÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐŽÐ° Ð±ÐŸÐ»Ð° Ð°Ð»ÐŒÐ°Ð¹ÐŽÑ.
+GShell.Import.ImportComplete.Failed:{0-number failed} ÒÐ°Ð±ÑÐ»ÐŽÐ°ÐœÐ±Ð°ÐŽÑ.
+GShell.Import.ImportComplete.Failed.1:1 ÒÐ°Ð±ÑÐ»ÐŽÐ°ÐœÐ±Ð°ÐŽÑ.
+GShell.Import.ImportComplete3:\n
+GShell.Import.Warning:{0-plugin name} ÐÐ°Ð·Ð°Ñ Ð°ÑÐŽÐ°ÑÑ:  
+GShell.Parsing_Metadata_Complete:ÐÑÑ
+ÐžÐ²ÑÐµÐ»Ð³ÐµÐœ ÐŒÐµÑÐ°Ð±ÑÑÐ»ÑÐºÑÐµÑ ÑÐŸÐ»ÑÒÑÐŒÐµÐœ Ð°Ð»ÑÐœÑÐ¿ ÑÐ°ÑÑÐ°Ð»ÐŽÑ.
+GShell.Parsing_Metadata_Start:ÐÐ°Ò£Ð° ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑ Ð°ÑÑ
+ÐžÐ²ÑÑÐº ÑÐ°Ð¹Ð»ÐŽÐ°ÑÐŽÐ°Ðœ Ð°Ð»ÑÐ¿ ÑÐ°ÑÑÐ°Ñ.
+GShell.Success:ÐÒ±Ð¹ÑÑÒ Ð°ÑÒÑÐ°Ð»ÐŽÑ.
+#*********************
+#
+#***** GUI *****
+# Currently Enabled and Disabled display the same text but in different
+# colours. If necessary this can be changed.
+GUI.Create:ÒÒ±ÑÑ
+GUI.Create_Tooltip:ÐÑÐžÑÑÐŸÑÐœÐŽÑ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÐ¿ Ó©Ð·ÑÒ£ÑÐ·ÐŽÑÒ£ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÒ£ÑÐ·ÐŽÑ ÒÒ±ÑÑÒ£ÑÐ·.  
+GUI.Design:ÐÐŸÐ±Ð°
+GUI.Design_Tooltip:Ð¡ÑÐ·ÐŽÑÒ£ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÒ£ÑÐ·ÐŽÑ ÑÐ°ÐœÑÑÑÑÑÑ Ð¶ÓÐœÐµ ÐŸÐœÑÒ£ ÑÑÐœÐºÑÐžÐŸÐœÐ°Ð»ÐŽÑÒ ÐŒÒ¯ÐŒÐºÑÐœÐŽÑÐºÑÐµÑÑÐœ Ð¶ÐŸÐ±Ð°Ð»Ð°Ò£ÑÐ·.
+GUI.Download:ÐÒ¯ÐºÑÐµÑ
+GUI.Download_Tooltip:Ð¡ÑÐ·ÐŽÑÒ£ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÒ£ÑÐ·ÒÐ° ÒÐŸÑÐ»Ð°ÑÐŽÑ ÐÐœÑÐµÑÐœÐµÑÑÐµÐœ Ð¶Ò¯ÐºÑÐµÑ.
+GUI.Enrich:Ð¢ÐŸÐ»ÑÑÑÑ  
+GUI.Enrich_Tooltip:Ð¡ÑÐ·ÐŽÑÒ£ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÒ£ÑÐ·ÐŽÐ°ÒÑ ÑÐ°Ð¹Ð»ÐŽÐ°ÑÒÐ° ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑ Ð±ÐµÑÑ.
+GUI.Format:Ð€ÐŸÑÐŒÐ°Ñ  
+GUI.Format_Tooltip:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑÒ£ ÑÑÑÑÒÑ Ð¿ÑÑÑÐœÑÐœ ÒÒ±ÑÑ  
+GUI.Gather:ÐÐžÐœÐ°Ñ
+GUI.Gather_Tooltip:Ð¡ÑÐ·ÐŽÑÒ£ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÒ£ÑÐ·ÒÐ° ÒÐŸÑÑ Ò¯ÑÑÐœ ÑÐ°Ð¹Ð»ÐŽÐ°ÑÐŽÑ ÑÐ°Ò£ÐŽÐ°Ñ.
+#***************
+#
+#***** HELP *****
+Help.Contents:ÐÐ°Ð·ÐŒÒ±ÐœÑ
+Help.Title:ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐžÐœÑÐµÑÑÐµÐ¹ÑÑÑÒ£ ÐºÓ©ÐŒÐµÐº Ð±ÐµÑÑÐµÑÑ  
+#****************************
+#
+#***** Invalid Metadata ******
+InvalidMetadata.Message:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ¢ Ð±Ò±Ð» ÑÐ»ÐµÐŒÐµÐœÑÑ Ð°Ð»ÐŽÑÐœ-Ð°Ð»Ð° Ð°ÐœÑÒÑÐ°Ð»ÒÐ°Ðœ Ð±ÐµÐ»Ð³ÑÐœÑÒ£ ÑÐµÐº Ð±ÑÑÐµÑÑÐœ ÒÐ°Ð±ÑÐ»ÐŽÐ°Ð¹ Ð°Ð»Ð°ÐŽÑ. ÐÐ°Ñ Ð±ÐµÐ»Ð³ÑÐœÑÒ£ Ð±ÑÑÐµÑÑÐœ ÑÐ°Ò£ÐŽÐ°Ò£ÑÐ·.  
+InvalidMetadata.Title:ÐÐ°ÑÐ°ÐŒÑÑÐ· ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ  
+#***************************
+#
+#***** LegacyCollection
+LegacyCollection.Message:ÐÐÐ(GLI)-Ð¿ÐµÐœ ÒÒ±ÑÑÐ»ÐŒÐ°ÒÐ°Ðœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ Ð¶Ò¯ÐºÑÐµÐ³ÑÒ£ÑÐ· ÐºÐµÐ»ÐµÐŽÑ.ÐÐ°Ñ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Dublin Core ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœÑÑÒÑÐœÐ° ÐžÐŒÐ¿ÐŸÑÑÑÐ°Ð»Ð°ÐŽÑ. Ð¢Ò¯Ð¿ÐœÒ±ÑÒÐ°Ð»ÑÒ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ import.bak Ð¿Ð°Ð¿ÐºÐ°ÑÑÐœÐŽÐ° ÑÐ°ÒÑÐ°Ð»Ð°ÐŽÑ  
+LegacyCollection.Title:Ð¡ÑÑÑÒÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ Ð¶Ò¯ÐºÑÐµÑ  
+#***************************
+#
+#***** LockFileDialog *****
+LockFileDialog.Cancel_Tooltip:Ð€Ð°Ð¹Ð» ÑÐŸÒÑÑÐ°ÑÑÐœ Ð±Ð°ÑÒÐ°ÑÑÐŽÑ Ò±ÑÐ»Ð°ÐŒÐ°Ò£ÑÐ·. (ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð°ÑÑÐ»ÐŒÐ°Ð¹ÑÑÐœ Ð±ÐŸÐ»Ð°ÐŽÑ).
+LockFileDialog.Date:ÐÒ¯ÐœÑ
+LockFileDialog.Error:ÒÐ°ÑÐµ
+LockFileDialog.Lockfile_Message_One:ÐÐ»ÐŸÐºÑÐ°Ð»ÒÐ°Ðœ ÑÐ°Ð¹Ð»ÐŽÑÒ£ Ð±ÐŸÐ»ÑÑ, Ð±Ò±Ð» ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð°ÑÑÒ ÐŽÐµÐ³ÐµÐœ ÐŸÐ¹ÒÐ° ÓÐºÐµÐ»ÐµÐŽÑ.
+LockFileDialog.Lockfile_Message_Two:Ð¡ÑÐ· ÐŸÑÑ Ð±Ð»ÐŸÐºÑÐ°Ð»ÒÐ°Ðœ ÑÐ°Ð¹Ð»ÐŽÑ Ð±Ð°ÒÐ°ÑÑÐŽÑ 'Ò±ÑÑÐ»ÒÑÒ£ÑÐ·' ÐºÐµÐ»ÐµÐŽÑ ÐŒÐµ?
+LockFileDialog.Machine:ÒÐ°Ð¹ÐŽÐ°
+LockFileDialog.Name:ÐÑÑ
+LockFileDialog.OK_Tooltip:ÐÐ»ÐŸÐºÑÐ°Ð»ÒÐ°Ðœ ÑÐ°Ð¹Ð»ÐŽÑ 'Ò±ÑÐ»Ð°ÑÐŽÑ' Ð±Ð°ÑÒÐ°ÑÑ.
+LockFileDialog.Title:ÐÐ±ÐœÐ°ÑÑÐ¶ÐµÐœ Ð·Ð°Ð±Ð»ÐŸÐºÐžÑÐŸÐ²Ð°ÐœÐœÑÐ¹ ÑÐ°Ð¹Ð».
+LockFileDialog.User:ÐÑÐŒ
+#********************
+#
+#*****MappingPrompt **********
+MappingPrompt.File:ÐÐ°Ð¿ÐºÐ°
+MappingPrompt.Map:ÒÑÑÒÐ°ÑÑÑÐŽÑ ÒÒ±ÑÑ
+MappingPrompt.Name:ÐÑÑ
+MappingPrompt.Title:ÒÑÑÒÐ°ÑÑÑ Ð¿Ð°Ð¿ÐºÐ°ÑÑÐœ ÒÐŸÐœÐŽÑÑÑ
+MappingPrompt.Unmap:ÒÑÑÒÑÑÑÑÐŽÑ Ð¶ÐŸÑ
+#*******************
+#
+#***** Menu Options *****
+Menu.Collapse:ÐÐ°Ð¿ÐºÐ°ÐœÑ Ð¶Ð°Ð±Ñ
+Menu.Edit:Ð ÐµÐŽÐ°ÐºÑÐžÑÐ»Ð°Ñ
+Menu.Edit_Copy:ÐÓ©ÑÑÑÑ (ctrl-c)
+Menu.Edit_Cut:ÒÐŸÑ(ctrl-x)
+Menu.Edit_Paste:ÐÐµÑÑ (ctrl-v)
+Menu.Expand:ÐÐ°Ð¿ÐºÐ°ÐœÑ Ð°ÑÑ
+Menu.Explode_Metadata_Database:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŒÐµÐœ Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð±Ð°Ð·Ð°ÑÑÐœ Ð±Ó©Ð»Ñ
+Menu.Replace_SrcDoc_With_HTML:HTML ÐœÒ±ÑÒÐ°ÑÑÐŒÐµÐœ Ð°ÑÑÑÑÑÑÑ  
+Menu.File:Ð€Ð°Ð¹Ð»
+Menu.File_Associations:Ð€Ð°Ð¹Ð»ÐŽÑÒ£ Ð°ÑÑÐŸÑÐžÐ°ÑÐžÑÐ»Ð°ÑÑ...
+Menu.File_CDimage:Ð² CD-ROM/DVD-ÒÐ° ÑÐºÑÐ¿ÐŸÑÑÑÐ°Ñ...
+Menu.File_Close:ÐÐ°Ð±Ñ
+Menu.File_Delete:ÐÐŸÑ...
+Menu.File_Exit:ÐšÑÒÑ
+Menu.File_ExportAs:Ð­ÐºÑÐ¿ÐŸÑÑ...  
+Menu.File_New:ÐÐ°Ò£Ð°...
+Menu.File_Open:ÐÑÑ...
+Menu.File_Options:ÐÐ¿ÑÐžÑÐ»Ð°Ñ...  
+Menu.File_Save:Ð¡Ð°ÒÑÐ°Ñ
+Menu.Help:ÐÓ©ÐŒÐµÐº
+Menu.Help_About:Ð...
+Menu.Metadata_View:Ò®ÑÑÐœ Ð±ÐµÑÑÐ»Ð³ÐµÐœ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ{0}
+Menu.Open_Externally:Ð¡ÑÑÑÒÑ Ð±Ð°ÒÐŽÐ°ÑÐ»Ð°ÐŒÐ°ÐœÑ Ð°ÑÑ
+#********************
+#
+#***** MetaAudit *****
+MetaAudit.Close:ÐÐ°Ð±Ñ
+MetaAudit.Close_Tooltip:ÐÒ±Ð» ÐŽÐžÐ°Ð»ÐŸÐ³ÑÑÒ Ð°Ð»Ð°Ò£ÐŽÑ Ð¶Ð°Ð±Ñ
+MetaAudit.Title:ÐÐ°ÑÐ»ÑÒ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ
+#*********************
+#
+#***** Metadata *****
+Metadata.Element:Ð­Ð»ÐµÐŒÐµÐœÑ
+Metadata.Value:ÐÐ°Ò£ÑÐ·Ñ
+MetadataSet.Files:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœÑÑÒÑÐœÑÒ£ ÑÐ°Ð¹Ð»Ñ
+#**********************************
+#
+#***** MetadataSetDialog**********
+MetadataSetDialog.Title:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœÑÑÒÑÐœÑÒ£ Ð±Ð°ÑÒÐ°ÑÑ  
+MetadataSetDialog.Add_Title:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœÑÑÒÑÐœÑÒ£ ÒÐŸÑÑ  
+MetadataSetDialog.Current_Sets:ÐÐµÑÑÐ»Ð³ÐµÐœ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœÑÑÒÑ  
+MetadataSetDialog.Available_Sets:ÒÐŸÐ» Ð¶ÐµÑÐµÑÑÐœ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœÑÑÒÑ  
+MetadataSetDialog.Add:ÒÐŸÑÑ...  
+MetadataSetDialog.Add_Tooltip:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÒÐ° ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ Ð¶Ð°Ò£Ð° Ð¶ÐžÑÐœÑÑÒÑÐœ ÒÐŸÑÑ  
+MetadataSetDialog.New_Set:ÐÐ°Ò£Ð°...  
+MetadataSetDialog.New_Set_Tooltip:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ Ð¶Ð°Ò£Ð° Ð¶ÐžÑÐœÑÑÒÑÐœ ÒÒ±ÑÑ  
+MetadataSetDialog.Add_Set:ÒÐŸÑÑ  
+MetadataSetDialog.Add_Set_Tooltip:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ Ð¶ÐžÑÐœÑÑÒÑÐœ... ÒÐŸÑÑ  
+MetadataSetDialog.Browse:ÒÐ°ÑÐ°Ñ...  
+MetadataSetDialog.Browse_Tooltip:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÒÐ° ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ Ð¶Ð°Ò£Ð° Ð¶ÐžÑÐœÑÑÒÑÐœ ÒÐŸÑÑ  
+MetadataSetDialog.Edit:Ð¢Ò¯Ð·ÐµÑ ...  
+MetadataSetDialog.Edit_Tooltip:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœÑÑÒÑÐœ ÑÒ¯Ð·ÐµÑ  
+MetadataSetDialog.Remove:ÐÐŸÑ  
+MetadataSetDialog.Remove_Tooltip:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœÑÑÒÑÐœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐŽÐ°Ðœ Ð¶ÐŸÑ  
+MetadataSetDialog.Elements:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœÑÑÒÑÐœÑÒ£ ÑÐ»ÐµÐŒÐµÐœÑÑÐµÑÑ  
+
+#****************************************
+#
+#***** MetadataSetNamespaceClash warning***
+MetadataSetNamespaceClash.Title:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð°ÑÐ°ÑÐ»Ð°ÑÑ ÐºÐµÒ£ÑÑÑÐ³ÑÐœÐŽÐµÐ³Ñ ÐºÐžÐºÑÐ»Ð¶ÑÒ  
+MetadataSetNamespaceClash.Message:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑ ÑÐµÑÑ, ÑÑÐ· ÑÐ°Ò£Ð°Ð¿ Ð°Ð»ÒÐ°Ðœ ÒÐŸÑÑ ({0}) ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐŽÐ°ÒÑ Ð±Ð°Ñ Ð±ÑÑ Ð°ÑÐ°ÑÒÐ° ÑÓÐ¹ÐºÐµÑ, Ð°ÑÐ°Ñ ÐºÐµÒ£ÑÑÑÑÐ³ÑÐœÐµ ÐžÐµ. ÐÐ³ÐµÑ ÑÑÐ· ÐŸÑÑ Ð¶Ð°Ò£Ð° Ð¶ÐžÑÐœÑÑÒÑÑ ÒÐŸÑÑÐ°Ò£ÑÐ·, ÐµÑÐºÑ Ð¶ÐŸÐ¹ÑÐ»ÑÐ¿ ÐŸÐœÑÒ£ ÐŸÑÐœÐ°ÐœÐ° Ð¶Ð°Ò£Ð° ÒÐŸÑÑÐ»Ð°ÐŽÑ. Ð¡ÓÐ¹ÐºÐµÑ ÑÐ»ÐµÐŒÐµÐœÑÑÐµÑÑ Ð±ÐŸÐ»ÒÐ°Ðœ Ð¶Ð°ÒÐŽÐ°Ð¹ÐŽÐ°, ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐ³Ðµ Ð±ÐµÑÑÐ»Ð³ÐµÐœ Ð±Ð°ÑÐ»ÑÒ Ð±ÐµÐ»Ð³ÑÐ»ÐµÑ Ð¶Ð°Ò£Ð° Ð¶ÐžÑÐœÑÑÒÒÐ° Ð°ÑÑÑÑÑÐ»Ð°ÐŽÑ.  
+#*********************************************
+#
+#******** MetadataImportMappingPrompt *********
+MIMP.Add:ÒÐŸÑÑ
+MIMP.Add_Tooltip:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ Ð¶ÐžÑÐœÑÑÒÒÐ° ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ ÑÐ»ÐŒÐµÐœÑÑÐœ ÒÐŸÑÑ
+MIMP.Ignore:ÐÑÐµÐ¿ÑÐµÐŒÐµÑ
+MIMP.Ignore_Tooltip:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ Ð±Ò±Ð» ÑÐ»ÐµÐŒÐµÐœÑÑÐœ ÐµÑÐµÐ¿ÑÐµÐŒÐµÑ
+MIMP.Instructions:{0} ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ ÑÐ»ÐµÐŒÐµÐœÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÒÐ° Ð°Ð²ÑÐŸÐŒÐ°ÑÑÑ ÑÒ¯ÑÐŽÐµ ÐžÐŒÐ¿ÐŸÑÑÑÐ°Ð»Ð° Ð°Ð»ÐŒÐ°Ð¹ÐŽÑ. ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœÑÑÒÑÐœ ÑÐ°Ò£ÐŽÐ°ÐœÑÐ· Ð¶ÓÐœÐµ ÐœÐµÐŒÐµÑÐµ :\n(1), ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑ ÐŸÑÑ Ð¶ÐžÑÐœÑÑÒÒÐ° ÒÐŸÑÑ Ò¯ÑÑÐœ (ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ {0} Ð¶ÐžÑÐœÑÑÒÑÐ° Ð¶ÐŸÒ Ð±ÐŸÐ»ÒÐ°Ðœ Ð¶Ð°ÒÐŽÐ°Ð¹ÐŽÐ°),'ÒÐŸÑÑÐŽÑ' Ð±Ð°ÑÑÒ£ÑÐ· ÐœÐµÐŒÐµÑÐµ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑ {0} ÐŸÑÑ ÑÐ»ÐµÐŒÐµÐœÑÐºÐµ ÐžÐŒÐ¿ÐŸÑÑÑÐ°Ñ Ò¯ÑÑÐœ, Ð¶Ð°Ò£Ð° ÑÐ»ÐµÐŒÐµÐœÑ ÑÐ°Ò£ÐŽÐ°Ò£ÑÐ·ÐŽÐ° 'ÐÑÑÑÐºÑÑÑÑÐŽÑ' Ð±Ð°ÑÑÐœÑÐ·, or\n(3) ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ Ð±Ò±Ð» ÑÐ»ÐµÐŒÐµÐœÑÑÐœ ÒÐ°Ð±ÑÐ»ÐŽÐ°ÐŒÐ°Ñ.
+MIMP.Merge:ÐÑÑÑÐºÑÑÑÑ
+MIMP.Merge_Tooltip:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ ÑÐ»ÐµÐŒÐµÐœÑÑÐœ ÑÐ°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ Ð¶ÐžÑÐœÑÑÒÑÑÒ£ ÐºÓ©ÑÑÐµÑÑÐ»Ð³ÐµÐœ ÑÐ»ÐµÐŒÐµÐœÑÑÐœÐŽÐµ Ð±ÐµÐžÐœÐµÐ»ÐµÑ
+MIMP.Source_Element:ÐÐµÑÐ°-Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑ ÐŒÐ°ÒÑÐ°ÑÑÑ ÑÑÒÑÑ ÑÐ»ÐµÐŒÐµÐœÑÑ:
+MIMP.Target_Element:ÐÐµÑÐ°-Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑ ÐŒÐ°ÒÑÐ°ÑÑÑ ÑÐ»ÐµÐŒÐµÐœÑÑ:
+MIMP.Target_Set:ÐÐµÑÐ°-Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑ ÐŒÐ°ÒÑÐ°ÑÑÑ ÑÐµÑÑ:
+MIMP.Title:Ð¢Ð°Ð»Ð°Ð¿ ÐµÑÑÐ»Ð³ÐµÐœ ÐºÐžÐŒÑÐ»ÐŽÐ°ÑÐŽÑ Ð±ÑÑÑÐºÑÑÑÑ.
+#*****************************
+#
+#***** Mirroring *****
+Mirroring.ClearCache:ÐÑÑ Ð±ÑÑÐµÑ ÑÐ°Ð·Ð°ÑÑÐ°Ð»ÐŽÑ
+Mirroring.ClearCache_Tooltip:ÐÒ¯ÐºÑÐµÐ»Ð³ÐµÐœ ÑÐ°Ð¹Ð»ÐŽÐ°ÑÐŽÑÒ£ Ð±ÓÑÑÐœ Ð¶ÐŸÑ
+Mirroring.Download:ÐÒ¯ÐºÑÐµÑ
+Mirroring.Download_Tooltip:ÐÐ°Ò£Ð° Ð¶Ò¯ÐºÑÐµÑ Ð¶Ò±ÐŒÑÑÑÐœ Ð±Ð°ÑÑÐ°Ñ
+Mirroring.DownloadJob.Close:ÐÐ°Ð±Ñ
+Mirroring.DownloadJob.Close_Tooltip:ÐÑÑÐœÐŽÐ°Ð»ÑÑÐœ ÑÐŸÒÑÐ°ÑÐ° ÑÒ±ÑÑÐ¿, Ð±Ò±Ð» Ð¶Ò±ÐŒÐµÑÑÑ ÑÑÐ·ÑÐŒÐœÐµÐœ Ð¶ÐŸÑ
+Mirroring.DownloadJob.Downloading:ÐÒ¯ÐºÑÐµÑ {0}
+Mirroring.DownloadJob.Download_Complete:ÐÒ¯ÐºÑÐµÑ Ð°ÑÒÑÐ°Ð»ÐŽÑ
+Mirroring.DownloadJob.Download_Stopped:ÐÒ¯ÐºÑÐµÑ ÑÐ»ÑÐœÑÐ¿ ÒÐ°Ð»ÐŽÑ
+Mirroring.DownloadJob.Download_Progress:ÐÒ¯ÐºÑÐµÑ Ð¿ÑÐŸÐ³ÑÐµÑÑÑÐµ
+Mirroring.DownloadJob.Log:ÐÐŸÐ³ÑÐ°ÑÐŽÑ ÒÐ°ÑÐ°Ñ
+Mirroring.DownloadJob.Log_Tooltip:ÐÒ¯ÐºÑÐµÑ ÑÑÑÐ°Ð»Ñ ÐŒÓÐ»ÑÐŒÐµÑÑÑ ÒÐ°ÑÐ°Ñ
+Mirroring.DownloadJob.Log_Title:ÐÒ¯ÐºÑÐµÑ Ð¶ÑÑÐœÐ°Ð»Ñ  
+Mirroring.DownloadJob.Pause:Ò®ÑÑÐ»ÑÑ
+Mirroring.DownloadJob.Pause_Tooltip:ÐÒ±Ð» Ð¶Ò¯ÐºÑÐµÑ ÑÐŸÒÑÐ°ÑÑ
+Mirroring.DownloadJob.Resume:ÒÐ°Ð¹ÑÐ° Ð¶Ð°Ð»ÒÐ°ÑÑÑÑÑ
+Mirroring.DownloadJob.Resume_Tooltip:ÐÒ±Ð» Ð¶Ò¯ÐºÑÐµÑÐŽÑ ÒÐ°Ð¹ÑÐ° Ð¶Ð°Ð»ÒÐ°ÑÑÑÑÑ
+Mirroring.DownloadJob.Status:ÒÐ°ÑÐµÐ»ÑÐºÑÐµÑÐŽÑ{3} ÐµÑÐºÐµÑÑÑ{2}ÑÐ°Ð¹Ð»ÐŽÐ°ÑÑÐœÐ°Ðœ {1} Ð¶Ò¯ÐºÑÐµÐ»ÑÐœÐ³ÐµÐœ {0}
+Mirroring.DownloadJob.Waiting:ÐÐ°ÑÑÐ°ÑÐŽÑ ÑÐŸÒÑÐ°ÑÐ°-ÑÒ±ÑÑ
+Mirroring.DownloadJob.Waiting_User:ÐÐ°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÑÑÐœÑÒ£ ÒÐžÐŒÐ°Ð»ÑÐœ ÐºÒ¯ÑÑ
+Mirroring.Invalid_URL:ÐÐœÐ³ÑÐ·ÑÐ»Ð³ÐµÐœ URL Ð¶Ð°ÑÐ°ÐŒÑÑÐ·. ÐÓ©ÐœÐŽÐµÑÑÒ£ÑÐ·ÐŽÑ ÑÒ±ÑÐ°Ð¹ÐŒÑÐ·.
+Mirroring.Invalid_URL_Title:URL ÐŒÐµÐºÐµÐœ-Ð¶Ð°Ð¹Ñ ÐŽÒ±ÑÑÑ ÐµÐŒÐµÑ  
+Mirroring.Preferences:ÐÒ¯Ð¹ÑÐœÐµ ÐºÐµÐ»ÑÑÑÑÐ»ÐµÑ...
+Mirroring.Preferences_Tooltip:ÐÑÐŸÐºÑÐžÐ³Ðµ Ð¶ÓÐœÐµ/ÐœÐµÐŒÐµÑÐµ Ð¿ÑÐŸÐºÑÐž ÑÐµÑÐ²ÐµÑÑÐœ ÐºÒ¯Ð¹ÐœÐµ ÐºÐµÐ»ÑÑÑÑÐŽÑ ÑÐµÐŽÐ°ÐºÑÐžÑÐ»Ð°ÑÒÐ° ÑÒ±ÒÑÐ°Ñ ÐµÑÑ
+#*********************
+#
+#***** Missing EXEC *****
+MissingEXEC.Message:ÐÐ°Ð·Ð°Ñ Ð°ÑÐŽÐ°ÑÑÒ£ÑÐ·! ÐÐ³ÐµÑ ÑÑÐ· ÐÑÐžÐœÑÑÐŸÑÑÐœ ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°ÑÑÐœÑÒ£ Ð»ÐŸÐºÐ°Ð»ÑÐŽÑÒ Ð²ÐµÐ±-ÑÐµÑÐ²ÐµÑÑÐœÑÒ£ ÐŒÐµÐºÐµÐœ-Ð¶Ð°Ð¹ÑÐœ Ð°ÐœÑÒÑÐ°ÐŒÐ°ÑÐ°Ò£ÑÐ·, Ð¡ÑÐ· Ó©Ð·ÑÐœÑÐ·ÐŽÑÒ£ Ð¶Ð°Ò£Ð° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÑÒ£ÑÐ·ÐŽÑ ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐžÐœÑÐµÑÑÐµÐ¹Ñ ÐºÓ©ÐŒÐµÐ³ÑÐŒÐµÐœ ÐºÓ©ÑÐµ Ð°Ð»ÐŒÐ°Ð¹ÑÑÐ·. Ð¡ÑÐ· ÐŸÐœÑ ÒÓÐ·ÑÑ, ÑÓ©ÐŒÐµÐœÐŽÐµ ÐŸÑÐœÐ°Ð»ÑÑÒÐ°Ðœ ÐŒÓÑÑÐœÐŽÑÐº Ð°Ð»Ð°Ò£ÐŽÐ°. ÐÐµÐŒÐµÑÐµ ÐºÐµÐ¹ÑÐœÑÑÐµÐº, ÐŒÐµÐœÑÐŽÐµ Ð±Ð°Ð¹Ð»Ð°ÐœÑÑÑÑ ÑÐ°Ò£ÐŽÐ°Ð¿, ÐŸÐ¿ÑÐžÑÐ»Ð°ÑÒÐ°ÐºÑÑÑÐ¿ Ð¶Ð°ÑÐ°Ð¹ Ð°Ð»Ð°ÑÑÐ·. ÐÑÑÐµ ÑÐ°ÒÑÐ°Ò£ÑÐ·, ÐœÐ°ÒÑÐ· URL http:// Ð¿ÑÐŸÑÐŸÐºÐŸÐ»ÑÐœÐ°Ðœ Ð±Ð°ÑÑÐ°Ð»Ð°ÐŽÑ Ð¶ÓÐœÐµ ("gsdl" ÐÑÐžÐœÑÑÐŸÑÐœÑÒ£ Ð»ÐŸÐºÐ°Ð»ÑÐŽÑÒ ÐºÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÑÐµÑÐ²ÐµÑÑ Ò¯ÑÑÐœ ÐœÐµÐŒÐµÑÐµ "library"  Ð±Ð°ÑÒÐ° Ð²ÐµÐ±-ÑÐµÑÐ²ÐµÑÐ»ÐµÑ Ò¯ÑÑÐœ) ÐŸÑÑÐœÐŽÐ°Ð»Ð°ÑÑÐœ Ð°ÑÐ¿ÐµÐœ Ð°ÑÒÑÐ°Ð»ÑÑ ÑÒÑÐžÐŒÐ°Ð».  
+MissingEXEC.Title:ÐÑÐžÐœÑÑÐŸÑÐœ ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°ÑÑÐœÑÒ£ ÐŒÐµÐºÐµÐœ-Ð¶Ð°Ð¹ÑÐœÑÒ Ð¶ÐŸÒÑÑÒÑ.  
+#***** Missing EXEC_GS3 *****
+MissingEXEC_GS3.Message:ÐÐ°Ð·Ð°Ñ Ð°ÑÐŽÐ°ÑÑÒ£ÑÐ·! Ð¡ÑÐ· ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐÐœÑÐµÑÑÐµÐ¹ÑÑÐµ Ð¶Ð°Ò£Ð° Ð¶ÐžÐœÐ°ÒÑÐ°ÑÐŽÑ ÐºÓ©ÑÐµ Ð°Ð»Ð°ÑÑÐ·, ÐµÐ³ÐµÑ Ð¡ÑÐ· Tomcat Ð¶ÐµÐ»ÑÐ»ÑÐº Ð²ÐµÐ±-ÑÐµÑÐ²ÐµÑÐŽÐµ ÐÑÐžÐœÑÑÐŸÑÐœÒÐ° ÐŽÐžÑÐµÐºÑÐŸÑÐžÑ Ð¶ÐŸÐ»ÑÐœ ÑÐ°Ò£ÐŽÐ°Ò£ÑÐ·. ÐÒ±ÐœÑ ÐºÐµÐ»ÐµÑÑ ÐŒÓÑÑÐœÐŽÑ Ð¶ÐŸÐ»Ð°ÒÒÐ° ÐµÐœÐ³ÑÐ·Ðµ ÐŸÑÑÑÑÐ¿ ÐœÐµÐŒÐµÑÐµ ÐºÐµÑÑÑÐµÐº, ÐÐ¿ÑÐžÑ ÐŒÓÐ·ÑÑÑ Ð°ÑÒÑÐ»Ñ ÐÐ°Ð¹Ð»Ð°ÐœÑÑ Ð»Ð°ÒÐ°Ð±ÑÐœ ÑÐ°Ò£ÐŽÐ°Ð¿  ÒÐ°Ð·ÑÑ ÑÑÑÐµÒ£ÑÐ·. ÐÑÑÒ£ÑÐ·ÐŽÐµ ÑÐ°ÒÑÐ°Ò£ÑÐ·, ÑÑÐœÐ°Ð¹Ñ URL ÐŒÑÐœÐ° Ð¿ÑÑÐŸÐºÐŸÐ»ÐŒÐµÐœ "http://" Ð±Ð°ÑÑÐ°Ð»ÑÑ ÐºÐµÑÐµÐº. ÓÐŽÐµÐ¿ÐºÑ ÐŒÐµÐºÐµÐœÐ¶Ð°Ð¹ http://localhost:8080/greenstone3.  
+MissingEXEC_GS3.Title:ÐÑÐžÐœÑÑÐŸÑÐœ 3 ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°ÑÑÐœÑÒ£ ÐŒÐµÐºÐµÐœÐ¶Ð°Ð¹Ñ Ð¶ÐŸÒ  
+#***** Missing GLIServer *****
+MissingGLIServer.Message:ÐÐ°Ð·Ð°Ñ Ð°ÑÐŽÐ°ÑÑÒ£ÑÐ·! ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐÐœÑÐµÑÑÐµÐ¹ÑÑÑÒ£ Ð¶ÐžÐœÐ°ÒÑÐ°ÑÑÐŒÐµÐœ Ð¡ÑÐ· Ð¶Ò±ÐŒÑÑ ÑÑÑÐµÐ¹ Ð°Ð»ÐŒÐ°Ð¹ÑÑÐ·, ÐµÐ³ÐµÑ Ð¡ÑÐ· ÐÑÐžÐœÑÑÐŸÑÐœ "gliserver" ÑÑÑÑÒÑ ÑÐµÑÐ²ÐµÑÑÐœÑÒ£ ÑÐºÑÐžÐ¿Ñ ÐŒÐµÐºÐµÐœÐ¶Ð°Ð¹ÑÐœ ÐºÓ©ÑÑÐµÑÐ¿ÐµÑÐµÒ£ÑÐ·.  ÐÒ±ÐœÑ Ð¡ÑÐ· ÑÓ©ÐŒÐµÐœÐŽÐµ ÐŸÑÐœÐ°Ð»Ð°ÑÒÐ°Ðœ ÐºÐµÐ»ÐµÑÑ ÐŒÓÑÑÐœÐŽÑ Ð¶ÐŸÐ»Ð°ÒÑÐ° ÐœÐµÐŒÐµÑÐµ ÐºÐµÑÑÑÐµÐº, ÐÐ¿ÑÐžÑÒÐ° ÐºÑÑÑÐ¿, ÐÐ°Ð¹Ð»Ð°ÐœÑÑ Ð»Ð°ÒÐ°Ð±ÑÐœ ÑÐ°Ò£ÐŽÐ°Ð¿  ÒÐ°Ð·ÑÑ Ð¶Ð°ÑÐ°ÑÑÒ£ÑÐ·ÒÐ° Ð±ÐŸÐ»Ð°ÐŽÑ.  ÐÑÑÒ£ÑÐ·ÐŽÐµ ÑÐ°ÒÑÐ°Ò£ÑÐ·, ÑÑÐœÐ°Ð¹Ñ URL  "http://"-ÐŒÐµÐœ Ð±Ð°ÑÑÐ°Ð»Ð°Ð¿ Ð¶ÓÐœÐµ "gliserver"-ÐŒÐµÐœ Ð±ÑÑÑÑ ÐºÐµÑÐµÐº.  
+MissingGLIServer.Title:ÐÐÐ GLIServer ÑÐµÑÐ²ÐµÑÑÐœÑÒ£ ÐŒÐµÐºÐµÐœÐ¶Ð°Ð¹Ñ ÑÐ°Ð±ÑÐ»ÐŒÐ°ÐŽÑ  
+#***** Missing GSDL *****
+MissingGSDL.Message:ÐÑÐºÐµÑÑÑ! Ð¡ÑÐ· ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐÐœÑÐµÑÑÐµÐ¹ÑÑÑÒ Ð±Ð°ÑÐ»ÑÒ ÒÒ±ÑÑÐ»ÒÑÐ»Ð°ÑÑÐœÐ° ÐÑÐžÐœÑÑÐŸÑÐœÐœÑÒ£ Ð­Ð»ÐµÐºÑÑÐŸÐœÐŽÑÒ ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°ÑÑÐœÑÒ£ Ð»ÐŸÐºÐ°Ð»ÑÐŽÑÒ ÐºÓ©ÑÑÑÐŒÐµÑÑÐœÑÒ£ ÒÐŸÑÑÐŒÑÐ° ÒÒ±ÑÑÐ»ÒÑÑÑÐœÑÑÐ· Ð±Ð°ÑÐ° Ð°Ð»ÐŒÐ°Ð¹ÑÑÐ·. ÐÐ³ÐµÑ ÑÑÐ· ÒÐ°Ð±ÑÐ»ÐŽÐ°ÒÐ°Ðœ Ñ
+Ð°Ð±Ð°ÑÐ»Ð°ÐŒÐ°ÐœÑ ÒÐ°ÑÐµ ÐŽÐµÑÐµÒ£ÑÐ·, Ó©Ð· ÐžÐœÑÑÐ°Ð»ÑÑÐžÑÐœÑÐ·ÐŽÑ Ð¶ÓÐœÐµ ÑÐºÑÐžÐ¿Ñ ÑÐ°Ð¹Ð»ÑÐœÐŽÐ°ÒÑ ÐœÐµÐŒÐµÑÐµ ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐÐœÑÐµÑÑÐµÐ¹Ñ Ð±Ò±Ð¹ÑÑÒÑÐœÐŽÐ° ÐºÓ©ÑÑÐµÑÑÐ»Ð³ÐµÐœ Ð¶ÐŸÐ»ÐŽÑ ÑÐµÐºÑÐµÑÑÒ£ÑÐ·.  
+MissingGSDL.Title:ÐÑÐžÐœÑÑÐŸÑÐœ Ð¶ÐŸÐ»ÐŽÑÒ£ Ð±ÐŸÐ»ÐŒÐ°ÑÑ  
+#***** Missing PERL *****
+MissingPERL.Message:ÐÑÐºÐµÑÑÑ! PERL ÒÐŸÐœÐŽÑÑÐŒÐ°Ð¹ ÑÑÐ· Ð¶Ð°Ò£Ð° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°Ñ ÒÒ±ÑÐ° Ð°Ð»ÐŒÐ°ÑÑÐ·, Ð¶ÓÐœÐµ Ð±Ð°Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÐŽÑ ÐŽÐ°ÐŒÑÑÐ° Ð°Ð»ÐŒÐ°Ð¹ÑÑÐ·. ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐÐœÑÐµÑÑÐµÐ¹Ñ ÑÑÐ·ÐŽÑÒ£ Ð¶Ò¯Ð¹ÐµÒ£ÑÐ·ÐŽÐµÐœ PERL-ÐŽÑ ÑÐ°Ð±Ð° Ð°Ð»ÐŒÐ°ÐŽÑ. ÐÐ³ÐµÑ ÑÑÐ· ÒÐ°Ð±ÑÐ»ÐŽÐ°ÒÐ°Ðœ Ñ
+Ð°Ð±Ð°ÑÐ»Ð°ÐŒÐ°ÐœÑ ÒÐ°ÑÐµ ÐŽÐµÑÐµÒ£ÑÐ·, Ó©Ð· ÐžÐœÑÑÐ°Ð»ÑÑÐžÑÐœÑÐ·ÐŽÑ Ð¶ÓÐœÐµ ÑÐºÑÐžÐ¿Ñ ÑÐ°Ð¹Ð»ÑÐœÐŽÐ°ÒÑ ÐœÐµÐŒÐµÑÐµ ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐÐœÑÐµÑÑÐµÐ¹Ñ Ð±Ò±Ð¹ÑÑÒÑÐœÐŽÐ° ÐºÓ©ÑÑÐµÑÑÐ»Ð³ÐµÐœ Ð¶ÐŸÐ»ÐŽÑ ÑÐµÐºÑÐµÑÑÒ£ÑÐ·.  
+MissingPERL.Title:PERL-Ð³Ðµ Ð¶ÐŸÐ»ÐŽÑÒ£ Ð±ÐŸÐ»ÐŒÐ°ÑÑ
+#******* MissingImageMagick ********
+MissingImageMagick.Message:ÐÐ°Ð·Ð°Ñ Ð°ÑÐŽÐ°ÑÑÒ£ÑÐ·! ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐÐœÑÐµÑÑÐµÐ¹Ñ ImageMagickâÐœÑÒ£ ÑÐ°Ð±Ð° Ð°Ð»ÐŒÐ°ÐŽÑ, ÑÐŸÐœÐŽÑÒÑÐ°Ðœ ImagePlug Ð¶Ò±ÐŒÑÑ ÑÑÑÐµÐŒÐµÐ¹ÐŽÑ. ÐÐ³ÐµÑ, ÑÑÐ· Ð±ÐµÐ¹ÐœÐµÐ»ÐµÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑÑÐœ ÒÒ±ÑÒÑÒ£ÑÐ· ÐºÐµÐ»ÑÐµ, ImageMagick ÐžÐœÑÑÐ°Ð»ÑÑÐžÑÒ£ÑÐ·.
+MissingImageMagick.Title:ImageMagick Ð¶ÐŸÒ
+#*****************************
+#
+#***** New Session *****
+NewCollectionPrompt.Base_Collection:ÐÒ±Ð» ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ... Ð±Ð°Ð·Ð°Ð»Ð°Ò£ÑÐ·:
+NewCollectionPrompt.Base_Collection_Tooltip:ÐÐ°Ò£Ð° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ... Ð±Ð°Ð·Ð°Ð»Ð°Ñ Ò¯ÑÑÐœ Ð±Ð°Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÑÐ°Ò£ÐŽÐ°ÐœÑÐ·
+NewCollectionPrompt.Collection_Description:ÐÐ°Ð·ÐŒÒ±ÐœÑÐœÑÒ£ Ð¶Ð°Ð·Ð±Ð°ÑÑ:
+NewCollectionPrompt.Collection_Name:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°ÑÑ:
+NewCollectionPrompt.Collection_Scope_Personal:ÐÒ±Ð» Ð¶ÐµÐºÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ  
+NewCollectionPrompt.Collection_Scope_Personal_Tooltip:ÐÒ±Ð» ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÑÐµÐº ÐŸÐœÑ ÒÒ±ÑÒÐ°Ðœ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÑÑÐŒÐµÐœ Ð¶ÓÐœÐµ ÑÐŸÐ¿ÑÐ°ÒÑ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÑÑÐ»Ð°ÑÐŒÐµÐœ ÒÐ°ÐœÐ° Ó©Ð·Ð³ÐµÑÑÑÐ»Ðµ Ð°Ð»Ð°ÐŽÑ "all-collections-editor".  
+NewCollectionPrompt.Collection_Scope_Shared:ÐÒ±Ð» Ð¶ÐµÐºÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐµÐŒÐµÑ  
+NewCollectionPrompt.Collection_Scope_Shared_Tooltip:ÐÒ±Ð» ÐºÐŸÐ»Ð»ÐµÑÐžÑ ÑÐµÐº ÑÐŸÐ¿ÑÐ°ÒÑ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÑÑÐŒÐµÐœ ÒÐ°ÐœÐ° Ó©Ð·Ð³ÐµÑÑÑÐ»Ðµ Ð°Ð»Ð°ÐŽÑ "all-collections-editor".  
+NewCollectionPrompt.Error:ÐÐ°Ò£Ð° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐŽÐ° ÒÐ°ÑÐµÐ»ÑÐº.
+NewCollectionPrompt.Instructions:ÐÐ°Ò£Ð° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐŽÐ° ÒÒ±ÑÑ Ò¯ÑÑÐœ, ÑÓ©ÐŒÐµÐœÐŽÐµ ÐŸÑÐœÐ°Ð»ÑÑÒÐ°Ðœ Ð°Ð»Ð°Ò£ÐŽÐ°ÑÐŽÑ ÑÐŸÐ»ÑÑÑÑÒ£ÑÐ·.
+NewCollectionPrompt.NewCollection:ÐÐ°Ò£Ð° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ
+NewCollectionPrompt.Title:ÐÐ°Ò£Ð° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÒÒ±ÑÑ.
+NewCollectionPrompt.Title_Clash:Ð¡ÑÐ· ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÒ£ÑÐ·ÒÐ° ÑÐ°Ò£ÐŽÐ°ÒÐ°Ðœ Ð°ÑÐ°Ñ, Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÑÑÐ° Ð±Ð°Ñ. ÐÐ°Ð»ÒÑÑÑÑÑÐ°Ð¹ÑÒ Ð¿Ð°?
+NewCollectionPrompt.Title_Error:ÐÐ»Ð°Ò£ÐœÑÒ£ Ð°ÑÐ°ÑÑ ÑÐŸÐ»ÑÑÑÑÐ»ÑÑ ÐºÐµÑÐµÐº. Ð¢Ò¯Ð·ÐµÑÑÑÒ£ÑÐ·ÐŽÑ Ó©ÑÑÐœÐµÐŒÑÐ·.
+#***** New Folder OrFilePrompt *****
+NewFolderOrFilePrompt.Default_File_Name:Ð±ÐŸÑ
+NewFolderOrFilePrompt.Default_Folder_Name:Ð¶Ð°Ò£Ð° Ð¿Ð°Ð¿ÐºÐ°
+NewFolderOrFilePrompt.Destination_Name:ÐÐ°ÒÑÐ°ÑÑÑ Ð¿Ð°Ð¿ÐºÐ°
+NewFolderOrFilePrompt.File_Name:Ð€Ð°Ð¹Ð»ÑÒ£ Ð°ÑÑ
+NewFolderOrFilePrompt.File_Name_Tooltip:ÐÐ°Ò£Ð° ÑÐ°Ð¹Ð»ÐŽÑÒ Ð°ÑÑÐœ ÐµÐœÐ³ÑÐ·Ñ
+NewFolderOrFilePrompt.Folder_Name:ÐÐ°Ð¿ÐºÐ°ÐœÑÒ£ Ð°ÑÐ°ÑÑ
+NewFolderOrFilePrompt.Folder_Name_Tooltip:ÐÐ°Ò£Ð° Ð¿Ð°Ð¿ÐºÐ°ÒÐ° Ð°ÑÐœÓ©Ð»ÒÐ°Ðœ Ð°ÑÑÑ ÐµÐœÐ³ÑÐ·Ñ
+NewFolderOrFilePrompt.Title_Folder:ÐÐ°Ò£Ð° Ð¿Ð°Ð¿ÐºÐ°ÐœÑ ÒÒ±ÑÑ
+NewFolderOrFilePrompt.Title_File:ÐÐ°Ò£Ð° Ð±ÐŸÑ ÒÒ±Ð¶Ð°ÑÑÑ ÒÒ±ÑÑ
+#**********************
+#
+#******* OldWGET *******
+NoPluginExpectedToProcessFile.Message:ÐÑÐžÐœÑÑÐŸÑÐœ Ð¿Ð»Ð°Ð³ÐžÐœÐŽÐµÑÐŽÑÒ£ Ð±ÑÑÐµÑÑ ÐŽÐµ ÑÐ°Ð¹Ð»ÐŽÑ Ó©Ò£ÐŽÐµÑ Ò¯ÑÑÐœ ÑÐ°ÒÐ°Ð¹ÑÐœÐŽÐ°Ð»ÐŒÐ°ÒÐ°Ðœ "{0}". Ð€Ð°Ð¹Ð»ÐŽÑÒ£ ÐºÐµÒ£ÐµÐ¹ÑÑÐ»ÑÑ ÐŽÒ±ÑÑÑ ÐµÐºÐµÐœÐŽÑÐ³ÑÐœ ÑÐµÐºÑÐµÑÑÒ£ÑÐ·. ÐÐ³ÐµÑ ÐŸÐ» ÐŽÒ±ÑÑÑ Ð±ÐŸÐ»ÑÐ°, Ó©Ò£ÐŽÐµÑ Ò¯ÑÑÐœ UnknownPlug Ð¿Ð»Ð°Ð³ÐžÐœÑÐœ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÒ£ÑÐ·.  
+NoPluginExpectedToProcessFile.Title:ÐÐ»Ð°Ð³ÐžÐœÐŽÐµÑÐŽÑÒ£ ÐµÑÒÐ°ÑÑÑÑÐŽÐ° ÑÐ°Ð¹Ð»ÐŽÑ Ó©Ò£ÐŽÐµÑÐ³Ðµ Ð°ÑÐœÐ°Ð»ÐŒÐ°ÒÐ°Ðœ
+#***********************
+#
+#***** OpenCollectionDialog *****
+OpenCollectionDialog.Available_Collections:ÐÐµÑÐµÑÐ»ÑÐº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°Ñ
+OpenCollectionDialog.Description:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÐŽÑÒ£ Ð¶Ð°Ð·Ð±Ð°Ð»Ð°ÑÑ
+OpenCollectionDialog.Open:ÐÑÑ
+OpenCollectionDialog.Open_Tooltip:Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ»ÒÐ°Ðœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÐºÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐºÐµ Ð¶Ò¯ÐºÑÐµÑ
+OpenCollectionDialog.Title:ÐÑÐžÐœÑÑÐŸÑÐœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑÑÐœ Ð°ÑÑ  
+#**********************
+#
+#***** Options Pane inside CreatePane *****
+OptionsPane.Cancelled:- Ð°ÑÑÑÑÑÑÑÐ»ÐŽÑ  
+OptionsPane.LogHistory:Ð¢ÑÑÐºÐµÑÐ»ÐµÑ ÑÐ°ÑÐžÑ
+Ñ
+OptionsPane.Successful:ÑÓÑÑÑ
+OptionsPane.Scheduled:- ÐºÐµÐ·ÐµÐº  
+OptionsPane.Unknown:Ð±ÐµÐ»Ð³ÑÑÑÐ·
+OptionsPane.Unsuccessful:- ÑÓÑÑÑÐ·  
+#*******************
+#
+#***** Preferences *****
+Preferences:ÐÒ¯Ð¹ ÐºÐµÐ»ÑÑÑÑ  
+Preferences.Connection:ÐÑÑÐ»ÑÐºÑÐµÑ
+Preferences.Connection_Tooltip:ÐÑÐžÐœÑÑÐŸÑÐœ ÐºÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°ÑÐœÑÒ£ URL-ÑÐœ ÒÐŸÐœÐŽÑÑÑ Ð¶ÓÐœÐµ ÑÓÐ¹ÐºÐµÑ Ð¿ÑÐŸÐºÑÐž-Ð±ÑÑÐ»ÑÐºÑÐµÑÐŽÑ ÐºÐµÑÐºÑÐœÐŽÐµÑ  
+Preferences.Connection.GLIServer_URL:ÐÑÐžÐœÑÑÐŸÑÐœ ÑÐµÑÐ²ÐµÑÑÐœÑÒ£ URL-Ñ :  
+Preferences.Connection.GLIServer_URL_Tooltip:ÐÑÐžÐœÑÑÐŸÑÐœ ÑÐµÑÐ²ÐµÑÑÐœÑÒ£ "gliserver" CGI ÑÐºÑÐžÐ¿ÑÑÐŒÐµÐœ Ð±ÑÑÐ³Ðµ URL-Ñ  
+Preferences.Connection.Library_Path:ÐºÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ° Ð¶ÐŸÐ»Ñ:  
+Preferences.Connection.Library_Path_GS3:ÐÑÐžÐœÑÑÐŸÑÐœÑÒ£ Ð²ÐµÐ± Ð¶ÐŸÐ»Ñ:
+Preferences.Connection.Library_Path_Tooltip:ÐÑÐžÐœÑÑÐŸÑÐœ Ð²ÐµÐ±ÑÐµÑÐ²ÐµÑÑÐœÑÒ£ URL  
+Preferences.Connection.Library_Path_Tooltip_GS3:ÐÑÐžÐœÑÑÐŸÑÐœ Ð²ÐµÐ±ÑÐµÑÐ²ÐµÑÑÐœÑÒ£ URL ÐŒÐµÐºÐµÐœ Ð¶Ð°Ð¹Ñ  
+Preferences.Connection.Library_Path_Connection_Failure:ÐÐ°Ð¹Ð»Ð°ÐœÑÑ ÒÐ°ÑÐµÑÑ. ÐÑÐžÐœÑÑÐŸÑÐœ ÑÐµÑÐ²ÐµÑÑ {0} Ò¯ÑÑÐœ ÒÐŸÑÑÐ»ÒÐ°ÐœÑÐœ ÑÐµÐºÑÐµÑÑÒ£ÑÐ·.  
+Preferences.Connection.ProgramCommand:ÐÐ»ÐŽÑÐœÑÐœ ÒÐ°ÑÐ°Ñ Ð±Ò±Ð¹ÑÑÒÑ:
+Preferences.Connection.ProgramCommand_Tooltip:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ Ð°Ð»ÐŽÐ°-Ð°Ð»Ð° ÒÐ°ÑÐ°ÑÒÐ° ÒÐŸÐ»ÐŽÐ°ÐœÐ°ÑÑÐœ, Ð±Ð°ÒÐŽÐ°ÑÐ»Ð°ÐŒÐ°ÐœÑ ÒÐŸÑÑ Ð±Ò±Ð¹ÑÑÒÑ. ÒÐ°Ð¶ÐµÑ Ð¶ÐµÑÐŽÐµ %1-ÐŽÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑÒ£ ÐŒÐµÐºÐµÐœ-Ð¶Ð°Ð¹Ñ Ð¶ÓÐœÐµ ÑÓ©Ð·ÐŽÑÐº  Ð±ÐµÐ»Ð³Ñ Ò¯ÑÑÐœ. ÐÐµÐ»Ð³ÑÑÑÒÑÐœ ÑÐµÑÑÐœÐŽÐµ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÐŽÑ Ò±ÐŒÑÑÐ¿Ð°Ò£ÑÐ·.
+Preferences.Connection.Proxy_Host:ÐÑÐŸÐºÑÐž-Ñ
+ÐŸÑÑ
+Preferences.Connection.Proxy_Host_Tooltip:Ð¡ÑÐ·ÐŽÑÐœ Ð¿ÑÐŸÐºÑÐž-ÑÐµÑÐ²ÐµÑÑÒ£ÑÐ·ÐŽÑÒ£ ÐŒÐµÐºÐµÐœ Ð¶Ð°Ð¹ÑÐœ ÐºÓ©ÑÑÐµÑÑÒ£ÑÐ·  
+Preferences.Connection.Proxy_Port:ÐÑÐŸÐºÑÐž Ð¿ÐŸÑÑ  
+Preferences.Connection.Proxy_Port_Tooltip:Ð¡ÑÐ·ÐŽÑÐœ Ð¿ÑÐŸÐºÑÐž-ÑÐµÑÐ²ÐµÑÑÐœÑÐ·ÐŽÑÒ£ Ð¿ÐŸÑÑÑÐœÑÒ£ ÑÐµÑÑÑÐº ÑÐ°ÐœÑ
+Preferences.Connection.Servlet:Ð¡ÐµÑÐ²Ð»ÐµÑ ÐŒÐŸÐŽÑÐ»Ñ:
+Preferences.Connection.Servlet_Tooltip:Ð¡ÐµÑÐ²Ð»ÐµÑ ÐŒÐŸÐŽÑÐ»Ñ  ÑÑÐ·ÐŽÑÒ£ ÑÐ°Ð¹ÑÑÒ£ÑÐ·ÐŽÑ ÒÐ°ÑÐ°Ñ Ò¯ÑÑÐœ ÒÐŸÐ»ÐŽÐ°ÐœÐ°Ð»Ð°ÐŽÑ
+Preferences.Connection.Servlet_Tooltip2:ÐŸÐ»Ð°ÑÐŽÑ ÐºÓ©ÑÐµ Ð°Ð»Ð°ÐŽÑ
+Preferences.Connection.Site:Ð¡Ð°Ð¹Ñ:
+Preferences.Connection.Site_Tooltip:Ð¡ÑÐ· Ð¶Ò±ÐŒÑÑ ÑÑÑÐµÐ³ÑÒ£ÑÐ· ÐºÐµÐ»ÐµÑÑÐœ ÑÐ°Ð¹Ñ
+Preferences.Connection.Use_Proxy:ÐÑÐŸÐºÑÐž-Ð¶Ð°Ð»ÒÐ°ÑÐŽÑ ÒÐŸÐ»ÐŽÐ°ÐœÐ°Ð¹ÑÒ  Ð¿Ð°?
+Preferences.General:ÐÐ°Ð»Ð¿Ñ
+Preferences.General_Tooltip:ÐÐµÐ¹Ð±ÑÑ Ð¶Ð°Ð»Ð¿Ñ Ð¶ÐµÒ£ÑÐ»ÐŽÑÐºÑÐµÑÐŽÑ ÐŸÑÐœÐ°ÑÑ.
+Preferences.General.Email:ÐÐ°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÑÑÐœÑÒ£ ÑÐ»ÐµÐºÑÑÐŸÐœÐŽÑÒ Ð¿ÐŸÑÑÐ°ÑÑ
+Preferences.General.Email_Tooltip:Ð­Ð»ÐµÐºÑÑÐŸÐœÐŽÑÒ Ð¿ÐŸÑÑÐ°ÐœÑÒ£ Ð±Ò±Ð» ÐŒÐµÐºÐµÐœ-Ð¶Ð°Ð¹Ñ, ÐÐÐ-ÑÑÒ ÐºÓ©ÐŒÐµÐ³ÑÐŒÐµÐœ ÒÒ±ÑÑÐ»ÒÐ°Ðœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÐŽÑÒ£ Ð±Ð°ÑÐ»ÑÒÑ Ò¯ÑÑÐœ Ð°Ð²ÑÐŸÐŒÐ°ÑÑÑ ÑÒ¯ÑÐŽÐµ Ð¿Ð°Ð¹ÐŽÐ°Ð»ÑÐœÑÐ»Ð°ÐŽÑ
+Preferences.General.Font:ÐšÑÐžÑÑ:
+Preferences.General.Font_Tooltip:ÐÐÐÑÐµ ÒÐŸÐ»ÐŽÐ°ÐœÑÐ»Ð°ÑÑÐœ ÑÑÐžÑÑ.
+Preferences.General.Interface_Language:ÐÐœÑÐµÑÑÐµÐ¹Ñ ÑÑÐ»Ñ:
+Preferences.General.Interface_Language_Tooltip:... ÐºÓ©ÑÑÐµÑÑÐ»ÐµÑÑÐœ ÐžÐœÑÐµÑÑÐµÐ¹ÑÑÑ Ð±Ð°ÑÒÐ°ÑÑÐŽÑ Ð¶ÓÐœÐµ ÒÐ°Ð¶ÐµÑÑÑÑÐµÐº ÑÑÐ»ÑÐœ ÑÐ°Ò£ÐŽÐ°Ñ.
+Preferences.General.Restart_Required:ÐÐœÑÐµÑÑÐµÐ¹ÑÑÑ ÑÐŸÐ»ÑÒ Ð¶Ð°Ò£Ð°ÑÑÑ Ò¯ÑÑÐœ ÐÐÐ-ÑÑ ÒÐ°Ð¹ÑÐ° ÒÐŸÑÑ ÐºÐµÑÐµÐº.
+Preferences.General.Manual_Restart_Required:ÐÐ°Ð¿ÑÐ°Ð»ÑÐŒÐŽÑ ÒÐŸÐ»ÐŽÐ°ÐœÑ Ò¯ÑÑÐœ GLI ÐºÐ»ÐžÐµÐœÑÑÐœ ÒÐ°Ð¹ÑÐ° ÒÐŸÑÑÒ£ÑÐ·  
+Preferences.General.Show_File_Size:Ð€Ð°Ð¹Ð»ÐŽÑÒ£ Ó©Ð»ÑÐµÐŒÐŽÐµÑÑÐœ ÐºÓ©ÑÑÐµÑÑ
+Preferences.General.Show_File_Size_Tooltip:Ð€Ð°Ð¹Ð»ÐŽÑÒ£ Ó©Ð»ÑÐµÐŒÐŽÐµÑÑÐœ Ð¶Ò±ÐŒÑÑ ÐºÐµÒ£ÑÑÑÑÐ³ÑÐœÐµ ÐºÑÑÑ Ð¶ÓÐœÐµ ÑÐ°Ð¹Ð»ÐŽÑÒ Ð°ÒÐ°ÑÑÐ°ÑÐŽÑÒ£ Ð¶Ð°ÐœÑÐœÐŽÐ° ÐºÓ©ÑÑÐµÑÑÒ£ÑÐ·.
+Preferences.General.View_Extracted_Metadata:ÐÐµÐ»Ð³ÑÐ»ÐµÐœÐ³ÐµÐœ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑ ÑÐ°ÐœÑÑÑÑÑÑ
+Preferences.General.View_Extracted_Metadata_Tooltip:ÐÑÐžÐœÑÑÐŸÑÐœ Ð¿Ð»Ð°Ð³ÐžÐœÐŽÐµÑÑÐŒÐµÐœ Ð°Ð»ÑÐœÒÐ°Ðœ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑ Ð±Ð°Ð¹ÑÑÐ° ÑÐ°ÐœÑÑÑÑÑÑÒÐ°Ðœ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ ÑÑÐ·ÑÐŒÑÐœÐŽÐµ ÐºÓ©ÑÑÐµÑÑ.  
+Preferences.Mode:ÓÐŽÑÑ
+Preferences.Mode_Tooltip:ÐÐ¿ÐµÑÐ°ÑÐžÑÐœÑÒ£ ÑÓÐ¹ÐºÐµÑ ÐŽÐµÒ£Ð³ÐµÐ¹ÑÐœ ÑÐ°Ò£ÐŽÐ°Ñ Ò¯ÑÑÐœ ÐºÑÑÐµÑÑÐœ Ð¶ÐµÑÐŽÐµ Ð±Ð°ÑÑÒ£ÑÐ·.
+Preferences.Mode.Assistant:ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ° ÐºÓ©ÐŒÐµÐºÑÑÑÑ
+Preferences.Mode.Assistant_Description:ÐÑÐžÐœÑÑÐŸÑÐœ ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°ÑÑ ÐÐœÑÐµÑÑÐµÐ¹ÑÑÐœÑÒ£ ÐœÐµÐ³ÑÐ·Ð³Ñ ÒÒ±ÑÐ°Ð»ÐŽÐ°ÑÑÐœÐ° Ð±Ð°ÑÑ ÐŒÒ¯ÐŒÐºÑÐœÐŽÑÐ³ÑÐœ Ð°Ð»Ñ Ò¯ÑÑÐœ, ÐŸÑÑ ÒÐŸÐœÐŽÑÑÒÑÐ»Ð°ÑÐŽÑ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÒ£ÑÐ·. ÒÒ±Ð¶Ð°ÑÑÐ°ÑÐŽÑ Ð¶ÓÐœÐµ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÒÐ° ÒÐŸÑÑ, ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÐŽÑ ÒÒ±ÑÑ Ð¶ÓÐœÐµ Ð°Ð¹ÐœÐ°Ð»ÑÒ ÒÒ±ÑÑÐ»ÑÐŒÐŽÐ°ÑÑ Ð±Ð°Ñ Ð¶Ð°Ò£Ð° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÐŽÑ ÒÒ±ÑÑ.  
+Preferences.Mode.Librarian:ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°ÑÑ
+Preferences.Mode.Librarian_Description:ÐÒ±Ð» ÐœÒ±ÑÒÐ°Ñ ÐÑÐžÐœÑÑÐŸÑÐœ ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐÐœÑÐµÑÑÐµÐ¹ÑÑÑ ÐŽÒ±ÑÑÑ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÐŽÑ Ð¶Ò¯Ð·ÐµÐ³Ðµ Ð°ÑÑÑÑÒÐ° ÐŒÒ¯ÐŒÐºÑÐœÐŽÑÐº Ð±ÐµÑÐµÐŽÑ: Ð¶Ð°Ò£Ð° Ð¶ÐžÐœÐ°ÒÑÐ°ÑÐŽÑ Ð¶Ð°ÑÐ°Ñ Ð¶ÓÐœÐµ Ð¶ÐŸÐ±Ð°Ð»Ð°Ñ, Ð¶ÐžÐœÐ°ÒÑÐ°ÑÒÐ° ÒÒ±Ð¶Ð°ÑÑÐ°Ñ ÐŒÐµÐœ ÐŒÐµÑÐ°ÐŽÐµÑÐµÐºÑÐµÑÐŽÑ ÒÐŸÑÑ, Ð¶Ð°Ò£Ð° Ð¶ÐžÐœÐ°ÒÑÐ°ÑÐŽÑ Ð¶ÐŸÐ±Ð°Ð»Ð°Ñ ÐŒÐµÐœ Ð¶ÐžÐœÐ°ÒÑÐ°ÑÐŽÑ ÒÒ±ÑÑ.
+Preferences.Mode.Expert:Ð¡Ð°ÑÐ°Ð¿ÑÑ
+Preferences.Mode.Expert_Description:ÐÒ±Ð» ÒÒ±ÑÑÐ»ÒÑ ÐÑÐžÐœÑÑÐŸÑÐœ ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐÐœÑÐµÑÑÐµÐ¹ÑÑÐœ ÑÓÐ¶ÑÑÐžÐ±ÐµÐ»Ñ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÒÐ° ÐŒÒ¯ÐŒÐºÑÐœÐŽÑÐº Ð±ÐµÑÐµÐŽÑ ÐÑÐžÐœÑÑÐŸÑÐœÐŽÑ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑ ÑÓÐ¶ÑÑÐžÐ±ÐµÑÑ Ð±Ð°Ñ Ð¶ÓÐœÐµ ÑÐ·ÐŽÐµÑ ÐŒÑÐœÐŽÐµÑÑÐœ ÐŸÑÑÐœÐŽÐ°Ð¹ Ð°Ð»Ð°ÑÑÐœ, ÐžÐœÑÐµÑÐ¿ÑÐµÑÐ°ÑÐžÑ Ð¶ÓÐœÐµ PERL-ÑÐºÑÐžÐ¿ÑÑÐµÐœ ÑÑÒÒÐ°Ðœ Ð°ÒÐ°ÑÐ»Ð°ÑÐŽÑ Ð¶Ó©ÐœÐŽÐµÐ¹ Ð°Ð»Ð°ÑÑÐœ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÑÑÐ»Ð°ÑÒÐ° Ò±ÑÑÐœÑÐ»Ð°ÐŽÑ. ÐÒ±Ð» ÐºÐµÐ·ÐŽÐµ ÐÑÐžÐœÑÑÐŸÑÐœ ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐÐœÑÐµÑÑÐµÐ¹ÑÑÐœÑÒ£ Ð±Ð°ÑÐ»ÑÒ ÒÒ±ÑÑÐ»ÑÐŒÐŽÐ°ÑÑ ÒÐŸÐ» Ð¶ÐµÑÐµÑÐ»ÑÐº  
+Preferences.Warnings:ÐÑÐºÐµÑÑÑÐ»ÐµÑ
+Preferences.Warnings_Tooltip:ÓÑÑÒ¯ÑÐ»Ñ ÐŽÐžÐ°Ð»ÐŸÐ³ÑÑÒ ÐµÑÐºÐµÑÑÐ»ÐµÑÐŽÑ Ð±Ð»ÐŸÐºÑÐ°Ñ ÐœÐµÐŒÐµÑÐµ ÑÒ±ÒÑÐ°Ñ ÐµÑÑ
+Preferences.Workflow:Ð¢ÐµÑ
+ÐœÐŸÐ»ÐŸÐ³ÐžÑÐ»ÑÐº Ð¿ÑÐŸÑÐµÑÑ
+Preferences.Workflow_Tooltip:ÐÐœÑÐµÑÑÐµÐ¹ÑÑÑÐœ ÑÐµÑ
+ÐœÐŸÐ»ÐŸÐ³ÐžÑÐ»ÑÐº Ð¿ÑÐŸÑÐµÑÑÑÐœÑÒ£ ÐŽÐžÐ·Ð°Ð¹ÐœÑ: ÐŒÐ°Ð·ÐŒÒ±ÐœÑ ÒÐŸÐ» Ð¶ÐµÑÐµÑÐ»ÑÐº Ð±ÐŸÐ»Ð°ÑÑÐœ Ð¶ÐžÑÐœÑÑÒ
+Preferences.Workflow.Predefined.Label:ÐÐ»ÐŽÑ-Ð°Ð»Ð° Ð°ÐœÑÒÑÐ°Ð»ÒÐ°Ðœ ÑÐµÑ
+ÐœÐŸÐ»ÐŸÐ³ÐžÑÐ»ÑÒ Ð¿ÑÐŸÑÐµÑÑÑÐµÑ
+Preferences.Workflow.Title:Ò°ÒÑÐŒÐŽÑ ÑÒ±ÒÑÐ°Ñ ÐµÑÐµÑÑÐœ Ð°Ð»Ð°Ò£ÐŽÑ ÑÐµÐºÑÐµÑÑ
+#**********************
+#
+#**** PreviewCommandDialog *******
+PreviewCommandDialog.Instructions:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ Ð°Ð»ÐŽÑÐœ-Ð°Ð»Ð° ÒÐ°ÑÐ°Ñ Ð±Ð°ÒÐŽÐ°ÑÐ»Ð°ÐŒÐ°ÑÑÐœ Ð°ÑÑ Ò¯ÑÑÐœ Ð±Ð°ÒÐŽÐ°ÑÐ»Ð°ÐŒÐ°ÐœÑ ÐµÐœÐ³ÑÐ·ÑÒ£ÑÐ·. %1 âÐŽÑ Ð±ÐµÐ»Ð³Ñ-ÑÑÒÑÐœ ÑÐµÑÑÐœÐŽÐµ, ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°Ñ ÐŒÐµÐºÐµÐœ-Ð¶Ð°Ð¹Ñ Ð¶ÓÐœÐµ ÑÑÐ·ÐŽÑÐº Ð±ÐµÐ»Ð³ÑÐ»ÐµÑ Ò¯ÑÑÐœ ÒÐ°Ð¶ÐµÑ Ð¶ÐµÑÐŽÐµ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÐŽÑ Ò±ÐŒÑÑÐ¿Ð°Ò£ÑÐ·.
+PreviewCommandDialog.Title:ÐÐ»ÐŽÑÐœ-Ð°Ð»Ð°ÒÐ°ÑÐ°Ñ Ð±Ò±Ð¹ÑÑÒÑ
+
+ShowPreviousCollection.Title:ÐÑÑÐµÑÐµÐº Ð¶ÐžÐœÐ°ÒÑÐ°Ð»ÒÐ°Ðœ  ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÒÐ°ÑÐ°Ñ.  
+ShowPreviousCollection.Message:ÒÐ°ÑÐµÐ»ÑÐº ÑÑÑÐœÐŽÐ°ÒÐ°ÐœÐŽÑÒÑÐ°Ðœ, ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÒÒ±ÑÑÐ»Ð° Ð°Ð»ÐŒÐ°ÐŽÑ. Ð¡ÑÐ· ÐµÑÑÐµÑÐµÐº Ð¶ÐžÐœÐ°ÒÑÐ°Ð»ÒÐ°Ðœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐœÑ ÒÐ°ÑÐ°ÑÐŽÐ°ÑÑÐ·.  
+#**********************
+#
+#***** Remote Greenstone Server *****
+RemoteGreenstoneServer.Authentication_Message:ÐÑÐžÐœÑÑÐŸÑÐœÒÐ° Ð¿Ð°ÑÐŸÐ»ÑÒ£ÑÐ·ÐŽÑ Ð¶ÓÐœÐµ ÑÑÐ·ÐŽÑÒ£ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÑÑ ÑÐµÑÑÐœÐŽÐµÐ³Ñ Ð°ÑÑÒ£ÑÐ·ÐŽÑ ÐµÐœÐ³ÑÐ·ÑÒ£ÑÐ·:  
+RemoteGreenstoneServer.Authentication_Message_gs3:Ð¡Ð°Ð¹Ñ Ò¯ÑÑÐœ Greenstone Ð¿Ð°ÑÐŸÐ»ÑÐœ Ð¶ÓÐœÐµ ÑÑÐ·ÐŽÑÒ£ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÑÑ ÑÐµÑÑÐœÐŽÐµÐ³Ñ Ð°ÑÑÒ£ÑÐ·ÐŽÑ ÐµÐœÐ³ÑÐ·ÑÒ£ÑÐ·:  
+RemoteGreenstoneServer.Error:ÐÒ±Ð¹ÑÑÒÑÐœ ÐŸÑÑÐœÐŽÐ°Ñ ÐºÐµÐ·ÑÐœÐŽÐµ ÐÑÐžÐœÑÑÐŸÑÐœÑÒ£ ÑÑÐºÑ ÑÐµÑÐ²ÐµÑÑÐœÐŽÐµ ÒÐ°ÑÐµÐ»ÑÐº ÑÑÑÐœÐŽÐ°ÐŽÑ:\n{0-Error message}  
+RemoteGreenstoneServer.Error_Title:ÐÑÐžÐœÑÑÐŸÑÐœÑÒ£ ÑÑÐºÑ ÑÐµÑÐ²ÐµÑÑÐœÐŽÐµÐ³Ñ ÒÐ°ÑÐµÐ»ÑÐº  
+RemoteGreenstoneServer.Progress:ÐÑÐžÐœÑÑÐŸÑÐœÑÒ£ ÑÑÐºÑ ÑÐµÑÐ²ÐµÑÑÐœÐŽÐµÐ³Ñ Ð¿ÑÐŸÐ³ÑÐµÑÑ:  
+RemoteGreenstoneServer.Steal_Lock_Message:ÐÒ±Ð» ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÒÓÐ·ÑÑ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÑÑÐŒÐµÐœ Ð±Ð»ÐŸÐºÑÐ°Ð»ÒÐ°Ðœ '{0-User name}'.\nÐ¡ÑÐ· ÐŸÑÑ Ð±Ð»ÐŸÐºÑÐ°ÑÑÑ ÑÐ°Ð¹Ð»ÐŽÑ Ð±Ð°ÒÑÐ»Ð°ÑÒÐ° Ð°Ð»ÒÑÐœÑÐ· ÐºÐµÐ»Ðµ ÐŒÐµ(Ó©Ð·Ð³ÐµÑÑÑÐ»ÐµÑ Ð¶ÐŸÐ¹ÑÐ»Ð°ÑÑÐœÐŽÑÒÑÐ°Ðœ Ò±ÑÑÐœÑÐ»ÐŒÐ°Ð¹ÐŽÑ)?  
+#**********************
+#
+#***** Rename Prompt *****
+RenamePrompt.Name:ÐÑÐ°ÑÑ:  
+RenamePrompt.Title:Ð€Ð°Ð¹Ð»ÐŽÑÐœ/Ð¿Ð°Ð¿ÐºÐ°ÐœÑÒ£ Ð°ÑÑÐœ Ó©Ð·Ð³ÐµÑÑÑ  
+#**********************
+#
+#***** Replace Prompt *****
+ReplacePrompt.Title:Ð€Ð°Ð¹Ð»ÐŽÑ ÐœÐµÐŒÐµÐœ Ð°ÑÑÑÑÑÑ..  
+#**********************
+#
+#***** Save Collection Box *****
+SaveCollectionBox.File_Name:ÐÐŒÑ Ð€Ð°Ð¹Ð»Ð°
+SaveCollectionBox.Files_Of_Type:Ð€Ð°Ð¹Ð»ÐŽÐ°ÑÐŽÑÒ£ ÑÒ¯ÑÐ»ÐµÑÑ:
+SaveCollectionBox.Look_In:ÒÐ°ÑÐ°Ñ:
+#**********************
+#
+#***** Save Progress Box *******
+SaveProgressDialog.Title:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÐŽÑ ÑÐ°ÒÑÐ°Ñ
+#*******************************
+#
+Server.QuitManual:ÐÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°Ð»ÑÒ ÐžÐœÑÐµÑÑÐµÐ¹Ñ ÐºÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°ÐœÑÒ£ \nÐ»ÐŸÐºÐ°Ð»ÑÐŽÑÐº ÑÐµÑÐ²ÐµÑÑÐœ Ð°Ð²ÑÐŸÐŒÐ°ÑÑÑ ÑÒ¯ÑÐŽÐµ Ð¶Ð°Ð±Ð° Ð°Ð»ÐŒÐ°ÐŽÑ. Ð¡ÐµÑÐ²ÐµÑÐŽÐµÐœ ÑÑÒÑÐ¿\nÒÐŸÐ»ÐŒÐµÐœ, Ð¶ÐŸÒÐ°ÑÒÑ ÐŸÐœ Ð±Ò±ÑÑÑÑÐ°ÒÑ\nÑÑÐ·ÑÐ»ÒÐ°Ðœ ÐºÐµÑÐºÑÐœÐµ Ð±Ð°ÑÑÒ£ÑÐ·, ÐŸÐŽÐ°Ðœ ÐºÐµÐžÑÐœ ÐŸÑÑ ÐŽÐžÐ°Ð»ÐŸÐ³ÑÐ°ÒÑ ÐÐ Ð±Ð°ÑÑÒ£ÑÐ·.
+Server.QuitTimeOut:ÐÑÐžÐœÑÑÐŸÑÐœÐœÑÒ£ Ð»ÐŸÐºÐ°Ð»ÑÐŽÑÒ ÐºÑÑÐ°Ð¿Ñ
+Ð°ÐœÐ°ÑÑ Ð°Ð²ÑÐŸÐŒÐ°ÑÑÑ Ð¶Ð°Ð±Ñ Ð±Ò±Ð¹ÑÑÒÑÐœÐ°\nÐ°Ð»Ð¿ÑÑ ÑÐµÐºÑÐœÐŽ ÑÑÑÐœÐŽÐµ Ð¶Ð°ÑÐ°Ð¿ Ð±ÐµÑÐŒÐµÐŽÑ. Ð¡ÑÐ· ÐºÐµÐ»ÐµÑÑ ÐŒÐžÐœÑÑ ÑÑÑÐœÐŽÐµ ÐºÒ¯ÑÐºÑÒ£ÑÐ· ÐºÐµÐ»ÐµÐŽÑ ÐŒÐµ?  
+
+#
+#***** Sources *****
+Source.General:ÐÐ°Ð»Ð¿Ñ
+#**********************
+#
+#***** Trees *****
+Tree.DownloadedFiles:ÐÐ»ÑÐœÒÐ°Ðœ ÑÐ°Ð¹Ð»ÐŽÐ°Ñ  
+Tree.Files:ÑÐ°Ð¹Ð»ÐŽÐ°Ñ
+Tree.Home:ÐšÑÒÑÐ· Ð¿Ð°Ð¿ÐºÐ°ÑÑ ({0})
+Tree.Root:Ð€Ð°Ð¹Ð»ÐŽÑÒ£ Ð»ÐŸÐºÐ°Ð»ÑÐŽÑÒ ÐºÐµÒ£ÑÑÑÑÐ³Ñ
+Tree.World:ÐÑÐžÐœÑÑÐŸÑÐœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°ÑÑ
+#***********************
+#
+#***** Warning Dialog *****
+WarningDialog.Dont_Show_Again:ÐÒ±Ð» ÐµÑÐºÐµÑÑÑÐŽÑ ÒÐ°Ð¹ÑÐ° ÐºÓ©ÑÑÐµÑÐ¿ÐµÑ
+WarningDialog.Dont_Show_Again_Message:ÐÒ±Ð» Ñ
+Ð°Ð±Ð°ÑÐ»Ð°ÐŒÐ°ÐœÑ ÒÐ°Ð¹ÑÐ° ÐºÓ©ÑÑÐµÑÐ¿ÐµÑ
+WarningDialog.Invalid_Value:Ð¡ÑÐ· Ð±ÐµÐ»Ð³ÑÐ»ÐµÑ Ð°Ð»Ð°Ò£ÑÐœÐ° ÐµÐœÐ³ÑÐ·Ð³ÐµÐœ Ð±ÐµÐ»Ð³ÑÒ£ÑÐ·,\n ÐºÓ©ÑÑÐµÑÑÐ»Ð³ÐµÐœ ÒÐ°ÑÐžÐµÑÑÐµÑ Ò¯ÑÑÐœ Ð¶Ð°ÑÐ°ÐŒÑÑÐ·
+WarningDialog.Value:ÐÐµÐ»Ð³ÑÐœÑ ÐµÐœÐ³ÑÐ·Ñ:
+#
+#****** WGet *****
+WGet.Prompt:WGet ÐÐ¹ÐœÐ°Ð»Ñ ÐºÐ»ÐžÐµÐœÑ
+#
+#****** Workflows *****
+Workflow.AllPanels:ÐÐ°ÑÐ»ÑÒ Ð¿Ð°ÐœÐµÐ»ÐŽÐµÑ
+Workflow.LocalSourceCollectionBuilding:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑÐ»Ð°Ñ ÒÒ±ÑÑÐ»ÒÐ°Ð»Ð°ÑÑÐœÑÒ£ Ð»ÐŸÐºÐ°Ð»ÑÐŽÑÒ ÐºÓ©Ð·ÐŽÐµÑÑ
+Workflow.DocumentEnriching:ÒÒ±Ð¶Ð°Ñ Ð¶Ð°Ð·Ð±Ð°ÑÑ  
+
+
+#********GEMS******
+
+GEMS.Title:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœÑÑÒÑÐœ ÑÐµÐŽÐ°ÐºÑÐžÑÐ»Ð°Ñ
+GEMS.OpenMetadataSetPrompt.Title:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœÑÑÒÑÐœ Ð°ÑÑ  
+GEMS.OpenMetadataSetPrompt.Open_Tooltip:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ ÑÐ°Ò£ÐŽÐ°Ð»ÒÐ°Ðœ Ð¶ÐžÑÐœÑÑÒÑÐœ Ð°ÑÑ  
+GEMS.Set_Description:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ Ð¶ÐžÑÐœÑÑÒÑÐœ Ð¶Ð°Ð·Ð±Ð°ÑÑ  
+GEMS.OpenMetadataSetPrompt.Open:ÐÑÑ  
+GEMS.OpenMetadataSetPrompt.Available_Sets:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ÐŽÑÒ£ ÒÐŸÐ» Ð¶ÐµÑÐµÑÐ»ÑÐº Ð¶ÐžÑÐœÑÑÒÑ  
+GEMS.DeleteMetadataSetPrompt.Title:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœÑÑÒÑÐœ Ð¶ÐŸÑ  
+GEMS.DeleteMetadataSetPrompt.Delete_Tooltip:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ÐŽÑÒ£ ÑÐ°Ò£ÐŽÐ°Ð»ÒÐ°Ðœ Ð¶ÐžÑÐœÑÑÒÑÐœ Ð¶ÐŸÑ  
+GEMS.DeleteMetadataSetPrompt.Delete:ÐÐŸÑ  
+GEMS.DeleteMetadataSetPrompt.Available_Sets:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ÐŽÑÒ£ ÒÐŸÐ» Ð¶ÐµÑÐµÑÐ»ÑÐº Ð¶ÐžÑÐœÑÑÒÑÐœ  
+GEMS.DeleteMetadataSetPrompt.Confirm_Delete:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœÑÑÒÑÐœ ÑÑÐœÑÐŒÐµÐœ Ð¶ÐŸÐ¹ÒÑÒÑÐ· ÐºÐµÐ»ÐµÑÑÐœÑ ÑÑÑÐ°Ð»Ñ Ð±ÐµÐ»Ð³Ñ Ð¶Ð°ÑÐ°Ò£ÑÐ·.  
+GEMS.DeleteMetadataSetPrompt.No_Set:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ ÑÐ°Ò£ÐŽÐ°Ð»ÐŒÐ°ÐŽÑ  
+GEMS.Confirm_Removal:ÐÑÑ Ð¶ÐŸÐ¹ÒÑÒ£ÑÐ· ÐºÐµÐ»ÐµÑÑÐœÑÐœÐµ ÑÐµÐœÑÐŒÐŽÑÑÑÐ·  Ð±Ðµ {0}?
+GEMS.Confirm_Removal_Title:ÐÐŸÑÐŽÑ ÑÐ°ÑÑÐ°Ò£ÑÐ·
+GEMS.Attribute:ÐÐµÐ»Ð³Ñ
+GEMS.Popup.AddElement:Ð­Ð»ÐµÐŒÐµÐœÑÑÑ ÒÐŸÑÑ  
+GEMS.Popup.DeleteElement:Ð­Ð»ÐµÐŒÐµÐœÑÑÑ Ð¶ÐŸÑ  
+GEMS.Popup.AddSubElement:Ð¡ÑÐ±ÑÐ»ÐµÐŒÐµÐœÑÑ ÒÐŸÑÑ  
+GEMS.Popup.DeleteSubElement:Ð¡ÑÐ±ÑÐ»ÐµÐŒÐµÐœÑÑ Ð¶ÐŸÑ  
+GEMS.NewMetadataSetPrompt.Title:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶Ð°Ò£Ð° Ð¶ÐžÑÐœÑÑÒÑÐœ  
+GEMS.NewMetadataSetPrompt.Instructions:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶Ð°Ò£Ð° Ð¶ÐžÑÐœÑÑÒÑÐœÑÐœ ÒÒ±ÑÑ Ò¯ÑÑÐœ ÑÓ©ÐŒÐµÐœÐŽÐµÐ³Ñ Ð°Ð»Ð°Ò£ÐŽÑ ÑÐŸÐ»ÑÑÑÑÒ£ÑÐ·:  
+GEMS.NewMetadataSetPrompt.Base_MetadataSet:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ ÐŸÑÑ Ð¶ÐžÑÐœÑÑÒÑ Ò¯ÑÑÐœ ÐœÐµÐ³ÑÐ·Ðµ Ð°Ð»Ñ:  
+GEMS.NewMetadataSetPrompt.Metadata_Title:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ  Ð¶ÐžÑÐœÑÑÒÑÐœÑÒ£ Ð±Ð°Ñ Ð°ÑÐ°ÑÑ:  
+GEMS.NewMetadataSetPrompt.Metadata_Namespace:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð°ÑÑÐ°ÑÑÐœÑÒ£ ÐºÐµÒ£ÑÑÑÑÐ³Ñ:  
+GEMS.NewMetadataSetPrompt.New_Metadata:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶Ð°Ò£Ð° Ð¶ÐžÑÐœÑÑÒÑÐœ  
+GEMS.NewMetadataSetPrompt.Title_Error_Message:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶Ð°Ò£Ð° Ð¶ÐžÑÐœÑÑÒÑÐœÑÒ£ Ð±Ð°Ñ Ð°ÑÑÐ°ÑÑ Ð±ÐŸÐ»ÑÑ ÐºÐµÑÐµÐº  
+GEMS.NewMetadataSetPrompt.Title_Error:ÐÐ°Ñ Ð°ÑÑÐ°ÑÑ ÐºÓ©ÑÑÐµÑÑÐ»Ð³ÐµÐœ  
+GEMS.NewMetadataSetPrompt.Namespace_Error_Message:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶Ð°Ò£Ð° Ð¶ÐžÑÐœÑÑÒÑÐœÑÒ£ Ð°ÑÐ°ÑÐ»Ð°Ñ ÐºÐµÒ£ÑÑÑÑÐ³Ñ Ð±ÐŸÐ»ÑÑ ÑÐžÑÑ  
+GEMS.NewMetadataSetPrompt.Namespace_Error:ÐÑÐ°ÑÐ»Ð°Ñ ÐºÐµÒ£ÑÑÑÑÐ³Ñ ÐºÓ©ÑÑÐµÑÑÐ»ÐŒÐµÐ³ÐµÐœ  
+GEMS.SelectedLanguage:Ð¢ÑÐ»Ð³Ðµ Ð°ÑÑÐžÐ±ÑÑÑÐ°ÑÐŽÑ ÒÐŸÑÑ:  
+GEMS.Language:--Ð¢ÑÐ»ÐŽÑ Ð¢Ð°Ò£ÐŽÐ°ÐœÑÐ·--  
+GEMS.LanguageDependent:Ð¢ÑÐ»Ð³Ðµ ÐŒÓÐ¶Ð±Ò¯ÑÐ»Ñ Ð°ÑÑÐžÐ±ÑÑÑÐ°Ñ  
+GEMS.Attribute_Table:ÐÑÑÐžÐ±ÑÑÑÐ°Ñ  
+GEMS.Attribute_Deletion_Error:ÐÑÑÐžÐ±ÑÑÑÑ Ð¶ÐŸÑÐŽÐ°ÒÑ ÒÐ°ÑÐµÐ»ÑÐº  
+GEMS.Attribute_Deletion_Error_Message:ÐÒ±Ð» Ð°ÑÑÐžÐ±ÑÑ ÐŒÑÐœÐŽÐµÑÑÑ  
+GEMS.Add_Lang_Depend_Attr_Error:ÐÑÑÐžÐ±ÑÑÑÑ ÒÐŸÑÑÐŽÐ°ÒÑ ÒÐ°ÑÐµÐ»ÑÐº  
+GEMS.Add_Lang_Depend_Attr_Error_Message:Ð¢ÑÐ»Ð³Ðµ ÓÐ¶Ð±ÑÑ Ð°ÑÑÐžÐ±ÑÑ ÒÐŸÑÑÐ»ÐŒÐ°ÒÐ°Ðœ ÐŸÐœÑ ÒÐŸÑÑÑÒ£ÑÐ·ÐŽÑ ÑÒ±ÑÐ°Ð¹ÑÑÐ·.  
+GEMS.Attribute_Edition_Error:ÐÑÑÐžÐ±ÑÑÑÑ ÑÐµÐŽÐ°ÐºÑÐžÑÐ»Ð°ÑÐŽÐ°ÒÑ ÒÐ°ÑÐµÐ»ÑÐº  
+GEMS.Attribute_Edition_Error_Message:ÐÑÑÐžÐ±ÑÑ ÐŒÑÐœÐŽÐµÑÑÑ Ð±ÐŸÐ»ÒÐ°ÐœÐŽÑÒÑÐ°Ðœ Ð±ÐŸÑ Ð±ÐŸÐ»ÑÑ ÐŒÒ¯ÐŒÐºÑÐœ ÐµÐŒÐµÑ  
+GEMS.Confirm_Save:ÐÒ±Ð» ÐŒÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ó©Ð·Ð³ÐµÑÑÑÐ»ÐŽÑ, ÑÐ°ÒÑÐ°ÒÑÒ£ÑÐ· ÐºÐµÐ»Ðµ ÐŒÐµ?  
+GEMS.Confirm_Save_Title:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœÑÑÒÑÐœ ÑÐ°ÒÑÐ°Ñ  
+GEMS.Confirm_DeleteElement:Ð­Ð»ÐµÐŒÐµÐœÑÑÑ Ð¶ÐŸÐ¹ÒÑÒ£ÑÐ· ÐºÐµÐ»ÐµÑÑÐœÑÐœÐµ ÑÐµÐœÑÐŒÐŽÑÑÑÐ· Ð±Ðµ {0}?  
+GEMS.Confirm_DeleteElement_Title:Ð­Ð»ÐµÐŒÐµÐœÑ Ð¶ÐŸÑ  
+GEMS.File_Deletion_Error_Message:Ð€Ð°Ð¹Ð» Ð¶ÐŸÐ¹ÑÐ»Ð° Ð°Ð»ÐŒÐ°Ð¹ÐŽÑ  
+GEMS.File_Deletion_Error:Ð€Ð°Ð¹Ð»ÐŽÑ Ð¶ÐŸÑÐŽÐ°ÒÑ ÒÐ°ÑÐµÐ»ÑÐº  
+GEMS.Namespace_Conflict_Message:ÐÑÐºÐµÑÑÑ: Ð°ÑÐ°ÑÐ»Ð°ÑÐŽÑÒ£ Ð±Ò±Ð» ÐºÐµÐœÑÑÑÑÐ³Ñ ÐŒÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑÐŽÑÒ£ Ð±Ð°ÑÒÐ° Ð¶ÐžÑÐœÑÑÒÑÐŒÐµÐœ Ð¿Ð°Ð¹ÐŽÐ°Ð»Ð°ÐœÑÐ»ÑÐŽÐ°. ÐÐ°Ð»ÒÐ°ÑÑÑÑÐ°Ð¹ÑÒ Ð¿Ð°?  
+GEMS.Namespace_Conflict:ÐÑÐ°ÑÐ»Ð°Ñ ÐºÐµÐœÑÑÑÑÐ³ÑÐœÑÒ£ ÐºÐžÐžÐ»Ð¶ÑÒ£Ñ  
+GEMS.Move_Up:ÐÐŸÒÐ°ÑÑÒÑ Ð°ÑÑÑÑ  
+GEMS.Move_Down:Ð¢Ó©ÐŒÐµÐœÐ³Ðµ Ð°ÑÑÑÑ  
+GEMS.Cannot_Undo:(Ð±Ò±Ð» ÒÑÐŒÑÐ» Ð±ÓÑÑ-Ð±ÑÑ ÐŸÑÑÐœÐŽÐ°Ð»Ð°ÐŽÑ)  
+
+GEMS.AttributeTable.Name:ÐÑÑ  
+GEMS.AttributeTable.Language:Ð¢ÑÐ»Ñ  
+GEMS.AttributeTable.Value:ÐÐµÐ»Ð³Ñ  
+GEMS.NewMetadataElementNamePrompt.Title:ÐÐ°Ò£Ð° ÑÐ»ÐµÐŒÐµÐœÑ  
+GEMS.NewMetadataElementNamePrompt.Name:ÐÐ°Ò£Ð° ÑÐ»ÐµÐŒÐµÐœÑ Ò¯ÑÑÐœ Ð°ÑÑÑ ÐµÐœÐ³ÑÐ·ÑÒ£ÑÐ·  
+GEMS.NewMetadataElementNamePrompt.SubTitle:ÐÐ°Ò£Ð° ÑÑÐ±ÑÐ»ÐµÐŒÐµÐœÑ  
+GEMS.NewMetadataElementNamePrompt.SubName:ÐÐ°Ò£Ð° ÑÑÐ±ÑÐ»ÐµÐŒÐµÐœÑ Ò¯ÑÑÐœ Ð°ÑÑÑ ÐµÐœÐ³ÑÐ·ÑÒ£ÑÐ·  
+GEMS.NewMetadataElementNamePrompt.Name_Error_Message:ÐÒ±Ð» Ð°ÑÑÐ°Ñ ÑÐ»ÐµÐŒÐµÐœÑ Ð±Ð°Ñ.  
+GEMS.NewMetadataElementNamePrompt.Name_Error:Ð­Ð»ÐµÐŒÐµÐœÑ Ð°ÑÑÐœÐŽÐ°ÒÑ ÒÐ°ÑÐµÐ»ÑÐº  
+GEMS.NewMetadataElementNamePrompt.EmptyName_Error_Message:ÐÐ°Ò£Ð° ÑÐ»ÐµÐŒÐµÐœÑÑÑÒ£ Ð°ÑÑ Ð±ÐŸÐ»ÑÑ ÑÐžÑÑ.  
+
+
+GEMS.No_Set_Loaded:ÐÐµÑÐ°Ð±ÐµÑÑÐ»Ð³ÐµÐœÐŽÐµÑ Ð¶ÐžÑÐœÑÑÒÑÐœÑÒ£ ÐµÑÒÐ°Ð¹ÑÑÑÑ Ð¶Ò¯ÐºÑÐµÐ»ÐŒÐµÐ³ÐµÐœ. ÐÐ°Ò£Ð° Ð¶ÐžÑÐœÑÑÒÑÑ ÒÒ±ÑÑ Ò¯ÑÑÐœ Ð¶Ð°Ò£Ð°->Ð€Ð°Ð¹Ð»ÐŽÑ ÐœÐµÐŒÐµÑÐµ Ð±Ð°Ñ Ð¶ÐžÑÐœÑÑÒÑÑ Ð°ÑÑ Ò¯ÑÑÐœ Ð°ÑÑ->Ð€Ð°Ð¹Ð»ÐŽÑ ÑÐ°Ò£ÐŽÐ°ÐœÑÐ·.  
Index: main/tags/2.83/gli/classes/dictionary_kn.properties
===================================================================
--- main/tags/2.83/gli/classes/dictionary_kn.properties	(revision 21123)
+++ main/tags/2.83/gli/classes/dictionary_kn.properties	(revision 21123)
@@ -0,0 +1,1252 @@
+# ********************************************************
+#   Updated 2009 by   Raghavan, K.S., Professor, Documentation Research and Training Centre, Indian Statistical Institute, Bangalore
+#                          and Lalitha, S.K., Computer Assistant, Sarada Ranganathan Endowment for Library Science, Bangalore
+# ********************************************************
+
+#*******************
+#** Language Orientation Property
+Component.Orientation:LTR
+
+#*******************
+#
+#***** AboutDialog *****
+AboutDialog.Acknowledgement:à²
+à²à²à³à²à²°à²¿à²žà²²à³à²ªà²à³à² à²à²¡à³à²€à²šà²Š à²à³à²°à²®à²µà²¿à²§à²¿à²à²³à³, à²µà²¿à²µà²¿à²§ à²à²Šà³à²Šà³à²¶à²à²³à²¿à²à²Ÿà²à²¿ à²¬à²³à²žà²¬à²¹à³à²Šà²Ÿà²Š à²€à²à²€à³à²°à²Ÿà²à²¶ à²
+à²¥à²µ à²µà²°à³à²à²à²³à³.  
+AboutDialog.Date:(à²à³à²²à³ 2007)
+AboutDialog.Item0:à²Šà²¿ à²
+à²ªà²Ÿà²à²¿ à²žà²Ÿà²«à³à²à³âà²µà³à²°à³ à²ªà³à²à²¡à³à²¶à²šà³à²šà²¿à²š 'à²à³à²°à³âà²žà³à²žà³ à²à²Ÿà²µ à³§' (http://www.apache.org/)  
+AboutDialog.Item2:à²«à³à²°à³ à²žà²Ÿà²«à³à²à³ââà²µà³à²°à³ à²ªà³à²à²¡à³à²¶à²šà³â,à²à²à²ªà²šà²¿à²¯à²µà²° 'à²¡à²¬à³à²²à³à²¯à³à²à³à²à³' (http://www.gnu.org/software/wget/wget.html)  
+AboutDialog.Item3:à²à³à²µà²Ÿà²²à²¿à²à²¿ à²«à²žà³à²à³â à²žà²Ÿà²«à³à²à³âà²µà³à²°à³â à²à²¿à²à²®à³âà²¬à²¿à²à²à³â à²à²à²ªà²šà²¿à²¯à²µà²° 'à²à³à²¯à³ââââà²«à³à²²à²¿à²¬à³' (http://www.qfs.de/en/qflib/index.html)  
+AboutDialog.Item4:à²¬à³à²°à³à²šà³ à²¡à³à²¯à³à²®à²šà³ à²®à²€à³à²€à³ à²à²€à²° à²à³à²¡à³à²à³à²Šà²Ÿà²°à²°à²¿à²à²Š'à²à²à³à²žà³âà²à³à²à²·à²šà³âà²«à³à²²à³âà²«à²¿à²²à³à²à²°à³â.à²à³à²²à³à²¯à²Ÿà²žà³â' (http://pollo.sourceforge.net/)  
+AboutDialog.Item5:à²¹à³ à²à³ à²¡à²¿à²žà³à²¬à²²à³â à²«à³à²²à³â à²°à³à²šà³à²®à²¿à²à²à³â à²à²šà³â à²«à³à²²à³â à²à³à²à²°à³â' - à²µà³à²²à³à²¯à²Ÿà²¡à²¿21 (http://www.experts-exchange.com/)  
+AboutDialog.Item6:à²°à³à²¬à²°à³à²à³ à²à²à³à²žà³âà²à³à²šà³,à²®à²Ÿà²°à³à²à³ à²²à²Ÿà²¯à³ à²®à²€à³à²€à³ à²¡à³à²µà³â à²µà³à²¡à³âà²°à²µà²°à²¿à²à²Š 'à²à²à³à²žà³à²à³à²°à³à²²à²¿à²à²à³' - à²à²Ÿà²µ à²žà³à²µà²¿à²à²à³ (http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf)  
+AboutDialog.Item7:à²à³à²žà³à²à³â à²à²¿à²€à³à²°à²µà²šà³à²šà³ à²šà²¿à²®à³à²® à²à³à²à³à²°à³à²žà³âà²à³ à²žà³à²°à²¿à²žà²¿â' - à²à²šà³âà²¡à³à²°à³à²µà³ à²à³.à²à²°à³à²®à³ââà²žà³à²à³à²°à²Ÿà²à²à³âà²°à²µà²°à²¿à²à²Š (http://www.javaworld.com/javaworld/javatips/jw-javatip114.html)  
+AboutDialog.Item8:à²šà²¿à²®à²à³ à²žà³à²ªà²°à³â à²à²ªà²¯à³à²à²¿ à²ªà³à²°à²µà³à²¶à²Ÿà²§à²¿à²à²Ÿà²° à²à²²à³à²²à²Šà²¿à²Šà³à²Šà²°à³ à²à²Ÿà²µ.à²ªà³à²°à²¿à²«à³âà²žà³â à²à²¡à²€à²à³à²à³ à²€à³à²à²Šà²°à³ à²à³à²¡à³à²µà³à²Šà²šà³à²šà³ à²šà²¿à²²à³à²²à²¿à²žà²¿ '-à²µà²Ÿà²²à³à²à²°à³â à²·à³à²¯à³à²à³à²žà³âà²°à²µà²°à²¿à²à³ à²§à²šà³à²¯à²µà²Ÿà²Š.  
+AboutDialog.Item9:à²¡à³à²°à²Ÿà²ªà³âà²²à³à²šà³â à²šà³à²¯à³à²°à²µà²°à²¿à²à²Š à²¹à³à²ž à²à²¡à²€à²à²à³à²à³,à²€à³à²à³à²¯à³à²µà²¿à²à³ à²®à²€à³à²€à³ à²žà²¹à²Ÿà²¯ à²²à²Ÿà²à²à²šà²à²³à³!à²žà²¿à²²à³à²µà³à²žà³à²à²°à³â à²¹à³à²°à³à²°à²Ÿà²°à²µà²°à²¿à²à²Š à²²à²Ÿà²à²à²š à²
+à²³à²¡à²¿à²žà³à²µà²¿à²à³,http://art.gnome.org/  
+AboutDialog.Java_Req:à²žà²šà³â à²®à³à²à³à²°à³à²žà²¿à²žà³à²à²®à³â à²à²à²ªà²šà²¿à²¯à²µà²° à²žà²°à²à²¿à²à³ à²µà³à²¯à²Ÿà²ªà²Ÿà²°à²¿à²à²³ à²à³à²°à³à²€à³ à²à²Ÿà²µ.à²
+à²šà³à²¬à²à²§à²¿à²€ à²ªà²°à²µà²Ÿà²šà²à²¿ à²à²ªà³à²ªà²¿à²à³à²à²³ à²ªà³à²°à²à²Ÿà²°  à²à³à²à²°à³ââà² à²¯à²šà³à²šà³ à²ªà³à²šà²°à³âà²µà²¿à²€à²°à²¿à²žà²²à²Ÿà²¯à²¿à²€à³.http://java.sun.com/j2se/1.4.1/j2re-1_4_1_02-license.html  
+AboutDialog.Java_Req_One:à² à²à²€à³à²ªà²šà³à²šà²µà³ à²à²°à³ââ.à²à²žà³â.à².à²žà³à²à³à²¯à³à²°à²¿à²à²¿,à²žà²à²žà³à²¥à³à²¯ à²à³à²¡à³â à²ªà²°à²µà²Ÿà²šà²à²¿à²¯à²šà³à²šà³ à²à²³à²à³à²à²¡à²¿à²Šà³.  
+AboutDialog.Java_Req_Two:à².à²¬à²¿.à²à²®à³.à²šà²¿à²à²Š à²ªà²°à²µà²Ÿà²šà²à²¿à²ªà²¡à³à²Š à²à³à²²à²µà³ à²­à²Ÿà²à²à²³à³ http\://oss.software.ibm.com/icu4j/à²šà²²à³à²²à²¿ à²²à²­à³à²¯.
+AboutDialog.Thanks:à² à²à²Ÿà²µ à²®à²Ÿà²¹à²¿à²€à²¿à²¯à²šà³à²šà³ à²µà³à²¬à³âà²šà²²à³à²²à²¿ à²¹à²Ÿà²à²²à³ à²žà²¹à²Ÿà²¯ à²®à²Ÿà²¡à²¿à²Š à²à²²à³à²²à²°à²¿à²à³ à²§à²šà³à²¯à²µà²Ÿà²Šà²à²³à³.
+AboutDialog.Title:à²¬à²à³à²à³...
+AboutDialog.Title_One:à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²²à³à²¬à³à²°à³à²°à²¿à²¯à²šà³ à²à²šà³âà²à²°à³ââà²«à³à²žà³â.
+AboutDialog.Title_Two:à²à³à²°à³à²šà³âà²žà³à²à³à²šà³ à²¡à²¿à²à²¿à²à²²à³ à²²à³à²¬à³à²°à²°à²¿,à²µà³à²à²Ÿà²à³ à²µà²¿à²¶à³à²µà²µà²¿à²Šà³à²¯à²Ÿà²²à²¯.
+AboutDialog.Copyright:à²à³à²°à²à²¥ à²žà³à²µà²Ÿà²®à³à²¯(C) 2003 à²šà³à²¯à³à²à²¿à²²à³à²¯à²Ÿà²à²¡à³â à²¡à²¿à²à²¿à²à²²à³ à²²à³à²¬à³à²°à²°à²¿ à²ªà³à²°à²Ÿà²à³à²à³à²à³â.  
+AboutDialog.Copyright_Two:à²à²¿.à²ªà²¿.à²à²²à³.à²
+à²¡à²¿à²¯à²²à³à²²à²¿ à²ªà³à²°à²à²à²¿à²žà²²à²Ÿà²à²¿à²Šà³.à²¹à³à²à³à²à²¿à²š à²µà²¿à²µà²°à²à³à²à³ à²²à³à²žà³à²šà³à²žà³â.à²à²¿à²à²à³à²žà³âà²à²¿ à²šà³à²¡à²¿.  
+#***********************
+#
+#***** Audit Table *****
+AuditTable.File:à²à²¡à²€à²Š à²¹à³à²žà²°à³
+#***********************
+#
+#***** Auto Filter *****
+Autofilter.AND:à²®à²€à³à²€à³.
+Autofilter.Ascending:à²à²°à³à²®à³à².
+Autofilter.Case_Sensitive:à²Šà³à²¡à³à²¡à²à³à²·à²° à²®à²€à³à²€à³ à²žà²£à³à²£à²à³à²·à²° à²¹à³à²à²Šà²¿à²žà²¿.
+Autofilter.Custom_Filter:à²à²šà³à²šà²€à²®à²à³à².
+Autofilter.Descending:à²à²³à²¿à²®à³à².
+Autofilter.Filter_By_Value:à²žà²°à²³.
+Autofilter.Name:à²žà²Ÿà²²à²¿à²š à²¹à³à²žà²°à³.
+Autofilter.None:à²à²à²Šà³ à²à²²à³à²².
+Autofilter.Operator:à²ªà²°à²¿à²žà³à²¥à²¿à²€à²¿.
+Autofilter.OR:à²
+à²¥à²µà²Ÿ.
+Autofilter.Order:à²à³à²°à²®.
+Autofilter.Order_Tooltip:à² à²à³à²°à²®à²à³à²à²šà³à²à³à²£à²µà²Ÿà²à²¿ à²¹à³à²à²Šà²Ÿà²£à²¿à²à³à²¯à²Ÿà²Š à²µà²žà³à²€à³à²à²³à²šà³à²šà³ à²µà²¿à²à²à²¡à²¿à²žà³.
+Autofilter.Remove:à²¶à³à²§à²à²µà²šà³à²šà³ à²€à³à²à³.
+Autofilter.Remove_Tooltip:à²žà²Ÿà²²à²¿à²š à²ªà²à³à²à²¿à²¯à²²à³à²²à²¿à²°à³à²µ à² à²¶à³à²§à²à²µà²šà³à²šà³ à²€à³à²à³.  
+Autofilter.Set:à²¶à³à²§à²à²µà²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà³.  
+Autofilter.Set_Tooltip:à²žà²Ÿà²²à²¿à²š à²ªà²à³à²à²¿à²à³ à² à²¶à³à²§à²à²µà²šà³à²šà³ à²žà³à²°à²¿à²žà³.  
+Autofilter.Table_Header_Tooltip:{0}à²Šà²¿à²à²Š à²¶à³à²§à²¿à²žà²¿.  
+Autofilter.Title:à²žà³à²µà²¯à²à²à²Ÿà²²à²¿à²€ à²¶à³à²§à²à²Š à²®à³à²à²¡à³à².  
+Autofilter.eqeq:à²à²Šà²à³à²à³ à²žà²°à²¿à²žà²®.
+Autofilter.!eq:à²žà²°à²¿à²žà²®à²µà²²à³à²².
+Autofilter.<:à²à²Šà²à³à²à²¿à²à²€ à²à²¡à²¿à²®à³.
+Autofilter.<eq:à²à²¡à²¿à²®à³ à²
+à²¥à²µ à²žà²°à²¿à²žà²®.
+Autofilter.>:à²à²Šà²à³à²à²¿à²à²€ à²¹à³à²à³à²à³.
+Autofilter.>eq:à²¹à³à²à³à²à³ à²
+à²¥à²µ à²žà²°à²¿à²žà²®.
+Autofilter.^:à²à²à²Š à²¶à³à²°à³.
+Autofilter.!^:à²à²à²Š à²¶à³à²°à³à²µà²Ÿà²à³à²µà³à²Šà²¿à²²à³à²².
+Autofilter.$:à²à²à²Š à²
+à²à²€à³à²¯.
+Autofilter.!$:à²à²à²Š à²
+à²à²€à³à²¯ à²à²²à³à²².
+Autofilter.?:à²¹à³à²à²Šà²¿à²°à³à²€à³à²€à²Šà³.
+Autofilter.!?:à²¹à³à²à²Šà²¿à²°à³à²µà³à²Šà²¿à²²à³à²².
+#
+#     ********************************************************
+#     *************** Collection Design Module ***************
+#     ********************************************************
+#     * The dictionary  phrases  used in the creation of the *
+#     * Colection  Design  Module. Note that we  still  have *
+#     * access  to the format  arguments (argument  32+) for *
+#     * html formatting.                                     *
+#     ********************************************************
+CDM.ArgumentConfiguration.Bad_Integer:<html>à²à²°à³âà²à³à²¯à³âà²®à³à²à²à³ '{0}'à²à³ à²ªà³à²°à³à²£à²Ÿà²à² à²®à³à²²à³à²¯ à²¬à³à²à³,<br>à²à²Šà²°à³{1}à²° à²®à³à²²à² à²¯à²Ÿà²µ à²ªà³à²°à³à²£à²Ÿà²à²à²µà²šà³à²šà³ à²ªà²Ÿà²°à³à²žà³â à²®à²Ÿà²¡à²²à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²².</html>  
+CDM.ArgumentConfiguration.Error_Title:à²à²°à³à²à³à²¯à³à²®à³à²à²à³âà²šà²²à³à²²à²¿â à²€à²ªà³à²ªà²¿à²Šà³.  
+CDM.ArgumentConfiguration.Header:<HTML><STRONG><FONT FACE={FONT} COLOR=Black SIZE=5><CENTER>à²Šà²¯à²µà²¿à²à³à²à³ à²à²°à³à²à³à²¯à³à²®à³à²à²à²šà³à²šà³ {0}à²à³ à²°à³à²ªà²¿à²žà²¿ ...</CENTER></FONT></STRONG></HTML>  
+CDM.ArgumentConfiguration.No_Value:à²à²°à³à²à³à²¯à³à²®à³à²à²à³âà²à³'{0}'à²à²à²Šà³ à²®à³à²²à³à²¯ à²¬à³à²à³,à²à²Šà²°à³  à²¯à²Ÿà²µ à²®à³à²²à³à²¯à²µà²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà²¿à²²à³à²².
+CDM.ArgumentConfiguration.Required_Argument:à²à²°à³à²à³à²¯à³à²®à³à²à²à³âà²à³ '{0}'à²à²à²Šà³ à²®à³à²²à³à²¯ à²à³à²¡à²²à³à²¬à³à²à³.
+CDM.ArgumentConfiguration.Title:à²à²°à³à²à³à²¯à³à²®à³à²à²à²šà³à²šà³ à²žà²®à²à³à²°à²Ÿà²à³à²€à²¿à²žà³à²µà³à²Šà³  
+CDM.BuildTypeManager.Title:à²žà³à²à²¿à²à²°à²£ à²à³à²°à²®à²µà²šà³à²šà³ à²à²¯à³à²à³à²®à²Ÿà²¡à²¿.  
+CDM.BuildTypeManager.mg:à²à²à²à²¿.
+CDM.BuildTypeManager.mg_Description:à²à²Šà³ à²à³à²°à³à²šà³âà²žà³à²à³à²šà³âà²šà²²à³à²²à²¿ à²®à³à²Šà²²à²¿à²à²Š à²¬à²³à²à³à²¯à²²à³à²²à²¿à²°à³à²µ à²žà³à²à²¿à²à²°à²£ à²à³à²°à²®,à²à²²à²¿à²žà³à²à²°à³â à²®à³à²«à²Ÿà²€à³â à²
+à²µà²°à³ à²°à³à²ªà²¿à²žà²¿à²Š à² à²à³à²°à²®à²µà²šà³à²šà³ à²®à³à²¯à²Ÿà²šà³à²à²¿à²à²à³â à²à³à²à²Ÿà²¬à³à²à³à²žà³â à²à²à²¬ à²ªà³à²žà³à²€à²à²Šà²²à³à²²à²¿ à²µà²¿à²µà²°à²¿à²žà²²à²Ÿà²à²¿à²Šà³.à²à²Šà³ à²à³à²°à²®à²µà²¿à²­à²Ÿà² à²®à²à³à²à²Šà²²à³à²²à²¿ à²žà³à²à³à²à²°à²¿à²žà³à²€à³à²€à²Šà³,à²®à²€à³à²€à³ à²¬à³à²²à²¿à²¯à²šà³â à²
+à²¥à²µà²Ÿ à²¶à³à²°à³à²£à²¿ à²ªà²Šà³à²§à²€à²¿à²à²³à²²à³à²²à²¿ à²¶à³à²§à²¿à²žà²¬à²¹à³à²Šà³.à²šà²®à³à²Šà²¿à²žà²¿à²Š à²à²à²Šà³à²à²Šà³ à²žà³à²à²¿à²à²°à²£à²à³à²°à²®à²à³à²à³ à²ªà³à²°à²€à³à²¯à³à² à²žà³à²à²¿à²¯à²šà³à²šà³ à²šà²¿à²°à³à²®à²¿à²žà³à²€à³à²€à²Šà³.à²à²à²Šà³ à²ªà²Šà²žà²®à³à²¹à²Š à²ªà²Šà²à²³à²šà³à²šà³ à²¬à³à²²à²¿à²¯à²šà³â 'à²®à²€à³à²€à³' à²à²à²¿ à²ªà²°à²¿à²à²£à²¿à²žà³à²€à³à²€à²Šà³ à²¹à²Ÿà²à³ à²à³à²°à³à²€à²¿à²žà²¿à²Š à²Šà²Ÿà²à²²à³à²à²³à²šà³à²šà³ à²ªà²Šà²žà²®à³à²¹à²à³à²à²Ÿà²à²¿ à²¶à³à²§à²¿à²žà²²à²Ÿà²à³à²€à³à²€à²Šà³.à² à²žà³à²à²¿à²à²°à²£ à²à³à²°à²®à²µà²šà³à²šà³ à²Šà³à²¡à³à²¡ à²à³à²°à²à²¥ à²žà²®à³à²¹à²à²³à²¿à²à³ à²
+à²šà³à²µà²¯à²¿à²žà²¿ à²µà²¿à²žà³à²€à²Ÿà²°à²µà²Ÿà²à²¿ à²ªà²°à³à²à³à²·à³ à²®à²Ÿà²¡à²²à²Ÿà²à²¿à²Šà³.  
+CDM.BuildTypeManager.mgpp:à²à²®à³âà²à²¿à²ªà²¿à²ªà²¿.
+CDM.BuildTypeManager.mgpp_Description:à²à²à²à²¿à²š(à²à²à²à²¿ à²ªà³à²²à²žà³ à²ªà³à²²à²žà³ )à² à²¹à³à²ž à²à²µà³à²€à³à²€à²¿ à²šà³à²¯à³à²à²¿à²²à³à²à²¡à³â à²¡à²¿à²à²¿à²à²²à³ à²²à³à²¬à³à²°à³à²°à²¿ à²ªà³à²°à²Ÿà²à³à²à³à²à³âà²šà²µà²°à²¿à²à²Š à²šà²¿à²°à³à²®à²¿à²žà²²à³à²ªà²à³à²à²¿à²€à³.à²à²Šà³ à²ªà³à²°à²€à²¿ à²ªà²Šà²µà²šà³à²šà³ à²žà³à²à²¿à²à²°à²¿à²žà²¿,à²à³à²·à³à²€à³à²°à²Š,à²ªà²Šà²žà²®à³à²¹ à²®à²€à³à²€à³ à²šà²¿à²à² à²®à³à²à²€à²Ÿà²Š à²¶à³à²§à²¿à²žà³ à²à³à²°à²®à²à²³à²šà³à²šà³ à²¬à²³à²žà²²à³ à²
+à²šà³à²µà³ à²®à²Ÿà²¡à³à²€à³à²€à²Šà³.à²¬à³à²²à²¿à²¯à²šà³â à²à³à²°à²®à²Š à²«à²²à²¿à²€à²Ÿà²à²¶à²µà²šà³à²šà³ à²¶à³à²°à³à²£à³à²à²°à²¿à²žà²¬à²¹à³à²Šà³.à²à²à²Šà³ à²à³à²°à³à²žà³à²à³à²šà³â à²žà²à²à³à²°à²¹à²à³à²à³ à²à²à²Šà³ à²žà³à²à²¿ à²šà²¿à²°à³à²®à²¿à²žà³à²€à³à²€à²Šà³:à²Šà²žà³à²€à²Ÿà²µà³à²à³/à²µà²¿à²­à²Ÿà² à²Šà²°à³à²à³ à²®à²€à³à²€à³ à²ªà² à³à²¯/à²®à³à²à²¡à³à² à²µà²¿à²­à²Ÿà² à²à²²à³à²²à²Ÿ à²à²à²Šà³ à²žà³à²à²¿à²¯à²²à³à²²à²¿ à²¬à²°à³à²€à³à²€à²µà³.à²à²Šà²° à²«à²²à²¿à²€à²Ÿà²à²¶  à²¹à²²à²µà³ à²žà³à²à²¿à²¯à²šà³à²šà³ à²¹à³à²à²Šà²¿à²°à³à²µ à²žà²à²à³à²°à²¹à²à²³à²¿à²Šà³à²Šà²Ÿà² à²žà²à²à³à²°à²¹à²à²³ à²à²Ÿà²€à³à²° à²à²¿à²à³à²à²Šà²Ÿà²à³à²€à³à²€à²Šà³ à²®à²€à³à²€à³ à²à²à²à²¿à²¯à²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²¬à²¹à³à²Šà³.à²µà²¿à²­à²Ÿà² à²®à²à³à²à²Š à²žà³à²à²¿à²¯à²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²Šà³ à²ªà²Š à²®à²à³à²à²Š à²žà³à²à²¿à²¯à²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà³à²µà³à²Šà²°à²¿à²à²Š à²Šà³à²¡à³à²¡ à²žà²à²à³à²°à²¹à²à²³à²²à³à²²à²¿ à²¶à³à²§à²¿à²žà³à²µà²¿à²à³ à²žà³à²µà²²à³à²ª à²šà²¿à²§à²Ÿà²šà²µà²Ÿà²à²¬à²¹à³à²Šà³.  
+CDM.BuildTypeManager.lucene:à²²à³à²žà³à²žà³â.
+CDM.BuildTypeManager.lucene_Description:à²²à³à²žà³à²žà³ââ à²à²Šà³ à²
+à²ªà²Ÿà²à²¿ à²žà²Ÿà²«à³à²à³âà²µà³à²°à³â à²«à³à²à²¡à³à²¶à²šà³ââà²š à²à³à²¡à³à²à³.à²à²Šà³ à²à³à²·à³à²€à³à²° à²®à²€à³à²€à³ à²šà²¿à²à² à²¶à³à²§à²¿à²žà³à²µà²¿à²à³à²à³ à²žà²¹à²Ÿà²¯ à²®à²Ÿà²¡à³à²€à³à²€à²Šà³ à²à²Šà²°à³ à²à²à²Šà³ à²®à²à³à²à²Šà²²à³à²²à²¿ à²®à²Ÿà²€à³à²° (à².à²Šà²Ÿ.à²ªà³à²°à³à²£ à²Šà²žà³à²€à²Ÿà²µà³à²à³ à²®à²à³à²à²¿à²šà²²à³à²²à²¿ à²
+à²¥à²µà²Ÿ à²à²à²Šà³ à²µà²¿à²­à²Ÿà² à²®à²à³à²à²Šà²²à³à²²à²¿,à²à²Šà²°à³ à²à²°à²¡à³ à²®à²à³à²à²Šà²²à³à²²à²¿à²²à³à²² ).à² à²à²Ÿà²°à²£à²Šà²¿à²à²Š,à²žà²à²à³à²°à²¹à²Š à²Šà²žà³à²€à²Ÿà²µà³à²à³ à²®à²€à³à²€à³ à²µà²¿à²­à²Ÿà² à²žà³à²à²¿à²à³ à²à²°à²¡à³ à²ªà³à²°à²€à³à²¯à³à² à²žà³à²à²¿à²à²³à³ à²¬à³à²à²Ÿà²à³à²€à³à²€à²Šà³.à²à²Šà³ à²à²à²à²¿à²ªà²¿à²à³ à²
+à²Šà³à²€à²°à²¹à²Š à²à²Ÿà²°à³à²¯ à²Šà²°à³à²à³à²¯ à²¶à³à²§à²¿à²žà³à²µà²¿à²à³à²¯à²šà³à²šà³ à²à³à²¡à³à²µà³à²Šà²²à³à²²à²Šà³ à²®à²€à³à²€à³ à²®à³à²à²¡à³à²à²Š à²à³à²·à³à²€à³à²°à²Šà²¿à²à²Š à²à²à²Šà³à²
+à²à³à²·à²°,à²µà³à²²à³à²¡à³âà²à²Ÿà²°à³à²¡à³à²à²³ à²µà³à²¯à²Ÿà²ªà³à²€à²¿à²¶à³à²§à²¿à²žà³à²µà²¿à²à³ à²®à²€à³à²€à³ à²¶à³à²§à²¿à²žà³à²µà²¿à²à³à²¯ à²«à²²à²¿à²€à²Ÿà²à²¶ à²µà²¿à²à²à²¡à²¿à²žà³à²µà³à²Šà²šà³à²šà³ à²à²Šà²à²¿à²žà³à²€à³à²€à²Šà³.à²à²°à²¡à³ à²ªà³à²°à²€à³à²¯à³à² à²žà³à²à²¿à²à²³à³ à²²à³à²žà²¿à²žà³,à²à²à²à²¿à²ªà²¿à²ªà²¿ à²¬à²Šà²²à²¿à²žà³à²µ à²à²²à³à²² à²žà³à²²à²­à³à²¯à²à²³à²¿à²Šà³.à² à²žà³à²²à²­à³à²¯à²Šà²¿à²à²Š à²¹à²à²€ à²¹à²à²€à²µà²Ÿà²à²¿ à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²à³à²°à²à²¥ à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²¬à³à²³à²žà²²à³ à²žà²Ÿà²§à³à²¯à²µà²Ÿà²à³à²€à³à²€à²Šà³,à² à²žà³à²²à²­à³à²¯ à²à²à²à²¿ à²®à²€à³à²€à³ à²à²à²à²¿à²ªà²¿à²ªà²¿à²à²³à³ à²à³à²¡à²²à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²².  
+CDM.BuildTypeManager.Current_Type:à²žà³à²à²¿à²à²°à²£ à²¬à²³à²à³à²¯à²²à³à²²à²¿à²Šà³:{0}  
+CDM.BuildTypeManager.Change:à²¬à²Šà²²à²Ÿà²¯à²¿à²žà³...  
+CDM.BuildTypeManager.Change_Tooltip:à² à²žà²à²à³à²°à²¹à²µà³ à²¬à²³à²žà³à²€à³à²€à²¿à²°à³à²µ à²žà³à²à²¿à²à²°à²£à²µà²šà³à²šà³ à²¬à²Šà²²à²Ÿà²¯à²¿à²žà³.  
+CDM.ClassifierManager.Add:à²µà²°à³à²à³à²à²°à²£ à²à³à²°à²®à²µà²šà³à²šà³ à²žà³à²°à²¿à²žà²¿ ...  
+CDM.ClassifierManager.Add_Tooltip:à² à²žà²à²à³à²°à²¹à²à³à²à³ à²šà²®à³à²Šà²¿à²žà²¿à²Š à²µà²°à³à²à³à²à²°à²£ à²ªà²Šà³à²§à²€à²¿à²¯à²šà³à²šà³ à²¬à²³à²žà²¿.  
+CDM.ClassifierManager.Assigned:à²šà³à²®à²¿à²žà²¿à²°à³à²µ à²µà²°à³à²à³à²à²°à²£ à²ªà²Šà³à²§à²€à²¿à²à²³à³.  
+CDM.ClassifierManager.Classifier:à²žà³à²°à²¿à²žà²¬à³à²à²Ÿà²Š à²µà²°à³à²à³à²à²°à²£ à²à³à²°à²®à²µà²šà³à²šà³ à²à²¯à³à²à³ à²®à²Ÿà²¡à²¿.  
+CDM.ClassifierManager.Classifier_Str:à²µà²°à³à²à³à²à²°à²£ à²à³à²°à²®  
+CDM.ClassifierManager.Classifier_List_XML_Parse_Failed:à²à³à²²à³à²¯à²Ÿà²žà³âà²à²šà³âà²«à³.à²ªà²¿à²à²²à³ à²¬à²³à²žà²¿ à²µà²°à³à²à³à²à²°à²£  à²à³à²°à²®à²à²³ à²ªà²à³à²à²¿ à²à²Šà²à²¿à²žà²²à³ à²žà²Ÿà²§à³à²¯à²µà²Ÿà²à²²à²¿à²²à³à²² -à²à²²à³à²²à²µà²šà³à²šà³ à²ªà²à³à²à²¿ à²®à²Ÿà²¡à²¿.  
+CDM.ClassifierManager.Classifier_XML_Parse_Failed:{0}\nà²µà²°à³à²à³à²à²°à²£à²à³à²à³ à²¬à³à²à²Ÿà²Š à²à²°à³âà²à³à²¯à³âà²®à³à²à²à³âà²à²³à²šà³à²šà³ à²à³à²°à³à²€à²¿à²žà²²à³ à²žà²Ÿà²§à³à²¯à²µà²Ÿà²à²²à²¿à²²à³à²².à²à³à²²à³à²¯à²Ÿà²žà³âà²à²šà³âà²«à³.à²ªà²¿à²à²²à³ à²žà³à²à³à²°à²¿à²ªà³à²à³âà²šà³à²šà³ à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²¡à³à²µà³à²²à²ªà²°à³ à²à³à²¡à³âà²š à²µà²¿à²­à²Ÿà² 2.1à²°à²²à³à²²à²¿à²°à³à²µ à²ªà³à²²à²à³âà²à²šà³âà²«à³.à²ªà²¿à²à²²à³ à²žà³à²à³à²°à²¿à²ªà³à²à³âà²š à²à³à²€à³ à²¹à³à²²à²¿à²žà²¿,à²šà²®à³à²Šà²¿à²žà²¿à²Š à²µà²°à³à²à³à²à²°à²£ à²à³à²°à²® -à²à²à³à²žà³âà²à²®à³âà²à²²à³ à²§à³à²µà²à²µà²šà³à²šà³ à²¹à³à²à²Šà²¿à²Šà³à²¯à³ à²à²à²¬à³à²Šà²šà³à²šà³ à²à²Ÿà²€à²°à²¿ à²®à²Ÿà²¡à²¿à²à³à²³à³à²³à²¿.  
+CDM.ClassifierManager.Configure:à²µà²°à³à²à³à²à²°à²£ à²à³à²°à²®à²µà²šà³à²šà³ à²žà²®à²à³à²°à²Ÿà²à³à²€à²¿à²žà³...  
+CDM.ClassifierManager.Configure_Tooltip:à²à²¯à³à²à³à²®à²Ÿà²¡à²¿à²Š à²µà²°à³à²à³à²à²°à²£ à²à³à²°à²®à²Š à²à²à³à²à²¿à²à²à²³à²šà³à²šà³ à²¬à²Šà²²à²Ÿà²¯à²¿à²žà³.  
+CDM.ClassifierManager.Remove:à²µà²°à³à²à³à²à²°à²£ à²à³à²°à²®à²µà²šà³à²šà³ à²€à³à²à³à²¯à²¿à²°à²¿.  
+CDM.ClassifierManager.Remove_Tooltip:à²µà²°à³à²à³à²à²°à²£ à²à³à²°à²®à²µà²šà³à²šà³ à²µà²°à³à²à³à²à²°à²£ à²à³à²°à²®à²à²³ à²ªà²à³à²à²¿à²¯à²¿à²à²Š à²€à³à²à³à²¯à²¿à²°à²¿.  
+CDM.FormatManager.Add:à²žà²à²µà²¿à²­à²Ÿà²à²µà²šà³à²šà³ à²žà³à²°à²¿à²žà³  
+CDM.FormatManager.Add_Tooltip:à²šà²®à³à²Šà²¿à²žà²¿à²Š à²žà²à²µà²¿à²­à²Ÿà² à²à²Šà³à²¶à²µà²šà³à²šà³ à²žà³à²°à²¿à²žà²¿  
+CDM.FormatManager.AllFeatures:à²à²²à³à²² à²µà²¿à²¶à³à²·à²£à²à²³à³  
+CDM.FormatManager.AllParts:à²à²²à³à²² à²à²à²à²à²³à³  
+CDM.FormatManager.Default:Reset to Default
+CDM.FormatManager.Default_Tooltip:Reset the selected format command to its default value 
+CDM.FormatManager.Editor:à²¹à³à²à³.à²à²¿.à²à²®à³.à²à²²à³.à²žà²à²µà²¿à²­à²Ÿà² à²
+à²à³à²·à²° à²ªà³à²à²  
+CDM.FormatManager.Editor_Tooltip:à²žà²à²µà²¿à²­à²Ÿà² à²à²Šà³à²¶à²µà²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà²¿ à²
+à²¥à²µà²Ÿ à²€à²¿à²Šà³à²Šà²¿.  
+CDM.FormatManager.Editor_Disabled_Tooltip:à²à²¡à³ à²«à²Ÿà²°à³à²®à³à²à³'à²à³à²à²¡à²¿à²¯à²šà³à²šà³ à²à²€à³à²€à³à²µà³à²Šà²° à²®à³à²²à² à² à²žà²à²µà²¿à²­à²Ÿà²à²µà²šà³à²šà³ à²šà²¿à²®à³à²® à²žà²à²à³à²°à²¹à²à³à²à³ à²žà³à²°à²¿à²žà²¿.  
+CDM.FormatManager.Enabled:à²à²Ÿà²°à³à²¯à²¶à³à²€à²²à²µà²Ÿà²à²¿à²Šà³.
+CDM.FormatManager.Feature:à²¬à³à²à²Ÿà²Š à²žà³à²²à²­à³à²¯à²µà²šà³à²šà³ à²à²¯à³à²à³ à²®à²Ÿà²¡à²¿.
+CDM.FormatManager.Feature_Tooltip:à²žà²à²µà²¿à²­à²Ÿà²à²à³à²à³ à²¬à³à²à²Ÿà²Š à²žà³à²²à²­à³à²¯.  
+CDM.FormatManager.Insert:à²
+à²³à²µà²¡à²¿à²žà³  
+CDM.FormatManager.Insert_Tooltip:à²à²¯à³à²à³ à²®à²Ÿà²¡à²¿à²Š à²à²°à²µà²šà³à²šà³ à²žà²à²µà²¿à²­à²Ÿà² à²à²Šà³à²¶à²à³à²à³ à²
+à²³à²µà²¡à²¿.  
+CDM.FormatManager.Default:à²ªà³à²°à³à²µà²šà²¿à²¯à³à²à²¿à²€à²à³ à²ªà³à²šà²à²à³à²¡à²¿à²žà²¿  
+CDM.FormatManager.Default_Tooltip:à²à²¯à³à²à³ à²®à²Ÿà²¡à²¿à²Š à²à²°à²µà²šà³à²šà³ à²
+à²Šà²° à²ªà³à²°à³à²µà²šà²¿à²¯à³à²à²¿à²€à²à³à²à³ à²¹à³à²à²Šà²¿à²žà²¿.  
+CDM.FormatManager.Insert_Variable:à²à²°à²µà²šà³à²šà³ à²
+à²³à²µà²¡à²¿à²žà²¿ ...  
+CDM.FormatManager.Part:à²­à²Ÿà²Šà²¿à²žà²²à³à²ªà²à³à² à²à²à²  
+CDM.FormatManager.Part_Tooltip:à²à²¯à³à²à³ à²®à²Ÿà²¡à²¿à²Š à²žà³à²²à²­à³à²¯à²Š à²žà²à²µà²¿à²­à²Ÿà² à²®à²Ÿà²¡à²¬à³à²à²Ÿà²Š à²žà²šà³à²šà²¿à²µà³à²¶à²Š à²à²à²Šà³ à²®à³à²  
+CDM.FormatManager.Remove:à²žà²à²µà²¿à²­à²Ÿà²à²µà²šà³à²šà³ à²€à³à²à³à²¯à²¿à²°à²¿.  
+CDM.FormatManager.Remove_Tooltip:à²à²¯à³à²à³ à²®à²Ÿà²¡à²¿à²Š à²žà²à²µà²¿à²­à²Ÿà² à²à²Šà³à²¶à²µà²šà³à²šà³ à²€à³à²à³à²¯à²¿à²°à²¿.  
+CDM.FormatManager.Variable_Tooltip:à²®à³à²Šà²²à³ à²šà²®à³à²Šà²¿à²žà²¿à²Š à²à²°à²µà²šà³à²šà³ à²žà²à²µà²¿à²­à²Ÿà² à²à²Šà³à²¶à²à³à²à³ à²
+à²³à²µà²¡à²¿à²žà²¿.  
+CDM.FormatManager.MessageBox:à²à²à³à²žà³.à²à²®à³.à²à²²à³.à²§à³à²¢à³à²à²°à²£  
+CDM.FormatManager.MessageBox_Tooltip:à²à²à³à²žà³.à²à²®à³.à²à²²à³.à²®à²Ÿà²Šà²°à²¿ à²§à³à²¢à³à²à²°à²¿à²žà²¿à²Š à²žà²à²à³à²€  
+CDM.General.Access:à² à²žà²à²à³à²°à²¹ à²à²²à³à²²à²°à²¿à²à³ à²Šà³à²°à²à²¬à³à²à³ à²à²Šà³ à²žà²Ÿà²°à³à²µà²à²šà²¿à² à²žà²à²à³à²°à²¹  
+CDM.General.Browser_Title:à²žà³à²à³à²€ à²à²Ÿà²¯à³à²¯à²šà³à²šà³ à²à²¯à³à²à³à²®à²Ÿà²¡à²¿.  
+CDM.General.Collection_Extra:à²žà²à²à³à²°à²¹à²Š à²µà²¿à²µà²°à²£à³:
+CDM.General.Collection_Extra_Tooltip:à²žà²à²à³à²°à²¹à²Š à²à²Šà³à²Šà³à²¶ à²®à²€à³à²€à³ à²
+à²¡à²à²¿à²°à³à²µ à²à²³à²
+à²à²¶à²à²³ à²µà²¿à²µà²°.  
+CDM.General.Collection_Name:à²žà²à²à³à²°à²¹à²Š à²¶à³à²°à³à²·à²¿à²à³:  
+CDM.General.Collection_Name_Tooltip:à²žà²à²à³à²°à²¹à²Š à²¹à³à²žà²°à³.
+CDM.General.Email.Creator:à²-à²®à³à²²à³ à²šà²¿à²°à³à²®à²Ÿà²ªà²  
+CDM.General.Email.Creator_Tooltip:à²žà²à²à³à²°à²¹ à²šà²¿à²°à³à²®à²Ÿà²ªà²à²š à²µà²¿à²Šà³à²¯à³à²šà³à²®à²Ÿà²š à²
+à²à²à³  
+CDM.General.Email.Maintainer:à²®à³à²à²Šà³à²µà²°à²¿à²žà³à²à³à²à²¡à³ à²¬à²°à³à²µà²µà²° à²-à²®à³à²²à³â  
+CDM.General.Email.Maintainer_Tooltip:à²žà²à²à³à²°à²¹à²à²³à²šà³à²šà³ à²®à³à²à²Šà³à²µà²°à²¿à²žà³à²à³à²à²¡à³ à²¬à²°à³à²µà²µà²° à²µà²¿à²Šà³à²¯à³à²šà³à²®à²Ÿà²š à²
+à²à²à³  
+CDM.General.Icon_Collection:à²ªà³à²à²Š à²¬à²à³à²à³'à²¯ à²à²Ÿà²¯à³à²à³ à²¯à³.à²à²°à³â.à²à²²à³.:  
+CDM.General.Icon_Collection_Tooltip:à²žà²à²à³à²°à²¹à²Š à²¬à²à³à²à³ à²ªà³à²à²Šà²²à³à²²à²¿ à²à²°à²¬à³à²à²Ÿà²Š à²à²Ÿà²¯à³à²¯ à²¯à³.à²à²°à³â.à²à²²à³.  
+CDM.General.Icon_Collection_Small:à²®à³à²à²ªà³à²'à²Š à²à²Ÿà²¯à³à²¯ à²¯à³.à²à²°à³â.à²à²²à³.  
+CDM.General.Icon_Collection_Small_Tooltip:à²žà²à²à³à²°à²¹à²Š à²®à³à² à²ªà³à²à²Šà²²à³à²²à²¿ à²€à³à²°à²¬à³à²à²Ÿà²Š à²à²Ÿà²¯à³à²¯ à²¯à³.à²à²°à³â.à²à²²à³.  
+CDM.General.Image_Copy_Failed:à²à²à²Šà³ à²€à²ªà³à²ªà²Ÿà²à²¿à²°à³à²µà³à²Šà²°à²¿à²à²Š à²šà³à²µà³ à²à²¯à³à²à³à²®à²Ÿà²¡à²¿à²Š à²à²Ÿà²¯à³à²¯ à²ªà³à²°à²€à²¿ à²®à²Ÿà²¡à²²à²Ÿà²à²²à²¿à²²à³à²².\nà²šà³à²µà³ à²Šà²¯à²µà²¿à²à³à²à³ à²šà²¿à²®à³à²® à²à²Ÿà²¯à³à²à²³ à²à²¡à²€à²à²à³à²à³ à²žà²à²à³à²°à²¹à²à³à²à³ à²à²Ÿà²¯à³à²¯ à²ªà³à²°à²€à²¿à²¯à²šà³à²šà³ à²šà²à²²à³ à²®à²Ÿà²¡à²²à³ à²ªà³à²°à²¯à²€à³à²šà²¿à²žà²¿:\n{0}\n:\n{1}  
+CDM.General.Image_Filter:à²à²Ÿà²¯à³à²à²³à³ (gifs, jpgs and pngs)  
+CDM.GUI.Classifiers:à²µà²°à³à²à³à²à²°à²£ à²à³à²°à²®à²à²³ à²µà³à²à³à²·à²£à³  
+CDM.GUI.Formats:à²žà²à²µà²¿à²­à²Ÿà²à²Š à²žà³à²²à²­à³à²¯à²à²³à³  
+CDM.GUI.General:à²žà²Ÿà²®à²Ÿà²šà³à²¯  
+CDM.GUI.Indexes:à²žà³à²à²¿à²à²³à²²à³à²²à²¿ à²¶à³à²§à²¿à²žà²¿.  
+CDM.GUI.Macros:à²žà²à²à³à²°à²¹ à²žà²à²­à²à²Šà²¿à²€ à²à³à²°à²®à²µà²¿à²§à²¿ à²®à³à²¯à²Ÿà²à³à²°à³à²žà³  
+CDM.GUI.Plugins:à²Šà²žà³à²€à²Ÿà²µà³à²à³ à²ªà³à²²à²à²¿à²šà³âà²à²³à³.
+CDM.GUI.Root:à²žà²¿.à²¡à²¿.à²à²®à³._à²°à³à²à³.
+CDM.GUI.SearchMetadata:à²¶à³à²§à²¿à²žà³  
+CDM.GUI.Subcollections:à²µà²¿à²­à²Ÿà²à²¿à² à²žà³à²à²¿à²à²³à³  
+CDM.GUI.SuperCollection:à²¬à²¹à³-à²žà²à²à³à²°à²¹ à²¶à³à²§à²¿à²žà³à²µà²¿à²à³.  
+CDM.GUI.Translation:à²ªà² à³à²¯à²µà²šà³à²šà³ à²­à²Ÿà²·à²Ÿà²à²€à²°à²¿à²žà²¿.
+CDM.GUI.DepositorMetadata:à²®à³à²à²¡à³à² à² à³à²µà²£à²¿à²Šà²Ÿà²°  
+CDM.HelpButton:à² à²ªà³à²°à²Šà²°à³à²¶à²š à²ªà²°à²Šà³à²à³ à²žà²¹à²Ÿà²¯  
+CDM.HelpButton_Tooltip:à² à²ªà³à²°à²Šà²°à³à²¶à²š à²ªà²°à²Šà³à²à³ 'à²žà²¹à²Ÿà²¯' à²žà²à²¬à²à²§à²¿à²€ à²à²¿.à²à²²à³.à².à²šà³à²šà³ à²€à³à²°à³.  
+CDM.IndexManager.Add_Index:à²žà³à²à²¿à²¯à²šà³à²šà³ à²žà³à²°à²¿à²žà²¿.  
+CDM.IndexManager.Add_Index_Tooltip:à²šà²®à³à²Šà²¿à²€ à²žà³à²à²¿à²¯à²šà³à²šà³ à²žà³à²°à²¿à²žà²¿.  
+CDM.IndexManager.Allfields_Index:à²šà²¿à²à²Šà²¿à²€ à²à²²à³à²²à²Ÿ à²žà³à²à²¿à²à²³à²šà³à²šà³ à²à²à³à²à²Ÿà²à²¿ à²¶à³à²§à²¿à²žà³ à²žà³à²²à²­à³à²¯ à²žà³à²°à²¿à²žà³(à²à²²à³à²²à²Ÿ à²à³à²·à³à²€à³à²°à²à²³à³)  
+CDM.IndexManager.Default_Index_Indicator:[à²žà³à²à²¿à²à²³  à²ªà³à²°à³à²µà²šà²¿à²¯à³à²à²¿à²€]  
+CDM.IndexManager.Index_Exists:à² à²žà³à²à²¿ à²à²à²Ÿà²à²²à³ à² à²žà²à²à³à²°à²¹à²à³à²à³ à²
+à²³à²µà²¡à²¿à²žà²²à²Ÿà²à²¿à²Šà³.  
+CDM.IndexManager.Indexes:à²šà²®à³à²Šà²¿à²€ à²žà³à²à²¿à²à²³à³  
+CDM.IndexManager.Level:à²žà³à²à³à²à²°à²£ à²®à²à³à²:  
+CDM.IndexManager.Level_Tooltip:à²žà³à²à²¿à²¯ à²à²§à²Ÿà²°à²µà²Ÿà²à²¿à²°à³à²µ à²ªà² à³à²¯ à²µà²¿à²­à²Ÿà².  
+CDM.IndexManager.Add_All:à²à²²à³à²²à²µà²šà³à²šà³ à²žà³à²°à²¿à²žà²¿.
+CDM.IndexManager.Add_All_Tooltip:à²ªà³à²°à²€à²¿ à²®à³à²²à²à³à²à³ à²ªà³à²°à²€à³à²¯à³à² à²žà³à²à²¿à²¯à²šà³à²šà³ à²žà³à²°à²¿à²žà²¿.  
+CDM.IndexManager.Edit_Index:à²žà³à²à²¿à²¯à²šà³à²šà³ à²€à²¿à²Šà³à²Šà²¿.  
+CDM.IndexManager.Edit_Index_Tooltip:à²à²¯à³à²Š à²žà³à²à²¿à²¯à²šà³à²šà³ à²ªà²°à²¿à²·à³à²à²°à²¿à²žà²¿.  
+CDM.IndexManager.New_Index:à²¹à³à²ž à²žà³à²à²¿ .  
+CDM.IndexManager.New_Index_Tooltip:à²¹à³à²ž à²žà³à²à²¿à²¯à²šà³à²šà³ à²žà³à²°à²¿à²žà²¿.  
+CDM.IndexManager.Remove_Index:à²žà³à²à²¿à²¯à²šà³à²šà³ à²€à³à²à³.  
+CDM.IndexManager.Remove_Index_Tooltip:à²à²¯à³à²Š à²žà³à²à²¿à²¯à²šà³à²šà³ à²€à³à²à³.  
+CDM.IndexManager.Replace_Index:à²žà³à²à²¿à²¯à²šà³à²šà³ à²¬à²Šà²²à²Ÿà²¯à²¿à²žà²¿.  
+CDM.IndexManager.Replace_Index_Tooltip:à²à²¯à³à²Š à²žà³à²à²¿à²¯à²šà³à²šà³ à²šà²µà³à²à²°à²¿à²žà³.  
+CDM.IndexManager.Select_All:à²à²²à³à²²à²µà²šà³à²šà³ à²à²¯à³à²à³à²®à²Ÿà²¡à³.
+CDM.IndexManager.Select_All_Tooltip:à²à²²à³à²² à²žà³à²à²¿ à²®à³à²²à²à²³à²šà³à²šà³ à²à²¯à³à²à³à²®à²Ÿà²¡à³.  
+CDM.IndexManager.Select_None:à²¯à²Ÿà²µà³à²Šà²šà³à²šà³ à²à²¯à³à²à³à²®à²Ÿà²¡ à²¬à³à²¡.
+CDM.IndexManager.Select_None_Tooltip:à²à²¯à³à²à³ à²®à²Ÿà²¡à²¿à²Š à²à²²à³à²²à²Ÿ à²žà³à²à²¿ à²®à³à²²à²à²³à²šà³à²šà³ à²°à²Šà³à²Šà³ à²®à²Ÿà²¡à²¿.  
+CDM.IndexManager.Set_Default:à²ªà³à²°à³à²µà²šà²¿à²¯à³à²à²¿à²€ à²žà³à²à²¿à²¯à²šà³à²šà³ à²šà²¿à²à²Šà²¿à²žà²¿.  
+CDM.IndexManager.Set_Default_Tooltip:à²à²¯à³à²Š à²žà³à²à²¿à²¯à²šà³à²šà³ à²ªà³à²°à³à²µà²šà²¿à²¯à³à²à²¿à²€à²µà²Ÿà²à²¿ à²šà²¿à²¯à²®à²¿à²žà²¿.  
+CDM.IndexManager.Source:à²žà³à²à²¿à²¯à²²à³à²²à²¿ à²
+à²³à²µà²¡à²¿à²žà²¿.  
+CDM.IndexManager.Source_Tooltip:à²žà³à²à²¿ à²šà²¿à²°à³à²®à²¿à²žà²²à³ à²à²ªà²¯à³à²à²¿à²žà²¬à³à²à²Ÿà²Š à²®à³à²à²¡à³à² à²§à²Ÿà²€à³  
+CDM.IndexManager.Text_Source:à²ªà³à²°à³à²£ à²ªà² à³à²¯ .
+CDM.IndexManager.Text_Source_Tooltip:à²Šà²žà³à²€à²Ÿà²µà³à²à³à²à²³ à²ªà² à³à²¯à²µà²šà³à²šà³ à²žà³à²à²¿à²¯à²²à³à²²à²¿  à²
+à²³à²µà²¡à²¿à²žà²¿.  
+CDM.IndexingManager.Accent_fold:à²à²à³à²à²Ÿà²°à²£à³ à²®à²¡à²¿à²à³.  
+CDM.IndexingManager.Accent_fold_Tooltip:à²à²à³à²à²Ÿà²°à²£à³-à²®à²¡à²¿à²à³ à²žà³à²à²¿à²à²°à²£à²µà²šà³à²šà³ à²šà²¿à²°à³à²®à²¿à²žà³à²µà³à²Šà²°à²¿à²à²Š à²ªà²Šà²à²³à²šà³à²šà³ à²¶à³à²§à²¿à²žà³à²µà²Ÿà²  à²šà²¿à²°à³à²²à²à³à²·à²¿à²žà²¿à²°à³à²µ à²à²à³à²à²Ÿà²°à²£à³à²¯à²šà³à²šà³ à²žà²à³à²°à²¿à²¯ à²à³à²³à²¿à²žà³à²€à³à²€à²Šà³  
+CDM.IndexingManager.Casefold:à²µà³à²¯à²Ÿà²à²°à²£à²Š à²µà²¿à²­à²à³à²€à²¿ à²®à²¡à²¿à²à³.  
+CDM.IndexingManager.Casefold_Tooltip:à²Šà³à²¡à³à²¡ à²®à²€à³à²€à³ à²žà²£à³à²£ à²
+à²à³à²·à²°à²à²³-à²®à²¡à²¿à²à³ à²žà³à²à²¿à²à²°à²£à²µà²šà³à²šà³ à²šà²¿à²°à³à²®à²¿à²žà³à²µà³à²Šà²°à²¿à²à²Š à²Šà³à²¡à³à²¡ à²®à²€à³à²€à³ à²žà²£à³à²£ à²
+à²à³à²·à²°à²à²³-à²ªà³à²°à²€à²¿à²à³à²°à²¿à²¯à³ à²€à³à²°à²¿à²žà²Šà²¿à²°à³à²µ à²¶à³à²§à²šà³à²¯à²šà³à²šà³ à²žà²à³à²°à²¿à²¯ à²à³à²³à²¿à²žà³à²€à³à²€à²Šà³  
+CDM.IndexingManager.Options:à²žà³à²à²¿à²à²°à²£ à²à²à³à²à²¿à² à²à³à²°à²®à²à²³à³:  
+CDM.IndexingManager.Separate_cjk:à²žà²¿à²à³à²à³ à²ªà² à³à²¯à²Š à²­à²Ÿà²à²à²³à³  
+CDM.IndexingManager.Separate_cjk_Tooltip:<html>à²žà²¿à²à³à²à³ à²­à²Ÿà²(à²à³à²šà³à²žà²°à³â, à²à²ªà²Ÿà²šà³à²žà²°à³, à²à³à²°à²¿à²¯à²šà³à²šà²°à³)à²Š à²ªà² à³à²¯. à²ªà³à²°à²€à²¿à²¯à³à²à²Šà³ à²žà²¿à²à³à²à³ à²
+à²à³à²·à²°à²à²³à²šà²¡à³à²µà³ à²à²Ÿà² à²¬à²¿à²¡à³à²µ à²à³à²²à²žà²Šà²²à³à²²à²¿ à²à² à²€à³à²¡à²à²¿à²Šà³. <br>à²à²Šà³ à²žà²¿à²à³à²à³ à²ªà² à³à²¯à²Šà²²à³à²²à²¿ à²¶à³à²§à²¿à²žà³à²µà²²à³à²²à²¿ à²
+à²à²€à³à²¯ à²à²²à³à²²à²Šà²¿à²Šà³à²Šà²²à³à²²à²¿ à²ªà² à³à²¯à²à²³à³ à²®à³à²Šà²²à³ à²ªà²Šà²à²³à²Ÿà²à²¿ à²­à²Ÿà²à²¿à²žà²²à³à²ªà²¡à³à²€à³à²€à²Šà³.</html>  
+CDM.IndexingManager.Stem:à²žà³à²à³à²®à³.
+CDM.IndexingManager.Stem_Tooltip:<html>à²žà³à²à³à²®à³â à²žà³à²à²¿à²à²°à²£à²µà²šà³à²šà³ à²šà²¿à²°à³à²®à²¿à²žà³à²µà³à²Šà²°à²¿à²à²Š à²ªà²Š à²žà³à²à³à²®à³âà²à²³ à²®à³à²²à²¿à²š à²¶à³à²§à²šà³à²¯à²šà³à²šà³ à²žà²à³à²°à²¿à²¯ à²à³à²³à²¿à²žà³à²€à³à²€à²Šà³. <br>à².à²Šà²Ÿ., "farm" à²šà³à²šà³ à²¶à³à²§à²¿à²žà³à²µà²²à³à²²à²¿ "farms" "farming" "farmers" à² à²ªà²Šà²à²³à²šà³à²šà³ à²¹à³à²à²Šà³à²€à³à²€à²Šà³(à²à²à²à³à²²à³à²·à³â à²®à²€à³à²€à³ à²«à³à²°à³à²à²à³âà²à²³à²²à³à²²à²¿ à²®à²Ÿà²€à³à²° à²à²ªà²¯à³à² ).</html>  
+CDM.LanguageManager.Add_Tooltip:à²šà²®à³à²Šà²¿à²žà²¿à²Š à²­à²Ÿà²·à³à²à²³à²šà³à²šà³ à²à²§à²Ÿà²°à²¿à²žà²¿ à²à²à²Šà³ à²žà³à²à²¿ à²µà²¿à²­à²Ÿà²à²µà²šà³à²šà³ à²žà³à²°à²¿à²žà²¿.  
+CDM.LanguageManager.Assigned_Languages:à²šà²¿à²à²Šà²¿à²€ à²­à²Ÿà²·à²Ÿ à²µà²¿à²­à²Ÿà²à²à²³à³  
+CDM.LanguageManager.Default_Language:à²ªà³à²°à³à²µà²šà²¿à²¯à³à²à²¿à²€ à²­à²Ÿà²·à³.  
+CDM.LanguageManager.LanguageMetadata:à²­à²Ÿà²·à²Ÿ à²®à³à²à²¡à³à²:  
+CDM.LanguageManager.LanguageMetadata_Tooltip:à²Šà²žà³à²€à²Ÿà²µà³à²à³ à²­à²Ÿà²·à³à²¯à²šà³à²šà³ à²à²à²¡à³à²¹à²¿à²¡à²¿à²¯à²²à³ à²à²ªà²¯à³à²à²¿à²žà²¬à³à²à²Ÿà²Š à²®à³à²à²¡à³à² à²§à²Ÿà²€à³  
+CDM.LanguageManager.Remove_Tooltip:à²à²¯à³à²Š à²­à²Ÿà²·à²Ÿ à²µà²¿à²­à²Ÿà²à²µà²šà³à²šà³ à²ªà²à³à²à²¿à²¯à²¿à²à²Š à²€à³à²à³.  
+CDM.LanguageManager.Replace_Tooltip:à²à²¯à³à²à³ à²®à²Ÿà²¡à²¿à²Š à²µà²¿à²­à²Ÿà²à²µà²šà³à²šà³ à²à³à²°à³à²€à²¿à²žà²¿à²Š à²¹à³à²ž à²­à²Ÿà²·à³à²à³ à²¬à²Šà²²à²¿à²žà²¿.  
+CDM.LanguageManager.Selector:à²žà³à²°à²¿à²žà²¬à³à²à²Ÿà²Š à²­à²Ÿà²·à³à²à²³à³:
+CDM.LanguageManager.Selector_Tooltip:à²žà³à²à²¿ à²µà²¿à²­à²Ÿà²à²à²³à²šà³à²šà³ à²šà²¿à²°à³à²®à²¿à²žà²²à³ à²à²ªà²¯à³à²à²¿à²ž à²¬à³à²à²Ÿà²Š à²­à²Ÿà²·à³à²à²³à³.  
+CDM.LanguageManager.Set_Default:à²ªà³à²°à³à²µà²šà²¿à²¯à³à²à²¿à²€à²µà²šà³à²šà³ à²šà²¿à²à²Šà²¿à²žà²¿.  
+CDM.LanguageManager.Set_Default_Tooltip:à²à²¯à³à²Š à²­à²Ÿà²·à²Ÿ à²µà²¿à²­à²Ÿà²à²à²³à²šà³à²šà³ à²ªà³à²°à³à²µà²šà²¿à²¯à³à²à²¿à²€à²µà³à²à²Šà³ à²à³à²°à³à²€à²¿à²žà²¿.  
+CDM.LevelManager.Document:à²Šà²žà³à²€à²Ÿà²µà³à²à³  
+CDM.LevelManager.Section:à²µà²¿à²­à²Ÿà²  
+CDM.LevelManager.Paragraph:à²µà²Ÿà²à³à²¯à²µà³à²à²Š  
+CDM.LevelManager.Level_Title:à²žà³à²à²¿à²à²°à²£à²Š à²®à²à³à²à²à²³à³  
+CDM.LevelManager.Default:à²ªà³à²°à³à²µà²šà²¿à²¯à³à²à²¿à²€  
+CDM.LevelManager.Default_Tooltip:à²à²Šà³à²à²° à²žà²à²ªà²°à³à² à²žà²Ÿà²§à²š à²à²°à²¬à³à²à²Ÿà²Š à²ªà³à²°à³à²µà²šà²¿à²¯à³à²à²¿à²€ à²®à²à³à².  
+CDM.MacrosManager.Editor_Tooltip:à²à³à²°à²®à²µà²¿à²§à²¿ à²®à³à²¯à²Ÿà²à³à²°à³à²žà³â à²
+à²šà³à²šà³ à²à²²à³à²²à²¿ à²€à²¿à²Šà³à²Šà²¿  
+CDM.Move.At_Bottom:{0}à²à²à²Ÿà²à²²à³ à²ªà²à³à²à²¿à²¯ à²à³à²³à²­à²Ÿà²à²Šà²²à³à²²à²¿à²°à³à²µà³à²Šà²°à²¿à²à²Š{1}à²šà³à²šà³ à²à²šà³à²šà³ à²à³à²³à²à³ à²€à²³à³à²³à²²à³ à²žà²Ÿà²§à³à²¯à²µà²¿à²²à³à²².
+CDM.Move.At_Top:{0}à²à²à²Ÿà²à²²à³ à²ªà²à³à²à²¿à²¯ à²®à³à²²à³à²­à²Ÿà²à²Šà²²à³à²²à²¿à²°à³à²µà³à²Šà²°à²¿à²à²Š{1}à²šà³à²šà³ à²à²šà³à²šà³ à²®à³à²²à³ à²€à²³à³à²µà³à²Šà³ à²žà²Ÿà²§à³à²¯à²µà²¿à²²à³à²².
+CDM.Move.Cannot:{0}à²°à³à²à³âà²ªà³à²²à²à³â à²®à²€à³à²€à³ à²à²°à³à²à³âà²ªà³à²²à²à³â à²ªà²à³à²à²¿à²¯ à²à³à²šà³à²¯à²²à³à²²à³ à²à²°à²¬à³à²à²Ÿà²Šà³à²Šà²°à²¿à²à²Š à²ªà³à²²à²à³âà²à²šà³âà²šà²šà³à²šà³ à²à³à²³à²à³ à²€à²³à³à²³à²²à³ à²žà²Ÿà²§à³à²¯à²µà²¿à²²à³à²².  
+CDM.Move.Fixed:<html>à²°à³à²à³âà²ªà³à²²à²à³â à²®à²€à³à²€à³ à²à²°à³à²à³âà²ªà³à²²à²à³ à²žà²Ÿà²®à²Ÿà²šà³à²¯à²µà²Ÿà²à²¿ à²ªà²à³à²à²¿à²¯ à²à³à²šà³à²¯à²²à³à²²à²¿à²°à²¬à³à²à³.<br>à²à²µà³à²à²³ à²žà³à²¥à²Ÿà²šà²µà²šà³à²šà³ à²¬à²Šà²²à²Ÿà²¯à²¿à²ž à²¬à³à²à²Ÿà²Šà²°à³ à²šà³à²µà³ à²à²²à³à²à³à²à³â.à²žà²¿à²à²«à³âà²à²¿ à²à²¡à²€à²µà²šà³à²šà³ à²€à²¿à²Šà³à²Šà²¬à³à²à²Ÿà²à³à²€à³à²€à²Šà³. </html>  
+CDM.Move.Move_Down:à²à³à²³à²à³ à²€à²³à³à²³à²¿  
+CDM.Move.Move_Down_Tooltip:à²à²¯à³à²Š à²
+à²à²¶à²µà²šà³à²šà³ à²ªà²à³à²à²¿à²¯ à²à³à²³à²à³à²à³ à²€à²³à³à²³à²¿  
+CDM.Move.Move_Up:à²®à³à²²à³ à²€à²³à³à²³à²¿  
+CDM.Move.Move_Up_Tooltip:à²à²¯à³à²Š à²
+à²à²¶à²µà²šà³à²šà³ à²ªà²à³à²à²¿à²¯ à²®à³à²²à³à²­à²Ÿà²à²à³à²à³  à²€à²³à³à²³à²¿  
+CDM.Move.Title:à²€à²ªà³à²ªà³ - à²€à²³à³à²³à²²à³ à²žà²Ÿà²§à³à²¯à²µà²¿à²²à³à²².  
+CDM.PlugInManager.Add:à²ªà³à²²à²à³âà²à²šà³ à²žà³à²°à²¿à²žà²¿...  
+CDM.PlugInManager.QuickAdd:à²ªà³à²²à²à³âà²à²šà³ à²žà³à²°à²¿à²žà²¿.  
+CDM.PlugInManager.Add_Tooltip:à²šà²¿à²à²Šà²¿à²žà²¿à²Š à²ªà³à²²à²à³âà²à²šà³à²šà³âà²šà²šà³à²šà³ à² à²žà²à²à³à²°à²¹à²Š à²à³à²€à³ à²¬à²³à²žà²¿.  
+CDM.PlugInManager.Assigned:à²šà²¿à²à²Šà²¿à²žà²¿à²Š à²ªà³à²²à²à³âà²à²šà³.
+CDM.PlugInManager.Configure:à²ªà³à²²à²à³âà²à²šà³  à²žà²®à²à³à²°à²Ÿà²à³à²€à²¿ ...  
+CDM.PlugInManager.Configure_Tooltip:à²à²¯à³à²Š à²ªà³à²²à²à³âà²à²šà³âà²à²³ à²à²à³à²à²¿à²à²à²³à²šà³à²šà³ à²¬à²Šà²²à²Ÿà²¯à²¿à²žà²¿.  
+CDM.PlugInManager.Ignore:à²ªà³à²²à²à³âà²à²šà³âà²à²³à²šà³à²šà³ à²žà³à²°à²¿à²ž à²¬à³à²¡à²¿.  
+CDM.PlugInManager.Ignore_Tooltip:à² à²žà²à²à³à²°à²¹à²à³à²à³ à²¯à²Ÿà²µà³à²Šà³ à²ªà³à²²à²à³âà²à²šà³âà²à²³à²šà³à²šà³ à²žà³à²°à²¿à²ž à²¬à³à²¡à²¿.  
+CDM.PlugInManager.PlugIn:à²žà³à²°à²¿à²žà²¬à³à²à²Ÿà²Š à²ªà³à²²à²à³âà²à²šà³âà²à²³à²šà³à²šà³ à²à²°à²¿à²žà²¿:  
+CDM.PlugInManager.PlugIn_Tooltip:à²žà²à²à³à²°à²¹à²Šà²²à³à²²à²¿ à²²à²­à³à²¯à²µà²¿à²°à³à²µ à²ªà³à²²à²à³âà²à²šà³âà²à²³à³  
+CDM.PlugInManager.PlugIn_Str:à²ªà³à²²à²à³âà²à²šà³  
+CDM.PlugInManager.PlugIn_XML_Parse_Failed:{0}à²ªà³à²²à²à³âà²à²šà³âà²à³ à²¬à³à²à²Ÿà²Š à²à²°à³âà²à³à²¯à³âà²®à³à²à²à³âà²à²³à²šà³à²šà³  à²à³à²°à³à²€à²¿à²žà²²à³ à²žà²Ÿà²§à³à²¯à²µà²Ÿà²à²²à²¿à²²à³à²²\n.à²ªà³à²²à²à³à²à²šà³âà²«à³.à²ªà²¿à²à²²à³  à²žà³à²à³à²°à²¿à²ªà³à²à³ââ à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²¡à³à²µà³à²²à²ªà²°à³ à²à³à²¡à³âà²š à²µà²¿à²­à²Ÿà² 2.1 à²°à²²à³à²²à²¿ à²šà²®à³à²Šà²¿à²žà²¿à²Š à²ªà³à²²à²à³âà²à²šà³ \nà²à³à²°à²®à²µà³  - à²à²à³à²žà³âà²à²®à³âà²à²²à³  à²§à³à²µà²à²µà²šà³à²šà³  à²¹à³à²à²Šà²¿à²Šà³à²¯à³ à²à²à²¬à³à²Šà²šà³à²šà³ à²à²Ÿà²€à²°à²¿ à²®à²Ÿà²¡à²¿à²à³à²³à³à²³à²¿.  
+CDM.PluginManager.Plugin_List_XML_Parse_Failed:à²ªà³à²²à²à³à²à²šà³âà²«à³.à²ªà²¿à²à²²à³âà²šà³à²šà³  à²à²ªà²¯à³à²à²¿à²žà²¿à²Š à²ªà³à²²à²à³âà²à²šà³âà²à²³ à²ªà²à³à²à²¿à²¯à²šà³à²šà³ à²€à³à²°à³à²¯à²²à²Ÿà²à²²à²¿à²²à³à²².  
+CDM.PluginManager.Plugin_Suggestion_Prompt:à² à²žà²à²à³à²°à²¹à²Šà²²à³à²²à²¿ à²¯à²µà³à²Šà³ à²ªà³à²²à²à³âà²à²šà³ "{0}"à²à²¡à²€à²Š à²à²Ÿà²°à³à²¯à²µà²¿à²§à²Ÿà²š à²šà²¿à²°à³à²à³à²·à²¿à²žà³à²€à³à²€à²¿à²²à³à²². à² à²à²¡à²€à²Š à²à²Ÿà²°à³à²¯à²µà²¿à²§à²Ÿà²š  à²à³à²³à²à²à²¡ à²ªà³à²²à²à³âà²à²šà³âà²à²³à²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²¬à²¹à³à²Šà³.à²à² à²šà³à²µà³ à²šà²¿à²®à³à²® à²žà²à²à³à²°à²¹à²à³à²à³ à²à²°à²¿à²žà³à²µà³à²Šà²° à²®à³à²²à² à²à²à²Šà²šà³à²šà³ à²žà³à²°à²¿à²žà²¬à²¹à³à²Šà³  à²®à²€à³à²€à³ "à²à²¡à³ à²¬à²à²šà³"à²šà²šà³à²šà³ à²à²€à³à²€à³à²µà³à²Šà²° à²®à³à²²à².(à²žà³à²à²šà³:à²¡à²¿à²žà³à²šà³ à²ªà³à²¯à²Ÿà²šà³âà²š "à²¡à²Ÿà²à³à²¯à³à²®à³à²à²à³ à²ªà³à²²à²à²¿à²šà³"à²šà²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²¿ à²šà³à²µà³ à²ªà³à²²à²à²¿à²šà³âà²à²³ à²ªà²à³à²à²¿à²¯à²šà³à²šà³ à²¯à²Ÿà²µà³à²Šà³ à²žà²®à²¯à²Šà²²à³à²²à²¿ à²¬à²Šà²²à²Ÿà²¯à²¿à²žà²¬à²¹à³à²Šà³)  
+CDM.PlugInManager.Remove:à²ªà³à²²à²à²¿à²šà³ à²€à³à²à³.
+CDM.PlugInManager.Remove_Tooltip:à²à²¯à³à²Š à²ªà³à²²à²à²¿à²šà³âà²à²³à²šà³à²šà³ à²ªà²à³à²à²¿à²¯à²¿à²à²Š à²€à³à²à³.
+CDM.PluginManager.SuggestedPluginListTitle:à²à²¡à²€à²à³à²à³ à²žà³à²à²¿à²žà²¿à²Š à²ªà³à²²à²à²¿à²šà³âà²à²³à³.
+CDM.SearchMetadataManager.Component:à²¶à³à²§à²¿à²žà³ à²ªà²°à²¿à²µà²¿à²¡à²¿à²¯à²²à³à²²à²¿ à²
+à²à²¶  
+CDM.SearchMetadataManager.Component_Name:à²ªà² à³à²¯à²µà²šà³à²šà³ à²€à³à²°à²¿à²žà³.
+CDM.SearchMetadataManager.Type_index:à²žà³à²à²¿  
+CDM.SearchMetadataManager.Type_level:à²®à²à³à²  
+CDM.SearchMetadataManager.Type_partition:à²­à²Ÿà²  
+CDM.SearchMetadataManager.Type_language:à²­à²Ÿà²·à²Ÿ à²­à²Ÿà²  
+CDM.SubcollectionManager.Add:à²«à²¿à²²à³à²à²°à³âà²šà³à²šà³ à²žà³à²°à²¿à²žà²¿.
+CDM.SubcollectionManager.Add_Tooltip:à²à³à²°à³à²€à²¿à²žà²¿à²Š à²«à²¿à²²à³à²à²°à³âà²šà³à²šà³ à²žà²à²à³à²°à²¹à²à³à²à³ à²žà³à²°à²¿à²žà²¿.
+CDM.SubcollectionManager.Assigned:à²à²ªà²žà²à²à³à²°à²¹à²à³à²à³ à²šà²®à³à²Šà²¿à²žà²¿à²Š à²«à²¿à²²à³à²à²°à²à²³à³.
+CDM.SubcollectionManager.Exclude:à²¹à³à²°à²à³ à²¬à²¿à²¡à²¿  
+CDM.SubcollectionManager.Flags:à²¹à³à²²à²¿à²žà³à²µà²Ÿà² à²žà³à²¥à²Ÿà²ªà²¿à²žà²¬à³à²à²Ÿà²Š à²¬à²Ÿà²µà³à²à²à²³à³.  
+CDM.SubcollectionManager.Flags_Tooltip:à²¹à³à²²à²¿à²žà³à²µà²Ÿà² à²à²ªà²¯à³à²à²¿à²žà²¬à³à²à²Ÿà²Š à²à³à²°à²®à²¬à²Šà³à²§ à²ªà²Šà²µà²¿à²šà³à²¯à²Ÿà²ž à²¬à²Ÿà²µà³à²à²à²³à³(à²à²Šà²Ÿ:" i" - for case insensitive matching)  
+CDM.SubcollectionManager.Include:à²žà³à²°à²¿à²žà³  
+CDM.SubcollectionManager.Inclusive:à²¹à³à²²à³à²µ à²à²¡à²€à²à²³à²šà³à²šà³ à²à²šà³ à²®à²Ÿà²¡à²¬à³à²à³?
+CDM.SubcollectionManager.Language_Controls:à²­à²Ÿà²·à³à²à²³à²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà²¿.
+CDM.SubcollectionManager.Match:à²¹à³à²²à²¿à²žà²¬à³à²à²Ÿà²Š à²žà²Ÿà²®à²Ÿà²šà³à²¯ à²ªà²Šà²à³à²à²à²à²³à³:
+CDM.SubcollectionManager.Match_Tooltip:à²à²ªà²žà²à²à³à²°à²¹à²Šà²²à³à²²à²¿à²°à³à²µ à²à³à²°à²à²¥à²à²³à²šà³à²šà³ à²à³à²°à³à²€à²¿à²žà³à²µ à²ªà²Šà²à³à²à².
+CDM.SubcollectionManager.Name:à²à²ªà²žà²à²à³à²°à²¹à²Š à²«à²¿à²²à³à²à²°à³ à²¹à³à²žà²°à³:
+CDM.SubcollectionManager.Name_Tooltip:à²à²ªà²žà²à²à³à²°à²¹à²Š à²¹à³à²ž à²«à²¿à²²à³à²à²°à³ à²¹à³à²žà²°à³.
+CDM.SubcollectionManager.Remove:à²«à²¿à²²à³à²à²°à²šà³à²šà³ à²€à³à²à³à²¯à²¿à²°à²¿.
+CDM.SubcollectionManager.Remove_Tooltip:à²à²¯à³à²Š à²«à²¿à²²à³à²à²°à²šà³à²šà³ à²ªà²à³à²à²¿à²¯à²¿à²à²Š à²€à³à²à³à²¯à²¿à²°à²¿.
+CDM.SubcollectionManager.Replace:à²«à²¿à²²à³à²à²°à²šà³à²šà³ à²¬à²Šà²²à²¿à²žà²¿.
+CDM.SubcollectionManager.Replace_Tooltip:à²à²¯à³à²à³à²®à²Ÿà²¡à²¿à²Š à²«à²¿à²²à³à²à²°à²¿à²à³ à²žà²à²­à²à²Šà²¿à²žà²¿à²Š à²µà²¿à²·à²¯à²à²³à²šà³à²šà³ à²šà²µà³à²à²°à²¿à²žà²¿.
+CDM.SubcollectionManager.Source:à²¹à³à²²à²¿à²žà²¬à³à²à²Ÿà²Š à²à³à²°à²à²¥ à²µà³à²¶à²¿à²·à³à²à³à²¯à²à²³à³:  
+CDM.SubcollectionManager.Source_Tooltip:à²
+à²°à³à²¹à²€à³ à²šà²¿à²°à³à²§à²Ÿà²°à²®à²Ÿà²¡à²²à³ à²¬à³à²à²Ÿà²Š à²Šà²žà³à²€à²Ÿà²µà³à²à³ à²µà³à²¶à²¿à²·à³à²à³à²¯à²à²³à³  
+CDM.SubcollectionManager.Subcollection_Controls:à²«à²¿à²²à³à²à²°à³âà²à²³à²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà²¿.
+CDM.SubcollectionManager.Subindex_Controls:à²µà²¿à²­à²Ÿà²à²à²³à²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà²¿.  
+CDM.SubcollectionIndexManager.Add_Subindex:à²µà²¿à²­à²Ÿà²à²à²³à²šà³à²šà³ à²žà³à²°à²¿à²žà²¿.  
+CDM.SubcollectionIndexManager.Add_Subindex_Tooltip:à²à³à²°à³à²€à²¿à²žà²¿à²Š à²µà²¿à²­à²Ÿà²à²µà²šà³à²šà³ à² à²žà²à²à³à²°à²¹à²à³à²à³ à²žà³à²°à²¿à²žà²¿ Add the specified partition to this collection  
+CDM.SubcollectionIndexManager.Default_Partition_Indicator:[à²¡à²¿à²«à²Ÿà²²à³à²à³ à²µà²¿à²­à²Ÿà²]
+CDM.SubcollectionIndexManager.Remove_Subindex:à²µà²¿à²­à²Ÿà²à²µà²šà³à²šà³ à²€à³à²à³à²¯à²¿à²°à²¿.  
+CDM.SubcollectionIndexManager.Remove_Subindex_Tooltip:à²à²¯à³à²Š à²µà²¿à²­à²Ÿà²à²µà²šà³à²šà³ à² à²žà²à²à³à²°à²¹à²Šà²¿à²à²Š à²€à³à²à³à²¯à²¿à²°à²¿.  
+CDM.SubcollectionIndexManager.Replace_Subindex:à²µà²¿à²­à²Ÿà²à²µà²šà³à²šà³ à²¬à²Šà²²à²¿à²žà²¿.  
+CDM.SubcollectionIndexManager.Replace_Subindex_Tooltip:à²à²¯à³à²Š à²µà²¿à²­à²Ÿà²à²µà²šà³à²šà³ à²šà²µà³à²à²°à²¿à²žà²¿.  
+CDM.SubcollectionIndexManager.Set_Default_Subindex:à²ªà³à²°à³à²µà²šà²¿à²¯à³à²à²¿à²€à²µà²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà²¿.  
+CDM.SubcollectionIndexManager.Set_Default_Subindex_Tooltip:à²à²¯à³à²Š à²µà²¿à²­à²Ÿà²à²µà²šà³à²šà³ à²ªà³à²°à³à²µà²šà²¿à²¯à³à²à²¿à²€ à²à²à²Šà³ à²à³à²°à³à²€à²¿à²žà²¿.  
+CDM.SubcollectionIndexManager.Source:à² à²€à²³à²¹à²Šà²¿à²¯ à²®à³à²²à³ à²µà²¿à²­à²Ÿà²à²¿à²žà²¿ :  
+CDM.SubcollectionIndexManager.Source_Tooltip:à²µà²¿à²­à²Ÿà² à²°à³à²ªà²¿à²žà²²à³ à²à²ªà²¯à³à²à²¿à²žà²¬à³à²à²Ÿà²Š à²à²ªà²žà²à²à³à²°à²¹ à²«à²¿à²²à³à²à²°à³âà²à²³à³.  
+CDM.SubcollectionIndexManager.Subindexes:à²à²ªà²žà²à²à³à²°à²¹à²à³à²à³ à²šà²®à³à²Šà²¿à²žà²¿à²Š à²µà²¿à²­à²Ÿà²à²à²³à³  
+CDM.TranslationManager.Add:à²­à²Ÿà²·à²Ÿà²à²€à²° à²žà³à²°à²¿à²žà²¿.
+CDM.TranslationManager.Add_Tooltip:à²šà²®à³à²Šà²¿à²žà²¿à²Š à²­à²Ÿà²·à²Ÿà²à²€à²°à²µà²šà³à²šà³ à²žà²à²à³à²°à²¹à²à³à²à³ à²žà³à²°à²¿à²žà²¿.
+CDM.TranslationManager.Affected_Features:à²žà³à²²à²­à³à²¯à²à²³à³  
+CDM.TranslationManager.Assigned_Fragments:à²šà²®à³à²Šà²¿à²žà²¿à²Š à²­à²Ÿà²·à²Ÿà²à²€à²°à²à²³à³.
+CDM.TranslationManager.Default_Text:à²®à³à²Šà²² à²ªà² à³à²¯ à²­à²Ÿà².
+CDM.TranslationManager.Fragment_Column:à²ªà² à³à²¯ à²­à²Ÿà².
+CDM.TranslationManager.Language:à²­à²Ÿà²·à²Ÿà²à²€à²°à²¿à²žà²¬à³à²à²Ÿà²Š à²­à²Ÿà²·à³:
+CDM.TranslationManager.Language_Column:à²­à²Ÿà²·à³.
+CDM.TranslationManager.Language_Tooltip:à²­à²Ÿà²·à²Ÿà²à²€à²°à²à³à²³à³à²³à²¬à³à²à²Ÿà²à²¿à²°à³à²µ à²­à²Ÿà²·à³.
+CDM.TranslationManager.Remove:à²­à²Ÿà²·à²Ÿà²à²€à²°à²µà²šà³à²šà³ à²€à³à²à³à²¯à²¿à²°à²¿.
+CDM.TranslationManager.Remove_Tooltip:à²à²¯à³à²Š à²­à²Ÿà²·à²Ÿà²à²€à²°à²µà²šà³à²šà³ à²žà²à²à³à²°à²¹à²Šà²¿à²à²Š à²€à³à²à³à²¯à²¿à²°à²¿.
+CDM.TranslationManager.Replace:à²­à²Ÿà²·à²Ÿà²à²€à²°à²µà²šà³à²šà³ à²¬à²Šà²²à²¿à²žà²¿.
+CDM.TranslationManager.Replace_Tooltip:à²à²¯à³à²Š à²­à²Ÿà²·à²Ÿà²à²€à²°à²µà²šà³à²šà³ à²šà²µà³à²à²°à²¿à²žà²¿.
+CDM.TranslationManager.Translation:à²­à²Ÿà²·à²Ÿà²à²€à²°à²¿à²žà²²à³à²ªà²à³à² à²ªà² à³à²¯.
+CDM.TranslationManager.Translation_Tooltip:à²­à²Ÿà²·à²Ÿà²à²€à²°à²¿à²žà²²à³à²ªà²à³à² à²ªà²Šà²à³à²à³à²à²µà²šà³à²šà³ à²à²²à³à²²à²¿ à²šà²®à³à²Šà²¿à²žà²¿.
+CDM.DepositorMetadataManager.Warning:à²à²šà²¿à²·à³à² à²ªà²à³à²· à²à²à²Šà³ à²®à³à²à²¡à³à² à²§à²Ÿà²€à³à²µà²šà³à²šà²Ÿà²Šà²°à³ à²à²°à²¿à²žà²¿à²° à²¬à³à²à³.  
+#*******************
+#
+#***** Collection *****
+Collection.Collection:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>à²žà²à²à³à²°à²¹</FONT></STRONG></HTML>  
+Collection.Delete_Tooltip:à²à²¯à³à²Š à²à²¡à²€à²à²³à³ à²®à²€à³à²€à³ à²à²¡à²€à²à²à³à²à³à²à²³à²šà³à²šà³ à²€à³à²à³  
+Collection.Filter_Tooltip:à²à²¡à²€ à²µà³à²à³à²·à²Šà²²à³à²²à²¿ à²à²Ÿà²£à³à²µ à²à²¡à²€à²à²³à²šà³à²šà³ à²žà³à²®à²¿à²€à²à³à²³à²¿à²žà²¿.
+Collection.New_Folder_Tooltip:à²¹à³à²žà²Šà³à²à²Šà³  à²à²¡à²€à²à²à³à²à³ à²šà²¿à²°à³à²®à²¿à²žà²¿.  
+Collection.No_Collection:à²žà²à²à³à²°à²¹ à²à²²à³à²².
+Collection.No_Collection_Loaded:à²¯à²Ÿà²µà³à²Šà³ à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²à²°à²¿à²žà²¿à²²à³à²².
+Collection.Stop:à²šà²¿à²²à³à²²à³.
+Collection.Stop_Tooltip:à²à²¡à²€à²à²³ à²šà²à²²à³ à²®à²Ÿà²¡à³à²µà³à²Šà²šà³à²šà³ à²šà²¿à²²à³à²²à²¿à²žà³.
+Collection.Workspace:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>à²à²Ÿà²°à³à²¯à²šà²¿à²°à³à²µà²Ÿà²£ à²žà³à²¥à²³â</FONT></STRONG></HTML>  
+#**********************
+#
+#***** CollectionBuilt *****
+CollectionBuilt.Message:à²žà³Šà²à³à²°à²¹ à²žà³à²°à²¿à²·à³à²à²¿à²¯à²Ÿà²à²¿à²Šà³ à²®à²€à³à²€à³ à²à²Šà²° à²®à³à²šà³à²šà³à² à²šà³à²¡à²¬à²¹à²Šà³.
+CollectionBuilt.Title:à²žà²à²à³à²°à²¹ à²°à²à²šà²Ÿà²à²Ÿà²°à³à²¯à²Š à²«à²²à²¿à²€à²Ÿà²à²¶.
+#***************************
+#
+#******ScheduldBuilt******
+ScheduleBuilt.Message:à² à²žà²à²à³à²°à²¹à²Š à²šà²¿à²¯à²€à²à²Ÿà²²à²¿à²à²à²³à³ à²ªà²°à²¿à²µà²°à³à²€à²¿à²žà²²à³à²ªà²à³à²à²¿à²Šà³.  
+ScheduleBuilt.Title:à²žà²à²à³à²°à²¹ à²šà²¿à²¯à²€à²à²Ÿà²²à²¿à²à²à²³ à²ªà²°à²¿à²£à²Ÿà²®  
+#***************************
+#
+#***** CollectionManager *****
+CollectionManager.Schedule_Failed:à²€à²ªà³à²ªà²Ÿà²à²¿à²Šà³ à²®à²€à³à²€à³ à²žà²à²à³à²°à²¹ à²à²à³à²à²µ à²à²Ÿà²°à³à²¯à²à³à²°à²®à²µà²šà³à²šà³ à²šà²¿à²¯à²€à²à²Ÿà²²à²¿à²à²µà²Ÿà²à²¿ à²®à²Ÿà²¡à²²à²Ÿà²à²²à²¿à²²à³à²²  
+CollectionManager.Build_Cancelled:à²à³à²°à²à²¥à²žà²à²à³à²°à²¹ à²šà²¿à²°à³à²®à²Ÿà²£à²µà²šà³à²šà³ à²°à²Šà³à²Šà³ à²®à²Ÿà²¡à²²à²Ÿà²à²¿à²Šà³.
+CollectionManager.Cannot_Create_Collection:à²à²à²Šà³ à²€à²ªà³à²ªà²Ÿà²à²¿à²Šà³ à²®à²€à³à²€à³ à²à³à²°à²à²¥ à²žà²à²à³à²°à²¹ à²šà²¿à²°à³à²®à²Ÿà²£ à²žà²Ÿà²§à³à²¯à²µà²Ÿà²à²²à²¿à²²à³à²².
+CollectionManager.Cannot_Create_Collection_With_Reason:à²à³à²°à²à²¥à²žà²à²à³à²°à²¹ à²šà²¿à²°à³à²®à²Ÿà²£ à²žà²Ÿà²§à³à²¯à²µà²Ÿà²à²²à²¿à²²à³à²² à²à²à³à²à²Šà²°à³:\n{0-à²€à²ªà³à²ªà³ à²žà²à²Šà³à²¶}
+CollectionManager.Cannot_Delete_Index:à²¹à²³à³à²¯ à²žà³à²à²¿à²à²³à²šà³à²šà³ à²€à³à²à³à²¯à²²à²Ÿà²à²Š à²à²Ÿà²°à²£,à²žà²à²à³à²°à²¹à²Š à²ªà³à²šà²°à³â à²šà²¿à²°à³à²®à²Ÿà²£ à²à²à³à²€à³à²€à²¿à²²à³à²²;\nà²à³à²°à³à²šà³âà²žà³à²à³à²šà³  à²
+à²¥à²Ÿà²µà²Ÿ à²¬à³à²°à³ à²¯à²Ÿà²µà³à²Šà³ à²ªà³à²°à³à²à³à²°à²Ÿà²à²à²³à³ à² à²žà²à²¬à²à²§à²¿à²žà²¿à²Š à²à²¡à²€à²à²³à²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà³à²€à³à²€à²¿à²²à³à²²à²µà³à³Šà²¬à³à²Šà²šà³à²šà³ à²à²à²¿à²€à²ªà²¡à²¿à²žà²¿à²à³à³Šà²¡à³\nà²®à²€à³à²€à³ à²ªà³à²°à²¯à²€à³à²šà²¿à²žà²¿.
+CollectionManager.Cannot_Delete_Index_Log:à²¹à²³à³à²¯ à²žà³à²à²¿à²à²³à²šà³à²šà³ à²€à³à²à³à²¯à²²à²Ÿà²à³à²€à³à²€à²¿à²²à³à²²;à²à²Šà³à²Šà²°à²¿à²à²Š à²à³à²°à²à²¥à²à²³ à²à²®à²Šà³à²à²Ÿà²°à³à²¯ à²šà²¿à²à²€à²¿à²Šà³.
+CollectionManager.Cannot_Open:\n{0-Collection file path}\nà²¯à²²à³à²²à²¿à²°à³à²µ à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²€à³à²°à³à²¯à²²à²Ÿà²à³à²€à³à²€à²¿à²²à³à²².
+CollectionManager.Cannot_Open_With_Reason:à² à²žà²à²à³à²°à²¹à²Šà²²à³à²²à²¿:\n{0-Collection file path}\nà²€à³à²°à³à²¯à²²à²Ÿà²à³à²€à³à²€à²¿à²²à³à²² à²à²à³à²à²Šà²°à³:\n{1-à²€à²ªà³à²ªà³ à²žà²à²Šà³à²¶}
+CollectionManager.Creating_Collection:à²à³à²°à²à²¥à²žà²à²à³à²°à²¹ à²šà²¿à²°à³à²®à²Ÿà²£à²µà²Ÿà²à³à²€à³à²€à²¿à²Šà³.
+CollectionManager.Creating_Collection_Please_Wait:à²à³à²°à²à²¥à²žà²à²à³à²°à²¹ à²šà²¿à²°à³à²®à²Ÿà²£à²µà²Ÿà²à³à²€à³à²€à²¿à²Šà³;à²Šà²¯à²µà²¿à²à³à²à³ à²à²Ÿà²¯à²¿à²°à²¿...
+CollectionManager.Loading_Collection:à²à³à²°à²à²¥à²žà²à²à³à²°à²¹ à²à²°à²¿à²žà²²à²Ÿà²à³à²€à³à²€à²¿à²Šà³.
+CollectionManager.Loading_Collection_Please_Wait:à²à³à²°à²à²¥à²žà²à²à³à²°à²¹ à²à²°à²¿à²žà²²à²Ÿà²à³à²€à³à²€à²¿à²Šà³,à²Šà²¯à²µà²¿à²à³à²à³ à²à²Ÿà²¯à²¿à²°à²¿...
+CollectionManager.Loading_Successful:à²à³à²°à²à²¥à²žà²à²à³à²°à²¹ à²à²°à²¿à²žà²²à²Ÿà²¯à²¿à²€à³ {0}.
+CollectionManager.Missing_Config:à² à²žà²à²à³à²°à²¹à²à³à²à³ à²
+à²à²€à³à²¯à²µà²Ÿà²Š à²à²²à³à²à³à²à³â.à²žà²¿à²à²ªà³âà²à²¿ à²à²¡à²€ à²à²²à³à²².
+CollectionManager.Not_Col_File:'{0}'à²²à³à²¬à³à²°à²°à²¿à²¯à²šà³ à²à²à²à²°à³ à²«à³à²žà³âà²š à²à³à²°à²à²¥à²žà²à²à³à²°à²¹ à²à²¡à²€à²µà²²à³à²² (.col)
+CollectionManager.No_Config_File:à²à²²à³à²à³à²à³â.à²žà²¿à²à²«à³âà²à²¿ à²à²¡à²€ à²à²®à³âà²à³à²à³à²²à³â.à²ªà²¿à²²à³âà²šà²¿à²à²Š à²šà²¿à²°à³à²®à²¿à²€à²µà²Ÿà²à²¿à²²à³à²².  
+CollectionManager.Preview_Ready_Failed:à²à²à²Šà³ à²€à²ªà³à²ªà²¿à²š à²à²Ÿà²°à²£à²Šà²¿à²à²Š à²žà²à²à³à²°à²¹à²Š à²®à³à²šà³à²šà³à² à²žà²Ÿà²§à³à²¯à²µà²Ÿà²à³à²µà³à²Šà²¿à²²à³à²².
+CollectionManager.Preview_Ready_Title:à²žà²à²à³à²°à²¹ à²®à³à²šà³à²šà³à² à²žà³à²¥à²¿à²€à²¿.
+CollectionManager.Schedule_Ready_Title:à²šà²¿à²¯à²€à²à²Ÿà²²à²¿à² à²žà³à²¥à²¿à²€à²¿  
+CollectionManager.Build_Not_Moved:à²šà²¿à²°à³à²®à²Ÿà²£ à²à³à²ªà²¿à²¡à²¿à²¯à²šà³à²šà³ à²žà³à²¥à²³à²Ÿà²à²€à²°à²¿à²žà²²à²Ÿà²à³à²€à³à²€à²¿à²²à³à²².à²šà²¿à²°à³à²®à²¿à²žà²²à³ à²®à²€à³à²€à³à²®à³à²®à³ à²ªà³à²°à²¯à²€à³à²šà²¿à²žà²¿,à²
+à²¥à²µà²Ÿ à²à³à²°à³à²šà³âà²žà³à²à³à²šà³ à²¹à²Ÿà²à³ à²žà²°à³à²µà²°à³âà²šà²¿à²à²Š à²¹à³à²°à²à³ à²¬à²à²Šà³,à²à³à²°à³à²šà³âà²žà³à²à³à²šà³âà²šà²šà³à²šà³ à²®à²€à³à²€à³ à²ªà³à²°à²Ÿà²°à²à²­à²¿à²žà²¿,à²šà²à²€à²° à²šà²¿à²°à³à²®à²¿à²žà²²à³ à²¯à²€à³à²šà²¿à²žà²¿.à²¹à³à²à³ à²®à²Ÿà²¡à³à²µà³à²Šà²°à²¿à²à²Š à²€à³à²à²Šà²°à³ à²¬à²à³à²¹à²°à²¿à²¯à²¬à³à²à³.
+CollectionManager.Index_Not_Deleted:à²žà³à²à²¿ à²à³à²ªà²¿à²¡à²¿à²¯à²šà³à²šà³ à²€à³à²à³à²¯à²²à²Ÿà²à³à²€à³à²€à²¿à²²à³à²²;à²à³à²°à³à²šà³âà²žà³à²à³à²šà³ à²¹à²Ÿà²à³ à²žà²°à³à²µà²°à³âà²šà²¿à²à²Š à²¹à³à²°à²à³ à²¬à²à²Šà³,à²à³à²°à³à²šà³âà²žà³à²à³à²šà³âà²šà³à²šà³ à²®à²€à³à²€à³ à²ªà³à²°à²Ÿà²°à²à²­à²¿à²žà²¿, à²šà²à²€à²° à²šà²¿à²°à³à²®à²¿à²žà²²à³ à²¯à²€à³à²šà²¿à²žà²¿.à²¹à³à²à³ à²®à²Ÿà²¡à³à²µà³à²Šà²°à²¿à²à²Š à²€à³à²à²Šà²°à³ à²¬à²à³à²¹à²°à²¿à²¯à²¬à³à²à³.
+CollectionManager.Install_Exception:à²žà²à²à³à²°à²¹à²žà³à²¥à²Ÿà²ªà²šà³à²¯ à²žà²®à²¯à²Šà²²à³à²²à²¿ à²à²à²Šà³ à²ªà³à²°à²€à²¿à²·à³à²§ à²à²Ÿà²£à²¿à²žà²¿à²à³à²à²¡à²¿à²Šà³:à²ªà³à²°à²Ÿà²¯à²·:à²žà²à²¬à²à²§à²¿à²€ à²žà²à²à³à²°à²¹ à²à²¡à²€à²à²³à³ à²µà²¿à²à²¡à³à²žà³âà²šà²¿à²à²Š à²¬à³à²à²®à³à²Šà³à²°à³ à²¹à²Ÿà²à²²à³à²ªà²à³à²à²¿à²µà³;à²žà²à²¬à²à²§à²¿à²€ à²žà²à²à³à²°à²¹ à²à²¡à²€à²à²³à³  à²¬à³à²°à³ à²¯à²Ÿà²µà³à²Šà³ à²ªà³à²°à³à²à³à²°à²Ÿà²®à³ à²à²ªà²¯à³à²à²¿à²žà²¿ à²€à³à²°à³à²Šà²¿à²²à³à²²à²µà³à²à²Šà³ à²à²à²¿à²€à²ªà²¡à²¿à²žà²¿à²à³à²³à³à²³à²¿;à²šà²à²€à²° à²žà²à²à³à²°à²¹ à²ªà³à²šà²°à³à²šà²¿à²°à³à²®à²Ÿà²£à²à³à²à³ à²ªà³à²°à²¯à²€à³à²šà²¿à²žà²¿.
+#*****************************
+#
+#***** CollectionPopupMenu *****
+CollectionPopupMenu.Delete:à²€à³à²à³à²¯à²¿à²°à²¿  
+CollectionPopupMenu.New_Dummy_Doc:à²šà²µà³à²š à²à³à²€à² à²¡à²®à³à²®à²¿ à²Šà²žà³à²€à²Ÿà²µà³à²à³  
+CollectionPopupMenu.New_Folder:à²¹à³à²ž à²à²¡à²€à²à²à³à²à³  
+CollectionPopupMenu.Refresh:à²à²¡à²€à²à²à³à²à³  à²šà³à²à²Š à²°à³à²«à³à²°à³à²¶à³â  
+CollectionPopupMenu.Rename:à²¬à³à²°à³ à²¹à³à²žà²°à³ à²à³à²¡à²¿  
+CollectionPopupMenu.Replace:à²¬à²Šà²²à²¿à²žà²¿  
+#*******************************
+#
+#***** CreatePane *****
+CreatePane.Schedule_Progress:à²à²à³à²à²¿à²à²à²³ à²¬à³à²³à²µà²£à²¿à²à³  
+CreatePane.Schedule:à²à²à³à²à²¿à²à²à²³ à²šà²¿à²¯à²€à²à²Ÿà²²à²¿à²  
+CreatePane.Schedule_Tooltip:à²à²à³à²à²¿à²à²à²³ à²¯à²Ÿà²à²€à³à²°à²¿à² à²žà²à²à³à²°à²¹à²à²³ à²šà²¿à²°à³à²®à²Ÿà²£à²à²³ à²šà²¿à²¯à²€à²à²Ÿà²²à²¿à²à²à²³à³  
+CreatePane.Schedule_Build:à²à²à³à²à²¿à²à²à²³ à²à²Ÿà²°à³à²¯  
+CreatePane.Schedule_Build_Tooltip:à²à²à³à²à²¿à²à²à²³ à²¯à²Ÿà²à²€à³à²°à²¿à² à²žà²à²à³à²°à²¹à²à²³ à²šà²¿à²°à³à²®à²Ÿà²£  
+CreatePane.Build:à²šà²¿à²°à³à²®à²Ÿà²£ à²à²à³à²à²¿à²à²à²³à³  
+CreatePane.Build_Tooltip:à²žà³à²à³à²à²°à²£ à²®à²€à³à²€à³ à²µà²°à³à²à³à²à²°à²£ à²à²à³à²à²à²³à²²à³à²²à²¿ à²à²°à³à²µ à²à³à²°à²®à²à²³ à²à²à³à²à²¿à²à²à²³à³  
+CreatePane.Build_Collection:à²žà²à²à³à²°à²¹ à²šà²¿à²°à³à²®à²¿à²žà²¿.
+CreatePane.Build_Collection_Tooltip:à²žà²à²à³à²°à²¹ à²šà²¿à²°à³à²®à²Ÿà²£ à²à²Ÿà²°à³à²¯ à²à²°à²à²­à²¿à²žà²¿.
+CreatePane.Build_Progress:à²šà²¿à²°à³à²®à²Ÿà²£ à²à²Ÿà²°à³à²¯à²Š à²ªà³à²°à²à²€à²¿.
+CreatePane.Cancel_Build:à²šà²¿à²°à³à²®à²Ÿà²£ à²°à²Šà³à²Šà³à²®à²Ÿà²¡à²¿.
+CreatePane.Cancel_Build_Tooltip:à²žà²à²à³à²°à²¹à²šà²¿à²°à³à²®à²Ÿà²£ à²à²Ÿà²°à³à²¯à²µà²šà³à²šà³ à²žà³à²¥à²à²¿à²€à²à³à²³à²¿à²žà²¿.
+CreatePane.Full_Build:à²ªà³à²°à³à²£ à²ªà³à²šà²°à³à²šà²¿à²°à³à²®à²Ÿà²£.
+CreatePane.Full_Build_Tooltip:à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²ªà³à²°à³à²£à²µà²Ÿà²à²¿ à²®à³à²Šà²²à²¿à²šà²¿à²à²Š à²šà²¿à²°à³à²®à²¿à²žà²¿.
+CreatePane.Import:à²à²®à²Šà³ à²à²à³à²à²¿à²à²à²³à³  
+CreatePane.Import_Tooltip:à²à²¡à²€ à²ªà²°à²¿à²µà²°à³à²€à²šà³ à²¹à²Ÿà²à³ à²®à³à²à²¡à³à² à²šà²®à³à²Šà²¿à²žà³à²µ à²à²à³à²à²à²³à²²à³à²²à²¿ à²à²°à³à²µ à²à²à³à²à²¿à²à²à²³à³  
+CreatePane.Import_Progress:à²à²®à²Šà³ à²à²Ÿà²°à³à²¯à²Š à²ªà³à²°à²à²€à²¿.
+CreatePane.Minimal_Build:à²
+à²²à³à²ª à²ªà³à²šà²°à³à²šà²¿à²°à³à²®à²Ÿà²£.
+CreatePane.Minimal_Build_Tooltip:à²€à³à²µà²°à²¿à²€;à²¯à²Ÿà²à³à²à²Šà²°à³ à²à³à²µà²² à²
+à²µà²¶à³à²¯à² à²ªà³à²°à²à³à²°à²¿à²¯à³à²à²³à²·à³à²à³ à²®à²Ÿà²¡à²²à³à²ªà²¡à³à²€à³à²€à²µà³.
+CreatePane.Minimal_Build_Not_Required:à²ªà³à²šà²°à³à²šà²¿à²°à³à²®à²Ÿà²£ à²
+à²µà²¶à³à²¯à²µà²¿à²²à³à²²;à²à²à³à³Šà²Šà²°à³ à²šà³à²µà³ à²¯à²Ÿà²µà³à²Šà³ à²¹à³à²ž à²à²¡à²€à²à²³à²šà³à²šà³ à²žà³Šà²à³à²°à²¹à²à³à²à³ à²žà³à²°à²¿à²žà²¿à²²à³à²²,à²®à³à²à²¡à³à²à²Ÿ à²€à²¿à²Šà³à²Šà²¿à²²à³à²²  à²
+à²¥à²µà²Ÿ à²µà²¿à²šà³à²¯à²Ÿà²ž à²¹à²²à²à³à²¯à²²à³à²²à²¿ à²¯à²Ÿà²µà³à²Šà³ à²à²à³à²à²¿à²à²µà²šà³à²šà³ à²¬à²Šà²²à²Ÿà²¯à²¿à²žà²¿à²²à³à²²;\nà²à²Šà²°à³ à²ªà³à²šà²°à³à²šà²¿à²°à³à²®à²Ÿà²£à²®à²Ÿà²¡à²¬à³à²à²Ÿà²Šà²°à³'à²ªà³à²°à³à²£à²šà²¿à²°à³à²®à²Ÿà²£'à²à²°à²¿à²žà²¿ à²®à²€à³à²€à³ 'à²žà³Šà²à³à²°à²¹ à²šà²¿à²°à³à²®à²¿à²žà²¿'à²à³à³Šà²¡à²¿à²¯à²šà³à²šà³ à²à²€à³à²€à²¿.  
+CreatePane.Log:à²®à²Ÿà²¹à²¿à²€à²¿ à²²à²Ÿà²à³.
+CreatePane.Log_Tooltip:à² à²¹à²¿à²à²Šà³ à²žà²à²à³à²°à²¹ à²šà²¿à²°à³à²®à²¿à²žà²²à³ à²®à²Ÿà²¡à²¿à²Š à²ªà³à²°à²¯à²€à³à²šà²à²³ à²ªà³à²°à²Šà²Ÿà²š à²šà³à².  
+CreatePane.Mode_All:à²à²²à³à²²à²Ÿ.
+CreatePane.Options:à²à²à³à²à²¿à²à²à²³ à²žà²®à³à²¹.  
+CreatePane.Options_Title:à²žà²à²à³à²°à²¹ à²à²®à²Šà³ à²®à²€à³à²€à³ à²šà²¿à²°à³à²®à²Ÿà²£à²Š à²à²à³à²à²¿à²à²à²³à³.
+CreatePane.Preview_Collection:à²žà²à²à³à²°à²¹à²Š à²®à³à²šà³à²šà³à².
+CreatePane.Preview_Collection_Tooltip:à²žà²à²à³à²°à²¹à²à²³ à²®à³à²šà³à²šà³à².
+#**********************
+#
+#***** Dates *****
+Dates.Mon:à²žà³à²®à²µà²Ÿà²°.
+Dates.Tue:à²®à²à²à²³à²µà²Ÿà²°.
+Dates.Wed:à²¬à³à²§à²µà²Ÿà²°.
+Dates.Thu:à²à³à²°à³à²µà²Ÿà²°.
+Dates.Fri:à²¶à³à²à³à²°à²µà²Ÿà²°.
+Dates.Sat:à²¶à²šà²¿à²µà²Ÿà²°.
+Dates.Sun:à²­à²Ÿà²šà³à²µà²°.
+Dates.Jan:à²à²šà²µà²°à²¿.
+Dates.Feb:à²«à³à²¬à³à²°à²µà²°à²¿.
+Dates.Mar:à²®à²Ÿà²°à³à²à³.
+Dates.Apr:à²à²ªà³à²°à²¿à²²à³.
+Dates.May:à²®à³.
+Dates.Jun:à²à³à²šà³.
+Dates.Jul:à²à³à²²à³.
+Dates.Aug:à²à²à²žà³à²à³.
+Dates.Sep:à²žà³à²ªà³à²à³à²à²¬à²°à³.
+Dates.Oct:à²
+à²à³à²à³à²¬à²°à³.
+Dates.Nov:à²šà²µà³à²à²¬à²°à³.
+Dates.Dec:à²¡à²¿à²žà³à²à²¬à²°à³.
+#**********************
+#
+#***** Delete Collection Prompt *****
+DeleteCollectionPrompt.Collection_Details:à²à²¯à³à²à³ à²®à²Ÿà²¡à²¿à²Š à²žà²à²à³à²°à²¹à²Š à²µà²¿à²µà²°à²à²³à³.
+DeleteCollectionPrompt.Collection_List:à²²à²­à³à²¯à²µà²¿à²°à³à²µ à²žà²à²à³à²°à²¹à²à²³à³.
+DeleteCollectionPrompt.Confirm_Delete:à²žà²à²à³à²°à²¹ à²€à³à²à³à²¯à²¬à³à²à³à²à²Šà³ à²à²à²¿à²€à²à³à²³à²¿à²žà²²à³ à²ªà³à²à³à²à²¿à²à³à²¯à³à²³à²à³ à²à³à²°à³à²€à³à²®à²Ÿà²¡à²¿.
+DeleteCollectionPrompt.Delete:à²€à³à²à³à²¯à²¿à²°à²¿.
+DeleteCollectionPrompt.Delete_Tooltip:à²à³à²°à³à²€à²¿à²žà²¿à²Š à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²€à³à²à³à²¯à²¿à²°à²¿.
+DeleteCollectionPrompt.Details:à²à³à²°à²¿à²¯à³à²à²°à³ - {0}\nMaintainer - {1}\nDescription\n{2}
+DeleteCollectionPrompt.Failed_Delete:à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²ªà³à²°à³à²£à²µà²Ÿà²à²¿ à²€à³à²à³à²¯à²²à²Ÿà²à²²à²¿à²²à³à²².
+DeleteCollectionPrompt.Failed_Title:à²žà²à²à³à²°à²¹ à²€à³à²à³à²¯à³à²µ à²à²Ÿà²°à³à²¯ à²
+à²žà²®à²°à³à²¥à²µà²Ÿà²¯à²¿à²€à³!
+DeleteCollectionPrompt.No_Collection:à²¯à²Ÿà²µà³à²Šà³ à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²à²¯à³à²à³ à²®à²Ÿà²¡à²¿à²²à³à²².
+DeleteCollectionPrompt.Successful_Delete:à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²€à³à²à³à²¯à²²à²Ÿà²à²¿à²Šà³.
+DeleteCollectionPrompt.Successful_Title:à²€à³à²à³à²¯à³à²µ à²à²Ÿà²°à³à²¯ à²žà²à²ªà³à²°à³à²£!
+DeleteCollectionPrompt.Title:à²žà²à²à³à²°à²¹ à²€à³à²à³à²¯à³à²µà²¿à²à³.
+DeleteCollectionPrompt.Cannot_Delete_Open_Collection_Tooltip:à²à²Šà³ à²à² à²€à³à²°à³à²Šà²¿à²°à³à²µà³à²Šà²°à²¿à²à²Š {0}à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²€à³à²à³à²¯à²²à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²²  
+#**********************
+#
+#***** DirectoryLevelMetadata *****
+DirectoryLevelMetadata.Message:à²šà³à²µà³ à²à²¯à³à²Š à²à²¡à²€à²à²à³à²à²¿à²à³ à² à²®à²à³à²à²Šà²²à³à²²à²¿ à²®à³à²à²¡à³à²à²Ÿ à²ªà³à²°à³à²žà³à²µà³à²Šà²°à²²à³à²²à²¿à²Šà³à²Šà³à²°à²¿;à² à²®à³à²à²¡à³à²à²Ÿ à² à²à²à³à²à²¿à²šà²²à³à²²à²¿à²°à³à²µ à²à²²à³à²² à²à²à³à²à³à²à²³à²¿à²à³ à²¹à²Ÿà²à³ à²à²¡à²€à²à²³à²¿à²à³ à²
+à²šà³à²µà²¯à²¿à²žà³à²µà³à²Šà³;à²
+à²²à³à²²à²Šà³ à²®à³à²à²¡à³à²à²Ÿà²µà²šà³à²šà³ à²€à³à²à³à²¯à²²à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²²;à²à²Šà²°à³ à²¬à²Šà²²à²¿à²žà²¬à²¹à³à²Šà³;à²®à³à³Šà²Šà³à²µà²°à²¿à²¯à²²à³'à²à²à³'à²à³à³Šà²¡à²¿à²¯à²šà³à²šà³ à²à²€à³à²€à²¿.  
+DirectoryLevelMetadata.Title:à²à²¡à²€à²à²à³à²à³ à²®à²à³à²à²Šà²²à³à²²à²¿ à²®à³à²à²¡à³à²à²Ÿ à²ªà³à²°à³à²žà³à²µà³à²Šà²°à²²à³à²²à²¿à²Šà³à²Šà³à²°à²¿.
+
+#*******************
+#
+#***** Download *****
+DOWNLOAD.MODE.Root:à²¡à³à²šà³âà²²à³à²¡à³â_à²°à³à²à³â.
+DOWNLOAD.MODE.WebDownload:à²µà³à²¬à³.
+DOWNLOAD.MODE.MediaWikiDownload:à²®à³à²¡à²¿à²¯à²µà²¿à²à²¿.
+DOWNLOAD.MODE.OAIDownload:à²à²à².
+DOWNLOAD.MODE.ZDownload:à²à³à²¡à³39.50.
+DOWNLOAD.MODE.SRWDownload:à²à²žà³ à²à²°à³ à²¡à²¬à³à²²à³à²¯à³.
+
+Download.ServerInformation:à²žà²°à³à²µà²°à³ à²®à²Ÿà²¹à²¿à²€à²¿.
+Download.ServerInformation_Tooltip:à²žà²°à³à²µà²°à³ à²à³à²°à²¿à²€à³ à²à²šà²Ÿà²Šà²°à³ à²µà²¿à²µà²°à²à²³à²šà³à²šà³ à²à²³à²¿à²žà²¿ à²®à²€à³à²€à³ à²žà²à²ªà²°à³à² à²®à²Ÿà²¡à²²à³ à²žà²Ÿà²§à³à²¯à²µà³ à²à²à²Šà³ à²ªà²°à³à²à³à²·à²¿à²žà²¿.  
+
+#********************
+#
+#***** EnrichPane *****
+EnrichPane.AutoMessage:à² à²§à²Ÿà²€à³,{0},à²à³à²°à³à²šà³âà²žà³à²à³à²šà³  à²®à³à²à²¡à³à²à²Ÿ à²à³à²à²ªà²¿à²à³ à²žà³à²°à³à²€à³à²€à²Šà³.à² à²à³à²à²ªà²¿à²à³ à²žà³à²°à²¿à²Š à²®à³à²à²¡à³à²à²Ÿà²µà²šà³à²šà³ à²žà²Ÿà²®à²Ÿà²šà³à²¯à²µà²Ÿà²à²¿ à²¯à²Ÿà²à²€à³à²°à²¿à²à²µà²Ÿà²à²¿à²¯à³ à²à²¯à³à²Šà³à²€à³à²à³à²¯à²¬à²¹à³à²Šà³; à²¯à²Ÿà²µ{0}à²®à³à²à²¡à³à²à²Ÿ à²à²¯à³à²Šà³à²€à³à²à³à²¯à²¬à²¹à³à²Šà³à²à²Šà³ à²ªà²°à³à²à³à²·à²¿à²žà²²à³,'à²šà²¿à²°à³à²®à²¿à²žà³'à²à³à²à²¡à²¿à²¯à²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²¿ à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²šà²¿à²°à³à²®à²¿à²žà²¿.
+EnrichPane.ExistingValues:{0}à²à²°à³à²µ à²®à³à²²à³à²¯à²à²³à³.
+EnrichPane.InheritedMetadataSelected:à² à²®à³à²à²¡à³à²à²Ÿ à²
+à²Šà²° à²®à³à²²à²¿à²š à²à²à²Šà³ à²à²¡à²€à²à²à³à²à²¿à²šà²¿à²à²Š à²
+à²šà³à²µà²à²¶à²¿à²à²µà²Ÿà²à²¿ à²¬à²à²Šà²¿à²Šà³;à²à²Šà³à²Šà²°à²¿à²à²Š à²
+à²Šà²šà³à²šà³ à²€à²¿à²Šà³à²Šà²²à³ à²žà²Ÿà²§à³à²¯à²µà²¿à²²à³à²²;à² à²®à³à²à²¡à³à²à²Ÿ à²¬à²à²Š à²à²¡à²€à²à²à³à²à²šà³à²šà³ à² à²žà²Ÿà²²à²¿à²š à²®à³à²Šà²²à²²à³à²²à²¿ à²à³à²°à³à²€à²¿à²žà²¿à²Šà³;à²
+à²Šà²šà³à²šà³ à²šà³à²µà³ à²šà³à²¡à²¬à²¹à³à²Šà³.  
+EnrichPane.InheritedMetadata_Tooltip:à² à²ªà³à²°à²€à²¿à²®à³à²¯à²šà³à²šà³ à²à²€à³à²€à³à²µà³à²Šà²° à²®à³à²²à² à²šà³à²µà³ à² à²®à³à²à²¡à³à²à²Ÿ à²¬à²à²Š à²à²¡à²€à²à²à³à²à²šà³à²šà³ à²žà²à²Šà²°à³à²¶à²¿à²žà²¬à²¹à³à²Šà³.  
+EnrichPane.ManageMetadataSets:à²®à³à²à²¡à³à²à²Ÿ à²à³à²à²ªà³à²à²³à²šà³à²šà³ à²šà²¿à²°à³à²µà²¹à²¿à²žà²¿...
+EnrichPane.ManageMetadataSets_Tooltip:à² à²žà²à²à³à²°à²¹à²µà³ à²¬à²³à²žà³à²µ à²®à³à²à²¡à³à²à²Ÿ à²à³à²à²ªà³à²à²³à²šà³à²šà³  à²¬à²Šà²²à²Ÿà²¯à²¿à²žà³.
+EnrichPane.No_File:à²¯à²Ÿà²µà³à²Šà³ à²à²¡à²€ à²à²¯à³à²à³à²¯à²Ÿà²à²¿à²²à³à²².
+EnrichPane.No_Metadata:à²¯à²Ÿà²µà³à²Šà³ à²®à³à²à²¡à³à²à²Ÿ à²à²ªà²²à²¬à³à²§à²µà²¿à²²à³à²².
+EnrichPane.No_Metadata_Element:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>à²¯à²Ÿà²µà³à²Šà³ à²®à³à²à²¡à³à² à²§à²Ÿà²€à³à²µà²šà³à²šà³ à²à²°à²¿à²žà²¿à²²à³à²²</FONT></STRONG></HTML>  
+EnrichPane.NotOneFileOnlyMetadataSelected:à² à²®à³à²à²¡à³à²à²Ÿ à² à²à²¡à²€à²à³à²à³ à²®à²Ÿà²€à³à²° à²
+à²šà³à²µà²¯à²¿à²žà²¿à²²à³à²²,à²
+à²Šà²šà³à²šà³ à²€à²¿à²Šà³à²Šà²²à³ à²žà²Ÿà²§à³à²¯à²µà²¿à²²à³à²².  
+EnrichPane.Value_Field_Tooltip:à²à²¯à³à²Š à²®à³à²à²¡à³à²à²Ÿ à²§à²Ÿà²€à³à²µà²¿à²à³ à²šà²®à³à²Šà²¿à²žà²¬à³à²à²Ÿà²Š à²®à³à²²à³à²¯.
+EnrichPane.Value_Field_Tooltip_Uneditable:à²à²¯à³à²Š à²®à³à²à²¡à³à²à²Ÿ à²§à²Ÿà²€à³à²µà²¿à²à³ à²šà²®à³à²Šà²¿à²žà²²à²Ÿà²à²¿à²°à³à²µ à²®à³à²²à³à²¯.
+#***********************
+#
+#****** ExplodeMetadataPrompt *******
+ExplodeMetadataPrompt.Explode:à²µà²¿à²žà³à²€à²°à²¿à²žà³  
+ExplodeMetadataPrompt.Explode_Tooltip:à²®à³à²à²¡à³à²à²Ÿ à²à²¡à²€à²µà²šà³à²šà³ à²µà²¿à²žà³à²€à²°à²¿à²žà²¿.
+ExplodeMetadataPrompt.Instructions:à² à²®à³à²à²¡à³à²à²Ÿ à²à²¡à²€à²µà²šà³à²šà³ à²µà²¿à²žà³à²€à²°à²¿à²žà³à²µà³à²Šà²°à²¿à²à²Š à²€à²¿à²Šà³à²Šà²¬à²²à³à²² à²®à³à²à²¡à³à²à²µà³à²³à³à²³ à²ªà³à²°à²€à³à²¯à³à² à²Šà²Ÿà²à²²à³à²à²³à³ à²šà²¿à²°à³à²®à²Ÿà²£à²µà²Ÿà²à³à²€à³à²€à²µà³;à² à²ªà³à²°à²à³à²°à²¿à²¯à³à²¯à²šà³à²šà³ à²µà²¿à²ªà²°à³à²¯à²žà³à²€à²à³à²³à²¿à²žà²²à³ à²žà²Ÿà²§à³à²¯à²µà²¿à²²à³à²²; à²®à³à²² à²®à³à²à²¡à³à²à²Ÿ à²à²¡à²€ à²žà²à²à³à²°à²¹à²Šà²¿à²à²Š à²€à³à²à³à²¯à²²à³à²ªà²¡à³à²€à³à²€à²Šà³.  
+ExplodeMetadataPrompt.Failed_Title:à²µà²¿à²žà³à²€à²°à²¿à²žà³à²µ à²à²Ÿà²°à³à²¯ à²µà²¿à²«à²²à²µà²Ÿà²¯à²¿à²€à³.
+ExplodeMetadataPrompt.Failed_Explode:à²¡à³à²à²Ÿà²¬à³à²žà³ {0}à²µà²¿à²žà³à²€à²°à²¿à²žà²²à³ à²žà²Ÿà²§à³à²¯à²µà²Ÿà²à²²à²¿à²²à³à²².
+ExplodeMetadataPrompt.NotExplodable:à² à²à²¡à²€à²µà²šà³à²šà³ à²µà²¿à²žà³à²€à²°à²¿à²žà³à²µà²Šà³ à²žà²Ÿà²§à³à²¯à²µà²¿à²²à³à²².
+ExplodeMetadataPrompt.Successful_Explode:à²¡à³à²à²Ÿà²¬à³à²žà³ {0}à²µà²¿à²žà³à²€à²°à²¿à²žà²²à³ à²žà²«à²²à²µà²Ÿà²¯à²¿à²€à³.
+ExplodeMetadataPrompt.Successful_Title:à²µà²¿à²žà³à²€à²°à²¿à²žà³à²µà²¿à²à³ à²ªà³à²°à³à²£.
+ExplodeMetadataPrompt.Title:à²®à³à²à²¡à³à²à²Ÿ à²¡à³à²à²Ÿà²¬à³à²žà²šà³à²šà³ à²µà²¿à²žà³à²€à²°à²¿à²žà³.
+ExplodeMetadataPrompt.Plugin:à²µà²¿à²žà³à²€à²°à²¿à²žà³à²µà²¿à²à³ à²à²ªà²¯à³à²à²¿à²žà²¬à³à²à²Ÿà²Š à²ªà³à²²à²à³âà²à²šà³.
+#***********************
+#
+#****** ReplaceSrcWithHTMLPrompt *******
+ReplaceSrcWithHTMLPrompt.ReplaceSrc:à²¹à³à²à³âà²à²¿à²à²à²à²²à³â à²µà²°à³à²·à²šà³âà²šà²¿à²à²Š à²¬à²Šà²²à²¿à²žà³  
+ReplaceSrcWithHTMLPrompt.ReplaceSrc_Tooltip:à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²à²Šà²à²¿à²žà³à²µ à²¹à³à²à³âà²à²¿à²à²à²à²²à³â à²µà²°à³à²·à²šà³âà²šà²¿à²à²Š à² à²®à³à²² à²Šà²žà³à²€à²Ÿà²µà³à²à³à²µà²šà³à²šà³ à²¬à²Šà²²à²¿à²žà³  
+ReplaceSrcWithHTMLPrompt.Instructions:à²¬à²Šà²²à²¿à²žà²²à³à²ªà²à³à² à²Šà²žà³à²€à²Ÿà²µà³à²à³à²µà²¿à²šà²¿à²à²Š à²¹à³à²à³à²à²¿à²Š à²¹à³à²à³âà²à²¿à²à²à²à²²à³â à²µà²°à³à²·à²šà³â à²¹à³à²à³âà²à²¿à²à²à²à²²à³â à²à²¡à²€à²µà²šà³à²šà³ à²€à²¿à²Šà³à²Šà²²à³ à²®à²€à³à²€à³ à² à²žà²°à²¿à²¯à²Ÿà²Š à²€à²¿à²Šà³à²Šà³à²µà²¿à²à³ à²®à³à²à²Šà³ à²ªà³à²šà² à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²à²à³à²à²²à³ à²
+à²šà³à²µà³à²®à²Ÿà²¡à²¿à²à³à²¡à³à²€à³à²€à²Šà³ .  à² à²ªà³à²°à²à³à²°à²¿à²¯à³à²¯à²šà³à²šà³ à²µà²¿à²ªà²°à³à²¯à²žà³à²€  à²à³à²³à²¿à²žà²²à³ à²žà²Ÿà²§à³à²¯à²µà²¿à²²à³à²²; à²¯à²Ÿà²µ à²®à³à²² à²Šà²žà³à²€à²Ÿà²µà³à²à³(à²à²³à³)à²šà³à²šà³ à²¬à²Šà²²à²Ÿà²¯à²¿à²žà²¿à²€à³à²€à³ à²
+à²Šà²šà³à²šà³ à²žà²à²à³à²°à²¹à²Šà²¿à²à²Š à²€à³à²à³à²¯à²²à³à²ªà²¡à³à²€à³à²€à²Šà³.  
+ReplaceSrcWithHTMLPrompt.Failed_Title:à²¹à³à²à³âà²à²¿à²à²à²à²²à³âà²šà²¿à²à²Š à²¬à²Šà²²à²Ÿà²¯à²¿à²žà²²à³ à²
+à²žà²®à²°à³à²¥à²µà²Ÿà²à²¿à²Šà³.  
+ReplaceSrcWithHTMLPrompt.Failed_ReplaceSrc:à²¹à³à²à³âà²à²¿à²à²à²à²²à³â à²µà²°à³à²·à²šà³âà²šà²¿à²à²Š {0}à²Šà²žà³à²€à²Ÿà²µà³à²à³(à²à²³à³)à²šà³à²šà³ à²¬à²Šà²²à²Ÿà²¯à²¿à²žà²²à²Ÿà²à²²à²¿à²²à³à²².  
+ReplaceSrcWithHTMLPrompt.NotSrcReplaceable:à² à²à²¡à²€-à²¬à²à³à²à²³à²šà³à²šà³ à²¹à³à²à³âà²à²¿à²à²à²à²²à³â à²µà²°à³à²·à²šà³âà²šà²¿à²à²Š à²¬à²Šà²²à²¿à²žà²²à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²²  
+ReplaceSrcWithHTMLPrompt.Successful_ReplaceSrc:à²¹à³à²à³âà²à²¿à²à²à²à²²à³â à²µà²°à³à²·à²šà³âà²šà²¿à²à²Š à²à²²à³à²²à²Ÿ à²à²°à²¿à²žà²¿à²Š à²Šà²žà³à²€à²Ÿà²µà³à²à³à²à²³à³ à²žà²«à²²à²µà²Ÿà²à²¿ à²¬à²Šà²²à²¿à²žà²²à³à²ªà²à³à²à²¿à²€à³  
+ReplaceSrcWithHTMLPrompt.Successful_Title:à²¹à³à²à³âà²à²¿à²à²à²à²²à³â à²µà²°à³à²·à²šà³â à²à²Šà²à²¿à²žà²¿à²Š à²¬à²Šà²²à²Ÿà²¯à²¿à²žà³à²µà³à²Šà³ à²®à³à²à²¿à²Šà³à²Šà³  
+ReplaceSrcWithHTMLPrompt.Title:à²¹à³à²à³âà²à²¿à²à²à²à²²à³â à²à²¡à²€à²à²³à²¿à²à²Š à²®à³à²² à²Šà²žà³à²€à²Ÿà²µà³à²à³à²šà³à²šà³ à²¬à²Šà²²à²¿à²žà²¿à²€à³  
+ReplaceSrcWithHTMLPrompt.Plugin:à²µà²¿à²žà³à²€à²°à²¿à²žà²²à³ à²à²ªà²¯à³à²à²¿à²žà³à²µ à²ªà³à²²à²à²¿à²šà³â  
+#***********************
+#
+#****** WriteCDImagePrompt *******
+WriteCDImagePrompt.CD_Name:à²žà²¿à²¡à²¿/à²¡à²¿à²µà²¿à²¡à²¿ à²¹à³à²žà²°à³.
+WriteCDImagePrompt.Export:à²žà²¿à²¡à²¿/à²¡à²¿à²µà²¿à²¡à²¿ à²ªà³à²°à²€à²¿à²à³à²€à²¿à²¯à²Ÿà²à²¿ à²¬à²°à³.
+WriteCDImagePrompt.Export_Tooltip:à²à²¯à³à²Š à²žà²à²à³à²°à²¹à²à²³à²šà³à²šà³ à²µà²¿à²à²¡à³à²žà³ à²žà²¿à²¡à²¿/à²¡à²¿à²µà²¿à²¡à²¿ à²ªà³à²°à²€à²¿à²à³à²€à²¿à²¯à²Ÿà²à²¿ à²¬à²°à³à²¯à²¿à²°à²¿.
+WriteCDImagePrompt.Failed_Export:({0}à²žà²à²à³à²°à²¹à²à²³à²šà³à²šà³)à²°à²«à³à²€à³ à²®à²Ÿà²¡à²²à²Ÿà²à²²à²¿à²²à³à²².
+WriteCDImagePrompt.Failed_Title:à²°à²«à³à²€à³ à²µà²¿à²«à²²à²µà²Ÿà²¯à²¿à²€à³.
+WriteCDImagePrompt.Install:à²žà²¿à²¡à²¿/à²¡à²¿à²µà²¿à²¡à²¿ à²à²ªà²¯à³à²à²¿à²žà²¿à²Šà²Ÿà² à²à³à²²à²µà³ à²à²¡à²€à²à²³à³ à²žà³à²¥à²Ÿà²ªà²¿à²žà²²à³à²ªà²¡à³à²€à³à²€à²µà³.
+WriteCDImagePrompt.Install_Tooltip:à²à³à²°à²à²¥à²Ÿà²²à²¯ à²žà²°à³à²µà²°à³ (à²®à²€à³à²€à³ à²¬à³à²à²Ÿà²Šà²²à³à²²à²¿,à²à²²à³à²² à²žà²à²à³à²°à²¹ à²à²¡à²€à²à²³à²šà³à²šà³)à²žà³à²¥à²Ÿà²ªà²¿à²žà²¬à²²à³à²² à²à²à²Šà³ à²žà³à²µà²¯à² à²žà²à²žà³à²¥à²Ÿà²ªà² à²žà²¿à²¡à²¿-à²°à³à²®à³ à²€à²¯à²Ÿà²°à²Ÿà²à³à²€à³à²€à²Šà³.
+WriteCDImagePrompt.NoInstall:à²žà²¿à²¡à²¿/à²¡à²¿à²µà²¿à²¡à²¿ à²à²ªà²¯à³à²à²¿à²žà²¿à²Šà²Ÿà² à²¯à²Ÿà²µà³à²Šà³ à²à²¡à²€à²à²³à³ à²žà³à²¥à²Ÿà²ªà²¿à²žà²²à³à²ªà²¡à³à²µà³à²Šà²¿à²²à³à²².
+WriteCDImagePrompt.NoInstall_Tooltip:à²
+à²€à²¿à²¥à³à²¯ à²à²£à²à²¯à²à²€à³à²°à²Šà²²à³à²²à²¿ à²žà²à²¬à²à²§à²¿à²žà²¿à²Š à²¯à²Ÿà²µà³à²Šà³ à²ªà³à²°à³à²à³à²°à²Ÿà²®à³ à²à²²à³à²²à²Šà³à²¯à³ à²¡à²¿à²à²¿à²à²²à³ à²à³à²°à²à²¥à²Ÿà²²à²¯à²µà²šà³à²šà³ à²šà³à²°à²µà²Ÿà²à²¿ à²à²Ÿà²²à²šà³à²à³à²³à²¿à²žà³à²µà²à²€à²¹ à²à²à²Šà³ à²žà²¿à²¡à²¿-à²°à³à²®à³ à²€à²¯à²Ÿà²°à²Ÿà²à³à²€à³à²€à²Šà³.
+WriteCDImagePrompt.Instructions:à²¯à²Ÿà²µà³à²Šà³ à²à²à²Šà³ à²
+à²¥à²µà²Ÿ à²¹à²²à²µà³ à²žà²à²à³à²°à²¹à²à²³à²šà³à²šà³ à²à²³à²à³à²à²¡ à²à²à²Šà³ à²žà³à²µà²¯à² à²žà²à²žà³à²¥à²Ÿà²ªà² à²žà²¿à²¡à²¿/à²¡à²¿à²µà²¿à²¡à²¿ à²à²Ÿà²¯à³à²à³ à²°à²«à³à²€à³ à²®à²Ÿà²¡à²¿(à²šà²¿à²°à³à²®à²¿à²€à²µà²Ÿà²Š à²žà²¿à²¡à²¿/à²¡à²¿à²µà²¿à²¡à²¿ à²à²Ÿà²¯à³ à²à³à²µà²² à²µà²¿à²à²¡à³à²žà³ à²šà²²à³à²²à²¿ à²®à²Ÿà²€à³à²° à²à³à²²à²žà²®à²Ÿà²¡à³à²µà³à²Šà³).
+WriteCDImagePrompt.Progress_Label:à²à²¡à²€à²à²³à²šà³à²šà³ à²šà²à²²à³ à²®à²Ÿà²¡à²²à²Ÿà²à³à²€à³à²€à²¿à²Šà³;à² à²à³à²²à²ž à²žà³à²µà²²à³à²ª à²žà²®à²¯ à²¹à²¿à²¡à²¿à²¯à²¬à²¹à³à²Šà³...
+WriteCDImagePrompt.Size_Label:à²
+à²à²Šà²Ÿà²à³ à²à²Ÿà²€à³à²°:
+WriteCDImagePrompt.Successful_Export:({0})à²žà²à²à³à²°à²¹à²à²³à²šà³à²šà³ à²°à²«à³à²€à³ à²®à²Ÿà²¡à²²à²Ÿà²à²¿à²Šà³.
+WriteCDImagePrompt.Successful_Title:à²°à²«à³à²€à³ à²®à²Ÿà²¡à³à²µ à²à²Ÿà²°à³à²¯ à²žà²à²ªà³à²°à³à²£.
+WriteCDImagePrompt.Title:à²žà²¿à²¡à²¿/à²¡à²¿à²µà²¿à²¡à²¿à²à³ à²žà²à²à³à²°à²µà²šà³à²šà³ à²°à²«à³à²€à³ à²®à²Ÿà²¡à²¿.
+#************************
+#
+#****** ExportAsPrompt *******
+ExportAsPrompt.Export_Name:à²à²¡à²€à²à²à³à²à²¿à²š à²¹à³à²žà²°à³.  
+ExportAsPrompt.Export_Name_Tooltip:à²°à²«à³à²€à³ à²®à²Ÿà²¡à²¿à²Š à²žà²à²à³à²°à²¹à²à²³à³ à²à³à²°à³à²šà³âà²žà³à²à³à²šà²¿à²š à²à³à²à²ªà³ à²à³à²ªà²¿à²¡à²¿ à²¯à²Ÿà²µ à²à²¡à²€à²à²à³à²à²¿à²šà²²à³à²²à²¿à²°à²¬à³à²à³ à² à²à²¡à²€à²à²à³à²à²¿à²š à²¹à³à²žà²°à³.  
+ExportAsPrompt.Export:à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²°à²«à³à²€à³ à²®à²Ÿà²¡à²¿.  
+ExportAsPrompt.Export_Tooltip:à²à²¯à³à²à³à²®à²Ÿà²¡à²¿à²Š à²žà²à²à³à²°à²¹à²à²³à²šà³à²šà³ à²à²¯à³à²à³ à²®à²Ÿà²¡à²¿à²Š à²«à²Ÿà²°à³à²®à³à²¯à²Ÿà²à³â à²šà²²à³à²²à²¿ à²à³à²°à³à²€à²¿à²žà²¿à²Š à²à³à²ªà²¿à²¡à²¿à²à³ à²°à²«à³à²€à³ à²®à²Ÿà²¡à²¿.  
+ExportAsPrompt.Failed_ExportOne:{0}à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²°à²«à³à²€à³ à²®à²Ÿà²¡à²²à²Ÿà²à²²à²¿à²²à³à²².
+ExportAsPrompt.Failed_Details:à²µà²¿à²µà²°à²à²³à²¿à²à³ {1} à²šà³à²šà³ à²šà³à²¡à²¿  
+ExportAsPrompt.Failed_Title:à²°à²«à³à²€à³ à²µà²¿à²«à²²à²µà²Ÿà²¯à²¿à²€à³.
+ExportAsPrompt.Instructions:à²à²¯à³à²à³à²®à²Ÿà²¡à²¿à²Š à²à²à²Šà³ à²
+à²¥à²µà²Ÿ à²¹à³à²à³à²à³ à²žà²à²à³à²°à²¹à²à²³à²šà³à²šà³ à²à²¯à³à²à³ à²®à²Ÿà²¡à²¿à²Š à²žà²à²µà²¿à²­à²Ÿà²à²Šà²²à³à²²à²¿ à²à³à²°à³à²€à²¿à²žà²¿à²Š à²à³à²ªà²¿à²¡à²¿à²à³ à²°à²«à³à²€à³ à²®à²Ÿà²¡à²¿.  
+ExportAsPrompt.Progress_Label:à²à²¡à²€à²à²³à³ à²°à²«à³à²€à³ à²®à²Ÿà²¡à²²à³à²ªà²¡à³à²€à³à²€à²¿à²µà³; à² à²à³à²²à²ž à²žà³à²µà²²à³à²ª à²žà²®à²¯ à²¹à²¿à²¡à²¿à²¯à²¬à²¹à³à²Šà³...
+ExportAsPrompt.Successful_ExportOne:à²žà²à²à³à²°à²¹,{0},à²°à²«à³à²€à²Ÿà²à²¿à²Šà³.
+ExportAsPrompt.Successful_Details:à²à²¡à²€à²à²³à³ {1}à²à³ à²°à²«à³à²€à²Ÿà²à²¿à²µà³.
+ExportAsPrompt.Successful_Title:à²°à²«à³à²€à³ à²®à²Ÿà²¡à³à²µ à²à²Ÿà²°à³à²¯ à²žà²à²ªà³à²°à³à²£.
+ExportAsPrompt.Title:à²žà²à²à³à²°à²¹à²à²³à²šà³à²šà³ à²°à²«à³à²€à³ à²®à²Ÿà²¡à²¿.
+ExportAsPrompt.SaveAs:..à²à³ à²°à²«à³à²€à³ à²®à²Ÿà²¡à²¿.
+ExportAsPrompt.SaveAs_Tooltip:à²¯à²Ÿà²µ à²«à²Ÿà²°à³à²®à²Ÿà²à³ à²à³ à²°à²«à³à²€à³ à²®à²Ÿà²¡à²¬à³à²à³ à²
+à²Šà²šà³à²šà³ à²à²¯à³à²à³à²®à²Ÿà²¡à²¿.
+ExportAsPrompt.Cancel:à²°à²Šà³à²Šà³à²®à²Ÿà²¡à²¿  
+ExportAsPrompt.Cancel_Tooltip:à²à²Ÿà²°à²¿à²¯à²²à³à²²à²¿à²°à³à²µ à²°à²«à³à²€à³ à²à³à²²à²žà²µà²šà³à²šà³ à²°à²Šà³à²Šà³à²®à²Ÿà²¡à²¿.
+ExportAsPrompt.Browse:à²µà³à²à³à²·à²£à³  
+ExportAsPrompt.Browse_Tooltip:à²à²à²Šà³ à²à²à³à²žà³à²²à³  à²à²¡à²€à²µà²šà³à²šà³ à²à²¯à³à²à³ à²®à²Ÿà²¡à²¿.  
+ExportAsPrompt.ApplyXSL:à²à²à³à²žà³à²²à³ à²à²¡à²€à²µà²šà³à²šà³ {0}à²à³ à²
+à²šà³à²µà²¯à²¿à²žà²¿.  
+ExportAsPrompt.ApplyXSL_Tooltip:à²°à²«à³à²€à³ à²®à²Ÿà²¡à²¿à²Š à²à²¡à²€à²à²³à²šà³à²šà³ à²ªà²°à²¿à²µà²°à³à²€à²¿à²žà²²à³ à²à²à²Šà³ à²à²à³à²žà³à²²à³ à²à²¡à²€à²µà²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²¿.  
+ExportAsPrompt.MARCXMLGroup:à²®à²Ÿà²°à³à²à³ à²Šà²Ÿà²à²²à³à²à²³à²šà³à²šà³ à²à²à³à²à²Ÿà²à²¿à²žà²¿.  
+ExportAsPrompt.MARCXMLGroup_Tooltip:à²à²²à³à²² à²®à²Ÿà²°à³à²à³â à²Šà²Ÿà²à²²à³à²à²³à²šà³à²šà³ à²à²à²Šà³ à²à²¡à²€à²à³à²à³ à²°à²«à³à²€à³ à²®à²Ÿà²¡à²¿.  
+ExportAsPrompt.MappingXML:à²šà²à²Ÿà²¶à³ à²à²¡à²€à²µà²šà³à²šà³ à²
+à²šà³à²µà²¯à²¿à²žà²¿.
+ExportAsPrompt.MappingXML_Tooltip:à²°à²«à³à²€à³ à²®à²Ÿà²¡à²¿à²Š à²à²¡à²€à²à²³à²šà³à²šà³ à²ªà²°à²¿à²µà²°à³à²€à²¿à²žà²²à³ à²à²à²Šà³ à²šà²à²Ÿà²¶à³ à²à²¡à²€à²µà²šà³à²šà³ à²¬à²³à²žà²¿.
+#
+#***** Inherited Metadata *****
+ExtractedMetadata.Message:à²à²¯à³à²Š à²à²¡à²€ à²
+à²¥à²µà²Ÿ à²à²¡à²€à²à²à³à²à²¿à²šà²²à³à²²à²¿ à²®à²°à³à²¯à²Ÿà²à²¿à²°à³à²µ à²®à³à²à²¡à³à²à²Ÿ à²à²Šà³;à²
+à²Šà²šà³à²šà³ à²šà³à²¡à²²à³ "à²à²¡à²€"à²ªà²°à²¿à²µà²¿à²¡à²¿ à²à³ à²¹à³à²à²¿,"à²žà²Ÿà²®à²Ÿà²šà³à²¯" à²µà²¿à²¶à³à²·à²£à²à²³ à²ªà³à²à²Šà²²à³à²²à²¿ "[P]references"à²šà³à²šà³ à²à²¯à³à²Šà³à²à³à²³à³à²³à²¿.à²à²¯à³à²Šà³à²€à³à²à³à²Š à²®à³à²à²¡à³à² à²šà³à²à²µà²šà³à²šà³"à²à²¯à³à²Šà³ 'à²à²à³'("[O]k")à²à³à²à²¡à²¿à²¯à²šà³à²šà³ à²à²€à³à²€à²¿.  
+ExtractedMetadata.Title:à² à²à²¡à²€/à²à²¡à²€à²à²à³à²à²¿à²šà²²à³à²²à²¿ à²à²³à²¿à²žà²¿à²Š à²®à³à²à²¡à³à²à²Ÿ à²à²Šà³.  
+#
+#***** FileActions *****
+FileActions.Calculating_Size:à²à²¯à³à²Š à²à²¡à²€à²à²³ à²à²à³à²à³ à²à²Ÿà²€à³à²°à²Š à²²à³à²à³à²à²®à²Ÿà²¡à²²à²Ÿà²à³à²€à³à²€à²¿à²Šà³.
+FileActions.Copying:{0}à²šà²à²²à²Ÿà²à³à²€à³à²€à²¿à²Šà³.
+FileActions.Could_Not_Delete:{0}à²€à³à²à³à²¯à²²à³ à²žà²Ÿà²§à³à²¯à²µà²Ÿà²à²²à²¿à²²à³à²².
+FileActions.Cyclic_Path:{0}à²šà²à²²à²Ÿà²à³à²€à³à²€à²¿à²²à³à²²:à²à³à²°à²¿ à²à²¡à²€à²à²à³à²à³ à²®à³à²² à²à²¡à²€à²à²à³à²à²¿à²š à²à²à²Šà³ à²à²ª à²à²¡à²€à²à²à³à²à³.  
+FileActions.Deleting:à²€à³à²à³à²¯à²²à²Ÿà²à³à²€à³à²€à²¿à²Šà³{0}
+FileActions.Directories_Selected:{0}à²à²¯à³à²à³à²¯à²Ÿà²Š à²à²¡à²€à²à²à³à²à³à²à²³à³  
+FileActions.Directory_Selected:1 à²à²¡à²€à²à²à³à²à³ à²à²¯à³à²à³à²¯à²Ÿà²à²¿à²Šà³.  
+FileActions.File_Already_Exists_No_Create:'{0}'à²à²¡à²€ à²à²à²Ÿà²à²²à³ à²à²Šà³.
+FileActions.File_And_Directories_Selected:1 à²à²¡à²€ à²¹à²Ÿà²à³ {0}à²à²¡à²€à²à²à³à²à³à²à²³à³ à²à²¯à³à²à³à²¯à²Ÿà²à²¿à²µà³.  
+FileActions.File_And_Directory_Selected:1 à²à²¡à²€ à²®à²€à³à²€à³ 1 à²à²¡à²€à²à²à³à²à³ à²à²¯à³à²à³à²¯à²Ÿà²à²¿à²µà³.  
+FileActions.File_Create_Error:{0} à²à²¡à²€à²µà²šà³à²šà³ à²šà²¿à²°à³à²®à²¿à²ž à²²à²Ÿà²à²²à²¿à²²à³à²².
+FileActions.Folder_Create_Error:{0}à²à²¡à²€à²à²à³à²à²šà³à²šà³  à²šà²¿à²°à³à²®à²¿à²žà²²à²Ÿà²à²²à²¿à²²à³à²².  
+FileActions.File_Exists:{0}à²à²à²Ÿà²à²²à³ à²à³à²°à²¿ à²à²¡à²€à²à²à³à²à²¿à²šà²²à³à²²à²¿à²Šà³ ;à²
+à²Šà²° à²®à³à²²à³à²¯à³ à²¬à²°à³à²¯à³à²µà³à²Šà³?  
+FileActions.File_Move_Error_Message:{0}à²µà²šà³à²šà³\n{1}à²à³ à²žà³à²¥à²³à²Ÿà²à²€à²°à²¿à²žà²²à²Ÿà²à²²à²¿à²²à³à²².
+FileActions.File_Not_Deleted_Message:{0}\nà² à²®à³à²²à³ à²¹à³à²³à²¿à²Š à²à²¡à²€à²µà²šà³à²šà³ à²€à³à²à³à²¯à²²à²Ÿà²à²²à²¿à²²à³à²²;à² à²à²¡à²€ à²¬à³à²°à³ à²¯à²Ÿà²µà³à²Šà³ à²ªà³à²°à³à²à³à²°à²Ÿà²®à³ à²šà²²à³à²²à²¿ à²€à³à²°à³à²Šà²¿à²Šà³à²¯à³ à²à²à²Šà³ à²ªà²°à³à²à³à²·à²¿à²žà²¿.
+FileActions.File_Not_Found_Message:{0}\nà²®à³à²²à³ à²¹à³à²žà²°à²¿à²žà²¿à²Š à²à²¡à²€ à²žà²¿à²à²²à²¿à²²à³à²².à²à²à²Šà³à²žà²°à²¿ à²à²¡à²€à²Šà²šà³à² à²°à³à²«à³à²°à³à²¶à³âà²®à²Ÿà²¡à²¿à²Šà²šà²à²€à²°à²µà³ à²à²šà³à²šà³ à²à²¡à²€à²à²Šà³à²¯à³ à²à²à²Šà³ à²Šà²¯à²µà²¿à²à³à²à³ à²šà³à²¡à²¿.
+FileActions.File_Selected:1à²à²¡à²€à²µà²šà³à²šà³ à²à²°à²¿à²žà²¿à²Šà³.
+FileActions.Files_And_Directory_Selected:{0}à²à²¡à²€à²à²³à³ à²®à²€à³à²€à³ 1à²à²¡à²€à²à²à³à²à²¿à²šà³à²šà³ à²à²°à²¿à²žà²²à²Ÿà²à²¿à²Šà³.  
+FileActions.Files_Selected:{0}à²à²¡à²€à²µà²šà³à²šà³ à²à²°à²¿à²žà²¿à²Šà³.
+FileActions.Folder_Already_Exists:{0}'à²à²¡à²€à²Š à²¹à³à²žà²°à³ à²à²à²Ÿà²²à³ à²à²ªà²¯à³à²à²¿à²žà²²à³à²ªà²à³à²à²¿à²Šà³.à²à²¡à²€à²à²à³à²à²šà³à²šà³ à²°à²à²¿à²žà²²à²Ÿà²à²²à²¿à²²à³à²².  
+FileActions.Insufficient_Space_Message:à²¡à²¿à²žà³à²à³âà²šà²²à³à²²à²¿ à²žà²Ÿà²à²·à³à²à³ à²žà³à²¥à²³à²Ÿà²µà²à²Ÿà²¶ à²à²²à³à²²à²Šà²¿à²°à³à²µà³à²Šà²°à²¿à²à²Š à²à²¡à²€ à²à³à²²à²ž à²µà²¿à²«à²²à²µà²Ÿà²à²¿à²Šà³:à²à²¡à²€à²µà²šà³à²šà³ à²žà²«à²²à²µà²Ÿà²à²¿ à²šà²à²²à³à²®à²Ÿà²¡à²²à³\nà²šà²¿à²®à²à³ à²¬à³à²à³:{0}
+FileActions.Moving:{0}à²®à³à²à²Šà³à²µà²°à²¿à²¯à³à²€à³à²€à²¿à²Šà³.
+FileActions.No_Activity:à²¯à²Ÿà²µà³à²Šà³ à²à²Ÿà²°à³à²¯  à²¬à³à²à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²².
+FileActions.Read_Not_Permitted_Message:{0}à²µà²šà³à²šà³ à²à²Šà²²à²Ÿà²à²²à²¿à²²à³à²².
+FileActions.Read_Only:à²µà²°à³à²à³âà²žà³à²ªà³à²žà²¿à²šà²²à³à²²à²¿à²°à³à²µ à²à²¡à²€ à²¬à²°à³ à²à²Šà³à²µà²à²€à²¹à³à²Šà³ à²®à²€à³à²€à³ à²
+à²Šà²šà³à²šà³ à²€à³à²à³à²¯à²²à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²².
+FileActions.Replacing:{0}à²µà²šà³à²šà³ à²¬à²Šà²²à²¿ à²à²°à²¿à²žà³à²€à³à²€à²¿à²Šà³.
+FileActions.Selected:{0}à²à²¡à²€à²à²³à³ à²®à²€à³à²€à³ 1 à²à²¡à²€à²à²à³à²à³ à²à²°à²¿à²žà²²à²Ÿà²à²¿à²Šà³.  
+FileActions.Unknown_File_Error_Message:à²à²¡à²€à²Š à²à²Ÿà²°à³à²¯à²Ÿà²à²°à²£à³à²¯ à²žà²®à²¯à²Šà²²à³à²²à²¿ à²¯à²Ÿà²µà³à²Šà³ à²€à²°à²¹à²Š à²€à²ªà³à²ªà³ à²žà²à²Šà³à²¶à²Š à²µà²°à²Šà²¿à²¯à²à²¿à²²à³à²²,\nà²à²Šà²°à³ à²šà²à²²à²Ÿà²à²¿à²°à³à²µ à²à²¡à²€ à²®à³à²²à²žà³à²¥à²Ÿà²šà²Šà²²à³à²²à²¿à²°à³à²µ à²à²¡à²€à²Š à²šà²à²²à²²à³à²²à²µà³à²à²Šà³ à²ªà²°à³à²à³à²·à³à²¯à²¿à²à²Š à²€à²¿à²³à²¿à²Šà³à²¬à²à²Šà²¿à²Šà³.à²à²Šà²à³à²à³ à²à²Ÿà²°à²£ à²€à²¿à²³à²¿à²¯à²Šà³.à²Šà²¯à²µà²¿à²à³à²à³ à²šà²¿à²®à³à²® à²®à³à²¡à²¿à²¯à²Ÿà²µà²šà³à²šà³ à²ªà²°à³à²à³à²·à²¿à²žà²¿ à²®à²€à³à²€à³ à²šà²¿à²®à³à²® à²žà³à²¥à²Ÿà²ªà²¿à²€ à²à³à²µà²¿à²à²®à³ à²šà³à²šà³ à²šà²µà³à²à²°à²¿à²žà²¿ à²
+à²ªà³âà²¡à³à²à³â.  
+FileActions.Write_Not_Permitted_Message:à²²à³à²¬à³âà²°à³à²°à²¿à²¯à²šà³â à²à²à²à²°à³âà²«à³à²žà³âà²à³ \n{0}\nà²à³ à²¬à²°à³à²¯à³à²µ à²
+à²šà³à²®à²€à²¿ à²à²²à³à²².à²Šà²¯à²µà²¿à²à³à²à³ à²
+à²šà³à²®à²€à²¿à²¯à²šà³à²šà³ à²ªà²°à²¿à²¶à³à²²à²¿à²žà²¿.
+FileActions.Write_Not_Permitted_Title:à²€à²ªà³à²ªà³ - à²à²¡à²€à²Š à²
+à²šà³à²®à²€à²¿ à²žà²°à²¿à²¯à²Ÿà²à²¿à²²à³à²².
+FileActions.Yes_To_All:à²¹à³à²Šà³ à²à²²à³à²²à²µà²šà³à²šà³.
+FileActions.File_Permission_Detail:\n\nà²žà³à²à²šà³:à²žà²Ÿà²®à²Ÿà²šà³à²¯à²µà²Ÿà²à²¿,à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²²à³à²¬à³à²°à³à²°à²¿à²¯à²šà³â à²à²à²à²°à³âà²«à³à²žà³âà²à³ à²à³à²°à³à²šà³âà²žà³à²à³à²šà³âà²šà²¿à²š à²®à³à²² à²à²¡à²€à²à²à²¿à²à³ à²¬à²°à³à²¯à³à²µ à²
+à²šà³à²®à²€à²¿ à²¬à³à²à²Ÿà²à³à²€à³à²€à²Šà³,\n à²
+à²Šà³ à²¯à²Ÿà²µà³à²Šà³à²à²Šà²°à³ {0}.à²Šà²¯à²µà²¿à²à³à²à³ à²ªà³à²°à²žà³à²€à³à²€ à²à²ªà²¯à³à²à²¿à²žà³à²€à³à²€à²¿à²°à³à²µà²µà²°à²¿à²à³({1})à² à²à²¡à²€à²à²à³à²à²¿à²š à²¹à²Ÿà²à³ à²
+à²Šà²° à²à²ªà²à²¡à²€à²à²à³à²à³à²à²³ à²®à³à²²à³ à²žà²à²ªà³à²°à³à²£ à²¹à²€à³à²à²¿ à²šà³à²¡à²¿à²®à²€à³à²€à³ à²ªà³à²°à²¯à²€à³à²šà²¿à²žà²¿.\n\n à²
+à²¥à²µ à²®à³à²Šà²²à³ à²šà²¿à²®à³à²® à²¹à²€à³à²à²¿à²¯à²²à³à²²à²¿à²°à³à²µ (à²à²Šà²Ÿ: My Documents)à²à²à²Šà³ à²à²¡à²€à²à²à³à²à²¿à²šà²²à³à²²à²¿ à²à³à²°à³à²šà³âà²žà³à²à³à²šà²šà³à²šà³ à²ªà³à²šà² à²žà³à²¥à²Ÿà²ªà²¿à²žà²¿.  
+
+#************************
+#
+#******* File Associations dialog **********
+FileAssociationDialog.Add:à²žà³à²°à²¿à²žà³.
+FileAssociationDialog.Add_Tooltip:à² à²°à³à²€à²¿à²¯ à²à²¡à²€à²à²³à²šà³à²šà³ à²šà³à²¡à²²à³ à² à²
+à²šà³à²µà²¯à²µà²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²¿.  
+FileAssociationDialog.Batch_File:à²¬à³à²¯à²Ÿà²à³â à²à²¡à²€à²à²³à³  
+FileAssociationDialog.Browse:à²µà³à²à³à²·à²¿à²žà³  
+FileAssociationDialog.Browse_Tooltip:à²šà²¿à²®à³à²® à²à²¡à²€à²à²³ à²à²Ÿà²à²Šà²¿à²à²Š à²
+à²šà³à²µà²¯à²µà²šà³à²šà³ à²à²°à²¿à²žà²²à³ à²à²ªà²¯à³à²à²¿à²žà²¿.  
+FileAssociationDialog.Browse_Tooltip_Mac:à²šà²¿à²®à³à²® à²
+à²šà³à²µà²¯à²µà²šà³à²šà³ à²®à³à²¯à²Ÿà²à³à²à²à²žà³âà²šà²²à³à²²à²¿ à²µà³à²à³à²·à²¿à²žà³à²µà³ à²žà²§à³à²¯à²à³à²à³ à²šà²¿à²·à³à²à³à²°à²¿à²¯à²µà²Ÿà²à²¿à²Šà³  
+FileAssociationDialog.Browse_Title:à²
+à²šà³à²µà²¯à²µà²šà³à²šà³ à²à²°à²¿à²žà²¿.  
+FileAssociationDialog.Close:à²®à³à²à³à²à³  
+FileAssociationDialog.Close_Tooltip:à² à²žà²à²µà²Ÿà²Šà²µà²šà³à²šà³ à²®à³à²à³à²à²¿ à²®à²€à³à²€à³ à²®à³à²à³à²¯ à²à²¿à²à²à²¿à²à³ à²µà²Ÿà²ªà²žà³à²žà²Ÿà²à²¿.  
+FileAssociationDialog.Command:à²à²°à²à²­ à²à²Šà³à²¶ :  
+FileAssociationDialog.Command_File:à²à²Šà³à²¶ à²à²¡à²€à²à²³à³.  
+FileAssociationDialog.Command_Tooltip:à²
+à²šà³à²µà²¯à²µà²šà³à²šà³ à²à²°à²à²­à²¿à²žà²²à³ à²à²Šà³à²¶à²µà²šà³à²šà³ à²¬à²°à³à²¯à²¿à²°à²¿.  
+FileAssociationDialog.Details:à²¹à³à²ž à²à²¡à²€ à²žà²à²¯à³à²à²Š à²µà²¿à²µà²°à²à²³à³.  
+FileAssociationDialog.Executable_File:à²à²Ÿà²°à³à²¯à²°à³à²ªà²µà²Ÿà²à²¬à²²à³à²² à²à²¡à²€à²à²³à³.  
+FileAssociationDialog.Extension:à²¹à³à²à³ à²à³à²šà³à²¯à²Ÿà²à³à²µ à²à²¡à²€à²à²³à³:
+FileAssociationDialog.Extension_Tooltip:à²šà³à²¡à²¬à³à²à²Ÿà²Š à²à²¡à²€à²à²³ à²à²à³à²žà³âà²à³à²à²·à²šà³â.
+FileAssociationDialog.Instructions:à² à²®à²Ÿà²Šà²°à²¿ à²à²¡à²€à²à²³à²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²²à³ à²¯à²Ÿà²µ à²¹à³à²° à²ªà³à²°à³à²à³à²°à²Ÿà²à²à²³à²šà³à²šà³ à²¬à²³à²žà²¬à²¹à³à²Šà³ à²®à²€à³à²€à³ à²
+à²µà³à²à²³à²šà³à²šà³ à²ªà³à²°à²Ÿà²°à²à²­à²¿à²žà²²à³  à²à²ªà²¯à³à²à²¿à²žà²¬à³à²à²Ÿà²Š à²à²Šà³à²¶à²à²³à²šà³à²šà³ à²€à²¿à²³à²¿à²¯à²²à³ à² à²žà²à²µà²Ÿà²Š à²à²ªà²¯à³à²à²¿à²žà²¿à²°à²¿.\nà²¹à³à²ž à²à²¡à²€-à²®à²Ÿà²Šà²°à²¿à²¯à²šà³à²šà³ à²žà³à²°à²¿à²žà²²à³,à²à²¡à²€à²à²³ à²à³à²šà³à²¯à²²à³à²²à²¿ à²
+à²Šà²° à²à²à³à²žà³âà²à³à²à²·à²šà³âà²šà³à²šà³ à²¬à²°à³à²¯à²¿à²°à²¿.à²ªà³à²°à²Ÿà²°à²à²­ à²
+à²Šà³à²¶à²µà²šà³à²šà³ à²žà³à²°à²¿à²žà²²à³ à²
+à²¥à²µ à²¬à²Šà²²à²Ÿà²¯à²¿à²žà²²à³ -'à²²à²Ÿà²à²à³â à²à²®à³à²¯à²Ÿà²à²¡à³'à²šà²²à³à²²à²¿ à²¹à³à²ž à²à²Šà³à²¶à²µà²šà³à²šà³ à²¬à²°à³à²¯à²¿à²°à²¿ à²
+à²¥à²µ 'à²¬à³à²°à³à²žà³'à²šà³à²šà³ à²à²€à³à²€à³à²µà³à²Šà²° à²®à³à²²à² à²žà³à²à³à²€ à²à²Ÿà²°à³à²¯à²à³à²°à²®à²µà²šà³à²šà³ à²¹à³à²¡à³à²à²¿.à²µà²¿à²¶à³à²· à²žà³à²à³à²°à²¿à²à²à³âà²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²¿ à²€à³à²°à³à²¯ à²¬à³à²à²Ÿà²Š '%1'à²à²¡à²€à²Š à²¹à³à²žà²°à²šà³à²šà³ à²à²²à³à²²à²¿ à²
+à²³à²µà²¡à²¿à²žà²¬à³à²à³à²à²Šà³ à²€à³à²°à²¿à²žà²¿.à².à²Šà²Ÿ. "C:\\Windows\\System\\MSPaint.exe % 1".'%1'à²à²²à³à²²à²Šà²¿à²Šà³à²Šà²²à³à²²à²¿ à²à²Šà³à²¶à²Š à²à³à²šà³à²¯à²²à³à²²à²¿ à²à³à²¡à²¿à²žà²²à²Ÿà²à³à²µà³à²Šà³.\nà²®à³à²¯à²Ÿà²à³âà²à²à²žà³ à²à²ªà²¯à³à²à²¿à²žà³à²µà²µà²°à³ à²¯à²Ÿà²µà²Ÿà²à²²à³ à²®à³à²Šà²²à³ à²®à³à²¯à²Ÿà²à³â à²žà³à²ªà²·à³à²à²µà²Ÿà²Š à²
+à²Šà³à²¶à²µà²šà³à²šà³ à²ªà³à²°à²¯à²€à³à²šà²¿à²žà²¿"open [-a <application_name>] %1".  
+FileAssociationDialog.Table.Command:à²à²Šà³à²¶  
+FileAssociationDialog.Table.Extension:à²µà³à²¯à²Ÿà²ªà³à²€à²¿  
+FileAssociationDialog.Title:à²à²¡à²€à²à²³ à²žà²à²¯à³à²à²à²³à²šà³à²šà³ à²€à²¿à²Šà³à²Šà²¿à²à²³à²šà³à²šà³  
+FileAssociationDialog.Remove:à²€à³à²à³  
+FileAssociationDialog.Remove_Tooltip:à²à²°à³à²µ à²žà²à²¯à³à²à²à²³à²¿à²à²Š à²à²°à²¿à²žà²¿à²Š à²žà²à²¯à³à²à²µà²šà³à²šà³ à²€à³à²à³à²¯à²¿à²°à²¿.  
+FileAssociationDialog.Replace:à²¬à²Šà²²à²Ÿà²¯à²¿à²žà³  
+FileAssociationDialog.Replace_Tooltip:à²à²¯à³à²Š à²žà²à²¯à³à²à²µà²šà³à²šà³ à²¹à³à²ž à²žà²à²¯à³à² à²µà²¿à²µà²°à²à²³à²¿à²à³ à²¬à²Šà²²à²Ÿà²¯à²¿à²žà²¿.  
+#*******************
+#
+#******Filter***************
+Filter.0:à²¹à³à²à³âà²à²¿à²à² à²®à²€à³à²€à³ à²¹à³à²à³âà²à²¿à²à²à²à²²à³â.
+Filter.1:à²à²à³à²žà³âà²à²à²à²²à³â.
+Filter.2:à²ªà² à³à²¯ à²à²¡à²€à²à²³à³.
+Filter.3:à²à²Ÿà²¯à³à²¯ à²ªà³à²°à²€à²¿  
+Filter.4:à²ªà²¿à²¡à²¿à²à²«à³â  
+Filter.5:à²à²«à³à²žà³â à²Šà²žà³à²€à²Ÿà²µà³à²à³à²à²³à³  
+Filter.All_Files:à²à²²à³à²²à²Ÿ à²à²¡à²€à²à²³à³.
+Filter.Filter_Tree:à²à²¡à²€à²à²³à²šà³à²šà³ à²€à³à²°à²¿à²žà³.
+Filter.Invalid_Pattern:<HTML><FONT FACE={FONT} COLOR=Black>à²šà³à²µà³ à²šà²®à³à²Šà²¿à²žà²¿à²Š à²à²¡à²€à²à²³à²šà³à²šà³ à²¶à³à²§à²¿à²žà³à²µ à²®à²Ÿà²Šà²°à²¿ à²šà²¿à²°à²Ÿà²§à²Ÿà²°à²µà²Ÿà²à²¿à²Šà³.  <BR>à²Šà²¯à²µà³à²à³à²à³ à²à³à²°à²®à²¬à²Šà³à²§ à²ªà²Šà²µà²¿à²šà³à²¯à²Ÿà²žà²à²³à²šà³à²šà³ à²®à²€à³à²€à³ <BR>* à²šà³à²šà³ à²ªà²Šà²à²³ à²µà³à²²à³à²¡à³âà²à²Ÿà²°à³à²¡à³à²à²³à²¿à²à²Ÿà²à²¿ à²à²ªà²¯à³à²à²¿à²žà²¿ à²®à²€à³à²€à³ à²ªà³à²°à²¯à²€à³à²šà²¿à²žà²¿.</FONT></HTML>  
+#***********************
+#
+#***** GAuthenticator *****
+GAuthenticator.Password:à²žà²à²à³à²€à²ªà²Š:  
+GAuthenticator.Password_Tooltip:à²šà²¿à²®à³à²® à²žà²à²à³à²€à²ªà²Šà²µà²šà³à²šà³ à²à²²à³à²²à²¿ à²šà²®à³à²Šà²¿à²žà²¿.  
+GAuthenticator.Title:à²žà²à²à³à²€à²ªà²Š  à²¬à³à²à²Ÿà²à²¿à²Šà³.  
+GAuthenticator.Username:à²à²ªà²¯à³à²à²¿à²žà³à²µà²µà²° à²¹à³à²žà²°à³:
+GAuthenticator.Username_Tooltip:à²šà²¿à²®à³à²® à²à²ªà²¯à³à²à²¿à²¹à³à²žà²°à²šà³à²šà³ à²à²²à³à²²à²¿ à²šà²®à³à²Šà²¿à²žà²¿.  
+#**************************
+#
+#***** General Messages *****
+# 0 - A String representing the name and method of the class in question.
+General.Apply:à²
+à²šà³à²µà²¯à²¿à²žà³  
+General.Apply_Tooltip:à²à²Ÿà²²à³à²€à²¿à²¯à²²à³à²²à²¿à²°à³à²µ à²žà³à²à²¿à²à²à³âà²à²³à²šà³à²šà³ à²
+à²šà³à²µà²¯à²¿à²žà²¿ à²à²Šà²°à³ à²žà²à²µà²Ÿà²Šà²Šà²¿à²à²Š à²¹à³à²°à²¬à²°à²¬à³à²¡à²¿.
+General.Browse:à²µà³à²à³à²·à²¿à²žà³à²µà³à²Šà³ ...  
+General.Cancel:à²µà²à²Ÿà²à³à²³à²¿à²žà³  
+General.Cancel_Tooltip:à²¬à²Šà²²à²Ÿà²µà²£à³à²à²³à²šà³à²šà³ à²°à²Šà³à²Šà³à²®à²Ÿà²¡à²¿(à²à²à²Ÿà²²à³ à²
+à²šà³à²µà²µà²Ÿà²à²¿à²°à³à²µ à²¬à²Šà²²à²Ÿà²µà²£à³à²à²³à³ à²°à²Šà³à²Šà²Ÿà²à³à²µà³à²Šà²¿à²²à³à²²).
+General.Close:à²®à³à²à³à²à³  
+General.Close_Tooltip:à² à²¡à³à²²à²Ÿà²à³â à²à³à²à²µà²šà³à²šà³ à²®à³à²à³à²à³.
+General.Edit:à²®à³à²²à³à²¯à²µà²šà³à²šà³ à²€à²¿à²Šà³à²Šà²¿.
+General.Error:à²€à²ªà³à²ªà³  
+General.LLS_Not_Started:à²šà³à²µà³ à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²žà²°à³à²µà²°à²šà³à²šà³ à²€à²²à²ªà³à²€à³à²°à²¿, à²à²à²à²°à³â à²²à³à²¬à³à²°à²°à²¿ à²à³à²à²¡à²¿à²¯à²šà³à²šà³ à²à²à²²à³ à²à²€à³à²€à²¬à³à²¡à²¿.\nà²à²à²Šà³à²žà²°à²¿ à²à²Šà²šà³à²šà³ à²®à²Ÿà²¡à²¿à²Šà²®à³à²²à³, à²ªà³à²šà² à²žà²à²à³à²°à²¹à²Š à²šà³à²à²µà²šà³à²šà³ à²šà³à²¡à²²à³ à²²à³à²¬à³à²°à³à²°à²¿ à²à²à²à²°à³âà²«à³à²žà²žà³âà²š à²žà²à²à³à²°à²¹à²Š à²®à³à²šà³à²šà³à²à²µà²šà³à²šà³ à²à²€à³à²€à²¿.  
+General.LLS_Not_Started_Title:à²žà³à²¥à²³à³à²¯ à²à³à²°à²à²¥à²Ÿà²²à²¯ à²žà²°à³à²µà²°à³â à²à²šà³à²šà³ à²ªà³à²°à²Ÿà²°à²à²­à²¿à²žà²¿à²²à³à²²  
+General.No:à²à²²à³à²².
+General.NotSunJava:à²à²Ÿà²µ à²µà³à²à²¡à²°à³â:{0}\nà²žà³à²à²šà³:à²žà²šà³â à²®à³à²à³à²°à³à²žà²¿à²žà³à²à²à²šà²µà²° à²à²Ÿà²µà²Ÿà²Šà²¿à²à²Š à²²à³à²¬à³à²°à³à²°à²¿à²¯à²šà³â à²à²à²à²°à³âà²«à³à²žà³âà²šà³à²šà³ à²¬à³à²³à²žà²²à²Ÿà²à²¿à²Šà³ à²®à²€à³à²€à³ à²ªà²°à³à²à³à²·à²¿à²žà²²à²Ÿà²à²¿à²Šà³.
+General.OK:à²žà²°à²¿  
+General.OK_Tooltip:à²à²Ÿà²²à³à²€à²¿à²¯à²²à³à²²à²¿à²°à³à²µ à²žà³à²à³à²à²¿à²à²à³âà²à²³à²šà³à²šà³ à²à²ªà³à²ªà²¿à²à³à²³à³à²³à²¿ à²®à²€à³à²€à³ à²¡à³à²²à²Ÿà²à³âà²šà²¿à²à²Š à²¹à³à²°à²¬à²šà³à²šà²¿.
+General.Outstanding_Processes:<html>à²ªà³à²°à²žà³à²€à³à²€ à²à²Ÿà²°à³à²¯à²šà²¿à²°à²€à²µà²Ÿà²à²¿à²°à³à²µ à²à²Ÿà²°à³à²¯à²à³à²°à²®à²à²³à²šà³à²šà³ à²®à³à²à³à²à³à²µà²µà²°à³à²à³<br>à²²à³à²¬à³à²°à³à²°à²¿à²¯à²šà³ à²à²šà³âà²à²°à³âà²«à³à²žà³â à²ªà³à²°à³à²£à²µà²Ÿà²à²¿ à²®à³à²à³à²à³à²µà³à²Šà²¿à²²à³à²². </html>
+General.Outstanding_Processes_Title:à²šà²¿à²°à³à²à²®à²šà²à³à²à³ à²à²Ÿà²¯à³à²€à³à²€à²¿à²Šà³.
+General.Pure_Cancel_Tooltip:à² à²à³à²°à²®à²µà²šà³à²šà³ à²°à²Šà³à²Šà³à²à³à²³à²¿à²žà²¿(à²¯à²Ÿà²µà³à²Šà³ à²¬à²Šà²²à²Ÿà²µà²£à³à²à²³à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²²).
+General.Review_Output:à²Šà²¯à²µà²¿à²à³à²à³ à²à³à²³à²à²¿à²°à³à²µ à²ªà³à²°à²Šà²Ÿà²šà²µà²šà³à²šà³ à²µà²¿à²®à²°à³à²¶à²¿à²žà³:  
+General.Redo:à²®à²€à³à²€à³ à²®à²Ÿà²¡à³  
+General.Redo_Tooltip:à²à²¡à³à²¯à²Šà²Ÿà²à²¿ à²°à²Šà³à²Šà³à²®à²Ÿà²¡à²¿à²Šà²šà³à²šà³ à²®à²€à³à²€à³ à²šà²µà³à²à²°à²¿à²žà²¿.  
+General.Undo:à²°à²Šà³à²Šà³à²®à²Ÿà²¡à³  
+General.Undo_Tooltip:à²à²¡à³à²¯à²Šà²Ÿà²à²¿ à²®à²Ÿà²¡à²¿à²Š à²€à²¿à²Šà³à²Šà³à²µà²¿à²à³à²¯à²šà³à²šà³ à²°à²Šà³à²Šà³à²®à²Ÿà²¡à²¿  
+General.Usage:Usage: {0} <params>\nAll parameters are optional but the Librarian Interface may fail to work if -gsdl and -library aren't set.\n -gsdl <path>  : Force path to gsdl\n -library <path> : Path to cgi-bin\n -mozilla <path> : Enabled mozilla\n -mirror : Enable web-mirroring controls\n -laf [java|windows|motif|mac] : Look and feel\n -debug : Enable debug messages\n -no_load : Don't load previously open collection\n -load <path> : Load the specified collection  
+General.View:à²®à³à²²à³à²¯à²µà²šà³à²šà³ à²šà³à²¡à³.
+General.Warning:à²à²à³à²à²°à²¿à²à³  
+General.Yes:à²¹à³à²Šà³  
+#****************************
+#
+#***** GShell *****
+GShell.BadArgument:à²à²°à³à²à³à²¯à³à²®à³à²à²à³â {0}à²šà²¿à²°à²Ÿà²§à²Ÿà²°à²µà²Ÿà²à²¿à²Šà³.  
+GShell.BadArgumentValue:à²à²°à³à²à³à²¯à³à²®à³à²à²à³â {0}à²šà²¿à²°à²Ÿà²§à²Ÿà²° à²®à³à²²à³à²¯à²µà²šà³à²šà³ à²¹à³à²à²Šà²¿à²Šà³.  
+GShell.BadPluginOptions:à²ªà³à²²à²à²¿à²šà³âà²šà²²à³à²²à²¿ à²Šà³à²·à²¯à³à²à³à²€ à²à²°à³à²à³à²¯à³à²®à³à²à²à³â à²à²à²à²Ÿà²à²¿à²Šà³ {0}.  
+GShell.BadClassifierOptions:à²µà²°à³à²à³à²à²°à²£à²Šà²²à³à²²à²¿ à²Šà³à²·à²¯à³à²à³à²€ à²à²°à³à²à³à²¯à³à²®à³à²à²à³â à²à²à²à²Ÿà²à²¿à²Šà³{0}.  
+GShell.Build.Auxilary:à²à²ª à²à²¡à²€à²à²³à²šà³à²šà³ à²°à²à²¿à²žà³à²€à³à²€à²¿à²Šà³ à²®à²€à³à²€à³ à²
+à²à³à²à³à²à²à³à²à³ à²®à²Ÿà²¡à³à²€à³à²€à²¿à²Šà³...  
+GShell.Build.BuildBegun1:**************à²šà²¿à²°à³à²®à²¿à²žà²²à³ à²ªà³à²°à²Ÿà²°à²à²¬à²¿à²žà²¿à²€à³ **************  
+GShell.Build.BuildCancelled:**************  à²°à²Šà³à²Šà³    **************  
+GShell.Build.BuildComplete1:**************   à²šà²¿à²°à³à²®à²¿à²žà²¿à²Šà³à²Šà³ à²®à³à²à²¿à²¯à²¿à²€à³     **************  
+GShell.Build.CompressText:à²ªà² à³à²¯à²µà²šà³à²šà³ à²žà²à²à³à²à²¿à²€à²à³à²³à²¿à²žà³à²€à³à²€à²¿à²Šà³...  
+GShell.Build.Index:{0-index source and level}à²à²§à²Ÿà²°à²¿à²žà²¿ à²žà³à²à²¿à²¯à²šà³à²šà³ à²šà²¿à²°à³à²®à²¿à²žà²²à²Ÿà²à³à²€à³à²€à²¿à²Šà³ ...
+GShell.Build.InfoDatabase:à²®à²Ÿà²¹à²¿à²€à²¿ à²Šà²€à³à²€à²žà²à²à²¯ à²°à²à²¿à²žà³à²€à³à²€à²¿à²Šà³...  
+GShell.Build.Phind:à²«à²¿à²šà³âà²¡à³â  à²µà²°à³à²à³à²à²°à²£à²µà²šà³à²šà³ à²¹à³à²à³à²à²¿à²žà³à²€à²¿à²Šà³.à²à²Šà³ à²žà³à²µà²²à³à²ª à²žà²®à²¯à²µà²šà³à²šà³ à²€à³à²à³à²Šà³à²à³à²³à³à²³à²¬à²¹à³à²Šà³...  
+GShell.Schedule.ScheduleBegun1:**************** à²šà²¿à²¯à²€à²à²Ÿà²²à²¿à² à²ªà³à²°à²Ÿà²°à²à²­à²¿à²žà²¿à²Šà³ ***************  
+GShell.Schedule.ScheduleComplete1:**************** à²šà²¿à²¯à²€à²à²Ÿà²²à²¿à² à²®à³à²à²¿à²Šà³à²Šà³ *************  
+GShell.Schedule.ScheduleDelete:*********** à²à²°à³à²µ à²šà²¿à²¯à²€à²à²Ÿà²²à²¿à²à²µà²šà³à²šà³ à²€à³à²à³à²¯à³à²€à³à²€à²¿à²Šà³ *****  
+GShell.Command:à²à²Šà³à²¶ Command
+GShell.Failure:à²à²Šà³à²¶ à²µà²¿à²«à²²à²µà²Ÿà²à²¿à²Šà³.
+GShell.Import.FileNotProcessed:à² à²à²¡à²€à²µà²šà³à²šà³ {0-target file path}à²à³à²°à³à²€à²¿à²žà²²à²Ÿà²¯à²¿à²€à³ à²à²Šà²°à³ à²¯à²Ÿà²µà³à²Šà³ à²ªà³à²²à²à²¿à²šà³âà²šà²¿à²à²Š à²ªà²°à²¿à²·à³à²à³à²€ à²à³à²³à²¿à²žà²²à²Ÿà²à³à²€à³à²€à²¿à²²à³à²².  
+GShell.Import.FileNotRecognised:à² à²à²¡à²€ {0-target file path}à²µà²šà³à²šà³ à²¯à²Ÿà²µà³à²Šà³ à²ªà³à²²à²à²¿à²šà³â à²à³à²°à³à²€à²¿à²žà³à²€à³à²€à²¿à²²à³à²².
+GShell.Import.FileProcessing:à² à²à²¡à²€ {0-target file path}à²ªà²°à²¿à²·à³à²à³à²€ à²à³à²³à²¿à²žà²²à³à²ªà²¡à³à²€à³à²€à²¿à²Šà³ {1-à²ªà³à²²à²à²¿à²šà³â à²¹à³à²žà²°à³}.  
+GShell.Import.FileProcessingError:à² à²à²¡à²€ {0-target file path}à²ªà²°à²¿à²·à³à²à²°à²£ à²žà²®à²¯à²Šà²²à³à²²à²¿ à²à²à²Šà³ à²€à²ªà³à²ªà²šà³à²šà³ à²žà²à²§à²¿à²žà²¿à²Šà³  
+GShell.Import.ImportBegun1:************** à²à²®à²Šà³ à²ªà³à²°à²Ÿà²°à²à²­à²¿à²žà²¿à²€à³ **************
+GShell.Import.ImportComplete1:************** à²à²®à²Šà³ à²®à³à²à²¿à²¯à²¿à²€à³ **************
+GShell.Import.ImportComplete2:{0-number documents considered}à²Šà²žà³à²€à²Ÿà²µà³à²à³à²à²³à²šà³à²šà³ à²žà²à²žà³à²à²°à²£à²à³à²³à²¿à²žà²²à³ à²à²£à²šà³à²à³ à²€à³à²à³à²Šà³à²à³à²à²¡à²¿à²Šà³:  
+GShell.Import.ImportComplete2.1:à²žà²à²žà³à²à²°à²£à²à³à²³à²¿à²žà²²à³ 1 à²Šà²žà³à²€à²Ÿà²µà³à²à²šà³à²šà³ à²à²£à²šà³à²à³ à²€à³à²à³à²Šà³à²à³à²à²¡à²¿à²Šà³:  
+GShell.Import.ImportComplete.Processed:{0-number processed}à²žà²à²à³à²°à²¹à²Šà³à²³à²à³ à²Šà²žà³à²€à²Ÿà²µà³à²à³à²à²³à²šà³à²šà³  à²ªà²°à²¿à²·à³à²à³à²€à²à³à²³à²¿à²žà²¿ à²žà²à²à³à²°à²¹à²à³à²à³ à²žà³à²°à²¿à²žà²²à²Ÿà²à²¿à²Šà³.  
+GShell.Import.ImportComplete.Processed.1:1 à²Šà²žà³à²€à²Ÿà²µà³à²à²šà³à²šà³ à²ªà²°à²¿à²·à³à²à³à²€à²à³à²³à²¿à²žà²¿ à²žà²à²à³à²°à²¹à²Šà³à²³à²à³ à²žà³à²°à²¿à²žà²²à²Ÿà²à²¿à²Šà³.  
+GShell.Import.ImportComplete.Blocked:{0-number blocked}à²
+à²µà³à²à²³à²šà³à²šà³ à²žà³à²°à²¿à²žà³à²µ à²à²Ÿà²°à³à²¯à²µà²šà³à²šà³ à²ªà³à²²à²à²¿à²šà³âà²à²³à³ à²ªà³à²°à²€à²¿ à²¬à²à²§à²¿à²žà²¿à²Šà²µà³ (à².à²Šà²Ÿ.:à²µà³à²¬à³â à²ªà³à²à²¿à²š à²à²®à³à²à³ ).
+GShell.Import.ImportComplete.Blocked.1:1à²šà³à²šà³ à²žà³à²°à²¿à²žà³à²µ à²à²Ÿà²°à³à²¯à²µà²šà³à²šà³ à²ªà³à²²à²à²¿à²šà³âà²à²³à³ à²ªà³à²°à²€à²¿ à²¬à²à²§à²¿à²žà²¿à²Šà²µà³(à².à²Šà²Ÿ.: à²µà³à²¬à³â à²ªà³à²à²¿à²š à²à²®à³à²à³ ).  
+GShell.Import.ImportComplete.Ignored:{0-number ignored}à²
+à²µà³à²à²³à²šà³à²šà³ à²à³à²°à³à²€à²¿à²žà²²à²Ÿà²à²¿à²²à³à²².
+GShell.Import.ImportComplete.Ignored.1:1à²šà³à²šà³ à²à³à²°à³à²€à²¿à²žà²²à²Ÿà²à²¿à²²à³à²².  
+GShell.Import.ImportComplete.Failed:{0-number failed}à²
+à²µà³à²à²³à²šà³à²šà³ à²šà²¿à²°à²Ÿà²à²°à²¿à²žà²¿à²Šà³.
+GShell.Import.ImportComplete.Failed.1:1à²šà³à²šà³ à²šà²¿à²°à²Ÿà²à²°à²¿à²žà²¿à²Šà³.  
+GShell.Import.ImportComplete3:\n
+GShell.Import.Warning:{0-plugin name}à²š à²à²à³à²à²°à²¿à²à³:  
+GShell.Parsing_Metadata_Complete:à²à²°à³âà²à³à²µà³à²¡à³â à²®à³à²à²¡à³à² à²à²¯à³à²Šà³à²€à³à²à³à²¯à³à²µà³à²Šà³ à²®à³à²à²¿à²¯à²¿à²€à³.  
+GShell.Parsing_Metadata_Start:à²à²°à³âà²à³à²µà³â à²à²¡à²€à²à²³à²¿à²à²Š à²à²¯à³à²Šà³à²€à³à²à³à²Š à²¹à³à²ž à²®à³à²à²¡à³à².  
+GShell.Success:à²à²Šà³à²¶ à²ªà³à²°à³à²£à²à³à²à²¡à²¿à²Šà³.
+#*********************
+#
+#***** GUI *****
+# Currently Enabled and Disabled display the same text but in different
+# colours. If necessary this can be changed.
+GUI.Create:à²šà²¿à²°à³à²®à²¿à²žà³  
+GUI.Create_Tooltip:à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²šà²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²¿à²à³à²à²¡à³ à²šà²¿à²®à³à²® à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²à²à³à²à²¿.
+GUI.Design:à²µà²¿à²šà³à²¯à²Ÿà²ž  
+GUI.Design_Tooltip:à²šà²¿à²®à³à²® à²žà²à²à³à²°à²¹à²Š à²à²Ÿà²°à³à²¯à²šà²¿à²°à³à²µà²Ÿà²¹à²à²€à³à²µà²µà²šà³à²šà³ à²µà²¿à²šà³à²¯à²Ÿà²žà²à³à²³à²¿à²žà²¿  
+GUI.Download:à²à³à²³à²à²¿à²³à²¿à²žà²¿  
+GUI.Download_Tooltip:à²šà²¿à²®à³à²® à²žà²à²à³à²°à²¹à²à³à²à³ à²
+à²à²€à²°à³âà²à²Ÿà²²à²Šà²¿à²à²Š à²žà²à²ªà²šà³âà²®à³à²²à²à²³à²šà³à²šà³ à²à³à²³à²à²¿à²³à²¿à²žà²¿  
+GUI.Enrich:à²ªà³à²·à³à²à³à²à²°à²¿à²žà²¿  
+GUI.Enrich_Tooltip:à²šà²¿à²®à³à²® à²žà²à²à³à²°à²¹à²Šà²²à³à²²à²¿à²°à³à²µ à²à²¡à²€à²à²³à²¿à²à³ à²®à³à²à²¡à³à²à²µà²šà³à²šà³ à²šà³à²®à²¿à²žà²¿  
+GUI.Format:à²žà²à²µà²¿à²­à²Ÿà² Format
+GUI.Format_Tooltip:à²šà²¿à²®à³à²® à²žà²à²à³à²°à²¹à²Š à²šà³à²à²µà²šà³à²šà³ à²µà²¿à²šà³à²¯à²Ÿà²žà²à³à²³à²¿à²žà²¿  
+GUI.Gather:à²žà²à²à³à²°à²¹à²¿à²žà³  
+GUI.Gather_Tooltip:à²šà²¿à²®à³à²® à²žà²à²à³à²°à²¹à²à³à²à³ à²žà³à²°à²¿à²žà²¬à³à²à²Ÿà²Š à²à²¡à²€à²à²³à²šà³à²šà³ à²à²°à²¿à²žà²¿.
+#***************
+#
+#***** HELP *****
+Help.Contents:à²µà²¿à²·à²¯  
+Help.Title:à²²à³à²¬à³à²°à³à²°à²¿à²¯à²šà³â à²à²à²à²°à³âà²«à³à²žà³âà²š à²žà²¹à²Ÿà²¯ à²ªà³à²à²à²³à³.
+#****************************
+#
+#***** Invalid Metadata ******
+InvalidMetadata.Message:à²®à³à²Šà²²à³ à²à³à²€à³à²€à³à²®à²Ÿà²¡à²¿à²°à³à²µ à²®à³à²²à³à²¯à²Š à²à³à²à²ªà²¿à²à³ à² à²®à³à²à²¡à³à²à²Ÿ à²§à²Ÿà²€à³ à²šà²¿à²°à³à²¬à²à²§à²µà²Ÿà²à²¿à²Šà³.à²Šà²¯à²µà²¿à²à³à²à³ à²à²°à³à²µ à²®à³à²²à³à²¯à²à²³à²²à³à²à²Šà²šà³à²šà³ à²à²°à²¿à²žà²¿.  
+InvalidMetadata.Title:à²šà²¿à²°à²°à³à²¥à²à²µà²Ÿà²Š à²®à³à²à²¡à³à².  
+#***************************
+#
+#***** LegacyCollection
+LegacyCollection.Message:à²šà³à²µà³ à²¹à³à²°à²¿à²žà²¬à³à²à³à²à²Šà³à²à³à²à²¡à²¿à²°à³à²µ à²žà²à²à³à²°à²¹ à²à²¿à²à²²à³âà²à²šà²¿à²à²Š à²°à²à²¿à²€à²µà²Ÿà²à²¿à²²à³à²².à²à²°à³à²µ à²®à³à²à²¡à³à² à²¡à²¬à³à²²à²¿à²šà³ à²à³à²°à³ââ à²®à³à²à²¡à³à²à²Ÿ à²à³à²à²ªà²¿à²à³ à²à²®à²Šà²Ÿà²à³à²€à³à²€à²Šà³.à²à²à²ªà³à²°à³à²à³â.à²¬à³à²¯à²Ÿà²à³â à²à²à²¬ à²à²¡à²€à²à²à³à²à³ à²®à³à²² à²®à³à²à²¡à³à² à²à²¡à²€à²à²à³à²à³ à²à²³à²¿à²žà²²à³à²ªà²¡à³à²€à³à²€à²µà³.  
+LegacyCollection.Title:à²¹à³à²°à²à²¿à²š à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²¹à³à²°à²¿à²žà²²à²Ÿà²à³à²€à³à²€à²¿à²Šà³.
+#***************************
+#
+#***** LockFileDialog *****
+LockFileDialog.Cancel_Tooltip:à²¬à³à² à²¹à²Ÿà²à²²à³à²ªà²à³à² à²à²¡à²€à²Š à²ªà³à²°à²­à³à²€à³à²µà²µà²šà³à²šà³ à²¹à³à²à²Šà²¬à³à²¡(à²žà²à²à³à²°à²¹ à²€à³à²à³à²Šà²¿à²²à³à²²)  
+LockFileDialog.Date:à²Šà²¿à²šà²Ÿà²à².
+LockFileDialog.Error:à²€à²ªà³à²ªà³  
+LockFileDialog.Lockfile_Message_One:à²à²¡à²€ à²¬à³à² à²¹à²Ÿà²à²²à³à²ªà²à³à²à²¿à²°à³à²µà³à²Šà²°à²¿à²à²Š à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à² à²®à³à²Šà²²à³ à²€à³à²à³à²²à²Ÿà²à²¿à²Šà³ à²à²à²Šà³ à²žà³à²à²¿à²žà³à²€à³à²€à²¿à²Šà³.  
+LockFileDialog.Lockfile_Message_Two:à²¬à³à² à²¹à²Ÿà²à²¿à²Š à² à²à²¡à²€à²Š à²ªà³à²°à²­à³à²€à³à²µà²µà²šà³à²šà³ à²¹à³à²à²Šà²²à³ à²šà³à²µà³ à²à²à³à²à²¿à²žà³à²€à³à²€à³à²°à²Ÿ?  
+LockFileDialog.Machine:à²à²²à³à²²à²¿.
+LockFileDialog.Name:à²¹à³à²žà²°à³.
+LockFileDialog.OK_Tooltip:à²¬à³à²à²¹à²Ÿà²à²¿à²Š à²à²¡à²€à²Š à²ªà³à²°à²­à³à²€à³à²µà²µà²šà³à²šà³ à²¹à³à²à²Šà³.  
+LockFileDialog.Title:à²¬à³à²à²¹à²Ÿà²à²¿à²Š à²à²à²Šà³ à²à²¡à²€ à²à²à²¡à³à²¬à²à²Šà²¿à²Šà³.
+LockFileDialog.User:à²¯à²Ÿà²°à³.
+#********************
+#
+#*****MappingPrompt **********
+MappingPrompt.File:à²à²¡à²€à²à²à³à²à³  
+MappingPrompt.Map:à²žà³à²³à³à²Šà²Ÿà²°à²¿à²¯à²šà³à²šà³ à²°à²à²¿à²žà³.  
+MappingPrompt.Name:à²¹à³à²žà²°à³.
+MappingPrompt.Title:à²à²¡à²€à²à²à³à²à²¿à²š à²žà³à²³à³à²Šà²Ÿà²°à²¿à²¯à²šà³à²šà³ à²à²à²à³à²®à²Ÿà²¡à³.  
+MappingPrompt.Unmap:à²žà³à²³à³à²Šà²Ÿà²°à²¿à²¯à²šà³à²šà³ à²€à³à²à³.  
+#*******************
+#
+#***** Menu Options *****
+Menu.Collapse:à²à²¡à²€à²à²à³à²à²šà³à²šà³ à²®à³à²à³à²à³.  
+Menu.Edit:à²€à²¿à²Šà³à²Šà³  
+Menu.Edit_Copy:à²šà²à²²à³ à²®à²Ÿà²¡à³(ctrl-c)
+Menu.Edit_Cut:à²à²€à³à²€à²°à²¿à²žà³(ctrl-x)
+Menu.Edit_Paste:à²
+à²à²à²¿à²žà³(ctrl-v)
+Menu.Expand:à²à²¡à²€à²à²à³à²à²šà³à²šà³ à²€à³à²°à³.  
+Menu.Explode_Metadata_Database:à²®à³à²à²¡à³à²à²Ÿ à²Šà²€à³à²€à²Ÿà²à²¶à²µà²šà³à²šà³ à²µà²¿à²žà³à²€à²°à²¿à²žà²¿.  
+Menu.Replace_SrcDoc_With_HTML:à²¹à³à²à³âà²à²¿à²à²à²à²²à³â à²µà²°à³à²·à²šà³âà²šà³à²à²Šà²¿à²à³ à²¬à²Šà²²à²¿à²žà³  
+Menu.File:à²à²¡à²€  
+Menu.File_Associations:à²à²¡à²€ à²žà²à²¬à²à²§à²à²³à³...
+Menu.File_CDimage:à²žà²¿à²¡à²¿/à²¡à²¿à²µà²¿à²¡à²¿ à²ªà³à²°à²€à²¿à²à³à²€à²¿ à²¬à²°à³à²¯à²¿à²°à²¿...
+Menu.File_Close:à²®à³à²à³à²à³  
+Menu.File_Delete:à²€à³à²à³ ...  
+Menu.File_Exit:à²šà²¿à²°à³à²à²®à²¿à²žà³  
+Menu.File_ExportAs:à²šà²¿à²°à³à²¯à²Ÿà²€à²¿à²žà³...  
+Menu.File_New:à²šà²µà³à²š...  
+Menu.File_Open:à²€à³à²°à³ ...  
+Menu.File_Options:à²ªà³à²°à²Ÿà²§à²Ÿà²šà³à²¯à²€à³...  
+Menu.File_Save:à²à²³à²¿à²žà³  
+Menu.Help:à²žà²¹à²Ÿà²¯  
+Menu.Help_About:{0}à²à³ à²®à³à²à²¡à³à²à²Ÿà²µà²šà³à²šà³ à²šà³à²®à²¿à²žà²²à²Ÿà²à²¿à²Šà³.
+Menu.Metadata_View:{0}à²à³ à²®à³à²à²¡à³à²à²Ÿà²µà²šà³à²šà³ à²šà³à²®à²¿à²žà²²à²Ÿà²à²¿à²Šà³.
+Menu.Open_Externally:à²¹à³à²°à²à²¿à²š à²ªà³à²°à³à²à³à²°à²Ÿà² à²à²ªà²¯à³à²à²¿à²žà²¿ à²€à³à²°à³à²¯à²²à²Ÿà²à²¿à²Šà³.
+#********************
+#
+#***** MetaAudit *****
+MetaAudit.Close:à²®à³à²à³à²à³  
+MetaAudit.Close_Tooltip:à² à²žà²à²µà²Ÿà²Š à²à³à²à²µà²šà³à²šà³ à²®à³à²à³à²à³.  
+MetaAudit.Title:à²à²²à³à²² à²®à³à²à²¡à³à².
+#*********************
+#
+#***** Metadata *****
+Metadata.Element:à²§à²Ÿà²€à³  
+Metadata.Value:à²®à³à²²à³à²¯  
+MetadataSet.Files:à²®à³à²à²¡à³à² à²žà³à²à³à²à³à²à²³ à²à²¡à²€à²à²³à³.
+#**********************************
+#
+#***** MetadataSetDialog**********
+MetadataSetDialog.Title:à²®à³à²à²¡à³à² à²à³à²à²ªà²šà³à²šà³ à²šà²¿à²°à³à²µà²¹à²¿à²žà³  
+MetadataSetDialog.Add_Title:à²®à³à²à²¡à³à² à²à³à²à²ªà²šà³à²šà³ à²žà³à²°à²¿à²žà³.
+MetadataSetDialog.Current_Sets:à²šà³à²®à²¿à²žà²¿à²Š à²®à³à²à²¡à³à² à²à³à²à²ªà³à²à²³à³.  
+MetadataSetDialog.Available_Sets:à²²à²­à³à²¯à²µà²¿à²°à³à²µ à²®à³à²à²¡à³à² à²à³à²à²ªà³.
+MetadataSetDialog.Add:à²žà³à²°à²¿à²žà²¿à²°à²¿...
+MetadataSetDialog.Add_Tooltip:à²žà²à²à³à²°à²¹à²à³à²à³ à²¹à³à²žà²Šà³à²à²Šà³ à²®à³à²à²¡à³à² à²à³à²à²ªà²šà³à²šà³ à²žà³à²°à²¿à²žà²¿.
+MetadataSetDialog.New_Set:à²¹à³à²žà²Šà³ ...  
+MetadataSetDialog.New_Set_Tooltip:à²¹à³à²žà²Šà³à²à²Šà³ à²®à³à²à²¡à³à² à²à³à²à²ªà²šà³à²šà³ à²°à²à²¿à²žà²¿.
+MetadataSetDialog.Add_Set:à²žà³à²°à²¿à²žà²¿à²°à²¿  
+MetadataSetDialog.Add_Set_Tooltip:à²žà²à²à³à²°à²¹à²à³à²à³ à²à²°à²¿à²žà²¿à²Š à²®à³à²à²¡à³à² à²à³à²à²ªà²šà³à²šà³ à²žà³à²°à²¿à²žà²¿.
+MetadataSetDialog.Browse:à²µà³à²à³à²·à²¿à²žà³ ...  
+MetadataSetDialog.Browse_Tooltip:à²žà²à²à³à²°à²¹à²à³à²à³ à²¹à³à²ž à²®à³à²à²¡à³à² à²à³à²à²ªà²šà³à²šà³ à²žà³à²°à²¿à²žà²¿.
+MetadataSetDialog.Edit:à²€à²¿à²Šà³à²Šà²¿à²°à²¿ ...  
+MetadataSetDialog.Edit_Tooltip:à²à²°à²¿à²žà²¿à²Š à²®à³à²à²¡à³à²à²Ÿ à²à³à²à²ªà²šà³à²šà³ à²€à²¿à²Šà³à²Šà²¿à²°à²¿.
+MetadataSetDialog.Remove:à²€à³à²à³  
+MetadataSetDialog.Remove_Tooltip:à²žà²à²à³à²°à²¹à²Šà²¿à²à²Š à²à²°à²¿à²žà²¿à²Š à²®à³à²à²¡à³à² à²à³à²à²ªà²šà³à²šà³ à²€à³à²à³.
+MetadataSetDialog.Elements:à²à²°à²¿à²žà²¿à²Š à²®à³à²à²¡à³à² à²à³à²à²ªà²¿à²š à²§à²Ÿà²€à³à²à²³à³  
+
+#****************************************
+#
+#***** MetadataSetNamespaceClash warning***
+MetadataSetNamespaceClash.Title:à²®à³à²à²¡à³à² à²à³à²à²ªà²¿à²š à²¹à³à²žà²°à²¿à²š à²
+à²à²€à²° à²¹à³à²à²Šà²¿à²à³à²¯à²Ÿà²à³à²€à³à²€à²¿à²²à³à²².  
+MetadataSetNamespaceClash.Message:à²šà³à²µà³ à²¹à³à²žà²Šà²Ÿà²à²¿ à²žà³à²°à²¿à²žà²²à³ à²à²°à²¿à²žà²¿à²Š à²®à³à²à²¡à³à² à²à³à²à²ªà³({0})à²¹à³à²žà²°à²¿à²š à²
+à²à²€à²°à²Šà²²à³à²²à³ à²à²à²Šà³ à²à³à²à²ªà³ à² à²žà²à²à³à²°à²¹à²Šà²²à³à²²à²¿ ({1}).à²à²Šà²šà³à²šà³ à²šà³à²µà³ à²¹à³à²ž à²à³à²à²ªà²¿à²à³ à²žà³à²°à²¿à²žà²²à³ à²à²à³à²à²¿à²žà²¿à²Šà²²à³à²²à²¿,à²¹à²³à³à²¯à²Šà²šà³à²šà³ à²€à³à²à³à²¯à²²à²Ÿà²à³à²€à³à²€à²Šà³ à²®à²€à³à²€à³ à² à²à²Ÿà²à²à³à²à³ à²¹à³à²žà²Šà²šà³à²šà³ à²žà³à²°à²¿à²žà²²à²Ÿà²à³à²€à³à²€à²Šà³.à²à²à²Ÿà²à²²à³ à²šà²®à³à²Šà²¿à²žà²¿à²Š à²®à³à²à²¡à³à²à²Ÿ à²®à³à²²à³à²¯à²à²³à³ à²¹à³à²ž à²à³à²à²ªà³à²à²³à²²à³à²²à²¿ à²à²à²¿à²€à²µà²Ÿà²Š à²§à²Ÿà²€à³à²à²³à²¿à²Šà³à²Šà²²à³à²²à²¿ à²
+à²µà³à²à²³à²¿à²à³ à²µà²°à³à²à²Ÿà²µà²£à³à²¯à²Ÿà²à³à²€à³à²€à²µà³.  
+#*********************************************
+#
+#******** MetadataImportMappingPrompt *********
+MIMP.Add:à²žà³à²°à²¿à²žà²¿  
+MIMP.Add_Tooltip:à²à²°à²¿à²žà²¿à²Š à²à³à²à²ªà²¿à²à³ à²®à³à²à²¡à³à² à²§à²Ÿà²€à³à²µà²šà³à²šà³ à²žà³à²°à²¿à²žà²¿.  
+MIMP.Ignore:à²à²¡à³à²à²£à²¿à²žà³  
+MIMP.Ignore_Tooltip:à² à²®à³à²à²¡à³à² à²§à²Ÿà²€à³à²µà²šà³à²šà³ à²à²¡à³à²à²£à²¿à²žà³.  
+MIMP.Instructions:à²®à³à²à²¡à³à² à²§à²Ÿà²€à³à²šà³à²šà³ {0}à²žà²à²à³à²°à²¹à²Šà³à²³à²à³à²à³ à²¯à²Ÿà²à²€à³à²°à²¿à²à²µà²Ÿà²à²¿ à²à²®à²Šà³ à²®à²Ÿà²¡à²¿à²à³à²³à²²à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²².à²à²à²Šà³ à²®à³à²à²¡à³à² à²à³à²à²ªà²šà³à²šà³ à²à²°à²¿à²žà²¿ à²
+à²¥à²µà²Ÿ:\n(1)à² à²®à³à²à²¡à³à² à²à³à²à²ªà²¿à²à³ à²žà³à²°à²¿à²žà²²à³'à²à²¡à³'à²à³à²à²¡à²¿à²¯à²šà³à²šà³ à²à²€à³à²€à²¿(à²à²à²Šà³ à²µà³à²³à³ à²
+à²Šà²°à²²à³à²²à²¿ à²®à³à²Šà²²à³{0}à²®à³à²à²¡à³à² à²à³à²à²ªà³ à²à²³à²à²¿à²²à³à²²à²Šà²¿à²Šà³à²Šà²Ÿà² à²®à²Ÿà²€à³à²°),à²
+à²¥à²µà²Ÿ \n(2)à² à²§à²Ÿà²€à³à²µà²¿à²à³  {0}à²®à³à²à²¡à³à²à²Ÿà²µà²šà³à²šà³ à²à²®à²Šà³ à²®à²Ÿà²¡à²¿à²à³à²³à³à²³à²²à³ à²§à²Ÿà²€à³à²µà²šà³à²šà³ à²à²°à²¿à²žà²¿ à²®à²€à³à²€à³ 'à²®à²°à³à²à³'à²šà³à²šà³ à²à²€à³à²€à²¿,à²
+à²¥à²µà²Ÿ \n(3)à² à²®à³à²à²¡à³à² à²§à²Ÿà²€à³à²µà²šà³à²šà³ à²à²¡à³à²à²£à²¿à²žà²¿.  
+MIMP.Merge:à²žà³à²°à²¿à²žà²¿  
+MIMP.Merge_Tooltip:à²à²°à²¿à²žà²¿à²Š à²à³à²à²ªà²¿à²š à²šà²¿à²°à³à²Šà²¿à²·à³à² à²§à²Ÿà²€à³à²µà²¿à²à³ à²®à³à²à²¡à³à² à²§à²Ÿà²€à³à²µà²¿à²š à²šà²à³à²·à³ à²®à²Ÿà²¡à²¿  
+MIMP.Source_Element:à²®à³à²à²¡à³à² à²§à²Ÿà²€à³à²µà²¿à²š à²®à³à²²:  
+MIMP.Target_Element:à²à³à²°à³à²€à²¿à²žà²¿à²Š à²®à³à²à²¡à³à² à²§à²Ÿà²€à³ :  
+MIMP.Target_Set:à²®à³à²à²¡à³à² à²à³à²à²ªà²¿à²š à²à³à²°à²¿:
+MIMP.Title:à²žà³à²°à²¿à²žà³à²µ à²à²Ÿà²°à³à²¯ à²¬à³à²à²Ÿà²à²¿à²Šà³.
+#*****************************
+#
+#***** Mirroring *****
+Mirroring.ClearCache:à²à³à²¯à²Ÿà²à²šà³à²šà³ à²à²Ÿà²²à²¿à²®à²Ÿà²¡à²¿.
+Mirroring.ClearCache_Tooltip:à²à³à²³à²à²¿à²³à²¿à²žà²¿à²Š à²à²²à³à²²à²Ÿ à²à²¡à²€à²à²³à²šà³à²šà³ à²€à³à²à³.  
+Mirroring.Download:à²à³à²³à²à²¿à²³à²¿à²žà³  
+Mirroring.Download_Tooltip:à²à³à²³à²à²¿à²³à²¿à²žà³à²µ à²à³à²²à²žà²µà²šà³à²šà³ à²¹à³à²ž à²Šà²Ÿà²à²¿ à²ªà³à²°à²Ÿà²°à²à²­à²¿à²žà²¿.  
+Mirroring.DownloadJob.Close:à²®à³à²à³à²à³  
+Mirroring.DownloadJob.Close_Tooltip:à² à²à³à²²à²žà²µà²šà³à²šà³ à²ªà²à³à²à²¿à²¯à²¿à²à²Š à²
+à²³à²¿à²žà²¿ à²¹à²Ÿà²à³,à²à²à²Šà³ à²µà³à²³à³ à²à² à² à²à³à²²à²ž à²šà²¡à³à²¯à³à²€à³à²€à²¿à²Šà³à²Šà²°à³ à²
+à²Šà²šà³à²šà³ à²šà²¿à²²à³à²²à²¿à²žà³à²µà³à²Šà³.
+Mirroring.DownloadJob.Downloading:à²à³à²³à²à²¿à²³à²¿à²žà³à²€à³à²€à²¿à²Šà³ {0}  
+Mirroring.DownloadJob.Download_Complete:à²à³à²³à²à²¿à²³à²¿à²žà²¿à²Šà³à²Šà³ à²ªà³à²°à³à²€à²¿à²¯à²Ÿà²¯à²¿à²€à³.  
+Mirroring.DownloadJob.Download_Stopped:à²à³à²³à²à²¿à²³à²¿à²žà³à²µ à²à²Ÿà²°à³à²¯ à²žà³à²¥à²à²¿à²€à²à³à²à²¡à²¿à²Šà³.  
+Mirroring.DownloadJob.Download_Progress:à²à³à²³à²à²¿à²³à²¿à²žà³à²µ à²à²Ÿà²°à³à²¯ à²®à³à²à²Šà³à²µà²°à²¿à²¯à³à²€à³à²€à²¿à²Šà³.  
+Mirroring.DownloadJob.Log:'à²²à²Ÿà²à³'à²à²¡à²€à²µà²šà³à²šà³ à²šà³à²¡à²¿.
+Mirroring.DownloadJob.Log_Tooltip:à² à²à³à²³à²à²¿à²³à²¿à²žà³à²µ à²à²Ÿà²°à³à²¯à²à³à²à³ à²žà²à²¬à²à²§à²¿à²žà²¿à²Š à²µà²¿à²µà²°à²à²³à²šà³à²šà³ à²šà³à²¡à²¿.  
+Mirroring.DownloadJob.Log_Title:à²²à²Ÿà²à³'à²à²¡à²€à²µà²šà³à²šà³ à²à³à²³à²à²¿à²³à²¿à²žà³  
+Mirroring.DownloadJob.Pause:à²€à²Ÿà²€à³à²à²Ÿà²²à²¿à² à²€à²¡à³  
+Mirroring.DownloadJob.Pause_Tooltip:à² à²à³à²³à²à²¿à²³à²¿à²žà³à²µà³à²Šà²šà³à²šà³ à²€à²Ÿà²€à³à²à²Ÿà²²à²¿à²à²µà²Ÿà²à²¿ à²à²²à³à²²à²¿à²žà³  
+Mirroring.DownloadJob.Resume:à²®à³à²à²Šà³à²µà²°à³à²žà³  
+Mirroring.DownloadJob.Resume_Tooltip:à² à²à³à²³à²à²¿à²³à²¿à²žà³à²µà³à²Šà²šà³à²šà³ à²®à³à²à²Šà³à²µà²°à³à²žà³  
+Mirroring.DownloadJob.Status:à²à³à²³à²à²¿à²³à²¿à²žà³à²µà²¿à²à³à²¯ {0}à²šà³ {1}à²à²¡à²€à²à²³à³  ({2}à²à²à³à²à²°à²¿à²à³à²à²³à³,{3}à²€à²ªà³à²ªà³à²à²³à³)  
+Mirroring.DownloadJob.Waiting:à²ªà³à²°à²Ÿà²°à²à²­à²¿à²žà²²à³ à²à²Ÿà²Šà²¿à²Šà³.
+Mirroring.DownloadJob.Waiting_User:à²¬à²³à²à³à²Šà²Ÿà²°à²š à²à²Ÿà²°à³à²¯à²Ÿà²à²°à²£à³à²à³ à²à²Ÿà²Šà²¿à²Šà³.
+Mirroring.Invalid_URL:à²šà²®à³à²Šà²¿à²žà²¿à²°à³à²µ à²¯à³.à²à²°à³.à²à²²à³.à²žà²°à²¿à²¯à²Ÿà²Šà³à²Šà²²à³à²².à²Šà²¯à²µà²¿à²à³à²à³ à²žà²°à²¿à²ªà²¡à²¿à²žà²¿.
+Mirroring.Invalid_URL_Title:à²
+à²žà²®à²à²à²žà²µà²Ÿà²Š à²¯à³.à²à²°à³.à²à²²à³.
+Mirroring.Preferences:à²žà²®à²à³à²°à²Ÿà²à³à²€à²¿ à²ªà³à²°à²Ÿà²à³à²žà²¿âŠ  
+Mirroring.Preferences_Tooltip:à²ªà³à²°à²Ÿà²à³à²žà³à²¯à²šà³à²šà³ à²žà²à³à²°à²¿à²¯à²à³à²³à²¿à²žà³ à²®à²€à³à²€à³ à²ªà³à²°à²Ÿà²à³à²žà³ à²µà³à²¯à²µà²žà³à²¥à³à²¯à²šà³à²šà³ à²€à²¿à²Šà³à²Šà³.  
+#*********************
+#
+#***** Missing EXEC *****
+MissingEXEC.Message:à²à²à³à²à²°à²¿à²à³!à²šà³à²µà³ à²à³à²°à³à²šà³âà²žà³à²à³à²šà³ à²à³à²°à²à²¥à²Ÿà²²à²¯à²Š à²µà³à²¬à³âà²žà²°à³à²µà²°à³âà²š à²à²à²¿à²€à²µà²Ÿà²Š à²ªà²Ÿà²¥à³âà²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà²Šà²¿à²Šà³à²Šà²²à³à²²à²¿  à²à³à²°à²à²¥à²ªà²Ÿà²²à² à²
+à²à²€à²° à²žà²à²ªà²°à³à² à²žà²Ÿà²§à²šà²Šà³à²³à²à³  à²šà²¿à²®à³à²® à²¹à³à²ž à²žà²à²à³à²°à²¹à²à²³à²šà³à²šà³ à²šà³à²¡à²²à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²².à²à² à²šà³à²µà³ à²à³à²³à²à²¿à²°à³à²µ à²ªà² à³à²¯ à²à³à²·à³à²€à³à²°à²Šà²²à³à²²à²¿ à²à²Šà²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà²¬à²¹à³à²Šà³,à²
+à²¥à²µ à²šà²à²€à²°  à²ªà³à²°à²Ÿà²§à²Ÿà²šà³à²¯à²€à³à²à³ à²¹à³à²à³à²µà³à²Šà²° à²®à³à²à²Ÿà²à²€à²° à²®à²€à³à²€à³ à²¹à³à²à²Šà²¿à²à³ à²ªà²à³à²à²¿à²šà³à²šà³ à²à²¯à³à²à³à²®à²Ÿà²¡à³à²µà³à²Šà²° à²®à³à²²à² à²šà²®à³à²Šà²¿à²ž à²¬à²¹à³à²Šà³.à²à³à²à²Ÿà²ªà²Šà²²à³à²²à²¿à²à³à²à³à²à³à²³à³à²³à²¿ à²žà²°à²¿à²¯à²Ÿà²Š à²¯à³.à²à²°à³.à²à²²à³."http://"à²ªà³à²°à³à²à³à²à³à²²à³âà²šà²¿à²à²Šà²²à³ à²¶à³à²°à³à²µà²Ÿà²à²¬à³à²à³, à²®à²€à³à²€à³  à²à²Šà³ à²ªà³à²°à²Ÿà²¯à²¶à² à²à²Ÿà²°à³à²¯à²à²€à²à³à²³à²¿à²žà³à²µ  à²¹à³à²žà²°à²¿à²šà²¿à²à²Šà²²à³ à²à³à²šà³à²à³à²³à³à²³à²¬à³à²à³ ("gsdl"à²à²Šà³ à²à³à²°à³à²šà³âà²žà³à²à³à²šà³âà²š à²žà³à²¥à²³à³à²¯ à²à³à²°à²à²¥à²Ÿà²²à²¯à²Š à²žà²°à³à²µà²°à³âà²à³,"library"à²à²Šà³ à²¬à³à²°à³ à²µà³à²¬à³â à²žà²°à³à²µà²°à³âà²à³).  
+MissingEXEC.Title:à²à³à²°à³à²šà³âà²žà³à²à³à²šà³ à²à³à²°à²à²¥à²Ÿà²²à²¯à²Š à²µà²¿à²³à²Ÿà²ž à²à²Ÿà²£à³à²¯à²Ÿà²à²¿à²Šà³.
+#***** Missing EXEC_GS3 *****
+MissingEXEC_GS3.Message:à²à²à³à²à²°à²¿à²à³!à²šà²¿à²®à³à²® à²žà³à²¥à²³à³à²¯ à²à²Ÿà²®à³âà²à³à²¯à²Ÿà²à³â à²µà³à²¬à³âà²žà²°à³à²µà²°à³âà²šà²²à³à²²à²¿ à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²à²à²¿à²€à²µà²Ÿà²Š à²ªà²¥à²µà²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà²Šà²¿à²Šà³à²Šà²°à³,à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²à³à²°à²à²¥à²ªà²Ÿà²²à² à²žà²à²ªà²°à³à²à²Š à²®à³à²à²Ÿà²à²€à²° à²šà²¿à²®à³à²® à²¹à³à²ž à²žà²à²à³à²°à²¹à²à²³à²šà³à²šà³ à²šà³à²¡à²²à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²².à²à² à²šà³à²µà³ à²à³à²³à²à²¿à²°à³à²µ à²ªà² à³à²¯ à²à³à²·à³à²€à³à²°à²Šà²²à³à²²à²¿ à²šà²®à³à²Šà²¿à²ž à²¬à²¹à³à²Šà³,à²
+à²¥à²µ à²šà²à²€à²° à²ªà³à²°à²Ÿà²§à²Ÿà²šà³à²¯à²€à³à²à³ à²¹à³à²à³à²µà³à²Šà²° à²®à³à²à²Ÿà²à²€à²° à²®à²€à³à²€à³ à²¹à³à²à²Šà²¿à²à³ à²ªà²à³à²à²¿à²šà³à²šà³ à²à²¯à³à²à³à²®à²Ÿà²¡à³à²µà³à²Šà²° à²®à³à²²à² à²šà²®à³à²Šà²¿à²ž à²¬à²¹à³à²Šà³.à²à³à²à²Ÿà²ªà²Šà²²à³à²²à²¿à²à³à²à³à²à³à²³à³à²³à²¿ à²žà²°à²¿à²¯à²Ÿà²Š à²¯à³.à²à²°à³.à²à²²à³. "http://" à²ªà³à²°à³à²à³à²à³à²²à³âà²šà²¿à²à²Šà²²à³ à²¶à³à²°à³à²µà²Ÿà²à²¬à³à²à³.à²ªà³à²°à³à²µà²šà²¿à²¯à³à²à²¿à²€ à²µà²¿à²³à²Ÿà²ž http://localhost:8080/greenstone3 à²à²à²¿à²°à²¬à³à²à³.  
+MissingEXEC_GS3.Title:à²à³à²°à³à²šà³âà²žà³à²à³à²šà³ 3 à²à³à²°à²à²¥à²Ÿà²²à²¯à²Š à²µà²¿à²³à²Ÿà²ž à²à²Ÿà²£à³à²¯à²Ÿà²à²¿à²Šà³.  
+#***** Missing GLIServer *****
+MissingGLIServer.Message:à²à²à³à²à²°à²¿à²à³!à²šà²¿à²®à³à²® à²žà³à²¥à²³à³à²¯ à²°à²¿à²®à³à²à³â "à²à²¿.à²à²²à³.à².à²žà²°à³à²µà²°à³"à²²à³à²à²šà²Šà²²à³à²²à²¿ à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²à²à²¿à²€à²µà²Ÿà²Š à²µà²¿à²³à²Ÿà²žà²µà²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà²Šà²¿à²Šà³à²Šà²°à³,à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²à³à²°à²à²¥à²ªà²Ÿà²²à² à²žà²à²ªà²°à³à²à²Š à²®à³à²à²Ÿà²à²€à²° à²šà³à²µà³ à²žà²à²à³à²°à²¹à²à²³à²²à³à²²à²¿ à²à³à²²à²žà²®à²Ÿà²¡à²²à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²².à²à² à²šà³à²µà³ à²à³à²³à²à²¿à²°à³à²µ à²ªà² à³à²¯ à²à³à²·à³à²€à³à²°à²Šà²²à³à²²à²¿ à²šà²®à³à²Šà²¿à²ž à²¬à²¹à³à²Šà³, à²
+à²¥à²µ à²šà²à²€à²°  à²ªà³à²°à²Ÿà²§à²Ÿà²šà³à²¯à²€à³à²à³ à²¹à³à²à³à²µà³à²Šà²° à²®à³à²à²Ÿà²à²€à²° à²®à²€à³à²€à³ à²¹à³à²à²Šà²¿à²à³ à²ªà²à³à²à²¿à²šà³à²šà³ à²à²¯à³à²à³à²®à²Ÿà²¡à³à²µà³à²Šà²° à²®à³à²²à² à²šà²®à³à²Šà²¿à²ž à²¬à²¹à³à²Šà³. à²à³à²à²Ÿà²ªà²Šà²²à³à²²à²¿à²à³à²à³à²à³à²³à³à²³à²¿ à²žà²°à²¿à²¯à²Ÿà²Š à²¯à³.à²à²°à³.à²à²²à³. "http://" à²ªà³à²°à³à²à³à²à³à²²à³âà²šà²¿à²à²Šà²²à³ à²¶à³à²°à³à²µà²Ÿà²à²¬à³à²à³ à²®à²€à³à²€à³ "à²à²¿.à²à²²à³.à².à²žà²°à³à²µà²°à³"à²šà²¿à²à²Š à²à³à²šà³à²à³à²³à³à²³à²¬à³à²à³.  
+MissingGLIServer.Title:à²à²¿.à²à²²à³.à².à²žà²°à³à²µà²°à³â à²µà²¿à²³à²Ÿà²ž à²à²Ÿà²£à³à²¯à²Ÿà²à²¿à²Šà³.  
+#***** Missing GSDL *****
+MissingGSDL.Message:à²à²à³à²à²°à²¿à²à³!à²šà²¿à²®à³à²® à²à³à²°à³à²šà³âà²žà³à²à³à²šà³ à²¡à²¿à²à²¿à²à²²à³ à²²à³à²¬à³à²°à²°à²¿à²¯ à²žà³à²¥à²³à³à²¯ à²šà²à²²à³ à²žà³à²¥à²Ÿà²ªà²¿à²žà²Šà³ à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²à³à²°à²à²¥à²ªà²Ÿà²²à² à²žà²à²ªà²°à³à²à²Š à²µà²¿à²¶à³à²·à²£à²à²³à²šà³à²šà³  à²šà³à²µà³ à²ªà³à²°à²µà³à²¶ à²®à²Ÿà²¡à²²à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²².à²à²à²Šà³à²µà³à²³à³ à² à²žà²à²Šà³à²¶ à²€à²ªà³à²ªà²Ÿà²à²¿ à²šà²¿à²®à²à³ à²à²³à³à²¹à²¿à²žà²¿à²Šà³ à²à²à²¬ à²šà²à²¬à²¿à²à³ à²šà²¿à²®à²à²¿à²Šà³à²Šà²°à³,à²šà²¿à²®à³à²® à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²žà²°à²¿à²¯à²Ÿà²à²¿ à²žà³à²¥à²Ÿà²ªà²¿à²€à²µà²Ÿà²à²¿à²Šà³à²¯à³ à²¹à²Ÿà²à³ à²à²Šà²° à²ªà²¥ââ à²à³à²°à²à²¥à²ªà²Ÿà²²à² à²žà²à²ªà²°à³à² à²žà²Ÿà²§à²šà²Š  à²¬à³à²¯à²Ÿà²à³â  à²
+à²¥à²µ à²à²¡à²€à²Šà²²à³à²²à²¿ à²šà²®à³à²Šà²¿à²žà²¿à²Šà³à²¯à³ à²à²à²Šà³ à²à²à²¿à²€ à²ªà²¡à²¿à²žà²¿à²à³à²³à³à²³à²¿.  
+MissingGSDL.Title:à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²ªà²¥ à²à²Ÿà²£à³à²¯à²Ÿà²à²¿à²Šà³.  
+#***** Missing PERL *****
+MissingPERL.Message:à²à²à³à²à²°à²¿à²à³!à²ªà²°à³à²²à³ââà²šà³à²šà³ à²žà³à²¥à²Ÿà²ªà²¿à²žà²Šà³ à²¯à²Ÿà²µà³à²Šà³ à²®à³à²à²à²¿à²€à²µà²Ÿà²à²¿à²¯à³ à²žà³à²·à³à²à²¿à²žà²¿à²°à³à²µ à²à²à²Šà²šà³à²šà³ à²
+à²¥à²µ à²¹à³à²ž à²žà²à²à³à²°à²¹à²à²³à²šà³à²šà³ à²šà²¿à²°à³à²®à²¿à²žà²²à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²²,à²à³à²°à²à²¥à²ªà²Ÿà²²à² à²žà²à²ªà²°à³à² à²žà²Ÿà²§à²šà²à³à²à³ à²ªà²°à³à²²à³ à²šà²¿à²®à³à²® à²à²à²ªà³à²¯à³à²à²°à³âà²šà²²à³à²²à²¿ à²à²Ÿà²£à²²à²¿à²²à³à²².à²šà²¿à²®à²à³ à²žà²à²Šà³à²¶à²Šà²²à³à²²à²¿ à² à²Šà³à²· à²¬à²à²Šà²°à³ à²Šà²¯à²µà²¿à²à³à²à³ à²šà²¿à²®à³à²® à²žà³à²¥à²Ÿà²ªà²šà³à²¯à²šà³à²šà³,à²®à²€à³à²€à³ à²šà²¿à²à²°à²µà²Ÿà²à²¿ à²¹à³à²žà²°à²¿à²žà²¿à²°à³à²µ à²à³à²°à²à²¥à²ªà²Ÿà²²à² à²
+à²à²€à²° à²žà²à²ªà²°à³à² à²žà²Ÿà²§à²š à²ªà²¥à²à²³â à²€à²à²¡ à²
+à²¥à²µ à²à²¡à²€ à²ªà² à³à²¯à²µà²šà³à²šà³ à²ªà²°à³à²à³à²·à²¿à²žà²¿.  
+MissingPERL.Title:à²ªà²°à³à²²à³â à²ªà²¥ à²à²Ÿà²£à³à²¯à²Ÿà²à²¿à²Šà³  
+#******* MissingImageMagick ********
+MissingImageMagick.Message:à²à²à³à²à²°à²¿à²à³!à²à³à²°à²à²¥à²ªà²Ÿà²²à² à²žà²à²ªà²°à³à² à²žà²Ÿà²§à²š à²à²®à³à²à³âà²®à³à²¯à²Ÿà²à²¿à²à³âà²š à²žà²°à²¿à²¯à²Ÿà²Š à²à²µà³à²€à³à²€à²¿à²¯à²šà³à²šà³  à²¶à³à²§à²¿à²žà²²à³ à²µà²¿à²«à²²à²µà²Ÿà²à²¿à²Šà³.à²à²Šà³à²Šà²°à²¿à²à²Š à²à²®à³à²à³âà²ªà³à²²à²à³ à²à³à²²à²ž à²®à²Ÿà²¡à³à²µà³à²Šà²¿à²²à³à²².à²šà³à²µà³ à²ªà³à²°à²€à²¿à²¬à²¿à²à²¬ à²žà²à²à³à²°à²¹à²à²³à²šà³à²šà³ à²šà²¿à²°à³à²®à²¿à²žà²²à³ à²à²·à³à²à²ªà²¡à³à²µà³à²Šà²Ÿà²°à²°à³ à²Šà²¯à²µà²¿à²à³à²à³ à²à²®à³à²à³âà²®à³à²¯à²Ÿà²à²¿à²à³â à²žà³à²¥à²Ÿà²ªà²šà³ à²®à²Ÿà²¡à²¿.  
+MissingImageMagick.Title:à²à²®à³à²à³âà²®à³à²¯à²Ÿà²à²¿à²à³â à²à²Ÿà²£à³à²¯à²Ÿà²à²¿à²Šà³.  
+#*****************************
+#
+#***** New Session *****
+NewCollectionPrompt.Base_Collection:à² à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²à²µà³à²à²³ à²®à³à²²à³ à²à²§à²Ÿà²°à²¿à²žà²¿:
+NewCollectionPrompt.Base_Collection_Tooltip:à²¹à³à²ž à²žà²à²à³à²°à²¹à²à³à²à³ à²à²§à²Ÿà²°à²µà²Ÿà²Š à²à²à²Ÿà²à²²à³ à²à²°à³à²µ à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²à²°à²¿à²žà²¿.
+NewCollectionPrompt.Collection_Description:à²µà²¿à²·à²¯à²Š à²µà²¿à²µà²°à²£à³.
+NewCollectionPrompt.Collection_Name:à²à²¡à²€à²à²à³à²à³ à²žà²à²à³à²°à²¹:  
+NewCollectionPrompt.Collection_Scope_Personal:à²à²Šà³ à²à²à²Šà³ à²µà³à²¯à²à³à²€à²¿à² à²žà²à²à³à²°à²¹.
+NewCollectionPrompt.Collection_Scope_Personal_Tooltip:à² à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²žà²à²à³à²°à²¹ à²šà²¿à²°à³à²®à²Ÿà²ªà²à²°à³ à²¹à²Ÿà²à³ "à²à²²à³-à²à²²à³à²à³à²·à²šà³â-à²à²¡à²¿à²à²°à³"à²à³à²à²ªà²¿à²š à²¬à²³à²à³à²Šà²Ÿà²°à²°à³  à²€à²¿à²Šà²Šà³à²Šà²¬à²¹à³à²Šà³.
+NewCollectionPrompt.Collection_Scope_Shared:à²à²Šà³ à²à²à²Šà³ à²µà³à²¯à²à²¿à² à²žà²à²à³à²°à²¹à²µà²²à³à²².  
+NewCollectionPrompt.Collection_Scope_Shared_Tooltip:à² à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ "à²à²²à³-à²à²²à³à²à³à²·à²šà³â-à²à²¡à²¿à²à²°à³" à²à³à²à²ªà²¿à²š à²¬à²³à²à³à²Šà²Ÿà²°à²°à³ à²€à²¿à²Šà²Šà³à²Šà²¬à²¹à³à²Šà³  
+NewCollectionPrompt.Error:à²šà²µà³à²š à²žà²à²à³à²°à²¹à²Šà²²à³à²²à²¿ à²€à²ªà³à²ªà³.
+NewCollectionPrompt.Instructions:à²à²à²Šà³ à²šà²µà³à²š à²žà²à²à³à²°à²¹à²µà²šà³à²šà³ à²šà²¿à²°à³à²®à²¿à²žà²²à³ à²à³à²³à²à²¿à²°à³à²µ à²à³à²·à³à²€à³à²°à²à²³à²šà³à²šà³ à²€à³à²à²¬à²¿.
+NewCollectionPrompt.NewCollection:-- à²šà²µà³à²š à²žà²à²à³à²°à²¹ --
+NewCollectionPrompt.Title:à²à²à²Šà³ à²šà²µà³à²š à²žà²à²à³à²°à²¹ à²šà²¿à²°à³à²®à²¿à²žà³.
+NewCollectionPrompt.Title_Clash:à²šà³à²µà³ à²à²°à²¿à²žà²¿à²°à³à²µ à²¶à³à²°à³à²·à²¿à²à³ à² à²®à³à²à²à³à²¯à³ à²à²ªà²¯à³à²à²¿à²žà²²à³à²ªà²à³à²à²¿à²Šà³.à²®à³à²à²Šà³à²µà²°à²¿à²žà²¬à²¹à³à²Šà³?
+NewCollectionPrompt.Title_Error:à²¶à³à²°à³à²·à²¿à²à³à²¯ à²à³à²·à³à²€à³à²° à²€à³à²à²¬à²¿à²°à²¬à³à²à³.à²Šà²¯à²µà²¿à²à³à²à³ à²žà²°à²¿à²®à²Ÿà²¡à²¿.
+#***** New Folder OrFilePrompt *****
+NewFolderOrFilePrompt.Default_File_Name:à²à³à²€à²  
+NewFolderOrFilePrompt.Default_Folder_Name:à²šà²µà³à²š à²à²¡à²€à²à²à³à²à³  
+NewFolderOrFilePrompt.Destination_Name:à²žà³à²°à²¬à³à²à²Ÿà²Š à²à²¡à²€à²à²à³à²à³  
+NewFolderOrFilePrompt.File_Name:à²à²¡à²€à²Š à²¹à³à²žà²°à³.
+NewFolderOrFilePrompt.File_Name_Tooltip:à²šà²µà³à²š à²à²¡à²€à²à³à²à³ à²¹à³à²žà²°à²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà²¿.
+NewFolderOrFilePrompt.Folder_Name:à²à²¡à²€à²à²à³à²à²¿à²š à²¹à³à²žà²°à³.  
+NewFolderOrFilePrompt.Folder_Name_Tooltip:à²šà²µà³à²š à²à²¡à²€à²à²à³à²à²¿à²à³ à²à²à²Šà³ à²¹à³à²žà²°à²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà²¿.  
+NewFolderOrFilePrompt.Title_Folder:à²šà²µà³à²š à²à²¡à²€à²à²à³à²à²šà³à²šà³ à²šà²¿à²°à³à²®à²¿à²žà²¿  
+NewFolderOrFilePrompt.Title_File:à²šà²µà³à²š à²à³à²€à² à²Šà²žà³à²€à²Ÿà²µà³à²à³à²à²Šà²šà³à²šà³  à²šà²¿à²°à³à²®à²¿à²žà²¿.  
+#**********************
+#
+#******* OldWGET *******
+NoPluginExpectedToProcessFile.Message:à²à²¡à²€ "{0}"à²šà³à²šà³ à²à²Ÿà²°à³à²¯à²à²€à²à³à²³à²¿à²žà²²à³ à²¯à²Ÿà²µà³à²Šà³ à²€à²°à²¹à²Š à²à³à²°à³à²šà³âà²žà³à²à³à²šà²¿à²š à²ªà³à²²à²à²¿à²šà³âà²à²³à²¿à²à³ à²žà²Ÿà²Šà³à²¯à²µà²Ÿà²à²Šà²¿à²°à²¬à²¹à³à²Šà³.à²à²¡à²€ à²žà²°à²¿à²¯à²Ÿà²Š à²à²à³âà²žà³à²à³à²šà³âà²·à²šà³ à²¹à³à²à²Šà²¿à²Šà³à²¯à³ à²à²à²Šà³ à²ªà²°à³à²à³à²·à²¿à²žà²¿.à²à²à²Šà³ à²µà³à²³à³ à²à²à³âà²žà³à²à³à²šà³âà²·à²šà³ à²žà²°à²¿ à²à²Šà³à²Šà²²à³à²²à²¿ à² à²à²¡à²€ à²à²Ÿà²°à³à²¯à³à²šà³à²®à³à²à²µà²Ÿà²à²²à³ à²šà³à²µà³ à²
+à²šà³âà²šà³à²šà³âà²ªà³à²²à²à³ââà²à²³à²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²¬à³à²à³.  
+NoPluginExpectedToProcessFile.Title:à²à²¡à²€ à²à²Ÿà²°à³à²¯à³à²šà³à²®à³à²à²µà²Ÿà²à²²à³ à²¯à²Ÿà²µà³à²Šà³ à²€à²°à²¹à²Š à²ªà³à²²à²à²¿à²šà³âà²à²³à²¿à²²à³à²².
+#***********************
+#
+#***** OpenCollectionDialog *****
+OpenCollectionDialog.Available_Collections:à²²à²­à³à²¯à²µà²¿à²°à³à²µ à²žà²à²à³à²°à²¹à²à²³à³.
+OpenCollectionDialog.Description:à²žà²à²à³à²°à²¹à²à²³ à²µà²¿à²µà²°à²£à³  
+OpenCollectionDialog.Open:à²€à³à²°à³  
+OpenCollectionDialog.Open_Tooltip:à²²à³à²¬à³à²°à²°à²¿à²¯à²šà³ à²à²šà³âà²à²°à³âà²«à³à²žà³âà²à³ à²à²°à²¿à²žà²¿à²Š à²žà²à²à³à²°à²¹à²à²³à²šà³à²šà³ à²¹à³à²°à²¿à²žà³  
+OpenCollectionDialog.Title:à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²žà²à²à³à²°à²¹à²à²³à²šà³à²šà³ à²€à³à²°à³.
+#**********************
+#
+#***** Options Pane inside CreatePane *****
+OptionsPane.Cancelled:à²°à²Šà³à²Šà³ à²®à²Ÿà²¡à²¿à²Šà³  
+OptionsPane.LogHistory:à²Šà²¿à²šà²à²°à²¿à²¯  à²à²°à²¿à²€à³à²°à³.  
+OptionsPane.Successful:à²žà²«à²²  
+OptionsPane.Scheduled:à²šà²¿à²¯à²€à²à²Ÿà²²à²¿à²à³  
+OptionsPane.Unknown:à²€à²¿à²³à²¿à²¯à²Š  
+OptionsPane.Unsuccessful:à²šà²¿à²·à³à²«à²²  
+#*******************
+#
+#***** Preferences *****
+Preferences:à²ªà³à²°à²Ÿà²§à²Ÿà²šà³à²¯à²€à³  
+Preferences.Connection:à²žà²à²ªà²°à³à²  
+Preferences.Connection_Tooltip:à²¯à³à²à²°à³âà²à²²à³âà²šà³à²šà³ à²à³à²°à³à²šà³âà²žà³à²à³à²šà³ à²à³à²°à²à²¥à²Ÿà²²à²à³à²à³ à²žà²°à²¿à²¹à³à²à²Šà²¿à²žà²¿ à²®à²€à³à²€à³ à²à²à²¿à²€à²µà²Ÿà²Š à²ªà³à²°à²Ÿà²à³à²žà³ à²žà²à²ªà²°à³à²à²µà²šà³à²šà³ à²žà²®à²à³à²°à²Ÿà²à³à²€à²¿à²žà²¿  
+Preferences.Connection.GLIServer_URL:à²à³à²°à³à²šà³âà²žà³à²à³à²šà³ à²à³à²²à²¿à²žà²°à³à²µà³âà²°à³â à²¯à³à²à²°à³âà²à²²à³:
+Preferences.Connection.GLIServer_URL_Tooltip:à²à³à²°à³à²šà³âà²žà³à²à³à²šà²¿à²š "à²à³à²²à²¿à²žà²°à³à²µà³âà²°à³â"à²š à²¯à³à²à²°à³âà²à²²à³ à²žà²¿à²à²¿à² à²žà³à²à³à²°à²¿à²ªà³à²à³.  
+Preferences.Connection.Library_Path:à²à³à²°à²à²¥à²Ÿà²²à²¯à²Š à²ªà²¥:  
+Preferences.Connection.Library_Path_GS3:à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²µà³à²¬à³âà²š à²ªà²¥:  
+Preferences.Connection.Library_Path_Tooltip:à²à³à²°à³à²šà³âà²žà³à²à³à²šà³ à²µà³à²¬à³â-à²à³à²°à²Ÿà²¹à²-à²žà³à²µà²à²š à²¯à³à²à²°à³âà²à²²à³  
+Preferences.Connection.Library_Path_Tooltip_GS3:à²à³à²°à³à²šà³âà²žà³à²à³à²šà³ à²µà³à²¬à³â-à²žà²°à³à²µà²°à³âà²š à²¯à³à²à²°à³âà²à²²à³  
+Preferences.Connection.Library_Path_Connection_Failure:à²žà³à²°à²¿à²žà³à²µà²²à³à²²à²¿ à²µà²¿à²«à²²à²µà²Ÿà²à²¿à²Šà³. à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²žà²°à³à²µà²°à³â{0}à²šà²²à³à²²à²¿ à²°à²šà³à²šà³â à²à²à³à²€à³à²€à²¿à²Šà³à²¯à³ à²à²à²Šà³ à²šà³à²¡à²¿  
+Preferences.Connection.ProgramCommand:à²®à³à²šà³à²šà³à²à²Š à²à²Šà³à²¶:  
+Preferences.Connection.ProgramCommand_Tooltip:à²žà²à²à³à²°à²¹à²à²³ à²®à³à²šà³à²šà³à²(Preview)à²šà³à²¡à²²à³ à²¬à³à²à²Ÿà²Š. à²à³à²°à²®à²µà²¿à²§à²¿à²¯à²šà³à²šà³ à²€à³à²¡à²à²¿à²žà²²à³ à²¬à³à²à²Ÿà²Š à²
+à²Šà³à²¶ .à²žà²à²à³à²°à²¹à²Š à²µà²¿à²³à²Ÿà²žà²à³à²à³  à²ªà³à²²à³à²žà³âà²¹à³à²²à³à²¡à²°à³â à²à²à²¿ %1 à²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²²à³ à²à³à²à²Ÿà²ªà²Šà²²à³à²²à²¿à²à³à²à³à²à³à²³à³à²³à²¿ à²®à²€à³à²€à³ à²à²²à³à²²à²¿ à²
+à²à²€à³à²¯à²µà³ à²
+à²²à³à²²à²¿ à²žà³à²ªà³à²à³âà²®à²Ÿà²°à³à²à³âà²à²³à²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²¿.  
+Preferences.Connection.Proxy_Host:à²ªà³à²°à²Ÿà²à³à²žà³ à²¹à³à²žà³à²à³â:  
+Preferences.Connection.Proxy_Host_Tooltip:à²šà²¿à²®à³à²® à²ªà³à²°à²Ÿà²à³à²žà³ à²žà²°à³à²µà²°à³âà²š à²µà²¿à²³à²Ÿà²ž.  
+Preferences.Connection.Proxy_Port:à²ªà³à²°à²Ÿà²à³à²žà³ à²ªà³à²°à³à²à³:  
+Preferences.Connection.Proxy_Port_Tooltip:à²šà²¿à²®à³à²® à²ªà³à²°à²Ÿà²à³à²žà³ à²žà²°à³à²µà²°à³âà²š à²ªà³à²°à³à²à³ à²žà²à²à³à²¯à³.  
+Preferences.Connection.Proxy_Host_Missing:à²ªà³à²°à²Ÿà²à³à²žà³ à²
+à²§à²¿à²€à³à²¯ à²žà²°à³à²µà²°à³âà²š à²®à³à²²à³à²¯à²µà²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà²¿ à²
+à²¥à²µà²Ÿ à²¹à³à²à²Šà²¿à²à³ à²ªà²à³à²à²¿à²¯à²¿à²à²Š 'à²¯à³à²žà³â à²ªà³à²°à²Ÿà²à³à²žà²¿ à²à²šà³à²à³à²·à²šà³â' (Use Proxy Connection) à²šà²šà³à²šà³ à²®à³à²à³à²à²¿
+  
+Preferences.Connection.Servlet:à²žà²°à³à²µà³âà²²à³à²à³â:  
+Preferences.Connection.Servlet_Tooltip:à²šà²¿à²®à³à²® à²žà³à²à³âà²šà³à²šà³ à²šà³à²¡à²²à³ à²à²ªà²¯à³à²à²¿à²žà²¬à³à²à²Ÿà²Š à²žà²°à³à²µà³âà²²à³à²à³  
+Preferences.Connection.Servlet_Tooltip2:à² à²žà³à²à³âà²à³ à²¯à²Ÿà²µà³à²Šà³ à²à²à²¿à²€à²µà²Ÿà²Š à²žà²°à³à²µà³âà²²à³à²à³â à²à³à²°à³à²€à²¿à²žà²¿à²²à³à²²,à²à²Šà²°à³ à²šà³à²µà³ à²žà²à²à³à²°à²¹à²à²³à²šà³à²šà³ à²°à²à²¿à²žà²¬à²¹à³à²Šà³,à²à²Šà²°à³ à²šà³à²µà³ à²
+à²Šà²šà³à²šà³ à²šà³à²¡à²²à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²².  
+Preferences.Connection.Site:à²žà³à²à³â:
+Preferences.Connection.Site_Tooltip:à²à³à²²à²ž à²®à²Ÿà²¡à²²à³ à²šà³à²µà³ à²à²·à³à²à²ªà²¡à³à²µ à²žà³à²à³ .
+Preferences.Connection.Use_Proxy:à²ªà³à²°à²Ÿà²à³à²žà³ à²à³à²¡à²¿à²à³à²¯à²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²¬à³à²à³?  
+Preferences.General:à²žà²Ÿà²§à²Ÿà²°à²£  
+Preferences.General_Tooltip:à²à³à²²à²µà³ à²žà²Ÿà²§à²Ÿà²°à²£à²Šà²²à³à²²à²¿à²°à³à²µ à²ªà³à²°à²Ÿà²§à²Ÿà²šà³à²¯à²€à³à²à²³à²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà²¿  
+Preferences.General.Email:à²¬à²³à²à³à²Šà²Ÿà²°à²š à²-à²®à³à²²à³:
+Preferences.General.Email_Tooltip:à²à²¿à²à²²à³âà²à²šà³à²šà³ à²¬à²³à²žà²¿ à²®à²Ÿà²¡à²¿à²Š à²¯à²Ÿà²µà³à²Šà³ à²žà²à²à³à²°à²¹à²à³à²à³ à²¯à²Ÿà²à²€à³à²°à²¿à²à²µà²Ÿà²à²¿ à²µà²¿à²Šà³à²¯à³à²šà³à²®à²Ÿà²š à²
+à²à²à³à²¯à²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà³à²€à³à²€à²Šà³.  
+Preferences.General.Font:à²«à²Ÿà²à²à³:  
+Preferences.General.Font_Tooltip:à²à²¿à²à²²à³âà² à²
+à²à²€à²° à²žà²à²ªà²°à³à² à²žà²Ÿà²§à²šà²à³à²à³  à²à²ªà²¯à³à²à²¿à²žà²¿à²Š à²«à²Ÿà²à²à³.  
+Preferences.General.Interface_Language:à²
+à²à²€à²° à²žà²à²ªà²°à³à² à²žà²Ÿà²§à²šà²à³à²à³ à²à²ªà²¯à³à²à²¿à²žà²¿à²Š à²¬à²Ÿà²·à³:  
+Preferences.General.Interface_Language_Tooltip:à²žà²à²ªà²°à³à² à²žà²Ÿà²§à²š à²®à²€à³à²€à³ à²
+à²Šà²° à²¹à²¿à²¡à²¿à²€à²à²³à²²à³à²²à²¿ à²šà²¿à²®à²à³ à²
+à²šà³à²à³à²²à²µà²Ÿà²Š à²­à²Ÿà²·à³à²¯à²šà³à²šà³ à²à²°à²¿à²žà²¿à²à³à²³à³à²³à²¿.  
+Preferences.General.Restart_Required:à²¹à³à²ž à²
+à²à²€à²° à²žà²à²ªà²°à³à² à²žà²Ÿà²§à²š à²¬à²Ÿà²·à³à²¯à²šà³à²šà³ à²à²°à²¿à²žà²²à³ à²à²¿à²à²²à³âà² à²à² à²®à²€à³à²€à³ à²ªà³à²°à²Ÿà²°à²à²­à²®à²Ÿà²¡à²¬à³à²à³.  
+Preferences.General.Manual_Restart_Required:à²¬à²Šà²²à²Ÿà²Š à²žà²à²ªà²°à³à² à²žà³à²à²¿à²à²à³âà²à²³à²šà³à²šà³ à²à²Ÿà²°à³à²¯à²à²€à²à³à²³à²¿à²žà²²à³ à²à²¿à²à²²à³âà² à²à³à²²à³à²à²à³âà²šà²šà³à²šà³ à²®à²€à³à²€à³ à²ªà³à²°à²Ÿà²°à²à²­à²¿à²žà²¿  
+Preferences.General.Show_File_Size:à²à²¡à²€à²Š à²à²Ÿà²€à³à²°à²µà²šà³à²šà³ à²€à³à²°à²¿à²žà³.
+Preferences.General.Show_File_Size_Tooltip:à²µà²°à³à²à³âà²žà³à²ªà³à²žà²¿à²š à²šà²®à³à²Šà²¿à²€à²Š à²®à³à²à²Šà³ à²à²¡à²€à²Š à²à²Ÿà²€à³à²° à²¹à²Ÿà²à³ à²žà²à²à³à²°à²¹ à²à²¡à²€ à²µà³à²à³à²·à²µà²šà³à²šà³ à²€à³à²°à²¿à²žà²¿.  
+Preferences.General.View_Extracted_Metadata:à²¹à³à²°à²€à³à²à³à²Š à²®à³à²à²¡à³à²à²Ÿà²Š à²šà³à².  
+Preferences.General.View_Extracted_Metadata_Tooltip:à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²ªà³à²²à²à²¿à²šà³âà²à²³à³ à²¹à³à²°à²€à³à²à³à²Š à²®à³à²à²¡à³à²à²µà²šà³à²šà³ à²ªà³à²·à³à²à³à²à³à²€ à²šà³à²à²Š à²®à³à²à²¡à³à² à²ªà²à³à²à²¿à²¯à²²à³à²²à²¿ à²€à³à²°à²¿à²žà²¿.  
+Preferences.Mode:à²ªà²Šà³à²§à²€à²¿  
+Preferences.Mode_Tooltip:à²žà³à²à³à²€ à²®à²à³à²à²Š à²à³à²°à²¿à²¯à³à²¯à²šà³à²šà³ à²à²°à²¿à²žà²²à³ à²à²à²Šà³ à²šà²®à³à²Šà²šà³à²šà³ à²à³à²²à²¿à²à³à²à²¿à²žà²¿.  
+Preferences.Mode.Assistant:à²²à³à²¬à³à²°à²°à²¿ à²
+à²žà²¿à²žà³âà²à³à²à²à³.
+Preferences.Mode.Assistant_Description:à²à²¿à²à²²à³âà²à²š à²®à³à²² à²žà³à²²à²­à³à²¯à²à²³à²šà³à²šà³ à²ªà³à²°à²µà³à²¶à²¿à²žà²žà²²à³ à² à²µà³à²¯à²µà²žà³à²¥à³ à²ªà²°à²¿à²žà³à²¥à²¿à²€à²¿à²¯à²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²¿: à²Šà²žà³à²€à²Ÿà²µà³à²à³ à²žà³à²°à²¿à²žà³à²µà²¿à²à³ à²®à²€à³à²€à³ à²žà²à²à³à²°à²¹à²à²³à²¿à²à³ à²®à³à²à²¡à³à²à²Ÿ,à²¹à³à²ž à²žà²à²à³à²°à²¹à²à²³ à²šà²¿à²°à³à²®à²Ÿà²£à²à³à²à³ à²¯à²Ÿà²µ à²à²°à³à²µà²à²€à²¹ à²žà²°à²¿à²¹à³à²à²Šà³à²µ à²à²¯à²Ÿà²à²à³à²à³/à²µà²¿à²§à²Ÿà²š à²®à²€à³à²€à³ à²žà²à²à³à²°à²¹à²à²³ à²à²à³à²à³à²µà²¿à²à³  
+Preferences.Mode.Librarian:à²à³à²°à²à²¥à²ªà²Ÿà²²à²  
+Preferences.Mode.Librarian_Description:à²µà²¿à²šà³à²¯à²Ÿà²ž,à²žà²à²à³à²°à²¹à²à²³à²¿à²à³ à²Šà²žà³à²€à²Ÿà²µà³à²à³ à²®à²€à³à²€à³ à²®à³à²à²¡à³à²à²Ÿà²µà²šà³à²šà³ à²žà³à²°à²¿à²žà³à²µà³à²Šà³,à²¹à³à²ž à²žà²à²à³à²°à²¹à²Š à²µà²¿à²šà³à²¯à²Ÿà²ž,à²®à²€à³à²€à³ à²žà²à²à³à²°à²¹à²à²³ à²šà²¿à²°à³à²®à²Ÿà²£ à²®à³à²à²€à²Ÿà²Š à² à²µà³à²¯à²µà²žà³à²¥à³à²à²³à²šà³à²šà³ à²à³à²°à³à²šà³âà²žà³à²à³à²šà²¿à²š à²à²¿à²à²²à³âà²à²š à²žà²¹à² à²à²ªà²¯à³à²à²µà²šà³à²šà³ à²
+à²šà³à²µà³ à²®à²Ÿà²¡à³à²€à³à²€à²Šà³.  
+Preferences.Mode.Expert:à²šà²¿à²ªà³à²£à²€à³  
+Preferences.Mode.Expert_Description:à² à²µà³à²¯à²µà²žà³à²¥à³ à²à²¿à²à²²à³âà²à²š à²ªà²Ÿà²à²¡à²¿à²€à³à²¯à²ªà³à²°à³à²£ à²à²ªà²¯à³à²à²à³à²à³  à²
+à²šà³à²µà³à²®à²Ÿà²¡à²¿à²à³à²¡à³à²€à³à²€à²Šà³.à²à³à²°à³à²šà³âà²žà³à²à³à²šà³âà²šà²²à³à²²à²¿ à²žà²Ÿà²à²·à³à²à³ à²ªà²°à²¿à²£à²¿à²à³ à²®à²€à³à²€à³ à²
+à²šà³à²­à²µ à²à²°à³à²µà²µà²°à³ à²®à²Ÿà²€à³à²° à² à²µà³à²¯à²µà²žà³à²¥à³à²¯à²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà³à²µà³à²Šà³ à²à²³à³à²³à³à²¯à²Šà³.à² à²µà³à²¯à²µà²žà³à²¥à³à²¯à²²à³à²²à²¿ à²à²¿à²à²²à³âà²à²š à²à²²à³à²² à²žà³à²²à²­à³à²¯à²à²³à³ à²žà²à³à²°à²¿à²¯à²µà²Ÿà²à²¿à²°à³à²€à³à²€à²µà³.  
+Preferences.Warnings:à²à²à³à²à²°à²¿à²à³à²à²³à³  
+Preferences.Warnings_Tooltip:à²µà²¿à²µà²¿à²§ à²à²à³à²à²°à²¿à²à³ à²žà²à²­à²Ÿà²·à²£à³à²à²³à²šà³à²šà³ à²žà²à³à²°à²¿à²¯à²µà²Ÿà²à²¿à²žà²¿ à²
+à²¥à²µ à²šà²¿à²·à³à²à³à²°à²¿à²¯à²®à²Ÿà²¡à²¿  
+Preferences.Workflow:à²à²Ÿà²°à³à²¯à²à³à²°à²® à²žà³à²à²¿  
+Preferences.Workflow_Tooltip:à²žà²à²ªà²°à³à² à²žà²Ÿà²§à²šà²Š à²à³à²°à²®à²ªà²°à²¿à²µà²Ÿà²¹à²šà²µà²šà³à²šà³ à²µà²¿à²šà³à²¯à²Ÿà²žà²¿à²žà²¿:à²¯à²Ÿà²µ à²
+à²µà²²à³à²à²šà²à²³à³à²žà²à³à²°à²¿à²¯à²µà²Ÿà²à²¬à³à²à³à²à²Šà³ à²šà²®à³à²Šà²¿à²žà²¿.  
+Preferences.Workflow.Predefined.Label:à²®à³à²Šà²²à³ à²šà²¿à²°à³à²§à²°à²¿à²žà²¿à²Š à²à³à²°à²®à²ªà²°à²¿à²µà²Ÿà²¹à²šà²à²³à³  
+Preferences.Workflow.Title:à²
+à²µà²²à³à²à²šà²µà²šà³à²šà³ à²žà²à³à²°à²¿à²¯à²µà²Ÿà²à²¿à²žà²²à³ à²ªà²°à³à²à³à²·à² à²à³à²à²µà²šà³à²šà³ à²à³à²²à²¿à²à³à²à²¿à²žà²¿.  
+#**********************
+#
+#**** PreviewCommandDialog *******
+PreviewCommandDialog.Instructions:à²žà²à²à³à²°à²¹à²à²³à²šà³à²šà³  à²
+à²µà²²à³à²à²šà²®à²Ÿà²¡à²²à³ à²à²ªà²¯à³à²à²¿à²žà³à²µ à²à²Ÿà²°à³à²¯à²à³à²°à²®à²µà²šà³à²šà³ à²ªà³à²°à²Ÿà²°à²à²­à²¿à²žà²²à³ à²à²Šà³à²¶ à²à³à²¡à²¿. à²žà²à²à³à²°à²¹à²Š à²µà²¿à²³à²Ÿà²žà²à³à²à³  à²ªà³à²²à³à²žà³âà²¹à³à²²à³à²¡à²°à³ à²à²à²¿ %1 à²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²²à³ à²®à²€à³à²€à³ à²à²²à³à²²à²¿ à²
+à²à²€à³à²¯à²µà³ à²
+à²²à³à²²à²¿ à²žà³à²ªà³à²à³âà²®à²Ÿà²°à³à²à³âà²à²³à²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²²à³ à²à³à²à²Ÿà²ªà²Šà²²à³à²²à²¿à²à³à²à³à²à³à²³à³à²³à²¿.  
+PreviewCommandDialog.Title:à²à²Šà³à²¶à²Š à²®à³à²šà³à²šà³à²  
+
+ShowPreviousCollection.Title:à²¹à²¿à²à²Šà³ à²šà²¿à²°à³à²®à²¿à²žà²¿à²Š à²žà²à²à³à²°à²¹à²à²³ à²®à³à²šà³à²šà³à² à²šà³à²¡à²¿.
+ShowPreviousCollection.Message:à²à²à²Šà³à²€à²ªà³à²ªà²¿à²šà²¿à²à²Šà²Ÿà²à²¿ à²žà²à²à³à²°à²¹à²à²³à²šà³à²šà³ à²°à²à²¿à²žà²²à²Ÿà²à²²à²¿à²²à³à²².à²¹à²¿à²à²Šà³ à²šà²¿à²°à³à²®à²¿à²žà²¿à²Š à²žà²à²à³à²°à²¹à²à²³ à²®à³à²šà³à²šà³à²à²µà²šà³à²šà³ à²šà³à²µà³ à²šà³à²¡à³à²€à³à²€à²¿à²Šà³à²Šà³à²°à²¿.
+#**********************
+#
+#***** Remote Greenstone Server *****
+RemoteGreenstoneServer.Authentication_Message:à²Šà²¯à²µà²¿à²à³à²à³ à²šà²¿à²®à³à²® à²à³à²°à³à²šà³âà²žà³à²à³à²šà³âà²šà²¿à²š à²¬à²³à²à³à²Šà²Ÿà²°à²° à²¹à³à²žà²°à³ à²®à²€à³à²€à³ à²žà²à²à³à²€à²ªà²Šà²µà²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà²¿:  
+RemoteGreenstoneServer.Authentication_Message_gs3:à²Šà²¯à²µà²¿à²à³à²à³ à²šà²¿à²®à³à²® à²à³à²°à³à²šà³âà²žà³à²à³à²šà³âà²šà²¿à²š à²¬à²³à²à³à²Šà²Ÿà²°à²° à²¹à³à²žà²°à³ à²®à²€à³à²€à³ à²žà²à²à³à²€à²ªà²Šà²µà²šà³à²šà³ à²žà³à²à²¿à²šà²²à³à²²à²¿ à²šà²®à³à²Šà²¿à²žà²¿:  
+RemoteGreenstoneServer.Error:à² à²à²Ÿà²°à³à²¯à²à³à²°à²¿à²¯à³ à²šà²¿à²°à³à²µà²¹à²¿à²žà³à²µà²Ÿà² à²°à²¿à²®à³à²à³â à²à³à²°à³à²šà³âà²žà³à²à³à²šà²¿à²š à²žà²°à³à²µà²°à²²à³à²²à²¿ à²à²à²Šà³ à²€à²ªà³à²ªà²Ÿà²Š à²žà²à²à²€à²¿à²¯à²Ÿà²à²¿à²Šà³:\n{0-Error message}  
+RemoteGreenstoneServer.Error_Title:à²°à²¿à²®à³à²à³â à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²žà²°à³à²µà²°à³âà²š à²€à²ªà³à²ªà³.
+RemoteGreenstoneServer.Progress:à²°à²¿à²®à³à²à³â à²à³à²°à³à²šà³âà²žà³à²à³à²šà²¿à²š à²žà²°à³à²µà²°à³â à²®à³à²à²Šà³à²µà²°à²¿à²à³:
+RemoteGreenstoneServer.Steal_Lock_Message:'{0-User name}'à²¬à²³à²à³à²Šà²Ÿà²°à²°à²¿à²à²Š à² à²žà²à²à³à²°à²¹ à²à² à²²à²Ÿà²à³â à²à²à²¿à²Šà³.\nà² à²²à²Ÿà²à³â à²à²¡à²€à²µà²šà³à²šà³ à²šà³à²µà³ à²€à³à²à³à²¯à²²à³ à²à²·à³à²à²ªà²¡à³à²µà²¿à²°à²Ÿ(à²žà²®à²à²à²žà²µà²²à³à²²,à²®à²Ÿà²¡à²¿à²Š à²à³à²²à²ž à²¹à²Ÿà²³à²Ÿà²à²¬à²¹à³à²Šà³)?
+#**********************
+#
+#***** Rename Prompt *****
+RenamePrompt.Name:à²¹à³à²žà²°à³:  
+RenamePrompt.Title:à²à²¡à²€/à²à²¡à²€à²à²à³à²à²¿à²à³ à²®à²€à³à²€à³ à²¹à³à²žà²°à²¿à²žà²¿.  
+#**********************
+#
+#***** Replace Prompt *****
+ReplacePrompt.Title:à²à²¡à²€à²µà²šà³à²šà³ à²à²Šà²°à²¿à²à²Š à²¬à²Šà²²à²¿à²žà²¿ ...
+#**********************
+#
+#***** Save Collection Box *****
+SaveCollectionBox.File_Name:à²à²¡à²€à²Š à²¹à³à²žà²°à³:
+SaveCollectionBox.Files_Of_Type:à² à²šà²®à³à²šà³à²¯ à²à²¡à²€à²à²³à³:
+SaveCollectionBox.Look_In:à²à²³à²à³ à²šà³à²¡à³:
+#**********************
+#
+#***** Save Progress Box *******
+SaveProgressDialog.Title:à²žà²à²à³à²°à²¹à²à²³à²šà³à²šà³ à²à²³à²¿à²žà³à²€à³à²€à²¿à²Šà³.
+#*******************************
+#
+Server.QuitManual:à²žà³à²¥à²³à³à²¯ à²à³à²°à²à²¥ à²žà²°à³à²µà²°à²šà³à²šà³ à²žà³à²µà²¯à²à²à²Ÿà²²à²¿à²€à²µà²Ÿà²à²¿ à²²à³à²¬à³à²°à²°à²¿ à²à²à²à²°à³âà²«à³à²žà³âà²šà²¿à²à²Š à²®à³à²à³à²à²²à²Ÿà²à²²à²¿à²²à³à²².à²Šà²¯à²µà²¿à²à³à²à³ à²®à³à²²à³ à²¬à²²à²®à³à²²à³à²¯à²²à³à²²à²¿à²°à³à²µ à²¶à²¿à²²à²¬à³ à²à²à²Ÿà²°à²Š à²žà²à²à³à²€à²µà²šà³à²šà³ à²à²€à³à²€à²¿ à²žà²°à³à²µà²°à³â à²à²à²Š à²¹à³à²°à²¬à²šà³à²šà²¿,à²šà²à²€à²° à²à²à³à²¯à²šà³à²šà³ à²à²€à³à²€à²¿.  
+Server.QuitTimeOut:à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²žà³à²¥à²³à³à²¯ à²à³à²°à²à²¥à²Ÿà²²à²¯ à²
+à²°à²µà²€à³à²€à³ à²žà³à²à³à²à²¡à³à²žà³âà²šà²¿à²à²Š à²¯à²Ÿà²à²€à³à²°à²¿à² à²®à³à²à³à²à³à²µ à²à²Šà³à²¶à²à³à²à³ à²ªà³à²°à²€à²¿à²à³à²°à²¿à²¯à³ à²šà³à²¡à³à²€à³à²€à²¿à²²à³à²².à²à²šà³à²šà³ à²à²à²Šà³ à²šà²¿à²®à²¿à²· à²à²Ÿà²¯à²²à³ à²à²·à³à²à²ªà²¡à³à²€à³à²€à³à²°à²Ÿ?  
+Server.StartUpTimeOut:à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²žà³à²¥à²³à³à²¯ à²à³à²°à²à²¥à²Ÿà²²à²¯ {0} à²žà³à²à³à²à²¡à³à²žà³âà²šà²¿à²à²Š\nà²ªà³à²°à²Ÿà²°à²à²­à²¿à²žà³ à²à²Šà³à²¶à²à³à²à³ à²ªà³à²°à²€à²¿à²à³à²°à²¿à²¯à³ à²šà³à²¡à³à²€à³à²€à²¿à²²à³à²².à²à²šà³à²šà³ {0}à²žà³à²à³à²à²¡à³à²žà³â à²à²Ÿà²¯à²²à³\nà²à²·à³à² à²ªà²¡à³à²€à³à²€à³à²°à²Ÿ?  
+#
+#***** Sources *****
+Source.General:à²žà²Ÿà²®à²Ÿà²šà³à²¯  
+#**********************
+#
+#***** Trees *****
+Tree.DownloadedFiles:à²à³à²³à²à²¿à²³à²¿à²žà²¿à²Š à²à²¡à²€à²à²³à³.  
+Tree.Files:à²à²¡à²€à²à²³à³  
+Tree.Home:à²®à³à²² à²à²¡à²€à²à²à³à²à³ ({0})  
+Tree.Root:à²žà³à²¥à²³à³à²¯ à²à²¡à²€à²à²³ à²à²Ÿà²  
+Tree.World:à²à³à²°à³à²šà³âà²žà³à²à³à²šà³ à²žà²à²à³à²°à²¹à²à²³à²²à³à²²à²¿à²°à³à²µ à²Šà²žà³à²€à²Ÿà²µà³à²à³.
+#***********************
+#
+#***** Warning Dialog *****
+WarningDialog.Dont_Show_Again:à² à²à²à³à²à²°à²¿à²à³à²¯à²šà³à²šà³ à²®à²€à³à²€à³ à²€à³à²°à²¿à²žà²¬à³à²¡.
+WarningDialog.Dont_Show_Again_Message:à² à²žà²à²Šà³à²¶à²µà²šà³à²šà³ à²®à²€à³à²€à³ à²€à³à²°à²¿à²žà²¬à³à²¡.
+WarningDialog.Invalid_Value:à²®à³à²²à³à²¯ à²à³à²·à³à²€à³à²°à²Šà²²à³à²²à²¿ à²šà²®à³à²Šà²¿à²žà²¿à²Š à²®à³à²²à³à²¯à³ à² à²µà²¿à²¶à³à²²à²à³à²·à²£à²à³à²à³ à²žà²®à²à²à²žà²µà²²à³à²².  
+WarningDialog.Value:à²®à³à²²à³à²¯à²µà²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà³:
+#
+#****** WGet *****
+WGet.Prompt:à²¡à²¬à³à²²à³à²¯à³à²à³à²à³â à²®à²¿à²°à²°à²¿à²à²à³â à²à³à²²à³à²à²à³â.
+#
+#****** Workflows *****
+Workflow.AllPanels:à²à²²à³à²²à²Ÿ à²ªà³à²¯à²Ÿà²šà²²à³à²žà³  
+Workflow.LocalSourceCollectionBuilding:à²žà³à²¥à²³à³à²¯ à²à²§à²Ÿà²° à²žà²à²à³à²°à²¹ à²°à²à²šà³.
+Workflow.DocumentEnriching:à²Šà²žà³à²€à²Ÿà²µà³à²à³ à²ªà³à²·à³à²à³à²à²°à²£  
+
+
+#********GEMS******
+
+GEMS.Title:à²®à³à²à²¡à³à² à²à³à²à²ªà³ à²žà²à²¬à²à²Šà³à²§à²¿à²€ à²à³à²°à³à²šà³âà²žà³à²à³à²šà³â à²à²¡à²¿à²à²°à³âà²à²³à³.
+GEMS.OpenMetadataSetPrompt.Title:à²®à³à²à²¡à³à² à²à³à²à²ªà³ à²€à³à²°à³  
+GEMS.OpenMetadataSetPrompt.Open_Tooltip:à²à²°à²¿à²žà²¿à²Š à²®à³à²à²¡à³à² à²à³à²à²ªà³ à²€à³à²°à³  
+GEMS.Set_Description:à²®à³à²à²¡à³à² à²à³à²à²ªà³ à²µà²¿à²µà²°.
+GEMS.OpenMetadataSetPrompt.Open:à²€à³à²°à³  
+GEMS.OpenMetadataSetPrompt.Available_Sets:à²²à²­à³à²Šà²µà²¿à²°à³à²µ à²®à³à²à²¡à³à² à²à³à²à²ªà³.
+GEMS.DeleteMetadataSetPrompt.Title:à²®à³à²à²¡à³à² à²à³à²à²ªà³ à²€à³à²à³.
+GEMS.DeleteMetadataSetPrompt.Delete_Tooltip:à²à²°à²¿à²žà²¿à²Š à²®à³à²à²¡à³à² à²à³à²à²ªà³ à²€à³à²à³.
+GEMS.DeleteMetadataSetPrompt.Delete:à²€à³à²à³  
+GEMS.DeleteMetadataSetPrompt.Available_Sets:à²²à²­à³à²¯à²µà²¿à²°à³à²µ à²®à³à²à²¡à³à² à²à³à²à²ªà³à²à²³à³.
+GEMS.DeleteMetadataSetPrompt.Confirm_Delete:à²®à³à²à²¡à³à² à²à³à²à²ªà²šà³à²šà³ à²€à³à²à³à²Šà³ à²¹à²Ÿà²à²²à³ à²ªà³à²à³à²à²¿à²à³à²¯à³à²³à²à³ à²à³à²°à³à²€à³ à²®à²Ÿà²¡à³à²µà³à²Šà²°à²®à³à²²à² à²žà³à²¥à²¿à²°à²ªà²¡à²¿à²žà²¿ .  
+GEMS.DeleteMetadataSetPrompt.No_Set:à²¯à²Ÿà²µà³à²Šà³ à²®à³à²à²¡à³à² à²à³à²à²ªà²šà³à²šà³ à²à²°à²¿à²žà²¿à²²à³à²².
+GEMS.Confirm_Removal:à²šà²¿à²à²µà²Ÿà²à²¿ à²šà³à²µà³{0}à²à²Šà²šà³à²šà³ à²€à³à²à³à²¯à²²à³ à²
+à²ªà³à²à³à²·à²¿à²žà³à²€à³à²€à³à²°à²Ÿ?
+GEMS.Confirm_Removal_Title:à²€à³à²à³à²Šà³ à²¹à²Ÿà²à³à²µà³à²Šà²šà³à²šà³ à²žà³à²¥à²¿à²°à²ªà²¡à²¿à²žà²¿  
+GEMS.Attribute:à²à³à²£à²µà²¿à²¶à³à²·à²à²³à³  
+GEMS.Popup.AddElement:à²§à²Ÿà²€à³à²µà²šà³à²šà³ à²žà³à²°à²¿à²žà³.  
+GEMS.Popup.DeleteElement:à²§à²Ÿà²€à³à²µà²šà³à²šà³ à²€à³à²à³à²Šà³ à²¹à²Ÿà²à³.  
+GEMS.Popup.AddSubElement:à²à²ª à²§à²Ÿà²€à³à²µà²šà³à²šà³ à²žà³à²°à²¿à²žà³.  
+GEMS.Popup.DeleteSubElement:à²à²ª à²§à²Ÿà²€à³à²µà²šà³à²šà³ à²€à³à²à³.  
+GEMS.NewMetadataSetPrompt.Title:à²šà²µà³à²š à²®à³à²à²¡à³à² à²à³à²à²ªà³.
+GEMS.NewMetadataSetPrompt.Instructions:à²šà²µà³à²š à²®à³à²à²¡à³à² à²à³à²à²ªà²šà³à²šà³ à²°à²à²¿à²žà²²à³ à² à²à³à²³à²à²¿à²°à³à²µ à²à³à²·à³à²€à³à²°à²à²³à²šà³à²šà³ à²€à³à²à²¬à²¿:
+GEMS.NewMetadataSetPrompt.Base_MetadataSet:à² à²®à³à²à²¡à³à² à²à³à²à²ªà²šà³à²šà³ à² à²à²§à²Ÿà²°à²Š à²®à³à²²à³ à²šà²¿à²°à³à²ªà²¿à²žà²¿:
+GEMS.NewMetadataSetPrompt.Metadata_Title:à²®à³à²à²¡à³à² à²à³à²à²ªà²¿à²š à²¶à³à²°à³à²·à²¿à²à³:  
+GEMS.NewMetadataSetPrompt.Metadata_Namespace:à²®à³à²à²¡à³à² à²à³à²à²ªà²¿à²š à²¹à³à²žà²°à²¿à²š à²
+à²à²€à²° :  
+GEMS.NewMetadataSetPrompt.New_Metadata:-- à²šà²µà³à²š à²®à³à²à²¡à³à² à²à³à²à²ªà³ --
+GEMS.NewMetadataSetPrompt.Title_Error_Message:à²à²à²Šà³ à²šà²µà³à²š à²®à³à²à²¡à³à² à²à³à²à²ªà³ à²¶à³à²°à³à²·à²¿à²à³à²¯à²šà³à²šà³ à²¹à³à²à²Šà²¿à²°à²²à³ à²¬à³à²à³.  
+GEMS.NewMetadataSetPrompt.Title_Error:à²¶à³à²°à³à²·à²¿à²à³à²¯à²šà³à²šà³ à²žà³à²à²¿à²žà²¿à²²à³à²².  
+GEMS.NewMetadataSetPrompt.Namespace_Error_Message:à²à²à²Šà³ à²šà²µà³à²š à²®à³à²à²¡à³à² à²à³à²à²ªà³ à²¹à³à²žà²°à²¿à²š à²
+à²à²€à²° à²¹à³à²à²Šà²¿à²°à²²à³ à²¬à³à²à³.  
+GEMS.NewMetadataSetPrompt.Namespace_Error:à²¯à²Ÿà²µà³à²Šà³ à²¹à³à²žà²°à²¿à²š à²
+à²à²€à²°à²µà²šà³à²šà³ à²žà³à²à²¿à²žà²¿à²²à³à²².  
+GEMS.SelectedLanguage:à²­à²Ÿà²·à³à²à³ à²­à²Ÿà²·à²Ÿ à²žà²à²¬à²à²§à²¿à²€ à²µà²¿à²¶à³à²·à²šà²à²³à²šà³à²šà³ à²žà³à²°à²¿à²žà²¿:  
+GEMS.Language:-- à²­à²Ÿà²·à³à²¯à²šà³à²šà³ à²à²°à²¿à²žà²¿ --
+GEMS.LanguageDependent:à²­à²Ÿà²·à³à²¯à²šà³à²šà³ à²
+à²µà²²à²à²¬à²¿à²žà²¿à²°à³à²µ à²à³à²£à²µà²¿à²¶à³à²·à²à²³à³  
+GEMS.Attribute_Table:à²à³à²£à²µà²¿à²¶à³à²·  
+GEMS.Attribute_Deletion_Error:à²à³à²£à²µà²¿à²¶à³à²·à²à²³à²šà³à²šà³ à²€à³à²à³à²¯à³à²µà³à²Šà²°à²²à³à²²à²¿ à²€à²ªà³à²ªà²Ÿà²à²¿à²Šà³.  
+GEMS.Attribute_Deletion_Error_Message:à² à²à³à²£à²µà²¿à²¶à³à²·  à²¬à³à²à³ à²®à²€à³à²€à³ à²€à³à²à³à²¯à²²à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²².  
+GEMS.Add_Lang_Depend_Attr_Error:à²à³à²£à²µà²¿à²¶à³à²·à²Š à²žà³à²°à³à²ªà²¡à³à²¯à²²à³à²²à²¿ à²€à²ªà³à²ªà²Ÿà²à²¿à²Šà³  
+GEMS.Add_Lang_Depend_Attr_Error_Message:à²¯à²Ÿà²µà³à²Šà³"à²­à²Ÿà²·à³-à²
+à²µà²²à²à²¬à²¿à²à³" à²à³à²£à²µà²¿à²¶à³à²· à²à³à²à³à²à²¿à²²à³à²², à²Šà²¯à²µà²¿à²à³à²à³ à² à²à³à²£à²µà²¿à²¶à³à²·à²µà²šà³à²šà³ à²žà³à²°à²¿à²žà²¿.  
+GEMS.Attribute_Edition_Error:à²à³à²£à²µà²¿à²¶à³à²·à²Š à²€à²¿à²Šà³à²Šà³à²µà²¿à²à³ à²€à²ªà³à²ªà³.  
+GEMS.Attribute_Edition_Error_Message:à² à²à³à²£à²µà²¿à²¶à³à²· à²à²°à²²à³à²¬à³à²à³ à²®à²€à³à²€à³ à²à²Ÿà²²à²¿ à²®à²Ÿà²¡à²²à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²².  
+GEMS.Confirm_Save:à² à²®à³à²à²¡à³à² à²à³à²à²ªà³ à²¬à²Šà²²à²Ÿà²à²¿à²Šà³,à²šà³à²µà³ à²à²Šà²šà³à²šà³ à²à²³à²¿à²žà²²à³ à²à²·à³à²à²ªà²¡à³à²€à³à²€à³à²°?  
+GEMS.Confirm_Save_Title:à²®à³à²à²¡à³à² à²à³à²à²ªà²šà³à²šà³ à²à²³à²¿à²žà³  
+GEMS.Confirm_DeleteElement:à²šà²¿à²à²µà²Ÿà²à²¿à²¯à³ à²šà³à²µà³ {0}à²§à²Ÿà²€à³à²µà²šà³à²šà³ à²€à³à²à³à²¯à²²à³ à²à²à³à²à²¿à²žà³à²€à³à²€à³à²°?  
+GEMS.Confirm_DeleteElement_Title:à²§à²Ÿà²€à³à²µà²šà³à²šà³ à²€à³à²à³à²¯à²¿à²°à²¿.  
+GEMS.File_Deletion_Error_Message:à² à²à²¡à²€à²µà²šà³à²šà³ à²€à³à²à³à²¯à²²à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²².
+GEMS.File_Deletion_Error:à²à²¡à²€ à²€à³à²à³à²¯à³à²µà²¿à²à³à²¯à²²à³à²²à²¿ à²€à²ªà³à²ªà³.
+GEMS.Namespace_Conflict_Message:à²à²à³à²à²°à²¿à²à³:à² à²¹à³à²žà²°à²¿à²š à²
+à²à²€à²°à²µà²šà³à²šà³ à²¬à³à²°à³ à²®à³à²à²¡à³à² à²à³à²à²ªà²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²¿à²Šà³.à²®à³à²à²Šà³à²µà²°à²¿à²¯à²¬à²¹à³à²Šà³?  
+GEMS.Namespace_Conflict:à²¹à³à²žà²°à³à²à²³ à²à²Ÿà²à²Š à²µà²¿à²°à³à²§  
+GEMS.Move_Up:à²®à³à²²à³ à²žà²°à²¿.
+GEMS.Move_Down:à²à³à²³ à²žà²°à²¿.
+GEMS.Cannot_Undo:(à² à²à²Ÿà²°à³à²¯à²Ÿà²à²°à²£à³à²¯à²šà³à²šà³ à²°à²Šà³à²Šà³ à²®à²Ÿà²¡à²²à²Ÿà²à³à²µà³à²Šà²¿à²²à³à²²)
+
+GEMS.AttributeTable.Name:à²¹à³à²žà²°à³.
+GEMS.AttributeTable.Language:à²­à²Ÿà²·à³.
+GEMS.AttributeTable.Value:à²®à³à²²à³à²¯  
+GEMS.NewMetadataElementNamePrompt.Title:à²šà²µà³à²š à²§à²Ÿà²€à³  
+GEMS.NewMetadataElementNamePrompt.Name:à²Šà²¯à²µà²¿à²à³à²à³ à²¹à³à²ž à²§à²Ÿà²€à³à²µà²¿à²à³ à²à²à²Šà³ à²¹à³à²žà²°à²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà²¿.  
+GEMS.NewMetadataElementNamePrompt.SubTitle:à²šà²µà³à²š à²à²ªà²§à²Ÿà²€à³  
+GEMS.NewMetadataElementNamePrompt.SubName:à²Šà²¯à²µà²¿à²à³à²à³ à²šà²µà³à²š à²à²ªà²§à²Ÿà²€à³à²µà²¿à²à³ à²à²à²Šà³ à²¹à³à²ž à²¹à³à²žà²°à²šà³à²šà³ à²šà²®à³à²Šà²¿à²žà²¿.  
+GEMS.NewMetadataElementNamePrompt.Name_Error_Message:à² à²¹à³à²žà²°à²¿à²š à²§à²Ÿà²€à³ à²à²à²Ÿà²à²²à³ à²à²Šà³.  
+GEMS.NewMetadataElementNamePrompt.Name_Error:à²§à²Ÿà²€à³ à²¹à³à²žà²°à²¿à²šà²²à³à²²à²¿ à²Šà³à²·.  
+GEMS.NewMetadataElementNamePrompt.EmptyName_Error_Message:à²¹à³à²ž à²§à²Ÿà²€à³à²µà²¿à²à³ à²à²à²Šà³ à²¹à³à²žà²°à²¿à²°à²²à³à²¬à³à²à³.  
+
+
+GEMS.No_Set_Loaded:à²®à³à²à²¡à³à² à²à³à²à²ªà³ à²à²°à²¿à²žà²¿à²²à³à²².à²¹à³à²ž à²à³à²à²ªà²šà³à²šà³ à²°à²à²¿à²žà²²à³ à²Šà²¯à²µà²¿à²à³à²à³ à²à²¡à²€ ->à²¹à³à²ž à²µà²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²¿,à²
+à²¥à²µ à²à²¡à²€->à²€à³à²°à³ à²¯à²šà³à²šà³ à²à²ªà²¯à³à²à²¿à²žà²¿ à²à²à²Ÿà²à²²à³ à²à²°à³à²µ à²à³à²à²ªà²šà³à²šà³ à²€à³à²°à³à²¯à²¿à²°à²¿.
Index: main/tags/2.83/gli/classes/dictionary_lv.properties
===================================================================
--- main/tags/2.83/gli/classes/dictionary_lv.properties	(revision 21123)
+++ main/tags/2.83/gli/classes/dictionary_lv.properties	(revision 21123)
@@ -0,0 +1,1037 @@
+#*******************
+#** Language Orientation Property
+Component.Orientation:LTR
+
+#*******************
+#
+#***** AboutDialog *****
+AboutDialog.Acknowledgement:PateicÄ«bas par programmÄm, paketÄm vai klasÄm...
+AboutDialog.Date:(JÅ«lijs 2007)
+AboutDialog.Item0:Xerces Java 1' no The Apache Software Foundation (http://www.apache.org/)
+AboutDialog.Item2:WGet' no Free Software Foundation, Inc. (http://www.gnu.org/software/wget/wget.html)
+AboutDialog.Item3:qflib' no Quality First Software GmbH. (http://www.qfs.de/en/qflib/index.html)
+AboutDialog.Item4:ExtensionFileFilter.class'  Bruno Dumon un lÄ«dzstrÄdnieki (http://pollo.sourceforge.net/)
+AboutDialog.Item5:KÄ aizliegt datnes pÄrdÄvÄÅ¡anu datnes izvÄlnÄ' - vladi21 (http://www.experts-exchange.com/)
+AboutDialog.Item6:Autoscrolling' - Java Swing pateicoties Robert Eckstein, Marc Loy & Dave Wood (http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf)
+AboutDialog.Item7:Add ghosted drag images to your JTrees' - pateicoties Andrew J. Armstrong (http://www.javaworld.com/javaworld/javatips/jw-javatip114.html)
+AboutDialog.Item8:NovÄrsta nepatÄ«kama java.prefs kÄŒÅ«da, ja jums nav administrÄtora pieejas' - pateicoties Walter Schatz
+AboutDialog.Java_Req:Java ir Sun Microsystems Inc. firmas zÄ«me. JRE tiek distribÅ«tÄta pie Papildus Licences NosacÄ«jumiem (Supplemental License Terms), kura atrodama uz http://java.sun.com/j2se/1.4.1/j2re-1_4_1_02-license.html
+AboutDialog.Java_Req_One:Å is produkts iekÄŒauj kodus licencÄtas RSA Security, Inc.
+AboutDialog.Java_Req_Two:DaÅŸas programmatÅ«ras daÄŒas ir IBM licencÄtas un pieejamas uz http\://oss.software.ibm.com/icu4j/
+AboutDialog.Thanks:ArÄ« pateicamies tiem, kuri publicÄja noderÄ«gu informÄciju par java uz web...
+AboutDialog.Title:Par...
+AboutDialog.Title_One:Greenstone BibliotekÄra Interfeiss (GBI)
+AboutDialog.Title_Two:Greenstone DigitÄlÄ BibliotÄka, Waikato UniversitÄte
+AboutDialog.Copyright:Copyright (C) 2006 New Zealand Digital Library Project
+AboutDialog.Copyright_Two:PublicÄts zem GPL. VairÄk skatÄ«t LICENSE.txt.
+#***********************
+#
+#***** Audit Table *****
+AuditTable.File:Datne
+#***********************
+#
+#***** Auto Filter *****
+Autofilter.AND:UN
+Autofilter.Ascending:PieaugoÅ¡s
+Autofilter.Case_Sensitive:SakritÄ«bas GadÄ«jums
+Autofilter.Custom_Filter:Uzlabots
+Autofilter.Descending:DilstoÅ¡s
+Autofilter.Filter_By_Value:VienkÄrÅ¡s
+Autofilter.Name:Kolonnas VÄrds
+Autofilter.None:NekÄds
+Autofilter.Operator:NosacÄ«jums
+Autofilter.OR:VAI
+Autofilter.Order:SakÄrtoÅ¡ana
+Autofilter.Order_Tooltip:SakÄrtot sakrÄ«toÅ¡os elementus Å¡ÄdÄ secÄ«bÄ
+Autofilter.Remove:NoÅemt Filtru
+Autofilter.Remove_Tooltip:NoÅemt Å¡o filtru no tabulas kolonnas
+Autofilter.Set:Uzdot Filtru
+Autofilter.Set_Tooltip:Pievienot Å¡o filtru tabulas kolonnai
+Autofilter.Table_Header_Tooltip:FiltrÄt pÄc {0}
+Autofilter.Title:Metadatu Autofiltrs
+Autofilter.eqeq:vienlÄ«dzÄ«gs
+Autofilter.!eq:does not equal
+Autofilter.<:is less than
+Autofilter.<eq:is less than or equal to
+Autofilter.>:is greater than
+Autofilter.>eq:is greater than or equal to
+Autofilter.^:starts with
+Autofilter.!^:does not start with
+Autofilter.$:ends with
+Autofilter.!$:does not end with
+Autofilter.?:contains
+Autofilter.!?:does not contain
+#
+#     ********************************************************
+#     *************** Collection Design Module ***************
+#     ********************************************************
+#     * The dictionary  phrases  used in the creation of the *
+#     * Colection  Design  Module. Note that we  still  have *
+#     * access  to the format  arguments (argument  32+) for *
+#     * html formatting.                                     *
+#     ********************************************************
+CDM.ArgumentConfiguration.Add:Pievienot
+CDM.ArgumentConfiguration.Bad_Integer:<html>Arguments '{0}' prasa veselu skaitli,<br>bet ne vesels skaitlis var bÅ«t analizÄts no {1}.</html>
+CDM.ArgumentConfiguration.Custom_Header:IestatÄ«Å¡ana
+CDM.ArgumentConfiguration.Custom:IestatÄ«Å¡anas Argumenti:
+CDM.ArgumentConfiguration.Error_Title:KÄŒÅ«da Argumentos
+CDM.ArgumentConfiguration.Header:<HTML><STRONG><FONT FACE={FONT} COLOR=Black SIZE=5><CENTER>LÅ«dzu konfigurÄt argumentus priekÅ¡ {0}.</CENTER></FONT></STRONG></HTML>
+CDM.ArgumentConfiguration.No_Value:Arguments '{0}'  prasa vÄrtÄ«bu, bet tÄ nav norÄdÄ«ta.
+CDM.ArgumentConfiguration.Remove:NoÅemt
+CDM.ArgumentConfiguration.Required_Argument:Argumentam '{0}' jÄbÅ«t norÄdÄ«ta vÄrtÄ«ba.
+CDM.ArgumentConfiguration.Title:Argumentu KonfigurÄÅ¡ana
+CDM.ClassifierManager.Add:Pievienot Klasifikatoru...
+CDM.ClassifierManager.Add_Tooltip:Lietot norÄdÄ«to klasifikatoru ar Å¡o kolekciju
+CDM.ClassifierManager.Assigned:PaÅ¡laik PieÅ¡Ä·irtie Klasifikatori
+CDM.ClassifierManager.Classifier:IzvÄlieties klsifikatoru, ko pievienot:
+CDM.ClassifierManager.Classifier_Tooltip:Klasifikatori pieejami lietoÅ¡anai kolekcijÄ
+CDM.ClassifierManager.Classifier_Exists:Å is klasifikators ir jau nozÄ«mÄts Å¡ai kolekcijai.
+CDM.ClassifierManager.Classifier_Str:klasifikators
+CDM.ClassifierManager.Classifier_XML_Parse_Failed:NespÄju noteikt argumentus {0}\nklasifikatoram. LÅ«dzu pÄrliecinieties, ka klasifikators\nnodroÅ¡ina -xml karodziÅu, palaiÅŸot classinfo.pl skriptu\nlÄ«dzÄ«gi, ka skripta pluginfo.pl gadÄ«jumÄ,\nkÄ aprakstÄ«ts dokumentÄ Greenstone Developers Guide sekcijÄ 2.1.
+CDM.ClassifierManager.Configure:KonfigurÄt Klasifikatoru...
+CDM.ClassifierManager.Configure_Tooltip:IzvÄlÄtÄ klasifikÄtora opciju maiÅa
+CDM.ClassifierManager.Remove:NoÅemt Klasifikatoru
+CDM.ClassifierManager.Remove_Tooltip:NoÅemt izvÄlÄto klasifikatoru no saraksta
+CDM.ClassifierManager.Parsing.Message:Tiek ielÄdÄta klasifikatoru informÄcija...  
+CDM.ClassifierManager.Parsing.Title:Klasifikatoru IelÄdÄÅ¡ana
+CDM.FormatManager.Add:Pievienot FormÄtu
+CDM.FormatManager.Add_Tooltip:Izmantot specificÄto formÄta komandu ar kolekciju
+CDM.FormatManager.Assigned_Formats:PaÅ¡laik NozÄ«mÄtÄs FormÄta Komandas
+CDM.FormatManager.Editor:HTML FormÄta Rinda
+CDM.FormatManager.Editor_Tooltip:Ievadiet formÄta komandu Å¡eit
+CDM.FormatManager.Enabled:AtÄŒauts
+CDM.FormatManager.Feature:IzvÄlÄties PazÄ«mi
+CDM.FormatManager.Feature_Tooltip:PazÄ«me kuru formatÄt
+CDM.FormatManager.Insert:Iespraust
+CDM.FormatManager.Insert_Tooltip:Iespraust izvÄlÄto mainÄ«go formÄta komandÄ
+CDM.FormatManager.Part:IetekmÄtÄ Komponente
+CDM.FormatManager.Part_Tooltip:IzvÄlÄtÄs pazÄ«mes aspekts, ko formatÄt
+CDM.FormatManager.Remove:NoÅemt FormÄtu
+CDM.FormatManager.Remove_Tooltip:NoÅemt izvÄlÄto formÄta komandu no saraksta
+CDM.FormatManager.Replace:NomainÄ«t FormÄtu
+CDM.FormatManager.Replace_Tooltip:AktualizÄt izvÄlÄto formÄta komandu
+CDM.FormatManager.Variable:MainÄ«gie
+CDM.FormatManager.Variable_Tooltip:MainÄ«gie pieejami izmantoÅ¡anai formÄta komandÄ
+CDM.General.Access:Å ai kolekcijai jÄbÅ«t publiski pieejamai
+CDM.General.Browser_Title:IzvÄlieties AttÄlu
+CDM.General.Collection_Extra:Kolekcijas apraksts:
+CDM.General.Collection_Extra_Tooltip:Kolekcijas satura un nodoma apraksts
+CDM.General.Collection_Name:Kolekcijas nosaukums:
+CDM.General.Collection_Name_Tooltip:Kolekcijas nosaukums
+CDM.General.Email.Creator:Autora epasts
+CDM.General.Email.Creator_Tooltip:Kolekcijas autora e-pasta adrese
+CDM.General.Email.Maintainer:AtbalstÄ«tÄja epasts
+CDM.General.Email.Maintainer_Tooltip:Kolekcijas atbalstÄ«tÄja (apkalpotÄja) e-patsta adrese
+CDM.General.Icon_Collection:URL uz 'Par' lapas ikonu:
+CDM.General.Icon_Collection_Tooltip:URL uz attÄlu (ikonu), ko attÄlot kolekcijas 'Par' lapÄ
+CDM.General.Icon_Collection_Small:URL uz 'mÄjas' lapas ikonu:
+CDM.General.Icon_Collection_Small_Tooltip:URL uz attÄlu (ikonu), ko attÄlot bibliotÄkas mÄjas lapÄ
+CDM.General.Image_Copy_Failed:AtgadÄ«jÄs kÄŒÅ«da, kura neÄŒauj jÅ«su izvÄlÄto attÄlu(s) nokopÄt.\nLÅ«dzu mÄÄ£iniet manuÄli nokopÄt attÄlu(s):\n{0}\n uz jÅ«su kolekcijas:\n{1}\n images mapi  
+CDM.General.Image_Filter:AttÄli (gifs, jpgs un pngs)
+CDM.GUI.Classifiers:PÄrlÅ«koÅ¡anas Klasifikatori
+CDM.GUI.Design_Topics:Dezaina Sekcijas
+CDM.GUI.Formats:FormatizÄÅ¡ana
+CDM.GUI.General:VispÄrÄ«gi
+CDM.GUI.Indexes:MeklÄÅ¡anas Indeksi
+CDM.GUI.MetadataSets:Metadatu Kopas
+CDM.GUI.Plugins:Dokumentu SpraudÅi
+CDM.GUI.Root:CDM_ROOT
+CDM.GUI.SearchTypes:MeklÄÅ¡anas Tipi
+CDM.GUI.Subcollections:SadalÄ«jumu Indeksi
+CDM.GUI.SuperCollection:Starp-Kolekciju MeklÄÅ¡ana
+CDM.GUI.Translation:Teksta TulkoÅ¡ana
+CDM.HelpButton:DotÄ ekrÄna palÄ«gs  
+CDM.HelpButton_Tooltip:AtvÄrt dotÄ ekrÄna GBI palÄ«gu  
+CDM.IndexManager.Add_Index:Pievienot Indeksu
+CDM.IndexManager.Add_Index_Tooltip:Izveidot specifisku indeksu Å¡ai kolekcijai
+CDM.IndexManager.Allfields_Index:Pievienot kombinÄto meklÄÅ¡anu uz visiem indeksiem (visiem laukiem)  
+CDM.IndexManager.Default_Index_Indicator:[NoklusÄjuma Indeks]
+CDM.IndexManager.Document:dokuments
+CDM.IndexManager.Index_Exists:Å is indeks esot jau bijis nozÄ«mÄts dotai kolekcijai.
+CDM.IndexManager.Index_Name:Indeksa VÄrds:
+CDM.IndexManager.Index_Name_Tooltip:UnikÄls nosaukums jaunam indeksam
+CDM.IndexManager.Indexes:NozÄ«mÄtie Indeksi
+CDM.IndexManager.Level:LÄ«menÄ«:
+CDM.IndexManager.Level_Exists:Å is lÄ«menis jau esot ticis nozÄ«mÄts dotai kolekcijai.
+CDM.IndexManager.Level_Tooltip:Dokumenta lÄ«menis uz kura veidot indeksu
+CDM.IndexManager.MGPP.Add_All_Metadata:Pievienot Visu
+CDM.IndexManager.MGPP.Add_All_Metadata_Tooltip:Izveidot atseviÅ¡Ä·u indeksu katram atseviÅ¡Ä·i pieejamam avotam, izmantojot avotu kÄ indeksa vÄrdu
+CDM.IndexManager.MGPP.Add_Level:Pievienot LÄ«meni
+CDM.IndexManager.MGPP.Add_Level_Tooltip:Izveidot indeksu uz norÄdÄ«to lÄ«meni
+CDM.IndexManager.MGPP.Current_Levels:Patreiz NozÄ«mÄtie LÄ«meÅi
+CDM.IndexManager.MGPP.Indexes:AdministrÄt Indeksus
+CDM.IndexManager.MGPP.Level:LÄ«meÅa Avots:
+CDM.IndexManager.MGPP.Level_Name:LÄ«meÅa VÄrds:
+CDM.IndexManager.MGPP.Level_Name_Tooltip:UnikÄls vÄrds jauna lÄ«meÅa indeksam
+CDM.IndexManager.MGPP.Levels:AdministrÄt LÄ«meÅus
+CDM.IndexManager.MGPP.Remove_Level:NoÅemt LÄ«meni
+CDM.IndexManager.MGPP.Remove_Level_Tooltip:NoÅemt izvÄlÄtÄ lÄ«meÅa indeksu
+CDM.IndexManager.MGPP.Replace_Index:NomainÄ«t Indeksu
+CDM.IndexManager.MGPP.Replace_Index_Tooltip:AktualizÄt izvÄlÄto indeksu
+CDM.IndexManager.Paragraph:paragrÄfs
+CDM.IndexManager.Remove_Index:NoÅemt Indeksu
+CDM.IndexManager.Remove_Index_Tooltip:NoÅemt izvÄlÄto indeksu no saraksta
+CDM.IndexManager.Section:sekcija
+CDM.IndexManager.Set_Default:Uzdot NoklusÄjuma Indeksu
+CDM.IndexManager.Set_Default_Tooltip:Uzdot izvÄlÄto indeksu, kÄ indeksu pÄc noklusÄjuma
+CDM.IndexManager.Source:Izveidot indeksu uz:
+CDM.IndexManager.Source_Tooltip:Metadatu elementi uz kuriem izveidot indeksus
+CDM.LanguageManager.Add:Pievienot Valodu
+CDM.LanguageManager.Add_Tooltip:Pievienot norÄdÄ«to valodu sarakstam
+CDM.LanguageManager.Assigned_Languages:NozÄ«mÄtÄs Valodas
+CDM.LanguageManager.Default_Language:NoklusÄjuma Valoda
+CDM.LanguageManager.Remove:NoÅemt Valodu
+CDM.LanguageManager.Remove_Tooltip:NoÅemt izvÄlÄto valodu no saraksta
+CDM.LanguageManager.Selector:Valoda ko pievienot:
+CDM.LanguageManager.Selector_Tooltip:Valoda uz kuras izveidot sadalÄ«juma indeksu
+CDM.LanguageManager.Set_Default:Uzdot NoklusÄjumu
+CDM.LanguageManager.Set_Default_Tooltip:Uzdot izvÄlÄto valodu kÄ noklusÄjumu
+CDM.MetadataSetManager.Add:Pievienot Metadatu Kopu...  
+CDM.MetadataSetManager.Add_Tooltip:Pievienot kolekcijai jaunu metadatu kopu.
+CDM.MetadataSetManager.Edit:RediÄ£Ät Metadatu Kopu...  
+CDM.MetadataSetManager.Edit_Message:Metadatu kopas var bÅ«t rediÄ£Ätas, izmantojot Greenstone Metadatu Kopu Redaktoru GEMS (Greenstone Editor for Metadata Sets).\nPalaidiet GEMS no Windows izmantojot \nStarts-->Greenstone DigitÄlÄs BibliotÄkas ProgrammatÅ«ra-->GEMS.\nNo Linux vai Mac palaist gems.sh no Greenstone instalÄcijas mapes ar nosaukumu gli.  
+CDM.MetadataSetManager.Edit_Message_Title:Metadatu Kopu RediÄ£ÄÅ¡ana
+CDM.MetadataSetManager.Edit_Tooltip:RediÄ£Ät izvÄlÄto metadatu kopu.
+CDM.MetadataSetManager.Elements:Elementi izvÄlÄtÄ Metadatu KopÄ
+CDM.MetadataSetManager.Remove:DzÄst Metadatu Kopu
+CDM.MetadataSetManager.Remove_Tooltip:DzÄst izvÄlÄto metadatu kopu no kolekcijas.
+CDM.MetadataSetManager.Sets:PieejamÄs Metadatu Kopas
+CDM.MetadataSetManager.Chooser.Add:Pievienot
+CDM.Move.At_Bottom:Nevaru pÄrvietot {0} {1} zemÄk, jo tas jau ir paÅ¡Ä saraksta apakÅ¡Ä.
+CDM.Move.At_Top:Nevaru pÄrvietot {0} {1} augstÄk, jo tas jau ir paÅ¡Ä saraksta virsotnÄ.
+CDM.Move.Cannot:Nevaru pÄrvietot spraudni {0} zemÄk, jo RecPlug un ArcPlug jÄatrodas saraksta paÅ¡Ä apakÅ¡Ä.
+CDM.Move.Fixed:<html>RecPlug un ArcPlug parasti ir nepiecieÅ¡ams bÅ«t pÄdÄjiem un tÄdÄÄŒ ir fiksÄti savÄ vietÄ.<br>Ja jums patiesi vajag mainÄ«t viÅu pozÄ«cijas, tad lÅ«dzu rediÄ£Äjiet collect.cfg datni manuÄli.</html>
+CDM.Move.Move_Down:PÄrvietot ZemÄk
+CDM.Move.Move_Down_Tooltip:PÄrvietot izvÄlÄto elementu zemÄk sarakstÄ
+CDM.Move.Move_Up:PÄrvietot AugstÄk
+CDM.Move.Move_Up_Tooltip:PÄrvietot izvÄlÄto elementu augstÄk sarakstÄ
+CDM.Move.Title:KÄŒÅ«da - Nevaru PÄrvietot
+CDM.PlugInManager.Add:Pievienot Spraudni...
+CDM.PlugInManager.QuickAdd:Pievienot Spraudni
+CDM.PlugInManager.Add_Tooltip:Izmantot norÄdÄ«to spraudni Å¡ajÄ kolekcijÄ
+CDM.PlugInManager.Assigned:Patreiz NozÄ«mÄtie SpraudÅi
+CDM.PlugInManager.Configure:KonfigurÄt Spraudni...
+CDM.PlugInManager.Configure_Tooltip:IzmainÄ«t opcijas izvÄlÄtam spraudnim
+CDM.PlugInManager.Ignore:Nepievienot Spraudni
+CDM.PlugInManager.Ignore_Tooltip:Nepievienot nevienu spraudni Å¡ai kolekcijai.
+CDM.PlugInManager.PlugIn:IzvÄlieties spraudni ko pievienot:
+CDM.PlugInManager.PlugIn_Tooltip:Pieejamie spraudÅi izmantoÅ¡anai kolekcijÄ
+CDM.PlugInManager.PlugIn_Exists:Å is spraudnis jau esot pievienots Å¡ai kolekcijai.
+CDM.PlugInManager.PlugIn_Str:spraudnis
+CDM.PlugInManager.PlugIn_XML_Parse_Failed:Nevaru noteikt argumentus {0}\nspraudnim. LÅ«dzu pÄrliecinieties, ka spraudnis nodroÅ¡ina\n -xml karodziÅu, palaiÅŸot pluginfo.pl skriptu, kÄ aprakstÄ«ts\ndokumentÄ Greenstone Developers Guide sekcijÄ 2.1.
+CDM.PluginManager.Plugin_Suggestion_Prompt:Nav sagaidÄms, ka kÄds no spraudÅiem Å¡ajÄ kolekcijÄ varÄtu apstrÄdÄt datni â{0}â.SekojoÅ¡ie spraudÅi var bÅ«t izmantoti, lai apstrÄdÄtu Å¡o datni. JÅ«s varat pievienot vienu tagad, izvÄloties to, un nospieÅŸot Pievienot pogu. (JÄpiezÄ«mÄ, ka jÅ«s varat jebkurÄ laikÄ izmainÄ«t spraudÅu sarakstu izmantojot âDokumentu SpraudÅiâ no paneÄŒa Dizains.)
+CDM.PlugInManager.Remove:NoÅemt Spraudni
+CDM.PlugInManager.Remove_Tooltip:DzÄst izvÄlÄto spraudni no saraksta
+CDM.PluginManager.SuggestedPluginListTitle:Ieteicamie spraudÅi datnei
+CDM.PlugInManager.Parsing.Message:Tiek ielÄdÄta spraudÅu informÄcija...  
+CDM.PlugInManager.Parsing.Title:IelÄdÄ SpraudÅus
+CDM.SearchTypeManager.Add:Pievienot MeklÄÅ¡nas Tipu
+CDM.SearchTypeManager.Add_Tooltip:AtÄŒaut noteiktu meklÄÅ¡anas tipu Å¡ajÄ kolekcijÄ
+CDM.SearchTypeManager.Assigned:Patreiz NozÄ«mÄtie MeklÄÅ¡anas Tipi
+CDM.SearchTypeManager.BuildType_Selection:IndeksÄtÄjs:  
+CDM.SearchTypeManager.BuildType_Selection_Tooltip:IzvÄlieties indeksÄtÄju, ko lietot ar Å¡o kolekciju.  
+CDM.SearchTypeManager.Enable:AtÄŒaut PaplaÅ¡inÄtÄs MeklÄÅ¡anas
+CDM.SearchTypeManager.Remove:DzÄst MeklÄÅ¡anas Tipu
+CDM.SearchTypeManager.Remove_Tooltip:NeatÄŒaut izvÄlÄto meklÄÅ¡anas tipu ar Å¡o kolekciju
+CDM.SearchTypeManager.SearchType:MeklÄÅ¡anas Tips
+CDM.SearchTypeManager.SearchType_Selection:MeklÄÅ¡anas Tipi:
+CDM.SearchTypeManager.SearchType_Selection_Tooltip:MeklÄÅ¡anas tipi pieejami izmantoÅ¡anai ar Å¡o kolekciju
+CDM.SubcollectionManager.Add:Pievienot Filtru
+CDM.SubcollectionManager.Add_Tooltip:Pievienot norÄdÄ«to filtru kolekcijai
+CDM.SubcollectionManager.Assigned:DefinÄtie ApkÅ¡kolekciju Filtri
+CDM.SubcollectionManager.Exclude:IzslÄgt
+CDM.SubcollectionManager.Flags:Uzdodamais karodziÅÅ¡ pie sakritÄ«bas
+CDM.SubcollectionManager.Flags_Tooltip:KarodziÅu regulÄrÄ izteiksme, kura izmantojama pie sakritÄ«bas (piem. "i" reÄ£istrnejÅ«tÄ«gai sakritÄ«bai)
+CDM.SubcollectionManager.Include:IekÄŒaut
+CDM.SubcollectionManager.Inclusive:Ko mÄs darÄm ar datnÄm, kuras sakrÄ«t?
+CDM.SubcollectionManager.Language_Controls:NozÄ«mÄt Valodas
+CDM.SubcollectionManager.Match:SakritÄ«bas regulÄrÄ izteiksme:
+CDM.SubcollectionManager.Match_Tooltip:RegulÄrÄ izteiksme, kura definÄ dokumentus apakÅ¡kolekcijÄ
+CDM.SubcollectionManager.Name:ApakÅ¡kolekcijas filtra vÄrds:
+CDM.SubcollectionManager.Name_Tooltip:JaunÄ apakÅ¡kolekcijas filtra nosaukums
+CDM.SubcollectionManager.Partitions_Disabled:Å Ä« iespÄja patreiz ir aizliegta, jo jÅ«s operÄjat {0-Current Mode} reÅŸÄ«mÄ. Tas ir tikai pieejams {1-Systems} un {2-Expert} reÅŸÄ«mos. Lietojiet Datne->IestatÄ«jumi, lai izmainÄ«tu operÄÅ¡anas reÅŸÄ«mus.
+CDM.SubcollectionManager.Remove:NoÅemt Filtru
+CDM.SubcollectionManager.Remove_Tooltip:DzÄst izvÄlÄto filtru no saraksta
+CDM.SubcollectionManager.Replace:Aizvietot Filtru
+CDM.SubcollectionManager.Replace_Tooltip:Aizvietot un aktualizÄt izvÄlÄtÄ filtra detaÄŒas
+CDM.SubcollectionManager.Source:Dokumenta atribÅ«ts pÄc kura jÄsakrÄ«t:
+CDM.SubcollectionManager.Source_Tooltip:Dokumenta atribÅ«ts pÄc kura filtrÄt
+CDM.SubcollectionManager.Subcollection_Controls:DefinÄt Filtrus
+CDM.SubcollectionManager.Subindex_Controls:NozÄ«mÄt SadalÄ«jumus
+CDM.SubcollectionIndexManager.Add_Subindex:Pieviento SadalÄ«jumu
+CDM.SubcollectionIndexManager.Add_Subindex_Tooltip:Pievienot norÄdÄ«to sadalÄ«jumu Å¡ai kolekcijai
+CDM.SubcollectionIndexManager.Default_Partition_Indicator:[NoklusÄjuma SadalÄ«jums]
+CDM.SubcollectionIndexManager.PartitionName:SadalÄ«juma VÄrds:
+CDM.SubcollectionIndexManager.PartitionName_Tooltip:JaunÄ sadalÄ«juma nosaukums
+CDM.SubcollectionIndexManager.Remove_Subindex:NoÅemt SadalÄ«jumu
+CDM.SubcollectionIndexManager.Remove_Subindex_Tooltip:IzdzÄst izvÄlÄto sadalÄ«jumu no Å¡Ä«s kolekcijas
+CDM.SubcollectionIndexManager.Replace_Subindex:Aizvietot SadalÄ«jumu
+CDM.SubcollectionIndexManager.Replace_Subindex_Tooltip:Azvietot izvÄlÄto sadalÄ«jumu
+CDM.SubcollectionIndexManager.Set_Default_Subindex:Uzdot NoklusÄjumu
+CDM.SubcollectionIndexManager.Set_Default_Subindex_Tooltip:Uzdot izvÄlÄto sadalÄ«jumu bÅ«t pÄc noklusÄjuma
+CDM.SubcollectionIndexManager.Source:Veidot sadalÄ«jumu uz:
+CDM.SubcollectionIndexManager.Source_Tooltip:ApakÅ¡kolekcijas filtri uz kuriem veidot sadalÄ«jumu
+CDM.SubcollectionIndexManager.Subindexes:NozÄ«mÄtie ApakÅ¡kolekcijas SadalÄ«jumi
+CDM.TranslationManager.Add:Pievienot Tulkojumu
+CDM.TranslationManager.Add_Tooltip:Pievienot specificÄto tulkojumu kolekcijai
+CDM.TranslationManager.Affected_Features:PazÄ«mes
+CDM.TranslationManager.Assigned_Fragments:NozÄ«mÄtie Tulkojumi
+CDM.TranslationManager.Default_Text:SÄkotnÄjs Teksta Fragments
+CDM.TranslationManager.Fragment_Column:Teksta Fragments
+CDM.TranslationManager.Language:Tulkojuma valoda:
+CDM.TranslationManager.Language_Column:Valoda
+CDM.TranslationManager.Language_Tooltip:Valoda uz kuru tiek tulkots
+CDM.TranslationManager.Remove:NoÅemt Tulkojumu
+CDM.TranslationManager.Remove_Tooltip:IzdzÄst izvÄlÄto tulkojumu no kolekcijas
+CDM.TranslationManager.Replace:Aizvietot Tulkojumu
+CDM.TranslationManager.Replace_Tooltip:AktualizÄt (aizvietot) izvÄlÄto tulkojumu
+CDM.TranslationManager.Translation:Iztulkotais Teksts
+CDM.TranslationManager.Translation_Tooltip:Iztulkota teksta rindu ievadiet Å¡eit
+#*******************
+#
+#***** Collection *****
+Collection.Collection:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>Kolekcija</FONT></STRONG></HTML>
+Collection.Delete_Tooltip:IzdzÄst izvÄlÄtÄs datnes un mapes
+Collection.Filter_Tooltip:IerobeÅŸot datÅu atrÄdÄ«Å¡anu datÅu kokÄ
+Collection.New_Folder_Tooltip:Izveidot jaunu mapi
+Collection.No_Collection:Nav Kolekcijas
+Collection.No_Collection_Loaded:Nav ielÄdÄtas kolekcijas  
+Collection.Stop:Stop
+Collection.Stop_Tooltip:PÄrtraukt datÅu kopÄÅ¡anu
+Collection.Workspace:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>Darbatelpa</FONT></STRONG></HTML>
+#**********************
+#
+#***** CollectionBuilt *****
+CollectionBuilt.Message:Kolekcija esot izveidota un ir gatava priekÅ¡skatÄ«jumam.
+CollectionBuilt.Title:Kolekcijas IzveidoÅ¡anas RezultÄts
+#***************************
+#
+#***** CollectionManager *****
+CollectionManager.Build_Cancelled:Kolekcijas veidoÅ¡ana tikusi anulÄta.
+CollectionManager.Cannot_Create_Collection:AtgadÄ«jusies kÄŒÅ«da un kolekcija nevar bÅ«t izveidota.
+CollectionManager.Cannot_Create_Collection_With_Reason:Kolekcija nevar tikt radÄ«ta dÄÄŒ:\n{0-Error message}  
+CollectionManager.Cannot_Delete_Index:Kolekcija nevar tikt veidota no jauna, jo nevaru izdzÄst vecÄs indeksa datnes.\n LÅ«dzu pÄrbaudiet, ka Greenstone vai cita programma neizmanto Å¡Ä«s datnes,\n un mÄÄ£iniet vÄlreiz.
+CollectionManager.Cannot_Delete_Index_Log:VecÄs indeksa datnes nevar tikt izdzÄstas, tÄpÄc importÄÅ¡ana pÄrtraukta.
+CollectionManager.Cannot_Open:Kolekcija:\n{0-Collection file path}\nnevar bÅ«t atvÄrta.
+CollectionManager.Cannot_Open_With_Reason:Kolekcija:\n{0-Collection file path}\nnevar bÅ«t atvÄrta jo:\n{1-Error message}
+CollectionManager.Creating_New:Jaunas kolekcijas radÄ«Å¡ana.
+CollectionManager.Log_Created:Log mape izveidota.
+CollectionManager.Loading_Collection:Kolekcijas ielÄdÄÅ¡ana
+CollectionManager.Loading_Collection_Please_Wait:Kolekcijas ielÄdÄÅ¡ana, lÅ«dzu uzgaidiet...
+CollectionManager.Loading_Successful:IelÄdÄtÄ kolekcija {0}.
+CollectionManager.Missing_Config:Å ai kolekcijai nav pareiza collect.cfg datne
+CollectionManager.Not_Col_File:{0}' neesot BibliotekÄra Interfeisa Kolekcijas Datne (.col)
+CollectionManager.No_Config_File:Datne collect.cfg netika radÄ«ta ar mkcol.pl.  
+CollectionManager.Preview_Ready_Failed:AtgadÄ«jÄs kÄŒÅ«da, kura neÄŒauj, lai kolekcija tiktu priekÅ¡skatÄ«ta.
+CollectionManager.Preview_Ready_Title:Kolekcijas PriekÅ¡skatÄ«juma StÄvoklis.
+CollectionManager.Session_Ready:Kolekcija {0} gatava izmantoÅ¡anai.
+CollectionManager.Build_Not_Moved:VeidoÅ¡anas direktorijs (ar nosaukumu 'building') nevar tikt pÄrvietots.  
+CollectionManager.Index_Not_Deleted:Index direktorijs nevar tikt izdzÄsts.  
+CollectionManager.Install_Exception:Kolekcijas uzstÄdÄ«Å¡anas laikÄ konstatÄta problÄma:\n{0}\nIespÄjamais cÄlonis ir Windows
+#*****************************
+#
+#***** CollectionPopupMenu *****
+CollectionPopupMenu.Delete:IzdzÄst
+CollectionPopupMenu.New_Dummy_Doc:Jauns fiktÄ«vs dokuments
+CollectionPopupMenu.New_Folder:Jauna mape
+CollectionPopupMenu.Rename:PÄrdÄvÄt  
+CollectionPopupMenu.Replace:Aizvietot
+#*******************************
+#
+#***** CreatePane *****
+CreatePane.Build:VeidoÅ¡anas Opcijas
+CreatePane.Build_Tooltip:Opcijas kolekcijas formÄÅ¡anas indeksÄcijas un klasifikÄcijas stadijÄ
+CreatePane.Build_Collection:Veidot Kolekciju
+CreatePane.Build_Collection_Tooltip:SÄkt kolekcijas formÄÅ¡anas procesu
+CreatePane.Build_Progress:VeidoÅ¡anas Progress
+CreatePane.Cancel_Build:Atcelt Veidot
+CreatePane.Cancel_Build_Tooltip:PÄrtraukt kolekcijas formÄÅ¡anas procesu
+CreatePane.Full_Build:PilnÄ«ga PÄrveidoÅ¡ana  
+CreatePane.Full_Build_Tooltip:PilnÄ«gi pÄrveidot kolekciju no jauna  
+CreatePane.Import:Importa Opcijas
+CreatePane.Import_Tooltip:Opcijas kolekcijas formÄÅ¡anas datÅu convertÄcijas un metadatu pieÅ¡Ä·irÅ¡anas stadijÄ
+CreatePane.Import_Progress:Importa Progress
+CreatePane.Incremental_Build:InkrementÄlÄ VeidoÅ¡ana  
+CreatePane.Incremental_Build_Tooltip:ÄtrÄk, par cik, tikai daÄŒa no visa nepiecieÅ¡amÄ kolekcijas veidoÅ¡anas procesa tiek veikta.  
+CreatePane.Log:PaziÅojumu Log
+CreatePane.Log_Tooltip:SkatÄ«t izvadu no iepriekÅ¡Äjiem kolekcijas formÄÅ¡anas mÄÄ£inÄjumiem
+CreatePane.Mode_All:all  
+CreatePane.Options:Opciju Grupas
+CreatePane.Options_Title:Kolekcijas Importa & VeidoÅ¡anas Opcijas
+CreatePane.Preview_Collection:PriekÅ¡skatÄ«t Kolekciju
+CreatePane.Preview_Collection_Tooltip:PriekÅ¡skatÄ«t izveidotu kolekciju
+#**********************
+#
+#***** Dates *****
+Dates.Mon:Pirmdiena
+Dates.Tue:Otrdiena
+Dates.Wed:TreÅ¡diena
+Dates.Thu:Ceturtdiena
+Dates.Fri:Piektdiena
+Dates.Sat:Sestdiena
+Dates.Sun:SvÄtdiena
+Dates.Jan:JanvÄris
+Dates.Feb:FerbruÄris
+Dates.Mar:Marts
+Dates.Apr:AprÄ«lis
+Dates.May:Maijs
+Dates.Jun:JÅ«nijs
+Dates.Jul:JÅ«lijs
+Dates.Aug:Augusts
+Dates.Sep:Septembris
+Dates.Oct:Oktobris
+Dates.Nov:Novembris
+Dates.Dec:Decembris
+#**********************
+#
+#***** Delete Collection Prompt *****
+DeleteCollectionPrompt.Collection_Details:IzvÄlÄtÄs kolekcijas detaÄŒas
+DeleteCollectionPrompt.Collection_List:Pieejamas kolekcijas
+DeleteCollectionPrompt.Confirm_Delete:LÅ«dzu atzÄ«mÄjiet rÅ«tiÅu, lai apstiprinÄtu kolekcijas izdzÄÅ¡anu.
+DeleteCollectionPrompt.Delete:IzdzÄst
+DeleteCollectionPrompt.Delete_Tooltip:IzdzÄst izvÄlÄto kolekciju
+DeleteCollectionPrompt.Details:VeidotÄjs - {0}\nAtbalstÄ«tÄjs - {1}\nApraksts\n{2}
+DeleteCollectionPrompt.Failed_Delete:Kolekcija nevar bÅ«t pilnÄ«gi izdzÄsta.
+DeleteCollectionPrompt.Failed_Title:IzdzÄÅ¡ana NeizdevÄs!
+DeleteCollectionPrompt.No_Collection:Nav izvÄlÄta kolekcija.
+DeleteCollectionPrompt.Successful_Delete:Kolekcija tikusi izdzÄsta.
+DeleteCollectionPrompt.Successful_Title:IzdzÄÅ¡ana Pabeigta!
+DeleteCollectionPrompt.Title:Kolekcijas IzdzÄÅ¡ana
+#**********************
+#
+#***** DirectoryLevelMetadata *****
+DirectoryLevelMetadata.Message:JÅ«s taisÄties pieÅ¡Ä·irt 'mapes lÄ«meÅa' metadatus izvÄlÄtai mapei (vai mapÄm). Å os metadatus automÄtiski pÄrmantos visas datnes un mapes Å¡ajÄ mapÄ. TurklÄt Å¡ie metadata nevar bÅ«t vienkÄrÅ¡i noÅemti, bet tikai aizvietoti. Lai turpinÄtu Å¡o darbÄ«bu nospiediet 'OK'.
+DirectoryLevelMetadata.Title:Par mapes lÄ«meÅa metadatu pievienoÅ¡anu
+#********************
+#
+#***** EnrichPane *****
+EnrichPane.AutoMessage:Å is elements, {0}, pieder Greenstone metadatu kopai. Å Ä« kopa reprezentÄ metadatus, kuri parasti var bÅ«t izvilkti automÄtiski. Lai pÄrbaudÄ«tu, kÄdi  {0} metadati var tikt izvilkti, radiet kolekciju izmantojot 'RadÄ«t' paneli.  
+EnrichPane.ExistingValues:EsoÅ¡Äs {0} vÄrtÄ«bas  
+EnrichPane.InheritedMetadataSelected:Å ie metadati ir pÄrmantoti no mapes virs tÄs, un nevar bÅ«t rediÄ£Äti.
+EnrichPane.No_File:Nav IzvÄlÄtas Datnes
+EnrichPane.No_Metadata:Nav Pieejami Metadati
+EnrichPane.No_Metadata_Element:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>Nav Metadatu Elements IzvÄlÄts</FONT></STRONG></HTML>
+EnrichPane.NotOneFileOnlyMetadataSelected:Å Ä« metadatu daÄŒa neattiecas tikai uz Å¡o datni, tÄpÄc nevar bÅ«t rediÄ£Äta.  
+EnrichPane.Value_Field_Tooltip:VÄrtÄ«ba, ko pieÅ¡Ä·irt izvÄlÄtam metadatu elementam
+EnrichPane.Value_Field_Tooltip_Uneditable:VÄrtÄ«ba, kura pieÅ¡Ä·irta izvÄlÄtam metadatu elementam
+#***********************
+#
+#****** ExplodeMetadataPrompt *******
+ExplodeMetadataPrompt.Explode:SadalÄ«t
+ExplodeMetadataPrompt.Explode_Tooltip:SadalÄ«t metadatu datni
+ExplodeMetadataPrompt.Instructions:Sadalot Å¡o metadatu datni tiks producÄti individuÄli ieraksti ar rediÄ£Äjamiem metadatiem. Å is ir neatgrieÅŸams process un kolekcijas originÄlÄ metadatu datne tiks izdzÄsta.
+ExplodeMetadataPrompt.Failed_Title:SadalÄ«Å¡ana NeizdevÄs.
+ExplodeMetadataPrompt.Failed_Explode:DatubÄze {0} nevar bÅ«t sadalÄ«ta.
+ExplodeMetadataPrompt.NotExplodable:DotÄ datne nav sadalÄma.
+ExplodeMetadataPrompt.Successful_Explode:DatubÄze {0} sekmÄ«gi sadalÄ«ta.
+ExplodeMetadataPrompt.Successful_Title:SadalÄ«Å¡ana Pabeigta.
+ExplodeMetadataPrompt.Title:SadalÄ«t Metadatu DatubÄzi
+#***********************
+#
+#****** WriteCDImagePrompt *******
+WriteCDImagePrompt.CD_Name:CD/DVD vÄrds
+WriteCDImagePrompt.Export:RakstÄ«t CD/DVD attÄlu
+WriteCDImagePrompt.Export_Tooltip:RakstÄ«t izvÄlÄtÄs kolekcijas, kÄ Windows CD/DVD AttÄlus
+WriteCDImagePrompt.Failed_Export:Kolekcijas ({0}) nevarÄja bÅ«t eksportÄtas.
+WriteCDImagePrompt.Failed_Title:Eksports NeizdevÄs
+WriteCDImagePrompt.Instructions:Vienas vai vairÄku kolekciju eksports uz paÅ¡instalÄjoÅ¡os Windows CD/DVD (kaut arÄ« tas darbojas uz jebkuras platformas, CD/DVD, kas tiek radÄ«ts, palaiÅŸas tikai zem Windows).  
+WriteCDImagePrompt.Progress_Label:DatÅu kopÄÅ¡ana. Tas var aizÅemt zinÄmu laiku...
+WriteCDImagePrompt.Size_Label:NovÄrtÄtais izmÄrs:  
+WriteCDImagePrompt.Successful_Export:Kolekcijas ({0}) esot tikuÅ¡as eksportÄtas.
+WriteCDImagePrompt.Successful_Title:Eksports Pabeigts
+WriteCDImagePrompt.Title:Kolekcijas Eksports uz CD/DVD
+#************************
+#
+#****** ExportAsPrompt *******
+ExportAsPrompt.Export_Name:Eksporta mapes nosaukums
+ExportAsPrompt.Export:EksportÄt kolekciju(as)
+ExportAsPrompt.Export_Tooltip:EksportÄt izvÄlÄtÄs kolekcijas uz noteiktu mapi un izvÄlÄtÄ formÄtÄ
+ExportAsPrompt.Failed_ExportOne:Kolekcija, {0}, nevar bÅ«t eksportÄta.
+ExportAsPrompt.Failed_ExportMany:Kolekcijas -- {0} -- nevar bÅ«t eksportÄtas.
+ExportAsPrompt.Failed_Details:SkatÄ«t {1} sÄ«kÄk
+ExportAsPrompt.Failed_Title:Eksports NeizdevÄs
+ExportAsPrompt.Instructions:EksportÄt vienu vai vairÄkas kolekcijas izvÄlÄtÄ formÄtÄ uz noteiktu mapi
+ExportAsPrompt.Progress_Label:Datnes tiek eksportÄtas. Tas var aizÅemt zinÄmu laiku...
+ExportAsPrompt.Successful_ExportOne:Kolekcija, {0}, esot tikusi eksportÄta.
+ExportAsPrompt.Successful_ExportMany:Kolekcijas -- {0} -- esot tikuÅ¡as eksportÄtas.
+ExportAsPrompt.Successful_Details:Datnes eksportÄtas uz: {1}
+ExportAsPrompt.Successful_Title:Eksports Pabeigts
+ExportAsPrompt.Title:EksportÄt Kolekcijas
+ExportAsPrompt.SaveAs:EksportÄt uz
+ExportAsPrompt.SaveAs_Tooltip:IzvÄlieties formÄtu uz kuru jÅ«s vÄlaties eksportÄt
+#************************
+#
+#*****ExternalCollectionPrompt********
+ExternalCollectionPrompt.NewMDS:RadÄ«t jaunu, tukÅ¡u metadatu kopu.
+ExternalCollectionPrompt.ExistingMDS:IzvÄlieties vienu vai vairÄkas metadatu kopas
+ExternalCollectionPrompt.Title:IelÄdÄt Äreju kolekciju
+ExternalCollectionPrompt.Instructions_1:JÅ«s gribat ielÄdÄt kolekciju, kura netika izveidota ar GBI. JÅ«s tiksiet aicinÄti izvÄlÄties vienu vai vairÄkas metadatu kopas, kuras izmantot ar doto kolekciju. EksistÄjoÅ¡ie metadati tiks importÄti izvÄlÄtajÄ(s) metadatau kopÄ(s). OriginÄlÄs metadatu datnes tiks saglabÄtas mapÄ ar nosaukumu import.bak.
+ExternalCollectionPrompt.Instructions_2:JÅ«s gribat ielÄdÄt kolekciju, kura netika izveidota ar GBI. Jums nepiecieÅ¡ams pievienot metadatu kopu Å¡ai kolekcijai. JÅ«s varat radÄ«t jaunu tukÅ¡u metadatu kopu, kurai visi atrastie metadatu elementi kolekcijÄ tiks automÄtiski pievienoti. AlternatÄ«vi, jÅ«s varat izvÄlÄties eksistÄjoÅ¡as metadatu kopas, un elementi no kolekcijas tiks apvienoti vai pievienoti jau esoÅ¡iem elementiem Å¡ajÄs kopÄs. OriÄ£inÄlÄs metadatu datnes tiks saglabÄtas mapÄ ar nosaukumu import.bak.
+#****************************************
+#
+#***** Inherited Metadata *****
+ExtractedMetadata.Message:IzvÄletÄ datne vai mape satur izvilktus metadatus, bet patreiz tie ir neredzami. Lai redzÄtu izvilktus metadatus, dodieties uz "[D]atne" izvÄlni un izvÄlieties "[I]estatÄ«jumi". "VispÄrÄ«gi" rekvizÄ«tu lapÄ izvÄlieties "SkatÄ«t Izvilktus Metadatus", tad nospieÅŸiet "[O]k".
+ExtractedMetadata.Title:Å Ä« Datne/Mape satur Neredzamus Izvilktus Metadatus
+#
+#***** FileActions *****
+FileActions.Calculating_Size:Tiek kalkulÄts izvÄlÄto datÅu kopÄjais izmÄrs
+FileActions.Copying:KopÄju {0}
+FileActions.Could_Not_Delete:Nevaru izdzÄst {0}  
+FileActions.Cyclic_Path:Nevaru kopÄt {0}: adresÄtÄ mape ir avota mapes apakÅ¡mape.  
+FileActions.Deleting:IzdzÄÅ¡u {0}
+FileActions.Directories_Selected:{0} izvÄlÄtÄm mapÄm  
+FileActions.Directory_Selected:1 izvÄlÄtai mapei  
+FileActions.File_Already_Exists_No_Create:Datne '{0}' jau eksistÄ.
+FileActions.File_Already_Exists_Message:{0}\nDatne ar nosaukumu, kas parÄdÄ«ta augstÄk jau eksistÄ\nun par spÄ«ti jÅ«su iepriekÅ¡Äjai izvÄlei BibliotekÄra Interfeiss\nnevar to pÄrrakstÄ«t. LÅ«dzu pÄrbaudiet vai datne ir rakstÄ«t atÄŒauta.
+FileActions.File_Already_Exists_Title:KÄŒÅ«da - Datne Jau EksistÄ.
+FileActions.File_And_Directories_Selected:1 datnei un {0} izvÄlÄtÄm mapÄm  
+FileActions.File_And_Directory_Selected:izvÄlÄtai 1 datnei un 1 mapei  
+FileActions.File_Create_Error:Datne {0} nevar tikt radÄ«ta.
+FileActions.Folder_Create_Error:Mape {0} nevar tikt radÄ«ta.
+FileActions.File_Exists:{0} jau eksistÄ saÅÄmÄjmapÄ. PÄrrakstÄ« to?
+FileActions.File_Move_Error_Message:Nevaru pÄrvietot {0} uz\n{1}.  
+FileActions.File_Not_Deleted_Message:{0}\nAugstÄk minÄtÄ datne nevar tikt izdzÄsta. \nLÅ«dzu pÄrbaudiet, ka jums Å¡Ä« datne nav
+FileActions.File_Not_Deleted_Title:KÄŒÅ«da - Datne nav IzdzÄsta.  
+FileActions.File_Not_Found_Message:{0}\nAugstÄk minÄtÄ datne nevar tikt atrasta. LÄ«dz ar datÅu skata\natjaunoÅ¡anu, lÅ«dzu pÄrbaudiet, ka datne vÄl eksistÄ.
+FileActions.File_Not_Found_Title:KÄŒÅ«da - Datne nav atrasta.
+FileActions.File_Selected:1 izvÄlÄtai datnei  
+FileActions.Files_And_Directory_Selected:izvÄlÄtÄm {0} datnÄm un 1 mapei  
+FileActions.Files_Selected:{0} izvÄlÄtÄm datnÄm  
+FileActions.Folder_Already_Exists:Mape ar nosaukumu '{0}' tiek jau lietota. Nevaru radÄ«t mapi.
+FileActions.Increase_Depth:PalielinÄt DziÄŒumu par 1
+FileActions.Insufficient_Space_Message:DarbÄ«ba ar datni neizdevÄs, jo nepietiek vietas\nuz diska. Lai sekmÄ«gi nokopÄtu datni jums turmÄk\nnepiecieÅ¡ams: {0}
+FileActions.Insufficient_Space_Title:KÄŒÅ«da - Nepietiek Vietas
+FileActions.Moving:PÄrvietoju {0}
+FileActions.No_Activity:Nav pieprasÄ«tas darbÄ«bas
+FileActions.Possible_Cyclic_Path:{1} ir {0} mapes dziÄŒumÄ un var bÅ«t rekursÄ«vs ceÄŒÅ¡? Vai datÅu darbÄ«bu turpinÄt?
+FileActions.Read_Not_Permitted_Message:Nevaru nolasÄ«t {0}.  
+FileActions.Read_Only:Datnes no darbatelpas ir tikai lasÄmas un navar bÅ«t izdzÄstas.
+FileActions.Replacing:Aizvieto {0}  
+FileActions.Selected:izvÄlÄtÄm {0} datnÄm un {1} mapÄm  
+FileActions.Unknown_File_Error_Message:Lai gan nebija kÄŒÅ«da reportÄta datnes darbÄ«bas\nlaikÄ, gala pÄrbaude parÄda, ka\nkopijas datne nav tÄ pati kÄ avota datne. TÄ cÄlonis\nnav zinÄms. LÅ«dzu pÄrbaudiet jÅ«su disku un atjaunojiet\njÅ«su instalÄto JVM.
+FileActions.Unknown_File_Error_Title:KÄŒÅ«da - NezinÄma Datnes KÄŒÅ«da
+FileActions.Write_Not_Permitted_Message:BibliotekÄra Interfeisam nav atÄŒaujas rakstÄ«t\n{0}\nLÅ«dzu pÄrbaudiet datnes atÄŒaujas atribÅ«tus.
+FileActions.Write_Not_Permitted_Title:KÄŒÅ«da - Nepareizas Datnes AtÄŒaujas
+FileActions.Yes_To_All:JÄ uz Visiem
+#************************
+#
+#******* File Associations dialog **********
+FileAssociationDialog.Add:Pievienot
+FileAssociationDialog.Add_Tooltip:Izmantojiet Å¡o lietojumprogrammu, lai skatÄ«tu Å¡Ä tipa datni
+FileAssociationDialog.Batch_File:PakeÅ¡datnes
+FileAssociationDialog.Browse:PÄrlÅ«kot
+FileAssociationDialog.Browse_Tooltip:IzvÄlieties lietojumprogrammu, ko izmantot no jÅ«su datÅutelpas
+FileAssociationDialog.Browse_Tooltip_Mac:JÅ«su lietojumprogrammas pÄrlÅ«koÅ¡ana patreiz ir aizliegta priekÅ¡ MacOS
+FileAssociationDialog.Browse_Title:IzvÄlieties Lietojumprogrammu
+FileAssociationDialog.Close:AizvÄrt
+FileAssociationDialog.Close_Tooltip:Aizveriet Å¡o dialogu un atgriezieties uz galveno logu
+FileAssociationDialog.Command:PalaiÅ¡anas komanda:
+FileAssociationDialog.Command_File:Komanddatnes
+FileAssociationDialog.Command_Tooltip:Ievadiet komandu ar kuru palaist lietojumprogrammu
+FileAssociationDialog.Details:JaunÄs Datnes AsociÄcijas DetaÄŒas
+FileAssociationDialog.Executable_File:IzpildÄmÄs datnes
+FileAssociationDialog.Existing_Associations:AktuÄlÄs Datnes AsociÄcijas
+FileAssociationDialog.Extension:DatnÄm kas beidzas ar:
+FileAssociationDialog.Extension_Tooltip:SkatÄmo datÅu datnes paplaÅ¡inÄjums
+FileAssociationDialog.Instructions:Izmantojiet Å¡o dialogu, lai uzstÄdÄ«tu, kÄdas ÄrÄjÄs programmas tiks lietotas skatot noteiktu datnes-tipu, un kÄda komanda tiks nosÅ«tÄ«ta, lai  palaistu Å¡o programmu.\nLai pievienotu jaunu datnes-tipu, ievadiet tÄs paplaÅ¡inÄjumu lauciÅÄ 'DatnÄm kas beidzas ar'. Lai pievienotu vai modificÄtu palaiÅ¡anas komandu, ievadiet jaunu komandu lodziÅÄ 'PalaiÅ¡anas Komanda' vai noklikÅ¡Ä·iniet 'PÄrlÅ«kot', ja vÄlaties meklÄt datÅu sistÄmÄ attiecÄ«go programmu. Izmantojiet formÄtu '%1', lai indicÄtu vietu, kur vajadzÄtu tikt iespraustam datnes nosaukumam atveramai datnei, piemÄram, "C:\\Windows\\System\\MSPaint.exe %1". '%1' tiks pievienots komandas galÄ, ja netiks specificÄts citÄdi.\nMacOS lietotÄjiem vienmÄr vispirms jÄmÄÄ£ina specifisko mac komandu "open [-a <application_name>] %1".
+FileAssociationDialog.Table.Command:Komanda
+FileAssociationDialog.Table.Extension:PaplaÅ¡inÄjums
+FileAssociationDialog.Title:RediÄ£Ät Datnes AsociÄcijas
+FileAssociationDialog.Remove:NoÅemt
+FileAssociationDialog.Remove_Tooltip:IzdzÄst patreiz izvÄlÄto asociÄciju no eksistÄjoÅ¡o asociÄciju saraksta
+FileAssociationDialog.Replace:Aizvietot
+FileAssociationDialog.Replace_Tooltip:Aizvietot patreiz izvÄlÄto asociÄciju ar jaunÄm asociÄcijas detaÄŒÄm
+#*******************
+#
+#******Filter***************
+Filter.0:HTM & HTML
+Filter.1:XML
+Filter.2:Teksta Datnes
+Filter.3:AttÄli
+Filter.All_Files:Visas Datnes
+Filter.Filter_Tree:ParÄdÄ«t Datnes
+Filter.Invalid_Pattern:<HTML><FONT FACE={FONT} COLOR=Black>Å ablonu, ko jÅ«s esat ievadÄ«juÅ¡i datÅu filtrÄcijai, ir nederÄ«gs.<BR>LÅ«dzu mÄÄ£iniet vÄlreiz, izmantojot regulÄras izteiksmes sintaksi un ar<BR>* norÄdot aizstÄjÄjzÄ«mi.</FONT></HTML>
+#***********************
+#
+#***** GAuthenticator *****
+GAuthenticator.Password:Parole:
+GAuthenticator.Password_Tooltip:Ievadiet Å¡eit jÅ«su paroli
+GAuthenticator.Title:Parole ir NepiecieÅ¡ama.
+GAuthenticator.Username:LietotÄja VÄrds:
+GAuthenticator.Username_Tooltip:Ievadiet Å¡eit jÅ«su lietotÄjvÄrdu
+#**************************
+#
+#***** General Messages *****
+# 0 - A String representing the name and method of the class in question.
+General.Apply:Lietot
+General.Apply_Tooltip:Pielietot patreizÄjos uzstatÄ«jumus, bet neiziet no dialoga
+General.Browse:PÄrlÅ«kot...
+General.Cancel:Atcelt
+General.Cancel_Tooltip:Atcelt izmaiÅas (neatsauks jebkuru jau pielietotu izmaiÅu)
+General.Close:AizvÄrt
+General.Close_Tooltip:AizvÄrt Å¡o dialoglodziÅu
+General.Edit:RediÄ£Ät VÄrtÄ«bu
+General.Error:KÄŒÅ«da
+General.No:NÄ
+General.NotSunJava:Java vendor: {0}\nIevÄrojiet, ka BibliotekÄra Interfeiss ir ticis attÄ«stÄ«ts un testÄts ar Java no Sun Microsystems.
+General.OK:OK
+General.OK_Tooltip:AkceptÄt patreizÄjos iestatÄ«jumus un iziet no dialoga
+General.Open:AtvÄrt
+General.Outstanding_Processes:<html>BibliotekÄra Interfeiss nevar pilnÄ«gi beigt darbu, kamÄr visas programmas<br>startÄtas ar BibliotekÄra Interfeisu arÄ« nav pabeigtas.</html>
+General.Outstanding_Processes_Title:GaidoÅ¡s lai Izietu
+General.Pure_Cancel_Tooltip:PÄrtraukt Å¡o darbÄ«bu (izmaiÅas netiks veiktas)
+General.Review_Output:LÅ«dzu pÄrlÅ«kojiet izvadu zemÄk:
+General.Usage:LietoÅ¡ana: {0} <params>\nVisi parametri ir neobligÄti, bet BibliotekÄra Interfeiss var nojukt darbÄ, ja -gsdl un -library nav uzstÄdÄ«ti.\n -gsdl <path> : NorÄda ceÄŒu uz gsdl\n - library <path> : CeÄŒu uz cgi-bin\n -mozilla <path> : NorÄda ceÄŒu uz mozilla\n -mirror : AtÄŒauj web-mirroring kontroles\n -laf [java|windows|motif|mac] : Look and feel\n debug : AtÄŒauj kÄŒÅ«du paziÅojumus\n -no_load : NeielÄdÄt iepriekÅ¡ atvÄrtu kolekciju\n -load <path> : IelÄdÄt norÄdÄ«to kolekciju
+General.View:JaunÄ VÄrtÄ«ba
+General.Warning:BrÄ«dinÄjums
+General.Yes:JÄ
+#****************************
+#
+#***** GShell *****
+GShell.BadArgument:Arguments {0} ir nepareizs.  
+GShell.BadArgumentValue:Argumeta {0} vÄrtÄ«ba ir nepareiza.  
+GShell.BadPluginOptions:Nepareiz arguments nodots spraudnim {0}.  
+GShell.BadClassifierOptions:Sastapts slikts arguments klasifikatorÄ {0}.  
+GShell.Build.Auxilary:PalÄ«gdatÅu radÄ«Å¡ana un apstrÄde...
+GShell.Build.BuildBegun1:************** VeidoÅ¡ana  UzsÄkta **************
+GShell.Build.BuildCancelled:**************   AnulÄts    **************
+GShell.Build.BuildComplete1:************** VeidoÅ¡ana Pabeigta **************
+GShell.Build.CompressText:Teksta SaspieÅ¡ana...
+GShell.Build.Index:Indeksa radÄ«Å¡ana bÄzÄjoties uz {0-index source and level}...
+GShell.Build.InfoDatabase:InformÄcijas datu bÄzes radÄ«Å¡ana...
+GShell.Build.Phind:Klasifikatora Phind Ä£enerÄÅ¡ana. Tas var aizÅemt zinÄmu laiku...
+GShell.Command:Komanda
+GShell.Failure:Komanda izpildÄ«jÄs nesekmÄ«gi.
+GShell.Import.FileNotProcessed:Datne {0-target file path} bija atpazÄ«ta, bet nevarÄja tikt apstrÄdÄta ar kÄdu no spraudÅiem (plugin).
+GShell.Import.FileNotRecognised:Datne {0-target file path} nebija atpazÄ«ta ne ar vienu spraudni.
+GShell.Import.FileProcessing:Datne {0-target file path} tiek apstrÄdÄta ar {1-plugin name}.
+GShell.Import.FileProcessingError:Datnes {0-target file path} apstrÄdes process sadÅ«rÄs ar kÄŒÅ«du.
+GShell.Import.ImportBegun1:************** Imports  SÄcies **************
+GShell.Import.ImportComplete1:************** Imports Pabeigts **************
+GShell.Import.ImportComplete2:{0-number documents considered} dokumenti bija izskatÄ«ti apstrÄdei:
+GShell.Import.ImportComplete2.1:1 dokuments bija izskatÄ«ts apstrÄdei:
+GShell.Import.ImportComplete.Processed:{0-number processed} dokumenti bija apstrÄdÄti un iekÄŒauti kolekcijÄ.
+GShell.Import.ImportComplete.Processed.1:1 dokuments bija apstrÄdÄts un iekÄŒauts kolekcijÄ.
+GShell.Import.ImportComplete.Blocked:{0-number blocked} bija atturÄti no pievienoÅ¡anas ar spraudÅiem (tÄdi kÄ web lappuÅ¡u attÄli).
+GShell.Import.ImportComplete.Blocked.1:1 bija atturÄts no pievienoÅ¡anas ar spraudÅiem (tÄdi kÄ web lappuÅ¡u attÄli).
+GShell.Import.ImportComplete.Ignored:{0-number ignored} bija neatpazÄ«ti.
+GShell.Import.ImportComplete.Ignored.1:1 bija neatpazÄ«ts.
+GShell.Import.ImportComplete.Failed:{0-number failed} bija noraidÄ«ti.
+GShell.Import.ImportComplete.Failed.1:1 bija noraidÄ«ts.
+GShell.Import.ImportComplete3:\n
+GShell.Parsing_Metadata_Complete:ArhivÄtu metadatu izvilkÅ¡ana pabeigta.
+GShell.Parsing_Metadata_Start:Jaunu metadatu izvilkÅ¡ana no arhÄ«vu datnÄm.
+GShell.Success:Komanda pabeigta.
+#*********************
+#
+#***** GUI *****
+# Currently Enabled and Disabled display the same text but in different
+# colours. If necessary this can be changed.
+GUI.Create:RadÄ«t
+GUI.Create_Tooltip:Veidot jÅ«su kolekciju izmantojot Greenstone
+GUI.Design:Dizains
+GUI.Design_Tooltip:JÅ«su kolekcijas funkcionalitÄtes un izskata dizains
+GUI.Download:LejupielÄde
+GUI.Download_Tooltip:LejupielÄdÄt resursus no Interneta jÅ«su kolekcijai
+GUI.Enrich:PagÄtinÄt
+GUI.Enrich_Tooltip:NozÄ«mÄt metadatus datnÄm jÅ«su kolekcijÄ
+GUI.Gather:UzkrÄt
+GUI.Gather_Tooltip:IzvÄlÄties datnes, kuras iekÄŒaut jÅ«su kolekcijÄ
+#***************
+#
+#***** HELP *****
+Help.Contents:Saturs
+Help.Title:BibliotekÄra Interfeisa PalÄ«ga Lappuses
+#****************************
+#
+#***** Invalid Metadata ******
+InvalidMetadata.Message:Å is metadatu elements ir ierobeÅŸots ar iepriekÅ¡definÄtu vÄrtÄ«bu kopu. LÅ«dzu izvÄlÄties vienu no eksistÄjoÅ¡Äm vÄrtÄ«bÄm.  
+InvalidMetadata.Title:Nepareizi Metadati  
+#***************************
+#
+#***** LockFileDialog *****
+LockFileDialog.Cancel_Tooltip:NepÄrtvert slÄdzejdatnes kontroli (kolekcija netiks atvÄrta)
+LockFileDialog.Date:DatÄjums
+LockFileDialog.Error:error
+LockFileDialog.Lockfile_Message_One:SlÄdzÄjdatnes (lock file) klÄtbÅ«tne norÄda uz to, ka kolekcija ir jau atvÄrta.
+LockFileDialog.Lockfile_Message_Two:Vai jÅ«s gribat 'pÄrtvert' slÄdzÄjdatnes kontroli?
+LockFileDialog.Machine:Kur
+LockFileDialog.Name:Nosaukums
+LockFileDialog.OK_Tooltip:PÄrtvert slÄdzÄjdatnes kontroli
+LockFileDialog.Title:SlÄdzÄjdatne AtklÄta
+LockFileDialog.User:KurÅ¡
+#********************
+#
+#*****MappingPrompt **********
+MappingPrompt.File:Mape
+MappingPrompt.Map:RadÄ«t ÄªsinÄjumikonu
+MappingPrompt.Name:Nosaukums
+MappingPrompt.Title:Uzdot Mapes ÄªsinÄjumikonu
+MappingPrompt.Unmap:NoÅemt ÄªsinÄjumikonu
+#*******************
+#
+#***** Menu Options *****
+Menu.Collapse:AizvÄrt Mapi
+Menu.Edit:RediÄ£Ät
+Menu.Edit_Copy:KopÄt (ctrl-c)
+Menu.Edit_Cut:Izgriezt (ctrl-x)
+Menu.Edit_Paste:IelÄ«mÄt (ctrl-v)
+Menu.Expand:AtvÄrt Mapi
+Menu.Explode_Metadata_Database:SadalÄ«t metadatu datu bÄzi
+Menu.File:Datne
+Menu.File_Associations:Datnes AsociÄcijas...
+Menu.File_CDimage:IerakstÄ«t CD/DVD attÄlu...
+Menu.File_Close:AizvÄrt
+Menu.File_Delete:IzdzÄst...
+Menu.File_Exit:Iziet
+Menu.File_ExportAs:EksportÄt...
+Menu.File_New:Jauns...
+Menu.File_Open:AtvÄrt...
+Menu.File_Options:IestatÄ«jumi...
+Menu.File_Save:SaglabÄt
+Menu.Help:PalÄ«gs
+Menu.Help_About:Par...
+Menu.Metadata_View:NozÄ«mÄtie metadati {0}
+Menu.Open_Externally:AtvÄrt ar ÄrÄjo programmu
+#********************
+#
+#***** MetaAudit *****
+MetaAudit.Close:AizvÄrt
+MetaAudit.Close_Tooltip:AizvÄrt Å¡o dialoglodziÅu
+MetaAudit.Title:Visi Metadati
+#*********************
+#
+#***** Metadata *****
+Metadata.Element:Elements
+Metadata.Value:VÄrtÄ«ba
+MetadataSet.Files:Metadatu Kopas Datnes
+#*********************************************
+#
+#******** MetadataImportMappingPrompt *********
+MIMP.Add:Pievienot
+MIMP.Add_Tooltip:Pievienot metadatu elementu atlasÄ«tai kopai
+MIMP.Ignore:IgnorÄt
+MIMP.Ignore_Tooltip:IgnorÄt Å¡o metadatu elementu
+MIMP.Instructions:Metadatu elements {0} nevar bÅ«t automÄtiski importÄts kolekcijÄ. IzvÄlieties metadatu kopu un sekojoÅ¡i:\n(1) nospiediet  'Pievienot', lai pievienotu metadatus Å¡ai kopai (pie nosacÄ«juma, ja kopÄ jau nÄesot metadatu {0}), vai\n(2) izvÄlieties elementu un nospiediet  'IekÄŒaut', lai importÄtu {0} metadatus Å¡ajÄ elementÄ, vai\n(3) ignorÄjiet Å¡o metadatu elementu.
+MIMP.Merge:IekÄŒaut
+MIMP.Merge_Tooltip:IekÄŒaut metadatu elelementu specificÄtÄ elementÄ izvÄlÄtÄ kopÄ
+MIMP.Source_Element:Avota metadatu elements:
+MIMP.Target_Element:MÄrÄ·a metadatu elements:
+MIMP.Target_Set:MÄrÄ·a metadatu kopa:
+MIMP.Title:NepieceÅ¡ama IekÄŒauÅ¡anas DarbÄ«ba.
+#*****************************
+#
+#***** Mirroring *****
+Mirroring.ClearCache:IztÄ«rÄ«t KeÅ¡u
+Mirroring.ClearCache_Tooltip:IzdzÄst visas lejupielÄdÄtas datnes
+Mirroring.Download:LejupielÄde
+Mirroring.Download_Tooltip:SÄkt jaunu lejupielÄdes uzdevumu
+Mirroring.Download_Controls:LejupielÄdes UzstatÄ«jumi
+Mirroring.Download_Depth:LejupielÄdes DziÄŒums:
+Mirroring.Download_Depth.Zero:Nulle
+Mirroring.Download_Depth.Unlimited:NeierobeÅŸots
+Mirroring.Download_Depth_Tooltip:Cik daudz hipersaites dziÄŒumÄ iet lejupielÄdÄjot
+Mirroring.Download_OnlyHTML:LejupielÄdÄt tikai HTML datnes (ignorÄt asociÄtÄs datnes,piem., attÄlus un stila lapas)  
+Mirroring.DownloadJob.Close:AizvÄrt
+Mirroring.DownloadJob.Close_Tooltip:NoÅemt Å¡o uzdevumu no saraksta, apstÄdinot to, ja tas patreiz izpildÄs
+Mirroring.DownloadJob.Downloading:{0} lejupielÄde
+Mirroring.DownloadJob.Download_Complete:LejupielÄde pabeigta
+Mirroring.DownloadJob.Download_Stopped:LejupielÄde apstÄdinÄta
+Mirroring.DownloadJob.Download_Progress:LejupielÄde ir progresÄ
+Mirroring.DownloadJob.Log:SkatÄ«t Log
+Mirroring.DownloadJob.Log_Tooltip:SkatÄ«t detalizÄtÄk par Å¡o lejupielÄdi
+Mirroring.DownloadJob.Pause:Pauze
+Mirroring.DownloadJob.Pause_Tooltip:PauzÄt Å¡o lejupielÄdi
+Mirroring.DownloadJob.Resume:AtsÄkt
+Mirroring.DownloadJob.Resume_Tooltip:AtsÄkt Å¡o lejupielÄdi
+Mirroring.DownloadJob.Status:LejupielÄdÄti {0} no {1} datnÄm ({2} brÄ«dinÄjumi, {3} kÄŒÅ«das)
+Mirroring.DownloadJob.Waiting:Gaida lai sÄktu
+Mirroring.DownloadJob.Waiting_User:Gaida uz lietotÄja darbÄ«bu
+Mirroring.Higher_Directories:Tikai atspoguÄŒot datnes zem Å¡Ä URL
+Mirroring.Invalid_URL:IevadÄ«tais URL nav pareizs. LÅ«dzu izlabojiet.
+Mirroring.Invalid_URL_Title:Nepareizs URL
+Mirroring.Preferences:IestatÄ«jumi...
+Mirroring.Preferences_Tooltip:AtÄŒaut starpnieku (proxy) un/vai rediÄ£Ät starpnieka iestatÄ«jumus
+Mirroring.Same_Host:Tikai atspoguÄŒot datnes Å¡ajÄ paÅ¡Ä vietnÄ
+Mirroring.Source_URL:Avota URL:
+Mirroring.Source_URL_Tooltip:LejupielÄdes URL
+#*********************
+#
+#***** Missing EXEC *****
+MissingEXEC.Message:BrÄ«dinÄjums! JÅ«s nevarÄsiet redzÄt jÅ«su jauno kolekciju no BibliotekÄra Interfeisa, ja jÅ«s nenorÄdÄ«siet ceÄŒu uz Greenstone BibliotekÄra Webserveri. JÅ«s to varat tagad ievadÄ«t teksta lauciÅÄ zemÄk, vai vÄlÄk aizejot uz IestatÄ«jumi un izvÄloties Savienojums tabulatoru. Atcerieties, ka pareizam url jÄsÄkas ar protokolu  "http://", un jÄbeidzas ar izpildÄmÄs programmas nosaukumu ("gsdl" Greenstone lokÄlas bibliotÄkas servera gadÄ«jumÄ, "library" visu pÄrejo web serveru gadÄ«jumos (piem., Apache)).  
+MissingEXEC.Title:IztrÅ«kst Greenstone BibliotÄkas Adrese
+#***** Missing EXEC_GS3 *****
+MissingEXEC_GS3.Message:BrÄ«dinÄjums! JÅ«s nevarÄsiet redzÄt jÅ«su jauno kolekciju no BibliotekÄra Interfeisa, ja jÅ«s nenorÄdÄ«siet ceÄŒu uz Greenstone kontekstu lokÄli darbojoÅ¡os Tomcat WebserverÄ«. JÅ«s to varat tagad ievadÄ«t teksta lauciÅÄ zemÄk, vai vÄlÄk, aizejot uz IestatÄ«jumi un izvÄloties Savienojums tabulatoru. Atcerieties, ka pareizam url jÄsÄkas ar protokolu  http://. Adrese pÄc noklusÄjuma ir http://localhost:8080/greenstone3.  
+MissingEXEC_GS3.Title:IztrÅ«kst Greenstone 3 BibliotÄkas Adrese  
+#***** Missing GLIServer *****
+MissingGLIServer.Message:BrÄ«dinÄjums! JÅ«s nevarÄsiet strÄdÄt ar kolekcijÄm, izmantojot BibliotekÄra Interfeisu,
+MissingGLIServer.Title:IztrÅ«kst GLIServera Adrese  
+#***** Missing GSDL *****
+MissingGSDL.Message:BrÄ«dinÄjums! JÅ«s nevarÄsiet izmantot visas BibliotekÄra Interfeisa iespÄjas bez instalÄtÄs Greenstone DigitÄlÄs BibliotÄkas lokÄlÄs kopijas. LÅ«dzu, pÄrbaudiet jÅ«su instalÄciju, un ceÄŒus BibliotekÄra Interfeisa pakeÅ¡datnÄ vai skripta datnÄ.
+MissingGSDL.Title:IztrÅ«kst Greenstone CeÄŒÅ¡
+#***** Missing PERL *****
+MissingPERL.Message:BrÄ«dinÄjums! JÅ«s nevarÄsiet radÄ«t jaunas kolekcijas, kÄ arÄ« veidot esoÅ¡as, bez uzinstalÄtÄ PERL. BibliotekÄra Interfeiss nevarÄja atrast PERL jÅ«su sistÄmÄ. LÅ«dzu, pÄrbaudiet jÅ«su sistÄmas instalÄciju un ceÄŒus, kuri specificÄti BibliotekÄra Interfeisa pakeÅ¡datnÄ vai skripta datnÄ.
+MissingPERL.Title:IztrÅ«kst PERL CeÄŒÅ¡
+#******* MissingWGET ********
+MissingWGET.Message:BrÄ«dinÄjums! Web atspoguÄŒoÅ¡ana ir liegta, jo BibliotekÄra Interfeiss nesekmÄ«gi mÄÄ£inÄja atrast atbilstoÅ¡as versijas Wget. LÅ«dzu, pÄrbaudiet jÅ«su sistÄmas instalÄciju un ceÄŒus, kuri specificÄti BibliotekÄra Interfeisa pakeÅ¡datnÄ vai skripta datnÄ.
+MissingWGET.Title:IztrÅ«kst WGet
+#******* MissingImageMagick ********
+MissingImageMagick.Message:BrÄ«dinÄjums! BibliotekÄra Interfeiss nevar atrast attiecÄ«go ImageMagick versiju, un tÄpÄc ImagePlug nedarbosies. LÅ«dzu, uzinstalÄjiet ImageMagick, ja jÅ«s vÄlÄties veidot attÄlu kolekcijas.
+MissingImageMagick.Title:IztrÅ«kst ImageMagick  
+#*****************************
+#
+#***** New Session *****
+NewCollectionPrompt.Base_Collection:BÄzÄt Å¡o kolekciju uz:
+NewCollectionPrompt.Base_Collection_Tooltip:IzvÄlieties esoÅ¡o kolekciju uz kuras bÄzÄt jauno kolekciju
+NewCollectionPrompt.Collection_Description:Satura apraksts:
+#NewCollectionPrompt.Collection_Email:Author's Email:
+NewCollectionPrompt.Collection_Name:Kolekcijas mape:
+#NewCollectionPrompt.Collection_Name_Tooltip:Short collection name, used internally (must be 8 characters or less)
+NewCollectionPrompt.Error:KÄŒÅ«da jaunajÄ kolekcijÄ.
+NewCollectionPrompt.Instructions:Lai radÄ«tu jaunu kolekciju, aizpildiet lauciÅus zemÄk.
+NewCollectionPrompt.Metadata_Elements:Elementi izvÄlÄtajÄ kopÄ:
+NewCollectionPrompt.Metadata_Instructions1:IzvÄlieties rÅ«tiÅas blakus metadatu kopÄm, kuras iekÄŒaut jÅ«su kolekcijÄ.
+NewCollectionPrompt.Metadata_Instructions2:(PiezÄ«me: JÅ«s varat pievienot jaunas kopas vÄlÄk).
+NewCollectionPrompt.Metadata_Title_Existing:IzvÄlieties metadatu kopas.
+#NewCollectionPrompt.Name_Error:You have either failed to enter a name for the collection, or the name you have choosen is already in use. Please correct.
+NewCollectionPrompt.NewCollection:-- Jauna Kolekcija --
+NewCollectionPrompt.Select_MDS:Pieejamas metadatu kopas:
+NewCollectionPrompt.Title:RadÄ«t jaunu Kolekciju.
+NewCollectionPrompt.Title_Clash:Nosaukums, kuru jÅ«s izvÄlÄjaties jÅ«su kolekcijai, jau tiek izmantots. TurpinÄt?
+NewCollectionPrompt.Title_Error:Nosaukuma lauciÅam jÄbÅ«t aizpildÄ«tam. LÅ«dzu izlabojiet.
+#***** New Folder OrFilePrompt *****
+NewFolderOrFilePrompt.Default_File_Name:fiktÄ«vs
+NewFolderOrFilePrompt.Default_Folder_Name:jauna mape
+NewFolderOrFilePrompt.Destination_Name:SaÅÄmÄjMape
+NewFolderOrFilePrompt.File_Name:Datnes VÄrds
+NewFolderOrFilePrompt.File_Name_Tooltip:Ievadiet nosaukumu jaunai datnei
+NewFolderOrFilePrompt.Folder_Name:Mapes VÄrds
+NewFolderOrFilePrompt.Folder_Name_Tooltip:Ievadiet nosaukumu jaunai mapei
+NewFolderOrFilePrompt.Title_Folder:RadÄ«t jaunu mapi
+NewFolderOrFilePrompt.Title_File:RadÄ«t jaunu fiktÄ«vu dokumentu
+#***********************
+#
+NoMetadataSetsSelected.Message:Ja jÅ«s radÄ«siet tagad kolekciju, tad tai nebÅ«s sÄkotnÄjas metadatu kopas. JÅ«s nevarÄsiet importÄt vai pieÅ¡Ä·irt jebkÄdus metadatus, lÄ«dz nebÅ«s importÄta vai pievienota kopa jÅ«su kolekcijai. Vai jÅ«s vÄlaties turpinÄt?
+NoMetadataSetsSelected.Title:Nav Metadatu Kopa izvÄlÄta
+#**********************
+#
+#******* OldWGET *******
+NoPluginExpectedToProcessFile.Message:IzskatÄs, ka neviens no Greenstone spraudÅiem varÄtu apstrÄdÄt datni "{0}". PÄrbaudiet, ka datnei ir pareizs paplaÅ¡inÄjums. Ja tas ir pareizs, tad jums vajadzÄtu izmantot UnknownPlug spraudni, lai apstrÄdÄtu Å¡o datni.
+NoPluginExpectedToProcessFile.Title:Nav paredzamÄ spraudÅa datnes apstrÄdei
+#**********************
+#
+#******* OldWGET *******
+OldWGET.Message:BrÄ«dinÄjums! JÅ«su instalÄtai Wget versijai ir zinÄma kÄŒÅ«da, kad tiek atspoguÄŒotas datnes, kurÄs ir URL, kas satur kodÄtas zÄ«mes, tÄdas kÄ, atstarpi  un tildi. MÄs rekomendÄjam instalÄt Wget 1.9 un augstÄk.
+OldWGET.Title:Vecs Wget
+#***********************
+#
+#***** OpenCollectionDialog *****
+OpenCollectionDialog.Available_Collections:Pieejamas Kolekcijas
+OpenCollectionDialog.Browse:PÄrlÅ«kot
+OpenCollectionDialog.Browse_Tooltip:IzvÄlieties kolekciju no jÅ«su datÅu telpas
+OpenCollectionDialog.Collection:Greenstone Kolekcija (".col")
+OpenCollectionDialog.Description:Kolekcijas Apraksts
+OpenCollectionDialog.Locked_Collection:Greenstone kolekcija jau tiek lietota
+OpenCollectionDialog.No_Description:LÅ«dzu izvÄlieties greenstone kolekciju (".col" datne), lai redzÄtu aprakstu.
+OpenCollectionDialog.Normal_Collection:Greenstone kolekcija
+OpenCollectionDialog.Open:AtvÄrt
+OpenCollectionDialog.Open_Tooltip:IelÄdÄt izvÄlÄto kolekciju BibliotekÄra InterfeisÄ
+OpenCollectionDialog.Title:AtvÄrt Greenstone Kolekciju
+#**********************
+#
+#***** Options Pane inside CreatePane *****
+OptionsPane.Cancelled:- anulÄts
+OptionsPane.LogHistory:Log vÄsture
+OptionsPane.Successful:- sekmÄ«gi
+OptionsPane.Unknown:- nezinÄms
+OptionsPane.Unsuccessful:- nesekmÄ«gi
+#*******************
+#
+#***** Preferences *****
+Preferences:IestatÄ«jumi
+Preferences.Connection:Savienojums
+Preferences.Connection_Tooltip:UzstÄdiet URL uz greenstone bibliotÄku un nokonfigurÄjiet starpniekservera savienojumu, ja vajadzÄ«gs
+Preferences.Connection.GLIServer_URL:Greenstone gliserver URL:  
+Preferences.Connection.GLIServer_URL_Tooltip:Greenstone "gliserver" CGI skripta URL  
+Preferences.Connection.Library_Path:BibliotÄkas CeÄŒÅ¡:
+Preferences.Connection.Library_Path_GS3:Greenstone Web CeÄŒÅ¡:
+Preferences.Connection.Library_Path_Tooltip:Greenstone web-servera URL
+Preferences.Connection.Library_Path_Tooltip_GS3:Greenstone web-servera URL
+Preferences.Connection.ProgramCommand:PriekÅ¡skatÄ«juma Komanda:
+Preferences.Connection.ProgramCommand_Tooltip:Programmas palaiÅ¡anas komanda, lai skatÄ«tu kolekcijas priekÅ¡skatÄ«jumu. Atcerieties, ka jÄizmanto %1, kÄ kolekcijas adreses vietturi, un dubultpÄdiÅas, kur nepiecieÅ¡ams.
+Preferences.Connection.Proxy_Host:Starpniekserveris:
+Preferences.Connection.Proxy_Host_Tooltip:JÅ«su starpniekservera adrese
+Preferences.Connection.Proxy_Port:Starpniekservera pieslÄgvieta:
+Preferences.Connection.Proxy_Port_Tooltip:JÅ«su starpniekservera pieslÄgvietas numurs
+Preferences.Connection.Servlet:ServersÄ«klietotne:
+Preferences.Connection.Servlet_Tooltip:ServersÄ«klietotne izmantojama, lai skatÄ«tu jÅ«su vietni
+Preferences.Connection.Servlet_Tooltip2:ServersÄ«klietotne nav specificÄta Å¡ai vietnei. JÅ«s joprojÄm varat veidot kolekcijas, bet jÅ«s nevarÄsiet tÄs skatÄ«t.
+Preferences.Connection.Site:Vietne:
+Preferences.Connection.Site_Tooltip:Vietne kurÄ jÅ«s gribat strÄdÄt
+Preferences.Connection.Use_Proxy:Izmantot starpniekservera savienojumu?
+Preferences.General:VispÄrÄ«gs
+Preferences.General_Tooltip:Uzdot daÅŸus vispÄrigus iestatÄ«jumus
+Preferences.General.Email:LietotÄja Epasts:
+Preferences.General.Email_Tooltip:Epasta adrese automÄtiski izmantojama jebkurai kolekcijai radÄ«tai ar GBI
+Preferences.General.Font:Fonts:
+Preferences.General.Font_Tooltip:Fonts izmantojams GBI interfeisÄ.
+Preferences.General.Interface_Language:Interfeisa Valoda:
+Preferences.General.Interface_Language_Tooltip:IzvÄlieties valodu, kurÄ interfeiss un tÄ kontroles tiktu parÄdÄ«ti.
+Preferences.General.Restart_Required:GBI (Greenstone BibliotekÄra Interfeisam) tagad jÄrestartÄ, lai pabeigtu savu interfeisa izmaiÅu aktualizÄciju.
+Preferences.General.Show_File_Size:RÄdÄ«t datÅu izmÄrus
+Preferences.General.Show_File_Size_Tooltip:RÄdÄ«t datÅu izmÄrus pie katras ieejas DarbatelpÄ un Kolekcijas datÅu kokÄ.
+Preferences.General.View_Extracted_Metadata:SkatÄ«t Izvilktus Metadatus
+Preferences.General.View_Extracted_Metadata_Tooltip:ParÄdÄ«t greenstone spraudÅu izvilktos metadatus metadatu sarakstÄ BagÄtinÄÅ¡anas panelÄ«.
+Preferences.Mode:ReÅŸÄ«ms
+Preferences.Mode_Tooltip:NokliÅ¡Ä·iniet uz ieeju, lai izvÄletos piemÄrotu operÄÅ¡anas lÄ«meni
+Preferences.Mode.Assistant:BibliotekÄra Asistents
+Preferences.Mode.Assistant_Description:Izmantojiet Å¡o iestatÄ«jumu, lai iegÅ«tu piekÄŒuvi Greenstone BibliotekÄra Interfeisa pamata iespÄjÄm: pievienot dokumentus un metadatus kolekcijÄm, jauno kolekciju radÄ«Å¡ana, kuru struktÅ«ra atspoguÄŒo jau esoÅ¡as kolekcijas, un kolekciju veidoÅ¡ana.
+Preferences.Mode.Librarian:BibliotekÄrs
+Preferences.Mode.Librarian_Description:Å is iestatÄ«jums ÄŒauj normÄli izmantot Greenstone BibliotekÄra Interfeisu: radÄ«t un noformÄt jaunas kolekcijas, pievienot dokumentus un metadatus kolekcijÄm, jaunu kolekciju noformÄÅ¡anu (dizainu), un kolekciju veidoÅ¡anu (bÅ«vÄÅ¡anu).
+Preferences.Mode.Systems:BibliotÄku SistÄmu SpeciÄlists
+Preferences.Mode.Systems_Description:Å is iestatÄ«jums atÄŒauj pilnu Greenstone BibliotekÄra Interfeisa izmantoÅ¡anu. Lai izmantotu visu iespÄju priekÅ¡rocÄ«bas, jums bÅ«s nepiecieÅ¡ams mÄcÄt formulÄt regulÄrÄs izteiksmes.
+Preferences.Mode.Expert:Eksperts
+Preferences.Mode.Expert_Description:Å is iestatÄ«jums ÄŒauj ekspertam izmantot Greenstone BibliotekÄra Interfeisu. Tas tiek rekomendÄts lietotÄjiem, kuri ir pieredzÄjuÅ¡i darbam ar Greenstone, un ir spÄjÄ«gi veikt kÄŒÅ«du laboÅ¡anas uzdevumus, kas prasa interpretÄt atkÄŒÅ«doÅ¡anas izvadi no PERL skriptiem. Visas Greenstone BibliotekÄra Interfeisa iespÄjas ir atÄŒautas.
+Preferences.Warnings:BrÄ«dinÄjumi
+Preferences.Warnings_Tooltip:AtÄŒaut vai aizliegt daÅŸÄdus brÄ«dinÄjumu dialogus
+Preferences.Workflow:DarbplÅ«sma
+Preferences.Workflow_Tooltip:IestÄdÄ«t interfeisa darbplÅ«smu: noteikt, kurus skatus (tabulÄtorus) atÄŒaut
+Preferences.Workflow.Create:RadÄ«t - Veidot jÅ«su kolekciju izmantojot Greenstone
+Preferences.Workflow.Design:Dezains - IzmainÄ«t kolekcijas Ärieni
+Preferences.Workflow.Download:LejupielÄde - LejupielÄdÄt web-bÄzÄtos resursus
+Preferences.Workflow.Enrich:BagÄtinÄt - AprakstÄ«t ar metadatiem
+Preferences.Workflow.Gather:UzkrÄt - AtlasÄ«t datnes kolekcijai
+Preferences.Workflow.Predefined.Label:IepriekÅ¡noteiktas DarbplÅ«smas
+Preferences.Workflow.Title:IzvÄlieties rÅ«tiÅu, lai atÄŒautu skatu
+#**********************
+#
+#**** PreviewCommandDialog *******
+PreviewCommandDialog.Instructions:Ievadiet komandu, programmas palaiÅ¡anai, lai skatÄ«tu kolekcijas priekÅ¡skatÄ«jumu. Atcerieties izmantot %1, kÄ kolekcijas adreses vietturi, un dubultpÄdiÅas kur nepiecieÅ¡ams.
+PreviewCommandDialog.Title:PriekÅ¡skatÄ«juma Komanda
+#**********************
+#
+#***** Remote Greenstone Server *****
+RemoteGreenstoneServer.Authentication_Message:LÅ«dzu ievadiet jÅ«su Greenstone lietotÄjvÄrdu un paroli:  
+RemoteGreenstoneServer.Error:AtgadÄ«jÄs kÄŒÅ«da uz attÄlÄ Greenstone servera veicot Å¡o operÄciju:\n{0-Error message}  
+RemoteGreenstoneServer.Error_Title:AttÄlÄ Greenstone Servera KÄŒÅ«da  
+RemoteGreenstoneServer.Progress:AttÄlÄ Greenstone Servera Progress:  
+RemoteGreenstoneServer.Steal_Lock_Message:Kolekciju patreiz lieto lietotÄjs '{0-User name}'.\nVai jÅ«s vÄlaties pÄrtvert
+#**********************
+#
+#***** Rename Prompt *****
+RenamePrompt.Name:Nosaukums:  
+RenamePrompt.Title:PÄrdÄvÄt datni/mapi  
+#**********************
+#
+#***** Replace Prompt *****
+ReplacePrompt.Title:Aizvieto datni ar ...  
+#**********************
+#
+#***** Save Collection Box *****
+SaveCollectionBox.File_Name:Datnes VÄrds:
+SaveCollectionBox.Files_Of_Type:DatÅu Tips:
+SaveCollectionBox.Look_In:IelÅ«koties:
+#**********************
+#
+#***** Save Progress Box *******
+SaveProgressDialog.Title:Kolekcijas SaglabÄÅ¡ana
+#*******************************
+#
+Server.QuitManual:BibliotekÄra Interfeiss nevarÄja aizvÄrt lokÄlo\n bibliotÄkas serveri automÄtiski. LÅ«dzu izejiet no servera\nmanuÄli, noklikÅ¡Ä·inot, uz tÄ augÅ¡ÄjÄ stÅ«rÄ« labÄs\npuses krusta ikonas.
+Server.QuitTimeOut:Greenstone lokÄlÄ bibliotÄka nav atbildÄjusi uz\nautomÄtisko aizvÄrt komandu 60 sekundes. Vai jÅ«s\nvÄlaties gaidÄ«t vÄl minÅ«ti?
+#
+#***** Sources *****
+Source.General:VispÄrÄ«gs
+#*******************
+#
+#***** TitleClash *****
+TitleClashes.Message:Nosaukums, kuru jÅ«s esat izvÄlÄjuÅ¡ies jÅ«su kolekcijai, tiek jau lietots. TurpinÄt?
+TitleClashes.Title:IevadÄ«tÄ Nosaukuma nesaskaÅas
+#**********************
+#
+#***** Trees *****
+Tree.DownloadedFiles:LejupielÄdÄtÄs Datnes
+Tree.Files:datnes
+Tree.Home:SÄkummape ({0})
+Tree.Root:LokÄlÄ DatÅutelpa
+Tree.World:Dokumenti Greenstone KolekcijÄs
+#***********************
+#
+#***** Warning Dialog *****
+WarningDialog.Dont_Show_Again:NerÄdÄ«t Å¡o brÄ«dinÄjumu vÄlreiz
+WarningDialog.Dont_Show_Again_Message:NerÄdÄ«t Å¡o paziÅojumu vÄlreiz
+WarningDialog.Invalid_Value:VÄrtÄ«ba, kuru jÅ«s esat ievadÄ«juÅ¡i vÄrtÄ«bas lauciÅÄ,\nnav pareiza specificÄtam rekvizÄ«tam.
+WarningDialog.Value:Ievadiet vÄrtÄ«bu:
+#
+#****** WGet *****
+WGet.Prompt:Wget AtspoguÄŒoÅ¡anas Klients
+#
+#****** Workflows *****
+Workflow.AllPanels:Visi paneÄŒi
+Workflow.LocalSourceCollectionBuilding:LokÄla avota kolekcijas veidoÅ¡ana
+Workflow.DocumentEnriching:Dokumenta bagÄtinÄÅ¡ana
+
+GEMS.Already_Loaded_Set_Error:JÅ«su izvÄletÄ metadatu kopa patreiz ir atvÄrta.
+GEMS.Element_Already_Exists:Elements ar Å¡o vÄrdu jau eksistÄ.
+GEMS.Set_Already_Exists:Kopa ar doto vÄrdutelpu jau eksistÄ.
+GEMS.Cannot_Delete_Core_Sets_Error:JÅ«s nevarat izdzÄst GBI kodola metadatu kopu.
+
+GEMS.Preferences.Selected_Languages_Tooltip:IzvÄlieties parÄdÄ«Å¡anas valodu:
+
+GEMS.Add_Attribute:Pievienot atribÅ«tu
+GEMS.Add_Attribute_Tooltip:Pievienot jaunu atribÅ«tu izvÄlÄtam vienumam
+GEMS.Add_Element:Pievienot elementu
+GEMS.Add_Element_Tooltip:Pievienot jaunu elementu izvÄlÄtai kopai
+GEMS.Add_Subelement:Pieviento apakÅ¡elementu
+GEMS.Add_Subelement_Tooltip:Pievienot jaunu apakÅ¡elementu izvÄlÄtam elementam
+GEMS.Add_Set:Pieviento Kopu
+GEMS.Attribute:AtribÅ«ts
+GEMS.Attribute_Already_Exists:Å is atribÅ«ts jau eksistÄ.
+GEMS.Attribute_Name_Tooltip:JaunÄ atribÅ«ta nosaukums
+GEMS.Attribute_Language_Tooltip:JaunÄ atribÅ«ta valoda
+GEMS.Attribute_Value_Tooltip:JaunÄ atribÅ«ta vÄrtÄ«ba
+GEMS.Attributes:AtribÅ«ti
+GEMS.Cannot_Undo:(Å¡Ä« darbÄ«ba nevar tikt atsaukta)
+GEMS.Cannot_Add_Elements_To_Greenstone_MDS:JÅ«s nevarat manuÄli pievienot elementus Greenstone Metadatiem. Ja\nnepiecieÅ¡ams radÄ«t jaunu kopu, tad ta vietÄ pievienojiet jÅ«su jauno elementu tam.
+GEMS.Confirm_Exit_Save:Vai jÅ«s nevÄlaties saglabÄt pirms izieÅ¡anas?
+GEMS.Confirm_Exit_Save_Title:SaglabÄt Pirms IzieÅ¡anas?
+GEMS.Confirm_Removal:Vai jÅ«s esat pÄrliecinÄti, ka gribat izdzÄst Å¡o {0}?
+GEMS.Confirm_Removal_Title:ApstiprinÄt IzdzÄÅ¡anu
+GEMS.Edit_Attribute:RediÄ£Ät AttribÅ«tu
+GEMS.Edit_Value:RediÄ£Ät VÄrtÄ«bu
+GEMS.Edit_Value_Tooltip:IzmainÄ«t izvÄlÄto vÄrtÄ«bu
+GEMS.Element:Elements
+GEMS.Element_Name_Tooltip:JaunÄ elementa nosaukums
+GEMS.Element_Details:Metadatu Elementa DetaÄŒas
+GEMS.Language:Valoda
+GEMS.Language_Code:Valoda
+GEMS.Name:Nosaukums
+GEMS.Namespace:VÄrdutelpa
+GEMS.New_Name:Jauns Nosaukums
+GEMS.No_Description:Apraksts nav atrasts.
+GEMS.No_Name:Nosaukums nav atrasts.
+GEMS.Open_Set:AtvÄrt Kopu
+GEMS.Remove_Attribute:NoÅemt attribÅ«tu
+GEMS.Remove_Attribute_Tooltip:IzdzÄst izvÄlÄto atribÅ«tu
+GEMS.Remove_Element:NoÅemt elementu
+GEMS.Remove_Element_Tooltip:IzdzÄst izvÄlÄto elementu no kopas
+GEMS.Remove_Set:NoÅemt kopu
+GEMS.Remove_Set_Tooltip:IzdzÄst izvÄlÄto kopu
+GEMS.Rename_Element:PÄrdÄvÄt elementu
+GEMS.Rename_Element_Tooltip:Elementa jauns nosaukums
+GEMS.Rename_Name_Tooltip:Metadatu kopas jaunais nosaukums
+GEMS.Rename_Namespace_Tooltip:Metadatu kopas unikÄlÄ vÄrdutelpa
+GEMS.Rename_Set:PÄrdÄvÄt kopu
+GEMS.Rename_Set_Tooltip:PÄrdÄvÄt metadatu kopu
+GEMS.Set:Kopa
+GEMS.Set_Details:Metadatu Kopas DetaÄŒas
+GEMS.Set_Name_Tooltip:JaunÄs metadatu kopas vÄrds (nosaukums)
+GEMS.Set_Namespace_Tooltip:UnikÄlÄ vÄrdutelpa jaunai metadatu kopai
+GEMS.Subelement_Name_Tooltip:JaunÄ apakÅ¡elementa nosaukums
+GEMS.Subelement_Already_Exists:ApakÅ¡elements ar Å¡o nosaukumu jau eksistÄ.
+GEMS.Target:Elements
+GEMS.Title:Greenstone Metadatu Kopu Redaktors
+GEMS.Value:VÄrtÄ«ba
+GEMS.Values:VÄrtÄ«bas
+GEMS.inheritMetadataSet:PÄrmantot no Metadatu kopas:
+GEMS.Add_Set.No_Inherit:NepÄrmantot
Index: main/tags/2.83/gli/classes/dictionary_mr.properties
===================================================================
--- main/tags/2.83/gli/classes/dictionary_mr.properties	(revision 21123)
+++ main/tags/2.83/gli/classes/dictionary_mr.properties	(revision 21123)
@@ -0,0 +1,1251 @@
+#*******************
+#** Language Orientation Property
+Component.Orientation:LTR
+
+#*******************
+#
+#***** AboutDialog *****
+AboutDialog.Acknowledgement:à€à€à€Ÿà€à€Ÿ à€®à€Ÿà€²à€à¥ à€¹à€à¥à€  
+AboutDialog.Date:(à€à€ªà¥à€°à€¿à€²  2009)  
+AboutDialog.Item0:à€
+à€ªà¥à€ à€žà¥à€«à¥à€à€µà¥à€
+à€° à€«à¥à€šà€¡à¥à€¶à€š (http://www.apache.org/)âŠ  
+AboutDialog.Item2:à€¡à€¬à¥à€²à¥à€¯à¥à€à¥à€ à€«à¥à€°à¥ à€žà¥à€«à¥à€à€µà¥à€
+à€° à€«à¥à€šà¥à€¡à¥à€¶à€š.à€à€šà€à¥à€ª.(http://www.gnu.org/software/wget/wget.html)  
+AboutDialog.Item3:à€à¥à€¯à¥à€«à€²à€¿à€¬  à€žà¥à€«à¥à€à€µà¥à€
+à€° à€«à¥à€šà€¡à¥à€¶à€š  (http://www.qfs.de/en/qflib/index.html)  
+AboutDialog.Item4:'ExtensionFileFilter.class' by Bruno Dumon and contributors (http://pollo.sourceforge.net/)  
+AboutDialog.Item5:'How to disable file renaming in file chooser' - vladi21 (http://www.experts-exchange.com/)  
+AboutDialog.Item6:'Autoscrolling' - Java Swing by Robert Eckstein, Marc Loy & Dave Wood (http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf)  
+AboutDialog.Item7:'Add ghosted drag images to your JTrees' - By Andrew J. Armstrong (http://www.javaworld.com/javaworld/javatips/jw-javatip114.html)  
+AboutDialog.Item8:'Stop annoying java.prefs error when you don't have superuser access' - Thanks to Walter Schatz  
+AboutDialog.Item9:à€šà€µà€¿à€š à€«à¥à€²à¥à€¡à€°, "à€°à€Šà¥à€Š à€à€°à€Ÿ" "à€®à€Šà€€" à€à€¿à€€à¥à€°à¥ à€žà€¿à€²à¥à€µà¥à€žà¥à€à€° à€¹à€¿à€°à¥à€°à€Ÿ à€¯à€Ÿà€à€à¥à€¯à€Ÿ à€à€¡à¥à€š à€®à€¿à€³à€€à¥à€². à€
+à€§à€¿à€ à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥ http://art.gnome.org/ à€¯à€Ÿ à€žà€à€à¥à€€ à€žà¥à€¥à€³à€Ÿà€µà€° à€à€Ÿ.   
+AboutDialog.Java_Req:Java is a trademark of Sun Microsystems Inc. The JRE is redistributed as per the Supplemental License Terms, found at http://java.sun.com/j2se/1.4.1/j2re-1_4_1_02-license.html  
+AboutDialog.Java_Req_One:à€à€°à€à€žà€ à€žà€¿à€à¥à€¯à¥à€°à€¿à€à¥, à€à€¯ à€à€š à€žà¥ à€²à€Ÿà€¯à€žà€šà¥à€žà€µà¥à€Šà€Ÿà€°à¥ à€¯à€Ÿà€à¥ à€à€€à¥à€ªà€Ÿà€Šà€š à€à¥à€²à¥ à€à€Ÿà€€à¥  
+AboutDialog.Java_Req_Two:http\://oss.software.ibm.com/icu4j/ à€à€¯à€¬à¥à€à€® à€²à€Ÿà€¯à€žà€šà¥à€ž  à€ªà€¹à€Ÿà€µà€¯à€Ÿà€ž à€®à€¿à€³à¥à€²  
+AboutDialog.Thanks:à€à€Ÿà€µà€Ÿ à€µà€¿à€·à€¯à¥à€à¥ à€®à€Ÿà€¹à€¿à€€à¥ à€µà¥à€¬ à€Šà¥à€£à€Ÿà€°à¥à€¯à€Ÿà€à€à¥ à€à€­à€Ÿà€°...  
+AboutDialog.Title:à€à¥à€¯à€Ÿà€µà€¿à€·à€¯à¥  
+AboutDialog.Title_One:à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€²à€Ÿà€¯à€¬à¥à€°à¥à€°à¥à€¯à€š à€à€à€à€°à€«à¥à€ž  
+AboutDialog.Title_Two:à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€
+à€à€à€¿à€à¥à€€ à€à¥à€°à€à€¥à€Ÿà€¯  
+AboutDialog.Copyright:à€à¥à€ªà¥à€°à€Ÿà€à€ à¥šà¥Šà¥Šà¥© à€šà¥à€¯à¥à€à¥à€²à€à€¡ à€¡à€¿à€à¥à€à€² à€²à€Ÿà€¯à€¬à¥à€°à€°à¥  
+AboutDialog.Copyright_Two:à€ªà¥à€°à€à€Ÿà€¶à€š à€à¥à€ªà¥ à€à€² à€ªà€°à€µà€Ÿà€šà€Ÿ à€ªà€¹à€Ÿ  
+#***********************
+#
+#***** Audit Table *****
+AuditTable.File:à€«à€Ÿà€à€²à€šà¥à€®  
+#***********************
+#
+#***** Auto Filter *****
+Autofilter.AND:à€à€£à€¿  
+Autofilter.Ascending:à€à€¢à€€à€Ÿ  
+Autofilter.Case_Sensitive:à€à¥à€³à€²à¥à€¯à€Ÿ  
+Autofilter.Custom_Filter:à€žà¥à€§à€Ÿà€°à¥à€€  
+Autofilter.Descending:à€à€€à€°à€€à¥  
+Autofilter.Filter_By_Value:à€žà€Ÿà€§à¥  
+Autofilter.Name:à€°à€à€Ÿà€šà¥à€¯à€Ÿà€à¥ à€šà€Ÿà€µ  
+Autofilter.None:à€šà€Ÿà€¹à¥  
+Autofilter.Operator:à€ªà€°à€¿à€žà¥à€¥à€¿à€€à¥  
+Autofilter.OR:à€à€¿à€à€µà€Ÿ  
+Autofilter.Order:à€à€à¥à€à€Ÿ  
+Autofilter.Order_Tooltip:à€à¥à€³à€²à¥à€²à¥ à€à€à€ à€à€Ÿà€¢à€Ÿ  
+Autofilter.Remove:à€«à€¿à€²à¥à€à€° à€à€Ÿà€¢à€Ÿ  
+Autofilter.Remove_Tooltip:à€à¥à€¬à€²à€Ÿà€à¥à€¯à€Ÿ à€°à€à€Ÿà€šà¥à€¯à€Ÿà€€à¥à€š   à€«à€¿à€²à¥à€à€° à€à€Ÿà€¢à€Ÿ  
+Autofilter.Set:à€«à€¿à€²à¥à€à€°  
+Autofilter.Set_Tooltip:à€à¥à€¬à€²à€Ÿà€à¥à€¯à€Ÿ à€°à€à€Ÿà€šà¥à€¯à€Ÿà€€  à€«à€¿à€²à¥à€à€° à€¬à€žà€µà€Ÿ  
+Autofilter.Table_Header_Tooltip:à€«à€¿à€²à¥à€à€°  {0} à€ªà€Ÿà€žà¥à€š  
+Autofilter.Title:à€®à€à€Ÿà€¡à¥à€à€Ÿ à€«à€¿à€²à¥à€à€° à€à€°à€Ÿ  
+Autofilter.eqeq:à€¬à€°à¥à€¬à€°  
+Autofilter.!eq:à€¬à€°à¥à€¬à€° à€šà€Ÿà€¹à¥  
+Autofilter.<:à€¯à€Ÿ à€ªà¥à€à¥à€·à€Ÿ à€à€®à¥  
+Autofilter.<eq:à€¯à€Ÿ à€ªà¥à€à¥à€·à€Ÿ à€à€®à¥  à€à€¿à€à€µà€Ÿ à€¬à€°à¥à€¬à€°  
+Autofilter.>:à€¯à€Ÿà€¹à¥à€š à€à€Ÿà€žà¥à€€  
+Autofilter.>eq:à€¯à€Ÿà€¹à¥à€š à€à€Ÿà€žà¥à€€  à€à€¿à€à€µà€Ÿ à€¬à€°à¥à€¬à€°  
+Autofilter.^:à€žà¥à€°à¥à€µà€Ÿà€€ à€à€°à€Ÿ  
+Autofilter.!^:à€¯à€Ÿ à€¬à€°à¥à€¬à€° à€žà¥à€°à¥à€µà€Ÿà€€ à€à€°à¥ à€šà€à€Ÿ  
+Autofilter.$:à€¶à¥à€µà€ à€à€°à€Ÿ  
+Autofilter.!$:à€¯à€Ÿ à€¬à€°à¥à€¬à€°  à€¬à€à€Š à€à€°à¥ à€šà€à€Ÿ  
+Autofilter.?:à€žà€®à€Ÿà€µà¥à€¶  
+Autofilter.!?:à€¯à€Ÿ à€®à€§à¥à€¯à¥ à€šà€Ÿà€¹à¥  
+#
+#     ********************************************************
+#     *************** Collection Design Module ***************
+#     ********************************************************
+#     * The dictionary  phrases  used in the creation of the *
+#     * Colection  Design  Module. Note that we  still  have *
+#     * access  to the format  arguments (argument  32+) for *
+#     * html formatting.                                     *
+#     ********************************************************
+CDM.ArgumentConfiguration.Bad_Integer:<html>à€šà€¿à€µà¥à€Šà€š'{0}' à€žà€à€°à¥à€ªà¥à€£ à€®à¥à€²à¥à€¯ à€à€µà€¶à¥à€¯à€,<br>à€ªà€£ à€žà€à€°à¥à€ªà¥à€£ à€®à¥à€²à¥à€¯ {1}.</html>à€¯à¥à€¥à¥à€š à€¯à¥à€€ à€šà€Ÿà€¹à¥  
+CDM.ArgumentConfiguration.Error_Title:à€šà€¿à€µà¥à€Šà€šà€Ÿà€€ à€à¥à€  
+CDM.ArgumentConfiguration.Header:<HTML><STRONG><FONT FACE={FONT} COLOR=Black SIZE=5><CENTER>Please configure the arguments for {0}.</CENTER></FONT></STRONG></HTML>  
+CDM.ArgumentConfiguration.No_Value:{0} à€²à€Ÿ  à€®à¥à€²à¥à€¯ à€à€µà€¶à¥à€¯à€ à€à€¹à¥ à€€à¥ à€®à¥à€²à¥à€¯ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+CDM.ArgumentConfiguration.Required_Argument:{0} à€²à€Ÿ  à€®à¥à€²à¥à€¯ à€à€µà€¶à¥à€¯à€ à€à€¹à¥  
+CDM.ArgumentConfiguration.Title:à€šà€¿à€µà¥à€Šà€š à€¯à¥à€à¥à€¯ à€Šà€¯à€Ÿ  
+CDM.BuildTypeManager.Title:à€ªà¥à€°à€Šà¥à€°à€¶à€  à€šà€¿à€µà€¡à€Ÿ  
+CDM.BuildTypeManager.mg:à€à€® à€à¥  
+CDM.BuildTypeManager.mg_Description:à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€à€¡à¥à€š à€µà€Ÿà€ªà€°à€²à€Ÿ à€à¥à€²à¥à€²à€Ÿà€¹à€Ÿ à€®à¥à€³ à€šà€¿à€°à¥à€Šà¥à€¶à€, developed mainly by Alistair Moffat and described in the classic book Managing Gigabytes. It does section level indexing, and searches can be boolean or ranked (not both at once). For each index specified in the collection, a separate physical index is created. For phrase searching, Greenstone does an "AND" search on all the terms, then scans the resulting hits to see if the phrase is present. It has been extensively tested on very large collections (many GB of text).  
+CDM.BuildTypeManager.mgpp:à€à€® à€à¥ à€ªà¥à€ªà¥  
+CDM.BuildTypeManager.mgpp_Description:à€à€® à€à¥ à€¹à¥ à€šà€µà€¿à€š à€µà¥à€¹à€°à¥à€à€š (à€à€® à€à¥ à€ªà¥à€²à€ž à€ªà¥à€²à€ž) à€šà¥à€¯à¥à€à¥à€²à€à€¡ à€
+à€à€à€¿à€à¥à€€ à€à¥à€°à€à€¥à€Ÿà€²à€¯à€Ÿà€šà¥ à€€à€¯à€Ÿà€° à€à¥à€²à¥ à€à€¹à¥. à€¹à¥ à€¶à€¬à¥à€Š à€šà€¿à€°à¥à€Šà¥à€¶à€š à€ªà€§à¥à€Šà€€à¥ à€à€¹à¥,à€à¥à€¯à€Ÿ à€µà¥à€Šà€Ÿà€°à¥ fielded, phrase and proximity searching to be handled by the indexer. Boolean searches can be ranked. Only a single index is created for a Greenstone collection: document/section levels and text/metadata fields are all handled by the one index. For collections with many indexes, this results in a smaller collection size than using MG. For large collections, searching may be a bit slower due to the index being word level rather than section level.  
+CDM.BuildTypeManager.lucene:Lucene  
+CDM.BuildTypeManager.lucene_Description:Lucene was developed by the Apache Software Foundation. It handles field and proximity searching, but only at a single level (e.g. complete documents or individual sections, but not both). Therefore document and section indexes for a collection require two separate indexes. It provides a similar range of search functionality to MGPP with the addition of single-character wildcards, range searching and sorting of search results by metadata fields. It was added to Greenstone to facilitate incremental collection building, which MG and MGPP can't provide.  
+CDM.BuildTypeManager.Current_Type:à€ªà¥à€°à€Šà¥à€°à€¶à€ {0} à€µà€Ÿà€ªà€°à€Ÿ à€®à€§à¥à€¯à¥  
+CDM.BuildTypeManager.Change:à€¬à€Šà€²  
+CDM.BuildTypeManager.Change_Tooltip:à€žà€à€¹à¥à€°à€¹ à€µà€Ÿà€ªà€°à¥à€š à€ªà¥à€°à€Šà¥à€°à€¶à€  à€¬à€Šà€²à€Ÿ  
+CDM.ClassifierManager.Add:à€µà¥à€°à€ à€®à€¿à€³à€µà€Ÿ  
+CDM.ClassifierManager.Add_Tooltip:à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿ à€¬à€°à¥à€¬à€° à€¯à¥à€à¥à€¯ à€µà€°à€à¥à€ªà¥à€°à€Šà¥à€°à€¶à€ à€µà€Ÿà€ªà€°à€Ÿ  
+CDM.ClassifierManager.Assigned:à€µà€°à€à¥à€ªà¥à€°à€Šà¥à€°à€¶à€ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+CDM.ClassifierManager.Classifier:à€®à€¿à€³à€µà€¿à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥  à€µà€°à¥à€à€ªà¥à€°à€°à¥à€Šà€¶à€ à€šà€¿à€µà€¡à€Ÿ  
+CDM.ClassifierManager.Classifier_Str:à€µà€°à€à¥à€ªà¥à€°à€Šà¥à€°à€¶à€  
+CDM.ClassifierManager.Classifier_List_XML_Parse_Failed:à€žà€à€à¥à€°à€¹à€®à€Ÿà€¹à€¿à€€à¥ à€µà€Ÿà€°à¥à€š à€µà€°à€à¥à€ªà¥à€°à€Šà¥à€°à€¶à€ à€¯à€Ÿà€Šà¥ à€®à€¿à€³à€µà€¿à€£à¥ à€à€ à€¿à€£ à€à€¹à¥, à€à¥à€ªà€¯à€Ÿ...  
+CDM.ClassifierManager.Classifier_XML_Parse_Failed:{0}\nclassifierà€µà€°à€à¥à€à€Ÿ à€šà€¿à€µà¥à€Šà€ à€ à€°à€µà€¿à€€à€Ÿ à€¯à¥à€€ à€šà€Ÿà€¹à¥. à€à¥à€ªà€¯à€Ÿ à€ªà¥à€°à€¶à¥à€šà€Ÿà€µà€²à¥à€à€Ÿ à€šà€¿à€µà¥à€Šà€ à€¯à¥à€à¥à€¯ à€à€¹à¥\nprovides the -xml flag by running the classinfo.pl script\nsimilar to the description of the pluginfo.pl script in\nsection 2.1 of the Greenstone Developers Guide.  
+CDM.ClassifierManager.Configure:à€µà€°à€à¥à€ªà¥à€°à€Šà¥à€°à€¶à€  
+CDM.ClassifierManager.Configure_Tooltip:à€šà€¿à€µà€¡à€²à¥à€²à¥à€¯à€Ÿ à€µà€°à€à¥à€ªà¥à€°à€Šà¥à€°à€¶à€à€Ÿà€à€Ÿ  à€
+à¥à€ªà€¶à€š à€¬à€Šà€²à€Ÿ  
+CDM.ClassifierManager.Remove:à€µà€°à€à¥à€ªà¥à€°à€Šà¥à€°à€¶à€ à€à€Ÿà€¢à¥à€š à€à€Ÿà€à€Ÿ  
+CDM.ClassifierManager.Remove_Tooltip:à€¯à€Ÿà€Šà¥à€€à¥à€š à€¿à€¡à€²à¥à€²à€Ÿ  à€µà€°à€à¥à€ªà¥à€°à€Šà¥à€°à€¶à€ à€à€Ÿà€¢à¥à€š à€à€Ÿà€à€Ÿ  
+CDM.FormatManager.Add:à€«à¥à€°à€®à¥
+à€ à€­à€°à€Ÿ  
+CDM.FormatManager.Add_Tooltip:à€«à¥à€°à€®à¥
+à€à€à¥ à€šà€¿à€¶à¥à€à€¿à€€ à€žà¥à€à€šà€Ÿ  à€­à€°à€Ÿ  
+CDM.FormatManager.AllFeatures:à€žà€°à¥à€µ à€°à¥à€ªà€à€¿à€šà¥à€¹  
+CDM.FormatManager.AllParts:à€žà€°à¥à€µ à€à€à€ªà¥à€šà€à€  
+CDM.FormatManager.Default:Reset to Default
+CDM.FormatManager.Default_Tooltip:Reset the selected format command to its default value 
+CDM.FormatManager.Editor:à€à€à€à¥à€à€®à€à€² à€«à¥à€°à€®à¥
+à€  
+CDM.FormatManager.Editor_Tooltip:à€«à¥à€°à€®à¥
+à€à€à¥  à€žà¥à€à€šà€Ÿ  à€²à€¿à€¹à€Ÿ à€à€¿à€à€µà€Ÿ à€ªà¥à€°à€µà¥à€¶ à€à€°à€Ÿ  
+CDM.FormatManager.Editor_Disabled_Tooltip:à€€à¥à€®à€à¥à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€€ à€«à¥à€°à€®à¥
+à€à€à¥  à€žà¥à€à€šà€Ÿ à€Šà¥à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ "à€
+à¥
+à€¡ à€«à¥à€°à€®à¥
+à€"  à€Šà€Ÿà€¬à€Ÿ  
+CDM.FormatManager.Enabled:à€žà€®à¥à€°à€¥  
+CDM.FormatManager.Feature:à€°à¥à€ªà€à€¿à€šà¥à€¹ à€šà€¿à€µà€¡à€Ÿ  
+CDM.FormatManager.Feature_Tooltip:à€°à¥à€ªà€à€¿à€šà¥à€¹à€à€Ÿà€à€Ÿ à€«à¥à€°à€®à¥
+à€  
+CDM.FormatManager.Insert:à€­à€°à€Ÿ  
+CDM.FormatManager.Insert_Tooltip:à€«à¥à€°à€®à¥
+à€à€à¥  à€žà¥à€à€šà¥à€®à€§à¥à€¯à¥ à€šà€¿à€µà€¡à€²à¥à€²à¥ à€¬à€Šà€² à€­à€°à€Ÿ  
+CDM.FormatManager.Default:Reset to Default
+CDM.FormatManager.Default_Tooltip:Reset the selected format command to its default value
+CDM.FormatManager.Insert_Variable:à€¬à€Šà€² à€­à€°à€Ÿ  
+CDM.FormatManager.Part:à€ªà€°à€¿à€£à€Ÿà€®à€¿à€€ à€µà€¿à€­à€Ÿà€  
+CDM.FormatManager.Part_Tooltip:à€šà€¿à€µà€¡à€²à¥à€²à¥ à€à€à€ à€ªà¥à€šà¥à€¹à€Ÿ à€šà¥à€ à€à€°à€Ÿ  
+CDM.FormatManager.Remove:à€«à¥à€°à€®à¥
+à€ à€à€Ÿà€¢à€Ÿ  
+CDM.FormatManager.Remove_Tooltip:à€šà€¿à€µà€¡à€²à¥à€²à¥ à€«à¥à€°à€®à¥
+à€à€à¥  à€žà¥à€à€šà€Ÿ à€à€Ÿà€¢à€Ÿ  
+CDM.FormatManager.Variable_Tooltip:à€ªà¥à€°à¥à€µà¥ à€ à€°à€µà€¿à€²à¥à€²à¥ à€¬à€Šà€² à€šà€¿à€µà€¡à€ à€«à¥à€°à€®à¥
+à€  à€žà¥à€à€šà¥à€®à€§à¥à€¯à¥   à€­à€°à€Ÿ  
+CDM.FormatManager.MessageBox:à€à€à¥à€ž à€à€® à€à€² à€à¥ à€€à€ªà€Ÿà€žà€£à¥   
+CDM.FormatManager.MessageBox_Tooltip:à€à€à¥à€ž à€à€® à€à€² à€à€ªà€¯à¥à€à¥à€€à¥à€à¥ à€žà¥à€à€šà€Ÿ  
+CDM.General.Access:à€¹à€Ÿ à€Šà€žà¥à€€à€à€µà€ à€žà€à€µà¥à€°à€Ÿà€šà€Ÿ à€µà€Ÿà€ªà€°à€€à€Ÿ à€¯à¥à€à€²  
+CDM.General.Browser_Title:à€à€¿à€€à¥à€° à€¿à€šà€µà€¡à€Ÿ  
+CDM.General.Collection_Extra:à€žà€à€à¥à€°à€¹à€Ÿà€à¥ à€µà€°à¥à€£à€š  
+CDM.General.Collection_Extra_Tooltip:à€žà€à€à¥à€°à€¹à€Ÿà€à€Ÿ à€®à€à€à¥à€° à€µ à€µà€°à¥à€£à€šà€Ÿà€à€Ÿ à€¹à¥à€€à¥ à€µ  
+CDM.General.Collection_Name:à€žà€à€à¥à€°à€¹ à€¶à€¿à€°à¥à€·à€  
+CDM.General.Collection_Name_Tooltip:à€žà€à€à¥à€°à€¹à€Ÿà€à¥ à€šà€Ÿà€µ  
+CDM.General.Email.Creator:à€-à€®à¥à€² à€à€°à€£à€Ÿà€°à¥  
+CDM.General.Email.Creator_Tooltip:à€žà€à€à¥à€°à€¹ à€à€°à€£à€Ÿà€°à¥à€¯à€Ÿà€à€à¥ à€-à€®à¥à€² à€ªà€€à¥à€€à€Ÿ  
+CDM.General.Email.Maintainer:à€à€Ÿà€²à€µà€¿à€£à€Ÿà€°à¥à€¯à€Ÿà€à€Ÿ à€-à€®à¥à€²  
+CDM.General.Email.Maintainer_Tooltip:à€žà€à€à¥à€°à€¹ à€à€Ÿà€²à€µà€¿à€£à€Ÿà€°à¥à€¯à€Ÿà€à€Ÿ à€-à€®à¥à€²  
+CDM.General.Icon_Collection:à€ªà€Ÿà€šà€Ÿà€¿à€·à€¯à¥ 'à€à€¿à€€à¥à€°à€à€Ÿà€¯ à¥à€à€° à€à€²  
+CDM.General.Icon_Collection_Tooltip:à€žà€à€à¥à€°à€¹à€Ÿà€žà€Ÿà€ à¥  à€ªà€Ÿà€šà€Ÿà€µà€°à¥à€² à€à€¿à€€à¥à€° à€Šà€Ÿà€à€µà€¿à€£à€Ÿà€°à€Ÿ à€¯à¥à€à€° à€à€²  
+CDM.General.Icon_Collection_Small:à€®à¥à€à¥à€¯à€ªà€Ÿà€šà€Ÿà€¿à€·à€¯à¥ 'à€à€¿à€€à¥à€°à€à€Ÿ à€¯à¥à€à€° à€à€²  
+CDM.General.Icon_Collection_Small_Tooltip:à€¹à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€žà€Ÿà€ à¥ à€à€à¥à€°à€¥à€Ÿà€²à€¯à€Ÿà€à¥à€¯à€Ÿ à€®à¥à€à¥à€¯ à€ªà€Ÿà€šà€Ÿà€µà€°à¥à€² à€à€¿à€€à¥à€° à€Šà€Ÿà€à€µà€¿à€£à€Ÿà€°à€Ÿ à€¯à¥à€à€° à€à€²  
+CDM.General.Image_Copy_Failed:à€€à¥à€®à¥à€¹à¥ à€šà€¿à€µà€¡à€²à¥à€²à¥à€¯à€Ÿ à€à€¿à€€à¥à€°à€Ÿà€à¥ à€ªà¥à€°à€€ à€à€°à€€à€Ÿ à€¯à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥.\nà€€à¥à€à¥à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€€à¥à€² à€à€¿à€€à¥à€° à€«à¥à€²à¥à€¡à€° à€®à€§à¥à€¯à¥ à€¯à€Ÿà€à¥ à€ªà¥à€° à€à€°à€£à¥à€¯à€Ÿà€à€Ÿ à€ªà¥à€°à€¯à€€à¥à€š à€à€°à€Ÿ:\n{0}\n:\n{1}  
+CDM.General.Image_Filter:à€à€¿à€€à¥à€°(à€à¥ à€à€¯ à€à€« à€à€ž,à€à¥à€ªà¥à€à¥,à€à¥à€à€à€£à€¿ à€ªà¥ à€à€š à€à¥  
+CDM.GUI.Classifiers:à€µà€°à€à¥à€ªà¥à€°à€Šà¥à€°à€¶à€ à€¶à¥à€§à€Ÿ  
+CDM.GUI.Formats:à€°à¥à€ªà€à€¿à€šà¥à€¹à€à€Ÿà€à€Ÿ à€«à¥à€°à€®à¥
+à€  
+CDM.GUI.General:à€žà€Ÿà€§à€Ÿà€°à€£  
+CDM.GUI.Indexes:à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ à€¶à¥à€§à€Ÿ  
+CDM.GUI.Macros:à€žà€à€à¥à€°à€¹ à€šà€¿à€¶à¥à€à€¿à€€  
+CDM.GUI.Plugins:à€Šà€žà¥à€€à€à€µà€ à€¬à€žà€µà€¿à€£à¥  
+CDM.GUI.Root:à€žà¥à€¡à¥à€à€® -à€°à¥à€  
+CDM.GUI.SearchMetadata:à€¶à¥à€§à€Ÿ  
+CDM.GUI.Subcollections:à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿà€°à€Ÿ à€µà€¿ à€­à€Ÿà€  
+CDM.GUI.SuperCollection:à€à€¡à€µà€Ÿ à€žà€à€à¥à€°à€¹ à€¶à¥à€§  
+CDM.GUI.Translation:à€®à¥à€³ à€­à€·à€Ÿà€à€€à€°à¥à€€  
+CDM.GUI.DepositorMetadata:à€¡à€¿à€ªà¥à€à€¿à€à€° à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ  
+CDM.HelpButton:à€¯à€Ÿ à€žà¥à€°à€¿à€à€šà€žà€Ÿà€ à¥ à€®à€Šà€€  
+CDM.HelpButton_Tooltip:à€à¥à€à€¯à€à€² à€à¥ à€®à€Šà€€ à€¯à€Ÿà€à€°à¥à€€à€Ÿ à€à€à€¡ à€à€°à€Ÿ  
+CDM.IndexManager.Add_Index:à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ à€®à€¿à€³à€µà€Ÿ  
+CDM.IndexManager.Add_Index_Tooltip:à€šà€¿à€¶à¥à€à€¿à€€  à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ à€®à€¿à€³à€µà€Ÿ  
+CDM.IndexManager.Allfields_Index:à€žà€°à¥à€µ à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à¥à€žà€Ÿà€ à¥ à€à€à€€à¥à€° à€¶à¥à€§ à€à¥à€¯à€Ÿ  
+CDM.IndexManager.Default_Index_Indicator:à€¡à€¿à€«à¥à€²à¥à€ à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ  
+CDM.IndexManager.Index_Exists:à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€žà€Ÿà€ à¥  à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ à€à€§à¥à€ à€šà€¿à€¶à¥à€à€¿à€€ à€à¥à€²à¥  à€à€¹à¥  
+CDM.IndexManager.Indexes:à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+CDM.IndexManager.Level:à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à¥à€à¥ à€ªà€Ÿà€€à€³à¥  
+CDM.IndexManager.Level_Tooltip:à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ à€à¥à€¯à€Ÿà€µà€° à€à¥à€²à¥ à€€à¥ à€à€  
+CDM.IndexManager.Add_All:à€žà€°à¥à€µ à€®à€¿à€³à€µà€Ÿ  
+CDM.IndexManager.Add_All_Tooltip:à€ªà¥à€°à€€à¥à€¯à¥à€ à€žà¥à€°à¥à€ž à€à€°à¥à€€à€Ÿ à€µà¥à€à€³à¥ à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ à€®à€¿à€³à€µà€Ÿ  
+CDM.IndexManager.Edit_Index:à€²à€¿à€¹à€Ÿ à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ  
+CDM.IndexManager.Edit_Index_Tooltip:à€šà€¿à€µà€¡à€²à¥à€²à¥à€¯à€Ÿ  à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à¥à€€ à€¬à€Šà€² à€à€°à€Ÿ  
+CDM.IndexManager.New_Index:à€šà€µà€¿à€š  à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ  
+CDM.IndexManager.New_Index_Tooltip:à€šà€µà€¿à€š  à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ à€®à€¿à€³à€µà€Ÿ  
+CDM.IndexManager.Remove_Index:à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ à€à€Ÿà€¢à¥à€š à€à€Ÿà€à€Ÿ  
+CDM.IndexManager.Remove_Index_Tooltip:à€šà€¿à€µà€¡à€ à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ à€à€Ÿà€¢à¥à€š à€à€Ÿà€à€Ÿ  
+CDM.IndexManager.Replace_Index:à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ à€¬à€Šà€²à€Ÿ  
+CDM.IndexManager.Replace_Index_Tooltip:à€šà€¿à€µà€¡à€ à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ  à€žà¥à€§à€Ÿà€°à¥à€€ à€à€°à€Ÿ  
+CDM.IndexManager.Select_All:à€žà€°à¥à€µ à€šà€¿à€µà€¡à€Ÿ  
+CDM.IndexManager.Select_All_Tooltip:à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à¥à€à¥ à€žà€°à¥à€µ à€žà¥à€°à¥à€ž à€šà€¿à€µà€¡à€Ÿ  
+CDM.IndexManager.Select_None:à€à€¹à¥à€¹à¥ à€šà€¿à€µà€¡à€Ÿ  
+CDM.IndexManager.Select_None_Tooltip:à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à¥à€à¥ à€žà€°à¥à€µ à€žà¥à€°à¥à€ž à€šà€¿à€µà€¡à¥ à€šà€à€Ÿ  
+CDM.IndexManager.Set_Default:à€
+à€à¥à€  à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ à€ à¥à€µà€Ÿ  
+CDM.IndexManager.Set_Default_Tooltip:à€šà€¿à€µà€¡à€ à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ à€
+à€à¥à€  à€ à¥à€µà€Ÿ  
+CDM.IndexManager.Source:à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à¥à€€ à€®à€¿à€žà€³à€Ÿ  
+CDM.IndexManager.Source_Tooltip:The metadata elements to build the index on  
+CDM.IndexManager.Text_Source:à€ªà¥à€°à¥à€£ à€­à€Ÿà€·à€Ÿà€à€€à€°  
+CDM.IndexManager.Text_Source_Tooltip:à€Šà€žà¥à€€à€à€µà€à€Ÿà€à¥à€¯à€Ÿ  à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à¥à€€ à€ªà¥à€°à¥à€£ à€­à€Ÿà€·à€Ÿà€à€€à€° à€­à€°à€Ÿ  
+CDM.IndexingManager.Accent_fold:à€
+à€žà¥à€à€ à€«à¥à€²à¥à€¡  
+CDM.IndexingManager.Accent_fold_Tooltip:à€à€à¥à€à€Ÿà€° à€žà¥à€à¥ à€€à€¯à€Ÿà€° à€à€°à€Ÿ, à€à¥à€¯à€Ÿà€®à¥à€³à¥ à€¶à€¬à¥à€Šà€Ÿà€à€à€Ÿ à€à€à¥à€à€Ÿà€°à€Ÿà€šà¥à€žà€Ÿà€° à€¶à¥à€§ à€à¥à€€à€Ÿ à€¯à¥à€à€².   
+CDM.IndexingManager.Casefold:à€à¥à€ž à€«à¥à€²à¥à€¡  
+CDM.IndexingManager.Casefold_Tooltip:Not applicable in Marathi.  
+CDM.IndexingManager.Options:à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à¥à€²à€Ÿ à€ªà€°à¥à€¯à€Ÿà€¯  
+CDM.IndexingManager.Separate_cjk:à€žà¥à€à¥à€à¥ à€
+à€à¥à€·à€° à€µà€¿à€­à€Ÿà€  
+
+CDM.IndexingManager.Stem:à€¥à€Ÿà€à€¬à€µà€Ÿ  
+
+CDM.LanguageManager.Add_Tooltip:à€ à€°à€Ÿà€µà€¿à€ à€­à€Ÿà€·à¥à€µà€° à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à¥à€à€Ÿ à€µà€¿à€­à€Ÿà€ à€à€°à€Ÿ  
+CDM.LanguageManager.Assigned_Languages:à€­à€Ÿà€·à€Ÿ à€µà€¿à€­à€Ÿà€ à€šà€¿à€¶à€¿à¥à€à€€ à€à€°à€Ÿ  
+CDM.LanguageManager.Default_Language:à€
+à€à¥à€ à€­à€Ÿà€·à€Ÿ  
+CDM.LanguageManager.LanguageMetadata:à€­à€Ÿà€·à€Ÿ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ  
+CDM.LanguageManager.LanguageMetadata_Tooltip:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à¥à€¯à€Ÿ à€µà€¿à€·à€¯à€Ÿà€šà¥à€žà€Ÿà€° à€­à€Ÿà€·à€Ÿ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+CDM.LanguageManager.Remove_Tooltip:à€¯à€Ÿà€Šà¥à€€à¥à€š à€­à€Ÿà€·à€Ÿ à€µà€¿à€­à€Ÿà€ à€à€Ÿà€¢à¥à€š à€à€Ÿà€à€Ÿ  
+CDM.LanguageManager.Replace_Tooltip:à€šà€¿à€µà€¡à€²à¥à€²à¥ à€µà€¿à€­à€Ÿà€ à€­à€Ÿà€·à¥à€ªà¥à€°à€®à€Ÿà€£à¥ à€¬à€Šà€²à€Ÿ  
+CDM.LanguageManager.Selector:à€­à€Ÿà€·à€Ÿ à€®à€¿à€žà€³à€Ÿ  
+CDM.LanguageManager.Selector_Tooltip:à€
+à€šà¥à€à¥à€®à€£à€¿à€à€Ÿ à€µà€¿à€­à€Ÿà€ à€­à€Ÿà€·à¥à€ªà¥à€°à€®à€Ÿà€£à¥ à€à€°à€Ÿ  
+CDM.LanguageManager.Set_Default:à€
+à€à¥à€  
+CDM.LanguageManager.Set_Default_Tooltip:à€šà€¿à€µà€¡à€ à€­à€Ÿà€·à¥à€à€Ÿ à€µà€¿à€­à€Ÿà€ à€
+à€à¥à€ à€ à¥à€µà€Ÿ  
+CDM.LevelManager.Document:à€Šà€žà¥à€€à€à€µà€  
+CDM.LevelManager.Section:à€µà€¿à€­à€Ÿà€  
+CDM.LevelManager.Paragraph:à€ªà€°à€¿à€à¥à€à¥à€Š  
+CDM.LevelManager.Level_Title:à€
+à€šà¥à€à¥à€®à€£à€¿à€à¥à€à¥ à€ªà€Ÿà€€à€³à¥  
+CDM.LevelManager.Default:à€
+à€à¥à€  
+CDM.LevelManager.Default_Tooltip:à€¡à€¿à€«à¥à€²à¥à€ à€²à¥à€µà¥à€¹à€² à€à€š à€°à€¿à€¡à€° à€à€à€à€°à€«à¥à€ž  
+CDM.MacrosManager.Editor_Tooltip:à€®à¥
+à€à¥à€°à¥à€ à€¯à¥à€¥à¥ à€²à€¿à€¹à€Ÿ  
+CDM.Move.At_Bottom:{0} {1} à€à€Ÿà€²à¥ à€¹à€²à€µà€¿à€€à€Ÿ à€¯à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥à€€ à€à€Ÿà€°à€£ à€€à¥ à€à€§à¥à€ à€¯à€Ÿà€Šà¥à€à¥à€¯à€Ÿ à€¶à¥à€µà€à¥ à€à€¹à¥à€€  
+CDM.Move.At_Top:{0} {1} à€à€Ÿà€²à¥ à€¹à€²à€µà€¿à€€à€Ÿ à€¯à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥à€€ à€à€Ÿà€°à€£ à€€à¥ à€à€§à¥à€ à€¯à€Ÿà€Šà¥à€à¥à€¯à€Ÿ à€¶à¥à€µà€à¥ à€à€¹à¥à€€  
+CDM.Move.Cannot:{0}à€à€¿à€°à¥ à€ªà¥à€²à€ à€à€š à€¹à€²à€µà€¿à€€à€Ÿ à€¯à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥à€€ à€à€Ÿà€°à€£ à€°à¥à€ à€ªà¥à€²à€ à€µ à€à€°à¥à€ à€ªà¥à€²à€ à€¯à€Ÿà€Šà¥à€à¥à€¯à€Ÿ à€¶à¥à€µà€à¥ à€à€¹à¥à€€  
+CDM.Move.Fixed:<html>à€°à¥à€ à€ªà¥à€²à€ à€µ à€à¥à€°à€ à€ªà¥à€²à€ à€¯à€Ÿà€Šà¥à€à¥à€¯à€Ÿ à€¶à¥à€µà€à¥à€
+à€žà€Ÿà€µà¥à€€ à€®à¥à€¹à€£à¥à€š à€€à¥ à€šà€¿à€¶à¥à€à€¿à€€ à€à¥à€²à¥à€²à¥ à€
+à€žà€€à€Ÿà€€.<br>à€à€° à€€à¥à€®à¥à€¹à¥ à€€à¥ à€¹à€²à€µà€¿à€²à¥ à€€à€° à€à¥à€ªà€¯à€Ÿ  .à€žà¥à€à€«à€à¥ à€«à€Ÿà€Ÿà€à€².</html à€à€¡à¥à€ à€à€°à€Ÿ  
+CDM.Move.Move_Down:à€à€Ÿà€²à¥ à€¹à€²à€µà€Ÿ  
+CDM.Move.Move_Down_Tooltip:à€šà€¿à€µà€¡à€²à¥à€²à¥ à€à€ à€à€Ÿà¥à€² à€¯à€Ÿà€Šà¥à€€ à€¹à€²à€µà€Ÿ  
+CDM.Move.Move_Up:à€µà€°à€€à¥ à€¹à€²à€µà€Ÿ  
+CDM.Move.Move_Up_Tooltip:à€šà€¿à€µà€¡à€²à¥à€²à¥ à€à€ à€µà€°à¥à€²  à€¯à€Ÿà€Šà¥à€€ à€¹à€²à€µà€Ÿ  
+CDM.Move.Title:à€à¥à€- à€¹à€²à€£à€Ÿà€° à€šà€Ÿà€¹à¥  
+CDM.PlugInManager.Add:à€ªà¥à€²à€à€à€š à€®à€¿à€³à€µà€Ÿ...  
+CDM.PlugInManager.QuickAdd:à€ªà¥à€²à€à€à€š à€®à€¿à€³à€µà€Ÿ  
+CDM.PlugInManager.Add_Tooltip:à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€žà€Ÿà€ à¥ à€šà€¿à€¶à¥à€à€¿à€€               à€µà€Ÿà€ªà€°à€Ÿ  
+CDM.PlugInManager.Assigned:à€ªà¥à€²à€à€à€š  à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+CDM.PlugInManager.Configure:à€ªà¥à€²à€à€à€š à€à¥à€šà¥à€«à¥à€à€° à€à€°à€Ÿ  
+CDM.PlugInManager.Configure_Tooltip:à€šà€¿à€µà€¡à€²à¥à€²à¥à€¯à€Ÿ à€ªà¥à€²à€à€à€šà€à¥ à€à€ªà¥à€¶à€š à€¬à€Šà€²à€Ÿ  
+CDM.PlugInManager.Ignore:à€ªà¥à€²à€ à€à€š à€µà€Ÿà€¢à€µà¥ à€šà€à€Ÿ  
+CDM.PlugInManager.Ignore_Tooltip:à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€à€°à¥à€€à€Ÿ à€ªà¥à€²à€à€à€š à€µà€Ÿà€¢à€µà¥ à€šà€à€Ÿ  
+CDM.PlugInManager.PlugIn:à€ªà¥à€²à€à€à€š à€µà€Ÿà€¢à€µà€¿à€£à¥à€¯à€Ÿà€à€°à¥à€€à€Ÿ à€šà€¿à€µà€¡à€Ÿ  
+CDM.PlugInManager.PlugIn_Tooltip:à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€€ à€µà€Ÿà€ªà€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€ªà¥à€²à€à€à€š à€à€ªà€²à€¬à¥à€§ à€à€¹à¥à€€.  
+CDM.PlugInManager.PlugIn_Str:à€ªà¥à€²à€à€à€š  
+CDM.PlugInManager.PlugIn_XML_Parse_Failed:{0}\nclassifierà€µà€°à€à¥à€à€Ÿ à€šà€¿à€µà¥à€Šà€ à€ à€°à€µà€¿à€€à€Ÿ à€¯à¥à€€ à€šà€Ÿà€¹à¥. à€à¥à€ªà€¯à€Ÿ à€ªà¥à€°à€¶à¥à€šà€Ÿà¥à€²à€µà€°à€à¥à€à€Ÿ à€šà€¿à€µà¥à€Šà€ à€¯à¥à€à¥à€¯ à€à€¹à¥\nprovides the -xml flag by running the classinfo.pl script\nsimilar to the description of the pluginfo.pl script in\nsection 2.1 of the Greenstone Developers Guide.  
+CDM.PluginManager.Plugin_List_XML_Parse_Failed:à€ªà¥à€²à€à€à€š à€à¥ à€¯à€Ÿà€Šà¥ à€®à€¿à€³à€µà€¿à€£à¥à€¯à€Ÿà€à€°à¥à€€ à€¯à¥à€à€¿à€à€ à€ªà¥à€²à€à€à€šà€à€à€šà¥à€«à¥ -à€à€à€šà€žà¥à€à¥à€² à€à€°à€Ÿ  
+CDM.PluginManager.Plugin_Suggestion_Prompt:"{0}"à€¹à¥ à€ªà¥à€²à€ à€à€š  à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€€à¥à€² à€à¥à€£à€€à¥à€¯à€Ÿà€¹à¥ à€«à€Ÿà€à€² à€µà€° à€à€Ÿà€°à¥à€¯ à€à€°à¥ à€¶à€à€€ à€šà€Ÿà€¹à¥à€¹à¥ à€«à€Ÿà€à€² à€à€Ÿà€°à¥à€¯à€Ÿà€à€µà€¿à€€ à€¹à¥à€£à¥à€¯à€Ÿà€à€°à¥à€€à€Ÿ à€à€Ÿà€²à¥à€² à€ªà¥à€²à€ à€à€šà€à€Ÿà€à€ªà€¯à¥à€ à€¹à¥à€ à€¶à€à€€à¥. à€
+à¥
+à€¡ à€¬à€à€š à€Šà€Ÿà€¬à¥à€š à€€à¥à€®à¥à€¹à¥ à€€à¥à€®à€à€Ÿ à€žà€à€à¥à€°à€¹ à€¯à€Ÿ à€®à€§à¥à€¯à¥ à€à€Ÿà€à¥ à€¶à€à€€à€Ÿ (à€žà¥à€à€šà€Ÿ à€€à¥à€®à¥à€¹à¥ à€ªà¥à€²à€à€à€šà€à¥ à€¯à€Ÿà€Šà¥ "à€¡à¥à€à¥à€¯à¥à€®à¥à€à€à€ªà¥à€²à€ à€à€š " à€¯à¥à€¥à¥à€š à€à¥à€µà¥à€¹à€Ÿà€¹à¥ à€¬à€Šà€²à¥ à€¶à€à€€à€Ÿ.)  
+CDM.PlugInManager.Remove:à€ªà¥à€²à€à€à€š à€à€Ÿà€¢à¥à€š à€à€Ÿà€à€Ÿ  
+CDM.PlugInManager.Remove_Tooltip:à€¯à€Ÿà€Šà¥à€€à¥à€š à€šà€¿à€µà€¡à€²à¥à€²à€Ÿ à€µà€°à¥à€ à€ªà¥à€°à€Šà€°à¥à€¶à€ à€à€Ÿà€¢à¥à€š à€à€Ÿà€à€Ÿ  
+CDM.PluginManager.SuggestedPluginListTitle:à€¯à€Ÿ à€«à€Ÿà€à€² à€à€°à¥à€€à€Ÿ à€ªà¥à€²à€à€à€š à€žà¥à€à€µà€Ÿ  
+CDM.SearchMetadataManager.Component:à€¶à¥à€§ à€¯à€Ÿà€Šà¥à€€à¥à€² à€à€à€  
+CDM.SearchMetadataManager.Component_Name:à€°à¥à€ªà€à€¿à€šà¥à€¹à¥ à€Šà€Ÿà€à€µà€Ÿ  
+CDM.SearchMetadataManager.Type_index:à€
+à€šà¥à€à¥à€®à€£à€¿à€à€Ÿ  
+CDM.SearchMetadataManager.Type_level:à€ªà€Ÿà€€à€³à¥  
+CDM.SearchMetadataManager.Type_partition:à€µà€¿à€­à€Ÿà€  
+CDM.SearchMetadataManager.Type_language:à€­à€Ÿà€·à€Ÿ à€µà€¿à€­à€Ÿà€  
+CDM.SubcollectionManager.Add:à€«à€¿à€²à¥à€à€° à€®à€¿à€³à€µà€Ÿ  
+CDM.SubcollectionManager.Add_Tooltip:à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€žà€Ÿà€ à¥ à€µà€¿à€¶à€¿à€·à¥à€ à€«à€¿à€²à¥à€à€° à€®à€¿à€³à€µà€Ÿ  
+CDM.SubcollectionManager.Assigned:à€à€ªà€žà€à€à¥à€°à€¹ à€«à€¿à€²à¥à€à€°à€à¥ à€µà¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€à€°à€Ÿ  
+CDM.SubcollectionManager.Exclude:à€µà€à€³à€Ÿ  
+CDM.SubcollectionManager.Flags:à€à¥à€³à€²à¥à€¯à€Ÿà€šà€à€€à€° à€à€¿à€šà¥à€¹ à€Šà€Ÿà€à€µà€Ÿ  
+CDM.SubcollectionManager.Flags_Tooltip:à€à¥à€³à€²à¥à€¯à€Ÿà€šà€à€€à€° à€šà¥à€¹à€®à¥à€à¥  à€à€¿à€šà¥à€¹ à€Šà€Ÿà€à€µà€Ÿ (à€à€Šà€Ÿ.()    )  
+CDM.SubcollectionManager.Include:à€®à€¿à€³à¥à€š  
+CDM.SubcollectionManager.Inclusive:à€à¥à€³à€²à¥à€²à¥à€¯à€Ÿ à€«à€Ÿà€à€à¥ à€à€Ÿà€¯ à€à€°à€Ÿà€µà¥  
+CDM.SubcollectionManager.Language_Controls:à€­à€Ÿà€·à€Ÿ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+CDM.SubcollectionManager.Match:à€à¥à€³à€²à¥à€¯à€Ÿà€šà€à€€à€° à€šà¥à€¹à€®à¥à€à¥  à€à€¿à€šà¥à€¹ à€Šà€Ÿà€à€µà€Ÿ  
+CDM.SubcollectionManager.Match_Tooltip:à€šà¥à€¹à€®à¥à€à¥  à€à€¿à€šà¥à€¹à€Ÿà€šà¥ à€à€ªà€žà€à€à¥à€°à€¹à€Ÿà€€à¥à€² à€Šà€žà¥à€€à€à€µà€ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+CDM.SubcollectionManager.Name:à€à€ªà€žà€à€à¥à€°à€¹à€Ÿà€à¥à€¯à€Ÿ à€«à€¿à€²à¥à€à€°à€à¥ à€šà€Ÿà€µ  
+CDM.SubcollectionManager.Name_Tooltip:à€šà€µà€¿à€š à€à€ªà€žà€à€à¥à€°à€¹à€Ÿà€à¥à€¯à€Ÿ à€«à€¿à€²à¥à€à€°à€à¥ à€šà€Ÿà€µ  
+CDM.SubcollectionManager.Remove:à€«à€¿à€²à¥à€à€° à€à€Ÿà€¢à€Ÿ  
+CDM.SubcollectionManager.Remove_Tooltip:à€šà€¿à€µà€¡à€ à€«à€¿à€²à¥à€à€° à€¯à€Ÿà€Šà¥à€€à¥à€š à€à€Ÿà€¢à€Ÿ  
+CDM.SubcollectionManager.Replace:à€«à€¿à€²à¥à€à€° à€¬à€Šà€²à€Ÿ  
+CDM.SubcollectionManager.Replace_Tooltip:à€šà€¿à€µà€¡à€ à€«à€¿à€²à¥à€à€° à€®à€§à¥à€¯à¥ à€žà¥à€§à€Ÿà€°à€£à€Ÿ à€à€°à€Ÿ  
+CDM.SubcollectionManager.Source:à€à¥à€³à€²à¥à€²à¥à€¯à€Ÿ à€Šà€žà¥à€€à€à€µà€à€Ÿà€à¥à€¯à€Ÿ à€µà€¿à€°à¥à€§à¥à€Š à€ à¥à€µà€Ÿ  
+CDM.SubcollectionManager.Source_Tooltip:à€Šà€žà¥à€€à€à€µà€ à€«à€¿à€²à¥à€à€°à€µà€° à€ à¥à€µà€Ÿ  
+CDM.SubcollectionManager.Subcollection_Controls:à€«à€¿à€²à¥à€à€° à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+CDM.SubcollectionManager.Subindex_Controls:à€µà€°à¥à€ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+CDM.SubcollectionIndexManager.Add_Subindex:à€µà€¿à€­à€Ÿà€ à€®à€¿à€žà€³à€Ÿ  
+CDM.SubcollectionIndexManager.Add_Subindex_Tooltip:à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€€ à€ à€°à€Ÿà€µà€¿à€ à€µà€¿à€­à€Ÿà€ à€®à€¿à€žà€³à€Ÿ  
+CDM.SubcollectionIndexManager.Default_Partition_Indicator:à€
+à€à¥à€ à€µà€¿à€­à€Ÿà€  
+CDM.SubcollectionIndexManager.Remove_Subindex:à€µà€¿à€­à€Ÿà€ à€à€Ÿà€¢à€Ÿ  
+CDM.SubcollectionIndexManager.Remove_Subindex_Tooltip:à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€€ à€ à€°à€Ÿà€µà€¿à€ à€µà€¿à€­à€Ÿà€ à€à€Ÿà€¢à€Ÿ  
+CDM.SubcollectionIndexManager.Replace_Subindex:à€µà€¿à€­à€Ÿà€ à€¬à€Šà€²à€Ÿ  
+CDM.SubcollectionIndexManager.Replace_Subindex_Tooltip:à€ à€°à€Ÿà€µà€¿à€ à€µà€¿à€­à€Ÿà€ à€žà¥à€§à€Ÿà€°à¥à€€ à€à€°à€Ÿ  
+CDM.SubcollectionIndexManager.Set_Default_Subindex:à€
+à€à¥à€  
+CDM.SubcollectionIndexManager.Set_Default_Subindex_Tooltip:à€ à€°à€Ÿà€µà€¿à€ à€µà€¿à€­à€Ÿà€ à€
+à€à¥à€  
+CDM.SubcollectionIndexManager.Source:à€µà€¿à€­à€Ÿà€ à€€à€¯à€Ÿà€° à€à€°à€Ÿ  
+CDM.SubcollectionIndexManager.Source_Tooltip:à€à€ªà€žà€à€à¥à€°à€¹à€Ÿà€€à¥à€² à€«à€¿à€²à¥à€à€° à€¹à¥ à€µà€¿à€­à€Ÿà€ à€€à€¯à€Ÿà€° à€à€°à€€ à€à€¹à¥  
+CDM.SubcollectionIndexManager.Subindexes:à€à€ªà€žà€à€à¥à€°à€¹ à€µà€¿à€­à€Ÿà€ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+CDM.TranslationManager.Add:à€­à€Ÿà€·à€Ÿà€à€€à€° à€®à€¿à€³à€µà€Ÿ  
+CDM.TranslationManager.Add_Tooltip:à€žà€à€à¥à€°à€¹à€Ÿà€€ à€ à€°à€Ÿà€µà€¿à€ à€­à€Ÿà€·à€Ÿà€à€€à€° à€®à€¿à€³à€µà€Ÿ  
+CDM.TranslationManager.Affected_Features:à€°à¥à€ªà€à€¿à€šà¥à€¹  
+CDM.TranslationManager.Assigned_Fragments:à€­à€Ÿà€·à€Ÿà€à€€à€° à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+CDM.TranslationManager.Default_Text:à€žà¥à€°à¥à€µà€Ÿà€€à¥à€ªà€Ÿà€žà¥à€š  à€®à¥à€³ à€µà€¿à€­à€Ÿà€  
+CDM.TranslationManager.Fragment_Column:à€®à¥à€³ à€µà€¿à€­à€Ÿà€  
+CDM.TranslationManager.Language:à€­à€Ÿà€·à€à€Ÿà€€à€°à€Ÿà€à¥ à€­à€Ÿà€·à€Ÿ  
+CDM.TranslationManager.Language_Column:à€­à€Ÿà€·à€Ÿ  
+CDM.TranslationManager.Language_Tooltip:à€¯à€Ÿ à€­à€Ÿà€·à¥à€€ à€­à€Ÿà€·à€à€Ÿà€€à€° à€à€°à€Ÿ  
+CDM.TranslationManager.Remove:à€­à€Ÿà€·à€à€Ÿà€€à€° à€à€Ÿà€¢à€Ÿ  
+CDM.TranslationManager.Remove_Tooltip:à€žà€à€à¥à€°à€¹à€Ÿà€€à¥à€š à€šà€¿à€µà€¡à€ à€­à€Ÿà€·à€à€Ÿà€€à€° à€à€Ÿà€¢à€Ÿ  
+CDM.TranslationManager.Replace:à€­à€Ÿà€·à€à€Ÿà€€à€° à€¬à€Šà€²à€Ÿ  
+CDM.TranslationManager.Replace_Tooltip:à€šà€¿à€µà€¡à€  à€­à€Ÿà€·à€à€Ÿà€€à€° à€žà¥à€§à€Ÿà€°à¥à€€ à€à€°à€Ÿ  
+CDM.TranslationManager.Translation:à€­à€Ÿà€·à€à€Ÿà€€à€°à¥à€€ à€°à¥à€ªà€à€¿à€šà¥à€¹  
+CDM.TranslationManager.Translation_Tooltip:Enter the translation of the string here  
+CDM.DepositorMetadataManager.Warning:à€®à€Ÿà€¹à€¿à€€à¥ à€µà€¿à€·à€¯à€ à€®à€Ÿà€¹à€¿à€€à¥ à€à¥ à€à¥à€£à€€à€Ÿà€¹à¥ à€à€ à€­à€Ÿà€ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+#*******************
+#
+#***** Collection *****
+Collection.Collection:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>Collection</FONT></STRONG></HTML>  
+Collection.Delete_Tooltip:à€šà€¿à€µà€¡à€ à€«à€Ÿà€à€²à€žà¥ à€µ à€«à¥à€²à¥à€¡à€° à€à€Ÿà€¢à€Ÿ  
+Collection.Filter_Tooltip:à€«à€Ÿà€à€²à€žà¥à€à¥à€¯à€Ÿ à€à€°à€Ÿà€à€¡à¥à€¯à€Ÿà€€ à€«à€Ÿà€à€²à€žà¥ à€Šà€Ÿà€à€µà¥ à€šà€à€Ÿ  
+Collection.New_Folder_Tooltip:à€šà€µà€¿à€š à€«à¥à€²à¥à€¡à€° à€à€°à€Ÿ  
+Collection.No_Collection:à€žà€à€à¥à€°à€¹ à€šà€Ÿà€¹à¥  
+Collection.No_Collection_Loaded:à€žà€à€à¥à€°à€¹  à€ à¥à€µà€²à¥à€²à€Ÿ  à€šà€Ÿà€¹à¥  
+Collection.Stop:à€¥à€Ÿà€à€¬à€Ÿ  
+Collection.Stop_Tooltip:à€«à€Ÿà€à€²à€žà¥à€à¥à€¯à€Ÿ à€ªà¥à€°à€€à¥ à€à€°à€£à¥ à€¥à€Ÿà€à€¬à€µà€Ÿ  
+Collection.Workspace:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>Workspace</FONT></STRONG></HTML>  
+#**********************
+#
+#***** CollectionBuilt *****
+CollectionBuilt.Message:à€žà€à€à¥à€°à€¹ à€à€§à¥ à€Šà€Ÿà€à€µà€¿à€£à¥à€¯à€Ÿ à€€à€¯à€Ÿà€° à€à€Ÿà€²à€Ÿ à€à€¹à¥  
+CollectionBuilt.Title:à€žà€à€à¥à€°à€¹ à€€à€¯à€Ÿà€° à€à¥à€²à¥à€¯à€Ÿà€à€Ÿ à€šà€¿à€µà€à€Ÿà€²  
+#***************************
+#
+#******ScheduldBuilt******
+ScheduleBuilt.Message:à€žà€à€à¥à€°à€¹ à€à¥à€·à¥à€à€à€Ÿà€€à¥à€² à€®à€Ÿà€¹à€¿à€€à¥à€à€Ÿ à€šà€¿à€à€Ÿà€² à€ªà¥à€°à¥à€µà€žà¥à€à€¿à€€ à€à¥à€²à¥ à€à€¹à¥  
+ScheduleBuilt.Title:à€žà€à€à¥à€°à€¹ à€à¥à€·à¥à€à€à€Ÿà€€à¥à€² à€®à€Ÿà€¹à€¿à€€à¥à€à€Ÿ à€šà€¿à€à€Ÿà€²  
+#***************************
+#
+#***** CollectionManager *****
+CollectionManager.Schedule_Failed:à€
+à€¡à€¥à€³à€Ÿ à€šà€¿à€°à¥à€®à€Ÿà€£ à€à€Ÿà€²à¥à€¯à€Ÿà€šà¥ à€®à€Ÿà€¹à€¿à€€à¥ à€ à€°à€Ÿà€µà€¿à€ à€µà¥à€³à€Ÿà€šà¥ à€®à€Ÿà€¹à€¿à€€à¥ à€žà€Ÿà€ à¥à€¯à€Ÿà€®à€§à¥à€¯à¥ à€à€£à€Ÿà€° à€šà€Ÿà€¹à¥.  
+CollectionManager.Build_Cancelled:à€€à€¯à€Ÿà€° à€à¥à€²à¥à€²à€Ÿ  à€žà€à€à¥à€°à€¹ à€°à€Šà¥à€Š à€à€°à€Ÿ  
+CollectionManager.Cannot_Create_Collection:à€žà€à€à¥à€°à€¹ à€€à€¯à€Ÿà€° à€šà€Ÿà€¹à¥ à€à€Ÿà€¹à¥à€€à€°à¥ à€à¥à€à€²à¥  
+CollectionManager.Cannot_Create_Collection_With_Reason:à€žà€à€à¥à€°à€¹ à€€à€¯à€Ÿà€° à€šà€Ÿà€¹à¥ à€à€Ÿà€°à€£ à€ \   {0-à€à¥à€  à€žà€à€Šà¥à€¶ }  
+CollectionManager.Cannot_Delete_Index:à€žà€à€à¥à€°à€¹  à€ªà¥à€šà¥à€¹à€Ÿ à€€à€¯à€Ÿà€° à€¹à¥à€ à€¶à€à€€ à€šà€Ÿà€¹à¥ à€à€Ÿà€°à€£ à€à¥à€šà€¯à€Ÿ à€¯à€Ÿà€Šà¥à€€à¥à€² à€«à€Ÿà€à€²à€žà¥ à€à€Ÿà€¢à€²à¥à€¯à€Ÿ à€šà€Ÿà€¹à¥à€€ à€à¥à€ªà€¯à€Ÿ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ à€à€¿ à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€à€¿à€à€µà€Ÿ à€à€€à€° à€à¥à€£à¥ à€¯à€Ÿ à€«à€Ÿà€à€²à€žà¥ à€µà€Ÿà€ªà€°à€€ à€šà€Ÿà€¹à¥  
+CollectionManager.Cannot_Delete_Index_Log:à€à¥à€šà€¯à€Ÿ à€¯à€Ÿà€Šà¥à€€à¥à€² à€«à€Ÿà€à€²à€žà¥ à€à€Ÿà€¢à€€à€Ÿ à€¯à¥à€€ à€šà€Ÿà€¹à¥à€€ à€®à¥à€¹à€£à¥à€š ............  
+CollectionManager.Cannot_Open:{0-à€žà€à€à¥à€°à€¹ à€®à€Ÿà€°à¥à€ }à€¹à€Ÿ à€žà€à€à¥à€°à€¹  à€ªà€Ÿà€¹à€€à€Ÿ à€¯à¥à€€ à€šà€Ÿà€¹à¥................  
+CollectionManager.Cannot_Open_With_Reason:{0-à€žà€à€à¥à€°à€¹ à€®à€Ÿà€°à¥à€ }à€¹à€Ÿ à€žà€à€à¥à€°à€¹  à€ªà€Ÿà€¹à€€à€Ÿ à€¯à¥à€€ à€šà€Ÿà€¹à¥ à€à€Ÿà€°à€£ à€\n{1-Error message}  
+CollectionManager.Creating_Collection:à€žà€à€à¥à€°à€¹ à€€à€¯à€Ÿà€° à€à€°à€Ÿ  
+CollectionManager.Creating_Collection_Please_Wait:à€žà€à€à¥à€°à€¹ à€€à€¯à€Ÿà€°  à€¹à¥à€€ à€à€¹à¥ à€à¥à€ªà€¯à€Ÿ à€¥à€Ÿà€à€¬à€Ÿ  
+CollectionManager.Loading_Collection:à€žà€à€à¥à€°à€¹ à€­à€°à€Ÿ  
+CollectionManager.Loading_Collection_Please_Wait:à€žà€à€à¥à€°à€¹ à€­à€°à€Ÿ, à€à¥à€ªà€¯à€Ÿ à€¥à€Ÿà€à€¬à€Ÿ  
+CollectionManager.Loading_Successful:à€žà€à€à¥à€°à€¹ à€­à€°à€²à€Ÿ {0}  
+CollectionManager.Missing_Config:à€žà€à€à¥à€°à€¹à€Ÿà€€ à€¯à¥à€à€¯ à€žà€à€à¥à€°à€¹à€ à€žà¥à€à€«à€à¥ à€«à€Ÿà€à€² à€šà€Ÿà€¹à¥  
+CollectionManager.Not_Col_File:{0}' à€¹à¥ à€²à€Ÿà€¯à€¬à¥à€°à¥à€°à¥à€¯à€š à€à€à€à€°à€«à¥à€ž à€žà€à€à¥à€°à€¹à€ à€«à€Ÿà€à€² à€šà€Ÿà€¹à¥ (.col)  
+CollectionManager.No_Config_File:à€žà€à€à¥à€°à€¹à€ à€žà¥à€à€«à€à¥ à€«à€Ÿà€à€²  mkcol.pl.à€à€¡à¥à€š à€€à€¯à€Ÿà€°  à€šà€Ÿà€¹à¥  
+CollectionManager.Preview_Ready_Failed:à€à€Ÿà€¹à¥à€€à€°à¥ à€à¥à€à€²à¥ à€€à¥à€¯à€Ÿà€®à¥à€³à¥ à€žà€à€à¥à€°à€¹à€Ÿà€à¥ à€ªà¥à€°à€µà€ªà€Ÿà€š à€Šà€¿à€žà€€ à€šà€Ÿà€¹à¥  
+CollectionManager.Preview_Ready_Title:à€žà€à€à¥à€°à€¹ à€ªà¥à€°à¥à€µà¥à€¹à¥à€µ à€žà¥à€à¥à€.  
+CollectionManager.Schedule_Ready_Title:à€à¥à€·à¥à€à€à€Ÿà€à¥ à€žà¥à€¥à€¿à€€à¥  
+CollectionManager.Build_Not_Moved:à€€à€¯à€Ÿà€° à€à¥à€²à¥à€²à¥ à€¯à€Ÿà€Šà¥ à€¹à€²à¥ à€¶à€à€€ à€šà€Ÿà€¹à¥  
+CollectionManager.Index_Not_Deleted:à€¯à€Ÿà€Šà¥à€€à¥à€² à€ªà¥à€°à€°à¥à€Šà€¶à€ à€à€Ÿà€¢à€²à¥à€²à€Ÿ à€šà€Ÿà€¹à¥  
+CollectionManager.Install_Exception:à€à€šà¥à€žà¥à€à¥à€²à¥à€¶à€š à€à€°à€€à€Ÿà€šà€Ÿ à€žà€à€à¥à€°à€¹ à€
+à€žà€Ÿà€§à€Ÿà€£à€µà€Ÿà€à€€à¥ :\n{0}\nà€à€Ÿà€°à€£ à€µà€¿à€à€¡à¥à€à€µà€°à¥à€² à€à€¿à€à€µà€Ÿ à€²à¥à€à€² à€²à€Ÿà€¯à€¬à¥à€°à€°à¥à€€à¥à€² à€«à€Ÿà€à€² à€²à¥à€ à€à¥à€²à¥à€²à¥à€¯à€Ÿ à€à€¹à¥à€€.\nà€à¥à€ªà€¯à€Ÿ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ à€à¥ à€à¥à€£à€€à€Ÿà€¹à¥ à€žà€à€à¥à€°à€¹ à€¹à€Ÿ à€žà¥à€°à¥à€ž à€«à€Ÿà€à€² à€šà€Ÿà€¹à¥ \nare à€µà¥à€à€³à¥à€¯à€Ÿ à€
+à€ªà¥à€²à¥à€à¥à€¶à€š à€®à€§à¥à€¯à¥ à€à€ªà€š à€à€°à¥à€š, à€ªà¥à€šà¥à€¹à€Ÿ à€°à€¿à€¬à€¿à€²à¥à€¡ à€à€°à€Ÿ.  
+#*****************************
+#
+#***** CollectionPopupMenu *****
+CollectionPopupMenu.Delete:à€à¥à€¡à€Ÿ  
+CollectionPopupMenu.New_Dummy_Doc:à€šà€¿à€µà€š à€¬à€šà€Ÿà€µà€ à€Šà€žà¥à€€à€à€µà€  
+CollectionPopupMenu.New_Folder:à€šà€µà€¿à€š à€«à¥à€²à¥à€¡à€°  
+CollectionPopupMenu.Refresh:à€°à€¿à€«à¥à€°à¥à€¶   
+CollectionPopupMenu.Rename:à€ªà¥à€šà¥à€¹à€Ÿ à€šà€Ÿà€µ  
+CollectionPopupMenu.Replace:à€¬à€Šà€²à€Ÿ  
+#*******************************
+#
+#***** CreatePane *****
+CreatePane.Schedule_Progress:à€µà¥à€³à€Ÿà€ªà€€à¥à€°à€à€Ÿà€à¥ à€ªà¥à€°à€à€€à¥  
+CreatePane.Schedule:à€µà¥à€³à€Ÿà€ªà€€à¥à€°à€ à€ à€°à€µà€Ÿ.   
+CreatePane.Schedule_Tooltip:à€®à€Ÿà€¹à€¿à€€à¥ à€žà€Ÿà€ à€Ÿ à€à€ªà¥à€à€ª à€€à€¯à€Ÿà€° à€¹à¥à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥à€à€à¥ à€µà¥à€³à€Ÿà€ªà€€à¥à€°à€ à€€à€¯à€Ÿà€° à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€à¥ à€ªà€°à¥à€¯à€Ÿà€¯   
+CreatePane.Schedule_Build:à€µà¥à€³à€Ÿà€ªà€€à¥à€°à€à€Ÿà€ªà¥à€°à€®à€Ÿà€£à¥ à€à¥à€°à€¿à€¯à€Ÿ   
+CreatePane.Schedule_Build_Tooltip:à€®à€Ÿà€¹à€¿à€€à¥ à€žà€Ÿà€ à€Ÿ à€à€ªà¥à€à€ª à€€à€¯à€Ÿà€° à€¹à¥à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥à€à€à¥ à€µà¥à€³à€Ÿà€ªà€€à¥à€°à€   
+CreatePane.Build:à€à€ªà¥à€¶à€š à€€à€¯à€Ÿà€° à€à€°à€Ÿ  
+CreatePane.Build_Tooltip:à€žà€à€à¥à€°à€¹ à€°à€à€šà¥à€à¥ à€ªà¥à€°à€à¥à€°à€¿à€¯à¥à€€à¥à€²  à€ªà¥à€°à€Šà¥à€°à€¶à€¿à€à€Ÿ à€µ à€µà¥à€°à€à€¿à€à€°à€£ à€à€ªà¥à€¶à€š  
+CreatePane.Build_Collection:à€žà€à€à¥à€°à€¹ à€€à€¯à€Ÿà€° à€à€°à€Ÿ  
+CreatePane.Build_Collection_Tooltip:à€žà€à€à¥à€°à€¹ à€°à€à€šà¥à€à¥ à€ªà¥à€°à€à¥à€°à€¿à€¯à€Ÿ à€žà¥à€°à¥ à€à€°à€Ÿ  
+CreatePane.Build_Progress:à€¬à€¿à€²à¥à€¡  à€ªà¥à€°à¥à€à¥à€°à¥à€ž  
+CreatePane.Cancel_Build:à€¬à€¿à€²à¥à€¡ à€°à€Šà¥à€Š à€à€°à€Ÿ  
+CreatePane.Cancel_Build_Tooltip:à€žà€à€à¥à€°à€¹ à€°à€à€šà¥à€à¥ à€ªà¥à€°à€à¥à€°à€¿à€¯à€Ÿ à€¥à€Ÿà€à€¬à€µà€Ÿ  
+CreatePane.Full_Build:à€žà€à€ªà¥à€°à¥à€£ à€ªà¥à€šà¥à€¹à€Ÿ à€€à€¯à€Ÿà€° à€à€°à€Ÿ  
+CreatePane.Full_Build_Tooltip:à€à€°à€Ÿà€¬ à€à€Ÿà€²à€Ÿ à€€à¥à€¥ à€ªà€Ÿà€žà¥à€š à€žà€à€ªà¥à€°à¥à€£ à€žà€à€à¥à€°à€¹   à€ªà¥à€šà¥à€¹à€Ÿ à€€à€¯à€Ÿà€° à€à€°à€Ÿ  
+CreatePane.Import:à€à€ªà¥à€¶à€š à€à€®à¥à€ªà¥à€°à¥à€ à€à€°à€Ÿ  
+CreatePane.Import_Tooltip:à€žà€à€à¥à€°à€¹ à€°à€à€šà¥à€€à¥à€² à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€µ à€«à€Ÿà€à€² à€°à¥à€ªà€Ÿà€à€€à€°à€£à€Ÿà€à¥ à€ªà€Ÿà€¯à€°à¥ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€à€ªà¥à€¶à€š  
+CreatePane.Import_Progress:à€à€®à¥à€ªà¥à€°à¥à€  à€ªà¥à€°à¥à€à¥à€°à¥à€ž  
+CreatePane.Minimal_Build:à€à€®à¥à€€à€à€®à¥ à€ªà¥à€šà¥à€¹à€Ÿ à€€à€¯à€Ÿà€° à€à€°à€Ÿ  
+CreatePane.Minimal_Build_Tooltip:à€à¥à€°à€Ÿà€€, à€žà€à€à¥à€°à€¹à€Ÿà€à¥ à€ªà¥à€°à¥à€šà€¬à€Ÿà€à€§à€£à¥à€à¥ à€ªà¥à€°à€à¥à€°à€¿à€¯à€Ÿ à€¹à¥à€£à¥à€¯à€Ÿ à€à€°à¥à€€à€Ÿ à€à€µà€¶à¥à€¯à€  
+CreatePane.Minimal_Build_Not_Required:à€ªà¥à€šà¥à€¹à€Ÿ à€€à€¯à€Ÿà€° à€à€°à€£à¥à€¯à€Ÿà€à¥ à€à€µà€¶à¥à€¯à€à¥à€€à€Ÿ à€šà€Ÿà€¹à¥ à€à€Ÿà€°à€£ à€€à¥à€®à¥à€¹à¥ à€žà€à€à¥à€°à€¹à€Ÿà€€ à€à¥à€£à€€à¥à€¯à€Ÿà€¹à¥ à€«à€Ÿà€à€²à€žà¥ à€®à€¿à€³à€µà€¿à€²à¥à€¯à€Ÿ à€šà€Ÿà€¹à¥à€€ ,\nedited metadata, or changed options in the Design pane.\n(To force a rebuild, choose "Complete Rebuild" and press the "Build Collection" button.)  
+CreatePane.Log:à€žà€à€Šà¥à€¶ à€²à¥à€à¥à€  
+CreatePane.Log_Tooltip:à€µà¥à€¹à¥à€µ à€à€à€à€ªà¥à€ à€«à¥à€°à¥à€® à€ªà¥à€°à€¿à€µà¥à€¹à€¿à€
+à€ž à€à€²à¥à€à¥à€¶à€š à€«à¥à€°à€®à¥à€¶à€š à€
+à€à¥à€®à¥à€  
+CreatePane.Mode_All:à€žà¥à€°à€µ  
+CreatePane.Options:à€à€ªà¥à€¶à€š à€à€  
+CreatePane.Options_Title:à€žà€à€à¥à€°à€¹ à€®à€¿à€³à€µà€Ÿ à€µ à€à€ªà¥à€¶à€š à€€à€¯à€Ÿà€° à€à€°à€Ÿ  
+CreatePane.Preview_Collection:à€žà€à€à¥à€°à€¹ à€ªà¥à€°à¥à€µà¥à€¹à¥à€µ  
+CreatePane.Preview_Collection_Tooltip:à€žà€à€à¥à€°à€¹ à€ªà¥à€°à¥à€µà¥à€¹à¥à€µ  
+#**********************
+#
+#***** Dates *****
+Dates.Mon:à€žà¥à€®à€µà€Ÿà€°  
+Dates.Tue:à€®à€à€à€³à€µà€Ÿà€°  
+Dates.Wed:à€¬à¥à€§à€µà€Ÿà€°  
+Dates.Thu:à€à¥à€°à¥à€µà€Ÿà€°  
+Dates.Fri:à€¶à€à¥à€°à€µà€Ÿà€°  
+Dates.Sat:à€¶à€šà€¿à€µà€Ÿà€°  
+Dates.Sun:à€°à€µà€¿à€µà€Ÿà€°  
+Dates.Jan:à€à€Ÿà€šà¥à€µà€Ÿà€°à¥  
+Dates.Feb:à€«à¥à€¬à¥à€°à¥à€µà€Ÿà€°à¥  
+Dates.Mar:à€®à€Ÿà€°à¥à€  
+Dates.Apr:à€à€ªà¥à€°à€¿à€²  
+Dates.May:à€®à¥  
+Dates.Jun:à€à¥à€š  
+Dates.Jul:à€à¥à€²à¥  
+Dates.Aug:à€à€à€žà¥à€  
+Dates.Sep:à€žà€ªà¥à€à¥à€à€¬à€°  
+Dates.Oct:à€à€à¥à€à¥à€¬à€°  
+Dates.Nov:à€šà¥à€µà¥à€¹à¥à€à€¬à€°  
+Dates.Dec:à€¡à€¿à€žà¥à€à€¬à€°  
+#**********************
+#
+#***** Delete Collection Prompt *****
+DeleteCollectionPrompt.Collection_Details:à€šà€¿à€µà€¡à€ à€žà€à€à¥à€°à€¹ à€žà€µà€¿à€žà¥à€€à€°  
+DeleteCollectionPrompt.Collection_List:à€à€ªà€²à€¬à¥à€§ à€žà€à€à¥à€°à€¹  
+DeleteCollectionPrompt.Confirm_Delete:à€žà€à€à¥à€°à€¹ à€à¥à€¡à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€à¥à€à¥à€šà€Ÿà€à€µà€° à€à¥à€£ à€à€°à€Ÿ  
+DeleteCollectionPrompt.Delete:à€à¥à€¡à€Ÿ  
+DeleteCollectionPrompt.Delete_Tooltip:à€šà€¿à€µà€¡à€ à€žà€à€à¥à€°à€¹  à€à¥à€¡à€Ÿ  
+DeleteCollectionPrompt.Details:à€žà€à€à¥à€°à€¹à€ - {0}\nMaintainer - {1}\nDescription\n{2}  
+DeleteCollectionPrompt.Failed_Delete:à€žà€à€à¥à€°à€¹ à€à¥à€¡à€²à€Ÿ à€šà€Ÿà€¹à¥  
+DeleteCollectionPrompt.Failed_Title:à€à¥à€¡à€£à¥à€¯à€Ÿà€€ à€
+à€ªà€¯à€¶  
+DeleteCollectionPrompt.No_Collection:à€žà€à€à¥à€°à€¹ à€šà€¿à€µà€¡à€²à¥à€²à€Ÿ à€šà€Ÿà€¹à¥  
+DeleteCollectionPrompt.Successful_Delete:à€žà€à€à¥à€°à€¹ à€à¥à€¡à€²à€Ÿ à€à€¹à¥  
+DeleteCollectionPrompt.Successful_Title:à€à¥à€¡à€£à¥ à€žà€à€ªà€²à¥  
+DeleteCollectionPrompt.Title:à€žà€à€à¥à€°à€¹ à€à¥à€¡à€Ÿ  
+DeleteCollectionPrompt.Cannot_Delete_Open_Collection_Tooltip:à€žà€à€à¥à€°à€¹ à€šà€·à€ à€¹à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥ à€à€Ÿà€°à€£ à€žà€à€à¥à€°à€¹ à€¬à€à€Š à€à¥à€²à¥à€²à€Ÿ à€šà€Ÿà€¹à¥  
+#**********************
+#
+#***** DirectoryLevelMetadata *****
+DirectoryLevelMetadata.Message:You are about to assign 'folder level' metadata to the selected folder (or folders). Such metadata will be automatically inherited by all files and folders in this folder. Furthermore this metadata cannot be removed from specific children, only replaced. To continue with this action click 'OK'.  
+DirectoryLevelMetadata.Title:à€«à¥à€²à¥à€¡à€° à€ªà€Ÿà€€à€³à¥à€µà€° à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€­à€°à€£à¥à€¯à€Ÿà€µà€¿à€·à€¯à¥  
+
+#*******************
+#
+#***** Download *****
+DOWNLOAD.MODE.Root:Download_Root  
+DOWNLOAD.MODE.WebDownload:à€µà¥à€¬  
+DOWNLOAD.MODE.MediaWikiDownload:à€®à€¿à€¡à¥à€¯à€Ÿà€µà€¿à€à¥  
+DOWNLOAD.MODE.OAIDownload:OAI  
+DOWNLOAD.MODE.ZDownload:Z39.50  
+DOWNLOAD.MODE.SRWDownload:SRW  
+
+Download.ServerInformation:à€žà¥à€°à€µà¥à€¹à€°à€µà€¿à€·à€¯à¥ à€®à€Ÿà€¹à€¿à€€à¥  
+Download.ServerInformation_Tooltip:à€žà¥à€°à€µà¥à€¹à€°à€µà€¿à€·à€¯à¥ à€®à€Ÿà€¹à€¿à€€à¥ à€­à€°à€Ÿ à€µ à€à¥à€¡à€£ à€¯à¥à€à€¯ à€
+à€žà€²à¥à€¯à€Ÿà€à¥ à€à€Ÿà€€à¥à€°à¥ à€à€°à€Ÿ  
+
+#********************
+#
+#***** EnrichPane *****
+EnrichPane.AutoMessage:{0},à€¹à€Ÿ à€à€à€  à€à¥à€°à¥à€šà€žà¥à€à¥à€šà€à¥à€¯à€Ÿ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€žà¥à€ à€®à€§à€¿à€² à€à€¹à¥. à€à¥à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€
+à€ªà¥à€à€ª à€¯à¥à€¥à¥ à€¯à¥à€€à¥,à€€à¥à€¯à€Ÿà€à¥ à€ªà¥à€°à€€à€¿à€šà€¿à€§à¥à€€à¥à€µ à€¯à€Ÿ à€žà¥à€ à€à€¡à¥à€š à€à¥à€²à¥ à€Ÿà€€à¥. {0} à€à¥à€£à€€à€Ÿ à€®à¥à€à€¡à¥à€à€Ÿ à€¯à¥à€¥à¥ à€à€¹à¥ à€¹à¥ à€ªà€Ÿà€¹à€£à¥à€¯à€Ÿà€à€°à¥à€€à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€€à¥à€² 'à€€à€Ÿà€° à€à€°à€Ÿ' à€¹à€Ÿ à€à¥
+à€¬ à€ªà€¹à€Ÿ.  
+EnrichPane.ExistingValues:{0} à€¯à€Ÿ à€à€°à¥à€€à€Ÿ à€
+à€žà¥à€€à€¿à€€à¥à€µà€Ÿà€€à¥à€² à€®à¥à€²à¥à€¯  
+EnrichPane.InheritedMetadataSelected:à€¹à€Ÿ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€µà€°à¥à€² à€«à¥à€²à¥à€¡à€° à€®à€§à¥à€š à€à€²à€Ÿ à€à€¹à¥, à€¹à€Ÿ à€à€¡à¥à€ à€à€°à€€à€Ÿ à€¯à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥.à€¯à€Ÿ à€à€°à¥à€€à€Ÿ à€€à¥à€®à¥à€¹à¥ à€®à¥à€³ à€«à¥à€²à¥à€¡à€° à€à¥ à€žà¥à€°à¥à€µà€Ÿà€€à¥à€à¥à€¯à€Ÿ à€à€³à¥à€€ à€«à¥à€²à¥à€¡à€° à€¯à€Ÿ à€à€¯à€à¥à€š à€®à€§à¥à€¯à¥ à€à€¹à¥ à€€à¥à€¥à¥ à€à€Ÿ.  
+EnrichPane.InheritedMetadata_Tooltip:à€¯à€Ÿà€à€¿à€šà¥à€¹à€Ÿà€²à€Ÿ à€à€¿à€²à¥à€ à€à€°à¥à€š à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à¥ à€µà€¿à€µà€¿à€§ à€µà€¿à€­à€Ÿà€ à€¿à€¶à¥à€¿à€€ à€à¥à€²à¥à€²à¥ à€«à¥à€²à¥à€¡à€° à€ªà€¹à€Ÿ  
+EnrichPane.ManageMetadataSets:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà¥ à€µà€¿à€­à€Ÿà€ à€šà€¿à€¶à€¿à¥à€à€€ à€à€°à€Ÿ  
+EnrichPane.ManageMetadataSets_Tooltip:à€žà€à€à¥à€°à€¹à€Ÿà€µà¥à€Šà€Ÿà€°à¥ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà¥ à€µà€¿à€­à€Ÿà€ à€¬à€Šà€²à€Ÿ  
+EnrichPane.No_File:à€«à€Ÿà€à€² à€šà€¿à€¡à€²à¥à€²à¥ à€Ÿà€¹à¥  
+EnrichPane.No_Metadata:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€ªà€²à€¬à¥à€§ à€šà€Ÿà€¹à¥  
+EnrichPane.No_Metadata_Element:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>No Metadata Element Selected</FONT></STRONG></HTML>  
+EnrichPane.NotOneFileOnlyMetadataSelected:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à¥ à€µà€¿à€µà€¿à€§ à€µà€¿à€­à€Ÿà€à€Ÿà€à€à€Ÿ à€¯à€Ÿ à€«à€Ÿà€à€²à€µà€° à€ªà€°à¥à€£à€Ÿà€® à€¹à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥,à€µ à€€à¥à€¯à€Ÿà€®à€§à¥à€¯à¥ à€²à€¿à€¹à€¿à€€à€Ÿ à€¯à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥  
+EnrichPane.Value_Field_Tooltip:à€šà€¿à€µà€¡à€ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à¥à€¯à€Ÿ à€µà€¿à€µà€¿à€§ à€µà€¿à€­à€Ÿà€à€Ÿà€à€ à€®à¥à€²à¥à€¯ à€šà€¿à€¶à¥à€à€¿à€€à¥à€à€°à€£  
+EnrichPane.Value_Field_Tooltip_Uneditable:à€šà€¿à€µà€¡à€ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à¥à€¯à€Ÿ à€µà€¿à€µà€¿à€§ à€µà€¿à€­à€Ÿà€à€Ÿà€à€ à€®à¥à€²à¥à€¯ à€šà€¿à€¶à¥à€à€¿à€€à¥à€à€°à€£ à€à¥à€²à¥  
+#***********************
+#
+#****** ExplodeMetadataPrompt *******
+ExplodeMetadataPrompt.Explode:à€à€à¥à€žà€ªà¥à€²à¥à€¡  
+ExplodeMetadataPrompt.Explode_Tooltip:à€à€à¥à€žà€ªà¥à€²à¥à€¡ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€«à€Ÿà€à€²  
+ExplodeMetadataPrompt.Instructions:à€à€à¥à€žà€ªà¥à€²à¥à€¡à¥à€à€ à€®à¥à€³à¥ à€®à¥à€à€¡à¥à€à€Ÿà€à¥à€¯à€Ÿ à€ªà¥à€°à€€à¥à€¯à¥à€ à€°à¥à€à¥à€°à¥à€¡à€®à€§à¥à€¯à¥ à€€à¥à€®à¥à€¹à¥ à€à€¡à¥à€ à€à€°à¥ à€¶à€à€€à€Ÿ. à€¹à¥ à€à€à€Šà€Ÿà€ à€à€¡à€£à€Ÿà€°à¥ à€ªà¥à€°à€à¥à€°à¥à€¯à€Ÿ à€
+à€žà¥à€š à€¯à€Ÿ à€®à¥à€³à¥ à€žà€à€à¥à€°à€¹à€Ÿà€€à¥à€š à€®à¥à€³ à€®à¥à€à€¡à¥à€à€Ÿà€à¥ à€«à€Ÿà€à€² à€à€Ÿà€¢à€²à¥ à€à€Ÿà€€à¥.  
+ExplodeMetadataPrompt.Failed_Title:à€à€à¥à€žà€ªà¥à€²à¥à€¡à¥à€à€ à€«à¥à€²  
+ExplodeMetadataPrompt.Failed_Explode:The database {0} could not be exploded.  
+ExplodeMetadataPrompt.NotExplodable:à€¹à¥ à€«à€Ÿà€à€² à€à€à¥à€žà€ªà¥à€²à¥à€¡ à€à€Ÿà€²à¥à€²à¥ à€šà€Ÿà€¹à¥  
+ExplodeMetadataPrompt.Successful_Explode:à€¡à¥à€à€¬à¥à€ž {0}  à€¯à€¶à€žà¥à€µà¥à€ªà€£à¥ à€à€à¥à€žà€ªà¥à€²à¥à€¡ à€à€Ÿà€²à€Ÿ  
+ExplodeMetadataPrompt.Successful_Title:à€à€à¥à€žà€ªà¥à€²à¥à€¡à¥à€à€ à€ªà¥à€°à¥à€£ à€à€Ÿà€²à¥  
+ExplodeMetadataPrompt.Title:à€à€à¥à€žà€ªà¥à€²à¥à€¡ à€®à¥à€à€¡à¥à€à€Ÿ à€¡à¥à€à€¬à¥à€ž  
+ExplodeMetadataPrompt.Plugin:à€à€à¥à€žà€ªà¥à€²à¥à€¡à¥à€à€ à€žà€Ÿà€ à¥ à€ªà¥à€²à€à€à€š à€µà€Ÿà€ªà€°à€Ÿ  
+#***********************
+#
+#****** ReplaceSrcWithHTMLPrompt *******
+ReplaceSrcWithHTMLPrompt.ReplaceSrc:à€à€ à€à¥ à€à€® à€à€² à€žà¥à€µà€°à¥à€ªà€Ÿà€€ à€°à¥à€ªà€Ÿà€à€€à€°à¥à€€ à€à€°à€Ÿ.  
+ReplaceSrcWithHTMLPrompt.ReplaceSrc_Tooltip:à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€à€ à€à¥ à€à€® à€à€² à€žà¥à€µà€°à¥à€ªà€Ÿà€€ à€žà€à€à¥à€°à€¹ à€°à¥à€ªà€Ÿà€à€€à€°à¥à€€ à€à€°à€Ÿ.  
+ReplaceSrcWithHTMLPrompt.Instructions:à€à€ à€à¥ à€à€® à€à€² à€žà¥à€µà€°à¥à€ªà€Ÿà€€ à€°à¥à€ªà€Ÿà€à€€à€°à¥à€€ à€à€Ÿà€²à¥à€²à¥à€¯à€Ÿ à€žà€Ÿà€¹à€¿à€€à¥à€¯à€Ÿà€®à€§à¥à€¯à¥ à€¬à€Šà€² à€à€°à€€à€Ÿ à€¯à¥à€€à¥à€².   
+ReplaceSrcWithHTMLPrompt.Failed_Title:à€à€ à€à¥ à€à€® à€à€² à€žà¥à€µà€°à¥à€ªà€Ÿà€€ à€°à¥à€ªà€Ÿà€à€€à€°à¥à€€ à€à€Ÿà€²à¥ à€šà€Ÿà€¹à¥  
+ReplaceSrcWithHTMLPrompt.Failed_ReplaceSrc:à€¹à€Ÿ à€žà€Ÿà€¹à€¿à€€à¥à€¯ à€à€ à€à¥ à€à€® à€à€² à€žà¥à€µà€°à¥à€ªà€Ÿà€€ à€°à¥à€ªà€Ÿà€à€€à€°à¥à€€ à€¹à¥à€€ à€šà€Ÿà€¹à¥  
+ReplaceSrcWithHTMLPrompt.NotSrcReplaceable:à€¹à€Ÿ à€Šà€žà¥à€€à€à€µà€à€à€Ÿ à€ªà¥à€°à€à€Ÿà€° à€à€ à€à¥ à€à€® à€à€² à€žà¥à€µà€°à¥à€ªà€Ÿà€€ à€°à¥à€ªà€Ÿà€à€€à€°à¥à€€ à€¹à¥à€€ à€šà€Ÿà€¹à¥  
+ReplaceSrcWithHTMLPrompt.Successful_ReplaceSrc:à€žà€°à¥à€µ à€žà€à€à¥à€°à€¹ à€¯à€¶à€žà¥à€µà¥à€ªà€£à¥ à€à€ à€à¥ à€à€® à€à€² à€žà¥à€µà€°à¥à€ªà€Ÿà€€ à€°à¥à€ªà€Ÿà€à€€à€°à¥à€€ à€à€°à€Ÿ.  
+ReplaceSrcWithHTMLPrompt.Successful_Title:à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€à€ à€à¥ à€à€® à€à€² à€žà¥à€µà€°à¥à€ªà€Ÿà€€ à€°à¥à€ªà€Ÿà€à€€à€°à¥à€€ à€à€°à€Ÿ.  
+ReplaceSrcWithHTMLPrompt.Title:à€®à€Ÿà€¹à€¿à€€à¥ à€žà¥à€€à¥à€°à¥à€€à€Ÿà€à¥ html à€®à€§à¥à€¯à¥ à€°à¥à€ªà€Ÿà€à€€à€° à€à€°à€Ÿ.   
+ReplaceSrcWithHTMLPrompt.Plugin:à€à€à¥à€žà€ªà¥à€²à¥à€¡ à€žà€Ÿà€ à¥ à€¹à€Ÿ à€ªà¥à€²à€ à€µà€Ÿà€ªà€°à€Ÿ.  
+#***********************
+#
+#****** WriteCDImagePrompt *******
+WriteCDImagePrompt.CD_Name:à€žà¥à€¡à¥/à€¡à€¿à€µà¥à€¹à€¿à€¡à¥ à€šà€Ÿà€µ  
+WriteCDImagePrompt.Export:à€žà¥à€¡à¥/à€¡à¥à€µà¥à€¹à¥à€¡à¥ à€à€®à¥à€ à€²à€¿à€¹à€Ÿ  
+WriteCDImagePrompt.Export_Tooltip:Write the selected collections as a Windows CD/DVD Image  
+WriteCDImagePrompt.Failed_Export:({0}) à€žà€à€à¥à€°à€¹ à€ªà€Ÿà€ à€µà€¿à€²à€Ÿ à€à¥à€²à€Ÿ à€šà€Ÿà€¹à¥  
+WriteCDImagePrompt.Failed_Title:à€ªà€Ÿà€ à€µà€¿à€£à¥à€¯à€Ÿà€€ à€
+à€ªà€¯à€¶  
+WriteCDImagePrompt.Install:à€žà¥à€¡à¥/à€¡à€¿à€µà¥à€¹à¥à€¡à¥ à€µà€Ÿà€ªà€°à€€à€Ÿà€šà€Ÿ à€à€Ÿà€¹à¥ à€«à€Ÿà€à€² à€à€šà€žà¥à€à¥à€² à€¹à¥à€€à¥à€²(faster)  
+WriteCDImagePrompt.Install_Tooltip:à€²à€Ÿà€¯à€¬à¥à€°à€°à¥ à€žà€°à¥à€µà¥à€¹à€°  à€à€à€šà¥à€žà¥à€à¥à€² à€à€°à€£à€Ÿà€¯à¥à€°à€Ÿ  à€žà¥à€µ-à€à€à€žà¥à€à¥à€²à¥à€à€ à€žà¥à€¡à¥-à€°à¥à€®à€à€Ÿ à€à€ªà€¯à¥à€ à€à€°à€Ÿ (à€µ à€žà€à€à¥à€°à€¹à€Ÿà€à¥à€¯à€Ÿ à€«à€Ÿà€à€²)à€¹à¥à€žà¥à€ à€®à€¶à¥à€šà€µà€°  
+WriteCDImagePrompt.NoInstall:à€«à€Ÿà€à€² à€à€šà€žà¥à€à¥à€² à€à€°à€€à€Ÿà€šà€Ÿ à€žà¥à€¡à¥/à€¡à€¿à€µà¥à€¹à¥à€¡à¥à€à€Ÿ à€µà€Ÿà€ªà€° à€à¥à€²à¥à€²à€Ÿ à€šà€Ÿà€¹à¥  
+WriteCDImagePrompt.NoInstall_Tooltip:à€¹à¥à€žà¥à€ à€®à€¶à€¿à€šà€µà€° à€à¥à€£à€€à¥à€¹à¥ à€à€à€šà¥à€žà¥à€à¥à€²à¥à€¶à€š à€š à€à€°à€€à€Ÿ à€žà¥à€¡à¥ à€°à¥à€® à€µà¥à€Šà€Ÿà€°à¥ à€²à€Ÿà€¯à€¬à¥à€°à€°à¥ à€°à€š à€à€°à€Ÿ  
+WriteCDImagePrompt.Instructions:à€µà€¿à€à€¡à¥à€à¥ à€žà¥à€¡à¥ à€¡à€¿à€µà¥à€¹à¥à€¡à¥  à€žà¥à€²à¥à€« à€à€à€žà¥à€à¥à€²à¥à€¶à€š à€à€°à¥à€€à€Ÿ à€žà€à€à¥à€°à€¹ à€ªà€Ÿà€ à€µà€Ÿ (à€¹à¥ à€à€Ÿà€® à€à¥à€£à€€à¥à€¯à€Ÿà€¹à¥ à€ªà¥à€²à¥
+à€à€«à¥à€°à¥à€® à€µà€° à€¹à¥à€ à€¶à€à€€à¥,à€žà¥à€¡à¥ à€¡à€¿à€µà¥à€¹à¥à€¡à¥ à€à€®à¥à€ à€¯à€Ÿ à€«à€à¥à€€ à€µà€¿à€à€¡à¥à€à€µà€° à€°à€š à€à¥à€²à¥à€¯à€Ÿà€šà€à€°à€ à€€à€¯à€Ÿà€° à€¹à¥à€€à€Ÿà€€ ).  
+WriteCDImagePrompt.Progress_Label:à€«à€Ÿà€à€à¥à€¯à€Ÿ à€ªà¥à€°à€€à¥ à€¹à¥à€€ à€à€¹à€€.à€€à¥à€¯à€Ÿà€à€°à¥à€€à€Ÿ à€¥à¥à€¡à€Ÿ à€µà¥à€³ à€²à€Ÿà€à¥à€²  
+WriteCDImagePrompt.Size_Label:à€žà€°à€Ÿà€žà€°à¥ à€à€à€Ÿà€°  
+WriteCDImagePrompt.Successful_Export:({0})  à€žà€à€à¥à€°à€¹ à€ªà€Ÿà€ à€µà€¿à€²à€Ÿ à€à€¹à¥  
+WriteCDImagePrompt.Successful_Title:à€ªà€Ÿà€ à€µà€¿à€£à¥ à€ªà¥à€°à¥à€£ à€à€Ÿà€²à¥  
+WriteCDImagePrompt.Title:à€žà¥à€¡à¥/à€¡à¥à€µà¥à€¹à¥à€¡à€¿ à€µà¥à€Šà€Ÿà€°à¥ à€žà€à€à€Ÿà€°à€¹ à€ªà€Ÿà€ à€µà€Ÿ
+#************************
+#
+#****** ExportAsPrompt *******
+ExportAsPrompt.Export_Name:à€«à¥à€²à¥à€¡à€°à€à¥ à€šà€Ÿà€µ  
+ExportAsPrompt.Export_Name_Tooltip:à€à¥à€°à¥à€šà€žà¥à€à¥à€šà€à¥à€¯à€Ÿ à€€à€Ÿà€€à€ªà¥à€°à€€à¥à€¯à€Ÿ à€ªà¥à€°à€°à¥à€Šà€¶à€¿à€à¥à€€ à€à¥à€¥à¥ à€ªà€Ÿà€ à€µà€¿à€²à¥à€²à€Ÿ à€žà€à€à¥à€°à€¹ à€žà€Ÿà€ à€µà€¿à€²à€Ÿ à€à€Ÿà€€à¥ à€€à¥à€¯à€Ÿ à€«à¥à€²à¥à€¡à€°à€à¥ à€šà€Ÿà€µ  
+ExportAsPrompt.Export:à€žà€à€à¥à€°à€¹ à€ªà€Ÿà€ à€µà€Ÿ  
+ExportAsPrompt.Export_Tooltip:à€šà€¿à€µà€¡à€²à¥à€²à€Ÿ à€žà€à€à¥à€°à€¹ à€¹à€Ÿ  à€¡à€¿à€à€Ÿà€¯à€šà¥à€à¥à€¡ à€¡à€¿à€°à¥à€à¥à€à€°à¥à€€à¥à€² à€«à€Ÿà€à€² à€«à¥à€°à€®à¥
+à€ à€®à€§à¥à€¯à¥ à€à€à¥à€žà€ªà¥à€°à¥à€ à€à€°à€Ÿ  
+ExportAsPrompt.Failed_ExportOne:{0} à€žà€à€à¥à€°à€¹ à€ªà€Ÿà€ à€µà€¿à€€à€Ÿ à€¯à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥  
+ExportAsPrompt.Failed_Details:à€žà€µà€¿à€žà¥à€€à€° à€®à€Ÿà€¹à€¿à€€à¥ à€žà€Ÿà€ à¥ {à¥§} à€ªà€¹à€Ÿ  
+ExportAsPrompt.Failed_Title:à€ªà€Ÿà€ à€µà€¿à€£à¥ à€à¥à€à€²à¥  
+ExportAsPrompt.Instructions:à€à€ à€à€¿à€à€µà€Ÿ à€€à¥à€¯à€Ÿ à€ªà¥à€à¥à€·à€Ÿ à€à€Ÿà€žà¥à€€ à€žà€à€à¥à€°à€¹ à€¹à€Ÿ à€šà€¿à€µà€¡à€²à¥à€²à¥à€¯à€Ÿ à€žà¥à€à¥
+à€ªà¥à€¯à¥à€²à¥à€à¥à€¡ à€¡à€¿à€°à¥à€à¥à€à€°à¥  à€®à€§à¥à€¯à¥ à€à€à¥à€žà€ªà¥à€°à¥à€ à€à€°à€Ÿ  
+ExportAsPrompt.Progress_Label:à€«à€Ÿà€à€² à€ªà€Ÿà€ à€µà€Ÿ ,à€¯à€Ÿ à€à€°à¥à€€à€Ÿ à€¥à¥à€¡à€Ÿ à€µà¥à€³ à€²à€Ÿà€à¥à€²  
+ExportAsPrompt.Successful_ExportOne:à€žà€à€à¥à€°à€¹ à€ªà€Ÿà€ à€µà€¿à€²à€Ÿ,{0},  
+ExportAsPrompt.Successful_Details:à€«à€Ÿà€à€² à€à¥à€°à€®à€Ÿà€à€°à€ à€{à¥§}  
+ExportAsPrompt.Successful_Title:à€ªà€Ÿà€ à€µà€¿à€£à¥ à€ªà¥à€°à¥à€£ à€à€Ÿà€²à¥  
+ExportAsPrompt.Title:à€žà€à€à¥à€°à€¹ à€ªà€Ÿà€ à€µà€Ÿ  
+ExportAsPrompt.SaveAs:à€ªà€Ÿà€ à€µà€Ÿ  
+ExportAsPrompt.SaveAs_Tooltip:à€à¥à€¯à€Ÿ à€ªà¥à€°à€à€Ÿà€°à¥ à€ªà€Ÿà€ à€µà€Ÿà€¯à€à¥ à€€à¥ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+ExportAsPrompt.Cancel:à€°à€Šà¥à€Š  
+ExportAsPrompt.Cancel_Tooltip:à€ªà€Ÿà€ à€µà€¿à€£à¥à€¯à€Ÿà€à¥ à€ªà¥à€°à€à¥à€°à€¿à€¯à€Ÿ à€°à€Šà¥à€Š à€à€°à€Ÿ  
+ExportAsPrompt.Browse:à€¶à¥à€§à€Ÿ  
+ExportAsPrompt.Browse_Tooltip:à€à€à¥à€žà¥à€² à€«à€Ÿà€à€² à€šà€¿à€µà€¡à€Ÿ  
+ExportAsPrompt.ApplyXSL:à€à€à¥à€žà¥à€² à€«à€Ÿà€à€²à€à€Ÿ à€µà€Ÿà€ªà€° à€à€°à€Ÿ {0}  
+ExportAsPrompt.ApplyXSL_Tooltip:à€à€à¥à€žà¥à€² à€«à€Ÿà€à€² à€šà€¿à€µà€¡à¥à€š à€ªà€Ÿà€ à€µà€¿à€²à¥à€²à¥à€¯à€Ÿ à€«à€Ÿà€à€²à€žà¥ à€°à¥à€ªà€Ÿà€à€€à€°à¥à€€ à€à€°à€Ÿ  
+ExportAsPrompt.MARCXMLGroup:à€®à€Ÿà€°à¥à€ à€°à¥à€à¥à€°à¥à€¡à€à€Ÿ à€à€  
+ExportAsPrompt.MARCXMLGroup_Tooltip:à€žà€°à¥à€µ à€®à€Ÿà€°à¥à€ à€°à¥à€à¥à€°à¥à€¡ à€à€à€Ÿ à€«à€Ÿà€à€² à€à€¡à¥ à€ªà€Ÿà€ à€µà€Ÿ  
+ExportAsPrompt.MappingXML:à€«à€Ÿà€à€² à€®à¥
+à€ªà€¿à€à€ à€à€°à€Ÿ  
+ExportAsPrompt.MappingXML_Tooltip:à€ªà€Ÿà€ à€µà€¿à€²à¥à€²à¥à€¯à€Ÿ à€«à€Ÿà€à€² à€°à¥à€ªà€Ÿà€à€€à€°à¥à€€ à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥  à€®à¥
+à€ªà€¿à€à€  à€«à€Ÿà€à€²à€à€Ÿ à€à€ªà€¯à¥à€ à€à€°à€Ÿ  
+#
+#***** Inherited Metadata *****
+ExtractedMetadata.Message:à€¯à€Ÿ à€šà€¿à€µà€¡à€ à€«à€Ÿà€à€² à€µà€«à¥à€²à¥à€¡à€° à€®à€§à¥à€¯à¥ à€®à¥à€³ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€¹à¥,à€ªà€£ à€žà€§à¥à€¯à€Ÿ à€€à¥ à€²à€ªà€µà€¿à€²à€Ÿ à€à€¹à¥.à€®à¥à€³ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€ªà€Ÿà€¹à€£à¥à€¯à€Ÿà€à€°à¥à€€à€Ÿ "(à€«à€Ÿ)à€«à€Ÿà€à€²" à€®à€§à¥à€š"(à€ªà¥à€°) à€ªà¥à€°à€§à€Ÿà€šà¥à€¯à€à¥à€°à€®" à€šà€¿à€µà€¡à€Ÿ à€žà€Ÿà€§à€Ÿà€°à€£ à€ªà€Ÿà€šà€µà€°à¥à€².âŠ"à€®à¥à€³ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€Šà€Ÿà€à€µà€Ÿ" à€¯à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à¥à€š "(à€) à€à€à¥" à€²à€Ÿ à€à€¿à¥à€²à€ à€à€°à€Ÿ  
+ExtractedMetadata.Title:à€¯à€Ÿ  à€«à€Ÿà€à€² à€µà€«à¥à€²à¥à€¡à€° à€®à€§à¥à€¯à¥ à€²à€ªà€µà€¿à€²à€Ÿ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€¹à¥.  
+#
+#***** FileActions *****
+FileActions.Calculating_Size:à€šà€¿à€µà€¡à€²à¥à€²à¥à€¯à€Ÿ à€žà€°à¥à€µ à€«à€Ÿà€à€²à€à¥ à€à€à€Ÿà€°à€®à€Ÿà€š  à€€à€ªà€Ÿà€žà€²à¥ à€à€Ÿà€€ à€à€¹à¥  
+FileActions.Copying:à€ªà¥à€°à€€ {0}  
+FileActions.Could_Not_Delete:{0} à€à¥à€¡à€€à€Ÿ à€¯à¥à€€ à€šà€Ÿà€¹à¥  
+FileActions.Cyclic_Path:{0}: à€ªà¥à€°à€€ à€¹à¥à€€ à€šà€Ÿà€¹à¥ à€à€Ÿà€°à€£ à€šà€¿à€¶à¥à€à€¿à€€ à€à¥à€²à¥à€²à¥ à€«à¥à€²à¥à€¡à€° à€¹à¥ à€žà¥à€°à¥à€ž à€«à¥à€²à¥à€¡à€°à€à¥ à€à€ª à€«à¥à€²à¥à€¡à€° à€à€¹à¥  
+FileActions.Deleting:{0} à€à¥à€¡à€²à¥ à€à€Ÿà€€ à€à€¹à¥  
+FileActions.Directories_Selected:{0} à€šà€¿à€µà€¡à€ à€«à¥à€²à¥à€¡à€°  
+FileActions.Directory_Selected:à¥§ à€«à¥à€²à¥à€¡à€°  à€šà€¿à€µà€¡à€²à¥  
+FileActions.File_Already_Exists_No_Create:{0}à€¹à¥ à€«à€Ÿà€à€² à€à€§à¥à€ªà€Ÿà€žà¥à€š à€à€¹à¥  
+FileActions.File_And_Directories_Selected:à¥§ à€«à€Ÿà€à€² à€µ {0} à€«à¥à€²à¥à€¡à€° à€šà€¿à€µà€¡à€²à¥  
+FileActions.File_And_Directory_Selected:à¥§ à€«à€Ÿà€à€² à€µ à¥§ à€«à¥à€²à¥à€¡à€° à€šà€¿à€µà€¡à€²à¥  
+FileActions.File_Create_Error:{0} à€«à€Ÿà€à€² à€€à€¯à€Ÿà€° à€à€Ÿà€²à¥ à€Ÿà€¹à¥  
+FileActions.Folder_Create_Error:à€«à¥à€²à¥à€¡ {0} à€à¥à€²à¥  à€šà€Ÿà€¹à¥  
+FileActions.File_Exists:{0} à€ªà¥à€°à¥à€µà¥ à€šà€¿à€¶à¥à€à€¿à€€ à€à¥à€²à¥à€²à¥à€¯à€Ÿ à€«à¥à€²à¥à€¡à€°à€®à€§à¥à€¯à¥ à€«à€Ÿà€à€² à€à€¹à¥. à€€à¥à€¯à€Ÿà€µà€° à€ªà¥à€šà¥à€¹à€Ÿ à€à¥à€¯à€Ÿà€¯à€à¥ à€à€Ÿ?  
+FileActions.File_Move_Error_Message:à€¹à€²à€µà€¿à€€à€Ÿ à€¯à¥à€£à€Ÿà€° à€šà€Ÿà€¹à€¿  {0} to\n{à¥§}.  
+
+FileActions.File_Not_Found_Message:{0}\nThe file named above can not be found. Once file view\nhas refreshed, please check the file still exists.  
+FileActions.File_Selected:à¥§  à€«à€Ÿà€à€² à€šà€¿à€µà€¡à€²à¥  
+FileActions.Files_And_Directory_Selected:{0} à€«à€Ÿà€à€² à€µ à¥§ à€«à¥à€²à¥à€¡à€° à€šà€¿à€µà€¡à€²à¥  
+FileActions.Files_Selected:{0} à€«à€Ÿà€à€² à€šà€¿à€µà€¡à€²à¥  
+FileActions.Folder_Already_Exists:{0}' à€«à¥à€²à¥à€¡à€°à€à¥ à€¹à¥ à€šà€Ÿà€µ à€à€§à¥à€ à€à¥à€€à€²à¥ à€à€¹à¥. à€«à¥à€²à¥à€¡ à€€à€¯à€Ÿà€° à€à€°à€€à€Ÿ à€¯à¥à€€ à€šà€Ÿà€¹à¥  
+FileActions.Insufficient_Space_Message:à€¯à€Ÿ à€«à€Ÿà€à€²à€µà€°à¥à€² à€à¥à€€à¥ à€ªà¥à€°à¥à€£ à€à€Ÿà€²à¥ à€šà€Ÿà€¹à¥ à€à€Ÿà€°à€£ à€¡à€¿à€à¥à€žà€µà€° à€ªà¥à€°à¥à€¶à¥ à€à€Ÿà€à€Ÿ à€šà€Ÿà€¹à¥.à€¹à¥ à€«à€Ÿà€à€² à€à¥à€ªà¥ à€à€°à€£à¥à€¯à€Ÿà€à€°à¥à€€à€Ÿ à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ  
+FileActions.Moving:à€¹à€²à€€à¥ à€à€¹à¥ {0}  
+FileActions.No_Activity:à€à¥à€€à¥à€žà€Ÿà€ à¥ à€µà€¿à€šà€à€€à¥ à€šà€Ÿà€¹à¥  
+FileActions.Read_Not_Permitted_Message:à€µà€Ÿà€à€²à¥ à€šà€Ÿà€¹à¥ {0}  
+FileActions.Read_Only:à€¯à€Ÿ  à€«à€Ÿà€à€² à€«à€à¥à€€ à€µà€Ÿà€à€šà€¿à€¯ à€à€¹à¥à€€,à€€à¥à€¯à€Ÿ à€à€Ÿà€¢à€€à€Ÿ à€¯à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥à€€  
+FileActions.Replacing:à€¬à€Šà€²à€€ à€à€¹à¥ {0}  
+FileActions.Selected:{0} à€«à€Ÿà€à€² à€µ à¥§ à€«à¥à€²à¥à€¡à€° à€šà€¿à€µà€¡à€²à¥  
+FileActions.Unknown_File_Error_Message:à€à€€à¥à€€à€Ÿ à€ªà€°à¥à€¯à€à€€ à€¯à€Ÿ à€«à€Ÿà€à€² à€à€°à¥à€€à€Ÿ à€à¥à€£à€€à¥à€¹à¥ à€à¥à€à¥à€à¥ à€šà€¿à€µà¥à€Šà€š à€à€²à¥à€²à¥ à€šà€Ÿà€¹à¥\, à€€à€ªà€žà€£à¥à€šà¥à€žà€Ÿà€° à€¹à¥ à€«à€Ÿà€à€² à€à¥à€£à€€à¥à€¯à€Ÿà€¹à¥ à€žà¥à€°à¥à€ž à€«à€Ÿà€à€² à€®à€§à¥à€² à€šà€Ÿà€¹à¥. à€¹à¥ à€®à€Ÿà€¹à¥à€€ à€šà€žà€£à¥à€¯à€Ÿà€à¥ à€à€Ÿà€£.à€à¥à€ªà€¯à€Ÿ à€€à¥à€à¥ à€à€šà¥à€žà¥à€à¥à€² à€à¥ à€à€® à€µà¥à€¹à¥ à€µ à€®à€¿à€¡à¥à€¯à€Ÿ à€
+à€Šà¥à€¯à€¯à€Ÿà€µà€€ à€à€°à€Ÿ.  
+FileActions.Write_Not_Permitted_Message:à€²à€Ÿà€¯à€¬à¥à€°à€°à¥à€¯à€š à€à€à€à€°à€«à¥à€žà€²à€Ÿ  à€¹à¥ à€«à€Ÿà€à€² à€²à€¿à€¹à€£à¥à€¯à€Ÿà€à¥ à€ªà€°à€µà€Ÿà€šà€à¥ à€šà€Ÿà€¹à¥.  
+FileActions.Write_Not_Permitted_Title:à€à¥à€ -  à€«à€Ÿà€à€² à€ªà€°à€µà€Ÿà€šà€à¥ à€¬à€°à¥à€¬à€° à€à€°à€Ÿ  
+FileActions.Yes_To_All:à€¹à¥à€¯ à€žà€°à¥à€µ  
+
+
+#************************
+#
+#******* File Associations dialog **********
+FileAssociationDialog.Add:à€®à€¿à€žà€³à€Ÿ  
+FileAssociationDialog.Add_Tooltip:à€¯à€Ÿ à€ªà¥à€°à€à€Ÿà€°à€à¥à€¯à€Ÿ  à€«à€Ÿà€à€² à€Šà€°à¥à€¶à€µà€¿à€£à¥à€¯à€Ÿà€à€°à¥à€€à€Ÿ à€¹à¥ à€
+à€ªà¥à€²à€¿à€à¥à€¶à€š à€µà€Ÿà€ªà€°à€Ÿ  
+FileAssociationDialog.Batch_File:à€¬à¥
+à€ à€«à€Ÿà€à€²  
+FileAssociationDialog.Browse:à€¶à¥à€§à€Ÿ  
+FileAssociationDialog.Browse_Tooltip:à€«à€Ÿà€à€² à€®à€§à¥à€š à€µà€Ÿà€ªà€°à€£à¥à€¯à€Ÿà€à€°à¥à€€ à€
+à€ªà¥à€²à€¿à€à¥à€¶à€š à€šà€¿à€µà€¡à€Ÿ  
+FileAssociationDialog.Browse_Tooltip_Mac:à€€à¥à€®à€à¥ à€
+à¥
+à€ªà¥à€²à€¿à€à¥à€¶à€š à€®à¥
+à€à¥à€ à€à€°à¥à€€à€Ÿ à€
+à€žà€®à¥à€°à€¥ à€à€°à€Ÿ  
+FileAssociationDialog.Browse_Title:à€
+à€ªà¥à€²à€¿à€à¥à€¶à€š à€šà€¿à€µà€¡à€Ÿ  
+FileAssociationDialog.Close:à€¬à€à€Š  
+FileAssociationDialog.Close_Tooltip:à€¹à¥ à€¬à€à€Š à€à€°à¥à€šà€®à¥à€à¥à€¯ à€à€¿à€¡à€à¥à€µà€° à€à€Ÿ  
+FileAssociationDialog.Command:à€žà¥à€à€šà€Ÿ à€à€°à€Ÿ  
+FileAssociationDialog.Command_File:à€žà¥à€à€šà€Ÿ à€«à€Ÿà€à€²  
+FileAssociationDialog.Command_Tooltip:à€žà¥à€à€šà€Ÿ à€à€°à€Ÿ à€µ  
+FileAssociationDialog.Details:à€šà€µà€¿à€š à€«à€Ÿà€à€²à€à¥ à€žà€µà€¿à€žà¥à€€à€° à€
+à€žà¥à€žà¥à€à€¶à€š  
+FileAssociationDialog.Executable_File:à€à€ªà€¯à¥à€à€Ÿà€€ à€à€£à€Ÿà€µà€¯à€Ÿà€à¥à€¯à€Ÿ à€«à€Ÿà€à€²à¥à€ž  
+FileAssociationDialog.Extension:à€«à€Ÿà€à€²à¥à€ž à€à€šà€¡à¥à€ à€à€°à¥à€€à€Ÿ  
+FileAssociationDialog.Extension_Tooltip:à€«à€Ÿà€à€²à¥à€ž à€Šà€Ÿà€à€µà€¿à€£à¥à€¯à€Ÿà€à€°à¥à€€à€Ÿ à€«à€Ÿà€à€² à€µà€¿à€žà¥à€€à€Ÿà€° à€ªà€¹à€Ÿ.  
+FileAssociationDialog.Instructions:Use this dialog to set what external programs are used to view a certain file-type, and what command is sent to launch this program.\nTo add a new file-type, type its extension in 'For files ending'. To add or modify a launch command, type the new command in 'Launch command' or click 'Browse' to search the file system for an appropriate program. Use the special string '%1' to indicate where the name of the file to be opened should be inserted, e.g. "C:\\Windows\\System\\MSPaint.exe %1". '%1' will be appended to the end of a command if not otherwise specified.\nMacOS users should always try the mac specific command "open [-a <application_name>] %1" first.  
+FileAssociationDialog.Table.Command:à€žà¥à€à€šà€Ÿ  
+FileAssociationDialog.Table.Extension:à€µà€¿à€žà¥à€€à€°à¥à€°  
+FileAssociationDialog.Title:à€«à€Ÿà€à€² à€
+à€žà¥à€žà¥à€à€¶à€š à€à€¡à¥à€ à€à€°à€Ÿ  
+FileAssociationDialog.Remove:à€à€Ÿà€¢à¥à€š à€à€Ÿà€à€Ÿ  
+FileAssociationDialog.Remove_Tooltip:à€à€§à¥ à€
+à€žà€²à¥à€²à¥à€¯à€Ÿ à€
+à€žà¥à€žà¥à€à€¶à€šà€®à€§à¥à€š  à€šà€¿à€µà€¡à€²à¥à€²à¥ à€
+à€žà¥à€žà¥à€à€¶à€š à€à€Ÿà€¢à€Ÿ  
+FileAssociationDialog.Replace:à€¬à€Šà€²à€Ÿ  
+FileAssociationDialog.Replace_Tooltip:à€šà€¿à€µà€¡à€²à¥à€²à¥ à€
+à€žà¥à€žà¥à€à€¶à€š à€šà€µà€¿à€š à€
+à€žà¥à€žà¥à€à€¶à€šà€à¥à€¯à€Ÿ à€à€Ÿà€à¥ à€­à€°à€Ÿ  
+#*******************
+#
+#******Filter***************
+Filter.0:à€à€à€à¥à€à€® à€µ à€à€à€à¥à€à€®à€à€²  
+Filter.1:à€à€à¥à€ž à€à€®à€à€²  
+Filter.2:à€°à¥à€ªà€à€¿à€šà¥à€¹ à€«à€Ÿà€à€²  
+Filter.3:à€à€¿à€€à¥à€°  
+Filter.4:à€ªà¥à€¡à¥à€à€«  
+Filter.5:à€à€Ÿà€°à¥à€¯à€Ÿà€²à€¯à¥à€š à€žà€Ÿà€¹à€¿à€€à¥à€¯  
+Filter.All_Files:à€žà€°à¥à€µ à€«à€Ÿà€à€²  
+Filter.Filter_Tree:à€«à€Ÿà€à€² à€Šà€Ÿà€à€µà€Ÿ  
+Filter.Invalid_Pattern:<HTML><FONT FACE={FONT} COLOR=Black>The pattern you have entered for filtering files is invalid.<BR>Please try again using regular expression syntax and with<BR>* for the wildcard character.</FONT></HTML>  
+#***********************
+#
+#***** GAuthenticator *****
+GAuthenticator.Password:à€à¥à€£à¥à€à€Ÿ à€¶à€¬à¥à€Š  
+GAuthenticator.Password_Tooltip:à€€à¥à€®à€à€Ÿ à€à¥à€£à¥à€à€Ÿ à€¶à€¬à¥à€Š à€­à€°à€Ÿ  
+GAuthenticator.Title:à€à¥à€£à¥à€à€Ÿ à€¶à€¬à¥à€Š à€à€µà€¶à¥à€  
+GAuthenticator.Username:à€à€ªà€¯à¥à€à€Ÿà€à¥ à€šà€Ÿà€µ  
+GAuthenticator.Username_Tooltip:à€à€ªà€¯à¥à€à€Ÿà€à¥ à€šà€Ÿà€µ à€­à€°à€Ÿ  
+#**************************
+#
+#***** General Messages *****
+# 0 - A String representing the name and method of the class in question.
+General.Apply:à€
+à€ªà¥à€²à€Ÿà€¯  
+General.Apply_Tooltip:à€žà€§à¥à€¯à€Ÿà€à¥ à€žà¥à€à€¿à€à€à¥ à€
+à€ªà¥à€²à€Ÿà€¯ à€à€°à€Ÿ à€ªà€£ à€¡à€Ÿà€²à¥à€ à€®à€§à¥à€š à€¬à€Ÿà€¹à¥à€° à€¯à¥à€ à€šà€à€Ÿ  
+General.Browse:à€¶à¥à€§à€Ÿ  
+General.Cancel:à€°à€Šà¥à€Š  
+General.Cancel_Tooltip:à€¬à€Šà€² à€°à€Šà¥à€Š à€à€°à€Ÿ(à€°à€Šà¥à€Š à€¹à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥)  
+General.Close:à€¬à€à€Š  
+General.Close_Tooltip:à€¡à€Ÿà€¯à€²à¥à€ à€¬à¥à€à¥à€ž à€¬à€à€Š à€à€°à€Ÿ  
+General.Edit:à€®à¥à€²à¥à€¯ à€²à€¿à€¹à€Ÿ  
+General.Error:à€à¥à€  
+General.No:à€šà€Ÿà€¹à¥  
+General.NotSunJava:à€à€Ÿà€µà€Ÿ à€µà€¿à€€à€°à€: à€žà¥à€à€šà€Ÿ à€²à€Ÿà€¯à€¬à¥à€°à€°à¥à€¯à€š à€à€à€à€°à€«à¥à€ž à€¹à€Ÿ à€à€Ÿà€µà€Ÿ à€šà¥ à€€à€ªà€Ÿà€žà€²à€Ÿ à€
+à€žà¥à€š à€žà€š à€®à€Ÿà€¯à€à¥à€°à¥à€žà¥à€«à¥à€à€šà¥ à€žà¥à€§à€Ÿà€°à¥à€€ à€à¥à€²à€Ÿ à€à€¹à¥  
+General.OK:à€à€à¥  
+General.OK_Tooltip:à€žà€§à¥à€¯à€Ÿà€à¥ à€žà¥à€à€¿à€à€à¥à€ à€žà¥à€µà€¿à€à€Ÿà€°à€Ÿ à€µ à€¡à€Ÿà€¯à€²à¥à€ à€®à€§à¥à€š à€¬à€Ÿà€¹à¥à€° à€¯à€Ÿ  
+General.Outstanding_Processes:<html>à€žà€°à¥à€µ à€ªà¥à€°à¥à€à¥à€°à¥
+à€® à€
+à€žà¥ à€ªà€°à¥à€¯à€à€€ à€²à€Ÿà€¯à€¬à¥à€°à€°à¥à€¯à€š à€à€à€à€°à€«à¥à€ž à€¬à€à€Š à€¹à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥ <br> à€²à€Ÿà€¯à€¬à¥à€°à€°à¥à€¯à€š à€à€à€à€°à€«à¥à€ž à€à€Ÿà€²à¥ à€à€¹à¥.</html>  
+General.Outstanding_Processes_Title:à€¬à€Ÿà€¹à¥à€° à€ªà€¡à€£à¥à€¯à€Ÿà€ž à€µà€Ÿà€ à€ªà€¹à€Ÿ  
+General.Pure_Cancel_Tooltip:à€¹à¥ à€à¥à€€à¥ à€à€°à¥ à€šà€à€Ÿ (à€¬à€Šà€² à€¹à¥à€ à€šà€¯à¥à€€)  
+General.Review_Output:à€à¥à€ªà€¯à€Ÿ à€°à€¿à€µà¥à€¹à¥à€µ à€à€à€à€ªà¥à€ à€à€Ÿà€²à¥ à€Šà€Ÿà€à€µà€Ÿ  
+General.Redo:à€ªà¥à€šà¥à€¹à€Ÿ à€à€°à€Ÿ  
+General.Redo_Tooltip:à€¶à¥à€µà€à€à¥ à€šà€à¥à€²à¥à€²à¥ à€€à€žà¥à€ à€ à¥à€µà€Ÿ  
+General.Undo:à€à€°à¥ à€šà€à€Ÿ  
+General.Undo_Tooltip:à€¶à¥à€µà€à€à¥ à€à€¡à¥à€  à€šà€à¥à€²à¥à€²à¥ à€€à€žà¥à€ à€ à¥à€µà€Ÿ  
+General.Usage:Usage: {0} <params>\nAll parameters are optional but the Librarian Interface may fail to work if -gsdl and -library aren't set.\n -gsdl <path>  : Force path to gsdl\n -library <path> : Path to cgi-bin\n -mozilla <path> : Enabled mozilla\n -mirror : Enable web-mirroring controls\n -laf [java|windows|motif|mac] : Look and feel\n -debug : Enable debug messages\n -no_load : Don't load previously open collection\n -load <path> : Load the specified collection  
+General.View:à€®à¥à€²à¥à€² à€Šà€Ÿà€à€µà€Ÿ  
+General.Warning:à€žà¥à€à€šà€Ÿ  
+General.Yes:à€¹à¥à€¯  
+#****************************
+#
+#***** GShell *****
+GShell.BadArgument:à€µà€à¥à€€à€µà¥à€¯ à€šà€¿à€°à¥à€ªà€¯à¥à€à¥  
+GShell.BadArgumentValue:à€µà€à¥à€€à€µà¥à€¯à€Ÿà€ž{0} à€®à¥à€²à¥à€² à€šà€¿à€°à¥à€ªà€¯à¥à€à¥  
+GShell.BadPluginOptions:à€¯à€Ÿ à€ªà¥à€²à€à€à€š à€®à€§à¥à€¯à¥ à€à¥à€à€¿à€à¥ à€šà€¿à€µà¥à€Šà€š à€à€²à¥ à€à€¹à¥ {0}  
+GShell.BadClassifierOptions:à€¯à€Ÿ à€µà€°à¥à€à€Ÿà€€ à€à¥à€à€¿à€à¥ à€šà€¿à€µà¥à€Šà€š à€à€²à¥ à€à€¹à¥ {0}.  
+GShell.Build.Auxilary:à€žà€¹à€Ÿà€¯à¥à€¯à€ à€«à€Ÿà€à€² à€€à€¯à€Ÿà€° à€¹à¥à€€ à€à€¹à¥à€€ ...  
+GShell.Build.BuildBegun1:*********************à€¬à€Ÿà€à€§à€£à¥à€¯à€Ÿà€ž à€žà¥à€°à¥à€µà€Ÿà€€ à€à€°à€Ÿ********************************  
+GShell.Build.BuildCancelled:********************  à€°à€Šà¥à€Š      ********************  
+GShell.Build.BuildComplete1:********************   à€¬à€Ÿà€à€§à€£à¥ à€žà€à€ªà€²à¥     ********************  
+GShell.Build.CompressText:à€°à¥à€ªà€à€¿à€šà¥à€¹ à€¥à¥à€¡à€à¥à€¯à€Ÿà€€  
+GShell.Build.Index:à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à¥à€à€Ÿ à€¬à¥à€ž à€€à€¯à€Ÿà€° à€¹à¥à€€ à€à€¹à¥  
+GShell.Build.InfoDatabase:à€®à€Ÿà€¹à€¿à€€à¥à€à€Ÿ à€¡à¥à€à€¬à¥à€ž à€€à€¯à€Ÿà€° à€¹à¥à€€ à€à€¹à¥...  
+GShell.Build.Phind:Phind classifier à€à€šà€°à¥à€ à€¹à¥à€€ à€à€¹à¥. à€¯à€Ÿà€ž à€µà¥à€³ à€²à€Ÿà€à¥à€²  
+GShell.Schedule.ScheduleBegun1:***************à€µà¥à€³à€Ÿà€ªà€€à¥à€°à€à€Ÿà€à¥ à€žà¥à€°à€µà€Ÿà€€ ****************  
+GShell.Schedule.ScheduleComplete1:*****************à€µà¥à€³à€Ÿà€ªà€€à¥à€°à€à€Ÿà€à¥ à€žà€Ÿà€®à€Ÿà€ªà¥à€€à¥ *************  
+GShell.Schedule.ScheduleDelete:***********à€à¥à€šà¥ à€µà¥à€³à€Ÿà€ªà€€à¥à€°à€ à€¬à€Šà€²à€²à¥ à€à€Ÿà€€ à€à€¹à¥. ********  
+GShell.Command:à€žà¥à€à€šà€Ÿ  
+GShell.Failure:à€žà¥à€à€šà€Ÿ à€«à¥à€²  
+GShell.Import.FileNotProcessed:{0-target file path} à€«à€Ÿà€à€²à€à€Ÿ à€ªà€Ÿà€¥ à€à€³à€à€€à€Ÿ à€à€²à€Ÿ, à€ªà€£ à€à¥à€£à€€à¥à€¯à€Ÿà€¹à¥ à€ªà¥à€²à€à€à€š à€šà¥ à€¯à€Ÿà€µà€° à€ªà¥à€°à€à¥à€°à€¿à€¯à€Ÿ à€¹à¥à€ à€¶à€à€€ à€šà€Ÿà€¹à¥  
+GShell.Import.FileNotRecognised:{0-target file path} à€«à€Ÿà€à€²à€à€Ÿ à€ªà€Ÿà€¥ à€à€³à€à€€à€Ÿ à€à€²à€Ÿ, à€ªà€£ à€à¥à€£à€€à¥à€¯à€Ÿà€¹à¥ à€ªà¥à€²à€à€à€š à€šà¥ à€¯à€Ÿà€µà€° à€ªà¥à€°à€à¥à€°à€¿à€¯à€Ÿ à€¹à¥à€ à€¶à€à€€ à€šà€Ÿà€¹à¥  
+GShell.Import.FileProcessing:{0-target file path} à€«à€Ÿà€à€²à€à€Ÿ à€ªà€Ÿà€¥, à€à€ à€ªà¥à€²à€à€à€š à€ªà¥à€°à€à¥à€°à€¿à€¯à€Ÿ à€à€°à€€ à€à€¹à¥  
+GShell.Import.FileProcessingError:à€«à€Ÿà€à€²à€à€Ÿ à€ªà€Ÿà€¥, à€à€ à€ªà¥à€²à€à€à€š à€®à€§à¥à€¯à¥ à€ªà¥à€°à€à¥à€°à€¿à€¯à€Ÿ à€à€°à€€à€Ÿà€šà€Ÿ à€à¥à€ à€¹à¥à€€ à€à€¹à¥  
+GShell.Import.ImportBegun1:************** à€ªà€Ÿà€ à€µà€¿à€£à¥ à€žà¥à€°à¥ à€à€Ÿà€²à¥ **************  
+GShell.Import.ImportComplete1:************** à€ªà€Ÿà€ à€µà€¿à€£à¥ à€žà€à€ªà€²à¥ **************  
+GShell.Import.ImportComplete2:{0-number documents considered} à€ªà¥à€°à€²à¥à€ à€ªà¥à€°à€à¥à€°à€¿à€¯à¥ à€žà€Ÿà€ à¥ à€µà€¿à€à€Ÿà€°à€Ÿà€€ à€à¥à€€à€²à¥ à€à€Ÿà€€ à€à€¹à¥à€€:  
+GShell.Import.ImportComplete2.1:à¥§  à€ªà¥à€°à€²à¥à€ à€ªà¥à€°à€à¥à€°à€¿à€¯à¥ à€žà€Ÿà€ à¥ à€µà€¿à€à€Ÿà€€ à€à¥à€€à€²à¥ à€à€Ÿà€€ à€à€¹à¥à€€  
+GShell.Import.ImportComplete.Processed:{0-number processed} à€ªà¥à€°à€²à¥à€à€Ÿà€à€µà€° à€ªà¥à€°à€à¥à€°à€¿à€¯à€Ÿ à€¹à¥à€à€š à€€à¥ à€žà€à€à¥à€°à€¹à€Ÿà€€ à€®à€¿à€žà€³à€²à¥ à€à€Ÿà€€ à€à€¹à¥à€€.  
+GShell.Import.ImportComplete.Processed.1:à¥§  à€ªà¥à€°à€²à¥à€à€Ÿà€à€µà€° à€ªà¥à€°à€à¥à€°à€¿à€¯à€Ÿ à€¹à¥à€à€š à€€à¥ à€žà€à€à¥à€°à€¹à€Ÿà€€ à€®à€¿à€žà€³à€²à¥ à€à€Ÿà€€ à€à€¹à¥à€€.  
+GShell.Import.ImportComplete.Blocked:{0-number blocked}à€ªà¥à€²à€à€à€šà€šà¥ à€­à€° à€à€Ÿà€à€£à¥à€¯à€Ÿà€ž à€ªà¥à€°à€€à€¿à€¬à€à€§ à€à¥à€²à€Ÿ à€à€¹à¥ (such as images in web pages).  
+GShell.Import.ImportComplete.Blocked.1:à¥§ à€ªà¥à€²à€à€à€š à€šà¥ à€­à€° à€à€Ÿà€à€£à¥à€¯à€Ÿà€ž à€ªà¥à€°à€€à€¿à€¬à€à€§ à€à¥à€²à€Ÿ à€¹à¥à€€à€Ÿ  
+GShell.Import.ImportComplete.Ignored:{0-number ignored} à€
+à€šà¥à€³à€à¥  
+GShell.Import.ImportComplete.Ignored.1:à¥§ à€
+à€šà¥à€³à€à¥  
+GShell.Import.ImportComplete.Failed:{0-number failed}à€šà€Ÿà€à€Ÿà€°à€²à¥.  
+GShell.Import.ImportComplete.Failed.1:à¥§ à€šà€Ÿà€à€Ÿà€°à€²à¥ à€¹à¥à€€à¥  
+GShell.Import.ImportComplete3:\n  
+GShell.Import.Warning:à€žà¥à€à€šà€Ÿ  
+GShell.Parsing_Metadata_Complete:à€à¥à€šà€Ÿ à€®à¥à€à€¡à¥à€à€Ÿ à€à¥à€à€š à€à€Ÿà€²à€Ÿ  
+GShell.Parsing_Metadata_Start:à€à¥à€šà¥à€¯à€Ÿ à€«à€Ÿà€à€² à€®à€§à¥à€š à€šà€µà€¿à€š à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à¥à€¯à€Ÿ  
+GShell.Success:à€žà¥à€à€šà€Ÿ à€ªà¥à€°à¥à€£  
+#*********************
+#
+#***** GUI *****
+# Currently Enabled and Disabled display the same text but in different
+# colours. If necessary this can be changed.
+GUI.Create:à€€à€Ÿà€° à€à€°à€Ÿ  
+GUI.Create_Tooltip:à€à¥à€°à¥à€šà€žà¥à€à¥à€šà€à€Ÿ à€µà€Ÿà€ªà€°à€à€°à¥à€š à€žà€à€à¥à€°à€¹ à€¬à€Ÿà€à€§à€£à¥ à€à€°à€Ÿ  
+GUI.Design:à€¡à€¿à€à€Ÿà€à€š  
+GUI.Design_Tooltip:à€€à¥à€®à€à¥à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€à¥  à€¡à€¿à€à€Ÿà€à€š à€à€Ÿà€°à¥à€¯à€Ÿà€à€µà€¿à€€ à€à€°à€Ÿ  
+GUI.Download:à€¡à€Ÿà€à€šà€²à¥à€¡  
+GUI.Download_Tooltip:à€€à¥à€®à€à¥à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€€ à€à€à€à€°à€šà¥à€ à€µà€°à¥à€š à€°à€¿à€žà¥à€°à¥à€ž à€¡à€Ÿà€à€š à€²à¥à€¡ à€à€°à€Ÿ  
+GUI.Enrich:à€žà€§à€š  
+GUI.Enrich_Tooltip:à€€à¥à€®à€à¥à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€€à¥à€² à€«à€Ÿà€à€² à€à€°à¥à€€à€Ÿ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+GUI.Format:à€ªà¥à€°à€à€Ÿà€°  
+GUI.Format_Tooltip:à€€à¥à€®à€à¥à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€à¥ à€¡à€¿à€à€Ÿà€à€š à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+GUI.Gather:à€à€à€€à¥à€°  
+GUI.Gather_Tooltip:à€€à¥à€®à€à¥à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€€à¥à€² à€«à€Ÿà€à€² à€šà€¿à€µà€¡à€Ÿ  
+#***************
+#
+#***** HELP *****
+Help.Contents:à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ  
+Help.Title:à€²à€Ÿà€¯à€¬à¥à€°à€°à¥à€¯à€š à€à€à€à€°à€«à¥à€ž à€®à€Šà€€ à€ªà€Ÿà€š  
+#****************************
+#
+#***** Invalid Metadata ******
+InvalidMetadata.Message:à€¯à€Ÿ à€®à¥à€à€¡à¥à€à€Ÿà€à¥à€¯à€Ÿ à€à€à€à€Ÿà€à¥ à€ªà¥à€°à¥à€µ à€®à¥à€²à¥à€¯ à€ à€°à€µà€¿à€€à€Ÿ à€¯à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥.à€à¥à€ªà€¯à€Ÿ à€à€§à¥ à€¯à€Ÿ à€®à¥à€²à¥à€¯à€Ÿà€à€ªà¥à€à¥ à€à€à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ  
+InvalidMetadata.Title:à€šà€¿à€°à¥à€ªà€¯à¥à€à¥  à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ  
+#***************************
+#
+#***** LegacyCollection
+LegacyCollection.Message:à€€à¥à€®à¥à€¹à¥ à€
+à€žà€Ÿ à€žà€à€à¥à€°à€¹ à€€à€¯à€Ÿà€° à€à€°à€€ à€à€¹à€Ÿà€€,à€à¥ à€à¥ à€à¥à€à€² à€à€¯ à€à€¡à¥à€š à€€à€¯à€Ÿà€° à€à€Ÿà€²à¥à€²à€Ÿ à€šà€Ÿà€¹à¥.à€¡à€¬à¥à€²à¥à€š à€à¥à€
+à€° à€®à€§à¥à€š à€à€§à¥à€à€Ÿ à€®à¥à€à€¡à¥à€à€Ÿ  à€šà€¿à€µà€¡à€Ÿ, à€®à¥à€à€¡à¥à€à€Ÿà€à¥à€¯à€Ÿ à€®à¥à€³ à€«à€Ÿà€à€²  à€à€à€®à¥à€ªà¥à€°à¥à€.à€¬à¥
+à€  à€¯à€Ÿ  à€«à¥à€²à¥à€¡à€°à€®à€§à¥à€¯à¥  à€€à€¶à€Ÿà€ à€°à€Ÿà€¹à€€à¥à€²  
+LegacyCollection.Title:à€¬à€Ÿà€¹à¥à€°à¥à€² à€žà€à€à¥à€°à€¹ à€²à¥à€¡ à€à€°à€Ÿ  
+#***************************
+#
+#***** LockFileDialog *****
+LockFileDialog.Cancel_Tooltip:à€²à¥à€ à€«à€Ÿà€à€² à€µà€° à€¬à€à€§à€š à€ à¥à€µà€Ÿ (à€žà€à€à¥à€°à€¹ à€à€à€¡à€²à€Ÿ à€à€Ÿà€ à€šà€¯à¥)  
+LockFileDialog.Date:à€€à€Ÿà€°à¥à€  
+LockFileDialog.Error:à€à¥à€  
+LockFileDialog.Lockfile_Message_One:à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€à€°à¥à€€à€Ÿ à€žà¥à€à€µà€¿à€²à¥à€²à¥ à€²à¥à€ à€«à€Ÿà€à€² à€à€§à¥à€ à€à€à€¡à€£à¥à€¯à€Ÿà€€ à€à€²à¥ à€à€¹à¥  
+LockFileDialog.Lockfile_Message_Two:à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ à€
+à€à¥à€šà€¹à¥ à€¯à€Ÿ à€²à¥à€ à€«à€Ÿà€à€²à€µà€° à€¬à€à€§à€š à€¹à€µà¥ à€à€¹à¥ à€à€Ÿ?  
+LockFileDialog.Machine:à€à¥à€ à¥  
+LockFileDialog.Name:à€šà€Ÿà€µ  
+LockFileDialog.OK_Tooltip:à€²à¥à€ à€«à€Ÿà€à€²à€µà€° à€¬à€à€§à€š à€¹à€µà¥  
+LockFileDialog.Title:à€²à¥à€ à€«à€Ÿà€à€²à€à¥à€¡à¥à€š à€à€Ÿà€à€Ÿ  
+LockFileDialog.User:à€à¥à€£  
+#********************
+#
+#*****MappingPrompt **********
+MappingPrompt.File:à€«à¥à€²à¥à€¡à€°  
+MappingPrompt.Map:à€žà€à€à¥à€·à€¿à€ªà¥à€€ à€€à€¯à€Ÿà€° à€à€°à€Ÿ  
+MappingPrompt.Name:à€šà€Ÿà€µ  
+MappingPrompt.Title:à€«à¥à€²à¥à€¡à€° à€à€°à¥à€€à€Ÿ à€žà€à€à¥à€·à€¿à€ªà¥à€€ à€€à€¯à€Ÿà€° à€à€°à€Ÿ  
+MappingPrompt.Unmap:à€žà€à€à¥à€·à€¿à€ªà¥à€€ à€à€Ÿà€¢à¥à€š à€à€Ÿà€à€Ÿ  
+#*******************
+#
+#***** Menu Options *****
+Menu.Collapse:à€«à¥à€²à¥à€¡à€° à€¬à€à€Š à€à€°à€Ÿ  
+Menu.Edit:à€²à€¿à€¹à€Ÿ  
+Menu.Edit_Copy:à€ªà¥à€°à€€(ctrl-c)  
+Menu.Edit_Cut:à€à€(ctrl-x)  
+Menu.Edit_Paste:à€ªà¥à€žà¥à€ (ctrl-v)  
+Menu.Expand:à€«à¥à€²à¥à€¡à€° à€à€à€¡à€Ÿ  
+Menu.Explode_Metadata_Database:à€à€à¥à€žà€ªà¥à€²à¥à€¡ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€¡à¥à€à€Ÿà€¬à¥à€ž  
+Menu.Replace_SrcDoc_With_HTML:à€à€ à€à¥ à€à€® à€à€² à€žà¥à€µà€°à¥à€ªà€Ÿà€€ à€°à¥à€ªà€Ÿà€à€€à€°à¥à€€ à€à€°à€Ÿ  
+Menu.File:à€«à€Ÿà€à€²  
+Menu.File_Associations:à€«à€Ÿà€à€² à€
+à€žà¥à€žà¥à€à€¶à€š...  
+Menu.File_CDimage:à€žà¥à€¡à¥/à€¡à¥à€µà¥à€¹à¥à€¡à¥ à€à€®à¥à€ à€²à€¿à€¹à€Ÿ  
+Menu.File_Close:à€¬à€à€Š  
+Menu.File_Delete:à€à¥à€¡à€Ÿ  
+Menu.File_Exit:à€¬à€Ÿà€¹à¥à€°  
+Menu.File_ExportAs:à€ªà€Ÿà€ à€µà€Ÿ  
+Menu.File_New:à€šà€µà€¿à€š  
+Menu.File_Open:à€à€à€¡à€Ÿ  
+Menu.File_Options:à€ªà¥à€°à€Ÿà€§à€šà¥à€¯  
+Menu.File_Save:à€žà¥à€µ  
+Menu.Help:à€®à€Šà€€  
+Menu.Help_About:à€µà€¿à€·à€¯à¥  
+Menu.Metadata_View:{0} à€¯à€Ÿ à€žà€Ÿà€ à¥ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+Menu.Open_Externally:à€¬à€Ÿà€¹à¥à€°à¥à€² à€ªà¥à€°à¥à€à¥à€°à¥
+à€® à€à€à€¡ à€à€°à€Ÿ  
+#********************
+#
+#***** MetaAudit *****
+MetaAudit.Close:à€¬à€à€Š  
+MetaAudit.Close_Tooltip:à€¡à€Ÿà€¯à€²à¥à€ à€¬à¥à€à¥à€ž à€¬à€à€Š à€à€°à€Ÿ  
+MetaAudit.Title:à€žà€°à¥à€µ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ  
+#*********************
+#
+#***** Metadata *****
+Metadata.Element:à€à€  
+Metadata.Value:à€®à¥à€²à¥à€¯  
+MetadataSet.Files:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€  
+#**********************************
+#
+#***** MetadataSetDialog**********
+MetadataSetDialog.Title:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€  à€µà¥à€¯à€µà€žà¥à€¥à€¿à€€ à€à€°à€Ÿ  
+MetadataSetDialog.Add_Title:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€ à€®à€¿à€žà€³à€Ÿ  
+MetadataSetDialog.Current_Sets:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+MetadataSetDialog.Available_Sets:à€à€ªà€²à€¬à¥à€Š  à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€  
+MetadataSetDialog.Add:à€®à€¿à€žà€³à€Ÿ  
+MetadataSetDialog.Add_Tooltip:à€šà€µà€¿à€š  à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€ à€®à€¿à€žà€³à€Ÿ  
+MetadataSetDialog.New_Set:à€šà€¿à€µà€š  
+MetadataSetDialog.New_Set_Tooltip:à€šà€µà€¿à€š  à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€ à€€à€¯à€Ÿà€° à€à€°à€Ÿ  
+MetadataSetDialog.Add_Set:à€®à€¿à€žà€³à€Ÿ  
+MetadataSetDialog.Add_Set_Tooltip:à€žà€à€à¥à€°à€¹ à€žà¥à€ à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€šà€¿à€µà€¡à€²à¥à€²à€Ÿ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€®à€¿à€³à€µà€Ÿ  
+MetadataSetDialog.Browse:à€¶à¥à€§à€Ÿ  
+MetadataSetDialog.Browse_Tooltip:à€šà€µà€¿à€š  à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€  à€žà€à€à¥à€°à€¹à€Ÿà€€ à€®à€¿à€žà€³à€Ÿ  
+MetadataSetDialog.Edit:à€²à€¿à€¹à€Ÿ  
+MetadataSetDialog.Edit_Tooltip:à€šà€¿à€µà€¡à€  à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€ à€²à€¿à€¹à€Ÿ  
+MetadataSetDialog.Remove:à€à€Ÿà€¢à¥à€š à€à€Ÿà€à€Ÿ  
+MetadataSetDialog.Remove_Tooltip:à€šà€µà€¿à€š  à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€  à€žà€à€à¥à€°à€¹à€Ÿà€€à¥à€š à€à€Ÿà€¢à€Ÿ  
+MetadataSetDialog.Elements:à€šà€¿à€µà€¡à€  à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€€à¥à€² à€à€  
+
+#****************************************
+#
+#***** MetadataSetNamespaceClash warning***
+MetadataSetNamespaceClash.Title:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à¥ à€šà¥à€®à€žà¥à€ªà¥à€ž à€à¥à€²à¥
+à€¶ à€¹à¥à€€ à€à€¹à¥  
+MetadataSetNamespaceClash.Message:à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€€ à€à€§à¥à€ à€
+à€žà€²à¥à€²à¥ à€šà¥à€®à€žà¥à€ªà¥à€ž à€€à¥à€®à¥à€¹à¥ à€¹à€Ÿ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€®à€¿à€³à€µà€¿à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€šà€¿à€µà€¡à€²à¥ à€à€¹à¥({0}) ({1}). Ià€à€° à€€à¥à€®à¥à€¹à¥ à€¯à¥à€¥à¥à€ à€€à¥ à€žà¥à€ à€ à¥à€µà€£à¥à€¯à€Ÿà€à€Ÿ à¥à€°à€šà¥à€€ à¥à€²à€Ÿ à€€à€° à€à¥à€šà€Ÿ à€à¥à€¡à€²à€Ÿ à€à€Ÿà€à€². Any assigned metadata values will be transferred to the new set if it contains the appropriate elements.  
+#*********************************************
+#
+#******** MetadataImportMappingPrompt *********
+MIMP.Add:à€®à€¿à€žà€³à€Ÿ  
+MIMP.Add_Tooltip:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€ à€šà€¿à€µà€¡à€ à€à€à€Ÿà€€ à€®à€¿à€žà€³à€Ÿ  
+MIMP.Ignore:à€Šà¥à€°à¥à€²à€à¥à€·  
+MIMP.Ignore_Tooltip:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€ à€Šà¥à€°à¥à€²à€à¥à€·à€¿à€€ à€à€°à€Ÿ  
+MIMP.Instructions:The metadata element {0} cannot be automatically imported into the collection. Select a metadata set and either:\n(1) press 'Add' to add the metadata to that set (only if there is not already {0} metadata in the set), or\n(2) choose an element and press 'Merge' to import {0} metadata to this element, or\n(3) ignore this metadata element.  
+MIMP.Merge:à€®à€°à¥à€  
+MIMP.Merge_Tooltip:Map the metadata element to the specified element in the selected set  
+MIMP.Source_Element:à€žà¥à€°à¥à€ž à€®à¥à€à€¡à¥à€à€Ÿà€à¥ à€à€à€:  
+MIMP.Target_Element:à€®à¥à€à€¡à¥à€à€Ÿ à€à€à€à€Ÿà€à¥ à€à€Ÿà€°à€à¥à€:  
+MIMP.Target_Set:à€®à¥à€à€¡à¥à€à€Ÿ à€žà¥à€à€à¥ à€à€Ÿà€°à€à¥à€:  
+MIMP.Title:à€®à€°à¥à€ à€à€°à€£à¥à€¯à€Ÿà€à¥ à€à¥à€€à¥ à€à€µà€¶à¥à€¯à€  
+#*****************************
+#
+#***** Mirroring *****
+Mirroring.ClearCache:Clear Cache  
+Mirroring.ClearCache_Tooltip:à€¡à€Ÿà€à€šà€²à¥à€¡ à€à¥à€²à€²à¥à€²à¥à€¯à€Ÿ à€«à€Ÿà€à€² à€à¥à€¡à¥à€š à€à€Ÿà€à€Ÿ  
+Mirroring.Download:à€¡à€Ÿà€à€šà€²à¥à€¡  
+Mirroring.Download_Tooltip:à€šà€µà€¿à€š à€¡à€Ÿà€à€š à€²à¥à€¡ à€žà¥à€°à¥ à€à€°à€Ÿ  
+Mirroring.DownloadJob.Close:à€¬à€à€Š  
+Mirroring.DownloadJob.Close_Tooltip:à€¹à¥ à€à€Ÿà€°à¥à€¯ à€¯à€Ÿà€Šà¥à€€à¥à€š à€à€Ÿà€¢à¥à€š à€à€Ÿà€à€Ÿ, à€à€° à€žà€§à¥à€¯à€Ÿ à€€à¥ à€à€Ÿà€²à¥ à€
+à€žà¥à€² à€€à€° à€¥à€Ÿà€à€¬à€µà€Ÿ  
+Mirroring.DownloadJob.Downloading:à€¡à€Ÿà€à€šà€²à¥à€¡  
+Mirroring.DownloadJob.Download_Complete:à€¡à€Ÿà€à€šà€²à¥à€¡ à€ªà¥à€°à¥à€£  
+Mirroring.DownloadJob.Download_Stopped:à€¡à€Ÿà€à€šà€²à¥à€¡  
+Mirroring.DownloadJob.Download_Progress:à€¡à€Ÿà€à€šà€²à¥à€¡ à€¹à¥à€€ à€à€¹à¥  
+Mirroring.DownloadJob.Log:à€²à¥à€ à€Šà€Ÿà€à€µà€Ÿ  
+Mirroring.DownloadJob.Log_Tooltip:à€¹à¥ à€¡à€Ÿà€à€šà€²à¥à€¡ à€žà€µà€¿à€žà¥à€€à€° à€Šà€Ÿà€à€µà€Ÿ  
+Mirroring.DownloadJob.Log_Title:à€²à¥à€ à€¡à€Ÿà€à€šà€²à¥à€¡  
+Mirroring.DownloadJob.Pause:à€¥à€Ÿà€à€¬à€Ÿ  
+Mirroring.DownloadJob.Pause_Tooltip:à€¹à¥ à€¡à€Ÿà€à€šà€²à¥à€¡ à€¥à€Ÿà€à€¬à€µà€Ÿ  
+Mirroring.DownloadJob.Resume:à€°à€¿à€à¥à€¯à¥à€®  
+Mirroring.DownloadJob.Resume_Tooltip:à€¹à€Ÿ à€°à€¿à€à¥à€¯à¥à€® à€¡à€Ÿà€à€šà€²à¥à€¡ à€à€°à€Ÿ  
+Mirroring.DownloadJob.Status:à€¡à€Ÿà€à€šà€²à¥à€¡ {0} à€à¥{1} à€«à€Ÿà€à€² ({2} à€žà¥à€à€šà€Ÿ, {3} à€à¥à€à€Ÿ)  
+Mirroring.DownloadJob.Waiting:à€žà¥à€°à¥à€µà€Ÿà€€ à€à€°à€£à¥à€¯à€Ÿà€ž à€µà€Ÿà€ à€ªà€¹à€Ÿ  
+Mirroring.DownloadJob.Waiting_User:à€à€ªà€¯à¥à€à€à€Ÿà€à¥à€¯à€Ÿ à€à¥à€€à¥à€à¥ à€µà€Ÿà€ à€ªà€¹à€Ÿ  
+Mirroring.Invalid_URL:à€Šà€¿à€²à¥à€²à€Ÿ  à€¯à¥à€à€°à€à€² à€
+à€¯à¥à€à¥à€¯ à€à€¹à¥. à€à¥à€ªà€¯à€Ÿ à€¯à¥à€à¥à€¯ à€Šà¥à€¯à€Ÿ  
+Mirroring.Invalid_URL_Title:à€
+à€¯à¥à€à¥à€¯ à€¯à¥à€à€°à€à€²  
+Mirroring.Preferences:à€ªà¥à€°à¥à€à¥à€žà¥ à€ à€°à€µà€Ÿ   
+Mirroring.Preferences_Tooltip:à€ªà¥à€°à¥à€à¥à€žà¥ à€žà¥à€à¥à€à€à¥à€ à€ªà¥à€šà¥à€¹à€Ÿ à€à€°à€Ÿ  
+#*********************
+#
+#***** Missing EXEC *****
+MissingEXEC.Message:à€šà€Ÿà€¹à¥. à€€à¥à€®à¥à€¹à¥ à€¹à¥ à€à€Ÿà€²à¥à€² à€à¥à€à¥à€ž à€«à€¿à€²à¥à€¡ à€®à€§à¥à€¯à¥ à€­à€°à¥ à€¶à€à€€à€Ÿ à€à€¿à€à€µà€Ÿ à€ªà¥à€°à€Ÿà€§à€Ÿà€šà¥à€¯à€Ÿà€€à¥à€² à€à¥à€¡à€£à¥ à€à¥
+à€¬ à€µà¥à€Šà€Ÿà€°à¥ à€à€°à¥ à€¶à€à€€à€Ÿ,à€²à€à¥à€·à€Ÿà€€ à€ à¥à€µà€Ÿ à€žà€°à¥à€µ à€¯à¥à€à€°à€à€² à€¹à¥ "http://", à€¯à€Ÿ à€šà€¿à€¯à€®à€Ÿà€µà€²à¥à€šà¥ à€žà¥à€°à¥ à€µà¥à€¹à€Ÿà€µà¥à€€ à€µ à€¶à¥à€µà€ à€¯à¥à€à¥à€¯ à€¶à€¬à¥à€Šà€Ÿà€šà¥ à€µà¥à€¹à€Ÿà€µà€Ÿ  ("gsdl" for à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€²à¥à€à€² à€²à€Ÿà€¯à€¬à¥à€°à€°à¥ à€žà€°à¥à€µà¥à€¹à€°, "à€²à€Ÿà€¯à€¬à¥à€°à€°à¥" à€žà€Ÿà€ à¥ à€à€€à€° à€µà¥à€¬ à€žà€°à¥à€µà¥à€¹à€°).  
+MissingEXEC.Title:à€à¥à€°à¥à€šà€žà¥à€à¥à€šà€à¥à€°à€à€¥à€Ÿà€µà€¯à€Ÿà€à€Ÿ à€®à€Ÿà€°à¥à€ à€¹à€°à€µà€¿à€²à€Ÿ  
+#***** Missing EXEC_GS3 *****
+MissingEXEC_GS3.Message:à€žà¥à€à€šà€Ÿ! à€€à¥à€®à¥à€¹à¥ à€€à¥à€®à€à€Ÿ à€žà€à€à¥à€°à€¹ à€²à€Ÿà€¯à€¬à¥à€°à€°à¥à€¯à€š à€à€à€à€°à€«à¥à€žà€µà€° à€ªà€Ÿà€¹à¥ à€¶à€à€€ à€šà€Ÿà€¹à¥ à€à¥ à€ªà€°à¥à€¯à€à€€ à€€à¥à€®à¥à€¹à¥ à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€µà¥à€¬ à€žà€°à¥à€µà¥à€¹à€°à€à€Ÿ à€®à€Ÿà€°à¥à€ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€€ à€šà€Ÿà€¹à¥. à€€à¥à€®à¥à€¹à¥ à€¹à¥ à€à€Ÿà€²à¥à€² à€à¥à€à¥à€ž à€«à€¿à€²à¥à€¡ à€®à€§à¥à€¯à¥ à€­à€°à¥ à€¶à€à€€à€Ÿ à€à€¿à€à€µà€Ÿ à€ªà¥à€°à€Ÿà€§à€Ÿà€šà¥à€¯à€Ÿà€€à¥à€² à€à¥à€¡à€£à¥ à€à¥
+à€¬ à€µà¥à€Šà€Ÿà€°à¥ à€à€°à¥ à€¶à€à€€à€Ÿ,à€²à€à¥à€·à€Ÿà€€ à€ à¥à€µà€Ÿ à€žà€°à¥à€µ à€¯à¥à€à€°à€à€² à€¹à¥ "http://", à€¯à€Ÿ à€šà€¿à€¯à€®à€Ÿà€µà€²à¥à€šà¥ à€žà¥à€°à¥ à€µà¥à€¹à€Ÿà€µà¥à€€ à€µ à€¶à¥à€µà€ à€¯à¥à€à¥à€¯ à€¶à€¬à¥à€Šà€Ÿà€šà¥ à€µà¥à€¹à€Ÿà€µà€Ÿ  ("gsdl" for à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€²à¥à€à€² à€²à€Ÿà€¯à€¬à¥à€°à€°à¥ à€žà€°à¥à€µà¥à€¹à€°, "à€²à€Ÿà€¯à€¬à¥à€°à€°à¥" à€žà€Ÿà€ à¥ à€à€€à€° à€µà¥à€¬ à€žà€°à¥à€µà¥à€¹à€°).  
+MissingEXEC_GS3.Title:à€à¥à€°à¥à€šà€žà¥à€à¥à€š à¥© à€à¥à€°à€à€¥à€Ÿà€²à€¯à€Ÿà€à€Ÿ à€®à€Ÿà€°à¥à€   
+#***** Missing GLIServer *****
+MissingGLIServer.Message:Warning! You will not be able to work with collections within the Librarian Interface unless you specify the address of the remote Greenstone "gliserver" script. You can enter this now in the text field below, or later by going to Preferences and choosing the Connection tab. Remember that a valid URL must start with the protocol "http://" and end with "gliserver".  
+MissingGLIServer.Title:à€à¥à€à€¯à€à€² à€žà€°à¥à€µà¥à€¹à€°à€à€Ÿ à€ªà€€à¥à€€à€Ÿ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+#***** Missing GSDL *****
+MissingGSDL.Message:à€žà¥à€à€šà€Ÿ! à€²à¥à€à€² à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€
+à€à€à€¿à€à¥à€€ à€à¥à€°à€à€¥à€Ÿà€²à€¯à€Ÿà€à¥ à€ªà¥à€°à€€ à€
+à€žà€²à¥à€¯à€Ÿà€¶à€¿à€µà€Ÿà€¯ à€²à€Ÿà€¯à€¬à¥à€°à€°à¥à€¯à€š à€à€à€à€°à€«à¥à€ž à€µà€Ÿà€ªà€°à€€à€Ÿ à€¯à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥ . à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ à€®à€¿à€³à€Ÿà€²à¥à€¯à€Ÿà€šà€à€€à€° à€à¥à€ªà€¯à€Ÿ à€€à¥à€®à¥à€¹à¥ à€à¥à€²à¥à€²à¥ à€à€à€šà¥à€žà¥à€à¥à€²à¥à€¶à€š  à€à€£à€¿ à€²à€Ÿà€¯à€¬à¥à€°à€°à¥à€¯à€š à€à€à€à€°à€«à¥à€ž à€®à€§à¥à€² à€®à€Ÿà€°à¥à€ à€¬à¥
+à€ à€µ à€žà¥à€°à¥à€à€¿à€ªà¥à€ à€«à€Ÿà€à€² à€€à€ªà€Ÿà€žà€Ÿ  
+MissingGSDL.Title:à€à¥à€°à¥à€šà€žà¥à€à¥à€šà€à€Ÿ à€®à€Ÿà¥à€ à€¹à€°à€µà€¿à€²à€Ÿ  
+#***** Missing PERL *****
+MissingPERL.Message:à€žà¥à€à€šà€Ÿ!à€ªà€°à¥à€² à€à€šà¥à€žà¥à€à¥à€²à¥à€¶à€š à€¶à€¿à€µà€Ÿà€¯  à€€à¥à€®à¥à€¹à€Ÿà€² à€šà€µà€¿à€š à€žà€à€à¥à€°à€¹ à€€à€¯à€Ÿà€° à€à€°à€€à€Ÿ à€¯à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥ à€à€¿à€à€µà€Ÿ à€
+à€žà€²à¥à€²à€Ÿ à€¬à€Ÿà€à€§à€€à€Ÿ à€¯à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥ ,  à€à€£à€¿ à€²à€Ÿà€¯à€¬à¥à€°à€°à¥à€¯à€š à€à€à€à€°à€«à¥à€ž à€¹à€Ÿ à€€à¥à€®à€à¥à€¯à€Ÿ à€®à€¶à€¿à€šà€µà€° à€ªà€°à¥à€² à€¶à¥à€§à¥ à€¶à€à€€ à€šà€Ÿà€¹à¥.à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ à€®à€¿à€³à€Ÿà€²à¥à€¯à€Ÿà€šà€à€€à€° à€à¥à€ªà€¯à€Ÿ à€€à¥à€®à¥à€¹à¥ à€à¥à€²à¥à€²à¥ à€à€à€šà¥à€žà¥à€à¥à€²à¥à€¶à€š  à€à€£à€¿ à€²à€Ÿà€¯à€¬à¥à€°à€°à¥à€¯à€š à€à€à€à€°à€«à¥à€ž à€®à€§à¥à€² à€®à€Ÿà€°à¥à€ à€¬à¥
+à€ à€µ à€žà¥à€°à¥à€à€¿à€ªà¥à€ à€«à€Ÿà€à€² à€€à€ªà€Ÿà€žà€Ÿ.  
+MissingPERL.Title:à€ªà€°à¥à€²à€à€Ÿ à€®à€Ÿà€°à¥à€ à€¹à€°à€µà€¿à€²à€Ÿ  
+#******* MissingImageMagick ********
+MissingImageMagick.Message:à€žà¥à€à€šà€Ÿ! à€²à€Ÿà€¯à€¬à¥à€°à€°à¥à€¯à€š à€à€à€à€°à€«à¥à€ž à€¹à€Ÿ à€à€®à¥à€ à€®à¥
+à€à€¿à€ à€à¥ à€à€µà¥à€€à¥à€€à¥ à€Šà€Ÿà€à€µà¥ à€¶à€à€€ à€šà€Ÿà€¹à¥, à€€à¥à€¯à€Ÿà€ à€ªà¥à€°à€®à€Ÿà€£à¥ à€à€®à¥à€ à€®à¥
+à€à€¿à€ à€ªà¥à€²à€ à€à€Ÿà€® à€à€°à€€ à€šà€Ÿà€¹à¥ .à€à€° à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ à€à€®à¥à€ à€žà€à€à¥à€°à€¹ à€€à€¯à€Ÿà€° à€à€°à€Ÿà€µà€¯à€Ÿà€à€Ÿ à€
+à€žà¥à€² à€€à€° à€à€®à¥à€ à€®à¥
+à€à€¿à€ à€à€à€šà¥à€žà¥à€à¥à€² à€à€°à€Ÿ  
+MissingImageMagick.Title:à€à€®à¥à€ à€®à¥
+à€à€¿à€ à€®à€¿à€³à€€ à€šà€Ÿà€¹à¥  
+#*****************************
+#
+#***** New Session *****
+NewCollectionPrompt.Base_Collection:à€¯à€Ÿ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à€Ÿà€žà¥à€ à€¬à¥à€ž:  
+NewCollectionPrompt.Base_Collection_Tooltip:à€
+à€žà€²à¥à€²à¥à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€µà€° à€šà€µà€¿à€š à€žà€à€à¥à€°à€¹ à€€à€¯à€Ÿà€° à€à€°à€Ÿ  
+NewCollectionPrompt.Collection_Description:à€žà€µà€¿à€žà¥à€€à€° à€
+à€šà¥à€à¥à€°à€®à€£à€¿à€à€Ÿ:  
+NewCollectionPrompt.Collection_Name:à€žà€à€à¥à€°à€¹à€Ÿà€à¥ à€«à¥à€²à¥à€¡à€°  
+NewCollectionPrompt.Collection_Scope_Personal:à€¹à€Ÿ à€µà¥à€¯à€à¥à€€à€¿à€ à€žà€à€à¥à€°à€¹ à€à€¹à¥  
+NewCollectionPrompt.Collection_Scope_Personal_Tooltip:à€žà€à€à¥à€°à€¹ à€à€Ÿà€šà¥ à€€à€¯à€Ÿà€° à€à¥à€²à€Ÿ à€€à¥à€¯à€Ÿà€ž à€à€£à€¿ à€žà€°à¥à€µ à€žà€Ÿà€¹à€¿à€€à¥à€¯ à€žà€à€ à€¯à€Ÿ à€®à€§à¥à€² à€žà€°à¥à€µà€Ÿà€à€šà€Ÿ à€¯à€Ÿ à€žà€Ÿà€¹à€¿à€€à¥à€¯à€Ÿ à€®à€§à¥à€¯à¥ à€¬à€Šà€² à€à€°à€€à€Ÿ à€¯à¥à€à€²  
+NewCollectionPrompt.Collection_Scope_Shared:à€¹à€Ÿ à€µà¥à€¯à€à¥à€€à€¿à€ à€žà€à€à¥à€°à€¹ à€šà€Ÿà€¹à¥  
+NewCollectionPrompt.Collection_Scope_Shared_Tooltip:à€žà€°à¥à€µ à€žà€Ÿà€¹à€¿à€€à¥à€¯ à€žà€à€ à€¯à€Ÿà€®à€§à¥à€¯à¥ à€žà€Ÿà€¹à€¿à€€à¥à€¯à€Ÿà€®à€§à¥à€¯à¥ à€¹à€µà¥ à€€à€žà¥ à€¬à€Šà€² à€à€°à€€à€Ÿ à€¯à¥à€€à¥à€²  
+NewCollectionPrompt.Error:à€žà€à€à¥à€°à€¹à€Ÿà€€ à€à¥à€  
+NewCollectionPrompt.Instructions:à€à€Ÿà€²à¥à€² à€µà€¿à€­à€Ÿà€ à€­à€°à€£à¥à€¯à€žà€Ÿà€ à¥ à€šà€µà€¿à€š à€žà€à€à¥à€°à€¹ à€€à€¯à€Ÿà€° à€à€°à€Ÿ  
+NewCollectionPrompt.NewCollection:à€šà€µà€¿à€š à€žà€à€à¥à€°à€¹--  
+NewCollectionPrompt.Title:à€šà€µà€¿à€š à€žà€à€à¥à€°à€¹ à€€à€¯à€Ÿà€° à€à€°à€Ÿ  
+NewCollectionPrompt.Title_Clash:à€€à¥à€®à¥à€¹à¥ à€šà€¿à€µà€¡à€²à¥à€²à¥ à€¶à€¿à€°à¥à€·à€ à€à€§à¥à€ à€žà€à€à¥à€°à€¹à€Ÿà€ž à€Šà€¿à€²à¥ à€à€¹à¥. Continue?  
+NewCollectionPrompt.Title_Error:à€¶à€¿à€°à¥à€·à€ à€Šà¥à€£à¥ à€à€µà€¶à¥à€¯à€ à€à€¹à¥.à€à¥à€ªà€¯à€Ÿ à€Šà¥à€¯à€Ÿ  
+#***** New Folder OrFilePrompt *****
+NewFolderOrFilePrompt.Default_File_Name:à€¡à€®à¥  
+NewFolderOrFilePrompt.Default_Folder_Name:à€šà€µà€¿à€š à€«à¥à€²à¥à€¡à€°  
+NewFolderOrFilePrompt.Destination_Name:à€¡à¥à€žà¥à€à¥à€šà¥à€¶à€š à€«à¥à€²à¥à€¡à€°  
+NewFolderOrFilePrompt.File_Name:à€«à€Ÿà€à€² à€šà€Ÿà€µ  
+NewFolderOrFilePrompt.File_Name_Tooltip:à€šà€µà€¿à€š à€«à€Ÿà€à€²à€žà€Ÿà€ à¥ à€šà€Ÿà€µ à€Šà¥à€¯à€Ÿ  
+NewFolderOrFilePrompt.Folder_Name:à€«à¥à€²à¥à€¡à€° à€šà€Ÿà€µ  
+NewFolderOrFilePrompt.Folder_Name_Tooltip:à€šà€µà€¿à€š à€«à¥à€²à¥à€¡à€°à€žà€Ÿà€ à¥ à€šà€Ÿà€µ à€Šà¥à€¯à€Ÿ  
+NewFolderOrFilePrompt.Title_Folder:à€šà€µà€¿à€š à€«à¥à€²à¥à€¡à€° à€€à€¯à€Ÿà€° à€à€°à€Ÿ  
+NewFolderOrFilePrompt.Title_File:à€šà€µà€¿à€š à€¡à€®à¥ à€ªà¥à€°à€²à¥à€ à€€à€¯à€Ÿà€° à€à€°à€Ÿ  
+#**********************
+#
+#******* OldWGET *******
+NoPluginExpectedToProcessFile.Message:"{0}".à€«à€Ÿà€à€²à€µà€° à€ªà¥à€°à€à¥à€°à€¿à€¯à€Ÿ à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€à¥à€£à€€à¥à€¯à€Ÿà€¹à¥  à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€ªà¥à€²à€à€à¥ à€à€µà€¶à¥à€¯à€à€€à€Ÿ à€šà€Ÿà€¹à¥ à€ªà€¹à€Ÿ à€«à€Ÿà€à€²à€à€Ÿ à€µà€¿à€žà¥à€€à€Ÿà€° à€¯à¥à€à¥à€¯ à€à€¹à¥ ,à€à€° à€€à¥ à€¯à¥à€à¥à€¯ à€
+à€žà¥à€² à€€à€° à€
+à€šà€šà¥à€š à€ªà¥à€²à€à€à€š à€µà¥à€Šà€Ÿà€°à¥ à€ªà¥à€°à€à¥à€°à€¿à€¯à€Ÿ à€à€°à€Ÿ  
+NoPluginExpectedToProcessFile.Title:à€«à€Ÿà€à€²à€µà€° à€ªà¥à€°à€à¥à€°à€¿à€¯à€Ÿ à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€à¥à€£à€€à€Ÿà€¹à¥ à€ªà¥à€²à€ à€à€µà€¶à¥à€¯à€  à€šà€Ÿà€¹à¥  
+#***********************
+#
+#***** OpenCollectionDialog *****
+OpenCollectionDialog.Available_Collections:à€à€ªà€²à€¬à¥à€§ à€žà€à€à¥à€°à€¹  
+OpenCollectionDialog.Description:à€žà€à€à¥à€°à€¹à€Ÿà€à¥ à€µà€°à¥à€£à€š  
+OpenCollectionDialog.Open:à€à€à€¡à€Ÿ  
+OpenCollectionDialog.Open_Tooltip:à€šà€¿à€µà€¡à€ à€žà€à€à¥à€°à€¹ à€à¥à€°à€à€¥à€Ÿà€²à€¯ à€ªà¥à€°à€Šà¥à€°à€¶à€à€Ÿà€€ à€ à¥à€µà€Ÿ  
+OpenCollectionDialog.Title:à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€žà€à€à¥à€°à€¹ à€à€à€¡à€Ÿ  
+#**********************
+#
+#***** Options Pane inside CreatePane *****
+OptionsPane.Cancelled:à€°à€Šà¥à€Š  
+OptionsPane.LogHistory:à€²à¥à€ à€à€€à€¿à€¹à€Ÿà€ž  
+OptionsPane.Successful:à€¯à€¶à€žà¥à€µà¥  
+OptionsPane.Scheduled:`-à€µà¥à€³à€Ÿà€ªà€€à¥à€°à€  
+OptionsPane.Unknown:à€
+à€šà¥à€³à€à¥  
+OptionsPane.Unsuccessful:à€
+à€¯à€¶à€žà¥à€µà¥  
+#*******************
+#
+#***** Preferences *****
+Preferences:à€ªà¥à€°à€Ÿà€§à€Ÿà€šà¥à€¯  
+Preferences.Connection:à€à¥à€¡à€£à¥  
+Preferences.Connection_Tooltip:à€à¥à€°à¥à€šà€žà¥à€à¥à€š  à€à¥à€°à€à€¥à€Ÿà€²à€¯à€Ÿà€žà€Ÿà€ à¥ à¥à€à€°à€à€² à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ à€µ à€à€µà€¶à¥à€¯à€à€€à¥à€šà¥à€žà€Ÿà€° à€ªà¥à€°à€€à€¿à€šà¥à€§à¥ à€à¥à€¡à€Ÿ  
+Preferences.Connection.GLIServer_URL:à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€µà¥à€¬  à€žà¥à€°à€µà¥à€¹à¥à€°à€à€Ÿ à¥à€à€°à€à€²âŠâŠ  
+Preferences.Connection.GLIServer_URL_Tooltip:à€à¥à€°à¥à€šà€žà¥à€à¥à€š  à€žà¥à€°à€µà¥à€¹à¥à€°à€à€Ÿ à¥à€à€°à€à€²âŠ..  
+Preferences.Connection.Library_Path:à€à¥à€°à€à€¥à€Ÿà€²à€¯  à€®à€Ÿà€°à¥à€  
+Preferences.Connection.Library_Path_GS3:à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€µà¥à€¬  à€®à€Ÿà€°à¥à€  
+Preferences.Connection.Library_Path_Tooltip:à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€µà¥à€¬  à€žà¥à€°à€µà¥à€¹à¥à€°à€à€Ÿ à¥à€à€°à€à€²  
+Preferences.Connection.Library_Path_Tooltip_GS3:à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€µà¥à€¬  à€žà¥à€°à€µà¥à€¹à¥à€°à€à€Ÿ à¥à€à€°à€à€²  
+Preferences.Connection.Library_Path_Connection_Failure:à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€žà€°à¥à€µà¥à€¹à€° à€¶à¥ à€žà€à€°à¥à€ªà€ à€¹à¥à€€ à€šà€Ÿà€¹à¥   
+Preferences.Connection.ProgramCommand:à€à€§à¥à€à¥ à€žà¥à€à€šà€Ÿ  
+Preferences.Connection.ProgramCommand_Tooltip:The launch command for the program used to view the collection preview. Remember to use %1 as the placeholder for the collection address, and to use speechmarks where necessary.  
+Preferences.Connection.Proxy_Host:à€ªà¥à€°à€€à€¿à€šà¥à€§à¥à€à¥ à€¯à€à€®à€Ÿà€š  
+Preferences.Connection.Proxy_Host_Tooltip:à€ªà¥à€°à€€à€¿à€šà¥à€§à¥à€à€Ÿ à€ªà€€à¥à€€à€Ÿ  
+Preferences.Connection.Proxy_Port:à€ªà¥à€°à€€à€¿à€šà¥à€§à¥à€à€Ÿ à€®à€Ÿà€°à¥à€  
+Preferences.Connection.Proxy_Port_Tooltip:à€€à¥à€®à€à¥à€¯à€Ÿ à€ªà¥à€°à¥à€à¥à€žà¥ à€žà€°à¥à€µà¥à€¹à€°à€à€Ÿ à€šà€à€¬à€° à€²à€¿à€¹à€Ÿ.  
+Preferences.Connection.Servlet:à€žà€°à¥à€µà¥à€¹à€²à€à€:  
+Preferences.Connection.Servlet_Tooltip:à€€à¥à€®à€à¥ à€žà€Ÿà€à€ à€Šà€Ÿà€à€µà€¿à€£à¥à€¯à€Ÿà€à€°à¥à€€à€Ÿ à€¯à€Ÿ à€žà€°à¥à€µà¥à€¹à€²à€à€ à€à€ªà€¯à¥à€ à€à€°à€Ÿ  
+Preferences.Connection.Servlet_Tooltip2:à€¯à€Ÿ à€žà€Ÿà€à€ à€à€°à¥à€€à€Ÿ à€à¥à€£à€€à€Ÿà€¹à¥ à€žà€°à¥à€µà¥à€¹à€²à€à€ à€šà€¿à€¶à¥à€à€¿à€€ à€à¥à€²à¥à€²à€Ÿ à€šà€Ÿà€¹à¥, à€€à¥à€®à¥à€¹à¥ à€žà€à€à¥à€°à€¹ à€à€°à¥ à€¶à€à€€à€Ÿ, à€ªà€£ à€€à¥ à€Šà€Ÿà€à€µà€¿à€€à€Ÿ à€¯à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥  
+Preferences.Connection.Site:à€žà€Ÿà€à€  
+Preferences.Connection.Site_Tooltip:à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ à€¹à€µà¥ à€
+à€žà€²à¥à€²à¥ à€žà€Ÿà€à€...  
+Preferences.Connection.Use_Proxy:à€à¥à€¡à€£à€Ÿà€°à¥à€¯à€Ÿ à€ªà¥à€°à€€à€¿à€šà¥à€§à¥à€à€Ÿ à€à€ªà€¯à¥à€ à€à€°à€Ÿ  
+Preferences.General:à€žà€Ÿà€§à€Ÿà€°à€£  
+Preferences.General_Tooltip:à€žà€Ÿà€§à€Ÿà€°à€£ à€ªà¥à€°à€Ÿà€§à€Ÿà€šà¥à€¯à€à¥à€°à€® à€ à€°à€µà€Ÿ  
+Preferences.General.Email:à€à€ªà€¯à¥à€à€à€Ÿà€à€Ÿ à€-à€®à¥à€²  
+Preferences.General.Email_Tooltip:The email address automatically used for any collection created with the GLI  
+Preferences.General.Font:à€
+à€à¥à€·à€°  
+Preferences.General.Font_Tooltip:à€à¥ à€à€² à€à€¯ à€à€°à¥à€€à€Ÿ à€µà€Ÿà€ªà€°à€²à¥à€²à¥ à€
+à€à¥à€·à€°  
+Preferences.General.Interface_Language:à€ªà¥à€°à€Šà¥à€°à€¶à€à€Ÿà€à¥ à€­à€Ÿà€·à€Ÿ  
+Preferences.General.Interface_Language_Tooltip:Select the language you wish the interface and its controls to be displayed in.  
+Preferences.General.Restart_Required:GLI should now be restarted in order to complete loading a new interface language.  
+Preferences.General.Manual_Restart_Required:à€à¥à€à€²à€à€¯ à€à¥à€²à€Ÿà€¯à€à€ à€ªà¥à€šà¥à€¹à€Ÿ à€žà¥à€°à¥ à€à€°à€Ÿ à€®à¥à€¹à€£à€à¥ à€à¥à€²à¥à€²à¥ à€¬à€Šà€² à€Šà€¿à€žà¥à€š à€¯à¥à€€à¥à€²  
+Preferences.General.Show_File_Size:à€«à€Ÿà€à€²à€à€Ÿ à€à€à€Ÿà€° à€Šà€à€µà€Ÿ  
+Preferences.General.Show_File_Size_Tooltip:Show file sizes next to entries in the Workspace and Collection file trees.  
+Preferences.General.View_Extracted_Metadata:à€à¥à€€à€²à¥à€²à€Ÿ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€Šà€Ÿà€à€µà€Ÿ  
+Preferences.General.View_Extracted_Metadata_Tooltip:Display metadata extracted by the greenstone plugins in the metadata list in the Enrich view.  
+Preferences.Mode:à€®à¥à€¡  
+Preferences.Mode_Tooltip:à€à€ªà€°à¥à€¶à€šà€à¥ à€¯à¥à€à¥à€¯ à€ªà€Ÿà€€à€³à¥ à€ à€°à€µà€¿à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€ªà¥à€°à€µà¥à€¶ à€¯à¥à€¥à¥ à€à¥à€²à€¿à€ à€à€°à€Ÿ  
+Preferences.Mode.Assistant:à€à¥à€°à€à€¥à€Ÿà€²à€¯ à€žà€¹à€Ÿà€¯à¥à€¯à€  
+Preferences.Mode.Assistant_Description:Use this setting to gain access to the basic features of the Greenstone Librarian Interface: adding documents and metadata to collections, creating new collections whose structure mirrors existing ones, and building collections.  
+Preferences.Mode.Librarian:à€à¥à€°à€à€¥à€ªà€Ÿà€²  
+Preferences.Mode.Librarian_Description:à€¯à€Ÿ à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€à¥à€°à€à€¥à€ªà€Ÿà€² à€ªà€¡à€Šà¥à€¯à€Ÿà€Šà¥à€µà€Ÿà€°à¥ à€žà€Ÿà€¹à€¿à€€à¥à€¯ à€žà€à€à¥à€°à€¹à€Ÿà€à¥ à€šà€µà€¿à€š à€šà€¿à€°à¥à€®à€¿à€€à¥, à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€€à¥à€¯à€Ÿà€Šà¥ à€®à€§à¥à€¯à¥ à€¬à€Šà€² à€à€°à€€à€Ÿ à€¯à¥à€€à¥  
+Preferences.Mode.Expert:à€à¥à€¶à€²à¥à€¯/à€ªà¥à€°à€Ÿà€µà€¿à€£à¥à€¯  
+Preferences.Mode.Expert_Description:This setting enables expert use of the Greenstone Librarian Interface. It is recommended for users who are experienced with Greenstone, and are able to perform troubleshooting tasks that involve interpreting debugging output from PERL scripts. All features of the Greenstone Librarian Interface are enabled.  
+Preferences.Warnings:à€žà¥à€à€šà€Ÿ  
+Preferences.Warnings_Tooltip:à€žà¥à€à€šà€Ÿ à€Šà€°à¥à€¶à€µà€¿à€£à¥à€¯à€Ÿà€ž à€žà€°à¥à€®à€¥ à€à€¿à€à€µà€Ÿ à€
+à€žà€°à¥à€®à€¥  
+Preferences.Workflow:à€à€Ÿà€®à€Ÿà€à€Ÿ à€ªà¥à€°à€µà€Ÿà€¹  
+Preferences.Workflow_Tooltip:à€à€à€à€°à€«à¥à€ž à€à€Ÿà€®à€Ÿà€à¥à€¯à€Ÿ à€ªà¥à€°à€µà€Ÿà€¹à€Ÿà€à€°à¥à€€à€Ÿ à€¡à€¿à€à€Ÿà€à€š à€€à€¯à€Ÿà€° à€à€°à€Ÿ:  
+Preferences.Workflow.Predefined.Label:à€à€Ÿà€®à€Ÿà€à€Ÿ à€ªà¥à€°à€µà€Ÿà€¹ à€šà€¿à€¶à¥à€à€¿à€€à€à€°à€Ÿ  
+Preferences.Workflow.Title:à€à¥à€ à€¬à¥à€à¥à€ž à€Šà€Ÿà€à€µà€¿à€£à¥à€¯à€Ÿà€ž à€
+à€žà€°à¥à€®à€¥  
+#**********************
+#
+#**** PreviewCommandDialog *******
+PreviewCommandDialog.Instructions:à€žà€à€à¥à€°à€¹à€Ÿà€à€Ÿ à€ªà¥à€°à€¿à€µà¥à€¹à¥à€µ à€à€à€¡à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€¯à¥à€à¥à€¯ à€žà¥à€à€šà€Ÿ à€Šà¥à€¯à€Ÿ.  
+PreviewCommandDialog.Title:à€à€§à¥à€à¥ à€žà¥à€à€šà€Ÿ  
+
+ShowPreviousCollection.Title:à€à€§à¥ à€€à€¯à€Ÿà€° à€à¥à€²à¥à€²à¥à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€à€Ÿà€ªà¥à€°à¥à€µà¥à€¹à¥à€µ à€Šà€Ÿà€à€µà€Ÿ  
+ShowPreviousCollection.Message:à€à¥à€ à€à€Ÿà€²à¥à€¯à€Ÿà€šà¥ à€žà€à€à¥à€°à€¹ à€€à€¯à€Ÿà€° à€¹à¥à€ à€¶à€à€€ à€šà€Ÿà€¹à¥,à€€à¥à€®à¥à€¹à¥ à€ªà¥à¥à€°à€µà¥ à€€à€¯à€Ÿà€° à€à¥à€²à¥à€²à¥à€¯à€Ÿ à€žà€à€à¥à€°à€¹  à€Šà€Ÿà€à€µà€€ à€à€¹à€Ÿà€€  
+#**********************
+#
+#***** Remote Greenstone Server *****
+RemoteGreenstoneServer.Authentication_Message:à€à¥à€ªà€¯à€Ÿà€€à¥à€®à€à€à¥ à€à¥à€°à¥à€šà€žà¥à€à¥à€šà€à¥ à€à€ªà€¯à¥à€à€ à€šà€Ÿà€µ à€µ à€à¥à€£à¥à€à€Ÿ à€¶à€¬à¥à€Š à€Šà¥à€¯à€Ÿ  
+RemoteGreenstoneServer.Authentication_Message_gs3:à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€¯à¥à€à€° à€šà¥à€® à€µ à€ªà€Ÿà€žà€°à¥à€µà€¡ à€²à€¿à€¹à€Ÿ  
+RemoteGreenstoneServer.Error:à€¹à¥ à€à€Ÿà€® à€à€°à€€ à€
+à€žà€€à€Ÿà€šà€Ÿ à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€žà€°à¥à€µà¥à€¹à€° à€à¥à€ à€Šà€¿à€žà€€à¥:\n{0-à€à¥à€ à€žà€à€Šà¥à€¶}  
+RemoteGreenstoneServer.Error_Title:à€°à€¿à€®à¥à€ à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€žà€°à¥à€µà¥à€¹à€°  à€à¥à€  
+RemoteGreenstoneServer.Progress:à€°à€¿à€®à¥à€ à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€žà€°à¥à€µà¥à€¹à€° à€ªà¥à€°à¥à€à¥à€°à¥à€ž  
+RemoteGreenstoneServer.Steal_Lock_Message:.à€¹à€Ÿ à€žà€à€à¥à€°à€¹ '{0-à€à€ªà€¯à¥à€à€ à€šà€Ÿà€µ}'à€à€¡à¥à€š à€žà€à€°à€à¥à€·à€¿à€€ à€à€°à€£à¥à€¯à€Ÿà€€ à€à€²à€Ÿ à€à€¹à¥.à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ à€€à¥ à€
+à€žà¥à€°à€à¥à€·à€¿à€€ à€à€°à€Ÿà€µà€¯à€Ÿà€à€Ÿ à€à€¹à¥ à€à€Ÿ ()âŠ..  
+#**********************
+#
+#***** Rename Prompt *****
+RenamePrompt.Name:à€šà€Ÿà€µ  
+RenamePrompt.Title:à€«à€Ÿà€à€²à€à¥/ à€«à¥à€²à¥à€¡à€°à€à¥ à€šà€Ÿà€µ à€ªà¥à€šà¥à€¹à€Ÿ à€Šà¥à€¯à€Ÿ  
+#**********************
+#
+#***** Replace Prompt *****
+ReplacePrompt.Title:âŠà€¯à€Ÿ à€¬à€°à¥à€¬à€° à€«à€Ÿà€à€² à€¬à€Šà€²à€Ÿ  
+#**********************
+#
+#***** Save Collection Box *****
+SaveCollectionBox.File_Name:à€«à€Ÿà€à€²à€à¥ à€šà€Ÿà€µ  
+SaveCollectionBox.Files_Of_Type:à€«à€Ÿà€à€²à€à€Ÿ à€ªà¥à€°à€à€Ÿà€°  
+SaveCollectionBox.Look_In:à€ªà€¹à€Ÿ  
+#**********************
+#
+#***** Save Progress Box *******
+SaveProgressDialog.Title:à€žà€à€à¥à€°à€¹ à€žà€Ÿà€ à€µà€£  
+#*******************************
+#
+Server.QuitManual:à€à¥à€°à€à€¥à€Ÿà€²à€¯ à€ªà¥à€°à€Šà€°à¥à€¶à€š à€¹à¥ à€žà¥à€¥à€Ÿà€šà€¿à€/à€à¥à€°à€à€¥à€Ÿà€²à€¯  à€žà¥à€°à€µà¥à€¹à€° à€
+à€ªà¥à€à€ª à€¬à€à€Š à€à€°à€£à¥à€¯à€Ÿà€ž à€
+à€žà€®à¥à€°à€¥ à€à€¹à¥âŠâŠ.  
+Server.QuitTimeOut:à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€žà¥à€¥à€Ÿà€šà€¿à€ à€à¥à€°à€à€¥à€Ÿà€²à€¯ à€¹à¥ à¥¬à¥Š à€žà¥à€à€à€Šà€Ÿà€šà¥ à€
+à€ªà¥à€à€ª à€¬à€à€Š à€¯à€Ÿ à€žà¥à€à€šà¥à€ž à€ªà¥à€°à€€à€¿à€žà€Ÿà€Š à€Šà¥à€€ à€šà€Ÿà€¹à¥.à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ à€Šà¥à€ž-à€¯à€Ÿ à€žà¥à€à€à€Šà€Ÿ à€à€°à¥à€€à€Ÿ à€¥à€Ÿà€à€¬à€Ÿà€µà€¯à€Ÿà€à¥ à€à€¹à¥ à€à€Ÿ ?  
+Server.StartUpTimeOut:à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€žà¥à€¥à€Ÿà€šà€¿à€ à€à¥à€°à€à€¥à€Ÿà€²à€¯ à€¹à¥ à¥¬à¥Š à€žà¥à€à€à€Šà€Ÿà€šà¥ à€
+à€ªà¥à€à€ª à€¬à€à€Š à€¯à€Ÿ à€žà¥à€à€šà¥à€ž à€ªà¥à€°à€€à€¿à€žà€Ÿà€Š à€Šà¥à€€ à€šà€Ÿà€¹à¥.à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ à€Šà¥à€ž-à€¯à€Ÿ à€žà¥à€à€à€Šà€Ÿ à€à€°à¥à€€à€Ÿ à€¥à€Ÿà€à€¬à€Ÿà€µà€¯à€Ÿà€à¥ à€à€¹à¥ à€à€Ÿ ?  
+#
+#***** Sources *****
+Source.General:à€žà€Ÿà€§à€Ÿà€°à€£  
+#**********************
+#
+#***** Trees *****
+Tree.DownloadedFiles:à€«à€Ÿà€à€²à€žà¥ à€¡à€Ÿà€à€šà€²à¥à€¡  
+Tree.Files:à€«à€Ÿà€à€²à€žà¥  
+Tree.Home:à€¹à¥à€® à€«à¥à€²à¥à€¡à€°({0})  
+Tree.Root:à€²à¥à€à€² à€«à€Ÿà€à€²à€žà¥à€ªà¥à€ž  
+Tree.World:à€Šà€žà¥à€€à€à€µà€  à€à¥à€°à¥à€šà€žà¥à€à¥à€š  à€žà€à€à¥à€°à€¹à€€  
+#***********************
+#
+#***** Warning Dialog *****
+WarningDialog.Dont_Show_Again:à€¹à€¿ à€žà¥à€à€šà€Ÿ à€ªà¥à€šà¥à€¹à€Ÿ à€Šà€Ÿà€à€µà¥ à€šà€à€Ÿ  
+WarningDialog.Dont_Show_Again_Message:à€¹à¥ à€à€¿à€€à¥à€° à€ªà¥à€šà¥à€¹à€Ÿ à€Šà€Ÿà€à€µà¥ à€šà€à€Ÿ  
+WarningDialog.Invalid_Value:à€®à¥à€²à¥à€¯ à€µà€¿à€­à€Ÿà€à€Ÿà€€ à€­à€°à€²à¥à€²à¥ à€®à¥à€²à¥à€¯  à€¯à¥à€à¥à€¯ à€šà€Ÿà€¹à¥  
+WarningDialog.Value:à€®à¥à€²à¥à€¯ à€­à€°à€Ÿ  
+#
+#****** WGet *****
+WGet.Prompt:à€¡à€¬à¥à€²à¥à€à¥à€ à€®à€¿à€°à€°à¥à€à€ à€à¥à€²à€Ÿà€¯à€à€  
+#
+#****** Workflows *****
+Workflow.AllPanels:à€žà€°à¥à€µ à€ªà¥
+à€šà€²  
+Workflow.LocalSourceCollectionBuilding:à€žà¥à€¥à€Ÿà€µà€¿à€ à€žà€à€à¥à€°à€¹ à€€à€¯à€Ÿà€° à€à€°à€£à€Ÿà€°à€Ÿ à€žà¥à€°à¥à€ž  
+Workflow.DocumentEnriching:à€žà€à€à¥à€°à€¹ à€žà€§à€š  
+
+
+#********GEMS******
+
+GEMS.Title:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€žà¥à€ à€à€°à¥à€€à€Ÿ à€à¥à€°à¥à€šà€žà¥à€à¥à€šà€à€Ÿ à€à€¡à€¿à€à€°  
+GEMS.OpenMetadataSetPrompt.Title:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à€Ÿ à€à€ à€à€à€¡à€Ÿ  
+GEMS.OpenMetadataSetPrompt.Open_Tooltip:à€šà€¿à€µà€¡à€à€š à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à€Ÿ à€à€ à€à€à€¡à€Ÿ  
+GEMS.Set_Description:à€µà€¿à€žà¥à€€à€Ÿà€°à¥à€€ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€žà¥à€  
+GEMS.OpenMetadataSetPrompt.Open:à€à€à€¡à€Ÿ  
+GEMS.OpenMetadataSetPrompt.Available_Sets:à€à€ªà€²à€¬à¥à€§ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à€Ÿ à€à€  
+GEMS.DeleteMetadataSetPrompt.Title:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à¥à€¡à€Ÿ  
+GEMS.DeleteMetadataSetPrompt.Delete_Tooltip:à€šà€¿à€µà€¡à€ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à¥à€¡à€Ÿ  
+GEMS.DeleteMetadataSetPrompt.Delete:à€à¥à€¡à€Ÿ  
+GEMS.DeleteMetadataSetPrompt.Available_Sets:à€à€ªà€²à€¬à¥à€§ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€ à¥à€µà€Ÿ  
+GEMS.DeleteMetadataSetPrompt.Confirm_Delete:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à¥à€¡à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥  à€à¥à€à¥à€šà€Ÿà€€ à€à¥à€£ à€à€°à€Ÿ  
+GEMS.DeleteMetadataSetPrompt.No_Set:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€šà€¿à€µà€¡à€ à€šà€Ÿà€¹à¥  
+GEMS.Confirm_Removal:à€€à¥à€®à¥à€¹à€à€Ÿà€² à€šà€¿à€¶à€¿à€à€€à€  à€¹à€Ÿ à€à€à€ à€à€Ÿà€¢à€Ÿà€µà€¯à€Ÿà€à€Ÿ à€à€¹à¥  
+GEMS.Confirm_Removal_Title:à€à€Ÿà€¢à€Ÿà€µà€¯à€Ÿà€à¥ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿ  
+GEMS.Attribute:à€à¥à€³à€²à¥à€²à¥  
+GEMS.Popup.AddElement:à€à€ à€®à€¿à€³à€µà€Ÿ  
+GEMS.Popup.DeleteElement:à€à€ à€à¥à€¡à€Ÿ  
+GEMS.Popup.AddSubElement:à€à€ªà€à€ à€®à€¿à€³à€µà€Ÿ  
+GEMS.Popup.DeleteSubElement:à€à€ªà€à€ à€à¥à€¡à€Ÿ  
+GEMS.NewMetadataSetPrompt.Title:à€šà€¿à€µà€š à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à€Ÿ à€à€  
+GEMS.NewMetadataSetPrompt.Instructions:à€šà€µà€¿à€š à€«à€Ÿà€à€²à€à¥ à€žà€µà€¿à€žà¥à€€à€° à€
+à€žà¥à€žà¥à€à€¶à€š:  
+GEMS.NewMetadataSetPrompt.Base_MetadataSet:à€¯à€Ÿ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à€Ÿà€žà¥à€ à€¬à¥à€žà€  
+GEMS.NewMetadataSetPrompt.Metadata_Title:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à€Ÿà€žà¥à€à€à¥  à€šà€Ÿà€µ:  
+GEMS.NewMetadataSetPrompt.Metadata_Namespace:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à€Ÿà€žà¥à€ à€šà¥à€®à€žà¥à€ªà¥à€ž  
+GEMS.NewMetadataSetPrompt.New_Metadata:-- à€šà€µà€¿à€š  à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à€Ÿà€žà¥à€ --  
+GEMS.NewMetadataSetPrompt.Title_Error_Message:à€šà€¿à€µà€š à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à€Ÿ à€à€à€Ÿà€ž à€¶à¥à€°à€¿à€·à€ à€¹à€µà¥  
+GEMS.NewMetadataSetPrompt.Title_Error:à€¶à¥à€°à€¿à€·à€ à€šà€¿à€¶à¥à€à€¿à€€  à€šà€Ÿà€¹à¥  
+GEMS.NewMetadataSetPrompt.Namespace_Error_Message:à€šà€µà€¿à€š  à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à€Ÿà€žà¥à€à€²à€Ÿ à€šà¥à€®à€žà¥à€ªà¥à€ž à€¹à€µà¥  
+GEMS.NewMetadataSetPrompt.Namespace_Error:à€šà¥à€®à€žà¥à€ªà¥à€ž à€šà€¿à€¶à¥à€à€¿à€€ à€šà€Ÿà€¹à¥  
+GEMS.SelectedLanguage:à€­à€Ÿà€·à¥à€žà€Ÿà€ à¥  à€
+à€à¥à€°à¥à€¬à¥à€¯à¥à€ à€®à€¿à€³à€µà€Ÿ  
+GEMS.Language:à€­à€Ÿà€·à€Ÿ  à€šà€¿à€µà€¡à€Ÿ  
+GEMS.LanguageDependent:à€­à€Ÿà€·à€Ÿ à€žà€à€¬à€à€§  à€
+à€à¥à€°à¥à€¬à¥à€¯à¥à€  
+GEMS.Attribute_Table:à€ à¥à€µà€Ÿ  
+GEMS.Attribute_Deletion_Error:à€
+à€à¥à€°à¥à€¬à¥à€¯à¥à€ à€à¥à€¡à€£à¥à€¯à€Ÿà€à¥ à€à¥à€  
+GEMS.Attribute_Deletion_Error_Message:à€¹à¥ à€
+à€à¥à€°à¥à€¬à¥à€¯à¥à€ à€à€µà€¶à¥à€¯à€ à€à€¹à¥ à€€à¥ à€à¥à€¡à¥ à€šà€à€Ÿ  
+GEMS.Add_Lang_Depend_Attr_Error:à€
+à€à¥à€°à¥à€¬à¥à€¯à¥à€ à€µà€Ÿà€¢à€µà€¿à€£à¥à€¯à€Ÿà€à¥ à€à¥à€  
+GEMS.Add_Lang_Depend_Attr_Error_Message:"à€­à€Ÿà€·à€Ÿ à€žà€à€¬à€à€§" à€Šà€¿à€²à¥à€²à€Ÿà€šà€Ÿà€¹à¥, à€à¥à€ªà€¯à€Ÿ à€€à¥ à€Šà¥à€¯à€Ÿ.  
+GEMS.Attribute_Edition_Error:à€
+à€à¥à€°à¥à€¬à¥à€¯à¥à€ à€à€µà¥à€€à¥à€€à¥ à€à¥à€  
+GEMS.Attribute_Edition_Error_Message:à€¹à¥ à€
+à€à¥à€°à¥à€¬à¥à€¯à¥à€ à€à€µà€¶à¥à€¯à€ à€à€¹à¥, à€€à¥ à€°à€¿à€à€Ÿà€®à¥ à€à€°à¥ à€šà€¯à¥  
+GEMS.Confirm_Save:à€¹à€Ÿ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ  à€¬à€Šà€²à€²à€Ÿ à€à€¹à¥, à€€à¥à€®à¥à€¹à€à€Ÿà€²à€Ÿ à€€à¥ à€ à¥à€µà€Ÿà€¯à€à€Ÿ à€à€¹à¥ à€à€Ÿ ?  
+GEMS.Confirm_Save_Title:à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€ à¥à€µà€Ÿ  
+GEMS.Confirm_DeleteElement:à€€à¥à€®à¥à€¹à€à€Ÿà€² à€šà€¿à€¶à€¿à€à€€à€  à€¹à€Ÿ à€à€à€ à€à¥à€¡à€Ÿà€µà€¯à€Ÿà€à€Ÿ à€à€¹à¥  
+GEMS.Confirm_DeleteElement_Title:à€à€à€ à€à¥à€¡à€Ÿ  
+GEMS.File_Deletion_Error_Message:à€¹à¥ à€«à€Ÿà€à€² à€à¥à€¡à€€à€Ÿ à€¯à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥  
+GEMS.File_Deletion_Error:à€«à€Ÿà€à€² à€à¥à€¡à€£à¥à€¯à€Ÿà€€ à€à¥à€  
+GEMS.Namespace_Conflict_Message:à€žà¥à€à€šà€Ÿà€ à€¹à¥ à€šà¥à€®à€žà¥à€ªà¥à€ž à€Šà¥à€žà€°à¥à€¯à€Ÿ à€®à¥à€à€¡à¥à€à€Ÿ à€žà¥à€  à€®à€§à¥à€¯à¥ à€µà€Ÿà€ªà€°à€²à¥ à€à€¹à¥. à€žà€²à€?  
+GEMS.Namespace_Conflict:à€šà¥à€®à€žà¥à€ªà¥à€ž à€µà€¿à€·à€¯à¥ à€à¥à€à€§à€³  
+GEMS.Move_Up:à€µà€°à€€à¥   à€¹à€²à€µà€Ÿ  
+GEMS.Move_Down:à€à€Ÿà€²à¥ à€¹à€²à€µà€Ÿ  
+GEMS.Cannot_Undo:à€¹à¥ à€à¥à€€à¥ à€à€°à€€à€Ÿ à€¯à¥à€£à€Ÿà€° à€šà€Ÿà€¹à¥  
+
+GEMS.AttributeTable.Name:à€šà€Ÿà€µ  
+GEMS.AttributeTable.Language:à€­à€Ÿà€·à€Ÿ  
+GEMS.AttributeTable.Value:à€®à¥à€²à¥à€¯  
+GEMS.NewMetadataElementNamePrompt.Title:à€šà€µà€¿à€š à€à€à€  
+GEMS.NewMetadataElementNamePrompt.Name:à€šà€µà€¿à€š à€à€à€à€Ÿà€ž à€šà€Ÿà€µ à€²à€¿à€¹à€Ÿ  
+GEMS.NewMetadataElementNamePrompt.SubTitle:à€šà€µà€¿à€š à€à€ªà€à€à€  
+GEMS.NewMetadataElementNamePrompt.SubName:à€šà€µà€¿à€š à€à€ªà€à€à€à€Ÿà€ž à€šà€Ÿà€µ à€²à€¿à€¹à€Ÿ  
+GEMS.NewMetadataElementNamePrompt.Name_Error_Message:à€¯à€Ÿ à€šà€Ÿà€µà€Ÿà€à€Ÿ à€à€à€ à€à€§à¥à€ªà€Ÿà€žà¥à€š à€à€¹à¥  
+GEMS.NewMetadataElementNamePrompt.Name_Error:à€à€à€à€Ÿ  à€šà€Ÿà€µà€Ÿà€€ - à€à¥à€  
+GEMS.NewMetadataElementNamePrompt.EmptyName_Error_Message:à€šà€µà€¿à€š à€à€à€à€Ÿà€ž à€šà€Ÿà€µ à€¹à€µà¥  
+
+
+GEMS.No_Set_Loaded:à€à¥à€£à€€à€Ÿà€¹à¥  à€šà€µà€¿à€š  à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à€Ÿà€žà¥à€ à€²à¥à€¡ à€à¥à€²à¥à€²à€Ÿ à€šà€Ÿà€¹à¥.  à€à¥à€ªà€¯à€Ÿ à€¯à€Ÿà€žà€Ÿà€ à¥ à€šà€µà€¿à€š à€žà¥à€ à€€à€¯à€Ÿà€° à€à€°à€Ÿ à€à€¿à€à€µà€Ÿ à€
+à€žà€²à¥à€²à€Ÿ  à€žà¥à€ à€à€à€¡ à€à€°à€Ÿ  
Index: main/tags/2.83/gli/classes/dictionary_ro.properties
===================================================================
--- main/tags/2.83/gli/classes/dictionary_ro.properties	(revision 21123)
+++ main/tags/2.83/gli/classes/dictionary_ro.properties	(revision 21123)
@@ -0,0 +1,1054 @@
+#*******************
+#** Language Orientation Property
+Component.Orientation:LTR
+
+#*******************
+#
+#***** AboutDialog *****
+AboutDialog.Acknowledgement:RecunoaÅteri pentru programele proprietare, pachetele sau clasele...  
+AboutDialog.Date:(Decembrie 2006)  
+AboutDialog.Item0:'Xerces Java 1' de la The Apache Software Foundation (http://www.apache.org/)  
+AboutDialog.Item2:'WGet' de la Free Software Foundation, Inc. (http://www.gnu.org/software/wget/wget.html)  
+AboutDialog.Item3:'qflib' de la Quality First Software GmbH. (http://www.qfs.de/en/qflib/index.html)  
+AboutDialog.Item4:'ExtensionFileFilter.class' de Bruno Dumon Åi contribuitorii(http://pollo.sourceforge.net/)  
+AboutDialog.Item5:'Cum sÄ dezactivezi redenumirea unui fiÅier Ã®n panoul de selectare a acestuia' - vladi21 (http://www.experts-exchange.com/)  
+AboutDialog.Item6:'Autoscrolling' - Java Swing de Robert Eckstein, Marc Loy & Dave Wood (http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf)  
+AboutDialog.Item7:'Add ghosted drag images to your JTrees' - de Andrew J. Armstrong (http://www.javaworld.com/javaworld/javatips/jw-javatip114.html)  
+AboutDialog.Item8:'Stop annoying java.prefs error when you don't have superuser access' - MulÅ£umiri lui Walter Schatz  
+AboutDialog.Item9:Director nou, pictogramele Återge Åi asistenÅ£Ä din Linie nouÄ! set de pictograme de Silvestre Herrera, de la http://art.gnome.org/  
+AboutDialog.Java_Req:Java este o marcÄ Ã®nregistratÄ al Sun Microsystems Inc. JRE este redistribuit ca Supplemental License Terms, de la http://java.sun.com/j2se/1.4.1/j2re-1_4_1_02-license.html  
+AboutDialog.Java_Req_One:Acest produs include cod licenÅ£iat de la RSA Security, Inc.  
+AboutDialog.Java_Req_Two:Anumite porÅ£iuni cu licenÅ£e IBM sunt disponibile la http\://oss.software.ibm.com/icu4j/  
+AboutDialog.Thanks:De asemenea, adresÄm mulÅ£umiri tuturor celor care au postat informaÅ£ii folositoare pe internet referitoare la java...  
+AboutDialog.Title:Despre...  
+AboutDialog.Title_One:InterfaÅ£a Bibliotecarului Greenstone  
+AboutDialog.Title_Two:Biblioteca DigitalÄ Greenstone, Universitatea din Waikato  
+AboutDialog.Copyright:Copyright (C) 2003 New Zealand Digital Library Project  
+AboutDialog.Copyright_Two:Publicat sub prevederile GPL. Vezi LICENSE.txt pentru mai multe detalii.  
+#***********************
+#
+#***** Audit Table *****
+AuditTable.File:Numele fiÅierului  
+#***********************
+#
+#***** Auto Filter *****
+Autofilter.AND:ÅI(AND)  
+Autofilter.Ascending:Ascendent  
+Autofilter.Case_Sensitive:PotriveÅte mÄrimea caracterelor  
+Autofilter.Custom_Filter:Avansat  
+Autofilter.Descending:DescrescÄtor  
+Autofilter.Filter_By_Value:Simplu  
+Autofilter.Name:Numele coloanei  
+Autofilter.None:Niciun/o  
+Autofilter.Operator:CondiÅ£ie  
+Autofilter.OR:SAU  
+Autofilter.Order:Ordonare  
+Autofilter.Order_Tooltip:SorteazÄ elementele corespunzÄtoare Ã®n aceastÄ ordine  
+Autofilter.Remove:EliminÄ Filtrul  
+Autofilter.Remove_Tooltip:Scoate acest filtru din coloana tabelului  
+Autofilter.Set:SeteazÄ Filtrul  
+Autofilter.Set_Tooltip:AdaugÄ acest filtru la coloana tabelului  
+Autofilter.Table_Header_Tooltip:FiltreazÄ dupÄ {0}  
+Autofilter.Title:AutofiltreazÄ Metadate  
+Autofilter.eqeq:egal cu  
+Autofilter.!eq:nu este egal  
+Autofilter.<:este mai mic decÃ¢t  
+Autofilter.<eq:este mai mic decÃ¢t sau egal cu  
+Autofilter.>:este mai mare decÃ¢t  
+Autofilter.>eq:este mai mare decÃ¢t sau egalÄ cu  
+Autofilter.^:Ã®ncepe cu  
+Autofilter.!^:nu Ã®ncepe cu  
+Autofilter.$:se Ã®ncheie cu  
+Autofilter.!$:nu se Ã®ncheie cu  
+Autofilter.?:conÅ£ine  
+Autofilter.!?:nu conÅ£ine  
+#
+#     ********************************************************
+#     *************** Collection Design Module ***************
+#     ********************************************************
+#     * The dictionary  phrases  used in the creation of the *
+#     * Colection  Design  Module. Note that we  still  have *
+#     * access  to the format  arguments (argument  32+) for *
+#     * html formatting.                                     *
+#     ********************************************************
+CDM.ArgumentConfiguration.Bad_Integer:<html>Argumentul '{0}' necesitÄ ca valoarea sÄ fie Ã®ntreagÄ,<br>dar nici un numÄr Ã®ntreg nu poate fi parsat pornind de la {1}.</html>  
+CDM.ArgumentConfiguration.Error_Title:Erori Ã®n Argumente  
+CDM.ArgumentConfiguration.Header:<HTML><STRONG><FONT FACE={FONT} COLOR=Black SIZE=5><CENTER>VÄ rugÄm sÄ configuraÅ£i argumentele pentru {0}.</CENTER></FONT></STRONG></HTML>  
+CDM.ArgumentConfiguration.No_Value:Argumentul '{0}' necesitÄ o valoare, nefiind niciuna specificatÄ.  
+CDM.ArgumentConfiguration.Required_Argument:Argumentului '{0}' trebuie sÄ i se dea o valoare.  
+CDM.ArgumentConfiguration.Title:Configurarea Argumentelor  
+CDM.BuildTypeManager.Title:SelecteazÄ Indexatorul  
+CDM.BuildTypeManager.mg:MG  
+CDM.BuildTypeManager.mg_Description:Acesta este indexatorul orignal folosit de greenstone, dezvoltat Ã®ndeosebi de Alistar Moffat Åi descris Ã®n cartea consideratÄ clasicÄ Managing Gigabytes. ReuÅeÅte sÄ indexeze la nivel de secÅ£iune iar cÄutÄrile pot fi de tip boolean sau ierarhizate (nu ambele Ã®n acelaÅi timp). Pentru fiecare index specificat Ã®n colecÅ£ie este creat fizic un index separat. Pentru cÄutarea dupÄ fraze, Greenstone efectueazÄ o cÄutare "AND" dupÄ toÅ£i termenii iar apoi scaneazÄ rezultatele pentru a vedea dacÄ fraza este prezentÄ. Acest lucru a fost testat pe scarÄ largÄ asupra colecÅ£iilor foarte mari (mulÅ£i Gb de text).  
+CDM.BuildTypeManager.mgpp:MGPP  
+CDM.BuildTypeManager.mgpp_Description:AceastÄ nouÄ versiune a MG (MG plus plus) a fost dezvoltatÄ de Proiectul Bibliotecii Digitale a Noii Zeelande. ReuÅeÅte sÄ indexeze la nivel de cuvinte, lucru care permite indexatorului cÄutarea pe fraze, proximitate Åi pe cÃ¢mpuri. CÄutÄrile boolean pot fi ierarhizate. Este creat doar un singur index pentru o colecÅ£ie Greenstone: nivelul document/secÅ£iune Åi cÃ¢mpurile text/metadate sunt controlate de acest unic index. Pentru colecÅiile cu mai multe indexuri, acest lucru conduce la o dimensiune mai micÄ a colecÅ£iei decÃ¢t dacÄ ar fi folosit MG. Pentru colecÅ£iile mari, cÄutarea poate fi Ã®ngreunatÄ datoritÄ faptului cÄ indexul este la nivel de cuvÃ¢nt decÃ¢t la nivel de secÅ£iune.  
+CDM.BuildTypeManager.lucene:Lucene  
+CDM.BuildTypeManager.lucene_Description:Lucene a fost dezvoltat de Apache Software Foundation. GestioneazÄ cÄutarea pe cÃ¢mpuri Åi pe proximitÄÅ£i, dar la un singur nivel (de exemplu, documentele complete sau secÅ£iunile individuale, dar nu ambele). Astfel cÄ indexurile documentului Åi a secÅ£iunilor necesitÄ existenÅ£a a douÄ indexuri separate. Lucene furnizeazÄ o gamÄ de cÄutare similarÄ MGPP avÃ¢nd Ã®n plus wildcarduri uni-caracter, cÄutare pe limite Åi sortarea rezultatelor cÄutÄrii dupÄ cÃ¢mpuri de metadate. Lucene a fost adÄugat la greenstone pentru a facilita construirea incrementalÄ a unei colecÅ£ii, servicii pe care MG Åi MGPP nu le pot oferi.  
+CDM.BuildTypeManager.Current_Type:Indexator Ã®n uz: {0}  
+CDM.BuildTypeManager.Change:SchimbÄ...  
+CDM.BuildTypeManager.Change_Tooltip:SchimbÄ indexatorul folosit de aceastÄ colecÅ£ie  
+CDM.ClassifierManager.Add:AdaugÄ Clasificator...  
+CDM.ClassifierManager.Add_Tooltip:UtilizeazÄ clasificatorul specificat cu aceastÄ colecÅ£ie  
+CDM.ClassifierManager.Assigned:Clasificatorii puÅi  
+CDM.ClassifierManager.Classifier:SelecteazÄ indicii de clasificare pentru a fi adÄugaÅ£i  
+CDM.ClassifierManager.Classifier_Str:clasificator  
+CDM.ClassifierManager.Classifier_List_XML_Parse_Failed:Nu pot obÅ£ine o listÄ a indecÅilor de clasificare folosind classinfo.pl -listall.  
+CDM.ClassifierManager.Classifier_XML_Parse_Failed:Nu au putut fi determinate argumentele pentru clasificatorul\n {0}. VÄ rugÄm, asiguraÅ£i-vÄ cÄ acest clasificator \nfurnizeazÄ fanionul -xml prin rularea scriptului classinfo.pl \nÃ®n mod similar descrierii scriptului pluginfo.pl Ã®n\nsecÅ£iunea 2.1. a Ghidului Greenstone pentru Dezvoltatori.  
+CDM.ClassifierManager.Configure:ConfigureazÄ Clasificatorul...  
+CDM.ClassifierManager.Configure_Tooltip:ModificÄ opÅ£iunile clasificatorului selectat  
+CDM.ClassifierManager.Remove:EliminÄ Clasificatorul  
+CDM.ClassifierManager.Remove_Tooltip:EliminÄ clasificatorul selectat din listÄ  
+CDM.FormatManager.Add:AdaugÄ format  
+CDM.FormatManager.Add_Tooltip:AdaugÄ comanda specificÄ formatului  
+CDM.FormatManager.AllFeatures:Toate Caracteristicile  
+CDM.FormatManager.AllParts:Toate Componentele  
+CDM.FormatManager.Default:Reset to Default
+CDM.FormatManager.Default_Tooltip:Reset the selected format command to its default value 
+CDM.FormatManager.Editor:String formatat HTML  
+CDM.FormatManager.Editor_Tooltip:Introdu sau editeazÄ comanda de formatare  
+CDM.FormatManager.Editor_Disabled_Tooltip:ApÄsaÅ£i pe 'AdaugÄ un format' pentru a adÄuga aceastÄ comandÄ de format colecÅ£iei dumneavoastre.  
+CDM.FormatManager.Enabled:Activat  
+CDM.FormatManager.Feature:Alege o caracteristicÄ(funcÅ£ie)  
+CDM.FormatManager.Feature_Tooltip:Caracteristica de formatare  
+CDM.FormatManager.Insert:Introdu  
+CDM.FormatManager.Insert_Tooltip:Introdu variabila selectatÄ Ã®n formatul comenzii  
+CDM.FormatManager.Default:Reset to Default
+CDM.FormatManager.Default_Tooltip:Reset the selected format command to its default value
+CDM.FormatManager.Insert_Variable:InsereazÄ variabila...  
+CDM.FormatManager.Part:ComponentÄ afectatÄ  
+CDM.FormatManager.Part_Tooltip:Aspectul caracteristicii selectare pentru formatare  
+CDM.FormatManager.Remove:EliminÄ Formatul  
+CDM.FormatManager.Remove_Tooltip:EliminÄ comanda pentru formatul selectat  
+CDM.FormatManager.Variable_Tooltip:Introdu una din variabilele predefinite Ã®n formatul de comandÄ selectat  
+CDM.FormatManager.MessageBox:Validare XML  
+CDM.FormatManager.MessageBox_Tooltip:Msajul de validare a Template-ului XML  
+CDM.General.Access:AceastÄ colecÅ£ie trebuie sÄ fie accesibilÄ public  
+CDM.General.Browser_Title:SelecteazÄ o imagine  
+CDM.General.Collection_Extra:Descrierea colecÅ£iei:  
+CDM.General.Collection_Extra_Tooltip:O descriere a scopului Åi conÅ£inutului colecÅ£iei  
+CDM.General.Collection_Name:Titlul ColecÅ£iei:  
+CDM.General.Collection_Name_Tooltip:Numele colecÅ£iei  
+CDM.General.Email.Creator:Email-ul creatorului  
+CDM.General.Email.Creator_Tooltip:Adresa de email a creatorului colecÅ£iei  
+CDM.General.Email.Maintainer:Emailul maintainerului  
+CDM.General.Email.Maintainer_Tooltip:Email-ul maintainerului colecÅ£iei  
+CDM.General.Icon_Collection:URL-ul cÄtre imaginea 'paginii despre':  
+CDM.General.Icon_Collection_Tooltip:URL-ul imaginii de afiÅat Ã®n pagina despre a colecÅ£iei  
+CDM.General.Icon_Collection_Small:URL la imaginea "paginii home":  
+CDM.General.Icon_Collection_Small_Tooltip:URL-ul imaginii de afiÅat Ã®n pagina principalÄ a bibliotecii pentru aceastÄ colecÅ£ie  
+CDM.General.Image_Copy_Failed:A apÄrut o eroare care Ã®mpiedicÄ copierea imaginii selectate. \nVÄ rugÄm sÄ Ã®ncercaÅ£i sÄ copiaÅ£i manual imaginea:\n{0}\n Ã®ntr-un director al colecÅ£iei dumneavoastrÄ:\n{1}  
+CDM.General.Image_Filter:Imagini (gif-uri, jpg-uri Åi png-uri)  
+CDM.GUI.Classifiers:Navigarea Indicilor de Clasificare  
+CDM.GUI.Formats:Caracteristicile formatului  
+CDM.GUI.General:General  
+CDM.GUI.Indexes:Indexurile de CÄutare  
+CDM.GUI.Macros:Macrouri specifice colecÅ£iei  
+CDM.GUI.Plugins:Pluginurile Documentului  
+CDM.GUI.Root:CDM_ROOT  
+CDM.GUI.SearchMetadata:CautÄ  
+CDM.GUI.Subcollections:Indexurile PartiÅ£iilor  
+CDM.GUI.SuperCollection:CÄutare in mai multe colecÅ£ii  
+CDM.GUI.Translation:Tradu text  
+CDM.HelpButton:AsistenÅ£a pentru acest ecran  
+CDM.HelpButton_Tooltip:DeschideÅ£i asistenÅ£a GLI pentru aceastÄ fereastrÄ  
+CDM.IndexManager.Add_Index:AdaugÄ Index  
+CDM.IndexManager.Add_Index_Tooltip:AdaugÄ indexul specificat  
+CDM.IndexManager.Allfields_Index:AdaugÄ cÄutarea combinatÄ peste toate indexurile asignate (toate cÃ¢mpurile)  
+CDM.IndexManager.Default_Index_Indicator:[Indexul Implicit]  
+CDM.IndexManager.Index_Exists:Acel index a fost deja asignat aceastei colecÅ£ii.  
+CDM.IndexManager.Indexes:Indexurile Asignate  
+CDM.IndexManager.Level:Nivelul indexÄrii:  
+CDM.IndexManager.Level_Tooltip:Unitatea de text pe care se bazeazÄ indexul  
+CDM.IndexManager.Add_All:AdaugÄ tot  
+CDM.IndexManager.Add_All_Tooltip:AdaugÄ un index separat pentru fiecare sursÄ  
+CDM.IndexManager.Edit_Index:EditeazÄ Indexul  
+CDM.IndexManager.Edit_Index_Tooltip:ModificÄ indexul selectat  
+CDM.IndexManager.New_Index:Index nou  
+CDM.IndexManager.New_Index_Tooltip:AdaugÄ un nou index  
+CDM.IndexManager.Remove_Index:EliminÄ Indexul  
+CDM.IndexManager.Remove_Index_Tooltip:EliminÄ indexul selectat  
+CDM.IndexManager.Replace_Index:ÃnlocuieÅte Indexul  
+CDM.IndexManager.Replace_Index_Tooltip:ActualizeazÄ indexul selectat  
+CDM.IndexManager.Select_All:SelecteazÄ tot  
+CDM.IndexManager.Select_All_Tooltip:SelecteazÄ toate sursele indecÅilor  
+CDM.IndexManager.Select_None:Nu selecta nimic  
+CDM.IndexManager.Select_None_Tooltip:DeselecteazÄ toate sursele de indecÅi  
+CDM.IndexManager.Set_Default:SeteazÄ Indexul Implicit  
+CDM.IndexManager.Set_Default_Tooltip:TransformÄ indexul selectat Ã®n implicit  
+CDM.IndexManager.Source:IncludeÅ£i Ã®n index:  
+CDM.IndexManager.Source_Tooltip:Elementele de metadate pentru construirea indexului  
+CDM.IndexManager.Text_Source:Text Ã®ntreg  
+CDM.IndexManager.Text_Source_Tooltip:Include textul Ã®ntreg al documentelor Ã®n index  
+CDM.IndexingManager.Accent_fold:Accentele  
+CDM.IndexingManager.Casefold:UniformizeazÄ mÄrimea caracterului  
+CDM.IndexingManager.Options:OpÅ£iuni de indexare:  
+CDM.IndexingManager.Stem:RÄdÄcinÄ  
+CDM.LanguageManager.Add_Tooltip:AdaugÄ indexul unei partiÅ£ie pe baza unei limbi specificate  
+CDM.LanguageManager.Assigned_Languages:PartiÅ£iile de LimbÄ Asignate  
+CDM.LanguageManager.Default_Language:Limba implicitÄ  
+CDM.LanguageManager.LanguageMetadata:Metadate de LimbÄ:  
+CDM.LanguageManager.LanguageMetadata_Tooltip:Elementul de metadate utilizat pentru a determina limba unui document  
+CDM.LanguageManager.Remove_Tooltip:EliminÄ partiÅ£ia de limbÄ selectatÄ din listÄ  
+CDM.LanguageManager.Replace_Tooltip:ÃnlocuieÅte partiÅ£ia selectatÄ cu una nouÄ pe baza limbilor bifate  
+CDM.LanguageManager.Selector:Limbile adÄugate:  
+CDM.LanguageManager.Selector_Tooltip:Limbile pe baza cÄrora se construieÅte indexul unei partiÅ£ii  
+CDM.LanguageManager.Set_Default:Setarea stÄrii Implicite  
+CDM.LanguageManager.Set_Default_Tooltip:TransformÄ partiÅ£ia de limbÄ Ã®n cea implicitÄ  
+CDM.LevelManager.Document:document  
+CDM.LevelManager.Section:secÅ£iune  
+CDM.LevelManager.Paragraph:paragraf  
+CDM.LevelManager.Level_Title:Niveluri de Indexare  
+CDM.LevelManager.Default:Implicit  
+CDM.LevelManager.Default_Tooltip:Nivelul implicit Ã®n interfaÅ£a de lecturÄ  
+CDM.MacrosManager.Editor_Tooltip:EditeazÄ aici macro-urile  
+CDM.Move.At_Bottom:Nu pot muta {0} {1} mai jos deoarece sunt deja la capÄtul listei.  
+CDM.Move.At_Top:Nu pot muta mai sus {0} {1} deoarece se aflÄ deja Ã®n capul listei.  
+CDM.Move.Cannot:Nu pot muta pluginul {0} mai jos decÃ¢t RecPlug iar ArcPlug trebuie sÄ fie la finalul listei.  
+CDM.Move.Fixed:<html>Ãn general, RecPlug Åi ArcPlug sunt necesare sÄ stea la final astfel cÄ sunt fixe.<br>DacÄ trebuie neapÄrat sÄ le mutaÅ£i, vÄ rugÄm sÄ editaÅ£i de mÃ¢nÄ fiÅierul collect.cfg</html>  
+CDM.Move.Move_Down:Mergi mai jos  
+CDM.Move.Move_Down_Tooltip:MutÄ elementul selectat mai jos Ã®n listÄ  
+CDM.Move.Move_Up:MutÄ mai sus  
+CDM.Move.Move_Up_Tooltip:MutÄ mai sus Ã®n listÄ elementul selectat  
+CDM.Move.Title:Eroare - Nu pot muta  
+CDM.PlugInManager.Add:AdaugÄ un plugin...  
+CDM.PlugInManager.QuickAdd:AdaugÄ un Plugin  
+CDM.PlugInManager.Add_Tooltip:FolosiÅ£i pluginul specificat cu aceastÄ colecÅ£ie  
+CDM.PlugInManager.Assigned:Pluginuri asignate  
+CDM.PlugInManager.Configure:ConfigureazÄ Pluginul  
+CDM.PlugInManager.Configure_Tooltip:SchimbÄ opÅ£iunile pluginului selectat  
+CDM.PlugInManager.Ignore:Nu AdÄugaÅ£i Plugin  
+CDM.PlugInManager.Ignore_Tooltip:Nu adÄugaÅ£i niciun plugin la aceastÄ colecÅ£ie.  
+CDM.PlugInManager.PlugIn:SelecteazÄ un plugin pentru a fi adÄugat:  
+CDM.PlugInManager.PlugIn_Tooltip:Pluginurile disponibile pentru utilizarea lor Ã®n colecÅ£ie  
+CDM.PlugInManager.PlugIn_Str:plugin  
+CDM.PlugInManager.PlugIn_XML_Parse_Failed:Nu au putut fi determinate argumentele pentru {0}\npluginuri. VÄ rog sÄ vÄ asiguraÅ£i cÄ pluginul din Ã®ntrebare furnizeazÄ\nfanionul -xml prin rularea scriptului pluginfo.pl descris \nÃ®n secÅ£iunea 2.1 a Ghidului de Dezvoltare Greenstone.  
+CDM.PluginManager.Plugin_List_XML_Parse_Failed:Nu a putut fi obÅ£inutÄ lista pluginurilor folosindu-se pluginfo.pl -listall.  
+CDM.PluginManager.Plugin_Suggestion_Prompt:Nici unul din pluginurile colecÅ£iei ar putea sÄ proceseze fiÅierul "{0}". UrmÄtoarele pluginuri pot fi utilizate pentru a procesa acest fiÅier. PoÅ£i adÄuga unul colecÅ£iei acum prin selectarea acestuia Åi apÄsarea butonului AdaugÄ. (Trebuie notat faptul cÄ lista de pluginuri poate fi schimbatÄ Ã®n orice moment prin accesarea "Pluginurilor Documentului" din panoul Design.)  
+CDM.PlugInManager.Remove:EliminÄ pluginul  
+CDM.PlugInManager.Remove_Tooltip:EliminÄ pluginul selectat din listÄ  
+CDM.PluginManager.SuggestedPluginListTitle:Pluginuri propuse pentru fiÅier  
+CDM.SearchMetadataManager.Component:Elementul Ã®n meniul de cÄutare  
+CDM.SearchMetadataManager.Component_Name:AfiÅeazÄ textul  
+CDM.SearchMetadataManager.Type_index:Index  
+CDM.SearchMetadataManager.Type_level:Nivel  
+CDM.SearchMetadataManager.Type_partition:PartiÅ£ie  
+CDM.SearchMetadataManager.Type_language:PartiÅ£ie de LimbÄ  
+CDM.SubcollectionManager.Add:AdaugÄ un filtru  
+CDM.SubcollectionManager.Add_Tooltip:AdaugÄ filtrul specificat la colecÅ£ie  
+CDM.SubcollectionManager.Assigned:Filtrele definite pentru SubcolecÅ£ii  
+CDM.SubcollectionManager.Exclude:Exclude  
+CDM.SubcollectionManager.Flags:Fanioanele pentru setat Ã®n cazul potrivirii  
+CDM.SubcollectionManager.Flags_Tooltip:Fanioanele expresiilor regulate utilizate atunci cÃ¢nd se realizeazÄ o potrivire (de exemplu, pentru potrivirile care nu depind de mÄrimea caracterului)  
+CDM.SubcollectionManager.Include:Include  
+CDM.SubcollectionManager.Inclusive:Ce facem cu fiÅierele care se potrivesc ?  
+CDM.SubcollectionManager.Language_Controls:AsigneazÄ Limbile  
+CDM.SubcollectionManager.Match:Expresia regulatÄ se potriveÅte cu:  
+CDM.SubcollectionManager.Match_Tooltip:O expresie regulatÄ care defineÅte documentele din subcolecÅ£ie  
+CDM.SubcollectionManager.Name:Numele filtrului subcolecÅ£iei:  
+CDM.SubcollectionManager.Name_Tooltip:Numele noului filtru al subcolecÅ£iei  
+CDM.SubcollectionManager.Partitions_Disabled:AceastÄ facilitate este momentan inactivÄ deoarece operezi Ã®n modul {0-Mod Curent}. Poate fi accesat doar Ã®n modurile {1-Sisteme} Åi {2-Expert}. FolosiÅ£i Dosar->PreferinÅ£e pentru a trece Ã®n alt mod de operare.  
+CDM.SubcollectionManager.Remove:EliminÄ filtrul  
+CDM.SubcollectionManager.Remove_Tooltip:EliminÄ filtrul selectat din listÄ  
+CDM.SubcollectionManager.Replace:ÃnlocuieÅte Filtrul  
+CDM.SubcollectionManager.Replace_Tooltip:ActualizeazÄ detaliile filtrului selectat  
+CDM.SubcollectionManager.Source:Atributul documentului trebuie sÄ se potriveascÄ cu:  
+CDM.SubcollectionManager.Source_Tooltip:Atributul documentului cu care se face filtrarea  
+CDM.SubcollectionManager.Subcollection_Controls:DefineÅte Filtrele  
+CDM.SubcollectionManager.Subindex_Controls:AsigneazÄ PartiÅ£ii  
+CDM.SubcollectionIndexManager.Add_Subindex:AdaugÄ o PartiÅ£ie  
+CDM.SubcollectionIndexManager.Add_Subindex_Tooltip:AdaugÄ partiÅ£ia specificatÄ la colecÅ£ie  
+CDM.SubcollectionIndexManager.Default_Partition_Indicator:[PartiÅ£ia ImplicitÄ]  
+CDM.SubcollectionIndexManager.Remove_Subindex:EliminÄ PartiÅ£ia  
+CDM.SubcollectionIndexManager.Remove_Subindex_Tooltip:EliminÄ partiÅ£ia selectatÄ din aceastÄ colecÅ£ie  
+CDM.SubcollectionIndexManager.Replace_Subindex:ÃnlocuieÅte partiÅ£ia  
+CDM.SubcollectionIndexManager.Replace_Subindex_Tooltip:ActualizeazÄ partiÅ£ia selectatÄ  
+CDM.SubcollectionIndexManager.Set_Default_Subindex:SeteazÄ starea implicitÄ  
+CDM.SubcollectionIndexManager.Set_Default_Subindex_Tooltip:FÄ aceastÄ partiÅ£ie Ã®n partiÅ£ia implicitÄ  
+CDM.SubcollectionIndexManager.Source:ConstruiÅ£i partiÅ£ia pe:  
+CDM.SubcollectionIndexManager.Source_Tooltip:Filtrele subcolecÅ£iei pe baza cÄrora se construieÅte partiÅ£ia  
+CDM.SubcollectionIndexManager.Subindexes:PartiÅ£iile SubcolecÅ£iei Asignate  
+CDM.TranslationManager.Add:AdaugÄ traducerea  
+CDM.TranslationManager.Add_Tooltip:AdaugÄ traducerea specificatÄ la colecÅ£ie  
+CDM.TranslationManager.Affected_Features:Caracteristici  
+CDM.TranslationManager.Assigned_Fragments:Traducerile asignate  
+CDM.TranslationManager.Default_Text:Fragmentul iniÅ£ial de text  
+CDM.TranslationManager.Fragment_Column:Fragment de text  
+CDM.TranslationManager.Language:Limba traducerii:  
+CDM.TranslationManager.Language_Column:Limba  
+CDM.TranslationManager.Language_Tooltip:Limba Ã®n care se traduce  
+CDM.TranslationManager.Remove:EliminÄ Traducerea  
+CDM.TranslationManager.Remove_Tooltip:EliminÄ traducerea selectatÄ din colecÅ£ie  
+CDM.TranslationManager.Replace:ÃnlocuieÅte traducerea  
+CDM.TranslationManager.Replace_Tooltip:ActualizeazÄ traducerea selectatÄ  
+CDM.TranslationManager.Translation:Text tradus  
+CDM.TranslationManager.Translation_Tooltip:Introdu traducerea stringului aici  
+#*******************
+#
+#***** Collection *****
+Collection.Collection:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>ColecÅ£ia</FONT></STRONG></HTML>  
+Collection.Delete_Tooltip:Återge fiÅierele Åi dosarele selectate  
+Collection.Filter_Tooltip:RestricÅ£ioneazÄ dosarele/fiÅierele din arborele dosarelor/fiÅierelor  
+Collection.New_Folder_Tooltip:CreazÄ un nou dosar/fiÅier  
+Collection.No_Collection:Nu existÄ nicio colecÅ£ie  
+Collection.No_Collection_Loaded:Nu este Ã®ncÄrcatÄ nici o colecÅ£ie  
+Collection.Stop:Stop  
+Collection.Stop_Tooltip:OpreÅte copierea fiÅierelor  
+Collection.Workspace:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>SpaÅ£iu de Lucru</FONT></STRONG></HTML>  
+#**********************
+#
+#***** CollectionBuilt *****
+CollectionBuilt.Message:ColecÅ£ia a fost construitÄ Åi este gata pentru a fi previzualizatÄ.  
+CollectionBuilt.Title:Rezultatele la momentul creÄrii colecÅ£iei  
+#***************************
+#
+#***** CollectionManager *****
+CollectionManager.Build_Cancelled:ConstrucÅ£ia colecÅ£iei a fost anulatÄ.  
+CollectionManager.Cannot_Create_Collection:A apÄrut o eroare iar colecÅ£ia nu a putut fi creatÄ.  
+CollectionManager.Cannot_Create_Collection_With_Reason:ColecÅ£ia nu a putut fi creatÄ deoarece:\n{0-Mesaj de eroare}  
+CollectionManager.Cannot_Delete_Index:AceastÄ colecÅ£ie nu poate fi reconstruitÄ deoarece fiÅierele indexului vechi nu pot fi Återse. \nVÄ rugÄm sÄ vÄ asiguraÅ£i cÄ Greenstone sau alt program nu foloseÅte aceste fiÅiere \n Åi Ã®ncercaÅ£i din nou.  
+CollectionManager.Cannot_Delete_Index_Log:Vechile fiÅiere de index nu au putut fi Återse. Importul a fost oprit.  
+CollectionManager.Cannot_Open:ColecÅ£ia de la:\n{0-Calea cÄtre directorul colecÅ£iei}\nnu poate fi deschisÄ.  
+CollectionManager.Cannot_Open_With_Reason:ColecÅ£ia de la:\n{0-Calea cÄtre directorul colecÅ£iei}\n nu poate fi deschisÄ deoarece: \n{1-Mesaj de eroare}  
+CollectionManager.Creating_Collection:CreazÄ colecÅ£ia  
+CollectionManager.Creating_Collection_Please_Wait:Creez colecÅ£ia, vÄ rog sÄ aÅteptaÅ£i...  
+CollectionManager.Loading_Collection:Ãncarcarea colecÅ£iei  
+CollectionManager.Loading_Collection_Please_Wait:ÃncÄrcarea colecÅ£iei, vÄ rugÄm aÅteptaÅ£i...  
+CollectionManager.Loading_Successful:{0} colecÅ£ii Ã®ncÄrcate.  
+CollectionManager.Missing_Config:AceastÄ colecÅ£ie nu are un fiÅier valid collect.cfg  
+CollectionManager.Not_Col_File:'{0}' nu este un fiÅier al InterfeÅ£ei Bibliotecarului (.col)  
+CollectionManager.No_Config_File:FiÅierul collect.cfg nu a fost creat de scriptul mkcol.pl.  
+CollectionManager.Preview_Ready_Failed:A apÄrut o eroare care a Ã®mpiedicat colecÅ£ia sÄ fie previzualizatÄ.  
+CollectionManager.Preview_Ready_Title:Previzualizarea ColecÅ£iei.  
+CollectionManager.Build_Not_Moved:Directorul de construcÅ£ie nu a putut fi mutat. ÃncearcÄ sÄ-l construieÅti din nou sau ieÅiÅ£i din GLI Åi din server; reporniÅ£i GLI Åi Ã®ncercaÅ£i construcÅ£ia din nou - aceastÄ procedurÄ ar trebui sÄ rezolve problema.  
+CollectionManager.Index_Not_Deleted:Directorul de index nu a putut fi Åters. ÃncearcÄ sÄ ieÅi din GLI Åi sÄ inchizi serverul. ÃncearcÄ repornirea GLI Åi Ã®ncearcÄ din nou construcÅ£ia colecÅ£iei - ar trebui ca aceastÄ procedurÄ sÄ rezolve problema.  
+CollectionManager.Install_Exception:A fost detectatÄ o excepÅ£ie Ã®n timpul instalÄrii colecÅ£iei:\n{0}\nCel mai probabil a fost cauzatÄ de Windows sau de existenÅ£a unor blocÄri asupra dosarelor/fiÅierelor la nivelul Bibliotecii locale.\nVÄ rugÄm, asiguraÅ£i-vÄ cÄ nici unul din fiÅierele sursÄ ale colecÅ£iei \nnu sunt deschise Ã®ntr-o aplicaÅ£ie externÄ Åi apoi reconstruiÅ£i.  
+#*****************************
+#
+#***** CollectionPopupMenu *****
+CollectionPopupMenu.Delete:Återge  
+CollectionPopupMenu.New_Dummy_Doc:Document figurant nou  
+CollectionPopupMenu.New_Folder:Director nou  
+CollectionPopupMenu.Rename:RedenumeÅte  
+CollectionPopupMenu.Replace:ÃnlocuieÅte  
+#*******************************
+#
+#***** CreatePane *****
+CreatePane.Build:ConstruieÅte OpÅ£iunile  
+CreatePane.Build_Tooltip:OpÅ£iunile pentru etapa indexÄrii Åi clasificÄrii Ã®n formarea colecÅ£iei  
+CreatePane.Build_Collection:ContruieÅte ColecÅ£ia  
+CreatePane.Build_Collection_Tooltip:PorneÅte procesul de formare a colecÅ£iilor  
+CreatePane.Build_Progress:Procesul de ConstrucÅ£ie  
+CreatePane.Cancel_Build:AnuleazÄ ConstrucÅ£ia  
+CreatePane.Cancel_Build_Tooltip:OpreÅte procesul de formare al colecÅ£iei  
+CreatePane.Full_Build:ReconstrucÅ£ie completÄ  
+CreatePane.Full_Build_Tooltip:ReconstruieÅte complet colecÅ£ia de la 0  
+CreatePane.Import:OpÅ£iuni de Import  
+CreatePane.Import_Tooltip:OpÅ£iunile pentru pasul de conversie a fiÅierului Åi asignarea metadatelor la formarea colecÅ£iei  
+CreatePane.Import_Progress:Progresul Importului  
+CreatePane.Minimal_Build:ReconstrucÅ£ie minimalÄ  
+CreatePane.Minimal_Build_Tooltip:Este mai rapid deoarece doar pÄrÅ£ile necesare ale procesului de construcÅ£ie a colecÅ£iei sunt rulate  
+CreatePane.Minimal_Build_Not_Required:Reconstruirea nu este necesarÄ deoarece nu aÅ£i adÄugat vreun fiÅier la colecÅ£ie, \neditat metadate sau schimat opÅ£iuni Ã®n panoul Design.\n (Pentru a forÅ£a o reconstrucÅ£ie, alegeÅ£i âReconstrucÅ£ie CompletÄâ Åi apÄsaÅ£i butonul âConstruieÅte ColecÅ£iaâ.)  
+CreatePane.Log:Jurnalul Mesajelor  
+CreatePane.Log_Tooltip:Vezi rezultatul Ã®ncercÄrilor anterioare de formare a unei colecÅ£ii  
+CreatePane.Mode_All:toate  
+CreatePane.Options:Grupuri de OpÅ£iuni  
+CreatePane.Options_Title:OpÅ£iunile colecÅ£iei Import & ConstruieÅte  
+CreatePane.Preview_Collection:PrevizualizeazÄ ColecÅ£ia  
+CreatePane.Preview_Collection_Tooltip:PrevizualizeazÄ colecÅ£ia  
+#**********************
+#
+#***** Dates *****
+Dates.Mon:Luni  
+Dates.Tue:MarÅ£i  
+Dates.Wed:Miercuri  
+Dates.Thu:Joi  
+Dates.Fri:Vineri  
+Dates.Sat:SÃ¢mbÄtÄ  
+Dates.Sun:DuminicÄ  
+Dates.Jan:Ianuarie  
+Dates.Feb:Februarie  
+Dates.Mar:Martie  
+Dates.Apr:Aprilie  
+Dates.May:Mai  
+Dates.Jun:Iunie  
+Dates.Jul:Iulie  
+Dates.Aug:August  
+Dates.Sep:Septembrie  
+Dates.Oct:Octombrie  
+Dates.Nov:Noiembrie  
+Dates.Dec:Decembrie  
+#**********************
+#
+#***** Delete Collection Prompt *****
+DeleteCollectionPrompt.Collection_Details:Detaliile colecÅ£iei selectate  
+DeleteCollectionPrompt.Collection_List:ColecÅ£iile disponibile  
+DeleteCollectionPrompt.Confirm_Delete:VÄ rog, bifaÅ£i pentru a confirma Återgerea colecÅ£iei.  
+DeleteCollectionPrompt.Delete:Återge  
+DeleteCollectionPrompt.Delete_Tooltip:Återge colecÅ£ia selectatÄ  
+DeleteCollectionPrompt.Details:Creator - {0}\nMaintainer - {1}\nDescriere\n{2}  
+DeleteCollectionPrompt.Failed_Delete:ColecÅ£ia nu a putut fi ÅtearsÄ complet.  
+DeleteCollectionPrompt.Failed_Title:Återgerea a eÅuat !  
+DeleteCollectionPrompt.No_Collection:Nu a fost selectatÄ nici o colecÅ£ie.  
+DeleteCollectionPrompt.Successful_Delete:ColecÅ£ia a fost ÅtearsÄ.  
+DeleteCollectionPrompt.Successful_Title:Återgere completÄ !  
+DeleteCollectionPrompt.Title:Återgerea colecÅ£iei  
+#**********************
+#
+#***** DirectoryLevelMetadata *****
+DirectoryLevelMetadata.Message:SunteÅ£i pe cale de a atribui metadate la ânivel de directorâ directorului selectat (sau directoarelor). Aceste metadate vor fi moÅtenite automat de toate fiÅierele Åi directoarele din acest director. Ãn plus, aceste metadate nu pot eliminate de la anumiÅ£i copii sau Ã®nlocuite. Pentru a continua cu aceastÄ acÅ£iune apÄsaÅ£i pe âOKâ.  
+DirectoryLevelMetadata.Title:Despre adÄugarea metadatelor la nivel de dosar  
+
+#*******************
+#
+#***** Download *****
+DOWNLOAD.MODE.Root:Download_Root  
+DOWNLOAD.MODE.WebDownload:Web  
+DOWNLOAD.MODE.MediaWikiDownload:MediaWiki  
+DOWNLOAD.MODE.OAIDownload:OAI  
+DOWNLOAD.MODE.ZDownload:Z39.50  
+DOWNLOAD.MODE.SRWDownload:SWR  
+
+Download.ServerInformation:InformaÅ£ii privind serverul  
+Download.ServerInformation_Tooltip:DownloadeazÄ cÃ¢teva informaÅ£ii despre acest server Åi verificaÅ£i dacÄ se poate face o conexiune  
+
+#********************
+#
+#***** EnrichPane *****
+EnrichPane.AutoMessage:Acest element {0} aparÅ£ine setului de metadate Greenstone. Acest set reprezintÄ metadatele care pot fi extrase automat de obicei. Pentru a verifica ce {0} metadate pot fi extrase creeazÄ colecÅ£ia folosind panoul 'creeazÄ'.  
+EnrichPane.ExistingValues:Valorile existente pentru {0}  
+EnrichPane.InheritedMetadataSelected:AceastÄ porÅ£iune de metadate este moÅtenitÄ dintr-un director de mai sus Åi nu poate fi editatÄ. PuteÅ£i vizita acel director care conÅ£ine metadatele prin apÄsarea pe iconiÅ£a directorului de la capÄtul rÃ¢ndului.  
+EnrichPane.InheritedMetadata_Tooltip:ApÄsaÅ£i aceast icon pentru a vizita directorul Ã®n care a fost pusÄ partea de metadate moÅtenite.  
+EnrichPane.ManageMetadataSets:Gestiunea Seturilor de Metadate...  
+EnrichPane.ManageMetadataSets_Tooltip:ModificÄ seturile de metadate folosite de colecÅ£ie  
+EnrichPane.No_File:Nu este selectat niciun fiÅier  
+EnrichPane.No_Metadata:Nu sunt disponibile metadate  
+EnrichPane.No_Metadata_Element:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>Nu existÄ elemente de metadate selectate</FONT></STRONG></HTML>  
+EnrichPane.NotOneFileOnlyMetadataSelected:AceastÄ porÅ£iune de metadate nu se aplicÄ doar acestui fiÅier neputÃ¢nd fi editatÄ.  
+EnrichPane.Value_Field_Tooltip:Valoarea atribuitÄ elementului de metadate selectat  
+EnrichPane.Value_Field_Tooltip_Uneditable:Valoarea asignatÄ elementului de metadate selectat  
+#***********************
+#
+#****** ExplodeMetadataPrompt *******
+ExplodeMetadataPrompt.Explode:Extinde  
+ExplodeMetadataPrompt.Explode_Tooltip:Extinde fiÅierul de metadate  
+ExplodeMetadataPrompt.Instructions:Extinderea acestui fiÅier de metadate va produce Ã®nregistrÄri individuale avÃ¢nd metadate editabile. Acesta este un proces ireversibil iar fiÅierul original de metadate va fi eliminat din colecÅ£ie.  
+ExplodeMetadataPrompt.Failed_Title:Extindere eÅuatÄ.  
+ExplodeMetadataPrompt.Failed_Explode:Baza de date {0} nu a putut fi destinsÄ.  
+ExplodeMetadataPrompt.NotExplodable:Directorul nu este expandabil.  
+ExplodeMetadataPrompt.Successful_Explode:Baza de date {0} a fost cu succes extinsÄ  
+ExplodeMetadataPrompt.Successful_Title:Extindere completÄ.  
+ExplodeMetadataPrompt.Title:Extinde baza de date a Metadatelor  
+ExplodeMetadataPrompt.Plugin:Pluginul folosit pentru extindere  
+#***********************
+#
+#****** WriteCDImagePrompt *******
+WriteCDImagePrompt.CD_Name:Nume CD/DVD  
+WriteCDImagePrompt.Export:ScrieÅ£i o imagine CD/DVD  
+WriteCDImagePrompt.Export_Tooltip:Scrie colecÅ£iile selectate ca imagine windows CD/DVD  
+WriteCDImagePrompt.Failed_Export:ColecÅ£iile ({0}) nu au putut fi exportate.  
+WriteCDImagePrompt.Failed_Title:Exportul a eÅuat  
+WriteCDImagePrompt.Install:CD/DVD va instala cÃ¢teva fiÅiere atunci cÃ¢nd este utilizat (e mai rapid aÅa)  
+WriteCDImagePrompt.Install_Tooltip:Produce un CD-ROM auto-instalabil care instaleazÄ bibliotecile pentru server (Åi opÅ£ional, toate directoarele de colecÅ£ii) pe maÅina gazdÄ.  
+WriteCDImagePrompt.NoInstall:CD/DVD nu va instala niciun fiÅier atunci cÃ¢nd este utilizat  
+WriteCDImagePrompt.NoInstall_Tooltip:Produce un CD-ROM care ruleazÄ biblioteca direct de pe CD-ROM fÄrÄ a fi instalat ceva pe maÅ£ina gazdÄ.  
+WriteCDImagePrompt.Instructions:ExportÄ una sau mai multe colecÅ£ii cÄtre o imagine Windows auto-instalabilÄ (cu toate cÄ aceasta funcÅ£ioneazÄ pe oricare platformÄ, imaginea CD/DVD creatÄ ruleazÄ doar pe Windows).  
+WriteCDImagePrompt.Progress_Label:Copiez fiÅierele. Acest lucru poate lua ceva timp...  
+WriteCDImagePrompt.Size_Label:Dimensiunea estimatÄ:  
+WriteCDImagePrompt.Successful_Export:ColecÅ£iile ({0}) au fost exportate.  
+WriteCDImagePrompt.Successful_Title:Export Complet  
+WriteCDImagePrompt.Title:exportÄ colecÅ£ia pe CD/DVD  
+#************************
+#
+#****** ExportAsPrompt *******
+ExportAsPrompt.Export_Name:Numele Dosarului  
+ExportAsPrompt.Export_Name_Tooltip:Numele subdirectorului din directorul tmp al Greenstone unde colecÅ£iile exportate au fost salvate.  
+ExportAsPrompt.Export:ExportÄ colecÅ£ia/colecÅ£iile  
+ExportAsPrompt.Export_Tooltip:ExportÄ Ã®n directorul desemnat colecÅ£iile selectate Ã®n formatul de fiÅier selectat  
+ExportAsPrompt.Failed_ExportOne:ColecÅ£ia, {0} nu a putut fi exportatÄ.  
+ExportAsPrompt.Failed_ExportMany:ColecÅ£iile -- {0} -- nu au putut fi exportate  
+ExportAsPrompt.Failed_Details:Vezi {1} pentru detalii  
+ExportAsPrompt.Failed_Title:Exportul a eÅuat  
+ExportAsPrompt.Instructions:ExportÄ una sau mai multe colecÅ£ii Ã®n formatul ales Ã®n directorul stipulat  
+ExportAsPrompt.Progress_Label:ExportÄ fiÅierele. Acest lucru poate lua ceva timp...  
+ExportAsPrompt.Successful_ExportOne:ColecÅ£ia {0} a fost exportatÄ.  
+ExportAsPrompt.Successful_ExportMany:ColecÅ£iile  -- {0} -- au fost exportate.  
+ExportAsPrompt.Successful_Details:FiÅiere exportate Ã®n: {1}  
+ExportAsPrompt.Successful_Title:Export complet  
+ExportAsPrompt.Title:ExportÄ ColecÅ£iile  
+ExportAsPrompt.SaveAs:ExportÄ Ã®n  
+ExportAsPrompt.SaveAs_Tooltip:SelectaÅ£i formatul Ã®n care doriÅ£i sÄ exportaÅ£i  
+ExportAsPrompt.Cancel:AnuleazÄ  
+ExportAsPrompt.Cancel_Tooltip:AnuleazÄ procesul de export  
+ExportAsPrompt.Browse:NavigheazÄ  
+ExportAsPrompt.Browse_Tooltip:Alege un fiÅier xsl  
+ExportAsPrompt.ApplyXSL:AplicÄ fiÅierul XSL la {0}  
+ExportAsPrompt.ApplyXSL_Tooltip:UtilizeazÄ un fiÅier xsl pentru a converti fiÅierele exportate.  
+ExportAsPrompt.MARCXMLGroup:GrupeazÄ Ã®nregistrÄrile marc  
+ExportAsPrompt.MARCXMLGroup_Tooltip:ExportÄ toate Ã®nregistrÄrile marc Ã®ntr-un singur fiÅier.  
+ExportAsPrompt.MappingXML:AplicÄ dosarul de mapare  
+ExportAsPrompt.MappingXML_Tooltip:FoloseÅte un dosar de mapare pentru convertirea fiÅierelor exportate.  
+#
+#***** Inherited Metadata *****
+ExtractedMetadata.Message:FiÅierul/directorul selectat conÅ£ine metadate extrase, dar momentan este ascuns. Pentru a vedea metadatele extrase mergi la meniul â[D]osarâ de unde selectezi â[P]referinÅ£eâ. Ãn zona proprietÄÅ£ilor specificate la âGeneralâ selecteazÄ âVezi Metadatele Extraseâ, apoi apasÄ pe â[o]kâ.  
+ExtractedMetadata.Title:Acest FiÅier/Director are Metadate Extrase Ascunse  
+#
+#***** FileActions *****
+FileActions.Calculating_Size:Calculez dimensiunea totalÄ a fiÅierelor selectate  
+FileActions.Copying:Copiere {0}  
+FileActions.Could_Not_Delete:Nu s-a putut Återge {0}  
+FileActions.Cyclic_Path:Nu pot copia {0}: directorul destinaÅ£ie este un subdirector a directorului sursÄ.  
+FileActions.Deleting:Återgere {0}  
+FileActions.Directories_Selected:au fost selectate {0} directoare  
+FileActions.Directory_Selected:Este selectat 1 director  
+FileActions.File_Already_Exists_No_Create:FiÅierul '{0}' existÄ deja.  
+FileActions.File_And_Directories_Selected:1 fiÅier Åi {0} directoare au fost selectate  
+FileActions.File_And_Directory_Selected:1 fiÅier Åi 1 director selectate  
+FileActions.File_Create_Error:FiÅierul {0} nu poate fi creat.  
+FileActions.Folder_Create_Error:Directorul {0} nu a putut fi creat.  
+FileActions.File_Exists:{0} deja existÄ Ã®n directorul destinaÅ£ie. DoriÅ£i suprascrierea ?  
+FileActions.File_Move_Error_Message:Nu pot muta {0} Ã®n\n{1}.  
+FileActions.File_Not_Deleted_Message:{0}\nFiÅierul de mai sus nu poate fi Åters. \nVÄ rugÄm, verificaÅ£i dacÄ nu cumva aveÅ£i fiÅierul deschis\ncu un program extern Åi apoi Ã®ncercaÅ£i din nou.  
+FileActions.File_Not_Found_Message:{0}\nFiÅierul astfel intitulat nu a fost gÄsit. OdatÄ ce vizualizarea dosarului/fiÅierului\na fost actualizatÄ, vÄ rugÄm sÄ verificaÅ£i dacÄ fiÅierul mai existÄ.  
+FileActions.File_Selected:1 fiÅier selectat  
+FileActions.Files_And_Directory_Selected:sunt selectate {0} fiÅiere Åi 1 director  
+FileActions.Files_Selected:au fost selectate {0} fiÅiere  
+FileActions.Folder_Already_Exists:Directorul numit '{0}' este deja Ã®n uz. Nu a putut fi creat un director.  
+FileActions.Insufficient_Space_Message:AceastÄ acÅ£iune asupra dosarului/fiÅierului a eÅuat din lipsÄ de spaÅ£iu\npe disc. Pentru a copia dosarul/fiÅierul este necesar un \n: {0}  
+FileActions.Moving:Mutare {0}  
+FileActions.No_Activity:Nu este necesarÄ nici o acÅ£iune  
+FileActions.Read_Not_Permitted_Message:Nu a putut fi citit {0}.  
+FileActions.Read_Only:FiÅierele din spaÅ£iul de lucru pot fi doar citite Åi nu pot fi Återse.  
+FileActions.Replacing:Ãnlocuire {0}  
+FileActions.Selected:{0} fiÅiere Åi {1} director selectate  
+FileActions.Unknown_File_Error_Message:Chiar dacÄ nu a fost raportat nici un mesaj de eroare Ã®n timpul lucrului cu \nfiÅierul/dosarul, o verificare finalÄ a scos la ivealÄ faptul cÄ la destinaÅ£ie\ncopia nu este la fel ca fiÅierul sursÄ. Motivul \npentru care acest lucru s-a Ã®ntÃ¢mplat nu este cunoscut. VÄ rugÄm sÄ verificaÅ£i mediul de stocare Åi sÄ actualizaÅ£i\ninstalarea JVM.  
+FileActions.Write_Not_Permitted_Message:InterfaÅ£a Bibliotecarului nu are permisiunea de a scrie Ã®n\n{0}\nVÄ rugÄm, verificaÅ£i permisiunile fiÅierului/directorului  
+FileActions.Write_Not_Permitted_Title:Eroare - Permisiuni asupra dosarului/fiÅierului setate incorect  
+FileActions.Yes_To_All:Da la Toate  
+FileActions.File_Permission_Detail:\n\nNotÄ: Ãn general, InterfaÅ£a Bibliotecarului Greenstone are nevoie de permisiuni de scriere pentru directorul de bazÄ al Greenstone (home directory), \ncare este {0}\nAcordaÅ£i, vÄ rog âControl Deplinâ utilizatorului curent {1} asupra acestui director Åi tuturor subdirectoarelor Åi fiÅierelor Åi Ã®ncercaÅ£i din nou.\n(Alternativ, se poate reinstala Greenstone Ã®ntr-o locaÅ£ie precum directorul de bazÄ (home directory) sau Ã®n âMy Documentsâ\n acolo unde aveÅ£i control deplin).  
+
+#************************
+#
+#******* File Associations dialog **********
+FileAssociationDialog.Add:AdaugÄ  
+FileAssociationDialog.Add_Tooltip:FolosiÅ£i aceastÄ aplicaÅ£ie pentru a vedea fiÅierele de acest tip  
+FileAssociationDialog.Batch_File:FiÅiere Ã®mpachetate  
+FileAssociationDialog.Browse:NavigheazÄ  
+FileAssociationDialog.Browse_Tooltip:Alege aplicaÅ£ia de utilizat din spaÅ£iul de stocare  
+FileAssociationDialog.Browse_Tooltip_Mac:Navigarea Ã®n cadrul aplicaÅ£iei dumneavoastrÄ este deazactivatÄ Ã®n acest moment Ã®n cazul folosirii MacOS  
+FileAssociationDialog.Browse_Title:Alege AplicaÅ£ia  
+FileAssociationDialog.Close:Ãnchide  
+FileAssociationDialog.Close_Tooltip:Ãnchide acest dialog Åi Ã®ntoarce-te Ã®n fereastra principalÄ  
+FileAssociationDialog.Command:Comanda de lansare:  
+FileAssociationDialog.Command_File:FiÅiere de comandÄ  
+FileAssociationDialog.Command_Tooltip:Introdu comanda pentru a lansa aplicaÅ£ia  
+FileAssociationDialog.Details:Detaliile noilor asocieri a fiÅierelor  
+FileAssociationDialog.Executable_File:FiÅiere executabile  
+FileAssociationDialog.Extension:Pentru fiÅierele terminate cu:  
+FileAssociationDialog.Extension_Tooltip:Extensia fiÅierelor pentru a fi deschise  
+FileAssociationDialog.Instructions:FolosiÅ£i fereastra de dialog pentru a seta care programe externe pot fi folosite pentru a vedea anumite tipuri de fiÅiere Åi ce comenzi sunt folosite pentru a lansa aceste programe. \nPentru a adÄuga un nou tip de fiÅier, tastaÅ£i extensia Ã®n spaÅ£iul 'pentru terminaÅ£ia fiÅierelor'. Pentru a adÄuga sau modifica o comandÄ de lansare, tastaÅ£i noua comandÄ Ã®n 'Comanda de lansare' sau apÄsaÅ£i pe 'NavigheazÄ' pentru a cÄuta fiÅierul de sistem corespondent pentru programul vizat. FolosiÅ£i stringul special '%1' pentru a indica unde numele fiÅierul pentru a fi deschis trebuie introdus, de exemplu: "C:\\Windows\\System\\MSPaint.exe %1". '%1' va fi adÄugat la finalul comenzii dacÄ nu este specificat Ã®n alt mod. \nUtilizatorii MacOS ar trebui sÄ Ã®ncerce Ã®ntotdeauna mai Ã®ntÃ¢i comenzi specifice mac de tipul "open [-a <application_name>] %1".  
+FileAssociationDialog.Table.Command:ComandÄ  
+FileAssociationDialog.Table.Extension:Extensie  
+FileAssociationDialog.Title:EditeazÄ asocierile fiÅierelor  
+FileAssociationDialog.Remove:EliminÄ  
+FileAssociationDialog.Remove_Tooltip:EliminÄ asocierea selectatÄ din asocierile existente  
+FileAssociationDialog.Replace:ÃnlocuieÅte  
+FileAssociationDialog.Replace_Tooltip:ÃnlocuieÅte asocierea selectatÄ cu detaliile unei noi asocieri  
+#*******************
+#
+#******Filter***************
+Filter.0:HTM & HTML  
+Filter.1:XML  
+Filter.2:FiÅierele Text  
+Filter.3:Imagini  
+Filter.All_Files:Toate FiÅierele  
+Filter.Filter_Tree:AratÄ fiÅierele  
+Filter.Invalid_Pattern:<HTML><FONT FACE={FONT} COLOR=Black>Matricea introdusÄ pentru filtrarea fiÅierelor este nevalidÄ.<BR>VÄ rugÄm sÄ Ã®ncercaÅ£i din nou folosind sintaxa expresiilor regulate Åi cu<BR>* pentru caracter tip wildcard.</FONT></HTML>  
+#***********************
+#
+#***** GAuthenticator *****
+GAuthenticator.Password:Parola:  
+GAuthenticator.Password_Tooltip:IntroduceÅ£i parola aici  
+GAuthenticator.Title:Parola este necesarÄ.  
+GAuthenticator.Username:Nume utilizator:  
+GAuthenticator.Username_Tooltip:IntroduceÅ£i numele dvs. de utilizator aici  
+#**************************
+#
+#***** General Messages *****
+# 0 - A String representing the name and method of the class in question.
+General.Apply:AplicÄ  
+General.Apply_Tooltip:AplicÄ setÄrile curente, dar nu pÄrÄsi dialogul cu sistemul acum  
+General.Browse:NavigheazÄ...  
+General.Cancel:AnuleazÄ  
+General.Cancel_Tooltip:AnuleazÄ modificÄrile (acestea nu vor fi operate asupa modificÄrilor deja fÄcute pÃ¢nÄ la acest moment)  
+General.Close:Ãnchide  
+General.Close_Tooltip:Ãnchide aceastÄ casuÅ£Ä de dialog  
+General.Edit:EditeazÄ Valoarea  
+General.Error:Eroare  
+General.No:Nu  
+General.NotSunJava:Java vendor: {0}\nTrebuie notat cÄ InterfaÅ£a Bibliotecarului a fost dezvoltatÄ Åi testatÄ cu Java de la Sun Microsystems.  
+General.OK:OK  
+General.OK_Tooltip:AcceptÄ setÄrile curente Åi pÄrÄseÅte dialogul  
+General.Outstanding_Processes:<html>InterfaÅ£a Bibliotecarului nu poate fi Ã®nchisÄ complet pÃ¢nÄ cÃ¢nd toate programele <br>pornite din InterfaÅ£a Bibliotecarului au fost Åi ele Ã®nchise.</html>  
+General.Outstanding_Processes_Title:AÅtept ieÅirea  
+General.Pure_Cancel_Tooltip:AnuleazÄ aceastÄ acÅ£iune (nu vor fi fÄcute modificÄri)  
+General.Review_Output:VÄ rugÄm, examinaÅ£i rezultatul de mai jos:  
+General.Redo:Redo  
+General.Redo_Tooltip:RestaureazÄ etapa anterioarÄ  
+General.Undo:Undo  
+General.Undo_Tooltip:Undo la ultima editate  
+General.Usage:Utilizare: {0} <params>\nToÅ£i parametrii sunt opÅ£ionali, dar InterfaÅ£a Bibliotecarului poate sÄ funcÅ£ioneze defectuos dacÄ nu sunt setate -gsdl Åi -library. \n -gsdl <path> :ForÅ£eazÄ calea cÄtre gsdl\n -library <path> :Calea cÄtre cgi-bin\n -mozilla <path> : ActiveazÄ mozilla\n -mirror : Controalele web-mirroring sunt active\n -laf [java|windows|motif|mac] : Aspectul Åi funcÅ£ionalitatea\n -debug : ActiveazÄ debug pentru mesaje\n -no_load : Nu Ã®ncÄrca acele colecÅ£ii deschise anterior \n -load <path> : ÃncarcÄ colecÅ£ia specificatÄ  
+General.View:Vezi Valoarea  
+General.Warning:Avertisment  
+General.Yes:Da  
+#****************************
+#
+#***** GShell *****
+GShell.BadArgument:Argumentul {0} este invalid.  
+GShell.BadArgumentValue:Argumentul {0} are o valoare invalidÄ.  
+GShell.BadPluginOptions:Un argument eronat(bad) a apÄrut Ã®n plugin {0}.  
+GShell.BadClassifierOptions:Argumentul eronat(bad) a apÄrut Ã®n clasificatorul {0}.  
+GShell.Build.Auxilary:Crearea fiÅierelor auxiliare Åi aranjament...  
+GShell.Build.BuildBegun1:************** ConstrucÅ£ia a pornit **************  
+GShell.Build.BuildCancelled:**************   Anulat    **************  
+GShell.Build.BuildComplete1:************** ConstrucÅ£ie ÃncheiatÄ **************  
+GShell.Build.CompressText:Comprim textul...  
+GShell.Build.Index:CreeazÄ un index bazat pe {0-sursa indexului Åi nivelul}...  
+GShell.Build.InfoDatabase:CreeazÄ baza de date cu informaÅ£ii...  
+GShell.Build.Phind:Generarea unui clasificator Phind. Acest lucru poate lua ceva timp...  
+GShell.Command:ComandÄ  
+GShell.Failure:Comanda a eÅuat  
+GShell.Import.FileNotProcessed:FiÅierul {0-Calea cÄtre fiÅier} a fost recunoscutÄ, dar nu a putut fi procesat de cÄtre nici un plugin.  
+GShell.Import.FileNotRecognised:FiÅierul {0-Calea cÄtre directorul colecÅ£iei} nu a fost recunoscutÄ de nici un plugin.  
+GShell.Import.FileProcessing:FiÅierul {0-calea cÄtre fiÅierul Å£intÄ} este procesat de {1-nume plugin}.  
+GShell.Import.FileProcessingError:FiÅierul {0-calea cÄtre directorul colecÅ£iei} a Ã®ntÃ¢mpinat o eroare Ã®n timpul procesÄrii.  
+GShell.Import.ImportBegun1:************** A pornit Importul **************  
+GShell.Import.ImportComplete1:************** Import Terminat **************  
+GShell.Import.ImportComplete2:{0-numÄrul documentelor considerate} documente au fost luate Ã®n considerare pentru a fi procesate:  
+GShell.Import.ImportComplete2.1:1 document a fost luat Ã®n considerare pentru a fi procesat:  
+GShell.Import.ImportComplete.Processed:{0-numere procesate} documente au fost procesate Åi incluse Ã®n colecÅ£ie.  
+GShell.Import.ImportComplete.Processed.1:1 document a fost procesat Åi inclus Ã®n colecÅ£ie.  
+GShell.Import.ImportComplete.Blocked:{0-numÄr blocat} au fost Ã®mpiedicate a fi adÄugate de cÄtre pluginuri (precum imaginile din paginile web).  
+GShell.Import.ImportComplete.Blocked.1:1 a fost Ã®mpiedicat sÄ fie adÄugat de pluginuri (precum imaginile din paginile web).  
+GShell.Import.ImportComplete.Ignored:{0-numÄr ignorat} sunt de nerecunoscut.  
+GShell.Import.ImportComplete.Ignored.1:1 nu a fost recunoscut.  
+GShell.Import.ImportComplete.Failed:{0-numere eÅuate} au fost respinse.  
+GShell.Import.ImportComplete.Failed.1:1 a fost refuzat.  
+GShell.Import.ImportComplete3:\n  
+GShell.Parsing_Metadata_Complete:Extragerea metadatelor arhivate s-a Ã®ncheiat.  
+GShell.Parsing_Metadata_Start:Extragerea unor noi metadate din dosarele arhivei  
+GShell.Success:ComandÄ Ã®ncheiatÄ.  
+#*********************
+#
+#***** GUI *****
+# Currently Enabled and Disabled display the same text but in different
+# colours. If necessary this can be changed.
+GUI.Create:CreazÄ  
+GUI.Create_Tooltip:ConstruieÅte colecÅ£ia folosind Greenstone  
+GUI.Design:Design  
+GUI.Design_Tooltip:Proiectarea funcÅ£ionalitÄÅ£ii colecÅ£iei  
+GUI.Download:Download  
+GUI.Download_Tooltip:DownloadeazÄ resurse de pe internet pentru colecÅ£ie  
+GUI.Enrich:ÃmbogÄÅ£eÅte  
+GUI.Enrich_Tooltip:AsigneazÄ metadate fiÅierelor din colecÅ£ie  
+GUI.Format:FormateazÄ  
+GUI.Format_Tooltip:ProiecteazÄ cum va apÄrea colecÅ£ia  
+GUI.Gather:StrÃ¢nge  
+GUI.Gather_Tooltip:SelecteazÄ dosarele/fiÅierele care urmeazÄ a fi incluse Ã®n colecÅ£ie  
+#***************
+#
+#***** HELP *****
+Help.Contents:ConÅ£inut  
+Help.Title:Paginile de asistenÅ£Ä ale InterfeÅ£ei Bibliotecarului  
+#****************************
+#
+#***** Invalid Metadata ******
+InvalidMetadata.Message:Acest element de metadate este restricÅ£ionat la setul de valori predefinite. VÄ rugÄm sÄ alegeÅ£i una dintre valorile existente.  
+InvalidMetadata.Title:Metadate nevalide  
+#***************************
+#
+#***** LegacyCollection
+LegacyCollection.Message:SunteÅ£i pe calea de a Ã®ncÄrca o colecÅ£ie care nu a fost creatÄ de cÄtre GLI. Metadatele existente vor fi importate ca set de metadate Dublin Core. FiÅierele de metadate originale vor fi salvate Ã®ntr-un director numit import.bak.  
+LegacyCollection.Title:ÃncarcÄ o ColecÅ£ie ExternÄ  
+#***************************
+#
+#***** LockFileDialog *****
+LockFileDialog.Cancel_Tooltip:Nu preluaÅ£i controlul fiÅierului de blocare (nu se va deschide colecÅ£ia)  
+LockFileDialog.Date:Data  
+LockFileDialog.Error:eroare  
+LockFileDialog.Lockfile_Message_One:PrezenÅ£a unui fiÅier de blocare indicÄ faptul cÄ aceastÄ colecÅ£ie este deja deschisÄ.  
+LockFileDialog.Lockfile_Message_Two:DoriÅ£i sÄ 'preluaÅ£i' controlul acestui fiÅier blocat ?  
+LockFileDialog.Machine:Unde  
+LockFileDialog.Name:Nume  
+LockFileDialog.OK_Tooltip:Preia controlul fiÅierului de blocare  
+LockFileDialog.Title:A fost detectatÄ blocarea unui fiÅier  
+LockFileDialog.User:Cine  
+#********************
+#
+#*****MappingPrompt **********
+MappingPrompt.File:Dosar  
+MappingPrompt.Map:CreeazÄ shortcut  
+MappingPrompt.Name:Nume  
+MappingPrompt.Title:seteazÄ shortcut-ul directorului  
+MappingPrompt.Unmap:EliminÄ Shortcut-ul  
+#*******************
+#
+#***** Menu Options *****
+Menu.Collapse:Ãnchide Dosarul  
+Menu.Edit:EditeazÄ  
+Menu.Edit_Copy:Copy (ctrl-c)  
+Menu.Edit_Cut:Cut (ctrl-x)  
+Menu.Edit_Paste:Paste(lipeÅte) (ctrl-v)  
+Menu.Expand:Deschide Dosar  
+Menu.Explode_Metadata_Database:Extinde baza de date cu metadate  
+Menu.File:FiÅier  
+Menu.File_Associations:Asocierea fiÅierelor  
+Menu.File_CDimage:Scrie imaginea pe CD/DVD...  
+Menu.File_Close:Ãnchide  
+Menu.File_Delete:Återge...  
+Menu.File_Exit:IeÅire  
+Menu.File_ExportAs:Export...  
+Menu.File_New:Nou...  
+Menu.File_Open:Deschide...  
+Menu.File_Options:PreferinÅ£e...  
+Menu.File_Save:SalveazÄ  
+Menu.Help:AsistenÅ£Ä  
+Menu.Help_About:Despre...  
+Menu.Metadata_View:Metadate asignate pentru {0}  
+Menu.Open_Externally:Deschide Ã®ntr-un program extern  
+#********************
+#
+#***** MetaAudit *****
+MetaAudit.Close:Ãnchide  
+MetaAudit.Close_Tooltip:Ãnchide aceast panou de dialog  
+MetaAudit.Title:Toate Metadatele  
+#*********************
+#
+#***** Metadata *****
+Metadata.Element:Element  
+Metadata.Value:Valoare  
+MetadataSet.Files:FiÅierele Seturilor de Metadate  
+#**********************************
+#
+#***** MetadataSetDialog**********
+MetadataSetDialog.Title:GestioneazÄ Seturile de Metadate  
+MetadataSetDialog.Add_Title:AdaugÄ un Set de Metadate  
+MetadataSetDialog.Current_Sets:Seturi de Metadate Asignate  
+MetadataSetDialog.Available_Sets:Seturile de Metadate disponibile  
+MetadataSetDialog.Add:AdaugÄ...  
+MetadataSetDialog.Add_Tooltip:AdÄugaÅ£i un nou set de metadate la colecÅ£ie  
+MetadataSetDialog.New_Set:Noi...  
+MetadataSetDialog.New_Set_Tooltip:CreeazÄ un nou set de metadate  
+MetadataSetDialog.Add_Set:AdaugÄ  
+MetadataSetDialog.Add_Set_Tooltip:AdaugÄ colecÅ£iei setul selectat de metadate  
+MetadataSetDialog.Browse:NavigheazÄ...  
+MetadataSetDialog.Browse_Tooltip:AdaugÄ un nou set de metadate colecÅ£iei  
+MetadataSetDialog.Edit:EditeazÄ...  
+MetadataSetDialog.Edit_Tooltip:Editarea setului de metadate selectat  
+MetadataSetDialog.Remove:EliminÄ  
+MetadataSetDialog.Remove_Tooltip:EliminÄ setul de metadate selectat din colecÅ£ie  
+MetadataSetDialog.Elements:Elementele din Setul de Metadate selectat  
+
+#****************************************
+#
+#***** MetadataSetNamespaceClash warning***
+MetadataSetNamespaceClash.Title:Probleme cu Namespace-urile Seturilor de Metadate  
+MetadataSetNamespaceClash.Message:Setul de metadate ales pentru a fi adÄugat ({0}) are acelaÅi namespace precum unu deja existent Ã®n colecÅ£ie ({1}). DacÄ adÄugaÅ£i acest nou set, cel vechi va fi Åters iar cel nou ca fi pus Ã®n locul sÄu. Oricare valori asignate metadatelor vor fi transferate noului set dacÄ acesta conÅ£ine elementele corespunzÄtoare.  
+#*********************************************
+#
+#******** MetadataImportMappingPrompt *********
+MIMP.Add:AdaugÄ  
+MIMP.Add_Tooltip:AdaugÄ elementul de metadate la setul selectat  
+MIMP.Ignore:IgnorÄ  
+MIMP.Ignore_Tooltip:IgnorÄ acest element de metadate  
+MIMP.Instructions:Elementul de metadate {0} nu poate fi importat automat Ã®n colecÅ£ie. SelecteazÄ un set de metadate Åi, fie \n(1) apeÅi 'AdaugÄ' pentru a adÄuga metadate Ã®n acel set (doar dacÄ nu existÄ deja {0} metadate Ã®n set), fie \n(2) alegi un element Åi apeÅi  'FuzioneazÄ' pentru a importa {0} metadate Ã®n acest element, sau\n(3) ignorÄ acest element de metadate.  
+MIMP.Merge:FuzioneazÄ  
+MIMP.Merge_Tooltip:MapeazÄ elementul de metadate cÄtre elementul specificat din setul selectat  
+MIMP.Source_Element:Sursa elementului de metadate:  
+MIMP.Target_Element:Element de metadate Å£intÄ:  
+MIMP.Target_Set:Setul de metadate Å£intÄ:  
+MIMP.Title:Este necesarÄ acÅ£iunea de Fuziune.  
+#*****************************
+#
+#***** Mirroring *****
+Mirroring.ClearCache:CuraÅ£Ä Cache-ul  
+Mirroring.ClearCache_Tooltip:Återge toate fiÅierele downloadate  
+Mirroring.Download:Download  
+Mirroring.Download_Tooltip:PorneÅte un nou job de download  
+Mirroring.DownloadJob.Close:Ãnchide  
+Mirroring.DownloadJob.Close_Tooltip:EliminÄ acest job din listÄ. OpriÅ£i-l dacÄ acesta funcÅ£ioneazÄ  
+Mirroring.DownloadJob.Downloading:Downloadez {0}  
+Mirroring.DownloadJob.Download_Complete:Download complet  
+Mirroring.DownloadJob.Download_Stopped:Download oprit  
+Mirroring.DownloadJob.Download_Progress:Downloadare Ã®n curs  
+Mirroring.DownloadJob.Log:Vezi Jurnalul  
+Mirroring.DownloadJob.Log_Tooltip:Vezi detaliile referitoare la acest download  
+Mirroring.DownloadJob.Log_Title:Jurnalul downloadurilor  
+Mirroring.DownloadJob.Pause:PauzÄ  
+Mirroring.DownloadJob.Pause_Tooltip:PauzÄ pentru acest download  
+Mirroring.DownloadJob.Resume:Reia  
+Mirroring.DownloadJob.Resume_Tooltip:Reia downloadul  
+Mirroring.DownloadJob.Status:Au fost downloadate {0} din {1} fiÅiere ({2} avertismente, {3} erori)  
+Mirroring.DownloadJob.Waiting:AÅtept sÄ Ã®ncep  
+Mirroring.DownloadJob.Waiting_User:Este aÅteptatÄ acÅ£iunea utilizatorului  
+Mirroring.Invalid_URL:URL-ul introdus nu este valid. VÄ rugÄm sÄ-l corectaÅ£i.  
+Mirroring.Invalid_URL_Title:URL invalid  
+Mirroring.Preferences:PreferinÅ£e...  
+Mirroring.Preferences_Tooltip:ActiveazÄ proxy Åi/sau editeazÄ setÄrile proxy-ului  
+#*********************
+#
+#***** Missing EXEC *****
+MissingEXEC.Message:AtenÅ£ie !Nu vei putea vedea noua colecÅ£ie din InterfaÅ£a Bibliotecarului decÃ¢t dacÄ specifici calea cÄtre serverul Bibliotecii Greenstone. PoÅ£i introduce adresa Ã®n cÃ¢mpul text de mai jos sau o poÅ£i face mai tÃ¢rziu prin accesarea PreferinÅ£elor Åi selectarea secÅ£iunii Conexiune. ReÅ£ineÅ£i faptul cÄ un url valid trebuie sÄ Ã®nceapÄ cu protocolul folosit "http://" Åi se va Ã®ncheia probabil cu numele executabilului ("gsdl" este pentru serverul bibliotecii locale, "library" pentru alte servere web).  
+MissingEXEC.Title:LipseÅte adresa Bibliotecii Greenstone  
+#***** Missing EXEC_GS3 *****
+MissingEXEC_GS3.Message:Avertisment ! Nu veÅ£i putea vedea noua colecÅ£ie din InterfaÅ£a Bibliotecarului doar dacÄ specificaÅ£i calea Ã®n contextul Greenstone la nivelul webserverului Tomcat care ruleazÄ local. PuteÅ£i face acest lucru chiar acum copletÃ¢nd Ã®n cÃ¢mpul text de mai jos sau mai tÃ¢rziu accesÃ¢nd PreferinÅ£e de unde se alege panoul Conexiune. ReÅ£ineÅ£i faptul cÄ un link valid trebuie sÄ Ã®nceapÄ cu âhttp://â. Adresa implicitÄ este http://localhost:8080/greenstone3.  
+MissingEXEC_GS3.Title:Adresa Bibliotecii Greeenstone 3 lipseÅte  
+#***** Missing GLIServer *****
+MissingGLIServer.Message:Avertisment ! Nu veÅ£i putea lucra cu, colecÅ£iile Ã®n cadrul InterfeÅ£ei Bibliotecarului decÃ¢t dacÄ specifici adresa scriptului la distanÅ£Ä âgliserverâ. PoÅ£i introduce adresa acum Ã®n cÃ¢mpul de mai jos sau mai tÃ¢rziu prin intermediul PreferinÅ£elor de unde alegi secÅ£iunea Conexiune. AtenÅ£ie, un URL valid Ã®ncepe cu protocolul  "http://" Åi se Ã®ncheie cu "gliserver".  
+MissingGLIServer.Title:LipseÅte Adresa GLIServer  
+#***** Missing GLIServer_GS3 *****
+MissingGLIServer_GS3.Message:AtenÅ£ie ! Nu veÅ£i putea lucra pe colecÅ£ii utilizÃ¢nd InterfaÅ£a Bibliotecarului decÃ¢t dacÄ specificaÅ£i adresa scriptului extern âgliserver4gs3.plâ. PuteÅ£i face asta introducÃ¢nd adresa Ã®n cÃ¢mpul de mai jos sau mai tÃ¢rziu din PreferinÅ£e, de unde selectaÅ£i opÅ£iunea Conexiune. Å¢ineÅ£i minte cÄ un URL valid trebuie sÄ Ã®nceapÄ specificÃ¢nd protocolul âhttp://â Åi se Ã®ncheie cu â/greenstone3/cgi-bin/gliserver4gs3.plâ.  
+MissingGLIServer_GS3.Title:Adresa Greenstone 3 pentru GLIServer lipseÅte  
+#***** Missing GSDL *****
+MissingGSDL.Message:Avertisment ! Nu veÅ£i putea accesa toate caracteristicile InterfeÅ£ei Bibliotecarului fÄrÄ a avea o instalare localÄ a Bibliotecii Digitale Greenstone. DacÄ consideraÅ£i cÄ acest mesaj este returnat ca unu de eroare, vÄ rugÄm sÄ verificaÅ£i instalarea Åi cÄile specificate Ã®n scripturile Åi instrucÅ£iunile de instalare ale InterfeÅ£ei Bibliotecarului.  
+MissingGSDL.Title:Calea Greenstone lipseÅte  
+#***** Missing PERL *****
+MissingPERL.Message:Avertisment ! Nu veÅ£i putea crea noi colecÅ£ii Åi nici sÄ le construiÅ£i pe cele existente fÄrÄ a avea PERL instalat iar InterfaÅ£a Bibliotecarului nu a fost capabilÄ sÄ gÄseascÄ PERL pe sistemul local. DacÄ consideraÅ£i cÄ primiÅ£i acest mesaj dintr-o eroare, vÄ rugÄm sÄ verificaÅ£i instalarea Åi cÄile specificate Ã®n fiÅierul script al InterfeÅ£ei Bibliotecarului.  
+MissingPERL.Title:Calea cÄtre PERL lipseÅte  
+#******* MissingImageMagick ********
+MissingImageMagick.Message:Avertisment ! InterfaÅ£a Bibliotecarului a eÅuat Ã®n a gÄsi o versiune corespunzÄtoare pentru ImageMagick Åi Ã®n consecinÅ£Ä ImagePlug nu va funcÅ£iona. VÄ rugÄm instalaÅ£i ImageMagick dacÄ doriÅ£i sÄ construiÅ£i colecÅ£ii cu imagini.  
+MissingImageMagick.Title:ImageMagick lipseÅte  
+#*****************************
+#
+#***** New Session *****
+NewCollectionPrompt.Base_Collection:AcestÄ colecÅ£ie se bazeazÄ pe?  
+NewCollectionPrompt.Base_Collection_Tooltip:SelecteazÄ o colecÅ£ie existentÄ ca fundament al uneia noi  
+NewCollectionPrompt.Collection_Description:Descrierea conÅ£inutului:  
+NewCollectionPrompt.Collection_Name:Dosarul colecÅ£iei:  
+NewCollectionPrompt.Collection_Scope_Personal:Aceasta este o colecÅ£ie personalÄ  
+NewCollectionPrompt.Collection_Scope_Personal_Tooltip:ColecÅ£ia poate fi editatÄ de persoana care a creat-o Åi de utilizatorii din grupul âeditor-al-tuturor-colecÅ£iilorâ.  
+NewCollectionPrompt.Collection_Scope_Shared:Aceasta nu este o colecÅ£ie personalÄ  
+NewCollectionPrompt.Collection_Scope_Shared_Tooltip:ColecÅ£ia poate fi editatÄ de utilizatorii din grupul âeditor-al-tuturor-colecÅ£iilorâ.  
+NewCollectionPrompt.Error:Eroare Ã®n noua colecÅ£ie  
+NewCollectionPrompt.Instructions:Pentru a crea o nouÄ colecÅ£ie, vÄ rugÄm sÄ completaÅ£i cÃ¢mpurile de mai jos.  
+NewCollectionPrompt.NewCollection:--ColecÅ£ie NouÄ--  
+NewCollectionPrompt.Title:CreazÄ o nouÄ ColecÅ£ie.  
+NewCollectionPrompt.Title_Clash:Titlul ales pentru colecÅ£ie este deja utilizat. ContinuaÅ£i ?  
+NewCollectionPrompt.Title_Error:Titlul trebuie completat. VÄ rugÄm, corectaÅ£i.  
+#***** New Folder OrFilePrompt *****
+NewFolderOrFilePrompt.Default_File_Name:figurant  
+NewFolderOrFilePrompt.Default_Folder_Name:dosar nou  
+NewFolderOrFilePrompt.Destination_Name:Directorul DestinaÅ£ie  
+NewFolderOrFilePrompt.File_Name:Numele fiÅierului  
+NewFolderOrFilePrompt.File_Name_Tooltip:Introdu numele noului fiÅier  
+NewFolderOrFilePrompt.Folder_Name:Numele Directorului  
+NewFolderOrFilePrompt.Folder_Name_Tooltip:IntroduceÅ£i un nume pentru noul director  
+NewFolderOrFilePrompt.Title_Folder:CreazÄ un nou director  
+NewFolderOrFilePrompt.Title_File:CreazÄ un nou document figurant  
+#**********************
+#
+#******* OldWGET *******
+NoPluginExpectedToProcessFile.Message:Niciun plugin Greenstone nu ar putea procesa fiÅierul "{0}". VerificÄ dacÄ fiÅierul are  extensia corectÄ. DacÄ este corect, atunci e probabil cÄ trebuie folosit UnknownPlug pentru a procesa acest fiÅier.  
+NoPluginExpectedToProcessFile.Title:Nu este vizat nici un plugin pentru a procesa fiÅierul  
+#***********************
+#
+#***** OpenCollectionDialog *****
+OpenCollectionDialog.Available_Collections:ColecÅ£iile Disponibile  
+OpenCollectionDialog.Description:Descrierea ColecÅ£iei  
+OpenCollectionDialog.Open:Deschide  
+OpenCollectionDialog.Open_Tooltip:ÃncarcÄ colecÅ£ia selectatÄ Ã®n InterfaÅ£a Bibliotecarului  
+OpenCollectionDialog.Title:Deschide ColecÅ£ia Greenstone  
+#**********************
+#
+#***** Options Pane inside CreatePane *****
+OptionsPane.Cancelled:- anulatÄ  
+OptionsPane.LogHistory:ÃnregistreazÄ istoricul  
+OptionsPane.Successful:-succes  
+OptionsPane.Unknown:- necunoscut  
+OptionsPane.Unsuccessful:- fÄrÄ succes  
+#*******************
+#
+#***** Preferences *****
+Preferences:PreferinÅ£e  
+Preferences.Connection:Conexiune  
+Preferences.Connection_Tooltip:SeteazÄ URL-ul cÄtre biblioteca greenstone Åi configureazÄ conexiunea proxy dacÄ este necesar acest lucru  
+Preferences.Connection.GLIServer_URL:URL-ul serverului gliserver al Greenstone:  
+Preferences.Connection.GLIServer_URL_Tooltip:URL-ul scriptului CGI âgliserverâ  
+Preferences.Connection.Library_Path:Calea cÄtre BibliotecÄ:  
+Preferences.Connection.Library_Path_GS3:Calea Web a Greenstone:  
+Preferences.Connection.Library_Path_Tooltip:URL-ul serverului web Greenstone  
+Preferences.Connection.Library_Path_Tooltip_GS3:URL-ul web-serverului Greenstone  
+Preferences.Connection.ProgramCommand:Comanda de previzualizare:  
+Preferences.Connection.ProgramCommand_Tooltip:Comanda de lansare pentru programul utilizat pentru a accesa o previzualizare a colecÅ£iei. ReÅ£ineÅ£i folosirea lui %1 ca loc al adresei colecÅ£iei Åi de a folosi note acolo unde este necesar.  
+Preferences.Connection.Proxy_Host:Hostul Proxy:  
+Preferences.Connection.Proxy_Host_Tooltip:Adresa serverului proxy  
+Preferences.Connection.Proxy_Port:Port de Proxy:  
+Preferences.Connection.Proxy_Port_Tooltip:NumÄrul portului serverului proxy  
+Preferences.Connection.Servlet:Servlet:  
+Preferences.Connection.Servlet_Tooltip:Servletul folosit pentru a vedea site-ul  
+Preferences.Connection.Servlet_Tooltip2:Nu existÄ nici un servlet specificat pentru acest site, puteÅ£i construi colecÅ£ii, dar nu veÅ£i putea fi capabili sÄ le vedeÅ£i  
+Preferences.Connection.Site:Site:  
+Preferences.Connection.Site_Tooltip:Site-ul pe care doreÅti sÄ lucrezi  
+Preferences.Connection.Use_Proxy:UtilizaÅ£i o conexiune proxy ?  
+Preferences.General:General  
+Preferences.General_Tooltip:SeteazÄ cÃ¢teva preferinÅ£e generale  
+Preferences.General.Email:Email-ul utilizatorului:  
+Preferences.General.Email_Tooltip:Adresa de email folositÄ automat pentru oricare colecÅ£ie creatÄ cu GLI  
+Preferences.General.Font:Font:  
+Preferences.General.Font_Tooltip:Fontul utilizat pentru interfaÅ£a GLI  
+Preferences.General.Interface_Language:Limba InterfeÅ£ei:  
+Preferences.General.Interface_Language_Tooltip:SelectaÅ£i limba Ã®n care doriÅ£i sÄ fie afiÅatÄ interfaÅ£a Åi elementele de control ale acesteia.  
+Preferences.General.Restart_Required:GLI ar trebui repornit pentru a Ã®ncheia Ã®ncÄrcarea suportului pentru o nouÄ limbÄ Ã®n interfaÅ£Ä.  
+Preferences.General.Show_File_Size:AratÄ dimensiunea fiÅierelor  
+Preferences.General.Show_File_Size_Tooltip:AratÄ dimensiunea fiÅierelor alÄturat intrÄrilor Ã®n SpaÅ£iul de Lucru precum Åi arborii de directoare Åi fiÅiere ai ColecÅ£iei.  
+Preferences.General.View_Extracted_Metadata:Vezi Metadatele extrase  
+Preferences.General.View_Extracted_Metadata_Tooltip:AfiÅeazÄ metadatele extrase de pluginurile greenstone Ã®n lista de metadate din panoul de afiÅare Ã®mbogÄÅ£it.  
+Preferences.Mode:Mod  
+Preferences.Mode_Tooltip:ApasÄ pe o Ã®nregistrare pentru a selecta un nivel corespunzÄtor al operaÅ£iunilor  
+Preferences.Mode.Assistant:Asistentul Bibliotecii  
+Preferences.Mode.Assistant_Description:FolosiÅ£i aceste setÄri pentru a ajunge la caracteristicile de bazÄ ale InterfeÅ£ei Bibliotecarului, adicÄ adÄugarea documentelor Åi metadatelor la colecÅ£ii, crearea de noi colecÅ£ii ale cÄror structuri le dubleazÄ pe cele existente Åi construirea colecÅ£iilor.  
+Preferences.Mode.Librarian:Bibliotecar  
+Preferences.Mode.Librarian_Description:AceastÄ setare permite folosirea normalÄ a InterfeÅ£ei Bibliotecarului: crearea Åi proiectarea de noi colecÅ£ii, adÄugarea documentelor Åi a metadatelor la colecÅ£ii, proiectarea de noi colecÅ£ii Åi contruirea acestora.  
+Preferences.Mode.Systems:Specialist Ã®n sisteme de bibliotecÄ  
+Preferences.Mode.Systems_Description:AceastÄ setare permite folosirea pe de-antregul a InterfeÅ£ei Bibliotecarului Ã®n Greenstone. Pentru a beneficia de toate avantajele caracteristicilor disponibile, va trebui sÄ puteÅ£i formula expresii regulate.  
+Preferences.Mode.Expert:Expert  
+Preferences.Mode.Expert_Description:AceastÄ setare permite utilizarea la nivel expert a InterfeÅ£ei Bibliotecarului. Este recomandat utilizatorilor care sunt experimentaÅ£i Ã®n lucrul cu Greenstone Åi sunt capabili sÄ desfÄÅoare activitÄÅ£i de depanare, care implicÄ interpretarea rezultatului debugging-ului emis de scripturile PERL. Toate caracteristicile InterfeÅ£ei Bibliotecarului sunt active.  
+Preferences.Warnings:AvertizÄri  
+Preferences.Warnings_Tooltip:ActiveazÄ sau dezactiveazÄ diversele dialoguri de avertizare  
+Preferences.Workflow:Mod de Lucru  
+Preferences.Workflow_Tooltip:ProiecteazÄ modul de lucru al interfeÅ£ei: bifeazÄ care panouri sÄ fie active  
+Preferences.Workflow.Predefined.Label:moduri de lucru predefinite  
+Preferences.Workflow.Title:BifeazÄ pentru a vedea  
+#**********************
+#
+#**** PreviewCommandDialog *******
+PreviewCommandDialog.Instructions:Introdu comanda pentru deschiderea programului pentru a trece Ã®n revistÄ o colecÅ£ie. ReÅ£ineÅ£i necesitatea de a utiliza %1 ca Åi container al adresei colecÅ£iei Åi de a folosi notiÅ£e acolo unde este necesar.  
+PreviewCommandDialog.Title:Comanda de previzualizare  
+
+ShowPreviousCollection.Title:Vezi colecÅ£ia anterior construitÄ  
+ShowPreviousCollection.Message:A apÄrut o eroare iar colecÅ£ia nu aputut fi creatÄ. Acum vedeÅ£i colecÅ£ia construitÄ anterior.  
+#**********************
+#
+#***** Remote Greenstone Server *****
+RemoteGreenstoneServer.Authentication_Message:VÄ rugÄm, introduceÅ£i numele Åi parola:  
+RemoteGreenstoneServer.Authentication_Message_gs3:VÄ rugÄm sÄ introduceÅ£i numele de utilizator Åi parola:  
+RemoteGreenstoneServer.Error:O eroare a apÄrut pe serverul Greenstone la distanÅ£Ä Ã®n timpul desfÄÅurÄrii operaÅ£iunii:\n{0-Mesaj de eroare}  
+RemoteGreenstoneServer.Error_Title:Eroare la distanÅ£Ä a Serverului Greenstone  
+RemoteGreenstoneServer.Progress:Progresul Serverului Greenstone aflat la distanÅ£Ä:  
+RemoteGreenstoneServer.Steal_Lock_Message:AceastÄ colecÅ£ie este blocatÄ de utilizatorul '{0-Nume utilizator}'.\nDoreÅti sÄ preiei controlul fiÅierului de blocare (nu este recomandat, dat fiind faptul cÄ toatÄ munca poate fi pierdutÄ) ?  
+#**********************
+#
+#***** Rename Prompt *****
+RenamePrompt.Name:Nume:  
+RenamePrompt.Title:RedenumeÅte fiÅierul/directorul  
+#**********************
+#
+#***** Replace Prompt *****
+ReplacePrompt.Title:ÃnlocuieÅte dosarul/fiÅierul cu ...  
+#**********************
+#
+#***** Save Collection Box *****
+SaveCollectionBox.File_Name:Numele FiÅierului:  
+SaveCollectionBox.Files_Of_Type:FiÅiere de tipul:  
+SaveCollectionBox.Look_In:UitÄ-te Ã®n:  
+#**********************
+#
+#***** Save Progress Box *******
+SaveProgressDialog.Title:Salvarea colecÅ£iei  
+#*******************************
+#
+Server.QuitManual:InterfaÅ£a bibliotecarului nu a putut Ã®nchide serverul de \nbibliotecÄ local Ã®n mod automat. VÄ rugÄm sÄ ieÅiÅ£i de pe server \nmanual prin apÄsarea pe iconul cruce din colÅ£ul dreapta sus iar apoi apÄsaÅ£i OK Ã®n aceastÄ fereastrÄ de dialog.  
+Server.QuitTimeOut:Biblioteca localÄ Greenstone nu a rÄspuns la \ncomanda de Ã®nchidere automatÄ timp de 60 de secunde. \nDoreÅti sÄ aÅtepÅ£i Ã®ncÄ un minut ?  
+#
+#***** Sources *****
+Source.General:General  
+#**********************
+#
+#***** Trees *****
+Tree.DownloadedFiles:FiÅiere downloadate  
+Tree.Files:fiÅiere  
+Tree.Home:Directorul Home ({0})  
+Tree.Root:SpaÅ£iul de depozitare local  
+Tree.World:Documente Ã®n ColecÅ£iile Greenstone  
+#***********************
+#
+#***** Warning Dialog *****
+WarningDialog.Dont_Show_Again:Nu arÄtaÅ£i din nou acest avertisment  
+WarningDialog.Dont_Show_Again_Message:Nu mai arÄta acest mesaj  
+WarningDialog.Invalid_Value:Valoarea introdusÄ Ã®n cÃ¢mpul valorilor\nnu este validÄ pentru proprietatea specificatÄ.  
+WarningDialog.Value:Introdu valoarea:  
+#
+#****** WGet *****
+WGet.Prompt:Client de Mirroring WGet  
+#
+#****** Workflows *****
+Workflow.AllPanels:Toate panourile  
+Workflow.LocalSourceCollectionBuilding:Construirea sursei locale a colecÅ£iei  
+Workflow.DocumentEnriching:ÃmbogÄÅ£irea documentelor  
+
+
+#********GEMS******
+
+GEMS.Title:Editorul Greenstone pentru seturile de metadate  
+GEMS.OpenMetadataSetPrompt.Title:Deschide Setul de Metadate  
+GEMS.OpenMetadataSetPrompt.Open_Tooltip:Deschide setul de metadate selectat  
+GEMS.Set_Description:Descrierea seturilor de Metadate  
+GEMS.OpenMetadataSetPrompt.Open:Deschide  
+GEMS.OpenMetadataSetPrompt.Available_Sets:Seturile de Metadate disponibile  
+GEMS.DeleteMetadataSetPrompt.Title:Återge Setul de Metadate  
+GEMS.DeleteMetadataSetPrompt.Delete_Tooltip:Återge setul de metadate selectat  
+GEMS.DeleteMetadataSetPrompt.Delete:Återge  
+GEMS.DeleteMetadataSetPrompt.Available_Sets:Seturile de metadate disponibile  
+GEMS.DeleteMetadataSetPrompt.Confirm_Delete:BifaÅ£i pentru a confirma Återgerea setului de metadate.  
+GEMS.DeleteMetadataSetPrompt.No_Set:Nu a fost selectat nici un set de metadate  
+GEMS.Confirm_Removal:SunteÅ£i sigur cÄ doriÅ£i sÄ eliminaÅ£i acest {0}?  
+GEMS.Confirm_Removal_Title:ConfirmÄ eliminarea  
+GEMS.Attribute:Atribut  
+GEMS.Popup.AddElement:AdaugÄ element  
+GEMS.Popup.DeleteElement:Återge Elementul  
+GEMS.Popup.AddSubElement:AdaugÄ un Subelement  
+GEMS.Popup.DeleteSubElement:Återge subelementul  
+GEMS.NewMetadataSetPrompt.Title:Set de Metadate nou  
+GEMS.NewMetadataSetPrompt.Instructions:pentru a crea un nou set de metadate, completaÅ£i cÃ¢mpurile de mai jos:  
+GEMS.NewMetadataSetPrompt.Base_MetadataSet:Acest set de metadate se bazeazÄ pe:  
+GEMS.NewMetadataSetPrompt.Metadata_Title:Titlul setului de metadate:  
+GEMS.NewMetadataSetPrompt.Metadata_Namespace:Namespace-ul seturilor de metadate:  
+GEMS.NewMetadataSetPrompt.New_Metadata:-- Set de Metadate Nou --  
+GEMS.NewMetadataSetPrompt.Title_Error_Message:Un set de metadate nou trebuie sÄ aibe un Titlu  
+GEMS.NewMetadataSetPrompt.Title_Error:Nu este specificat nici un titlu  
+GEMS.NewMetadataSetPrompt.Namespace_Error_Message:Un nou set de metadate trebuie sÄ aibe un namespace  
+GEMS.NewMetadataSetPrompt.Namespace_Error:Nu este specificat niciun Namespace  
+GEMS.SelectedLanguage:AdaugÄ atribute pentru limba:  
+GEMS.Language:--Alege Limba--  
+GEMS.LanguageDependent:Atributele dependente de limbÄ  
+GEMS.Attribute_Table:Atribute  
+GEMS.Attribute_Deletion_Error:Eroare la Återgerea atributului  
+GEMS.Attribute_Deletion_Error_Message:Acest atribut este necesar Åi nu poate fi Åters  
+GEMS.Add_Lang_Depend_Attr_Error:Eroare la adÄugarea unui atribut  
+GEMS.Add_Lang_Depend_Attr_Error_Message:Nu este furnizat nici un atribut "depinde-de-limbÄ", vÄ rugÄm sÄ adÄugaÅ£i acest atribut.  
+GEMS.Attribute_Edition_Error:Eroare la adÄugarea unui atribut  
+GEMS.Attribute_Edition_Error_Message:Acest atribut este necesar Åi nu poate fi vid  
+GEMS.Confirm_Save:Acest set de metadate a fost modificat, doriÅ£i sÄ-l salvaÅ£i ?  
+GEMS.Confirm_Save_Title:SalveazÄ Setul de Metadate  
+GEMS.Confirm_DeleteElement:EÅti sigur cÄ doreÅti sÄ Återgi elementul {0}?  
+GEMS.Confirm_DeleteElement_Title:Återge Elementul  
+GEMS.File_Deletion_Error_Message:Acest fiÅier nu poate fi Åters  
+GEMS.File_Deletion_Error:Eroare la Återgerea Directorului/FiÅierului  
+GEMS.Namespace_Conflict_Message:Avertisment: acest namespace a fost utilizat de alt set de metadate. ContinuaÅ£i ?  
+GEMS.Namespace_Conflict:Conflict Ã®ntre Namespace-uri  
+GEMS.Move_Up:Mergi mai sus  
+GEMS.Move_Down:MutÄ mai jos  
+GEMS.Cannot_Undo:(asupra aceastei acÅ£iuni nu se poate reveni)  
+
+GEMS.AttributeTable.Name:Nume  
+GEMS.AttributeTable.Language:Limba  
+GEMS.AttributeTable.Value:Valoare  
+GEMS.NewMetadataElementNamePrompt.Title:Element nou  
+GEMS.NewMetadataElementNamePrompt.Name:VÄ rugÄm, introduceÅ£i un nume pentru noul element  
+GEMS.NewMetadataElementNamePrompt.SubTitle:Subelement nou  
+GEMS.NewMetadataElementNamePrompt.SubName:VÄ rugÄm introduceÅ£i un nume pentru noul subelement  
+GEMS.NewMetadataElementNamePrompt.Name_Error_Message:Un element cu acelaÅi nume existÄ deja.  
+GEMS.NewMetadataElementNamePrompt.Name_Error:Eroare la Numele Elementului  
+GEMS.NewMetadataElementNamePrompt.EmptyName_Error_Message:Un element nou trebuie sÄ aibe un nume.  
+
+
+GEMS.No_Set_Loaded:Nu este Ã®ncÄrcat nici un set de metadate. VÄ rugÄm, folosiÅ£i Dosar->Nou pentru a crea un set nou sau Dosar->Deschide pentru a deschide un set existent.  
Index: main/tags/2.83/gli/classes/dictionary_ru.properties
===================================================================
--- main/tags/2.83/gli/classes/dictionary_ru.properties	(revision 21123)
+++ main/tags/2.83/gli/classes/dictionary_ru.properties	(revision 21123)
@@ -0,0 +1,1300 @@
+#*******************
+#** Language Orientation Property
+Component.Orientation:LTR  
+
+#*******************
+#
+#***** AboutDialog *****
+AboutDialog.Acknowledgement:ÐÐ»Ð°Ð³ÐŸÐŽÐ°ÑÐœÐŸÑÑÐž Ð·Ð° ÑÐŸÐ±ÑÑÐ²ÐµÐœÐœÑÐµ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÑ, Ð¿Ð°ÐºÐµÑÑ ÐžÐ»Ðž ÐºÐ»Ð°ÑÑÑ...
+AboutDialog.Date:(ÐÑÐ»Ñ 2007)
+AboutDialog.Item0:Xerces Java 1' ÐŸÑ Ð€ÐŸÐœÐŽÐ° Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐœÐŸÐ³ÐŸ ÐŸÐ±ÐµÑÐ¿ÐµÑÐµÐœÐžÑ Apache (http://www.apache.org/)
+AboutDialog.Item2:WGet' ÐŸÑ ÑÐŸÐœÐŽÐ° ÑÐ²ÐŸÐ±ÐŸÐŽÐœÐŸÐ³ÐŸ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐœÐŸÐ³ÐŸ ÐŸÐ±ÐµÑÐ¿ÐµÑÐµÐœÐžÑ (http://www.gnu.org/software/wget/wget.html)  
+AboutDialog.Item3:qflib' ÐŸÑ ÐÐ°ÑÐµÑÑÐ²ÐµÐœÐœÐŸÐ³ÐŸ Ð¿ÐµÑÐ²ÐŸÐ³ÐŸ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐœÐŸÐ³ÐŸ ÐŸÐ±ÐµÑÐ¿ÐµÑÐµÐœÐžÑ (http://www.qfs.de/en/qflib/index.html)
+AboutDialog.Item4:Ð Ð°ÑÑÐžÑÐµÐœÐžÐµ ÐºÐ»Ð°ÑÑÐ° ÑÐ°Ð¹Ð»ÐŸÐ² ÑÐžÐ»ÑÑÑÐŸÐ², Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœÐœÐŸÐµ ÐÑÑÐœÐŸ ÐÐ°ÐŒÐŸÐœÐŸÐŒ Ðž ÑÐŸÐ°Ð²ÑÐŸÑÐ°ÐŒÐž (http://pollo.sourceforge.net/)
+AboutDialog.Item5:'ÐÐ°Ðº Ð·Ð°Ð±Ð»ÐŸÐºÐžÑÐŸÐ²Ð°ÑÑ Ð¿ÐµÑÐµÐžÐŒÐµÐœÐŸÐ²Ð°ÐœÐžÐµ ÑÐ°Ð¹Ð»Ð° ÑÐµÐŒÐž, ÐºÑÐŸ Ð²ÑÐ±ÐžÑÐ°ÐµÑ ÑÐ°Ð¹Ð»' - vladi21 (http://www.experts-exchange.com/)  
+AboutDialog.Item6:ÐÐ²ÑÐŸÐ¿ÑÐŸÐºÑÑÑÐºÐ°' - Java Swing ,ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÐ°ÐœÐœÐ°Ñ Ð ÐŸÐ±ÐµÑÑÐŸÐŒ Ð­ÐºÑÑÐµÐ¹ÐœÐŸÐŒ, ÐÐ°ÑÐºÐŸÐŒ ÐÐŸÐ¹ Ðž ÐÑÐ¹Ð²ÐŸÐŒ ÐÑÐŽÐŸÐŒ (http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf)
+AboutDialog.Item7:ÐÐŸÐ±Ð°Ð²ÐžÑÑ Ð¿ÐŸÐ±ÐŸÑÐœÑÐµ ÑÑÑÐµÐºÑÑ Ð¿ÐµÑÐµÑÐ°ÑÐºÐžÐ²Ð°ÐœÐžÑ ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐ¹ Ðº ÐÐ°ÑÐžÐŒ JÐŽÐµÑÐµÐ²ÑÑÐŒ' - Ð­ÐœÐŽÑÑ ÐÐ¶. ÐÑÐŒÑÑÑÐŸÐœÐ³ (http://www.javaworld.com/javaworld/javatips/jw-javatip114.html)
+AboutDialog.Item8:ÐÑÑÐ°ÐœÐŸÐ²ÐºÐ°Ñ ÑÐ°Ð·ÐŽÑÐ°Ð¶Ð°ÑÑÐµÐ¹ ÐŸÑÐžÐ±ÐºÐž java.prefs, ÐºÐŸÐ³ÐŽÐ° ÐÑ ÐœÐµ ÐžÐŒÐµÐµÑÐµ ÑÑÐ¿ÐµÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»ÑÑÐºÐŸÐ³ÐŸ ÐŽÐŸÑÑÑÐ¿Ð° - ÐÐ»Ð°Ð³ÐŸÐŽÐ°ÑÐœÐŸÑÑÑ Ð£ÐŸÐ»ÑÐµÑÑ ÐšÐ°ÑÐ·Ñ
+AboutDialog.Item9:ÐÐŸÐ²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°', 'ÑÐŽÐ°Ð»ÐžÑÑ' Ðž 'Ð¿ÐŸÐŒÐŸÑÑ' ÐžÐºÐŸÐœÐŸÐº ÐžÐ· Dropline Neu! ÐžÐºÐŸÐœÐºÐž ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœÐŸ Ð¡ÐžÐ»ÑÐ²ÐµÑÑÑÐŸÐŒ Ð¥ÐµÑÐµÑÐ°, ÐŽÐŸÑÑÑÐ¿ÐœÐŸ ÐžÐ· http://art.gnome.org/  
+AboutDialog.Java_Req:Java - ÑÐŸÑÐ³ÐŸÐ²Ð°Ñ ÐŒÐ°ÑÐºÐ° Sun Microsystems Inc, JRE Ð¿ÐµÑÐµÑÐ°ÑÐ¿ÑÐµÐŽÐµÐ»ÐµÐœ ÑÐŸÐ³Ð»Ð°ÑÐœÐŸ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÑÐŒ ÐÐŸÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»ÑÐœÐŸÐ¹ Ð»ÐžÑÐµÐœÐ·ÐžÐž, ÐœÐ°Ð¹ÐŽÐµÐœÐœÐŸÐ¹ Ð² http://java.sun.com/j2se/1.4.1/j2re-1_4_1_02-license.html
+AboutDialog.Java_Req_One:Ð­ÑÐŸn Ð¿ÑÐŸÐŽÑÐºÑ Ð²ÐºÐ»ÑÑÐ°ÐµÑ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÑ, Ð»ÐžÑÐµÐœÐ·ÐžÑÐŸÐ²Ð°ÐœÐœÑÑ RSA Security, Inc.
+AboutDialog.Java_Req_Two:ÐÐµÐºÐŸÑÐŸÑÑÐµ ÑÐ°ÑÑÐž, Ð»ÐžÑÐµÐœÐ·ÐžÑÐŸÐ²Ð°ÐœÐœÑÐµ IBM, ÐŽÐŸÑÑÑÐ¿ÐœÑ ÐœÐ° http\://oss.software.ibm.com/icu4j/
+AboutDialog.Thanks:Ð¢Ð°ÐºÐ¶Ðµ Ð±Ð»Ð°Ð³ÐŸÐŽÐ°ÑÐœÐŸÑÑÐž ÑÐµÐŒ, ÐºÑÐŸ ÐŸÑÐ¿ÑÐ°Ð²ÐžÐ» Ð¿ÐŸ Ð¿ÐŸÑÑÐµ Ð¿ÐŸÐ»ÐµÐ·ÐœÑÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ Ð¿ÐŸ Java ÐœÐ° Ð²ÐµÐ±...
+AboutDialog.Title:Ð...
+AboutDialog.Title_One:ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐÐœÑÐµÑÑÐµÐ¹Ñ ÐÑÐžÐœÑÑÐŸÑÐœ  
+AboutDialog.Title_Two:Ð­Ð»ÐµÐºÑÑÐŸÐœÐœÐ°Ñ ÐÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ° ÐÑÐžÐœÑÑÐŸÑÐœ, Ð£ÐœÐžÐ²ÐµÑÑÐžÑÐµÑ ÐÐ°ÐžÐºÐ°ÑÐŸ  
+AboutDialog.Copyright:Copyright (C) 2003-2009 ÐÑÐŸÐµÐºÑ ÐÐŸÐ²ÐŸÐ·ÐµÐ»Ð°ÐœÐŽÑÐºÐŸÐ¹ ÑÐžÑÑÐŸÐ²ÐŸÐ¹ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž  
+AboutDialog.Copyright_Two:ÐÐ¿ÑÐ±Ð»ÐžÐºÐŸÐ²Ð°ÐœÐŸ Ð² ÑÐ°ÐŒÐºÐ°Ñ
+ ÐŸÑÐºÑÑÑÐŸÐ¹ ÐŸÐ±ÑÐµÑÑÐ²ÐµÐœÐœÐŸÐ¹ Ð»ÐžÑÐµÐœÐ·ÐžÐž GPL. ÐÐµÑÐ°Ð»Ðž ÑÐŒ. Ð² LICENSE.TXT.  
+#***********************
+#
+#***** Audit Table *****
+AuditTable.File:ÐÐŒÑ ÑÐ°Ð¹Ð»Ð°
+#***********************
+#
+#***** Auto Filter *****
+Autofilter.AND:Ð
+Autofilter.Ascending:ÐÐŸ Ð²ÐŸÐ·ÑÐ°ÑÑÐ°ÐœÐžÑ  
+Autofilter.Case_Sensitive:Ð¡Ð»ÑÑÐ°Ð¹ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÑ
+Autofilter.Custom_Filter:ÐÑÐŸÐŽÐ²ÐžÐœÑÑÑÐ¹
+Autofilter.Descending:Ð¡Ð¿ÑÑÐº
+Autofilter.Filter_By_Value:ÐÑÐŸÑÑÐŸÐ¹
+Autofilter.Name:ÐÐ°ÐžÐŒÐµÐœÐŸÐ²Ð°ÐœÐžÐµ ÐºÐŸÐ»ÐŸÐœÐºÐž
+Autofilter.None:ÐÐž ÐŸÐŽÐžÐœ
+Autofilter.Operator:Ð£ÑÐ»ÐŸÐ²ÐžÐµ
+Autofilter.OR:ÐÐÐ
+Autofilter.Order:Ð£Ð¿ÐŸÑÑÐŽÐŸÑÐµÐœÐžÐµ
+Autofilter.Order_Tooltip:Ð¡ÐŸÑÑÐžÑÑÐ¹ÑÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐžÐµ ÑÐ»ÐµÐŒÐµÐœÑÑ Ð² ÑÑÐŸÐŒ Ð¿ÐŸÑÑÐŽÐºÐµ
+Autofilter.Remove:Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÐžÐ»ÑÑÑ
+Autofilter.Remove_Tooltip:Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÑÐŸÑ ÑÐžÐ»ÑÑÑ ÐžÐ· ÐºÐŸÐ»ÐŸÐœÐºÐž ÑÐ°Ð±Ð»ÐžÑÑ
+Autofilter.Set:Ð£ÑÑÐ°ÐœÐŸÐ²ÐžÑÑ ÑÐžÐ»ÑÑÑ
+Autofilter.Set_Tooltip:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÑÐŸÑ ÑÐžÐ»ÑÑÑ Ðº ÐºÐŸÐ»ÐŸÐœÐºÐµ ÑÐ°Ð±Ð»ÐžÑÑ
+Autofilter.Table_Header_Tooltip:Ð€ÐžÐ»ÑÑÑ Ð¿ÐŸ {0}
+Autofilter.Title:ÐÐ²ÑÐŸÑÐžÐ»ÑÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+
+Autofilter.eqeq:ÑÐºÐ²ÐžÐ²Ð°Ð»ÐµÐœÑÐœÐŸ
+Autofilter.!eq:ÐœÐµ ÑÐŸÐ²Ð¿Ð°ÐŽÐ°ÐµÑ  
+Autofilter.<:is less than
+Autofilter.<eq:is less than or equal to
+Autofilter.>:Ð±ÐŸÐ»ÑÑÐµ ÑÐµÐŒ  
+Autofilter.>eq:ÑÑÐŸ Ð±ÐŸÐ»ÑÑÐµ ÐžÐ»Ðž ÑÐ°Ð²ÐœÐŸ  
+Autofilter.^:ÐœÐ°ÑÐ°Ð»ÐŸ Ñ  
+Autofilter.!^:does not start with
+Autofilter.$:Ð·Ð°Ð²ÐµÑÑÐµÐœÐŸ Ñ  
+Autofilter.!$:does not end with
+Autofilter.?:ÑÐŸÐŽÐµÑÐ¶ÐžÑ  
+Autofilter.!?:ÐœÐµ ÑÐŸÐŽÐµÑÐ¶ÐžÑ  
+#
+#     ********************************************************
+#     *************** Collection Design Module ***************
+#     ********************************************************
+#     * The dictionary  phrases  used in the creation of the *
+#     * Colection  Design  Module. Note that we  still  have *
+#     * access  to the format  arguments (argument  32+) for *
+#     * html formatting.                                     *
+#     ********************************************************
+CDM.ArgumentConfiguration.Bad_Integer:<html>ÐÑÐ³ÑÐŒÐµÐœÑ '{0}' ÑÑÐµÐ±ÑÐµÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÑÐµÐ»ÐŸÐ³ÐŸ ÑÐžÑÐ»Ð°,<br>ÐœÐŸ ÑÐµÐ»ÐŸÐµ ÑÐžÑÐ»ÐŸ ÐœÐµ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ Ð±ÑÐ»ÐŸ ÐœÐ°Ð¹ÑÐž Ð² {1}.</html>
+CDM.ArgumentConfiguration.Error_Title:ÐÑÐžÐ±ÐºÐ° Ð² Ð¿Ð°ÑÐ°ÐŒÐµÑÑÐ°Ñ
+
+CDM.ArgumentConfiguration.Header:<HTML><STRONG><FONT FACE={FONT} COLOR=Black SIZE=5><CENTER>ÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, ÐºÐŸÐœÑÐžÐ³ÑÑÐžÑÑÐ¹ÑÐµ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÑ ÐŽÐ»Ñ {0}.</CENTER></FONT></STRONG></HTML>
+CDM.ArgumentConfiguration.No_Value:ÐÐ°ÑÐ°ÐŒÐµÑÑ '{0}' ÑÑÐµÐ±ÑÐµÑ Ð·ÐœÐ°ÑÐµÐœÐžÑ, ÐœÐŸ ÐœÐžÐºÐ°ÐºÐŸÐ³ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐœÐµ Ð·Ð°ÐŽÐ°ÐœÐŸ.
+CDM.ArgumentConfiguration.Required_Argument:ÐÐ°ÑÐ°ÐŒÐµÑÑÑ '{0}' ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸ ÐŽÐ°ÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ.
+CDM.ArgumentConfiguration.Title:ÐÐŸÐœÑÐžÐ³ÑÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÐŸÐ².
+CDM.BuildTypeManager.Title:ÐÑÐ±ÑÐ°ÑÑ ÐžÐœÐŽÐµÐºÑÐ°ÑÐŸÑ  
+CDM.BuildTypeManager.mg:MG  
+CDM.BuildTypeManager.mg_Description:Ð­ÑÐŸ ÐŸÑÐžÐ³ÐžÐœÐ°Ð»ÑÐœÑÐ¹ ÐžÐœÐŽÐµÐºÑÐ°ÑÐŸÑ ÐÑÐžÐœÑÑÐŸÑÐœ, ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÐ°ÐœÐœÑÐ¹ Ð±ÐŸÐ»ÑÑÐµÐ¹ ÑÐ°ÑÑÑÑ ÐÐ»ÐžÑÑÐµÑÐŸÐŒ ÐÐŸÑÑÐ°ÑÐŸÐŒ (Alistair Moffat) Ðž ÐŸÐ¿ÐžÑÐ°ÐœÐœÑÐ¹ Ð² ÐºÐ»Ð°ÑÑÐžÑÐµÑÐºÐŸÐ¹ ÐºÐœÐžÐ³Ðµ Â«Ð£Ð¿ÑÐ°Ð²Ð»ÐµÐœÐžÐµ Ð³ÐžÐ³Ð°Ð±Ð°Ð¹ÑÐ°ÐŒÐžÂ» (Â«Managing GigabytesÂ»). ÐÐœ Ð¿ÐŸÐŽÐŽÐµÑÐ¶ÐžÐ²Ð°ÐµÑ ÐžÐœÐŽÐµÐºÑÐ°ÑÐžÑ ÐœÐ° ÑÑÐŸÐ²ÐœÐµ ÑÐµÐºÑÐžÐ¹, Ð° Ð¿ÐŸÐžÑÐº ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ Ð»ÐŸÐ³ÐžÑÐµÑÐºÐžÐŒ ÐžÐ»Ðž ÑÐ°ÐœÐ³ÐŸÐ²ÑÐŒ, ÐœÐŸ ÐœÐµ Ðž ÑÐµÐŒ, Ðž ÑÐµÐŒ ÐŸÐŽÐœÐŸÐ²ÑÐµÐŒÐµÐœÐœÐŸ. ÐÐ»Ñ ÐºÐ°Ð¶ÐŽÐŸÐ³ÐŸ ÐžÐœÐŽÐµÐºÑÐ°, ÑÐºÐ°Ð·Ð°ÐœÐœÐŸÐ³ÐŸ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÐŸÐ·ÐŽÐ°ÐµÑÑÑ ÐŸÑÐŽÐµÐ»ÑÐœÑÐ¹ ÑÐžÐ·ÐžÑÐµÑÐºÐžÐ¹ ÐžÐœÐŽÐµÐºÑ. ÐÐ»Ñ Ð¿ÐŸÐžÑÐºÐ° ÑÑÐ°Ð· ÐÑÐžÐœÑÑÐŸÑÐœ Ð¿ÑÐžÐŒÐµÐœÑÐµÑ Ð»ÐŸÐ³ÐžÑÐµÑÐºÐžÐ¹ ÐŸÐ¿ÐµÑÐ°ÑÐŸÑ Â«ÐÂ» ÐºÐŸ Ð²ÑÐµÐŒ ÑÐ»ÐŸÐ²Ð°ÐŒ Ð² ÑÑÑÐŸÐºÐµ Ð¿ÐŸÐžÑÐºÐ°, Ð° Ð·Ð°ÑÐµÐŒ ÑÐºÐ°ÐœÐžÑÑÐµÑ ÑÐŸÐ²Ð¿Ð°ÐŽÐµÐœÐžÑ ÐœÐ° Ð¿ÑÐµÐŽÐŒÐµÑ Ð²Ñ
+ÐŸÐ¶ÐŽÐµÐœÐžÑ ÑÐµÐ»ÐŸÐ¹ ÑÑÐ°Ð·Ñ. ÐÐœÐŽÐµÐºÑÐ°ÑÐŸÑ Ð¿ÑÐŸÑÐµÐ» ÐŸÐ±ÑÐžÑÐœÐŸÐµ ÑÐµÑÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ ÐœÐ° ÐŸÑÐµÐœÑ Ð±ÐŸÐ»ÑÑÐžÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑ
+ (ÐŒÐœÐŸÐ¶ÐµÑÑÐ²ÐŸ Ð³ÐžÐ³Ð°Ð±Ð°Ð¹ÑÐŸÐ² ÑÐµÐºÑÑÐ°).  
+CDM.BuildTypeManager.mgpp:MGPP - ÑÐ²ÐŸÐ±ÐŸÐŽÐœÑÐ¹ ÐŸÐœÐ»Ð°Ð¹Ðœ ÑÐ»ÐŸÐ²Ð°ÑÑ Ðž ÑÐµÐ·Ð°ÑÑÑÑ  
+CDM.BuildTypeManager.mgpp_Description:Ð­ÑÐŸ ÐœÐŸÐ²Ð°Ñ Ð²ÐµÑÑÐžÑ ÐžÐœÐŽÐµÐºÑÐ°ÑÐŸÑÐ° MG (MG++), ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÐ°ÐœÐœÐ°Ñ Ð² Ð¿ÑÐŸÐµÐºÑÐµ ÐÐŸÐ²ÐŸÐ·ÐµÐ»Ð°ÐœÐŽÑÐºÐŸÐ¹ ÑÐžÑÑÐŸÐ²ÐŸÐ¹ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž. ÐÐœÐ° Ð¿ÐŸÐŽÐŽÐµÑÐ¶ÐžÐ²Ð°ÐµÑ ÐžÐœÐŽÐµÐºÑÐ°ÑÐžÑ ÐœÐ° ÑÑÐŸÐ²ÐœÐµ ÑÐ»ÐŸÐ², ÑÑÐŸ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ ÐžÑÐºÐ°ÑÑ Ð¿ÐŸ Ð¿ÐŸÐ»ÑÐŒ, ÑÑÐ°Ð·Ð°ÐŒ Ðž ÐžÑÐºÐ°ÑÑ Ð¿ÐŸÑ
+ÐŸÐ¶ÐžÐµ ÑÐ»ÐŸÐ²Ð° ÑÑÐµÐŽÑÑÐ²Ð°ÐŒÐž ÑÐ°ÐŒÐŸÐ³ÐŸ ÐžÐœÐŽÐµÐºÑÐ°ÑÐŸÑÐ°. ÐÐŸÐ³ÐžÑÐµÑÐºÐžÐ¹ Ð¿ÐŸÐžÑÐº ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÑÐ¿ÐŸÑÑÐŽÐŸÑÐµÐœ. ÐÐ»Ñ Ð²ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐÑÐžÐœÑÑÐŸÑÐœ ÑÐŸÐ·ÐŽÐ°ÐµÑÑÑ ÑÐŸÐ»ÑÐºÐŸ ÐŸÐŽÐžÐœ ÐžÐœÐŽÐµÐºÑ: ÑÑÐŸÐ²ÐœÐž ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°/ÑÐµÐºÑÐžÐ¹ Ðž ÑÐµÐºÑÑ/ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑ ÐŸÐŽÐžÐœ ÐžÐœÐŽÐµÐºÑ. ÐÐ»Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ñ Ð±ÐŸÐ»ÑÑÐžÐŒ ÐºÐŸÐ»ÐžÑÐµÑÑÐ²ÐŸÐŒ ÐžÐœÐŽÐµÐºÑÐŸÐ² ÑÑÐŸ ÐŸÐ·ÐœÐ°ÑÐ°ÐµÑ ÐŒÐµÐœÑÑÐžÐ¹ ÑÐ°Ð·ÐŒÐµÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÐµÐŒ Ð¿ÑÐž ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÐž MG. ÐÐ»Ñ Ð±ÐŸÐ»ÑÑÐžÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ Ð¿ÐŸÐžÑÐº ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŒÐµÐŽÐ»ÐµÐœÐœÐµÐµ ÐžÐ·-Ð·Ð° Ð±ÐŸÐ»ÐµÐµ ÐœÐžÐ·ÐºÐŸÐ³ÐŸ ÑÑÐŸÐ²ÐœÑ ÐžÐœÐŽÐµÐºÑÐ°ÑÐžÐž.  
+CDM.BuildTypeManager.lucene:ÐÐœÐŽÐµÐºÑÐ°ÑÐŸÑ Lucene  
+CDM.BuildTypeManager.lucene_Description:Lucene Ð±ÑÐ» ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÐ°Ðœ Apache Software Foundation. ÐÐœ Ð¿ÐŸÐŽÐŽÐµÑÐ¶ÐžÐ²Ð°ÐµÑ Ð¿ÐŸÐžÑÐº Ð¿ÐŸ Ð¿ÐŸÐ»ÑÐŒ Ðž Ð¿ÐŸÐžÑÐº Ð¿ÐŸÑ
+ÐŸÐ¶ÐžÑ
+ ÑÐ»ÐŸÐ², ÐœÐŸ ÑÐŸÐ»ÑÐºÐŸ ÐœÐ° ÐŸÐŽÐœÐŸÐŒ ÑÑÐŸÐ²ÐœÐµ (ÑÐŸ ÐµÑÑÑ Ð¿ÐŸ Ð¿ÐŸÐ»ÐœÑÐŒ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°ÐŒ ÐžÐ»Ðž ÐŸÑÐŽÐµÐ»ÑÐœÑÐŒ ÑÐµÐºÑÐžÑÐŒ, ÐœÐŸ ÐœÐµ Ð¿ÐŸ ÐŸÐ±ÐŸÐžÐŒ ÑÑÐ°Ð·Ñ). ÐÐ·-Ð·Ð° ÑÑÐŸÐ³ÐŸ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸ ÐŽÐ²Ð° ÐŸÑÐŽÐµÐ»ÑÐœÑÑ
+ ÐžÐœÐŽÐµÐºÑÐ°: ÐŽÐ»Ñ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ° Ðž ÐŽÐ»Ñ ÑÐµÐºÑÐžÐ¹. Ð¡ÐžÑÑÐµÐŒÐ° Ð¿ÑÐµÐŽÐŸÑÑÐ°Ð²Ð»ÑÐµÑ ÐœÐ°Ð±ÐŸÑ ÑÑÐœÐºÑÐžÐ¹, Ð¿ÐŸÑ
+ÐŸÐ¶ÐžÐ¹ ÐœÐ° MGPP Ð¿Ð»ÑÑ ÐŸÐŽÐœÐŸÑÐžÐŒÐ²ÐŸÐ»ÑÐœÑÐµ ÑÐ°Ð±Ð»ÐŸÐœÑ Ð¿ÐŸÐžÑÐºÐ°, Ð¿ÐŸÐžÑÐº Ð¿ÐŸ ÐŽÐžÐ°Ð¿Ð°Ð·ÐŸÐœÑ Ðž ÑÐŸÑÑÐžÑÐŸÐ²ÐºÑ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐŸÐ² Ð¿ÐŸ Ð¿ÐŸÐ»ÑÐŒ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+. ÐÐœÐ° Ð±ÑÐ»Ð° ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐ° Ð² Greenstone ÐŽÐ»Ñ ÐŸÑÑÑÐµÑÑÐ²Ð»ÐµÐœÐžÑ ÐžÐœÐºÑÐµÐŒÐµÐœÑÐœÐŸÐ¹ ÑÐ±ÐŸÑÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÐºÐŸÑÐŸÑÐŸÐ³ÐŸ ÐœÐµÑ Ð² MG Ðž MGPP.  
+CDM.BuildTypeManager.Current_Type:ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÑÐ¹ ÐžÐœÐŽÐµÐºÑÐ°ÑÐŸÑ: {0]  
+CDM.BuildTypeManager.Change:ÐÐ·ÐŒÐµÐœÐžÑÑ...  
+CDM.BuildTypeManager.Change_Tooltip:ÐÐ·ÐŒÐµÐœÐžÑÑ ÐžÐœÐŽÐµÐºÑÐ°ÑÐŸÑ, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÑÐ¹ ÑÑÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐµÐ¹  
+CDM.ClassifierManager.Add:ÐÐŸÐ±Ð°Ð²ÑÑÐµ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ...
+CDM.ClassifierManager.Add_Tooltip:ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÑÐºÐ°Ð·Ð°ÐœÐœÑÐ¹ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ ÐŽÐ»Ñ ÑÑÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+CDM.ClassifierManager.Assigned:ÐÐ°ÐŽÐ°ÐœÐœÑÐµ Ð² ÐœÐ°ÑÑÐŸÑÑÐµÐµ Ð²ÑÐµÐŒÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÑ.
+CDM.ClassifierManager.Classifier:ÐÑÐ±ÐµÑÐžÑÐµ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ.
+CDM.ClassifierManager.Classifier_Str:ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ  
+CDM.ClassifierManager.Classifier_List_XML_Parse_Failed:ÐÐµÐ²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ Ð¿ÐŸÐ»ÑÑÐžÑÑ ÑÐ¿ÐžÑÐŸÐº ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐŸÐ² Ð¿ÑÐž Ð¿ÐŸÐŒÐŸÑÐž classinfo.pl -listall  
+CDM.ClassifierManager.Classifier_XML_Parse_Failed:ÐÐµÐ²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÑ ÐŽÐ»Ñ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐ° {0}. ÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, ÑÐ±ÐµÐŽÐžÑÐµÑÑ, ÑÑÐŸ ÑÐ°ÑÑÐŒÐ°ÑÑÐžÐ²Ð°ÐµÐŒÑÐ¹ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ ÑÐŸÐŽÐµÑÐ¶ÐžÑ -xml ÑÐ»Ð°Ð³ Ð¿ÑÐž Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœÐžÐž ÑÐºÑÐžÐ¿ÑÐ° classinfo.pl, ÑÐ°ÐºÐ¶Ðµ ÐºÐ°Ðº Ðž Ð² ÐŸÐ¿ÐžÑÐ°ÐœÐœÐžÐž ÑÐºÑÐžÐ¿ÑÐ° pluginfo.pl Ð² ÑÐ°Ð·ÐŽÐµÐ»Ðµ 2.1 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° Ð Ð°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐŸÐ² ÐÑÐžÐœÑÑÐŸÑÐœ.  
+CDM.ClassifierManager.Configure:ÐÐŸÐœÑÐžÐ³ÑÑÐžÑÑÐ¹ÑÐµ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ...
+CDM.ClassifierManager.Configure_Tooltip:ÐÐ·ÐŒÐµÐœÐžÑÐµ ÐŸÐ¿ÑÐžÐž ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÐŸÐ³ÐŸ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐ°.
+CDM.ClassifierManager.Remove:Ð£ÐŽÐ°Ð»ÐžÑÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ
+CDM.ClassifierManager.Remove_Tooltip:Ð£ÐŽÐ°Ð»ÐžÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐ¹ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ ÐžÐ· ÑÐ¿ÐžÑÐºÐ°
+CDM.FormatManager.Add:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐŸÑÐŒÐ°Ñ
+CDM.FormatManager.Add_Tooltip:ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÑÐºÐ°Ð·Ð°ÐœÐœÑÐ¹ ÐºÐŸÐŒÐ°ÐœÐŽÐœÑÐ¹ ÑÐŸÑÐŒÐ°Ñ Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐµÐ¹
+CDM.FormatManager.AllFeatures:ÐÑÐµ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÐž  
+CDM.FormatManager.AllParts:ÐÑÐµ ÐºÐŸÐŒÐ¿ÐŸÐœÐµÐœÑÑ  
+CDM.FormatManager.Default:Reset to Default
+CDM.FormatManager.Default_Tooltip:Reset the selected format command to its default value 
+CDM.FormatManager.Editor:Ð€ÐŸÑÐŒÐ°ÑÐœÐ°Ñ ÑÑÑÐŸÐºÐ° HTML
+CDM.FormatManager.Editor_Tooltip:ÐÐ²ÐµÑÑÐž Ð·ÐŽÐµÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ ÑÐŸÑÐŒÐ°ÑÐ°.
+CDM.FormatManager.Editor_Disabled_Tooltip:Ð©ÐµÐ»ÐºÐœÐžÑÐµ Â«ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐŸÑÐŒÐ°ÑÂ» ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ÑÑÐŸÐ¹ ÐºÐŸÐŒÐ°ÐœÐŽÑ ÑÐŸÑÐŒÐ°ÑÐ° Ðº Ð²Ð°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.  
+CDM.FormatManager.Enabled:ÐÐŸÑÑÑÐ¿ÐœÑÐ¹
+CDM.FormatManager.Feature:ÐÑÐ±ÑÐ°ÑÑ Ð¥Ð°ÑÐ°ÐºÑÐµÑÐžÑÑÐžÐºÑ  
+CDM.FormatManager.Feature_Tooltip:Ð¡ÑÐµÐŽÑÑÐ²Ð° ÑÐŸÑÐŒÐ°ÑÐžÑÐŸÐ²Ð°ÐœÐžÑ
+CDM.FormatManager.Insert:ÐÑÑÐ°Ð²ÐžÑÑ
+CDM.FormatManager.Insert_Tooltip:ÐÑÑÐ°Ð²ÐžÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÑ Ð¿ÐµÑÐµÐŒÐµÐœÐœÑÑ Ð² ÐºÐŸÐŒÐ°ÐœÐŽÑ ÑÐŸÑÐŒÐ°ÑÐ°
+CDM.FormatManager.Default:Ð¡Ð±ÑÐŸÑÐžÑÑ Ð² Ð·ÐœÐ°ÑÐµÐœÐžÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ  
+CDM.FormatManager.Default_Tooltip:Ð¡Ð±ÑÐŸÑÐžÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ Ð²ÑÐ±ÑÐ°ÐœÐœÐŸÐ¹ Ð¿ÐµÑÐµÐŒÐµÐœÐœÐŸÐ¹ Ðº ÐµÐµ ÑÐŒÐŸÐ»ÑÐ°Ð»ÑÐœÐŸÐŒÑ Ð·ÐœÐ°ÑÐµÐœÐžÑ.  
+CDM.FormatManager.Insert_Variable:ÐÑÑÐ°Ð²ÐžÑÑ Ð¿ÐµÑÐµÐŒÐµÐœÐœÑÑ...  
+CDM.FormatManager.Part:ÐÐŸÐ·ÐŽÐµÐ¹ÑÑÐ²ÐŸÐ²Ð°ÐœÐœÑÐ¹ ÐºÐŸÐŒÐ¿ÐŸÐœÐµÐœÑ
+CDM.FormatManager.Part_Tooltip:ÐÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÐŸÐ³ÐŸ ÑÑÐµÐŽÑÑÐ²Ð° Ð² ÑÐŸÑÐŒÐ°ÑÐµ
+CDM.FormatManager.Remove:Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÐŸÑÐŒÐ°Ñ
+CDM.FormatManager.Remove_Tooltip:Ð£ÐŽÐ°Ð»ÐžÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ ÑÐŸÑÐŒÐ°ÑÐ° ÐžÐ· ÑÐ¿ÐžÑÐºÐ°
+CDM.FormatManager.Variable_Tooltip:ÐÐµÑÐµÐŒÐµÐœÐœÑÐµ, ÐŽÐŸÑÑÑÐ¿ÐœÑÐµ ÐŽÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ Ñ ÐºÐŸÐŒÐ°ÐœÐŽÐŸÐ¹ ÑÐŸÑÐŒÐ°ÑÐ°
+CDM.FormatManager.MessageBox:ÐÐŸÐŽÑÐ²ÐµÑÐ¶ÐŽÐµÐœÐžÐµ XML  
+CDM.FormatManager.MessageBox_Tooltip:Ð¡ÐŸÐŸÐ±ÑÐµÐœÐžÐµ Ð²Ð°Ð»ÐžÐŽÐ°ÑÐžÐž ÑÐ°Ð±Ð»ÐŸÐœÐ° XML  
+CDM.General.Access:Ð­ÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐŽÐŸÐ»Ð¶ÐœÐ° Ð±ÑÑÑ ÐŸÐ±ÑÐµÐŽÐŸÑÑÑÐ¿ÐœÐŸÐ¹
+CDM.General.Browser_Title:ÐÑÐ±ÑÐ°ÑÑ ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ
+CDM.General.Collection_Extra:ÐÐ¿ÐžÑÐ°ÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž:
+CDM.General.Collection_Extra_Tooltip:ÐÐ¿ÐžÑÐ°ÐœÐžÐµ ÑÐµÐ»Ðž Ðž ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+CDM.General.Collection_Name:ÐÐ°Ð·Ð²Ð°ÐœÐžÐµ/Ð·Ð°Ð³ÐŸÐ»ÐŸÐ²ÐŸÐº  ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž:
+CDM.General.Collection_Name_Tooltip:ÐÐ°Ð·Ð²Ð°ÐœÐžÐµ / ÐžÐŒÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+CDM.General.Email.Creator:Ð­Ð»ÐµÐºÑÑÐŸÐœÐœÐ°Ñ Ð¿ÐŸÑÑÐ° ÑÐŸÐ·ÐŽÐ°ÑÐµÐ»Ñ
+CDM.General.Email.Creator_Tooltip:ÐÐŽÑÐµÑ ÑÐ»ÐµÐºÑÑÐŸÐœÐœÐŸÐ¹ Ð¿ÐŸÑÑÑ ÑÐŸÐ·ÐŽÐ°ÑÐµÐ»Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+CDM.General.Email.Maintainer:Ð­Ð»ÐµÐºÑÑÐŸÐœÐœÐ°Ñ Ð¿ÐŸÑÑÐ° Ð»ÐžÑÐ°, Ð¿ÐŸÐŽÐŽÐµÑÐ¶ÐžÐ²Ð°ÑÑÐµÐ³ÐŸ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ
+CDM.General.Email.Maintainer_Tooltip:ÐÐŽÑÐµÑ ÑÐ»ÐµÐºÑÑÐŸÐœÐœÐŸÐ¹ Ð¿ÐŸÑÑÑ Ð»ÐžÑÐ°, Ð¿ÐŸÐŽÐŽÐµÑÐ¶ÐžÐ²Ð°ÑÑÐµÐ³ÐŸ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ
+CDM.General.Icon_Collection:URL Ð¿ÐžÐºÑÐŸÐ³ÑÐ°ÐŒÐŒÑ ÑÑÑÐ°ÐœÐžÑÑ 'about':
+CDM.General.Icon_Collection_Tooltip:URL ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÑ ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ "Ð ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž"  
+CDM.General.Icon_Collection_Small:URL ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÑ ÐŽÐ»Ñ 'home page' ÑÑÐ°ÑÑÐŸÐ²ÐŸÐ¹ ÑÑÑÐ°ÐœÐžÑÑ:  
+CDM.General.Icon_Collection_Small_Tooltip:URL ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÑ ÐŽÐ»Ñ ÐŸÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÑ ÐœÐ° ÑÑÐ°ÑÑÐŸÐ²ÐŸÐ¹ ÑÑÑÐ°ÐœÐžÑÐµ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž  
+CDM.General.Image_Copy_Failed:ÐÑÐŸÐžÐ·ÐŸÑÐ»Ð° ÐŸÑÐžÐ±ÐºÐ°, ÐºÐŸÑÐŸÑÐ°Ñ Ð·Ð°ÑÐžÑÐ°ÐµÑ Ð²ÑÐ±ÑÐ°ÐœÐœÐŸÐµ ÐÐ°ÐŒÐž ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ ÐŸÑ ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÐœÐžÑ:\nÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, Ð¿ÐŸÐ¿ÑÑÐ°Ð¹ÑÐµÑÑ Ð²ÑÑÑÐœÑÑ ÑÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÑÑ ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ\n{0}\n Ð² Ð¿Ð°Ð¿ÐºÑ ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐ¹ ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»ÐµÐºÑÐžÐž\n{1}  
+CDM.General.Image_Filter:ÐÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÑ (gifs, jpgs Ðž pngs)
+CDM.GUI.Classifiers:ÐÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÑ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ°
+CDM.GUI.Formats:Ð¡ÑÐµÐŽÑÑÐ²Ð° ÑÐŸÑÐŒÐ°ÑÐ°
+CDM.GUI.General:ÐÐ±ÑÐµÐµ
+CDM.GUI.Indexes:ÐÐœÐŽÐµÐºÑÑ Ð¿ÐŸÐžÑÐºÐ°
+CDM.GUI.Macros:Ð¡Ð¿ÐµÑÐžÑÐžÑÐœÑÐµ ÐŒÐ°ÐºÑÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž  
+CDM.GUI.Plugins:ÐÐ»Ð°Ð³ÐžÐœÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°
+CDM.GUI.Root:CDM_ROOT
+CDM.GUI.SearchMetadata:ÐÐŸÐžÑÐº  
+CDM.GUI.Subcollections:ÐÐœÐŽÐµÐºÑÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ
+CDM.GUI.SuperCollection:ÐÐŸÐžÑÐº Ð² Ð¿ÐµÑÐµÑÐµÐºÐ°ÑÑÐžÑ
+ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑ
+
+CDM.GUI.Translation:ÐÐµÑÐµÐ²ÐµÑÑÐž ÑÐµÐºÑÑ
+CDM.GUI.DepositorMetadata:ÐÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐÐµÐ¿ÐŸÐ·ÐžÑÐŸÑÐ°  
+CDM.HelpButton:ÐÐŸÐŒÐŸÑÑ ÐŽÐ»Ñ ÑÑÐŸÐ³ÐŸ ÑÐºÑÐ°ÐœÐ°  
+CDM.HelpButton_Tooltip:ÐÑÐºÑÑÑÑ Ð¿ÐŸÐŒÐŸÑÑ ÐÐÐ(GLI) ÐŽÐ»Ñ ÑÑÐŸÐ³ÐŸ ÑÐºÑÐ°ÐœÐ°  
+CDM.IndexManager.Add_Index:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÐžÐœÐŽÐµÐºÑ
+CDM.IndexManager.Add_Index_Tooltip:Ð¡ÐŸÐ·ÐŽÐ°Ð¹ÑÐµ Ð·Ð°ÐŽÐ°ÐœÐœÑÐ¹ ÐžÐœÐŽÐµÐºÑ ÐŽÐ»Ñ ÑÑÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+CDM.IndexManager.Allfields_Index:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÐºÐŸÐŒÐ±ÐžÐœÐžÑÐŸÐ²Ð°ÐœÐœÑÐ¹ Ð¿ÐŸÐžÑÐº Ð¿ÐŸ Ð²ÑÐµÐŒ ÐžÐœÐŽÐµÐºÑÐ°ÐŒ (allfields)  
+CDM.IndexManager.Default_Index_Indicator:[ÐÐœÐŽÐµÐºÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ]
+CDM.IndexManager.Index_Exists:Ð­ÑÐŸÑ ÐžÐœÐŽÐµÐºÑ Ð±ÑÐ» ÑÐ¶Ðµ Ð±ÑÐ» Ð·Ð°ÐŽÐ°Ðœ ÐŽÐ»Ñ ÑÑÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+CDM.IndexManager.Indexes:ÐÐ°ÐŽÐ°ÐœÐœÑÐµ ÐžÐœÐŽÐµÐºÑÑ
+CDM.IndexManager.Level:Ð£ÑÐŸÐ²ÐµÐœÑ ÐžÐœÐŽÐµÐºÑÐ°ÑÐžÐž:  
+CDM.IndexManager.Level_Tooltip:Ð£ÑÐŸÐ²ÐµÐœÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ° ÐŽÐ»Ñ ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ ÐžÐœÐŽÐµÐºÑÐ°
+CDM.IndexManager.Add_All:ÐÐŸÐ±Ð°Ð²ÐžÑÑ Ð²ÑÐµ  
+CDM.IndexManager.Add_All_Tooltip:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÐŸÑÐŽÐµÐ»ÑÐœÑÐ¹ ÐžÐœÐŽÐµÐºÑ ÐŽÐ»Ñ ÐºÐ°Ð¶ÐŽÐŸÐ³ÐŸ ÐžÑÑÐŸÑÐœÐžÐºÐ°  
+CDM.IndexManager.Edit_Index:Ð ÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ ÐžÐœÐŽÐµÐºÑ  
+CDM.IndexManager.Edit_Index_Tooltip:ÐÐŸÐŽÐžÑÐžÑÐžÑÐŸÐ²Ð°ÑÑ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐ¹ ÐžÐœÐŽÐµÐºÑ  
+CDM.IndexManager.New_Index:ÐÐŸÐ²ÑÐ¹ ÐžÐœÐŽÐµÐºÑ  
+CDM.IndexManager.New_Index_Tooltip:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÐœÐŸÐ²ÑÐ¹ ÐžÐœÐŽÐµÐºÑ  
+CDM.IndexManager.Remove_Index:Ð£ÐŽÐ°Ð»ÐžÑÑ ÐžÐœÐŽÐµÐºÑ
+CDM.IndexManager.Remove_Index_Tooltip:Ð£ÐŽÐ°Ð»ÐžÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐ¹ ÐžÐœÐŽÐµÐºÑ ÐžÐ· ÑÐ¿ÐžÑÐºÐ°
+CDM.IndexManager.Replace_Index:ÐÐ°ÐŒÐµÐœÐžÑÑ ÐžÐœÐŽÐµÐºÑ  
+CDM.IndexManager.Replace_Index_Tooltip:ÐÐ±ÐœÐŸÐ²ÐžÑÑ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐ¹ ÐžÐœÐŽÐµÐºÑ  
+CDM.IndexManager.Select_All:ÐÑÐŽÐµÐ»ÐžÑÑ Ð²ÑÐµ  
+CDM.IndexManager.Select_All_Tooltip:ÐÑÐŽÐµÐ»ÐžÑÑ Ð²ÑÐµ ÐžÐœÐŽÐµÐºÑÐœÑÐµ ÐžÑÑÐŸÑÐœÐžÐºÐž  
+CDM.IndexManager.Select_None:Ð¡ÐœÑÑÑ Ð²ÑÐ±ÐŸÑ  
+CDM.IndexManager.Select_None_Tooltip:Ð¡ÐœÑÑÑ Ð²ÑÐ±ÐŸÑ ÑÐŸ Ð²ÑÐµÑ
+ ÐžÐœÐŽÐµÐºÑÐœÑÑ
+ ÐžÑÑÐŸÑÐœÐžÐºÐŸÐ²  
+CDM.IndexManager.Set_Default:Ð£ÑÑÐ°ÐœÐŸÐ²ÐžÑÑ ÐžÐœÐŽÐµÐºÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ
+CDM.IndexManager.Set_Default_Tooltip:Ð¡ÐŽÐµÐ»Ð°ÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐ¹ ÐžÐœÐŽÐµÐºÑ ÐžÐœÐŽÐµÐºÑÐŸÐŒ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ
+CDM.IndexManager.Source:Ð¡ÐŸÐ·ÐŽÐ°ÑÑ ÐžÐœÐŽÐµÐºÑ:
+CDM.IndexManager.Source_Tooltip:Ð­Ð»ÐµÐŒÐµÐœÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐŽÐ»Ñ ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ ÐžÐœÐŽÐµÐºÑÐ°
+CDM.IndexManager.Text_Source:ÐÐŸÐ»ÐœÑÐ¹ ÑÐµÐºÑÑ  
+CDM.IndexManager.Text_Source_Tooltip:ÐÐºÐ»ÑÑÐžÑÑ Ð¿ÐŸÐ»ÐœÑÐ¹ ÑÐµÐºÑÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ² Ð² ÐžÐœÐŽÐµÐºÑ  
+CDM.IndexingManager.Accent_fold:Ð Ð°ÑÐºÑÑÑÑ Ð²ÐºÐ»Ð°ÐŽÐºÐž  
+CDM.IndexingManager.Accent_fold_Tooltip:Ð¡Ð³ÐµÐœÐµÑÐžÑÐŸÐ²Ð°ÑÑ ÐžÐœÐŽÐµÐºÑ-ÑÐºÐŸÐŒÐ¿Ð»ÐµÐºÑÐŸÐ²Ð°ÐœÐœÐŸÐ³ÐŸ ÐŽÐŸÑÑÑÐ¿Ð°, ÐºÐŸÑÐŸÑÑÐ¹ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ ÐžÑÐºÐ°ÑÑ ÑÐ»ÐŸÐ²Ð° ÐžÐ³ÐœÐŸÑÐžÑÑÑ Ð·ÐœÐ°ÐºÐž Ð¿ÑÐµÐ¿ÐžÐœÐ°ÐœÐžÑ  
+CDM.IndexingManager.Casefold:Ð¡Ð²ÐµÑÐœÑÑÑ Ð²ÐºÐ»Ð°ÐŽÐºÐž  
+CDM.IndexingManager.Casefold_Tooltip:Ð¡Ð³ÐµÐœÐµÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐµÐ³ÐžÑÑÑ-ÑÐºÐŸÐŒÐ¿Ð»ÐµÐºÑÐŸÐ²Ð°ÐœÐœÑÐ¹ ÐžÐœÐŽÐµÐºÑ, ÑÑÐ²ÑÑÐ²ÐžÑÐµÐ»ÑÐœÑÐ¹ Ðº Ð²ÐµÑÑ
+ÐœÐµÐŒÑ ÐžÐ»Ðž ÐœÐžÐ¶ÐœÐµÐŒÑ ÑÐµÐ³ÐžÑÑÑÑ ÑÐžÐŒÐ²ÐŸÐ»ÐŸÐ²  
+CDM.IndexingManager.Options:ÐÐ¿ÑÐžÐž ÐžÐœÐŽÐµÐºÑÐ°ÑÐžÐž:  
+CDM.IndexingManager.Separate_cjk:ÐÐ¯Ð Ð¡ÐµÐ³ÐŒÐµÐœÑÐ°ÑÐžÑ ÑÐµÐºÑÑÐ°  
+CDM.IndexingManager.Separate_cjk_Tooltip:<html>ÐÐ¯Ð Ð¡ÐµÐ³ÐŒÐµÐœÑ (ÐÐžÑÐ°Ð¹ÑÐºÐžÐ¹, Ð¯Ð¿ÐŸÐœÑÐºÐžÐ¹, ÐÐŸÑÐµÐ¹ÑÐºÐžÐ¹) ÑÐµÐºÑÑ. ÐÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð²ÑÑÐ°Ð²Ñ Ð¿ÑÐŸÐ±ÐµÐ»Ð° ÐŒÐµÐ¶ÐŽÑ ÐºÐ°Ð¶ÐŽÑÐŒ ÐÐ¯Ð ÐžÐµÑÐŸÐ³Ð»ÐžÑÐŸÐŒ.<br> Ð­ÑÐŸ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸ ÐŽÐ»Ñ Ð¿ÐŸÐžÑÐºÐ° Ð² ÐÐ¯Ð ÑÐµÐºÑÑÐµ, ÐŽÐŸ ÑÐµÐ³ÐŒÐµÐœÑÐ°ÑÐžÐž ÑÐµÐºÑÑÐ° Ð² ÑÐ»ÐŸÐ²Ð°.</html>  
+CDM.IndexingManager.Stem:ÐÐµÑÐµÐ²ÐŸ  
+CDM.IndexingManager.Stem_Tooltip:<html>Ð¡Ð³ÐµÐœÐµÑÐžÑÐŸÐ²Ð°ÑÑ ÐºÐŸÑÐœÐµÐ²ÐŸÐ¹ ÐžÐœÐŽÐµÐºÑ, ÐºÐŸÑÐŸÑÑÐ¹ ÐŽÐ°ÐµÑ Ð¿ÐŸÐžÑÐº Ð² ÐŸÐŽÐœÐŸÐºÐŸÑÐµÐœÐœÑÑ
+ ÑÐ»ÐŸÐ²Ð°Ñ
+. <br>ÐÐ°Ð¿ÑÐžÐŒÐµÑ, Ð¿ÐŸÐžÑÐº "farm" ÑÐ°ÐºÐ¶Ðµ ÐœÐ°Ð¹ÐŽÐµÑ "farms" "farming" "farmers" (ÑÐ°Ð±ÐŸÑÐ°ÐµÑ ÑÐŸÐ»ÑÐºÐŸ Ð² Ð°ÐœÐ³Ð»ÐžÐ¹ÑÐºÐžÑ
+ Ðž ÑÑÐ°ÐœÑÑÐ·ÑÐºÐžÑ
+ ÑÐµÐºÑÑÐ°Ñ
+).</html>  
+CDM.LanguageManager.Add_Tooltip:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐºÐ°Ð·Ð°ÐœÐœÑÐ¹ ÑÐ·ÑÐº Ð² ÑÐ¿ÐžÑÐŸÐº
+CDM.LanguageManager.Assigned_Languages:ÐÐ°ÐŽÐ°ÐœÐœÑÐµ ÑÐ·ÑÐºÐž
+CDM.LanguageManager.Default_Language:Ð¯Ð·ÑÐº Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ
+CDM.LanguageManager.LanguageMetadata:ÐÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÑÐ·ÑÐºÐ°:  
+CDM.LanguageManager.LanguageMetadata_Tooltip:Ð­Ð»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÑÐ¹ ÐŽÐ»Ñ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÑ ÑÐ·ÑÐºÐ° ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°.  
+CDM.LanguageManager.Remove_Tooltip:Ð£ÐŽÐ°Ð»ÐžÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐ¹ ÑÐ·ÑÐº ÐžÐ· ÑÐ¿ÐžÑÐºÐ°
+CDM.LanguageManager.Replace_Tooltip:ÐÐ°ÐŒÐµÐœÐžÑ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐ¹ ÑÐ°Ð·ÐŽÐµÐ» ÐœÐŸÐ²ÑÐŒ, ÐŸÑÐœÐŸÐ²Ð°ÐœÐœÑÐŒ ÐœÐ° Ð²ÑÐ±ÑÐ°ÐœÐœÑÑ
+ ÑÐ·ÑÐºÐ°Ñ
+  
+CDM.LanguageManager.Selector:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐ·ÑÐº:
+CDM.LanguageManager.Selector_Tooltip:Ð¯Ð·ÑÐº ÐŽÐ»Ñ ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ ÐžÐœÐŽÐµÐºÑÐ° ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ
+CDM.LanguageManager.Set_Default:Ð£ÑÑÐ°ÐœÐŸÐ²ÐºÐ° Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ
+CDM.LanguageManager.Set_Default_Tooltip:Ð¡ÐŽÐµÐ»Ð°ÑÑ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐ¹ ÑÐ·ÑÐº - ÑÐ·ÑÐºÐŸÐŒ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ  
+CDM.LevelManager.Document:ÐŽÐŸÐºÑÐŒÐµÐœÑ  
+CDM.LevelManager.Section:ÑÐµÐºÑÐžÑ  
+CDM.LevelManager.Paragraph:Ð°Ð±Ð·Ð°Ñ  
+CDM.LevelManager.Level_Title:Ð£ÑÐŸÐ²ÐµÐœÑ ÐžÐœÐŽÐµÐºÑÐ°ÑÐžÐž  
+CDM.LevelManager.Default:ÐÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ  
+CDM.LevelManager.Default_Tooltip:Ð£ÑÐŸÐ²ÐµÐœÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ Ð² ÐžÐœÑÐµÑÑÐµÐ¹ÑÐµ ÑÐžÑÐ°ÑÐµÐ»Ñ  
+CDM.MacrosManager.Editor_Tooltip:Ð ÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ ÐŒÐ°ÐºÑÐŸÑÑ Ð·ÐŽÐµÑÑ  
+CDM.Move.At_Bottom:ÐÐµÐ²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ Ð¿ÐµÑÐµÐŽÐ²ÐžÐœÑÑÑ {0} {1} ÐœÐžÐ¶Ðµ, Ð¿ÐŸÑÐºÐŸÐ»ÑÐºÑ ÐŸÐœ ÑÐ¶Ðµ ÐœÐ°Ñ
+ÐŸÐŽÐžÑÑÑ Ñ ÐŸÑÐœÐŸÐ²Ð°ÐœÐžÑ ÑÐ¿ÐžÑÐºÐ°.
+CDM.Move.At_Top:ÐÐµÐ²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ Ð¿ÐµÑÐµÐŽÐ²ÐžÐœÑÑÑ {0} {1} Ð²ÑÑÐµ, Ð¿ÐŸÑÐºÐŸÐ»ÑÐºÑ ÐŸÐœ ÑÐ¶Ðµ ÐœÐ°Ñ
+ÐŸÐŽÐžÑÑÑ ÐœÐ°Ð²ÐµÑÑ
+Ñ ÑÐ¿ÐžÑÐºÐ°.
+CDM.Move.Cannot:ÐÐµÐ²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ Ð¿ÐµÑÐµÐŒÐµÑÑÐžÑÑ Ð¿Ð»Ð°Ð³ÐžÐœ {0} ÐºÐ°Ðº-Ð»ÐžÐ±ÐŸ ÐœÐžÐ¶Ðµ, Ð¿ÐŸÑÐºÐŸÐ»ÑÐºÑ RecPlug Ðž ArcPlug ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ Ñ ÐŸÑÐœÐŸÐ²Ð°ÐœÐžÑ ÑÐ¿ÐžÑÐºÐ°.
+CDM.Move.Fixed:<html>RecPlug Ðž ArcPlug Ð²ÐŸÐŸÐ±ÑÐµ ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ Ð¿ÐŸÑÐ»ÐµÐŽÐœÐžÐŒÐž Ðž Ð·Ð°ÑÐžÐºÑÐžÑÐŸÐ²Ð°ÐœÑ ÐœÐ° ÐŒÐµÑÑÐµ.<br>ÐÑÐ»Ðž ÐÑ ÐŽÐµÐ¹ÑÑÐ²ÐžÑÐµÐ»ÑÐœÐŸ Ð¿ÐµÑÐµÐŒÐµÑÑÐžÐ»Ðž ÐžÑ
+, Ð¿ÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, Ð²ÑÑÑÐœÑÑ ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÑÐ¹ÑÐµ ÑÐ°Ð¹Ð» collect.cfg .</html>
+CDM.Move.Move_Down:ÐÐ²ÐžÐ³Ð°ÑÑÑÑ Ð²ÐœÐžÐ·
+CDM.Move.Move_Down_Tooltip:ÐÐµÑÐµÐŒÐµÑÑÐžÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐ¹ ÑÐ»ÐµÐŒÐµÐœÑ Ð²ÐœÐžÐ· ÑÐ¿ÐžÑÐºÐ°
+CDM.Move.Move_Up:ÐÐ²ÐžÐ³Ð°ÑÑÑÑ Ð²Ð²ÐµÑÑ
+
+CDM.Move.Move_Up_Tooltip:ÐÐµÑÐµÐŒÐµÑÑÐžÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐ¹ ÑÐ»ÐµÐŒÐµÐœÑ Ð²Ð²ÐµÑÑ
+ ÑÐ¿ÐžÑÐºÐ°
+CDM.Move.Title:ÐÑÐžÐ±ÐºÐ° - ÐŽÐ²ÐžÐ¶ÐµÐœÐžÐµ ÐœÐµÐ²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ
+CDM.PlugInManager.Add:ÐÐŸÐ±Ð°Ð²ÐžÑÑ Ð¿Ð»Ð°Ð³ÐžÐ³...
+CDM.PlugInManager.QuickAdd:ÐÐŸÐ±Ð°Ð²ÐžÑÑ Ð¿Ð»Ð°Ð³ÐžÐ³
+CDM.PlugInManager.Add_Tooltip:ÐÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÑÐºÐ°Ð·Ð°ÐœÐœÑÐ¹ Ð¿Ð»Ð°Ð³ÐžÐœ Ñ ÑÑÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐµÐ¹
+CDM.PlugInManager.Assigned:Ð¢ÐµÐºÑÑÐžÐµ Ð·Ð°ÐŽÐ°ÐœÐœÑÐµ Ð¿Ð»Ð°Ð³ÐžÐœÑ
+CDM.PlugInManager.Configure:Ð€ÐŸÑÐŒÐžÑÑÐ¹ÑÐµ Ð¿Ð»Ð°Ð³ÐžÐœ...
+CDM.PlugInManager.Configure_Tooltip:ÐÐ·ÐŒÐµÐœÐžÑÑ ÐŸÐ¿ÑÐžÐž ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÐŸÐ³ÐŸ Ð¿Ð»Ð°Ð³ÐžÐœÐ°
+CDM.PlugInManager.Ignore:ÐÐµ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÑÑ Ð¿Ð»Ð°Ð³ÐžÐœ
+CDM.PlugInManager.Ignore_Tooltip:ÐÐµ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÑÑ ÐœÐžÐºÐ°ÐºÐžÑ
+ Ð¿Ð»Ð°Ð³ÐžÐœÐŸÐ² Ðº ÑÑÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+CDM.PlugInManager.PlugIn:ÐÑÐ±ÑÐ°ÑÑ Ð¿Ð»Ð°Ð³ÐžÐœ ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ:
+CDM.PlugInManager.PlugIn_Tooltip:ÐÐŸÑÑÑÐ¿ÐœÑÐµ Ð¿Ð»Ð°Ð³ÐžÐœÑ ÐŽÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+CDM.PlugInManager.PlugIn_Str:Ð¿Ð»Ð°Ð³ÐžÐœ
+CDM.PlugInManager.PlugIn_XML_Parse_Failed:ÐÐµÐ²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÑ ÐŽÐ»Ñ Ð¿Ð»Ð°Ð³ÐžÐœÐ° {0}. ÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, ÑÐ±ÐµÐŽÐžÑÐµÑÑ, ÑÑÐŸ ÑÐ°ÑÑÐŒÐ°ÑÑÐžÐ²Ð°ÐµÐŒÑÐ¹ Ð¿Ð»Ð°Ð³ÐžÐœ ÑÐŸÐ¿ÑÐŸÐ²ÐŸÐ¶ÐŽÐ°ÐµÑÑÑ -xml ÑÐ»Ð°Ð³ÐŸÐŒ Ð¿ÑÐž Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœÐžÐž ÑÐºÑÐžÐ¿ÑÐ° pluginfo.pl, ÐŸÐ¿ÐžÑÐ°ÐœÐœÐŸÐ³ÐŸ Ð² ÑÐ°Ð·ÐŽÐµÐ»Ðµ 2.1 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° Ð Ð°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐŸÐ² ÐÑÐžÐœÑÑÐŸÑÐœ.  
+CDM.PluginManager.Plugin_List_XML_Parse_Failed:ÐÐµÐ²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ Ð¿ÐŸÐ»ÑÑÐžÑÑ ÑÐ¿ÐžÑÐŸÐº Ð¿Ð»Ð°Ð³ÐžÐœÐŸÐ² Ð¿ÑÐž Ð¿ÐŸÐŒÐŸÑÐž pluginfo.pl -listall  
+CDM.PluginManager.Plugin_Suggestion_Prompt:ÐÐž ÐŸÐŽÐžÐœ ÐžÐ· ÑÑÐžÑ
+ Ð¿Ð»Ð°Ð³ÐžÐœÐŸÐ² Ð² ÑÑÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐœÐµ Ð¿ÑÐµÐŽÐœÐ°Ð·ÐœÐ°ÑÐµÐœ ÐŽÐ»Ñ ÐŸÐ±ÑÐ°Ð±ÐŸÑÐºÐž ÑÐ°Ð¹Ð»Ð° "{0}". Ð¡Ð»ÐµÐŽÑÑÐžÐµ Ð¿Ð»Ð°Ð³ÐžÐœÑ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÑ ÐŽÐ»Ñ ÐŸÐ±ÑÐ°Ð±ÐŸÑÐºÐž ÑÑÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð°. ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐžÐ·ÐŒÐµÐœÐžÑÑ ÑÐ¿ÐžÑÐŸÐº Ð¿Ð»Ð°Ð³ÐžÐœÐŸÐ² Ð² Ð»ÑÐ±ÐŸÐµ Ð²ÑÐµÐŒÑ ÑÐµÑÐµÐ· ÐŒÐµÐœÑ "ÐÐ»Ð°Ð³ÐžÐœÑ ÐÐŸÐºÑÐŒÐµÐœÑÐ°" ÐœÐ° Ð¿Ð°ÐœÐµÐ»Ðµ "ÐÐžÐ·Ð°Ð¹Ðœ".
+CDM.PlugInManager.Remove:Ð£ÐŽÐ°Ð»ÐžÑÑ Ð¿Ð»Ð°Ð³ÐžÐœ
+CDM.PlugInManager.Remove_Tooltip:Ð£ÐŽÐ°Ð»ÐžÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐ¹ Ð¿Ð»Ð°Ð³ÐžÐœ ÐžÐ· ÑÐ¿ÐžÑÐºÐ°
+CDM.PluginManager.SuggestedPluginListTitle:ÐÑÐµÐŽÐ»ÐŸÐ¶ÐµÐœÐœÑÐµ Ð¿Ð»Ð°Ð³ÐžÐœÑ ÐŽÐ»Ñ ÑÐ°Ð¹Ð»Ð°
+CDM.SearchMetadataManager.Component:ÐÑÐœÐºÑ Ð² ÐŒÐµÐœÑ Ð¿ÐŸÐžÑÐºÐ°  
+CDM.SearchMetadataManager.Component_Name:ÐÑÐŸÐ±ÑÐ°Ð¶Ð°ÐµÐŒÑÐ¹ ÑÐµÐºÑÑ  
+CDM.SearchMetadataManager.Type_index:ÐÐœÐŽÐµÐºÑ  
+CDM.SearchMetadataManager.Type_level:Ð£ÑÐŸÐ²ÐµÐœÑ  
+CDM.SearchMetadataManager.Type_partition:Ð Ð°Ð·ÐŽÐµÐ»  
+CDM.SearchMetadataManager.Type_language:Ð Ð°Ð·ÐŽÐµÐ» ÑÐ·ÑÐºÐ°  
+CDM.SubcollectionManager.Add:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐžÐ»ÑÑÑ
+CDM.SubcollectionManager.Add_Tooltip:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐºÐ°Ð·Ð°ÐœÐœÑÐ¹ ÑÐžÐ»ÑÑÑ ÐºÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+CDM.SubcollectionManager.Assigned:ÐÐ°ÐŽÐ°ÐœÐœÑÐµ ÑÐžÐ»ÑÑÑÑ ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+CDM.SubcollectionManager.Exclude:ÐÑÐºÐ»ÑÑÐžÑÑ
+CDM.SubcollectionManager.Flags:Ð€Ð»Ð°Ð³Ðž ÐŽÐ»Ñ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž Ð¿ÑÐž ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÐž
+CDM.SubcollectionManager.Flags_Tooltip:Ð€Ð»Ð°Ð³Ðž Ð¿ÑÐ°Ð²ÐžÐ»ÑÐœÑÑ
+ Ð²ÑÑÐ°Ð¶ÐµÐœÐžÐ¹ ÐŽÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ Ð¿ÑÐž ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÐž (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, "i" ÐŽÐ»Ñ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÑ Ð±ÐµÐ· ÑÐ°Ð·Ð»ÐžÑÐµÐœÐžÑ Ð·Ð°Ð³Ð»Ð°Ð²ÐœÑÑ
+ Ðž ÑÑÑÐŸÑÐœÑÑ
+ Ð±ÑÐºÐ²).
+CDM.SubcollectionManager.Include:ÐÐºÐ»ÑÑÐžÑÑ
+CDM.SubcollectionManager.Inclusive:Ð§ÑÐŸ ÐŽÐŸÐ»Ð¶ÐœÑ ÐŒÑ ÐŽÐµÐ»Ð°ÑÑ Ñ ÑÐ°Ð¹Ð»Ð°ÐŒÐž, ÐºÐŸÑÐŸÑÑÐµ Ð¿ÐŸÐŽÑ
+ÐŸÐŽÑÑ?
+CDM.SubcollectionManager.Language_Controls:ÐÐ°ÐŽÐ°Ð¹ÑÐµ ÑÐ·ÑÐºÐž
+CDM.SubcollectionManager.Match:ÐÑÐ°Ð²ÐžÐ»ÑÐœÐŸÐµ Ð²ÑÑÐ°Ð¶ÐµÐœÐžÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÑ Ñ:
+CDM.SubcollectionManager.Match_Tooltip:ÐÑÐ°Ð²ÐžÐ»ÑÐœÐŸÐµ Ð²ÑÑÐ°Ð¶ÐµÐœÐžÐµ, ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÑÑÐµÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ Ð² ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+CDM.SubcollectionManager.Name:ÐÐŒÑ ÑÐžÐ»ÑÑÑÐ° ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž:
+CDM.SubcollectionManager.Name_Tooltip:ÐÐŒÑ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÑÐžÐ»ÑÑÑÐ° ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+CDM.SubcollectionManager.Remove:Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÐžÐ»ÑÑÑ
+CDM.SubcollectionManager.Remove_Tooltip:Ð£ÐŽÐ°Ð»ÐžÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐ¹ ÑÐžÐ»ÑÑÑ ÐžÐ· ÑÐ¿ÐžÑÐºÐ°
+CDM.SubcollectionManager.Replace:ÐÐ°ÐŒÐµÐœÐžÑÑ ÑÐžÐ»ÑÑÑ
+CDM.SubcollectionManager.Replace_Tooltip:ÐÐ±ÐœÐŸÐ²ÐžÑÑ ÐŽÐµÑÐ°Ð»Ðž ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÐŸÐ³ÐŸ ÑÐžÐ»ÑÑÑÐ°
+CDM.SubcollectionManager.Source:ÐÑÐžÐ·ÐœÐ°Ðº ÐŽÐŸÐºÑÐŒÐµÐœÑÐ° ÐŽÐ»Ñ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÑ Ñ:
+CDM.SubcollectionManager.Source_Tooltip:ÐÑÐžÐ·ÐœÐ°Ðº ÐŽÐŸÐºÑÐŒÐµÐœÑÐ° ÐŽÐ»Ñ ÑÐžÐ»ÑÑÑÐ°ÑÐžÐž ÐœÐ°
+CDM.SubcollectionManager.Subcollection_Controls:ÐÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ ÑÐžÐ»ÑÑÑÑ
+CDM.SubcollectionManager.Subindex_Controls:ÐÐ°Ð·ÐœÐ°ÑÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ
+CDM.SubcollectionIndexManager.Add_Subindex:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ»  
+CDM.SubcollectionIndexManager.Add_Subindex_Tooltip:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐºÐ°Ð·Ð°ÐœÐœÐŸÐµ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐµ Ðº ÑÑÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+CDM.SubcollectionIndexManager.Default_Partition_Indicator:[Ð Ð°Ð·ÐŽÐµÐ»ÐµÐœÐžÐµ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ]  
+CDM.SubcollectionIndexManager.Remove_Subindex:Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ»
+CDM.SubcollectionIndexManager.Remove_Subindex_Tooltip:Ð£ÐŽÐ°Ð»ÐžÑÑ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐ¹ ÑÐ°Ð·ÐŽÐµÐ» ÐžÐ· ÑÑÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+CDM.SubcollectionIndexManager.Replace_Subindex:ÐÐ°ÐŒÐµÐœÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐµ
+CDM.SubcollectionIndexManager.Replace_Subindex_Tooltip:ÐÐ±ÐœÐŸÐ²ÐžÑÑ Ð²ÑÐ±ÑÐ°ÐœÐœÐŸÐµ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐµ
+CDM.SubcollectionIndexManager.Set_Default_Subindex:Ð£ÑÑÐ°ÐœÐŸÐ²ÐžÑÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ
+CDM.SubcollectionIndexManager.Set_Default_Subindex_Tooltip:ÐÐ°Ð·ÐœÐ°ÑÐžÑÑ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐ¹ ÑÐ°Ð·ÐŽÐµÐ» ÑÐ°Ð·ÐŽÐµÐ»ÐŸÐŒ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ
+CDM.SubcollectionIndexManager.Source:ÐÑÐžÐŒÐµÐœÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐµ ÐœÐ°:
+CDM.SubcollectionIndexManager.Source_Tooltip:ÐÐŸÐŽÐŒÐœÐŸÐ¶ÐµÑÑÐ²ÐŸ ÑÐžÐ»ÑÑÑÐŸÐ² ÐŽÐ»Ñ Ð¿ÑÐžÐŒÐµÐœÐµÐœÐžÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ
+CDM.SubcollectionIndexManager.Subindexes:ÐÐ°ÐŽÐ°ÐœÐœÑÐµ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+CDM.TranslationManager.Add:ÐÐŸÐ±Ð°Ð²ÐžÑÑ Ð¿ÐµÑÐµÐ²ÐŸÐŽ
+CDM.TranslationManager.Add_Tooltip:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐºÐ°Ð·Ð°ÐœÐœÑÐ¹ Ð¿ÐµÑÐµÐ²ÐŸÐŽ Ðº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+CDM.TranslationManager.Affected_Features:Ð¡Ð²ÐŸÐ¹ÑÑÐ²Ð°
+CDM.TranslationManager.Assigned_Fragments:ÐÐ°ÐŽÐ°ÐœÐœÑÐµ Ð¿ÐµÑÐµÐ²ÐŸÐŽÑ
+CDM.TranslationManager.Default_Text:ÐÐ°ÑÐ°Ð»ÑÐœÑÐ¹ ÑÑÐ°Ð³ÐŒÐµÐœÑ ÑÐµÐºÑÑÐ°
+CDM.TranslationManager.Fragment_Column:Ð€ÑÐ°Ð³ÐŒÐµÐœÑ ÑÐµÐºÑÑÐ°
+CDM.TranslationManager.Language:Ð¯Ð·ÑÐº Ð¿ÐµÑÐµÐ²ÐŸÐŽÐ°:
+CDM.TranslationManager.Language_Column:Ð¯Ð·ÑÐº
+CDM.TranslationManager.Language_Tooltip:Ð¯Ð·ÑÐº, Ð¿ÐµÑÐµÐ²ÐŸÐŽÐžÐŒÑÐ¹ ÐœÐ°
+CDM.TranslationManager.Remove:Ð£ÐŽÐ°Ð»ÐžÑÑ Ð¿ÐµÑÐµÐ²ÐŸÐŽ
+CDM.TranslationManager.Remove_Tooltip:Ð£ÐŽÐ°Ð»ÐžÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐ¹ Ð¿ÐµÑÐµÐ²ÐŸÐŽ ÐžÐ· ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+CDM.TranslationManager.Replace:ÐÐ°ÐŒÐµÐœÐžÑÑ Ð¿ÐµÑÐµÐ²ÐŸÐŽ
+CDM.TranslationManager.Replace_Tooltip:ÐÐ±ÐœÐŸÐ²ÐžÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐ¹ Ð¿ÐµÑÐµÐ²ÐŸÐŽ
+CDM.TranslationManager.Translation:ÐÐµÑÐµÐ²ÐµÐŽÐµÐœÐœÑÐ¹ ÑÐµÐºÑÑ
+CDM.TranslationManager.Translation_Tooltip:ÐÐ²ÐµÐŽÐžÑÐµ Ð¿ÐµÑÐµÐ²ÐŸÐŽ ÑÑÑÐŸÐºÐž Ð·ÐŽÐµÑÑ
+CDM.DepositorMetadataManager.Warning:ÐÐŸÐ»Ð¶ÐµÐœ Ð±ÑÑÑ Ð²ÑÐ±ÑÐ°Ðœ Ñ
+ÐŸÑÑ Ð±Ñ ÐŸÐŽÐžÐœ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+#*******************
+#
+#***** Collection *****
+Collection.Collection:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>ÐÐŸÐ»Ð»ÐµÐºÑÐžÑ</FONT></STRONG></HTML>
+Collection.Delete_Tooltip:Ð£ÐŽÐ°Ð»ÐžÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐµ ÑÐ°Ð¹Ð»Ñ Ðž Ð¿Ð°Ð¿ÐºÐž
+Collection.Filter_Tooltip:ÐÐ³ÑÐ°ÐœÐžÑÐžÑÑ ÑÐ°Ð¹Ð»Ñ, Ð¿ÐŸÐºÐ°Ð·Ð°ÐœÐœÑÐµ Ð² ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐŒ ÐŽÐµÑÐµÐ²Ðµ
+Collection.New_Folder_Tooltip:Ð¡ÐŸÐ·ÐŽÐ°ÑÑ ÐœÐŸÐ²ÑÑ Ð¿Ð°Ð¿ÐºÑ
+Collection.No_Collection:ÐÐžÐºÐ°ÐºÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+Collection.No_Collection_Loaded:ÐÐž ÐŸÐŽÐœÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐœÐµ Ð·Ð°Ð³ÑÑÐ¶ÐµÐœÐŸ  
+Collection.Stop:ÐÑÑÐ°ÐœÐŸÐ²ÐžÑÑ
+Collection.Stop_Tooltip:ÐÑÐµÐºÑÐ°ÑÐžÑÑ ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÑÑ ÑÐ°Ð¹Ð»Ñ
+Collection.Workspace:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>Ð Ð°Ð±ÐŸÑÐµÐµ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐŸ</FONT></STRONG></HTML>
+#**********************
+#
+#***** CollectionBuilt *****
+CollectionBuilt.Message:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð¿ÐŸÑÑÑÐŸÐµÐœÐ° Ðž Ð³ÐŸÑÐŸÐ²Ð° ÐŽÐ»Ñ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸÐ³ÐŸ ÑÐ°ÑÑÐŒÐŸÑÑÐµÐœÐžÑ.
+CollectionBuilt.Title:Ð ÐµÐ·ÑÐ»ÑÑÐ°Ñ ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+#***************************
+#
+#******ScheduldBuilt******
+ScheduleBuilt.Message:ÐÑÐµÑÐµÐŽÐœÐŸÑÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð±ÑÐ»Ð° ÐžÐ·ÐŒÐµÐœÐµÐœÐ°.  
+ScheduleBuilt.Title:Ð ÐµÐ·ÑÐ»ÑÑÐ°Ñ ÐŸÑÐµÑÐµÐŽÐœÐŸÑÑÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž  
+#***************************
+#
+#***** CollectionManager *****
+CollectionManager.Schedule_Failed:ÐÑÐžÐ±ÐºÐ° Ð²ÐŸÐ·ÐœÐžÐºÐ»Ð° ÐžÐ· Ð·Ð° ÐœÐµÐ²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÐž ÐŸÑÐµÑÐµÐŽÐœÐŸÐ³ÐŸ  Ð¿ÐµÑÐžÐŸÐŽÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐŸÐ±ÐœÐŸÐ²Ð»ÐµÐœÐžÑ Ðž Ð¿ÐµÑÐµÐ¿ÐŸÑÑÑÐŸÐµÐœÐžÑ.  
+CollectionManager.Build_Cancelled:Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐŸÑÐŒÐµÐœÐµÐœÐŸ.
+CollectionManager.Cannot_Create_Collection:ÐÐŸÐ·ÐœÐžÐºÐ»Ð° ÐŸÑÐžÐ±ÐºÐ°. ÐÐµÐ²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ ÑÐŸÐ·ÐŽÐ°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ.
+CollectionManager.Cannot_Create_Collection_With_Reason:ÐÐµ ÑÐŽÐ°Ð»ÐŸÑÑ ÑÐŸÐ·ÐŽÐ°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÑÐ°Ðº ÐºÐ°Ðº:\n{0-Error message}  
+CollectionManager.Cannot_Delete_Index:Ð­ÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ Ð²ÐŸÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœÐ°, Ð¿ÐŸÑÐŸÐŒÑ ÑÑÐŸ ÑÑÐ°ÑÑÐµ ÐžÐœÐŽÐµÐºÑÐœÑÐµ ÑÐ°Ð¹Ð»Ñ ÐœÐµ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐŽÐ°Ð»ÐµÐœÑ. ÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, ÑÐŽÐŸÑÑÐŸÐ²ÐµÑÑÑÐµÑÑ, ÑÑÐŸ ÐÑÐžÐœÑÑÐŸÑÐœ ÐžÐ»Ðž ÐºÐ°ÐºÐ°Ñ-Ð»ÐžÐ±ÐŸ ÐŽÑÑÐ³Ð°Ñ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐ° ÐœÐµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑ ÑÑÐž ÑÐ°Ð¹Ð»Ñ, Ðž Ð¿ÐŸÐ¿ÑÐŸÐ±ÑÐ¹ÑÐµ ÑÐœÐŸÐ²Ð°.  
+CollectionManager.Cannot_Delete_Index_Log:Ð¡ÑÐ°ÑÑÐµ ÐžÐœÐŽÐµÐºÑÐœÑÐµ ÑÐ°Ð¹Ð»Ñ ÐœÐµ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐŽÐ°Ð»ÐµÐœÑ, Ð¿ÐŸÑÑÐŸÐŒÑ ÐžÐŒÐ¿ÐŸÑÑ ÐŸÑÑÐ°ÐœÐŸÐ²ÐžÐ»ÑÑ.
+CollectionManager.Cannot_Open:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑ:\n{0-Collection file path}\nÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŸÑÐºÑÑÑÐ°.
+CollectionManager.Cannot_Open_With_Reason:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐœÐ°:\n{0-Collection file path}\nÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŸÑÐºÑÑÑÐ°, Ð¿ÐŸÑÐŸÐŒÑ ÑÑÐŸ:\n{1-Error message}
+CollectionManager.Creating_Collection:Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž  
+CollectionManager.Creating_Collection_Please_Wait:Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, Ð¿ÐŸÐŽÐŸÐ¶ÐŽÐžÑÐµ...  
+CollectionManager.Loading_Collection:ÐÐ°Ð³ÑÑÐ·ÐºÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+CollectionManager.Loading_Collection_Please_Wait:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð³ÑÑÐ·ÐžÑÑÑ, Ð¿ÐŸÐŽÐŸÐ¶ÐŽÐžÑÐµ Ð¿ÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°...
+CollectionManager.Loading_Successful:ÐÐ°Ð³ÑÑÐ¶ÐµÐœÐœÐ°Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ {0}.
+CollectionManager.Missing_Config:Ð­ÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐœÐµ ÐžÐŒÐµÐµÑ Ð¿ÑÐžÐ³ÐŸÐŽÐœÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð° collect.cfg
+CollectionManager.Not_Col_File:{0}' - ÐœÐµ ÑÐ²Ð»ÑÐµÑÑÑ ÑÐ°Ð¹Ð»ÐŸÐŒ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ° (.col).
+CollectionManager.No_Config_File:ÐÐµ ÑÐŽÐ°Ð»ÐŸÑÑÑ ÑÐŸÐ·ÐŽÐ°ÑÑ Ð€Ð°Ð¹Ð» collect.cfg Ð² ÑÐºÑÐžÐ¿ÑÐµ mkcol.pl.  
+CollectionManager.Preview_Ready_Failed:ÐÑÐŸÐžÐ·ÐŸÑÐ»Ð° ÐŸÑÐžÐ±ÐºÐ°, ÐºÐŸÑÐŸÑÐ°Ñ ÐŒÐµÑÐ°ÐµÑ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸÐŒÑ Ð¿ÑÐŸÑÐŒÐŸÑÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+CollectionManager.Preview_Ready_Title:Ð¡ÐŸÑÑÐŸÑÐœÐžÐµ  Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸÐ³ÐŸ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+CollectionManager.Schedule_Ready_Title:Ð¡ÑÐ°ÑÑÑ ÐŸÑÐµÑÐµÐŽÐœÐŸÑÑÐž.  
+CollectionManager.Build_Not_Moved:ÐÐµÐ²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ Ð¿ÐµÑÐµÐŒÐµÑÑÐžÑÑ ÑÐŸÐ·ÐŽÐ°Ð²Ð°ÐµÐŒÑÐ¹ ÐºÐ°ÑÐ°Ð»ÐŸÐ³. ÐÐŸÐ¿ÑÐŸÐ±ÑÐ¹ÑÐµ Ð²ÐºÐ»ÑÑÐžÑÑ ÑÐ±ÐŸÑÐºÑ ÑÐœÐŸÐ²Ð°, Ð»ÐžÐ±ÐŸ Ð²ÑÐ¹ÑÐž ÐžÐ· GLI Ðž ÑÐµÑÐ²ÐµÑÐ° Ðž Ð¿ÐŸÐ¿ÑÐŸÐ±ÐŸÐ²Ð°ÑÑ ÑÐŸÐ±ÑÐ°ÑÑ ÑÐœÐŸÐ²Ð° â ÑÑÐŸ ÐŽÐŸÐ»Ð¶ÐœÐŸ Ð¿ÐŸÐŒÐŸÑÑ.  
+CollectionManager.Index_Not_Deleted:ÐÐµ ÑÐŽÐ°Ð»ÐŸÑÑ ÑÐŽÐ°Ð»ÐžÑÑ ÐŽÐžÑÐµÐºÑÐŸÑÐžÑ ÐžÐœÐŽÐµÐºÑÐ°. ÐÐŸÐ¿ÑÐŸÐ±ÑÐ¹ÑÐµ Ð²ÐºÐ»ÑÑÐžÑÑ ÑÐ±ÐŸÑÐºÑ ÑÐœÐŸÐ²Ð°, Ð»ÐžÐ±ÐŸ Ð²ÑÐ¹ÑÐž ÐžÐ· GLI Ðž ÑÐµÑÐ²ÐµÑÐ° Ðž Ð¿ÐŸÐ¿ÑÐŸÐ±ÐŸÐ²Ð°ÑÑ ÑÐŸÐ±ÑÐ°ÑÑ ÑÐœÐŸÐ²Ð° â ÑÑÐŸ ÐŽÐŸÐ»Ð¶ÐœÐŸ Ð¿ÐŸÐŒÐŸÑÑ.
+CollectionManager.Install_Exception:ÐÐŸ Ð²ÑÐµÐŒÑ ÐžÐœÑÑÐ°Ð»Ð»ÑÑÐžÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð²ÐŸÐ·ÐœÐžÐºÐ»ÐŸ ÐžÑÐºÐ»ÑÑÐµÐœÐžÐµ:\n{0}\nÐ¡ÐºÐŸÑÐµÐµ Ð²ÑÐµÐ³ÐŸ ÐµÐ³ÐŸ Ð¿ÑÐžÑÐžÐœÐŸÐ¹ Ð¿ÐŸÑÐ»ÑÐ¶ÐžÐ»Ð° Ð±Ð»ÐŸÐºÐžÑÐŸÐ²ÐºÐ° ÑÐ°Ð¹Ð»ÐŸÐ² ÑÐžÑÑÐµÐŒÐŸÐ¹ Windows ÐžÐ»Ðž Ð»ÐŸÐºÐ°Ð»ÑÐœÐŸÐ¹ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐŸÐ¹.\nÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, ÑÐŽÐŸÑÑÐŸÐ²ÐµÑÑÑÐµÑÑ, ÑÑÐŸ ÐœÐž ÐŸÐŽÐžÐœ ÐžÐ· ÑÐ°Ð¹Ð»ÐŸÐ² ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÑÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐµÐ¹ ÐœÐµ ÐŸÑÐºÑÑÑ Ð²ÐŸ Ð²ÐœÐµÑÐœÐµÐ¹ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐµ, Ðž Ð¿ÐµÑÐµÑÐŸÐ·ÐŽÐ°Ð¹ÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ.  
+#*****************************
+#
+#***** CollectionPopupMenu *****
+CollectionPopupMenu.Delete:Ð£ÐŽÐ°Ð»ÐžÑÑ
+CollectionPopupMenu.New_Dummy_Doc:ÐÐŸÐ²ÑÐ¹ Ñ
+ÐŸÐ»ÐŸÑÑÐŸÐ¹ ÐŽÐŸÐºÑÐŒÐµÐœÑ
+CollectionPopupMenu.New_Folder:ÐÐŸÐ²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°
+CollectionPopupMenu.Refresh:ÐÐ±ÐœÐŸÐ²ÐžÑÑ Ð²ÐžÐŽ Ð¿Ð°Ð¿ÐºÐž  
+CollectionPopupMenu.Rename:ÐÐµÑÐµÐžÐŒÐµÐœÐŸÐ²Ð°ÑÑ  
+CollectionPopupMenu.Replace:ÐÐ°ÐŒÐµÐœÐžÑÑ
+#*******************************
+#
+#***** CreatePane *****
+CreatePane.Schedule_Progress:ÐÑÐŸÐ³ÑÐµÑÑ ÐŸÑÐµÑÐµÐŽÐœÐŸÑÑÐž  
+CreatePane.Schedule:ÐÐ°ÑÑÑÐŸÐ¹ÐºÐž ÐŸÑÐµÑÐµÐŽÐœÐŸÑÑÐž  
+CreatePane.Schedule_Tooltip:ÐÐ°ÑÑÑÐŸÐ¹ÐºÐž ÐŸÑÐµÑÐµÐŽÐœÐŸÑÑÐž Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐŸÐ³ÐŸ Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž  
+CreatePane.Schedule_Build:ÐÐµÐ¹ÑÑÐ²ÐžÑ ÐŸÑÐµÑÐµÐŽÐœÐŸÑÑÐž  
+CreatePane.Schedule_Build_Tooltip:ÐÐ°Ð¿Ð»Ð°ÐœÐžÑÐŸÐ²Ð°ÑÑ Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐŸÐµ Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž  
+CreatePane.Build:ÐÐ°ÑÐžÐ°ÐœÑÑ Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÑ
+CreatePane.Build_Tooltip:ÐÐ°ÑÐžÐ°ÐœÑÑ ÐžÐœÐŽÐµÐºÑÐ°ÑÐžÐž Ðž ÑÑÐ°ÐŽÐžÐž ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐžÐž ÑÐŸÑÐŒÐžÑÐŸÐ²Ð°ÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+CreatePane.Build_Collection:Ð¡ÐŸÐ·ÐŽÐ°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ
+CreatePane.Build_Collection_Tooltip:ÐÐ°ÑÐ°ÑÑ Ð¿ÑÐŸÑÐµÑÑ ÑÐŸÑÐŒÐžÑÐŸÐ²Ð°ÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+CreatePane.Build_Progress:Ð Ð°Ð·Ð²ÐžÑÐžÐµ Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÑ
+CreatePane.Cancel_Build:ÐÑÐŒÐµÐœÐžÑÑ Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÐµ
+CreatePane.Cancel_Build_Tooltip:ÐÑÑÐ°ÐœÐŸÐ²ÐžÑÑ Ð¿ÑÐŸÑÐµÑÑ ÑÐŸÑÐŒÐžÑÐŸÐ²Ð°ÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+CreatePane.Full_Build:ÐÐŸÐ»ÐœÐŸÐµ Ð ÐµÐºÐŸÐœÑÑÑÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ  
+CreatePane.Full_Build_Tooltip:ÐÐŸÐ»ÐœÐŸÐµ Ð¿ÐµÑÐµÑÐŸÐ·ÐŽÐ°ÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ñ ÐœÑÐ»Ñ  
+CreatePane.Import:ÐÐ°ÑÐžÐ°ÐœÑÑ ÐžÐŒÐ¿ÐŸÑÑÐ°
+CreatePane.Import_Tooltip:ÐÐ°ÑÐžÐ°ÐœÑÑ Ð¿ÑÐµÐŸÐ±ÑÐ°Ð·ÐŸÐ²Ð°ÐœÐžÑ ÑÐ°Ð¹Ð»Ð° Ðž ÑÑÐ°Ð¿Ñ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð¿ÑÐž ÑÐŸÑÐŒÐžÑÐŸÐ²Ð°ÐœÐžÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+CreatePane.Import_Progress:ÐÑÐŸÐŽÐ²ÐžÐ¶ÐµÐœÐžÐµ ÐžÐŒÐ¿ÐŸÑÑÐ°
+CreatePane.Minimal_Build:ÐÐžÐœÐžÐŒÐ°Ð»ÑÐœÐŸÐµ Ð¿ÐµÑÐµÑÐŸÐ·ÐŽÐ°ÐœÐžÐµ  
+CreatePane.Minimal_Build_Tooltip:Ð­ÑÐŸ Ð±ÑÑÑÑÐµÐµ, ÑÐ°Ðº ÐºÐ°Ðº ÐŸÐ±ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÑÑÑÑ ÑÐŸÐ»ÑÐºÐŸ ÑÐµ ÑÑÐ°Ð¿Ñ ÑÐ±ÐŸÑÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÐºÐŸÑÐŸÑÑÐµ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÑ  
+CreatePane.Minimal_Build_Not_Required:ÐÐµÑÐµÑÑÑÐŸÐ¹ÐºÐ° ÐœÐµ ÑÑÐµÐ±ÑÐµÑÑÑ Ð¿ÐŸÑÐŸÐŒÑ ÑÑÐŸ ÐœÐžÐºÐ°ÐºÐžÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ² Ðº ÐºÐŸÐ»ÐµÐºÑÐžÐž,\nÐŸÑÑÐµÐŽÐ°ÐºÐžÑÐŸÐ²Ð°ÐœÐœÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÐžÐ»Ðž ÐžÐ·ÐŒÐµÐœÐµÐœÐœÑÑ
+ ÐœÐ°ÑÑÑÐŸÐµÐº Ð² Ð¿Ð°ÐœÐµÐ»Ðž ÐŽÐžÐ·Ð°Ð¹ÐœÐ°.\n(ÐÐ»Ñ ÑÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÐžÑ Ð¿ÐµÑÐµÐ¿ÐŸÑÑÑÐŸÐµÐœÐžÑ, Ð²ÑÐ±ÐµÑÐžÑÐµ "ÐÐŸÐ»ÐœÐŸÐµ Ð¿ÐµÑÐµÐ¿ÐŸÑÑÑÐŸÐµÐœÐžÐµ" Ðž ÐœÐ°Ð¶ÐŒÐžÑÐµ ÐºÐœÐŸÐ¿ÐºÑ Â«Ð¡ÐŸÐ±ÑÐ°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÂ».)  
+CreatePane.Log:ÐÑÐŸÑÐŸÐºÐŸÐ»Ñ ÑÐŸÐŸÐ±ÑÐµÐœÐžÐ¹  
+CreatePane.Log_Tooltip:ÐÑÐŸÑÐŒÐŸÑÑ ÐŸÑÐ»ÐžÑÐžÐ¹ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐ° ÐŸÑ Ð¿ÑÐµÐŽÑÐŽÑÑÐžÑ
+ Ð¿ÐŸÐ¿ÑÑÐŸÐº ÑÐŸÑÐŒÐžÑÐŸÐ²Ð°ÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+CreatePane.Mode_All:Ð²ÑÐµ
+CreatePane.Options:ÐÑÑÐ¿Ð¿Ñ Ð²ÑÐ±ÐŸÑÐ°
+CreatePane.Options_Title:ÐÐŒÐ¿ÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž Ð²Ð°ÑÐžÐ°ÐœÑÑ Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÑ
+CreatePane.Preview_Collection:ÐÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÑÐ¹ Ð¿ÑÐŸÑÐŒÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+CreatePane.Preview_Collection_Tooltip:ÐÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÑÐ¹ Ð¿ÑÐŸÑÐŒÐŸÑÑ ÑÐŸÐ·ÐŽÐ°ÐœÐœÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+#**********************
+#
+#***** Dates *****
+Dates.Mon:ÐÐŸÐœÐµÐŽÐµÐ»ÑÐœÐžÐº
+Dates.Tue:ÐÑÐŸÑÐœÐžÐº
+Dates.Wed:Ð¡ÑÐµÐŽÐ°
+Dates.Thu:Ð§ÐµÑÐ²ÐµÑÐ³
+Dates.Fri:ÐÑÑÐœÐžÑÐ°
+Dates.Sat:Ð¡ÑÐ±Ð±ÐŸÑÐ°
+Dates.Sun:ÐÐŸÑÐºÑÐµÑÐµÐœÑÐµ
+Dates.Jan:Ð¯ÐœÐ²Ð°ÑÑ
+Dates.Feb:Ð€ÐµÐ²ÑÐ°Ð»Ñ
+Dates.Mar:ÐÐ°ÑÑ
+Dates.Apr:ÐÐ¿ÑÐµÐ»Ñ
+Dates.May:ÐÐ°Ð¹
+Dates.Jun:ÐÑÐœÑ
+Dates.Jul:ÐÑÐ»Ñ
+Dates.Aug:ÐÐ²Ð³ÑÑÑ
+Dates.Sep:Ð¡ÐµÐœÑÑÐ±ÑÑ
+Dates.Oct:ÐÐºÑÑÐ±ÑÑ
+Dates.Nov:ÐÐŸÑÐ±ÑÑ
+Dates.Dec:ÐÐµÐºÐ°Ð±ÑÑ
+#**********************
+#
+#***** Delete Collection Prompt *****
+DeleteCollectionPrompt.Collection_Details:ÐÐµÑÐ°Ð»Ðž ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+DeleteCollectionPrompt.Collection_List:ÐÐŸÑÑÑÐ¿ÐœÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+DeleteCollectionPrompt.Confirm_Delete:ÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, Ð¿ÐŸÐŒÐµÑÑÑÐµ Ð¿ÐŸÐ»Ðµ ÐŽÐ»Ñ Ð¿ÐŸÐŽÑÐ²ÐµÑÐ¶ÐŽÐµÐœÐžÑ ÑÐŽÐ°Ð»ÐµÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+DeleteCollectionPrompt.Delete:Ð£ÐŽÐ°Ð»ÐžÑÑ
+DeleteCollectionPrompt.Delete_Tooltip:Ð£ÐŽÐ°Ð»ÐžÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ
+DeleteCollectionPrompt.Details:Ð¡ÐŸÐ·ÐŽÐ°ÑÐµÐ»Ñ - {0}\nÐÐžÑÐŸ, Ð¿ÐŸÐŽÐŽÐµÑÐ¶ÐžÐ²Ð°ÑÑÐµÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ - {1}\nÐÐ¿ÐžÑÐ°ÐœÐžÐµ\n{2}
+DeleteCollectionPrompt.Failed_Delete:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ Ð¿ÐŸÐ»ÐœÐŸÑÑÑÑ ÑÐŽÐ°Ð»ÐµÐœÐ°.
+DeleteCollectionPrompt.Failed_Title:Ð£ÐŽÐ°Ð»ÐµÐœÐžÐµ ÐœÐµÑÐŽÐ°ÑÐœÐŸÐµ!
+DeleteCollectionPrompt.No_Collection:ÐÐžÐºÐ°ÐºÐžÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÐœÐµ ÐŸÑÐŸÐ±ÑÐ°ÐœÐŸ.
+DeleteCollectionPrompt.Successful_Delete:ÐÐŸÐ»ÐµÐºÑÐžÑ Ð±ÑÐ»Ð° ÑÐŽÐ°Ð»ÐµÐœÐ°.
+DeleteCollectionPrompt.Successful_Title:Ð£ÐŽÐ°Ð»ÐµÐœÐžÐµ Ð·Ð°Ð²ÐµÑÑÐµÐœÐŸ!
+DeleteCollectionPrompt.Title:Ð£ÐŽÐ°Ð»ÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+DeleteCollectionPrompt.Cannot_Delete_Open_Collection_Tooltip:ÐÐµ ÐŒÐŸÐ³Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ {0}, Ð¿ÐŸÑÐºÐŸÐ»ÑÐºÑ ÐŸÐœÐ° ÐŸÑÐºÑÑÑÐ°  
+#**********************
+#
+#***** DirectoryLevelMetadata *****
+DirectoryLevelMetadata.Message:ÐÑ ÑÐŸÐ±ÐžÑÐ°ÐµÑÐµÑÑ Ð·Ð°ÐŽÐ°ÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ 'ÑÑÐŸÐ²ÐµÐœÑ Ð¿Ð°Ð¿ÐºÐž' ÐŽÐ»Ñ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÐŸÐ¹ Ð¿Ð°Ð¿ÐºÐž (ÐžÐ»Ðž Ð¿Ð°Ð¿ÐŸÐº). Ð¢Ð°ÐºÐžÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ð±ÑÐŽÑÑ Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž ÑÐœÐ°ÑÐ»ÐµÐŽÐŸÐ²Ð°ÐœÑ Ð²ÑÐµÐŒÐž ÑÐ°Ð¹Ð»Ð°ÐŒÐž Ðž Ð¿Ð°Ð¿ÐºÐ°ÐŒÐž Ð² ÑÑÐŸÐ¹ Ð¿Ð°Ð¿ÐºÐµ. ÐÑÐŸÐŒÐµ ÑÐŸÐ³ÐŸ ÑÑÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐœÐµ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐŽÐ°Ð»ÐµÐœÑ ÐžÐ· ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐœÑÑ
+ ÐŽÐŸÑÐµÑÐœÐžÑ
+ Ð¿Ð°Ð¿ÐŸÐº, Ð° ÑÐŸÐ»ÑÐºÐŸ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ Ð·Ð°ÐŒÐµÐœÐµÐœÑ. ÐÐ»Ñ Ð¿ÑÐŸÐŽÐŸÐ»Ð¶ÐµÐœÐžÑ ÑÑÐŸÐ³ÐŸ ÐŽÐµÐ¹ÑÑÐ²ÐžÑ ÑÐµÐ»ÐºÐœÐžÑÐµ 'OK'.
+DirectoryLevelMetadata.Title:Ð ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ðº ÑÑÐŸÐ²ÐœÑ Ð¿Ð°Ð¿ÐºÐž.
+
+#*******************
+#
+#***** Download *****
+DOWNLOAD.MODE.Root:Download_Root  
+DOWNLOAD.MODE.WebDownload:ÐÐµÐ±  
+DOWNLOAD.MODE.MediaWikiDownload:MediaWiki  
+DOWNLOAD.MODE.OAIDownload:OAI  
+DOWNLOAD.MODE.ZDownload:Ð¿ÑÐŸÑÐŸÐºÐŸÐ» Z39.50  
+DOWNLOAD.MODE.SRWDownload:SRW  
+
+Download.ServerInformation:ÐÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸ ÑÐµÑÐ²ÐµÑÐµ  
+Download.ServerInformation_Tooltip:ÐÐ°Ð³ÑÑÐ·ÐžÑÑ ÐœÐµÐºÐŸÑÐŸÑÑÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸ ÑÐµÑÐ²ÐµÑÐµ Ðž Ð¿ÑÐŸÐ²ÐµÑÐžÑÑ ÐŽÐŸÑÑÑÐ¿ÐœÐŸÑÑÑ ÑÐŸÐµÐŽÐžÐœÐµÐœÐžÑ  
+
+#********************
+#
+#***** EnrichPane *****
+EnrichPane.AutoMessage:Ð­ÑÐŸÑ ÑÐ»ÐµÐŒÐµÐœÑ, {0}, Ð¿ÑÐžÐœÐ°ÐŽÐ»ÐµÐ¶ÐžÑ Ðº ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐÑÐžÐœÑÑÐŸÑÐœ. Ð­ÑÐŸÑ ÐœÐ°Ð±ÐŸÑ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÑÐµÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ, ÐºÐŸÑÐŸÑÑÐµ ÐŒÐŸÐ³ÑÑ ÐŸÐ±ÑÑÐœÐŸ ÐžÐ·Ð²Ð»ÐµÐºÐ°ÑÑÑÑ Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž. Ð§ÑÐŸÐ±Ñ Ð¿ÑÐŸÐ²ÐµÑÐžÑÑ, ÑÑÐŸ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ {0} ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐžÐ·Ð²Ð»ÐµÑÐµÐœÑ, ÑÐŸÐ·ÐŽÐ°Ð¹ÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ  ÐºÐ»Ð°Ð²ÐžÑÑ 'Ð¡ÐŸÐ·ÐŽÐ°ÑÑ'.  
+EnrichPane.ExistingValues:Ð¡ÑÑÐµÑÑÐ²ÑÑÑÐžÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŽÐ»Ñ {0}  
+EnrichPane.InheritedMetadataSelected:Ð­ÑÐ° ÑÐ°ÑÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÑÐœÐ°ÑÐ»ÐµÐŽÐŸÐ²Ð°ÐœÐœÐ° ÐžÐ· Ð¿Ð°Ð¿ÐºÐž ÐœÐ° ÑÑÐŸÐ²ÐµÐœÑ Ð²ÑÑÐµ, Ðž ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÑÐŽÐ°Ð»ÐµÐœÐ°. ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ Ð¿Ð°Ð¿ÐºÑ ÑÐŸÐŽÐµÑÐ¶Ð°ÑÐžÑ ÑÑÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ, ÑÐµÐ»ÐºÐœÑÐ² ÐœÐ° Ð·ÐœÐ°ÑÐµÐº Ð¿Ð°Ð¿ÐºÐž Ð² ÐœÐ°ÑÐ°Ð»Ðµ ÑÑÑÐŸÐºÐž.  
+EnrichPane.InheritedMetadata_Tooltip:Ð©ÐµÐ»ÐºÐœÐžÑÐµ ÑÑÑ ÐžÐºÐŸÐœÐºÑ ÐŽÐ»Ñ Ð¿ÐŸÑÐµÑÐµÐœÐžÑ ÑÐŸÐ¹ Ð¿Ð°Ð¿ÐºÐž, ÐºÐŸÑÐŸÑÐŸÐ¹ Ð¿ÑÐžÑÐ²ÐŸÐµÐœÐ° ÑÐœÐ°ÑÐ»ÐµÐŽÐŸÐ²Ð°ÐœÐœÐ°Ñ ÑÐ°ÑÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+EnrichPane.ManageMetadataSets:Ð£Ð¿ÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐœÐ°Ð±ÐŸÑÐ°ÐŒÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+...  
+EnrichPane.ManageMetadataSets_Tooltip:ÐÐ·ÐŒÐµÐœÐžÑÑ ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐµÐ¹  
+EnrichPane.No_File:ÐÐžÐºÐ°ÐºÐžÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ² ÐœÐµ ÐŸÑÐŸÐ±ÑÐ°ÐœÐŸ
+EnrichPane.No_Metadata:ÐÐµÑ ÐŽÐŸÑÑÑÐ¿ÐœÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+EnrichPane.No_Metadata_Element:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>ÐÐžÐºÐ°ÐºÐžÑ
+ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐœÐµ ÐŸÑÐŸÐ±ÑÐ°ÐœÐŸ</FONT></STRONG></HTML>
+EnrichPane.NotOneFileOnlyMetadataSelected:Ð­ÑÐ° ÑÐ°ÑÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐ° Ñ ÑÑÐžÐŒ ÑÐ°Ð¹Ð»ÐŸÐŒ, Ðž ÐœÐµ Ð¿ÐŸÐŽÐ»ÐµÐ¶ÐžÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑÐŒ.  
+EnrichPane.Value_Field_Tooltip:ÐÐœÐ°ÑÐµÐœÐžÐµ ÐŽÐ»Ñ Ð·Ð°ÐŽÐ°ÐœÐžÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÐŸÐŒÑ ÑÐ»ÐµÐŒÐµÐœÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+
+EnrichPane.Value_Field_Tooltip_Uneditable:ÐÐœÐ°ÑÐµÐœÐžÐµ Ð¿ÑÐžÑÐ²ÐŸÐµÐœÐŸ Ð²ÑÐ±ÑÐ°ÐœÐœÐŸÐŒÑ ÑÐ»ÐµÐŒÐµÐœÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+
+#***********************
+#
+#****** ExplodeMetadataPrompt *******
+ExplodeMetadataPrompt.Explode:Ð Ð°ÑÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ
+ExplodeMetadataPrompt.Explode_Tooltip:Ð Ð°ÑÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ ÑÐ°Ð¹Ð» ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+
+ExplodeMetadataPrompt.Instructions:Ð Ð°ÑÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÐµ ÑÐ°Ð¹Ð»Ð° Ñ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÐŒÐž ÑÐŸÐ·ÐŽÐ°ÑÑ ÐŸÑÐŽÐµÐ»ÑÐœÑÐµ Ð·Ð°Ð¿ÐžÑÐž Ñ ÑÐµÐŽÐ°ÐºÑÐžÑÑÐµÐŒÑÐŒÐž ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÐŒÐž. Ð­ÑÐŸ ÐœÐµÐŸÐ±ÑÐ°ÑÐžÐŒÑÐ¹ Ð¿ÑÐŸÑÐµÑÑ Ðž ÐžÑÑ
+ÐŸÐŽÐœÑÐ¹ ÑÐ°Ð¹Ð» Ñ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÐŒÐž Ð±ÑÐŽÐµÑ ÑÐŽÐ°Ð»ÐµÐœ ÐžÐ· ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+ExplodeMetadataPrompt.Failed_Title:Ð Ð°ÑÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ ÐœÐµ ÑÐŽÐ°Ð»ÐŸÑÑ.
+ExplodeMetadataPrompt.Failed_Explode:ÐÐ°Ð·Ð° ÐŽÐ°ÐœÐœÑÑ
+ ÐœÐµ ÑÐŒÐŸÐ³Ð»Ð° Ð±ÑÑÑ ÑÐ°ÑÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐ°.
+ExplodeMetadataPrompt.NotExplodable:Ð€Ð°Ð¹Ð» ÐœÐµÐ»ÑÐ·Ñ ÑÐ°ÑÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ.
+ExplodeMetadataPrompt.Successful_Explode:ÐÐ°Ð·Ð° ÐŽÐ°ÐœÐœÑÑ
+ {0} Ð±ÑÐ»Ð° ÑÐŽÐ°ÑÐœÐŸ ÑÐ°ÑÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐ°.
+ExplodeMetadataPrompt.Successful_Title:Ð Ð°ÑÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÐµ Ð·Ð°Ð²ÐµÑÑÐµÐœÐŸ.
+ExplodeMetadataPrompt.Title:Ð Ð°ÑÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ Ð±Ð°Ð·Ñ ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+
+ExplodeMetadataPrompt.Plugin:ÐÐ»Ð°Ð³ÐžÐœ ÐŽÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ Ð¿ÑÐž ÑÐ°Ð·Ð²ÐµÑÑÑÐ²Ð°ÐœÐžÐž  
+#***********************
+#
+#****** ReplaceSrcWithHTMLPrompt *******
+ReplaceSrcWithHTMLPrompt.ReplaceSrc:ÐÐ°ÐŒÐµÐœÐžÑÑ HTML Ð²ÐµÑÑÐžÐµÐ¹  
+ReplaceSrcWithHTMLPrompt.ReplaceSrc_Tooltip:ÐÐ°ÐŒÐµÐœÐžÑÑ ÐŽÐŸÐºÑÐŒÐµÐœÑ ÑÐ³ÐµÐœÐµÑÐžÑÐŸÐ²Ð°ÐœÐœÐŸÐ¹ ÐÑÐžÐœÑÑÐŸÑÐœ HTML Ð²ÐµÑÑÐžÐµÐ¹  
+ReplaceSrcWithHTMLPrompt.Instructions:ÐÐ°ÐŒÐµÐœÐ° ÐŽÐŸÐºÑÐŒÐµÐœÑÐ° ÐœÐ° ÑÐ³ÐµÐœÐµÑÐžÑÐŸÐ²Ð°ÐœÐœÑÑ HTML Ð²ÐµÑÑÐžÑ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÐžÑ ÐÐ°ÐŒ ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ HTML ÑÐ°Ð¹Ð» Ðž Ð¿ÐµÑÐµÑÑÑÐŸÐžÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð² Ð±ÑÐŽÑÑÐµÐŒ. Ð­ÑÐŸ ÐœÐµ ÐŸÑÐŒÐµÐœÑÐµÐŒÑÐ¹ Ð¿ÑÐŸÑÐµÑÑ Ðž ÐŸÑÐžÐ³ÐžÐœÐ°Ð»ÑÐœÑÐ¹ Ð·Ð°ÐŒÐµÐœÐµÐœÑÐ¹ ÐŽÐŸÐºÑÐŒÐµÐœÑ Ð±ÑÐŽÐµÑ ÐžÑÐºÐ»ÑÑÐµÐœ ÐžÐ· ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.  
+ReplaceSrcWithHTMLPrompt.Failed_Title:ÐÐ°ÐŒÐµÐœÑÐ° ÐœÐ° HTML ÑÐŸÑÐ²Ð°Ð»Ð°ÑÑ.  
+ReplaceSrcWithHTMLPrompt.Failed_ReplaceSrc:ÐÐŸÐºÑÐŒÐµÐœÑ(Ñ) {0} ÐœÐµ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ Ð·Ð°ÐŒÐµÐœÐµÐœÑ HTML Ð²ÐµÑÑÐžÐµÐ¹.  
+ReplaceSrcWithHTMLPrompt.NotSrcReplaceable:ÐÐ°ÐœÐœÑÐ¹ ÑÐžÐ¿ ÑÐ°Ð¹Ð»Ð° ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ Ð·Ð°ÐŒÐµÐœÐµÐœ ÐœÐ° HTML Ð²ÐµÑÑÐžÑ.  
+ReplaceSrcWithHTMLPrompt.Successful_ReplaceSrc:ÐÑÐµ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ Ð±ÑÐ»Ðž ÑÑÐ¿ÐµÑÐœÐŸ Ð·Ð°ÐŒÐµÐœÐµÐœÑ HTML Ð²ÐµÑÑÐžÑÐŒÐž  
+ReplaceSrcWithHTMLPrompt.Successful_Title:ÐÐ°ÐŒÐµÐœÑ  ÑÐ³ÐµÐœÐµÑÐžÑÐŸÐ²Ð°ÐœÐœÑÐŒÐž HTML Ð²ÐµÑÑÐžÑÐŒÐž Ð·Ð°Ð²ÐµÑÑÐµÐœÑ.  
+ReplaceSrcWithHTMLPrompt.Title:ÐÐ°ÐŒÐµÐœÐžÑÑ ÐžÑÑ
+ÐŸÐŽÐœÑÐ¹ ÐŽÐŸÐºÑÐŒÐµÐœÑ HTML ÑÐ°Ð¹Ð»ÐŸÐŒ  
+ReplaceSrcWithHTMLPrompt.Plugin:ÐÐ»Ð°Ð³ÐžÐœ ÐŽÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ  
+#***********************
+#
+#****** WriteCDImagePrompt *******
+WriteCDImagePrompt.CD_Name:ÐÐŒÑ CD-ROM
+WriteCDImagePrompt.Export:Ð­ÐºÑÐ¿ÐŸÑÑ
+WriteCDImagePrompt.Export_Tooltip:Ð­ÐºÑÐ¿ÐŸÑÑÐžÑÑÐ¹ÑÐµ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð² ÐŸÐ±ÑÐ°Ð· ÐŽÐžÑÐºÐ° CD/DVD ÐŽÐ»Ñ Windows  
+WriteCDImagePrompt.Failed_Export:ÐÐŸÐ»Ð»ÐµÐºÑÐžÐž ({0}) ÐœÐµ ÐŒÐŸÐ³ÑÑ ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑÑÑ Ð² CD-ROM.  
+WriteCDImagePrompt.Failed_Title:Ð­ÐºÑÐ¿ÐŸÑÑ ÐœÐµÑÐŽÐ°ÑÐµÐœ
+WriteCDImagePrompt.Install:CD/DVD ÑÑÑÐ°ÐœÐŸÐ²ÐžÑ ÐœÐµÐºÐŸÑÐŸÑÑÐµ ÑÐ°Ð¹Ð»Ñ Ð¿ÑÐž ÑÑÐºÐŸÑÐµÐœÐœÐŸÐŒ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÐž  
+WriteCDImagePrompt.Install_Tooltip:Ð¡ÐŸÐ·ÐŽÐ°ÐµÑ ÑÐ°ÐŒÐŸÑÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÑÑÐžÐ¹ÑÑ CD-ROM, ÐºÐŸÑÐŸÑÑÐ¹ Ð¿ÐŸÑÑÐ°Ð²ÐžÑ ÑÐµÑÐ²ÐµÑ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž (Ðž, ÐŸÐ¿ÑÐžÐŸÐœÐ°Ð»ÑÐœÐŸ, ÑÐ°Ð¹Ð»Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹) ÐœÐ° Ñ
+ÐŸÑÑ-ÐŒÐ°ÑÐžÐœÑ.  
+WriteCDImagePrompt.NoInstall:CD/DVD ÐœÐµ Ð±ÑÐŽÐµÑ ÑÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÑÑ ÐœÐžÐºÐ°ÐºÐžÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ²  
+WriteCDImagePrompt.NoInstall_Tooltip:Ð¡ÐŸÐ·ÐŽÐ°ÐµÑ CD-ROM, ÐºÐŸÑÐŸÑÑÐ¹ Ð·Ð°Ð¿ÑÑÐºÐ°ÐµÑ ÑÐµÑÐ²ÐµÑ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž Ñ ÐºÐŸÐŒÐ¿Ð°ÐºÑ-ÐŽÐžÑÐºÐ° Ð±ÐµÐ· ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž ÑÐµÐ³ÐŸ-Ð»ÐžÐ±ÐŸ ÐœÐ° Ñ
+ÐŸÑÑ-ÐŒÐ°ÑÐžÐœÑ.  
+WriteCDImagePrompt.Instructions:Ð­ÐºÑÐ¿ÐŸÑÑÐžÑÑÐ¹ÑÐµ ÐŸÐŽÐœÑ ÐžÐ»Ðž Ð±ÐŸÐ»ÐµÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ Ð² ÑÐ°ÐŒÐŸÐžÐœÑÑÐ°Ð»Ð»ÐžÑÑÐµÐŒÑÐ¹ Windows CD/DVD-ROM (Ñ
+ÐŸÑÑ ÑÑÐŸ ÑÐ°Ð±ÐŸÑÐ°ÐµÑ ÐœÐ° Ð»ÑÐ±ÐŸÐ¹ Ð¿Ð»Ð°ÑÑÐŸÑÐŒÐµ, ÑÐŸÐ·ÐŽÐ°ÐœÐœÑÐ¹ CD/DVD-ROM Ð·Ð°Ð¿ÑÑÐºÐ°ÐµÑÑÑ ÑÐŸÐ»ÑÐºÐŸ Ð¿ÐŸÐŽ Windows).  
+WriteCDImagePrompt.Progress_Label:ÐÐŸÐ¿ÐžÑÐŸÐ²Ð°ÐœÐžÐµ ÑÐ°Ð¹Ð»ÐŸÐ². Ð­ÑÐŸ ÐŒÐŸÐ¶ÐµÑ Ð·Ð°ÐœÑÑÑ ÐœÐµÐºÐŸÑÐŸÑÐŸÐµ Ð²ÑÐµÐŒÑ...
+WriteCDImagePrompt.Size_Label:ÐÑÐžÐ±Ð»ÐžÐ·ÐžÑÐµÐ»ÑÐœÑÐ¹ ÑÐ°Ð·ÐŒÐµÑ:  
+WriteCDImagePrompt.Successful_Export:ÐÐŸÐ»Ð»ÐµÐºÑÐžÐž ({0}) ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÑ
+WriteCDImagePrompt.Successful_Title:Ð­ÐºÑÐ¿ÐŸÑÑ Ð·Ð°Ð²ÐµÑÑÐµÐœ
+WriteCDImagePrompt.Title:Ð­ÐºÑÐ¿ÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð² CD/DVD  
+#************************
+#
+#****** ExportAsPrompt *******
+ExportAsPrompt.Export_Name:Ð­ÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµ ÐŽÐžÑÐµÐºÑÐŸÑÐžÐž
+ExportAsPrompt.Export_Name_Tooltip:ÐÐŒÑ Ð¿Ð°Ð¿ÐºÐž, ÐœÐ°Ñ
+ÐŸÐŽÑÑÐµÐ¹ÑÑ Ð²ÐŸ Ð²ÑÐµÐŒÐµÐœÐœÐŸÐŒ (tmp) ÐºÐ°ÑÐ°Ð»ÐŸÐ³Ðµ, ÐºÑÐŽÐ° Ð±ÑÐŽÑÑ ÑÐŸÑ
+ÑÐ°ÐœÐµÐœÑ ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÐœÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+ExportAsPrompt.Export:Ð­ÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ(ÐžÐž)
+ExportAsPrompt.Export_Tooltip:Ð­ÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð² Ð²ÑÐ±ÑÐ°ÐœÐŸÐŒ ÑÐŸÑÐŒÐ°ÑÐµ ÑÐ°Ð¹Ð»Ð° Ð² ÑÐºÐ°Ð·Ð°ÐœÐœÑÑ ÐŽÐžÑÐµÐºÑÐŸÑÐžÑ.
+ExportAsPrompt.Failed_ExportOne:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑ, {0}, ÐœÐµ ÑÐŽÐ°Ð»ÐŸÑÑ ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ.
+ExportAsPrompt.Failed_Details:Ð¡ÐŒÐŸÑÑÐž {1} ÐŽÐ»Ñ Ð¿ÐŸÐŽÑÐŸÐ±ÐœÐŸÑÑÐµÐ¹
+ExportAsPrompt.Failed_Title:Ð­ÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÐœÐµ ÑÐŽÐ°Ð»ÐŸÑÑ
+ExportAsPrompt.Instructions:Ð­ÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÐŸÐŽÐœÑ ÐžÐ»Ðž Ð±ÐŸÐ»ÑÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ Ð² Ð²ÑÐ±ÑÐ°ÐœÐœÐŸÐŒ ÑÐŸÑÐŒÐ°ÑÐµ ÑÐ°Ð¹Ð»Ð° Ð² Ð¿ÑÐµÐŽÑÑÐ»ÐŸÐ²Ð»ÐµÐœÐœÑÑ ÐŽÐžÑÐµÐºÑÐŸÑÐžÑ
+ExportAsPrompt.Progress_Label:Ð­ÐºÑÐ¿ÐŸÑÑ ÑÐ°Ð¹Ð»ÐŸÐ² Ð² ÑÐ°Ð±ÐŸÑÐµ. Ð­ÑÐŸ Ð·Ð°Ð¹ÐŒÐµÑ ÐœÐµÐºÐŸÑÐŸÑÐŸÐµ Ð²ÑÐµÐŒÑ...
+ExportAsPrompt.Successful_ExportOne:ÐÐŸÐ»Ð»ÐµÐºÑÐžÑ, {0}, ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÑ.
+ExportAsPrompt.Successful_Details:Ð€Ð°Ð¹Ð»Ñ ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÑ Ð²: {1}
+ExportAsPrompt.Successful_Title:Ð­ÐºÑÐ¿ÐŸÑÑ Ð·Ð°Ð²ÐµÑÑÐµÐœ
+ExportAsPrompt.Title:Ð­ÐºÑÐ¿ÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹
+ExportAsPrompt.SaveAs:Ð­ÐºÑÐ¿ÐŸÑÑ Ð²
+ExportAsPrompt.SaveAs_Tooltip:ÐÑÐ±ÐµÑÐžÑÐµ ÑÐŸÑÐŒÐ°Ñ, Ð² ÐºÐŸÑÐŸÑÐŸÐŒ ÐÑ Ñ
+ÐŸÑÐžÑÐµ ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ
+ExportAsPrompt.Cancel:ÐÑÐŒÐµÐœÐ°  
+ExportAsPrompt.Cancel_Tooltip:ÐÑÐŒÐµÐœÐžÑÑ Ð¿ÑÐŸÑÐµÑÑ ÑÐºÑÐ¿ÐŸÑÑÐ°  
+ExportAsPrompt.Browse:ÐÑÐŸÑÐŒÐŸÑÑ  
+ExportAsPrompt.Browse_Tooltip:ÐÑÐ±ÑÐ°ÑÑ xsl-ÑÐ°Ð¹Ð»  
+ExportAsPrompt.ApplyXSL:ÐÑÐžÐŒÐµÐœÐžÑÑ XSL Ðº ÑÐ°Ð¹Ð»Ñ {0}  
+ExportAsPrompt.ApplyXSL_Tooltip:ÐÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ xsl-ÑÐ°Ð¹Ð» ÐŽÐ»Ñ ÐºÐŸÐœÐ²ÐµÑÑÐ°ÑÐžÐž ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÐœÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ².  
+ExportAsPrompt.MARCXMLGroup:ÐÑÑÐ¿Ð¿ÐžÑÐŸÐ²Ð°ÑÑ marc-Ð·Ð°Ð¿ÐžÑÐž  
+ExportAsPrompt.MARCXMLGroup_Tooltip:Ð­ÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ Ð²ÑÐµ marc-Ð·Ð°Ð¿ÐžÑÐž Ð² ÐŸÐŽÐžÐœ ÑÐ°Ð¹Ð».  
+ExportAsPrompt.MappingXML:ÐÑÐžÐŒÐµÐœÐžÑÑ Ðº ÑÐ°Ð¹Ð»Ñ ÐŸÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÑ  
+ExportAsPrompt.MappingXML_Tooltip:ÐÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÑÐ°Ð¹Ð» ÐŸÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÑ ÐŽÐ»Ñ ÐºÐŸÐœÐ²ÐµÑÑÐ°ÑÐžÐž ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÐœÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ².  
+#
+#***** Inherited Metadata *****
+ExtractedMetadata.Message:ÐÑÐŸÐ±ÑÐ°ÐœÐœÑÐ¹ ÑÐ°Ð¹Ð» ÐžÐ»Ðž Ð¿Ð°Ð¿ÐºÐ° ÑÐŸÐŽÐµÑÐ¶Ð°Ñ ÐžÐ·Ð²Ð»ÐµÑÐµÐœÐœÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ, ÐœÐŸ Ð² ÐœÐ°ÑÑÐŸÑÑÐµÐµ Ð²ÑÐµÐŒÑ ÐŸÐœÐž ÑÐºÑÑÑÑ. Ð§ÑÐŸÐ±Ñ ÑÐ²ÐžÐŽÐµÑÑ ÐžÐ·Ð²Ð»ÐµÑÐµÐœÐœÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ, ÐœÐ°ÐŽÐŸ Ð²ÐŸÐ¹ÑÐž Ð² ÐŒÐµÐœÑ "Ð€Ð°Ð¹Ð»" Ðž Ð²ÑÐ±ÑÐ°ÑÑ "ÐÐ¿ÑÐžÐž". ÐÐŸ Ð²ÐºÐ»Ð°ÐŽÐºÐµ "ÐÐ±ÑÐžÐµ" ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐ".  
+ExtractedMetadata.Title:Ð­ÑÐŸÑ Ð€Ð°Ð¹Ð»/ÐÐ°Ð¿ÐºÐ° ÐžÐŒÐµÐµÑ ÑÐºÑÑÑÑÐµ ÐžÐ·Ð²Ð»ÐµÑÐµÐœÐœÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ.
+#
+#***** FileActions *****
+FileActions.Calculating_Size:ÐÑÑÐžÑÐ»ÐµÐœÐžÐµ Ð¿ÐŸÐ»ÐœÐŸÐ³ÐŸ ÑÐ°Ð·ÐŒÐµÑÐ° ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ²
+FileActions.Copying:ÐÐŸÐ¿ÐžÑÐŸÐ²Ð°ÐœÐžÐµ {0}
+FileActions.Could_Not_Delete:ÐÐµ ÑÐŽÐ°Ð»ÐŸÑÑ ÑÐŽÐ°Ð»ÐžÑÑ {0}  
+FileActions.Cyclic_Path:ÐÐµ ÑÐŽÐ°Ð»ÐŸÑÑ ÑÐŸÐ·ÐŽÐ°ÑÑ ÐºÐŸÐ¿ÐžÑ {0}: Ð¿Ð°Ð¿ÐºÐ° ÐœÐ°Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐœÐ°Ñ
+ÐŸÐŽÐžÑÑÑ Ð² Ð¿Ð°Ð¿ÐºÐµ ÐžÑÑÐŸÑÐœÐžÐºÐ°.  
+FileActions.Deleting:Ð£ÐŽÐ°Ð»ÐµÐœÐžÐµ {0}
+FileActions.Directories_Selected:{0} ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐµ Ð¿Ð°Ð¿ÐºÐž
+FileActions.Directory_Selected:1 ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÐ°Ñ Ð¿Ð°Ð¿ÐºÐ°
+FileActions.File_Already_Exists_No_Create:Ð€Ð°Ð¹Ð» '{0}' ÑÐ¶Ðµ ÑÑÑÐµÑÑÐ²ÑÐµÑ.
+FileActions.File_And_Directories_Selected:1 ÑÐ°Ð¹Ð» Ðž {0}Ð¿Ð°Ð¿ÐŸÐº ÐŸÑÐŸÐ±ÑÐ°ÐœÑ
+FileActions.File_And_Directory_Selected:1 ÑÐ°Ð¹Ð» Ðž 1 Ð¿Ð°Ð¿ÐºÐ° ÐŸÑÐŸÐ±ÑÐ°ÐœÑ
+FileActions.File_Create_Error:ÐÐµ ÑÐŽÐ°Ð»ÐŸÑÑ ÑÐŸÐ·ÐŽÐ°ÑÑ ÑÐ°Ð¹Ð» {0}.
+FileActions.Folder_Create_Error:ÐÐµ ÑÐŽÐ°Ð»ÐŸÑÑ ÑÐŸÐ·ÐŽÐ°ÑÑ Ð¿Ð°Ð¿ÐºÑ {0}.
+FileActions.File_Exists:{0} ÑÐ¶Ðµ ÑÑÑÐµÑÑÐ²ÑÐµÑ Ð² Ð¿Ð°Ð¿ÐºÐµ ÐœÐ°Ð·ÐœÐ°ÑÐµÐœÐžÐ¹. ÐÐµÑÐµÐ¿ÐžÑÐ°ÑÑ ÐµÐ³ÐŸ?
+FileActions.File_Move_Error_Message:ÐÐµ ÑÐŽÐ°Ð»ÐŸÑÑ Ð¿ÐµÑÐµÐŒÐµÑÑÐžÑÑ {0} Ð² \n{1}.  
+FileActions.File_Not_Deleted_Message:{0}\nÐ­ÑÐŸÑ ÑÐ°Ð¹Ð» ÐœÐµ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ ÑÐŽÐ°Ð»ÐžÑÑ. \nÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, Ð¿ÑÐŸÐ²ÐµÑÑÑÐµ, ÐœÐµ ÐŸÑÐºÑÑÑ Ð»Ðž ÐŸÐœ Ð² ÑÐºÑÑÐµÑÐœÐŸÐ¹ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐµ, Ðž Ð¿ÐŸÐ¿ÑÑÐ°Ð¹ÑÐµÑÑ ÐµÑÐµ ÑÐ°Ð·.  
+FileActions.File_Not_Found_Message:{0}\nÐ€Ð°Ð¹Ð», ÐœÐ°Ð·Ð²Ð°ÐœÐœÑÐ¹ Ð²ÑÑÐµ, ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐœÐ°Ð¹ÐŽÐµÐœ. ÐÐŽÐœÐ°Ð¶ÐŽÑ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐœÑÐ¹ ÑÐ°Ð¹Ð»\n Ð±ÑÐ» ÐŸÐ±ÐœÐŸÐ²Ð»ÐµÐœ; Ð¿ÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, Ð¿ÑÐŸÐ²ÐµÑÑÑÐµ, ÑÑÐŸ ÑÑÐŸÑ ÑÐ°Ð¹Ð» Ð²ÑÐµ ÐµÑÐµ ÑÑÑÐµÑÑÐ²ÑÐµÑ.
+FileActions.File_Selected:1 ÑÐ°Ð¹Ð» ÐŸÑÐŸÐ±ÑÐ°Ðœ
+FileActions.Files_And_Directory_Selected:{0} ÑÐ°Ð¹Ð»Ð°(ÐŸÐ²) Ðž 1 Ð¿Ð°Ð¿ÐºÐ° ÐŸÑÐŸÐ±ÑÐ°ÐœÑ  
+FileActions.Files_Selected:{0} ÑÐ°Ð¹Ð»Ð°(ÐŸÐ²) ÐŸÑÐŸÐ±ÑÐ°ÐœÐŸ  
+FileActions.Folder_Already_Exists:ÐÐ°Ð¿ÐºÐ° Ñ ÐžÐŒÐµÐœÐµÐŒ '{0}' ÑÐ¶Ðµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ. ÐÐµÐ²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ ÑÐŸÐ·ÐŽÐ°ÑÑ Ð¿Ð°Ð¿ÐºÑ.
+FileActions.Insufficient_Space_Message:ÐÐµÐ¹ÑÑÐ²ÐžÐµ ÑÐ°Ð¹Ð»Ð° Ð±ÑÐ»ÐŸ ÐœÐµÑÐŽÐ°ÑÐœÐŸ ÐžÐ·-Ð·Ð° ÐœÐµÐŽÐŸÑÑÐ°ÑÐŸÑÐœÐŸÐ³ÐŸ ÐŽÐžÑÐºÐŸÐ²ÐŸÐ³ÐŸ\nÐ¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²Ð°. ÐÐ»Ñ ÑÑÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð°, ÑÑÐŸÐ±Ñ ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð±ÑÐ»ÐŸ ÑÑÐ¿ÐµÑÐœÑÐŒ, ÑÑÐµÐ±ÑÐµÑÑÑ a\nÐ¿ÑÐŸÐŽÐŸÐ»Ð¶ÐµÐœÐžÐµ: {0}
+FileActions.Moving:ÐÐµÑÐµÐŒÐµÑÐµÐœÐžÐµ {0}
+FileActions.No_Activity:ÐÐžÐºÐ°ÐºÐŸÐ³ÐŸ ÑÑÐµÐ±ÑÐµÐŒÐŸÐ³ÐŸ ÐŽÐµÐ¹ÑÑÐ²ÐžÑ
+FileActions.Read_Not_Permitted_Message:ÐÑ ÑÐŽÐ°Ð»ÐŸÑÑ Ð¿ÑÐŸÑÑÐž {0}.  
+FileActions.Read_Only:Ð€Ð°Ð¹Ð»Ñ ÐžÐ· ÑÐ°Ð±ÐŸÑÐµÐ³ÐŸ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²Ð° ÑÐŸÐ»ÑÐºÐŸ ÑÐžÑÐ°ÑÑÑÑ Ðž ÐœÐµ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐŽÐ°Ð»ÐµÐœÑ.
+FileActions.Replacing:ÐÐ°ÐŒÐµÐœÑÐµÑÑÑ {0}  
+FileActions.Selected:{0} ÑÐ°Ð¹Ð»ÐŸÐ² Ðž {1} Ð¿Ð°Ð¿ÐºÐ° ÐŸÑÐŸÐ±ÑÐ°ÐœÑ
+FileActions.Unknown_File_Error_Message:Ð¥ÐŸÑÑ ÐÐµ Ð±ÑÐ»ÐŸ ÐœÐžÐºÐ°ÐºÐžÑ
+ ÑÐŸÐŸÐ±ÑÐµÐœÐžÐ¹ ÐŸÐ± ÐŸÑÐžÐ±ÐºÐµ Ð² ÑÐµÑÐµÐœÐžÐµ ÐŽÐµÐ¹ÑÑÐ²ÐžÑ ÑÐ°Ð¹Ð»Ð°\n, Ð·Ð°ÐºÐ»ÑÑÐžÑÐµÐ»ÑÐœÐ°Ñ Ð¿ÑÐŸÐ²ÐµÑÐºÐ° Ð¿ÐŸÐºÐ°Ð·Ð°Ð»Ð°, ÑÑÐŸ Ð°ÐŽÑÐµÑ\n ÐºÐŸÐ¿ÐžÐž ÐœÐµ ÑÐŸÐ²Ð¿Ð°ÐŽÐ°ÐµÑ Ñ ÐžÑÑ
+ÐŸÐŽÐœÑÐŒ ÑÐ°Ð¹Ð»ÐŸÐŒ. ÐÑÐžÑÐžÐœÐ°\nÑÑÐŸÐ³ÐŸ ÐœÐµÐžÐ·Ð²ÐµÑÑÐœÐ°. ÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, Ð¿ÑÐŸÐ²ÐµÑÑÑÐµ Ð²Ð°ÑÐž ÐœÐŸÑÐžÑÐµÐ»Ðž ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž Ðž ÐŸÐ±ÐœÐŸÐ²ÐžÑÐµ\nÐÐ°Ñy ÐžÐœÑÑÐ°Ð»Ð»ÐžÑÐŸÐ²Ð°ÐœÐœÑÑ JVM.
+FileActions.Write_Not_Permitted_Message:ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ ÐœÐµ ÐžÐŒÐµÐµÑ ÑÐ°Ð·ÑÐµÑÐµÐœÐžÑ Ð¿ÐžÑÐ°ÑÑ Ð²\n{0}\n ÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, Ð¿ÑÐŸÐ²ÐµÑÑÑÐµ ÑÐ°Ð·ÑÐµÑÐµÐœÐžÑ ÑÐ°Ð¹Ð»Ð°.
+FileActions.Write_Not_Permitted_Title:ÐÑÐžÐ±ÐºÐ° - ÐÐµÐºÐŸÑÑÐµÐºÑÐœÑÐµ ÑÐ°Ð·ÑÐµÑÐµÐœÐžÑ ÑÐ°Ð¹Ð»Ð°.
+FileActions.Yes_To_All:ÐÐ° - Ð²ÑÐµÐŒ
+FileActions.File_Permission_Detail:\n\nÐÑÐžÐŒÐµÑÐ°ÐœÐžÐµ: Ð ÑÐµÐ»ÐŸÐŒ, ÐÐœÑÐµÑÑÐµÐ¹ÑÑ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž ÐÑÐžÐœÑÑÐŸÑÐœ ÑÑÐµÐ±ÑÑÑÑÑ Ð¿ÑÐ°Ð²Ð° ÐœÐ° Ð·Ð°Ð¿ÐžÑÑ Ð² ÐŽÐŸÐŒÐ°ÑÐœÐµÐ¹ Ð¿Ð°Ð¿ÐºÐµ ÐÑÐžÐœÑÑÐŸÑÐœ, \nÐºÐŸÑÐŸÑÐ°Ñ {0}.\nÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ° ÑÑÑÐ°ÐœÐŸÐ²ÐžÑÐµ ÐÐŸÐ»ÐœÑÐ¹ ÐŽÐŸÑÑÑÐ¿ ÐŽÐ»Ñ Ð¿Ð°Ð¿ÐºÐž (Ðž Ð²ÑÐµÑ
+ Ð²Ð»ÐŸÐ¶ÐµÐœÐœÑÑ
+ Ð¿Ð°Ð¿ÐŸÐº) ÐŽÐ»Ñ ÑÐµÐºÑÑÐµÐ³ÐŸ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ ({1}) Ðž Ð¿ÐŸÐ¿ÑÐŸÐ±ÑÐ¹ÑÐµ Ð·Ð°ÐœÐŸÐ²ÐŸ.\n\n(ÐÐžÐ±ÐŸ Ð¿ÐµÑÐµÑÑÑÐ°ÐœÐŸÐ²ÐžÑÐµ ÐÑÐžÐœÑÑÐŸÑÐœ Ð² ÑÑ Ð¿Ð°Ð¿ÐºÑ, Ðº ÐºÐŸÑÐŸÑÐŸÐ¹ ÐÑ ÑÐ¶Ðµ ÐžÐŒÐµÐµÑÐµ ÐÐŸÐ»ÐœÑÐ¹ ÐŽÐŸÑÑÑÐ¿,\n ÐœÐ°Ð¿ÑÐžÐŒÐµÑ Ð² Ð²Ð°ÑÑ ÐŽÐŸÐŒÐ°ÑÐœÑÑ Ð¿Ð°Ð¿ÐºÑ ÐžÐ»Ðž Ð² Ð¿Ð°Ð¿ÐºÑ "ÐÐŸÐž ÐÐŸÐºÑÐŒÐµÐœÑÑ".)  
+
+#************************
+#
+#******* File Associations dialog **********
+FileAssociationDialog.Add:ÐÐŸÐ±Ð°Ð²ÐžÑÑ
+FileAssociationDialog.Add_Tooltip:ÐÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÑÑÐŸ Ð¿ÑÐžÐ»ÐŸÐ¶ÐµÐœÐžÐµ ÐŽÐ»Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ° ÑÐ°Ð¹Ð»ÐŸÐ² ÑÑÐŸÐ³ÐŸ Ð²ÐžÐŽÐ°.
+FileAssociationDialog.Batch_File:ÐÑÑÐ¿Ð¿ÐŸÐ²ÑÐµ ÑÐ°Ð¹Ð»Ñ.
+FileAssociationDialog.Browse:ÐÑÐŸÑÐŒÐ°ÑÑÐžÐ²Ð°ÑÑ
+FileAssociationDialog.Browse_Tooltip:ÐÑÐ±ÑÐ°ÑÑ Ð¿ÑÐžÐ»ÐŸÐ¶ÐµÐœÐžÐµ ÐŽÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÐžÐ· ÐÐ°ÑÐµÐ³ÐŸ ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐ³ÐŸ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²Ð°  
+FileAssociationDialog.Browse_Tooltip_Mac:ÐÑÐŸÑÐŒÐŸÑÑ ÐŽÐ»Ñ ÐÐ°ÑÐµÐ³ÐŸ Ð¿ÑÐžÐ»ÐŸÐ¶ÐµÐœÐžÑ Ð² ÐœÐ°ÑÑÐŸÑÑÐµÐµ Ð²ÑÐµÐŒÑ Ð±Ð»ÐŸÐºÐžÑÐŸÐ²Ð°Ðœ ÐŽÐ»Ñ MacOS
+FileAssociationDialog.Browse_Title:ÐÑÐ±ÑÐ°ÑÑ Ð¿ÑÐžÐ»ÐŸÐ¶ÐµÐœÐžÐµ
+FileAssociationDialog.Close:ÐÐ°ÐºÑÑÑÑ
+FileAssociationDialog.Close_Tooltip:ÐÐ°ÐºÑÑÑÑ ÑÑÐŸÑ ÐŽÐžÐ°Ð»ÐŸÐ³ Ðž Ð²ÐµÑÐœÑÑÑÑÑ Ð² Ð³Ð»Ð°Ð²ÐœÐŸÐµ ÐŸÐºÐœÐŸ
+FileAssociationDialog.Command:ÐÐŸÐŒÐ°ÐœÐŽÐ° Ð·Ð°Ð¿ÑÑÐºÐ°:
+FileAssociationDialog.Command_File:ÐÐŸÐŒÐ°ÐœÐŽÐœÑÐµ ÑÐ°Ð¹Ð»Ñ.
+FileAssociationDialog.Command_Tooltip:ÐÐ²ÐµÑÑÐž ÐºÐŸÐŒÐ°ÐœÐŽÑ ÐŽÐ»Ñ Ð·Ð°Ð¿ÑÑÐºÐ° ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÐŸÐ³ÐŸ Ð¿ÑÐžÐ»ÐŸÐ¶ÐµÐœÐžÑ.
+FileAssociationDialog.Details:ÐÐµÑÐ°Ð»Ðž ÐœÐŸÐ²ÐŸÐ¹ Ð°ÑÑÐŸÑÐžÐ°ÑÐžÐž ÑÐ°Ð¹Ð»Ð°
+FileAssociationDialog.Executable_File:ÐÑÐ¿ÐŸÐ»ÐœÐžÐŒÑÐµ ÑÐ°Ð¹Ð»Ñ
+FileAssociationDialog.Extension:ÐÐ»Ñ ÐŸÐºÐŸÐœÑÐ°ÐœÐžÑ ÑÐ°Ð¹Ð»ÐŸÐ²:
+FileAssociationDialog.Extension_Tooltip:Ð€Ð°Ð¹Ð»ÐŸÐ²ÐŸÐµ ÑÐ°ÑÑÐžÑÐµÐœÐžÐµ ÐŽÐ»Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ° ÑÐ°Ð¹Ð»ÐŸÐ²
+FileAssociationDialog.Instructions:ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÑÑÐŸÑ ÐŽÐžÐ°Ð»ÐŸÐ³ ÐŽÐ»Ñ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž Ð²ÐœÐµÑÐœÐžÑ
+ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒ, ÐºÐŸÑÐŸÑÑÐµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑÑÑ ÐŽÐ»Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ° ÐœÐµÐºÐŸÑÐŸÑÑÑ
+ ÑÐžÐ¿ÐŸÐ² ÑÐ°Ð¹Ð»ÐŸÐ², Ðž ÑÐµ ÐºÐŸÐŒÐ°ÐœÐŽÑ, ÐºÐŸÑÐŸÑÑÐµ Ð¿ÐŸÑÑÐ»Ð°ÑÑÑÑ, ÑÑÐŸÐ±Ñ Ð·Ð°Ð¿ÑÑÑÐžÑÑ ÑÑÑ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÑ \n ÐÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÑÐžÐ¿Ð° ÑÐ°Ð¹Ð»Ð°, ÐœÐ°Ð¿ÐžÑÐžÑÐµ ÐµÐ³ÐŸ ÑÐ°ÑÑÐžÑÐµÐœÐžÐµ Ð² 'ÐÐ»Ñ ÐŸÐºÐŸÐœÑÐ°ÐœÐžÑ ÑÐ°Ð¹Ð»ÐŸÐ²'. Ð§ÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐžÐ»Ðž ÐžÐ·ÐŒÐµÐœÐžÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ Ð·Ð°Ð¿ÑÑÐºÐ°, ÐœÐ°Ð¿ÐžÑÐžÑÐµ ÐœÐŸÐ²ÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ Ð² 'ÐÐŸÐŒÐ°ÐœÐŽÐµ Ð·Ð°Ð¿ÑÑÐºÐ°' ÐžÐ»Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ 'Ð Ð°ÑÑÐŒÐŸÑÑÐµÑÑ' ÐŽÐ»Ñ Ð¿ÐŸÐžÑÐºÐ° ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐ¹ ÑÐžÑÑÐµÐŒÑ, ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐµÐ¹ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐµ. ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÑÐ¿ÐµÑÐžÐ°Ð»ÑÐœÑÑ ÑÑÑÐŸÐºÑ '%1', ÑÑÐŸÐ±Ñ ÑÐºÐ°Ð·Ð°ÑÑ, Ð³ÐŽÐµ ÐžÐŒÑ ÐŸÑÐºÑÑÑÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð° ÐŽÐŸÐ»Ð¶ÐœÐŸ Ð±ÑÑÑ Ð²ÑÑÐ°Ð²Ð»ÐµÐœÐŸ, ÐœÐ°Ð¿ÑÐžÐŒÐµÑ "C:\\Windows\\System\\MSPaint.exe %1". '%1' Ð±ÑÐŽÐµÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœ Ð² ÐºÐŸÐœÐµÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ, ÐµÑÐ»Ðž ÐŽÑÑÐ³ÐŸÐµ ÐœÐµ ÑÐºÐ°Ð·Ð°ÐœÐŸ.\n ÐÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ðž MacOS  ÐŽÐŸÐ»Ð¶ÐœÑ Ð²ÑÐµÐ³ÐŽÐ° Ð²ÐœÐ°ÑÐ°Ð»Ðµ Ð¿ÐŸÐ¿ÑÐŸÐ±ÐŸÐ²Ð°ÑÑ ÑÐ¿ÐµÑÐžÑÐžÑÐµÑÐºÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ ÐÐ°ÐºÐžÐœÑÐŸÑÐ° "open [-a <application_name>] %1".
+FileAssociationDialog.Table.Command:ÐÐŸÐŒÐ°ÐœÐŽÐ°
+FileAssociationDialog.Table.Extension:Ð Ð°ÑÑÐžÑÐµÐœÐžÐµ
+FileAssociationDialog.Title:Ð ÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐ°Ð¹Ð»ÐŸÐ²ÑÑ Ð°ÑÑÐŸÑÐžÐ°ÑÐžÑ
+FileAssociationDialog.Remove:Ð£ÐŽÐ°Ð»ÐžÑÑ
+FileAssociationDialog.Remove_Tooltip:Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÐµÐºÑÑÑÑ Ð²ÑÐ±ÑÐ°ÐœÐœÑÑ Ð°ÑÑÐŸÑÐžÐ°ÑÐžÑ ÐžÐ· ÑÑÑÐµÑÑÐ²ÑÑÑÐžÑ
+ Ð°ÑÑÐŸÑÐžÐ°ÑÐžÐ¹
+FileAssociationDialog.Replace:ÐÐ°ÐŒÐµÐœÐžÑÑ
+FileAssociationDialog.Replace_Tooltip:ÐÐ°ÐŒÐµÐœÐžÑÑ ÑÐµÐºÑÑÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÑ Ð°ÑÑÐŸÑÐžÐ°ÑÐžÑ ÐœÐŸÐ²ÑÐŒÐž ÐŽÐµÑÐ°Ð»ÑÐŒÐž Ð°ÑÑÐŸÑÐžÐ°ÑÐžÐž
+#*******************
+#
+#******Filter***************
+Filter.0:HTM & HTML
+Filter.1:XML
+Filter.2:Ð¢ÐµÐºÑÑÐŸÐ²ÑÐµ ÑÐ°Ð¹Ð»Ñ
+Filter.3:ÐÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÑ
+Filter.4:PDF  
+Filter.5:ÐÐŸÐºÑÐŒÐµÐœÑ MS Office  
+Filter.All_Files:ÐÑÐµ ÑÐ°Ð¹Ð»Ñ
+Filter.Filter_Tree:ÐÐŸÐºÐ°Ð·Ð°ÑÑ ÑÐ°Ð¹Ð»Ñ
+Filter.Invalid_Pattern:<HTML><FONT FACE={FONT} COLOR=Black>Ð¡Ñ
+ÐµÐŒÐ°, ÐºÐŸÑÐŸÑÑÑ ÐÑ Ð²Ð²ÐµÐ»Ðž ÐŽÐ»Ñ ÑÐžÐ»ÑÑÑÐŸÐ²Ð°ÐœÐžÑ ÑÐ°Ð¹Ð»ÐŸÐ², ÐœÐµÐŽÐµÐ¹ÑÑÐ²ÐžÑÐµÐ»ÑÐœÐ°.<BR>ÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, Ð¿ÐŸÐ¿ÑÐŸÐ±ÑÐ¹ÑÐµ ÑÐœÐŸÐ²Ð°, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ Ð¿ÑÐ°Ð²ÐžÐ»ÑÐœÑÐ¹ ÑÐžÐœÑÐ°ÐºÑÐžÑ Ð²ÑÑÐ°Ð¶ÐµÐœÐžÑ Ðž <BR>* ÐŽÐ»Ñ Ñ
+Ð°ÑÐ°ÐºÑÐµÑÐœÑÑ
+ ÑÐžÐŒÐ²ÐŸÐ»ÐŸÐ²-ÑÐ°Ð±Ð»ÐŸÐœÐŸÐ².</FONT></HTML>
+#***********************
+#
+#***** GAuthenticator *****
+GAuthenticator.Password:ÐÐ°ÑÐŸÐ»Ñ:
+GAuthenticator.Password_Tooltip:ÐÐ²ÐµÑÑÐž ÐÐ°Ñ Ð¿Ð°ÑÐŸÐ»Ñ Ð·ÐŽÐµÑÑ
+GAuthenticator.Title:Ð¢ÑÐµÐ±ÑÐµÐŒÑÐ¹ Ð¿Ð°ÑÐŸÐ»Ñ.
+GAuthenticator.Username:ÐÐŒÑ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ:
+GAuthenticator.Username_Tooltip:ÐÐ²ÐµÑÑÐž ÐÐ°ÑÐµ ÐžÐŒÑ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ Ð·ÐŽÐµÑÑ
+#**************************
+#
+#***** General Messages *****
+# 0 - A String representing the name and method of the class in question.
+General.Apply:ÐÑÐžÐŒÐµÐœÐžÑÑ
+General.Apply_Tooltip:ÐÑÐžÐŒÐµÐœÐžÑÑ ÑÐµÐºÑÑÐžÐµ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž, ÐœÐŸ ÐœÐµ Ð²ÑÑ
+ÐŸÐŽÐžÑÑ ÐžÐ· ÑÑÐŸÐ³ÐŸ ÐŽÐžÐ°Ð»ÐŸÐ³Ð°.
+General.Browse:ÐÑÐŸÑÐŒÐŸÑÑÐµÑÑ
+General.Cancel:ÐÑÐŒÐµÐœÐžÑÑ
+General.Cancel_Tooltip:ÐÑÐŒÐµÐœÐžÑÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ (ÐœÐµ Ð±ÑÐŽÑÑ ÑÐœÐžÑÑÐŸÐ¶ÐµÐœÑ ÐœÐžÐºÐ°ÐºÐžÐµ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ, ÐºÐŸÑÐŸÑÑÐµ Ð±ÑÐ»Ðž ÑÐ¶Ðµ Ð¿ÑÐžÐŒÐµÐœÐµÐœÑ)
+General.Close:ÐÐ°ÐºÑÑÑÑ
+General.Close_Tooltip:ÐÐ°ÐºÑÑÑÑ ÑÑÐŸ  ÐŽÐžÐ°Ð»ÐŸÐ³ÐŸÐ²ÐŸÐµ Ð¿ÐŸÐ»Ðµ  
+General.Edit:Ð ÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ
+General.Error:ÐÑÐžÐ±ÐºÐ°
+General.LLS_Not_Started:ÐÑ Ð·Ð°Ð¿ÑÑÑÐžÐ»Ðž ÑÐµÑÐ²ÐµÑ ÐÑÐžÐœÑÑÐŸÑÐœ, ÐœÐŸ Ð¿ÐŸÐºÐ° ÐœÐµ ÐœÐ°Ð¶Ð°Ð»Ðž ÐºÐœÐŸÐ¿ÐºÑ - ÐÐŸÐ¹ÑÐž Ð² Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÑ. \n ÐÑÐ»Ðž Ð²Ñ ÑÐŽÐµÐ»Ð°Ð»Ðž ÑÑÐŸ, ÑÐŸ ÐœÐ°Ð¶ÐŒÐžÑÐµ ÐºÐœÐŸÐ¿ÐºÑ ÐÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÑÐ¹ Ð¿ÑÐŸÑÐŒÐŸÑÑ Ð² ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐŒ ÐÐœÑÐµÑÑÐµÐ¹ÑÐµ ÐÑÐžÐœÑÑÐŸÑÐœ, ÑÑÐŸÐ±Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ.
+  
+General.LLS_Not_Started_Title:ÐÐµÑÑÐœÑÐ¹ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÑÐµÑÐ²ÐµÑ Ð¿ÐŸÐºÐ° ÐœÐµ Ð·Ð°Ð¿ÑÑÐµÐœ.
+
+  
+General.No:ÐÐµÑ
+General.NotSunJava:Java ÐŽÐžÑÑÑÐžÐ±ÑÑÑÐŸÑ: {0}\nÐÐ±ÑÐ°ÑÐžÑÐµ Ð²ÐœÐžÐŒÐ°ÐœÐžÐµ, ÑÑÐŸ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐÐœÑÐµÑÑÐµÐ¹Ñ Ð±ÑÐ» ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÐ°Ðœ Ðž ÑÐµÑÑÐžÑÐŸÐ²Ð°Ðœ ÐœÐ° ÑÐ·ÑÐºÐµ Java ÑÐžÑÐŒÑ Sun Microsystems.
+General.OK:OK
+General.OK_Tooltip:ÐÑÐžÐœÑÑÑ ÑÐµÐºÑÑÐžÐµ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž Ðž Ð²ÑÐ¹ÑÐž ÐžÐ· ÐŽÐžÐ°Ð»ÐŸÐ³Ð°
+General.Outstanding_Processes:<html><ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð·Ð°ÐºÑÑÑÑ Ð¿ÐŸÐ»ÐœÐŸÑÑÑÑ Ð·Ð°ÐºÑÑÑ ÐŽÐŸ ÑÐµÑ
+ Ð¿ÐŸÑ, Ð¿ÐŸÐºÐ° Ð²ÑÐµ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÑ<br>, ÑÑÐ°ÑÑÐŸÐ²Ð°Ð²ÑÐžÐµ Ð²ÐŒÐµÑÑÐµ Ñ ÐœÐžÐŒ, ÑÐ°ÐºÐ¶Ðµ ÐœÐµ Ð±ÑÐŽÑÑ Ð·Ð°Ð²ÐµÑÑÐµÐœÑ.</html>
+General.Outstanding_Processes_Title:ÐÐ¶ÐžÐŽÐ°ÐœÐžÐµ Ð·Ð°Ð²ÐµÑÑÐµÐœÐžÑ
+General.Pure_Cancel_Tooltip:ÐÑÐµÑÐ²Ð°ÑÑ ÑÑÐŸ ÐŽÐµÐ¹ÑÑÐ²ÐžÐµ (ÐœÐžÐºÐ°ÐºÐžÑ
+ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÐ¹ ÐœÐµ Ð±ÑÐŽÐµÑ ÑÐŽÐµÐ»Ð°ÐœÐŸ)
+General.Review_Output:ÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, ÑÐ°ÑÑÐŒÐŸÑÑÐžÑÐµ Ð¿ÑÐŸÐŽÑÐºÑÐžÑ ÐœÐžÐ¶Ðµ:
+General.Redo:ÐÐµÑÐœÑÑÑ  
+General.Redo_Tooltip:ÐÐŸÑÑÑÐ°ÐœÐŸÐ²ÐžÑÑ Ð¿ÑÐµÐŽÑÐŽÑÑÐžÐ¹ ÐŸÑÐºÐ°Ñ  
+General.Undo:ÐÑÐŒÐµÐœÐžÑÑ  
+General.Undo_Tooltip:ÐÑÐŒÐµÐœÐžÑÑ Ð¿ÐŸÑÐ»ÐµÐŽÐœÑÑ Ð¿ÑÐ°Ð²ÐºÑ  
+General.Usage:ÐÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÐµ: {0} <params>\n ÐÑÐµ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÑ ÑÐ²Ð»ÑÑÑÑÑ Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐ»ÑÐœÑÐŒÐž, ÐœÐŸ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ ÐŒÐŸÐ¶ÐµÑ ÐŸÐºÐ°Ð·Ð°ÑÑÑÑ ÐœÐµ Ð² ÑÐŸÑÑÐŸÑÐœÐžÐž ÑÐ°Ð±ÐŸÑÐ°ÑÑ, ÐµÑÐ»Ðž ÑÐžÑÑÐŸÐ²Ð°Ñ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ° Greenstone ÐœÐµ ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœÐ°. \n-gsdl <path>: ÐÑÐžÐœÑÐŽÐžÑÐµÐ»ÑÐœÐŸ Ð·Ð°ÐŽÐ°Ð¹ÑÐµ Ð¿ÑÑÑ Ðº gsdl\n -library <path>: ÐÑÑÑ Ðº cgi-bin\n-mozilla <path>: ÐÐºÐ»ÑÑÐµÐœÐžÐµ mozilla\n -mirror ÐÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÑ Ð²ÐµÐ±-Ð·ÐµÑÐºÐ°Ð»ÑÐœÐŸÐ³ÐŸ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ \n -laf [java|windows|motif|mac] : ÐÐžÐŽÐµÑÑ Ðž ÐŸÑÑÑÐ°ÑÑ\n - ÐŸÑÐ»Ð°ÐŽÐºÑ: ÐÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÑ ÐŸÑÐ»Ð°ÐŽÐºÐž ÑÐŸÐŸÐ±ÑÐµÐœÐžÐ¹\n -no_load: ÐœÐµ Ð·Ð°Ð³ÑÑÐ¶Ð°Ð¹ÑÐµ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ ÐŸÑÐºÑÑÑÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ\n - load <path> : ÐÐ°Ð³ÑÑÐ·ÐžÑÐµ ÑÐºÐ°Ð·Ð°ÐœÐœÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ.
+General.View:ÐÐœÐ°ÑÐµÐœÐžÐµ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ°
+General.Warning:ÐÑÐµÐŽÑÐ¿ÑÐµÐ¶ÐŽÐµÐœÐžÐµ
+General.Yes:ÐÐ°
+#****************************
+#
+#***** GShell *****
+GShell.BadArgument:ÐÐ°ÑÐ°ÐŒÐµÑÑ {0} ÐœÐµÐŽÐµÐ¹ÑÑÐ²ÐžÑÐµÐ»ÑÐœÑÐ¹.  
+GShell.BadArgumentValue:ÐÐ°ÑÐ°ÐŒÐµÑÑ {0} ÐžÐŒÐµÐµÑ ÐœÐµÐŽÐµÐ¹ÑÑÐ²ÐžÑÐµÐ»ÑÐœÐŸÐµ Ð·ÐœÐ°ÑÐµÐœÐžÐµ.  
+GShell.BadPluginOptions:Ð Ð¿Ð»Ð°Ð³ÐžÐœÐµ {0} Ð±ÑÐ» ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°Ðœ Ð¿Ð»ÐŸÑ
+ÐŸÐ¹ Ð°ÑÐ³ÑÐŒÐµÐœÑ.  
+GShell.BadClassifierOptions:ÐÐµÐ²ÐµÑÐœÐŸÐµ Ð·ÐœÐ°ÑÐµÐœÐžÐµ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÐ° ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐ° {0}.  
+GShell.Build.Auxilary:Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ Ð²ÑÐ¿ÐŸÐŒÐŸÐ³Ð°ÑÐµÐ»ÑÐœÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ² Ðž ÑÐœÐžÑÑÐŸÐ¶ÐµÐœÐžÐµ...
+GShell.Build.BuildBegun1:************** ÐÐŸÑÑÑÐŸÐµÐœÐžÐµ ÐœÐ°ÑÐ°ÑÐŸ **************
+GShell.Build.BuildCancelled:**************   ÐÑÐŒÐµÐœÐµÐœÐŸ   **************  
+GShell.Build.BuildComplete1:************** ÐÐŸÑÑÑÐŸÐµÐœÐžÐµ Ð·Ð°Ð²ÐµÑÑÐµÐœÐŸ **************
+GShell.Build.CompressText:Ð¡Ð¶Ð°ÑÐžÐµ ÑÐµÐºÑÑÐ°âŠ
+GShell.Build.Index:Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ ÐžÐœÐŽÐµÐºÑÐ°, ÐŸÑÐœÐŸÐ²Ð°ÐœÐœÐŸÐ³ÐŸ ÐœÐ° {0-index source and level}...
+GShell.Build.InfoDatabase:Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐŸÐœÐœÐŸÐ¹ Ð±Ð°Ð·Ñ ÐŽÐ°ÐœÐœÑÑ
+...
+GShell.Build.Phind:ÐÐµÐœÐµÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐ° Phind . Ð­ÑÐŸ ÐŒÐŸÐ¶ÐµÑ Ð·Ð°ÐœÑÑÑ ÐœÐµÐºÐŸÑÐŸÑÐŸÐµ Ð²ÑÐµÐŒÑ...
+GShell.Schedule.ScheduleBegun1:************* ÐÑÐµÑÐµÐŽÐœÐŸÑÑÑ ÐÐ°ÑÐ°ÑÐ° *************  
+GShell.Schedule.ScheduleComplete1:*********** ÐÑÐµÑÐµÐŽÐœÐŸÑÑÑ ÐÐ°Ð²ÐµÑÑÐµÐœÐ° *********  
+GShell.Schedule.ScheduleDelete:** Ð£ÐŽÐ°Ð»ÐµÐœÐžÐµ ÑÑÑÐµÑÑÐ²ÑÑÑÐžÑ
+ ÐŸÑÐµÑÐµÐŽÐœÐŸÑÑÐµÐ¹ **  
+GShell.Command:ÐÐŸÐŒÐ°ÐœÐŽÐ°
+GShell.Failure:ÐÐŸÐŒÐ°ÐœÐŽÐ° ÐœÐµ ÑÐŽÐ°Ð»Ð°ÑÑ.
+GShell.Import.FileNotProcessed:Ð€Ð°Ð¹Ð» {0-target file path} Ð±ÑÐ» ÑÐ°ÑÐ¿ÐŸÐ·ÐœÐ°Ðœ, ÐŸÐŽÐœÐ°ÐºÐŸ ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŸÐ±ÑÐ°Ð±ÐŸÑÐ°Ðœ ÐœÐž ÐŸÐŽÐœÐžÐŒ ÐžÐ· Ð¿Ð»Ð°Ð³ÐžÐœÐŸÐ²
+GShell.Import.FileNotRecognised:Ð€Ð°Ð¹Ð» {0-target file path} ÐœÐµÐ»ÑÐ·Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ, Ð¿ÐŸÑÐŸÐŒÑ ÑÑÐŸ ÐµÐ³ÐŸ ÑÐžÐ¿ ÐœÐµ ÑÐ°ÑÐ¿ÐŸÐ·ÐœÐ°Ðœ ÐœÐžÐºÐ°ÐºÐžÐŒÐž Ð¿Ð»Ð°Ð³ÐžÐœÐ°ÐŒÐž ÐÑÐžÐœÑÑÐŸÑÐœ.  
+GShell.Import.FileProcessing:Ð€Ð°Ð¹Ð» {0-target file path} ÐŸÐ±ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÐµÑÑÑ Ð¿Ð»Ð°Ð³ÐžÐœÐŸÐŒ {1-plugin name}.
+GShell.Import.FileProcessingError:Ð€Ð°Ð¹Ð» {0-target file path} ÑÑÐŸÐ»ÐºÐœÑÐ»ÑÑ Ñ ÐŸÑÐžÐ±ÐºÐŸÐ¹ Ð² ÑÐµÑÐµÐœÐžÐµ ÐŸÐ±ÑÐ°Ð±ÐŸÑÐºÐž.
+GShell.Import.ImportBegun1:************** ÐÐŒÐ¿ÐŸÑÑ  ÐœÐ°ÑÐ°Ñ **************
+GShell.Import.ImportComplete1:************** ÐÐŒÐ¿ÐŸÑÑ Ð·Ð°Ð²ÐµÑÑÐµÐœ **************
+GShell.Import.ImportComplete2:{0-number documents considered} ÐŽÐŸÐºÑÐŒÐµÐœÑÑ, Ð¿ÑÐµÐŽÐœÐ°Ð·ÐœÐ°ÑÐµÐœÐœÑÐµ ÐŽÐ»Ñ ÐŸÐ±ÑÐ°Ð±ÐŸÑÐºÐž:
+GShell.Import.ImportComplete2.1:1 ÐŽÐŸÐºÑÐŒÐµÐœÑ Ð¿ÑÐµÐŽÐœÐ°Ð·ÐœÐ°ÑÐ°Ð»ÑÑ ÐŽÐ»Ñ ÐŸÐ±ÑÐ°Ð±ÐŸÑÐºÐž:
+GShell.Import.ImportComplete.Processed:{0-number processed} Ð±ÑÐ»Ðž ÐŸÐ±ÑÐ°Ð±ÐŸÑÐ°ÐœÑ Ðž Ð²ÐºÐ»ÑÑÐµÐœÑ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ.
+GShell.Import.ImportComplete.Processed.1:1 Ð±ÑÐ» ÐŸÐ±ÑÐ°Ð±ÐŸÑÐ°Ðœ Ðž Ð²ÐºÐ»ÑÑÐµÐœ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ.
+GShell.Import.ImportComplete.Blocked:{0-number blocked} Ð±ÑÐ»Ðž Ð¿ÑÐµÐ¿ÑÑÑÑÐ²ÐŸÐ²Ð°Ð»Ðž ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ Ð¿ÐŸÑÑÐµÐŽÑÑÐ²ÐŸÐŒ Ð¿Ð»Ð°Ð³ÐžÐœÐŸÐ² (ÑÐžÐ¿Ð° ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐ¹ Ð² Ð²ÐµÐ±-ÑÑÑÐ°ÐœÐžÑÐ°Ñ
+).
+GShell.Import.ImportComplete.Blocked.1:1 ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÐµ Ð±ÑÐ»ÐŸ ÑÐ¿ÑÐµÐ¶ÐŽÐµÐœÐŸ Ð¿Ð»Ð°Ð³ÐžÐœÐŸÐŒ (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ ÐœÐ° Ð²ÐµÐ±-ÑÑÑÐ°ÐœÐžÑÐµ).  
+GShell.Import.ImportComplete.Ignored:{0-number ignored} Ð±ÑÐ»Ðž ÐœÐµ ÐŸÐ¿ÐŸÐ·ÐœÐ°Ðœ Ð¿Ð»Ð°Ð³ÐžÐœÐ°ÐŒÐž Ðž ÑÐ²Ð»ÑÑÑÑÑ ÐœÐµ ÐŽÐŸÑÑÑÐ¿ÐœÑ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+GShell.Import.ImportComplete.Ignored.1:1 Ð±ÑÐ» ÐœÐµ ÐŸÐ¿ÐŸÐ·ÐœÐ°Ðœ Ð¿Ð»Ð°Ð³ÐžÐœÐ°ÐŒÐž Ðž ÐµÑÑÑ ÐœÐµ ÐŽÐŸÑÑÑÐ¿ÐœÑ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+GShell.Import.ImportComplete.Failed:{0-number failed} Ð±ÑÐ»Ðž ÐŸÑÐºÐ»ÐŸÐœÐµÐœÑ.
+GShell.Import.ImportComplete.Failed.1:1 Ð±ÑÐ» ÐŸÑÐºÐ»ÐŸÐœÐµÐœ.
+GShell.Import.ImportComplete3:\n
+GShell.Import.Warning:{0-plugin name} ÐÐœÐžÐŒÐ°ÐœÐžÐµ:  
+GShell.Parsing_Metadata_Complete:ÐÑÑ
+ÐžÐ²ÐžÑÐŸÐ²Ð°ÐœÐœÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐžÐ·Ð²Ð»ÐµÑÐµÐœÑ Ð¿ÐŸÐ»ÐœÐŸÑÑÑÑ.
+GShell.Parsing_Metadata_Start:ÐÐ·Ð²Ð»ÐµÑÐµÐœÐžÐµ ÐœÐŸÐ²ÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐžÐ· Ð°ÑÑ
+ÐžÐ²ÐœÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ².
+GShell.Success:ÐÐŸÐŒÐ°ÐœÐŽÐ°.Ð·Ð°Ð²ÐµÑÑÐµÐœÐ°.
+#*********************
+#
+#***** GUI *****
+# Currently Enabled and Disabled display the same text but in different
+# colours. If necessary this can be changed.
+GUI.Create:Ð¡ÐŸÐ·ÐŽÐ°ÑÑ
+GUI.Create_Tooltip:Ð¡ÐŸÐ·ÐŽÐ°Ð¹ÑÐµ ÐÐ°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ ÐÑÐžÐœÑÑÐŸÑÐœ.  
+GUI.Design:ÐÑÐŸÐµÐºÑ
+GUI.Design_Tooltip:ÐÑÐŸÐµÐºÑÐžÑÑÐ¹ÑÐµ ÑÑÐœÐºÑÐžÐŸÐœÐ°Ð»ÑÐœÑÐµ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÐž Ðž Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+GUI.Download:ÐÐ°Ð³ÑÑÐ·ÐžÑÑ
+GUI.Download_Tooltip:ÐÐ°Ð³ÑÑÐ·ÐžÑÑ ÑÐµÑÑÑÑÑ ÐžÐ· ÐÐœÑÐµÑÐœÐµÑÐ° ÐŽÐ»Ñ ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+GUI.Enrich:ÐÐ°Ð¿ÐŸÐ»ÐœÐžÑÑ  
+GUI.Enrich_Tooltip:ÐÐ°ÐŽÐ°ÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ðº ÑÐ°Ð¹Ð»Ð°ÐŒ ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+GUI.Format:Ð€ÐŸÑÐŒÐ°Ñ  
+GUI.Format_Tooltip:Ð¡ÐŸÐ·ÐŽÐ°ÑÑ Ð²ÐœÐµÑÐœÐžÐ¹ Ð²ÐžÐŽ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž  
+GUI.Gather:Ð¡ÐŸÐ±ÑÐ°ÑÑ
+GUI.Gather_Tooltip:ÐÑÐ±ÑÐ°ÑÑ ÑÐ°Ð¹Ð»Ñ ÐŽÐ»Ñ Ð²ÐºÐ»ÑÑÐµÐœÐžÑ Ð² ÐÐ°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ.
+#***************
+#
+#***** HELP *****
+Help.Contents:Ð¡ÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÐµ
+Help.Title:Ð¡ÑÑÐ°ÐœÐžÑÑ Ð¿ÐŸÐŒÐŸÑÐž Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ°  
+#****************************
+#
+#***** Invalid Metadata ******
+InvalidMetadata.Message:Ð­ÑÐŸÑ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐŸÐ¶ÐµÑ Ð¿ÑÐžÐœÑÑÑ ÑÐŸÐ»ÑÐºÐŸ ÐŸÐŽÐœÐŸ ÐžÐ· Ð¿ÑÐµÐŽÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐœÑÑ
+ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹. ÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, Ð²ÑÐ±ÐµÑÐžÑÐµ ÐŸÐŽÐœÐŸ ÐžÐ· ÑÑÑÐµÑÑÐ²ÑÑÑÐžÑ
+ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹.  
+InvalidMetadata.Title:ÐÐµÐŽÐµÐ¹ÑÑÐ²ÐžÑÐµÐ»ÑÐœÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ  
+#***************************
+#
+#***** LegacyCollection
+LegacyCollection.Message:ÐÑ Ñ
+ÐŸÑÐžÑÐµ Ð·Ð°Ð³ÑÑÐ·ÐžÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÐºÐŸÑÐŸÑÐ°Ñ ÐœÐµ Ð±ÑÐ»Ð° ÑÐŸÐ·ÐŽÐ°ÐœÐ° ÐÐÐ(GLI). Ð¡ÑÑÐµÑÑÐ²ÑÑÑÐžÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ð±ÑÐŽÑÑ ÐžÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÑ Ð² ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Dublin Core. ÐÑÐžÐ³ÐžÐœÐ°Ð»ÑÐœÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ð±ÑÐŽÑÑ ÑÐŸÑ
+ÑÐ°ÐœÐµÐœÑ Ð² Ð¿Ð°Ð¿ÐºÑ import.bak  
+LegacyCollection.Title:ÐÐ°Ð³ÑÑÐ·ÐžÑÑ Ð²ÐœÐµÑÐœÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ  
+#***************************
+#
+#***** LockFileDialog *****
+LockFileDialog.Cancel_Tooltip:ÐÐµ ÑÐºÑÐ°ÐŽÐžÑÐµ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÐµ Ð·Ð°ÐŒÑÐºÐ°ÐœÐžÐµÐŒ ÑÐ°Ð¹Ð»Ð° (ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐœÐµ Ð±ÑÐŽÐµÑ ÐŸÑÐºÑÑÐ²Ð°ÑÑÑÑ).
+LockFileDialog.Date:ÐÐ°ÑÐ°
+LockFileDialog.Error:ÐŸÑÐžÐ±ÐºÐ°
+LockFileDialog.Lockfile_Message_One:ÐÑÐžÑÑÑÑÑÐ²ÐžÐµ Ð·Ð°Ð±Ð»ÐŸÐºÐžÑÐŸÐ²Ð°ÐœÐœÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð° ÐœÐ°Ð²ÐŸÐŽÐžÑ ÐœÐ° ÐŒÑÑÐ»Ñ, ÑÑÐŸ ÑÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÑÐ¶Ðµ ÐŸÑÐºÑÑÑÐ°.
+LockFileDialog.Lockfile_Message_Two:ÐÑ Ð¶ÐµÐ»Ð°ÐµÑÐµ 'ÑÐºÑÐ°ÑÑÑ' ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÑÑÐžÐŒ Ð·Ð°Ð±Ð»ÐŸÐºÐžÑÐŸÐ²Ð°ÐœÐœÑÐŒ ÑÐ°Ð¹Ð»ÐŸÐŒ ?
+LockFileDialog.Machine:ÐÐŽÐµ
+LockFileDialog.Name:ÐÐŒÑ
+LockFileDialog.OK_Tooltip:Ð£Ð¿ÑÐ°Ð²Ð»ÐµÐœÐžÐµ 'ÐºÑÐ°Ð¶ÐµÐ¹' Ð·Ð°Ð±Ð»ÐŸÐºÐžÑÐŸÐ²Ð°ÐœÐœÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð°.
+LockFileDialog.Title:ÐÐ±ÐœÐ°ÑÑÐ¶ÐµÐœ Ð·Ð°Ð±Ð»ÐŸÐºÐžÑÐŸÐ²Ð°ÐœÐœÑÐ¹ ÑÐ°Ð¹Ð».
+LockFileDialog.User:ÐÑÐŸ
+#********************
+#
+#*****MappingPrompt **********
+MappingPrompt.File:ÐÐ°Ð¿ÐºÐ°
+MappingPrompt.Map:Ð¡ÐŸÐ·ÐŽÐ°ÑÑ ÑÐŸÐºÑÐ°ÑÐµÐœÐžÐµ
+MappingPrompt.Name:ÐÐŒÑ
+MappingPrompt.Title:Ð£ÑÑÐ°ÐœÐŸÐ²ÐžÑÑ Ð¿Ð°Ð¿ÐºÑ ÑÐŸÐºÑÐ°ÑÐµÐœÐžÐ¹
+MappingPrompt.Unmap:Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÐŸÐºÑÐ°ÑÐµÐœÐžÑ
+#*******************
+#
+#***** Menu Options *****
+Menu.Collapse:ÐÐ°ÐºÑÑÑÑ Ð¿Ð°Ð¿ÐºÑ
+Menu.Edit:Ð ÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ
+Menu.Edit_Copy:ÐÐŸÐ¿ÐžÑÐŸÐ²Ð°ÑÑ (ctrl-c)
+Menu.Edit_Cut:ÐÑÑÐµÐ·Ð°ÑÑ (ctrl-x)
+Menu.Edit_Paste:ÐÑÑÐ°Ð²ÐžÑÑ (ctrl-v)
+Menu.Expand:ÐÑÐºÑÑÑÑ Ð¿Ð°Ð¿ÐºÑ
+Menu.Explode_Metadata_Database:Ð Ð°ÑÐ¿ÑÐµÐŽÐµÐ»ÐžÐœÑ Ð±Ð°Ð·Ñ ÐŽÐ°ÐœÐœÑÑ
+ Ñ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÐŒÐž
+Menu.Replace_SrcDoc_With_HTML:ÐÐ°ÐŒÐµÐœÐžÑÑ HTML Ð²ÐµÑÑÐžÐµÐ¹  
+Menu.File:Ð€Ð°Ð¹Ð»
+Menu.File_Associations:ÐÑÑÐŸÑÐžÐ°ÑÐžÐž ÑÐ°Ð¹Ð»Ð°...
+Menu.File_CDimage:Ð­ÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ Ð² CD-ROM/DVD...
+Menu.File_Close:ÐÐ°ÐºÑÑÑÑ
+Menu.File_Delete:Ð£ÐŽÐ°Ð»ÐžÑÑ...
+Menu.File_Exit:ÐÑÑ
+ÐŸÐŽ
+Menu.File_ExportAs:Ð­ÐºÑÐ¿ÐŸÑÑ...  
+Menu.File_New:ÐÐŸÐ²ÑÐ¹...
+Menu.File_Open:ÐÑÐºÑÑÑÑ...
+Menu.File_Options:ÐÐ¿ÑÐžÐž...  
+Menu.File_Save:CÐŸÑ
+ÑÐ°ÐœÐžÑÑ
+Menu.Help:ÐÐŸÐŒÐŸÑÑ
+Menu.Help_About:Ð...
+Menu.Metadata_View:ÐÐ°ÐŽÐ°ÐœÐœÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐŽÐ»Ñ {0}
+Menu.Open_Externally:ÐÑÐºÑÑÑÑ Ð²ÐœÐµÑÐœÑÑ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÑ
+#********************
+#
+#***** MetaAudit *****
+MetaAudit.Close:ÐÐ°ÐºÑÑÑÑ
+MetaAudit.Close_Tooltip:ÐÐ°ÐºÑÑÑÑ ÑÑÐŸ ÐŽÐžÐ°Ð»ÐŸÐ³ÐŸÐ²ÐŸÐµ Ð¿ÐŸÐ»Ðµ
+MetaAudit.Title:ÐÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ
+#*********************
+#
+#***** Metadata *****
+Metadata.Element:Ð­Ð»ÐµÐŒÐµÐœÑ
+Metadata.Value:ÐÐœÐ°ÑÐµÐœÐžÐµ
+MetadataSet.Files:Ð€Ð°Ð¹Ð»Ñ ÐœÐ°Ð±ÐŸÑÐ° ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+
+#**********************************
+#
+#***** MetadataSetDialog**********
+MetadataSetDialog.Title:Ð£Ð¿ÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐœÐ°Ð±ÐŸÑÐ°ÐŒÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+MetadataSetDialog.Add_Title:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+MetadataSetDialog.Current_Sets:ÐÑÐžÑÐ²ÐŸÐµÐœÐœÑÐµ ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+MetadataSetDialog.Available_Sets:ÐÐŸÑÑÑÐ¿ÐœÑÐµ ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+MetadataSetDialog.Add:ÐÐŸÐ±Ð°Ð²ÐžÑÑ...  
+MetadataSetDialog.Add_Tooltip:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÐœÐŸÐ²ÑÐ¹ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ðº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž  
+MetadataSetDialog.New_Set:ÐÐŸÐ²ÑÐ¹...  
+MetadataSetDialog.New_Set_Tooltip:Ð¡ÐŸÐ·ÐŽÐ°ÑÑ ÐœÐŸÐ²ÑÐ¹ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+MetadataSetDialog.Add_Set:ÐÐŸÐ±Ð°Ð²ÐžÑÑ  
+MetadataSetDialog.Add_Set_Tooltip:ÐÐŸÐ±Ð°Ð²ÐžÑÑ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐ¹ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ðº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž  
+MetadataSetDialog.Browse:ÐÑÐŸÑÐŒÐŸÑÑ...  
+MetadataSetDialog.Browse_Tooltip:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÐœÐŸÐ²ÑÐ¹ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ðº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž  
+MetadataSetDialog.Edit:ÐÑÐ°Ð²ÐºÐ°...  
+MetadataSetDialog.Edit_Tooltip:ÐÑÐ°Ð²ÐžÑÑ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐ¹ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+MetadataSetDialog.Remove:Ð£ÐŽÐ°Ð»ÐžÑÑ  
+MetadataSetDialog.Remove_Tooltip:Ð£ÐŽÐ°Ð»ÐžÑÑ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐ¹ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐžÐ· ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž  
+MetadataSetDialog.Elements:Ð­Ð»ÐµÐŒÐµÐœÑÑ Ð² Ð²ÑÐ±ÑÐ°ÐœÐœÐŸÐŒ ÐœÐ°Ð±ÐŸÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+
+#****************************************
+#
+#***** MetadataSetNamespaceClash warning***
+MetadataSetNamespaceClash.Title:ÐÐŸÐœÑÐ»ÐžÐºÑ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ² ÐžÐŒÐµÐœ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+MetadataSetNamespaceClash.Message:ÐÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, Ð²ÑÐ±ÑÐ°ÐœÐœÑÐ¹ Ð²Ð°ÐŒÐž ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ({0}) ÐžÐŒÐµÐµÑ ÑÐŸ Ð¶Ðµ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐŸ ÐžÐŒÐµÐœ, ÑÑÐŸ Ðž ÐŸÐŽÐžÐœ ÐžÐ· ÑÐ¶Ðµ Ð¿ÑÐžÑÑÑÑÑÐ²ÑÑÑÐžÑ
+ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ({1}). ÐÑÐ»Ðž Ð²Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÐµ ÑÑÐŸÑ ÐœÐŸÐ²ÑÐ¹ ÐœÐ°Ð±ÐŸÑ, ÑÑÐ°ÑÑÐ¹ Ð±ÑÐŽÐµÑ ÑÐŽÐ°Ð»ÐµÐœ, Ð° ÐœÐŸÐ²ÑÐ¹ Ð±ÑÐŽÐµÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœ ÐœÐ° ÐµÐ³ÐŸ ÐŒÐµÑÑÐŸ. ÐÑÐµ Ð¿ÑÐžÑÐ²ÐŸÐµÐœÐœÑÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð±ÑÐŽÑÑ Ð¿ÐµÑÐµÐŒÐµÑÐµÐœÑ Ð² ÐœÐŸÐ²ÑÐ¹ ÐœÐ°Ð±ÐŸÑ, ÐµÑÐ»Ðž ÐŸÐœ ÑÐŸÐŽÐµÑÐ¶ÐžÑ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐžÐµ ÑÐ»ÐµÐŒÐµÐœÑÑ.  
+#*********************************************
+#
+#******** MetadataImportMappingPrompt *********
+MIMP.Add:ÐÐŸÐ±Ð°Ð²ÐžÑÑ
+MIMP.Add_Tooltip:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ðº ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÐŸÐŒÑ ÐœÐ°Ð±ÐŸÑÑ
+MIMP.Ignore:ÐÐµ ÑÑÐžÑÑÐ²Ð°ÑÑ
+MIMP.Ignore_Tooltip:ÐÐµ ÑÑÐžÑÑÐ²Ð°ÑÑ ÑÑÐŸÑ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+
+MIMP.Instructions:Ð­Ð»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ {0} ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž ÐžÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°Ðœ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ. ÐÑÐ±ÐµÑÐžÑÐµ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ðž ÐžÐ»Ðž:\n(1), ÐœÐ°Ð¶ÐŒÐžÑÐµ 'ÐÐŸÐ±Ð°Ð²ÐžÑÑ', ÑÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ðº ÑÑÐŸÐŒÑ ÐœÐ°Ð±ÐŸÑÑ (ÑÐŸÐ»ÑÐºÐŸ ÐµÑÐ»Ðž ÐœÐµÑ ÑÐ¶Ðµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ {0} Ð² ÐœÐ°Ð±ÐŸÑÐµ), ÐžÐ»Ðž\n(2) Ð²ÑÐ±ÐµÑÐžÑÐµ ÑÐ»ÐµÐŒÐµÐœÑ Ðž ÐœÐ°Ð¶ÐŒÐžÑÐµ 'ÐÐ±ÑÐµÐŽÐžÐœÐžÑÑ', ÑÑÐŸÐ±Ñ ÐžÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ {0} Ðº ÑÑÐŸÐŒÑ ÑÐ»ÐµÐŒÐµÐœÑÑ, or\n(3) ÐœÐµ Ð¿ÑÐžÐœÐžÐŒÐ°ÑÑ ÑÑÐŸÑ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+.
+MIMP.Merge:ÐÐ±ÑÐµÐŽÐžÐœÐžÑÑ
+MIMP.Merge_Tooltip:ÐÑÐŸÐ±ÑÐ°Ð·ÐžÑÑ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ðº ÑÐºÐ°Ð·Ð°ÐœÐœÐŸÐŒÑ ÑÐ»ÐµÐŒÐµÐœÑÑ Ð² ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÐŸÐŒ ÐœÐ°Ð±ÐŸÑÐµ
+MIMP.Source_Element:ÐÑÑ
+ÐŸÐŽÐœÑÐ¹ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+:
+MIMP.Target_Element:ÐŠÐµÐ»ÐµÐ²ÐŸÐ¹ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+:
+MIMP.Target_Set:ÐŠÐµÐ»ÐµÐ²ÐŸÐ¹ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+:
+MIMP.Title:ÐÐ±ÑÐµÐŽÐžÐœÐžÑÑ ÑÑÐµÐ±ÑÐµÐŒÑÐµ ÐŽÐµÐ¹ÑÑÐ²ÐžÑ.
+#*****************************
+#
+#***** Mirroring *****
+Mirroring.ClearCache:ÐÑÑÐµÑ ÐºÑÑ ÐŸÑÐžÑÐµÐœ
+Mirroring.ClearCache_Tooltip:Ð£ÐŽÐ°Ð»ÐžÑÑ Ð²ÑÐµ Ð·Ð°Ð³ÑÑÐ¶ÐµÐœÐœÑÐµ ÑÐ°Ð¹Ð»Ñ
+Mirroring.Download:ÐÐ°Ð³ÑÑÐ·ÐžÑÑ
+Mirroring.Download_Tooltip:ÐÐ°ÑÐ°ÑÑ ÑÐ°Ð±ÐŸÑÑ Ð¿ÐŸ ÐœÐŸÐ²ÐŸÐ¹ Ð·Ð°Ð³ÑÑÐ·ÐºÐµ
+Mirroring.DownloadJob.Close:ÐÐ°ÐºÑÑÑÑ
+Mirroring.DownloadJob.Close_Tooltip:Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÑÑ ÑÐ°Ð±ÐŸÑÑ ÐžÐ· ÑÐ¿ÐžÑÐºÐ°, ÐŸÑÑÐ°ÐœÐŸÐ²ÐžÐ² ÐµÐµ Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœÐžÐµ
+Mirroring.DownloadJob.Downloading:ÐÐ°Ð³ÑÑÐ·ÐºÐ° {0}
+Mirroring.DownloadJob.Download_Complete:ÐÐ°Ð³ÑÑÐ·ÐºÐ° Ð·Ð°Ð²ÐµÑÑÐµÐœÐ°
+Mirroring.DownloadJob.Download_Stopped:ÐÐ°Ð³ÑÑÐ·ÐºÐ° Ð·Ð°Ð²ÐžÑÐ»Ð°
+Mirroring.DownloadJob.Download_Progress:ÐÐ°Ð³ÑÑÐ·ÐºÐ° Ð² Ð¿ÑÐŸÐ³ÑÐµÑÑÐµ
+Mirroring.DownloadJob.Log:Ð¡ÐŒÐŸÑÑÐµÑÑ Ð»ÐŸÐ³Ðž
+Mirroring.DownloadJob.Log_Tooltip:Ð¡ÐŒÐŸÑÑÐµÑÑ ÐŸÑÑÐµÑ ÐŸ Ð·Ð°Ð³ÑÑÐ·ÐºÐµ
+Mirroring.DownloadJob.Log_Title:ÐÑÑÐœÐ°Ð» Ð·Ð°Ð³ÑÑÐ·ÐºÐž  
+Mirroring.DownloadJob.Pause:ÐÐ°ÑÐ·Ð°
+Mirroring.DownloadJob.Pause_Tooltip:ÐÑÐžÐŸÑÑÐ°ÐœÐŸÐ²ÐžÑÑ ÑÑÑ Ð·Ð°Ð³ÑÑÐ·ÐºÑ
+Mirroring.DownloadJob.Resume:ÐÐŸÐ·ÐŸÐ±ÐœÐŸÐ²ÐžÑÑ
+Mirroring.DownloadJob.Resume_Tooltip:ÐÐŸÐ·ÐŸÐ±ÐœÐŸÐ²ÐžÑÑ ÑÑÑ Ð·Ð°Ð³ÑÑÐ·ÐºÑ
+Mirroring.DownloadJob.Status:ÐÐ°Ð³ÑÑÐ¶ÐµÐœÐœÑÐ¹ {0} ÐžÐ· {1}ÑÐ°Ð¹Ð»ÐŸÐ² ({2} Ð¿ÑÐµÐŽÑÐ¿ÑÐµÐ¶ÐŽÐµÐœÐžÑ, {3} ÐŸÑÐžÐ±ÐºÐž)
+Mirroring.DownloadJob.Waiting:ÐÐŸÐŽÐŸÐ¶ÐŽÐ°ÑÑ ÑÑÐ°ÑÑÐŸÐ²Ð°ÑÑ
+Mirroring.DownloadJob.Waiting_User:ÐÐ¶ÐžÐŽÐ°ÐœÐžÐµ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»ÑÑÐºÐŸÐ³ÐŸ ÐŽÐµÐ¹ÑÑÐ²ÐžÑ
+Mirroring.Invalid_URL:ÐÐ²ÐµÐŽÐµÐœÐœÑÐ¹ URL ÐœÐµ ÐŽÐµÐ¹ÑÑÐ²ÐžÑÐµÐ»ÐµÐœ. ÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, ÐžÑÐ¿ÑÐ°Ð²ÑÑÐµ.
+Mirroring.Invalid_URL_Title:ÐÐµÐ¿ÑÐ°Ð²ÐžÐ»ÑÐœÑÐ¹ URL Ð°ÐŽÑÐµÑ  
+Mirroring.Preferences:ÐÐ°ÑÑÑÐŸÐ¹ÐºÐž...
+Mirroring.Preferences_Tooltip:Ð Ð°Ð·ÑÐµÑÐžÑÑ Ð¿ÑÐŸÐºÑÐž Ðž/ÐžÐ»Ðž ÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ ÐœÐ°ÑÑÑÐŸÐ¹ÐºÐž Ð¿ÑÐŸÐºÑÐž ÑÐµÑÐ²ÐµÑÐ°
+#*********************
+#
+#***** Missing EXEC *****
+MissingEXEC.Message:ÐÐœÐžÐŒÐ°ÐœÐžÐµ! ÐÑ ÐœÐµ ÑÐŒÐŸÐ¶ÐžÑÐµ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ ÐÐ°ÑÑ ÐœÐŸÐ²ÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐÐœÑÐµÑÑÐµÐ¹ÑÐ°, ÐµÑÐ»Ðž ÐÑ ÐœÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÐµ Ð°ÐŽÑÐµÑ Ð»ÐŸÐºÐ°Ð»ÑÐœÐŸÐ³ÐŸ ÐÐµÐ±-ÑÐµÑÐ²ÐµÑÐ° ÐÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž ÐÑÐžÐœÑÑÐŸÑÐœ. ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÑÐŽÐµÐ»Ð°ÑÑ ÑÑÐŸ ÑÐµÐ¹ÑÐ°Ñ Ð² ÑÐµÐºÑÑÐŸÐ²ÐŸÐŒ Ð¿ÐŸÐ»Ðµ, ÑÐ°ÑÐ¿ÐŸÐ»ÐŸÐ¶ÐµÐœÐœÐŸÐŒ ÐœÐžÐ¶Ðµ, ÐžÐ»Ðž Ð¿ÐŸÐ·Ð¶Ðµ, Ð²ÐŸÐ¹ÐŽÑ Ð² ÐÐ¿ÑÐžÐž Ðž Ð²ÑÐ±ÑÐ°Ð² Ð² ÐŒÐµÐœÑ Ð¡Ð²ÑÐ·Ñ. ÐÐŸÐŒÐœÐžÑÐµ, ÑÑÐŸ ÐŽÐµÐ¹ÑÑÐ²ÐžÑÐµÐ»ÑÐœÑÐ¹ URL ÐŽÐŸÐ»Ð¶ÐµÐœ ÐœÐ°ÑÐžÐœÐ°ÑÑÑÑ Ñ Ð¿ÑÐŸÑÐŸÐºÐŸÐ»Ð° "http://" Ðž Ð²ÐµÑÐŸÑÑÐœÐŸ Ð·Ð°ÐºÐ°ÐœÑÐžÐ²Ð°ÑÑÑÑ ÐžÑÐ¿ÐŸÐ»ÐœÑÐµÐŒÑÐŒ ÐžÐŒÐµÐœÐµÐŒ ("gsdl" ÐŽÐ»Ñ Ð»ÐŸÐºÐ°Ð»ÑÐœÐŸÐ³ÐŸ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÑÐµÑÐ²ÐµÑÐ° ÐÑÐžÐœÑÑÐŸÑÐœ ÐžÐ»Ðž "library" - ÐŽÐ»Ñ ÐŽÑÑÐ³ÐžÑ
+ Ð²ÐµÐ±-ÑÐµÑÐ²ÐµÑÐŸÐ²).  
+MissingEXEC.Title:ÐÑÑÑÑÑÑÐ²ÐžÐµ Ð°ÐŽÑÐµÑÐ° ÐÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž ÐÑÐžÐœÑÑÐŸÑÐœ  
+#***** Missing EXEC_GS3 *****
+MissingEXEC_GS3.Message:ÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ° Ð²Ð²ÐµÐŽÐžÑÐµ Ð°ÐŽÑÐµÑ URL Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž ÐÑÐžÐœÑÑÐŸÑÐœ 3. ÐÑ ÐœÐµ ÑÐŒÐŸÐ¶ÐµÑÐµ Ð¿ÑÐŸÑÐŒÐ°ÑÑÐžÐ²Ð°ÑÑ ÐœÐŸÐ²ÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð² ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐŒ ÐÐœÑÐµÑÑÐµÐ¹ÑÐµ, ÐŸÐŽÐœÐ°ÐºÐŸ ÐµÑÐ»Ðž ÐÑ ÑÐºÐ°Ð¶ÐµÑÐµ Ð¿ÑÑÑ ÐŽÐžÑÐµÐºÑÐŸÑÐžÐž Ð² ÑÐµÐºÑÑÐŸÐ²ÐŸÐŒ Ð¿ÐŸÐ»Ðµ Ð²ÐœÐžÐ·Ñ, ÐžÐ»Ðž Ð¿ÐŸÐ·Ð¶Ðµ Ð² ÐÐ°ÑÑÑÐŸÐ¹ÐºÐ°Ñ
+ Ð·Ð°ÐºÑÑÐ² Ð²ÐºÐ»Ð°ÐŽÐºÑ ÑÐŸÐµÐŽÐžÐœÐµÐœÐžÐµ. ÐÐ°Ð¿ÐŸÐŒÐœÐžÑÐµ, ÑÑÐŸ ÐŽÐµÐ¹ÑÑÐ²ÐžÑÐµÐ»ÑÐœÑÐ¹ URL ÐŽÐŸÐ»Ð¶ÐµÐœ ÐœÐ°ÑÐžÐœÐ°ÑÑÑÑ Ñ "http://".  
+MissingEXEC_GS3.Title:ÐÐŽÑÐµÑ URL ÐÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž ÐÑÐžÐœÑÑÐŸÑÐœ 3  
+#***** Missing GLIServer *****
+MissingGLIServer.Message:ÐÐ²ÐµÐŽÐžÑÐµ Ð°ÐŽÑÐµÑ ÑÐºÑÐžÐ¿ÑÐ° ÐœÐ° Ð²ÐœÐµÑÐœÐµÐŒ ÑÐµÑÐ²ÐµÑÐµ ÐÑÐžÐœÑÑÐŸÑÐœ "gliserver.pl" Ð² ÑÐµÐºÑÑÐŸÐ²ÐŸÐŒ Ð¿ÐŸÐ»Ðµ, ÐÐ°Ð¿ÐŸÐŒÐœÐžÑÐµ, ÑÑÐŸ ÐŽÐµÐ¹ÑÑÐ²ÐžÑÐµÐ»ÑÐœÑÐ¹ URL ÐŽÐŸÐ»Ð¶ÐµÐœ ÐœÐ°ÑÐžÐœÐ°ÑÑÑÑ Ñ "http://" Ðž Ð·Ð°ÐºÐ°ÐœÑÐžÐ²Ð°ÑÑÑÑ Ñ "gliserver".  
+MissingGLIServer.Title:ÐÐ¿ÑÐµÐŽÐµÐ»ÐžÑÐµ Ð°ÐŽÑÐµÑ ÑÐµÑÐ²ÐµÑÐ° GLI.  
+#***** Missing GSDL *****
+MissingGSDL.Message:ÐÑÐµÐŽÑÐ¿ÑÐµÐ¶ÐŽÐµÐœÐžÐµ! ÐÑ ÐœÐµ Ð±ÑÐŽÐµÑÐµ ÐžÐŒÐµÑÑ ÐŽÐŸÑÑÑÐ¿ ÐºÐŸ Ð²ÑÐµÐŒ ÑÑÐµÐŽÑÑÐ²Ð°ÐŒ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐÐœÑÐµÑÑÐµÐ¹ÑÐ° Ð±ÐµÐ· ÐŽÐŸÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»ÑÐœÐŸÐ¹ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž Ð»ÐŸÐºÐ°Ð»ÑÐœÐŸÐ¹ ÐºÐŸÐ¿ÐžÐž Ð­Ð»ÐµÐºÑÑÐŸÐœÐœÐŸÐ¹ ÐÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž ÐÑÐžÐœÑÑÐŸÑÐœ. ÐÑÐ»Ðž ÐÑ Ð¿ÐŸÐ»Ð°Ð³Ð°ÐµÑÐµ, ÑÑÐŸ ÐÑ Ð¿ÐŸÐ»ÑÑÐžÐ»Ðž ÑÑÐŸ ÑÐŸÐŸÐ±ÑÐµÐœÐžÐµ Ð¿ÐŸ ÐŸÑÐžÐ±ÐºÐµ, Ð¿ÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, Ð¿ÑÐŸÐ²ÐµÑÑÑÐµ ÐÐ°ÑÑ ÐžÐœÑÑÐ°Ð»ÑÑÐžÑ Ðž Ð¿ÑÑÐž, ÑÐºÐ°Ð·Ð°ÐœÐœÑÐµ Ð² ÐºÐŸÐŒÐ°ÐœÐŽÐµ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐÐœÑÐµÑÑÐµÐ¹ÑÐ° ÐžÐ»Ðž ÑÐ°Ð¹Ð»Ðµ ÑÐºÑÐžÐ¿ÑÐ°.  
+MissingGSDL.Title:ÐÑÑÑÑÑÑÐ²ÐžÐµ Ð¿ÑÑÐž Ðº ÐÑÐžÐœÑÑÐŸÑÐœ  
+#***** Missing PERL *****
+MissingPERL.Message:ÐÑÐµÐŽÑÐ¿ÑÐµÐ¶ÐŽÐµÐœÐžÐµ! ÐÑ ÐœÐµ ÑÐŒÐŸÐ¶ÐµÑÐµ ÐœÐž ÑÐŸÐ·ÐŽÐ°Ð²Ð°ÑÑ ÐœÐŸÐ²ÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÐœÐž ÐºÐŸÐœÑÑÑÑÐžÑÐŸÐ²Ð°ÑÑ ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐµ Ð±ÐµÐ· ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž PERL. ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐÐœÑÐµÑÑÐµÐ¹Ñ ÐœÐµ ÑÐŒÐŸÐ³ ÐœÐ°Ð¹ÑÐž PERL  Ð² ÐÐ°ÑÐµÐ¹ ÑÐžÑÑÐµÐŒÐµ. ÐÑÐ»Ðž ÐÑ Ð¿ÐŸÐ»Ð°Ð³Ð°ÐµÑÐµ, ÑÑÐŸ ÐÑ Ð¿ÐŸÐ»ÑÑÐžÐ»Ðž ÑÑÐŸ ÑÐŸÐŸÐ±ÑÐµÐœÐžÐµ Ð¿ÐŸ ÐŸÑÐžÐ±ÐºÐµ, Ð¿ÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ° Ð¿ÑÐŸÐ²ÐµÑÑÑÐµ ÐÐ°ÑÑ ÐžÐœÑÑÐ°Ð»Ð»ÑÑÐžÑ Ðž Ð¿ÑÑÐž, ÑÐºÐ°Ð·Ð°ÐœÐœÑÐµ Ð² ÐºÐŸÐŒÐ°ÐœÐŽÐµ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐÐœÑÐµÑÑÐµÐ¹ÑÐ° ÐžÐ»Ðž ÑÐ°Ð¹Ð»Ðµ ÑÐºÑÐžÐ¿ÑÐ°.  
+MissingPERL.Title:ÐÑÑÑÑÑÑÐ²ÐžÐµ Ð¿ÑÑÐž Ðº PERL
+#******* MissingImageMagick ********
+MissingImageMagick.Message:ÐÐœÐžÐŒÐ°ÐœÐžÐµ! ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐÐœÑÐµÑÑÐµÐ¹Ñ ÐœÐµ ÑÐŒÐŸÐ³ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ ÐŒÐµÑÑÐŸ ÐœÐ°Ñ
+ÐŸÐ¶ÐŽÐµÐœÐžÑ Ð¿ÐŸÐŽÑ
+ÐŸÐŽÑÑÐµÐ¹ Ð²ÐµÑÑÐžÐž ImageMagick, Ðž Ð¿ÐŸÑÑÐŸÐŒÑ ImagePlug ÐœÐµ Ð±ÑÐŽÐµÑ ÑÐ°Ð±ÐŸÑÐ°ÑÑ. ÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ° ÐžÐœÑÑÐ°Ð»ÐžÑÑÐ¹ÑÐµ ImageMagick, ÐµÑÐ»Ðž ÐÑ Ñ
+ÐŸÑÐžÑÐµ ÑÐŸÐ·ÐŽÐ°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐ¹.
+MissingImageMagick.Title:ÐÑÑÑÑÑÑÐ²ÑÐµÑ ImageMagick
+#*****************************
+#
+#***** New Session *****
+NewCollectionPrompt.Base_Collection:ÐÐ°Ð·ÐžÑÑÐ¹ÑÐµ ÑÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐœÐ°:
+NewCollectionPrompt.Base_Collection_Tooltip:ÐÑÐ±ÑÐ°ÑÑ ÑÑÑÐµÑÑÐ²ÑÑÑÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÑÑÐŸÐ±Ñ Ð±Ð°Ð·ÐžÑÐŸÐ²Ð°ÑÑ ÐœÐŸÐ²ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐœÐ°
+NewCollectionPrompt.Collection_Description:ÐÐ¿ÐžÑÐ°ÐœÐžÐµ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ:
+NewCollectionPrompt.Collection_Name:ÐÐ°Ð¿ÐºÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž:
+NewCollectionPrompt.Collection_Scope_Personal:Ð­ÑÐŸ Ð¿ÐµÑÑÐŸÐœÐ°Ð»ÑÐœÐ°Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ  
+NewCollectionPrompt.Collection_Scope_Personal_Tooltip:Ð­ÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐ° ÑÐŸÐ»ÑÐºÐŸ ÑÐµÐŒ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»ÐµÐŒ, ÐºÐŸÑÐŸÑÑÐ¹ ÐµÐµ ÑÐŸÐ·ÐŽÐ°Ð», Ð° ÑÐ°ÐºÐ¶Ðµ Ð²ÑÐµ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ðž Ð² Ð³ÑÑÐ¿Ð¿Ðµ "all-collections-editor".  
+NewCollectionPrompt.Collection_Scope_Shared:Ð­ÑÐŸ ÐœÐµ Ð¿ÐµÑÑÐŸÐœÐ°Ð»ÑÐœÐ°Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ  
+NewCollectionPrompt.Collection_Scope_Shared_Tooltip:Ð­ÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐ° ÑÐŸÐ»ÑÐºÐŸ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»ÑÐŒÐž Ð² Ð³ÑÑÐ¿Ð¿Ðµ "all-collections-editor".  
+NewCollectionPrompt.Error:ÐÑÐžÐ±ÐºÐ° Ð² ÐœÐŸÐ²ÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+NewCollectionPrompt.Instructions:Ð§ÑÐŸÐ±Ñ ÑÐŸÐ·ÐŽÐ°ÑÑ ÐœÐŸÐ²ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, Ð·Ð°Ð¿ÐŸÐ»ÐœÐžÑÐµ Ð¿ÐŸÐ»Ñ, ÑÐ°ÑÐ¿ÐŸÐ»ÐŸÐ¶ÐµÐœÐœÑÐµ ÐœÐžÐ¶Ðµ.
+NewCollectionPrompt.NewCollection:ÐÐŸÐ²Ð°Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ
+NewCollectionPrompt.Title:Ð¡ÐŸÐ·ÐŽÐ°ÑÑ ÐœÐŸÐ²ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ.
+NewCollectionPrompt.Title_Clash:ÐÐ°Ð·Ð²Ð°ÐœÐžÐµ, ÐºÐŸÑÐŸÑÐŸÐµ ÐÑ Ð²ÑÐ±ÑÐ°Ð»Ðž ÐŽÐ»Ñ Ð²Ð°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÐ¶Ðµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ. ÐÑÐŸÐŽÐŸÐ»Ð¶ÐžÑÑ?
+NewCollectionPrompt.Title_Error:ÐÐ°Ð·Ð²Ð°ÐœÐžÐµ Ð¿ÐŸÐ»Ñ ÐŽÐŸÐ»Ð¶ÐœÐŸ Ð±ÑÑÑ Ð·Ð°Ð¿ÐŸÐ»ÐœÐµÐœÐŸ. ÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, ÐžÑÐ¿ÑÐ°Ð²ÑÑÐµ.
+#***** New Folder OrFilePrompt *****
+NewFolderOrFilePrompt.Default_File_Name:Ñ
+ÐŸÐ»ÐŸÑÑÐŸÐ¹
+NewFolderOrFilePrompt.Default_Folder_Name:ÐœÐŸÐ²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°
+NewFolderOrFilePrompt.Destination_Name:ÐŠÐµÐ»ÐµÐ²Ð°Ñ ÐÐ°Ð¿ÐºÐ°
+NewFolderOrFilePrompt.File_Name:ÐÐ°Ð·Ð²Ð°ÐœÐžÐµ Ð€Ð°Ð¹Ð»Ð°
+NewFolderOrFilePrompt.File_Name_Tooltip:ÐÐ²ÐµÑÑÐž ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð°
+NewFolderOrFilePrompt.Folder_Name:ÐÐ°Ð·Ð²Ð°ÐœÐžÐµ ÐÐ°Ð¿ÐºÐž
+NewFolderOrFilePrompt.Folder_Name_Tooltip:ÐÐ²ÐµÑÑÐž ÐžÐŒÑ ÐŽÐ»Ñ ÐœÐŸÐ²ÐŸÐ¹ Ð¿Ð°Ð¿ÐºÐž
+NewFolderOrFilePrompt.Title_Folder:Ð¡ÐŸÐ·ÐŽÐ°ÑÑ ÐœÐŸÐ²ÑÑ Ð¿Ð°Ð¿ÐºÑ
+NewFolderOrFilePrompt.Title_File:Ð¡ÐŸÐ·ÐŽÐ°ÑÑ ÐœÐŸÐ²ÑÐ¹ Ñ
+ÐŸÐ»ÐŸÑÑÐŸÐ¹ ÐŽÐŸÐºÑÐŒÐµÐœÑ
+#**********************
+#
+#******* OldWGET *******
+NoPluginExpectedToProcessFile.Message:ÐÐž ÐŸÐŽÐžÐœ ÐžÐ· Ð¿Ð»Ð°Ð³ÐžÐœÐŸÐ² ÐÑÐžÐœÑÑÐŸÑÐœ ÐœÐµ Ð¿ÑÐµÐŽÐœÐ°Ð·ÐœÐ°ÑÐµÐœ ÐŽÐ»Ñ ÐŸÐ±ÑÐ°Ð±ÐŸÑÐºÐž ÑÐ°Ð¹Ð»Ð° "{0}". (ÐÐŽÐœÐ°ÐºÐŸ, ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ Ð²ÐºÐ»ÑÑÐµÐœ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÐµÑÐ»Ðž Ð¿ÑÐµÐœÐ°ÐŽÐ»ÐµÐ¶ÐžÑ ÐŽÑÑÐ³ÐŸÐŒÑ ÑÐ°Ð¹Ð»Ñ, ÐœÐ°Ð¿ÑÐžÐŒÐµÑ ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ ÐœÐ° Ð²ÐµÐ± ÑÑÑÐ°ÐœÐžÑÐµ.) ÐÑÐŸÐ²ÐµÑÑÑÐµ, ÐžÐŒÐµÐµÑ Ð»Ðž ÑÐ°Ð¹Ð» Ð¿ÑÐ°Ð²ÐžÐ»ÑÐœÐŸÐµ ÑÐ°ÑÑÐžÑÐµÐœÐžÐµ. ÐÑÐ»Ðž ÐŸÐœÐŸ Ð¿ÑÐ°Ð²ÐžÐ»ÑÐœÐŸ, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ Ð¿Ð»Ð°Ð³ÐžÐœ UnknownPlug ÐŽÐ»Ñ ÐŸÐ±ÑÐ°Ð±ÐŸÑÐºÐž.  
+NoPluginExpectedToProcessFile.Title:ÐÐž ÐŸÐŽÐžÐœ ÐžÐ· Ð¿Ð»Ð°Ð³ÐžÐœÐŸÐ² ÐœÐµ Ð¿ÑÐµÐŽÐœÐ°Ð·ÐœÐ°ÑÐµÐœ ÐŽÐ»Ñ ÐŸÐ±ÑÐ°Ð±ÐŸÑÐºÐž ÑÐ°Ð¹Ð»Ð°
+#***********************
+#
+#***** OpenCollectionDialog *****
+OpenCollectionDialog.Available_Collections:ÐÐŸÑÑÑÐ¿ÐœÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+OpenCollectionDialog.Description:ÐÐ¿ÐžÑÐ°ÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+OpenCollectionDialog.Open:ÐÑÐºÑÑÑÑ
+OpenCollectionDialog.Open_Tooltip:ÐÐ°Ð³ÑÑÐ·ÐžÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð² Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ
+OpenCollectionDialog.Title:ÐÑÐºÑÑÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐÑÐžÐœÑÑÐŸÑÐœ  
+#**********************
+#
+#***** Options Pane inside CreatePane *****
+OptionsPane.Cancelled:- ÐŸÑÐŒÐµÐœÐµÐœÐŸ  
+OptionsPane.LogHistory:ÐÑÑÐŸÑÐžÑ ÑÐµÐ³ÐžÑÑÑÐ°ÑÐžÐž
+OptionsPane.Successful:ÑÑÐ¿ÐµÑÐœÑÐ¹
+OptionsPane.Scheduled:- ÐŸÑÐµÑÐµÐŽÑ  
+OptionsPane.Unknown:ÐœÐµÐžÐ·Ð²ÐµÑÑÐœÑÐ¹
+OptionsPane.Unsuccessful:- ÐœÐµÑÐŽÐ°ÑÐœÑÐ¹  
+#*******************
+#
+#***** Preferences *****
+Preferences:ÐÐ°ÑÑÑÐŸÐ¹ÐºÐž  
+Preferences.Connection:Ð¡ÐŸÐµÐŽÐžÐœÐµÐœÐžÐµ
+Preferences.Connection_Tooltip:Ð£ÑÑÐ°ÐœÐŸÐ²ÐžÑÑ URL Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž ÐÑÐžÐœÑÑÐŸÑÐœ Ðž ÐºÐŸÐœÑÐžÐ³ÑÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐµÐµ Ð¿ÑÐŸÐºÑÐž-ÑÐŸÐµÐŽÐžÐœÐµÐœÐžÐµ  
+Preferences.Connection.GLIServer_URL:URL ÑÐµÑÐ²ÐµÑÐ° ÐÑÐžÐœÑÑÐŸÑÐœ:  
+Preferences.Connection.GLIServer_URL_Tooltip:URL ÑÐµÑÐ²ÐµÑÐ° ÐÑÐžÐœÑÑÐŸÑÐœ "gliserver" ÑÐŸ ÑÐºÑÐžÐ¿ÑÐŸÐŒ CGI  
+Preferences.Connection.Library_Path:Ð¿ÑÑÑ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž:  
+Preferences.Connection.Library_Path_GS3:ÐÐµÐ± Ð¿ÑÑÑ ÐÑÐžÐœÑÑÐŸÑÐœ:
+Preferences.Connection.Library_Path_Tooltip:URL Ð²ÐµÐ±-ÑÐµÑÐ²ÐµÑÐ° ÐÑÐžÐœÑÑÐŸÑÐœ  
+Preferences.Connection.Library_Path_Tooltip_GS3:URL Ð°ÐŽÑÐµÑ Ð²ÐµÐ±ÑÐµÑÐ²ÐµÑÐ° ÐÑÐžÐœÑÑÐŸÑÐœ  
+Preferences.Connection.Library_Path_Connection_Failure:ÐÑÐžÐ±ÐºÐ° ÑÐŸÐµÐŽÐžÐœÐµÐœÐžÑ. ÐÑÐŸÐ²ÐµÑÑÑÐµ ÑÑÐŸ ÑÐµÑÐ²ÐµÑ ÐÑÐžÐœÑÑÐŸÑÐœ ÐŽÐ»Ñ {0} Ð·Ð°Ð¿ÑÑÐµÐœ.  
+Preferences.Connection.ProgramCommand:ÐÐŸÐŒÐ°ÐœÐŽÐ° Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸÐ³ÐŸ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ°:
+Preferences.Connection.ProgramCommand_Tooltip:ÐÐŸÐŒÐ°ÐœÐŽÐ° Ð·Ð°Ð¿ÑÑÐºÐ° Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÑ, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÐŸÐ¹ ÐŽÐ»Ñ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸÐ³ÐŸ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÐµ Ð·Ð°Ð±ÑÐŽÑÑÐµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ %1 ÐºÐ°Ðº ÐŒÐµÑÐºÑ-Ð·Ð°Ð³Ð»ÑÑÐºÑ ÐŽÐ»Ñ Ð°ÐŽÑÐµÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž ÑÐµÑÐµÐ²ÑÐµ Ð¿ÐŸÐŒÐµÑÐºÐž, Ð³ÐŽÐµ ÑÑÐŸ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸ.
+Preferences.Connection.Proxy_Host:ÐÑÐŸÐºÑÐž-Ñ
+ÐŸÑÑ
+Preferences.Connection.Proxy_Host_Tooltip:Ð£ÐºÐ°Ð¶ÐžÑÐµ Ð°ÐŽÑÐµÑ ÐÐ°ÑÐµÐ³ÐŸ Ð¿ÑÐŸÐºÑÐž-ÑÐµÑÐ²ÐµÑÐ°  
+Preferences.Connection.Proxy_Port:ÐÑÐŸÐºÑÐž-Ð¿ÐŸÑÑ
+Preferences.Connection.Proxy_Port_Tooltip:ÐÐŸÐŒÐµÑ Ð¿ÐŸÑÑÐ° ÐÐ°ÑÐµÐ³ÐŸ Ð¿ÑÐŸÐºÑÐž-ÑÐµÑÐ²ÐµÑÐ°
+Preferences.Connection.Servlet:Ð¡ÐµÑÐ²Ð»ÐµÑ ÐŒÐŸÐŽÑÐ»Ñ:
+Preferences.Connection.Servlet_Tooltip:ÐÐŸÐŽÑÐ»Ñ ÑÐµÑÐ²Ð»ÐµÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÑÑÐŸÐ±Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ ÐÐ°Ñ ÑÐ°Ð¹Ñ
+Preferences.Connection.Servlet_Tooltip2:ÐŒÐŸÐ¶ÐµÑ Ð²ÐžÐŽÐµÑÑ ÐžÑ
+
+Preferences.Connection.Site:Ð¡Ð°Ð¹Ñ:
+Preferences.Connection.Site_Tooltip:Ð¡Ð°Ð¹Ñ Ð² ÐºÐŸÑÐŸÑÐŸÐŒ ÐÑ Ñ
+ÐŸÑÐžÑÐµ ÑÐ°Ð±ÐŸÑÐ°ÑÑ
+Preferences.Connection.Use_Proxy:ÐÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ Ð¿ÑÐŸÐºÑÐž-ÑÐŸÐµÐŽÐžÐœÐµÐœÐžÐµ?
+Preferences.General:ÐÐ±ÑÐµÐµ
+Preferences.General_Tooltip:Ð£ÑÑÐ°ÐœÐŸÐ²ÐžÑÑ ÐœÐµÐºÐŸÑÐŸÑÑÐµ ÐŸÐ±ÑÐžÐµ Ð¿ÑÐµÐŽÐ¿ÐŸÑÑÐµÐœÐžÑ
+Preferences.General.Email:Ð­Ð»ÐµÐºÑÑÐŸÐœÐœÐ°Ñ Ð¿ÐŸÑÑÐ° Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ
+Preferences.General.Email_Tooltip:Ð­ÑÐŸÑ Ð°ÐŽÑÐµÑ ÑÐ»ÐµÐºÑÑÐŸÐœÐœÐŸÐ¹ Ð¿ÐŸÑÑÑ Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÐŽÐ»Ñ Ð»ÑÐ±ÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÐŸÐ·ÐŽÐ°ÐœÐœÐŸÐ¹ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÐÐÐ.
+Preferences.General.Font:ÐšÑÐžÑÑ:
+Preferences.General.Font_Tooltip:ÐšÑÐžÑÑ, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÑÐ¹ Ð² ÐÐÐ.
+Preferences.General.Interface_Language:Ð¯Ð·ÑÐº ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ°:
+Preferences.General.Interface_Language_Tooltip:ÐÑÐ±ÑÐ°ÑÑ Ð¶ÐµÐ»Ð°ÑÐµÐ»ÑÐœÑÐ¹ ÑÐ·ÑÐº ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ° Ðž ÐµÐ³ÐŸ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ, ÐºÐŸÑÐŸÑÑÐµ Ð±ÑÐŽÑÑ Ð¿ÐŸÐºÐ°Ð·Ð°ÐœÑ Ð².
+Preferences.General.Restart_Required:ÐÐÐ ÐŽÐŸÐ»Ð¶ÐµÐœ ÑÐµÐ¿ÐµÑÑ Ð±ÑÑÑ Ð¿ÐŸÐ²ÑÐŸÑÐœÐŸ Ð·Ð°Ð¿ÑÑÐµÐœ ÐŽÐ»Ñ Ð¿ÐŸÐ»ÐœÐŸÐ³ÐŸ ÐŸÐ±ÐœÐŸÐ²Ð»ÐµÐœÐžÑ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ°.
+Preferences.General.Manual_Restart_Required:ÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ° Ð¿ÐµÑÐµÐ·Ð°Ð¿ÑÑÑÐžÑÐµ ÐºÐ»ÐžÐµÐœÑ GLI ÐŽÐ»Ñ Ð¿ÑÐžÐŒÐµÐœÐµÐœÐžÑ ÐœÐ°ÑÑÑÐŸÐµÐº.  
+Preferences.General.Show_File_Size:ÐÐŸÐºÐ°Ð·Ð°ÑÑ ÑÐ°Ð·ÐŒÐµÑÑ ÑÐ°Ð¹Ð»Ð°
+Preferences.General.Show_File_Size_Tooltip:ÐÐŸÐºÐ°Ð·Ð°ÑÑ ÑÐ°Ð·ÐŒÐµÑÑ ÑÐ°Ð¹Ð»Ð° ÑÑÐŽÐŸÐŒ Ñ Ð²Ñ
+ÐŸÐ¶ÐŽÐµÐœÐžÑÐŒÐž Ð² ÑÐ°Ð±ÐŸÑÐµÐµ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐŸ Ðž ÑÐ°Ð¹Ð»ÐŸÐ²ÑÑ
+ ÐŽÐµÑÐµÐ²ÑÑÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.
+Preferences.General.View_Extracted_Metadata:ÐÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ Ð²ÑÐŽÐµÐ»ÐµÐœÐœÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+
+Preferences.General.View_Extracted_Metadata_Tooltip:ÐÐŸÐºÐ°Ð·Ð°ÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ, ÐžÐ·Ð²Ð»ÐµÑÐµÐœÐœÑÐµ Ð¿Ð»Ð°Ð³ÐžÐœÐ°ÐŒÐž ÐÑÐžÐœÑÑÐŸÑÐœ, Ð² ÑÐ¿ÐžÑÐºÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð² ÐŸÐ±ÐŸÐ³Ð°ÑÐµÐœÐœÐŸÐŒ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐž.  
+Preferences.Mode:Ð¡Ð¿ÐŸÑÐŸÐ±
+Preferences.Mode_Tooltip:Ð©ÐµÐ»ÐºÐœÐžÑÐµ ÐœÐ° Ð²Ñ
+ÐŸÐŽÐµ, ÑÑÐŸÐ±Ñ Ð²ÑÐ±ÑÐ°ÑÑ Ð¿ÐŸÐŽÑ
+ÐŸÐŽÑÑÐžÐ¹ ÑÑÐŸÐ²ÐµÐœÑ ÐŸÐ¿ÐµÑÐ°ÑÐžÐ¹.
+Preferences.Mode.Assistant:ÐÐŸÐŒÐŸÑÐœÐžÐº Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž
+Preferences.Mode.Assistant_Description:ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÑÑÐž ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž, ÑÑÐŸÐ±Ñ Ð¿ÐŸÐ»ÑÑÐžÑÑ ÐŽÐŸÑÑÑÐ¿ Ðº ÐŸÑÐœÐŸÐ²ÐœÑÐŒ ÐžÐœÑÑÑÑÐŒÐµÐœÑÐ°ÐŒ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐÐœÑÐµÑÑÐµÐ¹ÑÐ° ÐÑÐžÐœÑÑÐŸÑÐœ: ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ² Ðž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ðº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐŒ, ÑÐŸÐ·ÐŽÐ°ÐœÐžÐµ ÐœÐŸÐ²ÑÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹, ÑÑÐž Ð·ÐµÑÐºÐ°Ð»ÑÐœÑÐµ ÑÑÑÑÐºÑÑÑÑ ÑÑÑÐµÑÑÐ²ÑÑÑ, Ðž Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹.  
+Preferences.Mode.Librarian:ÐÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ°ÑÑ
+Preferences.Mode.Librarian_Description:Ð­ÑÐ° ÑÑÑÐ°ÐœÐŸÐ²ÐºÐ° Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ ÐŸÑÑÑÐµÑÑÐ²Ð»ÑÑÑ ÐœÐŸÑÐŒÐ°Ð»ÑÐœÐŸÐµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÐµ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐÐœÑÐµÑÑÐµÐ¹ÑÐ° ÐÑÐžÐœÑÑÐŸÑÐœ: ÑÐŸÐ·ÐŽÐ°ÐœÐžÐµ Ðž Ð¿ÑÐŸÐµÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ ÐœÐŸÐ²ÑÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹, ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ² Ðž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ðº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐŒ, Ð¿ÑÐŸÐµÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ ÐœÐŸÐ²ÑÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ Ðž Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹.
+Preferences.Mode.Expert:Ð­ÐºÑÐ¿ÐµÑÑ
+Preferences.Mode.Expert_Description:Ð­ÑÐ° ÑÑÑÐ°ÐœÐŸÐ²ÐºÐ° Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð¿ÑÐŸÐ²ÐŸÐŽÐžÑÑ ÐŸÐ¿ÑÑÐœÐŸÐµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÐµ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐÐœÑÐµÑÑÐµÐ¹ÑÐ° ÐÑÐžÐœÑÑÐŸÑÐœ. Ð ÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ ÐŽÐ»Ñ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»ÐµÐ¹, ÐºÐŸÑÐŸÑÑÐµ ÐžÐŒÐµÑÑ ÐŸÐ¿ÑÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÐÑÐžÐœÑÑÐŸÑÐœ Ðž ÑÐ¿ÐŸÑÐŸÐ±ÐœÑ Ð²ÑÐ¿ÐŸÐ»ÐœÐžÑÑ Ð·Ð°ÐŽÐ°ÑÐž Ð¿ÐŸÐžÑÐºÐ° Ðž ÑÑÑÑÐ°ÐœÐµÐœÐžÑ ÐœÐµÐ¿ÐŸÐ»Ð°ÐŽÐŸÐº, ÐºÐŸÑÐŸÑÑÐµ Ð²ÐºÐ»ÑÑÐ°ÑÑ ÐžÐœÑÐµÑÐ¿ÑÐµÑÐ°ÑÐžÑ Ðž ÐŸÑÐ»Ð°ÐŽÐºÑ Ð²ÑÐ¿ÑÑÐºÐ° ÐŸÑ PERL-ÑÐºÑÐžÐ¿ÑÐŸÐ². ÐÑÐµ ÑÑÐµÐŽÑÑÐ²Ð° ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐÐœÑÐµÑÑÐµÐ¹ÑÐ° ÐÑÐžÐœÑÑÐŸÑÐœ Ð¿ÑÐž ÑÑÐŸÐŒ ÐŽÐŸÑÑÑÐ¿ÐœÑ.  
+Preferences.Warnings:ÐÑÐµÐŽÑÐ¿ÑÐµÐ¶ÐŽÐµÐœÐžÑ
+Preferences.Warnings_Tooltip:Ð Ð°Ð·ÑÐµÑÐžÑÑ ÐžÐ»Ðž Ð±Ð»ÐŸÐºÐžÑÐŸÐ²Ð°ÑÑ ÑÐ°Ð·Ð»ÐžÑÐœÑÐµ ÐŽÐžÐ°Ð»ÐŸÐ³ÐŸÐ²ÑÐµ Ð¿ÑÐµÐŽÑÐ¿ÑÐµÐ¶ÐŽÐµÐœÐžÑ
+Preferences.Workflow:Ð¢ÐµÑ
+ÐœÐŸÐ»ÐŸÐ³ÐžÑÐµÑÐºÐžÐ¹ Ð¿ÑÐŸÑÐµÑÑ
+Preferences.Workflow_Tooltip:ÐÐžÐ·Ð°Ð¹Ðœ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ° ÑÐµÑ
+ÐœÐŸÐ»ÐŸÐ³ÐžÑÐµÑÐºÐŸÐ³ÐŸ Ð¿ÑÐŸÑÐµÑÑÐ°: ÐœÐ°Ð±ÐŸÑ, Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐºÐŸÑÐŸÑÐŸÐ³ÐŸ ÐŽÐŸÐ»Ð¶ÐœÐŸ Ð±ÑÑÑ ÐŽÐŸÑÑÑÐ¿ÐœÐŸ
+Preferences.Workflow.Predefined.Label:ÐÑÐµÐŽÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐœÑÐµ ÑÐµÑ
+ÐœÐŸÐ»ÐŸÐ³ÐžÑÐµÑÐºÐžÐµ Ð¿ÑÐŸÑÐµÑÑÑ
+Preferences.Workflow.Title:ÐÑÐŸÐ²ÐµÑÐžÑÑ Ð¿ÐŸÐ»Ðµ, Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÑÑÐµÐµ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ
+#**********************
+#
+#**** PreviewCommandDialog *******
+PreviewCommandDialog.Instructions:ÐÐ²ÐµÐŽÐžÑÐµ ÐºÐŸÐŒÐ°ÐœÐŽÑ ÐŽÐ»Ñ ÐŸÑÐºÑÑÑÐžÑ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÑ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸÐ³ÐŸ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÐµ Ð·Ð°Ð±ÑÐŽÑÑÐµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ %1 ÐºÐ°Ðº ÐŒÐµÑÐºÑ-Ð·Ð°Ð³Ð»ÑÑÐºÑ ÐŽÐ»Ñ Ð°ÐŽÑÐµÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž ÑÐµÑÐµÐ²ÑÐµ Ð¿ÐŸÐŒÐµÑÐºÐž, Ð³ÐŽÐµ ÑÑÐŸ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸ.
+PreviewCommandDialog.Title:ÐÐŸÐŒÐ°ÐœÐŽÐ° Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸÐ³ÐŸ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ°
+
+ShowPreviousCollection.Title:ÐÑÐŸÑÐŒÐŸÑÑÐµÑÑ ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÐºÐŸÑÐŸÑÐ°Ñ Ð±ÑÐ»Ð° ÑÐŸÐ±ÑÐ°ÐœÐ° ÑÐ°ÐœÐµÐµ.  
+ShowPreviousCollection.Message:ÐÑÐŸÐžÐ·ÑÐ»Ð° ÐŸÑÐžÐ±ÐºÐ° Ðž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÑÐŸÐ·ÐŽÐ°ÑÑ ÐœÐµ ÑÐŽÐ°Ð»ÐŸÑÑ. ÐÑ Ð¿ÑÐŸÑÐŒÐ°ÑÑÐžÐ²Ð°ÐµÑÐµ ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÐºÐŸÑÐŸÑÐ°Ñ Ð±ÑÐ»Ð° ÑÐŸÐ±ÑÐ°ÐœÐ° ÑÐ°ÐœÐµÐµ.  
+#**********************
+#
+#***** Remote Greenstone Server *****
+RemoteGreenstoneServer.Authentication_Message:ÐÐ²ÐµÐŽÐžÑÐµ ÐÐ°ÑÐµ ÐžÐŒÑ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ Ðž Ð¿Ð°ÑÐŸÐ»Ñ Ð² ÐÑÐžÐœÑÑÐŸÑÐœ:  
+RemoteGreenstoneServer.Authentication_Message_gs3:ÐÐ²ÐµÐŽÐžÑÐµ Ð²Ð°ÑÐµ ÐžÐŒÑ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ Ðž Ð¿Ð°ÑÐŸÐ»Ñ Greenstone ÐŽÐ»Ñ ÑÐ°Ð¹ÑÐ°:  
+RemoteGreenstoneServer.Error:ÐÐŸÐ·ÐœÐžÐºÐ»Ð° ÐŸÑÐžÐ±ÐºÐ° ÐœÐ° Ð²ÐœÐµÑÐœÐµÐŒ ÑÐµÑÐ²ÐµÑÐµ ÐÑÐžÐœÑÑÐŸÑÐœ Ð¿ÑÐž Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœÐžÐž ÐºÐŸÐŒÐ°ÐœÐŽÑ:\n{0-Error message}  
+RemoteGreenstoneServer.Error_Title:ÐÑÐžÐ±ÐºÐ° Ð²ÐœÐµÑÐœÐµÐ³ÐŸ ÑÐµÑÐ²ÐµÑÐ° ÐÑÐžÐœÑÑÐŸÑÐœ  
+RemoteGreenstoneServer.Progress:ÐÑÐŸÐ³ÑÐµÑÑ ÐœÐ° Ð²ÐœÐµÑÐœÐµÐŒ ÑÐµÑÐ²ÐµÑÐµ ÐÑÐžÐœÑÑÐŸÑÐœ:  
+RemoteGreenstoneServer.Steal_Lock_Message:Ð­ÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÑÐµÐ¹ÑÐ°Ñ Ð±Ð»ÐŸÐºÐžÑÐŸÐ²Ð°ÐœÐ° Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»ÐµÐŒ'{0-User name}'.\nÐÑ Ñ
+ÐŸÑÐžÑÐµ Ð¿ÐµÑÐµÐœÑÑÑ ÐºÐŸÐœÑÑÐŸÐ»Ñ ÐœÐ°ÐŽ ÑÑÐžÐŒ Ð±Ð»ÐŸÐºÐžÑÑÑÑÐžÐŒ ÑÐ°Ð¹Ð»ÐŸÐŒ (ÐœÐµ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ, ÑÐ°Ðº ÐºÐ°Ðº ÐŒÐŸÐ³ÑÑ Ð¿ÑÐŸÐ¿Ð°ÑÑÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ)?  
+#**********************
+#
+#***** Rename Prompt *****
+RenamePrompt.Name:ÐÐ°Ð·Ð²Ð°ÐœÐžÐµ:  
+RenamePrompt.Title:ÐÐµÑÐµÐžÐŒÐµÐœÐŸÐ²Ð°ÑÑ ÑÐ°Ð¹Ð»/Ð¿Ð°Ð¿ÐºÑ  
+#**********************
+#
+#***** Replace Prompt *****
+ReplacePrompt.Title:Ð§ÐµÐŒ Ð·Ð°ÐŒÐµÐœÐžÑÑ ÑÐ°Ð¹Ð» ...  
+#**********************
+#
+#***** Save Collection Box *****
+SaveCollectionBox.File_Name:ÐÐŒÑ Ð€Ð°Ð¹Ð»Ð°
+SaveCollectionBox.Files_Of_Type:ÐÐžÐŽÑ ÑÐ°Ð¹Ð»ÐŸÐ²:
+SaveCollectionBox.Look_In:Ð¡ÐŒÐŸÑÑÐµÑÑ Ð²:
+#**********************
+#
+#***** Save Progress Box *******
+SaveProgressDialog.Title:Ð¡ÐŸÑ
+ÑÐ°ÐœÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+#*******************************
+#
+Server.QuitManual:ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ ÐœÐµ ÑÐŒÐŸÐ³ Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž Ð·Ð°ÐºÑÑÑÑ ÑÐµÑÐ²ÐµÑ Ð»ÐŸÐºÐ°Ð»ÑÐœÐŸÐ¹\nÐ±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž. ÐÐŸÐ¶Ð°Ð»ÑÐ¹ÑÑÐ°, Ð²ÑÐ¹ÐŽÐžÑÐµ ÐžÐ· ÑÐµÑÐ²ÐµÑÐ°\nÐ²ÑÑÑÐœÑÑ, ÑÐµÐ»ÐºÐœÑÐ² ÐœÐ° Ð¿ÐµÑÐµÑÐµÑÐºÐœÑÑÐŸÐŒ ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐž Ð² ÐµÐ³ÐŸ Ð²ÐµÑÑ
+ÐœÐµÐŒ Ð¿ÑÐ°Ð²ÐŸÐŒ ÑÐ³Ð»Ñ\n, Ð·Ð°ÑÐµÐŒ ÑÐµÐ»ÐºÐœÐžÑÐµ OK Ð² ÑÑÐŸÐŒ ÐŽÐžÐ°Ð»ÐŸÐ³Ðµ.
+Server.QuitTimeOut:ÐÐŸÐºÐ°Ð»ÑÐœÐ°Ñ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ° ÐÑÐžÐœÑÑÐŸÑÐœ ÐœÐµ ÐŸÑÐ²ÐµÑÐžÐ»Ð° ÐœÐ° ÐºÐŸÐŒÐ°ÐœÐŽÑ\n Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐŸÐ³ÐŸ Ð·Ð°ÐºÑÑÑÐžÑ Ð² ÑÐµÑÐµÐœÐžÐµ {0} ÑÐµÐºÑÐœÐŽ. ÐÑ\nÐ¶ÐµÐ»Ð°ÐµÑÐµ ÐŸÐ¶ÐžÐŽÐ°ÑÑ Ð² ÑÐµÑÐµÐœÐžÐµ ÑÐ»ÐµÐŽÑÑÑÐžÑ
+ {0} ÑÐµÐºÑÐœÐŽ?
+Server.StartUpTimeOut:ÐÐŸÐºÐ°Ð»ÑÐœÐ°Ñ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ° ÐÑÐžÐœÑÑÐŸÑÐœ ÐœÐµ ÐŸÑÐ²ÐµÑÐ°ÐµÑ ÐœÐ° ÐºÐŸÐŒÐŒÐ°ÐœÐŽÑ Ð·Ð°Ð¿ÑÑÐºÐ° Ð² ÑÐµÑÐµÐœÐžÐž {0} ÑÐµÐºÑÐœÐŽ. Ð¥ÐŸÑÐžÑÐµÐ»Ðž Ð¶ÐŽÐ°ÑÑ ÐµÑÐµ  {0} ÑÐµÐºÑÐœÐŽ?  
+#
+#***** Sources *****
+Source.General:ÐÐ±ÑÐµÐµ
+#**********************
+#
+#***** Trees *****
+Tree.DownloadedFiles:Ð¡ÐºÐ°ÑÐ°ÐœÐœÑÐµ Ð€Ð°Ð¹Ð»Ñ  
+Tree.Files:ÑÐ°Ð¹Ð»Ñ
+Tree.Home:ÐÑÑ
+ÐŸÐŽÐœÐ°Ñ Ð¿Ð°Ð¿ÐºÐ° ({0})
+Tree.Root:ÐÐŸÐºÐ°Ð»ÑÐœÐŸÐµ ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐµ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐŸ
+Tree.World:ÐÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐÑÐžÐœÑÑÐŸÑÐœ
+#***********************
+#
+#***** Warning Dialog *****
+WarningDialog.Dont_Show_Again:ÐÐµ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÑÑ ÑÑÐŸ Ð¿ÑÐµÐŽÑÐ¿ÑÐµÐ¶ÐŽÐµÐœÐžÐµ ÑÐœÐŸÐ²Ð°
+WarningDialog.Dont_Show_Again_Message:ÐÐµ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÑÑ ÑÑÐŸ ÑÐŸÐŸÐ±ÑÐµÐœÐžÐµ ÑÐœÐŸÐ²Ð°
+WarningDialog.Invalid_Value:ÐÐœÐ°ÑÐµÐœÐžÐµ, ÐºÐŸÑÐŸÑÐŸÐµ ÐÑ Ð²Ð²ÐµÐ»Ðž Ð² Ð¿ÐŸÐ»Ðµ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹,\n ÐœÐµÐŽÐµÐ¹ÑÑÐ²ÐžÑÐµÐ»ÑÐœÐŸ ÐŽÐ»Ñ ÑÐºÐ°Ð·Ð°ÐœÐœÐŸÐ³ÐŸ ÑÐ²ÐŸÐ¹ÑÑÐ²Ð°.
+WarningDialog.Value:ÐÐ²ÐµÑÑÐž Ð·ÐœÐ°ÑÐµÐœÐžÐµ:
+#
+#****** WGet *****
+WGet.Prompt:WGet Ð·ÐµÑÐºÐ°Ð»ÑÐœÑÐ¹ ÐºÐ»ÐžÐµÐœÑ
+#
+#****** Workflows *****
+Workflow.AllPanels:ÐÑÐµ Ð¿Ð°ÐœÐµÐ»Ðž
+Workflow.LocalSourceCollectionBuilding:ÐÐŸÐºÐ°Ð»ÑÐœÑÐ¹ ÐžÑÑÐŸÑÐœÐžÐº ÐºÐŸÐœÑÑÑÑÐºÑÐžÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž
+Workflow.DocumentEnriching:ÐÐ¿ÐžÑÐ°ÐœÐžÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°  
+
+
+#********GEMS******
+
+GEMS.Title:Ð ÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+
+GEMS.OpenMetadataSetPrompt.Title:ÐÑÐºÑÑÑÑ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+GEMS.OpenMetadataSetPrompt.Open_Tooltip:ÐÑÐºÑÑÑÑ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐ¹ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+GEMS.Set_Description:ÐÐ¿ÐžÑÐ°ÐœÐžÐµ ÐœÐ°Ð±ÐŸÑÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+GEMS.OpenMetadataSetPrompt.Open:ÐÑÐºÑÑÑÑ  
+GEMS.OpenMetadataSetPrompt.Available_Sets:ÐÐŸÑÑÑÐ¿ÐœÑÐµ ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+GEMS.DeleteMetadataSetPrompt.Title:Ð£ÐŽÐ°Ð»ÐžÑÑ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+GEMS.DeleteMetadataSetPrompt.Delete_Tooltip:Ð£ÐŽÐ°Ð»ÐžÑÑ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐ¹ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+GEMS.DeleteMetadataSetPrompt.Delete:Ð£ÐŽÐ°Ð»ÐžÑÑ  
+GEMS.DeleteMetadataSetPrompt.Available_Sets:ÐÐŸÑÑÑÐ¿ÐœÑÐµ ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+GEMS.DeleteMetadataSetPrompt.Confirm_Delete:Ð¡ÐŽÐµÐ»Ð°Ð¹ÑÐµ ÐŸÑÐŒÐµÑÐºÑ ÐŸ ÑÐŸÐŒ, ÑÑÐŸ Ð²Ñ ÐŽÐµÐ¹ÑÑÐ²ÐžÑÐµÐ»ÑÐœÐŸ Ñ
+ÐŸÑÐžÑÐµ ÑÐŽÐ°Ð»ÐžÑÑ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+.  
+GEMS.DeleteMetadataSetPrompt.No_Set:ÐÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐœÐµ Ð²ÑÐ±ÑÐ°ÐœÑ  
+GEMS.Confirm_Removal:ÐÑ ÑÐ²ÐµÑÐµÐœÑ, ÑÑÐŸ Ð¶ÐµÐ»Ð°ÐµÑÐµ ÑÐŽÐ°Ð»ÐžÑÑ ÑÑÐŸÑ {0}?
+GEMS.Confirm_Removal_Title:ÐÐŸÐŽÑÐ²ÐµÑÐŽÐžÑÐµ ÑÐŽÐ°Ð»ÐµÐœÐžÐµ
+GEMS.Attribute:ÐÑÐžÐ·ÐœÐ°Ðº
+GEMS.Popup.AddElement:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐ»ÐµÐŒÐµÐœÑ  
+GEMS.Popup.DeleteElement:Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÐ»ÐµÐŒÐµÐœÑ  
+GEMS.Popup.AddSubElement:ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÑÐ±ÑÐ»ÐµÐŒÐµÐœÑ  
+GEMS.Popup.DeleteSubElement:Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÑÐ±ÑÐ»ÐµÐŒÐµÐœÑ  
+GEMS.NewMetadataSetPrompt.Title:ÐÐŸÐ²ÑÐ¹ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+GEMS.NewMetadataSetPrompt.Instructions:ÐÐ»Ñ ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÐœÐ°Ð±ÐŸÑÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð·Ð°Ð¿ÐŸÐ»ÐœÐžÑÐµ Ð¿ÐŸÐ»Ñ ÐœÐžÐ¶Ðµ:  
+GEMS.NewMetadataSetPrompt.Base_MetadataSet:ÐÐ·ÑÑÑ ÐŸÑÐœÐŸÐ²Ñ ÐŽÐ»Ñ ÑÑÐŸÐ³ÐŸ ÐœÐ°Ð±ÐŸÑÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐžÐ·:  
+GEMS.NewMetadataSetPrompt.Metadata_Title:ÐÐ°Ð³Ð»Ð°Ð²ÐžÐµ ÐœÐ°Ð±ÐŸÑÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+:  
+GEMS.NewMetadataSetPrompt.Metadata_Namespace:ÐÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐŸ ÐžÐŒÐµÐœ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+:  
+GEMS.NewMetadataSetPrompt.New_Metadata:ÐÐŸÐ²ÑÐ¹ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+GEMS.NewMetadataSetPrompt.Title_Error_Message:ÐÐŸÐ²ÑÐ¹ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐŽÐŸÐ»Ð¶ÐµÐœ ÐžÐŒÐµÑÑ ÐÐ°Ð³Ð»Ð°Ð²ÐžÐµ  
+GEMS.NewMetadataSetPrompt.Title_Error:ÐÐµ ÑÐºÐ°Ð·Ð°ÐœÐŸ Ð·Ð°Ð³Ð»Ð°Ð²ÐžÐµ  
+GEMS.NewMetadataSetPrompt.Namespace_Error_Message:ÐÐŸÐ²ÑÐ¹ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐŽÐŸÐ»Ð¶ÐµÐœ ÐžÐŒÐµÑÑ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐŸ ÐžÐŒÐµÐœ  
+GEMS.NewMetadataSetPrompt.Namespace_Error:ÐÐµ ÑÐºÐ°Ð·Ð°ÐœÐŸ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐŸ ÐžÐŒÐµÐœ  
+GEMS.SelectedLanguage:ÐÐŸÐ±Ð°Ð²ÐžÑÑ Ð°ÑÑÐžÐ±ÑÑÑ Ðº ÑÐ·ÑÐºÑ:  
+GEMS.Language:--ÐÑÐ±ÐµÑÐžÑÐµ Ð¯Ð·ÑÐº--  
+GEMS.LanguageDependent:Ð¯Ð·ÑÐºÐŸÐ·Ð°Ð²ÐžÑÐžÐŒÑÐµ Ð°ÑÑÐžÐ±ÑÑÑ  
+GEMS.Attribute_Table:ÐÑÑÐžÐ±ÑÑÑ  
+GEMS.Attribute_Deletion_Error:ÐÑÐžÐ±ÐºÐ° ÑÐŽÐ°Ð»ÐµÐœÐžÑ Ð°ÑÑÐžÐ±ÑÑÐ°  
+GEMS.Attribute_Deletion_Error_Message:Ð­ÑÐŸÑ Ð°ÑÑÐžÐ±ÑÑ ÐŸÐ±ÑÐ·Ð°ÑÐµÐ»ÐµÐœ Ðž ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÑÐŽÐ°Ð»ÐµÐœ  
+GEMS.Add_Lang_Depend_Attr_Error:ÐÑÐžÐ±ÐºÐ° ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ Ð°ÑÑÐžÐ±ÑÑÐ°  
+GEMS.Add_Lang_Depend_Attr_Error_Message:ÐÐµ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœ Â«ÑÐ·ÑÐºÐŸÐ·Ð°Ð²ÐžÑÐžÐŒÑÐ¹Â» Ð°ÑÑÐžÐ±ÑÑ, Ð¿ÑÐŸÑÑÐ±Ð° ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐµÐ³ÐŸ.  
+GEMS.Attribute_Edition_Error:ÐÑÐžÐ±ÐºÐ° ÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÑ Ð°ÑÑÐžÐ±ÑÑÐ°  
+GEMS.Attribute_Edition_Error_Message:ÐÑÑÐžÐ±ÑÑ ÐŸÐ±ÑÐ·Ð°ÑÐµÐ»ÐµÐœ Ðž ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ Ð¿ÑÑÑÑÐŒ  
+GEMS.Confirm_Save:Ð­ÑÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ð±ÑÐ»Ðž ÐžÐ·ÐŒÐµÐœÐµÐœÑ, Ð¶ÐµÐ»Ð°ÐµÑÐµ ÑÐŸÑ
+ÑÐ°ÐœÐžÑÑ?  
+GEMS.Confirm_Save_Title:Ð¡ÐŸÑ
+ÑÐ°ÐœÐžÑÑ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+  
+GEMS.Confirm_DeleteElement:ÐÑ ÑÐ²ÐµÑÐµÐœÑ Ð² ÑÐŸÐŒ, ÑÑÐŸ Ñ
+ÐŸÑÐžÑÐµ ÑÐŽÐ°Ð»ÐžÑÑ ÑÐ»ÐµÐŒÐµÐœÑ {0}?  
+GEMS.Confirm_DeleteElement_Title:Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÐ»ÐµÐŒÐµÐœÑ  
+GEMS.File_Deletion_Error_Message:Ð€Ð°Ð¹Ð» ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÑÐŽÐ°Ð»ÐµÐœ  
+GEMS.File_Deletion_Error:ÐÑÐžÐ±ÐºÐ° ÑÐŽÐ°Ð»ÐµÐœÐžÑ ÑÐ°Ð¹Ð»Ð°  
+GEMS.Namespace_Conflict_Message:ÐÑÐµÐŽÑÐ¿ÑÐµÐ¶ÐŽÐµÐœÐžÐµ: ÑÑÐŸ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐŸ ÐžÐŒÐµÐœ ÑÐ¶Ðµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÐŽÑÑÐ³ÐžÐŒ ÐœÐ°Ð±ÐŸÑÐŸÐŒ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+. ÐÑÐŸÐŽÐŸÐ»Ð¶ÐžÑÑ?  
+GEMS.Namespace_Conflict:ÐÐŸÐœÑÐ»ÐžÐºÑ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ² ÐžÐŒÐµÐœ  
+GEMS.Move_Up:ÐÐµÑÐµÐŒÐµÑÑÐžÑÑÑÑ Ð²Ð²ÐµÑÑ
+  
+GEMS.Move_Down:ÐÐµÑÐµÐŒÐµÑÑÐžÑÑÑÑ Ð²ÐœÐžÐ·  
+GEMS.Cannot_Undo:(ÑÑÐŸ ÐŽÐµÐ¹ÑÑÐ²ÐžÐµ ÐœÐµÐŸÐ±ÑÐ°ÑÐžÐŒÐŸ)  
+
+GEMS.AttributeTable.Name:ÐÐŒÑ  
+GEMS.AttributeTable.Language:Ð¯Ð·ÑÐº  
+GEMS.AttributeTable.Value:ÐÐœÐ°ÑÐµÐœÐžÐµ  
+GEMS.NewMetadataElementNamePrompt.Title:ÐÐŸÐ²ÑÐ¹ ÑÐ»ÐµÐŒÐµÐœÑ  
+GEMS.NewMetadataElementNamePrompt.Name:ÐÐ²ÐµÐŽÐžÑÐµ ÐžÐŒÑ ÐŽÐ»Ñ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÑÐ»ÐµÐŒÐµÐœÑÐ°  
+GEMS.NewMetadataElementNamePrompt.SubTitle:ÐÐŸÐ²ÑÐ¹ ÑÑÐ±ÑÐ»ÐµÐŒÐµÐœÑ  
+GEMS.NewMetadataElementNamePrompt.SubName:ÐÐ²ÐµÐŽÐžÑÐµ ÐžÐŒÑ ÐŽÐ»Ñ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÑÑÐ±ÑÐ»ÐµÐŒÐµÐœÑÐ°  
+GEMS.NewMetadataElementNamePrompt.Name_Error_Message:Ð­Ð»ÐµÐŒÐµÐœÑ Ñ ÑÐ°ÐºÐžÐŒ ÐžÐŒÐµÐœÐµÐŒ ÑÐ¶Ðµ ÑÑÑÐµÑÑÐ²ÑÐµÑ.  
+GEMS.NewMetadataElementNamePrompt.Name_Error:ÐÑÐžÐ±ÐºÐ° ÐžÐŒÐµÐœÐž ÑÐ»ÐµÐŒÐµÐœÑÐ°  
+GEMS.NewMetadataElementNamePrompt.EmptyName_Error_Message:ÐÐŸÐ²ÑÐ¹ ÑÐ»ÐµÐŒÐµÐœÑ ÐŽÐŸÐ»Ð¶ÐµÐœ ÐŸÐ±Ð»Ð°ÐŽÐ°ÑÑ ÐžÐŒÐµÐœÐµÐŒ.  
+
+
+GEMS.No_Set_Loaded:ÐÐµ Ð·Ð°Ð³ÑÑÐ¶ÐµÐœÐŸ ÐœÐž ÐŸÐŽÐœÐŸÐ³ÐŸ ÐœÐ°Ð±ÐŸÑÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+. ÐÑÐ±ÐµÑÐžÑÐµ Ð€Ð°Ð¹Ð»->ÐÐŸÐ²ÑÐ¹ ÐŽÐ»Ñ ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÐœÐ°Ð±ÐŸÑÐ°, ÐžÐ»Ðž Ð€Ð°Ð¹Ð»->ÐÑÐºÑÑÑÑ ÐŽÐ»Ñ ÐŸÑÐºÑÑÑÐžÑ ÑÑÑÐµÑÑÐ²ÑÑÑÐµÐ³ÐŸ ÐœÐ°Ð±ÐŸÑÐ°.  
Index: main/tags/2.83/gli/classes/dictionary_ta.properties
===================================================================
--- main/tags/2.83/gli/classes/dictionary_ta.properties	(revision 21123)
+++ main/tags/2.83/gli/classes/dictionary_ta.properties	(revision 21123)
@@ -0,0 +1,1324 @@
+#*******************
+#** Language Orientation Property
+Component.Orientation:LTR
+
+#*******************
+#
+#***** AboutDialog *****
+AboutDialog.Acknowledgement:à®šà®©à¯à®±à®¿à®€à¯à®°à®¿à®µà®¿à®€à¯à®€à®²à¯ à®€à®©à®¿à®¯à¯à®°à®¿à®®à¯ à®šà®¿à®°à®²à¯à®à®³à¯, à®€à¯à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®
+à®²à¯à®²à®€à¯  à®ªà®¿à®°à®¿à®µà¯à®à®³à¯...  
+AboutDialog.Date:(à®à®ªà¯à®°à®¿à®²à¯ 2009)  
+AboutDialog.Item0:Apache Software Foundation (http://www.apache.org/)à®à®°à¯à®šà¯à®€à¯  'Xerces Java 1'  
+AboutDialog.Item2:Free Software Foundation, Inc. (http://www.gnu.org/software/wget/wget.html)à®à®°à¯à®šà¯à®€à¯ 'WGet'  
+AboutDialog.Item3:Quality First Software GmbH. (http://www.qfs.de/en/qflib/index.html)à®à®°à¯à®šà¯à®€à¯ 'qflib'  
+AboutDialog.Item4:Bruno Dumon and contributors (http://pollo.sourceforge.net/)à®à¯à®¯à¯à®€ 'ExtensionFileFilter.class'  
+AboutDialog.Item5:vladi21 (http://www.experts-exchange.com/)à®à®°à¯à®šà¯à®€à¯ 'How to disable file renaming in file chooser'  
+AboutDialog.Item6:'Autoscrolling' - Java Swing by Robert Eckstein, Marc Loy & Dave Wood (http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf)  
+AboutDialog.Item7:'Add ghosted drag images to your JTrees' - By Andrew J. Armstrong (http://www.javaworld.com/javaworld/javatips/jw-javatip114.html)  
+AboutDialog.Item8:Walter Schatz à®à¯à®à¯à®€à¯à®€ 'Stop annoying java.prefs error when you don't have superuser access'  
+AboutDialog.Item9:Dropline Neu à®à®°à¯à®šà¯à®€à¯ 'New folder', 'delete'  'help' à®à¯à®±à¯à®®à¯à®ªà®à®à®³à¯!   Silvestre Herrera à®à®¯à®à¯à®à®¿à®¯ à®à¯à®±à¯à®®à¯à®ªà®à®®à¯, http://art.gnome.org/ à®à®²à¯ à®à®¿à®à¯à®à¯à®à¯à®®à¯  
+AboutDialog.Java_Req:Java à®®à¯à®©à¯à®ªà¯à®°à¯à®³à¯ Sun Microsystems Inc  à®à®à®¯ à®µà®°à¯à®€à¯à®€à® à®à¯à®±à®¿à®¯à¯à®à¯. JRE, Supplemental License Terms(http://java.sun.com/j2se/1.4.1/j2re-1_4_1_02-license.html) à®à¯à®Žà®¿à®²à¯ à®®à®°à¯à®ªà®à®¿à®µà®¿à®©à®¿à®¯à¯à®à®ªà¯à®ªà®à¯à®à®¿à®°à®€à¯.  
+AboutDialog.Java_Req_One:à®à®šà¯à®€ à®ªà¯à®°à¯à®³à®¿à®²à¯ RSA Security, Inc. à®à®°à®¿à®®à¯ à®
+à®³à®¿à®à¯à®à®ªà®à¯à® à®à¯à®±à®¿à®®à¯à®°à¯ à®
+à®à®à®¿à®¯à®¿à®°à¯à®à¯à®à®¿à®°à®€à¯.  
+AboutDialog.Java_Req_Two:IBM à®à®°à®¿à®®à¯ à®
+à®³à®¿à®à¯à®à®ªà®à¯à® à®à®¿à®² à®ªà®à¯à®€à®¿à®à®³à¯ http\://oss.software.ibm.com/icu4j/ à®à®²à¯ à®à®¿à®à¯à®à¯à®à¯à®®à¯  
+AboutDialog.Thanks:à®µà®²à¯à®¯à®¿à®²à¯ à®à®Ÿà®µà®Ÿà®µà¯à®ªà¯à®ªà®±à¯à®±à®¿ à®à¯à®¯à¯à®€à®¿ à®à¯à®à¯à®€à¯à®€à®µà®°à¯à®à®³à¯à®à¯à®à¯ à®à®à®³à¯ à®šà®©à¯à®±à®¿...  
+AboutDialog.Title:à®ªà®±à¯à®±à®¿...  
+AboutDialog.Title_One:à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®²à¯à®ªà¯à®°à¯à®°à®¿à®¯à®©à¯ à®à®à¯à®®à¯à®à®®à¯  
+AboutDialog.Title_Two:à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®à®¿à®à®¿à®à¯à®à®²à¯  à®²à¯à®ªà¯à®°à®°à®¿, à®¯à¯à®©à®¿à®µà¯à®°à¯à®à®¿à®à®¿ à®à®à®ª à®µà¯à®à®Ÿà®à¯à®à¯  
+AboutDialog.Copyright:à®ªà®¿à®°à®à¯à®°(à®ªà®€à®¿à®ªà¯à®ªà¯) à®à®°à®¿à®®à¯ (C)2003-2009 à®šà¯à®à®¿à®²à®£à¯à®à¯ à®à®¿à®à®¿à®à¯à®à®²à¯ à®²à¯à®ªà¯à®°à®°à®¿ à®ªà¯à®°à®Ÿà®à¯à®à¯à®à¯  
+AboutDialog.Copyright_Two:GPL à®à¯à®Žà®¿à®²à¯ à®ªà®¿à®°à®à¯à®°à®¿à®à¯à®à®ªà¯à®ªà®à¯à®à®€à¯.  à®µà®¿à®µà®°à®à®³à¯à®à¯à®à¯ LICENSE.txt à®ªà®Ÿà®°à¯à®à¯à®à®µà¯à®®à¯.  
+#***********************
+#
+#***** Audit Table *****
+AuditTable.File:à®à¯à®ªà¯à®ªà¯ à®ªà¯à®¯à®°à¯  
+#***********************
+#
+#***** Auto Filter *****
+Autofilter.AND:à®®à¯à®²à¯à®®à¯  
+Autofilter.Ascending:à®à®°à¯à®®à¯à®à®®à®Ÿà®©  
+Autofilter.Case_Sensitive:à®à®¿à®±à¯à®±à¯à®Žà¯à®€à¯à®€à¯à®®à¯â à®ªà¯à®°à¯à®Žà¯à®€à¯à®€à¯à®®à¯â à®€à®Ÿà®°à®€à®®à®¿à®¯à®ªà®à¯à®€à¯à®€à®µà¯à®£à¯à®à¯à®®à¯  
+Autofilter.Custom_Filter:à®®à¯à®²à¯à®€à®°à®®à¯  
+Autofilter.Descending:à®à®±à®à¯à®®à¯à®à®®à®Ÿà®©  
+Autofilter.Filter_By_Value:à®à®³à®¿à®¯  
+Autofilter.Name:à®ªà®€à¯à®€à®¿ à®ªà¯à®¯à®°à¯  
+Autofilter.None:à®à®©à¯à®±à¯à®®à®¿à®²à¯à®²à¯  
+Autofilter.Operator:à®šà®¿à®ªà®šà¯à®€à®©à¯  
+Autofilter.OR:à®
+à®²à¯à®²à®€à¯  
+Autofilter.Order:à®µà®°à®¿à®à¯ à®à¯à®¯à¯à®€à®²à¯  
+Autofilter.Order_Tooltip:à®à®à¯à®à¯à®¯à¯à®€ à®à®°à¯à®ªà¯à®ªà¯à®à®³à¯ à®à®µà¯à®µà®Ÿà®°à¯ à®µà®°à®¿à®à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+Autofilter.Remove:à®µà®à®¿à®à®à¯à®à®¿à®¯à®¯à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+Autofilter.Remove_Tooltip:à®à®šà¯à®€ à®µà®à®¿à®à®à¯à®à®¿à®¯à®¯à¯ à®
+à®à¯à®à®µà®£à¯ à®ªà®€à¯à®€à®¿à®¯à®¿à®²à®¿à®°à¯à®šà¯à®€à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+Autofilter.Set:à®µà®à®¿à®à®à¯à®à®¿à®¯à®¯à¯ à®
+à®®à¯à®à¯à®à®µà¯à®®à¯  
+Autofilter.Set_Tooltip:à®à®šà¯à®€ à®µà®à®¿à®à®à¯à®à®¿à®¯à®¯à¯ à®
+à®à¯à®à®µà®£à¯ à®ªà®€à¯à®€à®¿à®¯à®¿à®²à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+Autofilter.Table_Header_Tooltip:{0} à®à®²à¯ à®µà®à®¿à®à®à¯à®à®µà¯à®®à¯  
+Autofilter.Title:à®€à®Ÿà®šà¯ à®à®¯à®šà¯à®à¯à®®à¯ à®µà®à®¿à®à®à¯à®à®¿ à®®à¯à®€à®°à®µà¯  
+Autofilter.eqeq:à®à®®à®®à®Ÿà®©à®€à¯  
+Autofilter.!eq:à®à®®à®®à®Ÿà®à®µà®¿à®²à¯à®²à¯  
+Autofilter.<:à®®à¯à®²à¯à®®à¯ à®à¯âà®±à¯à®µà¯  
+Autofilter.<eq:à®®à¯à®²à¯à®®à¯ à®à¯âà®±à¯à®µà¯ à®
+à®²à¯à®²à®€à¯ à®à®®à®®à®Ÿà®©à®€à¯  
+Autofilter.>:à®®à¯à®²à¯à®®à¯ à®
+à®€à®¿à®à®®à¯  
+Autofilter.>eq:à®®à¯à®²à¯à®®à¯ à®
+à®€à®¿à®à®®à¯ à®
+à®²à¯à®²à®€à¯ à®à®®à®®à®Ÿà®©à®€à¯  
+Autofilter.^:à®à®à®©à¯ à®€à¯à®à®à¯à®®à¯  
+Autofilter.!^:à®à®à®©à¯ à®€à¯à®à®à®à¯à®µà®€à®¿à®²à¯à®²à¯  
+Autofilter.$:à®à®à®©à¯ à®®à¯à®à®¿à®à®¿à®°à®€à¯  
+Autofilter.!$:à®à®à®©à¯ à®®à¯à®à®¿à®µà®€à®¿à®²à¯à®²à¯  
+Autofilter.?:à®à®³à¯à®³à®¿à®°à¯à®ªà¯à®ªà®€à¯  
+Autofilter.!?:à®à®³à¯à®³à¯ à®à®²à¯à®²à¯  
+#
+#     ********************************************************
+#     *************** Collection Design Module ***************
+#     ********************************************************
+#     * The dictionary  phrases  used in the creation of the *
+#     * Colection  Design  Module. Note that we  still  have *
+#     * access  to the format  arguments (argument  32+) for *
+#     * html formatting.                                     *
+#     ********************************************************
+CDM.ArgumentConfiguration.Bad_Integer:<html>à®šà®¿à®ªà®šà¯à®€à®©à¯ '{0}'  à®€à®¿à®°à¯à®à¯à®à¯ à®®à¯à®Žà¯ à®à®£à¯ à®µà¯à®£à¯à®à¯à®®à¯, <br>à®à®šà®Ÿà®²à¯ à®®à¯à®Žà¯ à®à®£à¯ {1} à®à®°à¯à®šà¯à®€à¯ à®
+à®²à®à®¿à® à®®à¯à®à®¿à®¯à®Ÿà®€à¯.</html>  
+CDM.ArgumentConfiguration.Error_Title:à®šà®¿à®ªà®šà¯à®€à®©à¯à®à®³à®¿à®²à¯ à®€à®µà®±à¯.  
+CDM.ArgumentConfiguration.Header:<HTML><STRONG><FONT FACE={FONT} COLOR=Black SIZE=5><CENTER>à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ {0} à®°à¯à®à¯à®à¯ à®šà®¿à®ªà®šà¯à®€à®©à®¿à®à®³à¯ à®µà®à®¿à®µà®®à¯à®à¯à®à®µà¯à®®à¯</CENTER></FONT></STRONG></HTML>  
+CDM.ArgumentConfiguration.No_Value:à®šà®¿à®ªà®šà¯à®€à®šà¯ '{0}' à®€à®¿à®°à¯à®à¯à®à¯ à®®à®€à®¿à®ªà¯à®ªà¯à®£à¯ à®µà¯à®£à¯à®à¯à®®à¯, à®à®°à¯à®ªà¯à®ªà®¿à®©à¯à®®à¯ à®®à®€à®¿à®ªà¯à®ªà¯à®£à¯ à®à®€à¯à®µà¯à®®à¯ à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à®µà®¿à®²à¯à®²à¯  
+CDM.ArgumentConfiguration.Required_Argument:à®šà®¿à®ªà®šà¯à®€à®šà¯ '{0}' à®€à®¿à®°à¯à®à¯à®à¯ à®à®°à¯ à®®à®€à®¿à®ªà¯à®ªà¯à®£à¯ à®à®à¯à®à®¯à®®à® à®à¯à®à¯à®à¯à®à®µà¯à®£à¯à®à¯à®®à¯.  
+CDM.ArgumentConfiguration.Title:à®šà®¿à®ªà®šà¯à®€à®©à¯à®à®³à¯à®à¯à®à¯ à®µà®à®¿à®µà®®à¯à®à¯à®à®µà¯à®®à¯  
+CDM.BuildTypeManager.Title:à®à¯à®à¯à®à¯ à®à®à¯à®à®šà®¿à®°à®²à¯ à®€à¯à®°à¯à®µà¯à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+CDM.BuildTypeManager.mg:MG  
+CDM.BuildTypeManager.mg_Description:à®à®€à¯à®€à®Ÿà®©à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®à®ªà®¯à¯à®à®¿à®à¯à®à¯à®®à¯ à®®à¯à®² à®à¯à®à¯à®à¯ à®à®à¯à®à®šà®¿à®°à®²à¯, à®®à¯à®à¯à®à®¿à®¯à¯à®®à®Ÿà® Alistair Moffat  à®à®©à¯à®ªà®µà®°à®Ÿà®²à¯ à®®à¯à®®à¯à®ªà®à¯à®€à¯à®€à¯à®€à®¿à®¯à¯à®€à¯à®®à¯, Managing Gigabytes à®à®©à¯à®à®¿à®° à®ªà®Ÿà®°à®®à¯à®ªà®°à®¿à®¯ à®šà¯à®²à®¿à®²à¯ à®µà®¿à®³à®à¯à®à®¿à®¯à®€à®Ÿà®à¯à®®à¯. à®à®€à¯ à®ªà®à¯à®€à®¿ à®
+à®³à®µà®¿à®²à¯ à®
+à®à®µà®°à®¿à®à¯ à®ªà®à¯à®€à¯à®€à¯à®®à¯; à®à¯à®à¯à®à¯ à®à®à¯à®à®šà®¿à®°à®²à¯, à®ªà¯à®²à®¿à®¯à®©à¯ à®
+à®²à¯à®²à®€à¯ à®ªà®à®¿à®šà®¿à®²à¯ à®µà®°à®¿à®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®®à¯ à®€à¯à®à¯à®€à®²à¯ à®à¯à®¯à¯à®¯à®²à®Ÿà®®à¯ (à®à®°à¯à®ªà¯à®ªà®¿à®©à¯à®®à¯ à®à®°à®£à¯à®à¯à®®à¯ à®à®°à¯à®à®®à®¯à®€à¯à®€à®¿à®²à¯ à®®à¯à®à®¿à®¯à®Ÿà®€à¯). à®€à®¿à®°à®à¯à®à®¿à®²à¯ à®à¯à®°à®¿à®ªà¯à®ªà®¿à®à¯à® à®à®µà¯à®µà¯à®°à¯ à®
+à®à®µà®°à®¿à®à¯à®à¯à®à¯à®®à¯, à®µà¯à®µà¯à®µà¯à®°à¯ à®
+à®à®µà®°à®¿à®à¯ à®à¯à®ªà¯à®ªà¯ à®à®£à¯à®à®Ÿà®à¯à®à®ªà¯à®ªà®à¯à®®à¯. à®à¯à®±à¯à®±à¯à®à®°à¯ à®€à¯à®à¯à®µà®€à®°à¯âà®à¯à®à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®à®²à¯à®²à®Ÿ à®à¯à®²à¯ à®
+à®³à®µà®¿à®²à¯ "AND" à®€à¯à®à®²à¯ à®à¯à®¯à¯à®¯à¯à®®à¯;  à®ªà®¿à®°à®à¯ à®à®¿à®à¯à®€à¯à®€ à®µà®¿à®à¯à®à®³à®¿à®²à¯ à®à¯à®à¯à®€à¯à®€ à®à¯à®²à¯ à®à®°à¯à®à¯à®à®¿à®°à®€à®Ÿ à®à®©à¯à®°à¯ à®ªà®°à®¿à®à¯à®€à®¿à®à¯à®à¯à®®à¯. à®à®€à¯ à®ªà®²à®€à®à®µà¯ à®®à®¿à® à®ªà¯à®°à®¿à®¯ à®€à®¿à®°à®à¯à®à¯à®à®³à®¿à®²à¯ (à®ªà®² GB à®à¯à®£à¯à® à®à®°à¯à®à®³à¯) à®ªà®°à®¿à®à¯à®€à®©à¯ à®à¯à®¯à¯à®¯à®ªà¯à®ªà®à¯à®à¯à®³à¯à®³à®€à¯.  
+CDM.BuildTypeManager.mgpp:MGPP  
+CDM.BuildTypeManager.mgpp_Description:à®à®šà¯à®€ à®ªà¯à®€à®¿à®¯ MG à®ªà®€à®¿à®ªà¯à®ªà¯ (MG plus plusâ) à®šà¯à®à®¿à®²à®£à¯à®à¯ à®à®¿à®à®¿à®à¯à®à®²à¯ à®²à¯à®ªà¯à®°à®°à®¿ à®ªà¯à®°à®Ÿà®à¯à®à¯à®à¯ à®®à¯à®®à¯à®ªà®à¯à®€à¯à®€à®¿à®¯à®€à¯. à®à®€à¯  à®à¯à®²à¯ à®
+à®³à®µà®¿à®²à¯ à®
+à®à®µà®°à®¿à®à¯ à®ªà®à¯à®€à¯à®€à¯à®®à¯, à®
+à®€à¯à®à¯à®£à¯à®à¯ à®ªà¯à®²à®®à¯, à®à¯à®±à¯à®±à¯à®à®°à¯, à®
+à®°à¯à®à®Ÿà®®à¯ à®€à¯à®à¯à®€à®²à¯ à®à¯à®à¯à®à¯ à®à®à¯à®à®šà®¿à®°à®²à¯ à®à®€à¯à®€à®¿à®¯à®Ÿà®²à¯ à®à¯à®¯à¯à®¯à®²à®Ÿà®®à¯. à®ªà¯à®²à®¿à®¯à®©à¯ (Boolean) à®€à¯à®à¯à®€à®²à¯ à®à¯à®¯à¯à®€à¯ à®à®¿à®à¯à®€à¯à®€ à®µà®¿à®à¯à®à®³à¯ à®µà®°à®¿à®à¯à®ªà®à¯à®€à¯à®€à®²à®Ÿà®®à¯. à®à®°à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®€à®¿à®°à®à¯à®à®²à¯ à®à®°à¯à®à®°à¯ à®
+à®à®µà®°à®¿à®à¯ à®®à®à¯à®à¯à®®à¯ à®à®£à¯à®à®Ÿà®à¯à®à®ªà®à¯à®®à¯; à®µà®³à®®à¯/à®ªà®à¯à®€à®¿ à®
+à®³à®µà®¿à®²à¯à®®à¯ à®à®°à¯ / à®®à¯à®€à®°à®µà¯ à®ªà¯à®²à®®à¯à®à®³à¯à®®à¯ à®à®šà¯à®€ à®à®°à¯ à®
+à®à®µà®°à®¿à®à®¯à®Ÿà®²à¯ à®à¯à®¯à¯à®¯à®Ÿà®³ à®®à¯à®à®¿à®¯à¯à®®à¯. à®ªà®² à®
+à®à®µà®°à®¿à®à¯à®à®³à¯à®³à¯à®³ à®€à®¿à®°à®à¯à®à¯à®à®³à¯à®à¯à®à¯, à®à®€à¯ MG à®à®ªà®¯à¯à®à®€à¯à®€à®Ÿà®²à¯ à®à®±à¯à®ªà®à¯à®®à¯ à®€à®¿à®°à®à¯à®à®²à¯à®µà®¿à® à®à®©à¯à®©à¯à®®à¯ à®à®¿à®±à®¿à®¯ à®€à®¿à®°à®à¯à®à¯ à®à®±à¯à®ªà®à¯à®®à¯. à®ªà¯à®°à®¿à®¯ à®€à®¿à®°à®à¯à®à¯à®à®³à®¿à®²à¯ à®€à¯à®à¯à®µà®€à¯ à®à®¿à®°à®¿à®€à¯ à®€à®Ÿà®®à®€à®®à®Ÿà®à®²à®Ÿà®®à¯ à®à®©à¯à®©à®¿à®² à®
+à®à®µà®°à®¿à®à¯ à®à®€à¯à®€à®¿ à®à¯à®²à¯ à®
+à®³à®µà®¿à®²à¯à®€à®Ÿà®©à¯, à®
+à®€à®Ÿà®µà®€à¯ à®ªà®à¯à®€à®¿ à®
+à®³à®µà®¿à®²à¯ à®
+à®²à¯à®².  
+CDM.BuildTypeManager.lucene:à®²à¯à®à¯à®©à¯  
+CDM.BuildTypeManager.lucene_Description:à®²à¯à®à¯à®©à¯ à®®à¯à®®à¯à®ªà®à¯à®€à¯à®€à®¿à®¯à®€à¯ â Apache Software Foundation à®à®à¯à®®à¯. à®
+à®€à¯ à®ªà¯à®²à®®à¯ à®®à¯à®²à¯à®®à¯ à®
+à®°à¯à®à®Ÿà®®à¯ à®€à¯à®à¯à®€à®²à¯ à®à¯à®¯à¯à®¯à®Ÿà®³à¯à®®à¯. à®à®°à¯à®ªà¯à®ªà®¿à®©à¯à®®à¯ à®à®°à¯ à®
+à®³à®µà®¿à®²à¯à®€à®Ÿà®©à¯ (à®
+à®€à®Ÿà®µà®€à¯ à®®à¯à®Žà¯ à®à®µà®£à®à¯à®à®³à¯ à®
+à®²à¯à®²à®€à¯ à®€à®©à®¿ à®ªà®à¯à®€à®¿à®à®³à¯ à®®à®à¯à®à¯à®®à¯, à®à®°à®£à¯à®à¯à®®à¯ à®à®°à¯ à®à®®à®¯à®€à¯à®€à®¿à®²à¯ à®®à¯à®à®¿à®¯à®Ÿà®€à¯). à®à®à®¯à®Ÿà®²à¯ à®à®°à¯ à®€à®¿à®°à®à¯à®à®²à¯  à®®à¯à®²à¯à®®à¯ à®ªà®à¯à®€à®¿ à®
+à®à®µà®°à®¿à®à¯à®à®³à¯à®à¯à®à¯ à®µà¯à®µà¯à®µà¯à®±à¯ à®à®°à®£à¯à®à¯ à®
+à®à®µà®°à®¿à®à¯à®à®³à¯ à®µà¯à®£à¯à®à¯à®®à¯. à®²à¯à®à¯à®©à¯ à®à®€à¯ à®®à®Ÿà®€à®¿à®°à®¿ à®€à¯à®à¯à®®à¯ à®šà¯à®à¯à®ªà®®à¯ MGPP à®à¯à®à¯ à®
+à®³à®¿à®à¯à®à®¿à®°à®€à¯, à®à®€à®±à¯à®à¯ à®®à¯à®²à¯à®®à¯ à®à®°à¯ à®à®Žà¯à®€à¯à®€à¯ à®à®à®¿à®²à®Ÿ à®à®°à¯ à®µà®à¯â, à®à®²à¯à®²à¯à®à¯à®à¯à®³à¯ à®€à¯à®à¯à®€à®²à¯à®®à¯ à®€à¯à®à®¿à®à¯à®à®¿à®à¯à®€à¯à®€ à®µà®¿à®à¯à®à®³à¯ à®®à¯à®€à®°à®µà¯ à®ªà¯à®²à®®à¯à®à®³à®Ÿà®²à¯ à®µà®°à®¿à®à¯ à®à¯à®¯à¯à®¯à¯à®®à¯. à®à®€à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à®¿à®²à¯ à®à¯à®°à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®€à®Ÿà®²à¯ à®ªà®à®¿à®ªà¯à®ªà®à®¿à®¯à®Ÿà® à®€à®¿à®°à®à¯à®à¯ à®à¯à®à¯à®à®²à®Ÿà®®à¯. à®à®©à¯à®€ à®à®²à¯à®à¯ MG à®à®²à¯à®®à¯ MGPP à®à®²à¯à®®à¯ à®à®¿à®à¯à®¯à®Ÿà®€à¯  
+CDM.BuildTypeManager.Current_Type:à®à®ªà®¯à¯à®à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®®à¯ à®à¯à®à¯à®à¯ à®à®à¯à®à®šà®¿à®°à®²à¯:  {0}  
+CDM.BuildTypeManager.Change:à®®à®Ÿà®±à¯à®±à®µà¯à®®à¯âŠ  
+CDM.BuildTypeManager.Change_Tooltip:à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à¯ à®à®ªà®¯à¯à®à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®®à¯ à®à¯à®à¯à®à¯ à®à®à¯à®à®šà®¿à®°à®²à¯ à®®à®Ÿà®±à¯à®±à®µà¯à®®à¯  
+CDM.ClassifierManager.Add:à®µà®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®®à¯ à®à®€à¯à®€à®¿à®¯à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.ClassifierManager.Add_Tooltip:à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à®²à¯à®à¯à®à¯ à®à¯à®°à®¿à®ªà¯à®ªà®¿à®à¯à® à®µà®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®®à¯ à®à®€à¯à®€à®¿à®¯à¯ à®à®ªà®¯à¯à®à®¿à®à¯à®à®µà¯à®®à¯  
+CDM.ClassifierManager.Assigned:à®šà®¿à®¯à®®à®¿à®€à¯à®€ à®µà®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®®à¯ à®à®€à¯à®€à®¿à®à®³à¯  
+CDM.ClassifierManager.Classifier:à®à¯à®°à¯à®ªà¯à®ªà®€à®°à¯à®à¯à®à¯ à®µà®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®®à¯ à®à®€à¯à®€à®¿à®¯à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà¯à®®à¯  
+CDM.ClassifierManager.Classifier_Str:à®µà®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®®à¯ à®à®€à¯à®€à®¿  
+CDM.ClassifierManager.Classifier_List_XML_Parse_Failed:classinfo.pl -listall à®à®ªà®¯à¯à®à®¿à®€à¯à®€à¯ à®µà®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®®à¯ à®ªà®à¯à®à®¿à®¯à¯à®²à¯ à®à®¿à®à¯à®à¯à®à®µà®¿à®²à¯à®²à¯  
+CDM.ClassifierManager.Classifier_XML_Parse_Failed:{0}\n à®µà®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®®à¯ à®à®€à¯à®€à®¿à®à¯à®à¯ à®µà¯à®£à¯à®€à®¿à®¯ à®šà®¿à®ªà®šà¯à®€à®©à¯à®à®³à¯ à®€à¯à®°à¯à®®à®Ÿà®©à®¿à®à¯à® à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯. à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®µà®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®®à¯ à®à®€à¯à®€à®¿ classinfo.pl à®µà®°à®¿ à®µà®à®¿à®µà®®à¯\n  à®à®¯à®à¯à®à®¿ -xmlâ à®à¯à®à®¿ à®€à®°à¯à®à®¿à®°à®€à®Ÿ à®à®©à¯à®±à¯ à®šà®¿à®à¯à®à®¯à®ªà¯à®ªà®à¯à®€à¯à®€à®µà¯à®®à¯, Greenstone Developers Guideâ \n à®ªà®à¯à®€à®¿ 2.1 pluginfo.pl à®µà®°à®¿ à®µà®à®¿à®µà®®à¯  à®µà®¿à®µà®°à®¿à®€à¯à®€à®¿à®°à¯à®à¯à®à®¿à®° à®®à®Ÿà®€à®¿à®°à®¿.  
+CDM.ClassifierManager.Configure:à®µà®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®®à¯ à®à®€à¯à®€à®¿à®¯à®¯à¯ à®µà®à®¿à®µà®®à¯à®à¯à®à®µà¯à®®à¯  
+CDM.ClassifierManager.Configure_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®µà®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®®à¯ à®à®€à¯à®€à®¿à®¯à®¿à®©à¯ à®µà®¿à®°à¯à®ªà¯à®ªà®€à¯à®€à¯à®°à¯à®µà¯à®à®³à¯ à®®à®Ÿà®±à¯à®±à®µà¯à®®à¯  
+CDM.ClassifierManager.Remove:à®µà®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®®à¯ à®à®€à¯à®€à®¿à®¯à®¯à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+CDM.ClassifierManager.Remove_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®µà®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®®à¯ à®à®€à¯à®€à®¿à®¯à®¯à¯ à®ªà®à¯à®à®¿à®¯à®¿à®²à®¿à®°à¯à®šà¯à®€à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+CDM.FormatManager.Add:à®ªà®à®¿à®µà®®à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.FormatManager.Add_Tooltip:à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à¯à® à®ªà®à®¿à®µà®®à¯ à®à®€à¯à®€à®°à®µà¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.FormatManager.AllFeatures:à®à®²à¯à®²à®Ÿ à®ªà®£à¯à®ªà¯à®à¯à®à¯à®±à¯à®à®³à¯  
+CDM.FormatManager.AllParts:à®à®²à¯à®²à®Ÿ à®à®±à¯à®ªà¯à®ªà¯à®à®³à¯  
+CDM.FormatManager.Default:Reset to Default
+CDM.FormatManager.Default_Tooltip:Reset the selected format command to its default value 
+CDM.FormatManager.Editor:HTMLâ à®µà®à®¿à®µà¯à®à¯à®à®®à¯ à®šà®Ÿà®£à¯  
+CDM.FormatManager.Editor_Tooltip:à®µà®à®¿à®µà¯à®à¯à®à®®à¯ à®à®€à¯à®€à®°à®µà¯ à®à®à¯à®ªà¯à®à¯à®€à¯à®€à®µà¯ à®
+à®²à¯à®²à®€à¯ à®ªà®€à®¿à®ªà¯à®ªà¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+CDM.FormatManager.Editor_Disabled_Tooltip:Add Format' à®à¯à®³à®¿à®à¯ à®à¯à®¯à¯à®€à¯ à®à®šà¯à®€ à®µà®à®¿à®µà¯à®à¯à®à®®à¯ à®à®€à¯à®€à®°à®µà¯ à®à®à®³à¯ à®€à®¿à®°à®à¯à®à®¿à®°à¯à®à¯à®à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.FormatManager.Enabled:à®à®Ÿà®€à¯à®€à®¿à®¯à®®à®Ÿà®à¯à®à®ªà¯à®ªà®à¯à®à®€à¯  
+CDM.FormatManager.Feature:à®ªà®£à¯à®ªà¯à®à¯à®à¯à®±à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà¯à®®à¯  
+CDM.FormatManager.Feature_Tooltip:à®ªà®£à¯à®ªà¯à®à¯à®à¯à®±à¯ à®µà®à®¿à®µà¯à®à¯à®à®€à¯à®€à®¿à®±à¯à®à¯à®à¯  
+CDM.FormatManager.Insert:à®à®³à¯à®³à¯ à®à¯à®²à¯à®€à¯à®€à®µà¯à®®à¯  
+CDM.FormatManager.Insert_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®®à®Ÿà®±à¯à®±à®à¯à®à¯à®à®¿à®¯à®€à¯ à®µà®à®¿à®µà¯à®à¯à®à®®à¯ à®à®€à¯à®€à¯à®°à®µà®¿à®²à¯ à®à®³à¯à®³à¯ à®à¯à®²à¯à®€à¯à®€à®µà¯à®®à¯  
+CDM.FormatManager.Default:à®à¯à®à®Ÿà®šà®¿à®²à¯ à®®à®Ÿà®±à¯à®±à®¿à®µà¯à®à¯à®à®µà¯à®®à¯  
+CDM.FormatManager.Default_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®®à®Ÿà®±à¯à®±à®à¯à®à¯à®à®¿à®¯à®€à¯ à®
+à®€à®©à¯à®à®¯ à®à¯à®à®Ÿà®šà®¿à®²à¯à®à¯à®à¯ à®šà®¿à®²à¯ à®®à¯à®à¯à®à®µà¯à®®à¯  
+CDM.FormatManager.Insert_Variable:à®®à®Ÿà®±à¯à®±à®à¯à®à¯à®à®¿à®¯à®€à¯ à®à®³à¯à®³à¯ à®à¯à®²à¯à®€à¯à®€à®µà¯à®®à¯  
+CDM.FormatManager.Part:à®ªà®Ÿà®€à®¿à®à¯à®à®ªà¯à®ªà®à¯à® à®à®±à¯à®ªà¯à®ªà®à®¿  
+CDM.FormatManager.Part_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®ªà®£à¯à®ªà¯à®à¯à®à¯à®±à¯ à®µà®à®¿à®µà¯ à®µà®à®¿à®µà¯à®à¯à®à®€à¯à®€à®¿à®±à¯à®à¯à®à¯  
+CDM.FormatManager.Remove:à®µà®à®¿à®µà¯à®à¯à®à®®à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+CDM.FormatManager.Remove_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®µà®à®¿à®µà¯à®à¯à®à®®à¯ à®à®€à¯à®€à®°à®µà¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+CDM.FormatManager.Variable_Tooltip:à®®à¯à®©à¯à®µà®°à¯à®¯à®±à¯ à®®à®Ÿà®±à¯à®±à®à¯à®à¯à®à®¿à®¯à®µà®¯à®¿à®²à®¿à®°à®¿à®šà¯à®€à¯ à®à®©à¯à®±à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®µà®à®¿à®µà¯à®à¯à®à®®à¯ à®à®€à¯à®€à¯à®°à®µà®¿à®²à¯ à®à®³à¯à®³à¯ à®à¯à®²à¯à®€à¯à®€à®µà¯à®®à¯  
+CDM.FormatManager.MessageBox:XML  à®à¯à®²à¯à®²à¯à®ªà®à®¿ à®à¯à®€à®©à¯ à®à¯à®¯à¯à®¯à¯à®µà¯à®®à¯  
+CDM.FormatManager.MessageBox_Tooltip:XML à®®à¯à®©à¯à®µà®à®¿à®µà¯ à®à¯à®²à¯à®²à¯à®ªà®à®¿ à®à¯à®€à®©à¯ à®à¯à®¯à¯à®€à®¿  
+CDM.General.Access:à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à¯ à®ªà¯à®€à¯à®µà®Ÿà® à®
+à®à¯à®¯à®à¯à®à¯à®à®¿à®¯à®€à®Ÿà® à®à®°à¯à®à¯à®à®µà¯à®©à¯à®à¯à®®à¯  
+CDM.General.Browser_Title:à®à®°à¯ à®à®°à¯à®µà®®à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà¯à®®à¯  
+CDM.General.Collection_Extra:à®€à®¿à®°à®à¯à®à¯ à®µà®¿à®µà®°à®¿à®€à¯à®€à®²à¯:  
+CDM.General.Collection_Extra_Tooltip:à®€à®¿à®°à®à¯à®à®¿à®©à¯ à®à®€à¯à®€à¯à®à®®à¯à®®à¯ à®ªà¯à®°à¯à®³à®à®à¯à®à®®à¯à®®à¯ à®µà®¿à®µà®°à®®à¯  
+CDM.General.Collection_Name:à®€à®¿à®°à®à¯à®à®¿à®©à¯ à®€à®²à¯à®ªà¯à®ªà¯:  
+CDM.General.Collection_Name_Tooltip:à®€à®¿à®°à®à¯à®à®¿à®©à¯ à®ªà¯à®¯à®°à¯  
+CDM.General.Email.Creator:à®à®£à¯à®à®Ÿà®à¯à®à¯à®ªà®µà®°à®¿à®©à¯ à®®à®¿à®©à¯à®
+à®à¯à®à®²à¯  
+CDM.General.Email.Creator_Tooltip:à®€à®¿à®°à®à¯à®à¯ à®à®£à¯à®à¯à®à¯à®à®¿à®¯à®µà®°à®¿à®©à¯ à®®à®¿à®©à¯ à®
+à®à¯à®à®²à¯ à®®à¯à®à®µà®°à®¿à®à¯à®à¯  
+CDM.General.Email.Maintainer:à®à®Ÿà®ªà¯à®ªà®Ÿà®±à¯à®±à¯à®µà®°à®¿à®©à¯ à®®à®¿à®©à¯ à®
+à®à¯à®à®²à¯  
+CDM.General.Email.Maintainer_Tooltip:à®à®Ÿà®ªà¯à®ªà®Ÿà®±à¯à®±à¯à®µà®°à®¿à®©à¯ à®®à®¿à®©à¯ à®
+à®à¯à®à®²à¯ à®®à¯à®à®µà®°à®¿  
+CDM.General.Icon_Collection:about page' à®à®°à¯à®µà®®à¯ URL:  
+CDM.General.Icon_Collection_Tooltip:à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à®²à®¿à®©à¯ 'about page' à®à®°à¯à®µà®®à¯ à®à®Ÿà®£à¯à®ªà®¿à®à¯à®à¯à®®à¯ URL  
+CDM.General.Icon_Collection_Small:home page' à®à®°à¯à®µà®®à¯ URL:  
+CDM.General.Icon_Collection_Small_Tooltip:à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à®²à®¿à®©à¯ à®šà¯à®²à® à®à®²à¯à®² à®ªà®à¯à®à®€à¯à®€à®¿à®©à¯ à®à®°à¯à®µà®®à¯ à®à®Ÿà®£à¯à®ªà®¿à®à¯à®à¯à®®à¯ URL  
+CDM.General.Image_Copy_Failed:à®à®°à¯ à®€à®µà®±à¯ à®šà¯à®°à®¿à®à¯à®à®€à®Ÿà®²à¯ à®šà¯à®à¯à®à®³à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à®°à¯à®µà®®à¯ à®šà®à®²à¯ à®à®à¯à®à¯à® à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯.\n à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®à®°à¯à®µà®€à¯à®€à¯ à®à¯à®¯à¯à®¯à®Ÿà®²à¯ à®šà®à®²à¯ à®à®à¯à®€à¯à®€à¯:\n{0}\n à®à®à®³à¯ à®€à®¿à®°à®à¯à®à®¿à®©à¯ à®à®±à¯à®¯à®¿à®²à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯:\n{1}  
+CDM.General.Image_Filter:à®ªà®à®¿à®®à®à®³à¯ (gifs, jpgs à®
+à®²à¯à®²à®€à¯ pngs)  
+CDM.GUI.Classifiers:à®®à¯à®²à¯à®à¯à®à®®à¯ à®µà®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®®à¯ à®à®€à¯à®€à®¿à®à®³à¯  
+CDM.GUI.Formats:à®µà®à®¿à®µà¯à®à¯à®à®®à¯ à®ªà®£à¯à®ªà¯à®à¯à®à¯à®±à¯  
+CDM.GUI.General:à®ªà¯à®€à¯  
+CDM.GUI.Indexes:à®€à¯à®à¯à®µà®€à®°à¯à®à¯à®à®Ÿà®© à®
+à®à®µà¯à®°à®¿à®à¯à®à®³à¯  
+CDM.GUI.Macros:à®€à®¿à®°à®à¯à®à¯à®à¯à®à¯ à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à¯à® à®®à®Ÿà®à¯à®°à¯à®žà¯â  
+CDM.GUI.Plugins:à®à®µà®£à®®à¯ à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯à®à®³à¯  
+CDM.GUI.Root:CDM_ROOT  
+CDM.GUI.SearchMetadata:à®€à¯à®à¯  
+CDM.GUI.Subcollections:à®ªà®¿à®°à®¿à®µà®¿à®©à¯ à®à¯à®à¯à®à¯à®à®³à¯  
+CDM.GUI.SuperCollection:à®ªà®² à®€à®¿à®°à®à¯à®à¯à®à®³à¯ à®à®°à¯ à®à®®à®¯à®€à¯à®€à®¿à®²à¯ à®€à¯à®à¯à®€à®²à¯  
+CDM.GUI.Translation:à®à®°à¯ à®®à¯à®Žà®¿ à®ªà¯à®¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.GUI.DepositorMetadata:à®à®ªà¯à®ªà®à¯à®ªà¯à®ªà®µà®°à¯ à®®à¯à®€à¯à®°à®µà¯  
+CDM.HelpButton:à®à®šà¯à®€ à®€à®¿à®°à¯à®à¯à®à¯ à®à®€à®µà®¿  
+CDM.HelpButton_Tooltip:à®à®šà¯à®€ à®€à®¿à®°à¯à®à¯à®à¯ GLI  à®à®€à®µà®¿ à®€à®¿à®°à®à¯à®à®µà¯à®®à¯  
+CDM.IndexManager.Add_Index:à®à¯à®à¯à®à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.IndexManager.Add_Index_Tooltip:à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à¯à® à®à¯à®à¯à®à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.IndexManager.Allfields_Index:à®à®£à¯à®€à¯à®€à¯ à®€à¯à®à¯à®µà®€à¯ à®à®²à¯à®²à®Ÿ à®à®€à¯à®à¯à®à®ªà¯à®ªà®à¯à® à®à¯à®à¯à®à¯à®à®³à¯à®à¯à®à¯à®®à¯à®²à¯ (à®à®²à¯à®²à®Ÿ à®ªà¯à®²à¯à®®à¯à®à®³à¯à®®à¯) à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.IndexManager.Default_Index_Indicator:[à®à¯à®à®Ÿà®šà®¿à®²à¯ à®à¯à®à¯à®à¯]  
+CDM.IndexManager.Index_Exists:à®
+à®šà¯à®€ à®à¯à®à¯à®à¯ à®à®±à¯à®à¯à®à®©à®µà¯ à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à®²à¯à®à¯à®à¯ à®à®€à¯à®à¯à®à®¿à®¯à®¿à®°à¯à®à¯à®à®¿à®°à®€à¯  
+CDM.IndexManager.Indexes:à®à®€à¯à®à¯à®à®¿à®¯à®¿à®°à¯à®à¯à®à¯à®®à¯ à®à¯à®à¯à®à¯à®à®³à¯  
+CDM.IndexManager.Level:à®à¯à®à¯à®à®¿à®£à¯à®ªà¯à®ªà¯ à®šà®¿à®²à¯:  
+CDM.IndexManager.Level_Tooltip:à®à¯à®à¯à®à¯à®à¯à®à¯ à®
+à®à®¿à®ªà¯à®ªà®à®¯à®Ÿà®© à®à®°à¯ à®µà®°à®µà®¿à®¯à®²à¯ à®
+à®à®®à¯  
+CDM.IndexManager.Add_All:à®à®²à¯à®²à®Ÿà®®à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.IndexManager.Add_All_Tooltip:à®à®µà¯à®µà¯à®°à¯ à®®à¯à®²à®€à¯à®€à®¿à®°à¯à®à¯à®à¯à®®à¯ à®à®°à¯ à®€à®©à®¿ à®à¯à®à¯à®à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.IndexManager.Edit_Index:à®à¯à®à¯à®à¯ à®ªà®€à®¿à®ªà¯à®ªà¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+CDM.IndexManager.Edit_Index_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à¯à®à¯à®à¯ à®à¯à®°à®®à¯à®à¯à®à®µà¯à®®à¯  
+CDM.IndexManager.New_Index:à®ªà¯à®€à®¿à®¯ à®à¯à®à¯à®à¯  
+CDM.IndexManager.New_Index_Tooltip:à®à®°à¯ à®ªà¯à®€à®¿à®¯ à®à¯à®à¯à®à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.IndexManager.Remove_Index:à®à¯à®à¯à®à¯  à®šà¯à®à¯à®à®µà¯à®®à¯  
+CDM.IndexManager.Remove_Index_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à¯à®à¯à®à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+CDM.IndexManager.Replace_Index:à®à¯à®à¯à®à¯ à®®à®Ÿà®±à¯à®±à®µà¯à®®à¯  
+CDM.IndexManager.Replace_Index_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à¯à®à¯à®à¯ à®ªà¯à®€à¯à®ªà¯à®ªà®¿à®à¯à®à®µà®®à¯  
+CDM.IndexManager.Select_All:à®à®²à¯à®²à®Ÿà®®à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à¯à®µà¯à®®à¯  
+CDM.IndexManager.Select_All_Tooltip:à®à®²à¯à®²à®Ÿ à®à¯à®à¯à®à¯ à®®à¯à®²à®à¯à®à®³à¯à®¯à¯à®®à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à¯à®µà¯à®®à¯  
+CDM.IndexManager.Select_None:à®à®€à¯à®µà¯à®®à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®Ÿà®€à¯  
+CDM.IndexManager.Select_None_Tooltip:à®à®²à¯à®²à®Ÿ à®à¯à®à¯à®à¯ à®®à¯à®²à®à¯à®à®³à¯à®¯à¯à®®à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+CDM.IndexManager.Set_Default:à®à¯à®à®Ÿà®šà®¿à®²à¯ à®à¯à®à¯à®à¯ à®
+à®®à¯à®à¯à®à®µà¯à®®à¯  
+CDM.IndexManager.Set_Default_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à¯à®à¯à®à¯ à®à¯à®à®Ÿà®šà®¿à®²à¯ à®à¯à®à¯à®à®Ÿà®à¯à®à®µà¯à®®à¯  
+CDM.IndexManager.Source:à®à¯à®à¯à®à®¿à®²à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.IndexManager.Source_Tooltip:à®à¯à®à¯à®à¯ à®à®à¯à®à¯à®µà¯à®€à®°à¯à®à¯à®à¯ à®µà¯à®£à¯à®à®¿à®¯ à®®à¯à®€à®°à®µà¯ à®à®°à¯à®ªà¯à®ªà¯à®à®³à¯  
+CDM.IndexManager.Text_Source:à®®à¯à®Žà¯ à®à®°à¯  
+CDM.IndexManager.Text_Source_Tooltip:à®à®µà¯à®£à®à®à®³à®¿à®©à¯ à®®à¯à®Žà¯ à®à®°à¯à®¯à¯à®®à¯ à®à¯à®à¯à®à®¿à®²à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.IndexingManager.Accent_fold:à®
+à®à¯ à®
+à®Žà¯à®€à¯à®€à®®à¯ à®
+à®à¯  
+CDM.IndexingManager.Accent_fold_Tooltip:à®
+à®à¯ à®
+à®Žà¯à®€à¯à®€à®®à¯ à®µà®Ÿà®°à¯à®€à¯à®€à¯ à®ªà¯à®±à®à¯à®à®£à®¿à®€à¯à®€à¯ à®€à¯à® à®à®€à®µà¯à®®à¯, à®
+à®à¯ à®
+à®Žà¯à®€à¯à®€à¯à®®à¯ à®
+à®à¯-à®®à®à®¿à®ªà¯à®ªà¯ à®à¯à®¯à¯à®€ à®à¯à®à¯à®à¯ à®à®£à¯à®à®Ÿà®à¯à®à®µà¯à®®à¯  
+CDM.IndexingManager.Casefold:à®à®¿à®±à¯à®±à¯à®Žà¯à®€à¯à®€à¯â à®ªà¯à®°à¯à®Žà¯à®€à¯à®€à¯ à®®à®à®¿à®ªà¯à®ªà¯  
+CDM.IndexingManager.Casefold_Tooltip:à®à®¿à®±à¯à®±à¯à®Žà¯à®€à¯à®€à¯â à®ªà¯à®°à¯à®Žà¯à®€à¯à®€à¯ à®ªà¯à®±à®à¯à®à®£à®¿à®€à¯à®€à¯ à®€à¯à® à®à®€à®µà¯à®®à¯ à®à®¿à®±à¯à®±à¯à®Žà¯à®€à¯à®€à¯â à®ªà¯à®°à¯à®Žà¯à®€à¯à®€à¯ à®®à®à®¿à®ªà¯à®ªà¯ à®à¯à®¯à¯à®€ à®à¯à®à¯à®à¯ à®à®£à¯à®à®Ÿà®à¯à®à®µà¯à®®à¯  
+CDM.IndexingManager.Options:à®à¯à®à¯à®à¯à®£à¯à®ªà¯à®ªà¯ à®®à¯à®±à¯ à®µà®¿à®°à¯à®ªà¯à®ªà®à®³à¯ :  
+CDM.IndexingManager.Separate_cjk:CJK à®à®°à¯ à®ªà®à¯à®€à®¿à®¯à®Ÿà®à¯à®à®²à¯  
+CDM.IndexingManager.Separate_cjk_Tooltip:<html> à®ªà®à¯à®€à®¿ CJK (Chinese, Japanese, Korean) à®à®°à¯. à®€à®°à¯à®ªà¯à®Žà¯à®€à¯ à®
+à®€à¯ à®à®µà¯à®µà¯à®°à¯ CJK à®à®Žà¯à®€à¯à®€à¯ à®à®à®¯à®¿à®²à¯ à®à®à¯à®ªà¯à®à¯à®€à¯à®€ à®µà¯à®£à¯à®à®¿à®¯à®¿à®°à¯à®à¯à®à¯. <br> à®à®°à¯ à®à®±à¯à®à¯à®à®©à®µà¯ à®µà®Ÿà®°à¯à®€à¯à®€à¯à®à®³à®Ÿà® à®ªà®à¯à®€à®¿à®¯à®Ÿà®à¯à®à®ªà®à¯à®à®¿à®°à¯à®šà¯à®€à®Ÿà®²à¯ à®€à®µà®¿à®° à®à®€à¯ CJK à®à®°à¯à®¯à®¿à®²à¯ à®€à¯à®à¯à®µà®€à®°à¯à®à¯à®à¯ à®µà¯à®£à¯à®à¯à®®à¯. </html>  
+CDM.IndexingManager.Stem:à®€à®à¯à®à¯à®¯à¯  
+CDM.IndexingManager.Stem_Tooltip:<html>à®€à®à¯à®à¯à®¯à¯à®€ à®à¯à®à¯à®à®¿ à®à®£à¯à®à®Ÿà®à¯à®à¯à®®à¯, à®à®€à¯ à®µà®Ÿà®°à¯à®€à¯à®à®³à®¿à®©à¯ à®€à®£à¯à®à®¿à®²à¯ à®€à¯à® à®à®Ÿà®€à¯à®€à®¿à®¯à®®à®Ÿà®à¯à®à¯à®®à¯. <br>à®à®€à®Ÿà®à®°à®£à®®à®Ÿà®, "farm" à®€à¯à®à¯à®à®¯à®¿à®²à¯ "farms" "farming" "farmers" à®à®³à¯à®®à¯ à®ªà¯à®°à¯à®šà¯à®€à¯à®®à¯. (à®à®€à¯ à®à®à¯à®à®¿à®²à®®à¯ à®
+à®²à¯à®²à®€à¯ à®à®ªà®¿à®°à®©à¯à®à¯à®à®¿à®²à¯ à®®à®à¯à®à¯à®®à¯).</html>  
+CDM.LanguageManager.Add_Tooltip:à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à¯à® à®®à¯à®Žà®¿à®à®³à¯à®à¯à®à¯ à®€à®à¯à®šà¯à®€ à®à®°à¯ à®ªà®¿à®°à®¿à®ªà¯à®ªà¯ à®à¯à®à¯à®à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.LanguageManager.Assigned_Languages:à®à®€à¯à®à¯à®à®¿à®¯à®¿à®°à¯à®à¯à®à¯à®®à¯ à®®à¯à®Žà®¿ à®ªà®¿à®°à®¿à®ªà¯à®ªà¯à®à®³à¯  
+CDM.LanguageManager.Default_Language:à®à¯à®à®Ÿà®šà®¿à®²à¯ à®®à¯à®Žà®¿  
+CDM.LanguageManager.LanguageMetadata:à®®à¯à®Žà®¿ à®®à¯à®€à®°à®µà¯:  
+CDM.LanguageManager.LanguageMetadata_Tooltip:à®à®°à¯ à®à®µà®£à®€à¯à®€à®¿à®©à¯ à®®à¯à®Žà®¿à®¯à®¯à¯ à®€à¯à®°à¯à®®à®©à®¿à®à¯à® à®à®ªà®¯à¯à®à®¿à®à¯à®à®µà¯à®£à¯à®à®¿à®¯à®® à®®à¯à®€à®°à®µà¯ à®à®±à¯à®ªà¯à®ªà¯  
+CDM.LanguageManager.Remove_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®®à¯à®Žà®¿ à®ªà®¿à®°à®¿à®ªà¯à®ªà¯ à®ªà®à¯à®à®¿à®¯à®²à®¿à®°à¯à®šà¯à®€à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+CDM.LanguageManager.Replace_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®ªà®¿à®°à®¿à®ªà¯à®ªà¯, à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à¯à® à®®à¯à®Žà®¿à®à®³à®¿à®²à®¿à®°à¯à®šà¯à®€à¯ à®à®à¯à®€à¯à®€ à®à®°à¯ à®ªà¯à®€à®¿à®¯ à®ªà®¿à®°à®¿à®ªà¯à®ªà®Ÿà®²à¯ à®®à®Ÿà®±à¯à®±à®µà¯à®®à¯.  
+CDM.LanguageManager.Selector:à®à¯à®°à¯à®à¯à®à®µà¯à®£à¯à®à®¿à®¯ à®®à¯à®Žà®¿à®à®³à¯:  
+CDM.LanguageManager.Selector_Tooltip:à®à¯à®à¯à®à¯ à®ªà®¿à®°à®¿à®ªà¯à®ªà¯ à®à®à¯à®à¯à®µà®€à®±à¯à®à¯à®à®Ÿà® à®®à¯à®Žà®¿à®à®³à¯  
+CDM.LanguageManager.Set_Default:à®à¯à®à®Ÿà®šà®¿à®²à¯ à®
+à®®à¯à®à¯à®à®µà¯à®®à¯  
+CDM.LanguageManager.Set_Default_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®®à¯à®Žà®¿ à®ªà®¿à®°à®¿à®ªà¯à®ªà¯ à®à¯à®à®Ÿà®šà®¿à®²à®¯à®Ÿà®¯à¯ à®
+à®®à¯à®à¯à®à®µà¯à®®à¯  
+CDM.LevelManager.Document:à®à®µà®£à®®à¯  
+CDM.LevelManager.Section:à®ªà®¿à®°à®¿à®µà¯  
+CDM.LevelManager.Paragraph:à®ªà®à¯à®€à®¿  
+CDM.LevelManager.Level_Title:à®à¯à®à¯à®à¯à®£à¯à®ªà¯à®ªà¯ à®šà®¿à®²à¯  
+CDM.LevelManager.Default:à®à¯à®à®Ÿà®šà®¿à®²à¯  
+CDM.LevelManager.Default_Tooltip:à®à®ªà®¯à¯à®à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®µà®°à¯à®à®¯ à®à®à¯à®®à¯à®à®€à¯à®€à®¿à®²à¯ à®à¯à®à®Ÿà®šà®¿à®²à®¯à®¿à®©à¯ à®šà®¿à®²à¯  
+CDM.MacrosManager.Editor_Tooltip:à®à®µà¯à®µà®¿à®à®®à¯ à®®à®Ÿà®à¯à®°à¯à®žà¯ à®ªà®€à®¿à®ªà¯à®ªà¯à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+CDM.Move.At_Bottom:{0} {1} à®à®©à¯à®©à¯à®®à¯ à®à¯à®Žà¯ à®šà®à®°à¯à®€à¯à®€ à®®à¯à®à®¿à®¯à®Ÿà®€à¯ à®à®©à¯à®©à®¿à®²à¯ à®
+à®€à¯ à®à®±à¯à®à®©à®µà¯ à®ªà®à¯à®à®¿à®¯à®²à®¿à®²à¯ à®à®à¯à®à¯ à®µà®°à®¿à®¯à®¿à®²à¯ à®à®°à¯à®à¯à®à®¿à®°à®€à¯  
+CDM.Move.At_Top:{0} {1} à®à®©à¯à®©à¯à®®à¯ à®®à¯à®²à¯ à®šà®à®°à¯à®€à¯à®€ à®®à¯à®à®¿à®¯à®Ÿà®€à¯ à®à®©à¯à®©à®¿à®²à¯ à®
+à®€à¯ à®à®±à¯à®à®©à®µà¯ à®ªà®à¯à®à®¿à®¯à®²à®¿à®²à¯ à®®à¯à®€à®²à¯ à®µà®°à®¿à®¯à®¿à®²à¯ à®à®°à¯à®à¯à®à®¿à®°à®€à¯  
+CDM.Move.Cannot:à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ {0} à®à®©à¯à®©à¯à®®à¯ à®à¯à®Žà¯ à®šà®à®°à¯à®€à¯à®€ à®®à¯à®à®¿à®¯à®Ÿà®€à¯ à®à®©à¯à®©à®¿à®²à¯ RecPlugâ à®à®®à¯ ArcPlugâ à®à®®à¯ à®ªà®à¯à®à®¿à®¯à®²à®¿à®©à¯ à®
+à®à®¿à®ªà®Ÿà®à®€à¯à®€à®¿à®²à¯ à®à®°à¯à®à¯à® à®µà¯à®£à¯à®à¯à®®à¯  
+CDM.Move.Fixed:<html>RecPlug à®à®®à¯ ArcPlug à®à®®à¯ à®ªà¯à®€à¯à®µà®Ÿà® à®à®à¯à®à¯à®¯à®Ÿà® à®à®°à¯à®à¯à®à®µà¯à®£à¯à®à¯à®®à¯, à®à®à®¯à®Ÿà®²à¯ à®à®°à¯ à®à®à®€à¯à®€à®¿à®²à¯ à®ªà¯à®°à¯à®€à¯à®€à®ªà®à¯à®à®¿à®°à¯à®à¯à®à¯à®®à¯<br>:à®
+à®µà®±à¯à®±à¯ à®à®£à¯à®à®¿à®ªà¯à®ªà®Ÿà® à®šà®à®°à¯à®€à¯à®€ à®µà¯à®£à¯à®à¯à®®à®Ÿà®šà®Ÿà®²à¯, collect.cfg à®à¯à®¯à¯à®®à¯à®±à®¯à®Ÿà®¯à¯ à®ªà®€à®¿à®ªà¯à®ªà¯à®à¯à®¯à¯à®¯à®µà¯à®®à¯. à®à¯à®ªà¯à®ªà¯ à®à®¯à¯à®®à¯à®±à®¯à®Ÿà®¯à¯ à®ªà®€à®¿à®ªà¯à®ªà¯à®à¯à®¯à¯à®¯à®µà¯à®®à¯</html>  
+CDM.Move.Move_Down:à®à¯à®Žà¯ à®šà®à®°à¯à®€à¯à®€à¯à®µà¯à®®à¯  
+CDM.Move.Move_Down_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à®°à¯à®ªà¯à®ªà®à®¿à®¯à®¯à¯ à®ªà®à¯à®à®¿à®¯à®²à®¿à®©à¯ à®à¯à®Žà¯ à®ªà®Ÿà®à®€à¯à®€à®¿à®±à¯à®à¯à®à¯ à®šà®à®°à¯à®€à¯à®€à¯à®µà¯à®®à¯  
+CDM.Move.Move_Up:à®®à¯à®²à¯ à®šà®à®°à¯à®€à¯à®€à¯à®µà¯à®®à¯  
+CDM.Move.Move_Up_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à®°à¯à®ªà¯à®ªà®à®¿à®¯à®¯à¯ à®ªà®à¯à®à®¿à®¯à®²à®¿à®©à¯ à®®à¯à®²à¯ à®ªà®Ÿà®à®€à¯à®€à®¿à®±à¯à®à¯à®à¯ à®šà®à®°à¯à®€à¯à®€à¯à®µà¯à®®à¯  
+CDM.Move.Title:à®€à®µà®±à¯ - à®šà®à®°à¯à®€à¯à®€ à®®à¯à®à®¿à®¯à®Ÿà®€à¯  
+CDM.PlugInManager.Add:à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯.....  
+CDM.PlugInManager.QuickAdd:à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯.  
+CDM.PlugInManager.Add_Tooltip:à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à®²à¯à®à®©à¯ à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à¯à® à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ à®à®ªà®¯à¯à®à®¿à®à¯à®à®µà¯à®®à¯  
+CDM.PlugInManager.Assigned:à®à®€à¯à®à¯à®à®ªà¯à®ªà®à¯à® à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯à®à®³à¯  
+CDM.PlugInManager.Configure:à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ à®µà®à®¿à®µà®®à¯à®à¯à®à®µà¯à®®à¯...  
+CDM.PlugInManager.Configure_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ à®µà®¿à®°à¯à®ªà¯à®ªà®€à¯à®€à¯à®°à¯à®µà¯à®à®³à¯ à®®à®Ÿà®±à¯à®±à®µà¯à®®à¯	à®µà®¿à®°à¯à®ªà¯à®ªà®©à¯à®à®³à¯ à®®à®Ÿà®±à¯à®±à®µà¯à®®à¯  
+CDM.PlugInManager.Ignore:à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ à®à¯à®°à¯à®à¯à®à®Ÿà®€à¯  
+CDM.PlugInManager.Ignore_Tooltip:à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à®²à¯à®à®©à¯ à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ à®à®€à¯à®µà¯à®®à¯ à®à¯à®°à¯à®à¯à®à®Ÿà®€à¯  
+CDM.PlugInManager.PlugIn:à®à¯à®°à¯à®ªà¯à®ªà®€à®±à¯à®à¯à®à¯ à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà¯à®®à¯:  
+CDM.PlugInManager.PlugIn_Tooltip:à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à®²à¯à®à®©à¯ à®à®ªà®¯à¯à®à®¿à®à¯à®à®à¯à®à¯à®à®¿à®¯  à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯à®à®³à¯  
+CDM.PlugInManager.PlugIn_Str:à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯  
+CDM.PlugInManager.PlugIn_XML_Parse_Failed:{0} à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯à®à¯à®à¯ à®šà®¿à®ªà®šà¯à®€à®©à¯à®à®³à¯ à®šà®¿à®à¯à®à®¯à®¿à®à¯à® à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯ \n .  Greenstone Developers Guide 2.1  à®ªà®¿à®°à®¿à®µà®¿à®²à¯ à®µà®¿à®µà®°à®¿à®€à¯à®€à®¿à®°à¯à®à®¿à®©à¯à®±\n pluginfo.pl à®µà®°à®¿ à®µà®à®¿à®µà®®à¯ à®à®¯à®à¯à®à®¿ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯\n -xml flag à®à¯à®à¯à®à¯à®à®¿à®€à¯à®šà¯à®±à¯ à®šà®¿à®à¯à®à®¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯.  
+CDM.PluginManager.Plugin_List_XML_Parse_Failed:pluginfo.pl -listall à®à®ªà®¯à¯à®à®¿à®€à¯à®€à¯ à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ à®ªà®à¯à®à®¿à®¯à®²à¯  à®à®¿à®à¯à®à¯à®à®µà®¿à®²à¯à®²à¯  
+CDM.PluginManager.Plugin_Suggestion_Prompt:à®à®©à¯à®€ à®€à®¿à®°à®à¯à®à®¿à®²à¯à®³à¯à®³ à®à®©à¯à®€ à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ à®à¯à®ªà¯à®ªà¯"{0}" à®à¯à®¯à®²à¯ à®ªà®à¯à®€à¯à®€à¯à®®à¯à®©à¯à®±à¯ à®à®€à®¿à®°à¯à®ªà®Ÿà®°à¯à®à¯à®à®²à®Ÿà®à®Ÿà®€à¯. (à®à®¯à®¿à®©à¯à®®à¯, à®
+à®€à¯ à®µà¯à®°à¯à®°à¯ à®à¯à®ªà¯à®ªà¯à®à¯à®à¯ à®à¯à®šà¯à®€à®®à®Ÿà®¯à®¿à®°à¯à®šà¯à®€à®Ÿà®²à¯, à®à®€à®Ÿà®à®°à®£à®®à®Ÿà®, à®à®°à¯ à®µà®²à¯ à®ªà®à¯à®à®€à¯à®€à®¿à®²à®¿à®°à¯à®à¯à®à¯à®®à¯ à®ªà®à®¿à®®à®®à¯, à®
+à®€à¯ à®€à®¿à®°à®à¯à®à®²à®¿à®²à¯ à®à¯à®à®²à®Ÿà®®à¯)à®
+à®šà¯à®€ à®à¯à®ªà¯à®ªà¯ à®à¯à®¯à®²à¯ à®ªà®à¯à®€à¯à®€à¯à®µà®€à®°à¯à®à¯à®à¯ à®à¯à®Žà¯à®à®£à¯à® à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯à®à®ªà®¯à¯à®à®ªà¯à®ªà®à¯à®€à¯à®€à®²à®Ÿà®®à¯. à®à®ªà¯à®ªà¯à®Žà¯à®€à¯ à®à®°à¯ à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€à¯ à®
+à®€à¯ à®à¯à®à¯à®à¯ à®à®±à¯à®ªà¯à®ªà¯ (Add on) à®à¯à®¯à®²à¯ à®ªà®à¯à®€à¯à®€à®¿ à®à®©à¯à®©à¯à®à®¯ à®à¯à®ªà¯à®ªà¯à®à¯à®à¯à®³à¯ à®à¯à®°à¯à®à¯à®à®²à®Ÿà®®à¯ (à®à®µà®©à®¿à®à¯à®à®µà¯à®®à¯: à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ à®ªà®à¯à®à®¿à®¯à®²à¯ à®à®ªà¯à®ªà¯à®Žà¯à®€à¯ à®µà¯à®£à¯à®à¯à®®à®Ÿà®©à®Ÿà®²à¯à®®à¯ à®®à®Ÿà®±à¯à®±à®²à®Ÿà®®à¯; à®
+à®€à®±à¯à®à¯à®à¯ Design Pane à®²à¯à®³à¯à®³ "Document Plugins" à®à¯à®à¯ à®ªà¯à®à®µà¯à®®à¯.)  
+CDM.PlugInManager.Remove:à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+CDM.PlugInManager.Remove_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ à®ªà®à¯à®à®¿à®¯à®²à®¿à®²à®¿à®°à¯à®šà¯à®€à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+CDM.PluginManager.SuggestedPluginListTitle:à®à¯à®ªà¯à®ªà¯à®à¯à®à¯ à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à¯à® à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯à®à®³à¯  
+CDM.SearchMetadataManager.Component:à®€à¯à®à®²à¯ à®ªà®à¯à®à®¿à®¯à®¿à®²à¯ à®à®±à¯à®ªà¯à®ªà®à®¿  
+CDM.SearchMetadataManager.Component_Name:à®à®°à¯ à®à®Ÿà®à¯à®à¯  
+CDM.SearchMetadataManager.Type_index:à®à¯à®à¯à®à¯  
+CDM.SearchMetadataManager.Type_level:à®šà®¿à®²à¯  
+CDM.SearchMetadataManager.Type_partition:à®ªà®¿à®°à®¿à®ªà¯à®ªà¯  
+CDM.SearchMetadataManager.Type_language:à®®à¯à®Žà®¿ à®ªà®¿à®°à®¿à®ªà¯à®ªà¯  
+CDM.SubcollectionManager.Add:à®µà®à®¿à®à®à¯à®à®¿ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.SubcollectionManager.Add_Tooltip:à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à¯à® à®µà®à®¿à®à®à¯à®à®¿à®¯à®¯à¯ à®€à®¿à®°à®à¯à®à®²à®¿à®²à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.SubcollectionManager.Assigned:à®µà®¿à®µà®°à®¿à®à¯à®à®ªà¯à®ªà®à¯à® à®€à¯à®£à¯-à®€à®¿à®°à®à¯à®à®²à¯ à®µà®à®¿à®à®à¯à®à®¿à®à®³à¯  
+CDM.SubcollectionManager.Exclude:à®µà®¿à®²à®à¯à®à¯  
+CDM.SubcollectionManager.Flags:à®ªà¯à®°à¯à®€à¯à®€à¯à®®à¯à®ªà¯à®€à¯ à®à¯à®à®¿à®à®³à¯ à®
+à®®à¯à®à¯à®à®µà¯à®®à¯  
+CDM.SubcollectionManager.Flags_Tooltip:à®ªà¯à®°à¯à®€à¯à®€à¯à®®à¯à®ªà¯à®€à¯ à®µà®Žà®à¯à®à®®à®Ÿà®© à®à¯à®²à¯à®à¯à®±à¯à®±à¯ à®à¯à®à®¿à®à®³à¯ à®à®ªà®¯à¯à®à®¿à®à¯à®à®µà¯à®®à¯ (à®à®€à®Ÿà®à®°à®£à®®à¯: "I" à®à®¿à®±à¯à®±à¯à®Žà¯à®€à¯à®€à¯â à®ªà¯à®°à¯à®Žà¯à®€à¯à®€à¯ à®µà®à¯ à®à®£à®°à¯à®à¯à®à®¿à®¯à®¿à®²à¯à®²à®Ÿà®€ à®ªà¯à®°à¯à®€à¯à®€à¯à®®à¯à®ªà¯à®€à¯)  
+CDM.SubcollectionManager.Include:à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.SubcollectionManager.Inclusive:à®ªà¯à®°à¯à®šà¯à®€à®¿à®¯ à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®à®©à¯à®© à®à¯à®¯à¯à®¯à®²à®Ÿà®®à¯?  
+CDM.SubcollectionManager.Language_Controls:à®®à¯à®Žà®¿à®à®³à¯ à®à®€à¯à®à¯à®à®µà¯à®®à¯  
+CDM.SubcollectionManager.Match:à®ªà¯à®°à¯à®šà¯à®€à¯à®µà®€à®±à¯à®à¯à®à¯ à®µà®Žà®à¯à®à®®à®Ÿà®© à®à¯à®²à¯à®à¯à®±à¯à®±à¯:  
+CDM.SubcollectionManager.Match_Tooltip:à®€à¯à®£à¯-à®€à®¿à®°à®à¯à®à®¿à®²à¯à®³à¯à®³ à®à®µà®£à®à®³à¯ à®µà®¿à®µà®°à®¿à®à¯à®à¯à®®à¯ à®à®°à¯ à®µà®Žà®à¯à®à®®à®Ÿà®© à®à¯à®²à¯à®à¯à®±à¯à®±à¯  
+CDM.SubcollectionManager.Name:à®€à¯à®£à¯-à®€à®¿à®°à®à¯à®à®¿à®²à¯ à®µà®à®¿à®à®à¯à®à®¿à®¯à®¿à®©à¯ à®ªà¯à®¯à®°à¯:  
+CDM.SubcollectionManager.Name_Tooltip:à®ªà¯à®€à®¿à®¯ à®€à¯à®£à¯-à®€à®¿à®°à®à¯à®à®¿à®²à¯ à®µà®à®¿à®à®à¯à®à®¿à®¯à®¿à®©à¯ à®ªà¯à®¯à®°à¯  
+CDM.SubcollectionManager.Remove:à®µà®à®¿à®à®à¯à®à®¿à®¯à®¯à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+CDM.SubcollectionManager.Remove_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®µà®à®¿à®à®à¯à®à®¿à®¯à®¯à¯ à®ªà®à¯à®à®¿à®¯à®²à®¿à®°à¯à®šà¯à®€à¯ à®šà¯à®à¯à®à®µà¯à®®à¯:  
+CDM.SubcollectionManager.Replace:à®µà®à®¿à®à®à¯à®à®¿à®¯à®¯à¯ à®®à®Ÿà®±à¯à®±à®µà¯à®®à¯  
+CDM.SubcollectionManager.Replace_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®µà®à®¿à®à®à¯à®à®¿à®¯à®¿à®©à¯ à®µà®¿à®µà¯à®°à®à¯à®à®³à¯ à®šà®¿à®à®Žà¯à®šà®¿à®²à¯ à®ªà®à¯à®€à¯à®€à®µà¯à®®à¯:  
+CDM.SubcollectionManager.Source:à®à®µà®£à®€à¯à®€à¯à®€à®¿à®©à¯ à®ªà¯à®°à¯à®€à¯à®€à®ªà¯à®ªà®à®µà¯à®©à¯à®£à¯à®à®¿à®¯ à®ªà®£à¯à®ªà¯:  
+CDM.SubcollectionManager.Source_Tooltip:à®à®µà®£à®€à¯à®€à¯à®€à®¿à®©à¯ à®ªà®£à¯à®ªà¯ à®µà®à®¿à®à®à¯à®à®à¯à®:  
+CDM.SubcollectionManager.Subcollection_Controls:à®µà®à®¿à®à®à¯à®à®¿à®à®³à¯ à®µà®¿à®µà®°à®¿à®à¯à®à®µà¯à®®à¯  
+CDM.SubcollectionManager.Subindex_Controls:à®ªà®¿à®°à®¿à®ªà¯à®ªà¯à®à®³à¯ à®à®€à¯à®à¯à®à®µà¯à®®à¯  
+CDM.SubcollectionIndexManager.Add_Subindex:à®ªà®¿à®°à®¿à®ªà¯à®ªà¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.SubcollectionIndexManager.Add_Subindex_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®ªà®¿à®°à®¿à®ªà¯à®ªà¯ à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à®²à®¿à®²à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯:  
+CDM.SubcollectionIndexManager.Default_Partition_Indicator:[à®à¯à®à®Ÿà®šà®¿à®²à¯ à®ªà®¿à®°à®¿à®ªà¯à®ªà¯]  
+CDM.SubcollectionIndexManager.Remove_Subindex:à®ªà®¿à®°à®¿à®ªà¯à®ªà¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+CDM.SubcollectionIndexManager.Remove_Subindex_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®ªà®¿à®°à®¿à®ªà¯à®ªà¯ à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à®¿à®²à®¿à®°à¯à®šà¯à®€à¯ à®šà¯à®à¯à®à®µà¯à®®à¯:  
+CDM.SubcollectionIndexManager.Replace_Subindex:à®ªà®¿à®°à®¿à®ªà¯à®ªà¯ à®®à®Ÿà®±à¯à®±à®µà¯à®®à¯  
+CDM.SubcollectionIndexManager.Replace_Subindex_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®ªà®¿à®°à®¿à®ªà¯à®ªà¯ à®šà®¿à®à®Žà¯à®šà®¿à®²à¯ à®ªà®à¯à®€à¯à®€à®µà¯à®®à¯:  
+CDM.SubcollectionIndexManager.Set_Default_Subindex:à®à¯à®à®Ÿà®šà®¿à®²à¯ à®
+à®®à¯à®à¯à®à®µà¯à®®à¯  
+CDM.SubcollectionIndexManager.Set_Default_Subindex_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®ªà®¿à®°à®¿à®ªà¯à®ªà¯ à®à¯à®à®Ÿà®šà®¿à®²à®¯à®Ÿà®¯à¯ à®µà¯à®à¯à®à®µà¯à®®à¯  
+CDM.SubcollectionIndexManager.Source:à®ªà®¿à®°à®¿à®ªà¯à®ªà¯ à®à®à¯à®à®µà¯à®®à¯:  
+CDM.SubcollectionIndexManager.Source_Tooltip:à®€à¯à®£à¯-à®€à®¿à®°à®à¯à®à®¿à®²à¯ à®µà®à®¿à®à®à¯à®à®¿à®à®³à¯ à®ªà®¿à®°à®¿à®ªà¯à®ªà¯ à®à®à¯à®à¯à®µà®€à®°à¯à®à¯à®à¯:  
+CDM.SubcollectionIndexManager.Subindexes:à®à®€à¯à®à¯à®à®ªà¯à®ªà®à¯à® à®€à¯à®£à¯-à®€à®¿à®°à®à¯à®à®¿à®²à¯ à®ªà®¿à®°à®¿à®ªà¯à®ªà¯à®à®³à¯:  
+CDM.TranslationManager.Add:à®®à¯à®Žà®¿à®ªà¯à®¯à®°à¯à®€à¯à®€à®²à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.TranslationManager.Add_Tooltip:à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à¯à® à®®à¯à®Žà®¿à®ªà¯à®¯à®°à¯à®ªà¯à®ªà¯ à®€à®¿à®°à®à¯à®à®²à®¿à®²à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.TranslationManager.Affected_Features:à®ªà®£à¯à®ªà¯à®à¯à®à¯à®±à¯à®à®²  
+CDM.TranslationManager.Assigned_Fragments:à®à®€à¯à®à¯à®à®ªà¯à®ªà®à¯à® à®®à¯à®Žà®¿à®ªà¯à®¯à®°à¯à®ªà¯à®ªà¯à®à®³à¯  
+CDM.TranslationManager.Default_Text:à®®à¯à®€à®²à¯ à®à®°à¯ à®€à¯à®£à¯à®à¯  
+CDM.TranslationManager.Fragment_Column:à®à®°à¯ à®€à¯à®£à¯à®à¯  
+CDM.TranslationManager.Language:à®®à¯à®Žà®¿à®ªà¯à®¯à®°à¯à®ªà¯à®ªà®¿à®©à¯ à®®à¯à®Žà®¿:  
+CDM.TranslationManager.Language_Column:à®®à¯à®Žà®¿  
+CDM.TranslationManager.Language_Tooltip:à®®à¯à®Žà®¿à®ªà¯à®¯à®°à¯à®ªà¯à®ªà®Ÿà®à¯à®à®ªà¯à®ªà®à¯à®®à¯ à®®à¯à®Žà®¿  
+CDM.TranslationManager.Remove:à®®à¯à®Žà®¿à®ªà¯à®ªà¯à®¯à®°à¯à®ªà¯à®ªà¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+CDM.TranslationManager.Remove_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®®à¯à®Žà®¿à®ªà¯à®ªà¯à®¯à®°à¯à®ªà¯à®ªà¯ à®€à®¿à®°à®à¯à®à®²à®¿à®°à¯à®šà¯à®€à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+CDM.TranslationManager.Replace:à®®à¯à®Žà®¿à®ªà¯à®ªà¯à®¯à®°à¯à®ªà¯à®ªà¯ à®®à®Ÿà®±à¯à®±à®µà¯à®®à¯  
+CDM.TranslationManager.Replace_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®®à¯à®Žà®¿à®ªà¯à®ªà¯à®¯à®°à¯à®ªà¯à®ªà¯ à®šà®¿à®à®Žà¯à®šà®¿à®²à¯ à®ªà®à¯à®€à¯à®€à®µà¯à®®à¯  
+CDM.TranslationManager.Translation:à®®à¯à®Žà®¿à®ªà¯à®¯à®°à¯à®ªà¯à®ªà®¿à®¯ à®à®°à¯  
+CDM.TranslationManager.Translation_Tooltip:à®®à¯à®Žà®¿à®ªà¯à®¯à®°à¯à®ªà¯à®ªà®¿à®¯ à®à®°à®®à¯ à®à®à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+CDM.DepositorMetadataManager.Warning:à®à®°à¯ à®®à¯à®€à®°à®µà¯ à®à®°à¯à®ªà¯à®ªà®Ÿà®µà®€à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà¯à®®à¯  
+#*******************
+#
+#***** Collection *****
+Collection.Collection:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>à®€à®¿à®°à®à¯à®à®²à¯</FONT></STRONG></HTML>  
+Collection.Delete_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à¯à®ªà¯à®ªà¯à®à®³à®¯à¯à®®à¯ à®à®±à¯à®à®³à¯à®¯à¯à®®à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+Collection.Filter_Tooltip:à®à¯à®ªà¯à®ªà¯ à®®à®°à®€à¯à®€à®¿à®²à¯ à®à®Ÿà®£à¯à®®à¯ à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®à®à¯à®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à®µà¯à®®à¯  
+Collection.New_Folder_Tooltip:à®ªà¯à®€à®¿à®¯ à®à®±à¯ à®à®£à¯à®à®Ÿà®à¯à®à®µà¯à®®à¯  
+Collection.No_Collection:à®€à®¿à®°à®à¯à®à¯ à®à®²à¯à®²à¯  
+Collection.No_Collection_Loaded:à®€à®¿à®°à®à¯à®à¯ à®à®€à¯à®µà¯à®®à¯ à®à®±à¯à®±à®µà®¿à®²à¯à®²à¯  
+Collection.Stop:à®šà®¿à®°à¯à®€à¯à®€à¯  
+Collection.Stop_Tooltip:à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®šà®à®²à¯ à®à®à¯à®ªà¯à®ªà®€à¯ à®šà®¿à®°à¯à®€à¯à®€à®µà¯à®®à¯  
+Collection.Workspace:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>à®à¯à®¯à®²à®¿à®à®®à¯</FONT></STRONG></HTML>  
+#**********************
+#
+#***** CollectionBuilt *****
+CollectionBuilt.Message:à®€à®¿à®°à®à¯à®à¯ à®à®£à¯à®à®Ÿà®à¯à®à®ªà¯à®ªà®à¯à®à¯ à®®à¯à®©à¯à®ªà®Ÿà®°à¯à®µà¯à®à¯à®à¯ à®€à®¯à®Ÿà®°à¯  
+CollectionBuilt.Title:à®€à®¿à®°à®à¯à®à¯ à®à®£à¯à®à®Ÿà®à¯à®à®ªà¯à®ªà®à¯à® à®ªà®¯à®©à¯  
+#***************************
+#
+#******ScheduldBuilt******
+ScheduleBuilt.Message:à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à®²à®¿à®²à¯ à®à¯à®¯à®²à¯à®šà®¿à®°à®²à¯ à®®à®Ÿà®±à¯à®±à®ªà¯à®ªà®à¯à®à®¿à®°à¯à®à¯à®à®¿à®°à®€à¯.  
+ScheduleBuilt.Title:à®€à®¿à®°à®à¯à®à®²à¯ à®à¯à®¯à®²à¯à®šà®¿à®°à®²à¯ à®ªà®¯à®©à¯  
+#***************************
+#
+#***** CollectionManager *****
+CollectionManager.Schedule_Failed:à®à®°à¯ à®€à®µà®±à¯ à®šà®¿à®à®Žà¯à®šà¯à®€à®€à®Ÿà®²à¯ à®€à®¿à®°à®à¯à®à¯ à®à¯à®¯à®²à¯à®šà®¿à®°à®²à¯ à®à®Ÿà®²à®µà®à¯à®à®®à¯ à®à®à¯à® à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯.  
+CollectionManager.Build_Cancelled:à®€à®¿à®°à®à¯à®à®²à¯ à®à®£à¯à®à®Ÿà®à¯à®à¯à®µà®€à¯ à®šà¯à®°à¯à®€à¯à®€à®ªà¯à®ªà®à¯à®à®¿à®°à¯à®à¯à®à®¿à®°à®€à¯  
+CollectionManager.Cannot_Create_Collection:à®à®°à¯ à®€à®µà®±à¯ à®šà®¿à®à®Žà¯à®šà¯à®€à®€à®Ÿà®²à¯ à®€à®¿à®°à®à¯à®à®²à¯ à®à®£à¯à®à®Ÿà®à¯à® à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯  
+CollectionManager.Cannot_Create_Collection_With_Reason:à®€à®¿à®°à®à¯à®à®²à¯ à®à®£à¯à®à®Ÿà®à¯à® à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯ à®à®©à¯à®©à®¿à®²à¯:\n{0-à®€à®µà®±à¯ à®
+à®±à®¿à®µà®¿à®ªà¯à®ªà¯}  
+CollectionManager.Cannot_Delete_Index:à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à®²à¯ à®®à¯à®£à¯à®à¯à®®à¯ à®à®£à¯à®à®Ÿà®à¯à® à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯ à®à®©à¯à®©à®¿à®²à¯ à®ªà®Žà®¯ à®à¯à®à¯à®à¯à®£à¯à®ªà¯à®ªà¯ à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®šà¯à®à¯à® à®®à¯à®à®¿à®¯à®Ÿà®€à¯.\n à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯â à®
+à®²à¯à®²à®€à¯ à®µà¯à®±à¯ à®à®€à®Ÿà®µà®€à¯ à®šà®¿à®°à®²à¯ à®à®šà¯à®€ à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®à®ªà®¯à¯à®à®¿à®à¯à®à®µà®¿à®²à¯à®²à¯à®¯à¯à®©à¯à®±à¯ à®šà®¿à®à¯à®à®¯à®ªà¯à®ªà®à¯à®€à¯à®€à®µà¯à®®à¯ \n à®®à¯à®£à¯à®à¯à®©à¯ à®®à¯à®¯à®±à¯à®à®¿ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+CollectionManager.Cannot_Delete_Index_Log:à®ªà®Žà®¯ à®à¯à®à¯à®à¯à®£à¯à®ªà¯à®ªà¯ à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®šà¯à®à¯à® à®®à¯à®à®¿à®¯à®Ÿà®€à®€à®Ÿà®²à¯ à®à®±à®à¯à®à¯à®®à®€à®¿ à®šà®¿à®°à¯à®€à¯à®€à®ªà¯à®ªà®à¯à®à®€à¯  
+CollectionManager.Cannot_Open:à®€à®¿à®°à®à¯à®à®²à¯ {0-à®€à®¿à®°à®à¯à®à®²à¯ à®à¯à®ªà¯à®ªà¯ à®µà®Žà®¿}\n  à®€à®¿à®±à®à¯à® à®®à¯à®à®¿à®¯à®Ÿà®€à¯  
+CollectionManager.Cannot_Open_With_Reason:à®€à®¿à®°à®à¯à®à®²à¯ {0-à®€à®¿à®°à®à¯à®à®²à¯ à®µà®Žà®¿\n à®€à®¿à®±à®à¯à® à®®à¯à®à®¿à®¯à®Ÿà®€à¯ à®à®©à¯à®©à®¿à®²à¯:\n{1-à®€à®µà®±à¯ à®
+à®±à®¿à®µà®¿à®ªà¯à®ªà¯}  
+CollectionManager.Creating_Collection:à®€à®¿à®°à®à¯à®à®²à¯ à®à®£à¯à®à®Ÿà®à¯à®à®ªà¯à®ªà®à¯à®à®¿à®°à®€à¯  
+CollectionManager.Creating_Collection_Please_Wait:à®€à®¿à®°à®à¯à®à®²à¯ à®à®£à¯à®à®Ÿà®à¯à®à®ªà¯à®ªà®à¯à®à®¿à®°à®€à¯, à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®à®Ÿà®€à¯à®€à®¿à®°à¯à®à¯à®à®µà¯à®®à¯....  
+CollectionManager.Loading_Collection:à®€à®¿à®°à®à¯à®à®²à¯ à®à®±à¯à®±à®ªà¯à®ªà®à¯à®à®¿à®°à®€à¯  
+CollectionManager.Loading_Collection_Please_Wait:à®€à®¿à®°à®à¯à®à®²à¯ à®à®±à¯à®±à®ªà¯à®ªà®à¯à®à®¿à®°à®€à¯, à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®à®Ÿà®€à¯à®€à®¿à®°à¯à®à¯à®à®µà¯à®®à¯...  
+CollectionManager.Loading_Successful:à®à®±à¯à®±à®ªà¯à®ªà®à¯à® à®€à®¿à®°à®à¯à®à®²à¯{0}.  
+CollectionManager.Missing_Config:à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à®à¯à®à¯ à®à®°à¯ à®à®°à®¿à®¯à®Ÿà®©  collect.cfg  à®à¯à®ªà¯à®ªà¯ à®à®²à¯à®²à¯  
+CollectionManager.Not_Col_File:'{0}' à®à®°à¯ à®šà¯à®²à¯ à®šà®¿à®²à®¯ à®
+à®²à¯à®µà®²à®°à¯ à®à®à¯à®®à¯à®à®®à¯ à®€à®¿à®°à®à¯à®à®²à¯ à®à¯à®ªà¯à®ªà¯ à®
+à®²à¯à®² (.col)  
+CollectionManager.No_Config_File:collect.cfg à®à¯à®ªà¯à®ªà¯ mkcol.pl à®à®²à¯ à®à®£à¯à®à®Ÿà®à®ªà¯à®ªà®à®µà®¿à®²à¯à®²à¯.  
+CollectionManager.Preview_Ready_Failed:à®à®°à¯ à®€à®µà®±à¯ à®šà®¿à®à®Žà¯à®šà¯à®€à®€à®Ÿà®²à¯ à®€à®¿à®°à®à¯à®à¯ à®®à¯à®©à¯à®ªà®Ÿà®°à¯à®µà¯ à®®à¯à®à®¿à®¯à®Ÿà®€à¯  
+CollectionManager.Preview_Ready_Title:à®€à®¿à®°à®à¯à®à®²à¯ à®®à¯à®©à¯à®ªà®Ÿà®°à¯à®µà¯ à®šà®¿à®²à®®à¯.  
+CollectionManager.Schedule_Ready_Title:à®à®Ÿà®²à®®à¯à®±à¯à®¯à®¿à®©à¯ à®šà®¿à®²à®®à¯.  
+CollectionManager.Build_Not_Moved:à®à®à¯à®à¯à®®à¯ à®
+à®à¯à®µà¯ à®šà®à®°à¯à®€à¯à®€ à®®à¯à®€à®¿à®¯à®µà®¿à®²à¯à®²à¯. à®®à¯à®£à¯à®à¯à®®à¯ à®®à¯à®¯à®°à¯à®à¯à®à®¿à®à¯à®à®µà¯à®®à¯, à®
+à®²à¯à®²à®€à¯ GLI à®à®®à¯ à®à¯à®µà¯à®¯à®à®®à¯à®®à¯ à®µà®¿à®à¯à®à¯ à®µà¯à®³à®¿à®µà®šà¯à®€à¯ GLI à®€à®¿à®°à¯à®®à¯à®ªà®µà¯à®®à¯ à®€à¯à®µà®à¯à®à®¿ à®®à¯à®£à¯à®à¯à®®à¯ à®à®à¯à® à®®à¯à®¯à®°à¯à®à¯à®à®¿à®à¯à®à®µà¯à®®à¯, - à®à®€à¯ à®
+à®šà¯à®€ à®ªà®¿à®°à®à¯à®à®©à®¯à®¯à¯ à®€à¯à®±à¯à®à¯à®à®à¯à®à¯à®®à¯.  
+CollectionManager.Index_Not_Deleted:à®à¯à®à¯à®à¯ à®
+à®à¯à®µà¯ à®šà¯à®à¯à® à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯. GLI à®à®®à¯ à®à¯à®µà®¯à®à®®à¯à®®à¯ à®µà®¿à®à¯à®à¯ à®µà¯à®³à®¿à®µà®šà¯à®€à¯ GLI à®®à¯à®£à¯à®à¯à®®à¯ à®€à¯à®µà®à¯à®à®¿ à®®à¯à®£à¯à®à¯à®®à¯ à®à®à¯à® à®®à¯à®¯à®°à¯à®à¯à®à®¿à®à¯à®à®µà¯à®®à¯ - à®à®€à¯ à®
+à®šà¯à®€ à®ªà®¿à®°à®à¯à®à®©à®¯à®¯à¯ à®€à¯à®±à¯à®à¯à® à®à¯à®à¯à®®à¯.  
+CollectionManager.Install_Exception:à®€à®¿à®°à®à¯à®à¯ à®à¯à®¯à¯à®¯à¯à®®à¯à®ªà¯à®Žà¯à®€à¯ à®µà®¿à®€à®¿à®µà®¿à®²à®à¯à®à¯ à®à®£à¯à®à®€à¯: \n{0}\n à®
+à®šà¯à®à®®à®Ÿà® Windows à®
+à®²à¯à®²à®€à¯ à®à®³à¯ à®šà¯à®²à¯à®šà®¿à®²à®¯à®®à¯ à®€à®¿à®°à®à¯à®à¯ à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®à®à¯à®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®µà®€à®Ÿà®²à¯. \nà®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®€à®¿à®°à®à¯à®à®¿à®©à¯ à®®à¯à®² à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®à®€à¯à®µà¯à®®à¯ à®ªà¯à®± à®ªà®¯à®©à¯à®ªà®Ÿà®à¯à®à¯à®à¯ à®€à®¿à®°à®à¯à®à®ªà¯à®ªà®à®µà®¿à®²à¯à®²à¯ à®à®©à¯à®±à¯ à®šà®¿à®à¯à®à®¯à®ªà¯à®ªà®à¯à®€à¯à®€à®µà¯à®®à¯, à®ªà®¿à®±à®à¯ à®®à¯à®£à¯à®à¯à®®à¯ à®à®à¯à®à®µà¯à®®à¯.  
+#*****************************
+#
+#***** CollectionPopupMenu *****
+CollectionPopupMenu.Delete:à®šà¯à®à¯à®à¯  
+CollectionPopupMenu.New_Dummy_Doc:à®ªà¯à®€à®¿à®¯ à®µà¯à®±à¯à®±à¯ à®à®µà®£à®®à¯  
+CollectionPopupMenu.New_Folder:à®ªà¯à®€à®¿à®¯ à®à®±à¯  
+CollectionPopupMenu.Refresh:à®à®±à¯ à®à®Ÿà®à¯à®à®¿ à®ªà¯à®€à¯à®à¯à®à®®à¯  
+CollectionPopupMenu.Rename:à®ªà¯à®€à®¿à®¯ à®ªà¯à®°à®¿à®à®µà¯à®®à¯  
+CollectionPopupMenu.Replace:à®®à®Ÿà®±à¯à®±à®µà¯à®®à¯  
+#*******************************
+#
+#***** CreatePane *****
+CreatePane.Schedule_Progress:à®®à¯à®©à¯à®©à¯à®±à¯à®±à®®à¯ à®à¯à®¯à®²à¯à®šà®¿à®°à®²à¯ à®à¯à®¯à¯à®¯à®µà¯à®®  
+CreatePane.Schedule:à®µà®¿à®°à¯à®ªà¯à®ªà®®à¯ à®€à¯à®°à¯à®µà¯à®à®³à¯ à®à¯à®¯à®²à¯à®šà®¿à®°à®²à¯ à®à¯à®¯à¯à®¯à®µà¯à®®  
+CreatePane.Schedule_Tooltip:à®€à®©à¯à®©à®¿à®¯à®à¯à® à®€à®¿à®°à®à¯à®à®²à¯ à®à®£à¯à®à®Ÿà®à¯à®à®²à¯ à®à¯à®¯à®²à¯à®šà®¿à®°à®²à¯ à®à¯à®¯à¯à®µà®€à®°à¯à®à¯à®à¯ à®µà®¿à®°à¯à®ªà¯à®ªà®®à¯ à®€à¯à®°à¯à®µà¯à®à®³à¯  
+CreatePane.Schedule_Build:à®à¯à®¯à®²à¯ à®à¯à®¯à®²à¯à®šà®¿à®°à®²à¯ à®à¯à®¯à¯à®¯à®µà¯à®®  
+CreatePane.Schedule_Build_Tooltip:à®€à®©à¯à®©à®¿à®¯à®à¯à® à®€à®¿à®°à®à¯à®à®²à¯ à®à®£à¯à®à®Ÿà®à¯à®à®²à¯ à®à¯à®¯à®²à¯à®šà®¿à®°à®²à¯ à®à¯à®¯à¯à®¯à®µà¯à®®  
+CreatePane.Build:à®µà®¿à®°à¯à®ªà¯à®ªà®à®³à¯ à®à®à¯à®à®µà¯à®®à¯  
+CreatePane.Build_Tooltip:à®à¯à®à¯à®à®£à¯à®ªà¯à®ªà¯ à®®à¯à®±à¯ à®µà®¿à®°à¯à®ªà¯à®ªà®®à¯ à®€à¯à®°à¯à®µà¯à®®à¯ à®®à¯à®²à¯à®®à¯ à®€à®¿à®°à®à¯à®à¯ à®à®°à¯à®µà®Ÿà®à¯à®®à¯ à®šà®¿à®²à®¯à®¿à®²à¯ à®µà®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®µà®€à¯à®®à¯  
+CreatePane.Build_Collection:à®€à®¿à®°à®à¯à®à¯ à®à®à¯à®à®µà¯à®®à¯  
+CreatePane.Build_Collection_Tooltip:à®€à®¿à®°à®à¯à®à¯ à®à®°à¯à®µà®Ÿà®à¯à®à¯à®®à¯ à®µà¯à®²à¯à®à¯à®à®¿à®°à®®à®®à¯ à®à®°à®®à¯à®ªà®¿à®à¯à®à®µà¯à®®à¯  
+CreatePane.Build_Progress:à®à®à¯à®à®²à¯ à®®à¯à®©à¯à®©à¯à®±à¯à®±à®®à¯  
+CreatePane.Cancel_Build:à®à®à¯à®à¯à®µà®€à¯ à®šà®¿à®°à¯à®€à¯à®€à®µà¯à®®à¯  
+CreatePane.Cancel_Build_Tooltip:à®€à®¿à®°à®à¯à®à¯ à®à®°à¯à®µà®Ÿà®à¯à®à¯à®®à¯ à®µà¯à®²à¯à®à¯à®à®¿à®°à®®à®®à¯ à®šà®¿à®°à¯à®€à¯à®€à®µà¯à®®à¯  
+CreatePane.Full_Build:à®®à¯à®£à¯à®à¯à®®à¯ à®à®à¯à®à¯à®µà®€à¯ à®ªà¯à®°à¯à®€à¯à®€à®¿ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+CreatePane.Full_Build_Tooltip:à®€à®¿à®°à®à¯à®à¯ à®®à¯à®£à¯à®à¯à®®à¯ à®à®°à®®à¯à®ªà®€à¯à®€à®¿à®²à®¿à®°à¯à®šà¯à®€à¯ à®®à¯à®Žà¯à®®à¯à®¯à®Ÿà® à®à®à¯à®à®µà¯à®®à¯  
+CreatePane.Import:à®à®±à®à¯à®à¯à®®à®€à®¿ à®µà®¿à®°à¯à®ªà¯à®ªà®®à®à¯à®à®³à¯ à®€à¯à®°à¯à®µà¯  
+CreatePane.Import_Tooltip:à®à¯à®ªà¯à®ªà¯ à®®à®Ÿà®±à¯à®±à¯à®µà®€à®°à¯à®à¯à®à¯ à®µà®¿à®°à¯à®ªà¯à®ªà®®à¯ à®€à¯à®°à¯à®µà¯à®®à¯ à®®à¯à®²à¯à®®à¯ à®€à®¿à®°à®à¯à®à®²à¯ à®à®£à¯à®à®Ÿà®à¯à®®à¯ à®šà®¿à®²à¯à®¯à®¿à®²à¯ à®®à¯à®€à®°à®µà¯ à®šà®¿à®¯à®®à®©à®®à¯à®®à¯  
+CreatePane.Import_Progress:à®à®±à®à¯à®à¯à®®à®€à®¿ à®®à¯à®©à¯à®©à¯à®±à¯à®±à®®à¯  
+CreatePane.Minimal_Build:à®à¯à®±à¯à®šà¯à®€ à®®à¯à®£à¯à®à¯à®®à¯ à®à®à¯à®à¯à®µà®€à¯  
+CreatePane.Minimal_Build_Tooltip:à®µà¯à®à®®à®Ÿà®, à®à®©à¯à®©à®¿à®²à¯ à®€à®¿à®°à®à¯à®à¯ à®à®°à¯à®µà®Ÿà®à¯à®à¯à®®à¯ à®µà¯à®²à¯à®à¯à®à¯ à®µà¯à®£à¯à®à®¿à®¯ à®à®¿à®² à®ªà®à¯à®€à®¿à®à®³à¯à®€à®Ÿà®©à¯ à®à¯à®¯à¯à®¯à®ªà¯à®ªà®à¯à®à¯à®³à¯à®³à®€à¯  
+CreatePane.Minimal_Build_Not_Required:à®®à¯à®£à¯à®à¯à®®à¯ à®à®à¯à®à¯à®µà®€à¯ à®
+à®µà®à®¿à®¯à®®à®¿à®²à¯à®²à¯ à®à®©à¯à®©à®¿à®²à¯ à®€à®¿à®°à®à¯à®à®²à¯ à®ªà¯à®€à®¿à®€à®Ÿà® à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®à®€à¯à®µà¯à®®à¯ à®à¯à®°à¯à®à¯à®à®µà®¿à®²à¯à®²à¯,\nà®®à¯à®€à®°à®µà¯ à®ªà®€à®¿à®ªà¯à®ªà®¿à®à¯à®à®µà®¿à®²à¯à®²à¯, à®®à®±à¯à®±à¯à®®à¯ à®µà®¿à®°à¯à®ªà¯à®ªà®®à¯ à®€à¯à®°à¯à®µà¯à®à®³à¯ à®µà®à®¿à®µà®®à¯à®ªà¯à®ªà¯ à®à®Ÿà®°à®³à®ªà¯à®ªà®¿à®°à®¿à®µà®¿à®²à¯ à®®à®Ÿà®±à¯à®±à®µà¯à®®à®¿à®²à¯à®²à¯. \n (à®®à¯à®£à¯à®à¯à®®à¯ à®à®à¯à®à¯à®µà®€à¯ à®à®à¯à®à®¯à®®à®Ÿà® à®µà¯à®£à¯à®à¯à®®à®Ÿà®©à®Ÿà®² "à®®à¯à®£à¯à®à¯à®®à¯ à®à®à¯à®à¯ à®ªà¯à®°à¯à®€à¯à®€à®¿ à®à¯à®¯à¯" à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€à¯ à®ªà®¿à®©à¯à®©à®°à¯ "à®€à®¿à®°à®à¯à®à®²à¯ à®à®à¯à®à¯" à®ªà®¿à®€à¯à®€à®Ÿà®©à¯ à®
+à®Žà¯à®€à¯à®€à®µà¯à®®à¯.)  
+CreatePane.Log:à®à¯à®¯à¯à®€à®¿ à®ªà®€à®¿à®µà¯  
+CreatePane.Log_Tooltip:à®®à¯à®šà¯à®€à®¿à®¯ à®€à®¿à®°à®à¯à®à¯ à®à®°à¯à®µà®Ÿà®à¯à®à¯à®®à¯ à®®à¯à®¯à®±à¯à®à¯à®à®¿à®à®³à®¿à®©à¯ à®µà¯à®³à®¿à®¯à¯à®à¯à®à¯ à®ªà®Ÿà®°à¯à®à¯à®à®µà¯à®®à¯  
+CreatePane.Mode_All:à®à®²à¯à®²à®Ÿà®®à¯  
+CreatePane.Options:à®µà®¿à®°à¯à®ªà¯à®ªà®®à¯ à®€à¯à®°à¯à®µà¯ à®à¯à®à¯à®à®à®³à¯  
+CreatePane.Options_Title:à®€à®¿à®°à®à¯à®à¯ à®à®±à®à¯à®à¯à®®à®€à®¿à®¯à¯à®®à¯, à®à®à¯à®à¯à®®à¯, à®à¯à®¯à®²à¯à®šà®¿à®°à®²à¯ à®µà®¿à®°à¯à®ªà¯à®ªà®à¯à®à®³à¯à®®à¯ à®€à¯à®°à¯à®µà¯  
+CreatePane.Preview_Collection:à®€à®¿à®°à®à¯à®à¯ à®®à¯à®©à¯à®ªà®Ÿà®°à¯à®µà¯  
+CreatePane.Preview_Collection_Tooltip:à®€à®¿à®°à®à¯à®à¯ à®®à¯à®©à¯à®ªà®Ÿà®°à¯à®µà®¯à®¿à®à®µà¯à®®à¯  
+#**********************
+#
+#***** Dates *****
+Dates.Mon:à®€à®¿à®à®³à¯  
+Dates.Tue:à®à¯à®µà¯à®µà®Ÿà®¯à¯  
+Dates.Wed:à®ªà¯à®€à®©à¯  
+Dates.Thu:à®µà®¿à®¯à®Ÿà®Žà®©à¯  
+Dates.Fri:à®µà¯à®³à¯à®³à®¿  
+Dates.Sat:à®à®©à®¿  
+Dates.Sun:à®à®Ÿà®¯à®°à¯  
+Dates.Jan:à®à®©à®µà®°à®¿  
+Dates.Feb:à®ªà®¿à®ªà¯à®°à®µà®°à®¿  
+Dates.Mar:à®®à®Ÿà®°à¯à®à¯  
+Dates.Apr:à®à®ªà¯à®°à®¿à®²à¯  
+Dates.May:à®®à¯  
+Dates.Jun:à®à¯à®©à¯  
+Dates.Jul:à®à¯à®²à¯  
+Dates.Aug:à®à®à®žà¯à®à¯  
+Dates.Sep:à®žà¯à®ªà¯à®à®®à¯à®ªà®°à¯  
+Dates.Oct:à®
+à®à¯à®à¯à®ªà®°à¯  
+Dates.Nov:à®šà®µà®®à¯à®ªà®°à¯  
+Dates.Dec:à®à®¿à®à®®à¯à®ªà®°à¯  
+#**********************
+#
+#***** Delete Collection Prompt *****
+DeleteCollectionPrompt.Collection_Details:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®€à®¿à®°à®à¯à®à®¿à®©à¯ à®µà®¿à®µà®°à®à¯à®à®³à¯  
+DeleteCollectionPrompt.Collection_List:à®à®¿à®à¯à®à¯à®à®à¯à®à¯à®à®¿à®¯ à®€à®¿à®°à®à¯à®à¯à®à®³à¯  
+DeleteCollectionPrompt.Confirm_Delete:à®€à®¿à®°à®à¯à®à¯ à®šà¯à®à¯à®à®¿à®¯à®€à¯ à®à®±à¯à®€à®¿à®ªà¯à®ªà®à¯à®€à¯à®€ à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®ªà¯à®à¯à®à®¿à®¯à®¿à®²à¯ à®
+à®à®¯à®Ÿà®³ à®à¯à®à¯ à®µà¯à®à¯à®à®µà¯à®®à¯.  
+DeleteCollectionPrompt.Delete:à®šà¯à®à¯à®à®µà¯à®®à¯  
+DeleteCollectionPrompt.Delete_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®€à®¿à®°à®à¯à®à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+DeleteCollectionPrompt.Details:à®à®£à¯à®à®Ÿà®à¯à®à®¿à®µà®°à¯ - {0}\nà®à®Ÿà®ªà¯à®ªà®Ÿà®±à¯à®±à¯à®µà®°à¯ - {1}\nà®µà®¿à®µà®°à®à¯à®à®³à¯\n{2}  
+DeleteCollectionPrompt.Failed_Delete:à®€à®¿à®°à¯à®à¯à®à®²à¯ à®®à¯à®Žà¯à®®à¯à®¯à®Ÿà® à®šà¯à®à¯à® à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯.  
+DeleteCollectionPrompt.Failed_Title:à®šà¯à®à¯à®à¯à®€à®²à¯ à®€à¯à®²à¯à®µà®¿!  
+DeleteCollectionPrompt.No_Collection:à®€à®¿à®°à®à¯à®à®²à¯ à®à®€à¯à®µà¯à®®à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà®¿à®²à¯à®²à¯.  
+DeleteCollectionPrompt.Successful_Delete:à®€à®¿à®°à®à¯à®à®²à¯ à®šà¯à®à¯à®à®ªà¯à®ªà®à¯à®à®¿à®°à¯à®à¯à®à®¿à®°à®€à¯.  
+DeleteCollectionPrompt.Successful_Title:à®šà¯à®à¯à®à¯à®€à®²à¯ à®®à¯à®Žà¯à®®à¯à®¯à®Ÿà®¯à®¿à®±à¯à®±à¯!  
+DeleteCollectionPrompt.Title:à®€à®¿à®°à®à¯à®à®²à¯ à®šà¯à®à¯à®à®®à¯  
+DeleteCollectionPrompt.Cannot_Delete_Open_Collection_Tooltip:{0}à®€à®¿à®°à®à¯à®à®²à¯ à®šà¯à®à¯à® à®®à¯à®à®¿à®¯à®Ÿà®€à¯, à®à®©à¯à®©à®¿à®²à¯ à®
+à®€à¯ à®€à®°à¯à®ªà¯à®ªà¯à®€à¯ à®€à®¿à®±à®šà¯à®€à®¿à®°à¯à®à¯à®à®¿à®°à®€à¯  
+#**********************
+#
+#***** DirectoryLevelMetadata *****
+DirectoryLevelMetadata.Message:à®šà¯à®à®³à¯ à®à®ªà¯à®ªà¯à®Žà¯à®€à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à®±à¯à®à¯à®à¯ (à®
+à®²à¯à®²à®€à¯ à®à®±à¯à®à®³à¯à®à¯à®à¯) 'à®
+à®à¯ à®®à®à¯à®à®®à¯' à®®à¯à®€à®°à®µà¯ à®à¯à®à¯à®à¯à®à®ªà¯à®ªà¯à®à®¿à®°à¯à®°à¯à®à®³à¯. à®à®€à¯à®€à®à®¯ à®®à¯à®€à®°à®µà¯ à®à®šà¯à®€ à®
+à®à®¯à®¿à®²à¯à®³à¯à®³ à®®à®±à¯à®± à®à®²à¯à®²à®Ÿ à®à¯à®ªà¯à®ªà¯à®à®³à¯à®®à¯ à®
+à®à¯à®à®³à¯à®®à¯ à®€à®©à¯à®©à®¿à®¯à®à¯à®à®®à®Ÿà®¯à¯ à®ªà¯à®±à¯à®±à¯à®à¯à®à¯à®³à¯à®³à¯à®®à¯. à®®à¯à®²à¯à®®à¯ à®à®šà¯à®€ à®®à¯à®€à®°à®µà¯ à®à¯à®Žà®©à¯à®€à¯ à®
+à®à¯à®²à®¿à®°à¯à®šà¯à®€à¯ à®šà¯à®à¯à® à®®à¯à®à®¿à®¯à®Ÿà®€à¯, à®®à®Ÿà®±à¯à®±à®€à¯à®€à®Ÿà®©à¯ à®®à¯à®à®¿à®¯à¯à®®à¯.  à®à®šà¯à®€ à®à¯à®¯à¯à®à¯à®¯à®¯à¯ à®€à¯à®à®°à¯à®µà®€à®°à¯à®à¯à®à¯ 'OK' à®ªà®¿à®€à¯à®€à®Ÿà®©à¯ à®à¯à®³à®¿à®à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+DirectoryLevelMetadata.Title:à®à®±à¯ à®®à®à¯à®à®®à¯ à®®à¯à®€à®°à®µà¯ à®à¯à®°à¯à®à¯à®à¯ à®€à®°à¯à®£à®®à¯  
+
+#*******************
+#
+#***** Download *****
+DOWNLOAD.MODE.Root:à®€à®°à®µà¯à®±à®à¯à®à®®à¯_à®µà¯à®°à¯  
+DOWNLOAD.MODE.WebDownload:à®µà®²à¯  
+DOWNLOAD.MODE.MediaWikiDownload:à®®à¯à®à®¿à®¯à®µà®¿à®à¯à®à®¿  
+DOWNLOAD.MODE.OAIDownload:à®à®à®  
+DOWNLOAD.MODE.ZDownload:Z39.50  
+DOWNLOAD.MODE.SRWDownload:à®à®à¯â à®à®°à¯â à®à®ªà¯à®²à¯à®¯à¯  
+
+Download.ServerInformation:à®à¯à®µà¯à®¯à®à®®à¯ à®µà®¿à®µà®°à®®à¯  
+Download.ServerInformation_Tooltip:à®à¯à®µà¯à®¯à®à®®à¯ à®ªà®±à¯à®±à®¿à®¯ à®à®¿à®² à®µà®¿à®µà®°à®à®à®³à¯ à®€à®°à®µà¯à®±à®à¯à®à®®à¯ à®à¯à®¯à¯à®€à¯, à®à®£à¯à®ªà¯à®ªà¯ à®à¯à®¯à¯à®¯ à®®à¯à®à®¿à®¯à¯à®®à®Ÿ à®à®©à¯à®±à¯ à®ªà®°à®¿à®à¯à®€à®¿à®à¯à®à®µà¯à®®à¯  
+
+#********************
+#
+#***** EnrichPane *****
+EnrichPane.AutoMessage:à®à®šà¯à®€ à®à®°à¯à®ªà¯à®ªà¯, {0}, à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯â à®®à¯à®€à®°à®µà¯ à®
+à®®à¯à®ªà¯à®ªà¯ à®à¯à®°à¯à®šà¯à®€à®€à¯. à®à®šà¯à®€ à®
+à®®à¯à®ªà¯à®ªà¯ à®à®Ÿà®€à®Ÿà®°à®£à®®à®Ÿà® à®€à®©à¯à®©à®¿à®¯à®à®®à®Ÿà®¯à¯ à®ªà®¿à®°à®¿à®€à¯à®€à¯ à®à®à¯à®à¯à®à®à¯à®à¯à®à®¿à®¯  à®®à¯à®€à®°à®µà¯ à®
+à®®à¯à®ªà¯à®ªà¯ à®à¯à®±à®¿à®à¯à®à®¿à®±à®€à¯. à®à®©à¯à®© {0} à®®à¯à®€à®°à®µà¯ à®ªà®¿à®°à®¿à®€à¯à®€à¯ à®à®à¯à®à¯à®à®à¯à®à¯à®à¯à®®à¯ à®à®©à¯à®ªà¯à®€à¯ à®€à¯à®°à®¿à®¯, 'à®à®£à¯à®à®Ÿà®à¯à®à¯à®µà¯à®®à¯' à®à®€à¯à®€à®²à¯  à®à®ªà®¯à¯à®à®¿à®€à¯à®€à¯  à®€à®¿à®°à®à¯à®à®²à¯ à®à®£à¯à®à®Ÿà®à¯à®à®µà¯à®®à¯.  
+EnrichPane.ExistingValues:{0}à®à¯à®à¯ à®à®ªà¯à®ªà¯à®Žà¯à®€à¯ à®à®°à¯à®à¯à®à¯à®®à¯ à®®à®€à®¿à®ªà¯à®ªà¯à®à®³à¯.  
+EnrichPane.InheritedMetadataSelected:à®à®šà¯à®€ à®®à¯à®€à®°à®µà¯ à®ªà®à¯à®€à®¿ à®
+à®€à®°à¯à®à¯à®à¯ à®®à¯à®²à¯à®¯à¯à®³à¯à®³ à®à®±à¯à®¯à®¿à®²à®¿à®°à¯à®šà¯à®€à¯ à®ªà¯à®±à¯à®±à¯à®à¯à®à¯à®³à¯à®³à®ªà¯à®ªà®à¯à®à®€à¯. à®®à¯à®²à¯à®®à¯ à®
+à®€à¯ à®ªà®€à®¿à®ªà¯à®ªà¯ à®à¯à®¯à¯à®¯ à®à®¯à®²à®Ÿà®€à¯. à®šà¯à®à®³à¯ à®µà®°à®¿à®à¯ à®à®°à®®à¯à®ªà®€à¯à®€à®¿à®²à¯ à®
+à®à¯à®¯à®¿à®©à¯ à®à¯à®±à¯à®®à¯à®ªà®à®®à¯ à®
+à®®à¯à®à¯à®à®¿ à®à®£à¯à®®à®¯à®Ÿà®© à®®à¯à®€à®°à®µà¯ à®à®°à¯à®à¯à®à¯à®®à¯ à®
+à®à¯à®¯à®¿à®²à¯ à®à¯à®©à¯à®±à¯ à®ªà®Ÿà®°à¯à®à®²à®Ÿà®®à¯.  
+EnrichPane.InheritedMetadata_Tooltip:à®à®šà¯à®€ à®à¯à®±à¯à®®à¯à®ªà®à®®à¯ à®
+à®®à¯à®à¯à®à®¿ à®
+à®šà¯à®€ à®ªà¯à®±à¯à®±à¯à®à¯à®à¯à®³à¯à®³à®ªà¯à®ªà®à¯à® à®®à¯à®€à®°à®µà¯ à®à®€à¯à®à¯à®à®ªà¯à®ªà®à¯à® à®à®±à¯à®à¯à®à¯ à®à¯à®©à¯à®°à¯ à®ªà®Ÿà®°à¯à®à¯à®à®²à®Ÿà®®à¯  
+EnrichPane.ManageMetadataSets:à®®à¯à®€à®°à®µà¯ à®à¯à®µà¯à®à®³à¯ à®šà®¿à®°à¯à®µà¯à®à®¿à®à¯à®à®µà¯à®®à¯âŠ  
+EnrichPane.ManageMetadataSets_Tooltip:à®€à®¿à®°à®à¯à®à®²à¯ à®à®ªà®¯à¯à®à®¿à®€à¯à®€ à®®à¯à®€à®°à®µà¯ à®à¯à®µà¯à®à®³à¯ à®®à®Ÿà®±à¯à®±à¯à®µà¯à®®à¯  
+EnrichPane.No_File:à®à¯à®ªà¯à®ªà¯ à®à®€à¯à®µà¯à®®à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà®¿à®²à¯à®²à¯  
+EnrichPane.No_Metadata:à®®à¯à®€à®°à®µà¯ à®à®©à¯à®±à¯à®®à¯ à®à®¿à®à¯à®à¯à®à®µà®¿à®²à¯à®²à¯  
+EnrichPane.No_Metadata_Element:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>à®®à¯à®€à®°à®µà¯ à®à®°à¯à®ªà¯à®ªà¯ à®à®€à¯à®µà¯à®®à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà®¿à®²à¯à®²à¯</FONT></STRONG></HTML>  
+EnrichPane.NotOneFileOnlyMetadataSelected:à®à®šà¯à®€ à®®à¯à®€à®°à®µà¯ à®ªà®à¯à®€à®¿ à®à®šà¯à®€ à®à¯à®ªà¯à®ªà¯à®à¯à®à¯ à®®à®à¯à®à¯à®®à¯ à®à®ªà®¯à¯à®à®¿à®à¯à®à®²à®Ÿà®®à¯, à®®à¯à®²à¯à®®à¯ à®
+à®€à¯ à®ªà®€à®¿à®ªà¯à®ªà¯ à®à¯à®¯à¯à®¯ à®à®¯à®²à®Ÿà®€à¯.  
+EnrichPane.Value_Field_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®®à¯à®€à®°à®µà¯ à®à®°à¯à®ªà¯à®ªà¯à®à¯à®à¯ à®à¯à®à¯à®à¯à®à®µà¯à®£à¯à®à®¿à®¯ à®®à®€à®¿à®ªà¯à®ªà¯  
+EnrichPane.Value_Field_Tooltip_Uneditable:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®®à¯à®€à®°à®µà¯ à®à®°à¯à®ªà¯à®ªà¯à®à¯à®à¯ à®®à®€à®¿à®ªà¯à®ªà¯ à®à¯à®à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®€à¯  
+#***********************
+#
+#****** ExplodeMetadataPrompt *******
+ExplodeMetadataPrompt.Explode:à®€à¯à®±à®¿à®à¯à®à®µà¯à®®à¯  
+ExplodeMetadataPrompt.Explode_Tooltip:à®®à¯à®€à®°à®µà¯ à®à¯à®ªà¯à®ªà¯ à®€à¯à®±à®¿à®à¯à®à®à¯à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+ExplodeMetadataPrompt.Instructions:à®à®©à¯à®€ à®®à¯à®€à®°à®µà¯ à®à¯à®ªà¯à®ªà¯ à®€à¯à®±à®¿à®à¯à®à®à¯à®à¯à®¯à¯à®€à®Ÿà®²à¯ à®€à®©à®¿ à®€à®©à®¿ à®ªà®€à®¿à®ªà¯à®ªà¯ à®à¯à®¯à¯à®¯à®à¯à®à¯à®à®¿à®¯ à®®à¯à®€à®°à®µà¯à®à®³à¯à®³à¯à®³ à®à®à¯à®à®³à¯ à®à®£à¯à®à®Ÿà®à¯à®à®ªà¯à®ªà®à¯à®®à¯. à®à®€à¯ à®à®°à¯ à®€à®¿à®°à¯à®ªà¯à®ªà®®à¯à®à®¿à®¯à®Ÿà®€ à®à¯à®¯à®²à¯; à®®à¯à®²à¯à®®à¯ à®
+à®šà¯à®€ à®
+à®à®²à¯ à®®à¯à®€à®°à®µà¯ à®à¯à®ªà¯à®ªà¯ à®€à®¿à®°à®à¯à®à®²à®¿à®°à¯à®šà¯à®€à¯ à®šà¯à®à¯à®à®ªà¯à®ªà®à¯à®®à¯.  
+ExplodeMetadataPrompt.Failed_Title:à®€à¯à®°à®¿à®€à¯à®€à®²à¯ à®€à¯à®²à¯à®µà®¿  
+ExplodeMetadataPrompt.Failed_Explode:{0}à®€à®°à®µà¯à®€à¯à®€à®³à®€à¯à®€à¯ à®€à¯ à®±à®¿à®à¯à®à®à¯à®à¯à®¯à¯à®¯ à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯.  
+ExplodeMetadataPrompt.NotExplodable:à®à®šà¯à®€ à®à¯à®ªà¯à®ªà¯ à®€à¯à®±à®¿à®à¯à®à®à¯à®à¯à®¯à¯à®¯ à®à®à®Ÿà®€à®€à¯  
+ExplodeMetadataPrompt.Successful_Explode:à®€à®°à®µà¯à®€à¯à®€à®³à®®à¯ {0} à®µà¯à®±à¯à®±à®¿à®à®°à®®à®Ÿà® à®€à¯à®±à®¿à®à¯à®à®ªà¯à®ªà®à¯à®à®€à¯  
+ExplodeMetadataPrompt.Successful_Title:à®€à¯à®±à®¿à®€à¯à®€à®²à¯ à®ªà¯à®°à¯à®€à®¿à®¯à®Ÿà®à®¿à®¯à®€à¯  
+ExplodeMetadataPrompt.Title:à®®à¯à®€à®°à®µà¯ à®€à®°à®µà¯à®€à¯à®€à®³à®€à¯à®€à¯ à®€à¯à®±à®¿à®à¯à®à®à¯à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+ExplodeMetadataPrompt.Plugin:à®€à¯à®±à®¿à®€à¯à®€à®²à¯à®à¯à®à¯ à®à®ªà®¯à¯à®à®¿à®à¯à® à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯  
+#***********************
+#
+#****** ReplaceSrcWithHTMLPrompt *******
+ReplaceSrcWithHTMLPrompt.ReplaceSrc:HTML à®ªà®€à®¿à®ªà¯à®ªà®Ÿà®²à¯ à®®à®Ÿà®±à¯à®±à®µà¯à®®à¯  
+ReplaceSrcWithHTMLPrompt.ReplaceSrc_Tooltip:à®à®šà¯à®€ à®®à¯à®² à®à®µà®£à®€à¯à®€à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®à®£à¯à®à®Ÿà®à¯à®à®¿à®¯ HTML à®ªà®€à®¿à®ªà¯à®ªà®Ÿà®²à¯ à®®à®Ÿà®±à¯à®±à®µà¯à®®à¯.  
+ReplaceSrcWithHTMLPrompt.Instructions:à®à®°à¯ à®à®µà®£à®€à¯à®€à¯ à®
+à®€à¯ à®à®£à¯à®à®Ÿà®à¯à®à®¿à®¯ HTML à®ªà®€à®¿à®ªà¯à®ªà®Ÿà®²à¯ à®®à®Ÿà®±à¯à®±à®¿à®¯à®Ÿà®²à¯ à®
+à®šà¯à®€ HTML à®à¯à®ªà¯à®ªà¯ à®à¯à®°à®®à¯à®ªà¯à®ªà¯ à®à¯à®¯à¯à®¯à®²à®Ÿà®®à¯, à®®à¯à®²à¯à®®à¯ à®à®€à®¿à®°à¯à®à®Ÿà®²à®€à¯à®€à®¿à®²à¯ à®€à®¿à®°à®à¯à®à¯ à®®à®°à¯à®ªà®à®¿à®¯à¯à®®à¯ à®à®šà¯à®€ à®à¯à®°à®®à¯à®ªà¯à®ªà¯à®à®³à¯ à®
+à®ªà¯à®ªà®à®¿à®¯à®Ÿà® à®µà¯à®€à¯à®€à¯ à®à®à¯à®à®²à®Ÿà®®à¯.  à®à®€à¯ à®à®°à¯ à®€à®¿à®°à¯à®ªà¯à®ªà®®à¯à®à®¿à®¯à®Ÿà®€ à®à¯à®¯à®²à¯ à®®à¯à®²à¯à®®à¯ à®à®ªà¯à®ªà®à®¿à®¯à®Ÿà® à®®à®Ÿà®±à¯à®±à®ªà¯à®ªà®à¯à® à®®à¯à®² à®à®µà®£à®®à¯(à®à®³à¯) à®€à®¿à®°à®à¯à®à®²à®¿à®°à¯à®šà¯à®€à¯ à®šà¯à®à¯à®à®ªà¯à®ªà®à¯à®®à¯.  
+ReplaceSrcWithHTMLPrompt.Failed_Title:HTML à®ªà®€à®¿à®ªà¯à®ªà®Ÿà®²à¯ à®®à®Ÿà®±à¯à®±à¯à®µà®€à¯ à®ªà®²à®¿à®à¯à®à®µà®¿à®²à¯à®²à¯.  
+ReplaceSrcWithHTMLPrompt.Failed_ReplaceSrc:à®à®µà®£à®®à¯(à®à®³à¯) {0} HTML à®ªà®€à®¿à®ªà¯à®ªà®Ÿà®²à¯ à®®à®Ÿà®±à¯à®± à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯.  
+ReplaceSrcWithHTMLPrompt.NotSrcReplaceable:à®à®šà¯à®€ à®µà®à¯ à®à¯à®ªà¯à®ªà¯ à®
+à®€à®©à¯ HTML à®ªà®€à®¿à®ªà¯à®ªà®Ÿà®²à¯ à®®à®Ÿà®±à¯à®± à®®à¯à®à®¿à®¯à®Ÿà®€à¯.  
+ReplaceSrcWithHTMLPrompt.Successful_ReplaceSrc:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à®²à¯à®²à®Ÿ à®à®µà®£à¯à®à®³à¯à®¯à¯à®®à¯ à®
+à®€à®©à¯â à®
+à®€à®©à¯à®à®¯ HTML à®ªà®€à®¿à®ªà¯à®ªà®Ÿà®²à¯ à®®à®Ÿà®±à¯à®±à®ªà¯à®ªà®à¯à®à®©.  
+ReplaceSrcWithHTMLPrompt.Successful_Title:à®à®£à¯à®à®Ÿà®à¯à®à®ªà¯à®ªà®à¯à® HTML à®ªà®€à®¿à®ªà¯à®ªà¯à®à®³à®Ÿà®²à¯ à®®à®Ÿà®±à¯à®±à®²à¯ à®ªà¯à®°à¯à®€à¯à®€à®¿à®¯à®Ÿà®à®¿à®¯à®€à¯.  
+ReplaceSrcWithHTMLPrompt.Title:à®®à¯à®² à®à®µà®£à¯à®à®³à¯ HTML à®à¯à®ªà¯à®ªà¯à®à®Ÿà®³à®Ÿà®²à¯ à®®à®Ÿà®±à¯à®±à®µà¯à®®à¯  
+ReplaceSrcWithHTMLPrompt.Plugin:à®€à¯à®°à®¿à®à¯à® à®à¯à®¯à¯à®µà®€à®°à¯à®à¯à®à¯ à®à®ªà®¯à¯à®à®¿à®à¯à® à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯  
+#***********************
+#
+#****** WriteCDImagePrompt *******
+WriteCDImagePrompt.CD_Name:CD/DVD à®ªà¯à®¯à®°à¯  
+WriteCDImagePrompt.Export:CD/DVD à®à®°à¯à®µà®®à¯ à®à®Žà¯à®€à®µà¯à®®à¯  
+WriteCDImagePrompt.Export_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®€à®¿à®°à®à¯à®à¯à®à®³à¯ à®à®°à¯ à®µà®¿à®©à¯âà®à¯à®žà¯â CD/DVD à®à®°à¯à®µà®®à®Ÿà® à®à®Žà¯à®€à®µà¯à®®à¯  
+WriteCDImagePrompt.Failed_Export:à®
+à®šà¯à®€ ({0}) à®€à®¿à®°à®à¯à®à¯à®à®³à¯ à®à®±à¯à®±à¯à®®à®€à®¿ à®à¯à®¯à¯à®¯ à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯.  
+WriteCDImagePrompt.Failed_Title:à®à®±à¯à®±à¯à®®à®€à®¿ à®ªà®²à®¿à®à¯à®à®µà®¿à®²à¯à®²à¯  
+WriteCDImagePrompt.Install:CD/DVD à®à®ªà®¯à¯à®à®¿à®à¯à®à®¯à®¿à®²à¯ à®à®¿à®² à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®šà®¿à®±à¯à®µà¯à®®à¯ (à®µà¯à®à®®à®Ÿà®)  
+WriteCDImagePrompt.Install_Tooltip:à®à¯à®¯à®®à¯-à®šà®¿à®±à¯à®µà¯à®®à¯ CD-ROM à®à®£à¯à®à®Ÿà®à¯à®à¯à®®à¯; à®
+à®€à¯ à®šà¯à®²à¯à®šà®¿à®²à¯à®¯ à®à¯à®µà¯à®¯à®à®®à¯ (à®®à¯à®²à¯à®®à¯ à®à®·à¯à®à®ªà¯à®ªà®à¯à®à®Ÿà®²à¯ à®à®²à¯à®²à®Ÿ à®€à®¿à®°à®à¯à®à¯à®à®³à¯ à®à¯à®ªà¯à®ªà¯à®à®³à¯à®¯à¯à®®à¯) à®µà®¿à®°à¯à®šà¯à®€à®³à®¿à®à¯à®à¯à®®à¯ à®à®¯à®šà¯à®€à®¿à®°à®€à¯à®€à®¿à®²à¯ à®šà®¿à®±à¯à®µà¯à®®à¯.  
+WriteCDImagePrompt.NoInstall:CD/DVD à®à®ªà®¯à¯à®à®¿à®à¯à®à®¯à®¿à®²à¯ à®à®€à¯ à®à®°à¯ à®à¯à®ªà¯à®ªà¯à®®à¯ à®šà®¿à®±à¯à®µà®®à®Ÿà®à®Ÿà®€à¯  
+WriteCDImagePrompt.NoInstall_Tooltip:à®µà®¿à®°à¯à®šà¯à®€à®³à®¿à®à¯à®à¯à®®à¯ à®à®¯à®šà¯à®€à®¿à®°à®€à¯à®€à®¿à®²à¯ à®à®€à¯à®µà¯à®®à¯ à®šà®¿à®±à¯à®µà®Ÿà®à®Ÿà®®à®²à¯ à®šà¯à®²à¯à®šà®¿à®²à¯à®¯à®€à¯à®€à¯ à®šà¯à®°à®Ÿà® CD-ROMâ à®à®°à¯à®šà¯à®€à¯ à®à®¯à®à¯à®à¯à®à¯à®à®¿à®©à¯à®± CD-ROMâ à®à®£à¯à®à®Ÿà®à¯à®à¯à®®à¯.  
+WriteCDImagePrompt.Instructions:à®à®©à¯à®°à¯ à®
+à®€à®°à¯à®à¯à®à¯ à®®à¯à®²à¯ à®€à®¿à®°à®à¯à®à¯à®à®³à¯ à®à®°à¯ à®à¯à®¯à®®à¯-à®šà®¿à®±à¯à®µà¯à®®à¯ à®µà®¿à®©à¯âà®à¯à®žà¯â CD/DVD  à®à®°à¯à®µà®€à¯à®€à®¿à®°à¯à®à¯à®à¯ à®à®±à¯à®±à¯à®®à®€à®¿ à®à¯à®¯à¯à®¯à®µà¯à®®à¯ (à®à®€à¯ à®à®šà¯à®€ à®®à¯à®à®¯à®¿à®²à¯à®®à¯ à®à®¯à®à¯à®®à®Ÿà®©à®Ÿà®²à¯à®®à¯, à®
+à®šà¯à®€ à®à®£à¯à®à®Ÿà®à¯à®à®ªà¯à®ªà®à¯à® CD/DVD  à®à®°à¯à®µà®®à¯ à®µà®¿à®©à¯âà®à¯à®žà®¿à®²à¯ à®®à®Ÿà®€à¯à®€à®¿à®°à®®à¯ à®à®¯à®à¯à®®à¯).  
+WriteCDImagePrompt.Progress_Label:à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®šà®à®²à¯ à®à®à¯à®€à¯à®€à¯à®à¯à®à¯à®³à¯à®³à®ªà®à¯à®à®¿à®°à®€à¯. à®à®¿à®°à®¿à®€à¯ à®šà¯à®°à®®à¯ à®à®à¯à®®à¯...  
+WriteCDImagePrompt.Size_Label:à®®à®€à®¿à®ªà¯à®ªà®¿à®à¯à® à®
+à®³à®µà¯:  
+WriteCDImagePrompt.Successful_Export:({0}) à®€à®¿à®°à®à¯à®à¯à®à®³à¯ à®à®±à¯à®±à¯à®®à®€à®¿ à®à®à®¿à®µà®¿à®à¯à®à®€à¯.  
+WriteCDImagePrompt.Successful_Title:à®à®±à¯à®±à¯à®®à®€à®¿ à®ªà¯à®°à¯à®€à¯à®€à®¿à®¯à®Ÿà®à®¿à®±à¯à®±à¯  
+WriteCDImagePrompt.Title:à®€à®¿à®°à®à¯à®à¯à®à¯à®³à¯ CD/DVD  à®à¯à®à¯ à®à®±à¯à®±à¯à®®à®€à®¿ à®à¯à®¯à¯à®¯à®µà¯à®®à¯
+#************************
+#
+#****** ExportAsPrompt *******
+ExportAsPrompt.Export_Name:à®à®±à¯ à®ªà¯à®¯à®°à¯  
+ExportAsPrompt.Export_Name_Tooltip:à®à®šà¯à®€ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ tmpâ à®à®±à¯à®¯à®¿à®²à¯ à®à®±à¯à®±à¯à®®à®€à®¿à®¯à®Ÿà®© à®
+à®à¯ à®à¯à®®à®¿à®à¯à®à®ªà¯à®ªà®à¯à®®à¯ à®
+à®€à®©à¯ à®ªà¯à®¯à®°à¯  
+ExportAsPrompt.Export:à®€à®¿à®°à®à¯à®à¯ à®à®±à¯à®±à¯à®®à®€à®¿à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+ExportAsPrompt.Export_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®€à®¿à®°à®à¯à®à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à¯à®ªà¯à®ªà¯ à®µà®à®¿à®µà®€à¯à®€à®¿à®²à¯ à®šà®¿à®¯à®®à®¿à®€à¯à®€ à®
+à®à¯à®µà®¿à®°à¯à®à¯à®à¯ à®à®±à¯à®±à¯à®®à®€à®¿à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+ExportAsPrompt.Failed_ExportOne:à®€à®¿à®°à®à¯à®à¯ {0} à®à®±à¯à®±à¯à®®à®€à®¿à®à¯à®¯à¯à®¯ à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯.  
+ExportAsPrompt.Failed_Details:à®µà®¿à®µà®°à®à®³à¯à®à¯à®à¯ {1} à®ªà®Ÿà®°à¯à®à¯à®à®µà¯à®®à¯  
+ExportAsPrompt.Failed_Title:à®à®±à¯à®±à¯à®®à®€à®¿ à®ªà®¯à®©à®à®¯à®µà®¿à®²à¯à®²à¯  
+ExportAsPrompt.Instructions:à®à®°à¯ à®€à®¿à®°à®à¯à®à®¿à®²à®¿à®°à¯à®šà¯à®€à¯ à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®®à¯à®±à¯à®±à¯à®°à¯ à®µà®à®¿à®µà®€à¯à®€à®¿à®°à¯à®à¯à®à¯ à®®à®Ÿà®±à¯à®±à¯à®µà¯à®®à¯.  
+ExportAsPrompt.Progress_Label:à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®à®±à¯à®±à¯à®®à®€à®¿ à®à¯à®¯à¯à®¯à®ªà¯à®ªà®à¯à®à®¿à®°à®€à¯.  à®à®€à¯ à®à®¿à®°à®¿à®€à¯ à®šà¯à®°à®®à¯ à®à®à¯à®®à¯âŠ  
+ExportAsPrompt.Successful_ExportOne:{0}  à®€à®¿à®°à®à¯à®à¯ à®à®±à¯à®±à¯à®®à®€à®¿à®¯à®Ÿà®à®¿à®µà®¿à®à¯à®à®€à¯  
+ExportAsPrompt.Successful_Details:à®à¯à®ªà¯à®ªà¯à®à®³à¯ {1} à®à¯à®à¯ à®à®±à¯à®±à¯à®®à®€à®¿à®à¯à®¯à¯à®¯à®ªà¯à®ªà®à¯à®à®©  
+ExportAsPrompt.Successful_Title:à®à®±à¯à®±à¯à®®à®€à®¿ à®®à¯à®à®¿à®šà¯à®€à®€à¯  
+ExportAsPrompt.Title:à®€à®¿à®°à®à¯à®à¯ à®à®±à¯à®±à¯à®®à®€à®¿ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+ExportAsPrompt.SaveAs:à®à¯à®à¯ à®à®±à¯à®±à¯à®®à®€à®¿à®à¯à®¯à¯  
+ExportAsPrompt.SaveAs_Tooltip:à®à®±à¯à®±à¯à®®à®€à®¿à®à¯à®¯à¯à®¯ à®µà¯à®£à¯à®à®¿à®¯ à®µà®à®¿à®µà®€à¯à®€à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà¯à®®à¯  
+ExportAsPrompt.Cancel:à®šà¯à®à¯à®à®µà¯à®®  
+ExportAsPrompt.Cancel_Tooltip:à®à®±à¯à®±à¯à®®à®€à®¿ à®à¯à®¯à®²à¯ à®šà¯à®à¯à®à®µà¯à®®  
+ExportAsPrompt.Browse:à®®à¯à®²à¯à®à¯à®à®®à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+ExportAsPrompt.Browse_Tooltip:à®à®°à¯ xsl â à®à¯à®ªà¯à®ªà¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà¯à®®à¯  
+ExportAsPrompt.ApplyXSL:{0} à®à¯à®à¯ XSLâ à®à¯à®ªà¯à®ªà¯ à®ªà®¿à®°à®¯à¯à®à®¿à®à¯à®à®µà¯à®®à¯  
+ExportAsPrompt.ApplyXSL_Tooltip:à®à®±à¯à®±à¯à®®à®€à®¿à®à¯à®¯à¯à®¯à®ªà¯à®ªà®à¯à® à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®®à®Ÿà®±à¯à®±à¯à®µà®€à®±à¯à®à¯à®à¯ à®à®°à¯ xsl  à®à¯à®ªà¯à®ªà¯ à®ªà®¿à®°à®¯à¯à®à®¿à®à¯à®à®µà¯à®®à¯  
+ExportAsPrompt.MARCXMLGroup:à®®à®Ÿà®°à¯à®à¯ à®à®à¯à®à®³à¯ à®ªà®¿à®°à®¿à®µà¯à®à¯à®¯à¯à®µà®µà¯à®®à¯  
+ExportAsPrompt.MARCXMLGroup_Tooltip:à®à®²à¯à®²à®Ÿ à®®à®Ÿà®°à¯à®à¯ à®à®à¯à®à®³à¯à®¯à¯à®®à¯ à®à®°à¯ à®à®°à¯ à®à¯à®ªà¯à®ªà¯à®à¯à®à¯ à®à®±à¯à®±à¯à®®à®€à®¿à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+ExportAsPrompt.MappingXML:à®µà®¿à®µà®°à®£à¯à®¯à®Ÿà®à¯à®à¯à®®à¯ à®à¯à®ªà¯à®ªà¯ à®ªà®¿à®°à®¯à¯à®à®¿à®à¯à®à®µà¯à®®à¯  
+ExportAsPrompt.MappingXML_Tooltip:à®à®±à¯à®±à¯à®®à®€à®¿à®à¯à®¯à¯à®€ à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®®à®Ÿà®±à¯à®±à¯à®µà®€à®±à¯à®à¯à®à¯ à®à®°à¯ à®µà®¿à®µà®°à®£à¯à®¯à®Ÿà®à¯à®à¯à®®à¯ à®à¯à®ªà¯à®ªà¯ à®ªà®¿à®°à®¯à¯à®à®¿à®à¯à®à®µà¯à®®à¯  
+#
+#***** Inherited Metadata *****
+ExtractedMetadata.Message:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à¯à®ªà¯à®ªà¯ à®
+à®²à¯à®²à®€à¯ à®à®±à¯à®¯à®¿à®²à¯ à®à®à¯à®à¯à®à®ªà¯à®ªà®à¯à® à®®à¯à®€à®°à®µà¯ à®à®°à¯à®à¯à®à¯à®®à¯, à®à®©à®Ÿà®²à¯ à®
+à®€à¯ à®€à®°à¯à®ªà¯à®Žà¯à®€à¯ à®®à®±à¯à®šà¯à®€à®¿à®°à¯à®à¯à®à¯à®®à¯. à®à®à¯à®à¯à®à®ªà¯à®ªà®à¯à® à®®à¯à®€à®°à®µà¯ à®ªà®Ÿà®°à¯à®ªà®€à®±à¯à®à¯à®à¯ "à®à¯à®ªà¯à®ªà¯"  à®ªà®à¯à®à®¿à®¯à¯à®²à¯à®à¯à®à¯ à®ªà¯à®¯à¯ "à®
+à®€à®¿à®à®µà®¿à®°à¯à®ªà¯à®ªà®à®³à¯" à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà¯à®®à¯. "à®ªà¯à®€à¯à®µà®Ÿà®©" à®à¯à®£à®à®³à¯ à®€à®Ÿà®³à®¿à®²à¯ "à®à®à¯à®à¯à®à®ªà¯à®ªà®à¯à® à®®à¯à®€à®°à®µà¯ à®à®Ÿà®à¯à®à®¿" à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà¯à®®à¯, à®ªà®¿à®©à¯à®©à®°à¯ "à®à®à¯" à®à¯à®³à®¿à®à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯.  
+ExtractedMetadata.Title:à®à®šà¯à®€ à®à¯à®ªà¯à®ªà¯/ à®à®±à¯à®¯à®¿à®²à¯ à®à®à¯à®à¯à®à®ªà¯à®ªà®à¯à® à®®à¯à®€à®°à®µà¯ à®®à®±à¯à®šà¯à®€à®¿à®°à¯à®à¯à®à¯à®®à¯  
+#
+#***** FileActions *****
+FileActions.Calculating_Size:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à¯à®ªà¯à®ªà¯à®à®³à®¿à®©à¯ à®®à¯à®Žà¯ à®
+à®³à®µà¯ à®à®£à®à¯à®à®¿à®à®ªà¯à®ªà®à¯à®à®¿à®°à®€à¯  
+FileActions.Copying:{0}à®µà®¿à®©à¯ à®šà®à®²à¯ à®à®à¯à®à¯à®à®ªà®à¯à®à®¿à®°à®€à¯  
+FileActions.Could_Not_Delete:{0} à®µà¯ à®šà¯à®à¯à® à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯  
+FileActions.Cyclic_Path:{0}à®µà®¿à®©à¯ à®šà®à®²à¯ à®à®à¯à®à¯à® à®®à¯à®à®¿à®¯à®Ÿà®€à¯: à®à¯à®°à¯à®®à®¿à®à®®à¯ à®à®±à¯ à®®à¯à®² à®à®±à¯à®¯à®¿à®©à¯ à®à®°à¯ à®€à¯à®£à¯ à®à®±à¯à®¯à®Ÿà®à¯à®®à¯.  
+FileActions.Deleting:{0} à®šà¯à®à¯à®à®ªà®à¯à®à®¿à®°à®€à¯  
+FileActions.Directories_Selected:{0} à®à®±à¯à®à®³à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®©  
+FileActions.Directory_Selected:1 à®à®±à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®©  
+FileActions.File_Already_Exists_No_Create:{0}' à®à¯à®ªà¯à®ªà¯ à®à®±à¯à®à¯à®à®©à®µà¯ à®à®³à¯à®³à®€à¯.  
+FileActions.File_And_Directories_Selected:1 à®à¯à®ªà¯à®ªà¯à®®à¯ {0} à®à®±à¯à®à®³à¯à®®à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®©  
+FileActions.File_And_Directory_Selected:1 à®à¯à®ªà¯à®ªà¯à®®à¯ 1 à®à®±à¯à®¯à¯à®®à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®©  
+FileActions.File_Create_Error:à®à¯à®ªà¯à®ªà¯ {0} à®à®£à¯à®à®Ÿà®à¯à®à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯.  
+FileActions.Folder_Create_Error:à®à®±à¯ {0} à®à®£à¯à®à®Ÿà®à¯à® à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯  
+FileActions.File_Exists:{0} à®à®±à¯ à®à®±à¯à®à¯à®à®©à®µà¯ à®à¯à®°à¯à®®à®¿à®à®®à¯ à®à®±à¯à®¯à®¿à®²à¯ à®à®³à¯à®³à®€à¯. à®
+à®€à®©à¯ à®®à¯à®²à¯à®Žà¯à®€à¯à®µà®€à®Ÿ ?  
+FileActions.File_Move_Error_Message:{0} à®µà¯\n{1} à®à¯à®à¯ à®šà®à®°à¯à®€à¯à®€ à®®à¯à®à¯à®¯à®µà®¿à®²à¯à®²à¯.  
+FileActions.File_Not_Deleted_Message:{0}\nà®
+à®šà¯à®€ à®®à¯à®²à¯ à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à¯à® à®à¯à®ªà¯à®ªà¯ à®šà¯à®à¯à®à®®à¯à®à®¿à®¯à®Ÿà®€à¯.\nà®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®
+à®šà¯à®€ à®à¯à®ªà¯à®ªà¯ à®à®°à¯ à®ªà¯à®± à®šà®¿à®±à®²à®¿à®²à¯ \nà®€à®¿à®±à®à¯à®à®µà®¿à®²à¯à®²à®¯à®Ÿ à®à®©à¯à®±à¯ à®à¯à®€à®¿à®à¯à®à®µà¯à®®à¯, à®ªà®¿à®±à®à¯ à®®à¯à®£à¯à®à¯à®®à¯ à®®à¯à®¯à®±à¯à®à¯à®à®¿ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+FileActions.File_Not_Found_Message:{0}\nà®
+à®šà¯à®€ à®®à¯à®²à¯ à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à¯à® à®à¯à®ªà¯à®ªà¯ à®à®Ÿà®£à®µà®¿à®²à¯à®²à¯. à®à®°à¯à®€à®°à®®à¯ à®à¯à®ªà¯à®ªà¯ à®à®Ÿà®à¯à®à®¿\n à®ªà¯à®€à¯à®ªà¯à®ªà®Ÿà®à¯à®à®¿à®©à®Ÿà®²à¯, à®€à¯à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®
+à®šà¯à®€ à®à¯à®ªà¯à®ªà¯ à®à®°à¯à®à¯à®à®¿à®±à®€à®Ÿ à®à®©à¯à®±à¯ à®à¯à®€à®¿à®à¯à®à®µà¯à®®à¯.  
+FileActions.File_Selected:1 à®à¯à®ªà¯à®ªà¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®€à¯.  
+FileActions.Files_And_Directory_Selected:{0} à®à¯à®ªà¯à®ªà¯à®à®³à¯à®®à¯ 1 à®à®±à¯à®¯à¯à®®à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®©  
+FileActions.Files_Selected:{0} à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®©  
+FileActions.Folder_Already_Exists:{0}'à®à®±à¯ à®ªà¯à®¯à®°à¯ à®à®±à¯à®à¯à®à®©à®µà¯ à®à®ªà®¯à¯à®à®ªà¯à®ªà®à¯à®à®¿à®°à¯à®à¯à®à®¿à®°à®€à¯.  à®à®±à¯ à®à®£à¯à®à®Ÿà®à¯à® à®®à¯à®à®¿à®¯à®Ÿà®€à¯.  
+FileActions.Insufficient_Space_Message:à®
+à®šà¯à®€ à®à¯à®ªà¯à®ªà¯ à®à®¯à¯à®à¯à®à®®à¯ à®µà®à¯à®à¯ à®à®à¯à®µà®³à®¿ à®ªà¯à®€à®Ÿà®€à®€à®¿à®©à®Ÿà®²à¯ à®à®°à®¿à®µà¯à®°à®µà®¿à®²à¯à®²à¯. à®
+à®šà¯à®€ à®à¯à®ªà¯à®ªà¯ à®šà®à®²à¯ à®à¯à®¯à¯à®µà®€à¯à®°à¯à®à¯à®à¯ à®®à¯à®²à¯à®®à¯ à®µà¯à®£à¯à®à®¿à®¯à®¿à®°à¯à®à¯à®à¯: {0}  
+FileActions.Moving:{0} à®šà®à®°à¯à®€à¯à®€à®ªà¯à®ªà®à¯à®à®¿à®°à®€à¯.  
+FileActions.No_Activity:à®à¯à®¯à®²à¯ à®à®€à¯à®µà¯à®®à¯ à®à¯à®à¯à®à¯à®à®ªà¯à®ªà®à®µà®¿à®²à¯à®²à¯  
+FileActions.Read_Not_Permitted_Message:{0} à®ªà®à®¿à®à¯à® à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯.  
+FileActions.Read_Only:à®ªà®£à®¿à®¯à®¿à®à®ªà¯à®ªà®°à®ªà¯à®ªà®¿à®²à®¿à®°à¯à®à¯à®à¯à®®à¯ à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®ªà®à®¿à®à¯à®à®€à¯à®€à®Ÿà®©à¯ à®®à¯à®à®¿à®¯à¯à®®à¯; à®
+à®µà¯à®à®³à¯ à®šà¯à®à¯à® à®®à¯à®à®¿à®¯à®Ÿà®€à¯  
+FileActions.Replacing:{0} à®®à®Ÿà®±à¯à®±à®ªà¯à®ªà®à¯à®à®¿à®°à®€à¯.  
+FileActions.Selected:{0} à®à¯à®ªà¯à®ªà¯à®à®³à¯à®®à¯ {1}  à®à®±à¯à®à®³à¯à®®à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®©  
+FileActions.Unknown_File_Error_Message:à®à¯à®ªà¯à®ªà¯ à®à®¯à®à¯à®à®€à¯à®€à®¿à®©à¯à®ªà¯à®€à¯ à®€à®µà®±à¯ à®à¯à®¯à¯à®€à®¿  à®à®€à¯à®µà¯à®®à¯ à®€à¯à®°à®¿à®µà®¿à®à¯à®à®µà®¿à®²à¯à®²à¯ à®à®©à¯à®±à®Ÿà®²à¯à®®à¯\n, à®à¯à®°à¯à®®à®¿à®à®®à¯ à®à¯à®ªà¯à®ªà¯à®®à¯ à®®à¯à®² à®à¯à®ªà¯à®ªà¯à®®à¯ à®à®©à¯à®±à®²à¯à®² à®à®©à¯à®±à¯ \nà®à®°à¯ à®à®à¯à®à®¿ à®à¯à®€à®šà¯à®¯à®¿à®²à®¿à®°à¯à®šà¯à®€à¯ à®€à¯à®°à®¿à®à®¿à®°à®€à¯. à®à®€à®©à¯ à®à®Ÿà®°à®£à®®à¯ \nà®à®©à¯à®©à®µà¯à®©à¯à®±à¯ à®€à¯à®°à®¿à®¯à®µà®¿à®²à¯à®²à¯. à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®à®à®³à¯à®à®¯  à®à®à®à®à¯à®à®³à¯ à®ªà®°à®¿à®à¯à®€à®¿à®à¯à®à¯ à®à®à®³à¯à®à®¯ \nà®šà®¿à®±à¯à®µà®¿à®¯ JVM à®šà®¿à®à®Žà¯à®à¯à®à®¿à®šà®¿à®²à¯à®à¯à®à¯ à®à¯à®£à¯à®à¯à®µà®°à®µà¯à®®à¯.  
+FileActions.Write_Not_Permitted_Message:à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à®à®°à¯à®€à¯à®€à®¿à®°à¯à®à¯à®à¯\n{0}\nà®à®Žà¯à®€à¯à®µà®€à®±à¯à®à¯à®à¯ à®
+à®©à¯à®®à¯à®€à®¿à®à®¿à®à¯à®¯à®Ÿà®€à¯.  à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®à¯à®ªà¯à®ªà¯ à®
+à®©à¯à®®à®€à®¿à®à®³à¯ à®ªà®°à®¿à®à¯à®€à®¿à®à¯à®à®µà¯à®®à¯.  
+FileActions.Write_Not_Permitted_Title:à®€à®µà®±à¯ - à®€à®µà®±à®Ÿà®© à®à¯à®ªà¯à®ªà¯ à®
+à®šà¯à®®à®€à®¿à®à®³à¯  
+FileActions.Yes_To_All:à®à®²à¯à®²à®Ÿà®µà®±à¯à®±à®¿à®±à¯à®à¯à®à¯à®®à¯ à®à®°à®¿  
+FileActions.File_Permission_Detail:\n\nà®à®µà®©à®¿à®à¯à®à®µà¯à®®à¯: à®à®Ÿà®€à®Ÿà®°à®£à®®à®Ÿà®, à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®²à¯à®ªà¯âà®°à¯à®°à®¿à®¯à®©à¯â à®à®à¯à®®à¯à®à®®à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯  à®à®²à¯à®² à®à®±à¯à®à¯à®à¯ à®à®Žà¯à®€à®¿à®¯ à®
+à®©à¯à®®à®€à®¿ à®µà¯à®£à¯à®à¯à®®à¯\nà®
+à®€à¯ {0}.\n à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ 'à®®à¯à®Žà¯ à®à®à¯à®à¯à®ªà¯à®ªà®Ÿà®à¯' à®à®šà¯à®€ à®à®±à¯à®à¯à®à¯à®®à¯\n\n(à®
+à®€à®©à¯ à®€à¯à®£à¯ à®à®±à¯à®à®³à¯à®à¯à®à¯à®®à¯) à®à®ªà¯à®ªà¯à®Žà¯à®€à¯ à®à®ªà¯à®¯à¯à®à®¿à®à¯à®à®¿à®°à®µà®±à¯à®à¯à®à¯ à®à¯à®à¯à®à¯à®à®µà¯à®®à¯ ({1})à®ªà®¿à®©à¯à®©à®°à¯ à®®à®°à¯à®ªà®à®¿à®¯à¯à®®à¯ à®®à¯à®¯à®±à¯à®à¯à®à®¿ à®à¯à®¯à¯à®¯à®µà¯à®®à¯.\n\n (à®µà¯à®°à¯à®µà®Žà®¿, à®à®à®³à¯à®à¯à®à¯ à®à®°à¯à®à¯à®à®©à®µà¯ à®à®šà¯à®€ à®à®à®€à¯à®€à®¿à®²à¯ "à®®à¯à®Žà¯ à®à®à¯à®à¯à®ªà¯à®ªà®Ÿà®à¯" à®à®°à¯à®à¯à®à®¿à®©à¯à®±à®€à¯,\nà®à®€à®Ÿà®à®°à®£à®®à®Ÿà® à®à®à®³à¯à®à®¿à®¯ à®à®²à¯à®² à®ªà®à®¿à®ªà¯ à®
+à®²à¯à®²à®€à¯ "My Documents" à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®®à¯à®£à¯à®à¯à®®à¯ à®šà®¿à®±à¯à®µà®µà¯à®®à¯.  
+
+#************************
+#
+#******* File Associations dialog **********
+FileAssociationDialog.Add:à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+FileAssociationDialog.Add_Tooltip:à®à®šà¯à®€ à®µà®à¯ à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®ªà®Ÿà®°à¯à®ªà®€à®°à¯à®à¯à®à¯ à®à®šà¯à®€ à®ªà®¯à®©à¯à®ªà®Ÿà®à¯ à®à®ªà®¯à¯à®à®¿à®à¯à®à®µà¯à®®à¯  
+FileAssociationDialog.Batch_File:à®€à¯à®à¯à®€à®¿ à®à¯à®ªà¯à®ªà¯à®à®³à¯  
+FileAssociationDialog.Browse:à®®à¯à®²à¯à®à¯à®à®®à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+FileAssociationDialog.Browse_Tooltip:à®à®ªà®¯à¯à®à®¿à®à¯à®à®µà¯à®£à¯à®à®¿à®¯ à®ªà®¯à®©à¯à®ªà®Ÿà®à¯à®à¯ à®à¯à®ªà¯à®ªà¯à®€à¯ à®€à¯à®à¯à®à®€à¯à®€à®¿à®²à®¿à®°à®¿à®šà¯à®€à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà¯à®®à¯  
+FileAssociationDialog.Browse_Tooltip_Mac:à®ªà®¯à¯à®©à¯à®ªà®Ÿà®à¯à®à®¿à®©à¯ à®®à¯à®²à¯à®à¯à®à®®à¯ à®€à®±à¯à®ªà¯à®Žà¯à®€à¯ MacOS à®à¯à®à¯ à®šà¯à®à¯à®à®ªà¯à®ªà®à¯à®à®¿à®°à¯à®à¯à®à®¿à®°à®€à¯  
+FileAssociationDialog.Browse_Title:à®ªà®¯à®©à¯à®ªà®Ÿà®à¯à®à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà¯à®®à¯  
+FileAssociationDialog.Close:à®®à¯à®à®µà¯à®®à¯  
+FileAssociationDialog.Close_Tooltip:à®à®šà¯à®€ à®à®°à¯à®¯à®Ÿà®à®²à¯ à®®à¯à®à®¿à®µà®¿à®à¯à®à¯ à®®à¯à®à¯à®à®¿à®¯ à®à®Ÿà®°à®³à®€à¯à®€à®¿à®±à¯à®à¯à®à¯ à®€à®¿à®°à¯à®®à¯à®ªà®µà¯à®®à¯  
+FileAssociationDialog.Command:à®à®°à®®à¯à®ª à®à®€à¯à®€à®°à®µà¯:  
+FileAssociationDialog.Command_File:à®à®€à¯à®€à®°à®µà¯ à®à¯à®ªà¯à®ªà¯à®à®³à¯  
+FileAssociationDialog.Command_Tooltip:à®ªà®¯à®©à¯à®ªà®Ÿà®à¯à®à¯ à®à®°à®®à¯à®ª à®à®€à¯à®€à®°à®µà¯ à®à®à¯à®ªà¯à®à¯à®€à¯à®€à¯:  
+FileAssociationDialog.Details:à®ªà¯à®€à®¿à®¯ à®à¯à®ªà¯à®ªà¯ à®à®®à¯à®ªà®šà¯à®€à®ªà®à¯à® à®µà®¿à®µà®°à®à®³à¯  
+FileAssociationDialog.Executable_File:à®à¯à®¯à®²à¯à®ªà®Ÿà®à¯à®à¯à®à¯à®à¯à®ªà¯à®ªà¯à®à®³à¯  
+FileAssociationDialog.Extension:à®à¯à®ªà¯à®ªà¯à®à®³à®¿à®©à¯ à®®à¯à®à®¿à®µà¯à®à¯à®à®Ÿà®:  
+FileAssociationDialog.Extension_Tooltip:à®ªà®Ÿà®°à¯à®à¯à®à®µà¯à®£à¯à®à®¿à®¯ à®à¯à®ªà¯à®ªà¯à®à®³à®¿à®©à¯ à®šà¯à®à¯à®à®¿à®ªà¯à®ªà¯  
+FileAssociationDialog.Instructions:à®à®°à¯ à®à¯à®ªà¯à®ªà¯ à®µà®à¯ à®ªà®Ÿà®°à¯à®ªà¯à®ªà®€à®°à¯à®à¯à®à¯ à®à®©à¯à®€ à®à®±à¯à®¯à®Ÿà®à®²à¯ à®à®°à®®à¯à®ªà®¿à®à¯à®  à®à®©à¯à®€ à®à®€à¯à®€à®°à®µà¯ à®à¯à®à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®¿à®°à¯à®à¯à®à®¿à®°à®€à¯, à®à®©à¯à®€ à®ªà¯à®° à®šà®¿à®°à®²à¯à®à®³à¯ à®à®ªà®¯à¯à®à®ªà®à¯à®à®¿à®°à¯à®à¯à®à®¿à®°à®€à¯, à®à®©à¯à®°à¯ à®€à¯à®°à¯à®®à®Ÿà®©à®¿à®à¯à® à®à®šà¯à®€ à®à®°à¯à®¯à®Ÿà®à®²à¯ à®à®ªà®¯à¯à®à®¿à®à¯à®à®µà¯à®®à¯.\nà®à®°à¯ à®ªà¯à®€à®¿à®¯ à®à¯à®ªà¯à®ªà¯ à®µà®à¯ à®à¯à®°à¯à®à¯à® à®
+à®€à®©à¯à®à®¯ à®šà¯à®à®¿à®ªà¯à®ªà¯ 'à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®®à¯à®à®¿à®¯à¯à®®à¯' à®à®³à¯à®³à¯ à®à®à¯à®ªà¯à®à¯à®€à¯à®€à®µà¯à®®à¯.  à®à®°à¯ à®à®°à®®à¯à®ª à®à®€à¯à®€à®°à®µà¯ à®à¯à®°à¯à®à¯à®à®µà¯ à®
+à®²à¯à®²à®€à¯ à®®à®Ÿà®±à¯à®±à®µà¯ à®
+à®šà¯à®€ à®ªà¯à®€à®¿à®¯ à®à®€à¯à®€à®°à®µà¯ 'à®à®°à®®à¯à®ª à®à®€à¯à®€à®°à®µà¯' à®à®²à¯ à®à®à¯à®ªà¯à®à¯à®€à¯à®€à®µà¯à®®à¯, à®
+à®²à¯à®²à®€à¯ à®à¯à®ªà¯à®ªà¯à®à®³à®¿à®²à¯ à®à®°à¯ à®€à®à¯à®©à¯à®€ à®šà®¿à®°à®²à¯ à®€à¯à®à¯à®µà®€à®±à¯à®à¯à®à¯ 'à®®à¯à®²à¯à®à¯à®à®®à¯' à®à®¿à®³à®¿à®à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯. à®à®à¯ à®
+à®šà¯à®€ à®€à®¿à®°à®à¯à®à®µà¯à®©à¯à®à®¿à®¯ à®à¯à®ªà¯à®ªà®¿à®©à¯ à®ªà¯à®¯à®°à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®£à¯à®à¯à®®à¯ à®à®©à¯à®°à¯ à®à¯à®±à®¿à®ªà¯à®ªà®¿à® à®€à®©à®¿à®ªà¯à®ªà®à¯à® à®à®°à®®à¯ '%1' à®à®ªà®¯à¯à®à®¿à®à¯à®à®µà¯à®®à¯; à®à®€à®Ÿà®°à®£à®®à¯: "C:\\Windows\\System\\MSPaint.exe %1". '%1'à®
+à®šà¯à®€ à®à®€à¯à®€à®°à®µà®¿à®©à¯ à®®à¯à®à®¿à®µà®¿à®²à¯ à®à¯à®°à¯à®à¯à®à®ªà¯à®ªà®à¯à®®à¯ à®µà¯à®°à¯ à®à®€à¯à®µà¯à®®à¯ à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à®µà®¿à®²à¯à®²à®¯à®Ÿà®©à®Ÿà®²à¯.\nMacOS à®à®ªà®¯à¯à®à®¿à®à¯à®à®µà®°à¯à®à®³à¯ à®®à®Ÿà®à¯ mac à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à¯à® à®à®€à¯à®€à®°à®µà¯ "open [-a <application_name>] %1" à®à®ªà¯à®ªà¯à®Žà¯à®€à¯à®®à¯ à®®à¯à®€à®²à®Ÿà® à®®à¯à®¯à®±à¯à®à¯à®à®¿ à®à¯à®¯à¯à®¯à®µà¯à®£à¯à®à¯à®®à¯.  
+FileAssociationDialog.Table.Command:à®à®€à¯à®€à®°à®µà¯  
+FileAssociationDialog.Table.Extension:à®šà¯à®à¯à®à®¿à®ªà¯à®ªà¯  
+FileAssociationDialog.Title:à®à¯à®ªà¯à®ªà¯ à®à®®à¯à®ªà®šà¯à®€à®ªà®à¯à®à®µà¯ à®ªà®€à®¿à®ªà¯à®ªà®¿à®à¯à®à®µà¯à®®à¯  
+FileAssociationDialog.Remove:à®šà¯à®à¯à®à®µà¯à®®à¯  
+FileAssociationDialog.Remove_Tooltip:à®à®°à¯à®à¯à®à®©à®µà¯ à®à®³à¯à®³ à®à®®à¯à®ªà®šà¯à®€à®€à¯à®€à®¿à®²à®¿à®°à¯à®©à¯à®€à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à®®à¯à®ªà®šà¯à®€à®€à¯à®€à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+FileAssociationDialog.Replace:à®®à®Ÿà®±à¯à®±à®¿à®µà¯à®à¯à®à®µà¯à®®à¯  
+FileAssociationDialog.Replace_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à®®à¯à®ªà®šà¯à®€à®€à¯à®€à¯ à®ªà¯à®€à¯ à®à®®à¯à®ªà®šà¯à®€à®€à¯à®€à®¿à®©à¯ à®µà®¿à®µà®°à®à®à®³à®Ÿà®²à¯ à®®à®Ÿà®±à¯à®±à®µà¯à®®à¯  
+#*******************
+#
+#******Filter***************
+Filter.0:à®¹à¯à®à¯âà®à®¿à®à®®à¯â à®®à¯à®²à¯à®®à¯  à®¹à¯à®à¯âà®à®¿à®à®®à¯à®à®²à¯  
+Filter.1:à®à®à¯à®à¯à®®à¯âà®à®²à¯  
+Filter.2:à®à®°à¯ à®à¯à®ªà¯à®ªà¯à®à®³à¯  
+Filter.3:à®à®°à¯à®µà®à®³à¯  
+Filter.4:à®ªà®¿à®à®¿à®à®à®ªà¯â  
+Filter.5:à®
+à®²à¯à®µà®²à® à®à®µà®£à®à¯à®à®³à¯  
+Filter.All_Files:à®à®²à¯à®²à®Ÿ à®à¯à®ªà¯à®ªà¯à®à®³à¯à®®à¯  
+Filter.Filter_Tree:à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®à®Ÿà®à¯à®à®µà¯à®®à¯  
+Filter.Invalid_Pattern:<HTML><FONT FACE={FONT} COLOR=Black>à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®µà¯à®à¯à®à®¿à®à®à¯à®à¯à®µà®€à®°à¯à®à¯à®à¯ à®šà¯à®à¯à®à®³à¯ à®à®à¯à®ªà¯à®à¯à®€à¯à®€à®¿à®¯ à®à®°à¯à®µà®à¯ à®à¯à®²à¯à®²à®Ÿà®€à¯.<BR>à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯  à®µà®Žà®à¯à®à®®à®Ÿà®© à®à¯à®²à¯à®à¯à®±à¯à®±à¯ à®€à¯à®à®°à®¿à®¯à®²à¯ à®®à¯à®²à¯à®®à¯  à®à®à¯à®à®¿à®²à®Ÿ à®à®°à¯ à®à®Žà¯à®€à¯à®€à¯à®à¯à®à¯ à®à®°à¯ <BR>* à®à®ªà®¯à¯à®à®¿à®€à¯à®€à¯ à®®à¯à®£à¯à®à¯à®®à¯ à®®à¯à®¯à®°à¯à®à¯à®à®¿à®à¯à®à®µà¯à®®à¯.</FONT></HTML>  
+#***********************
+#
+#***** GAuthenticator *****
+GAuthenticator.Password:à®à®à®µà¯à®à¯à®à¯à®²à¯:  
+GAuthenticator.Password_Tooltip:à®à®à¯à®à®³à¯ à®à®à®µà¯à®à¯à®à¯à®²à¯à®²à¯ à®à®à¯à®à¯ à®à®à¯à®ªà¯à®à¯à®€à¯à®€à®µà¯à®®à¯  
+GAuthenticator.Title:à®à®à®µà¯à®à¯à®à¯à®²à¯ à®
+à®µà®à®¿à®¯à®®à¯  
+GAuthenticator.Username:à®ªà®¯à®©à®°à¯ à®ªà¯à®¯à®°à¯:  
+GAuthenticator.Username_Tooltip:à®à®à¯à®à®³à¯ à®ªà®¯à®©à®°à¯ à®ªà¯à®¯à®°à¯ à®à®à¯à®à¯ à®à®à¯à®ªà¯à®à¯à®€à¯à®€à®µà¯à®®à¯  
+#**************************
+#
+#***** General Messages *****
+# 0 - A String representing the name and method of the class in question.
+General.Apply:à®à¯à®²à¯à®€à¯à®€à¯  
+General.Apply_Tooltip:à®€à®±à¯à®ªà¯à®ªà¯à®€à®¿à®¯ à®
+à®®à¯à®µà¯ à®à¯à®²à¯à®€à¯à®€à¯ à®à®°à¯à®ªà¯à®ªà®¿à®©à¯à®®à¯ à®à®±à¯à®¯à®Ÿà®à®²à®¿à®°à¯à®šà¯à®€à¯ à®µà¯à®³à®¿à®¯à¯ à®ªà¯à®à®Ÿà®€à¯  
+General.Browse:à®®à¯à®²à¯à®à¯à®à®®à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯...  
+General.Cancel:à®šà¯à®à¯à®à¯  
+General.Cancel_Tooltip:à®®à®Ÿà®±à¯à®±à®à®à®³à¯ à®šà¯à®à¯à®à®µà¯à®®à¯ (à®à®°à¯à®à®©à®µà¯ à®à¯à®¯à¯à®€ à®®à®Ÿà®±à¯à®±à®à®³à¯ à®à®€à¯à®µà¯à®®à¯ à®€à®¿à®°à¯à®ªà¯à®ªà®Ÿà®€à¯)  
+General.Close:à®®à¯à®à®µà¯à®®à¯  
+General.Close_Tooltip:à®à®šà¯à®€ à®à®±à¯à®¯à®Ÿà®à®²à¯ à®ªà¯à®à¯à®à®¿à®¯à®¯à¯ à®®à¯à®à®µà¯à®®à¯  
+General.Edit:à®®à®€à®¿à®ªà¯à®ªà¯ à®ªà®€à®¿à®ªà¯à®ªà¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+General.Error:à®€à®µà®±à¯  
+General.LLS_Not_Started:à®šà¯à®à®à®³à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®à¯à®µà®¯à®à®®à¯ à®à®¯à®à¯à®à®¿à®¯à®¿à®°à¯à®à¯à®à®¿à®°à¯à®°à¯à®à®³à¯, à®à®°à¯à®ªà¯à®ªà®¿à®©à¯à®®à¯ à®šà¯à®²à®à®®à¯ à®à®³à¯à®³à¯à®ªà¯à® à®ªà®¿à®€à¯à®€à®Ÿà®©à¯ à®à®©à¯à®©à¯à®®à¯ à®
+à®®à¯à®à¯à®à®µà®¿à®²à¯à®²à¯. \nà®à®€à¯ à®à®°à¯ à®€à®à®µà¯ à®à¯à®¯à¯à®€à®Ÿà®²à¯, à®€à®¿à®°à®à¯à®à®²à¯ à®ªà®Ÿà®°à¯à®ªà¯à®ªà®€à®°à¯à®à¯à®à¯ à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à®à®€à¯à®€à®¿à®²à¯à®³à¯à®³ 'à®€à®¿à®°à®à¯à®à¯ à®®à¯à®©à¯à®ªà®Ÿà®°à¯à®µà¯' à®¯à®¯à¯ à®®à¯à®£à¯à®à¯à®®à¯ à®
+à®®à¯à®à¯à®à®µà¯à®®à¯.  
+General.LLS_Not_Started_Title:'à®à®³à¯à®³à¯à®°à¯ à®šà¯à®²à¯à®šà®¿à®²à®¯à®®à¯ à®à¯à®µà®¯à®à®®à¯' à®à®©à¯à®©à¯à®®à¯ à®à®¯à®à¯à®à®µà®¿à®²à¯à®²à¯.  
+General.No:à®à®²à¯à®²à¯  
+General.NotSunJava:à®à®Ÿà®µà®Ÿ à®µà®¿à®±à¯à®ªà®©à¯à®¯à®Ÿà®³à®°à¯: {0}\nà®à®µà®©à®¿à®à¯à®à®µà¯à®®à¯: à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à®à®®à¯ Sun Microsystemsâ à®à®Ÿà®µà®Ÿ à®à®ªà®¯à¯à®à®¿à®€à¯à®€à¯ à®µà®¿à®°à¯à®€à¯à®€à®¿à®¯à¯à®®à¯ à®ªà®°à®¿à®à¯à®€à®©à¯à®¯à¯à®®à¯ à®à¯à®¯à¯à®¯à®ªà¯à®ªà®à¯à®à®¿à®°à¯à®à¯à®à®¿à®°à®€à¯.  
+General.OK:à®à®à¯  
+General.OK_Tooltip:à®€à®±à¯à®ªà¯à®ªà¯à®€à®¿à®¯ à®
+à®®à¯à®ªà¯à®ªà¯à®à®³à¯  à®à®±à¯à®±à¯à®à¯à®à¯à®£à¯à®à¯ à®à®±à¯à®¯à®Ÿà®à®²à®¿à®°à¯à®šà¯à®€à¯ à®µà¯à®³à®¿à®¯à¯ à®µà®°à®µà¯à®®à¯  
+General.Outstanding_Processes:<html>à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à®à®€à¯à®€à®¿à®²à¯à®³à¯ à®à®°à®®à¯à®ªà®¿à®€à¯à®€ à®à®²à¯à®²à®Ÿ à®šà®¿à®°à®²à¯à®à®³à¯à®®à¯ à®µà¯à®³à®¿à®¯à¯<br>à®µà®šà¯à®€à®Ÿà®²à¯à®€à®Ÿà®©à¯ 'à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à®à®®à¯' à®®à¯à®Žà¯à®®à®¯à®Ÿà® à®®à¯à®à¯à®®à¯.</html>  
+General.Outstanding_Processes_Title:à®µà¯à®³à®¿à®µà®°à¯à®µà®€à®°à¯à®à¯à®à¯ à®à®Ÿà®€à¯à®€à¯à®à¯à®£à¯à®à®¿à®°à¯à®à¯à®  
+General.Pure_Cancel_Tooltip:à®à¯à®¯à®²à¯ à®šà®¿à®°à¯à®€à¯à®€à¯ (à®®à®Ÿà®±à¯à®±à®²à¯ à®à®€à¯à®µà¯à®®à¯ à®à¯à®¯à¯à®¯à®Ÿà®€à¯)  
+General.Review_Output:à®€à®¯à®µà¯à®à¯à®€à¯ à®à¯à®Žà¯ à®à®°à¯à®°à¯à®à¯à®à¯à®®à¯ à®µà¯à®³à®¿à®¯à¯à®à¯à®à¯ à®®à¯à®³à¯à®ªà®Ÿà®°à¯à®µà¯à®¯à®¿à® à®µà¯à®®à¯  
+General.Redo:à®®à¯à®£à¯à®à¯à®®à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+General.Redo_Tooltip:à®à®à¯à®à®¿à®¯à®Ÿà® à®à¯à®¯à¯à®€ à®€à®¿à®°à¯à®ªà¯à®ªà®€à¯à®€à¯ à®®à¯à®£à¯à®à¯à®®à¯ à®à®¯à®à¯à®à®µà¯à®®à¯  
+General.Undo:à®€à®¿à®°à¯à®ªà¯à®ªà®®à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+General.Undo_Tooltip:à®à®à¯à®à®¿à®¯à®Ÿà® à®à¯à®¯à¯à®€ à®ªà®€à®¿à®ªà¯à®ªà¯ à®€à®¿à®°à¯à®ªà¯à®ªà®µà¯à®®à¯  
+General.Usage:à®à®ªà®¯à¯à®à®®à¯: {0} <params>\n à®à®²à¯à®²à®Ÿ à®
+à®³à®ªà¯à®°à¯à®à¯à®à®³à¯à®®à¯ à®µà¯à®£à¯à®à¯à®®à®Ÿà®©à®Ÿà®²à¯ à®à®ªà®¯à¯à®à®¿à®à¯à®à®²à®Ÿà®®à¯ à®à®°à¯à®ªà¯à®ªà®¿à®©à¯à®®à¯ -gsdl à®²à¯à®®à¯  -à®šà¯à®²à®à®®à¯à®®à¯ à®
+à®®à¯à®à¯à®à®µà®¿à®²à¯à®²à¯à®¯à®Ÿà®©à®Ÿà®²à¯ à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à®à®®à¯ à®µà¯à®²à¯ à®à¯à®¯à¯à®¯à®Ÿà®®à®²à¯ à®ªà¯à®à®²à®Ÿà®®à¯. \n -gsdl <path>  :gsdl à®à¯à®à¯ à®µà®Žà®¿ à®µà®²à®¿à®šà¯à®€à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯\n -library <path> : cgi-bin à®à¯à®à¯ à®µà®Žà®¿ \n -mozilla <path> :mozilla à®µà¯ à®®à®²à¯à®®à¯ à®ªà®à¯à®€à¯à®€à®ªà¯à®ªà®à¯à®à®€à¯\n -mirror :à®à®£à¯à®ªà®€à®¿à®ªà¯à®ªà¯ à®à®à¯à®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à®²à¯ à®®à®²à¯à®®à¯ à®ªà®à¯à®€à¯à®€à®ªà¯à®ªà®à¯à®à®€à¯\n -laf [java|windows|motif|mac] :à®ªà®Ÿà®°à¯à®à¯à®à®µà¯à®®à¯ à®à®£à®°à®µà¯à®®à¯ \n -debug :à®ªà®¿à®Žà¯ à®šà¯à®à¯à®à¯à®®à¯ à®à¯à®¯à®¿à®€à®¿à®à®³à¯ à®®à®²à¯à®®à¯ à®ªà®à¯à®€à¯à®€à®µà¯à®®à¯\n -no_load :à®®à¯à®©à¯à®©à®€à®Ÿà® à®€à®¿à®°à®šà¯à®€ à®€à®¿à®°à®à¯à®à¯ à®à®±à¯à®±à®Ÿà®€à¯\n -load <path> : à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à¯à® à®€à®¿à®°à®à¯à®à¯ à®à®±à¯à®±à®µà¯à®®à¯  
+General.View:à®®à®€à®¿à®ªà¯à®ªà¯ à®ªà®Ÿà®°à¯à®à¯à®à®µà¯à®®à¯  
+General.Warning:à®à®à¯à®à¯à®°à®¿à®à¯à®à¯  
+General.Yes:à®à®®à®Ÿà®®à¯  
+#****************************
+#
+#***** GShell *****
+GShell.BadArgument:{0} à®šà®¿à®ªà®šà¯à®€à®šà¯ à®à®£à®à¯à®à®³à¯ à®à¯à®²à¯à®²à®Ÿà®€à¯.  
+GShell.BadArgumentValue:{0} à®šà®¿à®ªà®šà¯à®€à®šà¯à®à¯à®à¯ à®à®°à¯ à®à¯à®²à¯à®²à®Ÿà®€ à®®à®€à®¿à®ªà¯à®ªà¯ à®à®°à¯à®à¯à®à®¿à®°à®€à¯  
+GShell.BadPluginOptions:{0} à®à¯à®²à¯à®²à®Ÿà®€ à®šà®¿à®ªà®šà¯à®€à®šà¯ à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à®¿à®²à¯ à®šà¯à®°à®¿à®à¯à®à®€à¯.  
+GShell.BadClassifierOptions:{0} à®à¯à®²à¯à®²à®Ÿà®€ à®šà®¿à®ªà®šà¯à®€à®šà¯ à®µà®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®®à¯ à®à®€à¯à®€à®¿à®¯à®¿à®²à¯ à®šà¯à®°à®¿à®à¯à®à®€à¯.  
+GShell.Build.Auxilary:à®€à¯à®£à¯ à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®à®£à¯à®à®Ÿà®à¯à®µà¯à®®à¯ à®à®Žà¯à®à¯à®à¯ à®ªà®à¯à®€à¯à®€à®µà¯à®®à¯...  
+GShell.Build.BuildBegun1:************** à®à®à¯à®à¯à®µà¯à®€à¯ à®à®°à®®à¯à®ª à®®à®Ÿà®¯à®¿à®±à¯à®±à¯ **************  
+GShell.Build.BuildCancelled:**************   à®šà¯à®à¯à®à®ªà¯à®ªà®à¯à®à®€à¯    **************  
+GShell.Build.BuildComplete1:************** à®à®à¯à®à¯à®µà¯à®€à¯ à®®à¯à®à®¿à®šà¯à®€à®€à¯ **************  
+GShell.Build.CompressText:à®à®°à¯ à®šà¯à®°à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®¿à®°à®€à¯...  
+GShell.Build.Index:{0-à®à¯à®à¯à®à¯ à®®à¯à®²à®®à¯à®®à¯ à®šà®¿à®²à®¯à¯à®®à¯} à®
+à®à®¿à®ªà¯à®ªà®à®¯à®Ÿà® à®à®°à¯ à®à¯à®à¯à®à¯ à®à®£à¯à®à®Ÿà®à¯à®à®ªà¯à®ªà®à¯à®à®¿à®°à®€à¯ ...  
+GShell.Build.InfoDatabase:à®€à®à®µà®²à¯ à®€à®°à®µà¯à®€à¯à®€à®³à®®à¯ à®à®£à¯à®à®Ÿà®à¯à®à®ªà¯à®ªà®à¯à®à®¿à®°à®€à¯...  
+GShell.Build.Phind:à®à®°à¯ Phind  à®µà®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à¯à®®à¯ à®à®€à¯à®€à®¿à®¯à¯ à®à®£à¯à®à®Ÿà®à¯à®à®ªà¯à®ªà®à¯à®à®¿à®°à®€à¯. à®à®€à¯ à®à®¿à®°à®¿à®€à¯ à®šà¯à®°à®®à¯ à®à®à¯à®®à¯...  
+GShell.Schedule.ScheduleBegun1:***************à®à®Ÿà®²à®®à¯à®±à¯ à®à®°à®®à¯à®ªà®¿à®€à¯à®€à®€à¯ ****************  
+GShell.Schedule.ScheduleComplete1:**************** à®à®Ÿà®²à®®à¯à®±à¯ à®®à¯à®à®¿à®šà¯à®€à®€à¯ *************  
+GShell.Schedule.ScheduleDelete:*********** à®à®°à¯à®à¯à®à®©à®µà¯ à®à®°à¯à®à¯à®à¯à®®à¯ à®à®Ÿà®²à®®à¯à®±à¯à®¯à¯à®¯à¯ à®šà¯à®à¯à®à®²à¯  *****  
+GShell.Command:à®à®€à¯à®€à®°à®µà¯  
+GShell.Failure:à®à®€à¯à®€à®°à®µà¯ à®ªà®²à®¿à®à¯à®à®µà®¿à®²à¯à®²à¯  
+GShell.Import.FileNotProcessed:{0-à®à®²à®à¯à®à¯ à®à¯à®ªà¯à®ªà¯ à®µà®Žà®¿} à®à¯à®ªà¯à®ªà¯ à®€à¯à®°à®¿à®¯à®ªà¯à®ªà®à¯à®à®€à¯ à®à®©à®¿à®²à¯à®®à¯ à®
+à®€à¯ à®à®šà¯à®€ à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ à®à®ªà®¯à¯à®à®¿à®€à¯à®€à¯à®®à¯ à®€à¯à®à¯à®à¯à® à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯  
+GShell.Import.FileNotRecognised:{0-à®à®²à®à¯à®à¯ à®à¯à®ªà¯à®ªà¯ à®µà®Žà®¿} à®à¯à®ªà¯à®ªà¯ à®à®šà¯à®€ à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ à®à®ªà®¯à¯à®à®¿à®€à¯à®€à¯à®®à¯ à®€à¯à®°à®¿à®¯à®µà®¿à®²à¯à®²à¯  
+GShell.Import.FileProcessing:{0-à®à®²à®à¯à®à¯ à®à¯à®ªà¯à®ªà¯ à®µà®Žà®¿}à®à¯à®ªà¯à®ªà¯ {1-à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ à®ªà¯à®¯à®°à¯} à®à®ªà®¯à¯à®à®¿à®€à¯à®€à¯ à®€à¯à®à¯à®€à¯à®€à®ªà¯à®ªà®à¯à®à®¿à®°à®€à¯.  
+GShell.Import.FileProcessingError:{0-à®à®²à®à¯à®à¯ à®à¯à®ªà¯à®ªà¯ à®µà®Žà®¿} à®à¯à®ªà¯à®ªà¯ à®€à¯à®à¯à®€à¯à®€à®ªà¯à®ªà®à¯à®à®¯à®¿à®²à¯ à®à®°à¯ à®€à®µà®±à¯ à®šà¯à®°à®¿à®à¯à®à®€à¯.  
+GShell.Import.ImportBegun1:************** à®à®±à®à¯à®à¯à®®à®€à®¿ à®à®°à®®à¯à®ªà®¿à®€à¯à®€à®€à¯ **************  
+GShell.Import.ImportComplete1:************** à®à®±à®à¯à®à¯à®®à®€à®¿  à®®à¯à®à®¿à®šà¯à®€à®€à¯ **************  
+GShell.Import.ImportComplete2:{0-à®à®£à¯ à®à®µà®£à®à®³à¯ à®à®°à¯à®€à®ªà¯à®ªà®à¯à®à®©} à®à®µà®£à®à®³à¯ à®€à¯à®à¯à®€à¯à®€à®€à®°à¯à®à¯à®à¯ à®à®°à¯à®€à®ªà¯à®ªà®à¯à®à®©:  
+GShell.Import.ImportComplete2.1:1 à®à®µà®£à®®à¯ à®€à¯à®à¯à®ªà¯à®ªà®€à®°à¯à®à¯à®à¯ à®à®°à¯à®€à®ªà¯à®ªà®à¯à®à®€à¯  
+GShell.Import.ImportComplete.Processed:{0-à®à®£à¯ à®€à¯à®à¯à®€à¯à®€à®ªà¯à®ªà®à¯à®à®€à¯} à®à®µà®£à®à®à®³à¯ à®€à¯à®à¯à®€à¯à®€à®ªà¯à®ªà®à¯à®à¯ à®€à®¿à®°à®à¯à®à®¿à®²à¯ à®à¯à®°à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®©.  
+GShell.Import.ImportComplete.Processed.1:1 à®à®µà®£à®®à¯ à®€à¯à®à¯à®€à¯à®€à®ªà¯à®ªà®à¯à®à¯ à®€à®¿à®°à®à¯à®à®¿à®²à¯ à®à¯à®°à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®€à¯.  
+GShell.Import.ImportComplete.Blocked:{0-à®à®£à¯ à®€à¯à®à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®€à¯} à®à¯à®°à¯à®ªà¯à®ªà®€à¯ à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à®²à¯ à®€à®à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®€à¯ (à®à®€à®Ÿà®à®°à®£à®®à®Ÿà®, à®µà®²à®²à¯ à®ªà®à¯à®à®à®à®³à®¿à®²à¯ à®à®°à¯à®à¯à®à¯à®®à¯ à®à®°à¯à®µà®à®³à¯).  
+GShell.Import.ImportComplete.Blocked.1:1 à®à¯à®°à¯à®ªà¯à®ªà®€à¯ à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯à®à®³à®Ÿà®²à¯ à®€à®à¯à®à¯à®à®ªà¯à®ªà®à¯à®à®€à¯ (à®à®€à®Ÿà®à®°à®£à®®à®Ÿà®, à®µà®²à¯ à®ªà®à¯à®à®à®³à®¿à®²à¯ à®à®°à¯à®à¯à®à¯à®®à¯ à®à®°à¯à®µà®à®³à¯).  
+GShell.Import.ImportComplete.Ignored:{0-à®à®£à¯ à®à®ªà¯à®à¯à®à®¿à®à¯à®à®ªà¯à®ªà®à¯à®à®€à¯} à®€à¯à®°à®¿à®¯à®µà®¿à®²à¯à®²à¯.  
+GShell.Import.ImportComplete.Ignored.1:1 à®€à¯à®°à®¿à®¯à®µà®¿à®²à¯à®²à¯.  
+GShell.Import.ImportComplete.Failed:{0-à®à®£à¯ à®ªà®²à®¿à®à¯à®à®µà®¿à®²à¯à®²à¯} à®ªà¯à®±à®à¯à®à®£à®¿à®à¯à®à®ªà¯à®ªà®à¯à®à®€à¯.  
+GShell.Import.ImportComplete.Failed.1:1 à®ªà¯à®±à®à¯à®à®£à®¿à®à¯à®à®ªà¯à®ªà®à¯à®à®€à¯.  
+GShell.Import.ImportComplete3:\n  
+GShell.Import.Warning:{0-à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯ à®ªà¯à®¯à®°à¯) à®à®à¯à®à®°à®¿à®à¯à®à¯:  
+GShell.Parsing_Metadata_Complete:à®à®Ÿà®ªà¯à®ªà®Ÿà®±à¯à®±à®ªà¯à®ªà®à¯à® à®®à¯à®€à®°à®µà¯ à®ªà®¿à®°à®¿à®€à¯à®€à¯à®à¯à®€à¯à®€à®²à¯ à®®à¯à®à®¿à®šà¯à®€à®€à¯.  
+GShell.Parsing_Metadata_Start:à®à®Ÿà®ªà¯à®ªà®Ÿà®±à¯à®±à®ªà¯à®ªà®à¯à® à®à¯à®ªà¯à®ªà¯à®à®³à®¿à®²à®¿à®°à¯à®šà¯à®€à¯ à®ªà¯à®€à®¿à®¯ à®®à¯à®€à®°à®µà¯ à®ªà®¿à®°à®¿à®€à¯à®€à¯à®à¯à®€à¯à®€à®²à¯.  
+GShell.Success:à®à®€à¯à®€à®°à®µà¯ à®®à¯à®à®¿à®šà¯à®€à®€à¯.  
+#*********************
+#
+#***** GUI *****
+# Currently Enabled and Disabled display the same text but in different
+# colours. If necessary this can be changed.
+GUI.Create:à®à®£à¯à®à®Ÿà®à¯à®à®µà¯à®®à¯  
+GUI.Create_Tooltip:à®à®à®à®³à¯ à®€à®¿à®°à®à¯à®à®²à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®à®ªà®¯à¯à®à®¿à®€à¯à®€à¯ à®à®à¯à®à®µà¯à®®à¯  
+GUI.Design:à®µà®à®¿à®µà®®à¯à®ªà¯à®ªà¯  
+GUI.Design_Tooltip:à®à®à®à®³à¯ à®€à®¿à®°à®à¯à®à®¿à®©à¯ à®à¯à®¯à®²à¯à®à®³à®¿à®©à¯ à®µà®à®¿à®µà®®à¯à®à¯à®à®µà¯à®®à¯  
+GUI.Download:à®€à®°à®µà¯à®±à®à¯à®à®®à¯  
+GUI.Download_Tooltip:à®à®à®à®³à¯ à®€à®¿à®°à®à¯à®à¯à®à¯à®à¯ à®à®£à¯à®¯à®€à¯à®€à®¿à®²à®¿à®°à¯à®šà¯à®€à¯ à®µà®³à®à®à®³à¯ à®€à®°à®µà¯à®±à®à¯à®à®®à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+GUI.Enrich:à®à®¿à®±à®ªà¯à®ªà®Ÿà®à¯à®à®µà¯à®®à¯  
+GUI.Enrich_Tooltip:à®à®à®à®³à¯ à®€à®¿à®°à®à¯à®à®²à®¿à®©à¯ à®à¯à®ªà¯à®ªà¯à®à®³à¯à®à¯à®à¯ à®®à¯à®€à®°à®µà¯ à®à¯à®à¯à®à¯à®à®µà¯à®®à¯  
+GUI.Format:à®µà®à®¿à®µà®®à¯  
+GUI.Format_Tooltip:à®à®à®à®³à¯ à®€à®¿à®°à®à¯à®à®²à®¿à®©à¯ à®€à¯à®±à¯à®±à®®à¯ à®µà®à®¿à®µà®®à¯à®à¯à®à®µà¯à®®à¯  
+GUI.Gather:à®€à®¿à®°à®à¯à®à¯à®€à®²à¯  
+GUI.Gather_Tooltip:à®à®à®à®³à¯ à®€à®¿à®°à®à¯à®à®¿à®²à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®£à¯à®à®¿à®¯ à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà¯à®®à¯  
+#***************
+#
+#***** HELP *****
+Help.Contents:à®ªà¯à®°à¯à®³à®à®à¯à®à®®à¯  
+Help.Title:à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à®à®®à¯ à®à®€à®µà®¿ à®ªà®à¯à®à®®à¯  
+#****************************
+#
+#***** Invalid Metadata ******
+InvalidMetadata.Message:à®à®šà¯à®€ à®®à¯à®€à®°à®µà¯ à®à®°à¯à®ªà¯à®ªà¯ à®®à¯à®©à¯à®©à®€à®Ÿà®à®µà¯ à®šà®¿à®à¯à®à®¯à®¿à®€à¯à®€ à®®à®€à®¿à®ªà¯à®ªà¯ à®à®£à®€à¯à®€à®¿à®°à¯à®à¯à®à¯ à®à®à¯à®à¯à®ªà¯à®ªà®à¯à®€à¯à®€à®¿à®¯à®¿à®°à¯à®à¯à®à®¿à®°à®€à®¿. à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®à®°à¯à®à¯à®à®©à®µà¯ à®à®°à¯à®à¯à®à¯à®®à¯ à®®à®€à®¿à®ªà¯à®ªà¯à®à®³à®¿à®²à®¿à®°à¯à®šà¯à®€à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à¯à®µà¯à®®à¯.  
+InvalidMetadata.Title:à®à¯à®²à¯à®²à®Ÿà®€ à®®à¯à®€à®°à®µà¯à®à®³à¯  
+#***************************
+#
+#***** LegacyCollection
+LegacyCollection.Message:à®šà¯à®à®à¯à®³à¯ à®à®ªà¯à®ªà¯à®Žà¯à®€à¯ à®à®°à¯ GLI à®¯à®Ÿà®²à¯ à®à®£à¯à®à®Ÿà®à¯à®à®ªà¯à®ªà®à®Ÿà®€ à®€à®¿à®°à®à¯à®à®²à¯ à®à®±à¯à®± à®ªà¯à®à®¿à®°à¯à®°à¯à®à®³à¯. à®à®°à¯à®à¯à®à®©à®µà¯ à®à®°à¯à®à¯à®à¯à®®à¯ à®®à¯à®€à®°à®µà¯à®à®³à¯ à®à®ªà¯à®²à®¿à®©à¯ à®à¯à®°à¯ à®®à¯à®€à®°à®µà¯ à®à®£à®€à¯à®€à®¿à®²à¯ à®à®±à®à¯à®à¯à®®à®€à®¿ à®à¯à®¯à¯à®¯à®ªà¯à®ªà®à¯à®®à¯. à®®à¯à®² à®®à¯à®€à®°à®µà¯ à®à¯à®ªà¯à®ªà¯à®à®³à¯ import.bak à®ªà¯à®¯à®°à¯à®à¯à®£à¯à® à®à®±à¯à®¯à®¿à®²à¯ à®à®Ÿà®ªà¯à®ªà®Ÿà®±à¯à®±à®ªà¯à®ªà®à¯à®®à¯.  
+LegacyCollection.Title:à®ªà¯à®± à®€à®¿à®°à®à¯à®à®²à¯ à®à®±à¯à®±à®ªà¯à®ªà®à¯à®à®¿à®°à®€à¯  
+#***************************
+#
+#***** LockFileDialog *****
+LockFileDialog.Cancel_Tooltip:à®ªà¯à®à¯à®à¯ à®à¯à®ªà¯à®ªà®¿à®©à¯ à®à®à¯à®à¯à®ªà¯à®ªà®Ÿà®à¯ à®€à®¿à®°à¯à®à®Ÿà®€à¯ (à®€à®¿à®°à®à¯à®à¯ à®€à¯à®±à®à¯à®à®Ÿà®€à¯)  
+LockFileDialog.Date:à®€à¯à®€à®¿  
+LockFileDialog.Error:à®€à®µà®±à¯  
+LockFileDialog.Lockfile_Message_One:à®à®°à¯ à®ªà¯à®à¯à®à¯ à®à¯à®ªà¯à®ªà¯ à®à®°à¯à®ªà¯à®ªà®€à®Ÿà®²à¯ à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à¯ à®à®°à¯à®à¯à®à®©à®µà¯ à®€à®¿à®°à®šà¯à®€à®¿à®°à¯à®à¯à®à®¿à®°à®€à¯à®©à¯à®±à¯ à®€à¯à®°à®¿à®à®¿à®°à®€à¯.  
+LockFileDialog.Lockfile_Message_Two:à®à®šà¯à®€ à®ªà¯à®à¯à®à¯ à®à¯à®ªà¯à®ªà®¿à®©à¯ à®à®à¯à®à¯à®ªà¯à®ªà®Ÿà®à¯ 'à®€à®¿à®°à¯à®à¯à®µà®€à®°à¯à®à¯à®à¯' à®à®à¯ à®ªà®à¯à®à®¿à®°à®¿à®°à®Ÿ?  
+LockFileDialog.Machine:à®à®à¯à®à¯  
+LockFileDialog.Name:à®ªà¯à®¯à®°à¯  
+LockFileDialog.OK_Tooltip:à®ªà¯à®à¯à®à¯ à®à¯à®ªà¯à®ªà®¿à®©à¯ à®à®à¯à®à¯à®ªà¯à®ªà®Ÿà®à¯ à®€à®¿à®°à¯à®à¯  
+LockFileDialog.Title:à®ªà¯à®à¯à®à¯ à®à¯à®ªà¯à®ªà¯ à®
+à®°à®¿à®¯à®ªà¯à®ªà®à¯à®à®¿à®°à®€à¯  
+LockFileDialog.User:à®¯à®Ÿà®°à¯  
+#********************
+#
+#*****MappingPrompt **********
+MappingPrompt.File:à®à®±à¯  
+MappingPrompt.Map:à®à¯à®±à¯à®à¯à®à¯à®µà®Žà®¿ à®à®£à¯à®à®Ÿà®à¯à®à®µà¯à®®à¯  
+MappingPrompt.Name:à®ªà¯à®¯à®°à¯  
+MappingPrompt.Title:à®à®±à¯ à®à¯à®±à¯à®à¯à®à¯à®µà®Žà®¿ à®
+à®®à¯à®à¯à®à®µà¯à®®à¯  
+MappingPrompt.Unmap:à®à¯à®±à¯à®à¯à®à¯à®µà®Žà®¿ à®šà¯à®à¯à®à®µà¯à®®à¯  
+#*******************
+#
+#***** Menu Options *****
+Menu.Collapse:à®à®±à¯ à®®à¯à®à®µà¯à®®à¯  
+Menu.Edit:à®ªà®€à®¿à®ªà¯à®ªà®¿à®à¯à®à®µà¯à®®à¯  
+Menu.Edit_Copy:à®šà®à®²à¯ à®à®à¯à®à¯à®à®µà¯à®®à¯ (ctrl-c)  
+Menu.Edit_Cut:à®µà¯à®à¯à®à¯(ctrl-x)  
+Menu.Edit_Paste:à®à®à¯à®à®µà¯à®®à¯ (ctrl-v)  
+Menu.Expand:à®à®±à¯ à®€à®¿à®°à®à¯à®à®µà¯à®®à¯  
+Menu.Explode_Metadata_Database:à®®à¯à®€à®°à®µà¯ à®€à®°à®µà¯à®€à¯à®€à®³à®®à¯ à®€à¯à®°à®¿à®à¯à®à®µà¯à®®à¯  
+Menu.Replace_SrcDoc_With_HTML:HTML à®ªà®€à®¿à®ªà¯à®ªà®Ÿà®²à¯ à®®à®Ÿà®±à¯à®±à®µà¯à®®à¯  
+Menu.File:à®à¯à®ªà¯à®ªà¯  
+Menu.File_Associations:à®à¯à®ªà¯à®ªà¯ à®à¯à®à¯à®à®®à¯à®ªà¯à®ªà¯à®à®³à¯...  
+Menu.File_CDimage:CD/DVD à®à®°à¯ à®à®Žà¯à®€à®µà¯à®®à¯...  
+Menu.File_Close:à®®à¯à®à®µà¯à®®à¯  
+Menu.File_Delete:à®šà¯à®à¯à®à®µà¯à®®à¯...  
+Menu.File_Exit:à®µà¯à®³à®¿à®¯à¯ à®ªà¯à®à®µà¯à®®à¯  
+Menu.File_ExportAs:à®à®±à¯à®±à¯à®®à®€à®¿ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+Menu.File_New:à®ªà¯à®€à®¿à®¯...  
+Menu.File_Open:à®€à®¿à®±à®à¯à®à®µà¯à®®à¯...  
+Menu.File_Options:à®
+à®€à®¿à®à®µà®¿à®°à¯à®ªà¯à®ªà®à®³à¯...  
+Menu.File_Save:à®à®Ÿà®ªà¯à®ªà®Ÿà®±à¯à®±à®µà¯à®®à¯  
+Menu.Help:à®à®€à®µà®¿ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+Menu.Help_About:à®ªà®±à¯à®±à®¿...  
+Menu.Metadata_View:{0} à®à¯à®à¯ à®à¯à®à¯à®à¯à®à®ªà¯à®ªà®à¯à® à®®à¯à®€à®°à®µà¯  
+Menu.Open_Externally:à®ªà¯à®± à®šà®¿à®°à®²à®¿à®²à¯ à®€à®¿à®±à®à¯à®à®µà¯à®®à¯  
+#********************
+#
+#***** MetaAudit *****
+MetaAudit.Close:à®®à¯à®à®µà¯à®®à¯  
+MetaAudit.Close_Tooltip:à®à®šà¯à®€ à®à®°à¯à®¯à®Ÿà®à®²à¯ à®ªà¯à®à¯à®à®¿à®¯à®¯à¯ à®®à¯à®à®µà¯à®®à¯  
+MetaAudit.Title:à®à®²à¯à®²à®Ÿ à®®à¯à®€à®°à®µà¯à®à®³à¯à®®à¯  
+#*********************
+#
+#***** Metadata *****
+Metadata.Element:à®à®±à¯à®ªà¯à®ªà¯  
+Metadata.Value:à®®à®€à®¿à®ªà¯à®ªà¯  
+MetadataSet.Files:à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯ à®à¯à®ªà¯à®ªà¯à®à®³à¯  
+#**********************************
+#
+#***** MetadataSetDialog**********
+MetadataSetDialog.Title:à®®à¯à®€à®°à®µà¯ à®à®£à®à®³à¯ à®šà®¿à®°à¯à®µà®Ÿà®à®¿à®à¯à®à®µà¯à®®à¯  
+MetadataSetDialog.Add_Title:à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+MetadataSetDialog.Current_Sets:à®à®€à¯à®à¯à®à®ªà¯à®ªà®à¯à® à®®à¯à®€à®°à®µà¯ à®à®£à®à¯à®à®³à¯  
+MetadataSetDialog.Available_Sets:à®à®¿à®à¯à®à¯à®à®à¯à®à®¿à®¯ à®®à¯à®€à®°à®µà¯ à®à®£à®à¯à®à®³à¯  
+MetadataSetDialog.Add:à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯...  
+MetadataSetDialog.Add_Tooltip:à®€à®¿à®°à®à¯à®à®²à¯à®à¯à®à¯  à®à®°à¯ à®ªà¯à®€à®¿à®¯ à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯  à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+MetadataSetDialog.New_Set:à®ªà¯à®€à®¿à®¯...  
+MetadataSetDialog.New_Set_Tooltip:à®à®°à¯ à®ªà¯à®€à®¿à®¯ à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯ à®à®£à¯à®à®Ÿà®à¯à®à®µà¯à®®à¯  
+MetadataSetDialog.Add_Set:à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+MetadataSetDialog.Add_Set_Tooltip:à®€à®¿à®°à®à¯à®à®²à¯à®à¯à®à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+MetadataSetDialog.Browse:à®®à¯à®²à¯à®à¯à®à®®à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯...  
+MetadataSetDialog.Browse_Tooltip:à®€à®¿à®°à®à¯à®à®²à¯à®à¯à®à¯  à®à®°à¯ à®ªà¯à®€à®¿à®¯ à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯  à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+MetadataSetDialog.Edit:à®à¯à®°à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯...  
+MetadataSetDialog.Edit_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®®à¯à®€à®°à®µà¯ à®à®£à®€à¯à®€à¯ à®à¯à®°à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+MetadataSetDialog.Remove:à®šà¯à®à¯à®à®µà¯à®®à¯  
+MetadataSetDialog.Remove_Tooltip:à®€à®¿à®°à®à¯à®à®²à®¿à®°à¯à®šà¯à®€à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®®à¯à®€à®°à®µà¯ à®à®£à®€à¯à®€à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+MetadataSetDialog.Elements:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®®à¯à®€à®°à®µà¯ à®à®£à®€à¯à®€à®¿à®©à¯ à®à®±à¯à®ªà¯à®ªà¯à®à®³à¯  
+
+#****************************************
+#
+#***** MetadataSetNamespaceClash warning***
+MetadataSetNamespaceClash.Title:à®®à¯à®€à®°à®µà¯ à®à®£à®€à¯à®€à®¿à®©à¯  à®ªà¯à®¯à®°à¯à®ªà®°à®ªà¯à®ªà¯ à®®à¯à®€à¯à®à®¿à®°à®€à¯  
+MetadataSetNamespaceClash.Message:({0}) à®à®²à¯ à®à¯à®°à¯à®ªà¯à®ªà®€à®°à¯à®à¯à®à¯ à®šà®¿à®à®à®³à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®®à¯à®€à®°à®µà¯ à®à®£à®€à¯à®€à®¿à®©à¯  à®ªà¯à®¯à®°à¯à®ªà®°à®ªà¯à®ªà¯ à®€à®¿à®°à®à¯à®à®¿à®²à¯ à®à®°à¯à®à¯à®à®©à®µà¯ à®à®°à¯à®à¯à®à®¿à®°à®€à¯ ({1}). à®à®šà¯à®€ à®ªà¯à®€à®¿à®¯ à®à®£à®€à¯à®€à¯ à®à¯à®°à¯à®€à¯à®€à®Ÿà®²à¯ à®ªà®Žà®¯ à®à®£à®®à¯ à®šà¯à®à¯à®à®ªà¯à®ªà®à¯à®à¯ à®
+à®šà¯à®€ à®à®à®€à¯à®€à®¿à®²à¯ à®ªà¯à®€à®¿à®¯ à®à®£à®®à¯ à®à¯à®°à¯à®à¯à®à®ªà¯à®ªà®à¯à®®à¯. à®à®°à¯à®à¯à®à®©à®µà¯ à®à¯à®à¯à®à¯à®à®ªà¯à®ªà®à¯à® à®®à¯à®€à®°à®µà¯ à®®à®€à®¿à®ªà¯à®ªà¯à®à®³à¯ à®ªà¯à®€à®¿à®¯ à®à®£à®€à¯à®€à®¿à®°à¯à®à¯à®à¯ à®®à®Ÿà®±à¯à®±à®ªà¯à®ªà®à¯à®®à¯ à®
+à®€à®¿à®²à¯ à®ªà¯à®°à¯à®šà¯à®€à®¿à®¯ à®à®°à¯à®ªà¯à®ªà¯à®à®³à¯ à®à®°à¯à®šà¯à®€à®Ÿà®²à¯ .  
+#*********************************************
+#
+#******** MetadataImportMappingPrompt *********
+MIMP.Add:à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+MIMP.Add_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à®£à®€à¯à®€à®¿à®²à¯ à®®à¯à®€à®°à®µà¯ à®à®°à¯à®ªà¯à®ªà¯ à®à¯à®à¯à®à®µà¯à®®à¯  
+MIMP.Ignore:à®à®ªà¯à®à¯à®à®¿  
+MIMP.Ignore_Tooltip:à®à®šà¯à®€ à®®à¯à®€à®°à®µà¯ à®à®°à¯à®ªà¯à®ªà¯ à®à®ªà¯à®à¯à®à®¿  
+MIMP.Instructions:à®®à¯à®€à®°à®µà¯ à®à®°à¯à®ªà¯à®ªà¯ {0} à®€à®¿à®°à®à¯à®à®¿à®²à¯ à®€à®©à¯à®©à®¿à®¯à®à¯à® à®à®±à®à¯à®à¯à®®à®€à®¿ à®à¯à®¯à¯à®¯à®²à®Ÿà®à®Ÿà®€à¯. à®à®°à¯ à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€à¯:\n(1) à®
+à®šà¯à®€ à®®à¯à®€à®°à®µà¯ à®
+à®šà¯à®€ à®à®£à®€à¯à®€à®¿à®²à¯ à®à¯à®°à¯à®à¯à® 'à®à¯à®°à¯à®à¯à®' à®
+à®®à¯à®à¯à®à®µà¯à®®à¯ (à®
+à®šà¯à®€ à®à®£à®€à¯à®€à®¿à®²à¯ à®à®°à¯à®à¯à®à®©à®µà¯ {0} à®®à¯à®€à®°à®µà¯ à®à®²à¯à®²à¯ à®à®©à¯à®±à®Ÿà®²à¯ à®®à®Ÿà®€à¯à®€à®¿à®°à®®à¯), \n(2) à®à®°à¯ à®à®°à¯à®ªà¯à®ªà¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€à¯ à®
+à®€à®©à¯ à®ªà®¿à®©à¯ {0} à®à®šà¯à®€ à®à®°à¯à®ªà¯à®ªà®¿à®²à¯ à®à®±à®à¯à®à¯à®®à®€à®¿ à®à¯à®¯à¯à®µà®€à®°à¯à®à¯à®à¯ 'à®à¯à®°à¯à®ªà¯à®ªà¯' à®
+à®®à¯à®à¯à®à®µà¯à®®à¯, à®
+à®²à¯à®²à®€à¯ \n(3) à®à®šà¯à®€ à®®à¯à®€à®°à®µà¯ à®à®°à¯à®ªà¯à®ªà¯ à®à®ªà¯à®à¯à®à®¿à®à¯à®à®µà¯à®®à¯.  
+MIMP.Merge:à®à¯à®°à¯à®ªà¯à®ªà¯  
+MIMP.Merge_Tooltip:à®®à¯à®€à®°à®µà¯ à®à®°à¯à®ªà¯à®ªà¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®à®£à®€à¯à®€à®¿à®²à¯ à®à¯à®±à¯à®ªà¯à®ªà®¿à®à¯à® à®à®°à¯à®ªà¯à®ªà®¿à®²à¯ à®µà®¿à®µà®°à®£à¯à®¯à®Ÿà®à¯à®à®µà¯à®®à¯  
+MIMP.Source_Element:à®®à¯à®²à®®à¯ à®®à¯à®€à®°à®µà¯ à®à®°à¯à®ªà¯à®ªà¯:  
+MIMP.Target_Element:à®à®²à¯à®²à®à¯à®à¯ à®®à¯à®€à®°à®µà¯ à®à®°à¯à®ªà¯à®ªà¯:  
+MIMP.Target_Set:à®à®²à¯à®²à®à¯à®à¯ à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯:  
+MIMP.Title:à®à¯à®°à¯à®ªà¯à®ªà¯ à®à¯à®¯à®²à¯ à®µà¯à®£à¯à®à¯à®®à¯.  
+#*****************************
+#
+#***** Mirroring *****
+Mirroring.ClearCache:à®µà®¿à®°à¯à®µà¯ à®à®Ÿà®²à®¿à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+Mirroring.ClearCache_Tooltip:à®€à®°à®µà¯ à®à®°à®à¯à®à®®à¯ à®à¯à®¯à¯à®€ à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+Mirroring.Download:à®€à®°à®µà¯ à®à®°à®à¯à®à®®à¯  
+Mirroring.Download_Tooltip:à®à®°à¯ à®ªà¯à®€à®¿à®¯ à®€à®°à®µà¯ à®à®°à®à¯à®à®®à¯ à®ªà®£à®¿ à®à®°à®®à¯à®ªà®¿à®à¯à®à®µà¯à®®à¯  
+Mirroring.DownloadJob.Close:à®®à¯à®à®µà¯à®®à¯  
+Mirroring.DownloadJob.Close_Tooltip:à®à®šà¯à®€ à®ªà®£à®¿ à®ªà®à¯à®à®¿à®¯à®²à®¿à®°à¯à®šà¯à®€à¯ à®šà¯à®à¯à®à®µà¯à®®à¯, à®šà®à®ªà¯à®ªà®¿à®²à¯ à®
+à®€à¯ à®à®¯à®à¯à®à®¿ à®à®°à¯à®šà¯à®€à®Ÿà®²à¯ à®
+à®€à¯ à®šà®¿à®°à¯à®€à¯à®€à¯à®®à¯  
+Mirroring.DownloadJob.Downloading:{0}à®€à®°à®µà¯ à®à®°à®à¯à®à®®à¯  
+Mirroring.DownloadJob.Download_Complete:à®€à®°à®µà¯ à®à®°à®à¯à®à®®à¯ à®®à¯à®à®¿à®šà¯à®€à®€à¯  
+Mirroring.DownloadJob.Download_Stopped:à®€à®°à®µà¯ à®à®°à®à¯à®à®®à¯ à®šà®¿à®°à¯à®€à¯à®€à®ªà¯à®ªà®à¯à®à®€à¯  
+Mirroring.DownloadJob.Download_Progress:à®€à®°à®µà¯ à®à®°à®à¯à®à®®à¯ à®à¯à®²à¯à®²à¯à®à®¿à®°à®€à¯  
+Mirroring.DownloadJob.Log:à®ªà®€à®¿à®µà¯ à®à¯à®¯à¯à®¯à®ªà¯à®ªà®à¯à®à®€à¯ à®ªà®Ÿà®°à¯à®à¯à®à®µà¯à®®à¯  
+Mirroring.DownloadJob.Log_Tooltip:à®à®šà¯à®€ à®€à®°à®µà¯ à®à®°à®à¯à®à®®à¯ à®ªà®±à¯à®±à®¿à®¯ à®µà®¿à®µà®°à®à®³à¯ à®ªà®Ÿà®°à¯à®à¯à®à®µà¯à®®à¯  
+Mirroring.DownloadJob.Log_Title:à®€à®°à®µà¯ à®à®°à®à¯à®à®®à¯ à®ªà®€à®¿à®µà¯  
+Mirroring.DownloadJob.Pause:à®€à®à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+Mirroring.DownloadJob.Pause_Tooltip:à®à®šà¯à®€ à®€à®°à®µà¯ à®à®°à®à¯à®à®®à¯ à®€à®à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+Mirroring.DownloadJob.Resume:à®®à¯à®£à¯à®à¯à®®à¯ à®€à¯à®à®°à®µà¯à®®à¯  
+Mirroring.DownloadJob.Resume_Tooltip:à®à®šà¯à®€ à®€à®°à®µà¯ à®à®°à®à¯à®à®®à¯ à®®à¯à®£à¯à®à¯à®®à¯ à®€à¯à®à®°à®µà¯à®®à¯  
+Mirroring.DownloadJob.Status:à®€à®°à®µà¯ à®à®°à®à¯à®à®®à¯ {0} à®à®°à¯à®šà¯à®€à¯ {1} à®à¯à®ªà¯à®ªà¯à®à®³à¯ ({2} à®à®à¯à®à¯à®°à®¿à®à¯à®à¯, {3} à®€à®µà®±à¯à®à®³à¯)  
+Mirroring.DownloadJob.Waiting:à®à®°à®®à¯à®ªà®€à¯à®€à®°à¯à®à¯à®à®Ÿà® à®à®Ÿà®°à¯à®€à¯à®€à®¿à®°à¯à®à¯à®à®²à¯  
+Mirroring.DownloadJob.Waiting_User:à®ªà®¯à®©à®°à¯ à®à¯à®¯à®²à¯à®à¯à®à®Ÿà® à®à®Ÿà®°à¯à®€à¯à®€à®¿à®°à¯à®à¯à®à®²à¯  
+Mirroring.Invalid_URL:à®à®à¯à®ªà¯à®à¯à®€à¯à®€à®¿à®¯ URL à®à¯à®²à¯à®²à®Ÿà®€à¯. à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®à®°à®¿à®ªà¯à®ªà®à¯à®€à¯à®€à®µà¯à®®à¯  
+Mirroring.Invalid_URL_Title:à®à¯à®²à¯à®²à®Ÿà®€ URL  
+Mirroring.Preferences:à®ªà®¿à®°à®€à®¿à®šà®¿à®€à®¿ à®µà®à®¿à®µà®®à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯...  
+Mirroring.Preferences_Tooltip:à®ªà®¿à®°à®€à®¿à®šà®¿à®€à®¿ à®à®Ÿà®€à¯à®€à®¿à®¯à®ªà¯à®ªà®à¯à®€à¯à®€à®µà¯à®®à¯ /à®
+à®²à¯à®²à®€à¯  à®ªà®¿à®°à®€à®¿à®šà®¿à®€à®¿ à®
+à®®à¯à®ªà¯à®ªà¯ à®ªà®€à®¿à®ªà¯à®ªà¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+#*********************
+#
+#***** Missing EXEC *****
+MissingEXEC.Message:à®à®à¯à®à®°à®¿à®à¯à®à¯: à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®²à¯à®ªà¯à®°à®°à®¿ à®µà¯à®ªà¯à®à¯à®°à¯à®µà®°à¯à®à¯à®à¯ à®µà®Žà®¿ à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à¯à®à®Ÿà®²à¯ à®®à®à¯à®à¯à®®à¯ à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à®à®€à¯à®€à®¿à®²à¯ à®à®à®³à¯à®à®¯ à®ªà¯à®€à®¿à®¯ à®€à®¿à®°à®à¯à®à¯à®à®³à¯ à®ªà®Ÿà®°à¯à®à¯à® à®®à¯à®à®¿à®¯à¯à®®à¯. à®à®ªà¯à®ªà¯à®Žà¯à®€à¯ à®à¯à®Žà®¿à®°à¯à®à¯à®à¯à®®à¯  à®à®°à¯ à®ªà¯à®²à®®à¯ à®µà®Žà®¿à®¯à®Ÿà® à®à®€à®©à¯à®³à¯ à®à¯à®²à¯à®²à®Ÿà®®à¯, à®
+à®²à¯à®²à®€à¯  à®€à®Ÿà®®à®€à®¿à®€à¯à®€à¯ à®
+à®€à®¿à®à®µà®¿à®°à¯à®ªà¯à®ªà®à®³à¯à®à¯à®à¯ à®à¯à®©à¯à®°à¯ à®à®£à¯à®ªà¯à®ªà¯ à®à®€à¯à®€à®²à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà¯à®®à¯. à®à®Ÿà®ªà®à®®à®¿à®°à¯à®à¯à®à®à¯à®à¯à®®à¯, à®à®°à¯  à®à¯à®²à¯à®²à®€à¯à®€à®à¯à® url "http://" à®µà®°à¯à®®à¯à®±à¯à®¯à®¿à®°à¯à®šà¯à®€à¯ à®à®°à®®à¯à®ªà®¿à®€à¯à®€à¯ à®
+à®©à¯à®à®®à®Ÿà® à®à¯à®¯à®²à¯à®ªà¯à®ªà®Ÿà®à¯à®à¯ à®ªà¯à®¯à®°à®¿à®²à¯ à®®à¯à®à®¿à®¯à¯à®®à¯ (à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®µà®¿à®©à¯à®à¯à®žà¯ à®²à¯à®à¯à®à®²à¯ à®²à¯à®ªà¯à®°à®°à®¿ à®žà®°à¯à®µà®°à¯à®à¯à®à¯ "gsdl", à®µà¯à®°à¯ à®µà®²à¯ à®à¯à®µà¯à®¯à®à®à¯à®³à¯à®à¯à®à¯  "library.cgi").  
+MissingEXEC.Title:à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®²à¯à®ªà¯à®°à®°à®¿ à®
+à®à¯à®°à®žà¯ à®à®Žà¯à®ªà¯à®ªà¯  
+#***** Missing EXEC_GS3 *****
+MissingEXEC_GS3.Message:à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ 3 à®²à¯à®ªà¯à®°à®°à®¿ URL à®à®à¯à®ªà¯à®à¯à®€à¯à®€à®µà¯à®®à¯. à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®à¯à®±à¯à®±à¯à®à¯à®Žà®³à¯ à®à®³à¯à®³à¯ à®à®¯à®à¯à®à®¿à®¯ à®à®Ÿà®®à¯à®à®Ÿà®à¯ à®µà¯à®ªà¯à®à¯à®°à¯à®µà®°à¯à®à¯à®à¯ à®µà®Žà®¿ à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à¯à®à®Ÿà®²à¯ à®®à®à¯à®à¯à®®à¯ à®à®à®à®³à¯à®à®¯ à®ªà¯à®€à®¿à®¯ à®€à®¿à®°à®à¯à®à¯à®à®³à¯ à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à®à®€à¯à®€à®¿à®²à¯ à®ªà®Ÿà®°à¯à®à¯à® à®®à¯à®à®¿à®¯à¯à®®à¯. à®à®ªà¯à®ªà¯à®Žà¯à®€à¯ à®à¯à®Žà®¿à®°à¯à®à¯à®à¯à®®à¯  à®à®°à¯ à®ªà¯à®²à®®à¯ à®µà®Žà®¿à®¯à®Ÿà® à®à®€à®©à¯à®³à¯ à®à¯à®²à¯à®²à®Ÿà®®à¯, à®
+à®²à¯à®²à®€à¯  à®€à®Ÿà®®à®€à®¿à®€à¯à®€à¯ à®
+à®€à®¿à®à®µà®¿à®°à¯à®ªà¯à®ªà®à®³à¯à®à¯à®à¯ à®à¯à®©à¯à®°à¯ à®à®£à¯à®ªà¯à®ªà¯ à®à®€à¯à®€à®²à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà¯à®®à¯. à®à®Ÿà®ªà®à®®à®¿à®°à¯à®à¯à®à®à¯à®à¯à®®à¯, à®à®°à¯  à®à¯à®²à¯à®²à®€à¯à®€à®à¯à® URL "http://" à®µà®°à¯à®®à¯à®±à¯à®¯à®¿à®°à¯à®šà¯à®€à¯ à®à®°à®®à¯à®ªà®¿à®à¯à®à®µà¯à®£à¯à®à¯à®®à¯.  
+MissingEXEC_GS3.Title:à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ 3 à®²à¯à®ªà¯à®°à®°à®¿ URL  
+#***** Missing GLIServer *****
+MissingGLIServer.Message:à®€à¯à®°à®€à¯à®€à®¿à®²à®¿à®°à¯à®à¯à®à¯à®®à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ "gliserver.pl" à®µà®°à®¿ à®µà®à®¿à®µà®€à¯à®€à®¿à®©à¯ à®®à¯à®à®µà®°à®¿ à®à¯à®Žà¯ à®à®°à¯à®à¯à®à¯à®®à¯  à®à®°à¯ à®ªà¯à®²à®®à®¿à®²à¯ à®à®à¯à®ªà¯à®à¯à®€à¯à®€à®µà¯à®®à¯. à®à®Ÿà®ªà®à®®à®¿à®°à¯à®à¯à®à®à¯à®à¯à®®à¯, à®à®°à¯  à®à¯à®²à¯à®²à®€à¯à®€à®à¯à® URL "http://" à®µà®°à¯à®®à¯à®±à¯à®¯à®¿à®°à¯à®šà¯à®€à¯ à®à®°à®®à¯à®ªà®¿à®€à¯à®€à¯ "gliserver.pl" à®²à®¿à®²à¯ à®®à¯à®à®¿à®¯à¯à®®à¯.  
+MissingGLIServer.Title:GLI à®à¯à®°à¯à®µà®°à¯ à®
+à®à¯à®°à®à¯ à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à®µà¯à®®à¯  
+#***** Missing GSDL *****
+MissingGSDL.Message:à®à®à¯à®à®°à®¿à®à¯à®à¯: à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®à®¿à®à®¿à®à®²à¯ à®²à¯à®ªà¯à®°à®°à®¿à®¯à®¿à®©à¯ à®à®³à¯à®³à¯à®°à¯ à®šà®à®²à¯ à®
+à®®à¯à®à¯à®à®ªà¯à®ªà®à®Ÿà®µà®¿à®à¯à®à®Ÿà®²à¯ à®à®à®³à¯à®à¯à®à¯ à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à®à®€à¯à®€à®¿à®©à¯ à®à®²à¯à®²à®Ÿ à®ªà®£à¯à®ªà¯à®à®³à¯à®¯à¯à®®à¯ à®
+à®£à¯à® à®à¯à®¯à¯à®¯à®®à¯à®à®¿à®¯à®Ÿà®€à¯. à®šà¯à®à®à®³à¯ à®à®šà¯à®€ à®µà®¿à®µà®°à®®à¯ à®€à®µà®±à®Ÿà® à®à®¿à®à¯à®€à¯à®€à®¿à®°à¯à®à¯à®à®¿à®°à®€à¯à®šà¯à®°à¯ à®šà®¿à®©à¯à®€à¯à®€à®Ÿà®²à¯ à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®à®à®à®³à¯ à®
+à®®à¯à®ªà¯à®ªà¯à®¯à¯à®®à¯ à®šà¯à®²à® à®à®à¯à®®à¯à® à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à¯à® à®µà®Žà®¿à®à®³à¯ à®€à¯à®à¯à®€à®¿ à®
+à®²à¯à®²à®€à¯ à®µà®°à®¿ à®µà®à®¿à®µà®®à¯ à®à¯à®ªà¯à®ªà¯à®¯à¯à®®à¯ à®ªà®°à®¿à®à¯à®€à®¿à®à¯à®à®µà¯à®®à¯.  
+MissingGSDL.Title:à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®µà¯à®Žà®¿ à®à®Žà¯à®ªà¯à®ªà¯  
+#***** Missing PERL *****
+MissingPERL.Message:à®à®à¯à®à®°à®¿à®à¯à®à¯: à®à®à®à®³à®Ÿà®²à¯ à®à®°à¯ à®ªà¯à®€à®¿à®¯ à®€à®¿à®°à®à¯à®à¯ à®à®£à¯à®à®Ÿà®à¯à®à®µà¯, à®
+à®²à¯à®²à®€à¯ à®à®°à¯à®à¯à®à®©à®µà¯ à®à®³à¯à®³à®€à¯ à®à®à¯à®à®µà¯, PERL à®
+à®®à¯à®à¯à®à®Ÿà®®à®²à¯, à®®à¯à®²à¯à®®à¯ à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à®à®®à¯ à®à®à®³à¯ à®
+à®®à¯à®ªà¯à®ªà®¿à®²à¯ PERL à®€à¯à®à®¿à®ªà®¿à®à®¿à®à¯à®à®µà®¿à®²à¯à®²à¯ à®à®©à¯à®°à®Ÿà®²à¯, à®®à¯à®à®¿à®¯à®Ÿà®€à¯. à®šà¯à®à®à®³à¯ à®à®šà¯à®€ à®µà®¿à®µà®°à®®à¯ à®€à®µà®±à®Ÿà® à®à®¿à®à¯à®€à¯à®€à®¿à®°à¯à®à¯à®à®¿à®°à®€à¯à®šà¯à®°à¯ à®šà®¿à®©à¯à®€à¯à®€à®Ÿà®²à¯ à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®à®à®à®³à¯ à®
+à®®à¯à®ªà¯à®ªà¯à®¯à¯à®®à¯ à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à® à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à¯à® à®µà®Žà®¿à®à®³à¯ à®€à¯à®à¯à®€à®¿ à®
+à®²à¯à®²à®€à¯ à®µà®°à®¿ à®µà®à®¿à®µà®®à¯ à®à¯à®ªà¯à®ªà¯à®¯à¯à®®à¯ à®ªà®°à®¿à®à¯à®€à®¿à®à¯à®à®µà¯à®®à¯.  
+MissingPERL.Title:PERL à®µà¯à®Žà®¿ à®à®Žà¯à®ªà¯à®ªà¯  
+#******* MissingImageMagick ********
+MissingImageMagick.Message:à®à®à¯à®à®°à®¿à®à¯à®à¯: à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à®à®®à¯ ImageMagick à®à®©à¯ à®à®°à¯ à®ªà¯à®°à¯à®šà¯à®€à®¿à®¯ à®ªà®€à®¿à®ªà¯à®ªà¯ à®€à¯à®à®¿ à®ªà®¿à®à®¿à®à¯à®à®µà®¿à®²à¯à®²à¯. à®à®°à¯à®µà®à®³à¯ à®€à®¿à®°à®à¯à®à¯à®à®³à®¿à®²à¯ à®à¯à®°à¯à®à¯à®à®²à®Ÿà®®à¯, à®à®°à¯à®ªà¯à®ªà®¿à®©à¯à®®à¯ à®à®°à¯à®µà®®à¯  à®à¯à®¯à®²à®Ÿà®à¯à®à¯à®®à¯ à®à¯à®¯à®²à¯à®à¯à®à¯à®°à¯ à®à®¿à®à¯à®à¯à®à®Ÿà®€à¯, à®à®€à®Ÿà®à®°à®£à®®à®Ÿà®, à®à®°à¯à®µà®à®à®³à¯ à®µà¯à®°à¯à®°à¯ à®µà®à¯à®à¯à®à¯ à®®à®Ÿà®±à¯à®±à®µà¯ à®
+à®²à¯à®²à®€à¯ à®€à®®à¯à®ªà¯à®©à¯à®¯à®¿à®²à¯à®à®³à¯ à®à®£à¯à®à®Ÿà®à¯à®à®µà¯ à®à¯à®¯à®²à®Ÿà®à®Ÿà®€à¯.  
+MissingImageMagick.Title:ImageMagick  à®à®Žà¯à®ªà¯à®ªà¯  
+#*****************************
+#
+#***** New Session *****
+NewCollectionPrompt.Base_Collection:à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à®²à¯ à®®à¯à®²à¯ à®µà¯à®à¯à®à®µà¯à®®à¯:  
+NewCollectionPrompt.Base_Collection_Tooltip:à®ªà¯à®€à®¿à®¯ à®€à®¿à®°à®à¯à®à®²à¯ à®µà¯à®ªà¯à®ªà®€à®°à¯à®à¯à®à¯  à®à®°à¯à®à®©à¯à®µà¯ à®à®³à¯à®³ à®à®°à¯ à®€à®¿à®°à®à¯à®à®²à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà¯à®®à¯  
+NewCollectionPrompt.Collection_Description:à®ªà¯à®°à¯à®³à®à®à¯à®à®®à¯ à®µà®¿à®µà®°à®¿à®ªà¯à®ªà¯:  
+NewCollectionPrompt.Collection_Name:à®€à®¿à®°à®à¯à®à®²à¯ à®à®±à¯:  
+NewCollectionPrompt.Collection_Scope_Personal:à®à®€à¯ à®à®°à¯ à®€à®©à®¿à®¯à®Ÿà®³à¯ à®€à®¿à®°à®à¯à®à®²à¯  
+NewCollectionPrompt.Collection_Scope_Personal_Tooltip:à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à®²à¯ à®à®µà®°à¯ à®à®£à¯à®à®Ÿà®à¯à®à®¿à®¯à®°à¯ à®
+à®µà®°à¯à®®à¯ à®®à¯à®²à¯à®®à¯ "all-collections-editor" à®à¯à®Žà¯à®µà®¿à®²à®¿à®°à¯à®à¯à®à¯à®®à¯ à®ªà®¯à®©à®°à¯à®à®³à¯à®®à¯ à®
+à®€à®©à¯ à®à¯à®°à¯ à®à¯à®¯à¯à®¯à®²à®Ÿà®®à¯.  
+NewCollectionPrompt.Collection_Scope_Shared:à®à®€à¯ à®à®°à¯ à®€à®©à®¿à®¯à®Ÿà®³à¯ à®€à®¿à®°à®à¯à®à®²à¯ à®
+à®²à¯à®²  
+NewCollectionPrompt.Collection_Scope_Shared_Tooltip:à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à®²à¯ "all-collections-editor" à®à¯à®Žà¯à®µà®¿à®²à®¿à®°à¯à®à¯à®à¯à®®à¯ à®ªà®¯à®©à®°à¯à®à®³à¯ à®à¯à®°à¯ à®à¯à®¯à¯à®¯à®²à®Ÿà®®à¯.  
+NewCollectionPrompt.Error:à®ªà¯à®€à®¿à®¯ à®€à®¿à®°à®à¯à®à®¿à®²à¯ à®€à®µà®±à¯.  
+NewCollectionPrompt.Instructions:à®à®°à¯ à®ªà¯à®€à®¿à®¯ à®€à®¿à®°à®à¯à®à®²à¯ à®à®£à¯à®à®Ÿà®à¯à® à®à¯à®Žà¯à®¯à¯à®³à¯à®³ à®ªà¯à®²à®®à¯à®à®³à¯ à®ªà¯à®°à¯à®€à¯à®€à®¿ à®à¯à®¯à¯à®¯à®µà¯à®®à¯.  
+NewCollectionPrompt.NewCollection:-- à®ªà¯à®€à®¿à®¯ à®€à®¿à®°à®à¯à®à®²à¯ --  
+NewCollectionPrompt.Title:à®à®°à¯ à®ªà¯à®€à®¿à®¯ à®€à®¿à®°à®à¯à®à®²à¯ à®à®£à¯à®à®Ÿà®à¯à®à®µà¯à®®à¯.  
+NewCollectionPrompt.Title_Clash:à®à®à®³à¯ à®€à®¿à®°à®à¯à®à®²à¯à®à¯à®à¯ à®šà¯à®à®³à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®€à®²à¯à®ªà¯à®ªà¯ à®à®°à¯à®à¯à®à®©à®µà¯ à®à®ªà®¯à¯à®à®ªà®à¯à®€à¯à®€à®¿ à®à®°à¯à®à¯à®à®¿à®°à®€à¯.  à®®à¯à®©à¯à®à¯à®²à¯à®²à®µà®Ÿ?  
+NewCollectionPrompt.Title_Error:à®€à®²à¯à®ªà¯à®ªà¯ à®ªà¯à®²à®®à¯ à®ªà¯à®°à¯à®€à¯à®€à®¿ à®à¯à®¯à¯à®¯à®µà¯à®£à¯à®à¯à®®à¯. à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®à¯à®°à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯.  
+#***** New Folder OrFilePrompt *****
+NewFolderOrFilePrompt.Default_File_Name:à®µà¯à®±à¯à®±à¯  
+NewFolderOrFilePrompt.Default_Folder_Name:à®ªà¯à®€à®¿à®¯ à®à®±à¯  
+NewFolderOrFilePrompt.Destination_Name:à®à¯à®°à¯à®®à®¿à®à®®à¯ à®à®±à¯  
+NewFolderOrFilePrompt.File_Name:à®à¯à®ªà¯à®ªà¯ à®ªà¯à®¯à®°à¯  
+NewFolderOrFilePrompt.File_Name_Tooltip:à®ªà¯à®€à®¿à®¯ à®à¯à®ªà¯à®ªà¯à®à¯à®à¯ à®à®°à¯ à®ªà¯à®¯à®°à¯ à®à®à¯à®ªà¯à®à¯à®€à¯à®€à®µà¯à®®à¯  
+NewFolderOrFilePrompt.Folder_Name:à®à®±à¯ à®ªà¯à®¯à®°à¯  
+NewFolderOrFilePrompt.Folder_Name_Tooltip:à®ªà¯à®€à®¿à®¯ à®à®±à¯à®à¯à®à¯ à®à®°à¯ à®ªà¯à®¯à®°à¯ à®à®à¯à®ªà¯à®à¯à®€à¯à®€à®µà¯à®®à¯  
+NewFolderOrFilePrompt.Title_Folder:à®à®°à¯ à®ªà¯à®€à®¿à®¯ à®à®±à¯ à®à®£à¯à®à®Ÿà®à¯à®à®µà¯à®®à¯  
+NewFolderOrFilePrompt.Title_File:à®à®°à¯ à®ªà¯à®€à®¿à®¯ à®µà¯à®±à¯à®±à¯ à®à®µà®£à®®à¯ à®à®£à¯à®à®Ÿà®à¯à®à®µà¯à®®à¯  
+#**********************
+#
+#******* OldWGET *******
+NoPluginExpectedToProcessFile.Message:à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯à®©à®¿à®©à¯ à®à®šà¯à®€ à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à®¿à®²à¯ "{0}" à®à¯à®ªà¯à®ªà¯ à®šà¯à®°à®à®¿à®¯à®Ÿà® à®à¯à®¯à®²à®Ÿà®à¯à®à¯à®®à¯ à®à®©à¯à®±à¯ à®à®€à®¿à®°à¯à®ªà®Ÿà®°à¯à®à¯à® à®ªà®à®µà®¿à®²à¯à®²à¯. (à®à®¯à®¿à®©à¯à®®à¯, à®
+à®€à¯ à®µà¯à®°à¯à®°à¯ à®à¯à®ªà¯à®ªà®¿à®²à¯ à®à¯à®°à¯à®šà¯à®€à®¿à®°à¯à®šà¯à®€à®Ÿà®²à¯ à®
+à®€à¯ à®€à®¿à®°à®à¯à®à®¿à®²à¯ à®à¯à®°à¯à®à¯à®à®²à®Ÿà®®à¯, à®à®€à®Ÿà®à®°à®£à®®à®Ÿà®, à®à®°à¯ à®µà®²à¯ à®ªà®à¯à®à®€à¯à®€à®¿à®²à¯ à®à®°à¯ à®à®°à¯.)à®
+à®šà¯à®€ à®à¯à®ªà¯à®ªà¯à®à¯à®à¯ à®à®°à®¿à®¯à®Ÿà®©  à®šà¯à®à®¿à®ªà¯à®ªà¯ à®à®°à¯à®à¯à®à®¿à®°à®€à¯à®šà¯à®±à¯ à®à®°à®¿à®ªà®Ÿà®°à¯à®ªà¯à®ªà¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯. à®
+à®€à¯ à®à®°à®¿à®¯à®Ÿà® à®à®°à¯à®šà¯à®€à®Ÿà®²à¯ à®šà¯à®à¯à®à®³à¯ UnknownPlug à®à®ªà®¯à¯à®à®¿à®€à¯à®€à¯ à®
+à®šà¯à®€ à®à¯à®ªà¯à®ªà¯ à®à¯à®¯à®²à®Ÿà®à¯à® à®µà¯à®£à¯à®à®¿à®¯à®¿à®°à¯à®à¯à®à¯à®®à¯.  
+NoPluginExpectedToProcessFile.Title:à®à®šà¯à®€ à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯à®®à¯ à®à®šà¯à®€ à®à¯à®ªà¯à®ªà¯ à®à¯à®¯à®²à®Ÿà®à¯à®à¯à®®à¯ à®à®©à¯à®±à¯ à®à®€à®¿à®°à¯à®ªà®Ÿà®°à¯à®à¯à® à®ªà®à®µà®¿à®²à¯à®²à¯  
+#***********************
+#
+#***** OpenCollectionDialog *****
+OpenCollectionDialog.Available_Collections:à®à®¿à®à¯à®à¯à®à®à¯à®à®¿à®¯ à®€à®¿à®°à®à¯à®à¯à®à®³à¯  
+OpenCollectionDialog.Description:à®€à®¿à®°à®à¯à®à¯ à®µà®¿à®µà®°à®£à®®à¯  
+OpenCollectionDialog.Open:à®€à®¿à®±à®à¯à®à®µà¯à®®à¯  
+OpenCollectionDialog.Open_Tooltip:à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à®à®€à¯à®€à®¿à®²à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®€à®¿à®°à®à¯à®à®²à¯ à®à®±à¯à®±à®µà¯à®®à¯  
+OpenCollectionDialog.Title:à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®€à®¿à®°à®à¯à®à®²à¯ à®€à®¿à®±à®à¯à®à®µà¯à®®à¯  
+#**********************
+#
+#***** Options Pane inside CreatePane *****
+OptionsPane.Cancelled:à®šà¯à®à¯à®à®ªà¯à®ªà®à¯à®à®€à¯  
+OptionsPane.LogHistory:à®µà®°à®²à®Ÿà®°à¯ à®ªà®€à®¿à®µà¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+OptionsPane.Successful:- à®µà¯à®±à¯à®±à®¿  
+OptionsPane.Scheduled:- à®€à®¿à®à¯à®à®®à®¿à®à¯à®à¯à®€à¯  
+OptionsPane.Unknown:- à®€à¯à®°à®¿à®¯à®Ÿà®€à®€à¯  
+OptionsPane.Unsuccessful:à®€à¯à®²à¯à®µà®¿  
+#*******************
+#
+#***** Preferences *****
+Preferences:à®
+à®€à®¿à®à®µà®¿à®°à¯à®ªà¯à®ªà®à®³à¯  
+Preferences.Connection:à®à®£à¯à®ªà¯à®ªà¯  
+Preferences.Connection_Tooltip:URL à® à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®šà¯à®²à®à®€à¯à®€à®¿à®°à¯à®à¯à®à¯ à®
+à®®à¯à®€à¯à®€à¯ à®€à®à¯à®€à®¿à®¯à®Ÿà®©à®Ÿà®²à¯ à®à®°à¯ à®ªà®¿à®°à®€à®¿à®šà®¿à®€à®¿ à®à®£à¯à®ªà¯à®ªà¯ à®µà®à®¿à®µà®Ÿà®à¯à®à®µà¯à®®à¯  
+Preferences.Connection.GLIServer_URL:à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®à®¿à®à®²à¯âà®à®à¯à®µà¯à®¯à®à®®à¯ URL:  
+Preferences.Connection.GLIServer_URL_Tooltip:à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ "à®à®¿à®à®²à¯âà®à®à¯à®µà¯à®¯à®à®€à¯à®€à®¿à®©à¯" CGI à®µà®°à®¿ à®µà®à®¿à®µà®®à¯  
+Preferences.Connection.Library_Path:à®šà¯à®²à® à®µà®Žà®¿:  
+Preferences.Connection.Library_Path_GS3:à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®µà®²à¯ à®µà®Žà®¿:  
+Preferences.Connection.Library_Path_Tooltip:à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®µà®²à¯ à®à¯à®µà¯à®¯à®à®€à¯à®€à®¿à®©à¯ URL  
+Preferences.Connection.Library_Path_Tooltip_GS3:à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®à¯à®µà¯à®¯à®à®€à¯à®€à®¿à®©à¯ URL  
+Preferences.Connection.Library_Path_Connection_Failure:à®à®£à¯à®à¯à® à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯. {0} à®à®²à¯ à®à®°à¯à®à¯à®à¯à®®à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®à¯à®µà¯à®¯à®à®®à¯ à®à®¯à®à¯à®à¯à®à®¿à®°à®€à¯ à®à®©à¯à®°à¯ à®à®°à®¿à®ªà®Ÿà®°à¯à®à¯à®à®µà¯à®®à¯.  
+Preferences.Connection.ProgramCommand:à®®à¯à®©à¯à®ªà®Ÿà®°à¯à®µà¯ à®à®€à¯à®€à®°à®µà¯:  
+Preferences.Connection.ProgramCommand_Tooltip:à®€à®¿à®°à®à¯à®à®²à¯ à®®à¯à®©à¯à®ªà®Ÿà®°à¯à®µà¯ à®ªà®Ÿà®°à¯à®à¯à®  à®à®ªà®¯à¯à®à®¿à®€à¯à®€ à®šà®¿à®°à®² à®à®¯à®à¯à®à¯à®®à¯ à®à®€à¯à®€à®°à®µà¯. à®à®Ÿà®ªà®à®®à®¿à®°à¯à®à¯à®à®à¯à®à®®à¯ à®€à®¿à®°à®à¯à®à®¿à®©à¯ à®®à¯à®à®µà®°à®¿à®à¯à®à¯  à®à®à®®à¯ à®€à®Ÿà®à¯à®à®¿à®¯à®Ÿà®¯à¯ %1 à®à®ªà®¯à¯à®à®¿à®à¯à®à®µà¯à®®à¯, à®®à¯à®²à¯à®®à¯ à®ªà¯à®à¯à®à¯à®à¯à®à¯à®°à®¿à®à®³à¯ à®µà¯à®£à¯à®à¯à®®à®Ÿà®©à®Ÿà®²à¯ à®à®ªà®¯à¯à®à®¿à®à¯à®à®µà¯à®®à¯.  
+Preferences.Connection.Proxy_Host:à®µà®¿à®°à¯à®šà¯à®€à¯à®ªà¯à®®à¯ à®ªà®¿à®°à®€à®¿à®šà®¿à®€à®¿:  
+Preferences.Connection.Proxy_Host_Tooltip:à®à®à®à®³à¯ à®ªà®¿à®°à®€à®¿à®šà®¿à®€à®¿ à®à¯à®µà¯à®¯à®à®€à¯à®€à®¿à®©à¯ à®®à¯à®à®µà®°à®¿  
+Preferences.Connection.Proxy_Port:à®ªà®¿à®°à®€à®¿à®šà®¿à®€à®¿ à®ªà¯à®à¯à®®à®¿à®à®®à¯:  
+Preferences.Connection.Proxy_Port_Tooltip:à®à®à®à®³à¯ à®ªà®¿à®°à®€à®¿à®šà®¿à®€à®¿ à®à¯à®µà¯à®¯à®à®€à¯à®€à®¿à®©à¯ à®ªà¯à®à¯à®®à®¿à®à®®à¯ à®à®£à¯  
+Preferences.Connection.Proxy_Host_Missing:à®µà®¿à®°à¯à®šà¯à®€à¯à®®à¯à®ªà¯ à®ªà®¿à®°à®€à®¿à®šà®¿à®€à®¿à®à¯à®à¯ à®à®°à¯ à®®à®€à®¿à®ªà¯à®ªà¯ à®à®à¯à®ªà¯à®à¯à®€à¯à®€à®µà¯à®®à¯ à®
+à®²à¯à®²à®€à¯ à®à®£à¯à®ªà¯à®ªà¯ à®à®€à¯à®€à®²à®¿à®²à¯ à®à®³à¯à®³ à®ªà®¿à®°à®€à®¿à®šà®¿à®€à®¿ à®à®£à¯à®ªà¯à®ªà¯ à®à®ªà®¯à¯à®à®€à¯à®€à¯  à®®à¯à®à®µà¯à®®à¯.
+  
+Preferences.Connection.Servlet:à®à¯à®°à¯à®µà¯à®²à¯à®à¯:  
+Preferences.Connection.Servlet_Tooltip:à®à®à®à®³à¯ à®à®à®®à¯ à®ªà®Ÿà®à¯à® à®à®ªà®¯à¯à®à®ªà¯à®ªà®à¯à®®à¯ à®à¯à®°à¯à®µà¯à®²à¯à®à¯  
+Preferences.Connection.Servlet_Tooltip2:à®à®šà¯à®€ à®à®à®€à¯à®€à®¿à®°à¯à®à¯à®à¯ à®à¯à®°à¯à®µà¯à®²à¯à®à¯ à®à®€à¯à®µà¯à®®à¯ à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à®µà®¿à®²à¯à®²à¯, à®šà¯à®à®à®³à¯ à®®à¯à®²à¯à®®à¯ à®€à®¿à®°à®à¯à®à®²à¯à®à®³à¯ à®à®à¯à®à®²à®Ÿà®®à¯, à®à®°à¯à®ªà¯à®ªà®¿à®©à¯à®®à¯ à®
+à®µà¯à®à®³à¯ à®ªà®Ÿà®°à¯à®à¯à® à®®à¯à®à®¿à®¯à®Ÿà®€à¯  
+Preferences.Connection.Site:à®à®à®®à¯:  
+Preferences.Connection.Site_Tooltip:à®à®šà¯à®€ à®à®à®€à¯à®€à®¿à®²à¯ à®µà¯à®²à¯ à®à¯à®¯à¯à®¯ à®ªà¯à®à®¿à®°à¯à®°à¯à®à®³à¯  
+Preferences.Connection.Use_Proxy:à®ªà®¿à®°à®€à®¿à®šà®¿à®€à®¿ à®à®£à¯à®ªà¯à®ªà¯ à®à®ªà®¯à¯à®à®¿à®ªà¯à®ªà®€à®Ÿ?  
+Preferences.General:à®ªà¯à®€à¯  
+Preferences.General_Tooltip:à®à®¿à®² à®ªà¯à®€à¯à®µà®Ÿà®© à®
+à®€à®¿à®à®µà®¿à®°à¯à®ªà¯à®ªà®à®à®³à¯ à®
+à®®à¯à®à¯à®à®µà¯à®®à¯  
+Preferences.General.Email:à®ªà®¯à®©à®°à®¿à®©à¯ à®®à®¿à®©à¯à®
+à®à¯à®à®²à¯  
+Preferences.General.Email_Tooltip:GLI à®à®ªà®¯à¯à®à®¿à®€à¯à®€à¯ à®à®£à¯à®à®Ÿà®à¯à®à®¿à®¯ à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à®²à¯à®à¯à®à¯à®®à¯ à®à®šà¯à®€ à®®à®¿à®©à¯à®
+à®à¯à®à®²à¯ à®®à¯à®à®µà®°à®¿ à®€à®©à¯à®©à®¿à®¯à®à¯à®à®®à®Ÿà®¯à¯ à®à®ªà®¯à¯à®à®¿à®à¯à®à®ªà¯à®ªà®à¯à®®à¯  
+Preferences.General.Font:à®à®Žà¯à®€à¯à®€à¯à®°à¯:  
+Preferences.General.Font_Tooltip:GLI à®à®à¯à®®à¯à®à®€à¯à®€à¯à®à¯à®à¯ à®à®ªà®¯à¯à®à®¿à®à¯à® à®à®Žà¯à®€à¯à®€à¯à®°à¯.  
+Preferences.General.Interface_Language:à®à®à¯à®®à¯à® à®®à¯à®Žà®¿:  
+Preferences.General.Interface_Language_Tooltip:à®à®à¯à®®à¯à®à®®à¯à®®à¯ à®
+à®€à®©à¯à®à®¿à®¯ à®à®à¯à®à¯à®ªà¯à®ªà®Ÿà®à¯à®à®³à¯à®®à¯ à®à®šà¯à®€ à®®à¯à®Žà®¿à®¯à®¿à®²à¯ à®à®Ÿà®£à¯à®ªà®¿à®à¯à® à®µà®¿à®°à¯à®®à¯à®ªà¯à®à®°à¯à®°à¯ à®
+à®€à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà¯à®®à¯.  
+Preferences.General.Restart_Required:à®à®°à¯ à®ªà¯à®€à®¿à®¯ à®à®à¯à®®à¯à®à®®à¯à®Žà®¿ à®à®±à¯à®±à¯à®€à®²à¯ à®®à¯à®Žà¯à®®à¯à®¯à®Ÿà®à¯à® GLI à®¯à¯ à®à®ªà¯à®ªà¯à®Žà¯à®€à¯à®€à¯ à®®à¯à®£à¯à®à¯à®®à¯ à®à®¯à®à¯à®à®µà¯à®®à¯.  
+Preferences.General.Manual_Restart_Required:à®à®£à¯à®ªà¯à®ªà¯ à®
+à®®à¯à®ªà¯à®ªà¯ à®®à®Ÿà®±à¯à®±à®à®à®³à¯ à®à®µà®©à®€à¯à®€à®¿à®²à¯ à®à®à¯à®€à¯à®€à¯à®à¯à®à¯à®³à¯à®³ GLI à®à¯à®³à¯à®¯à®©à¯à®à¯ à®®à®°à¯à®ªà®à®¿à®¯à¯à®®à¯ à®à®¯à®à¯à®à®µà¯à®®à¯.  
+Preferences.General.Show_File_Size:à®à¯à®ªà¯à®ªà¯à®à®³à®¿à®©à¯ à®
+à®³à®µà¯à®à®³à¯ à®à®Ÿà®£à¯à®ªà®¿à®à¯à®à®µà¯à®®à¯  
+Preferences.General.Show_File_Size_Tooltip:à®ªà®£à®¿à®¯à®¿à®à®ªà¯à®ªà®°à®ªà¯à®ªà®¿à®²à¯à®®à¯ à®€à®¿à®°à®à¯à®à¯ à®à¯à®ªà¯à®ªà¯ à®®à®°à®à®à®³à®¿à®²à¯à®®à¯ à®à®³à¯à®³ à®ªà®€à®¿à®µà¯à®à®³à¯à®à¯à®à¯ à®ªà®à¯à®à®€à¯à®€à®¿à®²à®¿à®°à¯à®à¯à®à¯à®®à¯ à®à¯à®ªà¯à®ªà¯à®à®³à®¿à®©à¯  à®
+à®³à®µà¯à®à®³à¯ à®à®Ÿà®£à¯à®ªà®¿à®à¯à®à®µà¯à®®à¯.  
+Preferences.General.View_Extracted_Metadata:à®ªà®¿à®°à®¿à®€à¯à®€à¯à®à¯à®€à¯à®€ à®®à¯à®€à®°à®µà¯à®à®³à¯ à®ªà®Ÿà®°à¯à®à¯à®à®µà¯à®®à¯  
+Preferences.General.View_Extracted_Metadata_Tooltip:à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®à¯à®°à¯à®à¯à®µà®Ÿà®¯à¯à®à®³à¯ à®ªà®¿à®°à®¿à®€à¯à®€à¯à®à¯à®€à¯à®€ à®®à¯à®€à®°à®µà¯à®à®³à¯ à®®à¯à®€à®°à®µà¯ à®ªà®à¯à®à®¿à®¯à®²à®¿à®²à¯ à®à®¿à®±à®ªà¯à®ªà®Ÿà®© à®à®Ÿà®à¯à®à®¿à®¯à®¿à®²à¯ à®à®Ÿà®£à¯à®ªà®¿à®à¯à®à®µà¯à®®à¯.  
+Preferences.Mode:à®®à¯à®±à¯à®®à¯  
+Preferences.Mode_Tooltip:à®€à®à¯à®šà¯à®€ à®šà®¿à®²à¯ à®à¯à®¯à®²à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à® à®à®°à¯ à®µà®¿à®°à¯à®ªà¯à®ªà®€à¯à®°à¯à®µà¯ à®ªà®€à®¿à®µà¯ à®à¯à®³à®¿à®à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯.  
+Preferences.Mode.Assistant:à®šà¯à®²à® à®à®€à®µà®¿à®¯à®Ÿà®³à®°à¯  
+Preferences.Mode.Assistant_Description:à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à®à®€à¯à®€à®¿à®©à¯ à®
+à®à®¿à®ªà¯à®ªà®à®¯à®Ÿà®© à®ªà®£à¯à®ªà¯à®à®³à¯ à®
+à®£à¯à®à¯à®µà®€à®°à¯à®à¯à®à¯ à®à®šà¯à®€ à®
+à®®à¯à®ªà¯à®ªà¯ à®à®ªà®¯à¯à®à®¿à®à¯à®à®µà¯à®®à¯: à®€à®¿à®°à®à¯à®à¯à®à®³à®¿à®²à¯ à®à®µà®£à®à®à®³à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯,  à®®à¯à®€à®°à®µà¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯, à®à®°à¯à®à¯à®à®©à®µà¯ à®à®³à¯à®³ à®€à®¿à®°à®à¯à®à¯à®à®³à®¿à®©à¯ à®à®à¯à®à®®à¯à®ªà¯à®ªà¯ à®à®£à¯à®ªà¯à®ªà¯ à®ªà®€à®¿à®ªà¯à®ªà®Ÿà®¯à®¿à®°à¯à®à¯à®à¯à®®à¯ à®€à®¿à®°à®à¯à®à¯à®à®³à¯ à®à®£à¯à®à®Ÿà®à¯à®à®µà¯à®®à¯ à®®à¯à®²à¯à®®à¯ à®€à®¿à®°à®à¯à®à¯à®à®³à¯ à®à®à¯à®à®²à®Ÿà®®à¯.  
+Preferences.Mode.Librarian:à®šà¯à®²à®à®°à¯  
+Preferences.Mode.Librarian_Description:à®à®šà¯à®€ à®
+à®®à¯à®ªà¯à®ªà¯  à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à®à®®à¯ à®à®¯à®²à¯à®ªà®Ÿà® à®à®ªà®¯à¯à®à®®à¯ à®à¯à®à¯à®à¯à®à¯à®®à¯: à®ªà¯à®€à®¿à®¯ à®€à®¿à®°à®à¯à®à¯à®à®³à¯ à®à®£à¯à®à®Ÿà®à¯à®à®µà¯à®®à¯ à®µà®à®¿à®µà®®à¯à®à¯à®à®µà¯à®®à¯, à®€à®¿à®°à®à¯à®à¯à®à®³à®¿à®²à¯ à®à®µà®£à®à®à®³à¯à®®à¯ à®®à¯à®€à®°à®µà¯à®à®³à¯à®®à¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯, à®®à¯à®²à¯à®®à¯ à®€à®¿à®°à®à¯à®à¯à®à®³à¯ à®à®à¯à®à®µà¯à®®à¯.  
+Preferences.Mode.Expert:à®µà®²à¯à®²à¯à®©à®°à¯  
+Preferences.Mode.Expert_Description:à®à®šà¯à®€ à®
+à®®à¯à®ªà¯à®ªà¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à®à®®à¯ à®€à®¿à®±à®®à¯à®¯à®Ÿà® à®à®ªà®¯à¯à®à®¿à®à¯à® à®à®Ÿà®€à¯à®€à®¿à®¯à®®à®Ÿà®à¯à®à¯à®®à¯. à®à®€à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®à®ªà®¯à¯à®à®®à¯à®®à¯, PERL à®µà®°à®¿ à®µà®à®¿à®µà®€à¯à®€à®¿à®²à®¿à®°à¯à®šà¯à®€à¯ à®µà¯à®³à®¿à®¯à¯à®à¯à®à®¿à®²à¯ à®ªà®¿à®Žà¯ à®šà¯à®à¯à®à¯à®®à¯ à®à®¿à®à¯à®à®²à¯ à®€à¯à®°à¯à®µà¯ à®ªà®£à®¿à®à®³à®¿à®²à¯ à®ªà®°à®¿à®à¯à®à®¯à®®à¯à®®à¯ à®à®³à¯à®³à®µà®°à®à¯à®à¯ à®à®¿à®ªà®Ÿà®°à®à¯ à®à¯à®¯à¯à®¯à®ªà¯à®ªà®à¯à®à®€à¯.  à®à®²à¯à®²à®Ÿ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à®à®®à¯ à®ªà®£à¯à®ªà¯à®à®³à¯ à®à®Ÿà®€à¯à®€à®¿à®¯à®®à®Ÿà®à¯à®à®ªà¯à®ªà®à¯à®à®¿à®°à¯à®à¯à®à¯à®®à¯.  
+Preferences.Warnings:à®à®à¯à®à®°à®¿à®à¯à®à®³à¯  
+Preferences.Warnings_Tooltip:à®ªà®±à¯à®ªà®² à®à®à¯à®à®°à®¿à®à¯à®à¯ à®à®±à¯à®¯à®Ÿà®à®²à¯à®à®³à¯ à®à®¯à®²à¯ à®ªà®à¯à®€à¯à®€à®µà¯ à®
+à®²à¯à®²à®€à¯ à®šà¯à®à¯à®à®µà¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯  
+Preferences.Workflow:à®ªà®£à®¿à®ªà®Ÿà®¯à¯à®µà¯  
+Preferences.Workflow_Tooltip:à®à®à¯à®®à¯à®à®®à¯ à®ªà®£à®¿à®ªà®Ÿà®¯à¯à®µà¯ à®µà®à®¿à®µà®®à¯à®à¯à®à®µà¯à®®à¯: à®à®šà¯à®€ à®ªà®Ÿà®°à¯à®µà¯à®à®³à¯  à®à®¯à®²à¯ à®ªà®à¯à®€à¯à®€ à®µà¯à®£à¯à®à¯à®®à¯ à®
+à®µà¯à®à®³à¯ à®
+à®®à¯à®à¯à®à®µà¯à®®à¯  
+Preferences.Workflow.Predefined.Label:à®®à¯à®©à¯à®©à®Ÿà®²à¯ à®€à¯à®°à¯à®®à®Ÿà®©à®¿à®€à¯à®€ à®ªà®£à®¿à®ªà®Ÿà®¯à¯à®µà¯à®à®³à¯  
+Preferences.Workflow.Title:à®ªà®Ÿà®°à¯à®µà¯ à®à®¯à®²à¯à®®à¯à®ªà¯à®ªà®à¯à®€à¯à®€ à®ªà¯à®à¯à®à®¿à®¯à®¿à®²à¯ à®à¯à®±à®¿à®¯à®¿à®à®µà¯à®®à¯  
+#**********************
+#
+#**** PreviewCommandDialog *******
+PreviewCommandDialog.Instructions:à®€à®¿à®°à®à¯à®à®²à¯ à®®à¯à®©à¯à®ªà®Ÿà®°à¯à®µà¯ à®ªà®Ÿà®°à¯à®à¯à® à®šà®¿à®°à®²à¯ à®€à®¿à®±à®à¯à®à¯à®®à¯ à®à®€à¯à®€à®°à®µà¯ à®à®à¯à®ªà¯à®à¯à®€à¯à®€à®µà¯à®®à¯. à®à®Ÿà®ªà®à®®à®¿à®°à¯à®à¯à®à®à¯à®à®®à¯ à®€à®¿à®°à®à¯à®à®¿à®©à¯ à®®à¯à®à®µà®°à®¿à®à¯à®à¯  à®à®à®®à¯ à®€à®Ÿà®à¯à®à®¿à®¯à®Ÿà®¯à¯ %1 à®à®ªà®¯à¯à®à®¿à®à¯à®à®µà¯à®®à¯, à®®à¯à®²à¯à®®à¯ à®ªà¯à®à¯à®à¯à®à¯à®à¯à®±à®¿à®à®³à¯ à®µà¯à®£à¯à®à¯à®®à®Ÿà®©à®Ÿà®²à¯ à®à®ªà®¯à¯à®à®¿à®à¯à®à®µà¯à®®à¯.  
+PreviewCommandDialog.Title:à®®à¯à®©à¯à®ªà®Ÿà®°à¯à®µà¯ à®à®€à¯à®€à®°à®µà¯  
+
+ShowPreviousCollection.Title:à®®à¯à®©à¯à®©à®€à®Ÿà® à®à®à¯à®à®ªà¯à®ªà®à¯à® à®€à®¿à®°à®à¯à®à¯ à®®à¯à®£à¯à®à¯à®®à¯ à®ªà®Ÿà®°à¯à®à¯à®à®µà¯à®®à¯  
+ShowPreviousCollection.Message:à®à®°à¯ à®€à®µà®±à¯  à®šà¯à®°à®¿à®à¯à®à®€à¯ à®®à¯à®²à¯à®®à¯ à®
+à®šà¯à®€ à®€à®¿à®°à®à¯à®à®²à¯ à®à®£à¯à®à®Ÿà®à¯à® à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯. à®šà¯à®à®à®³à¯ à®®à¯à®©à¯à®©à®€à®Ÿà® à®à®à¯à®à®ªà¯à®ªà®à¯à® à®€à®¿à®°à®à¯à®à®²à¯ à®®à¯à®£à¯à®à¯à®®à¯ à®ªà®Ÿà®°à¯à®à¯à®à®¿à®°à¯à®°à¯à®à®³à¯.  
+#**********************
+#
+#***** Remote Greenstone Server *****
+RemoteGreenstoneServer.Authentication_Message:à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®à®à®à®³à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®ªà®¯à®©à®°à¯ à®ªà¯à®¯à®°à¯à®®à¯ à®à®à®µà¯à®à¯à®²à¯à®²à¯à®®à¯ à®à®à¯à®ªà¯à®à¯à®€à¯à®€à®µà¯à®®à¯:  
+RemoteGreenstoneServer.Authentication_Message_gs3:à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®à®à®€à¯à®€à®¿à®°à¯à®à¯à®à¯ à®€à®à¯à®šà¯à®€ à®à®à®à®³à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®ªà®¯à®©à®°à¯ à®ªà¯à®¯à®°à¯à®®à¯ à®à®à®µà¯à®à¯à®²à¯à®²à¯à®®à¯ à®à®à¯à®ªà¯à®à¯à®€à¯à®€à®µà¯à®®à¯:  
+RemoteGreenstoneServer.Error:à®à®šà¯à®€ à®à¯à®¯à®²à¯à®ªà¯à®€à¯ à®€à¯à®°à¯ à®à®°à¯à®à¯à®à¯à®®à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®à¯à®µà¯à®¯à®à®€à¯à®€à®¿à®²à¯ à®à®°à¯ à®€à®µà®±à¯ à®šà¯à®°à®¿à®à¯à®à®€à¯:\n{0-à®€à®µà®±à¯ à®à¯à®¯à¯à®€à®¿}  
+RemoteGreenstoneServer.Error_Title:à®€à¯à®°à¯ à®à®°à¯à®à¯à®à¯à®®à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®à¯à®µà¯à®¯à®à®€à¯à®€à®¿à®²à¯ à®€à®µà®±à¯  
+RemoteGreenstoneServer.Progress:à®€à¯à®°à¯ à®à®°à¯à®à¯à®à¯à®®à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®à¯à®µà¯à®¯à®à®®à¯ à®®à¯à®©à¯à®©à¯à®à¯à®à®®à¯:  
+RemoteGreenstoneServer.Steal_Lock_Message:à®à®šà¯à®€ à®€à®¿à®°à®à¯à®à®²à¯ à®à®ªà¯à®ªà¯à®Žà¯à®€à¯  à®ªà®¯à®©à®°à®Ÿà®²à¯ à®ªà¯à®à¯à®à®ªà¯à®ªà®à¯à®à®¿à®°à¯à®à¯à®à®¿à®°à®€à¯ '{0-à®ªà®¯à®©à®°à¯ à®ªà¯à®¯à®°à¯}'.\n à®ªà¯à®à¯à®à¯ à®à¯à®ªà¯à®ªà®¿à®©à¯ à®à®à¯à®à¯à®ªà¯à®ªà®Ÿà®à¯ à®šà¯à®à®à®³à¯ à®€à®¿à®°à¯à® à®à®à¯à®ªà®à¯à®à®¿à®°à¯à®°à¯à®à®³à®Ÿ?(à®à®¿à®ªà®Ÿà®°à®à¯ à®à¯à®¯à¯à®¯à®®à®Ÿà®à¯à®à®Ÿà®€à¯, à®à®©à¯à®©à®¿à®²à¯ à®à¯à®¯à¯à®€à®€à¯à®²à¯à®²à®Ÿà®®à¯ à®€à¯à®²à¯à®šà¯à®€à¯à®ªà¯à®à®²à®Ÿà®®à¯ )?  
+#**********************
+#
+#***** Rename Prompt *****
+RenamePrompt.Name:à®ªà¯à®¯à®°à¯:  
+RenamePrompt.Title:à®à¯à®ªà¯à®ªà¯/ à®à®±à¯ à®ªà¯à®€à®¿à®¯ à®ªà¯à®°à®¿à®à®µà¯à®®à¯  
+#**********************
+#
+#***** Replace Prompt *****
+ReplacePrompt.Title:à®à¯à®ªà¯à®ªà¯ à®®à®Ÿà®±à¯à®±à®µà¯à®®à¯...  
+#**********************
+#
+#***** Save Collection Box *****
+SaveCollectionBox.File_Name:à®à¯à®ªà¯à®ªà¯ à®ªà¯à®¯à®°à¯:  
+SaveCollectionBox.Files_Of_Type:à®à¯à®ªà¯à®ªà¯à®à®³à¯ à®µà®à¯:  
+SaveCollectionBox.Look_In:à®à®³à¯à®³à¯ à®ªà®Ÿà®°à¯à®à¯à®à®µà¯à®®à¯:  
+#**********************
+#
+#***** Save Progress Box *******
+SaveProgressDialog.Title:à®€à®¿à®°à®à¯à®à®²à¯à®à®³à¯ à®à®Ÿà®ªà¯à®ªà®Ÿà®±à¯à®±à¯à®µà®€à¯  
+#*******************************
+#
+Server.QuitManual:à®šà¯à®²à®à®°à¯ à®à®à¯à®®à¯à®à®€à¯à®€à®Ÿà®²à¯ à®à®³à¯ \nà®šà¯à®²à® à®à¯à®µà®¯à®à®®à¯ à®€à®©à¯à®©à®¿à®¯à®à¯à®à®®à®Ÿà®¯à¯ à®®à¯à® à®®à¯à®à®¿à®¯à®µà®¿à®²à¯à®²à¯. à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®à¯à®®à¯à®±à¯à®¯à®Ÿà®²à¯ à®à¯à®µà®¯à®à®€à¯à®€à®¿à®©à¯ à®®à¯à®²à¯ à®µà®²à®€à¯ à®ªà®à¯à®à®€à¯à®€à¯ à®®à¯à®²à¯à®¯à®¿à®²à¯à®³à¯à®³ à®ªà¯à®°à¯à®à¯à®à®²à¯ à®à¯à®±à¯à®®à¯à®ªà®à®®à¯ à®à¯à®³à®¿à®à¯ à®à¯à®¯à¯à®€à¯ à®à¯à®µà®¯à®à®€à¯à®€à®¿à®²à®¿à®°à¯à®šà¯à®€à¯  à®µà¯à®³à®¿à®µà®°à®µà¯à®®à¯, à®ªà®¿à®±à®à¯ à®à®šà¯à®€ à®à®±à¯à®¯à®Ÿà®à®²à¯ à®ªà¯à®à¯à®à®¿à®¯à®¿à®²à¯à®³à¯à®³ 'à®à®à¯' à®à¯à®³à®¿à®à¯ à®à¯à®¯à¯à®¯à®µà¯à®®à¯.  
+Server.QuitTimeOut:à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®à®³à¯ à®šà¯à®²à®à®®à¯ {0} à®µà®¿à®©à®Ÿà®à®¿à®à®³à®¿à®²à¯ à®€à®©à¯à®©à®¿à®¯à®à¯à®à®®à®Ÿà®¯à¯\nà®®à¯à®à¯à®®à¯ à®à®€à¯à®€à®°à®µà¯à®à¯à®à¯ à®ªà®€à®¿à®²à®³à®¿à®à¯à®à®µà®¿à®²à¯à®²à¯. à®à®©à¯à®©à¯à®®à¯ {0} à®µà®¿à®©à®Ÿà®à®¿à®à®³à¯\nà®à®Ÿà®€à¯à®€à®¿à®°à¯à®à¯à® à®µà®¿à®°à¯à®®à¯à®ªà¯à®°à¯à®°à¯à®à®³à®Ÿ?  
+Server.StartUpTimeOut:à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®à®³à¯ à®šà¯à®²à®à®®à¯ {0} à®µà®¿à®©à®Ÿà®à®¿à®à®³à®¿à®²à¯ à®€à®©à¯à®©à®¿à®¯à®à¯à®à®®à®Ÿà®¯à¯\nà®€à¯à®à®à¯à® à®à®€à¯à®€à®°à®µà¯à®à¯à®à¯ à®ªà®€à®¿à®²à®³à®¿à®à¯à®à®µà®¿à®²à¯à®²à¯. à®à®©à¯à®©à¯à®®à¯ {0} à®µà®¿à®©à®Ÿà®à®¿à®à®³à¯\nà®à®Ÿà®€à¯à®€à®¿à®°à¯à®à¯à® à®µà®¿à®°à¯à®®à¯à®ªà¯à®°à¯à®°à¯à®à®³à®Ÿ?  
+#
+#***** Sources *****
+Source.General:à®ªà¯à®€à¯à®µà®Ÿà®©  
+#**********************
+#
+#***** Trees *****
+Tree.DownloadedFiles:à®€à®°à®µà¯ à®à®°à®à¯à®à®ªà¯à®ªà®à¯à® à®à¯à®ªà¯à®ªà¯à®à®³à¯  
+Tree.Files:à®à¯à®ªà¯à®ªà¯à®à®³à¯  
+Tree.Home:à®à®²à¯à®² à®à®±à¯ ({0})  
+Tree.Root:à®à®³à¯  à®à¯à®ªà¯à®ªà¯à®€à¯ à®€à¯à®à¯à®à®®à¯  
+Tree.World:à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®€à®¿à®°à®à¯à®à¯à®à®³à®¿à®©à¯ à®à®µà®£à®à®à®³à¯  
+#***********************
+#
+#***** Warning Dialog *****
+WarningDialog.Dont_Show_Again:à®à®šà¯à®€ à®à®à¯à®à®°à®¿à®à®¯à®¯à¯ à®®à¯à®£à¯à®à¯à®®à¯ à®à®Ÿà®£à¯à®ªà®¿à®à¯à®à®Ÿà®€à¯  
+WarningDialog.Dont_Show_Again_Message:à®à®šà¯à®€ à®à¯à®¯à¯à®€à®¿à®¯à¯ à®®à¯à®£à¯à®à¯à®®à¯ à®à®Ÿà®£à¯à®ªà®¿à®à¯à®à®Ÿà®€à¯  
+WarningDialog.Invalid_Value:à®šà¯à®à®à®³à¯ à®®à®€à®¿à®ªà¯à®ªà¯ à®ªà¯à®²à®®à®¿à®²à¯ à®à®à¯à®ªà¯à®ªà¯à®à¯à®€à¯à®€à®¿à®¯ à®®à®€à®¿à®ªà¯à®ªà¯\nà®à¯à®±à¯à®ªà¯à®ªà®¿à®à¯à® à®ªà®Ÿà®©à¯à®®à¯à®à¯à®à¯  à®à¯à®²à¯à®²à®Ÿà®€à¯.  
+WarningDialog.Value:à®®à®€à®¿à®ªà¯à®ªà¯ à®à®à¯à®ªà¯à®ªà¯à®à¯à®€à¯à®€à®µà¯à®®à¯:  
+#
+#****** WGet *****
+WGet.Prompt:à®à®ªà®³à¯à®¯à¯à®à¯à®à¯ à®®à®¿à®°à®°à®¿à®à¯ à®à®³à®¯à®£à¯à®à¯  
+#
+#****** Workflows *****
+Workflow.AllPanels:à®à®²à¯à®²à®Ÿ à®ªà®²à®à®à®à®³à¯  
+Workflow.LocalSourceCollectionBuilding:à®à®³à¯ à®®à¯à®² à®€à®¿à®°à®à¯à®à®²à¯ à®à®à¯à®à®²à¯  
+Workflow.DocumentEnriching:à®à®µà®£à®®à¯ à®à®¿à®±à®ªà¯à®ªà®Ÿà®à¯à®à®ªà¯à®ªà®à¯à®à®¿à®°à®€à¯  
+
+
+#********GEMS******
+
+GEMS.Title:à®®à¯à®€à®°à®µà¯ à®à®£à®à¯à®à®³à®³à¯à®à¯à®à¯ à®à¯à®°à¯à®©à¯à®žà¯à®à¯à®£à¯ à®ªà®€à®¿à®ªà¯à®ªà®Ÿà®©à¯  
+GEMS.OpenMetadataSetPrompt.Title:à®®à¯à®€à®°à®µà¯ à®à®£à®€à¯à®€à¯ à®€à®¿à®±à®à¯à®à®µà¯à®®à¯  
+GEMS.OpenMetadataSetPrompt.Open_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®®à¯à®€à®°à®µà¯ à®à®£à®€à¯à®€à¯ à®€à®¿à®±à®à¯à®à®µà¯à®®à¯  
+GEMS.Set_Description:à®®à¯à®€à®°à®µà¯ à®à®£à®€à¯à®€à®¿à®©à¯ à®µà®¿à®µà®°à®à®³à¯  
+GEMS.OpenMetadataSetPrompt.Open:à®€à®¿à®±à®à¯à®à®µà¯à®®à¯  
+GEMS.OpenMetadataSetPrompt.Available_Sets:à®à®¿à®à¯à®à¯à®à®à¯à®à¯à®à®¿à®¯ à®®à¯à®€à®°à®µà¯ à®à®£à®à¯à®à®³à¯  
+GEMS.DeleteMetadataSetPrompt.Title:à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+GEMS.DeleteMetadataSetPrompt.Delete_Tooltip:à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®€à¯à®€ à®®à¯à®€à®°à®µà¯ à®à®£à®€à¯à®€à¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+GEMS.DeleteMetadataSetPrompt.Delete:à®šà¯à®à¯à®à®µà¯à®®à¯  
+GEMS.DeleteMetadataSetPrompt.Available_Sets:à®à®¿à®à¯à®à¯à®à®à¯à®à¯à®à®¿à®¯ à®®à¯à®€à®°à®µà¯ à®à®£à®à¯à®à®³à¯  
+GEMS.DeleteMetadataSetPrompt.Confirm_Delete:à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯ à®šà¯à®à¯à®à®¿à®¯à®€à¯ à®à®±à¯à®€à®¿à®ªà¯à®ªà®à¯à®€à¯à®€ à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®ªà¯à®à¯à®à®¿à®¯à®¿à®²à¯ à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à®µà¯à®®à¯  
+GEMS.DeleteMetadataSetPrompt.No_Set:à®à®°à¯ à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯à®®à¯ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà®¿à®²à¯  
+GEMS.Confirm_Removal:à®à®à¯à®à®¯à®®à®Ÿà® à®à®šà¯à®€ {0} à®µà¯ à®šà¯à®à¯à® à®µà¯à®£à¯à®à¯à®®à®Ÿ?  
+GEMS.Confirm_Removal_Title:à®šà¯à®à¯à®à®¿à®¯à®€à¯ à®à®±à¯à®€à®¿à®ªà¯à®ªà®à¯à®€à¯à®€à®µà¯à®®à¯  
+GEMS.Attribute:à®ªà®£à¯à®ªà¯  
+GEMS.Popup.AddElement:à®à®°à¯à®ªà¯à®ªà¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+GEMS.Popup.DeleteElement:à®à®°à¯à®ªà¯à®ªà¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+GEMS.Popup.AddSubElement:à®€à¯à®£à¯ à®à®°à¯à®ªà¯à®ªà¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+GEMS.Popup.DeleteSubElement:à®€à¯à®£à¯ à®à®°à¯à®ªà¯à®ªà¯ à®šà¯à®à¯à®à®µà¯à®®à¯  
+GEMS.NewMetadataSetPrompt.Title:à®ªà¯à®€à®¿à®¯ à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯  
+GEMS.NewMetadataSetPrompt.Instructions:à®à®°à¯ à®ªà¯à®€à®¿à®¯ à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯ à®à®£à¯à®à®Ÿà®à¯à®à¯à®µà®€à®°à¯à®à¯à®à¯ à®à¯à®Žà¯à®à®£à¯à® à®ªà¯à®²à®®à¯à®à®³à¯  à®ªà¯à®°à¯à®€à¯à®€à®¿ à®à¯à®¯à¯à®¯à®µà¯à®®à¯:  
+GEMS.NewMetadataSetPrompt.Base_MetadataSet:à®à®šà¯à®€ à®®à¯à®€à®°à®µà¯ à®à®£à®€à¯à®€à®¿à®©à¯ à®€à®³à®®à¯:  
+GEMS.NewMetadataSetPrompt.Metadata_Title:à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯ à®€à®²à¯à®ªà¯à®ªà¯:  
+GEMS.NewMetadataSetPrompt.Metadata_Namespace:à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯ à®ªà¯à®¯à®°à¯à®ªà®°à®ªà¯à®ªà¯:  
+GEMS.NewMetadataSetPrompt.New_Metadata:--à®ªà¯à®€à®¿à®¯ à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯--  
+GEMS.NewMetadataSetPrompt.Title_Error_Message:à®à®°à¯ à®ªà¯à®€à®¿à®¯ à®®à¯à®€à®°à®µà¯ à®à®£à®€à¯à®€à®¿à®°à¯à®à¯à®à¯ à®à®°à¯ à®€à®²à¯à®ªà¯à®ªà¯ à®
+à®µà®à®¿à®¯à®®à¯  
+GEMS.NewMetadataSetPrompt.Title_Error:à®€à®²à¯à®ªà¯à®ªà¯ à®à®€à¯à®µà¯à®®à¯ à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à®µà®¿à®²à¯  
+GEMS.NewMetadataSetPrompt.Namespace_Error_Message:à®à®°à¯ à®ªà¯à®€à®¿à®¯ à®®à¯à®€à®°à®µà¯ à®à®£à®€à¯à®€à®¿à®°à¯à®à¯à®à¯ à®à®°à¯ à®ªà¯à®¯à®°à¯à®ªà®°à®ªà¯à®ªà¯  à®
+à®µà®à®¿à®¯à®®à¯  
+GEMS.NewMetadataSetPrompt.Namespace_Error:à®ªà¯à®¯à®°à¯à®ªà®°à®ªà¯à®ªà¯ à®à®€à¯à®µà¯à®®à¯ à®à¯à®±à®¿à®ªà¯à®ªà®¿à®à®µà®¿à®²à¯à®²à¯  
+GEMS.SelectedLanguage:à®®à¯à®Žà®¿à®à¯à®à¯ à®µà¯à®£à¯à®à®¿à®¯ à®ªà®£à¯à®ªà¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯  
+GEMS.Language:--à®®à¯à®Žà®¿ à®€à¯à®°à¯à®šà¯à®€à¯à®à¯à®à¯à®à®µà¯à®®à¯--  
+GEMS.LanguageDependent:à®®à¯à®Žà®¿ à®à®Ÿà®°à¯à®šà¯à®€ à®ªà®£à¯à®ªà¯à®à®³à¯  
+GEMS.Attribute_Table:à®ªà®£à¯à®ªà¯à®à®³à¯  
+GEMS.Attribute_Deletion_Error:à®ªà®£à¯à®ªà¯ à®šà¯à®à¯à®à®®à¯ à®€à®µà®±à¯  
+GEMS.Attribute_Deletion_Error_Message:à®à®šà¯à®€ à®ªà®£à¯à®ªà¯ à®à®à¯à®à®Ÿà®¯à®®à®Ÿà® à®µà¯à®£à¯à®à¯à®®à¯, à®
+à®€à¯ à®šà¯à®à¯à® à®à¯à®à®Ÿà®€à¯  
+GEMS.Add_Lang_Depend_Attr_Error:à®ªà®£à¯à®ªà¯ à®à¯à®°à¯à®ªà¯à®ªà¯ à®€à®µà®±à¯  
+GEMS.Add_Lang_Depend_Attr_Error_Message:"à®®à¯à®Žà®¿ à®à®Ÿà®°à¯à®šà¯à®€" à®ªà®£à¯à®ªà¯ à®à¯à®à¯à®à¯à®à®µà®¿à®²à¯à®²à¯, à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®à®šà¯à®€ à®ªà®£à¯à®ªà¯ à®à¯à®°à¯à®à¯à®à®µà¯à®®à¯.  
+GEMS.Attribute_Edition_Error:à®ªà®£à¯à®ªà¯ à®à¯à®°à®®à¯à®ªà¯à®ªà¯ à®€à®µà®±à¯  
+GEMS.Attribute_Edition_Error_Message:à®à®šà¯à®€ à®ªà®£à¯à®ªà¯ à®à®à¯à®à®Ÿà®¯à®®à®Ÿà® à®µà¯à®£à¯à®à¯à®®à¯, à®
+à®€à¯ à®à®Ÿà®²à®¿à®¯à®Ÿà® à®à®°à¯à®à¯à®à®à¯à®à®Ÿà®€à¯  
+GEMS.Confirm_Save:à®à®šà¯à®€ à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯ à®®à®Ÿà®±à¯à®±à®ªà¯à®ªà®à¯à®à®¿à®°à¯à®à¯à®à®¿à®°à®€à¯, à®à®Ÿà®ªà¯à®ªà®Ÿà®±à¯à®± à®µà¯à®£à¯à®à¯à®®à®Ÿ?  
+GEMS.Confirm_Save_Title:à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯ à®à®Ÿà®ªà¯à®ªà®Ÿà®±à¯à®±à®µà¯à®®à¯  
+GEMS.Confirm_DeleteElement:{0}à®à®°à¯à®ªà¯à®ªà¯ à®à®à¯à®à®¯à®®à®Ÿà® à®šà¯à®à¯à® à®µà¯à®£à¯à®à¯à®®à®Ÿ?  
+GEMS.Confirm_DeleteElement_Title:à®à®°à¯à®ªà¯à®ªà¯  à®šà¯à®à¯à®à®µà¯à®®à¯  
+GEMS.File_Deletion_Error_Message:à®à®šà¯à®€ à®à¯à®ªà¯à®ªà¯ à®šà¯à®à¯à® à®®à¯à®à®¿à®¯à®Ÿà®€à¯  
+GEMS.File_Deletion_Error:à®à¯à®ªà¯à®ªà¯ à®šà¯à®à¯à®à®²à®¿à®²à¯ à®€à®µà®±à¯  
+GEMS.Namespace_Conflict_Message:à®à®à¯à®à®°à®¿à®à¯à®à¯: à®à®šà¯à®€ à®ªà¯à®¯à®°à¯à®ªà®°à®ªà¯à®ªà¯ à®µà¯à®°à¯à®°à¯ à®®à¯à®€à®°à®µà¯ à®à®£à®€à¯à®€à®¿à®²à¯ à®à®ªà®¯à¯à®à®¿à®€à¯à®€à®¿à®°à¯à®à¯à®à®¿à®°à®€à¯. à®®à¯à®©à¯à®à¯à®²à¯à®²à®µà®Ÿ?  
+GEMS.Namespace_Conflict:à®ªà¯à®¯à®°à¯à®ªà®°à®ªà¯à®ªà¯ à®®à¯à®°à®£à¯à®ªà®Ÿà®à¯  
+GEMS.Move_Up:à®®à¯à®²à¯ à®à¯à®²à¯à®²à®µà¯à®®à¯  
+GEMS.Move_Down:à®à¯à®Žà¯ à®à¯à®²à¯à®²à®µà¯à®®à¯  
+GEMS.Cannot_Undo:(à®à®šà¯à®€ à®à¯à®¯à®¯à®²à¯ à®€à®¿à®°à¯à®ªà¯à®ª à®®à¯à®à®¿à®¯à®Ÿà®€à¯)  
+
+GEMS.AttributeTable.Name:à®ªà¯à®¯à®°à¯  
+GEMS.AttributeTable.Language:à®®à¯à®Žà®¿  
+GEMS.AttributeTable.Value:à®®à®€à®¿à®ªà¯à®ªà¯  
+GEMS.NewMetadataElementNamePrompt.Title:à®ªà¯à®€à®¿à®¯ à®à®°à¯à®°à¯à®ªà¯à®ªà¯  
+GEMS.NewMetadataElementNamePrompt.Name:à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®ªà¯à®€à®¿à®¯ à®à®°à¯à®ªà¯à®ªà¯à®à¯à®à¯ à®à®°à¯ à®ªà¯à®¯à®°à¯ à®à®à¯à®ªà¯à®à¯à®€à¯à®€à®µà¯à®®à¯  
+GEMS.NewMetadataElementNamePrompt.SubTitle:à®ªà¯à®€à®¿à®¯ à®€à¯à®£à¯ à®à®°à¯à®°à¯à®ªà¯à®ªà¯  
+GEMS.NewMetadataElementNamePrompt.SubName:à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®ªà¯à®€à®¿à®¯ à®€à¯à®£à¯ à®à®°à¯à®°à¯à®ªà¯à®ªà¯à®à¯à®à¯ à®à®°à¯ à®ªà¯à®¯à®°à¯ à®à®à¯à®ªà¯à®à¯à®€à¯à®€à®µà¯à®®à¯  
+GEMS.NewMetadataElementNamePrompt.Name_Error_Message:à®à®šà¯à®€ à®ªà¯à®¯à®°à¯à®à¯à®£à¯à® à®à®°à¯ à®à®°à¯à®°à¯à®ªà¯à®ªà¯ à®à®°à¯à®à¯à®à®©à®µà¯ à®à®°à¯à®à¯à®à®¿à®°à®€à¯.  
+GEMS.NewMetadataElementNamePrompt.Name_Error:à®à®°à¯à®ªà¯à®ªà¯à®à¯à®à¯ à®ªà¯à®¯à®°à¯ à®€à®µà®±à¯  
+GEMS.NewMetadataElementNamePrompt.EmptyName_Error_Message:à®à®°à¯ à®ªà¯à®€à®¿à®¯ à®à®°à¯à®ªà¯à®ªà¯à®à¯à®à¯ à®à®°à¯ à®ªà¯à®¯à®°à¯ à®
+à®µà®à®¿à®¯à®®à¯.  
+
+
+GEMS.No_Set_Loaded:à®®à¯à®€à®°à®µà¯ à®à®£à®®à¯ à®à®€à¯à®µà¯à®®à¯ à®ªà®€à®¿à®µà¯à®à¯à®à®µà®¿à®²à¯à®²à¯. à®€à®¯à®µà¯à®à¯à®¯à¯à®€à¯ à®à¯à®ªà¯à®ªà¯->à®ªà¯à®€à®¿à®¯ à®à®ªà®¯à¯à®à®¿à®€à¯à®€à¯ à®à®°à¯ à®ªà¯à®€à®¿à®¯ à®à®£à®®à¯ à®à®£à¯à®à®Ÿà®à¯à®à®µà¯à®®à¯, à®
+à®²à¯à®²à®€à¯ à®à¯à®ªà¯à®ªà¯->à®€à®¿à®± à®à®ªà®¯à¯à®à®¿à®€à¯à®€à¯ à®à®°à¯à®à¯à®à®©à®µà¯ à®à®°à¯à®à¯à®à¯à®®à¯ à®à®£à®€à¯à®€à¯ à®€à®¿à®±à®à¯à®à®µà¯à®®à¯.  
Index: main/tags/2.83/gli/classes/dictionary_th.properties
===================================================================
--- main/tags/2.83/gli/classes/dictionary_th.properties	(revision 21123)
+++ main/tags/2.83/gli/classes/dictionary_th.properties	(revision 21123)
@@ -0,0 +1,1094 @@
+#*******************
+#** Language Orientation Property
+Component.Orientation:LTR  
+
+#*******************
+#
+#***** AboutDialog *****
+AboutDialog.Acknowledgement:àžàž²àž£àž¢àž­àž¡àž£àž±àžà¹àžàž£à¹àžàž£àž¡ à¹àžàžà¹àžàž àž«àž£àž·àž­àžàž¥àž²àžªà¹àž­àžàžªàžŽàžàžàžŽà¹à¹àžàžàž²àž°âŠ  
+AboutDialog.Date:(à¹àžàž·àž­àžàžàž€àž©àž àž²àžàž¡ 2550)  
+AboutDialog.Item0:Xerces Java 1' àžàž²àžàž¡àž¹àž¥àžàžŽàžàžŽàžàž­àžàžà¹à¹àž§àž£à¹àž­àž²àžàž²à¹àžà¹ (The Apache Software Foundation) (http://www.apache.org/)  
+AboutDialog.Item2:WGet' àžàž²àžàž¡àž¹àž¥àžàžŽàžàžŽàžàž­àžàžà¹à¹àž§àž£à¹à¹àžªàž£àžµ (Free Software Foundation) (http://www.gnu.org/software/wget/wget.html)  
+AboutDialog.Item3:qflib' àžàž²àž Quality First Software GmbH (http://www.qfs.de/en/qflib/index.html)  
+AboutDialog.Item4:ExtensionFileFilter.class' à¹àžàž¢ Bruno Dumon à¹àž¥àž°àžàž¹à¹àž£à¹àž§àž¡àžàž²àžàž­àž·à¹àžà¹ (http://pollo.sourceforge.net/)  
+AboutDialog.Item5:àž§àžŽàžàžµàžàžŽàžà¹àžà¹àžàž²àžàžàž²àž£à¹àžàž¥àžµà¹àž¢àžàžàž·à¹àž­à¹àžà¹àž¡à¹àžàžàž±àž§à¹àž¥àž·àž­àžà¹àžà¹àž¡' - vladi21 (http://www.experts-exchange.com/)  
+AboutDialog.Item6:àžàž²àž£à¹àž¥àž·à¹àž­àžàž­àž±àžà¹àžàž¡àž±àžàžŽ' - Java Swing à¹àžàž¢ Robert Eckstein, Marc Loy à¹àž¥àž° Dave Wood (http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf)  
+AboutDialog.Item7:à¹àžàžŽà¹àž¡àž£àž¹àžàžàžµà¹àž¥àž²àžà¹àžà¹àžà¹àžàž²àž¥àžà¹àž Jtrees àžàž­àžàžàžžàž' - à¹àžàž¢ Andrew J. Armstrong (http://www.javaworld.com/javaworld/javatips/jw-javatip114.html)  
+AboutDialog.Item8:àž«àž¢àžžàžàžàž²àž£àžàž£àž°àžàž³àžàžµà¹àžàž°àžà¹àž­à¹àž«à¹à¹àžàžŽàžàžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àžàžµà¹àž¢àž§àžàž±àž java.prefs à¹àž¡àž·à¹àž­àžàžžàžà¹àž¡à¹àž¡àžµàžªàžŽàžàžàžŽàžàž²àž£à¹àžà¹àž²àžàž¶àžà¹àžàžàžàž¹à¹à¹àžà¹àžàžŽà¹àžšàž©' - àžàž­àžàž­àžàžàžžàž Walter Schatz  
+AboutDialog.Item9:à¹àž­àžàž­àž 'à¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹' 'àž¥àž' à¹àž¥àž° 'àž§àžŽàžàžµà¹àžà¹' àžàž²àžàžàžžàžà¹àž­àžàž­àž Dropline Neu! à¹àžàž¢ Silvestre Herrera àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹àžàž²àž http://art.gnome.org/  
+AboutDialog.Java_Req:àžàž²àž§àž²à¹àžà¹àžà¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàž²àž£àžà¹àž²àžàž­àžàžàž£àžŽàž©àž±àžàžàž±àžà¹àž¡à¹àžàž£àžàžŽàžªà¹àžà¹àž¡àžªà¹  JRE à¹àžà¹àž£àž±àžàžàž²àž£à¹àžàžàžà¹àž²àž¢àž­àžµàžàžàž£àž±à¹àžàžàž²àž¡àžà¹àž­àžàžàž¥àžà¹àžàž­àžàžžàžàž²àžà¹àžàžŽà¹àž¡à¹àžàžŽàž¡ àžàž¶à¹àžàžªàž²àž¡àž²àž£àžàžàž¹à¹àžà¹àžàžµà¹ http://java.sun.com/j2se/1.4.1/j2re-1_4_1_02-license.html  
+AboutDialog.Java_Req_One:àžàž¥àžŽàžàž àž±àžàžà¹àžàžµà¹àž£àž§àž¡àžàž¶àžà¹àžà¹àžàžàžµà¹à¹àžà¹àž£àž±àžàž­àžàžžàžàž²àžàžàž²àžàžàž£àžŽàž©àž±àž àž­àž²àž£à¹à¹àž­àžªà¹àž­ àžàžµà¹àžàžµàž¢àž§àž£àžŽàžàžµà¹  
+AboutDialog.Java_Req_Two:à¹àžà¹àžàžàž²àžàžªà¹àž§àžàžàžµà¹à¹àžà¹àž£àž±àžàž­àžàžžàžàž²àžàžàž²àžà¹àž­àžàžµà¹àž­à¹àž¡àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹àžàžµà¹ http\://oss.software.ibm.com/icu4j/  
+AboutDialog.Thanks:àžàž­àžàžàž²àžàžàžµà¹ àžà¹àž­àžàžàž­àžàž­àžàžàžžàžàžàžžàžà¹ àžàžàžàžµà¹à¹àžà¹à¹àžàžªàžà¹àž­àž¡àž¹àž¥à¹àžàžµà¹àž¢àž§àžàž±àžàžàž²àž§àž²àžàžµà¹àž¡àžµàžàž£àž°à¹àž¢àžàžà¹à¹àž§à¹àžàžà¹àž§à¹àžâŠ  
+AboutDialog.Title:à¹àžàžµà¹àž¢àž§àžàž±àžâŠ  
+AboutDialog.Title_One:àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž  
+AboutDialog.Title_Two:àž«à¹àž­àžàžªàž¡àžžàžàžàžŽàžàžŽàžàž±àž¥àžàž£àžµàžàžªà¹àžàž àž¡àž«àž²àž§àžŽàžàž¢àž²àž¥àž±àž¢à¹àž§àžàž²à¹àž  
+AboutDialog.Copyright:àžªàžàž§àžàž¥àžŽàžàžªàžŽàžàžàžŽà¹ (C) 2546 à¹àžàž£àžàžàž²àž£àž«à¹àž­àžàžªàž¡àžžàžàžàžŽàžàžŽàžàž±àž¥àžàž£àž°à¹àžàžšàžàžŽàž§àžàžµà¹àž¥àžàžà¹  
+AboutDialog.Copyright_Two:à¹àžàž¢à¹àžàž£à¹àž àž²àž¢à¹àžà¹ GPL  àžàž¹àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžà¹àžà¹àžàžµà¹à¹àžà¹àž¡ LICENSE.txt  
+#***********************
+#
+#***** Audit Table *****
+AuditTable.File:àžàž·à¹àž­à¹àžà¹àž¡  
+#***********************
+#
+#***** Auto Filter *****
+Autofilter.AND:à¹àž¥àž°  
+Autofilter.Ascending:à¹àž£àžµàž¢àžàžàž²àžàžà¹àž­àž¢à¹àžàž¡àž²àž  
+Autofilter.Case_Sensitive:àžàž£àžàžàž²àž¡àžàž±àž§àžàžŽàž¡àžà¹à¹àž«àžà¹-à¹àž¥à¹àž  
+Autofilter.Custom_Filter:àž­àž¢à¹àž²àžàž¥àž°à¹àž­àžµàž¢àž  
+Autofilter.Descending:à¹àž£àžµàž¢àžàžàž²àžàž¡àž²àžà¹àžàžà¹àž­àž¢  
+Autofilter.Filter_By_Value:àž­àž¢à¹àž²àžàžà¹àž²àž¢  
+Autofilter.Name:àžàž·à¹àž­àžàž­àž¥àž±àž¡àžà¹  
+Autofilter.None:à¹àž¡à¹àž¡àžµ  
+Autofilter.Operator:à¹àžàž·à¹àž­àžà¹àž  
+Autofilter.OR:àž«àž£àž·àž­  
+Autofilter.Order:àžàž²àž£à¹àž£àžµàž¢àžàž¥àž³àžàž±àž  
+Autofilter.Order_Tooltip:à¹àž£àžµàž¢àžàž¥àž³àžàž±àžàž£àž²àž¢àžàž²àž£àžàžµà¹àžàž£àžàžàž±àžàžàž²àž¡àž¥àž³àžàž±àžàžàžµà¹  
+Autofilter.Remove:à¹àž­àž²àžàž±àž§àžàž£àž­àžàž­àž­àž  
+Autofilter.Remove_Tooltip:à¹àž­àž²àžàž±àž§àžàž£àž­àžàžàžµà¹àž­àž­àžàžàž²àžàžàž­àž¥àž±àž¡àžà¹àžàž²àž£àž²àž  
+Autofilter.Set:àžàž±à¹àžàžà¹àž²àžàž±àž§àžàž£àž­àž  
+Autofilter.Set_Tooltip:à¹àžàžŽà¹àž¡àžàž±àž§àžàž£àž­àžàžàžµà¹àž¥àžà¹àžàžàž­àž¥àž±àž¡àžà¹àžàž²àž£àž²àž  
+Autofilter.Table_Header_Tooltip:àžàž£àž­àžàžà¹àž§àž¢àžà¹àž² {0}  
+Autofilter.Title:àžàž±àž§àžàž£àž­àžà¹àž¡àžàž²àžàž²àžàž²àž­àž±àžà¹àžàž¡àž±àžàžŽ  
+Autofilter.eqeq:à¹àžà¹àž²àžàž±àž  
+Autofilter.!eq:à¹àž¡à¹à¹àžà¹àž²àžàž±àž  
+Autofilter.<:àžà¹àž­àž¢àžàž§à¹àž²  
+Autofilter.<eq:àžà¹àž­àž¢àžàž§à¹àž²àž«àž£àž·àž­à¹àžà¹àž²àžàž±àž  
+Autofilter.>:àž¡àž²àžàžàž§à¹àž²  
+Autofilter.>eq:àž¡àž²àžàžàž§à¹àž²àž«àž£àž·àž­à¹àžà¹àž²àžàž±àž  
+Autofilter.^:à¹àž£àžŽà¹àž¡àžà¹àžàžà¹àž§àž¢  
+Autofilter.!^:à¹àž¡à¹à¹àž£àžŽà¹àž¡àžà¹àžàžà¹àž§àž¢  
+Autofilter.$:àž¥àžàžà¹àž²àž¢àžà¹àž§àž¢  
+Autofilter.!$:à¹àž¡à¹àž¥àžàžà¹àž²àž¢àžà¹àž§àž¢  
+Autofilter.?:àž¡àžµ  
+Autofilter.!?:à¹àž¡à¹àž¡àžµ  
+#
+#     ********************************************************
+#     *************** Collection Design Module ***************
+#     ********************************************************
+#     * The dictionary  phrases  used in the creation of the *
+#     * Colection  Design  Module. Note that we  still  have *
+#     * access  to the format  arguments (argument  32+) for *
+#     * html formatting.                                     *
+#     ********************************************************
+CDM.ArgumentConfiguration.Bad_Integer:<html>àžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹ '{0}' àžà¹àž­àžàžàž²àž£àžà¹àž²à¹àž¥àžàžàž³àžàž§àžà¹àžà¹àž¡ <br>à¹àžà¹à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž±àžàžà¹àž²à¹àž¥àžàžàž³àžàž§àžà¹àžà¹àž¡àž­àž­àžàž¡àž²à¹àžà¹ {1}</html>  
+CDM.ArgumentConfiguration.Error_Title:àžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àžàž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹  
+CDM.ArgumentConfiguration.Header:<HTML><STRONG><FONT FACE={FONT} COLOR=Black SIZE=5><CENTER>àžàž£àžžàžàž²àžàž³àž«àžàžàžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžªàž³àž«àž£àž±àž {0}</CENTER></FONT></STRONG></HTML>  
+CDM.ArgumentConfiguration.No_Value:àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹ '{0}' àžà¹àž­àžàžàž²àž£àžà¹àž²àž«àžàž¶à¹àžàžà¹àž² à¹àžà¹à¹àž¡à¹àž¡àžµàžàž²àž£àž£àž°àžàžžàžà¹àž²à¹àžà¹àž§à¹  
+CDM.ArgumentConfiguration.Required_Argument:àžàžžàžàžàž°àžà¹àž­àžà¹àžªà¹àžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹ '{0}' àž«àžàž¶à¹àžàžà¹àž²  
+CDM.ArgumentConfiguration.Title:àžàž²àž£àžàž³àž«àžàžàžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹  
+CDM.BuildTypeManager.Title:à¹àž¥àž·àž­àžàžàž±àžàžàž±àž§àžàž³àžàž±àžàžàžµ  
+CDM.BuildTypeManager.mg:MG  
+CDM.BuildTypeManager.mg_Description:àžàžµà¹àžàž·àž­àžàž±àž§àžàž³àžàž±àžàžàžµàžàž±à¹àžà¹àžàžŽàž¡àžàžµà¹à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžà¹ àžàž¶à¹àžà¹àžà¹àž£àž±àžàžàž²àž£àžàž±àžàžàž²à¹àžàž¢ Alistair Moffat à¹àž¥àž°àž¡àžµàžàž²àž£àž­àžàžŽàžàž²àž¢àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžà¹àž§à¹à¹àžàž«àžàž±àžàžªàž·àž­àž¢àž­àžàžàžŽàž¢àž¡àžàž·à¹àž­ Managing Gigabytes àžàž±àž§àžàž±àžàžàž³àžàž±àžàžàžµàžàžµà¹àžàž°àžàž±àžàžàž³àžàž±àžàžàžµàž£àž°àžàž±àžàžªà¹àž§àž à¹àž¥àž°àžàž²àž£àžà¹àžàž«àž²àžªàž²àž¡àž²àž£àžà¹àžà¹àžà¹àžà¹àžàž±à¹àžà¹àžàžàžàž£àž£àžàž°àž«àž£àž·àž­à¹àžàžàžàž±àžàž¥àž³àžàž±àž (à¹àžà¹à¹àž¡à¹à¹àžà¹àžàž±à¹àžàžàž¹à¹àžàž£à¹àž­àž¡àžàž±àž) àž£àž°àžàžàžàž°àžàž³àžàž²àž£àžªàž£à¹àž²àžàžàž±àžàžàžµàžàž²àžàžàž²àž¢àž àž²àžàžàžµà¹à¹àž¢àžàžà¹àž²àžàž«àž²àžà¹àž«à¹àžàž±àžàžàž±àžàžàžµà¹àžà¹àž¥àž°àžàž±àž§àžàžµà¹àž£àž°àžàžžà¹àž§à¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àž àžªàž³àž«àž£àž±àžàžàž²àž£àžà¹àžàž«àž²àžà¹àž§àž¢àž§àž¥àžµ à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàž°àžàž³à¹àžàžŽàžàžàž²àž£àžà¹àžàž«àž²à¹àžàž¢à¹àžà¹ "à¹àž¥àž°" àžàž±àžàžàž³àžà¹àžàžàž±à¹àžàž«àž¡àž àžàž²àžàžàž±à¹àžàžªà¹àžàžàžàž¥àž¥àž±àžàžà¹àžàžµà¹à¹àžà¹à¹àžàž·à¹àž­àžàž¹àž§à¹àž²àž¡àžµàž§àž¥àžµàžàž±à¹àžàžàž£àž²àžàžàž­àž¢àž¹à¹àž«àž£àž·àž­à¹àž¡à¹ àžàž²àž£àžà¹àžàž«àž²àžà¹àž§àž¢àž§àž¥àžµàžàžµà¹à¹àžà¹àžàž¹àžàžàžàžªàž­àžàžàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžàž²àžà¹àž«àžà¹àž¡àž²à¹àž¥à¹àž§ (àžà¹àž­àžàž§àž²àž¡àžàž³àžàž§àžàž«àž¥àž²àž¢àžàžŽàžàž°à¹àžàžà¹)  
+CDM.BuildTypeManager.mgpp:MGPP  
+CDM.BuildTypeManager.mgpp_Description:MG àž£àžžà¹àžà¹àž«àž¡à¹àžàžµà¹ (MG àžàž¥àž±àžª àžàž¥àž±àžª) à¹àžà¹àž£àž±àžàžàž²àž£àžàž±àžàžàž²àžàž¶à¹àžà¹àžàž¢à¹àžàž£àžàžàž²àž£àž«à¹àž­àžàžªàž¡àžžàžàžàžŽàžàžŽàžàž±àž¥àžàž£àž°à¹àžàžšàžàžŽàž§àžàžµà¹àž¥àžàžà¹ MG àžàž°àžàž³à¹àžàžŽàžàžàž²àž£àžàž±àžàžàž³àžàž±àžàžàžµà¹àžàž£àž°àžàž±àžàžàž³àžàžµà¹àž¢àž­àž¡à¹àž«à¹àžàž±àž§àžàž±àžàžàž³àžàž±àžàžàžµà¹àžà¹àžàžàž¥à¹àžà¹àžàžàž²àž£àžàž±àžàžàž²àž£àžàž²àž£àžà¹àžàž«àž²àžà¹àž§àž¢à¹àžàžàžà¹àž­àž¡àž¹àž¥ àž§àž¥àžµ à¹àž¥àž°àžà¹àž²à¹àžàž¥à¹à¹àžàžµàž¢àž à¹àžàž¢ MG àžªàž²àž¡àž²àž£àžàžàž±àžàž¥àž³àžàž±àžàžàž²àž£àžà¹àžàž«àž²à¹àžàžàžàž£àž£àžàž°à¹àžà¹  àžàž°àž¡àžµà¹àžàžµàž¢àžàžàž±àžàžàžµà¹àžàžµàž¢àž§à¹àžà¹àž²àžàž±à¹àžàžàžµà¹àžàž¹àžàžªàž£à¹àž²àžàžàž¶à¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàž£àžµàžàžªà¹àžàž à¹àžàž¢àž£àž°àžàž±àžà¹àž­àžàžªàž²àž£/àžªà¹àž§àž à¹àž¥àž°àžà¹àž­àžàž§àž²àž¡/à¹àžàžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžàž«àž¡àžàžàž°àžàž¹àžàžàž±àžàžàž²àž£à¹àžàž¢àžàž±àžàžàžµà¹àžàžµàž¢àžàž«àžàž¶à¹àžàžàž±àž§ àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž¡àžµàžàž±àžàžàžµàž«àž¥àž²àž¢àžàž±àž§ àžàž°àžªà¹àžàžàž¥à¹àž«à¹à¹àžà¹àžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž¡àžµàžàžàž²àžà¹àž¥à¹àžàžàž§à¹àž²àžàž²àž£à¹àžà¹ MG àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžàž²àžà¹àž«àžà¹ à¹àž§àž¥àž²àžàžµà¹à¹àžà¹à¹àžàžàž²àž£àžà¹àžàž«àž²àž­àž²àžàžà¹àž²àžàž§à¹àž²à¹àž¥à¹àžàžà¹àž­àž¢ à¹àžàž·à¹àž­àžàžàž²àžàžàž±àžàžàžµàžàž°à¹àžà¹àžà¹àžàžàž£àž°àžàž±àžàžàž³à¹àžàžàž£àž°àžàž±àžàžªà¹àž§àž  
+CDM.BuildTypeManager.lucene:àž¥àž¹àžàžµàž  
+CDM.BuildTypeManager.lucene_Description:àž¥àž¹àžàžµàžà¹àžà¹àž£àž±àžàžàž²àž£àžàž±àžàžàž²à¹àžàž¢àž¡àž¹àž¥àžàžŽàžàžŽàž­àž²àžàž²à¹àžà¹àžàž­àžàžà¹à¹àž§àž£à¹  àžàž±àž§àžàž±àžàžàž³àžàž±àžàžàžµàžàžµà¹àžàž°àžàž±àžàžàž²àž£àžàž²àž£àžà¹àžàž«àž²à¹àžàžàžàž³àž«àžàžàžàž³àžàžµà¹àž­àž¢àž¹à¹à¹àžàž¥à¹à¹àžàžµàž¢àžàžàž±àžà¹àž¥àž°àžàž²àž£àžà¹àžàž«àž²à¹àžàžàž£àž°àžàžžà¹àžàžàžà¹àž­àž¡àž¹àž¥à¹àžàž£àž°àžàž±àžà¹àžàžµàž¢àž§à¹àžà¹àž²àžàž±à¹àž (à¹àžà¹àž à¹àž­àžàžªàž²àž£àžàžàž±àžà¹àžà¹àž¡àž«àž£àž·àž­àžªà¹àž§àžàžàž­àžà¹àž­àžàžªàž²àž£ à¹àžà¹àžàž°à¹àž¡à¹à¹àžà¹àžàž£à¹àž­àž¡àžàž±àžàžàž±à¹àžàžàž¹à¹) àžàž±àžàžàž±à¹àž àžàž±àžàžàžµàžàž­àžà¹àž­àžàžªàž²àž£à¹àž¥àž°àžàž±àžàžàžµàžàž­àžàžªà¹àž§àžàžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž°àžà¹àž­àžà¹àžà¹àžàž±àžàžàžµàžàžµà¹à¹àž¢àžàžàž±àžàžªàž­àžàžàž±àž§ àž¥àž¹àžàžµàžàžàž°àžàž³àž«àžàžàžà¹àž§àžàžàžµà¹àžàž¥à¹àž²àž¢àžàž±àžàžàž­àžàžàž±àžàžà¹àžàž±àžàžà¹àžàž«àž²à¹àž«à¹àžàž±àž MGPP àžàž£à¹àž­àž¡àžà¹àž§àž¢àžàž²àž£à¹àžàžŽà¹àž¡àž­àž±àžàžàž£àž°àžàž±àž§à¹àžàžà¹àžàžµà¹àž¢àž§ àžàž²àž£àžà¹àžàž«àž²àžà¹àž§àž à¹àž¥àž°àžàž²àž£à¹àž£àžµàž¢àžàž¥àž³àžàž±àžàžàž¥àž¥àž±àžàžà¹àžàž²àž£àžà¹àžàž«àž²àžà¹àž§àž¢à¹àžàžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž² àžàž¶à¹àžàžàž°àžàž¹àžà¹àžàžŽà¹àž¡àž¥àžà¹àžà¹àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžàž·à¹àž­àž­àž³àžàž§àž¢àžàž§àž²àž¡àžªàž°àžàž§àžà¹àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàžŽà¹àž¡à¹àžàžŽàž¡ àžàž¶à¹àž MG à¹àž¥àž° MGPP à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž³à¹àžà¹  
+CDM.BuildTypeManager.Current_Type:àžàž±àž§àžàž±àžàžàž³àžàž±àžàžàžµàžàžµà¹à¹àžà¹àžàž²àžàž­àž¢àž¹à¹: {0}  
+CDM.BuildTypeManager.Change:à¹àžàž¥àžµà¹àž¢àžâŠ  
+CDM.BuildTypeManager.Change_Tooltip:à¹àžàž¥àžµà¹àž¢àžàžàž±àž§àžàž±àžàžàž³àžàž±àžàžàžµàžàžµà¹àžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àžà¹  
+CDM.ClassifierManager.Add:à¹àžàžŽà¹àž¡àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž...  
+CDM.ClassifierManager.Add_Tooltip:à¹àžà¹àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàžµà¹àž£àž°àžàžžàžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹  
+CDM.ClassifierManager.Assigned:àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàžµà¹àžàž³àž«àžàž  
+CDM.ClassifierManager.Classifier:à¹àž¥àž·àž­àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡:  
+CDM.ClassifierManager.Classifier_Str:àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž  
+CDM.ClassifierManager.Classifier_List_XML_Parse_Failed:à¹àž¡à¹à¹àžà¹àž£àž±àžàž£àž²àž¢àžàž²àž£àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàžµà¹à¹àžà¹ classinfo.pl -listall  
+CDM.ClassifierManager.Classifier_XML_Parse_Failed:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž³àž«àžàžàž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžªàž³àž«àž£àž±àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž {0}\n à¹àžà¹  àžàž£àžžàžàž²àžàž£àž§àžàžªàž­àžà¹àž«à¹à¹àžà¹à¹àžàž§à¹àž² àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžà¹àžàžàž³àžàž²àž¡\nàžªà¹àžàžà¹àž²àžªàžàž²àžàž° -xml à¹àžàž¢àžàž²àž£à¹àž£àžµàž¢àžà¹àžà¹àžªàžàž£àžŽàžàžà¹ classinfo.pl\nàžàžµà¹àžàž¥à¹àž²àž¢àžàž±àžàžàž³àž­àžàžŽàžàž²àž¢àžàž­àžàžªàžàž£àžŽàžàžà¹ pluginfo.pl à¹àž\nàžªà¹àž§àžàžàžµà¹ 2.1 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž  
+CDM.ClassifierManager.Configure:àžàž³àž«àžàžàžà¹àž²àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžâŠ  
+CDM.ClassifierManager.Configure_Tooltip:à¹àžàž¥àžµà¹àž¢àžàžàž±àž§à¹àž¥àž·àž­àžàžàž­àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàžµà¹à¹àž¥àž·àž­àž  
+CDM.ClassifierManager.Remove:à¹àž­àž²àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàž­àž­àž  
+CDM.ClassifierManager.Remove_Tooltip:à¹àž­àž²àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àž­àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£  
+CDM.FormatManager.Add:à¹àžàžŽà¹àž¡àž£àž¹àžà¹àžàž  
+CDM.FormatManager.Add_Tooltip:à¹àžàžŽà¹àž¡àžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàžàžàžµà¹àž£àž°àžàžž  
+CDM.FormatManager.AllFeatures:àžàžžàžàž¥àž±àžàž©àžàž°àžàž±à¹àžàž«àž¡àž  
+CDM.FormatManager.AllParts:àžàž­àž¡à¹àžà¹àžàžàžà¹àžàž±à¹àžàž«àž¡àž  
+CDM.FormatManager.Default:Reset to Default
+CDM.FormatManager.Default_Tooltip:Reset the selected format command to its default value 
+CDM.FormatManager.Editor:àžªàžàž£àžŽàžàž£àž¹àžà¹àžàž HTML  
+CDM.FormatManager.Editor_Tooltip:à¹àžªà¹àž«àž£àž·àž­à¹àžà¹à¹àžàžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàž  
+CDM.FormatManager.Editor_Disabled_Tooltip:àžàž¥àžŽàž 'à¹àžàžŽà¹àž¡àž£àž¹àžà¹àžàž' à¹àžàž·à¹àž­à¹àžàžŽà¹àž¡àžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàžàžàžµà¹àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž  
+CDM.FormatManager.Enabled:à¹àžàžŽàžà¹àžà¹àžàž²àžà¹àž¥à¹àž§  
+CDM.FormatManager.Feature:à¹àž¥àž·àž­àžàžàžžàžàž¥àž±àžàž©àžàž°  
+CDM.FormatManager.Feature_Tooltip:àžàžžàžàž¥àž±àžàž©àžàž°àžàžµà¹àžà¹àž­àžàžàž²àž£àžàž±àžàž£àž¹àžà¹àžàž  
+CDM.FormatManager.Insert:à¹àžàž£àž  
+CDM.FormatManager.Insert_Tooltip:à¹àžàž£àžàžàž±àž§à¹àžàž£àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àž¥àžà¹àžàžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàž  
+CDM.FormatManager.Default:àžàž±à¹àžàžà¹àž²à¹àž«àž¡à¹à¹àžà¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž  
+CDM.FormatManager.Default_Tooltip:àžàž±à¹àžàžà¹àž²àžàž±àž§à¹àžàž£àžàžµà¹à¹àžà¹à¹àž¥àž·àž­àžà¹àž§à¹àžàž¥àž±àžà¹àžà¹àžà¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž  
+CDM.FormatManager.Insert_Variable:à¹àžàž£àžàžàž±àž§à¹àžàž£âŠ  
+CDM.FormatManager.Part:àžàž­àž¡à¹àžà¹àžàžàžà¹àžàžµà¹à¹àžà¹àž£àž±àžàžàž¥àžàž£àž°àžàž  
+CDM.FormatManager.Part_Tooltip:àž¥àž±àžàž©àžàž°àžàž­àžàžàžžàžàž¥àž±àžàž©àžàž°àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹à¹àžàž·à¹àž­àžàž±àžàž£àž¹àžà¹àžàž  
+CDM.FormatManager.Remove:à¹àž­àž²àž£àž¹àžà¹àžàžàž­àž­àž  
+CDM.FormatManager.Remove_Tooltip:à¹àž­àž²àžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàžàžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àž­àž­àž  
+CDM.FormatManager.Variable_Tooltip:à¹àžàž£àžàžàž±àž§à¹àžàž£àžàžµà¹àžàž³àž«àžàžà¹àž§à¹àž¥à¹àž§àžàž«àžà¹àž²àž«àžàž¶à¹àžàžàž±àž§àž¥àžà¹àžàžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàžàžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹  
+CDM.FormatManager.MessageBox:àžàž²àž£àžàž£àž§àžàžªàž­àžàžàž§àž²àž¡àžàž¹àžàžà¹àž­àžàžàž­àž XML  
+CDM.FormatManager.MessageBox_Tooltip:àžà¹àž­àžàž§àž²àž¡àžàž£àž§àžàžªàž­àžàžàž§àž²àž¡àžàž¹àžàžà¹àž­àžà¹àž¡à¹à¹àžàž XML  
+CDM.General.Access:àžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžàž§àž£à¹àžàžŽàžà¹àž«à¹àžàžžàžàžàž¥àžàž±à¹àž§à¹àžàžªàž²àž¡àž²àž£àžà¹àžà¹àž²àžàž¶àžà¹àžà¹  
+CDM.General.Browser_Title:à¹àž¥àž·àž­àžàž«àžàž¶à¹àžàž àž²àž  
+CDM.General.Collection_Extra:àžàž³àž­àžàžŽàžàž²àž¢àžàž­àž¥à¹àž¥àžàžàž±àž:  
+CDM.General.Collection_Extra_Tooltip:àžàž³àž­àžàžŽàžàž²àž¢àž§àž±àžàžàžžàžàž£àž°àžªàžàžà¹à¹àž¥àž°à¹àžàž·à¹àž­àž«àž²àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+CDM.General.Collection_Name:àžàž·à¹àž­àžàž­àž¥à¹àž¥àžàžàž±àž:  
+CDM.General.Collection_Name_Tooltip:àžàž·à¹àž­àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+CDM.General.Email.Creator:àž­àžµà¹àž¡àž¥àžàž­àžàžàž¹à¹àžªàž£à¹àž²àž  
+CDM.General.Email.Creator_Tooltip:àžàžµà¹àž­àž¢àž¹à¹àž­àžµà¹àž¡àž¥àžàž­àžàžàž¹à¹àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+CDM.General.Email.Maintainer:àž­àžµà¹àž¡àž¥àžàž­àžàžàž¹à¹àžàž¹à¹àž¥àž£àž°àžàž  
+CDM.General.Email.Maintainer_Tooltip:àžàžµà¹àž­àž¢àž¹à¹àž­àžµà¹àž¡àž¥àžàž­àžàžàž¹à¹àžàž¹à¹àž¥àž£àž±àžàž©àž²àžàž­àž¥à¹àž¥àžàžàž±àž  
+CDM.General.Icon_Collection:URL à¹àžàž·à¹àž­à¹àžàž¢àž±àžàž àž²àž 'àž«àžà¹àž²à¹àžàžµà¹àž¢àž§àžàž±àž':  
+CDM.General.Icon_Collection_Tooltip:URL àžàž­àžàž àž²àžàžàžµà¹àžàž°à¹àžªàžàžàžàžàž«àžà¹àž²à¹àžàžµà¹àž¢àž§àžàž±àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+CDM.General.Icon_Collection_Small:URL à¹àžàž·à¹àž­à¹àžàž¢àž±àžàž àž²àž 'àž«àžà¹àž²à¹àž£àž':  
+CDM.General.Icon_Collection_Small_Tooltip:URL àžàž­àžàž àž²àžàžàžµà¹àžàž°à¹àžªàžàžàžàžàž«àžà¹àž²à¹àž£àžàžàž­àžàž«à¹àž­àžàžªàž¡àžžàžàžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹  
+CDM.General.Image_Copy_Failed:àž¡àžµàžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àžàžŽàžàžàž¶à¹àž àžàž¶à¹àžàžàž³à¹àž«à¹àžàžžàžà¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž³àžªàž³à¹àžàž²àž àž²àžàžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹à¹àžà¹\nàžàž£àžžàžàž²àž¥àž­àžàžàž³àžªàž³à¹àžàž²àž àž²àžàžà¹àž§àž¢àžàžà¹àž­àž:\n{0}\n à¹àžàž¢àž±àžà¹àžàž¥à¹àžàž­àž£à¹àž àž²àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž:\n{1}  
+CDM.General.Image_Filter:àž£àž¹àžàž àž²àž (gifs, jpgs à¹àž¥àž° pngs)  
+CDM.GUI.Classifiers:àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàž²àž£à¹àž£àžµàž¢àžàžàž¹  
+CDM.GUI.Formats:àžàžžàžàž¥àž±àžàž©àžàž°àž£àž¹àžà¹àžàž  
+CDM.GUI.General:àžàž±à¹àž§à¹àž  
+CDM.GUI.Indexes:àžàž±àžàžàžµàžàž²àž£àžà¹àžàž«àž²  
+CDM.GUI.Macros:àž¡àž²à¹àžàž£à¹àžàžàž²àž°àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+CDM.GUI.Plugins:àžàž¥àž±à¹àžàž­àžŽàžà¹àž­àžàžªàž²àž£  
+CDM.GUI.Root:CDM_ROOT  
+CDM.GUI.SearchMetadata:àžà¹àžàž«àž²  
+CDM.GUI.Subcollections:àžàž±àžàžàžµàžàž²àž£à¹àžàžŽàžàž±àž  
+CDM.GUI.SuperCollection:àžàž²àž£àžà¹àžàž«àž²àžà¹àž²àž¡àžàž­àž¥à¹àž¥àžàžàž±àž  
+CDM.GUI.Translation:à¹àžàž¥àžà¹àž­àžàž§àž²àž¡  
+CDM.GUI.DepositorMetadata:Depositor Metadata  
+CDM.HelpButton:àž§àžŽàžàžµà¹àžà¹àž«àžà¹àž²àžàž­àžàžµà¹  
+CDM.HelpButton_Tooltip:à¹àžàžŽàžàž«àžà¹àž²àž§àžŽàžàžµà¹àžà¹ GLI àžàž­àžàž«àžà¹àž²àžàž­àžàžµà¹  
+CDM.IndexManager.Add_Index:à¹àžàžŽà¹àž¡àžàž±àžàžàžµ  
+CDM.IndexManager.Add_Index_Tooltip:à¹àžàžŽà¹àž¡àžàž±àžàžàžµàžàžµà¹àž£àž°àžàžžà¹àž§à¹  
+CDM.IndexManager.Allfields_Index:à¹àžàžŽà¹àž¡àžàž²àž£àžà¹àžàž«àž²à¹àžàžàžàž§àžàž£àž§àž¡à¹àž«à¹àžàž±àžàžàž±àžàžàžµàžàžµà¹àžàž³àž«àžàžàžàž±à¹àžàž«àž¡àž (àžàžžàžà¹àžàžàžà¹àž­àž¡àž¹àž¥)  
+CDM.IndexManager.Default_Index_Indicator:[àžàž±àžàžàžµà¹àž£àžŽà¹àž¡àžà¹àž]  
+CDM.IndexManager.Index_Exists:à¹àžà¹àž¡àžµàžàž²àž£àžàž³àž«àžàžàžàž±àžàžàžµàžàž±à¹àžà¹àž«à¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àž¥à¹àž§  
+CDM.IndexManager.Indexes:àžàž±àžàžàžµàžàžµà¹àžàž³àž«àžàž  
+CDM.IndexManager.Level:àž£àž°àžàž±àžàžàž²àž£àžàž±àžàžàž³àžàž±àžàžàžµ:  
+CDM.IndexManager.Level_Tooltip:àž«àžà¹àž§àž¢àž£àž¹àžà¹àžàžàžà¹àž­àžàž§àž²àž¡àžàžµà¹àž¡àžµàžàž±àžàžàžµà¹àžà¹  
+CDM.IndexManager.Add_All:à¹àžàžŽà¹àž¡àžàž±à¹àžàž«àž¡àž  
+CDM.IndexManager.Add_All_Tooltip:à¹àžàžŽà¹àž¡àžàž±àžàžàžµàž­àžŽàžªàž£àž°àžªàž³àž«àž£àž±àžàžàžžàžà¹àž«àž¥à¹àžàžà¹àž­àž¡àž¹àž¥  
+CDM.IndexManager.Edit_Index:à¹àžà¹à¹àžàžàž±àžàžàžµ  
+CDM.IndexManager.Edit_Index_Tooltip:à¹àžà¹à¹àžàžàž±àžàžàžµàžàžµà¹à¹àžà¹à¹àž¥àž·àž­àžà¹àž§à¹  
+CDM.IndexManager.New_Index:àžàž±àžàžàžµà¹àž«àž¡à¹  
+CDM.IndexManager.New_Index_Tooltip:à¹àžàžŽà¹àž¡àžàž±àžàžàžµà¹àž«àž¡à¹  
+CDM.IndexManager.Remove_Index:à¹àž­àž²àžàž±àžàžàžµàž­àž­àž  
+CDM.IndexManager.Remove_Index_Tooltip:à¹àž­àž²àžàž±àžàžàžµàžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àž­àž­àž  
+CDM.IndexManager.Replace_Index:à¹àžàžàžàžµà¹àžàž±àžàžàžµ  
+CDM.IndexManager.Replace_Index_Tooltip:àžàž£àž±àžàžàž£àžžàžàžà¹àž²àžàž±àžàžàžµàžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹  
+CDM.IndexManager.Select_All:à¹àž¥àž·àž­àžàžàž±à¹àžàž«àž¡àž  
+CDM.IndexManager.Select_All_Tooltip:à¹àž¥àž·àž­àžà¹àž«àž¥à¹àžàžàžµà¹àž¡àž²àžàž­àžàžàž±àžàžàžµàžàž±à¹àžàž«àž¡àž  
+CDM.IndexManager.Select_None:à¹àž¡à¹à¹àž¥àž·àž­àžà¹àž¥àž¢  
+CDM.IndexManager.Select_None_Tooltip:à¹àž­àž²àžàž²àž£à¹àž¥àž·àž­àžà¹àž«àž¥à¹àžàžàžµà¹àž¡àž²àžàž­àžàžàž±àžàžàžµàžàž±à¹àžàž«àž¡àžàž­àž­àž  
+CDM.IndexManager.Set_Default:àžàž±à¹àžàžà¹àž²àžàž±àžàžàžµà¹àž£àžŽà¹àž¡àžà¹àž  
+CDM.IndexManager.Set_Default_Tooltip:àžàž±à¹àžàžà¹àž²àžàž±àžàžàžµàžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹à¹àžà¹àžàžàž±àžàžàžµà¹àž£àžŽà¹àž¡àžà¹àž  
+CDM.IndexManager.Source:àž£àž§àž¡àž­àž¢àž¹à¹à¹àžàžàž±àžàžàžµ:  
+CDM.IndexManager.Source_Tooltip:àž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž°àžªàž£à¹àž²àžàžàž±àžàžàžµ  
+CDM.IndexManager.Text_Source:àžà¹àž­àžàž§àž²àž¡àžàžàž±àžà¹àžà¹àž¡  
+CDM.IndexManager.Text_Source_Tooltip:àž£àž§àž¡àžà¹àž­àžàž§àž²àž¡àžàžàž±àžà¹àžà¹àž¡àžàž­àžà¹àž­àžàžªàž²àž£àžà¹àž²àžà¹ à¹àžàžàž±àžàžàžµ  
+CDM.IndexingManager.Accent_fold:Accent fold  
+CDM.IndexingManager.Accent_fold_Tooltip:àžªàž£à¹àž²àžàžàž±àžàžàžµà¹àžàž Accent-folded àžàž¶à¹àžàžàž³à¹àž«à¹àžªàž²àž¡àž²àž£àžàžà¹àžàž«àž²àžàž³à¹àžàž¢àž¥àž°à¹àž§à¹àžà¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àžà¹àžà¹àžªàžµàž¢àžà¹àžà¹  
+CDM.IndexingManager.Casefold:Casefold  
+CDM.IndexingManager.Casefold_Tooltip:àžªàž£à¹àž²àžàžàž±àžàžàžµà¹àžàž Case-folded àžàž¶à¹àžàžàž³à¹àž«à¹àžªàž²àž¡àž²àž£àžàžà¹àžàž«àž²à¹àžàž¢à¹àž¡à¹àžàž³àžàž¶àžàžàž¶àžàžàž±àž§àž­àž±àžàž©àž£à¹àž«àžà¹-à¹àž¥à¹àžà¹àžà¹  
+CDM.IndexingManager.Options:àžàž±àž§à¹àž¥àž·àž­àžàžàž²àž£àžàž±àžàžàž³àžàž±àžàžàžµ:  
+CDM.IndexingManager.Separate_cjk:àžàž²àž£à¹àžà¹àžàžàž³ CJK  
+CDM.IndexingManager.Separate_cjk_Tooltip:<html>à¹àžà¹àžàžàž³ CJK (àž àž²àž©àž²àžàžµàž àžàžµà¹àžàžžà¹àž à¹àžàž²àž«àž¥àžµ) àžàžàž°àžàžµà¹àž£àž§àž¡àžàž¶àžàžàž²àž£à¹àžàž£àžàžà¹àž­àžàž§à¹àž²àžàž£àž°àž«àž§à¹àž²àžàž­àž±àžàžàž£àž° CJK à¹àžà¹àž¥àž°àžàž±àž§<br> àžàž¶à¹àžàžàž·àž­à¹àžà¹àžàžªàžŽà¹àžàžàž³à¹àžà¹àžàžà¹àž­àžàž²àž£àžà¹àžàž«àž²àžà¹àž­àžàž§àž²àž¡à¹àžàž CJK àžàž±à¹àžàžàžµà¹à¹àž¡à¹àž£àž§àž¡àžàž¶àžàžà¹àž­àžàž§àž²àž¡àžàžµà¹àžàž¹àžà¹àžà¹àžàž­àž­àžà¹àžà¹àžàžàž³à¹àž£àžµàž¢àžàž£à¹àž­àž¢à¹àž¥à¹àž§</html>  
+CDM.IndexingManager.Stem:àž£àž²àžàžšàž±àžàžà¹  
+CDM.IndexingManager.Stem_Tooltip:<html>àžªàž£à¹àž²àžàžàž±àžàžàžµà¹àžàž Stemmed àžàž¶à¹àžàžàž³à¹àž«à¹àžªàž²àž¡àž²àž£àžàžà¹àžàž«àž²àžà¹àž§àž¢àž£àž²àžàžàž­àžàžàž³à¹àžà¹ <br>àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž  àžàž²àž£àžà¹àžàž«àž²àžà¹àž§àž¢àžàž³àž§à¹àž² "farm" àžàž°à¹àžà¹àžàžàž²àž£àžà¹àžàž«àž²àžà¹àž§àž¢àžàž³àž§à¹àž² "farms" "farming" "farmers" àžà¹àž§àž¢ (àžªàž²àž¡àž²àž£àžà¹àžà¹àžàž²àžà¹àžà¹àžàž±àžàž àž²àž©àž²àž­àž±àžàžàž€àž©à¹àž¥àž°àž àž²àž©àž²àžàž£àž±à¹àžà¹àžšàžªà¹àžà¹àž²àžàž±à¹àž)</html>  
+CDM.LanguageManager.Add_Tooltip:à¹àžàžŽà¹àž¡àžàž²àž£à¹àžàžŽàžàž±àžàžàž±àžàžàžµàžàž²àž¡àž àž²àž©àž²àžàžµà¹àž£àž°àžàžž  
+CDM.LanguageManager.Assigned_Languages:àžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²àžàžµà¹àžàž³àž«àžàž  
+CDM.LanguageManager.Default_Language:àž àž²àž©àž²à¹àž£àžŽà¹àž¡àžà¹àž  
+CDM.LanguageManager.LanguageMetadata:à¹àž¡àžàž²àžàž²àžàž²àž àž²àž©àž²:  
+CDM.LanguageManager.LanguageMetadata_Tooltip:àž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž°à¹àžà¹àžàž³àž«àžàžàž àž²àž©àž²àžàž­àžà¹àž­àžàžªàž²àž£  
+CDM.LanguageManager.Remove_Tooltip:à¹àž­àž²àžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àž­àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£  
+CDM.LanguageManager.Replace_Tooltip:à¹àžàžàžàžµà¹àžàž²àž£à¹àžàžŽàžàž±àžàžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àžà¹àž§àž¢àžà¹àž²à¹àž«àž¡à¹àžàž²àž¡àž àž²àž©àž²àžàžµà¹àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àž§à¹  
+CDM.LanguageManager.Selector:àž àž²àž©àž²àžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡:  
+CDM.LanguageManager.Selector_Tooltip:àž àž²àž©àž²àžàžµà¹àžàž°à¹àžà¹àžªàž£à¹àž²àžàžàž²àž£à¹àžàžŽàžàž±àžàžàž±àžàžàžµ  
+CDM.LanguageManager.Set_Default:àžàž±à¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž  
+CDM.LanguageManager.Set_Default_Tooltip:àžªàž£à¹àž²àžàžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹à¹àžà¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž  
+CDM.LevelManager.Document:à¹àž­àžàžªàž²àž£  
+CDM.LevelManager.Section:àžªà¹àž§àž  
+CDM.LevelManager.Paragraph:àž¢à¹àž­àž«àžà¹àž²  
+CDM.LevelManager.Level_Title:àž£àž°àžàž±àžàžàž²àž£àžàž±àžàžàž³àžàž±àžàžàžµ  
+CDM.LevelManager.Default:àžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž  
+CDM.LevelManager.Default_Tooltip:àž£àž°àžàž±àžà¹àž£àžŽà¹àž¡àžà¹àžà¹àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžàž­àžàžàž¹à¹àž­à¹àž²àž  
+CDM.MacrosManager.Editor_Tooltip:à¹àžà¹à¹àžàž¡àž²à¹àžàž£àžàžµà¹àžàžµà¹  
+CDM.Move.At_Bottom:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¢à¹àž²àž¢ {0} {1} àž¥àžà¹àžà¹àž­àžµàž à¹àžàž·à¹àž­àžàžàž²àžàž­àž¢àž¹à¹àžà¹àž²àž¢àžªàžžàžàžàž­àžàž£àž²àž¢àžàž²àž£à¹àž¥à¹àž§  
+CDM.Move.At_Top:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¢à¹àž²àž¢ {0} {1} àžàž¶à¹àžà¹àžà¹àž­àžµàž à¹àžàž·à¹àž­àžàžàž²àžàž­àž¢àž¹à¹àžàžàžªàžžàžàžàž­àžàž£àž²àž¢àžàž²àž£à¹àž¥à¹àž§  
+CDM.Move.Cannot:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¢à¹àž²àž¢àžàž¥àž±à¹àžàž­àžŽàž {0} àž¥àžàžà¹àž³àžàž§à¹àž²àžàžµà¹à¹àžà¹àž­àžµàž à¹àžàž·à¹àž­àžàžàž²àž RecPlug à¹àž¥àž° ArcPlug àžàž°àžà¹àž­àžàž­àž¢àž¹à¹àžàžµà¹àžà¹àž²àž¢àžªàžžàžàžàž­àžàž£àž²àž¢àžàž²àž£  
+CDM.Move.Fixed:<html>à¹àžàž¢àžàžàžàžŽà¹àž¥à¹àž§ RecPlug à¹àž¥àž° ArcPlug àžàž°àž­àž¢àž¹à¹à¹àžàžàž³à¹àž«àžà¹àžàžà¹àž²àž¢àžªàžžàž à¹àž¥àž°àžàž°àžàžàž­àž¢àž¹à¹àžàž£àžàžàžµà¹àžàž±à¹àž<br>àžà¹àž²àžàžžàžàžàž³à¹àžà¹àžàžà¹àž­àžà¹àž¥àž·à¹àž­àžàžàž£àžŽàžà¹ àžàž£àžžàžàž²à¹àžà¹à¹àžà¹àžà¹àž¡ collect.cfg àžà¹àž§àž¢àžàžà¹àž­àž</html>  
+CDM.Move.Move_Down:à¹àž¥àž·à¹àž­àžàž¥àž  
+CDM.Move.Move_Down_Tooltip:à¹àž¥àž·à¹àž­àžàž£àž²àž¢àžàž²àž£àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹à¹àžàž£àž²àž¢àžàž²àž£àž¥àž  
+CDM.Move.Move_Up:à¹àž¥àž·à¹àž­àžàžàž¶à¹àž  
+CDM.Move.Move_Up_Tooltip:à¹àž¥àž·à¹àž­àžàž£àž²àž¢àžàž²àž£àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹à¹àžàž£àž²àž¢àžàž²àž£àžàž¶à¹àž  
+CDM.Move.Title:àžà¹àž­àžàžŽàžàžàž¥àž²àž - à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àž¥àž·à¹àž­àžà¹àžà¹  
+CDM.PlugInManager.Add:à¹àžàžŽà¹àž¡àžàž¥àž±à¹àžàž­àžŽàžâŠ  
+CDM.PlugInManager.QuickAdd:à¹àžàžŽà¹àž¡àžàž¥àž±à¹àžàž­àžŽàž  
+CDM.PlugInManager.Add_Tooltip:à¹àžà¹àžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àž£àž°àžàžžàžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹  
+CDM.PlugInManager.Assigned:àžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžàž³àž«àžàž  
+CDM.PlugInManager.Configure:àžàž³àž«àžàžàžà¹àž²àžàž¥àž±à¹àžàž­àžŽàžâŠ  
+CDM.PlugInManager.Configure_Tooltip:à¹àžàž¥àžµà¹àž¢àžàžàž±àž§à¹àž¥àž·àž­àžàžàž­àžàžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹à¹àž¥àž·àž­àž  
+CDM.PlugInManager.Ignore:à¹àž¡à¹à¹àžàžŽà¹àž¡àžàž¥àž±à¹àžàž­àžŽàž  
+CDM.PlugInManager.Ignore_Tooltip:à¹àž¡à¹à¹àžàžŽà¹àž¡àžàž¥àž±à¹àžàž­àžŽàžà¹àžà¹ à¹àž«à¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹  
+CDM.PlugInManager.PlugIn:à¹àž¥àž·àž­àžàžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡:  
+CDM.PlugInManager.PlugIn_Tooltip:àžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+CDM.PlugInManager.PlugIn_Str:àžàž¥àž±à¹àžàž­àžŽàž  
+CDM.PlugInManager.PlugIn_XML_Parse_Failed:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž³àž«àžàžàž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžªàž³àž«àž£àž±àžàžàž¥àž±à¹àžàž­àžŽàž {0}\n à¹àžà¹ àžàž£àžžàžàž²àžàž£àž§àžàžªàž­àžà¹àž«à¹à¹àžà¹à¹àžàž§à¹àž² àžàž¥àž±à¹àžàž­àžŽàžà¹àžàžàž³àžàž²àž¡àž¡àžµ\nàžªàžàž²àžàž° -xml à¹àžàž¢à¹àž£àžµàž¢àžà¹àžà¹àžªàžàž£àžŽàžàžà¹ pluginfo.pl àžàžµà¹à¹àžà¹àž­àžàžŽàžàž²àž¢\nà¹àžàžªà¹àž§àžàžàžµà¹ 2.1 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž  
+CDM.PluginManager.Plugin_List_XML_Parse_Failed:à¹àž¡à¹à¹àžà¹àž£àž±àžàž£àž²àž¢àžàž²àž£àžàž­àžàžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹à¹àžà¹ pluginfo.pl -listall  
+CDM.PluginManager.Plugin_Suggestion_Prompt:àžàž²àžàž§à¹àž²à¹àž¡à¹àž¡àžµàžàž¥àž±à¹àžàž­àžŽàžà¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžàžµà¹àžªàž²àž¡àž²àž£àžàžàž£àž°àž¡àž§àž¥àžàž¥à¹àžà¹àž¡ "{0}" à¹àžà¹à¹àžàž¢àžàž£àž (àž­àž¢à¹àž²àžà¹àž£àžà¹àžàž²àž¡ àž­àž²àžàž¡àžµàžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžà¹àž­àžàžàž²àž£àž£àž§àž¡àž­àž¢àž¹à¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹ àž«àž²àžàžàž¥àž±à¹àžàž­àžŽàžàžàž±àž§àžàžµà¹à¹àžà¹àžàžàž¥àž±à¹àžàž­àžŽàžàžàž­àžà¹àžà¹àž¡àž­àž·à¹àž àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž àž£àž¹àžàž àž²àžà¹àžà¹àž§à¹àžà¹àžàž) àžàžžàžàž­àž²àžàžªàž²àž¡àž²àž£àžà¹àžà¹àžàž¥àž±à¹àžàž­àžŽàžàžà¹àž­à¹àžàžàžµà¹à¹àžàž·à¹àž­àžàž£àž°àž¡àž§àž¥àžàž¥à¹àžà¹àž¡àžàžµà¹à¹àžà¹ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàžŽà¹àž¡àžàž¥àž±à¹àžàž­àžŽàžà¹àžà¹àž²à¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàžà¹àžà¹à¹àžàžàžàž°àžàžµà¹àžà¹àž§àž¢àžàž²àž£à¹àž¥àž·àž­àžàžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžà¹àž­àžàžàž²àž£ à¹àž¥àž°àžàžàžàžžà¹àž¡ 'à¹àžàžŽà¹àž¡'  (à¹àžàž£àžàžªàž±àžà¹àžàžàž§à¹àž² àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàž¥àžµà¹àž¢àžàž£àž²àž¢àžàž²àž£àžàž­àžàžàž¥àž±à¹àžàž­àžŽàžà¹àž¡àž·à¹àž­à¹àžàžà¹à¹àžà¹àžà¹àž§àž¢àžàž²àž£à¹àžàžàžµà¹ "àžàž¥àž±à¹àžàž­àžŽàžà¹àž­àžàžªàž²àž£" àžàžàžàž²àžàž«àžà¹àž²àžà¹àž²àžàž­àž­àžà¹àžàž  
+CDM.PlugInManager.Remove:à¹àž­àž²àžàž¥àž±à¹àžàž­àžŽàžàž­àž­àž  
+CDM.PlugInManager.Remove_Tooltip:à¹àž­àž²àžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹à¹àžà¹à¹àž¥àž·àž­àžà¹àž§à¹àž­àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£  
+CDM.PluginManager.SuggestedPluginListTitle:àžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹à¹àžàž°àžàž³àžªàž³àž«àž£àž±àžà¹àžà¹àž¡  
+CDM.SearchMetadataManager.Component:àž£àž²àž¢àžàž²àž£à¹àžà¹àž¡àžàž¹àžà¹àžàž«àž²  
+CDM.SearchMetadataManager.Component_Name:àžà¹àž­àžàž§àž²àž¡à¹àžªàžàžàžàž¥  
+CDM.SearchMetadataManager.Type_index:àžàž±àžàžàžµ  
+CDM.SearchMetadataManager.Type_level:àž£àž°àžàž±àž  
+CDM.SearchMetadataManager.Type_partition:àžàž²àž£à¹àžàžŽàžàž±àž  
+CDM.SearchMetadataManager.Type_language:àžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²  
+CDM.SubcollectionManager.Add:à¹àžàžŽà¹àž¡àžàž±àž§àžàž£àž­àž  
+CDM.SubcollectionManager.Add_Tooltip:à¹àžàžŽà¹àž¡àžàž±àž§àžàž£àž­àžàžàžµà¹àž£àž°àžàžžàž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+CDM.SubcollectionManager.Assigned:àžàž±àž§àžàž£àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢àžàžµà¹àžàž³àž«àžàž  
+CDM.SubcollectionManager.Exclude:à¹àž¡à¹àž£àž§àž¡  
+CDM.SubcollectionManager.Flags:àžªàžàž²àžàž°àžàžµà¹àžà¹àž­àžàžàž²àž£àžàž±à¹àžàžà¹àž²à¹àž¡àž·à¹àž­àžàž£àžàžàž±àž  
+CDM.SubcollectionManager.Flags_Tooltip:àžªàžàž²àžàž°àžàžŽàžàžàžà¹àžàžàžàžŽàžàžµà¹àžàž°à¹àžà¹à¹àž¡àž·à¹àž­àžàž£àžàžàž±àž (à¹àžà¹àž "i" àžªàž³àž«àž£àž±àžàžàž²àž£àžàž£àžàžàž±àžà¹àžàžà¹àž¡à¹à¹àž¢àžà¹àž¢àž°àžàž±àž§àžàžŽàž¡àžà¹à¹àž«àžà¹-à¹àž¥à¹àž)  
+CDM.SubcollectionManager.Include:àž£àž§àž¡  
+CDM.SubcollectionManager.Inclusive:à¹àž£àž²àžàž°àžàž³àž­àž°à¹àž£àžàž±àžà¹àžà¹àž¡àžàžµà¹àžàž£àžàžàž±àž  
+CDM.SubcollectionManager.Language_Controls:àžàž³àž«àžàžàž àž²àž©àž²  
+CDM.SubcollectionManager.Match:àžàžŽàžàžàžà¹àžàžàžàžŽàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àž«à¹àžàž£àžàžàž±àž:  
+CDM.SubcollectionManager.Match_Tooltip:àžàžŽàžàžàžà¹àžàžàžàžŽàžàžµà¹àžàž³àž«àžàžà¹àž­àžàžªàž²àž£à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢  
+CDM.SubcollectionManager.Name:àžàž·à¹àž­àžàž±àž§àžàž£àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢:  
+CDM.SubcollectionManager.Name_Tooltip:àžàž·à¹àž­àžàž­àžàžàž±àž§àžàž£àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢à¹àž«àž¡à¹  
+CDM.SubcollectionManager.Partitions_Disabled:àžàžàž°àžàžµà¹àžàž±àž§àžà¹àž§àž¢àžàžµà¹àžàž¹àžàžàžŽàžà¹àžà¹àžàž²àž à¹àžàž£àž²àž°àžàžžàžàžàž³àž¥àž±àžàžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹àž«àž¡àž {0-Current Mode}  àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹àž²àžàž¶àžàžàž±àž§àžà¹àž§àž¢àžàžµà¹à¹àžà¹à¹àžàžàž²àž°à¹àžà¹àž«àž¡àž {1-Systems} à¹àž¥àž° {2-Expert}  à¹àž«à¹à¹àžàžàžµà¹ File->Preferences à¹àžàž·à¹àž­à¹àžàž¥àžµà¹àž¢àžà¹àž«àž¡àžàžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£  
+CDM.SubcollectionManager.Remove:à¹àž­àž²àžàž±àž§àžàž£àž­àžàž­àž­àž  
+CDM.SubcollectionManager.Remove_Tooltip:à¹àž­àž²àžàž±àž§àžàž£àž­àžàžàžµà¹à¹àž¥àž·àž­àžàž­àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£  
+CDM.SubcollectionManager.Replace:à¹àžàžàžàžµà¹àžàž±àž§àžàž£àž­àž  
+CDM.SubcollectionManager.Replace_Tooltip:àžàž£àž±àžàžàž£àžžàžàž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžàžàž­àžàžàž±àž§àžàž£àž­àžàžàžµà¹à¹àž¥àž·àž­àž  
+CDM.SubcollectionManager.Source:à¹àž­àžàžàž£àžŽàžàžŽàž§àžà¹àžàž­àžà¹àž­àžàžªàž²àž£àžàžµà¹àžàž£àžàžàž±àž:  
+CDM.SubcollectionManager.Source_Tooltip:à¹àž­àžàžàž£àžŽàžàžŽàž§àžà¹àžàž­àžà¹àž­àžàžªàž²àž£àžàžµà¹àžà¹àž­àžàžàž²àž£àžàž£àž­àž  
+CDM.SubcollectionManager.Subcollection_Controls:àžàžŽàž¢àž²àž¡àžàž±àž§àžàž£àž­àž  
+CDM.SubcollectionManager.Subindex_Controls:àžàž³àž«àžàžàžàž²àž£à¹àžàžŽàžàž±àž  
+CDM.SubcollectionIndexManager.Add_Subindex:à¹àžàžŽà¹àž¡àžàž²àž£à¹àžàžŽàžàž±àž  
+CDM.SubcollectionIndexManager.Add_Subindex_Tooltip:à¹àžàžŽà¹àž¡àžàž²àž£à¹àžàžŽàžàž±àžàžàžµà¹àž£àž°àžàžžàž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹  
+CDM.SubcollectionIndexManager.Default_Partition_Indicator:[àžàž²àž£à¹àžàžŽàžàž±àžà¹àž£àžŽà¹àž¡àžà¹àž]  
+CDM.SubcollectionIndexManager.Remove_Subindex:à¹àž­àž²àžàž²àž£à¹àžàžŽàžàž±àžàž­àž­àž  
+CDM.SubcollectionIndexManager.Remove_Subindex_Tooltip:à¹àž­àž²àžàž²àž£à¹àžàžŽàžàž±àžàžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àž­àž­àžàžàž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹  
+CDM.SubcollectionIndexManager.Replace_Subindex:à¹àžàžàžàžµà¹àžàž²àž£à¹àžàžŽàžàž±àž  
+CDM.SubcollectionIndexManager.Replace_Subindex_Tooltip:àžàž£àž±àžàžàž£àžžàžàžàž²àž£à¹àžàžŽàžàž±àžàžàžµà¹à¹àž¥àž·àž­àž  
+CDM.SubcollectionIndexManager.Set_Default_Subindex:àžàž±à¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž  
+CDM.SubcollectionIndexManager.Set_Default_Subindex_Tooltip:àžàž³àž«àžàžà¹àž«à¹àžàž²àž£à¹àžàžŽàžàž±àžàžàžµà¹à¹àž¥àž·àž­àžà¹àžà¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž  
+CDM.SubcollectionIndexManager.Source:àžªàž£à¹àž²àžàžàž²àž£à¹àžàžŽàžàž±àžàžàž:  
+CDM.SubcollectionIndexManager.Source_Tooltip:àžàž±àž§àžàž£àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢àžàžµà¹àžà¹àž­àžàžàž²àž£àžªàž£à¹àž²àžàžàž²àž£à¹àžàžŽàžàž±àž  
+CDM.SubcollectionIndexManager.Subindexes:àžàž²àž£à¹àžàžŽàžàž±àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢àžàžµà¹àžàž³àž«àžàž  
+CDM.TranslationManager.Add:à¹àžàžŽà¹àž¡àžàž³à¹àžàž¥  
+CDM.TranslationManager.Add_Tooltip:à¹àžàžŽà¹àž¡àžàž³à¹àžàž¥àžàžµà¹àž£àž°àžàžžàž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+CDM.TranslationManager.Affected_Features:àžàžžàžàž¥àž±àžàž©àžàž°  
+CDM.TranslationManager.Assigned_Fragments:àžàž³à¹àžàž¥àžàžµà¹àžàž³àž«àžàž  
+CDM.TranslationManager.Default_Text:àžªà¹àž§àžàžàž­àžàžà¹àž­àžàž§àž²àž¡à¹àž£àžŽà¹àž¡àžà¹àž  
+CDM.TranslationManager.Fragment_Column:àžªà¹àž§àžàžàž­àžàžà¹àž­àžàž§àž²àž¡  
+CDM.TranslationManager.Language:àž àž²àž©àž²àžàž­àžàžàž³à¹àžàž¥:  
+CDM.TranslationManager.Language_Column:àž àž²àž©àž²  
+CDM.TranslationManager.Language_Tooltip:àž àž²àž©àž²à¹àžà¹àž²àž«àž¡àž²àž¢àžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàž¥à¹àžà¹àžà¹àž  
+CDM.TranslationManager.Remove:à¹àž­àž²àžàž³à¹àžàž¥àž­àž­àž  
+CDM.TranslationManager.Remove_Tooltip:à¹àž­àž²àžàž³à¹àžàž¥àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àž­àž­àžàžàž²àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+CDM.TranslationManager.Replace:à¹àžàžàžàžµà¹àžàž³à¹àžàž¥  
+CDM.TranslationManager.Replace_Tooltip:àžàž£àž±àžàžàž£àžžàžàžàž³à¹àžàž¥àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹  
+CDM.TranslationManager.Translation:àžà¹àž­àžàž§àž²àž¡àžàžµà¹à¹àžàž¥à¹àž¥à¹àž§  
+CDM.TranslationManager.Translation_Tooltip:à¹àžªà¹àžàž³à¹àžàž¥àžàž­àžàžªàžàž£àžŽàžàžàžµà¹àžàžµà¹  
+CDM.DepositorMetadataManager.Warning:àžàžžàžàžàž°àžà¹àž­àžà¹àž¥àž·àž­àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢à¹àž¡àžàž²àžàž²àžàž²àž­àž¢à¹àž²àžàžà¹àž­àž¢àž«àžàž¶à¹àžàž£àž²àž¢àžàž²àž£  
+#*******************
+#
+#***** Collection *****
+Collection.Collection:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>àžàž­àž¥à¹àž¥àžàžàž±àž</FONT></STRONG></HTML>  
+Collection.Delete_Tooltip:àž¥àžà¹àžà¹àž¡à¹àž¥àž°à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹  
+Collection.Filter_Tooltip:àžàž³àžàž±àžà¹àžà¹àž¡àžàžµà¹àžàž°à¹àžªàžàžà¹àžà¹àžàžàžàž±àžà¹àžà¹àž¡àž£àž¹àžàžà¹àžà¹àž¡à¹  
+Collection.New_Folder_Tooltip:àžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹  
+Collection.No_Collection:à¹àž¡à¹àž¡àžµàžàž­àž¥à¹àž¥àžàžàž±àž  
+Collection.No_Collection_Loaded:à¹àž¡à¹àž¡àžµàžàž²àž£à¹àž«àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+Collection.Stop:àž«àž¢àžžàž  
+Collection.Stop_Tooltip:àž«àž¢àžžàžàžàž²àž£àžàž³àžªàž³à¹àžàž²à¹àžà¹àž¡  
+Collection.Workspace:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>àžàž·à¹àžàžàžµà¹àžàž³àžàž²àž</FONT></STRONG></HTML>  
+#**********************
+#
+#***** CollectionBuilt *****
+CollectionBuilt.Message:àžàž³à¹àžàžŽàžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž¥à¹àž§ à¹àž¥àž°àžàž£à¹àž­àž¡àžàž°à¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àž  
+CollectionBuilt.Title:àžàž¥àžàž­àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+#***************************
+#
+#******ScheduldBuilt******
+ScheduleBuilt.Message:àž¡àžµàžàž²àž£àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžàžàž³àž«àžàžà¹àž§àž¥àž²àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹  
+ScheduleBuilt.Title:àžàž¥àž¥àž±àžàžà¹àžàž­àžàžàž²àž£àžàž³àž«àžàžà¹àž§àž¥àž²à¹àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+#***************************
+#
+#***** CollectionManager *****
+CollectionManager.Schedule_Failed:à¹àžàžŽàžàžà¹àž­àžàžŽàžàžàž¥àž²àžàžàž¶à¹àžà¹àž¥àž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž±à¹àžàžà¹àž²à¹àž«à¹àž£àž°àžàžàžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž²àž¡à¹àž§àž¥àž²àžàžµà¹àžàž³àž«àžàžà¹àž§à¹à¹àžà¹  
+CollectionManager.Build_Cancelled:àžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž¹àžàž¢àžà¹àž¥àžŽàžà¹àž¥à¹àž§  
+CollectionManager.Cannot_Create_Collection:àž¡àžµàžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àžàžŽàžàžàž¶à¹àž à¹àž¥àž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹  
+CollectionManager.Cannot_Create_Collection_With_Reason:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹ à¹àžàž·à¹àž­àžàžàž²àž:\n{0-Error message}  
+CollectionManager.Cannot_Delete_Index:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹à¹àžà¹ à¹àžàž·à¹àž­àžàžàž²àžà¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¥àžà¹àžà¹àž¡àžàž±àžàžàžµà¹àžà¹àž²àž­àž­àžà¹àžà¹\nàžàž£àžžàžàž²àžàž£àž§àžàžªàž­àžà¹àž«à¹à¹àžà¹à¹àžàž§à¹àž² à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàž«àž£àž·àž­à¹àžàž£à¹àžàž£àž¡àž­àž·à¹àžà¹ à¹àž¡à¹à¹àžà¹àžàž³àž¥àž±àžà¹àžà¹à¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàžµà¹àž­àž¢àž¹à¹\n àžàž²àžàžàž±à¹àžàž¥àž­àžà¹àž«àž¡à¹àž­àžµàžàžàž£àž±à¹àž  
+CollectionManager.Cannot_Delete_Index_Log:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¥àžà¹àžà¹àž¡àžàž±àžàžàžµà¹àžà¹àž²à¹àžà¹ àžàž±àžàžàž±à¹àžàž£àž°àžàžàžàž¶àžàž«àž¢àžžàžàžàž²àž£àžàž³à¹àžà¹àž²àžà¹àž­àž¡àž¹àž¥  
+CollectionManager.Cannot_Open:à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹:\n{0-Collection file path}\nà¹àžà¹  
+CollectionManager.Cannot_Open_With_Reason:à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹:\n{0-Collection file path}\nà¹àžà¹ à¹àžàž·à¹àž­àžàžàž²àž:\n{1-Error message}  
+CollectionManager.Creating_Collection:àžàž³àž¥àž±àžàžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+CollectionManager.Creating_Collection_Please_Wait:àžàž³àž¥àž±àžàžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àžàž£àžàž£àž­àžªàž±àžàžàž£àž¹à¹âŠ  
+CollectionManager.Loading_Collection:àžàž³àž¥àž±àžà¹àž«àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+CollectionManager.Loading_Collection_Please_Wait:àžàž³àž¥àž±àžà¹àž«àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àžàž£àžàž£àž­àžªàž±àžàžàž£àž¹à¹âŠ  
+CollectionManager.Loading_Successful:à¹àž«àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àž {0} à¹àžªàž£à¹àžà¹àž£àžµàž¢àžàž£à¹àž­àž¢à¹àž¥à¹àž§  
+CollectionManager.Missing_Config:à¹àžà¹àž¡ collect.cfg à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àž¡à¹àžàž¹àžàžà¹àž­àž  
+CollectionManager.Not_Col_File:{0}' à¹àž¡à¹à¹àžà¹à¹àžà¹àž¡àžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ (.col)  
+CollectionManager.No_Config_File:à¹àžà¹àž¡ collect.cfg à¹àž¡à¹à¹àžà¹àžàž¹àžàžªàž£à¹àž²àžà¹àžàž¢ mkcol.pl  
+CollectionManager.Preview_Ready_Failed:àž¡àžµàžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àžàžŽàžàžàž¶à¹àžàžàž³à¹àž«à¹à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹  
+CollectionManager.Preview_Ready_Title:àžªàžàž²àžàž°àžàž²àž£à¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+CollectionManager.Schedule_Ready_Title:àžªàžàž²àžàž°àžàž²àž£àžàž³àž«àžàžà¹àž§àž¥àž²  
+CollectionManager.Build_Not_Moved:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¢à¹àž²àž¢à¹àžà¹àž£àžàžàž­àž£àžµàžàž²àž£àžªàž£à¹àž²àžà¹àžà¹  
+CollectionManager.Index_Not_Deleted:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¥àžà¹àžà¹àž£àžàžàž­àž£àžµàžàž±àžàžàžµà¹àžà¹  
+CollectionManager.Install_Exception:àžàž£àž§àžàžàžàžà¹àž­àž¢àžà¹àž§à¹àžàž£àž°àž«àž§à¹àž²àžàžàž³à¹àžàžŽàžàžàž²àž£àžàžŽàžàžàž±à¹àžàžàž­àž¥à¹àž¥àžàžàž±àž:\n{0}\nà¹àžàž¢àžªà¹àž§àžà¹àž«àžà¹à¹àž¥à¹àž§ àžàž±àžàž«àž²àžàžµà¹à¹àžàžŽàžàžàž²àžàžàž²àž£àžàžµà¹àž£àž°àžàžàžàžàžŽàžàž±àžàžŽàžàž²àž£àž§àžŽàžà¹àžàžªà¹àž«àž£àž·àž­à¹àž¥àžàž£àž²àž£àžµàžà¹àž­àžàžàžŽà¹àžàž¥à¹àž­àžà¹àžà¹àž¡à¹àž§à¹\nàžàž£àžžàžàž²àžàž£àž§àžàžªàž­àžà¹àž«à¹à¹àžà¹à¹àžàž§à¹àž² àžàžžàžà¹àž¡à¹à¹àžà¹à¹àžàžŽàžà¹àžà¹àž¡àžà¹àžàžàžàž±àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž\nàžà¹àž§àž¢à¹àžàž£à¹àžàž£àž¡àžàž£àž°àž¢àžžàžàžà¹àž àž²àž¢àžàž­àž àžàž²àžàžàž±à¹àžà¹àž«à¹àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹  
+#*****************************
+#
+#***** CollectionPopupMenu *****
+CollectionPopupMenu.Delete:àž¥àž  
+CollectionPopupMenu.New_Dummy_Doc:à¹àž­àžàžªàž²àž£àžàž³àž¥àž­àžà¹àž«àž¡à¹  
+CollectionPopupMenu.New_Folder:à¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹  
+CollectionPopupMenu.Refresh:à¹àžªàžàžàžàž¥àž¡àžžàž¡àž¡àž­àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹  
+CollectionPopupMenu.Rename:à¹àžàž¥àžµà¹àž¢àžàžàž·à¹àž­  
+CollectionPopupMenu.Replace:à¹àžàžàžàžµà¹  
+#*******************************
+#
+#***** CreatePane *****
+CreatePane.Schedule_Progress:àžàž§àž²àž¡àžàž·àžàž«àžà¹àž²àžàž­àžàžàž²àž£àžàž³àž«àžàžà¹àž§àž¥àž²  
+CreatePane.Schedule:àžàž±àž§à¹àž¥àž·àž­àžàžàž²àž£àžàž³àž«àžàžà¹àž§àž¥àž²  
+CreatePane.Schedule_Tooltip:àžàž±àž§à¹àž¥àž·àž­àžàžªàž³àž«àž£àž±àžàžàž²àž£àžàž³àž«àžàžà¹àž§àž¥àž²àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàž­àž±àžà¹àžàž¡àž±àžàžŽ  
+CreatePane.Schedule_Build:àžàž²àž£àžàž£àž°àžàž³àžàž²àž£àžàž³àž«àžàžà¹àž§àž¥àž²  
+CreatePane.Schedule_Build_Tooltip:àžàž³àž«àžàžà¹àž§àž¥àž²àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽ  
+CreatePane.Build:àžàž±àž§à¹àž¥àž·àž­àžàžàž²àž£àžªàž£à¹àž²àž  
+CreatePane.Build_Tooltip:àžàž±àž§à¹àž¥àž·àž­àžàžªàž³àž«àž£àž±àžàžàž±à¹àžàžàž­àžàžàž²àž£àžàž³àžàž³àžàž±àžàžàžµà¹àž¥àž°àžàž²àž£àžàž±àžàž«àž¡àž§àžàž«àž¡àž¹à¹àžàž­àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+CreatePane.Build_Collection:àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+CreatePane.Build_Collection_Tooltip:à¹àž£àžŽà¹àž¡àžàž£àž°àžàž§àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+CreatePane.Build_Progress:àžàž§àž²àž¡àžàž·àžàž«àžà¹àž²à¹àžàžàž²àž£àžªàž£à¹àž²àž  
+CreatePane.Cancel_Build:àž¢àžà¹àž¥àžŽàžàžàž²àž£àžªàž£à¹àž²àž  
+CreatePane.Cancel_Build_Tooltip:àž«àž¢àžžàžàžàž£àž°àžàž§àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+CreatePane.Full_Build:àžàž²àž£àžªàž£à¹àž²àžà¹àž«àž¡à¹à¹àžªàž£à¹àžàžªàž¡àžàž¹àž£àžà¹  
+CreatePane.Full_Build_Tooltip:àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹àžàž±à¹àžà¹àžà¹à¹àž£àžŽà¹àž¡à¹àž£àžà¹àžªàž£à¹àžàžªàž¡àžàž¹àž£àžà¹à¹àž¥à¹àž§  
+CreatePane.Import:àžàž±àž§à¹àž¥àž·àž­àžàžàž²àž£àžàž³à¹àžà¹àž²  
+CreatePane.Import_Tooltip:àžàž±àž§à¹àž¥àž·àž­àžàžªàž³àž«àž£àž±àžàžàž±à¹àžàžàž­àžàžàž²àž£à¹àžàž¥àžà¹àžà¹àž¡à¹àž¥àž°àžàž²àž£àžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž²àžàž­àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+CreatePane.Import_Progress:àžàž§àž²àž¡àžàž·àžàž«àžà¹àž²à¹àžàžàž²àž£àžàž³à¹àžà¹àž²  
+CreatePane.Minimal_Build:àžàž²àž£àžªàž£à¹àž²àžà¹àž«àž¡à¹àž­àž¢à¹àž²àžàžà¹àž­àž¢àžàžµà¹àžªàžžàž  
+CreatePane.Minimal_Build_Tooltip:à¹àž£à¹àž§àžàž¶à¹àž à¹àžàž·à¹àž­àžàžàž²àžàž£àž°àžàžàžàž³à¹àžàžŽàžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžàž³à¹àžà¹àžàžàž²àžàžªà¹àž§àžà¹àžà¹àž²àžàž±à¹àž  
+CreatePane.Minimal_Build_Not_Required:à¹àž¡à¹àžàž³à¹àžà¹àžàžà¹àž­àžàžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹ à¹àžàž·à¹àž­àžàžàž²àžàžàžžàžà¹àž¡à¹à¹àžà¹à¹àžàžŽà¹àž¡à¹àžà¹àž¡à¹àžà¹ àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž \nà¹àž¡à¹à¹àžà¹à¹àžà¹à¹àžà¹àž¡àžàž²àžàž²àžàž² àž«àž£àž·àž­à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžàž±àž§à¹àž¥àž·àž­àžà¹àžàžàž²àžàž«àžà¹àž²àžà¹àž²àž 'àž­àž­àžà¹àžàž'\n(à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž±àžàžàž±àžà¹àž«à¹àž£àž°àžàžàžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹ à¹àž«à¹à¹àž¥àž·àž­àž "àžªàž£à¹àž²àžà¹àž«àž¡à¹àžàž±à¹àžàž«àž¡àž" à¹àž¥àž°àžàžàžàžžà¹àž¡ "àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž")  
+CreatePane.Log:à¹àžà¹àž¡àžàž±àžàžàž¶àžàžà¹àž­àžàž§àž²àž¡  
+CreatePane.Log_Tooltip:àžàž¹àžàž¥àž¥àž±àžàžà¹àžàž²àžàžàž§àž²àž¡àžàž¢àž²àž¢àž²àž¡à¹àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžà¹àž­àžàž«àžà¹àž²àžàžµà¹  
+CreatePane.Mode_All:àžàž±à¹àžàž«àž¡àž  
+CreatePane.Options:àžàž¥àžžà¹àž¡àžàž±àž§à¹àž¥àž·àž­àž  
+CreatePane.Options_Title:àžàž±àž§à¹àž¥àž·àž­àžàžàž²àž£àžàž³à¹àžà¹àž² àžàž²àž£àžªàž£à¹àž²àž à¹àž¥àž°àžàž²àž£àžàž³àž«àžàžà¹àž§àž¥àž²àžàž­àž¥à¹àž¥àžàžàž±àž  
+CreatePane.Preview_Collection:à¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+CreatePane.Preview_Collection_Tooltip:à¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+#**********************
+#
+#***** Dates *****
+Dates.Mon:àž§àž±àžàžàž±àžàžàž£à¹  
+Dates.Tue:àž§àž±àžàž­àž±àžàžàž²àž£  
+Dates.Wed:àž§àž±àžàžàžžàž  
+Dates.Thu:àž§àž±àžàžàž€àž«àž±àžªàžàžàžµ  
+Dates.Fri:àž§àž±àžàžšàžžàžàž£à¹  
+Dates.Sat:àž§àž±àžà¹àžªàž²àž£à¹  
+Dates.Sun:àž§àž±àžàž­àž²àžàžŽàžàž¢à¹  
+Dates.Jan:à¹àžàž·àž­àžàž¡àžàž£àž²àžàž¡  
+Dates.Feb:à¹àžàž·àž­àžàžàžžàž¡àž àž²àžàž±àžàžà¹  
+Dates.Mar:à¹àžàž·àž­àžàž¡àžµàžàž²àžàž¡  
+Dates.Apr:à¹àžàž·àž­àžà¹àž¡àž©àž²àž¢àž  
+Dates.May:à¹àžàž·àž­àžàžàž€àž©àž àž²àžàž¡  
+Dates.Jun:à¹àžàž·àž­àžàž¡àžŽàžàžžàžàž²àž¢àž  
+Dates.Jul:à¹àžàž·àž­àžàžàž£àžàžàž²àžàž¡  
+Dates.Aug:à¹àžàž·àž­àžàžªàžŽàžàž«àž²àžàž¡  
+Dates.Sep:à¹àžàž·àž­àžàžàž±àžàž¢àž²àž¢àž  
+Dates.Oct:à¹àžàž·àž­àžàžàžžàž¥àž²àžàž¡  
+Dates.Nov:à¹àžàž·àž­àžàžàž€àžšàžàžŽàžàž²àž¢àž  
+Dates.Dec:à¹àžàž·àž­àžàžàž±àžàž§àž²àžàž¡  
+#**********************
+#
+#***** Delete Collection Prompt *****
+DeleteCollectionPrompt.Collection_Details:àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹  
+DeleteCollectionPrompt.Collection_List:àžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžªàž²àž¡àž²àž£àžà¹àžà¹àžàž²àžà¹àžà¹  
+DeleteCollectionPrompt.Confirm_Delete:àžàž£àžžàžàž²àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàžµà¹àžàž¥à¹àž­àžà¹àžàž·à¹àž­àž¢àž·àžàž¢àž±àžàžàž²àž£àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+DeleteCollectionPrompt.Delete:àž¥àž  
+DeleteCollectionPrompt.Delete_Tooltip:àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹  
+DeleteCollectionPrompt.Details:àžàž¹à¹àžªàž£à¹àž²àž - {0}\nàžàž¹à¹àžàž¹à¹àž¥àž£àž°àžàž - {1}\nàž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àž\n{2}  
+DeleteCollectionPrompt.Failed_Delete:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¥àžàžàž­àž¥à¹àž¥àžàžàž±àžàž­àž­àžàžàž²àžàž£àž°àžàžà¹àžà¹àž­àž¢à¹àž²àžàžªàž¡àžàž¹àž£àžà¹  
+DeleteCollectionPrompt.Failed_Title:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž³à¹àžàžŽàžàžàž²àž£àž¥àžà¹àžà¹!  
+DeleteCollectionPrompt.No_Collection:àžàžžàžàž¢àž±àžà¹àž¡à¹à¹àžà¹à¹àž¥àž·àž­àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+DeleteCollectionPrompt.Successful_Delete:àžàž­àž¥à¹àž¥àžàžàž±àžàžàž¹àžàž¥àžà¹àž£àžµàž¢àžàž£à¹àž­àž¢à¹àž¥à¹àž§  
+DeleteCollectionPrompt.Successful_Title:àžàž²àž£àž¥àžà¹àžªàž£à¹àžàžªàž¡àžàž¹àž£àžà¹!  
+DeleteCollectionPrompt.Title:àžàž²àž£àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+DeleteCollectionPrompt.Cannot_Delete_Open_Collection_Tooltip:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¥àžàžàž­àž¥à¹àž¥àžàžàž±àž {0} à¹àžà¹ à¹àžàž·à¹àž­àžàžàž²àžàžàžàž°àžàžµà¹àžàžžàžà¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž­àž¢àž¹à¹  
+#**********************
+#
+#***** DirectoryLevelMetadata *****
+DirectoryLevelMetadata.Message:àžàžžàžàžàž³àž¥àž±àžàžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž² 'àž£àž°àžàž±àžà¹àžàž¥à¹àžàž­àž£à¹' à¹àž«à¹àžàž±àžà¹àžàž¥à¹àžàž­àž£à¹àž«àžàž¶à¹àžàžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹ (àž«àž£àž·àž­àž«àž¥àž²àž¢à¹àžàž¥à¹àžàž­àž£à¹) à¹àžà¹àž¡à¹àž¥àž°à¹àžàž¥à¹àžàž­àž£à¹àžàž±à¹àžàž«àž¡àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àžàž°à¹àžà¹àž£àž±àžàžªàž·àžàžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžà¹àžàž³àž«àžàžà¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽ à¹àž¥àž°àžàžžàžàžàž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àž­àž²à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž­àž­àžàžàž²àžà¹àžà¹àž¡àž«àž£àž·àž­à¹àžàž¥à¹àžàž­àž£à¹àž¥àž¹àžàžàžµà¹à¹àžàžàž²àž°à¹àžàž²àž°àžàžà¹àžà¹ à¹àžà¹àžàž°àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžàžµàž¢àžà¹àžàžàžàžµà¹à¹àžà¹àž²àžàž±à¹àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž³à¹àžàžŽàžàžàž£àž°àžàž³àžàžµà¹àžà¹àž­ à¹àž«à¹àžàž¥àžŽàž 'àžàžàž¥àž'  
+DirectoryLevelMetadata.Title:à¹àžàžµà¹àž¢àž§àžàž±àžàžàž²àž£à¹àžàžŽà¹àž¡à¹àž¡àžàž²àžàž²àžàž²àž£àž°àžàž±àžà¹àžàž¥à¹àžàž­àž£à¹  
+
+#*******************
+#
+#***** Download *****
+DOWNLOAD.MODE.Root:Download_Root  
+DOWNLOAD.MODE.WebDownload:à¹àž§à¹àž  
+DOWNLOAD.MODE.MediaWikiDownload:MediaWiki  
+DOWNLOAD.MODE.OAIDownload:OAI  
+DOWNLOAD.MODE.ZDownload:Z39.50  
+DOWNLOAD.MODE.SRWDownload:SRW  
+
+Download.ServerInformation:àžà¹àž­àž¡àž¹àž¥à¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹  
+Download.ServerInformation_Tooltip:àžàž²àž§àžà¹à¹àž«àž¥àžàžà¹àž­àž¡àž¹àž¥à¹àžàžµà¹àž¢àž§àžàž±àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹ à¹àž¥àž°àžàž£àž§àžàžªàž­àžàž§à¹àž²àžªàž²àž¡àž²àž£àžà¹àžàž·à¹àž­àž¡àžà¹àž­à¹àžà¹  
+
+#********************
+#
+#***** EnrichPane *****
+EnrichPane.AutoMessage:àž­àžàžà¹àžàž£àž°àžàž­àž {0} à¹àžà¹àžàžàž­àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž£àžµàžàžªà¹àžàž àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž°à¹àžªàžàžà¹àž«à¹à¹àž«à¹àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžªàž²àž¡àž²àž£àžàžàž±àžàžàž­àžàž­àž­àžàž¡àž²à¹àžà¹à¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž£àž§àžàžªàž­àžàž§à¹àž²à¹àž¡àžàž²àžàž²àžàž² {0} à¹àžàžà¹àž²àžàžàžµà¹àžªàž²àž¡àž²àž£àžàžàž±àžàžàž­àžàž­àž­àžàž¡àž²à¹àžà¹ à¹àž«à¹àžàž³à¹àžàžŽàžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž¢à¹àžà¹à¹àžà¹àž 'àžªàž£à¹àž²àž'  
+EnrichPane.ExistingValues:àžà¹àž²àžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§àžªàž³àž«àž£àž±àž {0}  
+EnrichPane.InheritedMetadataSelected:à¹àž¡àžàž²àžàž²àžàž²àžàžŽà¹àžàžàžµà¹à¹àžà¹àž£àž±àžàžàž²àž£àžªàž·àžàžàž­àžàž¡àž²àžàž²àžà¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àž­àž¢àž¹à¹à¹àž«àžàž·àž­à¹àž¡àžàž²àžàž²àžàž² à¹àž¥àž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžà¹àžà¹ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹àž²à¹àžàž¢àž±àžà¹àžàž¥à¹àžàž­àž£à¹àžàž£àžŽàžàžàžµà¹àžàž±àžà¹àžà¹àžà¹àž¡àžàž²àžàž²àžàž²à¹àžà¹à¹àžàž¢àžàž¥àžŽàžàžàžµà¹à¹àž­àžàž­àžà¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àžàžžàžà¹àž£àžŽà¹àž¡àžà¹àžà¹àžàž§  
+EnrichPane.InheritedMetadata_Tooltip:àžàž¥àžŽàžà¹àž­àžàž­àžàžàžµà¹à¹àžàž·à¹àž­à¹àžà¹àž²àžàž¡à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àžàž±àžà¹àžà¹àžàžàž²àž£àžàž³àž«àžàžàžàžŽà¹àžàžªà¹àž§àžàžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžªàž·àžàžàž­àžàž¡àž²  
+EnrichPane.ManageMetadataSets:àžàž±àžàžàž²àž£àžàžžàžà¹àž¡àžàž²àžàž²àžàž²âŠ  
+EnrichPane.ManageMetadataSets_Tooltip:à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹  
+EnrichPane.No_File:àžàžžàžàž¢àž±àžà¹àž¡à¹à¹àžà¹à¹àž¥àž·àž­àžà¹àžà¹àž¡  
+EnrichPane.No_Metadata:à¹àž¡à¹àž¡àžµà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžªàž²àž¡àž²àž£àžà¹àžà¹àžàž²àžà¹àžà¹  
+EnrichPane.No_Metadata_Element:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>à¹àž¡à¹à¹àžà¹à¹àž¥àž·àž­àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²</FONT></STRONG></HTML>  
+EnrichPane.NotOneFileOnlyMetadataSelected:à¹àž¡àžàž²àžàž²àžàž²àžàžŽà¹àžàžàžµà¹à¹àž¡à¹à¹àžà¹àžàž£àž°àž¢àžžàžàžà¹à¹àžà¹àžàž±àžà¹àžà¹àž¡àžàžµà¹à¹àžà¹àž²àžàž±à¹àž à¹àž¥àž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžà¹àžà¹  
+EnrichPane.Value_Field_Tooltip:àžà¹àž²àžàžµà¹àžà¹àž­àžàžàž²àž£àžàž³àž«àžàžà¹àž«à¹àžàž±àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹  
+EnrichPane.Value_Field_Tooltip_Uneditable:àžà¹àž²àžàžµà¹àžàž³àž«àžàžà¹àž«à¹àžàž±àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹  
+#***********************
+#
+#****** ExplodeMetadataPrompt *******
+ExplodeMetadataPrompt.Explode:àžàž£àž°àžàž²àž¢  
+ExplodeMetadataPrompt.Explode_Tooltip:àžàž£àž°àžàž²àž¢à¹àžà¹àž¡à¹àž¡àžàž²àžàž²àžàž²  
+ExplodeMetadataPrompt.Instructions:àžàž²àž£àžàž£àž°àžàž²àž¢à¹àžà¹àž¡à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž°àžªàž£à¹àž²àžàž£àž°à¹àžàžµàž¢àžàž­àžŽàžªàž£àž°àžàž£à¹àž­àž¡àžà¹àž§àž¢à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžà¹àžà¹ àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£àžàžµà¹à¹àžà¹àžàžàž£àž°àžàž§àžàžàž²àž£àžàžµà¹à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¢à¹àž­àžàžàž¥àž±àžà¹àžà¹ à¹àž¥àž°àž£àž°àžàžàžàž°à¹àž­àž²à¹àžà¹àž¡à¹àž¡àžàž²àžàž²àžàž²à¹àžàžŽàž¡àž­àž­àžàžàž²àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+ExplodeMetadataPrompt.Failed_Title:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž³à¹àžàžŽàžàžàž²àž£àžàž£àž°àžàž²àž¢à¹àžà¹  
+ExplodeMetadataPrompt.Failed_Explode:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž£àž°àžàž²àž¢àžàž²àžàžà¹àž­àž¡àž¹àž¥ {0} à¹àžà¹  
+ExplodeMetadataPrompt.NotExplodable:à¹àžà¹àž¡àžàžµà¹à¹àžà¹àžà¹àžà¹àž¡àžàžµà¹à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž£àž°àžàž²àž¢à¹àžà¹  
+ExplodeMetadataPrompt.Successful_Explode:àžàž£àž°àžàž²àž¢àžàž²àžàžà¹àž­àž¡àž¹àž¥ {0} à¹àžªàž£à¹àžà¹àž£àžµàž¢àžàž£à¹àž­àž¢à¹àž¥à¹àž§  
+ExplodeMetadataPrompt.Successful_Title:àžàž²àž£àžàž£àž°àžàž²àž¢à¹àžªàž£à¹àžàžªàž¡àžàž¹àž£àžà¹à¹àž¥à¹àž§  
+ExplodeMetadataPrompt.Title:àžàž£àž°àžàž²àž¢àžàž²àžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²  
+ExplodeMetadataPrompt.Plugin:àžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžà¹à¹àžàžàž²àž£àžàž£àž°àžàž²àž¢  
+#***********************
+#
+#****** ReplaceSrcWithHTMLPrompt *******
+ReplaceSrcWithHTMLPrompt.ReplaceSrc:à¹àžàžàžàžµà¹àžà¹àž§àž¢ HTML   
+ReplaceSrcWithHTMLPrompt.ReplaceSrc_Tooltip:à¹àžàžàžàžµà¹à¹àž­àžàžªàž²àž£àžà¹àžà¹àž«àž¥à¹àžàžàžµà¹àžà¹àž§àž¢ HTML àžàžµà¹à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžªàž£à¹àž²àžàžàž¶à¹àž  
+ReplaceSrcWithHTMLPrompt.Instructions:àžàž²àž£à¹àžàžàžàžµà¹à¹àž­àžàžªàž²àž£àžà¹àž§àž¢ HTML àžàžµà¹àž£àž°àžàžàžªàž£à¹àž²àžàžàž¶à¹àžàžàž°àžà¹àž§àž¢à¹àž«à¹àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžà¹àžà¹àž¡ HTML à¹àž¥àž°àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž¶à¹àžà¹àž«àž¡à¹à¹àžà¹à¹àžàž­àžàž²àžàžàžà¹àž§àž¢àžàž²àž£à¹àžà¹à¹àžà¹àžàžŽàž¡ àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹àžàžàžµà¹à¹àžà¹àžàžàž£àž°àžàž§àžàžàž²àž£àžàžµà¹à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¢à¹àž­àžàžàž¥àž±àžà¹àžà¹ àžàž±àžàžàž±à¹àž à¹àž­àžàžªàž²àž£àžàž±à¹àžà¹àžàžŽàž¡àžàžµà¹àžàž¹àžà¹àžàžàžàžµà¹àžàž°àžàž¹àžàž¥àžàž­àž­àžà¹àžàžàž²àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+ReplaceSrcWithHTMLPrompt.Failed_Title:à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àžàžàžàžµà¹àžà¹àž§àž¢ HTML à¹àžà¹  
+ReplaceSrcWithHTMLPrompt.Failed_ReplaceSrc:à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àžàžàžàžµà¹à¹àž­àžàžªàž²àž£ {0} àžà¹àž§àž¢ HTML à¹àžà¹  
+ReplaceSrcWithHTMLPrompt.NotSrcReplaceable:à¹àžà¹àž¡àžàžàžŽàžàžàžµà¹à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àžàžàžàžµà¹àžà¹àž§àž¢ HTML à¹àžà¹  
+ReplaceSrcWithHTMLPrompt.Successful_ReplaceSrc:à¹àž­àžàžªàž²àž£àžàžµà¹à¹àž¥àž·àž­àžàžàž±à¹àžàž«àž¡àžàžàž¹àžà¹àžàžàžàžµà¹àžà¹àž§àž¢ HTML à¹àž£àžµàž¢àžàž£à¹àž­àž¢à¹àž¥à¹àž§  
+ReplaceSrcWithHTMLPrompt.Successful_Title:àžàž²àž£à¹àžàžàžàžµà¹àžà¹àž§àž¢ HTML àžàžµà¹àž£àž°àžàžàžªàž£à¹àž²àžàžàž¶à¹àžà¹àžªàž£à¹àžàžªàž¡àžàž¹àž£àžà¹à¹àž¥à¹àž§  
+ReplaceSrcWithHTMLPrompt.Title:à¹àžàžàžàžµà¹à¹àž­àžàžªàž²àž£àžà¹àžà¹àž«àž¥à¹àžàžà¹àž§àž¢à¹àžà¹àž¡ HTML   
+ReplaceSrcWithHTMLPrompt.Plugin:àžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžàž°à¹àžà¹àžªàž³àž«àž£àž±àžàžàž²àž£àžàž£àž°àžàž²àž¢  
+#***********************
+#
+#****** WriteCDImagePrompt *******
+WriteCDImagePrompt.CD_Name:àžàž·à¹àž­àžàžµàžàžµ/àžàžµàž§àžµàžàžµ  
+WriteCDImagePrompt.Export:à¹àžàžµàž¢àžàž­àžŽàž¡à¹àž¡àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµ  
+WriteCDImagePrompt.Export_Tooltip:à¹àžàžµàž¢àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹à¹àžàž£àž¹àžà¹àžàžàž­àžŽàž¡à¹àž¡àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµàžàž­àžàž§àžŽàžà¹àžàžªà¹  
+WriteCDImagePrompt.Failed_Export:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àž ({0}) à¹àžà¹  
+WriteCDImagePrompt.Failed_Title:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž³àžàž²àž£àžªà¹àžàž­àž­àžà¹àžà¹  
+WriteCDImagePrompt.Install:àžàžµàžàžµ/àžàžµàž§àžµàžàžµ àžàž°àžàžŽàžàžàž±à¹àžà¹àžà¹àž¡àžàž²àžà¹àžà¹àž¡àžàžàž°à¹àžà¹ (à¹àž£à¹àž§àžàž§à¹àž²)  
+WriteCDImagePrompt.Install_Tooltip:àžªàž£à¹àž²àžàžàžµàžàžµàž£àž­àž¡àžàžµà¹àžàžŽàžàžàž±à¹àžà¹àžà¹à¹àž­àžàžàž¶à¹àžàžàžŽàžàžàž±à¹àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹àž«à¹àž­àžàžªàž¡àžžàž (à¹àž¥àž°àž­àž²àžàžàž°àž£àž§àž¡àžàž¶àžà¹àžà¹àž¡àžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àžàž«àž¡àž) àž¥àžàžàžà¹àžàž£àž·à¹àž­àžà¹àž®àžªàžà¹  
+WriteCDImagePrompt.NoInstall:àžàžµàžàžµ/àžàžµàž§àžµàžàžµ àžàž°à¹àž¡à¹àžàžŽàžàžàž±à¹àžà¹àžà¹àž¡à¹àžà¹ àžàžàž°à¹àžà¹  
+WriteCDImagePrompt.NoInstall_Tooltip:àžªàž£à¹àž²àžàžàžµàžàžµàž£àž­àž¡àžàžµà¹à¹àž£àžµàž¢àžà¹àžà¹à¹àž¥àžàž£àž²àž£àžµàžàžµàžàžµàž£àž­àž¡à¹àžàž¢àžàž£àž à¹àžàž¢à¹àž¡à¹àž¡àžµàžàž²àž£àžàžŽàžàžàž±à¹àžàžªàžŽà¹àžà¹àžàž¥àžà¹àžà¹àžàž£àž·à¹àž­àžà¹àž®àžªàžà¹  
+WriteCDImagePrompt.Instructions:àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž­àž¢à¹àž²àžàžà¹àž­àž¢àž«àžàž¶à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž¢àž±àžàž­àžŽàž¡à¹àž¡àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµàžàž­àžàž§àžŽàžà¹àžàžªà¹àžàžµà¹àžàžŽàžàžàž±à¹àžà¹àžà¹à¹àž­àž (à¹àž¡à¹àž§à¹àž²àžàž²àž£àžªà¹àžàž­àž­àžàžàžµà¹àžàž°àžàž³àžàž²àžàžàžà¹àžàž¥àžàžàž­àž£à¹àž¡à¹àžàžà¹à¹àžà¹ àž­àžŽàžà¹àž¡àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµàžàžµà¹àžªàž£à¹àž²àžà¹àžªàž£à¹àžà¹àž¥à¹àž§àžàž°àžàž³àžàž²àžà¹àžàžàž²àž°àžàžàž§àžŽàžà¹àžàžªà¹à¹àžà¹àž²àžàž±à¹àž)  
+WriteCDImagePrompt.Progress_Label:àžàž³àž¥àž±àžàžàž³àžªàž³à¹àžàž²à¹àžà¹àž¡ àž£àž°àžàžàžàž°à¹àžà¹à¹àž§àž¥àž²àžªàž±àžàžàž£àž¹à¹âŠ  
+WriteCDImagePrompt.Size_Label:àžàžàž²àžà¹àžàž¢àžàž£àž°àž¡àž²àž:  
+WriteCDImagePrompt.Successful_Export:àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àž ({0}) à¹àž£àžµàž¢àžàž£à¹àž­àž¢à¹àž¥à¹àž§  
+WriteCDImagePrompt.Successful_Title:àžàž²àž£àžªà¹àžàž­àž­àžà¹àžªàž£à¹àžàžªàž¡àžàž¹àž£àžà¹  
+WriteCDImagePrompt.Title:àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž¢àž±àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµ
+#************************
+#
+#****** ExportAsPrompt *******
+ExportAsPrompt.Export_Name:àžàž·à¹àž­à¹àžàž¥à¹àžàž­àž£à¹  
+ExportAsPrompt.Export_Name_Tooltip:àžàž·à¹àž­àžàž­àžà¹àžàž¥à¹àžàž­àž£à¹à¹àžà¹àžà¹àž£àžàžàž­àž£àžµ tmp àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàžµà¹àžàž¶à¹àžà¹àžà¹àžàžàžµà¹àžàž±àžàžàž¶àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžªà¹àžàž­àž­àž  
+ExportAsPrompt.Export:àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+ExportAsPrompt.Export_Tooltip:àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àž¥àž·àž­àžà¹àžàž£àž¹àžà¹àžàžà¹àžà¹àž¡àžàžµà¹à¹àžà¹à¹àž¥àž·àž­àžà¹àž§à¹à¹àžàž¢àž±àžà¹àžà¹àžà¹àž£àžàžàž­àž£àžµàžàžµà¹àžàž³àž«àžàž  
+ExportAsPrompt.Failed_ExportOne:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àž {0} à¹àžà¹  
+ExportAsPrompt.Failed_Details:àžàž¹àžàžµà¹ {1} àžªàž³àž«àž£àž±àžàž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžà¹àžàžŽà¹àž¡à¹àžàžŽàž¡  
+ExportAsPrompt.Failed_Title:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž³à¹àžàžŽàžàžàž²àž£àžªà¹àžàž­àž­àžà¹àžà¹  
+ExportAsPrompt.Instructions:àžªà¹àžàž­àž­àžà¹àžà¹àž¡à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«à¹àž­àž¢àž¹à¹à¹àžàž­àžµàžàž£àž¹àžà¹àžàžàž«àžàž¶à¹àž  
+ExportAsPrompt.Progress_Label:àžàž³àž¥àž±àžàžªà¹àžàž­àž­àžà¹àžà¹àž¡ àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£àžàžµà¹àž­àž²àžà¹àžà¹à¹àž§àž¥àž²àžªàž±àžàžàž£àž¹à¹âŠ  
+ExportAsPrompt.Successful_ExportOne:àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àž {0} à¹àž£àžµàž¢àžàž£à¹àž­àž¢à¹àž¥à¹àž§  
+ExportAsPrompt.Successful_Details:à¹àžà¹àž¡àžàž¹àžàžªà¹àžàž­àž­àžà¹àžàž¢àž±àž: {1}  
+ExportAsPrompt.Successful_Title:àžàž²àž£àžªà¹àžàž­àž­àžà¹àžªàž£à¹àžàžªàž¡àžàž¹àž£àžà¹  
+ExportAsPrompt.Title:àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+ExportAsPrompt.SaveAs:àžªà¹àžàž­àž­àžà¹àžàž¢àž±àž  
+ExportAsPrompt.SaveAs_Tooltip:à¹àž¥àž·àž­àžàž£àž¹àžà¹àžàžàžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£àžªà¹àžàž­àž­àž  
+ExportAsPrompt.Cancel:àž¢àžà¹àž¥àžŽàž  
+ExportAsPrompt.Cancel_Tooltip:àž¢àžà¹àž¥àžŽàžàžàž£àž°àžàž§àžàžàž²àž£àžªà¹àžàž­àž­àž  
+ExportAsPrompt.Browse:à¹àž£àžµàž¢àžàžàž¹  
+ExportAsPrompt.Browse_Tooltip:à¹àž¥àž·àž­àžà¹àžà¹àž¡ xsl  
+ExportAsPrompt.ApplyXSL:àžàž£àž°àž¢àžžàžàžà¹à¹àžà¹à¹àžà¹àž¡ XSL àžàž±àž {0}  
+ExportAsPrompt.ApplyXSL_Tooltip:à¹àžà¹à¹àžà¹àž¡ xsl à¹àžàž·à¹àž­à¹àžàž¥àžà¹àžà¹àž¡àžàžµà¹àžªà¹àžàž­àž­àž  
+ExportAsPrompt.MARCXMLGroup:àžàž±àžàžàž¥àžžà¹àž¡àž£àž°à¹àžàžµàž¢àž marc  
+ExportAsPrompt.MARCXMLGroup_Tooltip:àžªà¹àžàž­àž­àžàž£àž°à¹àžàžµàž¢àž marc àžàž±à¹àžàž«àž¡àžàž¥àžà¹àžà¹àžà¹àž¡à¹àžàžµàž¢àž§  
+ExportAsPrompt.MappingXML:àžàž£àž°àž¢àžžàžàžà¹à¹àžà¹à¹àžà¹àž¡àžàž²àž£à¹àž¡àž  
+ExportAsPrompt.MappingXML_Tooltip:à¹àžà¹à¹àžà¹àž¡àžàž²àž£à¹àž¡àžà¹àžàž·à¹àž­à¹àžàž¥àžà¹àžà¹àž¡àžàžµà¹àžªà¹àžàž­àž­àž  
+#
+#***** Inherited Metadata *****
+ExtractedMetadata.Message:à¹àžà¹àž¡àž«àž£àž·àž­à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹à¹àž¥àž·àž­àžàžàž£àž£àžàžžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž£àž°àžàžàžàž±àžàžàž­àžàž­àž­àžàž¡àž² à¹àžà¹àžàžàž°àžàžµà¹à¹àžà¹àžàž¹àžàžà¹àž­àžà¹àž§à¹ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž¹à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž£àž°àžàžàžàž±àžàžàž­àžàž­àž­àžàž¡àž² à¹àž«à¹à¹àžàžàžµà¹à¹àž¡àžàž¹ "à¹àžà¹[àž¡]" à¹àž¥àž°à¹àž¥àž·àž­àž "àžàž³[àž«]àžàžàž¥àž±àžàž©àžàž°"  à¹àžà¹àžà¹àžàžàžžàžàžªàž¡àžàž±àžàžŽ "àžàž±à¹àž§à¹àž" à¹àž«à¹à¹àž¥àž·àž­àž "àžàž¹à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž±àžàžàž­àžàž­àž­àžàž¡àž²" àžàž²àžàžàž±à¹àžàžàž¥àžŽàž "[àž]àžàž¥àž"  
+ExtractedMetadata.Title:à¹àžà¹àž¡/à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àž¡àžµà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž±àžàžàž­àžà¹àž§à¹àžà¹àž­àžàž­àž¢àž¹à¹  
+#
+#***** FileActions *****
+FileActions.Calculating_Size:àžàž³àž¥àž±àžàžàž³àžàž§àžàžàžàž²àžàžàž±à¹àžàž«àž¡àžàžàž­àžà¹àžà¹àž¡àžàžµà¹à¹àž¥àž·àž­àž  
+FileActions.Copying:àžàž³àž¥àž±àžàžàž³àžªàž³à¹àžàž² {0}  
+FileActions.Could_Not_Delete:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¥àž {0} à¹àžà¹  
+FileActions.Cyclic_Path:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž³àžªàž³à¹àžàž² {0} à¹àžà¹ à¹àžàž·à¹àž­àžàžàž²àžà¹àžàž¥à¹àžàž­àž£à¹àžàž¥àž²àž¢àžàž²àžà¹àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹àž¢à¹àž­àž¢àžàž­àžà¹àžàž¥à¹àžàž­àž£à¹àžà¹àžà¹àž«àž¥à¹àž  
+FileActions.Deleting:àžàž³àž¥àž±àžàž¥àž {0}  
+FileActions.Directories_Selected:àžàžžàžà¹àž¥àž·àž­àž {0} à¹àžàž¥à¹àžàž­àž£à¹  
+FileActions.Directory_Selected:àžàžžàžà¹àž¥àž·àž­àž 1 à¹àžàž¥à¹àžàž­àž£à¹  
+FileActions.File_Already_Exists_No_Create:àž¡àžµà¹àžà¹àž¡ '{0}' àž­àž¢àž¹à¹à¹àž¥à¹àž§  
+FileActions.File_And_Directories_Selected:àžàžžàžà¹àž¥àž·àž­àž 1 à¹àžà¹àž¡à¹àž¥àž° {0} à¹àžàž¥à¹àžàž­àž£à¹  
+FileActions.File_And_Directory_Selected:àžàžžàžà¹àž¥àž·àž­àž 1 à¹àžà¹àž¡à¹àž¥àž° 1 à¹àžàž¥à¹àžàž­àž£à¹  
+FileActions.File_Create_Error:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžªàž£à¹àž²àžà¹àžà¹àž¡ {0} à¹àžà¹  
+FileActions.Folder_Create_Error:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹ {0} à¹àžà¹  
+FileActions.File_Exists:{0} àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§à¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàž¥àž²àž¢àžàž²àž àžàžžàžàžà¹àž­àžàžàž²àž£à¹àžàžµàž¢àžàžàž±àžàž«àž£àž·àž­à¹àž¡à¹  
+FileActions.File_Move_Error_Message:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¢à¹àž²àž¢ {0} à¹àžàžàžµà¹ \n{1} à¹àžà¹  
+FileActions.File_Not_Deleted_Message:{0}\nà¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¥àžà¹àžà¹àž¡àžàžµà¹àž¡àžµàžàž·à¹àž­àžàž²àž¡àžàžµà¹àžàž¥à¹àž²àž§àžà¹àž²àžàžàžà¹àžà¹ \nàžàž£àžžàžàž²àžàž£àž§àžàžªàž­àžàž§à¹àž²àžàžžàžà¹àž¡à¹à¹àžà¹à¹àžàžŽàžà¹àžà¹àž¡\nàžà¹àž§àž¢à¹àžàž£à¹àžàž£àž¡àž àž²àž¢àžàž­àž àžàž²àžàžàž±à¹àžàž¥àž­àžà¹àž«àž¡à¹àž­àžµàžàžàž£àž±à¹àž  
+FileActions.File_Not_Found_Message:{0}\nà¹àž¡à¹àžàžà¹àžà¹àž¡àžàžµà¹àž¡àžµàžàž·à¹àž­àžàž²àž¡àžàžµà¹àžàž¥à¹àž²àž§àžà¹àž²àžàžàž àžàž±àžàžàžµàžàžµà¹àž¡àžžàž¡àž¡àž­àžà¹àžà¹àž¡\nà¹àžà¹àž£àž±àžàžàž²àž£àžàž·à¹àžàžàž¹ àžàž£àžžàžàž²àžàž£àž§àžàžªàž­àžàž§à¹àž² àž¢àž±àžàžàžàž¡àžµà¹àžà¹àž¡àž­àž¢àž¹à¹àž«àž£àž·àž­à¹àž¡à¹  
+FileActions.File_Selected:àžàžžàžà¹àž¥àž·àž­àž 1 à¹àžà¹àž¡  
+FileActions.Files_And_Directory_Selected:àžàžžàžà¹àž¥àž·àž­àž {0} à¹àžà¹àž¡à¹àž¥àž° 1 à¹àžàž¥à¹àžàž­àž£à¹  
+FileActions.Files_Selected:àžàžžàžà¹àž¥àž·àž­àž {0} à¹àžà¹àž¡  
+FileActions.Folder_Already_Exists:àžàž·à¹àž­à¹àžàž¥à¹àžàž­àž£à¹ '{0}' àžàž¹àžà¹àžà¹àžàž²àžàž­àž¢àž¹à¹ à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹à¹àžà¹  
+FileActions.Insufficient_Space_Message:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž£àž°àžàž³àžàž²àž£àžà¹àž­à¹àžà¹àž¡à¹àžà¹ à¹àžàž·à¹àž­àžàžàž²àžàžàž·à¹àžàžàžµà¹àžàžŽàžªàžà¹\nà¹àž¡à¹à¹àžàžµàž¢àžàžàž­ à¹àžàž·à¹àž­àžàž³à¹àžàžŽàžàžàž²àž£àžàž³àžªàž³à¹àžàž²à¹àžà¹àž¡à¹àž«à¹àžªàž³à¹àž£à¹àž àžàžžàžàžà¹àž­àžàžàž²àž£àžàž·à¹àžàžàžµà¹\nà¹àžàžŽà¹àž¡àž­àžµàž: {0}  
+FileActions.Moving:àžàž³àž¥àž±àžàž¢à¹àž²àž¢ {0}  
+FileActions.No_Activity:à¹àž¡à¹àž¡àžµàžàž²àž£àž£à¹àž­àžàžàž­àžàž²àž£àžàž£àž°àžàž³à¹àžà¹  
+FileActions.Read_Not_Permitted_Message:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž­à¹àž²àž {0} à¹àžà¹  
+FileActions.Read_Only:à¹àžà¹àž¡àžàž²àžàžàž·à¹àžàžàžµà¹àžàž³àžàž²àžà¹àžà¹àžà¹àžàžàž­à¹àž²àžàž­àž¢à¹àž²àžà¹àžàžµàž¢àž§ à¹àž¥àž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¥àžà¹àžà¹  
+FileActions.Replacing:à¹àžàžàžàžµà¹ {0}  
+FileActions.Selected:àžàžžàžà¹àž¥àž·àž­àž {0} à¹àžà¹àž¡à¹àž¥àž° 1 à¹àžàž¥à¹àžàž­àž£à¹  
+FileActions.Unknown_File_Error_Message:à¹àž¡à¹àž§à¹àž²àžàž°à¹àž¡à¹àž¡àžµàž£àž²àž¢àžàž²àžàžà¹àž­àžàž§àž²àž¡à¹àžªàžàžàžàž§àž²àž¡àžàžŽàžàžàž¥àž²àžàž£àž°àž«àž§à¹àž²àžàžàž²àž£àžàž£àž°àžàž³\nà¹àžà¹àž¡ àžàž²àž£àžàž£àž§àžàžªàž­àžàžàž£àž±à¹àžàžªàžžàžàžà¹àž²àž¢à¹àžà¹à¹àžªàžàžàž§à¹àž² àžªàž³à¹àžàž²\nàžàž¥àž²àž¢àžàž²àžà¹àž¡à¹à¹àž«àž¡àž·àž­àžàžàž±àžà¹àžà¹àž¡àžà¹àžà¹àž«àž¥à¹àž àž£àž°àžàžàž¢àž±àžà¹àž¡à¹àžàž£àž²àžàžªàž²à¹àž«àžàžž\nàžàž­àžàžªàžŽà¹àžàžàžµà¹à¹àžàžŽàžàžàž¶à¹àžàžàžµà¹ àžàž£àžžàžàž²àžàž£àž§àžàžªàž­àžàžªàž·à¹àž­àžàž­àžàžàžžàžà¹àž¥àž°àžàž£àž±àžàžàž£àžžàž\nJVM àžàžµà¹àžàžžàžàžàžŽàžàžàž±à¹àž  
+FileActions.Write_Not_Permitted_Message:àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹à¹àž¡à¹à¹àžà¹àž£àž±àžàžªàžŽàžàžàžŽà¹àž«à¹à¹àžàžµàž¢àžà¹àžàžàžµà¹\n{0}\nàžàž£àžžàžàž²àžàž£àž§àžàžªàž­àžàžªàžŽàžàžàžŽàžàž­àžà¹àžà¹àž¡àžàž±à¹àž  
+FileActions.Write_Not_Permitted_Title:àžà¹àž­àžàžŽàžàžàž¥àž²àž - àžªàžŽàžàžàžŽàžàž­àžà¹àžà¹àž¡à¹àž¡à¹àžàž¹àžàžà¹àž­àž  
+FileActions.Yes_To_All:à¹àžà¹àžàž±à¹àžàž«àž¡àž  
+FileActions.File_Permission_Detail:\n\nàž«àž¡àž²àž¢à¹àž«àžàžž: à¹àžàž¢àžàž±à¹àž§à¹àžà¹àž¥à¹àž§ àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàž³à¹àžà¹àžàžà¹àž­àžà¹àžà¹àžªàžŽàžàžàžŽà¹àžàžàž²àž£à¹àžàžµàž¢àžàžªàž³àž«àž£àž±àžà¹àžàž¥à¹àžàž­àž£à¹àž£àž²àž (Home Folder) àžàž­àžà¹àžàž£à¹àžàž£àž¡ \nàžàž¶à¹àžà¹àžàžàžµà¹àžàžµà¹àžàž·àž­ {0}\nàžàž£àžžàžàž²à¹àž«à¹àžªàžŽàžàžàžŽ 'àžàž§àžàžàžžàž¡àžàž±à¹àžàž«àž¡àž' à¹àžà¹à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹ (à¹àž¥àž°à¹àžàž¥à¹àžàž­àž£à¹àž¢à¹àž­àž¢àžàž±à¹àžàž«àž¡àž) àžàž±àžàžàž¹à¹à¹àžà¹àžàž±àžàžàžžàžàž±àž ({1}) à¹àž¥àž°àž¥àž­àžàž­àžµàžàžàž£àž±à¹àž\n\n(àž­àžµàžàžàž²àžà¹àž¥àž·àž­àžàž«àžàž¶à¹àž àžàž·àž­ à¹àž«à¹àžàžŽàžàžàž±à¹àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àž«àž¡à¹àž¥àžà¹àžàžàž³à¹àž«àžà¹àžàžàžµà¹àžàžžàžà¹àžà¹àž£àž±àžàžªàžŽàžàžàžŽ "àžàž§àžàžàžžàž¡àžàž±à¹àžàž«àž¡àž" à¹àž£àžµàž¢àžàž£à¹àž­àž¢à¹àž¥à¹àž§\n à¹àžà¹àž à¹àžàž¥à¹àžàž­àž£à¹àž£àž²àžàžàž­àžàžàžžàž (Home Folder) àž«àž£àž·àž­ "My Documents")  
+
+#************************
+#
+#******* File Associations dialog **********
+FileAssociationDialog.Add:à¹àžàžŽà¹àž¡  
+FileAssociationDialog.Add_Tooltip:à¹àžà¹à¹àžàž£à¹àžàž£àž¡àžàž£àž°àž¢àžžàžàžà¹àžàžµà¹à¹àžàž·à¹àž­àžàž¹à¹àžà¹àž¡àžàžàžŽàžàžàžµà¹  
+FileAssociationDialog.Batch_File:à¹àžà¹àž¡àžàžžàžàžàž³àžªàž±à¹àž  
+FileAssociationDialog.Browse:à¹àž£àžµàž¢àžàžàž¹  
+FileAssociationDialog.Browse_Tooltip:à¹àž¥àž·àž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àž°àž¢àžžàžàžà¹àžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžà¹àžàž²àžàžàž·à¹àžàžàžµà¹à¹àžà¹àž¡àžàž­àžàžàžžàž  
+FileAssociationDialog.Browse_Tooltip_Mac:àžàžàž°àžàžµà¹àžàž²àž£à¹àž£àžµàž¢àžàžàž¹à¹àžàž£à¹àžàž£àž¡àžàž£àž°àž¢àžžàžàžà¹àžàž­àžàžàžžàžàžàž¹àžàžàžŽàžà¹àžà¹àžàž²àžà¹àž MacOS  
+FileAssociationDialog.Browse_Title:à¹àž¥àž·àž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àž°àž¢àžžàžàžà¹  
+FileAssociationDialog.Close:àžàžŽàž  
+FileAssociationDialog.Close_Tooltip:àžàžŽàžàžàž¥à¹àž­àžà¹àžà¹àžàž­àžàžàžµà¹ à¹àž¥àž°àžàž¥àž±àžà¹àžàž¢àž±àžàž«àžà¹àž²àžà¹àž²àžàž«àž¥àž±àž  
+FileAssociationDialog.Command:à¹àž£àžµàž¢àžà¹àžà¹àžàž³àžªàž±à¹àž:  
+FileAssociationDialog.Command_File:à¹àžà¹àž¡àžàž³àžªàž±à¹àž  
+FileAssociationDialog.Command_Tooltip:àžà¹àž­àžàžàž³àžªàž±à¹àžà¹àžàž·à¹àž­à¹àž£àžµàž¢àžà¹àžà¹à¹àžàž£à¹àžàž£àž¡àžàž£àž°àž¢àžžàžàžà¹àžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžà¹àžàž²àž  
+FileAssociationDialog.Details:àžªàž£à¹àž²àžàž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžàžàž­àžàžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹à¹àžà¹àž¡à¹àž«àž¡à¹  
+FileAssociationDialog.Executable_File:à¹àžà¹àž¡àžàžàžŽàžàž±àžàžŽàžàž²àž£  
+FileAssociationDialog.Extension:àžªàž³àž«àž£àž±àžà¹àžà¹àž¡àžàžµà¹àž¥àžàžà¹àž²àž¢àžà¹àž§àž¢:  
+FileAssociationDialog.Extension_Tooltip:àžàž²àž¡àžªàžàžžàž¥àžàž­àžà¹àžà¹àž¡àžàžµà¹àžà¹àž­àžàžàž²àž£àžàž¹  
+FileAssociationDialog.Instructions:à¹àžà¹àžàž¥à¹àž­àžà¹àžà¹àžàž­àžàžàžµà¹à¹àžàž·à¹àž­àžàž±à¹àžàžà¹àž²à¹àžàž£à¹àžàž£àž¡àž àž²àž¢àžàž­àžàžàžµà¹àžàž°à¹àžà¹àžàž¹àžàžàžŽàžàžàž­àžà¹àžà¹àž¡àžàžµà¹à¹àžàž²àž°àžàž à¹àž¥àž°àžàž³àžªàž±à¹àžàžàžµà¹àžàž¹àžàžªà¹àžàž­àž­àžà¹àžà¹àžàž·à¹àž­à¹àž£àžµàž¢àžà¹àžà¹à¹àžàž£à¹àžàž£àž¡àžàžµà¹\nà¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàžàžŽàžàžàž­àžà¹àžà¹àž¡à¹àž«àž¡à¹ à¹àž«à¹àžàžŽàž¡àžà¹àžàž²àž¡àžªàžàžžàž¥àžàž­àžà¹àžà¹àž¡àž¥àžà¹àž 'àžªàž³àž«àž£àž±àžà¹àžà¹àž¡àžàžµà¹àž¥àžàžà¹àž²àž¢àžà¹àž§àž¢' à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àž«àž£àž·àž­à¹àžàž¥àžµà¹àž¢àžàžàž³àžªàž±à¹àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àž à¹àž«à¹àžàžŽàž¡àžà¹àžàž³àžªàž±à¹àžà¹àž«àž¡à¹àž¥àžà¹àž 'àžàž³àžªàž±à¹àžà¹àž£àžµàž¢àžà¹àžà¹' àž«àž£àž·àž­àžàž¥àžŽàž 'à¹àž£àžµàž¢àžàžàž¹' à¹àžàž·à¹àž­àžà¹àžàž«àž²àž£àž°àžàžà¹àžà¹àž¡àžªàž³àž«àž£àž±àžà¹àžàž£à¹àžàž£àž¡àžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡ à¹àž«à¹à¹àžà¹àžªàžàž£àžŽàžàžàžŽà¹àžšàž© '%1' à¹àžàž·à¹àž­àžà¹àžàžàžµà¹àžàžžàžàžàžµà¹àžàž§àž£àžàž°à¹àžàž£àžàžàž·à¹àž­àžàž­àžà¹àžà¹àž¡àžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàžŽàž àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž "C:\\Windows\\System\\MSPaint.exe %1" '%1' àžàž°àžàž¹àžà¹àžàžŽà¹àž¡à¹àžà¹àž²à¹àžàžàžµà¹àžªà¹àž§àžàžà¹àž²àž¢àžàž­àžàžàž³àžªàž±à¹àžàžà¹àž²à¹àž¡à¹àž£àž°àžàžžà¹àž§à¹àžà¹àž­àž\nàžàž¹à¹à¹àžà¹àžàž²àž MacOS àžàž§àž£àž¥àž­àžà¹àžà¹àžàž³àžªàž±à¹àžàžàžŽà¹àžšàž©àžàž­àž mac "open [-a <application_name>] %1" àžà¹àž­àžà¹àžªàž¡àž­  
+FileAssociationDialog.Table.Command:àžàž³àžªàž±à¹àž  
+FileAssociationDialog.Table.Extension:àžàž²àž¡àžªàžàžžàž¥  
+FileAssociationDialog.Title:à¹àžà¹à¹àžàžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹à¹àžà¹àž¡  
+FileAssociationDialog.Remove:à¹àž­àž²àž­àž­àž  
+FileAssociationDialog.Remove_Tooltip:à¹àž­àž²àžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹àžàžµà¹à¹àž¥àž·àž­àžàž­àž­àžàžàž²àžàžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹àžàžµà¹àž¡àžµàž­àž¢àž¹à¹  
+FileAssociationDialog.Replace:à¹àžàžàžàžµà¹  
+FileAssociationDialog.Replace_Tooltip:à¹àžàžàžàžµà¹àžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹àžàžµà¹à¹àž¥àž·àž­àžàžà¹àž§àž¢àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžàžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹à¹àž«àž¡à¹  
+#*******************
+#
+#******Filter***************
+Filter.0:HTM & HTML  
+Filter.1:XML  
+Filter.2:à¹àžà¹àž¡àžà¹àž­àžàž§àž²àž¡  
+Filter.3:àž£àž¹àž  
+Filter.4:PDF  
+Filter.5:à¹àž­àžàžªàž²àž£à¹àžàžàžµà¹àžàž³àžàž²àž  
+Filter.All_Files:à¹àžà¹àž¡àžàž±à¹àžàž«àž¡àž  
+Filter.Filter_Tree:à¹àžªàžàžà¹àžà¹àž¡  
+Filter.Invalid_Pattern:<HTML><FONT FACE={FONT} COLOR=Black>àž£àž¹àžà¹àžàžàžàžµà¹àžàžžàžà¹àžªà¹à¹àžàž·à¹àž­àžàž£àž­àžà¹àžà¹àž¡à¹àž¡à¹àžàž¹àžàžà¹àž­àž<BR>àžàž£àžžàžàž²àž¥àž­àžà¹àž«àž¡à¹àž­àžµàžàžàž£àž±à¹àžà¹àžàž¢à¹àžà¹à¹àž§àž¢àž²àžàž£àžà¹àžàžŽàžàžàžà¹àžàžàžàžŽ à¹àž¥àž°à¹àžà¹<BR>* à¹àžà¹àžàž­àž±àžàžàž£àž°àžàž±àž§à¹àžàž</FONT></HTML>  
+#***********************
+#
+#***** GAuthenticator *****
+GAuthenticator.Password:àž£àž«àž±àžªàžà¹àž²àž:  
+GAuthenticator.Password_Tooltip:à¹àžªà¹àž£àž«àž±àžªàžà¹àž²àžàžàž­àžàžàžžàžàžàžµà¹àžàžµà¹  
+GAuthenticator.Title:àžàž³à¹àžà¹àžàžà¹àž­àžàž¡àžµàž£àž«àž±àžªàžà¹àž²àž  
+GAuthenticator.Username:àžàž·à¹àž­àžàž¹à¹à¹àžà¹:  
+GAuthenticator.Username_Tooltip:à¹àžªà¹àžàž·à¹àž­àžàž¹à¹à¹àžà¹àžàž­àžàžàžžàžàžàžµà¹àžàžµà¹  
+#**************************
+#
+#***** General Messages *****
+# 0 - A String representing the name and method of the class in question.
+General.Apply:àžàž£àž°àž¢àžžàžàžà¹à¹àžà¹  
+General.Apply_Tooltip:àžàž£àž°àž¢àžžàžàžà¹à¹àžà¹àžàž²àž£àžàž±à¹àžàžà¹àž²àžàž±àžàžàžžàžàž±àž à¹àžà¹àž­àž¢à¹àž²àž­àž­àžàžàž²àžàžàž¥à¹àž­àžà¹àžà¹àžàž­àž  
+General.Browse:à¹àž£àžµàž¢àžàžàž¹âŠ  
+General.Cancel:àž¢àžà¹àž¥àžŽàž  
+General.Cancel_Tooltip:àž¢àžà¹àž¥àžŽàžàžàž²àž£à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àž (àžàž°à¹àž¡à¹àž¢àžà¹àž¥àžŽàžàžàž²àž£àžàž£àž°àžàž³à¹àžà¹ àžàžµà¹à¹àžà¹àžàž£àž°àž¢àžžàžàžà¹à¹àžà¹à¹àžà¹àž¥à¹àž§)  
+General.Close:àžàžŽàž  
+General.Close_Tooltip:àžàžŽàžàžàž¥à¹àž­àžà¹àžà¹àžàž­àžàžàžµà¹  
+General.Edit:à¹àžà¹à¹àžàžà¹àž²  
+General.Error:àžà¹àž­àžàžŽàžàžàž¥àž²àž  
+General.No:à¹àž¡à¹  
+General.NotSunJava:àžàž£àžŽàž©àž±àžàžàž¹à¹àžàž¥àžŽàž Java: {0}\nà¹àžàž£àžàžªàž±àžà¹àžàžàž§à¹àž² àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹à¹àžà¹àž£àž±àžàžàž²àž£àžàž±àžàžàž²à¹àž¥àž°àžàžàžªàž­àžàžà¹àž§àž¢àž àž²àž©àž²àžàž²àž§àž²àžàž²àž Sun Microsystems  
+General.OK:àžàžàž¥àž  
+General.OK_Tooltip:àž¢àž­àž¡àž£àž±àžàžàž²àž£àžàž±à¹àžàžà¹àž²àžàž±àžàžàžžàžàž±àž à¹àž¥àž°àž­àž­àžàžàž²àžàžàž¥à¹àž­àžà¹àžà¹àžàž­àž  
+General.Outstanding_Processes:<html>à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàžŽàžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹à¹àžà¹àž­àž¢à¹àž²àžàžªàž¡àžàž¹àž£àžà¹àžàžàžàž§à¹àž²àžàžžàžàžàž°àž­àž­àžàžàž²àžà¹àžàž£à¹àžàž£àž¡àžàž±à¹àžàž«àž¡àž<br>àžàžµà¹à¹àžà¹à¹àžàžŽàžàžàž¶à¹àžà¹àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžà¹àž§àž¢</html>  
+General.Outstanding_Processes_Title:àžàž³àž¥àž±àžàž£àž­à¹àžàž·à¹àž­àž­àž­àžàžàž²àžà¹àžàž£à¹àžàž£àž¡  
+General.Pure_Cancel_Tooltip:àž¢àžà¹àž¥àžŽàžàžàž²àž£àžàž£àž°àžàž³àžàžµà¹ (à¹àž¡à¹àž¡àžµàžàž²àž£à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžà¹àžàžŽàžàžàž¶à¹àž)  
+General.Review_Output:àžàž£àžžàžàž²àžàž£àž§àžàžàž²àžàžàž¥àž¥àž±àžàžà¹àžà¹àž²àžàž¥à¹àž²àž:  
+General.Redo:àžàž³àžà¹àž³  
+General.Redo_Tooltip:àžàž·àžàžà¹àž²àžàž²àž£à¹àž£àžµàž¢àžàžàž·àž (undo) àžàž£àž±à¹àžàž¥à¹àž²àžªàžžàž  
+General.Undo:à¹àž£àžµàž¢àžàžàž·àž  
+General.Undo_Tooltip:à¹àž£àžµàž¢àžàžàž·àžàžàž²àž£à¹àžà¹à¹àžàžàž£àž±à¹àžàž¥à¹àž²àžªàžžàž  
+General.Usage:àž§àžŽàžàžµà¹àžà¹: {0} <params>\nàžàž²àž£àž²àž¡àžŽà¹àžàž­àž£à¹àžàž±à¹àžàž«àž¡àžà¹àžà¹àžàžàž±àž§à¹àž¥àž·àž­àž à¹àžà¹àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àž­àž²àžàžàž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž³àžàž²àžà¹àžà¹àžà¹àž²àžàžžàžà¹àž¡à¹à¹àžà¹àžàž±à¹àžàžà¹àž² -gsdl à¹àž¥àž° -library à¹àž§à¹\n -gsdl <path>  : àžàž±àžàžàž±àžà¹àžªà¹àžàžàž²àžà¹àžàž¢àž±àž gsdl\n -library <path> : à¹àžªà¹àžàžàž²àžà¹àžàž¢àž±àž cgi-bin\n -mozilla <path> : mozilla àžàžµà¹à¹àžàžŽàžà¹àžà¹àžàž²àž\n -mirror : à¹àžàžŽàžà¹àžà¹àžàž²àžàžàž±àž§àžàž§àžàžàžžàž¡àžàž²àž£àžàž³àž¡àžŽà¹àž£àž­àž£à¹à¹àž§à¹àž\n -laf [java|windows|motif|mac] : àž£àž¹àžàž¥àž±àžàž©àžà¹à¹àž¥àž°àžàž§àž²àž¡àž£àž¹à¹àžªàž¶àž\n -debug : à¹àžàžŽàžà¹àžà¹àžàž²àžàžà¹àž­àžàž§àž²àž¡àžàž£àž§àžà¹àžà¹àžàžžàžàžàžàžàž£à¹àž­àž\n -no_load : àžàž£àžžàžàž²àž­àž¢à¹àž²à¹àž«àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àžàžŽàžàžà¹àž­àžàž«àžà¹àž²àžàžµà¹\n -load <path> : à¹àž«àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž£àž°àžàžžà¹àž§à¹  
+General.View:àžàž¹àžà¹àž²  
+General.Warning:àžàž³à¹àžàž·àž­àž  
+General.Yes:à¹àžà¹  
+#****************************
+#
+#***** GShell *****
+GShell.BadArgument:àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹ {0} à¹àž¡à¹àžàž¹àžàžà¹àž­àž  
+GShell.BadArgumentValue:àžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹ {0} à¹àž¡à¹àžàž¹àžàžà¹àž­àž  
+GShell.BadPluginOptions:àž¡àžµàž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžàžµà¹à¹àž¡à¹àžàž¹àžàžà¹àž­àžà¹àžàžŽàžàžàž¶à¹àžà¹àžàžàž¥àž±à¹àžàž­àžŽàž {0}  
+GShell.BadClassifierOptions:àž¡àžµàž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžàžµà¹à¹àž¡à¹àžàž¹àžàžà¹àž­àžà¹àžàžŽàžàžàž¶à¹àžà¹àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž {0}  
+GShell.Build.Auxilary:àžàž³àž¥àž±àžàžªàž£à¹àž²àžà¹àžà¹àž¡à¹àžàžŽà¹àž¡à¹àžàžŽàž¡ à¹àž¥àž°àžàž±àžàž£àž°à¹àžàžµàž¢àžà¹àžà¹àž¡...  
+GShell.Build.BuildBegun1:************** à¹àž£àžŽà¹àž¡àžà¹àžàžàž²àž£àžªàž£à¹àž²àž **************  
+GShell.Build.BuildCancelled:**************   àž¢àžà¹àž¥àžŽàž    **************  
+GShell.Build.BuildComplete1:************** àžàž²àž£àžªàž£à¹àž²àžà¹àžªàž£à¹àžàžªàžŽà¹àžà¹àž¥à¹àž§ **************  
+GShell.Build.CompressText:àžàž³àž¥àž±àžàžàžµàžàž­àž±àžàžà¹àž­àžàž§àž²àž¡âŠ  
+GShell.Build.Index:àžàž³àž¥àž±àžàžªàž£à¹àž²àžàžàž±àžàžàžµàžàžàžàž·à¹àžàžàž²àžàžàž­àž {0-index source and level} ...  
+GShell.Build.InfoDatabase:àžàž³àž¥àž±àžàžªàž£à¹àž²àžàžàž²àžàžà¹àž­àž¡àž¹àž¥àžàž­àžàžà¹àž­àž¡àž¹àž¥...  
+GShell.Build.Phind:àžàž³àž¥àž±àžàžªàž£à¹àž²àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž Phind  àž£àž°àžàžàž­àž²àžà¹àžà¹à¹àž§àž¥àž²àžªàž±àžàžàž£àž¹à¹âŠ  
+GShell.Schedule.ScheduleBegun1:**************** àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àžàžàž²àž¡àžàž³àž«àžàžà¹àž§àž¥àž²à¹àž£àžŽà¹àž¡àžà¹àžà¹àž¥à¹àž§ ***************  
+GShell.Schedule.ScheduleComplete1:**************** àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àžàžàž²àž¡àžàž³àž«àžàžà¹àž§àž¥àž²à¹àžªàž£à¹àžàžªàžŽà¹àžà¹àž¥à¹àž§ ***************  
+GShell.Schedule.ScheduleDelete:*********** àžàž³àž¥àž±àžàž¥àžàžàž²àž£àžàž³àž«àžàžà¹àž§àž¥àž²àžàžµà¹àž¡àžµàž­àž¢àž¹à¹ *****  
+GShell.Command:àžàž³àžªàž±à¹àž  
+GShell.Failure:àžàž³àžªàž±à¹àžàž¥à¹àž¡à¹àž«àž¥àž§  
+GShell.Import.FileNotProcessed:àž£àž°àžàžàž£àž¹à¹àžàž±àžà¹àžà¹àž¡ {0-target file path} à¹àžà¹à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž£àž°àž¡àž§àž¥àžàž¥à¹àžà¹àžà¹àž§àž¢àžàž¥àž±à¹àžàž­àžŽàžà¹àžà¹  
+GShell.Import.FileNotRecognised:àžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àž¡àžµà¹àžàž£àž°àžàžà¹àž¡à¹àž£àž¹à¹àžàž±àžà¹àžà¹àž¡ {0-target file path}  
+GShell.Import.FileProcessing:à¹àžà¹àž¡ {0-target file path} àžàž³àž¥àž±àžàžàž¹àžàžàž£àž°àž¡àž§àž¥àžàž¥à¹àžàž¢ {1-plugin name}.  
+GShell.Import.FileProcessingError:à¹àžà¹àž¡ {0-target file path} àžàžàžàž±àžàžà¹àž­àžàžŽàžàžàž¥àž²àžàž£àž°àž«àž§à¹àž²àžàžàž³à¹àžàžŽàžàžàž²àž£àžàž£àž°àž¡àž§àž¥àžàž¥  
+GShell.Import.ImportBegun1:************** à¹àž£àžŽà¹àž¡àžàž³à¹àžà¹àž²àžà¹àž­àž¡àž¹àž¥ **************  
+GShell.Import.ImportComplete1:************** à¹àžªàž£à¹àžàžªàžŽà¹àžàžàž²àž£àžàž³à¹àžà¹àž² **************  
+GShell.Import.ImportComplete2:à¹àž­àžàžªàž²àž£ {0-number documents considered} àžàž¹àžàžàžŽàžàž²àž£àžàž²à¹àž«à¹àžàž³àžàž²àž£àžàž£àž°àž¡àž§àž¥àžàž¥:  
+GShell.Import.ImportComplete2.1:à¹àž­àžàžªàž²àž£ 1 àžàžàž±àžàžàž¹àžàžàžŽàžàž²àž£àžàž²à¹àž«à¹àžàž³àžàž²àž£àžàž£àž°àž¡àž§àž¥àžàž¥:  
+GShell.Import.ImportComplete.Processed:à¹àž­àžàžªàž²àž£ {0-number processed} àžàž¹àžàžàž£àž°àž¡àž§àž¥àžàž¥ à¹àž¥àž°àž£àž§àž¡à¹àžà¹àž²à¹àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+GShell.Import.ImportComplete.Processed.1:à¹àž­àžàžªàž²àž£ 1 àžàžàž±àžàžàž¹àžàžàž£àž°àž¡àž§àž¥àžàž¥ à¹àž¥àž°àž£àž§àž¡à¹àžà¹àž²à¹àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+GShell.Import.ImportComplete.Blocked:{0-number blocked} à¹àžà¹àž£àž±àžàžàž²àž£àžà¹àž­àžàžàž±àžà¹àž¡à¹à¹àž«à¹àžàž¹àžà¹àžàžŽà¹àž¡à¹àžà¹àž²à¹àžà¹àžàž¢àžàž¥àž±à¹àžàž­àžŽàž (à¹àžà¹àž àž£àž¹àžà¹àžàž«àžà¹àž²à¹àž§à¹àž)  
+GShell.Import.ImportComplete.Blocked.1:1 à¹àžà¹àž£àž±àžàžàž²àž£àžà¹àž­àžàžàž±àžà¹àž¡à¹à¹àž«à¹àžàž¹àžà¹àžàžŽà¹àž¡à¹àžà¹àž²à¹àžà¹àžàž¢àžàž¥àž±à¹àžàž­àžŽàž (à¹àžà¹àž àž£àž¹àžà¹àžàž«àžà¹àž²à¹àž§à¹àž)  
+GShell.Import.ImportComplete.Ignored:àž£àž°àžàžà¹àž¡à¹àž£àž¹à¹àžàž±àž {0-number ignored}  
+GShell.Import.ImportComplete.Ignored.1:1 à¹àž¡à¹à¹àžà¹àžàžàžµà¹àž£àž¹à¹àžàž±àž  
+GShell.Import.ImportComplete.Failed:{0-number failed} àžàž¹àžàžàžàžŽà¹àžªàž  
+GShell.Import.ImportComplete.Failed.1:1 àžàž¹àžàžàžàžŽà¹àžªàž  
+GShell.Import.ImportComplete3:\n  
+GShell.Import.Warning:{0-plugin name} àžàž³à¹àžàž·àž­àž:  
+GShell.Parsing_Metadata_Complete:àžàž²àž£àžàž±àžàžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž±àžà¹àžà¹àžàžàž²àž§àž£à¹àžªàž£à¹àžàžªàž¡àžàž¹àž£àžà¹à¹àž¥à¹àž§  
+GShell.Parsing_Metadata_Start:àžàž³àž¥àž±àžàžàž±àžàžàž­àžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹àž­àž­àžàžàž²àžà¹àžà¹àž¡à¹àžà¹àžàžàž²àž§àž£  
+GShell.Success:àžàž³àžªàž±à¹àžàžªàž¡àžàž¹àž£àžà¹à¹àž¥à¹àž§  
+#*********************
+#
+#***** GUI *****
+# Currently Enabled and Disabled display the same text but in different
+# colours. If necessary this can be changed.
+GUI.Create:àžªàž£à¹àž²àž  
+GUI.Create_Tooltip:àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàžà¹àžàž¢à¹àžà¹à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž  
+GUI.Design:àž­àž­àžà¹àžàž  
+GUI.Design_Tooltip:àž­àž­àžà¹àžàžàžàž±àžàžà¹àžàž±àžàžàž²àž£àžàž³àžàž²àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž  
+GUI.Download:àžàž²àž§àžà¹à¹àž«àž¥àž  
+GUI.Download_Tooltip:àžàž²àž§àžà¹à¹àž«àž¥àžàžàž£àž±àžàž¢àž²àžàž£àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàžàžàž²àžàž­àžŽàžà¹àžàž­àž£à¹à¹àžà¹àž  
+GUI.Enrich:àžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž²  
+GUI.Enrich_Tooltip:àžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«à¹àžàž±àžà¹àžà¹àž¡à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž  
+GUI.Format:àž£àž¹àžà¹àžàž  
+GUI.Format_Tooltip:àž­àž­àžà¹àžàžàž¥àž±àžàž©àžàž°àžàžµà¹àžàž£àž²àžàžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž  
+GUI.Gather:àž£àž§àžàž£àž§àž¡  
+GUI.Gather_Tooltip:à¹àž¥àž·àž­àžà¹àžà¹àž¡àžàžµà¹àžàž°àž£àž§àž¡à¹àž§à¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž  
+#***************
+#
+#***** HELP *****
+Help.Contents:à¹àžàž·à¹àž­àž«àž²  
+Help.Title:àž«àžà¹àž²àž§àžŽàžàžµà¹àžà¹àžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹  
+#****************************
+#
+#***** Invalid Metadata ******
+InvalidMetadata.Message:àž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž¹àžàžàž³àžàž±àžà¹àž«à¹à¹àžà¹àžàžžàžàžàž­àžàžà¹àž²àžàžµà¹àžàž³àž«àžàžà¹àž§à¹àž¥à¹àž§àžàž«àžà¹àž² àžàž£àžžàžàž²à¹àž¥àž·àž­àžàž«àžàž¶à¹àžàžà¹àž²àžàž²àžàžà¹àž²àžàžµà¹àž¡àžµàž­àž¢àž¹à¹  
+InvalidMetadata.Title:à¹àž¡àžàž²àžàž²àžàž²à¹àž¡à¹àžàž¹àžàžà¹àž­àž  
+#***************************
+#
+#***** LegacyCollection
+LegacyCollection.Message:àžàžžàžàžàž³àž¥àž±àžà¹àž«àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àž¡à¹à¹àžà¹à¹àžà¹ GLI à¹àžàžàž²àž£àžªàž£à¹àž²àž à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàž­àž¢àž¹à¹àžàž°àžàž¹àžàžàž³à¹àžà¹àž²à¹àžàž¢àž±àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž±àžàž¥àžŽàžàžàž­àž£à¹ à¹àžà¹àž¡à¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžà¹àžàžŽàž¡àžàž°àžàž¹àžàžàž±àžàžàž¶àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàž·à¹àž­ import.bak  
+LegacyCollection.Title:àžàž²àž£à¹àž«àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àžàž àž²àž¢àžàž­àž  
+#***************************
+#
+#***** LockFileDialog *****
+LockFileDialog.Cancel_Tooltip:àžàž£àžžàžàž²àž­àž¢à¹àž²àžà¹àž¡àž¢àžàž²àž£àžàž§àžàžàžžàž¡àžàž­àžà¹àžà¹àž¡àžàžµà¹àž¥à¹àž­àžà¹àž§à¹ (àžàž­àž¥à¹àž¥àžàžàž±àžàžàž°à¹àž¡à¹à¹àžàžŽàžàžàž¶à¹àž)  
+LockFileDialog.Date:àž§àž±àžàžàžµà¹  
+LockFileDialog.Error:àžà¹àž­àžàžŽàžàžàž¥àž²àž  
+LockFileDialog.Lockfile_Message_One:àžàž²àž£àžàž£àž²àžàžàžàž­àžà¹àžà¹àž¡àžàžµà¹àž¥à¹àž­àžà¹àž§à¹à¹àžà¹àžàžàž²àž£àžªàž·à¹àž­àž§à¹àž² àžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžàž¹àžà¹àžàžŽàžàž­àž¢àž¹à¹à¹àž¥à¹àž§  
+LockFileDialog.Lockfile_Message_Two:àžàžžàžàžà¹àž­àžàžàž²àž£ 'àžà¹àž¡àž¢' àžàž²àž£àžàž§àžàžàžžàž¡àžàž­àžà¹àžà¹àž¡àžàžµà¹àž¥à¹àž­àžà¹àž§à¹àžàžµà¹àž«àž£àž·àž­à¹àž¡à¹  
+LockFileDialog.Machine:àžàž³à¹àž«àžà¹àžàžàžµà¹  
+LockFileDialog.Name:àžàž·à¹àž­  
+LockFileDialog.OK_Tooltip:àžà¹àž¡àž¢àžàž²àž£àžàž§àžàžàžžàž¡àžàž­àžà¹àžà¹àž¡àžàžµà¹àž¥à¹àž­àžà¹àž§à¹  
+LockFileDialog.Title:àžàž£àž§àžàžàžà¹àžà¹àž¡àžàžµà¹àž¥à¹àž­àžà¹àž§à¹  
+LockFileDialog.User:à¹àžàž£  
+#********************
+#
+#*****MappingPrompt **********
+MappingPrompt.File:à¹àžàž¥à¹àžàž­àž£à¹  
+MappingPrompt.Map:àžªàž£à¹àž²àžàžàž²àžàž¥àž±àž  
+MappingPrompt.Name:àžàž·à¹àž­  
+MappingPrompt.Title:àžàž±à¹àžàžà¹àž²àžàž²àžàž¥àž±àžàžàž­àžà¹àžàž¥à¹àžàž­àž£à¹  
+MappingPrompt.Unmap:à¹àž­àž²àžàž²àžàž¥àž±àžàž­àž­àž  
+#*******************
+#
+#***** Menu Options *****
+Menu.Collapse:àžàžŽàžà¹àžàž¥à¹àžàž­àž£à¹  
+Menu.Edit:à¹àžà¹à¹àž  
+Menu.Edit_Copy:àžàž³àžªàž³à¹àžàž² (ctrl-c)  
+Menu.Edit_Cut:àžàž±àž (ctrl-x)  
+Menu.Edit_Paste:àž§àž²àž (ctrl-v)  
+Menu.Expand:à¹àžàžŽàžà¹àžàž¥à¹àžàž­àž£à¹  
+Menu.Explode_Metadata_Database:àžàž£àž°àžàž²àž¢àžàž²àžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²  
+Menu.Replace_SrcDoc_With_HTML:à¹àžàžàžàžµà¹àžà¹àž§àž¢ HTML   
+Menu.File:à¹àžà¹àž¡  
+Menu.File_Associations:àžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹àžàž­àžà¹àžà¹àž¡âŠ  
+Menu.File_CDimage:à¹àžàžµàž¢àžàž­àžŽàž¡à¹àž¡àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµâŠ  
+Menu.File_Close:àžàžŽàž  
+Menu.File_Delete:àž¥àžâŠ  
+Menu.File_Exit:àž­àž­àžàžàž²àžà¹àžàž£à¹àžàž£àž¡  
+Menu.File_ExportAs:àžªà¹àžàž­àž­àžâŠ  
+Menu.File_New:àžªàž£à¹àž²àžà¹àž«àž¡à¹âŠ  
+Menu.File_Open:à¹àžàžŽàžâŠ  
+Menu.File_Options:àžàž³àž«àžàžàž¥àž±àžàž©àžàž°âŠ  
+Menu.File_Save:àžàž±àžàžàž¶àž  
+Menu.Help:àž§àžŽàžàžµà¹àžà¹  
+Menu.Help_About:à¹àžàžµà¹àž¢àž§àžàž±àžâŠ  
+Menu.Metadata_View:à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàžàžªàž³àž«àž£àž±àž {0}  
+Menu.Open_Externally:à¹àžàžŽàžà¹àžà¹àžàž£à¹àžàž£àž¡àž àž²àž¢àžàž­àž  
+#********************
+#
+#***** MetaAudit *****
+MetaAudit.Close:àžàžŽàž  
+MetaAudit.Close_Tooltip:àžàžŽàžàžàž¥à¹àž­àžà¹àžà¹àžàž­àžàžàžµà¹  
+MetaAudit.Title:à¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžàž«àž¡àž  
+#*********************
+#
+#***** Metadata *****
+Metadata.Element:àž­àžàžà¹àžàž£àž°àžàž­àž  
+Metadata.Value:àžà¹àž²  
+MetadataSet.Files:à¹àžà¹àž¡àžàžžàžà¹àž¡àžàž²àžàž²àžàž²  
+#**********************************
+#
+#***** MetadataSetDialog**********
+MetadataSetDialog.Title:àžàž±àžàžàž²àž£àžàžžàžà¹àž¡àžàž²àžàž²àžàž²  
+MetadataSetDialog.Add_Title:à¹àžàžŽà¹àž¡àžàžžàžà¹àž¡àžàž²àžàž²àžàž²  
+MetadataSetDialog.Current_Sets:àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàž  
+MetadataSetDialog.Available_Sets:àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹  
+MetadataSetDialog.Add:à¹àžàžŽà¹àž¡âŠ  
+MetadataSetDialog.Add_Tooltip:à¹àžàžŽà¹àž¡àžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+MetadataSetDialog.New_Set:àžªàž£à¹àž²àžà¹àž«àž¡à¹âŠ  
+MetadataSetDialog.New_Set_Tooltip:àžªàž£à¹àž²àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹  
+MetadataSetDialog.Add_Set:à¹àžàžŽà¹àž¡  
+MetadataSetDialog.Add_Set_Tooltip:à¹àžàžŽà¹àž¡àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àž¥àž·àž­àžàž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+MetadataSetDialog.Browse:à¹àž£àžµàž¢àžàžàž¹âŠ  
+MetadataSetDialog.Browse_Tooltip:à¹àžàžŽà¹àž¡àžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+MetadataSetDialog.Edit:à¹àžà¹à¹àžâŠ  
+MetadataSetDialog.Edit_Tooltip:à¹àžà¹à¹àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹  
+MetadataSetDialog.Remove:à¹àž­àž²àž­àž­àž­àž  
+MetadataSetDialog.Remove_Tooltip:à¹àž­àž²àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àž­àž­àžàžàž²àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+MetadataSetDialog.Elements:àž­àžàžà¹àžàž£àž°àžàž­àžà¹àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹  
+
+#****************************************
+#
+#***** MetadataSetNamespaceClash warning***
+MetadataSetNamespaceClash.Title:àžàž²àž£à¹àž¢à¹àžàžàž±àžàžàž­àžà¹àžàž¡àžªà¹àžàžàžàž­àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²  
+MetadataSetNamespaceClash.Message:àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàžžàžà¹àž¥àž·àž­àžà¹àžàž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡ ({0}) àž¡àžµà¹àžàž¡àžªà¹àžàžà¹àžàžµàž¢àž§àžàž±àžàžàž±àžàžà¹àž²àžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§à¹àžàžàž­àž¥à¹àž¥àžàžàž±àž ({1}) àžà¹àž²àžàžžàžà¹àžàžŽà¹àž¡à¹àž¡àžàž²àžàž²àžàž²àžàžžàžà¹àž«àž¡à¹àžàžµà¹ à¹àž¡àžàž²àžàž²àžàž²àžàžžàžà¹àžà¹àž²àžàž°àžàž¹àžàž¥àžàž­àž­àžà¹àž¥àž°àž£àž°àžàžàžàž°à¹àžàžŽà¹àž¡à¹àž¡àžàž²àžàž²àžàž²àžàžžàžà¹àž«àž¡à¹à¹àžà¹àž²àž¡àž²à¹àžàžàžàžµà¹ àžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàžà¹àžà¹ àžàž°àžàž¹àžàžà¹àž²àž¢à¹àž­àžà¹àžàž¢àž±àžà¹àž¡àžàž²àžàž²àžàž²àžàžžàžà¹àž«àž¡à¹àžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàžžàžàžàž±à¹àžàž¡àžµàž­àžàžà¹àžàž£àž°àžàž­àžàžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡  
+#*********************************************
+#
+#******** MetadataImportMappingPrompt *********
+MIMP.Add:à¹àžàžŽà¹àž¡  
+MIMP.Add_Tooltip:à¹àžàžŽà¹àž¡àž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àž¥àžà¹àžàžàžžàžàžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹  
+MIMP.Ignore:àž¥àž°à¹àž§à¹àž  
+MIMP.Ignore_Tooltip:àž¥àž°à¹àž§à¹àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹  
+MIMP.Instructions:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž³à¹àžà¹àž²àž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž² {0} àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹à¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽ à¹àž«à¹à¹àž¥àž·àž­àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž² à¹àž¥àž°à¹àž¥àž·àž­àžàžàž³à¹àžàžŽàžàžàž²àž£àžàž±àžàžàžµà¹:\n(1) àžàž 'à¹àžàžŽà¹àž¡' à¹àžàž·à¹àž­à¹àžàžŽà¹àž¡à¹àž¡àžàž²àžàž²àžàž²àž¥àžà¹àžà¹àž¡àžàž²àžàž²àžàž²àžàžžàžàžàž±à¹àž (à¹àžàžàž²àž°à¹àž¡àž·à¹àž­àž¢àž±àžà¹àž¡à¹àž¡àžµà¹àž¡àžàž²àžàž²àžàž² {0} àž­àž¢àž¹à¹à¹àžàžàžžàž) àž«àž£àž·àž­\n(2) à¹àž¥àž·àž­àžàž­àžàžà¹àžàž£àž°àžàž­àž à¹àž¥àž°àžàž 'àžàžªàž²àž' à¹àžàž·à¹àž­àžàž³à¹àžà¹àž²à¹àž¡àžàž²àžàž²àžàž² {0} àž¥àžà¹àžàž­àžàžà¹àžàž£àž°àžàž­àžàžàžµà¹ àž«àž£àž·àž­\n(3) àž¥àž°à¹àž§à¹àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹  
+MIMP.Merge:àžàžªàž²àž  
+MIMP.Merge_Tooltip:à¹àž¡àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²à¹àžà¹àž²àžàž±àžàž­àžàžà¹àžàž£àž°àžàž­àžàžàžµà¹àž£àž°àžàžžà¹àž§à¹à¹àžàžàžžàžàžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹  
+MIMP.Source_Element:àž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžà¹àžà¹àž«àž¥à¹àž:  
+MIMP.Target_Element:àž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²à¹àžà¹àž²àž«àž¡àž²àž¢:  
+MIMP.Target_Set:àžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžà¹àž²àž«àž¡àž²àž¢:  
+MIMP.Title:àžàž³à¹àžà¹àžàžà¹àž­àžàžàž³àžàž²àž£àžàžªàž²àž  
+#*****************************
+#
+#***** Mirroring *****
+Mirroring.ClearCache:àž¥à¹àž²àžàžà¹àž²à¹àžàž  
+Mirroring.ClearCache_Tooltip:àž¥àžà¹àžà¹àž¡àžàžµà¹àžàž²àž§àžà¹à¹àž«àž¥àžàžàž±à¹àžàž«àž¡àžàž­àž­àž  
+Mirroring.Download:àžàž²àž§àžà¹à¹àž«àž¥àž  
+Mirroring.Download_Tooltip:à¹àž£àžŽà¹àž¡àžàž²àžàžàž²àž§àžà¹à¹àž«àž¥àžà¹àž«àž¡à¹  
+Mirroring.DownloadJob.Close:àžàžŽàž  
+Mirroring.DownloadJob.Close_Tooltip:à¹àž­àž²àžàž²àžàžàžµà¹àž­àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£ à¹àžàž¢àž«àž¢àžžàžàžàž²àžàžàžµà¹àžà¹àž²àžàž³àž¥àž±àžàžàž³à¹àžàžŽàžàžàž²àžàž­àž¢àž¹à¹à¹àžàžàžàž°àžàžµà¹  
+Mirroring.DownloadJob.Downloading:àžàž³àž¥àž±àžàžàž²àž§àžà¹à¹àž«àž¥àž {0}  
+Mirroring.DownloadJob.Download_Complete:àžàž²àž§àžà¹à¹àž«àž¥àžà¹àžªàž£à¹àžà¹àž£àžµàž¢àžàž£à¹àž­àž¢à¹àž¥à¹àž§  
+Mirroring.DownloadJob.Download_Stopped:àžàž²àž§àžà¹à¹àž«àž¥àžàž«àž¢àžžàžàžàž°àžàž±àž  
+Mirroring.DownloadJob.Download_Progress:àžàž³àž¥àž±àžàžàž³à¹àžàžŽàžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž  
+Mirroring.DownloadJob.Log:àžàž¹à¹àžà¹àž¡àžàž±àžàžàž¶àž  
+Mirroring.DownloadJob.Log_Tooltip:àžàž¹àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžà¹àžàžµà¹àž¢àž§àžàž±àžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžàžàžµà¹  
+Mirroring.DownloadJob.Log_Title:à¹àžà¹àž¡àžàž±àžàžàž¶àžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž  
+Mirroring.DownloadJob.Pause:àž«àž¢àžžàžàžàž±à¹àž§àžàž£àž²àž§  
+Mirroring.DownloadJob.Pause_Tooltip:àž«àž¢àžžàžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžàžàžµà¹àžàž±à¹àž§àžàž£àž²àž§  
+Mirroring.DownloadJob.Resume:àžàž³à¹àžàžŽàžàžàž²àž£àžà¹àž­  
+Mirroring.DownloadJob.Resume_Tooltip:àžàž³à¹àžàžŽàžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžàžàžµà¹àžà¹àž­  
+Mirroring.DownloadJob.Status:àžàž²àž§àžà¹à¹àž«àž¥àž {0} àžàž­àž {1} à¹àžà¹àž¡ ({2} àžàž³à¹àžàž·àž­àž , {3} àžà¹àž­àžàžŽàžàžàž¥àž²àž )  
+Mirroring.DownloadJob.Waiting:àžàž³àž¥àž±àžàž£àž­àžàž²àž£à¹àž£àžŽà¹àž¡àžà¹àž  
+Mirroring.DownloadJob.Waiting_User:àžàž³àž¥àž±àžàž£àž­àžàž²àž£àžàž£àž°àžàž³àžàž²àžàžàž¹à¹à¹àžà¹  
+Mirroring.Invalid_URL:URL àžàžµà¹à¹àžªà¹à¹àž¡à¹àžàž¹àžàžà¹àž­àž àžàž£àžžàžàž²à¹àžà¹à¹àžà¹àž«à¹àžàž¹àžàžà¹àž­àž  
+Mirroring.Invalid_URL_Title:URL à¹àž¡à¹àžàž¹àžàžà¹àž­àž  
+Mirroring.Preferences:àžàž³àž«àžàžàžà¹àž²àžàž£à¹àž­àžàžàžµâŠ  
+Mirroring.Preferences_Tooltip:à¹àžàžŽàžà¹àžà¹àžàž²àžàžàž£à¹àž­àžàžàžµ à¹àž¥àž°/àž«àž£àž·àž­ à¹àžà¹à¹àžàžàž²àž£àžàž±à¹àžàžà¹àž²àžàž£à¹àž­àžàžàžµ  
+#*********************
+#
+#***** Missing EXEC *****
+MissingEXEC.Message:àžàž³à¹àžàž·àž­àž! àžàžžàžàžàž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž¹àžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹àž àž²àž¢à¹àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹à¹àžà¹ àžàžàžàž§à¹àž²àžàžžàžàžàž°àž£àž°àžàžžà¹àžªà¹àžàžàž²àžà¹àžàž¢àž±àžà¹àž§à¹àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹àžàž­àžàž«à¹àž­àžàžªàž¡àžžàžàžàž£àžµàžàžªà¹àžàž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžªà¹àžà¹àž²àžàžµà¹à¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž­àžàž§àž²àž¡àžàž£àžŽà¹àž§àžàžà¹àž²àžàž¥à¹àž²àžà¹àžà¹à¹àžàžàžàž°àžàžµà¹ àž«àž£àž·àž­à¹àžàž àž²àž¢àž«àž¥àž±àžàžà¹àž§àž¢àžàž²àž£à¹àžàž¢àž±àžàžªà¹àž§àž 'àžàž³àž«àžàžàž¥àž±àžàž©àžàž°' à¹àž¥àž°à¹àž¥àž·àž­àžà¹àžà¹àž 'àžàž²àž£à¹àžàž·à¹àž­àž¡àžà¹àž­' à¹àžàž£àžàžàž³à¹àž§à¹àž§à¹àž² URL àžàžµà¹àžàž¹àžàžà¹àž­àžàžàž°àžà¹àž­àžà¹àž£àžŽà¹àž¡àžà¹àžàžà¹àž§àž¢à¹àžàž£à¹àžàžàž­àž¥ "http://" à¹àž¥àž°àž­àž²àžàžàž°àžà¹àž­àžàž¥àžàžà¹àž²àž¢àžà¹àž§àž¢àžàž·à¹àž­àžàžµà¹àžªàž²àž¡àž²àž£àžàžàžàžŽàžàž±àžàžŽàžàž²àž£à¹àžà¹ ("gsdl" àžªàž³àž«àž£àž±àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹àžàž­àžàž«à¹àž­àžàžªàž¡àžžàžàžàž£àžµàžàžªà¹àžàžà¹àžà¹àžàž£àž·à¹àž­àž à¹àž¥àž° "library" àžªàž³àž«àž£àž±àžà¹àž§à¹àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹àž­àž·à¹àžà¹)  
+MissingEXEC.Title:àžàžµà¹àž­àž¢àž¹à¹àžàž­àžàž«à¹àž­àžàžªàž¡àžžàžàžàž£àžµàžàžªà¹àžàžàž«àž²àž¢à¹àž  
+#***** Missing EXEC_GS3 *****
+MissingEXEC_GS3.Message:àžàž£àžžàžàž²àžà¹àž­àž URL àžàž­àžàž«à¹àž­àžàžªàž¡àžžàžàžàž£àžµàžàžªà¹àžàž 3 àžàžžàžàžàž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž¹àžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹àž àž²àž¢à¹àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹à¹àžà¹ àžàžàžàž§à¹àž²àžàžžàžàžàž°àž£àž°àžàžžà¹àžªà¹àžàžàž²àžà¹àžàž¢àž±àžàžàž£àžŽàžàžàžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžà¹àž§à¹àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹ Tomcat àžàž¶à¹àžàžàž³àž¥àž±àžàžàž³àžàž²àžàž­àž¢àž¹à¹à¹àžà¹àžàž£àž·à¹àž­àžàžàžµà¹ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžªà¹àžà¹àž²àžàžµà¹àž¥àžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž­àžàž§àž²àž¡àžà¹àž²àžàž¥à¹àž²àžà¹àžà¹à¹àžàžàžàž°àžàžµà¹ àž«àž£àž·àž­à¹àžªà¹àž àž²àž¢àž«àž¥àž±àžàžà¹àž§àž¢àžàž²àž£à¹àžàž¢àž±àžàžªà¹àž§àž 'àžàž³àž«àžàžàž¥àž±àžàž©àžàž°' à¹àž¥àž°à¹àž¥àž·àž­àžà¹àžà¹àž 'àžàž²àž£à¹àžàž·à¹àž­àž¡àžà¹àž­' à¹àžàž£àžàžàž³à¹àž§à¹àž§à¹àž² URL àžàžµà¹àžàž¹àžàžà¹àž­àžàžàž°àžà¹àž­àžà¹àž£àžŽà¹àž¡àžà¹àžàžà¹àž§àž¢à¹àžàž£à¹àžàžàž­àž¥ "http://" à¹àžªàž¡àž­   
+MissingEXEC_GS3.Title:URL àžàž­àžàž«à¹àž­àžàžªàž¡àžžàžàžàž£àžµàžàžªà¹àžàž 3  
+#***** Missing GLIServer *****
+MissingGLIServer.Message:à¹àžªà¹àžàžµà¹àž­àž¢àž¹à¹àžªàžàž£àžŽàžàžà¹ "gliserver.pl" àžàž­àžàžàž£àžµàžàžªà¹àžàžàž£àž°àž¢àž°à¹àžàž¥à¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž­àžàž§àž²àž¡àžà¹àž²àžàž¥à¹àž²àž à¹àžàž£àžàžàž³à¹àž§à¹àž§à¹àž² URL àžàžµà¹àžàž¹àžàžà¹àž­àžàžàž°àžà¹àž­àžà¹àž£àžŽà¹àž¡àžà¹àžàžà¹àž§àž¢à¹àžàž£à¹àžàžàž­àž¥ "http://"  à¹àž¥àž°àž¥àžàžà¹àž²àž¢àžà¹àž§àž¢ "gliserver"  
+MissingGLIServer.Title:àž£àž°àžàžžàžàžµà¹àž­àž¢àž¹à¹ GLIServer  
+#***** Missing GSDL *****
+MissingGSDL.Message:àžàž³à¹àžàž·àž­àž! àžàžžàžàžàž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àžà¹àž²àžàž¶àžàžàžžàžàž¥àž±àžàž©àžàž°àžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž±à¹àžàž«àž¡àžà¹àžà¹à¹àžàž¢à¹àž¡à¹à¹àžà¹àžàžŽàžàžàž±à¹àžàžªàž³à¹àžàž²àžàž­àžà¹àžàž£à¹àžàž£àž¡àž«à¹àž­àžàžªàž¡àžžàžàžàžŽàžàžŽàžàž±àž¥àžàž£àžµàžàžªà¹àžàžàž¥àžàžàžà¹àžàž£àž·à¹àž­àž àžà¹àž²àžàžžàžà¹àžàž·à¹àž­àž¡àž±à¹àžàž§à¹àž² àžàžžàžàžàž³àž¥àž±àžà¹àžà¹àž£àž±àžàžà¹àž­àžàž§àž²àž¡àžàžµà¹àžàž²àžàžàž§àž²àž¡àžàžŽàžàžàž¥àž²àžàžàž­àžàž£àž°àžàž àžàž£àžžàžàž²àžàž£àž§àžàžªàž­àžàžàž²àž£àžàžŽàžàžàž±à¹àžàžàž­àžàžàžžàž à¹àž¥àž°à¹àžªà¹àžàžàž²àžàžàžµà¹àž£àž°àžàžžà¹àž§à¹à¹àžàžàžžàžàžàž³àžªàž±à¹àžàž«àž£àž·àž­à¹àžà¹àž¡àžªàžàž£àžŽàžàžà¹àžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹  
+MissingGSDL.Title:à¹àžªà¹àžàžàž²àžàžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàž«àž²àž¢à¹àž  
+#***** Missing PERL *****
+MissingPERL.Message:àžàž³à¹àžàž·àž­àž! àžàžžàžàžàž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹ àž«àž£àž·àž­àžàž­àž¡à¹àžàž¥à¹àžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§à¹àžà¹ à¹àžàž¢à¹àž¡à¹à¹àžà¹àžàžŽàžàžàž±à¹àž PERL à¹àž¥àž°àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹à¹àž¡à¹àžàž PERL àžàžàž£àž°àžàžàžàž­àžàžàžžàž àžà¹àž²àžàžžàžà¹àžàž·à¹àž­àž¡àž±à¹àžàž§à¹àž² àžàžžàžàžàž³àž¥àž±àžà¹àžà¹àž£àž±àžàžà¹àž­àžàž§àž²àž¡àžàžµà¹àžàž²àžàžàž§àž²àž¡àžàžŽàžàžàž¥àž²àžàžàž­àžàž£àž°àžàž àžàž£àžžàžàž²àžàž£àž§àžàžªàž­àžàžàž²àž£àžàžŽàžàžàž±à¹àžàžàž­àžàžàžžàž à¹àž¥àž°à¹àžªà¹àžàžàž²àžàžàžµà¹àž£àž°àžàžžà¹àž§à¹à¹àžàžàžžàžàžàž³àžªàž±à¹àžàž«àž£àž·àž­à¹àžà¹àž¡àžªàžàž£àžŽàžàžà¹àžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹  
+MissingPERL.Title:à¹àžªà¹àžàžàž²àž PERL àž«àž²àž¢à¹àž  
+#******* MissingImageMagick ********
+MissingImageMagick.Message:àžàž³à¹àžàž·àž­àž! àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž«àž²àžàž³à¹àž«àžà¹àžà¹àžàž£à¹àžàž£àž¡ ImageMagick àž£àžžà¹àžàžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡à¹àžà¹ àž£àž°àžàžàžªàž²àž¡àž²àž£àžàž£àž§àž¡àž àž²àžà¹àžà¹àž²à¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹ à¹àžà¹àžàžžàžàžàž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžàžàž±àžàžà¹àžàž±àžàžàž²àž£àžàž£àž°àž¡àž§àž¥àžàž¥àž àž²àžà¹àžà¹ à¹àžà¹àž àžàž²àž£à¹àžàž¥àžàž àž²àžà¹àžà¹àžàž£àž¹àžà¹àžàžàž­àž·à¹àž àž«àž£àž·àž­àžªàž£à¹àž²àžàž àž²àžàžàžàž²àžà¹àž¥à¹àž (Thumbnails)  
+MissingImageMagick.Title:à¹àžàž£à¹àžàž£àž¡ ImageMagick àž«àž²àž¢à¹àž  
+#*****************************
+#
+#***** New Session *****
+NewCollectionPrompt.Base_Collection:àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžàžàžàž·à¹àžàžàž²àžàžàž­àž:  
+NewCollectionPrompt.Base_Collection_Tooltip:à¹àž¥àž·àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àžàž·à¹àž­à¹àžà¹à¹àžà¹àžàžà¹àžà¹àžàžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹  
+NewCollectionPrompt.Collection_Description:àžàž³àž­àžàžŽàžàž²àž¢à¹àžàž·à¹àž­àž«àž²:  
+NewCollectionPrompt.Collection_Name:à¹àžàž¥à¹àžàž­àž£à¹àžàž­àž¥à¹àž¥àžàžàž±àž:  
+NewCollectionPrompt.Collection_Scope_Personal:àžàžµà¹à¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžªà¹àž§àžàžàž±àž§  
+NewCollectionPrompt.Collection_Scope_Personal_Tooltip:àžàž¹à¹àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž¥àž°àžàž¹à¹à¹àžà¹à¹àžàžàž¥àžžà¹àž¡ "all-collections-editor" àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àžà¹  
+NewCollectionPrompt.Collection_Scope_Shared:àžàžµà¹à¹àž¡à¹à¹àžà¹àžàž­àž¥à¹àž¥àžàžàž±àžàžªà¹àž§àžàžàž±àž§  
+NewCollectionPrompt.Collection_Scope_Shared_Tooltip:àžàž¹à¹à¹àžà¹à¹àžàžàž¥àžžà¹àž¡ "all-collections-editor" àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àžà¹  
+NewCollectionPrompt.Error:àžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹  
+NewCollectionPrompt.Instructions:à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹ à¹àž«à¹à¹àžªà¹àžà¹àž­àž¡àž¹àž¥àž¥àžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž²àžàž¥à¹àž²àž  
+NewCollectionPrompt.NewCollection:-- àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹ --  
+NewCollectionPrompt.Title:àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹  
+NewCollectionPrompt.Title_Clash:àžàž·à¹àž­àžàžµà¹àžàžžàžà¹àž¥àž·àž­àžàžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàžàžàž¹àžà¹àžà¹à¹àžà¹àž¥à¹àž§ àžà¹àž­àžàžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£àžà¹àž­àž«àž£àž·àž­à¹àž¡à¹  
+NewCollectionPrompt.Title_Error:àžàžžàžàžàž°àžà¹àž­àžà¹àžªà¹à¹àžàžàžà¹àž­àž¡àž¹àž¥àžàž·à¹àž­à¹àž£àž·à¹àž­àž àžàž£àžžàžàž²àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹à¹àžà¹àž«à¹àžàž¹àžàžà¹àž­àž  
+#***** New Folder OrFilePrompt *****
+NewFolderOrFilePrompt.Default_File_Name:àžàž³àž¥àž­àž  
+NewFolderOrFilePrompt.Default_Folder_Name:à¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹  
+NewFolderOrFilePrompt.Destination_Name:à¹àžàž¥à¹àžàž­àž£à¹àžàž¥àž²àž¢àžàž²àž  
+NewFolderOrFilePrompt.File_Name:àžàž·à¹àž­à¹àžà¹àž¡  
+NewFolderOrFilePrompt.File_Name_Tooltip:à¹àžªà¹àžàž·à¹àž­àžªàž³àž«àž£àž±àžà¹àžà¹àž¡à¹àž«àž¡à¹  
+NewFolderOrFilePrompt.Folder_Name:àžàž·à¹àž­à¹àžàž¥à¹àžàž­àž£à¹  
+NewFolderOrFilePrompt.Folder_Name_Tooltip:à¹àžªà¹àžàž·à¹àž­àžªàž³àž«àž£àž±àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹  
+NewFolderOrFilePrompt.Title_Folder:àžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹  
+NewFolderOrFilePrompt.Title_File:àžªàž£à¹àž²àžà¹àž­àžàžªàž²àž£àžàž³àž¥àž­àžà¹àž«àž¡à¹  
+#**********************
+#
+#******* OldWGET *******
+NoPluginExpectedToProcessFile.Message:àžàž²àžàž§à¹àž²à¹àž¡à¹àž¡àžµàžàž¥àž±à¹àžàž­àžŽàžà¹àžàžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàžµà¹àžªàž²àž¡àž²àž£àžàžàž£àž°àž¡àž§àž¥àžàž¥à¹àžà¹àž¡ "{0}" à¹àžà¹à¹àžàž¢àžàž£àž (àž­àž¢à¹àž²àžà¹àž£àžà¹àžàž²àž¡ àž­àž²àžàž¡àžµàžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžà¹àž­àžàžàž²àž£àž£àž§àž¡àž­àž¢àž¹à¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹ àž«àž²àžàžàž¥àž±à¹àžàž­àžŽàžàžàž±àž§àžàžµà¹à¹àžà¹àžàžàž¥àž±à¹àžàž­àžŽàžàžàž­àžà¹àžà¹àž¡àž­àž·à¹àž àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž àž£àž¹àžàž àž²àžà¹àžà¹àž§à¹àžà¹àžàž) àžàž£àžžàžàž²àžàž£àž§àžàžªàž­àžàžàž§àž²àž¡àžàž¹àžàžà¹àž­àžàžàž­àžàžàž²àž¡àžªàžàžžàž¥à¹àžà¹àž¡ àž«àž²àžàžàž²àž¡àžªàžàžžàž¥àžàž­àžà¹àžà¹àž¡àžàž¹àžàžà¹àž­àžà¹àž¥à¹àž§ àžàžžàžàž­àž²àžàžàž°àžà¹àž­àžà¹àžà¹ UnknowPlug à¹àžàž·à¹àž­àžàž£àž°àž¡àž§àž¥àžàž¥à¹àžà¹àž¡àžàžµà¹
+  
+NoPluginExpectedToProcessFile.Title:à¹àž¡à¹àž¡àžµàžàž¥àž±à¹àžàž­àžŽàžà¹àžàžàžµà¹àžàž²àžàž§à¹àž²àžàž°àžàž³à¹àžàžŽàžàžàž²àž£àžàž£àž°àž¡àž§àž¥àžàž¥à¹àžà¹àž¡  
+#***********************
+#
+#***** OpenCollectionDialog *****
+OpenCollectionDialog.Available_Collections:àžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹  
+OpenCollectionDialog.Description:àžàž³àž­àžàžŽàžàž²àž¢àžàž­àž¥à¹àž¥àžàžàž±àž  
+OpenCollectionDialog.Open:à¹àžàžŽàž  
+OpenCollectionDialog.Open_Tooltip:à¹àž«àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àž¥àžà¹àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹  
+OpenCollectionDialog.Title:à¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž£àžµàžàžªà¹àžàž  
+#**********************
+#
+#***** Options Pane inside CreatePane *****
+OptionsPane.Cancelled:- àž¢àžà¹àž¥àžŽàž  
+OptionsPane.LogHistory:àžàž£àž°àž§àž±àžàžŽà¹àžà¹àž¡àžàž±àžàžàž¶àž  
+OptionsPane.Successful:- àžªàž³à¹àž£à¹àž  
+OptionsPane.Scheduled:- àžàž³àž«àžàžà¹àž§àž¥àž²à¹àž£àžµàž¢àžàž£à¹àž­àž¢à¹àž¥à¹àž§  
+OptionsPane.Unknown:- à¹àž¡à¹àž£àž¹à¹àžàž±àž  
+OptionsPane.Unsuccessful:- à¹àž¡à¹àžªàž³à¹àž£à¹àž  
+#*******************
+#
+#***** Preferences *****
+Preferences:àžàž³àž«àžàžàž¥àž±àžàž©àžàž°  
+Preferences.Connection:àžàž²àž£à¹àžàž·à¹àž­àž¡àžà¹àž­  
+Preferences.Connection_Tooltip:àžàž±à¹àžàžà¹àž² URL à¹àžàž¢àž±àžàž«à¹àž­àžàžªàž¡àžžàžàžàž£àžµàžàžªà¹àžàž à¹àž¥àž°àžàž³àž«àžàžàžà¹àž²àžàž²àž£à¹àžàž·à¹àž­àž¡àžà¹àž­àžàž£à¹àž­àžàžàžµàžàž²àž¡àžàž§àž²àž¡à¹àž«àž¡àž²àž°àžªàž¡  
+Preferences.Connection.GLIServer_URL:URL àžàž­àž gliserver àžàž­àžàžàž£àžµàžàžªà¹àžàž  
+Preferences.Connection.GLIServer_URL_Tooltip:URL àžàž­àžàžªàžàž£àžŽàžàžà¹ CGI àžàž­àž "gliserver"  
+Preferences.Connection.Library_Path:à¹àžªà¹àžàžàž²àžàžàž­àžàž«à¹àž­àžàžªàž¡àžžàž:  
+Preferences.Connection.Library_Path_GS3:à¹àžªà¹àžàžàž²àžà¹àž§à¹àžàžàž­àžàžàž£àžµàžàžªà¹àžàž  
+Preferences.Connection.Library_Path_Tooltip:URL àžàž­àžà¹àž§à¹àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹àžàž­àžàžàž£àžµàžàžªà¹àžàž  
+Preferences.Connection.Library_Path_Tooltip_GS3:URL àžàž­àžà¹àž§à¹àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹àžàž­àžàžàž£àžµàžàžªà¹àžàž  
+Preferences.Connection.Library_Path_Connection_Failure:à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àžàž·à¹àž­àž¡àžà¹àž­à¹àžà¹ àžàž£àžžàžàž²àžàž£àž§àžàžªàž­àžàž§à¹àž²à¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž àžàžµà¹ {0} àžàž³àž¥àž±àžàžàž³àžàž²àžàž­àž¢àž¹à¹  
+Preferences.Connection.ProgramCommand:àžàž³àžªàž±à¹àžà¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àž:  
+Preferences.Connection.ProgramCommand_Tooltip:àžàž³àžªàž±à¹àžà¹àž£àžµàž¢àžà¹àžà¹àžªàž³àž«àž£àž±àžà¹àžàž£à¹àžàž£àž¡àžàžµà¹à¹àžà¹àžàž¹àžàž²àž£à¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àžàž£àžàžàž³à¹àž§à¹àž§à¹àž² à¹àž«à¹à¹àžà¹ %1 à¹àžà¹àžàžàž±àž§àž¢àž¶àžàžàž³à¹àž«àžà¹àžàžªàž³àž«àž£àž±àžàžàžµà¹àž­àž¢àž¹à¹àžàž­àž¥à¹àž¥àžàžàž±àž à¹àž¥àž°à¹àž«à¹à¹àžà¹à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàž³àžàž¹àžà¹àžàžªà¹àž§àžàžàžµà¹àžàž³à¹àžà¹àž  
+Preferences.Connection.Proxy_Host:à¹àž®àžªàžà¹àžàž­àžàžàž£à¹àž­àžàžàžµ:  
+Preferences.Connection.Proxy_Host_Tooltip:àžàžµà¹àž­àž¢àž¹à¹àžàž­àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹àžàž£à¹àž­àžàžàžµàžàž­àžàžàžžàž  
+Preferences.Connection.Proxy_Port:àžàž­àž£à¹àžàžàž­àžàžàž£à¹àž­àžàžàžµ:  
+Preferences.Connection.Proxy_Port_Tooltip:àž«àž¡àž²àž¢à¹àž¥àžàžàž­àž£à¹àžàžàž­àžàžàž£à¹àž­àžàžàžµà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹  
+Preferences.Connection.Servlet:à¹àžàžŽàž£à¹àžà¹àž¥à¹àž:  
+Preferences.Connection.Servlet_Tooltip:à¹àžàžŽàž£à¹àžà¹àž¥à¹àžàžàžµà¹à¹àžà¹àžàž¹à¹àžàžà¹àžàž­àžàžàžžàž  
+Preferences.Connection.Servlet_Tooltip2:à¹àž¡à¹àž¡àžµàžàž²àž£àž£àž°àžàžžà¹àžàžŽàž£à¹àžà¹àž¥à¹àžà¹àž§à¹à¹àžà¹àžàžà¹àžàžµà¹ àžàžžàžàž¢àž±àžàžªàž²àž¡àž²àž£àžàžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹ à¹àžà¹àžàž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž¹àžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àžà¹àžà¹  
+Preferences.Connection.Site:à¹àžàžà¹:  
+Preferences.Connection.Site_Tooltip:à¹àžàžà¹àžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£àžàž³àžàž²àžàžà¹àž§àž¢  
+Preferences.Connection.Use_Proxy:à¹àžà¹àžàž²àž£à¹àžàž·à¹àž­àž¡àžà¹àž­àžàž£à¹àž­àžàžàžµàž«àž£àž·àž­à¹àž¡à¹  
+Preferences.General:àžàž±à¹àž§à¹àž  
+Preferences.General_Tooltip:àžàž±à¹àžàžà¹àž²àžàž²àž£àžàž³àž«àžàžàž¥àž±àžàž©àžàž°àžàž±à¹àž§à¹àžàžàž²àžàžà¹àž²  
+Preferences.General.Email:àž­àžµà¹àž¡àž¥àžàž­àžàžàž¹à¹à¹àžà¹:  
+Preferences.General.Email_Tooltip:àžàž°àž¡àžµàžàž²àž£à¹àžà¹àžàžµà¹àž­àž¢àž¹à¹àž­àžµà¹àž¡àž¥àžàžµà¹àžàž±àžàžàžžàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžªàž£à¹àž²àžàžà¹àž§àž¢ GLI à¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽ  
+Preferences.General.Font:à¹àžàžàž­àž±àžàž©àž£:  
+Preferences.General.Font_Tooltip:à¹àžàžàž­àž±àžàž©àž£àžàžµà¹à¹àžà¹àžªàž³àž«àž£àž±àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹ GLI  
+Preferences.General.Interface_Language:àž àž²àž©àž²àžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹:  
+Preferences.General.Interface_Language_Tooltip:à¹àž¥àž·àž­àžàž àž²àž©àž²àžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£à¹àžà¹à¹àžªàžàžàžàž¥àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹à¹àž¥àž°àžàž±àž§àžàž§àžàžàžžàž¡  
+Preferences.General.Restart_Required:àžàžžàžàžàž§àž£àžàž°à¹àž£àžŽà¹àž¡ GLI à¹àž«àž¡à¹à¹àžàžµà¹àž¢àž§àžàžµà¹à¹àžàž·à¹àž­à¹àž«à¹àžàž²àž£à¹àž«àž¥àžàž àž²àž©àž²àžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹à¹àž«àž¡à¹à¹àžªàž£à¹àžàžªàž¡àžàž¹àž£àžà¹  
+Preferences.General.Manual_Restart_Required:àžàž£àžžàžàž²à¹àž£àžŽà¹àž¡à¹àžàž¥à¹àž­àžàžà¹ GLI à¹àž«àž¡à¹ à¹àžàž·à¹àž­à¹àž«à¹àž£àž°àžàžà¹àž£àžŽà¹àž¡àžà¹àžàžàž²àž£àžàž³àžàž²àžà¹àžàž¢à¹àžà¹àžàž²àž£àžàž±à¹àžàžà¹àž²àžàž²àž£à¹àžàž·à¹àž­àž¡àžà¹àž­àžàžµà¹àžàžžàžà¹àžà¹à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àž  
+Preferences.General.Show_File_Size:à¹àžªàžàžàžàžàž²àžà¹àžà¹àž¡  
+Preferences.General.Show_File_Size_Tooltip:à¹àžªàžàžàžàžàž²àžàžàž­àžà¹àžà¹àž¡àž«àžà¹àž²àž£àž²àž¢àžàž²àž£à¹àžàžàž·à¹àžàžàžµà¹àžàž³àžàž²àžà¹àž¥àž°à¹àžàžàžàž±àžà¹àžà¹àž¡àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+Preferences.General.View_Extracted_Metadata:àžàž¹à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž±àžàžàž­àžà¹àž¥à¹àž§  
+Preferences.General.View_Extracted_Metadata_Tooltip:à¹àžªàžàžàžàž¥à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž¹àžàžàž±àžàžàž­àžàžà¹àž§àž¢àžàž¥àž±à¹àžàž­àžŽàžàžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžàž£àž²àž¢àžàž²àž£à¹àž¡àžàž²àžàž²àžàž²à¹àžàž¡àžžàž¡àž¡àž­àž 'à¹àž¡àžàž²àžàž²àžàž²'  
+Preferences.Mode:à¹àž«àž¡àž  
+Preferences.Mode_Tooltip:àžàž¥àžŽàžàžàžµà¹àž£àž²àž¢àžàž²àž£à¹àžàž·à¹àž­à¹àž¥àž·àž­àžàž£àž°àžàž±àžàžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£àžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡  
+Preferences.Mode.Assistant:àžàž¹à¹àžà¹àž§àž¢àž«à¹àž­àžàžªàž¡àžžàž  
+Preferences.Mode.Assistant_Description:à¹àžà¹àžàž²àž£àžàž±à¹àžàžà¹àž²àžàžµà¹à¹àžàž·à¹àž­à¹àžà¹àž²àžàž¶àžàžàžžàžàž¥àž±àžàž©àžàž°àžàž·à¹àžàžàž²àžàžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž àž­àž±àžà¹àžà¹à¹àžà¹ àžàž²àž£à¹àžàžŽà¹àž¡à¹àž­àžàžªàž²àž£à¹àž¥àž°à¹àž¡àžàž²àžàž²àžàž²àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž àžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹àžàžµà¹àž¡àžµà¹àžàž£àžàžªàž£à¹àž²àžà¹àž«àž¡àž·àž­àžàžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹ à¹àž¥àž°àžàž²àž£àžªàž£à¹àž²àž (build) àžàž­àž¥à¹àž¥àžàžàž±àž  
+Preferences.Mode.Librarian:àžàž£àž£àžàž²àž£àž±àžàž©à¹  
+Preferences.Mode.Librarian_Description:àžàž²àž£àžàž±à¹àžàžà¹àž²àžàžµà¹à¹àžàžŽàžà¹àžà¹àžàž²àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžàžàžàžàžàžŽ àž­àž±àžà¹àžà¹à¹àžà¹ àžàž²àž£àžªàž£à¹àž²àžà¹àž¥àž°àžàž²àž£àž­àž­àžà¹àžàžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹ àžàž²àž£à¹àžàžŽà¹àž¡à¹àž­àžàžªàž²àž£à¹àž¥àž°à¹àž¡àžàž²àžàž²àžàž²àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž àžàž²àž£àž­àž­àžà¹àžàžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹ à¹àž¥àž°àžàž²àž£àžªàž£à¹àž²àž (build) àžàž­àž¥à¹àž¥àžàžàž±àž  
+Preferences.Mode.Systems:àžàž¹à¹à¹àžàžµà¹àž¢àž§àžàž²àžàž£àž°àžàžàž«à¹àž­àžàžªàž¡àžžàž  
+Preferences.Mode.Systems_Description:àžàž²àž£àžàž±à¹àžàžà¹àž²àžàžµà¹à¹àžàžŽàžà¹àžà¹àžàž²àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžàžà¹àžà¹àž¡àž£àž¹àžà¹àžàž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžà¹àžàž£àž°à¹àž¢àžàžà¹àžàž²àžàžàžžàžàž¥àž±àžàž©àžàž°àžàž±à¹àžàž«àž¡àžàžàžµà¹àž¡àžµ àžàžžàžàžàž°àžà¹àž­àžàž¡àžµàžàž§àž²àž¡àžªàž²àž¡àž²àž£àžà¹àžàžàž²àž£à¹àžà¹àžàžŽàžàžàžà¹àžàžàžàžŽà¹àžà¹  
+Preferences.Mode.Expert:àžàž¹à¹àžàž³àžàž²àžàžàž²àž£  
+Preferences.Mode.Expert_Description:àžàž²àž£àžàž±à¹àžàžà¹àž²àžàžµà¹à¹àžàžŽàžà¹àžà¹àžàž²àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžàžàžàž¹à¹àžàž³àžàž²àžàžàž²àž£ à¹àž«àž¡àžàžàž¹à¹àžàž³àžàž²àžàžàž²àž£àžàžµà¹à¹àž«àž¡àž²àž°àžªàž³àž«àž£àž±àžàžàž¹à¹à¹àžà¹àžàžµà¹àž¡àžµàžàž£àž°àžªàžàžàž²àž£àžà¹à¹àžàžàž²àž£à¹àžà¹à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàž¡àž²à¹àž¥à¹àž§ à¹àž¥àž°àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžàžàž±àžàž«àž²àžàžµà¹àžàž£àž­àžàžàž¥àžžàž¡àžàž²àž£àžàžµàžàž§àž²àž¡àžàž¥àž¥àž±àžàžà¹àžàžµà¹à¹àžà¹àžàž²àžàžàž²àž£àžàž£àž§àžà¹àžà¹àžà¹àž­àžàžàžàž£à¹àž­àžàžàž²àžàžªàžàž£àžŽàžàžà¹ PERL àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàžŽàžà¹àžà¹àžàžžàžàž¥àž±àžàž©àžàž°àžàž±à¹àžàž«àž¡àžàžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžà¹à¹àžà¹àž«àž¡àžàžàžµà¹  
+Preferences.Warnings:àžàž³à¹àžàž·àž­àž  
+Preferences.Warnings_Tooltip:à¹àžàžŽàžà¹àžà¹àžàž²àžàž«àž£àž·àž­àžàžŽàžà¹àžà¹àžàž²àžàžàž¥à¹àž­àžà¹àžà¹àžàž­àžàžàž³à¹àžàž·àž­àžàžà¹àž²àžà¹  
+Preferences.Workflow:à¹àžàžàžàž±àžàžàž²àž£àžàž³àžàž²àž  
+Preferences.Workflow_Tooltip:àž­àž­àžà¹àžàžà¹àžàžàžàž±àžàžàž²àž£àžàž³àžàž²àžàžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹ à¹àžàž¢àžàž±à¹àžàžà¹àž²àž¡àžžàž¡àž¡àž­àžàžàžµà¹àžàž§àž£à¹àžàžŽàžà¹àžà¹àžàž²àž  
+Preferences.Workflow.Predefined.Label:à¹àžàžàžàž±àžàžàž²àž£àžàž³àžàž²àžàžàžµà¹àžàž³àž«àžàžàž¡àž²à¹àž¥à¹àž§àž¥à¹àž§àžàž«àžà¹àž²  
+Preferences.Workflow.Title:àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàžµà¹àžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àžàž·à¹àž­à¹àžàžŽàžà¹àžà¹àžàž²àžàž¡àžžàž¡àž¡àž­àž  
+#**********************
+#
+#**** PreviewCommandDialog *******
+PreviewCommandDialog.Instructions:à¹àžªà¹àžàž³àžªàž±à¹àžà¹àžàž·à¹àž­à¹àžàžŽàžà¹àžàž£à¹àžàž£àž¡à¹àžàž·à¹àž­àžàž¹àžàž²àž£à¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àžàž£àžàžàž³à¹àž§à¹àž§à¹àž² à¹àž«à¹à¹àžà¹ %1 à¹àžà¹àžàžàž±àž§àž¢àž¶àžàžàž³à¹àž«àžà¹àžàžªàž³àž«àž£àž±àžàžàžµà¹àž­àž¢àž¹à¹àžàž­àž¥à¹àž¥àžàžàž±àž à¹àž¥àž°à¹àžà¹à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàž³àžàž¹àžà¹àžàžªà¹àž§àžàžàžµà¹àžàž³à¹àžà¹àž  
+PreviewCommandDialog.Title:àžàž³àžªàž±à¹àžà¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àž  
+
+ShowPreviousCollection.Title:à¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžªàž£à¹àž²àžà¹àž§à¹àžà¹àž­àžàž«àžà¹àž²àžàžµà¹  
+ShowPreviousCollection.Message:àž¡àžµàžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àžàžŽàžàžàž¶à¹àž à¹àž¥àž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹ àžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžàžžàžàžàž³àž¥àž±àžàžàž¹à¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àžà¹àžªàž£à¹àž²àžà¹àž§à¹àžà¹àž­àžàž«àžà¹àž²àžàžµà¹  
+#**********************
+#
+#***** Remote Greenstone Server *****
+RemoteGreenstoneServer.Authentication_Message:àžàž£àžžàžàž²à¹àžªà¹àžàž·à¹àž­àžàž¹à¹à¹àžà¹à¹àž¥àž°àž£àž«àž±àžªàžà¹àž²àžàžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàž­àžàžàžžàž:  
+RemoteGreenstoneServer.Authentication_Message_gs3:àžàž£àžžàžàž²à¹àžªà¹àžàž·à¹àž­àžàž¹à¹à¹àžà¹à¹àž¥àž°àž£àž«àž±àžªàžà¹àž²àžàžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàžµà¹à¹àžàžà¹:  
+RemoteGreenstoneServer.Error:àž¡àžµàžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àžàžŽàžàžàž¶à¹àžàžàžµà¹à¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹àž£àž°àž¢àž°à¹àžàž¥àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàžàž°àžàž³àž¥àž±àžàžàž³à¹àžàžŽàžàžàž²àž£àžàžµà¹:\n{0-Error message}  
+RemoteGreenstoneServer.Error_Title:àžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àžàžµà¹àž¢àž§àžàž±àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹àž£àž°àž¢àž°à¹àžàž¥àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž  
+RemoteGreenstoneServer.Progress:àžàž²àž£àžàž·àžàž«àžà¹àž²àžàž­àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹àž£àž°àž¢àž°à¹àžàž¥àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž:  
+RemoteGreenstoneServer.Steal_Lock_Message:àžàžàž°àžàžµà¹àžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžàž¹àžàž¥à¹àž­àžà¹àžàž¢àžàž¹à¹à¹àžà¹ '{0-àžàž·à¹àž­àžàž¹à¹à¹àžà¹}'\nàžàžžàžàžà¹àž­àžàžàž²àž£àžà¹àž¡àž¢àžàž²àž£àžàž§àžàžàžžàž¡à¹àžà¹àž¡àžàžµà¹àžàž¹àžàž¥à¹àž­àžàžàžµà¹àž«àž£àž·àž­à¹àž¡à¹ (à¹àž¡à¹à¹àžàž°àžàž³à¹àž«à¹àžàž³à¹àžà¹àžàžàž±à¹àž à¹àžàž£àž²àž°àž­àž²àžàžàž³à¹àž«à¹àžàž²àžàžàžµà¹àžàž³à¹àž§à¹àž­àž²àžàžªàž¹àžàž«àž²àž¢à¹àžà¹)  
+#**********************
+#
+#***** Rename Prompt *****
+RenamePrompt.Name:àžàž·à¹àž­:  
+RenamePrompt.Title:à¹àžàž¥àžµà¹àž¢àžàžàž·à¹àž­à¹àžà¹àž¡/à¹àžàž¥à¹àžàž­àž£à¹  
+#**********************
+#
+#***** Replace Prompt *****
+ReplacePrompt.Title:à¹àžàžàžàžµà¹à¹àžà¹àž¡àžà¹àž§àž¢ âŠ  
+#**********************
+#
+#***** Save Collection Box *****
+SaveCollectionBox.File_Name:àžàž·à¹àž­à¹àžà¹àž¡:  
+SaveCollectionBox.Files_Of_Type:àžàžàžŽàžàžàž­àžà¹àžà¹àž¡:  
+SaveCollectionBox.Look_In:à¹àž¢àžµà¹àž¢àž¡àžàž¡:  
+#**********************
+#
+#***** Save Progress Box *******
+SaveProgressDialog.Title:àžàž³àž¥àž±àžàžàž±àžàžàž¶àžàžàž­àž¥à¹àž¥àžàžàž±àž  
+#*******************************
+#
+Server.QuitManual:àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàžŽàž\nà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹àž«à¹àž­àžàžªàž¡àžžàžà¹àžà¹àžàž£àž·à¹àž­àžà¹àžà¹à¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽ àžàž£àžžàžàž²àž­àž­àžàžàž²àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹\nàžà¹àž§àž¢àžàžà¹àž­àžà¹àžàž¢àžàž²àž£àžàž¥àžŽàžà¹àž­àžàž­àžà¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàž²àžàžàž²àžàžàžµà¹\nàž¡àžžàž¡àžàžàžàž§àž² àžàž²àžàžàž±à¹àžàžàž¥àžŽàž 'àžàžàž¥àž' àžàžµà¹àžàž¥à¹àž­àžà¹àžà¹àžàž­àžàžàžµà¹  
+Server.QuitTimeOut:àž«à¹àž­àžàžªàž¡àžžàžà¹àžà¹àžàž£àž·à¹àž­àž (local library) àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àž¡à¹àžàž­àžàžªàžàž­àžàžà¹àž­\nàžàž³àžªàž±à¹àžàžàžŽàžàž­àž±àžà¹àžàž¡àž±àžàžŽà¹àžà¹àžà¹àž§àž¥àž²àž«àžàžªàžŽàžàž§àžŽàžàž²àžàžµà¹àž¥à¹àž§ \nàžàžžàžàžà¹àž­àžàžàž²àž£àž£àž­àžà¹àž­à¹àžàž­àžµàžàž«àžàž¶à¹àžàžàž²àžàžµàž«àž£àž·àž­à¹àž¡à¹  
+#
+#***** Sources *****
+Source.General:àžàž±à¹àž§à¹àž  
+#**********************
+#
+#***** Trees *****
+Tree.DownloadedFiles:à¹àžà¹àž¡àžàžµà¹àžàž²àž§àžà¹à¹àž«àž¥àž  
+Tree.Files:à¹àžà¹àž¡  
+Tree.Home:à¹àžàž¥à¹àžàž­àž£à¹à¹àž£àž ({0})  
+Tree.Root:àžàž·à¹àžàžàžµà¹à¹àžà¹àž¡à¹àžà¹àžàž£àž·à¹àž­àž  
+Tree.World:à¹àž­àžàžªàž²àž£à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàž£àžµàžàžªà¹àžàž  
+#***********************
+#
+#***** Warning Dialog *****
+WarningDialog.Dont_Show_Again:à¹àž¡à¹àžà¹àž­àžà¹àžªàžàžàžàž³à¹àžàž·àž­àžàžàžµà¹àž­àžµàž  
+WarningDialog.Dont_Show_Again_Message:à¹àž¡à¹àžà¹àž­àžà¹àžªàžàžàžà¹àž­àžàž§àž²àž¡àžàžµà¹àž­àžµàž  
+WarningDialog.Invalid_Value:àžà¹àž²àžàžµà¹àžàžžàžà¹àžªà¹à¹àž§à¹à¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž²\nà¹àž¡à¹à¹àžà¹àž²àžàž±àžàžàžžàžàžªàž¡àžàž±àžàžŽàžàžµà¹àž£àž°àžàžžà¹àž§à¹  
+WarningDialog.Value:à¹àžªà¹àžà¹àž²:  
+#
+#****** WGet *****
+WGet.Prompt:à¹àžàž¥à¹àž­à¹àžàžà¹àž¡àžŽà¹àž£àž­àž£à¹ WGet  
+#
+#****** Workflows *****
+Workflow.AllPanels:à¹àžàžàžàž§àžàžàžžàž¡àžàž±à¹àžàž«àž¡àž  
+Workflow.LocalSourceCollectionBuilding:àžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžà¹àžàžàžàž±àžà¹àžà¹àžàž£àž·à¹àž­àž  
+Workflow.DocumentEnriching:àžàž²àž£àžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«à¹à¹àž­àžàžªàž²àž£  
+
+
+#********GEMS******
+
+GEMS.Title:àžàž±àž§à¹àžà¹à¹àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž  
+GEMS.OpenMetadataSetPrompt.Title:à¹àžàžŽàžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²  
+GEMS.OpenMetadataSetPrompt.Open_Tooltip:à¹àžàžŽàžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹  
+GEMS.Set_Description:àžàž³àž­àžàžŽàžàž²àž¢àžàžžàžà¹àž¡àžàž²àžàž²àžàž²  
+GEMS.OpenMetadataSetPrompt.Open:à¹àžàžŽàž  
+GEMS.OpenMetadataSetPrompt.Available_Sets:àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹  
+GEMS.DeleteMetadataSetPrompt.Title:àž¥àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²  
+GEMS.DeleteMetadataSetPrompt.Delete_Tooltip:àž¥àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹  
+GEMS.DeleteMetadataSetPrompt.Delete:àž¥àž  
+GEMS.DeleteMetadataSetPrompt.Available_Sets:àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹  
+GEMS.DeleteMetadataSetPrompt.Confirm_Delete:àžàž£àžžàžàž²àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàžµà¹àžàž¥à¹àž­àžà¹àžàž·à¹àž­àž¢àž·àžàž¢àž±àžàžàž²àž£àž¥àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²  
+GEMS.DeleteMetadataSetPrompt.No_Set:àžàžžàžàž¢àž±àžà¹àž¡à¹à¹àžà¹à¹àž¥àž·àž­àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²  
+GEMS.Confirm_Removal:àžàžžàžà¹àžà¹à¹àžàž§à¹àž² àžàžžàžàžà¹àž­àžàžàž²àž£à¹àž­àž²àž­àžàžà¹àžàž£àž°àžàž­àž {0} àžàžµà¹àž­àž­àžàž«àž£àž·àž­à¹àž¡à¹  
+GEMS.Confirm_Removal_Title:àž¢àž·àžàž¢àž±àžàžàž²àž£à¹àž­àž²àž­àž­àž  
+GEMS.Attribute:à¹àž­àžàžàž£àžŽàžàžŽàž§àžà¹  
+GEMS.Popup.AddElement:à¹àžàžŽà¹àž¡àž­àžàžà¹àžàž£àž°àžàž­àž  
+GEMS.Popup.DeleteElement:àž¥àžàž­àžàžà¹àžàž£àž°àžàž­àž  
+GEMS.Popup.AddSubElement:à¹àžàžŽà¹àž¡àž­àžàžà¹àžàž£àž°àžàž­àžàž¢à¹àž­àž¢  
+GEMS.Popup.DeleteSubElement:àž¥àžàž­àžàžà¹àžàž£àž°àžàž­àžàž¢à¹àž­àž¢  
+GEMS.NewMetadataSetPrompt.Title:àžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹  
+GEMS.NewMetadataSetPrompt.Instructions:à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžªàž£à¹àž²àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹ à¹àž«à¹à¹àžªà¹àžà¹àž­àž¡àž¹àž¥àž¥àžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž²àžàž¥à¹àž²àž:  
+GEMS.NewMetadataSetPrompt.Base_MetadataSet:àžàž³àž«àžàžà¹àž«à¹àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàžàž·à¹àžàžàž²àžàžàž:  
+GEMS.NewMetadataSetPrompt.Metadata_Title:àžàž·à¹àž­àžàž­àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²  
+GEMS.NewMetadataSetPrompt.Metadata_Namespace:à¹àžàž¡àžªà¹àžàžàžàž­àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²:  
+GEMS.NewMetadataSetPrompt.New_Metadata:-- àžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹ --  
+GEMS.NewMetadataSetPrompt.Title_Error_Message:àžà¹àž­àžà¹àžªà¹àžàž·à¹àž­àžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹  
+GEMS.NewMetadataSetPrompt.Title_Error:à¹àž¡à¹à¹àžà¹àž£àž°àžàžžàžàž·à¹àž­à¹àž£àž·à¹àž­àžà¹àž§à¹  
+GEMS.NewMetadataSetPrompt.Namespace_Error_Message:àžà¹àž­àžà¹àžªà¹à¹àžàž¡àžªà¹àžàžà¹àž«à¹àžàž±àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹  
+GEMS.NewMetadataSetPrompt.Namespace_Error:à¹àž¡à¹à¹àžà¹àž£àž°àžàžžà¹àžàž¡àžªà¹àžàžà¹àž§à¹  
+GEMS.SelectedLanguage:à¹àžàžŽà¹àž¡à¹àž­àžàžàž£àžŽàžàžŽàž§àžà¹àžªàž³àž«àž£àž±àžàž àž²àž©àž²:  
+GEMS.Language:--à¹àž¥àž·àž­àžàž àž²àž©àž²--  
+GEMS.LanguageDependent:à¹àž­àžàžàž£àžŽàžàžŽàž§àžà¹àžàžµà¹àžàž¶à¹àžàžàž±àžàž àž²àž©àž²  
+GEMS.Attribute_Table:à¹àž­àžàžàž£àžŽàžàžŽàž§àžà¹  
+GEMS.Attribute_Deletion_Error:àžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àžàžàž²àž£àž¥àžà¹àž­àžàžàž£àžŽàžàžŽàž§àžà¹  
+GEMS.Attribute_Deletion_Error_Message:àžàž³à¹àžà¹àžàžà¹àž­àžà¹àžªà¹à¹àž­àžàžàž£àžŽàžàžŽàž§àžà¹àžàžµà¹ à¹àž¥àž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¥àžà¹àžà¹  
+GEMS.Add_Lang_Depend_Attr_Error:àžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àžàžàž²àž£à¹àžàžŽà¹àž¡à¹àž­àžàžàž£àžŽàžàžŽàž§àžà¹  
+GEMS.Add_Lang_Depend_Attr_Error_Message:à¹àž¡à¹àž¡àžµà¹àž­àžàžàž£àžŽàžàžŽàž§àžà¹ "language-dependent" àžàž£àžžàžàž²à¹àžàžŽà¹àž¡à¹àž­àžàžàž£àžŽàžàžŽàž§àžà¹àžàžµà¹  
+GEMS.Attribute_Edition_Error:àžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àžàžàž²àž£à¹àžà¹à¹àžà¹àž­àžàžàž£àžŽàžàžŽàž§àžà¹  
+GEMS.Attribute_Edition_Error_Message:àžàž³à¹àžà¹àžàžà¹àž­àžà¹àžªà¹à¹àžàžàžàž£àžŽàžàžŽàž§àžà¹àžàžµà¹ à¹àž¥àž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àž§à¹àžàž§à¹àž²àžà¹àžà¹  
+GEMS.Confirm_Save:àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž¹àžà¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžà¹àž¥à¹àž§ àžàžžàžàžà¹àž­àžàžàž²àž£àžàž±àžàžàž¶àžàž«àž£àž·àž­à¹àž¡à¹  
+GEMS.Confirm_Save_Title:àžàž±àžàžàž¶àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²  
+GEMS.Confirm_DeleteElement:àžàžžàžà¹àžà¹à¹àžàž§à¹àž² àžàžžàžàžà¹àž­àžàžàž²àž£àž¥àžàž­àžàžà¹àžàž£àž°àžàž­àž {0} àž«àž£àž·àž­à¹àž¡à¹  
+GEMS.Confirm_DeleteElement_Title:àž¥àžàž­àžàžà¹àžàž£àž°àžàž­àž  
+GEMS.File_Deletion_Error_Message:à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¥àžà¹àžà¹àž¡àžàžµà¹à¹àžà¹  
+GEMS.File_Deletion_Error:àžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àžàžàž²àž£àž¥àžà¹àžà¹àž¡  
+GEMS.Namespace_Conflict_Message:àžàž³à¹àžàž·àž­àž: à¹àžàž¡àžªà¹àžàžàžàžµà¹àžàž¹àžà¹àžà¹à¹àžàž¢à¹àž¡àžàž²àžàž²àžàž²àžàžžàžàž­àž·à¹àžà¹àž¥à¹àž§ àžà¹àž­àžàžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£àžà¹àž­àž«àž£àž·àž­à¹àž¡à¹  
+GEMS.Namespace_Conflict:àžàž§àž²àž¡àžàž±àžà¹àž¢à¹àžàžà¹àž²àžà¹àžàž¡àžªà¹àžàž  
+GEMS.Move_Up:à¹àž¥àž·à¹àž­àžàžàž¶à¹àž  
+GEMS.Move_Down:à¹àž¥àž·à¹àž­àžàž¥àž  
+GEMS.Cannot_Undo:(à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¢àžà¹àž¥àžŽàžàžàž²àž£àžàž£àž°àžàž³àžàžµà¹à¹àžà¹)  
+
+GEMS.AttributeTable.Name:àžàž·à¹àž­  
+GEMS.AttributeTable.Language:àž àž²àž©àž²  
+GEMS.AttributeTable.Value:àžà¹àž²  
+GEMS.NewMetadataElementNamePrompt.Title:àž­àžàžà¹àžàž£àž°àžàž­àžà¹àž«àž¡à¹  
+GEMS.NewMetadataElementNamePrompt.Name:àžàž£àžžàžàž²à¹àžªà¹àžàž·à¹àž­àžªàž³àž«àž£àž±àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž«àž¡à¹  
+GEMS.NewMetadataElementNamePrompt.SubTitle:àž­àžàžà¹àžàž£àž°àžàž­àžàž¢à¹àž­àž¢à¹àž«àž¡à¹  
+GEMS.NewMetadataElementNamePrompt.SubName:àžàž£àžžàžàž²à¹àžªà¹àžàž·à¹àž­àž­àžàžà¹àžàž£àž°àžàž­àžàž¢à¹àž­àž¢à¹àž«àž¡à¹  
+GEMS.NewMetadataElementNamePrompt.Name_Error_Message:àž¡àžµàž­àžàžà¹àžàž£àž°àžàž­àžàžàž·à¹àž­àžàžµà¹àž­àž¢àž¹à¹à¹àž¥à¹àž§  
+GEMS.NewMetadataElementNamePrompt.Name_Error:àž¡àžµàžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àžàžµà¹àž¢àž§àžàž±àžàžàž·à¹àž­àž­àžàžà¹àžàž£àž°àžàž­àž  
+GEMS.NewMetadataElementNamePrompt.EmptyName_Error_Message:àžà¹àž­àžà¹àžªà¹àžàž·à¹àž­àž­àžàžà¹àžàž£àž°àžàž­àžà¹àž«àž¡à¹  
+
+
+GEMS.No_Set_Loaded:à¹àž¡à¹àž¡àžµàžàž²àž£à¹àž«àž¥àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž§à¹ àžàž£àžžàžàž²à¹àžà¹ à¹àžà¹àž¡->àžªàž£à¹àž²àžà¹àž«àž¡à¹ à¹àžàž·à¹àž­àžªàž£à¹àž²àžà¹àž¡àžàž²àžàž²àžàž²àžàžžàžà¹àž«àž¡à¹ àž«àž£àž·àž­ à¹àžà¹àž¡->à¹àžàžŽàž à¹àžàž·à¹àž­à¹àžàžŽàžàžàžžàžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹  
Index: main/tags/2.83/gli/classes/dictionary_vi.properties
===================================================================
--- main/tags/2.83/gli/classes/dictionary_vi.properties	(revision 21123)
+++ main/tags/2.83/gli/classes/dictionary_vi.properties	(revision 21123)
@@ -0,0 +1,1045 @@
+#*******************
+#** Language Orientation Property
+Component.Orientation:LTR
+
+#*******************
+#
+#***** AboutDialog *****
+AboutDialog.Acknowledgement:Lá»i cáº£m Æ¡n cÃ¡c chÆ°Æ¡ng trÃ¬nh, cá»¥m chÆ°Æ¡ng trÃ¬nh Äá»c quyá»n hoáº·c lá»p chÆ°Æ¡ng trÃ¬nh...  
+AboutDialog.Date:(ThÃ¡ng 5/2007)  
+AboutDialog.Item0:'Xerces Java 1' cá»§a Apache Software Foundation (http://www.apache.org/)  
+AboutDialog.Item2:'WGet' cá»§a Free Software Foundation, Inc. (http://www.gnu.org/software/wget/wget.html)  
+AboutDialog.Item3:'qflib' cá»§a Quality First Software GmbH. (http://www.qfs.de/en/qflib/index.html)  
+AboutDialog.Item4:'ExtensionFileFilter.class' cá»§a Bruno Dumon vÃ  cá»ng sá»± (http://pollo.sourceforge.net/)  
+AboutDialog.Item5:'LÃ m sao cho máº­t tÃ­nh nÄng Äá»i tÃªn tá»p trong chá»n tá»p tin' - vladi21 (http://www.experts-exchange.com/)  
+AboutDialog.Item6:'Autoscrolling' - Java Swing cá»§a Robert Eckstein, Marc Loy & Dave Wood (http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf)  
+AboutDialog.Item7:'Add ghosted drag images to your JTrees' - cá»§a Andrew J. Armstrong (http://www.javaworld.com/javaworld/javatips/jw-javatip114.html)  
+AboutDialog.Item8:'Stop annoying java.prefs error when you don't have superuser access' - cá»§a Walter Schatz  
+AboutDialog.Java_Req:Java lÃ  thÆ°Æ¡ng hiá»u cá»§a Sun Microsystems Inc. ChÆ°Æ¡ng trÃ¬nh JRE ÄÆ°á»£c phá» biáº¿n theo Giáº¥y phÃ©p bá» sung táº¡i http://java.sun.com/j2se/1.4.1/j2re-1_4_1_02-license.html  
+AboutDialog.Java_Req_One:Sáº£n pháº©m nÃ y bao gá»m cáº£ mÃ£ ÄÆ°á»£c RSA Security, Inc cáº¥p phÃ©p.  
+AboutDialog.Java_Req_Two:Má»t sá» pháº§n ÄÆ°á»£c IBM cáº¥p phÃ©p cÃ³ thá» tÃ¬m tháº¥y táº¡i http\://oss.software.ibm.com/icu4j/  
+AboutDialog.Thanks:NgoÃ i ra cÅ©ng nhá» nhá»¯ng ngÆ°á»i ÄÃ£ ÄÆ°a cÃ¡c thÃŽng tin java há»¯u Ã­ch lÃªn Web...  
+AboutDialog.Title:Giá»i thiá»u...  
+AboutDialog.Title_One:Giao diá»n Thá»§ thÆ° Greenstone  
+AboutDialog.Title_Two:ThÆ° viá»n sá» Greenstone, Äáº¡i há»c Waikato  
+AboutDialog.Copyright:(C) 2003 Dá»± Ã¡n ThÆ° viá»n sá» New Zealand giá»¯ báº£n quyá»n  
+AboutDialog.Copyright_Two:Xuáº¥t báº£n theo Giáº¥y phÃ©p CÃŽng cá»ng Tá»ng quÃ¡t (GPL). Xem chi tiáº¿t trong LICENSE.txt  
+#***********************
+#
+#***** Audit Table *****
+AuditTable.File:TÃªn tá»p  
+#***********************
+#
+#***** Auto Filter *****
+Autofilter.AND:AND  
+Autofilter.Ascending:TÄng dáº§n  
+Autofilter.Case_Sensitive:TrÃ¹ng há»£p viáº¿t hoa-thÆ°á»ng  
+Autofilter.Custom_Filter:NÃ¢ng cao  
+Autofilter.Descending:Giáº£m dáº§n  
+Autofilter.Filter_By_Value:ÄÆ¡n giáº£n  
+Autofilter.Name:TÃªn cá»t  
+Autofilter.None:KhÃŽng cÃ³  
+Autofilter.Operator:Äiá»u kiá»n  
+Autofilter.OR:OR  
+Autofilter.Order:TrÃ¬nh tá»±  
+Autofilter.Order_Tooltip:Sáº¯p xáº¿p káº¿t quáº£ theo trÃ¬nh tá»± nÃ y  
+Autofilter.Remove:XoÃ¡ Bá» lá»c  
+Autofilter.Remove_Tooltip:XoÃ¡ bá» lá»c nÃ y khá»i cá»t  
+Autofilter.Set:Thiáº¿t láº­p Bá» lá»c  
+Autofilter.Set_Tooltip:Bá» sung bá» lá»c nÃ y vÃ o cá»t  
+Autofilter.Table_Header_Tooltip:Lá»c theo {0}  
+Autofilter.Title:SiÃªu dá»¯ liá»u lá»c tá»± Äá»ng  
+Autofilter.eqeq:báº±ng  
+Autofilter.!eq:khÃŽng báº±ng  
+Autofilter.<:nhá» hÆ¡n  
+Autofilter.<eq:nhá» hÆ¡n hoáº·c báº±ng  
+Autofilter.>:lá»n hÆ¡n  
+Autofilter.>eq:lá»n hÆ¡n hoáº·c báº±ng  
+Autofilter.^:báº¯t Äáº§u báº±ng  
+Autofilter.!^:khÃŽng báº¯t Äáº§u báº±ng  
+Autofilter.$:káº¿t thÃºc báº±ng  
+Autofilter.!$:khÃŽng káº¿t thÃºc báº±ng  
+Autofilter.?:chá»©a  
+Autofilter.!?:khÃŽng chá»©a  
+#
+#     ********************************************************
+#     *************** Collection Design Module ***************
+#     ********************************************************
+#     * The dictionary  phrases  used in the creation of the *
+#     * Colection  Design  Module. Note that we  still  have *
+#     * access  to the format  arguments (argument  32+) for *
+#     * html formatting.                                     *
+#     ********************************************************
+CDM.ArgumentConfiguration.Bad_Integer:<html>Äá»i sá» '{0}' yÃªu cáº§u giÃ¡ trá» sá» nguyÃªn, nhÆ°ng khÃŽng cÃ³ sá» nguyÃªn nÃ o cÃ³ thá» ÄÆ°á»£c phÃ¢n tÃ­ch tá»« {1}.</html>  
+CDM.ArgumentConfiguration.Error_Title:Lá»i Äá»i sá»  
+CDM.ArgumentConfiguration.Header:<HTML><STRONG><FONT FACE={FONT} COLOR=Black SIZE=5><CENTER>HÃ£y cáº¥u hÃ¬nh Äá»i sá» cho  {0}.</CENTER></FONT></STRONG></HTML>  
+CDM.ArgumentConfiguration.No_Value:Äá»i sá» '{0}' cáº§n má»t trá» sá», nhÆ°ng khÃŽng cÃ³ trá» sá» ÄÆ°á»£c nÃªu.  
+CDM.ArgumentConfiguration.Required_Argument:Äá»i sá» '{0}' pháº£i ÄÆ°á»£c nÃªu báº±ng trá» sá».  
+CDM.ArgumentConfiguration.Title:Cáº¥u hÃ¬nh Äá»i sá»  
+CDM.BuildTypeManager.Title:Chá»n Bá» láº­p chá» má»¥c  
+CDM.BuildTypeManager.mg:MG  
+CDM.BuildTypeManager.mg_Description:ÄÃ¢y lÃ  cÃŽng cá»¥ Äá»nh chá» má»¥c ÄÆ°á»£c Greenstone sá»­ dá»¥ng Äáº§u tiÃªn, do Alistair Moffat phÃ¡t triá»n vÃ  mÃŽ táº£ trong tÃ i liá»u vá» Managing Gigabytes (MG). NÃ³ ÄÃ¡nh chá» má»¥c á» cáº¥p Pháº§n, biá»u thá»©c tÃ¬m cÃ³ thá» lÃ  Boolean hoáº·c Sáº¯p xáº¿p (nhÆ°ng khÃŽng pháº£i lÃ  cáº£ hai). Cho má»i chá» má»¥c ÄÆ°á»£c nÃªu trong sÆ°u táº­p, sáºœ cÃ³ má»t chá» má»¥c váº­t lÃœ (tháº­t) ÄÆ°á»£c táº¡o ra. Äá»i vá»i tÃ¬m kiáº¿m báº±ng cá»¥m tá»«, Greenstone thá»±c hiá»n lá»nh tÃ¬m vá»i toÃ¡n tá»­ "AND" cho táº¥t cáº£ cÃ¡c thuáº­t ngá»¯, sau ÄÃ³ quÃ©t káº¿t quáº£ tÃ¬m ÄÆ°á»£c vá»i cá»¥m tá»« Äá» xem cÃ³ phÃ¹ há»£p khÃŽng. TÃ­nh nÄng nÃ y ÄÃ£ ÄÆ°á»£c thá»­ nghiá»m trÃªn nhá»¯ng sÆ°u táº­p ráº¥t lá»n (nhiá»u Giga bÃ­t dá»¯ liá»u).  
+CDM.BuildTypeManager.mgpp:MGPP  
+CDM.BuildTypeManager.mgpp_Description:ÄÃ¢y lÃ  phiÃªn báº£n má»i cá»§a MG (MG++, viáº¿t tÄt lÃ  MGPP), ÄÆ°á»£c phÃ¡t triá»n bá»i Dá»± Ã¡n New Zealand Digital Library Project. NÃ³ ÄÃ¡nh chá» má»¥c Äáº¿n má»©c tá»«, cho phÃ©p thá»±c hiá»n phÃ©p tÃ¬m theo trÆ°á»ng, cá»¥m tá»«, lÃ¢n cáº­n. Káº¿t quáº£ tÃ¬m theo toÃ¡n tá»­ Boole ÄÆ°á»£c sáº¯p xáº¿p. Chá» cÃ³ má»t tá»p chá» má»¥c duy nháº¥t ÄÆ°á»£c táº¡o ra cho má»t sÆ°u táº­p Greenstone: má»©c tÃ i liá»u/pháº§n vÃ  cÃ¡c trÆ°á»ng toÃ n vÄn/siÃªu dá»¯ liá»u ÄÆ°á»£c duy trÃ¬ bá»i 1 chá» má»¥c. Äá»i vá»i sÆ°u táº­p cÃ³ nhiá»u chá» má»¥c, Äiá»u nÃ y giÃºp cho bá» sÆ°u táº­p cÃ³ kÃ­ch thÆ°á»c nhá» hÆ¡n sÆ°u táº­p ÄÆ°á»£c táº¡o báº±ng viá»c sá»­ dá»¥ng MG. Äá»i vá»i nhá»¯ng sÆ°u táº­p lá»n, viá»c tÃ¬m kiáº¿m cÃ³ thá» bá» cháº­m hÆ¡n má»t Ã­t do chá» má»¥c á» má»©c tá»« mÃ  khÃŽng pháº£i má»©c Pháº§n.  
+CDM.BuildTypeManager.lucene:Lucene  
+CDM.BuildTypeManager.lucene_Description:Lucene ÄÆ°á»£c phÃ¡t triá»n bá»i Apache Software Foundation. NÃ³ há» trá»£ tÃ¬m theo trÆ°á»ng vÃ  tÃ¬m lÃ¢n cáº­n, nhÆ°ng chá» á» cÃ¹ng má»t má»©c (thÃ­ dá»¥ má»©c cáº£ tÃ i liá»u hoáº·c theo pháº§n ÄÆ¡n láº», nhÆ°ng khÃŽng pháº£i lÃ  cáº£ hai). VÃ¬ tháº¿ Chá» má»¥c cho TÃ i liá»u vÃ  Pháº§n Äá»i vá»i má»t sÆ°u táº­p cáº§n pháº£i lÃ  hai chá» má»¥c riÃªng ráºœ. NÃ³ sáºœ cung cáº¥p má»t loáº¡t tÃ­nh nÄng tÃ¬m kiáº¿m cho MGPP vá»i viá»c bá» sung dáº¥u kÃœ tá»± Äáº¡i diá»n, tÃ¬m kiáº¿m theo dÃ£y vÃ  sáº¯p xáº¿p káº¿t quáº£ tÃ¬m kiáº¿m theo trÆ°á»ng siÃªu dá»¯ liá»u. NÃ³ ÄÆ°á»£c bá» sung vÃ o Greenstone Äá» há» trá»£ viá»c xÃ¢y dá»±ng sÆ°u táº­p theo phÆ°Æ¡ng thá»©c tÄng dáº§n, má»t tÃ­nh nÄng mÃ  cáº£ MG vÃ  MGPP khÃŽng cÃ³.  
+CDM.BuildTypeManager.Current_Type:Bá» láº­p chá» má»¥c sá»­ dá»¥ng: {0}  
+CDM.BuildTypeManager.Change:Thay Äá»i...  
+CDM.BuildTypeManager.Change_Tooltip:Thay Äá»i Bá» láº­p chá» má»¥c mÃ  sÆ°u táº­p sá»­ dá»¥ng  
+CDM.ClassifierManager.Add:Bá» sung Bá» phÃ¢n lá»p  
+CDM.ClassifierManager.Add_Tooltip:Sá»­ dá»¥ng Bá» phÃ¢n lá»p chá»n cho sÆ°u táº­p nÃ y  
+CDM.ClassifierManager.Assigned:Bá» phÃ¢n lá»p ÄÆ°á»£c gÃ¡n  
+CDM.ClassifierManager.Classifier:Chá»n Bá» phÃ¢n lá»p  
+CDM.ClassifierManager.Classifier_Str:bá» phÃ¢n lá»p  
+CDM.ClassifierManager.Classifier_List_XML_Parse_Failed:KhÃŽng tÃ¬m ÄÆ°á»£c danh má»¥c Bá» phÃ¢n lá»p báº±ng classinfo.pl -listall.  
+CDM.ClassifierManager.Classifier_XML_Parse_Failed:KhÃŽng xÃ¡c Äá»nh ÄÆ°á»£c Äá»i sá» cho Bá» phÃ¢n lá»p {0}.\nHÃ£y Äáº£m báº£o Bá» phÃ¢n lá»p trong cÃ¢u há»i\ncung cáº¥p dáº¥u hiá»u -xml báº±ng cÃ¡ch cháº¡y chÆ°Æ¡ng trÃ¬nh classinfo.pl script\ntÆ°Æ¡ng tá»± nhÆ° mÃŽ táº£ pluginfo.pl script in\npháº§n 2.1 cá»§a tÃ i liá»u "HÆ°á»ng dáº«n cho ngÆ°á»i phÃ¡t triá»n Greenstone"  
+CDM.ClassifierManager.Configure:Cáº¥u hÃ¬nh Bá» phÃ¢n lá»p  
+CDM.ClassifierManager.Configure_Tooltip:Thay Äá»i phÆ°Æ¡ng Ã¡n cá»§a Bá» phÃ¢n lá»p ÄÃ£ chá»n  
+CDM.ClassifierManager.Remove:XoÃ¡ Bá» phÃ¢n lá»p  
+CDM.ClassifierManager.Remove_Tooltip:XoÃ¡ Bá» phÃ¢n lá»p ÄÃ£ chá»n khá»i danh sÃ¡ch  
+CDM.FormatManager.Add:Bá» sung Äá»nh dáº¡ng  
+CDM.FormatManager.Add_Tooltip:Bá» sung lá»nh Äá»nh dáº¡ng ÄÆ°á»£c nÃªu  
+CDM.FormatManager.AllFeatures:Má»i Äáº·c tÃ­nh  
+CDM.FormatManager.AllParts:Má»i thÃ nh pháº§n  
+CDM.FormatManager.Default:Reset to Default
+CDM.FormatManager.Default_Tooltip:Reset the selected format command to its default value 
+CDM.FormatManager.Editor:XÃ¢u Äá»nh dáº¡ng HTML  
+CDM.FormatManager.Editor_Tooltip:Nháº­p hoáº·c sá»­a lá»nh Äá»nh dáº¡ng  
+CDM.FormatManager.Editor_Disabled_Tooltip:KÃ­ch chuá»t nÃºt "Bá» sung Äá»nh dáº¡ng" Äá» bá» sung lá»nh nÃ y vÃ o sÆ°u táº­p  
+CDM.FormatManager.Enabled:Hoáº¡t Äá»ng ÄÆ°á»£c  
+CDM.FormatManager.Feature:Lá»±a chá»n tÃ­nh nÄng  
+CDM.FormatManager.Feature_Tooltip:TÃ­nh nÄng Äá» Äá»nh dáº¡ng  
+CDM.FormatManager.Insert:ChÃšn vÃ o  
+CDM.FormatManager.Insert_Tooltip:ChÃšn biáº¿n ÄÆ°á»£c chá»n vÃ o lá»nh Äá»nh dáº¡ng  
+CDM.FormatManager.Default:Trá» vá» máº·c Äá»nh  
+CDM.FormatManager.Default_Tooltip:ÄÆ°a biáº¿n ÄÆ°á»£c chá»n vá» giÃ¡ trá» máº·c Äá»nh  
+CDM.FormatManager.Insert_Variable:ChÃšn biáº¿n vÃ o...  
+CDM.FormatManager.Part:ThÃ nh pháº§n bá» tÃ¡c Äá»ng  
+CDM.FormatManager.Part_Tooltip:KhÃ­a cáº¡nh cá»§a tÃ­nh nÄng Äá»nh dáº¡ng lá»±a chá»n  
+CDM.FormatManager.Remove:XoÃ¡ Äá»nh dáº¡ng  
+CDM.FormatManager.Remove_Tooltip:XoÃ¡ lá»nh Äá»nh dáº¡ng ÄÆ°á»£c chá»n  
+CDM.FormatManager.Variable_Tooltip:ChÃšn thÃªm má»t trong sá» nhá»¯ng biáº¿n Äá»nh sáºµn vÃ o lá»nh Äá»nh dáº¡ng ÄÆ°á»£c chá»n  
+CDM.FormatManager.MessageBox:Kiá»m soÃ¡t há»£p lá» XML  
+CDM.FormatManager.MessageBox_Tooltip:ThÃŽng bÃ¡o kiá»m soÃ¡t há»£p lá» khuÃŽn máº«u  XML  
+CDM.General.Access:SÆ°u táº­p nÃ y cáº§n truy cáº­p ÄÆ°á»£c má»t cÃ¡ch cÃŽng cá»ng  
+CDM.General.Browser_Title:Chá»n má»t áº£nh  
+CDM.General.Collection_Extra:MÃŽ táº£ sÆ°u táº­p:  
+CDM.General.Collection_Extra_Tooltip:MÃŽ táº£ má»¥c ÄÃ­ch vÃ  ná»i dung cá»§a sÆ°u táº­p  
+CDM.General.Collection_Name:Nhan Äá» sÆ°u táº­p:  
+CDM.General.Collection_Name_Tooltip:TÃªn cá»§a sÆ°u táº­p  
+CDM.General.Email.Creator:Email cá»§a ngÆ°á»i táº¡o láº­p  
+CDM.General.Email.Creator_Tooltip:Äá»a chá» Email cá»§a ngÆ°á»i táº¡o láº­p sÆ°u táº­p  
+CDM.General.Email.Maintainer:Email cá»§a ngÆ°á»i duy trÃ¬  
+CDM.General.Email.Maintainer_Tooltip:Äá»a chá» Email cá»§a ngÆ°á»i duy trÃ¬ sÆ°u táº­p  
+CDM.General.Icon_Collection:URL Äáº¿n áº£nh cá»§a  'Giá»i thiá»u':  
+CDM.General.Icon_Collection_Tooltip:URL Äáº¿n áº£nh hiá»n thá» trÃªn trang Giá»i thiá»u cá»§a sÆ°u táº­p  
+CDM.General.Icon_Collection_Small:URL Äáº¿n áº£nh cá»§a 'Trang chá»§':  
+CDM.General.Icon_Collection_Small_Tooltip:URL Äáº¿n áº£nh hiá»n thá» trÃªn trang chá»§ cá»§a thÆ° viá»n cho sÆ°u táº­p nÃ y  
+CDM.General.Image_Copy_Failed:Lá»i xuáº¥t hiá»n ÄÃ£ cáº£n trá» áº£nh mÃ  báº¡n chá»n ÄÆ°á»£c sao chÃ©p.\nHÃ£y thá»­ sao chÃ©p thá»§ cÃŽng áº£nh nÃ y: \n{0}\n Äáº¿n thÆ° má»¥c chá»©a áº£nh cá»§a SÆ°u táº­p  
+CDM.General.Image_Filter:áº¢nh (gifs, jpgs and pngs)  
+CDM.GUI.Classifiers:Bá» phÃ¢n lá»p Duyá»t xem  
+CDM.GUI.Formats:Äáº·c tÃ­nh Äá»nh dáº¡ng  
+CDM.GUI.General:Pháº§n chung  
+CDM.GUI.Indexes:Chá» má»¥c tÃ¬m tim  
+CDM.GUI.Macros:Macro riÃªng cá»§a sÆ°u táº­p  
+CDM.GUI.Plugins:ChÆ°Æ¡ng trÃ¬nh nhÃºng  
+CDM.GUI.Root:CDM_ROOT  
+CDM.GUI.SearchMetadata:TÃ¬m kiáº¿m  
+CDM.GUI.Subcollections:Chá» má»¥c pháº§n Äoáº¡n  
+CDM.GUI.SuperCollection:TÃ¬m kiáº¿m liÃªn sÆ°u táº­p  
+CDM.GUI.Translation:Dá»ch vÄn báº£n  
+CDM.HelpButton:HÆ°á»ng dáº«n cho mÃ n hÃ¬nh nÃ y  
+CDM.HelpButton_Tooltip:Má» hÆ°á»ng dáº«n cá»§a giao diá»n cho mÃ n hÃ¬nh nÃ y  
+CDM.IndexManager.Add_Index:Bá» sung chá» má»¥c  
+CDM.IndexManager.Add_Index_Tooltip:Bá» sung chá» má»¥c chá» Äá»nh  
+CDM.IndexManager.Allfields_Index:Bá» sung TÃ¬m liÃªn káº¿t trÃªn má»i chá» má»¥c ÄÆ°á»£c gÃ¡n (Má»i trÆ°á»ng)  
+CDM.IndexManager.Default_Index_Indicator:[Default Index]  
+CDM.IndexManager.Index_Exists:Chá» má»¥c ÄÃ£ ÄÆ°á»£c gÃ¡n cho sÆ°u táº­p nÃ y  
+CDM.IndexManager.Indexes:CÃ¡c chá» má»¥c ÄÃ£ gÃ¡n  
+CDM.IndexManager.Level:Má»©c ÄÃ¡nh chá» sá»:  
+CDM.IndexManager.Level_Tooltip:ÄÆ¡n vá» vÄn báº£n mÃ  chá» má»¥c ÄÆ°á»£c táº¡o láº­p  
+CDM.IndexManager.Add_All:Bá» sung táº¥t cáº£  
+CDM.IndexManager.Add_All_Tooltip:Bá» sung chá» má»¥c riÃªng láº» cho má»i nguá»n tin  
+CDM.IndexManager.Edit_Index:Sá»­a chá» má»¥c  
+CDM.IndexManager.Edit_Index_Tooltip:Sá»­a chá» má»¥c ÄÆ°á»£c chá»n  
+CDM.IndexManager.New_Index:Chá» má»¥c má»i  
+CDM.IndexManager.New_Index_Tooltip:Bá» sung chá» má»¥c má»i  
+CDM.IndexManager.Remove_Index:XoÃ¡ chá» má»¥c  
+CDM.IndexManager.Remove_Index_Tooltip:XoÃ¡ chá» má»¥c ÄÆ°á»£c chá»n  
+CDM.IndexManager.Replace_Index:Thay tháº¿ chá» má»¥c  
+CDM.IndexManager.Replace_Index_Tooltip:Cáº­p nháº­t chá» má»¥c ÄÆ°á»£c chá»n  
+CDM.IndexManager.Select_All:Chá»n táº¥t cáº£  
+CDM.IndexManager.Select_All_Tooltip:Chá»n táº¥t cáº£ nguá»n chá» má»¥c  
+CDM.IndexManager.Select_None:KhÃŽng chá»n  
+CDM.IndexManager.Select_None_Tooltip:Huá»· chá»n táº¥t cáº£ nguá»n chá» má»¥c  
+CDM.IndexManager.Set_Default:Thiáº¿t láº­p chá» má»¥c máº·c Äá»nh  
+CDM.IndexManager.Set_Default_Tooltip:Chuyá»n chá» má»¥c ÄÆ°á»£c chá»n thÃ nh máº·c Äá»nh  
+CDM.IndexManager.Source:ÄÆ°a vÃ o chá» má»¥c:  
+CDM.IndexManager.Source_Tooltip:Yáº¿u tá» siÃªu dá»¯ liá»u Äá» xÃ¢y dá»±ng chá» má»¥c vá»  
+CDM.IndexManager.Text_Source:ToÃ n vÄn  
+CDM.IndexManager.Text_Source_Tooltip:ÄÆ°a toÃ n vÄn tÃ i liá»u vÃ o chá» má»¥c  
+CDM.IndexingManager.Accent_fold:Giáº£m  dáº§n  
+CDM.IndexingManager.Casefold:Chá»¯ hoa chá»¯ thÆ°á»ng  
+CDM.IndexingManager.Options:Kiá»u ÄÃ¡nh chá» sá»:  
+CDM.IndexingManager.Stem:Gá»c tá»«  
+CDM.LanguageManager.Add_Tooltip:Bá» sung pháº§n Äoáº¡n chá» má»¥c dá»±a trÃªn ngÃŽn ngá»¯ ÄÆ°á»£c nÃªu  
+CDM.LanguageManager.Assigned_Languages:Pháº§n Äoáº¡n ngÃŽn ngá»¯ ÄÆ°á»£c gÃ¡n  
+CDM.LanguageManager.Default_Language:NgÃŽn ngá»¯ máº·c Äá»nh  
+CDM.LanguageManager.LanguageMetadata:NgÃŽn ngá»¯ siÃªu dá»¯ liá»u:  
+CDM.LanguageManager.LanguageMetadata_Tooltip:Yáº¿u tá» siÃªu dá»¯ liá»u sá»­ dá»¥ng Äá» xÃ¡c Äá»nh ngÃŽn ngá»¯ cá»§a tÃ i liá»u  
+CDM.LanguageManager.Remove_Tooltip:XoÃ¡ pháº§n Äoáº¡n ngÃŽn ngá»¯ ÄÆ°á»£c chá»n khá»i danh má»¥c  
+CDM.LanguageManager.Replace_Tooltip:Thay tháº¿ pháº§n Äoáº¡n ÄÆ°á»£c chá»n báº±ng pháº§n má»i dá»±a trÃªn cÃ¡c ngÃŽn ngá»¯ ÄÃ£ chá»n  
+CDM.LanguageManager.Selector:CÃ¡c ngÃŽn ngá»¯ Äá» bá» sung:  
+CDM.LanguageManager.Selector_Tooltip:NgÃŽn ngá»¯ Äá» xÃ¢y dá»±ng pháº§n Äoáº¡n chá» má»¥c  
+CDM.LanguageManager.Set_Default:Thiáº¿t láº­p máº·c Äá»nh  
+CDM.LanguageManager.Set_Default_Tooltip:Chuyá»n pháº§n Äoáº¡n ngÃŽn ngá»¯ ÄÆ°á»£c chá»n thÃ nh máº·c Äá»nh  
+CDM.LevelManager.Document:tÃ i liá»u  
+CDM.LevelManager.Section:pháº§n vÄn báº£n  
+CDM.LevelManager.Paragraph:Äoáº¡n vÄn  
+CDM.LevelManager.Level_Title:Má»©c ÄÃ¡nh chá» má»¥c  
+CDM.LevelManager.Default:Máº·c Äá»nh  
+CDM.LevelManager.Default_Tooltip:Má»©c máº·c Äá»nh trong giao diá»n ngÆ°á»i Äá»c  
+CDM.MacrosManager.Editor_Tooltip:Sá»­a macro á» ÄÃ¢y  
+CDM.Move.At_Bottom:KhÃŽng thá» chuyá»n {0} {1} xuá»ng tháº¥p hÆ¡n ná»¯a bá»i ÄÃ¢y ÄÃ£ lÃ  cuá»i danh má»¥c.  
+CDM.Move.At_Top:KhÃŽng thá» chuyá»n {0} {1} cao hÆ¡n ná»¯a bá»i ÄÃ¢y ÄÃ£ lÃ  Äáº§u danh má»¥c.  
+CDM.Move.Cannot:KhÃŽng thá» chuyá»n Plugin {0} {1} xuá»ng tháº¥p hÆ¡n bá»i Recplug vÃ  ArcPlug pháº£i á» cuá»i danh má»¥c.  
+CDM.Move.Fixed:<html>RecPlug vÃ  ArcPlug pháº£i á» cuá»i cÃ¹ng vÃ  ÄÃ£ ÄÆ°á»£c ghi cá» Äá»nh á» vá» trÃ­ ÄÃ³.<br>Náº¿u báº¡n báº¯t buá»c pháº£i chuyá»n chÃºng Äi, hÃ£y thá»±c hiá»n báº±ng chá»nh sá»­a thá»§ cÃŽng tá»p collect.cfg file.</html>  
+CDM.Move.Move_Down:Chuyá»n xuá»ng  
+CDM.Move.Move_Down_Tooltip:Chuyá»n má»¥c ÄÆ°á»£c chá»n xuá»ng dÆ°á»i  
+CDM.Move.Move_Up:Chuyá»n lÃªn  
+CDM.Move.Move_Up_Tooltip:Chuyá»n má»¥c ÄÆ°á»£c chá»n lÃªn trÃªn  
+CDM.Move.Title:Lá»i - khÃŽng chuyá»n ÄÆ°á»£c  
+CDM.PlugInManager.Add:Bá» sung Plugin...  
+CDM.PlugInManager.QuickAdd:Bá» sung Plugin  
+CDM.PlugInManager.Add_Tooltip:Sá»­ dá»¥ng plugin ÄÆ°á»£c chá»n cho sÆ°u táº­p nÃ y  
+CDM.PlugInManager.Assigned:Plugin ÄÆ°á»£c gÃ¡n  
+CDM.PlugInManager.Configure:Cáº¥u hÃ¬nh Plugin...  
+CDM.PlugInManager.Configure_Tooltip:Thay Äá»i lá»±a chá»n cá»§a Plugin ÄÃ£ chá»n  
+CDM.PlugInManager.Ignore:KhÃŽng bá» sung Plugin  
+CDM.PlugInManager.Ignore_Tooltip:KhÃŽng bá» sung thÃªm Plugin vÃ o sÆ°u táº­p nÃ y.  
+CDM.PlugInManager.PlugIn:Chá»n Plugin Äá» bá» sung:  
+CDM.PlugInManager.PlugIn_Tooltip:Nhá»¯ng plugin sá»­ dá»¥ng ÄÆ°á»£c cho sÆ°u táº­p nÃ y  
+CDM.PlugInManager.PlugIn_Str:plugin  
+CDM.PlugInManager.PlugIn_XML_Parse_Failed:KhÃŽng thá» xÃ¡c Äá»nh ÄÆ°á»£c Äá»i sá» cho {0}\nplugin. HÃ£y kiá»m tra Äá» Äáº£m báº£o ráº±ng plugin nÃ y cung cáº¥p \n -xml flag báº±ng cÃ¡ch cháº¡y chÆ°Æ¡ng trÃ¬nh pluginfo.pl ÄÆ°á»£c mÃŽ táº£ trong \npháº§n 2.1 cá»§a TÃ i liá»u cho ngÆ°á»i phÃ¡t triá»n há» thá»ng (Greenstone Developers Guide).  
+CDM.PluginManager.Plugin_List_XML_Parse_Failed:KhÃŽng láº¥y ÄÆ°á»£c danh má»¥c Plugin báº±ng pluginfo.pl -listall.  
+CDM.PluginManager.Plugin_Suggestion_Prompt:KhÃŽng cÃ³ plugin nÃ o trong sÆ°u táº­p nÃ y xá»­ lÃœ tá»p "{0}". Nhá»¯ng plugin sau cÃ³ thá» ÄÆ°á»£c sá»­ dá»¥ng Äá» xá»­ lÃœ tá»p nÃ y. Báº¡n cÃ³ thá» bá» sung nÃ³ vÃ o sÆ°u táº­p ngay bÃ¢y giá» báº±ng cÃ¡ch chá»n vÃ  kÃ­ch chuá»t nÃºt Bá» sung. (LÆ°u Ãœ, báº¡n cÃ³ thá» thay Äá»i danh má»¥c plugin báº¥t cá»© lÃºc nÃ o báº±ng cÃ¡ch chuyá»n Äáº¿n "Plugin TÃ i liá»u" trÃªn má»¥c Thiáº¿t káº¿.)  
+CDM.PlugInManager.Remove:XoÃ¡ Plugin  
+CDM.PlugInManager.Remove_Tooltip:XoÃ¡ plugin ÄÆ°á»£c chá»n khá»i danh má»¥c  
+CDM.PluginManager.SuggestedPluginListTitle:Nhá»¯ng plugin ÄÆ°á»£c Äá» xuáº¥t  
+CDM.SearchMetadataManager.Component:Äá»i tÆ°á»£ng trong menu TÃ¬m tin  
+CDM.SearchMetadataManager.Component_Name:VÄn báº£n hiá»n thá»  
+CDM.SearchMetadataManager.Type_index:Chá» má»¥c  
+CDM.SearchMetadataManager.Type_level:Má»©c Äá»  
+CDM.SearchMetadataManager.Type_partition:PhÃ¢n Äoáº¡n  
+CDM.SearchMetadataManager.Type_language:PhÃ¢n Äoáº¡n ngÃŽn ngá»¯  
+CDM.SubcollectionManager.Add:Bá» sung bá» lá»c  
+CDM.SubcollectionManager.Add_Tooltip:Bá» sung bá» lá»c ÄÆ°á»£c chá»n vÃ o sÆ°u táº­p  
+CDM.SubcollectionManager.Assigned:Bá» lá»c sÆ°u táº­p con ÄÆ°á»£c Äá»nh nghiÃ£  
+CDM.SubcollectionManager.Exclude:Loáº¡i trá»«  
+CDM.SubcollectionManager.Flags:Flag cho táº­p há»£p khi trÃ¹ng khá»p  
+CDM.SubcollectionManager.Flags_Tooltip:Flag biá»u thá»©c thÃŽng thÆ°á»ng Äá» sá»­ dá»¥ng khi trÃ¹ng khá»p (thÃ­ dá»¥ "i" trong khÃŽng phÃ¢n biá»t chá»¯ hoa-thÆ°á»ng)  
+CDM.SubcollectionManager.Include:Nháº­p vÃ o  
+CDM.SubcollectionManager.Inclusive:ChÃºng ta lÃ m gÃ¬ vá»i cÃ¡c tá»p trÃ¹ng khá»p?  
+CDM.SubcollectionManager.Language_Controls:GÃ¡n ngÃŽn ngá»¯  
+CDM.SubcollectionManager.Match:Biá»u thá»©c thÃŽng thÆ°á»ng trÃ¹ng khá»p vá»i:  
+CDM.SubcollectionManager.Match_Tooltip:Má»t biá»u thá»©c thÃŽng thÆ°á»ng xÃ¡c Äá»nh tÃ i liá»u trong sÆ°u táº­p con  
+CDM.SubcollectionManager.Name:TÃªn bá» lá»c sÆ°u táº­p con:  
+CDM.SubcollectionManager.Name_Tooltip:TÃªn cá»§a bá» lá»c sÆ°u táº­p con má»i  
+CDM.SubcollectionManager.Partitions_Disabled:Tiá»n Ã­ch nÃ y hiá»n Äang bá» máº¥t tÃ¡c dá»¥ng vÃ¬ báº¡n Äang hoáº¡t Äá»ng trong cháº¿ Äá» {0-Current Mode}. NÃ³ chá» cÃ³ thá» truy nháº­p ÄÆ°á»£c á» cháº¿ Äá» {1-Systems} vÃ  {2-Expert}. Sá»­ dá»¥ng "Há» sÆ¡"->"Thuá»c tÃ­nh" Äá» thay Äá»i cháº¿ Äá» hoáº¡t Äá»ng  
+CDM.SubcollectionManager.Remove:XoÃ¡ Bá» lá»c  
+CDM.SubcollectionManager.Remove_Tooltip:XoÃ¡ bá» lá»c ÄÆ°á»£c chá»n khá»i danh má»¥c  
+CDM.SubcollectionManager.Replace:Thay tháº¿ Bá» lá»c  
+CDM.SubcollectionManager.Replace_Tooltip:Cáº­p nháº­t chi tiáº¿t cá»§a Bá» lá»c ÄÆ°á»£c chá»n  
+CDM.SubcollectionManager.Source:Thuá»c tÃ­nh tÃ i liá»u Äá» so sÃ¡nh vá»i:  
+CDM.SubcollectionManager.Source_Tooltip:Thuá»c tÃ­nh tÃ i liá»u Äá» lá»c theo  
+CDM.SubcollectionManager.Subcollection_Controls:Äá»nh nghÄ©a Bá» lá»c  
+CDM.SubcollectionManager.Subindex_Controls:GÃ¡n PhÃ¢n Äoáº¡n  
+CDM.SubcollectionIndexManager.Add_Subindex:Bá» sung phÃ¢n Äoáº¡n  
+CDM.SubcollectionIndexManager.Add_Subindex_Tooltip:Bá» sung phÃ¢n Äoáº¡n ÄÆ°á»£c nÃªu vÃ o sÆ°u táº­p  
+CDM.SubcollectionIndexManager.Default_Partition_Indicator:[PhÃ¢n Äoáº¡n máº·c Äá»nh]  
+CDM.SubcollectionIndexManager.Remove_Subindex:XoÃ¡ phÃ¢n Äoáº¡n  
+CDM.SubcollectionIndexManager.Remove_Subindex_Tooltip:XoÃ¡ phÃ¢n Äoáº¡n ÄÆ°á»£c chá»n khá»i sÆ°u táº­p  
+CDM.SubcollectionIndexManager.Replace_Subindex:Thay tháº¿ phÃ¢n Äoáº¡n  
+CDM.SubcollectionIndexManager.Replace_Subindex_Tooltip:Cáº­p nháº­t phÃ¢n Äoáº¡n ÄÆ°á»£c chá»n  
+CDM.SubcollectionIndexManager.Set_Default_Subindex:Thiáº¿t láº­p máº·c Äá»nh  
+CDM.SubcollectionIndexManager.Set_Default_Subindex_Tooltip:Chuyá»n phÃ¢n Äoáº¡n ÄÆ°á»£c chá»n thÃ nh máº·c Äá»nh  
+CDM.SubcollectionIndexManager.Source:XÃ¢y dá»±ng phÃ¢n Äoáº¡n theo:  
+CDM.SubcollectionIndexManager.Source_Tooltip:Bá» lá»c sÆ°u táº­p con Äá» xÃ¢y dá»±ng phÃ¢n Äoáº¡n theo  
+CDM.SubcollectionIndexManager.Subindexes:PhÃ¢n Äoáº¡n sÆ°u táº­p con ÄÆ°á»£c gÃ¡n  
+CDM.TranslationManager.Add:Bá» sung pháº§n dá»ch  
+CDM.TranslationManager.Add_Tooltip:Bá» sung pháº§n dá»ch ÄÆ°á»£c chá»n vÃ o sÆ°u táº­p  
+CDM.TranslationManager.Affected_Features:Äáº·c tÃ­nh  
+CDM.TranslationManager.Assigned_Fragments:Pháº§n dá»ch ÄÆ°á»£c gÃ¡n  
+CDM.TranslationManager.Default_Text:Äoan vÄn báº£n khá»i Äáº§u  
+CDM.TranslationManager.Fragment_Column:Äoáº¡n vÄn báº£n  
+CDM.TranslationManager.Language:NgÃŽn ngá»¯ cá»§a pháº§n dá»ch  
+CDM.TranslationManager.Language_Column:NgÃŽn ngá»¯  
+CDM.TranslationManager.Language_Tooltip:NgÃŽn ngá»¯ Äang ÄÆ°á»£c dá»ch sang  
+CDM.TranslationManager.Remove:XoÃ¡ pháº§n dá»ch  
+CDM.TranslationManager.Remove_Tooltip:XoÃ¡ pháº§n dá»ch ÄÆ°á»£c chá»n khá»i sÆ°u táº­p  
+CDM.TranslationManager.Replace:Thay tháº¿ pháº§n dá»ch  
+CDM.TranslationManager.Replace_Tooltip:Cáº­p nháº­t pháº§n dá»ch ÄÆ°á»£c chá»n  
+CDM.TranslationManager.Translation:VÄn báº£n ÄÆ°á»£c dá»ch  
+CDM.TranslationManager.Translation_Tooltip:Nháº­p pháº§n dá»ch cá»§a xÃ¢u á» ÄÃ¢y  
+#*******************
+#
+#***** Collection *****
+Collection.Collection:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>SÆ°u táº­p</FONT></STRONG></HTML>  
+Collection.Delete_Tooltip:XoÃ¡ cÃ¡c tá»p ÄÆ°á»£c chá»n khá»i thÆ° má»¥c  
+Collection.Filter_Tooltip:Háº¡n cháº¿ cÃ¡c tá»p ÄÆ°á»£c hiá»n trong cÃ¢y thÆ° má»¥c  
+Collection.New_Folder_Tooltip:Táº¡o má»t thÆ° má»¥c má»i  
+Collection.No_Collection:KhÃŽng cÃ³ sÆ°u táº­p  
+Collection.No_Collection_Loaded:KhÃŽng cÃ³ sÆ°u táº­p ÄÆ°á»£c táº£i lÃªn  
+Collection.Stop:Dá»«ng  
+Collection.Stop_Tooltip:Dá»«ng sao tá»p tin  
+Collection.Workspace:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>VÃ¹ng lÃ m viá»c</FONT></STRONG></HTML>  
+#**********************
+#
+#***** CollectionBuilt *****
+CollectionBuilt.Message:SÆ°u táº­p ÄÃ£ ÄÆ°á»£c xÃ¢y dá»±ng vÃ  sáºµn sÃ ng Äá» duyá»t xem  
+CollectionBuilt.Title:Káº¿t quáº£ xÃ¢y dá»±ng sÆ°u táº­p  
+#***************************
+#
+#***** CollectionManager *****
+CollectionManager.Build_Cancelled:QuÃ¡ trÃ¬nh xÃ¢y dá»±ng sÆ°u táº­p bá» huá»·.  
+CollectionManager.Cannot_Create_Collection:CÃ³ lá»i vÃ  sÆ°u táº­p khÃŽng ÄÆ°á»£c táº¡o ra.  
+CollectionManager.Cannot_Create_Collection_With_Reason:SÆ°u táº­p khÃŽng thá» ÄÆ°á»£c táº¡o láº­p vÃ¬ :\n{0-Error message}  
+CollectionManager.Cannot_Delete_Index:SÆ°u táº­p nÃ y khÃŽng thá» xÃ¢y dá»±ng láº¡i ÄÆ°á»£c vÃ¬ khÃŽng thá» xÃ³a ÄÆ°á»£c cÃ¡c tá»p chá» má»¥c cÅ©.\nKiá»m tra Äá» xem Greenstone hoáº·c chÆ°Æ¡ng trÃ¬nh nÃ o khÃ¡c Äang sá»­ dá»¥ng cÃ¡c tá»p ÄÃ³, \n rá»i thá»­ lÃ m láº¡i.  
+CollectionManager.Cannot_Delete_Index_Log:KhÃŽng thá» xoÃ¡ ÄÆ°á»£c cÃ¡c tá»p chá» má»¥c cÅ© vÃ  vÃ¬ váº­y quÃ¡ trÃ¬nh nháº­p vÃ o bá» dá»«ng láº¡i.  
+CollectionManager.Cannot_Open:SÆ°u táº­p á» ÄÆ°á»ng dáº«n:\n{0-Collection file path}\nkhÃŽng má» ÄÆ°á»£c.  
+CollectionManager.Cannot_Open_With_Reason:SÆ°u táº­p á» ÄÆ°á»ng dáº«n:\n{0-Collection file path}\nkhÃŽng má» ÄÆ°á»£c vÃ¬:\n{1-Error message}  
+CollectionManager.Creating_Collection:Äang táº¡o láº­p sÆ°u táº­p  
+CollectionManager.Creating_Collection_Please_Wait:Äang táº¡o láº­p sÆ°u táº­p, xin hÃ£y chá» má»t chÃºt....  
+CollectionManager.Loading_Collection:Äang táº£i sÆ°u táº­p  
+CollectionManager.Loading_Collection_Please_Wait:Äang táº£i sÆ°u táº­p. Xin hÃ£y chá» má»t chÃºt...  
+CollectionManager.Loading_Successful:SÆ°u táº­p ÄÆ°á»£c táº£i {0}.  
+CollectionManager.Missing_Config:SÆ°u táº­p nÃ y khÃŽng cÃ³ tá»p cáº¥u hÃ¬nh collect.cfg há»£p lá».  
+CollectionManager.Not_Col_File:{0}' khÃŽng pháº£i lÃ  tá»p SÆ°u táº­p cá»§a GLI (.col)  
+CollectionManager.No_Config_File:Táº­p cáº¥u hÃ¬nh collect.cfg khÃŽng do mkcol.pl táº¡o ra.  
+CollectionManager.Preview_Ready_Failed:CÃ³ lá»i nÃªn sáºœ cáº£n trá» viá»c duyá»t láº¡i SÆ°u táº­p.  
+CollectionManager.Preview_Ready_Title:TÃ¬nh tráº¡ng Duyá»t SÆ°u táº­p.  
+CollectionManager.Build_Not_Moved:ThÆ° má»¥c xÃ¢y dá»±ng khÃŽng thá» bá» xoÃ¡.  
+CollectionManager.Index_Not_Deleted:KhÃŽng xoÃ¡ ÄÆ°á»£c ThÆ° má»¥c chá» má»¥c.  
+CollectionManager.Install_Exception:CÃ³ lá»i khi cÃ i Äáº·t sÆ°u táº­p:\n{0}\nCÃ³ thá» lá»i lÃ  do Windows hoáº·c chÆ°Æ¡ng trÃ¬nh ThÆ° viá»n cá»¥c bá» khoÃ¡ cÃ¡c tá»p tin.\nKiá»m tra Äá» khÃŽng cÃ³ tá»p tin nguá»n cá»§a sÆ°u táº­p\nÄang bá» má» bá»i cÃ¡c á»©ng dá»¥ng bÃªn ngoÃ i khÃ¡c, sau ÄÃ³ thá»±c hiá»n XÃ¢y dá»±ng láº¡i.  
+#*****************************
+#
+#***** CollectionPopupMenu *****
+CollectionPopupMenu.Delete:XoÃ¡  
+CollectionPopupMenu.New_Dummy_Doc:TÃ i liá»u giáº£ má»i  
+CollectionPopupMenu.New_Folder:ThÆ° má»¥c má»i  
+CollectionPopupMenu.Rename:Äá»i tÃªn  
+CollectionPopupMenu.Replace:Thay tháº¿  
+#*******************************
+#
+#***** CreatePane *****
+CreatePane.Build:PhÆ°Æ¡ng Ã¡n xÃ¢y dá»±ng  
+CreatePane.Build_Tooltip:Lá»±a chá»n cho giai Äoáº¡n ÄÃ¡nh chá» má»¥c vÃ  phÃ¢n lá»p trong táº¡o láº­p sÆ°u táº­p  
+CreatePane.Build_Collection:XÃ¢y dá»±ng SÆ°u táº­p  
+CreatePane.Build_Collection_Tooltip:Báº¯t Äáº§u quÃ¡ trÃ¬nh hÃ¬nh thÃ nh sÆ°u táº­p  
+CreatePane.Build_Progress:QuÃ¡ trÃ¬nh xÃ¢y dÆ°ng  
+CreatePane.Cancel_Build:Huá»· xÃ¢y dÆ°ng  
+CreatePane.Cancel_Build_Tooltip:Dá»«ng quÃ¡ trÃ¬nh táº¡o láº­p sÆ°u táº­p  
+CreatePane.Full_Build:XÃ¢y dá»±ng láº¡i hoÃ n toÃ n  
+CreatePane.Full_Build_Tooltip:XÃ¢y dá»±ng láº¡i toÃ n bá» sÆ°u táº­p tá»« Äáº§u  
+CreatePane.Import:PhÆ°Æ¡ng Ã¡n nháº­p vÃ o  
+CreatePane.Import_Tooltip:Lá»±a chá»n cho chuyá»n Äá»i dá»¯ liá»u vÃ  giai Äoáº¡n gÃ¡n siÃªu dá»¯ liá»u trong táº¡o láº­p sÆ°u táº­p  
+CreatePane.Import_Progress:QuÃ¡ trÃ¬nh nháº­p vÃ o  
+CreatePane.Minimal_Build:XÃ¢y dá»±ng láº¡i tá»i thiá»u  
+CreatePane.Minimal_Build_Tooltip:Nhanh hÆ¡n vÃ¬ chá» nhá»¯ng pháº§n cáº§n thiáº¿t cá»§a quÃ¡ trÃ¬nh xÃ¢y dá»±ng sÆ°u táº­p má»i bá» tÃ¡c Äá»ng  
+CreatePane.Minimal_Build_Not_Required:KhÃŽng cáº§n thiáº¿t pháº£i xÃ¢y dá»±ng láº¡i vÃ¬ báº¡n khÃŽng bá» sung thÃªm dá»¯ liá»u vÃ o sÆ°u táº­p, \nhiá»u ÄÃ­nh siÃªu dá»¯ liá»u, hoáº·c thay Äá»i lá»±a chá»n trong má»¥c Thiáº¿t káº¿. \n(Äá» xÃ¢y dá»±ng láº¡i, chá»n "XÃ¢y dá»±ng láº¡i hoÃ n toÃ n" vÃ  báº¥m nÃºt "XÃ¢y dá»±ng sÆ°u táº­p".)  
+CreatePane.Log:Nháº­t kÃœ thÃŽng bÃ¡o  
+CreatePane.Log_Tooltip:Xem Äáº§u ra tá»« nhá»¯ng thá»­ nghiá»m táº¡o láº­p sÆ°u táº­p trÆ°á»c ÄÃ¢y  
+CreatePane.Mode_All:táº¥t cáº£  
+CreatePane.Options:NhÃ³m lá»±a chá»n  
+CreatePane.Options_Title:Chá»n lá»±a Nháº­p vÃ  xÃ¢y dá»±ng sÆ°u táº­p  
+CreatePane.Preview_Collection:Duyá»t láº¡i sÆ°u táº­p  
+CreatePane.Preview_Collection_Tooltip:Duyá»t láº¡i sÆ°u táº­p  
+#**********************
+#
+#***** Dates *****
+Dates.Mon:Thá»© Hai  
+Dates.Tue:Thá»© Ba  
+Dates.Wed:Thá»© TÆ°  
+Dates.Thu:Thá»© NÄm  
+Dates.Fri:Thá»© SÃ¡y  
+Dates.Sat:Thá»© Báº£y  
+Dates.Sun:Chá»§ nháº­t  
+Dates.Jan:ThÃ¡ng GiÃªng  
+Dates.Feb:ThÃ¡ng Hai  
+Dates.Mar:ThÃ¡ng Ba  
+Dates.Apr:ThÃ¡ng TÆ°  
+Dates.May:ThÃ¡ng NÄm  
+Dates.Jun:ThÃ¡ng SÃ¡u  
+Dates.Jul:ThÃ¡ng Báº£y  
+Dates.Aug:ThÃ¡ng TÃ¡m  
+Dates.Sep:ThÃ¡ng ChÃ­n  
+Dates.Oct:ThÃ¡ng MÆ°á»i  
+Dates.Nov:ThÃ¡ng MÆ°á»i má»t  
+Dates.Dec:ThÃ¡ng MÆ°á»i hai  
+#**********************
+#
+#***** Delete Collection Prompt *****
+DeleteCollectionPrompt.Collection_Details:Chi tiáº¿t cá»§a sÆ°u táº­p ÄÆ°á»£c chá»n  
+DeleteCollectionPrompt.Collection_List:Nhá»¯ng sÆ°u táº­p hiá»n cÃ³  
+DeleteCollectionPrompt.Confirm_Delete:HÃ£y kÃ­ch vÃ o há»p chá»n Äá» kháº³ng Äá»nh xoÃ¡ sÆ°u táº­p.  
+DeleteCollectionPrompt.Delete:XoÃ¡  
+DeleteCollectionPrompt.Delete_Tooltip:XoÃ¡ sÆ°u táº­p ÄÆ°á»£c chá»n  
+DeleteCollectionPrompt.Details:NgÆ°á»i táº¡o láº­p - {0}\nNgÆ°á»i duy trÃ¬ - {1}\nMÃŽ táº£\n{2}  
+DeleteCollectionPrompt.Failed_Delete:KhÃŽng thá» xoÃ¡ hoÃ n toÃ n bá» sÆ°u táº­p  
+DeleteCollectionPrompt.Failed_Title:XoÃ¡ khÃŽng thÃ nh cÃŽng  
+DeleteCollectionPrompt.No_Collection:KhÃŽng cÃ³ sÆ°u táº­p ÄÆ°á»£c chá»n.  
+DeleteCollectionPrompt.Successful_Delete:Bá» sÆ°u táº­p ÄÃ£ bá» xoÃ¡.  
+DeleteCollectionPrompt.Successful_Title:XoÃ¡ ÄÃ£ káº¿t thÃºc  
+DeleteCollectionPrompt.Title:XoÃ¡ sÆ°u táº­p  
+#**********************
+#
+#***** DirectoryLevelMetadata *****
+DirectoryLevelMetadata.Message:Báº¡n pháº£i gÃ¡n siÃªu dá»¯ liá»u 'Má»©c thÆ° má»¥c' vÃ o thÆ° má»¥c ÄÆ°á»£c chá»n. SiÃªu dá»¯ liá»u nhÆ° tháº¿ sáºœ ÄÆ°á»£c tá»± Äá»ng truyá»n xuá»ng má»©c thÆ° má»¥c con tá»i cÃ¡c tá»p vÃ  thÆ° má»¥c con trongthÆ° má»¥c nÃ y. Nhá»¯ng siÃªu dá»¯ liá»u nhÆ° váº­y khÃŽng thá» bá» xoÃ¡ khá»i thÆ° má»¥c con mÃ  chá» cÃ³ thá» ÄÆ°á»£c thay tháº¿. Äá» tiáº¿p tá»¥c thao tÃ¡c nÃ y, báº¥m phÃ­m 'OK'.  
+DirectoryLevelMetadata.Title:Chuáº©n bá» bá» sung siÃªu dá»¯ liá»u má»©c thÆ° má»¥c  
+
+#*******************
+#
+#***** Download *****
+DOWNLOAD.MODE.Root:Download_Root  
+DOWNLOAD.MODE.WebDownload:Web  
+DOWNLOAD.MODE.MediaWikiDownload:MediaWiki  
+DOWNLOAD.MODE.OAIDownload:OAI  
+DOWNLOAD.MODE.ZDownload:Z39.50  
+DOWNLOAD.MODE.SRWDownload:Dá»ch vá»¥ tÃ¬m kiáº¿m trÃªn Web  
+
+Download.ServerInformation:ThÃŽng tin mÃ¡y chá»§  
+Download.ServerInformation_Tooltip:Táº£i xuá»ng má»t sá» thÃŽng tin vá» mÃ¡y chá»§ vÃ  kiá»m tra xem káº¿t ná»i cÃ³ thá» thá»±c hiá»n ÄÆ°á»£c  
+
+#********************
+#
+#***** EnrichPane *****
+EnrichPane.AutoMessage:Yáº¿u tá» nÃ y, {0}, thuá»c vá» táº­p siÃªu dá»¯ liá»u cá»§a Greenstone. Bá» siÃªu dá»¯ liá»u nÃ y lÃ  nhá»¯ng dá»¯ liá»u cÃ³ thá» ÄÆ°á»£c triáº¿t rÃºt má»t cÃ¡ch tá»± Äá»ng. Äá» kiá»m tra siÃªu dá»¯ liá»u {0} nÃ o cÃ³ thá» triáº¿t rÃºt ÄÆ°á»£c, táº¡o láº­p sÆ°u táº­p báº±ng sá»­ dá»¥ng thá»±c ÄÆ¡n 'Táº¡o láº­p'.  
+EnrichPane.ExistingValues:GiÃ¡ trá» hiá»n táº¡i cho {0}  
+EnrichPane.InheritedMetadataSelected:Pháº§n tá»­ siÃªu dá»¯ liá»u nÃ y ÄÆ°á»£c káº¿ thá»«a tá»« thÆ° má»¥c á» má»©c trÃªn vÃ  khÃŽng thá» bá» xoÃ¡. Báº¡n cÃ³ thá» Äáº¿n thÆ° má»¥c thá»±c táº¿ Äang chá»©a siÃªu dá»¯ liá»u báº±ng cÃ¡ch kÃ­ch chuá»t vÃ o biá»u tÆ°á»£ng á» Äáº§u hÃ ng.  
+EnrichPane.InheritedMetadata_Tooltip:KÃ­ch chuá»t vÃ o biá»u tÆ°á»£ng Äá» Äáº¿n thÆ° má»¥c nÆ¡i nhá»¯ng pháº§n tá»­ siÃªu dá»¯ liá»u káº¿ thá»«a ÄÆ°á»£c gÃ¡n  
+EnrichPane.ManageMetadataSets:Quáº£n trá» bá» siÃªu dá»¯ liá»u...  
+EnrichPane.ManageMetadataSets_Tooltip:Thay Äá»i bá» siÃªu dá»¯ liá»u mÃ  sÆ°u táº­p sá»­ dá»¥ng  
+EnrichPane.No_File:KhÃŽng chá»n tá»p nÃ o  
+EnrichPane.No_Metadata:KhÃŽng cÃ³ siÃªu dá»¯ liá»u  
+EnrichPane.No_Metadata_Element:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>KhÃŽng cÃ³ yáº¿u tá» siÃªu dá»¯ liá»u ÄÆ°á»£c chá»n</FONT></STRONG></HTML>  
+EnrichPane.NotOneFileOnlyMetadataSelected:Pháº§n tá»­ siÃªu dá»¯ liá»u nÃ y khÃŽng chá» lÃ  riÃªng cá»§a tá»p tin nÃ y vÃ  khÃŽng thá» hiá»u ÄÃ­nh ÄÆ°á»£c.  
+EnrichPane.Value_Field_Tooltip:GiÃ¡ trá» cáº§n gÃ¡n cho yáº¿u tá» siÃªu dá»¯ liá»u ÄÆ°á»£c chá»n  
+EnrichPane.Value_Field_Tooltip_Uneditable:GiÃ¡ trá» ÄÆ°á»£c gÃ¡n cho yáº¿u tá» siÃªu dá»¯ liá»u ÄÆ°á»£c chá»n  
+#***********************
+#
+#****** ExplodeMetadataPrompt *******
+ExplodeMetadataPrompt.Explode:Má» bung  
+ExplodeMetadataPrompt.Explode_Tooltip:Má» bung tá»p siÃªu dá»¯ liá»u  
+ExplodeMetadataPrompt.Instructions:Viá»c má» bung tá»p siÃªu dá»¯ liÃªu nÃ y sáºœ táº¡o ra nhá»¯ng biá»u ghi riÃªng ráºœ vá»i siÃªu dá»¯ liá»u cÃ³ thá» hiá»u ÄÃ­nh ÄÆ°á»£c. ÄÃ¢y lÃ  quÃ¡ trÃ¬nh khÃŽng Äáº£o ngÆ°á»£c vÃ  siÃªu dá»¯ liá»u gá»c sáºœ bá» xoÃ¡ khá»i sÆ°u táº­p.  
+ExplodeMetadataPrompt.Failed_Title:Má» bung bá» lá»i  
+ExplodeMetadataPrompt.Failed_Explode:KhÃŽng má» bung ÄÆ°á»£c CSDL {0}.  
+ExplodeMetadataPrompt.NotExplodable:Tá»p nÃ y khÃŽng thá» má» bung  
+ExplodeMetadataPrompt.Successful_Explode:CSDL {0} ÄÆ°á»£c má» bung thÃ nh cÃŽng.  
+ExplodeMetadataPrompt.Successful_Title:HoÃ n thÃ nh má» bung.  
+ExplodeMetadataPrompt.Title:má» bung CSDL siÃªu dá»¯ liá»u  
+ExplodeMetadataPrompt.Plugin:Plugin sá»­ dá»¥ng Äá» má» bung  
+#***********************
+#
+#****** WriteCDImagePrompt *******
+WriteCDImagePrompt.CD_Name:TÃªn CD/DVD  
+WriteCDImagePrompt.Export:Xuáº¥t dá»¯ liá»u cho CD/DVD  
+WriteCDImagePrompt.Export_Tooltip:Ghi cÃ¡c sÆ°u táº­p ÄÆ°á»£c chá»n thÃ nh dá»¯ liá»u cho CD/DVD Windows  
+WriteCDImagePrompt.Failed_Export:KhÃŽng xuáº¥t ra ÄÆ°á»£c cÃ¡c sÆ°u táº­p ({0}).  
+WriteCDImagePrompt.Failed_Title:Xuáº¥t bá» lá»i  
+WriteCDImagePrompt.Install:CD/DVD sáºœ cÃ i Äáº·t má»t sá» tá»p tin khi sá»­ dá»¥ng (nhanh hÆ¡n)  
+WriteCDImagePrompt.Install_Tooltip:Táº¡o láº­p ÄÄ©a CD-ROM tá»± cÃ i Äáº·t cÃ³ thá» cÃ i Äáº·t ÄÆ°á»£c pháº§n má»m mÃ¡y chá»§ GSDL (vÃ  cÃ¡c tá»p tin cá»§a bá» sÆ°u táº­p) lÃªn mÃ¡y chá»§.  
+WriteCDImagePrompt.NoInstall:CD/DVD sáºœ khÃŽng cÃ i Äáº·t tá»p tin nÃ o khi sá»­ dá»¥ng  
+WriteCDImagePrompt.NoInstall_Tooltip:Táº¡o láº­p ÄÄ©a CD-ROM cÃ³ thá» cháº¡y ÄÆ°á»£c trá»±c tiáº¿p trÃªn ÄÄ©a mÃ  khÃŽng cáº§n cÃ i Äáº·t gÃ¬ thÃªm lÃªn mÃ¡y chá»§.  
+WriteCDImagePrompt.Instructions:Xuáº¥t ra má»t hoáº·c má»t sá» sÆ°u táº­p cho ÄÄ©a CDROM tá»± cÃ i Äáº·t (máº·c dÃ¹ Äiá»u nÃ y cÃ³ thá» hoáº¡t Äá»ng trÃªn má»i há» Äiá»u hÃ nh, ÄÄ©a CD-ROM ÄÆ°á»£c táº¡o ra chá» cháº¡y trÃªn Windows).  
+WriteCDImagePrompt.Progress_Label:Äang sao tá»p tin. Xin hÃ£y chá» má»t chÃºt...  
+WriteCDImagePrompt.Size_Label:KÃ­ch thÆ°á»c Æ°á»c lÆ°á»£ng:  
+WriteCDImagePrompt.Successful_Export:Nhá»¯ng sÆ°u táº­p ({0}) ÄÃ£ ÄÆ°á»£c xuáº¥t ra.  
+WriteCDImagePrompt.Successful_Title:Xuáº¥t ra hoÃ n thÃ nh  
+WriteCDImagePrompt.Title:Xuáº¥t SÆ°u táº­p lÃªn CD/DVD
+#************************
+#
+#****** ExportAsPrompt *******
+ExportAsPrompt.Export_Name:TÃªn thÆ° má»¥c  
+ExportAsPrompt.Export_Name_Tooltip:TÃªn cá»§a thÆ° má»¥c trong thÆ° má»¥c táº¡m thá»i tmp cá»§a Greenstone nÆ¡i sÆ°u táº­p xuáº¥t ra ÄÆ°á»£c lÆ°u.  
+ExportAsPrompt.Export:xuáº¥t ra sÆ°u táº­p  
+ExportAsPrompt.Export_Tooltip:xuáº¥t ra sÆ°u táº­p ÄÆ°á»£c chá»n theo khá» máº«u ÄÆ°á»£c chá»n vÃ o thÆ° má»¥c ÄÃ£ khai bÃ¡o  
+ExportAsPrompt.Failed_ExportOne:SÆ°u táº­p, {0}, khÃŽng xuáº¥t ra ÄÆ°á»£c.  
+ExportAsPrompt.Failed_ExportMany:SÆ°u táº­p -- {0} -- khÃŽng xuáº¥t ra ÄÆ°á»£c.  
+ExportAsPrompt.Failed_Details:Xem {1} Äá» cÃ³ chi tiáº¿t  
+ExportAsPrompt.Failed_Title:Xuáº¥t ra bá» lá»i  
+ExportAsPrompt.Instructions:Xuáº¥t ra má»t hoáº·c nhiá»u sÆ°u táº­p theo khá» máº«u ÄÆ°á»£c chá»n vÃ o thÆ° má»¥c ÄÆ°á»£c khai bÃ¡o  
+ExportAsPrompt.Progress_Label:Äang xuáº¥t cÃ¡c tá»p. Xin hÃ£y chá» má»t chÃºt ...  
+ExportAsPrompt.Successful_ExportOne:SÆ°u táº­p, {0}, ÄÃ£ ÄÆ°á»£c xuáº¥t ra.  
+ExportAsPrompt.Successful_ExportMany:CÃ¡c sÆ°u táº­p -- {0} -- ÄÃ£ ÄÆ°á»£c xuáº¥t ra.  
+ExportAsPrompt.Successful_Details:CÃ¡c tá»p ÄÆ°á»£c xuáº¥t Äáº¿n: {1}  
+ExportAsPrompt.Successful_Title:Xuáº¥t ra hoÃ n thÃ nh  
+ExportAsPrompt.Title:Xuáº¥t cÃ¡c sÆ°u táº­p  
+ExportAsPrompt.SaveAs:Xuáº¥t ra Äáº¿n  
+ExportAsPrompt.SaveAs_Tooltip:Chá»n khá» máº«u Äá» xuáº¥t dá»¯ liá»u ra  
+ExportAsPrompt.Cancel:Huá»·  
+ExportAsPrompt.Cancel_Tooltip:Huá»· quÃ¡ trÃ¬nh má» bung  
+ExportAsPrompt.Browse:Duyá»t xem  
+ExportAsPrompt.Browse_Tooltip:Chá»n má»t tá»p xsl  
+ExportAsPrompt.ApplyXSL:Ãp dá»¥ng tá»p XSL cho {0}  
+ExportAsPrompt.ApplyXSL_Tooltip:Sá»­ dá»¥ng tá»p xsl Äá» chuyá»n Äá»i cÃ¡c tá»p ÄÆ°á»£c má» bung.  
+ExportAsPrompt.MARCXMLGroup:NhÃ³m biá»u ghi MARC  
+ExportAsPrompt.MARCXMLGroup_Tooltip:Xuáº¥t táº¥t cáº£ cÃ¡c biá»u ghi MARC vÃ o má»t tá»p ÄÆ¡n.  
+ExportAsPrompt.MappingXML:Ãp dá»¥ng tá»p Ã¡nh xáº¡ (mapping)  
+ExportAsPrompt.MappingXML_Tooltip:Sá»­ dá»¥ng tá»p Ã¡nh xáº¡ Äá» chuyá»n Äá»i cÃ¡c tá»p ÄÆ°á»£c xuáº¥t ra.  
+#
+#***** Inherited Metadata *****
+ExtractedMetadata.Message:Tá»p tin hoáº·c thÆ° má»¥c ÄÆ°á»£c chá»n chá»©a cÃ¡c siÃªu dá»¯ liá»u ÄÆ°á»£c triáº¿t rÃºt nhÆ°ng hiá»n Äang á» tráº¡ng thÃ¡i áº©n. Äá» xem siÃªu dá»¯ liá»u ÄÆ°á»£c triáº¿t rÃºt, Äáº¿n thá»±c ÄÆ¡n "Há» sÆ¡" (F)", chá»n "Thuá»c tÃ­nh" (P)". Táº¡i má»¥c "Pháº§n chung" cá»§a "Thuá»c tÃ­nh", chá»n "Xem SDL triáº¿t rÃºt", sau ÄÃ³ kÃ­ch chuá»t nÃºt "[O]k".  
+ExtractedMetadata.Title:Tá»p tin/thÆ° má»¥c nÃ y cÃ³ cÃ¡c siÃªu dá»¯ liá»u triáº¿t rÃºt áº©n  
+#
+#***** FileActions *****
+FileActions.Calculating_Size:TÃ­nh tá»ng kÃ­ch thÆ°á»c cÃ¡c tá»p ÄÆ°á»£c chá»n.  
+FileActions.Copying:Äang sao {0}  
+FileActions.Could_Not_Delete:KhÃŽng thá» xoÃ¡ {0}  
+FileActions.Cyclic_Path:KhÃŽng thá» sao {0}: thÆ° má»¥c ÄÃ­ch lÃ  thÆ° má»¥c con cá»§a thÆ° má»¥c nguá»n.  
+FileActions.Deleting:Äang xoÃ¡ {0}  
+FileActions.Directories_Selected:{0} thÆ° má»¥c ÄÆ°á»£c chá»n  
+FileActions.Directory_Selected:1 thÆ° má»¥c ÄÆ°á»£c chá»n  
+FileActions.File_Already_Exists_No_Create:Tá»p tin '{0}' ÄÃ£ tá»n táº¡i.  
+FileActions.File_And_Directories_Selected:1 tá»p tin vÃ  {0} thÆ° má»¥c ÄÆ°á»£c chá»n  
+FileActions.File_And_Directory_Selected:1 tá»p tin vÃ  1 thÆ° má»¥c ÄÆ°á»£c chá»n  
+FileActions.File_Create_Error:Tá»p tin {0} khÃŽng ÄÆ°á»£c táº¡o ra.  
+FileActions.Folder_Create_Error:ThÆ° má»¥c {0} khÃŽng táº¡o ÄÆ°á»£c.  
+FileActions.File_Exists:{0} Äang tá»n táº¡i trong thÆ° má»¥c chá» Äá»nh. CÃ³ xoÃ¡ ÄÃš khÃŽng?  
+FileActions.File_Move_Error_Message:KhÃŽng thá» chuyá»n {0} Äáº¿n\n{1}.  
+FileActions.File_Not_Deleted_Message:{0}\nTá»p tin ÄÆ°á»£c nÃªu tÃªn trÃªn khÃŽng bá» xoÃ¡. \nHÃ£y kiá»m tra xem báº¡n cÃ³ Äang má» nÃ³ báº±ng má»t\nchÆ°Æ¡ng trÃ¬nh bÃªn ngoÃ i khÃ¡c khÃŽng, sau ÄÃ³ thá»­ láº¡i.  
+FileActions.File_Not_Found_Message:{0}\nKhÃŽng tháº¥y tá»p tin ÄÆ°á»£c nÃªu tÃªn trÃªn. Khi lÃ m má»i láº¡i (Refresh) viá»c duyá»t\nKiá»m tra láº¡i xem tá»p cÃ²ng tá»n táº¡i khÃŽng.  
+FileActions.File_Selected:1 tá»p tin ÄÆ°á»£c chá»n  
+FileActions.Files_And_Directory_Selected:{0} tá»p tin vÃ  1 thÆ° má»¥c ÄÆ°á»£c chá»n  
+FileActions.Files_Selected:{0} tá»p tin ÄÆ°á»£c chá»n  
+FileActions.Folder_Already_Exists:TÃªn ThÆ° má»¥c '{0}' Äang ÄÆ°á»£c sá»­ dá»¥ng. KhÃŽng thá» táº¡o thÆ° má»¥c.  
+FileActions.Insufficient_Space_Message:Thao tÃ¡c vá»i tá»p tin bá» lá»i do khÃŽng Äá»§ dung lÆ°á»£ng ÄÄ©a.\nÄá» sao thÃ nh cÃŽng tá»p tin báº¡n cáº§n \ntiáº¿p tá»¥c: {0}  
+FileActions.Moving:Äang chuyá»n {0}  
+FileActions.No_Activity:KhÃŽng cÃ³ thao tÃ¡c ÄÆ°á»£c yÃªu cáº§u  
+FileActions.Read_Not_Permitted_Message:KhÃŽng thá» Äá»c [0}.  
+FileActions.Read_Only:CÃ¡c tá»p tin trong khÃŽng gian lÃ m viá»c lÃ  Chá» Äá»c vÃ  khÃŽng thá» bá» xoÃ¡.  
+FileActions.Replacing:Thay tháº¿ {0}  
+FileActions.Selected:{0} tá»p vÃ  {1} thÆ° má»¥c ÄÆ°á»£c chá»n  
+FileActions.Unknown_File_Error_Message:Máº·c dáº§u khÃŽng cÃ³ thÃŽng bÃ¡o lá»i ÄÆ°á»£c bÃ¡o cÃ¡o trong quÃ¡ trÃ¬nh\nthao tÃ¡c vá»i tá»p, kiá»m tra chung káº¿t cho tháº¥y tá»p tin sao ÄÃ­ch\nkhÃŽng giá»ng tá»p tin nguá»n. LÃœ do vá» viá»c nÃ yn\nlÃ  khÃŽng rÃµ. Kiá»m tra mÃŽi trÆ°á»ng lÃ m viá»c vÃ  cáº­p nháº­t\nJVM ÄÃ£ ÄÆ°á»£c báº¡n cÃ i Äáº·t.  
+FileActions.Write_Not_Permitted_Message:GLI khÃŽng ÄÆ°á»£c phÃ©p ghi vÃ o \n{0}\nHÃ£y kiá»m tra sá»± cho phÃ©p vá»i tá»p tin  
+FileActions.Write_Not_Permitted_Title:Lá»i - Sá»± cho phÃ©p khÃŽng chÃ­nh xÃ¡c  
+FileActions.Yes_To_All:Äá»ng Ãœ táº¥t cáº£  
+#************************
+#
+#******* File Associations dialog **********
+FileAssociationDialog.Add:Bá» sung  
+FileAssociationDialog.Add_Tooltip:Sá»­ dá»¥ng á»©ng dá»¥ng nÃ y Äá» xem táº­p tin dáº¡ng nÃ y  
+FileAssociationDialog.Batch_File:Tá»p tin theo lÃŽ  
+FileAssociationDialog.Browse:Duyá»t  
+FileAssociationDialog.Browse_Tooltip:Lá»±a chá»n á»©ng dá»¥ng Äá» sá»­ dá»¥ng trong vÃ¹ng cá»§a báº¡n  
+FileAssociationDialog.Browse_Tooltip_Mac:Duyá»t á»©ng dá»¥ng cá»§a báº¡n hiá»n bá» máº¥t tÃ¡c dá»¥ng Äá»i vá»i MacOS  
+FileAssociationDialog.Browse_Title:Lá»±a chá»n á»©ng dá»¥ng  
+FileAssociationDialog.Close:ÄÃ³ng  
+FileAssociationDialog.Close_Tooltip:ÄÃ³ng há»p thoáº¡i nÃ y vÃ  quay vá» cá»­a sá» chÃ­nh  
+FileAssociationDialog.Command:Thá»±c hiá»n lá»nh:  
+FileAssociationDialog.Command_File:Tá»p tin lá»nh  
+FileAssociationDialog.Command_Tooltip:Nháº­p lá»nh Äá» tiáº¿n hÃ nh á»©ng dá»¥ng  
+FileAssociationDialog.Details:Chi tiáº¿t LiÃªn káº¿t tá»p tin má»i  
+FileAssociationDialog.Executable_File:CÃ¡c tá»p tin lá»nh  
+FileAssociationDialog.Extension:Cho pháº§n má» rá»ng cá»§a tá»p:  
+FileAssociationDialog.Extension_Tooltip:Pháº§n má» rá»ng cá»§a tá»p tin Äá» xem  
+FileAssociationDialog.Instructions:Sá»­ dá»¥ng há»p thoáº¡i nÃ y Äá» thiáº¿t láº­p chÆ°Æ¡ng trÃ¬nh bÃªn ngoÃ i ÄÆ°á»£c sá»­ dá»¥ng Äá» xem dáº¡ng tá»p tin nÃ o ÄÃ³ vÃ  lá»nh nÃ o cáº§n pháº£i thá»±c hiá»n Äá» phÃ¡t Äá»ng chÆ°Æ¡ng trÃ¬nh nÃ y.\nÄá» bá» sung dáº¡ng tá»p má»i, nháº­p dáº¡ng pháº§n má» rá»ng cá»§a tá»p vÃ o vÃ¹ng 'Cho Pháº§n má» rá»ng cá»§a tá»p'. Äá» bá» sung hoáº·c sá»­a Äá»i lá»nh, nháº­p lá»nh má»i vÃ o vÃ¹ng 'PhÃ¡t Äá»ng lá»nh' hoáº·c kÃ­ch chuá»t vÃ o nÃºt 'Duyá»t' Äá» tÃ¬m tá»p tin há» thá»ng cho chÆ°Æ¡ng trÃ¬nh phÃ¹ há»£p. Sá»­ dá»¥ng chuá»i kÃœ tá»± Äáº·c biá»t '%1' Äá» chá» thá» tÃªn tá»p nÃ o cáº§n pháº£i má»i ÄÆ°á»£c chÃšn vÃ o, thÃ­ dá»¥: "C:\\Windows\\System\\MSPaint.exe %1". '%1' sáºœ ÄÆ°á»£c gÃ¡n vÃ o cuá»i lá»nh náº¿u khÃŽng ÄÆ°á»£c mÃŽ táº£ á» nÆ¡i khÃ¡c.\nNgÆ°á»i sá»­ dá»¥ng MacOS cáº§n sá»­ dá»¥ng Äáº§u tiÃªn lá»nh Äáº·c thÃ¹ cá»§a MAC "open [-a <application_name>] %1".  
+FileAssociationDialog.Table.Command:Lá»nh  
+FileAssociationDialog.Table.Extension:Pháº©n má» rá»ng  
+FileAssociationDialog.Title:Hiá»u ÄÃ­nh liÃªn káº¿t tá»p  
+FileAssociationDialog.Remove:XoÃ¡  
+FileAssociationDialog.Remove_Tooltip:XoÃ¡ sá»± liÃªn káº¿t ÄÆ°á»£c chá»n khá»i liÃªn káº¿t hiá»n táº¡i  
+FileAssociationDialog.Replace:Thay tháº¿  
+FileAssociationDialog.Replace_Tooltip:Thay tháº¿ sá»± káº¿t há»£p ÄÆ°á»£c chá»n báº±ng chi tiáº¿t kiáº¿t há»£p má»i  
+#*******************
+#
+#******Filter***************
+Filter.0:HTM & HTML  
+Filter.1:XML  
+Filter.2:Tá»p vÄn báº£n  
+Filter.3:áº¢nh  
+Filter.All_Files:Má»i dáº¡ng tá»p  
+Filter.Filter_Tree:Cho xem tá»p  
+Filter.Invalid_Pattern:<HTML><FONT FACE={FONT} COLOR=Black>KhuÃŽn máº«u báº¡n nháº­p vÃšo cho tá»p lá»c khÃŽng há»£p lá».<BR>Háº£y thá»­ sá»­ dá»¥ng cÃº phÃ¡p thÃŽng thÆ°á»ng vá»i <BR>* cho kÃœ tá»± Äáº¡i diá»n.</FONT></HTML>  
+#***********************
+#
+#***** GAuthenticator *****
+GAuthenticator.Password:Máº­t kháº©u:  
+GAuthenticator.Password_Tooltip:Nháº­p máº­t kháº©u vÃ o ÄÃ¢y  
+GAuthenticator.Title:Cáº§n cÃ³ máº­t kháº©u  
+GAuthenticator.Username:TÃªn ngÆ°á»i dÃ¹ng:  
+GAuthenticator.Username_Tooltip:Nháº­p tÃªn ngÆ°á»i dÃ¹ng á» ÄÃ¢y  
+#**************************
+#
+#***** General Messages *****
+# 0 - A String representing the name and method of the class in question.
+General.Apply:Ãp dá»¥ng  
+General.Apply_Tooltip:Ãp dá»¥ng thiáº¿t láº­p hiá»n táº¡i nhÆ°ng khÃŽng thoÃ¡t ra khá»i há»p thoáº¡i  
+General.Browse:Duyá»t...  
+General.Cancel:Huá»·...  
+General.Cancel_Tooltip:Huá»· thay Äá»i (nhÆ°ng khÃŽng lÃ m láº¡i nhá»¯ng gÃ¬ ÄÃ£ Ã¡p dá»¥ng)  
+General.Close:ÄÃ³ng...  
+General.Close_Tooltip:ÄÃ³ng há»p thoáº¡i nÃ y  
+General.Edit:Hiá»u ÄÃ­nh giÃ¡ trá»  
+General.Error:Lá»i  
+General.No:KhÃŽng  
+General.NotSunJava:NhÃ  cung cáº¥p JAVA: {0}\nLÆ°u Ãœ ráº±ng Giao diá»n thá»§ thÆ° nÃ y ÄÆ°á»£c phÃ¡t triá»n vÃ  thÆ° nghiá»m vá»i JAVA cá»§a Sun Microsystems.  
+General.OK:OK  
+General.OK_Tooltip:Cháº¥p nháº­n thiáº¿t láº­p hiá»n táº¡i vÃ  thoÃ¡t khá»i há»p thoáº¡i  
+General.Outstanding_Processes:<html>Giao diá»n thá»§ thÆ° khÃŽng thá» ÄÃ³ng hoÃ n toÃ n cho Äáº¿n khi má»i chÆ°Æ¡ng trÃ¬nh<br>ÄÆ°á»£c khá»i táº¡o bÃªn trong Giao diá»n ÄÆ°á»£c ÄÃ³ng láº¡i.</html>  
+General.Outstanding_Processes_Title:Chá» Äá» thoÃ¡t ra  
+General.Pure_Cancel_Tooltip:Huá»· thao tÃ¡c nÃ y (khÃŽng thay Äá»i nÃ o ÄÆ°á»£c thá»±c hiá»n)  
+General.Review_Output:HÃ£y xem tá»ng há»£p káº¿t quáº£ dÆ°á»i ÄÃ¢y:  
+General.Redo:LÃ m láº¡i  
+General.Redo_Tooltip:KhÃŽi phá»¥c láº§n khÃŽng thá»±c hiá»n cuá»i cÃ¹ng  
+General.Undo:KhÃŽng thá»±c hiá»n  
+General.Undo_Tooltip:KhÃŽng thá»±c hiá»n láº§ hiá»u ÄÃ­nh cuá»i cÃ¹ng  
+General.Usage:Sá»­ dá»¥ng: {0} <params>\nMá»it tham sá» lÃ  tuá»³ chá»n, song Giao diá»n cÃ³ thá» khÃŽng lÃ m viá»c náº¿u tham biáº¿n -gsdl vÃ  -library khÃŽng ÄÆ°á»£c láº­p.\n -gsdl <path>  : Láº­p ÄÆ°á»ng dáº«n Äáº¿n gsdl\n -library <path> : ÄÆ°á»ng dáº«n Äáº¿n cgi-bin\n -mozilla <path> : KÃ­ch hoáº¡t mozilla\n -mirror : KÃ­ch hoáº¡t kiá»m soÃ¡t web gÆ°Æ¡ng (Web-mirroring)\n -laf [java|windows|motif|mac] : Xem vÃ  cáº£m nháº­n\n -debug : KÃ­ch hoáº¡t thÃŽng bÃ¡o lá»i\n -no_load : KhÃŽng táº£i sÆ°u táº­p ÄÃ£ má»i trÆ°á»c ÄÃ³\n -load <path> : Táº£i sÆ°u táº­p ÄÆ°á»£c nÃªu tÃªn  
+General.View:Xem giÃ¡ trá»  
+General.Warning:Cáº£nh bÃ¡o  
+General.Yes:Äá»ng Ãœ  
+#****************************
+#
+#***** GShell *****
+GShell.BadArgument:Äá»i sá» {0} khÃŽng há»£p lá».  
+GShell.BadArgumentValue:Äá»i sá» {0} cÃ³ giÃ¡ trá» khÃŽng há»£p lá».  
+GShell.BadPluginOptions:Lá»i Äá»i sá» xuáº¥t hiá»n trong Plugin {0}.  
+GShell.BadClassifierOptions:Lá»i Äá»i sá» xuáº¥t hiá»n trong Bá» phÃ¢n lá»p {0}.  
+GShell.Build.Auxilary:Táº¡o láº­p tá»p phá»¥ trá»£ vÃ  dá»n dáº¹p...  
+GShell.Build.BuildBegun1:************Báº¯t Äáº§u xÃ¢y dá»±ng*************  
+GShell.Build.BuildCancelled:***************  Bá» huá»· bá»  ****************  
+GShell.Build.BuildComplete1:*********   XÃ¢y dá»±ng hoÃ n thÃ nh   *******  
+GShell.Build.CompressText:Äang nÃ©n vÄn báº£n...  
+GShell.Build.Index:Äang táº¡o chá» má»¥c dá»±a trÃªn {0-index source and level}...  
+GShell.Build.InfoDatabase:Äang táº¡o CSDL thÃŽng tin...  
+GShell.Build.Phind:Äang táº¡o Bá» phÃ¢n lá»p Phind. Xin hÃ£y chá» má»t chÃºt....  
+GShell.Command:Lá»nh  
+GShell.Failure:Lá»nh bá» lá»i  
+GShell.Import.FileNotProcessed:Tá»p tin {0-target file path} ÄÆ°á»£c nháº­n ra nhÆ°ng khÃŽng ÄÆ°á»£c plugin nÃ o xá»­ lÃœ.  
+GShell.Import.FileNotRecognised:Tá»p tin {0-target file path} khÃŽng ÄÆ°á»£c Plugin nÃ o nháº­n biáº¿t...  
+GShell.Import.FileProcessing:Tá»p tin {0-target file path} Äang ÄÆ°á»£c Plugin  {1-plugin name} xá»­ lÃœ.  
+GShell.Import.FileProcessingError:Tá»p tin {0-target file path} gáº·p lá»i trong quÃ¡ trÃ¬nh xá»­ lÃœ.  
+GShell.Import.ImportBegun1:******* Nháº­p kháº©u dá»¯ liá»u báº¯t Äáº§u ********  
+GShell.Import.ImportComplete1:***** Nháº­p kháº©u dá»¯ liá»u hoÃ n thÃ nh ******  
+GShell.Import.ImportComplete2:{0-number documents considered} tÃ i liá»u ÄÆ°á»£c xem xÃ©t xá»­ lÃœ:  
+GShell.Import.ImportComplete2.1:1 tÃ i liá»u ÄÆ°á»£c xem xÃ©t xá»­ lÃœ  
+GShell.Import.ImportComplete.Processed:{0-number processed} tÃ i liá»u ÄÆ°á»£c xá»­ lÃœ vÃ  nháº­p vÃ o sÆ°u táº­p.  
+GShell.Import.ImportComplete.Processed.1:1 tÃ i liá»u ÄÆ°á»£c xá»­ lÃœ vÃ  nháº­p vÃ o sÆ°u táº­p.  
+GShell.Import.ImportComplete.Blocked:{0-number blocked} bá» cáº£n trá» bá» sung do plugins (nhÆ° lÃ  áº£nh trÃªn trang web).  
+GShell.Import.ImportComplete.Blocked.1:1 bá» cáº£n trá» bá» sung do plugÃ­n (nhÆ° lÃ  áº£nh trÃªn trang Web).  
+GShell.Import.ImportComplete.Ignored:{0-number ignored} khÃŽng ÄÆ°á»£c nháº­n biáº¿t.  
+GShell.Import.ImportComplete.Ignored.1:1 khÃŽng ÄÆ°á»£c nháº­n biáº¿t.  
+GShell.Import.ImportComplete.Failed:{0-number failed} bá» tá»« chá»i.  
+GShell.Import.ImportComplete.Failed.1:1 bi tá»« chá»i.  
+GShell.Import.ImportComplete3:\n  
+GShell.Parsing_Metadata_Complete:Triáº¿t rÃºt siÃªu dá»¯ liá»u ÄÃ£ lÆ°u trá»¯ hoÃ n thÃ nh.  
+GShell.Parsing_Metadata_Start:Triáº¿t rÃºt siÃªu dá»¯ liá»u má»i tá»« cÃ¡c táº­p tin lÆ°u trá»¯.  
+GShell.Success:Lá»nh hoÃ n thÃ nh  
+#*********************
+#
+#***** GUI *****
+# Currently Enabled and Disabled display the same text but in different
+# colours. If necessary this can be changed.
+GUI.Create:Táº¡o láº­p  
+GUI.Create_Tooltip:XÃ¢y dá»±ng sÆ°u táº­p báº±ng Greenstone  
+GUI.Design:Thiáº¿t káº¿  
+GUI.Design_Tooltip:Thiáº¿t káº¿ cÃ¡c tÃ­nh nÄng cá»§a sÆ°u táº­p  
+GUI.Download:Táº£i xuá»ng  
+GUI.Download_Tooltip:Táº£i nguá»n tin tá»« Internet xuá»ng cho sÆ°u táº­p cá»§a báº¡n  
+GUI.Enrich:Nháº­p SDL  
+GUI.Enrich_Tooltip:GÃ¡n siÃªu dá»¯ liá»u vÃ o cÃ¡c tá»p tin trong sÆ°u táº­p  
+GUI.Format:Äá»nh dáº¡ng  
+GUI.Format_Tooltip:Thiáº¿t káº¿ sá»± trÃ¬nh bÃ y cá»§a sÆ°u táº­p cá»§a báº¡n  
+GUI.Gather:Thu tháº­p  
+GUI.Gather_Tooltip:Chá»n cÃ¡c tá»p tin ÄÆ°a vÃ o trong sÆ°u táº­p cá»§a báº¡n  
+#***************
+#
+#***** HELP *****
+Help.Contents:Má»¥c lá»¥c  
+Help.Title:Trang hÆ°á»ng dáº«n cá»§a Giao diá»n  
+#****************************
+#
+#***** Invalid Metadata ******
+InvalidMetadata.Message:Yáº¿u tá» siÃªu dá»¯ liá»u nÃ y ÄÆ°á»£c háº¡n cháº¿ cho bá» giÃ¡ trá» Äá»nh sáºµn. HÃ£y chá»n má»t trong nhá»¯ng giÃ¡ trá» Äá»nh sáºµn.  
+InvalidMetadata.Title:SiÃªu dá»¯ liá»u khÃŽng há»£p lá»  
+#***************************
+#
+#***** LegacyCollection
+LegacyCollection.Message:Báº¡n chuáº©n bá» táº£i bá» sÆ°u táº­p chÆ°a ÄÆ°á»£c táº¡o ra bá»i Giao diá»n. Nhá»¯ng siÃªu dá»¯ liá»u Äang tá»n táº¡i sáºœ ÄÆ°á»£c nháº­p vÃ  bá» siÃªu dá»¯ liá»u Dublin Core. Nhá»¯ng tá»p tin siÃªu dá»¯ liá»u gá»c sáºœ ÄÆ°á»£c lÆ°u trong thÆ° má»¥c cÃ³ tÃªn import.bak.  
+LegacyCollection.Title:Äang táº£i sÆ°u táº­p bÃªn ngoÃ i.  
+#***************************
+#
+#***** LockFileDialog *****
+LockFileDialog.Cancel_Tooltip:KhÃŽng rÃºt kiá»m soÃ¡t tá»p bá» khoÃ¡ (SÆ°u táº­p sáºœ khÃŽng ÄÆ°á»£c má»)  
+LockFileDialog.Date:NgÃ y  
+LockFileDialog.Error:lá»i  
+LockFileDialog.Lockfile_Message_One:Sá»± xuáº¥t hiá»n cá»§a tá»p khoÃ¡ cho tháº¥y ráº±ng sÆ°u táº­p Äang ÄÆ°á»£c má».  
+LockFileDialog.Lockfile_Message_Two:Báº¡n cá»§a muá»n "rÃºt" sá»± kiá»m soÃ¡t cá»§a tá»p bá» khoÃ¡ khÃŽng?  
+LockFileDialog.Machine:á» ÄÃ¢u  
+LockFileDialog.Name:TÃªn  
+LockFileDialog.OK_Tooltip:RÃºt kiá»m soÃ¡t tá»p bá» khoÃ¡  
+LockFileDialog.Title:PhÃ¡t hiá»n Tá»p bá» khoÃ¡  
+LockFileDialog.User:Ai  
+#********************
+#
+#*****MappingPrompt **********
+MappingPrompt.File:ThÆ° má»¥c  
+MappingPrompt.Map:Táº¡o ÄÆ°á»ng táº¯t  
+MappingPrompt.Name:TÃªn  
+MappingPrompt.Title:Táº¡o ÄÆ°á»ng táº¯t thÆ° má»¥c  
+MappingPrompt.Unmap:XoÃ¡ ÄÆ°á»ng táº¯t  
+#*******************
+#
+#***** Menu Options *****
+Menu.Collapse:ÄÃ³ng thÆ° má»¥c  
+Menu.Edit:Hiá»u ÄÃ­nh  
+Menu.Edit_Copy:Sao (ctrl-c)  
+Menu.Edit_Cut:Cáº¯t (ctrl-x)  
+Menu.Edit_Paste:DÃ¡n (ctrl-v)  
+Menu.Expand:Má» thÆ° má»¥c  
+Menu.Explode_Metadata_Database:Má» bung CSDL siÃªu dá»¯ liá»u  
+Menu.File:Há» sÆ¡  
+Menu.File_Associations:Tá»p ÄÃ­nh kÃšm....  
+Menu.File_CDimage:Xuáº¥t dá»¯ liá»u cho CD/DVD....  
+Menu.File_Close:ÄÃ³ng...  
+Menu.File_Delete:XoÃ¡...  
+Menu.File_Exit:ThoÃ¡t ra  
+Menu.File_ExportAs:Xuáº¥t ra ...  
+Menu.File_New:Má»i...  
+Menu.File_Open:Má»...  
+Menu.File_Options:Thuá»c tÃ­nh ...  
+Menu.File_Save:LÆ°u...  
+Menu.Help:HÆ°á»ng dáº«n  
+Menu.Help_About:Giá»i thiá»u...  
+Menu.Metadata_View:SiÃªu dá»¯ liá»u ÄÆ°á»£c gÃ¡n cho {0}  
+Menu.Open_Externally:Má» chÆ°Æ¡ng trÃ¬nh bÃªn ngoÃ i  
+#********************
+#
+#***** MetaAudit *****
+MetaAudit.Close:ÄÃ³ng  
+MetaAudit.Close_Tooltip:ÄÃ³ng há»p thoáº¡i nÃ y  
+MetaAudit.Title:Táº¥t cáº£ siÃªu dá»¯ liá»u  
+#*********************
+#
+#***** Metadata *****
+Metadata.Element:Yáº¿u tá»  
+Metadata.Value:GiÃ¡ trá»  
+MetadataSet.Files:CÃ¡ tá»p tin bá» siÃªu dá»¯ liá»u  
+#**********************************
+#
+#***** MetadataSetDialog**********
+MetadataSetDialog.Title:Quáº£n lÃœ cÃ¡c bá» siÃªu dá»¯ liá»u  
+MetadataSetDialog.Add_Title:Bá» sung bá» siÃªu dá»¯ liá»u  
+MetadataSetDialog.Current_Sets:CÃ¡c bá» siÃªu dá»¯ liá»u ÄÆ°á»£c gÃ¡n  
+MetadataSetDialog.Available_Sets:CÃ¡c bá» siÃªu dá»¯ liá»u hiá»n cÃ³  
+MetadataSetDialog.Add:Bá» sung...  
+MetadataSetDialog.Add_Tooltip:Bá» sung bá» siÃªu dá»¯ liá»u má»i vÃ o sÆ°u táº­p  
+MetadataSetDialog.New_Set:Má»i...  
+MetadataSetDialog.New_Set_Tooltip:Táº¡o bá» siÃªu dá»¯ liá»u má»i  
+MetadataSetDialog.Add_Set:Bá» sung  
+MetadataSetDialog.Add_Set_Tooltip:Bá» sung bá» siÃªu dá»¯ liá»u ÄÆ°á»£c chá»n vÃ o sÆ°u táº­p  
+MetadataSetDialog.Browse:Duyá»t...  
+MetadataSetDialog.Browse_Tooltip:Bá» sung bá» siÃªu dá»¯ liá»u má»i vÃ o sÆ°u táº­p  
+MetadataSetDialog.Edit:Hiá»u ÄÃ­nh...  
+MetadataSetDialog.Edit_Tooltip:Hiá»u ÄÃ­nh bá» siÃªu dá»¯ liá»u ÄÆ°á»£c chá»n  
+MetadataSetDialog.Remove:XoÃ¡  
+MetadataSetDialog.Remove_Tooltip:XoÃ¡ bá» siÃªu dá»¯ liá»u ÄÆ°á»£c chá»n khá»i bá» sÆ°u táº­p  
+MetadataSetDialog.Elements:Yáº¿u tá» trong bá» siÃªu dá»¯ liá»u ÄÆ°á»£c chá»n  
+
+#****************************************
+#
+#***** MetadataSetNamespaceClash warning***
+MetadataSetNamespaceClash.Title:Xung Äá»t Namespase cá»§a bá» siÃªu dá»¯ liá»u  
+MetadataSetNamespaceClash.Message:Bá» siÃªu dá»¯ liá»u ÄÆ°á»£c chá»n Äá» Äá» bá» sung ({0}) cÃ³ cÃ¹ng namespace vá»i má»t bá» ÄÃ£ cÃ³ trong sÆ°u táº­p ({1}). Náº¿u báº¡n bá» sung bá» má»i nÃ y, bá» cÅ© sáºœ bá» xoÃ¡ vÃ  bá» má»i sáºœ ÄÆ°á»£c thay vÃ o vá» trÃ­ ÄÃ³. Má»i giÃ¡ trá» siÃªu dá»¯ liá»u ÄÃ£ ÄÆ°á»£c gÃ¡n sáºœ chuyá»n sang bá» má»i náº¿u nÃ³ chá»©a nhá»¯ng yáº¿u tá» tÆ°Æ¡ng á»©ng.  
+#*********************************************
+#
+#******** MetadataImportMappingPrompt *********
+MIMP.Add:Bá» sung  
+MIMP.Add_Tooltip:Bá» sung yáº¿u tá» siÃªu dá»¯ liá»u vÃ o bá» ÄÆ°á»£c chá»n  
+MIMP.Ignore:Bá» qua  
+MIMP.Ignore_Tooltip:Bá» qua yáº¿u tá» siÃªu dá»¯ liá»u nÃ y  
+MIMP.Instructions:Yáº¿u tá» siÃªu dá»¯ liá»u {0} khÃŽng ÄÆ°á»£c tá»± Äá»ng nháº­p kháº©u vÃ o sÆ°u táº­p. HÃ£y chá»n má»t bá» yáº¿u tá» sieu dá»¯ liá»u vÃ  hoáº·c:\n(1) nháº¥n nÃºt 'Bá» sung' Äá» bá» sung siÃªu dá»¯ liá»u vÃ o bá» siÃªu dá»¯ liá»u (chá» khi khÃŽng cÃ³ {0} siÃªu dá»¯ liá»u trong bá»), hoáº·c\n(2) chá»n má»t yáº¿u tá» vÃ  nháº¥n nÃºt 'Trá»n' Äá» nháº­p kháº©u {0} siÃªu dá»¯ liá»u vÃ  o yáº¿u tá» nÃ y, hoáº·c\n(3) bá» qua yáº¿u tá» siÃªu dá»¯ liá»u.  
+MIMP.Merge:Trá»n  
+MIMP.Merge_Tooltip:So sÃ¡nh yáº¿u tá» siÃªu dá»¯ liá»u vá»i yáº¿u tá» ÄÆ°á»£c nÃªu trong bá» yáº¿u tá»  
+MIMP.Source_Element:Yáº¿u tá» siÃªu dá»¯ liá»u nguá»n:  
+MIMP.Target_Element:Yáº¿u tá» siÃªu dá»¯ liá»u má»¥c tiÃªu:  
+MIMP.Target_Set:Bá» siÃªu dá»¯ liá»u má»¥c tiÃªu:  
+MIMP.Title:Cáº§n thao tÃ¡c trá»n.  
+#*****************************
+#
+#***** Mirroring *****
+Mirroring.ClearCache:XoÃ¡ Cache  
+Mirroring.ClearCache_Tooltip:XoÃ¡ táº¥t cáº£ cÃ¡c tá»p ÄÆ°á»£c táº£i xuá»ng  
+Mirroring.Download:Táº£i xuá»ng  
+Mirroring.Download_Tooltip:Báº¯t Äáº§u láº§n táº£i xuá»ng má»i  
+Mirroring.DownloadJob.Close:ÄÃ³ng  
+Mirroring.DownloadJob.Close_Tooltip:XoÃ¡ thao tÃ¡c nÃ y khá»i danh má»¥c, dá»«ng hoáº¡t Äá»ng nÃ y náº¿u nÃ³ Äang cháº¡y  
+Mirroring.DownloadJob.Downloading:Äang táº£i {0}  
+Mirroring.DownloadJob.Download_Complete:Táº£i xuá»ng hoÃ n thÃ nh  
+Mirroring.DownloadJob.Download_Stopped:Táº£i xuá»ng bá» dá»«ng  
+Mirroring.DownloadJob.Download_Progress:Äang táº£i xuá»ng ...  
+Mirroring.DownloadJob.Log:Xem tá»p nháº­t kÃœ  
+Mirroring.DownloadJob.Log_Tooltip:Xem chi tiáº¿t cá»§a láº§n táº£i xuá»ng nÃ y  
+Mirroring.DownloadJob.Log_Title:Nháº­t kÃœ táº£i xuá»ng  
+Mirroring.DownloadJob.Pause:Táº¡m dÃ¹ng  
+Mirroring.DownloadJob.Pause_Tooltip:Táº¡m dá»«ng táº£i xuá»ng  
+Mirroring.DownloadJob.Resume:KhÃŽi phá»¥c  
+Mirroring.DownloadJob.Resume_Tooltip:KhÃŽi phá»¥c táº£i xuá»ng  
+Mirroring.DownloadJob.Status:Táº£i xuá»ng {0} trong sá» {1} tá»p tin ({2} cáº£nh bÃ¡o, {3} lá»i)  
+Mirroring.DownloadJob.Waiting:Chá» khi báº¯t Äáº§u  
+Mirroring.DownloadJob.Waiting_User:Chá» thao tÃ¡c cá»§a ngÆ°á»i dÃ¹ng  
+Mirroring.Invalid_URL:URL nháº­p vÃ o khÃŽng há»£p lá». HÃ£y sá»­a láº¡i.  
+Mirroring.Invalid_URL_Title:URL khÃŽng há»£p lá»  
+Mirroring.Preferences:Thuá»c tÃ­nh ...  
+Mirroring.Preferences_Tooltip:KÃ­ch hoáº¡t Proxy vÃ /hoÄc hiá»u ÄÃ­nh tham sá» Proxy  
+#*********************
+#
+#***** Missing EXEC *****
+MissingEXEC.Message:Cáº£nh bÃ¡o! Báº¡n khÃŽng thá» xem ÄÆ°á»£c bá» sÆ°u táº­p má»i bÃªn trong giao diá»n trá»« khi báº¡n thÃŽng bÃ¡o ÄÆ°á»ng dáº«n Äáº¿n Greenstone Library Webserver. Báº¡n cÃ³ thá» nháº­p Äiá»u nÃ y ngay bÃ¢y giá» trong trÆ°á»ng vÄn báº£n dÆ°á»i ÄÃ¢y, hoáº·c sau nÃ y vÃ o má»¥c "Thuá»c tÃ­nh" vÃ  chá»n "LiÃªn káº¿t" (Connection tab). Ghi nhá» ráº±ng má»t URL há»£p lá» báº¯t Äáº§u báº±ng giao thá»©c "http://" vÃ  cÃ³ thá» sáºœ káº¿t thÃºc báº±ng má»t tÃªn chÆ°Æ¡ng trÃ¬nh ("gsdl" cho MÃ¡y chá»§ Greenstone cá»¥c bá», "library" for mÃ¡y chá»§ web)  
+MissingEXEC.Title:KhÃŽng tháº¥y Äá»a chá» ThÆ° viá»n Greenstone  
+#***** Missing EXEC_GS3 *****
+MissingEXEC_GS3.Message:Cáº£nh bÃ¡o! Báº¡n khÃŽng thá» xem ÄÆ°á»£c bá» sÆ°u táº­p má»i bÃªn trong giao diá»n trá»« khi báº¡n thÃŽng bÃ¡o ÄÆ°á»ng dáº«n cho Greenstone náº¿u sá»­ dá»¥ng Tomcat Webserver. Báº¡n cÃ³ thá» nháº­p Äiá»u nÃ y bÃ¢y gá» trong trÆ°á»ng vÄn báº£n dÆ°á»i ÄÃ¢y, hoáº·c sau nÃ y vÃ o má»¥c "Thuá»c tÃ­nh" vÃ  chá»n "LiÃªn káº¿t". Ghi nhá» ráº±ng má»t URL há»£p lá» báº¯t Äáº§u báº±ng giao thá»©c "http://". Äá»a chá» máº·c Äá»nh lÃ  http://localhost:8080/greenstone3.  
+MissingEXEC_GS3.Title:KhÃŽng tháº¥y Äá»a chá» ThÆ° viá»n Greenstone 3  
+#***** Missing GLIServer *****
+MissingGLIServer.Message:Cáº£nh bÃ¡o! Báº¡n khÃŽng thá» lÃ m viá»c ÄÆ°á»£c vá»i bá» sÆ°u táº­p má»i bÃªn trong giao diá»n trá»« khi báº¡n thÃŽng bÃ¡o Äá»a chá» cá»§a Greenstone "gliserver" script tá»« xa. Báº¡n cÃ³ thá» nháº­p Äiá»u nÃ y ngay bÃ¢y giá» trong trÆ°á»ng vÄn báº£n dÆ°á»i ÄÃ¢y, hoáº·c sau nÃ y vÃ o má»¥c "Thuá»c tÃ­nh"(Preferences) vÃ  chá»n LiÃªn káº¿t (Connection tab). Ghi nhá» ráº±ng má»t URL há»£p lá» báº¯t Äáº§u báº±ng giao thá»©c "http://" vÃ  cÃ³ thá» sáºœ káº¿t thÃºc báº±ng "gliserver".  
+MissingGLIServer.Title:KhÃŽng tháº¥y Äá»a chá» GLIServer  
+#***** Missing GSDL *****
+MissingGSDL.Message:Cáº£nh bÃ¡o! Báº¡n khÃŽng thá» tiáº¿p cáº­n ÄÆ°á»£c vá»i má»i tÃ­nh nÄng cá»§a giao diá»n mÃ  khÃŽng cÃ³ cÃ i Äáº·t báº£n sao Greenstone Digital Library. Náº¿u báº¡n cáº£m tháº¥y ráº±ng thÃŽng bÃ¡o mÃ  báº¡n nháº­n ÄÆ°á»£c nÃ y lÃ  khÃŽng ÄÃºng, hÃ£y kiá»m tra láº¡i viá»c cÃ i Äáº·t chÆ°Æ¡ng trÃ¬nh vÃ  ÄÆ°á»ng dáº«n ÄÆ°á»£c ghi trong cÃ¡c tá»p lá»nh theo lÃŽ hoáº·c scripts cá»§a giao diá»n.  
+MissingGSDL.Title:KhÃŽng tháº¥y ÄÆ°á»ng dáº«n Greenstone  
+#***** Missing PERL *****
+MissingPERL.Message:Cáº£nh bÃ¡o! Báº¡n khÃŽng thá» táº¡o ÄÆ°á»£c sÆ°u táº­p má»i hoáº·c sÆ°u táº­p Äang tá»n táº¡i mÃ  khÃŽng cÃ i Äáº·t PERL, vÃ  giao diá»n khÃŽng tÃ¬m tháº¥y PERL trÃªn há» thá»ng cá»§a báº¡n. Náº¿u báº¡n cho ráº±ng báº¡n nháº­n ÄÆ°á»£c thÃŽng bÃ¡o nÃ y lÃ  do nháº§m láº«n, hÃ£y kiá»m tra láº¡i cÃ i Äáº·t cá»§a mÃ¬nh vÃ  ÄÆ°á»ng dáº«n ÄÆ°á»£c nÃªu trong cÃ¡c tá»p theo lÃŽ (batch) hoáº·c script cá»§a giao diá»n.  
+MissingPERL.Title:KhÃŽng tháº¥y ÄÆ°á»ng dáº«n PERL  
+#******* MissingImageMagick ********
+MissingImageMagick.Message:Cáº£nh bÃ¡o. Giao diá»n Thá»§ thÆ° GLI khÃŽng tÃ¬m ÄÆ°á»£c phiÃªn báº£n ImageMagick phÃ¹ há»£p, vÃ¬ tháº¿ ImagePlug khÃŽng lÃ m viá»c ÄÆ°á»£c. HÃ y cÃ i Äáº·t ImageMagick náº¿u báº¡n muá»n xÃ¢y dá»±ng sÆ°u táº­p áº£nh.  
+MissingImageMagick.Title:KhÃŽng tháº¥y ImageMagick  
+#*****************************
+#
+#***** New Session *****
+NewCollectionPrompt.Base_Collection:XÃ¢y dá»±ng sÆ°u táº­p theo:  
+NewCollectionPrompt.Base_Collection_Tooltip:Chá»n má»t sÆ°u táº­p ÄÃ£ cÃ³ Äá» lÃ m cáº§u trÃºc cho sÆ°u táº­p má»i  
+NewCollectionPrompt.Collection_Description:MÃŽ táº£ ná»i dung:  
+NewCollectionPrompt.Collection_Name:ThÆ° má»¥c sÆ°u táº­p:  
+NewCollectionPrompt.Collection_Scope_Personal:ÄÃ¢y lÃ  sÆ°u táº­p cÃ¡ nhÃ¢n  
+NewCollectionPrompt.Collection_Scope_Shared:ÄÃ¢y khÃŽng pháº£i lÃ  sÆ°u táº­p cÃ¡ nhÃ¢n  
+NewCollectionPrompt.Error:Lá»i trong sÆ°u táº­p má»i.  
+NewCollectionPrompt.Instructions:Äá» táº¡o láº­p sÆ°u táº­p má»i Äiá»n vÃ o cÃ¡c trÆ°á»ng sau.  
+NewCollectionPrompt.NewCollection:-- SÆ°u táº­p má»i --  
+NewCollectionPrompt.Title:Táº¡o láº­p sÆ°u táº­p má»i  
+NewCollectionPrompt.Title_Clash:TÃªn báº¡n chá»n cho sÆ°u táº­p cá»§a mÃ¬nh ÄÃ£ ÄÆ°á»£c sá»­ dá»¥ng rá»i. CÃ³ tiáº¿p tá»¥c khÃŽng?  
+NewCollectionPrompt.Title_Error:TrÆ°á»ng TÃªn pháº£i ÄÆ°á»£c Äiá»n vÃ o. HÃ£y sá»­a láº¡i.  
+#***** New Folder OrFilePrompt *****
+NewFolderOrFilePrompt.Default_File_Name:giáº£  
+NewFolderOrFilePrompt.Default_Folder_Name:thÆ° má»¥c má»i  
+NewFolderOrFilePrompt.Destination_Name:ThÆ° má»¥c ÄÃ­ch  
+NewFolderOrFilePrompt.File_Name:TÃªn tá»p tin  
+NewFolderOrFilePrompt.File_Name_Tooltip:HÃ£y nháº­p tÃªn cho tá»p tin má»i  
+NewFolderOrFilePrompt.Folder_Name:TÃªn thÆ° má»¥c  
+NewFolderOrFilePrompt.Folder_Name_Tooltip:HÃ£y nháº­p tÃªn cho thÆ° má»¥c má»i  
+NewFolderOrFilePrompt.Title_Folder:Táº¡o má»t sÆ°u táº­p má»i  
+NewFolderOrFilePrompt.Title_File:Táº¡o má»t tÃ i liá»u giáº£ má»i  
+#**********************
+#
+#******* OldWGET *******
+NoPluginExpectedToProcessFile.Message:KhÃŽng cÃ³ Plugin nÃ o cá»§a Greenstone dÃ nh xá»­ lÃœ tá»p tin "{0}". HÃ£y kiá»m tra xem tá»p tin cÃ³ pháº§n má» rá»ng ÄÃºng khÃŽng?. Náº¿u ÄÃºng, báº¡n cÃ³ thá» sá»­ dá»¥ng UnknownPlug Äá» xá»­ lÃœ kiá»u tá»p nÃ y.  
+NoPluginExpectedToProcessFile.Title:KhÃŽng cÃ³ Plugin nÃ o xá»­ lÃœ tá»p cáº£  
+#***********************
+#
+#***** OpenCollectionDialog *****
+OpenCollectionDialog.Available_Collections:SÆ°u táº­p hiá»n cÃ³  
+OpenCollectionDialog.Description:MÃŽ táº£ sÆ°u táº­p  
+OpenCollectionDialog.Open:Má»  
+OpenCollectionDialog.Open_Tooltip:Táº£i sÆ°u táº­p ÄÆ°á»£c chá»n vÃ o giao diá»n  
+OpenCollectionDialog.Title:Má» sÆ°u táº­p cá»§a Greenstone  
+#**********************
+#
+#***** Options Pane inside CreatePane *****
+OptionsPane.Cancelled:- Huá»·  
+OptionsPane.LogHistory:Tá»p nháº­t kÃœ  
+OptionsPane.Successful:- ThÃ nh cÃŽng  
+OptionsPane.Unknown:- KhÃŽng biáº¿t  
+OptionsPane.Unsuccessful:- KhÃŽng thÃ nh cÃŽng  
+#*******************
+#
+#***** Preferences *****
+Preferences:Thuá»c tÃ­nh  
+Preferences.Connection:Káº¿t ná»i  
+Preferences.Connection_Tooltip:Láº­p má»t URL Äáº¿n thÆ° viá»n Greenstone vÃ  cáº¥u hÃ¬nh káº¿t ná»i Proxy náº¿u phÃ¹ há»£p  
+Preferences.Connection.GLIServer_URL:URL cá»§a "MÃ¡y chá»§ GLI":  
+Preferences.Connection.GLIServer_URL_Tooltip:URL cá»§a CGI scripts cá»§a "mÃ¡y chá»§ GLI"  
+Preferences.Connection.Library_Path:ÄÆ°á»ng dáº«n ThÆ° viá»n:  
+Preferences.Connection.Library_Path_GS3:ÄÆ°á»ng dáº«n Web cá»§a Greenstone:  
+Preferences.Connection.Library_Path_Tooltip:URL cá»§a MÃ¡y chá»§ Web cá»§a Greenstone  
+Preferences.Connection.Library_Path_Tooltip_GS3:URL cá»§a MÃ¡y chá»§ Web cá»§a Greenstone  
+Preferences.Connection.ProgramCommand:Lá»nh Duyá»t láº¡i:  
+Preferences.Connection.ProgramCommand_Tooltip:Cháº¡y lá»nh cá»§a ChÆ°Æ¡ng trÃ¬nh sá»­ dá»¥ng duyá»t xem bá» sÆ°u táº­p. HÃ£y nhá» sá»­ dá»¥ng %1 nhÆ° lÃ  nÆ¡i lÆ°u giá»¯ Äá»a chá» cá»§a sÆ°u táº­p vÃ  sá»­ dá»¥ng kÃœ hiá»u khi cáº§n thiáº¿t.  
+Preferences.Connection.Proxy_Host:mÃ¡y chá»§ Proxy:  
+Preferences.Connection.Proxy_Host_Tooltip:Äá»a chá» cá»§a MÃ¡y chá»§ Proxy  
+Preferences.Connection.Proxy_Port:Cá»ng Proxy:  
+Preferences.Connection.Proxy_Port_Tooltip:Sá» cá»§a cá»ng cho mÃ¡y chá»§ Proxy cá»§a báº¡n  
+Preferences.Connection.Servlet:Servlet:  
+Preferences.Connection.Servlet_Tooltip:Servlet sá»­ dá»¥ng Äá» xem trang web cá»§a báº¡n  
+Preferences.Connection.Servlet_Tooltip2:KhÃŽng cÃ³ servlet ÄÆ°á»£c nÃªu riÃªng cho trang nÃ y. Báº¡n váº«n cÃ³ thá» xÃ¢y dá»±ng ÄÆ°á»£c sÆ°u táº­p, song khÃŽng thá» xem nÃ³ ÄÆ°á»£c.  
+Preferences.Connection.Site:Website:  
+Preferences.Connection.Site_Tooltip:Website nÆ¡i báº¡n muá»n thao tÃ¡c  
+Preferences.Connection.Use_Proxy:CÃ³ sá»­ dá»¥ng káº¿t ná»i Proxy khÃŽng?  
+Preferences.General:Pháº§n chung  
+Preferences.General_Tooltip:Thiáº¿t láº­p má»t sá» thuá»c tÃ­nh chung  
+Preferences.General.Email:Email cá»§a ngÆ°á»i sá»­ dá»¥ng  
+Preferences.General.Email_Tooltip:Äá»a chá» email ÄÆ°á»£c tá»± Äá»ng sá»­ dá»¥ng cho sÆ°u táº­p ÄÆ°á»£c táº¡o báº±ng giao diá»n  
+Preferences.General.Font:PhÃŽng:  
+Preferences.General.Font_Tooltip:PhÃŽng chá»¯ sá»­ dá»¥ng cho Giao diá»n.  
+Preferences.General.Interface_Language:NgÃŽn ngá»¯ giao diá»n:  
+Preferences.General.Interface_Language_Tooltip:Chá»n ngÃŽn ngá»¯ báº¡n muá»n Giao diá»n vÃ  cÃ¡c thÃŽng bÃ¡o hiá»n thá»  
+Preferences.General.Restart_Required:Giao diá»n sáºœ báº¯t Äáº§u láº¡i ngay bÃ¢y giá» Äá» hoÃ n thÃ nh táº£i ngÃŽn ngá»¯ giao diá»n má»i.  
+Preferences.General.Show_File_Size:Hiá»n kÃ­ch thÆ°á»c tá»p  
+Preferences.General.Show_File_Size_Tooltip:Hiá»n kÃ­ch thÆ°á»c tá»p bÃªn cáº¡nh cÃ¡c dá»¯ liá»u trong vÃ¹ng lÃ m viá»c vÃ  trong cÃ¢y thÆ° má»¥c.  
+Preferences.General.View_Extracted_Metadata:Xem SiÃªu dá»¯ liá»u ÄÆ°á»£c triáº¿t rÃºt  
+Preferences.General.View_Extracted_Metadata_Tooltip:Hiá»n thá» siÃªu dá»¯ liá»u ÄÆ°á»£c cÃ¡c Plugin cá»§a Greenstone triáº¿t rÃºt trong danh má»¥c siÃªu dá»¯ liá»u á» chá»©c nÄng Nháº­p SDL  
+Preferences.Mode:Cháº¿ Äá»  
+Preferences.Mode_Tooltip:KÃ­ch chuá»t vÃ o má»t má»¥c Äá» chá»n má»©c thao tÃ¡c phÃ¹ há»£p  
+Preferences.Mode.Assistant:Trá»£ lÃœ ThÆ° viá»n  
+Preferences.Mode.Assistant_Description:Sá»­ dá»¥ng thiáº¿t láº­p nÃ y Äá» cÃ³ ÄÆ°á»£c sá»± truy cáº­p Äáº¿n nhá»¯ng tÃ­nh nÄng cÆ¡ báº£n cá»§a giao diá»n: Bá» sung tÃ i liá»u vÃ  siÃªu dá»¯ liá»u vÃ o sÆ°u táº­p, táº¡o láº­p sÆ°u táº­p má»i mÃ  cáº¥u trÃºc cá»§a nÃ³ sao chÃ©p cáº¥u trÃºc cá»§a sÆ°u táº­p ÄÃ£ tá»n táº¡i, vÃ  xÃ¢y dá»±ng bá» sÆ°u táº­p.  
+Preferences.Mode.Librarian:Thá»§ thÆ°  
+Preferences.Mode.Librarian_Description:Nhá»¯ng thiáº¿t láº­p nÃ y cung cáº¥p sá»± sá»­ dá»¥ng thÃŽng thÆ°á»ng cá»§a Giao diá»n: táº¡o láº­p vÃ  thiáº¿t káº¿ sÆ°u táº­p má»i, bá» sung tÃ i liá»u vÃ  siÃªu dá»¯ liá»u vÃ o sÆ°u táº­p, thiáº¿t káº¿ sÆ°u táº­p má»i, xÃ¢y dá»±ng sÆ°u táº­p má»i.  
+Preferences.Mode.Systems:ChuyÃªn viÃªn Há» thá»ng thÆ° viá»n  
+Preferences.Mode.Systems_Description:Thiáº¿t láº­p nÃ y cung cáº¥p sá»± sá»­ dá»¥ng Äáº§y Äá»§ giao diá»n. Äá» táº­n dá»¥ng ÄÆ°á»£c táº¥t cáº£ cÃ¡c tÃ­nh nÄng cÃ³ ÄÆ°á»£c, báº¡n cáº§n biáº¿t cÃ¡ch hÃ¬nh thÃ nh cÃ¡c biá»u thá»©c thÃŽng thÆ°á»ng.  
+Preferences.Mode.Expert:ChuyÃªn gia  
+Preferences.Mode.Expert_Description:Thiáº¿t láº­p nÃ y kÃ­ch hoáº¡t sá»­ dá»¥ng Giao diá»n á» má»©c chuyÃªn gia. NÃ³ dÃ nh cho ngÆ°á»i sá»­ dá»¥ng cÃ³ hiá»u biáº¿t vá» cÃ¡c trÃ¬nh PERL scripts. Má»i chá»©c nÄng cá»§a Giao diá»n Äá»u thá»±c hiá»n ÄÆ°á»£c.  
+Preferences.Warnings:Cáº£nh bÃ¡o  
+Preferences.Warnings_Tooltip:KÃ­ch hoáº¡t hoáº·c Huá»· hoáº¡t Äá»ng há»p thoáº¡i cáº£nh bÃ¡o  
+Preferences.Workflow:DÃ²ng cÃŽng viá»c  
+Preferences.Workflow_Tooltip:Thiáº¿t káº¿t DÃ²ng cÃŽng viá»c cá»§a giao diá»n: thiáº¿t láº­p trong ÄÃ³ cho phÃ©p xem  
+Preferences.Workflow.Predefined.Label:DÃ²ng cÃŽng viá»c Äá»nh trÆ°á»c  
+Preferences.Workflow.Title:KÃ­ch chá»n Äá» kÃ­ch hoáº¡t chá»©c nÄng xem  
+#**********************
+#
+#**** PreviewCommandDialog *******
+PreviewCommandDialog.Instructions:Nháº­p lá»nh má» chÆ°Æ¡ng trÃ¬nh duyá»t xem bá» sÆ°u táº­p. Nhá» sá»­ dá»¥ng %1 lÃ  nÆ¡i giá»¯ Äá»a chá» sÆ°u táº­p vÃ  Äá» sá»­ dá»¥ng cÃ¡c ÄÃ¡nh dáº¥u phÃ¡t Ã¢m khi cáº§n thiáº¿t.  
+PreviewCommandDialog.Title:Lá»nh Duyá»t xem  
+
+ShowPreviousCollection.Title:Duyá»t xem sÆ°u táº­p ÄÆ°á»£c xÃ¢y dá»±ng tá»« trÆ°á»c  
+ShowPreviousCollection.Message:CÃ³ lá»i xáº£y ra vÃ  sÆ°u táº­p khÃŽng ÄÆ°á»£c xÃ¢y dá»±ng. Báº¡n Äang xem sÆ°u táº­p ÄÆ°á»£c xÃ¢y dá»±ng tá»« trÆ°á»c ÄÃ³.  
+#**********************
+#
+#***** Remote Greenstone Server *****
+RemoteGreenstoneServer.Authentication_Message:HÃ£y nháº­p tÃªn ngÆ°á»i dÃ¹ng vÃ  máº­t kháº©u:  
+RemoteGreenstoneServer.Error:CÃ³ lá»i trÃªn mÃ¡y chá»§ Greenstone tá»« xa khi thá»±c hiá»n thao tÃ¡c:\n{0-Error message}  
+RemoteGreenstoneServer.Error_Title:Lá»i mÃ¡y chá»§ Greenstone tá»« xa  
+RemoteGreenstoneServer.Progress:MÃ¡y chá»§ Greenstone tá»« xa Äang thá»±c hiá»n:  
+RemoteGreenstoneServer.Steal_Lock_Message:SÆ°u táº­p nÃ y hiá»n bá» khoÃ¡ bá»i ngÆ°á»i sá»­ dá»¥ng: '{0-User name}'.\nBáº¡n cÃ³ muá»n rÃºt kiá»m soÃ¡t tá»p tin bá» khoÃ¡ khÃŽng (KhÃŽng khuyáº¿n khÃ­ch vÃ¬ cÃ³ thá» bá» máº¥t)?  
+#**********************
+#
+#***** Rename Prompt *****
+RenamePrompt.Name:TÃªn:  
+RenamePrompt.Title:Äá»i tÃªn tá»p/thÆ° má»¥c  
+#**********************
+#
+#***** Replace Prompt *****
+ReplacePrompt.Title:Thay tháº¿ tá»p báº±ng...  
+#**********************
+#
+#***** Save Collection Box *****
+SaveCollectionBox.File_Name:TÃªn tá»p tin:  
+SaveCollectionBox.Files_Of_Type:Tá»p tin thuá»c dáº¡ng:  
+SaveCollectionBox.Look_In:Xem:  
+#**********************
+#
+#***** Save Progress Box *******
+SaveProgressDialog.Title:Äang lÆ°u sÆ°u táº­p  
+#*******************************
+#
+Server.QuitManual:giao diá»n khÃŽng cÃ³ kháº£ nÄng ÄÃ³ng \nmÃ¡y chá»§ thÆ° viá»n cá»¥c bá» má»t cÃ¡ch tá»± Äá»ng. HÃ£y thoÃ¡t ra khá»i mÃ¡y chá»§\nmá»t cÃ¡ch thá»§ cÃŽng báº±ng kÃ­ch chuá»t vÃ o biá»u tÆ°á»£ng chá»¯ tháº­p trÃªn gÃ³c\npÄá»nh gÃ³c pháº£i, sau ÄÃ³ báº¥m OK á» há»p thoáº¡i nÃ y.  
+Server.QuitTimeOut:ThÆ° viá»n cá»¥c bá» khÃŽng pháº£n á»©ng Äá»i vá»i\nlá»nh ÄÃ³ng tá»± Äá»ng trong vÃ²ng 60 giÃ¢y. Báº¡n cÃ³ Äá»ng Ãœ chá» Ã­t phÃºt ná»¯a khÃŽng?  
+#
+#***** Sources *****
+Source.General:Pháº§n chung  
+#**********************
+#
+#***** Trees *****
+Tree.DownloadedFiles:CÃ¡c tá»p ÄÆ°á»£c táº£i xuá»ng  
+Tree.Files:tá»p tin  
+Tree.Home:ThÆ° má»¥c chá»§ ({0})  
+Tree.Root:VÃ¹ng lÃ m viá»c cá»¥c bá»  
+Tree.World:CÃ¡c tÃ i liá»u trong sÆ°u táº­p Greenstone  
+#***********************
+#
+#***** Warning Dialog *****
+WarningDialog.Dont_Show_Again:KhÃŽng cho xem cáº£nh bÃ¡o nÃ y ná»¯a  
+WarningDialog.Dont_Show_Again_Message:KhÃŽng cho xem thÃŽng bÃ¡o nÃ y ná»¯a  
+WarningDialog.Invalid_Value:GiÃ¡ trá» báº¡n nháº­p vÃ o trÆ°á»ng nÃ y khÃŽng há»£p lá»\ncho tÃ­nh cháº¥t ÄÆ°á»£c nÃªu.  
+WarningDialog.Value:Nháº­p giÃ¡ trá»:  
+#
+#****** WGet *****
+WGet.Prompt:MÃ¡y tráº¡m sao lÆ°u WGET  
+#
+#****** Workflows *****
+Workflow.AllPanels:Má»i thanh  
+Workflow.LocalSourceCollectionBuilding:XÃ¢y dá»±ng sÆ°u táº­p gá»c cá»¥c bá»  
+Workflow.DocumentEnriching:Nháº­p SDL cho tÃ i liá»u  
+
+
+#********GEMS******
+
+GEMS.Title:CÃŽng cá»¥ hiá»u ÄÃ­nh bá» siÃªu dá»¯ liá»u cá»§a GSDL  
+GEMS.OpenMetadataSetPrompt.Title:Má» bá» siÃªu dá»¯ liá»u  
+GEMS.OpenMetadataSetPrompt.Open_Tooltip:Má» bá» siÃªu dá»¯ liá»u ÄÆ°á»£c chá»n  
+GEMS.Set_Description:MÃŽ táº£ bá» siÃªu dá»¯ liá»u  
+GEMS.OpenMetadataSetPrompt.Open:Má»  
+GEMS.OpenMetadataSetPrompt.Available_Sets:CÃ¡c bá» siÃªu dá»¯ liá»u hiá»n cÃ³  
+GEMS.DeleteMetadataSetPrompt.Title:XoÃ¡ bá» SiÃªu dá»¯ liá»u  
+GEMS.DeleteMetadataSetPrompt.Delete_Tooltip:XoÃ¡ bá» siÃªu dá»¯ liá»u ÄÆ°á»£c chá»n  
+GEMS.DeleteMetadataSetPrompt.Delete:XoÃ¡  
+GEMS.DeleteMetadataSetPrompt.Available_Sets:Nhá»¯ng bá» siÃªu dá»¯ liá»u hiá»n cÃ³  
+GEMS.DeleteMetadataSetPrompt.Confirm_Delete:HÃ£y kÃ­ch vÃ o nÃºt chá»n Äá» kháº³ng Äá»nh xoÃ¡ bá» siÃªu dá»¯ liá»u  
+GEMS.DeleteMetadataSetPrompt.No_Set:KhÃŽng cÃ³ bá» siÃªu dá»¯ liá»u ÄÆ°á»£c chá»n  
+GEMS.Confirm_Removal:Báº¡n cÃ³ cháº¯c cháº¯n xoÃ¡ {0} khÃŽng?  
+GEMS.Confirm_Removal_Title:Kháº³ng Äá»nh viá»c xoÃ¡  
+GEMS.Attribute:Thuá»c tÃ­nh  
+GEMS.Popup.AddElement:Bá» sung yáº¿u tá»  
+GEMS.Popup.DeleteElement:XoÃ¡ yáº¿u tá»  
+GEMS.Popup.AddSubElement:Bá» sung yáº¿u tá» phá»¥  
+GEMS.Popup.DeleteSubElement:XoÃ¡ yáº¿u tá» phá»¥  
+GEMS.NewMetadataSetPrompt.Title:Bá» siÃªu dá»¯ liá»u má»i  
+GEMS.NewMetadataSetPrompt.Instructions:Äá» láº­p bá» siÃªu dá»¯ liá»u má»i, hÃ£y nháº­p cÃ¡c trÆ°á»ng sau:  
+GEMS.NewMetadataSetPrompt.Base_MetadataSet:Láº­p bá» siÃªu dá»¯ liá»u nÃ y dá»±a theo:  
+GEMS.NewMetadataSetPrompt.Metadata_Title:Nhan Äá» bá» siÃªu dá»¯ liá»u:  
+GEMS.NewMetadataSetPrompt.Metadata_Namespace:Namespace cá»§a bá» siÃªu dá»¯ liá»u:  
+GEMS.NewMetadataSetPrompt.New_Metadata:-- Bá» siÃªu dá»¯ liá»u má»i --  
+GEMS.NewMetadataSetPrompt.Title_Error_Message:Bá» siÃªu dá»¯ liÃªu má»i pháº£i cÃ³ nhan Äá»  
+GEMS.NewMetadataSetPrompt.Title_Error:KhÃŽng cÃ³ nhan Äá» ÄÆ°á»£c chá»n  
+GEMS.NewMetadataSetPrompt.Namespace_Error_Message:Bá» siÃªu dá»¯ liá»u má»i pháº£i cÃ³ Namespace  
+GEMS.NewMetadataSetPrompt.Namespace_Error:KhÃŽng cÃ³ Namespace ÄÆ°á»£c nÃªu  
+GEMS.SelectedLanguage:Bá» sung thuá»c tÃ­nh vá» ngÃŽn ngá»¯:  
+GEMS.Language:--Chá»n ngÃŽn ngá»¯--  
+GEMS.LanguageDependent:Thuá»c tÃ­nh phá»¥ thuá»c ngÃŽn ngá»¯  
+GEMS.Attribute_Table:CÃ¡c thuá»c tÃ­nh  
+GEMS.Attribute_Deletion_Error:Lá»i xoÃ¡ thuá»c tÃ­nh  
+GEMS.Attribute_Deletion_Error_Message:Thuá»c tÃ­nh nÃ y pháº£i cÃ³ vÃ  khÃŽng thá» bá» xoÃ¡  
+GEMS.Add_Lang_Depend_Attr_Error:Lá»i bá» sung thuá»c tÃ­nh  
+GEMS.Add_Lang_Depend_Attr_Error_Message:KhÃŽng cÃ³ "thuá»c tÃ­nh phá»¥ thuá»c ngÃŽn ngá»¯". HÃ£y bá» sung thuá»c tÃ­nh nÃ y.  
+GEMS.Attribute_Edition_Error:Lá»i hiá»u ÄÃ­nh thuá»c tÃ­nh  
+GEMS.Attribute_Edition_Error_Message:Thuá»c tÃ­nh nÃ y pháº£i cÃ³ vÃ  khÃŽng thá» Äá» trá»ng  
+GEMS.Confirm_Save:SiÃªu dá»¯ liá»u nÃ y ÄÃ£ ÄÆ°á»£c thay Äá»i, báº¡n cÃ³ muá»n lÆ°u láº¡i khÃŽng?  
+GEMS.Confirm_Save_Title:LÆ°u bá» siÃªu dá»¯ liá»u  
+GEMS.Confirm_DeleteElement:Báº¡n cÃ³ cháº¯c cháº¯n xoÃ¡ yáº¿u tá»: {0} khÃŽng?  
+GEMS.Confirm_DeleteElement_Title:XoÃ¡ yáº¿u tá»  
+GEMS.File_Deletion_Error_Message:Tá»p tin khÃŽng thá» bá» xoÃ¡  
+GEMS.File_Deletion_Error:Lá»i xoÃ¡ tá»p tin  
+GEMS.Namespace_Conflict_Message:Cáº£nh bÃ¡o: TÃªn nÃ y ÄÃ£ ÄÆ°á»£c sá»­ dá»¥ng trong vÃ¹ng siÃªu dá»¯ liá»u khÃ¡c. Tiáº¿o thá»¥c?  
+GEMS.Namespace_Conflict:Xung Äá»t tháº» tÃªn  
+GEMS.Move_Up:Chuyá»n lÃªn  
+GEMS.Move_Down:Chuyá»n xuá»ng  
+GEMS.Cannot_Undo:(Thao tÃ¡c nÃ y khÃŽng thá»±c hiá»n ÄÆ°á»£c)  
+
+GEMS.AttributeTable.Name:TÃªn  
+GEMS.AttributeTable.Language:NgÃŽn ngá»¯  
+GEMS.AttributeTable.Value:GiÃ¡ trá»  
+GEMS.NewMetadataElementNamePrompt.Title:Yáº¿u tá» má»i  
+GEMS.NewMetadataElementNamePrompt.Name:HÃ£y nháº­p tÃªn cho yáº¿u tá» má»i  
+GEMS.NewMetadataElementNamePrompt.SubTitle:Yáº¿u tá» phá»¥ má»i  
+GEMS.NewMetadataElementNamePrompt.SubName:HÃ£y nháº­p tÃªn cho yáº¿u tá» phá»¥ má»i  
+GEMS.NewMetadataElementNamePrompt.Name_Error_Message:Má»t yáº¿u tá» cÃ³ cÃ¹ng tÃªn nÃ y Äang tá»n táº¡i.  
+GEMS.NewMetadataElementNamePrompt.Name_Error:Lá»i tÃªn yáº¿u tá»  
+GEMS.NewMetadataElementNamePrompt.EmptyName_Error_Message:Yáº¿u tá» má»i pháº£i cÃ³ tÃªn.  
+
+
+GEMS.No_Set_Loaded:KhÃŽng cÃ³ bá» siÃªu dá»¯ liá»u ÄÆ°á»£c ÄÆ°a ra. HÃ£y táº¡o má»i báº±ng File->New hoáº·c má» bá» má»i báº±ng File->Open.  
Index: main/tags/2.83/gli/classes/dictionary_zh.properties
===================================================================
--- main/tags/2.83/gli/classes/dictionary_zh.properties	(revision 21123)
+++ main/tags/2.83/gli/classes/dictionary_zh.properties	(revision 21123)
@@ -0,0 +1,1412 @@
+#*******************
+#** Language Orientation Property
+Component.Orientation:LTR
+
+#*******************
+#
+#***** AboutDialog *****
+AboutDialog.Acknowledgement:æ¥åçšåºïŒå
+æç±»çæææ
+AboutDialog.Date:(4æ 2009)  
+AboutDialog.Item0:'Xerces Java 1' é¿åžå¥èœ¯ä»¶ç»ç» (http://www.apache.org/)
+AboutDialog.Item2:'WGet' å
+èŽ¹èœ¯ä»¶ç»ç» (http://www.gnu.org/software/wget/wget.html)
+AboutDialog.Item3:'qflib' èŽšéç¬¬äžèœ¯ä»¶ç»ç»(http://www.qfs.de/en/qflib/index.html)
+AboutDialog.Item4:'ExtensionFileFilter.class' by Bruno Dumon and contributors (http://pollo.sourceforge.net/)
+AboutDialog.Item5:'åšèœ¯ä»¶éæ©åšäž­ææ ·çŠæ­¢æä»¶éåœå' - vladi21 (http://www.experts-exchange.com/)
+AboutDialog.Item6:'èªåšæ»åš' - Java Swing by Robert Eckstein, Marc Loy & Dave Wood (http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf)
+AboutDialog.Item7:'æ·»å æ»åšåŸè±¡å° JTrees' - By Andrew J. Armstrong (http://www.javaworld.com/javaworld/javatips/jw-javatip114.html)
+AboutDialog.Item8:'åæ­¢java.prefs éè¯¯ïŒåœäœ æ²¡æè¶
+çº§çšæ·æéæ¶' - Thanks to Walter Schatz
+AboutDialog.Item9:âæ°å»ºæä»¶å€¹âïŒâå é€âåâåž®å©âåŸæ æ¥èªäºSilvestre Herreraè®Ÿè®¡çDropline Neu!åŸæ éïŒæ¥èªhttp://art.gnome.org/  
+AboutDialog.Java_Req:Javaæ¯sunå
+¬åžçåæ . JREæ¯éæ°ååžçè®žå¯è¯æ¯è¯­, found at http://java.sun.com/j2se/1.4.1/j2re-1_4_1_02-license.html
+AboutDialog.Java_Req_One:è¿é¡¹äº§åå
+æ¬ç±RSAè®žå¯çä»£ç .
+AboutDialog.Java_Req_Two:äžéšåæ¥åšIBMçè®žå¯å¯ä»¥åš http\://oss.software.ibm.com/icu4j/æŸå°
+AboutDialog.Thanks:åæ ·æè°¢é£äºååžæçšçjavaä¿¡æ¯çäºº
+AboutDialog.Title:å
+³äº...
+AboutDialog.Title_One:ç»¿å®ç³ç®¡çåçé¢
+AboutDialog.Title_Two:ç»¿å®ç³æ°å­åŸä¹ŠéŠïŒ Waikatoå€§å­Š
+AboutDialog.Copyright:Copyright (C) 2003-2009 æ°è¥¿å
+°æ°å­åŸä¹ŠéŠé¡¹ç®  
+AboutDialog.Copyright_Two:åšGPLäžåè¡.è¯Šç»ä¿¡æ¯è¯·æ¥çlicense.txtæä»¶
+#***********************
+#
+#***** Audit Table *****
+AuditTable.File:æä»¶å
+#***********************
+#
+#***** Auto Filter *****
+Autofilter.AND:äž
+Autofilter.Ascending:åäž
+Autofilter.Case_Sensitive:åºåå€§å°å  
+Autofilter.Custom_Filter:é«çº§
+Autofilter.Descending:åäž
+Autofilter.Filter_By_Value:ç®å
+Autofilter.Name:åå
+Autofilter.None:æ 
+Autofilter.Operator:æ¡ä»¶
+Autofilter.OR:æ
+Autofilter.Order:æåº
+Autofilter.Order_Tooltip:ææ­€é¡ºåºæåºå¹é
+å
+Autofilter.Remove:ç§»é€è¿æ»€åš
+Autofilter.Remove_Tooltip:ä»è¡šåäž­ç§»é€è¿æ»€åš
+Autofilter.Set:è®Ÿçœ®è¿æ»€åš
+Autofilter.Set_Tooltip:æ·»å æ­€è¿æ»€åšå°è¡šå
+Autofilter.Table_Header_Tooltip:Filter by {0}
+Autofilter.Title:èªåšè¿æ»€åæ°æ®
+Autofilter.eqeq:ç­äº
+Autofilter.!eq:äžç­
+Autofilter.<:is å°äº
+Autofilter.<eq:å°äºç­äº
+Autofilter.>:å€§äº
+Autofilter.>eq:å€§äºç­äº
+Autofilter.^:èµ·å§äº
+Autofilter.!^:éèµ·å§äº
+Autofilter.$:ç»æäº
+Autofilter.!$:éç»æäº
+Autofilter.?:å
+å«
+Autofilter.!?:äžå
+å«
+#
+#     ********************************************************
+#     *************** Collection Design Module ***************
+#     ********************************************************
+#     * The dictionary  phrases  used in the creation of the *
+#     * Colection  Design  Module. Note that we  still  have *
+#     * access  to the format  arguments (argument  32+) for *
+#     * html formatting.                                     *
+#     ********************************************************
+CDM.ArgumentConfiguration.Bad_Integer:<html>æ­€åæ° '{0}' éèŠäžäžªæŽåŒ,<br>äœæ¯æ æ³ä» {1}äž­è§£æåºæŽåŒ.</html>
+CDM.ArgumentConfiguration.Error_Title:éè¯¯åæ°
+CDM.ArgumentConfiguration.Header:<HTML><STRONG><FONT FACE={FONT} COLOR=Black SIZE=5><CENTER>è¯·äžº {0}é
+çœ®åæ°.</CENTER></FONT></STRONG></HTML>
+CDM.ArgumentConfiguration.No_Value:åæ° '{0}' éèŠäžäžªåŒ, äœæ¯æ­€åŒæ²¡æç¡®å®.
+CDM.ArgumentConfiguration.Required_Argument:åæ°'{0}' å¿
+é¡»èµåŒ.
+CDM.ArgumentConfiguration.Title:é
+çœ®åæ°
+CDM.BuildTypeManager.Title:éæ©çŽ¢åŒæ¹æ³  
+CDM.BuildTypeManager.mg:MG  
+CDM.BuildTypeManager.mg_Description:è¿æ¯Greenstoneæå
+äœ¿çšççŽ¢åŒæ¹æ³ïŒäž»èŠç±Alistair MoffatåŒåç å¶ïŒå®ç°æ¹æ³åšãç®¡çæµ·éæ°æ®ãäžä¹Šäž­æè¯Šç»æè¿°ãå®æ¯æç« èçº§å«çŽ¢åŒïŒå¹¶æ¯æåžå°é»èŸæ¥è¯¢ä»¥åå¯¹æ¥è¯¢ç»æè¿è¡æåºïŒäœæ¯äžèœåæ¶è¿è¡ïŒãéŠèäž­çæ¯äžªçŽ¢åŒå¯¹åºäºäžäžªåç¬ççŽ¢åŒæä»¶ãå¯¹äºç­è¯­æ¥è¯¢ïŒGreenstoneäœ¿çšé»èŸâäžâå¯¹ç»æç­è¯­çæ¯äžäžªå­è¿è¡æ¥è¯¢ïŒç¶åæ«æç»æïŒä»äž­æŸåºå
+å«ç­è¯­çæ¥è¯¢ç»æãè¿ç§çŽ¢åŒæ¹æ³æŸç»åšå€§åéŠèïŒææ¬äžºå GBïŒäžç»è¿å€§éæµè¯ã  
+CDM.BuildTypeManager.mgpp:MGPP  
+CDM.BuildTypeManager.mgpp_Description:è¿äžªæ°çMGçæ¬ïŒMG++ïŒç±æ°è¥¿å
+°æ°å­åŸä¹ŠéŠé¡¹ç®ç»ç åãè¿ç§çŽ¢åŒæ¹æ³å¯¹å­çº§å«è¿è¡çŽ¢åŒïŒä»èèœå€å®ç°å­æ®µãç­è¯­åé»è¿æ¥è¯¢ãåžå°é»èŸæ¥è¯¢çç»æå¯æåºãäžäžªéŠèåªéèŠäžäžªçŽ¢åŒæä»¶ïŒææ¡£/ç« èçº§å«åææ¬/å
+æ°æ®å­æ®µéœç±äžäžªçŽ¢åŒæä»¶æäœãå¯¹äºæå€äžªçŽ¢åŒé¡¹çéŠèïŒäœ¿çšMGPPçéŠèå€§å°å°æ¯çšMGå°ãå¯¹äºå€§åéŠèïŒæ¥è¯¢å¯èœäŒæ
+¢äžç¹ïŒè¿æ¯å äžºçŽ¢åŒæ¯å»ºç«åšå­çº§å«äžèäžæ¯åšç« èçº§å«äžã  
+CDM.BuildTypeManager.lucene:Lucene  
+CDM.BuildTypeManager.lucene_Description:Luceneæ¯ç±é¿åžå¥èœ¯ä»¶èçæåŒåãå®æ¯æå­æ®µæ¥è¯¢åé»è¿æ¥è¯¢ïŒäœåªæ¯æäžç§çº§å«æ¥è¯¢ïŒäŸåŠïŒèŠä¹æŽäžªææ¡£çº§å«èŠä¹åäžªç« èçº§å«ïŒäžèœåæ¶æ¥è¯¢äž€äžªæä»¶çº§å«ïŒãæä»¥éŠèäž­çææ¡£åç« èçŽ¢åŒéèŠäž€äžªäžåççŽ¢åŒæä»¶ãLuceneæäŸçæ£çŽ¢åèœäžMGPPçžäŒŒïŒäœå®è¿æ¯æåå­ç¬Šçéé
+ç¬ŠãèåŽæ¥è¯¢ãä»¥åæå
+æ°æ®å­æ®µæåºæ¥è¯¢ç»æãå°Luceneæ·»å å°Greenstoneäž­æ¯äžºäºå®ç°MGåMGPPéœäžå
+·å€çå¢ééŠèéå»ºã  
+CDM.BuildTypeManager.Current_Type:äœ¿çšççŽ¢åŒ:{0}  
+CDM.BuildTypeManager.Change:ä¿®æ¹...  
+CDM.BuildTypeManager.Change_Tooltip:ä¿®æ¹æ­€éŠèççŽ¢åŒæ¹æ³  
+CDM.ClassifierManager.Add:æ·»å åç±»åš
+CDM.ClassifierManager.Add_Tooltip:å¯¹æ­€éååºçšç¹å®åç±»åš
+CDM.ClassifierManager.Assigned:ç®åæå®çåç±»åš  
+CDM.ClassifierManager.Classifier:éæ©æ·»å çåç±»åš  
+CDM.ClassifierManager.Classifier_Str:åç±»åš
+CDM.ClassifierManager.Classifier_List_XML_Parse_Failed:äžèœäœ¿çšclassinfo.pl -listallåŸå°äžäžªåç±»åè¡š  
+CDM.ClassifierManager.Classifier_XML_Parse_Failed:äžèœç¡®å®æ­€åç±»åšçåæ° {0}\n. è¯·ç¡®å®æé®é¢çåç±»åš\nè¯·éè¿è¿è¡ classinfo.pl èæ¬æ¥æäŸxmlæ å¿\n äžGreenStoneåŒåæå2.1éšåäž­çpluginfo.plèæ¬çžäŒŒã\n
+CDM.ClassifierManager.Configure:é
+çœ®åç±»åš
+CDM.ClassifierManager.Configure_Tooltip:äžºéæ©çåç±»åšæŽæ¹éé¡¹
+CDM.ClassifierManager.Remove:ç§»é€åç±»åš
+CDM.ClassifierManager.Remove_Tooltip:ä»åè¡šäž­ç§»é€éäž­çåç±»åšã
+CDM.FormatManager.Add:æ·»å æ ŒåŒã
+CDM.FormatManager.Add_Tooltip:å¯¹éåå èœœç¹å®çæ ŒåŒåœä»€ã  
+CDM.FormatManager.AllFeatures:ææåèœ  
+CDM.FormatManager.AllParts:ææç»ä»¶  
+CDM.FormatManager.Default:Reset to Default
+CDM.FormatManager.Default_Tooltip:Reset the selected format command to its default value 
+CDM.FormatManager.Editor:HTML æ ŒåŒäž²
+CDM.FormatManager.Editor_Tooltip:åšæ­€èŸå
+¥æçŒèŸæ ŒåŒåœä»€  
+CDM.FormatManager.Editor_Disabled_Tooltip:ç¹å»âAdd Formatâå°è¿äžªæ ŒåŒåœä»€å å°äœ çæä»¶éäž  
+CDM.FormatManager.Enabled:æ¿æŽ»
+CDM.FormatManager.Feature:éæ©ç¹åŸ
+CDM.FormatManager.Feature_Tooltip:æ ŒåŒåç¹åŸ
+CDM.FormatManager.Insert:æå
+¥
+CDM.FormatManager.Insert_Tooltip:æå
+¥äžºæ ŒåŒåœä»€éæ©çåéã
+CDM.FormatManager.Default:æ¢å€å°çŒºçè®Ÿçœ®  
+CDM.FormatManager.Default_Tooltip:å°æéåéæ¢å€å°å®ççŒºçåŒ  
+CDM.FormatManager.Insert_Variable:æå
+¥åé...  
+CDM.FormatManager.Part:ååœ±åçç»ä»¶
+CDM.FormatManager.Part_Tooltip:æ ŒåŒåéäž­çç¹åŸ
+CDM.FormatManager.Remove:ç§»é€æ ŒåŒ
+CDM.FormatManager.Remove_Tooltip:ç§»é€åè¡šäž­éäž­çæ ŒåŒåœä»€  
+CDM.FormatManager.Variable_Tooltip:åšæéçæ ŒåŒåœä»€äžæå
+¥äžäžªé¢å
+å®ä¹çåéåŒ  
+CDM.FormatManager.MessageBox:XMLæ ¡éª  
+CDM.FormatManager.MessageBox_Tooltip:XML æš¡åŒæ ¡éªä¿¡æ¯  
+CDM.General.Access:æ­€éååºåœå¯ä»¥è¢«å
+¬å
+±è®¿é®
+CDM.General.Browser_Title:éæ©äžåŒ åŸç
+CDM.General.Collection_Extra:éåæè¿°
+CDM.General.Collection_Extra_Tooltip:å¯¹äºéåç®çåå
+å®¹çæè¿°ã
+CDM.General.Collection_Name:éå
+CDM.General.Collection_Name_Tooltip:éååå­
+CDM.General.Email.Creator:åå»ºè
+çemail
+CDM.General.Email.Creator_Tooltip:éååå»ºè
+çemailå°å
+CDM.General.Email.Maintainer:ç»Žæ€è
+çemail
+CDM.General.Email.Maintainer_Tooltip:éåç»Žæ€è
+çemailå°å
+CDM.General.Icon_Collection:æå"about page"åŸæ çURL:  
+CDM.General.Icon_Collection_Tooltip:æŸç€º"about"é¡µé¢çåŸè±¡çURL
+CDM.General.Icon_Collection_Small:æå"äž»é¡µ"åŸæ çURL:  
+CDM.General.Icon_Collection_Small_Tooltip:æŸç€ºäž»é¡µé¢çåŸè±¡çURL  
+CDM.General.Image_Copy_Failed:äžäžªéè¯¯å¯ŒèŽäœ æéäž­çåŸè±¡äžèœå€è¢«å€å¶\nè¯·æåšå€å¶äœ çåŸè±¡å°åŸè±¡æä»¶å€¹ã
+CDM.General.Image_Filter:åŸå(gifs, jpgs and pngs)
+CDM.GUI.Classifiers:æµè§åç±»åš
+CDM.GUI.Formats:æ ŒåŒç¹åŸ
+CDM.GUI.General:æ®é
+CDM.GUI.Indexes:æçŽ¢çŽ¢åŒ
+CDM.GUI.Macros:éŠèçç¹å®å®  
+CDM.GUI.Plugins:æä»¶æä»¶
+CDM.GUI.Root:CDM_ROOT
+CDM.GUI.SearchMetadata:æ¥è¯¢  
+CDM.GUI.Subcollections:ååºçŽ¢åŒ
+CDM.GUI.SuperCollection:è·šéåæçŽ¢
+CDM.GUI.Translation:ç¿»è¯ææ¬
+CDM.GUI.DepositorMetadata:Depositorå
+æ°æ®  
+CDM.HelpButton:è¿äžªå±å¹çåž®å©  
+CDM.HelpButton_Tooltip:æåŒè¿äžªå±å¹çGLIåž®å©  
+CDM.IndexManager.Add_Index:æ·»å çŽ¢åŒ
+CDM.IndexManager.Add_Index_Tooltip:å èœœç¹å®çŽ¢åŒ  
+CDM.IndexManager.Allfields_Index:åšæææå®ççŽ¢åŒäžå¢å ç»åæ¥è¯¢ïŒææåŒåïŒ  
+CDM.IndexManager.Default_Index_Indicator:[é»è®€çŽ¢åŒ]
+CDM.IndexManager.Index_Exists:æ­€çŽ¢åŒå·²ç»è¢«æå®ç»è¿äžªéå.
+CDM.IndexManager.Indexes:æå®ççŽ¢åŒ
+CDM.IndexManager.Level:çŽ¢åŒçº§å«:  
+CDM.IndexManager.Level_Tooltip:å»ºç«çŽ¢åŒçæä»¶çº§å«  
+CDM.IndexManager.Add_All:å èœœå
+šéš  
+CDM.IndexManager.Add_All_Tooltip:äžºæ¯äžäžªæºå¢å äžäžªç¬ç«çŽ¢åŒ  
+CDM.IndexManager.Edit_Index:çŒèŸçŽ¢åŒ  
+CDM.IndexManager.Edit_Index_Tooltip:ä¿®æ¹æéçŽ¢åŒ  
+CDM.IndexManager.New_Index:æ°çŽ¢åŒ  
+CDM.IndexManager.New_Index_Tooltip:å¢å äžäžªæ°çŽ¢åŒ  
+CDM.IndexManager.Remove_Index:ç§»é€çŽ¢åŒ
+CDM.IndexManager.Remove_Index_Tooltip:å é€æéçŽ¢åŒ  
+CDM.IndexManager.Replace_Index:æ¿æ¢çŽ¢åŒ  
+CDM.IndexManager.Replace_Index_Tooltip:æŽæ°æéçŽ¢åŒ  
+CDM.IndexManager.Select_All:éæ©å
+šéš  
+CDM.IndexManager.Select_All_Tooltip:éæ©å
+šéšçŽ¢åŒæº  
+CDM.IndexManager.Select_None:äžé  
+CDM.IndexManager.Select_None_Tooltip:å»é€æéçŽ¢åŒæº  
+CDM.IndexManager.Set_Default:è®Ÿçœ®é»è®€ççŽ¢åŒ
+CDM.IndexManager.Set_Default_Tooltip:äœ¿éäž­ççŽ¢åŒæäžºé»è®€é»è®€çŽ¢åŒ
+CDM.IndexManager.Source:çŽ¢åŒå
+å«:  
+CDM.IndexManager.Source_Tooltip:å»ºç«çŽ¢åŒçå
+æ°æ®å
+çŽ 
+CDM.IndexManager.Text_Source:å
+šææ¬  
+CDM.IndexManager.Text_Source_Tooltip:åšçŽ¢åŒäž­å
+å«ææ¡£çå
+šéšææ¬  
+CDM.IndexingManager.Accent_fold:äœ¿çšåŒºè°ç¬Šå·  
+CDM.IndexingManager.Accent_fold_Tooltip:åå»ºäžäžªaccent-foldedççŽ¢åŒïŒè¿å°å
+è®žäžåºåaccentsçæ¥è¯¢  
+CDM.IndexingManager.Casefold:åºå«å€§å°å  
+CDM.IndexingManager.Casefold_Tooltip:åå»ºäžäžªå€§å°åäžåºåççŽ¢åŒïŒè¿å°å
+è®žäžåºåå€§å°åçæ¥è¯¢ã  
+CDM.IndexingManager.Options:çŽ¢åŒéé¡¹  
+CDM.IndexingManager.Separate_cjk:CJKææ¬åå²  
+CDM.IndexingManager.Separate_cjk_Tooltip:<html>åå²CJKïŒäž­æïŒæ¥æïŒé©æïŒææ¬ãç®åçæ¹æ¡æ¯åšæ¯äžªCJKå­ç¬Šä¹éŽæå
+¥äžäžªç©ºæ Œç¬Šã<br>æ¥è¯¢CJKææ¬éèŠæ­€åèœïŒé€éè¯¥ææ¬å·²ç»è¢«åå²æè¯ã</html>  
+CDM.IndexingManager.Stem:è¯æ ¹  
+CDM.IndexingManager.Stem_Tooltip:<html>åå»ºäžäžªå»è¯æ ¹ççŽ¢åŒïŒè¿å°å
+è®žå¯¹è¯æ ¹è¿è¡æ¥è¯¢ã<br>æ¯åŠæ¥è¯¢âfarmâïŒååºïŒè¿å°åæ¶å¹é
+âfarmsâïŒååºçå€æ°åœ¢åŒïŒä»¥åâfarmersâïŒååºäž»ïŒïŒæ­€åèœä»
+çšäºè±æåæ³æïŒ</html>  
+CDM.LanguageManager.Add_Tooltip:åšç¹å®çè¯­èšäžæ·»å äžäžªçŽ¢åŒååº  
+CDM.LanguageManager.Assigned_Languages:æå®è¯­èšååº  
+CDM.LanguageManager.Default_Language:é»è®€è¯­èš
+CDM.LanguageManager.LanguageMetadata:è¯­ç§å
+æ°æ®  
+CDM.LanguageManager.LanguageMetadata_Tooltip:äœ¿çšå
+æ°æ®å
+çŽ æ¥åºå«ææ¡£è¯­èš  
+CDM.LanguageManager.Remove_Tooltip:ä»åè¡šäž­ç§»é€æéè¯­èšååº  
+CDM.LanguageManager.Replace_Tooltip:çšäžäžªæ°çæéè¯­èšæ¥æ¿æ¢æéååº  
+CDM.LanguageManager.Selector:æ·»å è¯­èšå°:  
+CDM.LanguageManager.Selector_Tooltip:å»ºç«çŽ¢åŒååºçè¯­èš  
+CDM.LanguageManager.Set_Default:è®Ÿçœ®æé»è®€
+CDM.LanguageManager.Set_Default_Tooltip:äœ¿éäž­çè¯­èšååºæäžºçŒºç  
+CDM.LevelManager.Document:ææ¡£  
+CDM.LevelManager.Section:ç« è  
+CDM.LevelManager.Paragraph:æ®µèœ  
+CDM.LevelManager.Level_Title:çŽ¢åŒçº§å«  
+CDM.LevelManager.Default:é»è®€  
+CDM.LevelManager.Default_Tooltip:è¯»è
+çé¢çé»è®€çº§å«  
+CDM.MacrosManager.Editor_Tooltip:åšè¿éçŒèŸå®  
+CDM.Move.At_Bottom:äžèœç§»åš{0} {1} æŽäœïŒå äžºå®å·²ç»åšåè¡šçæåºéš
+CDM.Move.At_Top:äžèœç§»åš {0} {1} æŽé«ïŒå äžºå®ä»¥åšåè¡šçæé¡¶éš
+CDM.Move.Cannot:äžèœç§»åšæä»¶{0}æŽäœïŒå äžº RecPlug and ArcPlug å¿
+é¡»åšåè¡šåºéš
+CDM.Move.Fixed:<html>RecPlug and ArcPlug éåžžéèŠåšæåïŒæä»¥å®ä»¬çäœçœ®æ¯åºå®ç<br>åŠæäœ å¿
+é¡»ç§»åšå®ïŒè¯·æåšçŒèŸ.cfg æä»¶.</html>
+CDM.Move.Move_Down:äžç§»
+CDM.Move.Move_Down_Tooltip:å°éæ©çæ¡ç®äžç§»
+CDM.Move.Move_Up:äžç§»
+CDM.Move.Move_Up_Tooltip:å°éæ©çæ¡ç®äžç§»
+CDM.Move.Title:éè¯¯ - äžèœç§»åš
+CDM.PlugInManager.Add:æ·»å æä»¶
+CDM.PlugInManager.QuickAdd:å¢å æä»¶  
+CDM.PlugInManager.Add_Tooltip:äœ¿çšè¿äžªéåç¹å®çæä»¶
+CDM.PlugInManager.Assigned:åœååé
+æä»¶  
+CDM.PlugInManager.Configure:é
+çœ®æä»¶
+CDM.PlugInManager.Configure_Tooltip:æ¹åæéæä»¶çéé¡¹
+CDM.PlugInManager.Ignore:äžèŠæ·»å æä»¶
+CDM.PlugInManager.Ignore_Tooltip:äžèŠåè¯¥éåäž­æ·»å ä»»äœæä»¶.
+CDM.PlugInManager.PlugIn:éæ©æ·»å çæä»¶:
+CDM.PlugInManager.PlugIn_Tooltip:è¯¥éåäž­å¯ä»¥äœ¿çšçæä»¶
+CDM.PlugInManager.PlugIn_Str:æä»¶
+CDM.PlugInManager.PlugIn_XML_Parse_Failed:äžèœäžº{0}\næä»¶ç¡®å®åæ°. è¯·ç¡®è®€å¯çæä»¶æäŸ\nè¿è¡pluginfo.plèæ¬çXMLæ å¿\næ­€èæ¬åšGreenstoneåŒååå¯Œ2.1èäž­æè¿°
+CDM.PluginManager.Plugin_List_XML_Parse_Failed:äžèœäœ¿çšpluginfo.pl -listallæ¥åŸå°äžäžªæä»¶åè¡š  
+CDM.PluginManager.Plugin_Suggestion_Prompt:è¯¥éåäž­æ²¡æä»»äœäžäžªæä»¶å¯ä»¥çŽæ¥å€çæä»¶"{0}"ïŒç¶èè¥è¯¥æä»¶å±äºåŠäžäžªæä»¶ïŒæ¯åŠäžäžªçœé¡µäž­çäžäžªåŸåæä»¶ïŒæ­€æ¶è¯¥æä»¶ä»å¯èœè¢«æ¬æ¶èæ¶åœïŒãäžåæä»¶å¯èœèœå€çè¿äžªæä»¶ãæšå¯ä»¥éè¿éäž­å¹¶ææ·»å é®å°è¯¥æä»¶æ·»å å°æ¶èæ­€æ¶èäž­ãïŒè¯·æ³šææšå¯ä»¥éæ¶åšè®Ÿè®¡é¢æ¿äžçâæä»¶æä»¶âäž­æ¹åè¯¥æä»¶æž
+åãïŒ  
+CDM.PlugInManager.Remove:ç§»é€æä»¶
+CDM.PlugInManager.Remove_Tooltip:ä»åè¡šäž­ç§»é€æéæ©çæä»¶
+CDM.PluginManager.SuggestedPluginListTitle:è¯¥æä»¶æšèçæä»¶
+CDM.SearchMetadataManager.Component:æ¥è¯¢èåçé¡¹  
+CDM.SearchMetadataManager.Component_Name:æŸç€ºææ¬  
+CDM.SearchMetadataManager.Type_index:çŽ¢åŒ  
+CDM.SearchMetadataManager.Type_level:çº§å«  
+CDM.SearchMetadataManager.Type_partition:ååº  
+CDM.SearchMetadataManager.Type_language:è¯­ç§ååº  
+CDM.SubcollectionManager.Add:å¢å è¿æ»€åš
+CDM.SubcollectionManager.Add_Tooltip:å¢å è¯¥éåçç¹å®è¿æ»€åš
+CDM.SubcollectionManager.Assigned:å®åœ±å­éåè¿æ»€åš
+CDM.SubcollectionManager.Exclude:äžå
+æ¬
+CDM.SubcollectionManager.Flags:å¹é
+æ¶çæ è®°
+CDM.SubcollectionManager.Flags_Tooltip:å¹é
+æ¶äœ¿çšçè§åè¡šèŸŸåŒæ è®°ïŒäŸåŠïŒ "i" æ¯å€§å°åå¹é
+ïŒ
+CDM.SubcollectionManager.Include:å
+æ¬
+CDM.SubcollectionManager.Inclusive:æä»¬å¯¹å¹é
+çæä»¶åä»ä¹?
+CDM.SubcollectionManager.Language_Controls:åé
+è¯­èš
+CDM.SubcollectionManager.Match:å¹é
+çè§åè¡šèŸŸåŒ:
+CDM.SubcollectionManager.Match_Tooltip:å®ä¹å­éåæä»¶çè§åè¡šèŸŸåŒ
+CDM.SubcollectionManager.Name:å­éåè¿æ»€åšå:
+CDM.SubcollectionManager.Name_Tooltip:æ°çå­éåè¿æ»€åšå
+CDM.SubcollectionManager.Remove:ç§»é€è¿æ»€åš
+CDM.SubcollectionManager.Remove_Tooltip:ä»åè¡šäž­ç§»é€æéçè¿æ»€åš
+CDM.SubcollectionManager.Replace:æ¿æ¢è¿æ»€åš
+CDM.SubcollectionManager.Replace_Tooltip:æŽæ°æéè¿æ»€åšçè¯Šç»èµæ
+CDM.SubcollectionManager.Source:Document attribute to match against:
+CDM.SubcollectionManager.Source_Tooltip:è¯¥è¿æ»€åšçæä»¶
+CDM.SubcollectionManager.Subcollection_Controls:å®ä¹è¿æ»€åš
+CDM.SubcollectionManager.Subindex_Controls:ååº
+CDM.SubcollectionIndexManager.Add_Subindex:æ·»å ååº
+CDM.SubcollectionIndexManager.Add_Subindex_Tooltip:åè¯¥éåæ·»å ç¹å®çååº
+CDM.SubcollectionIndexManager.Default_Partition_Indicator:[é»è®€ååº]
+CDM.SubcollectionIndexManager.Remove_Subindex:ç§»é€ååº
+CDM.SubcollectionIndexManager.Remove_Subindex_Tooltip:ä»éåäž­ç§»é€æéååº
+CDM.SubcollectionIndexManager.Replace_Subindex:æ¿æ¢ååº
+CDM.SubcollectionIndexManager.Replace_Subindex_Tooltip:æŽæ°æéååº
+CDM.SubcollectionIndexManager.Set_Default_Subindex:æå®äžºé»è®€
+CDM.SubcollectionIndexManager.Set_Default_Subindex_Tooltip:äœ¿åŸæéååºäžºé»è®€
+CDM.SubcollectionIndexManager.Source:åšå
+¶äžå»ºç«ååº:
+CDM.SubcollectionIndexManager.Source_Tooltip:åšè¯¥ååºäžå»ºç«å­éåè¿æ»€åš
+CDM.SubcollectionIndexManager.Subindexes:åé
+å­éåååº
+CDM.TranslationManager.Add:æ·»å ç¿»è¯
+CDM.TranslationManager.Add_Tooltip:äžºè¯¥éåæ·»å ç¹å®ç¿»è¯
+CDM.TranslationManager.Affected_Features:ç¹ç¹
+CDM.TranslationManager.Assigned_Fragments:åé
+ç¿»è¯
+CDM.TranslationManager.Default_Text:åå§åææ¬ç¢ç
+CDM.TranslationManager.Fragment_Column:ææ¬ç¢ç
+CDM.TranslationManager.Language:ç¿»è¯çè¯­èš:
+CDM.TranslationManager.Language_Column:è¯­èš
+CDM.TranslationManager.Language_Tooltip:ç¿»è¯äžºçè¯­èš
+CDM.TranslationManager.Remove:ç§»é€ç¿»è¯
+CDM.TranslationManager.Remove_Tooltip:ä»è¯¥éåäž­ç§»é€ç¿»è¯
+CDM.TranslationManager.Replace:æ¿æ¢ç¿»è¯
+CDM.TranslationManager.Replace_Tooltip:æŽæ°æéæ©çç¿»è¯
+CDM.TranslationManager.Translation:ç¿»è¯ææ¬
+CDM.TranslationManager.Translation_Tooltip:åšæ­€å€é®å
+¥èŠç¿»è¯çå­ç¬Š
+CDM.DepositorMetadataManager.Warning:è³å°åºéäž­äžäžªå
+æ°æ®å­æ®µ  
+#*******************
+#
+#***** Collection *****
+Collection.Collection:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>éå</FONT></STRONG></HTML>
+Collection.Delete_Tooltip:å é€éæ©çæä»¶åæä»¶å€¹
+Collection.Filter_Tooltip:éå¶æä»¶æ äž­çæä»¶
+Collection.New_Folder_Tooltip:æ°å»ºæä»¶å€¹
+Collection.No_Collection:æ²¡æèä¹Š
+Collection.No_Collection_Loaded:æ²¡æå èœœä»»äœéŠè  
+Collection.Stop:åæ­¢
+Collection.Stop_Tooltip:åæ­¢å€å¶æä»¶
+Collection.Workspace:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>Workspace</FONT></STRONG></HTML>
+#**********************
+#
+#***** CollectionBuilt *****
+CollectionBuilt.Message:èä¹Šå·²ç»å­åšïŒå¯ä»¥é¢è§ã
+CollectionBuilt.Title:èä¹Šåå»ºç»æ
+#***************************
+#
+#******ScheduldBuilt******
+ScheduleBuilt.Message:æ­€æ¶èçæ¶éŽè¡šå·²è¢«ä¿®æ¹ã  
+ScheduleBuilt.Title:è®Ÿçœ®æ¶èæ¶éŽè¡šçç»æ  
+#***************************
+#
+#***** CollectionManager *****
+CollectionManager.Schedule_Failed:åºç°éè¯¯ïŒäžèœå¯¹æ¬æ¶èè®Ÿçœ®å®ææå»ºçæ¶éŽè¡šã  
+CollectionManager.Build_Cancelled:èä¹Šåå»ºè¢«åæ¶
+CollectionManager.Cannot_Create_Collection:å äžºåç°äžäžªéè¯¯ïŒæä»¥éŠèäžèœè¢«åå»º  
+CollectionManager.Cannot_Create_Collection_With_Reason:èä¹Šäžèœè¢«åå»ºå äžº:\n{0-Error message}
+CollectionManager.Cannot_Delete_Index:èä¹Šäžèœè¢«éå»ºå äžºäžèœå é€æ§ççŽ¢åŒæä»¶\nè¯·ç¡®ä¿Greenstoneæè
+å
+¶å®çšåºæ²¡æåšäœ¿çšè¿äºæä»¶\n ç¶åéè¯
+CollectionManager.Cannot_Delete_Index_Log:äžèœå é€æ§ççŽ¢åŒæä»¶æä»¥å¯Œå
+¥åæ­¢
+CollectionManager.Cannot_Open:{0-Collection file path}\näžçèä¹ŠäžèœæåŒ
+CollectionManager.Cannot_Open_With_Reason:{0-Collection file path}\näžçèä¹ŠäžèœæåŒå äžº:\n{1-Error message}
+CollectionManager.Creating_Collection:åå»ºéŠè  
+CollectionManager.Creating_Collection_Please_Wait:æ­£åšåå»ºéŠèïŒè¯·çšå...  
+CollectionManager.Loading_Collection:èœœå
+¥èä¹Š
+CollectionManager.Loading_Collection_Please_Wait:æ­£åšèœœå
+¥ïŒè¯·çšå...
+CollectionManager.Loading_Successful:å·²èœœå
+¥ {0}.
+CollectionManager.Missing_Config:èä¹ŠçŒºå°ææçcollect.cfgæä»¶
+CollectionManager.Not_Col_File:'{0}' äžæ¯äžäžªåŸä¹ŠéŠåçé¢èä¹Šæä»¶(.col)
+CollectionManager.No_Config_File:collect.cfgè¿æ²¡æè¢«mkcol.plåå»º.
+CollectionManager.Preview_Ready_Failed:åçéè¯¯ïŒèä¹Šäžèœé¢è§
+CollectionManager.Preview_Ready_Title:èä¹Šé¢è§ç¶æ
+CollectionManager.Schedule_Ready_Title:è®Ÿå®æ¶éŽè¡šç¶æ  
+CollectionManager.Build_Not_Moved:buildingç®åœäžèœå é€ãéæ°å»ºç«éŠèïŒæè
+éåºGLIåserverïŒç¶åéæ°å¯åšGLIå¹¶äžéå»ºéŠè---å°ä¿®å€æ­€é®é¢ã  
+CollectionManager.Index_Not_Deleted:çŽ¢åŒç®åœäžèœå é€ãéåºGLIåserverïŒç¶åéæ°å¯åšGLIå¹¶äžéå»ºéŠè---å°ä¿®å€æ­€é®é¢ã  
+CollectionManager.Install_Exception:å®è£
+äž­åç°åŒåžž:\n{0}\nå¯èœç±äºWindowsææ¬å°åŸä¹ŠéŠéå®äºæä»¶\nè¯·ç¡®ä¿æææºæä»¶éœæ²¡æè¢«å€éšçšåºæåŒïŒç¶åéå»º
+#*****************************
+#
+#***** CollectionPopupMenu *****
+CollectionPopupMenu.Delete:å é€
+CollectionPopupMenu.New_Dummy_Doc:æ°çèææä»¶
+CollectionPopupMenu.New_Folder:æ°æä»¶å€¹
+CollectionPopupMenu.Refresh:å·æ°æä»¶å€¹è§åŸ  
+CollectionPopupMenu.Rename:éåœå  
+CollectionPopupMenu.Replace:æ¿æ¢  
+#*******************************
+#
+#***** CreatePane *****
+CreatePane.Schedule_Progress:æ¶éŽè¡šè¿çš  
+CreatePane.Schedule:æ¶éŽè¡šéé¡¹  
+CreatePane.Schedule_Tooltip:å®æèªåšæå»ºæ¶èçéé¡¹  
+CreatePane.Schedule_Build:è®Ÿå®æ¶éŽè¡š  
+CreatePane.Schedule_Build_Tooltip:è®Ÿå®èªåšæå»ºæ¶èçæ¶éŽè¡š  
+CreatePane.Build:åå»ºéé¡¹
+CreatePane.Build_Tooltip:éé¡¹ïŒèä¹Šåœ¢æççŽ¢åŒååç±»é¶æ®µ
+CreatePane.Build_Collection:åå»ºèä¹Š
+CreatePane.Build_Collection_Tooltip:åŒå§åå»ºè¿çš
+CreatePane.Build_Progress:åå»ºè¿åºŠ
+CreatePane.Cancel_Build:åæ¶åå»º
+CreatePane.Cancel_Build_Tooltip:åæ­¢åå»ºè¿çš
+CreatePane.Full_Build:å®æéå»º
+CreatePane.Full_Build_Tooltip:å®æéå»ºèä¹Š
+CreatePane.Import:å¯Œå
+¥éé¡¹
+CreatePane.Import_Tooltip:Optionséé¡¹ïŒèä¹Šåœ¢æçæä»¶èœ¬æ¢åå
+æ°æ®åé
+é¶æ®µ
+CreatePane.Import_Progress:å¯Œå
+¥è¿åºŠ
+CreatePane.Minimal_Build:æå°éå»º  
+CreatePane.Minimal_Build_Tooltip:æŽå¿«ïŒå äžºåªæ§è¡äºéšåå¿
+èŠçå»ºç«éŠèçæ­¥éª€  
+CreatePane.Minimal_Build_Not_Required:äžéèŠéæ°å»ºç«éŠèïŒå äžºäœ æ²¡æåšéŠèéå¢å ä»»äœæä»¶ïŒçŒèŸå
+æ°æ®ïŒæè
+åšè®Ÿè®¡çé¢ä¿®æ¹éé¡¹ãïŒéæ©âå®å
+šéå»ºâå¹¶äžæäžâå»ºç«éŠèâæé®ïŒå°åŒºå¶éå»ºæŽäžªéŠèïŒ  
+CreatePane.Log:æ¶æ¯æ¥å¿
+CreatePane.Log_Tooltip:åšä»¥åçåå»ºå°è¯äž­æ¥çèŸåº
+CreatePane.Mode_All:ææ
+CreatePane.Options:éé¡¹ç»
+CreatePane.Options_Title:èä¹Šçå¯Œå
+¥ïŒåå»ºåæ¶éŽè¡šè®Ÿçœ®éé¡¹  
+CreatePane.Preview_Collection:é¢è§èä¹Š
+CreatePane.Preview_Collection_Tooltip:é¢è§éŠè  
+#**********************
+#
+#***** Dates *****
+Dates.Mon:ææäž
+Dates.Tue:ææäº
+Dates.Wed:ææäž
+Dates.Thu:ææå
+Dates.Fri:ææäº
+Dates.Sat:ææå
+­
+Dates.Sun:æææ¥
+Dates.Jan:1æ
+Dates.Feb:2æ
+Dates.Mar:3æ
+Dates.Apr:4æ
+Dates.May:5æ
+Dates.Jun:6æ
+Dates.Jul:7æ
+Dates.Aug:8æ
+Dates.Sep:9æ
+Dates.Oct:10æ
+Dates.Nov:11æ
+Dates.Dec:12æ
+#**********************
+#
+#***** Delete Collection Prompt *****
+DeleteCollectionPrompt.Collection_Details:éæ©éåçè¯Šç»èµæ
+DeleteCollectionPrompt.Collection_List:å¯çšçéå
+DeleteCollectionPrompt.Confirm_Delete:è¯·éæ©æ è®°æ¡ç¡®è®€å é€éå.
+DeleteCollectionPrompt.Delete:å é€
+DeleteCollectionPrompt.Delete_Tooltip:å é€éæ©çéå
+DeleteCollectionPrompt.Details:åå»ºè
+ - {0}\nç»Žæ€è
+ - {1}\næè¿°\n{2}
+DeleteCollectionPrompt.Failed_Delete:éåäžèœå®å
+šå é€.
+DeleteCollectionPrompt.Failed_Title:å é€å€±èŽ¥!
+DeleteCollectionPrompt.No_Collection:æ²¡æéåè¢«éæ©.
+DeleteCollectionPrompt.Successful_Delete:éåå·²ç»è¢«å é€.
+DeleteCollectionPrompt.Successful_Title:å®å
+šå é€!
+DeleteCollectionPrompt.Title:éåå é€
+DeleteCollectionPrompt.Cannot_Delete_Open_Collection_Tooltip:æ æ³å é€æ¶è{0}ïŒå äžºè¯¥æ¶èä»å€äºæåŒç¶æ  
+#**********************
+#
+#***** DirectoryLevelMetadata *****
+DirectoryLevelMetadata.Message:äœ æç®äžºéæ©çæä»¶å€¹åé
+'æä»¶å€¹çº§å«'.è¿äºå
+æ°æ®å°èªåšè¢«è¯¥æä»¶å€¹äžçæä»¶åæä»¶å€¹ç»§æ¿.è¿äžæ­¥è¯Žè¿äžªå
+æ°æ®äžèœä»æå®çå­ç±»ç§»é€,åªèœè¢«æ¿æ¢.ç»§ç»­è¿äžªè¡äžºè¯·æ'OK'.
+DirectoryLevelMetadata.Title:å
+³äºæ·»å æä»¶å€¹çº§å«å
+æ°æ®
+
+#*******************
+#
+#***** Download *****
+DOWNLOAD.MODE.Root:äžèœœæ ¹ç®åœ  
+DOWNLOAD.MODE.WebDownload:çœ  
+DOWNLOAD.MODE.MediaWikiDownload:MediaWiki  
+DOWNLOAD.MODE.OAIDownload:OAI  
+DOWNLOAD.MODE.ZDownload:Z39.50  
+DOWNLOAD.MODE.SRWDownload:SRW  
+
+Download.ServerInformation:æå¡ä¿¡æ¯  
+Download.ServerInformation_Tooltip:äžèœœäžäºæå
+³æå¡åšç«¯çä¿¡æ¯ïŒå¹¶æ£æ¥æ¯åŠå¯ä»¥å»ºç«è¿æ¥  
+
+#********************
+#
+#***** EnrichPane *****
+EnrichPane.AutoMessage:è¿äžªæå, {0}, å±äºGreenstoneå
+æ°æ®é.
+EnrichPane.ExistingValues:ç°æåŒ {0}
+EnrichPane.InheritedMetadataSelected:è¯¥å
+æ°æ®ç»§æ¿äžçº§æä»¶å€¹å¹¶äžäžèœçŒèŸ.
+EnrichPane.InheritedMetadata_Tooltip:ç¹å»è¿äžªåŸæ æ¥è®¿é®æä»¶å€¹ïŒæä»¶å€¹å·²ç»ç»§æ¿äºäžäºå
+æ°æ®  
+EnrichPane.ManageMetadataSets:ç®¡çå
+æ°æ®é...  
+EnrichPane.ManageMetadataSets_Tooltip:ä¿®æ¹éŠèäœ¿çšçå
+æ°æ®é  
+EnrichPane.No_File:æ²¡ææä»¶è¢«éæ©
+EnrichPane.No_Metadata:æ²¡æå¯çšçå
+æ°æ®
+EnrichPane.No_Metadata_Element:<HTML><STRONG><FONT FACE={FONT} COLOR=Black>æ²¡æå
+æ°æ®æåè¢«éæ©</FONT></STRONG></HTML>
+EnrichPane.NotOneFileOnlyMetadataSelected:è¿äžªå
+æ°æ®äžéçšäºè¿äžªæä»¶ïŒæä»¥äžèœè¢«çŒèŸ  
+EnrichPane.Value_Field_Tooltip:å°åé
+ç»éæ©çå
+æ°æ®æåçåŒ
+EnrichPane.Value_Field_Tooltip_Uneditable:å·²ç»åé
+ç»éæ©çå
+æ°æ®æåçåŒ
+#***********************
+#
+#****** ExplodeMetadataPrompt *******
+ExplodeMetadataPrompt.Explode:å±åŒ
+ExplodeMetadataPrompt.Explode_Tooltip:å±çå
+æ°æ®æä»¶
+ExplodeMetadataPrompt.Instructions:å±åŒè¯¥å
+æ°æ®æä»¶å°äº§çå¯çŒèŸçå
+æ°æ®çäžªå«è®°åœ.
+ExplodeMetadataPrompt.Failed_Title:å±åŒå€±èŽ¥.
+ExplodeMetadataPrompt.Failed_Explode:æ°æ®åº {0} äžèœå±åŒ.
+ExplodeMetadataPrompt.NotExplodable:æä»¶äžèœå±åŒ.
+ExplodeMetadataPrompt.Successful_Explode:æ°æ®åº {0} æåå±åŒ.
+ExplodeMetadataPrompt.Successful_Title:å±åŒå®å
+š.
+ExplodeMetadataPrompt.Title:å±åŒå
+æ°æ®åº
+ExplodeMetadataPrompt.Plugin:çšäºå±åŒçæä»¶  
+#***********************
+#
+#****** ReplaceSrcWithHTMLPrompt *******
+ReplaceSrcWithHTMLPrompt.ReplaceSrc:æ¿æ¢äžºHTMLçæ¬  
+ReplaceSrcWithHTMLPrompt.ReplaceSrc_Tooltip:å°æºææ¡£æ¿æ¢äžºç»¿å®ç³ç³»ç»çæçHTMLçæ¬ã  
+ReplaceSrcWithHTMLPrompt.Instructions:å°äžäžªææ¡£æ¿æ¢äžºå
+¶å¯¹åºçHTMLçæ¬å°å
+è®žæšçŒèŸè¯¥HTMLææ¡£å¹¶åšå°æ¥éææ¶èçè¿çšäž­å€çè¿äºä¿®æ¹ãè¿äžªè¿çšæ¯äžå¯éçïŒå æ­€åå§ææ¡£å°ä»æ¶èäž­å é€ã  
+ReplaceSrcWithHTMLPrompt.Failed_Title:æ¿æ¢äžºHTMLå€±èŽ¥ã  
+ReplaceSrcWithHTMLPrompt.Failed_ReplaceSrc:ææ¡£{0}æ æ³çšHTMLçæ¬æ¿æ¢ã  
+ReplaceSrcWithHTMLPrompt.NotSrcReplaceable:æ­€æä»¶ç±»åäžèœè¢«æ¿æ¢äžºHTMLçæ¬ã  
+ReplaceSrcWithHTMLPrompt.Successful_ReplaceSrc:ææéäž­çææ¡£å·²ç»æåæ¿æ¢äžºå
+¶HTMLçæ¬ã  
+ReplaceSrcWithHTMLPrompt.Successful_Title:æ¿æ¢äžºHTMLçæ¬å®æã  
+ReplaceSrcWithHTMLPrompt.Title:å°æºææ¡£æ¿æ¢äžºHTMLæä»¶ã  
+ReplaceSrcWithHTMLPrompt.Plugin:çšäºexplodeçæä»¶ã  
+#***********************
+#
+#****** WriteCDImagePrompt *******
+WriteCDImagePrompt.CD_Name:CD/DVD å
+WriteCDImagePrompt.Export:å CD/DVD åŸå
+WriteCDImagePrompt.Export_Tooltip:äœäžºWindows CD/DVD åŸååæéæ©çéååå
+¥
+WriteCDImagePrompt.Failed_Export:éå ({0}) äžèœå¯Œåº.
+WriteCDImagePrompt.Failed_Title:å¯Œåºå€±èŽ¥
+WriteCDImagePrompt.Install:CD/DVDå°åšäœ¿çšæ¶å®è£
+äžäºæä»¶ïŒå¿«éïŒ  
+WriteCDImagePrompt.Install_Tooltip:åå»ºäžäžªèªå®è£
+CD-ROMïŒå®å°åšå®¿äž»æºåšäžå®è£
+åŸä¹ŠéŠïŒåæééŠèæä»¶ïŒ  
+WriteCDImagePrompt.NoInstall:äœ¿çšæ¶CD/DVDå°äžäŒå®è£
+ä»»äœæä»¶  
+WriteCDImagePrompt.NoInstall_Tooltip:åå»ºçCD-ROMå¯ä»¥çŽæ¥åšCD-ROMäžè¿è¡åŸä¹ŠéŠïŒäžéèŠåšå®¿äž»æºåšäžå®è£
+ä»»äœçšåº  
+WriteCDImagePrompt.Instructions:åèªå®è£
+çWindows CD/DVDå¯ŒåºäžäžªææŽå€éå.(å°œç®¡è¿åšä»»æå¹³å°äžéœèœè¿è¡,äœæ¯CD/DVDåå»ºäžºåªèœåšWindowsäžè¿è¡ïŒ.
+WriteCDImagePrompt.Progress_Label:å€å¶æä»¶ïŒè¿å¯èœéèŠäžå®æ¶éŽ...
+WriteCDImagePrompt.Size_Label:äŒ°è®¡å€§å°:
+WriteCDImagePrompt.Successful_Export:éå ({0}) è¢«å¯Œåº.
+WriteCDImagePrompt.Successful_Title:å¯Œåºå®å
+š
+WriteCDImagePrompt.Title:å CD/DVD å¯Œåºéå
+#************************
+#
+#****** ExportAsPrompt *******
+ExportAsPrompt.Export_Name:æä»¶å€¹å  
+ExportAsPrompt.Export_Name_Tooltip:èŸåºæ¶èçä¿å­æä»¶å€¹åïŒæ­€æä»¶å€¹äœäºGreenstoneçtmpç®åœäž  
+ExportAsPrompt.Export:å¯Œåºæ¶è  
+ExportAsPrompt.Export_Tooltip:ææéçææ¡£æ ŒåŒå°éäž­çæ¶èå¯Œåºå°æå®çæä»¶ç®åœäž­  
+ExportAsPrompt.Failed_ExportOne:æ¶è{0}äžèœè¢«å¯Œåº  
+ExportAsPrompt.Failed_Details:æ¥ç{1} è¯Šç»ä¿¡æ¯
+ExportAsPrompt.Failed_Title:å¯Œåºå€±èŽ¥
+ExportAsPrompt.Instructions:å°äžäžªæ¶èäž­çæä»¶å¯Œåºå°å
+¶ä»æ ŒåŒã  
+ExportAsPrompt.Progress_Label:å¯Œåºæä»¶. è¿å¯èœèŠèèŽ¹äžäºæ¶éŽ
+ExportAsPrompt.Successful_ExportOne:æ¶è{0}å·²è¢«å¯Œåº  
+ExportAsPrompt.Successful_Details:æä»¶å¯Œåºå°: {1}
+ExportAsPrompt.Successful_Title:å¯Œåºå®æ¯
+ExportAsPrompt.Title:å¯Œåºæ¶è  
+ExportAsPrompt.SaveAs:å¯Œåºå°
+ExportAsPrompt.SaveAs_Tooltip:éæ©äœ æ³å¯Œåºçæ ŒåŒ
+ExportAsPrompt.Cancel:åæ¶  
+ExportAsPrompt.Cancel_Tooltip:åæ¶èŸåºè¿çš  
+ExportAsPrompt.Browse:æµè§  
+ExportAsPrompt.Browse_Tooltip:éæ©äžäžªxslæä»¶  
+ExportAsPrompt.ApplyXSL:å èœœXSLæä»¶å°{0}  
+ExportAsPrompt.ApplyXSL_Tooltip:äœ¿çšäžäžªxslæä»¶æ¥èœ¬æ¢èŸåºçæä»¶  
+ExportAsPrompt.MARCXMLGroup:éåmarcè®°åœ  
+ExportAsPrompt.MARCXMLGroup_Tooltip:å°ææçmarcè®°åœèŸåºå°äžäžªæä»¶  
+ExportAsPrompt.MappingXML:è¿çšæ åæä»¶  
+ExportAsPrompt.MappingXML_Tooltip:äœ¿çšäžäžªæ åæä»¶èœ¬æ¢èŸåºçæä»¶  
+#
+#***** Inherited Metadata *****
+ExtractedMetadata.Message:éäž­çæä»¶ææä»¶å€¹å
+å«æœååºçå
+æ°æ®ïŒäœç®åè¿äºå
+æ°æ®æ¯éèçãèŠæ¥çæœååºçå
+æ°æ®ïŒéæ©âæä»¶âèåäž­çâè®Ÿçœ®âéé¡¹ãåšâäžè¬âå±æ§äž­éæ©âæ¥çæœååºçå
+æ°æ®âïŒç¶åç¹å»âè®Ÿçœ®âã  
+ExtractedMetadata.Title:æ­€æä»¶æä»¶å€¹äž­æéèçå
+æ°æ®
+#
+#***** FileActions *****
+FileActions.Calculating_Size:è®¡ç®éäž­çæä»¶çå€§å°
+FileActions.Copying:å€å¶ {0}
+FileActions.Could_Not_Delete:äžèœå é€{0}  
+FileActions.Cyclic_Path:äžèœæ·èŽ{0}ïŒç®æ æä»¶å€¹æ¯äžäžªæºæä»¶å€¹çå­æä»¶å€¹  
+FileActions.Deleting:å é€ {0}
+FileActions.Directories_Selected:{0} æä»¶å€¹è¢«éæ©
+FileActions.Directory_Selected:1äžªæä»¶å€¹è¢«éäž­
+FileActions.File_Already_Exists_No_Create:æä»¶ '{0}' å·²ç»å­åš.
+FileActions.File_And_Directories_Selected:1äžªæä»¶å{0} æä»¶å€¹è¢«éäž­
+FileActions.File_And_Directory_Selected:äžäžªæä»¶åäžäžªæä»¶å€¹è¢«éäž­
+FileActions.File_Create_Error:æä»¶ {0} äžèœè¢«åå»º
+FileActions.Folder_Create_Error:æä»¶{0}äžèœè¢«åå»º
+FileActions.File_Exists:<html>{0} å·²ç»å­åš. èŠèŠçå?</html>
+FileActions.File_Move_Error_Message:äžèœä»{0}ç§»åšå°\n{1}.  
+FileActions.File_Not_Deleted_Message:{0}\næä»¶çåå­äžèœè¢«å é€ \nè¯·æ£æ¥æ­€æä»¶æ¯åŠè¢«æåŒ, ç¶åéè¯.
+FileActions.File_Not_Found_Message:{0}\næŸäžå°æä»¶çåå­. äžæŠæä»¶è§åŸè¢«å·æ°, è¯·æ£æ¥æä»¶æ¯åŠè¿å­åš.
+FileActions.File_Selected:éäž­äžäžªæä»¶
+FileActions.Files_And_Directory_Selected:{0} æä»¶åæä»¶å€¹è¢«éäž­
+FileActions.Files_Selected:{0} æä»¶è¢«éäž­
+FileActions.Folder_Already_Exists:æä»¶å€¹çåå­ '{0}' å·²ç»è¢«äœ¿çš æ æ³åå»º.
+FileActions.Insufficient_Space_Message:æä»¶æäœå€±èŽ¥ïŒå äžºæ²¡æè¶³å€çç©ºéŽ.äžºäœ¿æäœæåïŒäœ è¿éèŠ: {0}
+FileActions.Moving:ç§»åš{0}
+FileActions.No_Activity:æ æäœ
+FileActions.Read_Not_Permitted_Message:äžèœè¯»å{0}  
+FileActions.Read_Only:æä»¶åªèœè¯»åäžèœå é€ã
+FileActions.Replacing:æ¿æ¢{0}  
+FileActions.Selected:{0} æä»¶å {1} æä»¶å€¹éäž­
+FileActions.Unknown_File_Error_Message:å°œç®¡æ²¡æéè¯¯ä¿¡æ¯ïŒæç»çæ£æ¥æŸç€ºæºæä»¶åç®çæä»¶äžå. åå æªç¥. è¯·æ£æ¥äœ çåªäœåæŽæ°JVM.
+FileActions.Write_Not_Permitted_Message:Tç®¡çåæ²¡ææéåå
+¥\n{0}\nè¯·æ£æ¥æä»¶æéã
+FileActions.Write_Not_Permitted_Title:éè¯¯ - äžæ­£ç¡®çæä»¶æé
+FileActions.Yes_To_All:åºçšå°å
+šéš
+FileActions.File_Permission_Detail:æ³šæïŒæ»ä¹ïŒGreenstoneç®¡çåçé¢éèŠå¯¹Greenstoneçæ ¹ç®åœæå¯åæïŒè·¯åŸäžº{0}ãåšç»§ç»­æäœä»¥åïŒè¯·èµäºåœåçšæ·({1})å¯¹äºè¿äžªç®åœïŒä»¥åå®çå­ç®åœïŒçâå®å
+šæ§å¶âæãïŒæè
+ïŒå°Greenstoneå®è£
+å°äžäžªäœ æ¥æâå®å
+šæ§å¶âæçç®åœäžïŒäŸåŠäœ çæ ¹ç®åœæè
+âMy DocumentsâïŒ  
+
+#************************
+#
+#******* File Associations dialog **********
+FileAssociationDialog.Add:æ·»å 
+FileAssociationDialog.Add_Tooltip:çšæ­€çšåºæ¥æµè§è¿ç§ç±»åçæä»¶
+FileAssociationDialog.Batch_File:æ¹å€çæä»¶
+FileAssociationDialog.Browse:æµè§
+FileAssociationDialog.Browse_Tooltip:ä»æä»¶ç©ºéŽäž­éæ©äœ¿çšççšåº
+FileAssociationDialog.Browse_Tooltip_Mac:æµè§ç®åéå¯¹MacOSè¢«çŠçšççšåº
+FileAssociationDialog.Browse_Title:éæ©åºçšçšåº
+FileAssociationDialog.Close:å
+³é­
+FileAssociationDialog.Close_Tooltip:å
+³é­å¯¹è¯æ¡å¹¶äžåå°äž»çªå£
+FileAssociationDialog.Command:è¿è¡åœä»€:
+FileAssociationDialog.Command_File:åœä»€æä»¶
+FileAssociationDialog.Command_Tooltip:èŸå
+¥å¯åšçšåºçåœä»€
+FileAssociationDialog.Details:æ°çæä»¶éåçç»è
+FileAssociationDialog.Executable_File:å¯æ§è¡æä»¶
+FileAssociationDialog.Extension:æä»¶ç»å°Ÿ:
+FileAssociationDialog.Extension_Tooltip:æ¥çæä»¶æ©å±å
+FileAssociationDialog.Instructions:çšè¿äžªå¯¹è¯æ¡æ¥è®Ÿçœ®å€éšçšåºçšä»ä¹æ¥æµè§ç¹å®æä»¶ç±»å, ä»ä¹åœä»€æ¥å¯åšçšåº.\næ·»å æ°çæä»¶ç±»åïŒåš 'For files ending'äž­èŸå
+¥æä»¶æ©å±å. æ·»å æä¿®æ¹å¯åšåœä»€, åš 'Launch command'äž­èŸå
+¥åœä»€ æè
+ç¹å»æµè§æ¥æ¥æŸåéçæä»¶ç³»ç»ã
+FileAssociationDialog.Table.Command:åœä»€
+FileAssociationDialog.Table.Extension:æ©å±
+FileAssociationDialog.Title:çŒèŸæä»¶éå
+FileAssociationDialog.Remove:ç§»é€
+FileAssociationDialog.Remove_Tooltip:ä»ç°æçéåäž­ç§»é€éäž­çéå  
+FileAssociationDialog.Replace:æ¿æ¢
+FileAssociationDialog.Replace_Tooltip:çšæ°çéåæ¿æ¢éäž­çéå  
+#*******************
+#
+#******Filter***************
+Filter.0:HTM & HTML
+Filter.1:XML
+Filter.2:ææ¬æä»¶
+Filter.3:åŸå
+Filter.4:PDF  
+Filter.5:Officeææ¡£  
+Filter.All_Files:æææä»¶
+Filter.Filter_Tree:å±ç€ºæä»¶
+Filter.Invalid_Pattern:<HTML><FONT FACE={FONT} COLOR=Black>äœ èŸå
+¥çè¿æ»€æä»¶æš¡åŒæ æ.<BR>Please try again using regular expression syntax and with<BR>* for the wildcard character.</FONT></HTML>
+#***********************
+#
+#***** GAuthenticator *****
+GAuthenticator.Password:å¯ç :
+GAuthenticator.Password_Tooltip:åšæ­€å€é®å
+¥äœ çå¯ç 
+GAuthenticator.Title:éèŠèŸå
+¥å¯ç .
+GAuthenticator.Username:çšæ·å:
+GAuthenticator.Username_Tooltip:åšæ­€å€é®å
+¥çšæ·å
+#**************************
+#
+#***** General Messages *****
+# 0 - A String representing the name and method of the class in question.
+General.Apply:åºçš
+General.Apply_Tooltip:åºçšåœåè®Ÿçœ®äœäžéåºå¯¹è¯æ¡
+General.Browse:æµè§...
+General.Cancel:åæ¶
+General.Cancel_Tooltip:åæ¶åå
+General.Close:å
+³é­
+General.Close_Tooltip:å
+³é­å¯¹è¯æ¡
+General.Edit:çŒèŸ
+General.Error:éè¯¯
+General.LLS_Not_Started:Greenstoneæå¡åšå·²å¯åšïŒäœè¿æ²¡æç¹å»è¿å
+¥åŸä¹ŠéŠæé®ã\näžæŠç¹å»äºè¯¥æé®ïŒç¹å»é¢è§ã  
+General.LLS_Not_Started_Title:æ¬å°åŸä¹ŠéŠæå¡åšå°æªå¯åš  
+General.No:No
+General.NotSunJava:Java vendor: {0}\næ³šæå°æ°å­åŸä¹ŠéŠçé¢å·²ç»è¢«åŒååºæ¥å¹¶åšJavaç³»ç»äžåŸå°æµè¯.
+General.OK:OK
+General.OK_Tooltip:æ¥ååœåè®Ÿçœ®å¹¶éåºå¯¹è¯æ¡
+General.Outstanding_Processes:<html>æ°å­åŸä¹ŠéŠçé¢äžäŒå®å
+šå
+³é­ç¥éææçšåº<br>äŒŽéæ°å­åŸä¹ŠéŠçé¢å¯åšççšåºéœéåº.</html>
+General.Outstanding_Processes_Title:ç­åŸ
+éåº
+General.Pure_Cancel_Tooltip:äž­æ­æäœ
+General.Review_Output:è¯·æ£æ¥äžé¢èŸåº:
+General.Redo:éå  
+General.Redo_Tooltip:æ¢å€å°äžäžæ¬¡æ€æ¶  
+General.Undo:æ€æ¶  
+General.Undo_Tooltip:æ€æ¶äžæ¬¡çŒèŸ  
+General.Usage:Usage: {0} <params>\nAll parameters are optional but the Librarian Interface may fail to work if -gsdl and -library aren't set.\n -gsdl <path>  : Force path to gsdl\n -library <path> : Path to cgi-bin\n -mozilla <path> : Enabled mozilla\n -mirror : Enable web-mirroring controls\n -laf [java|windows|motif|mac] : Look and feel\n -debug : Enable debug messages\n -no_load : Don't load previously open collection\n -load <path> : Load the specified collection
+General.View:å¯çåŒ
+General.Warning:è­Šå
+General.Yes:Yes
+#****************************
+#
+#***** GShell *****
+GShell.BadArgument:åæ° {0} ææ.
+GShell.BadArgumentValue:åæ° {0} æ æ.
+GShell.BadPluginOptions:æ æåæ°åšæä»¶ {0}.
+GShell.BadClassifierOptions:æ æåæ°åšåç±»åš {0}.
+GShell.Build.Auxilary:åå»ºèŸ
+å©æä»¶åæž
+ç...
+GShell.Build.BuildBegun1:************** åå»ºåŒå§ **************
+GShell.Build.BuildCancelled:**************   åæ¶    **************
+GShell.Build.BuildComplete1:************** åå»ºç»æ **************
+GShell.Build.CompressText:åçŒ©ææ¬...
+GShell.Build.Index:åå»ºåºäº {0-index source and level}ççŽ¢åŒ...
+GShell.Build.InfoDatabase:åå»ºä¿¡æ¯æ°æ®åº...
+GShell.Build.Phind:çæPhind åç±»åš. è¿éèŠäžäºæ¶éŽ...
+GShell.Schedule.ScheduleBegun1:**************** åŒå§æ¶éŽè¡šè®Ÿçœ® ***************  
+GShell.Schedule.ScheduleComplete1:**************** å®ææ¶éŽè¡šè®Ÿçœ® *************  
+GShell.Schedule.ScheduleDelete:*********** å é€ç°æçæ¶éŽè¡šè®Ÿçœ® *****  
+GShell.Command:åœä»€
+GShell.Failure:åœä»€å€±èŽ¥.
+GShell.Import.FileNotProcessed:æä»¶ {0-target file path} è¢«è®€å¯äœäžèœè¢«ä»»äœæä»¶å€ç.
+GShell.Import.FileNotRecognised:æä»¶ {0-target file path} äžèœè¢«ä»»äœæä»¶è®€å¯.
+GShell.Import.FileProcessing:æä»¶ {0-target file path} æ­£åšè¢«æä»¶ {1-plugin name}å€ç.
+GShell.Import.FileProcessingError:æä»¶ {0-target file path} åšå€çäž­éå°éè¯¯.
+GShell.Import.ImportBegun1:************** å¯Œå
+¥åŒå§ **************
+GShell.Import.ImportComplete1:************** å¯Œå
+¥ç»æ **************
+GShell.Import.ImportComplete2:{0-number documents considered} å¯ä»¥å€ççææ¡£:
+GShell.Import.ImportComplete2.1:äžäžªå¯ä»¥å€ççææ¡£:
+GShell.Import.ImportComplete.Processed:{0-number processed} å€çè¿çææ¡£å¹¶äžå
+å«åšéåäž­.
+GShell.Import.ImportComplete.Processed.1:äžäžªå€çè¿çææ¡£å¹¶äžåšéåäž­.
+GShell.Import.ImportComplete.Blocked:{0-number blocked} è¢«æä»¶é»æ­¢å å
+¥
+GShell.Import.ImportComplete.Blocked.1:äžäžªè¢«æä»¶é»æ­¢å å
+¥
+GShell.Import.ImportComplete.Ignored:{0-number ignored} äžè¢«è®€å¯
+GShell.Import.ImportComplete.Ignored.1:äžäžªäžè¢«è®€å¯.
+GShell.Import.ImportComplete.Failed:{0-number failed} è¢«åŠè®€.
+GShell.Import.ImportComplete.Failed.1:äžäžªè¢«åŠè®€.
+GShell.Import.ImportComplete3:\n
+GShell.Import.Warning:{0-plugin name} è­ŠåïŒ  
+GShell.Parsing_Metadata_Complete:æ¡£æ¡æä»¶å
+æ°æ®æœåå®æ.
+GShell.Parsing_Metadata_Start:ä»æ¡£æ¡æä»¶äž­æåå
+æ°æ®.
+GShell.Success:åœä»€å®æ.
+#*********************
+#
+#***** GUI *****
+# Currently Enabled and Disabled display the same text but in different
+# colours. If necessary this can be changed.
+GUI.Create:åå»º
+GUI.Create_Tooltip:çšGreenstoneåå»ºäœ çéå
+GUI.Design:è®Ÿè®¡
+GUI.Design_Tooltip:è®Ÿè®¡äœ çéŠèçåèœ  
+GUI.Download:äžèœœ
+GUI.Download_Tooltip:äžºäœ çéåä»äºèçœäžé¢äžèœœèµæº
+GUI.Enrich:å å
+¥
+GUI.Enrich_Tooltip:äžºäœ çéåæä»¶åé
+å
+æ°æ®
+GUI.Format:æ ŒåŒ  
+GUI.Format_Tooltip:è®Ÿè®¡äœ çéŠèå€è§  
+GUI.Gather:æ¶é
+GUI.Gather_Tooltip:éæ©æä»¶å
+å«å
+¥äœ çéå
+#***************
+#
+#***** HELP *****
+Help.Contents:å
+å®¹
+Help.Title:ç®¡çåçé¢åž®å©é¡µé¢
+#****************************
+#
+#***** Invalid Metadata ******
+InvalidMetadata.Message:è¿äžªå
+æ°æ®éå
+çŽ åŒå·²ç»è¢«éå¶åšäžäžªé¢å
+å®ä¹çåŒéäž­ãè¯·ä»å·²æçåŒäž­éæ©äžäžªã  
+InvalidMetadata.Title:æ æå
+æ°æ®  
+#***************************
+#
+#***** LegacyCollection
+LegacyCollection.Message:äœ å°å èœœäžäžªç±GLIåå»ºçéŠèãç°æçå
+æ°æ®å°è¢«åŒå
+¥å°Dublin Coreå
+æ°æ®éãåæçå
+æ°æ®æä»¶å°è¢«å­åšå°äžäžªåäžºimport.bakçæä»¶å€¹  
+LegacyCollection.Title:å èœœå€éšéŠè  
+#***************************
+#
+#***** LockFileDialog *****
+LockFileDialog.Cancel_Tooltip:äžèŠçªåéå®æä»¶çæ§å¶æ
+LockFileDialog.Date:æ¥æ
+LockFileDialog.Error:éè¯¯
+LockFileDialog.Lockfile_Message_One:éå®æä»¶çåºç°è¯Žæéåæ¯æåŒç.
+LockFileDialog.Lockfile_Message_Two:äœ æ³çªåéå®æä»¶çæ§å¶æå?
+LockFileDialog.Machine:åªé
+LockFileDialog.Name:åå­
+LockFileDialog.OK_Tooltip:çªåéå®æä»¶çæ§å¶æ
+LockFileDialog.Title:éå®æä»¶æ¢æµ
+LockFileDialog.User:è°
+#********************
+#
+#*****MappingPrompt **********
+MappingPrompt.File:æä»¶å€¹
+MappingPrompt.Map:åå»ºå¿«æ·æ¹åŒ
+MappingPrompt.Name:åå­
+MappingPrompt.Title:åå»ºæä»¶å€¹å¿«æ·æ¹åŒ
+MappingPrompt.Unmap:ç§»é€å¿«æ·æ¹åŒ
+#*******************
+#
+#***** Menu Options *****
+Menu.Collapse:å
+³é­æä»¶å€¹
+Menu.Edit:çŒèŸ
+Menu.Edit_Copy:å€å¶ (ctrl-c)
+Menu.Edit_Cut:åªå (ctrl-x)
+Menu.Edit_Paste:ç²èŽŽ (ctrl-v)
+Menu.Expand:æåŒæä»¶å€¹
+Menu.Explode_Metadata_Database:å±åŒå
+æ°æ®åº
+Menu.Replace_SrcDoc_With_HTML:æ¿æ¢äžºHTMLçæ¬  
+Menu.File:æä»¶
+Menu.File_Associations:æä»¶å
+³è...
+Menu.File_CDimage:åå
+¥ CD/DVD åŸå...
+Menu.File_Close:å
+³é­
+Menu.File_Delete:å é€...
+Menu.File_Exit:éåº
+Menu.File_ExportAs:å¯Œåº...
+Menu.File_New:æ°å»º...
+Menu.File_Open:æåŒ...
+Menu.File_Options:éŠéé¡¹...
+Menu.File_Save:ä¿å­
+Menu.Help:åž®å©
+Menu.Help_About:å
+³äº...
+Menu.Metadata_View:äžº {0} åé
+å
+æ°æ®
+Menu.Open_Externally:åšå€éšçšåºäž­æåŒ
+#********************
+#
+#***** MetaAudit *****
+MetaAudit.Close:å
+³é­
+MetaAudit.Close_Tooltip:å
+³é­è¯¥å¯¹è¯æ¡
+MetaAudit.Title:ææå
+æ°æ®
+#*********************
+#
+#***** Metadata *****
+Metadata.Element:å
+çŽ 
+Metadata.Value:åŒ
+MetadataSet.Files:å
+æ°æ®éæä»¶
+#**********************************
+#
+#***** MetadataSetDialog**********
+MetadataSetDialog.Title:ç®¡çå
+æ°æ®é  
+MetadataSetDialog.Add_Title:å èœœå
+æ°æ®é  
+MetadataSetDialog.Current_Sets:å·²åé
+çå
+æ°æ®é  
+MetadataSetDialog.Available_Sets:ææçå
+æ°æ®é  
+MetadataSetDialog.Add:å èœœâŠ  
+MetadataSetDialog.Add_Tooltip:å èœœäžäžªæ°çå
+æ°æ®éå°éŠèäž  
+MetadataSetDialog.New_Set:æ°çâŠ  
+MetadataSetDialog.New_Set_Tooltip:åå»ºäžäžªæ°çå
+æ°æ®é  
+MetadataSetDialog.Add_Set:å èœœ  
+MetadataSetDialog.Add_Set_Tooltip:å°æéå
+æ°æ®éå å°éŠèäž  
+MetadataSetDialog.Browse:æµè§âŠ  
+MetadataSetDialog.Browse_Tooltip:å èœœäžäžªæ°çå
+æ°æ®éå°éŠèäž  
+MetadataSetDialog.Edit:çŒèŸâŠ  
+MetadataSetDialog.Edit_Tooltip:çŒèŸæéå
+æ°æ®é  
+MetadataSetDialog.Remove:å»é€  
+MetadataSetDialog.Remove_Tooltip:ä»éŠèäžå»é€æéå
+æ°æ®é  
+MetadataSetDialog.Elements:æéå
+æ°æ®éçå
+çŽ   
+
+#****************************************
+#
+#***** MetadataSetNamespaceClash warning***
+MetadataSetNamespaceClash.Title:å
+æ°æ®éNamespaceå²çª  
+MetadataSetNamespaceClash.Message:äœ æéçå èœœå°({0})äžçå
+æ°æ®éäžéŠèäž({1})å·²æçå
+æ°æ®éå­åšäžäžªçžåçnamespaceãåŠæäœ èŠå èœœè¿äžªæ°çéïŒæ°çå
+æ°æ®éå°äŒæ¿ä»£æ§éãåŠæå­åšåéçå
+çŽ ïŒææèµäºåŒçå
+æ°æ®å°äŒèœ¬ç§»å°æ°çéäžã  
+#*********************************************
+#
+#******** MetadataImportMappingPrompt *********
+MIMP.Add:æ·»å 
+MIMP.Add_Tooltip:åæééäž­æ·»å å
+æ°æ®æå
+MIMP.Ignore:å¿œç¥
+MIMP.Ignore_Tooltip:å¿œç¥è¯¥å
+æ°æ®æå
+MIMP.Instructions:å
+æ°æ®æå {0} äžèœèªåšå¯Œå
+¥è¯¥éå.
+MIMP.Merge:åå¹¶
+MIMP.Merge_Tooltip:å°å
+æ°æ®æåæ å°å°æééçæå®æå
+MIMP.Source_Element:æºå
+æ°æ®æå:
+MIMP.Target_Element:ç®æ å
+æ°æ®æå:
+MIMP.Target_Set:ç®æ å
+æ°æ®é:
+MIMP.Title:åå¹¶éæ±.
+#*****************************
+#
+#***** Mirroring *****
+Mirroring.ClearCache:æž
+ç©ºçŒå­
+Mirroring.ClearCache_Tooltip:å é€ææäžèœœçæä»¶
+Mirroring.Download:äžèœœ
+Mirroring.Download_Tooltip:åŒå§äžäžªæ°çäžèœœä»»å¡
+Mirroring.DownloadJob.Close:å
+³é­
+Mirroring.DownloadJob.Close_Tooltip:ä»åè¡šäž­å é€è¯¥ä»»å¡ïŒåŠæåœåæ­£åšæ§è¡ååæ­¢å®æ§è¡
+Mirroring.DownloadJob.Downloading:äžèœœ {0}
+Mirroring.DownloadJob.Download_Complete:äžèœœå®æ
+Mirroring.DownloadJob.Download_Stopped:äžèœœåæ­¢
+Mirroring.DownloadJob.Download_Progress:æè¿çšäžèœœ
+Mirroring.DownloadJob.Log:æ¥çæ¥å¿
+Mirroring.DownloadJob.Log_Tooltip:æ¥çè¯¥äžèœœçè¯Šç»å
+å®¹
+Mirroring.DownloadJob.Log_Title:äžèœœæ¥å¿  
+Mirroring.DownloadJob.Pause:æå
+Mirroring.DownloadJob.Pause_Tooltip:æåè¯¥äžèœœ
+Mirroring.DownloadJob.Resume:ç»§ç»­
+Mirroring.DownloadJob.Resume_Tooltip:ç»§ç»­è¯¥äžèœœ
+Mirroring.DownloadJob.Status:äžèœœç¶æ {0} of {1} æä»¶ ({2} è­Šå, {3} éè¯¯)
+Mirroring.DownloadJob.Waiting:ç­åŸ
+å¯åš
+Mirroring.DownloadJob.Waiting_User:ç­åŸ
+çšæ·çåšäœ
+Mirroring.Invalid_URL:èŸå
+¥çURLæ æïŒè¯·æŽæ­£
+Mirroring.Invalid_URL_Title:æ æçURL
+Mirroring.Preferences:é
+çœ®ä»£ç...  
+Mirroring.Preferences_Tooltip:å
+è®žä»£çïŒå¹¶äž/æè
+çŒèŸä»£çè®Ÿçœ®
+#*********************
+#
+#***** Missing EXEC *****
+MissingEXEC.Message:è­Šå!äœ å°äžèœéè¿åŸä¹ŠéŠåçé¢æ¥çæ°éŠèïŒè¿éèŠæå®å°GreenstoneåŸä¹ŠéŠwebæå¡åšçè·¯åŸãäœ å¯åšäžé¢çææ¬åäž­èŸå
+¥è¯¥è·¯åŸïŒæè
+çšååšåæ°ç®åœäž­çè¿æ¥é¡¹äž­è¿è¡è®Ÿçœ®ãææçURLå¿
+éä»¥âhttp://âåè®®åŒå€ŽïŒäžåŸå¯èœä»¥å¯æ§è¡çåç§°ïŒå¯¹äºGreenstoneæ¬å°åŸä¹ŠéŠæå¡åšæ¯"gsdl"ïŒèå¯¹äºå
+¶ä»webæå¡åšæ¯"library.cgi"ïŒç»æã  
+MissingEXEC.Title:çŒºå°GreenstoneçåŸä¹ŠéŠå°å
+#***** Missing EXEC_GS3 *****
+MissingEXEC_GS3.Message:è¯·è®Ÿçœ®Greenstone 3æå¡åšçURLãé€éæšåšæ¬å°è¿è¡çTomcat webæå¡åšäž­è®Ÿçœ®äºå°Greenstoneäžäžæçè·¯åŸïŒæšå°äžèœåšGLIäž­æ¥çæ°æ¶èãæšå¯ä»¥åšäžé¢çææ¬åäž­èŸå
+¥è¯¥URLïŒæè
+éååšè®Ÿçœ®éé¡¹äž­éæ©è¿æ¥è¡šãè¯·æ³šæææçURLå¿
+é¡»ä»¥åè®®âhttp://âåŒå§ã  
+MissingEXEC_GS3.Title:Greenstone 3 åŸä¹ŠéŠå°å  
+#***** Missing GLIServer *****
+MissingGLIServer.Message:è¯·åšäžé¢çææ¬åäž­è®Ÿçœ®è¿çšGreenstoneâgliserver.plâèæ¬çå°åãè¯·æ³šæææçURLå¿
+é¡»ä»¥åè®®âhttp://âåŒå§å¹¶ä»¥"gliserver.pl"ç»æã  
+MissingGLIServer.Title:è®Ÿçœ®GLIServerå°å  
+#***** Missing GSDL *****
+MissingGSDL.Message:è­Šå! äœ æ²¡æå®è£
+Greenstoneæ¬å°æ°å­åŸä¹ŠéŠçå€æ¬ïŒäžèœè®¿é®åŸä¹ŠéŠæ¥å£äžçææå
+å®¹.åŠæäœ è®€äžºè¯¯æ¥åäºè¿äžªæ¶æ¯ïŒè¯·æ£æ¥äœ çå®è£
+åæå®çè·¯åŸæèæ¬æä»¶
+MissingGSDL.Title:Missing Greenstone Path
+#***** Missing PERL *****
+MissingPERL.Message:è­Šå!äœ æ²¡æå®è£
+PERLïŒäžèœåå»ºæ°çå
+å®¹åå»ºç«å·²å­åšçå
+å®¹ïŒåŸä¹ŠéŠæ¥å£äžèœåç°äœ ç³»ç»æ²é
+å
+çRERL. åŠæäœ è®€äžºè¯¯æ¥åäºè¿äžªæ¶æ¯ïŒè¯·æ£æ¥äœ çå®è£
+åæå®çè·¯åŸæèæ¬æä»¶
+MissingPERL.Title:Missing PERL Path
+#******* MissingImageMagick ********
+MissingImageMagick.Message:è­Šå! GLIæ²¡ææŸå°ImageMagickçåéçæ¬ãæ¶èå¯å
+å«åŸçïŒäœæ¯äžåŸçå€ççžå
+³çåèœå°äžå¯çšïŒæ¯åŠå°åŸçèœ¬æ¢æå
+¶ä»ç±»åïŒæè
+çæé¢è§çæ¬ã  
+MissingImageMagick.Title:çŒºå° ImageMagick
+#*****************************
+#
+#***** New Session *****
+NewCollectionPrompt.Base_Collection:åºäºæ­€éŠèïŒ
+NewCollectionPrompt.Base_Collection_Tooltip:éæ©äžäžªå·²ç»å­åšçéŠèïŒæ°éŠèåºäºè¿äžªéŠè
+NewCollectionPrompt.Collection_Description:å
+å®¹æè¿°ïŒ
+NewCollectionPrompt.Collection_Name:éŠèæä»¶å€¹ïŒ
+NewCollectionPrompt.Collection_Scope_Personal:è¿æ¯äžäžªäžªäººéŠè  
+NewCollectionPrompt.Collection_Scope_Personal_Tooltip:è¿äžªéŠèèœè¢«åå»ºè
+åå±äº"all-collections-editor"ç»ççšæ·çŒèŸ  
+NewCollectionPrompt.Collection_Scope_Shared:è¿äžæ¯äžäžªäžªäººéŠè  
+NewCollectionPrompt.Collection_Scope_Shared_Tooltip:è¿äžªéŠèèœè¢«å±äº"all-collections-editor"ç»ççšæ·çŒèŸ  
+NewCollectionPrompt.Error:æ°éŠèéè¯¯
+NewCollectionPrompt.Instructions:åå»ºäžäžªæ°éŠèïŒå¡«åä»¥äžåºåã
+NewCollectionPrompt.NewCollection:-- æ°éŠè --
+NewCollectionPrompt.Title:åå»ºäžäžªæ°éŠèã
+NewCollectionPrompt.Title_Clash:æšäžºéŠèéæ©çåç§°å·²ç»è¢«äœ¿çšãæ¯åŠç»§ç»­ïŒ
+NewCollectionPrompt.Title_Error:å¿
+é¡»å¡«ååç§°åãè¯·æŽæ­£ã
+#***** New Folder OrFilePrompt *****
+NewFolderOrFilePrompt.Default_File_Name:dummy
+NewFolderOrFilePrompt.Default_Folder_Name:æ°å»ºæä»¶å€¹
+NewFolderOrFilePrompt.Destination_Name:ç®æ æä»¶å€¹
+NewFolderOrFilePrompt.File_Name:æä»¶å
+NewFolderOrFilePrompt.File_Name_Tooltip:äžºæ°æä»¶èŸå
+¥æä»¶å
+NewFolderOrFilePrompt.Folder_Name:æä»¶å€¹å
+NewFolderOrFilePrompt.Folder_Name_Tooltip:äžºæ°æä»¶å€¹èŸå
+¥åç§°
+NewFolderOrFilePrompt.Title_Folder:æ°å»ºæä»¶å€¹
+NewFolderOrFilePrompt.Title_File:æ°å»ºäžäžªdummyæä»¶
+#**********************
+#
+#******* OldWGET *******
+NoPluginExpectedToProcessFile.Message:è¯¥éåäž­æ²¡ææä»¶èœçŽæ¥å€çæä»¶"{0}"ïŒç¶èè¥è¯¥æä»¶å±äºåŠäžäžªæä»¶ïŒæ¯åŠäžäžªçœé¡µäž­çäžäžªåŸåæä»¶ïŒãæ£æ¥è¯¥ææ¡£çæ©å±æ¯åŠæ­£ç¡®ãåŠæç®çæ¯ä¿®æ¹ïŒé£ä¹å¯èœæšå¿
+é¡»çšUnkownPlugæ¥å€çè¿äžªææ¡£ã  
+NoPluginExpectedToProcessFile.Title:æ²¡ææä»¶çšæ¥å€çæä»¶ã
+#***********************
+#
+#***** OpenCollectionDialog *****
+OpenCollectionDialog.Available_Collections:å¯çšçéŠè
+OpenCollectionDialog.Description:éŠèæè¿°
+OpenCollectionDialog.Open:æåŒ
+OpenCollectionDialog.Open_Tooltip:æéäž­çéŠèè£
+èœœå°åŸä¹ŠéŠçæ¥å£äž­
+OpenCollectionDialog.Title:æåŒGreenstoneéŠè
+#**********************
+#
+#***** Options Pane inside CreatePane *****
+OptionsPane.Cancelled:- åæ¶
+OptionsPane.LogHistory:åå²æ¥å¿
+OptionsPane.Successful:- æå
+OptionsPane.Scheduled:- å·²è®Ÿçœ®æ¶éŽè¡š  
+OptionsPane.Unknown:- æªç¥
+OptionsPane.Unsuccessful:- äžæå
+#*******************
+#
+#***** Preferences *****
+Preferences:éŠéé¡¹
+Preferences.Connection:è¿æ¥
+Preferences.Connection_Tooltip:è®Ÿçœ®greenstoneçURLïŒé
+çœ®ä»£çè¿æ¥
+Preferences.Connection.GLIServer_URL:Greenstone gliserverçURL:
+Preferences.Connection.GLIServer_URL_Tooltip:Greenstone "gliserver" CGI scriptçURL
+Preferences.Connection.Library_Path:åŸä¹ŠéŠè·¯åŸïŒ
+Preferences.Connection.Library_Path_GS3:Greenstone Webè·¯åŸïŒ
+Preferences.Connection.Library_Path_Tooltip:Greenstone webæå¡åšURL
+Preferences.Connection.Library_Path_Tooltip_GS3:Greenstone webæå¡åšURL
+Preferences.Connection.Library_Path_Connection_Failure:è¿æ¥å€±èŽ¥ãè¯·æ£æ¥äœäº{0}çç»¿å®ç³ç³»ç»æå¡åšå€äºå·¥äœç¶æã  
+Preferences.Connection.ProgramCommand:é¢è§åœä»€ïŒ
+Preferences.Connection.ProgramCommand_Tooltip:èä¹Šé¢è§åŒå§åœä»€ã
+Preferences.Connection.Proxy_Host:ä»£çäž»æºïŒ
+Preferences.Connection.Proxy_Host_Tooltip:ä»£çæå¡åšå°å
+Preferences.Connection.Proxy_Port:ä»£çç«¯å£ïŒ
+Preferences.Connection.Proxy_Port_Tooltip:ä»£çæå¡åšç«¯å£å·
+Preferences.Connection.Servlet:Servlet:
+Preferences.Connection.Servlet_Tooltip:æ¥çç«ç¹çservlet
+Preferences.Connection.Servlet_Tooltip2:è¿äžªç«ç¹æ²¡ææå®çservlet
+Preferences.Connection.Site:ç«ç¹
+Preferences.Connection.Site_Tooltip:æšèŠå·¥äœçç«ç¹
+Preferences.Connection.Use_Proxy:æ¯åŠäœ¿çšä»£çè¿æ¥
+Preferences.General:åžžè§
+Preferences.General_Tooltip:è®Ÿå®åžžè§éŠéé¡¹
+Preferences.General.Email:çšæ·Email:
+Preferences.General.Email_Tooltip:èªåšäœ¿çšemailå°å
+Preferences.General.Font:å­äœïŒ
+Preferences.General.Font_Tooltip:GLIçé¢äœ¿çšçå­äœ
+Preferences.General.Interface_Language:çé¢è¯­èšïŒ
+Preferences.General.Interface_Language_Tooltip:éæ©è¯­èš
+Preferences.General.Restart_Required:å¿
+é¡»éå¯GLIæ¥å®æå èœœæ°çè¯­èšçé¢  
+Preferences.General.Manual_Restart_Required:è¯·éå¯GLIå®¢æ·ç«¯ä»¥æŽæ°å°ä¿®æ¹åçè¿æ¥è®Ÿçœ®ã  
+Preferences.General.Show_File_Size:æŸç€ºæä»¶å€§å°
+Preferences.General.Show_File_Size_Tooltip:åšworkspaceåæä»¶æ åæŸç€ºæä»¶å€§å°S
+Preferences.General.View_Extracted_Metadata:æ¥çæåçå
+æ°æ®
+Preferences.General.View_Extracted_Metadata_Tooltip:åšå
+æ°æ®è¡šéæŸç€ºgreenstoneæä»¶æåçå
+æ°æ®
+Preferences.Mode:æš¡åŒ
+Preferences.Mode_Tooltip:ç¹å»å
+¥å£éæ©åéçæäœçº§å«
+Preferences.Mode.Assistant:åŸä¹ŠéŠå©æ
+Preferences.Mode.Assistant_Description:äœ¿çšGreenstoneåŸä¹ŠéŠåçé¢çåºæ¬åèœïŒæ·»å æä»¶åå
+æ°æ®ïŒåå»ºå·²æèä¹ŠéåïŒåå»ºèä¹Šã
+Preferences.Mode.Librarian:åŸä¹ŠéŠå
+Preferences.Mode.Librarian_Description:æ­€é
+çœ®æäŸGLIçæ¥åžžäœ¿çšåèœïŒåå»ºåè®Ÿè®¡æ°æ¶èïŒåšæ¶èäž­æ·»å ææ¡£åå
+æ°æ®ïŒä»¥åæå»ºæ¶èã  
+Preferences.Mode.Expert:äžå®¶
+Preferences.Mode.Expert_Description:GreenstoneåŸä¹ŠéŠåçé¢äžå®¶çº§åèœïŒ It is recommended for users who are experienced with Greenstone, and are able to perform troubleshooting tasks that involve interpreting debugging output from PERL scripts. All features of the Greenstone Librarian Interface are enabled.
+Preferences.Warnings:è­Šå
+Preferences.Warnings_Tooltip:å¯çšæè
+åçšåç§è­Šåå¯¹è¯æ¡ã
+Preferences.Workflow:å·¥åº
+Preferences.Workflow_Tooltip:è®Ÿè®¡çé¢å·¥åº
+Preferences.Workflow.Predefined.Label:é¢ç¡®å®çå·¥åºã
+Preferences.Workflow.Title:å¯çšæ¥ççå€éæ¡
+#**********************
+#
+#**** PreviewCommandDialog *******
+PreviewCommandDialog.Instructions:é®å
+¥æåŒé¢è§éåçåœä»€.
+PreviewCommandDialog.Title:é¢è§åœä»€
+
+ShowPreviousCollection.Title:é¢è§ä»¥ååå»ºçéŠè  
+ShowPreviousCollection.Message:åç°äžäžªéè¯¯ïŒè¿äžªéŠèäžèœè¢«åå»ºãäœ æ­£åšé¢è§ä»¥ååå»ºçéŠè  
+#**********************
+#
+#***** Remote Greenstone Server *****
+RemoteGreenstoneServer.Authentication_Message:è¯·èŸå
+¥äœ çGreenstoneçšæ·ååå¯ç :
+RemoteGreenstoneServer.Authentication_Message_gs3:è¯·èŸå
+¥äœ çGreenstoneççšæ·ååå¯ç ïŒ  
+RemoteGreenstoneServer.Error:åœè¿è¡è¿äžªæäœäžäžªéè¯¯åçåšè¿çšGreenstoneæå¡åšäžé¢
+RemoteGreenstoneServer.Error_Title:è¿çšGreenstoneæå¡åšéè¯¯
+RemoteGreenstoneServer.Progress:è¿çšGreenstoneæå¡åšè¿çš:
+RemoteGreenstoneServer.Steal_Lock_Message:è¿äžªéåè¢«çšæ· '{0-User name}'éå®.
+#**********************
+#
+#***** Rename Prompt *****
+RenamePrompt.Name:åç§°ïŒ  
+RenamePrompt.Title:éæ°åœåæä»¶/æä»¶å€¹  
+#**********************
+#
+#***** Replace Prompt *****
+ReplacePrompt.Title:æ¿æ¢åœåæä»¶äžºâŠ  
+#**********************
+#
+#***** Save Collection Box *****
+SaveCollectionBox.File_Name:æä»¶å:
+SaveCollectionBox.Files_Of_Type:æä»¶ç±»å:
+SaveCollectionBox.Look_In:Look In:
+#**********************
+#
+#***** Save Progress Box *******
+SaveProgressDialog.Title:ä¿å­éå
+#*******************************
+#
+Server.QuitManual:çé¢æ æ³èªåšå
+³é­æå¡
+Server.QuitTimeOut:Greenstoneæ¬å°åŸä¹ŠéŠç³»ç»åš{0}ç§å
+æ²¡æååº\nèªåšå
+³é­åœä»€ã è¿èŠåç­{0}ç§åïŒ
+  
+Server.StartUpTimeOut:ç»¿å®ç³æ¬å°åŸä¹ŠéŠåš{0}ç§å
+æ²¡æååº\nå¯åšåœä»€ã è¿èŠåç­{0}ç§åïŒ  
+#
+#***** Sources *****
+Source.General:æŠèŠ
+#**********************
+#
+#***** Trees *****
+Tree.DownloadedFiles:äžèœœæä»¶
+Tree.Files:æä»¶
+Tree.Home:äž»ç®åœ ({0})
+Tree.Root:æ¬å°æä»¶ç©ºéŽ
+Tree.World:Greenstoneéåææ¡£
+#***********************
+#
+#***** Warning Dialog *****
+WarningDialog.Dont_Show_Again:äœ æ³åæ¬¡æŸç€ºè¿äžªè­Šåå?
+WarningDialog.Dont_Show_Again_Message:äžèŠæŸç€ºè¿äžªæ¶æ¯
+WarningDialog.Invalid_Value:äœ é®å
+¥çåŒæ æ.
+WarningDialog.Value:é®å
+¥åŒ:
+#
+#****** WGet *****
+WGet.Prompt:WGet éåå®¢æ·ç«¯
+#
+#****** Workflows *****
+Workflow.AllPanels:ææé¢æ¿
+Workflow.LocalSourceCollectionBuilding:æ¬å°æºéååå»º
+Workflow.DocumentEnriching:ææ¡£äž°å¯å
+
+
+#********GEMS******
+
+GEMS.Title:å
+æ°æ®éçGreenstone çŒèŸåš
+GEMS.OpenMetadataSetPrompt.Title:æåŒå
+æ°æ®é  
+GEMS.OpenMetadataSetPrompt.Open_Tooltip:æåŒæéå
+æ°æ®é  
+GEMS.Set_Description:å
+æ°æ®éæè¿°  
+GEMS.OpenMetadataSetPrompt.Open:æåŒ  
+GEMS.OpenMetadataSetPrompt.Available_Sets:ææçå
+æ°æ®é  
+GEMS.DeleteMetadataSetPrompt.Title:å é€æ°æ®é  
+GEMS.DeleteMetadataSetPrompt.Delete_Tooltip:å é€æéå
+æ°æ®é  
+GEMS.DeleteMetadataSetPrompt.Delete:å é€  
+GEMS.DeleteMetadataSetPrompt.Available_Sets:å¯å©çšçå
+æ°æ®é  
+GEMS.DeleteMetadataSetPrompt.Confirm_Delete:è¯·åšæ¹æ¡éæåŸæ¥ç¡®å®éèŠå é€çå
+æ°æ®é  
+GEMS.DeleteMetadataSetPrompt.No_Set:æ²¡çšéäž­ä»»äœæ°æ®é  
+GEMS.Confirm_Removal:äœ ç¡®å®äœ æ³å é€è¿äžª{0}?  
+GEMS.Confirm_Removal_Title:ç¡®è®€å é€  
+GEMS.Attribute:å±æ§  
+GEMS.Popup.AddElement:å¢å å
+çŽ   
+GEMS.Popup.DeleteElement:å é€å
+çŽ   
+GEMS.Popup.AddSubElement:å¢å å­å
+çŽ   
+GEMS.Popup.DeleteSubElement:å é€å­å
+çŽ   
+GEMS.NewMetadataSetPrompt.Title:æ°å
+æ°æ®é  
+GEMS.NewMetadataSetPrompt.Instructions:å¡«åäžåææ¬æ¡æ¥åå»ºäžäžªæ°çå
+æ°æ®éïŒ  
+GEMS.NewMetadataSetPrompt.Base_MetadataSet:è¿äžªå
+æ°æ®éåºäº:  
+GEMS.NewMetadataSetPrompt.Metadata_Title:å
+æ°æ®éæ é¢  
+GEMS.NewMetadataSetPrompt.Metadata_Namespace:å
+æ°æ®énamespaceïŒ  
+GEMS.NewMetadataSetPrompt.New_Metadata:æ°å
+æ°æ®é  
+GEMS.NewMetadataSetPrompt.Title_Error_Message:äžäžªæ°çå
+æ°æ®éå¿
+é¡»æ¥æäžäžªæ é¢  
+GEMS.NewMetadataSetPrompt.Title_Error:æ²¡çšæå®æ é¢  
+GEMS.NewMetadataSetPrompt.Namespace_Error_Message:äžäžªæ°çå
+æ°æ®éå¿
+é¡»æ¥æäžäžªnamespace  
+GEMS.NewMetadataSetPrompt.Namespace_Error:æ²¡ææå®Namespace  
+GEMS.SelectedLanguage:å¢å è¯­èšå±æ§  
+GEMS.Language:è¯­èš  
+GEMS.LanguageDependent:ä»å±è¯­èšå±æ§  
+GEMS.Attribute_Table:å±æ§  
+GEMS.Attribute_Deletion_Error:å±æ§å é€éè¯¯  
+GEMS.Attribute_Deletion_Error_Message:è¿äžªå±æ§æ¯å¿
+é¡»çïŒäžèœè¢«å é€  
+GEMS.Add_Lang_Depend_Attr_Error:å±æ§éè¯¯  
+GEMS.Add_Lang_Depend_Attr_Error_Message:æ²¡ææäŸ'language-dependent'å±æ§ïŒè¯·å äžè¿äžªå±æ§  
+GEMS.Attribute_Edition_Error:å±æ§çŒèŸéè¯¯  
+GEMS.Attribute_Edition_Error_Message:è¿äžªå±æ§æ¯å¿
+é¡»çïŒäžèœäžºç©º  
+GEMS.Confirm_Save:è¿äžªå
+æ°æ®éå·²ç»è¢«ä¿®æ¹ïŒäœ æ³ä¿å­åïŒ  
+GEMS.Confirm_Save_Title:ä¿å­å
+æ°æ®é  
+GEMS.Confirm_DeleteElement:äœ ç¡®å®åžæå é€è¿äžªå
+çŽ {0}åïŒ  
+GEMS.Confirm_DeleteElement_Title:å é€å
+çŽ   
+GEMS.File_Deletion_Error_Message:è¿äžªæä»¶äžèœè¢«å é€  
+GEMS.File_Deletion_Error:æä»¶å é€éè¯¯  
+GEMS.Namespace_Conflict_Message:è­ŠåïŒè¿äžªNamespaceå·²ç»è¢«å
+¶ä»å
+æ°æ®éäœ¿çšãç»§ç»­ïŒ  
+GEMS.Namespace_Conflict:Namespaceå²çª  
+GEMS.Move_Up:äžç§»  
+GEMS.Move_Down:äžç§»  
+GEMS.Cannot_Undo:(è¯¥è¡äžºäžèœæ€é)  
+
+GEMS.AttributeTable.Name:åç§°  
+GEMS.AttributeTable.Language:è¯­èš  
+GEMS.AttributeTable.Value:åŒ  
+GEMS.NewMetadataElementNamePrompt.Title:æ°å
+çŽ   
+GEMS.NewMetadataElementNamePrompt.Name:è¯·äžºæ°å
+çŽ åœå  
+GEMS.NewMetadataElementNamePrompt.SubTitle:æ°çå­å
+çŽ   
+GEMS.NewMetadataElementNamePrompt.SubName:è¯·äžºæ°çå­å
+çŽ åœå  
+GEMS.NewMetadataElementNamePrompt.Name_Error_Message:è¿äžªå
+çŽ çåå­å·²ç»å­åš  
+GEMS.NewMetadataElementNamePrompt.Name_Error:å
+çŽ åœåéè¯¯  
+GEMS.NewMetadataElementNamePrompt.EmptyName_Error_Message:äžäžªæ°çå
+çŽ å¿
+é¡»æ¥æäžäžªåç§°  
+
+
+GEMS.No_Set_Loaded:æ²¡æå èœœå
+æ°æ®éãè¯·äœ¿çšèå æä»¶->æ°å»º æ¥åå»ºäžäžªæ°éïŒæè
+ æä»¶->æåŒ æ¥æåŒäžäžªå·²å­åšçéã  
Index: main/tags/2.83/gli/classes/feedback.properties
===================================================================
--- main/tags/2.83/gli/classes/feedback.properties	(revision 21123)
+++ main/tags/2.83/gli/classes/feedback.properties	(revision 21123)
@@ -0,0 +1,264 @@
+TextComponent=Text Component
+true=True
+false=False
+Button=Button
+icon=icon
+NoImage=No Image
+ProgressBar=Progress Bar
+Slider=Slider
+Spinner=Spinner
+Label=Label
+ComboBox=Combo Box
+Selected=Selected
+NotSelected=Not Selected
+ToggleButton=Toggle Button
+MenuItem=Menu Item
+MenuBar=Menu Bar
+Window=Window
+Panel=Panel
+Scroller=Scroller
+OptionPane=Option Pane
+ViewPort=View Port
+Box=Box
+Splitters=Splitters
+List=List
+ColorChooser=Color Chooser
+PreviewPanel=Preview Panel
+ChooserPanels=Chooser Panels
+DesktopPane=Desktop Pane
+black=BLACK
+BLACK=BLACK
+blue=BLUE
+BLUE=BLUE
+cyan=CYAN
+CYAN=cyan
+gray=GRAY
+GRAY=GRAY
+green=GREEN
+GREEN=GREEN
+DARK_GRAY=DARK_GRAY
+darkGray=DARK_GRAY
+LIGHT_GRAY=LIGHT_GRAY
+lightGray=LIGHT_GRAY
+magenta=MAGENTA
+MAGENTA=MAGENTA
+orange=ORANGE
+ORANGE=ORANGE
+pink=PINK
+PINK=PINK
+red=RED
+RED=RED
+white=WHITE
+WHITE=WHITE
+YELLOW=YELLOW
+Table=Table
+row=Row
+ScrollerBar=Scroller Bar
+Tree=Tree
+Container=Container
+RootPane=Root Pane
+LayeredPane=Layered Pane
+InternalFrameTitlePane=Internal Frame Title Pane
+TableHeader=Table Header
+ToolBar=Tool Bar
+Conformation=Conformation
+ConformationText=Thank you for using this Send Feedback feature.\n\nDo you want to preview the report details you are about to send to us?\n
+Preview=Preview
+ConformationPreview=View information you about to send.
+Send=Send
+ConformationSend=Send all information inputted.
+Don'tSend=Don't Send
+NotSend=Not Send
+ConformationNotSend=Do not send all information inputted.
+content=content
+command=command
+feedback=feedback
+SendFeedback=Send Feedback
+SendFeedbackButton=Open Send feedback form
+SendFeedbackForm=Send Feedback Form
+FeedbackOpeningText=Feedback\n\nSending this report indicate that you have found the applications you were doing have some problems.You do not have to fill out the form -- any information will help.\n\nDescriptions:
+Whatkindofproblemisit=What kind of problem is it
+ContentError=Content Error
+ImageNotShow=Image Not Show
+StrangeBehaviour=Strange Behaviour
+SomethingUnexpectedHappen=Something Unexpected Happen
+HardToUse=Hard To Use
+Other=Other
+Howbadistheproblem=How bad is the problem
+Critical=Critical
+Serious=Serious
+Medium=Medium
+Minor=Minor
+Trivial=Trivial
+Doyouwanttosendthescreenshot=Do you want to send the screen shot
+Yes=Yes
+No=No
+FeedbackSendButton=Send all information inputted
+FeedbackNotSendButton=Do not send all information inputted
+FeedbackHelpText=How to report feedback\n\nYou do not have to fill in any of the form -- any information will help.\n\nClicking on thumbnail will allow you to draw scribble lines marking the problem and type more comments about it.\nIf you finish scribbling then you can click Finish Scribble which will take you back to Feedback form, or Send button which will send all the information you gave so far.\n\nYou can type your comment inside the comments text area.\n\nIf you go to any opened window and select screen shot then it will add the screen shot's thumbnail to problem details area.\n\nDetails... button will allow you to preview the xml files that are going to be send.\nSend button will send all the information away.
+FeedbackAboutText=About\n\nMany open source projects are under-utilised because normal users find the software they produce hard to use. The Send feedback button is an attempt by members of the Greenstone project to involve the users of Greenstone in making the software easier to use.\n\nEvery time you click a button in GLI, some information is collected about what you were doing in GLI at the time. This information can hopefully help the people working on the Greenstone project to figure out what caused the problems you had, and how to fix it.
+FeedbackPrivacyText=Privacy\n\nYour privacy is important to us. We assure you that we will take no information that can lead to your personal identification. Any information you provide will be used strictly for the research and for determining how to make Greenstone more usable, no other uses of the data will be allowed.\n\nNo information about anything other than GLI and the technology you use to view it (for example your screen size) will be taken.\n\nThe information we you provide will have a timestamp on it, and may be correlated with your activity within Greenstone around the time you made your complaint.
+Form=Form
+About=About
+Privacy=Privacy
+screen=screen
+ErrorLineAnd=ErrorLineAnd
+ErrorLineFor=ErrorLineFor
+Don'twanttosendscreenshot=Don't want to send the screenshot
+SendFeedback=Send Feedback
+CurrentlyOpenWindow=CurrentlyOpenWindow
+WindowActivated=Window Activated
+WindowOpened=Window Opened
+WindowClosed=Window Closed
+WindowDeactivated=Window Deactivated
+ChangeState=Change State
+Node=Node
+ValueChanged=ValueChanged
+Change=Change
+Inserted=Inserted
+Removed=Removed
+TreeStructuredChanged=Tree Structure Changed
+ItemStateChanged=Item State Changed
+ListChanged=List Changed
+ListContentsAdded=List Contents Added
+ListContentRemoved=List Content Removed
+ListValueChanged=List Value Changed
+MenuCanceled=Menu Canceled
+MenuDeselected=Menu Deselected
+MenuSelected=Menu Selected
+ColumnIndex=Column Index
+AddedToTable=Added to table
+ColumnIndexFrom=From column index
+MoveToColumnIndex=move to column index
+InTheTable=in the table
+RemovedFromTheTable= removed from the table
+ViewReport=View Report
+ViewFeedbackForm=View Feedback Form
+ViewHistoryState=View History State
+ViewCommandState=View Commands
+Close=Close
+ClosePreview=Close the preview window
+HISTORY=HISTORY
+BUGS=BUGS
+IDCode=IDCode
+LastViewedWindow=LastViewedWindow
+Optionals=Optionals
+Details=Details
+Type=Type
+Urgency=Urgency
+User=User
+Name=Name
+HomeDirectory=HomeDirectory
+WorkingDirectory=WorkingDirectory
+OpenFormTime=OpenFormTime
+SendFormTime=SendFormTime
+OperatingSystem=OperatingSystem
+JavaInformation=JavaInformation
+DefaultLocale=DefaultLocale
+Browser=Greenstone
+LocalHostName=LocalHostName
+LocalHostAddress=LocalHostAddress
+ScreenResolution=ScreenResolution
+ScreenShot=ScreenShot
+ErrorLineAndScreenShot=ErrorLineAndScreenShot
+ErrorLineForScreenShot=ErrorLineForScreenShot
+COMPONENT=COMPONENT
+Type=Type
+Title=Title
+Content=Content
+Visible=Visible
+Image=Image
+Date=Date
+Command=Command
+COMPONENTS=COMPONENTS
+LOG=LOG
+View=View
+Showwhereistheproblem=Show where is the problem
+ScreenShotLabel=Use the mouse to indicate where the problem occured. Click send once you finished.
+Rectangle=Rectangle
+RectangleToolTip=Tool to draw rectangle
+Arrow=Arrow
+ArrowToolTip=Tool to draw arrow line
+SendTheImage=Sending the image
+SMTPaddress=What is your SMTP address
+Emailaddress=What is your e-mail address
+SendAttachment=Hereby attached 2 jar files.Please download them at the same place and parser.jar is an executable jar file.\nPlease keep referencing to this ID Code\nID Code:
+Email=Email
+SMTP=SMTP
+HISTORYCOMMANDS=COMMANDS
+TotalMemory=TotalMemory
+MaxMemory=MaxMemory
+FreeMemory=FreeMemory
+ViewFileTitle=Viewing the XML file
+ViewFeedbackFile=View FeedbackInterface form file
+ViewFeedbackCommandFile=View feedback command's history file
+ViewFeedbackContentFile=View feedback's history file
+ViewContentFile=View History file
+ViewCommandFile=View Command's history file
+ParsingXMLText=Select the checkbox of the file you want to see
+View=View
+ViewToolTip=View the files selected from the check box
+CloseToolTip=Close this application
+ViewCode=Please enter the id code as written in your email
+COMMANDS=COMMANDS
+Pleasewait=Please wait this may take a while
+Java=Java
+InternalError=Sorry. There was an internal error while sending your message!Please make sure you connected to the internet.
+SendFailed=Send Failed.Please make sure you connected to the internet.Do you want to try again?
+Error=Error
+NotFoundProvider=Provider not Found!\n\nPlease enter your SMTP adress again
+NotFoundProvider2=Please enter the email address for that SMTP address.
+Emaillater=We will try to send this feedback documents next time you send another feedback document.
+ScreenShotDescription=ScreenShotDescription
+ProblemDetails=Problem Details :
+Size=Size
+Height=Height
+Width=Width
+Icon=Icon
+Viewfeedback=View Feedback
+Viewcontent=View Content
+Viewcommand=View Command
+Separator=Separator
+NoComponent=No Component (it's a null object)
+TitlePane=Metal Title Pane (Platform dependent)
+ToolTipText=ToolTipText
+Feedback=Feedback
+LookHistory=View History
+LookHistoryButton=View History of all the commands you've done
+RecreateEvent=Recreate the Event
+RecreateOpeningText=You can add your comments in the text area.Click the Screen Shot button to take the screenshot of this window.Click Send button once you finished recreating the event.
+SendRecreate=Send Recreate
+SaveRecreate=Save Recreate
+RecreateSaveButton=Save all the comments entered.
+Comment=Comment
+RecreateOption=Can you recreate the event that you want to report?
+RecreateTitle=Recreate Event
+Save=Save
+RecordReady=If you are ready to recreate the event click start.
+Start=Start
+StartRecreate=Start Recreate Event
+StartRecText=Start recording all the action you did.
+ViewFeedbackHistoryState=View Feedback History
+ViewFeedbackCommandState=View Feedback Command
+DLGmessage=We start recording every action you do now.
+Ok=Ok
+SnapShot=Screen Shot
+SnapShotText=SnapShotText
+SnapShotButton=Take screen shot of the window you are in now.
+ViewMovie=View Picture
+ViewMovieText=View all the sequence of action
+FramesPerSecond=Frames Per Second
+GenerateMovie=Frames sequences
+image=Image
+notfound=Not Found
+COMMENTS=COMMENTS
+Viewcomment=View comment
+ViewCommentFile=View Comment File
+SnapShotAppend=Screen Shot taken
+Start=Start
+Finish=Finish
+Sequences=Sequences
+Sequence=Sequence
+ImageDescription=ImageDescription
+
+
Index: main/tags/2.83/gli/classes/xml/CollectionConfig.xml
===================================================================
--- main/tags/2.83/gli/classes/xml/CollectionConfig.xml	(revision 21123)
+++ main/tags/2.83/gli/classes/xml/CollectionConfig.xml	(revision 21123)
@@ -0,0 +1,6 @@
+<?xml  version="1.0" encoding="UTF-8"?>
+
+<CollectionConfig
+       xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat" 
+       xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+</CollectionConfig>
Index: main/tags/2.83/gli/classes/xml/collect_cfg.xml
===================================================================
--- main/tags/2.83/gli/classes/xml/collect_cfg.xml	(revision 21123)
+++ main/tags/2.83/gli/classes/xml/collect_cfg.xml	(revision 21123)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE Configuration [
+  <!ELEMENT Configuration (Gatherer)>
+  <!ELEMENT Gatherer      (Workflow)>
+  <!ELEMENT Workflow      (Browse, Mirror, Import, Gather, Enrich, Design, Export, Preview)>
+  <!ELEMENT Browse        (#PCDATA)>
+  <!ELEMENT Mirror        (#PCDATA)>  
+  <!ELEMENT Gather        (#PCDATA)>
+  <!ELEMENT Enrich        (#PCDATA)>
+  <!ELEMENT Design        (#PCDATA)>
+  <!ELEMENT Export        (#PCDATA)>
+  <!ELEMENT Preview       (#PCDATA)>
+]>
+
+<Configuration>
+  <Gatherer>
+    <Workflow>
+	   <Browse  enabled="true"/>
+		<Mirror  enabled="true"/>
+		<Import  enabled="true"/>
+		<Gather  enabled="true"/>
+		<Enrich  enabled="true"/>
+		<Design  enabled="true"/>
+		<Export  enabled="true"/>
+		<Preview enabled="true"/>
+	 </Workflow>
+  </Gatherer>
+</Configuration>
+
+
Index: main/tags/2.83/gli/classes/xml/config.xml
===================================================================
--- main/tags/2.83/gli/classes/xml/config.xml	(revision 21123)
+++ main/tags/2.83/gli/classes/xml/config.xml	(revision 21123)
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE Configuration [
+  <!ELEMENT Configuration  (GathererConfig, Other, DirectoryMappings, Associations)>
+  <!ELEMENT GathererConfig (Argument*)>
+  <!ELEMENT Argument       (#PCDATA)>
+  <!ATTLIST Argument
+            name           CDATA #REQUIRED>
+  <!ELEMENT Other          (Info*)>
+  <!ELEMENT Info           (Name, Desc, Arguments)>
+  <!ELEMENT Arguments      (Option*)>
+  <!ELEMENT Option         (Name, Desc, Type, Required, Default?, List?)>
+  <!ELEMENT Type           (#PCDATA)>
+  <!ELEMENT Required       (#PCDATA)>
+  <!ELEMENT Default        (#PCDATA)>
+  <!ELEMENT List           (Value*)>
+  <!ELEMENT Value          (Name, Desc?)>
+  <!ELEMENT Name           (#PCDATA)>
+  <!ELEMENT Desc           (#PCDATA)>
+  <!ELEMENT DirectoryMappings (Mapping*)>
+  <!ELEMENT Mapping           (#PCDATA)>
+  <!ATTLIST Mapping 
+            name              CDATA #REQUIRED
+	    file              CDATA #REQUIRED>
+  <!ELEMENT Associations (Entry*)>
+  <!ELEMENT Entry (#PCDATA)>
+  <!ATTLIST Entry
+            extension CDATA #REQUIRED>
+]>
+
+<Configuration version="svn-trunk">
+  <GathererConfig>
+    <!-- ***** General Options: apply globally to the GLI execution. ***** -->
+    <!-- The location and size of the main Gatherer window. -->
+    <Argument name="general.bounds">0, 0, 800, 600</Argument>
+    <!-- Are we expected to produce a debug file. Can be overidden at start up. default = [false] -->
+    <Argument name="general.debug">false</Argument>
+    <Argument name="general.email"/>
+    <!-- The standard font used in the Gatherer. [Verdana, BOLD, 12] -->
+    <Argument name="general.font">Verdana, BOLD, 12</Argument>
+    <Argument name="general.library_url_gs2"/>
+    <Argument name="general.library_url_gs3"/>
+    <Argument name="general.locale">en_NZ</Argument>
+    <!-- How many folders deep should we recurse before suspecting a cyclic path? [40] -->
+    <Argument name="general.max_folder_depth">40</Argument>
+    <!-- The mode controls what level a detail is presented to the user - ranging from a basic, no regex, no perl experience up to complete details for all processes. The values, ranging from lowest to highest detail, are: 1 = Assistant, 2 = Librarian, 3 = Systems, 4 = Expert [default 2]-->
+    <Argument name="general.mode">2</Argument>
+    <Argument name="general.open_collection_gs2"></Argument>
+    <Argument name="general.open_collection_gs3"></Argument>
+    <!-- The application launching command used when previewing the collection. [default -blank-] -->
+    <Argument name="general.preview_program"></Argument>
+    <Argument name="general.proxy_host"></Argument>
+    <Argument name="general.proxy_port">80</Argument>
+    <Argument name="general.show_file_size">false</Argument>
+    <!-- Do we expect to connect to the internet via a proxy server. [false] -->
+    <Argument name="general.use_proxy">false</Argument>
+    <Argument name="general.view_extracted_metadata">true</Argument>
+
+    <!-- Greenstone 3-specific -->	
+    <Argument name="general.site_name">localsite</Argument>
+    <Argument name="general.servlet_path">/library</Argument>
+
+    <!-- Colouring -->
+    <Argument name="coloring.button_background">218, 237, 252</Argument>
+    <Argument name="coloring.button_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.button_selected_background">128, 180, 216</Argument>
+    <Argument name="coloring.button_selected_foreground">255, 255, 255</Argument>
+    <Argument name="coloring.collection_heading_background">176, 208, 176</Argument>  
+    <Argument name="coloring.collection_heading_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.collection_selection_background">128, 180, 216</Argument>
+    <Argument name="coloring.collection_selection_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.collection_tree_background">224, 240, 224</Argument>
+    <Argument name="coloring.collection_tree_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.collection_noneditable_background">192, 192, 192</Argument>
+    <Argument name="coloring.collection_noneditable_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.disabled">206, 206, 206</Argument>
+    <Argument name="coloring.editable_background">255, 255, 255</Argument>
+    <Argument name="coloring.editable_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.error_background">255, 0, 0</Argument>
+    <Argument name="coloring.error_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.scrollbar_background">192, 192, 192</Argument>
+    <Argument name="coloring.scrollbar_foreground">255, 255, 255</Argument>
+    <Argument name="coloring.workspace_heading_background">128, 180, 216</Argument>
+    <Argument name="coloring.workspace_heading_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.workspace_selection_background">176, 208, 176</Argument>
+    <Argument name="coloring.workspace_selection_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.workspace_tree_background">218, 237, 252</Argument>
+    <Argument name="coloring.workspace_tree_foreground">0, 0, 0</Argument>
+
+    <!-- Mirroring -->
+    <!-- Mirroring has many particular options. These show the default settings. -->
+    <Argument name="mirroring.depth">0</Argument>
+    <Argument name="mirroring.no_parents">true</Argument>
+    <Argument name="mirroring.other_hosts">false</Argument>
+    <Argument name="mirroring.overwrite">false</Argument>
+    <Argument name="mirroring.page_requisites">true</Argument>
+    <Argument name="mirroring.quiet">true</Argument>
+    <Argument name="mirroring.remove_failed">false</Argument>
+
+    <!-- Warnings -->
+    <!-- Warnings can be disabled by the user. -->
+    <Argument name="warning.CollectionBuilt">true</Argument>
+    <Argument name="warning.ScheduleBuilt">true</Argument>
+    <Argument name="warning.DirectoryLevelMetadata">true</Argument>
+    <Argument name="warning.ExtractedMetadata">true</Argument>
+    <Argument name="warning.MissingEXEC">true</Argument>
+    <Argument name="warning.MissingEXEC_GS3">true</Argument>
+    <Argument name="warning.MissingGSDL">true</Argument>
+    <Argument name="warning.MissingImageMagick">true</Argument>
+    <Argument name="warning.MissingPERL">true</Argument>
+    <Argument name="warning.NoPluginExpectedToProcessFile">true</Argument>
+    <Argument name="warning.LegacyCollection">true</Argument>
+    <Argument name="warning.MetadataSetNamespaceClash">true</Argument>
+    <Argument name="warning.ShowPreviousCollection">true</Argument>  
+
+    <!-- Workflow -->
+    <!-- Disabling a view here will cause it to be hidden from the Gatherer display. -->
+    <Argument name="workflow.download">true</Argument>
+    <Argument name="workflow.gather">true</Argument>
+    <Argument name="workflow.enrich">true</Argument>
+    <Argument name="workflow.design">true</Argument>
+    <Argument name="workflow.create">true</Argument>
+    <Argument name="workflow.format">true</Argument>
+    <Argument name="workflow.flax">true</Argument>
+
+    <Argument name="GEMS.Preferences.Selected_Languages">en</Argument>    
+  </GathererConfig>
+
+  <Other/>
+  <DirectoryMappings/>
+  <Associations>
+    <Entry extension="doc"/>
+    <Entry extension="gif"/>
+    <Entry extension="htm"/>
+    <Entry extension="html"/>
+    <Entry extension="jpg"/>
+    <Entry extension="jpeg"/>
+    <Entry extension="pdf"/>
+    <Entry extension="png"/>
+    <Entry extension="ps"/>
+    <Entry extension="rtf"/>
+    <Entry extension="txt"/>
+    <Entry extension="text"/>
+  </Associations>
+</Configuration>
Index: main/tags/2.83/gli/classes/xml/configRemote.xml
===================================================================
--- main/tags/2.83/gli/classes/xml/configRemote.xml	(revision 21123)
+++ main/tags/2.83/gli/classes/xml/configRemote.xml	(revision 21123)
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE Configuration [
+  <!ELEMENT Configuration  (GathererConfig, Other, DirectoryMappings, Associations)>
+  <!ELEMENT GathererConfig (Argument*)>
+  <!ELEMENT Argument       (#PCDATA)>
+  <!ATTLIST Argument
+            name           CDATA #REQUIRED>
+  <!ELEMENT Other          (Info*)>
+  <!ELEMENT Info           (Name, Desc, Arguments)>
+  <!ELEMENT Arguments      (Option*)>
+  <!ELEMENT Option         (Name, Desc, Type, Required, Default?, List?)>
+  <!ELEMENT Type           (#PCDATA)>
+  <!ELEMENT Required       (#PCDATA)>
+  <!ELEMENT Default        (#PCDATA)>
+  <!ELEMENT List           (Value*)>
+  <!ELEMENT Value          (Name, Desc?)>
+  <!ELEMENT Name           (#PCDATA)>
+  <!ELEMENT Desc           (#PCDATA)>
+  <!ELEMENT DirectoryMappings (Mapping*)>
+  <!ELEMENT Mapping           (#PCDATA)>
+  <!ATTLIST Mapping 
+            name              CDATA #REQUIRED
+	    file              CDATA #REQUIRED>
+  <!ELEMENT Associations (Entry*)>
+  <!ELEMENT Entry (#PCDATA)>
+  <!ATTLIST Entry
+            extension CDATA #REQUIRED>
+]>
+
+<Configuration version="svn-trunk">
+  <GathererConfig>
+    <!-- ***** General Options: apply globally to the GLI execution. ***** -->
+    <!-- The location and size of the main Gatherer window. -->
+    <Argument name="general.bounds">0, 0, 800, 600</Argument>
+    <!-- Are we expected to produce a debug file. Can be overidden at start up. default = [false] -->
+    <Argument name="general.debug">false</Argument>
+    <!-- The standard font used in the Gatherer. [Verdana, BOLD, 12] -->
+    <Argument name="general.font">Verdana, BOLD, 12</Argument>
+    <Argument name="general.gliserver_url"/>
+    <Argument name="general.library_url"/>
+    <Argument name="general.locale">en_NZ</Argument>
+    <!-- How many folders deep should we recurse before suspecting a cyclic path? [40] -->
+    <Argument name="general.max_folder_depth">40</Argument>
+    <!-- The mode controls what level a detail is presented to the user - ranging from a basic, no regex, no perl experience up to complete details for all processes. The values, ranging from lowest to highest detail, are: 1 = Assistant, 2 = Librarian, 3 = Systems, 4 = Expert [default 2]-->
+    <Argument name="general.mode">2</Argument>
+    <Argument name="general.open_collection"></Argument>
+    <!-- The application launching command used when previewing the collection. [default -blank-] -->
+    <Argument name="general.preview_program"></Argument>
+    <Argument name="general.proxy_host"></Argument>
+    <Argument name="general.proxy_port">80</Argument>
+    <Argument name="general.show_file_size">false</Argument>
+    <!-- Do we expect to connect to the internet via a proxy server. [false] -->
+    <Argument name="general.use_proxy">false</Argument>
+    <Argument name="general.view_extracted_metadata">true</Argument>
+
+    <!-- Greenstone 3-specific -->
+    <Argument name="general.site_name">localsite</Argument>
+    <Argument name="general.servlet_path">/library</Argument>	
+
+    <!-- Colouring -->
+    <Argument name="coloring.button_background">218, 237, 252</Argument>
+    <Argument name="coloring.button_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.button_selected_background">128, 180, 216</Argument>
+    <Argument name="coloring.button_selected_foreground">255, 255, 255</Argument>
+    <Argument name="coloring.collection_heading_background">176, 208, 176</Argument>  
+    <Argument name="coloring.collection_heading_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.collection_selection_background">128, 180, 216</Argument>
+    <Argument name="coloring.collection_selection_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.collection_tree_background">224, 240, 224</Argument>
+    <Argument name="coloring.collection_tree_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.collection_noneditable_background">192, 192, 192</Argument>
+    <Argument name="coloring.collection_noneditable_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.disabled">206, 206, 206</Argument>
+    <Argument name="coloring.editable_background">255, 255, 255</Argument>
+    <Argument name="coloring.editable_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.error_background">255, 0, 0</Argument>
+    <Argument name="coloring.error_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.scrollbar_background">192, 192, 192</Argument>
+    <Argument name="coloring.scrollbar_foreground">255, 255, 255</Argument>
+    <Argument name="coloring.workspace_heading_background">128, 180, 216</Argument>
+    <Argument name="coloring.workspace_heading_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.workspace_selection_background">176, 208, 176</Argument>
+    <Argument name="coloring.workspace_selection_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.workspace_tree_background">218, 237, 252</Argument>
+    <Argument name="coloring.workspace_tree_foreground">0, 0, 0</Argument>
+
+    <!-- Mirroring -->
+    <!-- Mirroring has many particular options. These show the default settings. -->
+    <Argument name="mirroring.depth">0</Argument>
+    <Argument name="mirroring.no_parents">true</Argument>
+    <Argument name="mirroring.other_hosts">false</Argument>
+    <Argument name="mirroring.overwrite">false</Argument>
+    <Argument name="mirroring.page_requisites">true</Argument>
+    <Argument name="mirroring.quiet">true</Argument>
+    <Argument name="mirroring.remove_failed">false</Argument>
+
+    <!-- Warnings -->
+    <!-- Warnings can be disabled by the user. -->
+    <Argument name="warning.CollectionBuilt">true</Argument>
+    <Argument name="warning.ScheduleBuilt">true</Argument>
+    <Argument name="warning.DirectoryLevelMetadata">true</Argument>
+    <Argument name="warning.ExtractedMetadata">true</Argument>
+    <Argument name="warning.InheritedMetadata">true</Argument>
+    <Argument name="warning.MissingEXEC">true</Argument>
+    <Argument name="warning.MissingGSDL">true</Argument>
+    <Argument name="warning.MissingGLIServer">true</Argument>
+    <Argument name="warning.MissingImageMagick">true</Argument>
+    <Argument name="warning.MissingPERL">true</Argument>
+    <Argument name="warning.NoMetadataSetsSelected">true</Argument>
+    <Argument name="warning.NoPluginExpectedToProcessFile">true</Argument>
+
+    <!-- Workflow -->
+    <!-- Disabling a view here will cause it to be hidden from the Gatherer display. -->
+    <Argument name="workflow.download">true</Argument>
+    <Argument name="workflow.gather">true</Argument>
+    <Argument name="workflow.enrich">true</Argument>
+    <Argument name="workflow.design">true</Argument>
+    <Argument name="workflow.create">true</Argument>
+    <Argument name="workflow.format">true</Argument>
+  </GathererConfig>
+
+  <Other/>
+  <DirectoryMappings/>
+  <Associations>
+    <Entry extension="doc"/>
+    <Entry extension="gif"/>
+    <Entry extension="htm"/>
+    <Entry extension="html"/>
+    <Entry extension="jpg"/>
+    <Entry extension="jpeg"/>
+    <Entry extension="pdf"/>
+    <Entry extension="png"/>
+    <Entry extension="ps"/>
+    <Entry extension="rtf"/>
+    <Entry extension="txt"/>
+    <Entry extension="text"/>
+  </Associations>
+</Configuration>
Index: main/tags/2.83/gli/classes/xml/fedora-config.xml
===================================================================
--- main/tags/2.83/gli/classes/xml/fedora-config.xml	(revision 21123)
+++ main/tags/2.83/gli/classes/xml/fedora-config.xml	(revision 21123)
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE Configuration [
+  <!ELEMENT Configuration  (GathererConfig, Other, DirectoryMappings, Associations)>
+  <!ELEMENT GathererConfig (Argument*)>
+  <!ELEMENT Argument       (#PCDATA)>
+  <!ATTLIST Argument
+            name           CDATA #REQUIRED>
+  <!ELEMENT Other          (Info*)>
+  <!ELEMENT Info           (Name, Desc, Arguments)>
+  <!ELEMENT Arguments      (Option*)>
+  <!ELEMENT Option         (Name, Desc, Type, Required, Default?, List?)>
+  <!ELEMENT Type           (#PCDATA)>
+  <!ELEMENT Required       (#PCDATA)>
+  <!ELEMENT Default        (#PCDATA)>
+  <!ELEMENT List           (Value*)>
+  <!ELEMENT Value          (Name, Desc?)>
+  <!ELEMENT Name           (#PCDATA)>
+  <!ELEMENT Desc           (#PCDATA)>
+  <!ELEMENT DirectoryMappings (Mapping*)>
+  <!ELEMENT Mapping           (#PCDATA)>
+  <!ATTLIST Mapping 
+            name              CDATA #REQUIRED
+	    file              CDATA #REQUIRED>
+  <!ELEMENT Associations (Entry*)>
+  <!ELEMENT Entry (#PCDATA)>
+  <!ATTLIST Entry
+            extension CDATA #REQUIRED>
+]>
+
+<Configuration version="2.74">
+  <GathererConfig>
+    <!-- ***** General Options: apply globally to the GLI execution. ***** -->
+    <!-- The location and size of the main Gatherer window. -->
+    <Argument name="general.bounds">0, 0, 800, 600</Argument>
+    <!-- Are we expected to produce a debug file. Can be overidden at start up. default = [false] -->
+    <Argument name="general.debug">false</Argument>
+    <Argument name="general.email"/>
+    <!-- The standard font used in the Gatherer. [Verdana, BOLD, 12] -->
+    <Argument name="general.font">Verdana, BOLD, 12</Argument>
+    <Argument name="general.library_url"/>
+    <Argument name="general.locale">en_NZ</Argument>
+    <!-- How many folders deep should we recurse before suspecting a cyclic path? [40] -->
+    <Argument name="general.max_folder_depth">40</Argument>
+    <!-- The mode controls what level a detail is presented to the user - ranging from a basic, no regex, no perl experience up to complete details for all processes. The values, ranging from lowest to highest detail, are: 1 = Assistant, 2 = Librarian, 3 = Systems, 4 = Expert [default 2]-->
+    <Argument name="general.mode">2</Argument>
+    <Argument name="general.open_collection"></Argument>
+    <!-- The application launching command used when previewing the collection. [default -blank-] -->
+    <Argument name="general.preview_program"></Argument>
+    <Argument name="general.proxy_host"></Argument>
+    <Argument name="general.proxy_port">80</Argument>
+    <Argument name="general.show_file_size">false</Argument>
+    <!-- Do we expect to connect to the internet via a proxy server. [false] -->
+    <Argument name="general.use_proxy">false</Argument>
+    <Argument name="general.view_extracted_metadata">true</Argument>
+
+    <!-- Greenstone 3-specific -->
+    <Argument name="general.site_name">localsite</Argument>
+    <Argument name="general.servlet_path">/library</Argument>
+	
+    <!-- Colouring -->
+    <Argument name="coloring.button_background">218, 237, 252</Argument>
+    <Argument name="coloring.button_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.button_selected_background">128, 180, 216</Argument>
+    <Argument name="coloring.button_selected_foreground">255, 255, 255</Argument>
+    <Argument name="coloring.collection_heading_background">99, 144, 161</Argument>  
+    <Argument name="coloring.collection_heading_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.collection_selection_background">128, 180, 216</Argument>
+    <Argument name="coloring.collection_selection_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.collection_tree_background">244, 244, 224</Argument>
+    <Argument name="coloring.collection_tree_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.collection_noneditable_background">192, 192, 192</Argument>
+    <Argument name="coloring.collection_noneditable_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.disabled">206, 206, 206</Argument>
+    <Argument name="coloring.editable_background">255, 255, 255</Argument>
+    <Argument name="coloring.editable_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.error_background">255, 0, 0</Argument>
+    <Argument name="coloring.error_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.scrollbar_background">192, 192, 192</Argument>
+    <Argument name="coloring.scrollbar_foreground">255, 255, 255</Argument>
+    <Argument name="coloring.workspace_heading_background">128, 180, 216</Argument>
+    <Argument name="coloring.workspace_heading_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.workspace_selection_background">176, 208, 176</Argument>
+    <Argument name="coloring.workspace_selection_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.workspace_tree_background">218, 237, 252</Argument>
+    <Argument name="coloring.workspace_tree_foreground">0, 0, 0</Argument>
+
+    <!-- Mirroring -->
+    <!-- Mirroring has many particular options. These show the default settings. -->
+    <Argument name="mirroring.depth">0</Argument>
+    <Argument name="mirroring.no_parents">true</Argument>
+    <Argument name="mirroring.other_hosts">false</Argument>
+    <Argument name="mirroring.overwrite">false</Argument>
+    <Argument name="mirroring.page_requisites">true</Argument>
+    <Argument name="mirroring.quiet">true</Argument>
+    <Argument name="mirroring.remove_failed">false</Argument>
+
+    <!-- Warnings -->
+    <!-- Warnings can be disabled by the user. -->
+    <Argument name="warning.CollectionBuilt">true</Argument>
+    <Argument name="warning.DirectoryLevelMetadata">true</Argument>
+    <Argument name="warning.ExtractedMetadata">true</Argument>
+    <Argument name="warning.MissingEXEC">true</Argument>
+    <Argument name="warning.MissingEXEC_GS3">true</Argument>
+    <Argument name="warning.MissingGSDL">true</Argument>
+    <Argument name="warning.MissingImageMagick">true</Argument>
+    <Argument name="warning.MissingPERL">true</Argument>
+    <Argument name="warning.NoPluginExpectedToProcessFile">true</Argument>
+    <Argument name="warning.LegacyCollection">true</Argument>
+    <Argument name="warning.MetadataSetNamespaceClash">true</Argument>
+    <Argument name="warning.ShowPreviousCollection">true</Argument>  
+
+    <!-- Workflow -->
+    <!-- Disabling a view here will cause it to be hidden from the Gatherer display. -->
+    <Argument name="workflow.download">true</Argument>
+    <Argument name="workflow.gather">true</Argument>
+    <Argument name="workflow.enrich">true</Argument>
+    <Argument name="workflow.design">true</Argument>
+    <Argument name="workflow.create">true</Argument>
+    <Argument name="workflow.format">false</Argument>
+    <Argument name="workflow.flax">true</Argument>
+
+    <Argument name="GEMS.Preferences.Selected_Languages">en</Argument>
+    <Argument name="GLI.Title">Fedora Librarian Interface</Argument>
+
+  </GathererConfig>
+
+  <Other/>
+  <DirectoryMappings/>
+  <Associations>
+    <Entry extension="doc"/>
+    <Entry extension="gif"/>
+    <Entry extension="htm"/>
+    <Entry extension="html"/>
+    <Entry extension="jpg"/>
+    <Entry extension="jpeg"/>
+    <Entry extension="pdf"/>
+    <Entry extension="png"/>
+    <Entry extension="ps"/>
+    <Entry extension="rtf"/>
+    <Entry extension="txt"/>
+    <Entry extension="text"/>
+  </Associations>
+</Configuration>
Index: main/tags/2.83/gli/classes/xml/fedora-configRemote.xml
===================================================================
--- main/tags/2.83/gli/classes/xml/fedora-configRemote.xml	(revision 21123)
+++ main/tags/2.83/gli/classes/xml/fedora-configRemote.xml	(revision 21123)
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE Configuration [
+  <!ELEMENT Configuration  (GathererConfig, Other, DirectoryMappings, Associations)>
+  <!ELEMENT GathererConfig (Argument*)>
+  <!ELEMENT Argument       (#PCDATA)>
+  <!ATTLIST Argument
+            name           CDATA #REQUIRED>
+  <!ELEMENT Other          (Info*)>
+  <!ELEMENT Info           (Name, Desc, Arguments)>
+  <!ELEMENT Arguments      (Option*)>
+  <!ELEMENT Option         (Name, Desc, Type, Required, Default?, List?)>
+  <!ELEMENT Type           (#PCDATA)>
+  <!ELEMENT Required       (#PCDATA)>
+  <!ELEMENT Default        (#PCDATA)>
+  <!ELEMENT List           (Value*)>
+  <!ELEMENT Value          (Name, Desc?)>
+  <!ELEMENT Name           (#PCDATA)>
+  <!ELEMENT Desc           (#PCDATA)>
+  <!ELEMENT DirectoryMappings (Mapping*)>
+  <!ELEMENT Mapping           (#PCDATA)>
+  <!ATTLIST Mapping 
+            name              CDATA #REQUIRED
+	    file              CDATA #REQUIRED>
+  <!ELEMENT Associations (Entry*)>
+  <!ELEMENT Entry (#PCDATA)>
+  <!ATTLIST Entry
+            extension CDATA #REQUIRED>
+]>
+
+<Configuration version="2.74">
+  <GathererConfig>
+    <!-- ***** General Options: apply globally to the GLI execution. ***** -->
+    <!-- The location and size of the main Gatherer window. -->
+    <Argument name="general.bounds">0, 0, 800, 600</Argument>
+    <!-- Are we expected to produce a debug file. Can be overidden at start up. default = [false] -->
+    <Argument name="general.debug">false</Argument>
+    <!-- The standard font used in the Gatherer. [Verdana, BOLD, 12] -->
+    <Argument name="general.font">Verdana, BOLD, 12</Argument>
+    <Argument name="general.gliserver_url"/>
+    <Argument name="general.library_url"/>
+    <Argument name="general.locale">en_NZ</Argument>
+    <!-- How many folders deep should we recurse before suspecting a cyclic path? [40] -->
+    <Argument name="general.max_folder_depth">40</Argument>
+    <!-- The mode controls what level a detail is presented to the user - ranging from a basic, no regex, no perl experience up to complete details for all processes. The values, ranging from lowest to highest detail, are: 1 = Assistant, 2 = Librarian, 3 = Systems, 4 = Expert [default 2]-->
+    <Argument name="general.mode">2</Argument>
+    <Argument name="general.open_collection"></Argument>
+    <!-- The application launching command used when previewing the collection. [default -blank-] -->
+    <Argument name="general.preview_program"></Argument>
+    <Argument name="general.proxy_host"></Argument>
+    <Argument name="general.proxy_port">80</Argument>
+    <Argument name="general.show_file_size">false</Argument>
+    <!-- Do we expect to connect to the internet via a proxy server. [false] -->
+    <Argument name="general.use_proxy">false</Argument>
+    <Argument name="general.view_extracted_metadata">true</Argument>
+
+    <!-- Greenstone 3-specific -->
+    <Argument name="general.site_name">localsite</Argument>
+    <Argument name="general.servlet_path">/library</Argument>
+
+    <!-- Colouring -->
+    <Argument name="coloring.button_background">218, 237, 252</Argument>
+    <Argument name="coloring.button_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.button_selected_background">128, 180, 216</Argument>
+    <Argument name="coloring.button_selected_foreground">255, 255, 255</Argument>
+    <Argument name="coloring.collection_heading_background">99, 144, 161</Argument>  
+    <Argument name="coloring.collection_heading_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.collection_selection_background">128, 180, 216</Argument>
+    <Argument name="coloring.collection_selection_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.collection_tree_background">244, 244, 224</Argument>
+    <Argument name="coloring.collection_tree_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.collection_noneditable_background">192, 192, 192</Argument>
+    <Argument name="coloring.collection_noneditable_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.disabled">206, 206, 206</Argument>
+    <Argument name="coloring.editable_background">255, 255, 255</Argument>
+    <Argument name="coloring.editable_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.error_background">255, 0, 0</Argument>
+    <Argument name="coloring.error_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.scrollbar_background">192, 192, 192</Argument>
+    <Argument name="coloring.scrollbar_foreground">255, 255, 255</Argument>
+    <Argument name="coloring.workspace_heading_background">128, 180, 216</Argument>
+    <Argument name="coloring.workspace_heading_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.workspace_selection_background">176, 208, 176</Argument>
+    <Argument name="coloring.workspace_selection_foreground">0, 0, 0</Argument>
+    <Argument name="coloring.workspace_tree_background">218, 237, 252</Argument>
+    <Argument name="coloring.workspace_tree_foreground">0, 0, 0</Argument>
+
+    <!-- Mirroring -->
+    <!-- Mirroring has many particular options. These show the default settings. -->
+    <Argument name="mirroring.depth">0</Argument>
+    <Argument name="mirroring.no_parents">true</Argument>
+    <Argument name="mirroring.other_hosts">false</Argument>
+    <Argument name="mirroring.overwrite">false</Argument>
+    <Argument name="mirroring.page_requisites">true</Argument>
+    <Argument name="mirroring.quiet">true</Argument>
+    <Argument name="mirroring.remove_failed">false</Argument>
+
+    <!-- Warnings -->
+    <!-- Warnings can be disabled by the user. -->
+    <Argument name="warning.CollectionBuilt">true</Argument>
+    <Argument name="warning.DirectoryLevelMetadata">true</Argument>
+    <Argument name="warning.ExtractedMetadata">true</Argument>
+    <Argument name="warning.InheritedMetadata">true</Argument>
+    <Argument name="warning.MissingEXEC">true</Argument>
+    <Argument name="warning.MissingGSDL">true</Argument>
+    <Argument name="warning.MissingGLIServer">true</Argument>
+    <Argument name="warning.MissingImageMagick">true</Argument>
+    <Argument name="warning.MissingPERL">true</Argument>
+    <Argument name="warning.NoMetadataSetsSelected">true</Argument>
+    <Argument name="warning.NoPluginExpectedToProcessFile">true</Argument>
+
+    <!-- Workflow -->
+    <!-- Disabling a view here will cause it to be hidden from the Gatherer display. -->
+    <Argument name="workflow.download">false</Argument>
+    <Argument name="workflow.gather">true</Argument>
+    <Argument name="workflow.enrich">true</Argument>
+    <Argument name="workflow.design">true</Argument>
+    <Argument name="workflow.create">true</Argument>
+    <Argument name="workflow.format">false</Argument>
+
+    <Argument name="GLI.Title">Fedora Librarian Interface</Argument>
+  </GathererConfig>
+
+  <Other/>
+  <DirectoryMappings/>
+  <Associations>
+    <Entry extension="doc"/>
+    <Entry extension="gif"/>
+    <Entry extension="htm"/>
+    <Entry extension="html"/>
+    <Entry extension="jpg"/>
+    <Entry extension="jpeg"/>
+    <Entry extension="pdf"/>
+    <Entry extension="png"/>
+    <Entry extension="ps"/>
+    <Entry extension="rtf"/>
+    <Entry extension="txt"/>
+    <Entry extension="text"/>
+  </Associations>
+</Configuration>
Index: main/tags/2.83/gli/classes/xml/gli.lck
===================================================================
--- main/tags/2.83/gli/classes/xml/gli.lck	(revision 21123)
+++ main/tags/2.83/gli/classes/xml/gli.lck	(revision 21123)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="ASCII" ?>
+
+<LockFile>
+  <User></User>
+  <Machine></Machine>
+  <Date></Date>
+</LockFile>
Index: main/tags/2.83/gli/classes/xml/languages.xml
===================================================================
--- main/tags/2.83/gli/classes/xml/languages.xml	(revision 21123)
+++ main/tags/2.83/gli/classes/xml/languages.xml	(revision 21123)
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE Languages [
+   <!ELEMENT Languages     (Language*)>
+   <!ELEMENT Language      (#PCDATA)>
+   <!-- name: The name of the language -->
+   <!-- code: The two letter language code -->
+   <!-- gs:   Does greenstone include support for this language? -->
+   <!-- gli:  Does gli have a dictionary for this language? -->
+   <!-- mds:  Does any metadata set include support for this language? -->
+   <!ATTLIST Language
+             name          CDATA #REQUIRED
+	     code          CDATA #REQUIRED
+	     gs            CDATA "false"
+	     gli           CDATA "false"
+	     mds           CDATA "false">
+]>
+
+<Languages>
+   <Language name="ABKHAZIAN"           code="AB">IBERO-CAUCASIAN</Language>
+   <Language name="AFAN(OROMO)"         code="OM">HAMITIC</Language>
+   <Language name="AFAR"                code="AA">HAMITIC</Language>
+   <Language name="AFRIKAANS"           code="AF">GERMANIC</Language>
+   <Language name="ALBANIAN"            code="SQ">INDO-EUROPEAN (OTHER)</Language>
+   <Language name="AMHARIC"             code="AM">SEMITIC</Language>
+   <Language name="ARABIC"              code="AR" gli="true" gs="true" mds="true">SEMITIC</Language>
+   <Language name="ARMENIAN"            code="HY" gs="true">INDO-EUROPEAN (OTHER)</Language>
+   <Language name="ASSAMESE"            code="AS">INDIAN</Language>
+   <Language name="AYMARA"              code="AY">AMERINDIAN</Language>
+   <Language name="AZERBAIJANI"         code="AZ">TURKIC/ALTAIC</Language>
+   <Language name="BASHKIR"             code="BA">TURKIC/ALTAIC</Language>
+   <Language name="BASQUE"              code="EU">BASQUE</Language>
+   <Language name="BENGALI(BANGLA)"     code="BN">INDIAN</Language>
+   <Language name="BHUTANI"             code="DZ">ASIAN</Language>
+   <Language name="BIHARI"              code="BH">INDIAN</Language>
+   <Language name="BISLAMA"             code="BI">[not given]</Language>
+   <Language name="BRETON"              code="BR">CELTIC</Language>
+   <Language name="BULGARIAN"           code="BG">SLAVIC</Language>
+   <Language name="BURMESE"             code="MY">ASIAN</Language>
+   <Language name="BYELORUSSIAN"        code="BE">SLAVIC</Language>
+   <Language name="CAMBODIAN"           code="KM">ASIAN</Language>
+   <Language name="CATALAN"             code="CA" gli="true">ROMANCE</Language>
+   <Language name="CHINESE-SIMPLIFIED"  code="ZH" gli="true" gs="true" mds="true">ASIAN</Language>
+   <Language name="CHINESE-TRADITIONAL" code="ZH-TR" gs="true">ASIAN</Language>
+   <Language name="CORSICAN"            code="CO">ROMANCE</Language>
+   <Language name="CROATIAN"            code="HR" gs="true">SLAVIC</Language>
+   <Language name="CZECH"               code="CS" gs="true" mds="true">SLAVIC</Language>
+   <Language name="DANISH"              code="DA">GERMANIC</Language>
+   <Language name="DUTCH"               code="NL" gs="true" mds="true">GERMANIC</Language>
+   <Language name="ENGLISH"             code="EN" gs="true" gli="true" mds="true">GERMANIC</Language>
+   <Language name="ESPERANTO"           code="EO">INTERNATIONAL AUX.</Language>
+   <Language name="ESTONIAN"            code="ET">FINNO-UGRIC</Language>
+   <Language name="FAROESE"             code="FO">GERMANIC</Language>
+   <Language name="FIJI"                code="FJ">OCEANIC/INDONESIAN</Language>
+   <Language name="FINNISH"             code="FI" gs="true" mds="true">FINNO-UGRIC</Language>
+   <Language name="FRENCH"              code="FR" gs="true" gli="true" mds="true">ROMANCE</Language>
+   <Language name="FRISIAN"             code="FY">GERMANIC</Language>
+   <Language name="GALICIAN"            code="GL" gs="true">ROMANCE</Language>
+   <Language name="GEORGIAN"            code="KA">IBERO-CAUCASIAN</Language>
+   <Language name="GERMAN"              code="DE" gs="true">GERMANIC</Language>
+   <Language name="GREEK"               code="EL" gs="true" gli="true">LATIN/GREEK</Language>
+   <Language name="GREENLANDIC"         code="KL">ESKIMO</Language>
+   <Language name="GUARANI"             code="GN">AMERINDIAN</Language>
+   <Language name="GUJARATI"            code="GU">INDIAN</Language>
+   <Language name="HAUSA"               code="HA">NEGRO-AFRICAN</Language>
+   <Language name="HEBREW"              code="HE" gs="true">SEMITIC</Language>
+   <Language name="HINDI"               code="HI" gs="true">INDIAN</Language>
+   <Language name="HUNGARIAN"           code="HU">FINNO-UGRIC</Language>
+   <Language name="ICELANDIC"           code="IS">GERMANIC</Language>
+   <Language name="INDONESIAN"          code="ID" gs="true">OCEANIC/INDONESIAN</Language>
+   <Language name="INTERLINGUA"         code="IA" mds="true">INTERNATIONAL AUX.</Language>
+   <Language name="INTERLINGUE"         code="IE">INTERNATIONAL AUX.</Language>
+   <Language name="INUKTITUT"           code="IU">[        ]</Language>
+   <Language name="INUPIAK"             code="IK">ESKIMO</Language>
+   <Language name="IRISH"               code="GA">CELTIC</Language>
+   <Language name="ITALIAN"             code="IT" gs="true">ROMANCE</Language>
+   <Language name="JAPANESE"            code="JA" gs="true">ASIAN</Language>
+   <Language name="JAVANESE"            code="JV">OCEANIC/INDONESIAN</Language>
+   <Language name="KANNADA"             code="KN" gs="true" gli="true" mds="true">DRAVIDIAN</Language>
+   <Language name="KASHMIRI"            code="KS">INDIAN</Language>
+   <Language name="KAZAKH"              code="KK" gs="true" gli="true">TURKIC/ALTAIC</Language>
+   <Language name="KINYARWANDA"         code="RW">NEGRO-AFRICAN</Language>
+   <Language name="KIRGHIZ"             code="KY">TURKIC/ALTAIC</Language>
+   <Language name="KOREAN"              code="KO">ASIAN</Language>
+   <Language name="KURDISH"             code="KU">IRANIAN</Language>
+   <Language name="KURUNDI"             code="RN">NEGRO-AFRICAN</Language>
+   <Language name="LAOTHIAN"            code="LO">ASIAN</Language>
+   <Language name="LATIN"               code="LA">LATIN/GREEK</Language>
+   <Language name="LATVIAN (LETTISH)"   code="LV" gli="true">BALTIC</Language>
+   <Language name="LINGALA"             code="LN">NEGRO-AFRICAN</Language>
+   <Language name="LITHUANIAN"          code="LT">BALTIC</Language>
+   <Language name="MACEDONIAN"          code="MK">SLAVIC</Language>
+   <Language name="MALAGASY"            code="MG">OCEANIC/INDONESIAN</Language>
+   <Language name="MALAY"               code="MS">OCEANIC/INDONESIAN</Language>
+   <Language name="MALAYALAM"           code="ML">DRAVIDIAN</Language>
+   <Language name="MALTESE"             code="MT">SEMITIC</Language>
+   <Language name="MAORI"               code="MI" gs="true" mds="true">OCEANIC/INDONESIAN</Language>
+   <Language name="MARATHI"             code="MR" gs="true" gli="true" mds="true">INDIAN</Language>
+   <Language name="MOLDAVIAN"           code="MO">ROMANCE</Language>
+   <Language name="MONGOLIAN"           code="MN">[not given]</Language>
+   <Language name="NAURU"               code="NA">[not given]</Language>
+   <Language name="NEPALI"              code="NE">INDIAN</Language>
+   <Language name="NORWEGIAN"           code="NO">GERMANIC</Language>
+   <Language name="OCCITAN"             code="OC">ROMANCE</Language>
+   <Language name="ORIYA"               code="OR">INDIAN</Language>
+   <Language name="PASHTO(PUSHTO)"      code="PS">IRANIAN</Language>
+   <Language name="PERSIAN(FARSI)"      code="FA" gli="true" mds="true">IRANIAN</Language>
+   <Language name="POLISH"              code="PL">SLAVIC</Language>
+   <Language name="PORTUGUESE"          code="PT" gs="true">ROMANCE</Language>
+   <Language name="PUNJABI"             code="PA">INDIAN</Language>
+   <Language name="QUECHUA"             code="QU">AMERINDIAN</Language>
+   <Language name="RHAETO-ROMANCE"      code="RM">ROMANCE</Language>
+   <Language name="ROMANIAN"            code="RO" gs="true" gli="true">ROMANCE</Language>
+   <Language name="RUSSIAN"             code="RU" gs="true" gli="true" mds="true">SLAVIC</Language>
+   <Language name="SAMOAN"              code="SM">OCEANIC/INDONESIAN</Language>
+   <Language name="SANGHO"              code="SG">NEGRO-AFRICAN</Language>
+   <Language name="SANSKRIT"            code="SA">INDIAN</Language>
+   <Language name="SCOTS(GAELIC)"       code="GD">CELTIC</Language>
+   <Language name="SERBIAN"             code="SR">SLAVIC</Language>
+   <Language name="SERBO-CROATIAN"      code="SH">SLAVIC</Language>
+   <Language name="SESOTHO"             code="ST">NEGRO-AFRICAN</Language>
+   <Language name="SETSWANA"            code="TN">NEGRO-AFRICAN</Language>
+   <Language name="SHONA"               code="SN">NEGRO-AFRICAN</Language>
+   <Language name="SINDHI"              code="SD">INDIAN</Language>
+   <Language name="SINGHALESE"          code="SI">INDIAN</Language>
+   <Language name="SISWATI"             code="SS">NEGRO-AFRICAN</Language>
+   <Language name="SLOVAK"              code="SK">SLAVIC</Language>
+   <Language name="SLOVENIAN"           code="SL">SLAVIC</Language>
+   <Language name="SOMALI"              code="SO">HAMITIC</Language>
+   <Language name="SPANISH"             code="ES" gs="true" gli="true" mds="true">ROMANCE</Language>
+   <Language name="SUNDANESE"           code="SU">OCEANIC/INDONESIAN</Language>
+   <Language name="SWAHILI"             code="SW">NEGRO-AFRICAN</Language>
+   <Language name="SWEDISH"             code="SV">GERMANIC</Language>
+   <Language name="TAGALOG"             code="TL">OCEANIC/INDONESIAN</Language>
+   <Language name="TAJIK"               code="TG">IRANIAN</Language>
+   <Language name="TAMIL"               code="TA" gs="true" gli="true" mds="true">DRAVIDIAN</Language>
+   <Language name="TATAR"               code="TT">TURKIC/ALTAIC</Language>
+   <Language name="TELUGU"              code="TE">DRAVIDIAN</Language>
+   <Language name="THAI"                code="TH" gs="true" gli="true" mds="true">ASIAN</Language>
+   <Language name="TIBETAN"             code="BO">ASIAN</Language>
+   <Language name="TIGRINYA"            code="TI">SEMITIC</Language>
+   <Language name="TONGA"               code="TO">OCEANIC/INDONESIAN</Language>
+   <Language name="TSONGA"              code="TS">NEGRO-AFRICAN</Language>
+   <Language name="TURKISH"             code="TR" gs="true">TURKIC/ALTAIC</Language>
+   <Language name="TURKMEN"             code="TK">TURKIC/ALTAIC</Language>
+   <Language name="TWI"                 code="TW">NEGRO-AFRICAN</Language>
+   <Language name="UIGUR"               code="UG">[       ]</Language>
+   <Language name="UKRAINIAN"           code="UK" gs="true">SLAVIC</Language>
+   <Language name="URDU"                code="UR">INDIAN</Language>
+   <Language name="UZBEK"               code="UZ">TURKIC/ALTAIC</Language>
+   <Language name="VIETNAMESE"          code="VI" gli="true">ASIAN</Language>
+   <Language name="VOLAPUK"             code="VO">INTERNATIONAL AUX.</Language>
+   <Language name="WELSH"               code="CY">CELTIC</Language>
+   <Language name="WOLOF"               code="WO">NEGRO-AFRICAN</Language>
+   <Language name="XHOSA"               code="XH">NEGRO-AFRICAN</Language>
+   <Language name="YIDDISH"             code="YI">GERMANIC [*Changed 1989 from original ISO 639:1988, JI]</Language>
+   <Language name="YORUBA"              code="YO">NEGRO-AFRICAN</Language>
+   <Language name="ZHUANG"              code="ZA">[       ]</Language>
+   <Language name="ZULU"                code="ZU">NEGRO-AFRICAN</Language>
+</Languages>
Index: main/tags/2.83/gli/classes/xml/metadata.xml
===================================================================
--- main/tags/2.83/gli/classes/xml/metadata.xml	(revision 21123)
+++ main/tags/2.83/gli/classes/xml/metadata.xml	(revision 21123)
@@ -0,0 +1,3 @@
+<?xml version="1.0"  encoding="UTF-8" standalone="no"?>
+<!DOCTYPE DirectoryMetadata SYSTEM "http://greenstone.org/dtd/DirectoryMetadata/1.0/DirectoryMetadata.dtd">
+<DirectoryMetadata/>
Index: main/tags/2.83/gli/classes/xml/profile.xml
===================================================================
--- main/tags/2.83/gli/classes/xml/profile.xml	(revision 21123)
+++ main/tags/2.83/gli/classes/xml/profile.xml	(revision 21123)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE Profiles [
+<!ELEMENT Profiles (Action*)>
+<!ELEMENT Action (#PCDATA)>
+<!ATTLIST Action
+                source     CDATA #REQUIRED
+                target     CDATA "">
+]>
+<Profiles>
+</Profiles>
Index: main/tags/2.83/gli/classes/xml/template.col
===================================================================
--- main/tags/2.83/gli/classes/xml/template.col	(revision 21123)
+++ main/tags/2.83/gli/classes/xml/template.col	(revision 21123)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE GathererCollection [
+  <!ELEMENT GathererCollection (Argument*, GathererConfig, BuildConfig)>
+  <!ELEMENT GathererConfig    (Arguments*)>
+  <!ELEMENT BuildConfig       (Build, Import)>
+  <!ELEMENT Build             (Arguments*)>
+  <!ELEMENT Import            (Arguments*)>
+  <!ELEMENT Schedule 	      (Arguments*)> 
+  <!ELEMENT Argument          (#PCDATA)>
+  <!ATTLIST Argument
+            name              CDATA #REQUIRED
+				enabled           CDATA "true">
+]>
+
+<GathererCollection>
+  <Argument name="built">false</Argument>
+  <Argument name="imported">false</Argument>
+  <Argument name="skimfile">true</Argument>
+  <GathererConfig/>
+  <BuildConfig>
+    <Build/>
+	<Import/>
+	<Schedule/>
+  </BuildConfig>
+</GathererCollection>
+
+
+
Index: main/tags/2.83/gli/classes/xml/template.mds
===================================================================
--- main/tags/2.83/gli/classes/xml/template.mds	(revision 21123)
+++ main/tags/2.83/gli/classes/xml/template.mds	(revision 21123)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE MetadataSet SYSTEM "http://www.greenstone.org/dtd/MetadataSet/1.0/MetadataSet.dtd">
+<MetadataSet>
+</MetadataSet>
Index: main/tags/2.83/gli/classes/xml/workflows.xml
===================================================================
--- main/tags/2.83/gli/classes/xml/workflows.xml	(revision 21123)
+++ main/tags/2.83/gli/classes/xml/workflows.xml	(revision 21123)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE PredefinedWorkflows [
+  <!ELEMENT PredefinedWorkflows (Workflow*)>
+  <!ELEMENT Workflow            (#PCDATA)>
+  <!ATTLIST Workflow
+	download			  CDATA "true"
+	gather				  CDATA "true"
+	enrich				  CDATA "true"
+	design				  CDATA "true"
+	create				  CDATA "true"
+	export				  CDATA "true">
+]>
+
+<PredefinedWorkflows>
+  <Workflow>Workflow.AllPanels</Workflow>
+  <Workflow download="false">Workflow.LocalSourceCollectionBuilding</Workflow>
+  <Workflow design="false" create="false">Workflow.DocumentEnriching</Workflow>
+</PredefinedWorkflows>
Index: main/tags/2.83/gli/clean.bat
===================================================================
--- main/tags/2.83/gli/clean.bat	(revision 21123)
+++ main/tags/2.83/gli/clean.bat	(revision 21123)
@@ -0,0 +1,53 @@
+@echo off
+set GLILANG=en
+
+
+::  -------- Clean up the Greenstone Librarian Interface directory --------
+
+:: This script must be run from within the directory in which it lives
+if exist clean.bat goto cleanGLI
+    if "%GLILANG%" == "en" echo This script must be run from the directory in which it resides.
+    if "%GLILANG%" == "es" echo Este gui¢n deber  ejecutarse desde el directorio en el que reside.
+    if "%GLILANG%" == "fr" echo Ce script doit tre excut 
+ partir du rpertoire dans lequel il se trouve.
+    if "%GLILANG%" == "ru" echo â®â áªàš¯â €®«Š¥­ ¡ëâì ¢§ïâ š§ €šà¥ªâ®àšš, ¢ ª®â®à®© ®­ à á¯®«®Š¥­
+    goto exit
+
+
+:cleanGLI
+:: ---- Remove class files ----
+echo.
+if "%GLILANG%" == "en" echo Removing the Greenstone Librarian Interface class files...
+if "%GLILANG%" == "es" echo Eliminando los archivos de clase de la Interfaz de la Biblioteca Digital Greenstone...
+if "%GLILANG%" == "fr" echo Suppression des fichiers de classe de Greenstone Librarian Interface
+if "%GLILANG%" == "ru" echo € «¥­š¥ ä ©«®¢ ª« áá  ¡š¡«š®â¥ç­®£® š­â¥àä¥©á  Greenstone
+
+if not exist classes\org\greenstone\gatherer goto done
+
+cd classes\org\greenstone\gatherer
+if exist "*.class" del "*.class"
+if exist "cdm\*.class" del "cdm\*.class"
+if exist "collection\*.class" del "collection\*.class"
+if exist "download\*.class" del "download\*.class"
+if exist "feedback\*.class" del "feedback\*.class"
+if exist "file\*.class" del "file\*.class"
+if exist "gems\*.class" del "gems\*.class"
+if exist "greenstone\*.class" del "greenstone\*.class"
+if exist "greenstone3\*.class" del "greenstone3\*.class"
+if exist "gui\*.class" del "gui\*.class"
+if exist "gui\metaaudit\*.class" del "gui\metaaudit\*.class"
+if exist "gui\tree\*.class" del "gui\tree\*.class"
+if exist "metadata\*.class" del "metadata\*.class"
+if exist "remote\*.class" del "remote\*.class"
+if exist "shell\*.class" del "shell\*.class"
+if exist "util\*.class" del "util\*.class"
+cd ..\..\..\..
+
+:done
+if "%GLILANG%" == "en" echo Done!
+if "%GLILANG%" == "es" echo ­Hecho!
+if "%GLILANG%" == "fr" echo Termin!
+if "%GLILANG%" == "ru" echo ë¯®«­¥­®!
+
+:exit
+echo.
Index: main/tags/2.83/gli/clean.sh
===================================================================
--- main/tags/2.83/gli/clean.sh	(revision 21123)
+++ main/tags/2.83/gli/clean.sh	(revision 21123)
@@ -0,0 +1,31 @@
+#!/bin/sh
+glilang=en
+
+##  -------- Clean up the Greenstone Librarian Interface directory --------
+
+## ---- Remove class files ----
+echo
+if [ "$glilang" = "es" ]; then
+    echo "Eliminando los archivos de clase de la Interfaz de la Biblioteca "
+    echo "Digital Greenstone..."
+elif [ "$glilang" = "fr" ]; then
+    echo "Suppression des fichiers de classe de Greenstone Librarian Interface"
+elif [ "$glilang" = "ru" ]; then
+    echo "õÄÁÌÅÎÉÅ ÆÁÊÌÏ× ËÌÁÓÓÁ ÂÉÂÌÉÏÔÅÞÎÏÇÏ ÉÎÔÅÒÆÅÊÓÁ Greenstone"
+else
+    echo "Removing the Greenstone Librarian Interface class files..."
+fi
+
+rm -rf GLI.jar
+rm -rf classes/org/greenstone/gatherer/*
+
+if [ "$glilang" = "es" ]; then
+    echo "¡Hecho!"
+elif [ "$glilang" = "fr" ]; then
+    echo "Terminé!"
+elif [ "$glilang" = "ru" ]; then
+    echo "÷ÙÐÏÌÎÅÎÏ!"
+else
+    echo "Done!"
+fi
+echo
Index: main/tags/2.83/gli/client-fli.bat
===================================================================
--- main/tags/2.83/gli/client-fli.bat	(revision 21123)
+++ main/tags/2.83/gli/client-fli.bat	(revision 21123)
@@ -0,0 +1,14 @@
+@echo off
+
+set PROGNAME=Fedora
+set PROGNAME_EN=Fedora Librarian Interface
+set PROGABBR=FLI
+
+:: run GLI in fedora mode
+client-gli.bat -fedora %*
+
+:done
+:: ---- Clean up ----
+set PROGNAME_EN=
+set PROGABBR=
+set PROGNAME=
Index: main/tags/2.83/gli/client-fli.sh
===================================================================
--- main/tags/2.83/gli/client-fli.sh	(revision 21123)
+++ main/tags/2.83/gli/client-fli.sh	(revision 21123)
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+PROGNAME="Fedora"
+export PROGNAME
+
+PROGNAME_EN="Fedora Librarian Interface"
+export PROGNAME_EN
+
+PROGABBR="FLI"
+export PROGABBR
+
+# run GLI in fedora mode
+./client-gli.sh -fedora $*
Index: main/tags/2.83/gli/client-gli.bat
===================================================================
--- main/tags/2.83/gli/client-gli.bat	(revision 21123)
+++ main/tags/2.83/gli/client-gli.bat	(revision 21123)
@@ -0,0 +1,125 @@
+@echo off
+pushd "%CD%"
+CD /D "%~dp0"
+set GLILANG=en
+set GLIMODE=client
+
+if "%PROGNAME%" == "" set PROGNAME=Greenstone
+
+if not "%PROGFULLNAME%" == "" goto setvars
+if "%GLILANG%" == "es" set PROGFULLNAME="Biblioteca Digital Greenstone"  
+if "%GLILANG%" == "fr" set PROGFULLNAME="Bibliothécaire Greenstone"
+if "%GLILANG%" == "ru" set PROGFULLNAME="ÉÎÔÅÒÆÅÊÓ Greenstone"
+:: if the PROGFULLNAME is still not set, then set the language to English
+if "%PROGFULLNAME%" == "" set PROGNAME=Greenstone Digital Library
+  
+
+:setvars
+if "%PROGABBR%" == "" set PROGABBR=GLI
+if "%PROGNAME_EN%" == "" set PROGNAME_EN=Greenstone Librarian Interface
+
+::  -------- Run the Greenstone Librarian Interface --------
+
+:: This script must be run from within the directory in which it lives
+if exist client-gli.bat goto start
+    if "%GLILANG%" == "en" echo This script must be run from the directory in which it resides.
+    if "%GLILANG%" == "es" echo Este gui¢n deber  ejecutarse desde el directorio en el que reside.
+    if "%GLILANG%" == "fr" echo Ce script doit tre excut 
+ partir du rpertoire dans lequel il se trouve.
+    if "%GLILANG%" == "ru" echo â®â áªàš¯â €®«Š¥­ ¡ëâì ¢§ïâ š§ €šà¥ªâ®àšš, ¢ ª®â®à®© ®­ à á¯®«®Š¥­
+    goto exit
+
+:start
+if "%OS%" == "Windows_NT" goto findGSDL
+    :: Invoke a new command processor to ensure there's enough environment space
+    if "%1" == "Second" goto findGSDL
+        command /E:2048 /C %0 Second %1 %2 %3 %4 %5 %6 %7 %8 %9
+        goto done
+
+:findGSDL
+:: Try to detect a local GSDLHOME installation (gs2build). If none can be
+:: found, then client-gli won't have a download panel. We're calling 
+:: findgsdl.bat purely for knowing if there's a GSDLHOME around and to set and
+:: use that for downloading. If there IS a local GSDLHOME, then we can download
+:: (and build) locally, but ONLY if we have perl. Else downloading and building
+:: will have to be done remotely anyway. If Perl is found, PERLPATH will be set.
+call findgsdl.bat
+if "%GSDLHOME%" == "" goto findJava
+	call findperl.bat
+
+:findJava
+:: Need to find Java. If found, JAVA_EXECUTABLE will be set
+call findjava.bat
+if "%JAVA_EXECUTABLE%" == "" goto exit
+
+:checkGLI
+:: ---- Check that the GLI has been compiled ----
+if exist "classes/org/greenstone/gatherer/Gatherer.class" goto runGLI
+if exist "GLI.jar" goto runGLI
+    echo.
+    if "%GLILANG%" == "en" echo You need to compile the %PROGNAME_EN% (using makegli.bat)
+    if "%GLILANG%" == "en" echo before running this script.
+
+    if "%GLILANG%" == "es" echo Usted necesita compilar la Interfaz de la %PROGFULLNAME%
+    if "%GLILANG%" == "es" echo (por medio de makegli.bat) antes de ejecutar este gui¢n.
+
+    if "%GLILANG%" == "fr" echo Vous devez compiler le %PROGNAME% Interface (en utilisant makegil.bat)
+    if "%GLILANG%" == "fr" echo avant d'excuter ce script.
+
+    if "%GLILANG%" == "ru" echo ë €®«Š­ë ª®¬¯š«šà®¢ âì ¡š¡«š®â¥ç­ë© š­â¥àä¥©á %PROGNAME% (šá¯®«ì§ãï makegli.bat)
+    if "%GLILANG%" == "ru" echo ¯¥à¥€ ¢¢®€®¬ íâ®£® áªàš¯â 
+    goto exit
+
+
+:runGLI
+:: ---- Finally, run the GLI ----
+echo.
+
+
+if "%GLILANG%" == "en" echo Running the %PROGNAME_EN%...
+if "%GLILANG%" == "es" echo Ejecutando la Interfaz de la %PROGFULLNAME%...
+if "%GLILANG%" == "fr" echo Excution de %PROGNAME_EN%
+if "%GLILANG%" == "ru" echo ¥ªãéš© ¡š¡«š®â¥ç­ë© š­â¥àä¥©á %PROGNAME%...
+
+:: -Xms32M          To set minimum memory
+:: -Xmx32M          To set maximum memory
+:: -verbose:gc      To set garbage collection messages
+:: -Xincgc          For incremental garbage collection
+:: -Xprof           Function call profiling
+:: -Xloggc:<file>   Write garbage collection log
+
+
+:: If there's a local GS2 installation (GSDLHOME set), we'd have looked for Perl. If we had
+:: found Perl, PERLPATH would have been set. If no perl, can't download or build locally on
+:: the client side. If we have Perl, pass in GSDLHOME for the -gsdl option and the PERLPATH.
+if "%PERLPATH%" == "" goto nogsdl
+	echo Perl and GSDLHOME (%GSDLHOME%) detected. Downloading is enabled.
+	echo.
+	"%JAVA_EXECUTABLE%" -Xmx128M -cp classes/;GLI.jar;lib/apache.jar;lib/qfslib.jar org.greenstone.gatherer.GathererProg -use_remote_greenstone -gsdl "%GSDLHOME%" -perl "%PERLPATH%" %1 %2 %3 %4 %5 %6 %7 %8 %9
+	goto finish
+
+:nogsdl
+echo Since there's no GSDLHOME, client-GLI's download panel will be deactivated.
+"%JAVA_EXECUTABLE%" -Xmx128M -cp classes/;GLI.jar;lib/apache.jar;lib/qfslib.jar org.greenstone.gatherer.GathererProg -use_remote_greenstone %1 %2 %3 %4 %5 %6 %7 %8 %9
+
+:finish
+if "%GLILANG%" == "en" echo Done!
+if "%GLILANG%" == "es" echo ­Hecho!
+if "%GLILANG%" == "fr" echo Termin!
+if "%GLILANG%" == "ru" echo ë¯®«­¥­®!
+goto done
+
+:exit
+echo.
+pause
+
+:done
+:: ---- Clean up ----
+set PERLPATH=
+set JAVA_EXECUTABLE=
+set GLIMODE=
+set PROGNAME=
+set PROGNAME_EN=
+set PROGFULLNAME=
+set PROGABBR=
+popd
Index: main/tags/2.83/gli/client-gli.sh
===================================================================
--- main/tags/2.83/gli/client-gli.sh	(revision 21123)
+++ main/tags/2.83/gli/client-gli.sh	(revision 21123)
@@ -0,0 +1,159 @@
+#!/bin/sh
+glilang=en
+
+if [ "x$PROGNAME" = "x" ] ; then
+    PROGNAME="Greenstone"
+  if [ "$glilang" = "es" ]; then
+    PROGFULLNAME="Biblioteca Digital Greenstone"
+  elif [ "$glilang" = "fr" ]; then
+    PROGFULLNAME="Bibliothécaire Greenstone"
+  elif [ "$glilang" = "ru" ]; then
+    PROGFULLNAME="ÉÎÔÅÒÆÅÊÓ Greenstone"
+  else
+    PROGFULLNAME="Greenstone Digital Library"
+  fi
+  else
+    PROGFULLNAME=$PROGNAME
+fi
+
+if [ "x$PROGABBR" = "x" ] ; then
+    PROGABBR="GLI"
+fi
+
+if [ "x$PROGNAME_EN" = "x" ] ; then
+    PROGNAME_EN="Greenstone Librarian Interface"
+fi
+
+# we're running GLI (or FLI) in client mode
+GLIMODE="client"
+
+
+echo
+if [ "$glilang" = "es" ]; then
+    echo "Interfaz de la $PROGFULLNAME ($PROGNAME_EN - $PROGABBR)"
+    echo "Copyright (C) 2008, New Zealand Digital Library Project, University Of Waikato"
+    echo "La Interfaz de la $PROGNAME NO INCLUYE ABSOLUTAMENTE NINGUNA GARANTÍA."
+    echo "Para mayor información vea los términos de la licencia en LICENSE.txt"
+    echo "Este es un software abierto, por lo que lo invitamos a que lo distribuya de forma gratuita"
+elif [ "$glilang" = "fr" ]; then
+    echo "Interface du $PROGFULLNAME ($PROGNAME_EN - $PROGABBR)"
+    echo "Copyright (C) 2008, New Zealand Digital Library Project, University Of Waikato"
+    echo "$PROGABBR est fourni sans AUCUNE GARANTIE; pour des détails, voir LICENSE.txt"
+    echo "Ceci est un logiciel libre, et vous êtes invité à le redistribuer"
+elif [ "$glilang" = "ru" ]; then
+    echo "âÉÂÌÉÏÔÅÞÎÙÊ $PROGFULLNAME ($PROGNAME_EN - $PROGABBR)"
+    echo "Copyright (C) 2008, New Zealand Digital Library Project, University Of Waikato"
+    echo "âéç ÎÅ ÄÁÅÔ áâóïìàôîï îéëáëéè çáòáîôéê; ÄÅÔÁÌÉ ÓÍ. × ÔÅËÓÔÅ LICENSE.TXT"
+    echo "üÔÏ - Ó×ÏÂÏÄÎÏ ÒÁÓÐÒÏÓÔÒÁÎÑÅÍÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ É ÷Ù ÍÏÖÅÔÅ ÒÁÓÐÒÏÓÔÒÁÎÑÔØ ÅÇÏ"
+else
+    echo "$PROGNAME Librarian Interface ($PROGABBR)"
+    echo "Copyright (C) 2008, New Zealand Digital Library Project, University Of Waikato"
+    echo "$PROGABBR comes with ABSOLUTELY NO WARRANTY; for details see LICENSE.txt"
+    echo "This is free software, and you are welcome to redistribute it"
+fi
+echo
+
+##  -------- Run the Greenstone Librarian Interface --------
+# Need to run this script from its own directory instead of whichever directory it may be called from
+#currentdir=$(cd `dirname "$0"` && pwd)
+thisdir="`dirname \"$0\"`"
+thisdir="`cd \"$thisdir\" && pwd`"
+cd "$thisdir"
+
+##  ---- Determine GSDLHOME to see if the download panel can be enabled ----
+# Need to source a script in order to inherit the env vars it has set.
+# Try to detect a local GSDLHOME installation (need gs2build). If none can
+# be found, then client-gli won't have a download panel. We're calling 
+# findgsdl.bat purely for knowing if there's a GSDLHOME around and to set and
+# use that for downloading. If there IS a local GSDLHOME, then we can download
+# (and build) locally, but ONLY if we have perl. Else downloading and building
+# will have to be done remotely anyway. If Perl is found, PERLPATH will be set.
+source ./findgsdl.sh
+local_gs="false"
+if [ "x$GSDLHOME" != "x" ] ; then
+    # GSDLHOME set, test for perl
+    # no need to source the findperl script since it does not set env vars
+    exit_status=0
+    ./findperl.sh
+    exit_status=$?
+    if [ "$exit_status" -ne 1 ]; then
+	local_gs="true"
+    fi 
+fi
+
+
+## ---- findJava ----
+# call the script with source, so that we have the variables it sets ($javapath)
+exit_status=0
+source ./findjava.sh "$glilang" "$PROGABBR"
+exit_status=$?
+if [ "$exit_status" -eq 1 ]; then
+    exit 1;
+fi
+
+## ---- Check that the GLI has been compiled ----
+if [ ! -f "classes/org/greenstone/gatherer/GathererProg.class" ] && [ ! -f "GLI.jar" ]; then
+    echo
+    if [ "$glilang" = "es" ]; then
+	echo "Usted necesita compilar la Interfaz de la $PROGFULLNAME"
+	echo "(por medio de makegli.sh) antes de ejecutar este guión."
+    elif [ "$glilang" = "fr" ]; then
+	echo "Vous devez compiler le $PROGNAME Interface (en utilisant makegli.sh)"
+	echo "avant d'exécuter ce script."
+    elif [ "$glilang" = "ru" ]; then
+	echo "÷Ù ÄÏÌÖÎÙ ËÏÍÐÉÌÉÒÏ×ÁÔØ ÂÉÂÌÉÏÔÅÞÎÙÊ ÉÎÔÅÒÆÅÊÓ $PROGNAME"
+	echo "(ÉÓÐÏÌØÚÕÑ makegli.sh) ÐÅÒÅÄ ××ÏÄÏÍ ÜÔÏÇÏ ÓËÒÉÐÔÁ"
+    else
+	echo "You need to compile the $PROGNAME Librarian Interface (using makegli.sh)"
+	echo "before running this script."
+    fi
+    exit 1
+fi
+
+
+## ---- Finally, run the GLI ----
+echo
+if [ "$glilang" = "es" ]; then
+    echo "Ejecutando la Interfaz de la $PROGFULLNAME..."
+elif [ "$glilang" = "fr" ]; then
+    echo "Exécution de $PROGNAME Librarian Interface"
+elif [ "$glilang" = "ru" ]; then
+    echo "ôÅËÕÝÉÊ ÂÉÂÌÉÏÔÅÞÎÙÊ ÉÎÔÅÒÆÅÊÓ $PROGNAME..."
+else
+    echo "Running the $PROGNAME Librarian Interface..."
+fi
+
+# Other arguments you can provide to GLI to work around memory limitations, or debug
+# -Xms<number>M    To set minimum memory (by default 32MB)
+# -Xmx<number>M    To set maximum memory (by default the nearest 2^n to the total remaining physical memory)
+# -verbose:gc      To set garbage collection messages
+# -Xincgc          For incremental garbage collection (significantly slows performance)
+# -Xprof           Function call profiling
+# -Xloggc:<file>   Write garbage collection log
+
+# GS2 only requires -classpath classes/:GLI.jar:lib/apache.jar:lib/qfslib.jar. GS3 requires more but it doesn't conflict with GS2:
+if [ "$local_gs" = "false" ]; then
+    echo "Since there's no GSDLHOME, client-GLI's download panel will be deactivated."
+    echo
+    $javapath -Xmx128M -classpath classes/:GLI.jar:lib/apache.jar:lib/qfslib.jar:lib/commons-codec-1.3.jar:lib/commons-httpclient-3.1-rc1.jar:lib/commons-logging-1.1.jar org.greenstone.gatherer.GathererProg -use_remote_greenstone $*
+else
+    gsdlos=`uname -s | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+    # check for running bash under cygwin
+    if test "`echo $gsdlos | sed 's/cygwin//'`" != "$gsdlos" ; then
+	gsdlos=windows
+    fi
+    echo "Perl and GSDLHOME ($GSDLHOME) detected."
+    echo "Downloading is enabled."
+    echo
+    $javapath -Xmx128M -classpath classes/:GLI.jar:lib/apache.jar:lib/qfslib.jar:lib/commons-codec-1.3.jar:lib/commons-httpclient-3.1-rc1.jar:lib/commons-logging-1.1.jar org.greenstone.gatherer.GathererProg -use_remote_greenstone -gsdl "$GSDLHOME" -gsdlos $gsdlos $*
+fi
+
+if [ "$glilang" = "es" ]; then
+    echo "¡Hecho!"
+elif [ "$glilang" = "fr" ]; then
+    echo "Terminé!"
+elif [ "$glilang" = "ru" ]; then
+    echo "÷ÙÐÏÌÎÅÎÏ!"
+else
+    echo "Done!"
+fi
Index: main/tags/2.83/gli/copyright/apache_license.txt
===================================================================
--- main/tags/2.83/gli/copyright/apache_license.txt	(revision 21123)
+++ main/tags/2.83/gli/copyright/apache_license.txt	(revision 21123)
@@ -0,0 +1,64 @@
+Pollo uses the following components from the Apache projects:
+
+ - Xerces: used to parse XML files. Pollo also depends heavely
+   on Xerces' DOM implementation (including the rarely found support
+   for mutation events).
+
+ - Commons Digester: used to parse the xml-based configuration file
+   of Pollo.
+
+ - log4j
+
+For more information about this projects, visit the following sites:
+http://xml.apache.org
+http://jakarta.apache.org
+
+The following license applies to all this software (substitute
+the word Xerces for all other mentioned projects):
+
+The Apache Software License, Version 1.1
+
+
+Copyright (c) 1999 The Apache Software Foundation.  All rights 
+reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer. 
+
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the
+   distribution.
+
+3. The end-user documentation included with the redistribution,
+   if any, must include the following acknowledgment:  
+      "This product includes software developed by the
+       Apache Software Foundation (http://www.apache.org/)."
+   Alternately, this acknowledgment may appear in the software itself,
+   if and wherever such third-party acknowledgments normally appear.
+
+4. The names "Xerces" and "Apache Software Foundation" must
+   not be used to endorse or promote products derived from this
+   software without prior written permission. For written 
+   permission, please contact apache@apache.org.
+
+5. Products derived from this software may not be called "Apache",
+   nor may "Apache" appear in their name, without prior written
+   permission of the Apache Software Foundation.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
Index: main/tags/2.83/gli/copyright/mpl_1.1.txt
===================================================================
--- main/tags/2.83/gli/copyright/mpl_1.1.txt	(revision 21123)
+++ main/tags/2.83/gli/copyright/mpl_1.1.txt	(revision 21123)
@@ -0,0 +1,171 @@
+MOZILLA PUBLIC LICENSE
+Version 1.1
+**********************
+
+1. Definitions.
+
+      1.0.1. "Commercial Use" means distribution or otherwise making the Covered Code available to a third party.
+
+      1.1. ''Contributor'' means each entity that creates or contributes to the creation of Modifications.
+
+      1.2. ''Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+      1.3. ''Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+      1.4. ''Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+      1.5. ''Executable'' means Covered Code in any form other than Source Code.
+
+      1.6. ''Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+      1.7. ''Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+      1.8. ''License'' means this document.
+
+      1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+      1.9. ''Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+            A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+
+            B. Any new file that contains any part of the Original Code or previous Modifications.
+             
+      1.10. ''Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+      1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation,  method, process, and apparatus claims, in any patent Licensable by grantor.
+
+      1.11. ''Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+      1.12. "You'' (or "Your")  means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
+
+2. Source Code License.
+
+      2.1. The Initial Developer Grant.
+      The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+            (a)  under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+
+            (b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+                          (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
+
+            (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code;  or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
+             
+      2.2. Contributor Grant.
+      Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
+             
+            (a)  under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
+
+            (b) under Patent Claims infringed by the making, using, or selling of  Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of  Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+
+            (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code.
+
+            (d)    Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2)  separate from the Contributor Version;  3)  for infringements caused by: i) third party modifications of Contributor Version or ii)  the combination of Modifications made by that Contributor with other software  (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
+
+
+3. Distribution Obligations.
+
+      3.1. Application of License.
+      The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+      3.2. Availability of Source Code.
+      Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+      3.3. Description of Modifications.
+      You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+      3.4. Intellectual Property Matters
+            (a) Third Party Claims.
+            If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+
+            (b) Contributor APIs.
+            If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
+             
+                (c)    Representations.
+            Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+
+
+      3.5. Required Notices.
+      You must duplicate the notice in Exhibit A in each file of the Source Code.  If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice.  If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A.  You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code.  You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+      3.6. Distribution of Executable Versions.
+      You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+      3.7. Larger Works.
+      You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+4. Inability to Comply Due to Statute or Regulation.
+
+      If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
+
+5. Application of this License.
+
+      This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+      6.1. New Versions.
+      Netscape Communications Corporation (''Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+      6.2. Effect of New Versions.
+      Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License.
+
+      6.3. Derivative Works.
+      If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases ''Mozilla'', ''MOZILLAPL'', ''MOZPL'', ''Netscape'', "MPL", ''NPL'' or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY.
+
+      COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+      8.1.  This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+      8.2.  If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant")  alleging that:
+
+      (a)  such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i)  agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant.  If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+
+      (b)  any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
+
+      8.3.  If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+      8.4.  In the event of termination under Sections 8.1 or 8.2 above,  all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY.
+
+      UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS.
+
+      The Covered Code is a ''commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ''commercial computer software'' and ''commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. MISCELLANEOUS.
+
+      This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+
+      As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+13. MULTIPLE-LICENSED CODE.
+
+      Initial Developer may designate portions of the Covered Code as ?Multiple-Licensed?.  ?Multiple-Licensed? means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the MPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.
+
+
+EXHIBIT A -Mozilla Public License.
+
+      ``The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
+      http://www.mozilla.org/MPL/
+
+      Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
+      ANY KIND, either express or implied. See the License for the specific language governing rights and
+      limitations under the License.
+
+      The Original Code is ______________________________________.
+
+      The Initial Developer of the Original Code is ________________________. Portions created by
+       ______________________ are Copyright (C) ______ _______________________. All Rights
+      Reserved.
+
+      Contributor(s): ______________________________________.
+
+      Alternatively, the contents of this file may be used under the terms of the _____ license (the  ?[___] License?), in which case the provisions of [______] License are applicable  instead of those above.  If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the MPL, indicate your decision by deleting  the provisions above and replace  them with the notice and other provisions required by the [___] License.  If you do not delete the provisions above, a recipient may use your version of this file under either the MPL or the [___] License."
+
+      [NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.] 
Index: main/tags/2.83/gli/copyright/qfs_license.txt
===================================================================
--- main/tags/2.83/gli/copyright/qfs_license.txt	(revision 21123)
+++ main/tags/2.83/gli/copyright/qfs_license.txt	(revision 21123)
@@ -0,0 +1,11 @@
+Copyright (C) 2003 Quality First Software GmbH
+
+qflib - License
+
+qflib is distributed for free under the terms of the Mozilla Public License Version 1.1, MPL for short. It comes without warranty of any kind. The license grants you free use of qflib, access to the source and the right to modify and redistribute it.
+
+The only restrictions are that you cannot remove Quality First Software GmbH's copyright and that modifications of qflib are automatically covered by the MPL as well. Code that just uses the library through its published interface (referred to as "greater work" in the license) is free to use any license whatever.
+
+As long as these conditions are met there is nothing to inhibit commercial use or commercial distribution of qflib, e.g. together with other software on a CD-rom.
+
+We decided in favor of the MPL because it appears to be a good compromise between protecting openness and free use on the one hand and enabling interoperation with third party software under any license on the other. The text of the license is short and precise compared to others and is comprehensible for the layman. 
Index: main/tags/2.83/gli/copyright/wget_license.txt
===================================================================
--- main/tags/2.83/gli/copyright/wget_license.txt	(revision 21123)
+++ main/tags/2.83/gli/copyright/wget_license.txt	(revision 21123)
@@ -0,0 +1,100 @@
+GNU GENERAL PUBLIC LICENSE
+
+Version 2, June 1991
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+675 Mass Ave, Cambridge, MA 02139, USA
+
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+
+Preamble
+
+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.
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+   1. 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.
+   2. 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.
+   3. 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:
+         1. You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+         2. 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.
+         3. 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.) 
+      These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. 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.
+   4. 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:
+         1. 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,
+         2. 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,
+         3. 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 may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+   6. 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.
+   7. 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.
+   8. 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. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+   9. 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.
+  10. 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.
+  11. 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.
+
+      NO WARRANTY
+  12. 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.
+  13. 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. 
+
+END OF TERMS AND CONDITIONS
+How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
+
+one line to give the program's name and an idea of what it does.
+Copyright (C) 19yy  name of author
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
+
+Gnomovision version 69, Copyright (C) 19yy name of author
+Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
+type `show w'.  This is free software, and you are welcome
+to redistribute it under certain conditions; type `show c' 
+for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
+
+Yoyodyne, Inc., hereby disclaims all copyright
+interest in the program `Gnomovision'
+(which makes passes at compilers) written 
+by James Hacker.
+
+signature of Ty Coon, 1 April 1989
+Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. 
Index: main/tags/2.83/gli/findgsdl.bat
===================================================================
--- main/tags/2.83/gli/findgsdl.bat	(revision 21123)
+++ main/tags/2.83/gli/findgsdl.bat	(revision 21123)
@@ -0,0 +1,169 @@
+:: By the time this script is called by gli.bat, PROGNAME, 
+:: PROGABBR and GLILANG would be set.
+
+:: At the end of this script, GSDLHOME (and possibly GSDL3SRCHOME, GSDL3HOME)
+:: will have been set if a local GS installation was found. If not found, then 
+:: GSDLHOME would not have been set.
+
+:findGSDL
+echo.
+if "%GLILANG%" == "en" (
+		echo %PROGNAME% ^(%PROGABBR%^)
+		echo Copyright ^(C^) 2008, New Zealand Digital Library Project, University Of Waikato
+		echo %PROGABBR% comes with ABSOLUTELY NO WARRANTY; for details see LICENSE.txt
+		echo This is free software, and you are welcome to redistribute it
+	)
+
+if "%GLILANG%" == "es" (
+		echo Interfaz de la %PROGNAME% ^(%PROGNAME_EN% - %PROGABBR%^)
+		echo Copyright ^(C^) 2008, New Zealand Digital Library Project, University Of Waikato
+		echo La Interfaz de la %PROGNAME% NO INCLUYE ABSOLUTAMENTE NINGUNA GARANTÖA.
+		echo Para mayor informaci¢n vea los trminos de la licencia en LICENSE.txt
+		echo Este es un software abierto, por lo que lo invitamos a que lo distribuya de forma gratuita
+	)
+
+if "%GLILANG%" == "fr" (
+		echo Interface du %PROGNAME% ^(%PROGNAME_EN% - %PROGABBR%^)
+		echo Copyright ^(C^) 2008, New Zealand Digital Library Project, University Of Waikato
+		echo %PROGABBR% est fourni sans AUCUNE GARANTIE; pour des dtails, voir LICENSE.txt
+		echo Ceci est un logiciel libre, et vous tes invit 
+ le redistribuer
+	)
+
+if "%GLILANG%" == "ru" (
+		echo š¡«š®â¥ç­ë© š­â¥àä¥©á %PROGNAME% ^(%PROGNAME_EN% - %PROGABBR%^)
+		echo Copyright ^(C^) 2008, New Zealand Digital Library Project, University Of Waikato
+		echo  ­¥ € ¥â   ; €¥â «š á¬. ¢ â¥ªáâ¥ LICENSE.TXT
+		echo â® - á¢®¡®€­® à á¯à®áâà ­ï¥¬®¥ ¯à®£à ¬¬­®¥ ®¡¥á¯¥ç¥­š¥ š ë ¬®Š¥â¥ à á¯à®áâà ­ïâì ¥£®
+	)
+
+echo.
+::  ---- Determine path to Greenstone home for GS2 and GS3 ----
+set GSDLPATH=
+:: Some users may set the above line manually, or it may be set as an argument
+
+set _VERSION=
+if not "%GSDLPATH%" == "" goto getVer
+	:: Otherwise gsdlpath is not yet set
+	:: Check the env vars first 
+	if not "%GSDL3SRCHOME%" == "" goto ver3
+		if not "%GSDLHOME%" == "" goto ver2
+			:: If not set, the default location for the GLI is a subdirectory of Greenstone
+			set GSDLPATH=..
+			goto getVer				
+
+:getVer
+call gsdlver.bat %GSDLPATH% %_VERSION%
+:: Stand-alone GLI with no Greenstone installation to be detected
+:: otherwise
+if "%_VERSION%" == "1" goto noVer
+	::if we are running GS2, free up any pre-set GS3 environment variables since we won't need them
+	if "%_VERSION%" == "2" set GSDL3SRCHOME=
+	if "%_VERSION%" == "2" set GSDL3HOME=
+	goto testGSDL
+	:: else _VERSION is 3, we continue:
+
+:ver3
+set _VERSION=3
+set GSDLPATH=%GSDL3SRCHOME%
+:: if GS2 is now also set, then both GS3 and GS2 are set: 
+:: warn the user that we have defaulted to GS3
+if not "%GSDLHOME%" == "" (
+		echo Both Greenstone 2 and Greenstone 3 environments are set.
+		echo It is assumed you want to run Greenstone 3.
+		echo If you want to run Greenstone 2, please unset the
+		echo environment variable GSDL3SRCHOME before running GLI.
+		echo.
+	)
+goto testGSDL
+
+:ver2
+set _VERSION=2
+set GSDLPATH=%GSDLHOME%
+::free up the GS3 environment variables since we are running GS2 and don't need them
+set GSDL3SRCHOME=
+set GSDL3HOME=
+goto testGSDL
+
+:noVer
+if "%GLIMODE%" == "local" if "%GLILANG%" == "en" echo Error: can't determine which Greenstone version is being run.
+if "%GLIMODE%" == "client" if "%GLILANG%" == "en" echo Could not detect a Greenstone installation (no GSDLHOME).
+goto exit
+
+:testGSDL
+set CHECK=1
+call chkinst.bat "%GSDLPATH%" %_VERSION% %GLILANG% %CHECK% > nul
+if "%CHECK%" == "1" goto exit
+	:: otherwise installation worked well
+	goto prepGSDL
+
+
+:prepGSDL
+:: Greenstone 3 case
+if "%_VERSION%" == "3" goto prepGS3
+
+if not "%_VERSION%" == "2" echo "Greenstone version unknown"
+if not "%_VERSION%" == "2" goto exit
+
+:: Otherwise, we are dealing with Greenstone 2
+:: Setup Greenstone 2, unless it has already been done
+if not "%GSDLHOME%" == "" goto doneGSDL
+    call "%GSDLPATH%\setup.bat" SetEnv
+    goto doneGSDL
+
+
+:prepGS3
+set GSDL2PATH=
+:: Some users may set the above line manually
+
+if "%GSDL3SRCHOME%" == "" goto setup3
+	if "%GSDL3HOME%" == "" goto setup3
+		::otherwise
+		goto gs2build
+
+
+:setup3
+:: Setup Greenstone 3, unless it has already been done
+    cd | winutil\setvar.exe GLIDIR > %TMP%\setgli.bat
+    call %TMP%\setgli.bat
+    del %TMP%\setgli.bat
+    cd "%GSDLPATH%"
+    call gs3-setup.bat SetEnv
+    cd %GLIDIR%
+    goto gs2build
+
+
+:gs2build
+	:: If Greenstone version 3 is running, we want to set gsdl2path
+	:: Determine GSDLHOME for GS3 
+	if not "%GSDL2PATH%" == "" goto setupGS2
+		:: GSDL2PATH is not yet set. 
+		:: And if GSDLHOME is not set either, then assume 
+		:: that the gs2build subdir of GS3 exists
+		if "%GSDLHOME%" == "" set GSDL2PATH=%GSDL3SRCHOME%\gs2build
+		if "%GSDLHOME%" == "" goto setupGS2	
+			:: Otherwise GSDLHOME is set, so set GSDL2PATH to GSDLHOME
+			echo GSDLHOME environment variable is set to %GSDLHOME%.	
+			echo Will use this to find build scripts.
+			set GSDL2PATH=%GSDLHOME%
+
+:setupGS2
+set CHECK=1
+call chkinst.bat "%GSDL2PATH%" 2 %GLILANG% %CHECK% > nul
+if "%CHECK%" == "1" goto exit
+	:: otherwise installation worked well
+	:: Setup Greenstone, unless it has already been done
+	if "%GSDLHOME%" == "" call "%GSDL2PATH%\setup.bat" SetEnv
+	:: Either way, we can now dispose of GSDL2PATH
+	set GSDL2PATH=	
+	goto doneGSDL
+
+
+:exit
+:: if exit, then something went wrong. GSDLHOME would be empty already
+
+:doneGSDL
+:: GSDLPATH is no longer needed, since GSDLHOME should now be set
+set GSDLPATH=
+set CHECK=
+set GLIDIR=
Index: main/tags/2.83/gli/findgsdl.sh
===================================================================
--- main/tags/2.83/gli/findgsdl.sh	(revision 21123)
+++ main/tags/2.83/gli/findgsdl.sh	(revision 21123)
@@ -0,0 +1,197 @@
+# Can't use exit in this script, since the script will be sourced
+# The calling script will end up exiting too, if we exit here
+
+# Uses GLIMODE which would have been set by the calling (client-)gli script.
+# This script sets GSDLHOME and _version, if a GS installation can be found.
+# May also set GSDL3SRCHOME and GSDL3HOME if a GS3 installation was found.
+
+
+# Prints a message if the greenstone version is unknown, depending on whether
+# the calling script launches the client-gli or not
+function version_unknown {    
+    # if GLIMODE is client, we can live without a local GS installation
+    if [ "x$GLIMODE" == "xclient" ]; then
+	if [ "x$GLILANG" = "en" -o "x$GLILANG" = "x" ]; then
+	    echo "Could not detect a Greenstone installation (no GSDLHOME)."
+	fi
+    # otherwise GLIMODE is not client, in which case it is an error to not know the version
+    else	
+	if [ "x$GLILANG" = "en" -o "x$GLILANG" = "x" ]; then
+	    echo "Error: can't determine which Greenstone version is being run."
+	fi
+    fi
+    echo
+}
+
+# Function that, when given gsdlpath as parameter, will return the
+# version of greenstone that is to run (2 or 3). If the version remains 
+# unknown this script will return 1.
+function get_version {
+    # first parameter is value of gsdlpath
+    if [ -f "${1}/gs3-setup.sh" ]; then
+	return 3
+    elif [ -f "${1}/setup.bash" ]; then
+	return 2
+    else
+	# print message and return 1, which is not a valid Greenstone version
+	version_unknown	
+	return 1
+    fi
+}
+
+# Function that is passed the following paramters (in order):
+# - the gsdlpath (GS3 home, GS2 home or gs2build for GS3), 
+# - the version of greenstone that's running, and 
+# - the language GLI is set to
+# and checks the installation. 
+# If things are not right, this program will exit here.
+function check_installation {
+# Check that the Greenstone installation looks OK
+    if [ "$3" = "es" ]; then
+	echo "Revisando GSDL$2: $1"
+    elif [ "$3" = "fr" ]; then
+	echo "Vérification de GSDL$2: $1"
+    elif [ "$3" = "ru" ]; then
+	echo "ðÒÏ×ÅÒËÁ GSDL$2: $1"
+    else
+	echo "Checking GSDL$2: $1"
+    fi
+    # even if we are only checking for gs2build (gsdl2path), we still 
+    # need the file setup.bash to exist in the following condition:
+    if [ ! -f "${1}/gs3-setup.sh" -a ! -f "${1}/setup.bash" ] ; then
+	echo
+	if [ "$3" = "es" ]; then
+	    echo "No se pudo encontrar la instalación de Greenstone $2 o está incompleta."
+	    echo "Trate de reinstalar Greenstone $2 y a continuación ejecute nuevamente"
+	    echo "este guión."
+	elif [ "$3" = "fr" ]; then
+	    echo "L'installation de Greenstone $2 est introuvable ou incomplète."
+	    echo "Essayez de réinstaller Greenstone $2 et exécutez ce script à nouveau."
+	elif [ "$3" = "ru" ]; then
+	    echo "éÎÓÔÁÌÌÑÃÉÑ Greenstone $_version ÎÅ ÂÙÌÁ ÎÁÊÄÅÎÁ ÉÌÉ ÏÎÁ ÎÅÐÏÌÎÁ."
+	    echo "ðÏÐÒÏÂÕÊÔÅ ÐÏ×ÔÏÒÎÏ ÕÓÔÁÎÏ×ÉÔØ Greenstone $2, Á ÚÁÔÅÍ ××ÅÓÔÉ ÜÔÏÔ ÓËÒÉÐÔ ÓÎÏ×Á."
+	else
+	    echo "The Greenstone $2 installation could not be found, or is incomplete."
+	    echo "Try reinstalling Greenstone $2 then running this script again."
+	fi
+	exit 1
+    fi
+}
+
+
+##  ---- Determine GSDLHOME ----
+## gsdlpath can be either Greenstone 3 or Greenstone 2
+gsdlpath=
+# Some users may set the above line manually
+
+
+# This variable is set automatically:
+_version=
+if [ "x$gsdlpath" != "x" ]; then
+    get_version "$gsdlpath"
+    _version=$?    
+# otherwise $gsdlpath is not yet set
+else
+    # Check the environment variable first
+    # Check whether environment variables for both GS2 and GS3 are set
+    # and if so, warn the user that we have defaulted to GS3
+    if [ "x$GSDLHOME" != "x" -a "x$GSDL3SRCHOME" != "x" ]; then
+        # _version not set, but both env vars set, so default to 3
+	_version=3
+	gsdlpath="$GSDL3SRCHOME"
+	echo "Both Greenstone 2 and Greenstone 3 environments are set." 
+	echo "It is assumed you want to run Greenstone 3."
+	echo "If you want to run Greenstone 2, please unset the"
+	echo "environment variable GSDL3SRCHOME before running GLI."
+	echo ""
+    elif [ "x$GSDL3SRCHOME" != "x" ]; then
+	echo "Only gsdl3srchome set"
+	gsdlpath="$GSDL3SRCHOME"
+	_version=3
+	echo "$gsdlpath"
+    elif [ "x$GSDLHOME" != "x" ]; then
+	gsdlpath="$GSDLHOME"
+	_version=2
+    # If it is not set, assume that the GLI is installed as a subdirectory of Greenstone
+    else
+	gsdlpath=`(cd .. && pwd)`
+        # Still need to find what version we are running:
+        # GS3 main directory contains file gs3-setup.sh, GS2 only setup.bash
+	get_version "$gsdlpath"
+	_version=$?
+    fi
+fi
+
+# if it's an invalid greenstone version, we exit the script here
+if [ "$_version" -lt 2 ]; then
+    return $_version;
+fi
+
+echo "Greenstone version found: $_version"
+
+# Check that the main Greenstone installation for the version we're running looks OK
+check_installation "$gsdlpath" "$_version" "$glilang"
+
+
+# Need to source the correct setup file depending on whether we are running
+# gs3 or gs2
+# If we're running version GS2
+if [ "$_version" -eq 2 ]; then
+    # Setup Greenstone 2, unless it has already been done
+    if [ "x$GSDLHOME" = "x" ]; then
+    cd "$gsdlpath"
+    . ./setup.bash
+    cd "$thisdir"
+    fi
+# else, if we're running GS3
+elif [ "$_version" -eq 3 ]; then
+    # Setup Greenstone 3, unless it has already been done
+    if [ "x$GSDL3HOME" = "x" -o "x$GSDL3SRCHOME" = "x" ]; then
+    cd "$gsdlpath"
+    . ./gs3-setup.sh
+    cd "$thisdir"
+    fi
+    
+    ## if Greenstone version 3 is running, we want to set gsdl2path
+    ##  ---- Determine GSDLHOME ----
+    ## may be already set, or manually entered here.
+    gsdl2path=
+    
+    # Some users may set the above line manually
+    if [ "x$gsdl2path" = "x" ]; then
+        # Check the environment variable first
+    if [ "x$GSDLHOME" != "x" ]; then
+        echo "GSDLHOME environment variable is set to $GSDLHOME."
+        echo "Will use this to find build scripts."
+        gsdl2path="$GSDLHOME"
+        # If it is not set, assume that the gs2build subdirectory of Greenstone 3 exists
+    else
+        gsdl2path="$GSDL3SRCHOME/gs2build"
+    fi
+    fi
+    # Check that Greenstone 3's Greenstone 2 stuff looks OK (in gs2build)
+    check_installation "$gsdl2path" "" "$glilang"
+  
+    # Setup Greenstone 3's gs2build, unless it has already been done
+    if [ "x$GSDLHOME" = "x" ]; then
+    cd "$gsdl2path"
+    . ./setup.bash
+    cd "$thisdir"
+    fi
+
+else 
+    echo "Greenstone version unknown."    
+    return 1
+fi
+
+echo
+if [ "x$GSDL3SRCHOME" != "x" ]; then
+    echo "GSDL3SRCHOME is: $GSDL3SRCHOME"
+fi
+if [ "x$GSDL3HOME" != "x" ]; then
+    echo "GSDL3HOME is: $GSDL3HOME"
+fi
+if [ "x$GSDLHOME" != "x" ]; then
+    echo "GSDLHOME is: $GSDLHOME"
+fi
+echo
Index: main/tags/2.83/gli/findjava.bat
===================================================================
--- main/tags/2.83/gli/findjava.bat	(revision 21123)
+++ main/tags/2.83/gli/findjava.bat	(revision 21123)
@@ -0,0 +1,98 @@
+@echo off
+
+:: Environment Variables passed in: _VERSION, GLILANG and possibly also
+:: GSDLHOME and/or GSDL3SRCHOME.
+:: As a result of executing this script, the JAVA_EXECUTABLE and GS_JAVA_HOME
+:: environment variables will be set, but only if Perl was found.
+
+:findJava
+
+:: We will already be in the correct folder (GLI folder), which would
+:: contain a compiled up search4j.exe if this GLI is part of an installation.
+:: If search4j.exe is not there, then it means this is an SVN checkout. 
+:: In such a case, it's up to the user checking things out to ensure JAVA_HOME
+:: is set and moreover points to the correct version of the Java.
+
+set DISPLAY_MIN_VERSION=1.4
+set MIN_VERSION=1.4.0_00
+set SEARCH4J_EXECUTABLE=search4j.exe
+if exist %SEARCH4J_EXECUTABLE% goto setJexec
+if "%_VERSION%" == "" goto tryJava
+	:: else we look for a compiled version of search4j in a GS installation
+	if "%_VERSION%" == "2" (
+		set SEARCH4J_EXECUTABLE=%GSDLHOME%\bin\windows\search4j.exe
+		set HINT=%GSDLHOME%\packages\jre
+	)
+    	if "%_VERSION%" == "3" (
+		set SEARCH4J_EXECUTABLE=%GSDL3SRCHOME%\bin\search4j.exe
+		set HINT=%GSDL3SRCHOME%\packages\jre
+	)
+	if not exist "%SEARCH4J_EXECUTABLE%" goto tryJava
+
+:setJexec    
+    "%SEARCH4J_EXECUTABLE%" -e -m "%MIN_VERSION%" -p "%HINT%" | winutil\setvar.exe JAVA_EXECUTABLE > %TMP%\set_java_executable.bat
+    call "%TMP%\set_java_executable.bat"
+    del "%TMP%\set_java_executable.bat"
+    
+    if "%JAVA_EXECUTABLE%" == "" goto noJava
+    echo Java:
+    echo %JAVA_EXECUTABLE%
+    echo.
+
+    :: we know that works, so we can set the local javahome (for Greenstone) as well
+    "%SEARCH4J_EXECUTABLE%" -m "%MIN_VERSION%" -p "%HINT%" | winutil\setvar.exe GS_JAVA_HOME > %TMP%\set_java_home.bat
+    call "%TMP%\set_java_home.bat"
+    del "%TMP%\set_java_home.bat"
+
+:: found java, JAVA_EXECUTABLE and GS_JAVA_HOME env vars set, can exit this script
+    goto exit
+
+:tryJava
+if "%JAVA_HOME%" == "" goto noJava
+if not exist "%JAVA_HOME%\bin\java.exe" goto noJava
+	if "%GLILANG%" == "en" (
+		echo.
+		echo ***************************************************************************
+    		echo WARNING: 
+		echo Java Runtime not bundled with this Greenstone installation.
+		echo Using JAVA_HOME: %JAVA_HOME%
+		echo ^(NOTE: this needs to be %DISPLAY_MIN_VERSION% or higher.^)
+		echo ***************************************************************************
+		echo.
+	)
+	:: Try to use this version
+	set JAVA_EXECUTABLE=%JAVA_HOME%\bin\java
+	set GS_JAVA_HOME=%JAVA_HOME%
+	goto exit
+
+:noJava
+    echo.
+    if "%GLILANG%" == "en" (
+		echo Failed to locate an appropriate version of Java. You must install a
+    		echo Java Runtime Environment ^(version %DISPLAY_MIN_VERSION% or greater^) before running the
+    		echo Greenstone Librarian Interface.
+	)
+
+    if "%GLILANG%" == "es" (
+		echo No se pudo localizar una versi¢n apropiada de Java. Usted deber 
+    		echo instalar un Ambiente de Ejecuci¢n Java ^(versi¢n %DISPLAY_MIN_VERSION% o superior^)
+    		echo antes de correr la Interfaz de la Biblioteca Digital Greenstone.
+	)
+
+    if "%GLILANG%" == "fr" (
+		echo Une version ad?quate de Java n'a pas pu ?tre localis?e. Vous devez
+    		echo installer un Java Runtime Environment ^(version %DISPLAY_MIN_VERSION% ou sup?rieur^)
+    		echo avant de d?marrer Greenstone Librarian Interface.
+	)
+
+    if "%GLILANG%" == "ru" (
+		echo ¥ ã «®áì ®¯à¥¥«âì ¬¥áâ®­ å®¥­¥ á®®â¢¥âáâ¢ãîé¥© ¢¥àá Java.
+    		echo ?ë ®«­ë ãáâ ­®¢âì Java Runtime Environment ^(¢¥àáî %DISPLAY_MIN_VERSION% « ¢ëè¥^) ¯¥à¥ ¢¢®®¬
+    		echo ¡¡«®â¥ç­®£® ­â¥àä¥©á  Greenstone.
+	)
+    goto exit
+
+:exit
+set SEARCH4J_EXECUTABLE=
+set MIN_VERSION=
+set DISPLAY_MIN_VERSION=
Index: main/tags/2.83/gli/findjava.sh
===================================================================
--- main/tags/2.83/gli/findjava.sh	(revision 21123)
+++ main/tags/2.83/gli/findjava.sh	(revision 21123)
@@ -0,0 +1,162 @@
+# We will already be in the correct folder (GLI folder), which would
+# contain a compiled up search4j if this GLI is part of an installation.
+# If a search4j executable is not there, then it means this is an SVN checkout. 
+# In such a case, it's up to the user checking things out to ensure JAVA_HOME
+# is set and moreover points to the correct version of the Java.
+
+# Function to check if any JAVA_HOME is set and if so, try using that
+function try_java {
+    MIN_DISPLAY_VERSION=${1};
+
+    if [ "x$JAVA_HOME" = "x" -o ! -f "$JAVA_HOME/bin/java" ]; then
+	no_java "$MIN_DISPLAY_VERSION"
+	return $?
+    else
+	# There is a JAVA_HOME already set, we're going to try using that
+	javapath="$JAVA_HOME/bin/java"
+	javahome="$JAVA_HOME"
+	# Print a warning that we're going to use whatever JAVA_HOME is set (fingers crossed)
+	if [ "x$gslang" = "x" -o "$gslang" = "en" ]; then
+	    echo
+	    echo "***************************************************************************"
+	    echo "WARNING: "
+	    echo "Java Runtime not bundled with this Greenstone installation."
+	    echo "Using JAVA_HOME: %JAVA_HOME%"
+	    echo "(NOTE: this needs to be %DISPLAY_MIN_VERSION% or higher.)"
+	    echo "***************************************************************************"
+	    echo
+	fi
+	echo "Java:"
+	echo $javapath
+	echo
+	return 0
+    fi
+}
+
+function no_java {
+    MIN_DISPLAY_VERSION=${1};
+
+    echo
+    if [ "$gslang" = "es" ]; then
+	echo "No se pudo localizar una versión apropiada de Java. Usted deberá "
+	echo "instalar un Ambiente de Ejecución Java (versión $MIN_DISPLAY_VERSION o superior) "
+	echo "antes de correr la Interfaz de la $PROGNAME."
+    elif [ "$gslang" = "fr" ]; then
+	echo "Une version adéquate de Java n'a pas pu être localisée."
+	echo "Vous devez installer un Java Runtime Environment (version $MIN_DISPLAY_VERSION ou"
+	echo "supérieur) avant de démarrer $PROGNAME."
+	echo "Si vous avez Java installé sur votre ordinateur veuillez vérifier la variable"
+	echo "d'environnement JAVA_HOME."
+    elif [ "$gslang" = "ru" ]; then
+	echo "îÅ ÕÄÁÌÏÓØ ÏÐÒÅÄÅÌÉÔØ ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ ×ÅÒÓÉÉ Java."
+	echo "÷Ù ÄÏÌÖÎÙ ÕÓÔÁÎÏ×ÉÔØ Java Runtime Environment (×ÅÒÓÉÀ $MIN_DISPLAY_VERSION ÉÌÉ ×ÙÛÅ)"
+	echo "ÐÅÒÅÄ ××ÏÄÏÍ ÂÉÂÌÉÏÔÅÞÎÏÇÏ $PROGNAME."
+    else
+	echo "Failed to locate an appropriate version of Java. You must install a"
+	echo "Java Runtime Environment (version $MIN_DISPLAY_VERSION or greater) before running the"
+	echo "$PROGNAME."
+	echo "If you have Java intalled on your machine please set the environment variable JAVA_HOME."
+    fi
+    return 1
+}
+
+function set_java_exec {	
+    SEARCH4J_EXECUTABLE=${1};
+    MINIMUM_JAVA_VERSION=${2};
+    MIN_DISPLAY_VERSION=${3};
+
+    # Give search4j a hint to find Java depending on the platform
+    if [ $GSDLOS = linux ]; then
+	HINT=`cd "$GSDLHOME";pwd`/packages/jre
+    elif [ $GSDLOS = darwin ]; then
+	HINT=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
+        #/System/Library/Frameworks/JavaVM.framework/Home
+    fi	
+    
+    javapath="`"$SEARCH4J_EXECUTABLE" -e -p "$HINT" -m $MINIMUM_JAVA_VERSION`"
+    javahome="`"$SEARCH4J_EXECUTABLE" -p "$HINT" -m $MINIMUM_JAVA_VERSION`"
+
+    if [ "$?" != "0" ]; then
+	
+        OLDVER="`"$SEARCH4J_EXECUTABLE" -v -p "$HINT"`"
+	
+        if [ "$?" = "0" ]; then
+	    
+            if [ "$gslang" = "es" ]; then
+                echo "La versión del Ambiente de Ejecución Java (JRE por sus siglas en "
+                echo "inglés) que usted tiene instalada es demasiado vieja para ejecutar "
+                echo "la Interfaz de la $PROGNAME. Por favor instale "
+                echo "una nueva versión del Ambiente de Ejecución Java (versión $MIN_DISPLAY_VERSION o "
+                echo "posterior) y ejecute nuevamente este guión."
+            elif [ "$gslang" = "fr" ]; then
+                echo "La version de Java Runtime Environment que vous avez installée est"
+                echo "trop vielle pour faire fonctionner $PROGNAME."
+                echo "Veuillez installer une nouvelle version du JRE (version $MIN_DISPLAY_VERSION ou plus"
+                echo "récente) et redémarrez le script."
+            elif [ "$gslang" = "ru" ]; then
+                echo "÷ÅÒÓÉÑ Java Runtime Environment, ËÏÔÏÒÕÀ ÷Ù ÕÓÔÁÎÏ×ÉÌÉ, ÏÞÅÎØ ÓÔÁÒÁ,"
+                echo "ÞÔÏÂÙ ÕÐÒÁ×ÌÑÔØ ÂÉÂÌÉÏÔÅÞÎÙÍ $PROGNAME. ðÏÖÁÌÕÊÓÔÁ, "
+                echo "ÕÓÔÁÎÏ×ÉÔÅ ÎÏ×ÕÀ ×ÅÒÓÉÀ JRE (×ÅÒÓÉÀ $MIN_DISPLAY_VERSION ÉÌÉ ÂÏÌÅÅ ÎÏ×ÕÀ) É"
+                echo "ÐÅÒÅÕÓÔÁÎÏ×ÉÔÅ ÜÔÏÔ ÓËÒÉÐÔ"
+            else
+                echo "The version of the Java Runtime Environment you have installed ($OLDVER)"
+                echo "is too old to run the $PROGNAME. Please install a new"
+                echo "version of the JRE (version $MIN_DISPLAY_VERSION or newer) and rerun this script."
+            fi
+            return 1
+	    
+        else
+	    no_java "$MIN_DISPLAY_VERSION"
+	    return $?
+        fi
+	
+    fi
+    echo "Java:"
+    echo $javapath
+    echo
+    return 0
+}
+
+
+## ---- Check Java ----
+# Some users may set this line manually
+#JAVA_HOME=
+gslang=$1
+PROGNAME=$2
+MINIMUM_JAVA_VERSION=1.4.0_00
+MIN_DISPLAY_VERSION=1.4
+
+# sus out search4j
+# first look for compiled search4j executable inside the current folder
+if [ -x search4j ]; then
+    SEARCH4J_EXECUTABLE=search4j	
+elif [ -x "$GSDLHOME/bin/$GSDLOS/search4j" ]; then
+    SEARCH4J_EXECUTABLE="$GSDLHOME/bin/$GSDLOS/search4j"
+elif [ -x "$GSDL3SRCHOME/bin/$GSDLOS/search4j" ]; then
+    SEARCH4J_EXECUTABLE="$GSDL3SRCHOME/bin/search4j"
+elif [ -x "../bin/$GSDLOS/search4j" ]; then
+    SEARCH4J_EXECUTABLE=../bin/$GSDLOS/search4j
+elif [ -x "../bin/search4j" ]; then
+    SEARCH4J_EXECUTABLE=../bin/search4j
+else
+    echo "Couldn't determine the location of the search4j executable"
+    echo "If you are running Greenstone2"
+    echo "   * check GSDLHOME is set"
+    echo "   * check bin/$GSDLOS/search4j exists"
+    echo "   * check bin/$GSDLOS/search4j is executable"
+    echo "If you are running Greenstone3"
+    echo "   * check GSDL3SRCHOME is set"
+    echo "   * check bin/search4j exists"
+    echo "   * check bin/search4j is executable"
+    echo "   * try running 'ant compile-search4j'"
+fi
+
+# Now run set_java_exec with search4j if we found one, else try javahome
+if [ "x$SEARCH4J_EXECUTABLE" != "x" ]; then
+    set_java_exec "$SEARCH4J_EXECUTABLE" "$MINIMUM_JAVA_VERSION" "$MIN_DISPLAY_VERSION"
+    retval=$?
+else
+    try_java "$MIN_DISPLAY_VERSION"
+    retval=$?
+fi
+return $retval
Index: main/tags/2.83/gli/findperl.bat
===================================================================
--- main/tags/2.83/gli/findperl.bat	(revision 21123)
+++ main/tags/2.83/gli/findperl.bat	(revision 21123)
@@ -0,0 +1,85 @@
+@echo off
+
+:: Environment Variables passed in: GSLDHOME, OS, GLILANG
+:: As a result of executing this script, the PERLPATH variable 
+:: will be set, but only if Perl was found.
+
+:findPerl
+::  ---- Check Perl exists ----
+set PERLPATH=
+
+:: Some users may set the above line manually - If you do this, you need to 
+:: make sure that perl is in your path otherwise lucene collections may not 
+:: work
+if not "%PERLPATH%" == "" goto testPerl
+    :: Check if Perl is on the search path
+    echo %PATH%| winutil\which.exe perl.exe | winutil\setvar.exe PERLPATH > %TMP%\setperl.bat
+    call %TMP%\setperl.bat
+    del %TMP%\setperl.bat
+    if not "%PERLPATH%" == "" goto testPerl
+
+    :: If not, try GSDLHOME\bin\windows\perl\bin
+    if exist "%GSDLHOME%\bin\windows\perl\bin\perl.exe" goto gsdlPerl
+
+    :: Still haven't found anything, so try looking in the registry (gulp!)
+    type nul > %TMP%\perl.reg
+    regedit /E %TMP%\perl.reg "HKEY_LOCAL_MACHINE\SOFTWARE\Perl"
+    type %TMP%\perl.reg > %TMP%\perl.txt
+    del %TMP%\perl.reg
+
+    winutil\findperl.exe %TMP%\perl.txt | winutil\setvar.exe PERLPATH > %TMP%\setperl.bat
+    del %TMP%\perl.txt
+    call %TMP%\setperl.bat
+    del %TMP%\setperl.bat
+
+    :: If nothing was found in the registry, we're stuck
+    if "%PERLPATH%" == "" goto noPerl
+
+    :: if have found perl in registry, but not in path, then we need to 
+    :: add it to path for lucene stuff.
+    if "%OS%" == "Windows_NT" set PATH=%PATH%;%PERLPATH%
+    if "%OS%" == "" set PATH="%PATH%";"%PERLPATH%"
+    goto testPerl
+
+:gsdlPerl
+    set PERLPATH=%GSDLHOME%\bin\windows\perl\bin
+    	
+:testPerl
+:: Check that a Perl executable has been found
+if not exist "%PERLPATH%\perl.exe" goto noPerl
+echo Perl:
+echo %PERLPATH%
+echo.
+
+:: found perl, perlpath set, can exit this script
+goto exit
+
+
+:noPerl
+    echo.
+    if "%GLILANG%" == "en" echo The Greenstone Librarian Interface requires Perl in order to operate,
+    if "%GLILANG%" == "en" echo but Perl could not be detected on your system. Please ensure that Perl
+    if "%GLILANG%" == "en" echo is installed and is on your search path, then try again.
+
+    if "%GLILANG%" == "es" echo La Interfaz de la Biblioteca Digital Greenstone requiere Perl para poder
+    if "%GLILANG%" == "es" echo operar, pero ste no aparece en su sistema. Por favor aseg£rese de
+    if "%GLILANG%" == "es" echo que Perl est  instalado y se encuentra en su ruta de b£squeda.
+    if "%GLILANG%" == "es" echo A continuaci¢n ejecute nuevamente este gui¢n.
+
+    if "%GLILANG%" == "fr" echo Greenstone Librarian Interface ncessite perl pour son fonctionnement,
+    if "%GLILANG%" == "fr" echo mais perl n'a pas pu tre dtect dans votre systme. Veuillez vous 
+    if "%GLILANG%" == "fr" echo assurer que perl est install et est spcifi dans votre chemin de 
+    if "%GLILANG%" == "fr" echo recherche, puis redmarrez ce script.
+
+    if "%GLILANG%" == "ru" echo š¡«š®â¥ç­ë© š­â¥àä¥©á Greenstone âà¥¡ã¥â Perl, çâ®¡ë š¬¥âì ¢®§¬®Š­®áâì
+    if "%GLILANG%" == "ru" echo à ¡®â âì, ­® Perl ­¥ ¡ë« ¢ ¢ è¥© ášáâ¥¬¥. ®Š «ã©áâ , ¯®€â¢¥à€šâ¥,
+    if "%GLILANG%" == "ru" echo çâ® Perl ãáâ ­®¢«¥­ š ­ å®€šâáï ­  ¢ è¥¬ ¯ãâš ¯®šáª , § â¥¬
+    if "%GLILANG%" == "ru" echo ¯®¢â®à­®¢¢¥€šâ¥ íâ®â áªàš¯â.
+    goto exit
+
+:exit
+
+
+
+
+
Index: main/tags/2.83/gli/findperl.sh
===================================================================
--- main/tags/2.83/gli/findperl.sh	(revision 21123)
+++ main/tags/2.83/gli/findperl.sh	(revision 21123)
@@ -0,0 +1,39 @@
+# Exits with 1 if Perl is not on the PATH
+
+##  ---- Check Perl exists ----
+perlpath=
+
+# Some users may set the above line manually
+if [ "x$perlpath" = "x" ]; then
+    # Check if Perl is on the search path
+    perlpath=`which perl 2> /dev/null`
+fi
+
+# Check that a Perl executable has been found
+echo "Perl:"
+if [ ! -x "$perlpath" ] ; then
+    echo
+    if [ "$glilang" = "es" ]; then
+    echo "La Interfaz de la $PROGNAME requiere Perl para "
+    echo "poder operar, pero éste no aparece en su sistema. Por favor asegúrese "
+    echo "de que Perl está instalado y se encuentra en su ruta de búsqueda. A "
+    echo "continuación ejecute nuevamente este guión."
+    elif [ "$glilang" = "fr" ]; then
+    echo "$PROGNAME nécessite Perl pour son fonctionnement,"
+    echo "mais perl n'a pas pu être détecté dans votre système. Veuillez vous "
+    echo "assurer que perl est installé et est spécifié dans votre chemin de "
+    echo "recherche, puis redémarrez ce script."
+    elif [ "$glilang" = "ru" ]; then
+    echo "âÉÂÌÉÏÔÅÞÎÙÊ $PROGNAME ÔÒÅÂÕÅÔ Perl, ÞÔÏÂÙ ÉÍÅÔØ ×ÏÚÍÏÖÎÏÓÔØ"
+    echo "ÒÁÂÏÔÁÔØ, ÎÏ Perl ÎÅ ÂÙÌ × ×ÁÛÅÊ ÓÉÓÔÅÍÅ. ðÏÖÁÌÕÊÓÔÁ, ÐÏÄÔ×ÅÒÄÉÔÅ, ÞÔÏ "
+    echo "Perl ÕÓÔÁÎÏ×ÌÅÎ É ÎÁÈÏÄÉÔÓÑ ÎÁ ×ÁÛÅÍ ÐÕÔÉ ÐÏÉÓËÁ, ÚÁÔÅÍ ÐÏ×ÔÏÒÎÏ××ÅÄÉÔÅ"
+    echo "ÜÔÏÔ ÓËÒÉÐÔ."
+    else
+    echo "The $PROGNAME requires Perl in order to operate,"
+    echo "but perl could not be detected on your system. Please ensure that perl"
+    echo "is installed and is on your search path, then rerun this script."
+    fi
+    exit 1
+fi
+echo $perlpath
+echo
Index: main/tags/2.83/gli/fli.bat
===================================================================
--- main/tags/2.83/gli/fli.bat	(revision 21123)
+++ main/tags/2.83/gli/fli.bat	(revision 21123)
@@ -0,0 +1,53 @@
+@echo off
+
+:: by default, assume English
+set PROGNAME=Fedora Librarian Interface
+if "%GLILANG%" == "es" set PROGNAME=Biblioteca Digital Fedora.
+if "%GLILANG%" == "fr" set PROGNAME=Bibliothécaire Fedora.
+if "%GLILANG%" == "ru" set PROGNAME=ÉÎÔÅÒÆÅÊÓ Fedora.
+:: How to export PROGNAME?
+
+set PROGNAME_EN=Fedora Librarian Interface
+set PROGABBR=FLI
+
+
+echo.
+:: Test to see if FEDORA_HOME environment variable has been set up
+if "%FEDORA_HOME%" == "" goto noFed
+	:: Check if the directory FEDORA_HOME exists
+	:: MAN: Can't use the if command to test directly for a directory, but the null (NUL) device does exist in
+	:: every directory. As a result, you can test for the null device to determine whether a directory exists. 
+	if not exist %FEDORA_HOME%\nul echo Error: Cannot find Fedora home. No such directory: %FEDORA_HOME%
+	if not exist %FEDORA_HOME%\nul goto exit
+		
+:: If FEDORA_VERSION not set, default fedora-version to 3 after warning user.
+if not "%FEDORA_VERSION%" == "" goto runFed
+	echo FEDORA_VERSION (major version of Fedora) was not set. Defaulting to: 3.
+	echo If you are running a different version of Fedora, set the FEDORA_VERSION
+	echo environment variable.
+	set FEDORA_VERSION="3"
+	echo.
+
+
+:runFed
+:: MAN: The %* batch parameter is a wildcard reference to all the arguments, not including %0, 
+:: that are passed to the batch file.
+echo FEDORA_HOME: %FEDORA_HOME%. 
+echo FEDORA_VERSION: %FEDORA_VERSION%
+gli.bat -fedora -fedora_home %FEDORA_HOME% -fedora_version %FEDORA_VERSION% %*
+
+:: Either (or both) of FEDORA_HOME and FEDORA_VERSION were not set, both are crucial
+:noFed
+echo Error: Cannot run %PROGNAME_EN% (%PROGABBR%) if FEDORA_HOME is not set.
+goto exit
+
+
+:exit
+echo.
+pause
+
+:done
+:: ---- Clean up ----
+set PROGNAME_EN=
+set PROGABBR=
+set PROGNAME=
Index: main/tags/2.83/gli/fli.sh
===================================================================
--- main/tags/2.83/gli/fli.sh	(revision 21123)
+++ main/tags/2.83/gli/fli.sh	(revision 21123)
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+if [ "$glilang" = "es" ]; then
+  PROGNAME="Biblioteca Digital Fedora"
+elif [ "$glilang" = "fr" ]; then
+  PROGNAME="Bibliothécaire Fedora"
+elif [ "$glilang" = "ru" ]; then
+  PROGNAME="ÉÎÔÅÒÆÅÊÓ Fedora"
+else
+  PROGNAME="Fedora Librarian Interface"
+fi
+export PROGNAME
+
+PROGNAME_EN="Fedora Librarian Interface"
+export PROGNAME_EN
+
+PROGABBR="FLI"
+export PROGABBR
+
+echo
+# Test to see if FEDORA environment variables have been set up
+if [ "x$FEDORA_HOME" == "x" ]; then
+    echo "Error: Cannot run $PROGNAME_EN (PROGABBR) if FEDORA_HOME is not set."
+    exit
+fi
+
+if [ ! -d "$FEDORA_HOME" ]; then
+    echo "Error: Cannot find Fedora Home. No such directory: $FEDORA_HOME"
+    exit
+fi
+
+# If FEDORA_VERSION not set, default fedora-version to 3 after warning user.  
+if [ "x$FEDORA_VERSION" == "x" ]; then
+    echo "FEDORA_VERSION (major version of Fedora) was not set. Defaulting to: 3."
+    echo "If you are running a different version of Fedora, set the FEDORA_VERSION"
+    echo "environment variable."
+    FEDORA_VERSION="3"
+    export FEDORA_VERSION
+    echo
+fi
+
+# Finally run GLI in fedora mode
+echo "FEDORA_HOME: $FEDORA_HOME"
+echo "FEDORA_VERSION: $FEDORA_VERSION"
+./gli.sh -fedora -fedora_home "$FEDORA_HOME" -fedora_version "$FEDORA_VERSION" $*
Index: main/tags/2.83/gli/gems.sh
===================================================================
--- main/tags/2.83/gli/gems.sh	(revision 21123)
+++ main/tags/2.83/gli/gems.sh	(revision 21123)
@@ -0,0 +1,391 @@
+#!/bin/sh
+
+# Function that, when given gsdlpath as parameter, will return the
+# version of greenstone that is to run (2 or 3). If things are not,
+# this program will exit here.
+get_version() {
+    # first parameter is value of gsdlpath
+    if [ -f "${1}/gs3-setup.sh" ]; then
+	return 3
+    elif [ -f "${1}/setup.bash" ]; then
+	return 2
+    else
+	echo "Error: can't determine which Greenstone version is being run."
+	exit 1
+    fi
+}
+
+# Function that is passed the following paramters (in order):
+# - the gsdlpath (GS3 home, GS2 home or gs2build for GS3), 
+# - the version of greenstone that's running, and 
+# - the language GLI is set to
+# and checks the installation. 
+# If things are not right, this program will exit here.
+check_installation() {
+# Check that the Greenstone installation looks OK
+    if [ "$3" = "es" ]; then
+	echo "Revisando GSDL$2: $1"
+    elif [ "$3" = "fr" ]; then
+	echo "Vérification de GSDL$2: $1"
+    elif [ "$3" = "ru" ]; then
+	echo "ðÒÏ×ÅÒËÁ GSDL$2: $1"
+    else
+	echo "Checking GSDL$2: $1"
+    fi
+    # even if we are only checking for gs2build (gsdl2path), we still 
+    # need the file setup.bash to exist in the following condition:
+    if [ ! -f "${1}/gs3-setup.sh" -a ! -f "${1}/setup.bash" ] ; then
+	echo
+	if [ "$3" = "es" ]; then
+	    echo "No se pudo encontrar la instalación de Greenstone $2 o está incompleta."
+	    echo "Trate de reinstalar Greenstone $2 y a continuación ejecute nuevamente"
+	    echo "este guión."
+	elif [ "$3" = "fr" ]; then
+	    echo "L'installation de Greenstone $2 est introuvable ou incomplète."
+	    echo "Essayez de réinstaller Greenstone $2 et exécutez ce script à nouveau."
+	elif [ "$3" = "ru" ]; then
+	    echo "éÎÓÔÁÌÌÑÃÉÑ Greenstone $_version ÎÅ ÂÙÌÁ ÎÁÊÄÅÎÁ ÉÌÉ ÏÎÁ ÎÅÐÏÌÎÁ."
+	    echo "ðÏÐÒÏÂÕÊÔÅ ÐÏ×ÔÏÒÎÏ ÕÓÔÁÎÏ×ÉÔØ Greenstone $2, Á ÚÁÔÅÍ ××ÅÓÔÉ ÜÔÏÔ ÓËÒÉÐÔ ÓÎÏ×Á."
+	else
+	    echo "The Greenstone $2 installation could not be found, or is incomplete."
+	    echo "Try reinstalling Greenstone $2 then running this script again."
+	fi
+	exit 1
+    fi
+}
+
+glilang=en
+
+if [ "$glilang" = "es" ]; then
+    PROGNAME="Editar conjuntos de metadatos"
+elif [ "$glilang" = "fr" ]; then
+    PROGNAME="Editer les jeux de méta-données"
+elif [ "$glilang" = "ru" ]; then
+    PROGNAME="òÅÄÁËÔÉÒÏ×ÁÔØ ÎÁÂÏÒÙ ÍÅÔÁÄÁÎÎÙÈ"
+else
+    PROGNAME="Greenstone Editor for Metadata Sets"
+fi
+
+PROGABBR="GEMS"
+
+PROGNAME_EN="Greenstone Editor for Metadata Sets"
+
+
+echo
+if [ "$glilang" = "es" ]; then
+    echo "$PROGNAME ($PROGNAME_EN - $PROGABBR)"
+    echo "Copyright (C) 2008, New Zealand Digital Library Project, University Of Waikato"
+    echo "GEMS NO INCLUYE ABSOLUTAMENTE NINGUNA GARANTÍA."
+    echo "Para mayor información vea los términos de la licencia en LICENSE.txt"
+    echo "Este es un software abierto, por lo que lo invitamos a que lo distribuya de forma gratuita"
+elif [ "$glilang" = "fr" ]; then
+    echo "$PROGNAME ($PROGNAME_EN - $PROGABBR)"
+    echo "Copyright (C) 2008, New Zealand Digital Library Project, University Of Waikato"
+    echo "GEMS est fourni sans AUCUNE GARANTIE; pour des détails, voir LICENSE.txt"
+    echo "Ceci est un logiciel libre, et vous êtes invité à le redistribuer"
+elif [ "$glilang" = "ru" ]; then
+    echo "$PROGNAME ($PROGNAME_EN - $PROGABBR)"
+    echo "Copyright (C) 2008, New Zealand Digital Library Project, University Of Waikato"
+    echo "âéç ÎÅ ÄÁÅÔ áâóïìàôîï îéëáëéè çáòáîôéê; ÄÅÔÁÌÉ ÓÍ. × ÔÅËÓÔÅ LICENSE.TXT"
+    echo "üÔÏ - Ó×ÏÂÏÄÎÏ ÒÁÓÐÒÏÓÔÒÁÎÑÅÍÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ É ÷Ù ÍÏÖÅÔÅ ÒÁÓÐÒÏÓÔÒÁÎÑÔØ ÅÇÏ"
+else
+    echo "$PROGNAME ($PROGABBR)"
+    echo "Copyright (C) 2008, New Zealand Digital Library Project, University Of Waikato"
+    echo "GEMS comes with ABSOLUTELY NO WARRANTY; for details see LICENSE.txt"
+    echo "This is free software, and you are welcome to redistribute it"
+fi
+echo
+
+##  -------- Run the Greenstone Editor for Metadata Sets --------
+
+# This script must be run from within the directory in which it lives
+thisdir=`pwd`
+if [ ! -f "${thisdir}/gems.sh" ]; then
+    if [ "$glilang" = "es" ]; then
+        echo "Este guión deberá ejecutarse desde el directorio en el que reside."
+    elif [ "$glilang" = "fr" ]; then
+	echo "Ce script doit être exécuté à partir du répertoire dans lequel il se trouve."
+    elif [ "$glilang" = "ru" ]; then
+	echo "üÔÏÔ ÓËÒÉÐÔ ÄÏÌÖÅÎ ÂÙÔØ ×ÚÑÔ ÉÚ ÄÉÒÅËÔÏÒÉÉ, × ËÏÔÏÒÏÊ ÏÎ ÒÁÓÐÏÌÏÖÅÎ"
+    else
+	echo "This script must be run from the directory in which it resides."
+    fi
+    exit 1
+fi
+
+
+##  ---- Determine GSDLHOME ----
+## gsdlpath can be either Greenstone 3 or Greenstone 2
+gsdlpath=
+# Some users may set the above line manually
+
+
+# This variable is set automatically:
+_version=
+if [ "x$gsdlpath" != "x" ]; then
+    get_version $gsdlpath
+    _version=$?
+# otherwise $gsdlpath is not yet set
+else
+    # Check the environment variable first
+    # Check whether environment variables for both GS2 and GS3 are set
+    # and if so, warn the user that we have defaulted to GS3
+    if [ "x$GSDLHOME" != "x" -a "x$GSDL3SRCHOME" != "x" ]; then
+        # _version not set, but both env vars set, so default to 3
+	_version=3
+	gsdlpath=$GSDL3SRCHOME
+	echo "Both Greenstone 2 and Greenstone 3 environments are set." 
+	echo "It is assumed you want to run Greenstone 3."
+	echo "If you want to run Greenstone 2, please unset the"
+	echo "environment variable GSDL3SRCHOME before running GLI."
+	echo ""
+    elif [ "x$GSDL3SRCHOME" != "x" ]; then
+	echo "Only gsdl3srchome set"
+	gsdlpath=$GSDL3SRCHOME
+	_version=3
+	echo "$gsdlpath"
+    elif [ "x$GSDLHOME" != "x" ]; then
+	gsdlpath=$GSDLHOME
+	_version=2
+    # If it is not set, assume that the GLI is installed as a subdirectory of Greenstone
+    else
+	gsdlpath=`(cd .. && pwd)`
+	# Still need to find what version we are running:
+	# GS3 main directory contains file gs3-setup.sh, GS2 only setup.bash
+	get_version $gsdlpath
+	_version=$?
+    fi
+fi
+
+echo "Greenstone version found: $_version"
+
+# Check that the main Greenstone installation for the version we're running looks OK
+check_installation $gsdlpath $_version $glilang
+
+
+# Need to source the correct setup file depending on whether we are running
+# gs3 or gs2
+# If we're running version GS2
+if [ "$_version" -eq 2 ]; then
+    # Setup Greenstone 2, unless it has already been done
+    if [ "x$GSDLHOME" = "x" ]; then
+	cd "$gsdlpath"
+	. setup.bash
+	cd "$thisdir"
+    fi
+# else, if we're running GS3
+elif [ "$_version" -eq 3 ]; then
+    # Setup Greenstone 3, unless it has already been done
+    if [ "x$GSDL3HOME" = "x" -o "x$GSDL3SRCHOME" = "x" ]; then
+	cd "$gsdlpath"
+	. gs3-setup.sh
+	cd "$thisdir"
+    fi
+    
+    ## if Greenstone version 3 is running, we want to set gsdl2path
+    ##  ---- Determine GSDLHOME ----
+    ## may be already set, or manually entered here.
+    gsdl2path=
+    
+    # Some users may set the above line manually
+    if [ "x$gsdl2path" = "x" ]; then
+        # Check the environment variable first
+	if [ "x$GSDLHOME" != "x" ]; then
+	    echo "GSDLHOME environment variable is set to $GSDLHOME."
+	    echo "Will use this to find build scripts."
+	    gsdl2path=$GSDLHOME
+        # If it is not set, assume that the gs2build subdirectory of Greenstone 3 exists
+	else
+	    gsdl2path=$GSDL3SRCHOME/gs2build
+	fi
+    fi
+    # Check that Greenstone 3's Greenstone 2 stuff looks OK (in gs2build)
+    check_installation $gsdl2path "" $glilang
+  
+    # Setup Greenstone 3's gs2build, unless it has already been done
+    if [ "x$GSDLHOME" = "x" ]; then
+	cd "$gsdl2path"
+	. setup.bash
+	cd "$thisdir"
+    fi
+
+else 
+    echo "Greenstone version unknown."    
+    exit 1
+fi
+
+echo
+if [ "x$GSDL3SRCHOME" != "x" ]; then
+    echo "GSDL3SRCHOME is: $GSDL3SRCHOME"
+fi
+if [ "x$GSDL3HOME" != "x" ]; then
+    echo "GSDL3HOME is: $GSDL3HOME"
+fi
+if [ "x$GSDLHOME" != "x" ]; then
+    echo "GSDLHOME is: $GSDLHOME"
+fi
+echo
+
+
+
+## ---- Check Java ----
+echo "Java:"
+MINIMUM_JAVA_VERSION=1.4.0_00
+
+# Some users may set this line manually
+#JAVA_HOME=
+
+if [ -z $javapath ]; then
+
+    # sus out search4j
+    if [ "$_version" -eq 2 -a -e "$GSDLHOME/bin/$GSDLOS/search4j" ]; then
+        SEARCH4J_EXECUTABLE=$GSDLHOME/bin/$GSDLOS/search4j
+    elif [ "$_version" -eq 3 -a -e "$GSDL3SRCHOME/bin/$GSDLOS/search4j" ]; then
+        SEARCH4J_EXECUTABLE=$GSDL3SRCHOME/bin/search4j
+    elif [ -e "../bin/$GSDLOS/search4j" ]; then
+        SEARCH4J_EXECUTABLE=../bin/$GSDLOS/search4j
+    elif [ -e "../bin/search4j" ]; then
+        SEARCH4J_EXECUTABLE=../bin/search4j
+    else
+        echo "Couldn't determine the location of the search4j executable"
+        echo "If you are running Greenstone2"
+        echo "   * check GSDLHOME is set"
+        echo "   * check bin/$GSDLOS/search4j exists"
+        echo "   * check bin/$GSDLOS/search4j is executable"
+        echo "If you are running Greenstone3"
+        echo "   * check GSDL3SRCHOME is set"
+        echo "   * check bin/search4j exists"
+        echo "   * check bin/search4j is executable"
+        echo "   * try running 'ant compile-search4j'"
+    fi
+
+	# Give search4j a hint to find Java depending on the platform
+	if [ $GSDLOS = linux ]; then
+		HINT=`cd ..;pwd`/packages/jre
+	elif [ $GSDLOS = darwin ]; then
+		HINT=/System/Library/Frameworks/JavaVM.framework/Home
+	fi	
+	
+    javapath=`$SEARCH4J_EXECUTABLE -e -p $HINT -m $MINIMUM_JAVA_VERSION`
+
+    if [ "$?" != "0" ]; then
+
+        OLDVER=`"$SEARCH4J_EXECUTABLE" -v -p "$HINT"`
+
+        if [ "$?" = "0" ]; then
+
+            if [ "$glilang" = "es" ]; then
+                echo "La versión del Ambiente de Ejecución Java (JRE por sus siglas en "
+                echo "inglés) que usted tiene instalada es demasiado vieja para ejecutar "
+                echo "la Interfaz de la $PROGNAME. Por favor instale "
+                echo "una nueva versión del Ambiente de Ejecución Java (versión $MINIMUM_JAVA_VERSION o "
+                echo "posterior) y ejecute nuevamente este guión."
+            elif [ "$glilang" = "fr" ]; then
+                echo "La version de Java Runtime Environment que vous avez installée est"
+                echo "trop vielle pour faire fonctionner $PROGNAME."
+                echo "Veuillez installer une nouvelle version du JRE (version $MINIMUM_JAVA_VERSION ou plus"
+                echo "récente) et redémarrez le script."
+            elif [ "$glilang" = "ru" ]; then
+                echo "÷ÅÒÓÉÑ Java Runtime Environment, ËÏÔÏÒÕÀ ÷Ù ÕÓÔÁÎÏ×ÉÌÉ, ÏÞÅÎØ ÓÔÁÒÁ,"
+                echo "ÞÔÏÂÙ ÕÐÒÁ×ÌÑÔØ ÂÉÂÌÉÏÔÅÞÎÙÍ $PROGNAME. ðÏÖÁÌÕÊÓÔÁ, "
+                echo "ÕÓÔÁÎÏ×ÉÔÅ ÎÏ×ÕÀ ×ÅÒÓÉÀ JRE (×ÅÒÓÉÀ $MINIMUM_JAVA_VERSION ÉÌÉ ÂÏÌÅÅ ÎÏ×ÕÀ) É"
+                echo "ÐÅÒÅÕÓÔÁÎÏ×ÉÔÅ ÜÔÏÔ ÓËÒÉÐÔ"
+            else
+                echo "The version of the Java Runtime Environment you have installed ($OLDVER)"
+                echo "is too old to run the $PROGNAME. Please install a new"
+                echo "version of the JRE (version $MINIMUM_JAVA_VERSION or newer) and rerun this script."
+            fi
+            exit 1
+
+        else
+
+            echo
+            if [ "$glilang" = "es" ]; then
+                echo "No se pudo localizar una versión apropiada de Java. Usted deberá "
+                echo "instalar un Ambiente de Ejecución Java (versión $MINIMUM_JAVA_VERSION o superior) "
+                echo "antes de correr la Interfaz de la $PROGNAME."
+            elif [ "$glilang" = "fr" ]; then
+                echo "Une version adéquate de Java n'a pas pu être localisée."
+                echo "Vous devez installer un Java Runtime Environment (version $MINIMUM_JAVA_VERSION ou"
+                echo "supérieur) avant de démarrer $PROGNAME."
+				echo "Si vous avez Java installé sur votre ordinateur veuillez vérifier la variable"
+				echo "d'environnement JAVA_HOME."
+            elif [ "$glilang" = "ru" ]; then
+                echo "îÅ ÕÄÁÌÏÓØ ÏÐÒÅÄÅÌÉÔØ ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ ×ÅÒÓÉÉ Java."
+                echo "÷Ù ÄÏÌÖÎÙ ÕÓÔÁÎÏ×ÉÔØ Java Runtime Environment (×ÅÒÓÉÀ $MINIMUM_JAVA_VERSION ÉÌÉ ×ÙÛÅ)"
+                echo "ÐÅÒÅÄ ××ÏÄÏÍ ÂÉÂÌÉÏÔÅÞÎÏÇÏ $PROGNAME."
+            else
+                echo "Failed to locate an appropriate version of Java. You must install a"
+                echo "Java Runtime Environment (version $MINIMUM_JAVA_VERSION or greater) before running the"
+                echo "$PROGNAME."
+				echo "If you have Java intalled on your machine please set the environment variable JAVA_HOME."
+            fi
+        fi
+
+    fi
+
+fi
+echo $javapath
+echo
+
+
+
+## ---- Check that the GEMS has been compiled ----
+if [ ! -f "classes/org/greenstone/gatherer/gems/GEMS.class" ] && [ ! -f "GLI.jar" ]; then
+    echo
+    if [ "$glilang" = "es" ]; then
+	echo "Usted necesita compilar la $PROGNAME"
+	echo "(por medio de makegli.sh) antes de ejecutar este guión."
+    elif [ "$glilang" = "fr" ]; then
+	echo "Vous devez compiler le $PROGNAME (en utilisant makegli.sh)"
+	echo "avant d'exécuter ce script."
+    elif [ "$glilang" = "ru" ]; then
+	echo "÷Ù ÄÏÌÖÎÙ ËÏÍÐÉÌÉÒÏ×ÁÔØ $PROGNAME"
+	echo "(ÉÓÐÏÌØÚÕÑ makegli.sh) ÐÅÒÅÄ ××ÏÄÏÍ ÜÔÏÇÏ ÓËÒÉÐÔÁ"
+    else
+	echo "You need to compile the $PROGNAME (using makegli.sh)"
+	echo "before running this script."
+    fi
+    exit 1
+fi
+
+## ---- Finally, run the GEMS ----
+echo
+if [ "$glilang" = "es" ]; then
+    echo "Ejecutando la $PROGNAME..."
+elif [ "$glilang" = "fr" ]; then
+    echo "Exécution de $PROGNAME..."
+elif [ "$glilang" = "ru" ]; then
+    echo "ôÅËÕÝÉÊ ÂÉÂÌÉÏÔÅÞÎÙÊ $PROGNAME..."
+else
+    echo "Running the $PROGNAME..."
+fi
+
+# Other arguments you can provide to GEMS to work around memory limitations, or debug
+# -Xms<number>M    To set minimum memory (by default 32MB)
+# -Xmx<number>M    To set maximum memory (by default the nearest 2^n to the total remaining physical memory)
+# -verbose:gc      To set garbage collection messages
+# -Xincgc          For incremental garbage collection (significantly slows performance)
+# -Xprof           Function call profiling
+# -Xloggc:<file>   Write garbage collection log
+
+# basic_command is the cmd string common to both Greenstone 3 and Greenstone 2 execution
+# (gs3 doesn't -gsdl3src $GSDL3SRCHOME passed to it, it needs $GSDL3HOME to find the collect dir)
+basic_command="$javapath -classpath classes/:GLI.jar:lib/apache.jar org.greenstone.gatherer.gems.GEMS"
+
+if [ "$_version" -eq 2 ]; then
+    `$basic_command -gsdl $GSDLHOME $*`
+elif [ "$_version" -eq 3 ]; then    
+    `$basic_command -gsdl3 $GSDL3HOME $*`
+fi
+
+    
+if [ "$glilang" = "es" ]; then
+    echo "¡Hecho!"
+elif [ "$glilang" = "fr" ]; then
+    echo "Terminé!"
+elif [ "$glilang" = "ru" ]; then
+    echo "÷ÙÐÏÌÎÅÎÏ!"
+else
+    echo "Done!"
+fi
Index: main/tags/2.83/gli/gli.bat
===================================================================
--- main/tags/2.83/gli/gli.bat	(revision 21123)
+++ main/tags/2.83/gli/gli.bat	(revision 21123)
@@ -0,0 +1,178 @@
+@echo off
+color 0A
+pushd "%CD%"
+CD /D "%~dp0"
+set GLILANG=en
+
+if "%GLIMODE%" == "" set GLIMODE=local
+
+::  -------- Run the Greenstone Librarian Interface --------
+
+:: This script must be run from within the directory in which it lives
+if exist gli.bat goto start
+    if "%GLILANG%" == "en" echo This script must be run from the directory in which it resides.
+    if "%GLILANG%" == "es" echo Este gui¢n deber  ejecutarse desde el directorio en el que reside.
+    if "%GLILANG%" == "fr" echo Ce script doit tre excut 
+ partir du rpertoire dans lequel il se trouve.
+    if "%GLILANG%" == "ru" echo â®â áªàš¯â €®«Š¥­ ¡ëâì ¢§ïâ š§ €šà¥ªâ®àšš, ¢ ª®â®à®© ®­ à á¯®«®Š¥­
+    goto exit
+
+:start
+if "%OS%" == "Windows_NT" goto progName
+    :: Invoke a new command processor to ensure there's enough environment space
+    if "%1" == "Second" goto progName
+        command /E:2048 /C %0 Second %1 %2 %3 %4 %5 %6 %7 %8 %9
+        goto done
+
+
+:progName
+if not "%PROGNAME%" == "" goto findGSDL
+	:: otherwise PROGNAME was not set, so default to the Greenstone Librarian Interface (GLI) program
+	if "%GLILANG%" == "es" set PROGNAME=Biblioteca Digital Greenstone
+	if "%GLILANG%" == "fr" set PROGNAME=Bibliothécaire Greenstone
+	if "%GLILANG%" == "ru" set PROGNAME=ÉÎÔÅÒÆÅÊÓ Greenstone
+	:: if the PROGNAME is still not set, then set the language to English
+	if "%PROGNAME%" == "" set PROGNAME=Greenstone Librarian Interface
+
+
+if "%PROGABBR%" == "" set PROGABBR=GLI
+if "%PROGNAME_EN%" == "" set PROGNAME_EN=Greenstone Librarian Interface
+
+:: Now need to work out the _VERSION, GSDLHOME (and if GS3, then GSDL3SRCHOME and GSDL3HOME)
+:findGSDL
+call findgsdl.bat
+if "%GSDLHOME%" == "" goto exit
+
+:: Now need to find Perl. If found, PERLPATH will be set
+call findperl.bat
+if "%PERLPATH%" == "" goto exit
+
+:: Need to find Java. If found, JAVA_EXECUTABLE will be set
+call findjava.bat
+if "%JAVA_EXECUTABLE%" == "" goto exit
+
+
+:checkGLI
+:: ---- Check that the GLI has been compiled ----
+if exist "classes/org/greenstone/gatherer/Gatherer.class" goto runGLI
+if exist "GLI.jar" goto runGLI
+    echo.
+    if "%GLILANG%" == "en" echo You need to compile the Greenstone Librarian Interface (using makegli.bat)
+    if "%GLILANG%" == "en" echo before running this script.
+
+    if "%GLILANG%" == "es" echo Usted necesita compilar la Interfaz de la Biblioteca Digital Greenstone
+    if "%GLILANG%" == "es" echo (por medio de makegli.bat) antes de ejecutar este gui¢n.
+
+    if "%GLILANG%" == "fr" echo Vous devez compiler le Greenstone Interface (en utilisant makegli.bat)
+    if "%GLILANG%" == "fr" echo avant d'excuter ce script.
+
+    if "%GLILANG%" == "ru" echo ë €®«Š­ë ª®¬¯š«šà®¢ âì ¡š¡«š®â¥ç­ë© š­â¥àä¥©á Greenstone (šá¯®«ì§ãï makegli.bat)
+    if "%GLILANG%" == "ru" echo ¯¥à¥€ ¢¢®€®¬ íâ®£® áªàš¯â 
+    goto exit
+
+
+:runGLI
+
+if not "%_VERSION%" == "" (
+    echo Greenstone Major Version:
+	echo %_VERSION%
+	echo.
+)
+
+if not "%GSDL3SRCHOME%" == "" (
+    echo GSDL3SRCHOME:
+    echo %GSDL3SRCHOME%
+	echo.
+)
+
+if not "%GSDL3HOME%" == "" (
+    echo GSDL3HOME:
+    echo %GSDL3HOME%
+	echo.
+)
+
+if not "%GSDLHOME%" == "" (
+    echo GSDLHOME:
+    echo %GSDLHOME%
+	echo.
+)
+
+:: ---- Explain how to bypass Imagemagick and Ghostscript bundled with Greenstone if needed ----
+echo.
+if exist "%GSDLHOME%\bin\windows\ghostscript\bin\*.*" echo GhostScript bundled with Greenstone will be used, if you wish to use the version installed on your system (if any) please go to %GSDLHOME%\bin\windows and rename the folder called ghostscript to something else.
+echo.
+echo.
+if exist "%GSDLHOME%\bin\windows\imagemagick\*.*" echo ImageMagick bundled with Greenstone will be used, if you wish to use the version installed on your system (if any) please go to %GSDLHOME%\bin\windows and rename the folder called imagemagick to something else.
+echo.
+echo.
+
+
+:: ---- Finally, run the GLI ----
+if "%GLILANG%" == "en" echo Running the %PROGNAME%...
+if "%GLILANG%" == "es" echo Ejecutando la %PROGNAME%...
+if "%GLILANG%" == "fr" echo Excution de %PROGNAME%
+if "%GLILANG%" == "ru" echo ¥ªãéš© ¡š¡«š %PROGNAME%...
+
+:: -Xms32M          To set minimum memory
+:: -Xmx32M          To set maximum memory
+:: -verbose:gc      To set garbage collection messages
+:: -Xincgc          For incremental garbage collection
+:: -Xprof           Function call profiling
+:: -Xloggc:<file>   Write garbage collection log
+
+
+:: Run GS3 if version = 3
+if "%_VERSION%" == "3" "%JAVA_EXECUTABLE%" -cp classes/;GLI.jar;lib/apache.jar;lib/qfslib.jar org.greenstone.gatherer.GathererProg -gsdl "%GSDLHOME%" -gsdlos %GSDLOS% -gsdl3 "%GSDL3HOME%" -gsdl3src "%GSDL3SRCHOME%" -perl "%PERLPATH%" %1 %2 %3 %4 %5 %6 %7 %8 %9
+if "%_VERSION%" == "3" goto finRun
+
+:: Run GS2 since version is 2:
+:: if FLI is running, we don't want the local Greenstone library server running
+if "%PROGABBR%" == "FLI" goto webLib
+	:: Else we're running GLI, so we want the local Greenstone library server (if server.exe/gs2-server.bat exists, otherwise it will be webLib)
+	if not exist "%GSDLHOME%\server.exe" if not exist "%GSDLHOME%\gs2-server.bat" goto webLib 
+
+:localLib
+    if exist "%GSDLHOME%\server.exe" (
+	set locallib=%GSDLHOME%\server.exe
+    ) else (
+	set locallib=%GSDLHOME%\gs2-server.bat
+    )
+
+    "%JAVA_EXECUTABLE%" -Xmx128M -cp classes/;GLI.jar;lib/apache.jar;lib/qfslib.jar org.greenstone.gatherer.GathererProg -gsdl "%GSDLHOME%" -gsdlos %GSDLOS% -perl "%PERLPATH%" -local_library "%locallib%" %1 %2 %3 %4 %5 %6 %7 %8 %9
+    if ERRORLEVEL 2 (
+        goto localLib
+    )
+    goto finRun
+
+:webLib
+    "%JAVA_EXECUTABLE%" -Xmx128M -cp classes/;GLI.jar;lib/apache.jar;lib/qfslib.jar org.greenstone.gatherer.GathererProg -gsdl "%GSDLHOME%" -gsdlos %GSDLOS% -perl "%PERLPATH%" %1 %2 %3 %4 %5 %6 %7 %8 %9
+    if ERRORLEVEL 2 (
+        goto webLib
+    )
+    goto finRun
+
+:finRun
+    if "%GLILANG%" == "en" echo Done!
+    if "%GLILANG%" == "es" echo ­Hecho!
+    if "%GLILANG%" == "fr" echo Termin!
+    if "%GLILANG%" == "ru" echo ë¯®«­¥­®!
+    goto done
+
+
+:exit
+echo.
+pause
+color 07
+popd
+
+:done
+:: ---- Clean up ----
+set PERLPATH=
+set JAVA_EXECUTABLE=
+set GLIMODE=
+set PROGNAME=
+set PROGNAME_EN=
+set PROGFULLNAME=
+set PROGABBR=
+color 07
+popd
Index: main/tags/2.83/gli/gli.sh
===================================================================
--- main/tags/2.83/gli/gli.sh	(revision 21123)
+++ main/tags/2.83/gli/gli.sh	(revision 21123)
@@ -0,0 +1,187 @@
+#!/bin/bash
+
+glilang=en
+
+if [ "x$PROGNAME" = "x" ] ; then
+  if [ "$glilang" = "es" ]; then
+    PROGNAME="Biblioteca Digital Greenstone"
+  elif [ "$glilang" = "fr" ]; then
+    PROGNAME="Bibliothécaire Greenstone"
+  elif [ "$glilang" = "ru" ]; then
+    PROGNAME="ÉÎÔÅÒÆÅÊÓ Greenstone"
+  else
+    PROGNAME="Greenstone Librarian Interface"
+  fi
+fi
+
+if [ "x$PROGABBR" = "x" ] ; then
+    PROGABBR="GLI"
+fi
+
+if [ "x$PROGNAME_EN" = "x" ] ; then
+    PROGNAME_EN="Greenstone Librarian Interface"
+fi
+
+if [ "x$GLIMODE" = "x" ] ; then
+    GLIMODE="local"
+fi
+
+echo
+if [ "$glilang" = "es" ]; then
+    echo "Interfaz de la $PROGNAME ($PROGNAME_EN - $PROGABBR)"
+    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
+    echo "La Interfaz de la $PROGNAME NO INCLUYE ABSOLUTAMENTE NINGUNA GARANTÍA."
+    echo "Para mayor información vea los términos de la licencia en LICENSE.txt"
+    echo "Este es un software abierto, por lo que lo invitamos a que lo distribuya de forma gratuita"
+elif [ "$glilang" = "fr" ]; then
+    echo "Interface du $PROGNAME ($PROGNAME_EN - $PROGABBR)"
+    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
+    echo "$PROGABBR est fourni sans AUCUNE GARANTIE; pour des détails, voir LICENSE.txt"
+    echo "Ceci est un logiciel libre, et vous êtes invité à le redistribuer"
+elif [ "$glilang" = "ru" ]; then
+    echo "âÉÂÌÉÏÔÅÞÎÙÊ $PROGNAME ($PROGNAME_EN - $PROGABBR)"
+    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
+    echo "âéç ÎÅ ÄÁÅÔ áâóïìàôîï îéëáëéè çáòáîôéê; ÄÅÔÁÌÉ ÓÍ. × ÔÅËÓÔÅ LICENSE.TXT"
+    echo "üÔÏ - Ó×ÏÂÏÄÎÏ ÒÁÓÐÒÏÓÔÒÁÎÑÅÍÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ É ÷Ù ÍÏÖÅÔÅ ÒÁÓÐÒÏÓÔÒÁÎÑÔØ ÅÇÏ"
+else
+    echo "$PROGNAME ($PROGABBR)"
+    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
+    echo "$PROGABBR comes with ABSOLUTELY NO WARRANTY; for details see LICENSE.txt"
+    echo "This is free software, and you are welcome to redistribute it"
+fi
+echo
+
+##  -------- Run the Greenstone Librarian Interface --------
+# Need to run this script from its own directory instead of whichever directory it may be called from
+#currentdir=$(cd `dirname "$0"` && pwd)
+thisdir="`dirname \"$0\"`"
+thisdir="`cd \"$thisdir\" && pwd`"
+cd "$thisdir"
+
+
+##  ---- Determine GSDLHOME ----
+# need to source a script in order to inherit the env vars it has set
+# Exit on error code (non-zero)
+exit_status=0
+source ./findgsdl.sh
+exit_status=$?
+if [ "$exit_status" -eq 1 ]; then
+    exit 1;
+fi
+
+## ---- find perl ----
+# no need to source the findperl script since it does not set env vars
+exit_status=0
+./findperl.sh
+exit_status=$?
+if [ "$exit_status" -eq 1 ]; then
+    exit 1;
+fi
+
+## ---- Check Java ----
+# call the script with source, so that we have the variables it sets ($javapath)
+exit_status=0
+source ./findjava.sh "$glilang" "$PROGNAME"
+exit_status=$?
+if [ "$exit_status" -eq 1 ]; then
+    exit 1;
+fi
+
+## ---- Check that the GLI has been compiled ----
+if [ ! -f "classes/org/greenstone/gatherer/GathererProg.class" ] && [ ! -f "GLI.jar" ]; then
+    echo
+    if [ "$glilang" = "es" ]; then
+    echo "Usted necesita compilar la Interfaz de la Biblioteca Digital Greenstone"
+    echo "(por medio de makegli.sh) antes de ejecutar este guión."
+    elif [ "$glilang" = "fr" ]; then
+    echo "Vous devez compiler le Greenstone Interface (en utilisant makegli.sh)"
+    echo "avant d'exécuter ce script."
+    elif [ "$glilang" = "ru" ]; then
+    echo "÷Ù ÄÏÌÖÎÙ ËÏÍÐÉÌÉÒÏ×ÁÔØ ÂÉÂÌÉÏÔÅÞÎÙÊ ÉÎÔÅÒÆÅÊÓ Greenstone"
+    echo "(ÉÓÐÏÌØÚÕÑ makegli.sh) ÐÅÒÅÄ ××ÏÄÏÍ ÜÔÏÇÏ ÓËÒÉÐÔÁ"
+    else
+    echo "You need to compile the Greenstone Librarian Interface (using makegli.sh)"
+    echo "before running this script."
+    fi
+    exit 1
+fi
+
+## ---- Explain how to bypass Imagemagick and Ghostscript bundled with Greenstone if needed ----
+if [ -e "$GSDLHOME/bin/$GSDLOS/ghostscript" ] ; then
+echo "GhostScript bundled with Greenstone will be used, if you wish to use the version installed on your system (if any) please go to $GSDLHOME/bin/$GSDLOS and rename the folder called ghostscript to something else."
+fi
+echo
+echo
+if [ -e "$GSDLHOME/bin/$GSDLOS/imagemagick" ] ; then
+echo "ImageMagick bundled with Greenstone will be used, if you wish to use the version installed on your system (if any) please go to $GSDLHOME/bin/$GSDLOS and rename the folder called imagemagick to something else."
+echo
+echo
+fi
+
+
+## ---- Finally, run the GLI ----
+if [ "$glilang" = "es" ]; then
+    echo "Ejecutando la Interfaz de la $PROGNAME..."
+elif [ "$glilang" = "fr" ]; then
+    echo "Exécution de $PROGNAME..."
+elif [ "$glilang" = "ru" ]; then
+    echo "ôÅËÕÝÉÊ ÂÉÂÌÉÏÔÅÞÎÙÊ $PROGNAME..."
+else
+    echo "Running the $PROGNAME..."
+fi
+
+# basic_command is the cmd string common to both Greenstone 3 and Greenstone 2 execution
+#basic_command="$javapath -Xmx128M -classpath classes/:GLI.jar:lib/apache.jar:lib/qfslib.jar org.greenstone.gatherer.GathererProg"
+stop_gli=0
+while [ "$stop_gli" = "0" ] ; do 
+    
+    # Other arguments you can provide to GLI to work around memory limitations, or debug
+    # -Xms<number>M    To set minimum memory (by default 32MB)
+    # -Xmx<number>M    To set maximum memory (by default the nearest 2^n to the total remaining physical memory)
+    # -verbose:gc      To set garbage collection messages
+    # -Xincgc          For incremental garbage collection (significantly slows performance)
+    # -Xprof           Function call profiling
+    # -Xloggc:<file>   Write garbage collection log
+    
+    exit_status=0
+    if [ "$_version" -eq 2 ]; then
+# GS2 webLib
+	if [ "$PROGABBR" = "FLI" -o ! -f "$GSDLHOME/gs2-server.sh" ]; then
+	    "$javapath" -Xmx128M -classpath classes/:GLI.jar:lib/apache.jar:lib/qfslib.jar org.greenstone.gatherer.GathererProg -gsdl "$GSDLHOME" -gsdlos $GSDLOS $*
+	    exit_status=$?
+# GS2 localLib
+	else
+	    "$javapath" -Xmx128M -classpath classes/:GLI.jar:lib/apache.jar:lib/qfslib.jar org.greenstone.gatherer.GathererProg -gsdl "$GSDLHOME" -gsdlos $GSDLOS -local_library "$GSDLHOME/gs2-server.sh" $*
+	    exit_status=$?
+	fi
+# GS3
+    elif [ "$_version" -eq 3 ]; then    
+        "$javapath" -Xmx128M -classpath classes/:GLI.jar:lib/apache.jar:lib/qfslib.jar org.greenstone.gatherer.GathererProg -gsdl "$GSDLHOME" -gsdlos $GSDLOS -gsdl3 "$GSDL3HOME" -gsdl3src "$GSDL3SRCHOME" $*
+        exit_status=$?
+    fi
+    
+    if [ "$exit_status" != "2" ] ; then
+        stop_gli=1
+    else
+        echo
+        if [ "$glilang" = "es" ]; then
+            echo "Restarting/Ejecutando la Interfaz de la $PROGNAME..."
+        elif [ "$glilang" = "fr" ]; then
+            echo "Restarting/Exécution de $PROGNAME..."
+        elif [ "$glilang" = "ru" ]; then
+            echo "Restarting/ôÅËÕÝÉÊ ÂÉÂÌÉÏÔÅÞÎÙÊ $PROGNAME..."
+        else
+            echo "Restarting the $PROGNAME..."
+        fi
+    fi
+done 
+
+if [ "$glilang" = "es" ]; then
+    echo "¡Hecho!"
+elif [ "$glilang" = "fr" ]; then
+    echo "Terminé!"
+elif [ "$glilang" = "ru" ]; then
+    echo "÷ÙÐÏÌÎÅÎÏ!"
+else
+    echo "Done!"
+fi
Index: main/tags/2.83/gli/gsdlver.bat
===================================================================
--- main/tags/2.83/gli/gsdlver.bat	(revision 21123)
+++ main/tags/2.83/gli/gsdlver.bat	(revision 21123)
@@ -0,0 +1,10 @@
+@echo off
+
+:: This batch script returns the version of greenstone that is running
+set _VERSION=1
+
+:: first parameter is the value of gsdlpath
+if exist %1\gs3-setup.bat set _VERSION=3
+if exist %1\setup.bat set _VERSION=2
+
+
Index: main/tags/2.83/gli/help/README.txt
===================================================================
--- main/tags/2.83/gli/help/README.txt	(revision 21123)
+++ main/tags/2.83/gli/help/README.txt	(revision 21123)
@@ -0,0 +1,9 @@
+The following notes talk about the English version of the help. They can be adapted for the other languages by substituting the appropraite two-letter code for 'en'.
+
+en/help.xml is the main help file. This is the file that should be edited when modifying the help.
+
+After the XML file has been modified, the HTML versions and index need to be regenerated. This uses XSLT to transform the XML into HTML.
+
+The generate-html.sh script will do this for English. Just run this script in this directory (gli/help). This generates help_index.xml, and *.htm, one page per section of help.
+
+If you want to do it on Windows or for other languages, you'll need to modify the script.
Index: main/tags/2.83/gli/help/ar/addingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/ar/addingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/addingfiles.htm	(revision 21123)
@@ -0,0 +1,133 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="addingfiles"><font size="5" face="Verdana"><strong>4.4: Ø¥Ø¶Ø§ÙØ© Ù
+ÙÙØ§Øª</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙÙ
+ÙÙ ÙØ³Ø® Ø§ÙÙ
+ÙÙØ§Øª Ø¥ÙÙ Ø§Ù Ù
+Ø¬Ù
+ÙØ¹Ø© ØšØ§ÙØ³Ø­Øš ÙØ§ÙØ§Ø³ÙØ§Ø·Ø ÙØµØšØ­ ØŽÙÙ Ø§ÙÙ
+Ø€ØŽØ± ØšØµÙØ±Ø© ØŽØšØ­ÙØ© ÙÙÙ
+ÙÙ Ø§ÙÙ
+Ø®ØªØ§Ø± (Ø£ÙØ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©)0 Ø§Ø³ÙØ· ÙØ°Ø§ Ø§ÙØ§Ø®ØªÙØ§Ø± ÙÙ ØŽØ¬Ø±Ø© Ù
+ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙØ³Ø®ÙØ§ Ø¥ÙÙ ÙÙØ§ÙØ (Ø§Ø°Ø§ ÙØ§Ù Ø§ÙÙ
+ØµØ¯Ø± ÙÙ ØŽØ¬Ø±Ø© Ù
+Ø³Ø§Ø­Ø© Ø§ÙØ¹Ù
+Ù) Ø£Ù ØªØ­Ø±ÙÙÙØ§ Ø¬Ø§ÙØšÙØ§Ù (Ø§Ø°Ø§ ÙØ§Ù ÙØ°Ø§ Ø§ÙØ£Ù
+Ø± Ø¶Ù
+Ù ÙØ·Ø§Ù ØŽØ¬Ø±Ø© Ù
+ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©)0</p>
+
+<p>Ø¹ÙØ¯ ÙØ³Ø® Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+ÙÙØ§ØªØ ØªÙØ¶Ø­ ÙÙÙØ§ ÙÙ Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙÙ
+Ø³ØªÙØ¯Ù ÙÙ ÙÙØ³ Ø§ÙÙ
+Ø³ØªÙÙ ØšØ¯ÙÙ Ø§Ø¹ØªØšØ§Ø± ÙÙØ¶Ø¹ÙØ§ Ø§ÙØ§ØµÙÙ ÙÙ Ø§ÙÙ
+ØµØ¯Ø±0 Ø¹ÙØ¯ ÙØ³Ø® Ù
+ÙÙ ØšÙÙØ³ Ø§ÙØ§Ø³Ù
+ ÙÙ
+ÙÙ ØšØ§ÙÙ
+Ø¬ÙØ¯ Ø§ÙÙ
+Ø³ØªÙØ¯ÙØ Ø³ÙÙ ÙØªÙ
+ Ø§Ø³ØªÙØ³Ø§Ø±Ù  Ø§Ø°Ø§ ÙÙØª ØªÙØ¯ ÙØ³Ø® ÙØ°Ø§ Ø§ÙÙ
+ÙÙ ÙÙÙ ÙÙØ³ Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+ÙØ¬ÙØ¯0 Ø§ÙØ¥Ø¬Ø§ØšØ© ØšÙØ§ ØªØ¹ÙÙ Ø£Ù Ø§ÙÙ
+ÙÙ ÙØ§ ÙÙØ³Ø®Ø ÙÙÙ ÙØªÙ
+ ÙØ³Ø® ØšÙÙØ© Ø§ÙÙ
+ÙÙØ§Øª0 ÙØ§ÙØºØ§Ø¡ ØšÙÙØ© Ø§ÙØ§Ø¬Ø±Ø§Ø¡Ø Ø§ÙÙØ± Ø²Ø± "ØªÙÙÙ"0</p>
+
+<p>Ø§ÙØ¹ÙØ§ØµØ± "Ø§ÙØ¹ÙÙØ§ " ÙÙØ· ÙÙ Ø§ÙØ¹ÙØ§ØµØ± Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© ÙÙ Ø§ÙØªÙ ØªÙ
+ ØªØ­ÙÙÙÙØ§ Ø ÙØ¹ØªØšØ± Ø§ÙÙ
+Ø¬ÙØ¯ Ø§Ø¹ÙÙ Ù
+Ù ØªØ¹Ø±ÙÙØ§ØªÙØ ÙØ§ ÙÙ
+ÙÙ Ø§Ø®ØªÙØ§Ø± Ø§ÙÙ
+ÙÙØ§Øª Ø¶Ù
+Ù Ø§ÙÙ
+Ø¬ÙØ¯ Ø£Ù Ø§ÙÙ
+Ø¬ÙØ¯ Ø°Ø§ØªÙ0</p>
+
+<p>ÙÙÙÙ
+ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ Ø¹ÙØ¯ Ø§Ø¶Ø§ÙØ© Ù
+ÙÙ ÙØšØ­Ø« Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª Ø¹Ù Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙØ§Ø¶Ø§ÙÙØ© Ø§ÙØªÙ ØªØªØ¶Ù
+Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ø¹ÙÙØ© Ù
+Ù ÙØšÙ ÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙØ§Ø¶Ø§ÙÙØ©0 ÙØ§Ø°Ø§ ÙØ¬Ø¯ÙØ§ ÙÙÙÙ
+ ØšØ¹Ù
+ÙÙØ© Ø§Ø³ØªÙØ±Ø§Ø¯ ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙØ°Ù Ø®ÙØ§Ù ÙØªØ±Ø© Ø³Ø±ÙØ§Ù Ø§ÙØ¹Ù
+ÙÙØ©Ø Ø³ÙÙ ÙØªÙ
+ Ø­Ø«Ù (Ø±ØšÙ
+Ø§ Ù
+Ø±Ø§Øª Ø¹Ø¯ÙØ¯Ø©) ÙÙ
+Ø²ÙØ¯ Ù
+Ù Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª ÙÙ
+ÙØ§Ø±ØšÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø³ØªÙØ±Ø¯Ø© ÙÙ
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ØªÙÙØ±Ø© ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©Ø ÙÙØªØ¶Ù
+Ù ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø§Øª Ø­Ø« Ù
+Ø®ØªÙÙØ© Ù
+ÙØµÙÙØ© ÙÙ ÙØ³Ù
+ <a href="importingpreviouslyassignedmetadata.htm">Ø¥Ø³ØªÙØ±Ø§Ø¯ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© Ø³Ø§ØšÙØ§</a>ÙÙ
+Ø²ÙØ¯ Ù
+Ù Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø­ÙÙ ØªÙØ¶ÙØ­ Ø§Ø¬Ø±Ø§Ø¡Ø§Øª ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ÙØ­ÙØ©Ø Ø§ÙØ±Ø£ Ø§ÙÙØµÙ Ø§ÙØ«Ø§ÙÙ Ù
+Ù Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+Ø·ÙØ±ÙÙ ØªØ­Øª Ø¹ÙÙØ§Ù Ø§ÙØ¬Ø§Ø¯ Ù
+Ø­ØªÙÙØ§Øª Ø§ÙÙØ«ÙÙØ©0</p>
+
+<p>ÙÙ
+ÙÙÙ Ø§Ø¶Ø§ÙØ© ÙØ«ÙÙØ© "Ù
+Ø²ÙÙØ©" Ø¥ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙØ± Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù ÙÙ ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø£Ù ÙÙ Ù
+Ø¬ÙØ¯Ø ÙØ§Ø®ØªÙØ§Ø± "ÙØ«ÙÙØ© Ù
+Ø²ÙÙØ© Ø¬Ø¯ÙØ¯Ø©" ÙØ³ÙÙ ÙÙØŽØŠ ÙØ°Ø§ Ù
+ÙÙ Ø¬Ø¯ÙØ¯ ÙØ§Ø±Øº ÙÙ
+ÙÙ ÙÙÙ Ø§Ø¹ØªÙ
+Ø§Ø¯ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§ØªØ ÙÙ
+ÙÙ Ø§Ø³ØªØšØ¯Ø§Ù ÙØ°Ø§ Ø§ÙÙ
+ÙÙ ØšÙ
+ÙÙ "Ø­ÙÙÙÙ" ÙÙÙ
+Ø§ ØšØ¹Ø¯0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/addingpreviouslydefinedmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/ar/addingpreviouslydefinedmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/addingpreviouslydefinedmetadata.htm	(revision 21123)
@@ -0,0 +1,47 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="addingpreviouslydefinedmetadata"><font size="5" face="Verdana"><strong>5.4: Ø¥Ø¶Ø§ÙØ© ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹Ø±ÙØ© Ø³Ø§ØšÙØ§</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØ§Ø¶Ø§ÙØ© ÙØ§ØµÙÙ ØšÙØ§ÙØ§Øª Ø¬Ø¯ÙØ¯Ø© ÙØ§Ø®Ø±Ù Ù
+ÙØ¬ÙØ¯Ù Ù
+Ù ÙÙÙ
+Ø© Ø§ÙØ­ÙÙØ Ø§ÙÙØ§Ù ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§ÙÙ
+ÙÙØ  Ø«Ù
+ Ø§Ø®ØªÙØ§Ø± Ø§ÙÙÙÙ
+Ø© Ø§ÙÙ
+Ø·ÙÙØšØ© Ù
+Ù ØŽØ¬Ø±Ø© Ø§ÙÙÙÙ
+Ø ØªÙØ³ÙØ¹  Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª Ø§ÙÙØ±Ù
+ÙÙ ÙÙÙØ§Ù ÙÙ
+Ø§ ÙÙ Ù
+Ø·ÙÙØšØ Ø³ÙÙ ØªØžÙØ± ØªÙÙØ§ØŠÙØ§Ù ÙÙÙ
+Ø© Ø§ÙÙ
+Ø¯Ø®Ù Ø§ÙÙ
+Ø®ØªØ§Ø± ÙÙ ÙÙÙ
+Ø© Ø§ÙØ­ÙÙ (ØšØ¯ÙØ§ÙØ Ø§Ø³ØªØ®Ø¯Ù
+ Ø§Ø®ØªÙØ§Ø± Ø§ÙÙÙÙ
+ Ø§ÙØªÙÙØ§ØŠÙ ÙØ³Ù
+Ø§Øª Ø§ÙØ§ÙÙØ§Ø¡ Ø§ÙØªÙÙØ§ØŠÙ)0
+ </p>
+
+<p>Ø¥Ø¬Ø±Ø§Ø¡ Ø¥Ø¶Ø§ÙØ© ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ø¹ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+ÙØ¬ÙØ¯Ø© Ù
+Ù ÙØšÙ Ø¥ÙÙ Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª Ø£Ù Ø§ÙÙ
+ÙÙØ§Øª ÙÙ ÙÙØ³ Ø§ÙØ§Ø¬Ø±Ø§Ø¡0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/appendingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/ar/appendingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/appendingmetadata.htm	(revision 21123)
@@ -0,0 +1,68 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="appendingmetadata"><font size="5" face="Verdana"><strong>5.3: ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¬Ø¯ÙØ¯Ø© Ù
+Ø¹ÙÙØ©</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØ­Ù Ø§ÙØ¢Ù ÙØ¶ÙÙ Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§ØªØ Ø§ÙØ¹ÙØµØ± ÙÙÙÙ
+Ø© Ø§ÙØ¹ÙØµØ± Ø§ÙÙ Ù
+ÙÙ0 Ø§ÙÙØ§Ù ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ù
+ÙÙ Ù
+Ù ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø¹ÙÙ Ø§ÙÙØ³Ø§Ø±Ø ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ ÙØ³ØšØš Ø§Ù Ø§Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ø­Ø¯Ø¯Ø© Ù
+Ù ÙØšÙ Ø³ÙÙ ÙØªÙ
+ ØªØ¹ÙÙÙØ§ ÙÙØ°Ø§ Ø§ÙÙ
+ÙÙ ÙØ³ÙÙ ØªØžÙØ± ÙÙ Ø§ÙØ¬Ø¯ÙÙ ÙÙ Ø§ÙØ¬Ø§ÙØš Ø§ÙØ§ÙÙ
+Ù0</p>
+
+<p>ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØ°Ù ØªÙØ¯ Ø§Ø¶Ø§ÙØªÙ ØšÙØ§Ø³Ø·Ø© Ø§ÙÙÙØ± Ø¹ÙÙ Ù
+ÙØ§ÙÙ ÙÙ Ø§ÙØ¬Ø¯ÙÙ0</p>
+
+<p>Ø§Ø·ØšØ¹ Ø§ÙÙÙÙ
+Ø© Ø¯Ø§Ø®Ù Ø§ÙØ­ÙÙ0 Ø§Ø³Ø®Ø¯Ù
+ Ù
+Ø­Ø±Ù "|" ÙØ§Ø¶Ø§ÙØ© Ø§ÙØšÙØ§Ø¡ Ø§ÙÙØ±Ù
+ÙØ ÙÙ
+Ø§ ÙÙ Ù
+ÙØµÙÙ <a href="theenrichview.htm">Ù
+ØŽÙØ¯ Ø¥Ø«Ø±Ø§Ø¡</a>- Ø§ÙØ¶ØºØ· Ø¹ÙÙ Ù
+ÙØ§ØªÙØ­ Ø§Ø³ÙÙ
+ (Ø§Ø¹ÙÙ) Ù (Ø§Ø³ÙÙ) ÙØ­ÙØž ÙÙÙ
+Ø©  ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙØ­Ø±Ù  Ø§ÙØ§Ø®ØªÙØ§Ø± ØšØµÙØ±Ø© Ù
+ÙØ§Ø³ØšØ©0 Ø§ÙØ¶ØºØ· Ø¹ÙÙ Ù
+ÙØªØ§Ø­ [Enter] Ø³ÙÙ ÙØ­ÙØž  ÙÙÙ
+Ø© ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙÙØŽØŠ Ù
+Ø¯Ø®Ù ÙØ§Ø±Øº Ø¬Ø¯ÙØ¯ ÙØ¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙÙ
+ÙÙÙ Ù
+Ù ØªØ¹ÙÙÙ ÙÙÙ
+ Ù
+ØªØ¹Ø¯Ø¯Ø© ÙØ¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª0</p>
+
+<p>ÙÙ
+ÙÙÙ Ø£ÙØ¶Ø§Ù Ø§Ø¶Ø§ÙØ© ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø§ÙÙ Ù
+Ø¬ÙØ¯ Ø£Ù Ø§ÙÙ Ù
+ÙÙØ§Øª Ù
+ØªØ¹Ø¯Ø¯Ø© Ù
+Ø®ØªØ§Ø±Ø© ÙØ¥ÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙØ±Ø¹ÙØ©0 ÙØ¬Øš Ø£Ù ØªØªØ°ÙØ± Ø§Ù ØªØ¹ÙÙÙ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¥ÙÙ Ù
+Ø¬ÙØ¯Ø ÙØ¹ÙÙ Ø£Ù ÙØ°Ù Ø§ÙÙØ§ØµÙØ§Øª Ø³ÙÙ ÙØªÙ
+ ØªØ¶Ù
+ÙÙÙØ§ ØªÙÙØ§ØŠÙØ§Ù ÙØ§Ù Ù
+ÙÙØ§Øª Ø¬Ø¯ÙØ¯Ø© Ø¯Ø§Ø®Ù ÙÙÙ
+ ÙØ°Ù Ø§ÙÙ
+Ø¬ÙØ¯0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/assignlanguages.htm
===================================================================
--- main/tags/2.83/gli/help/ar/assignlanguages.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/assignlanguages.htm	(revision 21123)
@@ -0,0 +1,76 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="assignlanguages"><font size="5" face="Verdana"><strong>6.4.3: ØªØ¹ÙÙÙ ÙØºØ©</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙÙØµÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙÙÙÙØ©  ØªÙÙÙØ¯ ÙØŽØ§ÙØ§Øª Ø§ÙØšØ­Ø« ÙÙØºØ§Øª Ù
+Ø¹ÙÙÙ. ÙÙ
+ÙÙ Ø§ÙØ¬Ø§Ø²  ÙØ°Ø§ ØšØªÙÙÙØ¯ ÙØ·Ø§Ø¹ Ù
+Ø³ØªØ®Ø¯Ù
+Ø§Ù "ØªØ¹ÙÙÙ ÙØºØ§Øª" ÙÙ ÙØ§ÙØªØ© "ÙØŽØ§ÙØ§Øª Ø§ÙÙØ·Ø§Ø¹".</p>
+
+<p>ØªØ³ØªØ®Ø¯Ù
+ Ø§ÙÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙØºÙÙØ© ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙØªØ­Ø¯ÙØ¯ Ø§ÙÙØ«Ø§ØŠÙ Ø§ÙØªÙ ÙÙ ÙØºØ§Øª Ù
+Ø¹ÙÙØ© Ù ÙØ°Ø§ ÙÙØšØºÙ Ø§Ù ØªØ¯Ø±Ø¬ ÙÙ Ø§ÙÙØ·Ø§Ø¹ .ÙÙÙÙ
+ Ø¬Ø±ÙÙØ³ØªÙÙ ØšØªÙÙÙØ¯ ÙØ§ØµÙØ© ØšÙØ§ÙØ§Øª Ø§ÙÙØºØ© "ex.Language " ØšØ§ÙÙØ³ØšØ© ÙÙ
+Ø¹ØžÙ
+ Ø§ÙÙØ«Ø§ØŠÙ Ù ÙÙ ÙØ§ØµÙØ© Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØ¥ÙØªØ±Ø§Ø¶ÙØ© Ø§ÙØªÙ ØªØ³ØªØ®Ø¯Ù
+. Ù Ù
+Ø¹ Ø°ÙÙØ ÙØ§Ù ÙØ°Ø§ ÙÙ
+ÙÙ ØªØºÙØ±Ù ØšØªØ¹Ø¯ÙÙ "ÙØºØ© ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª" ÙØªØµØ­ÙØ­ Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª . </p>
+
+<p>TÙØ§Ø¶Ø§ÙØ© ÙØ·Ø§Ø¹ ÙØºÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ tab "ØªØ¹ÙÙÙ ÙØºØ§Øª" ÙØšÙØ§Ø¡ ÙØŽØ§Ù ÙÙØ§0ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± ÙØºØ© Ø£Ù Ø£ÙØ«Ø± Ù
+Ù ÙØ§ØŠÙ
+Ø© "ÙØºØ§Øª ÙÙØ§Ø¶Ø§ÙØ©" Ø Ø§ÙÙØ± "Ø§Ø¶Ø§ÙØ© ÙØ·Ø§Ø¹ "0</p>
+
+<p>ÙØªØºÙÙØ± ÙØ·Ø§Ø¹ Ù
+ÙØ¬ÙØ¯Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù ÙØ§ØŠÙ
+Ø© "ÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙØºØ© Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©" ÙØªØ¹Ø¯ÙÙ Ø§ÙÙØºØ© Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© Ù
+Ù ÙØ§ØŠÙ
+Ø© "ÙØºØ§Øª ÙÙØ§Ø¶Ø§ÙØ©" ÙÙ Ø§ÙØ§Ø³ÙÙØ ÙØ§ÙÙØ± "Ø§Ø³ØªØšØ¯Ø§Ù ÙØ·Ø§Ø¹"0.</p>
+
+<p>ÙØ­Ø°Ù ÙØºØ© Ø  ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±ÙØ§ Ù
+Ù ÙØ§ØŠÙ
+Ø©  "Ø§Ø®ØªÙØ§Ø± ÙØºØ©"Ø ÙØ§ÙÙØ± "Ø­Ø°Ù ÙØºØ©"0</p>
+
+<p>ØªØ±ØªÙØš ÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙØºØ© Ø§ÙÙ
+Ø­Ø¯Ø¯ ÙÙ ÙØ§ØŠÙ
+Ø© "ÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙØºØ© Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©" ÙÙ ÙÙØ³ Ø§ÙØªØ±ØªÙØš Ø§ÙØ°Ù ÙØžÙØ± ÙÙ ØªØ§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙÙ ØµÙØ­Ø© Ø§ÙØšØ­Ø«0 Ø§Ø³ØªØ®Ø¯Ù
+ Ø§ÙØ§Ø²Ø±Ø§Ø± "Ø­Ø±Ù Ø§ÙÙ Ø£Ø¹ÙÙ" and "Ø­Ø±Ù Ø§ÙÙ Ø£Ø³ÙÙ"  ÙØªØºÙÙØ± ÙØ°Ø§ Ø§ÙØªØ±ØªÙØš0</p>
+
+<p>ÙØªØ¹ÙÙÙ ÙØ·Ø§Ø¹ Ø§ÙÙØºØ© Ø§ÙØ§ÙØªØ±Ø§Ø¶ÙØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© ÙØ§ÙÙØ± "ØªØ¹ÙÙÙ Ø§ÙØªØ±Ø§Ø¶Ù"</p>
+
+<p>ÙÙ
+ÙÙ Ø§Ø¹Ø¯Ø§Ø¯  Ø§Ø³Ù
+Ø§Ø¡ Ø§ÙÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙØºÙÙØ©  Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙÙ ØµÙØ­Ø© Ø§ÙØšØ­Ø« ÙÙ "ØšØ­Ø«" ÙÙÙ Ø¬Ø²Ø¡ Ù
+Ù ÙØ§ÙØªÙ "ÙØ³Ù Ø¹Ø±Ø¶" panel (see <a href="searchmetadatasettings.htm">ØšØ­Ø«</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/assignpartitions.htm
===================================================================
--- main/tags/2.83/gli/help/ar/assignpartitions.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/assignpartitions.htm	(revision 21123)
@@ -0,0 +1,68 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="assignpartitions"><font size="5" face="Verdana"><strong>6.4.2: ØªØ¹ÙÙÙ ÙØ·Ø§Ø¹Ø§Øª</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ø§Ø°Ø§ ÙÙ
+Øª  ØšØªØ¹Ø±ÙÙ Ù
+Ø±ØŽØ­Ø§Øª Ù
+Ø¬Ù
+ÙØ¹Ø© ÙØ±Ø¹ÙØ© ÙØ§Ø­Ø¯Ø© Ø£Ù Ø£ÙØ«Ø±Ø Ø§Ø³ØªØ®Ø¯Ù
+ tab "ØªØ¹ÙÙÙ ÙØ·Ø§Ø¹Ø§Øª" ÙØšÙØ§Ø¡ Ø§ÙÙØŽØ§ÙØ§Øª ÙÙØ§ Ø£Ù ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ù Ø§ÙÙ
+Ø±ØŽØ­Ø§Øª)0 ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§ÙÙ
+Ø±ØŽØ­ Ø£Ù Ø§ÙÙ
+Ø±ØŽØ­Ø§Øª Ø§ÙÙ
+Ø·ÙÙØšØ© Ù
+Ù ÙØ§ØŠÙ
+Ø© "Ù
+Ø±ØŽØ­Ø§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙØ±Ø¹ÙØ© Ø§ÙÙ
+Ø¹Ø±ÙØ©" ÙØ§ÙÙØ± "Ø§Ø¶Ø§ÙØ© ÙØ·Ø§Ø¹"Ø Ø³ÙÙ ÙÙØ¶Ù
+ Ø¥ÙÙ ÙØ·Ø§Ø¹ Ù
+Ø­Ø¯Ø¯ ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© ÙØ±Ø¹ÙØ© Ø§ÙÙØ«Ø§ØŠÙ Ø§ÙØªÙ ØªØ¶Ø§ÙÙ Ø§ÙÙ
+Ø±ØŽØ­ Ø§ÙÙ
+Ø¹ÙÙ ÙÙÙØ·Ø§Ø¹0</p>
+
+<p>To alter a partition, select it from the list, modify the filters, and click "Ø¥Ø³ØªØšØ¯Ø§Ù ÙØŽØ§Ù ÙØ·Ø§Ø¹".</p>
+
+<p>To remove a partition, select it from the list and click "Remove Partition".</p>
+
+<p>ØªØ±ØªÙØš Ø§ÙÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙ
+Ø­Ø¯Ø¯ ÙÙ ÙØ§ØŠÙ
+Ø© Ø§ÙÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© ÙÙ ÙÙØ³ Ø§ÙØªØ±ØªÙØš Ø§ÙØ°Ù ØªØžÙØ± ØšÙ Ø§ÙÙØ·Ø§Ø¹Ø§Øª ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø©  Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙÙ ØµÙØ­Ø© Ø§ÙØšØ­Ø«0 Ø§Ø³ØªØ®Ø¯Ù
+ Ø§ÙØ§Ø²Ø±Ø§Ø± "Ø­Ø±Ù Ø§ÙÙ Ø£Ø¹ÙÙ" and "Ø­Ø±Ù Ø§ÙÙ Ø£Ø³ÙÙ" ÙØªØºÙÙØ± ÙØ°Ø§ Ø§ÙØªØ±ØªÙØš0</p>
+
+<p>ÙØªØ¹ÙÙÙ Ø§ÙÙØ·Ø§Ø¹ Ø§ÙØªØ±Ø§Ø¶ÙØ§ÙØ ÙÙ
+ ØšØ¥Ø®ØªÙØ§Ø± ÙØ§Ø­Ø¯ Ø§ÙÙØ§ØŠÙ
+Ø©Ø ÙØ§ÙÙØ± "ØªØ¹ÙÙÙ Ø§ÙØªØ±Ø§Ø¶Ù"0 "ØªØ¹ÙÙÙ Ø¥ÙØªØ±Ø§Ø¶Ù".</p>
+
+<p>ÙÙ
+ÙÙ Ø¥Ø¹Ø¯Ø§Ø¯ Ø§Ø³Ù
+Ø§Ø¡ Ø§ÙÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+Ø© ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙÙ ØµÙØ­Ø© Ø§ÙØšØ­Ø« ÙÙ "ØšØ­Ø«" ÙÙÙ Ø¬Ø²Ø¡ Ù
+Ù ÙØ§ÙØªÙ "ÙØ³Ù Ø¹Ø±Ø¶" panel (see <a href="searchmetadatasettings.htm">ØšØ­Ø«</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/builderrors.htm
===================================================================
--- main/tags/2.83/gli/help/ar/builderrors.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/builderrors.htm	(revision 21123)
@@ -0,0 +1,44 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="builderrors"><font size="5" face="Verdana"><strong>7.2: Ø§Ø®Ø·Ø§Ø¡ ÙÙ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ø§Ø­ÙØ§ÙØ§Ù  ØªÙ
+Ø¶Ù Ø§ÙØ§Ù
+ÙØ± ØšØµÙØ±Ø© Ø®Ø·Ø£ Ø®ÙØ§Ù ØšÙØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø©Ø ÙÙØ¯ ÙØ§ØªØªÙ
+ Ù
+Ø¹Ø§ÙØ¬Ø© ØšØ¹Ø¶ Ø§ÙÙ
+ÙÙØ§ØªØ ÙÙÙÙ ÙÙØªÙ
+Ù ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšØµÙØ±Ø© Ø³ÙÙÙ
+Ø© ÙÙÙ
+ÙÙ Ø¹Ø±Ø¶ÙØ§ ÙÙÙÙ ØšØºÙØ§Øš ØšØ¹Ø¶ Ø§ÙÙØ«Ø§ØŠÙ . Ø£Ù Ø±ØšÙ
+Ø§ ÙØ§ ØªØšÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙØ§ ØšØµÙØ±Ø© Ø³ÙÙÙ
+Ø© ÙÙÙ ÙØ°Ù Ø§ÙØ­Ø§ÙØ© ØªØžÙØ± Ø±Ø³Ø§ÙØ© ÙØ­ÙØ§ÙØ§ "Ø­Ø¯Ø« Ø®Ø·Ø£ Ù ÙÙ
+ ÙØªÙ
+ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©." Ø¹ÙØ¯Ù
+Ø§ ÙØ­Ø¯Ø« ÙØ°Ø§Ø ÙÙÙÙ Ù
+Ù Ø§ÙÙ
+ÙÙØ¯ Ø§ÙØªØ­ÙÙ ÙÙ GLI Ø¥ÙÙ Ø³ÙØ§Ù "Ø®ØšÙØ±" (File-&gt;Ø®ÙØ§Ø±Ø§Øª-&gt;Mode, Ø§ÙØžØ± <a href="preferences.htm">Ø§ÙØªÙØ¶ÙÙØ§Øª</a>), ÙÙ
+ ØšØªØ­ÙÙÙ ÙÙÙ
+Ø© Ø®ÙØ§Ø± ÙØšÙØ§Ø¡ "Verbosity) Ø¥ÙÙ 5 ÙØ§Ø¹Ø¯ Ø§ÙØšÙØ§Ø¡ ÙØ±Ø€ÙØ© Ø§Ù Ø±Ø³Ø§ØŠÙ Ø®Ø·Ø£ ØªØžÙØ±.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/classifiers.htm
===================================================================
--- main/tags/2.83/gli/help/ar/classifiers.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/classifiers.htm	(revision 21123)
@@ -0,0 +1,117 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="classifiers"><font size="5" face="Verdana"><strong>6.5: Ù
+ØµÙÙØ§Øª Ø§ÙØªØµÙØ­</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ØŽØ±Ø­ ÙÙ ÙØ°Ø§ Ø§ÙÙØµÙ ÙÙÙÙØ© ØªØ¹ÙÙÙ "Ø§ÙÙ
+ØµÙÙØ§Øª" ÙÙÙ Ø§ÙØªÙ ØªØ³ØªØ®Ø¯Ù
+ ÙÙ ØªØµÙØ­ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 ØªØ­Øª tab "ØªØµÙ
+ÙÙ
+" Ø Ø§ÙÙØ± "Ù
+ØµÙÙØ§Øª Ø§ÙØªØµÙØ­"0</p>
+
+<p>ÙØ§Ø¶Ø§ÙØ© Ù
+ØµÙÙØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ø³ØªØ®Ø¯Ù
+Ø§Ù Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© "Ø§Ø®ØªÙØ§Ø± Ù
+ØµÙÙ ÙÙØ§Ø¶Ø§ÙØ©"  Ø§ÙØ§ÙØ±Øš Ø¥ÙÙ Ø§ÙØ£Ø³ÙÙ Ø«Ù
+ Ø§ÙÙØ± "Ø§Ø¶Ø§ÙØ© Ù
+ØµÙÙ" ØªØžÙØ± ÙÙ ÙØ§ÙØ°Ø© ØšØ¹ÙÙØ§Ù "ØªØ¬ÙÙØ² Ù
+Ø¶Ø§Ù
+ÙÙ" ØªØªÙ
+Ø§Ø«Ù ØªØ¹ÙÙÙ
+Ø§Øª ÙØ°Ù Ø§ÙÙØ§ÙØ°Ø© Ù
+Ø¹ ØªØ¹ÙÙÙ
+Ø§Øª Ø§ÙÙ
+ÙØ§ØšØ³ (see <a href="plugins.htm">Ù
+ÙØ§ØšØ³ Ø§ÙÙØ«ÙÙØ©</a>). ØªØªÙ
+ Ø§Ø¶Ø§ÙØ© Ø§ÙÙ
+ØµÙÙ Ø§ÙØ¬Ø¯ÙØ¯ ØšØ¹Ø¯ ØªØ¬ÙÙØ²Ù Ø£Ø³ÙÙ ÙØ§ØŠÙ
+Ø© &ndash; Ø§ÙÙ
+ØµÙÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© Ø­Ø§ÙÙØ§Ù0</p>
+
+<p>ÙØ±Ø€ÙØ© ÙØµÙ ÙØµÙØ± ÙÙ
+ØµÙÙØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© "Ø§Ø®ØªÙØ§Ø± Ù
+ØµÙÙ ÙÙØ§Ø¶Ø§ÙØ©" Ø«Ù
+ Ø­ÙÙ ØšÙ
+Ø€ØŽØ± Ø§ÙÙØ£Ø±Ø© ÙÙÙÙ ÙØžÙØ± ÙÙ Ù
+Ø±ØšØ¹ Ø§ÙÙØµÙ0</p>
+
+<p>ÙÙÙ Ù
+ØµÙÙ Ù
+Ø¶Ø§Ù
+ÙÙ Ù
+ØªØ¹Ø¯Ø¯Ø© ÙÙ
+ÙÙ Ø§Ø¹Ø¯Ø§Ø¯ÙØ§ Ø ÙØªØªØ¶Ù
+Ù Ø§ÙÙ
+Ø¶Ø§Ù
+ÙÙ Ø§ÙÙ
+ÙÙ
+Ø© "ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª" Ø§ÙØªÙ ØªØ­Ø¯Ø¯ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØªÙ Ø¹ÙÙ Ø¶ÙØŠÙØ§ ØªØµÙÙ Ø§ÙÙØ«Ø§ØŠÙ Ù"Ø§Ø³Ù
+Ø§Ø¡ Ø§ÙØ§Ø²Ø±Ø§Ø±" ÙÙÙ Ø§ÙØ§Ø³Ù
+Ø§Ø¡ Ø§ÙØªÙ ØªØžÙØ± ÙÙ Ø¹Ù
+ÙØ¯ Ø§ÙØ§ØšØ­Ø§Ø±0</p>
+
+<p>ÙØ­Ø°Ù Ù
+ØµÙÙØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©Ø ÙØ§ÙÙØ± "Ø­Ø°Ù Ù
+ØµÙÙ"0</p>
+
+<p>ÙØªØºÙÙØ± Ù
+Ø¶Ø§Ù
+ÙÙ Ù
+ØµÙÙØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©Ø ÙØ§ÙÙØ± "ØªØ¬ÙÙØ² Ù
+ØµÙÙ" (Ø§Ù ÙÙØ±Ù Ù
+Ø²Ø¯ÙØ¬Ù Ø¹ÙÙØ§ÙÙ
+ØµÙÙ ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø©)0</p>
+
+<p>ØªØ±ØªÙØš Ø§ÙÙ
+ØµÙÙØ§Øª ÙÙ Ø¹Ù
+ÙØ¯ ØªØ¬ÙØ§Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØªØ¹ÙØ³ ØªØ±ØªÙØšÙØ§ ÙÙØ§Ø ÙØªØºÙÙØ± ÙØ°Ø§ Ø§ÙØªØ±ØªÙØšØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§ÙÙ
+ØµÙÙ Ø§ÙÙ
+Ø·ÙÙØš ØªØ­Ø±ÙÙÙ ÙØ§ÙÙØ± Ø²Ø± "Ø­Ø±Ù Ø§ÙÙ Ø£Ø¹ÙÙ" Ø£Ù "Ø­Ø±Ù Ø§ÙÙ Ø£Ø³ÙÙ"0</p>
+
+<p>ÙÙ
+Ø²ÙØ¯ Ù
+Ù Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø¹Ù Ø§ÙÙ
+ØµÙÙØ§Øª Ø§ÙØ±Ø£ Ø§ÙÙØµÙ 2 ÙÙ Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ Ù
+Ù
+Ø·ÙØ±ÙÙ &ndash; Ø§ÙØ¬Ø§Ø¯ ÙÙ Ù
+Ø§ ÙÙ Ù
+Ù
+ÙÙ Ø§Ø®Ø±Ø§Ø¬Ù Ù
+Ù Ø§ÙÙØ«Ø§ØŠÙ0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/collectingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/ar/collectingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/collectingfiles.htm	(revision 21123)
@@ -0,0 +1,44 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="collectingfiles"><font size="5" face="Verdana"><strong>4: ØªØ¬Ù
+ÙÙØ¹ Ø§ÙÙ
+ÙÙØ§Øª ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ø¹ÙØ¯ Ø§ÙØŽØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø¬Ø¯ÙØ¯Ø© Ø³ÙÙ ØªØ­ØªØ§Ø¬ ÙØ¬ÙØš Ù
+ÙÙØ§Øª Ù
+Ø­Ø¯Ø¯Ø© Ø§ÙÙÙØ§Ø ÙÙÙ
+ÙÙ Ø§Ù ÙÙÙÙ ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ Ù
+Ù Ù
+Ø³Ø§Ø­Ø© Ø§ÙÙ
+ÙÙØ§Øª0 Ø§Ù Ù
+Ù Ù
+Ø¬Ù
+ÙØ¹Ø§Øª ÙØ±ØšÙØ³ØªÙÙ Ø§ÙØ£Ø®Ø±ÙØ ÙØ±ØšÙ
+Ø§ ÙØ­ØªÙÙ ØšØ¹Ø¶ÙØ§ Ø¹ÙÙ Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§ØªØ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙØµÙ ÙÙÙÙØ© Ø§Ø³ØªÙØ±Ø§Ø¯ Ø§ÙÙ
+ÙÙØ§Øª0</p>
+
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/collectionspecificmacros.htm
===================================================================
--- main/tags/2.83/gli/help/ar/collectionspecificmacros.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/collectionspecificmacros.htm	(revision 21123)
@@ -0,0 +1,43 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="collectionspecificmacros"><font size="5" face="Verdana"><strong>8.7: Ù
+Ø§ÙØ±Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+Ø®ØµØµ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ØªØ­Øª tab "ÙØ³Ù Ø¹Ø±Ø¶" Ø Ø§ÙÙØ± "Ù
+Ø§ÙØ±Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+Ø®ØµØµ</p>
+
+<p>ÙØ¹Ø±Ø¶ ÙÙ ÙØ°Ø§ Ø§ÙÙ
+ØŽÙØ¯ Ù
+Ø­ØªÙÙØ§Øª Ù
+ÙÙ Ù
+Ø§ÙØ±Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Extra-dm ÙÙÙØ§ ÙØªÙ
+ ØªØ¹Ø±ÙÙ Ø§ÙÙ
+Ø§ÙØ±Ù Ø§ÙÙ
+Ø®ØµØµ ÙÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø©. ÙÙ
+Ø¹Ø±ÙØ© Ø§ÙÙ
+Ø²ÙØ¯ Ø­ÙÙ Ø§ÙÙ
+Ø§ÙØ±Ù Ø§ÙØžØ± Ø§ÙÙØµÙ 3 Ù
+Ù Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+Ø·ÙØ±ÙÙ .</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/creatingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/ar/creatingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/creatingacollection.htm	(revision 21123)
@@ -0,0 +1,68 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingacollection"><font size="5" face="Verdana"><strong>2.1: Ø¥ÙØŽØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø¬Ø¯ÙØ¯Ø©</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØ§ÙØŽØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø¬Ø¯ÙØ¯Ø©Ø Ø§ÙØªØ­ ÙØ§ØŠÙ
+Ø© "Ù
+ÙÙ" ÙÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± "Ø¬Ø¯ÙØ¯" ØªØžÙØ± ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ù Ø§ÙØ­ÙÙÙ Ø§ÙÙØµÙØ© Ø§ÙØªÙ ÙØ¬Øš ØªØ¹ØšØŠØªÙØ§0</p>
+
+<p>"Ø¹ÙÙØ§Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©" ÙÙ Ø§ÙÙØµ Ø§ÙØ°Ù ÙØ¹Ø±Ø¶ Ø£Ø¹ÙÙ ØµÙØ­Ø© Ø§ÙÙØš ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙ
+ÙÙ Ø£Ù ÙÙÙÙ ØšØ§Ù Ø·ÙÙ0</p>
+
+<p>"ÙØµÙ Ø§ÙÙ
+Ø­ØªÙÙØ§Øª" ÙØ¬Øš Ø£Ù ÙØµÙ ÙØ¯Ø± Ø§ÙÙ
+Ø³ØªØ·Ø§Ø¹ Ù
+Ø­ØªÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 ÙØ§Ø³ØªØ®Ø¯Ø§Ù
+  Ù
+ÙØªØ§Ø­ "Enter" ÙØ§ÙØŽØ§Ø¡ Ø§ÙÙÙØ±Ø§Øª0</p>
+
+<p>Ø§Ø®ÙØ±Ø§Ù ÙØ¬Øš ØªØ­Ø¯ÙØ¯  Ø§Ø°Ø§ Ù
+Ø§ ÙØ§Ù ØªÙ
+ØžÙØ± ÙÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+ØšÙÙ Ø¹ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø³Ø§ØšÙØ©0 Ø£Ù Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙØšØ¯Ø§ÙØ© Ø§ÙØ§ÙØªØ±Ø§Ø¶ÙØ© "Ù
+Ø¬Ù
+ÙØ¹Ø© Ø¬Ø¯ÙØ¯Ø©"0 Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙØ¬Ø¯ÙØ¯Ø© Ø§ÙØ§ÙØªØ±Ø§Ø¶ÙØ© Ø§ÙØ¬Ø¯ÙØ¯Ø© ÙÙØ§ ØªÙÙÙÙ Ù
+Ø¹ÙØ§Ø±Ù ÙØªØ³ØªØ®Ø¯Ù
+ Ù
+Ø¹ÙØ§Ø± Ø¯ØšÙÙ ÙÙØ± ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª0 ÙÙÙ
+ÙÙ ØªØºÙÙØ± ÙØ°Ø§ ÙÙÙ
+Ø§ ØšØ¹Ø¯0</p>
+
+<p>Ø§ÙÙØ± "OK" ÙØ§ÙØŽØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø©0 </p>
+
+<p>Ø§ÙÙØ± "Ø¥ÙØºØ§Ø¡" ÙÙØ±Ø¬ÙØ¹ Ø§ÙÙÙØ±Ù ÙÙØŽØ§ØŽØ© Ø§ÙØ±ØŠÙØ³ÙØ© 0.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/creatingfolders.htm
===================================================================
--- main/tags/2.83/gli/help/ar/creatingfolders.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/creatingfolders.htm	(revision 21123)
@@ -0,0 +1,66 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingfolders"><font size="5" face="Verdana"><strong>4.3: Ø¥ÙØŽØ§Ø¡ Ù
+Ø¬ÙØ¯Ø§Øª</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ø§Ø³ØªØ®Ø¯Ù
+ Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª ÙÙ ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØªØ¬Ù
+ÙØ¹ Ø§ÙÙ
+ÙÙØ§Øª Ù
+Ø¹Ø§Ù ÙØªØ³ÙÙÙ Ø§ÙÙØµÙÙ Ø¥ÙÙÙØ§Ø ÙÙ
+ÙÙ Ù
+ÙØ¶Ø¹Ø©  Ù
+Ø¬ÙØ¯Ø§Øª Ø¯Ø§Ø®Ù Ù
+Ø¬ÙØ¯Ø§Øª ÙØ§ÙØªØ±Ø§Ø¶ÙØ§Ù ÙØ§ ÙÙØ¬Ø¯ Ø­Ø¯ ÙØ¹Ø¯Ø¯ Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª Ø£Ù Ø¹Ù
+Ù ØªÙØ±ÙØº Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª0</p>
+
+<p>ÙØ§ÙØŽØ§Ø¡ Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯Ø ÙÙ
+ ØšÙÙØ± Ø§ÙØ²Ø± Ø§ÙØ£ÙÙ
+Ù ÙÙ
+Ø³Ø§Ø­Ø© Ù
+Ø¬Ù
+ÙØ¹Ø©(Ø£Ù ØšÙÙØ± Ø§ÙØ²Ø± Ø§ÙØ£ÙÙ
+Ù   ÙÙ
+Ø¬ÙØ¯ ÙÙ ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù Ø­ØŽØ± Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯ ÙÙÙØ§)Ù Ø£ÙÙØ± ÙÙÙ Ø®ÙØ§Ø±Ø§Øª Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ¬Ø¯ÙØ¯. ÙØžÙØ± Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ¬Ø¯ÙØ¯ Ø¶Ù
+Ù Ù
+Ø¬ÙØ¯ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© Ø£Ù ÙÙ Ø§ÙÙ
+Ø³ØªÙÙ Ø§ÙØ£Ø¹ÙÙ Ø§Ø°Ø§ ÙÙ
+ ÙØªÙ
+ Ø§Ø®ØªÙØ§Ø± ÙØ§Ø­Ø¯Ø Ø³ÙÙ ÙØªÙ
+ Ø­Ø«Ù ØªØ³Ù
+ÙØ© Ø§ÙÙ
+Ø¬ÙØ¯ (Ø§ÙØ£Ø³Ù
+ Ø§ÙØ§ÙØªØ±Ø§Ø¶Ù ÙÙ "Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯".</p>
+
+<p>ÙÙ
+ÙÙ Ø§ÙØŽØ§Ø¡ Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯ ÙÙÙØ± Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù ÙÙÙØ£Ø±Ø© ÙØ§Ø®ØªÙØ§Ø± "Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯" ÙØ§ØªØšØ§Ø¹ Ø§ÙØ§Ø¬Ø±Ø§Ø¡Ø§Øª Ø§Ø¹ÙØ§Ù0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/creatingshortcuts.htm
===================================================================
--- main/tags/2.83/gli/help/ar/creatingshortcuts.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/creatingshortcuts.htm	(revision 21123)
@@ -0,0 +1,44 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingshortcuts"><font size="5" face="Verdana"><strong>4.2: Ø§ÙØŽØ§Ø¡ Ù
+Ø®ØªØµØ± Ù
+Ù ØŽØ¬Ø±Ø© Ù
+Ø³Ø§Ø­Ø© Ø§ÙØ¹Ù
+Ù0</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ù
+Ø¬ÙØ¯Ø§Øª Ù
+Ø­Ø¯Ø¯Ø©00 Ù
+Ø«Ù Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ°Ù ÙØ­ØªÙÙ ØµÙØ­Ø§Øª Ø§ÙÙØš Ø®Ø§ØµØªÙ0 ÙØ¯ÙÙØ§ ÙÙ ØšØ¹Ø¶ Ø§ÙØ§Ø­ÙØ§Ù Ø¯ÙØ§ÙØ§Øª Ø®Ø§ØµØ©Ø ÙÙ
+ÙÙ ÙÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ Ù
+ÙØ¶Ø¹Ù ÙØ°Ù Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª ÙÙ Ø§ÙÙ
+Ø³ØªÙÙ Ø§ÙØ£ÙÙ Ù
+Ù ØŽØ¬Ø±Ø© Ø§ÙÙ
+ÙÙØ§Øª. ÙÙÙÙØ§Ù
+ ØšÙØ°Ø§ Ø§ÙØ¹Ù
+ÙØ Ø§ÙÙØ± Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù ÙÙÙ Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙÙ
+Ø·ÙÙØšØ ÙØžÙØ± "Ø§ÙØŽØ§Ø¡ Ù
+Ø®ØªØµØ±" Ø§Ø¯Ø®Ù Ø§Ø³Ù
+Ø§Ù ÙÙÙ
+Ø¬ÙØ¯0 ÙØ­Ø°Ù Ø¹ÙØµØ± Ø§ÙÙØ± Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù ÙÙÙ Ø§ÙÙ
+Ø¬ÙØ¯ ÙÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± "Ø­Ø°Ù Ù
+Ø®ØªØµØ±"0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/definefilters.htm
===================================================================
--- main/tags/2.83/gli/help/ar/definefilters.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/definefilters.htm	(revision 21123)
@@ -0,0 +1,97 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="definefilters"><font size="5" face="Verdana"><strong>6.4.1: ØªØ¹Ø±ÙÙ Ù
+Ø±ØŽØ­Ø§Øª</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ØªØ³Ù
+Ø­ ÙÙ Ø§ÙÙ
+Ø±ØŽØ­Ø§Øª ØšØªØ¬Ù
+ÙØ¹ ÙÙ Ø§ÙÙØ«Ø§ØŠÙ ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© ÙØ±Ø¹ÙØ© ÙÙ ÙØŽØ§Ù ÙØªØ¶Ù
+Ù ÙÙÙ
+Ø©  ÙØ§ØµÙÙ ØšÙØ§ÙØ§Øª ØªØ¶Ø§ÙÙ  ÙÙ
+Ø· Ù
+Ø¹Ø·Ù0</p>
+
+<p>ÙØ§ÙØŽØ§Ø¡ Ù
+Ø±ØŽØ­Ø Ø§ÙÙØ± tab "ØªØ¹Ø±ÙÙ Ù
+Ø±ØŽØ­" ÙØ£Ø¯Ø®Ù Ø§Ø³Ù
+ Ø§ÙÙ
+Ø±ØŽØ­ Ø§ÙØ¬Ø¯ÙØ¯ ÙÙ Ø­ÙÙ "Ø§Ø³Ù
+ Ù
+Ø±ØŽØ­ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙØ±Ø¹ÙØ©" ØªÙ
+ Ø§Ø®ØªÙØ§Ø± ØµÙÙ ÙÙÙØ«ÙÙØ© ÙÙÙ
+Ø¶Ø§ÙØ§Ø© ÙÙÙ Ø§Ù
+Ø§ Ø£Ù ØªÙÙÙ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø§ÙØ§Ø³Ù
+ Ù
+ÙÙ ÙÙ Ø³Ø€Ø§Ù0 Ø§Ø¯Ø®Ù Ø§ÙØªØ¹ØšÙØ± Ø§ÙÙ
+ÙØªØžÙ
+ ÙØ§Ø³ØªØ®Ø¯Ø§Ù
+Ù Ø®ÙØ§Ù Ø§ÙÙ
+Ø¶Ø§ÙØ§Ø© ÙÙ
+ÙÙÙ toggle ØšÙÙ "ØªØ¶Ù
+ÙÙ " ÙØ«Ø§ØŠÙ ØªØ¶Ø§ÙÙ Ø§ÙÙ
+Ø±ØŽØ­ Ø£Ù "Ø§Ø³ØªØšØ¹Ø§Ø¯" Ø§ÙÙØ«Ø§ØŠÙ0 ÙÙ
+ÙÙÙ ØªØ®ØµÙØµ Ø§Ù Ù
+Ù ØŽØ§Ø±Ø§Øª Ø§ÙØªÙ
+ÙØ² ÙÙØªØ¹ØšÙØ±Ø§Øª Ø§ÙÙ
+ÙØªØžÙ
+Ø© Ø§ÙÙ
+Ø¹ÙØ§Ø±ÙØ© ÙØšÙØ±Ù ÙØ§ Ø³ØªØ®Ø¯Ø§Ù
+ÙØ§ Ø¹ÙØ¯ Ø§ÙÙ
+Ø¶Ø§ÙØ§Ø© ("*" ÙÙ
+Ø¶Ø§ÙØ§Ø© Ø­Ø§ÙØ©  ØºÙØ± Ø­Ø³Ø§Ø³Ù) &ndash; Ø§Ø®ÙØ±Ø§Ù Ø§ÙÙØ± "Ø§Ø¶Ø§ÙØ© Ù
+Ø±ØŽØ­" ÙØ§Ø¶Ø§ÙØ© Ø§ÙÙ
+Ø±ØŽØ­ Ø¥ÙÙ ÙØ§ØŠÙ
+Ø© "Ù
+Ø±ØŽØ­Ø§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙØ±Ø¹ÙØ© Ø§ÙÙ
+Ø¹Ø±ÙØ©"</p>
+
+<p>ÙØ­Ø°Ù Ù
+Ø±ØŽØ­Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©Ø ÙØ§ÙÙØ± "Ø­Ø°Ù Ù
+Ø±ØŽØ­"0</p>
+
+<p>ÙÙ  alter Ù
+Ø±ØŽØ­ Ø  ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±  Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©Ø  ÙÙÙ
+ ØšØªØ¹Ø¯ÙÙ Ø§Ù Ù
+Ù Ø§ÙÙÙÙ
+ÙÙ Ø§ÙÙ
+ØªÙÙØ±Ø© Ù
+Ù Ø¹ÙØ§ØµØ± Ø§ÙØªØ­ÙÙ
+ ÙØ§ÙÙØ±  "Ø§Ø³ØªØšØ¯Ø§Ù Ù
+Ø±ØŽØ­" ÙØªØµØšØ­ Ø§ÙØªØºÙÙØ±Ø§Øª  Ù
+ÙØ²Ù
+Ù0</p>
+
+<p>ÙØ§ ÙØµÙØ¹ ØªØ¹Ø±ÙÙ ÙÙ
+Ø±ØŽØ­Ø§Øª Ù
+Ø¬Ù
+ÙØ¹Ø§Øª ÙØ±Ø¹ÙÙ0 ÙØªÙ
+ ØªØ­Ø¯ÙØ¯ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙØ±Ø¹ÙÙ ÙÙ "ØªØ¹ÙÙÙ ÙØ·Ø§Ø¹Ø§Øª", ØšÙØ§Ø¡Ø§Ù Ø¹ÙÙ Ø§ÙÙ
+Ø±ØŽØ­Ø§Øª Ø§ÙØªÙ ÙÙ
+Øª ØšØªØ¹Ø±ÙÙÙØ§0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/deletingcollections.htm
===================================================================
--- main/tags/2.83/gli/help/ar/deletingcollections.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/deletingcollections.htm	(revision 21123)
@@ -0,0 +1,38 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="deletingcollections"><font size="5" face="Verdana"><strong>2.4: Ø¥ÙØºØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ø¹ÙØ¯Ù
+Ø§ ØªØ±ÙØ¯ Ø¥ÙØºØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø§Øª Ù
+Ù ØªØ«ØšÙØª ÙØ±ÙÙØ³ØªÙÙ ØšØµÙØ© Ø¯Ø§ØŠÙ
+Ø©0 ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± "Ø¥ÙØºØ§Ø¡00" Ù
+Ù ÙØ§ØŠÙ
+Ø©  "Ù
+ÙÙ" - ØªØžÙØ± ÙØ§ØŠÙ
+Ø© ØšØ§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± ÙØ§Ø­Ø¯Ø© ÙÙ
+Ø¹Ø±ÙØ© ÙØµÙÙØ§ Ø«Ù
+ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ù
+Ø±ØšØ¹ Ø§ÙÙØ­Øµ Ø§Ø³ÙÙ Ù
+Ø±ØšØ¹ Ø§ÙØ­ÙØ§Ø± ÙØ§ÙÙØ± "Ø§ÙØºØ§Ø¡" ÙØ¬Øš ØªÙØ®Ù Ø§ÙØ­Ø°Ø± ÙØ§Ù ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ ØºÙØ± Ù
+Ø±Ø¯ÙØ¯0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/depositormetadatasettings.htm
===================================================================
--- main/tags/2.83/gli/help/ar/depositormetadatasettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/depositormetadatasettings.htm	(revision 21123)
@@ -0,0 +1,97 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="depositormetadatasettings"><font size="5" face="Verdana"><strong>8.8: Ù
+Ø³ØªÙØ¯Ø¹ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙÙ
+ÙÙ Ù
+Ø³ØªÙØ¯Ø¹Greenstone Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ Ù
+Ù Ø¥Ø¶Ø§ÙØ© ÙØ«Ø§ØŠÙ Ø¬Ø¯ÙØ¯Ø© ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+ÙØ¬ÙØ¯Ø© Ù
+Ù Ø®ÙØ§Ù ÙØ§Ø¬ÙØ© ÙÙØš. ÙØµÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙØ§ÙØªØ© Ù
+Ø³ØªÙØ¯Ø¹ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§ØªØ Ø­ÙØ« ÙÙ
+ÙÙÙ ØªØ­Ø¯ÙØ¯ Ø­ÙÙ Ù
+Ù Ø­ÙÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙØ¥Ø³ØªØ®Ø¯Ø§Ù
+ ÙÙØµÙ Ø§ÙÙØ«Ø§ØŠÙ Ø§ÙØ¬Ø¯ÙØ¯Ø©Ø§ÙÙ
+Ø¶Ø§ÙØ©. ÙÙ Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ÙØ­ÙØ© ØšÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø³ÙÙ ØªÙÙÙ Ù
+ØªØ§Ø­Ø© ÙÙØ¥Ø®ØªÙØ§Ø±. Ø¥Ø°Ø§ ÙÙ
+ ÙÙÙ ÙÙØ§Ù Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø³ÙÙ "Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Greenstone Ø§ÙÙ
+Ø³ØªØ®Ø±Ø¬Ø©" Ù
+ÙØ­ÙØ§ ØšØ§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø Ø³ÙÙ ÙØªÙ
+ Ø¥Ø³ØªØ®Ø¯Ø§Ù
+ "Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¯ØšÙÙ ÙÙØ±" ÙÙ
+Ø¹ÙØ§Ø± Ø¥ÙØªØ±Ø§Ø¶Ù. ÙÙ
+Ø¹Ø±ÙØ© Ø§ÙÙ
+Ø²ÙØ¯ Ø­ÙÙ Ø§ÙÙ
+Ø³ØªÙØ¯Ø¹ Ø£ÙØžØ±http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/depositor.htm.ØªØ­Øª "ÙØ³Ù Ø¹Ø±Ø¶" Ø£ÙÙØ± "Ù
+Ø³ØªÙØ¯Ø¹ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª".</p>
+
+<p>ØªØ¹Ø±Ø¶ ÙØ§ÙØªØ© Ù
+ØªÙØ¯Ø¹ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙØ§ØŠÙ
+Ø© ØšØ­ÙÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ØšÙ
+Ø±ØšØ¹Ø§Øª ÙØ­Øµ. Ø¥Ø°Ø§ ÙØ§Ù ÙÙØ§Ù Ø£ÙØ«Ø± Ù
+Ù Ù
+Ø¹ÙØ§Ø± ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ù
+ÙØ­Ù ØšØ§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©Ø Ø³ÙÙ ØªØ¹Ø±Ø¶ Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ØªØ¬Ø§ÙØ±Ø© ØšØ£ÙÙÙÙ Ù
+Ø®ØªÙÙØ©.ÙØžÙØ± ØªØ­ÙÙÙ Ù
+Ø€ØŽØ± Ø§ÙÙØ£Ø±Ø© Ù
+Ø±ØšØ¹ ÙØµÙ ÙÙÙ
+Ø³Ø§Ø¹Ø¯Ø©.</p>
+
+<p>ÙÙ
+ ØšØ¥Ø®ØªÙØ§Ø± ØªÙÙ Ø§ÙØªÙ ØªØ±ØºØš ÙÙ Ø¥Ø³ØªØ®Ø¯Ø§Ù
+ÙØ§ ÙÙØµÙ Ø§ÙÙØ«Ø§ØŠÙ Ø§ÙØ¬Ø¯ÙØ¯Ø© Ø¹ÙØ¯ Ø¥ÙØ¯Ø§Ø¹ÙØ§ ØšÙØ§Ø³Ø·Ø© Ø§ÙÙ
+Ø³ØªÙØ¯Ø¹.Ø¹ÙØš Ø¥Ø®ØªÙØ§Ø± Ø¹ÙØµØ± ØªØžÙØ± ÙØ§ØŠÙ
+Ø© Ù
+ÙØ³Ø¯ÙØ© ØšØ®ÙØ§Ø±ÙÙ.ÙØ³Ù
+Ø­ ÙÙ ÙØ°Ø§ ØšØªØ­Ø¯ÙØ¯ ÙÙØ¹ Ù
+Ø±ØšØ¹ Ø§ÙØ¥Ø¯Ø®Ø§ÙÙÙØ¹ÙØµØ± ÙÙ "ÙØ§Ø¬ÙØ© Ø§ÙÙÙØš"."ÙØµ" ÙØ¹ÙÙ ÙÙØ§ Ø§Ù Ù
+Ø±ØšØ¹ ÙØµ ØšØ³Ø·Ø± ÙØ§Ø­Ø¯ Ø³ÙÙ ÙØªÙ
+ Ø¥Ø³ØªØ®Ø¯Ø§Ù
+Ù ØšÙÙÙ
+Ø§ "Ù
+ÙØ·ÙØ© ÙØµ" ÙØ¹ÙÙ Ù
+Ø±ØšØ¹ ÙØµ ØšØ³Ø·ÙØ± Ù
+ØªØ¹Ø¯Ø¯Ø©Ø³ÙÙ ÙØªÙ
+ Ø¥Ø³ØªØ®Ø¯Ø§Ù
+Ù.ÙÙ
+ ØšØ¥Ø®ØªÙØ§Ø± ÙÙØ¹ Ù
+Ø±ØšØ¹ Ø§ÙÙØµ Ø§ÙÙ
+ÙØ§Ø³Øš ÙÙÙ Ø­ÙÙ</p>
+
+<p>ÙØ¬Øš Ø¹ÙÙ Ø§ÙØ£ÙÙ Ø¥Ø®ØªÙØ§Ø± Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª.Ø¥Ø°Ø§ ÙØ§Ù ÙÙØ§Ù Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙØ§Ø­Ø¯ Ù
+Ø®ØªØ§Ø± ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø©.ÙØžÙØ± ÙÙØ¶ Ø§ÙØ¹ÙØµØ± ÙØ§ØŠÙ
+Ø© Ù
+ÙØšØ¹Ø«Ø©ØšØ±Ø³Ø§ÙØ© ØªØ­Ø°ÙØ± "ÙØ¬Øš Ø§Ù ØªØ®ØªØ§Ø± Ø¹ÙØµØ±Ø§ ÙØ§Ø­Ø¯Ø§ Ù
+Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø¹ÙÙ Ø§ÙØ£ÙÙ".</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/designingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/ar/designingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/designingacollection.htm	(revision 21123)
@@ -0,0 +1,40 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="designingacollection"><font size="5" face="Verdana"><strong>6: ØªÙÙÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ø¹ÙØ¯ ØªÙ
+ÙÙØ² Ø§ÙÙ
+ÙÙØ§Øª ØšÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§ØªØ ÙØ¬Øš Ø£Ù ØªÙØ±Ø± ÙÙÙÙØ© ØªÙ
+ØžÙØ± Ù
+Ø¬Ù
+ÙØ¹Ø© ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+Ø³ØªÙÙØ¯ÙÙØ Ù
+Ø§ÙÙ Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙÙ
+ØªØ§Ø­Ø© ÙÙØšØ­Ø«Ø Ù
+Ø§ÙÙ  Ø·Ø±Ù ØªØµÙØ­ Ø§ÙÙØ«Ø§ØŠÙØ Ù
+Ø§ÙÙ Ø§ÙÙØºØ§Øª Ø§ÙÙ
+Ø¯Ø¹ÙÙ
+Ø©Ø Ø§ÙÙ ØªØ¶Ø¹ Ø§Ø²Ø±Ø§Ø± Ø§ÙØµÙØ­Ø©Ø ÙÙ ÙØ°Ù Ø§ÙØ§ØŽÙØ§Ø¡ ÙÙ
+ÙÙ ØªØŽÙÙÙÙØ§0 ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙØµÙ ÙÙ ÙÙÙ ØªÙØ¹Ù ÙØ°Ø§0</p>
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/downloadingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/ar/downloadingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/downloadingfiles.htm	(revision 21123)
@@ -0,0 +1,32 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="downloadingfiles"><font size="5" face="Verdana"><strong>3: ØªÙØ²ÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ù
+Ù Ø§ÙØ¥ÙØªØ±ÙØª</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØµÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ "ØªÙØ²ÙÙ"  ÙÙÙÙØ© Ø¥Ø¹Ø¯Ø§Ø¯ Ù
+ÙÙ
+Ø© ØªÙØ²ÙÙ ÙØ§ÙØªØ­ÙÙ
+ ÙÙ Ø§Ø¬Ø±Ø§Ø¡ Ø§ÙØªÙØ²ÙÙØ ÙØ§ØªØ§Ø­Ø© Ø§ÙØªÙØ²ÙÙ Ø§ÙÙØ± Ø§ÙØ²Ø±0 ÙÙ Ù
+ÙØªØµÙ Ø§Ø¹ÙÙ Ø§ÙØŽØ§ØŽÙØ ØªØªÙÙØ± ÙÙ Ø¹ÙØ§ØµØ± Ø§ÙØªØ­ÙÙ
+ ÙÙ Ø§Ø¬Ø±Ø§Ø¡ Ø§ÙØªÙØ²ÙÙ0 ÙÙÙÙ ÙØµÙ Ø§ÙØŽØ§ØŽØ© Ø§ÙØ§Ø³ÙÙ ÙØ§Ø±Øº Ù
+ØšØ¯ØŠÙØ§Ù ÙØ°ÙÙ ÙØªÙÙÙØ± ÙÙØ§ØŠÙ
+ Ø§ÙÙ
+ÙÙ
+Ø§Øª Ø§ÙÙ
+ÙØ¬Ø²Ø© ÙØ§ÙÙ
+Ø¹ÙÙØ©0</p>
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/enrichingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/ar/enrichingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/enrichingacollection.htm	(revision 21123)
@@ -0,0 +1,39 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="enrichingacollection"><font size="5" face="Verdana"><strong>5: Ø¥Ø«Ø±Ø§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø© ØšÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØ¹Ø¯ ØªØ¬Ù
+ÙØ¹ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+ØªØ¹Ø¯Ø¯Ø© ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©Ø ÙÙ
+ÙÙÙ Ø§ÙØ£Ù  Ø¥Ø«Ø±Ø§Ø€ÙØ§ ØšÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø§Ø¶Ø§ÙÙØ© ØªØ³Ù
+Ù "ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª"0 ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙÙØ¶Ø­ ÙÙÙÙØ© Ø§ÙØŽØ§Ø¡Ø ØªØ¹Ø¯ÙÙØ ØªØ¹ÙÙÙØ Ø§Ø³ØªØ±Ø¬Ø§Ø¹ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙÙÙÙØ© Ø§Ø³ØªØ®Ø¯Ø§Ù
+ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ù Ù
+ØµØ§Ø¯Ø± Ø®Ø§Ø±Ø¬ÙØ© </p>
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/expertbuilding.htm
===================================================================
--- main/tags/2.83/gli/help/ar/expertbuilding.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/expertbuilding.htm	(revision 21123)
@@ -0,0 +1,63 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="expertbuilding"><font size="5" face="Verdana"><strong>7.3: Ù
+ØŽÙØ¯ Ø§ÙØŽØ§Ø¡ ÙÙ Ø³ÙØ§Ù Ø®ØšÙØ±</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙÙ Ø³ÙØ§Ù Ø®ØšÙØ±Ø ÙÙ
+ÙÙÙ  Ø§Ø³ØªØ®Ø¯Ø§Ù
+ "Ø§ÙÙ
+Ø¯ÙÙÙ" ÙÙ Ø§ÙØ¬Ø²Ø¡ Ø§ÙØ§ÙØ³Ø± ÙØ§Ø³ØªØ¹Ø±Ø§Ø¶ Ø§ÙÙ
+Ø­Ø§ÙÙØ§Øª Ø§ÙØ³Ø§ØšÙÙ ÙØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹ÙØ Ø§Ø°Ø§ ÙØ§ÙØª ÙØ§Ø¬Ø­Ù Ø§ÙÙØ§Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§ÙÙ
+Ø¯ÙÙÙ ØšØ§ÙØªØ§Ø±ÙØ® ÙÙ ÙØ§ØŠÙ
+Ø© "Ø§ÙÙ
+Ø¯ÙÙÙ"0</p>
+
+<p>ÙÙ ÙØ°Ø§ Ø§ÙØ³ÙØ§ÙØ ØªØžÙØ± Ø§ÙØ®ÙØ§Ø±Ø§Øª Ø§ÙÙØ§Ù
+ÙØ© ÙÙØ§Ø³ØªÙØ±Ø§Ø¯ ÙØ§ÙØšÙØ§Ø¡ ÙÙ tab ØšÙØ§Ø¡ ÙØ§Ø³ØªÙØ±Ø§Ø¯ Ø¥ÙÙ Ø§ÙØ³ÙØ§Ø±0 ØªØªÙ
+Ø§Ø«Ù Ø§Ø¹Ø¯Ø§Ø¯Ø§Øª Ø§ÙØªØ­ÙÙ
+ Ø§ÙÙ
+Ø®ØªÙÙØ© ØªÙÙ Ø§ÙØªÙ ÙÙ ÙØ§ÙØ°Ø© "ØªØ¬ÙÙØ² Ù
+Ø¶Ø§Ù
+ÙÙ" Ø§ÙÙ
+ÙØµÙÙÙ ÙÙ ÙØ³Ù
+ <a href="plugins.htm">Ù
+ÙØ§ØšØ³ Ø§ÙÙØ«ÙÙØ©</a>  ØšØ¹Ø¶ Ø§ÙØ­ÙÙÙ ØªØ­ØªØ§Ø¬ Ù
+Ø¶Ø§Ù
+ÙÙ Ø¹Ø¯Ø¯ÙÙ ÙÙÙ
+ÙÙÙ Ø·ØšØ§Ø¹ØªÙØ§ Ø£Ù Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙØ§Ø³ÙÙ
+ ÙØ²ÙØ§Ø¯Ø© Ø£Ù ØªÙÙÙÙ Ø§ÙÙÙÙ
+Ø© Ø§ÙØ­Ø§ÙÙØ© ( ÙÙ ØšØ¹Ø¶ Ø§ÙØ­Ø§ÙØ§ØªØ ØªÙÙØ¯ Ø§ÙÙØ§Ø¬ÙØ© Ø§ÙÙ
+Ø¯Ù)0 ÙØªÙ
+ ØªÙØŽÙØ·  Ø§Ø¬Ø±Ø§Ø¡Ø§Øª Ø§ÙØ£Ø®Ø±Ù ØšÙÙØ± Ù
+Ø±ØšØ¹ Ø§ÙÙØ­Øµ (Ø§ÙØžØ± Ù
+Ø±Ø© Ø«Ø§ÙÙØ© ÙÙØ§Ø®Ù
+Ø§Ø¯)0</p>
+
+<p>ÙÙ
+Ø²ÙØ¯ Ù
+Ù Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø­ÙÙ Ø§Ø³ØªÙØ±Ø§Ø¯ ÙØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©Ø Ø§ÙØ±Ø£ Ø§ÙÙØµÙ 1 Ù
+Ù Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+Ø·ÙØ±ÙÙ- ÙÙÙ
+ Ø§Ø¬Ø±Ø§Ø¡ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/explodingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/ar/explodingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/explodingfiles.htm	(revision 21123)
@@ -0,0 +1,147 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="explodingfiles"><font size="5" face="Verdana"><strong>4.7: ØªØ¬Ø²ØŠØ©  Ù
+ÙÙØ§Øª ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª0</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙÙ
+ÙÙ Ø§Ø³ØªÙØ±Ø§Ø¯ Ø£ÙÙØ§Ø¹ Ù
+ÙÙØ§Øª ÙÙØ§Ø¹Ø¯ ØšÙØ§ÙØ§Øª ÙÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ø«Ù MARC ÙCDS/ISIS	 Ù ProciteØBibTex, Refer  ÙÙ ØªØªÙ
+ÙÙ Ù
+Ù ØªØ­Ø¯ÙØ« ÙØ¹Ø±Ø¶ ÙØ§ØµÙØ§Øª  Ø§ÙØšÙØ§ÙØ§Øª ÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙØ ÙØ¹Ø±Ø¶ Ø£Ù ØªØ­Ø¯ÙØ« Ø¢Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§ØªØ ÙÙ
+ÙÙÙ "ØªÙ
+Ø¯ÙØ¯" Ø§ÙÙ
+ÙÙ ÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ Ù Ø¹Ø±Ø¶ Ø£Ù ØªØ­Ø¯ÙØ« Ø§ÙÙØ§ØµÙØ§Øª ÙÙÙ
+Ø§ ØšØ¹Ø¯ .ØšØµÙØ±Ø© Ù
+Ø®ØªÙÙØ©ØÙ Ø®ØµÙØµØ§ Ø¥Ø°Ø§ ÙÙØª ØªØªØ¹Ø§Ù
+Ù Ù
+Ø¹ ØªØ·ØšÙÙ Ø±ØŠÙØ³Ù Ø®Ø§Ø±Ø¬Ù Ø ÙÙ
+ÙÙÙ Ø§ÙØ±Ø¬ÙØ¹ ÙÙØšØ±ÙØ§Ù
+Ø¬ Ø§ÙØ°Ù Ø£ÙØŽØŠ ÙÙÙ Ø§ÙÙ
+ÙÙ Ù ÙÙ
+ ØšØ§ÙØªØµØ­ÙØ­ Ù Ø¥Ø¹Ø§Ø¯Ø© Ø§ÙØ¥Ø³ØªÙØ±Ø§Ø¯.</p>
+
+<p>"ØªØ¬Ø²ØŠØ©" Ù
+ÙÙ ÙØ§Ø¹Ø¯Ø© ØšÙØ§ÙØ§Øª ÙÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§ØªØ ÙÙØªØ¬ ØªØ³Ø¬ÙÙØ§Øª ÙØ±Ø¯ÙØ© ØšÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙØ§ØšÙØ© ÙÙØ¹Ø±Ø¶ ÙØ§ÙØªØ­Ø¯ÙØ«0 ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ ØºÙØ± Ù
+Ø±Ø¯ÙØ¯ ÙØ³ÙÙ ÙØªÙ
+ Ù
+Ø³Ø­ Ù
+ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØ£ØµÙÙ0</p>
+
+<p>Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ø²Ø£Ø© ÙÙØ§ Ø§ÙÙÙÙØ© Ø®Ø¶Ø±Ø§Ø¡ ÙÙ ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©. ÙØªØ¬Ø²ØŠØ© Ù
+ÙÙ Ø§ÙÙØ± Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù ÙÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± "ØªØ¬Ø²ØŠØ© ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙØ§Ø¹Ø¯Ø© ØšÙØ§ÙØ§Øª" ØªØžÙØ±  ÙØ§ÙØ°Ø© ØªØ¹Ø±Ø¶ Ø®ÙØ§Ø±Ø§Øª Ø§Ø¬Ø±Ø§Ø¡ Ø§ÙØªØ¬Ø²ØŠØ©. Ø§ÙØ®ÙØ§Ø± Ø§ÙØ£ÙÙ ("Ø§ÙÙ
+ÙØ§ØšØ³") ÙØ­Ø¯Ø¯ Ø§ÙÙ
+ÙØ§ØšØ³ ÙÙØªØ¬Ø²ØŠØ©. ÙÙ Ù
+Ø¹ØžÙ
+  Ø§ÙØ­Ø§ÙØ§ØªØ ÙØ³ØªØ®Ø¯Ù
+ Ù
+ÙØ§ØšØ³ ÙØ§Ø­Ø¯ ÙÙ
+Ø¹Ø§ÙØ¬Ø©  ÙÙØ¹ Ù
+Ø¹ÙÙ Ù
+Ù Ø§ÙÙ
+ÙÙØ§ØªØ ÙÙÙ ÙÙ ØšØ¹Ø¶ Ø§ÙØ§Ø­ÙØ§ÙØ Ø­ÙØ« ØªÙØ¬Ø¯ Ù
+ÙÙØ§Øª Ù
+Ø®ØªÙÙØ© ÙÙÙØ§ Ø§Ù
+ØªØ¯Ø§Ø¯ Ù
+ØŽØªØ±Ù  ÙÙØ§ ÙÙ
+ÙÙ ÙÙ
+ÙØ§ØšØ³ÙÙ Ù
+Ø¹Ø§ÙØ¬Ø© Ø§ÙÙ
+ÙÙØ§Øª ØšÙÙØ³ Ø§ÙØ§Ù
+ØªØ¯Ø§Ø¯.ÙÙ
+ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ø®ÙØ§Ø± "input-encoding" ÙØªØ­Ø¯ÙØ¯ ØªØ±Ù
+ÙØ² ÙØ§Ø¹Ø¯Ø© Ø§ÙØšÙØ§ÙØ§Øª. Ø®ÙØ§Ø± "Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª" "metadata-set"" ÙØ­Ø¯Ø¯ Ø£Ù Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙÙ
+ÙÙ Ø§Ø¶Ø§ÙØ©  Ø§ÙØ­ÙÙ Ø§ÙØ¬Ø¯ÙØ¯ Ø¥ÙÙÙ. Ø¥Ø°Ø§ ÙÙ
+ ÙØªÙ
+ ØªØ­Ø¯ÙØ¯ ÙØ§Ø­Ø¯Ø Ø³ÙÙ ÙØªÙ
+ Ø­Ø«Ù ÙÙ
+Ø¹Ø±ÙØ© Ù
+Ø§ ÙÙ
+ÙÙ ÙØ¹ÙÙ Ù
+Ø¹ Ø£Ù Ø­ÙÙ Ø¬Ø¯ÙØ¯ ÙÙ ÙØ§Ø¹Ø¯Ø© Ø§ÙØšÙØ§ÙØ§Øª.  ÙÙ
+ÙÙ Ø§Ø¶Ø§ÙØªÙ ÙØ¹ÙØµØ± Ø¬Ø¯ÙØ¯ ÙÙ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ÙØ¬ÙØ¯Ø Ø¯Ù
+Ø¬Ù Ù
+Ø¹ Ø¹ÙØµØ± Ø¢Ø®Ø± Ø£Ù ØªØ¬Ø§ÙÙÙ.</p>
+
+<p>ÙØªÙ
+ Ø§ÙØŽØ§Ø¡ ÙØ«ÙÙØ© ÙØ§Ø±ØºØ©  Ø¬Ø¯ÙØ¯Ø© ÙÙÙ ØªØ³Ø¬ÙÙØ© Ø¹ÙØ¯ ØªØ¬Ø²ØŠØ©  Ø§ÙÙ
+ÙÙ ÙÙØªÙ
+ Ø§Ø¹ØªÙ
+Ø§Ø¯ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø§ÙØªØ³Ø¬ÙÙØ© ÙÙÙ ÙØ«ÙÙØ©Ø ØªØªÙ
+ ØªØ³Ù
+ÙØ© Ø§ÙÙØ«Ø§ØŠÙ ØšØ§Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙØ§Ø±ÙØ§Ù
+ Ù
+Ø«Ù 00002,nul Ù000001-nul ÙÙÙØ°Ø§Ø Ø§Ø°Ø§ ØªÙ
+ ØªØ­Ø¯ÙØ¯ Ø§ÙØ®ÙØ§Ø± "Document-field" (Ø¥ÙÙ Ø§Ø³Ù
+ Ø­ÙÙ ÙØ§Ø¹Ø¯Ø© Ø§ÙØšÙØ§ÙØ§Øª) ØªØ³ØªØ®Ø¯Ù
+ ÙÙÙ
+Ø© ÙØ°Ø§ Ø§ÙØ­ÙÙØ Ø§Ø°Ø§ ØªÙÙØ±Øª ÙØ§Ø³Ù
+ Ø§ÙÙ
+ÙÙ. ÙÙÙÙ
+ Ø§Ø¬Ø±Ø§Ø¡ Ø§ÙØªØ¬Ø²ØŠØ© ØšÙ
+Ø­Ø§ÙÙØ© ØªÙØ²ÙÙ Ø§ÙÙ
+ÙÙ ÙØ§Ø³ØªØ®Ø¯Ø§Ù
+Ù ØšØ¯ÙØ§ Ù
+Ù Ù
+ÙÙ ÙØ§Ø±Øº0 ÙÙ
+ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+  Ø®ÙØ§Ø±Ø§Øª0"Document- prefix"Ù "Document- sufix" ÙØ§ÙØŽØ§Ø¡ Ø¹ÙÙØ§Ù Ù
+ÙØ§Ø±Ø¯  Ù
+ÙØ­Ø¯ URL ØµØ§ÙØ­ Ø£Ù Ù
+Ø³Ø§Ø± Ù
+ÙÙ Ù
+Ù ÙÙÙ
+Ø© "Document-field" ÙÙ
+ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ø®ÙØ§Ø± "Records-per-folder" ÙØªØ¬Ù
+ÙØ¹ Ø§ÙØªØ³Ø¬ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ø²ØŠØ© ÙÙ Ù
+Ø¬ÙØ¯Ø§Øª ÙØ±Ø¹ÙØ©Ø Ø§Ø°Ø§ ÙØ§ÙØª ÙØ§Ø¹Ø¯Ø© Ø§ÙØšÙØ§ÙØ§Øª ÙØšÙØ±Ø© Ø¬Ø¯Ø§ÙØ ÙÙ
+ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ ÙØ°Ø§ Ø§ÙØ®ÙØ§Ø± ÙØªØ³Ø±ÙØ¹ Ø§ÙØªØ¹Ø¯ÙÙ Ø§ÙÙ
+ØªØ³ÙØ³Ù  ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª0</p>
+
+<p>ÙØªØ­Ø¯Ø¯ Ø¥Ø¬Ø±Ø§Ø¡ Ø§ÙØªØ¬Ø²ØŠØ© ØšØ§Ù
+ØªØ¯Ø§Ø¯  Ø§ÙÙ
+ÙÙ0 ÙÙ ØšØ¹Ø¶ Ø§ÙØ­Ø§ÙØ§ØªØ ØªÙØ¬Ø¯ Ù
+ÙÙØ§Øª ØªÙ
+ÙØ² ÙÙØªØ¬Ø²ØŠØ© ØšØµÙØ±Ø© ØºÙØ± ØµØ­ÙØ­Ø©Ø Ø¥Ø°Ø§ ÙØ§Ù ÙØ¯ÙÙØ§ ÙÙØ³ Ø§Ø³Ù
+ Ø§Ù
+ØªØ¯Ø§Ø¯  Ø§ÙÙ
+ÙÙ0 Ù
+Ø«Ø§Ù Ù
+ÙØ§ÙØ³Procite  ÙØ¹Ø§ÙØ¬  Ø§ÙÙ
+ÙÙØ§Øª ØšØ§ÙØ§Ù
+ØªØ¯Ø§Ø¯  TXT. ÙÙÙÙ Ù
+Ø¹ØžÙ
+ Ø§ÙÙ
+ÙÙØ§Øª ØšØ§ÙØ§Ù
+ØªØ¯Ø§Ø¯ TXT .ÙÙ Ù
+ÙÙØ§Øª ØšØ³ÙØ·Ø© ÙÙÙØ³Øª Ù
+ÙÙØ§Øª Procite</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/exporting.htm
===================================================================
--- main/tags/2.83/gli/help/ar/exporting.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/exporting.htm	(revision 21123)
@@ -0,0 +1,73 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="exporting"><font size="5" face="Verdana"><strong>9.3: ØªØµØ¯ÙØ± Ø§ÙÙ
+Ù
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ ÙÙØŠØ§Øª Ø£Ø®Ø±Ù</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØªÙØ­ ÙØ±ÙÙØ³ØªÙÙ ØªØµØ¯ÙØ± Ù
+Ø­ØªÙÙØ§Øª / Ø£Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙØŠØ§Øª Ù
+Ø¹ÙØ§Ø±ÙØ© Ø¹Ø¯ÙØ¯Ù ÙØªØªØ¶Ù
+Ù METSÙ DSPACE Ù MABCXML</p>
+
+<p>ÙØªØµØ¯ÙØ± Ù
+Ø¬Ù
+ÙØ¹Ø© Ø£Ù Ø§ÙØ«Ø± Ø Ø§ÙØªØ­ "Ù
+ÙÙ" ÙÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± "ØªØµØ¯ÙØ±" ÙÙ
+ÙÙÙ Ø§Ø®ØªÙØ§Ø± Ø§Ù Ø§ÙÙÙØŠØ§Øª  Ø§ÙØªÙ ØªÙØ¯ Ø§ÙØªØµØ¯ÙØ± Ø¥ÙÙÙØ§ ØšØ§Ø®ØªÙØ§Ø±ÙØ§ ÙÙ (Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© "ØªØµØ¯ÙØ± Ø¥ÙÙ00 "0 ÙÙ
+ ØšØªØ­Ø¯ÙØ¯ Ø§Ø³Ù
+ Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ°Ù ØªÙØ¯ Ù
+ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+ØµØ¯Ø±Ø© ÙÙÙ&mdash;ØªÙØªÙÙ ÙØ°Ù Ø§ÙÙ
+ÙÙØ§Øª&lt;path to greenstone&gt;/tmp/exported_xxx, Ø­ÙØ« &times;&times;&times; ÙÙ Ø§ÙØ§Ø³Ù
+ Ø§ÙØ°Ù Ø­Ø¯Ø¯ØªÙ0 ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± ÙØ§Ø­Ø¯Ø© Ø£Ù Ø£ÙØ«Ø± Ù
+Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ
+ØªÙÙØ±Ø© ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© Ø«Ù
+ Ø§ÙÙØ± "ØªØµØ¯ÙØ± Ù
+Ø¬Ù
+ÙØ¹Ø© (Ø§Øª)"0</p>
+
+<p>ØªÙØ¬Ø¯ Ø®ÙØ§Ø±Ø§Øª  Ø£Ø®Ø±Ù Ù
+Ø®ØµØµØ© ÙÙÙÙØŠØ§Øª Ø§ÙÙ
+Ø®ØªÙÙØ©0 ÙÙ
+ÙÙÙ ØªØ­Ø¯ÙØ¯ Ù
+ÙÙØ§Øª XSLT Ø§ÙØªÙ ØªØ·ØšÙ Ø§ÙÙØ§ØªØ¬ Ù
+Ù ÙØ«Ø§ØŠÙ XML ØšÙØ§ ÙØªÙØ¶ÙØš ÙÙØŠØ© ÙØ³Ù Ø§ÙÙ
+Ø®Ø±Ø¬Ø§Øª &ndash; Ø§ÙØªØµØ¯ÙØ± Ø¥ÙÙ MARCXML ÙØ³ØªØ®Ø¯Ù
+ Ù
+ÙÙ ØªØ®Ø·ÙØ· ÙØªØ®Ø·ÙØ· ÙØ§ØµÙØ§Øª  ØšÙØ§ÙØ§Øª ÙØ±ÙÙØ³ØªÙÙ  Ø¥ÙÙ Ø­ÙÙÙ MARC. Ø§ÙÙ
+ÙÙ Ø§ÙØªØ®Ø·ÙØ·Ù Ø§ÙØ§ÙØªØ±Ø§Ø¶Ù  ÙÙÙÙ
+ ØšØªØ®Ø·ÙØ· Ù
+Ø¹ÙØ§Ø± Ø¯ØšÙÙ ÙÙØ± ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙ
+ÙÙÙ  ØªØ®Ø·ÙØ· Ù
+ÙÙ ÙÙÙ ÙØªÙ
+ Ø§Ø³ØªØ®Ø¯Ø§Ù
+Ù ØšØ¯ÙØ§Ù Ù
+Ù Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ Ø­Ø§ÙÙØ§Ù0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/exportingcollections.htm
===================================================================
--- main/tags/2.83/gli/help/ar/exportingcollections.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/exportingcollections.htm	(revision 21123)
@@ -0,0 +1,66 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="exportingcollections"><font size="5" face="Verdana"><strong>9.4: ØªØµØ¯ÙØ± Ù
+Ø¬Ù
+ÙØ¹Ø§Øª  Ø¥ÙÙ  CD/DVD</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙÙ
+ÙÙ ÙÙØ±ÙÙØ³ØªÙÙ ØªØµØ¯ÙØ± Ù
+Ø¬Ù
+ÙØ¹Ø© Ø£Ù Ù
+Ø¬Ù
+ÙØ¹Ø§Øª Ø¥ÙÙ ÙØ±Øµ CD/DVD Ø°Ø§ØªÙ Ø§ÙØªØ«ØšÙØª ØªØ­Øª ØšØ±Ø§Ù
+Ø¬ Ø§ÙØªØŽØºÙÙ Windows </p>
+
+<p>ÙØªØµØ¯ÙØ± Ù
+Ø¬Ù
+ÙØ¹Ø©Ø Ø§ÙØªØ­ ÙØ§ØŠÙ
+Ø© "Ù
+ÙÙ" ÙÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± "ØªØµØ¯ÙØ± ÙØ±Øµ CD/DVD ØªØžÙØ± ÙÙ ÙØ§ØŠÙ
+ Ù
+Ø¬Ù
+ÙØ¹Ø§Øª ÙØ±ÙÙØ³ØªÙÙ &ndash; Ø§ÙÙØ± Ø¹ÙÙ Ø£Ù ÙØ§Ø­Ø¯Ø© ÙÙ
+Ø¹Ø±ÙØ© ÙØµÙÙØ§ ÙÙ
+ ØšØªØ£ØŽÙØ± Ù
+Ø±ØšØ¹ Ø§ÙÙØ­Øµ  ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙØªÙ ØªÙØ¯ ØªØµØ¯ÙØ±ÙØ§- ÙÙ
+ÙÙÙ  Ø§Ø¯Ø®Ø§Ù Ø§Ø³Ù
+  CD/DVD Ù
+Ù Ù
+Ø±ØšØ¹ "Ø§Ø³Ù
+  CD/DVD"0 ÙØžÙØ± ÙØ°Ø§ Ø§ÙØ§Ø³Ù
+ ÙÙ ÙØ§ØŠÙ
+Ø© Ø§ØšØ¯Ø§ Ø¹ÙØ¯Ù
+Ø§ ÙØªÙ
+ ØªØ«ØšÙØª Ø§ÙÙØ±Øµ CD/DVD- ÙÙ
+ÙÙÙ Ø§Ø®ØªÙØ§Ø±  ØªØŽØºÙÙ Ø§ÙÙØ±Øµ DVD Ø£Ù CD-ROM Ø§ÙÙØ§ØªØ¬ Ù
+ØšØ§ØŽØ±Ø© Ù
+Ù Ø§ÙÙØ±Øµ Ø§ÙÙ
+Ø¹ÙÙØ Ø£Ù ØªØ«ØšÙØª ØšØ¹Ø¶ Ø§ÙÙ
+ÙÙØ§Øª ÙÙ Ø§ÙØ­Ø§Ø³ÙØš0 Ø«Ù
+ Ø§ÙÙØ± "ØªØµØ¯ÙØ± ÙØ±Øµ CD/DVD0  ÙØªØ¶Ù
+Ù ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡  ÙØ³Ø® Ù
+ÙÙØ§Øª Ø¹Ø¯ÙØ¯Ù ÙÙØ¯ ÙØ³ØªØºØ±Ù Ø¯ÙØ§ØŠÙ ÙÙÙÙØ©0</p>
+
+<p>Ø¹ÙØ¯ Ø§ÙØ§ÙØªÙØ§Ø¡ Ø ÙØžÙØ± ÙÙ ÙØ±ÙÙØ³ØªÙÙ Ø§Ø³Ù
+ Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ°Ù ÙØ¶Ù
+ Ø§ÙØ¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ
+ØµØ¯Ø±Ù0 Ø§Ø³ØªØ®Ø¯Ù
+ Ø³ÙØ§ÙÙ CD/DVD ÙÙØ³Ø® Ø§ÙÙ
+Ø­ØªÙÙØ§Øª Ø§ÙÙ ÙØ±Øµ CD/DVD ÙØ§Ø±Øº0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/fileassociations.htm
===================================================================
--- main/tags/2.83/gli/help/ar/fileassociations.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/fileassociations.htm	(revision 21123)
@@ -0,0 +1,89 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="fileassociations"><font size="5" face="Verdana"><strong>9.2: Ù
+ØªØ¹ÙÙØ§Øª Ø§ÙÙ
+ÙÙ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØ³ØªØ®Ø¯Ù
+ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØšØ±Ø§Ù
+Ø¬ ØªØ·ØšÙÙÙØ© Ù
+Ø¹ÙÙØ© ÙÙØªØ­ Ø§ÙÙ
+Ø§Ø· Ù
+ÙÙØ§Øª Ù
+Ø¹ÙÙØ©Ø ÙØ­Ø« Ù
+ØªØ¹ÙÙØ§Øª Ø§ÙÙ
+ÙÙØ  Ø§ÙØªØ­ ÙØ§ØŠÙ
+Ø© "Ù
+ÙÙ" Ø«Ù
+ Ø£ÙÙØ± "Ù
+ØªØ¹ÙÙØ§Øª Ø§ÙÙ
+ÙÙ00"</p>
+
+<p>ÙØ§Ø¶Ø§ÙØ© Ù
+ØªØ¹ÙÙØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§Ù
+ØªØ¯Ø§Ø¯ Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+Ø·ÙÙØš ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© Ø Ø£Ù Ø£Ø·ØšØ¹ Ø§ÙØ§Ù
+ØªØ¯Ø§Ø¯ Ø§ÙØ¬Ø¯ÙØ¯ (ÙØ§ØªØ¶Ù
+Ù "0") &ndash; Ø«Ù
+ Ø¥Ù
+Ø§ Ø£Ù  ØšØ·ØšØ§Ø¹Ø© Ø§ÙØ£Ù
+Ø± ÙØ§Ø·ÙØ§Ù Ø§ÙØšØ±ÙØ§Ù
+Ø¬ Ø§ÙÙ
+Ø·ÙÙØš ÙÙ Ø§ÙØ­ÙÙ Ø§ÙÙ
+ÙØ§Ø³Øš Ø  Ø£Ù Ø§Ø®ØªÙØ§Ø± Ø§ÙØªØ·ØšÙÙ Ù
+Ù Ù
+Ø±ØšØ¹ Ø­ÙØ§Ø± "ØªØµÙØ­"0 ÙÙ
+ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ "1%" ÙØ§Ø·ÙØ§Ù Ø§ÙØ£Ù
+Ø± ÙØ­ØŽØ± Ø§Ø³Ù
+ Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+Ø·ÙÙØš ÙØªØ­Ù0  Ø¹ÙØ¯Ù
+Ø§ ÙØªÙ
+ ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡Ø ÙØªÙ
+ ØªÙØŽÙØ· "Ø§Ø¶Ø§ÙØ©" ÙØšØ§ÙÙÙØ± Ø¹ÙÙÙØ§ ØªØªÙ
+ Ø§Ø¶Ø§ÙØ© Ø§ÙÙ
+ØªØ¹ÙÙ0</p>
+
+<p>ØªØ¹Ø¯ÙÙ Ø§ÙÙ
+ØªØ¹ÙÙØ§ØªØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§Ù
+ØªØ¯Ø§Ø¯ Ù
+ÙÙ Ù
+ÙØ¬ÙØ¯ ÙØªØ¹Ø¯ÙÙ Ø§Ù Ø§Ù
+ØªØ¯Ø§Ø¯ Ù
+ØªØ¹ÙÙ ÙÙ Ø­ÙÙ Ø§Ø·ÙØ§Ù Ø§ÙØ£Ù
+Ø± Ø«Ù
+ Ø§ÙÙØ±  "Ø§Ø³ØªØšØ¯Ø§Ù"</p>
+
+<p>ÙØ­Ø°Ù Ù
+ØªØ¹ÙÙØ§ØªØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§Ù
+ØªØ¯Ø§Ø¯ Ù
+ÙÙ Ù
+ÙØ¬ÙØ¯ ÙØ£ÙÙØ± "Ø­Ø°Ù" .</p>
+
+<p>ÙØªÙ
+ Ø­ÙØž Ù
+ØªØ¹ÙÙØ§Øª Ø§ÙÙ
+ÙÙ ÙÙ Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ±ØŠÙØ³Ù ÙÙØ§Ø¬ÙÙÙØ© Ø§ÙÙ
+ÙØªØšÙ ÙÙ Ù
+ÙÙ "associations.xml".</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/filteringthetree.htm
===================================================================
--- main/tags/2.83/gli/help/ar/filteringthetree.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/filteringthetree.htm	(revision 21123)
@@ -0,0 +1,64 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="filteringthetree"><font size="5" face="Verdana"><strong>4.8: ØªØ±ØŽÙØ­ Ø§ÙØŽØ¬Ø±Ø©</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>"ØªØ±ØŽÙØ­"  ØŽØ¬Ø±Ø© Ù
+Ø³Ø§Ø­Ø© Ø§ÙØ¹Ù
+Ù ÙØ§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØªÙØ­ ÙÙ ØªØ¶ÙÙ ÙØ·Ø§Ù Ø§ÙØšØ­Ø« Ø¹Ù Ù
+ÙÙØ§Øª Ù
+Ø­Ø¯Ø¯Ø©0</p>
+
+<p>ÙØ§ØŠÙ
+Ø© "Ø§ØžÙØ§Ø± Ù
+ÙÙØ§Øª" Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ØªØ­Øª ÙÙ ØŽØ¬Ø±Ø© Ù
+ÙÙØ§Øª ØªØªÙØ­ ÙØ§ØŠÙ
+Ø© Ù
+Ø±ØŽØ­Ø§Øª Ù
+Ø¹Ø±ÙØ© Ù
+Ù ÙØšÙØ Ù
+Ø«Ù "ØµÙØ±" . Ø§Ø®ØªÙØ§Ø± Ù
+Ø±ØŽØ­ ØšØµÙØ±Ø© Ù
+Ø€ÙØªØ© ÙØ¹ÙÙ Ø§Ø®ØªÙØ§Ø¡ ØšÙÙØ© Ø£ÙÙØ¹ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+Ø®ØªÙÙØ©  ÙÙ ØŽØ¬Ø±Ø© Ø§ÙÙ
+ÙÙØ§Øª0 ÙØ§Ø³ØªØ¹Ø§Ø¯Ø© ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØªÙ
+ÙÙØ² Ø§ÙÙ
+Ø±ØŽØ­ Ø¥ÙÙ "ÙÙ Ø§ÙÙ
+ÙÙØ§Øª"0 ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ ÙØ§ ÙØ€Ø«Ø± ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø£Ù Ù
+Ø¬ÙØ¯Ø§Øª ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0</p>
+
+<p>ÙÙ
+ÙÙÙ ØªØ®ØµÙØµ Ù
+Ø±ØŽØ­ ØšØ·ØšØ§Ø¹Ø© Ø§ÙØ§Ù
+ØªØ¯Ø§Ø¯ Ø§ÙØ¹Ø§Ù
+ " *.*" Ø£Ù Ø§Ù
+ØªØ¯Ø§Ø¯ Ù
+Ø­Ø¯Ø¯ ".doc" ÙØ§ØžÙØ§Ø±  Ø§ÙÙ
+ÙÙØ§Øª ÙÙÙØ§ Ø£Ù Ø§ÙÙ
+Ø­Ø¯Ø¯Ø© (ÙØ°Ø§ Ø§ÙØ®ÙØ§Ø± Ù
+ØªÙÙØ± ÙÙØ· ÙÙ Ø³ÙØ§Ù Ø§Ø®ØªØµØ§ØµÙ ÙØžÙ
+ Ù
+ÙØªØšØ§Øª ÙØ³ÙØ§Ù Ø§ÙØ®ØšÙØ±) " *.*" Ù
+ÙØ§Ø±ÙØ© ØšØ§Ù Ù
+Ø­Ø§Ø±Ù0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/formatstatements.htm
===================================================================
--- main/tags/2.83/gli/help/ar/formatstatements.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/formatstatements.htm	(revision 21123)
@@ -0,0 +1,120 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="formatstatements"><font size="5" face="Verdana"><strong>8.4: ÙØ³Ù Ø¹Ø±Ø¶</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ØµÙØ­Ø§Øª Ø§ÙÙØš Ø§ÙØªÙ ÙØ±Ø§ÙØ§ Ø¹ÙØ¯ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ ÙØ±ÙÙØ³ØªÙÙ ÙÙØ³Øª Ø³Ø§ØšÙÙ Ø§ÙØªØ®Ø²ÙÙØ ÙÙÙÙ ÙØªÙ
+ ØªÙÙÙØ¯ÙØ§ "Ø¹ÙÙ Ø§ÙØ·Ø§ØŠØ±" Ø¹ÙØ¯ Ø§ÙØ§Ø­ØªÙØ§Ø¬ ÙÙØ§0 ØªØ³ØªØ®Ø¯Ù
+ Ø§ÙØ§Ù
+Ø± ÙØ³Ù Ø§ÙØ¹Ø±Ø¶ ÙØªØºÙÙØ± ØªÙ
+ØžÙØ± ÙØ°Ù Ø§ÙØµÙØ­Ø§Øª Ø§ÙÙ
+ÙÙØ¯Ø©Ø ÙØªØ€Ø«Ø± ÙÙ ØªÙ
+ØžÙØ± Ø§ÙØ§Ø²Ø±Ø§Ø± Ø¹ÙØ¯ Ø¹Ø±Ø¶ Ø§ÙÙØ«Ø§ØŠÙ Ø ÙØªØ­Ø¯ÙØ¯ Ø§ÙØ±ÙØ§ØšØ· Ø§ÙØªÙ ØªØ¹Ø±Ø¶ ØšÙØ§Ø³Ø·Ø© Ù
+ØµÙÙ "Datelist" &ndash; ÙÙØ³ Ù
+Ù Ø§ÙØ³ÙÙ ØªØ·ÙÙØ± Ø§ÙØ§Ù
+Ø± ÙØ³Ù Ø§ÙØ¹Ø±Ø¶Ø ÙØ°ÙÙ ØªØ¬Øš ÙØ±Ø§Ø¡Ø© Ø§ÙÙØµÙ 2  Ù
+Ù Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+Ø·ÙØ±ÙÙ0 ÙÙØ§ÙØŽ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ Ø¥Ø¹Ø¯Ø§Ø¯Ø§Øª ÙØ³Ù Ø§ÙØ¹Ø±Ø¶ ÙÙÙÙÙØ© Ø¥ØªØ§Ø­Ø© ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ÙÙØ§0 ØªØ­Øª tab "ÙØ³Ù Ø¹Ø±Ø¶" Ø Ø§ÙÙØ± "Ø³Ù
+Ø§Øª ÙØ³Ù Ø¹Ø±Ø¶"0</p>
+
+<p>ÙÙ
+ÙÙÙ ØªØ·ØšÙÙ Ø£Ù
+Ø± ÙØ³Ù Ø¹Ø±Ø¶ ÙØ§Ù ØŽØŠ ÙÙ ÙØ§ØŠÙ
+Ø© "Ø§Ø®ØªÙØ§Ø± Ø³Ù
+Ø©" Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙØ§ÙØªÙ ØªØªØ¶Ù
+Ù ÙÙ Ù
+ØµÙÙ ÙÙØ§ØŠÙ
+Ø© ØšØ³Ù
+Ø§Øª Ù
+Ø¹Ø±ÙØ© Ù
+Ù ÙØšÙ0 ÙÙØ¬Ø¯ ÙÙ
+Ø·ÙÙ ÙÙØªØ­ÙÙ
+ ÙØ¯Ù
+Ø§ ØªÙÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø³Ù
+Ø©0 ØšØ¹Ø¶ Ø§ÙØ³Ù
+Ø§Øª Ù
+Ø¹Ø±ÙØ© ÙÙ
+ÙÙ ØªÙØŽÙØ·ÙØ§ Ø§Ù Ø§Ø®Ù
+Ø§Ø¯ÙØ§ ØšØšØ³Ø§Ø·Ø© Ù
+Ù Ø®ÙØ§Ù Ø¶ØšØ· ØªØ­ÙÙ
+ÙØ§ ØšÙ
+Ø±ØšØ¹Ø§Øª Ø§ÙÙØ­ØµØ ØªØªØ·ÙØš Ø§ÙØ£Ø®Ø±Ù ØªØ­Ø¯ÙØ¯ Ø³ÙØ§Ø³Ù ÙØµØšÙ ÙÙØ³Ù Ø§ÙØ¹Ø±Ø¶0 ÙÙÙÙ ÙØ°Ø§ ØªÙØ¬Ø¯ ÙØ§ØŠÙ
+Ø© Ù
+ØªØ³Ø¯ÙØ© ÙÙÙ "Ø§ÙÙ
+ÙÙÙØ§Øª Ø§ÙÙ
+ØªÙØ§Ø¹ÙØ©" ÙØ§Ø®ØªÙØ§Ø± Ø§Ù Ø§ÙØ£Ø¬Ø²Ø§Ø¡ Ø§ÙØªÙ ØªØ·ØšÙ Ø¹ÙÙÙØ§ Ø³ÙØ§Ø³Ù ÙØ³Ù Ø¹Ø±Ø¶ (Ø§Ø°Ø§ ÙØ§Ù Ø¶Ø±ÙØ±ÙØ§Ù)0 ÙØ³ØªØ®Ø¯Ù
+ Ù
+Ø±ØšØ¹ Ø§ÙÙØµ "Ø³ÙØ§Ø³Ù ÙØ³Ù Ø¹Ø±Ø¶ HTML" ÙØ§Ø¯Ø®Ø§Ù Ø§ÙØ³ÙØ§Ø³Ù ÙØ§Ø®ØªÙØ§Ø± "Ø§ÙÙ
+ØªØºÙØ±Ø§Øª" Ø§ÙÙ
+Ø¹Ø±ÙØ© Ù
+Ù ÙØšÙ0 ÙØ­ØŽØ± Ù
+ØªØºÙØ± ÙÙ Ø§ÙÙ
+ÙÙØ¹ Ø§ÙØ­Ø§ÙÙ Ù
+Ù Ø³ÙØ§Ø³Ù ÙØ³Ù Ø§ÙØ¹Ø±Ø¶Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±ÙØ§ Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ©Ø ÙØ§ÙÙØ± "Ø­ØŽØ±"0 "Ø­ØŽØ± Ù
+ØªØºÙØ±" combobox.</p>
+
+<p>ØªØ­Ø¯ÙØ¯ ÙØ³Ù Ø¹Ø±Ø¶ Ø§ÙØªØ±Ø§Ø¶Ù ÙÙ
+ÙÙÙ Ù
+Ø­Ø¯Ø¯ ØšØ§Ø®ØªÙØ§Ø± "ÙÙ Ø§ÙÙ
+ÙØ§Ù
+Ø­" Ø­ÙØ« ÙØªÙ
+ Ø§Ø¹ØªÙ
+Ø§Ø¯ ÙØ³Ù Ø§ÙØ¹Ø±Ø¶ ÙØ°Ø§ ÙÙÙ ØªØ·ØšÙÙØ§Øª Ù
+ÙØ§Ù
+Ø­ ÙØ³Ù Ø§ÙØ¹Ø±Ø¶ Ù
+Ø§ÙÙ
+ ÙØªÙ
+ ØªØ­Ø¯ÙØ¯ ØºÙØ±Ù0</p>
+
+<p>ÙØ§Ø¶Ø§ÙØ© Ø£Ù
+Ø± ÙØ³Ù Ø¹Ø±Ø¶ Ø¬Ø¯ÙØ¯0 ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø³Ù
+Ø© Ù
+ÙÙÙØ§Øª ÙØ§ØšÙØ© ÙÙØªØ·ØšÙÙ0 ØªØ¹Ø±Ø¶ Ø§ÙÙÙÙ
+Ø© Ø§ÙØ§ÙØªØ±Ø§Ø¶ÙØ© ÙÙØ°Ø§ Ø§ÙØ£Ù
+Ø± ØšØ§ÙÙÙÙ Ø§ÙØ±Ù
+Ø§Ø¯Ù0 Ø§ÙÙØ± "Ø¥Ø¶Ø§ÙØ© ÙØ³Ù Ø¹Ø±Ø¶" ÙØªÙÙÙØ°ÙØ§ ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 Ø§Ù
+Ø± ÙØ³Ù Ø¹Ø±Ø¶ ÙØ§Ø­Ø¯ ÙÙØ· ÙØ§Ù Ù
+ØŽØªØ±Ù Ø³Ù
+Ø©/ Ù
+ÙÙÙØ§Øª0</p>
+
+<p>ÙØ­Ø°Ù Ø£Ù
+Ø± ÙØ³Ù Ø¹Ø±Ø¶Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©Ø ÙØ§ÙÙØ± "Ø­Ø°Ù Ø£Ù
+Ø± ÙØ³Ù Ø¹Ø±Ø¶"0</p>
+
+<p>ÙÙ
+Ø²ÙØ¯ Ù
+Ù Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø­ÙÙ Ø§ÙÙ
+ØªØºÙØ±Ø§Øª ÙØ³Ù
+Ø§Øª Ø§ÙÙ
+ÙÙÙØ§Øª- Ø§ÙØ±Ø§ Ø§ÙÙØµÙ 2 Ù
+Ù Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+Ø·ÙØ±ÙÙ0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/formattingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/ar/formattingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/formattingacollection.htm	(revision 21123)
@@ -0,0 +1,46 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="formattingacollection"><font size="5" face="Verdana"><strong>8: ØªÙØ¶ÙØš ØªÙ
+ØžÙØ± Ù
+Ø¬Ù
+ÙØ¹ØªÙ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ø¹ÙØ¯ Ø§ÙØ§ÙØªÙØ§Ø¡ Ù
+Ù ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©Ø ÙÙ
+ÙÙÙ ÙÙÙ
+Ø§ ØšØ¹Ø¯ ÙØµÙ ØªÙ
+ØžÙØ±ÙØ§ ÙÙÙ
+Ø³ØªÙÙØ¯0 Ù
+Ø§ÙÙ Ø§Ø³Ù
+Ø§Ø¡ Ø§ÙÙØŽØ§ÙØ§Øª Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+Ø© ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙÙ
+Ø±ØšØ¹ Ø§ÙØšØ­Ø«Ø ÙÙÙ ØªØ¹Ø±Ø¶ ÙØªØ§ØŠØ¬ Ø§ÙØšØ­Ø«Ø Ù
+Ø§ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØªÙ ØªØžÙØ± Ø¹ÙØ¯ Ø¹Ø±Ø¶ Ø§ÙÙØ«Ø§ØŠÙØ ÙÙ
+ÙÙ ØªÙØ¶ÙØš ÙÙ ÙØ°Ù Ø§ÙØ§ØŽÙØ§Ø¡0 ÙÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙØŽØ±Ø­ ÙÙ ÙÙÙÙØ© Ø¹Ù
+Ù ÙØ°Ø§0</p>
+
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/generalsettings.htm
===================================================================
--- main/tags/2.83/gli/help/ar/generalsettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/generalsettings.htm	(revision 21123)
@@ -0,0 +1,70 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="generalsettings"><font size="5" face="Verdana"><strong>8.2: Ø¹Ø§Ù
+0</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØŽØ±Ø­ ÙÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+  ÙÙÙÙØ© Ø§Ø³ØªØ¹Ø±Ø§Ø¶ Ù alter Ø§ÙØªÙØ¶ÙØš Ø§ÙØ¹Ø§Ù
+ ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 Ø§ÙÙØ§Ù ØªØ­Øª tab "ÙØ³Ù Ø¹Ø±Ø¶" Ø§ÙÙØ± "Ø¹Ø§Ù
+"0</p>
+
+<p>ÙÙÙØ§ ÙØªÙ
+ Ø¥Ø¹Ø¯Ø§Ø¯ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØªÙØ³ÙØ±ÙØ§0 ÙÙÙ ØªØªØ¶Ù
+Ù Ø§ÙØ¹ÙÙØ§Ù ÙØ§ÙÙØµÙ ÙØ§ÙØªÙ ØªØ¯Ø®Ù ÙÙ ØšØ¯Ø§ÙØ© ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø©0</p>
+
+<p>Ø§ÙÙØ§ÙØ Ø¹ÙØ§ÙÙÙ Ø§ÙØšØ±ÙØ¯ Ø§ÙØ§ÙÙØªØ±ÙÙÙ ÙÙ
+ÙØŽØŠ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙ
+Ø§ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØªØªÙØ­ ÙÙ Ø§ÙØ­ÙÙÙ Ø§ÙØªÙ ØªÙÙ Ø£Ø¹ÙØ§Ù ØªØºÙÙÙØ± Ø¹ÙÙØ§Ù  Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©Ø Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ°Ù ØªØ®Ø²Ù ÙÙÙ Ù
+ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙØ°Ø§ ÙØ§ ÙÙ
+ÙÙ ØªØ¹Ø¯ÙÙÙ0 Ø§ÙØªØ§ÙÙØ Ù
+Ø®ØµØµ (ÙÙ ØŽÙÙ URL) ÙØ±Ù
+Ø² Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØ¹Ø±Ø¶Ù ÙÙ Ø§ÙØ¬Ø§ÙØš Ø§ÙØ£Ø¹ÙÙ ÙØ³Ø§Ø±Ø§Ù ÙÙ ØµÙØ­Ø© "Ø­ÙÙ" &ndash; ÙÙÙÙ Ø±Ù
+Ø² Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ ÙÙ Ø§ÙØµÙØ­Ø© Ø§ÙØ¹Ø§Ù
+Ø© ÙÙ
+ÙØªØšÙ ÙØ±ÙØ³ØªÙÙ ÙØ±Ø§ØšØ· ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 Ø«Ù
+ Ù
+Ø±ØšØ¹ ÙØ­Øµ ÙØªØ­Ø¯ÙØ¯ Ø¹Ù
+Ø§ Ø§Ø°Ø§ ÙØ§ÙØª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø¹Ø§Ù
+Ø©0 Ø§Ø®ÙØ±Ø§Ù Ù
+Ø±ØšØ¹ "ÙØµÙ Ù
+Ø¬Ù
+ÙØ¹Ø©" Ø§ÙÙØµÙ ÙÙØµÙÙØ§0<a href="creatingacollection.htm">Ø¥ÙØŽØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø¬Ø¯ÙØ¯Ø©</a>.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/help.xml
===================================================================
--- main/tags/2.83/gli/help/ar/help.xml	(revision 21123)
+++ main/tags/2.83/gli/help/ar/help.xml	(revision 21123)
@@ -0,0 +1,3483 @@
+<?xml version="1.0"?>
+<!DOCTYPE TutorialList [
+     <!ENTITY nbsp "&#160;">
+     <!ENTITY rarr "&#8594;">
+     <!ENTITY mdash "&#8212;">
+]>
+<!-- Arabic GLI Help, translated by Kamal Salih Mustafa -->
+<Document>
+<Section name="introduction">
+<Title>
+<Text id="1">Ø§ÙØªØ¹Ø±ÙÙ</Text>
+</Title>
+<Text id="2">ÙØ§Ø¬ÙØ© ÙØ±ØšÙØ³ØªÙÙ ÙÙ Ø£Ø¯Ø§Ø© ÙØªØ­Ø¯ÙØ¯ ÙØªØ¬Ù
+ÙØ¹ Ø§ÙÙØ«Ø§ØŠÙ0 Ø«Ù
+ ØšÙØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ
+ÙØªØšØ© Ø§ÙØ±ÙÙ
+ÙØ©0 ØªÙÙØ± Ø§ÙÙØµÙÙ ÙÙØžØ§ØŠÙ ØšØ±Ù
+Ø¬ÙØ§Øª ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+ÙØªØšØ© Ø§ÙØ±ÙÙ
+ÙØ© Ù
+Ù Ø®ÙØ§Ù ÙØ§Ø¬ÙØ© Ø±Ø³ÙÙ
+ÙØ© ØšØ§ÙÙÙØ± Ø¹ÙÙ Ø§ÙÙÙÙØ©Ø§ÙÙØžÙÙØ© Ø§ÙÙ
+Ø·ÙÙØšØ©0.</Text>
+<Section name="ofmiceandmenus">
+<Title>
+<Text id="3">Ø§ÙÙØ£Ø±Ø© Ù Ø§ÙÙÙØ§ØŠÙ
+</Text>
+</Title>
+<Text id="4">ÙÙÙØ± ÙØ°Ø§ Ø§ÙÙØ³Ù
+ Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙØ£Ø³Ø§Ø³ÙØ© ÙÙØªÙØ§Ø¹Ù Ù
+Ø¹ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ0 Ø§Ø°Ø§ ÙÙØª Ù
+Ø¹ØªØ§Ø¯Ø§ Ø¹ÙÙ Ø§ÙØªØ¹Ø§Ù
+Ù Ù
+Ø¹ ØšØ±Ø§Ù
+Ø¬  Ù
+ØªØµÙØ­ Ø§ÙØ§ÙØªØ±ÙØª Ù Microsoft Office ÙÙ
+Ø±ØªØ§Ø­Ø§Ù ÙÙØªØ¹Ø§Ù
+Ù Ù
+Ø¹ ÙÙØ± Ø§ÙÙØ£Ø±Ø©  ÙØ§ÙÙÙØ§ØŠÙ
+0 Ø§ÙØªÙÙ Ø¥ÙÙ <Reference target="howtoavoidthisdocument"/>.</Text>
+<Text id="5">ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØªØªØšØ¹ ØªÙØ§ÙÙØ¯ ØšØ±Ø§Ù
+Ø¬ Windows ÙÙ
+ØšÙÙØ© Ø¹ÙÙ Ø§ÙÙ
+Ø¹Ø±ÙØ© ØšÙØ§0</Text>
+<Text id="6">ÙÙ Ø¬Ø²Ø¡ Ù
+Ù Ø§ÙØŽØ§ØŽØ© ØªØªÙØ§Ø¹Ù Ù
+Ø¹ÙØ Ù
+Ø«Ù Ø²Ø± Ø£Ù Ø­ÙÙ ÙØµ ÙØ³Ù
+Ù "ØªØ­ÙÙ
+" ÙØ³Ù
+Ù Ø§ÙØªØ­ÙÙ
+ ÙÙ Ø§Ù ÙØ­ØžØ© Ø§ÙØ²Ù
+ÙÙØ© "ØªØ±ÙÙØ²" ÙØ¶Ø§Ø¡ ÙÙØ³ØªØ¬ÙØš ÙÙÙØ­Ø© Ø§ÙÙ
+ÙØ§ØªÙØ­0 Ù
+Ø®ØªÙÙ ÙÙØ§Ø· Ø§ÙØªØ­ÙÙ
+ ØªØªÙØ­ ÙÙ Ø§Ø®ØªÙØ§Ø± Ø§ÙØ£Ø¬Ø²Ø§Ø¡ Ø§ÙÙ
+Ø¶Ø§Ø¡Ø© ÙÙ Ø§ÙØ£Ø²Ø±Ù Ø§ÙØºØ§Ù
+Ù0 ØšØ¹Ø¶ Ø§ÙØ£Ø¬Ø²Ø§Ø¡ ÙÙÙÙØ§ Ø±Ù
+Ø§Ø¯Ù ÙÙØ¯ÙØ§ÙØ© Ø¹ÙÙ Ø£ÙÙØ§ ØºÙØ± Ù
+ÙØŽØ·Ø©0</Text>
+<Text id="7">ÙÙ
+ÙÙÙ ØªØ­Ø±ÙÙ ÙÙÙØ± Ù
+ÙØ§ØªÙØ­ Ø§ÙÙØ£Ø±Ø© ÙÙ
+ÙÙØ§Ù ÙÙØ³Ø§Ø±Ø§Ù ØšØµÙØ±Ø© Ø§Ø¹ØªÙØ§Ø¯ÙØ©0 ÙÙ
+ÙÙÙ Ø³Ø­Øš ÙØ«ÙØ± Ù
+Ù Ø§ÙÙ
+ÙÙÙØ§Øª ØšØ§ÙÙÙØ± ÙØ§ÙØ§ØšÙØ§Ø¡ Ø¹ÙÙ Ø§ÙØ²Ø± Ø§ÙØ£ÙÙ
+Ù Ø«Ù
+ Ø§Ø³ÙØ§Ø·ÙØ§ ÙÙ Ø§Ù Ù
+ÙØ§Ù Ø¢Ø®Ø± ÙØªØ±Ù Ø§ÙØ²Ø±0 ÙÙ
+ÙÙ Ø­Ø« Ø§ÙØ£Ù
+Ø§ÙÙ Ø§ÙÙ
+Ø³ØªÙØ¯ÙØ© ØšØªÙ
+Ø±ÙØ± Ù
+Ø€ØŽØ± Ø§ÙÙØ£Ø±Ø© ÙÙÙÙØ§0</Text>
+<Text id="8">ÙÙ
+ÙÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ ÙÙØ­Ø© Ø§ÙÙ
+ÙØ§ØªÙØ­ ÙØ·ØšØ§Ø¹Ø© Ø§ÙÙØµÙØµ ÙÙ Ø§ÙØ­ÙÙÙ. Ù
+ÙØªØ§Ø­ [tab] ÙÙÙØ± Ø§ÙØªØ±ÙÙØ² ØšÙÙ Ù
+Ø®ØªÙÙ ÙØµÙØµ Ø§ÙØ­ÙÙÙ.</Text>
+<Text id="11">ÙØ§ÙÙØ§Ø¡ ØšØ±ÙØ§Ù
+Ø¬ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± "Ø®Ø±ÙØ¬" Ù
+Ù ÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙÙ0 Ø³ÙÙ ØªØ­ÙØž Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø£ÙÙØ§0</Text>
+</Section>
+<Section name="howtoavoidthisdocument">
+<Title>
+<Text id="12">ÙÙÙ ØªØªØ¬ÙØš ÙØ±Ø§Ø¡Ø© ÙØ°Ù Ø§ÙÙØ«ÙÙØ©</Text>
+</Title>
+<Text id="13">ÙØ§  ØªÙØ±Ø£ ÙØµ Ø§ÙÙ
+Ø³Ø§Ø¹Ø¯Ø© Ù
+Ù Ø£ÙÙÙ Ø¥ÙÙ Ø£Ø®Ø±Ù0 ÙÙ
+ÙÙÙ ÙØ±Ø§Ø¡Ø© ÙØ¯Ø± Ù
+ÙÙ ÙÙ
+ÙÙÙ  Ù
+Ù Ù
+Ø¹Ø±ÙØ© ÙÙÙÙØ© Ø§ÙØ­ØµÙÙ Ø¹ÙÙ Ù
+Ø³Ø§Ø¹Ø¯Ø© ÙØ­Ù Ù
+ØŽÙÙØ© Ù
+Ø¹ÙÙØ©0</Text>
+<Text id="14">ÙÙØ± Ø£ÙÙÙÙØ© "Ù
+Ø³Ø§Ø¹Ø¯Ø©" ÙÙ Ø³ÙØ§Ù Ù
+Ø¹Ø·Ù ÙÙÙØ± ÙÙ Ø§ÙÙ
+Ø³Ø§Ø¹Ø¯Ø© Ø§ÙÙ
+ÙØ§Ø³ØšØ© Ø£Ù ØªØ­Ø¯ÙØ¯ Ø§ÙØ¹ÙÙØ§Ù Ø§ÙÙ
+ÙØ§Ø³Øš Ù
+Ù ØšÙÙ Ø§ÙØ¹ÙØ§ÙÙÙ Ø§ÙØ¬Ø§ÙØšÙØ© Ø§ÙÙ
+Ø³ØšÙÙ  ØšØ§ÙÙÙÙØ©Ø¹ÙØ§Ù
+Ø© Ø¥Ø³ØªÙÙØ§Ù
+.</Text>
+<Text id="15">Ø¹ÙØ¯Ù
+Ø§ ØªÙ
+ÙØ¶Ø¹ Ù
+Ø€ØŽØ± Ø§ÙÙØ£Ø±Ø© Ø¹ÙÙ Ø¹ÙÙØ§Ù Ù
+Ø­Ø¯Ø¯ ÙØžÙØ± ÙÙ Ù
+Ø±ØšØ¹ ÙØµ ÙØŽØ±Ø­ ÙÙ ÙÙÙÙØ© Ø§ÙØ¬Ø§Ø² Ø§ÙÙ
+ÙÙ
+Ø©0</Text>
+<Text id="16">ÙØšÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+  ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙØ Ø¹ÙÙÙ Ø£ÙÙØ§ ÙØ±Ø§Ø¡Ø© Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ0</Text>
+</Section>
+</Section>
+<Section name="startingoff">
+<Title>
+<Text id="17">Ø§ÙØšØ¯Ø§ÙØ©</Text>
+</Title>
+<Text id="18">ÙØºØ·Ù ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙÙÙÙØ© Ø¥ÙØŽØ§Ø¡Ø ØªØ­Ù
+ÙÙ ØØ­ÙØž Ù Ø¥ÙØºØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª.</Text>
+<Section name="creatingacollection">
+<Title>
+<Text id="19">Ø¥ÙØŽØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø¬Ø¯ÙØ¯Ø©</Text>
+</Title>
+<Text id="20">ÙØ§ÙØŽØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø¬Ø¯ÙØ¯Ø©Ø Ø§ÙØªØ­ ÙØ§ØŠÙ
+Ø© "Ù
+ÙÙ" ÙÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± "Ø¬Ø¯ÙØ¯" ØªØžÙØ± ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ù Ø§ÙØ­ÙÙÙ Ø§ÙÙØµÙØ© Ø§ÙØªÙ ÙØ¬Øš ØªØ¹ØšØŠØªÙØ§0</Text>
+<Text id="21">"Ø¹ÙÙØ§Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©" ÙÙ Ø§ÙÙØµ Ø§ÙØ°Ù ÙØ¹Ø±Ø¶ Ø£Ø¹ÙÙ ØµÙØ­Ø© Ø§ÙÙØš ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙ
+ÙÙ Ø£Ù ÙÙÙÙ ØšØ§Ù Ø·ÙÙ0</Text>
+<Text id="22">"ÙØµÙ Ø§ÙÙ
+Ø­ØªÙÙØ§Øª" ÙØ¬Øš Ø£Ù ÙØµÙ ÙØ¯Ø± Ø§ÙÙ
+Ø³ØªØ·Ø§Ø¹ Ù
+Ø­ØªÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 ÙØ§Ø³ØªØ®Ø¯Ø§Ù
+  Ù
+ÙØªØ§Ø­ "Enter" ÙØ§ÙØŽØ§Ø¡ Ø§ÙÙÙØ±Ø§Øª0</Text>
+<Text id="23">Ø§Ø®ÙØ±Ø§Ù ÙØ¬Øš ØªØ­Ø¯ÙØ¯  Ø§Ø°Ø§ Ù
+Ø§ ÙØ§Ù ØªÙ
+ØžÙØ± ÙÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+ØšÙÙ Ø¹ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø³Ø§ØšÙØ©0 Ø£Ù Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙØšØ¯Ø§ÙØ© Ø§ÙØ§ÙØªØ±Ø§Ø¶ÙØ© "Ù
+Ø¬Ù
+ÙØ¹Ø© Ø¬Ø¯ÙØ¯Ø©"0 Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙØ¬Ø¯ÙØ¯Ø© Ø§ÙØ§ÙØªØ±Ø§Ø¶ÙØ© Ø§ÙØ¬Ø¯ÙØ¯Ø© ÙÙØ§ ØªÙÙÙÙ Ù
+Ø¹ÙØ§Ø±Ù ÙØªØ³ØªØ®Ø¯Ù
+ Ù
+Ø¹ÙØ§Ø± Ø¯ØšÙÙ ÙÙØ± ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª0 ÙÙÙ
+ÙÙ ØªØºÙÙØ± ÙØ°Ø§ ÙÙÙ
+Ø§ ØšØ¹Ø¯0</Text>
+<Text id="24">Ø§ÙÙØ± "OK" ÙØ§ÙØŽØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø©0 </Text>
+<Text id="25">Ø§ÙÙØ± "Ø¥ÙØºØ§Ø¡" ÙÙØ±Ø¬ÙØ¹ Ø§ÙÙÙØ±Ù ÙÙØŽØ§ØŽØ© Ø§ÙØ±ØŠÙØ³ÙØ© 0.</Text>
+</Section>
+<Section name="savingacollection">
+<Title>
+<Text id="26">Ø­ÙØž Ù
+Ø¬Ù
+ÙØ¹Ø©</Text>
+</Title>
+<Text id="27">Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙØ³ Ù
+ØªÙ
+Ø§Ø«ÙØ§Ù Ù
+Ø¹ Ø§Ø¹Ø¯Ø§Ø¯ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙØ§Ø³ØªØ®Ø¯Ø§Ù
+ ÙÙ ÙØ±ÙÙØ³ØªÙÙ   (see <Reference target="producingthecollection"/>).</Text>
+<Text id="28">ÙØªÙÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ Ø­Ù
+Ø§ÙØ© Ø¹Ù
+ÙÙ ØšØ­ÙØžÙ Ø¹ÙØ¯ Ø§ÙØ®Ø±ÙØ¬ Ù
+Ù Ø§ÙØšØ±ÙØ§Ù
+Ø¬ Ø£Ù ØªØ­Ù
+ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø£Ø®Ø±Ù0</Text>
+<Text id="29a">ØªØ­ÙØž Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª ÙÙ Ù
+Ø¬ÙØ¯ "collect" Ø¶Ù
+Ù ØªØ«ØšÙØª ÙØ±ÙÙØ³ØªÙÙ ÙØªØ³Ù
+Ù ØšØ§Ø³Ù
+ ÙØµÙØ± Ù
+Ù Ø§Ø³Ù
+ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 ØªØ­ÙØž Ø§ÙÙØ«Ø§ØŠÙ ÙÙ Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙÙØ±Ø¹Ù "import"  ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª  ØªØ­ÙØž ÙÙØ§ Ø£ÙØ¶Ø§Ù  ÙÙ Ù
+ÙÙ "metadata.xml" Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙØªÙÙÙÙ ØªØ­ÙØž ÙÙ Ù
+ÙÙ "collect. Cfq " ÙÙ Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙÙØ±Ø¹Ù etc." ØªØ­ÙØž ØšØ¹Ø¶ Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª ÙÙ Ù
+ÙÙ ØšØ§Ø³Ù
+ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšØ§Ù
+ØªØ¯Ø§Ø¯ Ù
+ÙÙ "col"</Text>
+</Section>
+<Section name="openingacollection">
+<Title>
+<Text id="30">ÙØªØ­ Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+ÙØ¬ÙØ¯Ø©</Text>
+</Title>
+<Text id="31">ÙÙØªØ­ Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+ÙØ¬ÙØ¯Ø©Ø ÙÙ
+ ØšØ¥Ø®ØªÙØ§Ø± "ÙØªØ­" Ù
+Ù ÙØ§ØŠÙ
+Ø© "Ù
+ÙÙ" ÙÙØ­ØµÙÙ Ø¹ÙÙ Ø­Ø« ÙØªØ­ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.ØªØžÙØ± ÙØ§ØŠÙ
+Ø© ØšÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Greenstone .ÙÙ
+ ØšØ¥Ø®ØªÙØ§Ø± ÙØ§Ø­Ø¯Ø© ÙÙ
+Ø¹Ø±ÙØ© ÙØµÙÙØ§ Ù Ø£ÙÙØ± "ÙØªØ­" ÙØªØ­Ù
+ÙÙÙØ§.</Text>
+<Text id="32">ÙÙ Ø­Ø§ÙØ© ØªØŽØºÙÙ Ø£ÙØ«Ø± Ù
+Ù ØšØ±ÙØ§Ù
+Ø¬ ÙÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ Ù
+Ø¹Ø§ÙØ ÙØ§Ù Ø§ÙÙ
+ÙÙØ§Øª Ø°Ø§Øª Ø§ÙØµÙØ© ØªØºÙÙ ÙÙ
+ÙØ¹ Ø§ÙØªØ¯Ø§Ø®Ù0 Ø¹ÙØ¯ ÙØªØ­ Ù
+Ø¬Ù
+ÙØ¹Ø©  ÙÙØŽØ£ Ù
+ÙÙ ØºÙÙ ØµØºÙØ± ÙÙ Ù
+Ø³Ø§Ø±ÙØ§. ÙÙÙÙ
+ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØšØ§ÙØªØ£ÙØ¯ Ù
+Ù ÙØ¬ÙØ¯ ÙØ°Ø§ Ø§ÙÙ
+ÙÙ ÙØšÙ ÙØªØ­ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© .Ø¹ÙÙ Ø¢Ù Ø­Ø§Ù Ø¹ÙØ¯Ù
+Ø§ ÙØªÙ
+ ØºÙÙ    ÙØ§Ø¬ÙØ©  Ø§ÙÙ
+ÙØªØšÙ ØšØµÙØ±Ø© Ø³ÙÙÙ
+Ù ÙØªÙÙØ± Ø§Ø­ÙØ§ÙØ§Ù Ù
+ÙÙ Ø§ÙØºÙÙ ÙÙ Ù
+ÙØ§ÙÙØ ÙÙÙÙ
+ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØšØ§Ø³ØªÙØ³Ø§Ø±Ù  Ø§Ø°Ø§ Ù
+Ø§ ÙÙØª ØªÙØ¯ "Ø§Ù
+ØªÙØ§Ù" Ø§ÙØªØ­ÙÙ
+ ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©.ØªØµØ±Ù Ø¹ÙÙ Ø§ÙÙØ­Ù Ø§ÙØ°Ù ÙØ±Ø¶ÙÙ Ø¥ÙØ§ Ø¥Ø°Ø§ ÙÙØª ØªØ¹ØªÙØ¯ Ø§Ù ØŽØ®ØµØ§ Ø¢Ø®Ø± ÙØ³ØªØ®Ø¯Ù
+ ÙÙØ³ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©</Text>
+<Text id="33">Ø¹ÙØ¯ ÙØªØ­ Ù
+Ø¬Ù
+ÙØ¹Ø© ÙÙ
+ ÙØªÙ
+ Ø§ÙØŽØ§Ø€ÙØ§ ØšÙØ§Ø³Ø·Ø© ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙØ Ø³ÙÙ ÙØªÙ
+ Ø§Ø¹ØªÙ
+Ø§Ø¯ Ù
+Ø¹ÙØ§Ø± Ø¯ØšÙÙ ÙÙØ± ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙØ§0 ÙÙ
+Ø§ ÙØªÙ
+ Ø§Ø³ØªÙØ±Ø§Ø¯  Ø£Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙÙ
+Ø§ ÙÙ Ø¹ÙØ¯ Ø¬ÙØš Ù
+ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª0 ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ Ù
+ÙØµÙÙ ÙÙ <Reference target="importingpreviouslyassignedmetadata"/> section. </Text>
+</Section>
+<Section name="deletingcollections">
+<Title>
+<Text id="34">Ø¥ÙØºØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª</Text>
+</Title>
+<Text id="35">Ø¹ÙØ¯Ù
+Ø§ ØªØ±ÙØ¯ Ø¥ÙØºØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø§Øª Ù
+Ù ØªØ«ØšÙØª ÙØ±ÙÙØ³ØªÙÙ ØšØµÙØ© Ø¯Ø§ØŠÙ
+Ø©0 ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± "Ø¥ÙØºØ§Ø¡00" Ù
+Ù ÙØ§ØŠÙ
+Ø©  "Ù
+ÙÙ" - ØªØžÙØ± ÙØ§ØŠÙ
+Ø© ØšØ§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± ÙØ§Ø­Ø¯Ø© ÙÙ
+Ø¹Ø±ÙØ© ÙØµÙÙØ§ Ø«Ù
+ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ù
+Ø±ØšØ¹ Ø§ÙÙØ­Øµ Ø§Ø³ÙÙ Ù
+Ø±ØšØ¹ Ø§ÙØ­ÙØ§Ø± ÙØ§ÙÙØ± "Ø§ÙØºØ§Ø¡" ÙØ¬Øš ØªÙØ®Ù Ø§ÙØ­Ø°Ø± ÙØ§Ù ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ ØºÙØ± Ù
+Ø±Ø¯ÙØ¯0</Text>
+</Section>
+</Section>
+<Section name="downloadingfiles">
+<Title>
+<Text id="36">ØªÙØ²ÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ù
+Ù Ø§ÙØ¥ÙØªØ±ÙØª</Text>
+</Title>
+<Text id="37">ÙØµÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ <AutoText key="glidict::GUI.Download"/>  ÙÙÙÙØ© Ø¥Ø¹Ø¯Ø§Ø¯ Ù
+ÙÙ
+Ø© ØªÙØ²ÙÙ ÙØ§ÙØªØ­ÙÙ
+ ÙÙ Ø§Ø¬Ø±Ø§Ø¡ Ø§ÙØªÙØ²ÙÙØ ÙØ§ØªØ§Ø­Ø© Ø§ÙØªÙØ²ÙÙ Ø§ÙÙØ± Ø§ÙØ²Ø±0 ÙÙ Ù
+ÙØªØµÙ Ø§Ø¹ÙÙ Ø§ÙØŽØ§ØŽÙØ ØªØªÙÙØ± ÙÙ Ø¹ÙØ§ØµØ± Ø§ÙØªØ­ÙÙ
+ ÙÙ Ø§Ø¬Ø±Ø§Ø¡ Ø§ÙØªÙØ²ÙÙ0 ÙÙÙÙ ÙØµÙ Ø§ÙØŽØ§ØŽØ© Ø§ÙØ§Ø³ÙÙ ÙØ§Ø±Øº Ù
+ØšØ¯ØŠÙØ§Ù ÙØ°ÙÙ ÙØªÙÙÙØ± ÙÙØ§ØŠÙ
+ Ø§ÙÙ
+ÙÙ
+Ø§Øª Ø§ÙÙ
+ÙØ¬Ø²Ø© ÙØ§ÙÙ
+Ø¹ÙÙØ©0</Text>
+<Section name="themirrorview">
+<Title>
+<Text id="38">Ù
+ØŽÙØ¯ Ø§ÙØªÙØ²ÙÙ</Text>
+</Title>
+<Text id="39">ÙØµÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ <AutoText key="glidict::GUI.Download"/>  ÙÙÙÙØ© Ø¥Ø¹Ø¯Ø§Ø¯ Ù
+ÙÙ
+Ø© ØªÙØ²ÙÙ ÙØ§ÙØªØ­ÙÙ
+ ÙÙ Ø§Ø¬Ø±Ø§Ø¡ Ø§ÙØªÙØ²ÙÙØ ÙØ§ØªØ§Ø­Ø© Ø§ÙØªÙØ²ÙÙ Ø§ÙÙØ± Ø§ÙØ²Ø±0 ÙÙ Ù
+ÙØªØµÙ Ø§Ø¹ÙÙ Ø§ÙØŽØ§ØŽÙØ ØªØªÙÙØ± ÙÙ Ø¹ÙØ§ØµØ± Ø§ÙØªØ­ÙÙ
+ ÙÙ Ø§Ø¬Ø±Ø§Ø¡ Ø§ÙØªÙØ²ÙÙ0 ÙÙÙÙ ÙØµÙ Ø§ÙØŽØ§ØŽØ© Ø§ÙØ§Ø³ÙÙ ÙØ§Ø±Øº Ù
+ØšØ¯ØŠÙØ§Ù ÙØ°ÙÙ ÙØªÙÙÙØ± ÙÙØ§ØŠÙ
+ Ø§ÙÙ
+ÙÙ
+Ø§Øª Ø§ÙÙ
+ÙØ¬Ø²Ø© ÙØ§ÙÙ
+Ø¹ÙÙØ©0 </Text>
+<Text id="39a">ØªÙØ¬Ø¯ ØšØ±ÙØªÙÙÙÙØ§Øª Ø¹Ø¯ÙØ¯Ø© ÙÙ
+ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ÙØ§ ÙØªÙØ²ÙÙ Ø§ÙØªØ³Ø¬ÙÙØ§Øª ÙÙØ§ØŠÙ
+Ø© Ø§ÙØšØ±ÙØªÙÙÙØ§Øª ØªÙØ¬Ø¯ Ø£Ø¹ÙÙ Ø¬ÙØ© Ø§ÙÙØ³Ø§Ø±0.</Text>
+<Text id="39b"><b>Web:</b>  ØªÙØ²ÙÙ ØµÙØ­Ø§Øª  Ø§ÙÙØš ÙØ§ÙÙ
+ÙÙØ§Øª Ø¹ØšØ± HTTP ÙFTP </Text>
+<Text id="39b-1"><b>Ù
+ÙØ¯ÙØ§ ÙÙÙÙ:</b> :   ØªÙØ²ÙÙ ØµÙØ­Ø§Øª Ø§ÙÙÙØš ÙØ§ÙÙ
+ÙÙØ§Øª Ø¹Ù Ø·Ø±ÙÙ HTTP Ù
+Ù Ù
+ÙÙØ¹ Ù
+ÙØ¯ÙØ§ ÙÙÙÙ.</Text>
+<Text id="39c"><b>OAI:</b> ØªÙØ²ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙØªØ³Ø¬ÙÙØ§Øª Ù
+ØšØ§Ø¯Ø±Ø©  Ø§ÙØ§Ø±ØŽÙÙ Ø§ÙÙ
+ÙØªÙØ­  OAI</Text>
+<Text id="39d"><b>Z3950:</b>  ØªÙØ²ÙÙ ØªØ³Ø¬ÙÙØ§Øª MARC Ø§ÙØªÙ ØªØ¶Ø§ÙÙ Ø³Ù
+Ø§Øª ØšØ­Ø« Ù
+Ø¹ÙÙ Ù
+Ù Ù
+Ø²ÙØ¯ Z3950</Text>
+<Text id="39e"><b>SRW:</b>  ØªÙØ²ÙÙ ØªØ³Ø¬ÙÙØ§Øª MARCXML Ø§ÙØªÙ ØªØ¶Ø§ÙÙ Ø³Ù
+Ø§Øª ØšØ­Ø« Ù
+Ø¹ÙÙ ÙÙ Ù
+Ø²ÙØ¯ SRW</Text>
+<Text id="39f">ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§ÙØšØ±ØªÙÙÙÙ Ø§ÙÙ
+ÙØ§Ø³Øš ØšØ§ÙÙÙØ± Ø¹ÙÙÙ Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ¬ÙØ¯Ø© ÙÙ Ø§ÙØ¬Ø²Ø¡ Ø§ÙØ§ÙØ³Ø± ÙØ§ÙØªÙ ØªØ¹Ø±Ø¶ Ø§ÙØ®ÙØ§Ø±Ø§Øª Ø§ÙÙ
+ÙØ¬ÙØ¯Ø© ÙÙÙ
+Ø· Ø§ÙØªÙØ²ÙÙ. ÙÙ
+Ø¹Ø±ÙØ© ØªÙØ§ØµÙÙ ÙÙ ØªÙØ²ÙÙ Ø­ÙÙ ØšØ§ÙÙ
+Ø€ØŽØ± ÙÙÙ Ø§ÙØ®ÙØ§Ø± ØªØžÙØ± ÙÙ ØªÙØ§ØµÙÙ Ø§ÙÙÙ
+Ø· ÙÙ Ù
+Ø±ØšØ¹ Ù
+Ø³Ø§Ø¹Ø¯Ø©. ØšØ¹Ø¶ Ø§ÙØ®ÙØ§Ø±Ø§Øª ÙÙ "Ø§Ø®ØªÙØ§Ø±ÙØ©" ÙØªØ¹Ø±Ø¶ ØšÙ
+Ø±ØšØ¹ ÙØ­Øµ ÙØªØ£ØŽÙØ±Ù Ø¹ÙØ¯ Ø§Ø³ØªØ®Ø¯Ø§Ù
+  Ø§ÙØ®ÙØ§Ø± . Ø§ÙØ§Ø®Ø±Ù "Ù
+Ø·ÙÙØšØ©" ÙÙØ§ ÙØªÙÙØ± ÙÙÙØ§ Ù
+Ø±ØšØ¹Ø§Øª ÙØ­Øµ  ÙÙØ¬Øš Ø§Ø¹Ø·Ø§Ø¡ Ø§ÙÙÙÙ
+Ø© ÙØšÙ Ù
+ØšØ§ØŽØ±Ø© Ø§ÙØªÙØ²ÙÙ.</Text>
+<Text id="39g">Ø¹ÙØ¯Ù
+Ø§ ÙØªÙ
+ Ø¥Ø¹Ø¯Ø§Ø¯ Ø§ÙØªÙÙÙÙØ Ø§ÙÙØ± <AutoText key="glidict::Download.ServerInformation"/> ÙÙØ­Øµ Ù
+Ø¹ÙÙÙ
+Ø§Øª Ù
+Ø²ÙØ¯ Ø§ÙØ§ØªØµØ§Ù ÙØµÙØ­Ø© ÙØµÙØ­Ø© Ø§ÙÙØš Ø£Ù Ø£ÙÙØ± <AutoText key="glidict::Mirroring.Download"/> ÙØšØ¯Ø¡ Ø§ÙØªÙØ²ÙÙ0
+ </Text>
+<Text id="39g-1">ÙÙØ¬Ø¯ Ø²Ø±ÙÙ Ø¢Ø®Ø±ÙÙ ÙÙØªØ­ÙÙ
+ Ø²Ø± "Ø§ÙØªÙØµÙÙØ§Øª" ÙØ§ÙØ°Ù ÙØ±ØšØ· ØµÙØ­Ø© Ø§ÙØ§ØªØµØ§Ù Ø­ÙØ« ÙÙ
+ÙÙ ØªØ¹Ø¯ÙÙ Ø¥Ø¹Ø¯Ø§Ø¯Ø§Øª Ø§ÙØšØ±ÙÙØ³ÙØ Ø²Ø± "Ù
+Ø³Ø­ Ø§ÙØ°Ø§ÙØ±Ø©" Ø­ÙØ« ÙÙ
+ÙÙ Ø¥ÙØºØ§Ø¡ ÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+ÙØ²ÙØ© Ù
+Ù ÙØšÙ0 Ø³ÙÙ ØªØ­ØªØ§Ø¬  ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª  ÙØ§Ø¹Ø¯Ø§Ø¯ Ø§ÙØšØ±ÙÙØ³Ù Ø§Ø°Ø§ ÙÙØª ØªØ³ØªØ®Ø¯Ù
+  Ù
+Ø²ÙØ¯ ØšØ±ÙÙØ³Ù ÙÙØ§ØªØµØ§Ù ØšØ§ÙØ§ÙØªØ±ÙØª0 Ø§Ø°Ø§ ÙØ§ÙØª ÙÙØ§Ù Ø­ÙØ¬Ø© ÙØªØ£ÙÙØ¯ Ø§ÙØªØ¹Ø±ÙÙ ÙØ§Ù Ù
+Ø²ÙØ¯ Ø§ÙØšØ±ÙÙØ³Ù Ø³ÙÙ ÙØ­ØªÙ ÙØ§Ø³Ù
+ Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ ÙÙÙÙ
+Ø© Ø§ÙÙ
+Ø±ÙØ±0 ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ÙØ§ ÙØ­ÙØž ÙÙÙ
+Ø§Øª Ø§ÙÙ
+Ø±ÙØ± ØšÙÙ "session"</Text>
+<Text id="40">Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙØªÙ ØªÙ
+ ØªÙØ²ÙÙÙØ§ ØªØ®Ø²Ù ÙÙ Ù
+Ø¬ÙØ¯ ÙØ³Ù
+Ù <AutoText key="glidict::Tree.DownloadedFiles"/> (ÙÙÙ Ù
+ØªÙÙØ±Ø© Ø¹ÙØ¯ ØªÙØ¹ÙÙ Ø§ÙØªÙØ²ÙÙ) ÙÙÙ
+ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ÙØ§ ÙÙ Ø£Ù Ù
+Ø¬Ù
+ÙØ¹Ø©. ØªØªÙ
+ ØªØ³Ù
+ÙØ© Ø§ÙÙ
+ÙÙØ§Øª ØšØ§ÙØ§Ø³Ù
+ Ø§ÙÙØ§Ù
+Ù ÙØ¹ÙÙØ§Ù  Ø§ÙÙ
+ÙØ§Ø±Ø¯ Ø§ÙÙ
+ÙØ­Ø¯ URL (ÙØªÙØ²ÙÙØ§Øª Ø§ÙÙØš Ø£Ù Ù
+Ø²ÙØ¬ Ù
+Ù Ø¹ÙÙØ§Ù Ø§ÙÙ
+ÙØ§Ø±Ø¯ Ø§ÙÙ
+ÙØ­Ø¯ URL ÙÙÙÙ
+ Ø§ÙØ®ÙØ§Ø± (ÙØ§ÙÙ
+Ø§Ø· Ø§ÙØªÙØ²ÙÙ Ø§ÙØ£Ø®Ø±Ù) ÙØªÙ
+ Ø§ÙØŽØ§Ø¡ Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯ ÙØ§Ù Ù
+Ø¶ÙÙ Ù
+ØªØšÙØ¹Ø§Ù ØšÙ
+Ø¬ÙØ¯Ø§Øª ÙØ±Ø¹ÙØ© ØªÙ
+Ø§Ø«Ù Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª Ø§ÙÙØ±Ø¹ÙØ© ÙÙÙ
+Ø¬ÙØ¯ Ø§ÙÙ
+ÙØ²Ù ÙØªÙÙÙØ± Ø§ÙØ¯ÙØ©0</Text>
+<Text id="42">ØªÙÙØ± ÙØ§ØŠÙ
+Ø© ØªÙØ²ÙÙ Ù
+Ø¯Ø®Ù ÙÙÙ Ø§Ø¬Ø±Ø§Ø¡ ØªÙØ²ÙÙ. ÙÙÙØ± ÙÙ Ù
+Ø¯Ø®Ù  Ù
+ÙØ§ÙØ§Ù ÙÙÙØµ Ø§ÙØ°Ù ÙØ¹Ø·Ù ØªÙØ§ØµÙÙ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ Ø§ÙØ­Ø§ÙÙ Ù
+Ø¹ Ø¹Ù
+ÙØ¯ ÙØ§ØžÙØ§Ø± ØªØ·ÙØ± Ø§ÙØ§Ø¬Ø±Ø§Ø¡Ø§ÙØ¬Ø§Ø±Ù. ÙÙØ¬Ø¯ ÙÙ Ø§ÙØ¬Ø§ÙØš Ø§ÙØ§ÙØ³Ø± Ø«ÙØ§Ø« Ø§Ø²Ø±Ø§Ø± ÙÙÙ Ù
+Ø¯Ø®Ù "ØªØ¹ÙÙÙ" ÙØªØ¹ÙÙÙ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ Ø§ÙØ¬Ø§Ø±Ù. "Ø¹Ø±Ø¶ Ø§ÙÙ
+Ø¯ÙÙÙ" ÙÙØªØ­ ÙØ§ÙØ°Ø© Ù
+ÙÙ Ù
+Ø¯ÙÙØ© Ø§ÙØªÙØ²ÙÙ. "ØºÙÙ" ÙØ§ÙÙØ§Ø¡ Ø§Ø¬Ø±Ø§Ø¡ Ø§ÙØªÙØ²ÙÙ ÙØ­Ø°Ù Ø§ÙÙ
+ÙÙ
+Ø© Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©.  </Text>
+</Section>
+</Section>
+<Section name="collectingfiles">
+<Title>
+<Text id="44">ØªØ¬Ù
+ÙÙØ¹ Ø§ÙÙ
+ÙÙØ§Øª ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©</Text>
+</Title>
+<Text id="45">Ø¹ÙØ¯ Ø§ÙØŽØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø¬Ø¯ÙØ¯Ø© Ø³ÙÙ ØªØ­ØªØ§Ø¬ ÙØ¬ÙØš Ù
+ÙÙØ§Øª Ù
+Ø­Ø¯Ø¯Ø© Ø§ÙÙÙØ§Ø ÙÙÙ
+ÙÙ Ø§Ù ÙÙÙÙ ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ Ù
+Ù Ù
+Ø³Ø§Ø­Ø© Ø§ÙÙ
+ÙÙØ§Øª0 Ø§Ù Ù
+Ù Ù
+Ø¬Ù
+ÙØ¹Ø§Øª ÙØ±ØšÙØ³ØªÙÙ Ø§ÙØ£Ø®Ø±ÙØ ÙØ±ØšÙ
+Ø§ ÙØ­ØªÙÙ ØšØ¹Ø¶ÙØ§ Ø¹ÙÙ Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§ØªØ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙØµÙ ÙÙÙÙØ© Ø§Ø³ØªÙØ±Ø§Ø¯ Ø§ÙÙ
+ÙÙØ§Øª0</Text>
+<Section name="thegatherview">
+<Title>
+<Text id="46">Ù
+ØŽÙØ¯ Ø§ÙØªØ¬Ù
+ÙÙØ¹</Text>
+</Title>
+<Text id="47">ÙØ¹Ø±Ù ÙØ°Ø§ Ø§ÙÙØ³Ù
+ Ù
+ÙØ·ÙØ© ØªØ¬Ù
+ÙØ¹ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+Ø·ÙÙØšÙ ÙØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 ÙØšØ¯Ø£ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØšÙØ§ØŠÙ
+Ø© Ø§ÙØªØ¬Ù
+ÙØ¹ ÙÙØ±Ø¬ÙØ¹ ÙÙØ°Ù Ø§ÙÙØ§ØŠÙ
+Ø© ÙÙÙ
+Ø§ ØšØ¹Ø¯ Ø Ø§ÙÙØ± <AutoText key="glidict::GUI.Gather"/> Ù
+ØšØ§ØŽØ±Ø© Ø§Ø³ÙÙ Ø¹Ù
+ÙØ¯ Ø§ÙÙÙØ§ØŠÙ
+0 </Text>
+<Text id="48">ØªØ³ØªØ®Ø¯Ù
+ Ø§ÙÙ
+ÙØ·ÙØªÙÙ Ø§ÙÙØšÙØ±ØªÙÙ "Ù
+Ø³Ø§Ø­Ø©Ø§ÙØ¹Ù
+Ù" Ù "Ù
+Ø¬Ù
+ÙØ¹Ø©" ÙØªØ­Ø±ÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ Ù
+Ø¬Ù
+ÙØ¹ØªÙ. ÙÙ
+Ø§ ÙØªØ¶Ù
+ÙØ§Ù "ØŽØ¬Ø±Ø©Ù
+ÙÙØ§Øª" ØªØ¹Ø±Ø¶ Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª Ù Ø§ÙÙ
+ÙÙØ§Øª</Text>
+<Text id="49">-ÙØªÙ
+ Ø§Ø®ØªÙØ§Ø± Ø¹ÙØµØ± Ù
+Ù Ø§ÙØŽØ¬Ø±Ø© ØšØ§ÙÙÙØ± Ø¹ÙÙÙ (ØªÙØ¬Ø¯ Ø·Ø±Ù Ø£Ø®Ø±ÙØ Ø§ÙØžØ± Ø§Ø¯ÙØ§Ù) Ø§ÙÙØ± Ø§ÙÙ
+Ø¬ÙØ¯ ÙÙØ±Ø© Ù
+Ø²Ø¯ÙØ¬Ù Ø£Ù ÙÙØ±Ø© ÙØ§Ø­Ø¯Ø© ÙÙØªØ­ Ø§ÙØ±Ù
+Ø² ØšØ¬Ø§ÙØš Ø§ÙÙ
+Ø¬ÙØ¯ ÙÙØªÙ
+Ø¯ÙØ¯ (Ø£Ù Ø§ÙØªÙÙÙØµ)0 Ø§ÙÙØ± Ø§ÙÙ
+ÙÙ ÙÙØ±Ø© Ù
+Ø²Ø¯ÙØ¬Ø© ÙÙØªØ­ Ø§ÙÙ
+ÙÙ <AutoText key="glidict::Menu.Open_Externally"/> ØšÙØ§Ø³Ø·Ø© ØšÙØ§Ø³Ø·Ø© Ø§ÙØšØ±ÙØ§Ù
+Ø¬ Ø§ÙÙ
+ÙØ§Ø³Øš 0(see <Reference target="fileassociations"/>).</Text>
+<Text id="50">ØªÙØ¶Ø­ ØŽØ¬Ø±Ø© Ø§ÙÙ
+ÙÙØ§Øª ÙÙ Ù
+Ø³Ø§Ø­Ø© Ø§ÙØ¹Ù
+Ù Ù
+ØµØ§Ø¯Ø± Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ØªÙÙØ±Ø© ÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ- ÙØžØ§Ù
+ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+Ø­ÙÙ (Ø§ÙÙØ±Øµ Ø§ÙÙ
+Ø­ÙÙ ÙØ§ÙØ§ÙØ±Ø§Øµ Ø§ÙÙ
+Ø¯Ù
+Ø¬Ø©)0  Ù
+Ø­ØªÙÙØ§Øª Ù
+Ø¬Ù
+ÙØ¹Ø§Øª ÙØ±ÙÙØ³ØªÙÙ ÙØ°Ø§ÙØ±Ø© Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+ÙØ²ÙØ©.ÙÙ
+ÙÙÙ ÙØ³Ø® Ù Ø¹Ø±Ø¶ ÙØ°Ù Ø§ÙÙ
+ÙÙØ§Øª  ÙÙÙÙ ÙØ§ ÙÙ
+ÙÙÙ ØªØ­Ø±ÙÙ Ø£Ù Ø§ÙØºØ§Ø¡Ø§ Ø£Ù ØªØ¹Ø¯ÙÙ ÙØ°Ù Ø§ÙÙ
+ÙÙØ§ØªØ ØšØ§Ø³ØªØ«ÙØ§Ø¡ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+ÙØ²ÙØ©0 ÙØ§ÙØªÙ ÙÙ
+ÙÙ Ø¥ÙØºØ§Ø€ÙØ§0 ØªØ¬ÙÙ ÙÙ ÙØ°Ù Ø§ÙÙ
+Ø³Ø§Ø­Ø© ÙÙØ¹Ø«ÙØ± Ø¹ÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙØªÙ ØªÙØ¯ Ø¶Ù
+ÙØ§ ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©</Text>
+<Text id="51">ØŽØ¬Ø±Ø© Ù
+ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØªØ¹ØšØ± Ø¹Ù Ù
+Ø­ØªÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙ ØšØµÙØ±Ø© Ù
+ØšØ¯ØŠÙØ© ØªÙÙÙ ÙØ§Ø±ØºØ©0</Text>
+<Text id="52">ÙÙ
+ÙÙÙ ØªØ¹Ø¯ÙÙ Ø§Ø­Ø¬Ø§Ù
+ Ø§ÙÙ
+Ø³Ø§Ø­Ø§Øª ØšØªÙ
+Ø±ÙØ± Ù
+Ø€ØŽØ± Ø§ÙÙØ£Ø±Ø© ÙÙÙ Ø§ÙØ¹Ù
+ÙØ¯ Ø§ÙØ±Ù
+Ø§Ø¯Ù Ø§ÙØ°Ù ÙÙØµÙ ØŽØ¬Ø±Ø§Øª Ø§ÙÙ
+ÙÙØ§Øª (ØšØªØºÙØ± ØŽÙÙ Ù
+Ø€ØŽØ± Ø§ÙÙØ£Ø±Ø© ÙØ§Ø³ÙØ·0.</Text>
+<Text id="53">ÙÙØ¬Ø¯ Ø¹Ù
+ÙØ¯ Ø§ÙØ­Ø§ÙØ© Ø£Ø³ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© ÙÙÙ ÙÙØ¶Ø­ 0 ØªØ·ÙØ± Ø§Ø¬Ø±Ø§Ø¡Ø§Øª Ø§ÙÙ
+ÙÙØ§Øª (ÙØ³Ø®Ø ØªØ­Ø±ÙÙØ Ø¥ÙØºØ§Ø¡) ÙÙØ°Ù Ø§ÙØ§Ø¬Ø±Ø§Ø¡Ø§Øª ÙØ¯ ØªØ³ØªØºØ±Ù Ø²Ù
+ÙØ§Ù ÙÙÙ ØªÙØªÙ
+Ù0</Text>
+<Text id="54">ÙÙØ¬Ø¯ Ø²Ø±ÙÙ ÙØšÙØ±ÙÙ ÙÙ Ø§ÙØ¬Ø§ÙØš Ø§ÙØ£ÙÙ
+Ù Ù
+Ù Ø§ÙØ¬Ø²Ø¡ Ø§ÙØ£Ø³ÙÙ  Ù
+Ù Ø§ÙØŽØ§ØŽØ©0 "Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯" ØšØµÙØ±Ø© Ù
+Ø¬ÙØ¯ ÙØ§ÙØŽØ§Ø¡ Ù
+ÙÙØ§Øª Ø¬Ø¯ÙØ¯Ø© (see  <Reference target="creatingfolders"/>). "Ø§ÙØºØ§Ø¡" ØšØµÙØ±Ø© Ø³ÙØ© ÙØžØ§ÙØ© ÙØ­Ø°Ù Ø§ÙÙ
+ÙÙØ§Øª0 ÙÙØ± Ø§ÙÙ
+ÙÙ Ø³ÙÙ ÙØ€Ø¯Ù  ÙØ­Ø°Ù Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© Ù
+Ù ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 ÙØ®ÙØ§Ø± Ø¢Ø®Ø± ÙÙ
+ÙÙ Ø­Ø°Ù Ø§ÙÙ
+ÙÙØ§Øª ØšØªØ­Ø±ÙÙÙØ§ Ø¥ÙÙ Ø²Ø± Ø§ÙØ§ÙØºØ§Ø¡0 </Text>
+<Text id="55">ÙØ§Ø®ØªÙØ§Ø± Ù
+Ø¬Ù
+ÙØ¹Ø©  Ø¹ÙØ§ØµØ± Ù
+ØªØ³ÙØ³ÙØ©Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§ÙØ£ÙÙ Ù
+Ø¹ Ø­ÙØž ÙØ§Ù
+Ø³Ø§Ù Ù
+ÙØªØ§Ø­ [shift] ÙØ§ÙÙØ± Ø¹ÙÙ Ø¢Ø®Ø± Ø§Ø®ØªÙØ§Ø±Ø§ØªÙØ ÙØ³ÙÙ ÙØŽÙ
+Ù ÙØ°Ø§ Ø§ÙØ§Ø®ØªÙØ§Ø± Ù
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙØ¹ÙØ§ØµØ± Ø§ÙÙ
+Ø¶Ù
+ÙÙØ ÙØ§Ø®ØªØšØ§Ø± Ø§ÙØ¹ÙØ§ØµØ± ØºÙØ± Ø§ÙÙ
+ØªØ³ÙØ³ÙØ© Ø§Ø¶ØºØ· Ø¹ÙÙ Ù
+ÙØªØ§Ø­ [ctrl]  ØšÙÙÙ
+Ø§ ÙÙÙÙ
+ ØšØ§ÙÙÙØ±Ø Ø§Ø³ØªØ®Ø¯Ù
+ Ø§ÙØ§Ø³ÙÙØšÙÙ ÙØ§Ø®ØªÙØ§Ø± Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+ØªØ¬Ø§ÙØ±Ø© Ø£Ù Ù
+Ø¬Ù
+ÙØ¹Ø© ØºÙØ± Ù
+ØªØ¬Ø§ÙØ±Ø©0</Text>
+</Section>
+<Section name="creatingshortcuts">
+<Title>
+<Text id="55a">Ø§ÙØŽØ§Ø¡ Ù
+Ø®ØªØµØ± Ù
+Ù ØŽØ¬Ø±Ø© Ù
+Ø³Ø§Ø­Ø© Ø§ÙØ¹Ù
+Ù0</Text>
+</Title>
+<Text id="56">Ù
+Ø¬ÙØ¯Ø§Øª Ù
+Ø­Ø¯Ø¯Ø©00 Ù
+Ø«Ù Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ°Ù ÙØ­ØªÙÙ ØµÙØ­Ø§Øª Ø§ÙÙØš Ø®Ø§ØµØªÙ0 ÙØ¯ÙÙØ§ ÙÙ ØšØ¹Ø¶ Ø§ÙØ§Ø­ÙØ§Ù Ø¯ÙØ§ÙØ§Øª Ø®Ø§ØµØ©Ø ÙÙ
+ÙÙ ÙÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ Ù
+ÙØ¶Ø¹Ù ÙØ°Ù Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª ÙÙ Ø§ÙÙ
+Ø³ØªÙÙ Ø§ÙØ£ÙÙ Ù
+Ù ØŽØ¬Ø±Ø© Ø§ÙÙ
+ÙÙØ§Øª. ÙÙÙÙØ§Ù
+ ØšÙØ°Ø§ Ø§ÙØ¹Ù
+ÙØ Ø§ÙÙØ± Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù ÙÙÙ Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙÙ
+Ø·ÙÙØšØ ÙØžÙØ± "Ø§ÙØŽØ§Ø¡ Ù
+Ø®ØªØµØ±" Ø§Ø¯Ø®Ù Ø§Ø³Ù
+Ø§Ù ÙÙÙ
+Ø¬ÙØ¯0 ÙØ­Ø°Ù Ø¹ÙØµØ± Ø§ÙÙØ± Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù ÙÙÙ Ø§ÙÙ
+Ø¬ÙØ¯ ÙÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± "Ø­Ø°Ù Ù
+Ø®ØªØµØ±"0</Text>
+</Section>
+<Section name="creatingfolders">
+<Title>
+<Text id="57">Ø¥ÙØŽØ§Ø¡ Ù
+Ø¬ÙØ¯Ø§Øª</Text>
+</Title>
+<Text id="58">Ø§Ø³ØªØ®Ø¯Ù
+ Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª ÙÙ ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØªØ¬Ù
+ÙØ¹ Ø§ÙÙ
+ÙÙØ§Øª Ù
+Ø¹Ø§Ù ÙØªØ³ÙÙÙ Ø§ÙÙØµÙÙ Ø¥ÙÙÙØ§Ø ÙÙ
+ÙÙ Ù
+ÙØ¶Ø¹Ø©  Ù
+Ø¬ÙØ¯Ø§Øª Ø¯Ø§Ø®Ù Ù
+Ø¬ÙØ¯Ø§Øª ÙØ§ÙØªØ±Ø§Ø¶ÙØ§Ù ÙØ§ ÙÙØ¬Ø¯ Ø­Ø¯ ÙØ¹Ø¯Ø¯ Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª Ø£Ù Ø¹Ù
+Ù ØªÙØ±ÙØº Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª0</Text>
+<Text id="59">ÙØ§ÙØŽØ§Ø¡ Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯Ø ÙÙ
+ ØšÙÙØ± Ø§ÙØ²Ø± Ø§ÙØ£ÙÙ
+Ù ÙÙ
+Ø³Ø§Ø­Ø© Ù
+Ø¬Ù
+ÙØ¹Ø©(Ø£Ù ØšÙÙØ± Ø§ÙØ²Ø± Ø§ÙØ£ÙÙ
+Ù   ÙÙ
+Ø¬ÙØ¯ ÙÙ ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù Ø­ØŽØ± Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯ ÙÙÙØ§)Ù Ø£ÙÙØ± ÙÙÙ Ø®ÙØ§Ø±Ø§Øª Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ¬Ø¯ÙØ¯. ÙØžÙØ± Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ¬Ø¯ÙØ¯ Ø¶Ù
+Ù Ù
+Ø¬ÙØ¯ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© Ø£Ù ÙÙ Ø§ÙÙ
+Ø³ØªÙÙ Ø§ÙØ£Ø¹ÙÙ Ø§Ø°Ø§ ÙÙ
+ ÙØªÙ
+ Ø§Ø®ØªÙØ§Ø± ÙØ§Ø­Ø¯Ø Ø³ÙÙ ÙØªÙ
+ Ø­Ø«Ù ØªØ³Ù
+ÙØ© Ø§ÙÙ
+Ø¬ÙØ¯ (Ø§ÙØ£Ø³Ù
+ Ø§ÙØ§ÙØªØ±Ø§Ø¶Ù ÙÙ "Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯".</Text>
+<Text id="60">ÙÙ
+ÙÙ Ø§ÙØŽØ§Ø¡ Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯ ÙÙÙØ± Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù ÙÙÙØ£Ø±Ø© ÙØ§Ø®ØªÙØ§Ø± "Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯" ÙØ§ØªØšØ§Ø¹ Ø§ÙØ§Ø¬Ø±Ø§Ø¡Ø§Øª Ø§Ø¹ÙØ§Ù0</Text>
+</Section>
+<Section name="addingfiles">
+<Title>
+<Text id="61">Ø¥Ø¶Ø§ÙØ© Ù
+ÙÙØ§Øª</Text>
+</Title>
+<Text id="62">ÙÙ
+ÙÙ ÙØ³Ø® Ø§ÙÙ
+ÙÙØ§Øª Ø¥ÙÙ Ø§Ù Ù
+Ø¬Ù
+ÙØ¹Ø© ØšØ§ÙØ³Ø­Øš ÙØ§ÙØ§Ø³ÙØ§Ø·Ø ÙØµØšØ­ ØŽÙÙ Ø§ÙÙ
+Ø€ØŽØ± ØšØµÙØ±Ø© ØŽØšØ­ÙØ© ÙÙÙ
+ÙÙ Ø§ÙÙ
+Ø®ØªØ§Ø± (Ø£ÙØ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©)0 Ø§Ø³ÙØ· ÙØ°Ø§ Ø§ÙØ§Ø®ØªÙØ§Ø± ÙÙ ØŽØ¬Ø±Ø© Ù
+ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙØ³Ø®ÙØ§ Ø¥ÙÙ ÙÙØ§ÙØ (Ø§Ø°Ø§ ÙØ§Ù Ø§ÙÙ
+ØµØ¯Ø± ÙÙ ØŽØ¬Ø±Ø© Ù
+Ø³Ø§Ø­Ø© Ø§ÙØ¹Ù
+Ù) Ø£Ù ØªØ­Ø±ÙÙÙØ§ Ø¬Ø§ÙØšÙØ§Ù (Ø§Ø°Ø§ ÙØ§Ù ÙØ°Ø§ Ø§ÙØ£Ù
+Ø± Ø¶Ù
+Ù ÙØ·Ø§Ù ØŽØ¬Ø±Ø© Ù
+ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©)0</Text>
+<Text id="63">Ø¹ÙØ¯ ÙØ³Ø® Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+ÙÙØ§ØªØ ØªÙØ¶Ø­ ÙÙÙØ§ ÙÙ Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙÙ
+Ø³ØªÙØ¯Ù ÙÙ ÙÙØ³ Ø§ÙÙ
+Ø³ØªÙÙ ØšØ¯ÙÙ Ø§Ø¹ØªØšØ§Ø± ÙÙØ¶Ø¹ÙØ§ Ø§ÙØ§ØµÙÙ ÙÙ Ø§ÙÙ
+ØµØ¯Ø±0 Ø¹ÙØ¯ ÙØ³Ø® Ù
+ÙÙ ØšÙÙØ³ Ø§ÙØ§Ø³Ù
+ ÙÙ
+ÙÙ ØšØ§ÙÙ
+Ø¬ÙØ¯ Ø§ÙÙ
+Ø³ØªÙØ¯ÙØ Ø³ÙÙ ÙØªÙ
+ Ø§Ø³ØªÙØ³Ø§Ø±Ù  Ø§Ø°Ø§ ÙÙØª ØªÙØ¯ ÙØ³Ø® ÙØ°Ø§ Ø§ÙÙ
+ÙÙ ÙÙÙ ÙÙØ³ Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+ÙØ¬ÙØ¯0 Ø§ÙØ¥Ø¬Ø§ØšØ© ØšÙØ§ ØªØ¹ÙÙ Ø£Ù Ø§ÙÙ
+ÙÙ ÙØ§ ÙÙØ³Ø®Ø ÙÙÙ ÙØªÙ
+ ÙØ³Ø® ØšÙÙØ© Ø§ÙÙ
+ÙÙØ§Øª0 ÙØ§ÙØºØ§Ø¡ ØšÙÙØ© Ø§ÙØ§Ø¬Ø±Ø§Ø¡Ø Ø§ÙÙØ± Ø²Ø± "ØªÙÙÙ"0</Text>
+<Text id="64">Ø§ÙØ¹ÙØ§ØµØ± "Ø§ÙØ¹ÙÙØ§ " ÙÙØ· ÙÙ Ø§ÙØ¹ÙØ§ØµØ± Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© ÙÙ Ø§ÙØªÙ ØªÙ
+ ØªØ­ÙÙÙÙØ§ Ø ÙØ¹ØªØšØ± Ø§ÙÙ
+Ø¬ÙØ¯ Ø§Ø¹ÙÙ Ù
+Ù ØªØ¹Ø±ÙÙØ§ØªÙØ ÙØ§ ÙÙ
+ÙÙ Ø§Ø®ØªÙØ§Ø± Ø§ÙÙ
+ÙÙØ§Øª Ø¶Ù
+Ù Ø§ÙÙ
+Ø¬ÙØ¯ Ø£Ù Ø§ÙÙ
+Ø¬ÙØ¯ Ø°Ø§ØªÙ0</Text>
+<Text id="65">ÙÙÙÙ
+ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ Ø¹ÙØ¯ Ø§Ø¶Ø§ÙØ© Ù
+ÙÙ ÙØšØ­Ø« Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª Ø¹Ù Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙØ§Ø¶Ø§ÙÙØ© Ø§ÙØªÙ ØªØªØ¶Ù
+Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ø¹ÙÙØ© Ù
+Ù ÙØšÙ ÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙØ§Ø¶Ø§ÙÙØ©0 ÙØ§Ø°Ø§ ÙØ¬Ø¯ÙØ§ ÙÙÙÙ
+ ØšØ¹Ù
+ÙÙØ© Ø§Ø³ØªÙØ±Ø§Ø¯ ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙØ°Ù Ø®ÙØ§Ù ÙØªØ±Ø© Ø³Ø±ÙØ§Ù Ø§ÙØ¹Ù
+ÙÙØ©Ø Ø³ÙÙ ÙØªÙ
+ Ø­Ø«Ù (Ø±ØšÙ
+Ø§ Ù
+Ø±Ø§Øª Ø¹Ø¯ÙØ¯Ø©) ÙÙ
+Ø²ÙØ¯ Ù
+Ù Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª ÙÙ
+ÙØ§Ø±ØšÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø³ØªÙØ±Ø¯Ø© ÙÙ
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ØªÙÙØ±Ø© ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©Ø ÙÙØªØ¶Ù
+Ù ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø§Øª Ø­Ø« Ù
+Ø®ØªÙÙØ© Ù
+ÙØµÙÙØ© ÙÙ ÙØ³Ù
+ <Reference target="importingpreviouslyassignedmetadata"/>ÙÙ
+Ø²ÙØ¯ Ù
+Ù Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø­ÙÙ ØªÙØ¶ÙØ­ Ø§Ø¬Ø±Ø§Ø¡Ø§Øª ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ÙØ­ÙØ©Ø Ø§ÙØ±Ø£ Ø§ÙÙØµÙ Ø§ÙØ«Ø§ÙÙ Ù
+Ù Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+Ø·ÙØ±ÙÙ ØªØ­Øª Ø¹ÙÙØ§Ù Ø§ÙØ¬Ø§Ø¯ Ù
+Ø­ØªÙÙØ§Øª Ø§ÙÙØ«ÙÙØ©0</Text>
+<Text id="65a">ÙÙ
+ÙÙÙ Ø§Ø¶Ø§ÙØ© ÙØ«ÙÙØ© "Ù
+Ø²ÙÙØ©" Ø¥ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙØ± Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù ÙÙ ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø£Ù ÙÙ Ù
+Ø¬ÙØ¯Ø ÙØ§Ø®ØªÙØ§Ø± "ÙØ«ÙÙØ© Ù
+Ø²ÙÙØ© Ø¬Ø¯ÙØ¯Ø©" ÙØ³ÙÙ ÙÙØŽØŠ ÙØ°Ø§ Ù
+ÙÙ Ø¬Ø¯ÙØ¯ ÙØ§Ø±Øº ÙÙ
+ÙÙ ÙÙÙ Ø§Ø¹ØªÙ
+Ø§Ø¯ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§ØªØ ÙÙ
+ÙÙ Ø§Ø³ØªØšØ¯Ø§Ù ÙØ°Ø§ Ø§ÙÙ
+ÙÙ ØšÙ
+ÙÙ "Ø­ÙÙÙÙ" ÙÙÙ
+Ø§ ØšØ¹Ø¯0</Text>
+</Section>
+<Section name="replacingfiles">
+<Title>
+<Text id="65b">Ø§Ø¹Ø§Ø¯Ø© ØªØ³Ù
+ÙØ© ÙØ§Ø³ØªØšØ¯Ø§Ù Ø§ÙÙ
+ÙÙØ§Øª0</Text>
+</Title>
+<Text id="65c">ÙÙ
+ÙÙ Ø§Ø¹Ø§Ø¯Ø© ØªØ³Ù
+ÙØ© Ø§ÙÙ
+ÙÙØ§Øª ØšØ§ÙÙÙØ± Ø¹ÙÙ Ø§ÙØ²Ø± Ø§ÙØ£ÙÙ
+Ù Ø¹ÙÙÙØ§ ÙØ§Ø®ØªÙØ§Ø± "Ø§Ø¹Ø§Ø¯Ø© ØªØ³Ù
+ÙØ©" Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©Ø Ø¯Ø®Ù Ø§ÙØ§Ø³Ù
+ Ø§ÙØ¬Ø¯ÙØ¯ ÙØ§ÙÙØ± "OK"</Text>
+<Text id="65d">ÙÙ
+ÙÙ Ø§Ø³ØªØšØ¯Ø§Ù Ø§ÙÙ
+ÙÙØ§Øª ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšÙÙØ± Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù ÙÙÙ Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+Ø±Ø§Ø¯ Ø§Ø³ØªØšØ¯Ø§ÙÙ ÙØ§Ø®ØªÙØ§Ø± "Ø§Ø³ØªØšØ¯Ø§Ù" ÙØªÙ
+ ÙØªØ­ Ù
+ØªØµÙØ­ Ø§ÙÙ
+ÙÙØ§ØªØ ØªØ¬ÙÙ Ø¥ÙÙ Ø§ÙÙØ«ÙÙØ© Ø§ÙØ¬Ø¯ÙØ¯Ø© ÙØ§ÙÙØ± "ÙØªØ­" ÙÙØ§ ÙØªÙ
+ Ø§Ø³ØªØšØ¯Ø§Ù Ø§ÙÙØ«ÙÙØ© Ø§ÙÙØ¯ÙÙ
+Ø© ØšØ§ÙØ¬Ø¯ÙØ¯Ø©  ÙØ³ÙÙ ÙØªÙ
+ ØªØ­ÙÙÙ Ø§Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¥ÙÙÙØ§ ÙÙÙÙÙ ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ Ù
+ÙÙØ¯Ø§Ù ÙÙ Ø­Ø§ÙØ© Ø§Ø³ØªØšØ¯Ø§Ù Ø§ÙÙØ«Ø§ØŠÙ Ø§ÙÙ
+Ø²ÙÙØ© ØšÙØ«Ø§ØŠÙ Ø­ÙÙÙÙØ©0</Text>
+<Text id="65e">ØšØ¹Ø¶ Ø£ÙÙØ§Ø¹ Ø§ÙÙ
+ÙÙØ§Øª ÙØªÙ
+ ØªØ­ÙÙÙÙØ§ Ø¥ÙÙ HTML Ø¹Ù Ø·Ø±ÙÙ ØšØ±Ù
+Ø¬ÙØ§Øª Ø·Ø±Ù Ø«Ø§ÙØ« Ø®ÙØ§Ù Ø§ÙØ§Ø³ØªÙØ±Ø§Ø¯ Ø Ø¹ÙÙ Ø³ØšÙÙ Ø§ÙÙ
+Ø«Ø§Ù Ø Word,  Excel, PDF etc .ØšØ¹Ø¶ Ù
+ÙÙØ§Øª HTML ÙØ¯ ÙØ§ ØªÙÙÙ ØšØŽÙÙ ØµØ­ÙØ­ Ø®ÙØ§Ù Ø§ÙØ¥Ø³ØªÙØ±Ø§Ø¯ .ØªØªÙÙØ± ÙÙØ°Ù Ø§ÙÙØ«Ø§ØŠÙ Ø®ÙØ§Ø±Ø§Øª Ø§ÙØ²Ø± Ø§ÙØ£ÙÙ
+Ù  <AutoText key="glidict::Menu.Replace_SrcDoc_With_HTML"/>. Ø§Ø®ØªÙØ§Ø± ÙØ°Ø§ Ø§ÙØ®ÙØ§Ø± ÙÙÙØ± Ø¥Ø³ØªØšØ¯Ø§Ù Ø§ÙÙ
+ÙÙ Ø§ÙØ£ØµÙÙ ØšÙØ³Ø®Ø©  HTML Ø ÙÙ
+Ù Ø«Ù
+ ÙÙ
+ÙÙ ØªØ­Ø±ÙØ±ÙØ§. </Text>
+</Section>
+<Section name="removingfiles">
+<Title>
+<Text id="66">Ø­Ø°Ù Ù
+ÙÙØ§Øª</Text>
+</Title>
+<Text id="67">ØªÙØ¬Ø¯ Ø§Ø³Ø§ÙÙØš Ø¹Ø¯ÙØ¯Ø© ÙØ­Ø°Ù Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª ÙØ§ÙÙ
+ÙÙØ§Øª0 ÙØ¬Øš Ø¹ÙÙÙ Ø§ÙÙØ§Ù ØªØ­Ø¯ÙØ¯ Ø§ÙØ¹ÙØ§ØµØ± Ø§ÙÙ
+Ø·ÙØš Ø­Ø°ÙÙ ØšØ§Ø®ØªÙØ§Ø± Ù
+Ø¬ÙØ¯ Ø£Ù Ù
+ÙÙ Ø§ÙØ£ÙØ«Ø± ÙÙ
+Ø§ ÙÙ Ù
+ÙØµÙÙ ÙÙ <Reference target="thegatherview"/>.</Text>
+<Text id="68">Ø¹ÙØ¯ Ø§Ø®ØªÙØ§Ø± Ø§ÙÙ
+ÙÙØ Ø§ÙÙØ± Ø²Ø± "Ø§ÙØºØ§Ø¡" ÙØ­Ø°ÙÙ Ø£Ù ØšØ§ÙØ¶ØºØ· Ø¹ÙÙ "Ø§ÙØºØ§Ø¡" ÙÙ ÙÙØ­Ø© Ø§ÙÙ
+ÙØ§ØªÙØ­ - Ø£Ù Ø³Ø­Øš Ø§ÙÙ
+ÙÙØ§Øª Ù
+Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø¥ÙÙ Ø²Ø± Ø§ÙØ§ÙØºØ§Ø¡ ÙØ§Ø³ÙØ§Ø·ÙØ§ ÙÙØ§Ù0</Text>
+</Section>
+<Section name="explodingfiles">
+<Title>
+<Text id="exm-1">ØªØ¬Ø²ØŠØ©  Ù
+ÙÙØ§Øª ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª0</Text>
+</Title>
+<Text id="exm-2">ÙÙ
+ÙÙ Ø§Ø³ØªÙØ±Ø§Ø¯ Ø£ÙÙØ§Ø¹ Ù
+ÙÙØ§Øª ÙÙØ§Ø¹Ø¯ ØšÙØ§ÙØ§Øª ÙÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ø«Ù MARC ÙCDS/ISIS	 Ù ProciteØBibTex, Refer  ÙÙ ØªØªÙ
+ÙÙ Ù
+Ù ØªØ­Ø¯ÙØ« ÙØ¹Ø±Ø¶ ÙØ§ØµÙØ§Øª  Ø§ÙØšÙØ§ÙØ§Øª ÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙØ ÙØ¹Ø±Ø¶ Ø£Ù ØªØ­Ø¯ÙØ« Ø¢Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§ØªØ ÙÙ
+ÙÙÙ "ØªÙ
+Ø¯ÙØ¯" Ø§ÙÙ
+ÙÙ ÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ Ù Ø¹Ø±Ø¶ Ø£Ù ØªØ­Ø¯ÙØ« Ø§ÙÙØ§ØµÙØ§Øª ÙÙÙ
+Ø§ ØšØ¹Ø¯ .ØšØµÙØ±Ø© Ù
+Ø®ØªÙÙØ©ØÙ Ø®ØµÙØµØ§ Ø¥Ø°Ø§ ÙÙØª ØªØªØ¹Ø§Ù
+Ù Ù
+Ø¹ ØªØ·ØšÙÙ Ø±ØŠÙØ³Ù Ø®Ø§Ø±Ø¬Ù Ø ÙÙ
+ÙÙÙ Ø§ÙØ±Ø¬ÙØ¹ ÙÙØšØ±ÙØ§Ù
+Ø¬ Ø§ÙØ°Ù Ø£ÙØŽØŠ ÙÙÙ Ø§ÙÙ
+ÙÙ Ù ÙÙ
+ ØšØ§ÙØªØµØ­ÙØ­ Ù Ø¥Ø¹Ø§Ø¯Ø© Ø§ÙØ¥Ø³ØªÙØ±Ø§Ø¯.</Text>
+<Text id="exm-3">"ØªØ¬Ø²ØŠØ©" Ù
+ÙÙ ÙØ§Ø¹Ø¯Ø© ØšÙØ§ÙØ§Øª ÙÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§ØªØ ÙÙØªØ¬ ØªØ³Ø¬ÙÙØ§Øª ÙØ±Ø¯ÙØ© ØšÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙØ§ØšÙØ© ÙÙØ¹Ø±Ø¶ ÙØ§ÙØªØ­Ø¯ÙØ«0 ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ ØºÙØ± Ù
+Ø±Ø¯ÙØ¯ ÙØ³ÙÙ ÙØªÙ
+ Ù
+Ø³Ø­ Ù
+ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØ£ØµÙÙ0</Text>
+<Text id="exm-4">Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ø²Ø£Ø© ÙÙØ§ Ø§ÙÙÙÙØ© Ø®Ø¶Ø±Ø§Ø¡ ÙÙ ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©. ÙØªØ¬Ø²ØŠØ© Ù
+ÙÙ Ø§ÙÙØ± Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù ÙÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± "ØªØ¬Ø²ØŠØ© ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙØ§Ø¹Ø¯Ø© ØšÙØ§ÙØ§Øª" ØªØžÙØ±  ÙØ§ÙØ°Ø© ØªØ¹Ø±Ø¶ Ø®ÙØ§Ø±Ø§Øª Ø§Ø¬Ø±Ø§Ø¡ Ø§ÙØªØ¬Ø²ØŠØ©. Ø§ÙØ®ÙØ§Ø± Ø§ÙØ£ÙÙ ("Ø§ÙÙ
+ÙØ§ØšØ³") ÙØ­Ø¯Ø¯ Ø§ÙÙ
+ÙØ§ØšØ³ ÙÙØªØ¬Ø²ØŠØ©. ÙÙ Ù
+Ø¹ØžÙ
+  Ø§ÙØ­Ø§ÙØ§ØªØ ÙØ³ØªØ®Ø¯Ù
+ Ù
+ÙØ§ØšØ³ ÙØ§Ø­Ø¯ ÙÙ
+Ø¹Ø§ÙØ¬Ø©  ÙÙØ¹ Ù
+Ø¹ÙÙ Ù
+Ù Ø§ÙÙ
+ÙÙØ§ØªØ ÙÙÙ ÙÙ ØšØ¹Ø¶ Ø§ÙØ§Ø­ÙØ§ÙØ Ø­ÙØ« ØªÙØ¬Ø¯ Ù
+ÙÙØ§Øª Ù
+Ø®ØªÙÙØ© ÙÙÙØ§ Ø§Ù
+ØªØ¯Ø§Ø¯ Ù
+ØŽØªØ±Ù  ÙÙØ§ ÙÙ
+ÙÙ ÙÙ
+ÙØ§ØšØ³ÙÙ Ù
+Ø¹Ø§ÙØ¬Ø© Ø§ÙÙ
+ÙÙØ§Øª ØšÙÙØ³ Ø§ÙØ§Ù
+ØªØ¯Ø§Ø¯.ÙÙ
+ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ø®ÙØ§Ø± "input-encoding" ÙØªØ­Ø¯ÙØ¯ ØªØ±Ù
+ÙØ² ÙØ§Ø¹Ø¯Ø© Ø§ÙØšÙØ§ÙØ§Øª. Ø®ÙØ§Ø± "Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª" "metadata-set"" ÙØ­Ø¯Ø¯ Ø£Ù Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙÙ
+ÙÙ Ø§Ø¶Ø§ÙØ©  Ø§ÙØ­ÙÙ Ø§ÙØ¬Ø¯ÙØ¯ Ø¥ÙÙÙ. Ø¥Ø°Ø§ ÙÙ
+ ÙØªÙ
+ ØªØ­Ø¯ÙØ¯ ÙØ§Ø­Ø¯Ø Ø³ÙÙ ÙØªÙ
+ Ø­Ø«Ù ÙÙ
+Ø¹Ø±ÙØ© Ù
+Ø§ ÙÙ
+ÙÙ ÙØ¹ÙÙ Ù
+Ø¹ Ø£Ù Ø­ÙÙ Ø¬Ø¯ÙØ¯ ÙÙ ÙØ§Ø¹Ø¯Ø© Ø§ÙØšÙØ§ÙØ§Øª.  ÙÙ
+ÙÙ Ø§Ø¶Ø§ÙØªÙ ÙØ¹ÙØµØ± Ø¬Ø¯ÙØ¯ ÙÙ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ÙØ¬ÙØ¯Ø Ø¯Ù
+Ø¬Ù Ù
+Ø¹ Ø¹ÙØµØ± Ø¢Ø®Ø± Ø£Ù ØªØ¬Ø§ÙÙÙ.</Text>
+<Text id="exm-5">ÙØªÙ
+ Ø§ÙØŽØ§Ø¡ ÙØ«ÙÙØ© ÙØ§Ø±ØºØ©  Ø¬Ø¯ÙØ¯Ø© ÙÙÙ ØªØ³Ø¬ÙÙØ© Ø¹ÙØ¯ ØªØ¬Ø²ØŠØ©  Ø§ÙÙ
+ÙÙ ÙÙØªÙ
+ Ø§Ø¹ØªÙ
+Ø§Ø¯ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø§ÙØªØ³Ø¬ÙÙØ© ÙÙÙ ÙØ«ÙÙØ©Ø ØªØªÙ
+ ØªØ³Ù
+ÙØ© Ø§ÙÙØ«Ø§ØŠÙ ØšØ§Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙØ§Ø±ÙØ§Ù
+ Ù
+Ø«Ù 00002,nul Ù000001-nul ÙÙÙØ°Ø§Ø Ø§Ø°Ø§ ØªÙ
+ ØªØ­Ø¯ÙØ¯ Ø§ÙØ®ÙØ§Ø± "Document-field" (Ø¥ÙÙ Ø§Ø³Ù
+ Ø­ÙÙ ÙØ§Ø¹Ø¯Ø© Ø§ÙØšÙØ§ÙØ§Øª) ØªØ³ØªØ®Ø¯Ù
+ ÙÙÙ
+Ø© ÙØ°Ø§ Ø§ÙØ­ÙÙØ Ø§Ø°Ø§ ØªÙÙØ±Øª ÙØ§Ø³Ù
+ Ø§ÙÙ
+ÙÙ. ÙÙÙÙ
+ Ø§Ø¬Ø±Ø§Ø¡ Ø§ÙØªØ¬Ø²ØŠØ© ØšÙ
+Ø­Ø§ÙÙØ© ØªÙØ²ÙÙ Ø§ÙÙ
+ÙÙ ÙØ§Ø³ØªØ®Ø¯Ø§Ù
+Ù ØšØ¯ÙØ§ Ù
+Ù Ù
+ÙÙ ÙØ§Ø±Øº0 ÙÙ
+ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+  Ø®ÙØ§Ø±Ø§Øª0"Document- prefix"Ù "Document- sufix" ÙØ§ÙØŽØ§Ø¡ Ø¹ÙÙØ§Ù Ù
+ÙØ§Ø±Ø¯  Ù
+ÙØ­Ø¯ URL ØµØ§ÙØ­ Ø£Ù Ù
+Ø³Ø§Ø± Ù
+ÙÙ Ù
+Ù ÙÙÙ
+Ø© "Document-field" ÙÙ
+ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ø®ÙØ§Ø± "Records-per-folder" ÙØªØ¬Ù
+ÙØ¹ Ø§ÙØªØ³Ø¬ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ø²ØŠØ© ÙÙ Ù
+Ø¬ÙØ¯Ø§Øª ÙØ±Ø¹ÙØ©Ø Ø§Ø°Ø§ ÙØ§ÙØª ÙØ§Ø¹Ø¯Ø© Ø§ÙØšÙØ§ÙØ§Øª ÙØšÙØ±Ø© Ø¬Ø¯Ø§ÙØ ÙÙ
+ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ ÙØ°Ø§ Ø§ÙØ®ÙØ§Ø± ÙØªØ³Ø±ÙØ¹ Ø§ÙØªØ¹Ø¯ÙÙ Ø§ÙÙ
+ØªØ³ÙØ³Ù  ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª0</Text>
+<Text id="exm-6">ÙØªØ­Ø¯Ø¯ Ø¥Ø¬Ø±Ø§Ø¡ Ø§ÙØªØ¬Ø²ØŠØ© ØšØ§Ù
+ØªØ¯Ø§Ø¯  Ø§ÙÙ
+ÙÙ0 ÙÙ ØšØ¹Ø¶ Ø§ÙØ­Ø§ÙØ§ØªØ ØªÙØ¬Ø¯ Ù
+ÙÙØ§Øª ØªÙ
+ÙØ² ÙÙØªØ¬Ø²ØŠØ© ØšØµÙØ±Ø© ØºÙØ± ØµØ­ÙØ­Ø©Ø Ø¥Ø°Ø§ ÙØ§Ù ÙØ¯ÙÙØ§ ÙÙØ³ Ø§Ø³Ù
+ Ø§Ù
+ØªØ¯Ø§Ø¯  Ø§ÙÙ
+ÙÙ0 Ù
+Ø«Ø§Ù Ù
+ÙØ§ÙØ³Procite  ÙØ¹Ø§ÙØ¬  Ø§ÙÙ
+ÙÙØ§Øª ØšØ§ÙØ§Ù
+ØªØ¯Ø§Ø¯  TXT. ÙÙÙÙ Ù
+Ø¹ØžÙ
+ Ø§ÙÙ
+ÙÙØ§Øª ØšØ§ÙØ§Ù
+ØªØ¯Ø§Ø¯ TXT .ÙÙ Ù
+ÙÙØ§Øª ØšØ³ÙØ·Ø© ÙÙÙØ³Øª Ù
+ÙÙØ§Øª Procite</Text>
+</Section>
+<Section name="filteringthetree">
+<Title>
+<Text id="69">ØªØ±ØŽÙØ­ Ø§ÙØŽØ¬Ø±Ø©</Text>
+</Title>
+<Text id="70">"ØªØ±ØŽÙØ­"  ØŽØ¬Ø±Ø© Ù
+Ø³Ø§Ø­Ø© Ø§ÙØ¹Ù
+Ù ÙØ§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØªÙØ­ ÙÙ ØªØ¶ÙÙ ÙØ·Ø§Ù Ø§ÙØšØ­Ø« Ø¹Ù Ù
+ÙÙØ§Øª Ù
+Ø­Ø¯Ø¯Ø©0</Text>
+<Text id="71">ÙØ§ØŠÙ
+Ø© "Ø§ØžÙØ§Ø± Ù
+ÙÙØ§Øª" Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ØªØ­Øª ÙÙ ØŽØ¬Ø±Ø© Ù
+ÙÙØ§Øª ØªØªÙØ­ ÙØ§ØŠÙ
+Ø© Ù
+Ø±ØŽØ­Ø§Øª Ù
+Ø¹Ø±ÙØ© Ù
+Ù ÙØšÙØ Ù
+Ø«Ù "ØµÙØ±" . Ø§Ø®ØªÙØ§Ø± Ù
+Ø±ØŽØ­ ØšØµÙØ±Ø© Ù
+Ø€ÙØªØ© ÙØ¹ÙÙ Ø§Ø®ØªÙØ§Ø¡ ØšÙÙØ© Ø£ÙÙØ¹ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+Ø®ØªÙÙØ©  ÙÙ ØŽØ¬Ø±Ø© Ø§ÙÙ
+ÙÙØ§Øª0 ÙØ§Ø³ØªØ¹Ø§Ø¯Ø© ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØªÙ
+ÙÙØ² Ø§ÙÙ
+Ø±ØŽØ­ Ø¥ÙÙ "ÙÙ Ø§ÙÙ
+ÙÙØ§Øª"0 ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ ÙØ§ ÙØ€Ø«Ø± ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø£Ù Ù
+Ø¬ÙØ¯Ø§Øª ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0</Text>
+<Text id="72">ÙÙ
+ÙÙÙ ØªØ®ØµÙØµ Ù
+Ø±ØŽØ­ ØšØ·ØšØ§Ø¹Ø© Ø§ÙØ§Ù
+ØªØ¯Ø§Ø¯ Ø§ÙØ¹Ø§Ù
+ " *.*" Ø£Ù Ø§Ù
+ØªØ¯Ø§Ø¯ Ù
+Ø­Ø¯Ø¯ ".doc" ÙØ§ØžÙØ§Ø±  Ø§ÙÙ
+ÙÙØ§Øª ÙÙÙØ§ Ø£Ù Ø§ÙÙ
+Ø­Ø¯Ø¯Ø© (ÙØ°Ø§ Ø§ÙØ®ÙØ§Ø± Ù
+ØªÙÙØ± ÙÙØ· ÙÙ Ø³ÙØ§Ù Ø§Ø®ØªØµØ§ØµÙ ÙØžÙ
+ Ù
+ÙØªØšØ§Øª ÙØ³ÙØ§Ù Ø§ÙØ®ØšÙØ±) " *.*" Ù
+ÙØ§Ø±ÙØ© ØšØ§Ù Ù
+Ø­Ø§Ø±Ù0</Text>
+</Section>
+</Section>
+<Section name="enrichingacollection">
+<Title>
+<Text id="73">Ø¥Ø«Ø±Ø§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø© ØšÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª</Text>
+</Title>
+<Text id="74">ÙØ¹Ø¯ ØªØ¬Ù
+ÙØ¹ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+ØªØ¹Ø¯Ø¯Ø© ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©Ø ÙÙ
+ÙÙÙ Ø§ÙØ£Ù  Ø¥Ø«Ø±Ø§Ø€ÙØ§ ØšÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø§Ø¶Ø§ÙÙØ© ØªØ³Ù
+Ù "ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª"0 ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙÙØ¶Ø­ ÙÙÙÙØ© Ø§ÙØŽØ§Ø¡Ø ØªØ¹Ø¯ÙÙØ ØªØ¹ÙÙÙØ Ø§Ø³ØªØ±Ø¬Ø§Ø¹ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙÙÙÙØ© Ø§Ø³ØªØ®Ø¯Ø§Ù
+ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ù Ù
+ØµØ§Ø¯Ø± Ø®Ø§Ø±Ø¬ÙØ© </Text>
+<Section name="theenrichview">
+<Title>
+<Text id="75">Ù
+ØŽÙØ¯ Ø¥Ø«Ø±Ø§Ø¡</Text>
+</Title>
+<Text id="76">Ø§Ø³ØªØ®Ø¯Ù
+ Ù
+ØŽÙØ¯ Ø¥Ø«Ø±Ø§Ø¡ <AutoText key="glidict::GUI.Enrich"/> ÙØªØ¹ÙÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙØ«Ø§ØŠÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙ ØšÙØ§ÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª - ØªØ­Ø¯ÙØ¯Ø§Ù Ø§ÙØ¹ÙÙØ§ÙØ Ø§ÙÙ
+Ø€ÙÙØ ØªØ§Ø±ÙØ® Ø§ÙØ¥ÙØŽØ§Ø¡ ÙÙÙØ°Ø§Ø Ø§Ù ÙØ§ØµÙØ© ØšÙØ§ÙØ§Øª ØªØªÙÙÙ Ù
+Ù Ø¬Ø²ØŠÙÙ "Ø§ÙØ¹ÙØµØ±" <AutoText key="glidict::Metadata.Element"/> ÙØªØ­Ø¯ÙØ¯ ØµÙØ© Ø§ÙØ¹ÙØµØ± (Ù
+Ø«ÙØ§Ù Ø§ÙÙ
+Ø€ÙÙ) Ù"Ø§ÙÙÙÙ
+Ø©" <AutoText key="glidict::Metadata.Value"/> ÙØšÙØ§Ù Ù
+Ø­ØªÙÙ Ø°ÙÙ Ø§ÙØ¹ÙØµØ± (Ø§Ø³Ù
+ Ø§ÙÙ
+Ø€ÙÙ)0</Text>
+<Text id="77">ÙÙØ¬Ø¯ ÙØ³Ø§Ø± Ù
+ØŽÙØ¯ <AutoText key="glidict::GUI.Enrich"/> ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©. ÙÙ ÙØžØ§ØŠÙ Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù Ù
+ØªØ§Ø­Ø© ÙØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ù Ù
+ØŽÙØ¯ <AutoText key="glidict::GUI.Gather"/> ÙÙÙ Ù
+ØªØ§Ø­Ø© ÙÙØ§ Ø£ÙØ¶Ø§Ù. ÙÙ Ø§ÙØ¬Ø§ÙØš Ø§ÙØ§ÙÙ
+Ù Ø¬Ø¯ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØªÙ ØªÙØ¶Ø­ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙÙ
+ÙÙØ§Øª Ø£Ù Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª ÙÙ ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©. ØªÙ
+Øª ØªØ³Ù
+ÙØ© Ø§ÙØ§Ø¹Ù
+Ø¯Ø© ØšØ§ÙÙÙÙ Ø§ÙØ£Ø³ÙØ¯ ÙÙ Ø§ÙØ§Ø¹ÙÙ. ÙÙ
+ÙÙ Ø§ÙØªÙ
+Ø¯ÙØ¯ Ø£Ù Ø§ÙØªÙÙÙØµ ØšØ³Ø­Øš Ø§ÙØ®Ø· Ø§ÙÙØ§ØµÙ. Ø§Ø°Ø§ Ø«Ù
+ Ø§Ø®ØªÙØ§Ø± Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+ÙÙØ§Øª ÙØŽÙØ± Ø§ÙÙØµ Ø§ÙØ£Ø³ÙØ¯ Ø¥ÙÙ ÙÙÙ
+Ø© Ù
+ØŽØªØ±ÙØ© ØšÙÙ Ø§ÙØ¹ÙØ§ØµØ± Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© ØšÙÙÙ
+Ø§ ÙØŽÙØ±  Ø§ÙÙØµ Ø§ÙØ±Ù
+Ø§Ø¯Ù Ø¥ÙÙ Ø¹ÙØ³ Ø°ÙÙ.  ØªØ¹Ø¯ÙÙ Ø§ÙÙÙÙÙÙ
+ Ø§ÙØ±Ù
+Ø§Ø¯ÙØ© ÙØ€Ø«Ø± ÙÙØ· ÙÙ Ø§ÙÙØ«Ø§ØŠÙ Ø§ÙØªÙ ÙÙØ§ ÙØ°Ù Ø§ÙÙØ§ØµÙØ§ØªØ Ø£Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¬Ø¯ÙØ¯Ø© Ù
+Ø¯Ø®ÙØ© ØªØªÙ
+ Ø§Ø¶Ø§ÙØªÙØ§ Ø¥ÙÙ ÙÙ Ø§ÙÙÙÙ
+ Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©.</Text>
+<Text id="78">ÙØžÙØ± ØšØ¬Ø§ÙØš Ø±Ù
+Ø² Ù
+Ø¬ÙØ¯ ØšØ¹Ø¶ Ù
+Ø¯Ø§Ø®Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙØŽÙØ± ÙØ°Ø§ Ø¥ÙÙ Ø£Ù ÙØ°Ù Ø§ÙÙÙÙ
+ ÙØ¯ ØªÙ
+ ØªØ¶Ù
+ÙÙÙØ§ Ù
+Ù Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ£Ø¹ÙÙ (Ø§ÙØ³ÙÙ)Ø ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¶Ù
+ÙÙ ÙØ§ ÙÙ
+ÙÙ Ø­Ø°ÙÙØ§ Ø£Ù ØªØ¹Ø¯ÙÙÙØ§ ÙÙ Ø¥ÙØ§ ÙÙ Ù
+ÙØ·ÙØ© Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ§Ø¹ÙÙØ Ø­ÙØ« ØªÙ
+ ØªØ¹ÙÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª0</Text>
+<Text id="79">Ø§ÙÙÙØ± Ø¹ÙÙ Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙÙ Ø§ÙØ¬Ø¯ÙÙØ ÙØ¹Ø±Ø¶ Ø§ÙÙÙÙÙÙ
+  Ø§ÙÙ
+ÙØ¬ÙØ¯Ø© ÙØ°ÙÙ Ø§ÙØ¹ÙØµØ± ÙÙ Ù
+Ø³Ø§Ø­Ø©  "ØŽØ¬Ø±Ø© Ø§ÙÙÙÙ
+.." <AutoText key="glidict::EnrichPane.ExistingValues" args="..."/> Ø§ÙÙ
+ÙØ¬ÙØ¯Ù Ø§Ø³ÙÙ Ø§ÙØ¬Ø¯ÙÙ.  ØªØªÙ
+Ø¯Ø¯ Ø£Ù ØªØªÙÙØµ ØªÙÙ Ø§ÙÙÙÙ
+ ÙÙÙØ§Ù ÙÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¯Ø®ÙØ© Ù
+Ù ÙØšÙ ÙØ¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±.Ø§ÙÙÙØ± Ø¹ÙÙ Ù
+Ø¯Ø®Ù ÙØ¶Ø¹Ù ØªÙÙØ§ØŠÙØ§Ù ÙÙ ÙÙÙ
+Ø© Ø§ÙØ­ÙÙØ  Ø§ÙØ·ØšØ§Ø¹Ù ÙÙ Ø­ÙÙ Ø§ÙÙØµ ØªØžÙØ± Ø§ÙÙØµ Ø§ÙØ°Ù ÙØšØ¯Ø£ ØšÙÙØ³ Ø§ÙØ­Ø±Ù. Ø§ÙØ¶ØºØ· Ø¹ÙÙ Ù
+ÙØªØ§Ø­ [Tab] ÙÙÙ
+Ù ØªÙÙØ§ØŠÙØ§Ù Ø·ØšØ§Ø¹Ù Ø§ÙÙÙÙ
+Ø© Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©.</Text>
+<Text id="80">ÙÙ
+ÙÙ ØªÙØžÙÙ
+ ÙÙÙÙÙ
+ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙ ØªØ±ØªÙØš ÙØ±Ù
+Ù.ÙÙØšØ¯Ù ÙØ°Ø§ ÙØ§Ø¶Ø­Ø§ ÙÙ ØŽØ¬Ø±Ø© Ø§ÙÙÙÙ
+ ØšØ¥Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª ÙÙÙÙÙ
+ Ø§ÙØ¯Ø§Ø®ÙÙØ©.ÙÙ
+ÙÙ Ø§Ø¯Ø®Ø§Ù Ø§ÙÙÙÙÙÙ
+  Ø§ÙÙØ±Ù
+ÙÙ ØšØ§Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙÙ
+Ø­Ø±Ù "|" ÙÙØµÙ Ø§ÙÙ
+Ø³ØªÙÙØ§Øª- Ù
+Ø«Ø§ÙØ "ÙØ±ÙØª Ø§ÙÙÙØªØŽÙÙÙ |Ø§ÙØ§Ø­Ù
+Ø±| Ø§ÙØ¬ÙÙØ±Ø©| Ø§ÙØ³ØšØ¹Ù" ÙÙØªÙ
+Ø«ÙÙ Ø§ÙÙØ±Ù
+Ù ÙÙØ±ÙØª Ø§ÙÙÙØªØŽÙÙÙØ ÙÙ
+ÙÙ  ÙØ°Ø§ Ù
+Ù ØªØ¬Ù
+ÙØ¹  Ø§ÙÙÙÙÙÙ
+ Ù
+Ø¹Ø§Ù. ÙÙ
+ÙÙ ØªØ¹ÙÙÙ ÙØ°Ù Ø§ÙÙÙÙÙ
+Ù ÙÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙÙÙ
+ÙÙØ§Øª.</Text>
+<Text id="81">ÙØ³ØªØ®Ø±Ø¬ ÙØ±ÙÙØ³ØªÙÙ ØªÙÙØ§ØŠÙØ§Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ù
+Ù Ø§ÙÙØ«Ø§ØŠÙ ÙÙ
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ØšØªØ¯ØŠØ© ØšÙ "ex." ÙÙØ°Ù Ø§ÙÙØ§ØµÙØ§Øª  ØºÙØ± Ù
+ÙØ¹ÙÙ ÙÙØ§ ÙÙ
+ÙÙ ØªØ¹Ø¯ÙÙÙØ§0     </Text>
+</Section>
+<Section name="selectingmetadatasets">
+<Title>
+<Text id="82">Ø¥Ø®ØªÙØ§Ø± Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª</Text>
+</Title>
+<Text id="83">Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹Ø±ÙØ© Ù
+Ù ÙØšÙ ØªØ¹Ø±Ù ØšÙ "Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª"0 Ù
+Ø«Ø§ÙØ Ù
+Ø¹ÙØ§Ø± Ø¯ØšÙÙ ÙÙØ± ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª0 Ø¹ÙØ¯ Ø¥Ø¶Ø§ÙØ© Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙÙ
+Ø¬Ù
+ÙØ¹ØªÙ ØªØµØšØ­  Ø¹ÙØ§ØµØ±Ù Ù
+ØªØ§Ø­Ø© ÙÙØ§Ø®ØªÙØ§Ø±0 ÙÙ
+ÙÙÙ Ø§Ø®ØªÙØ§Ø± Ø£ÙØ«Ø± Ù
+Ù Ù
+Ø¹ÙØ§Ø± ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§ØªØ ÙÙ
+ÙØ¹ ØªØ¶Ø§Ø±Øš Ø§ÙØ§Ø³Ù
+Ø§Ø¡Ø ÙÙØ­Ø¯ Ù
+Ø¹Ø±Ù ÙØµÙØ± ÙØšÙ Ø§Ø³Ù
+ Ø§ÙØ¹ÙØµØ± ÙÙ
+Ø«Ø§Ù Ù
+Ø¹Ø±ÙÙ Ø¹ÙØµØ± Ù
+Ø¹ÙØ§Ø± Ø¯ØšÙÙ ÙÙØ± ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª  ÙØµØšØ­  "Ù
+Ø€ÙÙ .dc" ØªØ­ÙØž Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙ Ù
+Ø³Ø§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª"Metadata"ÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ÙÙØ­Ù
+Ù Ø§ÙØ§Ù
+ØªØ¯Ø§Ø¯ "mds."</Text>
+<Text id="84">ØªØªÙ
+ Ø§Ø¶Ø§ÙØ© Ù
+Ø¹ÙØ§Ø± Ø¯ØšÙÙ ÙÙØ± ØšØµÙØ±Ø© Ø§ÙØªØ±Ø§Ø¶ÙØ© Ø¹ÙØ¯ Ø§ÙØŽØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø¬Ø¯ÙØ¯Ø©0 ÙÙ
+ÙÙÙ  ØªØºÙÙØ± Ø£Ù Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ø³ØªØ®Ø¯Ù
+ ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšØ§ÙÙÙØ± Ø¹ÙÙ Ø²Ø± "Ø§Ø¯Ø§Ø±Ø© Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª" ØªØ­Øª ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙ Ù
+ØŽÙØ¯ Ø¥Ø«Ø±Ø§Ø¡0 ÙÙÙØ¯ ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ ÙØžÙÙØ± ÙØ§ÙØ°Ø© Ø¬Ø¯ÙØ¯Ø© ÙØ§Ø¯Ø§Ø±Ø© Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0</Text>
+<Text id="84a">ÙØ§ØŠÙ
+Ø© "Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©" ØªØ¹Ø±Ø¶ Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+Ø© ÙÙ Ø§ÙÙ
+Ø¬ÙØ¹Ø© Ø­Ø§ÙÙØ§Ù0</Text>
+<Text id="84b">ÙØ§Ø³ØªØ®Ø¯Ø§Ù
+ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¢Ø®Ø± Ù
+Ø¹ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©Ø Ø§ÙÙØ± "Ø§Ø¶Ø§ÙØ©00" ØªØžÙØ± ÙØ§ØŠÙ
+Ø© ØªÙØ¶Ø­ Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØ§ÙØªØ±Ø§Ø¶ÙØ© Ø§ÙØªÙ ÙØ¹Ø±ÙÙØ§ GLI ÙØ§Ø¶Ø§ÙØ©  ÙØ§Ø­Ø¯ Ù
+ÙÙØ§Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© ÙØ§ÙÙØ± "Ø§Ø¶Ø§ÙØ©" Ø§Ø°Ø§ ÙÙ
+Øª ØšØªØ¹Ø±ÙÙ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø®Ø§ØµØªÙØ ÙÙ
+ÙÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ø²Ø± "ØªØµÙØ­" ÙØªØ­Ø¯ÙØ¯ Ù
+ÙÙØ¹ Ø§ÙÙ
+ÙÙ ÙÙ ÙØžØ§Ù
+ Ø§ÙÙ
+ÙÙØ§Øª0</Text>
+<Text id="84c">ÙØ§ÙØŽØ§Ø¡ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¬Ø¯ÙØ¯Ø Ø§ÙÙØ± "Ø¬Ø¯ÙØ¯"Ø ÙØ€Ø¯Ù ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ Ø¥ÙÙ Ø¥Ø·ÙØ§Ù Ù
+Ø­Ø±Ø± ÙØ±ÙÙØ³ØªÙÙ ÙÙ
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª GEMS ØªØžÙØ± ÙØ§ÙØ°Ø© ØªØ­Ø«Ù ÙØªØ­Ø¯ÙØ¯ Ø§ÙØ§Ø³Ù
+Ø Ø§Ø³Ù
+ Ù
+Ø³Ø§Ø­Ø© ÙØ§ÙÙØ­Ø¯Ø©. ÙÙ
+ÙÙÙ Ø§ÙØ¶Ø§Ù Ø§Ø®ØªÙØ§Ø± Ù
+Ø¹ÙØ§Ø± ÙØªØ£Ø³ÙØ³ Ø§ÙÙ
+Ø¹ÙØ§Ø± Ø§ÙØ¬Ø¯ÙØ¯ Ø¹ÙÙÙ. ÙÙ ÙØ°Ù Ø§ÙØ­Ø§ÙØ© Ø³ÙÙ ØªØ¶Ù
+Ù ÙÙ Ø§ÙØ¹ÙØ§ØµØ± Ù
+Ù Ø§ÙÙ
+Ø¹ÙØ§Ø± Ø§ÙÙ
+Ø­Ø¯Ø¯. Ø§ÙÙØ± "OK" ØªØžÙØ± Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙØ±ØŠÙØ³Ù ÙÙ
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª  Ø§ÙØšÙØ§ÙØ§Øª Ø¥ÙÙ Ø§ÙÙØ³Ø§Ø± ÙØšØ¹Ø¶ Ø§ÙØµÙØ§Øª ÙÙÙ
+Ø¹ÙØ§Ø± ÙÙ
+ÙÙØ§ÙØ Ø§Ø°Ø§ ØªÙ
+ ØªØ£Ø³ÙØ³ Ø§ÙÙ
+Ø¹ÙØ§Ø± Ø¹ÙÙ Ù
+Ø¹ÙØ§Ø± Ù
+ÙØ¬ÙØ¯ ÙØ¹Ø±Ø¶ Ø¹ÙØµØ± Ø£Ù Ø¹ÙØ§ØµØ±.Ø§ÙÙÙØ± Ø¹ÙÙ ÙØ§Ø­Ø¯ ÙØ¹Ø±Ø¶ ØµÙØ§Øª Ø§ÙØ¹ÙØµØ± ÙÙ Ø§ÙØ¬Ø§ÙØš Ø§ÙØ£ÙÙ
+Ù.</Text>
+<Text id="84d">ÙØ§Ø¶Ø§ÙØ© Ø¹ÙØµØ± Ø¬Ø¯ÙØ¯Ø Ø§Ø¶ØºØ· Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù ÙÙ Ø§ÙÙ
+Ø¹ÙØ§Ø± ÙÙÙ
+ ØšØ¥Ø®ØªÙØ§Ø±  "Ø§Ø¶Ø§ÙØ© Ø¹ÙØµØ±" - ÙØ§Ø¶Ø§ÙØ© Ø¹ÙØµØ± ÙØ±Ø¹Ù Ø¬Ø¯ÙØ¯Ø Ø§Ø¶ØºØ· Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù  ÙÙÙ
+  ØšØ§Ø®ØªÙØ§Ø± "Ø§Ø¶Ø§ÙØ© Ø¹ÙØµØ± ÙØ±Ø¹Ù". ÙÙ
+ÙÙ Ø¥ÙØºØ§Ø¡ Ø§ÙØ¹ÙØ§ØµØ± Ù Ø§ÙØ¹ÙØ§ØµØ± Ø§ÙÙØ±Ø¹ÙØ© ØšØ¥Ø®ØªÙØ§Ø±  "Ø¥ÙØºØ§Ø¡ Ø¹ÙØµØ± (ÙØ±Ø¹Ù)" Ù
+Ù ÙØ§ØŠÙ
+Ø© Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù. </Text>
+<Text id="84e">ØªØ¬Øš Ù
+ÙØ§Ø­ØžØ© Ø§Ù Ù
+Ø­Ø±Ø± ÙØ±ÙÙØ³ØªÙÙ ÙÙ
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙ
+ÙÙ ØªØŽØºÙÙÙ Ù
+Ø³ØªÙÙØ§Ù Ø¹Ù GLIØ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù Ù
+Ø¬ÙØ¯ ÙØ±ÙÙØ³ØªÙÙ ÙÙ  ÙØ§ØŠÙ
+Ø© Ø¥ØšØ¯Ø£Ø Ø£Ù ØšØªØŽØºÙÙ gens.sh Ø£Ù gems.bat ÙÙ Ù
+Ø¬ÙØ¯ GLI ÙÙ ØªØ«ØšÙØª  ÙØ±ÙÙØ³ØªÙÙ. </Text>
+<Text id="84f">Ø£Ø­ÙØ§ÙØ§Ù ÙÙÙÙ Ø§Ø³Ù
+ Ø§ÙÙ
+Ø³Ø§Ø­Ø© Ù
+ØŽØªØ±ÙØ§Ù ØšÙÙ Ù
+ÙØ§Ø¯ÙÙ ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª0 Ù
+Ø«Ø§Ù Dultin lore Ù Qualifiel Dubin lore ÙÙØ§Ø«ÙØ§Ù ÙØ³ØªØ®Ø¯Ù
+Ø§Ù Ø§Ø³Ù
+ Ø§ÙÙ
+Ø³Ø§Ø­Ø© "dc."  - ÙÙØ§ ÙÙ
+ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ù
+Ø«Ù ÙØ°Ù Ø§ÙÙ
+Ø¹Ø§ÙÙØ± ÙÙ ÙÙØª ÙØ§Ø­Ø¯ Ù
+Ù Ù
+Ø¬Ù
+ÙØ¹Ø© ÙØ§Ø­Ø¯Ø© ÙØ³ÙÙ ÙØžÙØ± ÙÙ  ØªØ­Ø°ÙØ±Ø Ø§Ø°Ø§ Ù
+Ø¶ÙØª ÙØ¯Ù
+Ø§Ù Ø³ÙÙ ÙØªÙ
+ Ø­Ø°Ù Ø§ÙÙ
+Ø¹ÙØ§Ø± Ø§ÙÙ
+ÙØ¬ÙØ¯ ÙØ§Ø¶Ø§ÙØ©  ØªØ§ÙØ¬Ø¯ÙØ¯0 ØªØªÙ
+ Ø§Ø¶Ø§ÙØ© ÙÙÙ
+ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© Ø§ÙÙ Ø§ÙÙ
+Ø¹ÙØ§Ø± Ø§ÙØ¬Ø¯ÙØ¯ ÙØªÙÙÙØ± Ø§ÙØ¹ÙØ§ØµØ± Ø§ÙØªÙ  Ø²Ø§ÙØª Ù
+ÙØ¬ÙØ¯Ø©0</Text>
+<Text id="191">ØšØ¥Ø³ØªØ®Ø¯Ø§Ù
+ GEMS ÙÙ
+ÙÙÙ ØªØ¹Ø¯ÙÙ Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+ÙØ¬ÙØ¯Ø© ÙÙ
+Ø§ ÙÙ
+ÙÙ Ø§ÙØŽØ§Ø¡ Ù
+Ø¹Ø§ÙÙØ± Ø¬Ø¯ÙØ¯Ø© . ÙÙØ± "ØªØ¹Ø¯ÙÙ" ÙØ€Ø¯Ù Ø¥ÙÙ Ø§Ø·ÙØ§Ù GEMS" ÙÙØªØ­ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø­Ø¯Ø¯. Ø¹ÙØ¯ Ø§ÙØªÙØ§Ø¡ ØªØ¹Ø¯ÙÙ Ø§ÙÙ
+Ø¹ÙØ§Ø± (ÙÙ
+Ø§ ÙÙ Ù
+ÙØµÙÙ Ø£Ø¹ÙØ§Ù) ÙÙ
+ ØšØ­ÙØžÙ ÙÙ ÙØ§ØŠÙ
+Ø©-->Ù
+ÙÙ --> Ø­ÙØž ÙØ§ØºÙØ§Ù GEMS.</Text>
+<Text id="192">Ø§Ø°Ø§ ÙÙ
+ ÙØªÙ
+ ØªØ¹Ø¯ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ø­ØªØ§Ø¬Ù ÙÙ
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§ØªØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù  ÙØ§Ø¶ØºØ· "Ø­Ø°Ù" - Ø§Ø°Ø§ ÙØ§Ù ÙØ¯ÙÙ Ø§Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙÙ Ø¹ÙØ§ØµØ±Ø ÙØ³ÙÙ ÙØªÙ
+ Ø§Ø³ØªÙØ³Ø§Ø±Ù Ø­ÙÙ ÙÙÙÙØ© Ø§ÙØªØµØ±Ù Ù
+Ø¹ ÙØ°Ù Ø§ÙÙØ§ØµÙØ§Øª Ø¹ÙØ¯ ÙØªØ­ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©  ÙÙ Ø§ÙÙ
+Ø±Ø© Ø§ÙØªØ§ÙÙØ©0</Text>
+</Section>
+<Section name="appendingmetadata">
+<Title>
+<Text id="85">ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¬Ø¯ÙØ¯Ø© Ù
+Ø¹ÙÙØ©</Text>
+</Title>
+<Text id="86">ÙØ­Ù Ø§ÙØ¢Ù ÙØ¶ÙÙ Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§ØªØ Ø§ÙØ¹ÙØµØ± ÙÙÙÙ
+Ø© Ø§ÙØ¹ÙØµØ± Ø§ÙÙ Ù
+ÙÙ0 Ø§ÙÙØ§Ù ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ù
+ÙÙ Ù
+Ù ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø¹ÙÙ Ø§ÙÙØ³Ø§Ø±Ø ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ ÙØ³ØšØš Ø§Ù Ø§Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ø­Ø¯Ø¯Ø© Ù
+Ù ÙØšÙ Ø³ÙÙ ÙØªÙ
+ ØªØ¹ÙÙÙØ§ ÙÙØ°Ø§ Ø§ÙÙ
+ÙÙ ÙØ³ÙÙ ØªØžÙØ± ÙÙ Ø§ÙØ¬Ø¯ÙÙ ÙÙ Ø§ÙØ¬Ø§ÙØš Ø§ÙØ§ÙÙ
+Ù0</Text>
+<Text id="87">ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØ°Ù ØªÙØ¯ Ø§Ø¶Ø§ÙØªÙ ØšÙØ§Ø³Ø·Ø© Ø§ÙÙÙØ± Ø¹ÙÙ Ù
+ÙØ§ÙÙ ÙÙ Ø§ÙØ¬Ø¯ÙÙ0</Text>
+<Text id="88">Ø§Ø·ØšØ¹ Ø§ÙÙÙÙ
+Ø© Ø¯Ø§Ø®Ù Ø§ÙØ­ÙÙ0 Ø§Ø³Ø®Ø¯Ù
+ Ù
+Ø­Ø±Ù "|" ÙØ§Ø¶Ø§ÙØ© Ø§ÙØšÙØ§Ø¡ Ø§ÙÙØ±Ù
+ÙØ ÙÙ
+Ø§ ÙÙ Ù
+ÙØµÙÙ <Reference target="theenrichview"/>- Ø§ÙØ¶ØºØ· Ø¹ÙÙ Ù
+ÙØ§ØªÙØ­ Ø§Ø³ÙÙ
+ (Ø§Ø¹ÙÙ) Ù (Ø§Ø³ÙÙ) ÙØ­ÙØž ÙÙÙ
+Ø©  ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙØ­Ø±Ù  Ø§ÙØ§Ø®ØªÙØ§Ø± ØšØµÙØ±Ø© Ù
+ÙØ§Ø³ØšØ©0 Ø§ÙØ¶ØºØ· Ø¹ÙÙ Ù
+ÙØªØ§Ø­ [Enter] Ø³ÙÙ ÙØ­ÙØž  ÙÙÙ
+Ø© ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙÙØŽØŠ Ù
+Ø¯Ø®Ù ÙØ§Ø±Øº Ø¬Ø¯ÙØ¯ ÙØ¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙÙ
+ÙÙÙ Ù
+Ù ØªØ¹ÙÙÙ ÙÙÙ
+ Ù
+ØªØ¹Ø¯Ø¯Ø© ÙØ¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª0</Text>
+<Text id="89">ÙÙ
+ÙÙÙ Ø£ÙØ¶Ø§Ù Ø§Ø¶Ø§ÙØ© ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø§ÙÙ Ù
+Ø¬ÙØ¯ Ø£Ù Ø§ÙÙ Ù
+ÙÙØ§Øª Ù
+ØªØ¹Ø¯Ø¯Ø© Ù
+Ø®ØªØ§Ø±Ø© ÙØ¥ÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙØ±Ø¹ÙØ©0 ÙØ¬Øš Ø£Ù ØªØªØ°ÙØ± Ø§Ù ØªØ¹ÙÙÙ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¥ÙÙ Ù
+Ø¬ÙØ¯Ø ÙØ¹ÙÙ Ø£Ù ÙØ°Ù Ø§ÙÙØ§ØµÙØ§Øª Ø³ÙÙ ÙØªÙ
+ ØªØ¶Ù
+ÙÙÙØ§ ØªÙÙØ§ØŠÙØ§Ù ÙØ§Ù Ù
+ÙÙØ§Øª Ø¬Ø¯ÙØ¯Ø© Ø¯Ø§Ø®Ù ÙÙÙ
+ ÙØ°Ù Ø§ÙÙ
+Ø¬ÙØ¯0</Text>
+</Section>
+<Section name="addingpreviouslydefinedmetadata">
+<Title>
+<Text id="90">Ø¥Ø¶Ø§ÙØ© ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹Ø±ÙØ© Ø³Ø§ØšÙØ§</Text>
+</Title>
+<Text id="91">ÙØ§Ø¶Ø§ÙØ© ÙØ§ØµÙÙ ØšÙØ§ÙØ§Øª Ø¬Ø¯ÙØ¯Ø© ÙØ§Ø®Ø±Ù Ù
+ÙØ¬ÙØ¯Ù Ù
+Ù ÙÙÙ
+Ø© Ø§ÙØ­ÙÙØ Ø§ÙÙØ§Ù ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§ÙÙ
+ÙÙØ  Ø«Ù
+ Ø§Ø®ØªÙØ§Ø± Ø§ÙÙÙÙ
+Ø© Ø§ÙÙ
+Ø·ÙÙØšØ© Ù
+Ù ØŽØ¬Ø±Ø© Ø§ÙÙÙÙ
+Ø ØªÙØ³ÙØ¹  Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª Ø§ÙÙØ±Ù
+ÙÙ ÙÙÙØ§Ù ÙÙ
+Ø§ ÙÙ Ù
+Ø·ÙÙØšØ Ø³ÙÙ ØªØžÙØ± ØªÙÙØ§ØŠÙØ§Ù ÙÙÙ
+Ø© Ø§ÙÙ
+Ø¯Ø®Ù Ø§ÙÙ
+Ø®ØªØ§Ø± ÙÙ ÙÙÙ
+Ø© Ø§ÙØ­ÙÙ (ØšØ¯ÙØ§ÙØ Ø§Ø³ØªØ®Ø¯Ù
+ Ø§Ø®ØªÙØ§Ø± Ø§ÙÙÙÙ
+ Ø§ÙØªÙÙØ§ØŠÙ ÙØ³Ù
+Ø§Øª Ø§ÙØ§ÙÙØ§Ø¡ Ø§ÙØªÙÙØ§ØŠÙ)0
+ </Text>
+<Text id="92">Ø¥Ø¬Ø±Ø§Ø¡ Ø¥Ø¶Ø§ÙØ© ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ø¹ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+ÙØ¬ÙØ¯Ø© Ù
+Ù ÙØšÙ Ø¥ÙÙ Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª Ø£Ù Ø§ÙÙ
+ÙÙØ§Øª ÙÙ ÙÙØ³ Ø§ÙØ§Ø¬Ø±Ø§Ø¡0</Text>
+</Section>
+<Section name="updatingmetadata">
+<Title>
+<Text id="93">ØªØ¹Ø¯ÙÙ Ø§Ù Ø­Ø°Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª</Text>
+</Title>
+<Text id="94">ÙØªØ­Ø¯ÙØ« Ø£Ù Ø­Ø°Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§ØªØ ÙÙ
+ Ø§ÙÙØ§Ù ØšØ§Ø®ØªÙØ§Ø± Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+Ø·ÙÙØš Ø«Ù
+ ÙÙÙ
+Ø© ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ù
+Ù Ø§ÙØ¬Ø¯ÙÙ0 ÙÙ
+ ØšØªØ­Ø¯ÙØ« ÙÙÙ
+Ø© Ø§ÙØ­ÙÙ Ø£Ù Ø¥ÙØºØ§Ø¡ ÙÙ Ø§ÙÙØµ Ø§Ø°Ø§ Ø§Ø±Ø¯Øª Ø­Ø°Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª0</Text>
+<Text id="95">ÙØªØšØ¹  ÙÙØ³  Ø§ÙØ§Ø¬Ø±Ø§Ø¡ Ø¹ÙØ¯ ØªØ­Ø¯ÙØ« Ù
+Ø¬ÙØ¯ ÙØ­ØªÙÙ  Ù
+Ø¬ÙØ¯Ø§Øª ÙØ±Ø¹ÙØ© Ø£Ù Ù
+ÙÙØ§Øª Ù
+ØªØ¹Ø¯Ø¯Ø©Ø  ÙÙ
+ÙÙÙ ØªØ­Ø¯ÙØ« ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+ØŽØªØ±ÙØ© ÙÙÙ Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª / Ø§ÙÙ
+ÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©0</Text>
+<Text id="96">ØªØžÙØ± ØŽØ¬Ø±Ø© Ø§ÙÙÙÙ
+ ÙÙ Ø§ÙÙÙÙ
+ Ø§ÙÙ
+Ø­Ø¯Ø¯Ø©  Ø§ÙØ­Ø§ÙÙØ© ÙØ§ÙØ³Ø§ØšÙØ© Ø¹ÙØ¯ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ Ø¹ÙØ¯ ØºÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø«Ù
+ ÙØªØ­ÙØ§  Ù
+Ø±Ø© Ø£Ø®Ø±Ù ØªØ®ØªÙÙ ÙÙ Ø§ÙÙÙÙ
+ Ø§ÙØªÙ ÙÙ
+ ÙØªÙ
+ ØªØµÙÙÙÙØ§0</Text>
+</Section>
+<Section name="reviewingmetadata">
+<Title>
+<Text id="97">Ø¥Ø³ØªØ¹Ø±Ø§Ø¶ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©</Text>
+</Title>
+<Text id="98">ØªØ­ØªØ§Ø¬ Ø§Ø­ÙØ§ÙØ§Ù ÙØ±Ø€ÙØ© ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ÙÙØ© ÙØ¹Ø¯Ø¯ Ù
+Ù Ø§ÙÙ
+ÙÙØ§Øª Ù
+Ø±Ø© ÙØ§Ø­Ø¯Ø©00 Ù
+Ø«ÙØ§ ÙØªØ­Ø¯ÙØ¯ Ø­Ø¬Ù
+ Ø§ÙØ¹Ù
+Ù ÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+ØªØšÙÙØ© Ø§Ù ÙØ§Ø®Ø° ÙÙØ±Ø© Ø­ÙÙ Ø§ÙØªØºØ·ÙØ© Ø§ÙØ²Ù
+ÙÙØ©0</Text>
+<Text id="99">ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙØªÙ ØªÙØ¯ ÙØ­ØµÙØ§Ø Ø«Ù
+ Ø§ÙØ¶ØºØ· Ø¹ÙÙ Ø²Ø± Ø§ÙÙØ£Ø±Ø© Ø§ÙØ§ÙÙ
+Ù  ÙØ§Ø®ØªÙØ§Ø± "ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© " ÙØžÙØ± ÙÙ Ø¬Ø¯ÙÙ ÙØšÙØ± ÙÙ ÙØ§ÙØ°Ø© Ø§Ø¹ÙÙØ§Ù  "ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª" ÙØžÙØ± ÙÙ Ø§ÙØ¹Ù
+ÙØ¯ Ø§ÙØ£ÙÙ Ø§Ø³Ù
+Ø§Ø¡ Ø§ÙÙ
+ÙÙØ§Øª ÙØªØžÙØ± ÙÙ "rows" ÙÙ ÙÙÙ
+ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø­Ø¯Ø¯Ø© ÙÙØ°Ù Ø§ÙÙ
+ÙÙØ§Øª0</Text>
+<Text id="100">Ø±Ø³Ù
+ Ø§ÙØ¬Ø¯ÙÙ ÙØ¯ ÙØ³ØªØºØ±Ù Ø²Ù
+ÙØ§ÙØ Ø§Ø°Ø§ ØªÙ
+ Ø§Ø®ØªÙØ§Ø± Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ù Ø§ÙÙ
+ÙÙØ§Øª  ÙÙ
+ÙÙÙ Ø§ÙØ§Ø³ØªÙ
+Ø±Ø§Ø± ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØšÙÙÙ
+Ø§ ÙØ§ÙØ°Ø© "ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª" Ù
+ÙØªÙØ­Ø©0</Text>
+<Text id="101">Ø¹ÙØ¯Ù
+Ø§ ÙØµØšØ­ Ø§ÙØ­Ø¬Ù
+ ÙØšÙØ±Ø§ÙØ ÙÙ
+ÙÙÙ ØªØ±ØŽÙØ­ Ø¬Ø¯ÙÙ "ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª" ÙØªØ·ØšÙÙ Ø§ÙÙ
+Ø±ØŽØ­Ø§Øª Ø¹ÙÙ Ø§ÙØ£Ø¹Ù
+Ø¯Ø© - ØšØ§Ø¶Ø§ÙØ© Ø§ÙÙ
+Ø±ØŽØ­Ø§Øª Ø§ÙØ¬Ø¯ÙØ¯Ø© ØªØªØšÙÙ ÙÙØ· Ø§ÙØ§Ø¹Ù
+Ø¯Ø© Ø§ÙÙ
+ØªÙØ§ÙÙØ© Ù
+Ø¹ ÙØ°Ù Ø§ÙÙ
+Ø±ØŽØ­Ø§Øª ÙØ§Ø¶Ø­Ø©  ÙÙ Ø§ÙØŽØ§ØŽØ©0 ÙØ§Ø¹Ø¯Ø§Ø¯  Ø£Ù ØªØ¹Ø¯ÙÙ Ø£Ù Ù
+Ø³Ø­ Ù
+Ø±ØŽØ­Ø Ø§ÙÙØ± Ø¹ÙÙ Ø²Ø± "funnel" Ø§Ø¹ÙÙ Ø§ÙØ¹Ù
+ÙØ¯Ø Ø³ÙÙ ÙØªÙ
+ Ø­Ø«Ù ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø­ÙÙ Ø§ÙÙ
+Ø±ØŽØ­Ø Ø¹ÙØ¯ Ø¥Ø¹Ø¯Ø§Ø¯ Ø§ÙÙ
+Ø±ØŽØ­ ÙØªØºÙØ± ÙÙÙ Ø±Ø§Ø³ Ø§ÙØ¹Ù
+ÙØ¯0</Text>
+<Text id="102">ÙØªÙÙØ± Ø§ÙØ­Ø« ÙÙ Ø²Ø± "ØšØ³ÙØ·" ÙØ²Ø± "Ù
+ØªÙØ¯Ù
+"0 Ø²Ø± ØšØ³ÙØ· ÙØžÙØ± Ø§ÙÙ
+Ø±ØŽØ­Ø§Øª Ø§ÙØªÙ ØªØ­ØªÙÙ Ø¹ÙÙ ÙÙÙ
+ Ù
+Ø­Ø¯Ø¯Ø© ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ( "*" ØªØ¶Ø§ÙÙ  ÙÙ Ø§ÙÙÙÙÙÙ
+) 0 ÙÙ
+ÙÙÙ  Ø§Ø®ØªÙØ§Ø± ÙÙÙ
+ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©0 Ø²Ø± Ù
+ØªÙØ¯Ù
+  ÙØªÙØ­ ÙÙ  Ù
+Ø®ØªÙÙ  Ø¹Ù
+ÙÙØ§Øª Ø§ÙÙ
+Ø¶Ø§ÙØ§Ø© ÙØ§ÙØªÙ ÙØ¬Øš Ø£Ù ØªØšØ¯Ø£ Øš  ÙØ§ ÙØªØ¶Ù
+Ù         Ø Ø£ÙÙ Ù
+Ù  Ø£Ù Ù
+Ø³Ø§Ù0 Ø§ÙÙÙÙ
+ Ø§ÙÙ
+Ø¶Ø§ÙØ§Ø© ÙÙ
+ÙÙ ØªØ¹Ø¯ÙÙÙØ§ ÙØªÙÙÙ Ø§Ù Ø³ÙØ§Ø³Ù Ø£Ø®Ø±Ù  (Ù
+ØªØ¶Ù
+ÙÙ "*") Ø ÙÙÙ
+ÙÙÙ Ø§Ø®ØªÙØ§Ø± Ù
+Ø§ Ø§Ø°Ø§  ÙØ§ÙØª Ø§ÙÙ
+Ø¶Ø§ÙØ§Ø©  Ø­Ø§ÙØ© ØºÙØ±  Ø­Ø³Ø§Ø³Ø©Ø Ø§Ø®ÙØ±Ø§Ù ÙÙ
+ÙÙÙ ØªØ®ØµÙØµ ØŽØ±Ø· Ø«Ø§Ù ÙÙÙ
+Ø¶Ø§ÙØ§Ø© ÙØ§Ø³ØªØ®Ø¯Ø§Ù
+Ù  ØšØªØ­Ø¯ÙØ¯ Ù
+Ø¯Ù Ù
+Ù Ø§ÙÙÙÙ
+ (  ØšØ§Ø®ØªÙØ§Ø± AND) Ø§Ø³ÙÙ ÙØ°Ù Ø§ÙÙ
+Ø³Ø§Ø­Ø© ÙÙØ¬Ø¯ Ù
+Ø±ØšØ¹  ÙØªÙØ­  ØªØºÙØ± ØªØ±ØªÙØš  Ø§ÙÙØ±Ø² (ØªØµØ§Ø¹Ø¯Ù Ø£Ù ØªÙØ§Ø²ÙÙ)0 Ø§Ø¶ØºØ· Ø¹ÙÙ "ØªØ­Ø¯ÙØ¯ Ù
+Ø±ØŽØ­" Ø¹ÙØ¯ Ø§ÙØ§ÙØªÙØ§Ø¡ ÙØªØ·ØšÙÙ Ø§ÙÙ
+Ø±ØŽØ­ Ø§ÙØ¬Ø¯ÙØ¯ Ø¹ÙÙ Ø§ÙØ¹Ù
+ÙØ¯0 Ø§ÙÙØ± "Ø­Ø°Ù Ù
+Ø±ØŽØ­" ÙØ­Ø°Ù Ø§ÙÙ
+Ø±ØŽØ­ Ø§ÙØ­Ø§ÙÙ0 Ù
+Ø¹  Ù
+ÙØ§Ø­ØžØ© Ø§Ù ØªÙØ§ØµÙÙ Ø§ÙÙ
+Ø±ØŽØ­  ÙÙ
+ÙÙ Ø§Ø³ØªØ¹Ø§Ø¯ØªÙØ§ Ø­ØªÙ Ø¹ÙØ¯  Ù
+Ø³Ø­ Ø§ÙÙ
+Ø±ØŽØ­0
+</Text><Text id="103">Ù
+Ø«Ø§ÙØ ÙÙØ±Ø² Ø¬Ø¯ÙÙ "ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª" ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø¹Ù
+ÙØ¯Ø Ø«Ù
+ Ø§Ø®ØªÙØ§Ø± Ø§Ø¹Ø¯Ø§Ø¯ Ø§ÙÙ
+Ø±ØŽØ­ Ø§ÙØ§ÙØªØ±Ø§Ø¶Ù (Ù
+Ø±ØŽØ­ ØšØ³ÙØ· "*") ÙØ§Ø®ØªÙØ§Ø±  Ø§ÙØªØ±ØªÙØš Ø§ÙØªØµØ§Ø¹Ø¯Ù</Text>
+<Text id="103">Ù
+Ø«Ø§ÙØ ÙÙØ±Ø² "ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª"Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø¥Ø¹Ø¯Ø§Ø¯ Ø§ÙØ±ØŽØ­ Ø§ÙØ¥ÙØªØ±Ø§Ø¶Ù(Ù
+Ø±ØŽØ­ ØšØ³ÙØ·"*"), Ù ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§ÙØªØ±ØªÙØš Ø§ÙØªØµØ§Ø¹Ø¯Ù Ø£Ù Ø§ÙØªÙØ§Ø²ÙÙ</Text>
+</Section>
+<Section name="importingpreviouslyassignedmetadata">
+<Title>
+<Text id="104">Ø¥Ø³ØªÙØ±Ø§Ø¯ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© Ø³Ø§ØšÙØ§</Text>
+</Title>
+<Text id="105">ÙØµÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙÙÙÙØ© Ø§Ø³ØªÙØ±Ø§Ø¯ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ÙÙÙ Ø³Ø§ØšÙØ§Ù ÙÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØªÙ ØªÙ
+  ØªØ¹ÙÙÙÙØ§ ÙÙÙØ«Ø§ØŠÙ ÙØšÙ Ø§Ø¶Ø§ÙØªÙØ§ ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©0</Text>
+<Text id="106">Ø¥Ø°Ø§ ÙØ§ÙØª ÙØ§ØµÙØ§Øª  Ø§ÙØšÙØ§ÙØ§Øª ÙÙ ØŽÙÙ Ù
+Ø¹Ø±ÙÙ ÙÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ÙØªÙ
+ ØªØ¹ÙÙÙÙØ§ Ù
+Ù ÙØšÙ ÙÙ
+ÙÙ â Ù
+Ø«Ø§ÙØ Ø¹ÙØ¯Ù
+Ø§  ØªØ®ØªØ§Ø± ÙØ«ÙÙØ© Ù
+Ù Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+ÙØ¬ÙØ¯Ø© ÙÙ ÙØ±ÙÙØ³ØªÙÙ00 ÙØªÙ
+ Ø§Ø³ØªÙØ±Ø§Ø¯ÙØ§ ØªÙÙØ§ØŠÙØ§Ù Ø¹ÙØ¯ Ø§Ø¶Ø§ÙØ© Ø§ÙÙ
+ÙÙ ÙØ¹Ù
+Ù ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡Ø ÙØ¬Øš ØªØ®Ø·ÙØ·ÙØ§  ÙÙÙØ§Ù ÙÙ
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ÙØ¬ÙØ¯Ø© ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0</Text>
+<Text id="107">ÙÙÙÙ
+ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØšØ­Ø«Ù ÙØªÙÙÙØ± Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙÙ
+Ø·ÙÙØšØ©Ø ÙØ¹Ø·ÙÙ Ø§ÙØ­Ø« ØªØ¹ÙÙÙ
+Ø§Øª Ù
+ÙØ¬Ø²Ø©Ø Ø«Ù
+ ÙØžÙØ± ÙÙ Ø§Ø³Ù
+ Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø³ØªÙØ±Ø¯ ÙÙ
+Ø§ ÙÙ ÙÙ Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+ØµØ¯Ø±0 ÙÙØ°Ø§ Ø§ÙØ­ÙÙ ÙØ§ ÙÙ
+ÙÙ ØªØ­Ø¯ÙØ«Ù Ø£Ù ØªØºÙØ±Ù0  ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØ°Ù ØªÙØ¯ ØªØ®Ø·ÙØ· Ø§ÙØ¹ÙØµØ± Ø§ÙØ¬Ø¯ÙØ¯ ØšÙØ ÙÙÙÙ
+ Ø§ÙÙØžØ§Ù
+  ØªÙÙØ§ØŠÙØ§Ù ØšØ§Ø®ØªÙØ§Ø± Ø§ÙØ§ÙØ±Øš ÙÙÙ
+Ø¹ÙØ§Ø± ÙØ§ÙØ¹ÙØµØ± ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØ¬Ø¯ÙØ¯Ø©0</Text>
+<Text id="108">ØšØ¹Ø¯ ÙØ­Øµ Ø§ÙØªØ®Ø·ÙØ·Ø ÙÙÙ
+ÙÙÙ Ø§Ø®ØªÙØ§Ø± "Ø§Ø¶Ø§ÙØ©" ÙØ§Ø¶Ø§ÙØ© Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙ
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø± (ÙØ°Ø§ Ø§ÙØ£Ù
+Ø± Ù
+ØªØ§Ø­ ÙÙØ· Ø¹ÙØ¯Ù
+Ø§ ÙØ§ ÙÙÙÙ ÙÙØ§Ù Ø¹ÙØµØ± ØšÙÙØ³ Ø§ÙØ§Ø³Ù
+ ÙÙ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±) "Ø¯Ù
+Ø¬" ÙØªÙØ­ ÙÙ Ø¯Ù
+Ø¬ Ø§ÙØ¹ÙØµØ± Ø§ÙØ¬Ø¯ÙØ¯ Ù
+Ø¹ ÙØ§Ø­Ø¯ Ù
+Ø®ØªØ§Ø± Ù
+Ù ÙØšÙ Ø§ÙÙ
+Ø³ØªÙÙØ¯0 Ø§Ø®ÙØ±Ø§Ù "ØªØ¬Ø§ÙÙ" ÙØ§ ØªØªÙØ­ ÙÙ Ø§Ø³ØªÙØ±Ø§Ø¯ Ø¹ÙØµØ± Ù
+Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ù
+Ø¹ ÙØ°Ø§ Ø§ÙØ¹ÙØµØ±0 Ø¹ÙØ¯ ØªØ­Ø¯ÙØ¯ ÙÙÙÙØ© Ø§Ø³ØªÙØ±Ø§Ø¯ Ø¹ÙØµØ± ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ù
+Ø¹ ÙØ°Ø§ Ø§ÙØ¹ÙØµØ±Ø Ø¹ÙØ¯ ØªØ­Ø¯ÙØ¯ ÙÙÙÙØ© Ø§Ø³ØªÙØ±Ø§Ø¯ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ØªÙÙÙ ÙØ¯ ÙØ±Ø±Øª ØŽÙÙ Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0</Text>
+<Text id="109">ÙÙÙØ± ÙÙ Ø§ÙÙØµÙ Ø§ÙØ«Ø§ÙÙ Ù
+Ù Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+Ø·ÙØ±ÙÙ ÙÙÙ ØšØ¹ÙÙØ§Ù Ø§ÙØ¬Ø§Ø¯ ØºØ§ÙØš Ù
+Ø­ØªÙÙØ§Øª Ø§ÙÙØ«ÙÙØ© Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø¹Ù Ù
+ÙÙØ§Øª Metadatz.xml0</Text>
+</Section>
+</Section>
+<Section name="designingacollection">
+<Title>
+<Text id="110">ØªÙÙÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©</Text>
+</Title>
+<Text id="111">Ø¹ÙØ¯ ØªÙ
+ÙÙØ² Ø§ÙÙ
+ÙÙØ§Øª ØšÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§ØªØ ÙØ¬Øš Ø£Ù ØªÙØ±Ø± ÙÙÙÙØ© ØªÙ
+ØžÙØ± Ù
+Ø¬Ù
+ÙØ¹Ø© ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+Ø³ØªÙÙØ¯ÙÙØ Ù
+Ø§ÙÙ Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙÙ
+ØªØ§Ø­Ø© ÙÙØšØ­Ø«Ø Ù
+Ø§ÙÙ  Ø·Ø±Ù ØªØµÙØ­ Ø§ÙÙØ«Ø§ØŠÙØ Ù
+Ø§ÙÙ Ø§ÙÙØºØ§Øª Ø§ÙÙ
+Ø¯Ø¹ÙÙ
+Ø©Ø Ø§ÙÙ ØªØ¶Ø¹ Ø§Ø²Ø±Ø§Ø± Ø§ÙØµÙØ­Ø©Ø ÙÙ ÙØ°Ù Ø§ÙØ§ØŽÙØ§Ø¡ ÙÙ
+ÙÙ ØªØŽÙÙÙÙØ§0 ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙØµÙ ÙÙ ÙÙÙ ØªÙØ¹Ù ÙØ°Ø§0</Text>
+<Section name="thedesignview">
+<Title>
+<Text id="112">Ù
+ØŽÙØ¯ Ø§ÙØªØµÙ
+ÙÙ
+</Text>
+</Title>
+<Text id="113">ÙØ¹Ø±ÙÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ØšÙ
+ØŽÙØ¯ Ø§ÙØªØµÙ
+ÙÙ
+ ÙÙØŽØ±Ø­ ÙÙ ÙÙÙÙØ© Ø§ÙØªØ¬ÙØ§Ù ØšÙÙ Ù
+Ø®ØªÙÙ Ø§ÙÙ
+ØŽØ§ÙØ¯ Ø¶Ù
+Ù ÙØ°Ù Ø§ÙÙØ§ØŠÙ
+Ø©0</Text>
+<Text id="114">ØšÙØ§Ø³Ø·Ø© ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙØ ÙÙ
+ÙÙÙ  ØªÙÙÙÙ  ÙÙÙÙØ© Ù
+Ø¹Ø§ÙØ¬Ø© Ø§ÙÙØ«Ø§ØŠÙ ÙÙÙÙÙØ© Ø§ØªØ§Ø­Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙ
+Ø³ØªÙÙØ¯ Ø Ø®ÙØ§Ø±Ø§Øª Ø§ÙØªÙÙÙÙ Ù
+ÙØ³Ù
+Ø© Ø¥ÙÙ Ø£ÙØ³Ø§Ù
+ Ù
+Ø®ØªÙÙØ©  ÙÙ Ù
+ÙÙØ§ ÙØªØ¹ÙÙ ØšÙ
+Ø±Ø­ÙØ© Ù
+Ø¹ÙÙØ© Ù
+Ù ØªÙØ¶ÙØš Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0</Text>
+<Text id="115">ÙØ³Ø§Ø±Ø§Ù ØªÙØ¬Ø¯ ÙØ§ØŠÙ
+Ø© ØšÙ
+Ø®ØªÙÙ Ø§ÙÙ
+ØŽØ§ÙØ¯0 ØªÙØ¬Ø¯ ÙÙ
+ÙÙØ§Ù Ø¶ÙØ§ØšØ· Ø§ÙØªØ­ÙÙ
+ Ø§ÙÙ
+ØªØ¹ÙÙØ© ØšØ§ÙÙ
+ØŽÙØ¯ Ø§ÙØ¬Ø§Ø±Ù0 ÙØªØºÙÙØ± ÙØ§Ø­Ø¯  Ø§ÙÙØ± Ø¹ÙÙ Ø§Ø³Ù
+ ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø©0</Text>
+<Text id="116">ÙÙÙÙ
+ Ù
+ØµØ·ÙØ­Ø§Øª ÙÙ
+Ø±Ø§Ø­Ù ØªØµÙ
+ÙÙ
+ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 Ø§ÙØ±Ø£ Ø§ÙÙØµÙÙÙ Ø§ÙØ£ÙÙ ÙØ§ÙØ«Ø§ÙÙ Ù
+Ù Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+Ø·ÙØ±ÙÙ0</Text>
+</Section>
+<Section name="plugins">
+<Title>
+<Text id="121">Ù
+ÙØ§ØšØ³ Ø§ÙÙØ«ÙÙØ©</Text>
+</Title>
+<Text id="122">ÙØµÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙÙÙÙØ© Ø¥Ø¹Ø¯Ø§Ø¯ Ù
+ÙØ§ØšØ³ Ø§ÙÙØ«ÙÙØ© Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+Ø© ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 ÙØŽØ±Ø­ ÙÙ ÙÙÙ ØªØ­Ø¯Ø¯ Ø§ÙÙ
+ÙØ§ØšØ³ ÙÙØ§Ø³ØªØ®Ø¯Ø§Ù
+Ø ÙÙ
+Ø§ÙÙ Ø§ÙÙ
+Ø€ØŽØ±Ø§Øª Ø§ÙØªÙ ØªÙ
+Ø±Ø± ÙÙØ§ ÙÙ
+Ø§ ÙÙ Ø§ÙØªØ±ØªÙØš Ø§ÙØ°Ù ØªØªØ®Ø°ÙØ ØªØ­Øª tab "ØªØµÙ
+ÙÙ
+"Ø Ø§ÙÙØ± "Ù
+ÙØ§ØšØ³ ÙØ«ÙÙØ©"0</Text>
+<Text id="123">ÙØ§Ø¶Ø§ÙØ© Ù
+ÙØ§ØšØ³ Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù ØšØ§Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© "Ø§Ø®ØªÙØ§Ø± Ù
+ÙØ§ØšØ³ ÙÙØ§Ø¶Ø§ÙØ©" Ø§ÙÙØ±ÙØšØ© Ù
+Ù Ø§ÙØ£Ø³ÙÙØ Ø«Ù
+ Ø§ÙØžØ± "Ø§Ø¶Ø§ÙØ© Ù
+ÙØ§ØšØ³" ØªØžÙØ± ÙÙ ÙØ§ÙØ°Ø© ØšØ¹ÙÙØ§Ù "Ù
+Ø¶Ø§Ù
+ÙÙ Ø§ÙØªØ¬ÙÙØ²" ÙÙÙ Ù
+ÙØµÙÙÙ ÙÙÙ
+Ø§ ØšØ¹Ø¯0 Ø¹ÙØ¯ ØªØ¬ÙÙØ² Ø§ÙÙ
+ÙØ§ØšØ³ Ø§ÙØ¬Ø¯ÙØ¯Ø ØªØªÙ
+ Ø§Ø¶Ø§ÙØªÙ ÙÙ Ù
+Ø€Ø®Ø±Ø© ÙØ§ØŠÙ
+Ø© "Ø§ÙÙ
+ÙØ§ØšØ³ Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© Ø­Ø§ÙÙØ§Ù0 ØªØ¬Øš Ù
+ÙØ§Ø­ØžØ©Ø Ø§ÙÙ ØšØ§Ø³ØªØ«ÙØ§Ø¡ Ù
+ÙØ§ØšØ³ UnknownPluq ÙØ¬Øš Ø£Ù ÙØŽØºÙ Ø£Ù Ù
+ÙØ§ØšØ³ Ø§Ø®Ø± Ø­ÙØ²Ø§Ù ÙØ§Ø­Ø¯Ø§Ù ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø©0</Text>
+<Text id="123aa">ÙØ±Ø€ÙØ© ÙØµÙ ÙØµÙØ± ÙÙ
+ÙØ§ØšØ³Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© "Ø§Ø®ØªÙØ§Ø± Ù
+ÙØ§ØšØ³ ÙÙØ§Ø¶Ø§ÙØ©" Ø«Ù
+ Ø­ÙÙ ØšÙ
+Ø€ØŽØ± Ø§ÙÙØ£Ø±Ø© ÙÙÙÙ0 ÙØžÙØ± ÙÙ Ù
+Ø±ØšØ¹ ÙØµ ÙØ¹Ø±Ø¶ Ø§ÙÙØµÙ0
+124- ÙØ§Ø²Ø§Ø­Ø© Ù
+ÙØ§ØšØ³Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù  Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©Ø ÙØ§ÙÙØ± "Ø­Ø°Ù Ù
+ÙØ§ØšØ³"0</Text>
+<Text id="124">ÙØ§Ø²Ø§Ø­Ø© Ù
+ÙØ§ØšØ³Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù  Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©Ø ÙØ§ÙÙØ± "Ø­Ø°Ù Ù
+ÙØ§ØšØ³"0</Text>
+<Text id="125">ÙØªÙ
+ ØªØ¬ÙÙØ² Ø§ÙÙ
+ÙØ§ØšØ³ ØšØªÙÙÙØ± Ø§ÙÙ
+Ø¶Ø§Ù
+ÙÙ0 ÙØ­Ø« Ù
+ÙØ§ØšØ³Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ù
+ÙØ§ØšØ³ Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©Ø ÙØ§ÙÙØ± "ØªØ¬ÙÙØ² Ù
+ÙØ§ØšØ³" (Ø§Ù ÙÙØ±Ø© Ù
+Ø²Ø¯ÙØ¬Ø© ÙÙÙ
+ÙØ§ØšØ³" ÙØžÙØ± Ù
+Ø±ØšØ¹ Ø­ÙØ§Ø± "ØªØ¬ÙÙØ² Ù
+Ø¶Ø§Ù
+ÙÙ" ÙØ¶ØšØ· ØªØ­Ø¯ÙØ¯ Ø§ÙÙ
+Ø¶Ø§Ù
+ÙÙ0</Text>
+<Text id="126">ØªÙØ¬Ø¯ Ø£ÙÙØ§Ø¹ Ù
+Ø®ØªÙÙØ© ÙÙØ¶ØšØ·Ø ØšØ¹Ø¶ÙØ§ Ù
+Ø±ØšØ¹Ø§Øª ÙØ­Øµ ÙØ§ÙÙÙØ± Ø¹ÙÙÙØ§ ÙØ¶ÙÙ Ø§ÙØ®ÙØ§Ø± Ø§ÙÙ
+ÙØ§ØŠÙ
+ ÙÙÙ
+ÙØ§ØšØ³0 Ø§ÙØ§ÙÙØ¹ Ø§ÙØ§Ø®Ø±Ù Ø³ÙØ§Ø³Ù ÙØµØšÙ ØšÙ
+Ø±ØšØ¹Ø§Øª ÙØ­Øµ Ø£Ù Ø­ÙÙ ÙØµÙ0 ÙÙ
+ ØšØªØ£ØŽÙØ± Ø§ÙÙ
+Ø±ØšØ¹ ÙØªÙØŽÙØ· Ø§ÙÙ
+Ø¶Ù
+ÙÙ Ø«Ù
+ Ø£Ø·ØšØ¹ Ø§ÙÙØµ Ø§ÙÙ
+ÙØ§ØŠÙ
+ (ØªØ¹ØšÙØ± Ù
+ÙØªØžÙ
+Ø Ù
+Ø³Ø§Ø± Ù
+ÙÙ00) ÙÙ Ø§ÙÙ
+Ø±ØšØ¹0 ØªØŽÙ
+Ù ØšÙÙØ© Ø§ÙØ§ÙÙØ§Ø¹ Ø§ÙØ¶Ø§Ù ÙÙØ§ØŠÙ
+ Ù
+ÙØ³Ø¯ÙØ© ØªØªÙØ­ ÙÙ Ø§ÙØ§Ø®ØªÙØ§Ø±Ø ÙÙ
+Ø¹Ø±ÙØ© Ù
+Ø§ ÙÙ
+ÙÙ Ø§Ù ÙÙØ¹ÙÙ Ø§ÙÙ
+Ø¶Ù
+ÙÙØ Ø§Ø¬Ø¹Ù Ù
+Ø€ØŽØ± Ø§ÙÙØ£Ø±Ø© ÙÙÙ Ø§ÙØ§Ø³Ù
+ ÙØšØ±ÙØ© ÙØžÙØ± ÙÙ Ø§ÙÙØµÙ0</Text>
+<Text id="127">Ø¥Ø°Ø§ ØºÙØ±Øª Ø§ÙØªØ¬ÙÙØ²Ø Ø§ÙÙØ± "OK" ÙØªØ£ÙÙØ¯ Ø§ÙØªØºÙÙØ±Ø§Øª ÙØ§ØºÙÙ Ù
+Ø±ØšØ¹ Ø§ÙØ­ÙØ§Ø± . Ø§Ù "Ø¥ÙØºØ§Ø¡" ÙØ§ØºÙØ§Ù Ù
+Ø±ØšØ¹ Ø§ÙØ­ÙØ§Ø± ØšØ¯ÙÙ ØªØºÙÙØ± Ù
+Ø¶Ø§Ù
+ÙÙ Ø§ÙÙ
+ÙØ§ØšØ³0</Text>
+<Text id="128">ÙØªÙ
+ ØªÙÙÙØ° Ø§ÙÙ
+ÙØ§ØšØ³ ØšØ§ÙØªØ±ØªÙØšØ ÙÙÙÙÙ Ø§ÙØªØ±ØªÙØš Ø§Ø­ÙØ§ÙØ§Ù Ù
+ÙÙ
+0 ÙÙ
+ÙÙ ØªØ±ØªÙØš Ø§ÙÙ
+ÙØ§ØšØ³ ÙÙ Ø³ÙØ§Ù Ø§Ø®ØªØµØ§ØµÙ ÙØžÙ
+ Ù
+ÙØªØšØ§Øª ÙØ³ÙØ§Ù Ø®ØšÙØ± (see <Reference target="preferences"/>).    </Text>
+</Section>
+<Section name="searchindexes">
+<Title>
+<Text id="134">ÙØŽØ§ÙØ§Øª Ø§ÙØšØ­Ø«</Text>
+</Title>
+<Text id="si-1">ØªØ­Ø¯Ø¯ Ø§ÙÙØŽØ§ÙØ§Øª Ù
+Ø§ÙÙ Ø£Ø¬Ø²Ø§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙØ§ØšÙØ© ÙÙØšØ­Ø«0 ÙØŽØ±Ø­  ÙÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙÙÙÙØ© Ø§Ø¶Ø§ÙØ© ÙØ­Ø°Ù ÙØªØ¹ÙÙÙ ÙØŽØ§Ù Ø§ÙØªØ±Ø§Ø¶Ù ØªØ­Øª <AutoText key="glidict::GUI.Design"/> tab, click <AutoText key="glidict::CDM.GUI.Indexes"/>.</Text>
+<Text id="si-2">ÙÙ Ø§ÙØ¬Ø²Ø¡ Ø§ÙØ£ÙÙ
+Ù  Ø§Ø¹ÙÙ ÙØ§ÙØªÙ <AutoText key="glidict::CDM.GUI.Indexes"/> ØªØ¹Ø±Ø¶ Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø­ÙÙ Ø§ÙÙ
+ÙØŽÙ Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ Ø­Ø§ÙÙØ§Ù ØšÙØ§Ø³Ø·Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 ÙÙ
+ÙÙ ØªØºÙÙØ± ÙØ°Ø§ ØšÙÙØ±<AutoText key="glidict::CDM.BuildTypeManager.Change"/>. ØªØžÙØ± ÙÙ ÙØ§ÙØ°Ø© ØªØªØ¶Ù
+Ù ÙØ§ØŠÙ
+Ø© Ù
+Ù Ø§ÙØ®ÙØ§Ø±Ø§Øª Lucene, MGPP, MG Ø§ÙØªØºÙÙØ± ÙÙØ§ ÙØ€Ø«Ø± ÙÙ ÙÙÙÙØ© ØšÙØ§Ø¡ Ø§ÙÙØŽØ§ÙØ§Øª ÙÙØžÙÙÙØ© Ø§ÙØšØ­Ø«0</Text>
+<Text id="si-2a">ØªØžÙØ± ÙÙ ÙØ§ØŠÙ
+Ø© <AutoText key="glidict::CDM.IndexManager.Indexes"/> Ø§ÙÙØŽØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0</Text>
+<Text id="si-3">ÙØ§Ø¶Ø§ÙØ© ÙØŽØ§ÙØ Ø§ÙÙØ± <AutoText key="glidict::CDM.IndexManager.New_Index"/>.... ØªØžÙØ± ÙÙ ÙØ§ØŠÙ
+Ø© ØšØ§ÙÙ
+ØµØ§Ø¯Ø± Ø§ÙØªÙ ØªØªØ¶Ù
+Ù ÙØµ  ÙÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§Ù Ø§ÙÙ
+ØµØ§Ø¯Ø± Ø§ÙØªÙ ØªÙØ¯ ØªÙØŽÙÙÙØ§0  Ø²Ø± <AutoText key="glidict::CDM.IndexManager.Select_All"/> and <AutoText key="glidict::CDM.IndexManager.Select_None"/> ÙÙÙÙ
+Ø§Ù ØšØªØ£ØŽÙØ± Ø£Ù ÙÙØµ ØªØ§ØŽÙØ± ÙÙ Ø§ÙØ¹ÙØ§ØµØ± ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø©0 Ø¹ÙØ¯  ØªØ¹Ø±ÙÙ  Ø§ÙÙØŽØ§ÙØ§ØªØ Ø£ÙÙØ± <AutoText key="glidict::CDM.IndexManager.Add_Index"/>ÙØ§Ø¶Ø§ÙØªÙØ§ Ø¥ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0  ØªØµØšØ­ <AutoText key="glidict::CDM.IndexManager.Add_Index"/> ÙØŽØ·Ø© ÙÙØ· ÙÙ Ø­Ø§ÙØ©  Ø§Ù Ø§ÙØ¥Ø¹Ø¯Ø§Ø¯ ÙØµÙ ÙØŽØ§Ù Ø¬Ø¯ÙØ¯ ÙÙ
+ ÙØ¹ÙÙ Ù
+Ù ÙØšÙ ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© </Text>
+<Text id="s1-3a">ØšØ§ÙÙØ³ØšÙ ÙÙØŽØ§ÙØ§Øª  MG ØªØ­ØªØ§Ø¬ Ø£ÙØ¶Ø§Ù ÙØ§Ø®ØªÙØ§Ø± qranularity Ø§ÙÙØŽØ§Ù Ù
+Ø³ØªØ®Ø¯Ù
+Ø§Ù ÙØ§ØŠÙ
+Ø© <AutoText key="glidict::CDM.IndexManager.Level"/> . </Text>
+<Text id="si-4">ØšØ§ÙÙØ³ØšØ© ÙÙØŽØ§ÙØ§Øª MGPP, Lucene
+Ø§ÙÙ
+Ø³ØªÙÙØ§Øª  Ø§ÙÙ
+Ø­ØªÙ
+ÙØ©  ØªØ¹Ø±Ø¶ ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙØ±ØŠÙØ³ÙØ© <AutoText key="glidict::CDM.GUI.Indexes"/> ÙÙÙ
+ÙÙ Ø§Ø¶Ø§ÙØªÙØ§ ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšØªØ£ØŽÙØ± Ù
+Ø±ØšØ¹Ø§Øª Ø§ÙÙØ­Øµ0</Text>
+<Text id="si-5">ÙÙØ¬Ø¯  ÙØŽØ§Ù Ø®Ø§Øµ Øš Lucene, MGPP ÙÙÙ ÙØŽØ§Ù allhelds" ÙØªÙØ­ Ø§ÙØšØ­Ø« ÙÙ Ø§ÙÙØŽØ§ÙØ§Øª ØšØ¯ÙÙ Ø§ÙØ­ÙØ¬Ù ÙØªØ­Ø¯ÙØ¯ ÙØŽØ§Ù Ù
+ÙÙØµÙ ÙØ­ØªÙÙ ÙÙ Ø§ÙÙ
+ØµØ§Ø¯Ø±0 ÙØ§Ø¶Ø§ÙØ© ÙØ°Ø§ Ø§ÙÙØŽØ§Ù Ø Ø£ÙØ­Øµ <AutoText key="glidict::CDM.IndexManager.Allfields_Index"/>  ÙÙÙ
+  ØšØªØ£ØŽÙØ±Ù  Ø§ÙÙ
+Ø±ØšØ¹ ÙØ§ÙÙØ± <AutoText key="glidict::CDM.IndexManager.Add_Index"/>.</Text>
+<Text id="si-6">ØšØ§ÙÙØ³ØšØ© ÙÙØŽØ§ÙØ§Øª MGPP,Luane Ø ÙØªÙÙØ± Ø²Ø± <AutoText key="glidict::CDM.IndexManager.Add_All"/> ÙÙ
+Ø®ØªØµØ± ÙØ§Ø¶Ø§ÙØ© ÙÙ ÙØ§ØµÙØ§Øª  Ø§ÙØšÙØ§ÙØ§Øª ÙØ§ÙÙØµ ÙÙØŽØ§ÙØ§Øª ÙØ±Ø¯ÙØ©</Text>
+<Text id="si-7">ÙØªØ¹Ø¯ÙÙ  ÙØŽØ§ÙØ  ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù ÙØ§ÙÙØ± <AutoText key="glidict::CDM.IndexManager.Edit_Index"/>.  ÙØªÙÙØ± Ù
+Ø±ØšØ¹ Ø­ÙØ§Ø± ÙØ±Ø¯Ù Ø¥ÙÙ <AutoText key="glidict::CDM.IndexManager.New_Index"/> one is shown. </Text>
+<Text id="si-8">ÙØ­Ø°Ù  ÙØŽØ§ÙØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù ÙØ§ØŠÙ
+Ø© Ø§ÙÙØŽØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ù Ù Ø£ÙÙØ± <AutoText key="glidict::CDM.IndexManager.Remove_Index"/>.</Text>
+<Text id="si-9">ØªØ±ØªÙØš Ø§ÙÙØŽØ§ÙØ§Øª ÙÙ ÙØ§ØŠÙ
+Ø© Ø§ÙÙØŽØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©Ø ÙÙ ÙÙØ³ Ø§ÙØªØ±ØªÙØš Ø§ÙÙ
+ØªØšØ¹ ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙÙ ØµÙØ­Ø© Ø§ÙØšØ­Ø«0 Ø§Ø³ØªØ®Ø¯Ù
+ <AutoText key="glidict::CDM.Move.Move_Up"/> and <AutoText key="glidict::CDM.Move.Move_Down"/> ÙØªØºÙÙØ± ÙØ°Ø§ Ø§ÙØªØ±ØªÙØš0</Text>
+<Text id="si-10">Ø§ÙÙØŽØ§Ù Ø§ÙØ°Ù ØªÙ
+ Ø§Ø®ØªÙØ§Ø±Ù ÙØ§ÙØªØ±Ø§Ø¶Ù ÙÙ ØµÙØ­Ø© Ø§ÙØšØ­Ø« ÙØ³Ù
+Ù "Ø§ÙÙØŽØ§Ù  Ø§ÙØ§ÙØªØ±Ø§Ø¶Ù" ÙØªÙ
+  ØªÙ
+ÙØ² Ø§ÙÙØŽØ§Ù  Ø§ÙØ§ÙØªØ±Ø§Ø¶Ù Øš "(ÙØŽØ§Ù Ø§ÙØªØ±Ø§Ø¶Ù" ÙÙ ÙØ§ØŠÙ
+Ø© "Ø§ÙÙØŽØ§ÙØ§Øª  Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©"0 Ø§Ø°Ø§ ÙÙ
+ ÙØªÙ
+  ØªØ¹ÙÙÙ ÙØŽØ§Ù Ø§ÙØªØ±Ø§Ø¶Ù ÙØ§Ù Ø§ÙÙØŽØ§Ù Ø§ÙØ£ÙÙ ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© ÙØªÙ
+ Ø§Ø³ØªØ®Ø¯Ø§Ù
+Ù ÙÙØŽØ§Ù Ø§ÙØªØ±Ø§Ø¶Ù0</Text>
+<Text id="si-11">Ø§ÙØ§Ø³Ù
+Ø§Ø¡ Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+Ø© ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙÙÙØŽØ§ÙØ§Øª ÙÙ ØµÙØ­Ø© Ø§ÙØšØ­Ø« ÙÙ
+ÙÙ Ø§Ø¹Ø¯Ø§Ø¯ÙØ§ ÙÙ <AutoText key="glidict::CDM.GUI.SearchMetadata"/> Ø¬Ø²Ø¡Ø§Ù Ù
+Ù ÙØ§ÙØªÙ <AutoText key="glidict::GUI.Format"/>  (see <Reference target="searchmetadatasettings"/>).</Text>
+<Section name="searchindexoptions">
+<Title>
+<Text id="sio-1">Ø®ÙØ§Ø±Ø§Øª ÙØŽØ§Ù Ø§ÙØšØ­Ø«</Text>
+</Title>
+<Text id="sio-2">ÙÙØ§Ù ØšØ¹Ø¶ Ø§ÙØ®ÙØ§Ø±Ø§Øª Ø§ÙØ¥Ø¶Ø§ÙÙØ© ÙÙØ³ÙØ·Ø±Ø© Ø¹ÙÙ Ø§ÙØ·Ø±ÙÙØ© Ø§ÙØªÙ ØªØšÙÙ ØšÙØ§ Ø§ÙÙØŽØ§ÙØ§Øª Ø ÙÙÙ ÙØ¯ ÙØ§ ØªØªÙÙØ± ÙÙØŽØ§Ù Ù
+Ø¹ÙÙ Ø ÙÙÙ ÙØ°Ù Ø§ÙØ­Ø§ÙØ© ØªÙÙÙ Ø±Ù
+Ø§Ø¯ÙØ© Ø§ÙÙÙÙ. </Text>
+<Text id="sio-3">ÙÙ
+ÙÙ ØªÙØŽÙØ· Ø§Ù Ø¥ØšØ·Ø§Ù ØªÙØŽÙØ· Ø­Ø§ÙØ© Ø§ÙØ­Ø³Ø§Ø³ÙØ© Ù ØªØ¬Ø§ÙÙ ÙÙØ§ÙØ§Øª Ø§ÙÙÙÙ
+Ø§Øª ÙÙØŽØ§ÙØ§Øª  MG Ù MGPP  .Ø¥Ø°Ø§ ØªÙ
+ Ø§ÙØªÙØŽÙØ· Ø³ÙÙ ÙØªÙ
+ Ø¥ÙØŽØ§Ø¡ ÙØŽØ§ÙØ§Øª Ø­Ø§ÙØ© Ø§ÙØ­Ø³Ø§Ø³ÙØ© Ù ØªØ¬Ø§ÙÙ ÙÙØ§ÙØ§Øª Ø§ÙÙÙÙ
+Ø§Øª Ù Ø³ÙÙ ÙØªÙÙØ± ÙÙÙ
+Ø³ØªØ®Ø¯Ù
+  Ø®ÙØ§Ø± ÙÙØšØ­Ø« ØšØ­Ø§ÙØ© Ø§ÙØ­Ø³Ø§Ø³ÙØ© Ù ØªØ¬Ø§ÙÙ ÙÙØ§ÙØ§Øª Ø§ÙÙÙÙ
+Ø§Øª Ø£Ù Ø¹Ø¯Ù
+Ù .Ø¥Ø°Ø§ Ø£ÙÙÙ Ø§ÙØªÙØŽÙØ· Ø ÙØ§Ù Ø§ÙØšØ­Ø« Ø³ÙÙ ÙÙÙÙ Ù
+Ø­Ø¯Ø¯Ø§ ØšØ­Ø§ÙØ© Ø§ÙØ­Ø³Ø§Ø³ÙØ©Ø Ù ÙÙ ÙØ°Ù Ø§ÙØ­Ø§ÙØ© ÙÙ ØªØ¹Ø±Ø¶ Ø§ÙØ®ÙØ§Ø±Ø§Øª ÙÙ ØµÙØ­Ø© ØªÙØ¶ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©. </Text>
+<Text id="sio-4">ØªØªÙÙØ± Ø­Ø§ÙØ© Ø§ÙØ­Ø±ÙÙ ÙÙØŽØ§ÙØ§Øª MGPP .Ø·Ø±ÙÙØ© Ø¹Ù
+ÙÙØ§ ØªØŽØ§ØšÙ Ø·Ø±ÙÙØ© ÙÙØ§ÙØ© Ø§ÙÙÙÙ
+Ø§ØªØ Ù ÙÙÙ ØšØ¯ÙØ§ Ù
+Ù ØªØ·Ø§ØšÙ Ø§ÙØ­Ø±ÙÙ Ø§ÙÙØšÙØ±Ø© Ù Ø§ÙØµØºÙØ±Ø© Ø ÙØ§Ù Ø§ÙØ­Ø±ÙÙ Ø°Ø§Øª Ø§ÙÙØšØ± ØªØ·Ø§ØšÙ Ø§ÙØ­Ø±ÙÙ Ø§ÙØªÙ ÙÙØ³ Ø¹ÙÙÙØ§ ÙØšØ±. ÙØªÙÙØ± ÙØŽØ§Ù  Lucene Ø¯Ø§ØŠÙ
+Ø§ ØšØ­Ø§ÙØ© Ø§ÙØ­Ø±ÙÙ Ø Ù ÙÙ ØªØªÙÙØ± Ø£Ù Ø®ÙØ§Ø±Ø§Øª ÙÙ ØµÙØ­Ø© ØªÙØ¶ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙ
+Ø³ØªØ®Ø¯Ù
+.</Text>
+<Text id="sio-5">"Ø§ÙÙØµÙØµ ØšØ§ÙÙØºØ§Øª Ø§ÙØµÙÙÙØ© ÙØ§ÙÙØ§ØšØ§ÙÙØ© ÙØ§ÙÙÙØ±ÙØ© ØºØ§ÙØšØ§ Ù
+Ø§ ØªÙÙÙ ØºÙØ± Ù
+Ø¬Ø²Ø£Ø© Ø¥ÙÙ ÙÙÙ
+Ø§Øª ÙØ±Ø¯ÙØ©Ø Ù ÙÙ
+Ø§ ÙÙ Ù
+Ø¹ÙÙÙ
+ ØÙØ¹ØªÙ
+Ø¯ Ø§ÙØªÙØŽÙÙ Ø¹ÙÙ Ø§ÙÙÙÙ
+Ø§Øª Ø§ÙÙØ±Ø¯ÙØ© ÙØ°ÙÙ ÙØ§Ù Ø¥Ø¹Ø¯Ø§Ø¯ Ø§ÙØ®ÙØ§Ø± <AutoText key="glidict::CDM.IndexingManager.Separate_cjk"/> ÙÙØ¶Ø¹ ÙØ§ØµÙ ØšÙÙ Ù
+ÙØ±Ø¯Ø§Øª Ø§ÙÙØºØ§Øª Ø§ÙÙÙØ±ÙØ©/Ø§ÙÙØ§ØšØ§ÙÙØ©/ Ø§ÙØµÙÙÙØ© Ø³ÙÙ ÙØªÙØ­ ÙØ°Ù Ø§ÙÙ
+ÙØ±Ø¯Ø§Øª ÙÙØšØ­Ø«. "</Text>
+</Section>
+</Section>
+<Section name="partitionindexes">
+<Title>
+<Text id="143">ÙØŽØ§ÙØ§Øª Ø§ÙÙØ·Ø§Ø¹</Text>
+</Title>
+<Text id="144">ÙØªÙ
+ ØšÙØ§Ø¡ Ø§ÙÙØŽØ§ÙØ§Øª Ø¹ÙÙ ÙØµ Ù
+Ø¹ÙÙ Ø£Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª0 ÙÙ
+ÙÙ Ø¶ØšØ· Ù
+Ø³Ø§Ø­Ø© Ø§ÙØšØ­Ø« ÙØªÙØ³ÙÙ
+ Ø§ÙÙØŽØ§ÙØ§Øª Ø¥ÙÙ ÙØ·Ø§Ø¹Ø§ØªØ Ø£Ù
+Ø§ ØšØ§ÙÙØºØ© Ø£Ù Ù
+Ø±ØŽØ­ Ù
+Ø­Ø¯Ø¯ Ù
+Ù ÙØšÙ0 ÙØµÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙÙÙÙØ© Ø¥ÙØ¬Ø§Ø² ÙØ°Ø§0 ØªØ­Ø« "ØªØµÙ
+ÙÙ
+" Ø§ÙÙØ± "ÙØŽØ§ÙØ§Øª Ø§ÙÙØ·Ø§Ø¹"0</Text>
+<Text id="145">ÙÙØ¬Ø¯ ÙÙ Ù
+ØŽÙØ¯ "ÙØŽØ§ÙØ§Øª Ø§ÙÙØ·Ø§Ø¹" Ø«ÙØ§Ø« tabs "ØªØ¹Ø±ÙÙ Ù
+Ø±ØŽØ­Ø§Øª"Ø Ù"ØªØ¹ÙÙ ÙØ·Ø§Ø¹Ø§Øª" Ù "ØªØ¹ÙÙÙ ÙØºØ§Øª" ÙÙ
+Ø¹Ø±ÙØ© Ø§ÙÙ
+Ø²ÙØ¯ Ø¹Ù Ø§ÙÙØ·Ø§Ø¹Ø§Øª Ø§ÙØ±Ø£  Ø­ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙØ±Ø¹ÙÙ ÙØ§ÙÙØŽØ§ÙØ§Øª Ø§ÙÙØ±Ø¹ÙØ© ÙÙ Ø§ÙÙØµÙ 2 Ù
+Ù Ø¯ÙÙÙ ÙØ±ÙØ³ØªÙÙ ÙÙÙ
+Ø·ÙØ±ÙÙ0</Text>
+<Text id="146">ÙØªÙ
+ ØªÙØŽÙØ· ØŽØ§ØŽØ© ÙØŽØ§ÙØ§Øª Ø§ÙØ·Ø§Ø¹ ÙÙ Ø³ÙØ§Ù Ø§Ø®ØªØµØ§ØµÙ ÙØžÙ
+ Ù
+ÙØªØšØ§Øª ÙØ³ÙØ§Ù Ø®ØšÙØ± (see <Reference target="preferences"/>). ÙØ§Ø­Øž Ø§ÙÙ ØšØ§ÙÙØ³ØšÙ  ÙÙ
+Ø¬Ù
+ÙØ¹Ù  MG ÙØ§Ù Ø§ÙØ¹Ø¯Ø¯ Ø§ÙÙÙÙ Ø§ÙØ°Ù ÙØªÙ
+ ØªÙÙÙØ¯Ù  Ù
+Ù Ù
+Ø²ÙØ¬  ÙÙ Ø§ÙÙØŽØ§ÙØ§ØªØ  Ù
+Ø±ØŽØ­Ø§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙØ±Ø¹ÙØ© ÙØ§ÙÙØºØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©0 ÙØŽØ§ÙÙÙ ØšÙ
+Ø±ØŽØ­Ø§Øª  Ù
+Ø¬Ù
+ÙØ¹ØªÙÙ ÙØ±Ø¹ÙØªÙÙ   ØšÙØºØªÙÙ ÙÙØªØ¬ ÙØŽØ§Ù ØšØ«Ù
+Ø§ÙÙØ© ÙØ·Ø§Ø¹Ø§Øª0 ØšØ§ÙÙØ³ØšØ© Ù MGPP Ø ØªÙØŽØŠ ÙÙ Ø§ÙÙØŽØ§ÙØ§Øª ÙÙ ÙØŽØ§Ù ÙØ§Ø­Ø¯ ÙÙØ· ÙÙØ°Ø§ ÙØ¹ÙÙ ÙØŽØ§Ù  ØšØ§Ø±ØšØ¹Ù ÙØ·Ø§Ø¹Ø§Øª- ØšØ§ÙÙØ³ØšØ© ÙÙ Lucene ÙØªØ­Ø¯Ø¯ Ø¹Ø¯Ø¯  Ø§ÙÙØŽØ§ÙØ§Øª Ø§ÙÙ
+Ø§Ø¯ÙÙ ØšØ¹Ø¯Ø¯ Ø§ÙÙ
+Ø³ØªÙÙØ§Øª Ø§ÙÙ
+Ø¹ÙÙÙ ÙÙÙ
+Ø¬Ù
+ÙØ¹ÙØ ÙÙÙ ÙØŽØ§Ù ÙØ§Ø­Ø¯ ÙÙÙ Ù
+Ø³ØªÙÙ0  ÙÙÙØ§Ù ÙÙÙØ¶Ø¹ Ø£Ø¹ÙØ§ÙØ ÙØ§Ù Ù
+Ø³ØªÙÙ ÙØ§Ø­Ø¯ ÙÙØªØ¬ Ø£Ø±ØšØ¹Ø© ÙØŽØ§ÙØ§Øª Ù
+Ø§Ø¯ÙÙ ØšÙÙÙ
+Ø§ Ù
+Ø³ØªÙÙÙ Ø³ÙÙ ÙÙØªØ¬Ø§Ù Ø«Ù
+Ø§ÙÙØ©0</Text>
+<Section name="definefilters">
+<Title>
+<Text id="147">ØªØ¹Ø±ÙÙ Ù
+Ø±ØŽØ­Ø§Øª</Text>
+</Title>
+<Text id="148">ØªØ³Ù
+Ø­ ÙÙ Ø§ÙÙ
+Ø±ØŽØ­Ø§Øª ØšØªØ¬Ù
+ÙØ¹ ÙÙ Ø§ÙÙØ«Ø§ØŠÙ ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© ÙØ±Ø¹ÙØ© ÙÙ ÙØŽØ§Ù ÙØªØ¶Ù
+Ù ÙÙÙ
+Ø©  ÙØ§ØµÙÙ ØšÙØ§ÙØ§Øª ØªØ¶Ø§ÙÙ  ÙÙ
+Ø· Ù
+Ø¹Ø·Ù0</Text>
+<Text id="149">ÙØ§ÙØŽØ§Ø¡ Ù
+Ø±ØŽØ­Ø Ø§ÙÙØ± tab "ØªØ¹Ø±ÙÙ Ù
+Ø±ØŽØ­" ÙØ£Ø¯Ø®Ù Ø§Ø³Ù
+ Ø§ÙÙ
+Ø±ØŽØ­ Ø§ÙØ¬Ø¯ÙØ¯ ÙÙ Ø­ÙÙ "Ø§Ø³Ù
+ Ù
+Ø±ØŽØ­ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙØ±Ø¹ÙØ©" ØªÙ
+ Ø§Ø®ØªÙØ§Ø± ØµÙÙ ÙÙÙØ«ÙÙØ© ÙÙÙ
+Ø¶Ø§ÙØ§Ø© ÙÙÙ Ø§Ù
+Ø§ Ø£Ù ØªÙÙÙ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø§ÙØ§Ø³Ù
+ Ù
+ÙÙ ÙÙ Ø³Ø€Ø§Ù0 Ø§Ø¯Ø®Ù Ø§ÙØªØ¹ØšÙØ± Ø§ÙÙ
+ÙØªØžÙ
+ ÙØ§Ø³ØªØ®Ø¯Ø§Ù
+Ù Ø®ÙØ§Ù Ø§ÙÙ
+Ø¶Ø§ÙØ§Ø© ÙÙ
+ÙÙÙ toggle ØšÙÙ "ØªØ¶Ù
+ÙÙ " ÙØ«Ø§ØŠÙ ØªØ¶Ø§ÙÙ Ø§ÙÙ
+Ø±ØŽØ­ Ø£Ù "Ø§Ø³ØªØšØ¹Ø§Ø¯" Ø§ÙÙØ«Ø§ØŠÙ0 ÙÙ
+ÙÙÙ ØªØ®ØµÙØµ Ø§Ù Ù
+Ù ØŽØ§Ø±Ø§Øª Ø§ÙØªÙ
+ÙØ² ÙÙØªØ¹ØšÙØ±Ø§Øª Ø§ÙÙ
+ÙØªØžÙ
+Ø© Ø§ÙÙ
+Ø¹ÙØ§Ø±ÙØ© ÙØšÙØ±Ù ÙØ§ Ø³ØªØ®Ø¯Ø§Ù
+ÙØ§ Ø¹ÙØ¯ Ø§ÙÙ
+Ø¶Ø§ÙØ§Ø© ("*" ÙÙ
+Ø¶Ø§ÙØ§Ø© Ø­Ø§ÙØ©  ØºÙØ± Ø­Ø³Ø§Ø³Ù) â Ø§Ø®ÙØ±Ø§Ù Ø§ÙÙØ± "Ø§Ø¶Ø§ÙØ© Ù
+Ø±ØŽØ­" ÙØ§Ø¶Ø§ÙØ© Ø§ÙÙ
+Ø±ØŽØ­ Ø¥ÙÙ ÙØ§ØŠÙ
+Ø© "Ù
+Ø±ØŽØ­Ø§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙØ±Ø¹ÙØ© Ø§ÙÙ
+Ø¹Ø±ÙØ©"</Text>
+<Text id="150">ÙØ­Ø°Ù Ù
+Ø±ØŽØ­Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©Ø ÙØ§ÙÙØ± "Ø­Ø°Ù Ù
+Ø±ØŽØ­"0</Text>
+<Text id="151">ÙÙ  alter Ù
+Ø±ØŽØ­ Ø  ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±  Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©Ø  ÙÙÙ
+ ØšØªØ¹Ø¯ÙÙ Ø§Ù Ù
+Ù Ø§ÙÙÙÙ
+ÙÙ Ø§ÙÙ
+ØªÙÙØ±Ø© Ù
+Ù Ø¹ÙØ§ØµØ± Ø§ÙØªØ­ÙÙ
+ ÙØ§ÙÙØ±  "Ø§Ø³ØªØšØ¯Ø§Ù Ù
+Ø±ØŽØ­" ÙØªØµØšØ­ Ø§ÙØªØºÙÙØ±Ø§Øª  Ù
+ÙØ²Ù
+Ù0</Text>
+<Text id="151a">ÙØ§ ÙØµÙØ¹ ØªØ¹Ø±ÙÙ ÙÙ
+Ø±ØŽØ­Ø§Øª Ù
+Ø¬Ù
+ÙØ¹Ø§Øª ÙØ±Ø¹ÙÙ0 ÙØªÙ
+ ØªØ­Ø¯ÙØ¯ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙØ±Ø¹ÙÙ ÙÙ <AutoText key="glidict::CDM.SubcollectionManager.Subindex_Controls"/>, ØšÙØ§Ø¡Ø§Ù Ø¹ÙÙ Ø§ÙÙ
+Ø±ØŽØ­Ø§Øª Ø§ÙØªÙ ÙÙ
+Øª ØšØªØ¹Ø±ÙÙÙØ§0</Text>
+</Section>
+<Section name="assignpartitions">
+<Title>
+<Text id="152">ØªØ¹ÙÙÙ ÙØ·Ø§Ø¹Ø§Øª</Text>
+</Title>
+<Text id="153">Ø§Ø°Ø§ ÙÙ
+Øª  ØšØªØ¹Ø±ÙÙ Ù
+Ø±ØŽØ­Ø§Øª Ù
+Ø¬Ù
+ÙØ¹Ø© ÙØ±Ø¹ÙØ© ÙØ§Ø­Ø¯Ø© Ø£Ù Ø£ÙØ«Ø±Ø Ø§Ø³ØªØ®Ø¯Ù
+ tab "ØªØ¹ÙÙÙ ÙØ·Ø§Ø¹Ø§Øª" ÙØšÙØ§Ø¡ Ø§ÙÙØŽØ§ÙØ§Øª ÙÙØ§ Ø£Ù ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ù Ø§ÙÙ
+Ø±ØŽØ­Ø§Øª)0 ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§ÙÙ
+Ø±ØŽØ­ Ø£Ù Ø§ÙÙ
+Ø±ØŽØ­Ø§Øª Ø§ÙÙ
+Ø·ÙÙØšØ© Ù
+Ù ÙØ§ØŠÙ
+Ø© "Ù
+Ø±ØŽØ­Ø§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙØ±Ø¹ÙØ© Ø§ÙÙ
+Ø¹Ø±ÙØ©" ÙØ§ÙÙØ± "Ø§Ø¶Ø§ÙØ© ÙØ·Ø§Ø¹"Ø Ø³ÙÙ ÙÙØ¶Ù
+ Ø¥ÙÙ ÙØ·Ø§Ø¹ Ù
+Ø­Ø¯Ø¯ ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© ÙØ±Ø¹ÙØ© Ø§ÙÙØ«Ø§ØŠÙ Ø§ÙØªÙ ØªØ¶Ø§ÙÙ Ø§ÙÙ
+Ø±ØŽØ­ Ø§ÙÙ
+Ø¹ÙÙ ÙÙÙØ·Ø§Ø¹0</Text>
+<Text id="154a">To alter a partition, select it from the list, modify the filters, and click <AutoText key="glidict::CDM.SubcollectionIndexManager.Replace_Subindex"/>.</Text>
+<Text id="154">To remove a partition, select it from the list and click "Remove Partition".</Text>
+<Text id="154b">ØªØ±ØªÙØš Ø§ÙÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙ
+Ø­Ø¯Ø¯ ÙÙ ÙØ§ØŠÙ
+Ø© Ø§ÙÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© ÙÙ ÙÙØ³ Ø§ÙØªØ±ØªÙØš Ø§ÙØ°Ù ØªØžÙØ± ØšÙ Ø§ÙÙØ·Ø§Ø¹Ø§Øª ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø©  Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙÙ ØµÙØ­Ø© Ø§ÙØšØ­Ø«0 Ø§Ø³ØªØ®Ø¯Ù
+ Ø§ÙØ§Ø²Ø±Ø§Ø± <AutoText key="glidict::CDM.Move.Move_Up"/> and <AutoText key="glidict::CDM.Move.Move_Down"/> ÙØªØºÙÙØ± ÙØ°Ø§ Ø§ÙØªØ±ØªÙØš0</Text>
+<Text id="155">ÙØªØ¹ÙÙÙ Ø§ÙÙØ·Ø§Ø¹ Ø§ÙØªØ±Ø§Ø¶ÙØ§ÙØ ÙÙ
+ ØšØ¥Ø®ØªÙØ§Ø± ÙØ§Ø­Ø¯ Ø§ÙÙØ§ØŠÙ
+Ø©Ø ÙØ§ÙÙØ± "ØªØ¹ÙÙÙ Ø§ÙØªØ±Ø§Ø¶Ù"0 <AutoText key="glidict::CDM.SubcollectionIndexManager.Set_Default_Subindex"/>.</Text>
+<Text id="155a">ÙÙ
+ÙÙ Ø¥Ø¹Ø¯Ø§Ø¯ Ø§Ø³Ù
+Ø§Ø¡ Ø§ÙÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+Ø© ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙÙ ØµÙØ­Ø© Ø§ÙØšØ­Ø« ÙÙ <AutoText key="glidict::CDM.GUI.SearchMetadata"/> ÙÙÙ Ø¬Ø²Ø¡ Ù
+Ù ÙØ§ÙØªÙ <AutoText key="glidict::GUI.Format"/> panel (see <Reference target="searchmetadatasettings"/>).</Text>
+</Section>
+<Section name="assignlanguages">
+<Title>
+<Text id="156">ØªØ¹ÙÙÙ ÙØºØ©</Text>
+</Title>
+<Text id="157">ÙÙØµÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙÙÙÙØ©  ØªÙÙÙØ¯ ÙØŽØ§ÙØ§Øª Ø§ÙØšØ­Ø« ÙÙØºØ§Øª Ù
+Ø¹ÙÙÙ. ÙÙ
+ÙÙ Ø§ÙØ¬Ø§Ø²  ÙØ°Ø§ ØšØªÙÙÙØ¯ ÙØ·Ø§Ø¹ Ù
+Ø³ØªØ®Ø¯Ù
+Ø§Ù "ØªØ¹ÙÙÙ ÙØºØ§Øª" ÙÙ ÙØ§ÙØªØ© "ÙØŽØ§ÙØ§Øª Ø§ÙÙØ·Ø§Ø¹".</Text>
+<Text id="157-1">ØªØ³ØªØ®Ø¯Ù
+ Ø§ÙÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙØºÙÙØ© ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙØªØ­Ø¯ÙØ¯ Ø§ÙÙØ«Ø§ØŠÙ Ø§ÙØªÙ ÙÙ ÙØºØ§Øª Ù
+Ø¹ÙÙØ© Ù ÙØ°Ø§ ÙÙØšØºÙ Ø§Ù ØªØ¯Ø±Ø¬ ÙÙ Ø§ÙÙØ·Ø§Ø¹ .ÙÙÙÙ
+ Ø¬Ø±ÙÙØ³ØªÙÙ ØšØªÙÙÙØ¯ ÙØ§ØµÙØ© ØšÙØ§ÙØ§Øª Ø§ÙÙØºØ© "ex.Language " ØšØ§ÙÙØ³ØšØ© ÙÙ
+Ø¹ØžÙ
+ Ø§ÙÙØ«Ø§ØŠÙ Ù ÙÙ ÙØ§ØµÙØ© Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØ¥ÙØªØ±Ø§Ø¶ÙØ© Ø§ÙØªÙ ØªØ³ØªØ®Ø¯Ù
+. Ù Ù
+Ø¹ Ø°ÙÙØ ÙØ§Ù ÙØ°Ø§ ÙÙ
+ÙÙ ØªØºÙØ±Ù ØšØªØ¹Ø¯ÙÙ <AutoText key="glidict::CDM.LanguageManager.LanguageMetadata"/> ÙØªØµØ­ÙØ­ Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª . </Text>
+<Text id="158">TÙØ§Ø¶Ø§ÙØ© ÙØ·Ø§Ø¹ ÙØºÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ tab "ØªØ¹ÙÙÙ ÙØºØ§Øª" ÙØšÙØ§Ø¡ ÙØŽØ§Ù ÙÙØ§0ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± ÙØºØ© Ø£Ù Ø£ÙØ«Ø± Ù
+Ù ÙØ§ØŠÙ
+Ø© "ÙØºØ§Øª ÙÙØ§Ø¶Ø§ÙØ©" Ø Ø§ÙÙØ± "Ø§Ø¶Ø§ÙØ© ÙØ·Ø§Ø¹ "0</Text>
+<Text id="158a">ÙØªØºÙÙØ± ÙØ·Ø§Ø¹ Ù
+ÙØ¬ÙØ¯Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù ÙØ§ØŠÙ
+Ø© "ÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙØºØ© Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©" ÙØªØ¹Ø¯ÙÙ Ø§ÙÙØºØ© Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© Ù
+Ù ÙØ§ØŠÙ
+Ø© "ÙØºØ§Øª ÙÙØ§Ø¶Ø§ÙØ©" ÙÙ Ø§ÙØ§Ø³ÙÙØ ÙØ§ÙÙØ± "Ø§Ø³ØªØšØ¯Ø§Ù ÙØ·Ø§Ø¹"0.</Text>
+<Text id="159">ÙØ­Ø°Ù ÙØºØ© Ø  ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±ÙØ§ Ù
+Ù ÙØ§ØŠÙ
+Ø©  "Ø§Ø®ØªÙØ§Ø± ÙØºØ©"Ø ÙØ§ÙÙØ± "Ø­Ø°Ù ÙØºØ©"0</Text>
+<Text id="159a">ØªØ±ØªÙØš ÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙØºØ© Ø§ÙÙ
+Ø­Ø¯Ø¯ ÙÙ ÙØ§ØŠÙ
+Ø© "ÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙØºØ© Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©" ÙÙ ÙÙØ³ Ø§ÙØªØ±ØªÙØš Ø§ÙØ°Ù ÙØžÙØ± ÙÙ ØªØ§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙÙ ØµÙØ­Ø© Ø§ÙØšØ­Ø«0 Ø§Ø³ØªØ®Ø¯Ù
+ Ø§ÙØ§Ø²Ø±Ø§Ø± <AutoText key="glidict::CDM.Move.Move_Up"/> and <AutoText key="glidict::CDM.Move.Move_Down"/>  ÙØªØºÙÙØ± ÙØ°Ø§ Ø§ÙØªØ±ØªÙØš0</Text>
+<Text id="160">ÙØªØ¹ÙÙÙ ÙØ·Ø§Ø¹ Ø§ÙÙØºØ© Ø§ÙØ§ÙØªØ±Ø§Ø¶ÙØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© ÙØ§ÙÙØ± "ØªØ¹ÙÙÙ Ø§ÙØªØ±Ø§Ø¶Ù"</Text>
+<Text id="160a">ÙÙ
+ÙÙ Ø§Ø¹Ø¯Ø§Ø¯  Ø§Ø³Ù
+Ø§Ø¡ Ø§ÙÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙØºÙÙØ©  Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙÙ ØµÙØ­Ø© Ø§ÙØšØ­Ø« ÙÙ <AutoText key="glidict::CDM.GUI.SearchMetadata"/> ÙÙÙ Ø¬Ø²Ø¡ Ù
+Ù ÙØ§ÙØªÙ <AutoText key="glidict::GUI.Format"/> panel (see <Reference target="searchmetadatasettings"/>).</Text>
+</Section>
+</Section>
+<Section name="classifiers">
+<Title>
+<Text id="166">Ù
+ØµÙÙØ§Øª Ø§ÙØªØµÙØ­</Text>
+</Title>
+<Text id="167">ØŽØ±Ø­ ÙÙ ÙØ°Ø§ Ø§ÙÙØµÙ ÙÙÙÙØ© ØªØ¹ÙÙÙ "Ø§ÙÙ
+ØµÙÙØ§Øª" ÙÙÙ Ø§ÙØªÙ ØªØ³ØªØ®Ø¯Ù
+ ÙÙ ØªØµÙØ­ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 ØªØ­Øª tab "ØªØµÙ
+ÙÙ
+" Ø Ø§ÙÙØ± "Ù
+ØµÙÙØ§Øª Ø§ÙØªØµÙØ­"0</Text>
+<Text id="168">ÙØ§Ø¶Ø§ÙØ© Ù
+ØµÙÙØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ø³ØªØ®Ø¯Ù
+Ø§Ù Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© "Ø§Ø®ØªÙØ§Ø± Ù
+ØµÙÙ ÙÙØ§Ø¶Ø§ÙØ©"  Ø§ÙØ§ÙØ±Øš Ø¥ÙÙ Ø§ÙØ£Ø³ÙÙ Ø«Ù
+ Ø§ÙÙØ± "Ø§Ø¶Ø§ÙØ© Ù
+ØµÙÙ" ØªØžÙØ± ÙÙ ÙØ§ÙØ°Ø© ØšØ¹ÙÙØ§Ù "ØªØ¬ÙÙØ² Ù
+Ø¶Ø§Ù
+ÙÙ" ØªØªÙ
+Ø§Ø«Ù ØªØ¹ÙÙÙ
+Ø§Øª ÙØ°Ù Ø§ÙÙØ§ÙØ°Ø© Ù
+Ø¹ ØªØ¹ÙÙÙ
+Ø§Øª Ø§ÙÙ
+ÙØ§ØšØ³ (see <Reference target="plugins"/>). ØªØªÙ
+ Ø§Ø¶Ø§ÙØ© Ø§ÙÙ
+ØµÙÙ Ø§ÙØ¬Ø¯ÙØ¯ ØšØ¹Ø¯ ØªØ¬ÙÙØ²Ù Ø£Ø³ÙÙ ÙØ§ØŠÙ
+Ø© â Ø§ÙÙ
+ØµÙÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© Ø­Ø§ÙÙØ§Ù0</Text>
+<Text id="168a">ÙØ±Ø€ÙØ© ÙØµÙ ÙØµÙØ± ÙÙ
+ØµÙÙØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© "Ø§Ø®ØªÙØ§Ø± Ù
+ØµÙÙ ÙÙØ§Ø¶Ø§ÙØ©" Ø«Ù
+ Ø­ÙÙ ØšÙ
+Ø€ØŽØ± Ø§ÙÙØ£Ø±Ø© ÙÙÙÙ ÙØžÙØ± ÙÙ Ù
+Ø±ØšØ¹ Ø§ÙÙØµÙ0</Text>
+<Text id="168b">ÙÙÙ Ù
+ØµÙÙ Ù
+Ø¶Ø§Ù
+ÙÙ Ù
+ØªØ¹Ø¯Ø¯Ø© ÙÙ
+ÙÙ Ø§Ø¹Ø¯Ø§Ø¯ÙØ§ Ø ÙØªØªØ¶Ù
+Ù Ø§ÙÙ
+Ø¶Ø§Ù
+ÙÙ Ø§ÙÙ
+ÙÙ
+Ø© "ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª" Ø§ÙØªÙ ØªØ­Ø¯Ø¯ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØªÙ Ø¹ÙÙ Ø¶ÙØŠÙØ§ ØªØµÙÙ Ø§ÙÙØ«Ø§ØŠÙ Ù"Ø§Ø³Ù
+Ø§Ø¡ Ø§ÙØ§Ø²Ø±Ø§Ø±" ÙÙÙ Ø§ÙØ§Ø³Ù
+Ø§Ø¡ Ø§ÙØªÙ ØªØžÙØ± ÙÙ Ø¹Ù
+ÙØ¯ Ø§ÙØ§ØšØ­Ø§Ø±0</Text>
+<Text id="169">ÙØ­Ø°Ù Ù
+ØµÙÙØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©Ø ÙØ§ÙÙØ± "Ø­Ø°Ù Ù
+ØµÙÙ"0</Text>
+<Text id="170">ÙØªØºÙÙØ± Ù
+Ø¶Ø§Ù
+ÙÙ Ù
+ØµÙÙØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©Ø ÙØ§ÙÙØ± "ØªØ¬ÙÙØ² Ù
+ØµÙÙ" (Ø§Ù ÙÙØ±Ù Ù
+Ø²Ø¯ÙØ¬Ù Ø¹ÙÙØ§ÙÙ
+ØµÙÙ ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø©)0</Text>
+<Text id="171">ØªØ±ØªÙØš Ø§ÙÙ
+ØµÙÙØ§Øª ÙÙ Ø¹Ù
+ÙØ¯ ØªØ¬ÙØ§Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØªØ¹ÙØ³ ØªØ±ØªÙØšÙØ§ ÙÙØ§Ø ÙØªØºÙÙØ± ÙØ°Ø§ Ø§ÙØªØ±ØªÙØšØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§ÙÙ
+ØµÙÙ Ø§ÙÙ
+Ø·ÙÙØš ØªØ­Ø±ÙÙÙ ÙØ§ÙÙØ± Ø²Ø± <AutoText key="glidict::CDM.Move.Move_Up"/> Ø£Ù <AutoText key="glidict::CDM.Move.Move_Down"/>0</Text>
+<Text id="172">ÙÙ
+Ø²ÙØ¯ Ù
+Ù Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø¹Ù Ø§ÙÙ
+ØµÙÙØ§Øª Ø§ÙØ±Ø£ Ø§ÙÙØµÙ 2 ÙÙ Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ Ù
+Ù
+Ø·ÙØ±ÙÙ â Ø§ÙØ¬Ø§Ø¯ ÙÙ Ù
+Ø§ ÙÙ Ù
+Ù
+ÙÙ Ø§Ø®Ø±Ø§Ø¬Ù Ù
+Ù Ø§ÙÙØ«Ø§ØŠÙ0</Text>
+</Section>
+</Section>
+<Section name="producingthecollection">
+<Title>
+<Text id="193">Ø¥ÙØªØ§Ø¬ Ù
+Ø¬Ù
+ÙØ¹Ø©</Text>
+</Title>
+<Text id="194">Ø¥Ø°Ø§ ØªÙ
+ ØªØ¬Ù
+ÙÙØ¹ Ø§ÙÙØ«Ø§ØŠÙ ÙÙÙ
+Ø¬Ù
+ÙØ¹ÙØ Ù
+ØŽØ±ÙØ­Ø© ØšÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ø¹ ØªØµÙ
+ÙÙ
+ ÙÙÙÙØ© ØªÙ
+ØžÙØ± Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 ÙÙ
+ÙÙÙ ÙØ°Ø§ Ù
+Ù Ø§ÙØªØ§Ø¬ Ù
+Ø¬Ù
+ÙØ¹Ø© ØšÙØ§Ø³Ø·Ø© ÙØ±ÙÙØ³ØªÙÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙØŽØ±Ø­ ÙÙÙÙØ© Ø§ÙØ¬Ø§Ø² ÙØ°Ø§ Ø§ÙØ£Ù
+Ø±0</Text>
+<Section name="thecreateview">
+<Title>
+<Text id="195">Ù
+ØŽÙØ¯ Ø¥ÙØŽØ§Ø¡</Text>
+</Title>
+<Text id="196">ÙØ³ØªØ®Ø¯Ù
+ Ù
+ØŽÙØ¯ Ø§ÙØŽØ§Ø¡ ÙÙ Ø§ÙØŽØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšØªØŽØºÙÙ Ù
+ÙÙØ§Øª ÙØ±ÙÙØ³ØªÙÙ ÙØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙØ§Ù ÙÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙØªÙ ÙÙ
+Øª ØšØªÙÙÙØ±ÙØ§0 Ø§Ø¯Ø®Ù Ù
+ØŽÙØ¯ Ø§ÙØ§ÙØŽØ§Ø¡ ØšØ§ÙÙÙØ± Ø¹ÙÙ tab "Ø§ÙØŽØ§Ø¡"0</Text>
+<Text id="196a">ÙØšØ¯Ø£ Ø§Ø¬Ø±Ø§Ø¡ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšØ§ÙÙÙØ± Ø¹ÙÙ "ØšÙØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø©"- ØªØ­Ø¯ÙØ¯ Ø§ÙÙØªØ±Ø© Ø§ÙØ²Ù
+ÙÙØ© ÙØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØ¹ØªÙ
+Ø¯ Ø¹ÙÙ Ø­Ø¬Ù
+ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØ¹Ø¯Ø¯ Ø§ÙÙØŽØ§ÙØ§Øª Ø§ÙÙ
+ØšÙÙÙ (ÙØ¯ ØªÙÙÙ Ø³Ø§Ø¹Ø§Øª ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙØ¶Ø®Ù
+Ø©) ÙØŽÙØ± ØªØ·ÙØ± Ø¹Ù
+ÙØ¯ ØªØ·ÙØ± Ø§Ø¬Ø±Ø§Ø¡ Ø§ÙØšÙØ§Ø¡ Ø¥ÙÙ Ù
+Ø¯Ù Ø§ÙØ¬Ø²Ø¡ Ø§ÙØ°Ù Ø§ÙØªÙÙ .ÙØ¥ÙØºØ§Ø¡ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ ÙÙ Ø§Ù Ù
+Ø±Ø­ÙØ©Ø Ø§ÙÙØ± "Ø§ÙØºØ§Ø¡ Ø§ÙØšÙØ§Ø¡"0</Text>
+<Text id="197">Ø§Ø°Ø§ ØªÙ
+ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšÙØ¬Ø§Ø­ Ø ÙØ§Ù ÙÙØ± "Ø¹Ø±Ø¶ Ù
+Ø¬Ù
+ÙØ¹Ø©" Ø³ÙÙ ÙØ·ÙÙ Ù
+ØªØµÙØ­ ÙØš ÙØ¹Ø±Ø¶ ØµÙØ­Ø© Ù
+ÙÙØ¹ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0</Text>
+</Section>
+<Section name="builderrors">
+<Title>
+<Text id="199a">Ø§Ø®Ø·Ø§Ø¡ ÙÙ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©</Text>
+</Title>
+<Text id="199b">Ø§Ø­ÙØ§ÙØ§Ù  ØªÙ
+Ø¶Ù Ø§ÙØ§Ù
+ÙØ± ØšØµÙØ±Ø© Ø®Ø·Ø£ Ø®ÙØ§Ù ØšÙØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø©Ø ÙÙØ¯ ÙØ§ØªØªÙ
+ Ù
+Ø¹Ø§ÙØ¬Ø© ØšØ¹Ø¶ Ø§ÙÙ
+ÙÙØ§ØªØ ÙÙÙÙ ÙÙØªÙ
+Ù ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšØµÙØ±Ø© Ø³ÙÙÙ
+Ø© ÙÙÙ
+ÙÙ Ø¹Ø±Ø¶ÙØ§ ÙÙÙÙ ØšØºÙØ§Øš ØšØ¹Ø¶ Ø§ÙÙØ«Ø§ØŠÙ . Ø£Ù Ø±ØšÙ
+Ø§ ÙØ§ ØªØšÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙØ§ ØšØµÙØ±Ø© Ø³ÙÙÙ
+Ø© ÙÙÙ ÙØ°Ù Ø§ÙØ­Ø§ÙØ© ØªØžÙØ± Ø±Ø³Ø§ÙØ© ÙØ­ÙØ§ÙØ§ <AutoText key="glidict::CollectionManager.Cannot_Create_Collection"/> Ø¹ÙØ¯Ù
+Ø§ ÙØ­Ø¯Ø« ÙØ°Ø§Ø ÙÙÙÙ Ù
+Ù Ø§ÙÙ
+ÙÙØ¯ Ø§ÙØªØ­ÙÙ ÙÙ GLI Ø¥ÙÙ Ø³ÙØ§Ù "Ø®ØšÙØ±" (File->Ø®ÙØ§Ø±Ø§Øª->Mode, Ø§ÙØžØ± <Reference target="preferences"/>), ÙÙ
+ ØšØªØ­ÙÙÙ ÙÙÙ
+Ø© Ø®ÙØ§Ø± ÙØšÙØ§Ø¡ "Verbosity) Ø¥ÙÙ 5 ÙØ§Ø¹Ø¯ Ø§ÙØšÙØ§Ø¡ ÙØ±Ø€ÙØ© Ø§Ù Ø±Ø³Ø§ØŠÙ Ø®Ø·Ø£ ØªØžÙØ±.</Text>
+</Section>
+<Section name="expertbuilding">
+<Title>
+<Text id="198a">Ù
+ØŽÙØ¯ Ø§ÙØŽØ§Ø¡ ÙÙ Ø³ÙØ§Ù Ø®ØšÙØ±</Text>
+</Title>
+<Text id="198">ÙÙ Ø³ÙØ§Ù Ø®ØšÙØ±Ø ÙÙ
+ÙÙÙ  Ø§Ø³ØªØ®Ø¯Ø§Ù
+ "Ø§ÙÙ
+Ø¯ÙÙÙ" ÙÙ Ø§ÙØ¬Ø²Ø¡ Ø§ÙØ§ÙØ³Ø± ÙØ§Ø³ØªØ¹Ø±Ø§Ø¶ Ø§ÙÙ
+Ø­Ø§ÙÙØ§Øª Ø§ÙØ³Ø§ØšÙÙ ÙØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹ÙØ Ø§Ø°Ø§ ÙØ§ÙØª ÙØ§Ø¬Ø­Ù Ø§ÙÙØ§Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§ÙÙ
+Ø¯ÙÙÙ ØšØ§ÙØªØ§Ø±ÙØ® ÙÙ ÙØ§ØŠÙ
+Ø© "Ø§ÙÙ
+Ø¯ÙÙÙ"0</Text>
+<Text id="200a">ÙÙ ÙØ°Ø§ Ø§ÙØ³ÙØ§ÙØ ØªØžÙØ± Ø§ÙØ®ÙØ§Ø±Ø§Øª Ø§ÙÙØ§Ù
+ÙØ© ÙÙØ§Ø³ØªÙØ±Ø§Ø¯ ÙØ§ÙØšÙØ§Ø¡ ÙÙ tab ØšÙØ§Ø¡ ÙØ§Ø³ØªÙØ±Ø§Ø¯ Ø¥ÙÙ Ø§ÙØ³ÙØ§Ø±0 ØªØªÙ
+Ø§Ø«Ù Ø§Ø¹Ø¯Ø§Ø¯Ø§Øª Ø§ÙØªØ­ÙÙ
+ Ø§ÙÙ
+Ø®ØªÙÙØ© ØªÙÙ Ø§ÙØªÙ ÙÙ ÙØ§ÙØ°Ø© "ØªØ¬ÙÙØ² Ù
+Ø¶Ø§Ù
+ÙÙ" Ø§ÙÙ
+ÙØµÙÙÙ ÙÙ ÙØ³Ù
+ <Reference target="plugins"/>  ØšØ¹Ø¶ Ø§ÙØ­ÙÙÙ ØªØ­ØªØ§Ø¬ Ù
+Ø¶Ø§Ù
+ÙÙ Ø¹Ø¯Ø¯ÙÙ ÙÙÙ
+ÙÙÙ Ø·ØšØ§Ø¹ØªÙØ§ Ø£Ù Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙØ§Ø³ÙÙ
+ ÙØ²ÙØ§Ø¯Ø© Ø£Ù ØªÙÙÙÙ Ø§ÙÙÙÙ
+Ø© Ø§ÙØ­Ø§ÙÙØ© ( ÙÙ ØšØ¹Ø¶ Ø§ÙØ­Ø§ÙØ§ØªØ ØªÙÙØ¯ Ø§ÙÙØ§Ø¬ÙØ© Ø§ÙÙ
+Ø¯Ù)0 ÙØªÙ
+ ØªÙØŽÙØ·  Ø§Ø¬Ø±Ø§Ø¡Ø§Øª Ø§ÙØ£Ø®Ø±Ù ØšÙÙØ± Ù
+Ø±ØšØ¹ Ø§ÙÙØ­Øµ (Ø§ÙØžØ± Ù
+Ø±Ø© Ø«Ø§ÙÙØ© ÙÙØ§Ø®Ù
+Ø§Ø¯)0</Text>
+<Text id="201a">ÙÙ
+Ø²ÙØ¯ Ù
+Ù Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø­ÙÙ Ø§Ø³ØªÙØ±Ø§Ø¯ ÙØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©Ø Ø§ÙØ±Ø£ Ø§ÙÙØµÙ 1 Ù
+Ù Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+Ø·ÙØ±ÙÙ- ÙÙÙ
+ Ø§Ø¬Ø±Ø§Ø¡ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0</Text>
+</Section>
+<Section name="scheduledbuilding">
+<Title>
+<Text id="sched-1">ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ
+Ø¬Ø¯ÙÙØ©</Text>
+</Title>
+<Text id="sched-2">ÙØªÙÙØ± ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ
+Ø¬Ø¯ÙÙØ© ÙÙ Ø³ÙØ§Ù Ø®ØšÙØ± .ÙØ¬Øš Ø¥Ø¬Ø±Ø§Ø¡ ØšØ¹Ø¶ Ø§ÙØ¥Ø¹Ø¯Ø§Ø¯Ø§Øª ÙØšÙ Ø§ÙÙÙØ§Ù
+ ØšÙØ°Ø§ Ø§ÙØ¹Ù
+Ù Ø Ø§ÙØžØ± http://wiki.greenstone.org/wiki/index.php/Scheduled_Collection_Building_from_the_Librarian_Interface ÙÙ
+Ø²ÙØ¯ Ù
+Ù Ø§ÙØªÙØ§ØµÙÙ. ÙÙØ¶Ø­ ØªØšÙÙØš<AutoText key="glidict::CreatePane.Schedule"/>  Ø¹ÙÙ Ø§ÙØ¬Ø§ÙØš Ø§ÙØ£ÙØ³Ø± Ù
+Ù Ù
+ØŽÙØ¯ ØªØµÙ
+ÙÙ
+   ÙØ§ØŠÙ
+Ø© Ù
+Ù Ø®ÙØ§Ø±Ø§Øª Ø§ÙØªØ­ÙÙ
+ ÙÙ Ø¹Ù
+ÙÙØ© Ø§ÙØ¬Ø¯ÙÙØ©.ÙØ¬Øš Ø¥Ø¹Ø¯Ø§Ø¯ Ø§ÙØ®ÙØ§Ø±  " Ø¬Ø¯ÙÙØ© " ØšØµÙØ±Ø© Ù
+Ø­Ø¯Ø¯Ø© ÙÙØ¥Ø¬Ø±Ø§Ø¡. ØªÙØ¶Ø­ Ø§ÙØ®ÙØ§Ø±Ø§Øª Ø§ÙØ£Ø®Ø±Ù : ÙØªÙØ±Ø© Ø¥Ø¹Ø§Ø¯Ø© Ø§ÙØ¬Ø¯ÙÙØ© Ø Ø¥Ø¶Ø§ÙØ©  Ø¬Ø¯ÙÙØ©  Ø¬Ø¯ÙØ¯Ø© Ø ÙØªØ­Ø¯ÙØ« Ø¬Ø¯ÙÙØ© ÙØ§ØŠÙ
+Ø© Ø Ø£Ù Ø­Ø°Ù Ø§ÙØ¬Ø¯ÙÙ Ø§ÙØ²Ù
+ÙÙ Ø§ÙØ­Ø§ÙÙ Ø ÙØªÙØ§ØµÙÙ Ø§ÙØšØ±ÙØ¯ Ø§ÙØ¥ÙÙØªØ±ÙÙÙ Ø¥Ø°Ø§ ÙÙØª ØªØ±ÙØ¯ Ø¥ØŽØ¹Ø§Ø±Ø§ ØšØ§ÙØšØ±ÙØ¯ Ø§ÙØ§ÙÙØªØ±ÙÙÙ. </Text>
+</Section>
+</Section>
+<Section name="formattingacollection">
+<Title>
+<Text id="fc-1">ØªÙØ¶ÙØš ØªÙ
+ØžÙØ± Ù
+Ø¬Ù
+ÙØ¹ØªÙ</Text>
+</Title>
+<Text id="fc-2">Ø¹ÙØ¯ Ø§ÙØ§ÙØªÙØ§Ø¡ Ù
+Ù ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©Ø ÙÙ
+ÙÙÙ ÙÙÙ
+Ø§ ØšØ¹Ø¯ ÙØµÙ ØªÙ
+ØžÙØ±ÙØ§ ÙÙÙ
+Ø³ØªÙÙØ¯0 Ù
+Ø§ÙÙ Ø§Ø³Ù
+Ø§Ø¡ Ø§ÙÙØŽØ§ÙØ§Øª Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+Ø© ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙÙ
+Ø±ØšØ¹ Ø§ÙØšØ­Ø«Ø ÙÙÙ ØªØ¹Ø±Ø¶ ÙØªØ§ØŠØ¬ Ø§ÙØšØ­Ø«Ø Ù
+Ø§ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØªÙ ØªØžÙØ± Ø¹ÙØ¯ Ø¹Ø±Ø¶ Ø§ÙÙØ«Ø§ØŠÙØ ÙÙ
+ÙÙ ØªÙØ¶ÙØš ÙÙ ÙØ°Ù Ø§ÙØ§ØŽÙØ§Ø¡0 ÙÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙØŽØ±Ø­ ÙÙ ÙÙÙÙØ© Ø¹Ù
+Ù ÙØ°Ø§0</Text>
+<Section name="theformatview">
+<Title>
+<Text id="fc-3">Ù
+ØŽÙØ¯ ÙØ³Ù Ø§ÙØ¹Ø±Ø¶</Text>
+</Title>
+<Text id="fc-4">ÙØ¹Ø±ÙÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ØšÙ
+ØŽÙØ¯ ÙØ³Ù Ø§ÙØ¹Ø±Ø¶ ÙÙØŽØ±Ø­ ÙÙ ÙÙÙÙØ© Ø§ÙØªØ¬ÙØ§Ù ØšÙÙ Ø§ÙÙ
+ØŽØ§ÙØ¯ Ø§ÙØªÙ ÙØ­ØªÙÙÙØ§.</Text>
+<Text id="fc-5">ÙÙÙØ± ÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ Ø¥Ø¹Ø¯Ø§Ø¯ ØªÙ
+ØžÙØ± Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙ
+Ø³ØªÙÙØ¯0 ØªÙÙØ³Ù
+ Ø®ÙØ§Ø±Ø§Øª Ø§ÙØ§Ø¹Ø¯Ø§Ø¯ Ø¥ÙÙ Ø£ÙØ³Ø§Ù
+ ÙÙ Ù
+ÙÙØ§ Ù
+ÙØ­Ù ØšÙ Ø§ÙÙØ§Ø¹ Ù
+Ø®ØªÙÙÙ Ù
+Ù Ø§ÙØªÙØµÙØš0</Text>
+<Text id="fc-6">ØªØ¬Ø¯ ÙØ³Ø§Ø±Ø§Ù ÙØ§ØŠÙ
+Ø© ØšØ§ÙÙ
+Ø€ØŽØ±Ø§Øª  ÙÙ
+Ù Ø¬ÙØ© Ø§ÙÙÙ
+ÙÙ Ø¹ÙØ§ØµØ± Ø§ÙØªØ­ÙÙ
+ Ø§ÙÙ
+ØªØ¹ÙÙØ© ØšÙÙ Ù
+Ø€ØŽØ± . ÙØªØ­Ø¯ÙØ« Ù
+Ø€ØŽØ± ØØ£ÙÙØ± Ø¹ÙÙ Ø§Ø³Ù
+Ù ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø©.</Text>
+<Text id="fc-7">ÙÙØ¬Ø¯ ØªØ­Øª ÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ØŽØ§ÙØ¯ Ø²Ø± "Ø¹Ø±Ø¶ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©" Ø§ÙØªØºÙÙØ± Ø§ÙØ°Ù ØªÙ
+ ÙÙ Ù
+ØŽÙØ¯ ÙØ³Ù Ø§ÙØ¹Ø±Ø¶ ÙÙ Ø§ÙÙ ÙÙ
+ ØªØ¹Ø¯  Ù
+Ø­ØªØ§Ø¬Ø§Ù ÙØ§Ø¹Ø§Ø¯Ø© ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙ
+ÙÙ Ø§ÙØ¹Ø±Ø¶ Ù
+ØšØ§ØŽØ±Ø©. Ø¹ÙÙÙ ÙØ§ ØšØ¯ Ù
+Ù ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ø±Ø© ÙØ§Ø­Ø¯Ø© Ø¹ÙÙ Ø§ÙØ£ÙÙ ÙÙÙ ÙØªÙ
+ Ø¹Ø±Ø¶ÙØ§.</Text>
+</Section>
+<Section name="generalsettings">
+<Title>
+<Text id="117">Ø¹Ø§Ù
+0</Text>
+</Title>
+<Text id="118">ÙØŽØ±Ø­ ÙÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+  ÙÙÙÙØ© Ø§Ø³ØªØ¹Ø±Ø§Ø¶ Ù alter Ø§ÙØªÙØ¶ÙØš Ø§ÙØ¹Ø§Ù
+ ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 Ø§ÙÙØ§Ù ØªØ­Øª tab "ÙØ³Ù Ø¹Ø±Ø¶" Ø§ÙÙØ± "Ø¹Ø§Ù
+"0</Text>
+<Text id="119">ÙÙÙØ§ ÙØªÙ
+ Ø¥Ø¹Ø¯Ø§Ø¯ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØªÙØ³ÙØ±ÙØ§0 ÙÙÙ ØªØªØ¶Ù
+Ù Ø§ÙØ¹ÙÙØ§Ù ÙØ§ÙÙØµÙ ÙØ§ÙØªÙ ØªØ¯Ø®Ù ÙÙ ØšØ¯Ø§ÙØ© ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø©0</Text>
+<Text id="120">Ø§ÙÙØ§ÙØ Ø¹ÙØ§ÙÙÙ Ø§ÙØšØ±ÙØ¯ Ø§ÙØ§ÙÙØªØ±ÙÙÙ ÙÙ
+ÙØŽØŠ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙ
+Ø§ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØªØªÙØ­ ÙÙ Ø§ÙØ­ÙÙÙ Ø§ÙØªÙ ØªÙÙ Ø£Ø¹ÙØ§Ù ØªØºÙÙÙØ± Ø¹ÙÙØ§Ù  Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©Ø Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ°Ù ØªØ®Ø²Ù ÙÙÙ Ù
+ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙØ°Ø§ ÙØ§ ÙÙ
+ÙÙ ØªØ¹Ø¯ÙÙÙ0 Ø§ÙØªØ§ÙÙØ Ù
+Ø®ØµØµ (ÙÙ ØŽÙÙ URL) ÙØ±Ù
+Ø² Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØ¹Ø±Ø¶Ù ÙÙ Ø§ÙØ¬Ø§ÙØš Ø§ÙØ£Ø¹ÙÙ ÙØ³Ø§Ø±Ø§Ù ÙÙ ØµÙØ­Ø© "Ø­ÙÙ" â ÙÙÙÙ Ø±Ù
+Ø² Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ ÙÙ Ø§ÙØµÙØ­Ø© Ø§ÙØ¹Ø§Ù
+Ø© ÙÙ
+ÙØªØšÙ ÙØ±ÙØ³ØªÙÙ ÙØ±Ø§ØšØ· ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 Ø«Ù
+ Ù
+Ø±ØšØ¹ ÙØ­Øµ ÙØªØ­Ø¯ÙØ¯ Ø¹Ù
+Ø§ Ø§Ø°Ø§ ÙØ§ÙØª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø¹Ø§Ù
+Ø©0 Ø§Ø®ÙØ±Ø§Ù Ù
+Ø±ØšØ¹ "ÙØµÙ Ù
+Ø¬Ù
+ÙØ¹Ø©" Ø§ÙÙØµÙ ÙÙØµÙÙØ§0<Reference target="creatingacollection"/>.</Text>
+</Section>
+<Section name="searchmetadatasettings">
+<Title>
+<Text id="fc-s1">ØšØ­Ø«</Text>
+</Title>
+<Text id="fc-s2">ÙØŽØ±Ø­ ÙÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙÙÙÙØ© Ø¹Ø±Ø¶ Ø§ÙÙØµ ÙÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙÙ ØµÙØ­Ø© Ø§ÙØšØ­Ø« â ØªØ­Øª tab "ÙØ³Ù Ø¹Ø±Ø¶" Ø§ÙÙØ± "ØšØ­Ø«"0</Text>
+<Text id="fc-s3">ÙØªØ¶Ù
+Ù ÙØ°Ø§ Ø§ÙÙ
+ØŽÙØ¯ Ø¬Ø¯ÙÙ ØšÙÙ ÙØŽØ§Ù ØšØ­Ø«Ø ÙÙØ§ ÙÙ
+ÙÙÙ Ø§Ø¯Ø®Ø§Ù Ø§ÙÙØµ Ø§ÙØ°Ù ÙØ³ØªØ®Ø¯Ù
+ ÙÙ
+ØµØ·ÙØ­ ØšØ­Ø« ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙÙ ØµÙØ­Ø© Ø§ÙØšØ­Ø«. ÙØªÙØ­ ÙÙ ÙØ°Ø§ Ø§ÙÙ
+ØŽÙØ¯ ØªØ­Ø¯ÙØ¯ Ø§ÙÙØµ ÙÙ ÙØºØ© ÙØ§Ø­Ø¯Ø© ÙØªØ±Ø¬Ù
+Ø© Ø§ÙÙØµ Ù
+Ù Ø§ÙÙØºØ© Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+Ø© Ø­Ø§ÙÙØ§Ù ÙÙ GLIØ¥ÙÙ Ø§ÙÙØºØ© Ø§ÙØ£Ø®Ø±Ù. ÙØªØ±Ø¬Ù
+Ø© ÙØ°Ù Ø§ÙØ£Ø³Ù
+Ø§Ø¡ Ø§ÙÙ ÙØºØ§Øª Ø£Ø®Ø±Ù Ø§Ø³ØªØ®Ø¯Ù
+ "ØªØ±Ø¬Ù
+Ø© ÙØµ" ÙÙÙ Ø¬Ø²Ø¡ Ù
+Ù Ù
+ØŽÙØ¯ ÙØ³Ù Ø¹Ø±Ø¶ (see <Reference target="translatetext"/>).</Text>
+</Section>
+<Section name="formatstatements">
+<Title>
+<Text id="173">ÙØ³Ù Ø¹Ø±Ø¶</Text>
+</Title>
+<Text id="174">ØµÙØ­Ø§Øª Ø§ÙÙØš Ø§ÙØªÙ ÙØ±Ø§ÙØ§ Ø¹ÙØ¯ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ ÙØ±ÙÙØ³ØªÙÙ ÙÙØ³Øª Ø³Ø§ØšÙÙ Ø§ÙØªØ®Ø²ÙÙØ ÙÙÙÙ ÙØªÙ
+ ØªÙÙÙØ¯ÙØ§ "Ø¹ÙÙ Ø§ÙØ·Ø§ØŠØ±" Ø¹ÙØ¯ Ø§ÙØ§Ø­ØªÙØ§Ø¬ ÙÙØ§0 ØªØ³ØªØ®Ø¯Ù
+ Ø§ÙØ§Ù
+Ø± ÙØ³Ù Ø§ÙØ¹Ø±Ø¶ ÙØªØºÙÙØ± ØªÙ
+ØžÙØ± ÙØ°Ù Ø§ÙØµÙØ­Ø§Øª Ø§ÙÙ
+ÙÙØ¯Ø©Ø ÙØªØ€Ø«Ø± ÙÙ ØªÙ
+ØžÙØ± Ø§ÙØ§Ø²Ø±Ø§Ø± Ø¹ÙØ¯ Ø¹Ø±Ø¶ Ø§ÙÙØ«Ø§ØŠÙ Ø ÙØªØ­Ø¯ÙØ¯ Ø§ÙØ±ÙØ§ØšØ· Ø§ÙØªÙ ØªØ¹Ø±Ø¶ ØšÙØ§Ø³Ø·Ø© Ù
+ØµÙÙ "Datelist" â ÙÙØ³ Ù
+Ù Ø§ÙØ³ÙÙ ØªØ·ÙÙØ± Ø§ÙØ§Ù
+Ø± ÙØ³Ù Ø§ÙØ¹Ø±Ø¶Ø ÙØ°ÙÙ ØªØ¬Øš ÙØ±Ø§Ø¡Ø© Ø§ÙÙØµÙ 2  Ù
+Ù Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+Ø·ÙØ±ÙÙ0 ÙÙØ§ÙØŽ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ Ø¥Ø¹Ø¯Ø§Ø¯Ø§Øª ÙØ³Ù Ø§ÙØ¹Ø±Ø¶ ÙÙÙÙÙØ© Ø¥ØªØ§Ø­Ø© ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ÙÙØ§0 ØªØ­Øª tab "ÙØ³Ù Ø¹Ø±Ø¶" Ø Ø§ÙÙØ± "Ø³Ù
+Ø§Øª ÙØ³Ù Ø¹Ø±Ø¶"0</Text>
+<Text id="175">ÙÙ
+ÙÙÙ ØªØ·ØšÙÙ Ø£Ù
+Ø± ÙØ³Ù Ø¹Ø±Ø¶ ÙØ§Ù ØŽØŠ ÙÙ ÙØ§ØŠÙ
+Ø© "Ø§Ø®ØªÙØ§Ø± Ø³Ù
+Ø©" Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙØ§ÙØªÙ ØªØªØ¶Ù
+Ù ÙÙ Ù
+ØµÙÙ ÙÙØ§ØŠÙ
+Ø© ØšØ³Ù
+Ø§Øª Ù
+Ø¹Ø±ÙØ© Ù
+Ù ÙØšÙ0 ÙÙØ¬Ø¯ ÙÙ
+Ø·ÙÙ ÙÙØªØ­ÙÙ
+ ÙØ¯Ù
+Ø§ ØªÙÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø³Ù
+Ø©0 ØšØ¹Ø¶ Ø§ÙØ³Ù
+Ø§Øª Ù
+Ø¹Ø±ÙØ© ÙÙ
+ÙÙ ØªÙØŽÙØ·ÙØ§ Ø§Ù Ø§Ø®Ù
+Ø§Ø¯ÙØ§ ØšØšØ³Ø§Ø·Ø© Ù
+Ù Ø®ÙØ§Ù Ø¶ØšØ· ØªØ­ÙÙ
+ÙØ§ ØšÙ
+Ø±ØšØ¹Ø§Øª Ø§ÙÙØ­ØµØ ØªØªØ·ÙØš Ø§ÙØ£Ø®Ø±Ù ØªØ­Ø¯ÙØ¯ Ø³ÙØ§Ø³Ù ÙØµØšÙ ÙÙØ³Ù Ø§ÙØ¹Ø±Ø¶0 ÙÙÙÙ ÙØ°Ø§ ØªÙØ¬Ø¯ ÙØ§ØŠÙ
+Ø© Ù
+ØªØ³Ø¯ÙØ© ÙÙÙ "Ø§ÙÙ
+ÙÙÙØ§Øª Ø§ÙÙ
+ØªÙØ§Ø¹ÙØ©" ÙØ§Ø®ØªÙØ§Ø± Ø§Ù Ø§ÙØ£Ø¬Ø²Ø§Ø¡ Ø§ÙØªÙ ØªØ·ØšÙ Ø¹ÙÙÙØ§ Ø³ÙØ§Ø³Ù ÙØ³Ù Ø¹Ø±Ø¶ (Ø§Ø°Ø§ ÙØ§Ù Ø¶Ø±ÙØ±ÙØ§Ù)0 ÙØ³ØªØ®Ø¯Ù
+ Ù
+Ø±ØšØ¹ Ø§ÙÙØµ "Ø³ÙØ§Ø³Ù ÙØ³Ù Ø¹Ø±Ø¶ HTML" ÙØ§Ø¯Ø®Ø§Ù Ø§ÙØ³ÙØ§Ø³Ù ÙØ§Ø®ØªÙØ§Ø± "Ø§ÙÙ
+ØªØºÙØ±Ø§Øª" Ø§ÙÙ
+Ø¹Ø±ÙØ© Ù
+Ù ÙØšÙ0 ÙØ­ØŽØ± Ù
+ØªØºÙØ± ÙÙ Ø§ÙÙ
+ÙÙØ¹ Ø§ÙØ­Ø§ÙÙ Ù
+Ù Ø³ÙØ§Ø³Ù ÙØ³Ù Ø§ÙØ¹Ø±Ø¶Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±ÙØ§ Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ©Ø ÙØ§ÙÙØ± "Ø­ØŽØ±"0 <AutoText key="glidict::CDM.FormatManager.Insert_Variable"/> combobox.</Text>
+<Text id="176">ØªØ­Ø¯ÙØ¯ ÙØ³Ù Ø¹Ø±Ø¶ Ø§ÙØªØ±Ø§Ø¶Ù ÙÙ
+ÙÙÙ Ù
+Ø­Ø¯Ø¯ ØšØ§Ø®ØªÙØ§Ø± "ÙÙ Ø§ÙÙ
+ÙØ§Ù
+Ø­" Ø­ÙØ« ÙØªÙ
+ Ø§Ø¹ØªÙ
+Ø§Ø¯ ÙØ³Ù Ø§ÙØ¹Ø±Ø¶ ÙØ°Ø§ ÙÙÙ ØªØ·ØšÙÙØ§Øª Ù
+ÙØ§Ù
+Ø­ ÙØ³Ù Ø§ÙØ¹Ø±Ø¶ Ù
+Ø§ÙÙ
+ ÙØªÙ
+ ØªØ­Ø¯ÙØ¯ ØºÙØ±Ù0</Text>
+<Text id="177">ÙØ§Ø¶Ø§ÙØ© Ø£Ù
+Ø± ÙØ³Ù Ø¹Ø±Ø¶ Ø¬Ø¯ÙØ¯0 ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø³Ù
+Ø© Ù
+ÙÙÙØ§Øª ÙØ§ØšÙØ© ÙÙØªØ·ØšÙÙ0 ØªØ¹Ø±Ø¶ Ø§ÙÙÙÙ
+Ø© Ø§ÙØ§ÙØªØ±Ø§Ø¶ÙØ© ÙÙØ°Ø§ Ø§ÙØ£Ù
+Ø± ØšØ§ÙÙÙÙ Ø§ÙØ±Ù
+Ø§Ø¯Ù0 Ø§ÙÙØ± <AutoText key="glidict::CDM.FormatManager.Add"/> ÙØªÙÙÙØ°ÙØ§ ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 Ø§Ù
+Ø± ÙØ³Ù Ø¹Ø±Ø¶ ÙØ§Ø­Ø¯ ÙÙØ· ÙØ§Ù Ù
+ØŽØªØ±Ù Ø³Ù
+Ø©/ Ù
+ÙÙÙØ§Øª0</Text>
+<Text id="178">ÙØ­Ø°Ù Ø£Ù
+Ø± ÙØ³Ù Ø¹Ø±Ø¶Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©Ø ÙØ§ÙÙØ± "Ø­Ø°Ù Ø£Ù
+Ø± ÙØ³Ù Ø¹Ø±Ø¶"0</Text>
+<Text id="180">ÙÙ
+Ø²ÙØ¯ Ù
+Ù Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø­ÙÙ Ø§ÙÙ
+ØªØºÙØ±Ø§Øª ÙØ³Ù
+Ø§Øª Ø§ÙÙ
+ÙÙÙØ§Øª- Ø§ÙØ±Ø§ Ø§ÙÙØµÙ 2 Ù
+Ù Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+Ø·ÙØ±ÙÙ0</Text>
+</Section>
+<Section name="translatetext">
+<Title>
+<Text id="182">ØªØ±Ø¬Ù
+Ù ÙØµ</Text>
+</Title>
+<Text id="183">ÙØµÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ Ù
+ØŽÙØ¯ Ø§ÙØªØ±Ø¬Ù
+Ø©Ø Ø­ÙØ« ÙÙ
+ÙÙÙ ØªØ¬Ø²ØŠØ© ÙØµ Ù
+Ù ÙØºØ© Ù
+Ø®ØµØµØ© ÙØ§Ø¬Ø²Ø§Ø¡ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ ÙØºØ© Ø£Ø®Ø±ÙØ ØªØ­Øª  "ÙØ³Ù Ø¹Ø±Ø¶" Ø§ÙÙØ± "ØªØ±Ø¬Ù
+Ø© ÙØµ".</Text>
+<Text id="184">Ø§ÙÙØ§ÙØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ù
+Ø¯Ø®Ù Ù
+Ù ÙØ§ØŠÙ
+Ø© "Ø³Ù
+Ø§Øª"Ø ØªØžÙØ± Ø³ÙØ§Ø³Ù Ø§ÙÙØºØ© Ø§ÙÙ
+Ø®ØµØµØ© Ø§ÙÙ
+ØªØ¹ÙÙØ© ØšØ§ÙØ³Ù
+Ø© Ø§ÙØªÙ ØªØžÙØ± Ø§Ø¯ÙØ§Ù â Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© "ÙØºØ© Ø§ÙØªØ±Ø¬Ù
+Ø©" ÙØ§Ø®ØªÙØ§Ø± Ø§ÙÙØºØ© Ø§ÙÙ
+Ø·ÙÙØšØ©- ÙØ§Ø·ØšØ¹ Ø§ÙÙØµ Ø§ÙÙ
+ØªØ±Ø¬Ù
+ Ù
+Ù Ù
+ÙØ·ÙØ© Ø§ÙÙØµ Ù
+Ø¹ Ø§ÙØ§Ø­Ø§ÙØ© Ø§ÙÙ "ØªØ¬Ø²ØŠØ© Ø§Ø°Ø§ ÙØ§Ù Ø¶Ø±ÙØ±ÙØ§ÙÙØµ Ù
+ØšØ¯ØŠÙØ©"0 Ø§Ø°Ø§ ÙØ§Ù Ø¶Ø±ÙØ±ÙØ§ÙØ Ø§ÙÙØ± "Ø§Ø¶Ø§ÙØ© ØªØ±Ø¬Ù
+Ø©"0</Text>
+<Text id="185">ÙØ­Ø°Ù ØªØ±Ø¬Ù
+Ø© Ù
+ÙØ¬ÙØ¯Ø©Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±ÙØ§ Ù
+Ù Ø¬Ø¯ÙÙ "Ø§ÙØªØ±Ø¬Ù
+Ø§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©" ÙØ§ÙÙØ± "Ø­Ø°Ù ØªØ±Ø¬Ù
+Ø©"0</Text>
+<Text id="186">ÙØªØ¹Ø¯ÙÙ ØªØ±Ø¬Ù
+Ø©Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±ÙØ§Ø ØªØ¹Ø¯ÙÙ Ù
+ÙØ·ÙØ© "Ø§ÙÙØµ Ø§ÙÙ
+ØªØ±Ø¬Ù
+" ÙØ§ÙÙØ± "Ø§Ø³ØªØšØ¯Ø§Ù ØªØ±Ø¬Ù
+Ø©"0</Text>
+</Section>
+<Section name="xcollectionsearching">
+<Title>
+<Text id="161">ØšØ­Ø« ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª</Text>
+</Title>
+<Text id="162">ÙØªÙØ­ ÙÙ ÙØ±ÙÙØ³ØªÙÙ ØšØ­Ø« Ù
+Ø®ØªÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª ÙØ£Ø£ÙÙØ§ Ù
+Ø¬Ù
+ÙØ¹Ø© ÙØ§Ø­Ø¯Ù .ÙÙ
+ÙÙ ÙØ¹Ù ÙØ°Ø§ ØšØªØ­Ø¯ÙØ¯ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙØ£Ø®Ø±Ù ÙÙØšØ­Ø« ÙØšØ¬Ø§ÙØš Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙØ­Ø§ÙÙÙ0 ØªØ­Øª "ÙØ³Ù Ø¹Ø±Ø¶" Ø Ø§ÙÙØ± "ØšØ­Ø« ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª"0</Text>
+<Text id="163">Ù
+ØŽÙØ¯ "ØšØ­Ø« ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª" ÙØžÙØ± ÙØ§ØŠÙ
+Ù
+Ø© ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ
+ØªÙÙØ±Ø© ØšÙ
+Ø±ØšØ¹Ø§Øª ÙØ­Øµ. ÙØªÙ
+ Ø§Ø¹ØªØšØ§Ø± Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙØ­Ø§ÙÙØ© Ù
+Ø®ØªØ§Ø±Ù ÙÙØ§ ÙÙ
+ÙÙ ÙÙØ¶ Ø§Ø®ØªÙØ§Ø±ÙØ§ . ÙØ§Ø¶Ø§ÙØ© Ù
+Ø¬Ù
+ÙØ¹Ø© Ø£Ø®Ø±Ù ÙÙØšØ­Ø« ØšØµÙØ±Ø© Ù
+ÙØ§Ø²ÙØ©Ø Ø§ÙÙØ± Ø¹ÙÙÙØ§ Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© (Ø§ÙÙØ± Ù
+Ø±Ø© Ø£Ø®Ø±Ù ÙØ­Ø°ÙÙØ§ ). Ø§Ø°Ø§ ØªÙ
+ Ø§Ø®ØªÙØ§Ø± Ù
+Ø¬Ù
+ÙØ¹Ø© ÙØ§Ø­Ø¯Ø© ÙÙ  ÙÙÙÙ ÙÙØ§Ù ØšØ­Ø« Ø¹ØšØ± ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª.</Text>
+<Text id="164">Ø§Ø°Ø§ ÙÙ
+ ØªÙ
+ØªÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙØ±Ø¯ÙØ© ÙÙØ³ Ø§ÙÙØŽØ§ÙØ§Øª (Ù
+ØªØ¶Ù
+ÙÙ ÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙØ±Ø¹ÙØ© ÙÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙØºØ©) ØšØµÙØ±Ø© Ù
+ØªÙ
+Ø§Ø«ÙØ©Ø ÙØ§Ù Ø§ÙØšØ­Ø« Ø¹ØšØ± ÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª ÙØ¹Ù
+Ù ØšØµÙØ±Ø© ØµØ­ÙØ­Ù0 ÙÙÙ ÙØªÙ
+ÙÙ Ø§ÙÙ
+Ø³ØªÙÙØ¯ Ø¥ÙØ§ Ù
+Ù ØšØ­Ø« Ø§ÙÙØŽØ§ÙØ§Øª ÙÙ ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø©0</Text>
+<Text id="165">ÙÙ
+Ø²ÙØ¯ Ù
+Ù Ø§ÙØªÙØ§ØµÙÙØ Ø£ÙØžØ± Ø§ÙÙØµÙ Ø§ÙØ£ÙÙ Ù
+Ù Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+Ø·ÙØ±ÙÙ0</Text>
+</Section>
+<Section name="collectionspecificmacros">
+<Title>
+<Text id="fc-m1">Ù
+Ø§ÙØ±Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+Ø®ØµØµ</Text>
+</Title>
+<Text id="fc-m2">ØªØ­Øª tab "ÙØ³Ù Ø¹Ø±Ø¶" Ø Ø§ÙÙØ± "Ù
+Ø§ÙØ±Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+Ø®ØµØµ</Text>
+<Text id="fc-m3">ÙØ¹Ø±Ø¶ ÙÙ ÙØ°Ø§ Ø§ÙÙ
+ØŽÙØ¯ Ù
+Ø­ØªÙÙØ§Øª Ù
+ÙÙ Ù
+Ø§ÙØ±Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Extra-dm ÙÙÙØ§ ÙØªÙ
+ ØªØ¹Ø±ÙÙ Ø§ÙÙ
+Ø§ÙØ±Ù Ø§ÙÙ
+Ø®ØµØµ ÙÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø©. ÙÙ
+Ø¹Ø±ÙØ© Ø§ÙÙ
+Ø²ÙØ¯ Ø­ÙÙ Ø§ÙÙ
+Ø§ÙØ±Ù Ø§ÙØžØ± Ø§ÙÙØµÙ 3 Ù
+Ù Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+Ø·ÙØ±ÙÙ .</Text>
+</Section>
+<Section name="depositormetadatasettings">
+<Title>
+<Text id="dm-1">Ù
+Ø³ØªÙØ¯Ø¹ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª</Text>
+</Title>
+<Text id="dm-2">ÙÙ
+ÙÙ Ù
+Ø³ØªÙØ¯Ø¹Greenstone Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ Ù
+Ù Ø¥Ø¶Ø§ÙØ© ÙØ«Ø§ØŠÙ Ø¬Ø¯ÙØ¯Ø© ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+ÙØ¬ÙØ¯Ø© Ù
+Ù Ø®ÙØ§Ù ÙØ§Ø¬ÙØ© ÙÙØš. ÙØµÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙØ§ÙØªØ© Ù
+Ø³ØªÙØ¯Ø¹ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§ØªØ Ø­ÙØ« ÙÙ
+ÙÙÙ ØªØ­Ø¯ÙØ¯ Ø­ÙÙ Ù
+Ù Ø­ÙÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙØ¥Ø³ØªØ®Ø¯Ø§Ù
+ ÙÙØµÙ Ø§ÙÙØ«Ø§ØŠÙ Ø§ÙØ¬Ø¯ÙØ¯Ø©Ø§ÙÙ
+Ø¶Ø§ÙØ©. ÙÙ Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ÙØ­ÙØ© ØšÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø³ÙÙ ØªÙÙÙ Ù
+ØªØ§Ø­Ø© ÙÙØ¥Ø®ØªÙØ§Ø±. Ø¥Ø°Ø§ ÙÙ
+ ÙÙÙ ÙÙØ§Ù Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø³ÙÙ "Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Greenstone Ø§ÙÙ
+Ø³ØªØ®Ø±Ø¬Ø©" Ù
+ÙØ­ÙØ§ ØšØ§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø Ø³ÙÙ ÙØªÙ
+ Ø¥Ø³ØªØ®Ø¯Ø§Ù
+ "Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¯ØšÙÙ ÙÙØ±" ÙÙ
+Ø¹ÙØ§Ø± Ø¥ÙØªØ±Ø§Ø¶Ù. ÙÙ
+Ø¹Ø±ÙØ© Ø§ÙÙ
+Ø²ÙØ¯ Ø­ÙÙ Ø§ÙÙ
+Ø³ØªÙØ¯Ø¹ Ø£ÙØžØ±http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/depositor.htm.ØªØ­Øª "ÙØ³Ù Ø¹Ø±Ø¶" Ø£ÙÙØ± "Ù
+Ø³ØªÙØ¯Ø¹ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª".</Text>
+<Text id="dm-3">ØªØ¹Ø±Ø¶ ÙØ§ÙØªØ© Ù
+ØªÙØ¯Ø¹ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙØ§ØŠÙ
+Ø© ØšØ­ÙÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ØšÙ
+Ø±ØšØ¹Ø§Øª ÙØ­Øµ. Ø¥Ø°Ø§ ÙØ§Ù ÙÙØ§Ù Ø£ÙØ«Ø± Ù
+Ù Ù
+Ø¹ÙØ§Ø± ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ù
+ÙØ­Ù ØšØ§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©Ø Ø³ÙÙ ØªØ¹Ø±Ø¶ Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ØªØ¬Ø§ÙØ±Ø© ØšØ£ÙÙÙÙ Ù
+Ø®ØªÙÙØ©.ÙØžÙØ± ØªØ­ÙÙÙ Ù
+Ø€ØŽØ± Ø§ÙÙØ£Ø±Ø© Ù
+Ø±ØšØ¹ ÙØµÙ ÙÙÙ
+Ø³Ø§Ø¹Ø¯Ø©.</Text>
+<Text id="dm-4">ÙÙ
+ ØšØ¥Ø®ØªÙØ§Ø± ØªÙÙ Ø§ÙØªÙ ØªØ±ØºØš ÙÙ Ø¥Ø³ØªØ®Ø¯Ø§Ù
+ÙØ§ ÙÙØµÙ Ø§ÙÙØ«Ø§ØŠÙ Ø§ÙØ¬Ø¯ÙØ¯Ø© Ø¹ÙØ¯ Ø¥ÙØ¯Ø§Ø¹ÙØ§ ØšÙØ§Ø³Ø·Ø© Ø§ÙÙ
+Ø³ØªÙØ¯Ø¹.Ø¹ÙØš Ø¥Ø®ØªÙØ§Ø± Ø¹ÙØµØ± ØªØžÙØ± ÙØ§ØŠÙ
+Ø© Ù
+ÙØ³Ø¯ÙØ© ØšØ®ÙØ§Ø±ÙÙ.ÙØ³Ù
+Ø­ ÙÙ ÙØ°Ø§ ØšØªØ­Ø¯ÙØ¯ ÙÙØ¹ Ù
+Ø±ØšØ¹ Ø§ÙØ¥Ø¯Ø®Ø§ÙÙÙØ¹ÙØµØ± ÙÙ "ÙØ§Ø¬ÙØ© Ø§ÙÙÙØš"."ÙØµ" ÙØ¹ÙÙ ÙÙØ§ Ø§Ù Ù
+Ø±ØšØ¹ ÙØµ ØšØ³Ø·Ø± ÙØ§Ø­Ø¯ Ø³ÙÙ ÙØªÙ
+ Ø¥Ø³ØªØ®Ø¯Ø§Ù
+Ù ØšÙÙÙ
+Ø§ "Ù
+ÙØ·ÙØ© ÙØµ" ÙØ¹ÙÙ Ù
+Ø±ØšØ¹ ÙØµ ØšØ³Ø·ÙØ± Ù
+ØªØ¹Ø¯Ø¯Ø©Ø³ÙÙ ÙØªÙ
+ Ø¥Ø³ØªØ®Ø¯Ø§Ù
+Ù.ÙÙ
+ ØšØ¥Ø®ØªÙØ§Ø± ÙÙØ¹ Ù
+Ø±ØšØ¹ Ø§ÙÙØµ Ø§ÙÙ
+ÙØ§Ø³Øš ÙÙÙ Ø­ÙÙ</Text>
+<Text id="dm-5">ÙØ¬Øš Ø¹ÙÙ Ø§ÙØ£ÙÙ Ø¥Ø®ØªÙØ§Ø± Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª.Ø¥Ø°Ø§ ÙØ§Ù ÙÙØ§Ù Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙØ§Ø­Ø¯ Ù
+Ø®ØªØ§Ø± ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø©.ÙØžÙØ± ÙÙØ¶ Ø§ÙØ¹ÙØµØ± ÙØ§ØŠÙ
+Ø© Ù
+ÙØšØ¹Ø«Ø©ØšØ±Ø³Ø§ÙØ© ØªØ­Ø°ÙØ± <AutoText key="glidict::CDM.DepositorMetadataManager.Warning"/>.</Text>
+</Section>
+</Section>
+<Section name="miscellaneous">
+<Title>
+<Text id="202">Ù
+ØªÙÙØ¹Ø§Øª</Text>
+</Title>
+<Text id="203">ÙØµÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ Ù
+ÙØ§Ù
+Ø­ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØºÙØ± Ø§ÙÙ
+Ø±ØªØšØ·Ø© ØšØ§Ù Ù
+ØŽÙØ¯ Ù
+Ø¹ÙÙ0</Text>
+<Section name="preferences">
+<Title>
+<Text id="204">Ø§ÙØªÙØ¶ÙÙØ§Øª</Text>
+</Title>
+<Text id="205">ÙØŽØ±Ø­ ÙØ°Ø§  Ø§ÙÙØ³Ù
+ Ù
+Ø±ØšØ¹ Ø­ÙØ§Ø± Ø§ÙØªÙØ¶ÙÙØ§Øª ÙØ§ÙØ°Ù ÙØªØ§Ø­ ØšÙØªØ­ "Ù
+ÙÙ" 
+Ø§ÙØªÙØ¶ÙÙØ§Øª0</Text>
+<Text id="206">"ØªÙØªØ­ ÙØ§ÙØ°Ø© Ø§ÙØªÙØ¶ÙÙØ§Øª  ÙÙ  tab "Ø¹Ø§Ù
+"  Ø§ÙØ®ÙØ§Ø± Ø§ÙØ£ÙÙ ÙÙ Ø­ÙÙ ÙØµÙ ÙØ§Ø¯Ø®Ø§Ù Ø¹ÙÙØ§Ù  ØšØ±ÙØ¯Ù Ø§ÙØ§ÙÙØªØ±ÙÙÙ ÙØ³ÙÙ ÙØªÙ
+  Ø§Ø³ØªØ®Ø¯Ø§Ù
+Ù Ù "Ù
+ÙØŽØŠ" Ù"Ù
+Ø§ÙÙ" Ø¶Ù
+Ù Ø¹ÙØ§ØµØ±  ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©  Ø§ÙØ¬Ø¯ÙØ¯Ø©0 Ø§ÙØ®ÙØ§Ø± Ø§ÙØ«Ø§ÙÙ  ÙÙ ÙØ§ØŠÙ
+Ø© Ù
+ÙØ³Ø¯ÙØ© ØšØ§ÙÙØºØ§Øª Ø§ÙØªÙ ØªØ³ØªØ·ÙØ¹ Ø¹Ø±Ø¶ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØšÙØ§0 Ø§Ø°Ø§ ÙÙ
+Øª ØšØ§Ø®ØªÙØ§ Ø± ÙØºÙØ ÙÙØšØºÙ Ø§Ø¹Ø§Ø¯Ø© ØªØŽØºÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ÙØªØ­Ù
+ÙÙ Ø³ÙØ§Ø³Ù Ø§ÙÙØºØ© ÙÙ Ø§ÙÙØ§Ù
+ÙØ³0</Text>
+<Text id="207">Ø§Ø°Ø§ ØªÙ
+ ØªØ£ØŽÙØ± "Ø¹Ø±Ø¶ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø³ØªØ®ÙØµØ©" ÙØªÙ
+ Ø¹Ø±Ø¶ Ù
+Ø®ØªÙÙ Ø§ÙØ¶ÙØ§ØšØ· Ø§ÙØªÙ ØªØ¹Ø§Ù
+Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø³ØªØ®ÙØµÙ Ø¢ÙÙØ§ Ù
+Ù Ø§ÙÙØ«Ø§ØŠÙ0 ØªÙØ¶  Ø§ÙØ§Ø®ØªÙØ§Ø±  ÙØ®ÙÙ ÙØ°Ù Ø§ÙÙØ§ØµÙØ§Øª (ØšØ§ÙØ±ØºÙ
+ Ù
+Ù Ø°ÙÙ  ØªØšÙ Ù
+ØªÙÙØ±Ù ÙÙ  ØªØµÙ
+ÙÙ
+ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0  ÙØ®ÙØ§Ù  Ù
+Ø¬Ù
+ÙØ¹Ø©  ÙØ±ÙÙØ³ØªÙÙ Ø§ÙÙÙØ§ØŠÙØ©)0 Ø§Ø°Ø§ ØªÙ
+ ØªØ£ØŽÙØ± "Ø¹Ø±Ø¶ Ø§Ø­Ø¬Ø§Ù
+ Ø§ÙÙ
+ÙÙ"  ÙØªÙ
+ Ø¹Ø±Ø¶ Ø§ÙØ­Ø¬Ù
+  ØšØ¹Ø¯ Ø§ÙÙ
+ÙÙ ÙÙ Ù
+Ø³Ø§Ø­Ø© Ø§ÙØ¹Ù
+Ù ÙØŽØ¬Ø±Ø©  Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙ Ù
+ØŽÙØ¯Ù  "ØªØ¬Ù
+ÙØ¹" Ù"Ø¥Ø«Ø±Ø§Ø¡"0</Text>
+<Text id="208">ÙØ³ØªØ®Ø¯Ù
+  tab "Ø³ÙØ§Ù" ÙØ¶ØšØ·  Ù
+Ø³ØªÙÙ Ø§ÙØªÙØµÙÙ ÙÙ Ø§ÙÙØ§Ø¬ÙØ©- ÙÙÙØ± "Ù
+Ø³Ø§Ø¹Ø¯ Ù
+ÙØªØšÙ" Ø£ÙÙ Ø§Ø¹Ø¯Ø§Ø¯ Ø­ÙØ« ÙØªÙ
+  Ø­Ø¬Øš Ù
+ØŽÙØ¯  Ø§ÙØªØµÙ
+ÙÙ
+ ÙØ§ÙÙ
+Ø¶Ø§Ù
+ÙÙ Ø§ÙØªÙ ØªØªØ·ÙØš Ø§ÙØªØºÙØ±Ø§Øª Ø§ÙÙ
+ÙØªØžÙ
+Ø©Ø ÙØªØªÙÙØ± Ù
+Ø¹ÙÙÙ
+Ø§Øª ÙÙÙÙØ© ÙÙ Ù
+Ø¯ÙÙÙ Ø§Ø­Ø¯Ø§Ø« ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0  ÙÙÙØ± Ø³ÙØ§Ù "Ø®ØšÙØ±" Ø§Ø¹ÙÙ Ø¥Ø¹Ø¯Ø§Ø¯ Ø­ÙØ« ÙØªØ§Ø­  Ø§ÙÙØµÙÙ ÙÙÙ Ù
+ÙØ§Ù
+Ø­ Ø§ÙØªØµÙ
+ÙÙ
+Ø Ù
+ØªØ¶Ù
+ÙÙ ØªÙ
+ÙØ¶Ø­ Ø§ÙÙ
+ÙØ§ØšØ³ ÙÙ
+Ø¶Ø§Ù
+ÙÙ Ø§ÙØªØ¹ØšÙØ±Ø§Øª Ø§ÙÙ
+ÙØªØžÙ
+Ø©Ø ÙØªØ³Ø¬ÙÙ Ø§ÙÙ
+Ø®Ø±Ø¬Ø§Øª Ø§ÙÙØ§Ù
+ÙØ© ÙØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙ Ø§ÙÙ
+Ø¯ÙÙÙ ÙØªØºÙÙØ± Ø£Ù Ø§Ø³ØªØ¹Ø±Ø§Ø¶ Ø§ÙØ³ÙØ§ÙØ§Øª Ø Ø§ÙÙØ± Ø²Ø± "Radio buttons" Ø§ÙØ«Ø§ÙÙ ÙÙØ³ÙØ§Ù Ø§ÙØ°Ù ØªÙØªÙ
+ ØšÙ0 ÙÙ
+ÙÙÙ Ù
+Ø¹Ø±ÙØ© Ø§ÙØ³ÙØ§Ù Ø§ÙØ°Ù Ø§ÙØª ÙÙÙ ØšØ§ÙÙØžØ± Ø¥ÙÙ Ø¹Ù
+ÙØ¯ Ø¹ÙÙØ§Ù ÙØ§Ø¬ÙÙ Ø§ÙÙ
+ÙØªØšÙ0</Text>
+<Text id="210">ÙØªÙØ­ ÙÙ  tab "Ø§ÙØ§ØªØµØ§Ù" Ø­ÙØ« Ø§ÙÙ
+Ø³Ø§Ø± Ø¥ÙÙ Ù
+Ø²ÙØ¯ Ù
+ÙØªØšØ© ÙØ±ÙÙØ³ØªÙÙ Ø§ÙÙ
+Ø­ÙÙ Ø§ÙØ°Ù ÙØ³ØªØ®Ø¯Ù
+ Ø¹ÙØ¯ Ø¹Ø±Ø¶ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©Ø ÙÙ
+Ø§ ÙØªÙØ­  ÙÙ Ø¥Ø¹Ø¯Ø§Ø¯ Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙØšØ±ÙÙØ³Ù ÙÙØ§ØªØµØ§Ù Ø¹ØšØ± Ø§ÙØ§ÙØªØ±ÙØª (Ù
+Ø«Ø§ÙØ ØªÙØ²ÙÙ Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª)<Reference target="downloadingfiles"/> ÙÙ
+Ø²ÙØ¯ Ù
+Ù Ø§ÙØªÙØ§ØµÙÙ). ÙÙÙ
+ ØšØªØ£ØŽÙØ± Ø§ÙÙ
+Ø±ØšØ¹ ÙØªÙØŽÙØ· Ø§ÙØšØ±ÙÙØ³Ù ÙØªÙÙÙØ± Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø¹ÙÙØ§Ù Ù
+Ø¶ÙÙ Ø§ÙØšØ±ÙÙØ³Ù ÙØ±ÙÙ
+ Ø§ÙÙ
+ÙÙØ°0 ÙØªÙ
+ ØªØ¬ÙÙØ² Ø§ØªØµØ§Ù Ø§ÙØšØ±ÙÙØ³Ù Ø¹ÙØ¯Ù
+Ø§ ØªÙÙÙ
+  ØšØºÙÙ Ù
+Ø±ØšØ¹ Ø§ÙØªÙØ¶ÙÙØ§Øª0</Text>
+<Text id="211">Ø®ÙØ§Ù ÙØªØ±Ø© ØªØŽØºÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙØ Ø±ØšÙ
+Ø§ ØªØžÙØ± Ø±Ø³Ø§ØŠÙ ØªØ­Ø°ÙØ± ÙØ§Ø¹ÙØ§Ù
+Ù ØšØ¹ÙØ§ÙØš ØšØ¹Ø¶ Ø§ÙØ§Ø¬Ø±Ø§Ø¡Ø§Øª ØºÙØ± Ø§ÙÙ
+Ø±ØŠÙØ©0 ÙÙ
+ÙÙÙ Ø§Ø®Ù
+Ø§Ø¯ ÙØ°Ù Ø§ÙØ±Ø³Ø§ØŠÙ ÙØªØ£ØŽÙØ± Ù
+Ø±ØšØ¹ " ÙØ§ØªØ¹Ø±Ø¶ ÙØ°Ø§ Ø§ÙØªØ­Ø°ÙØ± Ù
+Ø±Ø© Ø«Ø§ÙÙØ©"0 ÙÙ
+ÙÙÙ ØªÙØŽÙØ· Ø±Ø³Ø§ØŠÙ  Ø§ÙØªØ­Ø°ÙØ± ØšØ§Ø³ØªØ®Ø¯Ø§Ù
+ tab  "ØªØ­Ø°ÙØ±Ø§Øª 0 ÙÙ
+ ØšØªØ£ØŽÙØ± Ø§ÙÙ
+Ø±ØšØ¹ Ø§ÙØªØ§ÙÙ ÙØ±Ø³Ø§ØŠÙ Ø§ÙØªØ­Ø°ÙØ± Ø§ÙØªÙ ØªØ±ØºØš ÙÙ Ø±Ø€ÙØªÙØ§ Ù
+Ø±Ø© Ø«Ø§ÙÙØ©0</Text>
+</Section>
+<Section name="fileassociations">
+<Title>
+<Text id="212">Ù
+ØªØ¹ÙÙØ§Øª Ø§ÙÙ
+ÙÙ</Text>
+</Title>
+<Text id="213">ÙØ³ØªØ®Ø¯Ù
+ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØšØ±Ø§Ù
+Ø¬ ØªØ·ØšÙÙÙØ© Ù
+Ø¹ÙÙØ© ÙÙØªØ­ Ø§ÙÙ
+Ø§Ø· Ù
+ÙÙØ§Øª Ù
+Ø¹ÙÙØ©Ø ÙØ­Ø« Ù
+ØªØ¹ÙÙØ§Øª Ø§ÙÙ
+ÙÙØ  Ø§ÙØªØ­ ÙØ§ØŠÙ
+Ø© "Ù
+ÙÙ" Ø«Ù
+ Ø£ÙÙØ± "Ù
+ØªØ¹ÙÙØ§Øª Ø§ÙÙ
+ÙÙ00"</Text>
+<Text id="214">ÙØ§Ø¶Ø§ÙØ© Ù
+ØªØ¹ÙÙØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§Ù
+ØªØ¯Ø§Ø¯ Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+Ø·ÙÙØš ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© Ø Ø£Ù Ø£Ø·ØšØ¹ Ø§ÙØ§Ù
+ØªØ¯Ø§Ø¯ Ø§ÙØ¬Ø¯ÙØ¯ (ÙØ§ØªØ¶Ù
+Ù "0") â Ø«Ù
+ Ø¥Ù
+Ø§ Ø£Ù  ØšØ·ØšØ§Ø¹Ø© Ø§ÙØ£Ù
+Ø± ÙØ§Ø·ÙØ§Ù Ø§ÙØšØ±ÙØ§Ù
+Ø¬ Ø§ÙÙ
+Ø·ÙÙØš ÙÙ Ø§ÙØ­ÙÙ Ø§ÙÙ
+ÙØ§Ø³Øš Ø  Ø£Ù Ø§Ø®ØªÙØ§Ø± Ø§ÙØªØ·ØšÙÙ Ù
+Ù Ù
+Ø±ØšØ¹ Ø­ÙØ§Ø± "ØªØµÙØ­"0 ÙÙ
+ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ "1%" ÙØ§Ø·ÙØ§Ù Ø§ÙØ£Ù
+Ø± ÙØ­ØŽØ± Ø§Ø³Ù
+ Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+Ø·ÙÙØš ÙØªØ­Ù0  Ø¹ÙØ¯Ù
+Ø§ ÙØªÙ
+ ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡Ø ÙØªÙ
+ ØªÙØŽÙØ· "Ø§Ø¶Ø§ÙØ©" ÙØšØ§ÙÙÙØ± Ø¹ÙÙÙØ§ ØªØªÙ
+ Ø§Ø¶Ø§ÙØ© Ø§ÙÙ
+ØªØ¹ÙÙ0</Text>
+<Text id="215">ØªØ¹Ø¯ÙÙ Ø§ÙÙ
+ØªØ¹ÙÙØ§ØªØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§Ù
+ØªØ¯Ø§Ø¯ Ù
+ÙÙ Ù
+ÙØ¬ÙØ¯ ÙØªØ¹Ø¯ÙÙ Ø§Ù Ø§Ù
+ØªØ¯Ø§Ø¯ Ù
+ØªØ¹ÙÙ ÙÙ Ø­ÙÙ Ø§Ø·ÙØ§Ù Ø§ÙØ£Ù
+Ø± Ø«Ù
+ Ø§ÙÙØ±  "Ø§Ø³ØªØšØ¯Ø§Ù"</Text>
+<Text id="216">ÙØ­Ø°Ù Ù
+ØªØ¹ÙÙØ§ØªØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§Ù
+ØªØ¯Ø§Ø¯ Ù
+ÙÙ Ù
+ÙØ¬ÙØ¯ ÙØ£ÙÙØ± "Ø­Ø°Ù" .</Text>
+<Text id="217">ÙØªÙ
+ Ø­ÙØž Ù
+ØªØ¹ÙÙØ§Øª Ø§ÙÙ
+ÙÙ ÙÙ Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ±ØŠÙØ³Ù ÙÙØ§Ø¬ÙÙÙØ© Ø§ÙÙ
+ÙØªØšÙ ÙÙ Ù
+ÙÙ "associations.xml".</Text>
+</Section>
+<Section name="exporting">
+<Title>
+<Text id="exp-1">ØªØµØ¯ÙØ± Ø§ÙÙ
+Ù
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ ÙÙØŠØ§Øª Ø£Ø®Ø±Ù</Text>
+</Title>
+<Text id="exp-2">ÙØªÙØ­ ÙØ±ÙÙØ³ØªÙÙ ØªØµØ¯ÙØ± Ù
+Ø­ØªÙÙØ§Øª / Ø£Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙØŠØ§Øª Ù
+Ø¹ÙØ§Ø±ÙØ© Ø¹Ø¯ÙØ¯Ù ÙØªØªØ¶Ù
+Ù METSÙ DSPACE Ù MABCXML</Text>
+<Text id="exp-3">ÙØªØµØ¯ÙØ± Ù
+Ø¬Ù
+ÙØ¹Ø© Ø£Ù Ø§ÙØ«Ø± Ø Ø§ÙØªØ­ "Ù
+ÙÙ" ÙÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± "ØªØµØ¯ÙØ±" ÙÙ
+ÙÙÙ Ø§Ø®ØªÙØ§Ø± Ø§Ù Ø§ÙÙÙØŠØ§Øª  Ø§ÙØªÙ ØªÙØ¯ Ø§ÙØªØµØ¯ÙØ± Ø¥ÙÙÙØ§ ØšØ§Ø®ØªÙØ§Ø±ÙØ§ ÙÙ (Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© "ØªØµØ¯ÙØ± Ø¥ÙÙ00 "0 ÙÙ
+ ØšØªØ­Ø¯ÙØ¯ Ø§Ø³Ù
+ Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ°Ù ØªÙØ¯ Ù
+ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+ØµØ¯Ø±Ø© ÙÙÙ&mdash;ØªÙØªÙÙ ÙØ°Ù Ø§ÙÙ
+ÙÙØ§Øª&lt;path to greenstone&gt;/tmp/exported_xxx, Ø­ÙØ« ÃÃÃ ÙÙ Ø§ÙØ§Ø³Ù
+ Ø§ÙØ°Ù Ø­Ø¯Ø¯ØªÙ0 ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± ÙØ§Ø­Ø¯Ø© Ø£Ù Ø£ÙØ«Ø± Ù
+Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ
+ØªÙÙØ±Ø© ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© Ø«Ù
+ Ø§ÙÙØ± "ØªØµØ¯ÙØ± Ù
+Ø¬Ù
+ÙØ¹Ø© (Ø§Øª)"0</Text>
+<Text id="exp-4">ØªÙØ¬Ø¯ Ø®ÙØ§Ø±Ø§Øª  Ø£Ø®Ø±Ù Ù
+Ø®ØµØµØ© ÙÙÙÙØŠØ§Øª Ø§ÙÙ
+Ø®ØªÙÙØ©0 ÙÙ
+ÙÙÙ ØªØ­Ø¯ÙØ¯ Ù
+ÙÙØ§Øª XSLT Ø§ÙØªÙ ØªØ·ØšÙ Ø§ÙÙØ§ØªØ¬ Ù
+Ù ÙØ«Ø§ØŠÙ XML ØšÙØ§ ÙØªÙØ¶ÙØš ÙÙØŠØ© ÙØ³Ù Ø§ÙÙ
+Ø®Ø±Ø¬Ø§Øª â Ø§ÙØªØµØ¯ÙØ± Ø¥ÙÙ MARCXML ÙØ³ØªØ®Ø¯Ù
+ Ù
+ÙÙ ØªØ®Ø·ÙØ· ÙØªØ®Ø·ÙØ· ÙØ§ØµÙØ§Øª  ØšÙØ§ÙØ§Øª ÙØ±ÙÙØ³ØªÙÙ  Ø¥ÙÙ Ø­ÙÙÙ MARC. Ø§ÙÙ
+ÙÙ Ø§ÙØªØ®Ø·ÙØ·Ù Ø§ÙØ§ÙØªØ±Ø§Ø¶Ù  ÙÙÙÙ
+ ØšØªØ®Ø·ÙØ· Ù
+Ø¹ÙØ§Ø± Ø¯ØšÙÙ ÙÙØ± ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙ
+ÙÙÙ  ØªØ®Ø·ÙØ· Ù
+ÙÙ ÙÙÙ ÙØªÙ
+ Ø§Ø³ØªØ®Ø¯Ø§Ù
+Ù ØšØ¯ÙØ§Ù Ù
+Ù Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ Ø­Ø§ÙÙØ§Ù0</Text>
+</Section>
+<Section name="exportingcollections">
+<Title>
+<Text id="218">ØªØµØ¯ÙØ± Ù
+Ø¬Ù
+ÙØ¹Ø§Øª  Ø¥ÙÙ  CD/DVD</Text>
+</Title>
+<Text id="219">ÙÙ
+ÙÙ ÙÙØ±ÙÙØ³ØªÙÙ ØªØµØ¯ÙØ± Ù
+Ø¬Ù
+ÙØ¹Ø© Ø£Ù Ù
+Ø¬Ù
+ÙØ¹Ø§Øª Ø¥ÙÙ ÙØ±Øµ CD/DVD Ø°Ø§ØªÙ Ø§ÙØªØ«ØšÙØª ØªØ­Øª ØšØ±Ø§Ù
+Ø¬ Ø§ÙØªØŽØºÙÙ Windows </Text>
+<Text id="220">ÙØªØµØ¯ÙØ± Ù
+Ø¬Ù
+ÙØ¹Ø©Ø Ø§ÙØªØ­ ÙØ§ØŠÙ
+Ø© "Ù
+ÙÙ" ÙÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± "ØªØµØ¯ÙØ± ÙØ±Øµ CD/DVD ØªØžÙØ± ÙÙ ÙØ§ØŠÙ
+ Ù
+Ø¬Ù
+ÙØ¹Ø§Øª ÙØ±ÙÙØ³ØªÙÙ â Ø§ÙÙØ± Ø¹ÙÙ Ø£Ù ÙØ§Ø­Ø¯Ø© ÙÙ
+Ø¹Ø±ÙØ© ÙØµÙÙØ§ ÙÙ
+ ØšØªØ£ØŽÙØ± Ù
+Ø±ØšØ¹ Ø§ÙÙØ­Øµ  ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙØªÙ ØªÙØ¯ ØªØµØ¯ÙØ±ÙØ§- ÙÙ
+ÙÙÙ  Ø§Ø¯Ø®Ø§Ù Ø§Ø³Ù
+  CD/DVD Ù
+Ù Ù
+Ø±ØšØ¹ "Ø§Ø³Ù
+  CD/DVD"0 ÙØžÙØ± ÙØ°Ø§ Ø§ÙØ§Ø³Ù
+ ÙÙ ÙØ§ØŠÙ
+Ø© Ø§ØšØ¯Ø§ Ø¹ÙØ¯Ù
+Ø§ ÙØªÙ
+ ØªØ«ØšÙØª Ø§ÙÙØ±Øµ CD/DVD- ÙÙ
+ÙÙÙ Ø§Ø®ØªÙØ§Ø±  ØªØŽØºÙÙ Ø§ÙÙØ±Øµ DVD Ø£Ù CD-ROM Ø§ÙÙØ§ØªØ¬ Ù
+ØšØ§ØŽØ±Ø© Ù
+Ù Ø§ÙÙØ±Øµ Ø§ÙÙ
+Ø¹ÙÙØ Ø£Ù ØªØ«ØšÙØª ØšØ¹Ø¶ Ø§ÙÙ
+ÙÙØ§Øª ÙÙ Ø§ÙØ­Ø§Ø³ÙØš0 Ø«Ù
+ Ø§ÙÙØ± "ØªØµØ¯ÙØ± ÙØ±Øµ CD/DVD0  ÙØªØ¶Ù
+Ù ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡  ÙØ³Ø® Ù
+ÙÙØ§Øª Ø¹Ø¯ÙØ¯Ù ÙÙØ¯ ÙØ³ØªØºØ±Ù Ø¯ÙØ§ØŠÙ ÙÙÙÙØ©0</Text>
+<Text id="221">Ø¹ÙØ¯ Ø§ÙØ§ÙØªÙØ§Ø¡ Ø ÙØžÙØ± ÙÙ ÙØ±ÙÙØ³ØªÙÙ Ø§Ø³Ù
+ Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ°Ù ÙØ¶Ù
+ Ø§ÙØ¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ
+ØµØ¯Ø±Ù0 Ø§Ø³ØªØ®Ø¯Ù
+ Ø³ÙØ§ÙÙ CD/DVD ÙÙØ³Ø® Ø§ÙÙ
+Ø­ØªÙÙØ§Øª Ø§ÙÙ ÙØ±Øµ CD/DVD ÙØ§Ø±Øº0</Text>
+</Section>
+</Section>
+</Document>
Index: main/tags/2.83/gli/help/ar/help_index.xml
===================================================================
--- main/tags/2.83/gli/help/ar/help_index.xml	(revision 21123)
+++ main/tags/2.83/gli/help/ar/help_index.xml	(revision 21123)
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Document><Section name="introduction"><Title>Ø§ÙØªØ¹Ø±ÙÙ</Title><Section name="ofmiceandmenus"><Title>Ø§ÙÙØ£Ø±Ø© Ù Ø§ÙÙÙØ§ØŠÙ
+</Title></Section><Section name="howtoavoidthisdocument"><Title>ÙÙÙ ØªØªØ¬ÙØš ÙØ±Ø§Ø¡Ø© ÙØ°Ù Ø§ÙÙØ«ÙÙØ©</Title></Section></Section><Section name="startingoff"><Title>Ø§ÙØšØ¯Ø§ÙØ©</Title><Section name="creatingacollection"><Title>Ø¥ÙØŽØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø¬Ø¯ÙØ¯Ø©</Title></Section><Section name="savingacollection"><Title>Ø­ÙØž Ù
+Ø¬Ù
+ÙØ¹Ø©</Title></Section><Section name="openingacollection"><Title>ÙØªØ­ Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+ÙØ¬ÙØ¯Ø©</Title></Section><Section name="deletingcollections"><Title>Ø¥ÙØºØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª</Title></Section></Section><Section name="downloadingfiles"><Title>ØªÙØ²ÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ù
+Ù Ø§ÙØ¥ÙØªØ±ÙØª</Title><Section name="themirrorview"><Title>Ù
+ØŽÙØ¯ Ø§ÙØªÙØ²ÙÙ</Title></Section></Section><Section name="collectingfiles"><Title>ØªØ¬Ù
+ÙÙØ¹ Ø§ÙÙ
+ÙÙØ§Øª ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©</Title><Section name="thegatherview"><Title>Ù
+ØŽÙØ¯ Ø§ÙØªØ¬Ù
+ÙÙØ¹</Title></Section><Section name="creatingshortcuts"><Title>Ø§ÙØŽØ§Ø¡ Ù
+Ø®ØªØµØ± Ù
+Ù ØŽØ¬Ø±Ø© Ù
+Ø³Ø§Ø­Ø© Ø§ÙØ¹Ù
+Ù0</Title></Section><Section name="creatingfolders"><Title>Ø¥ÙØŽØ§Ø¡ Ù
+Ø¬ÙØ¯Ø§Øª</Title></Section><Section name="addingfiles"><Title>Ø¥Ø¶Ø§ÙØ© Ù
+ÙÙØ§Øª</Title></Section><Section name="replacingfiles"><Title>Ø§Ø¹Ø§Ø¯Ø© ØªØ³Ù
+ÙØ© ÙØ§Ø³ØªØšØ¯Ø§Ù Ø§ÙÙ
+ÙÙØ§Øª0</Title></Section><Section name="removingfiles"><Title>Ø­Ø°Ù Ù
+ÙÙØ§Øª</Title></Section><Section name="explodingfiles"><Title>ØªØ¬Ø²ØŠØ©  Ù
+ÙÙØ§Øª ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª0</Title></Section><Section name="filteringthetree"><Title>ØªØ±ØŽÙØ­ Ø§ÙØŽØ¬Ø±Ø©</Title></Section></Section><Section name="enrichingacollection"><Title>Ø¥Ø«Ø±Ø§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø© ØšÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª</Title><Section name="theenrichview"><Title>Ù
+ØŽÙØ¯ Ø¥Ø«Ø±Ø§Ø¡</Title></Section><Section name="selectingmetadatasets"><Title>Ø¥Ø®ØªÙØ§Ø± Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª</Title></Section><Section name="appendingmetadata"><Title>ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¬Ø¯ÙØ¯Ø© Ù
+Ø¹ÙÙØ©</Title></Section><Section name="addingpreviouslydefinedmetadata"><Title>Ø¥Ø¶Ø§ÙØ© ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹Ø±ÙØ© Ø³Ø§ØšÙØ§</Title></Section><Section name="updatingmetadata"><Title>ØªØ¹Ø¯ÙÙ Ø§Ù Ø­Ø°Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª</Title></Section><Section name="reviewingmetadata"><Title>Ø¥Ø³ØªØ¹Ø±Ø§Ø¶ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©</Title></Section><Section name="importingpreviouslyassignedmetadata"><Title>Ø¥Ø³ØªÙØ±Ø§Ø¯ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© Ø³Ø§ØšÙØ§</Title></Section></Section><Section name="designingacollection"><Title>ØªÙÙÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©</Title><Section name="thedesignview"><Title>Ù
+ØŽÙØ¯ Ø§ÙØªØµÙ
+ÙÙ
+</Title></Section><Section name="plugins"><Title>Ù
+ÙØ§ØšØ³ Ø§ÙÙØ«ÙÙØ©</Title></Section><Section name="searchindexes"><Title>ÙØŽØ§ÙØ§Øª Ø§ÙØšØ­Ø«</Title><Section name="searchindexoptions"><Title>Ø®ÙØ§Ø±Ø§Øª ÙØŽØ§Ù Ø§ÙØšØ­Ø«</Title></Section></Section><Section name="partitionindexes"><Title>ÙØŽØ§ÙØ§Øª Ø§ÙÙØ·Ø§Ø¹</Title><Section name="definefilters"><Title>ØªØ¹Ø±ÙÙ Ù
+Ø±ØŽØ­Ø§Øª</Title></Section><Section name="assignpartitions"><Title>ØªØ¹ÙÙÙ ÙØ·Ø§Ø¹Ø§Øª</Title></Section><Section name="assignlanguages"><Title>ØªØ¹ÙÙÙ ÙØºØ©</Title></Section></Section><Section name="classifiers"><Title>Ù
+ØµÙÙØ§Øª Ø§ÙØªØµÙØ­</Title></Section></Section><Section name="producingthecollection"><Title>Ø¥ÙØªØ§Ø¬ Ù
+Ø¬Ù
+ÙØ¹Ø©</Title><Section name="thecreateview"><Title>Ù
+ØŽÙØ¯ Ø¥ÙØŽØ§Ø¡</Title></Section><Section name="builderrors"><Title>Ø§Ø®Ø·Ø§Ø¡ ÙÙ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©</Title></Section><Section name="expertbuilding"><Title>Ù
+ØŽÙØ¯ Ø§ÙØŽØ§Ø¡ ÙÙ Ø³ÙØ§Ù Ø®ØšÙØ±</Title></Section><Section name="scheduledbuilding"><Title>ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ
+Ø¬Ø¯ÙÙØ©</Title></Section></Section><Section name="formattingacollection"><Title>ØªÙØ¶ÙØš ØªÙ
+ØžÙØ± Ù
+Ø¬Ù
+ÙØ¹ØªÙ</Title><Section name="theformatview"><Title>Ù
+ØŽÙØ¯ ÙØ³Ù Ø§ÙØ¹Ø±Ø¶</Title></Section><Section name="generalsettings"><Title>Ø¹Ø§Ù
+0</Title></Section><Section name="searchmetadatasettings"><Title>ØšØ­Ø«</Title></Section><Section name="formatstatements"><Title>ÙØ³Ù Ø¹Ø±Ø¶</Title></Section><Section name="translatetext"><Title>ØªØ±Ø¬Ù
+Ù ÙØµ</Title></Section><Section name="xcollectionsearching"><Title>ØšØ­Ø« ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª</Title></Section><Section name="collectionspecificmacros"><Title>Ù
+Ø§ÙØ±Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ
+Ø®ØµØµ</Title></Section><Section name="depositormetadatasettings"><Title>Ù
+Ø³ØªÙØ¯Ø¹ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª</Title></Section></Section><Section name="miscellaneous"><Title>Ù
+ØªÙÙØ¹Ø§Øª</Title><Section name="preferences"><Title>Ø§ÙØªÙØ¶ÙÙØ§Øª</Title></Section><Section name="fileassociations"><Title>Ù
+ØªØ¹ÙÙØ§Øª Ø§ÙÙ
+ÙÙ</Title></Section><Section name="exporting"><Title>ØªØµØ¯ÙØ± Ø§ÙÙ
+Ù
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ ÙÙØŠØ§Øª Ø£Ø®Ø±Ù</Title></Section><Section name="exportingcollections"><Title>ØªØµØ¯ÙØ± Ù
+Ø¬Ù
+ÙØ¹Ø§Øª  Ø¥ÙÙ  CD/DVD</Title></Section></Section></Document>
Index: main/tags/2.83/gli/help/ar/howtoavoidthisdocument.htm
===================================================================
--- main/tags/2.83/gli/help/ar/howtoavoidthisdocument.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/howtoavoidthisdocument.htm	(revision 21123)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="howtoavoidthisdocument"><font size="5" face="Verdana"><strong>1.2: ÙÙÙ ØªØªØ¬ÙØš ÙØ±Ø§Ø¡Ø© ÙØ°Ù Ø§ÙÙØ«ÙÙØ©</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØ§  ØªÙØ±Ø£ ÙØµ Ø§ÙÙ
+Ø³Ø§Ø¹Ø¯Ø© Ù
+Ù Ø£ÙÙÙ Ø¥ÙÙ Ø£Ø®Ø±Ù0 ÙÙ
+ÙÙÙ ÙØ±Ø§Ø¡Ø© ÙØ¯Ø± Ù
+ÙÙ ÙÙ
+ÙÙÙ  Ù
+Ù Ù
+Ø¹Ø±ÙØ© ÙÙÙÙØ© Ø§ÙØ­ØµÙÙ Ø¹ÙÙ Ù
+Ø³Ø§Ø¹Ø¯Ø© ÙØ­Ù Ù
+ØŽÙÙØ© Ù
+Ø¹ÙÙØ©0</p>
+
+<p>ÙÙØ± Ø£ÙÙÙÙØ© "Ù
+Ø³Ø§Ø¹Ø¯Ø©" ÙÙ Ø³ÙØ§Ù Ù
+Ø¹Ø·Ù ÙÙÙØ± ÙÙ Ø§ÙÙ
+Ø³Ø§Ø¹Ø¯Ø© Ø§ÙÙ
+ÙØ§Ø³ØšØ© Ø£Ù ØªØ­Ø¯ÙØ¯ Ø§ÙØ¹ÙÙØ§Ù Ø§ÙÙ
+ÙØ§Ø³Øš Ù
+Ù ØšÙÙ Ø§ÙØ¹ÙØ§ÙÙÙ Ø§ÙØ¬Ø§ÙØšÙØ© Ø§ÙÙ
+Ø³ØšÙÙ  ØšØ§ÙÙÙÙØ©Ø¹ÙØ§Ù
+Ø© Ø¥Ø³ØªÙÙØ§Ù
+.</p>
+
+<p>Ø¹ÙØ¯Ù
+Ø§ ØªÙ
+ÙØ¶Ø¹ Ù
+Ø€ØŽØ± Ø§ÙÙØ£Ø±Ø© Ø¹ÙÙ Ø¹ÙÙØ§Ù Ù
+Ø­Ø¯Ø¯ ÙØžÙØ± ÙÙ Ù
+Ø±ØšØ¹ ÙØµ ÙØŽØ±Ø­ ÙÙ ÙÙÙÙØ© Ø§ÙØ¬Ø§Ø² Ø§ÙÙ
+ÙÙ
+Ø©0</p>
+
+<p>ÙØšÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+  ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙØ Ø¹ÙÙÙ Ø£ÙÙØ§ ÙØ±Ø§Ø¡Ø© Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/importingpreviouslyassignedmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/ar/importingpreviouslyassignedmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/importingpreviouslyassignedmetadata.htm	(revision 21123)
@@ -0,0 +1,97 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="importingpreviouslyassignedmetadata"><font size="5" face="Verdana"><strong>5.7: Ø¥Ø³ØªÙØ±Ø§Ø¯ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© Ø³Ø§ØšÙØ§</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØµÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙÙÙÙØ© Ø§Ø³ØªÙØ±Ø§Ø¯ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ÙÙÙ Ø³Ø§ØšÙØ§Ù ÙÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØªÙ ØªÙ
+  ØªØ¹ÙÙÙÙØ§ ÙÙÙØ«Ø§ØŠÙ ÙØšÙ Ø§Ø¶Ø§ÙØªÙØ§ ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©0</p>
+
+<p>Ø¥Ø°Ø§ ÙØ§ÙØª ÙØ§ØµÙØ§Øª  Ø§ÙØšÙØ§ÙØ§Øª ÙÙ ØŽÙÙ Ù
+Ø¹Ø±ÙÙ ÙÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ÙØªÙ
+ ØªØ¹ÙÙÙÙØ§ Ù
+Ù ÙØšÙ ÙÙ
+ÙÙ &ndash; Ù
+Ø«Ø§ÙØ Ø¹ÙØ¯Ù
+Ø§  ØªØ®ØªØ§Ø± ÙØ«ÙÙØ© Ù
+Ù Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+ÙØ¬ÙØ¯Ø© ÙÙ ÙØ±ÙÙØ³ØªÙÙ00 ÙØªÙ
+ Ø§Ø³ØªÙØ±Ø§Ø¯ÙØ§ ØªÙÙØ§ØŠÙØ§Ù Ø¹ÙØ¯ Ø§Ø¶Ø§ÙØ© Ø§ÙÙ
+ÙÙ ÙØ¹Ù
+Ù ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡Ø ÙØ¬Øš ØªØ®Ø·ÙØ·ÙØ§  ÙÙÙØ§Ù ÙÙ
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ÙØ¬ÙØ¯Ø© ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0</p>
+
+<p>ÙÙÙÙ
+ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØšØ­Ø«Ù ÙØªÙÙÙØ± Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙÙ
+Ø·ÙÙØšØ©Ø ÙØ¹Ø·ÙÙ Ø§ÙØ­Ø« ØªØ¹ÙÙÙ
+Ø§Øª Ù
+ÙØ¬Ø²Ø©Ø Ø«Ù
+ ÙØžÙØ± ÙÙ Ø§Ø³Ù
+ Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø³ØªÙØ±Ø¯ ÙÙ
+Ø§ ÙÙ ÙÙ Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+ØµØ¯Ø±0 ÙÙØ°Ø§ Ø§ÙØ­ÙÙ ÙØ§ ÙÙ
+ÙÙ ØªØ­Ø¯ÙØ«Ù Ø£Ù ØªØºÙØ±Ù0  ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØ°Ù ØªÙØ¯ ØªØ®Ø·ÙØ· Ø§ÙØ¹ÙØµØ± Ø§ÙØ¬Ø¯ÙØ¯ ØšÙØ ÙÙÙÙ
+ Ø§ÙÙØžØ§Ù
+  ØªÙÙØ§ØŠÙØ§Ù ØšØ§Ø®ØªÙØ§Ø± Ø§ÙØ§ÙØ±Øš ÙÙÙ
+Ø¹ÙØ§Ø± ÙØ§ÙØ¹ÙØµØ± ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØ¬Ø¯ÙØ¯Ø©0</p>
+
+<p>ØšØ¹Ø¯ ÙØ­Øµ Ø§ÙØªØ®Ø·ÙØ·Ø ÙÙÙ
+ÙÙÙ Ø§Ø®ØªÙØ§Ø± "Ø§Ø¶Ø§ÙØ©" ÙØ§Ø¶Ø§ÙØ© Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙ
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø± (ÙØ°Ø§ Ø§ÙØ£Ù
+Ø± Ù
+ØªØ§Ø­ ÙÙØ· Ø¹ÙØ¯Ù
+Ø§ ÙØ§ ÙÙÙÙ ÙÙØ§Ù Ø¹ÙØµØ± ØšÙÙØ³ Ø§ÙØ§Ø³Ù
+ ÙÙ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±) "Ø¯Ù
+Ø¬" ÙØªÙØ­ ÙÙ Ø¯Ù
+Ø¬ Ø§ÙØ¹ÙØµØ± Ø§ÙØ¬Ø¯ÙØ¯ Ù
+Ø¹ ÙØ§Ø­Ø¯ Ù
+Ø®ØªØ§Ø± Ù
+Ù ÙØšÙ Ø§ÙÙ
+Ø³ØªÙÙØ¯0 Ø§Ø®ÙØ±Ø§Ù "ØªØ¬Ø§ÙÙ" ÙØ§ ØªØªÙØ­ ÙÙ Ø§Ø³ØªÙØ±Ø§Ø¯ Ø¹ÙØµØ± Ù
+Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ù
+Ø¹ ÙØ°Ø§ Ø§ÙØ¹ÙØµØ±0 Ø¹ÙØ¯ ØªØ­Ø¯ÙØ¯ ÙÙÙÙØ© Ø§Ø³ØªÙØ±Ø§Ø¯ Ø¹ÙØµØ± ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ù
+Ø¹ ÙØ°Ø§ Ø§ÙØ¹ÙØµØ±Ø Ø¹ÙØ¯ ØªØ­Ø¯ÙØ¯ ÙÙÙÙØ© Ø§Ø³ØªÙØ±Ø§Ø¯ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ØªÙÙÙ ÙØ¯ ÙØ±Ø±Øª ØŽÙÙ Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0</p>
+
+<p>ÙÙÙØ± ÙÙ Ø§ÙÙØµÙ Ø§ÙØ«Ø§ÙÙ Ù
+Ù Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+Ø·ÙØ±ÙÙ ÙÙÙ ØšØ¹ÙÙØ§Ù Ø§ÙØ¬Ø§Ø¯ ØºØ§ÙØš Ù
+Ø­ØªÙÙØ§Øª Ø§ÙÙØ«ÙÙØ© Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø¹Ù Ù
+ÙÙØ§Øª Metadatz.xml0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/introduction.htm
===================================================================
--- main/tags/2.83/gli/help/ar/introduction.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/introduction.htm	(revision 21123)
@@ -0,0 +1,31 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="introduction"><font size="5" face="Verdana"><strong>1: Ø§ÙØªØ¹Ø±ÙÙ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØ§Ø¬ÙØ© ÙØ±ØšÙØ³ØªÙÙ ÙÙ Ø£Ø¯Ø§Ø© ÙØªØ­Ø¯ÙØ¯ ÙØªØ¬Ù
+ÙØ¹ Ø§ÙÙØ«Ø§ØŠÙ0 Ø«Ù
+ ØšÙØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ
+ÙØªØšØ© Ø§ÙØ±ÙÙ
+ÙØ©0 ØªÙÙØ± Ø§ÙÙØµÙÙ ÙÙØžØ§ØŠÙ ØšØ±Ù
+Ø¬ÙØ§Øª ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+ÙØªØšØ© Ø§ÙØ±ÙÙ
+ÙØ© Ù
+Ù Ø®ÙØ§Ù ÙØ§Ø¬ÙØ© Ø±Ø³ÙÙ
+ÙØ© ØšØ§ÙÙÙØ± Ø¹ÙÙ Ø§ÙÙÙÙØ©Ø§ÙÙØžÙÙØ© Ø§ÙÙ
+Ø·ÙÙØšØ©0.</p>
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/miscellaneous.htm
===================================================================
--- main/tags/2.83/gli/help/ar/miscellaneous.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/miscellaneous.htm	(revision 21123)
@@ -0,0 +1,29 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="miscellaneous"><font size="5" face="Verdana"><strong>9: Ù
+ØªÙÙØ¹Ø§Øª</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØµÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ Ù
+ÙØ§Ù
+Ø­ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØºÙØ± Ø§ÙÙ
+Ø±ØªØšØ·Ø© ØšØ§Ù Ù
+ØŽÙØ¯ Ù
+Ø¹ÙÙ0</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/ofmiceandmenus.htm
===================================================================
--- main/tags/2.83/gli/help/ar/ofmiceandmenus.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/ofmiceandmenus.htm	(revision 21123)
@@ -0,0 +1,88 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="ofmiceandmenus"><font size="5" face="Verdana"><strong>1.1: Ø§ÙÙØ£Ø±Ø© Ù Ø§ÙÙÙØ§ØŠÙ
+</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙÙÙØ± ÙØ°Ø§ Ø§ÙÙØ³Ù
+ Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙØ£Ø³Ø§Ø³ÙØ© ÙÙØªÙØ§Ø¹Ù Ù
+Ø¹ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ0 Ø§Ø°Ø§ ÙÙØª Ù
+Ø¹ØªØ§Ø¯Ø§ Ø¹ÙÙ Ø§ÙØªØ¹Ø§Ù
+Ù Ù
+Ø¹ ØšØ±Ø§Ù
+Ø¬  Ù
+ØªØµÙØ­ Ø§ÙØ§ÙØªØ±ÙØª Ù Microsoft Office ÙÙ
+Ø±ØªØ§Ø­Ø§Ù ÙÙØªØ¹Ø§Ù
+Ù Ù
+Ø¹ ÙÙØ± Ø§ÙÙØ£Ø±Ø©  ÙØ§ÙÙÙØ§ØŠÙ
+0 Ø§ÙØªÙÙ Ø¥ÙÙ <a href="howtoavoidthisdocument.htm">ÙÙÙ ØªØªØ¬ÙØš ÙØ±Ø§Ø¡Ø© ÙØ°Ù Ø§ÙÙØ«ÙÙØ©</a>.</p>
+
+<p>ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØªØªØšØ¹ ØªÙØ§ÙÙØ¯ ØšØ±Ø§Ù
+Ø¬ Windows ÙÙ
+ØšÙÙØ© Ø¹ÙÙ Ø§ÙÙ
+Ø¹Ø±ÙØ© ØšÙØ§0</p>
+
+<p>ÙÙ Ø¬Ø²Ø¡ Ù
+Ù Ø§ÙØŽØ§ØŽØ© ØªØªÙØ§Ø¹Ù Ù
+Ø¹ÙØ Ù
+Ø«Ù Ø²Ø± Ø£Ù Ø­ÙÙ ÙØµ ÙØ³Ù
+Ù "ØªØ­ÙÙ
+" ÙØ³Ù
+Ù Ø§ÙØªØ­ÙÙ
+ ÙÙ Ø§Ù ÙØ­ØžØ© Ø§ÙØ²Ù
+ÙÙØ© "ØªØ±ÙÙØ²" ÙØ¶Ø§Ø¡ ÙÙØ³ØªØ¬ÙØš ÙÙÙØ­Ø© Ø§ÙÙ
+ÙØ§ØªÙØ­0 Ù
+Ø®ØªÙÙ ÙÙØ§Ø· Ø§ÙØªØ­ÙÙ
+ ØªØªÙØ­ ÙÙ Ø§Ø®ØªÙØ§Ø± Ø§ÙØ£Ø¬Ø²Ø§Ø¡ Ø§ÙÙ
+Ø¶Ø§Ø¡Ø© ÙÙ Ø§ÙØ£Ø²Ø±Ù Ø§ÙØºØ§Ù
+Ù0 ØšØ¹Ø¶ Ø§ÙØ£Ø¬Ø²Ø§Ø¡ ÙÙÙÙØ§ Ø±Ù
+Ø§Ø¯Ù ÙÙØ¯ÙØ§ÙØ© Ø¹ÙÙ Ø£ÙÙØ§ ØºÙØ± Ù
+ÙØŽØ·Ø©0</p>
+
+<p>ÙÙ
+ÙÙÙ ØªØ­Ø±ÙÙ ÙÙÙØ± Ù
+ÙØ§ØªÙØ­ Ø§ÙÙØ£Ø±Ø© ÙÙ
+ÙÙØ§Ù ÙÙØ³Ø§Ø±Ø§Ù ØšØµÙØ±Ø© Ø§Ø¹ØªÙØ§Ø¯ÙØ©0 ÙÙ
+ÙÙÙ Ø³Ø­Øš ÙØ«ÙØ± Ù
+Ù Ø§ÙÙ
+ÙÙÙØ§Øª ØšØ§ÙÙÙØ± ÙØ§ÙØ§ØšÙØ§Ø¡ Ø¹ÙÙ Ø§ÙØ²Ø± Ø§ÙØ£ÙÙ
+Ù Ø«Ù
+ Ø§Ø³ÙØ§Ø·ÙØ§ ÙÙ Ø§Ù Ù
+ÙØ§Ù Ø¢Ø®Ø± ÙØªØ±Ù Ø§ÙØ²Ø±0 ÙÙ
+ÙÙ Ø­Ø« Ø§ÙØ£Ù
+Ø§ÙÙ Ø§ÙÙ
+Ø³ØªÙØ¯ÙØ© ØšØªÙ
+Ø±ÙØ± Ù
+Ø€ØŽØ± Ø§ÙÙØ£Ø±Ø© ÙÙÙÙØ§0</p>
+
+<p>ÙÙ
+ÙÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ ÙÙØ­Ø© Ø§ÙÙ
+ÙØ§ØªÙØ­ ÙØ·ØšØ§Ø¹Ø© Ø§ÙÙØµÙØµ ÙÙ Ø§ÙØ­ÙÙÙ. Ù
+ÙØªØ§Ø­ [tab] ÙÙÙØ± Ø§ÙØªØ±ÙÙØ² ØšÙÙ Ù
+Ø®ØªÙÙ ÙØµÙØµ Ø§ÙØ­ÙÙÙ.</p>
+
+<p>ÙØ§ÙÙØ§Ø¡ ØšØ±ÙØ§Ù
+Ø¬ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± "Ø®Ø±ÙØ¬" Ù
+Ù ÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙÙ0 Ø³ÙÙ ØªØ­ÙØž Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø£ÙÙØ§0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/openingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/ar/openingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/openingacollection.htm	(revision 21123)
@@ -0,0 +1,88 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="openingacollection"><font size="5" face="Verdana"><strong>2.3: ÙØªØ­ Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+ÙØ¬ÙØ¯Ø©</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙÙØªØ­ Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+ÙØ¬ÙØ¯Ø©Ø ÙÙ
+ ØšØ¥Ø®ØªÙØ§Ø± "ÙØªØ­" Ù
+Ù ÙØ§ØŠÙ
+Ø© "Ù
+ÙÙ" ÙÙØ­ØµÙÙ Ø¹ÙÙ Ø­Ø« ÙØªØ­ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©.ØªØžÙØ± ÙØ§ØŠÙ
+Ø© ØšÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Greenstone .ÙÙ
+ ØšØ¥Ø®ØªÙØ§Ø± ÙØ§Ø­Ø¯Ø© ÙÙ
+Ø¹Ø±ÙØ© ÙØµÙÙØ§ Ù Ø£ÙÙØ± "ÙØªØ­" ÙØªØ­Ù
+ÙÙÙØ§.</p>
+
+<p>ÙÙ Ø­Ø§ÙØ© ØªØŽØºÙÙ Ø£ÙØ«Ø± Ù
+Ù ØšØ±ÙØ§Ù
+Ø¬ ÙÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ Ù
+Ø¹Ø§ÙØ ÙØ§Ù Ø§ÙÙ
+ÙÙØ§Øª Ø°Ø§Øª Ø§ÙØµÙØ© ØªØºÙÙ ÙÙ
+ÙØ¹ Ø§ÙØªØ¯Ø§Ø®Ù0 Ø¹ÙØ¯ ÙØªØ­ Ù
+Ø¬Ù
+ÙØ¹Ø©  ÙÙØŽØ£ Ù
+ÙÙ ØºÙÙ ØµØºÙØ± ÙÙ Ù
+Ø³Ø§Ø±ÙØ§. ÙÙÙÙ
+ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØšØ§ÙØªØ£ÙØ¯ Ù
+Ù ÙØ¬ÙØ¯ ÙØ°Ø§ Ø§ÙÙ
+ÙÙ ÙØšÙ ÙØªØ­ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© .Ø¹ÙÙ Ø¢Ù Ø­Ø§Ù Ø¹ÙØ¯Ù
+Ø§ ÙØªÙ
+ ØºÙÙ    ÙØ§Ø¬ÙØ©  Ø§ÙÙ
+ÙØªØšÙ ØšØµÙØ±Ø© Ø³ÙÙÙ
+Ù ÙØªÙÙØ± Ø§Ø­ÙØ§ÙØ§Ù Ù
+ÙÙ Ø§ÙØºÙÙ ÙÙ Ù
+ÙØ§ÙÙØ ÙÙÙÙ
+ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØšØ§Ø³ØªÙØ³Ø§Ø±Ù  Ø§Ø°Ø§ Ù
+Ø§ ÙÙØª ØªÙØ¯ "Ø§Ù
+ØªÙØ§Ù" Ø§ÙØªØ­ÙÙ
+ ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©.ØªØµØ±Ù Ø¹ÙÙ Ø§ÙÙØ­Ù Ø§ÙØ°Ù ÙØ±Ø¶ÙÙ Ø¥ÙØ§ Ø¥Ø°Ø§ ÙÙØª ØªØ¹ØªÙØ¯ Ø§Ù ØŽØ®ØµØ§ Ø¢Ø®Ø± ÙØ³ØªØ®Ø¯Ù
+ ÙÙØ³ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©</p>
+
+<p>Ø¹ÙØ¯ ÙØªØ­ Ù
+Ø¬Ù
+ÙØ¹Ø© ÙÙ
+ ÙØªÙ
+ Ø§ÙØŽØ§Ø€ÙØ§ ØšÙØ§Ø³Ø·Ø© ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙØ Ø³ÙÙ ÙØªÙ
+ Ø§Ø¹ØªÙ
+Ø§Ø¯ Ù
+Ø¹ÙØ§Ø± Ø¯ØšÙÙ ÙÙØ± ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙØ§0 ÙÙ
+Ø§ ÙØªÙ
+ Ø§Ø³ØªÙØ±Ø§Ø¯  Ø£Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙÙ
+Ø§ ÙÙ Ø¹ÙØ¯ Ø¬ÙØš Ù
+ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª0 ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ Ù
+ÙØµÙÙ ÙÙ <a href="importingpreviouslyassignedmetadata.htm">Ø¥Ø³ØªÙØ±Ø§Ø¯ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© Ø³Ø§ØšÙØ§</a> section. </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/partitionindexes.htm
===================================================================
--- main/tags/2.83/gli/help/ar/partitionindexes.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/partitionindexes.htm	(revision 21123)
@@ -0,0 +1,71 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="partitionindexes"><font size="5" face="Verdana"><strong>6.4: ÙØŽØ§ÙØ§Øª Ø§ÙÙØ·Ø§Ø¹</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØªÙ
+ ØšÙØ§Ø¡ Ø§ÙÙØŽØ§ÙØ§Øª Ø¹ÙÙ ÙØµ Ù
+Ø¹ÙÙ Ø£Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª0 ÙÙ
+ÙÙ Ø¶ØšØ· Ù
+Ø³Ø§Ø­Ø© Ø§ÙØšØ­Ø« ÙØªÙØ³ÙÙ
+ Ø§ÙÙØŽØ§ÙØ§Øª Ø¥ÙÙ ÙØ·Ø§Ø¹Ø§ØªØ Ø£Ù
+Ø§ ØšØ§ÙÙØºØ© Ø£Ù Ù
+Ø±ØŽØ­ Ù
+Ø­Ø¯Ø¯ Ù
+Ù ÙØšÙ0 ÙØµÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙÙÙÙØ© Ø¥ÙØ¬Ø§Ø² ÙØ°Ø§0 ØªØ­Ø« "ØªØµÙ
+ÙÙ
+" Ø§ÙÙØ± "ÙØŽØ§ÙØ§Øª Ø§ÙÙØ·Ø§Ø¹"0</p>
+
+<p>ÙÙØ¬Ø¯ ÙÙ Ù
+ØŽÙØ¯ "ÙØŽØ§ÙØ§Øª Ø§ÙÙØ·Ø§Ø¹" Ø«ÙØ§Ø« tabs "ØªØ¹Ø±ÙÙ Ù
+Ø±ØŽØ­Ø§Øª"Ø Ù"ØªØ¹ÙÙ ÙØ·Ø§Ø¹Ø§Øª" Ù "ØªØ¹ÙÙÙ ÙØºØ§Øª" ÙÙ
+Ø¹Ø±ÙØ© Ø§ÙÙ
+Ø²ÙØ¯ Ø¹Ù Ø§ÙÙØ·Ø§Ø¹Ø§Øª Ø§ÙØ±Ø£  Ø­ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙØ±Ø¹ÙÙ ÙØ§ÙÙØŽØ§ÙØ§Øª Ø§ÙÙØ±Ø¹ÙØ© ÙÙ Ø§ÙÙØµÙ 2 Ù
+Ù Ø¯ÙÙÙ ÙØ±ÙØ³ØªÙÙ ÙÙÙ
+Ø·ÙØ±ÙÙ0</p>
+
+<p>ÙØªÙ
+ ØªÙØŽÙØ· ØŽØ§ØŽØ© ÙØŽØ§ÙØ§Øª Ø§ÙØ·Ø§Ø¹ ÙÙ Ø³ÙØ§Ù Ø§Ø®ØªØµØ§ØµÙ ÙØžÙ
+ Ù
+ÙØªØšØ§Øª ÙØ³ÙØ§Ù Ø®ØšÙØ± (see <a href="preferences.htm">Ø§ÙØªÙØ¶ÙÙØ§Øª</a>). ÙØ§Ø­Øž Ø§ÙÙ ØšØ§ÙÙØ³ØšÙ  ÙÙ
+Ø¬Ù
+ÙØ¹Ù  MG ÙØ§Ù Ø§ÙØ¹Ø¯Ø¯ Ø§ÙÙÙÙ Ø§ÙØ°Ù ÙØªÙ
+ ØªÙÙÙØ¯Ù  Ù
+Ù Ù
+Ø²ÙØ¬  ÙÙ Ø§ÙÙØŽØ§ÙØ§ØªØ  Ù
+Ø±ØŽØ­Ø§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙØ±Ø¹ÙØ© ÙØ§ÙÙØºØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©0 ÙØŽØ§ÙÙÙ ØšÙ
+Ø±ØŽØ­Ø§Øª  Ù
+Ø¬Ù
+ÙØ¹ØªÙÙ ÙØ±Ø¹ÙØªÙÙ   ØšÙØºØªÙÙ ÙÙØªØ¬ ÙØŽØ§Ù ØšØ«Ù
+Ø§ÙÙØ© ÙØ·Ø§Ø¹Ø§Øª0 ØšØ§ÙÙØ³ØšØ© Ù MGPP Ø ØªÙØŽØŠ ÙÙ Ø§ÙÙØŽØ§ÙØ§Øª ÙÙ ÙØŽØ§Ù ÙØ§Ø­Ø¯ ÙÙØ· ÙÙØ°Ø§ ÙØ¹ÙÙ ÙØŽØ§Ù  ØšØ§Ø±ØšØ¹Ù ÙØ·Ø§Ø¹Ø§Øª- ØšØ§ÙÙØ³ØšØ© ÙÙ Lucene ÙØªØ­Ø¯Ø¯ Ø¹Ø¯Ø¯  Ø§ÙÙØŽØ§ÙØ§Øª Ø§ÙÙ
+Ø§Ø¯ÙÙ ØšØ¹Ø¯Ø¯ Ø§ÙÙ
+Ø³ØªÙÙØ§Øª Ø§ÙÙ
+Ø¹ÙÙÙ ÙÙÙ
+Ø¬Ù
+ÙØ¹ÙØ ÙÙÙ ÙØŽØ§Ù ÙØ§Ø­Ø¯ ÙÙÙ Ù
+Ø³ØªÙÙ0  ÙÙÙØ§Ù ÙÙÙØ¶Ø¹ Ø£Ø¹ÙØ§ÙØ ÙØ§Ù Ù
+Ø³ØªÙÙ ÙØ§Ø­Ø¯ ÙÙØªØ¬ Ø£Ø±ØšØ¹Ø© ÙØŽØ§ÙØ§Øª Ù
+Ø§Ø¯ÙÙ ØšÙÙÙ
+Ø§ Ù
+Ø³ØªÙÙÙ Ø³ÙÙ ÙÙØªØ¬Ø§Ù Ø«Ù
+Ø§ÙÙØ©0</p>
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/plugins.htm
===================================================================
--- main/tags/2.83/gli/help/ar/plugins.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/plugins.htm	(revision 21123)
@@ -0,0 +1,149 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="plugins"><font size="5" face="Verdana"><strong>6.2: Ù
+ÙØ§ØšØ³ Ø§ÙÙØ«ÙÙØ©</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØµÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙÙÙÙØ© Ø¥Ø¹Ø¯Ø§Ø¯ Ù
+ÙØ§ØšØ³ Ø§ÙÙØ«ÙÙØ© Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+Ø© ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 ÙØŽØ±Ø­ ÙÙ ÙÙÙ ØªØ­Ø¯Ø¯ Ø§ÙÙ
+ÙØ§ØšØ³ ÙÙØ§Ø³ØªØ®Ø¯Ø§Ù
+Ø ÙÙ
+Ø§ÙÙ Ø§ÙÙ
+Ø€ØŽØ±Ø§Øª Ø§ÙØªÙ ØªÙ
+Ø±Ø± ÙÙØ§ ÙÙ
+Ø§ ÙÙ Ø§ÙØªØ±ØªÙØš Ø§ÙØ°Ù ØªØªØ®Ø°ÙØ ØªØ­Øª tab "ØªØµÙ
+ÙÙ
+"Ø Ø§ÙÙØ± "Ù
+ÙØ§ØšØ³ ÙØ«ÙÙØ©"0</p>
+
+<p>ÙØ§Ø¶Ø§ÙØ© Ù
+ÙØ§ØšØ³ Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù ØšØ§Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© "Ø§Ø®ØªÙØ§Ø± Ù
+ÙØ§ØšØ³ ÙÙØ§Ø¶Ø§ÙØ©" Ø§ÙÙØ±ÙØšØ© Ù
+Ù Ø§ÙØ£Ø³ÙÙØ Ø«Ù
+ Ø§ÙØžØ± "Ø§Ø¶Ø§ÙØ© Ù
+ÙØ§ØšØ³" ØªØžÙØ± ÙÙ ÙØ§ÙØ°Ø© ØšØ¹ÙÙØ§Ù "Ù
+Ø¶Ø§Ù
+ÙÙ Ø§ÙØªØ¬ÙÙØ²" ÙÙÙ Ù
+ÙØµÙÙÙ ÙÙÙ
+Ø§ ØšØ¹Ø¯0 Ø¹ÙØ¯ ØªØ¬ÙÙØ² Ø§ÙÙ
+ÙØ§ØšØ³ Ø§ÙØ¬Ø¯ÙØ¯Ø ØªØªÙ
+ Ø§Ø¶Ø§ÙØªÙ ÙÙ Ù
+Ø€Ø®Ø±Ø© ÙØ§ØŠÙ
+Ø© "Ø§ÙÙ
+ÙØ§ØšØ³ Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© Ø­Ø§ÙÙØ§Ù0 ØªØ¬Øš Ù
+ÙØ§Ø­ØžØ©Ø Ø§ÙÙ ØšØ§Ø³ØªØ«ÙØ§Ø¡ Ù
+ÙØ§ØšØ³ UnknownPluq ÙØ¬Øš Ø£Ù ÙØŽØºÙ Ø£Ù Ù
+ÙØ§ØšØ³ Ø§Ø®Ø± Ø­ÙØ²Ø§Ù ÙØ§Ø­Ø¯Ø§Ù ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø©0</p>
+
+<p>ÙØ±Ø€ÙØ© ÙØµÙ ÙØµÙØ± ÙÙ
+ÙØ§ØšØ³Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© "Ø§Ø®ØªÙØ§Ø± Ù
+ÙØ§ØšØ³ ÙÙØ§Ø¶Ø§ÙØ©" Ø«Ù
+ Ø­ÙÙ ØšÙ
+Ø€ØŽØ± Ø§ÙÙØ£Ø±Ø© ÙÙÙÙ0 ÙØžÙØ± ÙÙ Ù
+Ø±ØšØ¹ ÙØµ ÙØ¹Ø±Ø¶ Ø§ÙÙØµÙ0
+124- ÙØ§Ø²Ø§Ø­Ø© Ù
+ÙØ§ØšØ³Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù  Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©Ø ÙØ§ÙÙØ± "Ø­Ø°Ù Ù
+ÙØ§ØšØ³"0</p>
+
+<p>ÙØ§Ø²Ø§Ø­Ø© Ù
+ÙØ§ØšØ³Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù  Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©Ø ÙØ§ÙÙØ± "Ø­Ø°Ù Ù
+ÙØ§ØšØ³"0</p>
+
+<p>ÙØªÙ
+ ØªØ¬ÙÙØ² Ø§ÙÙ
+ÙØ§ØšØ³ ØšØªÙÙÙØ± Ø§ÙÙ
+Ø¶Ø§Ù
+ÙÙ0 ÙØ­Ø« Ù
+ÙØ§ØšØ³Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ù
+ÙØ§ØšØ³ Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©Ø ÙØ§ÙÙØ± "ØªØ¬ÙÙØ² Ù
+ÙØ§ØšØ³" (Ø§Ù ÙÙØ±Ø© Ù
+Ø²Ø¯ÙØ¬Ø© ÙÙÙ
+ÙØ§ØšØ³" ÙØžÙØ± Ù
+Ø±ØšØ¹ Ø­ÙØ§Ø± "ØªØ¬ÙÙØ² Ù
+Ø¶Ø§Ù
+ÙÙ" ÙØ¶ØšØ· ØªØ­Ø¯ÙØ¯ Ø§ÙÙ
+Ø¶Ø§Ù
+ÙÙ0</p>
+
+<p>ØªÙØ¬Ø¯ Ø£ÙÙØ§Ø¹ Ù
+Ø®ØªÙÙØ© ÙÙØ¶ØšØ·Ø ØšØ¹Ø¶ÙØ§ Ù
+Ø±ØšØ¹Ø§Øª ÙØ­Øµ ÙØ§ÙÙÙØ± Ø¹ÙÙÙØ§ ÙØ¶ÙÙ Ø§ÙØ®ÙØ§Ø± Ø§ÙÙ
+ÙØ§ØŠÙ
+ ÙÙÙ
+ÙØ§ØšØ³0 Ø§ÙØ§ÙÙØ¹ Ø§ÙØ§Ø®Ø±Ù Ø³ÙØ§Ø³Ù ÙØµØšÙ ØšÙ
+Ø±ØšØ¹Ø§Øª ÙØ­Øµ Ø£Ù Ø­ÙÙ ÙØµÙ0 ÙÙ
+ ØšØªØ£ØŽÙØ± Ø§ÙÙ
+Ø±ØšØ¹ ÙØªÙØŽÙØ· Ø§ÙÙ
+Ø¶Ù
+ÙÙ Ø«Ù
+ Ø£Ø·ØšØ¹ Ø§ÙÙØµ Ø§ÙÙ
+ÙØ§ØŠÙ
+ (ØªØ¹ØšÙØ± Ù
+ÙØªØžÙ
+Ø Ù
+Ø³Ø§Ø± Ù
+ÙÙ00) ÙÙ Ø§ÙÙ
+Ø±ØšØ¹0 ØªØŽÙ
+Ù ØšÙÙØ© Ø§ÙØ§ÙÙØ§Ø¹ Ø§ÙØ¶Ø§Ù ÙÙØ§ØŠÙ
+ Ù
+ÙØ³Ø¯ÙØ© ØªØªÙØ­ ÙÙ Ø§ÙØ§Ø®ØªÙØ§Ø±Ø ÙÙ
+Ø¹Ø±ÙØ© Ù
+Ø§ ÙÙ
+ÙÙ Ø§Ù ÙÙØ¹ÙÙ Ø§ÙÙ
+Ø¶Ù
+ÙÙØ Ø§Ø¬Ø¹Ù Ù
+Ø€ØŽØ± Ø§ÙÙØ£Ø±Ø© ÙÙÙ Ø§ÙØ§Ø³Ù
+ ÙØšØ±ÙØ© ÙØžÙØ± ÙÙ Ø§ÙÙØµÙ0</p>
+
+<p>Ø¥Ø°Ø§ ØºÙØ±Øª Ø§ÙØªØ¬ÙÙØ²Ø Ø§ÙÙØ± "OK" ÙØªØ£ÙÙØ¯ Ø§ÙØªØºÙÙØ±Ø§Øª ÙØ§ØºÙÙ Ù
+Ø±ØšØ¹ Ø§ÙØ­ÙØ§Ø± . Ø§Ù "Ø¥ÙØºØ§Ø¡" ÙØ§ØºÙØ§Ù Ù
+Ø±ØšØ¹ Ø§ÙØ­ÙØ§Ø± ØšØ¯ÙÙ ØªØºÙÙØ± Ù
+Ø¶Ø§Ù
+ÙÙ Ø§ÙÙ
+ÙØ§ØšØ³0</p>
+
+<p>ÙØªÙ
+ ØªÙÙÙØ° Ø§ÙÙ
+ÙØ§ØšØ³ ØšØ§ÙØªØ±ØªÙØšØ ÙÙÙÙÙ Ø§ÙØªØ±ØªÙØš Ø§Ø­ÙØ§ÙØ§Ù Ù
+ÙÙ
+0 ÙÙ
+ÙÙ ØªØ±ØªÙØš Ø§ÙÙ
+ÙØ§ØšØ³ ÙÙ Ø³ÙØ§Ù Ø§Ø®ØªØµØ§ØµÙ ÙØžÙ
+ Ù
+ÙØªØšØ§Øª ÙØ³ÙØ§Ù Ø®ØšÙØ± (see <a href="preferences.htm">Ø§ÙØªÙØ¶ÙÙØ§Øª</a>).    </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/preferences.htm
===================================================================
--- main/tags/2.83/gli/help/ar/preferences.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/preferences.htm	(revision 21123)
@@ -0,0 +1,154 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="preferences"><font size="5" face="Verdana"><strong>9.1: Ø§ÙØªÙØ¶ÙÙØ§Øª</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØŽØ±Ø­ ÙØ°Ø§  Ø§ÙÙØ³Ù
+ Ù
+Ø±ØšØ¹ Ø­ÙØ§Ø± Ø§ÙØªÙØ¶ÙÙØ§Øª ÙØ§ÙØ°Ù ÙØªØ§Ø­ ØšÙØªØ­ "Ù
+ÙÙ" 
+Ø§ÙØªÙØ¶ÙÙØ§Øª0</p>
+
+<p>"ØªÙØªØ­ ÙØ§ÙØ°Ø© Ø§ÙØªÙØ¶ÙÙØ§Øª  ÙÙ  tab "Ø¹Ø§Ù
+"  Ø§ÙØ®ÙØ§Ø± Ø§ÙØ£ÙÙ ÙÙ Ø­ÙÙ ÙØµÙ ÙØ§Ø¯Ø®Ø§Ù Ø¹ÙÙØ§Ù  ØšØ±ÙØ¯Ù Ø§ÙØ§ÙÙØªØ±ÙÙÙ ÙØ³ÙÙ ÙØªÙ
+  Ø§Ø³ØªØ®Ø¯Ø§Ù
+Ù Ù "Ù
+ÙØŽØŠ" Ù"Ù
+Ø§ÙÙ" Ø¶Ù
+Ù Ø¹ÙØ§ØµØ±  ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©  Ø§ÙØ¬Ø¯ÙØ¯Ø©0 Ø§ÙØ®ÙØ§Ø± Ø§ÙØ«Ø§ÙÙ  ÙÙ ÙØ§ØŠÙ
+Ø© Ù
+ÙØ³Ø¯ÙØ© ØšØ§ÙÙØºØ§Øª Ø§ÙØªÙ ØªØ³ØªØ·ÙØ¹ Ø¹Ø±Ø¶ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØšÙØ§0 Ø§Ø°Ø§ ÙÙ
+Øª ØšØ§Ø®ØªÙØ§ Ø± ÙØºÙØ ÙÙØšØºÙ Ø§Ø¹Ø§Ø¯Ø© ØªØŽØºÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ÙØªØ­Ù
+ÙÙ Ø³ÙØ§Ø³Ù Ø§ÙÙØºØ© ÙÙ Ø§ÙÙØ§Ù
+ÙØ³0</p>
+
+<p>Ø§Ø°Ø§ ØªÙ
+ ØªØ£ØŽÙØ± "Ø¹Ø±Ø¶ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø³ØªØ®ÙØµØ©" ÙØªÙ
+ Ø¹Ø±Ø¶ Ù
+Ø®ØªÙÙ Ø§ÙØ¶ÙØ§ØšØ· Ø§ÙØªÙ ØªØ¹Ø§Ù
+Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø³ØªØ®ÙØµÙ Ø¢ÙÙØ§ Ù
+Ù Ø§ÙÙØ«Ø§ØŠÙ0 ØªÙØ¶  Ø§ÙØ§Ø®ØªÙØ§Ø±  ÙØ®ÙÙ ÙØ°Ù Ø§ÙÙØ§ØµÙØ§Øª (ØšØ§ÙØ±ØºÙ
+ Ù
+Ù Ø°ÙÙ  ØªØšÙ Ù
+ØªÙÙØ±Ù ÙÙ  ØªØµÙ
+ÙÙ
+ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0  ÙØ®ÙØ§Ù  Ù
+Ø¬Ù
+ÙØ¹Ø©  ÙØ±ÙÙØ³ØªÙÙ Ø§ÙÙÙØ§ØŠÙØ©)0 Ø§Ø°Ø§ ØªÙ
+ ØªØ£ØŽÙØ± "Ø¹Ø±Ø¶ Ø§Ø­Ø¬Ø§Ù
+ Ø§ÙÙ
+ÙÙ"  ÙØªÙ
+ Ø¹Ø±Ø¶ Ø§ÙØ­Ø¬Ù
+  ØšØ¹Ø¯ Ø§ÙÙ
+ÙÙ ÙÙ Ù
+Ø³Ø§Ø­Ø© Ø§ÙØ¹Ù
+Ù ÙØŽØ¬Ø±Ø©  Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙ Ù
+ØŽÙØ¯Ù  "ØªØ¬Ù
+ÙØ¹" Ù"Ø¥Ø«Ø±Ø§Ø¡"0</p>
+
+<p>ÙØ³ØªØ®Ø¯Ù
+  tab "Ø³ÙØ§Ù" ÙØ¶ØšØ·  Ù
+Ø³ØªÙÙ Ø§ÙØªÙØµÙÙ ÙÙ Ø§ÙÙØ§Ø¬ÙØ©- ÙÙÙØ± "Ù
+Ø³Ø§Ø¹Ø¯ Ù
+ÙØªØšÙ" Ø£ÙÙ Ø§Ø¹Ø¯Ø§Ø¯ Ø­ÙØ« ÙØªÙ
+  Ø­Ø¬Øš Ù
+ØŽÙØ¯  Ø§ÙØªØµÙ
+ÙÙ
+ ÙØ§ÙÙ
+Ø¶Ø§Ù
+ÙÙ Ø§ÙØªÙ ØªØªØ·ÙØš Ø§ÙØªØºÙØ±Ø§Øª Ø§ÙÙ
+ÙØªØžÙ
+Ø©Ø ÙØªØªÙÙØ± Ù
+Ø¹ÙÙÙ
+Ø§Øª ÙÙÙÙØ© ÙÙ Ù
+Ø¯ÙÙÙ Ø§Ø­Ø¯Ø§Ø« ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0  ÙÙÙØ± Ø³ÙØ§Ù "Ø®ØšÙØ±" Ø§Ø¹ÙÙ Ø¥Ø¹Ø¯Ø§Ø¯ Ø­ÙØ« ÙØªØ§Ø­  Ø§ÙÙØµÙÙ ÙÙÙ Ù
+ÙØ§Ù
+Ø­ Ø§ÙØªØµÙ
+ÙÙ
+Ø Ù
+ØªØ¶Ù
+ÙÙ ØªÙ
+ÙØ¶Ø­ Ø§ÙÙ
+ÙØ§ØšØ³ ÙÙ
+Ø¶Ø§Ù
+ÙÙ Ø§ÙØªØ¹ØšÙØ±Ø§Øª Ø§ÙÙ
+ÙØªØžÙ
+Ø©Ø ÙØªØ³Ø¬ÙÙ Ø§ÙÙ
+Ø®Ø±Ø¬Ø§Øª Ø§ÙÙØ§Ù
+ÙØ© ÙØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙ Ø§ÙÙ
+Ø¯ÙÙÙ ÙØªØºÙÙØ± Ø£Ù Ø§Ø³ØªØ¹Ø±Ø§Ø¶ Ø§ÙØ³ÙØ§ÙØ§Øª Ø Ø§ÙÙØ± Ø²Ø± "Radio buttons" Ø§ÙØ«Ø§ÙÙ ÙÙØ³ÙØ§Ù Ø§ÙØ°Ù ØªÙØªÙ
+ ØšÙ0 ÙÙ
+ÙÙÙ Ù
+Ø¹Ø±ÙØ© Ø§ÙØ³ÙØ§Ù Ø§ÙØ°Ù Ø§ÙØª ÙÙÙ ØšØ§ÙÙØžØ± Ø¥ÙÙ Ø¹Ù
+ÙØ¯ Ø¹ÙÙØ§Ù ÙØ§Ø¬ÙÙ Ø§ÙÙ
+ÙØªØšÙ0</p>
+
+<p>ÙØªÙØ­ ÙÙ  tab "Ø§ÙØ§ØªØµØ§Ù" Ø­ÙØ« Ø§ÙÙ
+Ø³Ø§Ø± Ø¥ÙÙ Ù
+Ø²ÙØ¯ Ù
+ÙØªØšØ© ÙØ±ÙÙØ³ØªÙÙ Ø§ÙÙ
+Ø­ÙÙ Ø§ÙØ°Ù ÙØ³ØªØ®Ø¯Ù
+ Ø¹ÙØ¯ Ø¹Ø±Ø¶ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©Ø ÙÙ
+Ø§ ÙØªÙØ­  ÙÙ Ø¥Ø¹Ø¯Ø§Ø¯ Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙØšØ±ÙÙØ³Ù ÙÙØ§ØªØµØ§Ù Ø¹ØšØ± Ø§ÙØ§ÙØªØ±ÙØª (Ù
+Ø«Ø§ÙØ ØªÙØ²ÙÙ Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª)<a href="downloadingfiles.htm">ØªÙØ²ÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ù
+Ù Ø§ÙØ¥ÙØªØ±ÙØª</a> ÙÙ
+Ø²ÙØ¯ Ù
+Ù Ø§ÙØªÙØ§ØµÙÙ). ÙÙÙ
+ ØšØªØ£ØŽÙØ± Ø§ÙÙ
+Ø±ØšØ¹ ÙØªÙØŽÙØ· Ø§ÙØšØ±ÙÙØ³Ù ÙØªÙÙÙØ± Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø¹ÙÙØ§Ù Ù
+Ø¶ÙÙ Ø§ÙØšØ±ÙÙØ³Ù ÙØ±ÙÙ
+ Ø§ÙÙ
+ÙÙØ°0 ÙØªÙ
+ ØªØ¬ÙÙØ² Ø§ØªØµØ§Ù Ø§ÙØšØ±ÙÙØ³Ù Ø¹ÙØ¯Ù
+Ø§ ØªÙÙÙ
+  ØšØºÙÙ Ù
+Ø±ØšØ¹ Ø§ÙØªÙØ¶ÙÙØ§Øª0</p>
+
+<p>Ø®ÙØ§Ù ÙØªØ±Ø© ØªØŽØºÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙØ Ø±ØšÙ
+Ø§ ØªØžÙØ± Ø±Ø³Ø§ØŠÙ ØªØ­Ø°ÙØ± ÙØ§Ø¹ÙØ§Ù
+Ù ØšØ¹ÙØ§ÙØš ØšØ¹Ø¶ Ø§ÙØ§Ø¬Ø±Ø§Ø¡Ø§Øª ØºÙØ± Ø§ÙÙ
+Ø±ØŠÙØ©0 ÙÙ
+ÙÙÙ Ø§Ø®Ù
+Ø§Ø¯ ÙØ°Ù Ø§ÙØ±Ø³Ø§ØŠÙ ÙØªØ£ØŽÙØ± Ù
+Ø±ØšØ¹ " ÙØ§ØªØ¹Ø±Ø¶ ÙØ°Ø§ Ø§ÙØªØ­Ø°ÙØ± Ù
+Ø±Ø© Ø«Ø§ÙÙØ©"0 ÙÙ
+ÙÙÙ ØªÙØŽÙØ· Ø±Ø³Ø§ØŠÙ  Ø§ÙØªØ­Ø°ÙØ± ØšØ§Ø³ØªØ®Ø¯Ø§Ù
+ tab  "ØªØ­Ø°ÙØ±Ø§Øª 0 ÙÙ
+ ØšØªØ£ØŽÙØ± Ø§ÙÙ
+Ø±ØšØ¹ Ø§ÙØªØ§ÙÙ ÙØ±Ø³Ø§ØŠÙ Ø§ÙØªØ­Ø°ÙØ± Ø§ÙØªÙ ØªØ±ØºØš ÙÙ Ø±Ø€ÙØªÙØ§ Ù
+Ø±Ø© Ø«Ø§ÙÙØ©0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/producingthecollection.htm
===================================================================
--- main/tags/2.83/gli/help/ar/producingthecollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/producingthecollection.htm	(revision 21123)
@@ -0,0 +1,40 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="producingthecollection"><font size="5" face="Verdana"><strong>7: Ø¥ÙØªØ§Ø¬ Ù
+Ø¬Ù
+ÙØ¹Ø©</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ø¥Ø°Ø§ ØªÙ
+ ØªØ¬Ù
+ÙÙØ¹ Ø§ÙÙØ«Ø§ØŠÙ ÙÙÙ
+Ø¬Ù
+ÙØ¹ÙØ Ù
+ØŽØ±ÙØ­Ø© ØšÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ø¹ ØªØµÙ
+ÙÙ
+ ÙÙÙÙØ© ØªÙ
+ØžÙØ± Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 ÙÙ
+ÙÙÙ ÙØ°Ø§ Ù
+Ù Ø§ÙØªØ§Ø¬ Ù
+Ø¬Ù
+ÙØ¹Ø© ØšÙØ§Ø³Ø·Ø© ÙØ±ÙÙØ³ØªÙÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙØŽØ±Ø­ ÙÙÙÙØ© Ø§ÙØ¬Ø§Ø² ÙØ°Ø§ Ø§ÙØ£Ù
+Ø±0</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/removingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/ar/removingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/removingfiles.htm	(revision 21123)
@@ -0,0 +1,35 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="removingfiles"><font size="5" face="Verdana"><strong>4.6: Ø­Ø°Ù Ù
+ÙÙØ§Øª</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ØªÙØ¬Ø¯ Ø§Ø³Ø§ÙÙØš Ø¹Ø¯ÙØ¯Ø© ÙØ­Ø°Ù Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª ÙØ§ÙÙ
+ÙÙØ§Øª0 ÙØ¬Øš Ø¹ÙÙÙ Ø§ÙÙØ§Ù ØªØ­Ø¯ÙØ¯ Ø§ÙØ¹ÙØ§ØµØ± Ø§ÙÙ
+Ø·ÙØš Ø­Ø°ÙÙ ØšØ§Ø®ØªÙØ§Ø± Ù
+Ø¬ÙØ¯ Ø£Ù Ù
+ÙÙ Ø§ÙØ£ÙØ«Ø± ÙÙ
+Ø§ ÙÙ Ù
+ÙØµÙÙ ÙÙ <a href="thegatherview.htm">Ù
+ØŽÙØ¯ Ø§ÙØªØ¬Ù
+ÙÙØ¹</a>.</p>
+
+<p>Ø¹ÙØ¯ Ø§Ø®ØªÙØ§Ø± Ø§ÙÙ
+ÙÙØ Ø§ÙÙØ± Ø²Ø± "Ø§ÙØºØ§Ø¡" ÙØ­Ø°ÙÙ Ø£Ù ØšØ§ÙØ¶ØºØ· Ø¹ÙÙ "Ø§ÙØºØ§Ø¡" ÙÙ ÙÙØ­Ø© Ø§ÙÙ
+ÙØ§ØªÙØ­ - Ø£Ù Ø³Ø­Øš Ø§ÙÙ
+ÙÙØ§Øª Ù
+Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø¥ÙÙ Ø²Ø± Ø§ÙØ§ÙØºØ§Ø¡ ÙØ§Ø³ÙØ§Ø·ÙØ§ ÙÙØ§Ù0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/replacingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/ar/replacingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/replacingfiles.htm	(revision 21123)
@@ -0,0 +1,56 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="replacingfiles"><font size="5" face="Verdana"><strong>4.5: Ø§Ø¹Ø§Ø¯Ø© ØªØ³Ù
+ÙØ© ÙØ§Ø³ØªØšØ¯Ø§Ù Ø§ÙÙ
+ÙÙØ§Øª0</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙÙ
+ÙÙ Ø§Ø¹Ø§Ø¯Ø© ØªØ³Ù
+ÙØ© Ø§ÙÙ
+ÙÙØ§Øª ØšØ§ÙÙÙØ± Ø¹ÙÙ Ø§ÙØ²Ø± Ø§ÙØ£ÙÙ
+Ù Ø¹ÙÙÙØ§ ÙØ§Ø®ØªÙØ§Ø± "Ø§Ø¹Ø§Ø¯Ø© ØªØ³Ù
+ÙØ©" Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©Ø Ø¯Ø®Ù Ø§ÙØ§Ø³Ù
+ Ø§ÙØ¬Ø¯ÙØ¯ ÙØ§ÙÙØ± "OK"</p>
+
+<p>ÙÙ
+ÙÙ Ø§Ø³ØªØšØ¯Ø§Ù Ø§ÙÙ
+ÙÙØ§Øª ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšÙÙØ± Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù ÙÙÙ Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+Ø±Ø§Ø¯ Ø§Ø³ØªØšØ¯Ø§ÙÙ ÙØ§Ø®ØªÙØ§Ø± "Ø§Ø³ØªØšØ¯Ø§Ù" ÙØªÙ
+ ÙØªØ­ Ù
+ØªØµÙØ­ Ø§ÙÙ
+ÙÙØ§ØªØ ØªØ¬ÙÙ Ø¥ÙÙ Ø§ÙÙØ«ÙÙØ© Ø§ÙØ¬Ø¯ÙØ¯Ø© ÙØ§ÙÙØ± "ÙØªØ­" ÙÙØ§ ÙØªÙ
+ Ø§Ø³ØªØšØ¯Ø§Ù Ø§ÙÙØ«ÙÙØ© Ø§ÙÙØ¯ÙÙ
+Ø© ØšØ§ÙØ¬Ø¯ÙØ¯Ø©  ÙØ³ÙÙ ÙØªÙ
+ ØªØ­ÙÙÙ Ø§Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¥ÙÙÙØ§ ÙÙÙÙÙ ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ Ù
+ÙÙØ¯Ø§Ù ÙÙ Ø­Ø§ÙØ© Ø§Ø³ØªØšØ¯Ø§Ù Ø§ÙÙØ«Ø§ØŠÙ Ø§ÙÙ
+Ø²ÙÙØ© ØšÙØ«Ø§ØŠÙ Ø­ÙÙÙÙØ©0</p>
+
+<p>ØšØ¹Ø¶ Ø£ÙÙØ§Ø¹ Ø§ÙÙ
+ÙÙØ§Øª ÙØªÙ
+ ØªØ­ÙÙÙÙØ§ Ø¥ÙÙ HTML Ø¹Ù Ø·Ø±ÙÙ ØšØ±Ù
+Ø¬ÙØ§Øª Ø·Ø±Ù Ø«Ø§ÙØ« Ø®ÙØ§Ù Ø§ÙØ§Ø³ØªÙØ±Ø§Ø¯ Ø Ø¹ÙÙ Ø³ØšÙÙ Ø§ÙÙ
+Ø«Ø§Ù Ø Word,  Excel, PDF etc .ØšØ¹Ø¶ Ù
+ÙÙØ§Øª HTML ÙØ¯ ÙØ§ ØªÙÙÙ ØšØŽÙÙ ØµØ­ÙØ­ Ø®ÙØ§Ù Ø§ÙØ¥Ø³ØªÙØ±Ø§Ø¯ .ØªØªÙÙØ± ÙÙØ°Ù Ø§ÙÙØ«Ø§ØŠÙ Ø®ÙØ§Ø±Ø§Øª Ø§ÙØ²Ø± Ø§ÙØ£ÙÙ
+Ù  "Ø¥Ø³ØªØšØ¯Ø§Ù ØšÙØ³Ø®Ø© HTML .". Ø§Ø®ØªÙØ§Ø± ÙØ°Ø§ Ø§ÙØ®ÙØ§Ø± ÙÙÙØ± Ø¥Ø³ØªØšØ¯Ø§Ù Ø§ÙÙ
+ÙÙ Ø§ÙØ£ØµÙÙ ØšÙØ³Ø®Ø©  HTML Ø ÙÙ
+Ù Ø«Ù
+ ÙÙ
+ÙÙ ØªØ­Ø±ÙØ±ÙØ§. </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/reviewingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/ar/reviewingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/reviewingmetadata.htm	(revision 21123)
@@ -0,0 +1,140 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="reviewingmetadata"><font size="5" face="Verdana"><strong>5.6: Ø¥Ø³ØªØ¹Ø±Ø§Ø¶ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ØªØ­ØªØ§Ø¬ Ø§Ø­ÙØ§ÙØ§Ù ÙØ±Ø€ÙØ© ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ÙÙØ© ÙØ¹Ø¯Ø¯ Ù
+Ù Ø§ÙÙ
+ÙÙØ§Øª Ù
+Ø±Ø© ÙØ§Ø­Ø¯Ø©00 Ù
+Ø«ÙØ§ ÙØªØ­Ø¯ÙØ¯ Ø­Ø¬Ù
+ Ø§ÙØ¹Ù
+Ù ÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+ØªØšÙÙØ© Ø§Ù ÙØ§Ø®Ø° ÙÙØ±Ø© Ø­ÙÙ Ø§ÙØªØºØ·ÙØ© Ø§ÙØ²Ù
+ÙÙØ©0</p>
+
+<p>ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙØªÙ ØªÙØ¯ ÙØ­ØµÙØ§Ø Ø«Ù
+ Ø§ÙØ¶ØºØ· Ø¹ÙÙ Ø²Ø± Ø§ÙÙØ£Ø±Ø© Ø§ÙØ§ÙÙ
+Ù  ÙØ§Ø®ØªÙØ§Ø± "ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© " ÙØžÙØ± ÙÙ Ø¬Ø¯ÙÙ ÙØšÙØ± ÙÙ ÙØ§ÙØ°Ø© Ø§Ø¹ÙÙØ§Ù  "ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª" ÙØžÙØ± ÙÙ Ø§ÙØ¹Ù
+ÙØ¯ Ø§ÙØ£ÙÙ Ø§Ø³Ù
+Ø§Ø¡ Ø§ÙÙ
+ÙÙØ§Øª ÙØªØžÙØ± ÙÙ "rows" ÙÙ ÙÙÙ
+ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø­Ø¯Ø¯Ø© ÙÙØ°Ù Ø§ÙÙ
+ÙÙØ§Øª0</p>
+
+<p>Ø±Ø³Ù
+ Ø§ÙØ¬Ø¯ÙÙ ÙØ¯ ÙØ³ØªØºØ±Ù Ø²Ù
+ÙØ§ÙØ Ø§Ø°Ø§ ØªÙ
+ Ø§Ø®ØªÙØ§Ø± Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ù Ø§ÙÙ
+ÙÙØ§Øª  ÙÙ
+ÙÙÙ Ø§ÙØ§Ø³ØªÙ
+Ø±Ø§Ø± ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØšÙÙÙ
+Ø§ ÙØ§ÙØ°Ø© "ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª" Ù
+ÙØªÙØ­Ø©0</p>
+
+<p>Ø¹ÙØ¯Ù
+Ø§ ÙØµØšØ­ Ø§ÙØ­Ø¬Ù
+ ÙØšÙØ±Ø§ÙØ ÙÙ
+ÙÙÙ ØªØ±ØŽÙØ­ Ø¬Ø¯ÙÙ "ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª" ÙØªØ·ØšÙÙ Ø§ÙÙ
+Ø±ØŽØ­Ø§Øª Ø¹ÙÙ Ø§ÙØ£Ø¹Ù
+Ø¯Ø© - ØšØ§Ø¶Ø§ÙØ© Ø§ÙÙ
+Ø±ØŽØ­Ø§Øª Ø§ÙØ¬Ø¯ÙØ¯Ø© ØªØªØšÙÙ ÙÙØ· Ø§ÙØ§Ø¹Ù
+Ø¯Ø© Ø§ÙÙ
+ØªÙØ§ÙÙØ© Ù
+Ø¹ ÙØ°Ù Ø§ÙÙ
+Ø±ØŽØ­Ø§Øª ÙØ§Ø¶Ø­Ø©  ÙÙ Ø§ÙØŽØ§ØŽØ©0 ÙØ§Ø¹Ø¯Ø§Ø¯  Ø£Ù ØªØ¹Ø¯ÙÙ Ø£Ù Ù
+Ø³Ø­ Ù
+Ø±ØŽØ­Ø Ø§ÙÙØ± Ø¹ÙÙ Ø²Ø± "funnel" Ø§Ø¹ÙÙ Ø§ÙØ¹Ù
+ÙØ¯Ø Ø³ÙÙ ÙØªÙ
+ Ø­Ø«Ù ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø­ÙÙ Ø§ÙÙ
+Ø±ØŽØ­Ø Ø¹ÙØ¯ Ø¥Ø¹Ø¯Ø§Ø¯ Ø§ÙÙ
+Ø±ØŽØ­ ÙØªØºÙØ± ÙÙÙ Ø±Ø§Ø³ Ø§ÙØ¹Ù
+ÙØ¯0</p>
+
+<p>ÙØªÙÙØ± Ø§ÙØ­Ø« ÙÙ Ø²Ø± "ØšØ³ÙØ·" ÙØ²Ø± "Ù
+ØªÙØ¯Ù
+"0 Ø²Ø± ØšØ³ÙØ· ÙØžÙØ± Ø§ÙÙ
+Ø±ØŽØ­Ø§Øª Ø§ÙØªÙ ØªØ­ØªÙÙ Ø¹ÙÙ ÙÙÙ
+ Ù
+Ø­Ø¯Ø¯Ø© ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ( "*" ØªØ¶Ø§ÙÙ  ÙÙ Ø§ÙÙÙÙÙÙ
+) 0 ÙÙ
+ÙÙÙ  Ø§Ø®ØªÙØ§Ø± ÙÙÙ
+ ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©0 Ø²Ø± Ù
+ØªÙØ¯Ù
+  ÙØªÙØ­ ÙÙ  Ù
+Ø®ØªÙÙ  Ø¹Ù
+ÙÙØ§Øª Ø§ÙÙ
+Ø¶Ø§ÙØ§Ø© ÙØ§ÙØªÙ ÙØ¬Øš Ø£Ù ØªØšØ¯Ø£ Øš  ÙØ§ ÙØªØ¶Ù
+Ù         Ø Ø£ÙÙ Ù
+Ù  Ø£Ù Ù
+Ø³Ø§Ù0 Ø§ÙÙÙÙ
+ Ø§ÙÙ
+Ø¶Ø§ÙØ§Ø© ÙÙ
+ÙÙ ØªØ¹Ø¯ÙÙÙØ§ ÙØªÙÙÙ Ø§Ù Ø³ÙØ§Ø³Ù Ø£Ø®Ø±Ù  (Ù
+ØªØ¶Ù
+ÙÙ "*") Ø ÙÙÙ
+ÙÙÙ Ø§Ø®ØªÙØ§Ø± Ù
+Ø§ Ø§Ø°Ø§  ÙØ§ÙØª Ø§ÙÙ
+Ø¶Ø§ÙØ§Ø©  Ø­Ø§ÙØ© ØºÙØ±  Ø­Ø³Ø§Ø³Ø©Ø Ø§Ø®ÙØ±Ø§Ù ÙÙ
+ÙÙÙ ØªØ®ØµÙØµ ØŽØ±Ø· Ø«Ø§Ù ÙÙÙ
+Ø¶Ø§ÙØ§Ø© ÙØ§Ø³ØªØ®Ø¯Ø§Ù
+Ù  ØšØªØ­Ø¯ÙØ¯ Ù
+Ø¯Ù Ù
+Ù Ø§ÙÙÙÙ
+ (  ØšØ§Ø®ØªÙØ§Ø± AND) Ø§Ø³ÙÙ ÙØ°Ù Ø§ÙÙ
+Ø³Ø§Ø­Ø© ÙÙØ¬Ø¯ Ù
+Ø±ØšØ¹  ÙØªÙØ­  ØªØºÙØ± ØªØ±ØªÙØš  Ø§ÙÙØ±Ø² (ØªØµØ§Ø¹Ø¯Ù Ø£Ù ØªÙØ§Ø²ÙÙ)0 Ø§Ø¶ØºØ· Ø¹ÙÙ "ØªØ­Ø¯ÙØ¯ Ù
+Ø±ØŽØ­" Ø¹ÙØ¯ Ø§ÙØ§ÙØªÙØ§Ø¡ ÙØªØ·ØšÙÙ Ø§ÙÙ
+Ø±ØŽØ­ Ø§ÙØ¬Ø¯ÙØ¯ Ø¹ÙÙ Ø§ÙØ¹Ù
+ÙØ¯0 Ø§ÙÙØ± "Ø­Ø°Ù Ù
+Ø±ØŽØ­" ÙØ­Ø°Ù Ø§ÙÙ
+Ø±ØŽØ­ Ø§ÙØ­Ø§ÙÙ0 Ù
+Ø¹  Ù
+ÙØ§Ø­ØžØ© Ø§Ù ØªÙØ§ØµÙÙ Ø§ÙÙ
+Ø±ØŽØ­  ÙÙ
+ÙÙ Ø§Ø³ØªØ¹Ø§Ø¯ØªÙØ§ Ø­ØªÙ Ø¹ÙØ¯  Ù
+Ø³Ø­ Ø§ÙÙ
+Ø±ØŽØ­0
+</p>
+<p>Ù
+Ø«Ø§ÙØ ÙÙØ±Ø² Ø¬Ø¯ÙÙ "ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª" ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø¹Ù
+ÙØ¯Ø Ø«Ù
+ Ø§Ø®ØªÙØ§Ø± Ø§Ø¹Ø¯Ø§Ø¯ Ø§ÙÙ
+Ø±ØŽØ­ Ø§ÙØ§ÙØªØ±Ø§Ø¶Ù (Ù
+Ø±ØŽØ­ ØšØ³ÙØ· "*") ÙØ§Ø®ØªÙØ§Ø±  Ø§ÙØªØ±ØªÙØš Ø§ÙØªØµØ§Ø¹Ø¯Ù</p>
+
+<p>Ù
+Ø«Ø§ÙØ ÙÙØ±Ø² "ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª"Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø¥Ø¹Ø¯Ø§Ø¯ Ø§ÙØ±ØŽØ­ Ø§ÙØ¥ÙØªØ±Ø§Ø¶Ù(Ù
+Ø±ØŽØ­ ØšØ³ÙØ·"*"), Ù ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§ÙØªØ±ØªÙØš Ø§ÙØªØµØ§Ø¹Ø¯Ù Ø£Ù Ø§ÙØªÙØ§Ø²ÙÙ</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/savingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/ar/savingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/savingacollection.htm	(revision 21123)
@@ -0,0 +1,65 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="savingacollection"><font size="5" face="Verdana"><strong>2.2: Ø­ÙØž Ù
+Ø¬Ù
+ÙØ¹Ø©</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙØ³ Ù
+ØªÙ
+Ø§Ø«ÙØ§Ù Ù
+Ø¹ Ø§Ø¹Ø¯Ø§Ø¯ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙØ§Ø³ØªØ®Ø¯Ø§Ù
+ ÙÙ ÙØ±ÙÙØ³ØªÙÙ   (see <a href="producingthecollection.htm">Ø¥ÙØªØ§Ø¬ Ù
+Ø¬Ù
+ÙØ¹Ø©</a>).</p>
+
+<p>ÙØªÙÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ Ø­Ù
+Ø§ÙØ© Ø¹Ù
+ÙÙ ØšØ­ÙØžÙ Ø¹ÙØ¯ Ø§ÙØ®Ø±ÙØ¬ Ù
+Ù Ø§ÙØšØ±ÙØ§Ù
+Ø¬ Ø£Ù ØªØ­Ù
+ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø£Ø®Ø±Ù0</p>
+
+<p>ØªØ­ÙØž Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª ÙÙ Ù
+Ø¬ÙØ¯ "collect" Ø¶Ù
+Ù ØªØ«ØšÙØª ÙØ±ÙÙØ³ØªÙÙ ÙØªØ³Ù
+Ù ØšØ§Ø³Ù
+ ÙØµÙØ± Ù
+Ù Ø§Ø³Ù
+ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 ØªØ­ÙØž Ø§ÙÙØ«Ø§ØŠÙ ÙÙ Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙÙØ±Ø¹Ù "import"  ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª  ØªØ­ÙØž ÙÙØ§ Ø£ÙØ¶Ø§Ù  ÙÙ Ù
+ÙÙ "metadata.xml" Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙØªÙÙÙÙ ØªØ­ÙØž ÙÙ Ù
+ÙÙ "collect. Cfq " ÙÙ Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙÙØ±Ø¹Ù etc." ØªØ­ÙØž ØšØ¹Ø¶ Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª ÙÙ Ù
+ÙÙ ØšØ§Ø³Ù
+ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšØ§Ù
+ØªØ¯Ø§Ø¯ Ù
+ÙÙ "col"</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/scheduledbuilding.htm
===================================================================
--- main/tags/2.83/gli/help/ar/scheduledbuilding.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/scheduledbuilding.htm	(revision 21123)
@@ -0,0 +1,38 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="scheduledbuilding"><font size="5" face="Verdana"><strong>7.4: ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ
+Ø¬Ø¯ÙÙØ©</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØªÙÙØ± ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ
+Ø¬Ø¯ÙÙØ© ÙÙ Ø³ÙØ§Ù Ø®ØšÙØ± .ÙØ¬Øš Ø¥Ø¬Ø±Ø§Ø¡ ØšØ¹Ø¶ Ø§ÙØ¥Ø¹Ø¯Ø§Ø¯Ø§Øª ÙØšÙ Ø§ÙÙÙØ§Ù
+ ØšÙØ°Ø§ Ø§ÙØ¹Ù
+Ù Ø Ø§ÙØžØ± http://wiki.greenstone.org/wiki/index.php/Scheduled_Collection_Building_from_the_Librarian_Interface ÙÙ
+Ø²ÙØ¯ Ù
+Ù Ø§ÙØªÙØ§ØµÙÙ. ÙÙØ¶Ø­ ØªØšÙÙØš"Ø®ÙØ§Ø±Ø§Øª Ø§ÙØ¬Ø¯ÙÙØ©."  Ø¹ÙÙ Ø§ÙØ¬Ø§ÙØš Ø§ÙØ£ÙØ³Ø± Ù
+Ù Ù
+ØŽÙØ¯ ØªØµÙ
+ÙÙ
+   ÙØ§ØŠÙ
+Ø© Ù
+Ù Ø®ÙØ§Ø±Ø§Øª Ø§ÙØªØ­ÙÙ
+ ÙÙ Ø¹Ù
+ÙÙØ© Ø§ÙØ¬Ø¯ÙÙØ©.ÙØ¬Øš Ø¥Ø¹Ø¯Ø§Ø¯ Ø§ÙØ®ÙØ§Ø±  " Ø¬Ø¯ÙÙØ© " ØšØµÙØ±Ø© Ù
+Ø­Ø¯Ø¯Ø© ÙÙØ¥Ø¬Ø±Ø§Ø¡. ØªÙØ¶Ø­ Ø§ÙØ®ÙØ§Ø±Ø§Øª Ø§ÙØ£Ø®Ø±Ù : ÙØªÙØ±Ø© Ø¥Ø¹Ø§Ø¯Ø© Ø§ÙØ¬Ø¯ÙÙØ© Ø Ø¥Ø¶Ø§ÙØ©  Ø¬Ø¯ÙÙØ©  Ø¬Ø¯ÙØ¯Ø© Ø ÙØªØ­Ø¯ÙØ« Ø¬Ø¯ÙÙØ© ÙØ§ØŠÙ
+Ø© Ø Ø£Ù Ø­Ø°Ù Ø§ÙØ¬Ø¯ÙÙ Ø§ÙØ²Ù
+ÙÙ Ø§ÙØ­Ø§ÙÙ Ø ÙØªÙØ§ØµÙÙ Ø§ÙØšØ±ÙØ¯ Ø§ÙØ¥ÙÙØªØ±ÙÙÙ Ø¥Ø°Ø§ ÙÙØª ØªØ±ÙØ¯ Ø¥ØŽØ¹Ø§Ø±Ø§ ØšØ§ÙØšØ±ÙØ¯ Ø§ÙØ§ÙÙØªØ±ÙÙÙ. </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/searchindexes.htm
===================================================================
--- main/tags/2.83/gli/help/ar/searchindexes.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/searchindexes.htm	(revision 21123)
@@ -0,0 +1,131 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchindexes"><font size="5" face="Verdana"><strong>6.3: ÙØŽØ§ÙØ§Øª Ø§ÙØšØ­Ø«</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ØªØ­Ø¯Ø¯ Ø§ÙÙØŽØ§ÙØ§Øª Ù
+Ø§ÙÙ Ø£Ø¬Ø²Ø§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙØ§ØšÙØ© ÙÙØšØ­Ø«0 ÙØŽØ±Ø­  ÙÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙÙÙÙØ© Ø§Ø¶Ø§ÙØ© ÙØ­Ø°Ù ÙØªØ¹ÙÙÙ ÙØŽØ§Ù Ø§ÙØªØ±Ø§Ø¶Ù ØªØ­Øª "ØªØµÙ
+ÙÙ
+" tab, click "ÙØŽØ§ÙØ§Øª Ø§ÙØšØ­Ø«".</p>
+
+<p>ÙÙ Ø§ÙØ¬Ø²Ø¡ Ø§ÙØ£ÙÙ
+Ù  Ø§Ø¹ÙÙ ÙØ§ÙØªÙ "ÙØŽØ§ÙØ§Øª Ø§ÙØšØ­Ø«" ØªØ¹Ø±Ø¶ Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø­ÙÙ Ø§ÙÙ
+ÙØŽÙ Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ Ø­Ø§ÙÙØ§Ù ØšÙØ§Ø³Ø·Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 ÙÙ
+ÙÙ ØªØºÙÙØ± ÙØ°Ø§ ØšÙÙØ±"ØªØºÙÙØ±". ØªØžÙØ± ÙÙ ÙØ§ÙØ°Ø© ØªØªØ¶Ù
+Ù ÙØ§ØŠÙ
+Ø© Ù
+Ù Ø§ÙØ®ÙØ§Ø±Ø§Øª Lucene, MGPP, MG Ø§ÙØªØºÙÙØ± ÙÙØ§ ÙØ€Ø«Ø± ÙÙ ÙÙÙÙØ© ØšÙØ§Ø¡ Ø§ÙÙØŽØ§ÙØ§Øª ÙÙØžÙÙÙØ© Ø§ÙØšØ­Ø«0</p>
+
+<p>ØªØžÙØ± ÙÙ ÙØ§ØŠÙ
+Ø© "Ø§ÙÙØŽØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©" Ø§ÙÙØŽØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0</p>
+
+<p>ÙØ§Ø¶Ø§ÙØ© ÙØŽØ§ÙØ Ø§ÙÙØ± "ÙØŽØ§Ù Ø¬Ø¯ÙØ¯".... ØªØžÙØ± ÙÙ ÙØ§ØŠÙ
+Ø© ØšØ§ÙÙ
+ØµØ§Ø¯Ø± Ø§ÙØªÙ ØªØªØ¶Ù
+Ù ÙØµ  ÙÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§Ù Ø§ÙÙ
+ØµØ§Ø¯Ø± Ø§ÙØªÙ ØªÙØ¯ ØªÙØŽÙÙÙØ§0  Ø²Ø± "Ø¥Ø®ØªÙØ§Ø± Ø§ÙÙÙ" and "ÙÙØ¶" ÙÙÙÙ
+Ø§Ù ØšØªØ£ØŽÙØ± Ø£Ù ÙÙØµ ØªØ§ØŽÙØ± ÙÙ Ø§ÙØ¹ÙØ§ØµØ± ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø©0 Ø¹ÙØ¯  ØªØ¹Ø±ÙÙ  Ø§ÙÙØŽØ§ÙØ§ØªØ Ø£ÙÙØ± "Ø¥Ø¶Ø§ÙØ© ÙØŽØ§Ù"ÙØ§Ø¶Ø§ÙØªÙØ§ Ø¥ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0  ØªØµØšØ­ "Ø¥Ø¶Ø§ÙØ© ÙØŽØ§Ù" ÙØŽØ·Ø© ÙÙØ· ÙÙ Ø­Ø§ÙØ©  Ø§Ù Ø§ÙØ¥Ø¹Ø¯Ø§Ø¯ ÙØµÙ ÙØŽØ§Ù Ø¬Ø¯ÙØ¯ ÙÙ
+ ÙØ¹ÙÙ Ù
+Ù ÙØšÙ ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© </p>
+
+<p>ØšØ§ÙÙØ³ØšÙ ÙÙØŽØ§ÙØ§Øª  MG ØªØ­ØªØ§Ø¬ Ø£ÙØ¶Ø§Ù ÙØ§Ø®ØªÙØ§Ø± qranularity Ø§ÙÙØŽØ§Ù Ù
+Ø³ØªØ®Ø¯Ù
+Ø§Ù ÙØ§ØŠÙ
+Ø© "Ù
+Ø³ØªÙÙ Ø§ÙØªÙØŽÙÙ:" . </p>
+
+<p>ØšØ§ÙÙØ³ØšØ© ÙÙØŽØ§ÙØ§Øª MGPP, Lucene
+Ø§ÙÙ
+Ø³ØªÙÙØ§Øª  Ø§ÙÙ
+Ø­ØªÙ
+ÙØ©  ØªØ¹Ø±Ø¶ ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙØ±ØŠÙØ³ÙØ© "ÙØŽØ§ÙØ§Øª Ø§ÙØšØ­Ø«" ÙÙÙ
+ÙÙ Ø§Ø¶Ø§ÙØªÙØ§ ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšØªØ£ØŽÙØ± Ù
+Ø±ØšØ¹Ø§Øª Ø§ÙÙØ­Øµ0</p>
+
+<p>ÙÙØ¬Ø¯  ÙØŽØ§Ù Ø®Ø§Øµ Øš Lucene, MGPP ÙÙÙ ÙØŽØ§Ù allhelds" ÙØªÙØ­ Ø§ÙØšØ­Ø« ÙÙ Ø§ÙÙØŽØ§ÙØ§Øª ØšØ¯ÙÙ Ø§ÙØ­ÙØ¬Ù ÙØªØ­Ø¯ÙØ¯ ÙØŽØ§Ù Ù
+ÙÙØµÙ ÙØ­ØªÙÙ ÙÙ Ø§ÙÙ
+ØµØ§Ø¯Ø±0 ÙØ§Ø¶Ø§ÙØ© ÙØ°Ø§ Ø§ÙÙØŽØ§Ù Ø Ø£ÙØ­Øµ "ÙÙ Ø­ÙÙÙ Ø§ÙÙØŽØ§Ù"  ÙÙÙ
+  ØšØªØ£ØŽÙØ±Ù  Ø§ÙÙ
+Ø±ØšØ¹ ÙØ§ÙÙØ± "Ø¥Ø¶Ø§ÙØ© ÙØŽØ§Ù".</p>
+
+<p>ØšØ§ÙÙØ³ØšØ© ÙÙØŽØ§ÙØ§Øª MGPP,Luane Ø ÙØªÙÙØ± Ø²Ø± "Ø¥Ø¶Ø§ÙØ© Ø§ÙÙÙ" ÙÙ
+Ø®ØªØµØ± ÙØ§Ø¶Ø§ÙØ© ÙÙ ÙØ§ØµÙØ§Øª  Ø§ÙØšÙØ§ÙØ§Øª ÙØ§ÙÙØµ ÙÙØŽØ§ÙØ§Øª ÙØ±Ø¯ÙØ©</p>
+
+<p>ÙØªØ¹Ø¯ÙÙ  ÙØŽØ§ÙØ  ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù ÙØ§ÙÙØ± "ØªØ­Ø¯ÙØ« ÙØŽØ§Ù".  ÙØªÙÙØ± Ù
+Ø±ØšØ¹ Ø­ÙØ§Ø± ÙØ±Ø¯Ù Ø¥ÙÙ "ÙØŽØ§Ù Ø¬Ø¯ÙØ¯" one is shown. </p>
+
+<p>ÙØ­Ø°Ù  ÙØŽØ§ÙØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù ÙØ§ØŠÙ
+Ø© Ø§ÙÙØŽØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ù Ù Ø£ÙÙØ± "Ø­Ø°Ù ÙØŽØ§Ù".</p>
+
+<p>ØªØ±ØªÙØš Ø§ÙÙØŽØ§ÙØ§Øª ÙÙ ÙØ§ØŠÙ
+Ø© Ø§ÙÙØŽØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©Ø ÙÙ ÙÙØ³ Ø§ÙØªØ±ØªÙØš Ø§ÙÙ
+ØªØšØ¹ ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙÙ ØµÙØ­Ø© Ø§ÙØšØ­Ø«0 Ø§Ø³ØªØ®Ø¯Ù
+ "Ø­Ø±Ù Ø§ÙÙ Ø£Ø¹ÙÙ" and "Ø­Ø±Ù Ø§ÙÙ Ø£Ø³ÙÙ" ÙØªØºÙÙØ± ÙØ°Ø§ Ø§ÙØªØ±ØªÙØš0</p>
+
+<p>Ø§ÙÙØŽØ§Ù Ø§ÙØ°Ù ØªÙ
+ Ø§Ø®ØªÙØ§Ø±Ù ÙØ§ÙØªØ±Ø§Ø¶Ù ÙÙ ØµÙØ­Ø© Ø§ÙØšØ­Ø« ÙØ³Ù
+Ù "Ø§ÙÙØŽØ§Ù  Ø§ÙØ§ÙØªØ±Ø§Ø¶Ù" ÙØªÙ
+  ØªÙ
+ÙØ² Ø§ÙÙØŽØ§Ù  Ø§ÙØ§ÙØªØ±Ø§Ø¶Ù Øš "(ÙØŽØ§Ù Ø§ÙØªØ±Ø§Ø¶Ù" ÙÙ ÙØ§ØŠÙ
+Ø© "Ø§ÙÙØŽØ§ÙØ§Øª  Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©"0 Ø§Ø°Ø§ ÙÙ
+ ÙØªÙ
+  ØªØ¹ÙÙÙ ÙØŽØ§Ù Ø§ÙØªØ±Ø§Ø¶Ù ÙØ§Ù Ø§ÙÙØŽØ§Ù Ø§ÙØ£ÙÙ ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© ÙØªÙ
+ Ø§Ø³ØªØ®Ø¯Ø§Ù
+Ù ÙÙØŽØ§Ù Ø§ÙØªØ±Ø§Ø¶Ù0</p>
+
+<p>Ø§ÙØ§Ø³Ù
+Ø§Ø¡ Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+Ø© ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙÙÙØŽØ§ÙØ§Øª ÙÙ ØµÙØ­Ø© Ø§ÙØšØ­Ø« ÙÙ
+ÙÙ Ø§Ø¹Ø¯Ø§Ø¯ÙØ§ ÙÙ "ØšØ­Ø«" Ø¬Ø²Ø¡Ø§Ù Ù
+Ù ÙØ§ÙØªÙ "ÙØ³Ù Ø¹Ø±Ø¶"  (see <a href="searchmetadatasettings.htm">ØšØ­Ø«</a>).</p>
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/searchindexoptions.htm
===================================================================
--- main/tags/2.83/gli/help/ar/searchindexoptions.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/searchindexoptions.htm	(revision 21123)
@@ -0,0 +1,55 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchindexoptions"><font size="5" face="Verdana"><strong>6.3.1: Ø®ÙØ§Ø±Ø§Øª ÙØŽØ§Ù Ø§ÙØšØ­Ø«</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙÙØ§Ù ØšØ¹Ø¶ Ø§ÙØ®ÙØ§Ø±Ø§Øª Ø§ÙØ¥Ø¶Ø§ÙÙØ© ÙÙØ³ÙØ·Ø±Ø© Ø¹ÙÙ Ø§ÙØ·Ø±ÙÙØ© Ø§ÙØªÙ ØªØšÙÙ ØšÙØ§ Ø§ÙÙØŽØ§ÙØ§Øª Ø ÙÙÙ ÙØ¯ ÙØ§ ØªØªÙÙØ± ÙÙØŽØ§Ù Ù
+Ø¹ÙÙ Ø ÙÙÙ ÙØ°Ù Ø§ÙØ­Ø§ÙØ© ØªÙÙÙ Ø±Ù
+Ø§Ø¯ÙØ© Ø§ÙÙÙÙ. </p>
+
+<p>ÙÙ
+ÙÙ ØªÙØŽÙØ· Ø§Ù Ø¥ØšØ·Ø§Ù ØªÙØŽÙØ· Ø­Ø§ÙØ© Ø§ÙØ­Ø³Ø§Ø³ÙØ© Ù ØªØ¬Ø§ÙÙ ÙÙØ§ÙØ§Øª Ø§ÙÙÙÙ
+Ø§Øª ÙÙØŽØ§ÙØ§Øª  MG Ù MGPP  .Ø¥Ø°Ø§ ØªÙ
+ Ø§ÙØªÙØŽÙØ· Ø³ÙÙ ÙØªÙ
+ Ø¥ÙØŽØ§Ø¡ ÙØŽØ§ÙØ§Øª Ø­Ø§ÙØ© Ø§ÙØ­Ø³Ø§Ø³ÙØ© Ù ØªØ¬Ø§ÙÙ ÙÙØ§ÙØ§Øª Ø§ÙÙÙÙ
+Ø§Øª Ù Ø³ÙÙ ÙØªÙÙØ± ÙÙÙ
+Ø³ØªØ®Ø¯Ù
+  Ø®ÙØ§Ø± ÙÙØšØ­Ø« ØšØ­Ø§ÙØ© Ø§ÙØ­Ø³Ø§Ø³ÙØ© Ù ØªØ¬Ø§ÙÙ ÙÙØ§ÙØ§Øª Ø§ÙÙÙÙ
+Ø§Øª Ø£Ù Ø¹Ø¯Ù
+Ù .Ø¥Ø°Ø§ Ø£ÙÙÙ Ø§ÙØªÙØŽÙØ· Ø ÙØ§Ù Ø§ÙØšØ­Ø« Ø³ÙÙ ÙÙÙÙ Ù
+Ø­Ø¯Ø¯Ø§ ØšØ­Ø§ÙØ© Ø§ÙØ­Ø³Ø§Ø³ÙØ©Ø Ù ÙÙ ÙØ°Ù Ø§ÙØ­Ø§ÙØ© ÙÙ ØªØ¹Ø±Ø¶ Ø§ÙØ®ÙØ§Ø±Ø§Øª ÙÙ ØµÙØ­Ø© ØªÙØ¶ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©. </p>
+
+<p>ØªØªÙÙØ± Ø­Ø§ÙØ© Ø§ÙØ­Ø±ÙÙ ÙÙØŽØ§ÙØ§Øª MGPP .Ø·Ø±ÙÙØ© Ø¹Ù
+ÙÙØ§ ØªØŽØ§ØšÙ Ø·Ø±ÙÙØ© ÙÙØ§ÙØ© Ø§ÙÙÙÙ
+Ø§ØªØ Ù ÙÙÙ ØšØ¯ÙØ§ Ù
+Ù ØªØ·Ø§ØšÙ Ø§ÙØ­Ø±ÙÙ Ø§ÙÙØšÙØ±Ø© Ù Ø§ÙØµØºÙØ±Ø© Ø ÙØ§Ù Ø§ÙØ­Ø±ÙÙ Ø°Ø§Øª Ø§ÙÙØšØ± ØªØ·Ø§ØšÙ Ø§ÙØ­Ø±ÙÙ Ø§ÙØªÙ ÙÙØ³ Ø¹ÙÙÙØ§ ÙØšØ±. ÙØªÙÙØ± ÙØŽØ§Ù  Lucene Ø¯Ø§ØŠÙ
+Ø§ ØšØ­Ø§ÙØ© Ø§ÙØ­Ø±ÙÙ Ø Ù ÙÙ ØªØªÙÙØ± Ø£Ù Ø®ÙØ§Ø±Ø§Øª ÙÙ ØµÙØ­Ø© ØªÙØ¶ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙ
+Ø³ØªØ®Ø¯Ù
+.</p>
+
+<p>"Ø§ÙÙØµÙØµ ØšØ§ÙÙØºØ§Øª Ø§ÙØµÙÙÙØ© ÙØ§ÙÙØ§ØšØ§ÙÙØ© ÙØ§ÙÙÙØ±ÙØ© ØºØ§ÙØšØ§ Ù
+Ø§ ØªÙÙÙ ØºÙØ± Ù
+Ø¬Ø²Ø£Ø© Ø¥ÙÙ ÙÙÙ
+Ø§Øª ÙØ±Ø¯ÙØ©Ø Ù ÙÙ
+Ø§ ÙÙ Ù
+Ø¹ÙÙÙ
+ ØÙØ¹ØªÙ
+Ø¯ Ø§ÙØªÙØŽÙÙ Ø¹ÙÙ Ø§ÙÙÙÙ
+Ø§Øª Ø§ÙÙØ±Ø¯ÙØ© ÙØ°ÙÙ ÙØ§Ù Ø¥Ø¹Ø¯Ø§Ø¯ Ø§ÙØ®ÙØ§Ø± "CJK ØªØ¬Ø²ØŠØ© ÙØµ" ÙÙØ¶Ø¹ ÙØ§ØµÙ ØšÙÙ Ù
+ÙØ±Ø¯Ø§Øª Ø§ÙÙØºØ§Øª Ø§ÙÙÙØ±ÙØ©/Ø§ÙÙØ§ØšØ§ÙÙØ©/ Ø§ÙØµÙÙÙØ© Ø³ÙÙ ÙØªÙØ­ ÙØ°Ù Ø§ÙÙ
+ÙØ±Ø¯Ø§Øª ÙÙØšØ­Ø«. "</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/searchmetadatasettings.htm
===================================================================
--- main/tags/2.83/gli/help/ar/searchmetadatasettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/searchmetadatasettings.htm	(revision 21123)
@@ -0,0 +1,41 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchmetadatasettings"><font size="5" face="Verdana"><strong>8.3: ØšØ­Ø«</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØŽØ±Ø­ ÙÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙÙÙÙØ© Ø¹Ø±Ø¶ Ø§ÙÙØµ ÙÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙÙ ØµÙØ­Ø© Ø§ÙØšØ­Ø« &ndash; ØªØ­Øª tab "ÙØ³Ù Ø¹Ø±Ø¶" Ø§ÙÙØ± "ØšØ­Ø«"0</p>
+
+<p>ÙØªØ¶Ù
+Ù ÙØ°Ø§ Ø§ÙÙ
+ØŽÙØ¯ Ø¬Ø¯ÙÙ ØšÙÙ ÙØŽØ§Ù ØšØ­Ø«Ø ÙÙØ§ ÙÙ
+ÙÙÙ Ø§Ø¯Ø®Ø§Ù Ø§ÙÙØµ Ø§ÙØ°Ù ÙØ³ØªØ®Ø¯Ù
+ ÙÙ
+ØµØ·ÙØ­ ØšØ­Ø« ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© ÙÙ ØµÙØ­Ø© Ø§ÙØšØ­Ø«. ÙØªÙØ­ ÙÙ ÙØ°Ø§ Ø§ÙÙ
+ØŽÙØ¯ ØªØ­Ø¯ÙØ¯ Ø§ÙÙØµ ÙÙ ÙØºØ© ÙØ§Ø­Ø¯Ø© ÙØªØ±Ø¬Ù
+Ø© Ø§ÙÙØµ Ù
+Ù Ø§ÙÙØºØ© Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+Ø© Ø­Ø§ÙÙØ§Ù ÙÙ GLIØ¥ÙÙ Ø§ÙÙØºØ© Ø§ÙØ£Ø®Ø±Ù. ÙØªØ±Ø¬Ù
+Ø© ÙØ°Ù Ø§ÙØ£Ø³Ù
+Ø§Ø¡ Ø§ÙÙ ÙØºØ§Øª Ø£Ø®Ø±Ù Ø§Ø³ØªØ®Ø¯Ù
+ "ØªØ±Ø¬Ù
+Ø© ÙØµ" ÙÙÙ Ø¬Ø²Ø¡ Ù
+Ù Ù
+ØŽÙØ¯ ÙØ³Ù Ø¹Ø±Ø¶ (see <a href="translatetext.htm">ØªØ±Ø¬Ù
+Ù ÙØµ</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/selectingmetadatasets.htm
===================================================================
--- main/tags/2.83/gli/help/ar/selectingmetadatasets.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/selectingmetadatasets.htm	(revision 21123)
@@ -0,0 +1,199 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="selectingmetadatasets"><font size="5" face="Verdana"><strong>5.2: Ø¥Ø®ØªÙØ§Ø± Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹Ø±ÙØ© Ù
+Ù ÙØšÙ ØªØ¹Ø±Ù ØšÙ "Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª"0 Ù
+Ø«Ø§ÙØ Ù
+Ø¹ÙØ§Ø± Ø¯ØšÙÙ ÙÙØ± ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª0 Ø¹ÙØ¯ Ø¥Ø¶Ø§ÙØ© Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙÙ
+Ø¬Ù
+ÙØ¹ØªÙ ØªØµØšØ­  Ø¹ÙØ§ØµØ±Ù Ù
+ØªØ§Ø­Ø© ÙÙØ§Ø®ØªÙØ§Ø±0 ÙÙ
+ÙÙÙ Ø§Ø®ØªÙØ§Ø± Ø£ÙØ«Ø± Ù
+Ù Ù
+Ø¹ÙØ§Ø± ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§ØªØ ÙÙ
+ÙØ¹ ØªØ¶Ø§Ø±Øš Ø§ÙØ§Ø³Ù
+Ø§Ø¡Ø ÙÙØ­Ø¯ Ù
+Ø¹Ø±Ù ÙØµÙØ± ÙØšÙ Ø§Ø³Ù
+ Ø§ÙØ¹ÙØµØ± ÙÙ
+Ø«Ø§Ù Ù
+Ø¹Ø±ÙÙ Ø¹ÙØµØ± Ù
+Ø¹ÙØ§Ø± Ø¯ØšÙÙ ÙÙØ± ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª  ÙØµØšØ­  "Ù
+Ø€ÙÙ .dc" ØªØ­ÙØž Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙ Ù
+Ø³Ø§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª"Metadata"ÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ÙÙØ­Ù
+Ù Ø§ÙØ§Ù
+ØªØ¯Ø§Ø¯ "mds."</p>
+
+<p>ØªØªÙ
+ Ø§Ø¶Ø§ÙØ© Ù
+Ø¹ÙØ§Ø± Ø¯ØšÙÙ ÙÙØ± ØšØµÙØ±Ø© Ø§ÙØªØ±Ø§Ø¶ÙØ© Ø¹ÙØ¯ Ø§ÙØŽØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø¬Ø¯ÙØ¯Ø©0 ÙÙ
+ÙÙÙ  ØªØºÙÙØ± Ø£Ù Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+Ø³ØªØ®Ø¯Ù
+ ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšØ§ÙÙÙØ± Ø¹ÙÙ Ø²Ø± "Ø§Ø¯Ø§Ø±Ø© Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª" ØªØ­Øª ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙ Ù
+ØŽÙØ¯ Ø¥Ø«Ø±Ø§Ø¡0 ÙÙÙØ¯ ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ ÙØžÙÙØ± ÙØ§ÙØ°Ø© Ø¬Ø¯ÙØ¯Ø© ÙØ§Ø¯Ø§Ø±Ø© Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0</p>
+
+<p>ÙØ§ØŠÙ
+Ø© "Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©" ØªØ¹Ø±Ø¶ Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+Ø© ÙÙ Ø§ÙÙ
+Ø¬ÙØ¹Ø© Ø­Ø§ÙÙØ§Ù0</p>
+
+<p>ÙØ§Ø³ØªØ®Ø¯Ø§Ù
+ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¢Ø®Ø± Ù
+Ø¹ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©Ø Ø§ÙÙØ± "Ø§Ø¶Ø§ÙØ©00" ØªØžÙØ± ÙØ§ØŠÙ
+Ø© ØªÙØ¶Ø­ Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØ§ÙØªØ±Ø§Ø¶ÙØ© Ø§ÙØªÙ ÙØ¹Ø±ÙÙØ§ GLI ÙØ§Ø¶Ø§ÙØ©  ÙØ§Ø­Ø¯ Ù
+ÙÙØ§Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© ÙØ§ÙÙØ± "Ø§Ø¶Ø§ÙØ©" Ø§Ø°Ø§ ÙÙ
+Øª ØšØªØ¹Ø±ÙÙ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø®Ø§ØµØªÙØ ÙÙ
+ÙÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ø²Ø± "ØªØµÙØ­" ÙØªØ­Ø¯ÙØ¯ Ù
+ÙÙØ¹ Ø§ÙÙ
+ÙÙ ÙÙ ÙØžØ§Ù
+ Ø§ÙÙ
+ÙÙØ§Øª0</p>
+
+<p>ÙØ§ÙØŽØ§Ø¡ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¬Ø¯ÙØ¯Ø Ø§ÙÙØ± "Ø¬Ø¯ÙØ¯"Ø ÙØ€Ø¯Ù ÙØ°Ø§ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ Ø¥ÙÙ Ø¥Ø·ÙØ§Ù Ù
+Ø­Ø±Ø± ÙØ±ÙÙØ³ØªÙÙ ÙÙ
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª GEMS ØªØžÙØ± ÙØ§ÙØ°Ø© ØªØ­Ø«Ù ÙØªØ­Ø¯ÙØ¯ Ø§ÙØ§Ø³Ù
+Ø Ø§Ø³Ù
+ Ù
+Ø³Ø§Ø­Ø© ÙØ§ÙÙØ­Ø¯Ø©. ÙÙ
+ÙÙÙ Ø§ÙØ¶Ø§Ù Ø§Ø®ØªÙØ§Ø± Ù
+Ø¹ÙØ§Ø± ÙØªØ£Ø³ÙØ³ Ø§ÙÙ
+Ø¹ÙØ§Ø± Ø§ÙØ¬Ø¯ÙØ¯ Ø¹ÙÙÙ. ÙÙ ÙØ°Ù Ø§ÙØ­Ø§ÙØ© Ø³ÙÙ ØªØ¶Ù
+Ù ÙÙ Ø§ÙØ¹ÙØ§ØµØ± Ù
+Ù Ø§ÙÙ
+Ø¹ÙØ§Ø± Ø§ÙÙ
+Ø­Ø¯Ø¯. Ø§ÙÙØ± "OK" ØªØžÙØ± Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙØ±ØŠÙØ³Ù ÙÙ
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª  Ø§ÙØšÙØ§ÙØ§Øª Ø¥ÙÙ Ø§ÙÙØ³Ø§Ø± ÙØšØ¹Ø¶ Ø§ÙØµÙØ§Øª ÙÙÙ
+Ø¹ÙØ§Ø± ÙÙ
+ÙÙØ§ÙØ Ø§Ø°Ø§ ØªÙ
+ ØªØ£Ø³ÙØ³ Ø§ÙÙ
+Ø¹ÙØ§Ø± Ø¹ÙÙ Ù
+Ø¹ÙØ§Ø± Ù
+ÙØ¬ÙØ¯ ÙØ¹Ø±Ø¶ Ø¹ÙØµØ± Ø£Ù Ø¹ÙØ§ØµØ±.Ø§ÙÙÙØ± Ø¹ÙÙ ÙØ§Ø­Ø¯ ÙØ¹Ø±Ø¶ ØµÙØ§Øª Ø§ÙØ¹ÙØµØ± ÙÙ Ø§ÙØ¬Ø§ÙØš Ø§ÙØ£ÙÙ
+Ù.</p>
+
+<p>ÙØ§Ø¶Ø§ÙØ© Ø¹ÙØµØ± Ø¬Ø¯ÙØ¯Ø Ø§Ø¶ØºØ· Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù ÙÙ Ø§ÙÙ
+Ø¹ÙØ§Ø± ÙÙÙ
+ ØšØ¥Ø®ØªÙØ§Ø±  "Ø§Ø¶Ø§ÙØ© Ø¹ÙØµØ±" - ÙØ§Ø¶Ø§ÙØ© Ø¹ÙØµØ± ÙØ±Ø¹Ù Ø¬Ø¯ÙØ¯Ø Ø§Ø¶ØºØ· Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù  ÙÙÙ
+  ØšØ§Ø®ØªÙØ§Ø± "Ø§Ø¶Ø§ÙØ© Ø¹ÙØµØ± ÙØ±Ø¹Ù". ÙÙ
+ÙÙ Ø¥ÙØºØ§Ø¡ Ø§ÙØ¹ÙØ§ØµØ± Ù Ø§ÙØ¹ÙØ§ØµØ± Ø§ÙÙØ±Ø¹ÙØ© ØšØ¥Ø®ØªÙØ§Ø±  "Ø¥ÙØºØ§Ø¡ Ø¹ÙØµØ± (ÙØ±Ø¹Ù)" Ù
+Ù ÙØ§ØŠÙ
+Ø© Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù. </p>
+
+<p>ØªØ¬Øš Ù
+ÙØ§Ø­ØžØ© Ø§Ù Ù
+Ø­Ø±Ø± ÙØ±ÙÙØ³ØªÙÙ ÙÙ
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙ
+ÙÙ ØªØŽØºÙÙÙ Ù
+Ø³ØªÙÙØ§Ù Ø¹Ù GLIØ ØšØ§Ø®ØªÙØ§Ø±Ù Ù
+Ù Ù
+Ø¬ÙØ¯ ÙØ±ÙÙØ³ØªÙÙ ÙÙ  ÙØ§ØŠÙ
+Ø© Ø¥ØšØ¯Ø£Ø Ø£Ù ØšØªØŽØºÙÙ gens.sh Ø£Ù gems.bat ÙÙ Ù
+Ø¬ÙØ¯ GLI ÙÙ ØªØ«ØšÙØª  ÙØ±ÙÙØ³ØªÙÙ. </p>
+
+<p>Ø£Ø­ÙØ§ÙØ§Ù ÙÙÙÙ Ø§Ø³Ù
+ Ø§ÙÙ
+Ø³Ø§Ø­Ø© Ù
+ØŽØªØ±ÙØ§Ù ØšÙÙ Ù
+ÙØ§Ø¯ÙÙ ÙÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª0 Ù
+Ø«Ø§Ù Dultin lore Ù Qualifiel Dubin lore ÙÙØ§Ø«ÙØ§Ù ÙØ³ØªØ®Ø¯Ù
+Ø§Ù Ø§Ø³Ù
+ Ø§ÙÙ
+Ø³Ø§Ø­Ø© "dc."  - ÙÙØ§ ÙÙ
+ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ù
+Ø«Ù ÙØ°Ù Ø§ÙÙ
+Ø¹Ø§ÙÙØ± ÙÙ ÙÙØª ÙØ§Ø­Ø¯ Ù
+Ù Ù
+Ø¬Ù
+ÙØ¹Ø© ÙØ§Ø­Ø¯Ø© ÙØ³ÙÙ ÙØžÙØ± ÙÙ  ØªØ­Ø°ÙØ±Ø Ø§Ø°Ø§ Ù
+Ø¶ÙØª ÙØ¯Ù
+Ø§Ù Ø³ÙÙ ÙØªÙ
+ Ø­Ø°Ù Ø§ÙÙ
+Ø¹ÙØ§Ø± Ø§ÙÙ
+ÙØ¬ÙØ¯ ÙØ§Ø¶Ø§ÙØ©  ØªØ§ÙØ¬Ø¯ÙØ¯0 ØªØªÙ
+ Ø§Ø¶Ø§ÙØ© ÙÙÙ
+ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© Ø§ÙÙ Ø§ÙÙ
+Ø¹ÙØ§Ø± Ø§ÙØ¬Ø¯ÙØ¯ ÙØªÙÙÙØ± Ø§ÙØ¹ÙØ§ØµØ± Ø§ÙØªÙ  Ø²Ø§ÙØª Ù
+ÙØ¬ÙØ¯Ø©0</p>
+
+<p>ØšØ¥Ø³ØªØ®Ø¯Ø§Ù
+ GEMS ÙÙ
+ÙÙÙ ØªØ¹Ø¯ÙÙ Ù
+Ø¹Ø§ÙÙØ± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+ÙØ¬ÙØ¯Ø© ÙÙ
+Ø§ ÙÙ
+ÙÙ Ø§ÙØŽØ§Ø¡ Ù
+Ø¹Ø§ÙÙØ± Ø¬Ø¯ÙØ¯Ø© . ÙÙØ± "ØªØ¹Ø¯ÙÙ" ÙØ€Ø¯Ù Ø¥ÙÙ Ø§Ø·ÙØ§Ù GEMS" ÙÙØªØ­ Ù
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø­Ø¯Ø¯. Ø¹ÙØ¯ Ø§ÙØªÙØ§Ø¡ ØªØ¹Ø¯ÙÙ Ø§ÙÙ
+Ø¹ÙØ§Ø± (ÙÙ
+Ø§ ÙÙ Ù
+ÙØµÙÙ Ø£Ø¹ÙØ§Ù) ÙÙ
+ ØšØ­ÙØžÙ ÙÙ ÙØ§ØŠÙ
+Ø©--&gt;Ù
+ÙÙ --&gt; Ø­ÙØž ÙØ§ØºÙØ§Ù GEMS.</p>
+
+<p>Ø§Ø°Ø§ ÙÙ
+ ÙØªÙ
+ ØªØ¹Ø¯ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ø­ØªØ§Ø¬Ù ÙÙ
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§ØªØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±Ù  ÙØ§Ø¶ØºØ· "Ø­Ø°Ù" - Ø§Ø°Ø§ ÙØ§Ù ÙØ¯ÙÙ Ø§Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙÙ Ø¹ÙØ§ØµØ±Ø ÙØ³ÙÙ ÙØªÙ
+ Ø§Ø³ØªÙØ³Ø§Ø±Ù Ø­ÙÙ ÙÙÙÙØ© Ø§ÙØªØµØ±Ù Ù
+Ø¹ ÙØ°Ù Ø§ÙÙØ§ØµÙØ§Øª Ø¹ÙØ¯ ÙØªØ­ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©  ÙÙ Ø§ÙÙ
+Ø±Ø© Ø§ÙØªØ§ÙÙØ©0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/startingoff.htm
===================================================================
--- main/tags/2.83/gli/help/ar/startingoff.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/startingoff.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="startingoff"><font size="5" face="Verdana"><strong>2: Ø§ÙØšØ¯Ø§ÙØ©</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØºØ·Ù ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ÙÙÙÙØ© Ø¥ÙØŽØ§Ø¡Ø ØªØ­Ù
+ÙÙ ØØ­ÙØž Ù Ø¥ÙØºØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª.</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/thecreateview.htm
===================================================================
--- main/tags/2.83/gli/help/ar/thecreateview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/thecreateview.htm	(revision 21123)
@@ -0,0 +1,60 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thecreateview"><font size="5" face="Verdana"><strong>7.1: Ù
+ØŽÙØ¯ Ø¥ÙØŽØ§Ø¡</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØ³ØªØ®Ø¯Ù
+ Ù
+ØŽÙØ¯ Ø§ÙØŽØ§Ø¡ ÙÙ Ø§ÙØŽØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšØªØŽØºÙÙ Ù
+ÙÙØ§Øª ÙØ±ÙÙØ³ØªÙÙ ÙØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙØ§Ù ÙÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙØªÙ ÙÙ
+Øª ØšØªÙÙÙØ±ÙØ§0 Ø§Ø¯Ø®Ù Ù
+ØŽÙØ¯ Ø§ÙØ§ÙØŽØ§Ø¡ ØšØ§ÙÙÙØ± Ø¹ÙÙ tab "Ø§ÙØŽØ§Ø¡"0</p>
+
+<p>ÙØšØ¯Ø£ Ø§Ø¬Ø±Ø§Ø¡ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšØ§ÙÙÙØ± Ø¹ÙÙ "ØšÙØ§Ø¡ Ù
+Ø¬Ù
+ÙØ¹Ø©"- ØªØ­Ø¯ÙØ¯ Ø§ÙÙØªØ±Ø© Ø§ÙØ²Ù
+ÙÙØ© ÙØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØ¹ØªÙ
+Ø¯ Ø¹ÙÙ Ø­Ø¬Ù
+ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙØ¹Ø¯Ø¯ Ø§ÙÙØŽØ§ÙØ§Øª Ø§ÙÙ
+ØšÙÙÙ (ÙØ¯ ØªÙÙÙ Ø³Ø§Ø¹Ø§Øª ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙØ¶Ø®Ù
+Ø©) ÙØŽÙØ± ØªØ·ÙØ± Ø¹Ù
+ÙØ¯ ØªØ·ÙØ± Ø§Ø¬Ø±Ø§Ø¡ Ø§ÙØšÙØ§Ø¡ Ø¥ÙÙ Ù
+Ø¯Ù Ø§ÙØ¬Ø²Ø¡ Ø§ÙØ°Ù Ø§ÙØªÙÙ .ÙØ¥ÙØºØ§Ø¡ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ ÙÙ Ø§Ù Ù
+Ø±Ø­ÙØ©Ø Ø§ÙÙØ± "Ø§ÙØºØ§Ø¡ Ø§ÙØšÙØ§Ø¡"0</p>
+
+<p>Ø§Ø°Ø§ ØªÙ
+ ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØšÙØ¬Ø§Ø­ Ø ÙØ§Ù ÙÙØ± "Ø¹Ø±Ø¶ Ù
+Ø¬Ù
+ÙØ¹Ø©" Ø³ÙÙ ÙØ·ÙÙ Ù
+ØªØµÙØ­ ÙØš ÙØ¹Ø±Ø¶ ØµÙØ­Ø© Ù
+ÙÙØ¹ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/thedesignview.htm
===================================================================
--- main/tags/2.83/gli/help/ar/thedesignview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/thedesignview.htm	(revision 21123)
@@ -0,0 +1,68 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thedesignview"><font size="5" face="Verdana"><strong>6.1: Ù
+ØŽÙØ¯ Ø§ÙØªØµÙ
+ÙÙ
+</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØ¹Ø±ÙÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ØšÙ
+ØŽÙØ¯ Ø§ÙØªØµÙ
+ÙÙ
+ ÙÙØŽØ±Ø­ ÙÙ ÙÙÙÙØ© Ø§ÙØªØ¬ÙØ§Ù ØšÙÙ Ù
+Ø®ØªÙÙ Ø§ÙÙ
+ØŽØ§ÙØ¯ Ø¶Ù
+Ù ÙØ°Ù Ø§ÙÙØ§ØŠÙ
+Ø©0</p>
+
+<p>ØšÙØ§Ø³Ø·Ø© ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙØ ÙÙ
+ÙÙÙ  ØªÙÙÙÙ  ÙÙÙÙØ© Ù
+Ø¹Ø§ÙØ¬Ø© Ø§ÙÙØ«Ø§ØŠÙ ÙÙÙÙÙØ© Ø§ØªØ§Ø­Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙ
+Ø³ØªÙÙØ¯ Ø Ø®ÙØ§Ø±Ø§Øª Ø§ÙØªÙÙÙÙ Ù
+ÙØ³Ù
+Ø© Ø¥ÙÙ Ø£ÙØ³Ø§Ù
+ Ù
+Ø®ØªÙÙØ©  ÙÙ Ù
+ÙÙØ§ ÙØªØ¹ÙÙ ØšÙ
+Ø±Ø­ÙØ© Ù
+Ø¹ÙÙØ© Ù
+Ù ØªÙØ¶ÙØš Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0</p>
+
+<p>ÙØ³Ø§Ø±Ø§Ù ØªÙØ¬Ø¯ ÙØ§ØŠÙ
+Ø© ØšÙ
+Ø®ØªÙÙ Ø§ÙÙ
+ØŽØ§ÙØ¯0 ØªÙØ¬Ø¯ ÙÙ
+ÙÙØ§Ù Ø¶ÙØ§ØšØ· Ø§ÙØªØ­ÙÙ
+ Ø§ÙÙ
+ØªØ¹ÙÙØ© ØšØ§ÙÙ
+ØŽÙØ¯ Ø§ÙØ¬Ø§Ø±Ù0 ÙØªØºÙÙØ± ÙØ§Ø­Ø¯  Ø§ÙÙØ± Ø¹ÙÙ Ø§Ø³Ù
+ ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø©0</p>
+
+<p>ÙÙÙÙ
+ Ù
+ØµØ·ÙØ­Ø§Øª ÙÙ
+Ø±Ø§Ø­Ù ØªØµÙ
+ÙÙ
+ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 Ø§ÙØ±Ø£ Ø§ÙÙØµÙÙÙ Ø§ÙØ£ÙÙ ÙØ§ÙØ«Ø§ÙÙ Ù
+Ù Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+Ø·ÙØ±ÙÙ0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/theenrichview.htm
===================================================================
--- main/tags/2.83/gli/help/ar/theenrichview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/theenrichview.htm	(revision 21123)
@@ -0,0 +1,140 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="theenrichview"><font size="5" face="Verdana"><strong>5.1: Ù
+ØŽÙØ¯ Ø¥Ø«Ø±Ø§Ø¡</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ø§Ø³ØªØ®Ø¯Ù
+ Ù
+ØŽÙØ¯ Ø¥Ø«Ø±Ø§Ø¡ "Ø¥Ø«Ø±Ø§Ø¡" ÙØªØ¹ÙÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙØ«Ø§ØŠÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙ ØšÙØ§ÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª - ØªØ­Ø¯ÙØ¯Ø§Ù Ø§ÙØ¹ÙÙØ§ÙØ Ø§ÙÙ
+Ø€ÙÙØ ØªØ§Ø±ÙØ® Ø§ÙØ¥ÙØŽØ§Ø¡ ÙÙÙØ°Ø§Ø Ø§Ù ÙØ§ØµÙØ© ØšÙØ§ÙØ§Øª ØªØªÙÙÙ Ù
+Ù Ø¬Ø²ØŠÙÙ "Ø§ÙØ¹ÙØµØ±" "Ø¹ÙØµØ±" ÙØªØ­Ø¯ÙØ¯ ØµÙØ© Ø§ÙØ¹ÙØµØ± (Ù
+Ø«ÙØ§Ù Ø§ÙÙ
+Ø€ÙÙ) Ù"Ø§ÙÙÙÙ
+Ø©" "ÙÙÙ
+Ø©" ÙØšÙØ§Ù Ù
+Ø­ØªÙÙ Ø°ÙÙ Ø§ÙØ¹ÙØµØ± (Ø§Ø³Ù
+ Ø§ÙÙ
+Ø€ÙÙ)0</p>
+
+<p>ÙÙØ¬Ø¯ ÙØ³Ø§Ø± Ù
+ØŽÙØ¯ "Ø¥Ø«Ø±Ø§Ø¡" ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©. ÙÙ ÙØžØ§ØŠÙ Ø§ÙØ²Ø± Ø§ÙØ§ÙÙ
+Ù Ù
+ØªØ§Ø­Ø© ÙØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ù Ù
+ØŽÙØ¯ "ØªØ¬Ù
+ÙØ¹" ÙÙÙ Ù
+ØªØ§Ø­Ø© ÙÙØ§ Ø£ÙØ¶Ø§Ù. ÙÙ Ø§ÙØ¬Ø§ÙØš Ø§ÙØ§ÙÙ
+Ù Ø¬Ø¯ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙØªÙ ØªÙØ¶Ø­ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙÙ
+ÙÙØ§Øª Ø£Ù Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª ÙÙ ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©. ØªÙ
+Øª ØªØ³Ù
+ÙØ© Ø§ÙØ§Ø¹Ù
+Ø¯Ø© ØšØ§ÙÙÙÙ Ø§ÙØ£Ø³ÙØ¯ ÙÙ Ø§ÙØ§Ø¹ÙÙ. ÙÙ
+ÙÙ Ø§ÙØªÙ
+Ø¯ÙØ¯ Ø£Ù Ø§ÙØªÙÙÙØµ ØšØ³Ø­Øš Ø§ÙØ®Ø· Ø§ÙÙØ§ØµÙ. Ø§Ø°Ø§ Ø«Ù
+ Ø§Ø®ØªÙØ§Ø± Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+ÙÙØ§Øª ÙØŽÙØ± Ø§ÙÙØµ Ø§ÙØ£Ø³ÙØ¯ Ø¥ÙÙ ÙÙÙ
+Ø© Ù
+ØŽØªØ±ÙØ© ØšÙÙ Ø§ÙØ¹ÙØ§ØµØ± Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© ØšÙÙÙ
+Ø§ ÙØŽÙØ±  Ø§ÙÙØµ Ø§ÙØ±Ù
+Ø§Ø¯Ù Ø¥ÙÙ Ø¹ÙØ³ Ø°ÙÙ.  ØªØ¹Ø¯ÙÙ Ø§ÙÙÙÙÙÙ
+ Ø§ÙØ±Ù
+Ø§Ø¯ÙØ© ÙØ€Ø«Ø± ÙÙØ· ÙÙ Ø§ÙÙØ«Ø§ØŠÙ Ø§ÙØªÙ ÙÙØ§ ÙØ°Ù Ø§ÙÙØ§ØµÙØ§ØªØ Ø£Ù ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ø¬Ø¯ÙØ¯Ø© Ù
+Ø¯Ø®ÙØ© ØªØªÙ
+ Ø§Ø¶Ø§ÙØªÙØ§ Ø¥ÙÙ ÙÙ Ø§ÙÙÙÙ
+ Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©.</p>
+
+<p>ÙØžÙØ± ØšØ¬Ø§ÙØš Ø±Ù
+Ø² Ù
+Ø¬ÙØ¯ ØšØ¹Ø¶ Ù
+Ø¯Ø§Ø®Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙØŽÙØ± ÙØ°Ø§ Ø¥ÙÙ Ø£Ù ÙØ°Ù Ø§ÙÙÙÙ
+ ÙØ¯ ØªÙ
+ ØªØ¶Ù
+ÙÙÙØ§ Ù
+Ù Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ£Ø¹ÙÙ (Ø§ÙØ³ÙÙ)Ø ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¶Ù
+ÙÙ ÙØ§ ÙÙ
+ÙÙ Ø­Ø°ÙÙØ§ Ø£Ù ØªØ¹Ø¯ÙÙÙØ§ ÙÙ Ø¥ÙØ§ ÙÙ Ù
+ÙØ·ÙØ© Ø§ÙÙ
+Ø¬ÙØ¯ Ø§ÙØ§Ø¹ÙÙØ Ø­ÙØ« ØªÙ
+ ØªØ¹ÙÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª0</p>
+
+<p>Ø§ÙÙÙØ± Ø¹ÙÙ Ø¹ÙØµØ± ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙÙ Ø§ÙØ¬Ø¯ÙÙØ ÙØ¹Ø±Ø¶ Ø§ÙÙÙÙÙÙ
+  Ø§ÙÙ
+ÙØ¬ÙØ¯Ø© ÙØ°ÙÙ Ø§ÙØ¹ÙØµØ± ÙÙ Ù
+Ø³Ø§Ø­Ø©  "ØŽØ¬Ø±Ø© Ø§ÙÙÙÙ
+.." "Ø§ÙÙÙÙ
+ Ø§ÙÙ
+ÙØ¬ÙØ¯Ø©" Ø§ÙÙ
+ÙØ¬ÙØ¯Ù Ø§Ø³ÙÙ Ø§ÙØ¬Ø¯ÙÙ.  ØªØªÙ
+Ø¯Ø¯ Ø£Ù ØªØªÙÙØµ ØªÙÙ Ø§ÙÙÙÙ
+ ÙÙÙØ§Ù ÙÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø¯Ø®ÙØ© Ù
+Ù ÙØšÙ ÙØ¹ÙØµØ± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±.Ø§ÙÙÙØ± Ø¹ÙÙ Ù
+Ø¯Ø®Ù ÙØ¶Ø¹Ù ØªÙÙØ§ØŠÙØ§Ù ÙÙ ÙÙÙ
+Ø© Ø§ÙØ­ÙÙØ  Ø§ÙØ·ØšØ§Ø¹Ù ÙÙ Ø­ÙÙ Ø§ÙÙØµ ØªØžÙØ± Ø§ÙÙØµ Ø§ÙØ°Ù ÙØšØ¯Ø£ ØšÙÙØ³ Ø§ÙØ­Ø±Ù. Ø§ÙØ¶ØºØ· Ø¹ÙÙ Ù
+ÙØªØ§Ø­ [Tab] ÙÙÙ
+Ù ØªÙÙØ§ØŠÙØ§Ù Ø·ØšØ§Ø¹Ù Ø§ÙÙÙÙ
+Ø© Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©.</p>
+
+<p>ÙÙ
+ÙÙ ØªÙØžÙÙ
+ ÙÙÙÙÙ
+ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙÙ ØªØ±ØªÙØš ÙØ±Ù
+Ù.ÙÙØšØ¯Ù ÙØ°Ø§ ÙØ§Ø¶Ø­Ø§ ÙÙ ØŽØ¬Ø±Ø© Ø§ÙÙÙÙ
+ ØšØ¥Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª ÙÙÙÙÙ
+ Ø§ÙØ¯Ø§Ø®ÙÙØ©.ÙÙ
+ÙÙ Ø§Ø¯Ø®Ø§Ù Ø§ÙÙÙÙÙÙ
+  Ø§ÙÙØ±Ù
+ÙÙ ØšØ§Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙÙ
+Ø­Ø±Ù "|" ÙÙØµÙ Ø§ÙÙ
+Ø³ØªÙÙØ§Øª- Ù
+Ø«Ø§ÙØ "ÙØ±ÙØª Ø§ÙÙÙØªØŽÙÙÙ |Ø§ÙØ§Ø­Ù
+Ø±| Ø§ÙØ¬ÙÙØ±Ø©| Ø§ÙØ³ØšØ¹Ù" ÙÙØªÙ
+Ø«ÙÙ Ø§ÙÙØ±Ù
+Ù ÙÙØ±ÙØª Ø§ÙÙÙØªØŽÙÙÙØ ÙÙ
+ÙÙ  ÙØ°Ø§ Ù
+Ù ØªØ¬Ù
+ÙØ¹  Ø§ÙÙÙÙÙÙ
+ Ù
+Ø¹Ø§Ù. ÙÙ
+ÙÙ ØªØ¹ÙÙÙ ÙØ°Ù Ø§ÙÙÙÙÙ
+Ù ÙÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙÙÙ
+ÙÙØ§Øª.</p>
+
+<p>ÙØ³ØªØ®Ø±Ø¬ ÙØ±ÙÙØ³ØªÙÙ ØªÙÙØ§ØŠÙØ§Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ù
+Ù Ø§ÙÙØ«Ø§ØŠÙ ÙÙ
+Ø¹ÙØ§Ø± ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ØšØªØ¯ØŠØ© ØšÙ "ex." ÙÙØ°Ù Ø§ÙÙØ§ØµÙØ§Øª  ØºÙØ± Ù
+ÙØ¹ÙÙ ÙÙØ§ ÙÙ
+ÙÙ ØªØ¹Ø¯ÙÙÙØ§0     </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/theformatview.htm
===================================================================
--- main/tags/2.83/gli/help/ar/theformatview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/theformatview.htm	(revision 21123)
@@ -0,0 +1,65 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="theformatview"><font size="5" face="Verdana"><strong>8.1: Ù
+ØŽÙØ¯ ÙØ³Ù Ø§ÙØ¹Ø±Ø¶</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØ¹Ø±ÙÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ ØšÙ
+ØŽÙØ¯ ÙØ³Ù Ø§ÙØ¹Ø±Ø¶ ÙÙØŽØ±Ø­ ÙÙ ÙÙÙÙØ© Ø§ÙØªØ¬ÙØ§Ù ØšÙÙ Ø§ÙÙ
+ØŽØ§ÙØ¯ Ø§ÙØªÙ ÙØ­ØªÙÙÙØ§.</p>
+
+<p>ÙÙÙØ± ÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ Ø¥Ø¹Ø¯Ø§Ø¯ ØªÙ
+ØžÙØ± Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙ
+Ø³ØªÙÙØ¯0 ØªÙÙØ³Ù
+ Ø®ÙØ§Ø±Ø§Øª Ø§ÙØ§Ø¹Ø¯Ø§Ø¯ Ø¥ÙÙ Ø£ÙØ³Ø§Ù
+ ÙÙ Ù
+ÙÙØ§ Ù
+ÙØ­Ù ØšÙ Ø§ÙÙØ§Ø¹ Ù
+Ø®ØªÙÙÙ Ù
+Ù Ø§ÙØªÙØµÙØš0</p>
+
+<p>ØªØ¬Ø¯ ÙØ³Ø§Ø±Ø§Ù ÙØ§ØŠÙ
+Ø© ØšØ§ÙÙ
+Ø€ØŽØ±Ø§Øª  ÙÙ
+Ù Ø¬ÙØ© Ø§ÙÙÙ
+ÙÙ Ø¹ÙØ§ØµØ± Ø§ÙØªØ­ÙÙ
+ Ø§ÙÙ
+ØªØ¹ÙÙØ© ØšÙÙ Ù
+Ø€ØŽØ± . ÙØªØ­Ø¯ÙØ« Ù
+Ø€ØŽØ± ØØ£ÙÙØ± Ø¹ÙÙ Ø§Ø³Ù
+Ù ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø©.</p>
+
+<p>ÙÙØ¬Ø¯ ØªØ­Øª ÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ØŽØ§ÙØ¯ Ø²Ø± "Ø¹Ø±Ø¶ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©" Ø§ÙØªØºÙÙØ± Ø§ÙØ°Ù ØªÙ
+ ÙÙ Ù
+ØŽÙØ¯ ÙØ³Ù Ø§ÙØ¹Ø±Ø¶ ÙÙ Ø§ÙÙ ÙÙ
+ ØªØ¹Ø¯  Ù
+Ø­ØªØ§Ø¬Ø§Ù ÙØ§Ø¹Ø§Ø¯Ø© ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙ
+ÙÙ Ø§ÙØ¹Ø±Ø¶ Ù
+ØšØ§ØŽØ±Ø©. Ø¹ÙÙÙ ÙØ§ ØšØ¯ Ù
+Ù ØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ø±Ø© ÙØ§Ø­Ø¯Ø© Ø¹ÙÙ Ø§ÙØ£ÙÙ ÙÙÙ ÙØªÙ
+ Ø¹Ø±Ø¶ÙØ§.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/thegatherview.htm
===================================================================
--- main/tags/2.83/gli/help/ar/thegatherview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/thegatherview.htm	(revision 21123)
@@ -0,0 +1,169 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thegatherview"><font size="5" face="Verdana"><strong>4.1: Ù
+ØŽÙØ¯ Ø§ÙØªØ¬Ù
+ÙÙØ¹</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØ¹Ø±Ù ÙØ°Ø§ Ø§ÙÙØ³Ù
+ Ù
+ÙØ·ÙØ© ØªØ¬Ù
+ÙØ¹ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+Ø·ÙÙØšÙ ÙØšÙØ§Ø¡ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 ÙØšØ¯Ø£ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ØšÙØ§ØŠÙ
+Ø© Ø§ÙØªØ¬Ù
+ÙØ¹ ÙÙØ±Ø¬ÙØ¹ ÙÙØ°Ù Ø§ÙÙØ§ØŠÙ
+Ø© ÙÙÙ
+Ø§ ØšØ¹Ø¯ Ø Ø§ÙÙØ± "ØªØ¬Ù
+ÙØ¹" Ù
+ØšØ§ØŽØ±Ø© Ø§Ø³ÙÙ Ø¹Ù
+ÙØ¯ Ø§ÙÙÙØ§ØŠÙ
+0 </p>
+
+<p>ØªØ³ØªØ®Ø¯Ù
+ Ø§ÙÙ
+ÙØ·ÙØªÙÙ Ø§ÙÙØšÙØ±ØªÙÙ "Ù
+Ø³Ø§Ø­Ø©Ø§ÙØ¹Ù
+Ù" Ù "Ù
+Ø¬Ù
+ÙØ¹Ø©" ÙØªØ­Ø±ÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ Ù
+Ø¬Ù
+ÙØ¹ØªÙ. ÙÙ
+Ø§ ÙØªØ¶Ù
+ÙØ§Ù "ØŽØ¬Ø±Ø©Ù
+ÙÙØ§Øª" ØªØ¹Ø±Ø¶ Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª Ù Ø§ÙÙ
+ÙÙØ§Øª</p>
+
+<p>-ÙØªÙ
+ Ø§Ø®ØªÙØ§Ø± Ø¹ÙØµØ± Ù
+Ù Ø§ÙØŽØ¬Ø±Ø© ØšØ§ÙÙÙØ± Ø¹ÙÙÙ (ØªÙØ¬Ø¯ Ø·Ø±Ù Ø£Ø®Ø±ÙØ Ø§ÙØžØ± Ø§Ø¯ÙØ§Ù) Ø§ÙÙØ± Ø§ÙÙ
+Ø¬ÙØ¯ ÙÙØ±Ø© Ù
+Ø²Ø¯ÙØ¬Ù Ø£Ù ÙÙØ±Ø© ÙØ§Ø­Ø¯Ø© ÙÙØªØ­ Ø§ÙØ±Ù
+Ø² ØšØ¬Ø§ÙØš Ø§ÙÙ
+Ø¬ÙØ¯ ÙÙØªÙ
+Ø¯ÙØ¯ (Ø£Ù Ø§ÙØªÙÙÙØµ)0 Ø§ÙÙØ± Ø§ÙÙ
+ÙÙ ÙÙØ±Ø© Ù
+Ø²Ø¯ÙØ¬Ø© ÙÙØªØ­ Ø§ÙÙ
+ÙÙ "ÙØªØ­ ØšØ±ÙØ§Ù
+Ø¬ Ø®Ø§Ø±Ø¬Ù" ØšÙØ§Ø³Ø·Ø© ØšÙØ§Ø³Ø·Ø© Ø§ÙØšØ±ÙØ§Ù
+Ø¬ Ø§ÙÙ
+ÙØ§Ø³Øš 0(see <a href="fileassociations.htm">Ù
+ØªØ¹ÙÙØ§Øª Ø§ÙÙ
+ÙÙ</a>).</p>
+
+<p>ØªÙØ¶Ø­ ØŽØ¬Ø±Ø© Ø§ÙÙ
+ÙÙØ§Øª ÙÙ Ù
+Ø³Ø§Ø­Ø© Ø§ÙØ¹Ù
+Ù Ù
+ØµØ§Ø¯Ø± Ø§ÙØšÙØ§ÙØ§Øª Ø§ÙÙ
+ØªÙÙØ±Ø© ÙÙ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ- ÙØžØ§Ù
+ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+Ø­ÙÙ (Ø§ÙÙØ±Øµ Ø§ÙÙ
+Ø­ÙÙ ÙØ§ÙØ§ÙØ±Ø§Øµ Ø§ÙÙ
+Ø¯Ù
+Ø¬Ø©)0  Ù
+Ø­ØªÙÙØ§Øª Ù
+Ø¬Ù
+ÙØ¹Ø§Øª ÙØ±ÙÙØ³ØªÙÙ ÙØ°Ø§ÙØ±Ø© Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+ÙØ²ÙØ©.ÙÙ
+ÙÙÙ ÙØ³Ø® Ù Ø¹Ø±Ø¶ ÙØ°Ù Ø§ÙÙ
+ÙÙØ§Øª  ÙÙÙÙ ÙØ§ ÙÙ
+ÙÙÙ ØªØ­Ø±ÙÙ Ø£Ù Ø§ÙØºØ§Ø¡Ø§ Ø£Ù ØªØ¹Ø¯ÙÙ ÙØ°Ù Ø§ÙÙ
+ÙÙØ§ØªØ ØšØ§Ø³ØªØ«ÙØ§Ø¡ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+ÙØ²ÙØ©0 ÙØ§ÙØªÙ ÙÙ
+ÙÙ Ø¥ÙØºØ§Ø€ÙØ§0 ØªØ¬ÙÙ ÙÙ ÙØ°Ù Ø§ÙÙ
+Ø³Ø§Ø­Ø© ÙÙØ¹Ø«ÙØ± Ø¹ÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙØªÙ ØªÙØ¯ Ø¶Ù
+ÙØ§ ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø©</p>
+
+<p>ØŽØ¬Ø±Ø© Ù
+ÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ØªØ¹ØšØ± Ø¹Ù Ù
+Ø­ØªÙÙØ§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© ÙÙÙ ØšØµÙØ±Ø© Ù
+ØšØ¯ØŠÙØ© ØªÙÙÙ ÙØ§Ø±ØºØ©0</p>
+
+<p>ÙÙ
+ÙÙÙ ØªØ¹Ø¯ÙÙ Ø§Ø­Ø¬Ø§Ù
+ Ø§ÙÙ
+Ø³Ø§Ø­Ø§Øª ØšØªÙ
+Ø±ÙØ± Ù
+Ø€ØŽØ± Ø§ÙÙØ£Ø±Ø© ÙÙÙ Ø§ÙØ¹Ù
+ÙØ¯ Ø§ÙØ±Ù
+Ø§Ø¯Ù Ø§ÙØ°Ù ÙÙØµÙ ØŽØ¬Ø±Ø§Øª Ø§ÙÙ
+ÙÙØ§Øª (ØšØªØºÙØ± ØŽÙÙ Ù
+Ø€ØŽØ± Ø§ÙÙØ£Ø±Ø© ÙØ§Ø³ÙØ·0.</p>
+
+<p>ÙÙØ¬Ø¯ Ø¹Ù
+ÙØ¯ Ø§ÙØ­Ø§ÙØ© Ø£Ø³ÙÙ Ø§ÙÙØ§ØŠÙ
+Ø© ÙÙÙ ÙÙØ¶Ø­ 0 ØªØ·ÙØ± Ø§Ø¬Ø±Ø§Ø¡Ø§Øª Ø§ÙÙ
+ÙÙØ§Øª (ÙØ³Ø®Ø ØªØ­Ø±ÙÙØ Ø¥ÙØºØ§Ø¡) ÙÙØ°Ù Ø§ÙØ§Ø¬Ø±Ø§Ø¡Ø§Øª ÙØ¯ ØªØ³ØªØºØ±Ù Ø²Ù
+ÙØ§Ù ÙÙÙ ØªÙØªÙ
+Ù0</p>
+
+<p>ÙÙØ¬Ø¯ Ø²Ø±ÙÙ ÙØšÙØ±ÙÙ ÙÙ Ø§ÙØ¬Ø§ÙØš Ø§ÙØ£ÙÙ
+Ù Ù
+Ù Ø§ÙØ¬Ø²Ø¡ Ø§ÙØ£Ø³ÙÙ  Ù
+Ù Ø§ÙØŽØ§ØŽØ©0 "Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯" ØšØµÙØ±Ø© Ù
+Ø¬ÙØ¯ ÙØ§ÙØŽØ§Ø¡ Ù
+ÙÙØ§Øª Ø¬Ø¯ÙØ¯Ø© (see  <a href="creatingfolders.htm">Ø¥ÙØŽØ§Ø¡ Ù
+Ø¬ÙØ¯Ø§Øª</a>). "Ø§ÙØºØ§Ø¡" ØšØµÙØ±Ø© Ø³ÙØ© ÙØžØ§ÙØ© ÙØ­Ø°Ù Ø§ÙÙ
+ÙÙØ§Øª0 ÙÙØ± Ø§ÙÙ
+ÙÙ Ø³ÙÙ ÙØ€Ø¯Ù  ÙØ­Ø°Ù Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© Ù
+Ù ØŽØ¬Ø±Ø© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø©0 ÙØ®ÙØ§Ø± Ø¢Ø®Ø± ÙÙ
+ÙÙ Ø­Ø°Ù Ø§ÙÙ
+ÙÙØ§Øª ØšØªØ­Ø±ÙÙÙØ§ Ø¥ÙÙ Ø²Ø± Ø§ÙØ§ÙØºØ§Ø¡0 </p>
+
+<p>ÙØ§Ø®ØªÙØ§Ø± Ù
+Ø¬Ù
+ÙØ¹Ø©  Ø¹ÙØ§ØµØ± Ù
+ØªØ³ÙØ³ÙØ©Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§ÙØ£ÙÙ Ù
+Ø¹ Ø­ÙØž ÙØ§Ù
+Ø³Ø§Ù Ù
+ÙØªØ§Ø­ [shift] ÙØ§ÙÙØ± Ø¹ÙÙ Ø¢Ø®Ø± Ø§Ø®ØªÙØ§Ø±Ø§ØªÙØ ÙØ³ÙÙ ÙØŽÙ
+Ù ÙØ°Ø§ Ø§ÙØ§Ø®ØªÙØ§Ø± Ù
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙØ¹ÙØ§ØµØ± Ø§ÙÙ
+Ø¶Ù
+ÙÙØ ÙØ§Ø®ØªØšØ§Ø± Ø§ÙØ¹ÙØ§ØµØ± ØºÙØ± Ø§ÙÙ
+ØªØ³ÙØ³ÙØ© Ø§Ø¶ØºØ· Ø¹ÙÙ Ù
+ÙØªØ§Ø­ [ctrl]  ØšÙÙÙ
+Ø§ ÙÙÙÙ
+ ØšØ§ÙÙÙØ±Ø Ø§Ø³ØªØ®Ø¯Ù
+ Ø§ÙØ§Ø³ÙÙØšÙÙ ÙØ§Ø®ØªÙØ§Ø± Ù
+Ø¬Ù
+ÙØ¹Ø© Ù
+ØªØ¬Ø§ÙØ±Ø© Ø£Ù Ù
+Ø¬Ù
+ÙØ¹Ø© ØºÙØ± Ù
+ØªØ¬Ø§ÙØ±Ø©0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/themirrorview.htm
===================================================================
--- main/tags/2.83/gli/help/ar/themirrorview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/themirrorview.htm	(revision 21123)
@@ -0,0 +1,169 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="themirrorview"><font size="5" face="Verdana"><strong>3.1: Ù
+ØŽÙØ¯ Ø§ÙØªÙØ²ÙÙ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØµÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ "ØªÙØ²ÙÙ"  ÙÙÙÙØ© Ø¥Ø¹Ø¯Ø§Ø¯ Ù
+ÙÙ
+Ø© ØªÙØ²ÙÙ ÙØ§ÙØªØ­ÙÙ
+ ÙÙ Ø§Ø¬Ø±Ø§Ø¡ Ø§ÙØªÙØ²ÙÙØ ÙØ§ØªØ§Ø­Ø© Ø§ÙØªÙØ²ÙÙ Ø§ÙÙØ± Ø§ÙØ²Ø±0 ÙÙ Ù
+ÙØªØµÙ Ø§Ø¹ÙÙ Ø§ÙØŽØ§ØŽÙØ ØªØªÙÙØ± ÙÙ Ø¹ÙØ§ØµØ± Ø§ÙØªØ­ÙÙ
+ ÙÙ Ø§Ø¬Ø±Ø§Ø¡ Ø§ÙØªÙØ²ÙÙ0 ÙÙÙÙ ÙØµÙ Ø§ÙØŽØ§ØŽØ© Ø§ÙØ§Ø³ÙÙ ÙØ§Ø±Øº Ù
+ØšØ¯ØŠÙØ§Ù ÙØ°ÙÙ ÙØªÙÙÙØ± ÙÙØ§ØŠÙ
+ Ø§ÙÙ
+ÙÙ
+Ø§Øª Ø§ÙÙ
+ÙØ¬Ø²Ø© ÙØ§ÙÙ
+Ø¹ÙÙØ©0 </p>
+
+<p>ØªÙØ¬Ø¯ ØšØ±ÙØªÙÙÙÙØ§Øª Ø¹Ø¯ÙØ¯Ø© ÙÙ
+ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ÙØ§ ÙØªÙØ²ÙÙ Ø§ÙØªØ³Ø¬ÙÙØ§Øª ÙÙØ§ØŠÙ
+Ø© Ø§ÙØšØ±ÙØªÙÙÙØ§Øª ØªÙØ¬Ø¯ Ø£Ø¹ÙÙ Ø¬ÙØ© Ø§ÙÙØ³Ø§Ø±0.</p>
+
+<p>
+<b>Web:</b>  ØªÙØ²ÙÙ ØµÙØ­Ø§Øª  Ø§ÙÙØš ÙØ§ÙÙ
+ÙÙØ§Øª Ø¹ØšØ± HTTP ÙFTP </p>
+
+<p>
+<b>Ù
+ÙØ¯ÙØ§ ÙÙÙÙ:</b> :   ØªÙØ²ÙÙ ØµÙØ­Ø§Øª Ø§ÙÙÙØš ÙØ§ÙÙ
+ÙÙØ§Øª Ø¹Ù Ø·Ø±ÙÙ HTTP Ù
+Ù Ù
+ÙÙØ¹ Ù
+ÙØ¯ÙØ§ ÙÙÙÙ.</p>
+
+<p>
+<b>OAI:</b> ØªÙØ²ÙÙ ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª ÙØªØ³Ø¬ÙÙØ§Øª Ù
+ØšØ§Ø¯Ø±Ø©  Ø§ÙØ§Ø±ØŽÙÙ Ø§ÙÙ
+ÙØªÙØ­  OAI</p>
+
+<p>
+<b>Z3950:</b>  ØªÙØ²ÙÙ ØªØ³Ø¬ÙÙØ§Øª MARC Ø§ÙØªÙ ØªØ¶Ø§ÙÙ Ø³Ù
+Ø§Øª ØšØ­Ø« Ù
+Ø¹ÙÙ Ù
+Ù Ù
+Ø²ÙØ¯ Z3950</p>
+
+<p>
+<b>SRW:</b>  ØªÙØ²ÙÙ ØªØ³Ø¬ÙÙØ§Øª MARCXML Ø§ÙØªÙ ØªØ¶Ø§ÙÙ Ø³Ù
+Ø§Øª ØšØ­Ø« Ù
+Ø¹ÙÙ ÙÙ Ù
+Ø²ÙØ¯ SRW</p>
+
+<p>ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ø§ÙØšØ±ØªÙÙÙÙ Ø§ÙÙ
+ÙØ§Ø³Øš ØšØ§ÙÙÙØ± Ø¹ÙÙÙ Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ¬ÙØ¯Ø© ÙÙ Ø§ÙØ¬Ø²Ø¡ Ø§ÙØ§ÙØ³Ø± ÙØ§ÙØªÙ ØªØ¹Ø±Ø¶ Ø§ÙØ®ÙØ§Ø±Ø§Øª Ø§ÙÙ
+ÙØ¬ÙØ¯Ø© ÙÙÙ
+Ø· Ø§ÙØªÙØ²ÙÙ. ÙÙ
+Ø¹Ø±ÙØ© ØªÙØ§ØµÙÙ ÙÙ ØªÙØ²ÙÙ Ø­ÙÙ ØšØ§ÙÙ
+Ø€ØŽØ± ÙÙÙ Ø§ÙØ®ÙØ§Ø± ØªØžÙØ± ÙÙ ØªÙØ§ØµÙÙ Ø§ÙÙÙ
+Ø· ÙÙ Ù
+Ø±ØšØ¹ Ù
+Ø³Ø§Ø¹Ø¯Ø©. ØšØ¹Ø¶ Ø§ÙØ®ÙØ§Ø±Ø§Øª ÙÙ "Ø§Ø®ØªÙØ§Ø±ÙØ©" ÙØªØ¹Ø±Ø¶ ØšÙ
+Ø±ØšØ¹ ÙØ­Øµ ÙØªØ£ØŽÙØ±Ù Ø¹ÙØ¯ Ø§Ø³ØªØ®Ø¯Ø§Ù
+  Ø§ÙØ®ÙØ§Ø± . Ø§ÙØ§Ø®Ø±Ù "Ù
+Ø·ÙÙØšØ©" ÙÙØ§ ÙØªÙÙØ± ÙÙÙØ§ Ù
+Ø±ØšØ¹Ø§Øª ÙØ­Øµ  ÙÙØ¬Øš Ø§Ø¹Ø·Ø§Ø¡ Ø§ÙÙÙÙ
+Ø© ÙØšÙ Ù
+ØšØ§ØŽØ±Ø© Ø§ÙØªÙØ²ÙÙ.</p>
+
+<p>Ø¹ÙØ¯Ù
+Ø§ ÙØªÙ
+ Ø¥Ø¹Ø¯Ø§Ø¯ Ø§ÙØªÙÙÙÙØ Ø§ÙÙØ± "Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙÙ
+Ø²ÙØ¯" ÙÙØ­Øµ Ù
+Ø¹ÙÙÙ
+Ø§Øª Ù
+Ø²ÙØ¯ Ø§ÙØ§ØªØµØ§Ù ÙØµÙØ­Ø© ÙØµÙØ­Ø© Ø§ÙÙØš Ø£Ù Ø£ÙÙØ± "ØªÙØ²ÙÙ" ÙØšØ¯Ø¡ Ø§ÙØªÙØ²ÙÙ0
+ </p>
+
+<p>ÙÙØ¬Ø¯ Ø²Ø±ÙÙ Ø¢Ø®Ø±ÙÙ ÙÙØªØ­ÙÙ
+ Ø²Ø± "Ø§ÙØªÙØµÙÙØ§Øª" ÙØ§ÙØ°Ù ÙØ±ØšØ· ØµÙØ­Ø© Ø§ÙØ§ØªØµØ§Ù Ø­ÙØ« ÙÙ
+ÙÙ ØªØ¹Ø¯ÙÙ Ø¥Ø¹Ø¯Ø§Ø¯Ø§Øª Ø§ÙØšØ±ÙÙØ³ÙØ Ø²Ø± "Ù
+Ø³Ø­ Ø§ÙØ°Ø§ÙØ±Ø©" Ø­ÙØ« ÙÙ
+ÙÙ Ø¥ÙØºØ§Ø¡ ÙÙ Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+ÙØ²ÙØ© Ù
+Ù ÙØšÙ0 Ø³ÙÙ ØªØ­ØªØ§Ø¬  ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª  ÙØ§Ø¹Ø¯Ø§Ø¯ Ø§ÙØšØ±ÙÙØ³Ù Ø§Ø°Ø§ ÙÙØª ØªØ³ØªØ®Ø¯Ù
+  Ù
+Ø²ÙØ¯ ØšØ±ÙÙØ³Ù ÙÙØ§ØªØµØ§Ù ØšØ§ÙØ§ÙØªØ±ÙØª0 Ø§Ø°Ø§ ÙØ§ÙØª ÙÙØ§Ù Ø­ÙØ¬Ø© ÙØªØ£ÙÙØ¯ Ø§ÙØªØ¹Ø±ÙÙ ÙØ§Ù Ù
+Ø²ÙØ¯ Ø§ÙØšØ±ÙÙØ³Ù Ø³ÙÙ ÙØ­ØªÙ ÙØ§Ø³Ù
+ Ø§ÙÙ
+Ø³ØªØ®Ø¯Ù
+ ÙÙÙÙ
+Ø© Ø§ÙÙ
+Ø±ÙØ±0 ÙØ§Ø¬ÙØ© Ø§ÙÙ
+ÙØªØšÙ ÙØ§ ÙØ­ÙØž ÙÙÙ
+Ø§Øª Ø§ÙÙ
+Ø±ÙØ± ØšÙÙ "session"</p>
+
+<p>Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙØªÙ ØªÙ
+ ØªÙØ²ÙÙÙØ§ ØªØ®Ø²Ù ÙÙ Ù
+Ø¬ÙØ¯ ÙØ³Ù
+Ù "Ø§ÙÙ
+ÙÙØ§Øª Ø§ÙÙ
+ÙØ²ÙØ©" (ÙÙÙ Ù
+ØªÙÙØ±Ø© Ø¹ÙØ¯ ØªÙØ¹ÙÙ Ø§ÙØªÙØ²ÙÙ) ÙÙÙ
+ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù
+ÙØ§ ÙÙ Ø£Ù Ù
+Ø¬Ù
+ÙØ¹Ø©. ØªØªÙ
+ ØªØ³Ù
+ÙØ© Ø§ÙÙ
+ÙÙØ§Øª ØšØ§ÙØ§Ø³Ù
+ Ø§ÙÙØ§Ù
+Ù ÙØ¹ÙÙØ§Ù  Ø§ÙÙ
+ÙØ§Ø±Ø¯ Ø§ÙÙ
+ÙØ­Ø¯ URL (ÙØªÙØ²ÙÙØ§Øª Ø§ÙÙØš Ø£Ù Ù
+Ø²ÙØ¬ Ù
+Ù Ø¹ÙÙØ§Ù Ø§ÙÙ
+ÙØ§Ø±Ø¯ Ø§ÙÙ
+ÙØ­Ø¯ URL ÙÙÙÙ
+ Ø§ÙØ®ÙØ§Ø± (ÙØ§ÙÙ
+Ø§Ø· Ø§ÙØªÙØ²ÙÙ Ø§ÙØ£Ø®Ø±Ù) ÙØªÙ
+ Ø§ÙØŽØ§Ø¡ Ù
+Ø¬ÙØ¯ Ø¬Ø¯ÙØ¯ ÙØ§Ù Ù
+Ø¶ÙÙ Ù
+ØªØšÙØ¹Ø§Ù ØšÙ
+Ø¬ÙØ¯Ø§Øª ÙØ±Ø¹ÙØ© ØªÙ
+Ø§Ø«Ù Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª Ø§ÙÙØ±Ø¹ÙØ© ÙÙÙ
+Ø¬ÙØ¯ Ø§ÙÙ
+ÙØ²Ù ÙØªÙÙÙØ± Ø§ÙØ¯ÙØ©0</p>
+
+<p>ØªÙÙØ± ÙØ§ØŠÙ
+Ø© ØªÙØ²ÙÙ Ù
+Ø¯Ø®Ù ÙÙÙ Ø§Ø¬Ø±Ø§Ø¡ ØªÙØ²ÙÙ. ÙÙÙØ± ÙÙ Ù
+Ø¯Ø®Ù  Ù
+ÙØ§ÙØ§Ù ÙÙÙØµ Ø§ÙØ°Ù ÙØ¹Ø·Ù ØªÙØ§ØµÙÙ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ Ø§ÙØ­Ø§ÙÙ Ù
+Ø¹ Ø¹Ù
+ÙØ¯ ÙØ§ØžÙØ§Ø± ØªØ·ÙØ± Ø§ÙØ§Ø¬Ø±Ø§Ø¡Ø§ÙØ¬Ø§Ø±Ù. ÙÙØ¬Ø¯ ÙÙ Ø§ÙØ¬Ø§ÙØš Ø§ÙØ§ÙØ³Ø± Ø«ÙØ§Ø« Ø§Ø²Ø±Ø§Ø± ÙÙÙ Ù
+Ø¯Ø®Ù "ØªØ¹ÙÙÙ" ÙØªØ¹ÙÙÙ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ Ø§ÙØ¬Ø§Ø±Ù. "Ø¹Ø±Ø¶ Ø§ÙÙ
+Ø¯ÙÙÙ" ÙÙØªØ­ ÙØ§ÙØ°Ø© Ù
+ÙÙ Ù
+Ø¯ÙÙØ© Ø§ÙØªÙØ²ÙÙ. "ØºÙÙ" ÙØ§ÙÙØ§Ø¡ Ø§Ø¬Ø±Ø§Ø¡ Ø§ÙØªÙØ²ÙÙ ÙØ­Ø°Ù Ø§ÙÙ
+ÙÙ
+Ø© Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø©.  </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/translatetext.htm
===================================================================
--- main/tags/2.83/gli/help/ar/translatetext.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/translatetext.htm	(revision 21123)
@@ -0,0 +1,67 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="translatetext"><font size="5" face="Verdana"><strong>8.5: ØªØ±Ø¬Ù
+Ù ÙØµ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØµÙ ÙØ°Ø§ Ø§ÙÙØ³Ù
+ Ù
+ØŽÙØ¯ Ø§ÙØªØ±Ø¬Ù
+Ø©Ø Ø­ÙØ« ÙÙ
+ÙÙÙ ØªØ¬Ø²ØŠØ© ÙØµ Ù
+Ù ÙØºØ© Ù
+Ø®ØµØµØ© ÙØ§Ø¬Ø²Ø§Ø¡ ÙØ§Ø¬ÙØ© Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙ ÙØºØ© Ø£Ø®Ø±ÙØ ØªØ­Øª  "ÙØ³Ù Ø¹Ø±Ø¶" Ø§ÙÙØ± "ØªØ±Ø¬Ù
+Ø© ÙØµ".</p>
+
+<p>Ø§ÙÙØ§ÙØ ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø± Ù
+Ø¯Ø®Ù Ù
+Ù ÙØ§ØŠÙ
+Ø© "Ø³Ù
+Ø§Øª"Ø ØªØžÙØ± Ø³ÙØ§Ø³Ù Ø§ÙÙØºØ© Ø§ÙÙ
+Ø®ØµØµØ© Ø§ÙÙ
+ØªØ¹ÙÙØ© ØšØ§ÙØ³Ù
+Ø© Ø§ÙØªÙ ØªØžÙØ± Ø§Ø¯ÙØ§Ù &ndash; Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+ÙØ³Ø¯ÙØ© "ÙØºØ© Ø§ÙØªØ±Ø¬Ù
+Ø©" ÙØ§Ø®ØªÙØ§Ø± Ø§ÙÙØºØ© Ø§ÙÙ
+Ø·ÙÙØšØ©- ÙØ§Ø·ØšØ¹ Ø§ÙÙØµ Ø§ÙÙ
+ØªØ±Ø¬Ù
+ Ù
+Ù Ù
+ÙØ·ÙØ© Ø§ÙÙØµ Ù
+Ø¹ Ø§ÙØ§Ø­Ø§ÙØ© Ø§ÙÙ "ØªØ¬Ø²ØŠØ© Ø§Ø°Ø§ ÙØ§Ù Ø¶Ø±ÙØ±ÙØ§ÙÙØµ Ù
+ØšØ¯ØŠÙØ©"0 Ø§Ø°Ø§ ÙØ§Ù Ø¶Ø±ÙØ±ÙØ§ÙØ Ø§ÙÙØ± "Ø§Ø¶Ø§ÙØ© ØªØ±Ø¬Ù
+Ø©"0</p>
+
+<p>ÙØ­Ø°Ù ØªØ±Ø¬Ù
+Ø© Ù
+ÙØ¬ÙØ¯Ø©Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±ÙØ§ Ù
+Ù Ø¬Ø¯ÙÙ "Ø§ÙØªØ±Ø¬Ù
+Ø§Øª Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø©" ÙØ§ÙÙØ± "Ø­Ø°Ù ØªØ±Ø¬Ù
+Ø©"0</p>
+
+<p>ÙØªØ¹Ø¯ÙÙ ØªØ±Ø¬Ù
+Ø©Ø ÙÙ
+ ØšØ§Ø®ØªÙØ§Ø±ÙØ§Ø ØªØ¹Ø¯ÙÙ Ù
+ÙØ·ÙØ© "Ø§ÙÙØµ Ø§ÙÙ
+ØªØ±Ø¬Ù
+" ÙØ§ÙÙØ± "Ø§Ø³ØªØšØ¯Ø§Ù ØªØ±Ø¬Ù
+Ø©"0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/updatingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/ar/updatingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/updatingmetadata.htm	(revision 21123)
@@ -0,0 +1,48 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="updatingmetadata"><font size="5" face="Verdana"><strong>5.5: ØªØ¹Ø¯ÙÙ Ø§Ù Ø­Ø°Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØªØ­Ø¯ÙØ« Ø£Ù Ø­Ø°Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§ØªØ ÙÙ
+ Ø§ÙÙØ§Ù ØšØ§Ø®ØªÙØ§Ø± Ø§ÙÙ
+ÙÙ Ø§ÙÙ
+Ø·ÙÙØš Ø«Ù
+ ÙÙÙ
+Ø© ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª Ù
+Ù Ø§ÙØ¬Ø¯ÙÙ0 ÙÙ
+ ØšØªØ­Ø¯ÙØ« ÙÙÙ
+Ø© Ø§ÙØ­ÙÙ Ø£Ù Ø¥ÙØºØ§Ø¡ ÙÙ Ø§ÙÙØµ Ø§Ø°Ø§ Ø§Ø±Ø¯Øª Ø­Ø°Ù ÙØ§ØµÙØ§Øª Ø§ÙØšÙØ§ÙØ§Øª0</p>
+
+<p>ÙØªØšØ¹  ÙÙØ³  Ø§ÙØ§Ø¬Ø±Ø§Ø¡ Ø¹ÙØ¯ ØªØ­Ø¯ÙØ« Ù
+Ø¬ÙØ¯ ÙØ­ØªÙÙ  Ù
+Ø¬ÙØ¯Ø§Øª ÙØ±Ø¹ÙØ© Ø£Ù Ù
+ÙÙØ§Øª Ù
+ØªØ¹Ø¯Ø¯Ø©Ø  ÙÙ
+ÙÙÙ ØªØ­Ø¯ÙØ« ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Ù
+ØŽØªØ±ÙØ© ÙÙÙ Ø§ÙÙ
+Ø¬ÙØ¯Ø§Øª / Ø§ÙÙ
+ÙØ§Øª Ø§ÙÙ
+Ø®ØªØ§Ø±Ø©0</p>
+
+<p>ØªØžÙØ± ØŽØ¬Ø±Ø© Ø§ÙÙÙÙ
+ ÙÙ Ø§ÙÙÙÙ
+ Ø§ÙÙ
+Ø­Ø¯Ø¯Ø©  Ø§ÙØ­Ø§ÙÙØ© ÙØ§ÙØ³Ø§ØšÙØ© Ø¹ÙØ¯ Ø§ÙØ§Ø¬Ø±Ø§Ø¡ Ø¹ÙØ¯ ØºÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø«Ù
+ ÙØªØ­ÙØ§  Ù
+Ø±Ø© Ø£Ø®Ø±Ù ØªØ®ØªÙÙ ÙÙ Ø§ÙÙÙÙ
+ Ø§ÙØªÙ ÙÙ
+ ÙØªÙ
+ ØªØµÙÙÙÙØ§0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ar/xcollectionsearching.htm
===================================================================
--- main/tags/2.83/gli/help/ar/xcollectionsearching.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ar/xcollectionsearching.htm	(revision 21123)
@@ -0,0 +1,84 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="xcollectionsearching"><font size="5" face="Verdana"><strong>8.6: ØšØ­Ø« ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÙØªÙØ­ ÙÙ ÙØ±ÙÙØ³ØªÙÙ ØšØ­Ø« Ù
+Ø®ØªÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª ÙØ£Ø£ÙÙØ§ Ù
+Ø¬Ù
+ÙØ¹Ø© ÙØ§Ø­Ø¯Ù .ÙÙ
+ÙÙ ÙØ¹Ù ÙØ°Ø§ ØšØªØ­Ø¯ÙØ¯ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙØ£Ø®Ø±Ù ÙÙØšØ­Ø« ÙØšØ¬Ø§ÙØš Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙØ­Ø§ÙÙÙ0 ØªØ­Øª "ÙØ³Ù Ø¹Ø±Ø¶" Ø Ø§ÙÙØ± "ØšØ­Ø« ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª"0</p>
+
+<p>Ù
+ØŽÙØ¯ "ØšØ­Ø« ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª" ÙØžÙØ± ÙØ§ØŠÙ
+Ù
+Ø© ÙÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙ
+ØªÙÙØ±Ø© ØšÙ
+Ø±ØšØ¹Ø§Øª ÙØ­Øµ. ÙØªÙ
+ Ø§Ø¹ØªØšØ§Ø± Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙØ­Ø§ÙÙØ© Ù
+Ø®ØªØ§Ø±Ù ÙÙØ§ ÙÙ
+ÙÙ ÙÙØ¶ Ø§Ø®ØªÙØ§Ø±ÙØ§ . ÙØ§Ø¶Ø§ÙØ© Ù
+Ø¬Ù
+ÙØ¹Ø© Ø£Ø®Ø±Ù ÙÙØšØ­Ø« ØšØµÙØ±Ø© Ù
+ÙØ§Ø²ÙØ©Ø Ø§ÙÙØ± Ø¹ÙÙÙØ§ Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© (Ø§ÙÙØ± Ù
+Ø±Ø© Ø£Ø®Ø±Ù ÙØ­Ø°ÙÙØ§ ). Ø§Ø°Ø§ ØªÙ
+ Ø§Ø®ØªÙØ§Ø± Ù
+Ø¬Ù
+ÙØ¹Ø© ÙØ§Ø­Ø¯Ø© ÙÙ  ÙÙÙÙ ÙÙØ§Ù ØšØ­Ø« Ø¹ØšØ± ÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª.</p>
+
+<p>Ø§Ø°Ø§ ÙÙ
+ ØªÙ
+ØªÙÙ Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª Ø§ÙÙØ±Ø¯ÙØ© ÙÙØ³ Ø§ÙÙØŽØ§ÙØ§Øª (Ù
+ØªØ¶Ù
+ÙÙ ÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ø§ÙÙØ±Ø¹ÙØ© ÙÙØ·Ø§Ø¹Ø§Øª Ø§ÙÙØºØ©) ØšØµÙØ±Ø© Ù
+ØªÙ
+Ø§Ø«ÙØ©Ø ÙØ§Ù Ø§ÙØšØ­Ø« Ø¹ØšØ± ÙØ°Ù Ø§ÙÙ
+Ø¬Ù
+ÙØ¹Ø§Øª ÙØ¹Ù
+Ù ØšØµÙØ±Ø© ØµØ­ÙØ­Ù0 ÙÙÙ ÙØªÙ
+ÙÙ Ø§ÙÙ
+Ø³ØªÙÙØ¯ Ø¥ÙØ§ Ù
+Ù ØšØ­Ø« Ø§ÙÙØŽØ§ÙØ§Øª ÙÙ ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø©0</p>
+
+<p>ÙÙ
+Ø²ÙØ¯ Ù
+Ù Ø§ÙØªÙØ§ØµÙÙØ Ø£ÙØžØ± Ø§ÙÙØµÙ Ø§ÙØ£ÙÙ Ù
+Ù Ø¯ÙÙÙ ÙØ±ÙÙØ³ØªÙÙ ÙÙÙ
+Ø·ÙØ±ÙÙ0</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/addingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/en/addingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/addingfiles.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="addingfiles"><font size="5" face="Verdana"><strong>4.4: Adding Files</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Files can be copied into the collection by dragging and dropping.  The mouse pointer becomes a ghost of the selected item (or, if more than one is selected, the number of them).  Drop the selection into the Collection Tree to copy the files there (if the source was the Workspace Tree) or move them around within the collection (if the source was the Collection Tree).</p>
+
+<p>When copying multiple files, they are all placed in the target folder at the same level, irrespective of the folder structure they occupied originally. When you copy a second file with the same name into the same folder, you are asked whether to overwrite the first one.  Respond "No" and the file will not be copied, but the others will be.  To cancel all remaining copy actions, click the "Stop" button.</p>
+
+<p>Only the "highest" items in a selection are moved.  A folder is higher than its children.  You cannot select files within a folder and also the folder itself.</p>
+
+<p>When you add a file, the Librarian Interface searches through the source folders for auxiliary files containing metadata previously assigned to the added file and, if it finds one, begins to import this metadata.  As the operation proceeds, you may be prompted (perhaps several times) for extra information to match the imported metadata to the metadata sets in your collection.  This process involves many different prompts, described in the <a href="importingpreviouslyassignedmetadata.htm">Importing Previously Assigned Metadata</a> section.  For a more detailed explanation of associating metadata with files read Chapter 2 of the Greenstone Developer's Guide -- Getting the most out of your documents.</p>
+
+<p>You can also add a "dummy" document to the collection by right-clicking in the Collection Tree or on a folder, and selecting "New dummy document". This will create a new empty file to which metadata can be assigned. The file can be replaced with a "real" file later on.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/addingpreviouslydefinedmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/en/addingpreviouslydefinedmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/addingpreviouslydefinedmetadata.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="addingpreviouslydefinedmetadata"><font size="5" face="Verdana"><strong>5.4: Adding Previously Defined Metadata</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>To add metadata that has an existing value, first select the file, then select the metadata element that you are assigning to, then select the required value from the value tree, expanding hierarchy folders as necessary.  The value of the selected entry automatically appears in the metadata field (alternatively, use the value tree's auto-select and auto-complete features). </p>
+
+<p>The process of adding metadata with already-existing values to folders or multiple files is just the same.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/appendingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/en/appendingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/appendingmetadata.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="appendingmetadata"><font size="5" face="Verdana"><strong>5.3: Appending New Metadata</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>We now add a metadata item -- both element and value -- to a file.  First select the file from the Collection file tree on the left.  The action causes any metadata previously assigned to this file to appear in the table at the right.</p>
+
+<p>Next select the metadata element you want to add by clicking its row in the table.</p>
+
+<p>Type the value into the value field.  Use the "|" character to add structure, as described in <a href="theenrichview.htm">The Enrich View</a>. Pressing the [Up] or [Down] arrow keys will save the metadata value and move the selection appropriately. Pressing [Enter] will save the metadata value and create a new empty entry for the metadata element, allowing you to assign multiple values to a metadata element.</p>
+
+<p>You can also add metadata to a folder, or to several multiply selected files at once.  It is added to all files within the folder or selection, and to child folders.  Keep in mind that if you assign metadata to a folder, any new files in it automatically inherit the folder's values.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/assignlanguages.htm
===================================================================
--- main/tags/2.83/gli/help/en/assignlanguages.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/assignlanguages.htm	(revision 21123)
@@ -0,0 +1,31 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="assignlanguages"><font size="5" face="Verdana"><strong>6.4.3: Assign Languages</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>This section details how to restrict search indexes to particular languages. You do this by generating a partition using the "Assign Languages" tab of the "Partition Indexes" panel.</p>
+
+<p>Language partitions use metadata to determine which documents are in the specified languages and therefore should be included in the partition. Greenstone generates "ex.Language" metadata for most documents, and this is the default metadata to use. However, this can be changed by setting "Language Metadata:" to the correct metadata element.</p>
+
+<p>To add a new language partition, select one or more languages from the "Languages to add" list, and click "Add Partition".</p>
+
+<p>To change an existing partition, select it from the "Assigned Language Partitions" list, modify the selected languages in the "Languages to add" list below, and click "Replace Partition".</p>
+
+<p>To remove a language partition, select it from the "Assigned Language Partitions" list and click "Remove Partition".</p>
+
+<p>The order that the language partitions are specified in the Assigned Language Partitions list is the order they appear in the drop down menu on the search page. Use the "Move Up" and "Move Down" buttons to change this ordering.</p>
+
+<p>To set the default language partition, select it from the list and click "Set Default".</p>
+
+<p>The names used for the drop-down list of language partitions on the search page can be set in the "Search" part of the "Format" panel (see <a href="searchmetadatasettings.htm">Search</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/assignpartitions.htm
===================================================================
--- main/tags/2.83/gli/help/en/assignpartitions.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/assignpartitions.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="assignpartitions"><font size="5" face="Verdana"><strong>6.4.2: Assign Partitions</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Having defined one or more sub-collection filters, use the "Assign Partitions" tab to build indexes for it (or for a group of filters).  Select the desired filter or filters from the "Defined Subcollection Filters" list and click "Add Partition". Each specified partition will result in a sub-collection that contains documents that match any of the filters associated with that partition.</p>
+
+<p>To alter a partition, select it from the list, modify the filters, and click "Replace Partition".</p>
+
+<p>To remove a partition, select it from the list and click "Remove Partition".</p>
+
+<p>The order that the partitions are specified in the Assigned Partitions list is the order they appear in the drop down menu on the search page. Use the "Move Up" and "Move Down" buttons to change this ordering.</p>
+
+<p>To make a partition the default one, select it from the list and click "Set Default".</p>
+
+<p>The names used for the drop-down list of partitions on the search page can be set in the "Search" part of the "Format" panel (see <a href="searchmetadatasettings.htm">Search</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/builderrors.htm
===================================================================
--- main/tags/2.83/gli/help/en/builderrors.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/builderrors.htm	(revision 21123)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="builderrors"><font size="5" face="Verdana"><strong>7.2: Errors in collection building</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Sometimes things go wrong during collection building. Maybe some files couldn't be processed: the rest of the collection builds fine, and can be previewed, but some documents are absent. Or the whole collection is not built properly, in which case a message says "An error has occurred and the collection could not be created." When this happens, it may be helpful to switch the GLI into expert mode (File-&gt;Preferences-&gt;Mode, see <a href="preferences.htm">Preferences</a>), set the import and build "verbosity" options to 5, and rebuild, to see if there are any other error messages.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/classifiers.htm
===================================================================
--- main/tags/2.83/gli/help/en/classifiers.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/classifiers.htm	(revision 21123)
@@ -0,0 +1,31 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="classifiers"><font size="5" face="Verdana"><strong>6.5: Browsing Classifiers</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>This section explains how to assign "classifiers", which are used for browsing, to the collection.  Under the "Design" tab, click "Browsing Classifiers".</p>
+
+<p>To add a classifier, select it using the "Select classifier to add" pull-down list near the bottom and then click "Add Classifier...".  A window appears entitled "Configuring Arguments"; instructions for this dialog are just the same as for plugins (see <a href="plugins.htm">Document Plugins</a>). Once you have configured the new classifier, it is added to the end of the "Assigned Classifiers" list.</p>
+
+<p>To see a short description of a classifier, select it in the "Select classifier to add" pull-down list, then hover the mouse over it. A tool-tip displaying the description will appear.</p>
+
+<p>Each classifier has several arguments that can be configured. Important arguments include "metadata", which specifies the metadata that documents will be classified on, and "buttonname", which is the name that will appear in the navigation bar.</p>
+
+<p>To remove a classifier, select it from the list and click "Remove Classifier".</p>
+
+<p>To change the arguments for a classifier, select it from the list and click "Configure Classifier" (or double-click on the classifier in the list).</p>
+
+<p>The ordering of classifiers in the collection's navigation bar is reflected in their order here.  To change it, select the classifier you want to move and click "Move Up" or "Move Down".</p>
+
+<p>For further information on classifiers read Chapter 2, Greenstone Developer's Guide -- Getting the most out of your documents.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/collectingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/en/collectingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/collectingfiles.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="collectingfiles"><font size="5" face="Verdana"><strong>4: Collecting Files for Your Collection</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Once you have a new collection you need to get some files into it.  These may come from your ordinary file space, from previously downloaded files, or from other Greenstone collections.  Some may already have attached metadata.  This section describes how to import files.</p>
+
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/collectionspecificmacros.htm
===================================================================
--- main/tags/2.83/gli/help/en/collectionspecificmacros.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/collectionspecificmacros.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="collectionspecificmacros"><font size="5" face="Verdana"><strong>8.7: Collection Specific Macros</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Under the "Format" tab, click "Collection Specific Macros".</p> 
+
+<p>This pane shows the contents of the collection's extra.dm macro file. This is where collection specific macros can be defined. To learn more about macros, see Chapter 3 of the Greenstone Developer's Guide.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/creatingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/en/creatingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/creatingacollection.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingacollection"><font size="5" face="Verdana"><strong>2.1: Creating a New Collection</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>To create a new collection, open the "File" menu and choose "New".  Several fields need to be filled out -- but you can change their values later if you need to, in the Format view.</p>
+
+<p>"Collection title" is the text displayed at the top of your collection's home page.  It can be any length.</p>
+
+<p>"Description of content" should describe, in as much detail as possible, what the collection is about. Use the [Enter] key to break it into paragraphs.</p>
+
+<p>Finally you must specify whether the new collection will have the same appearance and metadata sets as an existing collection, or whether to start a default "New Collection". Default new collections have a standard configuration and use the Dublin Core metadata set. These can be changed later.</p>
+
+<p>Click "OK" to create the collection. </p>
+
+<p>Clicking "Cancel" returns you to the main screen immediately.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/creatingfolders.htm
===================================================================
--- main/tags/2.83/gli/help/en/creatingfolders.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/creatingfolders.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingfolders"><font size="5" face="Verdana"><strong>4.3: Creating Folders</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Use folders in the Collection file tree to group files together and make them easier to find.  Folders can be placed inside folders.  There is virtually no limit to how many folders you can have or how deeply they can be nested.</p>
+
+<p>To create a new folder, click right in the Collection Pane (or click right on an existing folder in the Collection Tree to insert the new folder in it) and click on the New Folder option. The new folder appears within the selected one, or at the top level if none is selected. You are prompted for the folder's name (default "New Folder").</p>
+
+<p>Folders can also be created by right-clicking in the Collection Tree, or over a folder, choosing "New Folder" and proceeding as above.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/creatingshortcuts.htm
===================================================================
--- main/tags/2.83/gli/help/en/creatingshortcuts.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/creatingshortcuts.htm	(revision 21123)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingshortcuts"><font size="5" face="Verdana"><strong>4.2: Creating A Shortcut in the Workspace Tree</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Certain folders -- such as the one containing your own web pages -- sometimes have special significance. If you like, the Librarian Interface can map them to the top level of the file tree.  To do this, right-click the desired folder.  Select "Create Shortcut", and enter a name for the folder.  To remove an item, right-click the mapped folder and select "Remove Shortcut".</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/definefilters.htm
===================================================================
--- main/tags/2.83/gli/help/en/definefilters.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/definefilters.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="definefilters"><font size="5" face="Verdana"><strong>6.4.1: Define Filters</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Filters allow you to group together into a sub-collection all documents in an index for which a metadata value matches a given pattern.</p>
+
+<p>To create a filter, click the "Define Filters" tab and enter a name for the new filter into the "Subcollection filter name:" field.  Next choose a document attribute to match against, either a metadata element or the name of the file in question.  Enter a regular expression to use during the matching. You can toggle between "Including" documents that match the filter, or "Excluding" them.  Finally, you can specify any of the standard PERL regular expression flags to use when matching (e.g.  "i" for case-insensitive matching). Finally, click "Add Filter" to add the filter to the "Defined Subcollection Filters" list.</p>
+
+<p>To remove a filter, select it from the list and click "Remove Filter".</p>
+
+<p>To alter a filter, select it from the list, change any of the values that appear in the editing controls and click "Replace Filter" to commit the changes.</p>
+
+<p>Defining filters does not create sub-collections. Sub-collections are specified in the "Assign Partitions", based on the filters you have just defined.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/deletingcollections.htm
===================================================================
--- main/tags/2.83/gli/help/en/deletingcollections.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/deletingcollections.htm	(revision 21123)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="deletingcollections"><font size="5" face="Verdana"><strong>2.4: Deleting Collections</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>To permanently delete collections from your Greenstone installation, choose "Delete..." from the "File" menu. A list of your collections appears. Select one to see its description, then tick the box at the bottom of the dialog and click "Delete". This action is irreversible, so be careful.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/depositormetadatasettings.htm
===================================================================
--- main/tags/2.83/gli/help/en/depositormetadatasettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/depositormetadatasettings.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="depositormetadatasettings"><font size="5" face="Verdana"><strong>8.8: Depositor Metadata</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>The Greenstone Depositor enables users to add new documents into an existing collection through a web interface. This section describes the Depositor Metadata pane, where you can specify which metadata fields should be used to describe the new documents added through Depositor. Any metadata sets that have been associated with the current collection will be available for selection. If there is no other metadata set than the "Greenstone Extracted Metadata Set" associated with the collection, the "Dublin Core Metadata Set" will be used as default. To learn more about the Depositor, see the online tutorial exercise at http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/depositor.htm. Under the "Format" tab, click "Depositor Metadata".</p>
+
+<p>The Depositor Metadata panel shows a checklist of available metadata fields. If there is more than one metadata set associated with the collection, neighbouring metadata sets are displayed in different colours. Hover the mouse over a metadata element: a tool-tip displaying its description will appear.</p>
+
+<p>Check those you want to be used to describe new documents when they are deposited through the Depositor. A drop-down list with two choices will appear beside each checked element. This allows you to specify the type of input box for the element in the web interface. "text" means that a single line input box will be used, whereas "textarea" means that a multi-line input box will be used. Select an appropriate box type for each field.</p>
+
+<p>At least one metadata element must be selected. If there is only one selected element in the list, de-selecting it will pop-up a warning message: "At least one metadata element should be selected."</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/designingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/en/designingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/designingacollection.htm	(revision 21123)
@@ -0,0 +1,22 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="designingacollection"><font size="5" face="Verdana"><strong>6: Configuring Your Collection</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Once your files are marked up with metadata, you next decide how the documents should be accessed by the end users. What kind of information is searchable?  What ways are provided to browse through the documents? These things can be customized; this section describes how to do it.</p>
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/downloadingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/en/downloadingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/downloadingfiles.htm	(revision 21123)
@@ -0,0 +1,18 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="downloadingfiles"><font size="5" face="Verdana"><strong>3: Downloading Files from the Internet</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>The "Download" view helps you download resources from the Internet. This section explains the Librarian Interface's downloading process.</p>
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/enrichingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/en/enrichingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/enrichingacollection.htm	(revision 21123)
@@ -0,0 +1,24 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="enrichingacollection"><font size="5" face="Verdana"><strong>5: Enriching Your Collection with Metadata</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Having gathered several files into the collection, now enrich them with additional information called "metadata".  This section explains how metadata is created, edited, assigned and retrieved, and how to use external metadata sources (also see Chapter 2 of the Greenstone Developer's Guide -- Getting the most out of your documents).</p>
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/expertbuilding.htm
===================================================================
--- main/tags/2.83/gli/help/en/expertbuilding.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/expertbuilding.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="expertbuilding"><font size="5" face="Verdana"><strong>7.3: Create view in Expert mode</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>In Expert mode, you can use the "Message Log" entry at the left to review previous attempts to build the collection, whether successful or not. Select the log you want by clicking on the desired date in the "Log History" list.</p>
+
+<p>In this mode, a full list of import and build options are shown in the Import and Build tabs to the left. The various settings are controlled just like the "Configuring Arguments" window described in the <a href="plugins.htm">Document Plugins</a> section.  Some fields require numeric arguments, and you can type these in or use the arrows to increase or decrease the current value (in some cases, the interface restricts the range you can enter).  Others are enabled by clicking a checkbox (click again to disable).</p>
+
+<p>For more information about importing and building read Chapter 1 of the Greenstone Developer's Guide -- Understanding the collection-building process.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/explodingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/en/explodingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/explodingfiles.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="explodingfiles"><font size="5" face="Verdana"><strong>4.7: "Exploding" Metadata Files</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Metadata database file types, such as MARC, OAI, CDS/ISIS, BibTex, Refer and ProCite, can be imported into Greenstone but their metadata cannot be IMMEDIATELY viewed or edited in the Librarian Interface. However, you can "explode" the file in the Librarian Interface and view or edit the metadata afterwards. Alternatively, particularly if you are maintaining a master external application, you can go back to the program that created the file, make your corrections, and reimport.</p>
+
+<p>"Exploding" a metadata database file splits it into individual records, with viewable and editable metadata. This process is irreversible: the original metadata file is deleted.</p>
+
+<p>Explodable files have a green icon in the Collection tree. To explode one, right click it and choose "Explode metadata database". A popup window shows options for the exploding process. The "plugin" option specifies the plugin to be used for exploding. In most cases, only one plugin will process a particular type of file, but in some cases, where different file types share the same filename extension, there may be two plugins that both process files with that extension. The "input_encoding" option can be used to specify the encoding of the database. The "metadata_set" option specifies the metadata set to which the new fields generated by exploding should be added. If none is specified, you will be prompted for what to do with each new field in the database: add it as a new element to an existing metadata set, merge with another element, or ignore.</p>
+
+<p>When a file is exploded, a new empty document is created for each record, and the metadata from the record is assigned to the document. These are named using numbers such as 000001.nul, 000002.nul etc. If the "document_field" option is set (to a database field name), the value of this field, if present, will be used for the filename. The exploding process will also try to download the file and use it instead of an empty file. The "document_prefix" and "document_suffix" options can be used to make a valid URL or file path from the document_field value. The "records_per_folder" option can be used to group exploded records into sub-folders. If the database is very large, using this option will accelerate subsequent metadata editing.</p>
+
+<p>Explodability is determined by file extension. In some cases, files may be incorrectly labelled as explodable if they have the same file extension as an explodable file. For example, the ProCite plugin processes files with a .txt extension, but most .txt files are plain text files, not ProCite files.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/exporting.htm
===================================================================
--- main/tags/2.83/gli/help/en/exporting.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/exporting.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="exporting"><font size="5" face="Verdana"><strong>9.3: Exporting collections to other formats</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Greenstone can export the contents and/or metadata of a collection to several standard formats, including METS, DSpace and MARCXML.</p>
+
+<p>To export a collection, open the "File" menu and choose "Export...". You can choose which format to export to by selecting it in the "Export to" drop-down list. Specify a name for the directory where you want to put the exported files&mdash;the files will end up in &lt;path to greenstone&gt;/tmp/exported_xxx, where xxx is the name you specified. Select one collection in the list of available collections, then click "Export Collection".</p>
+
+<p>There are other options specific to the various formats. You can specify XSLT files which will be applied to the resulting XML document(s) in order to customize the output format. Exporting to MARCXML uses a mapping file to map Greenstone metadata to MARC fields. The default mapping file maps only Dublin Core metadata. You can specify a custom mapping file to be used instead.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/exportingcollections.htm
===================================================================
--- main/tags/2.83/gli/help/en/exportingcollections.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/exportingcollections.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="exportingcollections"><font size="5" face="Verdana"><strong>9.4: Exporting Collections to CD/DVD</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Greenstone can export one or more collections to a self-installing CD/DVD for Windows. </p>
+
+<p>To export a collection, open the "File" menu and choose "Write CD/DVD Image". A list of Greenstone collections appears; click on any one to see its description. Tick the check boxes of the collections to export. You can enter the CD/DVD's name in the "CD/DVD name" box: this is what will appear in the Start menu when the CD/DVD has been installed. You can choose whether the resulting CD-ROM or DVD runs directly from the disk drive, or installs some files onto the computer. Then click "Write CD/DVD image". The process involves copying many files and may take a few minutes.</p>
+
+<p>Upon completion, Greenstone will show the name of a folder containing the exported collections. Use a CD/DVD writer to copy its contents to a blank CD/DVD.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/fileassociations.htm
===================================================================
--- main/tags/2.83/gli/help/en/fileassociations.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/fileassociations.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="fileassociations"><font size="5" face="Verdana"><strong>9.2: File Associations</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>The Librarian Interface uses particular application programs to open particular file types. To alter file associations open the "File" menu and click "File Associations...".</p>
+
+<p>To add an association, select the target file extension from the pull-down list, or type in a new extension (do not include the ".").  Next either type the command that launches the desired application in the appropriate field, or choose the application from the "Browse" dialog.  "%1" can be used in the launch command to insert the name of the file being opened.  Once these are filled out, "Add" is enabled and can be clicked to add the association.</p>
+
+<p>To edit an association, select an existing file extension.  Any existing associated command is shown in the "launch command" field.  Edit it, and then click "Replace".</p>
+
+<p>To remove an association, select an existing file extension and click "Remove".</p>
+
+<p>File associations are stored in the Librarian Interface's main folder, in a file called "associations.xml".</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/filteringthetree.htm
===================================================================
--- main/tags/2.83/gli/help/en/filteringthetree.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/filteringthetree.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="filteringthetree"><font size="5" face="Verdana"><strong>4.8: Filtering the Trees</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>"Filtering" the collection and workspace trees allows you to narrow down the search for particular files.</p>
+
+<p>The "Show Files" pull-down menu underneath each tree shows a list of predefined filters, such as "Images".  Choosing this temporarily hides all other files in the tree.  To restore the tree, change the filter back to "All Files".  These operations do not alter the collection, nor do they affect the folders in the tree.</p>
+
+<p>You can specify a custom filter by typing in a pattern to match files against (Librarian and Expert modes only). Use standard file system abbreviations such as "*.doc" ("*" matches any characters).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/formatstatements.htm
===================================================================
--- main/tags/2.83/gli/help/en/formatstatements.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/formatstatements.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="formatstatements"><font size="5" face="Verdana"><strong>8.4: Format Features</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>The web pages you see when using Greenstone are not pre-stored but are generated 'on the fly' as they are needed. Format commands are used to change the appearance of these generated pages. They affect such things as which buttons appear when a document is shown, and what links are displayed by the DateList classifier.  Format commands are not easy to develop, and you should read Chapter 2 of the Greenstone Developer's Guide. This section discusses the format settings, and how the Librarian Interface gives access to them.  Under the "Format" tab, click "Format Features".</p>
+
+<p>You can apply a format command to anything in the "Choose Feature" pull-down list, which includes each classifier and a predefined list of features.  When you select a feature, there are two types of control.  Some features are simply enabled or disabled, and this is controlled by a checkbox.  Others require a format string to be specified.  For these there is a pull-down list ("Affected Component") for selecting which part of the feature the string applies to (if necessary), a text area ("HTML Format String") for entering the string, and a selection of predefined "Variables".  To insert a variable into a format string, position the cursor at the place to insert, then select the desired variable from the "Insert Variable..." combobox.</p>
+
+<p>You can specify a default format for a particular component by selecting the "All Features" feature.  This format is then applied to all applicable features unless a more specific one is defined.</p>
+
+<p>To add a new format command, select the applicable feature and component. The default value for this command will be displayed in grey. Click "Add Format" to assign it to the collection. The "HTML Format String" will become editable and you can change it if you wish. Only one format command can be assigned to each feature/component combination.</p>
+
+<p>To remove a format command, select it from the list and click "Remove Format".</p>
+
+<p>For more information about variables and the feature components, read Chapter 2 of the Greenstone Developer's Guide.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/formattingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/en/formattingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/formattingacollection.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="formattingacollection"><font size="5" face="Verdana"><strong>8: Customizing Your Collection's Appearance</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Once you have built the collection, you next decide how it should appear to the user. What names should be used for the drop-down list of indexes in the search form? How should search results be displayed? What metadata should be displayed when a document is viewed? These can be customized; this section explains how to do it. </p>
+
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/generalsettings.htm
===================================================================
--- main/tags/2.83/gli/help/en/generalsettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/generalsettings.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="generalsettings"><font size="5" face="Verdana"><strong>8.2: General</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>This section explains how to review and alter the general settings associated with your collection.  First, under the "Format" tab, click "General".</p>
+
+<p>Here some collection wide metadata can be set or modified, including the title and description entered when starting a new collection.</p>
+
+<p>First are the contact email addresses of the collection's creator and maintainer. The following field allows you to change the collection title. The folder that the collection is stored in is shown next, but this cannot be altered. Then comes the icon to show at the top left of the collection's "About" page (in the form of a URL), followed by the icon used in the Greenstone library page to link to the collection. Next is a checkbox that controls whether the collection should be publicly accessible. Finally comes the "Collection Description" text area as described in <a href="creatingacollection.htm">Creating a New Collection</a>.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/help.xml
===================================================================
--- main/tags/2.83/gli/help/en/help.xml	(revision 21123)
+++ main/tags/2.83/gli/help/en/help.xml	(revision 21123)
@@ -0,0 +1,512 @@
+<?xml version="1.0"?>
+<!DOCTYPE TutorialList [
+     <!ENTITY nbsp "&#160;">
+     <!ENTITY rarr "&#8594;">
+     <!ENTITY mdash "&#8212;">
+]>
+<Document>
+<Section name="introduction">
+<Title>
+<Text id="1">Introduction</Text>
+</Title>
+<Text id="2">The Greenstone Librarian Interface is a tool for collecting documents, adding metadata, then building digital library collections. It provides access to the Greenstone Digital Library Software's functionality from a graphical point and click interface.</Text>
+<Section name="ofmiceandmenus">
+<Title>
+<Text id="3">Of Mice and Menus</Text>
+</Title>
+<Text id="4">This section provides basic information about interacting with the Librarian Interface. If you are familiar with programs such as Internet Explorer or Microsoft Office and are comfortable with mouse clicks and menus, skip to <Reference target="howtoavoidthisdocument"/>.</Text>
+<Text id="5">The Librarian Interface follows Microsoft Windows conventions and draws upon ordinary knowledge of Windows.</Text>
+<Text id="6">Any part of the screen that you interact with, such as a button or text field, is called a "control".  At any given time one control, called the "focus", is highlighted and responds to the keyboard.  Several controls allow you to select parts that are highlighted in dark blue.  Some controls are greyed out to indicate that they are disabled.</Text>
+<Text id="7">You can move and left- or right-click the mouse in the usual way.  Many components also allow you to "drag" them, by clicking and holding the left mouse button, move them with the mouse, and "drop" them elsewhere by releasing the button.  Potential drop targets alter their appearance when a component hovers over them.</Text>
+<Text id="8">You can use the keyboard to type into text fields. [Tab] enables one to navigate among multiple text fields.</Text>
+<Text id="11">Exit the Librarian Interface program by choosing "Exit" from the "File" menu.  Your collection will be saved first.</Text>
+</Section>
+<Section name="howtoavoidthisdocument">
+<Title>
+<Text id="12">How to Avoid Reading This Document</Text>
+</Title>
+<Text id="13">Don't read this help text all the way through!  Just read enough to learn how to get help when you need it.</Text>
+<Text id="14">Clicking on the "Help" icon in a given context either brings up the relevant help text or marks the relevant help heading with a question mark icon.</Text>
+<Text id="15">For many controls, if you station the mouse over them a "tool tip" appears that says what they do.</Text>
+<Text id="16">Before using the Librarian Interface, first read the Greenstone documentation.</Text>
+</Section>
+</Section>
+<Section name="startingoff">
+<Title>
+<Text id="17">Starting Off</Text>
+</Title>
+<Text id="18">This section covers how to create, load, save and delete collections.</Text>
+<Section name="creatingacollection">
+<Title>
+<Text id="19">Creating a New Collection</Text>
+</Title>
+<Text id="20">To create a new collection, open the "File" menu and choose "New".  Several fields need to be filled out -- but you can change their values later if you need to, in the Format view.</Text>
+<Text id="21">"Collection title" is the text displayed at the top of your collection's home page.  It can be any length.</Text>
+<Text id="22">"Description of content" should describe, in as much detail as possible, what the collection is about. Use the [Enter] key to break it into paragraphs.</Text>
+<Text id="23">Finally you must specify whether the new collection will have the same appearance and metadata sets as an existing collection, or whether to start a default "New Collection". Default new collections have a standard configuration and use the Dublin Core metadata set. These can be changed later.</Text>
+<Text id="24">Click "OK" to create the collection. </Text>
+<Text id="25">Clicking "Cancel" returns you to the main screen immediately.</Text>
+</Section>
+<Section name="savingacollection">
+<Title>
+<Text id="26">Saving the Collection</Text>
+</Title>
+<Text id="27">Save your work regularly by opening the "File" menu and choosing "Save". Saving a collection is not the same as making it ready for use in Greenstone (see <Reference target="producingthecollection"/>).</Text>
+<Text id="28">The Librarian Interface protects your work by saving it whenever you exit the program or load another collection.</Text>
+<Text id="29a">Collections are saved to a folder within your Greenstone installation's "collect" folder, named with a short version of the collection name. Documents are saved to the "import" sub-folder, and metadata is saved to "metadata.xml" files within this folder. Configuration information is saved to the "collect.cfg" file within the "etc" sub-folder. Some information is also saved in a file named for the collection and with file extension ".col".</Text>
+</Section>
+<Section name="openingacollection">
+<Title>
+<Text id="30">Opening an Existing Collection</Text>
+</Title>
+<Text id="31">To open an existing collection, choose "Open" from the "File" menu to get the Open Collection prompt.  A list of your Greenstone collections appears. Select one to see its description, and click "Open" to load it.</Text>
+<Text id="32">In case more than one Greenstone Librarian Interface program is running concurrently, the relevant directories are "locked" to prevent interference. On opening a collection, a small temporary lock file is created in its folder.  Before opening a collection, the Librarian Interface checks to ensure that no lock file already exists.  However, when the Librarian Interface is exited prematurely the lock file is sometimes left in place.  When you open such a collection, the Librarian asks if you want to "steal" control of it. Feel free to do so unless you think that someone else is currently working on the same collection.</Text>
+<Text id="33">When you open a collection that the Greenstone Librarian Interface did not create, the Dublin Core metadata set will be assigned to it, and any existing metadata will be imported just as it is when you drag in files with existing metadata. The process is described in the <Reference target="importingpreviouslyassignedmetadata"/> section. </Text>
+</Section>
+<Section name="deletingcollections">
+<Title>
+<Text id="34">Deleting Collections</Text>
+</Title>
+<Text id="35">To permanently delete collections from your Greenstone installation, choose "Delete..." from the "File" menu. A list of your collections appears. Select one to see its description, then tick the box at the bottom of the dialog and click "Delete". This action is irreversible, so be careful.</Text>
+</Section>
+</Section>
+<Section name="downloadingfiles">
+<Title>
+<Text id="36">Downloading Files from the Internet</Text>
+</Title>
+<Text id="37">The <AutoText key="glidict::GUI.Download"/> view helps you download resources from the Internet. This section explains the Librarian Interface's downloading process.</Text>
+<Section name="themirrorview">
+<Title>
+<Text id="38">The Download view</Text>
+</Title>
+<Text id="39">This section describes how to configure a download task and control the downloading process. Access the <AutoText key="glidict::GUI.Download"/> view by clicking its tab. The top half of the screen shows the downloading controls. The bottom half is initially empty, but will show a list of pending and completed download jobs. </Text>
+<Text id="39a">There are several protocols that can be used for downloading records, and these are listed on the left hand side at the top.</Text>
+<Text id="39b"><b>Web:</b> downloads web pages and files via HTTP and FTP.</Text>
+<Text id="39b-1"><b>MediaWiki:</b> downloads web pages and files via HTTP from a MediaWiki website.</Text>
+<Text id="39c"><b>OAI:</b> downloads metadata records (and optionally documents) from an OAI-PMH (Open Archives Initiative) server.</Text>
+<Text id="39d"><b>Z39.50:</b> downloads MARC records that match a particular search criterion from a Z39.50 server.</Text>
+<Text id="39e"><b>SRW:</b> downloads MARCXML records that match a particular search criterion from an SRW server.</Text>
+<Text id="39f">Select the appropriate protocol by clicking it in the left hand list. The right-hand side displays the options available for the selected download protocol. To find out what an option does, hover the mouse over it: a tool-tip explaining the option will appear. Some options are 'optional': these are presented with a check box which must be ticked on for the option to be used. Others are 'required': these have no check box, and a value must be given before the download is carried out. </Text>
+<Text id="39g">Once the configuration is set up, click <AutoText key="glidict::Download.ServerInformation"/> to check the connection to the server and view some basic information about the web page or server, or click <AutoText key="glidict::Mirroring.Download"/> to start the download. </Text>
+<Text id="39g-1">There are two other buttons: <AutoText key="glidict::Mirroring.Preferences"/>, which links to the connection section of the Preferences where proxy settings can be edited; and <AutoText key="glidict::Mirroring.ClearCache"/>, which deletes all previously downloaded files. You will need to set up proxy information if you use a proxy server to connect to the Internet. If authentication is needed when a download is being processed, the proxy server will prompt for username and password.  The Librarian Interface does not store passwords between sessions.</Text>
+<Text id="40">Files are downloaded into a folder called <AutoText key="glidict::Tree.DownloadedFiles"/> (only present when downloading is enabled), and can be used in any collections.  Files are named by their full web URL (for Web and MediaWiki downloads) or a combination of URL and option values (for other download types). A new folder is created for each host, followed by others for each part of the path. This ensures that each file is distinct.</Text>
+<Text id="42">The download list has an entry for each download processed. Each entry has a text region that gives details of the task along with a progress bar showing current activity. Three buttons appear to the right of each entry. <AutoText key="glidict::Mirroring.DownloadJob.Pause"/> is used to pause a task. <AutoText key="glidict::Mirroring.DownloadJob.Log"/> opens a window showing the download log file. <AutoText key="glidict::Mirroring.DownloadJob.Close"/> terminates the download and removes the task from the list.  </Text>
+</Section>
+</Section>
+<Section name="collectingfiles">
+<Title>
+<Text id="44">Collecting Files for Your Collection</Text>
+</Title>
+<Text id="45">Once you have a new collection you need to get some files into it.  These may come from your ordinary file space, from previously downloaded files, or from other Greenstone collections.  Some may already have attached metadata.  This section describes how to import files.</Text>
+<Section name="thegatherview">
+<Title>
+<Text id="46">The Gather View</Text>
+</Title>
+<Text id="47">This section introduces the Gather area that you use to select what files to include in the collection you are building. The Librarian Interface starts with the Gather view.  To return to this view later, click the <AutoText key="glidict::GUI.Gather"/> tab directly below the menu bar.</Text>
+<Text id="48">The two large areas titled "Workspace" and "Collection" are used to move files into your collection.  They contain "file trees" that represent files and folders.</Text>
+<Text id="49">Select an item in the tree by clicking it.  (There are other ways; see below.) Double-click a folder, or single-click the switch symbol beside it, to expand (or collapse) its contents.  Double-click a file (or right-click and select <AutoText key="glidict::Menu.Open_Externally"/>) to open it using its associated application program (see <Reference target="fileassociations"/>).</Text>
+<Text id="50">The Workspace file tree shows the sources of data available to the Librarian Interface -- the local file system (including disk and CD-ROM drives), the contents of existing Greenstone collections, and the cache of downloaded files. You can copy and view these files but you cannot move, delete, or edit them, with the exception of the downloaded files, which can be deleted.  Navigate this space to find the files you want to include in the collection.</Text>
+<Text id="51">The Collection file tree represents the contents of the collection so far.  Initially, it is empty.</Text>
+<Text id="52">You can resize the spaces by mousing over the grey bar that separates the trees (the shape of the pointer changes) and dragging.</Text>
+<Text id="53">At the bottom of the window is a status area that shows the progress of actions involving files (copying, moving and deleting). These can take some time to complete. The "Stop" button stops any action that is currently in progress. </Text>
+<Text id="54">Two large buttons occupy the lower right corner of the screen. "New Folder", with a picture of a folder, creates new folders (see <Reference target="creatingfolders"/>). "Delete", with a garbage can, removes files. Clicking the Delete button will remove any selected files from the Collection file tree. Alternatively, files can be deleted by dragging them onto the Delete button. </Text>
+<Text id="55">To select several sequential items, select the first and then hold down [Shift] and click on the last -- the selection will encompass all intervening items.  Select non-sequential files by holding down [Ctrl] while clicking.  Use these two methods together to select groups of non-adjacent items.</Text>
+</Section>
+<Section name="creatingshortcuts">
+<Title>
+<Text id="55a">Creating A Shortcut in the Workspace Tree</Text>
+</Title>
+<Text id="56">Certain folders -- such as the one containing your own web pages -- sometimes have special significance. If you like, the Librarian Interface can map them to the top level of the file tree.  To do this, right-click the desired folder.  Select "Create Shortcut", and enter a name for the folder.  To remove an item, right-click the mapped folder and select "Remove Shortcut".</Text>
+</Section>
+<Section name="creatingfolders">
+<Title>
+<Text id="57">Creating Folders</Text>
+</Title>
+<Text id="58">Use folders in the Collection file tree to group files together and make them easier to find.  Folders can be placed inside folders.  There is virtually no limit to how many folders you can have or how deeply they can be nested.</Text>
+<Text id="59">To create a new folder, click right in the Collection Pane (or click right on an existing folder in the Collection Tree to insert the new folder in it) and click on the New Folder option. The new folder appears within the selected one, or at the top level if none is selected. You are prompted for the folder's name (default "New Folder").</Text>
+<Text id="60">Folders can also be created by right-clicking in the Collection Tree, or over a folder, choosing "New Folder" and proceeding as above.</Text>
+</Section>
+<Section name="addingfiles">
+<Title>
+<Text id="61">Adding Files</Text>
+</Title>
+<Text id="62">Files can be copied into the collection by dragging and dropping.  The mouse pointer becomes a ghost of the selected item (or, if more than one is selected, the number of them).  Drop the selection into the Collection Tree to copy the files there (if the source was the Workspace Tree) or move them around within the collection (if the source was the Collection Tree).</Text>
+<Text id="63">When copying multiple files, they are all placed in the target folder at the same level, irrespective of the folder structure they occupied originally. When you copy a second file with the same name into the same folder, you are asked whether to overwrite the first one.  Respond "No" and the file will not be copied, but the others will be.  To cancel all remaining copy actions, click the "Stop" button.</Text>
+<Text id="64">Only the "highest" items in a selection are moved.  A folder is higher than its children.  You cannot select files within a folder and also the folder itself.</Text>
+<Text id="65">When you add a file, the Librarian Interface searches through the source folders for auxiliary files containing metadata previously assigned to the added file and, if it finds one, begins to import this metadata.  As the operation proceeds, you may be prompted (perhaps several times) for extra information to match the imported metadata to the metadata sets in your collection.  This process involves many different prompts, described in the <Reference target="importingpreviouslyassignedmetadata"/> section.  For a more detailed explanation of associating metadata with files read Chapter 2 of the Greenstone Developer's Guide -- Getting the most out of your documents.</Text>
+<Text id="65a">You can also add a "dummy" document to the collection by right-clicking in the Collection Tree or on a folder, and selecting <AutoText key="glidict::CollectionPopupMenu.New_Dummy_Doc"/>. This will create a new empty file to which metadata can be assigned. The file can be replaced with a "real" file later on.</Text>
+</Section>
+<Section name="replacingfiles">
+<Title>
+<Text id="65b">Renaming and Replacing Files</Text>
+</Title>
+<Text id="65c">Files can be renamed by right-clicking them and selecting <AutoText key="glidict::CollectionPopupMenu.Rename"/> from the list. Enter the new name at the prompt and click "OK".</Text>
+<Text id="65d">Files can be replaced in the collection by right-clicking the file to replace and choosing <AutoText key="glidict::CollectionPopupMenu.Replace"/>. A file browser will open up: navigate to the new document and click "Open". The new document will replace the old one in the collection, and any metadata will be transferred to it. This is particularly useful for replacing dummy documents by their real ones.</Text>
+<Text id="65e">Some file types are converted to HTML by third-party software during import, for example, Word, Excel, PDF etc. The HTML produced during import may not be very well formatted. These documents have a further right-click option: <AutoText key="glidict::Menu.Replace_SrcDoc_With_HTML"/>. Selecting this option will replace the original file in the collection with the HTML version, which can then be edited.</Text>
+</Section>
+<Section name="removingfiles">
+<Title>
+<Text id="66">Removing Files</Text>
+</Title>
+<Text id="67">There are several methods for removing files and folders.  You must first indicate what items to remove by selecting one or more files and folders as described in <Reference target="thegatherview"/>.</Text>
+<Text id="68">Once files have been selected, click the "delete" button to remove them, or press the [Delete] key on your keyboard, or drag them from the collection to the delete button and drop them there.</Text>
+</Section>
+<Section name="explodingfiles">
+<Title>
+<Text id="exm-1">"Exploding" Metadata Files</Text>
+</Title>
+<Text id="exm-2">Metadata database file types, such as MARC, OAI, CDS/ISIS, BibTex, Refer and ProCite, can be imported into Greenstone but their metadata cannot be IMMEDIATELY viewed or edited in the Librarian Interface. However, you can "explode" the file in the Librarian Interface and view or edit the metadata afterwards. Alternatively, particularly if you are maintaining a master external application, you can go back to the program that created the file, make your corrections, and reimport.</Text>
+<Text id="exm-3">"Exploding" a metadata database file splits it into individual records, with viewable and editable metadata. This process is irreversible: the original metadata file is deleted.</Text>
+<Text id="exm-4">Explodable files have a green icon in the Collection tree. To explode one, right click it and choose <AutoText key="glidict::Menu.Explode_Metadata_Database"/>. A popup window shows options for the exploding process. The "plugin" option specifies the plugin to be used for exploding. In most cases, only one plugin will process a particular type of file, but in some cases, where different file types share the same filename extension, there may be two plugins that both process files with that extension. The "input_encoding" option can be used to specify the encoding of the database. The "metadata_set" option specifies the metadata set to which the new fields generated by exploding should be added. If none is specified, you will be prompted for what to do with each new field in the database: add it as a new element to an existing metadata set, merge with another element, or ignore.</Text>
+<Text id="exm-5">When a file is exploded, a new empty document is created for each record, and the metadata from the record is assigned to the document. These are named using numbers such as 000001.nul, 000002.nul etc. If the "document_field" option is set (to a database field name), the value of this field, if present, will be used for the filename. The exploding process will also try to download the file and use it instead of an empty file. The "document_prefix" and "document_suffix" options can be used to make a valid URL or file path from the document_field value. The "records_per_folder" option can be used to group exploded records into sub-folders. If the database is very large, using this option will accelerate subsequent metadata editing.</Text>
+<Text id="exm-6">Explodability is determined by file extension. In some cases, files may be incorrectly labelled as explodable if they have the same file extension as an explodable file. For example, the ProCite plugin processes files with a .txt extension, but most .txt files are plain text files, not ProCite files.</Text>
+</Section>
+<Section name="filteringthetree">
+<Title>
+<Text id="69">Filtering the Trees</Text>
+</Title>
+<Text id="70">"Filtering" the collection and workspace trees allows you to narrow down the search for particular files.</Text>
+<Text id="71">The "Show Files" pull-down menu underneath each tree shows a list of predefined filters, such as "Images".  Choosing this temporarily hides all other files in the tree.  To restore the tree, change the filter back to "All Files".  These operations do not alter the collection, nor do they affect the folders in the tree.</Text>
+<Text id="72">You can specify a custom filter by typing in a pattern to match files against (Librarian and Expert modes only). Use standard file system abbreviations such as "*.doc" ("*" matches any characters).</Text>
+</Section>
+</Section>
+<Section name="enrichingacollection">
+<Title>
+<Text id="73">Enriching Your Collection with Metadata</Text>
+</Title>
+<Text id="74">Having gathered several files into the collection, now enrich them with additional information called "metadata".  This section explains how metadata is created, edited, assigned and retrieved, and how to use external metadata sources (also see Chapter 2 of the Greenstone Developer's Guide -- Getting the most out of your documents).</Text>
+<Section name="theenrichview">
+<Title>
+<Text id="75">The Enrich View</Text>
+</Title>
+<Text id="76">Use the <AutoText key="glidict::GUI.Enrich"/> view to assign metadata to the documents in the collection. Metadata is data about data -- typically title, author, creation date, and so on.  Each metadata item has two parts: <AutoText key="glidict::Metadata.Element"/> tells what kind of item it is (such as author), and <AutoText key="glidict::Metadata.Value"/> gives the value of that metadata element (such as the author's name).</Text>
+<Text id="77">On the left of the <AutoText key="glidict::GUI.Enrich"/> view is the Collection Tree. All the right-click functionality that was available for the Collection Tree in the <AutoText key="glidict::GUI.Gather"/> view is available here too. To the right is the Metadata Table, which shows metadata for any selected files or folders in the Collection Tree.  Columns are named in black at the top, and can be resized by dragging the separating line. If several files or folders are selected, black text indicates that the value is common to all of the selected items, while grey text indicates that it is not. Editing grey values will only affect those documents with that metadata. Any new metadata values entered will be added to all selected items.</Text>
+<Text id="78">A folder icon may appear beside some metadata entries.  This indicates that the values are inherited from a parent (or ancestor) folder.  Inherited metadata cannot be edited or removed, only appended to.  Click on the folder icon to go immediately to the folder where the metadata is assigned.</Text>
+<Text id="79">Clicking on a metadata element in the table will display the existing values for that element in the <AutoText key="glidict::EnrichPane.ExistingValues" args="..."/> area below the table. This "Value Tree" expands and collapses.  Usually it is a list that shows all values entered previously for the selected element.  Clicking an entry automatically places it into the value field.  Conversely, typing in the value field selects the Value Tree entry that starts with the characters you have typed.  Pressing [Tab] auto-completes the typing with the selected value.</Text>
+<Text id="80">Metadata values can be organized into a hierarchy. This is shown in the Value Tree using folders for internal levels. Hierarchical values can be entered using the character "|" to separate the levels. For example, "Cards|Red|Diamonds|Seven" might be used in a hierarchy that represents a pack of playing cards. This enables values to be grouped together. Groups can also be assigned as metadata to files.</Text>
+<Text id="81">Greenstone extracts metadata automatically from documents into a metadata set whose elements are prefixed by "ex.".  This has no value tree and cannot be edited. </Text>
+</Section>
+<Section name="selectingmetadatasets">
+<Title>
+<Text id="82">Selecting Metadata Sets</Text>
+</Title>
+<Text id="83">Sets of predefined metadata elements are known as "metadata sets".  An example is the Dublin Core metadata set.  When you add a metadata set to your collection, its elements become available for selection.  You can have more than one set; to prevent name clashes a short identifier that identifies the metadata set is pre-pended to the element name.  For instance the Dublin Core element Creator becomes "dc.Creator".  Metadata sets are stored in the Librarian Interface's metadata folder and have the suffix ".mds".</Text> 
+<Text id="84">When you create a new collection, the Dublin Core metadata set is added by default. You can change which metadata sets are used in a collection by clicking the <AutoText key="glidict::EnrichPane.ManageMetadataSets"/> button underneath the Collection Tree in the Enrich view. This brings up a new window for managing the collection's metadata sets.</Text>
+<Text id="84a">The <AutoText key="glidict::MetadataSetDialog.Current_Sets"/> list shows you what sets are currently used by the collection.</Text>
+<Text id="84b">To use another metadata set with the loaded collection, click "Add...". A popup window shows you the default metadata sets that GLI knows about. To add one of these, select it from the list and click "Add". If you have defined your own metadata set, you can use the "Browse" button to locate the file on your file system.</Text>
+<Text id="84c">To create a new metadata set, click "New...". This will launch the Greenstone Editor for Metadata Sets, GEMS. An initial popup window prompts you for the set name, namespace and description. You can also choose to base the new set on an existing one, in which case it will inherit all the elements from the specified set. Click OK. The main window shows the elements of metadata set on the left hand side, and some attributes for the set on the right hand side. If you have based the set on an existing one, one or more elements will be displayed. Clicking one displays attributes of the element in the right hand side.</Text>
+<Text id="84d">To add a new element, right click on the name of the set and choose "Add Element". To add a new subelement, right click on the element and choose "Add Subelement". Elements and subelements can be deleted by choosing "Delete (Sub)element" from the right click menu. </Text>
+<Text id="84e">Note: the Greenstone Editor for Metadata Sets can be run independently of GLI by selecting it from the Greenstone folder in the Start menu, or by running gems.sh or gems.bat in the gli folder of your Greenstone installation.</Text>
+<Text id="84f">Sometimes two metadata sets may have the same namespace, for example, Dublin Core and Qualified Dublin Core both use the namespace "dc". Such sets cannot be used in the collection at the same time. If you try to add a set with a namespace already used by the collection, a warning will be shown. If you go ahead, the existing set will be removed and the new one added. Any assigned metadata values will be transferred to the new set providing those elements still exist.</Text>
+<Text id="191">With GEMS you can edit existing metadata sets as well as create new ones. Clicking the "Edit" button launches GEMS with the specified metadata set open. Once you have finished editing the set (as described above), save it (File->Save) and close GEMS.</Text>
+<Text id="192">If a collection no longer needs a metadata set, select it and press "Remove". If you have assigned any metadata to its elements you will be asked how to deal with this metadata when you next open the collection.</Text>
+</Section>
+<Section name="appendingmetadata">
+<Title>
+<Text id="85">Appending New Metadata</Text>
+</Title>
+<Text id="86">We now add a metadata item -- both element and value -- to a file.  First select the file from the Collection file tree on the left.  The action causes any metadata previously assigned to this file to appear in the table at the right.</Text>
+<Text id="87">Next select the metadata element you want to add by clicking its row in the table.</Text>
+<Text id="88">Type the value into the value field.  Use the "|" character to add structure, as described in <Reference target="theenrichview"/>. Pressing the [Up] or [Down] arrow keys will save the metadata value and move the selection appropriately. Pressing [Enter] will save the metadata value and create a new empty entry for the metadata element, allowing you to assign multiple values to a metadata element.</Text>
+<Text id="89">You can also add metadata to a folder, or to several multiply selected files at once.  It is added to all files within the folder or selection, and to child folders.  Keep in mind that if you assign metadata to a folder, any new files in it automatically inherit the folder's values.</Text>
+</Section>
+<Section name="addingpreviouslydefinedmetadata">
+<Title>
+<Text id="90">Adding Previously Defined Metadata</Text>
+</Title>
+<Text id="91">To add metadata that has an existing value, first select the file, then select the metadata element that you are assigning to, then select the required value from the value tree, expanding hierarchy folders as necessary.  The value of the selected entry automatically appears in the metadata field (alternatively, use the value tree's auto-select and auto-complete features). </Text>
+<Text id="92">The process of adding metadata with already-existing values to folders or multiple files is just the same.</Text>
+</Section>
+<Section name="updatingmetadata">
+<Title>
+<Text id="93">Editing or Removing Metadata</Text>
+</Title>
+<Text id="94">To edit or remove a piece of metadata, first select the appropriate file, and then the metadata value from the table. Edit the value field, deleting all text if you wish to remove the metadata.</Text>
+<Text id="95">The process is the same when updating a folder with child folders or multiple files, but you can only update metadata that is common to all files/folders selected.</Text>
+<Text id="96">The value tree shows all currently assigned values as well as previous values for the current session, so changed or deleted values will remain in the tree. Closing the collection and then re-opening it will remove all values that are no longer assigned.</Text>
+</Section>
+<Section name="reviewingmetadata">
+<Title>
+<Text id="97">Reviewing Assigned Metadata</Text>
+</Title>
+<Text id="98">Sometimes you need to see the metadata assigned to many files at once -- for instance, to determine how many files are left to work on, or to get some idea of the spread of dates.</Text>
+<Text id="99">Select the files in the Collection Tree you wish to examine, then right-click and choose "Assigned Metadata...". A window called "All Metadata", dominated by a large table with many columns, appears.  The first column shows file names; the rows show all metadata values assigned to those files.</Text>
+<Text id="100">Drawing the table can take some time if many files are selected.  You can continue to use the Librarian Interface while the "All Metadata" window is open.</Text>
+<Text id="101">When it gets too large, you can filter the "All Metadata" table by applying filters to the columns.  As new filters are added, only those rows that match them remain visible.  To set, modify or clear a filter, click on the "funnel" icon at the top of a column.  You are prompted for information about the filter. Once a filter is set, the column header changes colour.</Text>
+<Text id="102">The filter prompt has a "Simple" and an "Advanced" tab.  The Simple version filters columns so that they only show rows that contain a certain metadata value ("*" matches all values).  You can select metadata values from the pull-down list. The Advanced version allows different matching operations: must start with, does not contain, alphabetically less than and is equal to.  The value to be matched can be edited to be any string (including "*"), and you can choose whether the matching should be case insensitive.  Finally, you can specify a second matching condition that you can use to specify a range of values (by selecting AND) or alternative values (by selecting OR).  Below this area is a box that allows you to change the sort order (ascending or descending).  Once you have finished, click "Set Filter" to apply the new filter to the column. Click "Clear Filter" to remove a current filter.  Note that the filter details are retained even when the filter is cleared.</Text>
+<Text id="103">For example, to sort the "All Metadata" table, choose a column, select the default filter setting (a Simple filter on "*"), and choose ascending or descending ordering.</Text>
+</Section>
+<Section name="importingpreviouslyassignedmetadata">
+<Title>
+<Text id="104">Importing Previously Assigned Metadata</Text>
+</Title>
+<Text id="105">This section describes how to import previously assigned metadata: metadata assigned to documents before they were added to the collection.</Text>
+<Text id="106">If metadata in a form recognized by the Librarian Interface has been previously assigned to a file -- for example, when you choose documents from an existing Greenstone collection -- it is imported automatically when you add the file. To do this, the metadata must be mapped to the metadata sets available in the collection.</Text>
+<Text id="107">The Librarian Interface prompts for the necessary information.  The prompt gives brief instructions and then shows the name of the metadata element that is being imported, just as it appears in the source file.  This field cannot be edited or changed.  Next you choose what metadata set the new element should map to, and then the appropriate metadata element in that set.  The system automatically selects the closest match, in terms of set and element, for the new metadata.</Text>
+<Text id="108">Having checked the mapping, you can choose "Add" to add the new metadata element to the chosen metadata set.  (This is only enabled if there is no element of the same name within the chosen set.) "Merge" maps the new element to the one chosen by the user.  Finally, "Ignore" does not import any metadata with this element name.  Once you have specified how to import a certain piece of metadata, the mapping information is retained for the collection's lifetime.</Text>
+<Text id="109">For details on the metadata.xml files which Greenstone uses to store the metadata, see Chapter 2 of the Greenstone Developer's Guide -- Getting the most out of your documents.</Text>
+</Section>
+</Section>
+<Section name="designingacollection">
+<Title>
+<Text id="110">Configuring Your Collection</Text>
+</Title>
+<Text id="111">Once your files are marked up with metadata, you next decide how the documents should be accessed by the end users. What kind of information is searchable?  What ways are provided to browse through the documents? These things can be customized; this section describes how to do it.</Text>
+<Section name="thedesignview">
+<Title>
+<Text id="112">The Design View</Text>
+</Title>
+<Text id="113">This section introduces you to the design view and explains how to navigate between the various views within this pane.</Text>
+<Text id="114">With the Librarian Interface, you can configure how the documents are processed, and how the collection is accessed by the user.  The configuration options are divided into different sections, each associated with a particular stage of collection customization.</Text>
+<Text id="115">On the left is a list of different views, and on the right are the controls associated with the current one.  To change to a different view, click its name in the list.</Text>
+<Text id="116">To understand the stages and terms involved in designing a collection, first read Chapters 1 and 2 of the Greenstone Developer's Guide.</Text>
+</Section>
+<Section name="plugins">
+<Title>
+<Text id="121">Document Plugins</Text>
+</Title>
+<Text id="122">This section describes how to configure the document plugins the collection uses.  It explains how you specify what plugins to use, what parameters to pass to them, and in what order they occur.  Under the "Design" tab, click "Document Plugins".</Text>
+<Text id="123">To add a plugin, select it using the "Select plugin to add" pull-down list near the bottom and then click "Add Plugin".  A window appears entitled "Configuring Arguments"; it is described later.  Once you have configured the new plugin, it is added to the end of the "Assigned Plugins" list. Generally, you would only have one instance of each plugin. However, you can add the same plugin more than once; in that case, the multiple instances would normally be configured differently to provide a useful result (for example by setting the process_exp argument, see http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/enhanced_pdf.htm ).</Text>
+<Text id="123aa">To see a short description of a plugin, select it in the "Select plugin to add" pull-down list, then hover the mouse over it. A tool-tip displaying the description will appear.</Text>
+<Text id="124">To remove a plugin, select it in the list and click "Remove Plugin".</Text>
+<Text id="125">Plugins are configured by providing arguments.  To alter them, select the plugin from the list and click "Configure Plugin" (or double-click the plugin). A "Configuring Arguments" dialog appears with various controls for specifying arguments.</Text>
+<Text id="126">There are different kinds of controls.  Some are checkboxes, and clicking one adds the appropriate option to the plugin.  Others are text strings, with a checkbox and a text field.  Click the box to enable the argument, then type appropriate text (regular expression, file path etc) in the box.  Others are pull-down menus from which you can select from a given set of values.  To learn what an argument does, let the mouse hover over its name for a moment and a description will appear.</Text>
+<Text id="127">When you have changed the configuration, click "OK" to commit the changes and close the dialog, or "Cancel" to close the dialog without changing any plugin arguments.</Text>
+<Text id="128">The plugins in the list are executed in order, and the ordering is sometimes important. Select a plugin in the list and use the <AutoText key="glidict::CDM.Move.Move_Up"/> and <AutoText key="glidict::CDM.Move.Move_Down"/> buttons to change its place in the list.</Text>
+</Section>
+<Section name="searchindexes">
+<Title>
+<Text id="134">Search Indexes</Text>
+</Title>
+<Text id="si-1">Indexes specify what parts of the collection are searchable.  This section explains how to add and remove indexes, and set a default index.  Under the <AutoText key="glidict::GUI.Design"/> tab, click <AutoText key="glidict::CDM.GUI.Indexes"/>.</Text>
+<Text id="si-2">The top right of the <AutoText key="glidict::CDM.GUI.Indexes"/> panel displays information about which indexer is currently being used by the collection. This can be changed by clicking <AutoText key="glidict::CDM.BuildTypeManager.Change"/>. A popup window appears with the list of options: MG, MGPP, and Lucene. Changing this affects how the indexes are built, and may affect search functionality.</Text>
+<Text id="si-2a">The <AutoText key="glidict::CDM.IndexManager.Indexes"/> list shows what indexes are currently assigned to the collection. </Text>
+<Text id="si-3">To add an index, click <AutoText key="glidict::CDM.IndexManager.New_Index"/>... A popup window appears with a list of sources, which includes text and metadata. Select which sources you want to index. The <AutoText key="glidict::CDM.IndexManager.Select_All"/> and <AutoText key="glidict::CDM.IndexManager.Select_None"/> buttons will check or uncheck all of the items in the list, respectively. Once a new index has been defined, click <AutoText key="glidict::CDM.IndexManager.Add_Index"/> to add it to the collection. <AutoText key="glidict::CDM.IndexManager.Add_Index"/> will only become active once the settings describe a new index that is not already assigned to the collection. </Text>
+<Text id="s1-3a">For MG indexes, you also need to choose the granularity of the index, using the <AutoText key="glidict::CDM.IndexManager.Level"/> menu. </Text>
+<Text id="si-4">For MGPP and Lucene indexes, index granularity is determined globally, not per index. The possible levels are displayed on the main <AutoText key="glidict::CDM.GUI.Indexes"/> pane, and can be added to the collection by ticking the checkboxes.</Text>
+<Text id="si-5">A special index is available for MGPP and Lucene: an "allfields" index which merely provides combined searching over all specified indexes, without having to specify a separate index that contains all sources. To add this index, check the <AutoText key="glidict::CDM.IndexManager.Allfields_Index"/> check box and click <AutoText key="glidict::CDM.IndexManager.Add_Index"/>.</Text>
+<Text id="si-6">For MGPP and Lucene, an <AutoText key="glidict::CDM.IndexManager.Add_All"/> button is also provided, as a shortcut to adding all metadata and text sources as individual indexes.</Text>
+<Text id="si-7">To edit an index, select it and click <AutoText key="glidict::CDM.IndexManager.Edit_Index"/>. A similar dialog to the <AutoText key="glidict::CDM.IndexManager.New_Index"/> one is shown. </Text>
+<Text id="si-8">To remove an index, select it from the list of Assigned indexes and click <AutoText key="glidict::CDM.IndexManager.Remove_Index"/>.</Text>
+<Text id="si-9">The order in which the indexes are specified in the Assigned Indexes list is the order they appear in the drop down menu on the search page. Use the <AutoText key="glidict::CDM.Move.Move_Up"/> and <AutoText key="glidict::CDM.Move.Move_Down"/> buttons to change this ordering.</Text>
+<Text id="si-10">The one that is selected by default on the search page is called the "default index". This can be set by selecting an index from the list and clicking "Set Default". The default index is tagged with "[Default Index]" in the "Assigned Indexes" list. If no default index is set, the first one in the list will be used as the default.</Text>
+<Text id="si-11">The names used for the drop-down list of indexes on the search page can be set in the <AutoText key="glidict::CDM.GUI.SearchMetadata"/> panel of the <AutoText key="glidict::GUI.Format"/> view (see <Reference target="searchmetadatasettings"/>).</Text>
+<Section name="searchindexoptions">
+<Title>
+<Text id="sio-1">Search Index Options</Text>
+</Title>
+<Text id="sio-2">There are some additional options controlling how the indexes are built. These may not be available for a particular index, in which case will be greyed out.</Text>
+<Text id="sio-3">Stemming and case-folding may be enabled or disabled for MG and MGPP indexes. If enabled, stemmed and case-folded indexes will be created, and the user will have the option of searching with case folding and stemming on or off. If disabled, searching will be case-sensitive and unstemmed, and the options will not be displayed on the preferences page of the collection.</Text>
+<Text id="sio-4">Accent-folding is available for MGPP indexes. This works in a similar way to case-folding, but instead of lower and upper case letters matching, letters with diacritics match those without. A Lucene index is always accent-folded; no option to switch this on and off will be displayed to the user on the collection's preferences page.</Text>
+<Text id="sio-5">Chinese, Japanese and Korean text is often not segmented into individual words. As indexing relies on word breaks being present in the text, this results in an unsearchable index. Setting the <AutoText key="glidict::CDM.IndexingManager.Separate_cjk"/> option will add spaces between each Chinese/Japanese/Korean character in the text and in search terms, so that character level searching is carried out.</Text>
+</Section>
+</Section>
+<Section name="partitionindexes">
+<Title>
+<Text id="143">Partition Indexes</Text>
+</Title>
+<Text id="144">Indexes are built on particular text or metadata sources.  The search space can be further controlled by partitioning the indexes, either by language or by a predetermined filter.  This section describes how to do this.  Under the "Design" tab, click "Partition Indexes".</Text>
+<Text id="145">The "Partition Indexes" view has three tabs; "Define Filters", "Assign Partitions" and "Assign Languages".  To learn more about partitions read about sub-collections and sub-indexes in Chapter 2 of the Greenstone Developer's Guide.</Text>
+<Text id="146">Note that for MG collections, the total number of partitions generated is a combination of all indexes, sub-collection filters and languages chosen. Two indexes with two sub-collection filters in two languages would yield eight index partitions. For MGPP, all indexes are created in one physical index, so there would only be four index partitions. For Lucene, the number of physical indexes is determined by the number of levels assigned to the collection, one index per level. So for the above situation, one level would result in four physical indexes, while two levels would result in eight.</Text>
+<Section name="definefilters">
+<Title>
+<Text id="147">Define Filters</Text>
+</Title>
+<Text id="148">Filters allow you to group together into a sub-collection all documents in an index for which a metadata value matches a given pattern.</Text>
+<Text id="149">To create a filter, click the "Define Filters" tab and enter a name for the new filter into the "Subcollection filter name:" field.  Next choose a document attribute to match against, either a metadata element or the name of the file in question.  Enter a regular expression to use during the matching. You can toggle between "Including" documents that match the filter, or "Excluding" them.  Finally, you can specify any of the standard PERL regular expression flags to use when matching (e.g.  "i" for case-insensitive matching). Finally, click "Add Filter" to add the filter to the "Defined Subcollection Filters" list.</Text>
+<Text id="150">To remove a filter, select it from the list and click "Remove Filter".</Text>
+<Text id="151">To alter a filter, select it from the list, change any of the values that appear in the editing controls and click "Replace Filter" to commit the changes.</Text>
+<Text id="151a">Defining filters does not create sub-collections. Sub-collections are specified in the <AutoText key="glidict::CDM.SubcollectionManager.Subindex_Controls"/>, based on the filters you have just defined.</Text>
+</Section>
+<Section name="assignpartitions">
+<Title>
+<Text id="152">Assign Partitions</Text>
+</Title>
+<Text id="153">Having defined one or more sub-collection filters, use the "Assign Partitions" tab to build indexes for it (or for a group of filters).  Select the desired filter or filters from the "Defined Subcollection Filters" list and click "Add Partition". Each specified partition will result in a sub-collection that contains documents that match any of the filters associated with that partition.</Text>
+<Text id="154a">To alter a partition, select it from the list, modify the filters, and click <AutoText key="glidict::CDM.SubcollectionIndexManager.Replace_Subindex"/>.</Text>
+<Text id="154">To remove a partition, select it from the list and click "Remove Partition".</Text>
+<Text id="154b">The order that the partitions are specified in the Assigned Partitions list is the order they appear in the drop down menu on the search page. Use the <AutoText key="glidict::CDM.Move.Move_Up"/> and <AutoText key="glidict::CDM.Move.Move_Down"/> buttons to change this ordering.</Text>
+<Text id="155">To make a partition the default one, select it from the list and click <AutoText key="glidict::CDM.SubcollectionIndexManager.Set_Default_Subindex"/>.</Text>
+<Text id="155a">The names used for the drop-down list of partitions on the search page can be set in the <AutoText key="glidict::CDM.GUI.SearchMetadata"/> part of the <AutoText key="glidict::GUI.Format"/> panel (see <Reference target="searchmetadatasettings"/>).</Text>
+</Section>
+<Section name="assignlanguages">
+<Title>
+<Text id="156">Assign Languages</Text>
+</Title>
+<Text id="157">This section details how to restrict search indexes to particular languages. You do this by generating a partition using the "Assign Languages" tab of the "Partition Indexes" panel.</Text>
+<Text id="157-1">Language partitions use metadata to determine which documents are in the specified languages and therefore should be included in the partition. Greenstone generates "ex.Language" metadata for most documents, and this is the default metadata to use. However, this can be changed by setting <AutoText key="glidict::CDM.LanguageManager.LanguageMetadata"/> to the correct metadata element.</Text>
+<Text id="158">To add a new language partition, select one or more languages from the "Languages to add" list, and click "Add Partition".</Text>
+<Text id="158a">To change an existing partition, select it from the "Assigned Language Partitions" list, modify the selected languages in the "Languages to add" list below, and click "Replace Partition".</Text>
+<Text id="159">To remove a language partition, select it from the "Assigned Language Partitions" list and click "Remove Partition".</Text>
+<Text id="159a">The order that the language partitions are specified in the Assigned Language Partitions list is the order they appear in the drop down menu on the search page. Use the <AutoText key="glidict::CDM.Move.Move_Up"/> and <AutoText key="glidict::CDM.Move.Move_Down"/> buttons to change this ordering.</Text>
+<Text id="160">To set the default language partition, select it from the list and click "Set Default".</Text>
+<Text id="160a">The names used for the drop-down list of language partitions on the search page can be set in the <AutoText key="glidict::CDM.GUI.SearchMetadata"/> part of the <AutoText key="glidict::GUI.Format"/> panel (see <Reference target="searchmetadatasettings"/>).</Text>
+</Section>
+</Section>
+<Section name="classifiers">
+<Title>
+<Text id="166">Browsing Classifiers</Text>
+</Title>
+<Text id="167">This section explains how to assign "classifiers", which are used for browsing, to the collection.  Under the "Design" tab, click "Browsing Classifiers".</Text>
+<Text id="168">To add a classifier, select it using the "Select classifier to add" pull-down list near the bottom and then click "Add Classifier...".  A window appears entitled "Configuring Arguments"; instructions for this dialog are just the same as for plugins (see <Reference target="plugins"/>). Once you have configured the new classifier, it is added to the end of the "Assigned Classifiers" list.</Text>
+<Text id="168a">To see a short description of a classifier, select it in the "Select classifier to add" pull-down list, then hover the mouse over it. A tool-tip displaying the description will appear.</Text>
+<Text id="168b">Each classifier has several arguments that can be configured. Important arguments include "metadata", which specifies the metadata that documents will be classified on, and "buttonname", which is the name that will appear in the navigation bar.</Text>
+<Text id="169">To remove a classifier, select it from the list and click "Remove Classifier".</Text>
+<Text id="170">To change the arguments for a classifier, select it from the list and click "Configure Classifier" (or double-click on the classifier in the list).</Text>
+<Text id="171">The ordering of classifiers in the collection's navigation bar is reflected in their order here.  To change it, select the classifier you want to move and click <AutoText key="glidict::CDM.Move.Move_Up"/> or <AutoText key="glidict::CDM.Move.Move_Down"/>.</Text>
+<Text id="172">For further information on classifiers read Chapter 2, Greenstone Developer's Guide -- Getting the most out of your documents.</Text>
+</Section>
+</Section>
+<Section name="producingthecollection">
+<Title>
+<Text id="193">Producing Your Collection</Text>
+</Title>
+<Text id="194">Having collected the documents for the collection, annotated them with metadata, and designed how the collection will appear, you can now produce the collection using Greenstone.  This section explains how.</Text>
+<Section name="thecreateview">
+<Title>
+<Text id="195">The Create View</Text>
+</Title>
+<Text id="196">The Create view is used to create the collection by running Greenstone collection-building scripts on the information you have provided. Access the Create view by clicking the Create tab.</Text>
+<Text id="196a">Clicking "Build Collection" initiates the collection building process.  The time this takes depends on the size of the collection and the number of indexes being created (for huge collections it can be hours). A progress bar indicates how much of the process has been completed. To cancel the process at any time, click "Cancel Build". The lower part of the panel shows some output from the build process. The upper part shows some options for controlling the build process.</Text>
+<Text id="197">Once the collection has successfully built, clicking "Preview Collection" will launch a web browser showing the home page of the collection.</Text>
+</Section>
+<Section name="builderrors">
+<Title>
+<Text id="199a">Errors in collection building</Text>
+</Title>
+<Text id="199b">Sometimes things go wrong during collection building. Maybe some files couldn't be processed: the rest of the collection builds fine, and can be previewed, but some documents are absent. Or the whole collection is not built properly, in which case a message says <AutoText key="glidict::CollectionManager.Cannot_Create_Collection"/> When this happens, it may be helpful to switch the GLI into expert mode (File->Preferences->Mode, see <Reference target="preferences"/>), set the import and build "verbosity" options to 5, and rebuild, to see if there are any other error messages.</Text>
+</Section>
+<Section name="expertbuilding">
+<Title>
+<Text id="198a">Create view in Expert mode</Text>
+</Title>
+<Text id="198">In Expert mode, you can use the "Message Log" entry at the left to review previous attempts to build the collection, whether successful or not. Select the log you want by clicking on the desired date in the "Log History" list.</Text>
+<Text id="200a">In this mode, a full list of import and build options are shown in the Import and Build tabs to the left. The various settings are controlled just like the "Configuring Arguments" window described in the <Reference target="plugins"/> section.  Some fields require numeric arguments, and you can type these in or use the arrows to increase or decrease the current value (in some cases, the interface restricts the range you can enter).  Others are enabled by clicking a checkbox (click again to disable).</Text>
+<Text id="201a">For more information about importing and building read Chapter 1 of the Greenstone Developer's Guide -- Understanding the collection-building process.</Text>
+</Section>
+<Section name="scheduledbuilding">
+<Title>
+<Text id="sched-1">Scheduling collection Builds</Text>
+</Title>
+<Text id="sched-2">Scheduled collection building is available in Expert mode. Some configuration needs to be done before this will work; see http://wiki.greenstone.org/wiki/index.php/Scheduled_Collection_Building_from_the_Librarian_Interface for details. The <AutoText key="glidict::CreatePane.Schedule"/> tab on the left-hand side of the Create view shows a list of options controlling the scheduling process. The "schedule" option needs to be set for scheduling to be undertaken. The other options specifiy: the frequency of rebuild; whether to add a new schedule, update an existing one or delete the current schedule; and email details if you want email notification.</Text>
+</Section>
+</Section>
+<Section name="formattingacollection">
+<Title>
+<Text id="fc-1">Customizing Your Collection's Appearance</Text>
+</Title>
+<Text id="fc-2">Once you have built the collection, you next decide how it should appear to the user. What names should be used for the drop-down list of indexes in the search form? How should search results be displayed? What metadata should be displayed when a document is viewed? These can be customized; this section explains how to do it. </Text>
+<Section name="theformatview">
+<Title>
+<Text id="fc-3">The Format View</Text>
+</Title>
+<Text id="fc-4">This section introduces you to the Format view. </Text>
+<Text id="fc-5">With the Librarian Interface you can configure how the collection appears to the user. The configuration options are divided into sections, each associated with a different type of customization.</Text>
+<Text id="fc-6">On the left is a list of parameters and on the right are the control elements associated with each parameter. To edit a parameter, click its name in the list.</Text>
+<Text id="fc-7">Under the list of parameters is a "Preview Collection" button. Changes made in the Format view don't require a collection rebuild, so can be previewed straight away. However, the collection must have been built at least once to allow previewing.</Text>
+</Section>
+<Section name="generalsettings">
+<Title>
+<Text id="117">General</Text>
+</Title>
+<Text id="118">This section explains how to review and alter the general settings associated with your collection.  First, under the "Format" tab, click "General".</Text>
+<Text id="119">Here some collection wide metadata can be set or modified, including the title and description entered when starting a new collection.</Text>
+<Text id="120">First are the contact email addresses of the collection's creator and maintainer. The following field allows you to change the collection title. The folder that the collection is stored in is shown next, but this cannot be altered. Then comes the icon to show at the top left of the collection's "About" page (in the form of a URL), followed by the icon used in the Greenstone library page to link to the collection. Next is a checkbox that controls whether the collection should be publicly accessible. Finally comes the "Collection Description" text area as described in <Reference target="creatingacollection"/>.</Text>
+</Section>
+<Section name="searchmetadatasettings">
+<Title>
+<Text id="fc-s1">Search</Text>
+</Title>
+<Text id="fc-s2">This section explains how to set the display text for the drop down lists on the search page. Under the "Format" tab, click "Search".</Text>
+<Text id="fc-s3">This pane contains a table listing each search index, level, and partition. Here you can enter the text to be used for the names in the drop-down lists on the search page. This pane only allows you to set the text for one language, the current language used by GLI. To translate these names for other languages, use the "Translate Text" panel of the Format view (see <Reference target="translatetext"/>).</Text>
+</Section>
+<Section name="formatstatements">
+<Title>
+<Text id="173">Format Features</Text>
+</Title>
+<Text id="174">The web pages you see when using Greenstone are not pre-stored but are generated 'on the fly' as they are needed. Format commands are used to change the appearance of these generated pages. They affect such things as which buttons appear when a document is shown, and what links are displayed by the DateList classifier.  Format commands are not easy to develop, and you should read Chapter 2 of the Greenstone Developer's Guide. This section discusses the format settings, and how the Librarian Interface gives access to them.  Under the "Format" tab, click "Format Features".</Text>
+<Text id="175">You can apply a format command to anything in the "Choose Feature" pull-down list, which includes each classifier and a predefined list of features.  When you select a feature, there are two types of control.  Some features are simply enabled or disabled, and this is controlled by a checkbox.  Others require a format string to be specified.  For these there is a pull-down list ("Affected Component") for selecting which part of the feature the string applies to (if necessary), a text area ("HTML Format String") for entering the string, and a selection of predefined "Variables".  To insert a variable into a format string, position the cursor at the place to insert, then select the desired variable from the <AutoText key="glidict::CDM.FormatManager.Insert_Variable"/> combobox.</Text>
+<Text id="176">You can specify a default format for a particular component by selecting the "All Features" feature.  This format is then applied to all applicable features unless a more specific one is defined.</Text>
+<Text id="177">To add a new format command, select the applicable feature and component. The default value for this command will be displayed in grey. Click <AutoText key="glidict::CDM.FormatManager.Add"/> to assign it to the collection. The "HTML Format String" will become editable and you can change it if you wish. Only one format command can be assigned to each feature/component combination.</Text>
+<Text id="178">To remove a format command, select it from the list and click "Remove Format".</Text>
+<Text id="180">For more information about variables and the feature components, read Chapter 2 of the Greenstone Developer's Guide.</Text>
+</Section>
+<Section name="translatetext">
+<Title>
+<Text id="182">Translate Text</Text>
+</Title>
+<Text id="183">This section describes the translation pane, where you can translate text fragments for parts of the collection's interface into other languages. Under the "Format" tab, click "Translate Text".</Text>
+<Text id="184">First choose an entry from the "Features" list.  The language-specific strings associated with this feature appear below.  Use the "Language of translation" pull-down list to select the target language, and type the translated text into the text area, referring to the "Initial Text Fragment" if necessary.  Click "Add Translation" when finished.</Text>
+<Text id="185">To remove an existing translation, select it in the "Assigned Translations" table and click "Remove Translation".</Text>
+<Text id="186">To edit a translation, select it, edit the "Translated Text" area and click "Replace Translation".</Text>
+</Section>
+<Section name="xcollectionsearching">
+<Title>
+<Text id="161">Cross-Collection Search</Text>
+</Title>
+<Text id="162">Greenstone can search across several different collections as though they were one. This is done by specifying a list of other collections to be searched along with the current one.  Under the "Format" tab, click "Cross-Collection Search".</Text>
+<Text id="163">The Cross-Collection Search panel shows a checklist of available collections. The current collection is ticked and cannot be de-selected.  To add another collection to be searched in parallel, click it in the list (click again to remove it).  If only one collection is selected, there is no cross-collection searching.</Text>
+<Text id="164">If the individual collections do not have the same indexes (including sub-collection partitions and language partitions) as each other, cross-collection searching will not work properly. The user will only be able to search using indexes common to all collections.</Text>
+<Text id="165">For further details, see Chapter 1 of the Greenstone Developer's Guide.</Text>
+</Section>
+<Section name="collectionspecificmacros">
+<Title>
+<Text id="fc-m1">Collection Specific Macros</Text>
+</Title>
+<Text id="fc-m2">Under the "Format" tab, click "Collection Specific Macros".</Text> 
+<Text id="fc-m3">This pane shows the contents of the collection's extra.dm macro file. This is where collection specific macros can be defined. To learn more about macros, see Chapter 3 of the Greenstone Developer's Guide.</Text>
+</Section>
+<Section name="depositormetadatasettings">
+<Title>
+<Text id="dm-1">Depositor Metadata</Text>
+</Title>
+<Text id="dm-2">The Greenstone Depositor enables users to add new documents into an existing collection through a web interface. This section describes the Depositor Metadata pane, where you can specify which metadata fields should be used to describe the new documents added through Depositor. Any metadata sets that have been associated with the current collection will be available for selection. If there is no other metadata set than the "Greenstone Extracted Metadata Set" associated with the collection, the "Dublin Core Metadata Set" will be used as default. To learn more about the Depositor, see the online tutorial exercise at http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/depositor.htm. Under the "Format" tab, click "Depositor Metadata".</Text>
+<Text id="dm-3">The Depositor Metadata panel shows a checklist of available metadata fields. If there is more than one metadata set associated with the collection, neighbouring metadata sets are displayed in different colours. Hover the mouse over a metadata element: a tool-tip displaying its description will appear.</Text>
+<Text id="dm-4">Check those you want to be used to describe new documents when they are deposited through the Depositor. A drop-down list with two choices will appear beside each checked element. This allows you to specify the type of input box for the element in the web interface. "text" means that a single line input box will be used, whereas "textarea" means that a multi-line input box will be used. Select an appropriate box type for each field.</Text>
+<Text id="dm-5">At least one metadata element must be selected. If there is only one selected element in the list, de-selecting it will pop-up a warning message: <AutoText key="glidict::CDM.DepositorMetadataManager.Warning"/></Text>
+</Section>
+</Section>
+<Section name="miscellaneous">
+<Title>
+<Text id="202">Miscellaneous</Text>
+</Title>
+<Text id="203">This section describes features of the Librarian Interface that are not associated with any particular view.</Text>
+<Section name="preferences">
+<Title>
+<Text id="204">Preferences</Text>
+</Title>
+<Text id="205">This section explains the preferences dialog, accessed by opening "File" -> "Preferences".</Text>
+<Text id="206">The preferences window opens at the "General" tab. The first option is a text field for entering your e-mail address. This will be used for the "creator" and "maintainer" collection metadata items for new collections. The next option is a pull-down list of the languages in which the Librarian Interface can be presented. If you change the language by choosing one from the list, the Librarian Interface will restart itself in order to load the new language. A font specification text box is also supplied: a good setting for displaying Unicode is "Arial Unicode MS, BOLD, 14".</Text>
+<Text id="207">If "View Extracted Metadata" is checked, the various controls dealing with metadata always show all metadata that has been extracted automatically from documents.  De-selecting it hides this metadata (although it is still available during collection design, and within the final Greenstone collection). If "Show file sizes" is checked, the file size is shown next to each file in the Workspace and Collection file trees in the Gather and Enrich views.</Text>
+<Text id="208">The "Mode" tab is used to control the level of detail within the interface. At its lowest setting, "Library Assistant", the design and format views are disabled. The user can add/remove documents, add/edit metadata and rebuild the collection. The Create panel is in its simple form. The "Librarian" mode provides access to all of the features of design and format, with the simple form of the Create pane. "Expert" mode includes the full Create pane, and allows the full output from the collection building to be recorded in the logs. To change or review modes, click the radio button next to the mode you are interested in. You can see what mode you are in by looking at the Librarian Interface's title bar.</Text>
+<Text id="210">The "Connection" tab lets you alter the path to the locally-running Greenstone library server, which is used when Previewing collections. It also lets you set proxy information for connecting to the Internet (e.g. when downloading files; see the <Reference target="downloadingfiles"/> section for details). Check the box to enable proxy connection and supply details of the proxy host address and port number. The proxy connection is established when you close the Preferences dialog.</Text>
+<Text id="211">During the course of a session the Librarian Interface may give warning messages which inform you of possibly unforeseen consequences of an action.  You can disable the messages by checking the "Do not show this warning again" box. You can re-enable warning messages using the "Warnings" tab.  Check the boxes next to warning messages you want to see again.</Text>
+</Section>
+<Section name="fileassociations">
+<Title>
+<Text id="212">File Associations</Text>
+</Title>
+<Text id="213">The Librarian Interface uses particular application programs to open particular file types. To alter file associations open the "File" menu and click "File Associations...".</Text>
+<Text id="214">To add an association, select the target file extension from the pull-down list, or type in a new extension (do not include the ".").  Next either type the command that launches the desired application in the appropriate field, or choose the application from the "Browse" dialog.  "%1" can be used in the launch command to insert the name of the file being opened.  Once these are filled out, "Add" is enabled and can be clicked to add the association.</Text>
+<Text id="215">To edit an association, select an existing file extension.  Any existing associated command is shown in the "launch command" field.  Edit it, and then click "Replace".</Text>
+<Text id="216">To remove an association, select an existing file extension and click "Remove".</Text>
+<Text id="217">File associations are stored in the Librarian Interface's main folder, in a file called "associations.xml".</Text>
+</Section>
+<Section name="exporting">
+<Title>
+<Text id="exp-1">Exporting collections to other formats</Text>
+</Title>
+<Text id="exp-2">Greenstone can export the contents and/or metadata of a collection to several standard formats, including METS, DSpace and MARCXML.</Text>
+<Text id="exp-3">To export a collection, open the "File" menu and choose "Export...". You can choose which format to export to by selecting it in the "Export to" drop-down list. Specify a name for the directory where you want to put the exported files&mdash;the files will end up in &lt;path to greenstone&gt;/tmp/exported_xxx, where xxx is the name you specified. Select one collection in the list of available collections, then click "Export Collection".</Text>
+<Text id="exp-4">There are other options specific to the various formats. You can specify XSLT files which will be applied to the resulting XML document(s) in order to customize the output format. Exporting to MARCXML uses a mapping file to map Greenstone metadata to MARC fields. The default mapping file maps only Dublin Core metadata. You can specify a custom mapping file to be used instead.</Text>
+</Section>
+<Section name="exportingcollections">
+<Title>
+<Text id="218">Exporting Collections to CD/DVD</Text>
+</Title>
+<Text id="219">Greenstone can export one or more collections to a self-installing CD/DVD for Windows. </Text>
+<Text id="220">To export a collection, open the "File" menu and choose "Write CD/DVD Image". A list of Greenstone collections appears; click on any one to see its description. Tick the check boxes of the collections to export. You can enter the CD/DVD's name in the "CD/DVD name" box: this is what will appear in the Start menu when the CD/DVD has been installed. You can choose whether the resulting CD-ROM or DVD runs directly from the disk drive, or installs some files onto the computer. Then click "Write CD/DVD image". The process involves copying many files and may take a few minutes.</Text>
+<Text id="221">Upon completion, Greenstone will show the name of a folder containing the exported collections. Use a CD/DVD writer to copy its contents to a blank CD/DVD.</Text>
+</Section>
+</Section>
+</Document>
Index: main/tags/2.83/gli/help/en/help_index.xml
===================================================================
--- main/tags/2.83/gli/help/en/help_index.xml	(revision 21123)
+++ main/tags/2.83/gli/help/en/help_index.xml	(revision 21123)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Document><Section name="introduction"><Title>Introduction</Title><Section name="ofmiceandmenus"><Title>Of Mice and Menus</Title></Section><Section name="howtoavoidthisdocument"><Title>How to Avoid Reading This Document</Title></Section></Section><Section name="startingoff"><Title>Starting Off</Title><Section name="creatingacollection"><Title>Creating a New Collection</Title></Section><Section name="savingacollection"><Title>Saving the Collection</Title></Section><Section name="openingacollection"><Title>Opening an Existing Collection</Title></Section><Section name="deletingcollections"><Title>Deleting Collections</Title></Section></Section><Section name="downloadingfiles"><Title>Downloading Files from the Internet</Title><Section name="themirrorview"><Title>The Download view</Title></Section></Section><Section name="collectingfiles"><Title>Collecting Files for Your Collection</Title><Section name="thegatherview"><Title>The Gather View</Title></Section><Section name="creatingshortcuts"><Title>Creating A Shortcut in the Workspace Tree</Title></Section><Section name="creatingfolders"><Title>Creating Folders</Title></Section><Section name="addingfiles"><Title>Adding Files</Title></Section><Section name="replacingfiles"><Title>Renaming and Replacing Files</Title></Section><Section name="removingfiles"><Title>Removing Files</Title></Section><Section name="explodingfiles"><Title>"Exploding" Metadata Files</Title></Section><Section name="filteringthetree"><Title>Filtering the Trees</Title></Section></Section><Section name="enrichingacollection"><Title>Enriching Your Collection with Metadata</Title><Section name="theenrichview"><Title>The Enrich View</Title></Section><Section name="selectingmetadatasets"><Title>Selecting Metadata Sets</Title></Section><Section name="appendingmetadata"><Title>Appending New Metadata</Title></Section><Section name="addingpreviouslydefinedmetadata"><Title>Adding Previously Defined Metadata</Title></Section><Section name="updatingmetadata"><Title>Editing or Removing Metadata</Title></Section><Section name="reviewingmetadata"><Title>Reviewing Assigned Metadata</Title></Section><Section name="importingpreviouslyassignedmetadata"><Title>Importing Previously Assigned Metadata</Title></Section></Section><Section name="designingacollection"><Title>Configuring Your Collection</Title><Section name="thedesignview"><Title>The Design View</Title></Section><Section name="plugins"><Title>Document Plugins</Title></Section><Section name="searchindexes"><Title>Search Indexes</Title><Section name="searchindexoptions"><Title>Search Index Options</Title></Section></Section><Section name="partitionindexes"><Title>Partition Indexes</Title><Section name="definefilters"><Title>Define Filters</Title></Section><Section name="assignpartitions"><Title>Assign Partitions</Title></Section><Section name="assignlanguages"><Title>Assign Languages</Title></Section></Section><Section name="classifiers"><Title>Browsing Classifiers</Title></Section></Section><Section name="producingthecollection"><Title>Producing Your Collection</Title><Section name="thecreateview"><Title>The Create View</Title></Section><Section name="builderrors"><Title>Errors in collection building</Title></Section><Section name="expertbuilding"><Title>Create view in Expert mode</Title></Section><Section name="scheduledbuilding"><Title>Scheduling collection Builds</Title></Section></Section><Section name="formattingacollection"><Title>Customizing Your Collection's Appearance</Title><Section name="theformatview"><Title>The Format View</Title></Section><Section name="generalsettings"><Title>General</Title></Section><Section name="searchmetadatasettings"><Title>Search</Title></Section><Section name="formatstatements"><Title>Format Features</Title></Section><Section name="translatetext"><Title>Translate Text</Title></Section><Section name="xcollectionsearching"><Title>Cross-Collection Search</Title></Section><Section name="collectionspecificmacros"><Title>Collection Specific Macros</Title></Section><Section name="depositormetadatasettings"><Title>Depositor Metadata</Title></Section></Section><Section name="miscellaneous"><Title>Miscellaneous</Title><Section name="preferences"><Title>Preferences</Title></Section><Section name="fileassociations"><Title>File Associations</Title></Section><Section name="exporting"><Title>Exporting collections to other formats</Title></Section><Section name="exportingcollections"><Title>Exporting Collections to CD/DVD</Title></Section></Section></Document>
Index: main/tags/2.83/gli/help/en/howtoavoidthisdocument.htm
===================================================================
--- main/tags/2.83/gli/help/en/howtoavoidthisdocument.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/howtoavoidthisdocument.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="howtoavoidthisdocument"><font size="5" face="Verdana"><strong>1.2: How to Avoid Reading This Document</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Don't read this help text all the way through!  Just read enough to learn how to get help when you need it.</p>
+
+<p>Clicking on the "Help" icon in a given context either brings up the relevant help text or marks the relevant help heading with a question mark icon.</p>
+
+<p>For many controls, if you station the mouse over them a "tool tip" appears that says what they do.</p>
+
+<p>Before using the Librarian Interface, first read the Greenstone documentation.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/importingpreviouslyassignedmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/en/importingpreviouslyassignedmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/importingpreviouslyassignedmetadata.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="importingpreviouslyassignedmetadata"><font size="5" face="Verdana"><strong>5.7: Importing Previously Assigned Metadata</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>This section describes how to import previously assigned metadata: metadata assigned to documents before they were added to the collection.</p>
+
+<p>If metadata in a form recognized by the Librarian Interface has been previously assigned to a file -- for example, when you choose documents from an existing Greenstone collection -- it is imported automatically when you add the file. To do this, the metadata must be mapped to the metadata sets available in the collection.</p>
+
+<p>The Librarian Interface prompts for the necessary information.  The prompt gives brief instructions and then shows the name of the metadata element that is being imported, just as it appears in the source file.  This field cannot be edited or changed.  Next you choose what metadata set the new element should map to, and then the appropriate metadata element in that set.  The system automatically selects the closest match, in terms of set and element, for the new metadata.</p>
+
+<p>Having checked the mapping, you can choose "Add" to add the new metadata element to the chosen metadata set.  (This is only enabled if there is no element of the same name within the chosen set.) "Merge" maps the new element to the one chosen by the user.  Finally, "Ignore" does not import any metadata with this element name.  Once you have specified how to import a certain piece of metadata, the mapping information is retained for the collection's lifetime.</p>
+
+<p>For details on the metadata.xml files which Greenstone uses to store the metadata, see Chapter 2 of the Greenstone Developer's Guide -- Getting the most out of your documents.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/introduction.htm
===================================================================
--- main/tags/2.83/gli/help/en/introduction.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/introduction.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="introduction"><font size="5" face="Verdana"><strong>1: Introduction</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>The Greenstone Librarian Interface is a tool for collecting documents, adding metadata, then building digital library collections. It provides access to the Greenstone Digital Library Software's functionality from a graphical point and click interface.</p>
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/miscellaneous.htm
===================================================================
--- main/tags/2.83/gli/help/en/miscellaneous.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/miscellaneous.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="miscellaneous"><font size="5" face="Verdana"><strong>9: Miscellaneous</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>This section describes features of the Librarian Interface that are not associated with any particular view.</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/ofmiceandmenus.htm
===================================================================
--- main/tags/2.83/gli/help/en/ofmiceandmenus.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/ofmiceandmenus.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="ofmiceandmenus"><font size="5" face="Verdana"><strong>1.1: Of Mice and Menus</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>This section provides basic information about interacting with the Librarian Interface. If you are familiar with programs such as Internet Explorer or Microsoft Office and are comfortable with mouse clicks and menus, skip to <a href="howtoavoidthisdocument.htm">How to Avoid Reading This Document</a>.</p>
+
+<p>The Librarian Interface follows Microsoft Windows conventions and draws upon ordinary knowledge of Windows.</p>
+
+<p>Any part of the screen that you interact with, such as a button or text field, is called a "control".  At any given time one control, called the "focus", is highlighted and responds to the keyboard.  Several controls allow you to select parts that are highlighted in dark blue.  Some controls are greyed out to indicate that they are disabled.</p>
+
+<p>You can move and left- or right-click the mouse in the usual way.  Many components also allow you to "drag" them, by clicking and holding the left mouse button, move them with the mouse, and "drop" them elsewhere by releasing the button.  Potential drop targets alter their appearance when a component hovers over them.</p>
+
+<p>You can use the keyboard to type into text fields. [Tab] enables one to navigate among multiple text fields.</p>
+
+<p>Exit the Librarian Interface program by choosing "Exit" from the "File" menu.  Your collection will be saved first.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/openingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/en/openingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/openingacollection.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="openingacollection"><font size="5" face="Verdana"><strong>2.3: Opening an Existing Collection</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>To open an existing collection, choose "Open" from the "File" menu to get the Open Collection prompt.  A list of your Greenstone collections appears. Select one to see its description, and click "Open" to load it.</p>
+
+<p>In case more than one Greenstone Librarian Interface program is running concurrently, the relevant directories are "locked" to prevent interference. On opening a collection, a small temporary lock file is created in its folder.  Before opening a collection, the Librarian Interface checks to ensure that no lock file already exists.  However, when the Librarian Interface is exited prematurely the lock file is sometimes left in place.  When you open such a collection, the Librarian asks if you want to "steal" control of it. Feel free to do so unless you think that someone else is currently working on the same collection.</p>
+
+<p>When you open a collection that the Greenstone Librarian Interface did not create, the Dublin Core metadata set will be assigned to it, and any existing metadata will be imported just as it is when you drag in files with existing metadata. The process is described in the <a href="importingpreviouslyassignedmetadata.htm">Importing Previously Assigned Metadata</a> section. </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/partitionindexes.htm
===================================================================
--- main/tags/2.83/gli/help/en/partitionindexes.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/partitionindexes.htm	(revision 21123)
@@ -0,0 +1,24 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="partitionindexes"><font size="5" face="Verdana"><strong>6.4: Partition Indexes</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Indexes are built on particular text or metadata sources.  The search space can be further controlled by partitioning the indexes, either by language or by a predetermined filter.  This section describes how to do this.  Under the "Design" tab, click "Partition Indexes".</p>
+
+<p>The "Partition Indexes" view has three tabs; "Define Filters", "Assign Partitions" and "Assign Languages".  To learn more about partitions read about sub-collections and sub-indexes in Chapter 2 of the Greenstone Developer's Guide.</p>
+
+<p>Note that for MG collections, the total number of partitions generated is a combination of all indexes, sub-collection filters and languages chosen. Two indexes with two sub-collection filters in two languages would yield eight index partitions. For MGPP, all indexes are created in one physical index, so there would only be four index partitions. For Lucene, the number of physical indexes is determined by the number of levels assigned to the collection, one index per level. So for the above situation, one level would result in four physical indexes, while two levels would result in eight.</p>
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/plugins.htm
===================================================================
--- main/tags/2.83/gli/help/en/plugins.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/plugins.htm	(revision 21123)
@@ -0,0 +1,31 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="plugins"><font size="5" face="Verdana"><strong>6.2: Document Plugins</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>This section describes how to configure the document plugins the collection uses.  It explains how you specify what plugins to use, what parameters to pass to them, and in what order they occur.  Under the "Design" tab, click "Document Plugins".</p>
+
+<p>To add a plugin, select it using the "Select plugin to add" pull-down list near the bottom and then click "Add Plugin".  A window appears entitled "Configuring Arguments"; it is described later.  Once you have configured the new plugin, it is added to the end of the "Assigned Plugins" list. Generally, you would only have one instance of each plugin. However, you can add the same plugin more than once; in that case, the multiple instances would normally be configured differently to provide a useful result (for example by setting the process_exp argument, see http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/enhanced_pdf.htm ).</p>
+
+<p>To see a short description of a plugin, select it in the "Select plugin to add" pull-down list, then hover the mouse over it. A tool-tip displaying the description will appear.</p>
+
+<p>To remove a plugin, select it in the list and click "Remove Plugin".</p>
+
+<p>Plugins are configured by providing arguments.  To alter them, select the plugin from the list and click "Configure Plugin" (or double-click the plugin). A "Configuring Arguments" dialog appears with various controls for specifying arguments.</p>
+
+<p>There are different kinds of controls.  Some are checkboxes, and clicking one adds the appropriate option to the plugin.  Others are text strings, with a checkbox and a text field.  Click the box to enable the argument, then type appropriate text (regular expression, file path etc) in the box.  Others are pull-down menus from which you can select from a given set of values.  To learn what an argument does, let the mouse hover over its name for a moment and a description will appear.</p>
+
+<p>When you have changed the configuration, click "OK" to commit the changes and close the dialog, or "Cancel" to close the dialog without changing any plugin arguments.</p>
+
+<p>The plugins in the list are executed in order, and the ordering is sometimes important. Select a plugin in the list and use the "Move Up" and "Move Down" buttons to change its place in the list.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/preferences.htm
===================================================================
--- main/tags/2.83/gli/help/en/preferences.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/preferences.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="preferences"><font size="5" face="Verdana"><strong>9.1: Preferences</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>This section explains the preferences dialog, accessed by opening "File" -&gt; "Preferences".</p>
+
+<p>The preferences window opens at the "General" tab. The first option is a text field for entering your e-mail address. This will be used for the "creator" and "maintainer" collection metadata items for new collections. The next option is a pull-down list of the languages in which the Librarian Interface can be presented. If you change the language by choosing one from the list, the Librarian Interface will restart itself in order to load the new language. A font specification text box is also supplied: a good setting for displaying Unicode is "Arial Unicode MS, BOLD, 14".</p>
+
+<p>If "View Extracted Metadata" is checked, the various controls dealing with metadata always show all metadata that has been extracted automatically from documents.  De-selecting it hides this metadata (although it is still available during collection design, and within the final Greenstone collection). If "Show file sizes" is checked, the file size is shown next to each file in the Workspace and Collection file trees in the Gather and Enrich views.</p>
+
+<p>The "Mode" tab is used to control the level of detail within the interface. At its lowest setting, "Library Assistant", the design and format views are disabled. The user can add/remove documents, add/edit metadata and rebuild the collection. The Create panel is in its simple form. The "Librarian" mode provides access to all of the features of design and format, with the simple form of the Create pane. "Expert" mode includes the full Create pane, and allows the full output from the collection building to be recorded in the logs. To change or review modes, click the radio button next to the mode you are interested in. You can see what mode you are in by looking at the Librarian Interface's title bar.</p>
+
+<p>The "Connection" tab lets you alter the path to the locally-running Greenstone library server, which is used when Previewing collections. It also lets you set proxy information for connecting to the Internet (e.g. when downloading files; see the <a href="downloadingfiles.htm">Downloading Files from the Internet</a> section for details). Check the box to enable proxy connection and supply details of the proxy host address and port number. The proxy connection is established when you close the Preferences dialog.</p>
+
+<p>During the course of a session the Librarian Interface may give warning messages which inform you of possibly unforeseen consequences of an action.  You can disable the messages by checking the "Do not show this warning again" box. You can re-enable warning messages using the "Warnings" tab.  Check the boxes next to warning messages you want to see again.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/producingthecollection.htm
===================================================================
--- main/tags/2.83/gli/help/en/producingthecollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/producingthecollection.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="producingthecollection"><font size="5" face="Verdana"><strong>7: Producing Your Collection</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Having collected the documents for the collection, annotated them with metadata, and designed how the collection will appear, you can now produce the collection using Greenstone.  This section explains how.</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/removingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/en/removingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/removingfiles.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="removingfiles"><font size="5" face="Verdana"><strong>4.6: Removing Files</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>There are several methods for removing files and folders.  You must first indicate what items to remove by selecting one or more files and folders as described in <a href="thegatherview.htm">The Gather View</a>.</p>
+
+<p>Once files have been selected, click the "delete" button to remove them, or press the [Delete] key on your keyboard, or drag them from the collection to the delete button and drop them there.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/replacingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/en/replacingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/replacingfiles.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="replacingfiles"><font size="5" face="Verdana"><strong>4.5: Renaming and Replacing Files</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Files can be renamed by right-clicking them and selecting "Rename" from the list. Enter the new name at the prompt and click "OK".</p>
+
+<p>Files can be replaced in the collection by right-clicking the file to replace and choosing "Replace". A file browser will open up: navigate to the new document and click "Open". The new document will replace the old one in the collection, and any metadata will be transferred to it. This is particularly useful for replacing dummy documents by their real ones.</p>
+
+<p>Some file types are converted to HTML by third-party software during import, for example, Word, Excel, PDF etc. The HTML produced during import may not be very well formatted. These documents have a further right-click option: "Replace with HTML version". Selecting this option will replace the original file in the collection with the HTML version, which can then be edited.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/reviewingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/en/reviewingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/reviewingmetadata.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="reviewingmetadata"><font size="5" face="Verdana"><strong>5.6: Reviewing Assigned Metadata</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Sometimes you need to see the metadata assigned to many files at once -- for instance, to determine how many files are left to work on, or to get some idea of the spread of dates.</p>
+
+<p>Select the files in the Collection Tree you wish to examine, then right-click and choose "Assigned Metadata...". A window called "All Metadata", dominated by a large table with many columns, appears.  The first column shows file names; the rows show all metadata values assigned to those files.</p>
+
+<p>Drawing the table can take some time if many files are selected.  You can continue to use the Librarian Interface while the "All Metadata" window is open.</p>
+
+<p>When it gets too large, you can filter the "All Metadata" table by applying filters to the columns.  As new filters are added, only those rows that match them remain visible.  To set, modify or clear a filter, click on the "funnel" icon at the top of a column.  You are prompted for information about the filter. Once a filter is set, the column header changes colour.</p>
+
+<p>The filter prompt has a "Simple" and an "Advanced" tab.  The Simple version filters columns so that they only show rows that contain a certain metadata value ("*" matches all values).  You can select metadata values from the pull-down list. The Advanced version allows different matching operations: must start with, does not contain, alphabetically less than and is equal to.  The value to be matched can be edited to be any string (including "*"), and you can choose whether the matching should be case insensitive.  Finally, you can specify a second matching condition that you can use to specify a range of values (by selecting AND) or alternative values (by selecting OR).  Below this area is a box that allows you to change the sort order (ascending or descending).  Once you have finished, click "Set Filter" to apply the new filter to the column. Click "Clear Filter" to remove a current filter.  Note that the filter details are retained even when the filter is cleared.</p>
+
+<p>For example, to sort the "All Metadata" table, choose a column, select the default filter setting (a Simple filter on "*"), and choose ascending or descending ordering.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/savingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/en/savingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/savingacollection.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="savingacollection"><font size="5" face="Verdana"><strong>2.2: Saving the Collection</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Save your work regularly by opening the "File" menu and choosing "Save". Saving a collection is not the same as making it ready for use in Greenstone (see <a href="producingthecollection.htm">Producing Your Collection</a>).</p>
+
+<p>The Librarian Interface protects your work by saving it whenever you exit the program or load another collection.</p>
+
+<p>Collections are saved to a folder within your Greenstone installation's "collect" folder, named with a short version of the collection name. Documents are saved to the "import" sub-folder, and metadata is saved to "metadata.xml" files within this folder. Configuration information is saved to the "collect.cfg" file within the "etc" sub-folder. Some information is also saved in a file named for the collection and with file extension ".col".</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/scheduledbuilding.htm
===================================================================
--- main/tags/2.83/gli/help/en/scheduledbuilding.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/scheduledbuilding.htm	(revision 21123)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="scheduledbuilding"><font size="5" face="Verdana"><strong>7.4: Scheduling collection Builds</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Scheduled collection building is available in Expert mode. Some configuration needs to be done before this will work; see http://wiki.greenstone.org/wiki/index.php/Scheduled_Collection_Building_from_the_Librarian_Interface for details. The "Schedule Options" tab on the left-hand side of the Create view shows a list of options controlling the scheduling process. The "schedule" option needs to be set for scheduling to be undertaken. The other options specifiy: the frequency of rebuild; whether to add a new schedule, update an existing one or delete the current schedule; and email details if you want email notification.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/searchindexes.htm
===================================================================
--- main/tags/2.83/gli/help/en/searchindexes.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/searchindexes.htm	(revision 21123)
@@ -0,0 +1,42 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchindexes"><font size="5" face="Verdana"><strong>6.3: Search Indexes</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Indexes specify what parts of the collection are searchable.  This section explains how to add and remove indexes, and set a default index.  Under the "Design" tab, click "Search Indexes".</p>
+
+<p>The top right of the "Search Indexes" panel displays information about which indexer is currently being used by the collection. This can be changed by clicking "Change...". A popup window appears with the list of options: MG, MGPP, and Lucene. Changing this affects how the indexes are built, and may affect search functionality.</p>
+
+<p>The "Assigned Indexes" list shows what indexes are currently assigned to the collection. </p>
+
+<p>To add an index, click "New Index"... A popup window appears with a list of sources, which includes text and metadata. Select which sources you want to index. The "Select All" and "Select None" buttons will check or uncheck all of the items in the list, respectively. Once a new index has been defined, click "Add Index" to add it to the collection. "Add Index" will only become active once the settings describe a new index that is not already assigned to the collection. </p>
+
+<p>For MG indexes, you also need to choose the granularity of the index, using the "Indexing level:" menu. </p>
+
+<p>For MGPP and Lucene indexes, index granularity is determined globally, not per index. The possible levels are displayed on the main "Search Indexes" pane, and can be added to the collection by ticking the checkboxes.</p>
+
+<p>A special index is available for MGPP and Lucene: an "allfields" index which merely provides combined searching over all specified indexes, without having to specify a separate index that contains all sources. To add this index, check the "Add combined searching over all assigned indexes (allfields)" check box and click "Add Index".</p>
+
+<p>For MGPP and Lucene, an "Add All" button is also provided, as a shortcut to adding all metadata and text sources as individual indexes.</p>
+
+<p>To edit an index, select it and click "Edit Index". A similar dialog to the "New Index" one is shown. </p>
+
+<p>To remove an index, select it from the list of Assigned indexes and click "Remove Index".</p>
+
+<p>The order in which the indexes are specified in the Assigned Indexes list is the order they appear in the drop down menu on the search page. Use the "Move Up" and "Move Down" buttons to change this ordering.</p>
+
+<p>The one that is selected by default on the search page is called the "default index". This can be set by selecting an index from the list and clicking "Set Default". The default index is tagged with "[Default Index]" in the "Assigned Indexes" list. If no default index is set, the first one in the list will be used as the default.</p>
+
+<p>The names used for the drop-down list of indexes on the search page can be set in the "Search" panel of the "Format" view (see <a href="searchmetadatasettings.htm">Search</a>).</p>
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/searchindexoptions.htm
===================================================================
--- main/tags/2.83/gli/help/en/searchindexoptions.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/searchindexoptions.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchindexoptions"><font size="5" face="Verdana"><strong>6.3.1: Search Index Options</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>There are some additional options controlling how the indexes are built. These may not be available for a particular index, in which case will be greyed out.</p>
+
+<p>Stemming and case-folding may be enabled or disabled for MG and MGPP indexes. If enabled, stemmed and case-folded indexes will be created, and the user will have the option of searching with case folding and stemming on or off. If disabled, searching will be case-sensitive and unstemmed, and the options will not be displayed on the preferences page of the collection.</p>
+
+<p>Accent-folding is available for MGPP indexes. This works in a similar way to case-folding, but instead of lower and upper case letters matching, letters with diacritics match those without. A Lucene index is always accent-folded; no option to switch this on and off will be displayed to the user on the collection's preferences page.</p>
+
+<p>Chinese, Japanese and Korean text is often not segmented into individual words. As indexing relies on word breaks being present in the text, this results in an unsearchable index. Setting the "CJK Text Segmentation" option will add spaces between each Chinese/Japanese/Korean character in the text and in search terms, so that character level searching is carried out.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/searchmetadatasettings.htm
===================================================================
--- main/tags/2.83/gli/help/en/searchmetadatasettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/searchmetadatasettings.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchmetadatasettings"><font size="5" face="Verdana"><strong>8.3: Search</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>This section explains how to set the display text for the drop down lists on the search page. Under the "Format" tab, click "Search".</p>
+
+<p>This pane contains a table listing each search index, level, and partition. Here you can enter the text to be used for the names in the drop-down lists on the search page. This pane only allows you to set the text for one language, the current language used by GLI. To translate these names for other languages, use the "Translate Text" panel of the Format view (see <a href="translatetext.htm">Translate Text</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/selectingmetadatasets.htm
===================================================================
--- main/tags/2.83/gli/help/en/selectingmetadatasets.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/selectingmetadatasets.htm	(revision 21123)
@@ -0,0 +1,35 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="selectingmetadatasets"><font size="5" face="Verdana"><strong>5.2: Selecting Metadata Sets</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Sets of predefined metadata elements are known as "metadata sets".  An example is the Dublin Core metadata set.  When you add a metadata set to your collection, its elements become available for selection.  You can have more than one set; to prevent name clashes a short identifier that identifies the metadata set is pre-pended to the element name.  For instance the Dublin Core element Creator becomes "dc.Creator".  Metadata sets are stored in the Librarian Interface's metadata folder and have the suffix ".mds".</p> 
+
+<p>When you create a new collection, the Dublin Core metadata set is added by default. You can change which metadata sets are used in a collection by clicking the "Manage Metadata Sets..." button underneath the Collection Tree in the Enrich view. This brings up a new window for managing the collection's metadata sets.</p>
+
+<p>The "Assigned Metadata Sets" list shows you what sets are currently used by the collection.</p>
+
+<p>To use another metadata set with the loaded collection, click "Add...". A popup window shows you the default metadata sets that GLI knows about. To add one of these, select it from the list and click "Add". If you have defined your own metadata set, you can use the "Browse" button to locate the file on your file system.</p>
+
+<p>To create a new metadata set, click "New...". This will launch the Greenstone Editor for Metadata Sets, GEMS. An initial popup window prompts you for the set name, namespace and description. You can also choose to base the new set on an existing one, in which case it will inherit all the elements from the specified set. Click OK. The main window shows the elements of metadata set on the left hand side, and some attributes for the set on the right hand side. If you have based the set on an existing one, one or more elements will be displayed. Clicking one displays attributes of the element in the right hand side.</p>
+
+<p>To add a new element, right click on the name of the set and choose "Add Element". To add a new subelement, right click on the element and choose "Add Subelement". Elements and subelements can be deleted by choosing "Delete (Sub)element" from the right click menu. </p>
+
+<p>Note: the Greenstone Editor for Metadata Sets can be run independently of GLI by selecting it from the Greenstone folder in the Start menu, or by running gems.sh or gems.bat in the gli folder of your Greenstone installation.</p>
+
+<p>Sometimes two metadata sets may have the same namespace, for example, Dublin Core and Qualified Dublin Core both use the namespace "dc". Such sets cannot be used in the collection at the same time. If you try to add a set with a namespace already used by the collection, a warning will be shown. If you go ahead, the existing set will be removed and the new one added. Any assigned metadata values will be transferred to the new set providing those elements still exist.</p>
+
+<p>With GEMS you can edit existing metadata sets as well as create new ones. Clicking the "Edit" button launches GEMS with the specified metadata set open. Once you have finished editing the set (as described above), save it (File-&gt;Save) and close GEMS.</p>
+
+<p>If a collection no longer needs a metadata set, select it and press "Remove". If you have assigned any metadata to its elements you will be asked how to deal with this metadata when you next open the collection.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/startingoff.htm
===================================================================
--- main/tags/2.83/gli/help/en/startingoff.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/startingoff.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="startingoff"><font size="5" face="Verdana"><strong>2: Starting Off</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>This section covers how to create, load, save and delete collections.</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/thecreateview.htm
===================================================================
--- main/tags/2.83/gli/help/en/thecreateview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/thecreateview.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thecreateview"><font size="5" face="Verdana"><strong>7.1: The Create View</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>The Create view is used to create the collection by running Greenstone collection-building scripts on the information you have provided. Access the Create view by clicking the Create tab.</p>
+
+<p>Clicking "Build Collection" initiates the collection building process.  The time this takes depends on the size of the collection and the number of indexes being created (for huge collections it can be hours). A progress bar indicates how much of the process has been completed. To cancel the process at any time, click "Cancel Build". The lower part of the panel shows some output from the build process. The upper part shows some options for controlling the build process.</p>
+
+<p>Once the collection has successfully built, clicking "Preview Collection" will launch a web browser showing the home page of the collection.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/thedesignview.htm
===================================================================
--- main/tags/2.83/gli/help/en/thedesignview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/thedesignview.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thedesignview"><font size="5" face="Verdana"><strong>6.1: The Design View</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>This section introduces you to the design view and explains how to navigate between the various views within this pane.</p>
+
+<p>With the Librarian Interface, you can configure how the documents are processed, and how the collection is accessed by the user.  The configuration options are divided into different sections, each associated with a particular stage of collection customization.</p>
+
+<p>On the left is a list of different views, and on the right are the controls associated with the current one.  To change to a different view, click its name in the list.</p>
+
+<p>To understand the stages and terms involved in designing a collection, first read Chapters 1 and 2 of the Greenstone Developer's Guide.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/theenrichview.htm
===================================================================
--- main/tags/2.83/gli/help/en/theenrichview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/theenrichview.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="theenrichview"><font size="5" face="Verdana"><strong>5.1: The Enrich View</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Use the "Enrich" view to assign metadata to the documents in the collection. Metadata is data about data -- typically title, author, creation date, and so on.  Each metadata item has two parts: "Element" tells what kind of item it is (such as author), and "Value" gives the value of that metadata element (such as the author's name).</p>
+
+<p>On the left of the "Enrich" view is the Collection Tree. All the right-click functionality that was available for the Collection Tree in the "Gather" view is available here too. To the right is the Metadata Table, which shows metadata for any selected files or folders in the Collection Tree.  Columns are named in black at the top, and can be resized by dragging the separating line. If several files or folders are selected, black text indicates that the value is common to all of the selected items, while grey text indicates that it is not. Editing grey values will only affect those documents with that metadata. Any new metadata values entered will be added to all selected items.</p>
+
+<p>A folder icon may appear beside some metadata entries.  This indicates that the values are inherited from a parent (or ancestor) folder.  Inherited metadata cannot be edited or removed, only appended to.  Click on the folder icon to go immediately to the folder where the metadata is assigned.</p>
+
+<p>Clicking on a metadata element in the table will display the existing values for that element in the "Existing values for ..." area below the table. This "Value Tree" expands and collapses.  Usually it is a list that shows all values entered previously for the selected element.  Clicking an entry automatically places it into the value field.  Conversely, typing in the value field selects the Value Tree entry that starts with the characters you have typed.  Pressing [Tab] auto-completes the typing with the selected value.</p>
+
+<p>Metadata values can be organized into a hierarchy. This is shown in the Value Tree using folders for internal levels. Hierarchical values can be entered using the character "|" to separate the levels. For example, "Cards|Red|Diamonds|Seven" might be used in a hierarchy that represents a pack of playing cards. This enables values to be grouped together. Groups can also be assigned as metadata to files.</p>
+
+<p>Greenstone extracts metadata automatically from documents into a metadata set whose elements are prefixed by "ex.".  This has no value tree and cannot be edited. </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/theformatview.htm
===================================================================
--- main/tags/2.83/gli/help/en/theformatview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/theformatview.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="theformatview"><font size="5" face="Verdana"><strong>8.1: The Format View</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>This section introduces you to the Format view. </p>
+
+<p>With the Librarian Interface you can configure how the collection appears to the user. The configuration options are divided into sections, each associated with a different type of customization.</p>
+
+<p>On the left is a list of parameters and on the right are the control elements associated with each parameter. To edit a parameter, click its name in the list.</p>
+
+<p>Under the list of parameters is a "Preview Collection" button. Changes made in the Format view don't require a collection rebuild, so can be previewed straight away. However, the collection must have been built at least once to allow previewing.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/thegatherview.htm
===================================================================
--- main/tags/2.83/gli/help/en/thegatherview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/thegatherview.htm	(revision 21123)
@@ -0,0 +1,33 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thegatherview"><font size="5" face="Verdana"><strong>4.1: The Gather View</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>This section introduces the Gather area that you use to select what files to include in the collection you are building. The Librarian Interface starts with the Gather view.  To return to this view later, click the "Gather" tab directly below the menu bar.</p>
+
+<p>The two large areas titled "Workspace" and "Collection" are used to move files into your collection.  They contain "file trees" that represent files and folders.</p>
+
+<p>Select an item in the tree by clicking it.  (There are other ways; see below.) Double-click a folder, or single-click the switch symbol beside it, to expand (or collapse) its contents.  Double-click a file (or right-click and select "Open in external program") to open it using its associated application program (see <a href="fileassociations.htm">File Associations</a>).</p>
+
+<p>The Workspace file tree shows the sources of data available to the Librarian Interface -- the local file system (including disk and CD-ROM drives), the contents of existing Greenstone collections, and the cache of downloaded files. You can copy and view these files but you cannot move, delete, or edit them, with the exception of the downloaded files, which can be deleted.  Navigate this space to find the files you want to include in the collection.</p>
+
+<p>The Collection file tree represents the contents of the collection so far.  Initially, it is empty.</p>
+
+<p>You can resize the spaces by mousing over the grey bar that separates the trees (the shape of the pointer changes) and dragging.</p>
+
+<p>At the bottom of the window is a status area that shows the progress of actions involving files (copying, moving and deleting). These can take some time to complete. The "Stop" button stops any action that is currently in progress. </p>
+
+<p>Two large buttons occupy the lower right corner of the screen. "New Folder", with a picture of a folder, creates new folders (see <a href="creatingfolders.htm">Creating Folders</a>). "Delete", with a garbage can, removes files. Clicking the Delete button will remove any selected files from the Collection file tree. Alternatively, files can be deleted by dragging them onto the Delete button. </p>
+
+<p>To select several sequential items, select the first and then hold down [Shift] and click on the last -- the selection will encompass all intervening items.  Select non-sequential files by holding down [Ctrl] while clicking.  Use these two methods together to select groups of non-adjacent items.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/themirrorview.htm
===================================================================
--- main/tags/2.83/gli/help/en/themirrorview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/themirrorview.htm	(revision 21123)
@@ -0,0 +1,44 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="themirrorview"><font size="5" face="Verdana"><strong>3.1: The Download view</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>This section describes how to configure a download task and control the downloading process. Access the "Download" view by clicking its tab. The top half of the screen shows the downloading controls. The bottom half is initially empty, but will show a list of pending and completed download jobs. </p>
+
+<p>There are several protocols that can be used for downloading records, and these are listed on the left hand side at the top.</p>
+
+<p>
+<b>Web:</b> downloads web pages and files via HTTP and FTP.</p>
+
+<p>
+<b>MediaWiki:</b> downloads web pages and files via HTTP from a MediaWiki website.</p>
+
+<p>
+<b>OAI:</b> downloads metadata records (and optionally documents) from an OAI-PMH (Open Archives Initiative) server.</p>
+
+<p>
+<b>Z39.50:</b> downloads MARC records that match a particular search criterion from a Z39.50 server.</p>
+
+<p>
+<b>SRW:</b> downloads MARCXML records that match a particular search criterion from an SRW server.</p>
+
+<p>Select the appropriate protocol by clicking it in the left hand list. The right-hand side displays the options available for the selected download protocol. To find out what an option does, hover the mouse over it: a tool-tip explaining the option will appear. Some options are 'optional': these are presented with a check box which must be ticked on for the option to be used. Others are 'required': these have no check box, and a value must be given before the download is carried out. </p>
+
+<p>Once the configuration is set up, click "Server Information" to check the connection to the server and view some basic information about the web page or server, or click "Download" to start the download. </p>
+
+<p>There are two other buttons: "Configure Proxy...", which links to the connection section of the Preferences where proxy settings can be edited; and "Clear Cache", which deletes all previously downloaded files. You will need to set up proxy information if you use a proxy server to connect to the Internet. If authentication is needed when a download is being processed, the proxy server will prompt for username and password.  The Librarian Interface does not store passwords between sessions.</p>
+
+<p>Files are downloaded into a folder called "Downloaded Files" (only present when downloading is enabled), and can be used in any collections.  Files are named by their full web URL (for Web and MediaWiki downloads) or a combination of URL and option values (for other download types). A new folder is created for each host, followed by others for each part of the path. This ensures that each file is distinct.</p>
+
+<p>The download list has an entry for each download processed. Each entry has a text region that gives details of the task along with a progress bar showing current activity. Three buttons appear to the right of each entry. "Pause" is used to pause a task. "View Log" opens a window showing the download log file. "Close" terminates the download and removes the task from the list.  </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/translatetext.htm
===================================================================
--- main/tags/2.83/gli/help/en/translatetext.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/translatetext.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="translatetext"><font size="5" face="Verdana"><strong>8.5: Translate Text</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>This section describes the translation pane, where you can translate text fragments for parts of the collection's interface into other languages. Under the "Format" tab, click "Translate Text".</p>
+
+<p>First choose an entry from the "Features" list.  The language-specific strings associated with this feature appear below.  Use the "Language of translation" pull-down list to select the target language, and type the translated text into the text area, referring to the "Initial Text Fragment" if necessary.  Click "Add Translation" when finished.</p>
+
+<p>To remove an existing translation, select it in the "Assigned Translations" table and click "Remove Translation".</p>
+
+<p>To edit a translation, select it, edit the "Translated Text" area and click "Replace Translation".</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/updatingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/en/updatingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/updatingmetadata.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="updatingmetadata"><font size="5" face="Verdana"><strong>5.5: Editing or Removing Metadata</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>To edit or remove a piece of metadata, first select the appropriate file, and then the metadata value from the table. Edit the value field, deleting all text if you wish to remove the metadata.</p>
+
+<p>The process is the same when updating a folder with child folders or multiple files, but you can only update metadata that is common to all files/folders selected.</p>
+
+<p>The value tree shows all currently assigned values as well as previous values for the current session, so changed or deleted values will remain in the tree. Closing the collection and then re-opening it will remove all values that are no longer assigned.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/en/xcollectionsearching.htm
===================================================================
--- main/tags/2.83/gli/help/en/xcollectionsearching.htm	(revision 21123)
+++ main/tags/2.83/gli/help/en/xcollectionsearching.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="xcollectionsearching"><font size="5" face="Verdana"><strong>8.6: Cross-Collection Search</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Greenstone can search across several different collections as though they were one. This is done by specifying a list of other collections to be searched along with the current one.  Under the "Format" tab, click "Cross-Collection Search".</p>
+
+<p>The Cross-Collection Search panel shows a checklist of available collections. The current collection is ticked and cannot be de-selected.  To add another collection to be searched in parallel, click it in the list (click again to remove it).  If only one collection is selected, there is no cross-collection searching.</p>
+
+<p>If the individual collections do not have the same indexes (including sub-collection partitions and language partitions) as each other, cross-collection searching will not work properly. The user will only be able to search using indexes common to all collections.</p>
+
+<p>For further details, see Chapter 1 of the Greenstone Developer's Guide.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/addingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/es/addingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/addingfiles.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="addingfiles"><font size="5" face="Verdana"><strong>4.4: A&ntilde;adiendo archivos</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Los archivos se pueden copiar arrastr&aacute;ndolos y coloc&aacute;ndolos en una colecci&oacute;n. El cursor se convierte en un fantasma del elemento seleccionado (o, si se ha seleccionado m&aacute;s de uno, del n&uacute;mero de ellos). Coloque la selecci&oacute;n en la estructura de directorios y subdirectorios de la colecci&oacute;n para copiar ah&iacute; los archivos (si la fuente son los archivos del &aacute;rea de trabajo) o mu&eacute;valos de lugar dentro de la misma colecci&oacute;n (si la fuente son los archivos de la colecci&oacute;n).</p>
+
+<p>Cuando se copien varios archivos en una carpeta todos estar&aacute;n al mismo nivel, sin importar la estructura de las carpetas en las que se encontraban originalmente. Cuando se copie un segundo archivo con el mismo nombre en la misma carpeta se le preguntar&aacute; si desea reemplazar el archivo existente. Si la respuesta es "No" entonces el archivo no se copiar&aacute;, pero los dem&aacute;s s&iacute;. Para cancelar las acciones restantes de copiado haga click en el bot&oacute;n "Detener".</p>
+
+<p>&Uacute;nicamente se mover&aacute;n los elementos "de m&aacute;s alto nivel" en una selecci&oacute;n. Una carpeta est&aacute; a un nivel m&aacute;s alto que los elementos que se encuentran en su interior, por lo que no se podr&aacute;n seleccionar los archivos de una carpeta y la carpeta al mismo tiempo.</p>
+
+<p>Cuando se a&ntilde;ada un archivo, la Interfaz de Bibliotecario buscar&aacute; a trav&eacute;s de las carpetas fuente los archivos auxiliares que contienen los metadatos asignados previamente a dicho archivo y, si encuentra alguno, empezar&aacute; a importar estos metadatos. Conforme la operaci&oacute;n siga adelante se le pedir&aacute; (quiz&aacute; varias veces) que proporcione informaci&oacute;n adicional para conciliar los metadatos importados con los conjuntos de metadatos de su colecci&oacute;n. Este proceso incluye muchos avisos diferentes, los cuales se describen en la secci&oacute;n <a href="importingpreviouslyassignedmetadata.htm">Importando metadatos previamente asignados</a>. Para obtener una explicaci&oacute;n m&aacute;s detallada sobre la forma de asociar metadatos a los archivos lea el Cap&iacute;tulo 2 de la Gu&iacute;a del Programador de Greenstone: Obteniendo el m&aacute;ximo beneficio de sus documentos.</p>
+
+<p>Tambi&eacute;n puede a&ntilde;adir un documento "de prueba" a la colecci&oacute;n pulsando con el bot&oacute;n derecho en el &aacute;rbol de la colecci&oacute;n o en una carpeta, y seleccionando "Nuevo documento postizo". Esto crear&aacute; un documento vac&iacute;o al que se podr&aacute;n asignar metadatos. Este fcihero podr&aacute; ser reemplazado con un documento "real" m&aacute;s adelante.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/addingpreviouslydefinedmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/es/addingpreviouslydefinedmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/addingpreviouslydefinedmetadata.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="addingpreviouslydefinedmetadata"><font size="5" face="Verdana"><strong>5.4: A&ntilde;adiendo Metadatos Previamente Definidos</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Para a&ntilde;adir metadatos que tengan ya un valor previo, seleccione primero el fichero y a continuaci&oacute;n el valor requerido de la estructura de valores, expandiendo las carpetas tanto como sea necesario. El valor de la entrada seleccionada aparecer&aacute; autom&aacute;ticamente en el campo del metadato (otra alternativa es utilizar las funciones de selecci&oacute;n autom&aacute;tica y relleno autom&aacute;tico de la estructura de valores). </p>
+
+<p>El proceso de a&ntilde;adir metadatos con valores existentes a carpetas o a varios archivos juntos es exactamente igual.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/appendingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/es/appendingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/appendingmetadata.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="appendingmetadata"><font size="5" face="Verdana"><strong>5.3: Agregando nuevos metadatos</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ahora a&ntilde;adiremos un &iacute;tem de metadato -- tanto un elemento como un valor -- a un archivo. Primero, seleccione el archivo en la estructura de directorios y subdirectorios de la colecci&oacute;n que se encuentra a la izquierda. Esto hace que cualquier metadato asignado previamente a este archivo aparezca en la tabla de la derecha.</p>
+
+<p>A continuaci&oacute;n, seleccione el elemento de metadato que desea a&ntilde;adir haciendo click en la fila correspondiente de la tabla.</p>
+
+<p>Escriba el valor en el campo de valores. Use el car&aacute;cter "|" para a&ntilde;adir estructura, tal y como se explica en <a href="theenrichview.htm">La pantalla de asignaci&oacute;n de metadatos</a>. Pulsando las teclas de flecha [Arriba] o [Abajo] se guardar&aacute;n los metadatos y se mover&aacute; la selecci&oacute;n adecuadamente. Pulsando [Retorno] se guardar&aacute;n los metadatos y se crear&aacute; una nueva entrada vac&iacute;a para un elemento de metadato, permitiendo asignar varios valores al mismo.</p>
+
+<p>Tambi&eacute;n se pueden a&ntilde;adir metadatos a una carpeta o a varios archivos seleccionados al mismo tiempo. Estos metadatos se a&ntilde;adir&aacute; a todos los archivos que forman parte de la carpeta o de la selecci&oacute;n, as&iacute; como a las subcarpetas. Recuerde que si usted asigna metadatos a una carpeta, todos los archivos nuevos que se encuentren en ella heredar&aacute;n autom&aacute;ticamente los valores de la carpeta.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/assignlanguages.htm
===================================================================
--- main/tags/2.83/gli/help/es/assignlanguages.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/assignlanguages.htm	(revision 21123)
@@ -0,0 +1,31 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="assignlanguages"><font size="5" face="Verdana"><strong>6.4.3: Asignar idiomas</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Esta secci&oacute;n describe la forma de limitar los &iacute;ndices de b&uacute;squeda a ciertos idiomas. Esto se hace generando una partici&oacute;n por medio de la pesta&ntilde;a "Asignar idiomas" que se encuentra en la pantalla "Particionar &iacute;ndices".</p>
+
+<p>Las particiones de idioma utilizan metadatos para determinar cuales documentos est&aacute;n en el idioma especificado y por ende deber&iacute;an incluirse en la partici&oacute;n. Greenstone genera el metadato "ex.Language" para la mayoria de los documentos, y este es el metadato por defecto ausar. De todas maneras, esto puede cambiarse configurando "Metadatos de Idioma:" en el metadato correcto.</p>
+
+<p>Para a&ntilde;adir una nueva partici&oacute;n de idioma, seleccione uno o m&aacute;s idiomas en "Idioma que se va a a&ntilde;adir" y pulse en "A&ntilde;adir partici&oacute;n".</p>
+
+<p>Para cambiar una partici&oacute;n existente, selecci&oacute;nela de la lista "Particiones de idioma asignadas", modifique los idiomas seleccionados en la lista "Idiomas a a&ntilde;adir", y pulse "Reemplazar partici&oacute;n".</p>
+
+<p>Para quitar una partici&oacute;n de idioma, esc&oacute;jala de la lista "Particiones de idioma asignadas" y pulse en "Eliminar partici&oacute;n".</p>
+
+<p>El orden en que se especifican las particiones de idioma en la la lista de Particiones de Didioma Asignadas es el orden en el que aparecen en el men&uacute; desplegable de la p&aacute;gina de b&uacute;squeda. Use los botones  "Mover arriba" y "Mover abajo" para cambiar el orden.</p>
+
+<p>Para establecer un idioma predefinido, selecci&oacute;nelo de la lista y pulse en "Predeterminar".</p>
+
+<p>Los nombres usados en la lista desplegable de particiones de idiomas en la p&aacute;gina de b&uacute;squeda puede fijarse en la parte "Buscar" del panel "Formato" (v&eacute;ase <a href="searchmetadatasettings.htm">Buscar</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/assignpartitions.htm
===================================================================
--- main/tags/2.83/gli/help/es/assignpartitions.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/assignpartitions.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="assignpartitions"><font size="5" face="Verdana"><strong>6.4.2: Asignar particiones</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Una vez que haya definido el filtro de una subcolecci&oacute;n, utilice la pesta&ntilde;a "Asignar particiones" para construir los &iacute;ndices del filtro (o de un grupo de filtros). Seleccione el filtro o los filtros que desee de la lista "Filtros definidos para la subcolecci&oacute;n", y pulse "A&ntilde;adir Partici&oacute;n". Cada partici&oacute;n producir&aacute;  una subcolecci&oacute;n de documentos que cumnplan las condiciones asociadas con la partici&oacute;n.</p>
+
+<p>Para cambiar una partici&oacute;n, selecci&oacute;nela de la lista, modifique los filtros, y pulse "Remplazar Partici&oacute;n".</p>
+
+<p>Para quitar una partici&oacute;n de la lista, selecci&oacute;nela y haga click en "Eliminar partici&oacute;n".</p>
+
+<p>El orden de las particiones en al lista de particiones Asignadas es el orden en el que aparecen en el men&uacute; desplegable de la p&aacute;gina de b&uacute;squeda. Use los botones "Mover arriba" y "Mover abajo" para cambiar el orden.</p>
+
+<p>Para hacer que una partici&oacute;n determinada sea el valor predefinido, selecci&oacute;nela de la lista y pulse "Predeterminar".</p>
+
+<p>Los nombres usados en la lista desplegable de particiones de la p&aacute;gina de b&uacute;squeda se establece en la parte "Buscar" del panel "Formato" (v&eacute;ase <a href="searchmetadatasettings.htm">Buscar</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/builderrors.htm
===================================================================
--- main/tags/2.83/gli/help/es/builderrors.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/builderrors.htm	(revision 21123)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="builderrors"><font size="5" face="Verdana"><strong>7.2: Errores en la construcci&oacute;n de la colecci&oacute;n</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Algunas veces hay problemas en el proceso de construcci&oacute;n. Puede darse que no puedan procesarse algunos archivos: el resto est&aacute; correcto, puede previsualizarse, pero algunos documentos est&aacute;n ausentes. O puede ocurrir que la colecci&oacute;n no construy&oacute; en forma  correcta, entonces se muestra un mensaje  "Ha ocurrido un error y no se ha podido crear la colecci&oacute;n" . Cuando esto sucede, puede ser de ayuda cambiar GLi al modo experto (Fichero-&gt; Preferencias-&gt;Modo, v&eacute;ase <a href="preferences.htm">Preferencias</a>), cambiar la opci&oacute;n "Verbosity" a 5, y reconstruir para ver si hay otros mensajes de error.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/classifiers.htm
===================================================================
--- main/tags/2.83/gli/help/es/classifiers.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/classifiers.htm	(revision 21123)
@@ -0,0 +1,31 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="classifiers"><font size="5" face="Verdana"><strong>6.5: Clasificadores de exploraci&oacute;n</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Esta secci&oacute;n explica la forma de asignar "clasificadores" a una colecci&oacute;n, que se usan para navegar y buscar en ella. En el panel "Dise&ntilde;o" pulse en "Clasificadores de exploraci&oacute;n".</p>
+
+<p>Para a&ntilde;adir un clasificador, esc&oacute;jalo por medio de la lista descendente "Seleccione el clasificador que se va a a&ntilde;adir" en la parte inferior de la pantalla y pulse en "A&ntilde;adir clasificador". Con esto aparecer&aacute; una ventana titulada "Argumentos de configuraci&oacute;n". Las instrucciones para este cuadro de di&aacute;logo son exactamente las mismas que para los plugins (v&eacute;ase <a href="plugins.htm">Plugins</a>). Una vez que haya configurado el nuevo clasificador, &eacute;ste se a&ntilde;adir&aacute; al final de la lista de "Clasificadores asignados actualmente".</p>
+
+<p>Para ver un descripci&oacute;n breve de un clasificador, selecci&oacute;nelo en la lista desplegable "Seleccione clasificador a a&ntilde;adir", y ponga el cursor sobre &eacute;l. Se mostrar&aacute; un mensaje emergente con la descripci&oacute;n.</p>
+
+<p>Cada clasificador tiene varios argumentos que pueden configurarse. Los m&aacute;s importantes incluyen "metadato", que indica contra que metadato se clasificar&aacute;n los documentos, y "nombre de bot&oacute;n", que es el nombre con el que aparecer&aacute; el bot&oacute;n en el men&uacute; de navegaci&oacute;n</p>
+
+<p>Para quitar un clasificador de la lista, selecci&oacute;nelo y haga click en "Eliminar clasificador".</p>
+
+<p>Para cambiar los argumentos de un clasificador, selecci&oacute;nelo de la lista y pulse en "Configurar clasificador" (o doble pulsaci&oacute;n en el nombre del clasificador en la lista).</p>
+
+<p>El orden de los clasificadores en la barra de navegaci&oacute;n de la colecci&oacute;n se refleja aqu&iacute;. Para cambiarlo, seleccione el clasificador que desea mover y haga click en "Mover arriba" o "Mover abajo".</p>
+
+<p>Para mayor informaci&oacute;n sobre los clasificadores, lea el Cap&iacute;tulo 2 de la Gu&iacute;a del Programador de Greenstone: Obteniendo el m&aacute;ximo beneficio de sus documentos.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/collectingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/es/collectingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/collectingfiles.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="collectingfiles"><font size="5" face="Verdana"><strong>4: Reuniendo archivos para su colecci&oacute;n</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Una vez que tiene una nueva colecci&oacute;n necesita a&ntilde;adir algunos ficheros a ella. Estos pueden venir desde la estructura de ficheros de su computadora o de otras colecciones Greenstone. Algunos incluso ya pueden tener metadatos. Esta secci&oacute;n describe la forma de importar ficheros.</p>
+
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/collectionspecificmacros.htm
===================================================================
--- main/tags/2.83/gli/help/es/collectionspecificmacros.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/collectionspecificmacros.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="collectionspecificmacros"><font size="5" face="Verdana"><strong>8.7: Macros espec&iacute;ficas de la colecci&oacute;n</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Bajo la pesta&ntilde;a "Formato", pulse "Macros espec&iacute;ficos de la colecci&oacute;n".</p>
+
+<p>Esta vista muestra el contenido del fichero de macros extra.dm de la colecci&oacute;n. Aqu&iacute; pueden definirse macros espec&iacute;ficas de la colecci&oacute;n. Para saber m&aacute;s sobre macros, vea el cap&iacute;tulo 3 de la Gu&iacute;a del Desarrollador de Greenstone.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/creatingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/es/creatingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/creatingacollection.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingacollection"><font size="5" face="Verdana"><strong>2.1: Creando una nueva colecci&oacute;n</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Para crear una nueva colecci&oacute;n abra el men&uacute; "Archivo" y elija la opci&oacute;n "Nueva". Deber&aacute;n llenarse varios campos, aunque en caso de que sea necesario podr&aacute; cambiar despu&eacute;s sus valores en la vista Formato</p>
+
+<p>El "T&iacute;tulo de la colecci&oacute;n" es el texto que aparece en la parte superior de la p&aacute;gina principal de su colecci&oacute;n. Puede tener la longitud  que usted quiera.</p>
+
+<p>La "Descripci&oacute;n del contenido" deber&aacute; describir tan detalladamente como sea posible de lo que se trata la colecci&oacute;n. Utilice la tecla [Enter] o [Intro] para dividirla en p&aacute;rrafos.</p>
+
+<p>Finalmente deber&aacute; especificar si desea que la nueva colecci&oacute;n tenga la misma apariencia y conjunto de metadatos que una colecci&oacute;n existente o si desea iniciar una "Nueva Colecci&oacute;n". La nuevas colecciones tienen una configuraci&oacute;n est&aacute;ndar b&aacute;sica y usan Dublin Core. Esta configuraci&oacute;n puede cambiarse posteriormente.</p>
+
+<p>Pulse en "Aceptar" para crear la colecci&oacute;n.</p>
+
+<p>Si hace click en "Cancelar" regresar&aacute; inmediatamente a la pantalla principal.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/creatingfolders.htm
===================================================================
--- main/tags/2.83/gli/help/es/creatingfolders.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/creatingfolders.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingfolders"><font size="5" face="Verdana"><strong>4.3: Creando carpetas</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Utilice las carpetas que se encuentran en la estructura de directorios y subdirectorios de la colecci&oacute;n para agrupar archivos y hacer que sean m&aacute;s f&aacute;ciles de encontrar. Las carpetas pueden contener a su vez otras subcarpetas. No hay pr&aacute;cticamente ning&uacute;n l&iacute;mite en cuanto al n&uacute;mero de carpetas que se pueden tener o qu&eacute; tan profundamente anidadas puedan estar.</p>
+
+<p>Para crear una nueva carpeta, una opci&oacute;n es seleccionar una carpeta existente en la estructura de directorios y subdirectorios de la colecci&oacute;n y hacer click en el bot&oacute;n "Nueva carpeta". La nueva carpeta aparecer&aacute; dentro de la que se seleccion&oacute; primero o en el nivel superior si no se seleccion&oacute; ninguna. Se le pedir&aacute; que le d&eacute; un nombre a la carpeta (el valor por omisi&oacute;n es "Nueva carpeta").</p>
+
+<p>Tambi&eacute;n se pueden crear nuevas carpetas pulsando con el bot&oacute;n derecho el el &aacute;rbol de la colecci&oacute;n, o sobre una carpeta,  eligiendo la opci&oacute;n "Nueva carpeta" y continuando como se describe arriba.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/creatingshortcuts.htm
===================================================================
--- main/tags/2.83/gli/help/es/creatingshortcuts.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/creatingshortcuts.htm	(revision 21123)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingshortcuts"><font size="5" face="Verdana"><strong>4.2: Creando un acceso directo en el &aacute;rbol del espacio de trabajo</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Algunas carpetas, como la que contiene sus propias p&aacute;ginas Web, tienen un significado especial. La Interfaz de Bibliotecario puede asignar dichas carpetas al primer nivel de la estructura de directorios y subdirectorios. Para hacerlo pulse con el bot&oacute;n derecho del rat&oacute;n sobre la carpeta deseada. Seleccione "Crear un acceso directo" y d&eacute;le un nombre a la carpeta. Para quitar un elemento pulse con el bot&oacute;n derecho del mouse sobre la carpeta mapeada y seleccione "Eliminar acceso directo".</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/definefilters.htm
===================================================================
--- main/tags/2.83/gli/help/es/definefilters.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/definefilters.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="definefilters"><font size="5" face="Verdana"><strong>6.4.1: Definir filtros</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Los filtros le permiten agrupar en una subcolecci&oacute;n todos los documentos de un &iacute;ndice para los cuales un valor de metadato sigue un patr&oacute;n definido.</p>
+
+<p>Para crear un filtro haga click en la pesta&ntilde;a "Definir filtros" y escriba el nombre del nuevo filtro en el campo titulado "Nombre del filtro de la subcolecci&oacute;n". A continuaci&oacute;n elija un atributo del documento con el cual se va a contrastar, ya sea un elemento de metadato o el nombre del archivo en cuesti&oacute;n. Ingrese una expresi&oacute;n regular que se utilizar&aacute; durante la contrastaci&oacute;n. Usted puede variar libremente entre "Incluir" documentos que concuerden con el filtro o "Excluirlos". Por &uacute;ltimo, usted tambi&eacute;n puede especificar cualquiera de los indicadores est&aacute;ndar de expresiones regulares PERL para usarlos al momento de contrastar (p. ej. "i" para concordancias que no tomen en cuenta el caso). Haga click en "A&ntilde;adir filtro" para a&ntilde;adir el filtro a la lista de "Filtros definidos para la subcolecci&oacute;n".</p>
+
+<p>Para quitar un filtro de la lista, selecci&oacute;nelo y haga click en "Eliminar filtro".</p>
+
+<p>Para modificar un filtro, selecci&oacute;nelo de la lista, cambie cualquiera de los valores que aparecen en los controles de edici&oacute;n y haga click en "Reemplazar filtro" para guardar los cambios.</p>
+
+<p>Definir filtros no crea subcolecciones. Las subcolecciones se especifican en "Asignar particiones", basadas en los filtros que se hayan creado.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/deletingcollections.htm
===================================================================
--- main/tags/2.83/gli/help/es/deletingcollections.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/deletingcollections.htm	(revision 21123)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="deletingcollections"><font size="5" face="Verdana"><strong>2.4: Borrando colecciones</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Para borrar definitivamente colecciones de su instalaci&oacute;n de Greenstone, elija "Borrar&hellip;" del men&uacute; "Archivo". Aparece una lista de sus colecciones. Seleccione una para ver su descripci&oacute;n, marque la casilla situada en la parte inferior del di&aacute;logo, y pulse "Borrar". Esta acci&oacute;n es irreversible, por lo que debe comprobar cuidadosamente que no necesita la colecci&oacute;n antes de proceder.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/depositormetadatasettings.htm
===================================================================
--- main/tags/2.83/gli/help/es/depositormetadatasettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/depositormetadatasettings.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="depositormetadatasettings"><font size="5" face="Verdana"><strong>8.8: Metadatos del Acumulador</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>El Acumulador de Greenstone le permite al usuario agregar nuevos documentos a una colecci&oacute;n existente a trav&eacute;s de una interfaz web. Esta secci&oacute;n describe al panel de Metadatos del Acumulador, en donde puede especificar que metadatos deber&iacute;an usarse para describir nuevos documentos agregados a trav&eacute;s del Acumulador. Cualquier conjunto de metadatos que se haya asociado a la colecci&oacute;n actual estar&aacute; disponible para la selecci&oacute;n. Si no existiera otro conjunto m&aacute;s que el "Greenstone Extracted Metadatada Set" asociado a la colecci&oacute;n, entonces se usar&aacute; por defecto el conjunto de metadatos "Dublin Core". Para aprender m&aacute;s sobre el Acumulador, lea el ejercicio del tutorial online en  http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/depositor.htm. En la solapa "Formato", seleccione "Metadatos del Acumulador".</p>
+
+<p>El panel Metadatos del Acumulador muestra una lista de metadatos disponibles. Si hubiera m&aacute;s de un conjunto de metadatos asociados a la colecci&oacute;n entonces los conjuntos contiguos se mostrar&aacute;n en diferentes colores. Deslice el mouse sobre un elemento de metadato: se mostrar&aacute; un texto con la descripci&oacute;n del elemento.</p>
+
+<p>Seleccione aquellos que quiera utilizar para describir nuevos documentos cuando estos sean cargados mediante el Acumulador. Aparecer&aacute; una lista desplegable al lado de cada elemento seleccionado con 2 opciones. Esto permite especificar el tipo de caja de input para ese elemento en la interfaz web. La opci&oacute;n "Text" significa un recuadro de texto simple, mientras que "textarea" significa que se usar&aacute; un recuadro de texto multil&iacute;nea. Seleccione el tipo apropiado para cada campo.</p>
+
+<p>Debe seleccionarse un elemento de metadato como m&iacute;nimo. Si hay uno solo seleccionado en la lista al desmarcarlo aparecer&aacute; un mensaje de aviso: "Por lo menos debe seleccionarse un metadato.".</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/designingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/es/designingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/designingacollection.htm	(revision 21123)
@@ -0,0 +1,22 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="designingacollection"><font size="5" face="Verdana"><strong>6: Configurando su colecci&oacute;n</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Una vez que los ficheros est&aacute;n marcados con metadatos, a continuaci&oacute;n se debe decidir c&oacute;mo debe mostrarse los documentos a los usuarios finales. &iquest;Qu&eacute; tipo de informaci&oacute;n se podr&aacute; buscar? &iquest;De qu&eacute; medios se dispone para navegar por los documentos? &iquest;En qu&eacute; idiomas? &iquest;D&oacute;nde aparecer&aacute;n los botones en la p&aacute;gina? Todas estas cosas se pueden personalizar. Esta secci&oacute;n describe la forma de hacerlo.</p>
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/downloadingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/es/downloadingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/downloadingfiles.htm	(revision 21123)
@@ -0,0 +1,18 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="downloadingfiles"><font size="5" face="Verdana"><strong>3: Descargando archivos de Internet</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>La vista "Descargar" le ayuda a descargar recursos de internet. Esta secci&oacute;n explica la interfaz para el proceso de descarga.</p>
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/enrichingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/es/enrichingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/enrichingacollection.htm	(revision 21123)
@@ -0,0 +1,24 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="enrichingacollection"><font size="5" face="Verdana"><strong>5: Enriqueciendo la colecci&oacute;n con metadatos</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Despu&eacute;s de haber juntado varios archivos en una colecci&oacute;n, enriqu&eacute;zcalos con informaci&oacute;n adicional. Esta secci&oacute;n explica la forma en que se crean, editan, asignan y recuperan los metadatos, y la forma de usar fuentes externas de metadatos (v&eacute;ase tambi&eacute;n el Cap&iacute;tulo 2 de la Gu&iacute;a del Programador de Greenstone: Obteniendo el m&aacute;ximo beneficio de sus documentos).</p>
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/expertbuilding.htm
===================================================================
--- main/tags/2.83/gli/help/es/expertbuilding.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/expertbuilding.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="expertbuilding"><font size="5" face="Verdana"><strong>7.3: Crear vista en modo Experto</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>En modo Experto, puede usar las entradas del "Registro de mensajes" a la izquierda, para revisar intentos previos de construcci&oacute;n de la colecci&oacute;n, hayan tenido &eacute;xito o no. Seleccione el registro que desee haciendo click en la fecha correspondiente en la lista "Historial de registro".</p>
+
+<p>En este modo, se muestra una lista completa de opciones de importaci&oacute;n y construcci&oacute;n en los paneles Importar y Construir de la izquierda. Los varios par&aacute;metros se controlan como en la ventana "Configurar Argumentos" descrita en la secci&oacute;n <a href="plugins.htm">Plugins</a>. Algunso campos requieren argumentos num&eacute;ricos, y puede escribirlos o usar las flechas de desplazamiento para aumentar o disminuir el valor indicado. (en algunos casos, la interfaz limita el rango posible). Otros se activan marcando el cuadro pulsable (pulsando de nuevo se desactivan).</p>
+
+<p>M&aacute;s informaci&oacute;n sobre importaci&oacute;n y construcci&oacute;n se encuentra en el cap&iacute;tulo 1 de Gu&iacute;a del Desarrollador de Greenstone -- Comprendiendo el proceso de construcci&oacute;n de la colecci&oacute;n.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/explodingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/es/explodingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/explodingfiles.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="explodingfiles"><font size="5" face="Verdana"><strong>4.7: Expandiendo Ficheros de Metadados</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Se pueden importar tipos de archivos de bases de datos de metadatos, como MARC, OAI, CDS/ISIS, BibTEx, Refer y Procite, pero sus metadatos no se pueden ver ni editar en la Interfaz de Bibliotecario. De todas maneras, se puede "explotar" el archivo en el GLI y luego ver o editar los metadatos. Alternativamente, y en particular cuando est&eacute; manteniendo una aplicaci&oacute;n externa master, puede utilizar el programa que cre&oacute; el archivo, hacer las correcciones y luego reimportar.</p>
+
+<p>"Expandir" un fichero de base de datos de metadatos en registros individuales, con metadatos visibles y editables. El proceso es irreversible: se borra el fichero original de metadatos.</p>
+
+<p>Los archivos expandibles muestran un icono verde en el &aacute;rbol de la colecci&oacute;n. Para expandirlos, pulse el bot&oacute;n derecho del rat&oacute;n sobre &eacute;l, y elija "Explotar la base de datos de metadatos". Una ventana emergente mostrar&aacute; opciones para el proceso. La primera opci&oacute;n ("plugin") define el plugin a utilizar. En la mayor&iacute;a de los casos, s&oacute;lo un plugin puede procesar un tipo de fichero dado, pero en algunos casos, cuando los ficheros comparten la misma extensi&oacute;n de nombre de fichero, puede haber dos plugins que procesen la misma extensi&oacute;n. La opci&oacute;n "input_encoding" se usa para indicar la codificaci&oacute;n de la base de datos. La opci&oacute;n "metadata_set" indica a que conjunto de metadatos deben a&ntilde;adirse los nuevos campos. Si no se indica ninguna, se le preguntar&aacute; qu&eacute; hacer con cada campo nuevo de la base de datos: a&ntilde;adirlo como tal al conjunto en uso, unirlo a otro elemento, o ignorarlo.</p>
+
+<p>Cuando se expande un fichero, se crea un nuevo documento para cada registro, y se le asignan los datos de metadatos del registro original. Se nombran usando secuencias como 000001.nul, 000002.nul etc. Si se ha activado la opci&oacute;n "document_field" (a un nombre de campo de la base de datos) se usar&aacute; este varlo para el nombre. El proceso de expansi&oacute;n tambi&eacute;n intentar&aacute; descargar el fichero y usarlo en vez de un fichero vac&iacute;o. las opciones "document_prefix" y "document_suffix" pueden utilizarse para crear un URL o ruta v&aacute;lidos para el valor document_field. La opci&oacute;n "records_per_folder" pueden usarse para agrupar registros expandido en subcarpetas. Si la base de datos es muy grande, usar esta opci&oacute;n acelerar&aacute; la edici&oacute;n subsecuente de metadatos.</p>
+
+<p>La expansi&oacute;n se determina por la extensi&oacute;n del nombre de fichero. En algunos casos, los ficheros pueden etiquetarse incorrectamente como expandibles, si tienen extensiones similares. Por ejemplo, el plugin para ProCite procesa ficheros con al extensi&oacute;n .txt, pero muchos ficheros .txt son s&oacute;lo ficheros de texto, no de ProCite.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/exporting.htm
===================================================================
--- main/tags/2.83/gli/help/es/exporting.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/exporting.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="exporting"><font size="5" face="Verdana"><strong>9.3: Exportando colecciones a otros formatos</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Greenstone puede exportar los contenidos y/o metadatos de una colecci&oacute;n a varios formatos est&aacute;ndares, incluyendo METS, DSpace y MARCXML.</p>
+
+<p>Para exportar una colecci&oacute;n, abra el men&uacute; Archivo y elija "Exportar...". Puede elegir en qu&eacute; formato exportar seleccionando "Exportar a" en la lista desplegable. Indique un nombre para el directorio en el que quiere situar los archivos exportados; los archivos terminar&aacute;n en &lt;ruta a greenstone&gt;/tmp/exported_xxx, siendo xxx el nombre que se indic&oacute;. Seleccione una colecci&oacute;n de la lista de colecciones disponibles, y pulse sobre "Exportar colecci&oacute;n".</p>
+
+<p>Hay otras opciones espec&iacute;ficas para los diferentes formatos. Puede indicar que ficheros XSLT deben aplicarse a los documentos XML resultantes para personalziar el formato de salida. Para exportar a MARCXML se usa un fichero de mapeado para pasar los metadatos de Greenstone a  campos MARC. El fichero de mapeo predefinido s&oacute;lo exporta a Dublin Core. Puede indicar un fichero propio a utilizar.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/exportingcollections.htm
===================================================================
--- main/tags/2.83/gli/help/es/exportingcollections.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/exportingcollections.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="exportingcollections"><font size="5" face="Verdana"><strong>9.4: Exportando colecciones a un CD/DVD</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Greenstone puede exportar una o m&aacute;s colecciones a un CD/DVD autoinstalable para Windows.</p>
+
+<p>Para exportar una colecci&oacute;n abra el men&uacute; "Archivo" y seleccione la opci&oacute;n "Exportar a un CD-ROM/DVD...". Con esto aparecer&aacute; una lista de colecciones Greenstone. Haga click en una para ver su descripci&oacute;n. Marque los recuadros de las colecciones que desea exportar. Usted tambi&eacute;n puede introducir el nombre de CD/DVD en el cuadro correspondiente, que aparecer&aacute; en el men&uacute; de Inicio una vez que el CD/DVD se haya instalado. Puede seleccionar que el CD/DVD resultante se ejecute directamente, o que copie algunos ficheros al ordenador. A continuaci&oacute;n haga click en "Exportar". El proceso incluye la copia de varios archivos y requerir&aacute; de unos cuantos minutos.</p>
+
+<p>Una vez que haya terminado Greenstone mostrar&aacute; el nombre de una carpeta en la que se encontrar&aacute;n las colecciones que se han exportado. Utilice una quemadora de CD/DVDs para copiar sus contenidos en un CD/DVD en blanco.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/fileassociations.htm
===================================================================
--- main/tags/2.83/gli/help/es/fileassociations.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/fileassociations.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="fileassociations"><font size="5" face="Verdana"><strong>9.2: Asociaci&oacute;n de archivos</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>La Interfaz de Bibliotecario utiliza diferentes programas de aplicaci&oacute;n para abrir tipos particulares de archivos. Para modificar la asociaci&oacute;n de archivos abra el men&uacute; "Archivo" y haga click en "Asociaci&oacute;n de archivos".</p>
+
+<p>Para establecer una asociaci&oacute;n seleccione la extensi&oacute;n del fichero de la lista desplegable o escriba una nueva extensi&oacute;n (no incluya "."). A continuaci&oacute;n escriba en el campo correspondiente la orden que da inicio a la aplicaci&oacute;n deseada o elija la aplicaci&oacute;n en el cuadro "Explorar". "%1" se puede utilizar en la orden de inicio para insertar el nombre del archivo que se est&aacute; abriendo. Una vez que se han llenado estos campos, el bot&oacute;n "A&ntilde;adir" se activar&aacute;, con lo que ya se puede pulsar en &eacute;l para establecer la asociaci&oacute;n.</p>
+
+<p>Para editar una asociaci&oacute;n, seleccione una extensi&oacute;n de ficheroo existente. la orden asociada aparecer&aacute; en el campo correspondiente a orden de inicio. Ed&iacute;telo y a continuaci&oacute;n pulse en "Reemplazar".</p>
+
+<p>Para eliminar una asociaci&oacute;n, seleccione la extensi&oacute;n del archivo y haga click en "Eliminar".</p>
+
+<p>Las asociaciones de archivos se guardan en la carpeta principal de la Interfaz de Bibliotecario en un archivo llamado "associations.xml".</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/filteringthetree.htm
===================================================================
--- main/tags/2.83/gli/help/es/filteringthetree.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/filteringthetree.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="filteringthetree"><font size="5" face="Verdana"><strong>4.8: Filtrando la estructura de directorios y subdirectorios</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>"Filtrar" la estructura de directorios y subdirectorios de la colecci&oacute;n limita la b&uacute;squeda a determinados tipos de ficheros.</p>
+
+<p>El men&uacute; "Mostrar archivos" debajo de cada estructura de directorios y subdirectorios muestra una lista de filtros definidos previamente, como por ejemplo el de "Im&aacute;genes". Al elegir uno se ocultan temporalmente todos los dem&aacute;s archivos. Para restaurarlos, cambie el filtro a "Todos los archivos". Estas operaciones no alteran la colecci&oacute;n ni afectan las carpetas en la estructura de archivos.</p>
+
+<p>Se puede especificar un filtro en particular escribiendo un patr&oacute;n que corresponda con los tipos de ficheros que se desea filtrar (S&oacute;lo en los modos Bibliotecario y Experto). Utilice las abreviaturas est&aacute;ndar del sistema como "*.*" o "*.doc" ("*" equivale a cualquier caracter).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/formatstatements.htm
===================================================================
--- main/tags/2.83/gli/help/es/formatstatements.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/formatstatements.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="formatstatements"><font size="5" face="Verdana"><strong>8.4: Formatos</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Las p&aacute;ginas Web que ve cuando utiliza Greenstone no han sido guardadas previamente sino que se generan &ldquo;al vuelo&rdquo; conforme se van necesitando. Las &oacute;rdenes de formato se utilizan para cambiar la apariencia de las p&aacute;ginas generadas. Afectan aspectos como el lugar donde aparecer&aacute;n los botones cuando se muestra un documento y qu&eacute; v&iacute;nculos despliega el clasificador DateList en pantalla. Las &oacute;rdenes de formato no son f&aacute;ciles de desarrollar, por lo que le recomendamos que lea el Cap&iacute;tulo 2 de la Gu&iacute;a del Programador de Greenstone. La presente secci&oacute;n describe los controles de los distintos formatos y la forma en que la Interfaz de Bibliotecario le da acceso a ellos. En la vista "Formato" pulse en "Caracter&iacute;sticas de Formato".</p>
+
+<p>Se puede aplicar una orden de formato a cualquier cosa que se encuentre en la lista llamada "Elegir funci&oacute;n", la cual incluye cada clasificador y una lista de funciones determinadas previamente. Cuando se selecciona una funci&oacute;n existen dos tipos de controles. Algunas funciones simplemente se activan o se desactivan por medio de un recuadro. Otras requieren que se especifique una cadena de formato, para las cuales hay una lista descendente (llamada "Componente afectado") que permite seleccionar la parte de la funci&oacute;n a la que se aplica la cadena (en caso necesario), un &aacute;rea de texto (llamada "cadena de formato HTML") para ingresar la cadena y una selecci&oacute;n de "variables" definidas previamente. Para insertar una variable en su posici&oacute;n actual dentro de la cadena de formato, selecci&oacute;nela de la lista descendente "Insertar variable..."</p>
+
+<p>Tambi&eacute;n se puede especificar un formato predeterminado para un componente en particular seleccionando el par&aacute;metro "Todas las caracter&iacute;sticas". Este formato se aplicar&aacute; a todas las caracter&iacute;sticas aplicables a menos que se especifique lo contrario.</p>
+
+<p>Para a&ntilde;adir una nueva orden de formato, seleccione la caracter&iacute;stica y componente aplicacbles. El valor predefinod para la orden se mostrar&aacute; en gris. Pulse "A&ntilde;adir formato" para asignarlo a la colecci&oacute;n. La "Cadena de Formato HTML" se har&aacute; editable y podr&aacute; cambiarla si lo desea. Solamente se podr&aacute; asignar una orden de formato a cada combinaci&oacute;n de caracter&iacute;stica/componente.</p>
+
+<p>Para quitar un comando de formato de la lista, selecci&oacute;nelo y haga click en "Eliminar formato".</p>
+
+<p>Para mayor informaci&oacute;n acerca de las variables y los componentes de las funciones lea el Cap&iacute;tulo 2 de la Gu&iacute;a del Programador de Greenstone.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/formattingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/es/formattingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/formattingacollection.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="formattingacollection"><font size="5" face="Verdana"><strong>8: Personalizando la presentaci&oacute;n de la colecci&oacute;n</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Una vez que haya construido la coleci&oacute;n, deber&aacute; decidir c&oacute;mo se muestra al usuario &iquest;Qu&eacute; nombres deben usarse para la lista desplegable de &iacute;ndices en el formulario de b&uacute;squeda?  &iquest;C&oacute;mo deber&aacute;n mostrarse los resultados de la b&uacute;squeda? &iquest;Qu&eacute; metatados deben mostrarse al visualizar un documento? Todo esto puede ajustarse; esta secci&oacute;n explica c&oacute;mo hacerlo.</p>
+
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/generalsettings.htm
===================================================================
--- main/tags/2.83/gli/help/es/generalsettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/generalsettings.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="generalsettings"><font size="5" face="Verdana"><strong>8.2: General</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Esta secci&oacute;n explica la forma de revisar y modificar los ajustes generales asociados a la colecci&oacute;n. Primero, en el panel de "Formato" pulse "General".</p>
+
+<p>Aqu&iacute; pueden modificarse metadatos generales de la colecci&oacute;n, incluyendo el t&iacute;tulo y la descripci&oacute;n introducidas al crearla.</p>
+
+<p>Primero se encuentran las direcciones de correo electr&oacute;nico del creador y del administrador de la colecci&oacute;n. El siguiente campo le permite cambiar el t&iacute;tulo de la colecci&oacute;n. El directorio en el que se almacena la colecci&oacute;n se muestra al lado, pero no puede editarse. El que sigue especifica (en forma de URL) el icono que aparecer&aacute; en el &aacute;ngulo superior izquierdo de la p&aacute;gina "Acerca de" y el siguiente es el icono usado en la p&aacute;gina de la biblioteca digital Greenstone para conectarse a la colecci&oacute;n. Una casilla controla que la colecci&oacute;n sea o no accesible p&uacute;blicamente. Finalmente viene el &aacute;rea de texto que permite dar una "Descripci&oacute;n de la Colecci&oacute;n", tal como se explica en la secci&oacute;n <a href="creatingacollection.htm">Creando una nueva colecci&oacute;n</a>.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/help.xml
===================================================================
--- main/tags/2.83/gli/help/es/help.xml	(revision 21123)
+++ main/tags/2.83/gli/help/es/help.xml	(revision 21123)
@@ -0,0 +1,513 @@
+<?xml version="1.0"?>
+<!DOCTYPE TutorialList [
+     <!ENTITY nbsp "&#160;">
+     <!ENTITY rarr "&#8594;">
+     <!ENTITY mdash "&#8212;">
+]>
+<!-- Spanish translation of GLI Help document. Many thanks to Jesus Tramullas and Diego Spano. Updated by Diego in May 2009. -->
+<Document>
+<Section name="introduction">
+<Title>
+<Text id="1">IntroducciÃ³n</Text>
+</Title>
+<Text id="2">La Interfaz de Bibliotecario de Greenstone es una herramienta que permite reunir documentos, aÃ±adir metadatos y crear colecciones digitales con ellos. Ofrece un fÃ¡cil acceso a todas las funcionalidades del software para Biblioteca Digital Greenstone desde una interfaz grÃ¡fica de usuario con la que sÃ³lo tiene que seÃ±alar y pulsar.</Text>
+<Section name="ofmiceandmenus">
+<Title>
+<Text id="3">De menÃºs y ratones</Text>
+</Title>
+<Text id="4">Esta secciÃ³n proporciona informaciÃ³n bÃ¡sica para poder trabajar con la Interfaz de Bibliotecario. Si estÃ¡ familiarizado con programas como Internet Explorer o Microsoft Office y estÃ¡ acostumbrado a usar el mouse, entonces pase a la secciÃ³n <Reference target="howtoavoidthisdocument"/>.</Text>
+<Text id="5">La Interfaz de Bibliotecario sigue las convenciones de Microsoft y se apoya en el conocimiento que comÃºnmente se tiene de Windows.</Text>
+<Text id="6">Cualquier parte de la pantalla con la que usted interactÃºe, como un botÃ³n o un campo de texto, se llama "control". En todo momento un botÃ³n o campo de texto llamado "control activo" aparecerÃ¡ resaltado y responderÃ¡ a las instrucciones del teclado. Asimismo, varios controles le permiten seleccionar las partes que estÃ©n resaltadas en azul marino. Algunos controles tambiÃ©n pueden aparecer sombreados para indicar que no estÃ¡n disponibles.</Text>
+<Text id="7">Usted puede mover y hacer click con el botÃ³n izquierdo o derecho del mouse de la forma acostumbrada. Muchos componentes tambiÃ©n se pueden "arrastrar" haciendo click en ellos y sosteniendo el botÃ³n izquierdo del mouse, para luego moverlos y "colocarlos" en algÃºn otro lugar soltando el botÃ³n. Normalmente el lugar de destino cambia de apariencia cuando un componente pasa sobre Ã©l.</Text>
+<Text id="8">Puede usar el teclado para escribir en los campos de texto. La tecla de tabulaciÃ³n [Tab] cambia la posiciÃ³n del cursor entre diferentes campos de texto.</Text>
+<Text id="11">Salga de la Interfaz de Bibliotecario eligiendo "Salir" en el menÃº "Archivo". Su colecciÃ³n se guardarÃ¡ primero.</Text>
+</Section>
+<Section name="howtoavoidthisdocument">
+<Title>
+<Text id="12">Temas de ayuda</Text>
+</Title>
+<Text id="13">Â¡Usted no necesita leer todo el texto de ayuda! SÃ³lo lea lo suficiente para saber cÃ³mo obtener ayuda cuando la necesite.</Text>
+<Text id="14">Seleccionando el icono "Ayuda" en un contexto determinado mostrarÃ¡ el texto de ayuda relevante o marcarÃ¡ el encabezado de la ayuda con un Ã­cono de signo de pregunta.</Text>
+<Text id="15">Para muchos controles si se coloca el mouse encima de ellos aparecerÃ¡ un "cuadro de sugerencias" en el cual se explica su funciÃ³n.</Text>
+<Text id="16">Antes de usar la Interfaz de Bibliotecario lea primero la documentaciÃ³n de Greenstone.</Text>
+</Section>
+</Section>
+<Section name="startingoff">
+<Title>
+<Text id="17">Para empezar</Text>
+</Title>
+<Text id="18">Esta secciÃ³n explica cÃ³mo crear, cargar, guardar y borrar colecciones.</Text>
+<Section name="creatingacollection">
+<Title>
+<Text id="19">Creando una nueva colecciÃ³n</Text>
+</Title>
+<Text id="20">Para crear una nueva colecciÃ³n abra el menÃº "Archivo" y elija la opciÃ³n "Nueva". DeberÃ¡n llenarse varios campos, aunque en caso de que sea necesario podrÃ¡ cambiar despuÃ©s sus valores en la vista Formato</Text>
+<Text id="21">El "TÃ­tulo de la colecciÃ³n" es el texto que aparece en la parte superior de la pÃ¡gina principal de su colecciÃ³n. Puede tener la longitud  que usted quiera.</Text>
+<Text id="22">La "DescripciÃ³n del contenido" deberÃ¡ describir tan detalladamente como sea posible de lo que se trata la colecciÃ³n. Utilice la tecla [Enter] o [Intro] para dividirla en pÃ¡rrafos.</Text>
+<Text id="23">Finalmente deberÃ¡ especificar si desea que la nueva colecciÃ³n tenga la misma apariencia y conjunto de metadatos que una colecciÃ³n existente o si desea iniciar una "Nueva ColecciÃ³n". La nuevas colecciones tienen una configuraciÃ³n estÃ¡ndar bÃ¡sica y usan Dublin Core. Esta configuraciÃ³n puede cambiarse posteriormente.</Text>
+<Text id="24">Pulse en "Aceptar" para crear la colecciÃ³n.</Text>
+<Text id="25">Si hace click en "Cancelar" regresarÃ¡ inmediatamente a la pantalla principal.</Text>
+</Section>
+<Section name="savingacollection">
+<Title>
+<Text id="26">Guardar la colecciÃ³n</Text>
+</Title>
+<Text id="27">Guarde su trabajo regularmente abriendo el menÃº "Archivo" y seleccionando "Guardar". Tome en cuenta que guardar una colecciÃ³n no es lo mismo que prepararla para que se pueda usar en Greenstone (vea la secciÃ³n <Reference target="producingthecollection"/>).</Text>
+<Text id="28">La Interfaz de Bibliotecario protege su trabajo guardÃ¡ndolo cada vez que salga del programa o cargue otra colecciÃ³n.</Text>
+<Text id="29a">Las colecciones se guardan en una carpeta dentro de la carpeta "collect" de su instalaciÃ³n de Greenstone, etiquetada con una versiÃ³n corta del nombre de la colecciÃ³n. Los documentos se guardan en la carpeta "import", y los metadatos en ficheros "metadata.xml" dentro de esta carpeta. La informaciÃ³n de configuraciÃ³n se guarda en elf ichero "collect.cfg" dentro de la carpeta "etc". Otra informaciÃ³n se guarda en un fichero con el nombre de la colecciÃ³n y terminaciÃ³n ".col".</Text>
+</Section>
+<Section name="openingacollection">
+<Title>
+<Text id="30">Abriendo una colecciÃ³n existente</Text>
+</Title>
+<Text id="31">Para abrir una colecciÃ³n existente elija la opciÃ³n "Abrir" en el menÃº "Archivo". Con esto aparecerÃ¡ una lista de sus colecciones Greenstone. Seleccione una para ver su descripciÃ³n y haga click en "Abrir" para cargarla.</Text>
+<Text id="32">En caso de que mÃ¡s de una Interfaz de Bibliotecario de Greenstone ese estÃ© ejecutando al mismo tiempo, los directorios pertinentes se "bloquean" para evitar interferencias. Al abrir una colecciÃ³n se crea un pequeÃ±o archivo de bloqueo temporal en la carpeta. Antes de abrir una colecciÃ³n la Interfaz de Bibliotecario revisa que no haya un archivo de bloqueo. Sin embargo, cuando se sale prematuramente de la Interfaz de Bibliotecario el archivo de bloqueo a veces permanece en la carpeta. Cuando posteriormente se abre esta colecciÃ³n, la Biblioteca Digital le pregunta si quiere tomar el control. HÃ¡galo a menos que haya alguien trabajando con ella en ese momento.</Text>
+<Text id="33">Cuando abra una colecciÃ³n que no haya sido creada por medio de la Interfaz de Bibliotecario de Greenstone, se le asignarÃ¡ el conjunto de metadatos Dublin Core, y se importarÃ¡n al mismo los metadatos existentes previamente. El proceso se describe en el documento llamado <Reference target="importingpreviouslyassignedmetadata"/>.</Text>
+</Section>
+<Section name="deletingcollections">
+<Title>
+<Text id="34">Borrando colecciones</Text>
+</Title>
+<Text id="35">Para borrar definitivamente colecciones de su instalaciÃ³n de Greenstone, elija "BorrarâŠ" del menÃº "Archivo". Aparece una lista de sus colecciones. Seleccione una para ver su descripciÃ³n, marque la casilla situada en la parte inferior del diÃ¡logo, y pulse "Borrar". Esta acciÃ³n es irreversible, por lo que debe comprobar cuidadosamente que no necesita la colecciÃ³n antes de proceder.</Text>
+</Section>
+</Section>
+<Section name="downloadingfiles">
+<Title>
+<Text id="36">Descargando archivos de Internet</Text>
+</Title>
+<Text id="37">La vista <AutoText key="glidict::GUI.Download"/> le ayuda a descargar recursos de internet. Esta secciÃ³n explica la interfaz para el proceso de descarga.</Text>
+<Section name="themirrorview">
+<Title>
+<Text id="38">La vista en Bajar</Text>
+</Title>
+<Text id="39">Esta secciÃ³n describe como configurar una tarea de descarga y como controlar el proceso de descarga. Active la vista <AutoText key="glidict::GUI.Download"/> pulsando en su pestaÃ±a. La mitad superior de la pantalla contiene los controles para realizar descargas. La mitad inferior estÃ¡ vacÃ­a inicialmente, pero despuÃ©s va a mostrar una lista de tareas pendientes y terminadas.</Text>
+<Text id="39a">Se pueden usar varios protocolos para descargar registros, y se listan en la parte izquierda superior.</Text>
+<Text id="39b"><b>Web:</b> descarga pÃ¡ginas web y ficheros mediante HTTP y FTP.</Text>
+<Text id="39b-1"><b>MediaWiki:</b> descarga pÃ¡ginas web y archivos via HTTP desde un sitio MediaWiki.</Text>
+<Text id="39c"><b>OAI:</b> descarga registros (y opcionalmente documentos) de un servidor OAI-PMH (Open Archives Initiative).</Text>
+<Text id="39d"><b>Z3950:</b> descarga registros MARC que cumplen un criterio de bÃºsqueda dado, desde un servidor Z3950.</Text>
+<Text id="39e"><b>SRW:</b> descarga registros MARCXML que cumplen un criterio dado desde un servidor SRW.</Text>
+<Text id="39f">Seleccione el protocolo adecuado pulsando sobre Ã©l en la lista de la izquierda. La parte derecha muestra las opciones disponibles para el tipo de protocolo seleccionado. Para saber que hace una opciÃ³n, sitÃºe el cursor sobre ella: se abre un mensaje emergente explicando la opciÃ³n. Algunas opciones son "opcionales": se presentan con un cuadro que debe ser marcado para usar la opciÃ³n. Otras son "requeridas": no tienen cuadro de marca, y debe darse un valor antes de llevar a cabo la descarga.</Text>
+<Text id="39g">Una vez fijada la configuraciÃ³n, pulse <AutoText key="glidict::Download.ServerInformation"/> para comprobar la conexiÃ³n al servidor y ver informaciÃ³n bÃ¡sica sobre la pÃ¡gina web o el servidor, o pulse <AutoText key="glidict::Mirroring.Download"/> para iniciar la descarga.</Text>
+<Text id="39g-1">Hay otros dos botones: <AutoText key="glidict::Mirroring.Preferences"/>, que enlazan con la secciÃ³n de conexiÃ³n de las Preferencias, en la cual se pueden editar los parÃ¡metros del proxy; y <AutoText key="glidict::Mirroring.ClearCache"/>, que borra  todos los ficheros descargados previamente. Puede necesitar la informaciÃ³n del proxy si usa este sistema para conectarse a internet. Si se necesita autentificaciÃ³n para las descargas, el servidor proxy pedirÃ¡ nombre de usuario y clave. La Interfaz de Bibliotecario no almacena claves entre sesiones.</Text>
+<Text id="40">Los archivos se descargan en una carpeta <AutoText key="glidict::Tree.DownloadedFiles"/>, (sÃ³lo presente cuando se activa la descarga) y pueden utilizarse en todas las colecciones. Los archivos se nombran con su URL completo (para descargas Web y MediaWIki), o una combinaciÃ³n de URL y valores de opciÃ³n (para otros tipos de descarga). Para cada "servidor" se crea una nueva carpeta, seguida por otras para cada parte de la "ruta". De esta manera se asegura que todos los archivos son distintos.</Text>
+<Text id="42">La lista de descargas tiene una entrada por cada descarga realizada. Cada entrada tiene un Ã¡rea de texto que da detalles acerca de la tarea, junto con una barra que indica el avance de la actividad en ejecuciÃ³n. A la derecha de cada entrada aparecen tres botones. <AutoText key="glidict::Mirroring.DownloadJob.Pause"/> se utiliza para detener temporalmente la descarga que se estÃ¡ ejecutando. <AutoText key="glidict::Mirroring.DownloadJob.Log"/> abre una ventana que muestra el archivo de log de las descargas. <AutoText key="glidict::Mirroring.DownloadJob.Close"/> termina la descarga y quita de la lista la tarea correspondiente.</Text>
+</Section>
+</Section>
+<Section name="collectingfiles">
+<Title>
+<Text id="44">Reuniendo archivos para su colecciÃ³n</Text>
+</Title>
+<Text id="45">Una vez que tiene una nueva colecciÃ³n necesita aÃ±adir algunos ficheros a ella. Estos pueden venir desde la estructura de ficheros de su computadora o de otras colecciones Greenstone. Algunos incluso ya pueden tener metadatos. Esta secciÃ³n describe la forma de importar ficheros.</Text>
+<Section name="thegatherview">
+<Title>
+<Text id="46">La pantalla de selecciÃ³n de documentos</Text>
+</Title>
+<Text id="47">Esta secciÃ³n describe el funcionamiento de la pantalla "Reunir" que se utiliza para seleccionar los archivos que se van a incluir en la colecciÃ³n que se estÃ¡ construyendo. La Interfaz de Bibliotecario se inicia con la pantalla "Reunir". Para regresar a esta pantalla pulse en la pestaÃ±a <AutoText key="glidict::GUI.Gather"/> que se encuentra directamente debajo de la barra de menÃºs.</Text>
+<Text id="48">Dos grandes Ã¡reas tituladas "Area de trabajo" y "ColecciÃ³n" se utilizan para transferir los ficheros a su colecciÃ³n. Cada una contiene "Ã¡rboles de archivos", que son representaciones grÃ¡ficas de la estructura de directorios y ficheros.</Text>
+<Text id="49">Seleccione un elemento del Ã¡rbol pulsando en Ã©l. (TambiÃ©n existen otras formas; vÃ©ase mÃ¡s adelante.) Pulse dos veces en la carpeta, o una en el signo que se encuentra junto a ella para expandir (o contraer) sus contenidos. Pulse dos veces en un fichero y seleccione <AutoText key="glidict::Menu.Open_Externally"/> para abrirlo usando un programa de aplicaciÃ³n asociado (vÃ©ase <Reference target="fileassociations"/>).</Text>
+<Text id="50">El Ã¡rbol de archivos del Ã¡rea de trabajo muestra los orÃ­genes de la informaciÃ³n disponible al interfaz del Bibliotecario -- el sistema local de archivos (incluyendo unidades de disco y CD-ROM), los contenidos de las colecciones existentes de Greenstone, y el cachÃ© de archivos descargados. Usted puede copiar y consultar estos archivos pero no puede moverlos, eliminarlos o editarlos, con la excepciÃ³n de los archivos descargados, los cuales pueden ser eliminados. Navegue por este espacio para buscar los archivos que desee incluir en la colecciÃ³n.</Text>
+<Text id="51">La estructura de directorios y subdirectorios de la colecciÃ³n muestra sus contenidos. Inicialmente estÃ¡ vacÃ­a.</Text>
+<Text id="52">Se puede cambiar el tamaÃ±o de las Ã¡reas oprimiendo el botÃ³n del mouse sobre la barra gris que separa las estructuras de directorios y subdirectorios (la forma del cursor cambia) y arrastrÃ¡ndola.</Text>
+<Text id="53">En la parte inferior de la ventana se muestra un Ã¡rea de estado que informa del progreso de las acciones sobre archivos (copiando, moviendo y borrando). Puede tardar un tiempo en terminar. El botÃ³n "Detener" interrumpe cualquier acciÃ³n que se estÃ© ejecutando en ese momento.</Text>
+<Text id="54">Dos grandes botones ocupan la esquina inferior derecha de la pantalla: "Nueva carpeta", con la imagen de una carpeta, crea nuevas carpetas (vea la secciÃ³n <Reference target="creatingfolders"/>), en tanto que "Eliminar", con la imagen de un bote de basura, descarta los archivos. Al hacer click en el botÃ³n "Eliminar" se suprimirÃ¡n los archivos seleccionados de la estructura de directorios y subdirectorios de la colecciÃ³n. Asimismo, los archivos pueden eliminarse arrastrÃ¡ndolos hacia este botÃ³n.</Text>
+<Text id="55">Para seleccionar varios elementos consecutivos, seleccione el primero y a continuaciÃ³n manteniendo oprimida la tecla de mayÃºsculas o [Shift] haga click en el Ãºltimo: la selecciÃ³n incluirÃ¡ todos los elementos que se encuentran en medio. Para seleccionar varios archivos que no sean consecutivos mantenga oprimida la tecla de control o [Ctrl] mientras hace click en ellos. Utilice alternativamente estos dos mÃ©todos para seleccionar grupos de elementos que no estÃ©n juntos.</Text>
+</Section>
+<Section name="creatingshortcuts">
+<Title>
+<Text id="55a">Creando un acceso directo en el Ã¡rbol del espacio de trabajo</Text>
+</Title>
+<Text id="56">Algunas carpetas, como la que contiene sus propias pÃ¡ginas Web, tienen un significado especial. La Interfaz de Bibliotecario puede asignar dichas carpetas al primer nivel de la estructura de directorios y subdirectorios. Para hacerlo pulse con el botÃ³n derecho del ratÃ³n sobre la carpeta deseada. Seleccione "Crear un acceso directo" y dÃ©le un nombre a la carpeta. Para quitar un elemento pulse con el botÃ³n derecho del mouse sobre la carpeta mapeada y seleccione "Eliminar acceso directo".</Text>
+</Section>
+<Section name="creatingfolders">
+<Title>
+<Text id="57">Creando carpetas</Text>
+</Title>
+<Text id="58">Utilice las carpetas que se encuentran en la estructura de directorios y subdirectorios de la colecciÃ³n para agrupar archivos y hacer que sean mÃ¡s fÃ¡ciles de encontrar. Las carpetas pueden contener a su vez otras subcarpetas. No hay prÃ¡cticamente ningÃºn lÃ­mite en cuanto al nÃºmero de carpetas que se pueden tener o quÃ© tan profundamente anidadas puedan estar.</Text>
+<Text id="59">Para crear una nueva carpeta, una opciÃ³n es seleccionar una carpeta existente en la estructura de directorios y subdirectorios de la colecciÃ³n y hacer click en el botÃ³n "Nueva carpeta". La nueva carpeta aparecerÃ¡ dentro de la que se seleccionÃ³ primero o en el nivel superior si no se seleccionÃ³ ninguna. Se le pedirÃ¡ que le dÃ© un nombre a la carpeta (el valor por omisiÃ³n es "Nueva carpeta").</Text>
+<Text id="60">TambiÃ©n se pueden crear nuevas carpetas pulsando con el botÃ³n derecho el el Ã¡rbol de la colecciÃ³n, o sobre una carpeta,  eligiendo la opciÃ³n "Nueva carpeta" y continuando como se describe arriba.</Text>
+</Section>
+<Section name="addingfiles">
+<Title>
+<Text id="61">AÃ±adiendo archivos</Text>
+</Title>
+<Text id="62">Los archivos se pueden copiar arrastrÃ¡ndolos y colocÃ¡ndolos en una colecciÃ³n. El cursor se convierte en un fantasma del elemento seleccionado (o, si se ha seleccionado mÃ¡s de uno, del nÃºmero de ellos). Coloque la selecciÃ³n en la estructura de directorios y subdirectorios de la colecciÃ³n para copiar ahÃ­ los archivos (si la fuente son los archivos del Ã¡rea de trabajo) o muÃ©valos de lugar dentro de la misma colecciÃ³n (si la fuente son los archivos de la colecciÃ³n).</Text>
+<Text id="63">Cuando se copien varios archivos en una carpeta todos estarÃ¡n al mismo nivel, sin importar la estructura de las carpetas en las que se encontraban originalmente. Cuando se copie un segundo archivo con el mismo nombre en la misma carpeta se le preguntarÃ¡ si desea reemplazar el archivo existente. Si la respuesta es "No" entonces el archivo no se copiarÃ¡, pero los demÃ¡s sÃ­. Para cancelar las acciones restantes de copiado haga click en el botÃ³n "Detener".</Text>
+<Text id="64">Ãnicamente se moverÃ¡n los elementos "de mÃ¡s alto nivel" en una selecciÃ³n. Una carpeta estÃ¡ a un nivel mÃ¡s alto que los elementos que se encuentran en su interior, por lo que no se podrÃ¡n seleccionar los archivos de una carpeta y la carpeta al mismo tiempo.</Text>
+<Text id="65">Cuando se aÃ±ada un archivo, la Interfaz de Bibliotecario buscarÃ¡ a travÃ©s de las carpetas fuente los archivos auxiliares que contienen los metadatos asignados previamente a dicho archivo y, si encuentra alguno, empezarÃ¡ a importar estos metadatos. Conforme la operaciÃ³n siga adelante se le pedirÃ¡ (quizÃ¡ varias veces) que proporcione informaciÃ³n adicional para conciliar los metadatos importados con los conjuntos de metadatos de su colecciÃ³n. Este proceso incluye muchos avisos diferentes, los cuales se describen en la secciÃ³n <Reference target="importingpreviouslyassignedmetadata"/>. Para obtener una explicaciÃ³n mÃ¡s detallada sobre la forma de asociar metadatos a los archivos lea el CapÃ­tulo 2 de la GuÃ­a del Programador de Greenstone: Obteniendo el mÃ¡ximo beneficio de sus documentos.</Text>
+<Text id="65a">TambiÃ©n puede aÃ±adir un documento "de prueba" a la colecciÃ³n pulsando con el botÃ³n derecho en el Ã¡rbol de la colecciÃ³n o en una carpeta, y seleccionando <AutoText key="glidict::CollectionPopupMenu.New_Dummy_Doc"/>. Esto crearÃ¡ un documento vacÃ­o al que se podrÃ¡n asignar metadatos. Este fcihero podrÃ¡ ser reemplazado con un documento "real" mÃ¡s adelante.</Text>
+</Section>
+<Section name="replacingfiles">
+<Title>
+<Text id="65b">Renombrando y reemplazando ficheros</Text>
+</Title>
+<Text id="65c">Los archivos pueden renombrarse pulsando con el botÃ³n derecho del ratÃ³n sobre ellos y seleccionando <AutoText key="glidict::CollectionPopupMenu.Rename"/> de la lista. Introduzca el nuevo nombre y pulse "OK".</Text>
+<Text id="65d">Los archivos de la colecciÃ³n pueden cambiarse  pulsando sobre ellos con el botÃ³n derecho del ratÃ³n, y eligiendo <AutoText key="glidict::CollectionPopupMenu.Replace"/>. Se muestra un explorador de archivos: navegue hasta el nuevo documento y pulse "Abrir". El nuevo documento reemplazarÃ¡ al viejo en la colecciÃ³n, y recibirÃ¡ cualquier metadato del anterior. Esto es Ãºtil para reemplazar documento "de prueba" por documentos reales.</Text>
+<Text id="65e">Algunos tipos de archivos son convertidos a HTML por software de terceros durante el proceso de importaciÃ³n, por ejemplo, Word, Excel, PDF, etc. El HTML producido durante la importaciÃ³n puede resultar muy poco estÃ©tico. Estos documentos tienen una opciÃ³n adicional con el botÃ³n derecho del mouse: <AutoText key="glidict::Menu.Replace_SrcDoc_With_HTML"/>. Seleccionando esta opciÃ³n se reemplazarÃ¡ el archivo original en la colecciÃ³n con la versiÃ³n en HTML, la cual puede editarse.</Text>
+</Section>
+<Section name="removingfiles">
+<Title>
+<Text id="66">Eliminando archivos</Text>
+</Title>
+<Text id="67">Existen varios mÃ©todos para eliminar archivos y carpetas. Primero se deben indicar los elementos que se desea eliminar seleccionando los archivos y carpetas tal como se describe en la secciÃ³n de <Reference target="thegatherview"/>.</Text>
+<Text id="68">Una vez que se han seleccionado los archivos, haga click en el botÃ³n "Eliminar" o presione la tecla [Del], [Supr] o [Suprimir], dependiendo del teclado de su computadora, o arrÃ¡strelos desde la colecciÃ³n hasta el botÃ³n "Eliminar" y suÃ©ltelos ahÃ­.</Text>
+</Section>
+<Section name="explodingfiles">
+<Title>
+<Text id="exm-1">Expandiendo Ficheros de Metadados</Text>
+</Title>
+<Text id="exm-2">Se pueden importar tipos de archivos de bases de datos de metadatos, como MARC, OAI, CDS/ISIS, BibTEx, Refer y Procite, pero sus metadatos no se pueden ver ni editar en la Interfaz de Bibliotecario. De todas maneras, se puede "explotar" el archivo en el GLI y luego ver o editar los metadatos. Alternativamente, y en particular cuando estÃ© manteniendo una aplicaciÃ³n externa master, puede utilizar el programa que creÃ³ el archivo, hacer las correcciones y luego reimportar.</Text>
+<Text id="exm-3">"Expandir" un fichero de base de datos de metadatos en registros individuales, con metadatos visibles y editables. El proceso es irreversible: se borra el fichero original de metadatos.</Text>
+<Text id="exm-4">Los archivos expandibles muestran un icono verde en el Ã¡rbol de la colecciÃ³n. Para expandirlos, pulse el botÃ³n derecho del ratÃ³n sobre Ã©l, y elija <AutoText key="glidict::Menu.Explode_Metadata_Database"/>. Una ventana emergente mostrarÃ¡ opciones para el proceso. La primera opciÃ³n ("plugin") define el plugin a utilizar. En la mayorÃ­a de los casos, sÃ³lo un plugin puede procesar un tipo de fichero dado, pero en algunos casos, cuando los ficheros comparten la misma extensiÃ³n de nombre de fichero, puede haber dos plugins que procesen la misma extensiÃ³n. La opciÃ³n "input_encoding" se usa para indicar la codificaciÃ³n de la base de datos. La opciÃ³n "metadata_set" indica a que conjunto de metadatos deben aÃ±adirse los nuevos campos. Si no se indica ninguna, se le preguntarÃ¡ quÃ© hacer con cada campo nuevo de la base de datos: aÃ±adirlo como tal al conjunto en uso, unirlo a otro elemento, o ignorarlo.</Text>
+<Text id="exm-5">Cuando se expande un fichero, se crea un nuevo documento para cada registro, y se le asignan los datos de metadatos del registro original. Se nombran usando secuencias como 000001.nul, 000002.nul etc. Si se ha activado la opciÃ³n "document_field" (a un nombre de campo de la base de datos) se usarÃ¡ este varlo para el nombre. El proceso de expansiÃ³n tambiÃ©n intentarÃ¡ descargar el fichero y usarlo en vez de un fichero vacÃ­o. las opciones "document_prefix" y "document_suffix" pueden utilizarse para crear un URL o ruta vÃ¡lidos para el valor document_field. La opciÃ³n "records_per_folder" pueden usarse para agrupar registros expandido en subcarpetas. Si la base de datos es muy grande, usar esta opciÃ³n acelerarÃ¡ la ediciÃ³n subsecuente de metadatos.</Text>
+<Text id="exm-6">La expansiÃ³n se determina por la extensiÃ³n del nombre de fichero. En algunos casos, los ficheros pueden etiquetarse incorrectamente como expandibles, si tienen extensiones similares. Por ejemplo, el plugin para ProCite procesa ficheros con al extensiÃ³n .txt, pero muchos ficheros .txt son sÃ³lo ficheros de texto, no de ProCite.</Text>
+</Section>
+<Section name="filteringthetree">
+<Title>
+<Text id="69">Filtrando la estructura de directorios y subdirectorios</Text>
+</Title>
+<Text id="70">"Filtrar" la estructura de directorios y subdirectorios de la colecciÃ³n limita la bÃºsqueda a determinados tipos de ficheros.</Text>
+<Text id="71">El menÃº "Mostrar archivos" debajo de cada estructura de directorios y subdirectorios muestra una lista de filtros definidos previamente, como por ejemplo el de "ImÃ¡genes". Al elegir uno se ocultan temporalmente todos los demÃ¡s archivos. Para restaurarlos, cambie el filtro a "Todos los archivos". Estas operaciones no alteran la colecciÃ³n ni afectan las carpetas en la estructura de archivos.</Text>
+<Text id="72">Se puede especificar un filtro en particular escribiendo un patrÃ³n que corresponda con los tipos de ficheros que se desea filtrar (SÃ³lo en los modos Bibliotecario y Experto). Utilice las abreviaturas estÃ¡ndar del sistema como "*.*" o "*.doc" ("*" equivale a cualquier caracter).</Text>
+</Section>
+</Section>
+<Section name="enrichingacollection">
+<Title>
+<Text id="73">Enriqueciendo la colecciÃ³n con metadatos</Text>
+</Title>
+<Text id="74">DespuÃ©s de haber juntado varios archivos en una colecciÃ³n, enriquÃ©zcalos con informaciÃ³n adicional. Esta secciÃ³n explica la forma en que se crean, editan, asignan y recuperan los metadatos, y la forma de usar fuentes externas de metadatos (vÃ©ase tambiÃ©n el CapÃ­tulo 2 de la GuÃ­a del Programador de Greenstone: Obteniendo el mÃ¡ximo beneficio de sus documentos).</Text>
+<Section name="theenrichview">
+<Title>
+<Text id="75">La pantalla de asignaciÃ³n de metadatos</Text>
+</Title>
+<Text id="76">Utilice la vista <AutoText key="glidict::GUI.Enrich"/> para asignar metadatos a los documentos de la colecciÃ³n. Los metadatos son datos acerca de los datos: tÃ­tulo, autor, fecha de creaciÃ³n, etc. Cada metadato tiene dos partes: <AutoText key="glidict::Metadata.Element"/> dice el tipo de metadato que es (como por ejemplo el autor) y <AutoText key="glidict::Metadata.Value"/> da la informaciÃ³n de ese elemento (como por ejemplo el nombre del autor).</Text>
+<Text id="77">En la parte izquierda de la vista <AutoText key="glidict::GUI.Enrich"/> se encuentra el Ã¡rbol de la colecciÃ³n. Toda la funcionalidad del botÃ³n derecho disponible para el Ã¡rbol de la colecciÃ³n en <AutoText key="glidict::GUI.Gather"/> tambiÃ©n estÃ¡ disponible aquÃ­. A la derecha estÃ¡ la Tabla de Metadatos, que muestra los metadatos de los ficheros y carpetas seleccionados. Los nombres de las columnas estÃ¡n en gris en la parte superior y se pueden cambiar de tamaÃ±o arrastrando la lÃ­nea que las separa. Si se seleccionan varios archivos, el texto en negro indica que el valor es comÃºn a todos ellos, mientras que el texto sombreado indica que no. La ediciÃ³n de los valores en gris sÃ³lo afecta a aquellos documentos con esos metadatos. Cualquier nuevo metadato introducido se aÃ±adirÃ¡ a los valores seleccionados.</Text>
+<Text id="78">Un icono en forma de carpeta puede aparecer junto a algunas entradas de metadatos. Esto indica que los valores se heredan de la carpeta en la que se encuentra el archivo. Los metadatos heredados no se pueden editar o eliminar, sino Ãºnicamente agregarse. Haga click en el icono de la carpeta para ir inmediatamente a la carpeta en la que se asignaron los metadatos.</Text>
+<Text id="79">Pulsando sobre el elemento de metadato en la tabla se mostrarÃ¡n los valores existentes  para ese elemento en el Ã¡rea <AutoText key="glidict::EnrichPane.ExistingValues" args="..."/> situada debajo de la tabla. La estructura de valores se puede expandir y contraer. Normalmente es una lista que muestra todos los valores introducidos previamente para un elemento seleccionado. Pulsando en una entrada Ã©sta aparece automÃ¡ticamente en el campo de valores. Y a la inversa, al escribir en el campo se selecciona la entrada de la estructura de valores que empieza con los caracteres introducidos. Al pulsar [Tab] se completa automÃ¡ticamente el valor seleccionado.</Text>
+<Text id="80">Los valores de los metadatos se pueden organizar jerÃ¡rquicamente. Esto se muestra en la estructura de valores por medio de carpetas para los niveles internos. Los valores jerÃ¡rquicos pueden ingresarse utilizando el carÃ¡cter "|" para separar los niveles. Por ejemplo, se puede usar "Cartas|Rojo|Diamantes|Siete" en una jerarquÃ­a que representa un mazo de cartas. Esto permite agrupar los valores, en tanto que los grupos tambiÃ©n pueden asignarse en forma de metadatos a los archivos.</Text>
+<Text id="81">Greenstone extrae automÃ¡ticamente los metadatos de los documentos para formar un conjunto de metadatos cuyos elementos llevan el prefijo "ex.". Ãste no tiene estructura de valores y no puede editarse.</Text>
+</Section>
+<Section name="selectingmetadatasets">
+<Title>
+<Text id="82">Seleccionando conjuntos de metadatos</Text>
+</Title>
+<Text id="83">Los grupos de elementos de metadatos definidos previamente son conocidos como "conjuntos de metadatos". Un ejemplo es el conjunto de metadatos de Dublin Core. Cuando se aÃ±ade un conjunto de metadatos a una colecciÃ³n, sus elementos se vuelven elegibles para que el usuario los pueda seleccionar. TambiÃ©n se puede tener mÃ¡s de un conjunto. Para evitar conflictos de nombre, un identificador que describe al conjunto de metadatos se agrega como prefijo al nombre del elemento. Por ejemplo, el elemento Creator de Dublin Core se convierte en "dc.Creator". Los conjuntos de metadatos se guardan en la carpeta de metadatos de la Interfaz de Bibliotecario y llevan el sufijo ".mds".</Text>
+<Text id="84">Cuando crea una colecciÃ³n nueva, por defecto se aÃ±ade el conjunto de metadatos Dublin Core. Puede cambiar el conjunto de metadatos usado en una colecciÃ³n pulsando el botÃ³n <AutoText key="glidict::EnrichPane.ManageMetadataSets"/> en el Ã¡rbol de la colecciÃ³n en la vista Enriquecer. Se le muestra una nueva ventana para gestionar los conjuntos de metadatos de la colecciÃ³n.</Text>
+<Text id="84a">La lista <AutoText key="glidict::MetadataSetDialog.Current_Sets"/> muestra que conjuntos estÃ¡n siendo usados por la colecciÃ³n.</Text>
+<Text id="84b">Para usar otro conjunto de metadatos con la colecciÃ³n cargada, pulse "AÃ±adir..." Una ventana emergente muestra los conjuntos predefinidos de metadatos reconocidos por GLI. Para aÃ±adir uno de ellos, selecciÃ³nelo de la lista desplegable y pulse "AÃ±adir". Si ha definido su propio conjunto de metadatos use el botÃ³n "Explorar" para localizar el fichero en su sistema.</Text>
+<Text id="84c">Para crear un nuevo conjunto de metadatos, pulse "Nuevo..." Esto iniciarÃ¡ el Editor Greentone para Conjuntos de Metadatos, GEMS. Una ventana inicial le preguntarÃ¡ el nombre del conjunto, el espacio de nombres y la descripciÃ³n. TambiÃ©n puede elegir basar el nuevo conjunto en otro ya existente, en cuyo caso heredarÃ¡ los elementos ya existentes en Ã©ste. Pulse OK. La ventana principal muestra el conjunto de metadatos en el panel izquierdo y algunos atributos del conjunto en el panel derecho. Si ha basado el conjunto en otro ya existente, se mostrarÃ¡n uno o mÃ¡s elementos. Pulsando en uno de ellos se mostrarÃ¡n sus atributos en el panel derecho.</Text>
+<Text id="84d">Para aÃ±adir un nuevo elemento, pulse con el botÃ³n derecho del ratÃ³n en el conjunto y seleccione "AÃ±adir elemento". Para aÃ±adir un nuevo subelemento, pulse con el botÃ³n derecho del ratÃ³n y seleccione "AÃ±adir subelemento". Los elementos y subelementos pueden borrarse seleccionando "Borrar (Sub)Elemento" del menÃº emergente.</Text>
+<Text id="84e">Nota:  El editor Greenstone para Conjuntos de Metadatos puede ejecutarse independientemente de GLI, seleccionÃ¡ndolo del menÃº de inicio de Greenstone, o ejecutando gems.sh o gems.bat en la carpeta "gli" de su instalaciÃ³n de Greenstone.</Text>
+<Text id="84f">Algunas veces dos conjuntos de metadatos pueden tener el mismo espacio de nombre, por ejemplo Dublin Core y Dublin Core Cualificado, que usan "dc". Estos conjuntos no pueden usarse en una colecciÃ³n simultÃ¡neamente. Si lo intenta, recibirÃ¡ un mensaje de alerta. Si continÃºa, se leiminarÃ¡ el conjunto existente y se aÃ±adirÃ¡ en nuevo. Todos los elementos de metadatos asignados se trasnferirÃ¡n al nuevo conjunto si exisnten en el mismo.</Text>
+<Text id="191">El Editor Greenstone para Conjuntos de Metadatos (GEMS) permite editar conjuntos de metadatos y crear otros nuevos. Pulsando el botÃ³n "Editar" se ejecuta GEMS sobre el conjunto de metadatos abierto. Una vez que ha terminado de editar el conjunto (como se ha indicado arriba), guÃ¡rdelo (Fichero->Guardar) y cierre GEMS:</Text>
+<Text id="192">Si una colecciÃ³n ya no necesita un conjunto de metadatos, selecciÃ³nelo y pulse "Borrar Conjunto de Metadatos" para eliminarlo. Si habÃ­a asignado metadatos a cualquier elemento del conjunto borrado, se le preguntarÃ¡ cÃ³mo actuar con estos metadatos cuando vuelva a abrir la colecciÃ³n.</Text>
+</Section>
+<Section name="appendingmetadata">
+<Title>
+<Text id="85">Agregando nuevos metadatos</Text>
+</Title>
+<Text id="86">Ahora aÃ±adiremos un Ã­tem de metadato -- tanto un elemento como un valor -- a un archivo. Primero, seleccione el archivo en la estructura de directorios y subdirectorios de la colecciÃ³n que se encuentra a la izquierda. Esto hace que cualquier metadato asignado previamente a este archivo aparezca en la tabla de la derecha.</Text>
+<Text id="87">A continuaciÃ³n, seleccione el elemento de metadato que desea aÃ±adir haciendo click en la fila correspondiente de la tabla.</Text>
+<Text id="88">Escriba el valor en el campo de valores. Use el carÃ¡cter "|" para aÃ±adir estructura, tal y como se explica en <Reference target="theenrichview"/>. Pulsando las teclas de flecha [Arriba] o [Abajo] se guardarÃ¡n los metadatos y se moverÃ¡ la selecciÃ³n adecuadamente. Pulsando [Retorno] se guardarÃ¡n los metadatos y se crearÃ¡ una nueva entrada vacÃ­a para un elemento de metadato, permitiendo asignar varios valores al mismo.</Text>
+<Text id="89">TambiÃ©n se pueden aÃ±adir metadatos a una carpeta o a varios archivos seleccionados al mismo tiempo. Estos metadatos se aÃ±adirÃ¡ a todos los archivos que forman parte de la carpeta o de la selecciÃ³n, asÃ­ como a las subcarpetas. Recuerde que si usted asigna metadatos a una carpeta, todos los archivos nuevos que se encuentren en ella heredarÃ¡n automÃ¡ticamente los valores de la carpeta.</Text>
+</Section>
+<Section name="addingpreviouslydefinedmetadata">
+<Title>
+<Text id="90">AÃ±adiendo Metadatos Previamente Definidos</Text>
+</Title>
+<Text id="91">Para aÃ±adir metadatos que tengan ya un valor previo, seleccione primero el fichero y a continuaciÃ³n el valor requerido de la estructura de valores, expandiendo las carpetas tanto como sea necesario. El valor de la entrada seleccionada aparecerÃ¡ automÃ¡ticamente en el campo del metadato (otra alternativa es utilizar las funciones de selecciÃ³n automÃ¡tica y relleno automÃ¡tico de la estructura de valores). </Text>
+<Text id="92">El proceso de aÃ±adir metadatos con valores existentes a carpetas o a varios archivos juntos es exactamente igual.</Text>
+</Section>
+<Section name="updatingmetadata">
+<Title>
+<Text id="93">Editar o Borrar Metadatos</Text>
+</Title>
+<Text id="94">Para editar o borrar elementos de metadato, primero seleccione el campo apropiado, y luego el valor de metadato de la tabla. Edite el campo del valor, y borre todo el texto si quiere borrar el metadato.</Text>
+<Text id="95">El proceso es el mismo cuando se actualiza un directorio que contiene subdirectorios o mÃºltiples archivos, pero sÃ³lo se pueden actualizar metadatos que sean comunes a todos los archivos y carpetas seleccionados.</Text>
+<Text id="96">El arbol de valores muestra todos los valores asignados actualmente, asÃ­ como todos los valores previos de la sesiÃ³n activa, por lo que los valores modificados o borrados permanecerÃ¡n en el Ã¡rbol. Si cierra y vuelve a abrir la colecciÃ³n, se borrarÃ¡n los valores que ya no estÃ¡n asignados.</Text>
+</Section>
+<Section name="reviewingmetadata">
+<Title>
+<Text id="97">Revisando los metadatos asignados</Text>
+</Title>
+<Text id="98">En ocasiones es necesario ver los metadatos asignados a varios o a todos los ficheros al mismo tiempo, por ejemplo, para determinar la forma en que quedan muchos archivos para trabajar en ellos o para tener una idea de la diferencia de tiempo entre las fechas.</Text>
+<Text id="99">Seleccione los ficheros que desea examinar, pulse el botÃ³n derecho del ratÃ³n y elija "Metadatos AsignadosâŠ". AparecerÃ¡ una ventana llamada "Todos los metadatos", ocupada en su mayor parte por una tabla de varias columnas. La primera columna muestra los nombres de los archivos, mientras que las filas muestran todos los valores asignados a dichos archivos.</Text>
+<Text id="100">Si se seleccionaron muchos archivos es posible que transcurra algÃºn tiempo antes de que se abra la ventana. Mientras tanto usted puede seguir usando la Interfaz de Bibliotecario.</Text>
+<Text id="101">Cuando la tabla sea demasiado grande se puede refinar aplicando los filtros a las columnas. Conforme se aÃ±adan nuevos filtros, Ãºnicamente aquellas filas que concuerden con ellos seguirÃ¡n siendo visibles. Para establecer, modificar o borrar un filtro haga click en el icono con forma de embudo que se encuentra en la parte superior de la columna. Se le indicarÃ¡ que proporcione informaciÃ³n sobre el filtro. Una vez que un filtro se ha aplicado, el encabezado de la columna cambia de color.</Text>
+<Text id="102">El aviso tiene una pestaÃ±a "Sencilla" y una "Avanzada". La versiÃ³n sencilla filtra las columnas de tal manera que sÃ³lo muestren las filas que contienen un determinado valor ("*" corresponde a todos los valores). Los valores se pueden seleccionar de la lista desplegable. La versiÃ³n avanzada permite diferentes operaciones de concordancia: "debe empezar con", "no contiene", "alfabÃ©ticamente menos que" y "es igual a". El valor se puede editar con cualquier cadena de caracteres (incluyendo "*") y se puede elegir que la concordancia no tome en cuenta el caso. Finalmente, se puede especificar una segunda condiciÃ³n de concordancia que se puede usar para especificar un rango de valores (seleccionando "Y") o valores alternativos (seleccionando "O"). Debajo de esta Ã¡rea hay un cuadro que le permite cambiar el orden de clasificaciÃ³n (ascendente o descendente). Una vez que haya terminado, haga click en "Filtrar" para aplicar el nuevo filtro a la columna. Para quitar el filtro haga click en "Borrar filtro". Recuerde que los detalles del filtro se conservan incluso cuando el filtro se borra.</Text>
+<Text id="103">Por ejemplo, para ordenar la tabla elija una columna, seleccione el filtro por omisiÃ³n (un filtro Sencillo en "*") y escoja el orden ascendente o descendente.</Text>
+</Section>
+<Section name="importingpreviouslyassignedmetadata">
+<Title>
+<Text id="104">Importando metadatos previamente asignados</Text>
+</Title>
+<Text id="105">Esta secciÃ³n describe cÃ³mo importar metadtos previamente asignados, es decir, metadatos asignados a los documentos antes de que fuesen aÃ±adidos a la colecciÃ³n.</Text>
+<Text id="106">Si se han asignado previamente metadatos en una forma reconocible por la Interfaz de Bibliotecario, por ejemplo, cuando se seleccionan documentos de una colecciÃ³n Greenstone existente, entonces Ã©stos se importarÃ¡n automÃ¡ticamente cuando usted aÃ±ada el archivo. Para poder hacer esto los metadatos deben mapearse hacia el conjunto de metadatos disponible en la colecciÃ³n.</Text>
+<Text id="107">La Interfaz de Bibliotecario enviarÃ¡ un mensaje solicitando la informaciÃ³n necesaria. El mensaje incluirÃ¡ breves instrucciones y a continuaciÃ³n mostrarÃ¡ el nombre del elemento de metadato que se estÃ¡ importando, tal como aparece en el archivo fuente. Este campo no se podrÃ¡ editar o cambiar. A continuaciÃ³n elija el conjunto de metadatos hacia el que el nuevo elemento deberÃ¡ mapearse y el correspondiente elemento de metadato en ese conjunto. El sistema selecciona automÃ¡ticamente la correspondencia mÃ¡s cercana en tÃ©rminos de conjunto y elemento para el nuevo metadato.</Text>
+<Text id="108">DespuÃ©s de revisar el mapeo, usted puede elegir "AÃ±adir" para aÃ±adir el nuevo elemento de metadato al conjunto de metadatos que se haya seleccionado. (Esto sÃ³lo es posible si no hay un elemento del mismo nombre dentro del conjunto seleccionado.) "Combinar" mapea el nuevo elemento hacia el que el usuario haya elegido. Finalmente, "Ignorar" no importa ningÃºn metadato con este nombre de elemento. Una vez que usted haya especificado la forma de importar una parte del metadato, la informaciÃ³n del proceso se conserva durante todo el tiempo de vida de la colecciÃ³n.</Text>
+<Text id="109">Para mayor informaciÃ³n sobre los archivos metadata.xml que Greenstone utiliza para guardar metadatos, vea el CapÃ­tulo 2 de la GuÃ­a del Programador de Greenstone: Obteniendo el mÃ¡ximo beneficio de sus documentos.</Text>
+</Section>
+</Section>
+<Section name="designingacollection">
+<Title>
+<Text id="110">Configurando su colecciÃ³n</Text>
+</Title>
+<Text id="111">Una vez que los ficheros estÃ¡n marcados con metadatos, a continuaciÃ³n se debe decidir cÃ³mo debe mostrarse los documentos a los usuarios finales. Â¿QuÃ© tipo de informaciÃ³n se podrÃ¡ buscar? Â¿De quÃ© medios se dispone para navegar por los documentos? Â¿En quÃ© idiomas? Â¿DÃ³nde aparecerÃ¡n los botones en la pÃ¡gina? Todas estas cosas se pueden personalizar. Esta secciÃ³n describe la forma de hacerlo.</Text>
+<Section name="thedesignview">
+<Title>
+<Text id="112">La pantalla de diseÃ±o</Text>
+</Title>
+<Text id="113">Esta secciÃ³n le presenta la pantalla de DiseÃ±o y le explica la forma de navegar entre las diferentes opciones de este conjunto.</Text>
+<Text id="114">Con la Interfaz de Bibliotecario usted puede configurar la forma en que se procesan los documentos y la colecciÃ³n se muestra al usuario. Las opciones se dividen en diferentes secciones, cada una relacionada con una etapa dada de personalizaciÃ³n.</Text>
+<Text id="115">A la izquierda se encuentra una lista de las diferentes pantallas, en tanto que a la derecha estÃ¡n los controles asociados a la pantalla que estÃ¡ activa en ese momento. Para cambiar a una pantalla diferente haga click en la lista.</Text>
+<Text id="116">Para entender las etapas y los tÃ©rminos usados en el diseÃ±o de una colecciÃ³n, lea primero los CapÃ­tulos 1 y 2 de la GuÃ­a del Programador de Greenstone.</Text>
+</Section>
+<Section name="plugins">
+<Title>
+<Text id="121">Plugins</Text>
+</Title>
+<Text id="122">Esta secciÃ³n describe la forma de configurar los plugins que la colecciÃ³n utiliza. Explica el modo de especificar los plugins que se utilizarÃ¡n, los parÃ¡metros que emplearÃ¡n y el orden en el que se aplicarÃ¡n. En la vista "DiseÃ±o" pulse en "Plugins de documento".</Text>
+<Text id="123">Para aÃ±adir un plugin, escÃ³jalo de la lista "Seleccione el plugin que se va a aÃ±adir" que se encuentra en la parte inferior de la pantalla y pulse en "AÃ±adir plugin". AparecerÃ¡ una ventana titulada "Argumentos de configuraciÃ³n", la cual se explica mÃ¡s adelante. Una vez que usted haya configurado el nuevo plugin, este se aÃ±adirÃ¡ al final de la lista de "Plugins asignados actualmente". Por lo general, se tendrÃ¡ una sola instancia de cada plugin. De todas maneras, puede aÃ±adirse el mismo plugin mÃ¡s de una vez. El argumento process_exp debe configurarse para que esto Ãºltimo sea de utilidad. </Text>
+<Text id="123aa">Para ver una breve descripciÃ³n del plugin, selecciÃ³nelo en la lista desplegable "Seleccione plugins a aÃ±adir", y ponga el cursor sobre Ã©l. Se mostrarÃ¡ una nota emergente con la descripciÃ³n.</Text>
+<Text id="124">Para quitar un plugin de la lista, selecciÃ³nelo y haga click en "Eliminar plugin".</Text>
+<Text id="125">Los plugins se configuran por medio de argumentos. Para modificarlos, seleccione un plugin de la lista y haga click en "Configurar plugin" (o doble click en el plugin). Aparece un diÃ¡logo "Configurando Argumentos" con varios controles para especificar argumentos.</Text>
+<Text id="126">Existen diferentes tipos de controles. Algunos son recuadros y al hacer click en ellos se aÃ±ade la opciÃ³n correspondiente al plugin. Otros son cadenas de texto con un recuadro y un campo de texto. Haga click en el cuadro para habilitarlo y escriba el argumento (expresiÃ³n regular, ruta de archivo, etc.). Otros son menÃºs descendentes desde los que se puede seleccionar un conjunto dado de valores. Para saber lo que hace un argumento, coloque el cursor del mouse encima de su nombre y la descripciÃ³n aparecerÃ¡.</Text>
+<Text id="127">Una vez que usted haya cambiado la configuraciÃ³n, haga click en "Aceptar" para guardar los cambios y cerrar el cuadro de diÃ¡logo o en "Cancelar" para cerrar el cuadro de diÃ¡logo sin cambiar ningÃºn argumento.</Text>
+<Text id="128">Los plugins de la lista se ejecutan en orden y en ocasiones Ã©ste es importante. Seleccione un plugin de la lista y use los botoness <AutoText key="glidict::CDM.Move.Move_Up"/> y <AutoText key="glidict::CDM.Move.Move_Down"/> para cambiar su posiciÃ³n.</Text>
+</Section>
+<Section name="searchindexes">
+<Title>
+<Text id="134">Ãndices de bÃºsqueda</Text>
+</Title>
+<Text id="si-1">Los Ã¯ndices especifican que partes de la colecciÃ³n son buscables. Esta secciÃ³n explica como aÃ±adir y quitar Ã­ndices, y cÃ³mo fijar un Ã­ndice predefinido. Bajo la pestaÃ±a  <AutoText key="glidict::GUI.Design"/>, pulse <AutoText key="glidict::CDM.GUI.Indexes"/>.</Text>
+<Text id="si-2">La parte superior derecha del panel <AutoText key="glidict::CDM.GUI.Indexes"/> muestra informaciÃ³n sobre el indizador que estÃ¡ usando la colecciÃ³n. Puede cambiarse pulsando <AutoText key="glidict::CDM.BuildTypeManager.Change"/>. Se muestra una ventana emergente con una lista de opciones: MG, MGPP, y Lucene. Cambiarlo afecta a la forma en que se construyen los Ã­ndices, y puede afectar a las funcionalidades de bÃºsqueda.</Text>
+<Text id="si-2a">La lista <AutoText key="glidict::CDM.IndexManager.Indexes"/> muestra los Ã­ndices asignados a la colecciÃ³n.</Text>
+<Text id="si-3">Para aÃ±adir un Ã­ndice, pulsek <AutoText key="glidict::CDM.IndexManager.New_Index"/>... Se mostrarÃ¡ una ventana emergente con una lista de fuentes, que incluirÃ¡ texto y metadatos. Seleccione que fuentes quiere indizar. Los botones <AutoText key="glidict::CDM.IndexManager.Select_All"/> y <AutoText key="glidict::CDM.IndexManager.Select_None"/> marcarÃ¡n o desmarcarÃ¡n todos los elementos de la lista respectivamente. Nua vez definido un nuevo Ã­ndice, pulse <AutoText key="glidict::CDM.IndexManager.Add_Index"/> para aÃ±adirlo a la colecciÃ³n. <AutoText key="glidict::CDM.IndexManager.Add_Index"/> sÃ³lo se activarÃ¡ una vez que se hayan definido parÃ¡metros para un Ã­ndice que aÃºn no se ha asignado a la colecciÃ³n.</Text>
+<Text id="s1-3a">Para los Ã­ndices de MGPP, puede necesitar establecer la granularidad del Ã­ndice, usando el menÃº <AutoText key="glidict::CDM.IndexManager.Level"/>.</Text>
+<Text id="si-4">Para los Ã­ndices de MGPP y Lucene, la granularidad se establece globalmente, no por Ã­ndice. Los niveles posibles se muestran en el panel principal <AutoText key="glidict::CDM.GUI.Indexes"/>, y pueden aÃ±adirse a la colecciÃ³n marcando las casillas correspondientes.</Text>
+<Text id="si-5">Hay disponible un Ã­ndice especial para MGPP y Lucene: un Ã­ndice "todos los campos (allfields)" que ofrece una bÃºsqeuda combianda sobre todos los Ã­ndices indicados, sin tener que indicar un Ã­ndice separado que contenga todas las fuentes. Para aÃ±adir este Ã­ndice pulse marque <AutoText key="glidict::CDM.IndexManager.Allfields_Index"/> y pulse <AutoText key="glidict::CDM.IndexManager.Add_Index"/>. </Text>
+<Text id="si-6">Para MGPPP y Lucene se ofrece un botÃ³n <AutoText key="glidict::CDM.IndexManager.Add_All"/>, como atajo para aÃ±adir todos los metadatos e fuentes de texto como Ã­ndices individuales.</Text>
+<Text id="si-7">Para editar un Ã­ndice, selecciÃ³nelo y pulse <AutoText key="glidict::CDM.IndexManager.Edit_Index"/>. Se muestra un diÃ¡logo similar a <AutoText key="glidict::CDM.IndexManager.New_Index"/>.</Text>
+<Text id="si-8">Para borrar un Ã­ndice, selecciÃ³nelo de la lista de Ã­ndices asignados y pulse <AutoText key="glidict::CDM.IndexManager.Remove_Index"/>.</Text>
+<Text id="si-9">El orden en el que se indican los Ã­ndices en la Lista de Ãndices Asignados es el orden en el cual se muestran en el menÃº desplegable de la pÃ¡gina de bÃºsqueda. Use los botones  <AutoText key="glidict::CDM.Move.Move_Up"/> y <AutoText key="glidict::CDM.Move.Move_Down"/> para cambiar este orden.</Text>
+<Text id="si-10">El preseleccionado en la pÃ¡gina de bÃºsqueda es llamado "Ã­ndice predefinido". Puede fijarse seleionando un Ã­ndice de la lista y marcando "Predefinido". El Ã­ndice predefinido es marcadao como "[Ãndice predefinido]" en la lista de "Ãndices Asignados". Si no se ha establecido, se usarÃ¡ el primero.</Text>
+<Text id="si-11">Los nombres usados en la lista desplegable de Ã­ndices de la pÃ¡gina de bÃºsqueda puede fijarse en el panel <AutoText key="glidict::CDM.GUI.SearchMetadata"/> de la vista <AutoText key="glidict::GUI.Format"/>  (vÃ©ase <Reference target="searchmetadatasettings"/>).</Text>
+<Section name="searchindexoptions">
+<Title>
+<Text id="sio-1">Opciones de Ã­ndices de bÃºsqueda</Text>
+</Title>
+<Text id="sio-2">Hay algunas opciones adicionales que controlan la manera en la que se construyen los Ã­ndices. Estas pueden no estar disponibles para un Ã­ndice en particular, en cuyo caso se mostrarÃ¡n grisadas.</Text>
+<Text id="sio-3">Truncamiento (Stemming) y Distinguir May/Min (case-folding) pueden habilitarse o deshabilitarse para los Ã­ndices construÃ­dos con MG y MGPP. Si son habilitados, se crearÃ¡n Ã­ndices que le permitirÃ¡n al usuario buscar usando dichas opciones o bien no tenerlas en cuenta. Si son deshabilitadas, las bÃºsquedas seran sensitivas a las mayÃºsculas y sin posibilidad de truncamiento y las opciones no se mostrarÃ¡n en la pÃ¡gina de preferencias de la colecciÃ³n.</Text>
+<Text id="sio-4">La distinciÃ³n de acentos (Accent-folding) estÃ¡ disponible para Ã­ndices MGPP. Funciona de una manera similar a la distinciÃ³n de mayÃºsculas/minÃºsculas, pero en vez de hacer coincidir letras mayÃºsculas y minÃºsculas logra la coincidencia de letras con diacrÃ­ticos con aquellas que no lo tienen. El Ã­ndice Lucene es accent-folded por defecto, pero no mostrarÃ¡ ninguna opciÃ³n al usuario en la pÃ¡gina de preferencias para habilitarlo o deshabilitarlo</Text>
+<Text id="sio-5">El Texto escrito en Chino, JaponÃ©s y Coreano por lo general no esta segmentado en palabras individuales. Como la indexaciÃ³n se basa en las palabras presentes en el texto, esto resulta en un Ã­ndice no buscable. Configurando la opciÃ³n <AutoText key="glidict::CDM.IndexingManager.Separate_cjk"/> se agregarÃ¡n espacios entre cada caracter Chino/JaponÃ©s/Coreano del texto y en los tÃ©rminos de bÃºsqueda, de forma que pueda efectuarse una bÃºsqueda a nivel de caracter.</Text>
+</Section>
+</Section>
+<Section name="partitionindexes">
+<Title>
+<Text id="143">Particiones</Text>
+</Title>
+<Text id="144">Los Ã­ndices se construyen sobre fuentes de metadatos o textos especÃ­ficos. El espacio de bÃºsqueda se puede controlar aÃºn mÃ¡s particionando el Ã­ndice, ya sea por idioma o por medio de un filtro determinado previamente. Esta secciÃ³n describe la forma de hacerlo. En la parte de "DiseÃ±oo" pulse en "Ãndices de particiÃ³n".</Text>
+<Text id="145">La vista "Particionar Ã­ndices" tiene tres pestaÃ±as: "Definir filtros", "Asignar particiones" y "Asignar idiomas". Para saber mÃ¡s acerca de las particiones y las subcolecciones revise el CapÃ­tulo 2 de la GuÃ­a del Programador de Greenstone.</Text>
+<Text id="146">Tenga en cuenta que para las colecciones MG, el nÃºmero total de particiones generadas es una combinaciÃ³n de todos los Ã­ndices, filtros de subcolecciÃ³n e idiomas elegidos. Dos Ã­ndices, con dos filtros de subcolecciÃ³n en dos idiomas generarÃ¡n ocho particiones de Ã­ndices. En MGPP, todos los Ã­ndices son creados en un solo Ã­ndice fÃ­sico, por lo que solo habrÃ¡ 4 particiones de Ã­ndices. En Lucene, el nÃºmero de Ã­ndices fÃ­sicos estÃ¡ determinado por el nÃºmero de niveles asignados a la colecciÃ³n, un Ã­ndice por nivel. Por ende, para la situaciÃ³n anterior, un nivel resultarÃ­a en cuatro Ã­ndices fÃ­sicos, mientras que dos niveles resultarÃ­an en ocho.</Text>
+<Section name="definefilters">
+<Title>
+<Text id="147">Definir filtros</Text>
+</Title>
+<Text id="148">Los filtros le permiten agrupar en una subcolecciÃ³n todos los documentos de un Ã­ndice para los cuales un valor de metadato sigue un patrÃ³n definido.</Text>
+<Text id="149">Para crear un filtro haga click en la pestaÃ±a "Definir filtros" y escriba el nombre del nuevo filtro en el campo titulado "Nombre del filtro de la subcolecciÃ³n". A continuaciÃ³n elija un atributo del documento con el cual se va a contrastar, ya sea un elemento de metadato o el nombre del archivo en cuestiÃ³n. Ingrese una expresiÃ³n regular que se utilizarÃ¡ durante la contrastaciÃ³n. Usted puede variar libremente entre "Incluir" documentos que concuerden con el filtro o "Excluirlos". Por Ãºltimo, usted tambiÃ©n puede especificar cualquiera de los indicadores estÃ¡ndar de expresiones regulares PERL para usarlos al momento de contrastar (p. ej. "i" para concordancias que no tomen en cuenta el caso). Haga click en "AÃ±adir filtro" para aÃ±adir el filtro a la lista de "Filtros definidos para la subcolecciÃ³n".</Text>
+<Text id="150">Para quitar un filtro de la lista, selecciÃ³nelo y haga click en "Eliminar filtro".</Text>
+<Text id="151">Para modificar un filtro, selecciÃ³nelo de la lista, cambie cualquiera de los valores que aparecen en los controles de ediciÃ³n y haga click en "Reemplazar filtro" para guardar los cambios.</Text>
+<Text id="151a">Definir filtros no crea subcolecciones. Las subcolecciones se especifican en <AutoText key="glidict::CDM.SubcollectionManager.Subindex_Controls"/>, basadas en los filtros que se hayan creado.</Text>
+</Section>
+<Section name="assignpartitions">
+<Title>
+<Text id="152">Asignar particiones</Text>
+</Title>
+<Text id="153">Una vez que haya definido el filtro de una subcolecciÃ³n, utilice la pestaÃ±a "Asignar particiones" para construir los Ã­ndices del filtro (o de un grupo de filtros). Seleccione el filtro o los filtros que desee de la lista "Filtros definidos para la subcolecciÃ³n", y pulse "AÃ±adir ParticiÃ³n". Cada particiÃ³n producirÃ¡  una subcolecciÃ³n de documentos que cumnplan las condiciones asociadas con la particiÃ³n.</Text>
+<Text id="154a">Para cambiar una particiÃ³n, selecciÃ³nela de la lista, modifique los filtros, y pulse <AutoText key="glidict::CDM.SubcollectionIndexManager.Replace_Subindex"/>.</Text>
+<Text id="154">Para quitar una particiÃ³n de la lista, selecciÃ³nela y haga click en "Eliminar particiÃ³n".</Text>
+<Text id="154b">El orden de las particiones en al lista de particiones Asignadas es el orden en el que aparecen en el menÃº desplegable de la pÃ¡gina de bÃºsqueda. Use los botones <AutoText key="glidict::CDM.Move.Move_Up"/> y <AutoText key="glidict::CDM.Move.Move_Down"/> para cambiar el orden.</Text>
+<Text id="155">Para hacer que una particiÃ³n determinada sea el valor predefinido, selecciÃ³nela de la lista y pulse <AutoText key="glidict::CDM.SubcollectionIndexManager.Set_Default_Subindex"/>.</Text>
+<Text id="155a">Los nombres usados en la lista desplegable de particiones de la pÃ¡gina de bÃºsqueda se establece en la parte <AutoText key="glidict::CDM.GUI.SearchMetadata"/> del panel <AutoText key="glidict::GUI.Format"/> (vÃ©ase <Reference target="searchmetadatasettings"/>).</Text>
+</Section>
+<Section name="assignlanguages">
+<Title>
+<Text id="156">Asignar idiomas</Text>
+</Title>
+<Text id="157">Esta secciÃ³n describe la forma de limitar los Ã­ndices de bÃºsqueda a ciertos idiomas. Esto se hace generando una particiÃ³n por medio de la pestaÃ±a "Asignar idiomas" que se encuentra en la pantalla "Particionar Ã­ndices".</Text>
+<Text id="157-1">Las particiones de idioma utilizan metadatos para determinar cuales documentos estÃ¡n en el idioma especificado y por ende deberÃ­an incluirse en la particiÃ³n. Greenstone genera el metadato "ex.Language" para la mayoria de los documentos, y este es el metadato por defecto ausar. De todas maneras, esto puede cambiarse configurando <AutoText key="glidict::CDM.LanguageManager.LanguageMetadata"/> en el metadato correcto.</Text>
+<Text id="158">Para aÃ±adir una nueva particiÃ³n de idioma, seleccione uno o mÃ¡s idiomas en "Idioma que se va a aÃ±adir" y pulse en "AÃ±adir particiÃ³n".</Text>
+<Text id="158a">Para cambiar una particiÃ³n existente, selecciÃ³nela de la lista "Particiones de idioma asignadas", modifique los idiomas seleccionados en la lista "Idiomas a aÃ±adir", y pulse "Reemplazar particiÃ³n".</Text>
+<Text id="159">Para quitar una particiÃ³n de idioma, escÃ³jala de la lista "Particiones de idioma asignadas" y pulse en "Eliminar particiÃ³n".</Text>
+<Text id="159a">El orden en que se especifican las particiones de idioma en la la lista de Particiones de Didioma Asignadas es el orden en el que aparecen en el menÃº desplegable de la pÃ¡gina de bÃºsqueda. Use los botones  <AutoText key="glidict::CDM.Move.Move_Up"/> y <AutoText key="glidict::CDM.Move.Move_Down"/> para cambiar el orden.</Text>
+<Text id="160">Para establecer un idioma predefinido, selecciÃ³nelo de la lista y pulse en "Predeterminar".</Text>
+<Text id="160a">Los nombres usados en la lista desplegable de particiones de idiomas en la pÃ¡gina de bÃºsqueda puede fijarse en la parte <AutoText key="glidict::CDM.GUI.SearchMetadata"/> del panel <AutoText key="glidict::GUI.Format"/> (vÃ©ase <Reference target="searchmetadatasettings"/>).</Text>
+</Section>
+</Section>
+<Section name="classifiers">
+<Title>
+<Text id="166">Clasificadores de exploraciÃ³n</Text>
+</Title>
+<Text id="167">Esta secciÃ³n explica la forma de asignar "clasificadores" a una colecciÃ³n, que se usan para navegar y buscar en ella. En el panel "DiseÃ±o" pulse en "Clasificadores de exploraciÃ³n".</Text>
+<Text id="168">Para aÃ±adir un clasificador, escÃ³jalo por medio de la lista descendente "Seleccione el clasificador que se va a aÃ±adir" en la parte inferior de la pantalla y pulse en "AÃ±adir clasificador". Con esto aparecerÃ¡ una ventana titulada "Argumentos de configuraciÃ³n". Las instrucciones para este cuadro de diÃ¡logo son exactamente las mismas que para los plugins (vÃ©ase <Reference target="plugins"/>). Una vez que haya configurado el nuevo clasificador, Ã©ste se aÃ±adirÃ¡ al final de la lista de "Clasificadores asignados actualmente".</Text>
+<Text id="168a">Para ver un descripciÃ³n breve de un clasificador, selecciÃ³nelo en la lista desplegable "Seleccione clasificador a aÃ±adir", y ponga el cursor sobre Ã©l. Se mostrarÃ¡ un mensaje emergente con la descripciÃ³n.</Text>
+<Text id="168b">Cada clasificador tiene varios argumentos que pueden configurarse. Los mÃ¡s importantes incluyen "metadato", que indica contra que metadato se clasificarÃ¡n los documentos, y "nombre de botÃ³n", que es el nombre con el que aparecerÃ¡ el botÃ³n en el menÃº de navegaciÃ³n</Text>
+<Text id="169">Para quitar un clasificador de la lista, selecciÃ³nelo y haga click en "Eliminar clasificador".</Text>
+<Text id="170">Para cambiar los argumentos de un clasificador, selecciÃ³nelo de la lista y pulse en "Configurar clasificador" (o doble pulsaciÃ³n en el nombre del clasificador en la lista).</Text>
+<Text id="171">El orden de los clasificadores en la barra de navegaciÃ³n de la colecciÃ³n se refleja aquÃ­. Para cambiarlo, seleccione el clasificador que desea mover y haga click en <AutoText key="glidict::CDM.Move.Move_Up"/> o <AutoText key="glidict::CDM.Move.Move_Down"/>.</Text>
+<Text id="172">Para mayor informaciÃ³n sobre los clasificadores, lea el CapÃ­tulo 2 de la GuÃ­a del Programador de Greenstone: Obteniendo el mÃ¡ximo beneficio de sus documentos.</Text>
+</Section>
+</Section>
+<Section name="producingthecollection">
+<Title>
+<Text id="193">Produciendo su colecciÃ³n </Text>
+</Title>
+<Text id="194">Una vez que se han reunido los documentos para la colecciÃ³n, que se han enriquecido con metadatos y que se ha diseÃ±ado la forma en que la colecciÃ³n aparecerÃ¡, usted ya puede empezar a construir la colecciÃ³n. Esta secciÃ³n le explica cÃ³mo.</Text>
+<Section name="thecreateview">
+<Title>
+<Text id="195">La Vista Crear</Text>
+</Title>
+<Text id="196">La pantalla "Crear" se utiliza para producir la colecciÃ³n ejecutando los guiones de los programas Greenstone con base en la informaciÃ³n que usted ha proporcionado. Acceda a la vista Crear pulsando las pestaÃ±a Crear.</Text>
+<Text id="196a">Pulsando "Construir colecciÃ³n"  inicia el proceso. El tiempo del mismo depende del tamaÃ±o de la colecciÃ³n y del nÃºmero de Ã­ndices que se creen (para colecciones muy grandes pueden ser horas). Una barra de progreso indica cuÃ¡nto ha sido completado. Para cancelar el proceso en cualquier momento, pulse "Cancelar construcciÃ³n". La parte inferior del panel muestra informaciÃ³n sobre el proceso de construcciÃ³n. la parte superior muestra algunas opciones para controlar el proceso.</Text>
+<Text id="197">Una vez que la colecciÃ³n se ha construido exitosamente, al seleccionar "Vista previa de la colecciÃ³n" se iniciarÃ¡ un navegador de web que mostrarÃ¡ la pÃ¡gina inicial de la colecciÃ³n.</Text>
+</Section>
+<Section name="builderrors">
+<Title>
+<Text id="199a">Errores en la construcciÃ³n de la colecciÃ³n</Text>
+</Title>
+<Text id="199b">Algunas veces hay problemas en el proceso de construcciÃ³n. Puede darse que no puedan procesarse algunos archivos: el resto estÃ¡ correcto, puede previsualizarse, pero algunos documentos estÃ¡n ausentes. O puede ocurrir que la colecciÃ³n no construyÃ³ en forma  correcta, entonces se muestra un mensaje  <AutoText key="glidict::CollectionManager.Cannot_Create_Collection"/> . Cuando esto sucede, puede ser de ayuda cambiar GLi al modo experto (Fichero-> Preferencias->Modo, vÃ©ase <Reference target="preferences"/>), cambiar la opciÃ³n "Verbosity" a 5, y reconstruir para ver si hay otros mensajes de error.</Text>
+</Section>
+<Section name="expertbuilding">
+<Title>
+<Text id="198a">Crear vista en modo Experto</Text>
+</Title>
+<Text id="198">En modo Experto, puede usar las entradas del "Registro de mensajes" a la izquierda, para revisar intentos previos de construcciÃ³n de la colecciÃ³n, hayan tenido Ã©xito o no. Seleccione el registro que desee haciendo click en la fecha correspondiente en la lista "Historial de registro".</Text>
+<Text id="200a">En este modo, se muestra una lista completa de opciones de importaciÃ³n y construcciÃ³n en los paneles Importar y Construir de la izquierda. Los varios parÃ¡metros se controlan como en la ventana "Configurar Argumentos" descrita en la secciÃ³n <Reference target="plugins"/>. Algunso campos requieren argumentos numÃ©ricos, y puede escribirlos o usar las flechas de desplazamiento para aumentar o disminuir el valor indicado. (en algunos casos, la interfaz limita el rango posible). Otros se activan marcando el cuadro pulsable (pulsando de nuevo se desactivan).</Text>
+<Text id="201a">MÃ¡s informaciÃ³n sobre importaciÃ³n y construcciÃ³n se encuentra en el capÃ­tulo 1 de GuÃ­a del Desarrollador de Greenstone -- Comprendiendo el proceso de construcciÃ³n de la colecciÃ³n.</Text>
+</Section>
+<Section name="scheduledbuilding">
+<Title>
+<Text id="sched-1">PlanificaciÃ³n de la construcciÃ³n de colecciones</Text>
+</Title>
+<Text id="sched-2">La programaciÃ³n de la construcciÃ³n de colecciones estÃ¡ disponible en Modo Experto. Antes de que esto funcione es necesario realizar algunas tareas, ver http://wiki.greenstone.org/wiki/index.php/Scheduled_Collection_Building_from_the_Librarian_Interface para mÃ¡s detalles. La solapa <AutoText key="glidict::CreatePane.Schedule"/>  en el lado izquierdo del panel Crear muestra una lista de opciones para controlar el proceso de planificaciÃ³n. La opciÃ³n "Programar" necesita estar marcada para que la programaciÃ³n se pueda llevar a cabo. Las otras opciones controlan la frecuencia de la reconstrucciÃ³n, si es una programaciÃ³n nueva o una actualizaciÃ³n de una ya existente y los detalles de la notificaciÃ³n via email.</Text>
+</Section>
+</Section>
+<Section name="formattingacollection">
+<Title>
+<Text id="fc-1">Personalizando la presentaciÃ³n de la colecciÃ³n</Text>
+</Title>
+<Text id="fc-2">Una vez que haya construido la coleciÃ³n, deberÃ¡ decidir cÃ³mo se muestra al usuario Â¿QuÃ© nombres deben usarse para la lista desplegable de Ã­ndices en el formulario de bÃºsqueda?  Â¿CÃ³mo deberÃ¡n mostrarse los resultados de la bÃºsqueda? Â¿QuÃ© metatados deben mostrarse al visualizar un documento? Todo esto puede ajustarse; esta secciÃ³n explica cÃ³mo hacerlo.</Text>
+<Section name="theformatview">
+<Title>
+<Text id="fc-3">La Vista de Formato</Text>
+</Title>
+<Text id="fc-4">Esta secciÃ³n lo introduce a la vista Formato.</Text>
+<Text id="fc-5">Con la Interfaz de Bibliotecario puede configurar cÃ³mo se muestra la colecciÃ³n al usuario. Las opciones de configuraciÃ³n se dividen en secciones, cada una de las cuales se asocia con diferentes tipos de ajustes de la configuraciÃ³n.</Text>
+<Text id="fc-6">A la izquierda hay una lista de vistas y a la derecha se muestran los controles asociados con la vista seleccionada. Para cambiar a otra vista, pulse en su nombre en la lista.</Text>
+<Text id="fc-7">Bajo la lista de parÃ¡metros hay un botÃ³n "Previsualizar la colecciÃ³n". Los cambios que se hagan en la vista Formato no requieren reconstruir la colecciÃ³n, por lo que pueden previsualizarse. Sin embargo, la colecciÃ³n debe haberse construido por lo menos una vez para permitir el previsualizado.</Text>
+</Section>
+<Section name="generalsettings">
+<Title>
+<Text id="117">General</Text>
+</Title>
+<Text id="118">Esta secciÃ³n explica la forma de revisar y modificar los ajustes generales asociados a la colecciÃ³n. Primero, en el panel de "Formato" pulse "General".</Text>
+<Text id="119">AquÃ­ pueden modificarse metadatos generales de la colecciÃ³n, incluyendo el tÃ­tulo y la descripciÃ³n introducidas al crearla.</Text>
+<Text id="120">Primero se encuentran las direcciones de correo electrÃ³nico del creador y del administrador de la colecciÃ³n. El siguiente campo le permite cambiar el tÃ­tulo de la colecciÃ³n. El directorio en el que se almacena la colecciÃ³n se muestra al lado, pero no puede editarse. El que sigue especifica (en forma de URL) el icono que aparecerÃ¡ en el Ã¡ngulo superior izquierdo de la pÃ¡gina "Acerca de" y el siguiente es el icono usado en la pÃ¡gina de la biblioteca digital Greenstone para conectarse a la colecciÃ³n. Una casilla controla que la colecciÃ³n sea o no accesible pÃºblicamente. Finalmente viene el Ã¡rea de texto que permite dar una "DescripciÃ³n de la ColecciÃ³n", tal como se explica en la secciÃ³n <Reference target="creatingacollection"/>.</Text>
+</Section>
+<Section name="searchmetadatasettings">
+<Title>
+<Text id="fc-s1">Buscar</Text>
+</Title>
+<Text id="fc-s2">Esta secciÃ³n explica cÃ³mo fijar el texto que se muestra para las listas desplegables de la pÃ¡gina de bÃºsqueda. Bajo la pestaÃ±a "Formato", pulse "BÃºsqueda".</Text>
+<Text id="fc-s3">Este panel ofrece una tabla que enumera cada Ã­ndice de bÃºsqueda, nivel y particiÃ³n.  AquÃ­ puede ingresar el texto a ser usado para el nombre del Ã­ndice en la lista desplegable de la pÃ¡gina de bÃºsqueda. Este panel sÃ³lo permite fijar el texto en un idioma, el utilizado en ese momento por GLI. Para traducir el texto a otro idioma, use el panel Traducir Texto de la solapa Formato (VÃ©ase <Reference target="translatetext"/>).</Text>
+</Section>
+<Section name="formatstatements">
+<Title>
+<Text id="173">Formatos</Text>
+</Title>
+<Text id="174">Las pÃ¡ginas Web que ve cuando utiliza Greenstone no han sido guardadas previamente sino que se generan âal vueloâ conforme se van necesitando. Las Ã³rdenes de formato se utilizan para cambiar la apariencia de las pÃ¡ginas generadas. Afectan aspectos como el lugar donde aparecerÃ¡n los botones cuando se muestra un documento y quÃ© vÃ­nculos despliega el clasificador DateList en pantalla. Las Ã³rdenes de formato no son fÃ¡ciles de desarrollar, por lo que le recomendamos que lea el CapÃ­tulo 2 de la GuÃ­a del Programador de Greenstone. La presente secciÃ³n describe los controles de los distintos formatos y la forma en que la Interfaz de Bibliotecario le da acceso a ellos. En la vista "Formato" pulse en "CaracterÃ­sticas de Formato".</Text>
+<Text id="175">Se puede aplicar una orden de formato a cualquier cosa que se encuentre en la lista llamada "Elegir funciÃ³n", la cual incluye cada clasificador y una lista de funciones determinadas previamente. Cuando se selecciona una funciÃ³n existen dos tipos de controles. Algunas funciones simplemente se activan o se desactivan por medio de un recuadro. Otras requieren que se especifique una cadena de formato, para las cuales hay una lista descendente (llamada "Componente afectado") que permite seleccionar la parte de la funciÃ³n a la que se aplica la cadena (en caso necesario), un Ã¡rea de texto (llamada "cadena de formato HTML") para ingresar la cadena y una selecciÃ³n de "variables" definidas previamente. Para insertar una variable en su posiciÃ³n actual dentro de la cadena de formato, selecciÃ³nela de la lista descendente <AutoText key="glidict::CDM.FormatManager.Insert_Variable"/></Text>
+<Text id="176">TambiÃ©n se puede especificar un formato predeterminado para un componente en particular seleccionando el parÃ¡metro "Todas las caracterÃ­sticas". Este formato se aplicarÃ¡ a todas las caracterÃ­sticas aplicables a menos que se especifique lo contrario.</Text>
+<Text id="177">Para aÃ±adir una nueva orden de formato, seleccione la caracterÃ­stica y componente aplicacbles. El valor predefinod para la orden se mostrarÃ¡ en gris. Pulse <AutoText key="glidict::CDM.FormatManager.Add"/> para asignarlo a la colecciÃ³n. La "Cadena de Formato HTML" se harÃ¡ editable y podrÃ¡ cambiarla si lo desea. Solamente se podrÃ¡ asignar una orden de formato a cada combinaciÃ³n de caracterÃ­stica/componente.</Text>
+<Text id="178">Para quitar un comando de formato de la lista, selecciÃ³nelo y haga click en "Eliminar formato".</Text>
+<Text id="180">Para mayor informaciÃ³n acerca de las variables y los componentes de las funciones lea el CapÃ­tulo 2 de la GuÃ­a del Programador de Greenstone.</Text>
+</Section>
+<Section name="translatetext">
+<Title>
+<Text id="182">TraducciÃ³n de textos</Text>
+</Title>
+<Text id="183">Esta secciÃ³n describe al panel de traducciÃ³n, donde se pueden definir fragmentos de texto en un idioma especÃ­fico para partes de la interfaz de la colecciÃ³n. En la vista "Formato" pulse en "Traducir texto".</Text>
+<Text id="184">Primero elija una entrada de la lista de "funciones". Las cadenas de texto asociadas a esta funciÃ³n aparecerÃ¡n abajo. Utilice la lista "Idioma de la traducciÃ³n" para seleccionar el idioma al que se va a traducir y escriba el texto traducido en el Ã¡rea de texto, haciendo referencia al "fragmento de texto inicial" en caso necesario. Una vez que haya terminado haga click en "AÃ±adir traducciÃ³n".</Text>
+<Text id="185">Para quitar una traducciÃ³n existente, selecciÃ³nela de la tabla "Traducciones asignadas" y haga click en "Eliminar traducciÃ³n".</Text>
+<Text id="186">Para actualizar una traducciÃ³n, selecciÃ³nela, edÃ­tela en el Ã¡rea "Texto traducido" y pulse en "Reemplazar traducciÃ³n".</Text>
+</Section>
+<Section name="xcollectionsearching">
+<Title>
+<Text id="161">BÃºsqueda cruzada a travÃ©s de varias colecciones</Text>
+</Title>
+<Text id="162">Greenstone puede buscar a travÃ©s de varias colecciones distintas como si fueran una sola. Esto se hace especificando una lista de otras colecciones que puedan ser buscadas junto con la actual. En la vistad e "Formato"" pulse en "BÃºsqueda cruzada".</Text>
+<Text id="163">El panel de bÃºsqueda cruzada muestra una lista de las colecciones disponibles. La colecciÃ³n actual estarÃ¡ seleccionada y no se puede desmarcar. Para aÃ±adir otra colecciÃ³n en la cual buscar de forma paralela, pulse en ella (o pulse en ella nuevamente para quitarla de la selecciÃ³n). Si sÃ³lo se seleccionÃ³ una colecciÃ³n, no habrÃ¡ bÃºsqueda cruzada.</Text>
+<Text id="164">Si las colecciones individuales no tienen los mismos Ã­ndices (incluyendo particiones en subcolecciones e idiomas) la bÃºsqueda cruzada no funcionarÃ¡ correctamente. El usuario Ãºnicamente serÃ¡ capaz de buscar usando Ã­ndices comunes a todas las colecciones.</Text>
+<Text id="165">Para mayor informaciÃ³n vea el CapÃ­tulo 1 de la GuÃ­a del Programador de Greenstone.</Text>
+</Section>
+<Section name="collectionspecificmacros">
+<Title>
+<Text id="fc-m1">Macros especÃ­ficas de la colecciÃ³n</Text>
+</Title>
+<Text id="fc-m2">Bajo la pestaÃ±a "Formato", pulse "Macros especÃ­ficos de la colecciÃ³n".</Text>
+<Text id="fc-m3">Esta vista muestra el contenido del fichero de macros extra.dm de la colecciÃ³n. AquÃ­ pueden definirse macros especÃ­ficas de la colecciÃ³n. Para saber mÃ¡s sobre macros, vea el capÃ­tulo 3 de la GuÃ­a del Desarrollador de Greenstone.</Text>
+</Section>
+<Section name="depositormetadatasettings">
+<Title>
+<Text id="dm-1">Metadatos del Acumulador</Text>
+</Title>
+<Text id="dm-2">El Acumulador de Greenstone le permite al usuario agregar nuevos documentos a una colecciÃ³n existente a travÃ©s de una interfaz web. Esta secciÃ³n describe al panel de Metadatos del Acumulador, en donde puede especificar que metadatos deberÃ­an usarse para describir nuevos documentos agregados a travÃ©s del Acumulador. Cualquier conjunto de metadatos que se haya asociado a la colecciÃ³n actual estarÃ¡ disponible para la selecciÃ³n. Si no existiera otro conjunto mÃ¡s que el "Greenstone Extracted Metadatada Set" asociado a la colecciÃ³n, entonces se usarÃ¡ por defecto el conjunto de metadatos "Dublin Core". Para aprender mÃ¡s sobre el Acumulador, lea el ejercicio del tutorial online en  http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/depositor.htm. En la solapa "Formato", seleccione "Metadatos del Acumulador".</Text>
+<Text id="dm-3">El panel Metadatos del Acumulador muestra una lista de metadatos disponibles. Si hubiera mÃ¡s de un conjunto de metadatos asociados a la colecciÃ³n entonces los conjuntos contiguos se mostrarÃ¡n en diferentes colores. Deslice el mouse sobre un elemento de metadato: se mostrarÃ¡ un texto con la descripciÃ³n del elemento.</Text>
+<Text id="dm-4">Seleccione aquellos que quiera utilizar para describir nuevos documentos cuando estos sean cargados mediante el Acumulador. AparecerÃ¡ una lista desplegable al lado de cada elemento seleccionado con 2 opciones. Esto permite especificar el tipo de caja de input para ese elemento en la interfaz web. La opciÃ³n "Text" significa un recuadro de texto simple, mientras que "textarea" significa que se usarÃ¡ un recuadro de texto multilÃ­nea. Seleccione el tipo apropiado para cada campo.</Text>
+<Text id="dm-5">Debe seleccionarse un elemento de metadato como mÃ­nimo. Si hay uno solo seleccionado en la lista al desmarcarlo aparecerÃ¡ un mensaje de aviso: <AutoText key="glidict::CDM.DepositorMetadataManager.Warning"/>.</Text>
+</Section>
+</Section>
+<Section name="miscellaneous">
+<Title>
+<Text id="202">MiscelÃ¡nea</Text>
+</Title>
+<Text id="203">Esta secciÃ³n describe funciones y caracterÃ­sticas de la Interfaz de Bibliotecario que no estÃ¡n asociadas a ninguna pantalla en particular.</Text>
+<Section name="preferences">
+<Title>
+<Text id="204">Preferencias</Text>
+</Title>
+<Text id="205">Esta secciÃ³n explica el cuadro de preferencias, al cual se tiene acceso por medio de la opciÃ³n "Preferencias" en el menÃº "Archivo".</Text>
+<Text id="206">La ventana de preferencias se abre en el panel "General". La primera opciÃ³n es un campo de texto para introducir su direcciÃ³n de correo electrÃ³nico. SerÃ¡ usada para los elementos de metadatos "creador" y "administrador" de la colecciÃ³n. La siguiente opciÃ³n es un menÃº desplegable de los idiomas en los cuales se puede presentar la Interfaz de Bibliotecario. Si usted cambia el diccionario eligiendo un idioma de la lista, deberÃ¡ reinicar la Interfaz de Bibliotecario para poder cargar las cadenas de texto en el nuevo idioma.</Text>
+<Text id="207">Si marcÃ³ el recuadro "Ver metadatos extraÃ­dos", los diferentes controles que trabajan con metadatos siempre mostrarÃ¡n todos los metadatos que se han extraÃ­do automÃ¡ticamente de los documentos. Al quitar la marca del recuadro se ocultarÃ¡n estos metadatos (aunque la opciÃ³n seguirÃ¡ disponible durante el diseÃ±o de la colecciÃ³n y en la colecciÃ³n final). Si se marcÃ³ el recuadro "Mostrar el tamaÃ±o de los archivos" el tamaÃ±o del fichero aparecerÃ¡ junto a cada uno en las estructuras de archivos del Ã¡rea de trabajo y de la colecciÃ³n que se encuentran en las pantallas "Reunir" y "Enriquecer".</Text>
+<Text id="208">La solapa "Modo" se utiliza para controlar el nivel de detalle dentro de la interfaz. En su nivel mÃ¡s bÃ¡sico, "Asistente de Biblioteca", la pantalla de diseÃ±o estÃ¡ deshabilitada. El usuario puede agregar y borrar documentos, agregar y editar metadatos y reconstruir la colecciÃ³n. El panel Crear en su forma mÃ¡s simple. El modo "Bibliotecario" provee acceso a todas las opciones de diseÃ±o y formato. El modo "Experto" incluye al panel Crear completo, y permite que la salida completa de la contrucciÃ³n de la colecciÃ³n sea grabada en archivos de log. Para cambiar o revisar los modos, seleccione la opciÃ³n deseada. Usted puede ver en que modo de trabajo se encuentra mirando la barra de tÃ­tulo del GLI.</Text>
+<Text id="210">La pestaÃ±a de "ConexiÃ³n" le permite cambiar la ruta que lo conecta al servidor local de la biblioteca digital Greenstone, el cual se utiliza durante la presentaciÃ³n preliminar de la colecciÃ³n. TambiÃ©n le permite establecer la informaciÃ³n de proxy para conectarse a Internet (ejemplo: al descargar archivos; ver la secciÃ³n <Reference target="downloadingfiles"/> para mÃ¡s detalles). Marque la casilla para permitir la conexiÃ³n por proxy y suministre los detalles de la direcciÃ³n y el nÃºmero de puerto del host que sirve de proxy. La conexiÃ³n con el proxy se establece cuando cierre el diÃ¡logo de Preferencias.</Text>
+<Text id="211">En el curso de una sesiÃ³n la Interfaz de Bibliotecario podrÃ¡ enviarle mensajes de advertencia que le avisarÃ¡n sobre las posibles consecuencias no previstas de una acciÃ³n. Puede desactivar los mensajes marcando el recuadro "No mostrar este mensaje otra vez". Para reactivarlos utilice la pestaÃ±a "Mensajes de advertencia" y marque los recuadros de los mensajes que desea volver a ver.</Text>
+</Section>
+<Section name="fileassociations">
+<Title>
+<Text id="212">AsociaciÃ³n de archivos</Text>
+</Title>
+<Text id="213">La Interfaz de Bibliotecario utiliza diferentes programas de aplicaciÃ³n para abrir tipos particulares de archivos. Para modificar la asociaciÃ³n de archivos abra el menÃº "Archivo" y haga click en "AsociaciÃ³n de archivos".</Text>
+<Text id="214">Para establecer una asociaciÃ³n seleccione la extensiÃ³n del fichero de la lista desplegable o escriba una nueva extensiÃ³n (no incluya "."). A continuaciÃ³n escriba en el campo correspondiente la orden que da inicio a la aplicaciÃ³n deseada o elija la aplicaciÃ³n en el cuadro "Explorar". "%1" se puede utilizar en la orden de inicio para insertar el nombre del archivo que se estÃ¡ abriendo. Una vez que se han llenado estos campos, el botÃ³n "AÃ±adir" se activarÃ¡, con lo que ya se puede pulsar en Ã©l para establecer la asociaciÃ³n.</Text>
+<Text id="215">Para editar una asociaciÃ³n, seleccione una extensiÃ³n de ficheroo existente. la orden asociada aparecerÃ¡ en el campo correspondiente a orden de inicio. EdÃ­telo y a continuaciÃ³n pulse en "Reemplazar".</Text>
+<Text id="216">Para eliminar una asociaciÃ³n, seleccione la extensiÃ³n del archivo y haga click en "Eliminar".</Text>
+<Text id="217">Las asociaciones de archivos se guardan en la carpeta principal de la Interfaz de Bibliotecario en un archivo llamado "associations.xml".</Text>
+</Section>
+<Section name="exporting">
+<Title>
+<Text id="exp-1">Exportando colecciones a otros formatos</Text>
+</Title>
+<Text id="exp-2">Greenstone puede exportar los contenidos y/o metadatos de una colecciÃ³n a varios formatos estÃ¡ndares, incluyendo METS, DSpace y MARCXML.</Text>
+<Text id="exp-3">Para exportar una colecciÃ³n, abra el menÃº Archivo y elija "Exportar...". Puede elegir en quÃ© formato exportar seleccionando "Exportar a" en la lista desplegable. Indique un nombre para el directorio en el que quiere situar los archivos exportados; los archivos terminarÃ¡n en &lt;ruta a greenstone&gt;/tmp/exported_xxx, siendo xxx el nombre que se indicÃ³. Seleccione una colecciÃ³n de la lista de colecciones disponibles, y pulse sobre "Exportar colecciÃ³n".</Text>
+<Text id="exp-4">Hay otras opciones especÃ­ficas para los diferentes formatos. Puede indicar que ficheros XSLT deben aplicarse a los documentos XML resultantes para personalziar el formato de salida. Para exportar a MARCXML se usa un fichero de mapeado para pasar los metadatos de Greenstone a  campos MARC. El fichero de mapeo predefinido sÃ³lo exporta a Dublin Core. Puede indicar un fichero propio a utilizar.</Text>
+</Section>
+<Section name="exportingcollections">
+<Title>
+<Text id="218">Exportando colecciones a un CD/DVD</Text>
+</Title>
+<Text id="219">Greenstone puede exportar una o mÃ¡s colecciones a un CD/DVD autoinstalable para Windows.</Text>
+<Text id="220">Para exportar una colecciÃ³n abra el menÃº "Archivo" y seleccione la opciÃ³n "Exportar a un CD-ROM/DVD...". Con esto aparecerÃ¡ una lista de colecciones Greenstone. Haga click en una para ver su descripciÃ³n. Marque los recuadros de las colecciones que desea exportar. Usted tambiÃ©n puede introducir el nombre de CD/DVD en el cuadro correspondiente, que aparecerÃ¡ en el menÃº de Inicio una vez que el CD/DVD se haya instalado. Puede seleccionar que el CD/DVD resultante se ejecute directamente, o que copie algunos ficheros al ordenador. A continuaciÃ³n haga click en "Exportar". El proceso incluye la copia de varios archivos y requerirÃ¡ de unos cuantos minutos.</Text>
+<Text id="221">Una vez que haya terminado Greenstone mostrarÃ¡ el nombre de una carpeta en la que se encontrarÃ¡n las colecciones que se han exportado. Utilice una quemadora de CD/DVDs para copiar sus contenidos en un CD/DVD en blanco.</Text>
+</Section>
+</Section>
+</Document>
Index: main/tags/2.83/gli/help/es/help_index.xml
===================================================================
--- main/tags/2.83/gli/help/es/help_index.xml	(revision 21123)
+++ main/tags/2.83/gli/help/es/help_index.xml	(revision 21123)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Document><Section name="introduction"><Title>IntroducciÃ³n</Title><Section name="ofmiceandmenus"><Title>De menÃºs y ratones</Title></Section><Section name="howtoavoidthisdocument"><Title>Temas de ayuda</Title></Section></Section><Section name="startingoff"><Title>Para empezar</Title><Section name="creatingacollection"><Title>Creando una nueva colecciÃ³n</Title></Section><Section name="savingacollection"><Title>Guardar la colecciÃ³n</Title></Section><Section name="openingacollection"><Title>Abriendo una colecciÃ³n existente</Title></Section><Section name="deletingcollections"><Title>Borrando colecciones</Title></Section></Section><Section name="downloadingfiles"><Title>Descargando archivos de Internet</Title><Section name="themirrorview"><Title>La vista en Bajar</Title></Section></Section><Section name="collectingfiles"><Title>Reuniendo archivos para su colecciÃ³n</Title><Section name="thegatherview"><Title>La pantalla de selecciÃ³n de documentos</Title></Section><Section name="creatingshortcuts"><Title>Creando un acceso directo en el Ã¡rbol del espacio de trabajo</Title></Section><Section name="creatingfolders"><Title>Creando carpetas</Title></Section><Section name="addingfiles"><Title>AÃ±adiendo archivos</Title></Section><Section name="replacingfiles"><Title>Renombrando y reemplazando ficheros</Title></Section><Section name="removingfiles"><Title>Eliminando archivos</Title></Section><Section name="explodingfiles"><Title>Expandiendo Ficheros de Metadados</Title></Section><Section name="filteringthetree"><Title>Filtrando la estructura de directorios y subdirectorios</Title></Section></Section><Section name="enrichingacollection"><Title>Enriqueciendo la colecciÃ³n con metadatos</Title><Section name="theenrichview"><Title>La pantalla de asignaciÃ³n de metadatos</Title></Section><Section name="selectingmetadatasets"><Title>Seleccionando conjuntos de metadatos</Title></Section><Section name="appendingmetadata"><Title>Agregando nuevos metadatos</Title></Section><Section name="addingpreviouslydefinedmetadata"><Title>AÃ±adiendo Metadatos Previamente Definidos</Title></Section><Section name="updatingmetadata"><Title>Editar o Borrar Metadatos</Title></Section><Section name="reviewingmetadata"><Title>Revisando los metadatos asignados</Title></Section><Section name="importingpreviouslyassignedmetadata"><Title>Importando metadatos previamente asignados</Title></Section></Section><Section name="designingacollection"><Title>Configurando su colecciÃ³n</Title><Section name="thedesignview"><Title>La pantalla de diseÃ±o</Title></Section><Section name="plugins"><Title>Plugins</Title></Section><Section name="searchindexes"><Title>Ãndices de bÃºsqueda</Title><Section name="searchindexoptions"><Title>Opciones de Ã­ndices de bÃºsqueda</Title></Section></Section><Section name="partitionindexes"><Title>Particiones</Title><Section name="definefilters"><Title>Definir filtros</Title></Section><Section name="assignpartitions"><Title>Asignar particiones</Title></Section><Section name="assignlanguages"><Title>Asignar idiomas</Title></Section></Section><Section name="classifiers"><Title>Clasificadores de exploraciÃ³n</Title></Section></Section><Section name="producingthecollection"><Title>Produciendo su colecciÃ³n </Title><Section name="thecreateview"><Title>La Vista Crear</Title></Section><Section name="builderrors"><Title>Errores en la construcciÃ³n de la colecciÃ³n</Title></Section><Section name="expertbuilding"><Title>Crear vista en modo Experto</Title></Section><Section name="scheduledbuilding"><Title>PlanificaciÃ³n de la construcciÃ³n de colecciones</Title></Section></Section><Section name="formattingacollection"><Title>Personalizando la presentaciÃ³n de la colecciÃ³n</Title><Section name="theformatview"><Title>La Vista de Formato</Title></Section><Section name="generalsettings"><Title>General</Title></Section><Section name="searchmetadatasettings"><Title>Buscar</Title></Section><Section name="formatstatements"><Title>Formatos</Title></Section><Section name="translatetext"><Title>TraducciÃ³n de textos</Title></Section><Section name="xcollectionsearching"><Title>BÃºsqueda cruzada a travÃ©s de varias colecciones</Title></Section><Section name="collectionspecificmacros"><Title>Macros especÃ­ficas de la colecciÃ³n</Title></Section><Section name="depositormetadatasettings"><Title>Metadatos del Acumulador</Title></Section></Section><Section name="miscellaneous"><Title>MiscelÃ¡nea</Title><Section name="preferences"><Title>Preferencias</Title></Section><Section name="fileassociations"><Title>AsociaciÃ³n de archivos</Title></Section><Section name="exporting"><Title>Exportando colecciones a otros formatos</Title></Section><Section name="exportingcollections"><Title>Exportando colecciones a un CD/DVD</Title></Section></Section></Document>
Index: main/tags/2.83/gli/help/es/howtoavoidthisdocument.htm
===================================================================
--- main/tags/2.83/gli/help/es/howtoavoidthisdocument.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/howtoavoidthisdocument.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="howtoavoidthisdocument"><font size="5" face="Verdana"><strong>1.2: Temas de ayuda</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>&iexcl;Usted no necesita leer todo el texto de ayuda! S&oacute;lo lea lo suficiente para saber c&oacute;mo obtener ayuda cuando la necesite.</p>
+
+<p>Seleccionando el icono "Ayuda" en un contexto determinado mostrar&aacute; el texto de ayuda relevante o marcar&aacute; el encabezado de la ayuda con un &iacute;cono de signo de pregunta.</p>
+
+<p>Para muchos controles si se coloca el mouse encima de ellos aparecer&aacute; un "cuadro de sugerencias" en el cual se explica su funci&oacute;n.</p>
+
+<p>Antes de usar la Interfaz de Bibliotecario lea primero la documentaci&oacute;n de Greenstone.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/importingpreviouslyassignedmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/es/importingpreviouslyassignedmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/importingpreviouslyassignedmetadata.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="importingpreviouslyassignedmetadata"><font size="5" face="Verdana"><strong>5.7: Importando metadatos previamente asignados</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Esta secci&oacute;n describe c&oacute;mo importar metadtos previamente asignados, es decir, metadatos asignados a los documentos antes de que fuesen a&ntilde;adidos a la colecci&oacute;n.</p>
+
+<p>Si se han asignado previamente metadatos en una forma reconocible por la Interfaz de Bibliotecario, por ejemplo, cuando se seleccionan documentos de una colecci&oacute;n Greenstone existente, entonces &eacute;stos se importar&aacute;n autom&aacute;ticamente cuando usted a&ntilde;ada el archivo. Para poder hacer esto los metadatos deben mapearse hacia el conjunto de metadatos disponible en la colecci&oacute;n.</p>
+
+<p>La Interfaz de Bibliotecario enviar&aacute; un mensaje solicitando la informaci&oacute;n necesaria. El mensaje incluir&aacute; breves instrucciones y a continuaci&oacute;n mostrar&aacute; el nombre del elemento de metadato que se est&aacute; importando, tal como aparece en el archivo fuente. Este campo no se podr&aacute; editar o cambiar. A continuaci&oacute;n elija el conjunto de metadatos hacia el que el nuevo elemento deber&aacute; mapearse y el correspondiente elemento de metadato en ese conjunto. El sistema selecciona autom&aacute;ticamente la correspondencia m&aacute;s cercana en t&eacute;rminos de conjunto y elemento para el nuevo metadato.</p>
+
+<p>Despu&eacute;s de revisar el mapeo, usted puede elegir "A&ntilde;adir" para a&ntilde;adir el nuevo elemento de metadato al conjunto de metadatos que se haya seleccionado. (Esto s&oacute;lo es posible si no hay un elemento del mismo nombre dentro del conjunto seleccionado.) "Combinar" mapea el nuevo elemento hacia el que el usuario haya elegido. Finalmente, "Ignorar" no importa ning&uacute;n metadato con este nombre de elemento. Una vez que usted haya especificado la forma de importar una parte del metadato, la informaci&oacute;n del proceso se conserva durante todo el tiempo de vida de la colecci&oacute;n.</p>
+
+<p>Para mayor informaci&oacute;n sobre los archivos metadata.xml que Greenstone utiliza para guardar metadatos, vea el Cap&iacute;tulo 2 de la Gu&iacute;a del Programador de Greenstone: Obteniendo el m&aacute;ximo beneficio de sus documentos.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/introduction.htm
===================================================================
--- main/tags/2.83/gli/help/es/introduction.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/introduction.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="introduction"><font size="5" face="Verdana"><strong>1: Introducci&oacute;n</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>La Interfaz de Bibliotecario de Greenstone es una herramienta que permite reunir documentos, a&ntilde;adir metadatos y crear colecciones digitales con ellos. Ofrece un f&aacute;cil acceso a todas las funcionalidades del software para Biblioteca Digital Greenstone desde una interfaz gr&aacute;fica de usuario con la que s&oacute;lo tiene que se&ntilde;alar y pulsar.</p>
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/miscellaneous.htm
===================================================================
--- main/tags/2.83/gli/help/es/miscellaneous.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/miscellaneous.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="miscellaneous"><font size="5" face="Verdana"><strong>9: Miscel&aacute;nea</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Esta secci&oacute;n describe funciones y caracter&iacute;sticas de la Interfaz de Bibliotecario que no est&aacute;n asociadas a ninguna pantalla en particular.</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/ofmiceandmenus.htm
===================================================================
--- main/tags/2.83/gli/help/es/ofmiceandmenus.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/ofmiceandmenus.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="ofmiceandmenus"><font size="5" face="Verdana"><strong>1.1: De men&uacute;s y ratones</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Esta secci&oacute;n proporciona informaci&oacute;n b&aacute;sica para poder trabajar con la Interfaz de Bibliotecario. Si est&aacute; familiarizado con programas como Internet Explorer o Microsoft Office y est&aacute; acostumbrado a usar el mouse, entonces pase a la secci&oacute;n <a href="howtoavoidthisdocument.htm">Temas de ayuda</a>.</p>
+
+<p>La Interfaz de Bibliotecario sigue las convenciones de Microsoft y se apoya en el conocimiento que com&uacute;nmente se tiene de Windows.</p>
+
+<p>Cualquier parte de la pantalla con la que usted interact&uacute;e, como un bot&oacute;n o un campo de texto, se llama "control". En todo momento un bot&oacute;n o campo de texto llamado "control activo" aparecer&aacute; resaltado y responder&aacute; a las instrucciones del teclado. Asimismo, varios controles le permiten seleccionar las partes que est&eacute;n resaltadas en azul marino. Algunos controles tambi&eacute;n pueden aparecer sombreados para indicar que no est&aacute;n disponibles.</p>
+
+<p>Usted puede mover y hacer click con el bot&oacute;n izquierdo o derecho del mouse de la forma acostumbrada. Muchos componentes tambi&eacute;n se pueden "arrastrar" haciendo click en ellos y sosteniendo el bot&oacute;n izquierdo del mouse, para luego moverlos y "colocarlos" en alg&uacute;n otro lugar soltando el bot&oacute;n. Normalmente el lugar de destino cambia de apariencia cuando un componente pasa sobre &eacute;l.</p>
+
+<p>Puede usar el teclado para escribir en los campos de texto. La tecla de tabulaci&oacute;n [Tab] cambia la posici&oacute;n del cursor entre diferentes campos de texto.</p>
+
+<p>Salga de la Interfaz de Bibliotecario eligiendo "Salir" en el men&uacute; "Archivo". Su colecci&oacute;n se guardar&aacute; primero.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/openingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/es/openingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/openingacollection.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="openingacollection"><font size="5" face="Verdana"><strong>2.3: Abriendo una colecci&oacute;n existente</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Para abrir una colecci&oacute;n existente elija la opci&oacute;n "Abrir" en el men&uacute; "Archivo". Con esto aparecer&aacute; una lista de sus colecciones Greenstone. Seleccione una para ver su descripci&oacute;n y haga click en "Abrir" para cargarla.</p>
+
+<p>En caso de que m&aacute;s de una Interfaz de Bibliotecario de Greenstone ese est&eacute; ejecutando al mismo tiempo, los directorios pertinentes se "bloquean" para evitar interferencias. Al abrir una colecci&oacute;n se crea un peque&ntilde;o archivo de bloqueo temporal en la carpeta. Antes de abrir una colecci&oacute;n la Interfaz de Bibliotecario revisa que no haya un archivo de bloqueo. Sin embargo, cuando se sale prematuramente de la Interfaz de Bibliotecario el archivo de bloqueo a veces permanece en la carpeta. Cuando posteriormente se abre esta colecci&oacute;n, la Biblioteca Digital le pregunta si quiere tomar el control. H&aacute;galo a menos que haya alguien trabajando con ella en ese momento.</p>
+
+<p>Cuando abra una colecci&oacute;n que no haya sido creada por medio de la Interfaz de Bibliotecario de Greenstone, se le asignar&aacute; el conjunto de metadatos Dublin Core, y se importar&aacute;n al mismo los metadatos existentes previamente. El proceso se describe en el documento llamado <a href="importingpreviouslyassignedmetadata.htm">Importando metadatos previamente asignados</a>.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/partitionindexes.htm
===================================================================
--- main/tags/2.83/gli/help/es/partitionindexes.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/partitionindexes.htm	(revision 21123)
@@ -0,0 +1,24 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="partitionindexes"><font size="5" face="Verdana"><strong>6.4: Particiones</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Los &iacute;ndices se construyen sobre fuentes de metadatos o textos espec&iacute;ficos. El espacio de b&uacute;squeda se puede controlar a&uacute;n m&aacute;s particionando el &iacute;ndice, ya sea por idioma o por medio de un filtro determinado previamente. Esta secci&oacute;n describe la forma de hacerlo. En la parte de "Dise&ntilde;oo" pulse en "&Iacute;ndices de partici&oacute;n".</p>
+
+<p>La vista "Particionar &iacute;ndices" tiene tres pesta&ntilde;as: "Definir filtros", "Asignar particiones" y "Asignar idiomas". Para saber m&aacute;s acerca de las particiones y las subcolecciones revise el Cap&iacute;tulo 2 de la Gu&iacute;a del Programador de Greenstone.</p>
+
+<p>Tenga en cuenta que para las colecciones MG, el n&uacute;mero total de particiones generadas es una combinaci&oacute;n de todos los &iacute;ndices, filtros de subcolecci&oacute;n e idiomas elegidos. Dos &iacute;ndices, con dos filtros de subcolecci&oacute;n en dos idiomas generar&aacute;n ocho particiones de &iacute;ndices. En MGPP, todos los &iacute;ndices son creados en un solo &iacute;ndice f&iacute;sico, por lo que solo habr&aacute; 4 particiones de &iacute;ndices. En Lucene, el n&uacute;mero de &iacute;ndices f&iacute;sicos est&aacute; determinado por el n&uacute;mero de niveles asignados a la colecci&oacute;n, un &iacute;ndice por nivel. Por ende, para la situaci&oacute;n anterior, un nivel resultar&iacute;a en cuatro &iacute;ndices f&iacute;sicos, mientras que dos niveles resultar&iacute;an en ocho.</p>
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/plugins.htm
===================================================================
--- main/tags/2.83/gli/help/es/plugins.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/plugins.htm	(revision 21123)
@@ -0,0 +1,31 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="plugins"><font size="5" face="Verdana"><strong>6.2: Plugins</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Esta secci&oacute;n describe la forma de configurar los plugins que la colecci&oacute;n utiliza. Explica el modo de especificar los plugins que se utilizar&aacute;n, los par&aacute;metros que emplear&aacute;n y el orden en el que se aplicar&aacute;n. En la vista "Dise&ntilde;o" pulse en "Plugins de documento".</p>
+
+<p>Para a&ntilde;adir un plugin, esc&oacute;jalo de la lista "Seleccione el plugin que se va a a&ntilde;adir" que se encuentra en la parte inferior de la pantalla y pulse en "A&ntilde;adir plugin". Aparecer&aacute; una ventana titulada "Argumentos de configuraci&oacute;n", la cual se explica m&aacute;s adelante. Una vez que usted haya configurado el nuevo plugin, este se a&ntilde;adir&aacute; al final de la lista de "Plugins asignados actualmente". Por lo general, se tendr&aacute; una sola instancia de cada plugin. De todas maneras, puede a&ntilde;adirse el mismo plugin m&aacute;s de una vez. El argumento process_exp debe configurarse para que esto &uacute;ltimo sea de utilidad. </p>
+
+<p>Para ver una breve descripci&oacute;n del plugin, selecci&oacute;nelo en la lista desplegable "Seleccione plugins a a&ntilde;adir", y ponga el cursor sobre &eacute;l. Se mostrar&aacute; una nota emergente con la descripci&oacute;n.</p>
+
+<p>Para quitar un plugin de la lista, selecci&oacute;nelo y haga click en "Eliminar plugin".</p>
+
+<p>Los plugins se configuran por medio de argumentos. Para modificarlos, seleccione un plugin de la lista y haga click en "Configurar plugin" (o doble click en el plugin). Aparece un di&aacute;logo "Configurando Argumentos" con varios controles para especificar argumentos.</p>
+
+<p>Existen diferentes tipos de controles. Algunos son recuadros y al hacer click en ellos se a&ntilde;ade la opci&oacute;n correspondiente al plugin. Otros son cadenas de texto con un recuadro y un campo de texto. Haga click en el cuadro para habilitarlo y escriba el argumento (expresi&oacute;n regular, ruta de archivo, etc.). Otros son men&uacute;s descendentes desde los que se puede seleccionar un conjunto dado de valores. Para saber lo que hace un argumento, coloque el cursor del mouse encima de su nombre y la descripci&oacute;n aparecer&aacute;.</p>
+
+<p>Una vez que usted haya cambiado la configuraci&oacute;n, haga click en "Aceptar" para guardar los cambios y cerrar el cuadro de di&aacute;logo o en "Cancelar" para cerrar el cuadro de di&aacute;logo sin cambiar ning&uacute;n argumento.</p>
+
+<p>Los plugins de la lista se ejecutan en orden y en ocasiones &eacute;ste es importante. Seleccione un plugin de la lista y use los botoness "Mover arriba" y "Mover abajo" para cambiar su posici&oacute;n.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/preferences.htm
===================================================================
--- main/tags/2.83/gli/help/es/preferences.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/preferences.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="preferences"><font size="5" face="Verdana"><strong>9.1: Preferencias</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Esta secci&oacute;n explica el cuadro de preferencias, al cual se tiene acceso por medio de la opci&oacute;n "Preferencias" en el men&uacute; "Archivo".</p>
+
+<p>La ventana de preferencias se abre en el panel "General". La primera opci&oacute;n es un campo de texto para introducir su direcci&oacute;n de correo electr&oacute;nico. Ser&aacute; usada para los elementos de metadatos "creador" y "administrador" de la colecci&oacute;n. La siguiente opci&oacute;n es un men&uacute; desplegable de los idiomas en los cuales se puede presentar la Interfaz de Bibliotecario. Si usted cambia el diccionario eligiendo un idioma de la lista, deber&aacute; reinicar la Interfaz de Bibliotecario para poder cargar las cadenas de texto en el nuevo idioma.</p>
+
+<p>Si marc&oacute; el recuadro "Ver metadatos extra&iacute;dos", los diferentes controles que trabajan con metadatos siempre mostrar&aacute;n todos los metadatos que se han extra&iacute;do autom&aacute;ticamente de los documentos. Al quitar la marca del recuadro se ocultar&aacute;n estos metadatos (aunque la opci&oacute;n seguir&aacute; disponible durante el dise&ntilde;o de la colecci&oacute;n y en la colecci&oacute;n final). Si se marc&oacute; el recuadro "Mostrar el tama&ntilde;o de los archivos" el tama&ntilde;o del fichero aparecer&aacute; junto a cada uno en las estructuras de archivos del &aacute;rea de trabajo y de la colecci&oacute;n que se encuentran en las pantallas "Reunir" y "Enriquecer".</p>
+
+<p>La solapa "Modo" se utiliza para controlar el nivel de detalle dentro de la interfaz. En su nivel m&aacute;s b&aacute;sico, "Asistente de Biblioteca", la pantalla de dise&ntilde;o est&aacute; deshabilitada. El usuario puede agregar y borrar documentos, agregar y editar metadatos y reconstruir la colecci&oacute;n. El panel Crear en su forma m&aacute;s simple. El modo "Bibliotecario" provee acceso a todas las opciones de dise&ntilde;o y formato. El modo "Experto" incluye al panel Crear completo, y permite que la salida completa de la contrucci&oacute;n de la colecci&oacute;n sea grabada en archivos de log. Para cambiar o revisar los modos, seleccione la opci&oacute;n deseada. Usted puede ver en que modo de trabajo se encuentra mirando la barra de t&iacute;tulo del GLI.</p>
+
+<p>La pesta&ntilde;a de "Conexi&oacute;n" le permite cambiar la ruta que lo conecta al servidor local de la biblioteca digital Greenstone, el cual se utiliza durante la presentaci&oacute;n preliminar de la colecci&oacute;n. Tambi&eacute;n le permite establecer la informaci&oacute;n de proxy para conectarse a Internet (ejemplo: al descargar archivos; ver la secci&oacute;n <a href="downloadingfiles.htm">Descargando archivos de Internet</a> para m&aacute;s detalles). Marque la casilla para permitir la conexi&oacute;n por proxy y suministre los detalles de la direcci&oacute;n y el n&uacute;mero de puerto del host que sirve de proxy. La conexi&oacute;n con el proxy se establece cuando cierre el di&aacute;logo de Preferencias.</p>
+
+<p>En el curso de una sesi&oacute;n la Interfaz de Bibliotecario podr&aacute; enviarle mensajes de advertencia que le avisar&aacute;n sobre las posibles consecuencias no previstas de una acci&oacute;n. Puede desactivar los mensajes marcando el recuadro "No mostrar este mensaje otra vez". Para reactivarlos utilice la pesta&ntilde;a "Mensajes de advertencia" y marque los recuadros de los mensajes que desea volver a ver.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/producingthecollection.htm
===================================================================
--- main/tags/2.83/gli/help/es/producingthecollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/producingthecollection.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="producingthecollection"><font size="5" face="Verdana"><strong>7: Produciendo su colecci&oacute;n </strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Una vez que se han reunido los documentos para la colecci&oacute;n, que se han enriquecido con metadatos y que se ha dise&ntilde;ado la forma en que la colecci&oacute;n aparecer&aacute;, usted ya puede empezar a construir la colecci&oacute;n. Esta secci&oacute;n le explica c&oacute;mo.</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/removingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/es/removingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/removingfiles.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="removingfiles"><font size="5" face="Verdana"><strong>4.6: Eliminando archivos</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Existen varios m&eacute;todos para eliminar archivos y carpetas. Primero se deben indicar los elementos que se desea eliminar seleccionando los archivos y carpetas tal como se describe en la secci&oacute;n de <a href="thegatherview.htm">La pantalla de selecci&oacute;n de documentos</a>.</p>
+
+<p>Una vez que se han seleccionado los archivos, haga click en el bot&oacute;n "Eliminar" o presione la tecla [Del], [Supr] o [Suprimir], dependiendo del teclado de su computadora, o arr&aacute;strelos desde la colecci&oacute;n hasta el bot&oacute;n "Eliminar" y su&eacute;ltelos ah&iacute;.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/replacingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/es/replacingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/replacingfiles.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="replacingfiles"><font size="5" face="Verdana"><strong>4.5: Renombrando y reemplazando ficheros</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Los archivos pueden renombrarse pulsando con el bot&oacute;n derecho del rat&oacute;n sobre ellos y seleccionando "Renombrar" de la lista. Introduzca el nuevo nombre y pulse "OK".</p>
+
+<p>Los archivos de la colecci&oacute;n pueden cambiarse  pulsando sobre ellos con el bot&oacute;n derecho del rat&oacute;n, y eligiendo "Reemplazar". Se muestra un explorador de archivos: navegue hasta el nuevo documento y pulse "Abrir". El nuevo documento reemplazar&aacute; al viejo en la colecci&oacute;n, y recibir&aacute; cualquier metadato del anterior. Esto es &uacute;til para reemplazar documento "de prueba" por documentos reales.</p>
+
+<p>Algunos tipos de archivos son convertidos a HTML por software de terceros durante el proceso de importaci&oacute;n, por ejemplo, Word, Excel, PDF, etc. El HTML producido durante la importaci&oacute;n puede resultar muy poco est&eacute;tico. Estos documentos tienen una opci&oacute;n adicional con el bot&oacute;n derecho del mouse: "Reemplazar con la versi&oacute;n HTML". Seleccionando esta opci&oacute;n se reemplazar&aacute; el archivo original en la colecci&oacute;n con la versi&oacute;n en HTML, la cual puede editarse.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/reviewingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/es/reviewingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/reviewingmetadata.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="reviewingmetadata"><font size="5" face="Verdana"><strong>5.6: Revisando los metadatos asignados</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>En ocasiones es necesario ver los metadatos asignados a varios o a todos los ficheros al mismo tiempo, por ejemplo, para determinar la forma en que quedan muchos archivos para trabajar en ellos o para tener una idea de la diferencia de tiempo entre las fechas.</p>
+
+<p>Seleccione los ficheros que desea examinar, pulse el bot&oacute;n derecho del rat&oacute;n y elija "Metadatos Asignados&hellip;". Aparecer&aacute; una ventana llamada "Todos los metadatos", ocupada en su mayor parte por una tabla de varias columnas. La primera columna muestra los nombres de los archivos, mientras que las filas muestran todos los valores asignados a dichos archivos.</p>
+
+<p>Si se seleccionaron muchos archivos es posible que transcurra alg&uacute;n tiempo antes de que se abra la ventana. Mientras tanto usted puede seguir usando la Interfaz de Bibliotecario.</p>
+
+<p>Cuando la tabla sea demasiado grande se puede refinar aplicando los filtros a las columnas. Conforme se a&ntilde;adan nuevos filtros, &uacute;nicamente aquellas filas que concuerden con ellos seguir&aacute;n siendo visibles. Para establecer, modificar o borrar un filtro haga click en el icono con forma de embudo que se encuentra en la parte superior de la columna. Se le indicar&aacute; que proporcione informaci&oacute;n sobre el filtro. Una vez que un filtro se ha aplicado, el encabezado de la columna cambia de color.</p>
+
+<p>El aviso tiene una pesta&ntilde;a "Sencilla" y una "Avanzada". La versi&oacute;n sencilla filtra las columnas de tal manera que s&oacute;lo muestren las filas que contienen un determinado valor ("*" corresponde a todos los valores). Los valores se pueden seleccionar de la lista desplegable. La versi&oacute;n avanzada permite diferentes operaciones de concordancia: "debe empezar con", "no contiene", "alfab&eacute;ticamente menos que" y "es igual a". El valor se puede editar con cualquier cadena de caracteres (incluyendo "*") y se puede elegir que la concordancia no tome en cuenta el caso. Finalmente, se puede especificar una segunda condici&oacute;n de concordancia que se puede usar para especificar un rango de valores (seleccionando "Y") o valores alternativos (seleccionando "O"). Debajo de esta &aacute;rea hay un cuadro que le permite cambiar el orden de clasificaci&oacute;n (ascendente o descendente). Una vez que haya terminado, haga click en "Filtrar" para aplicar el nuevo filtro a la columna. Para quitar el filtro haga click en "Borrar filtro". Recuerde que los detalles del filtro se conservan incluso cuando el filtro se borra.</p>
+
+<p>Por ejemplo, para ordenar la tabla elija una columna, seleccione el filtro por omisi&oacute;n (un filtro Sencillo en "*") y escoja el orden ascendente o descendente.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/savingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/es/savingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/savingacollection.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="savingacollection"><font size="5" face="Verdana"><strong>2.2: Guardar la colecci&oacute;n</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Guarde su trabajo regularmente abriendo el men&uacute; "Archivo" y seleccionando "Guardar". Tome en cuenta que guardar una colecci&oacute;n no es lo mismo que prepararla para que se pueda usar en Greenstone (vea la secci&oacute;n <a href="producingthecollection.htm">Produciendo su colecci&oacute;n </a>).</p>
+
+<p>La Interfaz de Bibliotecario protege su trabajo guard&aacute;ndolo cada vez que salga del programa o cargue otra colecci&oacute;n.</p>
+
+<p>Las colecciones se guardan en una carpeta dentro de la carpeta "collect" de su instalaci&oacute;n de Greenstone, etiquetada con una versi&oacute;n corta del nombre de la colecci&oacute;n. Los documentos se guardan en la carpeta "import", y los metadatos en ficheros "metadata.xml" dentro de esta carpeta. La informaci&oacute;n de configuraci&oacute;n se guarda en elf ichero "collect.cfg" dentro de la carpeta "etc". Otra informaci&oacute;n se guarda en un fichero con el nombre de la colecci&oacute;n y terminaci&oacute;n ".col".</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/scheduledbuilding.htm
===================================================================
--- main/tags/2.83/gli/help/es/scheduledbuilding.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/scheduledbuilding.htm	(revision 21123)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="scheduledbuilding"><font size="5" face="Verdana"><strong>7.4: Planificaci&oacute;n de la construcci&oacute;n de colecciones</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>La programaci&oacute;n de la construcci&oacute;n de colecciones est&aacute; disponible en Modo Experto. Antes de que esto funcione es necesario realizar algunas tareas, ver http://wiki.greenstone.org/wiki/index.php/Scheduled_Collection_Building_from_the_Librarian_Interface para m&aacute;s detalles. La solapa "Opciones de programaci&oacute;n"  en el lado izquierdo del panel Crear muestra una lista de opciones para controlar el proceso de planificaci&oacute;n. La opci&oacute;n "Programar" necesita estar marcada para que la programaci&oacute;n se pueda llevar a cabo. Las otras opciones controlan la frecuencia de la reconstrucci&oacute;n, si es una programaci&oacute;n nueva o una actualizaci&oacute;n de una ya existente y los detalles de la notificaci&oacute;n via email.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/searchindexes.htm
===================================================================
--- main/tags/2.83/gli/help/es/searchindexes.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/searchindexes.htm	(revision 21123)
@@ -0,0 +1,42 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchindexes"><font size="5" face="Verdana"><strong>6.3: &Iacute;ndices de b&uacute;squeda</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Los &iuml;ndices especifican que partes de la colecci&oacute;n son buscables. Esta secci&oacute;n explica como a&ntilde;adir y quitar &iacute;ndices, y c&oacute;mo fijar un &iacute;ndice predefinido. Bajo la pesta&ntilde;a  "Dise&ntilde;o", pulse "&Iacute;ndices de b&uacute;squeda".</p>
+
+<p>La parte superior derecha del panel "&Iacute;ndices de b&uacute;squeda" muestra informaci&oacute;n sobre el indizador que est&aacute; usando la colecci&oacute;n. Puede cambiarse pulsando "Cambiar...". Se muestra una ventana emergente con una lista de opciones: MG, MGPP, y Lucene. Cambiarlo afecta a la forma en que se construyen los &iacute;ndices, y puede afectar a las funcionalidades de b&uacute;squeda.</p>
+
+<p>La lista "&Iacute;ndices asignados" muestra los &iacute;ndices asignados a la colecci&oacute;n.</p>
+
+<p>Para a&ntilde;adir un &iacute;ndice, pulsek "Nuevo &Iacute;ndice"... Se mostrar&aacute; una ventana emergente con una lista de fuentes, que incluir&aacute; texto y metadatos. Seleccione que fuentes quiere indizar. Los botones "Seleccionar Todo" y "No seleccionar ninguno" marcar&aacute;n o desmarcar&aacute;n todos los elementos de la lista respectivamente. Nua vez definido un nuevo &iacute;ndice, pulse "A&ntilde;adir &iacute;ndice" para a&ntilde;adirlo a la colecci&oacute;n. "A&ntilde;adir &iacute;ndice" s&oacute;lo se activar&aacute; una vez que se hayan definido par&aacute;metros para un &iacute;ndice que a&uacute;n no se ha asignado a la colecci&oacute;n.</p>
+
+<p>Para los &iacute;ndices de MGPP, puede necesitar establecer la granularidad del &iacute;ndice, usando el men&uacute; "Nivel de Indizaci&oacute;n:".</p>
+
+<p>Para los &iacute;ndices de MGPP y Lucene, la granularidad se establece globalmente, no por &iacute;ndice. Los niveles posibles se muestran en el panel principal "&Iacute;ndices de b&uacute;squeda", y pueden a&ntilde;adirse a la colecci&oacute;n marcando las casillas correspondientes.</p>
+
+<p>Hay disponible un &iacute;ndice especial para MGPP y Lucene: un &iacute;ndice "todos los campos (allfields)" que ofrece una b&uacute;sqeuda combianda sobre todos los &iacute;ndices indicados, sin tener que indicar un &iacute;ndice separado que contenga todas las fuentes. Para a&ntilde;adir este &iacute;ndice pulse marque "A&ntilde;adir b&uacute;squeda combinada sobre todos los &iacute;ndices asignados (todos los campos)" y pulse "A&ntilde;adir &iacute;ndice". </p>
+
+<p>Para MGPPP y Lucene se ofrece un bot&oacute;n "A&ntilde;adir Todo", como atajo para a&ntilde;adir todos los metadatos e fuentes de texto como &iacute;ndices individuales.</p>
+
+<p>Para editar un &iacute;ndice, selecci&oacute;nelo y pulse "Editar &Iacute;ndice". Se muestra un di&aacute;logo similar a "Nuevo &Iacute;ndice".</p>
+
+<p>Para borrar un &iacute;ndice, selecci&oacute;nelo de la lista de &iacute;ndices asignados y pulse "Eliminar &iacute;ndice".</p>
+
+<p>El orden en el que se indican los &iacute;ndices en la Lista de &Iacute;ndices Asignados es el orden en el cual se muestran en el men&uacute; desplegable de la p&aacute;gina de b&uacute;squeda. Use los botones  "Mover arriba" y "Mover abajo" para cambiar este orden.</p>
+
+<p>El preseleccionado en la p&aacute;gina de b&uacute;squeda es llamado "&iacute;ndice predefinido". Puede fijarse seleionando un &iacute;ndice de la lista y marcando "Predefinido". El &iacute;ndice predefinido es marcadao como "[&Iacute;ndice predefinido]" en la lista de "&Iacute;ndices Asignados". Si no se ha establecido, se usar&aacute; el primero.</p>
+
+<p>Los nombres usados en la lista desplegable de &iacute;ndices de la p&aacute;gina de b&uacute;squeda puede fijarse en el panel "Buscar" de la vista "Formato"  (v&eacute;ase <a href="searchmetadatasettings.htm">Buscar</a>).</p>
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/searchindexoptions.htm
===================================================================
--- main/tags/2.83/gli/help/es/searchindexoptions.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/searchindexoptions.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchindexoptions"><font size="5" face="Verdana"><strong>6.3.1: Opciones de &iacute;ndices de b&uacute;squeda</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Hay algunas opciones adicionales que controlan la manera en la que se construyen los &iacute;ndices. Estas pueden no estar disponibles para un &iacute;ndice en particular, en cuyo caso se mostrar&aacute;n grisadas.</p>
+
+<p>Truncamiento (Stemming) y Distinguir May/Min (case-folding) pueden habilitarse o deshabilitarse para los &iacute;ndices constru&iacute;dos con MG y MGPP. Si son habilitados, se crear&aacute;n &iacute;ndices que le permitir&aacute;n al usuario buscar usando dichas opciones o bien no tenerlas en cuenta. Si son deshabilitadas, las b&uacute;squedas seran sensitivas a las may&uacute;sculas y sin posibilidad de truncamiento y las opciones no se mostrar&aacute;n en la p&aacute;gina de preferencias de la colecci&oacute;n.</p>
+
+<p>La distinci&oacute;n de acentos (Accent-folding) est&aacute; disponible para &iacute;ndices MGPP. Funciona de una manera similar a la distinci&oacute;n de may&uacute;sculas/min&uacute;sculas, pero en vez de hacer coincidir letras may&uacute;sculas y min&uacute;sculas logra la coincidencia de letras con diacr&iacute;ticos con aquellas que no lo tienen. El &iacute;ndice Lucene es accent-folded por defecto, pero no mostrar&aacute; ninguna opci&oacute;n al usuario en la p&aacute;gina de preferencias para habilitarlo o deshabilitarlo</p>
+
+<p>El Texto escrito en Chino, Japon&eacute;s y Coreano por lo general no esta segmentado en palabras individuales. Como la indexaci&oacute;n se basa en las palabras presentes en el texto, esto resulta en un &iacute;ndice no buscable. Configurando la opci&oacute;n "Segmentaci&oacute;n de texto CJK" se agregar&aacute;n espacios entre cada caracter Chino/Japon&eacute;s/Coreano del texto y en los t&eacute;rminos de b&uacute;squeda, de forma que pueda efectuarse una b&uacute;squeda a nivel de caracter.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/searchmetadatasettings.htm
===================================================================
--- main/tags/2.83/gli/help/es/searchmetadatasettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/searchmetadatasettings.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchmetadatasettings"><font size="5" face="Verdana"><strong>8.3: Buscar</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Esta secci&oacute;n explica c&oacute;mo fijar el texto que se muestra para las listas desplegables de la p&aacute;gina de b&uacute;squeda. Bajo la pesta&ntilde;a "Formato", pulse "B&uacute;squeda".</p>
+
+<p>Este panel ofrece una tabla que enumera cada &iacute;ndice de b&uacute;squeda, nivel y partici&oacute;n.  Aqu&iacute; puede ingresar el texto a ser usado para el nombre del &iacute;ndice en la lista desplegable de la p&aacute;gina de b&uacute;squeda. Este panel s&oacute;lo permite fijar el texto en un idioma, el utilizado en ese momento por GLI. Para traducir el texto a otro idioma, use el panel Traducir Texto de la solapa Formato (V&eacute;ase <a href="translatetext.htm">Traducci&oacute;n de textos</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/selectingmetadatasets.htm
===================================================================
--- main/tags/2.83/gli/help/es/selectingmetadatasets.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/selectingmetadatasets.htm	(revision 21123)
@@ -0,0 +1,35 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="selectingmetadatasets"><font size="5" face="Verdana"><strong>5.2: Seleccionando conjuntos de metadatos</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Los grupos de elementos de metadatos definidos previamente son conocidos como "conjuntos de metadatos". Un ejemplo es el conjunto de metadatos de Dublin Core. Cuando se a&ntilde;ade un conjunto de metadatos a una colecci&oacute;n, sus elementos se vuelven elegibles para que el usuario los pueda seleccionar. Tambi&eacute;n se puede tener m&aacute;s de un conjunto. Para evitar conflictos de nombre, un identificador que describe al conjunto de metadatos se agrega como prefijo al nombre del elemento. Por ejemplo, el elemento Creator de Dublin Core se convierte en "dc.Creator". Los conjuntos de metadatos se guardan en la carpeta de metadatos de la Interfaz de Bibliotecario y llevan el sufijo ".mds".</p>
+
+<p>Cuando crea una colecci&oacute;n nueva, por defecto se a&ntilde;ade el conjunto de metadatos Dublin Core. Puede cambiar el conjunto de metadatos usado en una colecci&oacute;n pulsando el bot&oacute;n "Gestionar Conjuntos de Metadatos..." en el &aacute;rbol de la colecci&oacute;n en la vista Enriquecer. Se le muestra una nueva ventana para gestionar los conjuntos de metadatos de la colecci&oacute;n.</p>
+
+<p>La lista "Conjuntos de Metadatos Asignados" muestra que conjuntos est&aacute;n siendo usados por la colecci&oacute;n.</p>
+
+<p>Para usar otro conjunto de metadatos con la colecci&oacute;n cargada, pulse "A&ntilde;adir..." Una ventana emergente muestra los conjuntos predefinidos de metadatos reconocidos por GLI. Para a&ntilde;adir uno de ellos, selecci&oacute;nelo de la lista desplegable y pulse "A&ntilde;adir". Si ha definido su propio conjunto de metadatos use el bot&oacute;n "Explorar" para localizar el fichero en su sistema.</p>
+
+<p>Para crear un nuevo conjunto de metadatos, pulse "Nuevo..." Esto iniciar&aacute; el Editor Greentone para Conjuntos de Metadatos, GEMS. Una ventana inicial le preguntar&aacute; el nombre del conjunto, el espacio de nombres y la descripci&oacute;n. Tambi&eacute;n puede elegir basar el nuevo conjunto en otro ya existente, en cuyo caso heredar&aacute; los elementos ya existentes en &eacute;ste. Pulse OK. La ventana principal muestra el conjunto de metadatos en el panel izquierdo y algunos atributos del conjunto en el panel derecho. Si ha basado el conjunto en otro ya existente, se mostrar&aacute;n uno o m&aacute;s elementos. Pulsando en uno de ellos se mostrar&aacute;n sus atributos en el panel derecho.</p>
+
+<p>Para a&ntilde;adir un nuevo elemento, pulse con el bot&oacute;n derecho del rat&oacute;n en el conjunto y seleccione "A&ntilde;adir elemento". Para a&ntilde;adir un nuevo subelemento, pulse con el bot&oacute;n derecho del rat&oacute;n y seleccione "A&ntilde;adir subelemento". Los elementos y subelementos pueden borrarse seleccionando "Borrar (Sub)Elemento" del men&uacute; emergente.</p>
+
+<p>Nota:  El editor Greenstone para Conjuntos de Metadatos puede ejecutarse independientemente de GLI, seleccion&aacute;ndolo del men&uacute; de inicio de Greenstone, o ejecutando gems.sh o gems.bat en la carpeta "gli" de su instalaci&oacute;n de Greenstone.</p>
+
+<p>Algunas veces dos conjuntos de metadatos pueden tener el mismo espacio de nombre, por ejemplo Dublin Core y Dublin Core Cualificado, que usan "dc". Estos conjuntos no pueden usarse en una colecci&oacute;n simult&aacute;neamente. Si lo intenta, recibir&aacute; un mensaje de alerta. Si contin&uacute;a, se leiminar&aacute; el conjunto existente y se a&ntilde;adir&aacute; en nuevo. Todos los elementos de metadatos asignados se trasnferir&aacute;n al nuevo conjunto si exisnten en el mismo.</p>
+
+<p>El Editor Greenstone para Conjuntos de Metadatos (GEMS) permite editar conjuntos de metadatos y crear otros nuevos. Pulsando el bot&oacute;n "Editar" se ejecuta GEMS sobre el conjunto de metadatos abierto. Una vez que ha terminado de editar el conjunto (como se ha indicado arriba), gu&aacute;rdelo (Fichero-&gt;Guardar) y cierre GEMS:</p>
+
+<p>Si una colecci&oacute;n ya no necesita un conjunto de metadatos, selecci&oacute;nelo y pulse "Borrar Conjunto de Metadatos" para eliminarlo. Si hab&iacute;a asignado metadatos a cualquier elemento del conjunto borrado, se le preguntar&aacute; c&oacute;mo actuar con estos metadatos cuando vuelva a abrir la colecci&oacute;n.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/startingoff.htm
===================================================================
--- main/tags/2.83/gli/help/es/startingoff.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/startingoff.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="startingoff"><font size="5" face="Verdana"><strong>2: Para empezar</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Esta secci&oacute;n explica c&oacute;mo crear, cargar, guardar y borrar colecciones.</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/thecreateview.htm
===================================================================
--- main/tags/2.83/gli/help/es/thecreateview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/thecreateview.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thecreateview"><font size="5" face="Verdana"><strong>7.1: La Vista Crear</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>La pantalla "Crear" se utiliza para producir la colecci&oacute;n ejecutando los guiones de los programas Greenstone con base en la informaci&oacute;n que usted ha proporcionado. Acceda a la vista Crear pulsando las pesta&ntilde;a Crear.</p>
+
+<p>Pulsando "Construir colecci&oacute;n"  inicia el proceso. El tiempo del mismo depende del tama&ntilde;o de la colecci&oacute;n y del n&uacute;mero de &iacute;ndices que se creen (para colecciones muy grandes pueden ser horas). Una barra de progreso indica cu&aacute;nto ha sido completado. Para cancelar el proceso en cualquier momento, pulse "Cancelar construcci&oacute;n". La parte inferior del panel muestra informaci&oacute;n sobre el proceso de construcci&oacute;n. la parte superior muestra algunas opciones para controlar el proceso.</p>
+
+<p>Una vez que la colecci&oacute;n se ha construido exitosamente, al seleccionar "Vista previa de la colecci&oacute;n" se iniciar&aacute; un navegador de web que mostrar&aacute; la p&aacute;gina inicial de la colecci&oacute;n.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/thedesignview.htm
===================================================================
--- main/tags/2.83/gli/help/es/thedesignview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/thedesignview.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thedesignview"><font size="5" face="Verdana"><strong>6.1: La pantalla de dise&ntilde;o</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Esta secci&oacute;n le presenta la pantalla de Dise&ntilde;o y le explica la forma de navegar entre las diferentes opciones de este conjunto.</p>
+
+<p>Con la Interfaz de Bibliotecario usted puede configurar la forma en que se procesan los documentos y la colecci&oacute;n se muestra al usuario. Las opciones se dividen en diferentes secciones, cada una relacionada con una etapa dada de personalizaci&oacute;n.</p>
+
+<p>A la izquierda se encuentra una lista de las diferentes pantallas, en tanto que a la derecha est&aacute;n los controles asociados a la pantalla que est&aacute; activa en ese momento. Para cambiar a una pantalla diferente haga click en la lista.</p>
+
+<p>Para entender las etapas y los t&eacute;rminos usados en el dise&ntilde;o de una colecci&oacute;n, lea primero los Cap&iacute;tulos 1 y 2 de la Gu&iacute;a del Programador de Greenstone.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/theenrichview.htm
===================================================================
--- main/tags/2.83/gli/help/es/theenrichview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/theenrichview.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="theenrichview"><font size="5" face="Verdana"><strong>5.1: La pantalla de asignaci&oacute;n de metadatos</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Utilice la vista "Enriquecer" para asignar metadatos a los documentos de la colecci&oacute;n. Los metadatos son datos acerca de los datos: t&iacute;tulo, autor, fecha de creaci&oacute;n, etc. Cada metadato tiene dos partes: "Elemento" dice el tipo de metadato que es (como por ejemplo el autor) y "Valor" da la informaci&oacute;n de ese elemento (como por ejemplo el nombre del autor).</p>
+
+<p>En la parte izquierda de la vista "Enriquecer" se encuentra el &aacute;rbol de la colecci&oacute;n. Toda la funcionalidad del bot&oacute;n derecho disponible para el &aacute;rbol de la colecci&oacute;n en "Reunir" tambi&eacute;n est&aacute; disponible aqu&iacute;. A la derecha est&aacute; la Tabla de Metadatos, que muestra los metadatos de los ficheros y carpetas seleccionados. Los nombres de las columnas est&aacute;n en gris en la parte superior y se pueden cambiar de tama&ntilde;o arrastrando la l&iacute;nea que las separa. Si se seleccionan varios archivos, el texto en negro indica que el valor es com&uacute;n a todos ellos, mientras que el texto sombreado indica que no. La edici&oacute;n de los valores en gris s&oacute;lo afecta a aquellos documentos con esos metadatos. Cualquier nuevo metadato introducido se a&ntilde;adir&aacute; a los valores seleccionados.</p>
+
+<p>Un icono en forma de carpeta puede aparecer junto a algunas entradas de metadatos. Esto indica que los valores se heredan de la carpeta en la que se encuentra el archivo. Los metadatos heredados no se pueden editar o eliminar, sino &uacute;nicamente agregarse. Haga click en el icono de la carpeta para ir inmediatamente a la carpeta en la que se asignaron los metadatos.</p>
+
+<p>Pulsando sobre el elemento de metadato en la tabla se mostrar&aacute;n los valores existentes  para ese elemento en el &aacute;rea "Valores existentes para ..." situada debajo de la tabla. La estructura de valores se puede expandir y contraer. Normalmente es una lista que muestra todos los valores introducidos previamente para un elemento seleccionado. Pulsando en una entrada &eacute;sta aparece autom&aacute;ticamente en el campo de valores. Y a la inversa, al escribir en el campo se selecciona la entrada de la estructura de valores que empieza con los caracteres introducidos. Al pulsar [Tab] se completa autom&aacute;ticamente el valor seleccionado.</p>
+
+<p>Los valores de los metadatos se pueden organizar jer&aacute;rquicamente. Esto se muestra en la estructura de valores por medio de carpetas para los niveles internos. Los valores jer&aacute;rquicos pueden ingresarse utilizando el car&aacute;cter "|" para separar los niveles. Por ejemplo, se puede usar "Cartas|Rojo|Diamantes|Siete" en una jerarqu&iacute;a que representa un mazo de cartas. Esto permite agrupar los valores, en tanto que los grupos tambi&eacute;n pueden asignarse en forma de metadatos a los archivos.</p>
+
+<p>Greenstone extrae autom&aacute;ticamente los metadatos de los documentos para formar un conjunto de metadatos cuyos elementos llevan el prefijo "ex.". &Eacute;ste no tiene estructura de valores y no puede editarse.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/theformatview.htm
===================================================================
--- main/tags/2.83/gli/help/es/theformatview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/theformatview.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="theformatview"><font size="5" face="Verdana"><strong>8.1: La Vista de Formato</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Esta secci&oacute;n lo introduce a la vista Formato.</p>
+
+<p>Con la Interfaz de Bibliotecario puede configurar c&oacute;mo se muestra la colecci&oacute;n al usuario. Las opciones de configuraci&oacute;n se dividen en secciones, cada una de las cuales se asocia con diferentes tipos de ajustes de la configuraci&oacute;n.</p>
+
+<p>A la izquierda hay una lista de vistas y a la derecha se muestran los controles asociados con la vista seleccionada. Para cambiar a otra vista, pulse en su nombre en la lista.</p>
+
+<p>Bajo la lista de par&aacute;metros hay un bot&oacute;n "Previsualizar la colecci&oacute;n". Los cambios que se hagan en la vista Formato no requieren reconstruir la colecci&oacute;n, por lo que pueden previsualizarse. Sin embargo, la colecci&oacute;n debe haberse construido por lo menos una vez para permitir el previsualizado.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/thegatherview.htm
===================================================================
--- main/tags/2.83/gli/help/es/thegatherview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/thegatherview.htm	(revision 21123)
@@ -0,0 +1,33 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thegatherview"><font size="5" face="Verdana"><strong>4.1: La pantalla de selecci&oacute;n de documentos</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Esta secci&oacute;n describe el funcionamiento de la pantalla "Reunir" que se utiliza para seleccionar los archivos que se van a incluir en la colecci&oacute;n que se est&aacute; construyendo. La Interfaz de Bibliotecario se inicia con la pantalla "Reunir". Para regresar a esta pantalla pulse en la pesta&ntilde;a "Reunir" que se encuentra directamente debajo de la barra de men&uacute;s.</p>
+
+<p>Dos grandes &aacute;reas tituladas "Area de trabajo" y "Colecci&oacute;n" se utilizan para transferir los ficheros a su colecci&oacute;n. Cada una contiene "&aacute;rboles de archivos", que son representaciones gr&aacute;ficas de la estructura de directorios y ficheros.</p>
+
+<p>Seleccione un elemento del &aacute;rbol pulsando en &eacute;l. (Tambi&eacute;n existen otras formas; v&eacute;ase m&aacute;s adelante.) Pulse dos veces en la carpeta, o una en el signo que se encuentra junto a ella para expandir (o contraer) sus contenidos. Pulse dos veces en un fichero y seleccione "Abrir en un programa externo" para abrirlo usando un programa de aplicaci&oacute;n asociado (v&eacute;ase <a href="fileassociations.htm">Asociaci&oacute;n de archivos</a>).</p>
+
+<p>El &aacute;rbol de archivos del &aacute;rea de trabajo muestra los or&iacute;genes de la informaci&oacute;n disponible al interfaz del Bibliotecario -- el sistema local de archivos (incluyendo unidades de disco y CD-ROM), los contenidos de las colecciones existentes de Greenstone, y el cach&eacute; de archivos descargados. Usted puede copiar y consultar estos archivos pero no puede moverlos, eliminarlos o editarlos, con la excepci&oacute;n de los archivos descargados, los cuales pueden ser eliminados. Navegue por este espacio para buscar los archivos que desee incluir en la colecci&oacute;n.</p>
+
+<p>La estructura de directorios y subdirectorios de la colecci&oacute;n muestra sus contenidos. Inicialmente est&aacute; vac&iacute;a.</p>
+
+<p>Se puede cambiar el tama&ntilde;o de las &aacute;reas oprimiendo el bot&oacute;n del mouse sobre la barra gris que separa las estructuras de directorios y subdirectorios (la forma del cursor cambia) y arrastr&aacute;ndola.</p>
+
+<p>En la parte inferior de la ventana se muestra un &aacute;rea de estado que informa del progreso de las acciones sobre archivos (copiando, moviendo y borrando). Puede tardar un tiempo en terminar. El bot&oacute;n "Detener" interrumpe cualquier acci&oacute;n que se est&eacute; ejecutando en ese momento.</p>
+
+<p>Dos grandes botones ocupan la esquina inferior derecha de la pantalla: "Nueva carpeta", con la imagen de una carpeta, crea nuevas carpetas (vea la secci&oacute;n <a href="creatingfolders.htm">Creando carpetas</a>), en tanto que "Eliminar", con la imagen de un bote de basura, descarta los archivos. Al hacer click en el bot&oacute;n "Eliminar" se suprimir&aacute;n los archivos seleccionados de la estructura de directorios y subdirectorios de la colecci&oacute;n. Asimismo, los archivos pueden eliminarse arrastr&aacute;ndolos hacia este bot&oacute;n.</p>
+
+<p>Para seleccionar varios elementos consecutivos, seleccione el primero y a continuaci&oacute;n manteniendo oprimida la tecla de may&uacute;sculas o [Shift] haga click en el &uacute;ltimo: la selecci&oacute;n incluir&aacute; todos los elementos que se encuentran en medio. Para seleccionar varios archivos que no sean consecutivos mantenga oprimida la tecla de control o [Ctrl] mientras hace click en ellos. Utilice alternativamente estos dos m&eacute;todos para seleccionar grupos de elementos que no est&eacute;n juntos.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/themirrorview.htm
===================================================================
--- main/tags/2.83/gli/help/es/themirrorview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/themirrorview.htm	(revision 21123)
@@ -0,0 +1,44 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="themirrorview"><font size="5" face="Verdana"><strong>3.1: La vista en Bajar</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Esta secci&oacute;n describe como configurar una tarea de descarga y como controlar el proceso de descarga. Active la vista "Descargar" pulsando en su pesta&ntilde;a. La mitad superior de la pantalla contiene los controles para realizar descargas. La mitad inferior est&aacute; vac&iacute;a inicialmente, pero despu&eacute;s va a mostrar una lista de tareas pendientes y terminadas.</p>
+
+<p>Se pueden usar varios protocolos para descargar registros, y se listan en la parte izquierda superior.</p>
+
+<p>
+<b>Web:</b> descarga p&aacute;ginas web y ficheros mediante HTTP y FTP.</p>
+
+<p>
+<b>MediaWiki:</b> descarga p&aacute;ginas web y archivos via HTTP desde un sitio MediaWiki.</p>
+
+<p>
+<b>OAI:</b> descarga registros (y opcionalmente documentos) de un servidor OAI-PMH (Open Archives Initiative).</p>
+
+<p>
+<b>Z3950:</b> descarga registros MARC que cumplen un criterio de b&uacute;squeda dado, desde un servidor Z3950.</p>
+
+<p>
+<b>SRW:</b> descarga registros MARCXML que cumplen un criterio dado desde un servidor SRW.</p>
+
+<p>Seleccione el protocolo adecuado pulsando sobre &eacute;l en la lista de la izquierda. La parte derecha muestra las opciones disponibles para el tipo de protocolo seleccionado. Para saber que hace una opci&oacute;n, sit&uacute;e el cursor sobre ella: se abre un mensaje emergente explicando la opci&oacute;n. Algunas opciones son "opcionales": se presentan con un cuadro que debe ser marcado para usar la opci&oacute;n. Otras son "requeridas": no tienen cuadro de marca, y debe darse un valor antes de llevar a cabo la descarga.</p>
+
+<p>Una vez fijada la configuraci&oacute;n, pulse "Informaci&oacute;n del servidor" para comprobar la conexi&oacute;n al servidor y ver informaci&oacute;n b&aacute;sica sobre la p&aacute;gina web o el servidor, o pulse "Descargar" para iniciar la descarga.</p>
+
+<p>Hay otros dos botones: "Configurar Proxy&hellip;", que enlazan con la secci&oacute;n de conexi&oacute;n de las Preferencias, en la cual se pueden editar los par&aacute;metros del proxy; y "Borrar Cach&eacute;", que borra  todos los ficheros descargados previamente. Puede necesitar la informaci&oacute;n del proxy si usa este sistema para conectarse a internet. Si se necesita autentificaci&oacute;n para las descargas, el servidor proxy pedir&aacute; nombre de usuario y clave. La Interfaz de Bibliotecario no almacena claves entre sesiones.</p>
+
+<p>Los archivos se descargan en una carpeta "Ficheros Descargados", (s&oacute;lo presente cuando se activa la descarga) y pueden utilizarse en todas las colecciones. Los archivos se nombran con su URL completo (para descargas Web y MediaWIki), o una combinaci&oacute;n de URL y valores de opci&oacute;n (para otros tipos de descarga). Para cada "servidor" se crea una nueva carpeta, seguida por otras para cada parte de la "ruta". De esta manera se asegura que todos los archivos son distintos.</p>
+
+<p>La lista de descargas tiene una entrada por cada descarga realizada. Cada entrada tiene un &aacute;rea de texto que da detalles acerca de la tarea, junto con una barra que indica el avance de la actividad en ejecuci&oacute;n. A la derecha de cada entrada aparecen tres botones. "Pausa" se utiliza para detener temporalmente la descarga que se est&aacute; ejecutando. "Ver Bit&aacute;cora" abre una ventana que muestra el archivo de log de las descargas. "Cerrar" termina la descarga y quita de la lista la tarea correspondiente.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/translatetext.htm
===================================================================
--- main/tags/2.83/gli/help/es/translatetext.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/translatetext.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="translatetext"><font size="5" face="Verdana"><strong>8.5: Traducci&oacute;n de textos</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Esta secci&oacute;n describe al panel de traducci&oacute;n, donde se pueden definir fragmentos de texto en un idioma espec&iacute;fico para partes de la interfaz de la colecci&oacute;n. En la vista "Formato" pulse en "Traducir texto".</p>
+
+<p>Primero elija una entrada de la lista de "funciones". Las cadenas de texto asociadas a esta funci&oacute;n aparecer&aacute;n abajo. Utilice la lista "Idioma de la traducci&oacute;n" para seleccionar el idioma al que se va a traducir y escriba el texto traducido en el &aacute;rea de texto, haciendo referencia al "fragmento de texto inicial" en caso necesario. Una vez que haya terminado haga click en "A&ntilde;adir traducci&oacute;n".</p>
+
+<p>Para quitar una traducci&oacute;n existente, selecci&oacute;nela de la tabla "Traducciones asignadas" y haga click en "Eliminar traducci&oacute;n".</p>
+
+<p>Para actualizar una traducci&oacute;n, selecci&oacute;nela, ed&iacute;tela en el &aacute;rea "Texto traducido" y pulse en "Reemplazar traducci&oacute;n".</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/updatingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/es/updatingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/updatingmetadata.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="updatingmetadata"><font size="5" face="Verdana"><strong>5.5: Editar o Borrar Metadatos</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Para editar o borrar elementos de metadato, primero seleccione el campo apropiado, y luego el valor de metadato de la tabla. Edite el campo del valor, y borre todo el texto si quiere borrar el metadato.</p>
+
+<p>El proceso es el mismo cuando se actualiza un directorio que contiene subdirectorios o m&uacute;ltiples archivos, pero s&oacute;lo se pueden actualizar metadatos que sean comunes a todos los archivos y carpetas seleccionados.</p>
+
+<p>El arbol de valores muestra todos los valores asignados actualmente, as&iacute; como todos los valores previos de la sesi&oacute;n activa, por lo que los valores modificados o borrados permanecer&aacute;n en el &aacute;rbol. Si cierra y vuelve a abrir la colecci&oacute;n, se borrar&aacute;n los valores que ya no est&aacute;n asignados.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/es/xcollectionsearching.htm
===================================================================
--- main/tags/2.83/gli/help/es/xcollectionsearching.htm	(revision 21123)
+++ main/tags/2.83/gli/help/es/xcollectionsearching.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="xcollectionsearching"><font size="5" face="Verdana"><strong>8.6: B&uacute;squeda cruzada a trav&eacute;s de varias colecciones</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Greenstone puede buscar a trav&eacute;s de varias colecciones distintas como si fueran una sola. Esto se hace especificando una lista de otras colecciones que puedan ser buscadas junto con la actual. En la vistad e "Formato"" pulse en "B&uacute;squeda cruzada".</p>
+
+<p>El panel de b&uacute;squeda cruzada muestra una lista de las colecciones disponibles. La colecci&oacute;n actual estar&aacute; seleccionada y no se puede desmarcar. Para a&ntilde;adir otra colecci&oacute;n en la cual buscar de forma paralela, pulse en ella (o pulse en ella nuevamente para quitarla de la selecci&oacute;n). Si s&oacute;lo se seleccion&oacute; una colecci&oacute;n, no habr&aacute; b&uacute;squeda cruzada.</p>
+
+<p>Si las colecciones individuales no tienen los mismos &iacute;ndices (incluyendo particiones en subcolecciones e idiomas) la b&uacute;squeda cruzada no funcionar&aacute; correctamente. El usuario &uacute;nicamente ser&aacute; capaz de buscar usando &iacute;ndices comunes a todas las colecciones.</p>
+
+<p>Para mayor informaci&oacute;n vea el Cap&iacute;tulo 1 de la Gu&iacute;a del Programador de Greenstone.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/addingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/fr/addingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/addingfiles.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="addingfiles"><font size="5" face="Verdana"><strong>4.4: Ajouter des fichiers</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Les fichiers peuvent &ecirc;tre copi&eacute;s dans la collection par glisser-d&eacute;poser. Le pointeur prend la forme de l'&eacute;l&eacute;ment s&eacute;lectionn&eacute; (ou affiche le nombre d'&eacute;l&eacute;ments si la s&eacute;lection en comprend plus d'un). D&eacute;poser la s&eacute;lection dans l'arborescence de la collection pour les y copier (si la source est l'arborescence de l'espace de travail) ou les d&eacute;placer &agrave; l'int&eacute;rieur de la collection (si la source est l'arborescence de la collection).</p>
+
+<p>Lorsque plusieurs fichiers sont copi&eacute;s, ils sont tous plac&eacute;s dans le dossier cible au m&ecirc;me niveau, quelle que soit la structure du dossier qui les contenait avant. Si vous copiez un fichier avec le nom d'un fichier qui existe d&eacute;j&agrave; dans le dossier cible, on vous demande si le premier fichier doit &ecirc;tre &eacute;cras&eacute;. Si la r&eacute;ponse est non, le fichier ne sera pas copi&eacute;, mais les autres le seront. Pour annuler les autres copies, cliquer sur le bouton &laquo;Arr&ecirc;t&raquo;.</p>
+
+<p>Seuls les &eacute;l&eacute;ments prioritaires dans une s&eacute;lection sont d&eacute;plac&eacute;s. Un dossier est prioritaire relatif &agrave; son contenu. On ne peut pas s&eacute;lectionner en m&ecirc;me temps le contenu d'un dossier et le dossier lui-m&ecirc;me.</p>
+
+<p>Lorsqu'un fichier est ajout&eacute;, l'Interface Biblioth&eacute;caire cherche les dossiers sources des fichiers auxiliaires contenant les m&eacute;tadonn&eacute;es qui lui sont assign&eacute;es &agrave; l'origine et, s'il en trouve, commence &agrave; les importer. Au fur et &agrave; mesure que l'op&eacute;ration se poursuit, il peut &ecirc;tre demand&eacute; (&eacute;ventuellement plusieurs fois) de fournir des informations compl&eacute;mentaires pour ajuster la m&eacute;tadonn&eacute;e aux jeux de m&eacute;tadonn&eacute;es de la collection. Ces confirmations sont d&eacute;crites dans la section <a href="importingpreviouslyassignedmetadata.htm">Importer des m&eacute;tadonn&eacute;es pr&eacute;-attribu&eacute;es</a>. Pour une explication plus d&eacute;taill&eacute;e de l'association de m&eacute;tadonn&eacute;es avec les fichiers, lire le chapitre 2 du Guide de d&eacute;veloppement de Greenstone -- &laquo;Exploitez vos documents au maximum&raquo;.</p>
+
+<p>Vous pouvez aussi ajouter un document "factice" &agrave; la collection par un clic droit dans l'arborescence de la collection ou sur un dossier, et en s&eacute;lectionnant "Nouveau document factice". Cette op&eacute;ration va cr&eacute;er un fichier vide &agrave; laquelle les m&eacute;tadonn&eacute;es peuvent &ecirc;tre affect&eacute;s. Le fichier peut &ecirc;tre remplac&eacute; par un "vrai" fichier ult&eacute;rieurement.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/addingpreviouslydefinedmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/fr/addingpreviouslydefinedmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/addingpreviouslydefinedmetadata.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="addingpreviouslydefinedmetadata"><font size="5" face="Verdana"><strong>5.4: Ajouter des m&eacute;tadonn&eacute;es pr&eacute;d&eacute;finies</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Pour ajouter une valeur de m&eacute;tadonn&eacute;es qui existe d&eacute;j&agrave;, s&eacute;lectionnez d'abord le fichier, et ensuite la valeur requise &agrave; partir de l'arborescence des valeurs, en d&eacute;veloppant si n&eacute;cessaire les dossiers de hi&eacute;rarchie. La valeur s&eacute;lectionn&eacute;e appara&icirc;t automatiquement dans le champ (utilisez alternativement les fonctionnalit&eacute;s auto-s&eacute;lectionner et auto-compl&eacute;ter de l'Arborescence de valeurs). </p>
+
+<p>La proc&eacute;dure pour ajouter des valeurs d&eacute;j&agrave; existantes aux dossiers ou aux fichiers multiples est tout &agrave; fait identique.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/appendingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/fr/appendingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/appendingmetadata.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="appendingmetadata"><font size="5" face="Verdana"><strong>5.3: Ajouter de nouvelles m&eacute;tadonn&eacute;es</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>On ajoute un &eacute;l&eacute;ment de m&eacute;tadonn&eacute;es -- &eacute;l&eacute;ment et valeur &agrave; la fois -- &agrave; un fichier. S&eacute;lectionnez d'abord le fichier &agrave; partir de l'arborescence de la collection situ&eacute;e &agrave; gauche. Cette action entra&icirc;ne l'apparition de toute m&eacute;tadonn&eacute;e pr&eacute;-assign&eacute;e  dans le tableau de droite. </p>
+
+<p>S&eacute;lectionnez ensuite l'&eacute;l&eacute;ment de m&eacute;tadonn&eacute;es &agrave; ajouter en cliquant sur sa rang&eacute;e dans le tableau.</p>
+
+<p>Tapez la valeur dans le champ valeur. Utilisez le caract&egrave;re &laquo;|&raquo; pour structurer une m&eacute;tadonn&eacute;e, comme d&eacute;crit dans <a href="theenrichview.htm">La vue &laquo;Enrichir&raquo;</a>. Vous pouvez sauver la m&eacute;tadonn&eacute;e en pressant les touches [Haut] ou [Bas] et bouger ainsi le rang s&eacute;lectionn&eacute;. En pressant la touche [Ent&eacute;e] la m&eacute;tadonn&eacute;e sera sauv&eacute;e et un nouvel espace vide sera cr&eacute;&eacute; pour l' &eacute;l&eacute;ment, vous permettant d&rsquo;ajouter plusieurs valeurs &agrave; un m&ecirc;me &eacute;l&eacute;ment.</p>
+
+<p>Vous pouvez aussi ajouter une m&eacute;tadonn&eacute;e &agrave; un dossier, ou &agrave; plusieurs fichiers s&eacute;lectionn&eacute;s &agrave; la fois. Elle est ajout&eacute;e &agrave; tous les fichiers &agrave; l'int&eacute;rieur du dossier ou de la s&eacute;lection, et aux sous-dossiers. Gardez &agrave; l'esprit que si des m&eacute;tadonn&eacute;es sont ajout&eacute;es &agrave; un dossier, tous les nouveaux fichiers de ce dossier h&eacute;ritent automatiquement de ces valeurs.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/assignlanguages.htm
===================================================================
--- main/tags/2.83/gli/help/fr/assignlanguages.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/assignlanguages.htm	(revision 21123)
@@ -0,0 +1,31 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="assignlanguages"><font size="5" face="Verdana"><strong>6.4.3: Attribuer langues </strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Cette section explique comment restreindre les index &agrave; des langues particuli&egrave;res. On le fait en g&eacute;n&eacute;rant une partition par le biais de l'onglet &laquo;Attribuer langues&raquo; du panneau &laquo;Index de Partition&raquo;.</p>
+
+<p>Les partitions de langues utilisent les m&eacute;tadonn&eacute;es pour d&eacute;terminer quels sont les documents &eacute;crits dans la langue sp&eacute;cifi&eacute;e qui seront inclus dans la partition. Greenstone g&eacute;n&egrave;re la m&eacute;tadonn&eacute;e &laquo;ex.Language&raquo; pour la plupart des documents et celle-eci est la m&eacute;tadonn&eacute;&eacute; &agrave; utiliser par d&eacute;faut. Cependant, ce choix peut &ecirc;tre modifi&eacute; en sp&eacute;cifiant l'&eacute;l&eacute;ment de m&eacute;tadonn&eacute;es appropri&eacute;.</p>
+
+<p>Pour ajouter une nouvelle partition de langue, s&eacute;lectionnez la ou les langue(s) souhait&eacute;e(s) dans la liste &laquo;Langue &agrave; ajouter&raquo; et cliquez sur &laquo;Ajouter partition&raquo;.</p>
+
+<p>Pour modifier une partition existante, s&eacute;lectionnez-la dans la liste &laquo;Partitions de langue attribu&eacute;es&raquo;, modifiez les langues s&eacute;lectionn&eacute;es dans la liste &laquo;Langue &agrave; ajouter&raquo; au-dessous, puis cliquez sur "Remplacer la partition".</p>
+
+<p>Pour supprimer une partition de langue, s&eacute;lectionnez-la dans la liste &laquo;Partitions de langue attribu&eacute;es&raquo; et cliquez sur &laquo;Supprimer partition&raquo;. </p>
+
+<p>L'ordre des partitions de langue dans la liste "Partitions de Langue attribu&eacute;es" est l'ordre dans lequel o&ugrave; elles apparaissent dans la liste d&eacute;roulante de la page de recherche. Utilisez les boutons "D&eacute;placer vers le haut" et "D&eacute;placer vers le bas" pour modifier cet ordre.</p>
+
+<p>Pour appliquer une langue par d&eacute;faut, s&eacute;lectionnez-la dans la liste et cliquez sur &laquo;D&eacute;finir d&eacute;faut&raquo;.</p>
+
+<p>Les noms utilis&eacute;s pour la liste d&eacute;roulante des partitions de langue sur la page de recherche peuvent &ecirc;tre d&eacute;finis dans la partie "Recherches" du panneau "Formater" (voir <a href="searchmetadatasettings.htm">Recherches</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/assignpartitions.htm
===================================================================
--- main/tags/2.83/gli/help/fr/assignpartitions.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/assignpartitions.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="assignpartitions"><font size="5" face="Verdana"><strong>6.4.2: Attribuer des partitions</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Apr&egrave;s avoir d&eacute;fini des filtres de sous-collection, utilisez l'onglet &laquo;Attribuer des partitions&raquo; pour construire leurs index. S&eacute;lectionnez le filtre (ou les filtres) de votre choix &agrave; partir de la liste &laquo;Construire la partiition sur :&raquo; et cliquer sur &laquo;Ajouter partition&raquo;. Chaque partition attribu&eacute;e cr&eacute;e une sous-collection qui contient les documents qui correspondent &agrave; au moins un des filtres assign&eacute;s &agrave; cette partition.</p>
+
+<p>Pour modifier une partition, s&eacute;lectionnez-la dans la liste, modifier les filtres, puis cliquez sur "Remplacer la partition".</p>
+
+<p>Pour supprimer une partition, s&eacute;lectionnez-la dans la liste et cliquer sur &laquo;Supprimer partition&raquo;.</p>
+
+<p>L'ordre dans lequel les partitions sont sp&eacute;cifi&eacute;es dans la liste de Partitions attribu&eacute;es est l'ordre o&ugrave; elles apparaissent dans la liste d&eacute;roulante de la page de recherche. Utilisez les boutons "D&eacute;placer vers le haut" et "D&eacute;placer vers le bas" pour modifier cet ordre.</p>
+
+<p>Pour faire d'une partition celle par d&eacute;faut, s&eacute;lectionner-la &agrave; partir de la liste et cliquer sur "D&eacute;finir d&eacute;faut".</p>
+
+<p>Les noms utilis&eacute;s pour la liste d&eacute;roulante des partitions sur la page de recherche peuvent &ecirc;tre d&eacute;finis dans le panneau "Recherches" de la vue "Formater" (voir <a href="searchmetadatasettings.htm">Recherches</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/builderrors.htm
===================================================================
--- main/tags/2.83/gli/help/fr/builderrors.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/builderrors.htm	(revision 21123)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="builderrors"><font size="5" face="Verdana"><strong>7.2: Erreurs lors de la construction d'une collection</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Parfois, les choses tournent mal pendant la construction. Peut-&ecirc;tre que certains fichiers n'ont pas pu &ecirc;tre trait&eacute;s : le reste de la collection se construit bien, et peut &ecirc;tre pr&eacute;visualis&eacute;e, mais certains documents sont absents. Ou la totalit&eacute; de la collection n'a pu &ecirc;tre construite correctement et dans ce cas un message indique "Une erreur s'est produite,la collection n'a pas pu &ecirc;tre construite." Lorsque cela se produit, il peut &ecirc;tre utile de passer la GLI en mode Expert (Fichier -&gt; Pr&eacute;f&eacute;rences -&gt; Mode, voir <a href="preferences.htm">Pr&eacute;f&eacute;rences</a>), de d&eacute;finir les options &laquo;verbosity&raquo; pour l'importation et pour la construction au niveau 5, et de reconstruire la collection, pour voir s'il ya des messages d'erreur suppl&eacute;mentaires.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/classifiers.htm
===================================================================
--- main/tags/2.83/gli/help/fr/classifiers.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/classifiers.htm	(revision 21123)
@@ -0,0 +1,31 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="classifiers"><font size="5" face="Verdana"><strong>6.5: Classificateurs de navigation</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Cette section explique comment assigner &agrave; une collection des &laquo;classificateurs&raquo; qui sont utilis&eacute;s pour naviguer. Dans la vue &laquo;Param&eacute;trer&raquo;, cliquez sur &laquo;Classificateurs de navigation&raquo;.</p>
+
+<p>Pour ajouter un classificateur, s&eacute;lectionnez-le en utilisant la liste d&eacute;roulante &laquo;S&eacute;lectionner classificateur &agrave; ajouter&raquo; et cliquez sur &laquo;Ajouter classificateur&raquo;. Une fen&ecirc;tre intitul&eacute;e &laquo;Veuiller configurer les arguments&raquo; appara&icirc;t ; les instructions concernant ce dialogue sont les m&ecirc;mes que pour les plugiciels (voir <a href="plugins.htm">Plugiciels de document</a>). Une fois le nouveau classificateur configur&eacute;, il s'ajoute &agrave; la fin de la liste des "Classificateurs attribu&eacute;s". </p>
+
+<p>Pour voir une br&egrave;ve description d'un classificateur, s&eacute;lectionnez-le dans la liste d&eacute;roulante &laquo;S&eacute;lectionner classificateur &agrave; ajouter&raquo;, puis placez le curseur dessus. Une infobulle affiche alors la description.</p>
+
+<p>Chaque classificateur a plusieurs arguments qui peuvent &ecirc;tre configur&eacute;s. Les arguments les plus importants sont &laquo;m&eacute;tadonn&eacute;es&raquo;, qui pr&eacute;cise les m&eacute;tadonn&eacute;es&agrave; partir desquelles les documents seront class&eacute;s, et &laquo;Nom de bouton&raquo;, qui est le nom qui appara&icirc;tra dans la barre de navigation.</p>
+
+<p>Pour supprimer un classificateur, s&eacute;lectionnez-le dans la liste et cliquez sur &laquo;Supprimer classificateur&raquo;.</p>
+
+<p>Pour modifier les arguments d'un classificateur, s&eacute;lectionnez-le dans la liste et cliquez sur &laquo;Configurer classificateur&raquo; (ou double-clic sur le classificateur dans la liste.) </p>
+
+<p>L'ordre des classificateurs dans la barre de navigation de la collection est le m&ecirc;me que celui de la liste de classificateurs attribu&eacute;s. Pour modifier l'ordre, s&eacute;lectionnez le classificateur &agrave; d&eacute;placer et cliquez sur "D&eacute;placer vers le haut" ou "D&eacute;placer vers le bas".</p>
+
+<p>Pour plus d'informations sur les classificateurs, lisez le chapitre 2 du Guide du D&eacute;veloppeur Greenstone -- Exploitez vos documents au maximum.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/collectingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/fr/collectingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/collectingfiles.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="collectingfiles"><font size="5" face="Verdana"><strong>4: Collecter les fichiers pour votre collection</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>D&egrave;s lors que l'on dispose d'une nouvelle collection, il est n&eacute;cessaire d'y ajouter des fichiers. Ceux-ci peuvent provenir de votre espace fichier ordinaire, des fichiers t&eacute;l&eacute;charg&eacute;s ant&eacute;rieurement, ou d'autres collections Greenstone. Quelques-uns peuvent avoir des m&eacute;tadonn&eacute;es attach&eacute;es. Cette section d&eacute;crit comment importer des fichiers.</p>
+
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/collectionspecificmacros.htm
===================================================================
--- main/tags/2.83/gli/help/fr/collectionspecificmacros.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/collectionspecificmacros.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="collectionspecificmacros"><font size="5" face="Verdana"><strong>8.7: Macros sp&eacute;cifiques &agrave; la collection</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Dans la vue "Formater", cliquez sur "Macros sp&eacute;cifiques &agrave; la collection".</p>
+
+<p>Ce panneau montre le contenu du fichier extra.dm de la collection. C'est l&agrave; o&ugrave; peuvent &ecirc;tre d&eacute;finies des macros sp&eacute;cifiques &agrave; la collection. Pour en savoir plus sur les macros, voir le chapitre 3 du Guide du D&eacute;veloppeur Greenstone.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/creatingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/fr/creatingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/creatingacollection.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingacollection"><font size="5" face="Verdana"><strong>2.1: Cr&eacute;er une nouvelle collection</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Pour cr&eacute;er une nouvelle collection, ouvrir le menu &laquo;Fichier&raquo; et choisir &laquo;Nouveau&raquo;. Plusieurs champs doivent &ecirc;tre remplis - mais les valeurs saisies peuvent &ecirc;tre modifi&eacute;es &agrave; tout moment dans l'onglet &laquo;Formater&raquo;.</p>
+
+<p>&laquo;Titre de la collection&raquo; est le texte affich&eacute; en haut de la page d'accueil de votre collection. Il peut contenir autant de caract&egrave;res que souhait&eacute;.</p>
+
+<p>&laquo;Description du contenu&raquo; doit d&eacute;crire le th&egrave;me de la collection avec un maximum de d&eacute;tails. Utilisez la touche [entr&eacute;e] pour commencer un paragraphe.</p>
+
+<p>On doit enfin sp&eacute;cifier si la nouvelle collection a la m&ecirc;me forme et les m&ecirc;mes jeux de m&eacute;tadonn&eacute;es qu'une collection existante ou si elle est initi&eacute;e en tant que &laquo;Nouvelle collection&raquo; param&eacute;tr&eacute;e par d&eacute;faut. Les nouvelles collections param&eacute;tr&eacute;es par d&eacute;faut ont une configuration standard et utilisent le jeu de m&eacute;tadonn&eacute;es Dublin Core. Ces param&egrave;tres peuvent &ecirc;tre modifi&eacute;s par la suite.</p>
+
+<p>Cliquer sur &laquo;OK&raquo; pour cr&eacute;er la collection.</p>
+
+<p>En cliquant sur &laquo;Annuler&raquo;, on retourne imm&eacute;diatement sur l'&eacute;cran principal.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/creatingfolders.htm
===================================================================
--- main/tags/2.83/gli/help/fr/creatingfolders.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/creatingfolders.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingfolders"><font size="5" face="Verdana"><strong>4.3: Cr&eacute;er des dossiers</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Utiliser les dossiers de l'arborescence de fichiers de la collection pour classer les fichiers et les rendre ais&eacute;ment accessibles. Des dossiers peuvent &ecirc;tre plac&eacute;s &agrave; l'int&eacute;rieur d'autres dossiers. Aucune limite, virtuellement parlant, ni au nombre de dossiers dont on peut disposer ni &agrave; la complexit&eacute; de leur agencement.</p>
+
+<p>Pour cr&eacute;er un nouveau dossier, clic doit dans le panneau Collection (ou clic doit sur un dossier existant dans l'arborescence de la collection pour y ins&eacute;rer le nouveau dossier) et cliquez sur l'option &laquo;Nouveau dossier&raquo;. Le nouveau dossier appara&icirc;t &agrave; l'int&eacute;rieur de celui choisi, ou au niveau sup&eacute;rieur si aucun n'est choisi. Entrez un nom de dossier (&agrave; d&eacute;faut, il sera nomm&eacute; &laquo;nouveau dossier&raquo;).</p>
+
+<p>Les dossiers peuvent aussi &ecirc;tre cr&eacute;&eacute;s en cliquant dans l'Arborescence de la collection avec le bouton droit, ou bien sur un dossier, en choisissant &laquo;Nouveau dossier&raquo;, et en op&eacute;rant comme expliqu&eacute; ci-dessus.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/creatingshortcuts.htm
===================================================================
--- main/tags/2.83/gli/help/fr/creatingshortcuts.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/creatingshortcuts.htm	(revision 21123)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingshortcuts"><font size="5" face="Verdana"><strong>4.2: Cr&eacute;ation d'un raccourci dans l'arbre de travail</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Certains dossiers -- tel que celui contenant vos propres pages web -- ont parfois une signification sp&eacute;ciale. L'Interface Biblioth&eacute;caire peut positionner ces dossiers au premier niveau de l'arborescence de fichiers. Pour ce faire, double-clic droit sur le dossier vis&eacute;. Choisir &laquo;Cr&eacute;er un raccourci&raquo;, saisir le nom du dossier. Pour enlever un &eacute;l&eacute;ment, clic droit sur le dossier repositionn&eacute; et s&eacute;lectionner &laquo;Supprimer raccourci&raquo;.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/definefilters.htm
===================================================================
--- main/tags/2.83/gli/help/fr/definefilters.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/definefilters.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="definefilters"><font size="5" face="Verdana"><strong>6.4.1: D&eacute;finir les filtres</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Les filtres permettent de regrouper en sous-collection tous les documents dans un index pour laquelle une valeur de m&eacute;tadonn&eacute;e correspond &agrave; des crit&egrave;res donn&eacute;s.</p>
+
+<p>Pour cr&eacute;er un filtre, cliquez sur le bouton &laquo;D&eacute;finir les Filtres&raquo; et entrez un nom pour le nouveau filtre dans le champ &laquo;Nom du filtre de sous-collection&raquo;. Ensuite choisissez un attribut de document (soit un &eacute;l&eacute;ment de m&eacute;tadonn&eacute;es soit le nom du fichier) qui doit correspondre &agrave; des crit&egrave;res. Saisissez une expression r&eacute;guli&egrave;re pour d&eacute;finir les crit&egrave;res de la correspondance. Vous pouvez choisir d'&laquo;Inclure&raquo; les documents qui correspondent aux crit&egrave;res ou de les &laquo;Exclure&raquo;. Enfin, on peut sp&eacute;cifier des drapeaux standard des expressions r&eacute;guli&egrave;res PERL &agrave; utiliser pour la correspondance (par exemple &laquo;i&raquo; pour les correspondances ne tenant pas compte de la casse). Pour finir, cliquez sur &laquo;Ajouter filtre&raquo; pour ajouter le filtre &agrave; la liste &laquo;Filtres de sous-collection d&eacute;finis&raquo;. </p>
+
+<p>Pour enlever un filtre, s&eacute;lectionnez-le dans la liste et cliquer sur &laquo;Supprimer filtre&raquo;.</p>
+
+<p>Pour modifier un filtre, s&eacute;lectionnez-le sur la liste, changez au moins une des valeurs apparaissant dans les contr&ocirc;les de r&eacute;vision et cliquez sur &laquo;Remplacer filtre&raquo; pour valider les modifications.</p>
+
+<p>D&eacute;finir les filtres ne cr&eacute;e pas de sous-collections. Les sous-collections sont sp&eacute;cifi&eacute;es dans "Attribuer des partitions", sur la base des filtres que vous venez de d&eacute;finir.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/deletingcollections.htm
===================================================================
--- main/tags/2.83/gli/help/fr/deletingcollections.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/deletingcollections.htm	(revision 21123)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="deletingcollections"><font size="5" face="Verdana"><strong>2.4: Suppression des collections</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Pour supprimer d&eacute;finitivement des collections de votre installation Greenstone, choisir "Supprimer..." dans le menu "Fichier". Une liste de vos collections appara&icirc;t. S&eacute;lectionner une collection pour voir sa description, puis cocher la case en bas de page et cliquer "Supprimer". Cette op&eacute;ration est irr&eacute;versible, alors v&eacute;rifier bien que vous n'avez plus besoin de cette collection !</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/depositormetadatasettings.htm
===================================================================
--- main/tags/2.83/gli/help/fr/depositormetadatasettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/depositormetadatasettings.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="depositormetadatasettings"><font size="5" face="Verdana"><strong>8.8: M&eacute;tadonn&eacute;es du D&eacute;posant</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Le D&eacute;posant de Greenstone permet d'ajouter de nouveaux documents &agrave; une collection existante par l'int&eacute;rm&eacute;diare d'une interface web. Cette section d&eacute;crit le panneau M&eacute;tadonn&eacute;es du D&eacute;posant, dans lequel vous pouvez pr&eacute;ciser les &eacute;l&eacute;ments de m&eacute;tadonn&eacute;es &agrave; utiliser pour d&eacute;crire les nouveaux documents &agrave; ajouter via le D&eacute;posant. Tout jeu de m&eacute;tadonn&eacute;es qui est associ&eacute; &agrave; la collection active sera disponible pour s&eacute;lection. S'il n'y aucun jeu de m&eacute;tadonn&eacute;es autre que le &laquo;Greenstone Extracted Metadata Set&raquo; associ&eacute; &agrave; la collection, le &laquo;El&eacute;ments de m&eacute;tadonn&eacute;es du Dublin Core&raquo; est utilis&eacute; par d&eacute;faut. Pour en savoir plus sur le D&eacute;posant, voir l'exercice tutoriel en ligne &agrave; adresse http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/depositor.htm. Dans la vue Format, cliquez sur &laquo;M&eacute;tadonn&eacute;es du D&eacute;posant&raquo;.</p>
+
+<p>Le panneau M&eacute;tadonn&eacute;es du D&eacute;posant affiche une liste d'&eacute;l&eacute;ments de m&eacute;tadonn&eacute;es disponsibles. S'il y a plus d'un jeu de m&eacute;tadonn&eacute;es associ&eacute; &agrave; la collection, des jeux voisins sont affich&eacute;s en couleurs diff&eacute;rentes. Si vous placez la souris sur un &eacute;l&eacute;ment de m&eacute;tadonn&eacute;es, une infobulle contenant sa description s'affichera.</p>
+
+<p>Cochez ceux que vous voulez utiliser pour d&eacute;crire les nouveaux documents &agrave; d&eacute;poser via le D&eacute;posant. Une liste d&eacute;roulante avec deux options appa&icirc;tra &agrave; c&ocirc;t&eacute; de chaque &eacute;l&eacute;ment coch&eacute;. Ceci permet de pr&eacute;ciser le type de zone d'entr&eacute;e &agrave; afficher dans l'interface web. &laquo;text&raquo; signifie qu'un cadre acceptant une seule ligne de texte sera affich&eacute;, tandis que &laquo;textarea&raquo; signifie qu'un cadre multiligne sera affich&eacute;. Selectionnez le type de zone appropri&eacute; &agrave; chaque champ.</p>
+
+<p>Un &eacute;l&eacute;ment au moins de m&eacute;tadonn&eacute;es doit &ecirc;tre s&eacute;lectionn&eacute;. S'il n'y a qu'un &eacute;l&eacute;ment s&eacute;lectionn&eacute;, le d&eacute;cocher d&eacute;clenchera un message d'avertissement : "Au moins un &eacute;l&eacute;ment de m&eacute;tadonn&eacute;es doit &ecirc;tre s&eacute;lectionn&eacute;."</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/designingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/fr/designingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/designingacollection.htm	(revision 21123)
@@ -0,0 +1,22 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="designingacollection"><font size="5" face="Verdana"><strong>6: Param&eacute;trage de la collection</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Une fois les fichiers enrichis de m&eacute;tadonn&eacute;es, on peut choisir la pr&eacute;sentation des documents aux utilisateurs finaux. Quel type d'information peut &ecirc;tre recherch&eacute; ? Quels moyens sont mis &agrave; disposition pour parcourir les documents ? Ces aspects peuvent &ecirc;tre personnalis&eacute;s ; cette section d&eacute;crit comment proc&eacute;der.</p>
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/downloadingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/fr/downloadingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/downloadingfiles.htm	(revision 21123)
@@ -0,0 +1,18 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="downloadingfiles"><font size="5" face="Verdana"><strong>3: T&eacute;l&eacute;chargement de fichiers d'Internet</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>La vue "T&eacute;l&eacute;charger" vous permet de t&eacute;l&eacute;charger des resources d'internet. Cette section explique le processus de t&eacute;l&eacute;chargement de l'Interface Biblioth&eacute;caire.</p>
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/enrichingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/fr/enrichingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/enrichingacollection.htm	(revision 21123)
@@ -0,0 +1,24 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="enrichingacollection"><font size="5" face="Verdana"><strong>5: Enrichir la collection avec des m&eacute;tadonn&eacute;es</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Apr&egrave;s avoir rassembl&eacute; plusieurs fichiers dans la collection, on les enrichit d'une information compl&eacute;mentaire appel&eacute;e &laquo;m&eacute;tadonn&eacute;e&raquo;. Cette section explique comment une m&eacute;tadonn&eacute;e est cr&eacute;&eacute;e, modifi&eacute;e, assign&eacute;e ou retir&eacute;e, et comment utiliser les sources de m&eacute;tadonn&eacute;es externes (voir aussi le chapitre 2 du Guide de d&eacute;veloppement de Greenstone -- &laquo;Exploitez vos documents au maximum&raquo;).</p>
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/expertbuilding.htm
===================================================================
--- main/tags/2.83/gli/help/fr/expertbuilding.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/expertbuilding.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="expertbuilding"><font size="5" face="Verdana"><strong>7.3: La vue &laquo;Cr&eacute;er&raquo; en mode Expert</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>En mode expert, vous pouvez utiliser l'entr&eacute;e &laquo;Journal de messages&raquo; &agrave; gauche pour revoir les tentatives pr&eacute;c&eacute;dentes de construction de la collection, avec ou sans succ&egrave;s. S&eacute;lectionnez le journal souhait&eacute; en cliquant sur la date correspondante dans la liste &laquo;Historique des journaux&raquo;.</p>
+
+<p>Dans ce mode, une liste compl&egrave;te d'options d'importation et de construction sont indiqu&eacute;es dans les onglets &laquo;Options d'importation&raquo; et &laquo;Options de construction&raquo; &agrave; gauche. Les diff&eacute;rents param&egrave;tres sont contr&ocirc;l&eacute;s, tout comme dans la fen&ecirc;tre &laquo;Veuiller configurer les arguments&raquo; d&eacute;crite dans la section <a href="plugins.htm">Plugiciels de document</a>. Certains champs requi&egrave;rent des arguments num&eacute;riques, vous pouvez les taper ou utiliser les fl&egrave;ches pour augmenter ou diminuer la valeur actuelle (dans certains cas, l'interface limite la gamme &agrave; laquelle vous pouvez acc&eacute;der). D'autres sont activ&eacute;s en cliquant sur une case &agrave; cocher (cliquez de nouveau pour d&eacute;sactiver).</p>
+
+<p>Pour plus d'informations sur l'importation et la construction lire le chapitre 1 du Guide du d&eacute;veloppeur Greenstone -- Comprendre le processus de construction d'une collection.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/explodingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/fr/explodingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/explodingfiles.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="explodingfiles"><font size="5" face="Verdana"><strong>4.7: &laquo;Eclater&raquo; les fichiers de m&eacute;tadonn&eacute;es  </strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Les m&eacute;tadonn&eacute;es issues de bases de donn&eacute;es telles que MARC, OAI, CDS/ISIS, BibTex, Refer et ProCite peuvent &ecirc;tre import&eacute;s dans Greenstone, mais elles ne peuvent pas &ecirc;tre consult&eacute;es ou modifi&eacute;es IMMEDIATEMENT dans l'Interface Biblioth&eacute;caire. Cependant, vous pouvez &laquo;&eacute;clater&raquo; le fichier de la base dans l'Interface Biblioth&eacute;caire pour que ces op&eacute;rations deviennent possibles. Alternativement, vous pouvez, particuli&egrave;rement si vous maintenez une application externe ma&icirc;tre, retourner au programme qui a cr&eacute;&eacute; le fichier, effectuer vos corrections, et importer de nouveau la base.</p>
+
+<p>&laquo;Eclater&raquo; un fichier de base de donn&eacute;es le divise en enregissements individuels, chacun avec m&eacute;tadonn&eacute;es visibles et modifiables. Ce processus est irr&eacute;versible: l'original du fichier de m&eacute;tadonn&eacute;es est supprim&eacute;.</p>
+
+<p>Les fichiers &laquo;&eacute;clatables&raquo; ont une ic&ocirc;ne verte dans l'Arboresence de la collection . Pour en &eacute;clater un, clic droit puis s&eacute;lectionner "&Eacute;clater la base de donn&eacute;es de m&eacute;tadonn&eacute;es". Une fen&ecirc;tre secondaire affiche des options du processus d'&eacute;clatement. L'option &laquo;plugiciel&raquo; pr&eacute;cise le plugiciel &agrave; utiliser pour &eacute;clater la base. Dans la plupart des cas, un seul plugiciel traite un type de fichier donn&eacute;, mais dans certains cas, quand diff&eacute;rents types de fichiers partagent la m&ecirc;me extension de nom de fichier, il peut y avoir deux plugiciels qui traitent les fichiers avec cette extension. L'option &laquo;input_encoding&raquo; peut &ecirc;tre utilis&eacute;e pour sp&eacute;cifier l'encodage de la base de donn&eacute;es. L'option &laquo;metadata_set&raquo; sp&eacute;cifie quel jeu de m&eacute;tadonn&eacute;es doit &ecirc;tre enrichi des nouveaux champs g&eacute;n&eacute;r&eacute;s par l'&eacute;clatement. Si rien n'est sp&eacute;cifi&eacute;, il vous est demand&eacute; que faire avec chaque nouveau champ de la base de donn&eacute;es : l'ajouter comme un nouvel &eacute;l&eacute;ment d'un jeu de m&eacute;tadonn&eacute;es existant, le fusionner avec un autre &eacute;l&eacute;ment, ou l'ignorer.</p>
+
+<p>Lorsqu'un fichier est &eacute;clat&eacute;, un nouveau document vide est cr&eacute;&eacute; pour chaque enregistrement, et les m&eacute;tadonn&eacute;es de l'enregistrement sont attribu&eacute;es au document. Les documents sont nomm&eacute;es en utilisant des num&eacute;ros tels que 000001.nul, 000002.nul etc... Si l'option &laquo;document_field&raquo;  est d&eacute;finie (avec un nom de champ de base de donn&eacute;es), la valeur de ce champ, s'il est pr&eacute;sent, est utilis&eacute;e pour le nom du fichier. Le processus de l'&eacute;clatement tente &eacute;galement de t&eacute;l&eacute;charger le fichier et de l'utiliser &agrave; la place d'un fichier vide. Les options &laquo;document_prefix&raquo; et &laquo;document_suffix&raquo;  peuvent &ecirc;tre utilis&eacute;es pour fabriquer une URL ou le chemin du fichier &agrave; partir de la valeur du document_field. L'option &laquo;records_per_folder&raquo; peut &ecirc;tre utilis&eacute;e pour regrouper en sous-dossiers les enregistrements &eacute;clat&eacute;s. Si la base de donn&eacute;es est tr&egrave;s fournie, l'utilisation de cette option permettra d'acc&eacute;l&eacute;rer la modification ult&eacute;rieure de m&eacute;tadonn&eacute;es.</p>
+
+<p>La possibilit&eacute; d'&eacute;clater un fichier est d&eacute;termin&eacute;e par son extension. Dans certains cas, un fichier peut &ecirc;tre identifi&eacute; comme &laquo;&eacute;clatable&raquo; alors que ce n'est pas le cas, s'il a la m&ecirc;me extension qu'un fichier r&eacute;ellement &laquo;&eacute;clatable&raquo;. Par exemple, le plugiciel ProCite traite les fichiers avec une extension .txt, mais la plupart des fichiers .txt sont des fichiers texte ordinaires, et non des fichiers ProCite.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/exporting.htm
===================================================================
--- main/tags/2.83/gli/help/fr/exporting.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/exporting.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="exporting"><font size="5" face="Verdana"><strong>9.3: Exportation de collections &agrave; d'autres formats </strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Greenstone peut exporter le contenu et/ou les m&eacute;tadonn&eacute;es d'une collection en plusieurs formats standards, y compris METS, DSpace et MARCXML.</p>
+
+<p>Pour exporter une collection, ouvrez le menu "Fichier" et choisissez "Exporter...". Vous pouvez choisir le format d'exportation en le s&eacute;lectionnant dans la liste d&eacute;roulante "Exporter vers". Sp&eacute;cifiez un nom pour le r&eacute;pertoire dans lequel vous voulez placer les fichiers export&eacute;s, les fichiers finissent dans &lt;chemin &agrave; greenstone&gt; / tmp / exported_xxx, o&ugrave; xxx est le nom que vous avez sp&eacute;cifi&eacute;. S&eacute;lectionnez une collection dans la liste des collections disponibles, puis cliquez sur "Exporter la collection".</p>
+
+<p>Il existe d'autres options sp&eacute;cifiques aux diff&eacute;rents formats. Dans le but de personnaliser le format de sortie, vous pouvez sp&eacute;cifier les fichiers XSLT qui seront appliqu&eacute;s au(x) document(s) XML r&eacute;sultant(s). L'exportation en MARCXML utilise un fichier de correspondance (&laquo;mapping&raquo;) pour faire correspondre les m&eacute;tadonn&eacute;es Greenstone aux champs MARC. Le fichier de correspondance par d&eacute;faut traite uniquement les m&eacute;tadonn&eacute;es Dublin Core. Vous pouvez sp&eacute;cifier un fichier de correspondance personnalis&eacute; pour &ecirc;tre utilis&eacute; &agrave; la place.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/exportingcollections.htm
===================================================================
--- main/tags/2.83/gli/help/fr/exportingcollections.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/exportingcollections.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="exportingcollections"><font size="5" face="Verdana"><strong>9.4: Exportation de collections vers CD/DVD</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Greenstone peut exporter une ou plusieurs collections vers un CD/DVD auto-installant pour Windows.</p>
+
+<p>Pour exporter une collection, ouvrez le menu &laquo;Fichier&raquo; et choisissez &laquo;Exporter la Collection vers CD-ROM&raquo;. Une liste de collections Greenstone appara&icirc;t ; cliquez sur l&rsquo;une d&rsquo;elles pour obtenir une description. Cochez la case des collections &agrave; exporter. Vous pouvez entrer le nom du CD/DVD dans zone "nom du CD-ROM" : c'est ce qui va appara&icirc;tre dans le Menu d&eacute;marrage lorsque le CD/DVD aura &eacute;t&eacute; install&eacute;. Vous pouvez choisir de produire un CD-ROM ou DVD qui s'ex&eacute;cute directement &agrave; partir de l'unit&eacute; de lecture, ou bien qui installe quelques fichiers sur l'ordinateur. Puis cliquez sur &laquo;Exporter&raquo;. Ce processus implique la copie de nombreux fichiers et peut durer quelques minutes.</p>
+
+<p>A la fin de l'op&eacute;ration, Greenstone va afficher le nom d'un dossier contenant les collections export&eacute;es. Utilisez un graveur de CD/DVD pour copier le contenu dans un CD/DVD vierge.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/fileassociations.htm
===================================================================
--- main/tags/2.83/gli/help/fr/fileassociations.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/fileassociations.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="fileassociations"><font size="5" face="Verdana"><strong>9.2: Associations de fichiers</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>L'Interface Biblioth&eacute;caire utilise des programmes d'application sp&eacute;cifiques pour ouvrir des types de fichiers particuliers. Pour modifier des associations ouvrez le menu &laquo;Fichier&raquo; et cliquez sur &laquo;Association de fichiers&raquo;. </p>
+
+<p>Pour ajouter une association, s&eacute;lectionnez l'extension de fichier cible dans la liste d&eacute;roulante, ou tapez une nouvelle extension (sans le &laquo;.&raquo;). Ensuite soit tapez la commande qui lance l'application voulue dans le champ appropri&eacute;, soit choisissez l'application apr&egrave;s avoir cliqu&eacute; sur le bouton &laquo;Parcourir&raquo;. "%1" peut &ecirc;tre utilis&eacute; dans la commande de lancement pour ins&eacute;rer le nom du fichier qui s'ouvre. Une fois cela fait, &laquo;Ajouter&raquo; est activ&eacute;. Cliquez dessus pour ajouter l'association.</p>
+
+<p>Pour modifier une association, s&eacute;lectionnez une extension de fichier existante. Toute commande existante associ&eacute;e est affich&eacute;e dans le champ &laquo;Commande de lancement&raquo;. Corrigez-la, et puis cliquez sur &laquo;Remplacer&raquo;.</p>
+
+<p>Pour enlever une association, s&eacute;lectionnez une extension de fichier existante et cliquez sur &laquo;Supprimer&raquo;.</p>
+
+<p>Les associations de fichiers sont stock&eacute;es dans le dossier principal du r&eacute;pertoire de l'Interface Biblioth&eacute;caire, dans un fichier appel&eacute; &laquo;associations.xml&raquo;.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/filteringthetree.htm
===================================================================
--- main/tags/2.83/gli/help/fr/filteringthetree.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/filteringthetree.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="filteringthetree"><font size="5" face="Verdana"><strong>4.8: Filtrer les arborescences</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Le "Filtrage" des arborescences de la collection et de l'espace de travail permet de r&eacute;duire la recherche de fichiers sp&eacute;cifiques.</p>
+
+<p>Le menu d&eacute;roulant &laquo;Montrer les fichiers&raquo; au bas de chaque arborescence montre une liste de filtres pr&eacute;d&eacute;finis, tels &laquo;Images&raquo;. Le choix du filtre cache temporairement tous les autres fichiers de l'arborescence. Pour restaurer l'arborescence totale, changer le filtre en &laquo;Tous les fichiers&raquo;. Ces op&eacute;rations n'alt&egrave;rent pas la collection, ni n'affectent les dossiers dans l'arborescence.</p>
+
+<p>On peut sp&eacute;cifier un filtre personnalis&eacute; en saisissant un mod&egrave;le assorti aux fichiers vis&eacute;s (en modes Biblioth&eacute;caire et Expert seulement). Utiliser le syst&egrave;me standard d'abr&eacute;viations de fichiers telles que &laquo;*.*&raquo; ou &laquo;*.doc&raquo; (* correspond &agrave; tous les caract&egrave;res).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/formatstatements.htm
===================================================================
--- main/tags/2.83/gli/help/fr/formatstatements.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/formatstatements.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="formatstatements"><font size="5" face="Verdana"><strong>8.4: Caract&eacute;ristiques de format</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Les pages web que vous voyez en utilisant Greenstone ne sont pas pr&eacute;-stock&eacute;s mais sont g&eacute;n&eacute;r&eacute;es &laquo;&agrave; la vol&eacute;e&raquo; au fur et &agrave; mesure qu'on en fait appel. Les commandes de format sont utilis&eacute;es pour modifier l'apparence de ces pages g&eacute;n&eacute;r&eacute;es. Elles d&eacute;terminent le lieu d'apparition des boutons lorsqu'un document est visualis&eacute;, ainsi que les liens qui sont affich&eacute;s par le classificateur DateList. Les commandes de format ne sont pas faciles &agrave; manier, et la lecture du chapitre 2 du Guide du D&eacute;veloppeur Greenstone est recommand&eacute;e. Cette section concerne les param&egrave;tres du formatage, et indique comment l'Interface Biblioth&eacute;caire en fournit l'acc&egrave;s. Dans la vue &laquo;Formater&raquo;, cliquez sur &laquo;Caract&eacute;ristiques de format&raquo;.</p>
+
+<p>On peut appliquer une commande de format &agrave; n'importe quoi dans la liste d&eacute;roulante &laquo;Choisir caract&eacute;ristique&raquo; qui comprend tous les classificateurs de m&ecirc;me qu'une liste pr&eacute;d&eacute;finie de caract&eacute;ristiques. Deux types de contr&ocirc;les existent lorsqu'on s&eacute;lectionne une caract&eacute;ristique: Certaines caract&eacute;ristiques sont simplement activ&eacute;es ou d&eacute;sactiv&eacute;es, et le contr&ocirc;le se fait gr&acirc;ce &agrave; des cases &agrave; cocher. D'autres requi&egrave;rent une cha&icirc;ne de format.Il existe alors une liste d&eacute;roulante (&laquo;Composante affect&eacute;e&raquo;) pour la s&eacute;lection des parties de la caract&eacute;ristique &agrave; laquelle s'applique la cha&icirc;ne (si n&eacute;cessaire), une zone de texte (&laquo;Cha&icirc;ne au format HTML&raquo;) o&ugrave; l'on saisit la cha&icirc;ne, et une s&eacute;lection de &laquo;Variables&raquo; pr&eacute;d&eacute;finies. Pour ins&eacute;rer une variable dans une cha&icirc;ne de format, positionnez le curseur &agrave; l'endroit ou vous voulez l'ins&eacute;rer, puis s&eacute;lectionnez la variable d&eacute;sir&eacute;e dans la liste "Ins&eacute;rer la variable...".</p>
+
+<p>Vous pouvez sp&eacute;cifier un format par d&eacute;faut pour une composante donn&eacute;e en s&eacute;lectionnant &laquo;Toutes les caract&eacute;ristiques&raquo;. Ce format est alors appliqu&eacute; &agrave; toutes les caract&eacute;ristiques applicables sauf si un autre format a &eacute;t&eacute; d&eacute;fini au pr&eacute;alable.</p>
+
+<p>Pour ajouter une nouvelle commande de format, s&eacute;lectionnez la caract&eacute;ristique et composante appropri&eacute;es. La valeur par d&eacute;faut pour cette commande s'affiche en gris. Cliquez sur "Ajouter le format" pour l'attribuer &agrave; la collection. La &laquo;Cha&icirc;ne au format HTML&raquo; peut alors &ecirc;tre modifi&eacute;e. Une seule commande de format peut &ecirc;tre attribu&eacute;e pour chaque combinaison caract&eacute;ristique/composante.</p>
+
+<p>Pour enlever une commande de format, s&eacute;lectionnez-la dans la liste et cliquez sur &laquo;Supprimer format&raquo;.</p>
+
+<p>Pour de plus amples informations sur les variables et les composantes de caract&eacute;ristiques, lisez le chapitre 2 du Guide du D&eacute;veloppeur de Greenstone. </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/formattingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/fr/formattingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/formattingacollection.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="formattingacollection"><font size="5" face="Verdana"><strong>8: Personnalisation de l'apparence de la collection</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Une fois que vous avez construit la collection, vous devez d&eacute;cider de la mani&egrave;re dont elle doit appara&icirc;tre &agrave; l'utilisateur. Quels noms doivent &ecirc;tre utilis&eacute;s pour la liste d&eacute;roulante de l'index dans le formulaire de recherche? Comment les r&eacute;sultats de recherche doivent &ecirc;tre affich&eacute;s? Quelles m&eacute;tadonn&eacute;es doivent &ecirc;tre affich&eacute;es lorsqu'un document est visualis&eacute;? Tout cela peut &ecirc;tre personnalis&eacute; ; cette section explique comment le faire.</p>
+
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/generalsettings.htm
===================================================================
--- main/tags/2.83/gli/help/fr/generalsettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/generalsettings.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="generalsettings"><font size="5" face="Verdana"><strong>8.2: G&eacute;n&eacute;ral</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Cette section explique comment passer en revue et modifier les r&eacute;glages g&eacute;neraux associ&eacute;s &agrave; la collection. Dans la vue "Param&eacute;trer" cliquez sur "General".</p>
+
+<p>Ici quelques m&eacute;tadonn&eacute;es qui concernent la collection dans son ensemble peuvent &ecirc;tre saisies ou modifi&eacute;es, y compris le titre et la description qui sont demand&eacute;s lors de la cr&eacute;ation de la collection.</p>
+
+<p>On demande tout d'abord les contacts e-mail du cr&eacute;ateur de la collection et de celui qui en assure la maintenance. Le champ suivant permet de modifier le titre de la collection. Le dossier dans lequel est enregistr&eacute; la collection est affich&eacute; ensuite, mais ne peut &ecirc;tre modifi&eacute;. Le champ suivant sp&eacute;cifie (sous forme d'URL) l'ic&ocirc;ne de l'extr&eacute;mit&eacute; sup&eacute;rieure gauche de la page &laquo;A propos&raquo; de la collection et celui juste apr&egrave;s sp&eacute;cifie l'ic&ocirc;ne utilis&eacute;e pour acc&eacute;der &agrave; la collection &agrave; partir de la page d'accueil de la biblioth&eacute;que Greenstone. Puis, une case permet de contr&ocirc;ler si la collection est accessible au public. Enfin, il y a la zone texte de la &laquo;Description de la collection&raquo; comme d&eacute;crit dans <a href="creatingacollection.htm">Cr&eacute;er une nouvelle collection</a>.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/help.xml
===================================================================
--- main/tags/2.83/gli/help/fr/help.xml	(revision 21123)
+++ main/tags/2.83/gli/help/fr/help.xml	(revision 21123)
@@ -0,0 +1,513 @@
+<?xml version="1.0"?>
+<!DOCTYPE TutorialList [
+     <!ENTITY nbsp "&#160;">
+     <!ENTITY rarr "&#8594;">
+     <!ENTITY mdash "&#8212;">
+]>
+<!-- French translations of the GLI Help. Many thanks to Georges Braoudakis, John Rose and CÃ©line Guimbertaud. Updated by John Rose, Guillaume Hatt and Yvan Arnaud in May 2009. -->
+<Document>
+<Section name="introduction">
+<Title>
+<Text id="1">Introduction</Text>
+</Title>
+<Text id="2">L'Interface BibliothÃ©caire de Greenstone est un outil de collecte de documents auxquels peuvent Ãªtre affectÃ©es des mÃ©tadonnÃ©es, ce qui permet ensuite de construire des collections de bibliothÃšque numÃ©rique. On accÃšde ainsi aux fonctionnalitÃ©s du logiciel de bibliothÃšque numÃ©rique Greenstone grÃ¢ce Ã  une interface graphique Â«pointer et cliquerÂ».</Text>
+<Section name="ofmiceandmenus">
+<Title>
+<Text id="3">A propos de la souris et des menus</Text>
+</Title>
+<Text id="4">Cette section fournit une information de base sur la maniÃšre de dialoguer avec l'Interface BibliothÃ©caire. Si vous Ãªtes familier de programmes comme Internet Explorer ou Microsoft Office et Ã  l'aise avec l'utilisation des menus et de la souris, passer Ã  la section <Reference target="howtoavoidthisdocument"/>.</Text>
+<Text id="5">L'Interface BibliothÃ©caire suit les conventions de Microsoft Windows et requiert une connaissance de base de Windows.</Text>
+<Text id="6">Un Ã©lÃ©ment interactif quelconque sur l'Ã©cran, tel qu'un bouton ou un champ de texte, est appelÃ© Â«widgetÂ». A tout moment, l'un des widgets appelÃ© Â«focusÂ» est mis en relief et rÃ©pond au clavier. Plusieurs widgets vous permettent de sÃ©lectionner les parties qui sont mises en Ã©vidence en bleu foncÃ©. Certains widgets virent au gris pour indiquer qu'ils sont dÃ©sactivÃ©s.</Text>
+<Text id="7">On peut dÃ©placer la souris, cliquer sur son bouton gauche (clic gauche) ou sur son bouton droit (clic droit) de faÃ§on tout Ã  fait usuelle. Plusieurs Ã©lÃ©ments sont susceptibles d'Ãªtre entraÃ®nÃ©s par glissement de la souris, son bouton gauche Ã©tant maintenu appuyÃ©, et d'Ãªtre ainsi dÃ©posÃ©s ailleurs en relÃ¢chant le bouton. Lorsqu'un Ã©lÃ©ment est Â«glissÃ©Â» sur une cible susceptible de l'accueillir, celle-ci change d'apparence.</Text>
+<Text id="8">On utilise le clavier pour entrer des donnÃ©es dans les champs de texte. La touche [tab] permet de naviguer entre les diffÃ©rents champs.</Text>
+<Text id="11">Pour quitter l'Interface BibliothÃ©caire, choisir Â«SortirÂ» dans le menu Â«FichierÂ». La collection active sera alors automatiquement sauvegardÃ©e.</Text>
+</Section>
+<Section name="howtoavoidthisdocument">
+<Title>
+<Text id="12">Comment Ã©viter de lire ce document</Text>
+</Title>
+<Text id="13">Ne lisez pas le texte d'aide en entier ! Lisez uniquement ce qui vous est nÃ©cessaire pour obtenir l'aide dont vous avez besoin.</Text>
+<Text id="14">L'Ã©lÃ©ment de menu Â«AideÂ» prÃ©sente la rubrique d'aide la plus appropriÃ©e par une icÃŽne sous forme de petit livre.</Text>
+<Text id="15">La plupart du temps, quand on positionne le curseur de la souris sur un widget, une infobulle apparaÃ®t, expliquant ce Ã  quoi sert ce widget.</Text>
+<Text id="16">Avant d'utiliser l'Interface BibliothÃ©caire, il est recommandÃ© de lire la documentation Greenstone.</Text>
+</Section>
+</Section>
+<Section name="startingoff">
+<Title>
+<Text id="17">DÃ©marrage</Text>
+</Title>
+<Text id="18">Cette section explique comment crÃ©er, charger, enregistrer et supprimer des collections.</Text>
+<Section name="creatingacollection">
+<Title>
+<Text id="19">CrÃ©er une nouvelle collection</Text>
+</Title>
+<Text id="20">Pour crÃ©er une nouvelle collection, ouvrir le menu Â«FichierÂ» et choisir Â«NouveauÂ». Plusieurs champs doivent Ãªtre remplis - mais les valeurs saisies peuvent Ãªtre modifiÃ©es Ã  tout moment dans l'onglet Â«FormaterÂ».</Text>
+<Text id="21">Â«Titre de la collectionÂ» est le texte affichÃ© en haut de la page d'accueil de votre collection. Il peut contenir autant de caractÃšres que souhaitÃ©.</Text>
+<Text id="22">Â«Description du contenuÂ» doit dÃ©crire le thÃšme de la collection avec un maximum de dÃ©tails. Utilisez la touche [entrÃ©e] pour commencer un paragraphe.</Text>
+<Text id="23">On doit enfin spÃ©cifier si la nouvelle collection a la mÃªme forme et les mÃªmes jeux de mÃ©tadonnÃ©es qu'une collection existante ou si elle est initiÃ©e en tant que Â«Nouvelle collectionÂ» paramÃ©trÃ©e par dÃ©faut. Les nouvelles collections paramÃ©trÃ©es par dÃ©faut ont une configuration standard et utilisent le jeu de mÃ©tadonnÃ©es Dublin Core. Ces paramÃštres peuvent Ãªtre modifiÃ©s par la suite.</Text>
+<Text id="24">Cliquer sur Â«OKÂ» pour crÃ©er la collection.</Text>
+<Text id="25">En cliquant sur Â«AnnulerÂ», on retourne immÃ©diatement sur l'Ã©cran principal.</Text>
+</Section>
+<Section name="savingacollection">
+<Title>
+<Text id="26">Sauvegarder la collection</Text>
+</Title>
+<Text id="27">Sauvegardez rÃ©guliÃšrement votre travail en choisissant Â«SauvegarderÂ» dans le menu Â«FichierÂ». Sauvegarder une collection ne signifie pas la rendre prÃªte Ã  Ãªtre utilisÃ©e dans Greenstone (voir <Reference target="producingthecollection"/>).</Text>
+<Text id="28">L'Interface BibliothÃ©caire protÃšge votre travail en le sauvegardant automatiquement Ã  la fermeture du programme ou Ã  l'ouverture d'une autre collection.</Text>
+<Text id="29a">Le dossier Â«collectÂ» du dossier racine de Greenstone contient toutes les collections, et chaque collection est stockÃ©e dans un dossier dÃ©signÃ© par un nom court. A l'intÃ©rieur de ce dossier, un sous-dossier Â«importÂ» conserve les documents de la collection ainsi que les mÃ©tadonnÃ©es correspondantes (fichiers Â«metadata.xmlÂ»). Les paramÃštres de configuration sont sauvegardÃ©s dans le fichier Â«collect.cfgÂ» situÃ© dans le sous-dossier Â«etcÂ». Certaines informations sont Ã©galement enregistrÃ©es dans un fichier portant le nom de la collection et l'extension Â«.colÂ».</Text>
+</Section>
+<Section name="openingacollection">
+<Title>
+<Text id="30">Ouvrir une collection existante</Text>
+</Title>
+<Text id="31">Pour ouvrir une collection existante, choisir Â«OuvrirÂ» dans le menu Â«FichierÂ» pour obtenir une nouvelle fenÃªtre de dialogue. Une liste de vos collections Greenstone apparaÃ®t. En sÃ©lectionner une pour voir sa description puis cliquer sur Â«OuvrirÂ» pour l'activer.</Text>
+<Text id="32">Au cas oÃ¹ plusieurs programmes de l'Interface BibliothÃ©caire de Greenstone seraient exÃ©cutÃ©s simultanÃ©ment, les rÃ©pertoires concernÃ©s seront verrouillÃ©s pour prÃ©venir toute interfÃ©rence. A l'ouverture d'une collection, un petit fichier de verrouillage temporaire est crÃ©Ã© dans son dossier. Avant d'ouvrir une collection, l'Interface BibliothÃ©caire vÃ©rifie qu'aucun fichier de verrouillage n'existe dÃ©jÃ . Cependant, lorsqu'on quitte l'Interface BibliothÃ©caire prÃ©maturÃ©ment, le fichier de verrouillage est parfois conservÃ©. Lorsqu'une collection est ouverte, l'Interface BibliothÃ©caire demande si l'on veut Â«volerÂ» ce contrÃŽle. Vous Ãªtes libre de le faire, mais prenez garde que personne d'autre ne travaille sur la mÃªme collection au mÃªme moment.</Text>
+<Text id="33">Si vous ouvrez une collection qui n'a pas Ã©tÃ© crÃ©Ã©e par l'Interface BibliothÃ©caire de Greenstone, le jeu de mÃ©tadonnÃ©es Dublin Core lui sera attribuÃ©, et les mÃ©tadonnÃ©es existantes seront importÃ©es telles quelles lorsque vous ajoutez des fichiers contenant des mÃ©tadonnÃ©es. Ce processus est dÃ©crit dans la section <Reference target="importingpreviouslyassignedmetadata"/>.</Text>
+</Section>
+<Section name="deletingcollections">
+<Title>
+<Text id="34">Suppression des collections</Text>
+</Title>
+<Text id="35">Pour supprimer dÃ©finitivement des collections de votre installation Greenstone, choisir "Supprimer..." dans le menu "Fichier". Une liste de vos collections apparaÃ®t. SÃ©lectionner une collection pour voir sa description, puis cocher la case en bas de page et cliquer "Supprimer". Cette opÃ©ration est irrÃ©versible, alors vÃ©rifier bien que vous n'avez plus besoin de cette collection !</Text>
+</Section>
+</Section>
+<Section name="downloadingfiles">
+<Title>
+<Text id="36">TÃ©lÃ©chargement de fichiers d'Internet</Text>
+</Title>
+<Text id="37">La vue <AutoText key="glidict::GUI.Download"/> vous permet de tÃ©lÃ©charger des resources d'internet. Cette section explique le processus de tÃ©lÃ©chargement de l'Interface BibliothÃ©caire.</Text>
+<Section name="themirrorview">
+<Title>
+<Text id="38">La vue Â«TÃ©lÃ©chargementÂ»</Text>
+</Title>
+<Text id="39">Cette section dÃ©crit comment configurer une demande de tÃ©lÃ©chargement et comment contrÃŽler le processus. AccÃ©der Ã  la vue <AutoText key="glidict::GUI.Download"/> en cliquant sur l'onglet. La moitiÃ© supÃ©rieure de l'Ã©cran affiche le dispositif de contrÃŽle des tÃ©lÃ©chargements. La moitiÃ© infÃ©rieure est initialement vide, mais affichera la liste des demandes de tÃ©lÃ©chargement en attente et rÃ©alisÃ©es.</Text>
+<Text id="39a">Il y a plusieurs protocoles qui peuvent Ãªtre utilisÃ©s pour tÃ©lÃ©charger des enregistrements, et ils sont Ã©numÃ©rÃ©s en haut Ã  gauche.</Text>
+<Text id="39b"><b>Web :</b> tÃ©lÃ©charger des pages web et des fichiers via HTTP et FTP.</Text>
+<Text id="39b-1"><b>MediaWiki:</b> tÃ©lÃ©charge des pages web et des fichiers via HTTP Ã  partir d'un site web MediaWiki.</Text>
+<Text id="39c"><b>OAI :</b> tÃ©lÃ©charger des enregistrements de mÃ©tadonnÃ©es (et faculativement des documents) d'un serveur OAI-PMH (Open Archives Initiative) .</Text>
+<Text id="39d"><b>Z39.50 :</b> tÃ©lÃ©charger d'un serveur Z39.50 des notices MARC qui correspondent Ã  un critÃšre de recherche.</Text>
+<Text id="39e"><b>SRW :</b> tÃ©lÃ©charger des enregistrements MARCXML qui correspondent Ã  un critÃšre de recherche depuis un serveur SRW.</Text>
+<Text id="39f">SÃ©lectionnez le protocole appropriÃ© en cliquant dessus dans la liste de gauche. La partie droite affiche les options disponibles pour le protocole de tÃ©lÃ©chargement sÃ©lectionnÃ©. Placer le pointeur de la souris sur une option pour savoir ce qu'elle fait : une infobulle apparaÃ®tra. Certaines options sont Â«facultativesÂ» : il faut alors cocher la case correspondante pour pouvoir utiliser l'option. D'autres sont Â«obligatoiresÂ» : il n'y a pas de case Ã  cocher, une valeur doit Ãªtre entrÃ©e pour que le tÃ©lÃ©chargement soit effectuÃ©.</Text>
+<Text id="39g">Une fois que la configuration est crÃ©Ã©e, cliquer sur <AutoText key="glidict::Download.ServerInformation"/> pour vÃ©rifier la connexion au serveur et afficher des informations de base sur la page Web ou sur le serveur, puis cliquer sur <AutoText key="glidict::Mirroring.Download"/> pour commencer le tÃ©lÃ©chargement.</Text>
+<Text id="39g-1">Il y a deux autres boutons : <AutoText key="glidict::Mirroring.Preferences"/>, qui rejoint le panneau Â«ConnexionÂ» des PrÃ©fÃ©rences oÃ¹ les paramÃštres du proxy peuvent Ãªtre modifiÃ©s ; et  <AutoText key="glidict::Mirroring.ClearCache"/>, qui supprime tous les fichiers tÃ©lÃ©chargÃ©s prÃ©cÃ©demment. Vous devrez fournir des informations sur le proxy si vous utilisez un serveur mandataire (proxy) pour vous connecter Ã  l'Internet. Si une authentification est nÃ©cessaire quand un tÃ©lÃ©chargement est en cours de traitement, le serveur mandataire (proxy) va demander un nom d'utilisateur et un mot de passe. L'Interface BibliothÃ©caire ne stocke pas les mots de passe entre les sessions.</Text>
+<Text id="40">Les fichiers sont tÃ©lÃ©chargÃ©s dans un dossier nommÃ© <AutoText key="glidict::Tree.DownloadedFiles"/> (qui n'est prÃ©sent que quand le tÃ©lÃ©chargement est autorisÃ©), et peuvent Ãªtre utilisÃ©s dans toute collection. Les fichiers portent le nom de leur URL web complÃšte (pour ceux tÃ©lÃ©chargÃ©s du web et des serveurs MediaWiki) ou d'une combinaison entre URL et valeurs gÃ©nÃ©rÃ©es par les options (pour d'autres types de tÃ©lÃ©chargement). Un nouveau dossier est crÃ©Ã© pour chaque site hÃŽte, suivi par d'autres dossiers pour chaque Ã©lÃ©ment du chemin. Cela permet de s'assurer que chaque fichier ait un chemin distinct.</Text>
+<Text id="42">La liste de tÃ©lÃ©chargement contient une entrÃ©e pour chaque Ã©lÃ©ment tÃ©lÃ©chargÃ©. Chaque entrÃ©e affiche une zone de texte qui donne les dÃ©tails du processus et une barre qui mesure la progression de la tÃ¢che en cours. Trois boutons apparaissent Ã  la droite de chaque entrÃ©e. <AutoText key="glidict::Mirroring.DownloadJob.Pause"/> est employÃ© pour arrÃªter temporairement un tÃ©lÃ©chargement. <AutoText key="glidict::Mirroring.DownloadJob.Log"/> ouvre une fenÃªtre affichant l'historique du tÃ©lÃ©chargement. <AutoText key="glidict::Mirroring.DownloadJob.Close"/> termine le tÃ©lÃ©chargement et enlÃšve la tÃ¢che de la liste.</Text>
+</Section>
+</Section>
+<Section name="collectingfiles">
+<Title>
+<Text id="44">Collecter les fichiers pour votre collection</Text>
+</Title>
+<Text id="45">DÃšs lors que l'on dispose d'une nouvelle collection, il est nÃ©cessaire d'y ajouter des fichiers. Ceux-ci peuvent provenir de votre espace fichier ordinaire, des fichiers tÃ©lÃ©chargÃ©s antÃ©rieurement, ou d'autres collections Greenstone. Quelques-uns peuvent avoir des mÃ©tadonnÃ©es attachÃ©es. Cette section dÃ©crit comment importer des fichiers.</Text>
+<Section name="thegatherview">
+<Title>
+<Text id="46">La vue Â«RassemblerÂ»</Text>
+</Title>
+<Text id="47">Cette section introduit la vue Rassembler utilisÃ©e pour sÃ©lectionner les fichiers Ã  inclure dans la collection Ã  crÃ©er. L'Interface BibliothÃ©caire dÃ©marre avec l'affichage Â«RassemblerÂ». Pour revenir ultÃ©rieurement Ã  celui-ci, cliquer directement sur l'onglet <AutoText key="glidict::GUI.Gather"/> juste en dessous de la barre de menu.</Text>
+<Text id="48">Les deux larges zones intitulÃ©es Â«Espace de travailÂ» et Â«CollectionÂ» servent au transfert des fichiers vers la collection. Elles contiennent chacune une arborescence de fichiers et de dossiers.</Text>
+<Text id="49">Choisir un Ã©lÃ©ment dans l'arborescence en cliquant dessus. (Il existe d'autres maniÃšres de le faire ; voir ci-dessous). Double-cliquer sur un dossier, ou cliquer simplement sur le symbole petit plus placÃ© Ã  cÃŽtÃ© de lui, pour dÃ©velopper (ou rÃ©duire) son contenu. Double-cliquer sur un fichier pour l'ouvrir en utilisant le programme d'application associÃ© (voir <Reference target="fileassociations"/>).</Text>
+<Text id="50">L'arborescence des fichiers de l'espace de travail montre les sources de donnÃ©es disponibles pour l'Interface BibliothÃ©caire -- le systÃšme de fichiers local (ainsi que les unitÃ©s de disques et Cd-rom), le contenu des collections Greenstone, et le cache des fichiers tÃ©lÃ©chargÃ©s. Vous pouvez copier et afficher ces fichiers mais vous ne pouvez pas les dÃ©placer, supprimer ou modifier, Ã  l'exception des fichiers tÃ©lÃ©chargÃ©s qui peuvent Ãªtre supprimÃ©s. Vous pouvez naviguer Ã  l'intÃ©rieur de cet espace pour trouver les documents que vous souhaitez ajouter Ã  la collection.</Text>
+<Text id="51">L'arborescence des fichiers de la Collection ne reprÃ©sente que le contenu de la collection. Elle est initialement vide.</Text>
+<Text id="52">On peut redimensionner les espaces en positionnant la souris sur la barre grise qui sÃ©pare les arborescences (le pointeur change de forme) et en la faisant glisser.</Text>
+<Text id="53">En bas de la fenÃªtre, il y a une barre d'Ã©tat qui montre l'Ã©volution des opÃ©rations sur les fichiers (copie, dÃ©placement et suppression). Ces opÃ©rations peuvent Ãªtre longues. Le bouton Â«ArrÃªtÂ» arrÃªte toute tÃ¢che en cours.</Text>
+<Text id="54">Deux grands boutons occupent le coin infÃ©rieur droit de l'Ã©cran. Â«Nouveau dossierÂ», avec une image d'un dossier, crÃ©e de nouveaux dossiers (voir <Reference target="creatingfolders"/>). Â«SupprimerÂ», avec une corbeille, supprime les fichiers. En cliquant sur le bouton Â«SupprimerÂ» vous dÃ©truisez tous les fichiers sÃ©lectionnÃ©s de l'arborescence de fichiers de la collection. On peut aussi supprimer des fichiers en les faisant glisser jusqu'au bouton Â«SupprimerÂ». </Text>
+<Text id="55">Pour sÃ©lectionner plusieurs d'Ã©lÃ©ments successifs, sÃ©lectionner le premier, maintenir appuyÃ©e la touche [Maj] et cliquer sur le dernier Ã©lÃ©ment de la sÃ©quence -- la sÃ©lection comprendra tous les Ã©lÃ©ments compris entre les deux. Pour la sÃ©lection de fichiers qui ne se suivent pas, maintenir la touche [Ctrl] appuyÃ©e en cliquant sur chacun d'eux. Ces deux mÃ©thodes peuvent Ãªtre utilisÃ©es ensemble pour la sÃ©lection de jeux d'Ã©lÃ©ments non adjacents.</Text>
+</Section>
+<Section name="creatingshortcuts">
+<Title>
+<Text id="55a">CrÃ©ation d'un raccourci dans l'arbre de travail</Text>
+</Title>
+<Text id="56">Certains dossiers -- tel que celui contenant vos propres pages web -- ont parfois une signification spÃ©ciale. L'Interface BibliothÃ©caire peut positionner ces dossiers au premier niveau de l'arborescence de fichiers. Pour ce faire, double-clic droit sur le dossier visÃ©. Choisir Â«CrÃ©er un raccourciÂ», saisir le nom du dossier. Pour enlever un Ã©lÃ©ment, clic droit sur le dossier repositionnÃ© et sÃ©lectionner Â«Supprimer raccourciÂ».</Text>
+</Section>
+<Section name="creatingfolders">
+<Title>
+<Text id="57">CrÃ©er des dossiers</Text>
+</Title>
+<Text id="58">Utiliser les dossiers de l'arborescence de fichiers de la collection pour classer les fichiers et les rendre aisÃ©ment accessibles. Des dossiers peuvent Ãªtre placÃ©s Ã  l'intÃ©rieur d'autres dossiers. Aucune limite, virtuellement parlant, ni au nombre de dossiers dont on peut disposer ni Ã  la complexitÃ© de leur agencement.</Text>
+<Text id="59">Pour crÃ©er un nouveau dossier, clic doit dans le panneau Collection (ou clic doit sur un dossier existant dans l'arborescence de la collection pour y insÃ©rer le nouveau dossier) et cliquez sur l'option Â«Nouveau dossierÂ». Le nouveau dossier apparaÃ®t Ã  l'intÃ©rieur de celui choisi, ou au niveau supÃ©rieur si aucun n'est choisi. Entrez un nom de dossier (Ã  dÃ©faut, il sera nommÃ© Â«nouveau dossierÂ»).</Text>
+<Text id="60">Les dossiers peuvent aussi Ãªtre crÃ©Ã©s en cliquant dans l'Arborescence de la collection avec le bouton droit, ou bien sur un dossier, en choisissant Â«Nouveau dossierÂ», et en opÃ©rant comme expliquÃ© ci-dessus.</Text>
+</Section>
+<Section name="addingfiles">
+<Title>
+<Text id="61">Ajouter des fichiers</Text>
+</Title>
+<Text id="62">Les fichiers peuvent Ãªtre copiÃ©s dans la collection par glisser-dÃ©poser. Le pointeur prend la forme de l'Ã©lÃ©ment sÃ©lectionnÃ© (ou affiche le nombre d'Ã©lÃ©ments si la sÃ©lection en comprend plus d'un). DÃ©poser la sÃ©lection dans l'arborescence de la collection pour les y copier (si la source est l'arborescence de l'espace de travail) ou les dÃ©placer Ã  l'intÃ©rieur de la collection (si la source est l'arborescence de la collection).</Text>
+<Text id="63">Lorsque plusieurs fichiers sont copiÃ©s, ils sont tous placÃ©s dans le dossier cible au mÃªme niveau, quelle que soit la structure du dossier qui les contenait avant. Si vous copiez un fichier avec le nom d'un fichier qui existe dÃ©jÃ  dans le dossier cible, on vous demande si le premier fichier doit Ãªtre Ã©crasÃ©. Si la rÃ©ponse est non, le fichier ne sera pas copiÃ©, mais les autres le seront. Pour annuler les autres copies, cliquer sur le bouton Â«ArrÃªtÂ».</Text>
+<Text id="64">Seuls les Ã©lÃ©ments prioritaires dans une sÃ©lection sont dÃ©placÃ©s. Un dossier est prioritaire relatif Ã  son contenu. On ne peut pas sÃ©lectionner en mÃªme temps le contenu d'un dossier et le dossier lui-mÃªme.</Text>
+<Text id="65">Lorsqu'un fichier est ajoutÃ©, l'Interface BibliothÃ©caire cherche les dossiers sources des fichiers auxiliaires contenant les mÃ©tadonnÃ©es qui lui sont assignÃ©es Ã  l'origine et, s'il en trouve, commence Ã  les importer. Au fur et Ã  mesure que l'opÃ©ration se poursuit, il peut Ãªtre demandÃ© (Ã©ventuellement plusieurs fois) de fournir des informations complÃ©mentaires pour ajuster la mÃ©tadonnÃ©e aux jeux de mÃ©tadonnÃ©es de la collection. Ces confirmations sont dÃ©crites dans la section <Reference target="importingpreviouslyassignedmetadata"/>. Pour une explication plus dÃ©taillÃ©e de l'association de mÃ©tadonnÃ©es avec les fichiers, lire le chapitre 2 du Guide de dÃ©veloppement de Greenstone -- Â«Exploitez vos documents au maximumÂ».</Text>
+<Text id="65a">Vous pouvez aussi ajouter un document "factice" Ã  la collection par un clic droit dans l'arborescence de la collection ou sur un dossier, et en sÃ©lectionnant <AutoText key="glidict::CollectionPopupMenu.New_Dummy_Doc"/>. Cette opÃ©ration va crÃ©er un fichier vide Ã  laquelle les mÃ©tadonnÃ©es peuvent Ãªtre affectÃ©s. Le fichier peut Ãªtre remplacÃ© par un "vrai" fichier ultÃ©rieurement.</Text>
+</Section>
+<Section name="replacingfiles">
+<Title>
+<Text id="65b">Renommage et remplacement des fichiers</Text>
+</Title>
+<Text id="65c">Un fichier peut Ãªtre renommÃ© en cliquant droit sur son nom et en sÃ©lectionnant <AutoText key="glidict::CollectionPopupMenu.Rename"/> dans la liste. Entrez le nouveau nom et cliquez sur Â«OKÂ». </Text>
+<Text id="65d">On peut remplacer des fichiers dans la collection : clic doit sur le fichier Ã  remplacer puis choisir <AutoText key="glidict::CollectionPopupMenu.Replace"/>. Un navigateur de fichiers s'ouvre : naviguer vers le document Ã  ajouter et cliquer sur Â«OuvrirÂ». Le nouveau document remplace alors l'ancien dans la collection, et les mÃ©tadonnÃ©es associÃ©es Ã  l'ancien document sont transfÃ©rÃ©es vers le nouveau document. Ceci est particuliÃšrement utile pour remplacer les documents vides (fichiers nuls) par les vrais.</Text>
+<Text id="65e">Certains types de fichiers sont convertis en HTML par les logicels des tiers au moment de l'importation, par exemple, Word, Excel, PDFâŠ Le HTML produit Ã  l'importation peut ne pas Ãªtre trÃšs bien formatÃ©. Pour ces documents il y a une autre option clic droit : <AutoText key="glidict::Menu.Replace_SrcDoc_With_HTML"/>. SÃ©lectionner cette option a pour effet que le fichier d'origine sera remplacÃ© dans la collection par la version HTML, ainsi rendu modifiable.</Text>
+</Section>
+<Section name="removingfiles">
+<Title>
+<Text id="66">Supprimer des Fichiers</Text>
+</Title>
+<Text id="67">Il existe plusieurs mÃ©thodes pour supprimer des fichiers et des dossiers. On doit d'abord indiquer les Ã©lÃ©ments Ã  supprimer en sÃ©lectionnant un ou plusieurs fichiers/dossiers comme dÃ©crit dans <Reference target="thegatherview"/>.</Text>
+<Text id="68">DÃšs lors que les fichiers sont sÃ©lectionnÃ©s, cliquer sur le bouton Â«SupprimerÂ» pour les dÃ©truire, ou appuyer sur la touche [Suppr] de votre clavier, ou glisser-les de la collection vers le bouton Â«SupprimerÂ» et dÃ©poser-les.</Text>
+</Section>
+<Section name="explodingfiles">
+<Title>
+<Text id="exm-1">Â«EclaterÂ» les fichiers de mÃ©tadonnÃ©es  </Text>
+</Title>
+<Text id="exm-2">Les mÃ©tadonnÃ©es issues de bases de donnÃ©es telles que MARC, OAI, CDS/ISIS, BibTex, Refer et ProCite peuvent Ãªtre importÃ©s dans Greenstone, mais elles ne peuvent pas Ãªtre consultÃ©es ou modifiÃ©es IMMEDIATEMENT dans l'Interface BibliothÃ©caire. Cependant, vous pouvez Â«Ã©claterÂ» le fichier de la base dans l'Interface BibliothÃ©caire pour que ces opÃ©rations deviennent possibles. Alternativement, vous pouvez, particuliÃšrement si vous maintenez une application externe maÃ®tre, retourner au programme qui a crÃ©Ã© le fichier, effectuer vos corrections, et importer de nouveau la base.</Text>
+<Text id="exm-3">Â«EclaterÂ» un fichier de base de donnÃ©es le divise en enregissements individuels, chacun avec mÃ©tadonnÃ©es visibles et modifiables. Ce processus est irrÃ©versible: l'original du fichier de mÃ©tadonnÃ©es est supprimÃ©.</Text>
+<Text id="exm-4">Les fichiers Â«Ã©clatablesÂ» ont une icÃŽne verte dans l'Arboresence de la collection . Pour en Ã©clater un, clic droit puis sÃ©lectionner <AutoText key="glidict::Menu.Explode_Metadata_Database"/>. Une fenÃªtre secondaire affiche des options du processus d'Ã©clatement. L'option Â«plugicielÂ» prÃ©cise le plugiciel Ã  utiliser pour Ã©clater la base. Dans la plupart des cas, un seul plugiciel traite un type de fichier donnÃ©, mais dans certains cas, quand diffÃ©rents types de fichiers partagent la mÃªme extension de nom de fichier, il peut y avoir deux plugiciels qui traitent les fichiers avec cette extension. L'option Â«input_encodingÂ» peut Ãªtre utilisÃ©e pour spÃ©cifier l'encodage de la base de donnÃ©es. L'option Â«metadata_setÂ» spÃ©cifie quel jeu de mÃ©tadonnÃ©es doit Ãªtre enrichi des nouveaux champs gÃ©nÃ©rÃ©s par l'Ã©clatement. Si rien n'est spÃ©cifiÃ©, il vous est demandÃ© que faire avec chaque nouveau champ de la base de donnÃ©es : l'ajouter comme un nouvel Ã©lÃ©ment d'un jeu de mÃ©tadonnÃ©es existant, le fusionner avec un autre Ã©lÃ©ment, ou l'ignorer.</Text>
+<Text id="exm-5">Lorsqu'un fichier est Ã©clatÃ©, un nouveau document vide est crÃ©Ã© pour chaque enregistrement, et les mÃ©tadonnÃ©es de l'enregistrement sont attribuÃ©es au document. Les documents sont nommÃ©es en utilisant des numÃ©ros tels que 000001.nul, 000002.nul etc... Si l'option Â«document_fieldÂ»  est dÃ©finie (avec un nom de champ de base de donnÃ©es), la valeur de ce champ, s'il est prÃ©sent, est utilisÃ©e pour le nom du fichier. Le processus de l'Ã©clatement tente Ã©galement de tÃ©lÃ©charger le fichier et de l'utiliser Ã  la place d'un fichier vide. Les options Â«document_prefixÂ» et Â«document_suffixÂ»  peuvent Ãªtre utilisÃ©es pour fabriquer une URL ou le chemin du fichier Ã  partir de la valeur du document_field. L'option Â«records_per_folderÂ» peut Ãªtre utilisÃ©e pour regrouper en sous-dossiers les enregistrements Ã©clatÃ©s. Si la base de donnÃ©es est trÃšs fournie, l'utilisation de cette option permettra d'accÃ©lÃ©rer la modification ultÃ©rieure de mÃ©tadonnÃ©es.</Text>
+<Text id="exm-6">La possibilitÃ© d'Ã©clater un fichier est dÃ©terminÃ©e par son extension. Dans certains cas, un fichier peut Ãªtre identifiÃ© comme Â«Ã©clatableÂ» alors que ce n'est pas le cas, s'il a la mÃªme extension qu'un fichier rÃ©ellement Â«Ã©clatableÂ». Par exemple, le plugiciel ProCite traite les fichiers avec une extension .txt, mais la plupart des fichiers .txt sont des fichiers texte ordinaires, et non des fichiers ProCite.</Text>
+</Section>
+<Section name="filteringthetree">
+<Title>
+<Text id="69">Filtrer les arborescences</Text>
+</Title>
+<Text id="70">Le "Filtrage" des arborescences de la collection et de l'espace de travail permet de rÃ©duire la recherche de fichiers spÃ©cifiques.</Text>
+<Text id="71">Le menu dÃ©roulant Â«Montrer les fichiersÂ» au bas de chaque arborescence montre une liste de filtres prÃ©dÃ©finis, tels Â«ImagesÂ». Le choix du filtre cache temporairement tous les autres fichiers de l'arborescence. Pour restaurer l'arborescence totale, changer le filtre en Â«Tous les fichiersÂ». Ces opÃ©rations n'altÃšrent pas la collection, ni n'affectent les dossiers dans l'arborescence.</Text>
+<Text id="72">On peut spÃ©cifier un filtre personnalisÃ© en saisissant un modÃšle assorti aux fichiers visÃ©s (en modes BibliothÃ©caire et Expert seulement). Utiliser le systÃšme standard d'abrÃ©viations de fichiers telles que Â«*.*Â» ou Â«*.docÂ» (* correspond Ã  tous les caractÃšres).</Text>
+</Section>
+</Section>
+<Section name="enrichingacollection">
+<Title>
+<Text id="73">Enrichir la collection avec des mÃ©tadonnÃ©es</Text>
+</Title>
+<Text id="74">AprÃšs avoir rassemblÃ© plusieurs fichiers dans la collection, on les enrichit d'une information complÃ©mentaire appelÃ©e Â«mÃ©tadonnÃ©eÂ». Cette section explique comment une mÃ©tadonnÃ©e est crÃ©Ã©e, modifiÃ©e, assignÃ©e ou retirÃ©e, et comment utiliser les sources de mÃ©tadonnÃ©es externes (voir aussi le chapitre 2 du Guide de dÃ©veloppement de Greenstone -- Â«Exploitez vos documents au maximumÂ»).</Text>
+<Section name="theenrichview">
+<Title>
+<Text id="75">La vue Â«EnrichirÂ»</Text>
+</Title>
+<Text id="76">Utilisez la vue <AutoText key="glidict::GUI.Enrich"/> pour attribuer des mÃ©tadonnÃ©es aux documents de la collection. Une mÃ©tadonnÃ©e est une donnÃ©e servant Ã  dÃ©finir ou Ã  dÃ©crire une autre donnÃ©e -- habituellement le titre, l'auteur, la date de crÃ©ation, etc... Chaque Ã©lÃ©ment de mÃ©tadonnÃ©es a deux parties : <AutoText key="glidict::Metadata.Element"/> indique le type d'Ã©lÃ©ment (par exemple auteur), et <AutoText key="glidict::Metadata.Value"/> qui donne la valeur de cet Ã©lÃ©ment de mÃ©tadonnÃ©es (par exemple le nom de l'auteur).</Text>
+<Text id="77">Sur la gauche de la vue <AutoText key="glidict::GUI.Enrich"/> il y a l'Arborescence de la collection. Toutes les fonctions opÃ©rant sur l'Arborescence de la collection dans la vue <AutoText key="glidict::GUI.Gather"/> sont Ã©galement disponibles ici. A droite, il s'agit de la Table de mÃ©tadonnÃ©es, qui affiche les mÃ©tadonnÃ©es pour tout fichier ou dossier sÃ©lectionnÃ© dans l'Arborescence de la collection. Les colonnes sont nommÃ©es en noir en haut de colonne, et peuvent Ãªtre redimensionnÃ©es en faisant glisser la ligne de sÃ©paration. Si plusieurs fichiers ou dossiers sont sÃ©lectionnÃ©s, un texte en noir indique que la valeur est commune Ã  tous les Ã©lÃ©ments sÃ©lectionnÃ©s, tandis qu'un texte en gris indique le contraire. La modification des valeurs en gris affecte seulement les documents auxquels ces valeurs ont Ã©tÃ© attribuÃ©s. Toute nouvelle valeur saisie sera ajoutÃ©e Ã  tous les Ã©lÃ©ments sÃ©lectionnÃ©s.</Text>
+<Text id="78">Une icÃŽne reprÃ©sentant un dossier peut apparaÃ®tre Ã  cÃŽtÃ© de certaines entrÃ©es de mÃ©tadonnÃ©es. Ceci indique que les valeurs ont Ã©tÃ© hÃ©ritÃ©es d'un dossier parent (ou ancÃªtre). Les mÃ©tadonnÃ©es hÃ©ritÃ©es ne peuvent Ãªtre modifiÃ©es ou supprimÃ©es, mais seulement complÃ©tÃ©es. Cliquez sur l'icÃŽne du dossier pour aller immÃ©diatement au dossier oÃ¹ la mÃ©tadonnÃ©e est affectÃ©e.</Text>
+<Text id="79">Si vous cliquez sur un Ã©lÃ©ment de mÃ©tadonnÃ©es du tableau, celui-ci affiche les valeurs existantes pour l'Ã©lÃ©ment dans la zone <AutoText key="glidict::EnrichPane.ExistingValues" args="..."/> au-dessous du tableau. Cette "Arborescence de valeurs" peut Ãªtre dÃ©veloppÃ©e ou rÃ©duite. C'est une liste qui, de faÃ§on usuelle, affiche toutes les valeurs prÃ©cÃ©demment saisies pour un Ã©lÃ©ment sÃ©lectionnÃ©. En cliquant sur une entrÃ©e, on  la place automatiquement dans le champ valeur. Inversement, en tapant une donnÃ©e dans le champ valeur, on sÃ©lectionne dans l'Arborescence de valeurs l'Ã©lÃ©ment qui dÃ©bute avec les caractÃšres saisis. Appuyer sur [Tab] accepte automatiquement la valeur sÃ©lectionnÃ©e.</Text>
+<Text id="80">Les valeurs de mÃ©tadonnÃ©es peuvent Ãªtre organisÃ©es en hiÃ©rarchie. Ceci est visible dans l'Arborescence de valeurs, en utilisant des dossiers pour dÃ©finir les niveaux internes. Les valeurs hiÃ©rarchiques peuvent Ãªtre saisies en utilisant le caractÃšre "|" pour sÃ©parer les niveaux. Par exemple, "Carte|Rouge|Carreau|Sept" peut Ãªtre utilisÃ© dans une hiÃ©rarchie qui reprÃ©sente un jeu de cartes. Cela permet le regroupement des valeurs. Les groupes de valeurs peuvent aussi Ãªtre attribuÃ©s comme mÃ©tadonnÃ©es aux documents.</Text>
+<Text id="81">Greenstone extrait automatiquement certaines mÃ©tadonnÃ©es Ã  partir des documents, et les regroupe dans un jeu de mÃ©tadonnÃ©es dont les Ã©lÃ©ments sont prÃ©fixÃ©s Â«ex.Â». Il nây a aucune arborescence de valeurs, cela ne peut Ãªtre modifiÃ©.</Text>
+</Section>
+<Section name="selectingmetadatasets">
+<Title>
+<Text id="82">SÃ©lectionner les jeux de mÃ©tadonnÃ©es</Text>
+</Title>
+<Text id="83">Les sÃ©ries d'Ã©lÃ©ments de mÃ©tadonnÃ©es prÃ©dÃ©finis sont appelÃ©es Â«jeux de mÃ©tadonnÃ©esÂ». Â«Dublin CoreÂ» en est un exemple. Quand on ajoute un jeu de mÃ©tadonnÃ©es Ã  la collection, les Ã©lÃ©ments de ce jeu peuvent Ãªtre sÃ©lectionnÃ©s. On peut avoir plus d'un jeu de mÃ©tadonnÃ©es ; pour Ã©viter des tÃ©lescopages de nom, une abrÃ©viation qui identifie le jeu de mÃ©tadonnÃ©es est accolÃ©e au nom de l'Ã©lÃ©ment. Par exemple l'Ã©lement Â«CrÃ©ateurÂ» de Dublin Core devient Â«dc.CreatorÂ». Les jeux de mÃ©tadonnÃ©es sont sauvegardÃ©s dans le dossier de mÃ©tadonnÃ©es de l'Interface BibliothÃ©caire avec le suffixe Â«.mdsÂ».</Text>
+<Text id="84">Quand on crÃ©e une nouvelle collection, le jeu de mÃ©tadonnÃ©es Dublin Core est ajoutÃ© par dÃ©faut. Il est possible de modifier les jeux de mÃ©tadonnÃ©es utilisÃ©s dans une collection, en cliquant sur le bouton <AutoText key="glidict::EnrichPane.ManageMetadataSets"/> au-dessous de l'Arborescence de la collection dans la vue Â«EnrichirÂ». Ceci fait apparaÃ®tre une nouvelle fenÃªtre pour gÃ©rer les jeux de mÃ©tadonnÃ©es de la collection.</Text>
+<Text id="84a">La liste <AutoText key="glidict::MetadataSetDialog.Current_Sets"/> vous montre quels jeux sont actuellement utilisÃ©s par la collection.</Text>
+<Text id="84b">Pour utiliser un autre jeu de mÃ©tadonnÃ©es avec la collection chargÃ©e, cliquez sur Â«Ajouter...Â». Une fenÃªtre secondaire affiche les jeux de mÃ©tadonnÃ©es que GLI reconnaÃ®t par dÃ©faut. Pour ajouter l'un d'eux, sÃ©lectionnez-le dans la liste et cliquez sur Â«AjouterÂ». Si vous avez dÃ©fini votre propre jeu de mÃ©tadonnÃ©es, vous pouvez utiliser le bouton Â«ParcourirÂ» pour sÃ©lectionner le fichier dans votre systÃšme de fichiers.</Text>
+<Text id="84c">Pour crÃ©er un nouveau jeu de mÃ©tadonnÃ©es, cliquez sur Â«Nouveau ...Â». Cette opÃ©ration lance l'Editeur de jeux de mÃ©tadonÃ©es de Greenstone, GEMS. Une premiÃšre fenÃªtre vous invite Ã  entrer le nom du jeu de mÃ©tadonnÃ©es, l'espace de noms et la description. Vous pouvez Ã©galement choisir de baser le nouveau jeu sur un jeu existant, dans ce cas il hÃ©ritera de tous les Ã©lÃ©ments du jeu spÃ©cifiÃ©. Cliquez sur OK. La fenÃªtre principale liste les Ã©lÃ©ments du jeu de mÃ©tadonnÃ©es sur le cÃŽtÃ© gauche, et certains attributs du jeu sur le cÃŽtÃ© droit. Si vous avez un jeu basÃ© sur un jeu existant, un ou plusieurs Ã©lÃ©ments seront dÃ©jÃ  affichÃ©s. En cliquant sur un Ã©lÃ©mÃ©nt, les attributs de cet Ã©lÃ©ment sâaffichent dans la partie droite.</Text>
+<Text id="84d">Pour ajouter un nouvel Ã©lÃ©ment, clic droit sur le nom du jeu et choisissez Â«Ajouter un Ã©lÃ©mentÂ». Pour ajouter un nouveau sous-Ã©lÃ©ment, clic droit sur l'Ã©lÃ©ment et choisir Â«Ajouter un sous-Ã©lÃ©mentÂ». ÃlÃ©ments et sous-Ã©lÃ©ments peuvent Ãªtre supprimÃ©es en sÃ©lectionnant Â«Supprimer un Ã©lÃ©mentÂ» dans le menu du clic droit.</Text>
+<Text id="84e">Nota Bene : L'Ã©diteur de jeux de mÃ©tadonnÃ©es Greenstone GEMS peut Ãªtre exÃ©cutÃ© indÃ©pendamment de GLI en le sÃ©lectionnant dans le dossier Greenstone du menu DÃ©marrer, ou en exÃ©cutant gems.sh ou gems.bat dans le dossier gli de votre installation Greenstone.</Text>
+<Text id="84f">Parfois deux jeux de mÃ©tadonnÃ©es peuvent avoir le mÃªme espace de noms, par exemple, le Dublin Core et Dublin Core qualifiÃ© utilisent l'espace de noms Â«dcÂ». De tels jeux ne peuvent pas Ãªtre utilisÃ©s dans une collection en mÃªme temps. Si vous essayez d'ajouter un jeu avec un espace de noms dÃ©jÃ  utilisÃ© par la collection, un avertissement s'affiche. Si vous continuez, le jeu existant sera supprimÃ© et le nouveau ajoutÃ©. Toutes les valeurs de mÃ©tadonnÃ©es dÃ©jÃ  attribuÃ©es seront transfÃ©rÃ©es au nouveau jeu si tant est que les Ã©lÃ©ments existent toujours.</Text>
+<Text id="191">L'Ã©dition des jeux de mÃ©tadonnÃ©es, ainsi que la crÃ©ation de nouveaux jeux, se font avec l'Ã©diteur Greenstone de mÃ©tadonnÃ©es (GEMS). En cliquant sur le bouton Â«Modifier...Â» vous lancez GEMS avec le jeu de mÃ©tadonnÃ©es spÃ©cifiÃ© ouvert. Quand vous avez terminÃ© la rÃ©vision du jeu (comme dÃ©crit ci-dessus), sauvegardez le jeu (Fichier->Sauvegarder) et fermez GEMS.</Text>
+<Text id="192">Si vous n'avez plus besoin d'un jeu de mÃ©tadonnÃ©es dans une collection, sÃ©lectionnez le jeu et cliquez sur Â«RetirerÂ» pour l'enlever. Si vous avez attribuÃ© des mÃ©tadonnÃ©es aux Ã©lÃ©ments du jeu retirÃ©, on vous demandera ce que vous voulez en faire lorsque vous allez ouvrir Ã  nouveau cette collection.</Text>
+</Section>
+<Section name="appendingmetadata">
+<Title>
+<Text id="85">Ajouter de nouvelles mÃ©tadonnÃ©es</Text>
+</Title>
+<Text id="86">On ajoute un Ã©lÃ©ment de mÃ©tadonnÃ©es -- Ã©lÃ©ment et valeur Ã  la fois -- Ã  un fichier. SÃ©lectionnez d'abord le fichier Ã  partir de l'arborescence de la collection situÃ©e Ã  gauche. Cette action entraÃ®ne l'apparition de toute mÃ©tadonnÃ©e prÃ©-assignÃ©e  dans le tableau de droite. </Text>
+<Text id="87">SÃ©lectionnez ensuite l'Ã©lÃ©ment de mÃ©tadonnÃ©es Ã  ajouter en cliquant sur sa rangÃ©e dans le tableau.</Text>
+<Text id="88">Tapez la valeur dans le champ valeur. Utilisez le caractÃšre Â«|Â» pour structurer une mÃ©tadonnÃ©e, comme dÃ©crit dans <Reference target="theenrichview"/>. Vous pouvez sauver la mÃ©tadonnÃ©e en pressant les touches [Haut] ou [Bas] et bouger ainsi le rang sÃ©lectionnÃ©. En pressant la touche [EntÃ©e] la mÃ©tadonnÃ©e sera sauvÃ©e et un nouvel espace vide sera crÃ©Ã© pour l' Ã©lÃ©ment, vous permettant dâajouter plusieurs valeurs Ã  un mÃªme Ã©lÃ©ment.</Text>
+<Text id="89">Vous pouvez aussi ajouter une mÃ©tadonnÃ©e Ã  un dossier, ou Ã  plusieurs fichiers sÃ©lectionnÃ©s Ã  la fois. Elle est ajoutÃ©e Ã  tous les fichiers Ã  l'intÃ©rieur du dossier ou de la sÃ©lection, et aux sous-dossiers. Gardez Ã  l'esprit que si des mÃ©tadonnÃ©es sont ajoutÃ©es Ã  un dossier, tous les nouveaux fichiers de ce dossier hÃ©ritent automatiquement de ces valeurs.</Text>
+</Section>
+<Section name="addingpreviouslydefinedmetadata">
+<Title>
+<Text id="90">Ajouter des mÃ©tadonnÃ©es prÃ©dÃ©finies</Text>
+</Title>
+<Text id="91">Pour ajouter une valeur de mÃ©tadonnÃ©es qui existe dÃ©jÃ , sÃ©lectionnez d'abord le fichier, et ensuite la valeur requise Ã  partir de l'arborescence des valeurs, en dÃ©veloppant si nÃ©cessaire les dossiers de hiÃ©rarchie. La valeur sÃ©lectionnÃ©e apparaÃ®t automatiquement dans le champ (utilisez alternativement les fonctionnalitÃ©s auto-sÃ©lectionner et auto-complÃ©ter de l'Arborescence de valeurs). </Text>
+<Text id="92">La procÃ©dure pour ajouter des valeurs dÃ©jÃ  existantes aux dossiers ou aux fichiers multiples est tout Ã  fait identique.</Text>
+</Section>
+<Section name="updatingmetadata">
+<Title>
+<Text id="93">Modifier ou Ã©liminer les mÃ©tadonnÃ©es</Text>
+</Title>
+<Text id="94">Pour modifier ou Ã©liminer un Ã©lÃ©ment de mÃ©tadonnÃ©es, sÃ©lectionnez dâabord le fichier appropriÃ©, puis la valeur de la mÃ©tadonnÃ©e dans le tableau. Modifiez la valeur de ce champ et/ou supprimez tout le texte si vous dÃ©sirez Ã©liminer la mÃ©tadonnÃ©e.</Text>
+<Text id="95">Le processus est identique pour la mise Ã  jour d'un dossier avec des sous-dossiers ou plusieurs fichiers ; dans ce cas vous pouvez seulement mettre Ã  jour les mÃ©tadonnÃ©es qui sont communes Ã  tous les fichiers/dossiers sÃ©lectionnÃ©s.</Text>
+<Text id="96">L' Arborescence de valeurs prÃ©sente toutes les valeurs actuellement attribuÃ©es de mÃªme que les valeurs prÃ©cÃ©dentes qui ont Ã©tÃ© attribuÃ©es pendant la prÃ©sente session ; toutes les valeurs Ã©liminÃ©es ou dÃ©jÃ  modifiÃ©es seront donc toujours prÃ©sentes dans l' arborescence. Fermer la collection et la rouvrir Ã©liminera les valeurs qui ne sont plus attribuÃ©es.</Text>
+</Section>
+<Section name="reviewingmetadata">
+<Title>
+<Text id="97">Passer en revue les mÃ©tadonnÃ©es attribuÃ©es</Text>
+</Title>
+<Text id="98">On a parfois besoin de visionner, dâun seul coup dâoeil, les mÃ©tadonnÃ©es attribuÃ©es Ã  plusieurs fichiers -- par exemple, pour dÃ©terminer combien de fichiers restent Ã  traiter, ou pour avoir une idÃ©e de l'Ã©ventail des dates d'attribution.</Text>
+<Text id="99">SÃ©lectionnez les fichiers que vous souhaitez examiner dans l'Arborescence de la collection, puis cliquez sur le bouton droit de la souris et choisissez Â«MÃ©tadonnÃ©es attribuÃ©es ...Â». Une fenÃªtre appelÃ©e Â«Toutes les mÃ©tadonnÃ©esÂ» apparaÃ®t sous forme d'un grand tableau avec plusieurs colonnes. La premiÃšre colonne affiche les noms de fichiers ; les lignes affichent toutes les valeurs de mÃ©tadonnÃ©es attribuÃ©es Ã  ces fichiers.</Text>
+<Text id="100">Afficher le tableau peut prendre un peu de temps si les fichiers sÃ©lectionnÃ©s sont nombreux. On peut continuer Ã  utiliser l'Interface BibliothÃ©caire pendant que la fenÃªtre Â«Toutes les mÃ©ta-donnÃ©esÂ» est ouverte.</Text>
+<Text id="101">Quand il devient trop large, on peut filtrer le tableau Â«Toutes les MÃ©tadonnÃ©esÂ» en appliquant des filtres aux colonnes. Quand on ajoute de nouveaux filtres, seules les lignes correspondantes restent visibles. Pour installer, modifier ou effacer un filtre, cliquez sur l'icÃŽne Â«FiltreÂ» situÃ© en haut de la colonne. Une information sur le filtre est rÃ©clamÃ©e. Une fois le filtre installÃ©, l'en-tÃªte de la colonne change de couleur. </Text>
+<Text id="102">La fenÃªtre de dÃ©finition du filtre possÃšde deux onglets : Â«simpleÂ» et Â«avancÃ©Â». La version simple filtre les colonnes afin qu'elles n'affichent que les lignes qui contiennent une valeur dÃ©finie (Â«*Â» correspond Ã  toute valeur). On peut sÃ©lectionner des valeurs de mÃ©tadonnÃ©es Ã  partir d'une liste dÃ©roulante. La version avancÃ©e permet diffÃ©rentes opÃ©rations de correspondance : doit commencer par, ne contient pas, alphabÃ©tiquement infÃ©rieur, et est Ã©gal Ã . La valeur de rÃ©fÃ©rence peut Ãªtre n'importe chaÃ®ne de caractÃšres (y compris Â«*Â»), et on peut opter pour une correspondance qui ne respecte pas la casse. On peut aussi spÃ©cifier une deuxiÃšme condition de correspondance en donnant un Ã©ventail de valeurs (et en sÃ©lectionnant AND) ou des valeurs alternatives (en sÃ©lectionnant OR). Au-dessous de cette zone, il y a une boÃ®te qui permet de modifier l'ordre du tri (ascendant ou descendant). A la fin, cliquez sur Â«Installer FiltreÂ» pour appliquer le nouveau filtre Ã  la colonne. Cliquez sur Â«Effacer FiltreÂ» pour retirer le filtre courant. Les dÃ©tails du filtre restent mÃ©morisÃ©s mÃªme si le filtre est effacÃ©. </Text>
+<Text id="103">Par exemple, pour trier le tableau Â«Toutes les mÃ©tadonnÃ©esÂ», choisissez une colonne, sÃ©lectionnez le cadre du filtre par dÃ©faut (Un filtre simple sur Â«*Â») et choisissez un ordre ascendant ou descendant. </Text>
+</Section>
+<Section name="importingpreviouslyassignedmetadata">
+<Title>
+<Text id="104">Importer des mÃ©tadonnÃ©es prÃ©-attribuÃ©es</Text>
+</Title>
+<Text id="105">Cette section explique comment importer des mÃ©tadonnÃ©es attribuÃ©es prÃ©cÃ©demment (c'est-Ã -dire des mÃ©tadonnÃ©es attribuÃ©es avant d'ajouter des documents Ã  la collection). </Text>
+<Text id="106">Si la mÃ©tadonnÃ©e prÃ©alablement attribuÃ©e Ã  un fichier est dans un format reconnu par l'Interface BibliothÃ©caire -- par exemple, quand on choisit des documents dans une collection Greenstone existante -- elle est importÃ©e automatiquement quand on ajoute le fichier. Pour ce faire, la mÃ©tadonnÃ©e doit Ãªtre ajustÃ©e aux jeux de mÃ©tadonnÃ©es disponibles dans la collection.</Text>
+<Text id="107">L'Interface BibliothÃ©caire invite Ã  fournir les informations nÃ©cessaires. L'invite donne de brÃšves instructions puis affiche le nom de l'Ã©lÃ©ment de mÃ©tadonnÃ©es en cours d'importation tel quâil apparaÃ®t dans le fichier source. Ce champ ne peut Ãªtre ni modifiÃ© ni remplacÃ©. Puis on choisit le jeu de mÃ©tadonnÃ©es sur lequel le nouveau Ã©lÃ©ment doit Ãªtre calquÃ© et enfin l'Ã©lÃ©ment de mÃ©tadonnÃ©es appropriÃ©. Le sytÃšme propose automatiquement le meilleur ajustement, en terme de jeu et d'Ã©lÃ©ment pour la nouvelle mÃ©tadonnÃ©e.</Text>
+<Text id="108">AprÃšs cela, on peut choisir Â«AjouterÂ» pour ajouter le nouvel Ã©lÃ©ment de mÃ©ta-donnÃ©es au jeu de mÃ©tadonnÃ©es choisi. (Ceci n'est possible que si aucun Ã©lement de mÃªme nom n'est prÃ©sent Ã  l'interieur du jeu choisi.) Â«FusionnerÂ» applique le nouvel Ã©lement Ã  celui choisi par l'utilisateur. Enfin, Â«IgnorerÂ» n'importe aucune mÃ©ta-donnÃ©e avec ce nom d'Ã©lement. Une fois prÃ©cisÃ©e la maniÃšre d'importer un certain Ã©lÃ©ment de mÃ©tadonnÃ©es, cette information est retenue pour la durÃ©e de vie de la collection.</Text>
+<Text id="109">Pour des dÃ©tails concenant les fichiers mÃ©tadonnÃ©e.xml que Greenstone utilise pour sauvegarder les mÃ©tadonnÃ©es, rÃ©fÃ©rez-vous au chapitre 2 du guide du DÃ©veloppeur de Greenstone -- Â«Exploitez vos documents au maximumÂ».</Text>
+</Section>
+</Section>
+<Section name="designingacollection">
+<Title>
+<Text id="110">ParamÃ©trage de la collection</Text>
+</Title>
+<Text id="111">Une fois les fichiers enrichis de mÃ©tadonnÃ©es, on peut choisir la prÃ©sentation des documents aux utilisateurs finaux. Quel type d'information peut Ãªtre recherchÃ© ? Quels moyens sont mis Ã  disposition pour parcourir les documents ? Ces aspects peuvent Ãªtre personnalisÃ©s ; cette section dÃ©crit comment procÃ©der.</Text>
+<Section name="thedesignview">
+<Title>
+<Text id="112">La vue Â«ParamÃ©trerÂ»</Text>
+</Title>
+<Text id="113">Cette section prÃ©sente la vue Â«ParamÃ©trerÂ» et explique comment naviguer Ã  l'intÃ©rieur de cette vue.</Text>
+<Text id="114">Avec l'Interface BibliothÃ©caire, on peut configurer la faÃ§on dont la collection va apparaÃ®tre Ã  l'utilisateur. Les options de configuration sont divisÃ©es en diffÃ©rentes sections, chacune associÃ©e Ã  une Ã©tape particuliÃšre du paramÃ©trage de la collection.</Text>
+<Text id="115">Sur la gauche est placÃ©e une liste de diffÃ©rents affichages et Ã  droite les commandes associÃ©es Ã  lâaffichage en cours. Pour passer Ã  un affichage diffÃ©rent, cliquez sur son nom dans la liste.</Text>
+<Text id="116">Pour comprendre les diffÃ©rentes Ã©tapes et les termes impliquÃ©s dans la conception d'une collection, lire les chapitres 1 et 2 du Guide du DÃ©veloppeur Greenstone.</Text>
+</Section>
+<Section name="plugins">
+<Title>
+<Text id="121">Plugiciels de document</Text>
+</Title>
+<Text id="122">Cette section dÃ©crit comment configurer les plugiciels de document que la collection utilise. Elle explique comment spÃ©cifier les plugiciels Ã  utiliser, quels paramÃštres leur signifier et dans quel ordre ils se dÃ©roulent. Dans la vue Â«ParamÃ©trerÂ», cliquez sur Â«Plugiciels de documentÂ».</Text>
+<Text id="123">Pour ajouter un plugiciel, sÃ©lectionnez-le Ã  partir de la liste dÃ©roulante Â«Choisir le plugiciel Ã  ajouterÂ» situÃ©e en bas de page et ensuite cliquez sur Â«Ajouter plugicielÂ». Une fenÃªtre dÃ©nommÃ©e Â«Veuillez configurer les argumentsÂ» apparaÃ®t; elle est dÃ©crite plus loin. Une fois la configuration du nouveau plugiciel achevÃ©e, il est ajoutÃ© Ã  la fin de la liste Â«Plugiciels attribuÃ©sÂ». Veuillez noter qu'en gÃ©nÃ©ral chaque plugiciel n'apparaÃ®t qu'une seule fois dans la liste. Cependant, un plugiciel peut apparaÃ®tre plusieurs fois ; pour que ceci soit utile il faut normalement paramÃ©trer diffÃ©remment les occurrences multiples d'un plugiciel (par exemple en activant le paramÃštre process_exp, voir http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/enhanced_pdf.htm ).</Text>
+<Text id="123aa">Pour voir une brÃšve description d'un plugiciel, sÃ©lectionnez-le dans la liste dÃ©roulante Â«Choisir le plugiciel Ã  ajouterÂ», puis placez le curseur dessus. Une infobulle affichant la description apparaÃ®tra.</Text>
+<Text id="124">Pour enlever un plugiciel, sÃ©lectionnez-le dans la liste et cliquez sur Â«Supprimer plugicielÂ».</Text>
+<Text id="125">Les plugiciels sont configurÃ©s en fournissant des arguments. Pour les modifier ces arguments, il faut sÃ©lectionner le plugiciel Ã  partir de la liste et cliquez sur Â«Configurer plugicielÂ» (Ou double-cliquez sur le plugiciel). Une fenÃªtre de dialogue Â«Veuillez configurer les argumentsÂ» apparaÃ®t avec diffÃ©rents contrÃŽles pour spÃ©cifier les arguments.</Text>
+<Text id="126">Il existe plusieurs types de contrÃŽles. Certains sont des boÃ®tes de dialogue et cliquer sur l'une ajoute l'option appropriÃ©e au plugiciel. Les autres sont des chaÃ®nes de textes avec une boÃ®te de dialogue et un champ texte. Cliquez sur la boÃ®te pour activer l'argument, ensuite saisissez le texte appropriÃ© dans la boÃ®te (expression normale, chemin de fichier, etc...). Les autres sont des menus dÃ©roulants Ã  partir desquels on peut sÃ©lectionner un Ã©lÃ©ment parmi une sÃ©rie de valeurs dÃ©terminÃ©es. Pour apprendre ce qu'un argument peut faire, placez la souris sur son nom pendant un instant, une description apparaÃ®tra.</Text>
+<Text id="127">AprÃšs avoir modifiÃ© la configuration, cliquez sur Â«OKÂ» pour valider et fermer la boÃ®te de dialogue, ou Â«AnnulerÂ» pour fermer la boÃ®te de dialogue sans modifier les arguments du plugiciel.</Text>
+<Text id="128">Les plugiciels dans la liste sont exÃ©cutÃ©s dans l'ordre et l'ordre peut Ãªtre important. Pour modifier cet ordre sÃ©lectionnez un plugiciel dans la liste et utilisez les boutons <AutoText key="glidict::CDM.Move.Move_Up"/> et <AutoText key="glidict::CDM.Move.Move_Down"/>.</Text>
+</Section>
+<Section name="searchindexes">
+<Title>
+<Text id="134">Index de recherche</Text>
+</Title>
+<Text id="si-1">Les index prÃ©cisent les parties de la collection qui peuvent Ãªtre recherchÃ©es. Cette section explique comment ajouter et supprimer des index et dÃ©finir un index par dÃ©faut. Dans la vue <AutoText key="glidict::GUI.Design"/>, cliquez sur <AutoText key="glidict::CDM.GUI.Indexes"/>.</Text>
+<Text id="si-2">La partie en haut Ã  droite du panneau <AutoText key="glidict::CDM.GUI.Indexes"/> affiche des informations sur le moteur de recherche utilisÃ© par la collection. Ceci peut Ãªtre modifiÃ© en cliquant sur <AutoText key="glidict::CDM.BuildTypeManager.Change"/>. Une fenÃªtre secondaire apparaÃ®t avec la liste d'options : MG, MGPP et Lucene. Modifier ceci affecte la faÃ§on dont les index sont construits, et peut affecter la fonctionnalitÃ© de recherche.</Text>
+<Text id="si-2a">La liste <AutoText key="glidict::CDM.IndexManager.Indexes"/> affiche les index actuellement attribuÃ©s Ã  la collection.</Text>
+<Text id="si-3">Pour ajouter un index, cliquez sur <AutoText key="glidict::CDM.IndexManager.New_Index"/> ... Une fenÃªtre secondaire apparaÃ®t avec une liste de sources qui contient le texte et les mÃ©tadonnÃ©es. SÃ©lectionnez les sources que vous souhaitez indexer. Les  boutons <AutoText key="glidict::CDM.IndexManager.Select_All"/> et <AutoText key="glidict::CDM.IndexManager.Select_None"/> sont utilisÃ©s pour cocher ou dÃ©cocher tous les Ã©lÃ©ments de la liste. Une fois le nouvel index dÃ©fini, cliquez sur <AutoText key="glidict::CDM.IndexManager.Add_Index"/> pour l'ajouter Ã  la collection. <AutoText key="glidict::CDM.IndexManager.Add_Index"/> ne deviendra actif que si les paramÃštres qui dÃ©crivent le nouvel index nâont pas dÃ©jÃ  Ã©tÃ© attribuÃ©s Ã  la collection.</Text>
+<Text id="s1-3a">Pour les index MG, vous devez aussi choisir la granularitÃ© de l'index en utilisant le menu <AutoText key="glidict::CDM.IndexManager.Level"/>.</Text>
+<Text id="si-4">Pour un index MGPP ou Lucene, la granularitÃ© de l'index est dÃ©terminÃ©e globalement, et non par l'index. Les niveaux possibles sont affichÃ©s sur le panneau principal <AutoText key="glidict::CDM.GUI.Indexes"/>, et peuvent Ãªtre ajoutÃ©s Ã  la collection en cochant les cases correspondantes.</Text>
+<Text id="si-5">Un index particulier est disponible sous MGPP et Lucene : un index Â«tous champsÂ», qui donne la possibilitÃ© d'une recherche combinÃ©e sur tous les index spÃ©cifiÃ©s, sans avoir Ã  prÃ©ciser un index autre qui contiendrait tous ces Ã©lÃ©ments. Pour ajouter cet index, cochez la case <AutoText key="glidict::CDM.IndexManager.Allfields_Index"/> et cliquez sur <AutoText key="glidict::CDM.IndexManager.Add_Index"/>.</Text>
+<Text id="si-6">Pour MGPP et Lucene, un bouton <AutoText key="glidict::CDM.IndexManager.Add_All"/> est Ã©galement disponible. Il sâagit d'un raccourci pour ajouter toutes les mÃ©tadonnÃ©es ainsi que le texte intÃ©gral en tant qu'index individuels.</Text>
+<Text id="si-7">Pour modifier un index, sÃ©lectionnez-le et cliquez sur <AutoText key="glidict::CDM.IndexManager.Edit_Index"/>. Une boÃ®te de dialogue similaire Ã  <AutoText key="glidict::CDM.IndexManager.New_Index"/> est affichÃ©e.</Text>
+<Text id="si-8">Pour supprimer un index, sÃ©lectionnez-le dans la liste des Index attribuÃ©s et cliquez sur <AutoText key="glidict::CDM.IndexManager.Remove_Index"/>.</Text>
+<Text id="si-9">L'ordre dans lequel les index sont spÃ©cifiÃ©s dans la liste Â«Index attribuÃ©sÂ» est celui dans lequel ils appararaÃ®tront dans la liste dÃ©roulante de la page de recherche. Utilisez les boutons <AutoText key="glidict::CDM.Move.Move_Up"/> et <AutoText key="glidict::CDM.Move.Move_Down"/> pour modifier cet ordre.</Text>
+<Text id="si-10">Celui qui est sÃ©lectionnÃ© par dÃ©faut sur la page de recherche est appelÃ© Â«index par dÃ©fautÂ». Ceci peut Ãªtre dÃ©fini en sÃ©lectionnant un index de la liste et en cliquant sur Â«DÃ©finir l'index par dÃ©fautÂ». L'index par dÃ©faut est identifiÃ© par "[Index par dÃ©faut]" dans la liste Â«Index attribuÃ©sÂ». Si aucun index n'est dÃ©fini par dÃ©faut, le premier index de la liste sera utilisÃ© par dÃ©faut.</Text>
+<Text id="si-11">Les noms prÃ©sentÃ©s dans la liste dÃ©roulante d'index sur la page de recherche peuvent Ãªtre dÃ©finis dans le panneau <AutoText key="glidict::CDM.GUI.SearchMetadata"/> de la vue <AutoText key="glidict::GUI.Format"/> (voir <Reference target="searchmetadatasettings"/>).</Text>
+<Section name="searchindexoptions">
+<Title>
+<Text id="sio-1">Options d'index de recherche</Text>
+</Title>
+<Text id="sio-2">Des options supplÃ©mentaires contrÃŽlent la construction des index. Celles-ci peuvent ne pas Ãªtre disponibles pour un type d'index spÃ©cifque, alors elles apparaÃ®tront grisÃ©es.</Text>
+<Text id="sio-3">Pour les index MG et MGPP, les options Â«Ignorer terminaisonsÂ» et Â«Ignorer casseÂ» peuvent Ãªtre activÃ©es ou dÃ©sactivÃ©es. Si elles sont activÃ©es, les index permettant d'ignorer les terminaisons ou la casse seront crÃ©Ã©s, et l'utilisateur pourra choisir d'effectuer les recherches avec ou sans l'option concernÃ©e. Si elles sont inactives, les recherches prendront en compte la casse et les terminaisons, et les options de les ignorer ne seront pas affichÃ©es sur la page des prÃ©fÃ©rences de la collection.</Text>
+<Text id="sio-4">Â«Ignorer accentsÂ» est Ã©galement disponible pour un index MGPP. Cela fonctionne d'une maniÃšre similaire Ã  Â«Ignorer casseÂ», mais au lieu de faire correspondre les lettres majuscules et minuscules, les lettres avec accents correspondent Ã  celles sans accents. Pour les index Lucene, les accents sont toujours ignorÃ©s, aucun choix pour activer ou dÃ©sactiver cette option ne sera prÃ©sentÃ©e sur la page des prÃ©fÃ©rences de la collection.</Text>
+<Text id="sio-5">Les textes en chinois, japonais ou corÃ©en sont souvent Ã©crits en caractÃšres continus sans sÃ©paration des mots. Comme l'indexation dÃ©pend des espaces entre les mots dans le texte, l'absence d'espaces rend l'index inexploitable. SÃ©lectionner l'option <AutoText key="glidict::CDM.IndexingManager.Separate_cjk"/> a pour effet d'inserer des espaces entre caractÃšres voisins chinois/japonais/corÃ©ens dans le texte et dans les mots recherchÃ©s, pour qu'une recherche au niveau des caractÃšres soit effectuÃ©e. </Text>
+</Section>
+</Section>
+<Section name="partitionindexes">
+<Title>
+<Text id="143">Index de partition</Text>
+</Title>
+<Text id="144">Les index sont construits Ã  partir de sources de texte ou de mÃ©tadonnÃ©es. Le domaine de recherche peut Ãªtre affinÃ© en partitionnant l'index soit par langue soit par un filtre choisi d'avance. Cette section dÃ©crit la procÃ©dure Ã  suivre pour cela. Dans la vue Â«ParamÃ©trerÂ», cliquez sur Â«Index de partitionÂ». </Text>
+<Text id="145">Le panneau Â«Index de partitionÂ» possÃšde trois onglets : Â«DÃ©finir les FiltresÂ», Â«Attribuer des partitionsÂ» et Â«Attribuer languesÂ». Pour en savoir davantage sur les partitions, lisez les paragraphes sur les sous-collections et les sous-index au chapitre 2 du Guide du DÃ©veloppeur Greenstone.</Text>
+<Text id="146">Pour les collections sous MG, le nombre total de partitions gÃ©nÃ©rÃ©es est une combinaison de tous les index, des filtres de sous-collection et des langues choisies. Deux index avec deux filtres de sous-collection en deux langues donnent huit partitions d'index. Pour MGPP, tous les index sont crÃ©Ã©s dans un seul index physique, de sorte Ã  ce quâil n'y ait que quatre partitions d'index. Pour Lucene, le nombre d'index physiques dÃ©pend du nombre de niveaux assignÃ©s Ã  la collection, donc un index par niveau. Dans le cas ci-dessus, un niveau donnerait donc quatre index physiques, tandis que deux niveaux en donneraient huit.</Text>
+<Section name="definefilters">
+<Title>
+<Text id="147">DÃ©finir les filtres</Text>
+</Title>
+<Text id="148">Les filtres permettent de regrouper en sous-collection tous les documents dans un index pour laquelle une valeur de mÃ©tadonnÃ©e correspond Ã  des critÃšres donnÃ©s.</Text>
+<Text id="149">Pour crÃ©er un filtre, cliquez sur le bouton Â«DÃ©finir les FiltresÂ» et entrez un nom pour le nouveau filtre dans le champ Â«Nom du filtre de sous-collectionÂ». Ensuite choisissez un attribut de document (soit un Ã©lÃ©ment de mÃ©tadonnÃ©es soit le nom du fichier) qui doit correspondre Ã  des critÃšres. Saisissez une expression rÃ©guliÃšre pour dÃ©finir les critÃšres de la correspondance. Vous pouvez choisir d'Â«InclureÂ» les documents qui correspondent aux critÃšres ou de les Â«ExclureÂ». Enfin, on peut spÃ©cifier des drapeaux standard des expressions rÃ©guliÃšres PERL Ã  utiliser pour la correspondance (par exemple Â«iÂ» pour les correspondances ne tenant pas compte de la casse). Pour finir, cliquez sur Â«Ajouter filtreÂ» pour ajouter le filtre Ã  la liste Â«Filtres de sous-collection dÃ©finisÂ». </Text>
+<Text id="150">Pour enlever un filtre, sÃ©lectionnez-le dans la liste et cliquer sur Â«Supprimer filtreÂ».</Text>
+<Text id="151">Pour modifier un filtre, sÃ©lectionnez-le sur la liste, changez au moins une des valeurs apparaissant dans les contrÃŽles de rÃ©vision et cliquez sur Â«Remplacer filtreÂ» pour valider les modifications.</Text>
+<Text id="151a">DÃ©finir les filtres ne crÃ©e pas de sous-collections. Les sous-collections sont spÃ©cifiÃ©es dans <AutoText key="glidict::CDM.SubcollectionManager.Subindex_Controls"/>, sur la base des filtres que vous venez de dÃ©finir.</Text>
+</Section>
+<Section name="assignpartitions">
+<Title>
+<Text id="152">Attribuer des partitions</Text>
+</Title>
+<Text id="153">AprÃšs avoir dÃ©fini des filtres de sous-collection, utilisez l'onglet Â«Attribuer des partitionsÂ» pour construire leurs index. SÃ©lectionnez le filtre (ou les filtres) de votre choix Ã  partir de la liste Â«Construire la partiition sur :Â» et cliquer sur Â«Ajouter partitionÂ». Chaque partition attribuÃ©e crÃ©e une sous-collection qui contient les documents qui correspondent Ã  au moins un des filtres assignÃ©s Ã  cette partition.</Text>
+<Text id="154a">Pour modifier une partition, sÃ©lectionnez-la dans la liste, modifier les filtres, puis cliquez sur <AutoText key="glidict::CDM.SubcollectionIndexManager.Replace_Subindex"/>.</Text>
+<Text id="154">Pour supprimer une partition, sÃ©lectionnez-la dans la liste et cliquer sur Â«Supprimer partitionÂ».</Text>
+<Text id="154b">L'ordre dans lequel les partitions sont spÃ©cifiÃ©es dans la liste de Partitions attribuÃ©es est l'ordre oÃ¹ elles apparaissent dans la liste dÃ©roulante de la page de recherche. Utilisez les boutons <AutoText key="glidict::CDM.Move.Move_Up"/> et <AutoText key="glidict::CDM.Move.Move_Down"/> pour modifier cet ordre.</Text>
+<Text id="155">Pour faire d'une partition celle par dÃ©faut, sÃ©lectionner-la Ã  partir de la liste et cliquer sur <AutoText key="glidict::CDM.SubcollectionIndexManager.Set_Default_Subindex"/>.</Text>
+<Text id="155a">Les noms utilisÃ©s pour la liste dÃ©roulante des partitions sur la page de recherche peuvent Ãªtre dÃ©finis dans le panneau <AutoText key="glidict::CDM.GUI.SearchMetadata"/> de la vue <AutoText key="glidict::GUI.Format"/> (voir <Reference target="searchmetadatasettings"/>).</Text>
+</Section>
+<Section name="assignlanguages">
+<Title>
+<Text id="156">Attribuer langues </Text>
+</Title>
+<Text id="157">Cette section explique comment restreindre les index Ã  des langues particuliÃšres. On le fait en gÃ©nÃ©rant une partition par le biais de l'onglet Â«Attribuer languesÂ» du panneau Â«Index de PartitionÂ».</Text>
+<Text id="157-1">Les partitions de langues utilisent les mÃ©tadonnÃ©es pour dÃ©terminer quels sont les documents Ã©crits dans la langue spÃ©cifiÃ©e qui seront inclus dans la partition. Greenstone gÃ©nÃšre la mÃ©tadonnÃ©e Â«ex.LanguageÂ» pour la plupart des documents et celle-eci est la mÃ©tadonnÃ©Ã© Ã  utiliser par dÃ©faut. Cependant, ce choix peut Ãªtre modifiÃ© en spÃ©cifiant l'Ã©lÃ©ment de mÃ©tadonnÃ©es appropriÃ©.</Text>
+<Text id="158">Pour ajouter une nouvelle partition de langue, sÃ©lectionnez la ou les langue(s) souhaitÃ©e(s) dans la liste Â«Langue Ã  ajouterÂ» et cliquez sur Â«Ajouter partitionÂ».</Text>
+<Text id="158a">Pour modifier une partition existante, sÃ©lectionnez-la dans la liste Â«Partitions de langue attribuÃ©esÂ», modifiez les langues sÃ©lectionnÃ©es dans la liste Â«Langue Ã  ajouterÂ» au-dessous, puis cliquez sur "Remplacer la partition".</Text>
+<Text id="159">Pour supprimer une partition de langue, sÃ©lectionnez-la dans la liste Â«Partitions de langue attribuÃ©esÂ» et cliquez sur Â«Supprimer partitionÂ». </Text>
+<Text id="159a">L'ordre des partitions de langue dans la liste "Partitions de Langue attribuÃ©es" est l'ordre dans lequel oÃ¹ elles apparaissent dans la liste dÃ©roulante de la page de recherche. Utilisez les boutons <AutoText key="glidict::CDM.Move.Move_Up"/> et <AutoText key="glidict::CDM.Move.Move_Down"/> pour modifier cet ordre.</Text>
+<Text id="160">Pour appliquer une langue par dÃ©faut, sÃ©lectionnez-la dans la liste et cliquez sur Â«DÃ©finir dÃ©fautÂ».</Text>
+<Text id="160a">Les noms utilisÃ©s pour la liste dÃ©roulante des partitions de langue sur la page de recherche peuvent Ãªtre dÃ©finis dans la partie <AutoText key="glidict::CDM.GUI.SearchMetadata"/> du panneau <AutoText key="glidict::GUI.Format"/> (voir <Reference target="searchmetadatasettings"/>).</Text>
+</Section>
+</Section>
+<Section name="classifiers">
+<Title>
+<Text id="166">Classificateurs de navigation</Text>
+</Title>
+<Text id="167">Cette section explique comment assigner Ã  une collection des Â«classificateursÂ» qui sont utilisÃ©s pour naviguer. Dans la vue Â«ParamÃ©trerÂ», cliquez sur Â«Classificateurs de navigationÂ».</Text>
+<Text id="168">Pour ajouter un classificateur, sÃ©lectionnez-le en utilisant la liste dÃ©roulante Â«SÃ©lectionner classificateur Ã  ajouterÂ» et cliquez sur Â«Ajouter classificateurÂ». Une fenÃªtre intitulÃ©e Â«Veuiller configurer les argumentsÂ» apparaÃ®t ; les instructions concernant ce dialogue sont les mÃªmes que pour les plugiciels (voir <Reference target="plugins"/>). Une fois le nouveau classificateur configurÃ©, il s'ajoute Ã  la fin de la liste des "Classificateurs attribuÃ©s". </Text>
+<Text id="168a">Pour voir une brÃšve description d'un classificateur, sÃ©lectionnez-le dans la liste dÃ©roulante Â«SÃ©lectionner classificateur Ã  ajouterÂ», puis placez le curseur dessus. Une infobulle affiche alors la description.</Text>
+<Text id="168b">Chaque classificateur a plusieurs arguments qui peuvent Ãªtre configurÃ©s. Les arguments les plus importants sont Â«mÃ©tadonnÃ©esÂ», qui prÃ©cise les mÃ©tadonnÃ©esÃ  partir desquelles les documents seront classÃ©s, et Â«Nom de boutonÂ», qui est le nom qui apparaÃ®tra dans la barre de navigation.</Text>
+<Text id="169">Pour supprimer un classificateur, sÃ©lectionnez-le dans la liste et cliquez sur Â«Supprimer classificateurÂ».</Text>
+<Text id="170">Pour modifier les arguments d'un classificateur, sÃ©lectionnez-le dans la liste et cliquez sur Â«Configurer classificateurÂ» (ou double-clic sur le classificateur dans la liste.) </Text>
+<Text id="171">L'ordre des classificateurs dans la barre de navigation de la collection est le mÃªme que celui de la liste de classificateurs attribuÃ©s. Pour modifier l'ordre, sÃ©lectionnez le classificateur Ã  dÃ©placer et cliquez sur <AutoText key="glidict::CDM.Move.Move_Up"/> ou <AutoText key="glidict::CDM.Move.Move_Down"/>.</Text>
+<Text id="172">Pour plus d'informations sur les classificateurs, lisez le chapitre 2 du Guide du DÃ©veloppeur Greenstone -- Exploitez vos documents au maximum.</Text>
+</Section>
+</Section>
+<Section name="producingthecollection">
+<Title>
+<Text id="193">Pour produire la collection</Text>
+</Title>
+<Text id="194">AprÃšs avoir rassemblÃ© les documents de la collection, les avoir enrichis de mÃ©tadonnÃ©es, et dÃ©fini l'apparence de la collection, vous pouvez crÃ©er la collection en utilisant Greenstone. Cette section vous en explique la maniÃšre.</Text>
+<Section name="thecreateview">
+<Title>
+<Text id="195">La vue Â«CrÃ©erÂ»</Text>
+</Title>
+<Text id="196">La vue Â«CrÃ©erÂ» est utilisÃ©e pour crÃ©er la collection en exÃ©cutant les scripts de Greenstone qui tiennent compte des informations que vous avez fournies. AccÃ©dez Ã  la vue Â«CrÃ©erÂ» en cliquant sur l'onglet Â«CrÃ©erÂ».</Text>
+<Text id="196a">En cliquant sur Â«Construire collectionÂ», on initie le processus de construction. La durÃ©e dÃ©pend de la taille de la collection et du nombre d'index Ã  crÃ©er (pour les grandes collections cela peut prendre des heures). Une barre de progression indique la progression du processus. Pour annuler le processus Ã  tout moment, cliquez sur Â«Annuler la constructionÂ». La partie infÃ©rieure du panneau prÃ©sente des informations sur la progression du processus de construction. La partie supÃ©rieure montre quelques options pour contrÃŽler le processus.</Text>
+<Text id="197">Quand la collection est construite avec succÃšs, cliquer sur Â«PrÃ©visualiser collectionÂ» pour lancer un navigateur web qui affiche la page d'accueil de la collection.</Text>
+</Section>
+<Section name="builderrors">
+<Title>
+<Text id="199a">Erreurs lors de la construction d'une collection</Text>
+</Title>
+<Text id="199b">Parfois, les choses tournent mal pendant la construction. Peut-Ãªtre que certains fichiers n'ont pas pu Ãªtre traitÃ©s : le reste de la collection se construit bien, et peut Ãªtre prÃ©visualisÃ©e, mais certains documents sont absents. Ou la totalitÃ© de la collection n'a pu Ãªtre construite correctement et dans ce cas un message indique <AutoText key="glidict::CollectionManager.Cannot_Create_Collection"/> Lorsque cela se produit, il peut Ãªtre utile de passer la GLI en mode Expert (Fichier -> PrÃ©fÃ©rences -> Mode, voir <Reference target="preferences"/>), de dÃ©finir les options Â«verbosityÂ» pour l'importation et pour la construction au niveau 5, et de reconstruire la collection, pour voir s'il ya des messages d'erreur supplÃ©mentaires.</Text>
+</Section>
+<Section name="expertbuilding">
+<Title>
+<Text id="198a">La vue Â«CrÃ©erÂ» en mode Expert</Text>
+</Title>
+<Text id="198">En mode expert, vous pouvez utiliser l'entrÃ©e Â«Journal de messagesÂ» Ã  gauche pour revoir les tentatives prÃ©cÃ©dentes de construction de la collection, avec ou sans succÃšs. SÃ©lectionnez le journal souhaitÃ© en cliquant sur la date correspondante dans la liste Â«Historique des journauxÂ».</Text>
+<Text id="200a">Dans ce mode, une liste complÃšte d'options d'importation et de construction sont indiquÃ©es dans les onglets Â«Options d'importationÂ» et Â«Options de constructionÂ» Ã  gauche. Les diffÃ©rents paramÃštres sont contrÃŽlÃ©s, tout comme dans la fenÃªtre Â«Veuiller configurer les argumentsÂ» dÃ©crite dans la section <Reference target="plugins"/>. Certains champs requiÃšrent des arguments numÃ©riques, vous pouvez les taper ou utiliser les flÃšches pour augmenter ou diminuer la valeur actuelle (dans certains cas, l'interface limite la gamme Ã  laquelle vous pouvez accÃ©der). D'autres sont activÃ©s en cliquant sur une case Ã  cocher (cliquez de nouveau pour dÃ©sactiver).</Text>
+<Text id="201a">Pour plus d'informations sur l'importation et la construction lire le chapitre 1 du Guide du dÃ©veloppeur Greenstone -- Comprendre le processus de construction d'une collection.</Text>
+</Section>
+<Section name="scheduledbuilding">
+<Title>
+<Text id="sched-1">La programmation de la construction des collections</Text>
+</Title>
+<Text id="sched-2">La programmation de la construction des collections est possible en mode Expert. Un paramÃ©trage est nÃ©cessaire pour ce faire ; voir  http://wiki.greenstone.org/wiki/index.php/Scheduled_Collection_Building_from_the_Librarian_Interface. L'onglet <AutoText key="glidict::CreatePane.Schedule"/> sur le cÃŽtÃ© gauche de la vue CrÃ©er prÃ©sente une liste d'options qui contrÃŽlent le processus de programmation. L'option "programmer" doit Ãªtre sÃ©lectionnÃ©e pour entreprendre la programmation. Les autres options concernent : la frÃ©quence de construction ; le choix d'ajouter une nouvelle programmation, de mettre Ã  jour une programmation existante, ou de supprimer la programmation existante ; et les dÃ©tails d'adresse email si des messages de confirmation par courrier Ã©lectronique sont souhaitÃ©s.</Text>
+</Section>
+</Section>
+<Section name="formattingacollection">
+<Title>
+<Text id="fc-1">Personnalisation de l'apparence de la collection</Text>
+</Title>
+<Text id="fc-2">Une fois que vous avez construit la collection, vous devez dÃ©cider de la maniÃšre dont elle doit apparaÃ®tre Ã  l'utilisateur. Quels noms doivent Ãªtre utilisÃ©s pour la liste dÃ©roulante de l'index dans le formulaire de recherche? Comment les rÃ©sultats de recherche doivent Ãªtre affichÃ©s? Quelles mÃ©tadonnÃ©es doivent Ãªtre affichÃ©es lorsqu'un document est visualisÃ©? Tout cela peut Ãªtre personnalisÃ© ; cette section explique comment le faire.</Text>
+<Section name="theformatview">
+<Title>
+<Text id="fc-3">La vue Â«FormaterÂ»</Text>
+</Title>
+<Text id="fc-4">Cette section prÃ©sente la vue Â«FormaterÂ».</Text>
+<Text id="fc-5">Avec l'Interface BibliothÃ©caire vous pouvez configurer la prÃ©sentation de la collection pour l'utilisateur. Les options de configuration sont divisÃ©es en plusieurs sections, chacune associÃ©e Ã  un type de personnalisation.</Text>
+<Text id="fc-6">Sur la gauche se trouve une liste de paramÃštres et sur la droite les commandes associÃ©es Ã  chacun. Pour activer et modifier un paramÃštre, cliquez dans la case Ã  cÃŽtÃ© de son nom dans la liste.</Text>
+<Text id="fc-7">Sous la liste de paramÃštres il y a un bouton Â«PrÃ©visualiser collectionÂ». Les changements apportÃ©s Ã  la vue Â«FormaterÂ» ne nÃ©cessitent pas une reconstruction de la collection, de sorte qu'ils peuvent Ãªtre prÃ©visualisÃ©s immÃ©diatement. Toutefois, la collection doit avoir Ã©tÃ© construite au moins une fois afin de permettre la prÃ©visualisation.</Text>
+</Section>
+<Section name="generalsettings">
+<Title>
+<Text id="117">GÃ©nÃ©ral</Text>
+</Title>
+<Text id="118">Cette section explique comment passer en revue et modifier les rÃ©glages gÃ©neraux associÃ©s Ã  la collection. Dans la vue "ParamÃ©trer" cliquez sur "General".</Text>
+<Text id="119">Ici quelques mÃ©tadonnÃ©es qui concernent la collection dans son ensemble peuvent Ãªtre saisies ou modifiÃ©es, y compris le titre et la description qui sont demandÃ©s lors de la crÃ©ation de la collection.</Text>
+<Text id="120">On demande tout d'abord les contacts e-mail du crÃ©ateur de la collection et de celui qui en assure la maintenance. Le champ suivant permet de modifier le titre de la collection. Le dossier dans lequel est enregistrÃ© la collection est affichÃ© ensuite, mais ne peut Ãªtre modifiÃ©. Le champ suivant spÃ©cifie (sous forme d'URL) l'icÃŽne de l'extrÃ©mitÃ© supÃ©rieure gauche de la page Â«A proposÂ» de la collection et celui juste aprÃšs spÃ©cifie l'icÃŽne utilisÃ©e pour accÃ©der Ã  la collection Ã  partir de la page d'accueil de la bibliothÃ©que Greenstone. Puis, une case permet de contrÃŽler si la collection est accessible au public. Enfin, il y a la zone texte de la Â«Description de la collectionÂ» comme dÃ©crit dans <Reference target="creatingacollection"/>.</Text>
+</Section>
+<Section name="searchmetadatasettings">
+<Title>
+<Text id="fc-s1">Recherches</Text>
+</Title>
+<Text id="fc-s2">Cette section explique comment configurer l'affichage du texte dans les listes dÃ©roulantes de la page de recherche. Dans la vue Â«FormaterÂ», cliquez sur Â«RecherchesÂ».</Text>
+<Text id="fc-s3">Ce panneau contient un tableau Ã©numÃ©rant chaque index de recherche, niveau d'indexation et partition. Ici, vous pouvez saisir les textes qui seront utilisÃ©s comme noms des Ã©lÃ©ments qui apparaÃ®tront dans les listes dÃ©roulantes de la page de recherche. Ce panneau vous permet de dÃ©finir le texte pour une seule langue, celle utilisÃ©e pour l'interface de GLI. Pour traduire ces noms dans d'autres langues, utilisez le panneau Â«Traduire TexteÂ» de la vue Â«FormaterÂ» (voir <Reference target="translatetext"/>).</Text>
+</Section>
+<Section name="formatstatements">
+<Title>
+<Text id="173">CaractÃ©ristiques de format</Text>
+</Title>
+<Text id="174">Les pages web que vous voyez en utilisant Greenstone ne sont pas prÃ©-stockÃ©s mais sont gÃ©nÃ©rÃ©es Â«Ã  la volÃ©eÂ» au fur et Ã  mesure qu'on en fait appel. Les commandes de format sont utilisÃ©es pour modifier l'apparence de ces pages gÃ©nÃ©rÃ©es. Elles dÃ©terminent le lieu d'apparition des boutons lorsqu'un document est visualisÃ©, ainsi que les liens qui sont affichÃ©s par le classificateur DateList. Les commandes de format ne sont pas faciles Ã  manier, et la lecture du chapitre 2 du Guide du DÃ©veloppeur Greenstone est recommandÃ©e. Cette section concerne les paramÃštres du formatage, et indique comment l'Interface BibliothÃ©caire en fournit l'accÃšs. Dans la vue Â«FormaterÂ», cliquez sur Â«CaractÃ©ristiques de formatÂ».</Text>
+<Text id="175">On peut appliquer une commande de format Ã  n'importe quoi dans la liste dÃ©roulante Â«Choisir caractÃ©ristiqueÂ» qui comprend tous les classificateurs de mÃªme qu'une liste prÃ©dÃ©finie de caractÃ©ristiques. Deux types de contrÃŽles existent lorsqu'on sÃ©lectionne une caractÃ©ristique: Certaines caractÃ©ristiques sont simplement activÃ©es ou dÃ©sactivÃ©es, et le contrÃŽle se fait grÃ¢ce Ã  des cases Ã  cocher. D'autres requiÃšrent une chaÃ®ne de format.Il existe alors une liste dÃ©roulante (Â«Composante affectÃ©eÂ») pour la sÃ©lection des parties de la caractÃ©ristique Ã  laquelle s'applique la chaÃ®ne (si nÃ©cessaire), une zone de texte (Â«ChaÃ®ne au format HTMLÂ») oÃ¹ l'on saisit la chaÃ®ne, et une sÃ©lection de Â«VariablesÂ» prÃ©dÃ©finies. Pour insÃ©rer une variable dans une chaÃ®ne de format, positionnez le curseur Ã  l'endroit ou vous voulez l'insÃ©rer, puis sÃ©lectionnez la variable dÃ©sirÃ©e dans la liste <AutoText key="glidict::CDM.FormatManager.Insert_Variable"/>.</Text>
+<Text id="176">Vous pouvez spÃ©cifier un format par dÃ©faut pour une composante donnÃ©e en sÃ©lectionnant Â«Toutes les caractÃ©ristiquesÂ». Ce format est alors appliquÃ© Ã  toutes les caractÃ©ristiques applicables sauf si un autre format a Ã©tÃ© dÃ©fini au prÃ©alable.</Text>
+<Text id="177">Pour ajouter une nouvelle commande de format, sÃ©lectionnez la caractÃ©ristique et composante appropriÃ©es. La valeur par dÃ©faut pour cette commande s'affiche en gris. Cliquez sur <AutoText key="glidict::CDM.FormatManager.Add"/> pour l'attribuer Ã  la collection. La Â«ChaÃ®ne au format HTMLÂ» peut alors Ãªtre modifiÃ©e. Une seule commande de format peut Ãªtre attribuÃ©e pour chaque combinaison caractÃ©ristique/composante.</Text>
+<Text id="178">Pour enlever une commande de format, sÃ©lectionnez-la dans la liste et cliquez sur Â«Supprimer formatÂ».</Text>
+<Text id="180">Pour de plus amples informations sur les variables et les composantes de caractÃ©ristiques, lisez le chapitre 2 du Guide du DÃ©veloppeur de Greenstone. </Text>
+</Section>
+<Section name="translatetext">
+<Title>
+<Text id="182">Traduire texte</Text>
+</Title>
+<Text id="183">Cette section dÃ©crit le panneau de traduction, dans lequel on peut traduire des fragments de texte en d'autres langues pour une partie de l'interface de la collection. Dans la vue Â«FormaterÂ», cliquez sur Â«Traduire texteÂ».</Text>
+<Text id="184">Choisissez d'abord une entrÃ©e dans la liste Â«CaractÃ©ristiquesÂ». Les chaÃ®nes spÃ©cifiques Ã  une langue associÃ©e Ã  la caractÃ©ristique apparaissent en bas. Utilisez la liste dÃ©roulante de Â«Langue de traductionÂ» pour sÃ©lectionner la langue cible, et saisissez le texte traduit dans la zone de texte, en vous rÃ©fÃ©rant au Â«Fragment de texte initialÂ» si nÃ©cessaire. Cliquez sur Â«Ajouter traductionÂ» Ã  la fin de l'opÃ©ration. </Text>
+<Text id="185">Pour supprimer une traduction existante, sÃ©lectionnez-la Ã  partir du tableau Â«Traductions attribuÃ©esÂ» et cliquez sur Â«Supprimer traductionÂ». </Text>
+<Text id="186">Pour modifier une traduction, sÃ©lectionnez-la et modifiez-la dans la zone de texte Â«Texte traduitÂ», et cliquez sur Â«Remplacer traductionÂ». </Text>
+</Section>
+<Section name="xcollectionsearching">
+<Title>
+<Text id="161">Recherches Ã  travers des collections</Text>
+</Title>
+<Text id="162">Greenstone peut rechercher dans plusieurs collections comme si elles n'en constituaient qu'une seule. Ceci est fait en spÃ©cifiant une liste d'autres collections dans lesquelles une recherche est effectuÃ©e en mÃªme temps que dans la collection courante. Dans la vue Â«FormaterÂ», cliquez sur Â«Recherches Ã  travers collectionsÂ».</Text>
+<Text id="163">Le panneau Â«Recherches Ã  travers collectionsÂ» montre une liste de collections disponibles. La collection courante est cochÃ©e et ne peut Ãªtre dÃ©-sÃ©lectionnÃ©e. Pour ajouter une autre collection dans laquelle on pourra rechercher parallÃšlement, cliquez sur une collection dans la liste (cliquez une deuxiÃšme fois pour l'enlever). Lorsqu'une seule collection est sÃ©lectionnÃ©e, aucune recherche Ã  travers les collections n'est possible.</Text>
+<Text id="164">Si les collections individuelles n'ont pas toutes les mÃªmes index (y compris les partitions de sous-collection et les partitions de langue), la recherche Ã  travers les collections ne pourra pas fonctionner correctement. L'utilisateur ne pourra alors qu'effectuer des recherches en utilisant les index communs Ã  toutes les collections.</Text>
+<Text id="165">Pour plus de dÃ©tails, voir le Chapitre 1 du Guide du DÃ©veloppeur Greenstone.</Text>
+</Section>
+<Section name="collectionspecificmacros">
+<Title>
+<Text id="fc-m1">Macros spÃ©cifiques Ã  la collection</Text>
+</Title>
+<Text id="fc-m2">Dans la vue "Formater", cliquez sur "Macros spÃ©cifiques Ã  la collection".</Text>
+<Text id="fc-m3">Ce panneau montre le contenu du fichier extra.dm de la collection. C'est lÃ  oÃ¹ peuvent Ãªtre dÃ©finies des macros spÃ©cifiques Ã  la collection. Pour en savoir plus sur les macros, voir le chapitre 3 du Guide du DÃ©veloppeur Greenstone.</Text>
+</Section>
+<Section name="depositormetadatasettings">
+<Title>
+<Text id="dm-1">MÃ©tadonnÃ©es du DÃ©posant</Text>
+</Title>
+<Text id="dm-2">Le DÃ©posant de Greenstone permet d'ajouter de nouveaux documents Ã  une collection existante par l'intÃ©rmÃ©diare d'une interface web. Cette section dÃ©crit le panneau MÃ©tadonnÃ©es du DÃ©posant, dans lequel vous pouvez prÃ©ciser les Ã©lÃ©ments de mÃ©tadonnÃ©es Ã  utiliser pour dÃ©crire les nouveaux documents Ã  ajouter via le DÃ©posant. Tout jeu de mÃ©tadonnÃ©es qui est associÃ© Ã  la collection active sera disponible pour sÃ©lection. S'il n'y aucun jeu de mÃ©tadonnÃ©es autre que le Â«Greenstone Extracted Metadata SetÂ» associÃ© Ã  la collection, le Â«ElÃ©ments de mÃ©tadonnÃ©es du Dublin CoreÂ» est utilisÃ© par dÃ©faut. Pour en savoir plus sur le DÃ©posant, voir l'exercice tutoriel en ligne Ã  adresse http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/depositor.htm. Dans la vue Format, cliquez sur Â«MÃ©tadonnÃ©es du DÃ©posantÂ».</Text>
+<Text id="dm-3">Le panneau MÃ©tadonnÃ©es du DÃ©posant affiche une liste d'Ã©lÃ©ments de mÃ©tadonnÃ©es disponsibles. S'il y a plus d'un jeu de mÃ©tadonnÃ©es associÃ© Ã  la collection, des jeux voisins sont affichÃ©s en couleurs diffÃ©rentes. Si vous placez la souris sur un Ã©lÃ©ment de mÃ©tadonnÃ©es, une infobulle contenant sa description s'affichera.</Text>
+<Text id="dm-4">Cochez ceux que vous voulez utiliser pour dÃ©crire les nouveaux documents Ã  dÃ©poser via le DÃ©posant. Une liste dÃ©roulante avec deux options appaÃ®tra Ã  cÃŽtÃ© de chaque Ã©lÃ©ment cochÃ©. Ceci permet de prÃ©ciser le type de zone d'entrÃ©e Ã  afficher dans l'interface web. Â«textÂ» signifie qu'un cadre acceptant une seule ligne de texte sera affichÃ©, tandis que Â«textareaÂ» signifie qu'un cadre multiligne sera affichÃ©. Selectionnez le type de zone appropriÃ© Ã  chaque champ.</Text>
+<Text id="dm-5">Un Ã©lÃ©ment au moins de mÃ©tadonnÃ©es doit Ãªtre sÃ©lectionnÃ©. S'il n'y a qu'un Ã©lÃ©ment sÃ©lectionnÃ©, le dÃ©cocher dÃ©clenchera un message d'avertissement : <AutoText key="glidict::CDM.DepositorMetadataManager.Warning"/></Text>
+</Section>
+</Section>
+<Section name="miscellaneous">
+<Title>
+<Text id="202">Divers</Text>
+</Title>
+<Text id="203">Cette section dÃ©crit les caractÃ©ristiques de l'Interface BibliothÃ©caire qui ne sont pas associÃ©es Ã  une vue particuliÃšre.</Text>
+<Section name="preferences">
+<Title>
+<Text id="204">PrÃ©fÃ©rences</Text>
+</Title>
+<Text id="205">Cette section explique le panneau des prÃ©fÃ©rences, auquel on accÃšde en ouvrant Â«FichierÂ» -> Â«PrÃ©fÃ©rencesÂ». </Text>
+<Text id="206">Le panneau des prÃ©fÃ©rences s'ouvre en affichant l'onglet Â«GÃ©nÃ©ralÂ». La premiÃšre option est un champ texte pour saisir votre adresse e-mail. Ceci sera utilisÃ© pour les Ã©lÃ©ments de mÃ©tadonnÃ©es Â«crÃ©ateurÂ» et Â«responsable maintenanceÂ» de la nouvelle collection. L'option suivante est une liste dÃ©roulante des langues dans lesquelles l'interface bibiothÃ©caire peut Ãªtre affichÃ©e. Si on change la langue par le choix d'une autre dans la liste, l'Interface BibliothÃ©caire redÃ©marrera pour charger la nouvelle langue. Un champ texte pour spÃ©cifier la police est aussi prÃ©sentÃ© : un bon choix pour afficher du texte en Unicode est "Arial Unicode MS, BOLD, 14".</Text>
+<Text id="207">Si on coche Â«Visualiser les mÃ©tadonnÃ©es extraitesÂ», les diffÃ©rents contrÃŽles relatifs aux mÃ©tadonnÃ©es affichent toujours toutes les mÃ©tadonnÃ©es qui ont Ã©tÃ© extraites automatiquement des documents. Lorsqu'on le dÃ©sÃ©lectionne, ces mÃ©tadonnÃ©es sont cachÃ©es (bien qu'elles restent disponibles pendant la constitution de la collection, et dans la collection Greenstone finale). Si on coche Â«Montrer les tailles des fichiersÂ», la taille du fichier apparaÃ®t Ã  cÃŽtÃ© de chaque fichier dans l'Espace de travail et dans les Arborescences de fichiers des collections dans les vues Rassembler et Enrichir.</Text>
+<Text id="208">Le onglet Â«ModeÂ» est utilisÃ© pour contrÃŽler le niveau du dÃ©tail dans l'interface. Dans sa configuration la plus Ã©lÃ©mentaire, Â«Assistant BibliothÃ©caireÂ», les vues Â«ParamÃ©trerÂ» et Â«Formater" sont dÃ©sactivÃ©es. L'utilisateur peut ajouter/enlever des documents, ajouter/modifier des mÃ©tadonnÃ©es, et reconstruire la collection. La vue Â«CrÃ©erÂ» est prÃ©sentÃ©e en forme simple. Le mode suivant, Â«BibliothÃ©caire"Â», donne accÃšs Ã  toutes les fonctions de paramÃ©trage et de formatage, mais avec la forme simple de la vue Â«CrÃ©erÂ». Le mode le plus avancÃ©, Â«ExpertÂ», donne l'accÃšs Ã  la vue Â«CrÃ©erÂ» entiÃšre, et permet l'enregistrement dans les historiques de l'intÃ©gralitÃ© des messages gÃ©nÃ©rÃ©s lors de la construction de la collection. Pour sÃ©lectionner ou voir le descriptif d'un mode, cliquez sur le bouton radio situÃ© Ã  cÃŽtÃ© du mode qui vous intÃ©resse. Vous pouvez contrÃŽler rapidement le mode dans lequel vous vous trouvez en regardant la barre de titre de l'Interface BibliothÃ©caire.</Text>
+<Text id="210">L'onglet Â«ConnexionÂ» permet de modifier le chemin vers le serveur de bibliothÃšque local basÃ© sur Greenstone et utilisÃ© dans l'aperÃ§u des collections. Vous pouvez aussi prÃ©ciser le proxy de connexion Internet (c.a.d. pour tÃ©lÃ©charger les fichiers; voir la section <Reference target="downloadingfiles"/> pour les details). Cochez la case pour une connexion proxy et donnez l'adresse du proxy et son numÃ©ro de port. La connexion proxy sera Ã©tablie aprÃšs fermeture du panneau des prÃ©fÃ©rences.</Text>
+<Text id="211">En cours de session, l'Interface BibliothÃ©caire peut dÃ©livrer des messages d'avertissement qui donnent des informations sur des consÃ©quences Ã©ventuellement imprÃ©vues d'une action. On peut dÃ©sactiver ces messages en cochant la case Â«Ne pas afficher cet avertissement de nouveauÂ». On peut rÃ©activer les messages d'avertissement en utilisant l'onglet Â«AvertissementsÂ». Cochez les cases situÃ©es Ã  cÃŽtÃ© des messages d'avertissement que vous souhaitez voir de nouveau. </Text>
+</Section>
+<Section name="fileassociations">
+<Title>
+<Text id="212">Associations de fichiers</Text>
+</Title>
+<Text id="213">L'Interface BibliothÃ©caire utilise des programmes d'application spÃ©cifiques pour ouvrir des types de fichiers particuliers. Pour modifier des associations ouvrez le menu Â«FichierÂ» et cliquez sur Â«Association de fichiersÂ». </Text>
+<Text id="214">Pour ajouter une association, sÃ©lectionnez l'extension de fichier cible dans la liste dÃ©roulante, ou tapez une nouvelle extension (sans le Â«.Â»). Ensuite soit tapez la commande qui lance l'application voulue dans le champ appropriÃ©, soit choisissez l'application aprÃšs avoir cliquÃ© sur le bouton Â«ParcourirÂ». "%1" peut Ãªtre utilisÃ© dans la commande de lancement pour insÃ©rer le nom du fichier qui s'ouvre. Une fois cela fait, Â«AjouterÂ» est activÃ©. Cliquez dessus pour ajouter l'association.</Text>
+<Text id="215">Pour modifier une association, sÃ©lectionnez une extension de fichier existante. Toute commande existante associÃ©e est affichÃ©e dans le champ Â«Commande de lancementÂ». Corrigez-la, et puis cliquez sur Â«RemplacerÂ».</Text>
+<Text id="216">Pour enlever une association, sÃ©lectionnez une extension de fichier existante et cliquez sur Â«SupprimerÂ».</Text>
+<Text id="217">Les associations de fichiers sont stockÃ©es dans le dossier principal du rÃ©pertoire de l'Interface BibliothÃ©caire, dans un fichier appelÃ© Â«associations.xmlÂ».</Text>
+</Section>
+<Section name="exporting">
+<Title>
+<Text id="exp-1">Exportation de collections Ã  d'autres formats </Text>
+</Title>
+<Text id="exp-2">Greenstone peut exporter le contenu et/ou les mÃ©tadonnÃ©es d'une collection en plusieurs formats standards, y compris METS, DSpace et MARCXML.</Text>
+<Text id="exp-3">Pour exporter une collection, ouvrez le menu "Fichier" et choisissez "Exporter...". Vous pouvez choisir le format d'exportation en le sÃ©lectionnant dans la liste dÃ©roulante "Exporter vers". SpÃ©cifiez un nom pour le rÃ©pertoire dans lequel vous voulez placer les fichiers exportÃ©s, les fichiers finissent dans &lt;chemin Ã  greenstone&gt; / tmp / exported_xxx, oÃ¹ xxx est le nom que vous avez spÃ©cifiÃ©. SÃ©lectionnez une collection dans la liste des collections disponibles, puis cliquez sur "Exporter la collection".</Text>
+<Text id="exp-4">Il existe d'autres options spÃ©cifiques aux diffÃ©rents formats. Dans le but de personnaliser le format de sortie, vous pouvez spÃ©cifier les fichiers XSLT qui seront appliquÃ©s au(x) document(s) XML rÃ©sultant(s). L'exportation en MARCXML utilise un fichier de correspondance (Â«mappingÂ») pour faire correspondre les mÃ©tadonnÃ©es Greenstone aux champs MARC. Le fichier de correspondance par dÃ©faut traite uniquement les mÃ©tadonnÃ©es Dublin Core. Vous pouvez spÃ©cifier un fichier de correspondance personnalisÃ© pour Ãªtre utilisÃ© Ã  la place.</Text>
+</Section>
+<Section name="exportingcollections">
+<Title>
+<Text id="218">Exportation de collections vers CD/DVD</Text>
+</Title>
+<Text id="219">Greenstone peut exporter une ou plusieurs collections vers un CD/DVD auto-installant pour Windows.</Text>
+<Text id="220">Pour exporter une collection, ouvrez le menu Â«FichierÂ» et choisissez Â«Exporter la Collection vers CD-ROMÂ». Une liste de collections Greenstone apparaÃ®t ; cliquez sur lâune dâelles pour obtenir une description. Cochez la case des collections Ã  exporter. Vous pouvez entrer le nom du CD/DVD dans zone "nom du CD-ROM" : c'est ce qui va apparaÃ®tre dans le Menu dÃ©marrage lorsque le CD/DVD aura Ã©tÃ© installÃ©. Vous pouvez choisir de produire un CD-ROM ou DVD qui s'exÃ©cute directement Ã  partir de l'unitÃ© de lecture, ou bien qui installe quelques fichiers sur l'ordinateur. Puis cliquez sur Â«ExporterÂ». Ce processus implique la copie de nombreux fichiers et peut durer quelques minutes.</Text>
+<Text id="221">A la fin de l'opÃ©ration, Greenstone va afficher le nom d'un dossier contenant les collections exportÃ©es. Utilisez un graveur de CD/DVD pour copier le contenu dans un CD/DVD vierge.</Text>
+</Section>
+</Section>
+</Document>
Index: main/tags/2.83/gli/help/fr/help_index.xml
===================================================================
--- main/tags/2.83/gli/help/fr/help_index.xml	(revision 21123)
+++ main/tags/2.83/gli/help/fr/help_index.xml	(revision 21123)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Document><Section name="introduction"><Title>Introduction</Title><Section name="ofmiceandmenus"><Title>A propos de la souris et des menus</Title></Section><Section name="howtoavoidthisdocument"><Title>Comment Ã©viter de lire ce document</Title></Section></Section><Section name="startingoff"><Title>DÃ©marrage</Title><Section name="creatingacollection"><Title>CrÃ©er une nouvelle collection</Title></Section><Section name="savingacollection"><Title>Sauvegarder la collection</Title></Section><Section name="openingacollection"><Title>Ouvrir une collection existante</Title></Section><Section name="deletingcollections"><Title>Suppression des collections</Title></Section></Section><Section name="downloadingfiles"><Title>TÃ©lÃ©chargement de fichiers d'Internet</Title><Section name="themirrorview"><Title>La vue Â«TÃ©lÃ©chargementÂ»</Title></Section></Section><Section name="collectingfiles"><Title>Collecter les fichiers pour votre collection</Title><Section name="thegatherview"><Title>La vue Â«RassemblerÂ»</Title></Section><Section name="creatingshortcuts"><Title>CrÃ©ation d'un raccourci dans l'arbre de travail</Title></Section><Section name="creatingfolders"><Title>CrÃ©er des dossiers</Title></Section><Section name="addingfiles"><Title>Ajouter des fichiers</Title></Section><Section name="replacingfiles"><Title>Renommage et remplacement des fichiers</Title></Section><Section name="removingfiles"><Title>Supprimer des Fichiers</Title></Section><Section name="explodingfiles"><Title>Â«EclaterÂ» les fichiers de mÃ©tadonnÃ©es  </Title></Section><Section name="filteringthetree"><Title>Filtrer les arborescences</Title></Section></Section><Section name="enrichingacollection"><Title>Enrichir la collection avec des mÃ©tadonnÃ©es</Title><Section name="theenrichview"><Title>La vue Â«EnrichirÂ»</Title></Section><Section name="selectingmetadatasets"><Title>SÃ©lectionner les jeux de mÃ©tadonnÃ©es</Title></Section><Section name="appendingmetadata"><Title>Ajouter de nouvelles mÃ©tadonnÃ©es</Title></Section><Section name="addingpreviouslydefinedmetadata"><Title>Ajouter des mÃ©tadonnÃ©es prÃ©dÃ©finies</Title></Section><Section name="updatingmetadata"><Title>Modifier ou Ã©liminer les mÃ©tadonnÃ©es</Title></Section><Section name="reviewingmetadata"><Title>Passer en revue les mÃ©tadonnÃ©es attribuÃ©es</Title></Section><Section name="importingpreviouslyassignedmetadata"><Title>Importer des mÃ©tadonnÃ©es prÃ©-attribuÃ©es</Title></Section></Section><Section name="designingacollection"><Title>ParamÃ©trage de la collection</Title><Section name="thedesignview"><Title>La vue Â«ParamÃ©trerÂ»</Title></Section><Section name="plugins"><Title>Plugiciels de document</Title></Section><Section name="searchindexes"><Title>Index de recherche</Title><Section name="searchindexoptions"><Title>Options d'index de recherche</Title></Section></Section><Section name="partitionindexes"><Title>Index de partition</Title><Section name="definefilters"><Title>DÃ©finir les filtres</Title></Section><Section name="assignpartitions"><Title>Attribuer des partitions</Title></Section><Section name="assignlanguages"><Title>Attribuer langues </Title></Section></Section><Section name="classifiers"><Title>Classificateurs de navigation</Title></Section></Section><Section name="producingthecollection"><Title>Pour produire la collection</Title><Section name="thecreateview"><Title>La vue Â«CrÃ©erÂ»</Title></Section><Section name="builderrors"><Title>Erreurs lors de la construction d'une collection</Title></Section><Section name="expertbuilding"><Title>La vue Â«CrÃ©erÂ» en mode Expert</Title></Section><Section name="scheduledbuilding"><Title>La programmation de la construction des collections</Title></Section></Section><Section name="formattingacollection"><Title>Personnalisation de l'apparence de la collection</Title><Section name="theformatview"><Title>La vue Â«FormaterÂ»</Title></Section><Section name="generalsettings"><Title>GÃ©nÃ©ral</Title></Section><Section name="searchmetadatasettings"><Title>Recherches</Title></Section><Section name="formatstatements"><Title>CaractÃ©ristiques de format</Title></Section><Section name="translatetext"><Title>Traduire texte</Title></Section><Section name="xcollectionsearching"><Title>Recherches Ã  travers des collections</Title></Section><Section name="collectionspecificmacros"><Title>Macros spÃ©cifiques Ã  la collection</Title></Section><Section name="depositormetadatasettings"><Title>MÃ©tadonnÃ©es du DÃ©posant</Title></Section></Section><Section name="miscellaneous"><Title>Divers</Title><Section name="preferences"><Title>PrÃ©fÃ©rences</Title></Section><Section name="fileassociations"><Title>Associations de fichiers</Title></Section><Section name="exporting"><Title>Exportation de collections Ã  d'autres formats </Title></Section><Section name="exportingcollections"><Title>Exportation de collections vers CD/DVD</Title></Section></Section></Document>
Index: main/tags/2.83/gli/help/fr/howtoavoidthisdocument.htm
===================================================================
--- main/tags/2.83/gli/help/fr/howtoavoidthisdocument.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/howtoavoidthisdocument.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="howtoavoidthisdocument"><font size="5" face="Verdana"><strong>1.2: Comment &eacute;viter de lire ce document</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ne lisez pas le texte d'aide en entier ! Lisez uniquement ce qui vous est n&eacute;cessaire pour obtenir l'aide dont vous avez besoin.</p>
+
+<p>L'&eacute;l&eacute;ment de menu &laquo;Aide&raquo; pr&eacute;sente la rubrique d'aide la plus appropri&eacute;e par une ic&ocirc;ne sous forme de petit livre.</p>
+
+<p>La plupart du temps, quand on positionne le curseur de la souris sur un widget, une infobulle appara&icirc;t, expliquant ce &agrave; quoi sert ce widget.</p>
+
+<p>Avant d'utiliser l'Interface Biblioth&eacute;caire, il est recommand&eacute; de lire la documentation Greenstone.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/importingpreviouslyassignedmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/fr/importingpreviouslyassignedmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/importingpreviouslyassignedmetadata.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="importingpreviouslyassignedmetadata"><font size="5" face="Verdana"><strong>5.7: Importer des m&eacute;tadonn&eacute;es pr&eacute;-attribu&eacute;es</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Cette section explique comment importer des m&eacute;tadonn&eacute;es attribu&eacute;es pr&eacute;c&eacute;demment (c'est-&agrave;-dire des m&eacute;tadonn&eacute;es attribu&eacute;es avant d'ajouter des documents &agrave; la collection). </p>
+
+<p>Si la m&eacute;tadonn&eacute;e pr&eacute;alablement attribu&eacute;e &agrave; un fichier est dans un format reconnu par l'Interface Biblioth&eacute;caire -- par exemple, quand on choisit des documents dans une collection Greenstone existante -- elle est import&eacute;e automatiquement quand on ajoute le fichier. Pour ce faire, la m&eacute;tadonn&eacute;e doit &ecirc;tre ajust&eacute;e aux jeux de m&eacute;tadonn&eacute;es disponibles dans la collection.</p>
+
+<p>L'Interface Biblioth&eacute;caire invite &agrave; fournir les informations n&eacute;cessaires. L'invite donne de br&egrave;ves instructions puis affiche le nom de l'&eacute;l&eacute;ment de m&eacute;tadonn&eacute;es en cours d'importation tel qu&rsquo;il appara&icirc;t dans le fichier source. Ce champ ne peut &ecirc;tre ni modifi&eacute; ni remplac&eacute;. Puis on choisit le jeu de m&eacute;tadonn&eacute;es sur lequel le nouveau &eacute;l&eacute;ment doit &ecirc;tre calqu&eacute; et enfin l'&eacute;l&eacute;ment de m&eacute;tadonn&eacute;es appropri&eacute;. Le syt&egrave;me propose automatiquement le meilleur ajustement, en terme de jeu et d'&eacute;l&eacute;ment pour la nouvelle m&eacute;tadonn&eacute;e.</p>
+
+<p>Apr&egrave;s cela, on peut choisir &laquo;Ajouter&raquo; pour ajouter le nouvel &eacute;l&eacute;ment de m&eacute;ta-donn&eacute;es au jeu de m&eacute;tadonn&eacute;es choisi. (Ceci n'est possible que si aucun &eacute;lement de m&ecirc;me nom n'est pr&eacute;sent &agrave; l'interieur du jeu choisi.) &laquo;Fusionner&raquo; applique le nouvel &eacute;lement &agrave; celui choisi par l'utilisateur. Enfin, &laquo;Ignorer&raquo; n'importe aucune m&eacute;ta-donn&eacute;e avec ce nom d'&eacute;lement. Une fois pr&eacute;cis&eacute;e la mani&egrave;re d'importer un certain &eacute;l&eacute;ment de m&eacute;tadonn&eacute;es, cette information est retenue pour la dur&eacute;e de vie de la collection.</p>
+
+<p>Pour des d&eacute;tails concenant les fichiers m&eacute;tadonn&eacute;e.xml que Greenstone utilise pour sauvegarder les m&eacute;tadonn&eacute;es, r&eacute;f&eacute;rez-vous au chapitre 2 du guide du D&eacute;veloppeur de Greenstone -- &laquo;Exploitez vos documents au maximum&raquo;.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/introduction.htm
===================================================================
--- main/tags/2.83/gli/help/fr/introduction.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/introduction.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="introduction"><font size="5" face="Verdana"><strong>1: Introduction</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>L'Interface Biblioth&eacute;caire de Greenstone est un outil de collecte de documents auxquels peuvent &ecirc;tre affect&eacute;es des m&eacute;tadonn&eacute;es, ce qui permet ensuite de construire des collections de biblioth&egrave;que num&eacute;rique. On acc&egrave;de ainsi aux fonctionnalit&eacute;s du logiciel de biblioth&egrave;que num&eacute;rique Greenstone gr&acirc;ce &agrave; une interface graphique &laquo;pointer et cliquer&raquo;.</p>
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/miscellaneous.htm
===================================================================
--- main/tags/2.83/gli/help/fr/miscellaneous.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/miscellaneous.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="miscellaneous"><font size="5" face="Verdana"><strong>9: Divers</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Cette section d&eacute;crit les caract&eacute;ristiques de l'Interface Biblioth&eacute;caire qui ne sont pas associ&eacute;es &agrave; une vue particuli&egrave;re.</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/ofmiceandmenus.htm
===================================================================
--- main/tags/2.83/gli/help/fr/ofmiceandmenus.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/ofmiceandmenus.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="ofmiceandmenus"><font size="5" face="Verdana"><strong>1.1: A propos de la souris et des menus</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Cette section fournit une information de base sur la mani&egrave;re de dialoguer avec l'Interface Biblioth&eacute;caire. Si vous &ecirc;tes familier de programmes comme Internet Explorer ou Microsoft Office et &agrave; l'aise avec l'utilisation des menus et de la souris, passer &agrave; la section <a href="howtoavoidthisdocument.htm">Comment &eacute;viter de lire ce document</a>.</p>
+
+<p>L'Interface Biblioth&eacute;caire suit les conventions de Microsoft Windows et requiert une connaissance de base de Windows.</p>
+
+<p>Un &eacute;l&eacute;ment interactif quelconque sur l'&eacute;cran, tel qu'un bouton ou un champ de texte, est appel&eacute; &laquo;widget&raquo;. A tout moment, l'un des widgets appel&eacute; &laquo;focus&raquo; est mis en relief et r&eacute;pond au clavier. Plusieurs widgets vous permettent de s&eacute;lectionner les parties qui sont mises en &eacute;vidence en bleu fonc&eacute;. Certains widgets virent au gris pour indiquer qu'ils sont d&eacute;sactiv&eacute;s.</p>
+
+<p>On peut d&eacute;placer la souris, cliquer sur son bouton gauche (clic gauche) ou sur son bouton droit (clic droit) de fa&ccedil;on tout &agrave; fait usuelle. Plusieurs &eacute;l&eacute;ments sont susceptibles d'&ecirc;tre entra&icirc;n&eacute;s par glissement de la souris, son bouton gauche &eacute;tant maintenu appuy&eacute;, et d'&ecirc;tre ainsi d&eacute;pos&eacute;s ailleurs en rel&acirc;chant le bouton. Lorsqu'un &eacute;l&eacute;ment est &laquo;gliss&eacute;&raquo; sur une cible susceptible de l'accueillir, celle-ci change d'apparence.</p>
+
+<p>On utilise le clavier pour entrer des donn&eacute;es dans les champs de texte. La touche [tab] permet de naviguer entre les diff&eacute;rents champs.</p>
+
+<p>Pour quitter l'Interface Biblioth&eacute;caire, choisir &laquo;Sortir&raquo; dans le menu &laquo;Fichier&raquo;. La collection active sera alors automatiquement sauvegard&eacute;e.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/openingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/fr/openingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/openingacollection.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="openingacollection"><font size="5" face="Verdana"><strong>2.3: Ouvrir une collection existante</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Pour ouvrir une collection existante, choisir &laquo;Ouvrir&raquo; dans le menu &laquo;Fichier&raquo; pour obtenir une nouvelle fen&ecirc;tre de dialogue. Une liste de vos collections Greenstone appara&icirc;t. En s&eacute;lectionner une pour voir sa description puis cliquer sur &laquo;Ouvrir&raquo; pour l'activer.</p>
+
+<p>Au cas o&ugrave; plusieurs programmes de l'Interface Biblioth&eacute;caire de Greenstone seraient ex&eacute;cut&eacute;s simultan&eacute;ment, les r&eacute;pertoires concern&eacute;s seront verrouill&eacute;s pour pr&eacute;venir toute interf&eacute;rence. A l'ouverture d'une collection, un petit fichier de verrouillage temporaire est cr&eacute;&eacute; dans son dossier. Avant d'ouvrir une collection, l'Interface Biblioth&eacute;caire v&eacute;rifie qu'aucun fichier de verrouillage n'existe d&eacute;j&agrave;. Cependant, lorsqu'on quitte l'Interface Biblioth&eacute;caire pr&eacute;matur&eacute;ment, le fichier de verrouillage est parfois conserv&eacute;. Lorsqu'une collection est ouverte, l'Interface Biblioth&eacute;caire demande si l'on veut &laquo;voler&raquo; ce contr&ocirc;le. Vous &ecirc;tes libre de le faire, mais prenez garde que personne d'autre ne travaille sur la m&ecirc;me collection au m&ecirc;me moment.</p>
+
+<p>Si vous ouvrez une collection qui n'a pas &eacute;t&eacute; cr&eacute;&eacute;e par l'Interface Biblioth&eacute;caire de Greenstone, le jeu de m&eacute;tadonn&eacute;es Dublin Core lui sera attribu&eacute;, et les m&eacute;tadonn&eacute;es existantes seront import&eacute;es telles quelles lorsque vous ajoutez des fichiers contenant des m&eacute;tadonn&eacute;es. Ce processus est d&eacute;crit dans la section <a href="importingpreviouslyassignedmetadata.htm">Importer des m&eacute;tadonn&eacute;es pr&eacute;-attribu&eacute;es</a>.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/partitionindexes.htm
===================================================================
--- main/tags/2.83/gli/help/fr/partitionindexes.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/partitionindexes.htm	(revision 21123)
@@ -0,0 +1,24 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="partitionindexes"><font size="5" face="Verdana"><strong>6.4: Index de partition</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Les index sont construits &agrave; partir de sources de texte ou de m&eacute;tadonn&eacute;es. Le domaine de recherche peut &ecirc;tre affin&eacute; en partitionnant l'index soit par langue soit par un filtre choisi d'avance. Cette section d&eacute;crit la proc&eacute;dure &agrave; suivre pour cela. Dans la vue &laquo;Param&eacute;trer&raquo;, cliquez sur &laquo;Index de partition&raquo;. </p>
+
+<p>Le panneau &laquo;Index de partition&raquo; poss&egrave;de trois onglets : &laquo;D&eacute;finir les Filtres&raquo;, &laquo;Attribuer des partitions&raquo; et &laquo;Attribuer langues&raquo;. Pour en savoir davantage sur les partitions, lisez les paragraphes sur les sous-collections et les sous-index au chapitre 2 du Guide du D&eacute;veloppeur Greenstone.</p>
+
+<p>Pour les collections sous MG, le nombre total de partitions g&eacute;n&eacute;r&eacute;es est une combinaison de tous les index, des filtres de sous-collection et des langues choisies. Deux index avec deux filtres de sous-collection en deux langues donnent huit partitions d'index. Pour MGPP, tous les index sont cr&eacute;&eacute;s dans un seul index physique, de sorte &agrave; ce qu&rsquo;il n'y ait que quatre partitions d'index. Pour Lucene, le nombre d'index physiques d&eacute;pend du nombre de niveaux assign&eacute;s &agrave; la collection, donc un index par niveau. Dans le cas ci-dessus, un niveau donnerait donc quatre index physiques, tandis que deux niveaux en donneraient huit.</p>
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/plugins.htm
===================================================================
--- main/tags/2.83/gli/help/fr/plugins.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/plugins.htm	(revision 21123)
@@ -0,0 +1,31 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="plugins"><font size="5" face="Verdana"><strong>6.2: Plugiciels de document</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Cette section d&eacute;crit comment configurer les plugiciels de document que la collection utilise. Elle explique comment sp&eacute;cifier les plugiciels &agrave; utiliser, quels param&egrave;tres leur signifier et dans quel ordre ils se d&eacute;roulent. Dans la vue &laquo;Param&eacute;trer&raquo;, cliquez sur &laquo;Plugiciels de document&raquo;.</p>
+
+<p>Pour ajouter un plugiciel, s&eacute;lectionnez-le &agrave; partir de la liste d&eacute;roulante &laquo;Choisir le plugiciel &agrave; ajouter&raquo; situ&eacute;e en bas de page et ensuite cliquez sur &laquo;Ajouter plugiciel&raquo;. Une fen&ecirc;tre d&eacute;nomm&eacute;e &laquo;Veuillez configurer les arguments&raquo; appara&icirc;t; elle est d&eacute;crite plus loin. Une fois la configuration du nouveau plugiciel achev&eacute;e, il est ajout&eacute; &agrave; la fin de la liste &laquo;Plugiciels attribu&eacute;s&raquo;. Veuillez noter qu'en g&eacute;n&eacute;ral chaque plugiciel n'appara&icirc;t qu'une seule fois dans la liste. Cependant, un plugiciel peut appara&icirc;tre plusieurs fois ; pour que ceci soit utile il faut normalement param&eacute;trer diff&eacute;remment les occurrences multiples d'un plugiciel (par exemple en activant le param&egrave;tre process_exp, voir http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/enhanced_pdf.htm ).</p>
+
+<p>Pour voir une br&egrave;ve description d'un plugiciel, s&eacute;lectionnez-le dans la liste d&eacute;roulante &laquo;Choisir le plugiciel &agrave; ajouter&raquo;, puis placez le curseur dessus. Une infobulle affichant la description appara&icirc;tra.</p>
+
+<p>Pour enlever un plugiciel, s&eacute;lectionnez-le dans la liste et cliquez sur &laquo;Supprimer plugiciel&raquo;.</p>
+
+<p>Les plugiciels sont configur&eacute;s en fournissant des arguments. Pour les modifier ces arguments, il faut s&eacute;lectionner le plugiciel &agrave; partir de la liste et cliquez sur &laquo;Configurer plugiciel&raquo; (Ou double-cliquez sur le plugiciel). Une fen&ecirc;tre de dialogue &laquo;Veuillez configurer les arguments&raquo; appara&icirc;t avec diff&eacute;rents contr&ocirc;les pour sp&eacute;cifier les arguments.</p>
+
+<p>Il existe plusieurs types de contr&ocirc;les. Certains sont des bo&icirc;tes de dialogue et cliquer sur l'une ajoute l'option appropri&eacute;e au plugiciel. Les autres sont des cha&icirc;nes de textes avec une bo&icirc;te de dialogue et un champ texte. Cliquez sur la bo&icirc;te pour activer l'argument, ensuite saisissez le texte appropri&eacute; dans la bo&icirc;te (expression normale, chemin de fichier, etc...). Les autres sont des menus d&eacute;roulants &agrave; partir desquels on peut s&eacute;lectionner un &eacute;l&eacute;ment parmi une s&eacute;rie de valeurs d&eacute;termin&eacute;es. Pour apprendre ce qu'un argument peut faire, placez la souris sur son nom pendant un instant, une description appara&icirc;tra.</p>
+
+<p>Apr&egrave;s avoir modifi&eacute; la configuration, cliquez sur &laquo;OK&raquo; pour valider et fermer la bo&icirc;te de dialogue, ou &laquo;Annuler&raquo; pour fermer la bo&icirc;te de dialogue sans modifier les arguments du plugiciel.</p>
+
+<p>Les plugiciels dans la liste sont ex&eacute;cut&eacute;s dans l'ordre et l'ordre peut &ecirc;tre important. Pour modifier cet ordre s&eacute;lectionnez un plugiciel dans la liste et utilisez les boutons "D&eacute;placer vers le haut" et "D&eacute;placer vers le bas".</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/preferences.htm
===================================================================
--- main/tags/2.83/gli/help/fr/preferences.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/preferences.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="preferences"><font size="5" face="Verdana"><strong>9.1: Pr&eacute;f&eacute;rences</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Cette section explique le panneau des pr&eacute;f&eacute;rences, auquel on acc&egrave;de en ouvrant &laquo;Fichier&raquo; -&gt; &laquo;Pr&eacute;f&eacute;rences&raquo;. </p>
+
+<p>Le panneau des pr&eacute;f&eacute;rences s'ouvre en affichant l'onglet &laquo;G&eacute;n&eacute;ral&raquo;. La premi&egrave;re option est un champ texte pour saisir votre adresse e-mail. Ceci sera utilis&eacute; pour les &eacute;l&eacute;ments de m&eacute;tadonn&eacute;es &laquo;cr&eacute;ateur&raquo; et &laquo;responsable maintenance&raquo; de la nouvelle collection. L'option suivante est une liste d&eacute;roulante des langues dans lesquelles l'interface bibioth&eacute;caire peut &ecirc;tre affich&eacute;e. Si on change la langue par le choix d'une autre dans la liste, l'Interface Biblioth&eacute;caire red&eacute;marrera pour charger la nouvelle langue. Un champ texte pour sp&eacute;cifier la police est aussi pr&eacute;sent&eacute; : un bon choix pour afficher du texte en Unicode est "Arial Unicode MS, BOLD, 14".</p>
+
+<p>Si on coche &laquo;Visualiser les m&eacute;tadonn&eacute;es extraites&raquo;, les diff&eacute;rents contr&ocirc;les relatifs aux m&eacute;tadonn&eacute;es affichent toujours toutes les m&eacute;tadonn&eacute;es qui ont &eacute;t&eacute; extraites automatiquement des documents. Lorsqu'on le d&eacute;s&eacute;lectionne, ces m&eacute;tadonn&eacute;es sont cach&eacute;es (bien qu'elles restent disponibles pendant la constitution de la collection, et dans la collection Greenstone finale). Si on coche &laquo;Montrer les tailles des fichiers&raquo;, la taille du fichier appara&icirc;t &agrave; c&ocirc;t&eacute; de chaque fichier dans l'Espace de travail et dans les Arborescences de fichiers des collections dans les vues Rassembler et Enrichir.</p>
+
+<p>Le onglet &laquo;Mode&raquo; est utilis&eacute; pour contr&ocirc;ler le niveau du d&eacute;tail dans l'interface. Dans sa configuration la plus &eacute;l&eacute;mentaire, &laquo;Assistant Biblioth&eacute;caire&raquo;, les vues &laquo;Param&eacute;trer&raquo; et &laquo;Formater" sont d&eacute;sactiv&eacute;es. L'utilisateur peut ajouter/enlever des documents, ajouter/modifier des m&eacute;tadonn&eacute;es, et reconstruire la collection. La vue &laquo;Cr&eacute;er&raquo; est pr&eacute;sent&eacute;e en forme simple. Le mode suivant, &laquo;Biblioth&eacute;caire"&raquo;, donne acc&egrave;s &agrave; toutes les fonctions de param&eacute;trage et de formatage, mais avec la forme simple de la vue &laquo;Cr&eacute;er&raquo;. Le mode le plus avanc&eacute;, &laquo;Expert&raquo;, donne l'acc&egrave;s &agrave; la vue &laquo;Cr&eacute;er&raquo; enti&egrave;re, et permet l'enregistrement dans les historiques de l'int&eacute;gralit&eacute; des messages g&eacute;n&eacute;r&eacute;s lors de la construction de la collection. Pour s&eacute;lectionner ou voir le descriptif d'un mode, cliquez sur le bouton radio situ&eacute; &agrave; c&ocirc;t&eacute; du mode qui vous int&eacute;resse. Vous pouvez contr&ocirc;ler rapidement le mode dans lequel vous vous trouvez en regardant la barre de titre de l'Interface Biblioth&eacute;caire.</p>
+
+<p>L'onglet &laquo;Connexion&raquo; permet de modifier le chemin vers le serveur de biblioth&egrave;que local bas&eacute; sur Greenstone et utilis&eacute; dans l'aper&ccedil;u des collections. Vous pouvez aussi pr&eacute;ciser le proxy de connexion Internet (c.a.d. pour t&eacute;l&eacute;charger les fichiers; voir la section <a href="downloadingfiles.htm">T&eacute;l&eacute;chargement de fichiers d'Internet</a> pour les details). Cochez la case pour une connexion proxy et donnez l'adresse du proxy et son num&eacute;ro de port. La connexion proxy sera &eacute;tablie apr&egrave;s fermeture du panneau des pr&eacute;f&eacute;rences.</p>
+
+<p>En cours de session, l'Interface Biblioth&eacute;caire peut d&eacute;livrer des messages d'avertissement qui donnent des informations sur des cons&eacute;quences &eacute;ventuellement impr&eacute;vues d'une action. On peut d&eacute;sactiver ces messages en cochant la case &laquo;Ne pas afficher cet avertissement de nouveau&raquo;. On peut r&eacute;activer les messages d'avertissement en utilisant l'onglet &laquo;Avertissements&raquo;. Cochez les cases situ&eacute;es &agrave; c&ocirc;t&eacute; des messages d'avertissement que vous souhaitez voir de nouveau. </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/producingthecollection.htm
===================================================================
--- main/tags/2.83/gli/help/fr/producingthecollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/producingthecollection.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="producingthecollection"><font size="5" face="Verdana"><strong>7: Pour produire la collection</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Apr&egrave;s avoir rassembl&eacute; les documents de la collection, les avoir enrichis de m&eacute;tadonn&eacute;es, et d&eacute;fini l'apparence de la collection, vous pouvez cr&eacute;er la collection en utilisant Greenstone. Cette section vous en explique la mani&egrave;re.</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/removingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/fr/removingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/removingfiles.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="removingfiles"><font size="5" face="Verdana"><strong>4.6: Supprimer des Fichiers</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Il existe plusieurs m&eacute;thodes pour supprimer des fichiers et des dossiers. On doit d'abord indiquer les &eacute;l&eacute;ments &agrave; supprimer en s&eacute;lectionnant un ou plusieurs fichiers/dossiers comme d&eacute;crit dans <a href="thegatherview.htm">La vue &laquo;Rassembler&raquo;</a>.</p>
+
+<p>D&egrave;s lors que les fichiers sont s&eacute;lectionn&eacute;s, cliquer sur le bouton &laquo;Supprimer&raquo; pour les d&eacute;truire, ou appuyer sur la touche [Suppr] de votre clavier, ou glisser-les de la collection vers le bouton &laquo;Supprimer&raquo; et d&eacute;poser-les.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/replacingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/fr/replacingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/replacingfiles.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="replacingfiles"><font size="5" face="Verdana"><strong>4.5: Renommage et remplacement des fichiers</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Un fichier peut &ecirc;tre renomm&eacute; en cliquant droit sur son nom et en s&eacute;lectionnant "Renomme" dans la liste. Entrez le nouveau nom et cliquez sur &laquo;OK&raquo;. </p>
+
+<p>On peut remplacer des fichiers dans la collection : clic doit sur le fichier &agrave; remplacer puis choisir "Remplacer". Un navigateur de fichiers s'ouvre : naviguer vers le document &agrave; ajouter et cliquer sur &laquo;Ouvrir&raquo;. Le nouveau document remplace alors l'ancien dans la collection, et les m&eacute;tadonn&eacute;es associ&eacute;es &agrave; l'ancien document sont transf&eacute;r&eacute;es vers le nouveau document. Ceci est particuli&egrave;rement utile pour remplacer les documents vides (fichiers nuls) par les vrais.</p>
+
+<p>Certains types de fichiers sont convertis en HTML par les logicels des tiers au moment de l'importation, par exemple, Word, Excel, PDF&hellip; Le HTML produit &agrave; l'importation peut ne pas &ecirc;tre tr&egrave;s bien format&eacute;. Pour ces documents il y a une autre option clic droit : "Remplacer par la version HTML". S&eacute;lectionner cette option a pour effet que le fichier d'origine sera remplac&eacute; dans la collection par la version HTML, ainsi rendu modifiable.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/reviewingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/fr/reviewingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/reviewingmetadata.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="reviewingmetadata"><font size="5" face="Verdana"><strong>5.6: Passer en revue les m&eacute;tadonn&eacute;es attribu&eacute;es</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>On a parfois besoin de visionner, d&rsquo;un seul coup d&rsquo;oeil, les m&eacute;tadonn&eacute;es attribu&eacute;es &agrave; plusieurs fichiers -- par exemple, pour d&eacute;terminer combien de fichiers restent &agrave; traiter, ou pour avoir une id&eacute;e de l'&eacute;ventail des dates d'attribution.</p>
+
+<p>S&eacute;lectionnez les fichiers que vous souhaitez examiner dans l'Arborescence de la collection, puis cliquez sur le bouton droit de la souris et choisissez &laquo;M&eacute;tadonn&eacute;es attribu&eacute;es ...&raquo;. Une fen&ecirc;tre appel&eacute;e &laquo;Toutes les m&eacute;tadonn&eacute;es&raquo; appara&icirc;t sous forme d'un grand tableau avec plusieurs colonnes. La premi&egrave;re colonne affiche les noms de fichiers ; les lignes affichent toutes les valeurs de m&eacute;tadonn&eacute;es attribu&eacute;es &agrave; ces fichiers.</p>
+
+<p>Afficher le tableau peut prendre un peu de temps si les fichiers s&eacute;lectionn&eacute;s sont nombreux. On peut continuer &agrave; utiliser l'Interface Biblioth&eacute;caire pendant que la fen&ecirc;tre &laquo;Toutes les m&eacute;ta-donn&eacute;es&raquo; est ouverte.</p>
+
+<p>Quand il devient trop large, on peut filtrer le tableau &laquo;Toutes les M&eacute;tadonn&eacute;es&raquo; en appliquant des filtres aux colonnes. Quand on ajoute de nouveaux filtres, seules les lignes correspondantes restent visibles. Pour installer, modifier ou effacer un filtre, cliquez sur l'ic&ocirc;ne &laquo;Filtre&raquo; situ&eacute; en haut de la colonne. Une information sur le filtre est r&eacute;clam&eacute;e. Une fois le filtre install&eacute;, l'en-t&ecirc;te de la colonne change de couleur. </p>
+
+<p>La fen&ecirc;tre de d&eacute;finition du filtre poss&egrave;de deux onglets : &laquo;simple&raquo; et &laquo;avanc&eacute;&raquo;. La version simple filtre les colonnes afin qu'elles n'affichent que les lignes qui contiennent une valeur d&eacute;finie (&laquo;*&raquo; correspond &agrave; toute valeur). On peut s&eacute;lectionner des valeurs de m&eacute;tadonn&eacute;es &agrave; partir d'une liste d&eacute;roulante. La version avanc&eacute;e permet diff&eacute;rentes op&eacute;rations de correspondance : doit commencer par, ne contient pas, alphab&eacute;tiquement inf&eacute;rieur, et est &eacute;gal &agrave;. La valeur de r&eacute;f&eacute;rence peut &ecirc;tre n'importe cha&icirc;ne de caract&egrave;res (y compris &laquo;*&raquo;), et on peut opter pour une correspondance qui ne respecte pas la casse. On peut aussi sp&eacute;cifier une deuxi&egrave;me condition de correspondance en donnant un &eacute;ventail de valeurs (et en s&eacute;lectionnant AND) ou des valeurs alternatives (en s&eacute;lectionnant OR). Au-dessous de cette zone, il y a une bo&icirc;te qui permet de modifier l'ordre du tri (ascendant ou descendant). A la fin, cliquez sur &laquo;Installer Filtre&raquo; pour appliquer le nouveau filtre &agrave; la colonne. Cliquez sur &laquo;Effacer Filtre&raquo; pour retirer le filtre courant. Les d&eacute;tails du filtre restent m&eacute;moris&eacute;s m&ecirc;me si le filtre est effac&eacute;. </p>
+
+<p>Par exemple, pour trier le tableau &laquo;Toutes les m&eacute;tadonn&eacute;es&raquo;, choisissez une colonne, s&eacute;lectionnez le cadre du filtre par d&eacute;faut (Un filtre simple sur &laquo;*&raquo;) et choisissez un ordre ascendant ou descendant. </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/savingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/fr/savingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/savingacollection.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="savingacollection"><font size="5" face="Verdana"><strong>2.2: Sauvegarder la collection</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Sauvegardez r&eacute;guli&egrave;rement votre travail en choisissant &laquo;Sauvegarder&raquo; dans le menu &laquo;Fichier&raquo;. Sauvegarder une collection ne signifie pas la rendre pr&ecirc;te &agrave; &ecirc;tre utilis&eacute;e dans Greenstone (voir <a href="producingthecollection.htm">Pour produire la collection</a>).</p>
+
+<p>L'Interface Biblioth&eacute;caire prot&egrave;ge votre travail en le sauvegardant automatiquement &agrave; la fermeture du programme ou &agrave; l'ouverture d'une autre collection.</p>
+
+<p>Le dossier &laquo;collect&raquo; du dossier racine de Greenstone contient toutes les collections, et chaque collection est stock&eacute;e dans un dossier d&eacute;sign&eacute; par un nom court. A l'int&eacute;rieur de ce dossier, un sous-dossier &laquo;import&raquo; conserve les documents de la collection ainsi que les m&eacute;tadonn&eacute;es correspondantes (fichiers &laquo;metadata.xml&raquo;). Les param&egrave;tres de configuration sont sauvegard&eacute;s dans le fichier &laquo;collect.cfg&raquo; situ&eacute; dans le sous-dossier &laquo;etc&raquo;. Certaines informations sont &eacute;galement enregistr&eacute;es dans un fichier portant le nom de la collection et l'extension &laquo;.col&raquo;.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/scheduledbuilding.htm
===================================================================
--- main/tags/2.83/gli/help/fr/scheduledbuilding.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/scheduledbuilding.htm	(revision 21123)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="scheduledbuilding"><font size="5" face="Verdana"><strong>7.4: La programmation de la construction des collections</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>La programmation de la construction des collections est possible en mode Expert. Un param&eacute;trage est n&eacute;cessaire pour ce faire ; voir  http://wiki.greenstone.org/wiki/index.php/Scheduled_Collection_Building_from_the_Librarian_Interface. L'onglet "Options de programmation" sur le c&ocirc;t&eacute; gauche de la vue Cr&eacute;er pr&eacute;sente une liste d'options qui contr&ocirc;lent le processus de programmation. L'option "programmer" doit &ecirc;tre s&eacute;lectionn&eacute;e pour entreprendre la programmation. Les autres options concernent : la fr&eacute;quence de construction ; le choix d'ajouter une nouvelle programmation, de mettre &agrave; jour une programmation existante, ou de supprimer la programmation existante ; et les d&eacute;tails d'adresse email si des messages de confirmation par courrier &eacute;lectronique sont souhait&eacute;s.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/searchindexes.htm
===================================================================
--- main/tags/2.83/gli/help/fr/searchindexes.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/searchindexes.htm	(revision 21123)
@@ -0,0 +1,42 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchindexes"><font size="5" face="Verdana"><strong>6.3: Index de recherche</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Les index pr&eacute;cisent les parties de la collection qui peuvent &ecirc;tre recherch&eacute;es. Cette section explique comment ajouter et supprimer des index et d&eacute;finir un index par d&eacute;faut. Dans la vue "Param&eacute;trer", cliquez sur "Index de recherche".</p>
+
+<p>La partie en haut &agrave; droite du panneau "Index de recherche" affiche des informations sur le moteur de recherche utilis&eacute; par la collection. Ceci peut &ecirc;tre modifi&eacute; en cliquant sur "Modifier ...". Une fen&ecirc;tre secondaire appara&icirc;t avec la liste d'options : MG, MGPP et Lucene. Modifier ceci affecte la fa&ccedil;on dont les index sont construits, et peut affecter la fonctionnalit&eacute; de recherche.</p>
+
+<p>La liste "Index attribu&eacute;s" affiche les index actuellement attribu&eacute;s &agrave; la collection.</p>
+
+<p>Pour ajouter un index, cliquez sur "Nouvel index" ... Une fen&ecirc;tre secondaire appara&icirc;t avec une liste de sources qui contient le texte et les m&eacute;tadonn&eacute;es. S&eacute;lectionnez les sources que vous souhaitez indexer. Les  boutons "Tout s&eacute;lectionner" et "Ne rien s&eacute;lectionner" sont utilis&eacute;s pour cocher ou d&eacute;cocher tous les &eacute;l&eacute;ments de la liste. Une fois le nouvel index d&eacute;fini, cliquez sur "Ajouter index" pour l'ajouter &agrave; la collection. "Ajouter index" ne deviendra actif que si les param&egrave;tres qui d&eacute;crivent le nouvel index n&rsquo;ont pas d&eacute;j&agrave; &eacute;t&eacute; attribu&eacute;s &agrave; la collection.</p>
+
+<p>Pour les index MG, vous devez aussi choisir la granularit&eacute; de l'index en utilisant le menu "Niveau d'indexation :".</p>
+
+<p>Pour un index MGPP ou Lucene, la granularit&eacute; de l'index est d&eacute;termin&eacute;e globalement, et non par l'index. Les niveaux possibles sont affich&eacute;s sur le panneau principal "Index de recherche", et peuvent &ecirc;tre ajout&eacute;s &agrave; la collection en cochant les cases correspondantes.</p>
+
+<p>Un index particulier est disponible sous MGPP et Lucene : un index &laquo;tous champs&raquo;, qui donne la possibilit&eacute; d'une recherche combin&eacute;e sur tous les index sp&eacute;cifi&eacute;s, sans avoir &agrave; pr&eacute;ciser un index autre qui contiendrait tous ces &eacute;l&eacute;ments. Pour ajouter cet index, cochez la case "Ajouter une recherche combin&eacute;e sur tous les index" et cliquez sur "Ajouter index".</p>
+
+<p>Pour MGPP et Lucene, un bouton "Ajouter tout" est &eacute;galement disponible. Il s&rsquo;agit d'un raccourci pour ajouter toutes les m&eacute;tadonn&eacute;es ainsi que le texte int&eacute;gral en tant qu'index individuels.</p>
+
+<p>Pour modifier un index, s&eacute;lectionnez-le et cliquez sur "Modifier l'index". Une bo&icirc;te de dialogue similaire &agrave; "Nouvel index" est affich&eacute;e.</p>
+
+<p>Pour supprimer un index, s&eacute;lectionnez-le dans la liste des Index attribu&eacute;s et cliquez sur "Supprimer index".</p>
+
+<p>L'ordre dans lequel les index sont sp&eacute;cifi&eacute;s dans la liste &laquo;Index attribu&eacute;s&raquo; est celui dans lequel ils apparara&icirc;tront dans la liste d&eacute;roulante de la page de recherche. Utilisez les boutons "D&eacute;placer vers le haut" et "D&eacute;placer vers le bas" pour modifier cet ordre.</p>
+
+<p>Celui qui est s&eacute;lectionn&eacute; par d&eacute;faut sur la page de recherche est appel&eacute; &laquo;index par d&eacute;faut&raquo;. Ceci peut &ecirc;tre d&eacute;fini en s&eacute;lectionnant un index de la liste et en cliquant sur &laquo;D&eacute;finir l'index par d&eacute;faut&raquo;. L'index par d&eacute;faut est identifi&eacute; par "[Index par d&eacute;faut]" dans la liste &laquo;Index attribu&eacute;s&raquo;. Si aucun index n'est d&eacute;fini par d&eacute;faut, le premier index de la liste sera utilis&eacute; par d&eacute;faut.</p>
+
+<p>Les noms pr&eacute;sent&eacute;s dans la liste d&eacute;roulante d'index sur la page de recherche peuvent &ecirc;tre d&eacute;finis dans le panneau "Recherches" de la vue "Formater" (voir <a href="searchmetadatasettings.htm">Recherches</a>).</p>
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/searchindexoptions.htm
===================================================================
--- main/tags/2.83/gli/help/fr/searchindexoptions.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/searchindexoptions.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchindexoptions"><font size="5" face="Verdana"><strong>6.3.1: Options d'index de recherche</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Des options suppl&eacute;mentaires contr&ocirc;lent la construction des index. Celles-ci peuvent ne pas &ecirc;tre disponibles pour un type d'index sp&eacute;cifque, alors elles appara&icirc;tront gris&eacute;es.</p>
+
+<p>Pour les index MG et MGPP, les options &laquo;Ignorer terminaisons&raquo; et &laquo;Ignorer casse&raquo; peuvent &ecirc;tre activ&eacute;es ou d&eacute;sactiv&eacute;es. Si elles sont activ&eacute;es, les index permettant d'ignorer les terminaisons ou la casse seront cr&eacute;&eacute;s, et l'utilisateur pourra choisir d'effectuer les recherches avec ou sans l'option concern&eacute;e. Si elles sont inactives, les recherches prendront en compte la casse et les terminaisons, et les options de les ignorer ne seront pas affich&eacute;es sur la page des pr&eacute;f&eacute;rences de la collection.</p>
+
+<p>&laquo;Ignorer accents&raquo; est &eacute;galement disponible pour un index MGPP. Cela fonctionne d'une mani&egrave;re similaire &agrave; &laquo;Ignorer casse&raquo;, mais au lieu de faire correspondre les lettres majuscules et minuscules, les lettres avec accents correspondent &agrave; celles sans accents. Pour les index Lucene, les accents sont toujours ignor&eacute;s, aucun choix pour activer ou d&eacute;sactiver cette option ne sera pr&eacute;sent&eacute;e sur la page des pr&eacute;f&eacute;rences de la collection.</p>
+
+<p>Les textes en chinois, japonais ou cor&eacute;en sont souvent &eacute;crits en caract&egrave;res continus sans s&eacute;paration des mots. Comme l'indexation d&eacute;pend des espaces entre les mots dans le texte, l'absence d'espaces rend l'index inexploitable. S&eacute;lectionner l'option "Segmentation de texte CJK" a pour effet d'inserer des espaces entre caract&egrave;res voisins chinois/japonais/cor&eacute;ens dans le texte et dans les mots recherch&eacute;s, pour qu'une recherche au niveau des caract&egrave;res soit effectu&eacute;e. </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/searchmetadatasettings.htm
===================================================================
--- main/tags/2.83/gli/help/fr/searchmetadatasettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/searchmetadatasettings.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchmetadatasettings"><font size="5" face="Verdana"><strong>8.3: Recherches</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Cette section explique comment configurer l'affichage du texte dans les listes d&eacute;roulantes de la page de recherche. Dans la vue &laquo;Formater&raquo;, cliquez sur &laquo;Recherches&raquo;.</p>
+
+<p>Ce panneau contient un tableau &eacute;num&eacute;rant chaque index de recherche, niveau d'indexation et partition. Ici, vous pouvez saisir les textes qui seront utilis&eacute;s comme noms des &eacute;l&eacute;ments qui appara&icirc;tront dans les listes d&eacute;roulantes de la page de recherche. Ce panneau vous permet de d&eacute;finir le texte pour une seule langue, celle utilis&eacute;e pour l'interface de GLI. Pour traduire ces noms dans d'autres langues, utilisez le panneau &laquo;Traduire Texte&raquo; de la vue &laquo;Formater&raquo; (voir <a href="translatetext.htm">Traduire texte</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/selectingmetadatasets.htm
===================================================================
--- main/tags/2.83/gli/help/fr/selectingmetadatasets.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/selectingmetadatasets.htm	(revision 21123)
@@ -0,0 +1,35 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="selectingmetadatasets"><font size="5" face="Verdana"><strong>5.2: S&eacute;lectionner les jeux de m&eacute;tadonn&eacute;es</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Les s&eacute;ries d'&eacute;l&eacute;ments de m&eacute;tadonn&eacute;es pr&eacute;d&eacute;finis sont appel&eacute;es &laquo;jeux de m&eacute;tadonn&eacute;es&raquo;. &laquo;Dublin Core&raquo; en est un exemple. Quand on ajoute un jeu de m&eacute;tadonn&eacute;es &agrave; la collection, les &eacute;l&eacute;ments de ce jeu peuvent &ecirc;tre s&eacute;lectionn&eacute;s. On peut avoir plus d'un jeu de m&eacute;tadonn&eacute;es ; pour &eacute;viter des t&eacute;lescopages de nom, une abr&eacute;viation qui identifie le jeu de m&eacute;tadonn&eacute;es est accol&eacute;e au nom de l'&eacute;l&eacute;ment. Par exemple l'&eacute;lement &laquo;Cr&eacute;ateur&raquo; de Dublin Core devient &laquo;dc.Creator&raquo;. Les jeux de m&eacute;tadonn&eacute;es sont sauvegard&eacute;s dans le dossier de m&eacute;tadonn&eacute;es de l'Interface Biblioth&eacute;caire avec le suffixe &laquo;.mds&raquo;.</p>
+
+<p>Quand on cr&eacute;e une nouvelle collection, le jeu de m&eacute;tadonn&eacute;es Dublin Core est ajout&eacute; par d&eacute;faut. Il est possible de modifier les jeux de m&eacute;tadonn&eacute;es utilis&eacute;s dans une collection, en cliquant sur le bouton "G&eacute;rer les jeux de m&eacute;tadonn&eacute;es ..." au-dessous de l'Arborescence de la collection dans la vue &laquo;Enrichir&raquo;. Ceci fait appara&icirc;tre une nouvelle fen&ecirc;tre pour g&eacute;rer les jeux de m&eacute;tadonn&eacute;es de la collection.</p>
+
+<p>La liste "Jeux de m&eacute;tadonn&eacute;es affect&eacute;s" vous montre quels jeux sont actuellement utilis&eacute;s par la collection.</p>
+
+<p>Pour utiliser un autre jeu de m&eacute;tadonn&eacute;es avec la collection charg&eacute;e, cliquez sur &laquo;Ajouter...&raquo;. Une fen&ecirc;tre secondaire affiche les jeux de m&eacute;tadonn&eacute;es que GLI reconna&icirc;t par d&eacute;faut. Pour ajouter l'un d'eux, s&eacute;lectionnez-le dans la liste et cliquez sur &laquo;Ajouter&raquo;. Si vous avez d&eacute;fini votre propre jeu de m&eacute;tadonn&eacute;es, vous pouvez utiliser le bouton &laquo;Parcourir&raquo; pour s&eacute;lectionner le fichier dans votre syst&egrave;me de fichiers.</p>
+
+<p>Pour cr&eacute;er un nouveau jeu de m&eacute;tadonn&eacute;es, cliquez sur &laquo;Nouveau ...&raquo;. Cette op&eacute;ration lance l'Editeur de jeux de m&eacute;tadon&eacute;es de Greenstone, GEMS. Une premi&egrave;re fen&ecirc;tre vous invite &agrave; entrer le nom du jeu de m&eacute;tadonn&eacute;es, l'espace de noms et la description. Vous pouvez &eacute;galement choisir de baser le nouveau jeu sur un jeu existant, dans ce cas il h&eacute;ritera de tous les &eacute;l&eacute;ments du jeu sp&eacute;cifi&eacute;. Cliquez sur OK. La fen&ecirc;tre principale liste les &eacute;l&eacute;ments du jeu de m&eacute;tadonn&eacute;es sur le c&ocirc;t&eacute; gauche, et certains attributs du jeu sur le c&ocirc;t&eacute; droit. Si vous avez un jeu bas&eacute; sur un jeu existant, un ou plusieurs &eacute;l&eacute;ments seront d&eacute;j&agrave; affich&eacute;s. En cliquant sur un &eacute;l&eacute;m&eacute;nt, les attributs de cet &eacute;l&eacute;ment s&rsquo;affichent dans la partie droite.</p>
+
+<p>Pour ajouter un nouvel &eacute;l&eacute;ment, clic droit sur le nom du jeu et choisissez &laquo;Ajouter un &eacute;l&eacute;ment&raquo;. Pour ajouter un nouveau sous-&eacute;l&eacute;ment, clic droit sur l'&eacute;l&eacute;ment et choisir &laquo;Ajouter un sous-&eacute;l&eacute;ment&raquo;. &Eacute;l&eacute;ments et sous-&eacute;l&eacute;ments peuvent &ecirc;tre supprim&eacute;es en s&eacute;lectionnant &laquo;Supprimer un &eacute;l&eacute;ment&raquo; dans le menu du clic droit.</p>
+
+<p>Nota Bene : L'&eacute;diteur de jeux de m&eacute;tadonn&eacute;es Greenstone GEMS peut &ecirc;tre ex&eacute;cut&eacute; ind&eacute;pendamment de GLI en le s&eacute;lectionnant dans le dossier Greenstone du menu D&eacute;marrer, ou en ex&eacute;cutant gems.sh ou gems.bat dans le dossier gli de votre installation Greenstone.</p>
+
+<p>Parfois deux jeux de m&eacute;tadonn&eacute;es peuvent avoir le m&ecirc;me espace de noms, par exemple, le Dublin Core et Dublin Core qualifi&eacute; utilisent l'espace de noms &laquo;dc&raquo;. De tels jeux ne peuvent pas &ecirc;tre utilis&eacute;s dans une collection en m&ecirc;me temps. Si vous essayez d'ajouter un jeu avec un espace de noms d&eacute;j&agrave; utilis&eacute; par la collection, un avertissement s'affiche. Si vous continuez, le jeu existant sera supprim&eacute; et le nouveau ajout&eacute;. Toutes les valeurs de m&eacute;tadonn&eacute;es d&eacute;j&agrave; attribu&eacute;es seront transf&eacute;r&eacute;es au nouveau jeu si tant est que les &eacute;l&eacute;ments existent toujours.</p>
+
+<p>L'&eacute;dition des jeux de m&eacute;tadonn&eacute;es, ainsi que la cr&eacute;ation de nouveaux jeux, se font avec l'&eacute;diteur Greenstone de m&eacute;tadonn&eacute;es (GEMS). En cliquant sur le bouton &laquo;Modifier...&raquo; vous lancez GEMS avec le jeu de m&eacute;tadonn&eacute;es sp&eacute;cifi&eacute; ouvert. Quand vous avez termin&eacute; la r&eacute;vision du jeu (comme d&eacute;crit ci-dessus), sauvegardez le jeu (Fichier-&gt;Sauvegarder) et fermez GEMS.</p>
+
+<p>Si vous n'avez plus besoin d'un jeu de m&eacute;tadonn&eacute;es dans une collection, s&eacute;lectionnez le jeu et cliquez sur &laquo;Retirer&raquo; pour l'enlever. Si vous avez attribu&eacute; des m&eacute;tadonn&eacute;es aux &eacute;l&eacute;ments du jeu retir&eacute;, on vous demandera ce que vous voulez en faire lorsque vous allez ouvrir &agrave; nouveau cette collection.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/startingoff.htm
===================================================================
--- main/tags/2.83/gli/help/fr/startingoff.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/startingoff.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="startingoff"><font size="5" face="Verdana"><strong>2: D&eacute;marrage</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Cette section explique comment cr&eacute;er, charger, enregistrer et supprimer des collections.</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/thecreateview.htm
===================================================================
--- main/tags/2.83/gli/help/fr/thecreateview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/thecreateview.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thecreateview"><font size="5" face="Verdana"><strong>7.1: La vue &laquo;Cr&eacute;er&raquo;</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>La vue &laquo;Cr&eacute;er&raquo; est utilis&eacute;e pour cr&eacute;er la collection en ex&eacute;cutant les scripts de Greenstone qui tiennent compte des informations que vous avez fournies. Acc&eacute;dez &agrave; la vue &laquo;Cr&eacute;er&raquo; en cliquant sur l'onglet &laquo;Cr&eacute;er&raquo;.</p>
+
+<p>En cliquant sur &laquo;Construire collection&raquo;, on initie le processus de construction. La dur&eacute;e d&eacute;pend de la taille de la collection et du nombre d'index &agrave; cr&eacute;er (pour les grandes collections cela peut prendre des heures). Une barre de progression indique la progression du processus. Pour annuler le processus &agrave; tout moment, cliquez sur &laquo;Annuler la construction&raquo;. La partie inf&eacute;rieure du panneau pr&eacute;sente des informations sur la progression du processus de construction. La partie sup&eacute;rieure montre quelques options pour contr&ocirc;ler le processus.</p>
+
+<p>Quand la collection est construite avec succ&egrave;s, cliquer sur &laquo;Pr&eacute;visualiser collection&raquo; pour lancer un navigateur web qui affiche la page d'accueil de la collection.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/thedesignview.htm
===================================================================
--- main/tags/2.83/gli/help/fr/thedesignview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/thedesignview.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thedesignview"><font size="5" face="Verdana"><strong>6.1: La vue &laquo;Param&eacute;trer&raquo;</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Cette section pr&eacute;sente la vue &laquo;Param&eacute;trer&raquo; et explique comment naviguer &agrave; l'int&eacute;rieur de cette vue.</p>
+
+<p>Avec l'Interface Biblioth&eacute;caire, on peut configurer la fa&ccedil;on dont la collection va appara&icirc;tre &agrave; l'utilisateur. Les options de configuration sont divis&eacute;es en diff&eacute;rentes sections, chacune associ&eacute;e &agrave; une &eacute;tape particuli&egrave;re du param&eacute;trage de la collection.</p>
+
+<p>Sur la gauche est plac&eacute;e une liste de diff&eacute;rents affichages et &agrave; droite les commandes associ&eacute;es &agrave; l&rsquo;affichage en cours. Pour passer &agrave; un affichage diff&eacute;rent, cliquez sur son nom dans la liste.</p>
+
+<p>Pour comprendre les diff&eacute;rentes &eacute;tapes et les termes impliqu&eacute;s dans la conception d'une collection, lire les chapitres 1 et 2 du Guide du D&eacute;veloppeur Greenstone.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/theenrichview.htm
===================================================================
--- main/tags/2.83/gli/help/fr/theenrichview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/theenrichview.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="theenrichview"><font size="5" face="Verdana"><strong>5.1: La vue &laquo;Enrichir&raquo;</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Utilisez la vue "Enrichir" pour attribuer des m&eacute;tadonn&eacute;es aux documents de la collection. Une m&eacute;tadonn&eacute;e est une donn&eacute;e servant &agrave; d&eacute;finir ou &agrave; d&eacute;crire une autre donn&eacute;e -- habituellement le titre, l'auteur, la date de cr&eacute;ation, etc... Chaque &eacute;l&eacute;ment de m&eacute;tadonn&eacute;es a deux parties : "El&eacute;ment" indique le type d'&eacute;l&eacute;ment (par exemple auteur), et "Valeur" qui donne la valeur de cet &eacute;l&eacute;ment de m&eacute;tadonn&eacute;es (par exemple le nom de l'auteur).</p>
+
+<p>Sur la gauche de la vue "Enrichir" il y a l'Arborescence de la collection. Toutes les fonctions op&eacute;rant sur l'Arborescence de la collection dans la vue "Rassembler" sont &eacute;galement disponibles ici. A droite, il s'agit de la Table de m&eacute;tadonn&eacute;es, qui affiche les m&eacute;tadonn&eacute;es pour tout fichier ou dossier s&eacute;lectionn&eacute; dans l'Arborescence de la collection. Les colonnes sont nomm&eacute;es en noir en haut de colonne, et peuvent &ecirc;tre redimensionn&eacute;es en faisant glisser la ligne de s&eacute;paration. Si plusieurs fichiers ou dossiers sont s&eacute;lectionn&eacute;s, un texte en noir indique que la valeur est commune &agrave; tous les &eacute;l&eacute;ments s&eacute;lectionn&eacute;s, tandis qu'un texte en gris indique le contraire. La modification des valeurs en gris affecte seulement les documents auxquels ces valeurs ont &eacute;t&eacute; attribu&eacute;s. Toute nouvelle valeur saisie sera ajout&eacute;e &agrave; tous les &eacute;l&eacute;ments s&eacute;lectionn&eacute;s.</p>
+
+<p>Une ic&ocirc;ne repr&eacute;sentant un dossier peut appara&icirc;tre &agrave; c&ocirc;t&eacute; de certaines entr&eacute;es de m&eacute;tadonn&eacute;es. Ceci indique que les valeurs ont &eacute;t&eacute; h&eacute;rit&eacute;es d'un dossier parent (ou anc&ecirc;tre). Les m&eacute;tadonn&eacute;es h&eacute;rit&eacute;es ne peuvent &ecirc;tre modifi&eacute;es ou supprim&eacute;es, mais seulement compl&eacute;t&eacute;es. Cliquez sur l'ic&ocirc;ne du dossier pour aller imm&eacute;diatement au dossier o&ugrave; la m&eacute;tadonn&eacute;e est affect&eacute;e.</p>
+
+<p>Si vous cliquez sur un &eacute;l&eacute;ment de m&eacute;tadonn&eacute;es du tableau, celui-ci affiche les valeurs existantes pour l'&eacute;l&eacute;ment dans la zone "Valeurs existantes pour ..." au-dessous du tableau. Cette "Arborescence de valeurs" peut &ecirc;tre d&eacute;velopp&eacute;e ou r&eacute;duite. C'est une liste qui, de fa&ccedil;on usuelle, affiche toutes les valeurs pr&eacute;c&eacute;demment saisies pour un &eacute;l&eacute;ment s&eacute;lectionn&eacute;. En cliquant sur une entr&eacute;e, on  la place automatiquement dans le champ valeur. Inversement, en tapant une donn&eacute;e dans le champ valeur, on s&eacute;lectionne dans l'Arborescence de valeurs l'&eacute;l&eacute;ment qui d&eacute;bute avec les caract&egrave;res saisis. Appuyer sur [Tab] accepte automatiquement la valeur s&eacute;lectionn&eacute;e.</p>
+
+<p>Les valeurs de m&eacute;tadonn&eacute;es peuvent &ecirc;tre organis&eacute;es en hi&eacute;rarchie. Ceci est visible dans l'Arborescence de valeurs, en utilisant des dossiers pour d&eacute;finir les niveaux internes. Les valeurs hi&eacute;rarchiques peuvent &ecirc;tre saisies en utilisant le caract&egrave;re "|" pour s&eacute;parer les niveaux. Par exemple, "Carte|Rouge|Carreau|Sept" peut &ecirc;tre utilis&eacute; dans une hi&eacute;rarchie qui repr&eacute;sente un jeu de cartes. Cela permet le regroupement des valeurs. Les groupes de valeurs peuvent aussi &ecirc;tre attribu&eacute;s comme m&eacute;tadonn&eacute;es aux documents.</p>
+
+<p>Greenstone extrait automatiquement certaines m&eacute;tadonn&eacute;es &agrave; partir des documents, et les regroupe dans un jeu de m&eacute;tadonn&eacute;es dont les &eacute;l&eacute;ments sont pr&eacute;fix&eacute;s &laquo;ex.&raquo;. Il n&rsquo;y a aucune arborescence de valeurs, cela ne peut &ecirc;tre modifi&eacute;.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/theformatview.htm
===================================================================
--- main/tags/2.83/gli/help/fr/theformatview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/theformatview.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="theformatview"><font size="5" face="Verdana"><strong>8.1: La vue &laquo;Formater&raquo;</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Cette section pr&eacute;sente la vue &laquo;Formater&raquo;.</p>
+
+<p>Avec l'Interface Biblioth&eacute;caire vous pouvez configurer la pr&eacute;sentation de la collection pour l'utilisateur. Les options de configuration sont divis&eacute;es en plusieurs sections, chacune associ&eacute;e &agrave; un type de personnalisation.</p>
+
+<p>Sur la gauche se trouve une liste de param&egrave;tres et sur la droite les commandes associ&eacute;es &agrave; chacun. Pour activer et modifier un param&egrave;tre, cliquez dans la case &agrave; c&ocirc;t&eacute; de son nom dans la liste.</p>
+
+<p>Sous la liste de param&egrave;tres il y a un bouton &laquo;Pr&eacute;visualiser collection&raquo;. Les changements apport&eacute;s &agrave; la vue &laquo;Formater&raquo; ne n&eacute;cessitent pas une reconstruction de la collection, de sorte qu'ils peuvent &ecirc;tre pr&eacute;visualis&eacute;s imm&eacute;diatement. Toutefois, la collection doit avoir &eacute;t&eacute; construite au moins une fois afin de permettre la pr&eacute;visualisation.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/thegatherview.htm
===================================================================
--- main/tags/2.83/gli/help/fr/thegatherview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/thegatherview.htm	(revision 21123)
@@ -0,0 +1,33 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thegatherview"><font size="5" face="Verdana"><strong>4.1: La vue &laquo;Rassembler&raquo;</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Cette section introduit la vue Rassembler utilis&eacute;e pour s&eacute;lectionner les fichiers &agrave; inclure dans la collection &agrave; cr&eacute;er. L'Interface Biblioth&eacute;caire d&eacute;marre avec l'affichage &laquo;Rassembler&raquo;. Pour revenir ult&eacute;rieurement &agrave; celui-ci, cliquer directement sur l'onglet "Rassembler" juste en dessous de la barre de menu.</p>
+
+<p>Les deux larges zones intitul&eacute;es &laquo;Espace de travail&raquo; et &laquo;Collection&raquo; servent au transfert des fichiers vers la collection. Elles contiennent chacune une arborescence de fichiers et de dossiers.</p>
+
+<p>Choisir un &eacute;l&eacute;ment dans l'arborescence en cliquant dessus. (Il existe d'autres mani&egrave;res de le faire ; voir ci-dessous). Double-cliquer sur un dossier, ou cliquer simplement sur le symbole petit plus plac&eacute; &agrave; c&ocirc;t&eacute; de lui, pour d&eacute;velopper (ou r&eacute;duire) son contenu. Double-cliquer sur un fichier pour l'ouvrir en utilisant le programme d'application associ&eacute; (voir <a href="fileassociations.htm">Associations de fichiers</a>).</p>
+
+<p>L'arborescence des fichiers de l'espace de travail montre les sources de donn&eacute;es disponibles pour l'Interface Biblioth&eacute;caire -- le syst&egrave;me de fichiers local (ainsi que les unit&eacute;s de disques et Cd-rom), le contenu des collections Greenstone, et le cache des fichiers t&eacute;l&eacute;charg&eacute;s. Vous pouvez copier et afficher ces fichiers mais vous ne pouvez pas les d&eacute;placer, supprimer ou modifier, &agrave; l'exception des fichiers t&eacute;l&eacute;charg&eacute;s qui peuvent &ecirc;tre supprim&eacute;s. Vous pouvez naviguer &agrave; l'int&eacute;rieur de cet espace pour trouver les documents que vous souhaitez ajouter &agrave; la collection.</p>
+
+<p>L'arborescence des fichiers de la Collection ne repr&eacute;sente que le contenu de la collection. Elle est initialement vide.</p>
+
+<p>On peut redimensionner les espaces en positionnant la souris sur la barre grise qui s&eacute;pare les arborescences (le pointeur change de forme) et en la faisant glisser.</p>
+
+<p>En bas de la fen&ecirc;tre, il y a une barre d'&eacute;tat qui montre l'&eacute;volution des op&eacute;rations sur les fichiers (copie, d&eacute;placement et suppression). Ces op&eacute;rations peuvent &ecirc;tre longues. Le bouton &laquo;Arr&ecirc;t&raquo; arr&ecirc;te toute t&acirc;che en cours.</p>
+
+<p>Deux grands boutons occupent le coin inf&eacute;rieur droit de l'&eacute;cran. &laquo;Nouveau dossier&raquo;, avec une image d'un dossier, cr&eacute;e de nouveaux dossiers (voir <a href="creatingfolders.htm">Cr&eacute;er des dossiers</a>). &laquo;Supprimer&raquo;, avec une corbeille, supprime les fichiers. En cliquant sur le bouton &laquo;Supprimer&raquo; vous d&eacute;truisez tous les fichiers s&eacute;lectionn&eacute;s de l'arborescence de fichiers de la collection. On peut aussi supprimer des fichiers en les faisant glisser jusqu'au bouton &laquo;Supprimer&raquo;. </p>
+
+<p>Pour s&eacute;lectionner plusieurs d'&eacute;l&eacute;ments successifs, s&eacute;lectionner le premier, maintenir appuy&eacute;e la touche [Maj] et cliquer sur le dernier &eacute;l&eacute;ment de la s&eacute;quence -- la s&eacute;lection comprendra tous les &eacute;l&eacute;ments compris entre les deux. Pour la s&eacute;lection de fichiers qui ne se suivent pas, maintenir la touche [Ctrl] appuy&eacute;e en cliquant sur chacun d'eux. Ces deux m&eacute;thodes peuvent &ecirc;tre utilis&eacute;es ensemble pour la s&eacute;lection de jeux d'&eacute;l&eacute;ments non adjacents.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/themirrorview.htm
===================================================================
--- main/tags/2.83/gli/help/fr/themirrorview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/themirrorview.htm	(revision 21123)
@@ -0,0 +1,44 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="themirrorview"><font size="5" face="Verdana"><strong>3.1: La vue &laquo;T&eacute;l&eacute;chargement&raquo;</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Cette section d&eacute;crit comment configurer une demande de t&eacute;l&eacute;chargement et comment contr&ocirc;ler le processus. Acc&eacute;der &agrave; la vue "T&eacute;l&eacute;charger" en cliquant sur l'onglet. La moiti&eacute; sup&eacute;rieure de l'&eacute;cran affiche le dispositif de contr&ocirc;le des t&eacute;l&eacute;chargements. La moiti&eacute; inf&eacute;rieure est initialement vide, mais affichera la liste des demandes de t&eacute;l&eacute;chargement en attente et r&eacute;alis&eacute;es.</p>
+
+<p>Il y a plusieurs protocoles qui peuvent &ecirc;tre utilis&eacute;s pour t&eacute;l&eacute;charger des enregistrements, et ils sont &eacute;num&eacute;r&eacute;s en haut &agrave; gauche.</p>
+
+<p>
+<b>Web :</b> t&eacute;l&eacute;charger des pages web et des fichiers via HTTP et FTP.</p>
+
+<p>
+<b>MediaWiki:</b> t&eacute;l&eacute;charge des pages web et des fichiers via HTTP &agrave; partir d'un site web MediaWiki.</p>
+
+<p>
+<b>OAI :</b> t&eacute;l&eacute;charger des enregistrements de m&eacute;tadonn&eacute;es (et faculativement des documents) d'un serveur OAI-PMH (Open Archives Initiative) .</p>
+
+<p>
+<b>Z39.50 :</b> t&eacute;l&eacute;charger d'un serveur Z39.50 des notices MARC qui correspondent &agrave; un crit&egrave;re de recherche.</p>
+
+<p>
+<b>SRW :</b> t&eacute;l&eacute;charger des enregistrements MARCXML qui correspondent &agrave; un crit&egrave;re de recherche depuis un serveur SRW.</p>
+
+<p>S&eacute;lectionnez le protocole appropri&eacute; en cliquant dessus dans la liste de gauche. La partie droite affiche les options disponibles pour le protocole de t&eacute;l&eacute;chargement s&eacute;lectionn&eacute;. Placer le pointeur de la souris sur une option pour savoir ce qu'elle fait : une infobulle appara&icirc;tra. Certaines options sont &laquo;facultatives&raquo; : il faut alors cocher la case correspondante pour pouvoir utiliser l'option. D'autres sont &laquo;obligatoires&raquo; : il n'y a pas de case &agrave; cocher, une valeur doit &ecirc;tre entr&eacute;e pour que le t&eacute;l&eacute;chargement soit effectu&eacute;.</p>
+
+<p>Une fois que la configuration est cr&eacute;&eacute;e, cliquer sur "Informations sur le serveur" pour v&eacute;rifier la connexion au serveur et afficher des informations de base sur la page Web ou sur le serveur, puis cliquer sur "T&eacute;l&eacute;chargement" pour commencer le t&eacute;l&eacute;chargement.</p>
+
+<p>Il y a deux autres boutons : "Configuration du Proxy&hellip;", qui rejoint le panneau &laquo;Connexion&raquo; des Pr&eacute;f&eacute;rences o&ugrave; les param&egrave;tres du proxy peuvent &ecirc;tre modifi&eacute;s ; et  "Effacer la m&eacute;moire cache", qui supprime tous les fichiers t&eacute;l&eacute;charg&eacute;s pr&eacute;c&eacute;demment. Vous devrez fournir des informations sur le proxy si vous utilisez un serveur mandataire (proxy) pour vous connecter &agrave; l'Internet. Si une authentification est n&eacute;cessaire quand un t&eacute;l&eacute;chargement est en cours de traitement, le serveur mandataire (proxy) va demander un nom d'utilisateur et un mot de passe. L'Interface Biblioth&eacute;caire ne stocke pas les mots de passe entre les sessions.</p>
+
+<p>Les fichiers sont t&eacute;l&eacute;charg&eacute;s dans un dossier nomm&eacute; "Fichiers t&eacute;l&eacute;charg&eacute;s" (qui n'est pr&eacute;sent que quand le t&eacute;l&eacute;chargement est autoris&eacute;), et peuvent &ecirc;tre utilis&eacute;s dans toute collection. Les fichiers portent le nom de leur URL web compl&egrave;te (pour ceux t&eacute;l&eacute;charg&eacute;s du web et des serveurs MediaWiki) ou d'une combinaison entre URL et valeurs g&eacute;n&eacute;r&eacute;es par les options (pour d'autres types de t&eacute;l&eacute;chargement). Un nouveau dossier est cr&eacute;&eacute; pour chaque site h&ocirc;te, suivi par d'autres dossiers pour chaque &eacute;l&eacute;ment du chemin. Cela permet de s'assurer que chaque fichier ait un chemin distinct.</p>
+
+<p>La liste de t&eacute;l&eacute;chargement contient une entr&eacute;e pour chaque &eacute;l&eacute;ment t&eacute;l&eacute;charg&eacute;. Chaque entr&eacute;e affiche une zone de texte qui donne les d&eacute;tails du processus et une barre qui mesure la progression de la t&acirc;che en cours. Trois boutons apparaissent &agrave; la droite de chaque entr&eacute;e. "Pause" est employ&eacute; pour arr&ecirc;ter temporairement un t&eacute;l&eacute;chargement. "Voir l'historique" ouvre une fen&ecirc;tre affichant l'historique du t&eacute;l&eacute;chargement. "Fermer" termine le t&eacute;l&eacute;chargement et enl&egrave;ve la t&acirc;che de la liste.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/translatetext.htm
===================================================================
--- main/tags/2.83/gli/help/fr/translatetext.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/translatetext.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="translatetext"><font size="5" face="Verdana"><strong>8.5: Traduire texte</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Cette section d&eacute;crit le panneau de traduction, dans lequel on peut traduire des fragments de texte en d'autres langues pour une partie de l'interface de la collection. Dans la vue &laquo;Formater&raquo;, cliquez sur &laquo;Traduire texte&raquo;.</p>
+
+<p>Choisissez d'abord une entr&eacute;e dans la liste &laquo;Caract&eacute;ristiques&raquo;. Les cha&icirc;nes sp&eacute;cifiques &agrave; une langue associ&eacute;e &agrave; la caract&eacute;ristique apparaissent en bas. Utilisez la liste d&eacute;roulante de &laquo;Langue de traduction&raquo; pour s&eacute;lectionner la langue cible, et saisissez le texte traduit dans la zone de texte, en vous r&eacute;f&eacute;rant au &laquo;Fragment de texte initial&raquo; si n&eacute;cessaire. Cliquez sur &laquo;Ajouter traduction&raquo; &agrave; la fin de l'op&eacute;ration. </p>
+
+<p>Pour supprimer une traduction existante, s&eacute;lectionnez-la &agrave; partir du tableau &laquo;Traductions attribu&eacute;es&raquo; et cliquez sur &laquo;Supprimer traduction&raquo;. </p>
+
+<p>Pour modifier une traduction, s&eacute;lectionnez-la et modifiez-la dans la zone de texte &laquo;Texte traduit&raquo;, et cliquez sur &laquo;Remplacer traduction&raquo;. </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/updatingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/fr/updatingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/updatingmetadata.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="updatingmetadata"><font size="5" face="Verdana"><strong>5.5: Modifier ou &eacute;liminer les m&eacute;tadonn&eacute;es</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Pour modifier ou &eacute;liminer un &eacute;l&eacute;ment de m&eacute;tadonn&eacute;es, s&eacute;lectionnez d&rsquo;abord le fichier appropri&eacute;, puis la valeur de la m&eacute;tadonn&eacute;e dans le tableau. Modifiez la valeur de ce champ et/ou supprimez tout le texte si vous d&eacute;sirez &eacute;liminer la m&eacute;tadonn&eacute;e.</p>
+
+<p>Le processus est identique pour la mise &agrave; jour d'un dossier avec des sous-dossiers ou plusieurs fichiers ; dans ce cas vous pouvez seulement mettre &agrave; jour les m&eacute;tadonn&eacute;es qui sont communes &agrave; tous les fichiers/dossiers s&eacute;lectionn&eacute;s.</p>
+
+<p>L' Arborescence de valeurs pr&eacute;sente toutes les valeurs actuellement attribu&eacute;es de m&ecirc;me que les valeurs pr&eacute;c&eacute;dentes qui ont &eacute;t&eacute; attribu&eacute;es pendant la pr&eacute;sente session ; toutes les valeurs &eacute;limin&eacute;es ou d&eacute;j&agrave; modifi&eacute;es seront donc toujours pr&eacute;sentes dans l' arborescence. Fermer la collection et la rouvrir &eacute;liminera les valeurs qui ne sont plus attribu&eacute;es.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/fr/xcollectionsearching.htm
===================================================================
--- main/tags/2.83/gli/help/fr/xcollectionsearching.htm	(revision 21123)
+++ main/tags/2.83/gli/help/fr/xcollectionsearching.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="xcollectionsearching"><font size="5" face="Verdana"><strong>8.6: Recherches &agrave; travers des collections</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Greenstone peut rechercher dans plusieurs collections comme si elles n'en constituaient qu'une seule. Ceci est fait en sp&eacute;cifiant une liste d'autres collections dans lesquelles une recherche est effectu&eacute;e en m&ecirc;me temps que dans la collection courante. Dans la vue &laquo;Formater&raquo;, cliquez sur &laquo;Recherches &agrave; travers collections&raquo;.</p>
+
+<p>Le panneau &laquo;Recherches &agrave; travers collections&raquo; montre une liste de collections disponibles. La collection courante est coch&eacute;e et ne peut &ecirc;tre d&eacute;-s&eacute;lectionn&eacute;e. Pour ajouter une autre collection dans laquelle on pourra rechercher parall&egrave;lement, cliquez sur une collection dans la liste (cliquez une deuxi&egrave;me fois pour l'enlever). Lorsqu'une seule collection est s&eacute;lectionn&eacute;e, aucune recherche &agrave; travers les collections n'est possible.</p>
+
+<p>Si les collections individuelles n'ont pas toutes les m&ecirc;mes index (y compris les partitions de sous-collection et les partitions de langue), la recherche &agrave; travers les collections ne pourra pas fonctionner correctement. L'utilisateur ne pourra alors qu'effectuer des recherches en utilisant les index communs &agrave; toutes les collections.</p>
+
+<p>Pour plus de d&eacute;tails, voir le Chapitre 1 du Guide du D&eacute;veloppeur Greenstone.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/gen-index-xml.xsl
===================================================================
--- main/tags/2.83/gli/help/gen-index-xml.xsl	(revision 21123)
+++ main/tags/2.83/gli/help/gen-index-xml.xsl	(revision 21123)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+  <xsl:output method="xml" encoding="UTF-8"/>
+
+  <xsl:template match="Document">
+    <Document>
+    <xsl:for-each select="Section">
+      <xsl:call-template name="processSection"/>
+    </xsl:for-each>
+    </Document>
+  </xsl:template>
+
+  <xsl:template name="processSection">
+    <Section name="{@name}">
+      <xsl:for-each select="Title">
+        <Title>
+          <xsl:apply-templates select="Text"/>
+        </Title>
+      </xsl:for-each>
+
+      <xsl:for-each select="Section">
+        <xsl:call-template name="processSection"/>
+      </xsl:for-each>
+    </Section>
+  </xsl:template>
+</xsl:stylesheet>
Index: main/tags/2.83/gli/help/gen-many-html.xsl
===================================================================
--- main/tags/2.83/gli/help/gen-many-html.xsl	(revision 21123)
+++ main/tags/2.83/gli/help/gen-many-html.xsl	(revision 21123)
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" 
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:java="http://xml.apache.org/xalan/java"
+  extension-element-prefixes="java"
+  exclude-result-prefixes="java">
+
+  <xsl:output method="html" encoding="UTF-8"/>
+
+  <xsl:variable name="diction" select="java:Dictionary.new('en')"/>
+
+
+  <xsl:template match="Document">
+    <xsl:for-each select="Section">
+      <xsl:call-template name="processSection">
+	<xsl:with-param name="sectionHead" select="position()"/>
+      </xsl:call-template>
+    </xsl:for-each>
+  </xsl:template>
+
+
+  <xsl:template match="Reference">
+    <xsl:variable name="target" select="@target"/>
+    <a href="{@target}.htm"><xsl:value-of select="/Document//Section[@name=$target]/Title/Text"/></a>
+  </xsl:template>
+
+
+  <xsl:template match="Section"/>
+
+
+  <xsl:template match="Title"/>
+
+  <xsl:template match="Text">
+    <p><xsl:apply-templates/></p>
+  </xsl:template>
+
+  <xsl:template name="processSection">
+    <xsl:param name="sectionHead"/>
+
+    <html>
+      <head>
+        <title>The Greenstone Librarian Interface - Help Pages</title>
+      </head>
+      <body bgcolor="#E0F0E0">
+        <table border="2" bgcolor="#B0D0B0" cellpadding="5" cellspacing="0" width="100%">
+          <tr>
+            <td align="center" width="15%">
+              <img height="45" src="../gatherer_medium.gif" width="45"/>
+            </td>
+            <td align="center" width="*">
+              <a name="{@name}">
+                <xsl:call-template name="processTitle">
+                  <xsl:with-param name="sectionNumber" select="$sectionHead"/>
+	          <xsl:with-param name="sectionTitle" select="Title"/>
+                </xsl:call-template>
+              </a>	    
+            </td>
+            <td align="center" width="15%">
+              <img height="45" src="../gatherer_medium.gif" width="45"/>
+            </td>
+          </tr>
+        </table>
+
+        <xsl:apply-templates/>
+      </body>
+    </html>
+
+    <xsl:for-each select="Section">
+      <xsl:call-template name="processSection">
+        <xsl:with-param name="sectionHead" select="concat($sectionHead, '.', position())"/>
+      </xsl:call-template>
+    </xsl:for-each>
+  </xsl:template>
+
+
+  <xsl:template name="processTitle">
+    <xsl:param name="sectionNumber"/>
+    <xsl:param name="sectionTitle"/>
+
+    <font face="Verdana" size="5">
+      <strong>
+        <xsl:value-of select="concat($sectionNumber, ': ', $sectionTitle/Text)"/>
+      </strong>
+    </font>
+  </xsl:template>
+
+   <xsl:template match="span|img|table|b|br|td|tr|u|i">
+    <xsl:copy><xsl:for-each select="@*"><xsl:copy/></xsl:for-each>
+        <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+  <xsl:template match="AutoText">
+    <xsl:variable name="value"><xsl:choose><xsl:when test="@key"><xsl:value-of select="java:get($diction, @key, @args)"/></xsl:when><xsl:otherwise><xsl:value-of select="@text"/></xsl:otherwise></xsl:choose></xsl:variable>
+    <xsl:choose>
+      <xsl:when test="@type='button'">
+	<b>&lt;<xsl:value-of select="$value"/>&gt;</b>
+      </xsl:when>
+      <xsl:when test="@type='quoted'">
+	<xsl:text>"</xsl:text><xsl:value-of select="$value"/><xsl:text>"</xsl:text>
+      </xsl:when>
+      <xsl:when test="@type='italics'">
+	<i><xsl:value-of select="$value"/></i>
+      </xsl:when>      
+      <xsl:when test="@type='plain'">
+	<xsl:value-of select="$value"/>
+      </xsl:when>      
+      <xsl:when test="@type='bold'">
+	<b><xsl:value-of select="$value"/></b>
+      </xsl:when>      
+      <xsl:otherwise>
+	<xsl:text>"</xsl:text><xsl:value-of select="$value"/><xsl:text>"</xsl:text>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: main/tags/2.83/gli/help/gen-one-html-for-doc.xsl
===================================================================
--- main/tags/2.83/gli/help/gen-one-html-for-doc.xsl	(revision 21123)
+++ main/tags/2.83/gli/help/gen-one-html-for-doc.xsl	(revision 21123)
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+  <xsl:output method="html" encoding="UTF-8"/>
+
+  <xsl:template match="Document">
+    <html>
+      <head>
+        <title>The Greenstone Librarian Interface - Help Pages</title>
+      </head>
+      <body bgcolor="#E0F0E0">
+	<xsl:for-each select="Section">
+	  <!-- Skip the first section -->
+	  <xsl:if test="position() > 1">
+	    <xsl:call-template name="processSection">
+	      <xsl:with-param name="sectionHead" select="position()"/>
+	    </xsl:call-template>
+          </xsl:if>
+	</xsl:for-each>
+      </body>
+    </html>
+  </xsl:template>
+
+  <xsl:template match="Reference">
+    <xsl:variable name="target" select="@target"/>
+    <xsl:value-of select="/Document//Section[@name=$target]/Title/Text"/>
+  </xsl:template>
+
+  <xsl:template match="Section"/>
+
+  <xsl:template match="Title"/>
+
+
+  <xsl:template name="processSection">
+    <xsl:param name="sectionHead"/>
+
+    <xsl:if test="Title">
+        <xsl:call-template name="processTitle">
+          <xsl:with-param name="sectionNumber" select="$sectionHead"/>
+	  <xsl:with-param name="sectionTitle" select="Title"/>
+        </xsl:call-template>
+    </xsl:if>
+
+    <xsl:apply-templates/>
+
+    <xsl:for-each select="Section">
+      <xsl:call-template name="processSection">
+        <xsl:with-param name="sectionHead" select="concat($sectionHead, '.', position())"/>
+      </xsl:call-template>
+    </xsl:for-each>
+  </xsl:template>
+
+
+  <xsl:template name="processTitle">
+    <xsl:param name="sectionNumber"/>
+    <xsl:param name="sectionTitle"/>
+
+    <xsl:choose>
+      <xsl:when test="contains($sectionNumber, '.')">
+        <h4><xsl:value-of select="$sectionTitle/Text"/></h4>
+      </xsl:when>
+      <xsl:otherwise>
+        <h3><xsl:value-of select="$sectionTitle/Text"/></h3>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="Text">
+    <p><xsl:apply-templates/></p>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: main/tags/2.83/gli/help/gen-one-html.xsl
===================================================================
--- main/tags/2.83/gli/help/gen-one-html.xsl	(revision 21123)
+++ main/tags/2.83/gli/help/gen-one-html.xsl	(revision 21123)
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+  <xsl:output method="html" encoding="UTF-8"/>
+
+  <xsl:template match="Document">
+    <html>
+      <head>
+        <title>The Greenstone Librarian Interface - Help Pages</title>
+      </head>
+      <body bgcolor="#E0F0E0">
+	<xsl:for-each select="Section">
+	  <xsl:call-template name="processSection">
+	    <xsl:with-param name="sectionHead" select="position()"/>
+	  </xsl:call-template>
+	</xsl:for-each>
+      </body>
+    </html>
+  </xsl:template>
+
+  <xsl:template match="Reference">
+    <xsl:variable name="target" select="@target"/>
+    <a href="#{@target}"><xsl:value-of select="/Document//Section[@name=$target]/Title/Text"/></a>
+  </xsl:template>
+
+  <xsl:template match="Section"/>
+
+  <xsl:template match="Title"/>
+
+
+  <xsl:template name="processSection">
+    <xsl:param name="sectionHead"/>
+
+    <xsl:if test="Title">
+      <a name="{@name}">
+        <xsl:call-template name="processTitle">
+          <xsl:with-param name="sectionNumber" select="$sectionHead"/>
+	  <xsl:with-param name="sectionTitle" select="Title"/>
+        </xsl:call-template>
+      </a>
+    </xsl:if>
+
+    <xsl:apply-templates/>
+
+    <xsl:for-each select="Section">
+      <xsl:call-template name="processSection">
+        <xsl:with-param name="sectionHead" select="concat($sectionHead, '.', position())"/>
+      </xsl:call-template>
+    </xsl:for-each>
+  </xsl:template>
+
+
+  <xsl:template name="processTitle">
+    <xsl:param name="sectionNumber"/>
+    <xsl:param name="sectionTitle"/>
+
+    <xsl:choose>
+      <xsl:when test="contains($sectionNumber, '.')">
+        <h3>Section <xsl:value-of select="concat($sectionNumber, ': ', $sectionTitle/Text)"/></h3>
+      </xsl:when>
+      <xsl:otherwise>
+        <h1>Section <xsl:value-of select="concat($sectionNumber, ': ', $sectionTitle/Text)"/></h1>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="Text">
+    <p><xsl:apply-templates/></p>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: main/tags/2.83/gli/help/gen-one-tex.xsl
===================================================================
--- main/tags/2.83/gli/help/gen-one-tex.xsl	(revision 21123)
+++ main/tags/2.83/gli/help/gen-one-tex.xsl	(revision 21123)
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+  <xsl:output method="text" encoding="iso-8859-1"/>
+
+  <xsl:template match="Document-old">
+    <html>
+      <head>
+        <title>The Greenstone Librarian Interface - Help Pages</title>
+      </head>
+      <body bgcolor="#E0F0E0">
+	<xsl:for-each select="Section">
+	  <!-- Skip the first section -->
+	  <xsl:if test="position() > 1">
+	    <xsl:call-template name="processSection">
+	      <xsl:with-param name="sectionHead" select="position()"/>
+	    </xsl:call-template>
+          </xsl:if>
+	</xsl:for-each>
+      </body>
+    </html>
+  </xsl:template>
+
+  <xsl:template match="Document">
+    % START OF AUTO-GENERATED GLI USER GUIDE
+    <xsl:for-each select="Section">
+      <!-- Skip the first section -->
+      <xsl:if test="position() > 1">
+	<xsl:call-template name="processSection">
+	  <xsl:with-param name="sectionHead" select="position()"/>
+	</xsl:call-template>
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+  <xsl:template match="Reference">
+    <xsl:variable name="target" select="@target"/>
+    <xsl:value-of select="/Document//Section[@name=$target]/Title/Text"/>
+  </xsl:template>
+
+  <xsl:template match="Section"/>
+
+  <xsl:template match="Title"/>
+
+
+  <xsl:template name="processSection">
+    <xsl:param name="sectionHead"/>
+
+    <xsl:if test="Title">
+        <xsl:call-template name="processTitle">
+          <xsl:with-param name="sectionNumber" select="$sectionHead"/>
+	  <xsl:with-param name="sectionTitle" select="Title"/>
+        </xsl:call-template>
+    </xsl:if>
+
+    <xsl:apply-templates/>
+
+    <xsl:for-each select="Section">
+      <xsl:call-template name="processSection">
+        <xsl:with-param name="sectionHead" select="concat($sectionHead, '.', position())"/>
+      </xsl:call-template>
+    </xsl:for-each>
+  </xsl:template>
+
+
+  <xsl:template name="processTitle">
+    <xsl:param name="sectionNumber"/>
+    <xsl:param name="sectionTitle"/>
+
+    <xsl:choose>
+      <xsl:when test="contains($sectionNumber, '.')">
+        <!--<h4><xsl:value-of select="$sectionTitle"/></h4>-->
+\paragraph{\emph{<xsl:value-of select="$sectionTitle/Text"/>}}<xsl:text>
+	</xsl:text>
+      </xsl:when>
+      <xsl:otherwise>
+        <!--<h3><xsl:value-of select="$sectionTitle"/></h3>-->
+\subsubsection{<xsl:value-of select="$sectionTitle/Text"/>}<xsl:text>
+	</xsl:text>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="Text">
+    <xsl:apply-templates/><xsl:text>
+</xsl:text>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: main/tags/2.83/gli/help/gen-text.xsl
===================================================================
--- main/tags/2.83/gli/help/gen-text.xsl	(revision 21123)
+++ main/tags/2.83/gli/help/gen-text.xsl	(revision 21123)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:java="http://xml.apache.org/xalan/java"
+  extension-element-prefixes="java"
+  exclude-result-prefixes="java">
+
+  <xsl:output method="text" encoding="UTF-8"/>
+
+  <xsl:variable name="diction" select="java:Dictionary.new('en')"/>
+
+  <xsl:template match="AutoText">
+    <xsl:text>"</xsl:text><xsl:choose><xsl:when test="@key"><xsl:value-of select="java:get($diction, @key, @args)"/></xsl:when><xsl:otherwise><xsl:value-of select="@text"/></xsl:otherwise></xsl:choose><xsl:text>"</xsl:text>
+  </xsl:template>
+
+  <xsl:template match="Reference">
+    <xsl:variable name="target" select="@target"/>
+    <xsl:text>"</xsl:text><xsl:value-of select="/Document//Section[@name=$target]/Title/Text"/><xsl:text>"</xsl:text>
+  </xsl:template>
+  
+</xsl:stylesheet>
Index: main/tags/2.83/gli/help/generate-html.sh
===================================================================
--- main/tags/2.83/gli/help/generate-html.sh	(revision 21123)
+++ main/tags/2.83/gli/help/generate-html.sh	(revision 21123)
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+glihome=$GSDLHOME/gli
+
+if [ "$glihome" == "" ]; then
+    # assume glihelp in its usual place
+      pushd ../ > /dev/null
+      glihome=`pwd`
+      popd > /dev/null
+fi
+
+echo "processing english version"
+cd en
+java -cp $glihome -DGSDLHOME=$GSDLHOME ApplyXSLT ../gen-many-html.xsl help.xml | perl -S ../splithelpdocument.pl
+java -cp $glihome -DGSDLHOME=$GSDLHOME ApplyXSLT ../gen-index-xml.xsl help.xml > help_index.xml
+cd ..
+
+
+
Index: main/tags/2.83/gli/help/mr/help.xml
===================================================================
--- main/tags/2.83/gli/help/mr/help.xml	(revision 21123)
+++ main/tags/2.83/gli/help/mr/help.xml	(revision 21123)
@@ -0,0 +1,562 @@
+<?xml version="1.0"?>
+<!DOCTYPE TutorialList [
+     <!ENTITY nbsp "&#160;">
+     <!ENTITY rarr "&#8594;">
+     <!ENTITY mdash "&#8212;">
+]>
+<Document>
+<Section name="introduction">
+<Title>
+<Text id="1">à€à€Žà€</Text>
+</Title>
+<!-- Missing translation: 2 -->
+<Section name="ofmiceandmenus">
+<Title>
+<!-- Missing translation: 3 -->
+</Title>
+<!-- Missing translation: 4 -->
+<!-- Missing translation: 5 -->
+<!-- Missing translation: 6 -->
+<!-- Missing translation: 7 -->
+<!-- Missing translation: 8 -->
+<Text id="11">"File" à€®à¥à€šà¥ à€®à€§à¥à€š "Exit" à€à¥ à€šà€¿à€µà€¡ à€à€°à¥à€š à€à¥à€°à€à€¥à€ªà€Ÿà€² à€ªà€¡à€Šà¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€¬à€Ÿà€¹à¥à€° à€¯à€Ÿ.à€€à¥à€®à€à€Ÿ à€žà€à€à¥à€°à€¹ à€ªà¥à€°à€¥à€® à€žà€Ÿà€ à€µà€²à€Ÿ à€à€Ÿà€à€².</Text>
+</Section>
+<Section name="howtoavoidthisdocument">
+<Title>
+<Text id="12">à€žà€à€à€²à€¿à€€ à€à¥à€²à¥à€²à¥ à€®à€Ÿà€¹à€¿à€€à¥ à€µà€Ÿà€à€£à¥à€¯à€Ÿà€à¥ à€à€žà¥ à€à€Ÿà€³à€Ÿà€µà¥.</Text>
+</Title>
+<Text id="13">à€žà€°à¥à€µ à€®à€Ÿà€°à¥à€à€Ÿà€à€®à€§à¥à€² à€¹à€Ÿ à€®à€Šà€€à¥à€à€Ÿ à€®à€à€à¥à€° à€µà€Ÿà€à¥ à€šà€à€Ÿ.à€à¥à€µà¥à€¹à€Ÿ à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ à€®à€Šà€€à¥à€à¥ à€à€°à€ à€
+à€žà¥à€² à€€à¥à€µà¥à€¹à€Ÿ à€®à€Šà€€ à€à€¶à¥ à€®à€¿à€³à€µà€Ÿà€µà¥ à€¹à¥ à€¶à€¿à€à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€ªà¥à€°à¥à€žà¥ à€µà€Ÿà€à€Ÿ.</Text>
+<Text id="14">."Help" à€®à¥à€šà¥à€€à¥à€² à€à€à€ à€¹à¥ ,à€žà€°à¥à€µà€Ÿà€€ à€à€Ÿà€žà¥à€€ à€®à€Šà€€à¥à€à€Ÿ à€à¥à€³à€£à€Ÿà€°à€Ÿ à€à€à€ à€à¥ à€²à€¹à€Ÿà€š à€ªà¥à€žà¥à€€à€à€Ÿà€à¥à€¯à€Ÿ à€à€¿à€šà¥à€¹à€Ÿà€žà€¹à€¿à€€ à€
+à€žà€€à¥ à€€à¥à€¯à€Ÿà€à€šà€Ÿ à€šà€®à¥à€Š à€à€°à€€à€Ÿà€€.</Text>
+<!-- Missing translation: 15 -->
+<Text id="16">à€à¥à€°à€à€¥à€ªà€Ÿà€² à€ªà€¡à€Šà€Ÿ à€µà€Ÿà€ªà€°à€£à¥à€¯à€Ÿà€ªà¥à€°à¥à€µà¥,à€à¥à€°à¥à€šà€žà¥à€à¥à€šà€®à€§à¥à€² à€žà€à€à€²à€¿à€€ à€à¥à€²à¥à€²à¥ à€®à€Ÿà€¹à€¿à€€à¥ à€µà€Ÿà€à€Ÿ.</Text>
+</Section>
+</Section>
+<Section name="startingoff">
+<Title>
+<Text id="17">à€¬à€à€Š à€à€°à€£à¥à€¯à€Ÿà€ž à€žà¥à€°à€µà€Ÿà€€ à€à€°à€Ÿ.</Text>
+</Title>
+<!-- Missing translation: 18 -->
+<Section name="creatingacollection">
+<Title>
+<!-- Missing translation: 19 -->
+</Title>
+<!-- Missing translation: 20 -->
+<!-- Missing translation: 21 -->
+<!-- Missing translation: 22 -->
+<!-- Missing translation: 23 -->
+<!-- Missing translation: 24 -->
+<!-- Missing translation: 25 -->
+</Section>
+<Section name="savingacollection">
+<Title>
+<!-- Missing translation: 26 -->
+</Title>
+<!-- Missing translation: 27 -->
+<!-- Missing translation: 28 -->
+<!-- Missing translation: 29a -->
+</Section>
+<Section name="openingacollection">
+<Title>
+<!-- Missing translation: 30 -->
+</Title>
+<!-- Missing translation: 31 -->
+<!-- Missing translation: 32 -->
+<!-- Missing translation: 33 -->
+</Section>
+<Section name="deletingcollections">
+<Title>
+<!-- Missing translation: 34 -->
+</Title>
+<!-- Missing translation: 35 -->
+</Section>
+</Section>
+<Section name="downloadingfiles">
+<Title>
+<!-- Missing translation: 36 -->
+</Title>
+<!-- Missing translation: 37 -->
+<Section name="themirrorview">
+<Title>
+<!-- Missing translation: 38 -->
+</Title>
+<!-- Missing translation: 39 -->
+<!-- Missing translation: 39a -->
+<!-- Missing translation: 39b -->
+<!-- Missing translation: 39c -->
+<!-- Missing translation: 39d -->
+<!-- Missing translation: 39e -->
+<!-- Missing translation: 39f -->
+<!-- Missing translation: 39g -->
+<!-- Missing translation: 39g-1 -->
+<!-- Missing translation: 40 -->
+<!-- Missing translation: 42 -->
+</Section>
+</Section>
+<Section name="collectingfiles">
+<Title>
+<!-- Missing translation: 44 -->
+</Title>
+<!-- Missing translation: 45 -->
+<Section name="thegatherview">
+<Title>
+<!-- Missing translation: 46 -->
+</Title>
+<!-- Missing translation: 47 -->
+<!-- Missing translation: 48 -->
+<!-- Missing translation: 49 -->
+<!-- Missing translation: 50 -->
+<!-- Missing translation: 51 -->
+<!-- Missing translation: 52 -->
+<!-- Missing translation: 53 -->
+<!-- Missing translation: 54 -->
+<!-- Missing translation: 55 -->
+</Section>
+<Section name="creatingshortcuts">
+<Title>
+<!-- Missing translation: 55a -->
+</Title>
+<!-- Missing translation: 56 -->
+</Section>
+<Section name="creatingfolders">
+<Title>
+<!-- Missing translation: 57 -->
+</Title>
+<!-- Missing translation: 58 -->
+<!-- Missing translation: 59 -->
+<!-- Missing translation: 60 -->
+</Section>
+<Section name="addingfiles">
+<Title>
+<!-- Missing translation: 61 -->
+</Title>
+<!-- Missing translation: 62 -->
+<!-- Missing translation: 63 -->
+<!-- Missing translation: 64 -->
+<!-- Missing translation: 65 -->
+<!-- Missing translation: 65a -->
+</Section>
+<Section name="replacingfiles">
+<Title>
+<!-- Missing translation: 65b -->
+</Title>
+<!-- Missing translation: 65c -->
+<!-- Missing translation: 65d -->
+</Section>
+<Section name="removingfiles">
+<Title>
+<!-- Missing translation: 66 -->
+</Title>
+<!-- Missing translation: 67 -->
+<!-- Missing translation: 68 -->
+</Section>
+<Section name="explodingfiles">
+<Title>
+<!-- Missing translation: exm-1 -->
+</Title>
+<!-- Missing translation: exm-2 -->
+<!-- Missing translation: exm-3 -->
+<!-- Missing translation: exm-4 -->
+<!-- Missing translation: exm-5 -->
+<!-- Missing translation: exm-6 -->
+</Section>
+<Section name="filteringthetree">
+<Title>
+<!-- Missing translation: 69 -->
+</Title>
+<!-- Missing translation: 70 -->
+<!-- Missing translation: 71 -->
+<!-- Missing translation: 72 -->
+</Section>
+</Section>
+<Section name="enrichingacollection">
+<Title>
+<!-- Missing translation: 73 -->
+</Title>
+<!-- Missing translation: 74 -->
+<Section name="theenrichview">
+<Title>
+<!-- Missing translation: 75 -->
+</Title>
+<!-- Missing translation: 76 -->
+<!-- Missing translation: 77 -->
+<!-- Missing translation: 78 -->
+<!-- Missing translation: 79 -->
+<!-- Missing translation: 80 -->
+<!-- Missing translation: 81 -->
+</Section>
+<Section name="selectingmetadatasets">
+<Title>
+<!-- Missing translation: 82 -->
+</Title>
+<!-- Missing translation: 83 -->
+<!-- Missing translation: 84 -->
+<!-- Missing translation: 84a -->
+<!-- Missing translation: 84b -->
+<!-- Missing translation: 84c -->
+<!-- Missing translation: 84d -->
+<!-- Missing translation: 84e -->
+<!-- Missing translation: 84f -->
+<!-- Missing translation: 191 -->
+<!-- Missing translation: 192 -->
+</Section>
+<Section name="appendingmetadata">
+<Title>
+<!-- Missing translation: 85 -->
+</Title>
+<!-- Missing translation: 86 -->
+<!-- Missing translation: 87 -->
+<!-- Missing translation: 88 -->
+<!-- Missing translation: 89 -->
+</Section>
+<Section name="addingpreviouslydefinedmetadata">
+<Title>
+<!-- Missing translation: 90 -->
+</Title>
+<!-- Missing translation: 91 -->
+<!-- Missing translation: 92 -->
+</Section>
+<Section name="updatingmetadata">
+<Title>
+<!-- Missing translation: 93 -->
+</Title>
+<!-- Missing translation: 94 -->
+<!-- Missing translation: 95 -->
+<!-- Missing translation: 96 -->
+</Section>
+<Section name="reviewingmetadata">
+<Title>
+<!-- Missing translation: 97 -->
+</Title>
+<!-- Missing translation: 98 -->
+<!-- Missing translation: 99 -->
+<Text id="100">à€à€° à€à¥à€ª à€®à€Ÿà€¹à€¿à€€à¥à€žà€à€ à€šà€¿à€µà€¡à€²à¥à€²à¥ à€€à€° à€€à€à¥à€€à€Ÿ à€à€à€£à¥à€¯à€Ÿà€ž à€µà¥à€³ à€²à€Ÿà€à€€à¥.à€à¥à€°à€à€¥à€ªà€Ÿà€² à€ªà€¡à€Šà¥à€¯à€Ÿà€µà€°à€à¥ à€à€Ÿà€® à€€à¥à€®à¥à€¹à¥ à€žà¥à€°à¥ à€ à¥à€µà€Ÿ.à€žà€°à¥à€µ 'à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ ' à€¹à¥ à€à€¿à€¡à€à¥ à€à€Ÿà€²à¥à€ à€°à€Ÿà€¹à€¿à€².</Text>
+<Text id="101">à€à¥à€µà¥à€¹à€Ÿ à€€à¥ à€à¥à€ª à€®à¥à€ à€Ÿ à€¹à¥à€€à¥,à€€à¥à€µà¥à€¹à€Ÿ à€€à¥à€®à¥à€¹à¥" All metadata" à€€à€Ÿà€²à€¿à€à¥à€žà€Ÿà€ à¥ à€à€Ÿà€³à€£à¥ à€µà€Ÿà€ªà€°à¥à€š à€€à¥à€¯à€Ÿà€€à¥à€² à€žà¥à€€à€à€­ à€à€Ÿà€³à¥ à€¶à€à€€à€Ÿ.à€šà€µà€¿à€š à€«à€¿à€²à¥à€à€°à¥à€ž à€®à€¿à€³à€µà€¿à€²à¥à€¯à€Ÿà€šà€à€€à€°, à€
+à€¶à€Ÿà€ à€à€³à¥ à€à¥à€¯à€Ÿ à€Šà¥à€¶à¥à€¯ à€žà¥à€µà€°à¥à€ªà€Ÿà€€ à€¶à€¿à€²à¥à€²à€ à€
+à€žà€£à€Ÿ-à€¯à€Ÿ (à€®à€Ÿà€¹à€¿à€€à¥à€¶à¥) à€à¥à€³à€€à€Ÿà€€.à€žà€à€ à€¬à€šà€µà€¿à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ ,à€ªà€°à€Ÿà€µà€°à¥à€€à¥à€€ à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€à€¿à€à€µà€Ÿ à€«à€¿à€²à¥à€à€° à€žà¥à€µà€à¥à€ à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€žà¥à€€à€à€­à€Ÿà€à¥à€¯à€Ÿ à€µà€°à€à¥à€¯à€Ÿ à€¬à€Ÿà€à¥à€ž à€
+à€žà€£à€Ÿ-à€¯à€Ÿ "funnel" à€à¥à€¯à€Ÿ à€à€¿à€šà¥à€¹à€Ÿà€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ.à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ à€®à€Ÿà€°à¥à€à€Šà€°à¥à€¶à€ à€®à€Ÿà€¹à€¿à€€à¥ à€®à€¿à€³à¥à€².à€à€à€Šà€Ÿ à€«à€¿à€²à¥à€à€° à€€à€¿à€¥à¥ à€µà¥à€¯à€µà€žà¥à€¥à€¿à€€ à€¬à€žà€²à¥à€¯à€Ÿà€µà€° à€žà¥à€€à€à€­à€Ÿà€€à¥à€² à€µà€°à€à¥à€¯à€Ÿ à€­à€Ÿà€à€Ÿà€à€Ÿ à€°à€à€ à€¬à€Šà€²à€€à¥. </Text>
+<Text id="102">à€«à€¿à€²à¥à€à€° à€®à€Ÿà€°à¥à€à€Šà€°à¥à€¶à€ à€¹à€¿"Simple" à€à€£à€¿  "Advanced" à€à€³ à€à€¹à¥.à€žà€Ÿà€§à¥ à€°à¥à€ªà€Ÿà€à€€à€°à€¿à€€ à€à€µà¥à€€à¥à€€à¥ à€à€Ÿà€¹à¥ à€žà¥à€€à€à€­à€Ÿà€šà€Ÿ à€à€Ÿà€³à€€à¥ à€®à¥à€¹à€£à¥à€š à€€à¥ à€«à€à¥à€€ à€
+à€¶à€Ÿà€ à€à€³à¥ à€Šà€Ÿà€à€µà€¿à€€à€Ÿà€€ à€à¥à€¯à€Ÿà€€ à€šà€¿à€¶à¥à€à€¿à€€ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€®à¥à€²à¥à€¯à¥ à€
+à€žà€€à€Ÿà€€.("*"matches all values).à€€à¥à€®à¥à€¹à¥ à€à€Ÿà€²à¥ à€à€¢à€£à¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€¯à€Ÿà€Šà¥à€€à¥à€š à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€®à¥à€²à¥à€¯à€Ÿà€à€à¥ à€šà€¿à€µà€¡ à€à€°à¥ à€¶à€à€€à€Ÿ.à€ªà¥à€°à€à€€ à€žà¥à€§à€Ÿà€°à€¿à€€ à€à€µà¥à€€à¥à€€à¥ à€šà€¿à€°à€šà€¿à€°à€Ÿà€³à¥à€¯à€Ÿ à€à¥à€³à€£à€Ÿ-à€¯à€Ÿ à€ªà¥à€°à€à¥à€°à€¿à€¯à¥à€žà€Ÿà€ à¥ à€ªà€°à€µà€Ÿà€£à€à¥ à€Šà¥à€€à¥.à€¹à¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€¬à€°à¥à€¬à€° à€žà¥à€°à€µà€Ÿà€€ à€à€°à€Ÿ,à€žà€Ÿà€®à€Ÿà€µà€¿à€·à¥à€ à€à€°à¥ à€šà€à€Ÿ,à€µà€°à¥à€à€à¥à€°à€®à€Ÿà€šà¥à€žà€Ÿà€° à€à€®à¥ à€à€£à€¿ à€¬à€°à¥à€¬à€°à¥à€šà¥ à€žà€à€ªà€Ÿà€Šà€¿à€€ à€à¥à€²à¥à€²à¥à€¯à€Ÿ à€à¥à€£à€€à¥à€¹à¥ à€žà€Ÿà€à€³à¥à€€à¥à€² à€®à¥à€²à¥à€¯à¥ à€à€à€®à¥à€à€Ÿà€à€¶à¥ à€à¥à€³à€€à¥à€² (including"*")à€à€£à€¿ à€€à¥à€®à¥à€¹à¥                                                 à€¶à¥à€µà€à¥ à€€à¥à€®à¥à€¹à¥ à€Šà¥à€ž-à€¯à€Ÿ à€à¥à€³à€£à€Ÿ-à€¯à€Ÿ à€
+à€à¥à€à€šà€Ÿ  à€šà€¿à€µà€¡à¥  à€¶à€à€€à€Ÿ à€à¥ à€µà€¿à€¶à¥à€·à¥à€ à€ªà€§à¥à€€à€€à¥à€šà¥ à€®à€Ÿà€à€¡à€²à¥à€²à¥à€¯à€Ÿ à€®à¥à€²à¥à€¯à€Ÿà€à€šà€Ÿ à€šà€®à¥à€Š à€à€°à¥ à€¶à€à€€à€Ÿ (by selecting AND) à€à€¿à€à€µà€Ÿ à€à€à€Ÿà€à€¡ à€à€ à€®à¥à€²à¥à€¯à€Ÿà€à€žà€Ÿà€ à¥  (by selecting OR) à€¹à¥à€¯à€Ÿ à€­à€Ÿà€à€Ÿà€à¥à€¯à€Ÿ à€à€Ÿà€²à¥ à€à€ à€°à€à€Ÿà€šà€Ÿ à€
+à€žà€€à¥,à€à¥.à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ à€µà¥à€à€µà¥à€à€³à¥à€¯à€Ÿ à€ªà¥à€°à€à€Ÿà€°à€Ÿà€€ à€¬à€Šà€²à€£à¥à€¯à€Ÿà€à¥ à€ªà€°à€µà€Ÿà€£à€à¥ à€Šà¥à€€à¥(assending or descending).à€à€à€Šà€Ÿ à€¹à¥ à€žà€°à¥à€µ à€à€°à¥à€š à€žà€à€ªà€²à¥à€¯à€Ÿà€šà€à€€à€° à€žà¥à€€à€à€­à€Ÿà€€à¥à€² à€šà€µà€¿à€š à€«à€¿à€²à¥à€à€° à€²à€Ÿ  à€²à€Ÿà€à¥ à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ "Set Filter"à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ.à€žà€§à¥à€¯à€Ÿà€à€Ÿ à€
+à€žà€²à¥à€²à€Ÿ à€«à€¿à€²à¥à€à€° à€à€Ÿà€¢à¥à€š à€à€Ÿà€à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥  "Clear Filter"à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ.à€¹à¥à€¯à€Ÿà€à¥ à€šà¥à€à€Š à€à€°à€Ÿ à€à¥ à€«à€¿à€²à¥à€à€° à€à€°à¥ à€žà¥à€µà€à¥à€ à€à¥à€²à€Ÿ à€€à€°à¥ à€«à€¿à€²à¥à€à€° à€à¥ à€€à€ªà€¶à¥à€²à€µà€Ÿà€° à€®à€Ÿà€¹à€¿à€€à¥ à€¶à€¿à€²à¥à€²à€ à€°à€¹à€Ÿà€¯à€²à€Ÿ à€ªà€Ÿà€¹à€¿à€à¥.</Text>
+<Text id="103">à€à€Šà€Ÿà€¹à€°à€£à€Ÿà€°à¥à€¥,"All Metadata"à€à¥à€¬à€²à€à¥ à€µà€°à¥à€à¥à€à€°à€£ à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€žà¥à€€à€à€­à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ à€à¥à€à€¿à€à¥à€¯à€Ÿ à€«à€¿à€²à¥à€à€° à€°à€à€šà¥à€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ.(a simple filter on"*") à€à€£à€¿ à€à€¢à€€à¥à€¯à€Ÿ à€à€€à€°à€€à¥à€¯à€Ÿ à€à¥à€°à€®à€Ÿà€šà¥ à€€à¥à€¯à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ.</Text>
+</Section>
+<Section name="importingpreviouslyassignedmetadata">
+<Title>
+<Text id="104">à€ªà¥à€°à¥à€µà¥ à€šà€¿à€¶à¥à€à€¿à€€ à€à¥à€²à¥à€²à€Ÿ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€žà€à€à€£à€à€Ÿà€€ à€à€£à€£à¥.</Text>
+</Title>
+<Text id="105">à€¹à€Ÿ à€µà€¿à€­à€Ÿà€ à€žà€§à¥à€¯à€Ÿà€à€Ÿ à€šà€¿à€¶à¥à€à€¿à€€ à€à¥à€²à¥à€²à€Ÿ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€žà€Ÿ à€à€¯à€Ÿà€€ à€à€°à€Ÿà€µà€Ÿ à€¯à€Ÿà€à¥ à€µà€°à¥à€£à€š à€à€°à€€à¥,à€žà€à€à¥à€°à€¹à€Ÿà€€ à€ªà¥à€°à€²à¥à€ à€®à€¿à€³à€µà€¿à€£à¥à€¯à€Ÿà€ªà¥à€°à¥à€µà¥à€ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€
+à€¶à€Ÿà€ à€ªà¥à€°à€²à¥à€à€Ÿà€à€šà€Ÿ  à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€€à¥.</Text>
+<!-- Missing translation: 106 -->
+<Text id="107">.à€à¥à€°à€à€¥à€ªà€Ÿà€² à€ªà€¡à€Šà€Ÿ à€€à€€à¥à€ªà€°à€€à¥à€šà¥ à€
+à€¶à¥ à€à€µà€¶à¥à€¯à€ à€®à€Ÿà€¹à€¿à€€à¥ à€Šà€Ÿà€à€µà€€ à€
+à€žà€€à¥.à€€à€€à¥à€à€Ÿà€³ à€€à¥à€®à¥à€¹à€Ÿà€²à€Ÿ à€¥à¥à€¡à€à¥à€¯à€Ÿà€€ à€žà¥à€à€šà€Ÿ à€Šà€¿à€²à¥à€¯à€Ÿ à€à€Ÿà€€à¥à€².à€à€£à€¿ à€šà€à€€à€° à€à€¯à€Ÿà€€ à€à¥à€²à¥à€²à¥à€¯à€Ÿ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€à€à€Ÿà€à€à¥ à€šà€Ÿà€µà¥ à€®à€¿à€³à€€à¥à€².à€¥à¥à€¡à€à¥à€¯à€Ÿà€€ à€à¥ à€®à€Ÿà€§à¥à€¯à€® à€žà€à€à€¿à€à€Ÿà€€ à€Šà€¿à€žà€€à€Ÿà€€.à€à€¯à€Ÿà€€ à€à¥à€²à¥à€²à€Ÿ  à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€žà€à€ªà€Ÿà€Šà€¿à€€ à€à€°à€€à€Ÿ à€¯à¥à€€ à€šà€Ÿà€¹à¥ à€à€¿à€à€µà€Ÿ à€€à¥à€¯à€Ÿà€€ à€¬à€Šà€² à€à€°à€€à€Ÿ à€¯à¥à€€ à€šà€Ÿà€¹à¥.à€€à¥à€¯à€Ÿà€šà€à€€à€° à€€à¥à€®à¥à€¹à¥ à€
+à€¶à€Ÿ  à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€žà€à€à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à¥ à€¶à€à€€à€Ÿ à€à¥à€¯à€Ÿà€à€šà€Ÿ à€šà€µà€¿à€š à€ªà¥à€°à€®à€Ÿà€£à€¿à€€ à€à¥à€²à¥à€²à¥ à€
+à€žà¥à€² à€šà€à€€à€° à€žà€à€à€Ÿà€€à¥à€² à€€à¥à€¯à€Ÿà€à¥à€¯à€Ÿà€¶à¥ à€à¥à€³à€£à€Ÿà€°à€Ÿ  à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€à€ à€
+à€žà€€à¥.à€šà€µà€¿à€š  à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€žà€Ÿà€ à¥ à€¹à€¿ à€ªà€§à¥à€Šà€€ à€à€ªà¥à€à€ª à€žà€à€ à€à€£à€¿  à€à€à€à€Ÿà€à€€à¥à€² à€žà€°à¥à€µà€Ÿà€€ à€à€Ÿà€žà¥à€€ à€€à¥à€¯à€Ÿà€²à€Ÿ à€žà¥à€žà€à€à€€ à€
+à€žà€£à€Ÿà€°à¥ à€¶à€¬à¥à€Š à€šà€¿à€µà€¡à€€à¥.</Text>
+<Text id="108">à€šà€à€Ÿà€¶à€Ÿà€à¥ à€€à€ªà€Ÿà€žà€£à¥ à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€€à¥à€®à¥à€¹à¥ à€šà€¿à€µà€¡à€²à¥à€²à¥à€¯à€Ÿ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€žà€à€à€Ÿà€€à¥à€š à€šà€µà€¿à€š à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€à€ à€®à€¿à€³à€µà€¿à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ "Add"à€à¥ à€šà€¿à€µà€¡ à€à€°à¥ à€¶à€à€€à€Ÿ.(à€¹à¥ à€€à¥à€µà¥à€¹à€Ÿà€ à€¶à€à¥à€¯ à€¹à¥à€à€² à€à¥à€µà¥à€¹à€Ÿ à€€à¥à€¥à¥ à€šà€¿à€µà€¡à€²à¥à€²à¥à€¯à€Ÿ à€žà€à€à€Ÿà€€à¥à€² à€à€à€à€Ÿà€à€à¥ à€šà€Ÿà€µà¥ à€à€à€žà€Ÿà€°à€à¥ à€šà€žà€€à¥à€²)."Merge"à€šà€µà€¿à€š à€à€à€à€Ÿà€à€à¥à€¯à€Ÿ à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥ à€µà€Ÿà€à€à€Ÿà€šà¥ à€à¥à€£à€€à¥à€¯à€Ÿà€¹à¥ à€à€à€Ÿ à€à€à€à€Ÿà€à¥  à€šà€¿à€µà€¡ à€à€°à€Ÿà€µà¥.à€¶à¥à€µà€à¥ "Ignore"à€à¥à€£à€€à¥à€¯à€Ÿà€¹à¥ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€²à€Ÿ à€€à¥à€¯à€Ÿ à€à€à€à€Ÿà€à€à¥à€¯à€Ÿ à€šà€Ÿà€µà€Ÿà€žà€¹à€¿à€€ à€žà¥à€à€¿à€€ à€à€°à¥ à€¶à€à€€ à€šà€Ÿà€¹à¥.à€à€à€Šà€Ÿ à€€à¥à€®à¥à€¹à¥  à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€€à¥à€² à€à€Ÿà€¹à¥ à€µà€¿à€¶à¥à€·à¥à€ à€­à€Ÿà€ à€à€žà€Ÿ à€à€¯à€Ÿà€€ à€à€°à€Ÿà€µà€Ÿ à€¹à¥ à€šà€®à¥à€Š à€à¥à€²à¥ à€€à€° , à€®à¥
+à€ªà¥à€à€à€à¥ à€®à€Ÿà€¹à€¿à€€à¥ à€¹à€¿ à€žà€à€à¥à€°à€¹à€Ÿà€žà€Ÿà€ à¥ à€à€¯à¥à€·à¥à€¯à€­à€° à€¶à€¿à€²à¥à€²à€ à€°à€Ÿà€¹à€€à¥(à€ à¥à€µà€€à€Ÿ à€¯à¥à€€à¥).</Text>
+<Text id="109">à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ .xml à€žà€à€à€¿à€à¥à€µà€° à€
+à€à¥à€ à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥ à€à¥ à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€žà€Ÿà€ à€µà¥à€š à€ à¥à€µà€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€µà€Ÿà€ªà€°à€€à€Ÿà€€,à€€à¥à€¯à€Ÿà€žà€Ÿà€ à¥  à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€µà€¿à€à€žà¥à€€ à€®à€Ÿà€°à¥à€à€Šà€°à¥à€¶à€¿à€à¥à€€à¥à€² à€
+à€§à¥à€¯à€Ÿà€¯ 2 à€ªà€¹à€Ÿ- - à€€à€®à€à¥à€¯à€Ÿ à€žà€à€à€²à€¿à€€ à€à¥à€²à¥à€²à¥à€¯à€Ÿ à€®à€Ÿà€¹à€¿à€€à¥à€à¥à€¯à€Ÿ à€¬à€Ÿà€¹à¥à€° à€
+à€§à€¿à€  à€®à€Ÿà€¹à€¿à€€à¥  à€®à€¿à€³à€µà€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥.</Text>
+</Section>
+</Section>
+<Section name="designingacollection">
+<Title>
+<Text id="110">à€€à¥à€®à€à¥à€¯à€Ÿ  à€žà€à€à¥à€°à€¹à€Ÿà€à¥ à€žà¥à€µà€°à¥à€ª à€šà€¿à€¶à¥à€à€¿à€€ à€¹à¥à€€ à€à€¹à¥.</Text>
+</Title>
+<Text id="111">à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€µà€Ÿà€ªà€°à¥à€š à€€à¥à€®à€à€Ÿ à€®à€Ÿà€¹à€¿à€€à¥ à€žà€à€à¥à€°à€¹ à€€à€¯à€Ÿà€° à€à€Ÿà€²à¥à€¯à€Ÿà€šà€à€€à€° à€€à¥à€®à¥à€¹à¥ à€ à€°à€µà¥ à€¶à€à€€à€Ÿ à€à¥,à€µà€Ÿà€à€ à€®à€Ÿà€¹à€¿à€€à¥ à€žà€à€à¥à€°à€¹à€Ÿà€€ à€à€žà€Ÿ à€ªà¥à€°à€µà¥à€¶ à€à€°à¥à€² à€à€£à€¿ à€€à¥ à€à€¶à¥  à€®à€Ÿà€¹à€¿à€€à¥ à€®à€¿à€³à€µà¥à€²? à€à¥à€£à€à¥à€£à€€à¥à€¯à€Ÿ à€ªà¥à€°à€à€Ÿà€°à€Ÿà€à€šà¥ à€µà€Ÿà€à€ à€®à€Ÿà€¹à€¿à€€à¥ à€à€Ÿà€³à¥à€²?  </Text>
+<Section name="thedesignview">
+<Title>
+<Text id="112">à€à€¿à€šà¥à€¹à€Ÿà€à€à€¿à€€ à€ªà¥à€°à€Šà€°à¥à€¶à€š.</Text>
+</Title>
+<Text id="113">à€¹à€Ÿ à€µà€¿à€­à€Ÿà€ à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ à€à€¿à€šà¥à€¹à€Ÿà€à€à€¿à€€ à€ªà¥à€°à€Šà€°à¥à€¶à€šà€Ÿà€à¥ à€à€³à€ à€à€°à¥à€š à€Šà¥à€€à¥.à€à€£à€¿ à€µà€¿à€µà¥à€§ à€Šà¥à€·à¥à€à¥à€€à¥à€š à€¹à¥à€¯à€Ÿ à€à€¿à€¡à€à¥à€à¥à€¯à€Ÿ à€à€€ à€€à¥ à€à€¶à€Ÿà€ªà¥à€°à€à€Ÿà€°à¥ à€à€Ÿà€²à€µà€Ÿà€µà¥ à€¯à€Ÿà€à¥ à€µà€°à¥à€£à€š à€à€°à€€à¥.</Text>
+<Text id="114">à€à¥à€°à€à€¥à€ªà€Ÿà€² à€ªà€¡à€Šà¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€®à€Ÿà€§à¥à€¯à€®à€Ÿà€€à¥à€š, à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ à€¯à€Ÿà€à€Ÿ à€
+à€à€Šà€Ÿà€ à€¯à¥à€à€² à€à¥ à€žà€à€à€²à€¿à€€ à€à¥à€²à¥à€²à¥à€¯à€Ÿ à€®à€Ÿà€¹à€¿à€€à¥à€à¥ à€ªà¥à€°à€à¥à€°à€¿à€¯à€Ÿ à€à€¶à€Ÿ à€ªà¥à€°à€à€Ÿà€°à¥ à€¹à¥à€€à¥ à€à€£à€¿ à€µà€Ÿà€à€à€Ÿà€à€¡à¥à€š à€à€¶à€Ÿ à€ªà¥à€°à€à€Ÿà€°à¥ à€žà€à€à¥à€°à€¹à€Ÿà€à¥ à€®à€Ÿà€¹à€¿à€€à¥ à€®à€¿à€³à€µà¥ à€à€Ÿà€à€².                  à€ªà€°à¥à€¯à€Ÿà€¯ à€¹à€Ÿ à€šà€¿à€°à€šà€¿à€°à€Ÿà€³à¥à€¯à€Ÿ à€­à€Ÿà€à€Ÿà€à€®à€§à¥à€¯à¥ à€µà€¿à€­à€Ÿà€à€²à¥à€²à€Ÿ à€
+à€žà€€à¥,à€€à¥à€¯à€Ÿà€€à¥à€² à€ªà¥à€°à€€à¥à€¯à¥à€ à€à€à€ à€¹à€Ÿ à€µà€¿à€¶à¥à€·à¥à€ à€ªà€Ÿà€€à€³à¥à€µà€°à€à¥à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€¶à¥ à€žà€à€²à€à¥à€š à€
+à€žà€€à¥. </Text>
+<Text id="115">à€¡à€Ÿà€µà¥à€¯à€Ÿ à€¬à€Ÿà€à¥à€²à€Ÿ à€µà€¿à€µà¥à€§ à€ªà¥à€°à€Šà€°à¥à€¶à€šà€Ÿà€à€à¥ à€¯à€Ÿà€Šà¥ à€
+à€žà€€à¥, à€à€£à€¿ à€à€à€µà¥à€¯à€Ÿ à€¬à€Ÿà€à¥à€²à€Ÿ à€à€Ÿà€²à¥ à€ªà¥à€°à€à¥à€°à€¿à€¯à¥à€žà€Ÿà€ à¥ à€žà€à€²à€à¥à€š à€šà€¿à€¯à€à€€à¥à€°à€ à€
+à€žà€€à€Ÿà€€. à€µà€¿à€µà¥à€§ à€ªà¥à€°à€Šà€°à¥à€¶à€š à€¬à€Šà€²à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€¯à€Ÿà€Šà€¿à€€à¥à€² à€€à¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€šà€Ÿà€µà€Ÿà€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ.</Text>
+<Text id="116">à€à€€à€°à€€à¥à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€à¥à€¯à€Ÿ à€ªà€Ÿà€¯-à€¯à€Ÿ à€à¥à€£à€€à¥à€¯à€Ÿ à€à€£à€¿ à€
+à€à¥ à€à¥à€£à€€à¥à€¯à€Ÿ à€¹à¥ à€žà€®à€à¥à€š à€à¥à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€ªà¥à€°à€¥à€®   à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€µà€¿à€à€žà¥à€€ à€®à€Ÿà€°à¥à€à€Šà€°à¥à€¶à€¿à€à¥à€€à¥à€² à€
+à€§à¥à€¯à€Ÿà€¯ 1à€à€£à€¿  à€
+à€§à¥à€¯à€Ÿà€¯ 2 à€µà€Ÿà€à€Ÿ.</Text>
+</Section>
+<Section name="plugins">
+<Title>
+<Text id="121">à€žà€à€à€²à€¿à€€ à€à¥à€²à¥à€²à¥ à€®à€Ÿà€¹à€¿à€€à¥ à€à¥à€¡à€£à¥.</Text>
+</Title>
+<Text id="122">à€¹à€Ÿ à€µà€¿à€­à€Ÿà€ à€žà€à€à¥à€°à€¹à€Ÿà€€ à€
+à€žà€£à€Ÿ-à€¯à€Ÿ à€ªà¥à€°à€²à¥à€à€Ÿà€à€šà€Ÿ à€à€žà¥ à€à¥à€¡à€Ÿà€µà¥ à€à¥à€¡à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€à€žà¥ à€šà€¿à€¶à¥à€à€¿à€€ à€à€°à€Ÿà€µà¥ à€¯à€Ÿà€à¥ à€µà€°à¥à€£à€š à€à€°à€€à¥.à€€à¥à€®à¥à€¹à¥ à€à¥à€£à€€à¥à€¯à€Ÿ à€µà€¿à€¶à¥à€·à¥à€ à€ªà¥à€°à€à€Ÿà€°à€à¥ à€ªà¥à€²à€à€¿à€šà¥à€ž  à€à€žà¥  à€µà€Ÿà€ªà€°à€²à¥,à€à¥à€£à€€à¥ à€ªà¥à€°à€®à€Ÿà€ªà€ à€€à¥à€¯à€Ÿà€à€šà€Ÿ à€à€²à€Ÿà€à€¡à¥à€š à€à€Ÿà€€à€Ÿà€€,à€à€£à€¿ à€à¥à€£à€€à¥à€¯à€Ÿ à€à€à¥à€à€Ÿà€µà€²à¥à€€ à€€à¥ à€à€¡à¥à€š à€¯à¥à€€à€Ÿà€€ à€¯à€Ÿà€à€à¥à€¹à¥ à€µà€°à¥à€£à€š à€à€°à€€à€Ÿà€€."Design"à€¯à€Ÿ à€¬à€à€£à€Ÿà€à€Ÿà€²à¥"Document Plugins" à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ.</Text>
+<Text id="123">à€ªà¥à€²à€à€¿à€š à€²à€Ÿ à€®à€¿à€³à€µà€¿à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥, "Select plugins to add"à€¯à€Ÿ à€€à€³à€Ÿà€à¥à€¯à€Ÿ à€¬à€Ÿà€à¥à€²à€Ÿ à€
+à€žà€£à€Ÿ-à€¯à€Ÿ à€à€Ÿà€²à¥ à€à€¢à€£à¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€¯à€Ÿà€Šà€¿à€€à¥à€š à€šà€¿à€µà€¡ à€à€°à¥à€š à€€à¥à€¯à€Ÿà€à€Ÿ à€µà€Ÿà€ªà€° à€à€°à€Ÿ.à€à€£à€¿ à€šà€à€€à€°  "Add Plugin" à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ."Configuring Arguments";à€šà€Ÿà€µà€Ÿà€à¥ à€à€¿à€¡à€à¥ à€Šà€¿à€žà¥ à€²à€Ÿà€à€€à¥,à€€à¥à€¯à€Ÿà€à¥ à€µà€°à¥à€£à€š à€šà€à€€à€° à€¯à¥à€€à¥.à€šà€µà€¿à€š à€ªà¥à€²à€à€¿à€šà¥à€ž à€žà€Ÿà€ à¥ à€€à¥à€®à€à¥ à€šà€¿à€¶à¥à€à€¿à€€à¥ à€à€Ÿà€²à¥à€¯à€Ÿà€šà€à€€à€° à€€à¥ "Assigned Plugins"à€à¥à€¯à€Ÿ à€¯à€Ÿà€Šà€¿à€€ à€¶à¥à€µà€à¥ à€®à€¿à€³à€µà€¿à€²à¥ à€à€Ÿà€€à€Ÿà€€.à€à¥à€°à€à€¥à€ªà€Ÿà€² à€¯à€Ÿ à€µà€³à€£à€Ÿà€®à€§à¥à€¯à¥,à€ªà¥à€°à€€à¥à€¯à¥à€ à€ªà¥à€²à€à€¿à€š,UnknownPlug à€¶à€¿à€µà€Ÿà€¯ à€žà€à€à¥à€°à€¹à€Ÿà€€ à€«à€à¥à€€ à€à€à€Šà€Ÿà€ à€žà€Ÿà€®à€Ÿà€µà€²à¥ à€à€Ÿà€ à€¶à€à€€à€Ÿà€€.à€®à¥à€ à¥à€¯à€Ÿ à€µà€³à€£à€Ÿà€®à€§à¥à€¯à¥,à€ªà¥à€²à€à€¿à€šà¥à€ž à€à¥à€ª à€µà¥à€³à€Ÿ à€Šà€¿à€žà¥ à€¶à€à€€à€Ÿà€€. à€€à¥ à€à€à¥à€à€Ÿà€µà€²à€¿à€€ à€¬à€žà€µà€¿à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€¹à¥ à€à€ªà€¯à¥à€à¥ à€ªà€¡à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ _exp argument à€¹à¥à€¯à€Ÿ à€ªà¥à€°à€à¥à€°à€¿à€¯à¥à€à¥ à€à€°à€ à€­à€Ÿà€žà¥ à€¶à€à€€à¥.</Text>
+<Text id="123aa">à€ªà¥à€²à€à€¿à€š à€à¥ à€¥à¥à€¡à€à¥à€¯à€Ÿà€€ à€®à€Ÿà€¹à€¿à€€à¥ à€ªà€Ÿà€¹à€£à¥à€¯à€Ÿà€ à¥  "Select plugin to add" à€¯à€Ÿ à€à€Ÿà€²à¥-à€à€¢à€£à¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€¯à€Ÿà€Šà€¿à€€à¥à€š à€€à¥à€¯à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ,à€šà€à€€à€° à€žà€à€à€£à€à€®à¥à€·à€ à€€à¥à€¯à€Ÿà€µà€° à€ à¥à€à€š à€®à€Ÿà€à¥à€ªà¥à€¢à¥ à€à€°à€Ÿà€µà¥.à€€à€³-à€à€¿à€ª à€€à¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€ªà¥à€°à€Šà€°à¥à€¶à€šà€Ÿà€žà€¹à€¿à€€ à€Šà€¿à€žà¥ à€²à€Ÿà€à¥à€². </Text>
+<Text id="124">à€ªà¥à€²à€à€¿à€š à€²à€Ÿ à€à€Ÿà€¢à¥à€š à€à€Ÿà€à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥,à€¯à€Ÿà€Šà€¿à€€à¥à€š à€€à¥à€¯à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ à€à€£à€¿  "Remove Plugin"à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ.</Text>
+<Text id="125">à€ªà¥à€²à€à€¿à€šà¥à€ž à€à¥ à€šà€¿à€¶à¥à€à€¿à€€à¥       à€ªà¥à€°à€µà€¿à€²à¥à€¯à€Ÿà€šà€à€€à€° à€¹à¥à€€à¥.à€€à¥à€¯à€Ÿà€à€šà€Ÿ à€à€®à¥ à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥,à€ªà¥à€²à€à€¿à€š à€à¥ à€¯à€Ÿà€Šà€¿à€€à¥à€š  à€šà€¿à€µà€¡ à€à€°à€Ÿ à€à€£à€¿  "Configure Plugin"à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ(à€à€¿à€à€µà€Ÿ à€ªà¥à€²à€à€¿à€š à€µà€° à€Šà¥à€šà€Šà€Ÿ à€à€³ à€Šà€Ÿà€¬à€Ÿ)."Configuring Arguments"à€®à€§à¥à€² à€žà€à€µà€Ÿà€Š à€µà€¿à€¶à¥à€·à¥à€       à€žà€Ÿà€ à¥ à€µà€¿à€µà¥à€§ à€šà€¿à€¯à€à€€à¥à€°à€à€Ÿà€žà€¹à€¿à€€ à€Šà€¿à€žà¥ à€²à€Ÿà€à€€à€Ÿà€€.</Text>
+<Text id="126">à€€à€¿à€¥à¥ à€µà¥à€à€µà¥à€à€³à¥à€¯à€Ÿ à€ªà¥à€°à€à€Ÿà€°à€à¥ à€šà€¿à€¯à€à€€à¥à€°à€à¥ à€
+à€žà€€à€Ÿà€€.à€€à¥à€¯à€Ÿà€€à¥à€² à€à€Ÿà€¹à¥ à€€à€ªà€Ÿà€ž à€°à€à€Ÿà€šà¥ à€
+à€žà€€à€Ÿà€€,à€à€£à€¿ à€à€à€Ÿà€µà€°  à€à€³ à€Šà€Ÿà€¬à€€à€Ÿà€ à€€à¥à€¯à€Ÿà€à¥à€¯à€Ÿà€¶à¥ à€à¥à€³à€£à€Ÿà€°à€Ÿ à€ªà€°à¥à€¯à€Ÿà€¯ à€ªà¥à€²à€à€¿à€š à€®à€§à¥à€¯à¥ à€®à€¿à€³à€µà€¿à€²à€Ÿ à€à€Ÿà€€à¥.à€à€€à€° à€²à€¿à€à€¿à€€ à€®à€Ÿà€²à€¿à€à€Ÿ ,à€€à¥à€¯à€Ÿà€à€à€Ÿ à€€à€ªà€Ÿà€ž à€°à€à€Ÿà€šà€Ÿ à€à€£à€¿ à€²à€¿à€à€¿à€€ à€à¥à€·à¥à€€à¥à€°à€Ÿà€à€žà€¹à€¿à€€ à€
+à€žà€€à€Ÿà€€.argument à€²à€Ÿ à€žà€®à€°à¥à€¥ à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€°à€à€Ÿà€šà¥à€¯à€Ÿà€µà€° à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ,à€šà€à€€à€° à€€à¥à€¯à€Ÿà€à¥à€¯à€Ÿà€¶à¥ à€à¥à€³à€£à€Ÿà€°à€Ÿ à€®à€à€à¥à€° (à€šà¥à€¹à€®à¥à€à¥ à€ªà€§à¥à€Šà€€,à€žà€à€à€¿à€à¥à€à€Ÿ à€®à€Ÿà€°à¥à€ à€.) à€°à€à€Ÿà€šà¥à€¯à€Ÿà€€ à€à€Ÿà€à€ª à€à€°à€Ÿ.à€à€€à€°  à€à€Ÿà€²à¥-à€à€¢à€£à¥à€¯à€Ÿà€à¥ à€®à¥à€šà¥ à€
+à€žà€€à€Ÿà€€ à€à¥à€¯à€Ÿà€®à€§à¥à€š à€€à¥à€®à¥à€¹à¥ à€Šà€¿à€²à¥à€²à¥à€¯à€Ÿ à€®à¥à€²à¥à€¯à€Ÿà€à€à€¿à€€ à€žà€à€à€Ÿà€€à¥à€š à€šà€¿à€µà€¡ à€à€°à¥ à€¶à€à€€à€Ÿ.argument à€à€Ÿà€¯ à€à€°à¥ à€¶à€à€€à€Ÿà€€ à€¹à¥ à€¶à€¿à€à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€à€à€Ÿ à€à¥à€·à€£à€Ÿà€à€°à€¿à€€à€Ÿ  à€žà€à€à€£à€à€®à¥à€·à€ à€€à¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€šà€Ÿà€µà€Ÿà€µà€° à€ à¥à€à€š à€®à€Ÿà€à¥à€ªà¥à€¢à¥ à€à€°à€Ÿà€µà€Ÿ à€à€£à€¿ à€®à€ à€€à¥à€¯à€Ÿà€à¥ à€µà€°à¥à€£à€šà€Ÿà€žà€¹à€¿à€€ à€®à€Ÿà€¹à€¿à€€à¥ à€Šà€¿à€žà¥ à€²à€Ÿà€à¥à€².</Text>
+<Text id="127">à€à¥à€µà¥à€¹à€Ÿ à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ configuration à€¬à€Šà€²à€Ÿà€¯à€à¥ à€
+à€žà¥à€² à€€à¥à€µà¥à€¹à€Ÿ à€¬à€Šà€² à€®à€Ÿà€šà¥à€¯ à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€à€£à€¿ à€žà€à€µà€Ÿà€Š à€¬à€à€Š à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥  "OK"à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ,à€à€¿à€à€µà€Ÿ à€à¥à€£à€€à¥à€¯à€Ÿà€¹à€¿ plugin arguments à€®à€§à¥ à€¬à€Šà€² à€š à€à€°à€€à€Ÿ  à€žà€à€µà€Ÿà€Š à€¬à€à€Š à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥  "Cancel"à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ.</Text>
+<!-- Missing translation: 128 -->
+</Section>
+<Section name="searchindexes">
+<Title>
+<Text id="134">à€žà¥à€à¥à€à€šà€Ÿ à€¶à¥à€§à€£à¥.</Text>
+</Title>
+<!-- Missing translation: si-1 -->
+<!-- Missing translation: si-2 -->
+<!-- Missing translation: si-2a -->
+<!-- Missing translation: si-3 -->
+<!-- Missing translation: s1-3a -->
+<!-- Missing translation: si-4 -->
+<!-- Missing translation: si-5 -->
+<!-- Missing translation: si-6 -->
+<!-- Missing translation: si-7 -->
+<!-- Missing translation: si-8 -->
+<!-- Missing translation: si-9 -->
+<!-- Missing translation: si-10 -->
+<!-- Missing translation: si-11 -->
+<!-- Missing translation: si-12 -->
+</Section>
+<Section name="partitionindexes">
+<Title>
+<Text id="143">à€µà€¿à€­à€Ÿà€à€²à¥à€²à¥à€¯à€Ÿ à€žà¥à€à¥.</Text>
+</Title>
+<!-- Missing translation: 144 -->
+<!-- Missing translation: 145 -->
+<!-- Missing translation: 146 -->
+<Section name="definefilters">
+<Title>
+<Text id="147">à€«à€¿à€²à¥à€à€°à¥à€ž à€à¥ à€µà¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€Šà¥à€£à¥.</Text>
+</Title>
+<Text id="148">à€«à€¿à€²à¥à€à€°à¥à€ž à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ à€žà€¹-à€žà€à€à¥à€°à€¹à€Ÿà€€à¥à€² à€žà€°à¥à€µ à€žà€à€à€²à€¿à€€ à€à¥à€²à¥à€²à¥ à€®à€Ÿà€¹à€¿à€€à¥ à€žà¥à€à¥à€€ à€
+à€žà€²à¥à€²à¥ à€à¥ à€Šà€¿à€²à¥à€²à¥à€¯à€Ÿ à€à€°à€Ÿà€à€¡à¥à€¯à€Ÿà€€à¥à€² à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€®à¥à€²à¥à€¯à€Ÿà€à€¶à¥ à€à¥à€³à€€à€Ÿà€€ à€
+à€¶à€Ÿà€à€šà€Ÿ à€à€à€€à¥à€°à€¿à€€ à€à€£à€£à¥à€¯à€Ÿà€à¥ à€ªà€°à€µà€Ÿà€£à€à¥ à€Šà¥à€€à€Ÿà€€.</Text>
+<Text id="149">à€«à€¿à€²à¥à€à€° à€à¥ à€šà€¿à€°à¥à€®à¥à€€à¥ à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ "Define Filters"à€¹à¥à€¯à€Ÿ à€¬à€à€£à€Ÿà€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ.à€à€£à€¿ "Subcollection filter name:" à€à¥à€¯à€Ÿ à€à¥à€·à¥à€€à¥à€°à€Ÿà€€à¥à€š à€šà€µà€¿à€š à€«à€¿à€²à¥à€à€°à¥à€ž à€žà€Ÿà€ à¥ à€€à¥à€¯à€Ÿà€€ à€šà€Ÿà€µà€Ÿà€à€Ÿ à€ªà¥à€°à€µà¥à€¶ à€à€°à€Ÿ.à€šà€à€€à€° à€
+à€¶à¥ à€žà€à€à€²à€¿à€€ à€à¥à€²à¥à€²à¥ à€®à€Ÿà€¹à€¿à€€à¥ à€®à€¿à€³à€µà€Ÿ à€à¥ à€à€à€€à€° à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€à€à€ à€à€¿à€à€µà€Ÿ à€ªà¥à€°à€¶à¥à€šà€Ÿà€€à¥à€² à€šà€Ÿà€µà€Ÿà€¶à¥ à€à¥à€³à€£à¥à€¯à€Ÿà€ž à€µà€¿à€°à¥à€§ à€à€°à€€à¥à€².à€à¥à€³à€µà€£à¥ à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€ªà€§à¥à€Šà€€à¥à€šà¥ à€ªà¥à€°à€µà¥à€¶ à€à€°à€Ÿ.à€€à¥à€®à¥à€¹à¥ "Excluding"à€žà€à€à€²à€¿à€€ à€à¥à€²à¥à€²à¥ à€®à€Ÿà€¹à€¿à€€à¥ à€à¥ à€«à€¿à€²à¥à€à€°à¥à€žà€¶à¥ .à€à¥à€³à€£à€Ÿà€°à¥ à€
+à€žà¥à€² à€à€¿à€à€µà€Ÿ "Excluding"à€€à¥à€¯à€Ÿà€à€šà€Ÿ à€à€°à¥ à€¶à€à€€à€Ÿ.à€¶à¥à€µà€à¥ à€€à¥à€®à¥à€¹à¥ à€à¥à€£à€€à€Ÿà€¹à¥ à€žà€°à¥à€µà¥à€€à¥à€à¥à€·à¥à€  PERL à€šà€®à¥à€Š à€à€°à¥ à€¶à€à€€à€Ÿ à€à¥à€µà¥à€¹à€Ÿ .à€à¥à€³à€µà€£à¥ à€à€°à€Ÿà€¯à€à¥ à€
+à€žà¥à€² à€€à¥à€µà¥à€¹à€Ÿ à€šà¥à€¹à€®à¥à€ªà¥à€°à€®à€Ÿà€šà¥à€ à€€à¥à€¯à€Ÿ à€à¥à€à€¡à¥à€¯à€Ÿà€à€Ÿ à€µà€Ÿà€ªà€° à€à€°à€Ÿà€µà€Ÿ.       à€¶à¥à€µà€à¥       à€à¥à€¯à€Ÿ à€¯à€Ÿà€Šà€¿à€€ à€«à€¿à€²à¥à€à€° à€®à€¿à€³à€µà€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥          à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ."	
+source::15	"For many controls, if you station the mouse over them a "tool tip" appears that says what they do.
+	</Text>
+<Text id="150">à€«à€¿à€²à¥à€à€° à€à€Ÿà€¢à¥à€š à€à€Ÿà€à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€¯à€Ÿà€Šà€¿à€€à¥à€š à€€à¥à€¯à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ à€à€£à€¿  "Remove Filter" à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ.	</Text>
+<Text id="151">"à€«à€¿à€²à¥à€à€° à€®à€§à¥à€¯à¥ à€Šà¥à€°à¥à€žà¥à€€à¥ à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€¯à€Ÿà€Šà€¿à€€à¥à€š à€€à¥à€¯à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ,à€žà€à€ªà€Ÿà€Šà€¿à€€ à€šà€¿à€¯à€à€€à¥à€°à€£à€Ÿà€à€®à€§à¥à€¯à¥ à€Šà€¿à€žà€£à€Ÿ-à€¯à€Ÿ à€à¥à€£à€€à¥à€¯à€Ÿà€¹à¥ à€®à¥à€²à¥à€¯à€Ÿà€ à€®à€§à¥à€¯à¥ à€¬à€Šà€² à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ "Replace Filter"à€µà€° à€¬à€Šà€² à€žà¥à€µà¥à€à€Ÿà€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€à€³ à€Šà€Ÿà€¬à€Ÿ."	</Text>
+<Text id="151a">Defining filters à€¹à¥ à€žà€¹-à€žà€à€à¥à€°à€¹à€Ÿà€à¥ à€šà€¿à€°à¥à€®à¥à€€à¥ à€à€°à¥ à€¶à€à€€ à€šà€Ÿà€¹à¥. à€žà€¹-à€žà€à€à¥à€°à€¹à€Ÿà€à¥ à€¹à¥ <AutoText key="glidict::CDM.SubcollectionManager.Subindex_Controls"/>, à€šà€®à¥à€Š à€à¥à€²à¥à€²à¥ à€
+à€žà€€à€Ÿà€€ à€€à¥ à€«à€¿à€²à¥à€à€°à¥à€ž à€µà€° à€¬à¥à€€à€²à¥à€²à¥ à€
+à€žà€€à€Ÿà€€ à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ à€«à€à¥à€€ à€€à¥à€¯à€Ÿà€à¥ à€µà¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€Šà¥à€¯à€Ÿà€µà¥ à€²à€Ÿà€à¥à€².	</Text>
+</Section>
+<Section name="assignpartitions">
+<Title>
+<!-- Missing translation: 152 -->
+</Title>
+<Text id="153">à€à€ à€à€¿à€à€µà€Ÿ à€
+à€§à€¿à€ à€žà€¹-à€žà€à€à¥à€°à€¹ à€«à€¿à€²à¥à€à€°à¥à€ž à€µà¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€Šà¥à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ Assign Partitions à€¯à€Ÿ à€à€³à¥à€à€Ÿ à€à€ªà€¯à¥à€ à€€à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€žà¥à€à¥ à€¬à€Ÿà€à€§à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€à€°à€Ÿà€µà€Ÿ.à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ à€ªà€Ÿà€¹à€¿à€à¥ à€
+à€žà€²à¥à€²à¥à€¯à€Ÿ à€«à€¿à€²à¥à€à€° à€à€¿à€à€µà€Ÿ à€«à€¿à€²à¥à€à€°à¥à€ž à€à¥"Defined Subcollection Filters" à€à¥à€¯à€Ÿ à€¯à€Ÿà€Šà€¿à€€à¥à€š  à€šà€¿à€µà€¡ à€à€°à€Ÿ à€à€£à€¿ "Add Partition" à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ.à€ªà¥à€°à€€à¥à€¯à¥à€ à€µà€¿à€­à€Ÿà€à¥à€€ à€¹à€Ÿ à€žà€¹-à€žà€à€à¥à€°à€¹à€Ÿà€à€Ÿ à€šà€¿à€à€Ÿà€² à€šà€®à¥à€Š à€à€°à¥à€² à€à¥ à€žà€à€à€²à€¿à€€ à€à¥à€²à¥à€²à¥à€¯à€Ÿ à€®à€Ÿà€¹à€¿à€€à¥à€²à€Ÿ à€žà€Ÿà€®à€Ÿà€µà¥à€š à€à¥à€à€²,à€à¥ à€µà€¿à€­à€Ÿà€à¥à€€à€Ÿà€à¥à€¯à€Ÿ à€à¥à€£à€€à¥à€¯à€Ÿà€¹à¥ à€«à€¿à€²à¥à€à€° à€¶à¥ à€žà€à€¬à€à€§à€¿à€€ à€
+à€žà¥à€²,à€€à¥à€¯à€Ÿà€à¥à€¯à€Ÿà€¶à¥ à€à¥à€³à€£à€Ÿà€°à€Ÿ à€
+à€žà¥à€².</Text>
+<Text id="154a">à€µà€¿à€­à€Ÿà€à¥à€€à€Ÿà€à¥ à€žà¥à€µà€°à¥à€ª à€¬à€Šà€²à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€¯à€Ÿà€Šà€¿à€€à¥à€š à€€à¥à€¯à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ.à€«à€¿à€²à¥à€à€° à€®à€§à¥à€¯à¥ à€¬à€Šà€² à€à€¡à€µà¥à€š à€à€£à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥, à€à€£à€¿<AutoText key="glidict::CDM.SubcollectionIndexManager.Replace_Subindex"/>à€¯à€Ÿà€à¥à€¯à€Ÿ à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ. </Text>
+<Text id="154">à€µà€¿à€­à€Ÿà€à¥à€€ à€à€Ÿà€¢à¥à€š à€à€Ÿà€à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€¯à€Ÿà€Šà€¿à€€à¥à€š à€€à¥à€¯à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ à€à€£à€¿"Remove Partition" à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ.</Text>
+<Text id="154b">à€
+à€¶à¥ à€à€à¥à€à€Ÿ à€à¥ à€µà€¿à€­à€Ÿà€à¥à€€à¥ à€šà€®à¥à€Š à€à¥à€²à¥à€²à¥à€¯à€Ÿ  Assigned Partitions à€à¥à€¯à€Ÿ à€¯à€Ÿà€Šà€¿à€€ à€à€à¥à€à€Ÿ à€Šà€¿à€²à¥à€¯à€Ÿà€µà€° à€à€Ÿà€²à¥ à€
+à€žà€²à¥à€²à¥à€¯à€Ÿ à€®à¥à€šà¥à€µà€°à¥à€² à€¶à¥à€§ à€ªà€Ÿ à€µà€° à€Šà€¿à€žà¥ à€²à€Ÿà€à€€à¥à€² à€€à¥à€¯à€Ÿà€žà€Ÿà€ à¥  <AutoText key="glidict::CDM.Move.Move_Up"/> à€à€£à€¿ <AutoText key="glidict::CDM.Move.Move_Up"/>à€¬à€à€£à€Ÿà€à€à€Ÿ à€µà€Ÿà€ªà€° à€Šà€¿à€²à¥à€²à¥ à€¹à€¿  à€à€à¥à€à€Ÿ à€¬à€Šà€²à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€à€°à€Ÿ.</Text>
+<Text id="155">à€à¥à€à¥à€š à€à€à€Ÿà€Šà€Ÿ à€µà€¿à€­à€Ÿà€à¥à€€ à€€à€¯à€Ÿà€° à€à€Ÿà€²à¥à€¯à€Ÿà€ž,à€¯à€Ÿà€Šà€¿à€€à¥à€š à€€à¥à€¯à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ à€à€£à€¿  <AutoText key="glidict::CDM.SubcollectionIndexManager.Set_Default_Subindex"/> à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ. </Text>
+<Text id="155a">à€à¥ à€šà€Ÿà€µà¥ à€¶à¥à€§ à€ªà€Ÿà€šà€Ÿà€à€µà€°à€¿à€² à€à€Ÿà€²à¥ à€à€Ÿà€à€²à¥à€²à¥à€¯à€Ÿ à€µà€¿à€­à€Ÿà€à¥à€€ à€¯à€Ÿà€Šà€¿à€žà€Ÿà€ à¥ à€µà€Ÿà€ªà€°à€²à¥à€²à¥ à€à€¹à¥à€€ à€€à¥ <AutoText key="glidict::CDM.GUI.SearchMetadata"/>à€¯à€Ÿà€€ à€²à€Ÿà€µà€²à¥ à€à€Ÿà€€à€Ÿà€€,à€¹à€Ÿ <AutoText key="glidict::GUI.Format"/> à€¯à€Ÿ à€€à€Ÿà€µà€Šà€Ÿà€šà€Ÿà€à€Ÿà€­à€Ÿà€ à€
+à€žà€€à¥. (see <Reference target="searchmetadatasettings"/>).</Text>
+</Section>
+<Section name="assignlanguages">
+<Title>
+<Text id="156">à€­à€Ÿà€·à€Ÿ à€šà¥à€®à¥à€š à€Šà¥à€£à¥.</Text>
+</Title>
+<Text id="157">à€¹à€Ÿ à€µà€¿à€­à€Ÿà€ à€¯à€Ÿà€à¥ à€€à€ªà€¶à¥à€²à€µà€Ÿà€° à€®à€Ÿà€¹à€¿à€€à¥ à€Šà¥à€€à¥ à€à¥ à€µà€¿à€¶à¥à€·à¥à€ à€­à€Ÿà€·à¥à€€à¥à€² à€¶à¥à€§ à€šà€¿à€°à¥à€Šà¥à€¶à€¿à€à¥à€µà€° à€®à€°à¥à€¯à€Ÿà€Šà€Ÿ à€à€¶à€Ÿ à€à€Ÿà€²à€Ÿà€µà¥à€¯à€Ÿà€€. à€€à¥à€®à¥à€¹à¥ à€¹à¥ à€µà€¿à€­à€Ÿà€à¥à€€ à€šà€¿à€°à¥à€®à€Ÿà€£ à€à€°à¥à€š à€€à¥à€¯à€Ÿà€à€Ÿ à€µà€Ÿà€ªà€° à€à€°à¥ à€¶à€à€€à€Ÿ.à€€à¥à€¯à€Ÿà€žà€Ÿà€ à¥   "Partition Indexes" à€à¥à€¯à€Ÿ à€ªà¥à€°à€Šà€°à¥à€¶à€šà€Ÿà€€à¥à€š "Assign Languages"  à€¯à€Ÿ à€à€³à¥à€à€Ÿ à€µà€Ÿà€ªà€° à€à€°à€Ÿ.</Text>
+<Text id="158">à€šà€µà€¿à€š à€­à€Ÿà€·à€Ÿ à€µà€¿à€­à€Ÿà€à¥à€€ à€®à€¿à€³à€µà€¿à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥  "Assign Languages"à€¹à¥à€¯à€Ÿ à€à€³à¥à€à€Ÿ à€µà€Ÿà€ªà€° à€€à¥à€¯à€Ÿà€à€à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€žà¥à€à¥ à€¬à€Ÿà€à€§à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€à€°à€Ÿà€µà€Ÿ. "Languages to add"à€¯à€Ÿ à€¯à€Ÿà€Šà€¿à€€à¥à€š à€à€ à€à€¿à€à€µà€Ÿ à€
+à€šà¥à€ à€­à€Ÿà€·à€Ÿà€à€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ à€à€£à€¿   "Add Partition"à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ. </Text>
+<Text id="158a">à€
+à€žà€²à¥à€²à¥ à€µà€¿à€­à€Ÿà€à¥à€€ à€¬à€Šà€²à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥  "Assigned Language Partitions"à€¯à€Ÿà€Šà€¿à€€à¥à€š à€€à¥à€¯à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ,à€šà€¿à€µà€¡à€²à¥à€²à¥à€¯à€Ÿ à€­à€Ÿà€·à¥à€€ à€¬à€Šà€² à€à€¡à€µà¥à€š à€à€£à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ "Languages to add" à€¯à€Ÿ à€¯à€Ÿà€Šà€¿à€à¥à€¯à€Ÿ à€à€Ÿà€²à¥ "Replace Partition" à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ. </Text>
+<Text id="159">à€­à€Ÿà€·à€Ÿ à€µà€¿à€­à€Ÿà€à¥à€€ à€à€Ÿà€¢à¥à€š à€à€Ÿà€à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥  "Assigned Language Partitions" à€¯à€Ÿ à€¯à€Ÿà€Šà€¿à€€à¥à€š à€€à¥à€¯à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ à€à€£à€¿ "Remove Partition" à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ. </Text>
+<Text id="159a">à€­à€Ÿà€·à€Ÿ à€µà€¿à€­à€Ÿà€à¥à€€à€Ÿà€²à€Ÿ à€Šà€¿à€²à¥à€²à¥ à€à€à¥à€à€Ÿ à€¹à€¿ à€µà€¿à€¶à¥à€·à€€à€Ÿ à€šà¥à€®à¥à€š à€Šà€¿à€²à¥à€²à¥à€¯à€Ÿ à€­à€Ÿà€·à€Ÿ à€µà€¿à€­à€Ÿà€à¥à€€à€Ÿà€€à¥à€² à€¯à€Ÿà€Šà€¿à€€ à€à€à¥à€à€Ÿ à€Šà€¿à€²à¥à€¯à€Ÿà€ž à€€à¥à€¯à€Ÿ à€¶à¥à€§ à€ªà€Ÿà€šà€Ÿà€à€µà€°à€¿à€² à€žà¥à€µà€¿à€§à€Ÿ à€€à¥à€¯à€Ÿà€€ à€Šà€¿à€žà€€à€Ÿà€€.à€Šà€¿à€²à¥à€²à¥ à€à€à¥à€à€Ÿ à€¬à€Šà€²à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ <AutoText key="glidict::CDM.Move.Move_Up"/> à€¯à€Ÿ à€¬à€à€£à€Ÿà€à€Ÿ à€µà€Ÿà€ªà€° à€à€°à€Ÿà€µà€Ÿ.</Text>
+<Text id="160">à€­à€Ÿà€·à€Ÿ à€µà€¿à€­à€Ÿà€à¥à€€ à€à¥à€à¥à€š à€žà¥à€ à€à€Ÿà€²à¥à€¯à€Ÿà€µà€° à€¯à€Ÿà€Šà€¿à€€à¥à€š à€€à¥à€¯à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ à€à€£à€¿ "Set Default" à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ. </Text>
+<Text id="160a">à€¶à¥à€§ à€ªà€Ÿà€šà€Ÿà€à€µà€°à€¿à€² à€à€Ÿà€²à¥ à€à€Ÿà€à€£à¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€¯à€Ÿà€Šà€¿à€€à¥à€² à€­à€Ÿà€·à€Ÿ à€µà€¿à€­à€Ÿà€à¥à€€à€Ÿà€à€žà€Ÿà€ à¥ à€µà€Ÿà€ªà€°à€²à¥à€²à¥ à€šà€Ÿà€µà¥ <AutoText key="glidict::CDM.GUI.SearchMetadata"/>à€¯à€Ÿà€€ à€žà¥à€ à€à€°à€€à€Ÿ à€¯à¥à€µà¥ à€¶à€à€€à€Ÿà€€.à€€à¥ <AutoText key="glidict::GUI.Format"/>  à€¯à€Ÿ à€€à€Ÿà€µà€Šà€Ÿà€šà€Ÿà€à€Ÿ à€­à€Ÿà€ à€
+à€žà€€à¥. (see <Reference target="searchmetadatasettings"/>).</Text>
+</Section>
+</Section>
+<Section name="classifiers">
+<Title>
+<Text id="166">à€µà€°à¥à€à¥à€à€°à€£à€à€°à¥à€€à¥à€¯à€Ÿà€à€šà€Ÿ à€à€Ÿà€³à€£à¥.</Text>
+</Title>
+<Text id="167">à€¹à€Ÿ à€µà€¿à€­à€Ÿà€  "classifiers"à€šà€¿à€¶à¥à€à¥à€€ à€à€žà¥ à€à€°à€Ÿà€µà¥, à€à¥ à€žà€à€à¥à€°à€¹à€Ÿà€²à€Ÿ à€à€Ÿà€³à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€µà€Ÿà€ªà€°à€²à¥ à€à€Ÿà€€à€Ÿà€€,à€€à¥à€¯à€Ÿà€à€à¥ à€µà€°à¥à€£à€š à€à€°à€€à€Ÿà€€. "Design"à€¯à€Ÿ à€¬à€à€£à€Ÿà€à€Ÿà€²à¥ "Browsing Classifiers"à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ.</Text>
+<!-- Missing translation: 168 -->
+<Text id="168a">à€µà€°à¥à€à¥à€à€°à€£à€à€°à¥à€€à¥à€¯à€Ÿà€à€à¥ à€¥à¥à€¡à€à¥à€¯à€Ÿà€€ à€®à€Ÿà€¹à€¿à€€à¥ à€ªà€Ÿà€¹à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥,"Select classifier to add"à€¯à€Ÿ à€à€Ÿà€²à¥-à€à€¢à€£à¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€¯à€Ÿà€Šà€¿à€€à¥à€š à€€à¥à€¯à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ,à€šà€à€€à€° à€žà€à€à€£à€à€®à¥à€·à€ à€€à¥à€¯à€Ÿà€µà€° à€ à¥à€µà¥à€š à€®à€Ÿà€à¥à€ªà¥à€¢à¥ à€à€°à€Ÿ.à€€à€³-à€à€¿à€ªà¥à€€ à€€à¥à€¯à€Ÿà€à¥ à€µà€°à¥à€£à€š à€Šà€¿à€žà¥ à€²à€Ÿà€à¥à€².</Text>
+<Text id="168b"> à€ªà¥à€°à€€à¥à€¯à¥à€ à€µà€°à¥à€à¥à€à€°à€£à€à€°à¥à€€à¥à€¯à€Ÿà€à€²à€Ÿ à€à¥à€ªà€¶à¥ à€à¥à€°à€à€¥ à€žà€Ÿà€°à€Ÿà€à€¶ à€
+à€žà€€à€Ÿà€€ à€
+à€žà¥ à€¶à€à€€à€Ÿà€€,à€à¥ à€à€à¥à€€à¥à€žà€¹ à€
+à€žà¥ à€¶à€à€€à€Ÿà€€.à€®à€¹à€€à¥à€µà€Ÿà€à¥à€¯à€Ÿ  à€à¥à€°à€à€¥à€Ÿà€à¥à€¯à€Ÿ à€žà€Ÿà€°à€Ÿà€à€¶à€Ÿà€€ "metadata"à€žà€®à€Ÿà€µà€¿à€·à¥à€ à€
+à€žà€€à€Ÿà€€ à€à¥ à€
+à€¶à€Ÿ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à€šà€Ÿ à€šà€®à¥à€Š à€à€°à€€à€Ÿà€€,à€à¥à€¯à€Ÿà€€ à€žà€à€à€²à€¿à€€ à€à¥à€²à¥à€²à¥ à€®à€Ÿà€¹à€¿à€€à¥à€à¥ à€µà€°à¥à€à¥à€à€°à€£ à€à¥à€²à¥à€²à¥ à€
+à€žà€€à¥,à€à€£à€¿ "buttonname"à€¹à¥ à€šà€Ÿà€µ à€šà¥à€µà€¿à€à¥à€¶à€š à€žà¥à€€à€à€­à€Ÿà€€ à€Šà€¿à€žà¥ à€²à€Ÿà€à€€à¥.</Text>
+<Text id="169"> à€µà€°à¥à€à¥à€à€°à€£à€à€°à¥à€€à¥à€¯à€Ÿà€à€²à€Ÿ à€à€Ÿà€¢à¥à€š à€à€Ÿà€à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€¯à€Ÿà€Šà€¿à€€à¥à€š à€€à¥à€¯à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ à€à€£à€¿ "Remove Classifier"  à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ. </Text>
+<Text id="170"> à€µà€°à¥à€à¥à€à€°à€£à€à€°à¥à€€à¥à€¯à€Ÿà€à€à¥à€¯à€Ÿ à€à¥à€°à€à€¥à€Ÿà€à¥à€¯à€Ÿ à€žà€Ÿà€°à€Ÿà€à€¶à€Ÿà€®à€§à¥ à€¬à€Šà€² à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€¯à€Ÿà€Šà€¿à€€à¥à€š à€€à¥à€¯à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ  à€à€£à€¿  "Configure Classifier" (or double-click on the classifier in the list).à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ.  </Text>
+<Text id="171">à€žà€à€à¥à€°à€¹à€Ÿà€€à¥à€² à€šà¥à€µà€¿à€à¥à€¶à€š  à€žà¥à€€à€à€­à€Ÿà€€à¥à€² à€µà€°à¥à€à¥à€à€°à€£à€à€°à¥à€€à¥à€¯à€Ÿà€à€à¥à€¯à€Ÿ à€à€à¥à€à¥à€µà€°à€€à¥ à€¯à¥à€¥à¥ à€€à¥à€¯à€Ÿà€à€Ÿ à€ªà€°à€¿à€£à€Ÿà€® à€¹à¥à€ à€¶à€à€€à¥. à€€à¥à€¯à€Ÿà€®à€§à¥ à€¬à€Šà€² à€à€°à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥, à€à¥à€¯à€Ÿ à€µà€°à¥à€à¥à€à€°à€£à€à€°à¥à€€à¥à€¯à€Ÿà€à€®à€§à¥ à€¬à€Šà€² à€à€°à€Ÿà€¯à€à€Ÿ à€à€¹à¥, à€€à¥à€¯à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à€°à€Ÿ  à€à€£à€¿  "Move Up" or "Move Down" à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ.  </Text>
+<!-- Missing translation: 172 -->
+</Section>
+</Section>
+<Section name="producingthecollection">
+<Title>
+<!-- Missing translation: 193 -->
+</Title>
+<!-- Missing translation: 194 -->
+<Section name="thecreateview">
+<Title>
+<!-- Missing translation: 195 -->
+</Title>
+<!-- Missing translation: 196 -->
+<!-- Missing translation: 196a -->
+<!-- Missing translation: 197 -->
+</Section>
+<Section name="builderrors">
+<Title>
+<!-- Missing translation: 199a -->
+</Title>
+<!-- Missing translation: 199b -->
+</Section>
+<Section name="expertbuilding">
+<Title>
+<!-- Missing translation: 198a -->
+</Title>
+<!-- Missing translation: 198 -->
+<!-- Missing translation: 200a -->
+<!-- Missing translation: 201a -->
+</Section>
+</Section>
+<Section name="formattingacollection">
+<Title>
+<!-- Missing translation: fc-1 -->
+</Title>
+<!-- Missing translation: fc-2 -->
+<Section name="theformatview">
+<Title>
+<!-- Missing translation: fc-3 -->
+</Title>
+<!-- Missing translation: fc-4 -->
+<!-- Missing translation: fc-5 -->
+<!-- Missing translation: fc-6 -->
+<!-- Missing translation: fc-7 -->
+</Section>
+<Section name="generalsettings">
+<Title>
+<Text id="117">à€žà€°à¥à€µà€žà€Ÿà€§à€Ÿà€°à€£.</Text>
+</Title>
+<Text id="118">à€¹à€Ÿ à€µà€¿à€­à€Ÿà€ à€€à¥à€®à€à¥à€¯à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€¶à¥ à€žà€à€²à€à¥à€š à€
+à€žà€²à¥à€²à¥à€¯à€Ÿ à€žà€°à¥à€µà€žà€Ÿà€§à€Ÿà€°à€£ à€°à€à€šà¥à€€à¥à€š à€à¥à€°à€à€¥à€ªà¥à€°à€Šà€°à¥à€¶à€š à€à€žà¥  à€à€°à€Ÿà€µà¥ à€à€£à€¿ à€€à¥à€¯à€Ÿà€€ à€à€Ÿà€¹à¥ à€¬à€Šà€² à€à€°à€Ÿà€µà€¯à€Ÿà€à€Ÿ à€
+à€žà€²à¥à€¯à€Ÿà€ž à€à€žà€Ÿ à€à€°à€Ÿà€¯à€à€Ÿ à€¯à€Ÿà€à¥ à€µà€°à¥à€£à€š à€à€°à€€à¥.à€ªà€¹à€¿à€²à¥à€¯à€Ÿà€à€Šà€Ÿ "Format" à€¬à€à€£à€Ÿà€à¥à€¯à€Ÿ à€à€Ÿà€²à¥ "General" à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ.</Text>
+<Text id="119">à€¯à¥à€¥à¥ à€à€Ÿà€¹à¥ à€žà€à€à¥à€°à€¹à€Ÿà€€à¥à€² à€®à¥à€ à€Ÿ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€¹à€Ÿ à€¬à€Ÿà€à€§à€€à€Ÿ à€¯à¥à€€à¥.à€à€¿à€à€µà€Ÿ à€€à¥à€¯à€Ÿà€€ à€¬à€Šà€² à€à€°à€€à€Ÿ à€¯à¥à€€à¥,à€€à¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€¶à€¿à€°à¥à€·à€ à€à€£à€¿ à€µà€°à¥à€£à€šà€Ÿà€žà€¹à€¿à€€ ,à€€à¥à€¯à€Ÿà€à€Ÿ à€ªà¥à€°à€µà¥à€¶ à€à¥à€²à¥à€²à€Ÿ à€
+à€žà€€à¥.à€à¥à€µà¥à€¹à€Ÿ à€€à¥à€®à¥à€¹à¥ à€šà€µà€¿à€š  à€žà€à€à¥à€°à€¹à€Ÿà€²à€Ÿ à€žà¥à€°à€µà€Ÿà€€ à€à€°à€€à€Ÿ.</Text>
+<Text id="120">à€ªà¥à€°à€¥à€® à€žà€à€à¥à€°à€¹à€Ÿà€à¥à€¯à€Ÿ à€šà€¿à€°à¥à€®à€¿à€€à¥ à€à€£à€¿ à€µà¥à€¯à€µà€žà¥à€¥à€Ÿà€ªà€à€Ÿà€®à€§à¥à€š à€žà€à€ªà€°à¥à€ email à€à¥ à€ªà€€à¥à€€à¥.à€à€Ÿà€²à¥à€² à€à¥à€·à¥à€€à¥à€° à€€à¥à€®à¥à€¹à€Ÿà€à€²à€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€à¥ à€¶à¥à€°à¥à€·à€ à€¬à€Šà€²à€£à¥à€¯à€Ÿà€à¥ à€ªà€°à€µà€Ÿà€£à€à¥ à€Šà¥à€€à¥.à€à¥à€¯à€Ÿà€®à€§à¥à€¯à¥ à€žà€à€à¥à€°à€¹ à€žà€Ÿà€ à€µà¥à€š à€ à¥à€µà€²à¥à€²à€Ÿ à€à€¹à¥ à€
+à€žà€Ÿ à€à€¡à¥à€ªà€€à¥à€°à€ à€šà€à€€à€° à€Šà€Ÿà€à€µà€¿à€²à€Ÿ à€à€Ÿà€€à¥,à€ªà€°à€à€€à¥ à€€à¥à€¯à€Ÿà€€ à€à€Ÿà€¹à¥ à€¬à€Šà€² à€à€°à€€à€Ÿ à€¯à¥à€€ à€šà€Ÿà€¹à¥. à€šà€à€€à€° à€
+à€¶à€Ÿ à€à€¿à€šà¥à€¹à€Ÿà€µà€° à€¯à€Ÿ à€à¥  à€žà€à€à¥à€°à€¹à€Ÿà€€à¥à€²"About"à€¯à€Ÿ à€ªà€Ÿà€šà€Ÿà€à¥à€¯à€Ÿ à€µà€° à€¡à€Ÿà€µà¥à€¯à€Ÿ à€¬à€Ÿà€à¥à€²à€Ÿ à€Šà€Ÿà€à€µà€¿à€²à¥à€²à¥ à€à€¹à¥(URL à€à¥à€¯à€Ÿ à€žà¥à€µà€°à¥à€ªà€Ÿà€€).à€µà€Ÿà€ªà€°à€²à¥à€²à¥à€¯à€Ÿ à€à€¿à€šà¥à€¹à€Ÿà€šà€à€€à€° à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€à¥à€°à€à€¥à€Ÿà€²à€¯ à€ªà€Ÿà€šà€Ÿà€à¥à€¯à€Ÿ à€à€Ÿà€²à¥ à€žà€à€à¥à€°à€¹à€Ÿà€¶à¥ à€€à¥à€¯à€Ÿà€à¥ à€à¥à€¡à€£à¥ à€à¥à€²à¥à€²à¥ à€
+à€žà€€à¥.à€šà€à€€à€° à€Šà¥à€°à¥à€žà¥à€€ à€°à€à€Ÿà€šà€Ÿ à€¹à€Ÿ à€µà€Ÿà€à€à€Ÿà€à€šà€Ÿ à€žà€à€à¥à€°à€¹à€Ÿà€à¥ à€®à€Ÿà€¹à€¿à€€à¥ à€®à€¿à€³à€µà€€à€Ÿ à€¯à¥à€£à¥à€¯à€Ÿà€µà€° à€šà€¿à€¯à€à€€à¥à€°à€£ à€ à¥à€µà€€à¥.à€¶à¥à€µà€à¥ à€¯à¥à€£à€Ÿà€°à¥ "Collection Description"à€¹à¥ à€²à€¿à€à¥à€€ à€à¥à€·à¥à€€à¥à€° <Reference target=" creatingcollection"/> à€¯à€Ÿà€€ à€µà€°à¥à€£à€š à€à¥à€²à¥à€²à¥ à€
+à€žà€€à¥.    </Text>
+</Section>
+<Section name="searchmetadatasettings">
+<Title>
+<!-- Missing translation: fc-s1 -->
+</Title>
+<!-- Missing translation: fc-s2 -->
+<!-- Missing translation: fc-s3 -->
+</Section>
+<Section name="formatstatements">
+<Title>
+<!-- Missing translation: 173 -->
+</Title>
+<Text id="174">à€à¥à€µà¥à€¹à€Ÿ ,à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€à€à¥à€Šà€°à€ à€žà€Ÿà€ à€µà¥à€š à€ à¥à€µà€²à¥à€²à€Ÿ à€šà€žà¥à€² à€ªà€£ 'on the fly' à€µà€° à€€à¥à€¯à€Ÿà€à¥ à€à€°à€ à€
+à€žà€²à¥à€¯à€Ÿà€ž à€€à¥ à€€à€¯à€Ÿà€° à€à¥à€²à€Ÿ à€
+à€žà¥à€² à€€à€° à€€à¥à€®à¥à€¹à¥ à€µà¥à€¬ à€ªà¥à€ à€ªà€Ÿà€¹à¥ à€¶à€à€€à€Ÿ.à€°à¥à€ªà€°à¥à€·à¥à€à¥à€¯à€Ÿ à€à€à¥à€à¥à€à€Ÿ à€à€ªà€¯à¥à€, à€¹à€¯à€Ÿ à€šà€¿à€°à¥à€®à€Ÿà€š à€à¥à€²à¥à€²à¥à€¯à€Ÿ à€ªà€Ÿà€šà€Ÿà€à€à¥ à€žà¥à€µà€°à¥à€ª à€¬à€Šà€²à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€¹à¥à€€à¥. à€€à¥ à€
+à€¶à€Ÿà€žà€Ÿà€°à€à¥à€¯à€Ÿ à€¬à€à€£à€Ÿà€à€šà€Ÿà€µà€° à€ªà€°à€¿à€£à€Ÿà€® à€à€°à€€à€Ÿà€€,à€à¥ à€¬à€à€£à¥ à€žà€à€à€²à€¿à€€ à€à¥à€²à¥à€²à¥ à€®à€Ÿà€¹à€¿à€€à¥ à€Šà€Ÿà€à€µà€¿à€€à€Ÿà€€,à€à€£à€¿  DateList à€¯à€Ÿ à€µà€°à¥à€à¥à€à€°à€£à€à€°à¥à€¯à€Ÿà€à€¡à¥à€š à€à¥à€£à€€à¥ à€²à€¿à€à€à¥à€ž à€ªà¥à€°à€µà€¿à€²à¥ à€à€Ÿà€€à¥.</Text>
+<!-- Missing translation: 175 -->
+<!-- Missing translation: 176 -->
+<!-- Missing translation: 177 -->
+<!-- Missing translation: 178 -->
+<!-- Missing translation: 180 -->
+</Section>
+<Section name="translatetext">
+<Title>
+<!-- Missing translation: 182 -->
+</Title>
+<!-- Missing translation: 183 -->
+<!-- Missing translation: 184 -->
+<!-- Missing translation: 185 -->
+<!-- Missing translation: 186 -->
+</Section>
+<Section name="xcollectionsearching">
+<Title>
+<Text id="161">à€à€²à€-à€žà€à€à¥à€°à€¹ à€¶à¥à€§.</Text>
+</Title>
+<Text id="162">à€à¥à€°à¥à€šà€žà¥à€à¥à€š à€¹à€Ÿ à€µà¥à€à€µà¥à€à€³à¥à€¯à€Ÿ à€µà€¿à€µà¥à€§ à€žà€à€à¥à€°à€¹à€Ÿà€€à¥à€š,à€à€°à¥ à€
+à€žà€Ÿ à€à€à€Ÿà€Šà€Ÿà€ à€žà€à€à¥à€°à€¹ à€
+à€žà€²à€Ÿ à€€à€°à€¿à€¹à¥ à€€à¥ à€¶à¥à€§à¥à€š à€à€Ÿà€¢à¥ à€¶à€à€€à¥.à€à€€à€° à€žà€à€à¥à€°à€¹à€Ÿà€€à¥à€² à€µà€¿à€¶à¥à€· à€¯à€Ÿà€Šà€¿à€®à¥à€³à¥ à€žà€°à¥à€µ à€žà€à€à¥à€°à€¹à€Ÿà€€à¥à€š à€à€Ÿà€²à¥ à€®à€Ÿà€¹à€¿à€€à¥ à€¶à¥à€§à€²à¥ à€à€Ÿà€€à¥. "Format" à€¯à€Ÿ à€¬à€à€£à€Ÿà€à€Ÿà€²à¥ "Cross-Collection Search"à€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ.</Text>
+<Text id="163">à€µà€¿à€°à¥à€§à¥-à€žà€à€à¥à€°à€¹ à€¶à¥à€§ à€¹à€Ÿ à€à€ªà€²à€¬à¥à€§ à€
+à€žà€²à¥à€²à¥à€¯à€Ÿ à€Šà¥à€°à¥à€žà¥à€€ à€¯à€Ÿà€Šà¥à€€à¥à€² à€ªà¥à€°à€Šà€°à¥à€¶à€š à€Šà€Ÿà€à€µà€¿à€€à¥.à€à€Ÿà€²à¥ à€žà€à€à¥à€°à€¹à€Ÿà€²à€Ÿ à€à€¿à€ à€®à€Ÿà€°à¥à€ à€à¥à€²à¥à€²à¥ à€
+à€žà€€à¥ à€à€£à€¿ à€€à¥ à€šà€¿à€µà€¡à€²à¥à€²à¥ à€šà€žà€€à€Ÿà€€.à€à€£à€à¥  à€à€€à€°  à€žà€à€à¥à€°à€¹à€Ÿà€²à€Ÿ à€®à€¿à€³à€µà€¿à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€žà€®à€Ÿà€à€€à€° à€žà€à€à¥à€°à€¹à€Ÿà€€ à€¶à¥à€§ à€à¥à€¯à€Ÿ,à€¯à€Ÿà€Šà¥à€€à¥à€š à€€à¥à€¯à€Ÿà€µà€° à€à€³ à€Šà€Ÿà€¬à€Ÿ(à€€à¥à€¯à€Ÿà€²à€Ÿ à€à€Ÿà€¢à¥à€š à€à€Ÿà€à€£à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€ªà€°à€€ à€€à¥à€¯à€Ÿà€µà€°  à€à€³ à€Šà€Ÿà€¬à€Ÿ)à€à€° à€«à€à¥à€€ à€à€à€Ÿà€  à€žà€à€à¥à€°à€¹à€Ÿà€à¥ à€šà€¿à€µà€¡ à€à¥à€²à¥à€²à¥ à€
+à€žà¥à€² à€€à€°,à€€à¥à€¥à¥ à€µà€¿à€°à¥à€§à¥-à€žà€à€à¥à€°à€¹ à€¶à¥à€§ à€šà€žà€€à¥.</Text>
+<!-- Missing translation: 164 -->
+<!-- Missing translation: 165 -->
+</Section>
+<Section name="collectionspecificmacros">
+<Title>
+<!-- Missing translation: fc-m1 -->
+</Title>
+<!-- Missing translation: fc-m2 -->
+<!-- Missing translation: fc-m3 -->
+</Section>
+</Section>
+<Section name="miscellaneous">
+<Title>
+<!-- Missing translation: 202 -->
+</Title>
+<!-- Missing translation: 203 -->
+<Section name="preferences">
+<Title>
+<!-- Missing translation: 204 -->
+</Title>
+<!-- Missing translation: 205 -->
+<!-- Missing translation: 206 -->
+<!-- Missing translation: 207 -->
+<!-- Missing translation: 208 -->
+<!-- Missing translation: 210 -->
+<!-- Missing translation: 211 -->
+</Section>
+<Section name="fileassociations">
+<Title>
+<!-- Missing translation: 212 -->
+</Title>
+<!-- Missing translation: 213 -->
+<!-- Missing translation: 214 -->
+<!-- Missing translation: 215 -->
+<!-- Missing translation: 216 -->
+<!-- Missing translation: 217 -->
+</Section>
+<Section name="exporting">
+<Title>
+<!-- Missing translation: exp-1 -->
+</Title>
+<!-- Missing translation: exp-2 -->
+<!-- Missing translation: exp-3 -->
+<!-- Missing translation: exp-4 -->
+</Section>
+<Section name="exportingcollections">
+<Title>
+<!-- Missing translation: 218 -->
+</Title>
+<!-- Missing translation: 219 -->
+<!-- Missing translation: 220 -->
+<!-- Missing translation: 221 -->
+</Section>
+</Section>
+</Document>
Index: main/tags/2.83/gli/help/mr/help_index.xml
===================================================================
--- main/tags/2.83/gli/help/mr/help_index.xml	(revision 21123)
+++ main/tags/2.83/gli/help/mr/help_index.xml	(revision 21123)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Document><Section name="introduction"><Title>à€à€Žà€</Title><Section name="ofmiceandmenus"><Title/></Section><Section name="howtoavoidthisdocument"><Title>à€žà€à€à€²à€¿à€€ à€à¥à€²à¥à€²à¥ à€®à€Ÿà€¹à€¿à€€à¥ à€µà€Ÿà€à€£à¥à€¯à€Ÿà€à¥ à€à€žà¥ à€à€Ÿà€³à€Ÿà€µà¥.</Title></Section></Section><Section name="startingoff"><Title>à€¬à€à€Š à€à€°à€£à¥à€¯à€Ÿà€ž à€žà¥à€°à€µà€Ÿà€€ à€à€°à€Ÿ.</Title><Section name="creatingacollection"><Title/></Section><Section name="savingacollection"><Title/></Section><Section name="openingacollection"><Title/></Section><Section name="deletingcollections"><Title/></Section></Section><Section name="downloadingfiles"><Title/><Section name="themirrorview"><Title/></Section></Section><Section name="collectingfiles"><Title/><Section name="thegatherview"><Title/></Section><Section name="creatingshortcuts"><Title/></Section><Section name="creatingfolders"><Title/></Section><Section name="addingfiles"><Title/></Section><Section name="replacingfiles"><Title/></Section><Section name="removingfiles"><Title/></Section><Section name="explodingfiles"><Title/></Section><Section name="filteringthetree"><Title/></Section></Section><Section name="enrichingacollection"><Title/><Section name="theenrichview"><Title/></Section><Section name="selectingmetadatasets"><Title/></Section><Section name="appendingmetadata"><Title/></Section><Section name="addingpreviouslydefinedmetadata"><Title/></Section><Section name="updatingmetadata"><Title/></Section><Section name="reviewingmetadata"><Title/></Section><Section name="importingpreviouslyassignedmetadata"><Title>à€ªà¥à€°à¥à€µà¥ à€šà€¿à€¶à¥à€à€¿à€€ à€à¥à€²à¥à€²à€Ÿ à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€žà€à€à€£à€à€Ÿà€€ à€à€£à€£à¥.</Title></Section></Section><Section name="designingacollection"><Title>à€€à¥à€®à€à¥à€¯à€Ÿ  à€žà€à€à¥à€°à€¹à€Ÿà€à¥ à€žà¥à€µà€°à¥à€ª à€šà€¿à€¶à¥à€à€¿à€€ à€¹à¥à€€ à€à€¹à¥.</Title><Section name="thedesignview"><Title>à€à€¿à€šà¥à€¹à€Ÿà€à€à€¿à€€ à€ªà¥à€°à€Šà€°à¥à€¶à€š.</Title></Section><Section name="plugins"><Title>à€žà€à€à€²à€¿à€€ à€à¥à€²à¥à€²à¥ à€®à€Ÿà€¹à€¿à€€à¥ à€à¥à€¡à€£à¥.</Title></Section><Section name="searchindexes"><Title>à€žà¥à€à¥à€à€šà€Ÿ à€¶à¥à€§à€£à¥.</Title></Section><Section name="partitionindexes"><Title>à€µà€¿à€­à€Ÿà€à€²à¥à€²à¥à€¯à€Ÿ à€žà¥à€à¥.</Title><Section name="definefilters"><Title>à€«à€¿à€²à¥à€à€°à¥à€ž à€à¥ à€µà¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€Šà¥à€£à¥.</Title></Section><Section name="assignpartitions"><Title/></Section><Section name="assignlanguages"><Title>à€­à€Ÿà€·à€Ÿ à€šà¥à€®à¥à€š à€Šà¥à€£à¥.</Title></Section></Section><Section name="classifiers"><Title>à€µà€°à¥à€à¥à€à€°à€£à€à€°à¥à€€à¥à€¯à€Ÿà€à€šà€Ÿ à€à€Ÿà€³à€£à¥.</Title></Section></Section><Section name="producingthecollection"><Title/><Section name="thecreateview"><Title/></Section><Section name="builderrors"><Title/></Section><Section name="expertbuilding"><Title/></Section></Section><Section name="formattingacollection"><Title/><Section name="theformatview"><Title/></Section><Section name="generalsettings"><Title>à€žà€°à¥à€µà€žà€Ÿà€§à€Ÿà€°à€£.</Title></Section><Section name="searchmetadatasettings"><Title/></Section><Section name="formatstatements"><Title/></Section><Section name="translatetext"><Title/></Section><Section name="xcollectionsearching"><Title>à€à€²à€-à€žà€à€à¥à€°à€¹ à€¶à¥à€§.</Title></Section><Section name="collectionspecificmacros"><Title/></Section></Section><Section name="miscellaneous"><Title/><Section name="preferences"><Title/></Section><Section name="fileassociations"><Title/></Section><Section name="exporting"><Title/></Section><Section name="exportingcollections"><Title/></Section></Section></Document>
Index: main/tags/2.83/gli/help/ro/addingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/ro/addingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/addingfiles.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="addingfiles"><font size="5" face="Verdana"><strong>4.4: AdÄugarea FiÅierelor</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>FiÅierele pot fi copiate &icirc;n colecÅ£ie prin drag &amp; drop. Cursorul mouseului se estompeazÄ av&acirc;nd forma elementului selectat (iar dacÄ sunt selectate mai multe, &icirc;n numÄrul acestora). Elementele selectate sunt puse &icirc;n Arborele ColecÅ£iei (dacÄ sursa a fost Arborele de Lucru) sau se pot muta &icirc;n cadrul aceleiaÅi colecÅ£ii (dacÄ sursa a fost Arborele ColecÅ£iei).</p>
+
+<p>Atunci c&acirc;nd sunt copiate fiÅiere multiple, acestea sunt plasate &icirc;n directorul Å£intÄ la acelaÅi nivel indiferent de structura directorului din care provin. Atunci c&acirc;nd copiaÅ£i un al doilea fiÅier av&acirc;nd acelaÅi nume &icirc;n acelaÅi director, vi se va cere dacÄ doriÅ£i sÄ-l suprascrieÅ£i peste cel existent. RÄspunz&acirc;nd cu &bdquo;Nu&rdquo; veÅ£i anula copierea fiÅierului, dar cele care nu au astfel de conflicte vor fi totuÅi copiate. Pentru a anula toate operaÅ£iunile de copiere, apÄsaÅ£i pe butonul &bdquo;stop&rdquo;.</p>
+
+<p>Doar cele mai &bdquo;&icirc;nalte&rdquo; elemente sin selecÅ£ie vor fi mutate. Un director este considerat pe o poziÅ£ie superioarÄ faÅ£Ä de copii sÄi. Nu pot fi selectate fiÅierele dintr-un director, precum Åi directorul &icirc;nsuÅi (fiÅierele sunt directorul).</p>
+
+<p>Atunci c&acirc;nd adaugi un fiÅier, InterfaÅ£a Bibliotecarului cautÄ prin directoarele sursÄ dupÄ fiÅiere auxiliare ce conÅ£in metadate atribuite anterior fiÅierelor adÄugate, iar dacÄ acestea sunt gÄsite, se procedeazÄ la importul acestor metadate. Pe mÄsurÄ ce se desfÄÅoarÄ aceastÄ operaÅ£iune, vi se va cere (de c&acirc;teva ori) unele informaÅ£ii &icirc;n plus pentru metadatele importate care se aranjeazÄ dupÄ seturile de metadate ale colecÅ£iei. Acest proces implicÄ multe promptÄri distincte descrise &icirc;n secÅ£iunea <a href="importingpreviouslyassignedmetadata.htm">Importarea Metadatelor Asignate Anterior</a>. Pentru o explicaÅ£ie mai detaliatÄ a metadatelor asociate cu fiÅierele, puteÅ£i citi Capitolul 2 din Ghidului Dezvoltatorului Greenstone -- ObÅ£inerea a c&acirc;t mai mult din documentele colecÅ£iei</p>
+
+<p>PoÅ£i sÄ adaugi un document &bdquo;figurant&rdquo; la colecÅ£ie prin click-dreapta &icirc;n Arborele ColecÅ£iei sau pe director, unde selectaÅ£i &bdquo;Document figurant nou&rdquo;. Acest lucru va crea un nou fiÅier gol asupra cÄruia pot fi asignate metadate. FiÅierul poate fi &icirc;nlocuit cu un fiÅier &bdquo;real&rdquo; la un moment ulterior.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/addingpreviouslydefinedmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/ro/addingpreviouslydefinedmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/addingpreviouslydefinedmetadata.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="addingpreviouslydefinedmetadata"><font size="5" face="Verdana"><strong>5.4: AdÄugarea de Metadate Definite Anterior</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Pentru a adÄuga metadate care au o valoare existentÄ, mai &icirc;nt&acirc;i selectaÅ£i fiÅierul Åi apoi selectaÅ£i elementul de metadate care-l atribuiÅ£i. SelectaÅ£i apoi valoarea necesarÄ din arborele valorilor destinz&acirc;nd ierarhia directoarelor dupÄ cum este necesar. Valoarea intrÄrii selectate apare &icirc;n c&acirc;mpul pentru metadate (alternativ, folosiÅ£i capacitatea de autoselect Åi autocompletare ale arborelui).</p>
+
+<p>Procesul de adÄugare a metadatelor care au deja valori, unor directoare sau unei selecÅ£ii de multiple fiÅiere se face &icirc;n acelaÅi mod.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/appendingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/ro/appendingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/appendingmetadata.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="appendingmetadata"><font size="5" face="Verdana"><strong>5.3: AdÄugarea Noilor Metadate</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Acum adÄugÄm un element de metadate unui fiÅier -- deopotrivÄ elementul Åi valoarea. &Icirc;n primul r&acirc;nd selectaÅ£i fiÅierul din arborele de fiÅiere al colecÅ£iei din partea st&acirc;ngÄ. AceastÄ acÅ£iune are ca efect ca oricare metadate atribuite anterior acestui fiÅier sau director sÄ aparÄ &icirc;n tabelul din dreapta.</p>
+
+<p>UrmÄtorul pas este sÄ selectaÅ£i elementul de metadate care doriÅ£i sÄ-l adÄugaÅ£i prin selectarea acestuia din r&acirc;ndul corespunzÄtor al tabelului.</p>
+
+<p>IntroduceÅ£i valoarea &icirc;n c&acirc;mpul aferent. UtilizaÅ£i caracterul &bdquo;|&rdquo; pentru a adÄuga structurÄ dupÄ cum este descris &icirc;n <a href="theenrichview.htm">Panoul de &Icirc;mbogÄÅ£ire</a>. ApÄs&acirc;nd tastele cursoare [Up] sau [Down] va salva valoarea de metadate Åi va pune selecÅ£ia corespunzÄtor. ApÄs&acirc;nd pe tasta [Enter] va salva valorile de metadate Åi va crea o nouÄ intrare goalÄ pentru elementul de metadate permiÅ£&acirc;ndu-vÄ sÄ atribuiÅ£i multiple valori unui element de metadate. </p>
+
+<p>Pot fi adÄugate metadate unui director sau c&acirc;torva fiÅiere selectate &icirc;mpreunÄ. Acestea sunt adÄugate tuturor fiÅierelor din cadrul directorului sau selecÅ£iei, precum Åi directoarelor copil. ReÅ£ineÅ£i faptul cÄ atribuiÅ£i metadate unui director iar toate fiÅierle adÄugate &icirc;n acesta moÅtenesc valorile directorului.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/assignlanguages.htm
===================================================================
--- main/tags/2.83/gli/help/ro/assignlanguages.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/assignlanguages.htm	(revision 21123)
@@ -0,0 +1,29 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="assignlanguages"><font size="5" face="Verdana"><strong>6.4.3: Atribuie Limba</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>AceastÄ secÅ£iune explicÄ cum se constr&acirc;ng indexurile de cÄutare la utilizarea cu o anumitÄ limbÄ. PuteÅ£i face acest lucru prin generarea unei partiÅ£ii folosind tabul &bdquo;Atribuie Limba&rdquo; din &bdquo;Indexuri PartiÅ£ii&rdquo;. </p>
+
+<p>Pentru a adÄuga o nouÄ partiÅ£ie de limbÄ, folosiÅ£i tabul &bdquo;Atribuie LimbÄ&rdquo; pentru a construi un index. SelectaÅ£i una sau mai multe limbi din lista &bdquo;Limbi de adÄugat&rdquo; Åi apÄsaÅ£i &bdquo;AdaugÄ PartiÅ£ie&rdquo;.</p>
+
+<p>Pentru a modifica o partiÅ£ie deja existentÄ, selectaÅ£i-o din lista &bdquo;PartiÅ£iile de LimbÄ Atribuite&rdquo;, modificaÅ£i limbile existente din lista &bdquo;Limbi pentru adÄugare&rdquo; de mai jos Åi apÄsaÅ£i pe &bdquo;&Icirc;nlocuieÅte PartiÅ£ie&rdquo;.</p>
+
+<p>Pentru a elimina o partiÅ£ie de limbÄ, selectaÅ£i-o din lista &bdquo;PartiÅ£iilor de LimbÄ Atribuite&rdquo; Åi apÄsaÅ£i pe &bdquo;Eliminare PartiÅ£ie&rdquo;.</p>
+
+<p>Ordinea &icirc;n care sunt specificate partiÅ£iile de limbÄ &icirc;n lista PartiÅ£iile de LimbÄ Atribuite, este ordinea &icirc;n care acestea apar &icirc;n meniul derulant din pagina de cÄutare. UtilizaÅ£i butoanele "MutÄ mai sus  " Åi "Mergi mai jos  " pentru a modifica aceastÄ ordine.</p>
+
+<p>Pentru a seta partiÅ£ia de limbÄ implicitÄ, selectaÅ£i-o din listÄ Åi apÄsaÅ£i pe &bdquo;SeteazÄ implicit&rdquo;.</p>
+
+<p>Numele utilizate pentru lista derulantÄ &icirc;n cazul partiÅ£iilor de limbÄ din pagina de cÄutare pot fi setate din zona "CautÄ  " a panoului "FormateazÄ  " (vezi Åi <a href="searchmetadatasettings.htm">Cautare</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/assignpartitions.htm
===================================================================
--- main/tags/2.83/gli/help/ro/assignpartitions.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/assignpartitions.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="assignpartitions"><font size="5" face="Verdana"><strong>6.4.2: Atribuie PartiÅ£ii</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>DupÄ definirea uneia sau a mai multor filtre ale subcolecÅ£iilor, folosiÅ£i tabul &bdquo;Atribuie PartiÅ£ii&rdquo; pentru a construi indexurile pentru acestea (sau pentru un grup de filtre). SelectezÄ filtrul dorit sau filtrele din lista &rdquo;Filtrelor Definite ale SubcolecÅ£iei&rdquo; Åi apÄsaÅ£i pe &bdquo;AdaugÄ PartiÅ£ie&rdquo;. Fiecare partiÅ£ie specificatÄ va avea ca rezultat o subcolecÅ£ie care conÅ£ine documente care se potrivesc cu oricare dintre filtrele asociate cu acea partiÅ£ie. </p>
+
+<p>Pentru a modifica o partiÅ£ie, selectaÅ£i-o din listÄ, modificaÅ£i filtrele Åi apÄsaÅ£i pe "&Icirc;nlocuieÅte partiÅ£ia  ".</p>
+
+<p>Pentru a elimina o partiÅ£ie, selectaÅ£i-o din listÄ Åi apÄsaÅ£i pe &bdquo;EliminÄ PartiÅ£ie&rdquo;.</p>
+
+<p>Ordinea &icirc;n care sunt specificate partiÅ£iile este prezentÄ &icirc;n lista PartiÅ£iilor Atribuite este Åi ordinea dupÄ care apar &icirc;n meniul derulant din pagina de cÄutare. FolosiÅ£i butoanele "MutÄ mai sus  " Åi "Mergi mai jos  " pentru a schimba acestÄ ordonare.</p>
+
+<p>Pentru a face o partiÅ£ie cea implicitÄ, selectaÅ£i-o din listÄ Åi apÄsaÅ£i "SeteazÄ starea implicitÄ  ".</p>
+
+<p>Numele utilizate &icirc;n lista derulantÄ a partiÅ£iilor prezente &icirc;n pagina de cÄutare, pot fi setate &icirc;n "CautÄ  " parte a panoului "FormateazÄ  " (vezi Åi <a href="searchmetadatasettings.htm">Cautare</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/builderrors.htm
===================================================================
--- main/tags/2.83/gli/help/ro/builderrors.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/builderrors.htm	(revision 21123)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="builderrors"><font size="5" face="Verdana"><strong>7.2: Erori &icirc;n construcÅ£ia colecÅ£iei</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Uneori lucrurile pot sÄ ia o turnurÄ negativÄ &icirc;n timpul construcÅ£iei colecÅ£iei. E posibil ca unele fiÅiere sÄ nu poatÄ fi procesate: restul colecÅ£iei se construieÅte &icirc;n ordine Åi poate fi previzualizatÄ, dar unele documente sunt absente. E posibil ca &icirc;ntreaga colecÅ£ie sÄ nu fie construitÄ corespunzÄtor, caz &icirc;n care apare un mesaj de atenÅ£ionare "A apÄrut o eroare iar colecÅ£ia nu a putut fi creatÄ.  " Atunci c&acirc;nd acest lucru se &icirc;nt&acirc;mplÄ este de ajutor sÄ intraÅ£i &icirc;n modul expert al GLI (Dosar-&gt;PreferinÅ£e-&gt;Mod, vezi Åi <a href="preferences.htm">PreferinÅ£e</a>), setaÅ£i opÅ£iunea de construcÅ£ie &bdquo;verbalizare&rdquo; la 5 Åi reconstruiÅ£i pentru a vedea dacÄ sunt mesaje de eroare Åi care sunt acelea.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/classifiers.htm
===================================================================
--- main/tags/2.83/gli/help/ro/classifiers.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/classifiers.htm	(revision 21123)
@@ -0,0 +1,31 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="classifiers"><font size="5" face="Verdana"><strong>6.5: Examinarea Clasificatorilor</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>AceastÄ secÅ£iune explicÄ cum sunt atribuiÅ£i &bdquo;clasificatorii&rdquo;, care sunt utilizaÅ£i pentru navigarea colecÅ£iei. Sub tabul &bdquo;Design&rdquo;, apÄsaÅ£i pe &bdquo;Examinarea Clasificatorilor&rdquo;.</p>
+
+<p>Pentru a adÄuga un clasificator, selectaÅ£i-l folosind &bdquo;SelecteazÄ clasificatorul de adÄugat&rdquo; din lista derulantÄ din partea inferioarÄ a ecranului Åi apoi selectaÅ£i &bdquo;AdaugÄ Clasificator...&rdquo;. Va apÄrea o fereastrÄ numitÄ &bdquo;Configurarea Argumentelor&rdquo;. InstrucÅ£iunile privind lucrul cu aceastÄ fereastrÄ de dialog sunt similare cu cele prezente pentru pluginuri (vezi <a href="plugins.htm">Extensiile documentului</a>). Din moment ce aÅ£i configurat noul clasificator, acesta este adÄugat la finalul listei &bdquo;Clasificatorilor atribuiÅ£i&rdquo;.</p>
+
+<p>Pentru a vedea o scurtÄ descriere a clasificatorului, selectaÅ£i-l din lista derulantÄ &bdquo;SelecteazÄ clasificator pentru adÄugare&rdquo; Åi apoi plimbaÅ£i cursorul peste aceasta. Va apÄrea o descriere &icirc;ntr-un tool-tip.</p>
+
+<p>Fiecare clasificator are diferite argumente care pot fi configurate. Argumentele importante includ &bdquo;metadate&rdquo;, care specificÄ metadatele pe baza cÄrora documentele vor fi clasificate Åi &bdquo;numele butonului&rdquo;, care este de fapt numele care va apÄrea &icirc;n bara de navigare.</p>
+
+<p>Pentru a elimina un clasificator, selectaÅ£i-l din listÄ Åi apÄsaÅ£i pe &bdquo;EliminÄ Clasificator&rdquo;.</p>
+
+<p>Pentru a modifica argumentele pentru un clasificator, selectaÅ£i-l din listÄ Åi apÄsaÅ£i &bdquo;Configurare Clasificator&rdquo; (sau dublu-click pe clasificatorul prezent &icirc;n listÄ).</p>
+
+<p>Ordonarea clasificatorilor &icirc;n bara de navigare se reflectÄ &icirc;n ordinea lor. Pentru a o schimba, selectaÅ£i clasificatorul dorit pentru a fi mutat Åi apÄsaÅ£i "MutÄ mai sus  " sau "Mergi mai jos  ".</p>
+
+<p>Pentru mai multe informaÅ£ii privind clasificatorii, vÄ rugÄm sÄ citiÅ£i Capitolul 2 din Ghidul de Dezvoltare al Greenstone - Extrage totul din documente.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/collectingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/ro/collectingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/collectingfiles.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="collectingfiles"><font size="5" face="Verdana"><strong>4: Colectarea fiÅierelor pentru ColecÅ£ie</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Din moment ce a fost iniÅ£iatÄ o nouÄ colecÅ£ie, aceasta trebuie sÄ conÅ£inÄ niÅte fiÅiere. Acestea pot proveni din zona computerului pe care lucraÅ£i, din r&acirc;ndul unor fiÅiere descÄrcate de cur&acirc;nd sau chiar din cadrul altor colecÅ£ii Greenstone. Este posibil ca unele dintre acestea sÄ aibe deja ataÅate metadate. AceastÄ secÅ£iune descrie  cum se pot importa fiÅiere.</p>
+
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/collectionspecificmacros.htm
===================================================================
--- main/tags/2.83/gli/help/ro/collectionspecificmacros.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/collectionspecificmacros.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="collectionspecificmacros"><font size="5" face="Verdana"><strong>8.7: Macrouri Specifice ColecÅ£iei</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Sub opÅ£iunea &bdquo;Formatare&rdquo;, apÄsaÅ£i pe &bdquo;Macrouri Specifice ColecÅ£iei&rdquo;.</p>
+
+<p>Acest panou aratÄ conÅ£inutul fiÅierului macro extra.dm al colecÅ£iei. Aici este locul &icirc;n care macrourile specifice colecÅ£iei sunt definite. Pentru a &icirc;nvÄÅ£a mai multe despre macro-uri, vedeÅ£i Capitolul 3 al Ghidului Dezvoltatorului Greenstone.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/creatingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/ro/creatingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/creatingacollection.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingacollection"><font size="5" face="Verdana"><strong>2.1: Crearea unei Noi ColecÅ£ii</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Pentru a crea o nouÄ colecÅ£ie, deschideÅ£i meniul &bdquo;Dosar&rdquo; Åi alegeÅ£i &bdquo;Nou&rdquo;. C&acirc;teva c&acirc;mpuri trebuie sÄ fie completate; valorile pot fi schimbate mai t&acirc;rziu dacÄ acest lucru este necesar din panoul de Formatare (Vizualizarea Formatului).</p>
+
+<p>&bdquo;Titlul colecÅ£iei&rdquo; este textul afiÅat &icirc;n capul paginii colecÅ£iei. Acesta poate avea orice lungime.</p>
+
+<p>&bdquo;Descrierea conÅ£inutului&rdquo; ar trebui sÄ afiÅeze c&acirc;t mai multe detalii posibil despre colecÅ£ie. UtilizaÅ£i tasta [Enter] pentru a o sparge &icirc;n paragrafe.</p>
+
+<p>&Icirc;n final, trebuie specificat dacÄ noua colecÅ£ie va avea aceeaÅi aparenÅ£Ä Åi seturi de metadate ca o colecÅ£ie deja existentÄ sau dacÄ porniÅ£i o &bdquo;ColecÅ£ie NouÄ&rdquo;. Noile colecÅ£ii au o configurare standard Åi folosesc setul de metadate Dublin Core. Acest lucru se poate modifica ulterior.</p>
+
+<p>ApÄsaÅ£i pe &bdquo;OK&rdquo; pentru a crea colecÅ£ia.</p>
+
+<p>ApÄs&acirc;nd pe &bdquo;Anulare&rdquo; vÄ &icirc;ntoarceÅ£i imediat &icirc;n panoul principal.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/creatingfolders.htm
===================================================================
--- main/tags/2.83/gli/help/ro/creatingfolders.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/creatingfolders.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingfolders"><font size="5" face="Verdana"><strong>4.3: Crearea Directoarelor</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>UtilizaÅ£i directoarele din arborele directoarelor ColecÅ£iei pentru a grupa fiÅiere Åi pentru a le face mai uÅor de gÄsit. Directoarele pot fi puse ca subdirectoare &icirc;n alte directoare. AceastÄ procedurÄ nu are vreo limitare indiferent de numÄr sau ad&acirc;ncime.</p>
+
+<p>Pentru a crea un nou director, selectaÅ£i la alegere un director existent din Arborele ColecÅ£iei Åi apÄsaÅ£i pe butonul Director Nou. Noul director apare &icirc;n cadrul celui selectat sau la partea superioarÄ, dacÄ nu este selectat niciunul. Vi se va cere sÄ precizaÅ£i numele directorului (implicit se va pune numele &bdquo;Director nou&rdquo;).</p>
+
+<p>Directoarele pot fi create, de asemenea prin clic-dreapta pe Arborele ColecÅ£iei sau peste un director, de unde se alege &bdquo;Director Nou&rdquo; Åi se procedeazÄ ca mai sus.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/creatingshortcuts.htm
===================================================================
--- main/tags/2.83/gli/help/ro/creatingshortcuts.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/creatingshortcuts.htm	(revision 21123)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingshortcuts"><font size="5" face="Verdana"><strong>4.2: Crearea unei scurtÄturi &icirc;n Arborele de Lucru</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Anumite directoare precum cel care conÅ£ine paginile web personale, uneori au o semnificaÅ£ie specialÄ. DacÄ se doreÅte, InterfaÅ£a Bibliotecarului le poate mapa la nivelul superior al arborelui fiÅierelor. Pentru a face acest lucru daÅ£i clic-dreapta pe directorul dorit. SelectaÅ£i &bdquo;CreazÄ scurtÄturÄ&rdquo; Åi introduceÅ£i un nume pentru director. Pentru a elimina un element, daÅ£i clic-dreapta pe directorul mapat Åi selectaÅ£i &bdquo;EliminÄ ScurtÄturÄ&rdquo;.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/definefilters.htm
===================================================================
--- main/tags/2.83/gli/help/ro/definefilters.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/definefilters.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="definefilters"><font size="5" face="Verdana"><strong>6.4.1: DefiniÅ£i Filtrele</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Filtrele vÄ permit sÄ grupaÅ£i toate documentele &icirc;mpreunÄ &icirc;ntr-un index pentru care valoarea metadatelor se potriveÅte cu un model predefinit.</p>
+
+<p>Pentru a crea un filtru, apÄsaÅ£i pe tabul &bdquo;DefiniÅ£i Filtrele&rdquo; Åi introduceÅ£i un nume pentru noul filtru &icirc;n c&acirc;mpul &bdquo;Numele filtrului subcolecÅ£iei:&rdquo;. UrmÄtorul pas este sÄ alegeÅ£i un atribut al unui document cu care sÄ se potriveascÄ, fie un element de metadate sau chiar numele fiÅierului &icirc;n discuÅ£ie.
+IntroduceÅ£i o expresie regulatÄ pentru a fi utilizatÄ &icirc;n timpul cÄutÄrii. PuteÅ£i opta &icirc;ntre &bdquo;Incluz&acirc;nd&rdquo; documentele care se potrivesc cu filtrul sau puteÅ£i sÄ le &bdquo;ExcludeÅ£i&rdquo;. &Icirc;n final, puteÅ£i specifica oricare dintre marcatorii standard ai expresiilor regulate PERL pentru a fi utilizaÅ£i la momentul cÄutÄrii (de exemplu,
+ &bdquo;i&rdquo; pentru cÄutarea case-sensitive, adicÄ potrivirea consider&acirc;nd dimensiunea caracterelor: majuscule). &Icirc;n fine, apÄsaÅ£i pe &bdquo;AdaugÄ Filtru&rdquo; pentru a adÄuga filtrul la lista &bdquo;Filtrelor Definite ale SubcolecÅ£iei&rdquo;.</p>
+
+<p>Pentru a elimina un filtru, selectaÅ£i-l din listÄ Åi apÄsaÅ£i pe &bdquo;EliminÄ Filtrul&rdquo;.</p>
+
+<p>Pentru a modifica un filtru, selectaÅ£i-l din listÄ, schimbaÅ£i oricare dintre valorile care vÄ apar &icirc;n modul de editate Åi apÄsaÅ£i pe &bdquo;&Icirc;nlocuieÅte Filtrul&rdquo; pentru a face schimbÄrile.</p>
+
+<p>Definirea de filtre nu are ca efect crearea de subcolecÅ£ii. SubcolecÅ£iile sunt specificate &icirc;n "AsigneazÄ PartiÅ£ii  ", bazate pe filtrele abia definite.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/deletingcollections.htm
===================================================================
--- main/tags/2.83/gli/help/ro/deletingcollections.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/deletingcollections.htm	(revision 21123)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="deletingcollections"><font size="5" face="Verdana"><strong>2.4: Återgerea ColecÅ£iilor</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Pentru a elimina permanent colecÅ£ii din sistemul Greenstone instalat, alegeÅ£i &bdquo;Återge...&rdquo; din meniul &bdquo;Dosar&rdquo;. Va apÄrea o listÄ a colecÅ£iilor. SelectaÅ£i una dintre acestea pentru a-i vedea descrierea, bifaÅ£i cÄsuÅ£a de la finalul dialogului Åi apÄsaÅ£i &bdquo;Återge&rdquo;. AceastÄ acÅ£iune este ireversibilÄ. VÄ rugÄm sÄ procedaÅ£i cu mare atenÅ£ie.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/designingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/ro/designingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/designingacollection.htm	(revision 21123)
@@ -0,0 +1,22 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="designingacollection"><font size="5" face="Verdana"><strong>6: Configurarea ColecÅ£iei</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Din moment ce fiÅierele sunt marcate cu metadate, pasul urmÄtor trebuie sÄ se ia decizia  cum trebuie sÄ fie  accesate documentele de cÄtre utilizatori. Care dintre informaÅ£ii se preteazÄ cÄutÄrii ? Care sunt modalitÄÅ£ile de navigare printre documente ? Aceste lucruri pot fi particularizate iar aceastÄ secÅ£iune descrie cum puteÅ£i face acest lucru.</p>
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/downloadingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/ro/downloadingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/downloadingfiles.htm	(revision 21123)
@@ -0,0 +1,18 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="downloadingfiles"><font size="5" face="Verdana"><strong>3: DescÄrcarea fiÅierelor din Internet</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Panoul "Download  " te ajutÄ sÄ descarci resurse din Internet. AceastÄ secÅ£iune explicÄ procedeul de descÄrcare din InterfaÅ£a Bibliotecarului.</p>
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/enrichingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/ro/enrichingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/enrichingacollection.htm	(revision 21123)
@@ -0,0 +1,24 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="enrichingacollection"><font size="5" face="Verdana"><strong>5: &Icirc;mbogÄÅ£irea ColecÅ£iei proprii cu Metadate</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>DupÄ colectarea c&acirc;torva fiÅiere Åi directoare &icirc;n colecÅ£ie, acestea pot fi &icirc;mbogÄÅ£ite cu informaÅ£ii adiÅ£ionale numite &bdquo;metadate&rdquo;. AceastÄ secÅ£iune explicÄ cum sunt create metadatele, cum sunt editate, atribuite Åi regÄsite, precum Åi cum sunt utilizate sursele externe de metadate (vezi, de asemenea Capitolul 2 al Ghidului Dezvoltatorului Greenstone -- ObÅ£inerea maximului din documente).</p>
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/expertbuilding.htm
===================================================================
--- main/tags/2.83/gli/help/ro/expertbuilding.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/expertbuilding.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="expertbuilding"><font size="5" face="Verdana"><strong>7.3: Panoul de creare &icirc;n Modul Expert</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>&Icirc;n modul de lucru Expert se pot accesa intrÄrile din &bdquo;Jurnalul de Mesaje&rdquo; din partea st&acirc;ngÄ pentru a revedea &icirc;ncercÄrile anterioare de construire a colecÅ£iilor, fie cÄ acestea au avut succes sau nu. SelectaÅ£i jurnalul dorit prin selectarea datei dorite din lista &bdquo;Istoricului Jurnalului&rdquo;.</p>
+
+<p>&Icirc;n acest mod de operare este prezentatÄ o listÄ completÄ a importurilor Åi a opÅ£iunilor de construcÅ£ie, care apare &icirc;n opÅ£iunile de Import Åi ConstrucÅ£ie prezente mai spre st&acirc;nga. Variatele setÄri sunt controlate aÅa cum sunt descrise &icirc;n fereastra &bdquo;Configurea Argumentelor&rdquo; descrisÄ &icirc;n secÅ£iunea <a href="plugins.htm">Extensiile documentului</a>. Unele c&acirc;mpuri au ca cerinÅ£Ä argumente numerice iar aceste pot fi introduse sau pot fi folosite sÄgeÅ£ile pentru a creÅte sau descreÅte valorile curente (&icirc;n unele cazuri, interfaÅ£a restricÅ£ioneazÄ dimensiunea intrÄrilor). Altele sunt activate prin bifarea unei cÄsuÅ£e de validare (apasÄ pe bifÄ, din nou pentru dezactivare).</p>
+
+<p>CitiÅ£i Capitolul 1 al Ghidului Dezvoltatorului Greenstone pentru mai multe informaÅ£ii privind importul Åi construcÅ£ia -- &Icirc;nÅ£elegerea procesului de construcÅ£ie a colecÅ£iei.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/explodingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/ro/explodingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/explodingfiles.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="explodingfiles"><font size="5" face="Verdana"><strong>4.7: &bdquo;Destinderea&rdquo; FiÅierelor de Metadate</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Tipurile de fiÅiere specifice bazelor de date pentru metadate precum MARC, CDS/ISIS, BibTex, Refer Åi Procite pot fi importate &icirc;n Greenstone, dar metadatele acestora nu pot fi vÄzute sau editate &icirc;n InterfaÅ£a Bibliotecarului. Pentru a vedea Åi edita metadatele, va trebui sÄ vÄ &icirc;ntoarceÅ£i la programul care a generat fiÅierul.</p>
+
+<p>&bdquo;Destinderea&rdquo; unui fiÅier de metadate al unei baze de date &icirc;mparte conÅ£inutul acestuia &icirc;n &icirc;nregistrÄri individuale, care prezintÄ metadate vizibile Åi editabile. Acest proces este ireversibil: fiÅierul de metadate original este Åters.</p>
+
+<p>Directoarele care pot fi destinse au o pictogramÄ verde &icirc;n arborele colecÅ£iei. Pentru a destinde unul, apÄsaÈi clic dreapta Åi optaÅ£i pentru &bdquo;Destinde baza de metadate&rdquo;. O fereastÄ popup aratÄ opÅ£iunile care privesc procesul de destindere. Prima opÅ£iune (&bdquo;extensie&rdquo;) specificÄ extensia necesarÄ destinderii. &Icirc;n cele mai multe cazuri, doar un singur plugin va procesa un anumit tip de fiÅier, dar &icirc;n unele cazuri, acolo unde diferite tipuri de fiÅiere partajeazÄ aceeaÅi extensie, pot fi douÄ pluginuri care sÄ proceseze fiÅierul care necesitÄ respectiva extensie. OpÅ£iunea &bdquo;codarea_intrÄrilor&rdquo; poate fi utilizatÄ pentru a specifica codarea bazei de date. OpÅ£iunea &bdquo;set_de_metadate&rdquo; specificÄ setul de metadate al cÄrui c&acirc;mpuri generate prin destindere ar trebui sÄ fie completate. DacÄ nu este specificat niciunul vi se va cere ce trebuie fÄcut cu fiecare c&acirc;mp din baza de date: adÄugaÅ£i-l ca pe un nou element la un set de metadate existent, fuzionaÅ£i-l cu un alt element sau pur Åi simplu ignoraÅ£i-l.</p>
+
+<p>Atunci c&acirc;nd este destins un document este creat un document gol pentru fiecare &icirc;nregistrare, iar metadatele &icirc;nregistrÄrii sunt atribuite documentului. Acestea sunt denumite folosindu-se numere precum 000001.nul, 000002.nul etc. DacÄ este setatÄ opÅ£iunea &bdquo;document_field&rdquo; (c&acirc;mpului rezervat numeleui fiÅierului bazei de date), valoarea acestui c&acirc;mp, dacÄ aceasta existÄ, va fi utilizatÄ pentri a denumi fiÅierul. Procesul de destindere va &icirc;ncerca, de asemenea, sÄ descarce fiÅierul Åi sÄ-l foloseascÄ &icirc;n locul unui fiÅier gol. OpÅ£iunile &bdquo;document_prefix&rdquo; Åi &bdquo;document_suffix&rdquo; pot fi utilizate pentru a construi un URL valid cau calea la un fiÅier pornind de la valoarea lui document_field. OpÅ£iunea &bdquo;records_per_folders&rdquo; poate fi utilizatÄ pentru a grupa &icirc;nregistrÄrile destinse &icirc;n subdirectoare. DacÄ baza de date este foarte mare, folosirea acestei opÅ£iuni va accelera editarea subsecventÄ a metadatelor.</p>
+
+<p>Capacitatea de destindere este determinatÄ de extensia fiÅierului. &Icirc;n unele cazuri, fiÅierele pot fi etichetate incorect ca expandabile dacÄ acestea au aceeaÅi extensie precum fiÅierele care pot fi destinse. De exemplu, plugin-ul ProCite proceseazÄ fiÅierele av&acirc;nd extensia .txt, dar marea majoritate a fiÅierelor .txt sunt de fapt fiÅiere text simple Åi nu fiÅiere ProCite.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/exporting.htm
===================================================================
--- main/tags/2.83/gli/help/ro/exporting.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/exporting.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="exporting"><font size="5" face="Verdana"><strong>9.3: Exportarea colecÅ£iilor &icirc;n alte formate</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Greenstone poate exporta conÅ£inutul Åi/sau metadatele unei colecÅ£ii &icirc;n c&acirc;teva formate standard fiind incluse METS, DSpace Åi MARCXML.</p>
+
+<p>Pentru a exporta una sau mai multe colecÅ£ii, deschideÅ£i meniul &bdquo;Dosar&rdquo; Åi alegeÅ£i &bdquo;Export...&rdquo;. PuteÅ£i alege formatul pentru export prin selectarea acestuia din lista derulantÄ &bdquo;ExportÄ ca&rdquo;. SpecificaÅ£i un nume pentru directorul &icirc;n care doriÅ£i sÄ puneÅ£i fiÅierele&mdash;fiÅierele se vor termina prin &lt;calea cÄtre greenstone&gt;/tmp/exported_xxx, unde xxx este numele pe care-l specificaÅ£i. SelectaÅ£i una sau mai multe colecÅ£ii &icirc;n lista colecÅ£iilor disponibile iar apoi apÄsaÅ£i pe &bdquo;ExportÄ colecÅ£ia(ile)&rdquo;.</p>
+
+<p>ExistÄ Åi alte opÅ£iuni specifice pentru variatele formate. Pot fi specificate fiÅierele XSLT care vor fi aplicate documentelor XML rezultate &icirc;n scopul personalizÄrii formatul de ieÅire al rezultatelor. Exportul cÄtre MARCXML utilizeazÄ un fiÅier de mapare a metadatelor Greenstone peste c&acirc;mpurile specifice ale formatului MARC. FiÅierul de mapare implicit, face operaÅ£iunea de mapare doar pentru metadatele Dublin Core. Poate fi specificat un fiÅier adaptat Åi personalizat care sÄ fie folosit Åi pentru alte formate.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/exportingcollections.htm
===================================================================
--- main/tags/2.83/gli/help/ro/exportingcollections.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/exportingcollections.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="exportingcollections"><font size="5" face="Verdana"><strong>9.4: Exportarea ColecÅ£iilor pe CD/DVD</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Greenstone poate exporta una sau mai multe colecÅ£ii pe un CD/DVD autoinstalabil pentru Windows.</p>
+
+<p>Pentru a exporta o colecÅ£ie, deschideÅ£i meniul &bdquo;FiÅier&rdquo; Åi alegeÅ£i &bdquo;Scrie Imaginea CD/DVD&rdquo;. Apare o listÄ a colecÅ£iilor Greenstone din care apÄsaÅ£i pe una dintre ele pentru a-i vedea descrierea. BifaÅ£i cÄsuÅ£ele colecÅ£iei pentru a fi exportatÄ. PuteÅ£i introduce numele CD/DVD-ului &icirc;n c&acirc;mpul &bdquo;numele CD/DVD&rdquo;: acesta va apÄrea &icirc;n meniul Start atunci c&acirc;nd CD/DVD-ul va fi instalat. PuteÅ£i opta fie ca CD-ROM-ul sau DVD-ul rezultat sÄ ruleze direct din unitatea de citire, fie puteÅ£i sÄ instalaÅ£i pe computer o parte a fiÅierelor. Apoi apÄsaÅ£i &bdquo;Scrie imaginea CD/DVD&rdquo;. Procesul implicÄ copierea a mai multor fiÅiere Åi directoare Åi poate dura c&acirc;teva minute.</p>
+
+<p>La momentul &icirc;ncheierii, Greenstone va indica numele unui director care conÅ£ine colecÅ£iile exportate. FolosiÅ£i un inscriptor CD/DVD pentru a copia conÅ£inutul pe un CD/DVD gol.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/fileassociations.htm
===================================================================
--- main/tags/2.83/gli/help/ro/fileassociations.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/fileassociations.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="fileassociations"><font size="5" face="Verdana"><strong>9.2: Asocierile fiÅierelor</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>InterfaÅ£a Bibliotecarului foloseÅte anumite programe care deschid diferitele tipuri de fiÅiere. Pentru a modifica asocierea fiÅierelor accesaÅ£i meniul &bdquo;FiÅier&rdquo; Åi apÄsaÅ£i pe &bdquo;Asocierile fiÅierelor...&rdquo;.</p>
+
+<p>Pentru a adÄuga o asociere, selectaÅ£i extensia fiÅierul Å£intÄ din lista derulantÄ, sau introduceÅ£i o nouÄ extensie (nu includeÅ£i punctul &rdquo;.&rdquo;). UrmÄtorul pas este fie sÄ introduceÅ£i comanda care lanseazÄ aplicaÅ£ia doritÄ &icirc;n c&acirc;mpul destinat sau alegeÅ£i aplicaÅ£ia din meniul &bdquo;NavigheazÄ&rdquo;. &rdquo;%1&rdquo; poate fi utilizat &icirc;n comandÄ pentru a introduce numele fiÅierului deschis. Din moment ce au fost parcurÅi aceÅti paÅi, butonul &bdquo;AdaugÄ&rdquo; se activeazÄ Åi poÅ£i sÄ-l apeÅi pentru a adÄuga asocierea.</p>
+
+<p>Pentru a adÄuga o asociere, selectaÅ£i o extensie deja existentÄ. Orice comandÄ asociatÄ deja existentÄ este afiÅatÄ &icirc;n c&acirc;mpul &bdquo;lanseazÄ comanda&rdquo;. EditaÅ£i-l Åi apoi apÄsaÅ£i &bdquo;&Icirc;nlocuieÅte&rdquo;.</p>
+
+<p>Pentru a elimina o asociere, selectaÅ£i o extensie deja existentÄ Åi apÄsaÅ£i &bdquo;EliminÄ&rdquo;. (Extensia fiÅierului rÄm&acirc;ne &icirc;n lista derulantÄ &bdquo;Pentru extensie&rdquo;.)</p>
+
+<p>Asocierea fiÅierelor sunt stocate &icirc;n directorul principal al InterfeÅ£ei Bibliotecarului &icirc;ntr-un fiÅier denumit &bdquo;associations.xml&rdquo;</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/filteringthetree.htm
===================================================================
--- main/tags/2.83/gli/help/ro/filteringthetree.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/filteringthetree.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="filteringthetree"><font size="5" face="Verdana"><strong>4.8: Filtrarea Arborilor</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>&bdquo;Filtrarea&rdquo; colecÅ£iei Åi a arborilor colecÅ£iei vÄ permite limitarea cÄutÄrii pentru anumite fiÅiere.</p>
+
+<p>Meniul derulant &bdquo;AratÄ FiÅierele&rdquo; de sub fiecare arbore aratÄ o listÄ de filtre predefinite, precum &bdquo;Imagini&rdquo;. AlegÄndu-se aceastÄ opÅ£iune se ascund temporar toate celelalte fiÅiere din arbore. Pentru a restaura arborele, schimbaÅ£i filtrul la opÅ£iunea iniÅ£ialÄ &bdquo;Toate FiÅierele&rdquo;. Aceste operaÅ£iuni nu modificÄ colecÅ£ia Åi nici nu afecteazÄ fiÅierele din arbore.</p>
+
+<p>PuteÅ£i specifica un filtru particularizat prin introducerea unui Åablon de potrivire a fiÅierelor (doar &icirc;n modul de operare Specialist &icirc;n Sisteme de BibliotecÄ Åi cel Expert). UtilizaÅ£i abrevierile standard pentru fiÅiere precum &bdquo;*.doc&rdquo; (&bdquo;*&rdquo; substituie orice caracter).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/formatstatements.htm
===================================================================
--- main/tags/2.83/gli/help/ro/formatstatements.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/formatstatements.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="formatstatements"><font size="5" face="Verdana"><strong>8.4: Caracteristicile Formatului</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Paginile web pe care le vedeÅ£i atunci c&acirc;nd utilizaÅ£i Greenstonenu sunt stocate, ci sunt generate &bdquo;din zbor&rdquo; dupÄ cum dicteazÄ necesitatea. Comenzile formatului sunt utilizate pentru a modifica aparenÅ£a acestor pagini generate. Acestea afecteazÄ modul &icirc;n care apar butoanele atunci c&acirc;nd este afiÅat un document Åi care sunt linkurile care sunt afiÅate de clasificatorul DateList. Comenzile de format nu sunt uÅor de dezvoltat Åi ar trebui sÄ citiÅ£i Capitolul 2 din Ghidul de Dezvoltare al Greenstone. AceastÄ secÅ£iune dezbate setÄrile formatului Åi cum InterfaÅ£a Bibliotecarului oferÄ acces la acestea. Sub tabul &bdquo;Format&rdquo;, apÄsaÅ£i pe &bdquo;Caracteristicile Formatului&rdquo;.</p>
+
+<p>O comandÄ de format poate fi aplicatÄ la orice fiind aleasÄ din lista derulantÄ &bdquo;Alege CaracteristicÄ&rdquo;, care include fiecare clasificator Åi o listÄ predefinitÄ de caracteristici. Atunci c&acirc;nd selectaÅ£i o caracteristicÄ existÄ douÄ tipuri de control. Unele caracteristici sunt pur Åi simplu active sau inactive fiind controlate de o cÄsuÅ£Ä de opÅ£iune. Altele necesitÄ un string de format pentru a fi precizat. Pentru acestea existÄ o listÄ derulantÄ (&bdquo;Componente Afectate&rdquo;), de unde se pot selecta care parÅ£i ale unei caracteristici se referÄ stringul (daca acest lucru este necesar), o zonÄ de text (string de tip HTML) pentru introducerea string-ului propriu-zis Åi selectarea de &bdquo;Variabile&rdquo; predefinite. Pentru a introduce o variabilÄ &icirc;n stringul de format, poziÅ£ionaÅ£i cursorul &icirc;n locul unde trebuie fÄcutÄ inserÅ£ia Åi apoi selectaÅ£i variabila doritÄ din combobox-ul "InsereazÄ variabila...  ".</p>
+
+<p>Poate fi specificat un format implicit pentru o anumitÄ componentÄ prin selectarea caracteristicii &bdquo;Toate Caracteristicile&rdquo;. Acest format este aplicat tuturor caracteristicilor aplicabile doar dacÄ nu este specificat altul specific.</p>
+
+<p>Pentru a adÄuga o nouÄ comandÄ selecteazÄ caracteristica aplicabilÄ Åi componenta. Valoarea implicitÄ pentru aceastÄ comandÄ va fi afiÅatÄ &icirc;n gri. Click pe "AdaugÄ format  " pentru a-l atribui colecÅ£iei. &bdquo;Stringul de Formatare HTML&rdquo; va fi editabil Åi puteÅ£i sÄ-l schimbaÅ£i dacÄ doriÅ£i. Poate fi atribuitÄ doar o singurÄ comandÄ pentr fiecare combinaÅ£ie caracteristicÄ/componentÄ.</p>
+
+<p>Pentru a Återge o comandÄ de format, selectaÅ£i-o din listÄ Åi apÄsaÅ£i pe &bdquo;EliminÄ Formatare&rdquo;.</p>
+
+<p>Pentru mai multe informaÅ£ii despre variabile Åi componente, citiÅ£i Capitolul 2 din Ghidul de Dezvoltare al Greenstone.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/formattingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/ro/formattingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/formattingacollection.htm	(revision 21123)
@@ -0,0 +1,24 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="formattingacollection"><font size="5" face="Verdana"><strong>8: Particularizarea modului &icirc;n care aratÄ colecÅ£ia</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Din moment ce ai construit colecÅ£ia, urmÄtorul pas este legerea modului &icirc;n care aceasta ar trebui sÄ aparÄ utilizatorului. Care nume ar trebui utilizate pentru lista derulantÄ a indexurilor din formularul de cÄutare ? Cum ar trebui prezentate rezultatele de cÄutare ? Care metadate ar trebui sÄ fie afiÅate atunci c&acirc;nd un document este vÄzut ? Toate acestea trebuie particularizate iar aceastÄ secÅ£iune explicÄ cum trebuie procedat. </p>
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/generalsettings.htm
===================================================================
--- main/tags/2.83/gli/help/ro/generalsettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/generalsettings.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="generalsettings"><font size="5" face="Verdana"><strong>8.2: General</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>AceastÄ secÅ£iune explicÄ cum sÄ revizuieÅti Åi sÄ modifici setÄrile generale asociate colecÅ£iei. &Icirc;n primul r&acirc;nd, sub opÅ£iunea &bdquo;Format&rdquo;, apeÅi pe &bdquo;General&rdquo;.</p>
+
+<p>Aici pot fi setate sau modificate c&acirc;teva metadate ale &icirc;ntregii colecÅ£ii incluz&acirc;nd titlul Åi descrierea introduse atunci c&acirc;nd a fost iniÅ£iatÄ ca nouÄ colecÅ£ie.</p>
+
+<p>Mai &icirc;nt&acirc;i sunt adresele de email ale creatorului colecÅ£iei Åi a gestionarului acesteia. UrmÄtorul c&acirc;mp vÄ permite sÄ modificaÅ£i titlul colecÅ£iei. Directorul &icirc;n care este stocatÄ colecÅ£ia este indicat dar nu poate fi modificat. Apoi este afiÅat iconul &icirc;n partea superioarÄ st&acirc;ngÄ a paginii &bdquo;Despre&rdquo; a colecÅ£iei (sub forma unui URL), urmat de un icon folosit &icirc;n pagina bibliotecii Greenstone care face legÄtura cu colecÅ£ia. AlÄturat este o cÄsuÅ£Ä pentru bifat, care controleazÄ dacÄ trebuie colecÅ£ia sÄ fie accesibilÄ publicului. &Icirc;n final urmeazÄ zona de text &bdquo;Descrierea ColecÅ£iei&rdquo; aÅa cum este descris &icirc;n <a href="creatingacollection.htm">Crearea unei Noi ColecÅ£ii</a>.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/help.xml
===================================================================
--- main/tags/2.83/gli/help/ro/help.xml	(revision 21123)
+++ main/tags/2.83/gli/help/ro/help.xml	(revision 21123)
@@ -0,0 +1,495 @@
+<?xml version="1.0"?>
+<!DOCTYPE TutorialList [
+     <!ENTITY nbsp "&#160;">
+     <!ENTITY rarr "&#8594;">
+     <!ENTITY mdash "&#8212;">
+]>
+<!-- Romanian GLI Help, translated by Constantinescu Nicolaie --> 
+<Document>
+<Section name="introduction">
+<Title>
+<Text id="1">Introducere</Text>
+</Title>
+<Text id="2">InterfaÅ£a Bibliotecarului este un instrument pentru colectarea documentelor, adÄugarea metadatelor Åi apoi construirea colecÅ£iilor bibliotecii digitale. Aceasta furnizeazÄ accesul la funcÅ£ionalitÄÅ£ile Bibliotecii Digitale Greenstone din perspectivÄ unei interfeÅ£e grafice.</Text>
+<Section name="ofmiceandmenus">
+<Title>
+<Text id="3">Despre Åoricei Åi Meniuri</Text>
+</Title>
+<Text id="4">AceastÄ secÅ£iune vÄ furnizeazÄ informaÅ£ia de bazÄ privind interacÅ£iunea cu InterfaÅ£a Bibliotecarului. DacÄ sunteÅ£i familiari cu programe precum Internet Explorer sau Microsoft Office Åi folosiÅ£i mouse-ul Åi meniurile, atunci sÄriÅ£i la <Reference target="howtoavoidthisdocument"/>.</Text>
+<Text id="5">InterafaÅ£a Bibliotecarului urmÄreÅte convenÅ£iile microsoft Windows Åi se structureazÄ dupÄ modul de lucru Ã®n mediul Windows.</Text>
+<Text id="6">oricare parte a ecranului cu care interacÅ£ionaÅ£i precum butoane sau cÃ®mpuri text este denumit generic âcontrolâ. Ãn oricare moment, un control denumit âfocusâ, este subliniat Åi interacÅ£ioneazÄ cu tastatura. CÃ®teva controale permit selectarea pÄrÅ£ilor care sunt subliniate cu albastru Ã®nchis. CÃ¢teva controale sunt de culoare gri indicÃ¢nd faptul cÄ sunt inactive.</Text>
+<Text id="7">FuncÅ£iile mouse-ului sunt aceleaÅi. Multe dintre componente permit de asemenea operaÅ£iunea âdragâ Åi âdropâ. Diferitele fereste Ã®Åi modicÄ aparenÅ£a atunci cÃ¢nd o componentÄ este deasupra acestora.</Text>
+<Text id="8">PuteÅ£i folosi tastatura pentru a completa cÃ¢mpurile text. [Tab] vÄ termite sÄ navigaÈi printre multiplele cÃ¢mpuri text.</Text>
+<Text id="11">IeÅiÅ£i din programul InterfaÅ£a Bibliotecarului prin selectarea lui âExitâ din meniul âDosarâ. Mai Ã®ntÃ¢i va fi salvatÄ colecÅ£ia Åi apoi se va Ã®nchide.</Text>
+</Section>
+<Section name="howtoavoidthisdocument">
+<Title>
+<Text id="12">Cum sÄ evitaÅ£i citirea acestui document</Text>
+</Title>
+<Text id="13">Nu vÄ apucaÅ£i sÄ citiÅ£i textul sistemului de asistenÅ£Ä de la cap la coadÄ ! CitiÅ£i atÃ¢t cÃ¢t sÄ Ã®nvÄÅ£aÅ£i cum sÄ primiÅ£i ajutor atunci cÃ¢nd aveÅ£i nevoie.</Text>
+<Text id="14">Elementul din meniul de âAsistenÅ£eiâ marcheazÄ ceea ce ar trebui sÄ fie cel mai apropiat punct de sprijin fiind marcat cu un icon reprezentÃ¢nd o carticicÄ.</Text>
+<Text id="15">Pentru cele mai multe dintre controale dacÄ poziÅ£ionaÅ£i cursorul deasupra acestora, apare un dialog de ajutor contextual (tool tip), care vÄ va dirija Ã®n ceea ce trebuie sÄ faceÅ£i.</Text>
+<Text id="16">Ãnainte de a utiliza InterfaÅ£a Bibliotecarului, mai Ã®ntÃ¢i citiÅ£i documentaÅ£ia Greenstone.</Text>
+</Section>
+</Section>
+<Section name="startingoff">
+<Title>
+<Text id="17">Pornire</Text>
+</Title>
+<Text id="18">AceastÄ secÅ£iune acoperÄ modalitÄÅ£ile de creare, Ã®ncÄrcare, salvare Åi Återgere a colecÅ£iilor.</Text>
+<Section name="creatingacollection">
+<Title>
+<Text id="19">Crearea unei Noi ColecÅ£ii</Text>
+</Title>
+<Text id="20">Pentru a crea o nouÄ colecÅ£ie, deschideÅ£i meniul âDosarâ Åi alegeÅ£i âNouâ. CÃ¢teva cÃ¢mpuri trebuie sÄ fie completate; valorile pot fi schimbate mai tÃ¢rziu dacÄ acest lucru este necesar din panoul de Formatare (Vizualizarea Formatului).</Text>
+<Text id="21">âTitlul colecÅ£ieiâ este textul afiÅat Ã®n capul paginii colecÅ£iei. Acesta poate avea orice lungime.</Text>
+<Text id="22">âDescrierea conÅ£inutuluiâ ar trebui sÄ afiÅeze cÃ¢t mai multe detalii posibil despre colecÅ£ie. UtilizaÅ£i tasta [Enter] pentru a o sparge Ã®n paragrafe.</Text>
+<Text id="23">Ãn final, trebuie specificat dacÄ noua colecÅ£ie va avea aceeaÅi aparenÅ£Ä Åi seturi de metadate ca o colecÅ£ie deja existentÄ sau dacÄ porniÅ£i o âColecÅ£ie NouÄâ. Noile colecÅ£ii au o configurare standard Åi folosesc setul de metadate Dublin Core. Acest lucru se poate modifica ulterior.</Text>
+<Text id="24">ApÄsaÅ£i pe âOKâ pentru a crea colecÅ£ia.</Text>
+<Text id="25">ApÄsÃ¢nd pe âAnulareâ vÄ Ã®ntoarceÅ£i imediat Ã®n panoul principal.</Text>
+</Section>
+<Section name="savingacollection">
+<Title>
+<Text id="26">Salvarea ColecÅ£iei</Text>
+</Title>
+<Text id="27">SalvaÅ£i munca dumneavoastrÄ Ã®n mod regulat prin deschiderea meniului âDosarâ Åi alegerea opÅ£iunii âSalvareâ. Salvarea unei colecÅ£ii nu este acelaÅi lucru cu pregÄtirea acesteia pentru a fi utilizatÄ Ã®n Greenstone (vezi <Reference target="producingthecollection"/>).</Text>
+<Text id="28">InterfaÅ£a Bibliotecarului protejeazÄ munca dumneavoastrÄ prin salvare atunci cÃ¢nd pÄrÄsiÅ£i programul sau este Ã®ncÄrcatÄ altÄ colecÅ£ie.</Text>
+<Text id="29a">ColecÅ£iile sunt salvate Ã®ntr-un director din cadrul directorului de instalare pentru âcolectareâ denumit cu o versiune scurtÄ a numelui colecÅ£iei. Documentele sunt salvate Ã®n subdirectorul âimportareâ iar metadatele sunt salvate Ã®n fiÅierele âmetadata.xmlâ din cadrul acestui director. InformaÅ£ia de configurare este salvatÄ Ã®n fiÅierul âcolect.cfgâ din cadrul subdirectorului âetcâ. Unele informaÅ£ii sunt salvate de asemenea Ã®ntr-un fiÅier denumit dupÄ colecÅ£ie avÃ¢nd extensia â.colâ. </Text>
+</Section>
+<Section name="openingacollection">
+<Title>
+<Text id="30">Deschiderea unei colecÅ£ii existente</Text>
+</Title>
+<Text id="31">Pentru a deschide o colecÅ£ie alege âDeschideâ din meniul âFiÅierâ pentru a ajunge la prompterul ColecÅ£iei. Apare o listÄ a colecÅ£iilor disponibile. SelectaÅ£i una pentru a-i vedea descrierea Åi apÄsaÅ£i pe âDeschideâ pentru a o Ã®ncÄrca.</Text>
+<Text id="32">Ãn cazul Ã®n care ruleazÄ mai mult de o interfaÅ£Ä Greenstone Ã®n acelaÅi timp, directoarele relevante sunt âblocateâ pentru a preveni interferenÅ£ele. La deschiderea unei colecÅ£ii, este creat un mic fiÅier temporar de blocare Ã®n directorul acestuia. Ãnainte de a deschide o colecÅ£ie, InterfaÅ£a Bibliotecarului verificÄ sÄ nu cumva ca acest fiÅier de blocare sÄ existe deja. Oricum, atunci cÃ¢nd se iese repede din InterfaÅ£a Bibliotecarului fiÅierul de bocare rÄmÃ¢ne activ Ã®n director. Ãn acest caz, la deschiderea unei colecÅ£ii, bibliotecarul te Ã®ntreabÄ dacÄ vrei sÄ âpreieiâ controlul acesteia. PoÅ£i face acest lucru dacÄ ai certitudinea cÄ altcineva lucreazÄ la aceeaÅi colecÅ£ie.</Text>
+<Text id="33">CÃ¢nd deschizi o colecÅ£ie pe care InterfaÅ£a Bibliotecarului Greenstone nu a creat-o, Ã®i va fi atribuit setul de metadate Dublin Core iar oricare metadate existente vor fi importate Ã®n acelaÅi mod cum se Ã®ntÃ¢mplÄ Ã®n cazul Ã®n care trageÅ£i fiÅierele ce au metadate. Procesul este descris Ã®n secÅ£iunea <Reference target="importingpreviouslyassignedmetadata"/></Text>
+</Section>
+<Section name="deletingcollections">
+<Title>
+<Text id="34">Återgerea ColecÅ£iilor</Text>
+</Title>
+<Text id="35">Pentru a elimina permanent colecÅ£ii din sistemul Greenstone instalat, alegeÅ£i âÅterge...â din meniul âDosarâ. Va apÄrea o listÄ a colecÅ£iilor. SelectaÅ£i una dintre acestea pentru a-i vedea descrierea, bifaÅ£i cÄsuÅ£a de la finalul dialogului Åi apÄsaÅ£i âÅtergeâ. AceastÄ acÅ£iune este ireversibilÄ. VÄ rugÄm sÄ procedaÅ£i cu mare atenÅ£ie.</Text>
+</Section>
+</Section>
+<Section name="downloadingfiles">
+<Title>
+<Text id="36">DescÄrcarea fiÅierelor din Internet</Text>
+</Title>
+<Text id="37">Panoul <AutoText key="glidict::GUI.Download"/> te ajutÄ sÄ descarci resurse din Internet. AceastÄ secÅ£iune explicÄ procedeul de descÄrcare din InterfaÅ£a Bibliotecarului.</Text>
+<Section name="themirrorview">
+<Title>
+<Text id="38">Panoul de DescÄrcare</Text>
+</Title>
+<Text id="39">AceastÄ secÅ£iune descrie cum se poate configura o operaÅ£iune de descÄrcare Åi controlul procesului de download. AccesaÅ£i panoul <AutoText key="glidict::GUI.Download"/> prin accesarea opÅ£iunii. JumÄtatea superioarÄ a ecranului aratÄ instrumentele de control ale descÄrcÄrii. JumÄtatea inferioarÄ, iniÅ£ial, este goalÄ, dar va prezenta o listÄ de operaÅ£iuni de descÄrcare, care, fie sunt Ã®n aÅteptare, fie sunt Ã®ncheiate. </Text>
+<Text id="39a">ExistÄ cÃ¢teva protocoale care pot fi folosite pentru descÄrcarea Ã®nregistrÄrilor, iar aceste sunt afiÅate Ã®n partea stÃ¢ngÄ sus.</Text>
+<Text id="39b"><b>Web:</b> descarcÄ pagini web Åi fiÅiere via HTTP Åi FTP.</Text>
+<Text id="39c"><b>OAI:</b> descarcÄ Ã®nregistrÄri de metadate dintr-un server OAI (Open Archive Initiative).</Text>
+<Text id="39d"><b>Z3950:</b> descarcÄ de la un server Ã®nregistrÄrile Z3950 MARC care corespund unor anume criterii de cÄutare.</Text>
+<Text id="39e"><b>SRW:</b> descarcÄ Ã®nregistrÄri MARCXML care se potrivesc cu un anumit criteriu de cÄutare de la un server SRW.</Text>
+<Text id="39f">SelectaÅ£i tipul corespunzÄtor prin alegerea acestuia din lista de pe partea stÃ¢ngÄ. Partea dreaptÄ prezintÄ opÅ£iunile disponibile pentru tipul de descÄrcare selectat. Pentru a afla ce face o opÅ£iune, poziÅ£ionaÅ£i cursorul deasupra acesteia: va apÄrea o fereastrÄ cu explicaÅ£iile referitoare la opÅ£iunea Ã®n cauzÄ. Unele dintre opÅ£iuni sunt âopÅ£ionaleâ: acestea sunt Ã®nsoÅ£ite de o cÄsuÅ£Ä de validare care trebuie bifatÄ pentru ca opÅ£iunea sÄ fie folositÄ. Unele dintre ele sunt ânecesareâ: acestea nu au o cÄsuÅ£Ä de validare Åi trebuie introdusÄ o valoare Ã®nainte de a porni descÄrcarea.</Text>
+<Text id="39g">Din moment ce configurarea a fost fÄcutÄ, apÄsaÅ£i pe <AutoText key="glidict::Download.ServerInformation"/> pentru a verifica conexiunea la server Åi pentru a vedea informaÅ£ii generale despre paginÄ sau server sau puteÅ£i apÄsa pe <AutoText key="glidict::Mirroring.Download"/> pentru a Ã®ncepe descÄrcarea.</Text>
+<Text id="39g-1">ExistÄ douÄ butoane: âPreferinÅ£eâ, care se leagÄ la secÅ£iunea conexiuni a PreferinÅ£elor, de unde setÄrile de proxy pot fi editate Åi âCurÄÅ£a Cacheâ, care Återge toate fiÅierele anterior descÄrcate. Va fi nevoie sÄ fie setatÄ informaÅ£ia privind proxy-ul, dacÄ se foloseÅte un server proxy pentru conectarea la Internet. DacÄ este necesarÄ autentificarea atunci cÃ¢nd este efectuatÄ o descÄrcare, serverul proxy va cere detaliile de autentificare. InterfaÅ£a Bibliotecarului nu stocheazÄ parole Ã®ntre sesiuni.</Text>
+<Text id="40">FiÅierele sunt descÄrcate Ã®ntr-un director numit <AutoText key="glidict::Tree.DownloadedFiles"/> (prezent doar atunci cÃ¢nd opÅ£iunea de descÄrcare este activÄ) Åi poate fi utilizat Ã®n oricare dintre colecÅ£ii. FiÅierele sunt numite dupÄ URL-ul complet (pentru descÄrcÄrile de pe web) sau o combinaÅ£ie de URL Åi valori ale unor opÅ£iuni (pentru alte tipuri de descÄrcÄri). Pentru fiecare host este creat cÃ¢te un director urmat de altele pentru fiecare parte a cÄii. Acest lucru se face pentru a se asigura cÄ fiecare fiÅier este distinct.</Text>
+<Text id="42">Lista de descÄrcÄri are o intrare pentru fiecare operaÅ£iune deja Ã®ncheiatÄ. Fiecare intrare are o zonÄ de text care oferÄ detaliile unei operaÅ£iuni Ã®mpreunÄ cu bara de progres care aratÄ activitatea curentÄ. Ãn partea stÃ¢ngÄ a fiecÄrei intrÄri apar trei butoane. âPauzÄâ este utilizat pentru a opri temporar o operaÅ£iune. âVezi Jurnalulâ deschide o fereastrÄ care prezintÄ conÅ£inutul fiÅierului descÄrcat. âÃnchideâ opreÅte descÄrcarea Åi scoate operaÅ£iunea de pe listÄ.</Text>
+</Section>
+</Section>
+<Section name="collectingfiles">
+<Title>
+<Text id="44">Colectarea fiÅierelor pentru ColecÅ£ie</Text>
+</Title>
+<Text id="45">Din moment ce a fost iniÅ£iatÄ o nouÄ colecÅ£ie, aceasta trebuie sÄ conÅ£inÄ niÅte fiÅiere. Acestea pot proveni din zona computerului pe care lucraÅ£i, din rÃ¢ndul unor fiÅiere descÄrcate de curÃ¢nd sau chiar din cadrul altor colecÅ£ii Greenstone. Este posibil ca unele dintre acestea sÄ aibe deja ataÅate metadate. AceastÄ secÅ£iune descrie  cum se pot importa fiÅiere.</Text>
+<Section name="thegatherview">
+<Title>
+<Text id="46">Panoul de Colectare</Text>
+</Title>
+<Text id="47">AceastÄ secÅ£iune introduce zona de Colectare folositÄ pentru a selecta care fiÅiere sÄ fie incluse Ã®n colecÅ£ia construitÄ. InterfaÅ£a Bibliotecarului porneÅte cu zona de Colectare. Pentru a se Ã®ntoarce la acest panou, apÄsaÅ£i pe opÅ£iunea <AutoText key="glidict::GUI.Gather"/> direct mai jos de bara de meniu.</Text>
+<Text id="48">Cele douÄ zone mari denumite âSpaÅ£iu de Lucruâ Åi âColecÅ£ieâ sunt utilizate pentru a muta fiÅierele Ã®n cadrul colecÅ£iei proprii. Acestea conÅ£in âarbori de fiÅiereâ care reprezintÄ fiÅiere Åi directoare.</Text>
+<Text id="49">SelectaÅ£i un element din arbore prin apÄsarea pe acesta. (ExistÄ Åi alte cÄi; vezi mai jos). DaÅ£i dublu-click pe un director, sau un singur click pe simbolul de deschidere de lÃ¢ngÄ, pentru a extinde (sau constrÃ¢nge) conÅ£inutul sÄu. ApÄsaÅ£i dublu-click pe un fiÅier (sau click dreapta Åi selectaÅ£i <AutoText key="glidict::Menu.Open_Externally"/>) pentru a-l deschide folosindu-se programul de aplicaÅ£ie asociate (vezi <Reference target="fileassociations"/>).</Text>
+<Text id="50">Arborele fiÅierelor din SpaÅ£iul de Lucru aratÄ sursele de date disponibile InterfeÅ£ei Bibliotecarului -- sistemul local de fiÅiere (fiind incluse hard discul Åi CD/DVD-ROM-urile), conÅ£inutul colecÅ£iilor Greenstone deja existente Åi zona de preÃ®ncÄrcare (cache) a fiÅierelor descÄrcate. Aceste fiÅiere pot fi copiate Åi vizualizate, dar nu pot fi mutate, Återse sau editate cu excepÅ£ia celor descÄrcate, care pot fi Återse. PuteÅ£i naviga Ã®n acest spaÅ£iu pentru a cÄuta fiÅierele dorite a fi incluse Ã®n colecÅ£ie.</Text>
+<Text id="51">Arborele ColecÅ£iei reprezintÄ conÅ£inutul colecÅ£iei pÃ¢nÄ Ã®n acest moment. IniÅ£ial acesta este nepopulat.</Text>
+<Text id="52">Se pot redimensiona spaÅ£iile prin poziÅ£ionarea cursorului mouseului peste bara gri care separÄ arborele (Ã®n acest moment se schimbÄ forma cursorului) Åi se trage.</Text>
+<Text id="53">La partea inferioarÄ a ferestrei existÄ o zonÄ de stare care aratÄ progresul acÅ£iunilor implicÃ¢nd fiÅierele (copiere, mutare Åi Återgere). Acestea pot sÄ ia ceva timp pentru a fi Ã®ncheiate.
+Butonul âStopâ opreÅte orice acÅ£iune care se desfÄÅoarÄ Ã®n mod curent.</Text>
+<Text id="54">DouÄ butoane mari ocupÄ colÅ£ul dreapta jos al ecranului. âDirector Nouâ avÃ¢nd imaginea unui director are ca efect crearea de noi directoare (vezi <Reference target="creatingfolders"/>). âÅtergeâ avÃ¢nd imaginea unui coÅ de gunoi, eliminÄ fiÅierele. ApÄsÃ¢nd pe butonul Återge va avea ca efect eliminarea oricÄror fiÅiere selectate din arborele de fiÅiere al colecÅ£iei. Alternativ, fiÅierele pot fi Återse prin tragerea acestora peste butonul Återge.</Text>
+<Text id="55">Pentru a selecta cÃ¢teva elemente Ã®n serie, se selecteazÄ pe primul, se Å£ine apÄsatÄ tasta [Shift] Åi se apasÄ pe ultimul - selecÅ£ia va considera toate elementele dintre. Selectarea de elemente non-secvenÅ£iale se Å£ine apÄsatÄ tasta [Ctrl] Ã®n timp ce se face selecÅ£ia. Aceste douÄ metode sunt folosite Ã®mpreunÄ pentru a selecta grupuri de elemente neadiacente.</Text>
+</Section>
+<Section name="creatingshortcuts">
+<Title>
+<Text id="55a">Crearea unei scurtÄturi Ã®n Arborele de Lucru</Text>
+</Title>
+<Text id="56">Anumite directoare precum cel care conÅ£ine paginile web personale, uneori au o semnificaÅ£ie specialÄ. DacÄ se doreÅte, InterfaÅ£a Bibliotecarului le poate mapa la nivelul superior al arborelui fiÅierelor. Pentru a face acest lucru daÅ£i clic-dreapta pe directorul dorit. SelectaÅ£i âCreazÄ scurtÄturÄâ Åi introduceÅ£i un nume pentru director. Pentru a elimina un element, daÅ£i clic-dreapta pe directorul mapat Åi selectaÅ£i âEliminÄ ScurtÄturÄâ.</Text>
+</Section>
+<Section name="creatingfolders">
+<Title>
+<Text id="57">Crearea Directoarelor</Text>
+</Title>
+<Text id="58">UtilizaÅ£i directoarele din arborele directoarelor ColecÅ£iei pentru a grupa fiÅiere Åi pentru a le face mai uÅor de gÄsit. Directoarele pot fi puse ca subdirectoare Ã®n alte directoare. AceastÄ procedurÄ nu are vreo limitare indiferent de numÄr sau adÃ¢ncime.</Text>
+<Text id="59">Pentru a crea un nou director, selectaÅ£i la alegere un director existent din Arborele ColecÅ£iei Åi apÄsaÅ£i pe butonul Director Nou. Noul director apare Ã®n cadrul celui selectat sau la partea superioarÄ, dacÄ nu este selectat niciunul. Vi se va cere sÄ precizaÅ£i numele directorului (implicit se va pune numele âDirector nouâ).</Text>
+<Text id="60">Directoarele pot fi create, de asemenea prin clic-dreapta pe Arborele ColecÅ£iei sau peste un director, de unde se alege âDirector Nouâ Åi se procedeazÄ ca mai sus.</Text>
+</Section>
+<Section name="addingfiles">
+<Title>
+<Text id="61">AdÄugarea FiÅierelor</Text>
+</Title>
+<Text id="62">FiÅierele pot fi copiate Ã®n colecÅ£ie prin drag &amp; drop. Cursorul mouseului se estompeazÄ avÃ¢nd forma elementului selectat (iar dacÄ sunt selectate mai multe, Ã®n numÄrul acestora). Elementele selectate sunt puse Ã®n Arborele ColecÅ£iei (dacÄ sursa a fost Arborele de Lucru) sau se pot muta Ã®n cadrul aceleiaÅi colecÅ£ii (dacÄ sursa a fost Arborele ColecÅ£iei).</Text>
+<Text id="63">Atunci cÃ¢nd sunt copiate fiÅiere multiple, acestea sunt plasate Ã®n directorul Å£intÄ la acelaÅi nivel indiferent de structura directorului din care provin. Atunci cÃ¢nd copiaÅ£i un al doilea fiÅier avÃ¢nd acelaÅi nume Ã®n acelaÅi director, vi se va cere dacÄ doriÅ£i sÄ-l suprascrieÅ£i peste cel existent. RÄspunzÃ¢nd cu âNuâ veÅ£i anula copierea fiÅierului, dar cele care nu au astfel de conflicte vor fi totuÅi copiate. Pentru a anula toate operaÅ£iunile de copiere, apÄsaÅ£i pe butonul âstopâ.</Text>
+<Text id="64">Doar cele mai âÃ®nalteâ elemente sin selecÅ£ie vor fi mutate. Un director este considerat pe o poziÅ£ie superioarÄ faÅ£Ä de copii sÄi. Nu pot fi selectate fiÅierele dintr-un director, precum Åi directorul Ã®nsuÅi (fiÅierele sunt directorul).</Text>
+<Text id="65">Atunci cÃ¢nd adaugi un fiÅier, InterfaÅ£a Bibliotecarului cautÄ prin directoarele sursÄ dupÄ fiÅiere auxiliare ce conÅ£in metadate atribuite anterior fiÅierelor adÄugate, iar dacÄ acestea sunt gÄsite, se procedeazÄ la importul acestor metadate. Pe mÄsurÄ ce se desfÄÅoarÄ aceastÄ operaÅ£iune, vi se va cere (de cÃ¢teva ori) unele informaÅ£ii Ã®n plus pentru metadatele importate care se aranjeazÄ dupÄ seturile de metadate ale colecÅ£iei. Acest proces implicÄ multe promptÄri distincte descrise Ã®n secÅ£iunea <Reference target="importingpreviouslyassignedmetadata"/>. Pentru o explicaÅ£ie mai detaliatÄ a metadatelor asociate cu fiÅierele, puteÅ£i citi Capitolul 2 din Ghidului Dezvoltatorului Greenstone -- ObÅ£inerea a cÃ¢t mai mult din documentele colecÅ£iei</Text>
+<Text id="65a">PoÅ£i sÄ adaugi un document âfigurantâ la colecÅ£ie prin click-dreapta Ã®n Arborele ColecÅ£iei sau pe director, unde selectaÅ£i âDocument figurant nouâ. Acest lucru va crea un nou fiÅier gol asupra cÄruia pot fi asignate metadate. FiÅierul poate fi Ã®nlocuit cu un fiÅier ârealâ la un moment ulterior.</Text>
+</Section>
+<Section name="replacingfiles">
+<Title>
+<Text id="65b">Redenumirea Åi Ãnlocuirea FiÅierelor</Text>
+</Title>
+<Text id="65c">FiÅierele pot fi redenumite prin click-dreapta pe acestea Åi selectarea opÅ£iunii âRedenumeÅteâ din listÄ. IntroduceÅ£i noul nume Åi apÄsaÅ£i pe OK.</Text>
+<Text id="65d">Directoarele pot fi Ã®nlocuite Ã®n colecÅ£ie prin apÄsarea click-dreapta pe acel director Åi optarea pentru âÃnlocuireâ. Se va deschide un panou de navigare: mergeÅ£i la noul document Åi apÄsaÅ£i âDeschideâ. Noul document Ã®l va Ã®nlocui pe cel vechi din colecÅ£ie iar metadatele vor fi transferate acestuia din urmÄ. Acest lucru se dovedeÅte a fi util  Ã®n cazul Ã®nlocuirii documentelor figurant cu cele adevÄrate.</Text>
+</Section>
+<Section name="removingfiles">
+<Title>
+<Text id="66">Eliminare FiÅiere</Text>
+</Title>
+<Text id="67">ExistÄ mai multe metode de eliminare a fiÅierelor Åi directoarelor. Mai Ã®ntÃ¢i trebuie indicate elementele care trebuie eliminate prin selectarea unuia sau a mai multor fiÅiere Åi directoare dupÄ cum este descris Ã®n <Reference target="thegatherview"/>.</Text>
+<Text id="68">Din moment ce fiÅierele au fost selectate, apÄsaÅ£i pe butonul âÅtergeâ pentru a-l elimina sau apÄsaÅ£i tasta [Delete] a tastaturii ori trageÅ£i-l din colecÅ£ie pe butonul de Återgere, unde-i daÅ£i drumul.</Text>
+</Section>
+<Section name="explodingfiles">
+<Title>
+<Text id="exm-1">âDestindereaâ FiÅierelor de Metadate</Text>
+</Title>
+<Text id="exm-2">Tipurile de fiÅiere specifice bazelor de date pentru metadate precum MARC, CDS/ISIS, BibTex, Refer Åi Procite pot fi importate Ã®n Greenstone, dar metadatele acestora nu pot fi vÄzute sau editate Ã®n InterfaÅ£a Bibliotecarului. Pentru a vedea Åi edita metadatele, va trebui sÄ vÄ Ã®ntoarceÅ£i la programul care a generat fiÅierul.</Text>
+<Text id="exm-3">âDestindereaâ unui fiÅier de metadate al unei baze de date Ã®mparte conÅ£inutul acestuia Ã®n Ã®nregistrÄri individuale, care prezintÄ metadate vizibile Åi editabile. Acest proces este ireversibil: fiÅierul de metadate original este Åters.</Text>
+<Text id="exm-4">Directoarele care pot fi destinse au o pictogramÄ verde Ã®n arborele colecÅ£iei. Pentru a destinde unul, apÄsaÈi clic dreapta Åi optaÅ£i pentru âDestinde baza de metadateâ. O fereastÄ popup aratÄ opÅ£iunile care privesc procesul de destindere. Prima opÅ£iune (âextensieâ) specificÄ extensia necesarÄ destinderii. Ãn cele mai multe cazuri, doar un singur plugin va procesa un anumit tip de fiÅier, dar Ã®n unele cazuri, acolo unde diferite tipuri de fiÅiere partajeazÄ aceeaÅi extensie, pot fi douÄ pluginuri care sÄ proceseze fiÅierul care necesitÄ respectiva extensie. OpÅ£iunea âcodarea_intrÄrilorâ poate fi utilizatÄ pentru a specifica codarea bazei de date. OpÅ£iunea âset_de_metadateâ specificÄ setul de metadate al cÄrui cÃ¢mpuri generate prin destindere ar trebui sÄ fie completate. DacÄ nu este specificat niciunul vi se va cere ce trebuie fÄcut cu fiecare cÃ¢mp din baza de date: adÄugaÅ£i-l ca pe un nou element la un set de metadate existent, fuzionaÅ£i-l cu un alt element sau pur Åi simplu ignoraÅ£i-l.</Text>
+<Text id="exm-5">Atunci cÃ¢nd este destins un document este creat un document gol pentru fiecare Ã®nregistrare, iar metadatele Ã®nregistrÄrii sunt atribuite documentului. Acestea sunt denumite folosindu-se numere precum 000001.nul, 000002.nul etc. DacÄ este setatÄ opÅ£iunea âdocument_fieldâ (cÃ¢mpului rezervat numeleui fiÅierului bazei de date), valoarea acestui cÃ¢mp, dacÄ aceasta existÄ, va fi utilizatÄ pentri a denumi fiÅierul. Procesul de destindere va Ã®ncerca, de asemenea, sÄ descarce fiÅierul Åi sÄ-l foloseascÄ Ã®n locul unui fiÅier gol. OpÅ£iunile âdocument_prefixâ Åi âdocument_suffixâ pot fi utilizate pentru a construi un URL valid cau calea la un fiÅier pornind de la valoarea lui document_field. OpÅ£iunea ârecords_per_foldersâ poate fi utilizatÄ pentru a grupa Ã®nregistrÄrile destinse Ã®n subdirectoare. DacÄ baza de date este foarte mare, folosirea acestei opÅ£iuni va accelera editarea subsecventÄ a metadatelor.</Text>
+<Text id="exm-6">Capacitatea de destindere este determinatÄ de extensia fiÅierului. Ãn unele cazuri, fiÅierele pot fi etichetate incorect ca expandabile dacÄ acestea au aceeaÅi extensie precum fiÅierele care pot fi destinse. De exemplu, plugin-ul ProCite proceseazÄ fiÅierele avÃ¢nd extensia .txt, dar marea majoritate a fiÅierelor .txt sunt de fapt fiÅiere text simple Åi nu fiÅiere ProCite.</Text>
+</Section>
+<Section name="filteringthetree">
+<Title>
+<Text id="69">Filtrarea Arborilor</Text>
+</Title>
+<Text id="70">âFiltrareaâ colecÅ£iei Åi a arborilor colecÅ£iei vÄ permite limitarea cÄutÄrii pentru anumite fiÅiere.</Text>
+<Text id="71">Meniul derulant âAratÄ FiÅiereleâ de sub fiecare arbore aratÄ o listÄ de filtre predefinite, precum âImaginiâ. AlegÄndu-se aceastÄ opÅ£iune se ascund temporar toate celelalte fiÅiere din arbore. Pentru a restaura arborele, schimbaÅ£i filtrul la opÅ£iunea iniÅ£ialÄ âToate FiÅiereleâ. Aceste operaÅ£iuni nu modificÄ colecÅ£ia Åi nici nu afecteazÄ fiÅierele din arbore.</Text>
+<Text id="72">PuteÅ£i specifica un filtru particularizat prin introducerea unui Åablon de potrivire a fiÅierelor (doar Ã®n modul de operare Specialist Ã®n Sisteme de BibliotecÄ Åi cel Expert). UtilizaÅ£i abrevierile standard pentru fiÅiere precum â*.docâ (â*â substituie orice caracter).</Text>
+</Section>
+</Section>
+<Section name="enrichingacollection">
+<Title>
+<Text id="73">ÃmbogÄÅ£irea ColecÅ£iei proprii cu Metadate</Text>
+</Title>
+<Text id="74">DupÄ colectarea cÃ¢torva fiÅiere Åi directoare Ã®n colecÅ£ie, acestea pot fi Ã®mbogÄÅ£ite cu informaÅ£ii adiÅ£ionale numite âmetadateâ. AceastÄ secÅ£iune explicÄ cum sunt create metadatele, cum sunt editate, atribuite Åi regÄsite, precum Åi cum sunt utilizate sursele externe de metadate (vezi, de asemenea Capitolul 2 al Ghidului Dezvoltatorului Greenstone -- ObÅ£inerea maximului din documente).</Text>
+<Section name="theenrichview">
+<Title>
+<Text id="75">Panoul de ÃmbogÄÅ£ire</Text>
+</Title>
+<Text id="76">FolosiÅ£i modul <AutoText key="glidict::GUI.Enrich"/> pentru a asigna metadate documentelor din colecÅ£ie. Metadatele se referÄ la date -- Ã®n mod curent la titlu, autor, data creÄrii Å.a.m.d. Fiecare element de metadate are douÄ pÄrÅ£i: <AutoText key="glidict::Metadata.Element"/> spune ce fel de element este (precum autor, de exemplu), iar <AutoText key="glidict::Metadata.Value"/> aratÄ valoarea acelui element (de exemplu, numele autorului).</Text>
+<Text id="77">La stÃ¢nga panoului <AutoText key="glidict::GUI.Enrich"/> se aflÄ Arborele ColecÅ£iei. Sistemul opÅ£iunilor contextuale accesate prin click dreapta care a fost disponibil pentru Arborele ColecÅ£iei, panoul <AutoText key="glidict::GUI.Gather"/>, sunt disponibile Åi aici. La dreapta este Tabelul Metadatelor, care aratÄ metadatele pentru fiÅierele sau directoarele selectate din Arborele ColecÅ£iei. Coloanele poartÄ denumirea de culoare gri la partea superioarÄ Åi pot fi redimensionate prin delimitarea cu o linie de separare. DacÄ sunt selectate mai multe fiÅiere Åi directoare, culoarea neagrÄ a textului indicÄ faptul cÄ au o valoare comunÄ pentru toate, Ã®n timp ce textul gri indicÄ contrariul. Editarea valorilor indicate cu gri va afecta doar acele documente care poartÄ acea valoare de metadate. Oricare valori noi introduse, vor fi adÄugate valorilor deja selectate.</Text>
+<Text id="78">AlÄturat unor intrÄri de metadate este posibil sÄ aparÄ pictograma unui director. Acest lucru indicÄ cÄ valorile sunt moÅtenite de la un director pÄrinte (sau strÄbun). Metadatele moÅtenite nu pot fi editate sau eliminate, pot fi doar preluate sau suprascrise. ApÄsaÅ£i pe pictograma directorului pentru a merge imediat Ã®n directorul asupra cÄruia sunt atribuite metadatele.</Text>
+<Text id="79">ApÄsÃ¢nd pe un element de metadate din tabel vor fi afiÅate valorile existente pentru acel element din zona <AutoText key="glidict::EnrichPane.ExistingValues" args="..."/> de mai jos de tabel. Aceast âArbore de Valoriâ este extensibil Åi poate fi restrÃ¢ns. De obiceise prezintÄ sub forma unei liste care aratÄ toate valorile introduse anterior pentru elementul selectat. ApÄsÃ¢nd pe o intrare o plaseazÄ automat pe aceasta Ã®n cÃ¢mpul destinat valorii. Reciproc, introducÃ¢nd valoarea manual Ã®n cÃ¢mpul de text are ca efect selectarea valorii din Arborele Valorilor care Ã®ncepe cu literele tocmai introduse. ApÄsarea pe tasta [Tab] are ca efect autocompletarea restului valorii tocmai introduse Ã®n baza potrivirii automate mai sus menÅ£ionate.</Text>
+<Text id="80">Valorile metadatelor pot fi organizate ierarhic. Acest lucru este vizibil Ã®n Arborele Valorilor, unde sunt folosite directoarele pentru crearea nivelurilor interne. Valorile ierarhice pot fi introduse folosindu-se caracterul â|â pentru separarea nivelurilor. De exemplu, âBibliotecÄ|CÄrÅ£i|BeletristicÄ|Romantismâ poate fi folosit Ã®ntr-o ierarhie care prezintÄ structura unei biblioteci reale. Astfel este posibilÄ gruparea valorilor Ã®mpreunÄ. De asemenea, grupurile pot fi atribuite ca metadate fiÅierelor sau directoarelor.</Text>
+<Text id="81">Greenstone extrage metadatele automat din documente Ã®ntr-un set de metadate ale cÄrui elemente sunt prefixate cu âex.â. Acesta nu are valori Ã®n arbore Åi nu poate fi editat.</Text>
+</Section>
+<Section name="selectingmetadatasets">
+<Title>
+<Text id="82">Selectarea Seturilor de Metadate</Text>
+</Title>
+<Text id="83">Seturi de elemente de metadate predefinite numite ca âseturi de metadateâ. Un exemplu este setul de metadate Dublin Core. Atunci cÃ¢nd adaugi un set de metadate la colecÅ£ie, elementele sale sunt disponibile selectÄrii. Pot exista mai mult de un singur set; pentru a preveni conflictul de nume se pune Ã®n vedere un mic identificator care identificÄ metadatele pentru un nume de element. De exemplu, elementul Creator, care face parte din Dublin Core, devine âdc.Creatorâ. Seturile de Metadate sunt stocate Ã®n directorul metadatelor al InterfeÅ£ei Bibliotecarului Åi au sufficul â.mdsâ.</Text>
+<Text id="84">Atunci cÃ¢nd este creatÄ o nouÄ colecÅ£ie, setul de metadate Dublin Core este adÄugat automat. Pot fi selectate care dintre seturile de metadate sunt utilizate Ã®ntr-o colecÅ£ie prin apÄsarea pe butonul âGestiunea Seturilor de Metadate...â de sub Arborele ColecÅ£iei din fereastra extinsÄ. Aceasta are ca efect deschiderea unei noi ferestre pentru gestionarea seturilor de metadate ale colecÅ£iei.</Text>
+<Text id="84a">Lista âSeturi de Metadate Atribuiteâ aratÄ care dintre seturi sunt atribuite curent Ã®n cadrul colecÅ£iei.</Text>
+<Text id="84b">Pentru a utiliza un alt set de metadate Ã®mpreunÄ cu o colecÅ£ie Ã®ncÄrcatÄ, apÄsaÅ£i pe âAdaugÄ...â. Va apÄrea o fereastrÄ care vÄ va arÄta seturile prezente implicit despre care GLI Åtie. Pentru a adÄuga unul dintre acestea, selectaÅ£i-l din listÄ Åi apÄsaÅ£i pe âAdaugÄâ. DacÄ aÅ£i definit setul de metadate propriu, puteÅ£i utiliza butonul âNavigheazÄâ pentru a localiza fiÅierul Ã®n cadrul sistemului de fiÅiere.</Text>
+<Text id="84c">Pentru a crea un nou set de metadate, apÄsaÅ£i pe âNou...â. Acest pas va lansa Editorul Greenstone pentru Seturile de Metadate GEMS. Va apÄrea o fereastrÄ Ã®n care vi se va cere numele setului, namespace-ul Åi descrierea. De asemenea, puteÈi aÅeza noul set peste unul preexistent, caz Ã®n care vor fi moÅtenite toate elementele din setul specificat. ApÄsaÅ£i pe OK. Fereastra principalÄ aratÄ elementele setul de metadate pe partea stÃ¢ngÄ iar cÃ¢teva atribute ale setului Ã®n partea dreaptÄ. DacÄ aÅ£i poziÅ£ionat setul peste unul preexistent atunci vor fi afiÅate unul sau mai multe elemente. ApÄsÃ¢nd pe unul din ele, vor fi afiÅate atributele elementului Ã®n partea dreaptÄ.</Text>
+<Text id="84d">Pentru a adÄuga un nou element, daÅ£i click dreapta pe numele setului Åi alegeÅ£i âAdaugÄ Elementâ. Pentru a adÄuga un nou subelement, daÅ£i click dreapta pe element Åi alegeÅ£i âAdaugÄ Subelementâ. Elementele Åi subelementele pot fi Återse alegÃ¢nd âÅterge (Sub)elementulâ din meniul contextual accesat dÃ¢nd clic dreapta.</Text>
+<Text id="84e">NotÄ: Editorul Greenstone pentru Seturile de Metadate poate fi rulat independent de GLI prin selectarea acestuia din directorul Greenstone din Start menu sau prin rularea scripturilor gens.sh sau gems.bat din directorul gli al instalÄrii Greenstone.</Text>
+<Text id="84f">Uneori douÄ seturi de metadate pot avea aceleaÅi namespace-uri, de exemplu, Dublin Core Åi Dublin Core Calificat - ambele au acelaÅi namespace âdcâ. Astfel de seturi nu pot fi utilizate Ã®n colecÅ£ie Ã®n acelaÅi timp. DacÄ doriÅ£i sÄ adÄugaÅ£i un set cu un namespace deja folosit de colecÅ£ie, vÄ va fi semnalatÄ aceastÄ situaÅ£ie printr-un mesaj de avertisment. DacÄ continuaÅ£i cu aceastÄ opraÅ£iune, setul existent va fi eliminat Åi va fi adÄugat cel nou. Oricare valori de metadate, care au fost atribuite vor fi transferate noului set atÃ¢ta vreme cÃ¢t acele elemete existÄ Åi Ã®n setul nou introdus.</Text>
+<Text id="191">AvÃ¢nd activ GEMS este posibilÄ editarea seturilor de metadate existente precum Åi crearea unora noi. ApÄsÃ¢nd butonul âEditareâ este lansat GEMS avÃ¢nd setul de metadate specific deschis. Din moment ce aÅ£i terminat de editat setul (aÅa cum este descris mai sus), salvaÅ£i-l (Dosar->Salvare) Åi Ã®nchideÅ£i GEMS.</Text>
+<Text id="192">DacÄ una din colecÅ£ii nu mai are nevoie de un anume set de metadate, selectaÅ£i-l Åi apÄsaÅ£i pe âEliminÄâ. DacÄ aÅ£i atribuit metadate elementelor sale veÅ£i fi rugat sÄ precizaÅ£i cum se va proceda cu aceste metadate la urmÄtoarea deschidere a colecÅ£iei.</Text>
+</Section>
+<Section name="appendingmetadata">
+<Title>
+<Text id="85">AdÄugarea Noilor Metadate</Text>
+</Title>
+<Text id="86">Acum adÄugÄm un element de metadate unui fiÅier -- deopotrivÄ elementul Åi valoarea. Ãn primul rÃ¢nd selectaÅ£i fiÅierul din arborele de fiÅiere al colecÅ£iei din partea stÃ¢ngÄ. AceastÄ acÅ£iune are ca efect ca oricare metadate atribuite anterior acestui fiÅier sau director sÄ aparÄ Ã®n tabelul din dreapta.</Text>
+<Text id="87">UrmÄtorul pas este sÄ selectaÅ£i elementul de metadate care doriÅ£i sÄ-l adÄugaÅ£i prin selectarea acestuia din rÃ¢ndul corespunzÄtor al tabelului.</Text>
+<Text id="88">IntroduceÅ£i valoarea Ã®n cÃ¢mpul aferent. UtilizaÅ£i caracterul â|â pentru a adÄuga structurÄ dupÄ cum este descris Ã®n <Reference target="theenrichview"/>. ApÄsÃ¢nd tastele cursoare [Up] sau [Down] va salva valoarea de metadate Åi va pune selecÅ£ia corespunzÄtor. ApÄsÃ¢nd pe tasta [Enter] va salva valorile de metadate Åi va crea o nouÄ intrare goalÄ pentru elementul de metadate permiÅ£Ã¢ndu-vÄ sÄ atribuiÅ£i multiple valori unui element de metadate. </Text>
+<Text id="89">Pot fi adÄugate metadate unui director sau cÃ¢torva fiÅiere selectate Ã®mpreunÄ. Acestea sunt adÄugate tuturor fiÅierelor din cadrul directorului sau selecÅ£iei, precum Åi directoarelor copil. ReÅ£ineÅ£i faptul cÄ atribuiÅ£i metadate unui director iar toate fiÅierle adÄugate Ã®n acesta moÅtenesc valorile directorului.</Text>
+</Section>
+<Section name="addingpreviouslydefinedmetadata">
+<Title>
+<Text id="90">AdÄugarea de Metadate Definite Anterior</Text>
+</Title>
+<Text id="91">Pentru a adÄuga metadate care au o valoare existentÄ, mai Ã®ntÃ¢i selectaÅ£i fiÅierul Åi apoi selectaÅ£i elementul de metadate care-l atribuiÅ£i. SelectaÅ£i apoi valoarea necesarÄ din arborele valorilor destinzÃ¢nd ierarhia directoarelor dupÄ cum este necesar. Valoarea intrÄrii selectate apare Ã®n cÃ¢mpul pentru metadate (alternativ, folosiÅ£i capacitatea de autoselect Åi autocompletare ale arborelui).</Text>
+<Text id="92">Procesul de adÄugare a metadatelor care au deja valori, unor directoare sau unei selecÅ£ii de multiple fiÅiere se face Ã®n acelaÅi mod.</Text>
+</Section>
+<Section name="updatingmetadata">
+<Title>
+<Text id="93">Editarea sau Eliminarea Metadatelor</Text>
+</Title>
+<Text id="94">Pentru a edita sau elimina o parte de metadate, mai Ã®ntÃ¢i selectaÅ£i fiÅierul corespunzÄtor Åi apoi valoarea metadatelor din tabel. EditaÅ£i cÃ¢mpul valorii ÅtergÃ¢nd tot textul dacÄ se doreÅte eliminarea metadatelor.</Text>
+<Text id="95">Procesul este identic ca atunci cÃ¢nd se actualizeazÄ un director avÃ¢nd subdirectoare sau fiÅiere multiple, dar metadatele pot fi actualizate doar dacÄ sunt aceleaÅi pentru toate fiÅierele/directoarele selectate.</Text>
+<Text id="96">Arborele valorilor aratÄ toate valorile curent atribuite, precum Åi toate valorile anterioare pentru sesiunea curentÄ, astfel cÄ modificarea sau Återgerea valorilor vor rÄmÃ¢ne Ã®n arbore. Ãnchiderea colecÅ£iei Åi redeschiderea acesteia va conduce la Återgerea tuturor valorilor care nu mai sunt atribuite.</Text>
+</Section>
+<Section name="reviewingmetadata">
+<Title>
+<Text id="97">Revizuirea Metadatelor Atribuite</Text>
+</Title>
+<Text id="98">Uneori trebuie sÄ fie vÄzute metadatele atribuite mai multor fiÅiere Ã®n acelaÅi timp -- de exemplu, pentru a determina cÃ¢te fiÅiere au mai rÄmas Åi care trebuie prelucrate sau pentru a-Å£i face o idee asupra Ã®ntinderii datelor.</Text>
+<Text id="99">SelectaÅ£i fiÅierele din Arborele ColecÅ£iei pe care doriÅ£i sÄ le examinaÅ£i, apoi clic-dreapta Åi alegeÅ£i âMetadate Atribuite...â. Apare o fereastrÄ numitÄ âToate Metadateleâ dominatÄ de un tabel cu multe coloane. Prima coloanÄ aratÄ numele fiÅierelor iar rÃ¢ndurile aratÄ toate valorile de metadate atribuite acelor fiÅiere.</Text>
+<Text id="100">Trasarea unui tabel poate sÄ ia ceva timp mai ales dacÄ sunt selectate mai multe fiÅiere. PuteÅ£i sÄ utilizaÅ£i Ã®n continuare InterfaÅ£a Bibliotecarului Ã®n timp ce este deschisÄ fereastra âToate Metadateleâ.</Text>
+<Text id="101">Atunci cÃ¢nd aceasta devine prea mare, se poate filtra tabelul âToate Metadateleâ prin aplicarea filtrelor asupra coloanelor. Pe mÄsurÄ ce sunt adÄugate noi filtre, doar acele rÃ¢nduri care se potrivesc vor rÄmÃ¢ne vizibile. Pentru a seta, modifica sau curÄÅ£a un filtru, apÄsaÅ£i pe iconul âpÃ¢lnieâ de la partea superioarÄ a coloanei. Vi se vor cere mai multe informaÅ£ii privind filtrul. Din moment ce este setat un filtru, capul coloanei Ã®Åi modificÄ culoarea.</Text>
+<Text id="102">Propmtul pentru filtrÄri are douÄ opÅ£iuni: âSimpleâ Åi âAvansateâ. Versiunea simplÄ filtreazÄ coloanele astfel Ã®ncÃ¢t acestea prezintÄ doar rÃ¢nduri, care conÅ£in o anume valoare de metadate ("*" pentru toate valorile). Pot fi selectate valori ale metadatelor din lista derulantÄ. Versiunea avansatÄ permite diferite operaÅ£iuni de regÄsire: trebuie sÄ Ã®nceapÄ cu, nu conÅ£ine, alfabetic, fÄrÄ Åi este egal cu. Valorile regÄsite pot fi editate sÄ fie oricare Åir (incluzÃ¢nd "*"). Poate fi aleasÄ opÅ£iunea de cÄutate sÄ nu fie case sensitive. Ãn fine, poate fi specificat un al doilea criteriu de  regÄsire pentru a specifica gama de valori (prin folosirea lui AND) sau a valorilor alternative (prin selectarea operatorului OR). Sub aceastÄ zonÄ existÄ o opÅ£iune de schimbare a ordinii de sortare (ascendentÄ sau descendentÄ). Din moment de aÅ£i terminat, apÄsaÅ£i pe âSetare filtruâ pentru a aplica noul filtru asupra coloanei. ApÄsaÅ£i pe âEliminÄ Filtruâ pentru a renunÅ£a la filtrul curent. Trebuie notat cÄ detaliile filtrelor sunt reÅ£inute totuÅi chiar dacÄ filtrul nu mai este Ã®n vigoare.</Text>
+<Text id="103">De exemplu, pentru a sorta tabelul âToate Metadateleâ, alegeÅ£i o coloanÄ, selectaÅ£i filtrul implicit (un filtru Simplu dupÄ "*") Åi alegeÅ£i ordonare ascendentÄ sau descendentÄ.</Text>
+</Section>
+<Section name="importingpreviouslyassignedmetadata">
+<Title>
+<Text id="104">Importarea Metadatelor Asignate Anterior</Text>
+</Title>
+<Text id="105">AceastÄ secÅ£iune descrie cum se importÄ metadate anterior atribuite: metadatele atribuite documentelor Ã®nainte de a fi adÄugate colecÅ£iei.</Text>
+<Text id="106">DacÄ metadatele Ã®ntr-o formÄ recunoscutÄ de InterfaÅ£a Bibliotecarului au fost atribuite anterior unui fiÅier -- de exemplu, atunci cÃ¢nd alegi documentele dintr-o colecÅ£ie Greenstone existentÄ -- acestea sunt importate automat atunci cÃ¢nd adaugi un fiÅier. Pentru a face acest lucru, metadatele trebuie sÄ fie mapate peste seturile de metadate existente Ã®n colecÅ£ie.</Text>
+<Text id="107">InterfaÅ£a Bibliotecarului cere informaÅ£iile necesare. Prompterul oferÄ instrucÅ£iuni scurte iar apoi aratÄ numele medatelor elementului care este importat pe mÄsurÄ ce apare Ã®n fiÅierul sursÄ. Acest cÃ¢mp nu poate fi editat sau modificat. UrmÄtorul lucru este sÄ  alegeÅ£i ce set de metadate al noului element care ar trebui sÄ corespundÄ iar apoi ce element de metadate corespunde cu acel set. Sistemul selecteazÄ automat cea mai evidentÄ potrivire Ã®n condiÅ£iile setului Åi ale elementului pentru noile metadate.</Text>
+<Text id="108">DupÄ verificarea mapÄrilor se poate alege âAdaugÄâ pentru a adÄuga un nou element de metadate la setul de metadate ales. (Acesta este activat dacÄ nu existÄ niciun alt element cu acelaÅi nume Ã®n cadrul setului ales). âFuzioneazÄâ are ca efect maparea noului element peste cele alese de utilizator.
+Ãn final, âIgnorÄâ nu importÄ niciun element de metadate care are acest nume. Din moment ce au fost specificate detaliile de import ale unui anume numÄr de metadate, maparea informaÅ£iilor este reÅ£inutÄ pe toatÄ durata vieÅ£ii colecÅ£iei.</Text>
+<Text id="109">Pentru detalii privind fiÅierele metadata.xml pe care sistemul Greenstone le foloseÅte pentru a stoca metadatele, vezi Capitolul 2 al Ghidului Dezvoltatorului Greenstone -- ObÅ£inerea a cÃ¢t mai mult din documentele colecÅ£iei.</Text>
+</Section>
+</Section>
+<Section name="designingacollection">
+<Title>
+<Text id="110">Configurarea ColecÅ£iei</Text>
+</Title>
+<Text id="111">Din moment ce fiÅierele sunt marcate cu metadate, pasul urmÄtor trebuie sÄ se ia decizia  cum trebuie sÄ fie  accesate documentele de cÄtre utilizatori. Care dintre informaÅ£ii se preteazÄ cÄutÄrii ? Care sunt modalitÄÅ£ile de navigare printre documente ? Aceste lucruri pot fi particularizate iar aceastÄ secÅ£iune descrie cum puteÅ£i face acest lucru.</Text>
+<Section name="thedesignview">
+<Title>
+<Text id="112">Panoul pentru Design</Text>
+</Title>
+<Text id="113">AceastÄ secÅ£iune vÄ introduce Ã®n modul design Åi vÄ explicÄ cum sÄ navigaÅ£i printre diversele panouri.</Text>
+<Text id="114">Din InterfaÅ£a Bibliotecarului se poate configura modul Ã®n care documentele sunt procesate Åi cum cunt accesate colecÅ£iile de cÄtre utilizatori. OpÅ£iunile de configurare sunt divizate Ã®n secÅ£iuni diferite, fiecare secÅ£iune fiind asociatÄ cu o anumitÄ etapÄ a particularizÄrii caracteristicilor colecÅ£iei.</Text>
+<Text id="115">Ãn partea stÃ¢ngÄ este o listÄ cu diferitele moduri de vizualizare, iar Ã®n dreapta sunt controalele asociate cu cel curent. Pentru a trece la un mod de vizualizare diferit, apÄsaÅ£i pe nnumele acestuia din listÄ.</Text>
+<Text id="116">Pentru a Ã®nÅ£elege etapele Åi termenii implicaÅ£i Ã®n proiectarea colecÅ£iei, mai Ã®ntÃ¢i citiÅ£i Capitolele 1 Åi 2 al Ghidului Dezvoltatorului Greenstone.</Text>
+</Section>
+<Section name="plugins">
+<Title>
+<Text id="121">Extensiile documentului</Text>
+</Title>
+<Text id="122">AceastÄ secÅ£iune descrie cum se pot configura extensiile documentului folosit de colecÅ£ie. Este explicat modul Ã®n care specifici care dintre extensii le foloseÅti, care sunt parametrii care trebuie pasaÅ£i lor Åi ordinea Ã®n care apar. Sub opÅ£iunea âDesignâ, apÄsaÅ£i pe âExtensiile documentuluiâ.</Text>
+<Text id="123">Pentru a adÄuga o extensie, selectaÅ£i-o folosind lista derulantÄ âSelecteazÄ o extensie pentru adÄugareâ Åi apÄsaÅ£i pe âAdaugÄ extensieâ. Apare o fereastrÄ numitÄ âConfigurarea argumentelorâ - este descrisÄ Ã®n continuare. Din moment ce aÅ£i configurat noua extensie, aceasta este adÄugatÄ la finalul listei de âExtensii atribuiteâ. Ãn modul de operare Bibliotecar, fiecare extensie cu excepÅ£ia lui UnknownPlug poate fi prezentÄ doar o singurÄ datÄ Ã®n colecÅ£ie. Ãn modurile de operare mai Ã®nalte, extensiile  pot sÄ aparÄ de mai multe ori. Argumentul process_exp va trebui sÄ fie setat pentru a face totul operaÅ£ional.</Text>
+<Text id="123aa">Pentru a vedea o descriere sumarÄ a unei extensii, selectaÅ£i-o din lista derulantÄ âSelecteazÄ o extensie pentru adÄugareâ iar apoi poziÅ£ionaÅ£i mouse-ul deasupra. Va apÄrea un mesaj (tool-tip) cu descrierea.</Text>
+<Text id="124">Pentru a dezinstala o extensie, selectaÅ£i-o din listÄ Åi apÄsaÅ£i pe âDezinstaleazÄ Extensiaâ.</Text>
+<Text id="125">Extensiile sunt configurate prin furnizarea de argumente. Pentru a le modifica, selectaÅ£i extensia din listÄ Åi apÄsaÅ£i pe âConfigureazÄ extensieâ (sau dublu-clic pe extensie). Apare un dialog al âConfigurÄrii Argumentelorâ, care dispune de variate mijloace de control pentru argumente specifice.</Text>
+<Text id="126">ExistÄ mai multe tipuri de control. Unele sunt exprimate prin cÄsuÅ£e cu bifÄ care activeazÄ opÅ£iunea Ã®n cazul punerii bifei. Altele sunt fragmente de text care au o cÄsutÄ cu bifÄ Åi un cÃ¢mp de text aferent. ApÄsaÅ£i pe cÄsuÅ£Ä pentru a confirma acel argument iar apoi introduceÅ£i textul corespunzÄtor (expresii regulate, cÄile directoarelor sau fiÅierelor, etc). Altele se prezintÄ sub forma de meniuri derulante din care puteÅ£i selecÅ£iona un anume set de valori. Pentru a Ã®nÅ£elege ce face un argument, plasaÅ£i cursorul mouseului deasupra numelui aceluia pentru un moment Åi va apÄrea o descriere.</Text>
+<Text id="127">Atunci cÃ¢nd se schimbÄ configuraÅ£ia, se apasÄ pe OK pentru a efectua schimbÄrile Åi pentru a se Ã®nchide fereastra de dialog sau pe âCancelâ pentru a Ã®nchide dialogul fÄrÄ a modifica niciunul din argumentele pluginului. </Text>
+<Text id="128">Extensiile din listÄ sunt executate Ã®n ordine iar ordinea este de multe ori importantÄ. Ordinea extensiilor poate fi modificatÄ doar Ã®n modurile Specialist Ã®n Sisteme de BibliotecÄ Åi Expert (vezi Åi <Reference target="preferences"/>).</Text>
+</Section>
+<Section name="searchindexes">
+<Title>
+<Text id="134">Indexuri de cÄutare</Text>
+</Title>
+<Text id="si-1">Indexurile specificÄ Ã®n care dintre pÄrÅ£ile colecÅ£iei se pot face cÄutÄri. AceastÄ secÅ£iune explicÄ cum se adaugÄ sau se scot indexurile Åi cum se adaugÄ un index implicit. Sub opÅ£iunea <AutoText key="glidict::GUI.Design"/>, se apasÄ pe <AutoText key="glidict::CDM.GUI.Indexes"/>.</Text>
+<Text id="si-2">Ãn partea dreaptÄ sus a panoului <AutoText key="glidict::CDM.GUI.Indexes"/> este afiÅatÄ informaÅ£ia referitoare la indexator, care este utilizatÄ Ã®n mod curent de colecÅ£ie. Aceasta poate fi modificatÄ apÄsÃ¢nd pe <AutoText key="glidict::CDM.BuildTypeManager.Change"/>. O fereastrÄ va apÄrea cu lista opÅ£iunilor: MG, MGPP Åi Lucene. AceastÄ modificare afecteazÄ maniera Ã®n care este construit indexul Åi poate afecta modul Ã®n care este construit indexul referitor la  funcÅ£ionalitate.</Text>
+<Text id="si-2a">Lista <AutoText key="glidict::CDM.IndexManager.Indexes"/> aratÄ care dintre indexuri sunt atribuite actualmente colecÅ£iei.</Text>
+<Text id="si-3">Pentru a adÄuga un index, apÄsaÅ£i pe <AutoText key="glidict::CDM.IndexManager.New_Index"/>... Va apÄrea o fereastrÄ cu o listÄ a surselor care includ text Åi metadate. SelectaÅ£i care dintre surse se doresc a fi indexate. Butoanele <AutoText key="glidict::CDM.IndexManager.Select_All"/> Åi <AutoText key="glidict::CDM.IndexManager.Select_None"/> vor bifa sau invers toate elementele din listÄ. Din moment ce a fost definit un nou index, apÄsaÅ£i pe <AutoText key="glidict::CDM.IndexManager.Add_Index"/> pentru a-l adÄuga colecÅ£iei. 
+<AutoText key="glidict::CDM.IndexManager.Add_Index"/> va deveni activ doar cÃ¢nd setÄrile descriu un index nou care nu este atribuit deja colecÅ£iei.</Text>
+<Text id="s1-3a">Pentru indexurile MG, trebuie, de asemenea sÄ specificaÅ£i granularitatea indexului folosind meniul <AutoText key="glidict::CDM.IndexManager.Level"/></Text>
+<Text id="si-4">Pentru indexurile MGPP Åi Lucene, granularitatea indexului este determinatÄ la nivel global Åi nu la nivel de index.
+Nivelurile posibile sunt afiÅate Ã®n panoul <AutoText key="glidict::CDM.GUI.Indexes"/> Åi pot fi adÄugate la colecÅ£ie prin bifarea cÄsuÅ£elor aferente.</Text>
+<Text id="si-5">Pentru MGPP Åi Lucene este disponibil in index special: este vorba despre un index tip âtoatecÃ¢mpurileâ, care furnizeazÄ o cÄutare combinatÄ asupra tuturor indexurilor specificate fÄrÄ a fi nevoit sÄ specifice unul separat care sÄ conÅ£inÄ toate sursele. Pentru a adÄuga acest index, bifaÅ£i cÄsuÅ£a <AutoText key="glidict::CDM.IndexManager.Allfields_Index"/> Åi apÄsaÅ£i pe <AutoText key="glidict::CDM.IndexManager.Add_Index"/>.</Text>
+<Text id="si-6">Pentru MGPP Åi Lucene existÄ, de asemenea un buton <AutoText key="glidict::CDM.IndexManager.Add_All"/> acÅ£ionÃ¢nd ca o scurtÄturÄ pentru adÄugarea tuturor metadatelor Åi a surselor de text ca indexuri individuale.</Text>
+<Text id="si-7">Pentru a edita un index, selectaÅ£i-l Åi apÄsaÅ£i pe <AutoText key="glidict::CDM.IndexManager.Edit_Index"/>. Pentru <AutoText key="glidict::CDM.IndexManager.New_Index"/> este prezentat un dialog similar.</Text>
+<Text id="si-8">Pentru a elimina un index, selectaÅ£i-l din lista Indexurilor atribuite Åi apÄsaÅ£i pe <AutoText key="glidict::CDM.IndexManager.Remove_Index"/>.</Text>
+<Text id="si-9">Ordinea Ã®n care sunt specificate indexurile Ã®n lista Indexurilor Atribuite este ordinea Ã®n care apar Ã®n meniul derulant din pagina de cÄutare. UtilizaÅ£i butoanele <AutoText key="glidict::CDM.Move.Move_Up"/> and <AutoText key="glidict::CDM.Move.Move_Down"/> pentru a modifica aceastÄ ordine.</Text>
+<Text id="si-10">Cea selectatÄ implicit pe pagina de cÄutare este denumitÄ âindexul implicitâ. Acesta poate fi setat prin selectarea unui index din listÄ Åi selectarea lui âSeteazÄ Implicitâ. Indexul implicit este etichetat cu â[Index Implicit]â Ã®n lista âIndexurilor Atribuiteâ. DacÄ nu este setat un index implicit, va fi folosit primul din listÄ ca fiind cel implicit.</Text>
+<Text id="si-11">Numele folosite pentru lista derulantÄ de indexuri din pagina de cÄutare poate fi setatÄ din <AutoText key="glidict::CDM.GUI.SearchMetadata"/> ca parte a panoului<AutoText key="glidict::GUI.Format"/> (vezi <Reference target="searchmetadatasettings"/>).</Text>
+<Text id="si-12">Pentru indexurile MG Åi MGPP, existÄ mai multe opÅ£iuni care controleazÄ cum sunt construite indexurile. Trunchierea Åi caracterele pot fi activate sau dezactivate din indexes. DacÄ sunt dezactivate, opÅ£iunile nu vor fi afiÅate Ã®n pagina preferinÅ£elor a colecÅ£iei. Plierea Åi dupÄ criteriul accentelor caracterelor este valabil, de asemenea pentru indexurile MGPP. Acest lucru lucreazÄ Ã®n mod similar Åi pentru cazul mÄrimii caracterului, dar Ã®n loc de potrivirea dupÄ criteriul dimensiunii caracterelor, caracterele care au diacritice se vor potrivi cu cele fÄrÄ.</Text>
+</Section>
+<Section name="partitionindexes">
+<Title>
+<Text id="143">Indexuri PartiÅ£ii</Text>
+</Title>
+<Text id="144">Indexurile sunt construite pe baza anumitor surse text sau metadate. SpaÅ£iul de cÄutare poate fi controlat Åi mai mult prin partiÅ£ionarea indexurilor, fie prin limbÄ sau printr-un filtru predeterminat. AceastÄ secÅ£iune descrie cum se face acest lucru. Sub tabul âDesignâ, apÄsaÅ£i pe âIndexuri PartiÅ£iiâ.</Text>
+<Text id="145">AccesÃ¢nd âIndexurile PartiÅ£iilorâ pot fi observate trei taburi; âDefineÅte Filtreleâ Åi  âAtribuie limbaâ. Pentru a Åti mai multe despre partiÅ£ii, vÄ rugÄm sÄ citiÅ£i despre subcolecÅ£ii Åi subindexuri Ã®n Capitolul 2 al Ghidului Dezvoltatorului Greenstone.</Text>
+<Text id="146">Tabloul Indexuri PartiÅ£ii este activat doar Ã®n modurile Specialist Ã®n Sisteme de BibliotecÄ Åi Expert (vezi <Reference target="preferences"/>). Pentru colecÅ£iile MG numÄrul total al partiÅ£iilor generate Ã®l reprezintÄ o combinaÅ£ie a indexurilor, a filtrelor subcolecÅ£iei Åia limbii alese. DouÄ indexuri care au douÄ filtre de subcolecÅ£ie Ã®n douÄ limbi va genera opt indexuri de partiÅ£ii. Pentru MGPP, toate indexurile sunt create Ã®ntr-un index fizic, astfel cÄ ar trebui sÄ existe doar patru indexuri de partiÅ£ii. Pentru Lucene, numÄrul de indexuri fizice este determinat de numÄrul nivelurilor asignate colecÅ£iei, cÃ¢te un index pentru fiecare nivel. Astfel, pentru situaÅ£ia anterior descrisÄ, un nivel va avea ca rezultat patru indexuri fizice, Ã®n timp ce din douÄ niveluri rezultÄ opt.</Text>
+<Section name="definefilters">
+<Title>
+<Text id="147">DefiniÅ£i Filtrele</Text>
+</Title>
+<Text id="148">Filtrele vÄ permit sÄ grupaÅ£i toate documentele Ã®mpreunÄ Ã®ntr-un index pentru care valoarea metadatelor se potriveÅte cu un model predefinit.</Text>
+<Text id="149">Pentru a crea un filtru, apÄsaÅ£i pe tabul âDefiniÅ£i Filtreleâ Åi introduceÅ£i un nume pentru noul filtru Ã®n cÃ¢mpul âNumele filtrului subcolecÅ£iei:â. UrmÄtorul pas este sÄ alegeÅ£i un atribut al unui document cu care sÄ se potriveascÄ, fie un element de metadate sau chiar numele fiÅierului Ã®n discuÅ£ie.
+IntroduceÅ£i o expresie regulatÄ pentru a fi utilizatÄ Ã®n timpul cÄutÄrii. PuteÅ£i opta Ã®ntre âIncluzÃ¢ndâ documentele care se potrivesc cu filtrul sau puteÅ£i sÄ le âExcludeÅ£iâ. Ãn final, puteÅ£i specifica oricare dintre marcatorii standard ai expresiilor regulate PERL pentru a fi utilizaÅ£i la momentul cÄutÄrii (de exemplu,
+ âiâ pentru cÄutarea case-sensitive, adicÄ potrivirea considerÃ¢nd dimensiunea caracterelor: majuscule). Ãn fine, apÄsaÅ£i pe âAdaugÄ Filtruâ pentru a adÄuga filtrul la lista âFiltrelor Definite ale SubcolecÅ£ieiâ.</Text>
+<Text id="150">Pentru a elimina un filtru, selectaÅ£i-l din listÄ Åi apÄsaÅ£i pe âEliminÄ Filtrulâ.</Text>
+<Text id="151">Pentru a modifica un filtru, selectaÅ£i-l din listÄ, schimbaÅ£i oricare dintre valorile care vÄ apar Ã®n modul de editate Åi apÄsaÅ£i pe âÃnlocuieÅte Filtrulâ pentru a face schimbÄrile.</Text>
+<Text id="151a">Definirea de filtre nu are ca efect crearea de subcolecÅ£ii. SubcolecÅ£iile sunt specificate Ã®n <AutoText key="glidict::CDM.SubcollectionManager.Subindex_Controls"/>, bazate pe filtrele abia definite.</Text>
+</Section>
+<Section name="assignpartitions">
+<Title>
+<Text id="152">Atribuie PartiÅ£ii</Text>
+</Title>
+<Text id="153">DupÄ definirea uneia sau a mai multor filtre ale subcolecÅ£iilor, folosiÅ£i tabul âAtribuie PartiÅ£iiâ pentru a construi indexurile pentru acestea (sau pentru un grup de filtre). SelectezÄ filtrul dorit sau filtrele din lista âFiltrelor Definite ale SubcolecÅ£ieiâ Åi apÄsaÅ£i pe âAdaugÄ PartiÅ£ieâ. Fiecare partiÅ£ie specificatÄ va avea ca rezultat o subcolecÅ£ie care conÅ£ine documente care se potrivesc cu oricare dintre filtrele asociate cu acea partiÅ£ie. </Text>
+<Text id="154a">Pentru a modifica o partiÅ£ie, selectaÅ£i-o din listÄ, modificaÅ£i filtrele Åi apÄsaÅ£i pe <AutoText key="glidict::CDM.SubcollectionIndexManager.Replace_Subindex"/>.</Text>
+<Text id="154">Pentru a elimina o partiÅ£ie, selectaÅ£i-o din listÄ Åi apÄsaÅ£i pe âEliminÄ PartiÅ£ieâ.</Text>
+<Text id="154b">Ordinea Ã®n care sunt specificate partiÅ£iile este prezentÄ Ã®n lista PartiÅ£iilor Atribuite este Åi ordinea dupÄ care apar Ã®n meniul derulant din pagina de cÄutare. FolosiÅ£i butoanele <AutoText key="glidict::CDM.Move.Move_Up"/> Åi <AutoText key="glidict::CDM.Move.Move_Down"/> pentru a schimba acestÄ ordonare.</Text>
+<Text id="155">Pentru a face o partiÅ£ie cea implicitÄ, selectaÅ£i-o din listÄ Åi apÄsaÅ£i <AutoText key="glidict::CDM.SubcollectionIndexManager.Set_Default_Subindex"/>.</Text>
+<Text id="155a">Numele utilizate Ã®n lista derulantÄ a partiÅ£iilor prezente Ã®n pagina de cÄutare, pot fi setate Ã®n <AutoText key="glidict::CDM.GUI.SearchMetadata"/> parte a panoului <AutoText key="glidict::GUI.Format"/> (vezi Åi <Reference target="searchmetadatasettings"/>).</Text>
+</Section>
+<Section name="assignlanguages">
+<Title>
+<Text id="156">Atribuie Limba</Text>
+</Title>
+<Text id="157">AceastÄ secÅ£iune explicÄ cum se constrÃ¢ng indexurile de cÄutare la utilizarea cu o anumitÄ limbÄ. PuteÅ£i face acest lucru prin generarea unei partiÅ£ii folosind tabul âAtribuie Limbaâ din âIndexuri PartiÅ£iiâ. </Text>
+<Text id="158">Pentru a adÄuga o nouÄ partiÅ£ie de limbÄ, folosiÅ£i tabul âAtribuie LimbÄâ pentru a construi un index. SelectaÅ£i una sau mai multe limbi din lista âLimbi de adÄugatâ Åi apÄsaÅ£i âAdaugÄ PartiÅ£ieâ.</Text>
+<Text id="158a">Pentru a modifica o partiÅ£ie deja existentÄ, selectaÅ£i-o din lista âPartiÅ£iile de LimbÄ Atribuiteâ, modificaÅ£i limbile existente din lista âLimbi pentru adÄugareâ de mai jos Åi apÄsaÅ£i pe âÃnlocuieÅte PartiÅ£ieâ.</Text>
+<Text id="159">Pentru a elimina o partiÅ£ie de limbÄ, selectaÅ£i-o din lista âPartiÅ£iilor de LimbÄ Atribuiteâ Åi apÄsaÅ£i pe âEliminare PartiÅ£ieâ.</Text>
+<Text id="159a">Ordinea Ã®n care sunt specificate partiÅ£iile de limbÄ Ã®n lista PartiÅ£iile de LimbÄ Atribuite, este ordinea Ã®n care acestea apar Ã®n meniul derulant din pagina de cÄutare. UtilizaÅ£i butoanele <AutoText key="glidict::CDM.Move.Move_Up"/> Åi <AutoText key="glidict::CDM.Move.Move_Down"/> pentru a modifica aceastÄ ordine.</Text>
+<Text id="160">Pentru a seta partiÅ£ia de limbÄ implicitÄ, selectaÅ£i-o din listÄ Åi apÄsaÅ£i pe âSeteazÄ implicitâ.</Text>
+<Text id="160a">Numele utilizate pentru lista derulantÄ Ã®n cazul partiÅ£iilor de limbÄ din pagina de cÄutare pot fi setate din zona <AutoText key="glidict::CDM.GUI.SearchMetadata"/> a panoului <AutoText key="glidict::GUI.Format"/> (vezi Åi <Reference target="searchmetadatasettings"/>).</Text>
+</Section>
+</Section>
+<Section name="classifiers">
+<Title>
+<Text id="166">Examinarea Clasificatorilor</Text>
+</Title>
+<Text id="167">AceastÄ secÅ£iune explicÄ cum sunt atribuiÅ£i âclasificatoriiâ, care sunt utilizaÅ£i pentru navigarea colecÅ£iei. Sub tabul âDesignâ, apÄsaÅ£i pe âExaminarea Clasificatorilorâ.</Text>
+<Text id="168">Pentru a adÄuga un clasificator, selectaÅ£i-l folosind âSelecteazÄ clasificatorul de adÄugatâ din lista derulantÄ din partea inferioarÄ a ecranului Åi apoi selectaÅ£i âAdaugÄ Clasificator...â. Va apÄrea o fereastrÄ numitÄ âConfigurarea Argumentelorâ. InstrucÅ£iunile privind lucrul cu aceastÄ fereastrÄ de dialog sunt similare cu cele prezente pentru pluginuri (vezi <Reference target="plugins"/>). Din moment ce aÅ£i configurat noul clasificator, acesta este adÄugat la finalul listei âClasificatorilor atribuiÅ£iâ.</Text>
+<Text id="168a">Pentru a vedea o scurtÄ descriere a clasificatorului, selectaÅ£i-l din lista derulantÄ âSelecteazÄ clasificator pentru adÄugareâ Åi apoi plimbaÅ£i cursorul peste aceasta. Va apÄrea o descriere Ã®ntr-un tool-tip.</Text>
+<Text id="168b">Fiecare clasificator are diferite argumente care pot fi configurate. Argumentele importante includ âmetadateâ, care specificÄ metadatele pe baza cÄrora documentele vor fi clasificate Åi ânumele butonuluiâ, care este de fapt numele care va apÄrea Ã®n bara de navigare.</Text>
+<Text id="169">Pentru a elimina un clasificator, selectaÅ£i-l din listÄ Åi apÄsaÅ£i pe âEliminÄ Clasificatorâ.</Text>
+<Text id="170">Pentru a modifica argumentele pentru un clasificator, selectaÅ£i-l din listÄ Åi apÄsaÅ£i âConfigurare Clasificatorâ (sau dublu-click pe clasificatorul prezent Ã®n listÄ).</Text>
+<Text id="171">Ordonarea clasificatorilor Ã®n bara de navigare se reflectÄ Ã®n ordinea lor. Pentru a o schimba, selectaÅ£i clasificatorul dorit pentru a fi mutat Åi apÄsaÅ£i <AutoText key="glidict::CDM.Move.Move_Up"/> sau <AutoText key="glidict::CDM.Move.Move_Down"/>.</Text>
+<Text id="172">Pentru mai multe informaÅ£ii privind clasificatorii, vÄ rugÄm sÄ citiÅ£i Capitolul 2 din Ghidul de Dezvoltare al Greenstone - Extrage totul din documente.</Text>
+</Section>
+</Section>
+<Section name="producingthecollection">
+<Title>
+<Text id="193">Producerea ColecÅ£iei</Text>
+</Title>
+<Text id="194">Ãn momentul Ã®n care aÅ£i strÃ¢ns documentele unei colecÅ£ii, au fost adnotate cu metadate Åi a fost proiectat modul Ã®n care se va Ã®nfÄÅ£iÅa colecÅ£ia, aceasta poate fi produsÄ folosindu-se Greenstone. AceastÄ secÅ£iune explicÄ cum se face acest lucru.</Text>
+<Section name="thecreateview">
+<Title>
+<Text id="195">Panoul de Creare</Text>
+</Title>
+<Text id="196">Panoul de Creare este utilizat pentru a crea colecÅ£ia prin rularea scripturilor de construcÅ£ie a colecÅ£iilor proprii Greenstone pe baza informaÅ£iilor furnizate. AccesaÅ£i panoul de Creare prin apÄsarea pe opÅ£iunea CreazÄ.</Text>
+<Text id="196a">ApÄsÃ¢nd pe âConstruieÅte ColecÅ£iaâ se iniÅ£ializeazÄ procesul de construcÅ£ie a acesteia. Timpul pe care aceastÄ operaÅ£iune Åi-l alocÄ depinde de dimensiunea colecÅ£iei Åi numÄrul indexurilor care au fost create (pentru colecÅ£ii de mare Ã®ntindere acest proces poate lua cÃ¢teva ore). O barÄ de progres indicÄ cÃ¢t de mult din Ã®ntregul proces a fost parcurs. Pentru a anula procesul Ã®n orice moment, apÄsaÅ£i pe âAnuleazÄ ConstrucÅ£iaâ.
+Partea de jos a panoului prezintÄ cÃ¢teva opÅ£iuni de control a procesului de construcÅ£ie.</Text>
+<Text id="197">Din moment ce colecÅ£ia a fost construitÄ cu succes, apÄsÃ¢nd pe âPrevizualizare ColecÅ£ieâ va fi lansatÄ o fereastrÄ a browserului care se va deschide chiar la pagina dedicatÄ colecÅ£iei.</Text>
+</Section>
+<Section name="builderrors">
+<Title>
+<Text id="199a">Erori Ã®n construcÅ£ia colecÅ£iei</Text>
+</Title>
+<Text id="199b">Uneori lucrurile pot sÄ ia o turnurÄ negativÄ Ã®n timpul construcÅ£iei colecÅ£iei. E posibil ca unele fiÅiere sÄ nu poatÄ fi procesate: restul colecÅ£iei se construieÅte Ã®n ordine Åi poate fi previzualizatÄ, dar unele documente sunt absente. E posibil ca Ã®ntreaga colecÅ£ie sÄ nu fie construitÄ corespunzÄtor, caz Ã®n care apare un mesaj de atenÅ£ionare <AutoText key="glidict::CollectionManager.Cannot_Create_Collection"/> Atunci cÃ¢nd acest lucru se Ã®ntÃ¢mplÄ este de ajutor sÄ intraÅ£i Ã®n modul expert al GLI (Dosar->PreferinÅ£e->Mod, vezi Åi <Reference target="preferences"/>), setaÅ£i opÅ£iunea de construcÅ£ie âverbalizareâ la 5 Åi reconstruiÅ£i pentru a vedea dacÄ sunt mesaje de eroare Åi care sunt acelea.</Text>
+</Section>
+<Section name="expertbuilding">
+<Title>
+<Text id="198a">Panoul de creare Ã®n Modul Expert</Text>
+</Title>
+<Text id="198">Ãn modul de lucru Expert se pot accesa intrÄrile din âJurnalul de Mesajeâ din partea stÃ¢ngÄ pentru a revedea Ã®ncercÄrile anterioare de construire a colecÅ£iilor, fie cÄ acestea au avut succes sau nu. SelectaÅ£i jurnalul dorit prin selectarea datei dorite din lista âIstoricului Jurnaluluiâ.</Text>
+<Text id="200a">Ãn acest mod de operare este prezentatÄ o listÄ completÄ a importurilor Åi a opÅ£iunilor de construcÅ£ie, care apare Ã®n opÅ£iunile de Import Åi ConstrucÅ£ie prezente mai spre stÃ¢nga. Variatele setÄri sunt controlate aÅa cum sunt descrise Ã®n fereastra âConfigurea Argumentelorâ descrisÄ Ã®n secÅ£iunea <Reference target="plugins"/>. Unele cÃ¢mpuri au ca cerinÅ£Ä argumente numerice iar aceste pot fi introduse sau pot fi folosite sÄgeÅ£ile pentru a creÅte sau descreÅte valorile curente (Ã®n unele cazuri, interfaÅ£a restricÅ£ioneazÄ dimensiunea intrÄrilor). Altele sunt activate prin bifarea unei cÄsuÅ£e de validare (apasÄ pe bifÄ, din nou pentru dezactivare).</Text>
+<Text id="201a">CitiÅ£i Capitolul 1 al Ghidului Dezvoltatorului Greenstone pentru mai multe informaÅ£ii privind importul Åi construcÅ£ia -- ÃnÅ£elegerea procesului de construcÅ£ie a colecÅ£iei.</Text>
+</Section>
+</Section>
+<Section name="formattingacollection">
+<Title>
+<Text id="fc-1">Particularizarea modului Ã®n care aratÄ colecÅ£ia</Text>
+</Title>
+<Text id="fc-2">Din moment ce ai construit colecÅ£ia, urmÄtorul pas este legerea modului Ã®n care aceasta ar trebui sÄ aparÄ utilizatorului. Care nume ar trebui utilizate pentru lista derulantÄ a indexurilor din formularul de cÄutare ? Cum ar trebui prezentate rezultatele de cÄutare ? Care metadate ar trebui sÄ fie afiÅate atunci cÃ¢nd un document este vÄzut ? Toate acestea trebuie particularizate iar aceastÄ secÅ£iune explicÄ cum trebuie procedat. </Text>
+<Section name="theformatview">
+<Title>
+<Text id="fc-3">Zona Formatului</Text>
+</Title>
+<Text id="fc-4">AceastÄ secÅ£iune vÄ introduce Ã®n panoul de Formatare Åi vÄ explicÄ cum sÄ navigaÅ£i printre diferitele panouri.</Text>
+<Text id="fc-5">Cu ajutorul InterfeÅ£ei Bibliotecarului puteÅ£i configura cum se Ã®nfÄÅ£iÅeazÄ colecÅ£ia utilizatorului. OpÅ£iunile de configurare sunt Ã®mpÄrÅ£ite Ã®n secÅ£iuni, fiecare asociatÄ cu un tip diferit de particularizare. </Text>
+<Text id="fc-6">Ãn partea stÃ¢ngÄ este o listÄ de previzualizÄri iar Ã®n partea dreaptÄ sunt elementele de control asociate cu fiecare dintre parametri. Pentru a edita un parametru, apÄsaÈi pe numele acestuia din listÄ.</Text>
+<Text id="fc-7">Sub lista parametrilor existÄ un buton numit âPrevizualizarea ColecÅ£iilorâ. ModificÄrile efectuate Ã®n panoul de Formatare nu necesitÄ o reconstrucÅ£ie a colecÅ£iei, astfel cÄ pot fi previzualizate imediat. Oricum, colecÅ£ia tebuie sÄ fi fost construitÄ cel puÅ£in o datÄ pentru a fi permisÄ previzualizarea.</Text>
+</Section>
+<Section name="generalsettings">
+<Title>
+<Text id="117">General</Text>
+</Title>
+<Text id="118">AceastÄ secÅ£iune explicÄ cum sÄ revizuieÅti Åi sÄ modifici setÄrile generale asociate colecÅ£iei. Ãn primul rÃ¢nd, sub opÅ£iunea âFormatâ, apeÅi pe âGeneralâ.</Text>
+<Text id="119">Aici pot fi setate sau modificate cÃ¢teva metadate ale Ã®ntregii colecÅ£ii incluzÃ¢nd titlul Åi descrierea introduse atunci cÃ¢nd a fost iniÅ£iatÄ ca nouÄ colecÅ£ie.</Text>
+<Text id="120">Mai Ã®ntÃ¢i sunt adresele de email ale creatorului colecÅ£iei Åi a gestionarului acesteia. UrmÄtorul cÃ¢mp vÄ permite sÄ modificaÅ£i titlul colecÅ£iei. Directorul Ã®n care este stocatÄ colecÅ£ia este indicat dar nu poate fi modificat. Apoi este afiÅat iconul Ã®n partea superioarÄ stÃ¢ngÄ a paginii âDespreâ a colecÅ£iei (sub forma unui URL), urmat de un icon folosit Ã®n pagina bibliotecii Greenstone care face legÄtura cu colecÅ£ia. AlÄturat este o cÄsuÅ£Ä pentru bifat, care controleazÄ dacÄ trebuie colecÅ£ia sÄ fie accesibilÄ publicului. Ãn final urmeazÄ zona de text âDescrierea ColecÅ£ieiâ aÅa cum este descris Ã®n <Reference target="creatingacollection"/>.</Text>
+</Section>
+<Section name="searchmetadatasettings">
+<Title>
+<Text id="fc-s1">Cautare</Text>
+</Title>
+<Text id="fc-s2">AceastÄ secÅ£iune explicÄ cum trebuie setat textul afiÅate de o listÄ derulantÄ pe pagina cÄutÄrii. Sub tabul âFormatareâ, apÄsaÅ£i pe âCautÄâ.</Text>
+<Text id="fc-s3">Acest panou conÅ£ine o listare Ã®ntr-un tabel al fiecÄrui index de cÄutare. Aici puteÈi introduce textul folosit pentru numele indecÈilor Èi lista derulantÄ prezentÄ Ã®n pagina de cÄutare. Acest panou Ã®Å£i permite doar sÄ setaÅ£i textul pentru o singurÄ limbÄ, adicÄ limba curentÄ folositÄ de GLI. Pentru a traduce aceste nume Ã®n alte limbi, folosiÅ£i partea de Traducere Text a panoului Formatului (vezi Èi <Reference target="translatetext"/>).</Text>
+</Section>
+<Section name="formatstatements">
+<Title>
+<Text id="173">Caracteristicile Formatului</Text>
+</Title>
+<Text id="174">Paginile web pe care le vedeÅ£i atunci cÃ¢nd utilizaÅ£i Greenstonenu sunt stocate, ci sunt generate âdin zborâ dupÄ cum dicteazÄ necesitatea. Comenzile formatului sunt utilizate pentru a modifica aparenÅ£a acestor pagini generate. Acestea afecteazÄ modul Ã®n care apar butoanele atunci cÃ¢nd este afiÅat un document Åi care sunt linkurile care sunt afiÅate de clasificatorul DateList. Comenzile de format nu sunt uÅor de dezvoltat Åi ar trebui sÄ citiÅ£i Capitolul 2 din Ghidul de Dezvoltare al Greenstone. AceastÄ secÅ£iune dezbate setÄrile formatului Åi cum InterfaÅ£a Bibliotecarului oferÄ acces la acestea. Sub tabul âFormatâ, apÄsaÅ£i pe âCaracteristicile Formatuluiâ.</Text>
+<Text id="175">O comandÄ de format poate fi aplicatÄ la orice fiind aleasÄ din lista derulantÄ âAlege CaracteristicÄâ, care include fiecare clasificator Åi o listÄ predefinitÄ de caracteristici. Atunci cÃ¢nd selectaÅ£i o caracteristicÄ existÄ douÄ tipuri de control. Unele caracteristici sunt pur Åi simplu active sau inactive fiind controlate de o cÄsuÅ£Ä de opÅ£iune. Altele necesitÄ un string de format pentru a fi precizat. Pentru acestea existÄ o listÄ derulantÄ (âComponente Afectateâ), de unde se pot selecta care parÅ£i ale unei caracteristici se referÄ stringul (daca acest lucru este necesar), o zonÄ de text (string de tip HTML) pentru introducerea string-ului propriu-zis Åi selectarea de âVariabileâ predefinite. Pentru a introduce o variabilÄ Ã®n stringul de format, poziÅ£ionaÅ£i cursorul Ã®n locul unde trebuie fÄcutÄ inserÅ£ia Åi apoi selectaÅ£i variabila doritÄ din combobox-ul <AutoText key="glidict::CDM.FormatManager.Insert_Variable"/>.</Text>
+<Text id="176">Poate fi specificat un format implicit pentru o anumitÄ componentÄ prin selectarea caracteristicii âToate Caracteristicileâ. Acest format este aplicat tuturor caracteristicilor aplicabile doar dacÄ nu este specificat altul specific.</Text>
+<Text id="177">Pentru a adÄuga o nouÄ comandÄ selecteazÄ caracteristica aplicabilÄ Åi componenta. Valoarea implicitÄ pentru aceastÄ comandÄ va fi afiÅatÄ Ã®n gri. Click pe <AutoText key="glidict::CDM.FormatManager.Add"/> pentru a-l atribui colecÅ£iei. âStringul de Formatare HTMLâ va fi editabil Åi puteÅ£i sÄ-l schimbaÅ£i dacÄ doriÅ£i. Poate fi atribuitÄ doar o singurÄ comandÄ pentr fiecare combinaÅ£ie caracteristicÄ/componentÄ.</Text>
+<Text id="178">Pentru a Återge o comandÄ de format, selectaÅ£i-o din listÄ Åi apÄsaÅ£i pe âEliminÄ Formatareâ.</Text>
+<Text id="180">Pentru mai multe informaÅ£ii despre variabile Åi componente, citiÅ£i Capitolul 2 din Ghidul de Dezvoltare al Greenstone.</Text>
+</Section>
+<Section name="translatetext">
+<Title>
+<Text id="182">Tradu textul</Text>
+</Title>
+<Text id="183">AceastÄ secÅ£iune descrie panoul de traducere prin care pot fi traduse fragmentele de text pentru pÄrÈile interfeÅ£ei colecÅ£iei Ã®n alte limbi. Sub secÈiunea âFormatâ, apÄsaÅ£i pe âTradu textâ.</Text>
+<Text id="184">Ãn primul rÃ¢nd, alegeÅ£i o intrare din lista de âCaracteristiciâ. Stringurile specifice de limbÄ asociate cu aceastÄ caracteristicÄ apar mai jos. UtilizaÅ£i lista derulantÄ âLimba traduceriiâ pentru a selecta limba doritÄ Åi scrie textul tradus Ã®n zona de text  aferentÄ, care vizeazÄ âFragmentul de Text IniÅ£ialâ. ApÄsaÅ£i pe âAdaugÄ Traducereaâ atunci cÃ¢nd aÅ£i terminat.</Text>
+<Text id="185">Pentru a elimina o traducere existentÄ, selectaÅ£i-o Ã®n tabelul âTraduceri Ã®n uzâ Åi apÄsaÅ£i pe âEliminÄ Traducereaâ.</Text>
+<Text id="186">Pentru a edita o traducere, selectaÅ£i-o, editaÅ£i zona âTextul Tradusâ Åi apÄsaÅ£i pe âÃnlocuieÅte Traducereaâ.</Text>
+</Section>
+<Section name="xcollectionsearching">
+<Title>
+<Text id="161">CÄutarea prin multiple colecÅ£ii</Text>
+</Title>
+<Text id="162">Greenstone poate cÄuta prin mai multe colecÅ£ii ca Åi cum ar fi una.
+Acest lucru se face prin specificare unei liste a altor colecÅ£ii pentru a fi interogate dimpreunÄ cu cea curentÄ. Sub tabul âFormatâ, apÄsaÅ£i pe âCÄutarea prin multiple colecÅ£iiâ</Text>
+<Text id="163">CÄutarea multi-colecÅ£ie aratÄ o listÄ a colecÅ£iilor disponibile. ColecÅ£ia curentÄ este bifatÄ Åi nu poate fi deselectatÄ. Pentru a adÄuga altÄ colecÅ£ie pentru a fi cÄutatÄ Ã®n paralel, selectaÅ£i-o din listÄ (mai selectaÅ£i o datÄ pentru a o deselecta). DacÄ este selectatÄ doar o singurÄ colecÅ£ie o cÄutare multi-colecÅ£ie nu poate fi efectuatÄ.</Text>
+<Text id="164">DacÄ colecÅ£iile individuale nu au aceleaÅi indexuri (incluse fiind partiÅ£iile subcolecÅ£iilor Åi partiÅ£iile de limbÄ), cÄutarea multi-colecÅ£ie nu va funcÅ£iona corect. Utilizatorul va fi capabil doar sÄ caute folosind indexul comun tuturor colecÅ£iilor.</Text>
+<Text id="165">Pentru mai multe detalii vedeÅ£i, vÄ rugÄm, Capitolul 1 a Ghidului Dezvoltatorului Greenstone.</Text>
+</Section>
+<Section name="collectionspecificmacros">
+<Title>
+<Text id="fc-m1">Macrouri Specifice ColecÅ£iei</Text>
+</Title>
+<Text id="fc-m2">Sub opÅ£iunea âFormatareâ, apÄsaÅ£i pe âMacrouri Specifice ColecÅ£ieiâ.</Text>
+<Text id="fc-m3">Acest panou aratÄ conÅ£inutul fiÅierului macro extra.dm al colecÅ£iei. Aici este locul Ã®n care macrourile specifice colecÅ£iei sunt definite. Pentru a Ã®nvÄÅ£a mai multe despre macro-uri, vedeÅ£i Capitolul 3 al Ghidului Dezvoltatorului Greenstone.</Text>
+</Section>
+</Section>
+<Section name="miscellaneous">
+<Title>
+<Text id="202">Diverse</Text>
+</Title>
+<Text id="203">AceastÄ secÅ£iune descrie caracteristicile InterfeÅ£ei Bibliotecarului care nu sunt asociate cu niciun panou anume.</Text>
+<Section name="preferences">
+<Title>
+<Text id="204">PreferinÅ£e</Text>
+</Title>
+<Text id="205">AceastÄ secÅ£iune explicÄ fereastra de dialog pentru preferinÅ£e, accesatÄ prin âDosarâ -> âPreferinÅ£eâ.</Text>
+<Text id="206">Fereastra preferinÅ£elor se deschide din opÅ£iunea âGeneralâ. Prima opÅ£iune este un cÃ¢mp text Ã®n care se introduce adresa proprie de e-mail. Aceasta va fi necesarÄ âcreatoruiâ Åi âmaintaineruluiâ metadatelor colecÅ£iei pentru noile colecÅ£ii. UrmÄtoarea opÅ£iune o reprezintÄ o listÄ derulantÄ de limbi Ã®n care InterfaÅ£a Bibliotecarului poate fi prezentatÄ. DacÄ dicÅ£ionarul este modificat prin alegerea uneia din lista prezentatÄ, InterfaÅ£a Bibliotecarului trebuie sÄ fi repornitÄ pentru ca modificarea sÄ intre Ã®n vigoare prin Ã®ncÄrcarea acesteia din dicÅ£ionar.</Text>
+<Text id="207">DacÄ este bifatÄ opÅ£iunea âVezi Metadatele Extraseâ, diferitele instrumente de control care se ocupÄ cu metadatele, vor indica toate metadatele care au fost extrase automat din documente. Deselectarea acesteia ascunde aceste metadate (chiar dacÄ este prezentÄ la momentul stabilirii designului colecÅ£iei Åi chiar Ã®n cadrul colecÅ£iei finale Greenstone). DacÄ este bifatÄ opÅ£iunea âAratÄ dimensiunea fiÅierelorâ, atunci dimensiunea fiÅierului va fi indicatÄ alÄturat fiecÄrui fiÅier Ã®n Arborii SpaÅ£iului de lucru Åi cel al ColecÅ£iei, precum Åi Ã®n panourile de Colectare Åi ÃmbogÄÅ£ire.</Text>
+<Text id="208">OpÅ£iunea âModâ este utilizatÄ pentru a controla nivelul de detaliu al interfeÅ£ei. La punctul cel mai de jos al setÄrilor, adicÄ âAsistent de BibliotecÄâ, opÅ£iunile referitoare la design sunt dezactivate, argumentele care necesitÄ expresii regulate sunt ascunse iar procesul de construcÅ£ie al colecÅ£iei produce un log minimal al evenimentelor. Ãn contrast, setÄrile de nivel Ã®nalt, adicÄ âExpertâ, furnizeazÄ accesul la toate componentele de design fiind incluse poziÅ£ionarea extensiilor Åi argumentele pentru expresiile regulate Åi sunt permise chiar Åi Ã®nregistrarea Ã®n jurnale al rezultatului complet al procesului de construcÅ£ie. Pentru a modifica sau revizui modurile, apÄsaÅ£i pe butonul radio alÄturat modului pentru care optaÅ£i. PuteÅ£i revizui rapid modul Ã®n care vÄ aflaÅ£i privind la bara de titlu a InterfeÅ£ei Bibliotecarului. </Text>
+<Text id="210">SecÅ£iunea âConexiuneâ permite modificarea calea cÄtre serverul Greenstone care ruleazÄ local, care este folosit atunci cÃ¢nd sunt vizualizate colecÅ£iile. De asemenea, permite setarea informaÅ£iilor privind proxy-ul pentru asigurarea conexiunii la Internet (ex. pentru downloadarea fiÅierelor; a se vedea secÅ£iunea <Reference target="downloadingfiles"/> pentru detalii). BifeazÄ pentru a activa conexiunea proxy Åi introduceÅ£i detaliile pentru adresa de proxy precum Åi numÄrul portului. Conexiunea proxy este stabilitÄ atunci cÃ¢nd dialogul PreferinÅ£elor este Ã®nchis.</Text>
+<Text id="211">Ãn timpul lucrului, InterfaÅ£a Bibliotecarului poate afiÅa mesaje de avertisment care informezÄ asupra unei posibile consecinÅ£e neprevÄzute a unei acÅ£iuni. PuteÅ£i dezactiva mesajele prin bifarea lui âNu mai arÄta acest avertismentâ. PuteÅ£i reactiva afiÅarea mesajelor mergÃ¢nd la tabul âAvertismenteâ. BifaÅ£i cÄsuÅ£ele de lÃ¢ngÄ mesajele de avertisment pe care doriÅ£i sÄ fie afiÅate din nou.</Text>
+</Section>
+<Section name="fileassociations">
+<Title>
+<Text id="212">Asocierile fiÅierelor</Text>
+</Title>
+<Text id="213">InterfaÅ£a Bibliotecarului foloseÅte anumite programe care deschid diferitele tipuri de fiÅiere. Pentru a modifica asocierea fiÅierelor accesaÅ£i meniul âFiÅierâ Åi apÄsaÅ£i pe âAsocierile fiÅierelor...â.</Text>
+<Text id="214">Pentru a adÄuga o asociere, selectaÅ£i extensia fiÅierul Å£intÄ din lista derulantÄ, sau introduceÅ£i o nouÄ extensie (nu includeÅ£i punctul â.â). UrmÄtorul pas este fie sÄ introduceÅ£i comanda care lanseazÄ aplicaÅ£ia doritÄ Ã®n cÃ¢mpul destinat sau alegeÅ£i aplicaÅ£ia din meniul âNavigheazÄâ. â%1â poate fi utilizat Ã®n comandÄ pentru a introduce numele fiÅierului deschis. Din moment ce au fost parcurÅi aceÅti paÅi, butonul âAdaugÄâ se activeazÄ Åi poÅ£i sÄ-l apeÅi pentru a adÄuga asocierea.</Text>
+<Text id="215">Pentru a adÄuga o asociere, selectaÅ£i o extensie deja existentÄ. Orice comandÄ asociatÄ deja existentÄ este afiÅatÄ Ã®n cÃ¢mpul âlanseazÄ comandaâ. EditaÅ£i-l Åi apoi apÄsaÅ£i âÃnlocuieÅteâ.</Text>
+<Text id="216">Pentru a elimina o asociere, selectaÅ£i o extensie deja existentÄ Åi apÄsaÅ£i âEliminÄâ. (Extensia fiÅierului rÄmÃ¢ne Ã®n lista derulantÄ âPentru extensieâ.)</Text>
+<Text id="217">Asocierea fiÅierelor sunt stocate Ã®n directorul principal al InterfeÅ£ei Bibliotecarului Ã®ntr-un fiÅier denumit âassociations.xmlâ</Text>
+</Section>
+<Section name="exporting">
+<Title>
+<Text id="exp-1">Exportarea colecÅ£iilor Ã®n alte formate</Text>
+</Title>
+<Text id="exp-2">Greenstone poate exporta conÅ£inutul Åi/sau metadatele unei colecÅ£ii Ã®n cÃ¢teva formate standard fiind incluse METS, DSpace Åi MARCXML.</Text>
+<Text id="exp-3">Pentru a exporta una sau mai multe colecÅ£ii, deschideÅ£i meniul âDosarâ Åi alegeÅ£i âExport...â. PuteÅ£i alege formatul pentru export prin selectarea acestuia din lista derulantÄ âExportÄ caâ. SpecificaÅ£i un nume pentru directorul Ã®n care doriÅ£i sÄ puneÅ£i fiÅierele&mdash;fiÅierele se vor termina prin &lt;calea cÄtre greenstone&gt;/tmp/exported_xxx, unde xxx este numele pe care-l specificaÅ£i. SelectaÅ£i una sau mai multe colecÅ£ii Ã®n lista colecÅ£iilor disponibile iar apoi apÄsaÅ£i pe âExportÄ colecÅ£ia(ile)â.</Text>
+<Text id="exp-4">ExistÄ Åi alte opÅ£iuni specifice pentru variatele formate. Pot fi specificate fiÅierele XSLT care vor fi aplicate documentelor XML rezultate Ã®n scopul personalizÄrii formatul de ieÅire al rezultatelor. Exportul cÄtre MARCXML utilizeazÄ un fiÅier de mapare a metadatelor Greenstone peste cÃ¢mpurile specifice ale formatului MARC. FiÅierul de mapare implicit, face operaÅ£iunea de mapare doar pentru metadatele Dublin Core. Poate fi specificat un fiÅier adaptat Åi personalizat care sÄ fie folosit Åi pentru alte formate.</Text>
+</Section>
+<Section name="exportingcollections">
+<Title>
+<Text id="218">Exportarea ColecÅ£iilor pe CD/DVD</Text>
+</Title>
+<Text id="219">Greenstone poate exporta una sau mai multe colecÅ£ii pe un CD/DVD autoinstalabil pentru Windows.</Text>
+<Text id="220">Pentru a exporta o colecÅ£ie, deschideÅ£i meniul âFiÅierâ Åi alegeÅ£i âScrie Imaginea CD/DVDâ. Apare o listÄ a colecÅ£iilor Greenstone din care apÄsaÅ£i pe una dintre ele pentru a-i vedea descrierea. BifaÅ£i cÄsuÅ£ele colecÅ£iei pentru a fi exportatÄ. PuteÅ£i introduce numele CD/DVD-ului Ã®n cÃ¢mpul ânumele CD/DVDâ: acesta va apÄrea Ã®n meniul Start atunci cÃ¢nd CD/DVD-ul va fi instalat. PuteÅ£i opta fie ca CD-ROM-ul sau DVD-ul rezultat sÄ ruleze direct din unitatea de citire, fie puteÅ£i sÄ instalaÅ£i pe computer o parte a fiÅierelor. Apoi apÄsaÅ£i âScrie imaginea CD/DVDâ. Procesul implicÄ copierea a mai multor fiÅiere Åi directoare Åi poate dura cÃ¢teva minute.</Text>
+<Text id="221">La momentul Ã®ncheierii, Greenstone va indica numele unui director care conÅ£ine colecÅ£iile exportate. FolosiÅ£i un inscriptor CD/DVD pentru a copia conÅ£inutul pe un CD/DVD gol.</Text>
+</Section>
+</Section>
+</Document>
Index: main/tags/2.83/gli/help/ro/help_index.xml
===================================================================
--- main/tags/2.83/gli/help/ro/help_index.xml	(revision 21123)
+++ main/tags/2.83/gli/help/ro/help_index.xml	(revision 21123)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Document><Section name="introduction"><Title>Introducere</Title><Section name="ofmiceandmenus"><Title>Despre Åoricei Åi Meniuri</Title></Section><Section name="howtoavoidthisdocument"><Title>Cum sÄ evitaÅ£i citirea acestui document</Title></Section></Section><Section name="startingoff"><Title>Pornire</Title><Section name="creatingacollection"><Title>Crearea unei Noi ColecÅ£ii</Title></Section><Section name="savingacollection"><Title>Salvarea ColecÅ£iei</Title></Section><Section name="openingacollection"><Title>Deschiderea unei colecÅ£ii existente</Title></Section><Section name="deletingcollections"><Title>Återgerea ColecÅ£iilor</Title></Section></Section><Section name="downloadingfiles"><Title>DescÄrcarea fiÅierelor din Internet</Title><Section name="themirrorview"><Title>Panoul de DescÄrcare</Title></Section></Section><Section name="collectingfiles"><Title>Colectarea fiÅierelor pentru ColecÅ£ie</Title><Section name="thegatherview"><Title>Panoul de Colectare</Title></Section><Section name="creatingshortcuts"><Title>Crearea unei scurtÄturi Ã®n Arborele de Lucru</Title></Section><Section name="creatingfolders"><Title>Crearea Directoarelor</Title></Section><Section name="addingfiles"><Title>AdÄugarea FiÅierelor</Title></Section><Section name="replacingfiles"><Title>Redenumirea Åi Ãnlocuirea FiÅierelor</Title></Section><Section name="removingfiles"><Title>Eliminare FiÅiere</Title></Section><Section name="explodingfiles"><Title>âDestindereaâ FiÅierelor de Metadate</Title></Section><Section name="filteringthetree"><Title>Filtrarea Arborilor</Title></Section></Section><Section name="enrichingacollection"><Title>ÃmbogÄÅ£irea ColecÅ£iei proprii cu Metadate</Title><Section name="theenrichview"><Title>Panoul de ÃmbogÄÅ£ire</Title></Section><Section name="selectingmetadatasets"><Title>Selectarea Seturilor de Metadate</Title></Section><Section name="appendingmetadata"><Title>AdÄugarea Noilor Metadate</Title></Section><Section name="addingpreviouslydefinedmetadata"><Title>AdÄugarea de Metadate Definite Anterior</Title></Section><Section name="updatingmetadata"><Title>Editarea sau Eliminarea Metadatelor</Title></Section><Section name="reviewingmetadata"><Title>Revizuirea Metadatelor Atribuite</Title></Section><Section name="importingpreviouslyassignedmetadata"><Title>Importarea Metadatelor Asignate Anterior</Title></Section></Section><Section name="designingacollection"><Title>Configurarea ColecÅ£iei</Title><Section name="thedesignview"><Title>Panoul pentru Design</Title></Section><Section name="plugins"><Title>Extensiile documentului</Title></Section><Section name="searchindexes"><Title>Indexuri de cÄutare</Title></Section><Section name="partitionindexes"><Title>Indexuri PartiÅ£ii</Title><Section name="definefilters"><Title>DefiniÅ£i Filtrele</Title></Section><Section name="assignpartitions"><Title>Atribuie PartiÅ£ii</Title></Section><Section name="assignlanguages"><Title>Atribuie Limba</Title></Section></Section><Section name="classifiers"><Title>Examinarea Clasificatorilor</Title></Section></Section><Section name="producingthecollection"><Title>Producerea ColecÅ£iei</Title><Section name="thecreateview"><Title>Panoul de Creare</Title></Section><Section name="builderrors"><Title>Erori Ã®n construcÅ£ia colecÅ£iei</Title></Section><Section name="expertbuilding"><Title>Panoul de creare Ã®n Modul Expert</Title></Section></Section><Section name="formattingacollection"><Title>Particularizarea modului Ã®n care aratÄ colecÅ£ia</Title><Section name="theformatview"><Title>Zona Formatului</Title></Section><Section name="generalsettings"><Title>General</Title></Section><Section name="searchmetadatasettings"><Title>Cautare</Title></Section><Section name="formatstatements"><Title>Caracteristicile Formatului</Title></Section><Section name="translatetext"><Title>Tradu textul</Title></Section><Section name="xcollectionsearching"><Title>CÄutarea prin multiple colecÅ£ii</Title></Section><Section name="collectionspecificmacros"><Title>Macrouri Specifice ColecÅ£iei</Title></Section></Section><Section name="miscellaneous"><Title>Diverse</Title><Section name="preferences"><Title>PreferinÅ£e</Title></Section><Section name="fileassociations"><Title>Asocierile fiÅierelor</Title></Section><Section name="exporting"><Title>Exportarea colecÅ£iilor Ã®n alte formate</Title></Section><Section name="exportingcollections"><Title>Exportarea ColecÅ£iilor pe CD/DVD</Title></Section></Section></Document>
Index: main/tags/2.83/gli/help/ro/howtoavoidthisdocument.htm
===================================================================
--- main/tags/2.83/gli/help/ro/howtoavoidthisdocument.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/howtoavoidthisdocument.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="howtoavoidthisdocument"><font size="5" face="Verdana"><strong>1.2: Cum sÄ evitaÅ£i citirea acestui document</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Nu vÄ apucaÅ£i sÄ citiÅ£i textul sistemului de asistenÅ£Ä de la cap la coadÄ ! CitiÅ£i at&acirc;t c&acirc;t sÄ &icirc;nvÄÅ£aÅ£i cum sÄ primiÅ£i ajutor atunci c&acirc;nd aveÅ£i nevoie.</p>
+
+<p>Elementul din meniul de &bdquo;AsistenÅ£ei&rdquo; marcheazÄ ceea ce ar trebui sÄ fie cel mai apropiat punct de sprijin fiind marcat cu un icon reprezent&acirc;nd o carticicÄ.</p>
+
+<p>Pentru cele mai multe dintre controale dacÄ poziÅ£ionaÅ£i cursorul deasupra acestora, apare un dialog de ajutor contextual (tool tip), care vÄ va dirija &icirc;n ceea ce trebuie sÄ faceÅ£i.</p>
+
+<p>&Icirc;nainte de a utiliza InterfaÅ£a Bibliotecarului, mai &icirc;nt&acirc;i citiÅ£i documentaÅ£ia Greenstone.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/importingpreviouslyassignedmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/ro/importingpreviouslyassignedmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/importingpreviouslyassignedmetadata.htm	(revision 21123)
@@ -0,0 +1,26 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="importingpreviouslyassignedmetadata"><font size="5" face="Verdana"><strong>5.7: Importarea Metadatelor Asignate Anterior</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>AceastÄ secÅ£iune descrie cum se importÄ metadate anterior atribuite: metadatele atribuite documentelor &icirc;nainte de a fi adÄugate colecÅ£iei.</p>
+
+<p>DacÄ metadatele &icirc;ntr-o formÄ recunoscutÄ de InterfaÅ£a Bibliotecarului au fost atribuite anterior unui fiÅier -- de exemplu, atunci c&acirc;nd alegi documentele dintr-o colecÅ£ie Greenstone existentÄ -- acestea sunt importate automat atunci c&acirc;nd adaugi un fiÅier. Pentru a face acest lucru, metadatele trebuie sÄ fie mapate peste seturile de metadate existente &icirc;n colecÅ£ie.</p>
+
+<p>InterfaÅ£a Bibliotecarului cere informaÅ£iile necesare. Prompterul oferÄ instrucÅ£iuni scurte iar apoi aratÄ numele medatelor elementului care este importat pe mÄsurÄ ce apare &icirc;n fiÅierul sursÄ. Acest c&acirc;mp nu poate fi editat sau modificat. UrmÄtorul lucru este sÄ  alegeÅ£i ce set de metadate al noului element care ar trebui sÄ corespundÄ iar apoi ce element de metadate corespunde cu acel set. Sistemul selecteazÄ automat cea mai evidentÄ potrivire &icirc;n condiÅ£iile setului Åi ale elementului pentru noile metadate.</p>
+
+<p>DupÄ verificarea mapÄrilor se poate alege &bdquo;AdaugÄ&rdquo; pentru a adÄuga un nou element de metadate la setul de metadate ales. (Acesta este activat dacÄ nu existÄ niciun alt element cu acelaÅi nume &icirc;n cadrul setului ales). &bdquo;FuzioneazÄ&rdquo; are ca efect maparea noului element peste cele alese de utilizator.
+&Icirc;n final, &bdquo;IgnorÄ&rdquo; nu importÄ niciun element de metadate care are acest nume. Din moment ce au fost specificate detaliile de import ale unui anume numÄr de metadate, maparea informaÅ£iilor este reÅ£inutÄ pe toatÄ durata vieÅ£ii colecÅ£iei.</p>
+
+<p>Pentru detalii privind fiÅierele metadata.xml pe care sistemul Greenstone le foloseÅte pentru a stoca metadatele, vezi Capitolul 2 al Ghidului Dezvoltatorului Greenstone -- ObÅ£inerea a c&acirc;t mai mult din documentele colecÅ£iei.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/introduction.htm
===================================================================
--- main/tags/2.83/gli/help/ro/introduction.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/introduction.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="introduction"><font size="5" face="Verdana"><strong>1: Introducere</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>InterfaÅ£a Bibliotecarului este un instrument pentru colectarea documentelor, adÄugarea metadatelor Åi apoi construirea colecÅ£iilor bibliotecii digitale. Aceasta furnizeazÄ accesul la funcÅ£ionalitÄÅ£ile Bibliotecii Digitale Greenstone din perspectivÄ unei interfeÅ£e grafice.</p>
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/miscellaneous.htm
===================================================================
--- main/tags/2.83/gli/help/ro/miscellaneous.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/miscellaneous.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="miscellaneous"><font size="5" face="Verdana"><strong>9: Diverse</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>AceastÄ secÅ£iune descrie caracteristicile InterfeÅ£ei Bibliotecarului care nu sunt asociate cu niciun panou anume.</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/ofmiceandmenus.htm
===================================================================
--- main/tags/2.83/gli/help/ro/ofmiceandmenus.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/ofmiceandmenus.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="ofmiceandmenus"><font size="5" face="Verdana"><strong>1.1: Despre Åoricei Åi Meniuri</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>AceastÄ secÅ£iune vÄ furnizeazÄ informaÅ£ia de bazÄ privind interacÅ£iunea cu InterfaÅ£a Bibliotecarului. DacÄ sunteÅ£i familiari cu programe precum Internet Explorer sau Microsoft Office Åi folosiÅ£i mouse-ul Åi meniurile, atunci sÄriÅ£i la <a href="howtoavoidthisdocument.htm">Cum sÄ evitaÅ£i citirea acestui document</a>.</p>
+
+<p>InterafaÅ£a Bibliotecarului urmÄreÅte convenÅ£iile microsoft Windows Åi se structureazÄ dupÄ modul de lucru &icirc;n mediul Windows.</p>
+
+<p>oricare parte a ecranului cu care interacÅ£ionaÅ£i precum butoane sau c&icirc;mpuri text este denumit generic &bdquo;control&rdquo;. &Icirc;n oricare moment, un control denumit &bdquo;focus&rdquo;, este subliniat Åi interacÅ£ioneazÄ cu tastatura. C&icirc;teva controale permit selectarea pÄrÅ£ilor care sunt subliniate cu albastru &icirc;nchis. C&acirc;teva controale sunt de culoare gri indic&acirc;nd faptul cÄ sunt inactive.</p>
+
+<p>FuncÅ£iile mouse-ului sunt aceleaÅi. Multe dintre componente permit de asemenea operaÅ£iunea &bdquo;drag&rdquo; Åi &bdquo;drop&rdquo;. Diferitele fereste &icirc;Åi modicÄ aparenÅ£a atunci c&acirc;nd o componentÄ este deasupra acestora.</p>
+
+<p>PuteÅ£i folosi tastatura pentru a completa c&acirc;mpurile text. [Tab] vÄ termite sÄ navigaÈi printre multiplele c&acirc;mpuri text.</p>
+
+<p>IeÅiÅ£i din programul InterfaÅ£a Bibliotecarului prin selectarea lui &bdquo;Exit&rdquo; din meniul &bdquo;Dosar&rdquo;. Mai &icirc;nt&acirc;i va fi salvatÄ colecÅ£ia Åi apoi se va &icirc;nchide.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/openingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/ro/openingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/openingacollection.htm	(revision 21123)
@@ -0,0 +1,22 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="openingacollection"><font size="5" face="Verdana"><strong>2.3: Deschiderea unei colecÅ£ii existente</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Pentru a deschide o colecÅ£ie alege &bdquo;Deschide&rdquo; din meniul &bdquo;FiÅier&rdquo; pentru a ajunge la prompterul ColecÅ£iei. Apare o listÄ a colecÅ£iilor disponibile. SelectaÅ£i una pentru a-i vedea descrierea Åi apÄsaÅ£i pe &bdquo;Deschide&rdquo; pentru a o &icirc;ncÄrca.</p>
+
+<p>&Icirc;n cazul &icirc;n care ruleazÄ mai mult de o interfaÅ£Ä Greenstone &icirc;n acelaÅi timp, directoarele relevante sunt &bdquo;blocate&rdquo; pentru a preveni interferenÅ£ele. La deschiderea unei colecÅ£ii, este creat un mic fiÅier temporar de blocare &icirc;n directorul acestuia. &Icirc;nainte de a deschide o colecÅ£ie, InterfaÅ£a Bibliotecarului verificÄ sÄ nu cumva ca acest fiÅier de blocare sÄ existe deja. Oricum, atunci c&acirc;nd se iese repede din InterfaÅ£a Bibliotecarului fiÅierul de bocare rÄm&acirc;ne activ &icirc;n director. &Icirc;n acest caz, la deschiderea unei colecÅ£ii, bibliotecarul te &icirc;ntreabÄ dacÄ vrei sÄ &bdquo;preiei&rdquo; controlul acesteia. PoÅ£i face acest lucru dacÄ ai certitudinea cÄ altcineva lucreazÄ la aceeaÅi colecÅ£ie.</p>
+
+<p>C&acirc;nd deschizi o colecÅ£ie pe care InterfaÅ£a Bibliotecarului Greenstone nu a creat-o, &icirc;i va fi atribuit setul de metadate Dublin Core iar oricare metadate existente vor fi importate &icirc;n acelaÅi mod cum se &icirc;nt&acirc;mplÄ &icirc;n cazul &icirc;n care trageÅ£i fiÅierele ce au metadate. Procesul este descris &icirc;n secÅ£iunea <a href="importingpreviouslyassignedmetadata.htm">Importarea Metadatelor Asignate Anterior</a>
+</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/partitionindexes.htm
===================================================================
--- main/tags/2.83/gli/help/ro/partitionindexes.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/partitionindexes.htm	(revision 21123)
@@ -0,0 +1,24 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="partitionindexes"><font size="5" face="Verdana"><strong>6.4: Indexuri PartiÅ£ii</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Indexurile sunt construite pe baza anumitor surse text sau metadate. SpaÅ£iul de cÄutare poate fi controlat Åi mai mult prin partiÅ£ionarea indexurilor, fie prin limbÄ sau printr-un filtru predeterminat. AceastÄ secÅ£iune descrie cum se face acest lucru. Sub tabul &bdquo;Design&rdquo;, apÄsaÅ£i pe &bdquo;Indexuri PartiÅ£ii&rdquo;.</p>
+
+<p>Acces&acirc;nd &bdquo;Indexurile PartiÅ£iilor&rdquo; pot fi observate trei taburi; &bdquo;DefineÅte Filtrele&rdquo; Åi  &bdquo;Atribuie limba&rdquo;. Pentru a Åti mai multe despre partiÅ£ii, vÄ rugÄm sÄ citiÅ£i despre subcolecÅ£ii Åi subindexuri &icirc;n Capitolul 2 al Ghidului Dezvoltatorului Greenstone.</p>
+
+<p>Tabloul Indexuri PartiÅ£ii este activat doar &icirc;n modurile Specialist &icirc;n Sisteme de BibliotecÄ Åi Expert (vezi <a href="preferences.htm">PreferinÅ£e</a>). Pentru colecÅ£iile MG numÄrul total al partiÅ£iilor generate &icirc;l reprezintÄ o combinaÅ£ie a indexurilor, a filtrelor subcolecÅ£iei Åia limbii alese. DouÄ indexuri care au douÄ filtre de subcolecÅ£ie &icirc;n douÄ limbi va genera opt indexuri de partiÅ£ii. Pentru MGPP, toate indexurile sunt create &icirc;ntr-un index fizic, astfel cÄ ar trebui sÄ existe doar patru indexuri de partiÅ£ii. Pentru Lucene, numÄrul de indexuri fizice este determinat de numÄrul nivelurilor asignate colecÅ£iei, c&acirc;te un index pentru fiecare nivel. Astfel, pentru situaÅ£ia anterior descrisÄ, un nivel va avea ca rezultat patru indexuri fizice, &icirc;n timp ce din douÄ niveluri rezultÄ opt.</p>
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/plugins.htm
===================================================================
--- main/tags/2.83/gli/help/ro/plugins.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/plugins.htm	(revision 21123)
@@ -0,0 +1,31 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="plugins"><font size="5" face="Verdana"><strong>6.2: Extensiile documentului</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>AceastÄ secÅ£iune descrie cum se pot configura extensiile documentului folosit de colecÅ£ie. Este explicat modul &icirc;n care specifici care dintre extensii le foloseÅti, care sunt parametrii care trebuie pasaÅ£i lor Åi ordinea &icirc;n care apar. Sub opÅ£iunea &bdquo;Design&rdquo;, apÄsaÅ£i pe &bdquo;Extensiile documentului&rdquo;.</p>
+
+<p>Pentru a adÄuga o extensie, selectaÅ£i-o folosind lista derulantÄ &bdquo;SelecteazÄ o extensie pentru adÄugare&rdquo; Åi apÄsaÅ£i pe &bdquo;AdaugÄ extensie&rdquo;. Apare o fereastrÄ numitÄ &bdquo;Configurarea argumentelor&rdquo; - este descrisÄ &icirc;n continuare. Din moment ce aÅ£i configurat noua extensie, aceasta este adÄugatÄ la finalul listei de &bdquo;Extensii atribuite&rdquo;. &Icirc;n modul de operare Bibliotecar, fiecare extensie cu excepÅ£ia lui UnknownPlug poate fi prezentÄ doar o singurÄ datÄ &icirc;n colecÅ£ie. &Icirc;n modurile de operare mai &icirc;nalte, extensiile  pot sÄ aparÄ de mai multe ori. Argumentul process_exp va trebui sÄ fie setat pentru a face totul operaÅ£ional.</p>
+
+<p>Pentru a vedea o descriere sumarÄ a unei extensii, selectaÅ£i-o din lista derulantÄ &bdquo;SelecteazÄ o extensie pentru adÄugare&rdquo; iar apoi poziÅ£ionaÅ£i mouse-ul deasupra. Va apÄrea un mesaj (tool-tip) cu descrierea.</p>
+
+<p>Pentru a dezinstala o extensie, selectaÅ£i-o din listÄ Åi apÄsaÅ£i pe &bdquo;DezinstaleazÄ Extensia&rdquo;.</p>
+
+<p>Extensiile sunt configurate prin furnizarea de argumente. Pentru a le modifica, selectaÅ£i extensia din listÄ Åi apÄsaÅ£i pe &bdquo;ConfigureazÄ extensie&rdquo; (sau dublu-clic pe extensie). Apare un dialog al &bdquo;ConfigurÄrii Argumentelor&rdquo;, care dispune de variate mijloace de control pentru argumente specifice.</p>
+
+<p>ExistÄ mai multe tipuri de control. Unele sunt exprimate prin cÄsuÅ£e cu bifÄ care activeazÄ opÅ£iunea &icirc;n cazul punerii bifei. Altele sunt fragmente de text care au o cÄsutÄ cu bifÄ Åi un c&acirc;mp de text aferent. ApÄsaÅ£i pe cÄsuÅ£Ä pentru a confirma acel argument iar apoi introduceÅ£i textul corespunzÄtor (expresii regulate, cÄile directoarelor sau fiÅierelor, etc). Altele se prezintÄ sub forma de meniuri derulante din care puteÅ£i selecÅ£iona un anume set de valori. Pentru a &icirc;nÅ£elege ce face un argument, plasaÅ£i cursorul mouseului deasupra numelui aceluia pentru un moment Åi va apÄrea o descriere.</p>
+
+<p>Atunci c&acirc;nd se schimbÄ configuraÅ£ia, se apasÄ pe OK pentru a efectua schimbÄrile Åi pentru a se &icirc;nchide fereastra de dialog sau pe &bdquo;Cancel&rdquo; pentru a &icirc;nchide dialogul fÄrÄ a modifica niciunul din argumentele pluginului. </p>
+
+<p>Extensiile din listÄ sunt executate &icirc;n ordine iar ordinea este de multe ori importantÄ. Ordinea extensiilor poate fi modificatÄ doar &icirc;n modurile Specialist &icirc;n Sisteme de BibliotecÄ Åi Expert (vezi Åi <a href="preferences.htm">PreferinÅ£e</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/preferences.htm
===================================================================
--- main/tags/2.83/gli/help/ro/preferences.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/preferences.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="preferences"><font size="5" face="Verdana"><strong>9.1: PreferinÅ£e</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>AceastÄ secÅ£iune explicÄ fereastra de dialog pentru preferinÅ£e, accesatÄ prin &bdquo;Dosar&rdquo; -&gt; &bdquo;PreferinÅ£e&rdquo;.</p>
+
+<p>Fereastra preferinÅ£elor se deschide din opÅ£iunea &bdquo;General&rdquo;. Prima opÅ£iune este un c&acirc;mp text &icirc;n care se introduce adresa proprie de e-mail. Aceasta va fi necesarÄ &bdquo;creatorui&rdquo; Åi &bdquo;maintainerului&rdquo; metadatelor colecÅ£iei pentru noile colecÅ£ii. UrmÄtoarea opÅ£iune o reprezintÄ o listÄ derulantÄ de limbi &icirc;n care InterfaÅ£a Bibliotecarului poate fi prezentatÄ. DacÄ dicÅ£ionarul este modificat prin alegerea uneia din lista prezentatÄ, InterfaÅ£a Bibliotecarului trebuie sÄ fi repornitÄ pentru ca modificarea sÄ intre &icirc;n vigoare prin &icirc;ncÄrcarea acesteia din dicÅ£ionar.</p>
+
+<p>DacÄ este bifatÄ opÅ£iunea &bdquo;Vezi Metadatele Extrase&rdquo;, diferitele instrumente de control care se ocupÄ cu metadatele, vor indica toate metadatele care au fost extrase automat din documente. Deselectarea acesteia ascunde aceste metadate (chiar dacÄ este prezentÄ la momentul stabilirii designului colecÅ£iei Åi chiar &icirc;n cadrul colecÅ£iei finale Greenstone). DacÄ este bifatÄ opÅ£iunea &bdquo;AratÄ dimensiunea fiÅierelor&rdquo;, atunci dimensiunea fiÅierului va fi indicatÄ alÄturat fiecÄrui fiÅier &icirc;n Arborii SpaÅ£iului de lucru Åi cel al ColecÅ£iei, precum Åi &icirc;n panourile de Colectare Åi &Icirc;mbogÄÅ£ire.</p>
+
+<p>OpÅ£iunea &bdquo;Mod&rdquo; este utilizatÄ pentru a controla nivelul de detaliu al interfeÅ£ei. La punctul cel mai de jos al setÄrilor, adicÄ &bdquo;Asistent de BibliotecÄ&rdquo;, opÅ£iunile referitoare la design sunt dezactivate, argumentele care necesitÄ expresii regulate sunt ascunse iar procesul de construcÅ£ie al colecÅ£iei produce un log minimal al evenimentelor. &Icirc;n contrast, setÄrile de nivel &icirc;nalt, adicÄ &bdquo;Expert&rdquo;, furnizeazÄ accesul la toate componentele de design fiind incluse poziÅ£ionarea extensiilor Åi argumentele pentru expresiile regulate Åi sunt permise chiar Åi &icirc;nregistrarea &icirc;n jurnale al rezultatului complet al procesului de construcÅ£ie. Pentru a modifica sau revizui modurile, apÄsaÅ£i pe butonul radio alÄturat modului pentru care optaÅ£i. PuteÅ£i revizui rapid modul &icirc;n care vÄ aflaÅ£i privind la bara de titlu a InterfeÅ£ei Bibliotecarului. </p>
+
+<p>SecÅ£iunea &bdquo;Conexiune&rdquo; permite modificarea calea cÄtre serverul Greenstone care ruleazÄ local, care este folosit atunci c&acirc;nd sunt vizualizate colecÅ£iile. De asemenea, permite setarea informaÅ£iilor privind proxy-ul pentru asigurarea conexiunii la Internet (ex. pentru downloadarea fiÅierelor; a se vedea secÅ£iunea <a href="downloadingfiles.htm">DescÄrcarea fiÅierelor din Internet</a> pentru detalii). BifeazÄ pentru a activa conexiunea proxy Åi introduceÅ£i detaliile pentru adresa de proxy precum Åi numÄrul portului. Conexiunea proxy este stabilitÄ atunci c&acirc;nd dialogul PreferinÅ£elor este &icirc;nchis.</p>
+
+<p>&Icirc;n timpul lucrului, InterfaÅ£a Bibliotecarului poate afiÅa mesaje de avertisment care informezÄ asupra unei posibile consecinÅ£e neprevÄzute a unei acÅ£iuni. PuteÅ£i dezactiva mesajele prin bifarea lui &bdquo;Nu mai arÄta acest avertisment&rdquo;. PuteÅ£i reactiva afiÅarea mesajelor merg&acirc;nd la tabul &bdquo;Avertismente&rdquo;. BifaÅ£i cÄsuÅ£ele de l&acirc;ngÄ mesajele de avertisment pe care doriÅ£i sÄ fie afiÅate din nou.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/producingthecollection.htm
===================================================================
--- main/tags/2.83/gli/help/ro/producingthecollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/producingthecollection.htm	(revision 21123)
@@ -0,0 +1,20 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="producingthecollection"><font size="5" face="Verdana"><strong>7: Producerea ColecÅ£iei</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>&Icirc;n momentul &icirc;n care aÅ£i str&acirc;ns documentele unei colecÅ£ii, au fost adnotate cu metadate Åi a fost proiectat modul &icirc;n care se va &icirc;nfÄÅ£iÅa colecÅ£ia, aceasta poate fi produsÄ folosindu-se Greenstone. AceastÄ secÅ£iune explicÄ cum se face acest lucru.</p>
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/removingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/ro/removingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/removingfiles.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="removingfiles"><font size="5" face="Verdana"><strong>4.6: Eliminare FiÅiere</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ExistÄ mai multe metode de eliminare a fiÅierelor Åi directoarelor. Mai &icirc;nt&acirc;i trebuie indicate elementele care trebuie eliminate prin selectarea unuia sau a mai multor fiÅiere Åi directoare dupÄ cum este descris &icirc;n <a href="thegatherview.htm">Panoul de Colectare</a>.</p>
+
+<p>Din moment ce fiÅierele au fost selectate, apÄsaÅ£i pe butonul &bdquo;Återge&rdquo; pentru a-l elimina sau apÄsaÅ£i tasta [Delete] a tastaturii ori trageÅ£i-l din colecÅ£ie pe butonul de Återgere, unde-i daÅ£i drumul.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/replacingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/ro/replacingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/replacingfiles.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="replacingfiles"><font size="5" face="Verdana"><strong>4.5: Redenumirea Åi &Icirc;nlocuirea FiÅierelor</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>FiÅierele pot fi redenumite prin click-dreapta pe acestea Åi selectarea opÅ£iunii &bdquo;RedenumeÅte&rdquo; din listÄ. IntroduceÅ£i noul nume Åi apÄsaÅ£i pe OK.</p>
+
+<p>Directoarele pot fi &icirc;nlocuite &icirc;n colecÅ£ie prin apÄsarea click-dreapta pe acel director Åi optarea pentru &bdquo;&Icirc;nlocuire&rdquo;. Se va deschide un panou de navigare: mergeÅ£i la noul document Åi apÄsaÅ£i &bdquo;Deschide&rdquo;. Noul document &icirc;l va &icirc;nlocui pe cel vechi din colecÅ£ie iar metadatele vor fi transferate acestuia din urmÄ. Acest lucru se dovedeÅte a fi util  &icirc;n cazul &icirc;nlocuirii documentelor figurant cu cele adevÄrate.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/reviewingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/ro/reviewingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/reviewingmetadata.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="reviewingmetadata"><font size="5" face="Verdana"><strong>5.6: Revizuirea Metadatelor Atribuite</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Uneori trebuie sÄ fie vÄzute metadatele atribuite mai multor fiÅiere &icirc;n acelaÅi timp -- de exemplu, pentru a determina c&acirc;te fiÅiere au mai rÄmas Åi care trebuie prelucrate sau pentru a-Å£i face o idee asupra &icirc;ntinderii datelor.</p>
+
+<p>SelectaÅ£i fiÅierele din Arborele ColecÅ£iei pe care doriÅ£i sÄ le examinaÅ£i, apoi clic-dreapta Åi alegeÅ£i &bdquo;Metadate Atribuite...&rdquo;. Apare o fereastrÄ numitÄ &bdquo;Toate Metadatele&rdquo; dominatÄ de un tabel cu multe coloane. Prima coloanÄ aratÄ numele fiÅierelor iar r&acirc;ndurile aratÄ toate valorile de metadate atribuite acelor fiÅiere.</p>
+
+<p>Trasarea unui tabel poate sÄ ia ceva timp mai ales dacÄ sunt selectate mai multe fiÅiere. PuteÅ£i sÄ utilizaÅ£i &icirc;n continuare InterfaÅ£a Bibliotecarului &icirc;n timp ce este deschisÄ fereastra &bdquo;Toate Metadatele&rdquo;.</p>
+
+<p>Atunci c&acirc;nd aceasta devine prea mare, se poate filtra tabelul &bdquo;Toate Metadatele&rdquo; prin aplicarea filtrelor asupra coloanelor. Pe mÄsurÄ ce sunt adÄugate noi filtre, doar acele r&acirc;nduri care se potrivesc vor rÄm&acirc;ne vizibile. Pentru a seta, modifica sau curÄÅ£a un filtru, apÄsaÅ£i pe iconul &bdquo;p&acirc;lnie&rdquo; de la partea superioarÄ a coloanei. Vi se vor cere mai multe informaÅ£ii privind filtrul. Din moment ce este setat un filtru, capul coloanei &icirc;Åi modificÄ culoarea.</p>
+
+<p>Propmtul pentru filtrÄri are douÄ opÅ£iuni: &bdquo;Simple&rdquo; Åi &bdquo;Avansate&rdquo;. Versiunea simplÄ filtreazÄ coloanele astfel &icirc;nc&acirc;t acestea prezintÄ doar r&acirc;nduri, care conÅ£in o anume valoare de metadate ("*" pentru toate valorile). Pot fi selectate valori ale metadatelor din lista derulantÄ. Versiunea avansatÄ permite diferite operaÅ£iuni de regÄsire: trebuie sÄ &icirc;nceapÄ cu, nu conÅ£ine, alfabetic, fÄrÄ Åi este egal cu. Valorile regÄsite pot fi editate sÄ fie oricare Åir (incluz&acirc;nd "*"). Poate fi aleasÄ opÅ£iunea de cÄutate sÄ nu fie case sensitive. &Icirc;n fine, poate fi specificat un al doilea criteriu de  regÄsire pentru a specifica gama de valori (prin folosirea lui AND) sau a valorilor alternative (prin selectarea operatorului OR). Sub aceastÄ zonÄ existÄ o opÅ£iune de schimbare a ordinii de sortare (ascendentÄ sau descendentÄ). Din moment de aÅ£i terminat, apÄsaÅ£i pe &bdquo;Setare filtru&rdquo; pentru a aplica noul filtru asupra coloanei. ApÄsaÅ£i pe &bdquo;EliminÄ Filtru&rdquo; pentru a renunÅ£a la filtrul curent. Trebuie notat cÄ detaliile filtrelor sunt reÅ£inute totuÅi chiar dacÄ filtrul nu mai este &icirc;n vigoare.</p>
+
+<p>De exemplu, pentru a sorta tabelul &bdquo;Toate Metadatele&rdquo;, alegeÅ£i o coloanÄ, selectaÅ£i filtrul implicit (un filtru Simplu dupÄ "*") Åi alegeÅ£i ordonare ascendentÄ sau descendentÄ.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/savingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/ro/savingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/savingacollection.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="savingacollection"><font size="5" face="Verdana"><strong>2.2: Salvarea ColecÅ£iei</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>SalvaÅ£i munca dumneavoastrÄ &icirc;n mod regulat prin deschiderea meniului &bdquo;Dosar&rdquo; Åi alegerea opÅ£iunii &bdquo;Salvare&rdquo;. Salvarea unei colecÅ£ii nu este acelaÅi lucru cu pregÄtirea acesteia pentru a fi utilizatÄ &icirc;n Greenstone (vezi <a href="producingthecollection.htm">Producerea ColecÅ£iei</a>).</p>
+
+<p>InterfaÅ£a Bibliotecarului protejeazÄ munca dumneavoastrÄ prin salvare atunci c&acirc;nd pÄrÄsiÅ£i programul sau este &icirc;ncÄrcatÄ altÄ colecÅ£ie.</p>
+
+<p>ColecÅ£iile sunt salvate &icirc;ntr-un director din cadrul directorului de instalare pentru &bdquo;colectare&rdquo; denumit cu o versiune scurtÄ a numelui colecÅ£iei. Documentele sunt salvate &icirc;n subdirectorul &bdquo;importare&rdquo; iar metadatele sunt salvate &icirc;n fiÅierele &bdquo;metadata.xml&rdquo; din cadrul acestui director. InformaÅ£ia de configurare este salvatÄ &icirc;n fiÅierul &bdquo;colect.cfg&rdquo; din cadrul subdirectorului &bdquo;etc&rdquo;. Unele informaÅ£ii sunt salvate de asemenea &icirc;ntr-un fiÅier denumit dupÄ colecÅ£ie av&acirc;nd extensia &bdquo;.col&rdquo;. </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/searchindexes.htm
===================================================================
--- main/tags/2.83/gli/help/ro/searchindexes.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/searchindexes.htm	(revision 21123)
@@ -0,0 +1,45 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchindexes"><font size="5" face="Verdana"><strong>6.3: Indexuri de cÄutare</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Indexurile specificÄ &icirc;n care dintre pÄrÅ£ile colecÅ£iei se pot face cÄutÄri. AceastÄ secÅ£iune explicÄ cum se adaugÄ sau se scot indexurile Åi cum se adaugÄ un index implicit. Sub opÅ£iunea "Design  ", se apasÄ pe "Indexurile de CÄutare  ".</p>
+
+<p>&Icirc;n partea dreaptÄ sus a panoului "Indexurile de CÄutare  " este afiÅatÄ informaÅ£ia referitoare la indexator, care este utilizatÄ &icirc;n mod curent de colecÅ£ie. Aceasta poate fi modificatÄ apÄs&acirc;nd pe "SchimbÄ...  ". O fereastrÄ va apÄrea cu lista opÅ£iunilor: MG, MGPP Åi Lucene. AceastÄ modificare afecteazÄ maniera &icirc;n care este construit indexul Åi poate afecta modul &icirc;n care este construit indexul referitor la  funcÅ£ionalitate.</p>
+
+<p>Lista "Indexurile Asignate  " aratÄ care dintre indexuri sunt atribuite actualmente colecÅ£iei.</p>
+
+<p>Pentru a adÄuga un index, apÄsaÅ£i pe "Index nou  "... Va apÄrea o fereastrÄ cu o listÄ a surselor care includ text Åi metadate. SelectaÅ£i care dintre surse se doresc a fi indexate. Butoanele "SelecteazÄ tot  " Åi "Nu selecta nimic  " vor bifa sau invers toate elementele din listÄ. Din moment ce a fost definit un nou index, apÄsaÅ£i pe "AdaugÄ Index  " pentru a-l adÄuga colecÅ£iei. 
+"AdaugÄ Index  " va deveni activ doar c&acirc;nd setÄrile descriu un index nou care nu este atribuit deja colecÅ£iei.</p>
+
+<p>Pentru indexurile MG, trebuie, de asemenea sÄ specificaÅ£i granularitatea indexului folosind meniul "Nivelul indexÄrii:  "</p>
+
+<p>Pentru indexurile MGPP Åi Lucene, granularitatea indexului este determinatÄ la nivel global Åi nu la nivel de index.
+Nivelurile posibile sunt afiÅate &icirc;n panoul "Indexurile de CÄutare  " Åi pot fi adÄugate la colecÅ£ie prin bifarea cÄsuÅ£elor aferente.</p>
+
+<p>Pentru MGPP Åi Lucene este disponibil in index special: este vorba despre un index tip &bdquo;toatec&acirc;mpurile&rdquo;, care furnizeazÄ o cÄutare combinatÄ asupra tuturor indexurilor specificate fÄrÄ a fi nevoit sÄ specifice unul separat care sÄ conÅ£inÄ toate sursele. Pentru a adÄuga acest index, bifaÅ£i cÄsuÅ£a "AdaugÄ cÄutarea combinatÄ peste toate indexurile asignate (toate c&acirc;mpurile)  " Åi apÄsaÅ£i pe "AdaugÄ Index  ".</p>
+
+<p>Pentru MGPP Åi Lucene existÄ, de asemenea un buton "AdaugÄ tot  " acÅ£ion&acirc;nd ca o scurtÄturÄ pentru adÄugarea tuturor metadatelor Åi a surselor de text ca indexuri individuale.</p>
+
+<p>Pentru a edita un index, selectaÅ£i-l Åi apÄsaÅ£i pe "EditeazÄ Indexul  ". Pentru "Index nou  " este prezentat un dialog similar.</p>
+
+<p>Pentru a elimina un index, selectaÅ£i-l din lista Indexurilor atribuite Åi apÄsaÅ£i pe "EliminÄ Indexul  ".</p>
+
+<p>Ordinea &icirc;n care sunt specificate indexurile &icirc;n lista Indexurilor Atribuite este ordinea &icirc;n care apar &icirc;n meniul derulant din pagina de cÄutare. UtilizaÅ£i butoanele "MutÄ mai sus  " and "Mergi mai jos  " pentru a modifica aceastÄ ordine.</p>
+
+<p>Cea selectatÄ implicit pe pagina de cÄutare este denumitÄ &bdquo;indexul implicit&rdquo;. Acesta poate fi setat prin selectarea unui index din listÄ Åi selectarea lui &bdquo;SeteazÄ Implicit&rdquo;. Indexul implicit este etichetat cu &bdquo;[Index Implicit]&rdquo; &icirc;n lista &bdquo;Indexurilor Atribuite&rdquo;. DacÄ nu este setat un index implicit, va fi folosit primul din listÄ ca fiind cel implicit.</p>
+
+<p>Numele folosite pentru lista derulantÄ de indexuri din pagina de cÄutare poate fi setatÄ din "CautÄ  " ca parte a panoului"FormateazÄ  " (vezi <a href="searchmetadatasettings.htm">Cautare</a>).</p>
+
+<p>Pentru indexurile MG Åi MGPP, existÄ mai multe opÅ£iuni care controleazÄ cum sunt construite indexurile. Trunchierea Åi caracterele pot fi activate sau dezactivate din indexes. DacÄ sunt dezactivate, opÅ£iunile nu vor fi afiÅate &icirc;n pagina preferinÅ£elor a colecÅ£iei. Plierea Åi dupÄ criteriul accentelor caracterelor este valabil, de asemenea pentru indexurile MGPP. Acest lucru lucreazÄ &icirc;n mod similar Åi pentru cazul mÄrimii caracterului, dar &icirc;n loc de potrivirea dupÄ criteriul dimensiunii caracterelor, caracterele care au diacritice se vor potrivi cu cele fÄrÄ.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/searchmetadatasettings.htm
===================================================================
--- main/tags/2.83/gli/help/ro/searchmetadatasettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/searchmetadatasettings.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchmetadatasettings"><font size="5" face="Verdana"><strong>8.3: Cautare</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>AceastÄ secÅ£iune explicÄ cum trebuie setat textul afiÅate de o listÄ derulantÄ pe pagina cÄutÄrii. Sub tabul &bdquo;Formatare&rdquo;, apÄsaÅ£i pe &bdquo;CautÄ&rdquo;.</p>
+
+<p>Acest panou conÅ£ine o listare &icirc;ntr-un tabel al fiecÄrui index de cÄutare. Aici puteÈi introduce textul folosit pentru numele indecÈilor Èi lista derulantÄ prezentÄ &icirc;n pagina de cÄutare. Acest panou &icirc;Å£i permite doar sÄ setaÅ£i textul pentru o singurÄ limbÄ, adicÄ limba curentÄ folositÄ de GLI. Pentru a traduce aceste nume &icirc;n alte limbi, folosiÅ£i partea de Traducere Text a panoului Formatului (vezi Èi <a href="translatetext.htm">Tradu textul</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/selectingmetadatasets.htm
===================================================================
--- main/tags/2.83/gli/help/ro/selectingmetadatasets.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/selectingmetadatasets.htm	(revision 21123)
@@ -0,0 +1,35 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="selectingmetadatasets"><font size="5" face="Verdana"><strong>5.2: Selectarea Seturilor de Metadate</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Seturi de elemente de metadate predefinite numite ca &bdquo;seturi de metadate&rdquo;. Un exemplu este setul de metadate Dublin Core. Atunci c&acirc;nd adaugi un set de metadate la colecÅ£ie, elementele sale sunt disponibile selectÄrii. Pot exista mai mult de un singur set; pentru a preveni conflictul de nume se pune &icirc;n vedere un mic identificator care identificÄ metadatele pentru un nume de element. De exemplu, elementul Creator, care face parte din Dublin Core, devine &bdquo;dc.Creator&rdquo;. Seturile de Metadate sunt stocate &icirc;n directorul metadatelor al InterfeÅ£ei Bibliotecarului Åi au sufficul &bdquo;.mds&rdquo;.</p>
+
+<p>Atunci c&acirc;nd este creatÄ o nouÄ colecÅ£ie, setul de metadate Dublin Core este adÄugat automat. Pot fi selectate care dintre seturile de metadate sunt utilizate &icirc;ntr-o colecÅ£ie prin apÄsarea pe butonul &bdquo;Gestiunea Seturilor de Metadate...&rdquo; de sub Arborele ColecÅ£iei din fereastra extinsÄ. Aceasta are ca efect deschiderea unei noi ferestre pentru gestionarea seturilor de metadate ale colecÅ£iei.</p>
+
+<p>Lista &bdquo;Seturi de Metadate Atribuite&rdquo; aratÄ care dintre seturi sunt atribuite curent &icirc;n cadrul colecÅ£iei.</p>
+
+<p>Pentru a utiliza un alt set de metadate &icirc;mpreunÄ cu o colecÅ£ie &icirc;ncÄrcatÄ, apÄsaÅ£i pe &bdquo;AdaugÄ...&rdquo;. Va apÄrea o fereastrÄ care vÄ va arÄta seturile prezente implicit despre care GLI Åtie. Pentru a adÄuga unul dintre acestea, selectaÅ£i-l din listÄ Åi apÄsaÅ£i pe &bdquo;AdaugÄ&rdquo;. DacÄ aÅ£i definit setul de metadate propriu, puteÅ£i utiliza butonul &bdquo;NavigheazÄ&rdquo; pentru a localiza fiÅierul &icirc;n cadrul sistemului de fiÅiere.</p>
+
+<p>Pentru a crea un nou set de metadate, apÄsaÅ£i pe &bdquo;Nou...&rdquo;. Acest pas va lansa Editorul Greenstone pentru Seturile de Metadate GEMS. Va apÄrea o fereastrÄ &icirc;n care vi se va cere numele setului, namespace-ul Åi descrierea. De asemenea, puteÈi aÅeza noul set peste unul preexistent, caz &icirc;n care vor fi moÅtenite toate elementele din setul specificat. ApÄsaÅ£i pe OK. Fereastra principalÄ aratÄ elementele setul de metadate pe partea st&acirc;ngÄ iar c&acirc;teva atribute ale setului &icirc;n partea dreaptÄ. DacÄ aÅ£i poziÅ£ionat setul peste unul preexistent atunci vor fi afiÅate unul sau mai multe elemente. ApÄs&acirc;nd pe unul din ele, vor fi afiÅate atributele elementului &icirc;n partea dreaptÄ.</p>
+
+<p>Pentru a adÄuga un nou element, daÅ£i click dreapta pe numele setului Åi alegeÅ£i &bdquo;AdaugÄ Element&rdquo;. Pentru a adÄuga un nou subelement, daÅ£i click dreapta pe element Åi alegeÅ£i &bdquo;AdaugÄ Subelement&rdquo;. Elementele Åi subelementele pot fi Återse aleg&acirc;nd &bdquo;Återge (Sub)elementul&rdquo; din meniul contextual accesat d&acirc;nd clic dreapta.</p>
+
+<p>NotÄ: Editorul Greenstone pentru Seturile de Metadate poate fi rulat independent de GLI prin selectarea acestuia din directorul Greenstone din Start menu sau prin rularea scripturilor gens.sh sau gems.bat din directorul gli al instalÄrii Greenstone.</p>
+
+<p>Uneori douÄ seturi de metadate pot avea aceleaÅi namespace-uri, de exemplu, Dublin Core Åi Dublin Core Calificat - ambele au acelaÅi namespace &bdquo;dc&rdquo;. Astfel de seturi nu pot fi utilizate &icirc;n colecÅ£ie &icirc;n acelaÅi timp. DacÄ doriÅ£i sÄ adÄugaÅ£i un set cu un namespace deja folosit de colecÅ£ie, vÄ va fi semnalatÄ aceastÄ situaÅ£ie printr-un mesaj de avertisment. DacÄ continuaÅ£i cu aceastÄ opraÅ£iune, setul existent va fi eliminat Åi va fi adÄugat cel nou. Oricare valori de metadate, care au fost atribuite vor fi transferate noului set at&acirc;ta vreme c&acirc;t acele elemete existÄ Åi &icirc;n setul nou introdus.</p>
+
+<p>Av&acirc;nd activ GEMS este posibilÄ editarea seturilor de metadate existente precum Åi crearea unora noi. ApÄs&acirc;nd butonul &bdquo;Editare&rdquo; este lansat GEMS av&acirc;nd setul de metadate specific deschis. Din moment ce aÅ£i terminat de editat setul (aÅa cum este descris mai sus), salvaÅ£i-l (Dosar-&gt;Salvare) Åi &icirc;nchideÅ£i GEMS.</p>
+
+<p>DacÄ una din colecÅ£ii nu mai are nevoie de un anume set de metadate, selectaÅ£i-l Åi apÄsaÅ£i pe &bdquo;EliminÄ&rdquo;. DacÄ aÅ£i atribuit metadate elementelor sale veÅ£i fi rugat sÄ precizaÅ£i cum se va proceda cu aceste metadate la urmÄtoarea deschidere a colecÅ£iei.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/startingoff.htm
===================================================================
--- main/tags/2.83/gli/help/ro/startingoff.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/startingoff.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="startingoff"><font size="5" face="Verdana"><strong>2: Pornire</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>AceastÄ secÅ£iune acoperÄ modalitÄÅ£ile de creare, &icirc;ncÄrcare, salvare Åi Återgere a colecÅ£iilor.</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/thecreateview.htm
===================================================================
--- main/tags/2.83/gli/help/ro/thecreateview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/thecreateview.htm	(revision 21123)
@@ -0,0 +1,22 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thecreateview"><font size="5" face="Verdana"><strong>7.1: Panoul de Creare</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Panoul de Creare este utilizat pentru a crea colecÅ£ia prin rularea scripturilor de construcÅ£ie a colecÅ£iilor proprii Greenstone pe baza informaÅ£iilor furnizate. AccesaÅ£i panoul de Creare prin apÄsarea pe opÅ£iunea CreazÄ.</p>
+
+<p>ApÄs&acirc;nd pe &bdquo;ConstruieÅte ColecÅ£ia&rdquo; se iniÅ£ializeazÄ procesul de construcÅ£ie a acesteia. Timpul pe care aceastÄ operaÅ£iune Åi-l alocÄ depinde de dimensiunea colecÅ£iei Åi numÄrul indexurilor care au fost create (pentru colecÅ£ii de mare &icirc;ntindere acest proces poate lua c&acirc;teva ore). O barÄ de progres indicÄ c&acirc;t de mult din &icirc;ntregul proces a fost parcurs. Pentru a anula procesul &icirc;n orice moment, apÄsaÅ£i pe &bdquo;AnuleazÄ ConstrucÅ£ia&rdquo;.
+Partea de jos a panoului prezintÄ c&acirc;teva opÅ£iuni de control a procesului de construcÅ£ie.</p>
+
+<p>Din moment ce colecÅ£ia a fost construitÄ cu succes, apÄs&acirc;nd pe &bdquo;Previzualizare ColecÅ£ie&rdquo; va fi lansatÄ o fereastrÄ a browserului care se va deschide chiar la pagina dedicatÄ colecÅ£iei.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/thedesignview.htm
===================================================================
--- main/tags/2.83/gli/help/ro/thedesignview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/thedesignview.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thedesignview"><font size="5" face="Verdana"><strong>6.1: Panoul pentru Design</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>AceastÄ secÅ£iune vÄ introduce &icirc;n modul design Åi vÄ explicÄ cum sÄ navigaÅ£i printre diversele panouri.</p>
+
+<p>Din InterfaÅ£a Bibliotecarului se poate configura modul &icirc;n care documentele sunt procesate Åi cum cunt accesate colecÅ£iile de cÄtre utilizatori. OpÅ£iunile de configurare sunt divizate &icirc;n secÅ£iuni diferite, fiecare secÅ£iune fiind asociatÄ cu o anumitÄ etapÄ a particularizÄrii caracteristicilor colecÅ£iei.</p>
+
+<p>&Icirc;n partea st&acirc;ngÄ este o listÄ cu diferitele moduri de vizualizare, iar &icirc;n dreapta sunt controalele asociate cu cel curent. Pentru a trece la un mod de vizualizare diferit, apÄsaÅ£i pe nnumele acestuia din listÄ.</p>
+
+<p>Pentru a &icirc;nÅ£elege etapele Åi termenii implicaÅ£i &icirc;n proiectarea colecÅ£iei, mai &icirc;nt&acirc;i citiÅ£i Capitolele 1 Åi 2 al Ghidului Dezvoltatorului Greenstone.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/theenrichview.htm
===================================================================
--- main/tags/2.83/gli/help/ro/theenrichview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/theenrichview.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="theenrichview"><font size="5" face="Verdana"><strong>5.1: Panoul de &Icirc;mbogÄÅ£ire</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>FolosiÅ£i modul "&Icirc;mbogÄÅ£eÅte  " pentru a asigna metadate documentelor din colecÅ£ie. Metadatele se referÄ la date -- &icirc;n mod curent la titlu, autor, data creÄrii Å.a.m.d. Fiecare element de metadate are douÄ pÄrÅ£i: "Element  " spune ce fel de element este (precum autor, de exemplu), iar "Valoare  " aratÄ valoarea acelui element (de exemplu, numele autorului).</p>
+
+<p>La st&acirc;nga panoului "&Icirc;mbogÄÅ£eÅte  " se aflÄ Arborele ColecÅ£iei. Sistemul opÅ£iunilor contextuale accesate prin click dreapta care a fost disponibil pentru Arborele ColecÅ£iei, panoul "Str&acirc;nge  ", sunt disponibile Åi aici. La dreapta este Tabelul Metadatelor, care aratÄ metadatele pentru fiÅierele sau directoarele selectate din Arborele ColecÅ£iei. Coloanele poartÄ denumirea de culoare gri la partea superioarÄ Åi pot fi redimensionate prin delimitarea cu o linie de separare. DacÄ sunt selectate mai multe fiÅiere Åi directoare, culoarea neagrÄ a textului indicÄ faptul cÄ au o valoare comunÄ pentru toate, &icirc;n timp ce textul gri indicÄ contrariul. Editarea valorilor indicate cu gri va afecta doar acele documente care poartÄ acea valoare de metadate. Oricare valori noi introduse, vor fi adÄugate valorilor deja selectate.</p>
+
+<p>AlÄturat unor intrÄri de metadate este posibil sÄ aparÄ pictograma unui director. Acest lucru indicÄ cÄ valorile sunt moÅtenite de la un director pÄrinte (sau strÄbun). Metadatele moÅtenite nu pot fi editate sau eliminate, pot fi doar preluate sau suprascrise. ApÄsaÅ£i pe pictograma directorului pentru a merge imediat &icirc;n directorul asupra cÄruia sunt atribuite metadatele.</p>
+
+<p>ApÄs&acirc;nd pe un element de metadate din tabel vor fi afiÅate valorile existente pentru acel element din zona "Valorile existente pentru ...  " de mai jos de tabel. Aceast &bdquo;Arbore de Valori&rdquo; este extensibil Åi poate fi restr&acirc;ns. De obiceise prezintÄ sub forma unei liste care aratÄ toate valorile introduse anterior pentru elementul selectat. ApÄs&acirc;nd pe o intrare o plaseazÄ automat pe aceasta &icirc;n c&acirc;mpul destinat valorii. Reciproc, introduc&acirc;nd valoarea manual &icirc;n c&acirc;mpul de text are ca efect selectarea valorii din Arborele Valorilor care &icirc;ncepe cu literele tocmai introduse. ApÄsarea pe tasta [Tab] are ca efect autocompletarea restului valorii tocmai introduse &icirc;n baza potrivirii automate mai sus menÅ£ionate.</p>
+
+<p>Valorile metadatelor pot fi organizate ierarhic. Acest lucru este vizibil &icirc;n Arborele Valorilor, unde sunt folosite directoarele pentru crearea nivelurilor interne. Valorile ierarhice pot fi introduse folosindu-se caracterul &bdquo;|&rdquo; pentru separarea nivelurilor. De exemplu, &bdquo;BibliotecÄ|CÄrÅ£i|BeletristicÄ|Romantism&rdquo; poate fi folosit &icirc;ntr-o ierarhie care prezintÄ structura unei biblioteci reale. Astfel este posibilÄ gruparea valorilor &icirc;mpreunÄ. De asemenea, grupurile pot fi atribuite ca metadate fiÅierelor sau directoarelor.</p>
+
+<p>Greenstone extrage metadatele automat din documente &icirc;ntr-un set de metadate ale cÄrui elemente sunt prefixate cu &bdquo;ex.&rdquo;. Acesta nu are valori &icirc;n arbore Åi nu poate fi editat.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/theformatview.htm
===================================================================
--- main/tags/2.83/gli/help/ro/theformatview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/theformatview.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="theformatview"><font size="5" face="Verdana"><strong>8.1: Zona Formatului</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>AceastÄ secÅ£iune vÄ introduce &icirc;n panoul de Formatare Åi vÄ explicÄ cum sÄ navigaÅ£i printre diferitele panouri.</p>
+
+<p>Cu ajutorul InterfeÅ£ei Bibliotecarului puteÅ£i configura cum se &icirc;nfÄÅ£iÅeazÄ colecÅ£ia utilizatorului. OpÅ£iunile de configurare sunt &icirc;mpÄrÅ£ite &icirc;n secÅ£iuni, fiecare asociatÄ cu un tip diferit de particularizare. </p>
+
+<p>&Icirc;n partea st&acirc;ngÄ este o listÄ de previzualizÄri iar &icirc;n partea dreaptÄ sunt elementele de control asociate cu fiecare dintre parametri. Pentru a edita un parametru, apÄsaÈi pe numele acestuia din listÄ.</p>
+
+<p>Sub lista parametrilor existÄ un buton numit &bdquo;Previzualizarea ColecÅ£iilor&rdquo;. ModificÄrile efectuate &icirc;n panoul de Formatare nu necesitÄ o reconstrucÅ£ie a colecÅ£iei, astfel cÄ pot fi previzualizate imediat. Oricum, colecÅ£ia tebuie sÄ fi fost construitÄ cel puÅ£in o datÄ pentru a fi permisÄ previzualizarea.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/thegatherview.htm
===================================================================
--- main/tags/2.83/gli/help/ro/thegatherview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/thegatherview.htm	(revision 21123)
@@ -0,0 +1,34 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thegatherview"><font size="5" face="Verdana"><strong>4.1: Panoul de Colectare</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>AceastÄ secÅ£iune introduce zona de Colectare folositÄ pentru a selecta care fiÅiere sÄ fie incluse &icirc;n colecÅ£ia construitÄ. InterfaÅ£a Bibliotecarului porneÅte cu zona de Colectare. Pentru a se &icirc;ntoarce la acest panou, apÄsaÅ£i pe opÅ£iunea "Str&acirc;nge  " direct mai jos de bara de meniu.</p>
+
+<p>Cele douÄ zone mari denumite &bdquo;SpaÅ£iu de Lucru&rdquo; Åi &bdquo;ColecÅ£ie&rdquo; sunt utilizate pentru a muta fiÅierele &icirc;n cadrul colecÅ£iei proprii. Acestea conÅ£in &bdquo;arbori de fiÅiere&rdquo; care reprezintÄ fiÅiere Åi directoare.</p>
+
+<p>SelectaÅ£i un element din arbore prin apÄsarea pe acesta. (ExistÄ Åi alte cÄi; vezi mai jos). DaÅ£i dublu-click pe un director, sau un singur click pe simbolul de deschidere de l&acirc;ngÄ, pentru a extinde (sau constr&acirc;nge) conÅ£inutul sÄu. ApÄsaÅ£i dublu-click pe un fiÅier (sau click dreapta Åi selectaÅ£i "Deschide &icirc;ntr-un program extern  ") pentru a-l deschide folosindu-se programul de aplicaÅ£ie asociate (vezi <a href="fileassociations.htm">Asocierile fiÅierelor</a>).</p>
+
+<p>Arborele fiÅierelor din SpaÅ£iul de Lucru aratÄ sursele de date disponibile InterfeÅ£ei Bibliotecarului -- sistemul local de fiÅiere (fiind incluse hard discul Åi CD/DVD-ROM-urile), conÅ£inutul colecÅ£iilor Greenstone deja existente Åi zona de pre&icirc;ncÄrcare (cache) a fiÅierelor descÄrcate. Aceste fiÅiere pot fi copiate Åi vizualizate, dar nu pot fi mutate, Återse sau editate cu excepÅ£ia celor descÄrcate, care pot fi Återse. PuteÅ£i naviga &icirc;n acest spaÅ£iu pentru a cÄuta fiÅierele dorite a fi incluse &icirc;n colecÅ£ie.</p>
+
+<p>Arborele ColecÅ£iei reprezintÄ conÅ£inutul colecÅ£iei p&acirc;nÄ &icirc;n acest moment. IniÅ£ial acesta este nepopulat.</p>
+
+<p>Se pot redimensiona spaÅ£iile prin poziÅ£ionarea cursorului mouseului peste bara gri care separÄ arborele (&icirc;n acest moment se schimbÄ forma cursorului) Åi se trage.</p>
+
+<p>La partea inferioarÄ a ferestrei existÄ o zonÄ de stare care aratÄ progresul acÅ£iunilor implic&acirc;nd fiÅierele (copiere, mutare Åi Återgere). Acestea pot sÄ ia ceva timp pentru a fi &icirc;ncheiate.
+Butonul &bdquo;Stop&rdquo; opreÅte orice acÅ£iune care se desfÄÅoarÄ &icirc;n mod curent.</p>
+
+<p>DouÄ butoane mari ocupÄ colÅ£ul dreapta jos al ecranului. &bdquo;Director Nou&rdquo; av&acirc;nd imaginea unui director are ca efect crearea de noi directoare (vezi <a href="creatingfolders.htm">Crearea Directoarelor</a>). &bdquo;Återge&rdquo; av&acirc;nd imaginea unui coÅ de gunoi, eliminÄ fiÅierele. ApÄs&acirc;nd pe butonul Återge va avea ca efect eliminarea oricÄror fiÅiere selectate din arborele de fiÅiere al colecÅ£iei. Alternativ, fiÅierele pot fi Återse prin tragerea acestora peste butonul Återge.</p>
+
+<p>Pentru a selecta c&acirc;teva elemente &icirc;n serie, se selecteazÄ pe primul, se Å£ine apÄsatÄ tasta [Shift] Åi se apasÄ pe ultimul - selecÅ£ia va considera toate elementele dintre. Selectarea de elemente non-secvenÅ£iale se Å£ine apÄsatÄ tasta [Ctrl] &icirc;n timp ce se face selecÅ£ia. Aceste douÄ metode sunt folosite &icirc;mpreunÄ pentru a selecta grupuri de elemente neadiacente.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/themirrorview.htm
===================================================================
--- main/tags/2.83/gli/help/ro/themirrorview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/themirrorview.htm	(revision 21123)
@@ -0,0 +1,41 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="themirrorview"><font size="5" face="Verdana"><strong>3.1: Panoul de DescÄrcare</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>AceastÄ secÅ£iune descrie cum se poate configura o operaÅ£iune de descÄrcare Åi controlul procesului de download. AccesaÅ£i panoul "Download  " prin accesarea opÅ£iunii. JumÄtatea superioarÄ a ecranului aratÄ instrumentele de control ale descÄrcÄrii. JumÄtatea inferioarÄ, iniÅ£ial, este goalÄ, dar va prezenta o listÄ de operaÅ£iuni de descÄrcare, care, fie sunt &icirc;n aÅteptare, fie sunt &icirc;ncheiate. </p>
+
+<p>ExistÄ c&acirc;teva protocoale care pot fi folosite pentru descÄrcarea &icirc;nregistrÄrilor, iar aceste sunt afiÅate &icirc;n partea st&acirc;ngÄ sus.</p>
+
+<p>
+<b>Web:</b> descarcÄ pagini web Åi fiÅiere via HTTP Åi FTP.</p>
+
+<p>
+<b>OAI:</b> descarcÄ &icirc;nregistrÄri de metadate dintr-un server OAI (Open Archive Initiative).</p>
+
+<p>
+<b>Z3950:</b> descarcÄ de la un server &icirc;nregistrÄrile Z3950 MARC care corespund unor anume criterii de cÄutare.</p>
+
+<p>
+<b>SRW:</b> descarcÄ &icirc;nregistrÄri MARCXML care se potrivesc cu un anumit criteriu de cÄutare de la un server SRW.</p>
+
+<p>SelectaÅ£i tipul corespunzÄtor prin alegerea acestuia din lista de pe partea st&acirc;ngÄ. Partea dreaptÄ prezintÄ opÅ£iunile disponibile pentru tipul de descÄrcare selectat. Pentru a afla ce face o opÅ£iune, poziÅ£ionaÅ£i cursorul deasupra acesteia: va apÄrea o fereastrÄ cu explicaÅ£iile referitoare la opÅ£iunea &icirc;n cauzÄ. Unele dintre opÅ£iuni sunt &bdquo;opÅ£ionale&rdquo;: acestea sunt &icirc;nsoÅ£ite de o cÄsuÅ£Ä de validare care trebuie bifatÄ pentru ca opÅ£iunea sÄ fie folositÄ. Unele dintre ele sunt &bdquo;necesare&rdquo;: acestea nu au o cÄsuÅ£Ä de validare Åi trebuie introdusÄ o valoare &icirc;nainte de a porni descÄrcarea.</p>
+
+<p>Din moment ce configurarea a fost fÄcutÄ, apÄsaÅ£i pe "InformaÅ£ii privind serverul  " pentru a verifica conexiunea la server Åi pentru a vedea informaÅ£ii generale despre paginÄ sau server sau puteÅ£i apÄsa pe "Download  " pentru a &icirc;ncepe descÄrcarea.</p>
+
+<p>ExistÄ douÄ butoane: &bdquo;PreferinÅ£e&rdquo;, care se leagÄ la secÅ£iunea conexiuni a PreferinÅ£elor, de unde setÄrile de proxy pot fi editate Åi &bdquo;CurÄÅ£a Cache&rdquo;, care Återge toate fiÅierele anterior descÄrcate. Va fi nevoie sÄ fie setatÄ informaÅ£ia privind proxy-ul, dacÄ se foloseÅte un server proxy pentru conectarea la Internet. DacÄ este necesarÄ autentificarea atunci c&acirc;nd este efectuatÄ o descÄrcare, serverul proxy va cere detaliile de autentificare. InterfaÅ£a Bibliotecarului nu stocheazÄ parole &icirc;ntre sesiuni.</p>
+
+<p>FiÅierele sunt descÄrcate &icirc;ntr-un director numit "FiÅiere downloadate  " (prezent doar atunci c&acirc;nd opÅ£iunea de descÄrcare este activÄ) Åi poate fi utilizat &icirc;n oricare dintre colecÅ£ii. FiÅierele sunt numite dupÄ URL-ul complet (pentru descÄrcÄrile de pe web) sau o combinaÅ£ie de URL Åi valori ale unor opÅ£iuni (pentru alte tipuri de descÄrcÄri). Pentru fiecare host este creat c&acirc;te un director urmat de altele pentru fiecare parte a cÄii. Acest lucru se face pentru a se asigura cÄ fiecare fiÅier este distinct.</p>
+
+<p>Lista de descÄrcÄri are o intrare pentru fiecare operaÅ£iune deja &icirc;ncheiatÄ. Fiecare intrare are o zonÄ de text care oferÄ detaliile unei operaÅ£iuni &icirc;mpreunÄ cu bara de progres care aratÄ activitatea curentÄ. &Icirc;n partea st&acirc;ngÄ a fiecÄrei intrÄri apar trei butoane. &bdquo;PauzÄ&rdquo; este utilizat pentru a opri temporar o operaÅ£iune. &bdquo;Vezi Jurnalul&rdquo; deschide o fereastrÄ care prezintÄ conÅ£inutul fiÅierului descÄrcat. &bdquo;&Icirc;nchide&rdquo; opreÅte descÄrcarea Åi scoate operaÅ£iunea de pe listÄ.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/translatetext.htm
===================================================================
--- main/tags/2.83/gli/help/ro/translatetext.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/translatetext.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="translatetext"><font size="5" face="Verdana"><strong>8.5: Tradu textul</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>AceastÄ secÅ£iune descrie panoul de traducere prin care pot fi traduse fragmentele de text pentru pÄrÈile interfeÅ£ei colecÅ£iei &icirc;n alte limbi. Sub secÈiunea &bdquo;Format&rdquo;, apÄsaÅ£i pe &bdquo;Tradu text&rdquo;.</p>
+
+<p>&Icirc;n primul r&acirc;nd, alegeÅ£i o intrare din lista de &bdquo;Caracteristici&rdquo;. Stringurile specifice de limbÄ asociate cu aceastÄ caracteristicÄ apar mai jos. UtilizaÅ£i lista derulantÄ &bdquo;Limba traducerii&rdquo; pentru a selecta limba doritÄ Åi scrie textul tradus &icirc;n zona de text  aferentÄ, care vizeazÄ &bdquo;Fragmentul de Text IniÅ£ial&rdquo;. ApÄsaÅ£i pe &bdquo;AdaugÄ Traducerea&rdquo; atunci c&acirc;nd aÅ£i terminat.</p>
+
+<p>Pentru a elimina o traducere existentÄ, selectaÅ£i-o &icirc;n tabelul &bdquo;Traduceri &icirc;n uz&rdquo; Åi apÄsaÅ£i pe &bdquo;EliminÄ Traducerea&rdquo;.</p>
+
+<p>Pentru a edita o traducere, selectaÅ£i-o, editaÅ£i zona &bdquo;Textul Tradus&rdquo; Åi apÄsaÅ£i pe &bdquo;&Icirc;nlocuieÅte Traducerea&rdquo;.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/updatingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/ro/updatingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/updatingmetadata.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="updatingmetadata"><font size="5" face="Verdana"><strong>5.5: Editarea sau Eliminarea Metadatelor</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Pentru a edita sau elimina o parte de metadate, mai &icirc;nt&acirc;i selectaÅ£i fiÅierul corespunzÄtor Åi apoi valoarea metadatelor din tabel. EditaÅ£i c&acirc;mpul valorii Återg&acirc;nd tot textul dacÄ se doreÅte eliminarea metadatelor.</p>
+
+<p>Procesul este identic ca atunci c&acirc;nd se actualizeazÄ un director av&acirc;nd subdirectoare sau fiÅiere multiple, dar metadatele pot fi actualizate doar dacÄ sunt aceleaÅi pentru toate fiÅierele/directoarele selectate.</p>
+
+<p>Arborele valorilor aratÄ toate valorile curent atribuite, precum Åi toate valorile anterioare pentru sesiunea curentÄ, astfel cÄ modificarea sau Återgerea valorilor vor rÄm&acirc;ne &icirc;n arbore. &Icirc;nchiderea colecÅ£iei Åi redeschiderea acesteia va conduce la Återgerea tuturor valorilor care nu mai sunt atribuite.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ro/xcollectionsearching.htm
===================================================================
--- main/tags/2.83/gli/help/ro/xcollectionsearching.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ro/xcollectionsearching.htm	(revision 21123)
@@ -0,0 +1,24 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="xcollectionsearching"><font size="5" face="Verdana"><strong>8.6: CÄutarea prin multiple colecÅ£ii</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Greenstone poate cÄuta prin mai multe colecÅ£ii ca Åi cum ar fi una.
+Acest lucru se face prin specificare unei liste a altor colecÅ£ii pentru a fi interogate dimpreunÄ cu cea curentÄ. Sub tabul &bdquo;Format&rdquo;, apÄsaÅ£i pe &bdquo;CÄutarea prin multiple colecÅ£ii&rdquo;</p>
+
+<p>CÄutarea multi-colecÅ£ie aratÄ o listÄ a colecÅ£iilor disponibile. ColecÅ£ia curentÄ este bifatÄ Åi nu poate fi deselectatÄ. Pentru a adÄuga altÄ colecÅ£ie pentru a fi cÄutatÄ &icirc;n paralel, selectaÅ£i-o din listÄ (mai selectaÅ£i o datÄ pentru a o deselecta). DacÄ este selectatÄ doar o singurÄ colecÅ£ie o cÄutare multi-colecÅ£ie nu poate fi efectuatÄ.</p>
+
+<p>DacÄ colecÅ£iile individuale nu au aceleaÅi indexuri (incluse fiind partiÅ£iile subcolecÅ£iilor Åi partiÅ£iile de limbÄ), cÄutarea multi-colecÅ£ie nu va funcÅ£iona corect. Utilizatorul va fi capabil doar sÄ caute folosind indexul comun tuturor colecÅ£iilor.</p>
+
+<p>Pentru mai multe detalii vedeÅ£i, vÄ rugÄm, Capitolul 1 a Ghidului Dezvoltatorului Greenstone.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/addingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/ru/addingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/addingfiles.htm	(revision 21123)
@@ -0,0 +1,44 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="addingfiles"><font size="5" face="Verdana"><strong>4.4: ÐÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÐµ ÑÐ°Ð¹Ð»ÐŸÐ²</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð€Ð°Ð¹Ð»Ñ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÐœÑ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐŒÑÑÑÑ Ð¿ÑÑÐµÐŒ ÐžÑ
+ Ð¿ÐµÑÐµÑÑÐ³ÐžÐ²Ð°ÐœÐžÑ Ðž ÐŸÑÐ¿ÑÑÐºÐ°ÐœÐžÑ. Ð£ÐºÐ°Ð·Ð°ÑÐµÐ»Ñ ÐŒÑÑÐž ÐŸÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÐµÑÑÑ ÐœÐ°ÐŽ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐŒ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐŒ ÐžÐ»Ðž, ÐµÑÐ»Ðž Ð²ÑÐ±ÐžÑÐ°ÐµÑÑÑ Ð±ÐŸÐ»ÑÑÐµ,ÑÐµÐŒ ÐŸÐŽÐžÐœ,ÐœÐ°ÐŽ ÐœÐµÑÐºÐŸÐ»ÑÐºÐžÐŒÐž. ÐÑÐŸÐ¿ÑÑÑÐžÑÐµ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐ¹ ÑÐ°Ð¹Ð» Ð² ÐÐµÑÐµÐ²ÐŸ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÑÐŸÐ±Ñ Ð·ÐŽÐµÑÑ ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÑÑ ÑÐ°Ð¹Ð»Ñ (ÐµÑÐ»Ðž ÐžÑÑÐŸÑÐœÐžÐºÐŸÐŒ Ð±ÑÐ»ÐŸ ÐÐµÑÐµÐ²ÐŸ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž).</p>
+
+<p>ÐÑÐž ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÐœÐžÐž ÐŒÐœÐŸÐ¶ÐµÑÑÐ²ÐµÐœÐœÑÑ
+(ÑÐŸÑÑÐ°Ð²ÐœÑÑ
+) ÑÐ°Ð¹Ð»ÐŸÐ²,Ð²ÑÐµ ÐŸÐœÐž Ð¿ÐµÑÐµÐŒÐµÑÐ°ÑÑÑÑ Ð² ÑÐµÐ»ÐµÐ²ÑÑ Ð¿Ð°Ð¿ÐºÑ ÐœÐ° ÑÐŸÑ Ð¶Ðµ ÑÐ°ÐŒÑÐ¹ ÑÑÐŸÐ²ÐµÐœÑ,ÐœÐµÐ·Ð°Ð²ÐžÑÐžÐŒÐŸ ÐŸÑ ÑÑÑÑÐºÑÑÑÑ Ð¿Ð°Ð¿ÐºÐž,ÐºÐŸÑÐŸÑÑÑ ÐŸÐœÐž Ð·Ð°ÐœÐžÐŒÐ°Ð»Ðž Ð¿ÐµÑÐ²ÐŸÐœÐ°ÑÐ°Ð»ÑÐœÐŸ. ÐÐŸÐ³ÐŽÐ° ÐÑ ÐºÐŸÐ¿ÐžÑÑÐµÑÐµ Ð²ÑÐŸÑÐŸÐ¹ ÑÐ°Ð¹Ð» Ñ ÑÐµÐŒ Ð¶Ðµ ÑÐ°ÐŒÑÐŒ ÐžÐŒÐµÐœÐµÐŒ Ð² ÑÑ Ð¶Ðµ ÑÐ°ÐŒÑÑ Ð¿Ð°Ð¿ÐºÑ, ÐÐ°Ñ Ð·Ð°Ð¿ÑÐŸÑÑÑ, Ð·Ð°ÑÐµÑÐµÑÑ Ð»Ðž Ð¿ÐµÑÐ²ÑÐ¹. ÐÑÐ²ÐµÑÑÑÐµ "ÐÐµÑ" Ðž ÑÑÐŸÑ ÑÐ°Ð¹Ð» ÐœÐµ Ð±ÑÐŽÐµÑ ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÑÑÑÑ,ÐœÐŸ ÐŽÑÑÐ³ÐžÐµ Ð±ÑÐŽÑÑ. Ð§ÑÐŸÐ±Ñ ÐŸÑÐŒÐµÐœÐžÑÑ Ð²ÑÐµ ÐŸÑÑÐ°ÑÑÐžÐµÑÑ ÐŽÐµÐ¹ÑÑÐ²ÐžÑ Ð¿ÐŸ ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÐœÐžÑ,ÑÐµÐ»ÐºÐœÐžÑÐµ ÐœÐ° ÐºÐœÐŸÐ¿ÐºÐµ "Ð¡ÑÐŸÐ¿".   </p>
+
+<p>Ð¢ÐŸÐ»ÑÐºÐŸ "ÑÐ°ÐŒÑÐµ Ð²ÑÑÐŸÐºÐžÐµ"ÐžÐ· ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÑ
+ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² Ð±ÑÐŽÑÑ Ð¿ÐµÑÐµÐŒÐµÑÐµÐœÑ. ÐÐ°Ð¿ÐºÐ° Ð²ÑÑÐµ, ÑÐµÐŒ ÐµÑ Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐŽÐœÑÐµ. ÐÑ ÐœÐµ ÐŒÐŸÐ¶ÐµÑÐµ Ð²ÑÐ±ÑÐ°ÑÑ ÑÐ°Ð¹Ð»Ñ Ð² Ð¿ÑÐµÐŽÐµÐ»Ð°Ñ
+ Ð¿Ð°Ð¿ÐºÐž,Ð° ÑÐ°ÐºÐ¶Ðµ ÑÐ°ÐŒÑ Ð¿Ð°Ð¿ÐºÑ ÐœÐµÐ¿ÐŸÑÑÐµÐŽÑÑÐ²ÐµÐœÐœÐŸ. </p>
+
+<p>ÐÐŸÐ³ÐŽÐ° ÐÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÐµÑÐµ ÑÐ°Ð¹Ð», ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ Ð¿ÑÐŸÐ²ÐŸÐŽÐžÑ Ð¿ÐŸÐžÑÐº Ð² ÐžÑÑ
+ÐŸÐŽÐœÑÑ
+ Ð¿Ð°Ð¿ÐºÐ°Ñ
+ Ð²ÑÐ¿ÐŸÐŒÐŸÐ³Ð°ÑÐµÐ»ÑÐœÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ², ÑÐŸÐŽÐµÑÐ¶Ð°ÑÐžÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ Ðº ÐŽÐŸÐ±Ð°Ð²Ð»ÑÐµÐŒÐŸÐŒÑ ÑÐ°Ð¹Ð»Ñ,Ðž ÐµÑÐ»Ðž ÐŸÐœ ÐœÐ°Ñ
+ÐŸÐŽÐžÑ ÐµÐ³ÐŸ,ÑÐŸ ÐœÐ°ÑÐžÐœÐ°ÐµÑ ÐžÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÑÑÐž ÐŽÐ°ÐœÐœÑÐµ. ÐÑÐ»Ðž Ð¿ÑÐŸÑÐµÑÑ Ð¿ÑÐŸÐŽÐŸÐ»Ð¶Ð°ÐµÑÑÑ,ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð±ÑÑÑ Ð·Ð°Ð¿ÑÐŸÑÐµÐœÑ (Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ°Ð·) ÐŸ ÐŽÐŸÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»ÑÐœÐŸÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž,ÑÑÐŸÐ±Ñ ÐŽÐŸÑÑÐžÑÑ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÑ ÐžÐŒÐ¿ÐŸÑÑÐžÑÑÐµÐŒÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ñ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒÐž,ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœÐœÑÐŒÐž Ð² ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. Ð­ÑÐŸÑ Ð¿ÑÐŸÑÐµÑÑ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÐŒÐœÐŸÐ³ÐžÐµ ÑÐ°Ð·Ð»ÐžÑÐœÑÐµ Ð·Ð°Ð¿ÑÐŸÑÑ, ÐŸÐ¿ÐžÑÐ°ÐœÐœÑÐµ Ð² ÑÐ°Ð·ÐŽÐµÐ»Ðµ<a href="importingpreviouslyassignedmetadata.htm">ÐÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</a>.ÐÐ»Ñ Ð±ÐŸÐ»ÐµÐµ ÐŽÐµÑÐ°Ð»ÑÐœÐŸÐ³ÐŸ ÐŸÐ±ÑÑÑÐœÐµÐœÐžÑ Ð°ÑÑÐŸÑÐžÐžÑÐŸÐ²Ð°ÐœÐœÑÑ
+ Ñ ÑÐ°Ð¹Ð»Ð°ÐŒÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÑÐžÑÐ°Ð¹ÑÐµ ÐÐ»Ð°Ð²Ñ 2 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone - ÐÐ·Ð²Ð»ÐµÑÐµÐœÐžÐµ Ð±ÐŸÐ»ÑÑÐžÐœÑÑÐ²Ð° Ð²Ð°ÑÐžÑ
+ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ².  </p>
+
+<p>Ð¢Ð°ÐºÐ¶Ðµ ÐžÐŒÐµÐµÑÑÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ "ÐŒÐ°ÐºÐµÑÐ°" ÐŽÐŸÐºÑÐŒÐµÐœÑÐ° Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð¿ÑÐ°Ð²ÑÐŒ ÑÐµÐ»ÑÐºÐŸÐŒ Ð¿ÐŸ ÐÐµÑÐµÐ²Ñ ÐÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÐžÐ»Ðž Ð¿Ð°Ð¿ÐºÐž Ðž Ð²ÑÐ±ÑÐ°Ð² "ÐÐŸÐ²ÑÐ¹ ÐŽÐŸÐºÑÐŒÐµÐœÑ-ÐŒÐ°ÐºÐµÑ". ÐÑÐŽÐµÑ ÑÐŸÐ·ÐŽÐ°Ðœ ÐœÐŸÐ²ÑÐ¹ Ð¿ÑÑÑÐŸÐ¹ ÑÐ°Ð¹Ð», ÐºÐŸÑÐŸÑÐŸÐŒÑ ÐŒÐŸÐ¶ÐœÐŸ Ð¿ÑÐžÑÐ²ÐŸÐžÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ. Ð€Ð°Ð¹Ð» ÐŒÐŸÐ¶ÐœÐŸ Ð·Ð°ÐŒÐµÐœÐžÑÑ "ÐœÐ°ÑÑÐŸÑÑÐžÐŒ" ÑÐ°Ð¹Ð»ÐŸÐŒ Ð¿ÐŸÐ·Ð¶Ðµ.  </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/addingpreviouslydefinedmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/ru/addingpreviouslydefinedmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/addingpreviouslydefinedmetadata.htm	(revision 21123)
@@ -0,0 +1,24 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="addingpreviouslydefinedmetadata"><font size="5" face="Verdana"><strong>5.4: ÐÐŸÐ±Ð°Ð²Ð»ÐœÐžÐµ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð§ÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ, ÐºÐŸÑÐŸÑÑÐµ ÑÐŸÐŽÐµÑÐ¶Ð°Ñ ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ, ÑÐœÐ°ÑÐ°Ð»Ð° Ð²ÑÐ±ÐµÑÐžÑÐµ ÑÐ°Ð¹Ð», Ð·Ð°ÑÐµÐŒ ÑÑÐµÐ±ÑÐµÐŒÐŸÐµ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐžÐ· ÐŽÐµÑÐµÐ²Ð° Ð·ÐœÐ°ÑÐµÐœÐžÐ¹, ÑÐ°ÑÑÐžÑÑÑ Ð¿Ð°Ð¿ÐºÐž ÐžÐµÑÐ°ÑÑ
+ÐžÐž Ð¿ÐŸ ÐŒÐµÑÐµ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸÑÑÐž. ÐÑÐ±ÑÐ°ÐœÐœÐŸÐµ Ð·ÐœÐ°ÑÐµÐœÐžÐµ Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž Ð¿ÐŸÑÐ²Ð»ÑÐµÑÑÑ Ð² Ð¿ÐŸÐ»Ðµ ÑÐµÐºÑÑÐ° (Ð°Ð»ÑÑÐµÑÐœÐ°ÑÐžÐ²ÐœÐŸ ÐŒÐŸÐ¶ÐœÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ Ð°Ð²ÑÐŸÐ²ÑÐ±ÐŸÑ Ð² ÐŽÐµÑÐµÐ²Ðµ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹ Ðž ÑÑÐµÐŽÑÑÐ² Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐŸÐ³ÐŸ Ð·Ð°Ð²ÐµÑÑÐµÐœÐžÑ). </p>
+
+<p>ÐÑÐŸÑÐµÑÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ñ ÑÐ¶Ðµ ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐŒÐž Ð·ÐœÐ°ÑÐµÐœÐžÑÐŒÐž Ðº Ð¿Ð°Ð¿ÐºÐ°ÐŒ ÐžÐ»Ðž ÐŒÐœÐŸÐ¶ÐµÑÑÐ²Ñ ÑÐ°Ð¹Ð»ÐŸÐ² ÑÐ°ÐºÐŸÐ¹ Ð¶Ðµ.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/appendingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/ru/appendingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/appendingmetadata.htm	(revision 21123)
@@ -0,0 +1,35 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="appendingmetadata"><font size="5" face="Verdana"><strong>5.3: ÐÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð¢ÐµÐ¿ÐµÑÑ ÐŒÑ ÐŽÐŸÐ±Ð°Ð²ÐžÐŒ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ - Ðž ÑÐ°ÐŒ ÑÐ»ÐµÐŒÐµÐœÑ,Ðž ÐµÐ³ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÑ - Ðº ÑÐ°Ð¹Ð»Ñ. Ð¡ÐœÐ°ÑÐ°Ð»Ð° Ð²ÑÐ±ÐµÑÐµÐŒ ÑÐ°Ð¹Ð» ÐžÐ· ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐ³ÐŸ ÐŽÐµÑÐµÐ²Ð° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.Ð¢Ð°ÐºÐŸÐµ ÐŽÐµÐ¹ÑÑÐ²ÐžÐµ Ð²ÑÐ·ÑÐ²Ð°ÐµÑ Ð¿ÐŸÑÐ²Ð»ÐµÐœÐžÐµ Ð»ÑÐ±ÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+,Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ ÑÐ²ÑÐ·Ð°ÐœÐœÑÑ
+ Ñ ÑÑÐžÐŒ ÑÐ°Ð¹Ð»ÐŸÐŒ,Ð² ÑÐ°Ð±Ð»ÐžÑÐµ ÑÐ¿ÑÐ°Ð²Ð°.</p>
+
+<p>ÐÐ°ÑÐµÐŒ Ð²ÑÐ±ÐµÑÐµÐŒ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+,ÐºÐŸÑÐŸÑÑÐ¹ Ñ
+ÐŸÑÐžÐŒ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ,Ð¿ÑÑÐµÐŒ ÑÐµÐ»ÑÐºÐ° ÑÑÐŽÐŸÐŒ Ñ ÐœÐžÐŒ Ð² ÑÐ°Ð±Ð»ÐžÑÐµ. </p>
+
+<p>ÐÐ¿ÐžÑÐžÑÐµ ÑÑÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐµ Ð² Ð¿ÐŸÐ»Ðµ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹. ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ Ð·ÐœÐ°Ðº "|", ÑÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÑÑÑÑÐºÑÑÑÑ, ÐºÐ°Ðº ÐŸÐ¿ÐžÑÐ°ÐœÐŸ Ð² ÑÐµÐºÑÐžÐž <a href="theenrichview.htm">ÐÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐŸÐ±ÐŸÐ³Ð°ÑÐµÐœÐžÑ</a>. ÐÐ°Ð¶Ð°Ð² ÐºÐ»Ð°Ð²ÐžÑÐž [ÐÐ²ÐµÑÑ
+] ÐžÐ»Ðž [ÐÐœÐžÐ·], ÐÑ ÑÐŒÐŸÐ¶ÐµÑÐµ Ð²ÑÐ±ÑÐ°ÑÑ ÑÑÐµÐ±ÑÐµÐŒÐŸÐµ Ð·ÐœÐ°ÑÐµÐœÐžÐµ. ÐÐ°Ð¶Ð°Ð² ÐºÐ»Ð°Ð²ÐžÑÑ [Enter], ÐÑ ÑÐŒÐŸÐ¶ÐµÑÐµ ÑÐŸÑ
+ÑÐ°ÐœÐžÑÑ Ð²ÑÐ±ÑÐ°ÐœÐœÐŸÐµ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ðž ÑÐŸÐ·ÐŽÐ°ÑÑ ÐœÐŸÐ²ÐŸÐµ ÐœÐµÐ·Ð°Ð¿ÐŸÐ»ÐœÐµÐœÐœÐŸÐµ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐŽÐ»Ñ ÑÐ»ÐµÐŒÐµÐœÑÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, Ð¿ÐŸÐ·Ð²ÐŸÐ»ÐžÐ² ÐÐ°ÐŒ ÐŸÐ¿ÑÐµÐŽÐžÐ»ÐžÑÑ ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹ ÐŽÐ»Ñ ÐŸÐŽÐœÐŸÐ³ÐŸ ÑÐ»ÐµÐŒÐµÐœÑÐ°.</p>
+
+<p>ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÑÐ°ÐºÐ¶Ðµ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ðº Ð¿Ð°Ð¿ÐºÐµ ÐžÐ»Ðž ÑÑÐ°Ð·Ñ Ðº ÐœÐµÐºÐŸÑÐŸÑÐŸÐŒÑ ÐŒÐœÐŸÐ¶ÐµÑÑÐ²Ñ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ². Ð­ÑÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÐµÑÑÑ ÐºÐŸ Ð²ÑÐµÐŒ ÑÐ°Ð¹Ð»Ð°ÐŒ Ð² Ð¿ÑÐµÐŽÐµÐ»Ð°Ñ
+ Ð¿Ð°Ð¿ÐºÐž ÐžÐ»Ðž Ðº ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐŒ Ðž Ðº Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐŽÐœÑÐŒ Ð¿Ð°Ð¿ÐºÐ°ÐŒ. ÐÐŒÐµÐ¹ÑÐµ Ð² Ð²ÐžÐŽÑ,ÑÑÐŸ ÐµÑÐ»Ðž ÐÑ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÐ»Ðž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ðº Ð¿Ð°Ð¿ÐºÐµ, ÑÐŸ Ð»ÑÐ±ÑÐµ ÐœÐŸÐ²ÑÐµ ÑÐ°Ð¹Ð»Ñ Ð² ÐœÐµÐ¹ Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž ÑÐœÐ°ÑÐ»ÐµÐŽÑÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐžÐ· ÑÑÐŸÐ¹ Ð¿Ð°Ð¿ÐºÐž.  </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/assignlanguages.htm
===================================================================
--- main/tags/2.83/gli/help/ru/assignlanguages.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/assignlanguages.htm	(revision 21123)
@@ -0,0 +1,35 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="assignlanguages"><font size="5" face="Verdana"><strong>6.4.3: ÐÐ°ÐŽÐ°ÐœÐœÑÐµ ÑÐ·ÑÐºÐž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŽÐµÑÐ°Ð»ÐžÐ·ÐžÑÐŸÐ²Ð°ÐœÐŸ,ÐºÐ°Ðº ÐŸÐ³ÑÐ°ÐœÐžÑÐžÑÑ ÐžÐœÐŽÐµÐºÑÑ Ð¿ÐŸÐžÑÐºÐ° ÑÐ¿ÐµÑÐžÑÐžÑÐµÑÐºÐžÐŒÐž ÑÐ·ÑÐºÐ°ÐŒÐž. ÐÑ ÑÐŸÐ²ÐµÑÑÐ°ÐµÑÐµ ÑÑÐŸ Ð¿ÑÐž ÑÐµÐ³ÐµÐœÐµÑÐžÑÐŸÐ²Ð°ÐœÐžÐž ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ,ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ ÐºÐ»Ð°Ð²ÐžÑÑ "ÐÐ°ÐŽÐ°ÐœÐœÑÐµ ÑÐ·ÑÐºÐž" Ð² Ð¿ÐµÑÐµÑÐœÐµ "ÐÐœÐŽÐµÐºÑÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ".</p>
+
+<p>Ð¯Ð·ÑÐºÐŸÐ²ÑÐµ ÑÐ°Ð·ÐŽÐµÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ, ÑÑÐŸÐ±Ñ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ, ÐºÐ°ÐºÐžÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ ÐžÐŒÐµÑÑÑÑ Ð² ÑÐºÐ°Ð·Ð°ÐœÐœÑÑ
+ ÑÐ·ÑÐºÐ°Ñ
+, Ðž Ð¿ÐŸÑÑÐŸÐŒÑ ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ Ð²ÐºÐ»ÑÑÐµÐœÑ Ð² ÑÐ°Ð·ÐŽÐµÐ». ÐÑÐžÐœÑÑÐŸÑÐœ Ð³ÐµÐœÐµÑÐžÑÑÐµÑ "ex.Language" ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐŽÐ»Ñ Ð±ÐŸÐ»ÑÑÐžÐœÑÑÐ²Ð° ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ², Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ ÑÑÐŸ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐŽÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ. ÐÐŽÐœÐ°ÐºÐŸ, ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐŸ ÐœÐ° ÐŽÑÑÐ³ÐŸÐ¹ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÐ° "ÐÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÑÐ·ÑÐºÐ°:".</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐœÐŸÐ²ÑÐ¹ ÑÐ·ÑÐº ÐŽÐ»Ñ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÐºÐ»Ð°Ð²ÐžÑÑ "ÐÐ°ÐŽÐ°ÐœÐœÑÐµ ÑÐ·ÑÐºÐž" ÐŽÐ»Ñ Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÑ ÐžÐœÐŽÐµÐºÑÐ° ÐŽÐ»Ñ ÑÑÐŸÐ³ÐŸ. ÐÑÐ±ÐµÑÐžÑÐµ Ð¶ÐµÐ»Ð°ÑÐµÐ»ÑÐœÑÐ¹ ÑÐ·ÑÐº ÐžÐ· ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐ³ÐŸ ÑÐ¿ÐžÑÐºÐ° "Ð¯Ð·ÑÐºÐž ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ" Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐ·ÑÐº"</p>
+
+<p>ÐÐ»Ñ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ ÑÑÑÐµÑÑÐ²ÑÑÑÐµÐ³ÐŸ ÑÐ°Ð·ÐŽÐµÐ»Ð° Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° "ÐÑÐžÑÐ²ÐŸÐµÐœÐœÑÐµ ÑÐ·ÑÐºÐŸÐ²ÑÐµ ÑÐ°Ð·ÐŽÐµÐ»Ñ", ÐžÐ·ÐŒÐµÐœÐžÑÐµ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐµ ÑÐ·ÑÐºÐž Ð² ÑÐ¿ÐžÑÐºÐµ "Ð¯Ð·ÑÐºÐž ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ" ÐœÐžÐ¶Ðµ, Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐ°ÐŒÐµÐœÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ»".  </p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÑÐ·ÑÐº,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° "ÐÑÐ±ÐŸÑÑ ÑÐ·ÑÐºÐ°" Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÐ·ÑÐº".</p>
+
+<p>ÐÐŸÑÑÐŽÐŸÐº, Ð² ÐºÐŸÑÐŸÑÐŸÐŒ ÐžÐœÐŽÐµÐºÑÑ ÑÐºÐ°Ð·ÑÐ²Ð°ÑÑÑÑ Ð² ÑÐ¿ÐžÑÐºÐµ &laquo;ÐÑÐžÑÐ²ÐŸÐµÐœÐœÑÐµ ÐžÐœÐŽÐµÐºÑÑ&raquo; - ÑÑÐŸ ÑÐŸÑ Ð¿ÐŸÑÑÐŽÐŸÐº, Ð² ÐºÐŸÑÐŸÑÐŸÐŒ ÐŸÐœÐž Ð¿ÐŸÑÐ²Ð»ÑÑÑÑÑ ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ Ð¿ÐŸÐžÑÐºÐ°. ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÐºÐœÐŸÐ¿ÐºÐž "ÐÐ²ÐžÐ³Ð°ÑÑÑÑ Ð²Ð²ÐµÑÑ
+" Ðž "ÐÐ²ÐžÐ³Ð°ÑÑÑÑ Ð²ÐœÐžÐ·" ÐŽÐ»Ñ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ ÑÑÐŸÐ³ÐŸ Ð¿ÐŸÑÑÐŽÐºÐ°.</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÑÑÑÐ°ÐœÐŸÐ²ÐžÑÑ ÑÐ·ÑÐº Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÑÑÐ°ÐœÐŸÐ²ÐºÐ° Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ".</p>
+
+<p>ÐÐŒÐµÐœÐ°, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÑÐµ ÐŽÐ»Ñ ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐ³ÐŸ ÑÐ¿ÐžÑÐºÐ° ÐžÐœÐŽÐµÐºÑÐŸÐ² ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ Ð¿ÐŸÐžÑÐºÐ° ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐºÐ°Ð·Ð°ÐœÑ Ð² "ÐÐŸÐžÑÐº" ÑÐ°ÑÑÐž "Ð€ÐŸÑÐŒÐ°Ñ" Ð¿Ð°ÐœÐµÐ»Ðž, (ÑÐŒ. <a href="searchmetadatasettings.htm">ÐÐŸÐžÑÐº</a>).  </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/assignpartitions.htm
===================================================================
--- main/tags/2.83/gli/help/ru/assignpartitions.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/assignpartitions.htm	(revision 21123)
@@ -0,0 +1,29 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="assignpartitions"><font size="5" face="Verdana"><strong>6.4.2: ÐÐ°Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐŒÐµÑ Ð·Ð°ÐŽÐ°ÐœÐœÑÐ¹ ÑÐžÐ»ÑÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÐºÐ»Ð°Ð²ÐžÑÑ "ÐÐ°Ð·ÐœÐ°ÑÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ" ÐŽÐ»Ñ Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÑ ÐžÐœÐŽÐµÐºÑÐŸÐ² ÐŽÐ»Ñ ÑÑÐŸÐ³ÐŸ ÐžÐ»Ðž ÐŽÐ»Ñ Ð³ÑÑÐ¿Ð¿Ñ ÑÐžÐ»ÑÑÑÐŸÐ². ÐÑÐ±ÐµÑÐžÑÐµ Ð¶ÐµÐ»Ð°ÑÐµÐ»ÑÐœÑÐ¹ ÑÐžÐ»ÑÑÑ (ÐžÐ»Ðž ÑÐžÐ»ÑÑÑÑ) ÐžÐ· ÑÐ¿ÐžÑÐºÐ° "ÐÐ°ÐŽÐ°ÐœÐœÑÐµ ÑÐžÐ»ÑÑÑÑ ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž", Ð²Ð²ÐµÐŽÐžÑÐµ ÐžÐŒÑ ÐŽÐ»Ñ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ Ð² Ð¿ÐŸÐ»Ðµ "ÐÐŒÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ" Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐµ".</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÐžÐ·ÐŒÐµÐœÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ», Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ°, ÐžÐ·ÐŒÐµÐœÐžÑÐµ ÑÐžÐ»ÑÑÑÑ Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐ°ÐŒÐµÐœÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐµ".</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐµ,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐµ".</p>
+
+<p>ÐÐŸÑÑÐŽÐŸÐº, Ð² ÐºÐŸÑÐŸÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ñ ÑÐºÐ°Ð·ÑÐ²Ð°ÑÑÑÑ Ð² Ð¡Ð¿ÐžÑÐºÐµ Ð¿ÑÐžÑÐ²ÐŸÐµÐœÐœÑÑ
+ ÑÐ°Ð·ÐŽÐµÐ»ÐŸÐ² &ndash; ÑÑÐŸ ÑÐŸÑ Ð¿ÐŸÑÑÐŽÐŸÐº, Ð² ÐºÐŸÑÐŸÑÐŸÐŒ ÐŸÐœÐž ÐžÐŽÑÑ Ð² ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐŒ ÐŒÐµÐœÑ ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ Ð¿ÐŸÐžÑÐºÐ°. ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÐºÐœÐŸÐ¿ÐºÐž "ÐÐ²ÐžÐ³Ð°ÑÑÑÑ Ð²Ð²ÐµÑÑ
+" Ðž "ÐÐ²ÐžÐ³Ð°ÑÑÑÑ Ð²ÐœÐžÐ·" ÐŽÐ»Ñ ÐµÐ³ÐŸ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ.</p>
+
+<p>Ð§ÑÐŸÐ±Ñ Ð¿ÑÐŸÐžÐ·Ð²ÐµÑÑÐž ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐµ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÑÑÐ°ÐœÐŸÐ²ÐžÑÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ".</p>
+
+<p>ÐÐŒÐµÐœÐ°, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÑÐµ ÐŽÐ»Ñ ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐ³ÐŸ ÑÐ¿ÐžÑÐºÐ° ÑÐ°Ð·ÐŽÐµÐ»ÐŸÐ² ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ Ð¿ÐŸÐžÑÐºÐ° ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœÑ ÐœÐ° ÑÐ°ÑÑÐž "ÐÐŸÐžÑÐº" Ð¿Ð°ÐœÐµÐ»Ðž "Ð€ÐŸÑÐŒÐ°Ñ" (ÑÐŒ. <a href="searchmetadatasettings.htm">ÐÐŸÐžÑÐº</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/builderrors.htm
===================================================================
--- main/tags/2.83/gli/help/ru/builderrors.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/builderrors.htm	(revision 21123)
@@ -0,0 +1,18 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="builderrors"><font size="5" face="Verdana"><strong>7.2: ÐÑÐžÐ±ÐºÐž Ð² Ð¿ÑÐŸÑÐµÑÑÐµ ÑÐ±ÐŸÑÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐœÐŸÐ³ÐŽÐ° Ð² Ð¿ÑÐŸÑÐµÑÑÐµ ÑÐ±ÐŸÑÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÑÑÐŸ-ÑÐŸ ÐŒÐŸÐ¶ÐµÑ Ð¿ÐŸÐ¹ÑÐž ÐœÐµ ÑÐ°Ðº. ÐÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ, ÐœÐµÐºÐŸÑÐŸÑÑÐµ ÑÐ°Ð¹Ð»Ñ ÐœÐµÐ»ÑÐ·Ñ ÐŸÐ±ÑÐ°Ð±ÐŸÑÐ°ÑÑ: ÐŸÑÑÐ°Ð²ÑÐ°ÑÑÑ ÑÐ°ÑÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÑÐŸÐ±ÑÐ°Ð»Ð°ÑÑ ÑÑÐ¿ÐµÑÐœÐŸ, Ðž ÐµÐµ ÑÐ¶Ðµ ÐŒÐŸÐ¶ÐœÐŸ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ, ÐœÐŸ ÐœÐµÐºÐŸÑÐŸÑÑÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ Ð² ÐœÐµÐ¹ ÐŸÑÑÑÑÑÑÐ²ÑÑÑ. ÐÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ, ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐœÐµ ÑÐŸÐ±ÑÐ°Ð»Ð°ÑÑ ÑÐŸÐ²ÑÐµÐŒ, Ð² ÑÑÐŸÐŒ ÑÐ»ÑÑÐ°Ðµ Ð¿ÐŸÑÐ²ÐžÑÑÑ ÑÐŸÐŸÐ±ÑÐµÐœÐžÐµ "ÐÐŸÐ·ÐœÐžÐºÐ»Ð° ÐŸÑÐžÐ±ÐºÐ°. ÐÐµÐ²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ ÑÐŸÐ·ÐŽÐ°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ." ÐÐŸÐ³ÐŽÐ° ÑÐ°ÐºÐŸÐµ ÑÐ»ÑÑÐ°ÐµÑÑÑ, Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ, Ð±ÑÐŽÐµÑ Ð¿ÐŸÐ»ÐµÐ·ÐœÑÐŒ Ð¿ÐµÑÐµÐ¹ÑÐž Ð² ÑÐºÑÐ¿ÐµÑÑÐœÑÐ¹ ÑÐµÐ¶ÐžÐŒ GLI (Ð€Ð°Ð¹Ð»-&gt;ÐÐ°ÑÑÑÐŸÐ¹ÐºÐž-&gt;Ð ÐµÐ¶ÐžÐŒ, ÑÐŒ. <a href="preferences.htm">ÐÑÐµÐŽÐ¿ÐŸÑÑÐµÐœÐžÑ</a>), ÑÑÑÐ°ÐœÐŸÐ²ÐžÑÑ ÐŸÐ¿ÑÐžÑ ÐŸÐ¿ÑÐžÑ ÑÐ±ÐŸÑÐºÐž "ÐŒÐœÐŸÐ³ÐŸÑÐ»ÐŸÐ²ÐœÐŸÑÑÑ (verbosity)" ÐœÐ° 5 Ðž Ð²ÐºÐ»ÑÑÐžÑÑ Ð¿ÐµÑÐµÑÐ±ÐŸÑÐºÑ ÐŽÐ»Ñ ÑÐŸÐ³ÐŸ, ÑÑÐŸÐ±Ñ ÑÐ²ÐžÐŽÐµÑÑ Ð²ÑÐµ ÑÐŸÐŸÐ±ÑÐµÐœÐžÑ ÐŸÐ± ÐŸÑÐžÐ±ÐºÐ°Ñ
+.  </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/classifiers.htm
===================================================================
--- main/tags/2.83/gli/help/ru/classifiers.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/classifiers.htm	(revision 21123)
@@ -0,0 +1,35 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="classifiers"><font size="5" face="Verdana"><strong>6.5: ÐÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÑ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ°</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ±ÑÑÑÐœÑÐµÑÑÑ,ÐºÐ°Ðº ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÑÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÑ Ðº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÐºÐŸÑÐŸÑÑÐµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑÑÑ ÐŽÐ»Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ°. Ð "Ð Ð°Ð·ÐŽÐµÐ»Ð°Ñ
+ ÐŽÐžÐ·Ð°Ð¹ÐœÐ°" ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÑÐŸÑÐŒÐŸÑÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐŸÐ²". </p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ,ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐžÐ¹ ÑÐ¿ÐžÑÐŸÐº "ÐÑÐ±ÐŸÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐ° ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ" Ð²ÐœÐžÐ·Ñ ÐŸÐºÐœÐ°,Ðž Ð·Ð°ÑÐµÐŒ ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÑÑÐµ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ". ÐÐŸÑÐ²Ð»ÑÐµÑÑÑ ÐŸÐºÐœÐŸ, ÐœÐ°Ð·ÑÐ²Ð°ÐµÐŒÐŸÐµ "ÐÐŸÐœÑÐžÐ³ÑÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÐŸÐ²".ÐÐœÑÑÑÑÐºÑÐžÐž ÐŽÐ»Ñ ÑÑÐŸÐ³ÐŸ ÐŽÐžÐ°Ð»ÐŸÐ³Ð° ÑÐµ Ð¶Ðµ ÑÐ°ÐŒÑÐµ,ÑÑÐŸ ÐºÐ°ÑÐ°ÑÑÑÑ Ð¿Ð»Ð°Ð³ÐžÐœÐŸÐ² (<a href="plugins.htm">ÐÐ»Ð°Ð³ÐžÐœÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°</a>).ÐÐ°Ðº ÑÐŸÐ»ÑÐºÐŸ ÐÑ ÑÑÐŸÑÐŒÐžÑÐŸÐ²Ð°Ð»Ðž ÐœÐŸÐ²ÑÐ¹ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ, ÐŸÐœ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÐµÑÑÑ Ð² ÐºÐŸÐœÐµÑ ÑÐ¿ÐžÑÐºÐ° "Ð¢ÐµÐºÑÑÐžÐµ Ð·Ð°ÐŽÐ°ÐœÐœÑÐµ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÑ".  </p>
+
+<p>ÐÐ»Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ° ÐºÑÐ°ÑÐºÐŸÐ³ÐŸ ÐŸÐ¿ÐžÑÐ°ÐœÐžÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐ° Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ Ð² ÑÐ¿ÐžÑÐºÐµ &laquo;ÐÑÐ±ÐŸÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐ° ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ&raquo; Ðž ÐœÐ°Ð²ÐµÐŽÐžÑÐµ ÐœÐ° ÐœÐµÐ³ÐŸ ÐŒÑÑÑ. ÐÐŸÑÐ²ÐžÑÑÑ ÐŸÐºÐŸÑÐºÐŸ Ñ ÐŸÐ¿ÐžÑÐ°ÐœÐžÐµÐŒ.</p>
+
+<p>ÐÐ°Ð¶ÐŽÑÐ¹ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ ÐžÐŒÐµÐµÑ ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÐœÐ°ÑÑÑÐ°ÐžÐ²Ð°ÐµÐŒÑÑ
+ Ð°ÑÐ³ÑÐŒÐµÐœÑÐŸÐ². ÐÐ°Ð¶ÐœÑÐµ Ð°ÑÐ³ÑÐŒÐµÐœÑÑ &ndash; ÑÑÐŸ &laquo;metadata&raquo;, ÐºÐŸÑÐŸÑÑÐ¹ ÑÐºÐ°Ð·ÑÐ²Ð°ÐµÑ, Ð¿ÐŸ ÐºÐ°ÐºÐžÐŒ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒ Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐŽÐžÑÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐžÑ, Ðž &laquo;buttonname&raquo; - ÐžÐŒÑ ÐœÐ° Ð¿Ð°ÐœÐµÐ»Ðž ÐœÐ°Ð²ÐžÐ³Ð°ÑÐžÐž.</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ".</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÐžÐ·ÐŒÐµÐœÐžÑÑ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐ°, Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐœÑÐžÐ³ÑÑÐžÑÑÐ¹ÑÐµ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ." (ÐžÐ»Ðž ÑÐµÐ»ÐºÐœÑÑÑ ÐŽÐ²Ð° ÑÐ°Ð·Ð° ÐœÐ° ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐµ Ð² ÑÐ¿ÐžÑÐºÐµ).</p>
+
+<p>ÐÐŸÑÑÐŽÐŸÐº ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐŸÐ² Ð² ÐœÐ°Ð²ÐžÐ³Ð°ÑÐžÐŸÐœÐœÐŸÐ¹ Ð»ÐžÐœÐµÐ¹ÐºÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐž ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÐµÑ ÑÐŸÐŒÑ,ÐºÐŸÑÐŸÑÑÐ¹ Ð¿ÐŸÐºÐ°Ð·Ð°Ðœ Ð·ÐŽÐµÑÑ.Ð§ÑÐŸÐ±Ñ ÐžÐ·ÐŒÐµÐœÐžÑÑ Ð¿ÐŸÑÑÐŽÐŸÐº,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ, ÐºÐŸÑÐŸÑÑÐ¹ ÐÑ Ñ
+ÐŸÑÐžÑÐµ Ð¿ÐµÑÐµÐŒÐµÑÑÐžÑÑ, Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐ²ÐžÐ³Ð°ÑÑÑÑ Ð²Ð²ÐµÑÑ
+" ÐžÐ»Ðž "ÐÐ²ÐžÐ³Ð°ÑÑÑÑ Ð²ÐœÐžÐ·".</p>
+
+<p>ÐÐ»Ñ ÐŽÐ°Ð»ÑÐœÐµÐ¹ÑÐµÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž ÐŸÑÐœÐŸÑÐžÑÐµÐ»ÑÐœÐŸ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐŸÐ² ÑÐžÑÐ°Ð¹ÑÐµ Ð³Ð»Ð°Ð²Ñ 2 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/collectingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/ru/collectingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/collectingfiles.htm	(revision 21123)
@@ -0,0 +1,28 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="collectingfiles"><font size="5" face="Verdana"><strong>4: Ð¡Ð±ÐŸÑ ÑÐ°Ð¹Ð»ÐŸÐ² ÐŽÐ»Ñ ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÑÐ»Ðž ÐÑ ÑÐŸÐ·ÐŽÐ°ÐµÑÐµ ÐœÐŸÐ²ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ,ÑÐŸ Ð²ÐŸÐ·ÐœÐžÐºÐ°ÐµÑ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸÑÑÑ Ð²Ð²ÐŸÐŽÐ° Ð² ÐœÐµÐµ ÐœÐµÐºÐŸÑÐŸÑÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ².ÐÐœÐž ÐŒÐŸÐ³ÑÑ Ð¿ÐŸÑÑÑÐ¿ÐžÑÑ ÐžÐ· Ð²Ð°ÑÐµÐ³ÐŸ ÐŸÐ±ÑÑÐœÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐ³ÐŸ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²Ð° ÐžÐ· ÐŽÑÑÐ³ÐžÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ Greenstone. ÐÐµÐºÐŸÑÐŸÑÑÐµ ÐŒÐŸÐ³ÑÑ ÑÐ¶Ðµ ÐžÐŒÐµÑÑ Ð¿ÑÐžÑÐŸÐµÐŽÐžÐœÐµÐœÐœÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ.Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ¿ÐžÑÑÐ²Ð°ÐµÑÑÑ,ÐºÐ°Ðº ÐžÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐ°Ð¹Ð»Ñ.</p>
+
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/collectionspecificmacros.htm
===================================================================
--- main/tags/2.83/gli/help/ru/collectionspecificmacros.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/collectionspecificmacros.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="collectionspecificmacros"><font size="5" face="Verdana"><strong>8.7: Ð¡Ð¿ÐµÑÐžÐ°Ð»ÑÐœÑÐµ ÐŒÐ°ÐºÑÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐŸÐŽ Ð²ÐºÐ»Ð°ÐŽÐºÐŸÐ¹ &laquo;Ð€ÐŸÑÐŒÐ°Ñ&raquo; ÑÐµÐ»ÐºÐœÐžÑÐµ &laquo;Ð¡Ð¿ÐµÑÐžÐ°Ð»ÑÐœÑÐµ ÐŒÐ°ÐºÑÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž&raquo;. </p>
+
+<p>Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²ÐŸ ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ°.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/creatingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/ru/creatingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/creatingacollection.htm	(revision 21123)
@@ -0,0 +1,32 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingacollection"><font size="5" face="Verdana"><strong>2.1: Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ ÐœÐŸÐ²ÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð§ÑÐŸÐ±Ñ ÑÐŸÐ·ÐŽÐ°ÑÑ ÐœÐŸÐ²ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÐŸÑÐºÑÐŸÐ¹ÑÐµ ÐŒÐµÐœÑ "Ð€Ð°Ð¹Ð»" Ðž Ð²ÑÐ±ÐµÑÐžÑÐµ Ð² ÐœÑÐŒ Ð¿ÑÐœÐºÑ "ÐÐŸÐ²ÑÐ¹...". ÐÐµÐºÐŸÑÐŸÑÑÐµ Ð¿ÐŸÐ»Ñ ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ ÐŸÐ±ÑÐ·Ð°ÑÐµÐ»ÑÐœÐŸ Ð·Ð°Ð¿ÐŸÐ»ÐœÐµÐœÑ, ÐœÐŸ ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð·Ð°ÐŒÐµÐœÐžÑÑ ÐžÑ
+ Ð·ÐœÐ°ÑÐµÐœÐžÑ Ð¿ÐŸÐ·Ð¶Ðµ, ÐµÑÐ»Ðž ÐÑ Ð² ÑÑÐŸÐŒ ÐœÑÐ¶ÐŽÐ°ÐµÑÐµÑÑ Ñ ÑÐŸÑÐºÐž Ð·ÑÐµÐœÐžÑ ÐŽÐžÐ·Ð°Ð¹ÐœÐ°.</p>
+
+<p>ÐÐ°Ð³Ð»Ð°Ð²ÐžÐµ "ÐÐ°Ð·Ð²Ð°ÐœÐžÐµ/Ð·Ð°Ð³ÐŸÐ»ÐŸÐ²ÐŸÐº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž" - ÑÑÐŸ ÑÐµÐºÑÑ, ÑÐ°ÑÐ¿ÐŸÐ»ÐŸÐ¶ÐµÐœÐœÑÐ¹ ÐœÐ°Ð²ÐµÑÑ
+Ñ ÐŽÐŸÐŒÐ°ÑÐœÐµÐ¹ ÑÑÑÐ°ÐœÐžÑÑ ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÐœÐŸ ÐŒÐŸÐ¶ÐµÑ ÐžÐŒÐµÑÑ Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐ»ÑÐœÑÑ ÐŽÐ»ÐžÐœÑ.</p>
+
+<p>"ÐÐ¿ÐžÑÐ°ÐœÐžÐµ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ" ÐŽÐŸÐ»Ð¶ÐœÐŸ Ð¿ÑÐµÐŽÑÑÐ°Ð²ÐžÑÑ ÐºÐ°Ðº ÐŒÐŸÐ¶ÐœÐŸ ÐŽÐµÑÐ°Ð»ÑÐœÐµÐµ ÑÐŸ,ÐŸ ÑÑÐŒ ÑÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ. ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÐºÐ»Ð°Ð²ÐžÑÑ [Enter] ÐŽÐ»Ñ ÑÐŸÐ³ÐŸ,ÑÑÐŸÐ±Ñ ÑÐ°Ð·Ð±ÐžÑÑ ÐŸÐ¿ÐžÑÐ°ÐœÐžÐµ ÐœÐ° Ð¿Ð°ÑÐ°Ð³ÑÐ°ÑÑ.</p>
+
+<p>ÐÐ°ÐºÐŸÐœÐµÑ ÐÑ ÐŽÐŸÐ»Ð¶ÐœÑ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ, ÐŽÐŸÐ»Ð¶ÐœÐ° Ð»Ðž ÐœÐŸÐ²Ð°Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐžÐŒÐµÑÑ ÑÐŸÑ Ð¶Ðµ ÑÐ°ÐŒÑÐ¹ Ð²ÐžÐŽ Ðž ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÑÑÐŸ Ðž ÑÑÑÐµÑÑÐ²ÑÑÑÐ°Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÐžÐ»Ðž Ð¶Ðµ ÐœÐ°ÑÐ°ÑÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ "ÐÐŸÐ²ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ".</p>
+
+<p>Ð©ÐµÐ»ÐºÐœÐžÑÐµ "OK", ÑÑÐŸÐ±Ñ ÑÐŸÐ·ÐŽÐ°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ. ÐÑÐ»Ðž ÐÑ Ð²ÑÐ±ÑÐ°Ð»Ðž "ÐÐŸÐ²Ð°Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ", ÑÐŸ ÐÑ ÐŽÐŸÐ»Ð¶ÐœÑ Ð²Ð²ÐµÑÑÐž ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÑÑÐŸÐ±Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐžÑ
+ Ð² ÑÑÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð²ÑÐ±ÑÐ°ÑÑ Ð±ÐŸÐ»ÑÑÐµ,ÑÐµÐŒ ÐŸÐŽÐœÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐµ, Ð° ÐŒÐŸÐ¶ÐµÑÐµ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐŽÑÑÐ³ÐžÐµ Ð¿ÐŸÐ·Ð¶Ðµ. </p>
+
+<p>ÐÐ°Ð¶Ð°ÑÐžÐµ ÐºÐ»Ð°Ð²ÐžÑÐž "ÐÑÐŒÐµÐœÐžÑÑ" ÐœÐµÐŒÐµÐŽÐ»ÐµÐœÐœÐŸ Ð²ÐŸÐ·Ð²ÑÐ°ÑÐ°ÐµÑ ÐÐ°Ñ Ðº Ð³Ð»Ð°Ð²ÐœÐŸÐŒÑ ÑÐºÑÐ°ÐœÑ. </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/creatingfolders.htm
===================================================================
--- main/tags/2.83/gli/help/ru/creatingfolders.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/creatingfolders.htm	(revision 21123)
@@ -0,0 +1,24 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingfolders"><font size="5" face="Verdana"><strong>4.3: Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ Ð¿Ð°Ð¿ÐŸÐº</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ "ÐÐ°Ð¿ÐºÐž" Ð² ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐŒ ÐŽÐµÑÐµÐ²Ðµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÑÐŸÐ±Ñ Ð³ÑÑÐ¿Ð¿ÐžÑÐŸÐ²Ð°ÑÑ Ð²ÐŒÐµÑÑÐµ Ðž Ð±ÐŸÐ»ÐµÐµ Ð»ÐµÐ³ÐºÐŸ ÐœÐ°Ñ
+ÐŸÐŽÐžÑÑ ÐžÑ
+. ÐÐ°Ð¿ÐºÐž ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ Ð¿ÐŸÐŒÐµÑÐµÐœÑ Ð²ÐœÑÑÑÐž Ð¿Ð°Ð¿ÐŸÐº. Ð€Ð°ÐºÑÐžÑÐµÑÐºÐž ÐœÐµÑ ÐŸÐ³ÑÐ°ÐœÐžÑÐµÐœÐžÑ ÐœÐ° ÑÐŸ,ÑÐºÐŸÐ»ÑÐºÐŸ Ð¿Ð°Ð¿ÐŸÐº ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐžÐŒÐµÑÑ ÐžÐ»Ðž ÐºÐ°Ðº Ð³Ð»ÑÐ±ÐŸÐºÐŸ ÐŸÐœÐž ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ Ð²Ð»ÐŸÐ¶ÐµÐœÑ.</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÑÐŸÐ·ÐŽÐ°ÑÑ ÐœÐŸÐ²ÑÑ Ð¿Ð°Ð¿ÐºÑ, Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐ»ÑÐœÐŸ Ð²ÑÐ±ÐµÑÐžÑÐµ ÑÑÑÐµÑÑÐ²ÑÑÑÑÑ Ð¿Ð°Ð¿ÐºÑ Ð² ÐÐµÑÐµÐ²Ðµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ ÐœÐ° ÐºÐœÐŸÐ¿ÐºÐµ "ÐÐŸÐ²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°". ÐÐŸÐ²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ° Ð¿ÐŸÑÐ²Ð»ÑÐµÑÑÑ Ð² Ð¿ÑÐµÐŽÐµÐ»Ð°Ñ
+ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÐŸÐ³ÐŸ ÐžÐ»Ðž ÐœÐ° Ð²ÑÑÑÐµÐŒ ÑÑÐŸÐ²ÐœÐµ,ÐµÑÐ»Ðž ÐœÐž ÐŸÐŽÐœÐ° ÐœÐµ ÐŸÑÐŸÐ±ÑÐ°ÐœÐ°.ÐÑ ÐŽÐŸÐ»Ð¶ÐœÑ Ð¿ÑÐŸÑÐ²ÐŸÐžÑÑ Ð¿Ð°Ð¿ÐºÐµ ÐžÐŒÑ (Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ "ÐÐŸÐ²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°").</p>
+
+<p>ÐÐ°Ð¿ÐºÐž ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐ°ÐºÐ¶Ðµ ÑÐŸÐ·ÐŽÐ°ÐœÑ ÑÐµÐ»ÑÐºÐŸÐŒ Ð¿ÑÐ°Ð²ÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐž ÐŒÑÑÐž Ð¿ÐŸ Ð¿Ð°Ð¿ÐºÐµ,Ð²ÑÐ±ÐžÑÐ°Ñ "ÐÐŸÐ²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°" Ðž ÐŽÐµÐ¹ÑÑÐ²ÑÑ,ÐºÐ°Ðº ÑÐºÐ°Ð·Ð·Ð°ÐœÐŸ Ð²ÑÑÐµ.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/creatingshortcuts.htm
===================================================================
--- main/tags/2.83/gli/help/ru/creatingshortcuts.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/creatingshortcuts.htm	(revision 21123)
@@ -0,0 +1,18 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingshortcuts"><font size="5" face="Verdana"><strong>4.2: Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ Ð¯ÑÐ»ÑÐºÐ° Ð² ÐÐµÑÐµÐ²Ðµ ÑÐ°Ð±ÐŸÑÐµÐ³ÐŸ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²Ð°</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐµÐºÐŸÑÐŸÑÑÐµ Ð¿Ð°Ð¿ÐºÐž - ÑÐžÐ¿Ð° ÑÐµÑ
+,ÐºÐŸÑÐŸÑÑÐµ ÑÐŸÐŽÐµÑÐ¶Ð°Ñ ÐÐ°ÑÐž ÑÐŸÐ±ÑÑÐ²ÐµÐœÐœÑÐµ Ð²ÐµÐ±-ÑÑÑÐ°ÐœÐžÑÑ - ÐžÐœÐŸÐ³ÐŽÐ° ÐžÐŒÐµÑÑ ÐŸÑÐŸÐ±ÑÑ Ð²Ð°Ð¶ÐœÐŸÑÑÑ.ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð¿ÐµÑÐµÐœÐµÑÑÐž ÑÐ°ÐºÐžÐµ Ð¿Ð°Ð¿ÐºÐž ÐœÐ° Ð¿ÐµÑÐ²ÑÐ¹ ÑÑÐŸÐ²ÐµÐœÑ ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐ³ÐŸ ÐŽÐµÑÐµÐ²Ð°. Ð§ÑÐŸÐ±Ñ ÑÐŽÐµÐ»Ð°ÑÑ ÑÑÐŸ, ÑÐµÐ»ÐºÐœÐžÑÐµ Ð¿ÑÐ°Ð²ÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐŸÐ¹ ÐŒÑÑÐž ÐœÐ° Ð¶ÐµÐ»Ð°ÑÐµÐ»ÑÐœÐŸÐ¹ Ð¿Ð°Ð¿ÐºÐµ. ÐÑÐ±ÐµÑÐžÑÐµ "Ð¡ÐŸÐ·ÐŽÐ°ÑÑ ÑÐŸÐºÑÐ°ÑÐµÐœÐžÐµ" Ðž Ð²Ð²ÐµÐŽÐžÑÐµ ÐžÐŒÑ ÐŽÐ»Ñ Ð¿Ð°Ð¿ÐºÐž. ÐÐ»Ñ ÑÐŽÐ°Ð»ÐµÐœÐžÑ ÑÐ»ÐµÐŒÐµÐœÑÐ° ÑÐµÐ»ÐºÐœÐžÑÐµ Ð¿ÑÐ°Ð²ÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐŸÐ¹ ÐŒÑÑÐž ÐœÐ° Ð¿ÐŸÐŒÐµÑÐµÐœÐœÐŸÐ¹ Ð¿Ð°Ð¿ÐºÐµ Ðž Ð²ÑÐ±ÐµÑÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÐŸÐºÑÐ°ÑÐµÐœÐžÑ".</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/definefilters.htm
===================================================================
--- main/tags/2.83/gli/help/ru/definefilters.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/definefilters.htm	(revision 21123)
@@ -0,0 +1,31 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="definefilters"><font size="5" face="Verdana"><strong>6.4.1: ÐÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ ÑÐžÐ»ÑÑÑÑ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð€ÐžÐ»ÑÑÑÑ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÑÑ ÐÐ°ÐŒ Ð³ÑÑÐ¿Ð¿ÐžÑÐŸÐ²Ð°ÑÑ Ð² Ð¿ÐŸÐŽÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð²ÑÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ Ð¿ÐŸ  ÐžÐœÐŽÐµÐºÑÑ,ÐŽÐ»Ñ ÐºÐŸÑÐŸÑÐŸÐ³ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÐµÑ Ð·Ð°ÐŽÐ°ÐœÐœÐŸÐ¹ ÐŒÐŸÐŽÐµÐ»Ðž.</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÑÐŸÐ·ÐŽÐ°ÑÑ ÑÐžÐ»ÑÑÑ,ÑÐµÐ»ÐºÐœÐžÑÐµ ÐºÐ»Ð°Ð²ÐžÑÑ "ÐÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ ÑÐžÐ»ÑÑÑÑ" Ðž Ð²Ð²ÐµÐŽÐžÑÐµ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµ ÐŽÐ»Ñ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÑÐžÐ»ÑÑÑÐ° Ð² Ð¿ÐŸÐ»Ðµ "ÐÐŒÑ ÑÐžÐ»ÑÑÑÐ° ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž:".ÐÐ°ÑÐµÐŒ Ð²ÑÐ±ÐµÑÐžÑÐµ Ñ
+Ð°ÑÐ°ÐºÑÐµÑÐœÑÐµ Ð¿ÑÐžÐ·ÐœÐ°ÐºÐž ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°, ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐžÐµ ÐžÐ»Ðž ÑÐ»ÐµÐŒÐµÐœÑÐ°ÐŒ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+,ÐžÐ»Ðž ÐœÐ°Ð·Ð²Ð°ÐœÐžÑ ÑÐ°ÑÑÐŒÐ°ÑÑÐžÐ²Ð°ÐµÐŒÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð°.ÐÐ²ÐµÐŽÐžÑÐµ Ð¿ÑÐ°Ð²ÐžÐ»ÑÐœÐŸÐµ Ð²ÑÑÐ°Ð¶ÐµÐœÐžÐµ,ÑÑÐŸÐ±Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ Ð² ÑÐµÑÐµÐœÐžÐµ ÐŽÐµÐ¹ÑÑÐ²ÐžÑ ÑÑÐŸÐ³ÐŸ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÑ.ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð¿ÐµÑÐµÐºÐ»ÑÑÐ°ÑÑ "ÐÐºÐ»ÑÑÐµÐœÐžÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ²", ÐºÐŸÑÐŸÑÑÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑ ÑÐžÐ»ÑÑÑÑ, ÐžÐ»Ðž "ÐÑÐºÐ»ÑÑÐµÐœÐžÐµ" ÐžÑ
+.ÐÐ°ÐºÐŸÐœÐµÑ,ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ Ð»ÑÐ±ÐŸÐ¹ ÑÑÐ°ÐœÐŽÐ°ÑÑ PERL, Ð¿ÑÐ°Ð²ÐžÐ»ÑÐœÑÐµ ÑÐ»Ð°Ð³Ðž Ð²ÑÑÐ°Ð¶ÐµÐœÐžÑ,ÑÑÐŸÐ±Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ Ð¿ÑÐž ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÐž (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, ("i" ÐŽÐ»Ñ ÑÐ»ÑÑÐ°Ñ ÐœÐµÑÑÐ²ÑÑÐ²ÐžÑÐµÐ»ÑÐœÐŸÐ³ÐŸ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÑ),ÐÐ°ÐºÐŸÐœÐµÑ,ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐžÐ»ÑÑÑ",ÑÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐžÐ»ÑÑÑ Ðº ÑÐ¿ÐžÑÐºÑ "Ð€ÐžÐ»ÑÑÑÑ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÑ ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹".</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÑÐžÐ»ÑÑÑ,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÐžÐ»ÑÑÑ". </p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÐžÐ·ÐŒÐµÐœÐžÑÑ ÑÐžÐ»ÑÑÑ,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ°,Ð·Ð°ÐŒÐµÐœÐžÑÐµ Ð»ÑÐ±ÐŸÐµ Ð·ÐœÐ°ÑÐµÐœÐžÐµ, ÐºÐŸÑÐŸÑÐŸÐµ Ð¿ÐŸÑÐ²Ð»ÑÐµÑÑÑ Ð² ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÐž ÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÐµÐŒ Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐ°ÐŒÐµÐœÐžÑÑ ÑÐžÐ»ÑÑÑ",ÑÑÐŸÐ±Ñ Ð·Ð°ÐºÑÐµÐ¿ÐžÑÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ.</p>
+
+<p>ÐÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÐµ ÑÐžÐ»ÑÑÑÐŸÐ² ÐœÐµ Ð±ÑÐŽÐµÑ ÑÐŸÐ·ÐŽÐ°Ð²Ð°ÑÑ ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. Ð¡ÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÑÐºÐ°Ð·ÑÐ²Ð°ÑÑÑÑ Ð² "ÐÐ°Ð·ÐœÐ°ÑÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ", ÐŸÑÐœÐŸÐ²ÑÐ²Ð°ÑÑÑ ÐœÐ° ÑÐµÑ
+ ÑÐžÐ»ÑÑÑÐ°Ñ
+, ÐºÐŸÑÐŸÑÑÐµ Ð²Ñ ÑÐŸÐ»ÑÐºÐŸ ÑÑÐŸ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÐ»Ðž.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/deletingcollections.htm
===================================================================
--- main/tags/2.83/gli/help/ru/deletingcollections.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/deletingcollections.htm	(revision 21123)
@@ -0,0 +1,18 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="deletingcollections"><font size="5" face="Verdana"><strong>2.4: Ð£ÐŽÐ°Ð»ÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐ»Ñ ÑÐŸÐ³ÐŸ, ÑÑÐŸÐ±Ñ ÐœÐµÐžÐ·ÐŒÐµÐœÐœÐŸ ÑÐŽÐ°Ð»ÐžÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐžÐ· ÐžÐœÑÑÐ°Ð»ÑÑÐžÐŸÐœÐœÐŸÐ¹ ÐŽÐžÑÐµÐºÑÐŸÑÐžÐž Greenstone, Ð²ÑÐ±ÐµÑÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ..." ÐžÐ· ÐŒÐµÐœÑ "Ð€Ð°Ð¹Ð»". ÐÑÐºÑÐŸÐµÑÑÑ ÑÐ¿ÐžÑÐŸÐº Ð²ÑÐµÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ Greenstone. ÐÑÐ±ÐµÑÐžÑÐµ ÐœÑÐ¶ÐœÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐŽÐ»Ñ Ð¿ÑÐŸÑÐŒÐŸÑÐ° ÐµÐµ ÐŸÐ¿ÐžÑÐ°ÐœÐžÑ, Ð¿ÐŸÑÐ»Ðµ ÑÑÐŸÐ³ÐŸ Ð¿ÐŸÑÑÐ°Ð²ÑÐµ Ð³Ð°Ð»ÐŸÑÐºÑ Ð² Ð¿ÑÐœÐºÑÐµ Ð²ÐœÐžÐ·Ñ ÐŽÐžÐ°Ð»ÐŸÐ³Ð° Ðž ÐœÐ°Ð¶ÐŒÐžÑÐµ ÐœÐ° "Ð£ÐŽÐ°Ð»ÐžÑÑ", ÑÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ. Ð­ÑÐ° ÐŸÐ¿ÐµÑÐ°ÑÐžÑ Ð±ÐµÐ·Ð²ÐŸÐ·Ð²ÑÐ°ÑÐœÐ°, Ð¿ÐŸÑÑÐŸÐŒÑ Ð¿ÑÐŸÐ²ÐµÑÑÑÐµ Ð²ÐœÐžÐŒÐ°ÑÐµÐ»ÑÐœÐŸ, ÐŽÐµÐ¹ÑÑÐ²ÐžÑÐµÐ»ÑÐœÐŸ Ð»Ðž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐœÐµÐœÑÐ¶ÐœÐ°!</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/depositormetadatasettings.htm
===================================================================
--- main/tags/2.83/gli/help/ru/depositormetadatasettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/depositormetadatasettings.htm	(revision 21123)
@@ -0,0 +1,44 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="depositormetadatasettings"><font size="5" face="Verdana"><strong>8.8: ÐÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐÐµÐ¿ÐŸÐ·ÐžÑÐŸÑÐ°</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐµÐ¿ÐŸÐ·ÐžÑÐŸÑ ÐÑÐžÐœÑÑÐŸÑÐœ  Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÑÑ ÐœÐŸÐ²ÑÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ Ð² ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÑÐµÑÐµÐ· Ð²ÐµÐ± ÐžÐœÑÐµÑÑÐµÐ¹Ñ. ÐÐ°ÐœÐœÑÐ¹ ÑÐ°Ð·ÐŽÐµÐ» ÐŸÐ¿ÐžÑÑÐ²Ð°ÐµÑ Ð¿Ð°ÐœÐµÐ»Ñ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, Ð³ÐŽÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÑÑÑÑ Ð¿ÐŸÐ»Ñ ÐŸÐ¿ÐžÑÐ°ÐœÐžÑ ÐœÐŸÐ²ÑÑ
+ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ² Ð² ÐÐµÐ¿ÐŸÐ·ÐžÑÐŸÑÐµ. ÐÑÐ±ÑÐµ ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð°ÑÑÐŸÑÐžÐžÑÐŸÐ²Ð°ÐœÐœÑÑ
+ Ñ ÑÐµÐºÑÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐµÐ¹ Ð±ÑÐŽÑÑ ÐŽÐŸÑÑÑÐ¿ÐœÑ ÐŽÐ»Ñ Ð²ÑÐ±ÐŸÑÐ°. ÐÑÐ»Ðž Ð·ÐŽÐµÑÑ ÐœÐµÑ ÐŽÑÑÐ³ÐžÑ
+ ÐœÐ°Ð±ÐŸÑÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐœÐ°Ð·ÐœÐ°ÑÐµÐœÐœÑÑ
+ "ÐÐ°Ð±ÐŸÑÐŸÐŒ ÐžÐ·Ð²Ð»ÐµÑÐµÐœÐœÑÑ
+ ÐÑÐžÐœÑÑÐŸÑÐœ ÐŽÐ°ÐœÐœÑÑ
+" Ð°ÑÑÐŸÑÐžÐžÑÐŸÐ²Ð°ÐœÐœÑÑ
+ Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐµÐ¹. "ÐÐ°Ð±ÐŸÑ ÐŽÑÐ±Ð»ÐžÐœÑÐºÐŸÐ³ÐŸ ÑÐŽÑÐ°" Ð±ÑÐŽÐµÑ Ð¿ÑÐžÐŒÐµÐœÐµÐœ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ. ÐÐ»Ñ ÐžÐ·ÑÑÐµÐœÐžÑ ÐÐµÐ¿ÐŸÐ·ÐžÑÐŸÑÐ°, ÐŸÐ±ÑÐ°ÑÐ°Ð¹ÑÐµÑÑ Ðº ÐŸÐœÐ»Ð°Ð¹Ðœ ÑÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ñ ÐœÐ° Ð°ÐœÐ³Ð»ÐžÐ¹ÑÐºÐŸÐŒ Ð¿ÐŸ Ð°ÐŽÑÐµÑÑ http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/depositor.htm. ÐÐ°Ð¶ÐŒÐžÑÐµ Ð²ÐºÐ»Ð°ÐŽÐºÑ "Format", ÐœÐ°Ð¶ÐŒÐžÑÐµ "Depositor Metadata".</p>
+
+<p>ÐÐ°ÐœÐµÐ»Ñ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐÐµÐ¿ÐŸÐ·ÐžÑÐŸÑÐ° Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÑÐ¿ÐžÑÐŸÐº Ð¿ÐŸÐ»ÐµÐ¹ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+. ÐÑÐ»Ðž ÐžÐŒÐµÐµÑÑÑ Ð±ÐŸÐ»ÐµÐµ ÐŸÐŽÐœÐŸÐ³ÐŸ ÐœÐ°Ð±ÐŸÑÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð² ÐŽÐ°ÐœÐœÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÐŸÑÐµÐŽÐœÐžÐµ ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð±ÑÐŽÑÑ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÑ ÑÐ°Ð·Ð»ÐžÑÐœÑÐŒÐž ÑÐ²ÐµÑÐ°ÐŒÐž. ÐÑÐž Ð¿ÐŸÐŒÐµÑÐµÐœÐžÐž ÐºÑÑÑÐŸÑÐ° ÑÐ²ÐµÑÑ
+Ñ ÑÐ»ÐµÐŒÐµÐœÑÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+: Ð¿ÐŸÑÐ²ÐžÑÑÑ ÐžÐœÑÑÑÑÐŒÐµÐœÑÐ°Ð»ÑÐœÐ°Ñ Ð¿ÐŸÐŽÑÐºÐ°Ð·ÐºÐ°.</p>
+
+<p>ÐÑÐŽÐµÐ»ÐžÑÐµ ÑÐµ ÐºÐŸÑÐŸÑÑÐµ Ð²Ñ Ð±ÑÐŽÐµÑÐµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐŽÐ»Ñ ÐŸÐ¿ÐžÑÐ°ÐœÐžÑ ÐœÐŸÐ²ÑÑ
+ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ²  Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÐÐµÐ¿ÐŸÐ·ÐžÑÐŸÑÐ°. ÐÑÐ¿Ð°ÐŽÐ°ÑÑÐžÐ¹ ÑÐ¿ÐžÑÐŸÐº Ñ Ð²ÑÐ±ÐŸÑÐŸÐŒ ÐŽÐ²ÑÑ
+ Ð²Ð°ÑÐžÐ°ÐœÑÐŸÐ² Ð¿ÐŸÑÐ²ÐžÑÑÑ ÑÑÐ°Ð·Ñ Ð¿ÐŸÑÐ»Ðµ Ð²ÑÐ±ÐŸÑÐ° ÑÐ»ÐµÐŒÐµÐœÑÐ°. Ð­ÑÐŸ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÐžÑ ÑÐºÐ°Ð·Ð°ÑÑ ÑÐžÐ¿ Ð²Ð²ÐŸÐŽÐ° ÐŽÐ»Ñ ÑÐ»ÐµÐŒÐµÐœÑÐ° Ð² Ð²ÐµÐ± ÐžÐœÑÐµÑÑÐµÐ¹ÑÐµ. "ÑÐµÐºÑÑ" ÐŸÐ·ÐœÐ°ÑÐ°ÐµÑ ÑÑÐŸ Ð±ÑÐŽÐµÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°Ðœ Ð²Ð²ÐŸÐŽ Ð² ÐŸÐŽÐœÑ ÑÑÑÐŸÐºÑ, Ð³ÐŽÐµ "ÑÐµÐºÑÑÐŸÐ²Ð°Ñ ÐŸÐ±Ð»Ð°ÑÑÑ" ÐŸÐ·ÐœÐ°ÑÐ°ÐµÑ ÑÑÐŸ Ð±ÑÐŽÐµÑ Ð¿ÑÐžÐŒÐµÐœÐµÐœ ÐŒÐœÐŸÐ³ÐŸÑÑÑÐŸÑÐœÑÐ¹ Ð²Ð²ÐŸÐŽ. ÐÑÐ±ÐµÑÐžÑÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐžÐ¹ ÑÐžÐ¿ ÐŽÐ»Ñ ÐºÐ°Ð¶ÐŽÐŸÐ³ÐŸ Ð¿ÐŸÐ»Ñ.</p>
+
+<p>ÐÐ°Ðº ÐŒÐžÐœÐžÐŒÑÐŒ ÐŸÐŽÐžÐœ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐŽÐŸÐ»Ð¶ÐµÐœ Ð±ÑÑÑ Ð²ÑÐ±ÑÐ°Ðœ. ÐÑÐ»Ðž ÐžÐŒÐµÐµÑÑÑ ÑÐŸÐ»ÑÐºÐŸ ÐŸÐŽÐžÐœ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐ¹ ÑÐ»ÐµÐŒÐµÐœÑ Ð² ÑÐ¿ÐžÑÐºÐµ, ÐŸÑÐŒÐµÐœÐžÐ² Ð²ÑÐ±ÐŸÑ Ð²ÑÐ·ÐŸÐ²ÐµÑ Ð¿ÐŸÑÐ²Ð»ÐµÐœÐžÐµ ÑÐŸÐŸÐ±ÑÐµÐœÐžÑ: "ÐÐŸÐ»Ð¶ÐµÐœ Ð±ÑÑÑ Ð²ÑÐ±ÑÐ°Ðœ Ñ
+ÐŸÑÑ Ð±Ñ ÐŸÐŽÐžÐœ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+".</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/designingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/ru/designingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/designingacollection.htm	(revision 21123)
@@ -0,0 +1,22 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="designingacollection"><font size="5" face="Verdana"><strong>6: ÐÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐŸÐ³ÐŽÐ° ÐÐ°ÑÐž ÑÐ°Ð¹Ð»Ñ ÑÐœÐ°Ð±Ð¶ÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒÐž,ÐŽÐ°Ð»ÐµÐµ ÐÑ ÑÐµÑÐ°ÐµÑÐµ,Ð² ÐºÐ°ÐºÐŸÐŒ Ð²ÐžÐŽÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Greenstone ÐŽÐŸÐ»Ð¶ÐœÐ° Ð±ÑÑÑ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐ° Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»ÑÐŒ.ÐÐ°ÐºÐŸÐ³ÐŸ Ð²ÐžÐŽÐ° ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŽÐŸÑÑÑÐ¿ÐœÐ° ÐŽÐ»Ñ Ð¿ÐŸÐžÑÐºÐ°? ÐÐ°ÐºÐžÐµ Ð¿ÑÑÐž Ð¿ÑÐµÐŽÑÑÐŒÐŸÑÑÐµÐœÑ ÐŽÐ»Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ° ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°? ÐÐ°ÐºÐžÐµ ÑÐ·ÑÐºÐž Ð¿ÐŸÐŽÐŽÐµÑÐ¶ÐžÐ²Ð°ÑÑÑÑ? ÐÐŽÐµ ÑÐ°Ð·ÐŒÐµÑÑÐžÑÑ ÐºÐœÐŸÐ¿ÐºÐž ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ? Ð­ÑÐž Ð²ÐµÑÐž ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐœÐ°ÑÑÑÐŸÐµÐœÑ;Ð² ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ¿ÐžÑÑÐ²Ð°ÐµÑÑÑ,ÐºÐ°Ðº ÑÑÐŸ ÑÐŽÐµÐ»Ð°ÑÑ.</p>
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/downloadingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/ru/downloadingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/downloadingfiles.htm	(revision 21123)
@@ -0,0 +1,18 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="downloadingfiles"><font size="5" face="Verdana"><strong>3: ÐÐ°Ð³ÑÑÐ·ÐžÑÑ ÑÐ°Ð¹Ð»Ñ ÐžÐ· ÐžÐœÑÐµÑÐœÐµÑ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐžÐŽ "ÐÐµÑÐºÐ°Ð»ÐŸ" Ð¿ÐŸÐŒÐŸÐ¶ÐµÑ Ð²Ð°ÐŒ Ð·Ð°Ð³ÑÑÐ·ÐžÑÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐžÐ· ÐÐœÑÐµÑÐœÐµÑÐ°. ÐÐ°ÐœÐœÐ°Ñ ÑÐµÐºÑÐžÑ ÐŸÐ±ÑÑÑÐœÑÐµÑ Ð¿ÑÐŸÑÐµÑÑ Ð·ÐµÑÐºÐ°Ð»ÐžÑÐŸÐ²Ð°ÐœÐžÑ Ð² ÐÐœÑÐµÑÑÐµÐ¹ÑÐµ ÐÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ°ÑÑ.</p>
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/enrichingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/ru/enrichingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/enrichingacollection.htm	(revision 21123)
@@ -0,0 +1,28 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="enrichingacollection"><font size="5" face="Verdana"><strong>5: ÐÐ±ÐŸÐ³Ð°ÑÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒÐž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐŒÐµÑ ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÐœÐ°ÐºÐŸÐ¿Ð»ÐµÐœÐœÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ² Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž,ÐœÐ°Ð¿ÐŸÐ»ÐœÐžÑÐµ ÐžÑ
+ ÐŽÐŸÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»ÑÐœÐŸÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐµÐ¹,ÐœÐ°Ð·ÑÐ²Ð°ÐµÐŒÐŸÐ¹ "ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ".Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ±ÑÑÑÐœÑÐµÑÑÑ, ÐºÐ°Ðº ÑÐŸÐ·ÐŽÐ°ÑÑÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ,ÐºÐ°Ðº ÐŸÐœÐž ÑÐµÐŽÐ°ÐºÑÐžÑÑÑÑÑÑ, ÐœÐ°Ð·ÐœÐ°ÑÐ°ÑÑÑÑ Ðž Ð²ÐŸÑÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÑÑÑÑ,Ð° ÑÐ°ÐºÐ¶Ðµ ÐºÐ°Ðº ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑÑÑ Ð²ÐœÐµÑÐœÐžÐµ ÐžÑÑÐŸÑÐœÐžÐºÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ (ÑÐ°ÐºÐ¶Ðµ ÑÐŒ.ÐÐ»Ð°Ð²Ñ 2 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone - ÐÐŸÐ»ÑÑÐµÐœÐžÐµ Ð±ÐŸÐ»ÑÑÐµÐ¹ ÑÐ°ÑÑÐž ÐžÐ· Ð²Ð°ÑÐžÑ
+ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ²). </p>
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/expertbuilding.htm
===================================================================
--- main/tags/2.83/gli/help/ru/expertbuilding.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/expertbuilding.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="expertbuilding"><font size="5" face="Verdana"><strong>7.3: Ð¡ÐŸÐ·ÐŽÐ°ÑÑ Ð²ÐžÐŽ Ð² ÑÐµÐ¶ÐžÐŒÐµ ÑÐºÑÐ¿ÐµÑÑÐ°</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð ÐŒÐŸÐŽÑÑÐµ Ð­ÐºÑÐ¿ÐµÑÑ Ð²Ñ ÐŒÐŸÐ¶ÐµÑÐµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ Ð·Ð°Ð¿ÐžÑÑ "ÐÐŸÐ³ Ð¡ÐŸÐŸÐ±ÑÐµÐœÐžÐ¹" ÑÐ»ÐµÐ²Ð°, ÑÑÐŸÐ±Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ, Ð±ÑÐ»Ðž Ð»Ðž Ð¿ÑÐµÐŽÑÐŽÑÑÐžÐµ Ð¿ÐŸÐ¿ÑÑÐºÐž ÑÐºÐŸÐœÑÑÑÑÐžÑÐŸÐ²Ð°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÑÑÐ¿ÐµÑÐœÑ ÐžÐ»Ðž ÐœÐµÑ. ÐÑÐ±ÐµÑÐžÑÐµ Ð¶ÐµÐ»Ð°ÐµÐŒÑÑ Ð·Ð°Ð¿ÐžÑÑ,ÑÐµÐ»ÐºÐ°Ñ Ð¿ÐŸ Ð²ÑÐ±ÑÐ°ÐœÐœÐŸÐ¹ ÐŽÐ°ÑÐµ Ð² ÑÐ¿ÐžÑÐºÐµ "ÐÑÑÐŸÑÐžÑ Ð·Ð°Ð¿ÐžÑÐž".</p>
+
+<p>Ð ÑÑÐŸÐŒ ÑÐµÐ¶ÐžÐŒÐµ Ð¿ÐŸÐºÐ°Ð·Ð°Ðœ Ð¿ÐŸÐ»ÐœÑÐ¹ ÑÐ¿ÐžÑÐŸÐº ÐŸÐ¿ÑÐžÐ¹ ÐžÐŒÐ¿ÐŸÑÑÐ° Ðž ÑÐ±ÐŸÑÐºÐž, Ð², ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐµÐœÐœÐŸ, Ð²ÐºÐ»Ð°ÐŽÐºÐ°Ñ
+ &laquo;ÐÐŒÐ¿ÐŸÑÑ&raquo; Ðž &laquo;Ð¡Ð±ÐŸÑÐºÐ°&raquo; ÑÐ»ÐµÐ²Ð°. Ð Ð°Ð·Ð»ÐžÑÐœÑÐµ ÐœÐ°ÑÑÑÐŸÐ¹ÐºÐž ÑÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÑÑÑÑ ÑÐ°Ðº Ð¶Ðµ, ÐºÐ°Ðº Ðž Ð² ÐŸÐºÐœÐµ "ÐÐ°ÑÑÑÐŸÐ¹ÐºÐ° Ð°ÑÐ³ÑÐŒÐµÐœÑÐŸÐ²", ÐŸÐ¿ÐžÑÐ°ÐœÐœÐŸÐŒ Ð² ÑÐµÐºÑÐžÐž <a href="plugins.htm">ÐÐ»Ð°Ð³ÐžÐœÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°</a>. ÐÐµÐºÐŸÑÐŸÑÑÐµ Ð¿ÐŸÐ»Ñ ÑÑÐµÐ±ÑÑÑ ÑÐžÑÐ»ÐµÐœÐœÑÑ
+ Ð°ÑÐ³ÑÐŒÐµÐœÑÐŸÐ²: ÐžÑ
+ ÐŒÐŸÐ¶ÐœÐŸ ÐœÐ°Ð±ÐžÑÐ°ÑÑ Ð²ÑÑÑÐœÑÑ Ð»ÐžÐ±ÐŸ ÑÐ²ÐµÐ»ÐžÑÐžÐ²Ð°ÑÑ ÐžÐ»Ðž ÑÐŒÐµÐœÑÑÐ°ÑÑ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÑÑÑÐµÐ»ÐŸÐº &laquo;ÐÐ²ÐµÑÑ
+&raquo; Ðž &laquo;ÐÐœÐžÐ·&raquo; ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐµÐœÐœÐŸ (Ð² ÐœÐµÐºÐŸÑÐŸÑÑÑ
+ ÑÐ»ÑÑÐ°ÑÑ
+ Ð² ÐžÐœÑÐµÑÑÐµÐ¹ÑÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŸÐ³ÑÐ°ÐœÐžÑÐµÐœ Ð²Ð²ÐŸÐŽÐžÐŒÑÐ¹ ÐŽÐžÐ°Ð¿Ð°Ð·ÐŸÐœ). ÐÑÑÐ³ÐžÐµ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ Ð²ÐºÐ»ÑÑÐµÐœÑ Ð¿ÐŸÐŒÐµÑÐºÐŸÐ¹ ÑÐ»Ð°Ð¶ÐºÐ° (ÑÐµÐ»ÐºÐœÐžÑÐµ ÐµÑÐµ ÑÐ°Ð· ÐŽÐ»Ñ ÐŸÑÐºÐ»ÑÑÐµÐœÐžÑ).  </p>
+
+<p>ÐÐ»Ñ Ð¿ÐŸÐ»ÑÑÐµÐœÐžÑ Ð±ÐŸÐ»ÐµÐµ Ð¿ÐŸÐ»ÐœÐŸÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž ÐŸÐ± ÐžÐŒÐ¿ÐŸÑÑÐµ Ðž ÑÐ±ÐŸÑÐºÐµ Ð¿ÑÐŸÑÐžÑÐ°Ð¹ÑÐµ  ÐÐ»Ð°Ð²Ñ 1 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone (Greenstone Developer's Guide) &ndash; ÐÐŸÐœÑÑÐžÐµ ÐŸ Ð¿ÑÐŸÑÐµÑÑÐµ ÑÐ±ÐŸÑÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.  </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/explodingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/ru/explodingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/explodingfiles.htm	(revision 21123)
@@ -0,0 +1,42 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="explodingfiles"><font size="5" face="Verdana"><strong>4.7: &laquo;Ð Ð°Ð·Ð²ÐµÑÑÑÐ²Ð°ÐœÐžÐµ&raquo; ÑÐ°Ð¹Ð»ÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð¢ÐžÐ¿Ñ ÑÐ°Ð¹Ð»ÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÑÐ°ÐºÐžÐµ ÐºÐ°Ðº  MARC, CDS/ISIS, BibTex, Refer Ðž Procite ÐŒÐŸÐ¶ÐœÐŸ ÐžÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ Ð² Greenstone, ÐœÐŸ ÐžÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐœÐµÐ»ÑÐ·Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ ÐžÐ»Ðž ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ Ð² ÐÐœÑÐµÑÑÐµÐ¹ÑÐµ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ°ÑÑ. ÐÐ»Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ° ÑÐ°ÐºÐžÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐœÑÐ¶ÐœÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÑÑ ÐžÐŒ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÑ.</p>
+
+<p>Ð Ð°Ð·Ð²ÐµÑÑÑÐ²Ð°ÐœÐžÐµ ÑÐ°Ð¹Ð»Ð° Ð±Ð°Ð·Ñ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐŽÐµÐ»ÐžÑ ÐµÐ³ÐŸ ÐœÐ° ÐžÐœÐŽÐžÐ²ÐžÐŽÑÐ°Ð»ÑÐœÑÐµ ÑÐµÐºÑÐžÐž Ñ Ð¿ÑÐŸÑÐŒÐ°ÑÑÐžÐ²Ð°ÐµÐŒÑÐŒÐž Ðž ÑÐµÐŽÐ°ÐºÑÐžÑÑÐµÐŒÑÐŒÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒÐž. ÐÑÐŸÑÐµÑÑ ÐœÐµÐŸÐ±ÑÐ°ÑÐžÐŒ: ÐŸÑÐžÐ³ÐžÐœÐ°Ð»ÑÐœÑÐ¹ ÑÐ°Ð¹Ð» Ñ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒÐž ÑÐŽÐ°Ð»ÑÐµÑÑÑ.</p>
+
+<p>Ð Ð°Ð·Ð²ÐµÑÑÑÐ²Ð°ÐµÐŒÑÐµ ÑÐ°Ð¹Ð»Ñ ÐžÐŒÐµÑÑ Ð·ÐµÐ»ÐµÐœÑÑ ÐžÐºÐŸÐœÐºÑ Ð² ÐÐµÑÐµÐ²Ðµ ÐÐŸÐ»Ð»ÐµÐºÑÐžÐ¹. ÐÐ»Ñ ÑÐ°Ð·Ð²ÐŸÑÐ°ÑÐžÐ²Ð°ÐœÐžÑ ÐŸÐŽÐœÐŸÐ¹ ÐžÐ· ÐœÐžÑ
+ ÑÐµÐ»ÐºÐœÐžÑÐµ Ð¿ÑÐ°Ð²ÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐŸÐ¹ Ðž Ð²ÑÐ±ÐµÑÐžÑÐµ "Ð Ð°Ð·Ð²ÐµÑÐœÑÑÑ Ð±Ð°Ð·Ñ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+". ÐÐŸÑÐ²ÐžÑÑÑ Ð²ÑÐ¿Ð»ÑÐ²Ð°ÑÑÐµÐµ ÐŸÐºÐœÐŸ Ñ ÐŸÐ¿ÑÐžÑÐŒÐž ÑÐ°Ð·Ð²ÐµÑÑÑÐ²Ð°ÐœÐžÑ. ÐÐµÑÐ²Ð°Ñ ÐŸÐ¿ÑÐžÑ ("Ð¿Ð»Ð°Ð³ÐžÐœ") ÑÐºÐ°Ð·ÑÐ²Ð°ÐµÑ Ð¿Ð»Ð°Ð³ÐžÐœ ÐŽÐ»Ñ ÑÐ°Ð·Ð²ÐµÑÑÑÐ²Ð°ÐœÐžÑ. Ð Ð±ÐŸÐ»ÑÑÐžÐœÑÑÐ²Ðµ ÑÐ»ÑÑÐ°ÐµÐ², ÑÐŸÐ»ÑÐºÐŸ ÐŸÐŽÐžÐœ Ð¿Ð»Ð°Ð³ÐžÐœ Ð±ÑÐŽÐµÑ ÐŸÐ±ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÑÑ ÐºÐŸÐœÐºÑÐµÑÐœÑÐ¹ ÑÐžÐ¿ ÑÐ°Ð¹Ð»ÐŸÐ², ÐœÐŸ Ð² ÐœÐµÐºÐŸÑÐŸÑÑÑ
+ ÑÐ»ÑÑÐ°ÑÑ
+,ÐºÐŸÐ³ÐŽÐ° ÑÐ°Ð·ÐœÑÐµ ÑÐžÐ¿Ñ ÑÐ°Ð¹Ð»ÐŸÐ² ÐŒÐŸÐ³ÑÑ ÐžÐŒÐµÑÑ ÐŸÐŽÐžÐœÐ°ÐºÐŸÐ²ÑÐµ ÑÐ°ÑÑÐžÑÐµÐœÐžÑÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐŽÐ²Ð° Ð¿Ð»Ð°Ð³ÐžÐœÐ° ÐŽÐ»Ñ ÑÑÐŸÐ¹ ÐŸÐ±ÑÐ°Ð±ÐŸÑÐºÐž. ÐÐ¿ÑÐžÑ "input_encoding" ÑÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐºÐŸÐŽÐžÑÐŸÐ²ÐºÑ Ð±Ð°Ð·Ñ. ÐÐ¿ÑÐžÑ "metadata_set" ÑÐºÐ°Ð·ÑÐ²Ð°ÐµÑ, Ðº ÐºÐ°ÐºÐŸÐŒÑ ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÑ ÐœÐŸÐ²ÑÐµ Ð¿ÐŸÐ»Ñ. ÐÑÐ»Ðž ÐœÐž ÐŸÐŽÐœÐŸ ÐœÐµ ÑÐºÐ°Ð·Ð°ÐœÐŸ, Ð²Ð°Ñ ÑÐ¿ÑÐŸÑÑÑ ÐŸ ÐºÐ°Ð¶ÐŽÐŸÐŒ ÐžÐ· Ð¿ÐŸÐ»ÐµÐ¹: ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐºÐ°Ðº ÐœÐŸÐ²ÑÐ¹ ÑÐ»ÐµÐŒÐµÐœÑ Ðº ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÐŸÐ±ÑÐµÐŽÐžÐœÐžÑÑ Ñ ÐŽÑÑÐ³ÐžÐŒ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐŒ, Ð»ÐžÐ±ÐŸ ÐžÐ³ÐœÐŸÑÐžÑÐŸÐ²Ð°ÑÑ.</p>
+
+<p>ÐÐŸÐ³ÐŽÐ° ÑÐ°Ð¹Ð» ÑÐ°Ð·Ð²ÐŸÑÐ°ÑÐžÐ²Ð°ÐµÑÑÑ, ÑÐŸÐ·ÐŽÐ°ÐµÑÑÑ ÐœÐŸÐ²ÑÐ¹ Ð¿ÑÑÑÐŸÐ¹ ÐŽÐŸÐºÑÐŒÐµÐœÑ ÐŽÐ»Ñ ÐºÐ°Ð¶ÐŽÐŸÐ¹ Ð·Ð°Ð¿ÐžÑÐž, Ðž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐžÐ· ÐŽÐŸÐºÑÐŒÐµÐœÑÐ° Ð¿ÑÐžÑÐ²Ð°ÐžÐ²Ð°ÑÑÑÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ. ÐÐœÐž ÐžÐŒÐµÐœÑÑÑÑÑ ÐºÐ°Ðº 000001.nul, 000002.nul Ðž Ñ.ÐŽ. ÐÑÐ»Ðž ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœÐ° ÐŸÐ¿ÑÐžÑ &laquo;document_field&raquo; (ÐžÐŒÐµÐœÐž Ð¿ÐŸÐ»Ñ Ð±Ð°Ð·Ñ ÐŽÐ°ÐœÐœÑÑ
+), ÑÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÑÑÐŸÐ³ÐŸ Ð¿ÐŸÐ»Ñ, ÐµÑÐ»Ðž ÐŸÐœÐŸ ÐµÑÑÑ, Ð±ÑÐŽÐµÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑÑÑ ÐºÐ°Ðº ÐžÐŒÑ ÑÐ°Ð¹Ð»Ð°. ÐÑÐŸÑÐµÑÑ ÑÐ°Ð·Ð²ÐµÑÑÑÐ²Ð°ÐœÐžÑ ÑÐ°ÐºÐ¶Ðµ Ð¿ÐŸÐ¿ÑÑÐ°ÐµÑÑÑ Ð·Ð°Ð³ÑÑÐ·ÐžÑÑ ÑÐ°Ð¹Ð» Ðž ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐµÐ³ÐŸ Ð²ÐŒÐµÑÑÐŸ Ð¿ÑÑÑÐŸÐ³ÐŸ. ÐÐ¿ÑÐžÐž "document_prefix" Ðž "document_suffix" ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÐž ÐŽÐ»Ñ ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ Ð¿ÑÐ°Ð²ÐžÐ»ÑÐœÐŸÐ³ÐŸ URL ÐžÐ»Ðž Ð¿ÑÑÐž Ðº ÑÐ°Ð¹Ð»Ñ ÐžÐ· Ð·ÐœÐ°ÑÐµÐœÐžÑ Ð¿ÐŸÐ»Ñ document_field. ÐÐ¿ÑÐžÑ "records_per_folder" ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐ° ÐŽÐ»Ñ Ð³ÑÑÐ¿Ð¿ÐžÑÐŸÐ²Ð°ÐœÐžÑ Ð·Ð°Ð¿ÐžÑÐµÐ¹ Ð² Ð¿ÐŸÐŽÐ¿Ð°Ð¿ÐºÐž. ÐÑÐ»Ðž Ð±Ð°Ð·Ð° ÐŽÐ°ÐœÐœÑÑ
+ ÐŸÑÐµÐœÑ Ð²ÐµÐ»ÐžÐºÐ°, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÐµ ÑÑÐŸÐ¹ ÐŸÐ¿ÑÐžÐž ÑÑÐºÐŸÑÐžÑ Ð¿ÐŸÑÐ»ÐµÐŽÐŸÐ²Ð°ÑÐµÐ»ÑÐœÐŸÐµ ÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+.</p>
+
+<p>Ð Ð°Ð·Ð²ÐµÑÑÑÐ²Ð°ÐµÐŒÐŸÑÑÑ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÐµÑÑÑ ÑÐ°ÑÑÐžÑÐµÐœÐžÐµÐŒ ÑÐ°Ð¹Ð»Ð°. Ð ÐœÐµÐºÐŸÑÐŸÑÑÑ
+ ÑÐ»ÑÑÐ°ÑÑ
+ ÑÐ°Ð¹Ð»Ñ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐŸÑÐžÐ±ÐŸÑÐœÐŸ Ð¿ÐŸÐŒÐµÑÐµÐœÑ ÐºÐ°Ðº ÑÐ°Ð·Ð²ÐµÑÑÑÐ²Ð°ÐµÐŒÑÐµ. ÐÐ°Ð¿ÑÐžÐŒÐµÑ, Ð¿Ð»Ð°Ð³ÐžÐœ ProCite ÐŸÐ±ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÐµÑ ÑÐ°Ð¹Ð»Ñ Ñ ÑÐ°ÑÑÐžÑÐµÐœÐžÐµÐŒ .txt, ÐœÐŸ Ð±ÐŸÐ»ÑÑÐžÐœÑÑÐ²ÐŸ .txt ÑÐ°Ð¹Ð»ÐŸÐ² &ndash; Ð¿ÑÐŸÑÑÑÐµ ÑÐµÐºÑÑÐŸÐ²ÑÐµ, Ð° ÐœÐµ ÑÐ°Ð¹Ð»Ñ ProCite.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/exporting.htm
===================================================================
--- main/tags/2.83/gli/help/ru/exporting.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/exporting.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="exporting"><font size="5" face="Verdana"><strong>9.3: Ð­ÐºÑÐ¿ÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ Ð² ÐŽÑÑÐ³ÐžÐµ ÑÐŸÑÐŒÐ°ÑÑ.</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Greenstone ÐŒÐŸÐ¶ÐµÑ ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐŸÐŽÐµÑÐ¶ÐžÐŒÐŸÐµ Ðž/ÐžÐ»Ðž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð² ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÑÐ°ÐœÐŽÐ°ÑÑÐœÑÑ
+ ÑÐŸÑÐŒÐ°ÑÐŸÐ², Ð²ÐºÐ»ÑÑÐ°Ñ METS, Dspace Ðž MARCXML.</p>
+
+<p>ÐÐ»Ñ ÑÐºÑÐ¿ÐŸÑÑÐ° ÐŸÐŽÐœÐŸÐ¹ ÐžÐ»Ðž Ð±ÐŸÐ»ÐµÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÐŸÑÐºÑÐŸÐ¹ÑÐµ ÐŒÐµÐœÑ "Ð€Ð°Ð¹Ð»" Ð²ÑÐ±ÐµÑÐžÑÐµ "Ð­ÐºÑÐ¿ÐŸÑÑ...". ÐÐŸÐ¶ÐœÐŸ Ð²ÑÐ±ÑÐ°ÑÑ ÑÐŸÑÐŒÐ°Ñ ÑÐºÑÐ¿ÐŸÑÑÐ°, Ð²ÑÐ±ÑÐ°Ð² ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° "Ð­ÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ Ð²". Ð£ÐºÐ°Ð¶ÐžÑÐµ ÐžÐŒÑ ÐºÐ°ÑÐ°Ð»ÐŸÐ³Ð°, ÐºÑÐŽÐ° Ð²Ñ Ñ
+ÐŸÑÐžÑÐµ Ð¿ÐŸÐ»ÐŸÐ¶ÐžÑÑ ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÐœÑÐµ ÑÐ°Ð¹Ð»Ñ&mdash; ÑÐ°Ð¹Ð»Ñ Ð·Ð°ÐºÐ°ÐœÑÐžÐ²Ð°ÑÑÑÑ &lt;Ð¿ÑÑÐµÐŒ Ðº greenstone&gt;/tmp/exported_xxx, Ð³ÐŽÐµ xxx &ndash; ÑÐºÐ°Ð·Ð°ÐœÐœÐŸÐµ ÐžÐŒÑ. ÐÑÐ±ÐµÑÐžÑÐµ ÐŸÐŽÐœÑ ÐžÐ»Ðž Ð±ÐŸÐ»ÐµÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, Ð° Ð¿ÐŸÑÐŸÐŒ ÐºÐ»ÐžÐºÐœÐžÑÐµ "Ð­ÐºÑÐ¿ÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž".</p>
+
+<p>ÐÑÑÑ ÐœÐµÐºÐŸÑÐŸÑÑÐµ ÐŽÑÑÐ³ÐžÐµ ÐŸÐ¿ÑÐžÐž, ÑÐ¿ÐµÑÐžÑÐžÑÐœÑÐµ ÐŽÐ»Ñ ÑÐ°Ð·Ð»ÐžÑÐœÑÑ
+ ÑÐŸÑÐŒÐ°ÑÐŸÐ². ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÑÐºÐ°Ð·Ð°ÑÑ ÑÐ°Ð¹Ð» XSLT, ÐºÐŸÑÐŸÑÑÐ¹ Ð±ÑÐŽÐµÑ Ð¿ÑÐžÐŒÐµÐœÐµÐœ Ðº ÑÐµÐ·ÑÐ»ÑÑÐžÑÑÑÑÐžÐŒ XML-ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°ÐŒ ÐŽÐ»Ñ ÐœÐ°ÑÑÑÐŸÐ¹ÐºÐž ÑÐŸÑÐŒÐ°ÑÐ° Ð²ÑÐ²ÐŸÐŽÐ°. Ð­ÐºÑÐ¿ÐŸÑÑ Ð² MARCXML ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑ ÑÐ°Ð¹Ð» ÐŸÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÑ ÐŽÐ»Ñ ÑÐŸÐ¿ÐŸÑÑÐ°Ð²Ð»ÐµÐœÐžÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Greenstone Ð¿ÐŸÐ»ÑÐŒ MARC. Ð€Ð°Ð¹Ð» ÐŸÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ ÑÐŸÐ¿ÐŸÑÑÐ°Ð²Ð»ÑÐµÑ ÑÐŸÐ»ÑÐºÐŸ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Dublin Core. ÐÐŸÐ¶ÐœÐŸ ÑÐºÐ°Ð·Ð°ÑÑ ÑÐ²ÐŸÐ¹ ÑÐ°Ð¹Ð» ÐŸÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÑ Ð²ÐŒÐµÑÑÐŸ ÐœÐµÐ³ÐŸ.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/exportingcollections.htm
===================================================================
--- main/tags/2.83/gli/help/ru/exportingcollections.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/exportingcollections.htm	(revision 21123)
@@ -0,0 +1,22 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="exportingcollections"><font size="5" face="Verdana"><strong>9.4: Ð­ÐºÑÐ¿ÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÐœÐ° CD/DVD</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Greenstone ÐŒÐŸÐ¶ÐµÑ ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÐŸÐŽÐœÑ ÐžÐ»Ðž Ð±ÐŸÐ»ÐµÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ Ð² ÑÐ°ÐŒÐŸÑÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÑÑÐžÐ¹ÑÑ CD/DVD Ð¿ÐŸÐŽ Windows. Ð§ÑÐŸÐ±Ñ ÑÑÐŸ ÑÐŽÐµÐ»Ð°ÑÑ, ÐŽÐŸÐ»Ð¶ÐµÐœ  Ð±ÑÑÑ ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœ Ð¿Ð°ÐºÐµÑ "Ð­ÐºÑÐ¿ÐŸÑÑ Ð² CD-ROM". ÐÐœ ÐœÐµ Ð²ÐºÐ»ÑÑÐµÐœ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ, Ð¿ÐŸÑÑÐŸÐŒÑ ÐÑ ÐŽÐŸÐ»Ð¶ÐœÑ ÐžÐ·ÐŒÐµÐœÐžÑÑ ÐÐ°ÑÑ ÐžÐœÑÑÐ°Ð»Ð»ÑÑÐžÑ, ÑÑÐŸÐ±Ñ ÐµÐ³ÐŸ Ð²ÐºÐ»ÑÑÐžÑÑ.</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÐŸÑÐºÑÐŸÐ¹ÑÐµ ÐŒÐµÐœÑ "Ð€Ð°Ð¹Ð»" Ðž Ð²ÑÐ±ÐµÑÐžÑÐµ "Ð­ÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ Ð² CD-ROM/DVD...". ÐÐŸÑÐ²Ð»ÑÐµÑÑÑ ÑÐ¿ÐžÑÐŸÐº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÑÐŸÐ±ÑÐ°ÐœÐžÐ¹ Greenstone; ÑÐµÐ»ÐºÐœÐžÑÐµ ÐœÐ° Ð»ÑÐ±ÐŸÐ¹, ÑÑÐŸÐ±Ñ ÑÐ²ÐžÐŽÐµÑÑ ÐµÐµ ÐŸÐ¿ÐžÑÐ°ÐœÐžÐµ. ÐÐŸÐŒÐµÑÑÑÐµ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐµ Ð¿ÐŸÐ»Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÐŽÐ»Ñ ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÐžÑ. ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð²Ð²ÐµÑÑÐž ÐžÐŒÑ CD/DVD Ð² Ð¿ÐŸÐ»Ðµ: ÑÑÐŸ ÑÐŸ, ÑÑÐŸ Ð¿ÐŸÑÐ²ÐžÑÑÑ Ð² ÑÑÐ°ÑÑÐŸÐ²ÐŸÐŒ ÐŒÐµÐœÑ, ÐºÐŸÐ³ÐŽÐ° CD/DVD Ð±ÑÐŽÐµÑ ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœ. ÐÐ°ÑÐµÐŒ ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð­ÐºÑÐ¿ÐŸÑÑ". ÐÑÐŸÑÐµÑÑ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÐœÐžÐµ ÐŒÐœÐŸÐ³ÐžÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ² Ðž ÐŒÐŸÐ¶ÐµÑ Ð·Ð°ÐœÑÑÑ ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÐŒÐžÐœÑÑ.</p>
+
+<p>ÐÐŸÑÐ»Ðµ ÐŸÐºÐŸÐœÑÐ°ÐœÐžÑ Greenstone Ð¿ÐŸÐºÐ°Ð¶ÐµÑ ÐžÐŒÑ Ð¿Ð°Ð¿ÐºÐž, ÑÐŸÐŽÐµÑÐ¶Ð°ÑÐµÐ¹ ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÐœÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ Ð¿ÐžÑÑÑÐžÐ¹ ÐºÐŸÐŒÐ¿Ð°ÐºÑ-ÐŽÐžÑÐº ÐŽÐ»Ñ ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÐœÐžÑ ÐµÐ³ÐŸ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÐœÐ° ÑÐžÑÑÑÐ¹ CD/DVD.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/fileassociations.htm
===================================================================
--- main/tags/2.83/gli/help/ru/fileassociations.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/fileassociations.htm	(revision 21123)
@@ -0,0 +1,26 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="fileassociations"><font size="5" face="Verdana"><strong>9.2: ÐÑÑÐŸÑÐžÐ°ÑÐžÐž ÑÐ°Ð¹Ð»Ð°</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐÐœÑÐµÑÑÐµÐ¹Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑ ÑÐ¿ÐµÑÐžÑÐžÑÐµÑÐºÐžÐµ Ð¿ÑÐžÐºÐ»Ð°ÐŽÐœÑÐµ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÑ, ÑÑÐŸÐ±Ñ ÐŸÑÐºÑÑÐ²Ð°ÑÑ ÑÐ¿ÐµÑÐžÑÐžÑÐœÑÐµ ÑÐžÐ¿Ñ ÑÐ°Ð¹Ð»ÐŸÐ². Ð§ÑÐŸÐ±Ñ ÐžÐ·ÐŒÐµÐœÐžÑÑ Ð°ÑÑÐŸÑÐžÐžÑÐŸÐ²Ð°ÐœÐœÑÐµ ÑÐ°Ð¹Ð»Ñ ÐŸÑÐºÑÑÐ²Ð°ÑÑ ÐŒÐµÐœÑ "Ð€Ð°Ð¹Ð»" Ðž ÑÐµÐ»ÐºÐ°ÑÑ "ÐÑÑÐŸÑÐžÐžÑÐŸÐ²Ð°ÐœÐœÑÐµ ÑÐ°Ð¹Ð»Ñ".</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ Ð°ÑÑÐŸÑÐžÐ°ÑÐžÐž, Ð²ÑÐ±ÐµÑÐžÑÐµ ÑÐµÐ»ÐµÐ²ÐŸÐµ ÑÐ°ÑÑÐžÑÐµÐœÐžÐµ ÑÐ°Ð¹Ð»Ð° ÐžÐ· ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐ³ÐŸ ÑÐ¿ÐžÑÐºÐ° ÐžÐ»Ðž ÐœÐ°Ð¿ÐžÑÐžÑÐµ ÐœÐŸÐ²ÐŸÐµ ÑÐ°ÑÑÐžÑÐµÐœÐžÐµ (ÐœÐµ Ð²ÐºÐ»ÑÑÐ°Ñ "."). ÐÐ°ÑÐµÐŒ ÐžÐ»Ðž ÐœÐ°Ð¿ÐžÑÐžÑÐµ Ð² ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐµÐŒ Ð¿ÐŸÐ»Ðµ ÐºÐŸÐŒÐ°ÐœÐŽÑ,Ð·Ð°Ð¿ÑÑÐºÐ°ÑÑÑÑ Ð¶ÐµÐ»Ð°ÑÐµÐ»ÑÐœÐŸÐµ Ð¿ÑÐžÐ»ÐŸÐ¶ÐµÐœÐžÐµ,ÐžÐ»Ðž Ð²ÑÐ±ÐµÑÐžÑÐµ Ð¿ÑÐžÐ»ÐŸÐ¶ÐµÐœÐžÐµ ÐžÐ· ÐŽÐžÐ°Ð»ÐŸÐ³ÐŸÐ²ÐŸÐ³ÐŸ ÐŸÐºÐœÐ° "ÐÑÐŸÑÐŒÐŸÑÑ". ".%1" ÐŒÐŸÐ¶ÐµÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑÑÑ Ð² ÐºÐŸÐŒÐ°ÐœÐŽÐµ Ð·Ð°Ð¿ÑÑÐºÐ°, ÑÑÐŸÐ±Ñ Ð²ÑÑÐ°Ð²ÐžÑÑ ÐžÐŒÑ ÑÐ°Ð¹Ð»Ð°, ÐºÐŸÑÐŸÑÑÐ¹ ÐŽÐŸÐ»Ð¶ÐµÐœ ÐŸÑÐºÑÑÑÑÑÑ. ÐÐ°Ðº ÑÐŸÐ»ÑÐºÐŸ ÐŸÐœÐž Ð·Ð°Ð¿ÐŸÐ»ÐœÐµÐœÑ,Ð¿ÑÐœÐºÑ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ" ÑÑÐ°ÐœÐŸÐ²ÐžÑÑÑ ÐŽÐŸÑÑÑÐ¿ÐœÑÐŒ Ðž ÐŒÐŸÐ¶ÐœÐŸ ÑÐµÐ»ÑÐºÐŸÐŒ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ Ð°ÑÑÐŸÑÐžÐ°ÑÐžÑ.  </p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ Ð°ÑÑÐŸÑÐžÐ°ÑÐžÑ, Ð²ÑÐ±ÐµÑÐžÑÐµ ÑÑÑÐµÑÑÐ²ÑÑÑÐµÐµ ÑÐ°ÑÑÐžÑÐµÐœÐžÐµ ÑÐ°Ð¹Ð»Ð°. ÐÑÐ±Ð°Ñ ÑÑÑÐµÑÑÐ²ÑÑÑÐ°Ñ ÐºÐŸÐŒÐ°ÐœÐŽÐ° ÑÐ²ÑÐ·Ðž Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑÑÑ Ð² Ð¿ÐŸÐ»Ðµ Ð·Ð°Ð¿ÑÑÐºÐ° ÐºÐŸÐŒÐ°ÐœÐŽ. ÐÑÑÐµÐŽÐ°ÐºÑÐžÑÑÐ¹ÑÐµ ÐµÐµ Ðž Ð·Ð°ÑÐµÐŒ ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐ°ÐŒÐµÐœÐžÑÑ".</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ Ð°ÑÑÐŸÑÐžÐ°ÑÐžÑ, Ð²ÑÐ±ÐµÑÐžÑÐµ ÑÑÑÐµÑÑÐ²ÑÑÑÐµÐµ ÑÐ°ÑÑÐžÑÐµÐœÐžÐµ ÑÐ°Ð¹Ð»Ð° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ".(Ð Ð°ÑÑÐžÑÐµÐœÐžÐµ ÑÐ°Ð¹Ð»Ð° ÐŸÑÑÐ°ÐµÑÑÑ Ð² ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐŒ ÑÐ¿ÐžÑÐºÐµ "ÐÐ»Ñ ÐŸÐºÐŸÐœÑÐ°ÐœÐžÑ ÑÐ°Ð¹Ð»ÐŸÐ²").</p>
+
+<p>ÐÑÐŸÑÐžÐ°ÑÐžÐ²ÐœÑÐµ ÑÐ°Ð¹Ð»Ñ Ñ
+ÑÐ°ÐœÑÑÑÑ Ð² Ð³Ð»Ð°Ð²ÐœÐŸÐ¹ Ð¿Ð°Ð¿ÐºÐµ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ°, Ð² ÑÐ°Ð¹Ð»Ðµ, ÐœÐ°Ð·ÑÐ²Ð°ÐµÐŒÐŸÐŒ "associations.xml".</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/filteringthetree.htm
===================================================================
--- main/tags/2.83/gli/help/ru/filteringthetree.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/filteringthetree.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="filteringthetree"><font size="5" face="Verdana"><strong>4.8: Ð€ÐžÐ»ÑÑÑÐŸÐ²Ð°ÐœÐžÐµ ÐŽÐµÑÐµÐ²Ð°</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>"Ð€ÐžÐ»ÑÑÑÐŸÐ²Ð°ÐœÐžÐµ" ÐŽÐµÑÐµÐ²Ð° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ ÐÐ°ÐŒ ÑÑÐ¶Ð°ÑÑ Ð¿ÐŸÐžÑÐº ÑÐ¿ÐµÑÐžÑÐžÑÐµÑÐºÐžÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ².</p>
+
+<p>ÐÑÐœÐºÑ "ÐÐŸÐºÐ°Ð·Ð°ÑÑ ÑÐ°Ð¹Ð»Ñ" Ð² ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐŒ ÐŒÐµÐœÑ Ð¿ÐŸÐŽ ÐºÐ°Ð¶ÐŽÑÐŒ ÐŽÐµÑÐµÐ²ÐŸÐŒ Ð²ÑÐ²ÐŸÐŽÐžÑ ÑÐ¿ÐžÑÐŸÐº Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÑÑ
+ ÑÐžÐ»ÑÑÑÐŸÐ² ÑÐžÐ¿Ð° "Images".ÐÑÐ±ÐµÑÐžÑÐµ Ðž Ð²ÑÐµ Ð²ÑÐµÐŒÐµÐœÐœÐŸ ÑÐºÑÑÑÑÐµ ÑÐ°Ð¹Ð»Ñ Ð² ÐŽÐµÑÐµÐ²Ðµ.Ð§ÑÐŸÐ±Ñ Ð²ÐŸÑÑÑÐ°ÐœÐŸÐ²ÐžÑÑ ÐŽÐµÑÐµÐ²ÐŸ,Ð·Ð°ÐŒÐµÐœÐžÑÐµ ÑÐžÐ»ÑÑÑ ÑÐœÐŸÐ²Ð° ÐœÐ° "ÐÑÐµ ÑÐ°Ð¹Ð»Ñ".Ð­ÑÐž ÐŽÐµÐ¹ÑÑÐ²ÐžÑ ÐœÐµ ÐžÐ·ÐŒÐµÐœÑÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž Ð¿ÑÐž ÑÑÐŸÐŒ ÐŸÐœÐž ÐœÐµ Ð·Ð°ÑÑÐ°Ð³ÐžÐ²Ð°ÑÑ Ð¿Ð°Ð¿ÐºÐž Ð² ÐŽÐµÑÐµÐ²Ðµ. </p>
+
+<p>ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð·Ð°ÐŽÐ°ÑÑ ÐœÐ°ÑÑÑÐŸÐ¹ÐºÑ ÑÐžÐ»ÑÑÑÐ°,ÐœÐ°Ð¿ÐµÑÐ°ÑÐ°Ð² Ð² ÑÑ
+ÐµÐŒÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÐµ ÑÐ°Ð¹Ð»ÐŸÐ² (Ð¢ÐŸÐ»ÑÐºÐŸ ÐŽÐ»Ñ ÑÐµÐ¶ÐžÐŒÐŸÐ² Ð¡Ð¿ÐµÑÐžÐ°Ð»ÐžÑÑ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÑ
+ Ð¡ÐžÑÑÐµÐŒ Ðž Ð­ÐºÑÐ¿ÐµÑÑ).ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÑÑÐ°ÐœÐŽÐ°ÑÑÐœÑÐµ Ð°Ð±Ð±ÑÐµÐ²ÐžÐ°ÑÑÑÑ ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐ¹ ÑÐžÑÑÐµÐŒÑ ÑÐžÐ¿Ð° "*.*" ÐžÐ»Ðž "*.doc" ("*" ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÐµÑ Ð»ÑÐ±ÑÐŒ ÑÐžÐŒÐ²ÐŸÐ»Ð°ÐŒ). </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/formatstatements.htm
===================================================================
--- main/tags/2.83/gli/help/ru/formatstatements.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/formatstatements.htm	(revision 21123)
@@ -0,0 +1,39 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="formatstatements"><font size="5" face="Verdana"><strong>8.4: ÐÑÐŸÐ±ÐµÐœÐœÐŸÑÑÐž ÑÐŸÑÐŒÐ°ÑÐ°</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐµÐ±-ÑÑÑÐ°ÐœÐžÑÑ, ÐºÐŸÑÐŸÑÑÐµ ÐÑ Ð²ÐžÐŽÐžÑÐµ, ÐºÐŸÐ³ÐŽÐ° ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÐµ Greenstone, ÐœÐµ ÑÐ²Ð»ÑÑÑÑÑ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ ÑÐŸÑ
+ÑÐ°ÐœÐµÐœÐœÑÐŒÐž, Ð° ÑÐŸÐ·ÐŽÐ°ÑÑÑÑ "ÐœÐ° Ð»ÐµÑÑ", ÐºÐŸÐ³ÐŽÐ° Ð² ÐœÐžÑ
+ ÐµÑÑÑ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸÑÑÑ. ÐÐŸÐŒÐ°ÐœÐŽÑ ÑÐŸÑÐŒÐ°ÑÐ° ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑÑÑ ÐŽÐ»Ñ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ Ð¿ÐŸÑÐ²Ð»ÐµÐœÐžÑ ÑÑÐžÑ
+ ÑÐ³ÐµÐœÐµÑÐžÑÐŸÐ²Ð°ÐœÐœÑÑ
+ ÑÑÑÐ°ÐœÐžÑ. ÐÐœÐž Ð·Ð°ÑÑÐ°Ð³ÐžÐ²Ð°ÑÑ ÑÐ°ÐºÐžÐµ Ð²ÐµÑÐž,ÐºÐ°Ðº ÐŒÐµÑÑÐŸ Ð¿ÐŸÑÐ²Ð»ÐµÐœÐžÑ ÐºÐœÐŸÐ¿ÐºÐž,ÐºÐŸÐ³ÐŽÐ° ÐŽÐŸÐºÑÐŒÐµÐœÑ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑÑÑ,Ðž ÐºÐ°ÐºÐžÐµ ÑÐ²ÑÐ·Ðž ÐŸÑÐŸÐ±ÑÐ°Ð¶Ð°ÑÑÑÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐŸÐŒ DateList. ÐÐŸÐŒÐ°ÐœÐŽÑ ÑÐŸÑÐŒÐ°ÑÐ° ÐœÐµ Ð»ÐµÐ³ÐºÐŸ ÑÐ°Ð·ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÑÑ,Ðž ÐÑ ÐŽÐŸÐ»Ð¶ÐœÑ Ð¿ÑÐŸÑÐžÑÐ°ÑÑ Ð³Ð»Ð°Ð²Ñ 2 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone. Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ±ÑÑÐ¶ÐŽÐ°ÑÑÑÑ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž ÑÐŸÑÐŒÐ°ÑÐ° Ðž ÑÐŸ, ÐºÐ°Ðº ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ Ð¿ÑÐµÐŽÐŸÑÑÐ°Ð²Ð»ÑÐµÑ ÐŽÐŸÑÑÑÐ¿ Ðº ÐœÐžÐŒ. Ð "Ð Ð°Ð·ÐŽÐµÐ»Ð°Ñ
+ ÐŽÐžÐ·Ð°Ð¹ÐœÐ°" ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÑÐŸÐ±ÐµÐœÐœÐŸÑÑÐž ÑÐŸÑÐŒÐ°ÑÐ°".</p>
+
+<p>ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð¿ÑÐžÐŒÐµÐœÐžÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ ÑÐŸÑÐŒÐ°ÑÐ° Ðº ÑÐµÐŒÑ-ÐœÐžÐ±ÑÐŽÑ Ð² ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐŒ ÑÐ¿ÐžÑÐºÐµ "ÐÑÐ±ÐŸÑ ÑÑÐµÐŽÑÑÐ²",ÐºÐŸÑÐŸÑÑÐ¹ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÐºÐ°Ð¶ÐŽÑÐ¹ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ Ðž Ð²ÑÑÑÐŸÐµÐœÐœÑÐ¹ ÑÐ¿ÐžÑÐŸÐº ÑÑÐµÐŽÑÑÐ². ÐÐŸÐ³ÐŽÐ° ÐÑ Ð²ÑÐ±ÐžÑÐ°ÐµÑÐµ ÑÑÐµÐŽÑÑÐ²Ð°, ÐµÑÑÑ ÐŽÐ²Ð° ÑÐžÐ¿Ð° ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ. ÐÐµÐºÐŸÑÐŸÑÑÐµ ÑÑÐµÐŽÑÑÐ²Ð° ÑÐ²Ð»ÑÑÑÑÑ Ð¿ÑÐŸÑÑÐŸ ÐŽÐŸÑÑÑÐ¿ÐœÑÐŒÐž ÐžÐ»Ðž ÐœÐµÐŽÐŸÑÑÑÐ¿ÐœÑÐŒÐž,ÐŸÐœÐž ÑÐ¿ÑÐ°Ð²Ð»ÑÑÑÑÑ ÐºÐœÐŸÐ¿ÐºÐ°ÐŒÐž. ÐÑÑÐ³ÐžÐµ ÑÑÐµÐ±ÑÑÑ, ÑÑÐŸÐ±Ñ Ð±ÑÐ»Ð° ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐ° ÑÐŸÑÐŒÐ°ÑÐœÐ°Ñ ÑÑÑÐŸÐºÐ°. ÐÐ»Ñ ÐœÐžÑ
+ ÐžÐŒÐµÐµÑÑÑ ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐžÐ¹ ÑÐ¿ÐžÑÐŸÐº "ÐÐŸÐ·ÐŽÐµÐ¹ÑÑÐ²ÑÑÑÐžÐ¹ ÐºÐŸÐŒÐ¿ÐŸÐœÐµÐœÑ", ÑÑÐŸÐ±Ñ Ð²ÑÐ±ÑÐ°ÑÑ, Ðº ÐºÐ°ÐºÐŸÐ¹ ÑÐ°ÑÑÐž ÑÑÐµÐŽÑÑÐ² ÑÑÑÐŸÐºÐ° ÐŸÐ±ÑÐ°ÑÐ°ÐµÑÑÑ,ÐµÑÐ»Ðž ÑÑÐŸ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸ, ÐŸÐ±Ð»Ð°ÑÑÑ ÑÐµÐºÑÑÐ°   ("Ð¡ÑÑÐŸÐºÐ° ÑÐŸÑÐŒÐ°ÑÐ° HTML") ÐŽÐ»Ñ Ð²Ð²ÐŸÐŽÐ° ÑÑÑÐŸÐºÐž, Ðž Ð²ÑÐ±ÐŸÑ Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ "ÐÐµÑÐµÐŒÐµÐœÐœÑÑ
+". Ð§ÑÐŸÐ±Ñ Ð²ÑÑÐ°Ð²ÐžÑÑ Ð¿ÐµÑÐµÐŒÐµÐœÐœÑÑ Ð² ÑÐµÐºÑÑÑÑ Ð¿ÐŸÐ·ÐžÑÐžÑ Ð² ÑÐŸÑÐŒÐ°ÑÐœÑÑ ÑÑÑÐŸÐºÑ, Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÑ ÐžÐ· ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐ³ÐŸ ÑÐ¿ÐžÑÐºÐ°  Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÑÑÐ°Ð²ÐžÑÑ". </p>
+
+<p>ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ ÑÐŸÑÐŒÐ°Ñ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ ÐŽÐ»Ñ ÑÐ¿ÐµÑÐžÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐºÐŸÐŒÐ¿ÐŸÐœÐµÐœÑÐ°, Ð²ÑÐ±ÐžÑÐ°Ñ Ð±Ð»Ð°ÐœÐº ÑÐ²ÐŸÐ¹ÑÑÐ². Ð­ÑÐŸÑ ÑÐŸÑÐŒÐ°Ñ Ð·Ð°ÑÐµÐŒ Ð¿ÑÐžÐŒÐµÐœÑÐµÑÑÑ ÐºÐŸ Ð²ÑÐµÐŒ Ð¿ÑÐžÐŒÐµÐœÐžÐŒÑÐŒ ÑÐ²ÐŸÐ¹ÑÑÐ²Ð°ÐŒ, ÐµÑÐ»Ðž ÐŽÑÑÐ³ÐŸÐµ ÐœÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐŸ.</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐœÐŸÐ²ÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ ÑÐŸÑÐŒÐ°ÑÐ°,Ð²ÐœÐµÑÐžÑÐµ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ,ÐºÐ°Ðº ÐŸÐ±ÑÑÑÐœÐµÐœÐŸ Ð²ÑÑÐµ, Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐŸÑÐŒÐ°Ñ".ÐÐŸÐ²Ð°Ñ ÐºÐŸÐŒÐ°ÐœÐŽÐ° ÑÐŸÑÐŒÐ°ÑÐ° Ð¿ÐŸÑÐ²Ð»ÑÐµÑÑÑ Ð² ÑÐ¿ÐžÑÐºÐµ "Ð¢ÐµÐºÑÑÐžÐµ Ð·Ð°ÐŽÐ°ÐœÐœÑÐµ ÐºÐŸÐŒÐ°ÐœÐŽÑ ÑÐŸÑÐŒÐ°ÑÐ°".Ð¢ÐŸÐ»ÑÐºÐŸ ÐŸÐŽÐœÐ° ÐºÐŸÐŒÐ°ÐœÐŽÐ° ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÑÐ²ÑÐ·Ð°ÐœÐ° Ñ ÐºÐ°Ð¶ÐŽÐŸÐ¹ ÐºÐŸÐŒÐ±ÐžÐœÐ°ÑÐžÐµÐ¹ ÑÐ²ÐŸÐ¹ÑÑÐ²ÐŸ/ÐºÐŸÐŒÐ¿ÐŸÐœÐµÐœÑ.</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ ÑÐŸÑÐŒÐ°ÑÐ°, Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÑ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÐŸÑÐŒÐ°Ñ".</p>
+
+<p>ÐÐ° ÐŽÐŸÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»ÑÐœÐŸÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐµÐ¹ ÐŸ Ð¿ÐµÑÐµÐŒÐµÐœÐœÑÑ
+ Ðž ÐºÐŸÐŒÐ¿ÐŸÐœÐµÐœÑÐ°Ñ
+ ÑÑÐµÐŽÑÑÐ² ÐŸÐ±ÑÐ°ÑÐžÑÐµÑÑ Ðº Ð³Ð»Ð°Ð²Ðµ 2 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/formattingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/ru/formattingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/formattingacollection.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="formattingacollection"><font size="5" face="Verdana"><strong>8: ÐÐ°ÑÑÑÐŸÐ¹ÐºÐ° Ð²ÐœÐµÑÐœÐµÐ³ÐŸ Ð²ÐžÐŽÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐŸÑÐ»Ðµ ÑÐ±ÐŸÑÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð²Ñ ÐŽÐŸÐ»Ð¶ÐœÑ ÑÐµÑÐžÑÑ, ÐºÐ°Ðº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐŽÐŸÐ»Ð¶ÐœÐ° Ð±ÑÑÑ Ð¿ÐŸÐºÐ°Ð·Ð°ÐœÐ° Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ. ÐÐ°ÐºÐžÐµ ÐœÐ°Ð·Ð²Ð°ÐœÐžÑ ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ Ð² ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐŒ ÑÐ¿ÐžÑÐºÐµ ÐžÐœÐŽÐµÐºÑÐŸÐ² ÐœÐ° ÑÐŸÑÐŒÐµ Ð¿ÐŸÐžÑÐºÐ°? ÐÐ°Ðº ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ ÐŸÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÑ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÑ Ð¿ÐŸÐžÑÐºÐ°? ÐÐ°ÐºÐžÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ Ð¿ÐŸÐºÐ°Ð·Ð°ÐœÑ Ð¿ÑÐž Ð¿ÑÐŸÑÐŒÐŸÑÑÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°? ÐÑÐµ ÑÑÐŸ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐœÐ°ÑÑÑÐŸÐµÐœÐŸ; ÑÑÐ° ÑÐµÐºÑÐžÑ ÐŸÐ±ÑÑÑÐœÑÐµÑ, ÐºÐ°Ðº ÑÑÐŸ ÑÐŽÐµÐ»Ð°ÑÑ.</p>
+
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/generalsettings.htm
===================================================================
--- main/tags/2.83/gli/help/ru/generalsettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/generalsettings.htm	(revision 21123)
@@ -0,0 +1,24 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="generalsettings"><font size="5" face="Verdana"><strong>8.2: ÐÐ±ÑÐµÐµ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ±ÑÑÑÐœÑÐµÑÑÑ,ÐºÐ°Ðº Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ Ðž ÐžÐ·ÐŒÐµÐœÐžÑÑ ÐŸÐ±ÑÐžÐµ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž, ÐŸÑÐœÐŸÑÑÑÐžÐµÑÑ Ðº ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.Ð¡ÐœÐ°ÑÐ°Ð»Ð° Ð² "Ð Ð°Ð·ÐŽÐµÐ»Ð°Ñ
+ ÐŽÐžÐ·Ð°Ð¹ÐœÐ°" ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐ±ÑÐžÐµ"</p>
+
+<p>ÐÐŽÐµÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÑ,Ð¿ÑÐµÐŽÑÑÐŒÐŸÑÑÐµÐœÐœÑÐµ Ð¿ÑÐž ÑÐŸÐ·ÐŽÐ°ÐœÐžÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž,ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐžÐ·ÐŒÐµÐœÐµÐœÑ.</p>
+
+<p>Ð¡ÐœÐ°ÑÐ°Ð»Ð° ÐžÐŽÑÑ ÐºÐŸÐœÑÐ°ÐºÑÐœÑÐµ Ð°ÐŽÑÐµÑÐ° ÑÐ»ÐµÐºÑÑÐŸÐœÐœÐŸÐ¹ Ð¿ÐŸÑÑÑ ÑÐŸÐ·ÐŽÐ°ÑÐµÐ»Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž Ð¿ÐŸÐŽÐŽÐµÑÐ¶ÐžÐ²Ð°ÑÑÐµÐ³ÐŸ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð»ÐžÑÐ°. Ð¡Ð»ÐµÐŽÑÑÑÐµÐµ Ð¿ÐŸÐ»Ðµ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ ÐÐ°ÐŒ ÐžÐ·ÐŒÐµÐœÑÑÑ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. Ð¡Ð»ÐµÐŽÑÑÐµÐµ ÑÐºÐ°Ð·ÑÐ²Ð°ÐµÑ Ð¿Ð°Ð¿ÐºÑ, Ð² ÐºÐŸÑÐŸÑÐŸÐ¹ ÑÐŸÑ
+ÑÐ°ÐœÐµÐœÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÐœÐŸ ÐœÐµ Ð¿ÐŸÐŽÐ»ÐµÐ¶ÐžÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑÐŒ. Ð¡Ð»ÐµÐŽÑÑÑÐµÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÐµÑ (Ð² ÑÐŸÑÐŒÐµ URL) ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ,ÑÑÐŸÐ±Ñ Ð¿ÐŸÐºÐ°Ð·Ð°ÑÑ ÐœÐ°Ð²ÐµÑÑ
+Ñ ÑÐ»ÐµÐ²Ð° ÐŸÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÑÑÑÐ°ÐœÐžÑÑ ÐŸ ÐœÐµÐ¹, Ðž ÑÐ»ÐµÐŽÑÑÑÐµÐµ - ÐžÐºÐŸÐœÐºÐ°, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÐ°Ñ Ð² Greenstone ÑÑÑÐ°ÐœÐžÑÐ° ÐŽÐ»Ñ ÑÐ²ÑÐ·Ðž Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐµÐ¹. ÐÐŸÑÐ»Ðµ ÑÑÐŸÐ³ÐŸ, Ð²Ñ ÑÐŒÐŸÐ¶ÐµÑÐµ Ð²ÑÐŽÐµÐ»ÐžÑÑ Ð¿ÑÐœÐºÑ Ð³Ð°Ð»ÐŸÑÐºÐŸÐ¹, ÑÐºÐ°Ð·Ð°Ð², ÐŽÐŸÑÑÑÐ¿ÐœÐ° Ð»Ðž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐŽÑÑÐ³ÐžÐŒ. ÐÐ°ÐºÐŸÐœÐµÑ, ÑÐ»ÐµÐŽÑÐµÑ ÐŸÐ±Ð»Ð°ÑÑÑ ÑÐµÐºÑÑÐ° "ÐÐ¿ÐžÑÐ°ÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž",Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐœÐ°Ñ ÑÐ°ÐœÐµÐµ Ð² <a href="creatingacollection.htm">Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ ÐœÐŸÐ²ÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</a>.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/help.xml
===================================================================
--- main/tags/2.83/gli/help/ru/help.xml	(revision 21123)
+++ main/tags/2.83/gli/help/ru/help.xml	(revision 21123)
@@ -0,0 +1,905 @@
+<?xml version="1.0"?>
+<!DOCTYPE TutorialList [
+     <!ENTITY nbsp "&#160;">
+     <!ENTITY rarr "&#8594;">
+     <!ENTITY mdash "&#8212;">
+]>
+<!-- Russian GLI Help, translated by UNESCO, updated by Vyacheslav Bakharev and Sergey Karpov -->
+<Document>
+<Section name="introduction">
+<Title>
+<Text id="1">ÐÐ²ÐµÐŽÐµÐœÐžÐµ</Text>
+</Title>
+<Text id="2">ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ Greenstone - ÑÑÐŸ ÐžÐœÑÑÑÑÐŒÐµÐœÑ ÐŽÐ»Ñ ÑÐ±ÐŸÑÐ° Ðž ÐŸÐ±ÑÐ°Ð±ÐŸÑÐºÐž ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ² Ñ Ð¿ÐŸÑÐ»ÐµÐŽÑÑÑÐžÐŒ ÑÐŸÐ·ÐŽÐ°ÐœÐžÐµÐŒ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÑÐžÑÑÐŸÐ²ÑÑ
+ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐº.ÐÐœ ÐŸÐ±ÐµÑÐ¿ÐµÑÐžÐ²Ð°ÐµÑ ÐŽÐŸÑÑÑÐ¿ Ðº ÑÑÐœÐºÑÐžÐŸÐœÐ°Ð»ÑÐœÑÐŒ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÑÐŒ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐœÐŸÐ³ÐŸ ÐŸÐ±ÐµÑÐ¿ÐµÑÐµÐœÐžÑ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž Greenstone Ð³ÑÐ°ÑÐžÑÐµÑÐºÐžÐŒ Ð¿ÑÑÐµÐŒ Ðž ÑÐ°Ð±ÐŸÑÐŸÐ¹ ÐŒÑÑÑÑ.</Text>
+<Section name="ofmiceandmenus">
+<Title>
+<Text id="3">ÐÑÑÑ Ðž ÐÐµÐœÑ</Text>
+</Title>
+<Text id="4">Ð­ÑÐŸÑ ÑÐ°Ð·ÐŽÐµÐ» ÐŽÐ°ÐµÑ Ð±Ð°Ð·ÐŸÐ²ÑÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸ Ð²Ð·Ð°ÐžÐŒÐŸÐŽÐµÐ¹ÑÑÐ²ÐžÐž Ñ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐŸÐŒ  Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž. ÐÑÐ»Ðž ÐÑ Ð·ÐœÐ°ÐºÐŸÐŒÑ Ñ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐ°ÐŒÐž ÑÐžÐ¿Ð° Internet Explorer ÐžÐ»Ðž Microsoft office, Ð»ÐµÐ³ÐºÐŸ ÐŸÐ±ÑÐ°ÑÐ°ÐµÑÐµÑÑ Ñ ÐŒÑÑÑÑ Ðž ÐŒÐµÐœÑ, Ð¿ÑÐŸÐ¿ÑÑÑÐžÑÐµ <Reference target="howtoavoidthisdocument"/>.</Text>
+<Text id="5">ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÐµÑ ÑÐŸÐ³Ð»Ð°ÑÐµÐœÐžÑÐŒ Windows Microsoft Ðž ÑÑÐµÐ±ÑÐµÑ ÐŸÐ±ÑÑÐœÐŸÐ³ÐŸ Ð·ÐœÐ°ÐœÐžÑ Windows.</Text>
+<Text id="6">ÐÑÐ±Ð°Ñ ÑÐ°ÑÑÑ ÑÐºÑÐ°ÐœÐ°, Ñ ÐºÐŸÑÐŸÑÐŸÐ¹ ÐÑ Ð²Ð·Ð°ÐžÐŒÐŸÐŽÐµÐ¹ÑÑÐ²ÑÐµÑÐµ, ÑÐžÐ¿Ð° ÐºÐœÐŸÐ¿ÐºÐž ÐžÐ»Ðž ÐŸÐ±Ð»Ð°ÑÑÐž ÑÐµÐºÑÑÐ°,ÐœÐ°Ð·ÑÐ²Ð°ÐµÑÑÑ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÐµÐŒ. Ð Ð»ÑÐ±ÐŸÐµ Ð·Ð°ÐŽÐ°ÐœÐœÐŸÐµ Ð²ÑÐµÐŒÑ ÐŸÐŽÐžÐœ ÑÐ»ÐµÐŒÐµÐœÑ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ, ÐœÐ°Ð·ÑÐ²Ð°ÐµÐŒÑÐ¹ "ÑÐŸÐºÑÑ",Ð²ÑÐŽÐµÐ»ÑÐµÑÑÑ Ð¿ÐŸÐŽÑÐ²ÐµÑÐºÐŸÐ¹ Ðž ÐŸÑÐºÐ»ÐžÐºÐ°ÐµÑÑÑ ÐœÐ° ÐŽÐµÐ¹ÑÑÐ²ÐžÐµ ÐºÐ»Ð°Ð²ÐžÐ°ÑÑÑÑ. ÐÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÑÑ ÐÐ°ÐŒ Ð²ÑÐ±ÐžÑÐ°ÑÑ ÑÑÐ°ÑÑÐºÐž, ÐºÐŸÑÐŸÑÑÐµ Ð²ÑÐŽÐµÐ»ÑÑÑÑÑ ÑÐµÐŒÐœÐŸÑÐžÐœÐžÐŒ ÑÐ²ÐµÑÐŸÐŒ. ÐÐµÐºÐŸÑÐŸÑÑÐµ ÑÐ»ÐµÐŒÐµÐœÑÑ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ ÐŸÑÐŸÐ±ÑÐ°Ð¶Ð°ÑÑÑÑ Ñ Ð¿ÐŸÐœÐžÐ¶ÐµÐœÐœÐŸÐ¹ ÑÑÐºÐŸÑÑÑÑ, Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°Ñ ÑÐµÐŒ ÑÐ°ÐŒÑÐŒ, ÑÑÐŸ ÐŸÐœÐž Ð·Ð°Ð±Ð»ÐŸÐºÐžÑÐŸÐ²Ð°ÐœÑ.</Text>
+<Text id="7">ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð¿ÐµÑÐµÐŒÐµÑÐ°ÑÑÑÑ Ðž ÐŽÐµÐ¹ÑÑÐ²ÐŸÐ²Ð°ÑÑ  Ð»ÐµÐ²ÐŸÐ¹ ÐžÐ»Ðž Ð¿ÑÐ°Ð²ÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐ°ÐŒÐž ÐŒÑÑÐž ÐŸÐ±ÑÑÐœÑÐŒ ÑÐ¿ÐŸÑÐŸÐ±ÐŸÐŒ. ÐÐœÐŸÐ³ÐžÐµ ÐºÐŸÐŒÐ¿ÐŸÐœÐµÐœÑÑ ÑÐ°ÐºÐ¶Ðµ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÑÑ ÐÐ°ÐŒ "ÑÑÐœÑÑÑ" ÐžÑ
+, ÐœÐ°Ð¶ÐžÐŒÐ°Ñ Ðž ÑÐŽÐµÑÐ¶ÐžÐ²Ð°Ñ Ð»ÐµÐ²ÑÑ ÐºÐœÐŸÐ¿ÐºÑ ÐŒÑÑÐž, Ð¿ÐµÑÐµÐŒÐµÑÐ°ÑÑ ÐžÑ
+ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÐŒÑÑÐž Ðž ÐŸÑÑÐ°Ð²ÐžÑÑ ÐžÑ
+ Ð² ÐŽÑÑÐ³ÐŸÐŒ ÐŒÐµÑÑÐµ, ÐŸÑÐ¿ÑÑÐºÐ°Ñ ÐºÐœÐŸÐ¿ÐºÑ. ÐÐŸÑÐµÐœÑÐžÐ°Ð»ÑÐœÑÐµ ÐŸÐ±ÑÐµÐºÑÑ ÐœÐ°Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐžÐ·ÐŒÐµÐœÑÑÑ ÑÐ²ÐŸÐ¹ Ð²ÐžÐŽ, ÐºÐŸÐ³ÐŽÐ° ÐºÐŸÐŒÐ¿ÐŸÐœÐµÐœÑ ÑÐºÐŸÐ»ÑÐ·ÐžÑ Ð¿ÐŸ ÐœÐžÐŒ.  </Text>
+<Text id="8">ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐºÐ»Ð°Ð²ÐžÐ°ÑÑÑÑ ÐŽÐ»Ñ Ð·Ð°Ð¿ÐžÑÐž Ð² ÐŸÐ±Ð»Ð°ÑÑÐž ÑÐµÐºÑÑÐ°. ÐÐ»ÑÑÐµÑÐœÐ°ÑÐžÐ²Ñ ÐºÐ»Ð°Ð²ÐžÐ°ÑÑÑÐµ ÐŽÐŸÑÑÑÐ¿ÐœÑ ÐŽÐ»Ñ ÐŒÐœÐŸÐ³ÐžÑ
+ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ, ÐŸÐ±ÐŸÐ·ÐœÐ°ÑÐµÐœÐœÑÑ
+ ÐºÐ»ÑÑÐµÐ²ÑÐŒ ÐžÐŒÐµÐœÐµÐŒ Ð² ÐºÐ²Ð°ÐŽÑÐ°ÑÐœÑÑ
+ ÑÐºÐŸÐ±ÐºÐ°Ñ
+. Ð Ð¿ÑÐžÐŒÐµÑÑ, [Tab] ÐžÐ·ÐŒÐµÐœÑÐµÑ ÑÐŸÐºÑÑ. ÐÐœÐ°Ðº Ð¿Ð»ÑÑ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ, ÑÑÐŸ ÐŽÑÑÐ³ÐžÐµ ÐºÐ»Ð°Ð²ÐžÑÐž ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ ÐœÐ°Ð¶Ð°ÑÑ ÐŸÐŽÐœÐŸÐ²ÑÐµÐŒÐµÐœÐœÐŸ. </Text>
+<Text id="11">ÐÑÐ¹ÐŽÐžÑÐµ ÐžÐ· Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÑ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ°, Ð²ÑÐ±ÐžÑÐ°Ñ Ð¿ÑÐœÐºÑ "ÐÑÑ
+ÐŸÐŽ" Ð² ÐŒÐµÐœÑ "Ð€Ð°Ð¹Ð»Ð°". ÐÐ°ÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð±ÑÐŽÐµÑ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ  ÑÐŸÑ
+ÑÐ°ÐœÐµÐœÐ°.</Text>
+</Section>
+<Section name="howtoavoidthisdocument">
+<Title>
+<Text id="12">ÐÐ°Ðº ÐžÐ·Ð±ÐµÐ¶Ð°ÑÑ ÑÑÐµÐœÐžÑ ÑÑÐŸÐ³ÐŸ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°</Text>
+</Title>
+<Text id="13">ÐÐµ ÑÐžÑÐ°Ð¹ÑÐµ ÑÑÐŸÑ ÑÐµÐºÑÑ Ð¿ÐŸÐŒÐŸÑÐž Ð¿ÐŸÐ»ÐœÐŸÑÑÑÑ! ÐÐŸÑÑÐ°ÑÐŸÑÐœÐŸ Ð¿ÑÐŸÑÐµÑÑÑ, ÐºÐ°Ðº ÑÑÐŒÐµÑÑ Ð¿ÐŸÐ»ÑÑÐžÑÑ Ð¿ÐŸÐŒÐŸÑÑ, ÐºÐŸÐ³ÐŽÐ° ÐÑ ÐœÑÐ¶ÐŽÐ°ÐµÑÐµÑÑ Ð² ÑÑÐŸÐŒ.  </Text>
+<Text id="14">ÐÑÐœÐºÑÑ ÐŒÐµÐœÑ "ÐÐŸÐŒÐŸÑÑ" ÑÐºÐ°Ð·ÑÐ²Ð°ÑÑ ÑÐµ ÑÐ°Ð·ÐŽÐµÐ»Ñ,ÐºÐŸÑÐŸÑÑÐµ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐœÐ°ÐžÐ±ÐŸÐ»ÐµÐµ Ð°ÐŽÐµÐºÐ²Ð°ÑÐœÑÐŒÐž ÐŽÐ»Ñ Ð¿ÐŸÐŒÐŸÑÐž, Ðž ÑÐŸÐ¿ÑÐŸÐ²ÐŸÐ¶ÐŽÐ°ÑÑÑÑ ÐœÐµÐ±ÐŸÐ»ÑÑÐžÐŒ ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµÐŒ ÐºÐœÐžÐ³Ðž  </Text>
+<Text id="15">ÐÐ»Ñ ÐŒÐœÐŸÐ³ÐžÑ
+ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ, ÐµÑÐ»Ðž ÐÑ ÑÐ°Ð·ÐŒÐµÑÐ°ÐµÑÐµ ÐŒÑÑÑ ÐœÐ° ÐœÐžÑ
+,Ð¿ÐŸÑÐ²Ð»ÑÐµÑÑÑ  "Ð¿ÐŸÐŽÑÐºÐ°Ð·ÐºÐ°",ÐºÐŸÑÐŸÑÐ°Ñ ÐŸÐ±ÑÑÑÐœÑÐµÑ ÐŽÐµÐ¹ÑÑÐ²ÐžÑ,ÐºÐŸÑÐŸÑÑÐµ ÐŸÐœÐž Ð²ÑÐ¿ÐŸÐ»ÐœÑÑÑ  </Text>
+<Text id="16">ÐÐµÑÐµÐŽ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÐµÐŒ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐŒ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐŸÐŒ, ÑÐœÐ°ÑÐ°Ð»Ð° Ð¿ÑÐŸÑÑÐžÑÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°ÑÐžÑ Greenstone/</Text>
+</Section>
+</Section>
+<Section name="startingoff">
+<Title>
+<Text id="17">ÐÐŸ ÑÑÐ°ÑÑÐ°</Text>
+</Title>
+<Text id="18">Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÑÐ°ÑÑÐºÐ°Ð·Ð°ÐœÐŸ, ÐºÐ°Ðº ÑÐŸÐ·ÐŽÐ°Ð²Ð°ÑÑ, Ð·Ð°Ð³ÑÑÐ¶Ð°ÑÑ Ðž ÑÐŽÐ°Ð»ÑÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.</Text>
+<Section name="creatingacollection">
+<Title>
+<Text id="19">Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ ÐœÐŸÐ²ÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Text>
+</Title>
+<Text id="20">Ð§ÑÐŸÐ±Ñ ÑÐŸÐ·ÐŽÐ°ÑÑ ÐœÐŸÐ²ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÐŸÑÐºÑÐŸÐ¹ÑÐµ ÐŒÐµÐœÑ "Ð€Ð°Ð¹Ð»" Ðž Ð²ÑÐ±ÐµÑÐžÑÐµ Ð² ÐœÑÐŒ Ð¿ÑÐœÐºÑ "ÐÐŸÐ²ÑÐ¹...". ÐÐµÐºÐŸÑÐŸÑÑÐµ Ð¿ÐŸÐ»Ñ ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ ÐŸÐ±ÑÐ·Ð°ÑÐµÐ»ÑÐœÐŸ Ð·Ð°Ð¿ÐŸÐ»ÐœÐµÐœÑ, ÐœÐŸ ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð·Ð°ÐŒÐµÐœÐžÑÑ ÐžÑ
+ Ð·ÐœÐ°ÑÐµÐœÐžÑ Ð¿ÐŸÐ·Ð¶Ðµ, ÐµÑÐ»Ðž ÐÑ Ð² ÑÑÐŸÐŒ ÐœÑÐ¶ÐŽÐ°ÐµÑÐµÑÑ Ñ ÑÐŸÑÐºÐž Ð·ÑÐµÐœÐžÑ ÐŽÐžÐ·Ð°Ð¹ÐœÐ°.</Text>
+<Text id="21">ÐÐ°Ð³Ð»Ð°Ð²ÐžÐµ "ÐÐ°Ð·Ð²Ð°ÐœÐžÐµ/Ð·Ð°Ð³ÐŸÐ»ÐŸÐ²ÐŸÐº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž" - ÑÑÐŸ ÑÐµÐºÑÑ, ÑÐ°ÑÐ¿ÐŸÐ»ÐŸÐ¶ÐµÐœÐœÑÐ¹ ÐœÐ°Ð²ÐµÑÑ
+Ñ ÐŽÐŸÐŒÐ°ÑÐœÐµÐ¹ ÑÑÑÐ°ÐœÐžÑÑ ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÐœÐŸ ÐŒÐŸÐ¶ÐµÑ ÐžÐŒÐµÑÑ Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐ»ÑÐœÑÑ ÐŽÐ»ÐžÐœÑ.</Text>
+<Text id="22">"ÐÐ¿ÐžÑÐ°ÐœÐžÐµ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ" ÐŽÐŸÐ»Ð¶ÐœÐŸ Ð¿ÑÐµÐŽÑÑÐ°Ð²ÐžÑÑ ÐºÐ°Ðº ÐŒÐŸÐ¶ÐœÐŸ ÐŽÐµÑÐ°Ð»ÑÐœÐµÐµ ÑÐŸ,ÐŸ ÑÑÐŒ ÑÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ. ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÐºÐ»Ð°Ð²ÐžÑÑ [Enter] ÐŽÐ»Ñ ÑÐŸÐ³ÐŸ,ÑÑÐŸÐ±Ñ ÑÐ°Ð·Ð±ÐžÑÑ ÐŸÐ¿ÐžÑÐ°ÐœÐžÐµ ÐœÐ° Ð¿Ð°ÑÐ°Ð³ÑÐ°ÑÑ.</Text>
+<Text id="23">ÐÐ°ÐºÐŸÐœÐµÑ ÐÑ ÐŽÐŸÐ»Ð¶ÐœÑ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ, ÐŽÐŸÐ»Ð¶ÐœÐ° Ð»Ðž ÐœÐŸÐ²Ð°Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐžÐŒÐµÑÑ ÑÐŸÑ Ð¶Ðµ ÑÐ°ÐŒÑÐ¹ Ð²ÐžÐŽ Ðž ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÑÑÐŸ Ðž ÑÑÑÐµÑÑÐ²ÑÑÑÐ°Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÐžÐ»Ðž Ð¶Ðµ ÐœÐ°ÑÐ°ÑÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ "ÐÐŸÐ²ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ".</Text>
+<Text id="24">Ð©ÐµÐ»ÐºÐœÐžÑÐµ "OK", ÑÑÐŸÐ±Ñ ÑÐŸÐ·ÐŽÐ°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ. ÐÑÐ»Ðž ÐÑ Ð²ÑÐ±ÑÐ°Ð»Ðž "ÐÐŸÐ²Ð°Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ", ÑÐŸ ÐÑ ÐŽÐŸÐ»Ð¶ÐœÑ Ð²Ð²ÐµÑÑÐž ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÑÑÐŸÐ±Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐžÑ
+ Ð² ÑÑÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð²ÑÐ±ÑÐ°ÑÑ Ð±ÐŸÐ»ÑÑÐµ,ÑÐµÐŒ ÐŸÐŽÐœÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐµ, Ð° ÐŒÐŸÐ¶ÐµÑÐµ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐŽÑÑÐ³ÐžÐµ Ð¿ÐŸÐ·Ð¶Ðµ. </Text>
+<Text id="25">ÐÐ°Ð¶Ð°ÑÐžÐµ ÐºÐ»Ð°Ð²ÐžÑÐž "ÐÑÐŒÐµÐœÐžÑÑ" ÐœÐµÐŒÐµÐŽÐ»ÐµÐœÐœÐŸ Ð²ÐŸÐ·Ð²ÑÐ°ÑÐ°ÐµÑ ÐÐ°Ñ Ðº Ð³Ð»Ð°Ð²ÐœÐŸÐŒÑ ÑÐºÑÐ°ÐœÑ. </Text>
+</Section>
+<Section name="savingacollection">
+<Title>
+<Text id="26">Ð¡ÐŸÑ
+ÑÐ°ÐœÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Text>
+</Title>
+<Text id="27">Ð¡ÐŸÑ
+ÑÐ°ÐœÑÐ¹ÑÐµ ÐÐ°ÑÑ ÑÐ°Ð±ÐŸÑÑ ÑÐµÐ³ÑÐ»ÑÑÐœÐŸ, ÐŸÑÐºÑÑÐ²Ð°Ñ ÐŒÐµÐœÑ "Ð€Ð°Ð¹Ð»" Ðž Ð²ÑÐ±ÐžÑÐ°Ñ Ð² ÐœÑÐŒ Ð¿ÑÐœÐºÑ "Ð¡ÐŸÑ
+ÑÐ°ÐœÐžÑÑ". Ð¡ÐŸÑ
+ÑÐ°ÐœÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž - ÑÑÐŸ ÐœÐµ ÑÐŸ Ð¶Ðµ ÑÐ°ÐŒÐŸÐµ, ÐºÐ°Ðº  ÑÐŽÐµÐ»Ð°ÑÑ ÐµÑ Ð³ÐŸÑÐŸÐ²ÐŸÐ¹ Ðº ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ Ð² Greenstone.
+(see <Reference target="producingthecollection"/>).</Text>
+<Text id="28">ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ Ð·Ð°ÑÐžÑÐ°ÐµÑ ÐÐ°ÑÑ ÑÐ°Ð±ÐŸÑÑ Ð¿ÑÑÑÐŒ ÑÐŸÑ
+ÑÐ°ÐœÐµÐœÐžÑ ÐµÑ Ð²ÑÑÐºÐžÐ¹ ÑÐ°Ð·, ÐºÐŸÐ³ÐŽÐ° ÐÑ Ð²ÑÑ
+ÐŸÐŽÐžÑÐµ ÐžÐ· Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÑ ÐžÐ»Ðž Ð·Ð°Ð³ÑÑÐ¶Ð°ÐµÑÐµ ÐŽÑÑÐ³ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ.</Text>
+<Text id="29a">ÐÐŸÐ»Ð»ÐµÐºÑÐžÐž ÑÐŸÑ
+ÑÐ°ÐœÑÑÑÑÑ Ð² Ð¿Ð°Ð¿ÐºÑ Ð²ÐœÑÑÑÐž Ð¿Ð°Ð¿ÐºÐž "collect" Ð²Ð°ÑÐµÐ¹ ÐžÐœÑÑÐ°Ð»Ð»ÑÑÐžÐž Greenstone. ÐÐŒÐµÐœÑÑÑÑÑ ÐŸÐœÐž ÑÐŸÐºÑÐ°ÑÐµÐœÐœÐŸÐ¹ Ð²ÐµÑÑÐžÐµÐ¹ ÐœÐ°Ð·Ð²Ð°ÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÐŸÐºÑÐŒÐµÐœÑÑ ÑÐŸÑ
+ÑÐ°ÐœÑÑÑÑÑ Ð² Ð¿ÐŸÐŽÐ¿Ð°Ð¿ÐºÑ "import", Ð° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ - Ð² ÑÐ°Ð¹Ð»Ñ "metadata.xml" ÑÑÐžÑ
+ Ð¿Ð°Ð¿ÐŸÐº. ÐÐŸÐœÑÐžÐ³ÑÑÐ°ÑÐžÐŸÐœÐ°Ñ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÑÐŸÑ
+ÑÐ°ÐœÑÐµÑÑÑ Ð² ÑÐ°Ð¹Ð» "collect.cfg" Ð¿ÐŸÐŽÐ¿Ð°Ð¿ÐºÐž "etc". ÐÐµÐºÐŸÑÐŸÑÐ°Ñ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÑÐ°ÐºÐ¶Ðµ ÑÐŸÑ
+ÑÐ°ÐœÑÐµÑÑÑ Ð² ÑÐ°Ð¹Ð» Ñ ÐžÐŒÐµÐœÐµÐŒ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž ÑÐ°ÑÑÐžÑÐµÐœÐžÐµÐŒ ".col".</Text>
+</Section>
+<Section name="openingacollection">
+<Title>
+<Text id="30">ÐÑÐºÑÑÑÐžÐµ ÑÑÑÐµÑÑÐ²ÑÑÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Text>
+</Title>
+<Text id="31">ÐÐ»Ñ ÑÐŸÐ³ÐŸ ÑÑÐŸÐ±Ñ ÐŸÑÐºÑÑÑÑ ÑÑÑÐµÑÑÐ²ÑÑÑÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, Ð²ÑÐ±ÐµÑÐžÑÐµ "ÐÑÐºÑÑÑÑ" Ð² ÐŒÐµÐœÑ "Ð€Ð°Ð¹Ð»",ÑÑÐŸÐ±Ñ Ð±ÑÑÑÑÐŸ Ð¿ÐµÑÐµÐ¹ÑÐž Ðº ÐÑÐºÑÑÑÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÐŸÑÐ²Ð»ÑÐµÑÑÑ ÑÐ¿ÐžÑÐŸÐº ÐÐ°ÑÐžÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ Ð² Greenstone. ÐÑÐ±ÐµÑÐžÑÐµ ÐŸÐŽÐœÑ,ÑÑÐŸÐ±Ñ ÑÐ²ÐžÐŽÐµÑÑ ÐµÐµ ÐŸÐ¿ÐžÑÐ°ÐœÐžÐµ,Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ   "OÑÐºÑÑÑÑ", ÑÑÐŸÐ±Ñ Ð·Ð°Ð³ÑÑÐ·ÐžÑÑ ÐµÐµ.</Text>
+<Text id="32">Ð ÑÐ»ÑÑÐ°Ðµ, ÐµÑÐ»Ðž Ð±ÐŸÐ»ÑÑÐµ ÑÐµÐŒ ÐŸÐŽÐœÐ° Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐ° ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ° Greenstone Ð²Ð²ÐŸÐŽÐžÑÑÑ ÐŸÐŽÐœÐŸÐ²ÑÐµÐŒÐµÐœÐœÐŸ, ÑÐµÐ»ÐµÐ²Ð°ÐœÑÐœÑÐµ ÐŽÐžÑÐµÐºÑÑÐžÐž "Ð·Ð°ÐºÑÑÑÑ",ÑÑÐŸÐ±Ñ Ð¿ÑÐµÐŽÐŸÑÐ²ÑÐ°ÑÐžÑÑ ÐœÐ°Ð»ÐŸÐ¶ÐµÐœÐžÐµ.ÐÑÐž ÐŸÑÐºÑÑÑÐžÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐœÐµÐ±ÐŸÐ»ÑÑÐŸÐ¹ Ð²ÑÐµÐŒÐµÐœÐœÑÐ¹ Ð±Ð»ÐŸÐºÐžÑÑÑÑÐžÐ¹ ÑÐ°Ð¹Ð» ÑÐŸÐ·ÐŽÐ°ÐµÑÑÑ Ð² ÐµÑ Ð¿Ð°Ð¿ÐºÐµ.ÐÐµÑÐµÐŽ ÐŸÑÐºÑÑÑÐžÐµÐŒ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐŽÐžÑ Ð¿ÑÐŸÐ²ÐµÑÐºÑ,ÑÑÐŸÐ±Ñ ÑÐ±ÐµÐŽÐžÑÑÑÑ,ÑÑÐŸ ÐœÐžÐºÐ°ÐºÐžÑ
+ Ð±Ð»ÐŸÐºÐžÑÑÑÑÐžÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ² ÐœÐµ ÑÑÑÐµÑÑÐ²ÑÐµÑ. ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÑÐºÐ°Ð·Ð°ÑÑ,Ð·Ð°ÐºÑÑÑÐ° Ð»Ðž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, Ð¿ÐŸ ÑÐ²ÐµÑÑ ÐµÑ ÐžÐºÐŸÐœÐºÐž:Ð·ÐµÐ»ÑÐœÑÐ¹ - ÐŽÐ»Ñ ÐœÐŸÑÐŒÐ°Ð»ÑÐœÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž,ÐºÑÐ°ÑÐœÑÐ¹ - ÐŽÐ»Ñ Ð·Ð°ÐºÑÑÑÐŸÐ¹. ÐÐŽÐœÐ°ÐºÐŸ,ÐºÐŸÐ³ÐŽÐ° ÐžÐ· ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ° Ð²ÑÑ
+ÐŸÐŽÑÑ Ð¿ÑÐµÐ¶ÐŽÐµÐ²ÑÐµÐŒÐµÐœÐœÐŸ, Ð±Ð»ÐŸÐºÐžÑÑÑÑÐžÐ¹ ÑÐ°Ð¹Ð» ÐžÐœÐŸÐ³ÐŽÐ° ÐŸÑÑÐ°ÐµÑÑÑ ÐœÐ° ÐŒÐµÑÑÐµ. ÐÐŸÐ³ÐŽÐ° ÐÑ ÐŸÑÐºÑÑÐ²Ð°ÐµÑÐµ ÑÐ°ÐºÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÐÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ° Ð·Ð°Ð¿ÑÐ°ÑÐžÐ²Ð°ÐµÑ,Ñ
+ÐŸÑÐžÑÐµ Ð»Ðž ÐÑ "ÑÐºÑÐ°ÑÑÑ" ÐµÐ³ÐŸ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÐµ. ÐÐžÐºÐŸÐ³ÐŽÐ° ÐœÐµ ÐŽÐµÐ»Ð°Ð¹ÑÐµ ÑÑÐŸÐ³ÐŸ,ÐµÑÐ»Ðž ÐºÑÐŸ-ÑÐŸ ÐµÑÐµ Ð² ÑÐŸ Ð¶Ðµ ÑÐ°ÐŒÐŸÐµ Ð²ÑÐµÐŒÑ ÑÐ°Ð±ÐŸÑÐ°ÐµÑ.</Text>
+<Text id="33">ÐÐŸÐ³ÐŽÐ° ÐÑ ÐŸÑÐºÑÑÐ²Ð°ÐµÑÐµ ÐºÐŸÐ»ÐµÐºÑÐžÑ, ÐºÐŸÑÐŸÑÐ°Ñ ÑÐŸÐ·ÐŽÐ°ÐœÐ° ÐœÐµ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ°  Greenstone, ÐÐ°Ñ Ð¿ÐŸÐ¿ÑÐŸÑÑÑ Ð²ÑÐ±ÑÐ°ÑÑ ÐœÐ°Ð±ÐŸÑ (ÐžÐ»Ðž ÐœÐ°Ð±ÐŸÑÑ) ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+. ÐÑÐ»Ðž ÐœÐž ÐŸÐŽÐžÐœ ÐœÐµ ÐŸÑÐŸÐ±ÑÐ°Ðœ, Ð»ÑÐ±ÑÐµ ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ð±ÑÐŽÑÑ ÐžÐ³ÐœÐŸÑÐžÑÐŸÐ²Ð°ÑÑÑÑ. ÐÐœÐ°ÑÐµ, ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ð±ÑÐŽÑÑ ÐžÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÑ ÑÐ°Ðº Ð¶Ðµ, ÐºÐ°Ðº Ðž ÐºÐŸÐ³ÐŽÐ° ÐÑ Ð¿ÐµÑÐµÑÑÐ³ÐžÐ²Ð°ÐµÑÐµ Ð² ÑÐ°Ð¹Ð»Ñ Ñ ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐŒÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒÐž. ÐÑÐŸÑÐµÑÑ ÐŸÐ¿ÐžÑÐ°Ðœ Ð² <Reference target="importingpreviouslyassignedmetadata"/>. </Text>
+</Section>
+<Section name="deletingcollections">
+<Title>
+<Text id="34">Ð£ÐŽÐ°Ð»ÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹</Text>
+</Title>
+<Text id="35">ÐÐ»Ñ ÑÐŸÐ³ÐŸ, ÑÑÐŸÐ±Ñ ÐœÐµÐžÐ·ÐŒÐµÐœÐœÐŸ ÑÐŽÐ°Ð»ÐžÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐžÐ· ÐžÐœÑÑÐ°Ð»ÑÑÐžÐŸÐœÐœÐŸÐ¹ ÐŽÐžÑÐµÐºÑÐŸÑÐžÐž Greenstone, Ð²ÑÐ±ÐµÑÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ..." ÐžÐ· ÐŒÐµÐœÑ "Ð€Ð°Ð¹Ð»". ÐÑÐºÑÐŸÐµÑÑÑ ÑÐ¿ÐžÑÐŸÐº Ð²ÑÐµÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ Greenstone. ÐÑÐ±ÐµÑÐžÑÐµ ÐœÑÐ¶ÐœÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐŽÐ»Ñ Ð¿ÑÐŸÑÐŒÐŸÑÐ° ÐµÐµ ÐŸÐ¿ÐžÑÐ°ÐœÐžÑ, Ð¿ÐŸÑÐ»Ðµ ÑÑÐŸÐ³ÐŸ Ð¿ÐŸÑÑÐ°Ð²ÑÐµ Ð³Ð°Ð»ÐŸÑÐºÑ Ð² Ð¿ÑÐœÐºÑÐµ Ð²ÐœÐžÐ·Ñ ÐŽÐžÐ°Ð»ÐŸÐ³Ð° Ðž ÐœÐ°Ð¶ÐŒÐžÑÐµ ÐœÐ° "Ð£ÐŽÐ°Ð»ÐžÑÑ", ÑÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ. Ð­ÑÐ° ÐŸÐ¿ÐµÑÐ°ÑÐžÑ Ð±ÐµÐ·Ð²ÐŸÐ·Ð²ÑÐ°ÑÐœÐ°, Ð¿ÐŸÑÑÐŸÐŒÑ Ð¿ÑÐŸÐ²ÐµÑÑÑÐµ Ð²ÐœÐžÐŒÐ°ÑÐµÐ»ÑÐœÐŸ, ÐŽÐµÐ¹ÑÑÐ²ÐžÑÐµÐ»ÑÐœÐŸ Ð»Ðž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐœÐµÐœÑÐ¶ÐœÐ°!</Text>
+</Section>
+</Section>
+<Section name="downloadingfiles">
+<Title>
+<Text id="36">ÐÐ°Ð³ÑÑÐ·ÐžÑÑ ÑÐ°Ð¹Ð»Ñ ÐžÐ· ÐžÐœÑÐµÑÐœÐµÑ</Text>
+</Title>
+<Text id="37">ÐÐžÐŽ "ÐÐµÑÐºÐ°Ð»ÐŸ" Ð¿ÐŸÐŒÐŸÐ¶ÐµÑ Ð²Ð°ÐŒ Ð·Ð°Ð³ÑÑÐ·ÐžÑÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐžÐ· ÐÐœÑÐµÑÐœÐµÑÐ°. ÐÐ°ÐœÐœÐ°Ñ ÑÐµÐºÑÐžÑ ÐŸÐ±ÑÑÑÐœÑÐµÑ Ð¿ÑÐŸÑÐµÑÑ Ð·ÐµÑÐºÐ°Ð»ÐžÑÐŸÐ²Ð°ÐœÐžÑ Ð² ÐÐœÑÐµÑÑÐµÐ¹ÑÐµ ÐÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ°ÑÑ.</Text>
+<Section name="themirrorview">
+<Title>
+<Text id="38">ÐÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐÐ°Ð³ÑÑÐ·ÐžÑÑ</Text>
+</Title>
+<Text id="39">Ð­ÑÐ° ÑÐµÐºÑÐžÑ ÐŸÐ¿ÐžÑÑÐ²Ð°ÐµÑ ÐºÐ°Ðº ÐºÐŸÐœÑÐžÐ³ÑÑÐžÑÐŸÐ²Ð°ÑÑ Ð·Ð°ÐŽÐ°ÑÑ Ðž ÐºÐŸÐœÑÑÐŸÐ»Ñ Ð¿ÑÐŸÑÐµÑÑÐ° Ð·Ð°Ð³ÑÑÐ·ÐºÐž. ÐÐŸÑÑÑÐ¿ Ðº Ð¿ÑÐŸÑÐŒÐŸÑÑÑ "ÐÐ°Ð³ÑÑÐ·ÐžÑÑ" ÐœÐ°Ð¶Ð°ÑÐµÐŒ ÑÑÐŸÐ¹ Ð·Ð°ÐºÐ»Ð°ÐŽÐºÐž. ÐÐµÑÑ
+ÐœÑÑ Ð¿ÐŸÐ»ÐŸÐ²ÐžÐœÐ° ÑÐºÑÐ°ÐœÐ° Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐºÐŸÐœÑÑÐŸÐ»Ñ Ð·Ð°Ð³ÑÑÐ·ÐºÐž. ÐÐžÐ¶ÐœÑÑ Ð¿ÐŸÐ»ÐŸÐ²ÐžÐœÐ° Ð² ÐœÐ°ÑÐ°Ð»Ðµ Ð¿ÑÑÑÐ°, ÐŸÐŽÐœÐ°ÐºÐŸ Ð¿ÐŸÐºÐ°Ð¶ÐµÑ Ð¿ÐµÑÐµÑÐµÐœÑ ÐŸÐ¶ÐžÐŽÐ°ÐµÐŒÑÑ
+ Ðž Ð·Ð°ÐºÐŸÐœÑÐµÐœÐœÑÑ
+ Ð·Ð°Ð³ÑÑÐ·ÐŸÐº.</Text>
+<Text id="39a">ÐÐ»Ñ Ð·Ð°Ð³ÑÑÐ·ÐºÐž Ð·Ð°Ð¿ÐžÑÐµÐ¹ ÐŒÐŸÐ¶ÐœÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ°Ð·Ð»ÐžÑÐœÑÑ
+ Ð¿ÑÐŸÑÐŸÐºÐŸÐ»ÐŸÐ², ÐŸÐœÐž Ð¿ÐµÑÐµÑÐžÑÐ»ÐµÐœÑ ÑÐ»ÐµÐ²Ð° ÑÐ²ÐµÑÑ
+Ñ.</Text>
+<Text id="39b"><b>Web:</b> Ð·Ð°Ð³ÑÑÐ·ÐºÐ° Ð²ÐµÐ±-ÑÑÑÐ°ÐœÐžÑ Ðž ÑÐ°Ð¹Ð»ÐŸÐ² Ð¿ÐŸ HTTP Ðž FTP.</Text>
+<Text id="39b-1"><b> MediaWiki:</b> ÐÐ°Ð³ÑÑÐ·ÐºÐ° Ð²ÐµÐ±-ÑÑÑÐ°ÐœÐžÑ Ðž ÑÐ°Ð¹Ð»ÐŸÐ² ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ Ð¿ÑÐŸÑÐŸÐºÐŸÐ» HTTP Ñ ÑÐ°Ð¹ÑÐ° MediaWiki.</Text>
+<Text id="39c"><b>OAI:</b> Ð·Ð°Ð³ÑÑÐ·ÐºÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð·Ð°Ð¿ÐžÑÐµÐ¹ Ñ ÑÐµÑÐ²ÐµÑÐ° OAI (Open Archives Initiative).</Text>
+<Text id="39d"><b>Z3950:</b> Ð·Ð°Ð³ÑÑÐ·ÐºÐ° Ð·Ð°Ð¿ÐžÑÐµÐ¹ MARC, ÐºÐŸÑÐŸÑÑÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑ ÐºÑÐžÑÐµÑÐžÑ Ð¿ÐŸÐžÑÐºÐ°, Ñ ÑÐµÑÐ²ÐµÑÐ° Z3950.</Text>
+<Text id="39e"><b>SRW:</b> Ð·Ð°Ð³ÑÑÐ·ÐºÐ° Ð·Ð°Ð¿ÐžÑÐµÐ¹ MARCXML, ÐºÐŸÑÐŸÑÑÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑ ÐºÑÐžÑÐµÑÐžÑ Ð¿ÐŸÐžÑÐºÐ°, Ñ ÑÐµÑÐ²ÐµÑÐ° SRW.</Text>
+<Text id="39f">ÐÑÐ±ÐµÑÐžÑÐµ Ð¿ÐŸÐŽÑ
+ÐŸÐŽÑÑÐžÐ¹ ÑÐžÐ¿, ÑÐµÐ»ÐºÐœÑÐ² Ð¿ÐŸ ÑÐ¿ÐžÑÐºÑ ÑÐ»ÐµÐ²Ð°. Ð¡ Ð¿ÑÐ°Ð²ÐŸÐ¹ ÑÑÐŸÑÐŸÐœÑ ÐŸÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÑ ÐŸÐ¿ÑÐžÐž, ÐŽÐŸÑÑÑÐ¿ÐœÑÐµ ÐŽÐ»Ñ Ð²ÑÐ±ÑÐ°ÐœÐœÐŸÐ³ÐŸ ÑÐžÐ¿Ð° Ð·Ð°Ð³ÑÑÐ·ÐºÐž. Ð§ÑÐŸÐ±Ñ ÑÐ·ÐœÐ°ÑÑ, ÑÑÐŸ ÐŽÐµÐ»Ð°ÐµÑ ÑÐ° ÐžÐ»Ðž ÐžÐœÐ°Ñ ÐŸÐ¿ÑÐžÑ, ÐœÐ°Ð²ÐµÐŽÐžÑÐµ ÐœÐ° ÐœÐµÐµ ÐŒÑÑÑ: Ð¿ÐŸÑÐ²ÐžÑÑÑ Ð²ÑÐ¿Ð»ÑÐ²Ð°ÑÑÐµÐµ ÐŸÐºÐœÐŸ Ñ ÐŸÐ¿ÐžÑÐ°ÐœÐžÐµÐŒ. ÐÐµÐºÐŸÑÐŸÑÑÐµ ÐŸÐ¿ÑÐžÐž ÑÐ²Ð»ÑÑÑÑÑ 'ÐœÐµÐŸÐ±ÑÐ·Ð°ÑÐµÐ»ÑÐœÑÐŒÐž': ÐŸÐœÐž Ð¿ÑÐµÐŽÐ²Ð°ÑÑÑÑÑÑ ÑÐ»Ð°Ð¶ÐºÐŸÐŒ, ÐºÐŸÑÐŸÑÑÐ¹ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ, Ð²ÐºÐ»ÑÑÐµÐœÐ° Ð»Ðž ÐŸÐœÐ°. ÐÑÑÐ³ÐžÐµ ÑÐ²Ð»ÑÑÑÑÑ 'ÐŸÐ±ÑÐ·Ð°ÑÐµÐ»ÑÐœÑÐŒÐž': Ð¿ÐµÑÐµÐŽ ÐœÐžÐŒÐž ÐœÐµÑ ÑÐ»Ð°Ð¶ÐºÐ°, Ðž Ð·ÐœÐ°ÑÐµÐœÐžÐµ Ð² ÐœÐžÑ
+ ÐŽÐŸÐ»Ð¶ÐœÐŸ Ð±ÑÑÑ Ð²Ð²ÐµÐŽÐµÐœÐŸ ÐŽÐŸ ÐœÐ°ÑÐ°Ð»Ð° Ð·Ð°Ð³ÑÑÐ·ÐºÐž.   </Text>
+<Text id="39g">ÐÐŸÑÐ»Ðµ ÐŸÐºÐŸÐœÑÐ°ÐœÐžÑ ÐœÐ°ÑÑÑÐŸÐ¹ÐºÐž ÑÐµÐ»ÐºÐœÐžÑÐµ <AutoText key="glidict::Download.ServerInformation"/> ÐŽÐ»Ñ Ð¿ÑÐŸÐ²ÐµÑÐºÐž Ð¿ÐŸÐŽÐºÐ»ÑÑÐµÐœÐžÑ Ðº ÑÐµÑÐ²ÐµÑÑ Ðž Ð¿ÑÐŸÑÐŒÐŸÑÑÐ° ÐŸÑÐœÐŸÐ²ÐœÐŸÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž ÐŸ Ð²ÐµÐ±-ÑÑÑÐ°ÐœÐžÑÐµ ÐžÐ»Ðž ÑÐµÑÐ²ÐµÑÐµ, ÐžÐ»Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ <AutoText key="glidict::Mirroring.Download"/> ÐŽÐ»Ñ ÐœÐ°ÑÐ°Ð»Ð° Ð·Ð°Ð³ÑÑÐ·ÐºÐž. </Text>
+<Text id="39g-1">ÐÑÑÑ ÐŽÐ²Ðµ ÐŽÑÑÐ³ÐžÐµ ÐºÐœÐŸÐ¿ÐºÐž: "ÐÐ°ÑÑÑÐŸÐ¹ÐºÐž", ÐºÐŸÑÐŸÑÐ°Ñ ÑÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐœÐ° ÑÐµÐºÑÐžÑ Â«Ð¡ÐŸÐµÐŽÐžÐœÐµÐœÐžÑÂ» ÐœÐ°ÑÑÑÐŸÐµÐº; ÑÐ°ÐŒ ÐŒÐŸÐ¶ÐœÐŸ ÐœÐ°ÑÑÑÐŸÐžÑÑ Ð¿ÑÐŸÐºÑÐž; Ðž "ÐÑÐžÑÑÐžÑÑ ÐºÑÑ", ÐºÐŸÑÐŸÑÐ°Ñ ÑÐŽÐ°Ð»ÑÐµÑ Ð²ÑÐµ ÑÐ°ÐœÐµÐµ Ð·Ð°Ð³ÑÑÐ¶ÐµÐœÐœÑÐµ ÑÐ°Ð¹Ð»Ñ. ÐÑÐ»Ðž Ð²Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÐµ Ð¿ÑÐŸÐºÑÐž-ÑÐµÑÐ²ÐµÑ ÐŽÐ»Ñ Ð¿ÐŸÐŽÐºÐ»ÑÑÐµÐœÐžÑ Ðº ÐÐœÑÐµÑÐœÐµÑ, ÑÐŸ Ð²Ð°ÐŒ ÐœÑÐ¶ÐœÐŸ ÑÐºÐ°Ð·Ð°ÑÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸ ÐœÐµÐŒ. ÐÑÐ»Ðž Ð² Ð¿ÑÐŸÑÐµÑÑÐµ Ð·Ð°Ð³ÑÑÐ·ÐºÐž Ð±ÑÐŽÐµÑ ÐœÑÐ¶ÐœÐ° Ð°ÑÑÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÑ, Ð¿ÑÐŸÐºÑÐž-ÑÐµÑÐ²ÐµÑ Ð²ÑÐŽÐ°ÑÑ Ð·Ð°Ð¿ÑÐŸÑ ÐœÐ° Ð²Ð²ÐŸÐŽ ÐžÐŒÐµÐœÐž Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ Ðž Ð¿Ð°ÑÐŸÐ»Ñ.  ÐÐœÑÐµÑÑÐµÐ¹Ñ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ°ÑÑ ÐœÐµ ÑÐŸÑ
+ÑÐ°ÐœÑÐµÑ Ð¿Ð°ÑÐŸÐ»Ðž ÐŒÐµÐ¶ÐŽÑ ÑÐµÑÑÐžÑÐŒÐž.  </Text>
+<Text id="40">Ð€Ð°Ð¹Ð»Ñ Ð·Ð°Ð³ÑÑÐ¶ÐµÐœÐœÑÐµ Ð² Ð¿Ð°Ð¿ÐºÑ ÑÐ°Ð±ÐŸÑÐµÐ³ÐŸ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²Ð° ÐœÐ°Ð·ÑÐ²Ð°ÑÑÑÑ "ÐÐ°Ð³ÑÑÐ¶Ð°ÐµÐŒÑÐµ ÑÐ°Ð¹Ð»Ñ", Ðž ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐ° Ð²ÑÐµÐŒÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐŒÐž Ð¿ÐŸÑÑÑÐŸÐµÐœÐœÑÐŒÐž Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÐÐœÑÐµÑÑÐµÐ¹ÑÐ° ÐÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ°ÑÑ. Ð€Ð°Ð¹Ð»Ñ Ð² ÑÑÐŸÐ¹ ÐŸÐ±Ð»Ð°ÑÑÐžÐžÐŒÐµÐœÑÑÑÑÑ Ð¿ÐŸ ÐžÑ
+ Ð¿ÐŸÐ»ÐœÐŸÐŒÑ URL Ð°ÐŽÑÐµÑÑ.  Ð¡ÐŸÐ·ÐŽÐ°ÐµÑÑÑ ÐœÐŸÐ²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ° ÐœÐ° ÐºÐ°Ð¶ÐŽÐŸÐŒ Ñ
+ÐŸÑÑÐµ, ÐœÐ°ÑÐ»ÐµÐŽÑÐµÐŒÐ°Ñ ÐŽÑÑÐ³ÐžÐŒÐž ÐŽÐ»Ñ ÐºÐ°Ð¶ÐŽÐŸÐ³ÐŸ ÑÑÐ°Ð³ÐŒÐµÐœÑÐ° Ð¿ÑÑÐž.  Ð­ÑÐŸ Ð³Ð°ÑÐ°ÐœÑÐžÑÑÐµÑ ÐŸÑÐ»ÐžÑÐžÐµ ÐºÐ°Ð¶ÐŽÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð°.</Text>
+<Text id="42">Ð¡Ð¿ÐžÑÐŸÐº Ð·Ð°Ð³ÑÑÐ·ÐºÐž ÐžÐŒÐµÐµÑ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÑ ÐŽÐ»Ñ ÐºÐ°Ð¶ÐŽÐŸÐ¹ Ð·Ð°Ð³ÑÑÐ¶Ð°ÐµÐŒÐŸÐ¹ Ð²ÐµÐ± ÑÑÑÐ°ÐœÐžÑÑ. ÐÐ°Ð¶ÐŽÐŸÐµ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐžÐŒÐµÐµÑ ÑÐµÐºÑÑ Ð¿ÑÐµÐŽÐŸÑÑÐ°Ð²Ð»ÑÑÑÐžÐ¹ ÐŽÐµÑÐ°Ð»Ðž Ð·Ð°ÐŽÐ°ÑÐž Ð²ÐŒÐµÑÑÐµ Ñ ÐžÐœÐŽÐžÐºÐ°ÑÐŸÑÐŸÐŒ Ð¿ÑÐŸÐ³ÑÐµÑÑÐ° ÐŽÐµÐŒÐŸÐœÑÑÑÐžÑÑÑÑÐžÐŒ ÑÐµÐºÑÑÑÑ ÐŽÐµÑÑÐµÐ»ÑÐœÐŸÑÑÑ. Ð¢ÑÐž ÐºÐœÐŸÐ¿ÐºÐž Ð¿ÐŸÑÐ²Ð»ÑÑÑÑÑ ÑÐ»ÐµÐ²Ð° ÐŽÐ»Ñ ÐºÐ°Ð¶ÐŽÐŸÐ³ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÑ. "ÐÐ°ÑÐ·Ð°" ÐŽÐ»Ñ Ð¿ÑÐžÐŸÑÑÐ°ÐœÐŸÐ²ÐºÐž Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœÐžÑ ÑÐµÐºÑÑÐµÐ³ÐŸ Ð¿ÑÐŸÑÐµÑÑÐ°. "Ð¡ÐŒÐŸÑÑÐµÑÑ ÐÐŸÐ³Ðž" ÐŸÑÐºÑÑÐ²Ð°ÐµÑ ÐŸÐºÐœÐŸ ÑÐ°Ð¹Ð»Ð° Ð·Ð°Ð³ÑÑÐ·ÐºÐž. "ÐÐ°ÐºÑÑÑÑ" Ð·Ð°Ð²ÐµÑÑÐ°ÐµÑ Ð·Ð°Ð³ÑÑÐ·ÐºÑ Ð·Ð°ÐŽÐ°ÑÐž ÐžÐ· ÑÐ¿ÐžÑÐºÐ°.</Text>
+</Section>
+</Section>
+<Section name="collectingfiles">
+<Title>
+<Text id="44">Ð¡Ð±ÐŸÑ ÑÐ°Ð¹Ð»ÐŸÐ² ÐŽÐ»Ñ ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Text>
+</Title>
+<Text id="45">ÐÑÐ»Ðž ÐÑ ÑÐŸÐ·ÐŽÐ°ÐµÑÐµ ÐœÐŸÐ²ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ,ÑÐŸ Ð²ÐŸÐ·ÐœÐžÐºÐ°ÐµÑ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸÑÑÑ Ð²Ð²ÐŸÐŽÐ° Ð² ÐœÐµÐµ ÐœÐµÐºÐŸÑÐŸÑÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ².ÐÐœÐž ÐŒÐŸÐ³ÑÑ Ð¿ÐŸÑÑÑÐ¿ÐžÑÑ ÐžÐ· Ð²Ð°ÑÐµÐ³ÐŸ ÐŸÐ±ÑÑÐœÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐ³ÐŸ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²Ð° ÐžÐ· ÐŽÑÑÐ³ÐžÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ Greenstone. ÐÐµÐºÐŸÑÐŸÑÑÐµ ÐŒÐŸÐ³ÑÑ ÑÐ¶Ðµ ÐžÐŒÐµÑÑ Ð¿ÑÐžÑÐŸÐµÐŽÐžÐœÐµÐœÐœÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ.Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ¿ÐžÑÑÐ²Ð°ÐµÑÑÑ,ÐºÐ°Ðº ÐžÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐ°Ð¹Ð»Ñ.</Text>
+<Section name="thegatherview">
+<Title>
+<Text id="46">ÐÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐœÐ°ÐºÐŸÐ¿ÐžÑÐµÐ»Ñ</Text>
+</Title>
+<Text id="47">Ð­ÑÐŸÑ ÑÐ°Ð·ÐŽÐµÐ» Ð²Ð²ÐŸÐŽÐžÑ Ð² ÐŸÐ±Ð»Ð°ÑÑÑ ÐœÐ°ÐºÐŸÐ¿Ð»ÐµÐœÐžÑ,ÐºÐŸÑÐŸÑÑÑ ÐÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÐµ,ÑÑÐŸÐ±Ñ Ð²ÑÐ±ÑÐ°ÑÑ,ÐºÐ°ÐºÐžÐµ ÑÐ°Ð¹Ð»Ñ Ð²ÐºÐ»ÑÑÐ°ÑÑ Ð² ÑÐŸÐ·ÐŽÐ°Ð²Ð°ÐµÐŒÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ. ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ ÐœÐ°ÑÐžÐœÐ°ÐµÑÑÑ Ñ ÐŸÐ±Ð·ÐŸÑÐ° ÐœÐ°ÐºÐŸÐ¿Ð»ÐµÐœÐžÑ. Ð§ÑÐŸÐ±Ñ Ð²ÐµÑÐœÑÑÑÑÑ Ðº ÑÑÐŸÐŒÑ ÐŸÐ±Ð·ÐŸÑÑ Ð¿ÐŸÐ·Ð¶Ðµ,ÑÐµÐ»ÐºÐœÐžÑÐµ ÐœÐ° ÑÐžÐŒÐ²ÐŸÐ»Ðµ "Gather", ÑÐ°ÑÐ¿ÐŸÐ»ÐŸÐ¶ÐµÐœÐœÑÐŒ ÐœÐµÐ¿ÐŸÑÑÐµÐŽÑÑÐ²ÐµÐœÐœÐŸ ÐœÐžÐ¶Ðµ Ð»ÐžÐœÐµÐ¹ÐºÐž ÐŒÐµÐœÑ.  </Text>
+<Text id="48">ÐÐ²Ðµ Ð±ÐŸÐ»ÑÑÐžÐµ ÐŸÐ±Ð»Ð°ÑÑÐž,ÐœÐ°Ð·Ð²Ð°ÐœÐœÑÐµ "Ð Ð°Ð±ÐŸÑÐµÐµ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐŸ" Ðž "ÐoÐ»Ð»ÐµÐºÑÐžÑ" ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑÑÑ ÐŽÐ»Ñ ÑÐŸÐ³ÐŸ,ÑÑÐŸÐ±Ñ Ð¿ÐµÑÐµÐŒÐµÑÑÐžÑÑ ÑÐ°Ð¹Ð»Ñ Ð² ÐÐ°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ. ÐÐœÐž Ð²ÐºÐ»ÑÑÐ°ÑÑ "ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐµ ÐŽÐµÑÐµÐ²ÐŸ",Ð³ÑÐ°ÑÐžÑÐµÑÐºÐžÐµ ÑÑÑÑÐºÑÑÑÑ,ÐºÐŸÑÐŸÑÑÐµ ÐžÐ·ÐŸÐ±ÑÐ°Ð¶Ð°ÑÑ ÑÐ°Ð¹Ð»Ñ Ðž Ð¿Ð°Ð¿ÐºÐž. </Text>
+<Text id="49">ÐÑÐ±ÐµÑÐžÑÐµ ÑÐ»ÐµÐŒÐµÐœÑ ÐŽÐµÑÐµÐ²Ð°, ÐœÐ°Ð¶Ð°Ð² ÐœÐ° ÐœÐµÐ³ÐŸ Ð»ÐµÐ²ÐŸÐ¹ ÐºÐ»Ð°Ð²ÐžÑÐµÐ¹ ÐŒÑÑÐž. (Ð¢ÐŸ Ð¶Ðµ ÑÐ°ÐŒÐŸÐµ ÐŒÐŸÐ¶ÐœÐŸ ÑÐŽÐµÐ»Ð°ÑÑ ÐžÐœÐ°ÑÐµ, ÑÐŒ. ÐœÐžÐ¶Ðµ). ÐÐ²ÐŸÐ¹ÐœÑÐŒ ÑÐµÐ»ÑÐºÐŸÐŒ Ð²ÑÐ±ÐµÑÐžÑÐµ Ð¿Ð°Ð¿ÐºÑ, ÐžÐ»Ðž ÐœÐ°Ð¶ÐŒÐžÑÐµ ÐœÐ° ÑÐžÐŒÐ²ÐŸÐ» ÑÑÐŽÐŸÐŒ Ñ ÐœÐµÐ¹, ÑÑÐŸÐ±Ñ ÑÐ°Ð·Ð²ÐµÑÐœÑÑÑ (ÐžÐ»Ðž ÑÐ²ÐµÑÐœÑÑÑ) ÐµÐµ ÑÐŸÐŽÐµÑÐ¶ÐžÐŒÐŸÐµ. ÐÐ²ÐŸÐ¹ÐœÑÐŒ ÑÐµÐ»ÑÐºÐŸÐŒ ÐœÐ° ÐœÑÐ¶ÐœÐŸÐŒ ÑÐ°Ð¹Ð»Ðµ ÐŸÑÐºÑÐŸÐ¹ÑÐµ ÐµÐ³ÐŸ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÐœÐ°Ð·ÐœÐ°ÑÐµÐœÐœÐŸÐ¹ ÐŽÐ°ÐœÐœÐŸÐŒÑ ÑÐžÐ¿Ñ ÑÐ°Ð¹Ð»ÐŸÐ² Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÑ (ÑÐŒ.<Reference target="fileassociations"/>).</Text>
+<Text id="50">ÐÐµÑÐµÐ²ÐŸ ÑÐ°Ð±ÐŸÑÐµÐ³ÐŸ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²Ð° Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐžÑÑÐŸÑÐœÐžÐºÐž ÐŽÐ°ÐœÐœÑÑ
+ ÐŽÐŸÑÑÑÐ¿ÐœÑÑ
+ Ð² ÐÐœÑÐµÑÑÐµÐ¹ÑÐµ ÐÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ°ÑÑ -- ÑÐµÐºÑÑÑÑ ÑÐ°Ð¹Ð»ÐŸÐ²ÑÑ ÑÐžÑÑÐµÐŒÑ (Ð²ÐºÐ»ÑÑÐ°Ñ ÐŽÐžÑÐºÐŸÐ²ÐŸÐŽ Ðž CD-ROM), ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÐµ ÑÑÑÐµÑÑÐ²ÑÑÑÐžÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÐÑÐžÐœÑÑÐŸÑÐœ, Ðž ÐºÑÑ Ð·Ð°Ð³ÑÑÐ¶ÐµÐœÐœÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ². ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð²ÐžÐŽÐµÑÑ Ðž ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÑÑ ÑÑÐž ÑÐ°Ð¹Ð»Ñ, ÐŸÐŽÐœÐ°ÐºÐŸ ÐœÐµ ÐŒÐŸÐ¶ÐµÑÐµ Ð¿ÐµÑÐµÐœÐŸÑÐžÑÑ, ÑÐŽÐ°Ð»ÑÑÑ, ÐžÐ»Ðž ÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ ÐžÑ
+, Ð·Ð° ÐžÑÐºÐ»ÑÑÐµÐœÐžÐµÐŒ ÑÐ¶Ðµ Ð·Ð°Ð³ÑÑÐ¶ÐµÐœÐœÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ², ÐºÐŸÑÐŸÑÑÐµ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐŽÐ°Ð»ÐµÐœÑ.  ÐÑÑÑÐµÑÑÐ²Ð»ÑÑÑ ÐœÐ°Ð²ÐžÐ³Ð°ÑÐžÑ Ð² ÑÑÐŸÐŒ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²Ðµ ÑÑÐŸÐ±Ñ ÐœÐ°Ð¹ÑÐž ÑÐ°Ð¹Ð»Ñ ÐºÐŸÑÐŸÑÑÐµ Ð²Ñ Ñ
+ÐŸÑÐžÑÐµ Ð²ÐºÐ»ÑÑÐžÑÑ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ.</Text>
+<Text id="51">Ð€Ð°Ð¹Ð»ÐŸÐ²ÐŸÐµ ÐŽÐµÑÐµÐ²ÐŸ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÑÐµÑ Ð¿ÐŸÐ»ÐœÐŸÐµ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÐµÑÐ²ÐŸÐœÐ°ÑÐ°Ð»ÑÐœÐŸ ÐŸÐœÐŸ Ð¿ÑÑÑÐŸ.</Text>
+<Text id="52">ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐžÐ·ÐŒÐµÐœÐžÑÑ ÑÐ°Ð·ÐŒÐµÑÑ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²Ð°, Ð¿ÐµÑÐµÐŽÐ²ÐžÐ³Ð°Ñ ÐŒÑÑÑ Ð¿ÐŸ ÑÐµÑÐŸÐ¹ Ð»ÐžÐœÐµÐ¹ÐºÐµ, ÐºÐŸÑÐŸÑÐ°Ñ ÐŸÑÐŽÐµÐ»ÑÐµÑ ÐŽÐµÑÐµÐ²ÑÑ (ÑÐŸÑÐŒÐ° ÑÐºÐ°Ð·Ð°ÑÐµÐ»Ñ ÐžÐ·ÐŒÐµÐœÑÐµÑÑÑ),Ðž Ð±ÑÐºÑÐžÑÑÑ ÐžÑ
+.</Text>
+<Text id="53">ÐÐœÐžÐ·Ñ ÐŸÐºÐœÐ° ÑÐ°ÑÐ¿ÐŸÐ»ÐŸÐ¶ÐµÐœÐ° ÑÑÐ°ÑÑÑÐœÐ°Ñ ÐŸÐ±Ð»Ð°ÑÑÑ, ÐºÐŸÑÐŸÑÐ°Ñ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ Ð¿ÑÐŸÐ³ÑÐµÑÑ ÐŸÐ¿ÐµÑÐ°ÑÐžÐ¹ ÐœÐ°ÐŽ ÑÐ°Ð¹Ð»Ð°ÐŒÐž (ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÐœÐžÐµ, Ð¿ÐµÑÐµÐŒÐµÑÐµÐœÐžÐµ, ÑÐŽÐ°Ð»ÐµÐœÐžÐµ). ÐÐœÐž ÐŒÐŸÐ³ÑÑ Ð·Ð°ÐœÑÑÑ ÐºÐ°ÐºÐŸÐµ-ÑÐŸ Ð²ÑÐµÐŒÑ. ÐÐœÐŸÐ¿ÐºÐ° "Ð¡ÑÐŸÐ¿" ÐŸÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÐµÑ Ð»ÑÐ±ÐŸÐµ ÐŽÐµÐ¹ÑÑÐ²ÐžÐµ, ÐºÐŸÑÐŸÑÐŸÐµ Ð² ÐœÐ°ÑÑÐŸÑÑÐµÐµ Ð²ÑÐµÐŒÑ Ð¿ÑÐŸÐžÑÑ
+ÐŸÐŽÐžÑ. </Text>
+<Text id="54">ÐÐ²Ðµ Ð±ÐŸÐ»ÑÑÐžÐµ ÐºÐœÐŸÐ¿ÐºÐž Ð·Ð°ÐœÐžÐŒÐ°ÑÑ ÐœÐžÐ¶ÐœÐžÐ¹ Ð¿ÑÐ°Ð²ÑÐ¹ ÑÐ³ÐŸÐ» ÑÐºÑÐ°ÐœÐ°."ÐÐŸÐ²Ð°Ñ ÐÐ°Ð¿ÐºÐ°",Ñ ÐºÐ°ÑÑÐžÐœÐŸÐ¹ Ð¿Ð°Ð¿ÐºÐž, ÑÐŸÐ·ÐŽÐ°ÑÑ ÐœÐŸÐ²ÑÐµ Ð¿Ð°Ð¿ÐºÐž (ÑÐŒ. <Reference target="creatingfolders"/>). ÐÐœÐŸÐ¿ÐºÐ° "Ð£ÐŽÐ°Ð»ÐžÑÑ"ÑÐŽÐ°Ð»ÑÐµÑ ÑÐ°Ð¹Ð»Ñ Ñ ÐœÐµÐœÑÐ¶ÐœÐŸÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐµÐ¹.Ð©ÐµÐ»ÑÐŸÐº ÐœÐ° ÐºÐœÐŸÐ¿ÐºÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ" ÑÐŽÐ°Ð»ÐžÑ Ð»ÑÐ±ÑÐµ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐµ ÑÐ°Ð¹Ð»Ñ ÐžÐ· ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐ³ÐŸ ÐŽÐµÑÐµÐ²Ð° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÐ»ÑÑÐµÑÐœÐ°ÑÐžÐ²ÐœÐŸ, ÑÐ°Ð¹Ð»Ñ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐŽÐ°Ð»ÐµÐœÑ Ð¿ÑÑÐµÐŒ Ð¿ÐµÑÐµÑÑÐ³ÐžÐ²Ð°ÐœÐžÑ ÐžÑ
+ ÐœÐ° ÐºÐœÐŸÐ¿ÐºÑ "Ð£ÐŽÐ°Ð»ÐžÑÑ". </Text>
+<Text id="55">Ð§ÑÐŸÐ±Ñ ÐŸÑÐŸÐ±ÑÐ°ÑÑ ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ Ð¿ÐŸÑÐ»ÐµÐŽÐŸÐ²Ð°ÑÐµÐ»ÑÐœÑÑ
+ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ²,Ð²ÑÐ±ÐµÑÐžÑÐµ Ð¿ÐµÑÐ²ÑÐ¹ Ðž Ð·Ð°ÑÐµÐŒ ÑÐŽÐµÑÐ¶ÐžÐ²Ð°Ñ [Shift],ÑÐµÐ»ÐºÐœÐžÑÐµ ÐœÐ° Ð¿ÐŸÑÐ»ÐµÐŽÐœÐµÐŒ - Ð¿ÑÐž ÑÑÐŸÐŒ Ð±ÑÐŽÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÑ Ð²ÑÐµ ÐŸÑ
+Ð²Ð°ÑÐµÐœÐœÑÐµ ÑÐ»ÐµÐŒÐµÐœÑÑ.ÐÑÐ±ÐŸÑ ÐœÐµ ÑÐ»ÐµÐŽÑÑÑÐžÑ
+ ÐŸÐŽÐžÐœ Ð·Ð° ÐŽÑÑÐ³ÐžÐŒ ÑÐ°Ð¹Ð»ÐŸÐ² Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐŽÐžÑÑÑ Ð¿ÑÐž ÐœÐ°Ð¶Ð°ÑÐŸÐ¹ ÐºÐ»Ð°Ð²ÐžÑÐµ [Ctrl] Ðž ÑÐµÐ»ÑÐºÐµ ÐœÐ° Ð²ÑÐ±ÐžÑÐ°ÐµÐŒÑÑ
+ ÑÐ°Ð¹Ð»Ð°Ñ
+. ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÑÑÐž ÐŽÐ²Ð° ÐŒÐµÑÐŸÐŽÐ° Ð²ÐŒÐµÑÑÐµ ÐŽÐ»Ñ Ð³ÑÑÐ¿Ð¿Ñ ÐœÐµÑÐŒÐµÐ¶ÐœÑÑ
+ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ².  </Text>
+</Section>
+<Section name="creatingshortcuts">
+<Title>
+<Text id="55a">Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ Ð¯ÑÐ»ÑÐºÐ° Ð² ÐÐµÑÐµÐ²Ðµ ÑÐ°Ð±ÐŸÑÐµÐ³ÐŸ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²Ð°</Text>
+</Title>
+<Text id="56">ÐÐµÐºÐŸÑÐŸÑÑÐµ Ð¿Ð°Ð¿ÐºÐž - ÑÐžÐ¿Ð° ÑÐµÑ
+,ÐºÐŸÑÐŸÑÑÐµ ÑÐŸÐŽÐµÑÐ¶Ð°Ñ ÐÐ°ÑÐž ÑÐŸÐ±ÑÑÐ²ÐµÐœÐœÑÐµ Ð²ÐµÐ±-ÑÑÑÐ°ÐœÐžÑÑ - ÐžÐœÐŸÐ³ÐŽÐ° ÐžÐŒÐµÑÑ ÐŸÑÐŸÐ±ÑÑ Ð²Ð°Ð¶ÐœÐŸÑÑÑ.ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð¿ÐµÑÐµÐœÐµÑÑÐž ÑÐ°ÐºÐžÐµ Ð¿Ð°Ð¿ÐºÐž ÐœÐ° Ð¿ÐµÑÐ²ÑÐ¹ ÑÑÐŸÐ²ÐµÐœÑ ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐ³ÐŸ ÐŽÐµÑÐµÐ²Ð°. Ð§ÑÐŸÐ±Ñ ÑÐŽÐµÐ»Ð°ÑÑ ÑÑÐŸ, ÑÐµÐ»ÐºÐœÐžÑÐµ Ð¿ÑÐ°Ð²ÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐŸÐ¹ ÐŒÑÑÐž ÐœÐ° Ð¶ÐµÐ»Ð°ÑÐµÐ»ÑÐœÐŸÐ¹ Ð¿Ð°Ð¿ÐºÐµ. ÐÑÐ±ÐµÑÐžÑÐµ "Ð¡ÐŸÐ·ÐŽÐ°ÑÑ ÑÐŸÐºÑÐ°ÑÐµÐœÐžÐµ" Ðž Ð²Ð²ÐµÐŽÐžÑÐµ ÐžÐŒÑ ÐŽÐ»Ñ Ð¿Ð°Ð¿ÐºÐž. ÐÐ»Ñ ÑÐŽÐ°Ð»ÐµÐœÐžÑ ÑÐ»ÐµÐŒÐµÐœÑÐ° ÑÐµÐ»ÐºÐœÐžÑÐµ Ð¿ÑÐ°Ð²ÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐŸÐ¹ ÐŒÑÑÐž ÐœÐ° Ð¿ÐŸÐŒÐµÑÐµÐœÐœÐŸÐ¹ Ð¿Ð°Ð¿ÐºÐµ Ðž Ð²ÑÐ±ÐµÑÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÐŸÐºÑÐ°ÑÐµÐœÐžÑ".</Text>
+</Section>
+<Section name="creatingfolders">
+<Title>
+<Text id="57">Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ Ð¿Ð°Ð¿ÐŸÐº</Text>
+</Title>
+<Text id="58">ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ "ÐÐ°Ð¿ÐºÐž" Ð² ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐŒ ÐŽÐµÑÐµÐ²Ðµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÑÐŸÐ±Ñ Ð³ÑÑÐ¿Ð¿ÐžÑÐŸÐ²Ð°ÑÑ Ð²ÐŒÐµÑÑÐµ Ðž Ð±ÐŸÐ»ÐµÐµ Ð»ÐµÐ³ÐºÐŸ ÐœÐ°Ñ
+ÐŸÐŽÐžÑÑ ÐžÑ
+. ÐÐ°Ð¿ÐºÐž ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ Ð¿ÐŸÐŒÐµÑÐµÐœÑ Ð²ÐœÑÑÑÐž Ð¿Ð°Ð¿ÐŸÐº. Ð€Ð°ÐºÑÐžÑÐµÑÐºÐž ÐœÐµÑ ÐŸÐ³ÑÐ°ÐœÐžÑÐµÐœÐžÑ ÐœÐ° ÑÐŸ,ÑÐºÐŸÐ»ÑÐºÐŸ Ð¿Ð°Ð¿ÐŸÐº ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐžÐŒÐµÑÑ ÐžÐ»Ðž ÐºÐ°Ðº Ð³Ð»ÑÐ±ÐŸÐºÐŸ ÐŸÐœÐž ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ Ð²Ð»ÐŸÐ¶ÐµÐœÑ.</Text>
+<Text id="59">Ð§ÑÐŸÐ±Ñ ÑÐŸÐ·ÐŽÐ°ÑÑ ÐœÐŸÐ²ÑÑ Ð¿Ð°Ð¿ÐºÑ, Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐ»ÑÐœÐŸ Ð²ÑÐ±ÐµÑÐžÑÐµ ÑÑÑÐµÑÑÐ²ÑÑÑÑÑ Ð¿Ð°Ð¿ÐºÑ Ð² ÐÐµÑÐµÐ²Ðµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ ÐœÐ° ÐºÐœÐŸÐ¿ÐºÐµ "ÐÐŸÐ²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°". ÐÐŸÐ²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ° Ð¿ÐŸÑÐ²Ð»ÑÐµÑÑÑ Ð² Ð¿ÑÐµÐŽÐµÐ»Ð°Ñ
+ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÐŸÐ³ÐŸ ÐžÐ»Ðž ÐœÐ° Ð²ÑÑÑÐµÐŒ ÑÑÐŸÐ²ÐœÐµ,ÐµÑÐ»Ðž ÐœÐž ÐŸÐŽÐœÐ° ÐœÐµ ÐŸÑÐŸÐ±ÑÐ°ÐœÐ°.ÐÑ ÐŽÐŸÐ»Ð¶ÐœÑ Ð¿ÑÐŸÑÐ²ÐŸÐžÑÑ Ð¿Ð°Ð¿ÐºÐµ ÐžÐŒÑ (Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ "ÐÐŸÐ²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°").</Text>
+<Text id="60">ÐÐ°Ð¿ÐºÐž ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐ°ÐºÐ¶Ðµ ÑÐŸÐ·ÐŽÐ°ÐœÑ ÑÐµÐ»ÑÐºÐŸÐŒ Ð¿ÑÐ°Ð²ÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐž ÐŒÑÑÐž Ð¿ÐŸ Ð¿Ð°Ð¿ÐºÐµ,Ð²ÑÐ±ÐžÑÐ°Ñ "ÐÐŸÐ²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°" Ðž ÐŽÐµÐ¹ÑÑÐ²ÑÑ,ÐºÐ°Ðº ÑÐºÐ°Ð·Ð·Ð°ÐœÐŸ Ð²ÑÑÐµ.</Text>
+</Section>
+<Section name="addingfiles">
+<Title>
+<Text id="61">ÐÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÐµ ÑÐ°Ð¹Ð»ÐŸÐ²</Text>
+</Title>
+<Text id="62">Ð€Ð°Ð¹Ð»Ñ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÐœÑ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐŒÑÑÑÑ Ð¿ÑÑÐµÐŒ ÐžÑ
+ Ð¿ÐµÑÐµÑÑÐ³ÐžÐ²Ð°ÐœÐžÑ Ðž ÐŸÑÐ¿ÑÑÐºÐ°ÐœÐžÑ. Ð£ÐºÐ°Ð·Ð°ÑÐµÐ»Ñ ÐŒÑÑÐž ÐŸÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÐµÑÑÑ ÐœÐ°ÐŽ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐŒ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐŒ ÐžÐ»Ðž, ÐµÑÐ»Ðž Ð²ÑÐ±ÐžÑÐ°ÐµÑÑÑ Ð±ÐŸÐ»ÑÑÐµ,ÑÐµÐŒ ÐŸÐŽÐžÐœ,ÐœÐ°ÐŽ ÐœÐµÑÐºÐŸÐ»ÑÐºÐžÐŒÐž. ÐÑÐŸÐ¿ÑÑÑÐžÑÐµ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐ¹ ÑÐ°Ð¹Ð» Ð² ÐÐµÑÐµÐ²ÐŸ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÑÐŸÐ±Ñ Ð·ÐŽÐµÑÑ ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÑÑ ÑÐ°Ð¹Ð»Ñ (ÐµÑÐ»Ðž ÐžÑÑÐŸÑÐœÐžÐºÐŸÐŒ Ð±ÑÐ»ÐŸ ÐÐµÑÐµÐ²ÐŸ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž).</Text>
+<Text id="63">ÐÑÐž ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÐœÐžÐž ÐŒÐœÐŸÐ¶ÐµÑÑÐ²ÐµÐœÐœÑÑ
+(ÑÐŸÑÑÐ°Ð²ÐœÑÑ
+) ÑÐ°Ð¹Ð»ÐŸÐ²,Ð²ÑÐµ ÐŸÐœÐž Ð¿ÐµÑÐµÐŒÐµÑÐ°ÑÑÑÑ Ð² ÑÐµÐ»ÐµÐ²ÑÑ Ð¿Ð°Ð¿ÐºÑ ÐœÐ° ÑÐŸÑ Ð¶Ðµ ÑÐ°ÐŒÑÐ¹ ÑÑÐŸÐ²ÐµÐœÑ,ÐœÐµÐ·Ð°Ð²ÐžÑÐžÐŒÐŸ ÐŸÑ ÑÑÑÑÐºÑÑÑÑ Ð¿Ð°Ð¿ÐºÐž,ÐºÐŸÑÐŸÑÑÑ ÐŸÐœÐž Ð·Ð°ÐœÐžÐŒÐ°Ð»Ðž Ð¿ÐµÑÐ²ÐŸÐœÐ°ÑÐ°Ð»ÑÐœÐŸ. ÐÐŸÐ³ÐŽÐ° ÐÑ ÐºÐŸÐ¿ÐžÑÑÐµÑÐµ Ð²ÑÐŸÑÐŸÐ¹ ÑÐ°Ð¹Ð» Ñ ÑÐµÐŒ Ð¶Ðµ ÑÐ°ÐŒÑÐŒ ÐžÐŒÐµÐœÐµÐŒ Ð² ÑÑ Ð¶Ðµ ÑÐ°ÐŒÑÑ Ð¿Ð°Ð¿ÐºÑ, ÐÐ°Ñ Ð·Ð°Ð¿ÑÐŸÑÑÑ, Ð·Ð°ÑÐµÑÐµÑÑ Ð»Ðž Ð¿ÐµÑÐ²ÑÐ¹. ÐÑÐ²ÐµÑÑÑÐµ "ÐÐµÑ" Ðž ÑÑÐŸÑ ÑÐ°Ð¹Ð» ÐœÐµ Ð±ÑÐŽÐµÑ ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÑÑÑÑ,ÐœÐŸ ÐŽÑÑÐ³ÐžÐµ Ð±ÑÐŽÑÑ. Ð§ÑÐŸÐ±Ñ ÐŸÑÐŒÐµÐœÐžÑÑ Ð²ÑÐµ ÐŸÑÑÐ°ÑÑÐžÐµÑÑ ÐŽÐµÐ¹ÑÑÐ²ÐžÑ Ð¿ÐŸ ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÐœÐžÑ,ÑÐµÐ»ÐºÐœÐžÑÐµ ÐœÐ° ÐºÐœÐŸÐ¿ÐºÐµ "Ð¡ÑÐŸÐ¿".   </Text>
+<Text id="64">Ð¢ÐŸÐ»ÑÐºÐŸ "ÑÐ°ÐŒÑÐµ Ð²ÑÑÐŸÐºÐžÐµ"ÐžÐ· ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÑ
+ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² Ð±ÑÐŽÑÑ Ð¿ÐµÑÐµÐŒÐµÑÐµÐœÑ. ÐÐ°Ð¿ÐºÐ° Ð²ÑÑÐµ, ÑÐµÐŒ ÐµÑ Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐŽÐœÑÐµ. ÐÑ ÐœÐµ ÐŒÐŸÐ¶ÐµÑÐµ Ð²ÑÐ±ÑÐ°ÑÑ ÑÐ°Ð¹Ð»Ñ Ð² Ð¿ÑÐµÐŽÐµÐ»Ð°Ñ
+ Ð¿Ð°Ð¿ÐºÐž,Ð° ÑÐ°ÐºÐ¶Ðµ ÑÐ°ÐŒÑ Ð¿Ð°Ð¿ÐºÑ ÐœÐµÐ¿ÐŸÑÑÐµÐŽÑÑÐ²ÐµÐœÐœÐŸ. </Text>
+<Text id="65">ÐÐŸÐ³ÐŽÐ° ÐÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÐµÑÐµ ÑÐ°Ð¹Ð», ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ Ð¿ÑÐŸÐ²ÐŸÐŽÐžÑ Ð¿ÐŸÐžÑÐº Ð² ÐžÑÑ
+ÐŸÐŽÐœÑÑ
+ Ð¿Ð°Ð¿ÐºÐ°Ñ
+ Ð²ÑÐ¿ÐŸÐŒÐŸÐ³Ð°ÑÐµÐ»ÑÐœÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ², ÑÐŸÐŽÐµÑÐ¶Ð°ÑÐžÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ Ðº ÐŽÐŸÐ±Ð°Ð²Ð»ÑÐµÐŒÐŸÐŒÑ ÑÐ°Ð¹Ð»Ñ,Ðž ÐµÑÐ»Ðž ÐŸÐœ ÐœÐ°Ñ
+ÐŸÐŽÐžÑ ÐµÐ³ÐŸ,ÑÐŸ ÐœÐ°ÑÐžÐœÐ°ÐµÑ ÐžÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÑÑÐž ÐŽÐ°ÐœÐœÑÐµ. ÐÑÐ»Ðž Ð¿ÑÐŸÑÐµÑÑ Ð¿ÑÐŸÐŽÐŸÐ»Ð¶Ð°ÐµÑÑÑ,ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð±ÑÑÑ Ð·Ð°Ð¿ÑÐŸÑÐµÐœÑ (Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ°Ð·) ÐŸ ÐŽÐŸÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»ÑÐœÐŸÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž,ÑÑÐŸÐ±Ñ ÐŽÐŸÑÑÐžÑÑ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÑ ÐžÐŒÐ¿ÐŸÑÑÐžÑÑÐµÐŒÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ñ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒÐž,ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœÐœÑÐŒÐž Ð² ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. Ð­ÑÐŸÑ Ð¿ÑÐŸÑÐµÑÑ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÐŒÐœÐŸÐ³ÐžÐµ ÑÐ°Ð·Ð»ÐžÑÐœÑÐµ Ð·Ð°Ð¿ÑÐŸÑÑ, ÐŸÐ¿ÐžÑÐ°ÐœÐœÑÐµ Ð² ÑÐ°Ð·ÐŽÐµÐ»Ðµ<Reference target="importingpreviouslyassignedmetadata"/>.ÐÐ»Ñ Ð±ÐŸÐ»ÐµÐµ ÐŽÐµÑÐ°Ð»ÑÐœÐŸÐ³ÐŸ ÐŸÐ±ÑÑÑÐœÐµÐœÐžÑ Ð°ÑÑÐŸÑÐžÐžÑÐŸÐ²Ð°ÐœÐœÑÑ
+ Ñ ÑÐ°Ð¹Ð»Ð°ÐŒÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÑÐžÑÐ°Ð¹ÑÐµ ÐÐ»Ð°Ð²Ñ 2 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone - ÐÐ·Ð²Ð»ÐµÑÐµÐœÐžÐµ Ð±ÐŸÐ»ÑÑÐžÐœÑÑÐ²Ð° Ð²Ð°ÑÐžÑ
+ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ².  </Text>
+<Text id="65a">Ð¢Ð°ÐºÐ¶Ðµ ÐžÐŒÐµÐµÑÑÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ "ÐŒÐ°ÐºÐµÑÐ°" ÐŽÐŸÐºÑÐŒÐµÐœÑÐ° Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð¿ÑÐ°Ð²ÑÐŒ ÑÐµÐ»ÑÐºÐŸÐŒ Ð¿ÐŸ ÐÐµÑÐµÐ²Ñ ÐÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÐžÐ»Ðž Ð¿Ð°Ð¿ÐºÐž Ðž Ð²ÑÐ±ÑÐ°Ð² "ÐÐŸÐ²ÑÐ¹ ÐŽÐŸÐºÑÐŒÐµÐœÑ-ÐŒÐ°ÐºÐµÑ". ÐÑÐŽÐµÑ ÑÐŸÐ·ÐŽÐ°Ðœ ÐœÐŸÐ²ÑÐ¹ Ð¿ÑÑÑÐŸÐ¹ ÑÐ°Ð¹Ð», ÐºÐŸÑÐŸÑÐŸÐŒÑ ÐŒÐŸÐ¶ÐœÐŸ Ð¿ÑÐžÑÐ²ÐŸÐžÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ. Ð€Ð°Ð¹Ð» ÐŒÐŸÐ¶ÐœÐŸ Ð·Ð°ÐŒÐµÐœÐžÑÑ "ÐœÐ°ÑÑÐŸÑÑÐžÐŒ" ÑÐ°Ð¹Ð»ÐŸÐŒ Ð¿ÐŸÐ·Ð¶Ðµ.  </Text>
+</Section>
+<Section name="replacingfiles">
+<Title>
+<Text id="65b">ÐÐµÑÐµÐžÐŒÐµÐœÐŸÐ²Ð°ÐœÐžÐµ Ðž Ð·Ð°ÐŒÐµÐœÐ° ÑÐ°Ð¹Ð»ÐŸÐ²</Text>
+</Title>
+<Text id="65c">Ð€Ð°Ð¹Ð»Ñ ÐŒÐŸÐ¶ÐœÐŸ Ð¿ÐµÑÐµÐžÐŒÐµÐœÐŸÐ²ÑÐ²Ð°ÑÑ, ÑÐµÐ»ÐºÐœÑÐ² Ð¿ÑÐ°Ð²ÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐŸÐ¹ Ð¿ÐŸ ÐœÐžÐŒ Ðž Ð²ÑÐ±ÑÐ°Ð² Â«ÐÐµÑÐµÐžÐŒÐµÐœÐŸÐ²Ð°ÑÑÂ» ÐžÐ· ÑÐ¿ÐžÑÐºÐ°. ÐÐ²ÐµÐŽÐžÑÐµ ÐœÐŸÐ²ÐŸÐµ ÐžÐŒÑ Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ Â«ÐÐÂ».</Text>
+<Text id="65d">Ð€Ð°Ð¹Ð»Ñ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐŒÐŸÐ¶ÐœÐŸ Ð·Ð°ÐŒÐµÐœÑÑÑ Ð¿ÑÐ°Ð²ÑÐŒ ÑÐµÐ»ÑÐºÐŸÐŒ Ð¿ÐŸ ÑÐ°Ð¹Ð»Ñ Ðž Ð²ÑÐ±ÑÐ°Ð² Â«ÐÐ°ÐŒÐµÐœÐžÑÑÂ». ÐÑÐŽÐµÑ ÐŸÑÐºÑÑÑ Ð¿ÑÐŸÑÐŒÐŸÑÑ ÑÐ°Ð¹Ð»ÐŸÐ²: Ð¿ÐµÑÐµÐŒÐµÑÑÐžÑÐµÑÑ Ðº ÐœÐŸÐ²ÐŸÐŒÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÑÐºÑÑÑÑ". ÐÐŸÐ²ÑÐ¹ ÐŽÐŸÐºÑÐŒÐµÐœÑ Ð·Ð°ÐŒÐµÐœÐžÑ ÑÑÐ°ÑÑÐ¹ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, Ðž Ð²ÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ð±ÑÐŽÑÑ Ð¿ÐµÑÐµÐŒÐµÑÐµÐœÑ ÐŽÐ»Ñ ÐœÐµÐ³ÐŸ. Ð­ÑÐŸ Ð¿ÐŸÐ»ÐµÐ·ÐœÐŸ ÐŽÐ»Ñ Ð·Ð°ÐŒÐµÐœÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ²-ÐŒÐ°ÐºÐµÑÐŸÐ² ÐœÐ°ÑÑÐŸÑÑÐžÐŒÐž ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°ÐŒÐž.  </Text>
+<Text id="65e">ÐÐµÐºÐŸÑÐŸÑÑÐµ ÑÐžÐ¿Ñ ÑÐ°Ð¹Ð»ÐŸÐ² Ð¿ÑÐµÐŸÐ±ÑÐ°Ð·ÑÑÑÑÑ Ð² HTML ÑÑÐŸÑÐŸÐœÐœÐžÐŒ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐœÑÐŒ ÐŸÐ±ÐµÑÐ¿ÐµÑÐµÐœÐžÐµÐŒ Ð¿ÑÐž ÐžÐŒÐ¿ÐŸÑÑÐµ, ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, Word, Excel, PDF Ðž Ñ.ÐŽ. HTML Ð¿ÐŸÐ»ÑÑÐµÐœÐœÑÐ¹ Ð¿ÑÐž ÑÑÐŸÐŒ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐœÐµ ÐŸÑÐµÐœÑ Ñ
+ÐŸÑÐŸÑÐŸ ÐŸÑÑÐŸÑÐŒÐ°ÑÐžÑÐŸÐ²Ð°Ðœ. Ð­ÑÐž ÐŽÐŸÐºÑÐŒÐµÐœÑÑ ÐžÐŒÐµÑÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÑ ÑÑÐŸÐ²ÐµÑÑÐµÐœÑÑÐ²ÐŸÐ²Ð°ÐœÐžÑ Ð¿ÑÐ°Ð²ÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐŸÐ¹ ÐŒÑÑÐž: <AutoText key="glidict::Menu.Replace_SrcDoc_With_HTML"/>. ÐÑÐ±ÐŸÑ ÑÑÐŸÐ³ÐŸ Ð²Ð°ÑÐžÐ°ÐœÑÐ° Ð·Ð°ÐŒÐµÐœÐžÑ HTML Ð²ÐµÑÑÐžÑ ÐŸÑÐžÐ³ÐžÐœÐ°Ð»ÑÐœÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð°, ÐœÐŸÐ²ÑÐŒ, ÐºÐŸÑÐŸÑÑÐ¹ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°Ðœ.</Text>
+</Section>
+<Section name="removingfiles">
+<Title>
+<Text id="66">Ð£ÐŽÐ°Ð»ÐµÐœÐžÐµ ÑÐ°Ð¹Ð»ÐŸÐ²</Text>
+</Title>
+<Text id="67">Ð¡ÑÑÐµÑÑÐ²ÑÐµÑ ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÐŒÐµÑÐŸÐŽÐŸÐ² ÑÐŽÐ°Ð»ÐµÐœÐžÑ ÑÐ°Ð¹Ð»ÐŸÐ² Ðž Ð¿Ð°Ð¿ÐŸÐº. ÐÑ ÐŽÐŸÐ»Ð¶ÐœÑ ÑÐœÐ°ÑÐ°Ð»Ð° ÑÐºÐ°Ð·Ð°ÑÑ,ÐºÐ°ÐºÐžÐµ ÐžÐ· ÐœÐžÑ
+ ÑÐŽÐ°Ð»ÑÑÑ, Ð²ÑÐ±ÐžÑÐ°Ñ ÐŸÐŽÐžÐœ ÐžÐ»Ðž Ð±ÐŸÐ»ÐµÐµ ÑÐ°Ð¹Ð»ÐŸÐ² Ðž Ð¿Ð°Ð¿ÐŸÐº, ÐºÐ°Ðº ÐŸÐ¿ÐžÑÐ°ÐœÐŸ Ð² <Reference target="thegatherview"/>.</Text>
+<Text id="68">ÐÐ°Ðº ÑÐŸÐ»ÑÐºÐŸ ÑÐ°Ð¹Ð»Ñ ÐŸÑÐŸÐ±ÑÐ°ÐœÑ, ÐŽÐ»Ñ ÐžÑ
+ ÑÐŽÐ°Ð»ÐµÐœÐžÑ ÑÐµÐ»ÐºÐ°ÑÑ ÐºÐœÐŸÐ¿ÐºÑ "Ð£ÐŽÐ°Ð»ÐžÑÑ"ÐžÐ»Ðž ÐœÐ°Ð¶ÐžÐŒÐ°ÑÑ ÐºÐºÐ»Ð°Ð²ÐžÑÑ [Ð£ÐŽÐ°Ð»ÐžÑÑ] ÐœÐ° ÐºÐ»Ð°Ð²ÐžÐ°ÑÑÑÐµ, ÐžÐ»Ðž Ð¶Ðµ ÑÑÐœÑÑ ÐžÑ
+ ÐžÐ· ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐŽÐŸ ÐºÐœÐŸÐ¿ÐºÐž "Ð£ÐŽÐ°Ð»ÐžÑÑ" Ðž ÑÐ°ÐŒ ÐŸÑÐ¿ÑÑÐºÐ°ÑÑ.  </Text>
+</Section>
+<Section name="explodingfiles">
+<Title>
+<Text id="exm-1">Â«Ð Ð°Ð·Ð²ÐµÑÑÑÐ²Ð°ÐœÐžÐµÂ» ÑÐ°Ð¹Ð»ÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</Text>
+</Title>
+<Text id="exm-2">Ð¢ÐžÐ¿Ñ ÑÐ°Ð¹Ð»ÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÑÐ°ÐºÐžÐµ ÐºÐ°Ðº  MARC, CDS/ISIS, BibTex, Refer Ðž Procite ÐŒÐŸÐ¶ÐœÐŸ ÐžÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ Ð² Greenstone, ÐœÐŸ ÐžÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐœÐµÐ»ÑÐ·Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ ÐžÐ»Ðž ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ Ð² ÐÐœÑÐµÑÑÐµÐ¹ÑÐµ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ°ÑÑ. ÐÐ»Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ° ÑÐ°ÐºÐžÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐœÑÐ¶ÐœÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÑÑ ÐžÐŒ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÑ.</Text>
+<Text id="exm-3">Ð Ð°Ð·Ð²ÐµÑÑÑÐ²Ð°ÐœÐžÐµ ÑÐ°Ð¹Ð»Ð° Ð±Ð°Ð·Ñ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐŽÐµÐ»ÐžÑ ÐµÐ³ÐŸ ÐœÐ° ÐžÐœÐŽÐžÐ²ÐžÐŽÑÐ°Ð»ÑÐœÑÐµ ÑÐµÐºÑÐžÐž Ñ Ð¿ÑÐŸÑÐŒÐ°ÑÑÐžÐ²Ð°ÐµÐŒÑÐŒÐž Ðž ÑÐµÐŽÐ°ÐºÑÐžÑÑÐµÐŒÑÐŒÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒÐž. ÐÑÐŸÑÐµÑÑ ÐœÐµÐŸÐ±ÑÐ°ÑÐžÐŒ: ÐŸÑÐžÐ³ÐžÐœÐ°Ð»ÑÐœÑÐ¹ ÑÐ°Ð¹Ð» Ñ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒÐž ÑÐŽÐ°Ð»ÑÐµÑÑÑ.</Text>
+<Text id="exm-4">Ð Ð°Ð·Ð²ÐµÑÑÑÐ²Ð°ÐµÐŒÑÐµ ÑÐ°Ð¹Ð»Ñ ÐžÐŒÐµÑÑ Ð·ÐµÐ»ÐµÐœÑÑ ÐžÐºÐŸÐœÐºÑ Ð² ÐÐµÑÐµÐ²Ðµ ÐÐŸÐ»Ð»ÐµÐºÑÐžÐ¹. ÐÐ»Ñ ÑÐ°Ð·Ð²ÐŸÑÐ°ÑÐžÐ²Ð°ÐœÐžÑ ÐŸÐŽÐœÐŸÐ¹ ÐžÐ· ÐœÐžÑ
+ ÑÐµÐ»ÐºÐœÐžÑÐµ Ð¿ÑÐ°Ð²ÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐŸÐ¹ Ðž Ð²ÑÐ±ÐµÑÐžÑÐµ "Ð Ð°Ð·Ð²ÐµÑÐœÑÑÑ Ð±Ð°Ð·Ñ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+". ÐÐŸÑÐ²ÐžÑÑÑ Ð²ÑÐ¿Ð»ÑÐ²Ð°ÑÑÐµÐµ ÐŸÐºÐœÐŸ Ñ ÐŸÐ¿ÑÐžÑÐŒÐž ÑÐ°Ð·Ð²ÐµÑÑÑÐ²Ð°ÐœÐžÑ. ÐÐµÑÐ²Ð°Ñ ÐŸÐ¿ÑÐžÑ ("Ð¿Ð»Ð°Ð³ÐžÐœ") ÑÐºÐ°Ð·ÑÐ²Ð°ÐµÑ Ð¿Ð»Ð°Ð³ÐžÐœ ÐŽÐ»Ñ ÑÐ°Ð·Ð²ÐµÑÑÑÐ²Ð°ÐœÐžÑ. Ð Ð±ÐŸÐ»ÑÑÐžÐœÑÑÐ²Ðµ ÑÐ»ÑÑÐ°ÐµÐ², ÑÐŸÐ»ÑÐºÐŸ ÐŸÐŽÐžÐœ Ð¿Ð»Ð°Ð³ÐžÐœ Ð±ÑÐŽÐµÑ ÐŸÐ±ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÑÑ ÐºÐŸÐœÐºÑÐµÑÐœÑÐ¹ ÑÐžÐ¿ ÑÐ°Ð¹Ð»ÐŸÐ², ÐœÐŸ Ð² ÐœÐµÐºÐŸÑÐŸÑÑÑ
+ ÑÐ»ÑÑÐ°ÑÑ
+,ÐºÐŸÐ³ÐŽÐ° ÑÐ°Ð·ÐœÑÐµ ÑÐžÐ¿Ñ ÑÐ°Ð¹Ð»ÐŸÐ² ÐŒÐŸÐ³ÑÑ ÐžÐŒÐµÑÑ ÐŸÐŽÐžÐœÐ°ÐºÐŸÐ²ÑÐµ ÑÐ°ÑÑÐžÑÐµÐœÐžÑÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐŽÐ²Ð° Ð¿Ð»Ð°Ð³ÐžÐœÐ° ÐŽÐ»Ñ ÑÑÐŸÐ¹ ÐŸÐ±ÑÐ°Ð±ÐŸÑÐºÐž. ÐÐ¿ÑÐžÑ "input_encoding" ÑÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐºÐŸÐŽÐžÑÐŸÐ²ÐºÑ Ð±Ð°Ð·Ñ. ÐÐ¿ÑÐžÑ "metadata_set" ÑÐºÐ°Ð·ÑÐ²Ð°ÐµÑ, Ðº ÐºÐ°ÐºÐŸÐŒÑ ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÑ ÐœÐŸÐ²ÑÐµ Ð¿ÐŸÐ»Ñ. ÐÑÐ»Ðž ÐœÐž ÐŸÐŽÐœÐŸ ÐœÐµ ÑÐºÐ°Ð·Ð°ÐœÐŸ, Ð²Ð°Ñ ÑÐ¿ÑÐŸÑÑÑ ÐŸ ÐºÐ°Ð¶ÐŽÐŸÐŒ ÐžÐ· Ð¿ÐŸÐ»ÐµÐ¹: ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐºÐ°Ðº ÐœÐŸÐ²ÑÐ¹ ÑÐ»ÐµÐŒÐµÐœÑ Ðº ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÐŸÐ±ÑÐµÐŽÐžÐœÐžÑÑ Ñ ÐŽÑÑÐ³ÐžÐŒ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐŒ, Ð»ÐžÐ±ÐŸ ÐžÐ³ÐœÐŸÑÐžÑÐŸÐ²Ð°ÑÑ.</Text>
+<Text id="exm-5">ÐÐŸÐ³ÐŽÐ° ÑÐ°Ð¹Ð» ÑÐ°Ð·Ð²ÐŸÑÐ°ÑÐžÐ²Ð°ÐµÑÑÑ, ÑÐŸÐ·ÐŽÐ°ÐµÑÑÑ ÐœÐŸÐ²ÑÐ¹ Ð¿ÑÑÑÐŸÐ¹ ÐŽÐŸÐºÑÐŒÐµÐœÑ ÐŽÐ»Ñ ÐºÐ°Ð¶ÐŽÐŸÐ¹ Ð·Ð°Ð¿ÐžÑÐž, Ðž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐžÐ· ÐŽÐŸÐºÑÐŒÐµÐœÑÐ° Ð¿ÑÐžÑÐ²Ð°ÐžÐ²Ð°ÑÑÑÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ. ÐÐœÐž ÐžÐŒÐµÐœÑÑÑÑÑ ÐºÐ°Ðº 000001.nul, 000002.nul Ðž Ñ.ÐŽ. ÐÑÐ»Ðž ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœÐ° ÐŸÐ¿ÑÐžÑ Â«document_fieldÂ» (ÐžÐŒÐµÐœÐž Ð¿ÐŸÐ»Ñ Ð±Ð°Ð·Ñ ÐŽÐ°ÐœÐœÑÑ
+), ÑÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÑÑÐŸÐ³ÐŸ Ð¿ÐŸÐ»Ñ, ÐµÑÐ»Ðž ÐŸÐœÐŸ ÐµÑÑÑ, Ð±ÑÐŽÐµÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑÑÑ ÐºÐ°Ðº ÐžÐŒÑ ÑÐ°Ð¹Ð»Ð°. ÐÑÐŸÑÐµÑÑ ÑÐ°Ð·Ð²ÐµÑÑÑÐ²Ð°ÐœÐžÑ ÑÐ°ÐºÐ¶Ðµ Ð¿ÐŸÐ¿ÑÑÐ°ÐµÑÑÑ Ð·Ð°Ð³ÑÑÐ·ÐžÑÑ ÑÐ°Ð¹Ð» Ðž ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐµÐ³ÐŸ Ð²ÐŒÐµÑÑÐŸ Ð¿ÑÑÑÐŸÐ³ÐŸ. ÐÐ¿ÑÐžÐž "document_prefix" Ðž "document_suffix" ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÐž ÐŽÐ»Ñ ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ Ð¿ÑÐ°Ð²ÐžÐ»ÑÐœÐŸÐ³ÐŸ URL ÐžÐ»Ðž Ð¿ÑÑÐž Ðº ÑÐ°Ð¹Ð»Ñ ÐžÐ· Ð·ÐœÐ°ÑÐµÐœÐžÑ Ð¿ÐŸÐ»Ñ document_field. ÐÐ¿ÑÐžÑ "records_per_folder" ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐ° ÐŽÐ»Ñ Ð³ÑÑÐ¿Ð¿ÐžÑÐŸÐ²Ð°ÐœÐžÑ Ð·Ð°Ð¿ÐžÑÐµÐ¹ Ð² Ð¿ÐŸÐŽÐ¿Ð°Ð¿ÐºÐž. ÐÑÐ»Ðž Ð±Ð°Ð·Ð° ÐŽÐ°ÐœÐœÑÑ
+ ÐŸÑÐµÐœÑ Ð²ÐµÐ»ÐžÐºÐ°, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÐµ ÑÑÐŸÐ¹ ÐŸÐ¿ÑÐžÐž ÑÑÐºÐŸÑÐžÑ Ð¿ÐŸÑÐ»ÐµÐŽÐŸÐ²Ð°ÑÐµÐ»ÑÐœÐŸÐµ ÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+.</Text>
+<Text id="exm-6">Ð Ð°Ð·Ð²ÐµÑÑÑÐ²Ð°ÐµÐŒÐŸÑÑÑ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÐµÑÑÑ ÑÐ°ÑÑÐžÑÐµÐœÐžÐµÐŒ ÑÐ°Ð¹Ð»Ð°. Ð ÐœÐµÐºÐŸÑÐŸÑÑÑ
+ ÑÐ»ÑÑÐ°ÑÑ
+ ÑÐ°Ð¹Ð»Ñ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐŸÑÐžÐ±ÐŸÑÐœÐŸ Ð¿ÐŸÐŒÐµÑÐµÐœÑ ÐºÐ°Ðº ÑÐ°Ð·Ð²ÐµÑÑÑÐ²Ð°ÐµÐŒÑÐµ. ÐÐ°Ð¿ÑÐžÐŒÐµÑ, Ð¿Ð»Ð°Ð³ÐžÐœ ProCite ÐŸÐ±ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÐµÑ ÑÐ°Ð¹Ð»Ñ Ñ ÑÐ°ÑÑÐžÑÐµÐœÐžÐµÐŒ .txt, ÐœÐŸ Ð±ÐŸÐ»ÑÑÐžÐœÑÑÐ²ÐŸ .txt ÑÐ°Ð¹Ð»ÐŸÐ² â Ð¿ÑÐŸÑÑÑÐµ ÑÐµÐºÑÑÐŸÐ²ÑÐµ, Ð° ÐœÐµ ÑÐ°Ð¹Ð»Ñ ProCite.</Text>
+</Section>
+<Section name="filteringthetree">
+<Title>
+<Text id="69">Ð€ÐžÐ»ÑÑÑÐŸÐ²Ð°ÐœÐžÐµ ÐŽÐµÑÐµÐ²Ð°</Text>
+</Title>
+<Text id="70">"Ð€ÐžÐ»ÑÑÑÐŸÐ²Ð°ÐœÐžÐµ" ÐŽÐµÑÐµÐ²Ð° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ ÐÐ°ÐŒ ÑÑÐ¶Ð°ÑÑ Ð¿ÐŸÐžÑÐº ÑÐ¿ÐµÑÐžÑÐžÑÐµÑÐºÐžÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ².</Text>
+<Text id="71">ÐÑÐœÐºÑ "ÐÐŸÐºÐ°Ð·Ð°ÑÑ ÑÐ°Ð¹Ð»Ñ" Ð² ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐŒ ÐŒÐµÐœÑ Ð¿ÐŸÐŽ ÐºÐ°Ð¶ÐŽÑÐŒ ÐŽÐµÑÐµÐ²ÐŸÐŒ Ð²ÑÐ²ÐŸÐŽÐžÑ ÑÐ¿ÐžÑÐŸÐº Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÑÑ
+ ÑÐžÐ»ÑÑÑÐŸÐ² ÑÐžÐ¿Ð° "Images".ÐÑÐ±ÐµÑÐžÑÐµ Ðž Ð²ÑÐµ Ð²ÑÐµÐŒÐµÐœÐœÐŸ ÑÐºÑÑÑÑÐµ ÑÐ°Ð¹Ð»Ñ Ð² ÐŽÐµÑÐµÐ²Ðµ.Ð§ÑÐŸÐ±Ñ Ð²ÐŸÑÑÑÐ°ÐœÐŸÐ²ÐžÑÑ ÐŽÐµÑÐµÐ²ÐŸ,Ð·Ð°ÐŒÐµÐœÐžÑÐµ ÑÐžÐ»ÑÑÑ ÑÐœÐŸÐ²Ð° ÐœÐ° "ÐÑÐµ ÑÐ°Ð¹Ð»Ñ".Ð­ÑÐž ÐŽÐµÐ¹ÑÑÐ²ÐžÑ ÐœÐµ ÐžÐ·ÐŒÐµÐœÑÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž Ð¿ÑÐž ÑÑÐŸÐŒ ÐŸÐœÐž ÐœÐµ Ð·Ð°ÑÑÐ°Ð³ÐžÐ²Ð°ÑÑ Ð¿Ð°Ð¿ÐºÐž Ð² ÐŽÐµÑÐµÐ²Ðµ. </Text>
+<Text id="72">ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð·Ð°ÐŽÐ°ÑÑ ÐœÐ°ÑÑÑÐŸÐ¹ÐºÑ ÑÐžÐ»ÑÑÑÐ°,ÐœÐ°Ð¿ÐµÑÐ°ÑÐ°Ð² Ð² ÑÑ
+ÐµÐŒÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÐµ ÑÐ°Ð¹Ð»ÐŸÐ² (Ð¢ÐŸÐ»ÑÐºÐŸ ÐŽÐ»Ñ ÑÐµÐ¶ÐžÐŒÐŸÐ² Ð¡Ð¿ÐµÑÐžÐ°Ð»ÐžÑÑ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÑ
+ Ð¡ÐžÑÑÐµÐŒ Ðž Ð­ÐºÑÐ¿ÐµÑÑ).ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÑÑÐ°ÐœÐŽÐ°ÑÑÐœÑÐµ Ð°Ð±Ð±ÑÐµÐ²ÐžÐ°ÑÑÑÑ ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐ¹ ÑÐžÑÑÐµÐŒÑ ÑÐžÐ¿Ð° "*.*" ÐžÐ»Ðž "*.doc" ("*" ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÐµÑ Ð»ÑÐ±ÑÐŒ ÑÐžÐŒÐ²ÐŸÐ»Ð°ÐŒ). </Text>
+</Section>
+</Section>
+<Section name="enrichingacollection">
+<Title>
+<Text id="73">ÐÐ±ÐŸÐ³Ð°ÑÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒÐž</Text>
+</Title>
+<Text id="74">ÐÐŒÐµÑ ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÐœÐ°ÐºÐŸÐ¿Ð»ÐµÐœÐœÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ² Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž,ÐœÐ°Ð¿ÐŸÐ»ÐœÐžÑÐµ ÐžÑ
+ ÐŽÐŸÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»ÑÐœÐŸÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐµÐ¹,ÐœÐ°Ð·ÑÐ²Ð°ÐµÐŒÐŸÐ¹ "ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ".Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ±ÑÑÑÐœÑÐµÑÑÑ, ÐºÐ°Ðº ÑÐŸÐ·ÐŽÐ°ÑÑÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ,ÐºÐ°Ðº ÐŸÐœÐž ÑÐµÐŽÐ°ÐºÑÐžÑÑÑÑÑÑ, ÐœÐ°Ð·ÐœÐ°ÑÐ°ÑÑÑÑ Ðž Ð²ÐŸÑÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÑÑÑÑ,Ð° ÑÐ°ÐºÐ¶Ðµ ÐºÐ°Ðº ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑÑÑ Ð²ÐœÐµÑÐœÐžÐµ ÐžÑÑÐŸÑÐœÐžÐºÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ (ÑÐ°ÐºÐ¶Ðµ ÑÐŒ.ÐÐ»Ð°Ð²Ñ 2 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone - ÐÐŸÐ»ÑÑÐµÐœÐžÐµ Ð±ÐŸÐ»ÑÑÐµÐ¹ ÑÐ°ÑÑÐž ÐžÐ· Ð²Ð°ÑÐžÑ
+ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ²). </Text>
+<Section name="theenrichview">
+<Title>
+<Text id="75">ÐÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐŸÐ±ÐŸÐ³Ð°ÑÐµÐœÐžÑ</Text>
+</Title>
+<Text id="76">ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÐÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐŸÐ±ÐŸÐ³Ð°ÑÐµÐœÐžÑ ÐŽÐ»Ñ Ð·Ð°ÐŽÐ°ÐœÐžÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°ÐŒ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ - ÑÑÐŸ ÐŽÐ°ÐœÐœÑÐµ ÐŸ ÐŽÐ°ÐœÐœÑÑ
+ - ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, ÐÐ°Ð·Ð²Ð°ÐœÐžÐµ,ÐÐ²ÑÐŸÑ,ÐÐ°ÑÐ° ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ Ðž Ñ.ÐŽ. ÐÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ - ÑÑÐŸ ÐŽÐ°ÐœÐœÑÐµ ÐŸ ÐŽÐ°ÐœÐœÑÑ
+, ÐŸÐ±ÑÑÐœÐŸ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµ, Ð°Ð²ÑÐŸÑ, ÐŽÐ°ÑÐ° ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ° Ðž.Ñ.Ð¿. ÐÐ°Ð¶ÐŽÑÐ¹ Ð¿ÑÐµÐŽÐŒÐµÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÑÐŸÑÑÐŸÐžÑ ÐžÐ· ÐŽÐ²ÑÑ
+ ÑÐ°ÑÑÐµÐ¹: "ÑÐ»ÐµÐŒÐµÐœÑ" ÐŸÐ·ÐœÐ°ÑÐ°ÐµÑ, ÐºÐ°ÐºÐŸÐ¹ Ð¿ÑÐµÐŽÐŒÐµÑ ÐžÐŒÐµÐµÑÑÑ Ð²Ð²ÐžÐŽÑ (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, Ð°Ð²ÑÐŸÑ), Ð° "Ð·ÐœÐ°ÑÐµÐœÐžÐµ" Ð¿ÑÐžÑÐ²Ð°ÐžÐ²Ð°ÐµÑ ÑÑÐŸÐŒÑ ÑÐ»ÐµÐŒÐµÐœÑÑ ÐµÐ³ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐµ (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, ÐžÐŒÑ Ð°Ð²ÑÐŸÑÐ°).</Text>
+<Text id="77">Ð "ÑÐ°ÑÑÐžÑÐµÐœÐœÐŸÐŒ" Ð²ÐžÐŽÐµ ÑÐ»ÐµÐ²Ð° ÐœÐ°Ñ
+ÐŸÐŽÐžÑÑÑ ÐÐµÑÐµÐ²ÐŸ ÐÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÐ¿ÑÐ°Ð²Ð° Ð¢Ð°Ð±Ð»ÐžÑÐ° ÐÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÐºÐŸÑÐŸÑÐ°Ñ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐŽÐ»Ñ ÐºÐ°Ð¶ÐŽÐŸÐ³ÐŸ Ð²ÑÐ±ÑÐ°ÐœÐœÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð° ÐžÐ»Ðž Ð¿Ð°Ð¿ÐºÐž ÐžÐ· ÐÐµÑÐµÐ²Ð° ÐÐŸÐ»Ð»ÐµÐºÑÐžÐž. Ð¡ÑÐŸÐ»Ð±ÑÑ ÐŸÐ±ÐŸÐ·ÐœÐ°ÑÐµÐœÑ ÑÐµÑÑÐŒ ÑÐ²ÐµÑÐŸÐŒ Ð²Ð²ÐµÑÑ
+Ñ Ðž ÐžÑ
+ ÑÐ°Ð·ÐŒÐµÑ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÐ·ÐŒÐµÐœÑÐœ Ð¿ÑÑÑÐŒ Ð¿ÐµÑÐµÐŽÐ²ÐžÐ¶ÐµÐœÐžÑ Ð»ÐžÐœÐžÐž ÑÐ°Ð·ÐŽÐµÐ»Ð°. ÐÐ°Ð¶Ð°Ð² ÐœÐ° Ð»ÑÐ±ÐŸÐ¹ ÑÑÐŽ Ð² ÑÐ°Ð±Ð»ÐžÑÐµ, Ð²Ñ ÑÐŒÐŸÐ¶ÐµÑÐµ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ Ðž ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ ÐŽÐµÑÐ°Ð»Ðž ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+ Ð² ÐœÐžÐ¶ÐœÐµÐ¹ ÑÐµÐºÑÐžÐž ÐŸÐºÐœÐ°. Ð§ÐµÑÐœÑÐ¹ ÑÐµÐºÑÑ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ, ÑÑÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÑÐ²Ð»ÑÐµÑÑÑ ÐŸÐ±ÑÐžÐŒ ÐŽÐ»Ñ Ð²ÑÐµÑ
+ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ²,ÑÐŸÐ³ÐŽÐ° ÐºÐ°Ðº ÑÐµÑÑÐ¹ ÑÐµÐºÑÑ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ,ÑÑÐŸ ÑÑÐŸ - ÐœÐµ ÑÐ°Ðº.Ð§ÐµÑÐœÑÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐŸÐ±ÐœÐŸÐ²Ð»ÐµÐœÑ ÐžÐ»Ðž ÑÐŽÐ°Ð»ÐµÐœÑ, Ð² ÑÐŸ Ð²ÑÐµÐŒÑ ÐºÐ°Ðº ÑÐµÑÑÐµ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐŽÐ°Ð»ÐµÐœÑ ÐžÐ· ÑÐµÑ
+,ÐºÐŸÑÐŸÑÑÐµ ÐžÐŒÐµÑÑ ÐžÑ
+,ÐžÐ»Ðž ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÑ Ðº ÐŽÑÑÐ³ÐžÐŒ.  </Text>
+<Text id="78">ÐÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ Ð¿Ð°Ð¿ÐºÐž ÐŒÐŸÐ¶ÐµÑ Ð¿ÐŸÑÐ²Ð»ÑÑÑÑÑ ÐŸÐºÐŸÐ»ÐŸ ÐœÐµÐºÐŸÑÐŸÑÑÑ
+ Ð²Ñ
+ÐŸÐŽÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+.Ð­ÑÐŸ ÑÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐœÐ° ÑÐŸ,ÑÑÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÑÐœÐ°ÑÐ»ÐµÐŽÐŸÐ²Ð°ÐœÑ ÐŸÑ Ð¿Ð°Ð¿ÐŸÐº ÑÐŸÐŽÐžÑÐµÐ»ÐµÐ¹ (ÐžÐ»Ðž Ð¿ÑÐµÐŽÐºÐŸÐ²). Ð£ÐœÐ°ÑÐ»ÐµÐŽÐŸÐ²Ð°ÐœÐœÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐœÐµ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÐœÑ ÐžÐ»Ðž ÑÐŽÐ°Ð»ÐµÐœÑ, Ð° ÑÐŸÐ»ÑÐºÐŸ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÑ Ð² ÐºÐŸÐœÐµÑ ÑÐ¿ÐžÑÐºÐ° ÐžÐ»Ðž Ð¿ÐµÑÐµÐ¿ÐžÑÐ°ÐœÑ.Ð©ÐµÐ»ÐºÐœÐžÑÐµ ÐœÐ° ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐž Ð¿Ð°Ð¿ÐºÐž,ÑÑÐŸÐ±Ñ ÐœÐµÐŒÐµÐŽÐ»ÐµÐœÐœÐŸ Ð¿ÐµÑÐµÐ¹ÑÐž Ð² ÑÑ Ð¿Ð°Ð¿ÐºÑ, Ð³ÐŽÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ð·Ð°ÐŽÐ°ÐœÑ.  </Text>
+<Text id="79">ÐÑÐ±ÐµÑÐžÑÐµ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð² ÑÐ°Ð±Ð»ÐžÑÐµ, ÑÑÐŸÐ±Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŽÐ»Ñ ÑÑÐŸÐ³ÐŸ ÑÐ»ÐµÐŒÐµÐœÑÐ° Ð² ÐŸÐ±Ð»Ð°ÑÑÐž "Ð¡ÑÑÐµÑÑÐ²ÑÑÑÐžÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŽÐ»Ñ ...", ÐœÐ°Ñ
+ÐŸÐŽÑÑÐµÐ¹ÑÑ Ð²ÐœÐžÐ·Ñ ÑÐ°Ð±Ð»ÐžÑÑ. ÐÐµÑÐµÐ²ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹ ÐŒÐŸÐ¶ÐµÑ ÑÐ°ÑÑÐžÑÑÑÑÑÑ Ðž ÑÐ°Ð·ÑÑÑÐ°ÑÑÑÑ. ÐÐ±ÑÑÐœÐŸ ÑÑÐŸ - ÑÐ¿ÐžÑÐŸÐº, ÐºÐŸÑÐŸÑÑÐ¹ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ Ð²ÑÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ, Ð²Ð²ÐµÐŽÐµÐœÐœÑÐµ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ ÐŽÐ»Ñ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÐŸÐ³ÐŸ ÑÐ»ÐµÐŒÐµÐœÑÐ°. Ð©ÐµÐ»ÑÐŸÐº ÐœÐ° Ð²Ñ
+ÐŸÐŽÐµ Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž ÑÐ°Ð·ÐŒÐµÑÐ°ÐµÑ ÐµÐ³ÐŸ Ð² Ð¿ÐŸÐ»Ðµ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹. Ð¡ ÐŽÑÑÐ³ÐŸÐ¹ ÑÑÐŸÑÐŸÐœÑ,Ð¿ÑÐž ÐœÐ°Ð¿ÐµÑÐ°ÑÐ°ÐœÐœÐŸÐŒ Ð·ÐœÐ°ÑÐµÐœÐžÐž Ð² ÑÐµÐºÑÑÐŸÐ²ÐŸÐŒ Ð¿ÐŸÐ»Ðµ Ð²ÑÐ±ÐŸÑÐºÐž ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² ÐÐµÑÐµÐ²Ð° Ð·ÐœÐ°ÑÐµÐœÐžÐ¹, ÑÐžÑÑÐµÐŒÐ° ÐœÐ°ÑÐžÐœÐ°ÐµÑ ÑÐ°Ð±ÐŸÑÑ Ñ ÑÐžÐŒÐ²ÐŸÐ»ÐŸÐ², ÐºÐŸÑÐŸÑÑÐµ ÐÑ Ð²Ð²ÐµÐ»Ðž. ÐÐ°Ð¶Ð°ÑÐžÐµ [Tab] Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž Ð·Ð°Ð²ÐµÑÑÐ°ÐµÑ Ð¿ÐµÑÐ°ÑÐ°ÐœÐžÐµ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÐŸÐ³ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÑ.</Text>
+<Text id="80">ÐÐœÐ°ÑÐµÐœÐžÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐŸÑÐ³Ð°ÐœÐžÐ·ÐŸÐ²Ð°ÐœÑ Ð² ÐžÐµÑÐ°ÑÑ
+ÐžÑ. Ð­ÑÐŸ Ð¿ÐŸÐºÐ°Ð·Ð°ÐœÐŸ Ð² ÐÐµÑÐµÐ²Ðµ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ Ð¿Ð°Ð¿ÐºÐž ÐŽÐ»Ñ Ð²ÐœÑÑÑÐµÐœÐœÐžÑ
+ ÑÑÐŸÐ²ÐœÐµÐ¹. ÐÐµÑÐ°ÑÑ
+ÐžÑÐµÑÐºÐžÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ Ð²Ð²ÐµÐŽÐµÐœÑ,ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ Ð·ÐœÐ°Ðº "|" ÐŽÐ»Ñ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ ÑÑÐŸÐ²ÐœÐµÐ¹. ÐÐ°Ð¿ÑÐžÐŒÐµÑ,"Cards|Red|Diamonds|Seven" ÐŒÐŸÐ³ Ð±Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑÑÑ Ð² ÐžÐµÑÐ°ÑÑ
+ÐžÐž, Ð¿ÑÐžÐŒÐµÑÐŸÐŒ ÐºÐŸÑÐŸÑÐŸÐ¹ ÑÐ²Ð»ÑÐµÑÑÑ Ð¿Ð°ÐºÐµÑ ÐžÐ³ÑÑ Ð² ÐºÐ°ÑÑÑ.Ð­ÑÐŸ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð³ÑÑÐ¿Ð¿ÐžÑÐŸÐ²Ð°ÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÑ Ð²ÐŒÐµÑÑÐµ. ÐÑÑÐ¿Ð¿Ñ ÐŒÐŸÐ³ÑÑ ÑÐ°ÐºÐ¶Ðµ ÐœÐ°Ð·ÐœÐ°ÑÐ°ÑÑÑÑ ÐºÐ°Ðº ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ðº ÑÐ°Ð¹Ð»Ð°ÐŒ.  </Text>
+<Text id="81">Greenstone Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž ÐžÐ·Ð²Ð»ÐµÐºÐ°ÐµÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐžÐ· ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ² Ð² ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÑÐ»ÐµÐŒÐµÐœÑÑ ÐºÐŸÑÐŸÑÐŸÐ³ÐŸ ÐžÐŒÐµÑÑ Ð¿ÑÐµÑÐžÐºÑ "ex.". Ð­ÑÐŸ ÐœÐµ ÐžÐŒÐµÐµÑ ÐœÐžÐºÐ°ÐºÐŸÐ³ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŽÐµÑÐµÐ²Ð° Ðž ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÐœÐŸ.  </Text>
+</Section>
+<Section name="selectingmetadatasets">
+<Title>
+<Text id="82">ÐÑÐ±ÐŸÑ ÐœÐ°Ð±ÐŸÑÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</Text>
+</Title>
+<Text id="83">Ð£ÑÑÐ°ÐœÐŸÐ²ÐºÐ° ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐžÐ·Ð²ÐµÑÑÐœÐ° ÐºÐ°Ðº "ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+". ÐÑÐžÐŒÐµÑÐŸÐŒ ÑÐ²Ð»ÑÐµÑÑÑ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Dublin Core. ÐÐŸÐ³ÐŽÐ° ÐÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÐµÑÐµ ÐºÐŸÐŒÐ¿Ð»ÐµÐºÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ðº ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÐŸ ÐµÐ³ÐŸ ÑÐ»ÐµÐŒÐµÐœÑÑ ÑÑÐ°ÐœÐŸÐ²ÑÑÑÑ ÐŽÐŸÑÑÑÐ¿ÐœÑÐŒÐž ÐŽÐ»Ñ Ð²ÑÐ±ÐŸÑÐ°. ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐžÐŒÐµÑÑ Ð±ÐŸÐ»ÑÑÐµ,ÑÐµÐŒ ÐŸÐŽÐžÐœ ÐœÐ°Ð±ÐŸÑ. ÐÐ»Ñ Ð¿ÑÐµÐŽÐŸÑÐ²ÑÐ°ÑÐµÐœÐžÑ ÑÑÐŸÐ»ÐºÐœÐŸÐ²ÐµÐœÐžÑ ÐŸÐŽÐžÐœÐ°ÐºÐŸÐ²ÑÑ
+ ÐžÐŒÑÐœ Ðº ÐœÐ°Ð·Ð²Ð°ÐœÐžÑ ÑÐ»ÐµÐŒÐµÐœÑÐ° Ð¿ÑÐžÑÐŸÐµÐŽÐžÐœÑÐµÑÑÑ ÐºÐŸÑÐŸÑÐºÐžÐ¹ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐŸÑ,ÐºÐŸÑÐŸÑÑÐ¹ Ð²ÑÐŽÐµÐ»ÑÐµÑ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+. ÐÐ°Ð¿ÑÐžÐŒÐµÑ, ÑÐ»ÐµÐŒÐµÐœÑ Dublin Core "Creator" ÑÑÐ°ÐœÐµÑ "dc.Creator".ÐÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ñ
+ÑÐ°ÐœÑÑÑÑ Ð² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ° Ðž ÐžÐŒÐµÑÑ ÑÑÑÑÐžÐºÑ ".mds".</Text>
+<Text id="84">Ð§ÑÐŸÐ±Ñ ÐºÐŸÐœÑÑÐŸÐ»ÐžÑÐŸÐ²Ð°ÑÑ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÑÑ
+ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, Ð²ÑÐ±ÐµÑÐžÑÐµ "ÐÐ°Ð±ÐŸÑ ÐÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+" Ð² Ð¿ÑÐŸÑÐŒÐŸÑÑÐµ "ÐÐžÐ·Ð°Ð¹Ðœ".</Text>
+<Text id="84a">Ð¡Ð¿ÐžÑÐŸÐº "ÐÑÐžÑÐ²ÐŸÐµÐœÐœÑÐµ ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+" Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ, ÐºÐ°ÐºÐžÐµ ÐœÐ°Ð±ÐŸÑÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑÑÑ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.</Text>
+<Text id="84b">ÐÐ»Ñ ÑÐŸÐ³ÐŸ, ÑÑÐŸÐ±Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐŽÑÑÐ³ÐŸÐ¹ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐŽÐ»Ñ ÑÐ¶Ðµ Ð·Ð°Ð³ÑÑÐ¶ÐµÐœÐœÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ...". ÐÑÐ¿Ð»ÑÐ²Ð°ÑÑÐµÐµ ÐŸÐºÐœÐŸ ÐŸÑÐŸÐ±ÑÐ°Ð·ÐžÑ ÐžÐ·Ð²ÐµÑÑÐœÑÐµ GLI ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+. Ð§ÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐŸÐŽÐžÐœ ÐžÐ· ÐœÐžÑ
+, Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ". ÐÑÐ»Ðž Ð²Ñ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÐ»Ðž ÑÐŸÐ±ÑÑÐ²ÐµÐœÐœÑÐ¹ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, Ð²Ñ ÐŒÐŸÐ¶ÐµÑÐµ ÐœÐ°Ð¶Ð°ÑÑ ÐºÐœÐŸÐ¿ÐºÑ "ÐÑÐŸÑÐŒÐŸÑÑ" ÐŽÐ»Ñ Ð²ÑÐ±ÐŸÑÐ° ÐœÑÐ¶ÐœÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð°.  </Text>
+<Text id="84c">ÐÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÐœÐ°Ð±ÐŸÑÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ²ÑÐ¹...". ÐÐ°Ð¿ÑÑÑÐžÑÑÑ Ð ÐµÐŽÐ°ÐºÑÐŸÑ ÐœÐ°Ð±ÐŸÑÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Greenstone, GEMS. Ð Ð¿ÐµÑÐ²ÐŸÐŒ Ð²ÑÐ¿Ð»ÑÐ²Ð°ÑÑÐµÐŒ ÐŸÐºÐœÐµ ÑÐºÐ°Ð¶ÐžÑÐµ ÐžÐŒÑ ÐœÐ°Ð±ÐŸÑÐ°, Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐŸ ÐžÐŒÐµÐœ Ðž ÐŸÐ¿ÐžÑÐ°ÐœÐžÐµ. Ð¢Ð°ÐºÐ¶Ðµ ÐŒÐŸÐ¶ÐœÐŸ Ð²Ð·ÑÑÑ Ð·Ð° ÐŸÑÐœÐŸÐ²Ñ ÐŸÐŽÐžÐœ ÐžÐ· ÑÑÑÐµÑÑÐ²ÑÑÑÐžÑ
+ ÐœÐ°Ð±ÐŸÑÐŸÐ², Ð² ÑÑÐŸÐŒ ÑÐ»ÑÑÐ°Ðµ ÐœÐ°Ð±ÐŸÑ ÑÐœÐ°ÑÐ»ÐµÐŽÑÐµÑ Ð²ÑÐµ ÑÐ»ÐµÐŒÐµÐœÑÑ ÐžÐ· Ð±Ð°Ð·ÐŸÐ²ÐŸÐ³ÐŸ. Ð©ÐµÐ»ÐºÐœÐžÑÐµ OK. ÐÐ»Ð°Ð²ÐœÐŸÐµ ÐŸÐºÐœÐŸ ÐŸÑÐŸÐ±ÑÐ°Ð·ÐžÑ ÑÐ»ÐµÐ²Ð° Ð²ÑÐ±ÑÐ°ÐœÐœÑÐ¹ ÐœÐ°Ð±ÐŸÑ Ðž ÐœÐµÐºÐŸÑÐŸÑÑÐµ Ð°ÑÑÐžÐ±ÑÑÑ ÐœÐ°Ð±ÐŸÑÐ° ÑÐ¿ÑÐ°Ð²Ð°. ÐÑÐ»Ðž Ð²ÑÐ±ÑÐ°Ð»Ðž Ð±Ð°Ð·ÐŸÐ¹ ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐ¹ ÐœÐ°Ð±ÐŸÑ, Ð±ÑÐŽÐµÑ ÐŸÑÐŸÐ±ÑÐ°Ð¶ÐµÐœ ÐŸÐŽÐžÐœ ÐžÐ»Ðž Ð±ÐŸÐ»ÐµÐµ ÑÐ»ÐµÐŒÐµÐœÑ. ÐÐŸ ÑÐµÐ»ÑÐºÑ ÐœÐ° ÐŸÐŽÐœÐŸÐŒ ÐžÐ· ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² ÐµÐ³ÐŸ Ð°ÑÑÐžÐ±ÑÑÑ Ð±ÑÐŽÑÑ ÐŸÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÑ ÑÐ¿ÑÐ°Ð²Ð°.  </Text>
+<Text id="84d">ÐÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÑÐ»ÐµÐŒÐµÐœÑÐ° ÑÐµÐ»ÐºÐœÐžÑÐµ Ð¿ÑÐ°Ð²ÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐŸÐ¹ ÐœÐ° ÐœÐ°Ð±ÐŸÑÐµ Ðž Ð²ÑÐ±ÐµÑÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐ»ÐµÐŒÐµÐœÑ". ÐÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÑÑÐ±ÑÐ»ÐµÐŒÐµÐœÑÐ° ÑÐµÐ»ÐºÐœÐžÑÐµ Ð¿ÑÐ°Ð²ÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐŸÐ¹ ÐŒÑÑÐž Ð¿ÐŸ ÑÐ»ÐµÐŒÐµÐœÑÑ Ðž Ð²ÑÐ±ÐµÑÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÑÐ±ÑÐ»ÐµÐŒÐµÐœÑ". Ð­Ð»ÐµÐŒÐµÐœÑÑ Ðž ÑÑÐ±ÑÐ»ÐµÐœÑÑ ÐŒÐŸÐ¶ÐœÐŸ ÑÐŽÐ°Ð»ÑÑÑ, Ð²ÑÐ±ÑÐ°Ð² "Ð£ÐŽÐ°Ð»ÐžÑÑ (ÑÑÐ±)ÑÐ»ÐµÐŒÐµÐœÑ" ÐžÐ· ÐºÐŸÐœÑÐµÐºÑÑÐœÐŸÐ³ÐŸ ÐŒÐµÐœÑ.   </Text>
+<Text id="84e">ÐÐ°ÐŒÐµÑÐ°ÐœÐžÐµ: Ð ÐµÐŽÐ°ÐºÑÐŸÑ ÐœÐ°Ð±ÐŸÑÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Greenstone ÐŒÐŸÐ¶ÐœÐŸ Ð·Ð°Ð¿ÑÑÐºÐ°ÑÑ ÐœÐµÐ·Ð°Ð²ÐžÑÐžÐŒÐŸ ÐŸÑ  GLI, Ð²ÑÐ±ÑÐ°Ð² ÐµÐ³ÐŸ ÐžÐ· Ð³Ð»Ð°Ð²ÐœÐŸÐ³ÐŸ ÐŒÐµÐœÑ Greenstone, ÐžÐ»Ðž Ð·Ð°Ð¿ÑÑÑÐžÐ² gens.sh Ð»ÐžÐ±ÐŸ gems.bat ÐžÐ· Ð¿Ð°Ð¿ÐºÐž gli Ð²Ð°ÑÐµÐ¹ ÐžÐœÑÑÐ°Ð»Ð»ÑÑÐžÐž Greenstone.</Text>
+<Text id="84f">ÐÐœÐŸÐ³ÐŽÐ° ÐŽÐ²Ð° ÐœÐ°Ð±ÐŸÑÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐŸÐ³ÑÑ ÐžÐŒÐµÑÑ ÐŸÐŽÐœÐŸ Ðž ÑÐŸ Ð¶Ðµ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐŸ ÐžÐŒÐµÐœ, ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, Dublin Core Ðž Qualified Dublin Core ÐŸÐ±Ð° ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐŸ ÐžÐŒÐµÐœ "dc". Ð¢Ð°ÐºÐžÐµ ÐœÐ°Ð±ÐŸÑÑ ÐœÐµÐ»ÑÐ·Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð²ÐŒÐµÑÑÐµ. ÐÑÐ»Ðž Ð²Ñ Ð¿ÐŸÐ¿ÑÑÐ°ÐµÑÐµÑÑ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐŸ ÐžÐŒÐµÐœ, ÑÐ¶Ðµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑÐµÐµÑÑ Ð² Ð²Ð°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, Ð±ÑÐŽÐµÑ Ð¿ÐŸÐºÐ°Ð·Ð°ÐœÐŸ Ð¿ÑÐµÐŽÑÐ¿ÑÐµÐ¶ÐŽÐµÐœÐžÐµ. ÐÑÐ»Ðž Ð²Ñ Ð¿ÑÐŸÐŽÐŸÐ»Ð¶ÐžÑÐµ, ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐ¹ ÐœÐ°Ð±ÐŸÑ Ð±ÑÐŽÐµÑ ÑÐŽÐ°Ð»ÐµÐœ, Ð° ÐœÐŸÐ²ÑÐ¹ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœ. ÐÑÐµ Ð¿ÑÐžÑÐ²ÐŸÐµÐœÐœÑÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð±ÑÐŽÑÑ Ð¿ÐµÑÐµÐŒÐµÑÐµÐœÑ Ð² ÐœÐŸÐ²ÑÐ¹, Ð¿ÑÐž ÑÑÐ»ÐŸÐ²ÐžÐž ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ Ð² ÐœÐµÐŒ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐžÑ
+ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ².  </Text>
+<Text id="191">Ð ÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ ÐœÐ°Ð±ÐŸÑÐ° ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+ Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœÐŸ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ Greenstone Editor for Metadata Sets (GEMS). ÐÐ°Ð¶ÐŒÐžÑÐµ ÐœÐ° ÐºÐœÐŸÐ¿ÐºÑ "Ð ÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ ÐÐ°Ð±ÐŸÑ ÐÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+", ÑÑÐŸÐ±Ñ Ð¿ÐŸÐ»ÑÑÐžÑÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸ GEMS.</Text>
+<Text id="192">ÐÑÐ»Ðž ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+ Ð²Ð°ÐŒ Ð±ÐŸÐ»ÑÑÐµ ÐœÐµ ÐœÑÐ¶ÐµÐœ, Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ Ðž ÐœÐ°Ð¶ÐŒÐžÑÐµ ÐœÐ° "Ð£ÐŽÐ°Ð»ÐžÑÑ ÐÐ°Ð±ÐŸÑ ÐÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+". ÐÑÐ»Ðž Ð²Ñ ÐœÐ°Ð·ÐœÐ°ÑÐžÐ»Ðž ÐºÐ°ÐºÐžÐµ-Ð»ÐžÐ±ÐŸ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÐµ Ðº ÑÐ»ÐµÐŒÐµÐœÑÐ°ÐŒ Ð² ÑÐŽÐ°Ð»ÐµÐœÐœÐŸÐŒ ÐœÐ°Ð±ÐŸÑÐµ, Ñ Ð²Ð°Ñ ÑÐ¿ÑÐŸÑÑÑ ÐºÐ°Ðº Ñ ÐœÐžÐŒÐž Ð¿ÐŸÑÑÑÐ¿ÐžÑÑ Ð¿ÑÐž ÑÐ»ÐµÐŽÑÑÐµÐ¹ Ð·Ð°Ð³ÑÑÐ·ÐºÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.</Text>
+</Section>
+<Section name="appendingmetadata">
+<Title>
+<Text id="85">ÐÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</Text>
+</Title>
+<Text id="86">Ð¢ÐµÐ¿ÐµÑÑ ÐŒÑ ÐŽÐŸÐ±Ð°Ð²ÐžÐŒ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ - Ðž ÑÐ°ÐŒ ÑÐ»ÐµÐŒÐµÐœÑ,Ðž ÐµÐ³ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÑ - Ðº ÑÐ°Ð¹Ð»Ñ. Ð¡ÐœÐ°ÑÐ°Ð»Ð° Ð²ÑÐ±ÐµÑÐµÐŒ ÑÐ°Ð¹Ð» ÐžÐ· ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐ³ÐŸ ÐŽÐµÑÐµÐ²Ð° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.Ð¢Ð°ÐºÐŸÐµ ÐŽÐµÐ¹ÑÑÐ²ÐžÐµ Ð²ÑÐ·ÑÐ²Ð°ÐµÑ Ð¿ÐŸÑÐ²Ð»ÐµÐœÐžÐµ Ð»ÑÐ±ÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+,Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ ÑÐ²ÑÐ·Ð°ÐœÐœÑÑ
+ Ñ ÑÑÐžÐŒ ÑÐ°Ð¹Ð»ÐŸÐŒ,Ð² ÑÐ°Ð±Ð»ÐžÑÐµ ÑÐ¿ÑÐ°Ð²Ð°.</Text>
+<Text id="87">ÐÐ°ÑÐµÐŒ Ð²ÑÐ±ÐµÑÐµÐŒ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+,ÐºÐŸÑÐŸÑÑÐ¹ Ñ
+ÐŸÑÐžÐŒ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ,Ð¿ÑÑÐµÐŒ ÑÐµÐ»ÑÐºÐ° ÑÑÐŽÐŸÐŒ Ñ ÐœÐžÐŒ Ð² ÑÐ°Ð±Ð»ÐžÑÐµ. </Text>
+<Text id="88">ÐÐ¿ÐžÑÐžÑÐµ ÑÑÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐµ Ð² Ð¿ÐŸÐ»Ðµ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹. ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ Ð·ÐœÐ°Ðº "|", ÑÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÑÑÑÑÐºÑÑÑÑ, ÐºÐ°Ðº ÐŸÐ¿ÐžÑÐ°ÐœÐŸ Ð² ÑÐµÐºÑÐžÐž <Reference target="theenrichview"/>. ÐÐ°Ð¶Ð°Ð² ÐºÐ»Ð°Ð²ÐžÑÐž [ÐÐ²ÐµÑÑ
+] ÐžÐ»Ðž [ÐÐœÐžÐ·], ÐÑ ÑÐŒÐŸÐ¶ÐµÑÐµ Ð²ÑÐ±ÑÐ°ÑÑ ÑÑÐµÐ±ÑÐµÐŒÐŸÐµ Ð·ÐœÐ°ÑÐµÐœÐžÐµ. ÐÐ°Ð¶Ð°Ð² ÐºÐ»Ð°Ð²ÐžÑÑ [Enter], ÐÑ ÑÐŒÐŸÐ¶ÐµÑÐµ ÑÐŸÑ
+ÑÐ°ÐœÐžÑÑ Ð²ÑÐ±ÑÐ°ÐœÐœÐŸÐµ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ðž ÑÐŸÐ·ÐŽÐ°ÑÑ ÐœÐŸÐ²ÐŸÐµ ÐœÐµÐ·Ð°Ð¿ÐŸÐ»ÐœÐµÐœÐœÐŸÐµ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐŽÐ»Ñ ÑÐ»ÐµÐŒÐµÐœÑÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, Ð¿ÐŸÐ·Ð²ÐŸÐ»ÐžÐ² ÐÐ°ÐŒ ÐŸÐ¿ÑÐµÐŽÐžÐ»ÐžÑÑ ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹ ÐŽÐ»Ñ ÐŸÐŽÐœÐŸÐ³ÐŸ ÑÐ»ÐµÐŒÐµÐœÑÐ°.</Text>
+<Text id="89">ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÑÐ°ÐºÐ¶Ðµ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ðº Ð¿Ð°Ð¿ÐºÐµ ÐžÐ»Ðž ÑÑÐ°Ð·Ñ Ðº ÐœÐµÐºÐŸÑÐŸÑÐŸÐŒÑ ÐŒÐœÐŸÐ¶ÐµÑÑÐ²Ñ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ². Ð­ÑÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÐµÑÑÑ ÐºÐŸ Ð²ÑÐµÐŒ ÑÐ°Ð¹Ð»Ð°ÐŒ Ð² Ð¿ÑÐµÐŽÐµÐ»Ð°Ñ
+ Ð¿Ð°Ð¿ÐºÐž ÐžÐ»Ðž Ðº ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐŒ Ðž Ðº Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐŽÐœÑÐŒ Ð¿Ð°Ð¿ÐºÐ°ÐŒ. ÐÐŒÐµÐ¹ÑÐµ Ð² Ð²ÐžÐŽÑ,ÑÑÐŸ ÐµÑÐ»Ðž ÐÑ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÐ»Ðž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ðº Ð¿Ð°Ð¿ÐºÐµ, ÑÐŸ Ð»ÑÐ±ÑÐµ ÐœÐŸÐ²ÑÐµ ÑÐ°Ð¹Ð»Ñ Ð² ÐœÐµÐ¹ Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž ÑÐœÐ°ÑÐ»ÐµÐŽÑÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐžÐ· ÑÑÐŸÐ¹ Ð¿Ð°Ð¿ÐºÐž.  </Text>
+</Section>
+<Section name="addingpreviouslydefinedmetadata">
+<Title>
+<Text id="90">ÐÐŸÐ±Ð°Ð²Ð»ÐœÐžÐµ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</Text>
+</Title>
+<Text id="91">Ð§ÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ, ÐºÐŸÑÐŸÑÑÐµ ÑÐŸÐŽÐµÑÐ¶Ð°Ñ ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ, ÑÐœÐ°ÑÐ°Ð»Ð° Ð²ÑÐ±ÐµÑÐžÑÐµ ÑÐ°Ð¹Ð», Ð·Ð°ÑÐµÐŒ ÑÑÐµÐ±ÑÐµÐŒÐŸÐµ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐžÐ· ÐŽÐµÑÐµÐ²Ð° Ð·ÐœÐ°ÑÐµÐœÐžÐ¹, ÑÐ°ÑÑÐžÑÑÑ Ð¿Ð°Ð¿ÐºÐž ÐžÐµÑÐ°ÑÑ
+ÐžÐž Ð¿ÐŸ ÐŒÐµÑÐµ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸÑÑÐž. ÐÑÐ±ÑÐ°ÐœÐœÐŸÐµ Ð·ÐœÐ°ÑÐµÐœÐžÐµ Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž Ð¿ÐŸÑÐ²Ð»ÑÐµÑÑÑ Ð² Ð¿ÐŸÐ»Ðµ ÑÐµÐºÑÑÐ° (Ð°Ð»ÑÑÐµÑÐœÐ°ÑÐžÐ²ÐœÐŸ ÐŒÐŸÐ¶ÐœÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ Ð°Ð²ÑÐŸÐ²ÑÐ±ÐŸÑ Ð² ÐŽÐµÑÐµÐ²Ðµ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹ Ðž ÑÑÐµÐŽÑÑÐ² Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐŸÐ³ÐŸ Ð·Ð°Ð²ÐµÑÑÐµÐœÐžÑ). </Text>
+<Text id="92">ÐÑÐŸÑÐµÑÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ñ ÑÐ¶Ðµ ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐŒÐž Ð·ÐœÐ°ÑÐµÐœÐžÑÐŒÐž Ðº Ð¿Ð°Ð¿ÐºÐ°ÐŒ ÐžÐ»Ðž ÐŒÐœÐŸÐ¶ÐµÑÑÐ²Ñ ÑÐ°Ð¹Ð»ÐŸÐ² ÑÐ°ÐºÐŸÐ¹ Ð¶Ðµ.</Text>
+</Section>
+<Section name="updatingmetadata">
+<Title>
+<Text id="93">ÐÐ·ÐŒÐµÐœÐžÑÑ ÐžÐ»Ðž ÑÐŽÐ°Ð»ÐžÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ</Text>
+</Title>
+<Text id="94">Ð§ÑÐŸÐ±Ñ ÐžÐ·ÐŒÐµÐœÐžÑÑ ÐžÐ»Ðž ÑÐŽÐ°Ð»ÐžÑÑ ÑÐ°ÑÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÑÐœÐ°ÑÐ°Ð»Ð° Ð²ÑÐ±ÐµÑÐžÑÐµ Ð¿ÐŸÐŽÑ
+ÐŸÐŽÑÑÐžÐ¹ ÑÐ°Ð¹Ð», Ð° Ð¿ÐŸÑÐŸÐŒ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð² ÑÐ°Ð»Ð±ÐžÑÑ. Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÑÐŽÐ°Ð»ÐžÑÐµ ÑÐµÐºÑÑ ÐµÐ³ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÑ.</Text>
+<Text id="95">ÐÑÐŸÑÐµÑÑ ÐŸÐ±ÐœÐŸÐ²Ð»ÐµÐœÐžÑ ÐŽÐ°ÐœÐœÑÑ
+ Ð¿Ð°Ð¿ÐºÐž Ñ Ð¿ÐŸÐŽÐ¿Ð°Ð¿ÐºÐ°ÐŒÐž ÐžÐ»Ðž ÐœÐµÑÐºÐŸÐ»ÑÐºÐžÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ² ÑÐŸÑ Ð¶Ðµ ÑÐ°ÐŒÑÐ¹, ÐœÐŸ Ð²Ñ ÑÐŒÐŸÐ¶ÐµÑÐµ ÐŸÐ±ÐœÐŸÐ²ÐžÑÑ ÑÐŸÐ»ÑÐºÐŸ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÐµ, ÐŸÐ±ÑÐžÐµ ÐŽÐ»Ñ Ð²ÑÐµÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ²/Ð¿Ð°Ð¿ÐŸÐº.</Text>
+<Text id="96">ÐÐµÑÐµÐ²ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ Ð²ÑÐµ ÑÐµÐºÑÑÐžÐµ Ð¿ÑÐžÐ·ÐœÐ°ÑÐµÐœÐœÑÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ, Ð° ÑÐ°ÐºÐ¶Ðµ Ð²ÑÐµ Ð¿ÑÐµÐŽÑÐŽÑÑÐžÐµ ÐžÐ· ÑÐµÐºÑÑÐµÐ³ÐŸ ÑÐµÐ°ÐœÑÐ°, ÑÐ°Ðº ÑÑÐŸ ÐžÐ·ÐŒÐµÐœÐµÐœÐœÑÐµ ÐžÐ»Ðž ÑÐŽÐ°Ð»ÐµÐœÐœÑÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŸÑÑÐ°ÑÑÑÑ Ð² ÐŽÐµÑÐµÐ²Ðµ. ÐÐ°ÐºÑÑÐ² Ðž Ð²ÐœÐŸÐ²Ñ ÐŸÑÐºÑÑÐ² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐÑ ÑÐŽÐ°Ð»ÐžÑÐµ Ð²ÑÐµ ÑÐ°ÐœÐµÐµ Ð¿ÑÐžÐ·ÐœÐ°ÑÐµÐœÐœÑÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ. </Text>
+</Section>
+<Section name="reviewingmetadata">
+<Title>
+<Text id="97">ÐÑÐŸÑÐŒÐŸÑÑ Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</Text>
+</Title>
+<Text id="98">ÐÐœÐŸÐ³ÐŽÐ° ÐÐ°ÐŒ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ,Ð·Ð°ÐŽÐ°ÐœÐœÑÐµ ÐŽÐ»Ñ ÐŒÐœÐŸÐ³ÐžÑ
+ ÐžÐ»Ðž Ð²ÑÐµÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ² ÑÑÐ°Ð·Ñ - ÐœÐ°Ð¿ÑÐžÐŒÐµÑ,ÑÑÐŸÐ±Ñ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ,ÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ°Ð¹Ð»ÐŸÐ² ÐŸÑÑÐ°ÑÑÑÑ ÐŽÐ»Ñ Ð²ÐŸÐ·ÐŽÐµÐ¹ÑÑÐ²ÐžÑ ÐžÐ»Ðž Ð¿ÐŸÐ»ÑÑÐžÑÑ ÐœÐµÐºÐŸÑÐŸÑÑÐµ ÐžÐŽÐµÐž ÐŸÑÐœÐŸÑÐžÑÐµÐ»ÑÐœÐŸ ÑÐ°ÑÐ¿ÑÐŸÑÑÑÐ°ÐœÐµÐœÐžÑ ÐŽÐ°ÐœÐœÑÑ
+.</Text>
+<Text id="99">ÐÑÐ±ÐµÑÐžÑÐµ ÑÐ°Ð¹Ð»Ñ, ÐºÐŸÑÐŸÑÑÐµ Ð²Ñ Ñ
+ÐŸÑÐžÑÐµ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ, Ð¿ÐŸÑÐŸÐŒ ÐœÐ°Ð¶ÐŒÐžÑÐµ ÐœÐ° Ð¿ÑÐ°Ð²ÑÑ ÐºÐœÐŸÐ¿ÐºÑ ÐŒÑÑÐž Ðž Ð²ÑÐ±ÐµÑÐžÑÐµ "ÐÐ°Ð·ÐœÐ°ÑÐµÐœÑÐµ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÐµ...". ÐÐŸÑÐ²Ð»ÑÐµÑÑÑ ÐŸÐºÐœÐŸ,ÐœÐ°Ð·ÑÐ²Ð°ÐµÐŒÐŸÐµ "ÐÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ", Ð·Ð°ÐœÑÑÐŸÐµ Ð±ÐŸÐ»ÑÑÐŸÐ¹ ÑÐ°Ð±Ð»ÐžÑÐµÐ¹,ÑÐŸÐŽÐµÑÐ¶Ð°ÑÐµÐ¹ ÐŒÐœÐŸÐ³ÐŸ ÐºÐŸÐ»ÐŸÐœÐŸÐº.ÐÐµÑÐ²Ð°Ñ ÐºÐŸÐ»ÐŸÐœÐºÐž Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐžÐŒÐµÐœÐ° ÑÐ°Ð¹Ð»ÐŸÐ²;ÑÑÑÐŸÐºÐž Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÑÑ Ð²ÑÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+,Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ ÐŽÐ»Ñ ÑÑÐžÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ².  </Text>
+<Text id="100">Ð ÐžÑÐŸÐ²Ð°ÐœÐžÐµ ÑÐ°Ð±Ð»ÐžÑÑ ÐŒÐŸÐ¶ÐµÑ Ð·Ð°ÐœÑÑÑ ÐœÐµÐºÐŸÑÐŸÑÐŸÐµ Ð²ÑÐµÐŒÑ,ÐµÑÐ»Ðž Ð²ÑÐ¿Ð°Ð»ÐŸ ÐŒÐœÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»ÐŸÐ².ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð¿ÑÐŸÐŽÐŸÐ»Ð¶Ð°ÑÑ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑÑÑ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐŒ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐŸÐŒ Ð¿ÑÐž ÐŸÑÐºÑÑÑÐŸÐŒ ÐŸÐºÐœÐµ "ÐÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ". </Text>
+<Text id="101">ÐÐŸÐ³ÐŽÐ° ÐŸÐœÐ° ÑÑÐ°ÐœÐŸÐ²ÐžÑÑÑ ÑÐ»ÐžÑÐºÐŸÐŒ Ð±ÐŸÐ»ÑÑÐŸÐ¹,ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐŸÑÑÐžÐ»ÑÑÑÐŸÐ²Ð°ÑÑ ÑÐ°Ð±Ð»ÐžÑÑ "ÐÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ",Ð¿ÑÐžÐŒÐµÐœÑÑ ÑÐžÐ»ÑÑÑÑ Ðº ÐºÐŸÐ»ÐŸÐœÐºÐ°ÐŒ.ÐÐŸÑÐºÐŸÐ»ÑÐºÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÑ ÐœÐŸÐ²ÑÐµ ÑÐžÐ»ÑÑÑÑ, ÑÐŸÐ»ÑÐºÐŸ ÑÐµ ÑÑÑÐŸÐºÐž,ÐºÐŸÑÐŸÑÑÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑ ÐžÐŒ,ÐŸÑÑÐ°ÑÑÑÑ Ð²ÐžÐŽÐžÐŒÑÐŒÐž.Ð§ÑÐŸÐ±Ñ ÑÑÑÐ°ÐœÐŸÐ²ÐžÑÑ,ÐžÐ·ÐŒÐµÐœÐžÑÑ ÐžÐ»Ðž ÐŸÑÐžÑÑÐžÑÑ ÑÐžÐ»ÑÑÑ,ÑÐµÐ»ÐºÐœÐžÑÐµ Ð¿ÐŸ ÐžÐºÐŸÐœÐºÐµ "ÐÐŸÑÐŸÐœÐºÐ°" ÐœÐ°Ð²ÐµÑÑ
+Ñ ÐºÐŸÐ»ÐŸÐœÐºÐž. Ð£ Ð²Ð°Ñ Ð±ÑÐŽÐµÑ Ð·Ð°Ð¿ÑÐŸÑÐµÐœÐ° ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸ ÑÐžÐ»ÑÑÑÐµ. ÐÐ°Ðº ÑÐŸÐ»ÑÐºÐŸ ÑÐžÐ»ÑÑÑ ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœ,ÐžÐ·ÐŒÐµÐœÑÐµÑÑÑ ÑÐ²ÐµÑ ÐºÐŸÐ»ÐŸÐœÐºÐž.</Text>
+<Text id="102">ÐÐ°Ð¿ÑÐŸÑ ÐžÐŒÐµÐµÑ ÑÐžÐŒÐ²ÐŸÐ»Ñ "ÐÑÐŸÑÑÐŸÐ¹" Ðž "ÐÑÐŸÐŽÐ²ÐžÐœÑÑÑÐ¹".ÐÑÐŸÑÑÐ°Ñ Ð²ÐµÑÑÐžÑ ÑÐžÐ»ÑÑÑÑÐµÑ ÐºÐŸÐ»ÐŸÐœÐºÐž ÑÐ°Ðº,ÑÑÐŸ ÐŸÐœÐž Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÑÑ ÑÐŸÐ»ÑÐºÐŸ ÑÑÑÐŸÐºÐž, ÐºÐŸÑÐŸÑÑÐµ ÑÐŸÐŽÐµÑÐ¶Ð°Ñ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐœÐµÐºÐŸÑÐŸÑÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ("*" ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÐµÑ Ð²ÑÐµÐŒ Ð·ÐœÐ°ÑÐµÐœÐžÑÐŒ).ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð²ÑÐ±ÑÐ°ÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐžÐ· ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐ³ÐŸ ÑÐ¿ÐžÑÐºÐ°.ÐÑÐŸÐŽÐ²ÐžÐœÑÑÐ°Ñ Ð²ÐµÑÑÐžÑ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð²ÑÐ¿ÐŸÐ»ÐœÑÑÑ ÑÐ°Ð·Ð»ÐžÑÐœÑÐµ ÐŽÐµÐ¹ÑÑÐ²ÐžÑ:ÐÐŸÐ»Ð¶ÐµÐœ ÐœÐ°ÑÐ°ÑÑÑÑ Ñ,ÐÐµ ÑÐŸÐŽÐµÑÐ¶ÐžÑ,Ð Ð°Ð»ÑÐ°Ð²ÐžÑÐœÐŸÐŒ Ð¿ÐŸÑÑÐŽÐºÐµ,ÐÐµÐœÑÑÐµ ÑÐµÐŒ, Ð­ÐºÐ²ÐžÐ²Ð°Ð»ÐµÐœÑÐµÐœ. ÐÐœÐ°ÑÐµÐœÐžÐµ, ÐºÐŸÑÐŸÑÐŸÐµ Ð±ÑÐŽÐµÑ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐŸÐ²Ð°ÑÑ, ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÐœÐŸ ÑÐ°Ðº,ÑÑÐŸÐ±Ñ Ð±ÑÑÑ Ð»ÑÐ±ÐŸÐ¹ ÑÑÑÐŸÐºÐŸÐ¹,Ð²ÐºÐ»ÑÑÐ°Ñ "*". ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð²ÑÐ±ÑÐ°ÑÑ,ÐŽÐŸÐ»Ð¶ÐœÐŸ Ð»Ðž ÑÑÐŸ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÐµ Ð±ÑÑÑ ÐœÐµ ÑÑÐ²ÑÑÐ²ÐžÑÐµÐ»ÑÐœÑÐŒ ÑÐ»ÑÑÐ°ÐµÐŒ. ÐÐ°ÐºÐŸÐœÐµÑ,ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ Ð²ÑÐŸÑÐŸÐµ ÑÑÐ»ÐŸÐ²ÐžÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÑ,ÐºÐŸÑÐŸÑÐŸÐµ ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐŽÐ»Ñ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÑ ÑÐ°ÐœÐ³Ð° Ð·ÐœÐ°ÑÐµÐœÐžÐ¹ (Ð²ÑÐ±ÐžÑÐ°Ñ Ð Ð±ÐŸÐ»ÑÑÐŸÐµ) ÐžÐ»Ðž Ð°Ð»ÑÑÐµÑÐœÐ°ÑÐžÐ²ÐœÑÑ
+ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹ (Ð²ÑÐ±ÐžÑÐ°Ñ ÐÐÐ).ÐÐžÐ¶Ðµ ÑÑÐŸÐ¹ ÐŸÐ±Ð»Ð°ÑÑÐž ÐœÐ°Ñ
+ÐŸÐŽÐžÑÑÑ Ð¿ÐŸÐ»Ðµ, ÐºÐŸÑÐŸÑÐŸÐµ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ ÐÐ°ÐŒ ÐžÐ·ÐŒÐµÐœÑÑÑ Ð¿ÐŸÑÑÐŽÐŸÐº ÑÐŸÑÑÐžÑÐŸÐ²ÐºÐž (Ð²ÐŸÐ·ÑÐ°ÑÑÐ°ÑÑÐžÐ¹ ÐžÐ»Ðž Ð¿ÐŸÐœÐžÐ¶Ð°ÑÐžÐ¹ÑÑ).ÐÐ°Ðº ÑÐŸÐ»ÑÐºÐŸ ÐÑ Ð·Ð°ÐºÐŸÐœÑÐžÑÐµ,ÐœÐ°Ð¶ÐŒÐžÑÐµ "Ð£ÑÑÐ°ÐœÐŸÐ²ÐºÐ° ÑÐžÐ»ÑÑÑÐ°",ÑÑÐŸÐ±Ñ Ð¿ÑÐžÐŒÐµÐœÐžÑÑ ÐœÐŸÐ²ÑÐ¹ ÑÐžÐ»ÑÑÑ Ðº ÐºÐŸÐ»ÐŸÐœÐºÐµ.ÐÐ°Ð¶ÐŒÐžÑÐµ "ÐÑÐžÑÑÐžÑÑ ÑÐžÐ»ÑÑÑ",ÑÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÑÐµÐºÑÑÐžÐ¹ ÑÐžÐ»ÑÑÑ.ÐÐ±ÑÐ°ÑÐžÑÐµ Ð²ÐœÐžÐŒÐ°ÐœÐžÐµ ÐœÐ° ÑÐŸ,ÑÑÐŸ ÐŽÐµÑÐ°Ð»Ðž ÑÐžÐ»ÑÑÑÐ° ÑÐŸÑ
+ÑÐ°ÐœÑÑÑÑÑ, ÐŽÐ°Ð¶Ðµ ÐºÐŸÐ³ÐŽÐ° ÑÐžÐ»ÑÑÑ ÐŸÑÐžÑÐµÐœ.</Text>
+<Text id="103">ÐÐ°Ð¿ÑÐžÐŒÐµÑ,ÑÑÐŸÐ±Ñ ÐŸÑÑÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐ°Ð±Ð»ÐžÑÑ "ÐÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ",Ð²ÑÐ±ÐµÑÐžÑÐµ ÐºÐŸÐ»ÐŸÐœÐºÑ, Ð²ÑÐ±ÐµÑÐžÑÐµ ÑÑÑÐ°ÐœÐŸÐ²ÐºÑ ÑÐžÐ»ÑÑÑÐ° Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ (Ð¿ÑÐŸÑÑÐŸÐ¹ ÑÐžÐ»ÑÑÑ ÐœÐ° "*") Ðž Ð²ÐŸÐ·ÑÐ°ÑÑÐ°ÑÑÐžÐ¹ ÐžÐ»Ðž Ð¿ÐŸÐœÐžÐ¶Ð°ÑÑÐžÐ¹ÑÑ Ð¿ÐŸÑÑÐŽÐŸÐº.   </Text>
+</Section>
+<Section name="importingpreviouslyassignedmetadata">
+<Title>
+<Text id="104">ÐÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</Text>
+</Title>
+<Text id="105">Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÑÐ°ÑÑÐºÐ°Ð·Ð°ÐœÐŸ, ÐºÐ°Ðº ÐžÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÐµ ÐœÐ°Ð·ÐœÐ°ÑÐµÐœÐœÑÐµ ÑÐ°ÐœÑÑÐµ. Ð ÐµÑÑ ÐžÐŽÐµÑ ÐŸ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+, ÐºÐŸÑÐŸÑÑÐµ Ð±ÑÐ»Ðž ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÑ Ðº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÑÐ°ÐœÑÑÐµ.</Text>
+<Text id="106">ÐÑÐ»Ðž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ð² ÑÐŸÑÐŒÐµ,ÑÐ°ÑÐ¿ÐŸÐ·ÐœÐ°Ð²Ð°ÐµÐŒÐŸÐ¹ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐŒ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐŸÐŒ,Ð±ÑÐ»Ðž Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ Ð·Ð°ÐŽÐ°ÐœÑ ÑÐ°Ð¹Ð»Ñ - ÐœÐ°Ð¿ÑÐžÐŒÐµÑ,ÐºÐŸÐ³ÐŽÐ° ÐÑ Ð²ÑÐ±ÐžÑÐ°ÐµÑÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ ÐžÐ· ÑÑÑÐµÑÑÐ²ÑÑÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Greenstone - ÐŸÐœÐž ÐžÐŒÐ¿ÐŸÑÑÐžÑÑÑÑÑÑ Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž,ÐºÐŸÐ³ÐŽÐ° ÐÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÐµÑÐµ ÑÐ°Ð¹Ð».Ð§ÑÐŸÐ±Ñ ÑÐŽÐµÐ»Ð°ÑÑ ÑÑÐŸ, ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ ÐŸÐ±ÐŸÐ·ÐœÐ°ÑÐµÐœÑ Ð² ÑÑÑÐ°ÐœÐŸÐ²ÐºÐ°Ñ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+,ÐŽÐŸÑÑÑÐ¿ÐœÑÑ
+ Ð² ÑÑÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.</Text>
+<Text id="107">ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ Ð·Ð°Ð¿ÑÐ°ÑÐžÐ²Ð°ÐµÑ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÑÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ.ÐÐ°Ð¿ÑÐŸÑ ÑÐŸÐŽÐµÑÐ¶ÐžÑ ÐºÑÐ°ÑÐºÐžÐµ ÐžÐœÑÑÑÑÐºÑÐžÐž Ðž Ð·Ð°ÑÐµÐŒ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐžÐŒÑ ÑÐ»ÐµÐŒÐµÐœÑÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+,ÐºÐŸÑÐŸÑÑÐµ ÐžÐŒÐ¿ÐŸÑÑÐžÑÑÑÑÑÑ,ÐºÐ°Ðº ÑÐŸÐ»ÑÐºÐŸ ÐŸÐœ Ð¿ÐŸÑÐ²Ð»ÑÐµÑÑÑ Ð² ÐžÑÑ
+ÐŸÐŽÐœÐŸÐŒ ÑÐ°Ð¹Ð»Ðµ.Ð­ÑÐŸ Ð¿ÐŸÐ»Ðµ ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÐœÐŸ ÐžÐ»Ðž ÐžÐ·ÐŒÐµÐœÐµÐœÐŸ.ÐÐ°ÑÐµÐŒ ÐÑ Ð²ÑÐ±ÐžÑÐ°ÐµÑÐµ,ÐºÐ°ÐºÐžÐµ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÑÐ»ÐµÐŒÐµÐœÑÐ° ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ ÐŸÐ±ÐŸÐ·ÐœÐ°ÑÐµÐœÑ,Ð° Ð·Ð°ÑÐµÐŒ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐžÐ¹ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð² ÑÑÐžÑ
+ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐ°Ñ
+.Ð¡ÐžÑÑÐµÐŒÐ° Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž Ð²ÑÐ±ÐžÑÐ°ÐµÑ ÑÐ°ÐŒÐŸÐµ Ð±Ð»ÐžÐ·ÐºÐŸÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÐµ Ð² ÑÐµÑÐŒÐžÐœÐ°Ñ
+ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž Ðž ÑÐ»ÐµÐŒÐµÐœÑÐ° ÐŽÐ»Ñ ÐœÐŸÐ²ÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+. </Text>
+<Text id="108">ÐÑÐŸÐ²ÐµÑÐžÐ² ÑÑÐž ÐŸÐ±ÐŸÐ·ÐœÐ°ÑÐµÐœÐžÑ,ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð²ÑÐ±ÑÐ°ÑÑ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ",ÑÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐœÐŸÐ²ÑÐ¹ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ðº Ð²ÑÐ±ÑÐ°ÐœÐœÑÐŒ ÐœÐ°Ð±ÐŸÑÐ°ÐŒ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+.Ð­ÑÐŸ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ ÑÐŸÐ»ÑÐºÐŸ ÑÐŸÐ³ÐŽÐ°,ÐºÐŸÐ³ÐŽÐ° ÐŸÑÑÑÑÑÑÐ²ÑÐµÑ ÑÐ»ÐµÐŒÐµÐœÑ Ñ ÑÐµÐŒ Ð¶Ðµ ÑÐ°ÐŒÑÐŒ ÐžÐŒÐµÐœÐµÐŒ Ð² Ð¿ÑÐµÐŽÐµÐ»Ð°Ñ
+ Ð²ÑÐ±ÑÐ°ÐœÐœÑÑ
+ ÑÑÑÐ°ÐœÐŸÐ²ÐŸÐº; "ÐÐ±ÑÐµÐŽÐžÐœÐžÑÑ" ÐŸÐ±ÐŸÐ·ÐœÐ°ÑÐ°ÐµÑ Ð¿ÑÐžÑÐŸÐµÐŽÐžÐœÐµÐœÐžÐµ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÑÐ»ÐµÐŒÐµÐœÑÐ° Ðº ÑÐ¶Ðµ ÑÐ°ÐœÐµÐµ Ð²ÑÐ±ÑÐ°ÐœÐœÐŸÐŒÑ  Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»ÐµÐŒ;ÐœÐ°ÐºÐŸÐœÐµÑ, "ÐÐµ ÑÑÐžÑÑÐ²Ð°ÑÑ", ÑÑÐŸÐ±Ñ ÐœÐµ ÐžÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÐœÐžÐºÐ°ÐºÐžÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ñ ÑÑÐžÐŒ ÐžÐŒÐµÐœÐµÐŒ ÑÐ»ÐµÐŒÐµÐœÑÐ°. ÐÐ°Ðº ÑÐŸÐ»ÑÐºÐŸ ÐÑ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÐ»Ðž,ÐºÐ°Ðº ÐžÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÐœÐµÐºÐŸÑÐŸÑÑÑ ÑÐ°ÑÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, Ð·Ð°Ð¿ÐžÑÐ°ÐœÐœÐ°Ñ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÑÐŸÑ
+ÑÐ°ÐœÑÐµÑÑÑ ÐœÐ° Ð²ÑÐµÐŒÑ ÑÑÑÐµÑÑÐ²ÐŸÐ²Ð°ÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.</Text>
+<Text id="109">ÐÐ»Ñ ÐŽÐµÑÐ°Ð»ÐµÐ¹ ÐŸÑÐœÐŸÑÐžÑÐµÐ»ÑÐœÐŸ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð² metadata.xml, ÐºÐŸÑÐŸÑÑÐ¹ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ Ð² Greenstone ÐŽÐ»Ñ Ñ
+ÑÐ°ÐœÐµÐœÐžÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÑÐŒ.Ð³Ð»Ð°Ð²Ñ 2 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone.</Text>
+</Section>
+</Section>
+<Section name="designingacollection">
+<Title>
+<Text id="110">ÐÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Text>
+</Title>
+<Text id="111">ÐÐŸÐ³ÐŽÐ° ÐÐ°ÑÐž ÑÐ°Ð¹Ð»Ñ ÑÐœÐ°Ð±Ð¶ÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒÐž,ÐŽÐ°Ð»ÐµÐµ ÐÑ ÑÐµÑÐ°ÐµÑÐµ,Ð² ÐºÐ°ÐºÐŸÐŒ Ð²ÐžÐŽÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Greenstone ÐŽÐŸÐ»Ð¶ÐœÐ° Ð±ÑÑÑ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐ° Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»ÑÐŒ.ÐÐ°ÐºÐŸÐ³ÐŸ Ð²ÐžÐŽÐ° ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŽÐŸÑÑÑÐ¿ÐœÐ° ÐŽÐ»Ñ Ð¿ÐŸÐžÑÐºÐ°? ÐÐ°ÐºÐžÐµ Ð¿ÑÑÐž Ð¿ÑÐµÐŽÑÑÐŒÐŸÑÑÐµÐœÑ ÐŽÐ»Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ° ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°? ÐÐ°ÐºÐžÐµ ÑÐ·ÑÐºÐž Ð¿ÐŸÐŽÐŽÐµÑÐ¶ÐžÐ²Ð°ÑÑÑÑ? ÐÐŽÐµ ÑÐ°Ð·ÐŒÐµÑÑÐžÑÑ ÐºÐœÐŸÐ¿ÐºÐž ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ? Ð­ÑÐž Ð²ÐµÑÐž ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐœÐ°ÑÑÑÐŸÐµÐœÑ;Ð² ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ¿ÐžÑÑÐ²Ð°ÐµÑÑÑ,ÐºÐ°Ðº ÑÑÐŸ ÑÐŽÐµÐ»Ð°ÑÑ.</Text>
+<Section name="thedesignview">
+<Title>
+<Text id="112">ÐÐžÐŽ ÐŽÐžÐ·Ð°Ð¹ÐœÐ°</Text>
+</Title>
+<Text id="113">Ð­ÑÐŸÑ ÑÐ°Ð·ÐŽÐµÐ» Ð²Ð²ÐŸÐŽÐžÑ ÐÐ°Ñ Ð² ÑÐ°ÑÑÐŒÐ°ÑÑÐžÐ²Ð°ÐµÐŒÑÐ¹ Ð¿ÑÐŸÐµÐºÑ Ðž ÐŸÐ±ÑÑÑÐœÑÐµÑ,ÐºÐ°Ðº Ð²ÑÐ±ÑÐ°ÑÑ ÐŒÐµÐ¶ÐŽÑ ÑÐ°Ð·Ð»ÐžÑÐœÑÐŒÐž Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑÐŒÐž Ð² Ð¿ÑÐµÐŽÐµÐ»Ð°Ñ
+ Ð°ÐºÑÐžÐ²ÐœÐŸÐ¹ ÑÐ°ÑÑÐž ÐŸÐºÐœÐ°.</Text>
+<Text id="114">ÐÑÐž Ð¿ÐŸÐŒÐŸÑÐž ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ° ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÑÐŸÑÐŒÐžÑÐŸÐ²Ð°ÑÑ Ð²ÐžÐŽÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÑÐµÐŒÐŸÐ¹ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ.ÐÐ°ÑÐžÐ°ÐœÑÑ ÐºÐŸÐœÑÐžÐ³ÑÑÐ°ÑÐžÐž ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÑ ÐœÐ° ÑÐ°Ð·Ð»ÐžÑÐœÑÐµ ÑÐ°Ð·ÐŽÐµÐ»Ñ, ÐºÐ°Ð¶ÐŽÑÐ¹ ÐžÐ· ÐºÐŸÑÐŸÑÑÑ
+ ÑÐ²ÑÐ·Ð°Ðœ ÑÐŸ ÑÐ¿ÐµÑÐžÑÐžÑÐµÑÐºÐŸÐ¹ ÑÑÐ°ÐŽÐžÐµÐ¹ ÐœÐ°Ð²ÐžÐ³Ð°ÑÐžÐž ÐžÐ»Ðž Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž.</Text>
+<Text id="115">Ð¡Ð»ÐµÐ²Ð° ÐœÐ°Ñ
+ÐŸÐŽÐžÑÑÑ ÑÐ¿ÐžÑÐŸÐº ÑÐ°Ð·Ð»ÐžÑÐœÑÑ
+ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐ¹,Ð° ÑÐ¿ÑÐ°Ð²Ð° - ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÑÐµÐºÑÑÐžÐŒ ÑÐ¿ÐžÑÐºÐŸÐŒ.Ð§ÑÐŸÐ±Ñ Ð¿ÐµÑÐµÐ¹ÑÐž ÐœÐ° Ð²ÑÐ±ÑÐ°ÐœÐœÐŸÐµ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ,ÑÐµÐ»ÐºÐœÐžÑÐµ ÐµÐ³ÐŸ ÐžÐŒÑ Ð² ÑÐ¿ÐžÑÐºÐµ. </Text>
+<Text id="116">Ð§ÑÐŸÐ±Ñ Ð¿ÐŸÐœÐžÐŒÐ°ÑÑ ÑÑÐ°ÐŽÐžÐž Ðž ÑÐµÑÐŒÐžÐœÑ,ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÑÐµ Ð¿ÑÐž Ð¿ÑÐŸÐµÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÐœÐ°ÑÐ°Ð»Ð° Ð¿ÑÐŸÑÑÐžÑÐµ Ð³Ð»Ð°Ð²Ñ 1 Ðž 2 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone. </Text>
+</Section>
+<Section name="plugins">
+<Title>
+<Text id="121">ÐÐ»Ð°Ð³ÐžÐœÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°</Text>
+</Title>
+<Text id="122">Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ¿ÐžÑÐ°ÐœÐŸ,ÐºÐ°Ðº ÑÐŸÑÐŒÐžÑÐŸÐ²Ð°ÑÑ Ð¿Ð»Ð°Ð³ÐžÐœÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ° ÐŽÐ»Ñ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐµÐ¹.Ð ÐœÑÐŒ ÐŸÐ±ÑÑÑÐœÑÐµÑÑÑ,ÐºÐ°Ðº ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ,ÐºÐ°ÐºÐžÐµ Ð¿Ð»Ð°Ð³ÐžÐœÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ, ÐºÐ°ÐºÐžÐµ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÑ Ð¿ÐµÑÐµÐŽÐ°Ð²Ð°ÑÑ Ðº ÐœÐžÐŒ Ðž Ð² ÐºÐ°ÐºÐŸÐŒ Ð¿ÐŸÑÑÐŽÐºÐµ ÐŸÐœÐž Ð²Ñ
+ÐŸÐŽÑÑ. Ð©ÐµÐ»ÐºÐœÐžÑÐµ "ÐÐ»Ð°Ð³ÐžÐœÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ²" Ð² Ð¿ÑÐœÐºÑÐµ "Ð Ð°Ð·ÐŽÐµÐ»Ñ Ð¿ÑÐŸÐµÐºÑÐ°".</Text>
+<Text id="123">Ð§ÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÑÑ Ð¿Ð»Ð°Ð³ÐžÐœ, Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ,ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ "ÐÑÐ±ÐŸÑ Ð¿Ð»Ð°Ð³ÐžÐœÐ° ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ" Ð² ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐŒ ÑÐ¿ÐžÑÐºÐµ ÐŸÐºÐŸÐ»ÐŸ ÐŸÑÐœÐŸÐ²Ð°ÐœÐžÑ,Ðž Ð·Ð°ÑÐµÐŒ ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ Ð¿Ð»Ð°Ð³ÐžÐœ". ÐÐŸÑÐ²Ð»ÑÐµÑÑÑ ÐŸÐºÐœÐŸ Ñ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµÐŒ "ÐÐŸÐœÑÐžÐ³ÑÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÐŸÐ²";ÐŸÐœÐŸ ÐŸÐ¿ÐžÑÐ°ÐœÐŸ ÐœÐžÐ¶Ðµ. ÐÐ°Ðº ÑÐŸÐ»ÑÐºÐŸ ÐÑ ÑÑÐŸÑÐŒÐžÑÐŸÐ²Ð°Ð»Ðž ÐœÐŸÐ²ÑÐ¹ Ð¿Ð»Ð°Ð³ÐžÐœ, ÐŸÐœ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÐµÑÑÑ Ð² ÐºÐŸÐœÐµÑ ÑÐ¿ÐžÑÐºÐ° "Ð£ÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœÐœÑÐµ ÑÐµÐºÑÑÐžÐµ Ð¿Ð»Ð°Ð³ÐžÐœÑ". ÐÐ°ÐŒÐµÑÑÑÐµ, ÑÑÐŸ, ÐºÑÐŸÐŒÐµ UnknownPlug, ÐºÐ°Ð¶ÐŽÑÐ¹ Ð¿Ð»Ð°Ð³ÐžÐœ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ Ð²ÑÐ²ÐµÐŽÐµÐœ ÑÐŸÐ»ÑÐºÐŸ ÐŸÐŽÐžÐœ ÑÐ°Ð· Ð² ÑÐ¿ÐžÑÐºÐµ.</Text>
+<Text id="123aa">ÐÐ»Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ° ÐºÑÐ°ÑÐºÐŸÐ³ÐŸ ÐŸÐ¿ÐžÑÐ°ÐœÐžÑ Ð¿Ð»Ð°Ð³ÐžÐœÐ° Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ Ð² ÑÐ¿ÐžÑÐºÐµ Â«ÐÑÐ±ÐŸÑ Ð¿Ð»Ð°Ð³ÐžÐœÐ° ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑÂ» Ðž ÐœÐ°Ð²ÐµÐŽÐžÑÐµ ÐœÐ° ÐœÐµÐ³ÐŸ ÐŒÑÑÑ. ÐÐŸÑÐ²ÐžÑÑÑ ÐŸÐºÐŸÑÐºÐŸ Ñ ÐŸÐ¿ÐžÑÐ°ÐœÐžÐµÐŒ.</Text>
+<Text id="124">Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ Ð¿Ð»Ð°Ð³ÐžÐœ,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ Ð² ÑÐ¿ÐžÑÐºÐµ Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ Ð¿Ð»Ð°Ð³ÐžÐœ".</Text>
+<Text id="125">ÐÐ»Ð°Ð³ÐžÐœÑ ÑÐŸÑÐŒÐžÑÑÑÑÑÑ Ð¿ÑÑÐµÐŒ Ð¿ÑÐµÐŽÐŸÑÑÐ°Ð²Ð»ÐµÐœÐžÑ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÐŸÐ². Ð§ÑÐŸÐ±Ñ ÐžÐ·ÐŒÐµÐœÐžÑÑ ÐžÑ
+, Ð²ÑÐ±ÐµÑÐžÑÐµ Ð¿Ð»Ð°Ð³ÐžÐœ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð€ÐŸÑÐŒÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð¿Ð»Ð°Ð³ÐžÐœÐŸÐ²"(ÐžÐ»Ðž ÐŽÐ²ÐŸÐ¹ÐœÑÐŒ ÑÐµÐ»ÑÐºÐŸÐŒ ÐœÐ° Ð¿Ð»Ð°Ð³ÐžÐœÐµ). ÐÐžÐ°Ð»ÐŸÐ³ "ÐÐŸÐœÑÐžÐ³ÑÑÐ°ÑÐžÐŸÐœÐœÑÐµ ÐÑÐ³ÑÐŒÐµÐœÑÑ" Ð²ÐŸÐ·ÐœÐžÐºÐ°ÐµÑ Ñ ÑÐ°Ð·Ð»ÐžÑÐœÑÐŒÐž ÐŸÐ¿ÑÐžÑÐŒÐž ÐŽÐ»Ñ ÑÐºÐ°Ð·Ð°ÐœÐžÑ Ð°ÑÐ³ÑÐŒÐµÐœÑÐŸÐ².</Text>
+<Text id="126">Ð¡ÑÑÐµÑÑÐ²ÑÑÑ ÑÐ°Ð·Ð»ÐžÑÐœÑÐµ Ð²ÐžÐŽÑ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ. ÐÐµÐºÐŸÑÐŸÑÑÐµ ÑÐ²Ð»ÑÑÑÑÑ ÐœÐµÐ·Ð°Ð²ÐžÑÐžÐŒÑÐŒÐž ÐºÐœÐŸÐ¿ÐºÐ°ÐŒÐž Ðž ÑÐµÐ»ÑÐŸÐº ÐŽÐŸÐ±Ð°Ð²Ð»ÑÐµÑ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÑÑ ÐŸÐ¿ÑÐžÑ Ðº Ð¿Ð»Ð°Ð³ÐžÐœÑ. ÐÑÑÐ³ÐžÐµ Ð²ÑÑÑÑÐ¿Ð°ÑÑ Ð² ÐºÐ°ÑÐµÑÑÐ²Ðµ ÑÑÑÐŸÐºÐž ÑÐµÐºÑÑÐ° Ñ ÐœÐµÐ·Ð°Ð²ÐžÑÐžÐŒÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐŸÐ¹ Ðž ÐŸÐ±Ð»Ð°ÑÑÑÑ ÑÐµÐºÑÑÐ°. Ð©ÐµÐ»ÐºÐœÐžÑÐµ ÐœÐ° Ð¿ÐŸÐ»Ðµ,ÑÑÐŸÐ±Ñ Ð²ÑÐ·Ð²Ð°ÑÑ Ð¿Ð°ÑÐ°ÐŒÐµÑÑ,Ð·Ð°ÑÐµÐŒ ÐœÐ°Ð¿ÐµÑÐ°ÑÐ°Ð¹ÑÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐžÐ¹ ÑÐµÐºÑÑ (Ð¿ÑÐ°Ð²ÐžÐ»ÑÐœÐŸÐµ Ð²ÑÑÐ°Ð¶ÐµÐœÐžÐµ,Ð¿ÑÑÑ ÑÐ°Ð¹Ð»Ð° Ðž Ñ.ÐŽ.) Ð² Ð¿ÐŸÐ»Ðµ. ÐÑÑÐ³ÐžÐµ - ÑÑÐŸ ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐžÐµ ÐŒÐµÐœÑ,Ð² ÐºÐŸÑÐŸÑÑÑ
+ ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð²ÑÐ±ÐžÑÐ°ÑÑ ÐœÑÐ¶ÐœÐŸÐµ ÐžÐ· Ð·Ð°ÐŽÐ°ÐœÐœÐŸÐ³ÐŸ ÐœÐ°Ð±ÐŸÑÐ° Ð·ÐœÐ°ÑÐµÐœÐžÐ¹. Ð§ÑÐŸÐ±Ñ Ð¿ÐŸÐœÑÑÑ,ÑÑÐŸ ÐŽÐµÐ»Ð°ÐµÑ Ð¿Ð°ÑÐ°ÐŒÐµÑÑ, ÐŽÐ°Ð¹ÑÐµ ÐŒÑÑÐž ÐœÐ° ÐŒÐ³ÐœÐŸÐ²ÐµÐœÐžÐµ Ð¿ÑÐŸÐ¹ÑÐž Ð¿ÐŸ ÐµÐ³ÐŸ ÐœÐ°Ð·Ð²Ð°ÐœÐžÑ Ðž ÐŸÐ¿ÐžÑÐ°ÐœÐžÐµ Ð¿ÐŸÑÐ²ÐžÑÑÑ. </Text>
+<Text id="127">ÐÐŸÐ³ÐŽÐ° ÐÑ ÐžÐ·ÐŒÐµÐœÐžÐ»Ðž ÐºÐŸÐœÑÐžÐ³ÑÑÐ°ÑÐžÑ,ÐœÐ°Ð¶ÐŒÐžÑÐµ "ÐÐ", ÑÑÐŸÐ±Ñ Ð¿ÑÐžÐœÑÑÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ Ðž Ð·Ð°ÐºÑÑÑÑ ÐŽÐžÐ°Ð»ÐŸÐ³,ÐžÐ»Ðž "ÐÑÐŒÐµÐœÐžÑÑ",ÑÑÐŸÐ±Ñ Ð·Ð°ÐºÑÑÑÑ ÐŽÐžÐ°Ð»ÐŸÐ³ Ð±ÐµÐ· ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ Ð»ÑÐ±ÑÑ
+ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÐŸÐ² Ð¿Ð»Ð°Ð³ÐžÐœÐ°. </Text>
+<Text id="128">ÐÐ»Ð°Ð³ÐžÐœÑ Ð² ÑÐ¿ÐžÑÐºÐµ ÑÐ°ÑÐ¿ÐŸÐ»ÐŸÐ¶ÐµÐœÑ Ð² ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐœÐŸÐŒ Ð¿ÐŸÑÑÐŽÐºÐµ,ÑÐ°Ðº ÐºÐ°Ðº ÑÐ¿ÐŸÑÑÐŽÐŸÑÐµÐœÐžÐµ ÐžÐœÐŸÐ³ÐŽÐ° Ð²Ð°Ð¶ÐœÐŸ. ÐÐŸÑÑÐŽÐŸÐº ÐŽÐŸÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»ÑÐœÑÑ
+ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐœÑÑ
+ ÐŒÐŸÐŽÑÐ»ÐµÐ¹ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÐ·ÐŒÐµÐœÐµÐœ ÑÐŸÐ»ÑÐºÐŸ Ð² ÑÐµÐ¶ÐžÐŒÐ°Ñ
+ Ð¡Ð¿ÐµÑÐžÐ°Ð»ÐžÑÑ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÑ
+ Ð¡ÐžÑÑÐµÐŒ Ðž Ð­ÐºÑÐ¿ÐµÑÑ (ÑÐŒ. <Reference target="preferences"/>).</Text>
+</Section>
+<Section name="searchindexes">
+<Title>
+<Text id="134">ÐÐœÐŽÐµÐºÑÑ Ð¿ÐŸÐžÑÐºÐ°</Text>
+</Title>
+<Text id="si-1">ÐÐœÐŽÐµÐºÑÑ ÑÐºÐ°Ð·ÑÐ²Ð°ÑÑ, Ð² ÐºÐ°ÐºÐžÑ
+ ÑÐ°ÑÑÑÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐŒÐŸÐ¶ÐœÐŸ Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐŽÐžÑÑ Ð¿ÐŸÐžÑÐº. Ð­ÑÐ° ÑÐµÐºÑÐžÑ ÐŸÐ±ÑÑÑÐœÑÐµÑ, ÐºÐ°Ðº ÐŽÐŸÐ±Ð°Ð²Ð»ÑÑÑ Ðž ÑÐŽÐ°Ð»ÑÑÑ ÐžÐœÐŽÐµÐºÑÑ Ðž ÑÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÑÑ ÐžÐœÐŽÐµÐºÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ. ÐÐ° Ð²ÐºÐ»Ð°ÐŽÐºÐµ <AutoText key="glidict::GUI.Design"/> ÑÐµÐ»ÐºÐœÐžÑÐµ <AutoText key="glidict::CDM.GUI.Indexes"/>.</Text>
+<Text id="si-2">ÐÑÐ°Ð²Ð°Ñ Ð²ÐµÑÑ
+ÐœÑÑ Ð¿Ð°ÐœÐµÐ»Ñ <AutoText key="glidict::CDM.GUI.Indexes"/> ÐŸÑÐŸÐ±ÑÐ°Ð¶Ð°ÐµÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸ ÑÐŸÐŒ, ÐºÐ°ÐºÐŸÐ¹ ÐžÐœÐŽÐµÐºÑÐ°ÑÐŸÑ Ð² ÐŽÐ°ÐœÐœÑÐ¹ ÐŒÐŸÐŒÐµÐœÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. Ð­ÑÐŸ ÐŒÐŸÐ¶ÐœÐŸ ÐžÐ·ÐŒÐµÐœÐžÑÑ, ÑÐµÐ»ÐºÐœÑÐ² <AutoText key="glidict::CDM.BuildTypeManager.Change"/>. ÐÐŸÑÐ²ÐžÑÑÑ Ð²ÑÐ¿Ð»ÑÐ²Ð°ÑÑÐµÐµ ÐŸÐºÐœÐŸ ÑÐŸ ÑÐ¿ÐžÑÐºÐŸÐŒ ÐŸÐ¿ÑÐžÐ¹: MG, MGPP, Ðž Lucene. ÐÐ·ÐŒÐµÐœÐµÐœÐžÐµ Ð·Ð°ÑÑÐ°Ð³ÐžÐ²Ð°ÐµÑ ÑÐ¿ÐŸÑÐŸÐ± ÑÐ±ÐŸÑÐºÐž ÐžÐœÐŽÐµÐºÑÐŸÐ² Ðž, Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ, Ð¿ÐŸÐžÑÐºÐŸÐ²ÑÑ ÑÑÐœÐºÑÐžÐŸÐœÐ°Ð»ÑÐœÐŸÑÑÑ.</Text>
+<Text id="si-2a">Ð¡Ð¿ÐžÑÐŸÐº <AutoText key="glidict::CDM.IndexManager.Indexes"/> Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ, ÐºÐ°ÐºÐžÐµ ÐžÐœÐŽÐµÐºÑÑ Ð² ÐŽÐ°ÐœÐœÑÐ¹ ÐŒÐŸÐŒÐµÐœÑ Ð¿ÑÐžÑÐ²ÐŸÐµÐœÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.   </Text>
+<Text id="si-3">ÐÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ÐžÐœÐŽÐµÐºÑÐ° ÑÐµÐ»ÐºÐœÐžÑÐµ <AutoText key="glidict::CDM.IndexManager.New_Index"/>... ÐÐŸÑÐ²ÐžÑÑÑ Ð²ÑÐ¿Ð»ÑÐ²Ð°ÑÑÐµÐµ ÐŸÐºÐœÐŸ ÑÐŸ ÑÐ¿ÐžÑÐºÐŸÐŒ ÐžÑÑ
+ÐŸÐŽÐœÐžÐºÐŸÐ², ÐºÑÐŽÐ° Ð²Ñ
+ÐŸÐŽÑÑ ÑÐµÐºÑÑ Ðž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ. ÐÑÐ±ÐµÑÐžÑÐµ ÐžÑÑÐŸÑÐœÐžÐºÐž ÐŽÐ»Ñ ÐžÐœÐŽÐµÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÑ. ÐÐœÐŸÐ¿ÐºÐž <AutoText key="glidict::CDM.IndexManager.Select_All"/> Ðž <AutoText key="glidict::CDM.IndexManager.Select_None"/> ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐµÐœÐœÐŸ Ð°ÐºÑÐžÐ²ÐžÑÑÑÑ ÐžÐ»Ðž ÐŽÐµÐ°ÐºÑÐžÐ²ÐžÑÑÑÑ Ð²ÑÐµ Ð¿ÑÐœÐºÑÑ ÑÐ¿ÐžÑÐºÐ°. ÐÐŸÑÐ»Ðµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÑ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÐžÐœÐŽÐµÐºÑÐ° ÑÐµÐ»ÐºÐœÐžÑÐµ <AutoText key="glidict::CDM.IndexManager.Add_Index"/> ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ÐµÐ³ÐŸ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ. <AutoText key="glidict::CDM.IndexManager.Add_Index"/> Ð±ÑÐŽÐµÑ Ð°ÐºÑÐžÐ²ÐµÐœ Ð»ÐžÑÑ ÑÐŸÐ³ÐŽÐ°, ÐºÐŸÐ³ÐŽÐ° ÐœÐ°ÑÑÑÐŸÐ¹ÐºÐž, ÐŸÐ¿ÐžÑÑÐ²Ð°ÑÑÐžÐµ ÐžÐœÐŽÐµÐºÑ, ÐµÑÐµ ÐœÐµ Ð±ÑÐ»Ðž Ð¿ÑÐžÑÐ²ÐŸÐµÐœÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. </Text>
+<Text id="s1-3a">ÐÐ»Ñ ÐžÐœÐŽÐµÐºÑÐŸÐ² MG ÐŒÐŸÐ¶ÐœÐŸ ÑÐ°ÐºÐ¶Ðµ ÑÐºÐ°Ð·Ð°ÑÑ Ð³ÑÐ°ÐœÑÐ»ÑÑÐœÐŸÑÑÑ ÐžÐœÐŽÐµÐºÑÐ° Ð¿ÑÐž Ð¿ÐŸÐŒÐŸÑÐž ÐŒÐµÐœÑ <AutoText key="glidict::CDM.IndexManager.Level"/>. </Text>
+<Text id="si-4">ÐÐ»Ñ ÐžÐœÐŽÐµÐºÑÐŸÐ² MGPP Ðž Lucene Ð³ÑÐ°ÐœÑÐ»ÑÑÐœÐŸÑÑÑ ÐžÐœÐŽÐµÐºÑÐ° ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÐµÑÑÑ Ð³Ð»ÐŸÐ±Ð°Ð»ÑÐœÐŸ, Ð° ÐœÐµ Ð¿ÐŸÐžÐœÐŽÐµÐºÑÐœÐŸ. ÐÐŸÐ·ÐŒÐŸÐ¶ÐœÑÐµ ÑÑÐŸÐ²ÐœÐž ÐŸÑÐŸÐ±ÑÐ°Ð¶Ð°ÑÑÑÑ ÐœÐ° Ð³Ð»Ð°Ð²ÐœÐŸÐ¹ Ð¿Ð°ÐœÐµÐ»Ðž <AutoText key="glidict::CDM.GUI.Indexes"/>, Ðž ÐžÑ
+ ÐŒÐŸÐ¶ÐœÐŸ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ Ðº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, Ð¿ÐŸÐŒÐµÑÐ°Ñ ÑÐ»Ð°Ð¶ÐºÐž.</Text>
+<Text id="si-5">ÐÑÐŸÐ±ÑÐ¹ ÐžÐœÐŽÐµÐºÑ, ÐŽÐŸÑÑÑÐ¿ÐœÑÐ¹ ÐŽÐ»Ñ MGPP Ðž Lucene: ÐžÐœÐŽÐµÐºÑ Â«allfieldsÂ», Ð¿ÑÐµÐŽÐŸÑÑÐ°Ð²Ð»ÑÑÑÐžÐ¹ ÐºÐŸÐŒÐ±ÐžÐœÐžÑÐŸÐ²Ð°ÐœÐœÑÐ¹ Ð¿ÐŸÐžÑÐº ÑÐµÑÐµÐ· Ð²ÑÐµ ÑÐºÐ°Ð·Ð°ÐœÐœÑÐµ ÐžÐœÐŽÐµÐºÑÑ Ð±ÐµÐ· ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸÑÑÐž ÑÐºÐ°Ð·ÑÐ²Ð°ÑÑ ÐŸÑÐŽÐµÐ»ÑÐœÑÐ¹ ÐžÐœÐŽÐµÐºÑ, ÑÐŸÐŽÐµÑÐ¶Ð°ÑÐžÐ¹ Ð²ÑÐµ ÐžÑÑ
+ÐŸÐŽÐœÐžÐºÐž. ÐÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ÑÑÐŸÐ³ÐŸ ÐžÐœÐŽÐµÐºÑÐ° Ð°ÐºÑÐžÐ²ÐžÑÑÐ¹ÑÐµ ÑÐ»Ð°Ð¶ÐŸÐº <AutoText key="glidict::CDM.IndexManager.Allfields_Index"/> Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ <AutoText key="glidict::CDM.IndexManager.Add_Index"/>.</Text>
+<Text id="si-6">ÐÐ»Ñ MGPP Ðž Lucene ÑÐ°ÐºÐ¶Ðµ Ð¿ÑÐµÐŽÐŸÑÑÐ°Ð²Ð»ÑÐµÑÑÑ ÐºÐœÐŸÐ¿ÐºÐ° <AutoText key="glidict::CDM.IndexManager.Add_All"/> ÐºÐ°Ðº ÐºÐŸÑÐŸÑÐºÐžÐ¹ Ð¿ÑÑÑ ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ Ð²ÑÐµÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒ Ðž ÐžÑÑ
+ÐŸÐŽÐœÑÐŒ ÑÐµÐºÑÑÐ°ÐŒ ÐžÐœÐŽÐžÐ²ÐžÐŽÑÐ°Ð»ÑÐœÐŸÐ³ÐŸ ÐžÐœÐŽÐµÐºÑÐ°.</Text>
+<Text id="si-7">ÐÐ»Ñ ÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÑ ÐžÐœÐŽÐµÐºÑÐ° Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ <AutoText key="glidict::CDM.IndexManager.Edit_Index"/>. ÐÐŸÑ
+ÐŸÐ¶ÐžÐ¹ ÐœÐ° ÐœÐµÐ³ÐŸ ÐŽÐžÐ°Ð»ÐŸÐ³ â ÑÑÐŸ  <AutoText key="glidict::CDM.IndexManager.New_Index"/>.</Text>
+<Text id="si-8">ÐÐ»Ñ ÑÐŽÐ°Ð»ÐµÐœÐžÑ ÐžÐœÐŽÐµÐºÑÐ° Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ð¿ÑÐžÑÐ²ÐŸÐµÐœÐœÑÑ
+ ÐžÐœÐŽÐµÐºÑÐŸÐ² Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ <AutoText key="glidict::CDM.IndexManager.Remove_Index"/>.</Text>
+<Text id="si-9">ÐÐŸÑÑÐŽÐŸÐº, Ð² ÐºÐŸÑÐŸÑÐŸÐŒ ÐžÐœÐŽÐµÐºÑÑ ÑÐºÐ°Ð·ÑÐ²Ð°ÑÑÑÑ Ð² ÑÐ¿ÐžÑÐºÐµ Â«ÐÑÐžÑÐ²ÐŸÐµÐœÐœÑÐµ ÐžÐœÐŽÐµÐºÑÑÂ» - ÑÑÐŸ ÑÐŸÑ Ð¿ÐŸÑÑÐŽÐŸÐº, Ð² ÐºÐŸÑÐŸÑÐŸÐŒ ÐŸÐœÐž Ð¿ÐŸÑÐ²Ð»ÑÑÑÑÑ ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ Ð¿ÐŸÐžÑÐºÐ°. ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÐºÐœÐŸÐ¿ÐºÐž <AutoText key="glidict::CDM.Move.Move_Up"/> Ðž <AutoText key="glidict::CDM.Move.Move_Down"/> ÐŽÐ»Ñ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ ÑÑÐŸÐ³ÐŸ Ð¿ÐŸÑÑÐŽÐºÐ°.</Text>
+<Text id="si-10">ÐÑÐ±ÑÐ°ÐœÐœÑÐ¹ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ Ð¿ÐŸÐžÑÐºÐ° ÐžÐœÐŽÐµÐºÑ ÐœÐ°Ð·ÑÐ²Ð°ÐµÑÑÑ "ÐžÐœÐŽÐµÐºÑÐŸÐŒ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ". ÐÐœ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœ Ð¿ÑÐž Ð²ÑÐ±ÐŸÑÐµ ÑÐŸÑÐŒÑ ÐžÐœÐŽÐµÐºÑÐ° ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÐœÐ°Ð¶Ð°ÑÐžÑ  "ÐÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ (Set Default)". ÐÐœÐŽÐµÐºÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ Ð¿ÐŸÐŒÐµÑÐµÐœ ÐºÐ°Ðº "[ÐÐœÐŽÐµÐºÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ (Default index)]" Ð² ÑÐ¿ÐžÑÐºÐµ Â«ÐÑÐžÑÐ²ÐŸÐµÐœÐœÑÐµ ÐžÐœÐŽÐµÐºÑÑÂ». ÐÑÐ»Ðž ÐžÐœÐŽÐµÐºÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ ÐœÐµ ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœ, Ð±ÑÐŽÐµÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑÑÑ Ð¿ÐµÑÐ²ÑÐ¹ ÐžÐœÐŽÐµÐºÑ ÐžÐ· ÑÐ¿ÐžÑÐºÐ°.</Text>
+<Text id="si-11">ÐÐŒÐµÐœÐ°, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÑÐµ ÐŽÐ»Ñ ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐ³ÐŸ ÑÐ¿ÐžÑÐºÐ° ÐžÐœÐŽÐµÐºÑÐŸÐ² ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ Ð¿ÐŸÐžÑÐºÐ° ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐºÐ°Ð·Ð°ÐœÑ Ð² <AutoText key="glidict::CDM.GUI.SearchMetadata"/> ÑÐ°ÑÑÐž <AutoText key="glidict::GUI.Format"/> Ð¿Ð°ÐœÐµÐ»Ðž, (ÑÐŒ. <Reference target="searchmetadatasettings"/>).</Text>
+<Section name="searchindexoptions">
+<Title>
+<Text id="sio-1">ÐÐ¿ÑÐžÐž Ð¿ÐŸÐžÑÐºÐŸÐ²ÐŸÐ¹ ÐžÐœÐŽÐµÐºÑÐ°ÑÐžÐž </Text>
+</Title>
+<Text id="sio-2">ÐÑÑÑ ÐœÐµÐºÐŸÑÐŸÑÑÐµ ÐŽÐŸÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»ÑÐœÑÐµ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÑ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ, ÐŽÐ»Ñ ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ Ð¿ÐŸÐžÑÐºÐŸÐ²ÑÑ
+ ÐžÐœÐŽÐµÐºÑÐŸÐ². ÐÐœÐž ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐœÐµÐŽÐŸÑÑÑÐ¿ÐœÑ ÐŽÐ»Ñ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐœÐŸÐ³ÐŸ ÐžÐœÐŽÐµÐºÑÐ°, Ðž Ð² ÑÑÐŸÐŒ ÑÐ»ÑÑÐ°Ðµ Ð±ÑÐŽÐµÑ Ð²ÑÐŽÐµÐ»ÐµÐœÑ ÑÐµÑÑÐŒ, ÐºÐ°Ðº ÐœÐµÑÐ°Ð±ÐŸÑÐ°ÑÑÐžÐµ.</Text>
+<Text id="sio-3">ÐÐ°ÑÐ°Ð»ÐŸÐ³ÐžÐ·Ð°ÑÐžÑ Ð¿ÐŸ ÐŽÐµÐ»Ð°ÐŒ Ðž ÑÐµÐŒÐ°ÑÐžÑÐµÑÐºÐžÐŒ ÑÐ°ÑÐºÐ»Ð°ÐŽÐºÐ°ÐŒ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ Ð²ÐºÐ»ÑÑÐµÐœÐ° ÐžÐ»Ðž ÐŸÑÐºÐ»ÑÑÐµÐœÐ° Ð² ÐžÐœÐŽÐµÐºÑÐ°Ñ
+ MG Ðž MGPP. ÐÑÐ»Ðž Ð²ÐºÐ»ÑÑÐµÐœÐ°, ÑÐŸ ÐžÐœÐŽÐµÐºÑÑ Ð¿ÐŸ ÐŽÐµÐ»ÐŸ-ÐºÐ°ÑÐ°Ð»ÐŸÐ³Ð°ÐŒ Ð±ÑÐŽÑÑ ÑÐŸÐ·ÐŽÐ°ÐœÑ, Ðž Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ Ð±ÑÐŽÐµÑ ÐžÐŒÐµÑÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÑ Ð¿ÐŸÐžÑÐºÐ°. ÐÑÐ»Ðž ÐŸÑÐºÐ»ÑÑÐµÐœÑ, Ð¿ÐŸÐžÑÐº Ð±ÑÐŽÐµÑ ÑÑÐ²ÑÑÐ²ÐžÑÐµÐ»ÐµÐœ Ðº ÑÐµÐ³ÐžÑÑÑÑ Ðž ÐœÐµ ÐºÐ°ÑÐ°Ð»ÐŸÐ³ÐžÐ·ÐžÑÐŸÐ²Ð°Ðœ, Ðž Ð²Ð°ÑÐžÐ°ÐœÑÑ ÐœÐµ Ð±ÑÐŽÑÑ ÐŸÑÐŸÐ±ÑÐ°Ð¶Ð°ÑÑÑÑ ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ ÐœÐ°ÑÑÑÐŸÐ¹ÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.</Text>
+<Text id="sio-4">ÐÐ°ÑÐ°Ð»ÐŸÐ³ÐžÐ·Ð°ÑÐžÑ Ð¿ÐŸ Ð°ÐºÑÐµÐœÑÐ°ÐŒ ÐŽÐŸÑÑÑÐ¿ÐœÐ° ÐŽÐ»Ñ MGPP ÐžÐœÐŽÐµÐºÑÐŸÐ². Ð Ð°Ð±ÐŸÑÐ°ÐµÑ ÑÐ°Ðº Ð¶Ðµ ÐºÐ°Ðº Ðž ÑÐµÐŒÐ°ÑÐžÑÐµÑÐºÐžÐµ ÑÐ°ÑÐºÐ»Ð°ÐŽÐºÐž, ÐœÐŸ Ð²ÐŒÐµÑÑÐŸ ÐœÐžÐ¶ÐœÐµÐ³ÐŸ Ðž Ð²ÐµÑÑ
+ÐœÐµÐ³ÐŸ ÑÐµÐ³ÐžÑÑÑÐŸÐ² Ð±ÑÐºÐ² ÐœÐµ ÑÐŸÐ²Ð¿Ð°ÐŽÐ°ÑÑ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐžÐµ Ð·Ð°Ð¿ÐžÑÐž Ñ ÐŽÐžÐ°ÐºÑÐžÑÐžÑÐµÑÐºÐžÐŒÐž Ð·ÐœÐ°ÐºÐ°ÐŒÐž. Ð ÐžÐœÐŽÐµÐºÑ Lucene Ð²ÑÐµÐ³ÐŽÐ° Ð°ÐºÑÐµÐœÑ-ÐºÑÐ°ÑÐµÐœ, Ðž ÐœÐµÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÐž Ð¿ÐµÑÐµÐºÐ»ÑÑÐµÐœÐžÑ ÐœÐ° ÑÑÐŸÑ Ðž ÐŽÑÑÐ³ÐžÐµ Ð±ÑÐŽÑÑ ÐŸÑÐŸÐ±ÑÐ°Ð¶Ð°ÑÑÑÑ ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ ÐœÐ°ÑÑÑÐŸÐ¹ÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.</Text>
+<Text id="sio-5">""ÐÐžÑÐ°Ð¹ÑÐºÐžÐ¹, ÑÐ¿ÐŸÐœÑÐºÐžÐ¹ Ðž ÐºÐŸÑÐµÐ¹ÑÐºÐžÐ¹ ÑÐµÐºÑÑ ÑÐ°ÑÑÐŸ ÐœÐµ ÑÐµÐ³ÐŒÐµÐœÑÐžÑÐŸÐ²Ð°Ðœ ÐœÐ° ÐŸÑÐŽÐµÐ»ÑÐœÑÐµ ÑÐ»ÐŸÐ²Ð°. ÐÐ°Ðº Ðž Ð¿ÐŸÐ»Ð°Ð³Ð°ÐµÑÑÑ Ð² ÐžÐœÐŽÐµÐºÑÐ°ÑÐžÐž, ÐŸÑÐœÐŸÐ²ÐŸÐ¹ ÑÐ²Ð»ÑÑÑÑÑ Ð¿ÑÐŸÐ±ÐµÐ»Ñ ÐŒÐµÐ¶ÐŽÑ ÑÐ»ÐŸÐ²Ð°ÐŒÐž Ð¿ÑÐžÑÑÑÑÑÐ²ÑÑÑÐžÐŒÐž Ð² ÑÐµÐºÑÑÐµ, ÑÑÐŸ Ð¿ÑÐžÐ²ÐŸÐŽÐžÑ Ðº ÐœÐµÑÐ°Ð±ÐŸÑÐ°ÑÑÐžÐŒ ÐžÐœÐŽÐµÐºÑÐ°ÐŒ. Ð£ÑÑÐ°ÐœÐŸÐ²ÐºÐ° ÐŸÐ¿ÑÐžÐž <AutoText key="glidict::CDM.IndexingManager.Separate_cjk"/>  Ð±ÑÐŽÐµÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÑÑ Ð¿ÑÐŸÐ±ÐµÐ»Ñ ÐŒÐµÐ¶ÐŽÑ ÐžÐµÑÐŸÐ³Ð»ÐžÑÐ°ÐŒÐž Ð² ÐºÐžÑÐ°Ð¹ÑÐºÐŸÐŒ, ÑÐ¿ÐŸÐœÑÐºÐŸÐŒ Ðž ÐºÐŸÑÐµÐ¹ÑÐºÐŸÐŒ ÑÐµÐºÑÑÐ°Ñ
+, ÐŽÐ»Ñ ÐŸÑÑÑÐµÑÑÐ²Ð»ÐµÐœÐžÑ Ð¿ÐŸÐžÑÐºÐ°."</Text>
+</Section>
+</Section>
+<Section name="partitionindexes">
+<Title>
+<Text id="143">ÐÐœÐŽÐµÐºÑÑ ÑÐ°Ð·Ð±ÐžÐµÐœÐžÑ</Text>
+</Title>
+<Text id="144">ÐÐœÐŽÐµÐºÑÑ Ð¿ÐŸÑÑÑÐŸÐµÐœÑ ÐœÐ° ÐŽÐµÑÐ°Ð»ÑÐœÐŸÐŒ ÑÐµÐºÑÑÐµ ÐžÐ»Ðž ÐžÑÑÐŸÑÐœÐžÐºÐ°Ñ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+. ÐÐµÑÑÐŸ Ð¿ÐŸÐžÑÐºÐ° ÐŒÐŸÐ¶ÐµÑ Ð² ÐŽÐ°Ð»ÑÐœÐµÐ¹ÑÐµÐŒ ÑÐ¿ÑÐ°Ð²Ð»ÑÑÑÑÑ Ð¿ÑÑÑÐŒ ÑÐ°Ð·Ð±ÐžÐµÐœÐžÑ ÐžÐœÐŽÐµÐºÑÐŸÐ² Ð»ÐžÐ±ÐŸ Ð¿ÐŸ ÑÐ·ÑÐºÑ ÐžÐ»Ðž Ð¿ÐŸ ÐœÐ°Ð·ÐœÐ°ÑÐµÐœÐœÑÐŒ ÑÐžÐ»ÑÑÑÐ°ÐŒ.Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ¿ÐžÑÑÐ²Ð°ÐµÑÑÑ,ÐºÐ°Ðº ÑÑÐŸ ÑÐŽÐµÐ»Ð°ÑÑ. ÐÐœÑÑÑÐž "Ð Ð°Ð·ÐŽÐµÐ»ÐŸÐ² ÐŽÐžÐ·Ð°Ð¹ÐœÐ°" ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐœÐŽÐµÐºÑÑ ÑÐ°Ð·Ð±ÐžÐµÐœÐžÑ".</Text>
+<Text id="145">ÐÐžÐŽ "ÐÐœÐŽÐµÐºÑÑ ÑÐ°Ð·Ð±ÐžÐµÐœÐžÑ" ÐžÐŒÐµÐµÑ ÑÑÐž Ð·ÐœÐ°ÑÐµÐœÐžÑ:"ÐÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ ÑÐžÐ»ÑÑÑÑ","ÐÐ°Ð·ÐœÐ°ÑÐžÑÑ ÑÐ°Ð·Ð±ÐžÐµÐœÐžÐµ" Ðž "ÐÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ ÑÐ·ÑÐºÐž". ÐÐ»Ñ ÑÐŸÐ³ÐŸ ÑÑÐŸÐ±Ñ Ð±ÐŸÐ»ÑÑÐµ ÑÐ·ÐœÐ°ÑÑ ÐŸ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐž, ÑÐžÑÐ°Ð¹ÑÐµ  ÐŸ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑ
+ Ðž Ð¿ÐŸÐŽÐžÐœÐŽÐµÐºÑÐ°Ñ
+ Ð² Ð³Ð»Ð°Ð²Ðµ 2 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone.</Text>
+<Text id="146">Ð­ÐºÑÐ°Ðœ ÐÐœÐŽÐµÐºÑÐŸÐ² Ð Ð°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐµÐœ ÑÐŸÐ»ÑÐºÐŸ Ð² ÑÐµÐ¶ÐžÐŒÐ°Ñ
+ Ð¡Ð¿ÐµÑÐžÐ°Ð»ÐžÑÑ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÑ
+ Ð¡ÐžÑÑÐµÐŒ Ðž Ð­ÐºÑÐ¿ÐµÑÑ (ÑÐŒ. <Reference target="preferences"/>). ÐÐ°ÐŒÐµÑÑÑÐµ, ÑÑÐŸ ÐŸÐ±ÑÐµÐµ ÐºÐŸÐ»ÐžÑÐµÑÑÐ²ÐŸ Ð¿ÑÐŸÐžÐ·Ð²ÐµÐŽÐµÐœÐœÑÑ
+ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐ¹ ÑÐ²Ð»ÑÐµÑÑÑ ÐºÐŸÐŒÐ±ÐžÐœÐ°ÑÐžÐµÐ¹ Ð²ÑÐµÑ
+ ÐžÐœÐŽÐµÐºÑÐŸÐ², ÑÐžÐ»ÑÑÑÐŸÐ² ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž Ð²ÑÐ±ÑÐ°ÐœÐœÑÑ
+ ÑÐ·ÑÐºÐŸÐ². ÐÐ²Ð° ÐžÐœÐŽÐµÐºÑÐ° Ñ ÐŽÐ²ÑÐŒÑ ÑÐžÐ»ÑÑÑÐ°ÐŒÐž ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð¿ÐŸ ÐŽÐ²ÑÐŒ ÑÐ·ÑÐºÐ°ÐŒ Ð¿ÑÐžÐ²ÐµÐ»ÐŸ Ð±Ñ Ðº Ð²ÐŸÑÑÐŒÐž ÐžÐœÐŽÐµÐºÑÐ°ÐŒ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ.</Text>
+<Section name="definefilters">
+<Title>
+<Text id="147">ÐÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ ÑÐžÐ»ÑÑÑÑ</Text>
+</Title>
+<Text id="148">Ð€ÐžÐ»ÑÑÑÑ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÑÑ ÐÐ°ÐŒ Ð³ÑÑÐ¿Ð¿ÐžÑÐŸÐ²Ð°ÑÑ Ð² Ð¿ÐŸÐŽÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð²ÑÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ Ð¿ÐŸ  ÐžÐœÐŽÐµÐºÑÑ,ÐŽÐ»Ñ ÐºÐŸÑÐŸÑÐŸÐ³ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÐµÑ Ð·Ð°ÐŽÐ°ÐœÐœÐŸÐ¹ ÐŒÐŸÐŽÐµÐ»Ðž.</Text>
+<Text id="149">Ð§ÑÐŸÐ±Ñ ÑÐŸÐ·ÐŽÐ°ÑÑ ÑÐžÐ»ÑÑÑ,ÑÐµÐ»ÐºÐœÐžÑÐµ ÐºÐ»Ð°Ð²ÐžÑÑ "ÐÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ ÑÐžÐ»ÑÑÑÑ" Ðž Ð²Ð²ÐµÐŽÐžÑÐµ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµ ÐŽÐ»Ñ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÑÐžÐ»ÑÑÑÐ° Ð² Ð¿ÐŸÐ»Ðµ "ÐÐŒÑ ÑÐžÐ»ÑÑÑÐ° ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž:".ÐÐ°ÑÐµÐŒ Ð²ÑÐ±ÐµÑÐžÑÐµ Ñ
+Ð°ÑÐ°ÐºÑÐµÑÐœÑÐµ Ð¿ÑÐžÐ·ÐœÐ°ÐºÐž ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°, ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐžÐµ ÐžÐ»Ðž ÑÐ»ÐµÐŒÐµÐœÑÐ°ÐŒ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+,ÐžÐ»Ðž ÐœÐ°Ð·Ð²Ð°ÐœÐžÑ ÑÐ°ÑÑÐŒÐ°ÑÑÐžÐ²Ð°ÐµÐŒÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð°.ÐÐ²ÐµÐŽÐžÑÐµ Ð¿ÑÐ°Ð²ÐžÐ»ÑÐœÐŸÐµ Ð²ÑÑÐ°Ð¶ÐµÐœÐžÐµ,ÑÑÐŸÐ±Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ Ð² ÑÐµÑÐµÐœÐžÐµ ÐŽÐµÐ¹ÑÑÐ²ÐžÑ ÑÑÐŸÐ³ÐŸ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÑ.ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð¿ÐµÑÐµÐºÐ»ÑÑÐ°ÑÑ "ÐÐºÐ»ÑÑÐµÐœÐžÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ²", ÐºÐŸÑÐŸÑÑÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑ ÑÐžÐ»ÑÑÑÑ, ÐžÐ»Ðž "ÐÑÐºÐ»ÑÑÐµÐœÐžÐµ" ÐžÑ
+.ÐÐ°ÐºÐŸÐœÐµÑ,ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ Ð»ÑÐ±ÐŸÐ¹ ÑÑÐ°ÐœÐŽÐ°ÑÑ PERL, Ð¿ÑÐ°Ð²ÐžÐ»ÑÐœÑÐµ ÑÐ»Ð°Ð³Ðž Ð²ÑÑÐ°Ð¶ÐµÐœÐžÑ,ÑÑÐŸÐ±Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ Ð¿ÑÐž ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÐž (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, ("i" ÐŽÐ»Ñ ÑÐ»ÑÑÐ°Ñ ÐœÐµÑÑÐ²ÑÑÐ²ÐžÑÐµÐ»ÑÐœÐŸÐ³ÐŸ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÑ),ÐÐ°ÐºÐŸÐœÐµÑ,ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐžÐ»ÑÑÑ",ÑÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐžÐ»ÑÑÑ Ðº ÑÐ¿ÐžÑÐºÑ "Ð€ÐžÐ»ÑÑÑÑ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÑ ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹".</Text>
+<Text id="150">Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÑÐžÐ»ÑÑÑ,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÐžÐ»ÑÑÑ". </Text>
+<Text id="151">Ð§ÑÐŸÐ±Ñ ÐžÐ·ÐŒÐµÐœÐžÑÑ ÑÐžÐ»ÑÑÑ,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ°,Ð·Ð°ÐŒÐµÐœÐžÑÐµ Ð»ÑÐ±ÐŸÐµ Ð·ÐœÐ°ÑÐµÐœÐžÐµ, ÐºÐŸÑÐŸÑÐŸÐµ Ð¿ÐŸÑÐ²Ð»ÑÐµÑÑÑ Ð² ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÐž ÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÐµÐŒ Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐ°ÐŒÐµÐœÐžÑÑ ÑÐžÐ»ÑÑÑ",ÑÑÐŸÐ±Ñ Ð·Ð°ÐºÑÐµÐ¿ÐžÑÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ.</Text>
+<Text id="151a">ÐÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÐµ ÑÐžÐ»ÑÑÑÐŸÐ² ÐœÐµ Ð±ÑÐŽÐµÑ ÑÐŸÐ·ÐŽÐ°Ð²Ð°ÑÑ ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. Ð¡ÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÑÐºÐ°Ð·ÑÐ²Ð°ÑÑÑÑ Ð² <AutoText key="glidict::CDM.SubcollectionManager.Subindex_Controls"/>, ÐŸÑÐœÐŸÐ²ÑÐ²Ð°ÑÑÑ ÐœÐ° ÑÐµÑ
+ ÑÐžÐ»ÑÑÑÐ°Ñ
+, ÐºÐŸÑÐŸÑÑÐµ Ð²Ñ ÑÐŸÐ»ÑÐºÐŸ ÑÑÐŸ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÐ»Ðž.</Text>
+</Section>
+<Section name="assignpartitions">
+<Title>
+<Text id="152">ÐÐ°Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ</Text>
+</Title>
+<Text id="153">ÐÐŒÐµÑ Ð·Ð°ÐŽÐ°ÐœÐœÑÐ¹ ÑÐžÐ»ÑÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÐºÐ»Ð°Ð²ÐžÑÑ "ÐÐ°Ð·ÐœÐ°ÑÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ" ÐŽÐ»Ñ Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÑ ÐžÐœÐŽÐµÐºÑÐŸÐ² ÐŽÐ»Ñ ÑÑÐŸÐ³ÐŸ ÐžÐ»Ðž ÐŽÐ»Ñ Ð³ÑÑÐ¿Ð¿Ñ ÑÐžÐ»ÑÑÑÐŸÐ². ÐÑÐ±ÐµÑÐžÑÐµ Ð¶ÐµÐ»Ð°ÑÐµÐ»ÑÐœÑÐ¹ ÑÐžÐ»ÑÑÑ (ÐžÐ»Ðž ÑÐžÐ»ÑÑÑÑ) ÐžÐ· ÑÐ¿ÐžÑÐºÐ° "ÐÐ°ÐŽÐ°ÐœÐœÑÐµ ÑÐžÐ»ÑÑÑÑ ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž", Ð²Ð²ÐµÐŽÐžÑÐµ ÐžÐŒÑ ÐŽÐ»Ñ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ Ð² Ð¿ÐŸÐ»Ðµ "ÐÐŒÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ" Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐµ".</Text>
+<Text id="154a">Ð§ÑÐŸÐ±Ñ ÐžÐ·ÐŒÐµÐœÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ», Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ°, ÐžÐ·ÐŒÐµÐœÐžÑÐµ ÑÐžÐ»ÑÑÑÑ Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ <AutoText key="glidict::CDM.SubcollectionIndexManager.Replace_Subindex"/>.</Text>
+<Text id="154">Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐµ,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐµ".</Text>
+<Text id="154b">ÐÐŸÑÑÐŽÐŸÐº, Ð² ÐºÐŸÑÐŸÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ñ ÑÐºÐ°Ð·ÑÐ²Ð°ÑÑÑÑ Ð² Ð¡Ð¿ÐžÑÐºÐµ Ð¿ÑÐžÑÐ²ÐŸÐµÐœÐœÑÑ
+ ÑÐ°Ð·ÐŽÐµÐ»ÐŸÐ² â ÑÑÐŸ ÑÐŸÑ Ð¿ÐŸÑÑÐŽÐŸÐº, Ð² ÐºÐŸÑÐŸÑÐŸÐŒ ÐŸÐœÐž ÐžÐŽÑÑ Ð² ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐŒ ÐŒÐµÐœÑ ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ Ð¿ÐŸÐžÑÐºÐ°. ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÐºÐœÐŸÐ¿ÐºÐž <AutoText key="glidict::CDM.Move.Move_Up"/> Ðž <AutoText key="glidict::CDM.Move.Move_Down"/> ÐŽÐ»Ñ ÐµÐ³ÐŸ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ.</Text>
+<Text id="155">Ð§ÑÐŸÐ±Ñ Ð¿ÑÐŸÐžÐ·Ð²ÐµÑÑÐž ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐµ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÑÑÐ°ÐœÐŸÐ²ÐžÑÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ".</Text>
+<Text id="155a">ÐÐŒÐµÐœÐ°, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÑÐµ ÐŽÐ»Ñ ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐ³ÐŸ ÑÐ¿ÐžÑÐºÐ° ÑÐ°Ð·ÐŽÐµÐ»ÐŸÐ² ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ Ð¿ÐŸÐžÑÐºÐ° ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœÑ ÐœÐ° ÑÐ°ÑÑÐž <AutoText key="glidict::CDM.GUI.SearchMetadata"/> Ð¿Ð°ÐœÐµÐ»Ðž <AutoText key="glidict::GUI.Format"/> (ÑÐŒ. <Reference target="searchmetadatasettings"/>).</Text>
+</Section>
+<Section name="assignlanguages">
+<Title>
+<Text id="156">ÐÐ°ÐŽÐ°ÐœÐœÑÐµ ÑÐ·ÑÐºÐž</Text>
+</Title>
+<Text id="157">Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŽÐµÑÐ°Ð»ÐžÐ·ÐžÑÐŸÐ²Ð°ÐœÐŸ,ÐºÐ°Ðº ÐŸÐ³ÑÐ°ÐœÐžÑÐžÑÑ ÐžÐœÐŽÐµÐºÑÑ Ð¿ÐŸÐžÑÐºÐ° ÑÐ¿ÐµÑÐžÑÐžÑÐµÑÐºÐžÐŒÐž ÑÐ·ÑÐºÐ°ÐŒÐž. ÐÑ ÑÐŸÐ²ÐµÑÑÐ°ÐµÑÐµ ÑÑÐŸ Ð¿ÑÐž ÑÐµÐ³ÐµÐœÐµÑÐžÑÐŸÐ²Ð°ÐœÐžÐž ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ,ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ ÐºÐ»Ð°Ð²ÐžÑÑ "ÐÐ°ÐŽÐ°ÐœÐœÑÐµ ÑÐ·ÑÐºÐž" Ð² Ð¿ÐµÑÐµÑÐœÐµ "ÐÐœÐŽÐµÐºÑÑ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ".</Text>
+<Text id="157-1">Ð¯Ð·ÑÐºÐŸÐ²ÑÐµ ÑÐ°Ð·ÐŽÐµÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ, ÑÑÐŸÐ±Ñ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ, ÐºÐ°ÐºÐžÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ ÐžÐŒÐµÑÑÑÑ Ð² ÑÐºÐ°Ð·Ð°ÐœÐœÑÑ
+ ÑÐ·ÑÐºÐ°Ñ
+, Ðž Ð¿ÐŸÑÑÐŸÐŒÑ ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ Ð²ÐºÐ»ÑÑÐµÐœÑ Ð² ÑÐ°Ð·ÐŽÐµÐ». ÐÑÐžÐœÑÑÐŸÑÐœ Ð³ÐµÐœÐµÑÐžÑÑÐµÑ "ex.Language" ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐŽÐ»Ñ Ð±ÐŸÐ»ÑÑÐžÐœÑÑÐ²Ð° ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ², Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ ÑÑÐŸ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐŽÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ. ÐÐŽÐœÐ°ÐºÐŸ, ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐŸ ÐœÐ° ÐŽÑÑÐ³ÐŸÐ¹ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÐ° <AutoText key="glidict::CDM.LanguageManager.LanguageMetadata"/>.</Text>
+<Text id="158">Ð§ÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐœÐŸÐ²ÑÐ¹ ÑÐ·ÑÐº ÐŽÐ»Ñ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÐºÐ»Ð°Ð²ÐžÑÑ "ÐÐ°ÐŽÐ°ÐœÐœÑÐµ ÑÐ·ÑÐºÐž" ÐŽÐ»Ñ Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÑ ÐžÐœÐŽÐµÐºÑÐ° ÐŽÐ»Ñ ÑÑÐŸÐ³ÐŸ. ÐÑÐ±ÐµÑÐžÑÐµ Ð¶ÐµÐ»Ð°ÑÐµÐ»ÑÐœÑÐ¹ ÑÐ·ÑÐº ÐžÐ· ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐ³ÐŸ ÑÐ¿ÐžÑÐºÐ° "Ð¯Ð·ÑÐºÐž ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ" Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐ·ÑÐº"</Text>
+<Text id="158a">ÐÐ»Ñ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ ÑÑÑÐµÑÑÐ²ÑÑÑÐµÐ³ÐŸ ÑÐ°Ð·ÐŽÐµÐ»Ð° Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° "ÐÑÐžÑÐ²ÐŸÐµÐœÐœÑÐµ ÑÐ·ÑÐºÐŸÐ²ÑÐµ ÑÐ°Ð·ÐŽÐµÐ»Ñ", ÐžÐ·ÐŒÐµÐœÐžÑÐµ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐµ ÑÐ·ÑÐºÐž Ð² ÑÐ¿ÐžÑÐºÐµ "Ð¯Ð·ÑÐºÐž ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ" ÐœÐžÐ¶Ðµ, Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐ°ÐŒÐµÐœÐžÑÑ ÑÐ°Ð·ÐŽÐµÐ»".  </Text>
+<Text id="159">Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÑÐ·ÑÐº,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° "ÐÑÐ±ÐŸÑÑ ÑÐ·ÑÐºÐ°" Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÐ·ÑÐº".</Text>
+<Text id="159a">ÐÐŸÑÑÐŽÐŸÐº, Ð² ÐºÐŸÑÐŸÑÐŸÐŒ ÐžÐœÐŽÐµÐºÑÑ ÑÐºÐ°Ð·ÑÐ²Ð°ÑÑÑÑ Ð² ÑÐ¿ÐžÑÐºÐµ Â«ÐÑÐžÑÐ²ÐŸÐµÐœÐœÑÐµ ÐžÐœÐŽÐµÐºÑÑÂ» - ÑÑÐŸ ÑÐŸÑ Ð¿ÐŸÑÑÐŽÐŸÐº, Ð² ÐºÐŸÑÐŸÑÐŸÐŒ ÐŸÐœÐž Ð¿ÐŸÑÐ²Ð»ÑÑÑÑÑ ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ Ð¿ÐŸÐžÑÐºÐ°. ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÐºÐœÐŸÐ¿ÐºÐž <AutoText key="glidict::CDM.Move.Move_Up"/> Ðž <AutoText key="glidict::CDM.Move.Move_Down"/> ÐŽÐ»Ñ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ ÑÑÐŸÐ³ÐŸ Ð¿ÐŸÑÑÐŽÐºÐ°.</Text>
+<Text id="160">Ð§ÑÐŸÐ±Ñ ÑÑÑÐ°ÐœÐŸÐ²ÐžÑÑ ÑÐ·ÑÐº Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÑÑÐ°ÐœÐŸÐ²ÐºÐ° Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ".</Text>
+<Text id="160a">ÐÐŒÐµÐœÐ°, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÑÐµ ÐŽÐ»Ñ ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐ³ÐŸ ÑÐ¿ÐžÑÐºÐ° ÐžÐœÐŽÐµÐºÑÐŸÐ² ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ Ð¿ÐŸÐžÑÐºÐ° ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐºÐ°Ð·Ð°ÐœÑ Ð² <AutoText key="glidict::CDM.GUI.SearchMetadata"/> ÑÐ°ÑÑÐž <AutoText key="glidict::GUI.Format"/> Ð¿Ð°ÐœÐµÐ»Ðž, (ÑÐŒ. <Reference target="searchmetadatasettings"/>).  </Text>
+</Section>
+</Section>
+<Section name="classifiers">
+<Title>
+<Text id="166">ÐÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÑ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ°</Text>
+</Title>
+<Text id="167">Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ±ÑÑÑÐœÑÐµÑÑÑ,ÐºÐ°Ðº ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÑÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÑ Ðº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÐºÐŸÑÐŸÑÑÐµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑÑÑ ÐŽÐ»Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ°. Ð "Ð Ð°Ð·ÐŽÐµÐ»Ð°Ñ
+ ÐŽÐžÐ·Ð°Ð¹ÐœÐ°" ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÑÐŸÑÐŒÐŸÑÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐŸÐ²". </Text>
+<Text id="168">Ð§ÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ,ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐžÐ¹ ÑÐ¿ÐžÑÐŸÐº "ÐÑÐ±ÐŸÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐ° ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ" Ð²ÐœÐžÐ·Ñ ÐŸÐºÐœÐ°,Ðž Ð·Ð°ÑÐµÐŒ ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÑÑÐµ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ". ÐÐŸÑÐ²Ð»ÑÐµÑÑÑ ÐŸÐºÐœÐŸ, ÐœÐ°Ð·ÑÐ²Ð°ÐµÐŒÐŸÐµ "ÐÐŸÐœÑÐžÐ³ÑÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÐŸÐ²".ÐÐœÑÑÑÑÐºÑÐžÐž ÐŽÐ»Ñ ÑÑÐŸÐ³ÐŸ ÐŽÐžÐ°Ð»ÐŸÐ³Ð° ÑÐµ Ð¶Ðµ ÑÐ°ÐŒÑÐµ,ÑÑÐŸ ÐºÐ°ÑÐ°ÑÑÑÑ Ð¿Ð»Ð°Ð³ÐžÐœÐŸÐ² (<Reference target="plugins"/>).ÐÐ°Ðº ÑÐŸÐ»ÑÐºÐŸ ÐÑ ÑÑÐŸÑÐŒÐžÑÐŸÐ²Ð°Ð»Ðž ÐœÐŸÐ²ÑÐ¹ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ, ÐŸÐœ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÐµÑÑÑ Ð² ÐºÐŸÐœÐµÑ ÑÐ¿ÐžÑÐºÐ° "Ð¢ÐµÐºÑÑÐžÐµ Ð·Ð°ÐŽÐ°ÐœÐœÑÐµ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÑ".  </Text>
+<Text id="168a">ÐÐ»Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ° ÐºÑÐ°ÑÐºÐŸÐ³ÐŸ ÐŸÐ¿ÐžÑÐ°ÐœÐžÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐ° Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ Ð² ÑÐ¿ÐžÑÐºÐµ Â«ÐÑÐ±ÐŸÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐ° ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑÂ» Ðž ÐœÐ°Ð²ÐµÐŽÐžÑÐµ ÐœÐ° ÐœÐµÐ³ÐŸ ÐŒÑÑÑ. ÐÐŸÑÐ²ÐžÑÑÑ ÐŸÐºÐŸÑÐºÐŸ Ñ ÐŸÐ¿ÐžÑÐ°ÐœÐžÐµÐŒ.</Text>
+<Text id="168b">ÐÐ°Ð¶ÐŽÑÐ¹ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ ÐžÐŒÐµÐµÑ ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÐœÐ°ÑÑÑÐ°ÐžÐ²Ð°ÐµÐŒÑÑ
+ Ð°ÑÐ³ÑÐŒÐµÐœÑÐŸÐ². ÐÐ°Ð¶ÐœÑÐµ Ð°ÑÐ³ÑÐŒÐµÐœÑÑ â ÑÑÐŸ Â«metadataÂ», ÐºÐŸÑÐŸÑÑÐ¹ ÑÐºÐ°Ð·ÑÐ²Ð°ÐµÑ, Ð¿ÐŸ ÐºÐ°ÐºÐžÐŒ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒ Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐŽÐžÑÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐžÑ, Ðž Â«buttonnameÂ» - ÐžÐŒÑ ÐœÐ° Ð¿Ð°ÐœÐµÐ»Ðž ÐœÐ°Ð²ÐžÐ³Ð°ÑÐžÐž.</Text>
+<Text id="169">Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ".</Text>
+<Text id="170">Ð§ÑÐŸÐ±Ñ ÐžÐ·ÐŒÐµÐœÐžÑÑ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐ°, Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐœÑÐžÐ³ÑÑÐžÑÑÐ¹ÑÐµ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ." (ÐžÐ»Ðž ÑÐµÐ»ÐºÐœÑÑÑ ÐŽÐ²Ð° ÑÐ°Ð·Ð° ÐœÐ° ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐµ Ð² ÑÐ¿ÐžÑÐºÐµ).</Text>
+<Text id="171">ÐÐŸÑÑÐŽÐŸÐº ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐŸÐ² Ð² ÐœÐ°Ð²ÐžÐ³Ð°ÑÐžÐŸÐœÐœÐŸÐ¹ Ð»ÐžÐœÐµÐ¹ÐºÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐž ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÐµÑ ÑÐŸÐŒÑ,ÐºÐŸÑÐŸÑÑÐ¹ Ð¿ÐŸÐºÐ°Ð·Ð°Ðœ Ð·ÐŽÐµÑÑ.Ð§ÑÐŸÐ±Ñ ÐžÐ·ÐŒÐµÐœÐžÑÑ Ð¿ÐŸÑÑÐŽÐŸÐº,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ, ÐºÐŸÑÐŸÑÑÐ¹ ÐÑ Ñ
+ÐŸÑÐžÑÐµ Ð¿ÐµÑÐµÐŒÐµÑÑÐžÑÑ, Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ <AutoText key="glidict::CDM.Move.Move_Up"/> ÐžÐ»Ðž <AutoText key="glidict::CDM.Move.Move_Down"/>.</Text>
+<Text id="172">ÐÐ»Ñ ÐŽÐ°Ð»ÑÐœÐµÐ¹ÑÐµÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž ÐŸÑÐœÐŸÑÐžÑÐµÐ»ÑÐœÐŸ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐŸÐ² ÑÐžÑÐ°Ð¹ÑÐµ Ð³Ð»Ð°Ð²Ñ 2 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone.</Text>
+</Section>
+</Section>
+<Section name="producingthecollection">
+<Title>
+<Text id="193">ÐÐŸÑÑÑÐŸÐµÐœÐžÐµ ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Text>
+</Title>
+<Text id="194">ÐÐŒÐµÑ ÑÐŸÐ±ÑÐ°ÐœÐœÑÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ ÐŽÐ»Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, Ð°ÐœÐœÐŸÑÐžÑÐŸÐ²Ð°Ð² ÐžÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒÐž Ðž ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÐ°Ð² ÐŽÐžÐ·Ð°Ð¹Ðœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž,ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÑÐµÐ¿ÐµÑÑ ÑÐŸÐ·ÐŽÐ°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ Greenstone. Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ±ÑÑÑÐœÑÐµÑÑÑ,ÐºÐ°Ðº ÑÑÐŸ ÑÐŽÐµÐ»Ð°ÑÑ.</Text>
+<Section name="thecreateview">
+<Title>
+<Text id="195">Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑ</Text>
+</Title>
+<Text id="196">Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ,ÑÑÐŸÐ±Ñ ÑÐŸÐ·ÐŽÐ°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ,Ð²ÑÐ¿ÐŸÐ»ÐœÑÑ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐœÑÐµ ÑÑÐµÐœÐ°ÑÐžÐž Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Greenstone ÐžÐ· ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž, ÐºÐŸÑÐŸÑÑÑ ÐÑ Ð¿ÐŸÐŽÐ³ÐŸÑÐŸÐ²ÐžÐ»Ðž. Ð©ÐµÐ»ÑÐŸÐº ÐœÐ° "ÐÐŸÑÑÑÐŸÐµÐœÐžÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž" ÐœÐ°ÑÐžÐœÐ°ÐµÑ Ð¿ÑÐŸÑÐµÑÑ ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÑÐµÐŒÑ, ÐºÐŸÑÐŸÑÐŸÐµ ÐŽÐ»Ñ ÑÑÐŸÐ³ÐŸ Ð¿ÐŸÑÑÐµÐ±ÑÐµÑÑÑ, Ð·Ð°Ð²ÐžÑÐžÑ ÐŸÑ ÑÐ°Ð·ÐŒÐµÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž ÑÐžÑÐ»Ð° ÑÐŸÐ·ÐŽÐ°Ð²Ð°ÐµÐŒÑÑ
+ ÐžÐœÐŽÐµÐºÑÐŸÐ² (ÐŽÐ»Ñ ÐŸÐ³ÑÐŸÐŒÐœÑÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÑÑÐŸ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐ°ÑÑ). ÐÐœÐŽÐžÐºÐ°ÑÐŸÑ Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœÐžÑ ÑÐºÐ°Ð·ÑÐ²Ð°ÐµÑ, ÐœÐ°ÑÐºÐŸÐ»ÑÐºÐŸ Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœ Ð¿ÑÐŸÑÐµÑÑ. Ð§ÑÐŸÐ±Ñ ÐŸÑÐŒÐµÐœÐžÑÑ Ð¿ÑÐŸÑÐµÑÑ Ð² Ð»ÑÐ±ÐŸÐµ Ð²ÑÐµÐŒÑ, ÐœÐ°Ð¶ÐŒÐžÑÐµ "ÐÑÐŒÐµÐœÐ° Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÑ".</Text>
+<Text id="196a">ÐÐŸ ÑÐµÐ»ÑÐºÑ ÐœÐ° "Ð¡Ð±ÐŸÑÐºÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž" ÐœÐ°ÑÐžÐœÐ°ÐµÑÑÑ Ð¿ÑÐŸÑÐµÑÑ ÑÐ±ÐŸÑÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÑÐµÐŒÑ, ÐºÐŸÑÐŸÑÐŸÐµ ÐŸÐœ Ð·Ð°Ð¹ÐŒÐµÑ, Ð·Ð°Ð²ÐžÑÐžÑ ÐŸÑ ÑÐ°Ð·ÐŒÐµÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž ÐºÐŸÐ»ÐžÑÐµÑÑÐ²Ð° ÑÐŸÐ·ÐŽÐ°Ð²Ð°ÐµÐŒÑÑ
+ ÐžÐœÐŽÐµÐºÑÐŸÐ² (ÐŽÐ»Ñ ÐŸÐ³ÑÐŸÐŒÐœÑÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÑÑÐŸ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ°ÑÐŸÐ²). ÐÐ°ÐœÐµÐ»Ñ Ð¿ÑÐŸÐ³ÑÐµÑÑÐ° Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ, ÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ°Ð±ÐŸÑÑ ÑÐŽÐµÐ»Ð°ÐœÐŸ. ÐÑÐŸÑÐµÑÑ ÐŒÐŸÐ¶ÐœÐŸ Ð¿ÑÐµÑÐ²Ð°ÑÑ Ð² Ð»ÑÐ±ÐŸÐµ Ð²ÑÐµÐŒÑ, ÐŽÐ»Ñ ÑÑÐŸÐ³ÐŸ ÐœÐ°Ð¶ÐŒÐžÑÐµ "ÐÑÐŒÐµÐœÐžÑÑ ÑÐ±ÐŸÑÐºÑ". ÐÐžÐ¶ÐœÑÑ ÑÐ°ÑÑÑ Ð¿Ð°ÐœÐµÐ»Ðž Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ Ð²ÑÐ²ÐŸÐŽ ÑÐŸÐŸÐ±ÑÐµÐœÐžÐ¹ Ð¿ÑÐŸÑÐµÑÑÐ° ÑÐ±ÐŸÑÐºÐž. ÐÐµÑÑ
+ÐœÑÑ ÑÐ°ÑÑÑ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐœÐµÐºÐŸÑÐŸÑÑÐµ ÐŸÐ¿ÑÐžÐž ÐŽÐ»Ñ ÐºÐŸÐœÑÑÐŸÐ»Ñ Ð¿ÑÐŸÑÐµÑÑÐ° ÑÐ±ÐŸÑÐºÐž.  </Text>
+<Text id="197">ÐÐ°Ð¶Ð°Ð² ÐœÐ° "ÐÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÑÐ¹ Ð¿ÑÐŸÑÐŒÐŸÑÑ" Ð¿ÐŸÑÐ»Ðµ ÑÐŸÐ³ÐŸ, ÐºÐ°Ðº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð±ÑÐ»Ð° ÑÑÐ¿ÐµÑÐœÐŸ ÑÐŸÐ±ÑÐ°ÐœÐ°, ÐŒÐŸÐ¶ÐœÐŸ ÐŸÑÐºÑÑÑÑ Ð²ÐµÐ±-Ð±ÑÐ°ÑÐ·ÐµÑ Ñ Ð³Ð»Ð°Ð²ÐœÐŸÐ¹ ÑÑÑÐ°ÐœÐžÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.</Text>
+</Section>
+<Section name="builderrors">
+<Title>
+<Text id="199a">ÐÑÐžÐ±ÐºÐž Ð² Ð¿ÑÐŸÑÐµÑÑÐµ ÑÐ±ÐŸÑÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Text>
+</Title>
+<Text id="199b">ÐÐœÐŸÐ³ÐŽÐ° Ð² Ð¿ÑÐŸÑÐµÑÑÐµ ÑÐ±ÐŸÑÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÑÑÐŸ-ÑÐŸ ÐŒÐŸÐ¶ÐµÑ Ð¿ÐŸÐ¹ÑÐž ÐœÐµ ÑÐ°Ðº. ÐÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ, ÐœÐµÐºÐŸÑÐŸÑÑÐµ ÑÐ°Ð¹Ð»Ñ ÐœÐµÐ»ÑÐ·Ñ ÐŸÐ±ÑÐ°Ð±ÐŸÑÐ°ÑÑ: ÐŸÑÑÐ°Ð²ÑÐ°ÑÑÑ ÑÐ°ÑÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÑÐŸÐ±ÑÐ°Ð»Ð°ÑÑ ÑÑÐ¿ÐµÑÐœÐŸ, Ðž ÐµÐµ ÑÐ¶Ðµ ÐŒÐŸÐ¶ÐœÐŸ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ, ÐœÐŸ ÐœÐµÐºÐŸÑÐŸÑÑÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ Ð² ÐœÐµÐ¹ ÐŸÑÑÑÑÑÑÐ²ÑÑÑ. ÐÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ, ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐœÐµ ÑÐŸÐ±ÑÐ°Ð»Ð°ÑÑ ÑÐŸÐ²ÑÐµÐŒ, Ð² ÑÑÐŸÐŒ ÑÐ»ÑÑÐ°Ðµ Ð¿ÐŸÑÐ²ÐžÑÑÑ ÑÐŸÐŸÐ±ÑÐµÐœÐžÐµ <AutoText key="glidict::CollectionManager.Cannot_Create_Collection"/> ÐÐŸÐ³ÐŽÐ° ÑÐ°ÐºÐŸÐµ ÑÐ»ÑÑÐ°ÐµÑÑÑ, Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ, Ð±ÑÐŽÐµÑ Ð¿ÐŸÐ»ÐµÐ·ÐœÑÐŒ Ð¿ÐµÑÐµÐ¹ÑÐž Ð² ÑÐºÑÐ¿ÐµÑÑÐœÑÐ¹ ÑÐµÐ¶ÐžÐŒ GLI (Ð€Ð°Ð¹Ð»->ÐÐ°ÑÑÑÐŸÐ¹ÐºÐž->Ð ÐµÐ¶ÐžÐŒ, ÑÐŒ. <Reference target="preferences"/>), ÑÑÑÐ°ÐœÐŸÐ²ÐžÑÑ ÐŸÐ¿ÑÐžÑ ÐŸÐ¿ÑÐžÑ ÑÐ±ÐŸÑÐºÐž "ÐŒÐœÐŸÐ³ÐŸÑÐ»ÐŸÐ²ÐœÐŸÑÑÑ (verbosity)" ÐœÐ° 5 Ðž Ð²ÐºÐ»ÑÑÐžÑÑ Ð¿ÐµÑÐµÑÐ±ÐŸÑÐºÑ ÐŽÐ»Ñ ÑÐŸÐ³ÐŸ, ÑÑÐŸÐ±Ñ ÑÐ²ÐžÐŽÐµÑÑ Ð²ÑÐµ ÑÐŸÐŸÐ±ÑÐµÐœÐžÑ ÐŸÐ± ÐŸÑÐžÐ±ÐºÐ°Ñ
+.  </Text>
+</Section>
+<Section name="expertbuilding">
+<Title>
+<Text id="198a">Ð¡ÐŸÐ·ÐŽÐ°ÑÑ Ð²ÐžÐŽ Ð² ÑÐµÐ¶ÐžÐŒÐµ ÑÐºÑÐ¿ÐµÑÑÐ°</Text>
+</Title>
+<Text id="198">Ð ÐŒÐŸÐŽÑÑÐµ Ð­ÐºÑÐ¿ÐµÑÑ Ð²Ñ ÐŒÐŸÐ¶ÐµÑÐµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ Ð·Ð°Ð¿ÐžÑÑ "ÐÐŸÐ³ Ð¡ÐŸÐŸÐ±ÑÐµÐœÐžÐ¹" ÑÐ»ÐµÐ²Ð°, ÑÑÐŸÐ±Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ, Ð±ÑÐ»Ðž Ð»Ðž Ð¿ÑÐµÐŽÑÐŽÑÑÐžÐµ Ð¿ÐŸÐ¿ÑÑÐºÐž ÑÐºÐŸÐœÑÑÑÑÐžÑÐŸÐ²Ð°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÑÑÐ¿ÐµÑÐœÑ ÐžÐ»Ðž ÐœÐµÑ. ÐÑÐ±ÐµÑÐžÑÐµ Ð¶ÐµÐ»Ð°ÐµÐŒÑÑ Ð·Ð°Ð¿ÐžÑÑ,ÑÐµÐ»ÐºÐ°Ñ Ð¿ÐŸ Ð²ÑÐ±ÑÐ°ÐœÐœÐŸÐ¹ ÐŽÐ°ÑÐµ Ð² ÑÐ¿ÐžÑÐºÐµ "ÐÑÑÐŸÑÐžÑ Ð·Ð°Ð¿ÐžÑÐž".</Text>
+<Text id="200a">Ð ÑÑÐŸÐŒ ÑÐµÐ¶ÐžÐŒÐµ Ð¿ÐŸÐºÐ°Ð·Ð°Ðœ Ð¿ÐŸÐ»ÐœÑÐ¹ ÑÐ¿ÐžÑÐŸÐº ÐŸÐ¿ÑÐžÐ¹ ÐžÐŒÐ¿ÐŸÑÑÐ° Ðž ÑÐ±ÐŸÑÐºÐž, Ð², ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐµÐœÐœÐŸ, Ð²ÐºÐ»Ð°ÐŽÐºÐ°Ñ
+ Â«ÐÐŒÐ¿ÐŸÑÑÂ» Ðž Â«Ð¡Ð±ÐŸÑÐºÐ°Â» ÑÐ»ÐµÐ²Ð°. Ð Ð°Ð·Ð»ÐžÑÐœÑÐµ ÐœÐ°ÑÑÑÐŸÐ¹ÐºÐž ÑÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÑÑÑÑ ÑÐ°Ðº Ð¶Ðµ, ÐºÐ°Ðº Ðž Ð² ÐŸÐºÐœÐµ "ÐÐ°ÑÑÑÐŸÐ¹ÐºÐ° Ð°ÑÐ³ÑÐŒÐµÐœÑÐŸÐ²", ÐŸÐ¿ÐžÑÐ°ÐœÐœÐŸÐŒ Ð² ÑÐµÐºÑÐžÐž <Reference target="plugins"/>. ÐÐµÐºÐŸÑÐŸÑÑÐµ Ð¿ÐŸÐ»Ñ ÑÑÐµÐ±ÑÑÑ ÑÐžÑÐ»ÐµÐœÐœÑÑ
+ Ð°ÑÐ³ÑÐŒÐµÐœÑÐŸÐ²: ÐžÑ
+ ÐŒÐŸÐ¶ÐœÐŸ ÐœÐ°Ð±ÐžÑÐ°ÑÑ Ð²ÑÑÑÐœÑÑ Ð»ÐžÐ±ÐŸ ÑÐ²ÐµÐ»ÐžÑÐžÐ²Ð°ÑÑ ÐžÐ»Ðž ÑÐŒÐµÐœÑÑÐ°ÑÑ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÑÑÑÐµÐ»ÐŸÐº Â«ÐÐ²ÐµÑÑ
+Â» Ðž Â«ÐÐœÐžÐ·Â» ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐµÐœÐœÐŸ (Ð² ÐœÐµÐºÐŸÑÐŸÑÑÑ
+ ÑÐ»ÑÑÐ°ÑÑ
+ Ð² ÐžÐœÑÐµÑÑÐµÐ¹ÑÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŸÐ³ÑÐ°ÐœÐžÑÐµÐœ Ð²Ð²ÐŸÐŽÐžÐŒÑÐ¹ ÐŽÐžÐ°Ð¿Ð°Ð·ÐŸÐœ). ÐÑÑÐ³ÐžÐµ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ Ð²ÐºÐ»ÑÑÐµÐœÑ Ð¿ÐŸÐŒÐµÑÐºÐŸÐ¹ ÑÐ»Ð°Ð¶ÐºÐ° (ÑÐµÐ»ÐºÐœÐžÑÐµ ÐµÑÐµ ÑÐ°Ð· ÐŽÐ»Ñ ÐŸÑÐºÐ»ÑÑÐµÐœÐžÑ).  </Text>
+<Text id="201a">ÐÐ»Ñ Ð¿ÐŸÐ»ÑÑÐµÐœÐžÑ Ð±ÐŸÐ»ÐµÐµ Ð¿ÐŸÐ»ÐœÐŸÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž ÐŸÐ± ÐžÐŒÐ¿ÐŸÑÑÐµ Ðž ÑÐ±ÐŸÑÐºÐµ Ð¿ÑÐŸÑÐžÑÐ°Ð¹ÑÐµ  ÐÐ»Ð°Ð²Ñ 1 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone (Greenstone Developer's Guide) â ÐÐŸÐœÑÑÐžÐµ ÐŸ Ð¿ÑÐŸÑÐµÑÑÐµ ÑÐ±ÐŸÑÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.  </Text>
+</Section>
+<Section name="scheduledbuilding">
+<Title>
+<Text id="sched-1">ÐÐ»Ð°ÐœÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Text>
+</Title>
+<Text id="sched-2">ÐÐ°Ð¿Ð»Ð°ÐœÐžÑÐŸÐ²Ð°ÐœÐŸÐµ Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž  ÐŽÐŸÑÑÑÐ¿ÐœÐŸ Ð² ÑÐºÑÐ¿ÐµÑÑÐœÐŸÐŒ ÑÐµÐ¶ÐžÐŒÐµ. ÐÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸ ÐœÐµÐºÐŸÑÐŸÑÐŸÐµ ÐºÐŸÐœÑÐžÐ³ÑÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ, Ð¿ÑÐµÐ¶ÐŽÐµ ÑÐµÐŒ ÑÑÐŸ ÐœÐ°ÑÐœÐµÑ ÑÐ°Ð±ÐŸÑÐ°ÑÑ, ÑÐŒ.Ð¿ÐŸÐŽÑÐŸÐ±ÐœÐŸÑÑÐž Ð²  http://wiki.greenstone.org/wiki/index.php/Scheduled_Collection_Building_from_the_Librarian_Interface. Ð Ð·Ð°ÐºÐ»Ð°ÐŽÐºÐµ Ð¡ÐŸÐ·ÐŽÐ°ÑÑ<AutoText key="glidict::CreatePane.Schedule"/> Ñ Ð»ÐµÐ²ÐŸÐ¹ ÑÑÐŸÑÐŸÐœÑ ÐŸÑÐŸÐ±ÑÐ°Ð¶Ð°ÐµÑÑÑ ÑÐ¿ÐžÑÐŸÐº Ð²Ð°ÑÐžÐ°ÐœÑÐŸÐ² ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ Ð¿ÑÐŸÑÐµÑÑÐŸÐŒ Ð¿Ð»Ð°ÐœÐžÑÐŸÐ²Ð°ÐœÐžÑ. ÐÐ¿ÑÐžÑ "Ð³ÑÐ°ÑÐžÐº" ÐŽÐŸÐ»Ð¶ÐœÐ° Ð±ÑÑÑ ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœÐ° ÐŽÐ»Ñ ÐœÐ°ÑÑÑÐŸÐµÐº Ð¿Ð»Ð°ÐœÐžÑÐŸÐ²Ð°ÐœÐžÑ. ÐÑÑÐ³ÐžÐµ Ð²Ð°ÑÐžÐ°ÐœÑÑ Ð²ÐºÐ»ÑÑÐ°ÑÑ: ÑÐ°ÑÑÐŸÑÑ ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ, ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÐµ ÐžÐ»Ðž ÑÐŽÐ°Ð»ÐµÐœÐžÐµ ÐœÐŸÐ²ÐŸÐ³ÐŸ Ð³ÑÐ°ÑÐžÐºÐ°, Ð° ÑÐ°ÐºÐ¶Ðµ Ð¿ÐŸÐŽÑÐŸÐ±ÐœÐŸÑÑÐž Ð¿ÐŸ ÑÐ».Ð¿ÐŸÑÑÐŸÐ¹, ÐµÑÐ»Ðž Ð²Ñ Ñ
+ÐŸÑÐžÑÐµ Ð¿ÐŸÐ»ÑÑÐ°ÑÑ ÑÐ°ÐºÐžÐµ ÑÐ²ÐµÐŽÐŸÐŒÐ»ÐµÐœÐžÑ Ð¿ÐŸ ÑÐ»ÐµÐºÑÑÐŸÐœÐœÐŸÐ¹ Ð¿ÐŸÑÑÐµ.</Text>
+</Section>
+</Section>
+<Section name="formattingacollection">
+<Title>
+<Text id="fc-1">ÐÐ°ÑÑÑÐŸÐ¹ÐºÐ° Ð²ÐœÐµÑÐœÐµÐ³ÐŸ Ð²ÐžÐŽÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Text>
+</Title>
+<Text id="fc-2">ÐÐŸÑÐ»Ðµ ÑÐ±ÐŸÑÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð²Ñ ÐŽÐŸÐ»Ð¶ÐœÑ ÑÐµÑÐžÑÑ, ÐºÐ°Ðº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐŽÐŸÐ»Ð¶ÐœÐ° Ð±ÑÑÑ Ð¿ÐŸÐºÐ°Ð·Ð°ÐœÐ° Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ. ÐÐ°ÐºÐžÐµ ÐœÐ°Ð·Ð²Ð°ÐœÐžÑ ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ Ð² ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐŒ ÑÐ¿ÐžÑÐºÐµ ÐžÐœÐŽÐµÐºÑÐŸÐ² ÐœÐ° ÑÐŸÑÐŒÐµ Ð¿ÐŸÐžÑÐºÐ°? ÐÐ°Ðº ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ ÐŸÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÑ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÑ Ð¿ÐŸÐžÑÐºÐ°? ÐÐ°ÐºÐžÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ Ð¿ÐŸÐºÐ°Ð·Ð°ÐœÑ Ð¿ÑÐž Ð¿ÑÐŸÑÐŒÐŸÑÑÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°? ÐÑÐµ ÑÑÐŸ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐœÐ°ÑÑÑÐŸÐµÐœÐŸ; ÑÑÐ° ÑÐµÐºÑÐžÑ ÐŸÐ±ÑÑÑÐœÑÐµÑ, ÐºÐ°Ðº ÑÑÐŸ ÑÐŽÐµÐ»Ð°ÑÑ.</Text>
+<Section name="theformatview">
+<Title>
+<Text id="fc-3">ÐÐžÐŽ Â«Ð€ÐŸÑÐŒÐ°ÑÂ»</Text>
+</Title>
+<Text id="fc-4">Ð­ÑÐ° ÑÐµÐºÑÐžÑ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÑÐµÑ Ð²ÐžÐŽ Â«Ð€ÐŸÑÐŒÐ°ÑÂ» Ðž ÐŸÐ±ÑÑÑÐœÑÐµÑ, ÐºÐ°Ðº ÐŸÑÑÑÐµÑÑÐ²Ð»ÑÑÑ ÐœÐ°Ð²ÐžÐ³Ð°ÑÐžÑ ÐŒÐµÐ¶ÐŽÑ ÑÐ°Ð·Ð»ÐžÑÐœÑÐŒÐž Ð²ÐžÐŽÐ°ÐŒÐž ÐœÐ° ÑÑÐŸÐ¹ Ð¿Ð°ÐœÐµÐ»Ðž.</Text>
+<Text id="fc-5">Ð ÐžÐœÑÐµÑÑÐµÐ¹ÑÐµ ÐÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ°ÑÑ ÐŒÐŸÐ¶ÐœÐŸ ÑÑÑÐ°ÐœÐŸÐ²ÐžÑÑ, ÐºÐ°Ðº Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ Ð±ÑÐŽÐµÑ Ð²ÐžÐŽÐµÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ. ÐÐ¿ÑÐžÐž ÐœÐ°ÑÑÑÐŸÐ¹ÐºÐž ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÑ ÐœÐ° ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÐµÐºÑÐžÐ¹, ÐºÐ°Ð¶ÐŽÑÐ¹ ÐžÐ· ÐºÐŸÑÐŸÑÑÑ
+ ÑÐ²ÑÐ·Ð°Ðœ Ñ ÑÐ°Ð·Ð»ÐžÑÐœÑÐŒÐž ÑÐžÐ¿Ð°ÐŒÐž ÐœÐ°ÑÑÑÐŸÐ¹ÐºÐž.</Text>
+<Text id="fc-6">Ð¡Ð»ÐµÐ²Ð° ÐµÑÑÑ ÑÐ¿ÐžÑÐŸÐº Ð²ÐžÐŽÐŸÐ², Ð° ÑÐ¿ÑÐ°Ð²Ð° â ÑÐ»ÐµÐŒÐµÐœÑÑ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ, Ð¿ÑÐžÐœÐ°ÐŽÐ»ÐµÐ¶Ð°ÑÐžÐµ ÑÐµÐºÑÑÐµÐŒÑ. ÐÐ»Ñ Ð¿ÐµÑÐµÐºÐ»ÑÑÐµÐœÐžÑ ÐœÐ° ÐŽÑÑÐ³ÐŸÐ¹ Ð²ÐžÐŽ ÑÐµÐ»ÐºÐœÐžÑÐµ ÐµÐ³ÐŸ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµ Ð² ÑÐ¿ÐžÑÐºÐµ.</Text>
+<Text id="fc-7">ÐÐŸÐŽ ÑÐ¿ÐžÑÐºÐŸÐŒ Ð²ÐžÐŽÐŸÐ² ÐµÑÑÑ ÐºÐœÐŸÐ¿ÐºÐ° Â«ÐÑÐµÐŽÐ¿ÑÐŸÑÐŒÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐžÂ». ÐÐ·ÐŒÐµÐœÐµÐœÐžÑ, ÑÐŽÐµÐ»Ð°ÐœÐœÑÐµ Ð² Ð²ÐžÐŽÐµ Â«Ð€ÐŸÑÐŒÐ°ÑÂ» ÐœÐµ ÑÑÐµÐ±ÑÑÑ Ð¿ÐµÑÐµÑÐ±ÐŸÑÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, Ð¿ÐŸÑÑÐŸÐŒÑ ÐžÑ
+ ÑÑÐ°Ð·Ñ ÐŒÐŸÐ¶ÐœÐŸ ÐŸÑÑÐ»ÐµÐŽÐžÑÑ. ÐÐŸ ÐŽÐ»Ñ Ð¿ÑÐµÐŽÐ¿ÑÐŸÑÐŒÐŸÑÑÐ° ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸ, ÑÑÐŸÐ±Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð±ÑÐ»Ð° ÑÐŸÐ±ÑÐ°ÐœÐ° Ñ
+ÐŸÑÑ Ð±Ñ ÐŸÐŽÐžÐœ ÑÐ°Ð·.</Text>
+</Section>
+<Section name="generalsettings">
+<Title>
+<Text id="117">ÐÐ±ÑÐµÐµ</Text>
+</Title>
+<Text id="118">Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ±ÑÑÑÐœÑÐµÑÑÑ,ÐºÐ°Ðº Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ Ðž ÐžÐ·ÐŒÐµÐœÐžÑÑ ÐŸÐ±ÑÐžÐµ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž, ÐŸÑÐœÐŸÑÑÑÐžÐµÑÑ Ðº ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.Ð¡ÐœÐ°ÑÐ°Ð»Ð° Ð² "Ð Ð°Ð·ÐŽÐµÐ»Ð°Ñ
+ ÐŽÐžÐ·Ð°Ð¹ÐœÐ°" ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐ±ÑÐžÐµ"</Text>
+<Text id="119">ÐÐŽÐµÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÑ,Ð¿ÑÐµÐŽÑÑÐŒÐŸÑÑÐµÐœÐœÑÐµ Ð¿ÑÐž ÑÐŸÐ·ÐŽÐ°ÐœÐžÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž,ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐžÐ·ÐŒÐµÐœÐµÐœÑ.</Text>
+<Text id="120">Ð¡ÐœÐ°ÑÐ°Ð»Ð° ÐžÐŽÑÑ ÐºÐŸÐœÑÐ°ÐºÑÐœÑÐµ Ð°ÐŽÑÐµÑÐ° ÑÐ»ÐµÐºÑÑÐŸÐœÐœÐŸÐ¹ Ð¿ÐŸÑÑÑ ÑÐŸÐ·ÐŽÐ°ÑÐµÐ»Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž Ð¿ÐŸÐŽÐŽÐµÑÐ¶ÐžÐ²Ð°ÑÑÐµÐ³ÐŸ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð»ÐžÑÐ°. Ð¡Ð»ÐµÐŽÑÑÑÐµÐµ Ð¿ÐŸÐ»Ðµ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ ÐÐ°ÐŒ ÐžÐ·ÐŒÐµÐœÑÑÑ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. Ð¡Ð»ÐµÐŽÑÑÐµÐµ ÑÐºÐ°Ð·ÑÐ²Ð°ÐµÑ Ð¿Ð°Ð¿ÐºÑ, Ð² ÐºÐŸÑÐŸÑÐŸÐ¹ ÑÐŸÑ
+ÑÐ°ÐœÐµÐœÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÐœÐŸ ÐœÐµ Ð¿ÐŸÐŽÐ»ÐµÐ¶ÐžÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑÐŒ. Ð¡Ð»ÐµÐŽÑÑÑÐµÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÐµÑ (Ð² ÑÐŸÑÐŒÐµ URL) ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ,ÑÑÐŸÐ±Ñ Ð¿ÐŸÐºÐ°Ð·Ð°ÑÑ ÐœÐ°Ð²ÐµÑÑ
+Ñ ÑÐ»ÐµÐ²Ð° ÐŸÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÑÑÑÐ°ÐœÐžÑÑ ÐŸ ÐœÐµÐ¹, Ðž ÑÐ»ÐµÐŽÑÑÑÐµÐµ - ÐžÐºÐŸÐœÐºÐ°, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÐ°Ñ Ð² Greenstone ÑÑÑÐ°ÐœÐžÑÐ° ÐŽÐ»Ñ ÑÐ²ÑÐ·Ðž Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐµÐ¹. ÐÐŸÑÐ»Ðµ ÑÑÐŸÐ³ÐŸ, Ð²Ñ ÑÐŒÐŸÐ¶ÐµÑÐµ Ð²ÑÐŽÐµÐ»ÐžÑÑ Ð¿ÑÐœÐºÑ Ð³Ð°Ð»ÐŸÑÐºÐŸÐ¹, ÑÐºÐ°Ð·Ð°Ð², ÐŽÐŸÑÑÑÐ¿ÐœÐ° Ð»Ðž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐŽÑÑÐ³ÐžÐŒ. ÐÐ°ÐºÐŸÐœÐµÑ, ÑÐ»ÐµÐŽÑÐµÑ ÐŸÐ±Ð»Ð°ÑÑÑ ÑÐµÐºÑÑÐ° "ÐÐ¿ÐžÑÐ°ÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž",Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐœÐ°Ñ ÑÐ°ÐœÐµÐµ Ð² <Reference target="creatingacollection"/>.</Text>
+</Section>
+<Section name="searchmetadatasettings">
+<Title>
+<Text id="fc-s1">ÐÐŸÐžÑÐº</Text>
+</Title>
+<Text id="fc-s2">Ð­ÑÐ° ÑÐµÐºÑÐžÑ ÐŸÐ±ÑÑÑÐœÑÐµÑ, ÐºÐ°Ðº ÑÑÑÐ°ÐœÐŸÐ²ÐžÑÑ ÐŸÑÐŸÐ±ÑÐ°Ð¶Ð°ÐµÐŒÑÐ¹ ÑÐµÐºÑÑ ÐŽÐ»Ñ ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐžÑ
+ ÑÐ¿ÐžÑÐºÐŸÐ² ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ Ð¿ÐŸÐžÑÐºÐ°. ÐÐŸÐŽ Ð²ÐºÐ»Ð°ÐŽÐºÐŸÐ¹ Â«Ð€ÐŸÑÐŒÐ°ÑÂ» ÐœÐ°Ð¶ÐŒÐžÑÐµ Â«ÐÐŸÐžÑÐºÂ».</Text>
+<Text id="fc-s3">Ð­ÑÐ° Ð¿Ð°ÐœÐµÐ»Ñ ÑÐŸÐŽÐµÑÐ¶ÐžÑ ÑÐ°Ð±Ð»ÐžÑÑ Ð²ÑÐµÑ
+ Ð¿ÐŸÐžÑÐºÐŸÐ²ÑÑ
+ ÐžÐœÐŽÐµÐºÑÐŸÐ², ÑÑÐŸÐ²ÐµÐœÑ ÐžÐœÐŽÐµÐºÑÐ° (ÐŽÐ»Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ MGPP ÐžÐ»Ðž Lucene), Ðž ÑÐ°Ð·ÐŽÐµÐ» ÐžÐœÐŽÐµÐºÑÐ°/ÑÐ·ÑÐºÐ°. ÐÐŽÐµÑÑ ÐŒÐŸÐ¶ÐœÐŸ Ð²Ð²ÐŸÐŽÐžÑÑ ÑÐµÐºÑÑ, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÑÐ¹ Ð² ÑÐ°Ð·ÐœÑÑ
+ Ð²ÑÐ¿Ð°ÐŽÐ°ÑÑÐžÑ
+ ÑÐ¿ÐžÑÐºÐ°Ñ
+ ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ Ð¿ÐŸÐžÑÐºÐ°. Ð­ÑÐ° Ð¿Ð°ÐœÐµÐ»Ñ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ ÑÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÑÑ ÑÐµÐºÑÑ ÑÐŸÐ»ÑÐºÐŸ ÐŽÐ»Ñ ÐŸÐŽÐœÐŸÐ³ÐŸ ÑÐ·ÑÐºÐ° â ÑÐŸÐ³ÐŸ, ÐºÐŸÑÐŸÑÑÐ¹ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑ GLI. ÐÐ»Ñ Ð¿ÐµÑÐµÐ²ÐŸÐŽÐ° ÑÑÐžÑ
+ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐ¹ ÐœÐ° ÐŽÑÑÐ³ÐžÐµ ÑÐ·ÑÐºÐž, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÐŸÑÐŽÐµÐ» ÐÐµÑÐµÐ²ÐµÑÑÐž ÑÐµÐºÑÑ (Translate Text) Ð²ÐžÐŽÐ° Ð€ÐŸÑÐŒÐ°Ñ (Format) (ÑÐŒ. <Reference target="translatetext"/>).</Text>
+</Section>
+<Section name="formatstatements">
+<Title>
+<Text id="173">ÐÑÐŸÐ±ÐµÐœÐœÐŸÑÑÐž ÑÐŸÑÐŒÐ°ÑÐ°</Text>
+</Title>
+<Text id="174">ÐÐµÐ±-ÑÑÑÐ°ÐœÐžÑÑ, ÐºÐŸÑÐŸÑÑÐµ ÐÑ Ð²ÐžÐŽÐžÑÐµ, ÐºÐŸÐ³ÐŽÐ° ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÐµ Greenstone, ÐœÐµ ÑÐ²Ð»ÑÑÑÑÑ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ ÑÐŸÑ
+ÑÐ°ÐœÐµÐœÐœÑÐŒÐž, Ð° ÑÐŸÐ·ÐŽÐ°ÑÑÑÑ "ÐœÐ° Ð»ÐµÑÑ", ÐºÐŸÐ³ÐŽÐ° Ð² ÐœÐžÑ
+ ÐµÑÑÑ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸÑÑÑ. ÐÐŸÐŒÐ°ÐœÐŽÑ ÑÐŸÑÐŒÐ°ÑÐ° ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑÑÑ ÐŽÐ»Ñ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ Ð¿ÐŸÑÐ²Ð»ÐµÐœÐžÑ ÑÑÐžÑ
+ ÑÐ³ÐµÐœÐµÑÐžÑÐŸÐ²Ð°ÐœÐœÑÑ
+ ÑÑÑÐ°ÐœÐžÑ. ÐÐœÐž Ð·Ð°ÑÑÐ°Ð³ÐžÐ²Ð°ÑÑ ÑÐ°ÐºÐžÐµ Ð²ÐµÑÐž,ÐºÐ°Ðº ÐŒÐµÑÑÐŸ Ð¿ÐŸÑÐ²Ð»ÐµÐœÐžÑ ÐºÐœÐŸÐ¿ÐºÐž,ÐºÐŸÐ³ÐŽÐ° ÐŽÐŸÐºÑÐŒÐµÐœÑ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑÑÑ,Ðž ÐºÐ°ÐºÐžÐµ ÑÐ²ÑÐ·Ðž ÐŸÑÐŸÐ±ÑÐ°Ð¶Ð°ÑÑÑÑ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÐŸÐŒ DateList. ÐÐŸÐŒÐ°ÐœÐŽÑ ÑÐŸÑÐŒÐ°ÑÐ° ÐœÐµ Ð»ÐµÐ³ÐºÐŸ ÑÐ°Ð·ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÑÑ,Ðž ÐÑ ÐŽÐŸÐ»Ð¶ÐœÑ Ð¿ÑÐŸÑÐžÑÐ°ÑÑ Ð³Ð»Ð°Ð²Ñ 2 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone. Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ±ÑÑÐ¶ÐŽÐ°ÑÑÑÑ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž ÑÐŸÑÐŒÐ°ÑÐ° Ðž ÑÐŸ, ÐºÐ°Ðº ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ Ð¿ÑÐµÐŽÐŸÑÑÐ°Ð²Ð»ÑÐµÑ ÐŽÐŸÑÑÑÐ¿ Ðº ÐœÐžÐŒ. Ð "Ð Ð°Ð·ÐŽÐµÐ»Ð°Ñ
+ ÐŽÐžÐ·Ð°Ð¹ÐœÐ°" ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÑÐŸÐ±ÐµÐœÐœÐŸÑÑÐž ÑÐŸÑÐŒÐ°ÑÐ°".</Text>
+<Text id="175">ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð¿ÑÐžÐŒÐµÐœÐžÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ ÑÐŸÑÐŒÐ°ÑÐ° Ðº ÑÐµÐŒÑ-ÐœÐžÐ±ÑÐŽÑ Ð² ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐŒ ÑÐ¿ÐžÑÐºÐµ "ÐÑÐ±ÐŸÑ ÑÑÐµÐŽÑÑÐ²",ÐºÐŸÑÐŸÑÑÐ¹ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÐºÐ°Ð¶ÐŽÑÐ¹ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑ Ðž Ð²ÑÑÑÐŸÐµÐœÐœÑÐ¹ ÑÐ¿ÐžÑÐŸÐº ÑÑÐµÐŽÑÑÐ². ÐÐŸÐ³ÐŽÐ° ÐÑ Ð²ÑÐ±ÐžÑÐ°ÐµÑÐµ ÑÑÐµÐŽÑÑÐ²Ð°, ÐµÑÑÑ ÐŽÐ²Ð° ÑÐžÐ¿Ð° ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ. ÐÐµÐºÐŸÑÐŸÑÑÐµ ÑÑÐµÐŽÑÑÐ²Ð° ÑÐ²Ð»ÑÑÑÑÑ Ð¿ÑÐŸÑÑÐŸ ÐŽÐŸÑÑÑÐ¿ÐœÑÐŒÐž ÐžÐ»Ðž ÐœÐµÐŽÐŸÑÑÑÐ¿ÐœÑÐŒÐž,ÐŸÐœÐž ÑÐ¿ÑÐ°Ð²Ð»ÑÑÑÑÑ ÐºÐœÐŸÐ¿ÐºÐ°ÐŒÐž. ÐÑÑÐ³ÐžÐµ ÑÑÐµÐ±ÑÑÑ, ÑÑÐŸÐ±Ñ Ð±ÑÐ»Ð° ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐ° ÑÐŸÑÐŒÐ°ÑÐœÐ°Ñ ÑÑÑÐŸÐºÐ°. ÐÐ»Ñ ÐœÐžÑ
+ ÐžÐŒÐµÐµÑÑÑ ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐžÐ¹ ÑÐ¿ÐžÑÐŸÐº "ÐÐŸÐ·ÐŽÐµÐ¹ÑÑÐ²ÑÑÑÐžÐ¹ ÐºÐŸÐŒÐ¿ÐŸÐœÐµÐœÑ", ÑÑÐŸÐ±Ñ Ð²ÑÐ±ÑÐ°ÑÑ, Ðº ÐºÐ°ÐºÐŸÐ¹ ÑÐ°ÑÑÐž ÑÑÐµÐŽÑÑÐ² ÑÑÑÐŸÐºÐ° ÐŸÐ±ÑÐ°ÑÐ°ÐµÑÑÑ,ÐµÑÐ»Ðž ÑÑÐŸ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸ, ÐŸÐ±Ð»Ð°ÑÑÑ ÑÐµÐºÑÑÐ°   ("Ð¡ÑÑÐŸÐºÐ° ÑÐŸÑÐŒÐ°ÑÐ° HTML") ÐŽÐ»Ñ Ð²Ð²ÐŸÐŽÐ° ÑÑÑÐŸÐºÐž, Ðž Ð²ÑÐ±ÐŸÑ Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ "ÐÐµÑÐµÐŒÐµÐœÐœÑÑ
+". Ð§ÑÐŸÐ±Ñ Ð²ÑÑÐ°Ð²ÐžÑÑ Ð¿ÐµÑÐµÐŒÐµÐœÐœÑÑ Ð² ÑÐµÐºÑÑÑÑ Ð¿ÐŸÐ·ÐžÑÐžÑ Ð² ÑÐŸÑÐŒÐ°ÑÐœÑÑ ÑÑÑÐŸÐºÑ, Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÑ ÐžÐ· ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐ³ÐŸ ÑÐ¿ÐžÑÐºÐ°  Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÑÑÐ°Ð²ÐžÑÑ". </Text>
+<Text id="176">ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ ÑÐŸÑÐŒÐ°Ñ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ ÐŽÐ»Ñ ÑÐ¿ÐµÑÐžÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐºÐŸÐŒÐ¿ÐŸÐœÐµÐœÑÐ°, Ð²ÑÐ±ÐžÑÐ°Ñ Ð±Ð»Ð°ÐœÐº ÑÐ²ÐŸÐ¹ÑÑÐ². Ð­ÑÐŸÑ ÑÐŸÑÐŒÐ°Ñ Ð·Ð°ÑÐµÐŒ Ð¿ÑÐžÐŒÐµÐœÑÐµÑÑÑ ÐºÐŸ Ð²ÑÐµÐŒ Ð¿ÑÐžÐŒÐµÐœÐžÐŒÑÐŒ ÑÐ²ÐŸÐ¹ÑÑÐ²Ð°ÐŒ, ÐµÑÐ»Ðž ÐŽÑÑÐ³ÐŸÐµ ÐœÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐŸ.</Text>
+<Text id="177">Ð§ÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐœÐŸÐ²ÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ ÑÐŸÑÐŒÐ°ÑÐ°,Ð²ÐœÐµÑÐžÑÐµ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ,ÐºÐ°Ðº ÐŸÐ±ÑÑÑÐœÐµÐœÐŸ Ð²ÑÑÐµ, Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐŸÑÐŒÐ°Ñ".ÐÐŸÐ²Ð°Ñ ÐºÐŸÐŒÐ°ÐœÐŽÐ° ÑÐŸÑÐŒÐ°ÑÐ° Ð¿ÐŸÑÐ²Ð»ÑÐµÑÑÑ Ð² ÑÐ¿ÐžÑÐºÐµ "Ð¢ÐµÐºÑÑÐžÐµ Ð·Ð°ÐŽÐ°ÐœÐœÑÐµ ÐºÐŸÐŒÐ°ÐœÐŽÑ ÑÐŸÑÐŒÐ°ÑÐ°".Ð¢ÐŸÐ»ÑÐºÐŸ ÐŸÐŽÐœÐ° ÐºÐŸÐŒÐ°ÐœÐŽÐ° ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÑÐ²ÑÐ·Ð°ÐœÐ° Ñ ÐºÐ°Ð¶ÐŽÐŸÐ¹ ÐºÐŸÐŒÐ±ÐžÐœÐ°ÑÐžÐµÐ¹ ÑÐ²ÐŸÐ¹ÑÑÐ²ÐŸ/ÐºÐŸÐŒÐ¿ÐŸÐœÐµÐœÑ.</Text>
+<Text id="178">Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ ÑÐŸÑÐŒÐ°ÑÐ°, Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÑ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÐŸÑÐŒÐ°Ñ".</Text>
+<Text id="180">ÐÐ° ÐŽÐŸÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»ÑÐœÐŸÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐµÐ¹ ÐŸ Ð¿ÐµÑÐµÐŒÐµÐœÐœÑÑ
+ Ðž ÐºÐŸÐŒÐ¿ÐŸÐœÐµÐœÑÐ°Ñ
+ ÑÑÐµÐŽÑÑÐ² ÐŸÐ±ÑÐ°ÑÐžÑÐµÑÑ Ðº Ð³Ð»Ð°Ð²Ðµ 2 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone.</Text>
+</Section>
+<Section name="translatetext">
+<Title>
+<Text id="182">ÐÐµÑÐµÐ²ÐŸÐŽ ÑÐµÐºÑÑÐ°</Text>
+</Title>
+<Text id="183">Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ¿ÐžÑÑÐ²Ð°ÐµÑÑÑ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ Ð¿ÐµÑÐµÐ²ÐŸÐŽÐ°, Ð³ÐŽÐµ ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ ÑÐ·ÑÐº ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐœÑÑ
+ ÑÑÐ°Ð³ÐŒÐµÐœÑÐŸÐ² ÑÐµÐºÑÑÐ° ÐŽÐ»Ñ ÑÐ°ÑÑÐµÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. Ð "Ð Ð°Ð·ÐŽÐµÐ»Ðµ ÐŽÐžÐ·Ð°Ð¹ÐœÐ°" ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐµÑÐµÐ²ÐµÑÑÐž ÑÐµÐºÑÑ".</Text>
+<Text id="184">Ð¡ÐœÐ°ÑÐ°Ð»Ð° Ð²ÑÐ±ÐµÑÐžÑÐµ Ð²Ñ
+ÐŸÐŽ Ð² ÑÐ¿ÐžÑÐŸÐº "Ð¡Ð²ÐŸÐ¹ÑÑÐ²Ð°". ÐÐžÐ¶Ðµ Ð¿ÐŸÑÐ²ÑÑÑÑ ÑÑÑÐŸÐºÐž ÑÐ¿ÐµÑÐžÑÐžÑÐœÐŸÐ³ÐŸ ÑÐ·ÑÐºÐ°, ÑÐ²ÑÐ·Ð°ÐœÐœÑÐµ Ñ ÑÑÐžÐŒ ÑÐ²ÐŸÐ¹ÑÑÐ²ÐŸÐŒ. ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐžÐ¹ ÑÐ¿ÐžÑÐŸÐº "Ð¯Ð·ÑÐº Ð¿ÐµÑÐµÐ²ÐŸÐŽÐ°",ÑÑÐŸÐ±Ñ Ð²ÑÐ±ÑÐ°ÑÑ ÐœÐ°Ð·ÐœÐ°ÑÐµÐœÐœÑÐ¹ ÑÐ·ÑÐº Ðž Ð²Ð²ÐµÑÑÐž Ð¿ÐµÑÐµÐ²ÐµÐŽÐµÐœÐœÑÐ¹ ÑÐµÐºÑÑ Ð² ÐŸÐ±Ð»Ð°ÑÑÑ ÑÐµÐºÑÑÐ°, ÐŸÐ±ÑÐ°ÑÐ°ÑÑÑ Ðº "ÐÐ°ÑÐ°Ð»ÑÐœÐŸÐŒÑ ÑÑÐ°Ð³ÐŒÐµÐœÑÑ ÑÐµÐºÑÑÐ°",ÐµÑÐ»Ðž ÑÑÐŸ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸ. ÐÐŸ ÐŸÐºÐŸÐœÑÐ°ÐœÐžÐž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ Ð¿ÐµÑÐµÐ²ÐŸÐŽ".</Text>
+<Text id="185">Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐ¹ Ð¿ÐµÑÐµÐ²ÐŸÐŽ, Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ Ð² ÑÐ°Ð±Ð»ÐžÑÐµ "ÐÐ°ÐŽÐ°ÐœÐœÑÐµ Ð¿ÐµÑÐµÐ²ÐŸÐŽÑ" Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ Ð¿ÐµÑÐµÐ²ÐŸÐŽ".</Text>
+<Text id="186">Ð§ÑÐŸÐ±Ñ ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ Ð¿ÐµÑÐµÐ²ÐŸÐŽ, Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ, ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÑÐ¹ÑÐµ Ð² ÑÐµÐºÑÑÐŸÐ²ÐŸÐ¹ ÐŸÐ±Ð»Ð°ÑÑÐž "ÐÐµÑÐµÐ²ÐµÐŽÐµÐœÐœÑÐ¹ ÑÐµÐºÑÑ" Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐ°ÐŒÐµÐœÐžÑÑ Ð¿ÐµÑÐµÐ²ÐŸÐŽ".</Text>
+</Section>
+<Section name="xcollectionsearching">
+<Title>
+<Text id="161">ÐÐŸÐžÑÐº Ð² Ð¿ÐµÑÐµÑÐµÐºÐ°ÑÑÐžÑ
+ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑ
+</Text>
+</Title>
+<Text id="162">Greenstone Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐŽÐžÑÑ Ð¿ÐŸÐžÑÐº Ð² ÐœÐµÑÐºÐŸÐ»ÑÐºÐžÑ
+ ÑÐ°Ð·Ð»ÐžÑÐœÑÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑ
+, ÐºÐ°Ðº ÐµÑÐ»Ðž Ð±Ñ ÐŸÐœÐž Ð±ÑÐ»Ðž ÐŸÐ±ÑÐµÐŽÐžÐœÐµÐœÑ. Ð­ÑÐŸ ÑÐŽÐµÐ»Ð°ÐœÐŸ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÑÐºÐ°Ð·Ð°ÐœÐžÑ ÑÐ¿ÐžÑÐºÐ° ÐŽÑÑÐ³ÐžÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹, Ð² ÐºÐŸÑÐŸÑÑÑ
+ ÐŽÐŸÐ»Ð¶ÐœÐ° Ð±ÑÑÑ Ð¿ÑÐŸÐ²ÐµÐŽÐµÐœ Ð¿ÐŸÐžÑÐº Ð²ÐŒÐµÑÑÐµ Ñ ÐœÐ°ÑÑÐŸÑÑÐµÐ¹. Ð "Ð Ð°Ð·ÐŽÐµÐ»Ð°Ñ
+ ÐŽÐžÐ·Ð°Ð¹ÐœÐ°" ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐžÑÐº Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑ
+".</Text>
+<Text id="163">ÐÐµÐ¶ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐŸÐœÐœÑÐ¹ Ð¿ÐŸÐžÑÐº Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑ
+ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐºÐŸÐœÑÑÐŸÐ»ÑÐœÑÐ¹ ÑÐ¿ÐžÑÐŸÐº ÐŽÐŸÑÑÑÐ¿ÐœÑÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹.Ð¢ÐµÐºÑÑÐ°Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð¿ÐŸÐŒÐµÑÐµÐœÑ Ðž ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŸÑÑÐµÑÐœÐ°. Ð§ÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐŽÑÑÐ³ÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, Ð² ÐºÐŸÑÐŸÑÑÑ
+ Ð¿ÐŸÐžÑÐº Ð±ÑÐŽÐµÑ Ð¿ÑÐŸÐ²ÐŸÐŽÐžÑÑÑÑ Ð¿Ð°ÑÐ°Ð»Ð»ÐµÐ»ÑÐœÐŸ, ÑÐµÐ»ÐºÐœÐžÑÐµ ÐœÐ° ÐœÐžÑ
+ Ð² ÑÐ¿ÐžÑÐºÐµ (ÑÐµÐ»ÐºÐœÐžÑÐµ ÑÐœÐŸÐ²Ð°, ÑÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÐžÑ
+). ÐÑÐ»Ðž ÐŸÑÐŸÐ±ÑÐ°ÐœÐ° ÑÐŸÐ»ÑÐºÐŸ ÐŸÐŽÐœÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÑÐŸ ÐŒÐµÐ¶ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐŸÐœÐœÑÐ¹ Ð¿ÐŸÐžÑÐº ÐœÐµÐ²ÐŸÐ·ÐŒÐŸÐ¶ÐµÐœ.</Text>
+<Text id="164">ÐÑÐ»Ðž ÐžÐœÐŽÐžÐ²ÐžÐŽÑÐ°Ð»ÑÐœÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐœÐµ ÐžÐŒÐµÑÑ ÐŸÐŽÐžÐœÐ°ÐºÐŸÐ²ÑÑ
+ ÐžÐœÐŽÐµÐºÑÐŸÐ² (Ð²ÐºÐ»ÑÑÐ°Ñ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ ÐœÐ° ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐµ Ð¿ÐŸ ÑÐ·ÑÐºÐ°ÐŒ) Ñ ÐŽÑÑÐ³ÐžÐŒÐž, ÑÐŸ Ð¿ÐµÑÐµÐºÑÐµÑÑÐœÑÐ¹ Ð¿ÐŸÐžÑÐº ÐœÐµ Ð±ÑÐŽÐµÑ ÑÐ°Ð±ÐŸÑÐ°ÑÑ ÐŽÐŸÐ»Ð¶ÐœÑÐŒ ÐŸÐ±ÑÐ°Ð·ÐŸÐŒ. ÐÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ Ð±ÑÐŽÐµÑ ÑÐŸÐ»ÑÐºÐŸ ÑÐ¿ÐŸÑÐŸÐ±ÐµÐœ Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐŽÐžÑÑ Ð¿ÐŸÐžÑÐº,  ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ ÐžÐœÐŽÐµÐºÑÑ, ÐŸÐ±ÑÐžÐµ ÐŽÐ»Ñ Ð²ÑÐµÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹.</Text>
+<Text id="165">ÐÐ»Ñ ÐŽÐ°Ð»ÑÐœÐµÐ¹ÑÐžÑ
+ ÐŽÐµÑÐ°Ð»ÐµÐ¹ ÑÐŒ.Ð³Ð»Ð°Ð²Ñ 1 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone.</Text>
+</Section>
+<Section name="collectionspecificmacros">
+<Title>
+<Text id="fc-m1">Ð¡Ð¿ÐµÑÐžÐ°Ð»ÑÐœÑÐµ ÐŒÐ°ÐºÑÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Text>
+</Title>
+<Text id="fc-m2">ÐÐŸÐŽ Ð²ÐºÐ»Ð°ÐŽÐºÐŸÐ¹ Â«Ð€ÐŸÑÐŒÐ°ÑÂ» ÑÐµÐ»ÐºÐœÐžÑÐµ Â«Ð¡Ð¿ÐµÑÐžÐ°Ð»ÑÐœÑÐµ ÐŒÐ°ÐºÑÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐžÂ». </Text>
+<Text id="fc-m3">Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²ÐŸ ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ°.</Text>
+</Section>
+<Section name="depositormetadatasettings">
+<Title>
+<Text id="dm-1">ÐÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐÐµÐ¿ÐŸÐ·ÐžÑÐŸÑÐ°</Text>
+</Title>
+<Text id="dm-2">ÐÐµÐ¿ÐŸÐ·ÐžÑÐŸÑ ÐÑÐžÐœÑÑÐŸÑÐœ  Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÑÑ ÐœÐŸÐ²ÑÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ Ð² ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÑÐµÑÐµÐ· Ð²ÐµÐ± ÐžÐœÑÐµÑÑÐµÐ¹Ñ. ÐÐ°ÐœÐœÑÐ¹ ÑÐ°Ð·ÐŽÐµÐ» ÐŸÐ¿ÐžÑÑÐ²Ð°ÐµÑ Ð¿Ð°ÐœÐµÐ»Ñ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, Ð³ÐŽÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÑÑÑÑ Ð¿ÐŸÐ»Ñ ÐŸÐ¿ÐžÑÐ°ÐœÐžÑ ÐœÐŸÐ²ÑÑ
+ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ² Ð² ÐÐµÐ¿ÐŸÐ·ÐžÑÐŸÑÐµ. ÐÑÐ±ÑÐµ ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð°ÑÑÐŸÑÐžÐžÑÐŸÐ²Ð°ÐœÐœÑÑ
+ Ñ ÑÐµÐºÑÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐµÐ¹ Ð±ÑÐŽÑÑ ÐŽÐŸÑÑÑÐ¿ÐœÑ ÐŽÐ»Ñ Ð²ÑÐ±ÐŸÑÐ°. ÐÑÐ»Ðž Ð·ÐŽÐµÑÑ ÐœÐµÑ ÐŽÑÑÐ³ÐžÑ
+ ÐœÐ°Ð±ÐŸÑÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐœÐ°Ð·ÐœÐ°ÑÐµÐœÐœÑÑ
+ "ÐÐ°Ð±ÐŸÑÐŸÐŒ ÐžÐ·Ð²Ð»ÐµÑÐµÐœÐœÑÑ
+ ÐÑÐžÐœÑÑÐŸÑÐœ ÐŽÐ°ÐœÐœÑÑ
+" Ð°ÑÑÐŸÑÐžÐžÑÐŸÐ²Ð°ÐœÐœÑÑ
+ Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐµÐ¹. "ÐÐ°Ð±ÐŸÑ ÐŽÑÐ±Ð»ÐžÐœÑÐºÐŸÐ³ÐŸ ÑÐŽÑÐ°" Ð±ÑÐŽÐµÑ Ð¿ÑÐžÐŒÐµÐœÐµÐœ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ. ÐÐ»Ñ ÐžÐ·ÑÑÐµÐœÐžÑ ÐÐµÐ¿ÐŸÐ·ÐžÑÐŸÑÐ°, ÐŸÐ±ÑÐ°ÑÐ°Ð¹ÑÐµÑÑ Ðº ÐŸÐœÐ»Ð°Ð¹Ðœ ÑÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ñ ÐœÐ° Ð°ÐœÐ³Ð»ÐžÐ¹ÑÐºÐŸÐŒ Ð¿ÐŸ Ð°ÐŽÑÐµÑÑ http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/depositor.htm. ÐÐ°Ð¶ÐŒÐžÑÐµ Ð²ÐºÐ»Ð°ÐŽÐºÑ "Format", ÐœÐ°Ð¶ÐŒÐžÑÐµ "Depositor Metadata".</Text>
+<Text id="dm-3">ÐÐ°ÐœÐµÐ»Ñ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐÐµÐ¿ÐŸÐ·ÐžÑÐŸÑÐ° Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÑÐ¿ÐžÑÐŸÐº Ð¿ÐŸÐ»ÐµÐ¹ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+. ÐÑÐ»Ðž ÐžÐŒÐµÐµÑÑÑ Ð±ÐŸÐ»ÐµÐµ ÐŸÐŽÐœÐŸÐ³ÐŸ ÐœÐ°Ð±ÐŸÑÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð² ÐŽÐ°ÐœÐœÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÐŸÑÐµÐŽÐœÐžÐµ ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð±ÑÐŽÑÑ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÑ ÑÐ°Ð·Ð»ÐžÑÐœÑÐŒÐž ÑÐ²ÐµÑÐ°ÐŒÐž. ÐÑÐž Ð¿ÐŸÐŒÐµÑÐµÐœÐžÐž ÐºÑÑÑÐŸÑÐ° ÑÐ²ÐµÑÑ
+Ñ ÑÐ»ÐµÐŒÐµÐœÑÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+: Ð¿ÐŸÑÐ²ÐžÑÑÑ ÐžÐœÑÑÑÑÐŒÐµÐœÑÐ°Ð»ÑÐœÐ°Ñ Ð¿ÐŸÐŽÑÐºÐ°Ð·ÐºÐ°.</Text>
+<Text id="dm-4">ÐÑÐŽÐµÐ»ÐžÑÐµ ÑÐµ ÐºÐŸÑÐŸÑÑÐµ Ð²Ñ Ð±ÑÐŽÐµÑÐµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐŽÐ»Ñ ÐŸÐ¿ÐžÑÐ°ÐœÐžÑ ÐœÐŸÐ²ÑÑ
+ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ²  Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÐÐµÐ¿ÐŸÐ·ÐžÑÐŸÑÐ°. ÐÑÐ¿Ð°ÐŽÐ°ÑÑÐžÐ¹ ÑÐ¿ÐžÑÐŸÐº Ñ Ð²ÑÐ±ÐŸÑÐŸÐŒ ÐŽÐ²ÑÑ
+ Ð²Ð°ÑÐžÐ°ÐœÑÐŸÐ² Ð¿ÐŸÑÐ²ÐžÑÑÑ ÑÑÐ°Ð·Ñ Ð¿ÐŸÑÐ»Ðµ Ð²ÑÐ±ÐŸÑÐ° ÑÐ»ÐµÐŒÐµÐœÑÐ°. Ð­ÑÐŸ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÐžÑ ÑÐºÐ°Ð·Ð°ÑÑ ÑÐžÐ¿ Ð²Ð²ÐŸÐŽÐ° ÐŽÐ»Ñ ÑÐ»ÐµÐŒÐµÐœÑÐ° Ð² Ð²ÐµÐ± ÐžÐœÑÐµÑÑÐµÐ¹ÑÐµ. "ÑÐµÐºÑÑ" ÐŸÐ·ÐœÐ°ÑÐ°ÐµÑ ÑÑÐŸ Ð±ÑÐŽÐµÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°Ðœ Ð²Ð²ÐŸÐŽ Ð² ÐŸÐŽÐœÑ ÑÑÑÐŸÐºÑ, Ð³ÐŽÐµ "ÑÐµÐºÑÑÐŸÐ²Ð°Ñ ÐŸÐ±Ð»Ð°ÑÑÑ" ÐŸÐ·ÐœÐ°ÑÐ°ÐµÑ ÑÑÐŸ Ð±ÑÐŽÐµÑ Ð¿ÑÐžÐŒÐµÐœÐµÐœ ÐŒÐœÐŸÐ³ÐŸÑÑÑÐŸÑÐœÑÐ¹ Ð²Ð²ÐŸÐŽ. ÐÑÐ±ÐµÑÐžÑÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐžÐ¹ ÑÐžÐ¿ ÐŽÐ»Ñ ÐºÐ°Ð¶ÐŽÐŸÐ³ÐŸ Ð¿ÐŸÐ»Ñ.</Text>
+<Text id="dm-5">ÐÐ°Ðº ÐŒÐžÐœÐžÐŒÑÐŒ ÐŸÐŽÐžÐœ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐŽÐŸÐ»Ð¶ÐµÐœ Ð±ÑÑÑ Ð²ÑÐ±ÑÐ°Ðœ. ÐÑÐ»Ðž ÐžÐŒÐµÐµÑÑÑ ÑÐŸÐ»ÑÐºÐŸ ÐŸÐŽÐžÐœ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐ¹ ÑÐ»ÐµÐŒÐµÐœÑ Ð² ÑÐ¿ÐžÑÐºÐµ, ÐŸÑÐŒÐµÐœÐžÐ² Ð²ÑÐ±ÐŸÑ Ð²ÑÐ·ÐŸÐ²ÐµÑ Ð¿ÐŸÑÐ²Ð»ÐµÐœÐžÐµ ÑÐŸÐŸÐ±ÑÐµÐœÐžÑ: <AutoText key="glidict::CDM.DepositorMetadataManager.Warning"/>.</Text>
+</Section>
+</Section>
+<Section name="miscellaneous">
+<Title>
+<Text id="202">Ð Ð°Ð·ÐœÐŸÐµ</Text>
+</Title>
+<Text id="203">Ð­ÑÐŸÑ ÑÐ°Ð·ÐŽÐµÐ» ÐŸÐ¿ÐžÑÑÐ²Ð°ÐµÑ ÐŸÑÐŸÐ±ÐµÐœÐœÐŸÑÑÐž ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ°,ÐºÐŸÑÐŸÑÑÐµ ÐœÐµ ÑÐ²ÑÐ·Ð°ÐœÑ ÐœÐž Ñ ÐºÐ°ÐºÐžÐŒ ÑÐ¿ÐµÑÐžÑÐžÑÐµÑÐºÐžÐŒ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµÐŒ.</Text>
+<Section name="preferences">
+<Title>
+<Text id="204">ÐÑÐµÐŽÐ¿ÐŸÑÑÐµÐœÐžÑ</Text>
+</Title>
+<Text id="205">Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ±ÑÑÑÐœÑÐµÑÑÑ ÐŽÐžÐ°Ð»ÐŸÐ³ Ð¿ÑÐµÐŽÐ¿ÐŸÑÑÐµÐœÐžÐ¹,ÐŽÐŸÑÑÑÐ¿ÐœÑÐ¹ Ð¿ÑÐž ÐŸÑÐºÑÑÑÐžÐž "Ð€Ð°Ð¹Ð»Ð°", Ð° Ð·Ð°ÑÐµÐŒ "ÐÑÐµÐŽÐ¿ÐŸÑÑÐµÐœÐžÐ¹".</Text>
+<Text id="206">ÐÐµÑÐ²Ð°Ñ ÐŸÐ¿ÑÐžÑ "ÐÐ±ÑÐµÐµ" - ÑÑÐŸ ÑÐµÐºÑÑÐŸÐ²ÐŸÐµ Ð¿ÐŸÐ»Ðµ ÐŽÐ»Ñ Ð²Ð²ÐµÐŽÐµÐœÐžÑ Ð°ÐŽÑÐµÑÐ° Ð²Ð°ÑÐµÐ¹ ÑÐ»ÐµÐºÑÑÐŸÐœÐœÐŸÐ¹ Ð¿ÐŸÑÑÑ. ÐÐœ Ð±ÑÐŽÐµÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°Ðœ Ð² Ð·ÐœÐ°ÑÐµÐœÐžÐž ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+ "Ð¡ÐŸÐ·ÐŽÐ°ÑÐµÐ»Ñ" Ðž "ÐÑÐ²ÐµÑÑÑÐ²ÐµÐœÐœÑÐ¹". Ð¡Ð»ÐµÐŽÑÑÐ°Ñ ÐŸÐ¿ÑÐžÑ - ÑÑÐŸ Ð²ÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐµ ÐŒÐµÐœÑ Ñ ÑÐ·ÑÐºÐ°ÐŒÐž, Ð² ÐºÐŸÑÐŸÑÑÑ
+ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐÐœÑÐµÑÑÐµÐ¹Ñ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœ. ÐÑÐ»Ðž ÐÑ ÐžÐ·ÐŒÐµÐœÑÐµÑÐµ ÑÐ»ÐŸÐ²Ð°ÑÑ, Ð²ÑÐ±ÐžÑÐ°Ñ ÐºÐ°ÐºÐŸÐ¹-Ð»ÐžÐ±ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ°, ÐÑ ÐŽÐŸÐ»Ð¶ÐœÑ Ð¿ÐµÑÐµÐ·Ð°Ð³ÑÑÐ·ÐžÑÑ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ, ÑÑÐŸÐ±Ñ Ð·Ð°Ð³ÑÑÐ·ÐžÑÑ ÐœÐŸÐ²ÑÐµ ÑÑÑÐŸÐºÐž ÑÐ·ÑÐºÐ° ÐžÐ· ÑÑÐŸÐ³ÐŸ ÑÐ»ÐŸÐ²Ð°ÑÑ.</Text>
+<Text id="207">ÐÑÐ»Ðž Ð²ÑÐ±ÑÐ°ÐœÐ° "ÐÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐžÐ·Ð²Ð»ÐµÐºÐ°ÐµÐŒÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+", ÑÐ°Ð·Ð»ÐžÑÐœÐŸÐµ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÐµ, ÑÐ²ÑÐ·Ð°ÐœÐœÐŸÐµ Ñ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒÐž, Ð²ÑÐµÐ³ÐŽÐ° Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ Ð²ÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ, ÐºÐŸÑÐŸÑÑÐµ Ð±ÑÐ»Ðž Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž ÐžÐ·Ð²Ð»ÐµÑÐµÐœÑ ÐžÐ· ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ². ÐÑÐŒÐµÐœÐ° ÑÑÐŸÐ³ÐŸ Ð²ÑÐ±ÐŸÑÐ° ÑÐºÑÑÐ²Ð°ÐµÑ ÑÑÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ, Ñ
+ÐŸÑÑ ÐŸÐœÐž Ð²ÑÑ ÐµÑÑ  ÐŽÐŸÑÑÑÐ¿ÐœÑ Ð² ÑÐµÑÐµÐœÐžÐµ ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž Ð² ÑÐ°ÐŒÐºÐ°Ñ
+ ÐŸÐºÐŸÐœÑÐ°ÑÐµÐ»ÑÐœÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Greenstone. ÐÑÐ»Ðž Ð²ÑÐ±ÑÐ°ÐœÐŸ "ÐÐŸÐºÐ°Ð·Ð°ÑÑ ÑÐ°Ð·ÐŒÐµÑÑ ÑÐ°Ð¹Ð»Ð°", ÑÐŸ ÑÐ°Ð·ÐŒÐµÑ ÑÐ°Ð¹Ð»Ð° Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑÑÑ ÑÑÐŽÐŸÐŒ Ñ ÐºÐ°Ð¶ÐŽÑÐŒ ÑÐ°Ð¹Ð»ÐŸÐŒ Ð² ÑÐ°Ð±ÐŸÑÐµÐŒ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²Ðµ, Ð° ÑÐ°ÐºÐ¶Ðµ Ð² ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐŒ ÐŽÐµÑÐµÐ²Ðµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð² Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑÑ
+ Gather Ðž Enrich.</Text>
+<Text id="208">ÐÐ°ÐœÐµÐ»Ñ "Ð¡Ð¿ÐŸÑÐŸÐ±" ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÐŽÐ»Ñ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ ÑÑÐŸÐ²ÐœÐµÐŒ Ð¿ÐŸÐŽÑÐŸÐ±ÐœÐŸÑÑÐµÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ°. ÐÐ° ÑÐ°ÐŒÐŸÐŒ ÐœÐžÐ¶ÐœÐµÐŒ ÑÑÐŸÐ²ÐœÐµ ÑÑÑÐ°ÐœÐŸÐ²ÐŸÐº ÐœÐ°Ñ
+ÐŸÐŽÐžÑÑÑ "ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ Ð¿ÐŸÐŒÐŸÑÐœÐžÐº", Ð¿ÑÐž ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÐž ÐºÐŸÑÐŸÑÐŸÐ³ÐŸ Ð¿ÑÐŸÐµÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð±Ð»ÐŸÐºÐžÑÐŸÐ²Ð°ÐœÐŸ, Ð¿Ð°ÑÐ°ÐŒÐµÑÑÑ, ÑÑÐµÐ±ÑÑÑÐžÐµ Ð¿ÑÐ°Ð²ÐžÐ»ÑÐœÐŸÐ³ÐŸ Ð²ÑÑÐ°Ð¶ÐµÐœÐžÑ, ÑÐºÑÑÑÑ Ðž Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐŽÐžÑÑÑ ÐŒÐžÐœÐžÐŒÐ°Ð»ÑÐœÐŸ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÑÐŒ ÐºÐŸÐ»ÐžÑÐµÑÑÐ²ÐŸÐŒ Ð·Ð°Ð¿ÐžÑÐµÐ¹. ÐÐ°ÐŸÐ±ÐŸÑÐŸÑ, ÐœÐ°ÐžÐ²ÑÑÑÐ°Ñ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐ° "Ð­ÐºÑÐ¿ÐµÑÑ" ÐŸÐ±ÐµÑÐ¿ÐµÑÐžÐ²Ð°ÐµÑ ÐŽÐŸÑÑÑÐ¿ ÐºÐŸ Ð²ÑÐµÐŒ ÑÑÐµÐŽÑÑÐ²Ð°ÐŒ Ð¿ÑÐŸÐµÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÑ, Ð²ÐºÐ»ÑÑÐ°Ñ Ð¿ÐŸÐ·ÐžÑÐžÐŸÐœÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð¿Ð»Ð°Ð³ÐžÐœÐŸÐ² Ðž Ð¿ÑÐ°Ð²ÐžÐ»ÑÐœÐŸÐµ Ð²ÑÑÐ°Ð¶ÐµÐœÐžÐµ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÐŸÐ², Ð° ÑÐ°ÐºÐ¶Ðµ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð¿ÐŸÐ»ÐœÑÐ¹ Ð²ÑÑ
+ÐŸÐŽ ÐžÐ· Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÑÐŸÐ±Ñ Ð·Ð°ÑÐžÐºÑÐžÑÐŸÐ²Ð°ÑÑ Ð² Ð¶ÑÑÐœÐ°Ð»Ðµ Ð·Ð°Ð¿ÐžÑÐµÐ¹. Ð§ÑÐŸÐ±Ñ ÐžÐ·ÐŒÐµÐœÐžÑÑ ÐžÐ»Ðž Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ ÑÐ¿ÐŸÑÐŸÐ±Ñ, ÐºÐ»ÐžÐºÐœÐžÑÐµ ÑÐ°ÐŽÐžÐŸ-ÐºÐœÐŸÐ¿ÐºÑ, ÑÐ»ÐµÐŽÑÑÑÑÑ Ð·Ð° ÑÐ¿ÐŸÑÐŸÐ±ÐŸÐŒ, ÐºÐŸÑÐŸÑÑÐ¹ ÐžÐœÑÐµÑÐµÑÑÐµÑ ÐÐ°Ñ. ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð±ÑÑÑÑÐŸ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ, ÐºÐ°ÐºÐŸÐ¹ ÑÐ¿ÐŸÑÐŸÐ± ÐÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÐµ, ÑÐ°ÑÑÐŒÐ°ÑÑÐžÐ²Ð°Ñ Ð»ÐžÐœÐµÐ¹ÐºÑ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐ¹ Ð² ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐŒ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐµ. </Text>
+<Text id="210">ÐÐ»Ð°Ð²ÐžÑÐ° "Ð¡ÐŸÐµÐŽÐžÐœÐµÐœÐžÐµ" Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ ÐÐ°ÐŒ ÐžÐ·ÐŒÐµÐœÑÑÑ Ð¿ÑÑÑ Ðº Ð»ÐŸÐºÐ°Ð»ÑÐœÐŸÐŒÑ ÑÐµÑÐ²ÐµÑÑ Greenstone, ÐºÐŸÑÐŸÑÑÐ¹ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÐŽÐ»Ñ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸÐ³ÐŸ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÑÐŸÐŒÐµ ÑÐŸÐ³ÐŸ ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÑÑÑÐ°ÐœÐŸÐ²ÐžÑÑ ÐŒÐŸÐŽÑÐ»Ñ ÐŽÐŸÑÑÑÐ¿Ð° Ðº ÐÐœÑÐµÑÐœÐµÑÑ Ð¿ÑÐŸÐºÑÐž (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, ÐŽÐ»Ñ Ð·Ð°Ð³ÑÑÐ·ÐºÐž ÑÐ°Ð¹Ð»ÐŸÐ²; ÑÐŒÐŸÑÑÐž ÑÐ°Ð·ÐŽÐµÐ» <Reference target="downloadingfiles"/> ÐŽÐ»Ñ Ð¿ÐŸÐŽÑÐŸÐ±ÐœÐŸÑÑÐµÐ¹). ÐÐŸÐŒÐµÑÑÑÐµ ÑÐ»Ð°Ð³ÐŸÐ²ÑÑ ÐºÐœÐŸÐ¿ÐºÑ, ÑÑÐŸÐ±Ñ Ð²ÐºÐ»ÑÑÐžÑÑ ÐŒÐŸÐŽÑÐ»Ñ ÐŽÐŸÑÑÑÐ¿Ð°, Ðž ÑÐºÐ°Ð¶ÐžÑÐµ ÐŽÐµÑÐ°Ð»Ðž Ð°ÐŽÑÐµÑÐ° ÑÐµÑÐ²ÐµÑÐ° Ð¿ÑÐŸÐºÑÐž Ðž ÐœÐŸÐŒÐµÑ Ð¿ÐŸÑÑÐ°. ÐÐŸÐŽÑÐ»Ñ ÐŽÐŸÑÑÑÐ¿Ð° Ð±ÑÐŽÐµÑ Ð°ÐºÑÐžÐ²ÐžÑÐŸÐ²Ð°Ðœ Ð¿ÑÐž Ð·Ð°ÐºÑÑÑÐžÐž ÐŽÐžÐ°Ð»ÐŸÐ³ÐŸÐ²ÐŸÐ³ÐŸ ÐŸÐºÐœÐ° ÐÐ¿ÑÐžÐ¹.</Text>
+<Text id="211">Ð ÑÐµÑÐµÐœÐžÐµ ÑÐµÑÑÐžÐž ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ ÐŒÐŸÐ¶ÐµÑ ÐŽÐ°Ð²Ð°ÑÑ Ð¿ÑÐµÐŽÑÐ¿ÑÐµÐŽÐžÑÐµÐ»ÑÐœÑÐµ ÑÐŸÐŸÐ±ÑÐµÐœÐžÑ, ÐºÐŸÑÐŸÑÑÐµ ÐžÐœÑÐŸÑÐŒÐžÑÑÑÑ ÐÐ°Ñ ÐŸ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÑÑ
+ ÐœÐµÐ¿ÑÐµÐŽÐ²ÐžÐŽÐµÐœÐœÑÑ
+ Ð¿ÐŸÑÐ»ÐµÐŽÑÑÐ²ÐžÑÑ
+ ÐÐ°ÑÐžÑ
+ ÐŽÐµÐ¹ÑÑÐ²ÐžÐ¹. ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð·Ð°Ð±Ð»ÐŸÐºÐžÑÐŸÐ²Ð°ÑÑ ÑÐŸÐŸÐ±ÑÐµÐœÐžÐµ, Ð²ÑÐ±ÐžÑÐ°Ñ Ð¿ÐŸÐ»Ðµ "ÐÐµ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÑÑ ÑÑÐŸ Ð¿ÑÐµÐŽÑÐ¿ÑÐµÐ¶ÐŽÐµÐœÐžÐµ ÑÐœÐŸÐ²Ð°". ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð²ÐŸÐ·ÐŸÐ±ÐœÐŸÐ²ÐžÑÑ Ð¿ÐŸÑÐ²Ð»ÐµÐœÐžÐµ Ð¿ÑÐµÐŽÑÐ¿ÑÐµÐ¶ÐŽÐ°ÑÑÐžÑ
+ ÑÐŸÐŸÐ±ÑÐµÐœÐžÐ¹,ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ ÐºÐ»Ð°Ð²ÐžÑÑ "ÐÑÐµÐŽÑÐ¿ÑÐµÐ¶ÐŽÐµÐœÐžÐµ". ÐÑÐ±ÐµÑÐžÑÐµ Ð¿ÐŸÐ»Ðµ ÑÑÐŽÐŸÐŒ Ñ Ð¿ÑÐµÐŽÑÐ¿ÑÐµÐ¶ÐŽÐ°ÑÑÐžÐŒÐž ÑÐŸÐŸÐ±ÑÐµÐœÐžÑÐŒÐž, ÐµÑÐ»Ðž ÐÑ Ñ
+ÐŸÑÐžÑÐµ ÑÐœÐŸÐ²Ð° Ð¿ÐŸÐ»ÑÑÐ°ÑÑ ÐžÑ
+.</Text>
+</Section>
+<Section name="fileassociations">
+<Title>
+<Text id="212">ÐÑÑÐŸÑÐžÐ°ÑÐžÐž ÑÐ°Ð¹Ð»Ð°</Text>
+</Title>
+<Text id="213">ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐÐœÑÐµÑÑÐµÐ¹Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑ ÑÐ¿ÐµÑÐžÑÐžÑÐµÑÐºÐžÐµ Ð¿ÑÐžÐºÐ»Ð°ÐŽÐœÑÐµ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÑ, ÑÑÐŸÐ±Ñ ÐŸÑÐºÑÑÐ²Ð°ÑÑ ÑÐ¿ÐµÑÐžÑÐžÑÐœÑÐµ ÑÐžÐ¿Ñ ÑÐ°Ð¹Ð»ÐŸÐ². Ð§ÑÐŸÐ±Ñ ÐžÐ·ÐŒÐµÐœÐžÑÑ Ð°ÑÑÐŸÑÐžÐžÑÐŸÐ²Ð°ÐœÐœÑÐµ ÑÐ°Ð¹Ð»Ñ ÐŸÑÐºÑÑÐ²Ð°ÑÑ ÐŒÐµÐœÑ "Ð€Ð°Ð¹Ð»" Ðž ÑÐµÐ»ÐºÐ°ÑÑ "ÐÑÑÐŸÑÐžÐžÑÐŸÐ²Ð°ÐœÐœÑÐµ ÑÐ°Ð¹Ð»Ñ".</Text>
+<Text id="214">Ð§ÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ Ð°ÑÑÐŸÑÐžÐ°ÑÐžÐž, Ð²ÑÐ±ÐµÑÐžÑÐµ ÑÐµÐ»ÐµÐ²ÐŸÐµ ÑÐ°ÑÑÐžÑÐµÐœÐžÐµ ÑÐ°Ð¹Ð»Ð° ÐžÐ· ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐ³ÐŸ ÑÐ¿ÐžÑÐºÐ° ÐžÐ»Ðž ÐœÐ°Ð¿ÐžÑÐžÑÐµ ÐœÐŸÐ²ÐŸÐµ ÑÐ°ÑÑÐžÑÐµÐœÐžÐµ (ÐœÐµ Ð²ÐºÐ»ÑÑÐ°Ñ "."). ÐÐ°ÑÐµÐŒ ÐžÐ»Ðž ÐœÐ°Ð¿ÐžÑÐžÑÐµ Ð² ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐµÐŒ Ð¿ÐŸÐ»Ðµ ÐºÐŸÐŒÐ°ÐœÐŽÑ,Ð·Ð°Ð¿ÑÑÐºÐ°ÑÑÑÑ Ð¶ÐµÐ»Ð°ÑÐµÐ»ÑÐœÐŸÐµ Ð¿ÑÐžÐ»ÐŸÐ¶ÐµÐœÐžÐµ,ÐžÐ»Ðž Ð²ÑÐ±ÐµÑÐžÑÐµ Ð¿ÑÐžÐ»ÐŸÐ¶ÐµÐœÐžÐµ ÐžÐ· ÐŽÐžÐ°Ð»ÐŸÐ³ÐŸÐ²ÐŸÐ³ÐŸ ÐŸÐºÐœÐ° "ÐÑÐŸÑÐŒÐŸÑÑ". ".%1" ÐŒÐŸÐ¶ÐµÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑÑÑ Ð² ÐºÐŸÐŒÐ°ÐœÐŽÐµ Ð·Ð°Ð¿ÑÑÐºÐ°, ÑÑÐŸÐ±Ñ Ð²ÑÑÐ°Ð²ÐžÑÑ ÐžÐŒÑ ÑÐ°Ð¹Ð»Ð°, ÐºÐŸÑÐŸÑÑÐ¹ ÐŽÐŸÐ»Ð¶ÐµÐœ ÐŸÑÐºÑÑÑÑÑÑ. ÐÐ°Ðº ÑÐŸÐ»ÑÐºÐŸ ÐŸÐœÐž Ð·Ð°Ð¿ÐŸÐ»ÐœÐµÐœÑ,Ð¿ÑÐœÐºÑ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ" ÑÑÐ°ÐœÐŸÐ²ÐžÑÑÑ ÐŽÐŸÑÑÑÐ¿ÐœÑÐŒ Ðž ÐŒÐŸÐ¶ÐœÐŸ ÑÐµÐ»ÑÐºÐŸÐŒ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ Ð°ÑÑÐŸÑÐžÐ°ÑÐžÑ.  </Text>
+<Text id="215">Ð§ÑÐŸÐ±Ñ ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ Ð°ÑÑÐŸÑÐžÐ°ÑÐžÑ, Ð²ÑÐ±ÐµÑÐžÑÐµ ÑÑÑÐµÑÑÐ²ÑÑÑÐµÐµ ÑÐ°ÑÑÐžÑÐµÐœÐžÐµ ÑÐ°Ð¹Ð»Ð°. ÐÑÐ±Ð°Ñ ÑÑÑÐµÑÑÐ²ÑÑÑÐ°Ñ ÐºÐŸÐŒÐ°ÐœÐŽÐ° ÑÐ²ÑÐ·Ðž Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑÑÑ Ð² Ð¿ÐŸÐ»Ðµ Ð·Ð°Ð¿ÑÑÐºÐ° ÐºÐŸÐŒÐ°ÐœÐŽ. ÐÑÑÐµÐŽÐ°ÐºÑÐžÑÑÐ¹ÑÐµ ÐµÐµ Ðž Ð·Ð°ÑÐµÐŒ ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐ°ÐŒÐµÐœÐžÑÑ".</Text>
+<Text id="216">Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ Ð°ÑÑÐŸÑÐžÐ°ÑÐžÑ, Ð²ÑÐ±ÐµÑÐžÑÐµ ÑÑÑÐµÑÑÐ²ÑÑÑÐµÐµ ÑÐ°ÑÑÐžÑÐµÐœÐžÐµ ÑÐ°Ð¹Ð»Ð° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ".(Ð Ð°ÑÑÐžÑÐµÐœÐžÐµ ÑÐ°Ð¹Ð»Ð° ÐŸÑÑÐ°ÐµÑÑÑ Ð² ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐŒ ÑÐ¿ÐžÑÐºÐµ "ÐÐ»Ñ ÐŸÐºÐŸÐœÑÐ°ÐœÐžÑ ÑÐ°Ð¹Ð»ÐŸÐ²").</Text>
+<Text id="217">ÐÑÐŸÑÐžÐ°ÑÐžÐ²ÐœÑÐµ ÑÐ°Ð¹Ð»Ñ Ñ
+ÑÐ°ÐœÑÑÑÑ Ð² Ð³Ð»Ð°Ð²ÐœÐŸÐ¹ Ð¿Ð°Ð¿ÐºÐµ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ°, Ð² ÑÐ°Ð¹Ð»Ðµ, ÐœÐ°Ð·ÑÐ²Ð°ÐµÐŒÐŸÐŒ "associations.xml".</Text>
+</Section>
+<Section name="exporting">
+<Title>
+<Text id="exp-1">Ð­ÐºÑÐ¿ÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ Ð² ÐŽÑÑÐ³ÐžÐµ ÑÐŸÑÐŒÐ°ÑÑ.</Text>
+</Title>
+<Text id="exp-2">Greenstone ÐŒÐŸÐ¶ÐµÑ ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐŸÐŽÐµÑÐ¶ÐžÐŒÐŸÐµ Ðž/ÐžÐ»Ðž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð² ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÑÐ°ÐœÐŽÐ°ÑÑÐœÑÑ
+ ÑÐŸÑÐŒÐ°ÑÐŸÐ², Ð²ÐºÐ»ÑÑÐ°Ñ METS, Dspace Ðž MARCXML.</Text>
+<Text id="exp-3">ÐÐ»Ñ ÑÐºÑÐ¿ÐŸÑÑÐ° ÐŸÐŽÐœÐŸÐ¹ ÐžÐ»Ðž Ð±ÐŸÐ»ÐµÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÐŸÑÐºÑÐŸÐ¹ÑÐµ ÐŒÐµÐœÑ "Ð€Ð°Ð¹Ð»" Ð²ÑÐ±ÐµÑÐžÑÐµ "Ð­ÐºÑÐ¿ÐŸÑÑ...". ÐÐŸÐ¶ÐœÐŸ Ð²ÑÐ±ÑÐ°ÑÑ ÑÐŸÑÐŒÐ°Ñ ÑÐºÑÐ¿ÐŸÑÑÐ°, Ð²ÑÐ±ÑÐ°Ð² ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° "Ð­ÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ Ð²". Ð£ÐºÐ°Ð¶ÐžÑÐµ ÐžÐŒÑ ÐºÐ°ÑÐ°Ð»ÐŸÐ³Ð°, ÐºÑÐŽÐ° Ð²Ñ Ñ
+ÐŸÑÐžÑÐµ Ð¿ÐŸÐ»ÐŸÐ¶ÐžÑÑ ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÐœÑÐµ ÑÐ°Ð¹Ð»Ñ&mdash; ÑÐ°Ð¹Ð»Ñ Ð·Ð°ÐºÐ°ÐœÑÐžÐ²Ð°ÑÑÑÑ &lt;Ð¿ÑÑÐµÐŒ Ðº greenstone&gt;/tmp/exported_xxx, Ð³ÐŽÐµ xxx â ÑÐºÐ°Ð·Ð°ÐœÐœÐŸÐµ ÐžÐŒÑ. ÐÑÐ±ÐµÑÐžÑÐµ ÐŸÐŽÐœÑ ÐžÐ»Ðž Ð±ÐŸÐ»ÐµÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, Ð° Ð¿ÐŸÑÐŸÐŒ ÐºÐ»ÐžÐºÐœÐžÑÐµ "Ð­ÐºÑÐ¿ÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž".</Text>
+<Text id="exp-4">ÐÑÑÑ ÐœÐµÐºÐŸÑÐŸÑÑÐµ ÐŽÑÑÐ³ÐžÐµ ÐŸÐ¿ÑÐžÐž, ÑÐ¿ÐµÑÐžÑÐžÑÐœÑÐµ ÐŽÐ»Ñ ÑÐ°Ð·Ð»ÐžÑÐœÑÑ
+ ÑÐŸÑÐŒÐ°ÑÐŸÐ². ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÑÐºÐ°Ð·Ð°ÑÑ ÑÐ°Ð¹Ð» XSLT, ÐºÐŸÑÐŸÑÑÐ¹ Ð±ÑÐŽÐµÑ Ð¿ÑÐžÐŒÐµÐœÐµÐœ Ðº ÑÐµÐ·ÑÐ»ÑÑÐžÑÑÑÑÐžÐŒ XML-ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°ÐŒ ÐŽÐ»Ñ ÐœÐ°ÑÑÑÐŸÐ¹ÐºÐž ÑÐŸÑÐŒÐ°ÑÐ° Ð²ÑÐ²ÐŸÐŽÐ°. Ð­ÐºÑÐ¿ÐŸÑÑ Ð² MARCXML ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑ ÑÐ°Ð¹Ð» ÐŸÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÑ ÐŽÐ»Ñ ÑÐŸÐ¿ÐŸÑÑÐ°Ð²Ð»ÐµÐœÐžÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Greenstone Ð¿ÐŸÐ»ÑÐŒ MARC. Ð€Ð°Ð¹Ð» ÐŸÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ ÑÐŸÐ¿ÐŸÑÑÐ°Ð²Ð»ÑÐµÑ ÑÐŸÐ»ÑÐºÐŸ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Dublin Core. ÐÐŸÐ¶ÐœÐŸ ÑÐºÐ°Ð·Ð°ÑÑ ÑÐ²ÐŸÐ¹ ÑÐ°Ð¹Ð» ÐŸÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÑ Ð²ÐŒÐµÑÑÐŸ ÐœÐµÐ³ÐŸ.</Text>
+</Section>
+<Section name="exportingcollections">
+<Title>
+<Text id="218">Ð­ÐºÑÐ¿ÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÐœÐ° CD/DVD</Text>
+</Title>
+<Text id="219">Greenstone ÐŒÐŸÐ¶ÐµÑ ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÐŸÐŽÐœÑ ÐžÐ»Ðž Ð±ÐŸÐ»ÐµÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ Ð² ÑÐ°ÐŒÐŸÑÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÑÑÐžÐ¹ÑÑ CD/DVD Ð¿ÐŸÐŽ Windows. Ð§ÑÐŸÐ±Ñ ÑÑÐŸ ÑÐŽÐµÐ»Ð°ÑÑ, ÐŽÐŸÐ»Ð¶ÐµÐœ  Ð±ÑÑÑ ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœ Ð¿Ð°ÐºÐµÑ "Ð­ÐºÑÐ¿ÐŸÑÑ Ð² CD-ROM". ÐÐœ ÐœÐµ Ð²ÐºÐ»ÑÑÐµÐœ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ, Ð¿ÐŸÑÑÐŸÐŒÑ ÐÑ ÐŽÐŸÐ»Ð¶ÐœÑ ÐžÐ·ÐŒÐµÐœÐžÑÑ ÐÐ°ÑÑ ÐžÐœÑÑÐ°Ð»Ð»ÑÑÐžÑ, ÑÑÐŸÐ±Ñ ÐµÐ³ÐŸ Ð²ÐºÐ»ÑÑÐžÑÑ.</Text>
+<Text id="220">Ð§ÑÐŸÐ±Ñ ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÐŸÑÐºÑÐŸÐ¹ÑÐµ ÐŒÐµÐœÑ "Ð€Ð°Ð¹Ð»" Ðž Ð²ÑÐ±ÐµÑÐžÑÐµ "Ð­ÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ Ð² CD-ROM/DVD...". ÐÐŸÑÐ²Ð»ÑÐµÑÑÑ ÑÐ¿ÐžÑÐŸÐº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÑÐŸÐ±ÑÐ°ÐœÐžÐ¹ Greenstone; ÑÐµÐ»ÐºÐœÐžÑÐµ ÐœÐ° Ð»ÑÐ±ÐŸÐ¹, ÑÑÐŸÐ±Ñ ÑÐ²ÐžÐŽÐµÑÑ ÐµÐµ ÐŸÐ¿ÐžÑÐ°ÐœÐžÐµ. ÐÐŸÐŒÐµÑÑÑÐµ Ð²ÑÐ±ÑÐ°ÐœÐœÑÐµ Ð¿ÐŸÐ»Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÐŽÐ»Ñ ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÐžÑ. ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð²Ð²ÐµÑÑÐž ÐžÐŒÑ CD/DVD Ð² Ð¿ÐŸÐ»Ðµ: ÑÑÐŸ ÑÐŸ, ÑÑÐŸ Ð¿ÐŸÑÐ²ÐžÑÑÑ Ð² ÑÑÐ°ÑÑÐŸÐ²ÐŸÐŒ ÐŒÐµÐœÑ, ÐºÐŸÐ³ÐŽÐ° CD/DVD Ð±ÑÐŽÐµÑ ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœ. ÐÐ°ÑÐµÐŒ ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð­ÐºÑÐ¿ÐŸÑÑ". ÐÑÐŸÑÐµÑÑ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÐœÐžÐµ ÐŒÐœÐŸÐ³ÐžÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ² Ðž ÐŒÐŸÐ¶ÐµÑ Ð·Ð°ÐœÑÑÑ ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÐŒÐžÐœÑÑ.</Text>
+<Text id="221">ÐÐŸÑÐ»Ðµ ÐŸÐºÐŸÐœÑÐ°ÐœÐžÑ Greenstone Ð¿ÐŸÐºÐ°Ð¶ÐµÑ ÐžÐŒÑ Ð¿Ð°Ð¿ÐºÐž, ÑÐŸÐŽÐµÑÐ¶Ð°ÑÐµÐ¹ ÑÐºÑÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÐœÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ Ð¿ÐžÑÑÑÐžÐ¹ ÐºÐŸÐŒÐ¿Ð°ÐºÑ-ÐŽÐžÑÐº ÐŽÐ»Ñ ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÐœÐžÑ ÐµÐ³ÐŸ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÐœÐ° ÑÐžÑÑÑÐ¹ CD/DVD.</Text>
+</Section>
+</Section>
+</Document>
Index: main/tags/2.83/gli/help/ru/help_index.xml
===================================================================
--- main/tags/2.83/gli/help/ru/help_index.xml	(revision 21123)
+++ main/tags/2.83/gli/help/ru/help_index.xml	(revision 21123)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Document><Section name="introduction"><Title>ÐÐ²ÐµÐŽÐµÐœÐžÐµ</Title><Section name="ofmiceandmenus"><Title>ÐÑÑÑ Ðž ÐÐµÐœÑ</Title></Section><Section name="howtoavoidthisdocument"><Title>ÐÐ°Ðº ÐžÐ·Ð±ÐµÐ¶Ð°ÑÑ ÑÑÐµÐœÐžÑ ÑÑÐŸÐ³ÐŸ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°</Title></Section></Section><Section name="startingoff"><Title>ÐÐŸ ÑÑÐ°ÑÑÐ°</Title><Section name="creatingacollection"><Title>Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ ÐœÐŸÐ²ÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Title></Section><Section name="savingacollection"><Title>Ð¡ÐŸÑ
+ÑÐ°ÐœÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Title></Section><Section name="openingacollection"><Title>ÐÑÐºÑÑÑÐžÐµ ÑÑÑÐµÑÑÐ²ÑÑÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Title></Section><Section name="deletingcollections"><Title>Ð£ÐŽÐ°Ð»ÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹</Title></Section></Section><Section name="downloadingfiles"><Title>ÐÐ°Ð³ÑÑÐ·ÐžÑÑ ÑÐ°Ð¹Ð»Ñ ÐžÐ· ÐžÐœÑÐµÑÐœÐµÑ</Title><Section name="themirrorview"><Title>ÐÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐÐ°Ð³ÑÑÐ·ÐžÑÑ</Title></Section></Section><Section name="collectingfiles"><Title>Ð¡Ð±ÐŸÑ ÑÐ°Ð¹Ð»ÐŸÐ² ÐŽÐ»Ñ ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Title><Section name="thegatherview"><Title>ÐÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐœÐ°ÐºÐŸÐ¿ÐžÑÐµÐ»Ñ</Title></Section><Section name="creatingshortcuts"><Title>Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ Ð¯ÑÐ»ÑÐºÐ° Ð² ÐÐµÑÐµÐ²Ðµ ÑÐ°Ð±ÐŸÑÐµÐ³ÐŸ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²Ð°</Title></Section><Section name="creatingfolders"><Title>Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ Ð¿Ð°Ð¿ÐŸÐº</Title></Section><Section name="addingfiles"><Title>ÐÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÐµ ÑÐ°Ð¹Ð»ÐŸÐ²</Title></Section><Section name="replacingfiles"><Title>ÐÐµÑÐµÐžÐŒÐµÐœÐŸÐ²Ð°ÐœÐžÐµ Ðž Ð·Ð°ÐŒÐµÐœÐ° ÑÐ°Ð¹Ð»ÐŸÐ²</Title></Section><Section name="removingfiles"><Title>Ð£ÐŽÐ°Ð»ÐµÐœÐžÐµ ÑÐ°Ð¹Ð»ÐŸÐ²</Title></Section><Section name="explodingfiles"><Title>Â«Ð Ð°Ð·Ð²ÐµÑÑÑÐ²Ð°ÐœÐžÐµÂ» ÑÐ°Ð¹Ð»ÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</Title></Section><Section name="filteringthetree"><Title>Ð€ÐžÐ»ÑÑÑÐŸÐ²Ð°ÐœÐžÐµ ÐŽÐµÑÐµÐ²Ð°</Title></Section></Section><Section name="enrichingacollection"><Title>ÐÐ±ÐŸÐ³Ð°ÑÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒÐž</Title><Section name="theenrichview"><Title>ÐÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐŸÐ±ÐŸÐ³Ð°ÑÐµÐœÐžÑ</Title></Section><Section name="selectingmetadatasets"><Title>ÐÑÐ±ÐŸÑ ÐœÐ°Ð±ÐŸÑÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</Title></Section><Section name="appendingmetadata"><Title>ÐÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</Title></Section><Section name="addingpreviouslydefinedmetadata"><Title>ÐÐŸÐ±Ð°Ð²Ð»ÐœÐžÐµ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</Title></Section><Section name="updatingmetadata"><Title>ÐÐ·ÐŒÐµÐœÐžÑÑ ÐžÐ»Ðž ÑÐŽÐ°Ð»ÐžÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ</Title></Section><Section name="reviewingmetadata"><Title>ÐÑÐŸÑÐŒÐŸÑÑ Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</Title></Section><Section name="importingpreviouslyassignedmetadata"><Title>ÐÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</Title></Section></Section><Section name="designingacollection"><Title>ÐÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Title><Section name="thedesignview"><Title>ÐÐžÐŽ ÐŽÐžÐ·Ð°Ð¹ÐœÐ°</Title></Section><Section name="plugins"><Title>ÐÐ»Ð°Ð³ÐžÐœÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°</Title></Section><Section name="searchindexes"><Title>ÐÐœÐŽÐµÐºÑÑ Ð¿ÐŸÐžÑÐºÐ°</Title><Section name="searchindexoptions"><Title>ÐÐ¿ÑÐžÐž Ð¿ÐŸÐžÑÐºÐŸÐ²ÐŸÐ¹ ÐžÐœÐŽÐµÐºÑÐ°ÑÐžÐž </Title></Section></Section><Section name="partitionindexes"><Title>ÐÐœÐŽÐµÐºÑÑ ÑÐ°Ð·Ð±ÐžÐµÐœÐžÑ</Title><Section name="definefilters"><Title>ÐÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ ÑÐžÐ»ÑÑÑÑ</Title></Section><Section name="assignpartitions"><Title>ÐÐ°Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ</Title></Section><Section name="assignlanguages"><Title>ÐÐ°ÐŽÐ°ÐœÐœÑÐµ ÑÐ·ÑÐºÐž</Title></Section></Section><Section name="classifiers"><Title>ÐÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐŸÑÑ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ°</Title></Section></Section><Section name="producingthecollection"><Title>ÐÐŸÑÑÑÐŸÐµÐœÐžÐµ ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Title><Section name="thecreateview"><Title>Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑ</Title></Section><Section name="builderrors"><Title>ÐÑÐžÐ±ÐºÐž Ð² Ð¿ÑÐŸÑÐµÑÑÐµ ÑÐ±ÐŸÑÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Title></Section><Section name="expertbuilding"><Title>Ð¡ÐŸÐ·ÐŽÐ°ÑÑ Ð²ÐžÐŽ Ð² ÑÐµÐ¶ÐžÐŒÐµ ÑÐºÑÐ¿ÐµÑÑÐ°</Title></Section><Section name="scheduledbuilding"><Title>ÐÐ»Ð°ÐœÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Title></Section></Section><Section name="formattingacollection"><Title>ÐÐ°ÑÑÑÐŸÐ¹ÐºÐ° Ð²ÐœÐµÑÐœÐµÐ³ÐŸ Ð²ÐžÐŽÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Title><Section name="theformatview"><Title>ÐÐžÐŽ Â«Ð€ÐŸÑÐŒÐ°ÑÂ»</Title></Section><Section name="generalsettings"><Title>ÐÐ±ÑÐµÐµ</Title></Section><Section name="searchmetadatasettings"><Title>ÐÐŸÐžÑÐº</Title></Section><Section name="formatstatements"><Title>ÐÑÐŸÐ±ÐµÐœÐœÐŸÑÑÐž ÑÐŸÑÐŒÐ°ÑÐ°</Title></Section><Section name="translatetext"><Title>ÐÐµÑÐµÐ²ÐŸÐŽ ÑÐµÐºÑÑÐ°</Title></Section><Section name="xcollectionsearching"><Title>ÐÐŸÐžÑÐº Ð² Ð¿ÐµÑÐµÑÐµÐºÐ°ÑÑÐžÑ
+ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑ
+</Title></Section><Section name="collectionspecificmacros"><Title>Ð¡Ð¿ÐµÑÐžÐ°Ð»ÑÐœÑÐµ ÐŒÐ°ÐºÑÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</Title></Section><Section name="depositormetadatasettings"><Title>ÐÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐÐµÐ¿ÐŸÐ·ÐžÑÐŸÑÐ°</Title></Section></Section><Section name="miscellaneous"><Title>Ð Ð°Ð·ÐœÐŸÐµ</Title><Section name="preferences"><Title>ÐÑÐµÐŽÐ¿ÐŸÑÑÐµÐœÐžÑ</Title></Section><Section name="fileassociations"><Title>ÐÑÑÐŸÑÐžÐ°ÑÐžÐž ÑÐ°Ð¹Ð»Ð°</Title></Section><Section name="exporting"><Title>Ð­ÐºÑÐ¿ÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ Ð² ÐŽÑÑÐ³ÐžÐµ ÑÐŸÑÐŒÐ°ÑÑ.</Title></Section><Section name="exportingcollections"><Title>Ð­ÐºÑÐ¿ÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÐœÐ° CD/DVD</Title></Section></Section></Document>
Index: main/tags/2.83/gli/help/ru/howtoavoidthisdocument.htm
===================================================================
--- main/tags/2.83/gli/help/ru/howtoavoidthisdocument.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/howtoavoidthisdocument.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="howtoavoidthisdocument"><font size="5" face="Verdana"><strong>1.2: ÐÐ°Ðº ÐžÐ·Ð±ÐµÐ¶Ð°ÑÑ ÑÑÐµÐœÐžÑ ÑÑÐŸÐ³ÐŸ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐµ ÑÐžÑÐ°Ð¹ÑÐµ ÑÑÐŸÑ ÑÐµÐºÑÑ Ð¿ÐŸÐŒÐŸÑÐž Ð¿ÐŸÐ»ÐœÐŸÑÑÑÑ! ÐÐŸÑÑÐ°ÑÐŸÑÐœÐŸ Ð¿ÑÐŸÑÐµÑÑÑ, ÐºÐ°Ðº ÑÑÐŒÐµÑÑ Ð¿ÐŸÐ»ÑÑÐžÑÑ Ð¿ÐŸÐŒÐŸÑÑ, ÐºÐŸÐ³ÐŽÐ° ÐÑ ÐœÑÐ¶ÐŽÐ°ÐµÑÐµÑÑ Ð² ÑÑÐŸÐŒ.  </p>
+
+<p>ÐÑÐœÐºÑÑ ÐŒÐµÐœÑ "ÐÐŸÐŒÐŸÑÑ" ÑÐºÐ°Ð·ÑÐ²Ð°ÑÑ ÑÐµ ÑÐ°Ð·ÐŽÐµÐ»Ñ,ÐºÐŸÑÐŸÑÑÐµ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐœÐ°ÐžÐ±ÐŸÐ»ÐµÐµ Ð°ÐŽÐµÐºÐ²Ð°ÑÐœÑÐŒÐž ÐŽÐ»Ñ Ð¿ÐŸÐŒÐŸÑÐž, Ðž ÑÐŸÐ¿ÑÐŸÐ²ÐŸÐ¶ÐŽÐ°ÑÑÑÑ ÐœÐµÐ±ÐŸÐ»ÑÑÐžÐŒ ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµÐŒ ÐºÐœÐžÐ³Ðž  </p>
+
+<p>ÐÐ»Ñ ÐŒÐœÐŸÐ³ÐžÑ
+ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ, ÐµÑÐ»Ðž ÐÑ ÑÐ°Ð·ÐŒÐµÑÐ°ÐµÑÐµ ÐŒÑÑÑ ÐœÐ° ÐœÐžÑ
+,Ð¿ÐŸÑÐ²Ð»ÑÐµÑÑÑ  "Ð¿ÐŸÐŽÑÐºÐ°Ð·ÐºÐ°",ÐºÐŸÑÐŸÑÐ°Ñ ÐŸÐ±ÑÑÑÐœÑÐµÑ ÐŽÐµÐ¹ÑÑÐ²ÐžÑ,ÐºÐŸÑÐŸÑÑÐµ ÐŸÐœÐž Ð²ÑÐ¿ÐŸÐ»ÐœÑÑÑ  </p>
+
+<p>ÐÐµÑÐµÐŽ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÐµÐŒ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐŒ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐŸÐŒ, ÑÐœÐ°ÑÐ°Ð»Ð° Ð¿ÑÐŸÑÑÐžÑÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°ÑÐžÑ Greenstone/</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/importingpreviouslyassignedmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/ru/importingpreviouslyassignedmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/importingpreviouslyassignedmetadata.htm	(revision 21123)
@@ -0,0 +1,52 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="importingpreviouslyassignedmetadata"><font size="5" face="Verdana"><strong>5.7: ÐÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÑÐ°ÑÑÐºÐ°Ð·Ð°ÐœÐŸ, ÐºÐ°Ðº ÐžÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÐµ ÐœÐ°Ð·ÐœÐ°ÑÐµÐœÐœÑÐµ ÑÐ°ÐœÑÑÐµ. Ð ÐµÑÑ ÐžÐŽÐµÑ ÐŸ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+, ÐºÐŸÑÐŸÑÑÐµ Ð±ÑÐ»Ðž ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÑ Ðº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÑÐ°ÐœÑÑÐµ.</p>
+
+<p>ÐÑÐ»Ðž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ð² ÑÐŸÑÐŒÐµ,ÑÐ°ÑÐ¿ÐŸÐ·ÐœÐ°Ð²Ð°ÐµÐŒÐŸÐ¹ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐŒ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐŸÐŒ,Ð±ÑÐ»Ðž Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ Ð·Ð°ÐŽÐ°ÐœÑ ÑÐ°Ð¹Ð»Ñ - ÐœÐ°Ð¿ÑÐžÐŒÐµÑ,ÐºÐŸÐ³ÐŽÐ° ÐÑ Ð²ÑÐ±ÐžÑÐ°ÐµÑÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ ÐžÐ· ÑÑÑÐµÑÑÐ²ÑÑÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Greenstone - ÐŸÐœÐž ÐžÐŒÐ¿ÐŸÑÑÐžÑÑÑÑÑÑ Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž,ÐºÐŸÐ³ÐŽÐ° ÐÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÐµÑÐµ ÑÐ°Ð¹Ð».Ð§ÑÐŸÐ±Ñ ÑÐŽÐµÐ»Ð°ÑÑ ÑÑÐŸ, ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ ÐŸÐ±ÐŸÐ·ÐœÐ°ÑÐµÐœÑ Ð² ÑÑÑÐ°ÐœÐŸÐ²ÐºÐ°Ñ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+,ÐŽÐŸÑÑÑÐ¿ÐœÑÑ
+ Ð² ÑÑÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.</p>
+
+<p>ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ Ð·Ð°Ð¿ÑÐ°ÑÐžÐ²Ð°ÐµÑ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÑÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ.ÐÐ°Ð¿ÑÐŸÑ ÑÐŸÐŽÐµÑÐ¶ÐžÑ ÐºÑÐ°ÑÐºÐžÐµ ÐžÐœÑÑÑÑÐºÑÐžÐž Ðž Ð·Ð°ÑÐµÐŒ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐžÐŒÑ ÑÐ»ÐµÐŒÐµÐœÑÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+,ÐºÐŸÑÐŸÑÑÐµ ÐžÐŒÐ¿ÐŸÑÑÐžÑÑÑÑÑÑ,ÐºÐ°Ðº ÑÐŸÐ»ÑÐºÐŸ ÐŸÐœ Ð¿ÐŸÑÐ²Ð»ÑÐµÑÑÑ Ð² ÐžÑÑ
+ÐŸÐŽÐœÐŸÐŒ ÑÐ°Ð¹Ð»Ðµ.Ð­ÑÐŸ Ð¿ÐŸÐ»Ðµ ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÐœÐŸ ÐžÐ»Ðž ÐžÐ·ÐŒÐµÐœÐµÐœÐŸ.ÐÐ°ÑÐµÐŒ ÐÑ Ð²ÑÐ±ÐžÑÐ°ÐµÑÐµ,ÐºÐ°ÐºÐžÐµ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÑÐ»ÐµÐŒÐµÐœÑÐ° ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ ÐŸÐ±ÐŸÐ·ÐœÐ°ÑÐµÐœÑ,Ð° Ð·Ð°ÑÐµÐŒ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐžÐ¹ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð² ÑÑÐžÑ
+ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐ°Ñ
+.Ð¡ÐžÑÑÐµÐŒÐ° Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž Ð²ÑÐ±ÐžÑÐ°ÐµÑ ÑÐ°ÐŒÐŸÐµ Ð±Ð»ÐžÐ·ÐºÐŸÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÐµ Ð² ÑÐµÑÐŒÐžÐœÐ°Ñ
+ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž Ðž ÑÐ»ÐµÐŒÐµÐœÑÐ° ÐŽÐ»Ñ ÐœÐŸÐ²ÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+. </p>
+
+<p>ÐÑÐŸÐ²ÐµÑÐžÐ² ÑÑÐž ÐŸÐ±ÐŸÐ·ÐœÐ°ÑÐµÐœÐžÑ,ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð²ÑÐ±ÑÐ°ÑÑ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ",ÑÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐœÐŸÐ²ÑÐ¹ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ðº Ð²ÑÐ±ÑÐ°ÐœÐœÑÐŒ ÐœÐ°Ð±ÐŸÑÐ°ÐŒ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+.Ð­ÑÐŸ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ ÑÐŸÐ»ÑÐºÐŸ ÑÐŸÐ³ÐŽÐ°,ÐºÐŸÐ³ÐŽÐ° ÐŸÑÑÑÑÑÑÐ²ÑÐµÑ ÑÐ»ÐµÐŒÐµÐœÑ Ñ ÑÐµÐŒ Ð¶Ðµ ÑÐ°ÐŒÑÐŒ ÐžÐŒÐµÐœÐµÐŒ Ð² Ð¿ÑÐµÐŽÐµÐ»Ð°Ñ
+ Ð²ÑÐ±ÑÐ°ÐœÐœÑÑ
+ ÑÑÑÐ°ÐœÐŸÐ²ÐŸÐº; "ÐÐ±ÑÐµÐŽÐžÐœÐžÑÑ" ÐŸÐ±ÐŸÐ·ÐœÐ°ÑÐ°ÐµÑ Ð¿ÑÐžÑÐŸÐµÐŽÐžÐœÐµÐœÐžÐµ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÑÐ»ÐµÐŒÐµÐœÑÐ° Ðº ÑÐ¶Ðµ ÑÐ°ÐœÐµÐµ Ð²ÑÐ±ÑÐ°ÐœÐœÐŸÐŒÑ  Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»ÐµÐŒ;ÐœÐ°ÐºÐŸÐœÐµÑ, "ÐÐµ ÑÑÐžÑÑÐ²Ð°ÑÑ", ÑÑÐŸÐ±Ñ ÐœÐµ ÐžÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÐœÐžÐºÐ°ÐºÐžÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ñ ÑÑÐžÐŒ ÐžÐŒÐµÐœÐµÐŒ ÑÐ»ÐµÐŒÐµÐœÑÐ°. ÐÐ°Ðº ÑÐŸÐ»ÑÐºÐŸ ÐÑ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÐ»Ðž,ÐºÐ°Ðº ÐžÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÐœÐµÐºÐŸÑÐŸÑÑÑ ÑÐ°ÑÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, Ð·Ð°Ð¿ÐžÑÐ°ÐœÐœÐ°Ñ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÑÐŸÑ
+ÑÐ°ÐœÑÐµÑÑÑ ÐœÐ° Ð²ÑÐµÐŒÑ ÑÑÑÐµÑÑÐ²ÐŸÐ²Ð°ÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.</p>
+
+<p>ÐÐ»Ñ ÐŽÐµÑÐ°Ð»ÐµÐ¹ ÐŸÑÐœÐŸÑÐžÑÐµÐ»ÑÐœÐŸ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð² metadata.xml, ÐºÐŸÑÐŸÑÑÐ¹ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ Ð² Greenstone ÐŽÐ»Ñ Ñ
+ÑÐ°ÐœÐµÐœÐžÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÑÐŒ.Ð³Ð»Ð°Ð²Ñ 2 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/introduction.htm
===================================================================
--- main/tags/2.83/gli/help/ru/introduction.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/introduction.htm	(revision 21123)
@@ -0,0 +1,20 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="introduction"><font size="5" face="Verdana"><strong>1: ÐÐ²ÐµÐŽÐµÐœÐžÐµ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ Greenstone - ÑÑÐŸ ÐžÐœÑÑÑÑÐŒÐµÐœÑ ÐŽÐ»Ñ ÑÐ±ÐŸÑÐ° Ðž ÐŸÐ±ÑÐ°Ð±ÐŸÑÐºÐž ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ² Ñ Ð¿ÐŸÑÐ»ÐµÐŽÑÑÑÐžÐŒ ÑÐŸÐ·ÐŽÐ°ÐœÐžÐµÐŒ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÑÐžÑÑÐŸÐ²ÑÑ
+ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐº.ÐÐœ ÐŸÐ±ÐµÑÐ¿ÐµÑÐžÐ²Ð°ÐµÑ ÐŽÐŸÑÑÑÐ¿ Ðº ÑÑÐœÐºÑÐžÐŸÐœÐ°Ð»ÑÐœÑÐŒ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÑÐŒ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐœÐŸÐ³ÐŸ ÐŸÐ±ÐµÑÐ¿ÐµÑÐµÐœÐžÑ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž Greenstone Ð³ÑÐ°ÑÐžÑÐµÑÐºÐžÐŒ Ð¿ÑÑÐµÐŒ Ðž ÑÐ°Ð±ÐŸÑÐŸÐ¹ ÐŒÑÑÑÑ.</p>
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/miscellaneous.htm
===================================================================
--- main/tags/2.83/gli/help/ru/miscellaneous.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/miscellaneous.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="miscellaneous"><font size="5" face="Verdana"><strong>9: Ð Ð°Ð·ÐœÐŸÐµ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð­ÑÐŸÑ ÑÐ°Ð·ÐŽÐµÐ» ÐŸÐ¿ÐžÑÑÐ²Ð°ÐµÑ ÐŸÑÐŸÐ±ÐµÐœÐœÐŸÑÑÐž ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ°,ÐºÐŸÑÐŸÑÑÐµ ÐœÐµ ÑÐ²ÑÐ·Ð°ÐœÑ ÐœÐž Ñ ÐºÐ°ÐºÐžÐŒ ÑÐ¿ÐµÑÐžÑÐžÑÐµÑÐºÐžÐŒ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµÐŒ.</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/ofmiceandmenus.htm
===================================================================
--- main/tags/2.83/gli/help/ru/ofmiceandmenus.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/ofmiceandmenus.htm	(revision 21123)
@@ -0,0 +1,36 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="ofmiceandmenus"><font size="5" face="Verdana"><strong>1.1: ÐÑÑÑ Ðž ÐÐµÐœÑ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð­ÑÐŸÑ ÑÐ°Ð·ÐŽÐµÐ» ÐŽÐ°ÐµÑ Ð±Ð°Ð·ÐŸÐ²ÑÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸ Ð²Ð·Ð°ÐžÐŒÐŸÐŽÐµÐ¹ÑÑÐ²ÐžÐž Ñ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐŸÐŒ  Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐž. ÐÑÐ»Ðž ÐÑ Ð·ÐœÐ°ÐºÐŸÐŒÑ Ñ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐ°ÐŒÐž ÑÐžÐ¿Ð° Internet Explorer ÐžÐ»Ðž Microsoft office, Ð»ÐµÐ³ÐºÐŸ ÐŸÐ±ÑÐ°ÑÐ°ÐµÑÐµÑÑ Ñ ÐŒÑÑÑÑ Ðž ÐŒÐµÐœÑ, Ð¿ÑÐŸÐ¿ÑÑÑÐžÑÐµ <a href="howtoavoidthisdocument.htm">ÐÐ°Ðº ÐžÐ·Ð±ÐµÐ¶Ð°ÑÑ ÑÑÐµÐœÐžÑ ÑÑÐŸÐ³ÐŸ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°</a>.</p>
+
+<p>ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÐµÑ ÑÐŸÐ³Ð»Ð°ÑÐµÐœÐžÑÐŒ Windows Microsoft Ðž ÑÑÐµÐ±ÑÐµÑ ÐŸÐ±ÑÑÐœÐŸÐ³ÐŸ Ð·ÐœÐ°ÐœÐžÑ Windows.</p>
+
+<p>ÐÑÐ±Ð°Ñ ÑÐ°ÑÑÑ ÑÐºÑÐ°ÐœÐ°, Ñ ÐºÐŸÑÐŸÑÐŸÐ¹ ÐÑ Ð²Ð·Ð°ÐžÐŒÐŸÐŽÐµÐ¹ÑÑÐ²ÑÐµÑÐµ, ÑÐžÐ¿Ð° ÐºÐœÐŸÐ¿ÐºÐž ÐžÐ»Ðž ÐŸÐ±Ð»Ð°ÑÑÐž ÑÐµÐºÑÑÐ°,ÐœÐ°Ð·ÑÐ²Ð°ÐµÑÑÑ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÐµÐŒ. Ð Ð»ÑÐ±ÐŸÐµ Ð·Ð°ÐŽÐ°ÐœÐœÐŸÐµ Ð²ÑÐµÐŒÑ ÐŸÐŽÐžÐœ ÑÐ»ÐµÐŒÐµÐœÑ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ, ÐœÐ°Ð·ÑÐ²Ð°ÐµÐŒÑÐ¹ "ÑÐŸÐºÑÑ",Ð²ÑÐŽÐµÐ»ÑÐµÑÑÑ Ð¿ÐŸÐŽÑÐ²ÐµÑÐºÐŸÐ¹ Ðž ÐŸÑÐºÐ»ÐžÐºÐ°ÐµÑÑÑ ÐœÐ° ÐŽÐµÐ¹ÑÑÐ²ÐžÐµ ÐºÐ»Ð°Ð²ÐžÐ°ÑÑÑÑ. ÐÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÑÑ ÐÐ°ÐŒ Ð²ÑÐ±ÐžÑÐ°ÑÑ ÑÑÐ°ÑÑÐºÐž, ÐºÐŸÑÐŸÑÑÐµ Ð²ÑÐŽÐµÐ»ÑÑÑÑÑ ÑÐµÐŒÐœÐŸÑÐžÐœÐžÐŒ ÑÐ²ÐµÑÐŸÐŒ. ÐÐµÐºÐŸÑÐŸÑÑÐµ ÑÐ»ÐµÐŒÐµÐœÑÑ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ ÐŸÑÐŸÐ±ÑÐ°Ð¶Ð°ÑÑÑÑ Ñ Ð¿ÐŸÐœÐžÐ¶ÐµÐœÐœÐŸÐ¹ ÑÑÐºÐŸÑÑÑÑ, Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°Ñ ÑÐµÐŒ ÑÐ°ÐŒÑÐŒ, ÑÑÐŸ ÐŸÐœÐž Ð·Ð°Ð±Ð»ÐŸÐºÐžÑÐŸÐ²Ð°ÐœÑ.</p>
+
+<p>ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð¿ÐµÑÐµÐŒÐµÑÐ°ÑÑÑÑ Ðž ÐŽÐµÐ¹ÑÑÐ²ÐŸÐ²Ð°ÑÑ  Ð»ÐµÐ²ÐŸÐ¹ ÐžÐ»Ðž Ð¿ÑÐ°Ð²ÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐ°ÐŒÐž ÐŒÑÑÐž ÐŸÐ±ÑÑÐœÑÐŒ ÑÐ¿ÐŸÑÐŸÐ±ÐŸÐŒ. ÐÐœÐŸÐ³ÐžÐµ ÐºÐŸÐŒÐ¿ÐŸÐœÐµÐœÑÑ ÑÐ°ÐºÐ¶Ðµ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÑÑ ÐÐ°ÐŒ "ÑÑÐœÑÑÑ" ÐžÑ
+, ÐœÐ°Ð¶ÐžÐŒÐ°Ñ Ðž ÑÐŽÐµÑÐ¶ÐžÐ²Ð°Ñ Ð»ÐµÐ²ÑÑ ÐºÐœÐŸÐ¿ÐºÑ ÐŒÑÑÐž, Ð¿ÐµÑÐµÐŒÐµÑÐ°ÑÑ ÐžÑ
+ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÐŒÑÑÐž Ðž ÐŸÑÑÐ°Ð²ÐžÑÑ ÐžÑ
+ Ð² ÐŽÑÑÐ³ÐŸÐŒ ÐŒÐµÑÑÐµ, ÐŸÑÐ¿ÑÑÐºÐ°Ñ ÐºÐœÐŸÐ¿ÐºÑ. ÐÐŸÑÐµÐœÑÐžÐ°Ð»ÑÐœÑÐµ ÐŸÐ±ÑÐµÐºÑÑ ÐœÐ°Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐžÐ·ÐŒÐµÐœÑÑÑ ÑÐ²ÐŸÐ¹ Ð²ÐžÐŽ, ÐºÐŸÐ³ÐŽÐ° ÐºÐŸÐŒÐ¿ÐŸÐœÐµÐœÑ ÑÐºÐŸÐ»ÑÐ·ÐžÑ Ð¿ÐŸ ÐœÐžÐŒ.  </p>
+
+<p>ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐºÐ»Ð°Ð²ÐžÐ°ÑÑÑÑ ÐŽÐ»Ñ Ð·Ð°Ð¿ÐžÑÐž Ð² ÐŸÐ±Ð»Ð°ÑÑÐž ÑÐµÐºÑÑÐ°. ÐÐ»ÑÑÐµÑÐœÐ°ÑÐžÐ²Ñ ÐºÐ»Ð°Ð²ÐžÐ°ÑÑÑÐµ ÐŽÐŸÑÑÑÐ¿ÐœÑ ÐŽÐ»Ñ ÐŒÐœÐŸÐ³ÐžÑ
+ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ, ÐŸÐ±ÐŸÐ·ÐœÐ°ÑÐµÐœÐœÑÑ
+ ÐºÐ»ÑÑÐµÐ²ÑÐŒ ÐžÐŒÐµÐœÐµÐŒ Ð² ÐºÐ²Ð°ÐŽÑÐ°ÑÐœÑÑ
+ ÑÐºÐŸÐ±ÐºÐ°Ñ
+. Ð Ð¿ÑÐžÐŒÐµÑÑ, [Tab] ÐžÐ·ÐŒÐµÐœÑÐµÑ ÑÐŸÐºÑÑ. ÐÐœÐ°Ðº Ð¿Ð»ÑÑ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ, ÑÑÐŸ ÐŽÑÑÐ³ÐžÐµ ÐºÐ»Ð°Ð²ÐžÑÐž ÐŽÐŸÐ»Ð¶ÐœÑ Ð±ÑÑÑ ÐœÐ°Ð¶Ð°ÑÑ ÐŸÐŽÐœÐŸÐ²ÑÐµÐŒÐµÐœÐœÐŸ. </p>
+
+<p>ÐÑÐ¹ÐŽÐžÑÐµ ÐžÐ· Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÑ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ°, Ð²ÑÐ±ÐžÑÐ°Ñ Ð¿ÑÐœÐºÑ "ÐÑÑ
+ÐŸÐŽ" Ð² ÐŒÐµÐœÑ "Ð€Ð°Ð¹Ð»Ð°". ÐÐ°ÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð±ÑÐŽÐµÑ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ  ÑÐŸÑ
+ÑÐ°ÐœÐµÐœÐ°.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/openingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/ru/openingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/openingacollection.htm	(revision 21123)
@@ -0,0 +1,29 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="openingacollection"><font size="5" face="Verdana"><strong>2.3: ÐÑÐºÑÑÑÐžÐµ ÑÑÑÐµÑÑÐ²ÑÑÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐ»Ñ ÑÐŸÐ³ÐŸ ÑÑÐŸÐ±Ñ ÐŸÑÐºÑÑÑÑ ÑÑÑÐµÑÑÐ²ÑÑÑÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, Ð²ÑÐ±ÐµÑÐžÑÐµ "ÐÑÐºÑÑÑÑ" Ð² ÐŒÐµÐœÑ "Ð€Ð°Ð¹Ð»",ÑÑÐŸÐ±Ñ Ð±ÑÑÑÑÐŸ Ð¿ÐµÑÐµÐ¹ÑÐž Ðº ÐÑÐºÑÑÑÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÐŸÑÐ²Ð»ÑÐµÑÑÑ ÑÐ¿ÐžÑÐŸÐº ÐÐ°ÑÐžÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ Ð² Greenstone. ÐÑÐ±ÐµÑÐžÑÐµ ÐŸÐŽÐœÑ,ÑÑÐŸÐ±Ñ ÑÐ²ÐžÐŽÐµÑÑ ÐµÐµ ÐŸÐ¿ÐžÑÐ°ÐœÐžÐµ,Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ   "OÑÐºÑÑÑÑ", ÑÑÐŸÐ±Ñ Ð·Ð°Ð³ÑÑÐ·ÐžÑÑ ÐµÐµ.</p>
+
+<p>Ð ÑÐ»ÑÑÐ°Ðµ, ÐµÑÐ»Ðž Ð±ÐŸÐ»ÑÑÐµ ÑÐµÐŒ ÐŸÐŽÐœÐ° Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐ° ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ° Greenstone Ð²Ð²ÐŸÐŽÐžÑÑÑ ÐŸÐŽÐœÐŸÐ²ÑÐµÐŒÐµÐœÐœÐŸ, ÑÐµÐ»ÐµÐ²Ð°ÐœÑÐœÑÐµ ÐŽÐžÑÐµÐºÑÑÐžÐž "Ð·Ð°ÐºÑÑÑÑ",ÑÑÐŸÐ±Ñ Ð¿ÑÐµÐŽÐŸÑÐ²ÑÐ°ÑÐžÑÑ ÐœÐ°Ð»ÐŸÐ¶ÐµÐœÐžÐµ.ÐÑÐž ÐŸÑÐºÑÑÑÐžÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐœÐµÐ±ÐŸÐ»ÑÑÐŸÐ¹ Ð²ÑÐµÐŒÐµÐœÐœÑÐ¹ Ð±Ð»ÐŸÐºÐžÑÑÑÑÐžÐ¹ ÑÐ°Ð¹Ð» ÑÐŸÐ·ÐŽÐ°ÐµÑÑÑ Ð² ÐµÑ Ð¿Ð°Ð¿ÐºÐµ.ÐÐµÑÐµÐŽ ÐŸÑÐºÑÑÑÐžÐµÐŒ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐŽÐžÑ Ð¿ÑÐŸÐ²ÐµÑÐºÑ,ÑÑÐŸÐ±Ñ ÑÐ±ÐµÐŽÐžÑÑÑÑ,ÑÑÐŸ ÐœÐžÐºÐ°ÐºÐžÑ
+ Ð±Ð»ÐŸÐºÐžÑÑÑÑÐžÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ² ÐœÐµ ÑÑÑÐµÑÑÐ²ÑÐµÑ. ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÑÐºÐ°Ð·Ð°ÑÑ,Ð·Ð°ÐºÑÑÑÐ° Ð»Ðž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, Ð¿ÐŸ ÑÐ²ÐµÑÑ ÐµÑ ÐžÐºÐŸÐœÐºÐž:Ð·ÐµÐ»ÑÐœÑÐ¹ - ÐŽÐ»Ñ ÐœÐŸÑÐŒÐ°Ð»ÑÐœÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž,ÐºÑÐ°ÑÐœÑÐ¹ - ÐŽÐ»Ñ Ð·Ð°ÐºÑÑÑÐŸÐ¹. ÐÐŽÐœÐ°ÐºÐŸ,ÐºÐŸÐ³ÐŽÐ° ÐžÐ· ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ° Ð²ÑÑ
+ÐŸÐŽÑÑ Ð¿ÑÐµÐ¶ÐŽÐµÐ²ÑÐµÐŒÐµÐœÐœÐŸ, Ð±Ð»ÐŸÐºÐžÑÑÑÑÐžÐ¹ ÑÐ°Ð¹Ð» ÐžÐœÐŸÐ³ÐŽÐ° ÐŸÑÑÐ°ÐµÑÑÑ ÐœÐ° ÐŒÐµÑÑÐµ. ÐÐŸÐ³ÐŽÐ° ÐÑ ÐŸÑÐºÑÑÐ²Ð°ÐµÑÐµ ÑÐ°ÐºÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÐÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ° Ð·Ð°Ð¿ÑÐ°ÑÐžÐ²Ð°ÐµÑ,Ñ
+ÐŸÑÐžÑÐµ Ð»Ðž ÐÑ "ÑÐºÑÐ°ÑÑÑ" ÐµÐ³ÐŸ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÐµ. ÐÐžÐºÐŸÐ³ÐŽÐ° ÐœÐµ ÐŽÐµÐ»Ð°Ð¹ÑÐµ ÑÑÐŸÐ³ÐŸ,ÐµÑÐ»Ðž ÐºÑÐŸ-ÑÐŸ ÐµÑÐµ Ð² ÑÐŸ Ð¶Ðµ ÑÐ°ÐŒÐŸÐµ Ð²ÑÐµÐŒÑ ÑÐ°Ð±ÐŸÑÐ°ÐµÑ.</p>
+
+<p>ÐÐŸÐ³ÐŽÐ° ÐÑ ÐŸÑÐºÑÑÐ²Ð°ÐµÑÐµ ÐºÐŸÐ»ÐµÐºÑÐžÑ, ÐºÐŸÑÐŸÑÐ°Ñ ÑÐŸÐ·ÐŽÐ°ÐœÐ° ÐœÐµ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ°  Greenstone, ÐÐ°Ñ Ð¿ÐŸÐ¿ÑÐŸÑÑÑ Ð²ÑÐ±ÑÐ°ÑÑ ÐœÐ°Ð±ÐŸÑ (ÐžÐ»Ðž ÐœÐ°Ð±ÐŸÑÑ) ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+. ÐÑÐ»Ðž ÐœÐž ÐŸÐŽÐžÐœ ÐœÐµ ÐŸÑÐŸÐ±ÑÐ°Ðœ, Ð»ÑÐ±ÑÐµ ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ð±ÑÐŽÑÑ ÐžÐ³ÐœÐŸÑÐžÑÐŸÐ²Ð°ÑÑÑÑ. ÐÐœÐ°ÑÐµ, ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ð±ÑÐŽÑÑ ÐžÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÑ ÑÐ°Ðº Ð¶Ðµ, ÐºÐ°Ðº Ðž ÐºÐŸÐ³ÐŽÐ° ÐÑ Ð¿ÐµÑÐµÑÑÐ³ÐžÐ²Ð°ÐµÑÐµ Ð² ÑÐ°Ð¹Ð»Ñ Ñ ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐŒÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒÐž. ÐÑÐŸÑÐµÑÑ ÐŸÐ¿ÐžÑÐ°Ðœ Ð² <a href="importingpreviouslyassignedmetadata.htm">ÐÐŒÐ¿ÐŸÑÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</a>. </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/partitionindexes.htm
===================================================================
--- main/tags/2.83/gli/help/ru/partitionindexes.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/partitionindexes.htm	(revision 21123)
@@ -0,0 +1,33 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="partitionindexes"><font size="5" face="Verdana"><strong>6.4: ÐÐœÐŽÐµÐºÑÑ ÑÐ°Ð·Ð±ÐžÐµÐœÐžÑ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐœÐŽÐµÐºÑÑ Ð¿ÐŸÑÑÑÐŸÐµÐœÑ ÐœÐ° ÐŽÐµÑÐ°Ð»ÑÐœÐŸÐŒ ÑÐµÐºÑÑÐµ ÐžÐ»Ðž ÐžÑÑÐŸÑÐœÐžÐºÐ°Ñ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+. ÐÐµÑÑÐŸ Ð¿ÐŸÐžÑÐºÐ° ÐŒÐŸÐ¶ÐµÑ Ð² ÐŽÐ°Ð»ÑÐœÐµÐ¹ÑÐµÐŒ ÑÐ¿ÑÐ°Ð²Ð»ÑÑÑÑÑ Ð¿ÑÑÑÐŒ ÑÐ°Ð·Ð±ÐžÐµÐœÐžÑ ÐžÐœÐŽÐµÐºÑÐŸÐ² Ð»ÐžÐ±ÐŸ Ð¿ÐŸ ÑÐ·ÑÐºÑ ÐžÐ»Ðž Ð¿ÐŸ ÐœÐ°Ð·ÐœÐ°ÑÐµÐœÐœÑÐŒ ÑÐžÐ»ÑÑÑÐ°ÐŒ.Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ¿ÐžÑÑÐ²Ð°ÐµÑÑÑ,ÐºÐ°Ðº ÑÑÐŸ ÑÐŽÐµÐ»Ð°ÑÑ. ÐÐœÑÑÑÐž "Ð Ð°Ð·ÐŽÐµÐ»ÐŸÐ² ÐŽÐžÐ·Ð°Ð¹ÐœÐ°" ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐœÐŽÐµÐºÑÑ ÑÐ°Ð·Ð±ÐžÐµÐœÐžÑ".</p>
+
+<p>ÐÐžÐŽ "ÐÐœÐŽÐµÐºÑÑ ÑÐ°Ð·Ð±ÐžÐµÐœÐžÑ" ÐžÐŒÐµÐµÑ ÑÑÐž Ð·ÐœÐ°ÑÐµÐœÐžÑ:"ÐÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ ÑÐžÐ»ÑÑÑÑ","ÐÐ°Ð·ÐœÐ°ÑÐžÑÑ ÑÐ°Ð·Ð±ÐžÐµÐœÐžÐµ" Ðž "ÐÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ ÑÐ·ÑÐºÐž". ÐÐ»Ñ ÑÐŸÐ³ÐŸ ÑÑÐŸÐ±Ñ Ð±ÐŸÐ»ÑÑÐµ ÑÐ·ÐœÐ°ÑÑ ÐŸ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐž, ÑÐžÑÐ°Ð¹ÑÐµ  ÐŸ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑ
+ Ðž Ð¿ÐŸÐŽÐžÐœÐŽÐµÐºÑÐ°Ñ
+ Ð² Ð³Ð»Ð°Ð²Ðµ 2 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone.</p>
+
+<p>Ð­ÐºÑÐ°Ðœ ÐÐœÐŽÐµÐºÑÐŸÐ² Ð Ð°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐµÐœ ÑÐŸÐ»ÑÐºÐŸ Ð² ÑÐµÐ¶ÐžÐŒÐ°Ñ
+ Ð¡Ð¿ÐµÑÐžÐ°Ð»ÐžÑÑ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÑ
+ Ð¡ÐžÑÑÐµÐŒ Ðž Ð­ÐºÑÐ¿ÐµÑÑ (ÑÐŒ. <a href="preferences.htm">ÐÑÐµÐŽÐ¿ÐŸÑÑÐµÐœÐžÑ</a>). ÐÐ°ÐŒÐµÑÑÑÐµ, ÑÑÐŸ ÐŸÐ±ÑÐµÐµ ÐºÐŸÐ»ÐžÑÐµÑÑÐ²ÐŸ Ð¿ÑÐŸÐžÐ·Ð²ÐµÐŽÐµÐœÐœÑÑ
+ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐ¹ ÑÐ²Ð»ÑÐµÑÑÑ ÐºÐŸÐŒÐ±ÐžÐœÐ°ÑÐžÐµÐ¹ Ð²ÑÐµÑ
+ ÐžÐœÐŽÐµÐºÑÐŸÐ², ÑÐžÐ»ÑÑÑÐŸÐ² ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž Ð²ÑÐ±ÑÐ°ÐœÐœÑÑ
+ ÑÐ·ÑÐºÐŸÐ². ÐÐ²Ð° ÐžÐœÐŽÐµÐºÑÐ° Ñ ÐŽÐ²ÑÐŒÑ ÑÐžÐ»ÑÑÑÐ°ÐŒÐž ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð¿ÐŸ ÐŽÐ²ÑÐŒ ÑÐ·ÑÐºÐ°ÐŒ Ð¿ÑÐžÐ²ÐµÐ»ÐŸ Ð±Ñ Ðº Ð²ÐŸÑÑÐŒÐž ÐžÐœÐŽÐµÐºÑÐ°ÐŒ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ.</p>
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/plugins.htm
===================================================================
--- main/tags/2.83/gli/help/ru/plugins.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/plugins.htm	(revision 21123)
@@ -0,0 +1,39 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="plugins"><font size="5" face="Verdana"><strong>6.2: ÐÐ»Ð°Ð³ÐžÐœÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ¿ÐžÑÐ°ÐœÐŸ,ÐºÐ°Ðº ÑÐŸÑÐŒÐžÑÐŸÐ²Ð°ÑÑ Ð¿Ð»Ð°Ð³ÐžÐœÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ° ÐŽÐ»Ñ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐµÐ¹.Ð ÐœÑÐŒ ÐŸÐ±ÑÑÑÐœÑÐµÑÑÑ,ÐºÐ°Ðº ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ,ÐºÐ°ÐºÐžÐµ Ð¿Ð»Ð°Ð³ÐžÐœÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ, ÐºÐ°ÐºÐžÐµ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÑ Ð¿ÐµÑÐµÐŽÐ°Ð²Ð°ÑÑ Ðº ÐœÐžÐŒ Ðž Ð² ÐºÐ°ÐºÐŸÐŒ Ð¿ÐŸÑÑÐŽÐºÐµ ÐŸÐœÐž Ð²Ñ
+ÐŸÐŽÑÑ. Ð©ÐµÐ»ÐºÐœÐžÑÐµ "ÐÐ»Ð°Ð³ÐžÐœÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ²" Ð² Ð¿ÑÐœÐºÑÐµ "Ð Ð°Ð·ÐŽÐµÐ»Ñ Ð¿ÑÐŸÐµÐºÑÐ°".</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÑÑ Ð¿Ð»Ð°Ð³ÐžÐœ, Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ,ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ "ÐÑÐ±ÐŸÑ Ð¿Ð»Ð°Ð³ÐžÐœÐ° ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ" Ð² ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐŒ ÑÐ¿ÐžÑÐºÐµ ÐŸÐºÐŸÐ»ÐŸ ÐŸÑÐœÐŸÐ²Ð°ÐœÐžÑ,Ðž Ð·Ð°ÑÐµÐŒ ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ Ð¿Ð»Ð°Ð³ÐžÐœ". ÐÐŸÑÐ²Ð»ÑÐµÑÑÑ ÐŸÐºÐœÐŸ Ñ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµÐŒ "ÐÐŸÐœÑÐžÐ³ÑÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÐŸÐ²";ÐŸÐœÐŸ ÐŸÐ¿ÐžÑÐ°ÐœÐŸ ÐœÐžÐ¶Ðµ. ÐÐ°Ðº ÑÐŸÐ»ÑÐºÐŸ ÐÑ ÑÑÐŸÑÐŒÐžÑÐŸÐ²Ð°Ð»Ðž ÐœÐŸÐ²ÑÐ¹ Ð¿Ð»Ð°Ð³ÐžÐœ, ÐŸÐœ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÐµÑÑÑ Ð² ÐºÐŸÐœÐµÑ ÑÐ¿ÐžÑÐºÐ° "Ð£ÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœÐœÑÐµ ÑÐµÐºÑÑÐžÐµ Ð¿Ð»Ð°Ð³ÐžÐœÑ". ÐÐ°ÐŒÐµÑÑÑÐµ, ÑÑÐŸ, ÐºÑÐŸÐŒÐµ UnknownPlug, ÐºÐ°Ð¶ÐŽÑÐ¹ Ð¿Ð»Ð°Ð³ÐžÐœ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ Ð²ÑÐ²ÐµÐŽÐµÐœ ÑÐŸÐ»ÑÐºÐŸ ÐŸÐŽÐžÐœ ÑÐ°Ð· Ð² ÑÐ¿ÐžÑÐºÐµ.</p>
+
+<p>ÐÐ»Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ° ÐºÑÐ°ÑÐºÐŸÐ³ÐŸ ÐŸÐ¿ÐžÑÐ°ÐœÐžÑ Ð¿Ð»Ð°Ð³ÐžÐœÐ° Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ Ð² ÑÐ¿ÐžÑÐºÐµ &laquo;ÐÑÐ±ÐŸÑ Ð¿Ð»Ð°Ð³ÐžÐœÐ° ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ&raquo; Ðž ÐœÐ°Ð²ÐµÐŽÐžÑÐµ ÐœÐ° ÐœÐµÐ³ÐŸ ÐŒÑÑÑ. ÐÐŸÑÐ²ÐžÑÑÑ ÐŸÐºÐŸÑÐºÐŸ Ñ ÐŸÐ¿ÐžÑÐ°ÐœÐžÐµÐŒ.</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ Ð¿Ð»Ð°Ð³ÐžÐœ,Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ Ð² ÑÐ¿ÐžÑÐºÐµ Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ Ð¿Ð»Ð°Ð³ÐžÐœ".</p>
+
+<p>ÐÐ»Ð°Ð³ÐžÐœÑ ÑÐŸÑÐŒÐžÑÑÑÑÑÑ Ð¿ÑÑÐµÐŒ Ð¿ÑÐµÐŽÐŸÑÑÐ°Ð²Ð»ÐµÐœÐžÑ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÐŸÐ². Ð§ÑÐŸÐ±Ñ ÐžÐ·ÐŒÐµÐœÐžÑÑ ÐžÑ
+, Ð²ÑÐ±ÐµÑÐžÑÐµ Ð¿Ð»Ð°Ð³ÐžÐœ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð€ÐŸÑÐŒÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð¿Ð»Ð°Ð³ÐžÐœÐŸÐ²"(ÐžÐ»Ðž ÐŽÐ²ÐŸÐ¹ÐœÑÐŒ ÑÐµÐ»ÑÐºÐŸÐŒ ÐœÐ° Ð¿Ð»Ð°Ð³ÐžÐœÐµ). ÐÐžÐ°Ð»ÐŸÐ³ "ÐÐŸÐœÑÐžÐ³ÑÑÐ°ÑÐžÐŸÐœÐœÑÐµ ÐÑÐ³ÑÐŒÐµÐœÑÑ" Ð²ÐŸÐ·ÐœÐžÐºÐ°ÐµÑ Ñ ÑÐ°Ð·Ð»ÐžÑÐœÑÐŒÐž ÐŸÐ¿ÑÐžÑÐŒÐž ÐŽÐ»Ñ ÑÐºÐ°Ð·Ð°ÐœÐžÑ Ð°ÑÐ³ÑÐŒÐµÐœÑÐŸÐ².</p>
+
+<p>Ð¡ÑÑÐµÑÑÐ²ÑÑÑ ÑÐ°Ð·Ð»ÐžÑÐœÑÐµ Ð²ÐžÐŽÑ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ. ÐÐµÐºÐŸÑÐŸÑÑÐµ ÑÐ²Ð»ÑÑÑÑÑ ÐœÐµÐ·Ð°Ð²ÐžÑÐžÐŒÑÐŒÐž ÐºÐœÐŸÐ¿ÐºÐ°ÐŒÐž Ðž ÑÐµÐ»ÑÐŸÐº ÐŽÐŸÐ±Ð°Ð²Ð»ÑÐµÑ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÑÑ ÐŸÐ¿ÑÐžÑ Ðº Ð¿Ð»Ð°Ð³ÐžÐœÑ. ÐÑÑÐ³ÐžÐµ Ð²ÑÑÑÑÐ¿Ð°ÑÑ Ð² ÐºÐ°ÑÐµÑÑÐ²Ðµ ÑÑÑÐŸÐºÐž ÑÐµÐºÑÑÐ° Ñ ÐœÐµÐ·Ð°Ð²ÐžÑÐžÐŒÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐŸÐ¹ Ðž ÐŸÐ±Ð»Ð°ÑÑÑÑ ÑÐµÐºÑÑÐ°. Ð©ÐµÐ»ÐºÐœÐžÑÐµ ÐœÐ° Ð¿ÐŸÐ»Ðµ,ÑÑÐŸÐ±Ñ Ð²ÑÐ·Ð²Ð°ÑÑ Ð¿Ð°ÑÐ°ÐŒÐµÑÑ,Ð·Ð°ÑÐµÐŒ ÐœÐ°Ð¿ÐµÑÐ°ÑÐ°Ð¹ÑÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐžÐ¹ ÑÐµÐºÑÑ (Ð¿ÑÐ°Ð²ÐžÐ»ÑÐœÐŸÐµ Ð²ÑÑÐ°Ð¶ÐµÐœÐžÐµ,Ð¿ÑÑÑ ÑÐ°Ð¹Ð»Ð° Ðž Ñ.ÐŽ.) Ð² Ð¿ÐŸÐ»Ðµ. ÐÑÑÐ³ÐžÐµ - ÑÑÐŸ ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐžÐµ ÐŒÐµÐœÑ,Ð² ÐºÐŸÑÐŸÑÑÑ
+ ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð²ÑÐ±ÐžÑÐ°ÑÑ ÐœÑÐ¶ÐœÐŸÐµ ÐžÐ· Ð·Ð°ÐŽÐ°ÐœÐœÐŸÐ³ÐŸ ÐœÐ°Ð±ÐŸÑÐ° Ð·ÐœÐ°ÑÐµÐœÐžÐ¹. Ð§ÑÐŸÐ±Ñ Ð¿ÐŸÐœÑÑÑ,ÑÑÐŸ ÐŽÐµÐ»Ð°ÐµÑ Ð¿Ð°ÑÐ°ÐŒÐµÑÑ, ÐŽÐ°Ð¹ÑÐµ ÐŒÑÑÐž ÐœÐ° ÐŒÐ³ÐœÐŸÐ²ÐµÐœÐžÐµ Ð¿ÑÐŸÐ¹ÑÐž Ð¿ÐŸ ÐµÐ³ÐŸ ÐœÐ°Ð·Ð²Ð°ÐœÐžÑ Ðž ÐŸÐ¿ÐžÑÐ°ÐœÐžÐµ Ð¿ÐŸÑÐ²ÐžÑÑÑ. </p>
+
+<p>ÐÐŸÐ³ÐŽÐ° ÐÑ ÐžÐ·ÐŒÐµÐœÐžÐ»Ðž ÐºÐŸÐœÑÐžÐ³ÑÑÐ°ÑÐžÑ,ÐœÐ°Ð¶ÐŒÐžÑÐµ "ÐÐ", ÑÑÐŸÐ±Ñ Ð¿ÑÐžÐœÑÑÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ Ðž Ð·Ð°ÐºÑÑÑÑ ÐŽÐžÐ°Ð»ÐŸÐ³,ÐžÐ»Ðž "ÐÑÐŒÐµÐœÐžÑÑ",ÑÑÐŸÐ±Ñ Ð·Ð°ÐºÑÑÑÑ ÐŽÐžÐ°Ð»ÐŸÐ³ Ð±ÐµÐ· ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ Ð»ÑÐ±ÑÑ
+ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÐŸÐ² Ð¿Ð»Ð°Ð³ÐžÐœÐ°. </p>
+
+<p>ÐÐ»Ð°Ð³ÐžÐœÑ Ð² ÑÐ¿ÐžÑÐºÐµ ÑÐ°ÑÐ¿ÐŸÐ»ÐŸÐ¶ÐµÐœÑ Ð² ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐœÐŸÐŒ Ð¿ÐŸÑÑÐŽÐºÐµ,ÑÐ°Ðº ÐºÐ°Ðº ÑÐ¿ÐŸÑÑÐŽÐŸÑÐµÐœÐžÐµ ÐžÐœÐŸÐ³ÐŽÐ° Ð²Ð°Ð¶ÐœÐŸ. ÐÐŸÑÑÐŽÐŸÐº ÐŽÐŸÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»ÑÐœÑÑ
+ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐœÑÑ
+ ÐŒÐŸÐŽÑÐ»ÐµÐ¹ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÐ·ÐŒÐµÐœÐµÐœ ÑÐŸÐ»ÑÐºÐŸ Ð² ÑÐµÐ¶ÐžÐŒÐ°Ñ
+ Ð¡Ð¿ÐµÑÐžÐ°Ð»ÐžÑÑ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÑ
+ Ð¡ÐžÑÑÐµÐŒ Ðž Ð­ÐºÑÐ¿ÐµÑÑ (ÑÐŒ. <a href="preferences.htm">ÐÑÐµÐŽÐ¿ÐŸÑÑÐµÐœÐžÑ</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/preferences.htm
===================================================================
--- main/tags/2.83/gli/help/ru/preferences.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/preferences.htm	(revision 21123)
@@ -0,0 +1,43 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="preferences"><font size="5" face="Verdana"><strong>9.1: ÐÑÐµÐŽÐ¿ÐŸÑÑÐµÐœÐžÑ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ±ÑÑÑÐœÑÐµÑÑÑ ÐŽÐžÐ°Ð»ÐŸÐ³ Ð¿ÑÐµÐŽÐ¿ÐŸÑÑÐµÐœÐžÐ¹,ÐŽÐŸÑÑÑÐ¿ÐœÑÐ¹ Ð¿ÑÐž ÐŸÑÐºÑÑÑÐžÐž "Ð€Ð°Ð¹Ð»Ð°", Ð° Ð·Ð°ÑÐµÐŒ "ÐÑÐµÐŽÐ¿ÐŸÑÑÐµÐœÐžÐ¹".</p>
+
+<p>ÐÐµÑÐ²Ð°Ñ ÐŸÐ¿ÑÐžÑ "ÐÐ±ÑÐµÐµ" - ÑÑÐŸ ÑÐµÐºÑÑÐŸÐ²ÐŸÐµ Ð¿ÐŸÐ»Ðµ ÐŽÐ»Ñ Ð²Ð²ÐµÐŽÐµÐœÐžÑ Ð°ÐŽÑÐµÑÐ° Ð²Ð°ÑÐµÐ¹ ÑÐ»ÐµÐºÑÑÐŸÐœÐœÐŸÐ¹ Ð¿ÐŸÑÑÑ. ÐÐœ Ð±ÑÐŽÐµÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°Ðœ Ð² Ð·ÐœÐ°ÑÐµÐœÐžÐž ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+ "Ð¡ÐŸÐ·ÐŽÐ°ÑÐµÐ»Ñ" Ðž "ÐÑÐ²ÐµÑÑÑÐ²ÐµÐœÐœÑÐ¹". Ð¡Ð»ÐµÐŽÑÑÐ°Ñ ÐŸÐ¿ÑÐžÑ - ÑÑÐŸ Ð²ÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐµ ÐŒÐµÐœÑ Ñ ÑÐ·ÑÐºÐ°ÐŒÐž, Ð² ÐºÐŸÑÐŸÑÑÑ
+ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐÐœÑÐµÑÑÐµÐ¹Ñ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœ. ÐÑÐ»Ðž ÐÑ ÐžÐ·ÐŒÐµÐœÑÐµÑÐµ ÑÐ»ÐŸÐ²Ð°ÑÑ, Ð²ÑÐ±ÐžÑÐ°Ñ ÐºÐ°ÐºÐŸÐ¹-Ð»ÐžÐ±ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ°, ÐÑ ÐŽÐŸÐ»Ð¶ÐœÑ Ð¿ÐµÑÐµÐ·Ð°Ð³ÑÑÐ·ÐžÑÑ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ, ÑÑÐŸÐ±Ñ Ð·Ð°Ð³ÑÑÐ·ÐžÑÑ ÐœÐŸÐ²ÑÐµ ÑÑÑÐŸÐºÐž ÑÐ·ÑÐºÐ° ÐžÐ· ÑÑÐŸÐ³ÐŸ ÑÐ»ÐŸÐ²Ð°ÑÑ.</p>
+
+<p>ÐÑÐ»Ðž Ð²ÑÐ±ÑÐ°ÐœÐ° "ÐÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐžÐ·Ð²Ð»ÐµÐºÐ°ÐµÐŒÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+", ÑÐ°Ð·Ð»ÐžÑÐœÐŸÐµ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÐµ, ÑÐ²ÑÐ·Ð°ÐœÐœÐŸÐµ Ñ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒÐž, Ð²ÑÐµÐ³ÐŽÐ° Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ Ð²ÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ, ÐºÐŸÑÐŸÑÑÐµ Ð±ÑÐ»Ðž Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž ÐžÐ·Ð²Ð»ÐµÑÐµÐœÑ ÐžÐ· ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ². ÐÑÐŒÐµÐœÐ° ÑÑÐŸÐ³ÐŸ Ð²ÑÐ±ÐŸÑÐ° ÑÐºÑÑÐ²Ð°ÐµÑ ÑÑÐž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ, Ñ
+ÐŸÑÑ ÐŸÐœÐž Ð²ÑÑ ÐµÑÑ  ÐŽÐŸÑÑÑÐ¿ÐœÑ Ð² ÑÐµÑÐµÐœÐžÐµ ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž Ð² ÑÐ°ÐŒÐºÐ°Ñ
+ ÐŸÐºÐŸÐœÑÐ°ÑÐµÐ»ÑÐœÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Greenstone. ÐÑÐ»Ðž Ð²ÑÐ±ÑÐ°ÐœÐŸ "ÐÐŸÐºÐ°Ð·Ð°ÑÑ ÑÐ°Ð·ÐŒÐµÑÑ ÑÐ°Ð¹Ð»Ð°", ÑÐŸ ÑÐ°Ð·ÐŒÐµÑ ÑÐ°Ð¹Ð»Ð° Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑÑÑ ÑÑÐŽÐŸÐŒ Ñ ÐºÐ°Ð¶ÐŽÑÐŒ ÑÐ°Ð¹Ð»ÐŸÐŒ Ð² ÑÐ°Ð±ÐŸÑÐµÐŒ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²Ðµ, Ð° ÑÐ°ÐºÐ¶Ðµ Ð² ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐŒ ÐŽÐµÑÐµÐ²Ðµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð² Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑÑ
+ Gather Ðž Enrich.</p>
+
+<p>ÐÐ°ÐœÐµÐ»Ñ "Ð¡Ð¿ÐŸÑÐŸÐ±" ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÐŽÐ»Ñ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ ÑÑÐŸÐ²ÐœÐµÐŒ Ð¿ÐŸÐŽÑÐŸÐ±ÐœÐŸÑÑÐµÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ°. ÐÐ° ÑÐ°ÐŒÐŸÐŒ ÐœÐžÐ¶ÐœÐµÐŒ ÑÑÐŸÐ²ÐœÐµ ÑÑÑÐ°ÐœÐŸÐ²ÐŸÐº ÐœÐ°Ñ
+ÐŸÐŽÐžÑÑÑ "ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ Ð¿ÐŸÐŒÐŸÑÐœÐžÐº", Ð¿ÑÐž ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÐž ÐºÐŸÑÐŸÑÐŸÐ³ÐŸ Ð¿ÑÐŸÐµÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð±Ð»ÐŸÐºÐžÑÐŸÐ²Ð°ÐœÐŸ, Ð¿Ð°ÑÐ°ÐŒÐµÑÑÑ, ÑÑÐµÐ±ÑÑÑÐžÐµ Ð¿ÑÐ°Ð²ÐžÐ»ÑÐœÐŸÐ³ÐŸ Ð²ÑÑÐ°Ð¶ÐµÐœÐžÑ, ÑÐºÑÑÑÑ Ðž Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐŽÐžÑÑÑ ÐŒÐžÐœÐžÐŒÐ°Ð»ÑÐœÐŸ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÑÐŒ ÐºÐŸÐ»ÐžÑÐµÑÑÐ²ÐŸÐŒ Ð·Ð°Ð¿ÐžÑÐµÐ¹. ÐÐ°ÐŸÐ±ÐŸÑÐŸÑ, ÐœÐ°ÐžÐ²ÑÑÑÐ°Ñ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐ° "Ð­ÐºÑÐ¿ÐµÑÑ" ÐŸÐ±ÐµÑÐ¿ÐµÑÐžÐ²Ð°ÐµÑ ÐŽÐŸÑÑÑÐ¿ ÐºÐŸ Ð²ÑÐµÐŒ ÑÑÐµÐŽÑÑÐ²Ð°ÐŒ Ð¿ÑÐŸÐµÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÑ, Ð²ÐºÐ»ÑÑÐ°Ñ Ð¿ÐŸÐ·ÐžÑÐžÐŸÐœÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð¿Ð»Ð°Ð³ÐžÐœÐŸÐ² Ðž Ð¿ÑÐ°Ð²ÐžÐ»ÑÐœÐŸÐµ Ð²ÑÑÐ°Ð¶ÐµÐœÐžÐµ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÐŸÐ², Ð° ÑÐ°ÐºÐ¶Ðµ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð¿ÐŸÐ»ÐœÑÐ¹ Ð²ÑÑ
+ÐŸÐŽ ÐžÐ· Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÑÐŸÐ±Ñ Ð·Ð°ÑÐžÐºÑÐžÑÐŸÐ²Ð°ÑÑ Ð² Ð¶ÑÑÐœÐ°Ð»Ðµ Ð·Ð°Ð¿ÐžÑÐµÐ¹. Ð§ÑÐŸÐ±Ñ ÐžÐ·ÐŒÐµÐœÐžÑÑ ÐžÐ»Ðž Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ ÑÐ¿ÐŸÑÐŸÐ±Ñ, ÐºÐ»ÐžÐºÐœÐžÑÐµ ÑÐ°ÐŽÐžÐŸ-ÐºÐœÐŸÐ¿ÐºÑ, ÑÐ»ÐµÐŽÑÑÑÑÑ Ð·Ð° ÑÐ¿ÐŸÑÐŸÐ±ÐŸÐŒ, ÐºÐŸÑÐŸÑÑÐ¹ ÐžÐœÑÐµÑÐµÑÑÐµÑ ÐÐ°Ñ. ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð±ÑÑÑÑÐŸ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ, ÐºÐ°ÐºÐŸÐ¹ ÑÐ¿ÐŸÑÐŸÐ± ÐÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÐµ, ÑÐ°ÑÑÐŒÐ°ÑÑÐžÐ²Ð°Ñ Ð»ÐžÐœÐµÐ¹ÐºÑ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐ¹ Ð² ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐŒ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐµ. </p>
+
+<p>ÐÐ»Ð°Ð²ÐžÑÐ° "Ð¡ÐŸÐµÐŽÐžÐœÐµÐœÐžÐµ" Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ ÐÐ°ÐŒ ÐžÐ·ÐŒÐµÐœÑÑÑ Ð¿ÑÑÑ Ðº Ð»ÐŸÐºÐ°Ð»ÑÐœÐŸÐŒÑ ÑÐµÑÐ²ÐµÑÑ Greenstone, ÐºÐŸÑÐŸÑÑÐ¹ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÐŽÐ»Ñ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸÐ³ÐŸ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÑÐŸÐŒÐµ ÑÐŸÐ³ÐŸ ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÑÑÑÐ°ÐœÐŸÐ²ÐžÑÑ ÐŒÐŸÐŽÑÐ»Ñ ÐŽÐŸÑÑÑÐ¿Ð° Ðº ÐÐœÑÐµÑÐœÐµÑÑ Ð¿ÑÐŸÐºÑÐž (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, ÐŽÐ»Ñ Ð·Ð°Ð³ÑÑÐ·ÐºÐž ÑÐ°Ð¹Ð»ÐŸÐ²; ÑÐŒÐŸÑÑÐž ÑÐ°Ð·ÐŽÐµÐ» <a href="downloadingfiles.htm">ÐÐ°Ð³ÑÑÐ·ÐžÑÑ ÑÐ°Ð¹Ð»Ñ ÐžÐ· ÐžÐœÑÐµÑÐœÐµÑ</a> ÐŽÐ»Ñ Ð¿ÐŸÐŽÑÐŸÐ±ÐœÐŸÑÑÐµÐ¹). ÐÐŸÐŒÐµÑÑÑÐµ ÑÐ»Ð°Ð³ÐŸÐ²ÑÑ ÐºÐœÐŸÐ¿ÐºÑ, ÑÑÐŸÐ±Ñ Ð²ÐºÐ»ÑÑÐžÑÑ ÐŒÐŸÐŽÑÐ»Ñ ÐŽÐŸÑÑÑÐ¿Ð°, Ðž ÑÐºÐ°Ð¶ÐžÑÐµ ÐŽÐµÑÐ°Ð»Ðž Ð°ÐŽÑÐµÑÐ° ÑÐµÑÐ²ÐµÑÐ° Ð¿ÑÐŸÐºÑÐž Ðž ÐœÐŸÐŒÐµÑ Ð¿ÐŸÑÑÐ°. ÐÐŸÐŽÑÐ»Ñ ÐŽÐŸÑÑÑÐ¿Ð° Ð±ÑÐŽÐµÑ Ð°ÐºÑÐžÐ²ÐžÑÐŸÐ²Ð°Ðœ Ð¿ÑÐž Ð·Ð°ÐºÑÑÑÐžÐž ÐŽÐžÐ°Ð»ÐŸÐ³ÐŸÐ²ÐŸÐ³ÐŸ ÐŸÐºÐœÐ° ÐÐ¿ÑÐžÐ¹.</p>
+
+<p>Ð ÑÐµÑÐµÐœÐžÐµ ÑÐµÑÑÐžÐž ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ ÐŒÐŸÐ¶ÐµÑ ÐŽÐ°Ð²Ð°ÑÑ Ð¿ÑÐµÐŽÑÐ¿ÑÐµÐŽÐžÑÐµÐ»ÑÐœÑÐµ ÑÐŸÐŸÐ±ÑÐµÐœÐžÑ, ÐºÐŸÑÐŸÑÑÐµ ÐžÐœÑÐŸÑÐŒÐžÑÑÑÑ ÐÐ°Ñ ÐŸ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÑÑ
+ ÐœÐµÐ¿ÑÐµÐŽÐ²ÐžÐŽÐµÐœÐœÑÑ
+ Ð¿ÐŸÑÐ»ÐµÐŽÑÑÐ²ÐžÑÑ
+ ÐÐ°ÑÐžÑ
+ ÐŽÐµÐ¹ÑÑÐ²ÐžÐ¹. ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð·Ð°Ð±Ð»ÐŸÐºÐžÑÐŸÐ²Ð°ÑÑ ÑÐŸÐŸÐ±ÑÐµÐœÐžÐµ, Ð²ÑÐ±ÐžÑÐ°Ñ Ð¿ÐŸÐ»Ðµ "ÐÐµ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÑÑ ÑÑÐŸ Ð¿ÑÐµÐŽÑÐ¿ÑÐµÐ¶ÐŽÐµÐœÐžÐµ ÑÐœÐŸÐ²Ð°". ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð²ÐŸÐ·ÐŸÐ±ÐœÐŸÐ²ÐžÑÑ Ð¿ÐŸÑÐ²Ð»ÐµÐœÐžÐµ Ð¿ÑÐµÐŽÑÐ¿ÑÐµÐ¶ÐŽÐ°ÑÑÐžÑ
+ ÑÐŸÐŸÐ±ÑÐµÐœÐžÐ¹,ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ ÐºÐ»Ð°Ð²ÐžÑÑ "ÐÑÐµÐŽÑÐ¿ÑÐµÐ¶ÐŽÐµÐœÐžÐµ". ÐÑÐ±ÐµÑÐžÑÐµ Ð¿ÐŸÐ»Ðµ ÑÑÐŽÐŸÐŒ Ñ Ð¿ÑÐµÐŽÑÐ¿ÑÐµÐ¶ÐŽÐ°ÑÑÐžÐŒÐž ÑÐŸÐŸÐ±ÑÐµÐœÐžÑÐŒÐž, ÐµÑÐ»Ðž ÐÑ Ñ
+ÐŸÑÐžÑÐµ ÑÐœÐŸÐ²Ð° Ð¿ÐŸÐ»ÑÑÐ°ÑÑ ÐžÑ
+.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/producingthecollection.htm
===================================================================
--- main/tags/2.83/gli/help/ru/producingthecollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/producingthecollection.htm	(revision 21123)
@@ -0,0 +1,22 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="producingthecollection"><font size="5" face="Verdana"><strong>7: ÐÐŸÑÑÑÐŸÐµÐœÐžÐµ ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐŒÐµÑ ÑÐŸÐ±ÑÐ°ÐœÐœÑÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ ÐŽÐ»Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, Ð°ÐœÐœÐŸÑÐžÑÐŸÐ²Ð°Ð² ÐžÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒÐž Ðž ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÐ°Ð² ÐŽÐžÐ·Ð°Ð¹Ðœ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž,ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÑÐµÐ¿ÐµÑÑ ÑÐŸÐ·ÐŽÐ°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ Greenstone. Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ±ÑÑÑÐœÑÐµÑÑÑ,ÐºÐ°Ðº ÑÑÐŸ ÑÐŽÐµÐ»Ð°ÑÑ.</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/removingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/ru/removingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/removingfiles.htm	(revision 21123)
@@ -0,0 +1,22 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="removingfiles"><font size="5" face="Verdana"><strong>4.6: Ð£ÐŽÐ°Ð»ÐµÐœÐžÐµ ÑÐ°Ð¹Ð»ÐŸÐ²</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð¡ÑÑÐµÑÑÐ²ÑÐµÑ ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÐŒÐµÑÐŸÐŽÐŸÐ² ÑÐŽÐ°Ð»ÐµÐœÐžÑ ÑÐ°Ð¹Ð»ÐŸÐ² Ðž Ð¿Ð°Ð¿ÐŸÐº. ÐÑ ÐŽÐŸÐ»Ð¶ÐœÑ ÑÐœÐ°ÑÐ°Ð»Ð° ÑÐºÐ°Ð·Ð°ÑÑ,ÐºÐ°ÐºÐžÐµ ÐžÐ· ÐœÐžÑ
+ ÑÐŽÐ°Ð»ÑÑÑ, Ð²ÑÐ±ÐžÑÐ°Ñ ÐŸÐŽÐžÐœ ÐžÐ»Ðž Ð±ÐŸÐ»ÐµÐµ ÑÐ°Ð¹Ð»ÐŸÐ² Ðž Ð¿Ð°Ð¿ÐŸÐº, ÐºÐ°Ðº ÐŸÐ¿ÐžÑÐ°ÐœÐŸ Ð² <a href="thegatherview.htm">ÐÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐœÐ°ÐºÐŸÐ¿ÐžÑÐµÐ»Ñ</a>.</p>
+
+<p>ÐÐ°Ðº ÑÐŸÐ»ÑÐºÐŸ ÑÐ°Ð¹Ð»Ñ ÐŸÑÐŸÐ±ÑÐ°ÐœÑ, ÐŽÐ»Ñ ÐžÑ
+ ÑÐŽÐ°Ð»ÐµÐœÐžÑ ÑÐµÐ»ÐºÐ°ÑÑ ÐºÐœÐŸÐ¿ÐºÑ "Ð£ÐŽÐ°Ð»ÐžÑÑ"ÐžÐ»Ðž ÐœÐ°Ð¶ÐžÐŒÐ°ÑÑ ÐºÐºÐ»Ð°Ð²ÐžÑÑ [Ð£ÐŽÐ°Ð»ÐžÑÑ] ÐœÐ° ÐºÐ»Ð°Ð²ÐžÐ°ÑÑÑÐµ, ÐžÐ»Ðž Ð¶Ðµ ÑÑÐœÑÑ ÐžÑ
+ ÐžÐ· ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐŽÐŸ ÐºÐœÐŸÐ¿ÐºÐž "Ð£ÐŽÐ°Ð»ÐžÑÑ" Ðž ÑÐ°ÐŒ ÐŸÑÐ¿ÑÑÐºÐ°ÑÑ.  </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/replacingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/ru/replacingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/replacingfiles.htm	(revision 21123)
@@ -0,0 +1,22 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="replacingfiles"><font size="5" face="Verdana"><strong>4.5: ÐÐµÑÐµÐžÐŒÐµÐœÐŸÐ²Ð°ÐœÐžÐµ Ðž Ð·Ð°ÐŒÐµÐœÐ° ÑÐ°Ð¹Ð»ÐŸÐ²</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð€Ð°Ð¹Ð»Ñ ÐŒÐŸÐ¶ÐœÐŸ Ð¿ÐµÑÐµÐžÐŒÐµÐœÐŸÐ²ÑÐ²Ð°ÑÑ, ÑÐµÐ»ÐºÐœÑÐ² Ð¿ÑÐ°Ð²ÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐŸÐ¹ Ð¿ÐŸ ÐœÐžÐŒ Ðž Ð²ÑÐ±ÑÐ°Ð² &laquo;ÐÐµÑÐµÐžÐŒÐµÐœÐŸÐ²Ð°ÑÑ&raquo; ÐžÐ· ÑÐ¿ÐžÑÐºÐ°. ÐÐ²ÐµÐŽÐžÑÐµ ÐœÐŸÐ²ÐŸÐµ ÐžÐŒÑ Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ &laquo;ÐÐ&raquo;.</p>
+
+<p>Ð€Ð°Ð¹Ð»Ñ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐŒÐŸÐ¶ÐœÐŸ Ð·Ð°ÐŒÐµÐœÑÑÑ Ð¿ÑÐ°Ð²ÑÐŒ ÑÐµÐ»ÑÐºÐŸÐŒ Ð¿ÐŸ ÑÐ°Ð¹Ð»Ñ Ðž Ð²ÑÐ±ÑÐ°Ð² &laquo;ÐÐ°ÐŒÐµÐœÐžÑÑ&raquo;. ÐÑÐŽÐµÑ ÐŸÑÐºÑÑÑ Ð¿ÑÐŸÑÐŒÐŸÑÑ ÑÐ°Ð¹Ð»ÐŸÐ²: Ð¿ÐµÑÐµÐŒÐµÑÑÐžÑÐµÑÑ Ðº ÐœÐŸÐ²ÐŸÐŒÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÑÐºÑÑÑÑ". ÐÐŸÐ²ÑÐ¹ ÐŽÐŸÐºÑÐŒÐµÐœÑ Ð·Ð°ÐŒÐµÐœÐžÑ ÑÑÐ°ÑÑÐ¹ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, Ðž Ð²ÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ð±ÑÐŽÑÑ Ð¿ÐµÑÐµÐŒÐµÑÐµÐœÑ ÐŽÐ»Ñ ÐœÐµÐ³ÐŸ. Ð­ÑÐŸ Ð¿ÐŸÐ»ÐµÐ·ÐœÐŸ ÐŽÐ»Ñ Ð·Ð°ÐŒÐµÐœÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ²-ÐŒÐ°ÐºÐµÑÐŸÐ² ÐœÐ°ÑÑÐŸÑÑÐžÐŒÐž ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°ÐŒÐž.  </p>
+
+<p>ÐÐµÐºÐŸÑÐŸÑÑÐµ ÑÐžÐ¿Ñ ÑÐ°Ð¹Ð»ÐŸÐ² Ð¿ÑÐµÐŸÐ±ÑÐ°Ð·ÑÑÑÑÑ Ð² HTML ÑÑÐŸÑÐŸÐœÐœÐžÐŒ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐœÑÐŒ ÐŸÐ±ÐµÑÐ¿ÐµÑÐµÐœÐžÐµÐŒ Ð¿ÑÐž ÐžÐŒÐ¿ÐŸÑÑÐµ, ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, Word, Excel, PDF Ðž Ñ.ÐŽ. HTML Ð¿ÐŸÐ»ÑÑÐµÐœÐœÑÐ¹ Ð¿ÑÐž ÑÑÐŸÐŒ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐœÐµ ÐŸÑÐµÐœÑ Ñ
+ÐŸÑÐŸÑÐŸ ÐŸÑÑÐŸÑÐŒÐ°ÑÐžÑÐŸÐ²Ð°Ðœ. Ð­ÑÐž ÐŽÐŸÐºÑÐŒÐµÐœÑÑ ÐžÐŒÐµÑÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÑ ÑÑÐŸÐ²ÐµÑÑÐµÐœÑÑÐ²ÐŸÐ²Ð°ÐœÐžÑ Ð¿ÑÐ°Ð²ÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐŸÐ¹ ÐŒÑÑÐž: "ÐÐ°ÐŒÐµÐœÐžÑÑ HTML Ð²ÐµÑÑÐžÐµÐ¹". ÐÑÐ±ÐŸÑ ÑÑÐŸÐ³ÐŸ Ð²Ð°ÑÐžÐ°ÐœÑÐ° Ð·Ð°ÐŒÐµÐœÐžÑ HTML Ð²ÐµÑÑÐžÑ ÐŸÑÐžÐ³ÐžÐœÐ°Ð»ÑÐœÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð°, ÐœÐŸÐ²ÑÐŒ, ÐºÐŸÑÐŸÑÑÐ¹ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°Ðœ.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/reviewingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/ru/reviewingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/reviewingmetadata.htm	(revision 21123)
@@ -0,0 +1,44 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="reviewingmetadata"><font size="5" face="Verdana"><strong>5.6: ÐÑÐŸÑÐŒÐŸÑÑ Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐœÐŸÐ³ÐŽÐ° ÐÐ°ÐŒ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ,Ð·Ð°ÐŽÐ°ÐœÐœÑÐµ ÐŽÐ»Ñ ÐŒÐœÐŸÐ³ÐžÑ
+ ÐžÐ»Ðž Ð²ÑÐµÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ² ÑÑÐ°Ð·Ñ - ÐœÐ°Ð¿ÑÐžÐŒÐµÑ,ÑÑÐŸÐ±Ñ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ,ÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ°Ð¹Ð»ÐŸÐ² ÐŸÑÑÐ°ÑÑÑÑ ÐŽÐ»Ñ Ð²ÐŸÐ·ÐŽÐµÐ¹ÑÑÐ²ÐžÑ ÐžÐ»Ðž Ð¿ÐŸÐ»ÑÑÐžÑÑ ÐœÐµÐºÐŸÑÐŸÑÑÐµ ÐžÐŽÐµÐž ÐŸÑÐœÐŸÑÐžÑÐµÐ»ÑÐœÐŸ ÑÐ°ÑÐ¿ÑÐŸÑÑÑÐ°ÐœÐµÐœÐžÑ ÐŽÐ°ÐœÐœÑÑ
+.</p>
+
+<p>ÐÑÐ±ÐµÑÐžÑÐµ ÑÐ°Ð¹Ð»Ñ, ÐºÐŸÑÐŸÑÑÐµ Ð²Ñ Ñ
+ÐŸÑÐžÑÐµ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ, Ð¿ÐŸÑÐŸÐŒ ÐœÐ°Ð¶ÐŒÐžÑÐµ ÐœÐ° Ð¿ÑÐ°Ð²ÑÑ ÐºÐœÐŸÐ¿ÐºÑ ÐŒÑÑÐž Ðž Ð²ÑÐ±ÐµÑÐžÑÐµ "ÐÐ°Ð·ÐœÐ°ÑÐµÐœÑÐµ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÐµ...". ÐÐŸÑÐ²Ð»ÑÐµÑÑÑ ÐŸÐºÐœÐŸ,ÐœÐ°Ð·ÑÐ²Ð°ÐµÐŒÐŸÐµ "ÐÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ", Ð·Ð°ÐœÑÑÐŸÐµ Ð±ÐŸÐ»ÑÑÐŸÐ¹ ÑÐ°Ð±Ð»ÐžÑÐµÐ¹,ÑÐŸÐŽÐµÑÐ¶Ð°ÑÐµÐ¹ ÐŒÐœÐŸÐ³ÐŸ ÐºÐŸÐ»ÐŸÐœÐŸÐº.ÐÐµÑÐ²Ð°Ñ ÐºÐŸÐ»ÐŸÐœÐºÐž Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐžÐŒÐµÐœÐ° ÑÐ°Ð¹Ð»ÐŸÐ²;ÑÑÑÐŸÐºÐž Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÑÑ Ð²ÑÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+,Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ ÐŽÐ»Ñ ÑÑÐžÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ².  </p>
+
+<p>Ð ÐžÑÐŸÐ²Ð°ÐœÐžÐµ ÑÐ°Ð±Ð»ÐžÑÑ ÐŒÐŸÐ¶ÐµÑ Ð·Ð°ÐœÑÑÑ ÐœÐµÐºÐŸÑÐŸÑÐŸÐµ Ð²ÑÐµÐŒÑ,ÐµÑÐ»Ðž Ð²ÑÐ¿Ð°Ð»ÐŸ ÐŒÐœÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»ÐŸÐ².ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð¿ÑÐŸÐŽÐŸÐ»Ð¶Ð°ÑÑ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑÑÑ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐŒ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐŸÐŒ Ð¿ÑÐž ÐŸÑÐºÑÑÑÐŸÐŒ ÐŸÐºÐœÐµ "ÐÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ". </p>
+
+<p>ÐÐŸÐ³ÐŽÐ° ÐŸÐœÐ° ÑÑÐ°ÐœÐŸÐ²ÐžÑÑÑ ÑÐ»ÐžÑÐºÐŸÐŒ Ð±ÐŸÐ»ÑÑÐŸÐ¹,ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐŸÑÑÐžÐ»ÑÑÑÐŸÐ²Ð°ÑÑ ÑÐ°Ð±Ð»ÐžÑÑ "ÐÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ",Ð¿ÑÐžÐŒÐµÐœÑÑ ÑÐžÐ»ÑÑÑÑ Ðº ÐºÐŸÐ»ÐŸÐœÐºÐ°ÐŒ.ÐÐŸÑÐºÐŸÐ»ÑÐºÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÑ ÐœÐŸÐ²ÑÐµ ÑÐžÐ»ÑÑÑÑ, ÑÐŸÐ»ÑÐºÐŸ ÑÐµ ÑÑÑÐŸÐºÐž,ÐºÐŸÑÐŸÑÑÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑ ÐžÐŒ,ÐŸÑÑÐ°ÑÑÑÑ Ð²ÐžÐŽÐžÐŒÑÐŒÐž.Ð§ÑÐŸÐ±Ñ ÑÑÑÐ°ÐœÐŸÐ²ÐžÑÑ,ÐžÐ·ÐŒÐµÐœÐžÑÑ ÐžÐ»Ðž ÐŸÑÐžÑÑÐžÑÑ ÑÐžÐ»ÑÑÑ,ÑÐµÐ»ÐºÐœÐžÑÐµ Ð¿ÐŸ ÐžÐºÐŸÐœÐºÐµ "ÐÐŸÑÐŸÐœÐºÐ°" ÐœÐ°Ð²ÐµÑÑ
+Ñ ÐºÐŸÐ»ÐŸÐœÐºÐž. Ð£ Ð²Ð°Ñ Ð±ÑÐŽÐµÑ Ð·Ð°Ð¿ÑÐŸÑÐµÐœÐ° ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸ ÑÐžÐ»ÑÑÑÐµ. ÐÐ°Ðº ÑÐŸÐ»ÑÐºÐŸ ÑÐžÐ»ÑÑÑ ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœ,ÐžÐ·ÐŒÐµÐœÑÐµÑÑÑ ÑÐ²ÐµÑ ÐºÐŸÐ»ÐŸÐœÐºÐž.</p>
+
+<p>ÐÐ°Ð¿ÑÐŸÑ ÐžÐŒÐµÐµÑ ÑÐžÐŒÐ²ÐŸÐ»Ñ "ÐÑÐŸÑÑÐŸÐ¹" Ðž "ÐÑÐŸÐŽÐ²ÐžÐœÑÑÑÐ¹".ÐÑÐŸÑÑÐ°Ñ Ð²ÐµÑÑÐžÑ ÑÐžÐ»ÑÑÑÑÐµÑ ÐºÐŸÐ»ÐŸÐœÐºÐž ÑÐ°Ðº,ÑÑÐŸ ÐŸÐœÐž Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÑÑ ÑÐŸÐ»ÑÐºÐŸ ÑÑÑÐŸÐºÐž, ÐºÐŸÑÐŸÑÑÐµ ÑÐŸÐŽÐµÑÐ¶Ð°Ñ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐœÐµÐºÐŸÑÐŸÑÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ("*" ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÐµÑ Ð²ÑÐµÐŒ Ð·ÐœÐ°ÑÐµÐœÐžÑÐŒ).ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð²ÑÐ±ÑÐ°ÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐžÐ· ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐ³ÐŸ ÑÐ¿ÐžÑÐºÐ°.ÐÑÐŸÐŽÐ²ÐžÐœÑÑÐ°Ñ Ð²ÐµÑÑÐžÑ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð²ÑÐ¿ÐŸÐ»ÐœÑÑÑ ÑÐ°Ð·Ð»ÐžÑÐœÑÐµ ÐŽÐµÐ¹ÑÑÐ²ÐžÑ:ÐÐŸÐ»Ð¶ÐµÐœ ÐœÐ°ÑÐ°ÑÑÑÑ Ñ,ÐÐµ ÑÐŸÐŽÐµÑÐ¶ÐžÑ,Ð Ð°Ð»ÑÐ°Ð²ÐžÑÐœÐŸÐŒ Ð¿ÐŸÑÑÐŽÐºÐµ,ÐÐµÐœÑÑÐµ ÑÐµÐŒ, Ð­ÐºÐ²ÐžÐ²Ð°Ð»ÐµÐœÑÐµÐœ. ÐÐœÐ°ÑÐµÐœÐžÐµ, ÐºÐŸÑÐŸÑÐŸÐµ Ð±ÑÐŽÐµÑ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐŸÐ²Ð°ÑÑ, ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÐœÐŸ ÑÐ°Ðº,ÑÑÐŸÐ±Ñ Ð±ÑÑÑ Ð»ÑÐ±ÐŸÐ¹ ÑÑÑÐŸÐºÐŸÐ¹,Ð²ÐºÐ»ÑÑÐ°Ñ "*". ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð²ÑÐ±ÑÐ°ÑÑ,ÐŽÐŸÐ»Ð¶ÐœÐŸ Ð»Ðž ÑÑÐŸ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÐµ Ð±ÑÑÑ ÐœÐµ ÑÑÐ²ÑÑÐ²ÐžÑÐµÐ»ÑÐœÑÐŒ ÑÐ»ÑÑÐ°ÐµÐŒ. ÐÐ°ÐºÐŸÐœÐµÑ,ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ Ð²ÑÐŸÑÐŸÐµ ÑÑÐ»ÐŸÐ²ÐžÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐžÑ,ÐºÐŸÑÐŸÑÐŸÐµ ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐŽÐ»Ñ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÑ ÑÐ°ÐœÐ³Ð° Ð·ÐœÐ°ÑÐµÐœÐžÐ¹ (Ð²ÑÐ±ÐžÑÐ°Ñ Ð Ð±ÐŸÐ»ÑÑÐŸÐµ) ÐžÐ»Ðž Ð°Ð»ÑÑÐµÑÐœÐ°ÑÐžÐ²ÐœÑÑ
+ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹ (Ð²ÑÐ±ÐžÑÐ°Ñ ÐÐÐ).ÐÐžÐ¶Ðµ ÑÑÐŸÐ¹ ÐŸÐ±Ð»Ð°ÑÑÐž ÐœÐ°Ñ
+ÐŸÐŽÐžÑÑÑ Ð¿ÐŸÐ»Ðµ, ÐºÐŸÑÐŸÑÐŸÐµ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ ÐÐ°ÐŒ ÐžÐ·ÐŒÐµÐœÑÑÑ Ð¿ÐŸÑÑÐŽÐŸÐº ÑÐŸÑÑÐžÑÐŸÐ²ÐºÐž (Ð²ÐŸÐ·ÑÐ°ÑÑÐ°ÑÑÐžÐ¹ ÐžÐ»Ðž Ð¿ÐŸÐœÐžÐ¶Ð°ÑÐžÐ¹ÑÑ).ÐÐ°Ðº ÑÐŸÐ»ÑÐºÐŸ ÐÑ Ð·Ð°ÐºÐŸÐœÑÐžÑÐµ,ÐœÐ°Ð¶ÐŒÐžÑÐµ "Ð£ÑÑÐ°ÐœÐŸÐ²ÐºÐ° ÑÐžÐ»ÑÑÑÐ°",ÑÑÐŸÐ±Ñ Ð¿ÑÐžÐŒÐµÐœÐžÑÑ ÐœÐŸÐ²ÑÐ¹ ÑÐžÐ»ÑÑÑ Ðº ÐºÐŸÐ»ÐŸÐœÐºÐµ.ÐÐ°Ð¶ÐŒÐžÑÐµ "ÐÑÐžÑÑÐžÑÑ ÑÐžÐ»ÑÑÑ",ÑÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÑÐµÐºÑÑÐžÐ¹ ÑÐžÐ»ÑÑÑ.ÐÐ±ÑÐ°ÑÐžÑÐµ Ð²ÐœÐžÐŒÐ°ÐœÐžÐµ ÐœÐ° ÑÐŸ,ÑÑÐŸ ÐŽÐµÑÐ°Ð»Ðž ÑÐžÐ»ÑÑÑÐ° ÑÐŸÑ
+ÑÐ°ÐœÑÑÑÑÑ, ÐŽÐ°Ð¶Ðµ ÐºÐŸÐ³ÐŽÐ° ÑÐžÐ»ÑÑÑ ÐŸÑÐžÑÐµÐœ.</p>
+
+<p>ÐÐ°Ð¿ÑÐžÐŒÐµÑ,ÑÑÐŸÐ±Ñ ÐŸÑÑÐŸÑÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐ°Ð±Ð»ÐžÑÑ "ÐÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ",Ð²ÑÐ±ÐµÑÐžÑÐµ ÐºÐŸÐ»ÐŸÐœÐºÑ, Ð²ÑÐ±ÐµÑÐžÑÐµ ÑÑÑÐ°ÐœÐŸÐ²ÐºÑ ÑÐžÐ»ÑÑÑÐ° Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ (Ð¿ÑÐŸÑÑÐŸÐ¹ ÑÐžÐ»ÑÑÑ ÐœÐ° "*") Ðž Ð²ÐŸÐ·ÑÐ°ÑÑÐ°ÑÑÐžÐ¹ ÐžÐ»Ðž Ð¿ÐŸÐœÐžÐ¶Ð°ÑÑÐžÐ¹ÑÑ Ð¿ÐŸÑÑÐŽÐŸÐº.   </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/savingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/ru/savingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/savingacollection.htm	(revision 21123)
@@ -0,0 +1,33 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="savingacollection"><font size="5" face="Verdana"><strong>2.2: Ð¡ÐŸÑ
+ÑÐ°ÐœÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð¡ÐŸÑ
+ÑÐ°ÐœÑÐ¹ÑÐµ ÐÐ°ÑÑ ÑÐ°Ð±ÐŸÑÑ ÑÐµÐ³ÑÐ»ÑÑÐœÐŸ, ÐŸÑÐºÑÑÐ²Ð°Ñ ÐŒÐµÐœÑ "Ð€Ð°Ð¹Ð»" Ðž Ð²ÑÐ±ÐžÑÐ°Ñ Ð² ÐœÑÐŒ Ð¿ÑÐœÐºÑ "Ð¡ÐŸÑ
+ÑÐ°ÐœÐžÑÑ". Ð¡ÐŸÑ
+ÑÐ°ÐœÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž - ÑÑÐŸ ÐœÐµ ÑÐŸ Ð¶Ðµ ÑÐ°ÐŒÐŸÐµ, ÐºÐ°Ðº  ÑÐŽÐµÐ»Ð°ÑÑ ÐµÑ Ð³ÐŸÑÐŸÐ²ÐŸÐ¹ Ðº ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ Ð² Greenstone.
+(see <a href="producingthecollection.htm">ÐÐŸÑÑÑÐŸÐµÐœÐžÐµ ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</a>).</p>
+
+<p>ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ Ð·Ð°ÑÐžÑÐ°ÐµÑ ÐÐ°ÑÑ ÑÐ°Ð±ÐŸÑÑ Ð¿ÑÑÑÐŒ ÑÐŸÑ
+ÑÐ°ÐœÐµÐœÐžÑ ÐµÑ Ð²ÑÑÐºÐžÐ¹ ÑÐ°Ð·, ÐºÐŸÐ³ÐŽÐ° ÐÑ Ð²ÑÑ
+ÐŸÐŽÐžÑÐµ ÐžÐ· Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÑ ÐžÐ»Ðž Ð·Ð°Ð³ÑÑÐ¶Ð°ÐµÑÐµ ÐŽÑÑÐ³ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ.</p>
+
+<p>ÐÐŸÐ»Ð»ÐµÐºÑÐžÐž ÑÐŸÑ
+ÑÐ°ÐœÑÑÑÑÑ Ð² Ð¿Ð°Ð¿ÐºÑ Ð²ÐœÑÑÑÐž Ð¿Ð°Ð¿ÐºÐž "collect" Ð²Ð°ÑÐµÐ¹ ÐžÐœÑÑÐ°Ð»Ð»ÑÑÐžÐž Greenstone. ÐÐŒÐµÐœÑÑÑÑÑ ÐŸÐœÐž ÑÐŸÐºÑÐ°ÑÐµÐœÐœÐŸÐ¹ Ð²ÐµÑÑÐžÐµÐ¹ ÐœÐ°Ð·Ð²Ð°ÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÐŸÐºÑÐŒÐµÐœÑÑ ÑÐŸÑ
+ÑÐ°ÐœÑÑÑÑÑ Ð² Ð¿ÐŸÐŽÐ¿Ð°Ð¿ÐºÑ "import", Ð° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ - Ð² ÑÐ°Ð¹Ð»Ñ "metadata.xml" ÑÑÐžÑ
+ Ð¿Ð°Ð¿ÐŸÐº. ÐÐŸÐœÑÐžÐ³ÑÑÐ°ÑÐžÐŸÐœÐ°Ñ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÑÐŸÑ
+ÑÐ°ÐœÑÐµÑÑÑ Ð² ÑÐ°Ð¹Ð» "collect.cfg" Ð¿ÐŸÐŽÐ¿Ð°Ð¿ÐºÐž "etc". ÐÐµÐºÐŸÑÐŸÑÐ°Ñ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÑÐ°ÐºÐ¶Ðµ ÑÐŸÑ
+ÑÐ°ÐœÑÐµÑÑÑ Ð² ÑÐ°Ð¹Ð» Ñ ÐžÐŒÐµÐœÐµÐŒ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž ÑÐ°ÑÑÐžÑÐµÐœÐžÐµÐŒ ".col".</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/scheduledbuilding.htm
===================================================================
--- main/tags/2.83/gli/help/ru/scheduledbuilding.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/scheduledbuilding.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="scheduledbuilding"><font size="5" face="Verdana"><strong>7.4: ÐÐ»Ð°ÐœÐžÑÐŸÐ²Ð°ÐœÐžÐµ Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐ°Ð¿Ð»Ð°ÐœÐžÑÐŸÐ²Ð°ÐœÐŸÐµ Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž  ÐŽÐŸÑÑÑÐ¿ÐœÐŸ Ð² ÑÐºÑÐ¿ÐµÑÑÐœÐŸÐŒ ÑÐµÐ¶ÐžÐŒÐµ. ÐÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸ ÐœÐµÐºÐŸÑÐŸÑÐŸÐµ ÐºÐŸÐœÑÐžÐ³ÑÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ, Ð¿ÑÐµÐ¶ÐŽÐµ ÑÐµÐŒ ÑÑÐŸ ÐœÐ°ÑÐœÐµÑ ÑÐ°Ð±ÐŸÑÐ°ÑÑ, ÑÐŒ.Ð¿ÐŸÐŽÑÐŸÐ±ÐœÐŸÑÑÐž Ð²  http://wiki.greenstone.org/wiki/index.php/Scheduled_Collection_Building_from_the_Librarian_Interface. Ð Ð·Ð°ÐºÐ»Ð°ÐŽÐºÐµ Ð¡ÐŸÐ·ÐŽÐ°ÑÑ"ÐÐ°ÑÑÑÐŸÐ¹ÐºÐž ÐŸÑÐµÑÐµÐŽÐœÐŸÑÑÐž" Ñ Ð»ÐµÐ²ÐŸÐ¹ ÑÑÐŸÑÐŸÐœÑ ÐŸÑÐŸÐ±ÑÐ°Ð¶Ð°ÐµÑÑÑ ÑÐ¿ÐžÑÐŸÐº Ð²Ð°ÑÐžÐ°ÐœÑÐŸÐ² ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ Ð¿ÑÐŸÑÐµÑÑÐŸÐŒ Ð¿Ð»Ð°ÐœÐžÑÐŸÐ²Ð°ÐœÐžÑ. ÐÐ¿ÑÐžÑ "Ð³ÑÐ°ÑÐžÐº" ÐŽÐŸÐ»Ð¶ÐœÐ° Ð±ÑÑÑ ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœÐ° ÐŽÐ»Ñ ÐœÐ°ÑÑÑÐŸÐµÐº Ð¿Ð»Ð°ÐœÐžÑÐŸÐ²Ð°ÐœÐžÑ. ÐÑÑÐ³ÐžÐµ Ð²Ð°ÑÐžÐ°ÐœÑÑ Ð²ÐºÐ»ÑÑÐ°ÑÑ: ÑÐ°ÑÑÐŸÑÑ ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ, ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÐµ ÐžÐ»Ðž ÑÐŽÐ°Ð»ÐµÐœÐžÐµ ÐœÐŸÐ²ÐŸÐ³ÐŸ Ð³ÑÐ°ÑÐžÐºÐ°, Ð° ÑÐ°ÐºÐ¶Ðµ Ð¿ÐŸÐŽÑÐŸÐ±ÐœÐŸÑÑÐž Ð¿ÐŸ ÑÐ».Ð¿ÐŸÑÑÐŸÐ¹, ÐµÑÐ»Ðž Ð²Ñ Ñ
+ÐŸÑÐžÑÐµ Ð¿ÐŸÐ»ÑÑÐ°ÑÑ ÑÐ°ÐºÐžÐµ ÑÐ²ÐµÐŽÐŸÐŒÐ»ÐµÐœÐžÑ Ð¿ÐŸ ÑÐ»ÐµÐºÑÑÐŸÐœÐœÐŸÐ¹ Ð¿ÐŸÑÑÐµ.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/searchindexes.htm
===================================================================
--- main/tags/2.83/gli/help/ru/searchindexes.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/searchindexes.htm	(revision 21123)
@@ -0,0 +1,55 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchindexes"><font size="5" face="Verdana"><strong>6.3: ÐÐœÐŽÐµÐºÑÑ Ð¿ÐŸÐžÑÐºÐ°</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÐœÐŽÐµÐºÑÑ ÑÐºÐ°Ð·ÑÐ²Ð°ÑÑ, Ð² ÐºÐ°ÐºÐžÑ
+ ÑÐ°ÑÑÑÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐŒÐŸÐ¶ÐœÐŸ Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐŽÐžÑÑ Ð¿ÐŸÐžÑÐº. Ð­ÑÐ° ÑÐµÐºÑÐžÑ ÐŸÐ±ÑÑÑÐœÑÐµÑ, ÐºÐ°Ðº ÐŽÐŸÐ±Ð°Ð²Ð»ÑÑÑ Ðž ÑÐŽÐ°Ð»ÑÑÑ ÐžÐœÐŽÐµÐºÑÑ Ðž ÑÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÑÑ ÐžÐœÐŽÐµÐºÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ. ÐÐ° Ð²ÐºÐ»Ð°ÐŽÐºÐµ "ÐÑÐŸÐµÐºÑ" ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐœÐŽÐµÐºÑÑ Ð¿ÐŸÐžÑÐºÐ°".</p>
+
+<p>ÐÑÐ°Ð²Ð°Ñ Ð²ÐµÑÑ
+ÐœÑÑ Ð¿Ð°ÐœÐµÐ»Ñ "ÐÐœÐŽÐµÐºÑÑ Ð¿ÐŸÐžÑÐºÐ°" ÐŸÑÐŸÐ±ÑÐ°Ð¶Ð°ÐµÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸ ÑÐŸÐŒ, ÐºÐ°ÐºÐŸÐ¹ ÐžÐœÐŽÐµÐºÑÐ°ÑÐŸÑ Ð² ÐŽÐ°ÐœÐœÑÐ¹ ÐŒÐŸÐŒÐµÐœÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. Ð­ÑÐŸ ÐŒÐŸÐ¶ÐœÐŸ ÐžÐ·ÐŒÐµÐœÐžÑÑ, ÑÐµÐ»ÐºÐœÑÐ² "ÐÐ·ÐŒÐµÐœÐžÑÑ...". ÐÐŸÑÐ²ÐžÑÑÑ Ð²ÑÐ¿Ð»ÑÐ²Ð°ÑÑÐµÐµ ÐŸÐºÐœÐŸ ÑÐŸ ÑÐ¿ÐžÑÐºÐŸÐŒ ÐŸÐ¿ÑÐžÐ¹: MG, MGPP, Ðž Lucene. ÐÐ·ÐŒÐµÐœÐµÐœÐžÐµ Ð·Ð°ÑÑÐ°Ð³ÐžÐ²Ð°ÐµÑ ÑÐ¿ÐŸÑÐŸÐ± ÑÐ±ÐŸÑÐºÐž ÐžÐœÐŽÐµÐºÑÐŸÐ² Ðž, Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ, Ð¿ÐŸÐžÑÐºÐŸÐ²ÑÑ ÑÑÐœÐºÑÐžÐŸÐœÐ°Ð»ÑÐœÐŸÑÑÑ.</p>
+
+<p>Ð¡Ð¿ÐžÑÐŸÐº "ÐÐ°ÐŽÐ°ÐœÐœÑÐµ ÐžÐœÐŽÐµÐºÑÑ" Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ, ÐºÐ°ÐºÐžÐµ ÐžÐœÐŽÐµÐºÑÑ Ð² ÐŽÐ°ÐœÐœÑÐ¹ ÐŒÐŸÐŒÐµÐœÑ Ð¿ÑÐžÑÐ²ÐŸÐµÐœÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.   </p>
+
+<p>ÐÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ÐžÐœÐŽÐµÐºÑÐ° ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ²ÑÐ¹ ÐžÐœÐŽÐµÐºÑ"... ÐÐŸÑÐ²ÐžÑÑÑ Ð²ÑÐ¿Ð»ÑÐ²Ð°ÑÑÐµÐµ ÐŸÐºÐœÐŸ ÑÐŸ ÑÐ¿ÐžÑÐºÐŸÐŒ ÐžÑÑ
+ÐŸÐŽÐœÐžÐºÐŸÐ², ÐºÑÐŽÐ° Ð²Ñ
+ÐŸÐŽÑÑ ÑÐµÐºÑÑ Ðž ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ. ÐÑÐ±ÐµÑÐžÑÐµ ÐžÑÑÐŸÑÐœÐžÐºÐž ÐŽÐ»Ñ ÐžÐœÐŽÐµÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÑ. ÐÐœÐŸÐ¿ÐºÐž "ÐÑÐŽÐµÐ»ÐžÑÑ Ð²ÑÐµ" Ðž "Ð¡ÐœÑÑÑ Ð²ÑÐ±ÐŸÑ" ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÐµÐœÐœÐŸ Ð°ÐºÑÐžÐ²ÐžÑÑÑÑ ÐžÐ»Ðž ÐŽÐµÐ°ÐºÑÐžÐ²ÐžÑÑÑÑ Ð²ÑÐµ Ð¿ÑÐœÐºÑÑ ÑÐ¿ÐžÑÐºÐ°. ÐÐŸÑÐ»Ðµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÑ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÐžÐœÐŽÐµÐºÑÐ° ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÐžÐœÐŽÐµÐºÑ" ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ÐµÐ³ÐŸ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ. "ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÐžÐœÐŽÐµÐºÑ" Ð±ÑÐŽÐµÑ Ð°ÐºÑÐžÐ²ÐµÐœ Ð»ÐžÑÑ ÑÐŸÐ³ÐŽÐ°, ÐºÐŸÐ³ÐŽÐ° ÐœÐ°ÑÑÑÐŸÐ¹ÐºÐž, ÐŸÐ¿ÐžÑÑÐ²Ð°ÑÑÐžÐµ ÐžÐœÐŽÐµÐºÑ, ÐµÑÐµ ÐœÐµ Ð±ÑÐ»Ðž Ð¿ÑÐžÑÐ²ÐŸÐµÐœÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. </p>
+
+<p>ÐÐ»Ñ ÐžÐœÐŽÐµÐºÑÐŸÐ² MG ÐŒÐŸÐ¶ÐœÐŸ ÑÐ°ÐºÐ¶Ðµ ÑÐºÐ°Ð·Ð°ÑÑ Ð³ÑÐ°ÐœÑÐ»ÑÑÐœÐŸÑÑÑ ÐžÐœÐŽÐµÐºÑÐ° Ð¿ÑÐž Ð¿ÐŸÐŒÐŸÑÐž ÐŒÐµÐœÑ "Ð£ÑÐŸÐ²ÐµÐœÑ ÐžÐœÐŽÐµÐºÑÐ°ÑÐžÐž:". </p>
+
+<p>ÐÐ»Ñ ÐžÐœÐŽÐµÐºÑÐŸÐ² MGPP Ðž Lucene Ð³ÑÐ°ÐœÑÐ»ÑÑÐœÐŸÑÑÑ ÐžÐœÐŽÐµÐºÑÐ° ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÐµÑÑÑ Ð³Ð»ÐŸÐ±Ð°Ð»ÑÐœÐŸ, Ð° ÐœÐµ Ð¿ÐŸÐžÐœÐŽÐµÐºÑÐœÐŸ. ÐÐŸÐ·ÐŒÐŸÐ¶ÐœÑÐµ ÑÑÐŸÐ²ÐœÐž ÐŸÑÐŸÐ±ÑÐ°Ð¶Ð°ÑÑÑÑ ÐœÐ° Ð³Ð»Ð°Ð²ÐœÐŸÐ¹ Ð¿Ð°ÐœÐµÐ»Ðž "ÐÐœÐŽÐµÐºÑÑ Ð¿ÐŸÐžÑÐºÐ°", Ðž ÐžÑ
+ ÐŒÐŸÐ¶ÐœÐŸ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ Ðº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, Ð¿ÐŸÐŒÐµÑÐ°Ñ ÑÐ»Ð°Ð¶ÐºÐž.</p>
+
+<p>ÐÑÐŸÐ±ÑÐ¹ ÐžÐœÐŽÐµÐºÑ, ÐŽÐŸÑÑÑÐ¿ÐœÑÐ¹ ÐŽÐ»Ñ MGPP Ðž Lucene: ÐžÐœÐŽÐµÐºÑ &laquo;allfields&raquo;, Ð¿ÑÐµÐŽÐŸÑÑÐ°Ð²Ð»ÑÑÑÐžÐ¹ ÐºÐŸÐŒÐ±ÐžÐœÐžÑÐŸÐ²Ð°ÐœÐœÑÐ¹ Ð¿ÐŸÐžÑÐº ÑÐµÑÐµÐ· Ð²ÑÐµ ÑÐºÐ°Ð·Ð°ÐœÐœÑÐµ ÐžÐœÐŽÐµÐºÑÑ Ð±ÐµÐ· ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸÑÑÐž ÑÐºÐ°Ð·ÑÐ²Ð°ÑÑ ÐŸÑÐŽÐµÐ»ÑÐœÑÐ¹ ÐžÐœÐŽÐµÐºÑ, ÑÐŸÐŽÐµÑÐ¶Ð°ÑÐžÐ¹ Ð²ÑÐµ ÐžÑÑ
+ÐŸÐŽÐœÐžÐºÐž. ÐÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ÑÑÐŸÐ³ÐŸ ÐžÐœÐŽÐµÐºÑÐ° Ð°ÐºÑÐžÐ²ÐžÑÑÐ¹ÑÐµ ÑÐ»Ð°Ð¶ÐŸÐº "ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÐºÐŸÐŒÐ±ÐžÐœÐžÑÐŸÐ²Ð°ÐœÐœÑÐ¹ Ð¿ÐŸÐžÑÐº Ð¿ÐŸ Ð²ÑÐµÐŒ ÐžÐœÐŽÐµÐºÑÐ°ÐŒ (allfields)" Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÐžÐœÐŽÐµÐºÑ".</p>
+
+<p>ÐÐ»Ñ MGPP Ðž Lucene ÑÐ°ÐºÐ¶Ðµ Ð¿ÑÐµÐŽÐŸÑÑÐ°Ð²Ð»ÑÐµÑÑÑ ÐºÐœÐŸÐ¿ÐºÐ° "ÐÐŸÐ±Ð°Ð²ÐžÑÑ Ð²ÑÐµ" ÐºÐ°Ðº ÐºÐŸÑÐŸÑÐºÐžÐ¹ Ð¿ÑÑÑ ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ Ð²ÑÐµÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐŒ Ðž ÐžÑÑ
+ÐŸÐŽÐœÑÐŒ ÑÐµÐºÑÑÐ°ÐŒ ÐžÐœÐŽÐžÐ²ÐžÐŽÑÐ°Ð»ÑÐœÐŸÐ³ÐŸ ÐžÐœÐŽÐµÐºÑÐ°.</p>
+
+<p>ÐÐ»Ñ ÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÑ ÐžÐœÐŽÐµÐºÑÐ° Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð ÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ ÐžÐœÐŽÐµÐºÑ". ÐÐŸÑ
+ÐŸÐ¶ÐžÐ¹ ÐœÐ° ÐœÐµÐ³ÐŸ ÐŽÐžÐ°Ð»ÐŸÐ³ &ndash; ÑÑÐŸ  "ÐÐŸÐ²ÑÐ¹ ÐžÐœÐŽÐµÐºÑ".</p>
+
+<p>ÐÐ»Ñ ÑÐŽÐ°Ð»ÐµÐœÐžÑ ÐžÐœÐŽÐµÐºÑÐ° Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ð¿ÑÐžÑÐ²ÐŸÐµÐœÐœÑÑ
+ ÐžÐœÐŽÐµÐºÑÐŸÐ² Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ ÐžÐœÐŽÐµÐºÑ".</p>
+
+<p>ÐÐŸÑÑÐŽÐŸÐº, Ð² ÐºÐŸÑÐŸÑÐŸÐŒ ÐžÐœÐŽÐµÐºÑÑ ÑÐºÐ°Ð·ÑÐ²Ð°ÑÑÑÑ Ð² ÑÐ¿ÐžÑÐºÐµ &laquo;ÐÑÐžÑÐ²ÐŸÐµÐœÐœÑÐµ ÐžÐœÐŽÐµÐºÑÑ&raquo; - ÑÑÐŸ ÑÐŸÑ Ð¿ÐŸÑÑÐŽÐŸÐº, Ð² ÐºÐŸÑÐŸÑÐŸÐŒ ÐŸÐœÐž Ð¿ÐŸÑÐ²Ð»ÑÑÑÑÑ ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ Ð¿ÐŸÐžÑÐºÐ°. ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÐºÐœÐŸÐ¿ÐºÐž "ÐÐ²ÐžÐ³Ð°ÑÑÑÑ Ð²Ð²ÐµÑÑ
+" Ðž "ÐÐ²ÐžÐ³Ð°ÑÑÑÑ Ð²ÐœÐžÐ·" ÐŽÐ»Ñ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ ÑÑÐŸÐ³ÐŸ Ð¿ÐŸÑÑÐŽÐºÐ°.</p>
+
+<p>ÐÑÐ±ÑÐ°ÐœÐœÑÐ¹ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ Ð¿ÐŸÐžÑÐºÐ° ÐžÐœÐŽÐµÐºÑ ÐœÐ°Ð·ÑÐ²Ð°ÐµÑÑÑ "ÐžÐœÐŽÐµÐºÑÐŸÐŒ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ". ÐÐœ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœ Ð¿ÑÐž Ð²ÑÐ±ÐŸÑÐµ ÑÐŸÑÐŒÑ ÐžÐœÐŽÐµÐºÑÐ° ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÐœÐ°Ð¶Ð°ÑÐžÑ  "ÐÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ (Set Default)". ÐÐœÐŽÐµÐºÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ Ð¿ÐŸÐŒÐµÑÐµÐœ ÐºÐ°Ðº "[ÐÐœÐŽÐµÐºÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ (Default index)]" Ð² ÑÐ¿ÐžÑÐºÐµ &laquo;ÐÑÐžÑÐ²ÐŸÐµÐœÐœÑÐµ ÐžÐœÐŽÐµÐºÑÑ&raquo;. ÐÑÐ»Ðž ÐžÐœÐŽÐµÐºÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ ÐœÐµ ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœ, Ð±ÑÐŽÐµÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑÑÑ Ð¿ÐµÑÐ²ÑÐ¹ ÐžÐœÐŽÐµÐºÑ ÐžÐ· ÑÐ¿ÐžÑÐºÐ°.</p>
+
+<p>ÐÐŒÐµÐœÐ°, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÑÐµ ÐŽÐ»Ñ ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐµÐ³ÐŸ ÑÐ¿ÐžÑÐºÐ° ÐžÐœÐŽÐµÐºÑÐŸÐ² ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ Ð¿ÐŸÐžÑÐºÐ° ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐºÐ°Ð·Ð°ÐœÑ Ð² "ÐÐŸÐžÑÐº" ÑÐ°ÑÑÐž "Ð€ÐŸÑÐŒÐ°Ñ" Ð¿Ð°ÐœÐµÐ»Ðž, (ÑÐŒ. <a href="searchmetadatasettings.htm">ÐÐŸÐžÑÐº</a>).</p>
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/searchindexoptions.htm
===================================================================
--- main/tags/2.83/gli/help/ru/searchindexoptions.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/searchindexoptions.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchindexoptions"><font size="5" face="Verdana"><strong>6.3.1: ÐÐ¿ÑÐžÐž Ð¿ÐŸÐžÑÐºÐŸÐ²ÐŸÐ¹ ÐžÐœÐŽÐµÐºÑÐ°ÑÐžÐž </strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÑÑÑ ÐœÐµÐºÐŸÑÐŸÑÑÐµ ÐŽÐŸÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»ÑÐœÑÐµ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÑ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ, ÐŽÐ»Ñ ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ Ð¿ÐŸÐžÑÐºÐŸÐ²ÑÑ
+ ÐžÐœÐŽÐµÐºÑÐŸÐ². ÐÐœÐž ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐœÐµÐŽÐŸÑÑÑÐ¿ÐœÑ ÐŽÐ»Ñ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐœÐŸÐ³ÐŸ ÐžÐœÐŽÐµÐºÑÐ°, Ðž Ð² ÑÑÐŸÐŒ ÑÐ»ÑÑÐ°Ðµ Ð±ÑÐŽÐµÑ Ð²ÑÐŽÐµÐ»ÐµÐœÑ ÑÐµÑÑÐŒ, ÐºÐ°Ðº ÐœÐµÑÐ°Ð±ÐŸÑÐ°ÑÑÐžÐµ.</p>
+
+<p>ÐÐ°ÑÐ°Ð»ÐŸÐ³ÐžÐ·Ð°ÑÐžÑ Ð¿ÐŸ ÐŽÐµÐ»Ð°ÐŒ Ðž ÑÐµÐŒÐ°ÑÐžÑÐµÑÐºÐžÐŒ ÑÐ°ÑÐºÐ»Ð°ÐŽÐºÐ°ÐŒ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ Ð²ÐºÐ»ÑÑÐµÐœÐ° ÐžÐ»Ðž ÐŸÑÐºÐ»ÑÑÐµÐœÐ° Ð² ÐžÐœÐŽÐµÐºÑÐ°Ñ
+ MG Ðž MGPP. ÐÑÐ»Ðž Ð²ÐºÐ»ÑÑÐµÐœÐ°, ÑÐŸ ÐžÐœÐŽÐµÐºÑÑ Ð¿ÐŸ ÐŽÐµÐ»ÐŸ-ÐºÐ°ÑÐ°Ð»ÐŸÐ³Ð°ÐŒ Ð±ÑÐŽÑÑ ÑÐŸÐ·ÐŽÐ°ÐœÑ, Ðž Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ Ð±ÑÐŽÐµÑ ÐžÐŒÐµÑÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÑ Ð¿ÐŸÐžÑÐºÐ°. ÐÑÐ»Ðž ÐŸÑÐºÐ»ÑÑÐµÐœÑ, Ð¿ÐŸÐžÑÐº Ð±ÑÐŽÐµÑ ÑÑÐ²ÑÑÐ²ÐžÑÐµÐ»ÐµÐœ Ðº ÑÐµÐ³ÐžÑÑÑÑ Ðž ÐœÐµ ÐºÐ°ÑÐ°Ð»ÐŸÐ³ÐžÐ·ÐžÑÐŸÐ²Ð°Ðœ, Ðž Ð²Ð°ÑÐžÐ°ÐœÑÑ ÐœÐµ Ð±ÑÐŽÑÑ ÐŸÑÐŸÐ±ÑÐ°Ð¶Ð°ÑÑÑÑ ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ ÐœÐ°ÑÑÑÐŸÐ¹ÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.</p>
+
+<p>ÐÐ°ÑÐ°Ð»ÐŸÐ³ÐžÐ·Ð°ÑÐžÑ Ð¿ÐŸ Ð°ÐºÑÐµÐœÑÐ°ÐŒ ÐŽÐŸÑÑÑÐ¿ÐœÐ° ÐŽÐ»Ñ MGPP ÐžÐœÐŽÐµÐºÑÐŸÐ². Ð Ð°Ð±ÐŸÑÐ°ÐµÑ ÑÐ°Ðº Ð¶Ðµ ÐºÐ°Ðº Ðž ÑÐµÐŒÐ°ÑÐžÑÐµÑÐºÐžÐµ ÑÐ°ÑÐºÐ»Ð°ÐŽÐºÐž, ÐœÐŸ Ð²ÐŒÐµÑÑÐŸ ÐœÐžÐ¶ÐœÐµÐ³ÐŸ Ðž Ð²ÐµÑÑ
+ÐœÐµÐ³ÐŸ ÑÐµÐ³ÐžÑÑÑÐŸÐ² Ð±ÑÐºÐ² ÐœÐµ ÑÐŸÐ²Ð¿Ð°ÐŽÐ°ÑÑ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐžÐµ Ð·Ð°Ð¿ÐžÑÐž Ñ ÐŽÐžÐ°ÐºÑÐžÑÐžÑÐµÑÐºÐžÐŒÐž Ð·ÐœÐ°ÐºÐ°ÐŒÐž. Ð ÐžÐœÐŽÐµÐºÑ Lucene Ð²ÑÐµÐ³ÐŽÐ° Ð°ÐºÑÐµÐœÑ-ÐºÑÐ°ÑÐµÐœ, Ðž ÐœÐµÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÐž Ð¿ÐµÑÐµÐºÐ»ÑÑÐµÐœÐžÑ ÐœÐ° ÑÑÐŸÑ Ðž ÐŽÑÑÐ³ÐžÐµ Ð±ÑÐŽÑÑ ÐŸÑÐŸÐ±ÑÐ°Ð¶Ð°ÑÑÑÑ ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ ÐœÐ°ÑÑÑÐŸÐ¹ÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.</p>
+
+<p>""ÐÐžÑÐ°Ð¹ÑÐºÐžÐ¹, ÑÐ¿ÐŸÐœÑÐºÐžÐ¹ Ðž ÐºÐŸÑÐµÐ¹ÑÐºÐžÐ¹ ÑÐµÐºÑÑ ÑÐ°ÑÑÐŸ ÐœÐµ ÑÐµÐ³ÐŒÐµÐœÑÐžÑÐŸÐ²Ð°Ðœ ÐœÐ° ÐŸÑÐŽÐµÐ»ÑÐœÑÐµ ÑÐ»ÐŸÐ²Ð°. ÐÐ°Ðº Ðž Ð¿ÐŸÐ»Ð°Ð³Ð°ÐµÑÑÑ Ð² ÐžÐœÐŽÐµÐºÑÐ°ÑÐžÐž, ÐŸÑÐœÐŸÐ²ÐŸÐ¹ ÑÐ²Ð»ÑÑÑÑÑ Ð¿ÑÐŸÐ±ÐµÐ»Ñ ÐŒÐµÐ¶ÐŽÑ ÑÐ»ÐŸÐ²Ð°ÐŒÐž Ð¿ÑÐžÑÑÑÑÑÐ²ÑÑÑÐžÐŒÐž Ð² ÑÐµÐºÑÑÐµ, ÑÑÐŸ Ð¿ÑÐžÐ²ÐŸÐŽÐžÑ Ðº ÐœÐµÑÐ°Ð±ÐŸÑÐ°ÑÑÐžÐŒ ÐžÐœÐŽÐµÐºÑÐ°ÐŒ. Ð£ÑÑÐ°ÐœÐŸÐ²ÐºÐ° ÐŸÐ¿ÑÐžÐž "ÐÐ¯Ð Ð¡ÐµÐ³ÐŒÐµÐœÑÐ°ÑÐžÑ ÑÐµÐºÑÑÐ°"  Ð±ÑÐŽÐµÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÑÑ Ð¿ÑÐŸÐ±ÐµÐ»Ñ ÐŒÐµÐ¶ÐŽÑ ÐžÐµÑÐŸÐ³Ð»ÐžÑÐ°ÐŒÐž Ð² ÐºÐžÑÐ°Ð¹ÑÐºÐŸÐŒ, ÑÐ¿ÐŸÐœÑÐºÐŸÐŒ Ðž ÐºÐŸÑÐµÐ¹ÑÐºÐŸÐŒ ÑÐµÐºÑÑÐ°Ñ
+, ÐŽÐ»Ñ ÐŸÑÑÑÐµÑÑÐ²Ð»ÐµÐœÐžÑ Ð¿ÐŸÐžÑÐºÐ°."</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/searchmetadatasettings.htm
===================================================================
--- main/tags/2.83/gli/help/ru/searchmetadatasettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/searchmetadatasettings.htm	(revision 21123)
@@ -0,0 +1,26 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchmetadatasettings"><font size="5" face="Verdana"><strong>8.3: ÐÐŸÐžÑÐº</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð­ÑÐ° ÑÐµÐºÑÐžÑ ÐŸÐ±ÑÑÑÐœÑÐµÑ, ÐºÐ°Ðº ÑÑÑÐ°ÐœÐŸÐ²ÐžÑÑ ÐŸÑÐŸÐ±ÑÐ°Ð¶Ð°ÐµÐŒÑÐ¹ ÑÐµÐºÑÑ ÐŽÐ»Ñ ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐžÑ
+ ÑÐ¿ÐžÑÐºÐŸÐ² ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ Ð¿ÐŸÐžÑÐºÐ°. ÐÐŸÐŽ Ð²ÐºÐ»Ð°ÐŽÐºÐŸÐ¹ &laquo;Ð€ÐŸÑÐŒÐ°Ñ&raquo; ÐœÐ°Ð¶ÐŒÐžÑÐµ &laquo;ÐÐŸÐžÑÐº&raquo;.</p>
+
+<p>Ð­ÑÐ° Ð¿Ð°ÐœÐµÐ»Ñ ÑÐŸÐŽÐµÑÐ¶ÐžÑ ÑÐ°Ð±Ð»ÐžÑÑ Ð²ÑÐµÑ
+ Ð¿ÐŸÐžÑÐºÐŸÐ²ÑÑ
+ ÐžÐœÐŽÐµÐºÑÐŸÐ², ÑÑÐŸÐ²ÐµÐœÑ ÐžÐœÐŽÐµÐºÑÐ° (ÐŽÐ»Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ MGPP ÐžÐ»Ðž Lucene), Ðž ÑÐ°Ð·ÐŽÐµÐ» ÐžÐœÐŽÐµÐºÑÐ°/ÑÐ·ÑÐºÐ°. ÐÐŽÐµÑÑ ÐŒÐŸÐ¶ÐœÐŸ Ð²Ð²ÐŸÐŽÐžÑÑ ÑÐµÐºÑÑ, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÑÐ¹ Ð² ÑÐ°Ð·ÐœÑÑ
+ Ð²ÑÐ¿Ð°ÐŽÐ°ÑÑÐžÑ
+ ÑÐ¿ÐžÑÐºÐ°Ñ
+ ÐœÐ° ÑÑÑÐ°ÐœÐžÑÐµ Ð¿ÐŸÐžÑÐºÐ°. Ð­ÑÐ° Ð¿Ð°ÐœÐµÐ»Ñ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ ÑÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÑÑ ÑÐµÐºÑÑ ÑÐŸÐ»ÑÐºÐŸ ÐŽÐ»Ñ ÐŸÐŽÐœÐŸÐ³ÐŸ ÑÐ·ÑÐºÐ° &ndash; ÑÐŸÐ³ÐŸ, ÐºÐŸÑÐŸÑÑÐ¹ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑ GLI. ÐÐ»Ñ Ð¿ÐµÑÐµÐ²ÐŸÐŽÐ° ÑÑÐžÑ
+ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐ¹ ÐœÐ° ÐŽÑÑÐ³ÐžÐµ ÑÐ·ÑÐºÐž, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÐŸÑÐŽÐµÐ» ÐÐµÑÐµÐ²ÐµÑÑÐž ÑÐµÐºÑÑ (Translate Text) Ð²ÐžÐŽÐ° Ð€ÐŸÑÐŒÐ°Ñ (Format) (ÑÐŒ. <a href="translatetext.htm">ÐÐµÑÐµÐ²ÐŸÐŽ ÑÐµÐºÑÑÐ°</a>).</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/selectingmetadatasets.htm
===================================================================
--- main/tags/2.83/gli/help/ru/selectingmetadatasets.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/selectingmetadatasets.htm	(revision 21123)
@@ -0,0 +1,65 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="selectingmetadatasets"><font size="5" face="Verdana"><strong>5.2: ÐÑÐ±ÐŸÑ ÐœÐ°Ð±ÐŸÑÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð£ÑÑÐ°ÐœÐŸÐ²ÐºÐ° ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ Ð·Ð°ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐžÐ·Ð²ÐµÑÑÐœÐ° ÐºÐ°Ðº "ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+". ÐÑÐžÐŒÐµÑÐŸÐŒ ÑÐ²Ð»ÑÐµÑÑÑ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Dublin Core. ÐÐŸÐ³ÐŽÐ° ÐÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÐµÑÐµ ÐºÐŸÐŒÐ¿Ð»ÐµÐºÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ðº ÐÐ°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÐŸ ÐµÐ³ÐŸ ÑÐ»ÐµÐŒÐµÐœÑÑ ÑÑÐ°ÐœÐŸÐ²ÑÑÑÑ ÐŽÐŸÑÑÑÐ¿ÐœÑÐŒÐž ÐŽÐ»Ñ Ð²ÑÐ±ÐŸÑÐ°. ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐžÐŒÐµÑÑ Ð±ÐŸÐ»ÑÑÐµ,ÑÐµÐŒ ÐŸÐŽÐžÐœ ÐœÐ°Ð±ÐŸÑ. ÐÐ»Ñ Ð¿ÑÐµÐŽÐŸÑÐ²ÑÐ°ÑÐµÐœÐžÑ ÑÑÐŸÐ»ÐºÐœÐŸÐ²ÐµÐœÐžÑ ÐŸÐŽÐžÐœÐ°ÐºÐŸÐ²ÑÑ
+ ÐžÐŒÑÐœ Ðº ÐœÐ°Ð·Ð²Ð°ÐœÐžÑ ÑÐ»ÐµÐŒÐµÐœÑÐ° Ð¿ÑÐžÑÐŸÐµÐŽÐžÐœÑÐµÑÑÑ ÐºÐŸÑÐŸÑÐºÐžÐ¹ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐŸÑ,ÐºÐŸÑÐŸÑÑÐ¹ Ð²ÑÐŽÐµÐ»ÑÐµÑ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+. ÐÐ°Ð¿ÑÐžÐŒÐµÑ, ÑÐ»ÐµÐŒÐµÐœÑ Dublin Core "Creator" ÑÑÐ°ÐœÐµÑ "dc.Creator".ÐÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ñ
+ÑÐ°ÐœÑÑÑÑ Ð² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ° Ðž ÐžÐŒÐµÑÑ ÑÑÑÑÐžÐºÑ ".mds".</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÐºÐŸÐœÑÑÐŸÐ»ÐžÑÐŸÐ²Ð°ÑÑ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÑÑ
+ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, Ð²ÑÐ±ÐµÑÐžÑÐµ "ÐÐ°Ð±ÐŸÑ ÐÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+" Ð² Ð¿ÑÐŸÑÐŒÐŸÑÑÐµ "ÐÐžÐ·Ð°Ð¹Ðœ".</p>
+
+<p>Ð¡Ð¿ÐžÑÐŸÐº "ÐÑÐžÑÐ²ÐŸÐµÐœÐœÑÐµ ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+" Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ, ÐºÐ°ÐºÐžÐµ ÐœÐ°Ð±ÐŸÑÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑÑÑ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.</p>
+
+<p>ÐÐ»Ñ ÑÐŸÐ³ÐŸ, ÑÑÐŸÐ±Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐŽÑÑÐ³ÐŸÐ¹ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐŽÐ»Ñ ÑÐ¶Ðµ Ð·Ð°Ð³ÑÑÐ¶ÐµÐœÐœÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ...". ÐÑÐ¿Ð»ÑÐ²Ð°ÑÑÐµÐµ ÐŸÐºÐœÐŸ ÐŸÑÐŸÐ±ÑÐ°Ð·ÐžÑ ÐžÐ·Ð²ÐµÑÑÐœÑÐµ GLI ÐœÐ°Ð±ÐŸÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+. Ð§ÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐŸÐŽÐžÐœ ÐžÐ· ÐœÐžÑ
+, Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ ÐžÐ· ÑÐ¿ÐžÑÐºÐ° Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ". ÐÑÐ»Ðž Ð²Ñ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÐ»Ðž ÑÐŸÐ±ÑÑÐ²ÐµÐœÐœÑÐ¹ ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, Ð²Ñ ÐŒÐŸÐ¶ÐµÑÐµ ÐœÐ°Ð¶Ð°ÑÑ ÐºÐœÐŸÐ¿ÐºÑ "ÐÑÐŸÑÐŒÐŸÑÑ" ÐŽÐ»Ñ Ð²ÑÐ±ÐŸÑÐ° ÐœÑÐ¶ÐœÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð°.  </p>
+
+<p>ÐÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÐœÐ°Ð±ÐŸÑÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ²ÑÐ¹...". ÐÐ°Ð¿ÑÑÑÐžÑÑÑ Ð ÐµÐŽÐ°ÐºÑÐŸÑ ÐœÐ°Ð±ÐŸÑÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Greenstone, GEMS. Ð Ð¿ÐµÑÐ²ÐŸÐŒ Ð²ÑÐ¿Ð»ÑÐ²Ð°ÑÑÐµÐŒ ÐŸÐºÐœÐµ ÑÐºÐ°Ð¶ÐžÑÐµ ÐžÐŒÑ ÐœÐ°Ð±ÐŸÑÐ°, Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐŸ ÐžÐŒÐµÐœ Ðž ÐŸÐ¿ÐžÑÐ°ÐœÐžÐµ. Ð¢Ð°ÐºÐ¶Ðµ ÐŒÐŸÐ¶ÐœÐŸ Ð²Ð·ÑÑÑ Ð·Ð° ÐŸÑÐœÐŸÐ²Ñ ÐŸÐŽÐžÐœ ÐžÐ· ÑÑÑÐµÑÑÐ²ÑÑÑÐžÑ
+ ÐœÐ°Ð±ÐŸÑÐŸÐ², Ð² ÑÑÐŸÐŒ ÑÐ»ÑÑÐ°Ðµ ÐœÐ°Ð±ÐŸÑ ÑÐœÐ°ÑÐ»ÐµÐŽÑÐµÑ Ð²ÑÐµ ÑÐ»ÐµÐŒÐµÐœÑÑ ÐžÐ· Ð±Ð°Ð·ÐŸÐ²ÐŸÐ³ÐŸ. Ð©ÐµÐ»ÐºÐœÐžÑÐµ OK. ÐÐ»Ð°Ð²ÐœÐŸÐµ ÐŸÐºÐœÐŸ ÐŸÑÐŸÐ±ÑÐ°Ð·ÐžÑ ÑÐ»ÐµÐ²Ð° Ð²ÑÐ±ÑÐ°ÐœÐœÑÐ¹ ÐœÐ°Ð±ÐŸÑ Ðž ÐœÐµÐºÐŸÑÐŸÑÑÐµ Ð°ÑÑÐžÐ±ÑÑÑ ÐœÐ°Ð±ÐŸÑÐ° ÑÐ¿ÑÐ°Ð²Ð°. ÐÑÐ»Ðž Ð²ÑÐ±ÑÐ°Ð»Ðž Ð±Ð°Ð·ÐŸÐ¹ ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐ¹ ÐœÐ°Ð±ÐŸÑ, Ð±ÑÐŽÐµÑ ÐŸÑÐŸÐ±ÑÐ°Ð¶ÐµÐœ ÐŸÐŽÐžÐœ ÐžÐ»Ðž Ð±ÐŸÐ»ÐµÐµ ÑÐ»ÐµÐŒÐµÐœÑ. ÐÐŸ ÑÐµÐ»ÑÐºÑ ÐœÐ° ÐŸÐŽÐœÐŸÐŒ ÐžÐ· ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² ÐµÐ³ÐŸ Ð°ÑÑÐžÐ±ÑÑÑ Ð±ÑÐŽÑÑ ÐŸÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÑ ÑÐ¿ÑÐ°Ð²Ð°.  </p>
+
+<p>ÐÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÑÐ»ÐµÐŒÐµÐœÑÐ° ÑÐµÐ»ÐºÐœÐžÑÐµ Ð¿ÑÐ°Ð²ÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐŸÐ¹ ÐœÐ° ÐœÐ°Ð±ÐŸÑÐµ Ðž Ð²ÑÐ±ÐµÑÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐ»ÐµÐŒÐµÐœÑ". ÐÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ÐœÐŸÐ²ÐŸÐ³ÐŸ ÑÑÐ±ÑÐ»ÐµÐŒÐµÐœÑÐ° ÑÐµÐ»ÐºÐœÐžÑÐµ Ð¿ÑÐ°Ð²ÐŸÐ¹ ÐºÐœÐŸÐ¿ÐºÐŸÐ¹ ÐŒÑÑÐž Ð¿ÐŸ ÑÐ»ÐµÐŒÐµÐœÑÑ Ðž Ð²ÑÐ±ÐµÑÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ ÑÑÐ±ÑÐ»ÐµÐŒÐµÐœÑ". Ð­Ð»ÐµÐŒÐµÐœÑÑ Ðž ÑÑÐ±ÑÐ»ÐµÐœÑÑ ÐŒÐŸÐ¶ÐœÐŸ ÑÐŽÐ°Ð»ÑÑÑ, Ð²ÑÐ±ÑÐ°Ð² "Ð£ÐŽÐ°Ð»ÐžÑÑ (ÑÑÐ±)ÑÐ»ÐµÐŒÐµÐœÑ" ÐžÐ· ÐºÐŸÐœÑÐµÐºÑÑÐœÐŸÐ³ÐŸ ÐŒÐµÐœÑ.   </p>
+
+<p>ÐÐ°ÐŒÐµÑÐ°ÐœÐžÐµ: Ð ÐµÐŽÐ°ÐºÑÐŸÑ ÐœÐ°Ð±ÐŸÑÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Greenstone ÐŒÐŸÐ¶ÐœÐŸ Ð·Ð°Ð¿ÑÑÐºÐ°ÑÑ ÐœÐµÐ·Ð°Ð²ÐžÑÐžÐŒÐŸ ÐŸÑ  GLI, Ð²ÑÐ±ÑÐ°Ð² ÐµÐ³ÐŸ ÐžÐ· Ð³Ð»Ð°Ð²ÐœÐŸÐ³ÐŸ ÐŒÐµÐœÑ Greenstone, ÐžÐ»Ðž Ð·Ð°Ð¿ÑÑÑÐžÐ² gens.sh Ð»ÐžÐ±ÐŸ gems.bat ÐžÐ· Ð¿Ð°Ð¿ÐºÐž gli Ð²Ð°ÑÐµÐ¹ ÐžÐœÑÑÐ°Ð»Ð»ÑÑÐžÐž Greenstone.</p>
+
+<p>ÐÐœÐŸÐ³ÐŽÐ° ÐŽÐ²Ð° ÐœÐ°Ð±ÐŸÑÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐŸÐ³ÑÑ ÐžÐŒÐµÑÑ ÐŸÐŽÐœÐŸ Ðž ÑÐŸ Ð¶Ðµ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐŸ ÐžÐŒÐµÐœ, ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, Dublin Core Ðž Qualified Dublin Core ÐŸÐ±Ð° ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐŸ ÐžÐŒÐµÐœ "dc". Ð¢Ð°ÐºÐžÐµ ÐœÐ°Ð±ÐŸÑÑ ÐœÐµÐ»ÑÐ·Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð²ÐŒÐµÑÑÐµ. ÐÑÐ»Ðž Ð²Ñ Ð¿ÐŸÐ¿ÑÑÐ°ÐµÑÐµÑÑ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐŸ ÐžÐŒÐµÐœ, ÑÐ¶Ðµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑÐµÐµÑÑ Ð² Ð²Ð°ÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, Ð±ÑÐŽÐµÑ Ð¿ÐŸÐºÐ°Ð·Ð°ÐœÐŸ Ð¿ÑÐµÐŽÑÐ¿ÑÐµÐ¶ÐŽÐµÐœÐžÐµ. ÐÑÐ»Ðž Ð²Ñ Ð¿ÑÐŸÐŽÐŸÐ»Ð¶ÐžÑÐµ, ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐ¹ ÐœÐ°Ð±ÐŸÑ Ð±ÑÐŽÐµÑ ÑÐŽÐ°Ð»ÐµÐœ, Ð° ÐœÐŸÐ²ÑÐ¹ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœ. ÐÑÐµ Ð¿ÑÐžÑÐ²ÐŸÐµÐœÐœÑÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð±ÑÐŽÑÑ Ð¿ÐµÑÐµÐŒÐµÑÐµÐœÑ Ð² ÐœÐŸÐ²ÑÐ¹, Ð¿ÑÐž ÑÑÐ»ÐŸÐ²ÐžÐž ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ Ð² ÐœÐµÐŒ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐžÑ
+ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ².  </p>
+
+<p>Ð ÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÐµ ÐœÐ°Ð±ÐŸÑÐ° ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+ Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœÐŸ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ Greenstone Editor for Metadata Sets (GEMS). ÐÐ°Ð¶ÐŒÐžÑÐµ ÐœÐ° ÐºÐœÐŸÐ¿ÐºÑ "Ð ÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ ÐÐ°Ð±ÐŸÑ ÐÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+", ÑÑÐŸÐ±Ñ Ð¿ÐŸÐ»ÑÑÐžÑÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸ GEMS.</p>
+
+<p>ÐÑÐ»Ðž ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+ Ð²Ð°ÐŒ Ð±ÐŸÐ»ÑÑÐµ ÐœÐµ ÐœÑÐ¶ÐµÐœ, Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ Ðž ÐœÐ°Ð¶ÐŒÐžÑÐµ ÐœÐ° "Ð£ÐŽÐ°Ð»ÐžÑÑ ÐÐ°Ð±ÐŸÑ ÐÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+". ÐÑÐ»Ðž Ð²Ñ ÐœÐ°Ð·ÐœÐ°ÑÐžÐ»Ðž ÐºÐ°ÐºÐžÐµ-Ð»ÐžÐ±ÐŸ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÐµ Ðº ÑÐ»ÐµÐŒÐµÐœÑÐ°ÐŒ Ð² ÑÐŽÐ°Ð»ÐµÐœÐœÐŸÐŒ ÐœÐ°Ð±ÐŸÑÐµ, Ñ Ð²Ð°Ñ ÑÐ¿ÑÐŸÑÑÑ ÐºÐ°Ðº Ñ ÐœÐžÐŒÐž Ð¿ÐŸÑÑÑÐ¿ÐžÑÑ Ð¿ÑÐž ÑÐ»ÐµÐŽÑÑÐµÐ¹ Ð·Ð°Ð³ÑÑÐ·ÐºÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/startingoff.htm
===================================================================
--- main/tags/2.83/gli/help/ru/startingoff.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/startingoff.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="startingoff"><font size="5" face="Verdana"><strong>2: ÐÐŸ ÑÑÐ°ÑÑÐ°</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÑÐ°ÑÑÐºÐ°Ð·Ð°ÐœÐŸ, ÐºÐ°Ðº ÑÐŸÐ·ÐŽÐ°Ð²Ð°ÑÑ, Ð·Ð°Ð³ÑÑÐ¶Ð°ÑÑ Ðž ÑÐŽÐ°Ð»ÑÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/thecreateview.htm
===================================================================
--- main/tags/2.83/gli/help/ru/thecreateview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/thecreateview.htm	(revision 21123)
@@ -0,0 +1,26 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thecreateview"><font size="5" face="Verdana"><strong>7.1: Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ,ÑÑÐŸÐ±Ñ ÑÐŸÐ·ÐŽÐ°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ,Ð²ÑÐ¿ÐŸÐ»ÐœÑÑ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐœÑÐµ ÑÑÐµÐœÐ°ÑÐžÐž Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Greenstone ÐžÐ· ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž, ÐºÐŸÑÐŸÑÑÑ ÐÑ Ð¿ÐŸÐŽÐ³ÐŸÑÐŸÐ²ÐžÐ»Ðž. Ð©ÐµÐ»ÑÐŸÐº ÐœÐ° "ÐÐŸÑÑÑÐŸÐµÐœÐžÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž" ÐœÐ°ÑÐžÐœÐ°ÐµÑ Ð¿ÑÐŸÑÐµÑÑ ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÑÐµÐŒÑ, ÐºÐŸÑÐŸÑÐŸÐµ ÐŽÐ»Ñ ÑÑÐŸÐ³ÐŸ Ð¿ÐŸÑÑÐµÐ±ÑÐµÑÑÑ, Ð·Ð°Ð²ÐžÑÐžÑ ÐŸÑ ÑÐ°Ð·ÐŒÐµÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž ÑÐžÑÐ»Ð° ÑÐŸÐ·ÐŽÐ°Ð²Ð°ÐµÐŒÑÑ
+ ÐžÐœÐŽÐµÐºÑÐŸÐ² (ÐŽÐ»Ñ ÐŸÐ³ÑÐŸÐŒÐœÑÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÑÑÐŸ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐ°ÑÑ). ÐÐœÐŽÐžÐºÐ°ÑÐŸÑ Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœÐžÑ ÑÐºÐ°Ð·ÑÐ²Ð°ÐµÑ, ÐœÐ°ÑÐºÐŸÐ»ÑÐºÐŸ Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœ Ð¿ÑÐŸÑÐµÑÑ. Ð§ÑÐŸÐ±Ñ ÐŸÑÐŒÐµÐœÐžÑÑ Ð¿ÑÐŸÑÐµÑÑ Ð² Ð»ÑÐ±ÐŸÐµ Ð²ÑÐµÐŒÑ, ÐœÐ°Ð¶ÐŒÐžÑÐµ "ÐÑÐŒÐµÐœÐ° Ð¿ÐŸÑÑÑÐŸÐµÐœÐžÑ".</p>
+
+<p>ÐÐŸ ÑÐµÐ»ÑÐºÑ ÐœÐ° "Ð¡Ð±ÐŸÑÐºÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž" ÐœÐ°ÑÐžÐœÐ°ÐµÑÑÑ Ð¿ÑÐŸÑÐµÑÑ ÑÐ±ÐŸÑÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÑÐµÐŒÑ, ÐºÐŸÑÐŸÑÐŸÐµ ÐŸÐœ Ð·Ð°Ð¹ÐŒÐµÑ, Ð·Ð°Ð²ÐžÑÐžÑ ÐŸÑ ÑÐ°Ð·ÐŒÐµÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž ÐºÐŸÐ»ÐžÑÐµÑÑÐ²Ð° ÑÐŸÐ·ÐŽÐ°Ð²Ð°ÐµÐŒÑÑ
+ ÐžÐœÐŽÐµÐºÑÐŸÐ² (ÐŽÐ»Ñ ÐŸÐ³ÑÐŸÐŒÐœÑÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÑÑÐŸ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ°ÑÐŸÐ²). ÐÐ°ÐœÐµÐ»Ñ Ð¿ÑÐŸÐ³ÑÐµÑÑÐ° Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ, ÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ°Ð±ÐŸÑÑ ÑÐŽÐµÐ»Ð°ÐœÐŸ. ÐÑÐŸÑÐµÑÑ ÐŒÐŸÐ¶ÐœÐŸ Ð¿ÑÐµÑÐ²Ð°ÑÑ Ð² Ð»ÑÐ±ÐŸÐµ Ð²ÑÐµÐŒÑ, ÐŽÐ»Ñ ÑÑÐŸÐ³ÐŸ ÐœÐ°Ð¶ÐŒÐžÑÐµ "ÐÑÐŒÐµÐœÐžÑÑ ÑÐ±ÐŸÑÐºÑ". ÐÐžÐ¶ÐœÑÑ ÑÐ°ÑÑÑ Ð¿Ð°ÐœÐµÐ»Ðž Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ Ð²ÑÐ²ÐŸÐŽ ÑÐŸÐŸÐ±ÑÐµÐœÐžÐ¹ Ð¿ÑÐŸÑÐµÑÑÐ° ÑÐ±ÐŸÑÐºÐž. ÐÐµÑÑ
+ÐœÑÑ ÑÐ°ÑÑÑ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐœÐµÐºÐŸÑÐŸÑÑÐµ ÐŸÐ¿ÑÐžÐž ÐŽÐ»Ñ ÐºÐŸÐœÑÑÐŸÐ»Ñ Ð¿ÑÐŸÑÐµÑÑÐ° ÑÐ±ÐŸÑÐºÐž.  </p>
+
+<p>ÐÐ°Ð¶Ð°Ð² ÐœÐ° "ÐÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÑÐ¹ Ð¿ÑÐŸÑÐŒÐŸÑÑ" Ð¿ÐŸÑÐ»Ðµ ÑÐŸÐ³ÐŸ, ÐºÐ°Ðº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð±ÑÐ»Ð° ÑÑÐ¿ÐµÑÐœÐŸ ÑÐŸÐ±ÑÐ°ÐœÐ°, ÐŒÐŸÐ¶ÐœÐŸ ÐŸÑÐºÑÑÑÑ Ð²ÐµÐ±-Ð±ÑÐ°ÑÐ·ÐµÑ Ñ Ð³Ð»Ð°Ð²ÐœÐŸÐ¹ ÑÑÑÐ°ÐœÐžÑÐµÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/thedesignview.htm
===================================================================
--- main/tags/2.83/gli/help/ru/thedesignview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/thedesignview.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thedesignview"><font size="5" face="Verdana"><strong>6.1: ÐÐžÐŽ ÐŽÐžÐ·Ð°Ð¹ÐœÐ°</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð­ÑÐŸÑ ÑÐ°Ð·ÐŽÐµÐ» Ð²Ð²ÐŸÐŽÐžÑ ÐÐ°Ñ Ð² ÑÐ°ÑÑÐŒÐ°ÑÑÐžÐ²Ð°ÐµÐŒÑÐ¹ Ð¿ÑÐŸÐµÐºÑ Ðž ÐŸÐ±ÑÑÑÐœÑÐµÑ,ÐºÐ°Ðº Ð²ÑÐ±ÑÐ°ÑÑ ÐŒÐµÐ¶ÐŽÑ ÑÐ°Ð·Ð»ÐžÑÐœÑÐŒÐž Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑÐŒÐž Ð² Ð¿ÑÐµÐŽÐµÐ»Ð°Ñ
+ Ð°ÐºÑÐžÐ²ÐœÐŸÐ¹ ÑÐ°ÑÑÐž ÐŸÐºÐœÐ°.</p>
+
+<p>ÐÑÐž Ð¿ÐŸÐŒÐŸÑÐž ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÐŸÐ³ÐŸ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ° ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÑÐŸÑÐŒÐžÑÐŸÐ²Ð°ÑÑ Ð²ÐžÐŽÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÑÐµÐŒÐŸÐ¹ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ.ÐÐ°ÑÐžÐ°ÐœÑÑ ÐºÐŸÐœÑÐžÐ³ÑÑÐ°ÑÐžÐž ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÑ ÐœÐ° ÑÐ°Ð·Ð»ÐžÑÐœÑÐµ ÑÐ°Ð·ÐŽÐµÐ»Ñ, ÐºÐ°Ð¶ÐŽÑÐ¹ ÐžÐ· ÐºÐŸÑÐŸÑÑÑ
+ ÑÐ²ÑÐ·Ð°Ðœ ÑÐŸ ÑÐ¿ÐµÑÐžÑÐžÑÐµÑÐºÐŸÐ¹ ÑÑÐ°ÐŽÐžÐµÐ¹ ÐœÐ°Ð²ÐžÐ³Ð°ÑÐžÐž ÐžÐ»Ðž Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž.</p>
+
+<p>Ð¡Ð»ÐµÐ²Ð° ÐœÐ°Ñ
+ÐŸÐŽÐžÑÑÑ ÑÐ¿ÐžÑÐŸÐº ÑÐ°Ð·Ð»ÐžÑÐœÑÑ
+ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐ¹,Ð° ÑÐ¿ÑÐ°Ð²Ð° - ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÑÐµÐºÑÑÐžÐŒ ÑÐ¿ÐžÑÐºÐŸÐŒ.Ð§ÑÐŸÐ±Ñ Ð¿ÐµÑÐµÐ¹ÑÐž ÐœÐ° Ð²ÑÐ±ÑÐ°ÐœÐœÐŸÐµ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ,ÑÐµÐ»ÐºÐœÐžÑÐµ ÐµÐ³ÐŸ ÐžÐŒÑ Ð² ÑÐ¿ÐžÑÐºÐµ. </p>
+
+<p>Ð§ÑÐŸÐ±Ñ Ð¿ÐŸÐœÐžÐŒÐ°ÑÑ ÑÑÐ°ÐŽÐžÐž Ðž ÑÐµÑÐŒÐžÐœÑ,ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÑÐµ Ð¿ÑÐž Ð¿ÑÐŸÐµÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÐœÐ°ÑÐ°Ð»Ð° Ð¿ÑÐŸÑÑÐžÑÐµ Ð³Ð»Ð°Ð²Ñ 1 Ðž 2 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone. </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/theenrichview.htm
===================================================================
--- main/tags/2.83/gli/help/ru/theenrichview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/theenrichview.htm	(revision 21123)
@@ -0,0 +1,53 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="theenrichview"><font size="5" face="Verdana"><strong>5.1: ÐÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐŸÐ±ÐŸÐ³Ð°ÑÐµÐœÐžÑ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÐÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐŸÐ±ÐŸÐ³Ð°ÑÐµÐœÐžÑ ÐŽÐ»Ñ Ð·Ð°ÐŽÐ°ÐœÐžÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°ÐŒ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ - ÑÑÐŸ ÐŽÐ°ÐœÐœÑÐµ ÐŸ ÐŽÐ°ÐœÐœÑÑ
+ - ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, ÐÐ°Ð·Ð²Ð°ÐœÐžÐµ,ÐÐ²ÑÐŸÑ,ÐÐ°ÑÐ° ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ Ðž Ñ.ÐŽ. ÐÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ - ÑÑÐŸ ÐŽÐ°ÐœÐœÑÐµ ÐŸ ÐŽÐ°ÐœÐœÑÑ
+, ÐŸÐ±ÑÑÐœÐŸ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµ, Ð°Ð²ÑÐŸÑ, ÐŽÐ°ÑÐ° ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ° Ðž.Ñ.Ð¿. ÐÐ°Ð¶ÐŽÑÐ¹ Ð¿ÑÐµÐŽÐŒÐµÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÑÐŸÑÑÐŸÐžÑ ÐžÐ· ÐŽÐ²ÑÑ
+ ÑÐ°ÑÑÐµÐ¹: "ÑÐ»ÐµÐŒÐµÐœÑ" ÐŸÐ·ÐœÐ°ÑÐ°ÐµÑ, ÐºÐ°ÐºÐŸÐ¹ Ð¿ÑÐµÐŽÐŒÐµÑ ÐžÐŒÐµÐµÑÑÑ Ð²Ð²ÐžÐŽÑ (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, Ð°Ð²ÑÐŸÑ), Ð° "Ð·ÐœÐ°ÑÐµÐœÐžÐµ" Ð¿ÑÐžÑÐ²Ð°ÐžÐ²Ð°ÐµÑ ÑÑÐŸÐŒÑ ÑÐ»ÐµÐŒÐµÐœÑÑ ÐµÐ³ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐµ (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, ÐžÐŒÑ Ð°Ð²ÑÐŸÑÐ°).</p>
+
+<p>Ð "ÑÐ°ÑÑÐžÑÐµÐœÐœÐŸÐŒ" Ð²ÐžÐŽÐµ ÑÐ»ÐµÐ²Ð° ÐœÐ°Ñ
+ÐŸÐŽÐžÑÑÑ ÐÐµÑÐµÐ²ÐŸ ÐÐŸÐ»Ð»ÐµÐºÑÐžÐž, ÑÐ¿ÑÐ°Ð²Ð° Ð¢Ð°Ð±Ð»ÐžÑÐ° ÐÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÐºÐŸÑÐŸÑÐ°Ñ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐŽÐ»Ñ ÐºÐ°Ð¶ÐŽÐŸÐ³ÐŸ Ð²ÑÐ±ÑÐ°ÐœÐœÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð° ÐžÐ»Ðž Ð¿Ð°Ð¿ÐºÐž ÐžÐ· ÐÐµÑÐµÐ²Ð° ÐÐŸÐ»Ð»ÐµÐºÑÐžÐž. Ð¡ÑÐŸÐ»Ð±ÑÑ ÐŸÐ±ÐŸÐ·ÐœÐ°ÑÐµÐœÑ ÑÐµÑÑÐŒ ÑÐ²ÐµÑÐŸÐŒ Ð²Ð²ÐµÑÑ
+Ñ Ðž ÐžÑ
+ ÑÐ°Ð·ÐŒÐµÑ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÐ·ÐŒÐµÐœÑÐœ Ð¿ÑÑÑÐŒ Ð¿ÐµÑÐµÐŽÐ²ÐžÐ¶ÐµÐœÐžÑ Ð»ÐžÐœÐžÐž ÑÐ°Ð·ÐŽÐµÐ»Ð°. ÐÐ°Ð¶Ð°Ð² ÐœÐ° Ð»ÑÐ±ÐŸÐ¹ ÑÑÐŽ Ð² ÑÐ°Ð±Ð»ÐžÑÐµ, Ð²Ñ ÑÐŒÐŸÐ¶ÐµÑÐµ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ Ðž ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ ÐŽÐµÑÐ°Ð»Ðž ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÑ
+ Ð² ÐœÐžÐ¶ÐœÐµÐ¹ ÑÐµÐºÑÐžÐž ÐŸÐºÐœÐ°. Ð§ÐµÑÐœÑÐ¹ ÑÐµÐºÑÑ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ, ÑÑÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÑÐ²Ð»ÑÐµÑÑÑ ÐŸÐ±ÑÐžÐŒ ÐŽÐ»Ñ Ð²ÑÐµÑ
+ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ²,ÑÐŸÐ³ÐŽÐ° ÐºÐ°Ðº ÑÐµÑÑÐ¹ ÑÐµÐºÑÑ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ,ÑÑÐŸ ÑÑÐŸ - ÐœÐµ ÑÐ°Ðº.Ð§ÐµÑÐœÑÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐŸÐ±ÐœÐŸÐ²Ð»ÐµÐœÑ ÐžÐ»Ðž ÑÐŽÐ°Ð»ÐµÐœÑ, Ð² ÑÐŸ Ð²ÑÐµÐŒÑ ÐºÐ°Ðº ÑÐµÑÑÐµ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐŽÐ°Ð»ÐµÐœÑ ÐžÐ· ÑÐµÑ
+,ÐºÐŸÑÐŸÑÑÐµ ÐžÐŒÐµÑÑ ÐžÑ
+,ÐžÐ»Ðž ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÑ Ðº ÐŽÑÑÐ³ÐžÐŒ.  </p>
+
+<p>ÐÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ Ð¿Ð°Ð¿ÐºÐž ÐŒÐŸÐ¶ÐµÑ Ð¿ÐŸÑÐ²Ð»ÑÑÑÑÑ ÐŸÐºÐŸÐ»ÐŸ ÐœÐµÐºÐŸÑÐŸÑÑÑ
+ Ð²Ñ
+ÐŸÐŽÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+.Ð­ÑÐŸ ÑÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐœÐ° ÑÐŸ,ÑÑÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÑÐœÐ°ÑÐ»ÐµÐŽÐŸÐ²Ð°ÐœÑ ÐŸÑ Ð¿Ð°Ð¿ÐŸÐº ÑÐŸÐŽÐžÑÐµÐ»ÐµÐ¹ (ÐžÐ»Ðž Ð¿ÑÐµÐŽÐºÐŸÐ²). Ð£ÐœÐ°ÑÐ»ÐµÐŽÐŸÐ²Ð°ÐœÐœÑÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐœÐµ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÐœÑ ÐžÐ»Ðž ÑÐŽÐ°Ð»ÐµÐœÑ, Ð° ÑÐŸÐ»ÑÐºÐŸ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÑ Ð² ÐºÐŸÐœÐµÑ ÑÐ¿ÐžÑÐºÐ° ÐžÐ»Ðž Ð¿ÐµÑÐµÐ¿ÐžÑÐ°ÐœÑ.Ð©ÐµÐ»ÐºÐœÐžÑÐµ ÐœÐ° ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐž Ð¿Ð°Ð¿ÐºÐž,ÑÑÐŸÐ±Ñ ÐœÐµÐŒÐµÐŽÐ»ÐµÐœÐœÐŸ Ð¿ÐµÑÐµÐ¹ÑÐž Ð² ÑÑ Ð¿Ð°Ð¿ÐºÑ, Ð³ÐŽÐµ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ð·Ð°ÐŽÐ°ÐœÑ.  </p>
+
+<p>ÐÑÐ±ÐµÑÐžÑÐµ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð² ÑÐ°Ð±Ð»ÐžÑÐµ, ÑÑÐŸÐ±Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐµÑÑ ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŽÐ»Ñ ÑÑÐŸÐ³ÐŸ ÑÐ»ÐµÐŒÐµÐœÑÐ° Ð² ÐŸÐ±Ð»Ð°ÑÑÐž "Ð¡ÑÑÐµÑÑÐ²ÑÑÑÐžÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŽÐ»Ñ ...", ÐœÐ°Ñ
+ÐŸÐŽÑÑÐµÐ¹ÑÑ Ð²ÐœÐžÐ·Ñ ÑÐ°Ð±Ð»ÐžÑÑ. ÐÐµÑÐµÐ²ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹ ÐŒÐŸÐ¶ÐµÑ ÑÐ°ÑÑÐžÑÑÑÑÑÑ Ðž ÑÐ°Ð·ÑÑÑÐ°ÑÑÑÑ. ÐÐ±ÑÑÐœÐŸ ÑÑÐŸ - ÑÐ¿ÐžÑÐŸÐº, ÐºÐŸÑÐŸÑÑÐ¹ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ Ð²ÑÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ, Ð²Ð²ÐµÐŽÐµÐœÐœÑÐµ Ð¿ÑÐµÐŽÐ²Ð°ÑÐžÑÐµÐ»ÑÐœÐŸ ÐŽÐ»Ñ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÐŸÐ³ÐŸ ÑÐ»ÐµÐŒÐµÐœÑÐ°. Ð©ÐµÐ»ÑÐŸÐº ÐœÐ° Ð²Ñ
+ÐŸÐŽÐµ Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž ÑÐ°Ð·ÐŒÐµÑÐ°ÐµÑ ÐµÐ³ÐŸ Ð² Ð¿ÐŸÐ»Ðµ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹. Ð¡ ÐŽÑÑÐ³ÐŸÐ¹ ÑÑÐŸÑÐŸÐœÑ,Ð¿ÑÐž ÐœÐ°Ð¿ÐµÑÐ°ÑÐ°ÐœÐœÐŸÐŒ Ð·ÐœÐ°ÑÐµÐœÐžÐž Ð² ÑÐµÐºÑÑÐŸÐ²ÐŸÐŒ Ð¿ÐŸÐ»Ðµ Ð²ÑÐ±ÐŸÑÐºÐž ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² ÐÐµÑÐµÐ²Ð° Ð·ÐœÐ°ÑÐµÐœÐžÐ¹, ÑÐžÑÑÐµÐŒÐ° ÐœÐ°ÑÐžÐœÐ°ÐµÑ ÑÐ°Ð±ÐŸÑÑ Ñ ÑÐžÐŒÐ²ÐŸÐ»ÐŸÐ², ÐºÐŸÑÐŸÑÑÐµ ÐÑ Ð²Ð²ÐµÐ»Ðž. ÐÐ°Ð¶Ð°ÑÐžÐµ [Tab] Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž Ð·Ð°Ð²ÐµÑÑÐ°ÐµÑ Ð¿ÐµÑÐ°ÑÐ°ÐœÐžÐµ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÐŸÐ³ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÑ.</p>
+
+<p>ÐÐœÐ°ÑÐµÐœÐžÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐŸÑÐ³Ð°ÐœÐžÐ·ÐŸÐ²Ð°ÐœÑ Ð² ÐžÐµÑÐ°ÑÑ
+ÐžÑ. Ð­ÑÐŸ Ð¿ÐŸÐºÐ°Ð·Ð°ÐœÐŸ Ð² ÐÐµÑÐµÐ²Ðµ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ Ð¿Ð°Ð¿ÐºÐž ÐŽÐ»Ñ Ð²ÐœÑÑÑÐµÐœÐœÐžÑ
+ ÑÑÐŸÐ²ÐœÐµÐ¹. ÐÐµÑÐ°ÑÑ
+ÐžÑÐµÑÐºÐžÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ Ð²Ð²ÐµÐŽÐµÐœÑ,ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ Ð·ÐœÐ°Ðº "|" ÐŽÐ»Ñ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ ÑÑÐŸÐ²ÐœÐµÐ¹. ÐÐ°Ð¿ÑÐžÐŒÐµÑ,"Cards|Red|Diamonds|Seven" ÐŒÐŸÐ³ Ð±Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑÑÑ Ð² ÐžÐµÑÐ°ÑÑ
+ÐžÐž, Ð¿ÑÐžÐŒÐµÑÐŸÐŒ ÐºÐŸÑÐŸÑÐŸÐ¹ ÑÐ²Ð»ÑÐµÑÑÑ Ð¿Ð°ÐºÐµÑ ÐžÐ³ÑÑ Ð² ÐºÐ°ÑÑÑ.Ð­ÑÐŸ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð³ÑÑÐ¿Ð¿ÐžÑÐŸÐ²Ð°ÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÑ Ð²ÐŒÐµÑÑÐµ. ÐÑÑÐ¿Ð¿Ñ ÐŒÐŸÐ³ÑÑ ÑÐ°ÐºÐ¶Ðµ ÐœÐ°Ð·ÐœÐ°ÑÐ°ÑÑÑÑ ÐºÐ°Ðº ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Ðº ÑÐ°Ð¹Ð»Ð°ÐŒ.  </p>
+
+<p>Greenstone Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž ÐžÐ·Ð²Ð»ÐµÐºÐ°ÐµÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ ÐžÐ· ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ² Ð² ÐœÐ°Ð±ÐŸÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÑÐ»ÐµÐŒÐµÐœÑÑ ÐºÐŸÑÐŸÑÐŸÐ³ÐŸ ÐžÐŒÐµÑÑ Ð¿ÑÐµÑÐžÐºÑ "ex.". Ð­ÑÐŸ ÐœÐµ ÐžÐŒÐµÐµÑ ÐœÐžÐºÐ°ÐºÐŸÐ³ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŽÐµÑÐµÐ²Ð° Ðž ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÐœÐŸ.  </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/theformatview.htm
===================================================================
--- main/tags/2.83/gli/help/ru/theformatview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/theformatview.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="theformatview"><font size="5" face="Verdana"><strong>8.1: ÐÐžÐŽ &laquo;Ð€ÐŸÑÐŒÐ°Ñ&raquo;</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð­ÑÐ° ÑÐµÐºÑÐžÑ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÑÐµÑ Ð²ÐžÐŽ &laquo;Ð€ÐŸÑÐŒÐ°Ñ&raquo; Ðž ÐŸÐ±ÑÑÑÐœÑÐµÑ, ÐºÐ°Ðº ÐŸÑÑÑÐµÑÑÐ²Ð»ÑÑÑ ÐœÐ°Ð²ÐžÐ³Ð°ÑÐžÑ ÐŒÐµÐ¶ÐŽÑ ÑÐ°Ð·Ð»ÐžÑÐœÑÐŒÐž Ð²ÐžÐŽÐ°ÐŒÐž ÐœÐ° ÑÑÐŸÐ¹ Ð¿Ð°ÐœÐµÐ»Ðž.</p>
+
+<p>Ð ÐžÐœÑÐµÑÑÐµÐ¹ÑÐµ ÐÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ°ÑÑ ÐŒÐŸÐ¶ÐœÐŸ ÑÑÑÐ°ÐœÐŸÐ²ÐžÑÑ, ÐºÐ°Ðº Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ Ð±ÑÐŽÐµÑ Ð²ÐžÐŽÐµÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ. ÐÐ¿ÑÐžÐž ÐœÐ°ÑÑÑÐŸÐ¹ÐºÐž ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÑ ÐœÐ° ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÐµÐºÑÐžÐ¹, ÐºÐ°Ð¶ÐŽÑÐ¹ ÐžÐ· ÐºÐŸÑÐŸÑÑÑ
+ ÑÐ²ÑÐ·Ð°Ðœ Ñ ÑÐ°Ð·Ð»ÐžÑÐœÑÐŒÐž ÑÐžÐ¿Ð°ÐŒÐž ÐœÐ°ÑÑÑÐŸÐ¹ÐºÐž.</p>
+
+<p>Ð¡Ð»ÐµÐ²Ð° ÐµÑÑÑ ÑÐ¿ÐžÑÐŸÐº Ð²ÐžÐŽÐŸÐ², Ð° ÑÐ¿ÑÐ°Ð²Ð° &ndash; ÑÐ»ÐµÐŒÐµÐœÑÑ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ, Ð¿ÑÐžÐœÐ°ÐŽÐ»ÐµÐ¶Ð°ÑÐžÐµ ÑÐµÐºÑÑÐµÐŒÑ. ÐÐ»Ñ Ð¿ÐµÑÐµÐºÐ»ÑÑÐµÐœÐžÑ ÐœÐ° ÐŽÑÑÐ³ÐŸÐ¹ Ð²ÐžÐŽ ÑÐµÐ»ÐºÐœÐžÑÐµ ÐµÐ³ÐŸ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµ Ð² ÑÐ¿ÐžÑÐºÐµ.</p>
+
+<p>ÐÐŸÐŽ ÑÐ¿ÐžÑÐºÐŸÐŒ Ð²ÐžÐŽÐŸÐ² ÐµÑÑÑ ÐºÐœÐŸÐ¿ÐºÐ° &laquo;ÐÑÐµÐŽÐ¿ÑÐŸÑÐŒÐŸÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž&raquo;. ÐÐ·ÐŒÐµÐœÐµÐœÐžÑ, ÑÐŽÐµÐ»Ð°ÐœÐœÑÐµ Ð² Ð²ÐžÐŽÐµ &laquo;Ð€ÐŸÑÐŒÐ°Ñ&raquo; ÐœÐµ ÑÑÐµÐ±ÑÑÑ Ð¿ÐµÑÐµÑÐ±ÐŸÑÐºÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, Ð¿ÐŸÑÑÐŸÐŒÑ ÐžÑ
+ ÑÑÐ°Ð·Ñ ÐŒÐŸÐ¶ÐœÐŸ ÐŸÑÑÐ»ÐµÐŽÐžÑÑ. ÐÐŸ ÐŽÐ»Ñ Ð¿ÑÐµÐŽÐ¿ÑÐŸÑÐŒÐŸÑÑÐ° ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸ, ÑÑÐŸÐ±Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð±ÑÐ»Ð° ÑÐŸÐ±ÑÐ°ÐœÐ° Ñ
+ÐŸÑÑ Ð±Ñ ÐŸÐŽÐžÐœ ÑÐ°Ð·.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/thegatherview.htm
===================================================================
--- main/tags/2.83/gli/help/ru/thegatherview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/thegatherview.htm	(revision 21123)
@@ -0,0 +1,49 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thegatherview"><font size="5" face="Verdana"><strong>4.1: ÐÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐœÐ°ÐºÐŸÐ¿ÐžÑÐµÐ»Ñ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð­ÑÐŸÑ ÑÐ°Ð·ÐŽÐµÐ» Ð²Ð²ÐŸÐŽÐžÑ Ð² ÐŸÐ±Ð»Ð°ÑÑÑ ÐœÐ°ÐºÐŸÐ¿Ð»ÐµÐœÐžÑ,ÐºÐŸÑÐŸÑÑÑ ÐÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÐµ,ÑÑÐŸÐ±Ñ Ð²ÑÐ±ÑÐ°ÑÑ,ÐºÐ°ÐºÐžÐµ ÑÐ°Ð¹Ð»Ñ Ð²ÐºÐ»ÑÑÐ°ÑÑ Ð² ÑÐŸÐ·ÐŽÐ°Ð²Ð°ÐµÐŒÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ. ÐÐžÐ±Ð»ÐžÐŸÑÐµÑÐœÑÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹Ñ ÐœÐ°ÑÐžÐœÐ°ÐµÑÑÑ Ñ ÐŸÐ±Ð·ÐŸÑÐ° ÐœÐ°ÐºÐŸÐ¿Ð»ÐµÐœÐžÑ. Ð§ÑÐŸÐ±Ñ Ð²ÐµÑÐœÑÑÑÑÑ Ðº ÑÑÐŸÐŒÑ ÐŸÐ±Ð·ÐŸÑÑ Ð¿ÐŸÐ·Ð¶Ðµ,ÑÐµÐ»ÐºÐœÐžÑÐµ ÐœÐ° ÑÐžÐŒÐ²ÐŸÐ»Ðµ "Gather", ÑÐ°ÑÐ¿ÐŸÐ»ÐŸÐ¶ÐµÐœÐœÑÐŒ ÐœÐµÐ¿ÐŸÑÑÐµÐŽÑÑÐ²ÐµÐœÐœÐŸ ÐœÐžÐ¶Ðµ Ð»ÐžÐœÐµÐ¹ÐºÐž ÐŒÐµÐœÑ.  </p>
+
+<p>ÐÐ²Ðµ Ð±ÐŸÐ»ÑÑÐžÐµ ÐŸÐ±Ð»Ð°ÑÑÐž,ÐœÐ°Ð·Ð²Ð°ÐœÐœÑÐµ "Ð Ð°Ð±ÐŸÑÐµÐµ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐŸ" Ðž "ÐoÐ»Ð»ÐµÐºÑÐžÑ" ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑÑÑÑ ÐŽÐ»Ñ ÑÐŸÐ³ÐŸ,ÑÑÐŸÐ±Ñ Ð¿ÐµÑÐµÐŒÐµÑÑÐžÑÑ ÑÐ°Ð¹Ð»Ñ Ð² ÐÐ°ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ. ÐÐœÐž Ð²ÐºÐ»ÑÑÐ°ÑÑ "ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐµ ÐŽÐµÑÐµÐ²ÐŸ",Ð³ÑÐ°ÑÐžÑÐµÑÐºÐžÐµ ÑÑÑÑÐºÑÑÑÑ,ÐºÐŸÑÐŸÑÑÐµ ÐžÐ·ÐŸÐ±ÑÐ°Ð¶Ð°ÑÑ ÑÐ°Ð¹Ð»Ñ Ðž Ð¿Ð°Ð¿ÐºÐž. </p>
+
+<p>ÐÑÐ±ÐµÑÐžÑÐµ ÑÐ»ÐµÐŒÐµÐœÑ ÐŽÐµÑÐµÐ²Ð°, ÐœÐ°Ð¶Ð°Ð² ÐœÐ° ÐœÐµÐ³ÐŸ Ð»ÐµÐ²ÐŸÐ¹ ÐºÐ»Ð°Ð²ÐžÑÐµÐ¹ ÐŒÑÑÐž. (Ð¢ÐŸ Ð¶Ðµ ÑÐ°ÐŒÐŸÐµ ÐŒÐŸÐ¶ÐœÐŸ ÑÐŽÐµÐ»Ð°ÑÑ ÐžÐœÐ°ÑÐµ, ÑÐŒ. ÐœÐžÐ¶Ðµ). ÐÐ²ÐŸÐ¹ÐœÑÐŒ ÑÐµÐ»ÑÐºÐŸÐŒ Ð²ÑÐ±ÐµÑÐžÑÐµ Ð¿Ð°Ð¿ÐºÑ, ÐžÐ»Ðž ÐœÐ°Ð¶ÐŒÐžÑÐµ ÐœÐ° ÑÐžÐŒÐ²ÐŸÐ» ÑÑÐŽÐŸÐŒ Ñ ÐœÐµÐ¹, ÑÑÐŸÐ±Ñ ÑÐ°Ð·Ð²ÐµÑÐœÑÑÑ (ÐžÐ»Ðž ÑÐ²ÐµÑÐœÑÑÑ) ÐµÐµ ÑÐŸÐŽÐµÑÐ¶ÐžÐŒÐŸÐµ. ÐÐ²ÐŸÐ¹ÐœÑÐŒ ÑÐµÐ»ÑÐºÐŸÐŒ ÐœÐ° ÐœÑÐ¶ÐœÐŸÐŒ ÑÐ°Ð¹Ð»Ðµ ÐŸÑÐºÑÐŸÐ¹ÑÐµ ÐµÐ³ÐŸ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÐœÐ°Ð·ÐœÐ°ÑÐµÐœÐœÐŸÐ¹ ÐŽÐ°ÐœÐœÐŸÐŒÑ ÑÐžÐ¿Ñ ÑÐ°Ð¹Ð»ÐŸÐ² Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÑ (ÑÐŒ.<a href="fileassociations.htm">ÐÑÑÐŸÑÐžÐ°ÑÐžÐž ÑÐ°Ð¹Ð»Ð°</a>).</p>
+
+<p>ÐÐµÑÐµÐ²ÐŸ ÑÐ°Ð±ÐŸÑÐµÐ³ÐŸ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²Ð° Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐžÑÑÐŸÑÐœÐžÐºÐž ÐŽÐ°ÐœÐœÑÑ
+ ÐŽÐŸÑÑÑÐ¿ÐœÑÑ
+ Ð² ÐÐœÑÐµÑÑÐµÐ¹ÑÐµ ÐÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ°ÑÑ -- ÑÐµÐºÑÑÑÑ ÑÐ°Ð¹Ð»ÐŸÐ²ÑÑ ÑÐžÑÑÐµÐŒÑ (Ð²ÐºÐ»ÑÑÐ°Ñ ÐŽÐžÑÐºÐŸÐ²ÐŸÐŽ Ðž CD-ROM), ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÐµ ÑÑÑÐµÑÑÐ²ÑÑÑÐžÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹ ÐÑÐžÐœÑÑÐŸÑÐœ, Ðž ÐºÑÑ Ð·Ð°Ð³ÑÑÐ¶ÐµÐœÐœÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ². ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ Ð²ÐžÐŽÐµÑÑ Ðž ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÑÑ ÑÑÐž ÑÐ°Ð¹Ð»Ñ, ÐŸÐŽÐœÐ°ÐºÐŸ ÐœÐµ ÐŒÐŸÐ¶ÐµÑÐµ Ð¿ÐµÑÐµÐœÐŸÑÐžÑÑ, ÑÐŽÐ°Ð»ÑÑÑ, ÐžÐ»Ðž ÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ ÐžÑ
+, Ð·Ð° ÐžÑÐºÐ»ÑÑÐµÐœÐžÐµÐŒ ÑÐ¶Ðµ Ð·Ð°Ð³ÑÑÐ¶ÐµÐœÐœÑÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ², ÐºÐŸÑÐŸÑÑÐµ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐŽÐ°Ð»ÐµÐœÑ.  ÐÑÑÑÐµÑÑÐ²Ð»ÑÑÑ ÐœÐ°Ð²ÐžÐ³Ð°ÑÐžÑ Ð² ÑÑÐŸÐŒ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²Ðµ ÑÑÐŸÐ±Ñ ÐœÐ°Ð¹ÑÐž ÑÐ°Ð¹Ð»Ñ ÐºÐŸÑÐŸÑÑÐµ Ð²Ñ Ñ
+ÐŸÑÐžÑÐµ Ð²ÐºÐ»ÑÑÐžÑÑ Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ.</p>
+
+<p>Ð€Ð°Ð¹Ð»ÐŸÐ²ÐŸÐµ ÐŽÐµÑÐµÐ²ÐŸ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÑÐµÑ Ð¿ÐŸÐ»ÐœÐŸÐµ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÐµÑÐ²ÐŸÐœÐ°ÑÐ°Ð»ÑÐœÐŸ ÐŸÐœÐŸ Ð¿ÑÑÑÐŸ.</p>
+
+<p>ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐžÐ·ÐŒÐµÐœÐžÑÑ ÑÐ°Ð·ÐŒÐµÑÑ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²Ð°, Ð¿ÐµÑÐµÐŽÐ²ÐžÐ³Ð°Ñ ÐŒÑÑÑ Ð¿ÐŸ ÑÐµÑÐŸÐ¹ Ð»ÐžÐœÐµÐ¹ÐºÐµ, ÐºÐŸÑÐŸÑÐ°Ñ ÐŸÑÐŽÐµÐ»ÑÐµÑ ÐŽÐµÑÐµÐ²ÑÑ (ÑÐŸÑÐŒÐ° ÑÐºÐ°Ð·Ð°ÑÐµÐ»Ñ ÐžÐ·ÐŒÐµÐœÑÐµÑÑÑ),Ðž Ð±ÑÐºÑÐžÑÑÑ ÐžÑ
+.</p>
+
+<p>ÐÐœÐžÐ·Ñ ÐŸÐºÐœÐ° ÑÐ°ÑÐ¿ÐŸÐ»ÐŸÐ¶ÐµÐœÐ° ÑÑÐ°ÑÑÑÐœÐ°Ñ ÐŸÐ±Ð»Ð°ÑÑÑ, ÐºÐŸÑÐŸÑÐ°Ñ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ Ð¿ÑÐŸÐ³ÑÐµÑÑ ÐŸÐ¿ÐµÑÐ°ÑÐžÐ¹ ÐœÐ°ÐŽ ÑÐ°Ð¹Ð»Ð°ÐŒÐž (ÐºÐŸÐ¿ÐžÑÐŸÐ²Ð°ÐœÐžÐµ, Ð¿ÐµÑÐµÐŒÐµÑÐµÐœÐžÐµ, ÑÐŽÐ°Ð»ÐµÐœÐžÐµ). ÐÐœÐž ÐŒÐŸÐ³ÑÑ Ð·Ð°ÐœÑÑÑ ÐºÐ°ÐºÐŸÐµ-ÑÐŸ Ð²ÑÐµÐŒÑ. ÐÐœÐŸÐ¿ÐºÐ° "Ð¡ÑÐŸÐ¿" ÐŸÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÐµÑ Ð»ÑÐ±ÐŸÐµ ÐŽÐµÐ¹ÑÑÐ²ÐžÐµ, ÐºÐŸÑÐŸÑÐŸÐµ Ð² ÐœÐ°ÑÑÐŸÑÑÐµÐµ Ð²ÑÐµÐŒÑ Ð¿ÑÐŸÐžÑÑ
+ÐŸÐŽÐžÑ. </p>
+
+<p>ÐÐ²Ðµ Ð±ÐŸÐ»ÑÑÐžÐµ ÐºÐœÐŸÐ¿ÐºÐž Ð·Ð°ÐœÐžÐŒÐ°ÑÑ ÐœÐžÐ¶ÐœÐžÐ¹ Ð¿ÑÐ°Ð²ÑÐ¹ ÑÐ³ÐŸÐ» ÑÐºÑÐ°ÐœÐ°."ÐÐŸÐ²Ð°Ñ ÐÐ°Ð¿ÐºÐ°",Ñ ÐºÐ°ÑÑÐžÐœÐŸÐ¹ Ð¿Ð°Ð¿ÐºÐž, ÑÐŸÐ·ÐŽÐ°ÑÑ ÐœÐŸÐ²ÑÐµ Ð¿Ð°Ð¿ÐºÐž (ÑÐŒ. <a href="creatingfolders.htm">Ð¡ÐŸÐ·ÐŽÐ°ÐœÐžÐµ Ð¿Ð°Ð¿ÐŸÐº</a>). ÐÐœÐŸÐ¿ÐºÐ° "Ð£ÐŽÐ°Ð»ÐžÑÑ"ÑÐŽÐ°Ð»ÑÐµÑ ÑÐ°Ð¹Ð»Ñ Ñ ÐœÐµÐœÑÐ¶ÐœÐŸÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐµÐ¹.Ð©ÐµÐ»ÑÐŸÐº ÐœÐ° ÐºÐœÐŸÐ¿ÐºÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ" ÑÐŽÐ°Ð»ÐžÑ Ð»ÑÐ±ÑÐµ ÐŸÑÐŸÐ±ÑÐ°ÐœÐœÑÐµ ÑÐ°Ð¹Ð»Ñ ÐžÐ· ÑÐ°Ð¹Ð»ÐŸÐ²ÐŸÐ³ÐŸ ÐŽÐµÑÐµÐ²Ð° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÐ»ÑÑÐµÑÐœÐ°ÑÐžÐ²ÐœÐŸ, ÑÐ°Ð¹Ð»Ñ ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÑÐŽÐ°Ð»ÐµÐœÑ Ð¿ÑÑÐµÐŒ Ð¿ÐµÑÐµÑÑÐ³ÐžÐ²Ð°ÐœÐžÑ ÐžÑ
+ ÐœÐ° ÐºÐœÐŸÐ¿ÐºÑ "Ð£ÐŽÐ°Ð»ÐžÑÑ". </p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÐŸÑÐŸÐ±ÑÐ°ÑÑ ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ Ð¿ÐŸÑÐ»ÐµÐŽÐŸÐ²Ð°ÑÐµÐ»ÑÐœÑÑ
+ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ²,Ð²ÑÐ±ÐµÑÐžÑÐµ Ð¿ÐµÑÐ²ÑÐ¹ Ðž Ð·Ð°ÑÐµÐŒ ÑÐŽÐµÑÐ¶ÐžÐ²Ð°Ñ [Shift],ÑÐµÐ»ÐºÐœÐžÑÐµ ÐœÐ° Ð¿ÐŸÑÐ»ÐµÐŽÐœÐµÐŒ - Ð¿ÑÐž ÑÑÐŸÐŒ Ð±ÑÐŽÑÑ ÐŸÑÐŸÐ±ÑÐ°ÐœÑ Ð²ÑÐµ ÐŸÑ
+Ð²Ð°ÑÐµÐœÐœÑÐµ ÑÐ»ÐµÐŒÐµÐœÑÑ.ÐÑÐ±ÐŸÑ ÐœÐµ ÑÐ»ÐµÐŽÑÑÑÐžÑ
+ ÐŸÐŽÐžÐœ Ð·Ð° ÐŽÑÑÐ³ÐžÐŒ ÑÐ°Ð¹Ð»ÐŸÐ² Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐŽÐžÑÑÑ Ð¿ÑÐž ÐœÐ°Ð¶Ð°ÑÐŸÐ¹ ÐºÐ»Ð°Ð²ÐžÑÐµ [Ctrl] Ðž ÑÐµÐ»ÑÐºÐµ ÐœÐ° Ð²ÑÐ±ÐžÑÐ°ÐµÐŒÑÑ
+ ÑÐ°Ð¹Ð»Ð°Ñ
+. ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÑÑÐž ÐŽÐ²Ð° ÐŒÐµÑÐŸÐŽÐ° Ð²ÐŒÐµÑÑÐµ ÐŽÐ»Ñ Ð³ÑÑÐ¿Ð¿Ñ ÐœÐµÑÐŒÐµÐ¶ÐœÑÑ
+ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ².  </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/themirrorview.htm
===================================================================
--- main/tags/2.83/gli/help/ru/themirrorview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/themirrorview.htm	(revision 21123)
@@ -0,0 +1,55 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="themirrorview"><font size="5" face="Verdana"><strong>3.1: ÐÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐÐ°Ð³ÑÑÐ·ÐžÑÑ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð­ÑÐ° ÑÐµÐºÑÐžÑ ÐŸÐ¿ÐžÑÑÐ²Ð°ÐµÑ ÐºÐ°Ðº ÐºÐŸÐœÑÐžÐ³ÑÑÐžÑÐŸÐ²Ð°ÑÑ Ð·Ð°ÐŽÐ°ÑÑ Ðž ÐºÐŸÐœÑÑÐŸÐ»Ñ Ð¿ÑÐŸÑÐµÑÑÐ° Ð·Ð°Ð³ÑÑÐ·ÐºÐž. ÐÐŸÑÑÑÐ¿ Ðº Ð¿ÑÐŸÑÐŒÐŸÑÑÑ "ÐÐ°Ð³ÑÑÐ·ÐžÑÑ" ÐœÐ°Ð¶Ð°ÑÐµÐŒ ÑÑÐŸÐ¹ Ð·Ð°ÐºÐ»Ð°ÐŽÐºÐž. ÐÐµÑÑ
+ÐœÑÑ Ð¿ÐŸÐ»ÐŸÐ²ÐžÐœÐ° ÑÐºÑÐ°ÐœÐ° Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐºÐŸÐœÑÑÐŸÐ»Ñ Ð·Ð°Ð³ÑÑÐ·ÐºÐž. ÐÐžÐ¶ÐœÑÑ Ð¿ÐŸÐ»ÐŸÐ²ÐžÐœÐ° Ð² ÐœÐ°ÑÐ°Ð»Ðµ Ð¿ÑÑÑÐ°, ÐŸÐŽÐœÐ°ÐºÐŸ Ð¿ÐŸÐºÐ°Ð¶ÐµÑ Ð¿ÐµÑÐµÑÐµÐœÑ ÐŸÐ¶ÐžÐŽÐ°ÐµÐŒÑÑ
+ Ðž Ð·Ð°ÐºÐŸÐœÑÐµÐœÐœÑÑ
+ Ð·Ð°Ð³ÑÑÐ·ÐŸÐº.</p>
+
+<p>ÐÐ»Ñ Ð·Ð°Ð³ÑÑÐ·ÐºÐž Ð·Ð°Ð¿ÐžÑÐµÐ¹ ÐŒÐŸÐ¶ÐœÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ°Ð·Ð»ÐžÑÐœÑÑ
+ Ð¿ÑÐŸÑÐŸÐºÐŸÐ»ÐŸÐ², ÐŸÐœÐž Ð¿ÐµÑÐµÑÐžÑÐ»ÐµÐœÑ ÑÐ»ÐµÐ²Ð° ÑÐ²ÐµÑÑ
+Ñ.</p>
+
+<p>
+<b>Web:</b> Ð·Ð°Ð³ÑÑÐ·ÐºÐ° Ð²ÐµÐ±-ÑÑÑÐ°ÐœÐžÑ Ðž ÑÐ°Ð¹Ð»ÐŸÐ² Ð¿ÐŸ HTTP Ðž FTP.</p>
+
+<p>
+<b> MediaWiki:</b> ÐÐ°Ð³ÑÑÐ·ÐºÐ° Ð²ÐµÐ±-ÑÑÑÐ°ÐœÐžÑ Ðž ÑÐ°Ð¹Ð»ÐŸÐ² ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ Ð¿ÑÐŸÑÐŸÐºÐŸÐ» HTTP Ñ ÑÐ°Ð¹ÑÐ° MediaWiki.</p>
+
+<p>
+<b>OAI:</b> Ð·Ð°Ð³ÑÑÐ·ÐºÐ° ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð·Ð°Ð¿ÐžÑÐµÐ¹ Ñ ÑÐµÑÐ²ÐµÑÐ° OAI (Open Archives Initiative).</p>
+
+<p>
+<b>Z3950:</b> Ð·Ð°Ð³ÑÑÐ·ÐºÐ° Ð·Ð°Ð¿ÐžÑÐµÐ¹ MARC, ÐºÐŸÑÐŸÑÑÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑ ÐºÑÐžÑÐµÑÐžÑ Ð¿ÐŸÐžÑÐºÐ°, Ñ ÑÐµÑÐ²ÐµÑÐ° Z3950.</p>
+
+<p>
+<b>SRW:</b> Ð·Ð°Ð³ÑÑÐ·ÐºÐ° Ð·Ð°Ð¿ÐžÑÐµÐ¹ MARCXML, ÐºÐŸÑÐŸÑÑÐµ ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑ ÐºÑÐžÑÐµÑÐžÑ Ð¿ÐŸÐžÑÐºÐ°, Ñ ÑÐµÑÐ²ÐµÑÐ° SRW.</p>
+
+<p>ÐÑÐ±ÐµÑÐžÑÐµ Ð¿ÐŸÐŽÑ
+ÐŸÐŽÑÑÐžÐ¹ ÑÐžÐ¿, ÑÐµÐ»ÐºÐœÑÐ² Ð¿ÐŸ ÑÐ¿ÐžÑÐºÑ ÑÐ»ÐµÐ²Ð°. Ð¡ Ð¿ÑÐ°Ð²ÐŸÐ¹ ÑÑÐŸÑÐŸÐœÑ ÐŸÑÐŸÐ±ÑÐ°Ð¶ÐµÐœÑ ÐŸÐ¿ÑÐžÐž, ÐŽÐŸÑÑÑÐ¿ÐœÑÐµ ÐŽÐ»Ñ Ð²ÑÐ±ÑÐ°ÐœÐœÐŸÐ³ÐŸ ÑÐžÐ¿Ð° Ð·Ð°Ð³ÑÑÐ·ÐºÐž. Ð§ÑÐŸÐ±Ñ ÑÐ·ÐœÐ°ÑÑ, ÑÑÐŸ ÐŽÐµÐ»Ð°ÐµÑ ÑÐ° ÐžÐ»Ðž ÐžÐœÐ°Ñ ÐŸÐ¿ÑÐžÑ, ÐœÐ°Ð²ÐµÐŽÐžÑÐµ ÐœÐ° ÐœÐµÐµ ÐŒÑÑÑ: Ð¿ÐŸÑÐ²ÐžÑÑÑ Ð²ÑÐ¿Ð»ÑÐ²Ð°ÑÑÐµÐµ ÐŸÐºÐœÐŸ Ñ ÐŸÐ¿ÐžÑÐ°ÐœÐžÐµÐŒ. ÐÐµÐºÐŸÑÐŸÑÑÐµ ÐŸÐ¿ÑÐžÐž ÑÐ²Ð»ÑÑÑÑÑ 'ÐœÐµÐŸÐ±ÑÐ·Ð°ÑÐµÐ»ÑÐœÑÐŒÐž': ÐŸÐœÐž Ð¿ÑÐµÐŽÐ²Ð°ÑÑÑÑÑÑ ÑÐ»Ð°Ð¶ÐºÐŸÐŒ, ÐºÐŸÑÐŸÑÑÐ¹ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ, Ð²ÐºÐ»ÑÑÐµÐœÐ° Ð»Ðž ÐŸÐœÐ°. ÐÑÑÐ³ÐžÐµ ÑÐ²Ð»ÑÑÑÑÑ 'ÐŸÐ±ÑÐ·Ð°ÑÐµÐ»ÑÐœÑÐŒÐž': Ð¿ÐµÑÐµÐŽ ÐœÐžÐŒÐž ÐœÐµÑ ÑÐ»Ð°Ð¶ÐºÐ°, Ðž Ð·ÐœÐ°ÑÐµÐœÐžÐµ Ð² ÐœÐžÑ
+ ÐŽÐŸÐ»Ð¶ÐœÐŸ Ð±ÑÑÑ Ð²Ð²ÐµÐŽÐµÐœÐŸ ÐŽÐŸ ÐœÐ°ÑÐ°Ð»Ð° Ð·Ð°Ð³ÑÑÐ·ÐºÐž.   </p>
+
+<p>ÐÐŸÑÐ»Ðµ ÐŸÐºÐŸÐœÑÐ°ÐœÐžÑ ÐœÐ°ÑÑÑÐŸÐ¹ÐºÐž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸ ÑÐµÑÐ²ÐµÑÐµ" ÐŽÐ»Ñ Ð¿ÑÐŸÐ²ÐµÑÐºÐž Ð¿ÐŸÐŽÐºÐ»ÑÑÐµÐœÐžÑ Ðº ÑÐµÑÐ²ÐµÑÑ Ðž Ð¿ÑÐŸÑÐŒÐŸÑÑÐ° ÐŸÑÐœÐŸÐ²ÐœÐŸÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž ÐŸ Ð²ÐµÐ±-ÑÑÑÐ°ÐœÐžÑÐµ ÐžÐ»Ðž ÑÐµÑÐ²ÐµÑÐµ, ÐžÐ»Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐ°Ð³ÑÑÐ·ÐžÑÑ" ÐŽÐ»Ñ ÐœÐ°ÑÐ°Ð»Ð° Ð·Ð°Ð³ÑÑÐ·ÐºÐž. </p>
+
+<p>ÐÑÑÑ ÐŽÐ²Ðµ ÐŽÑÑÐ³ÐžÐµ ÐºÐœÐŸÐ¿ÐºÐž: "ÐÐ°ÑÑÑÐŸÐ¹ÐºÐž", ÐºÐŸÑÐŸÑÐ°Ñ ÑÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐœÐ° ÑÐµÐºÑÐžÑ &laquo;Ð¡ÐŸÐµÐŽÐžÐœÐµÐœÐžÑ&raquo; ÐœÐ°ÑÑÑÐŸÐµÐº; ÑÐ°ÐŒ ÐŒÐŸÐ¶ÐœÐŸ ÐœÐ°ÑÑÑÐŸÐžÑÑ Ð¿ÑÐŸÐºÑÐž; Ðž "ÐÑÐžÑÑÐžÑÑ ÐºÑÑ", ÐºÐŸÑÐŸÑÐ°Ñ ÑÐŽÐ°Ð»ÑÐµÑ Ð²ÑÐµ ÑÐ°ÐœÐµÐµ Ð·Ð°Ð³ÑÑÐ¶ÐµÐœÐœÑÐµ ÑÐ°Ð¹Ð»Ñ. ÐÑÐ»Ðž Ð²Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÐµ Ð¿ÑÐŸÐºÑÐž-ÑÐµÑÐ²ÐµÑ ÐŽÐ»Ñ Ð¿ÐŸÐŽÐºÐ»ÑÑÐµÐœÐžÑ Ðº ÐÐœÑÐµÑÐœÐµÑ, ÑÐŸ Ð²Ð°ÐŒ ÐœÑÐ¶ÐœÐŸ ÑÐºÐ°Ð·Ð°ÑÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸ ÐœÐµÐŒ. ÐÑÐ»Ðž Ð² Ð¿ÑÐŸÑÐµÑÑÐµ Ð·Ð°Ð³ÑÑÐ·ÐºÐž Ð±ÑÐŽÐµÑ ÐœÑÐ¶ÐœÐ° Ð°ÑÑÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÑ, Ð¿ÑÐŸÐºÑÐž-ÑÐµÑÐ²ÐµÑ Ð²ÑÐŽÐ°ÑÑ Ð·Ð°Ð¿ÑÐŸÑ ÐœÐ° Ð²Ð²ÐŸÐŽ ÐžÐŒÐµÐœÐž Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ Ðž Ð¿Ð°ÑÐŸÐ»Ñ.  ÐÐœÑÐµÑÑÐµÐ¹Ñ Ð±ÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ°ÑÑ ÐœÐµ ÑÐŸÑ
+ÑÐ°ÐœÑÐµÑ Ð¿Ð°ÑÐŸÐ»Ðž ÐŒÐµÐ¶ÐŽÑ ÑÐµÑÑÐžÑÐŒÐž.  </p>
+
+<p>Ð€Ð°Ð¹Ð»Ñ Ð·Ð°Ð³ÑÑÐ¶ÐµÐœÐœÑÐµ Ð² Ð¿Ð°Ð¿ÐºÑ ÑÐ°Ð±ÐŸÑÐµÐ³ÐŸ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²Ð° ÐœÐ°Ð·ÑÐ²Ð°ÑÑÑÑ "ÐÐ°Ð³ÑÑÐ¶Ð°ÐµÐŒÑÐµ ÑÐ°Ð¹Ð»Ñ", Ðž ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐ° Ð²ÑÐµÐŒÐž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÐŒÐž Ð¿ÐŸÑÑÑÐŸÐµÐœÐœÑÐŒÐž Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÐÐœÑÐµÑÑÐµÐ¹ÑÐ° ÐÐžÐ±Ð»ÐžÐŸÑÐµÐºÐ°ÑÑ. Ð€Ð°Ð¹Ð»Ñ Ð² ÑÑÐŸÐ¹ ÐŸÐ±Ð»Ð°ÑÑÐžÐžÐŒÐµÐœÑÑÑÑÑ Ð¿ÐŸ ÐžÑ
+ Ð¿ÐŸÐ»ÐœÐŸÐŒÑ URL Ð°ÐŽÑÐµÑÑ.  Ð¡ÐŸÐ·ÐŽÐ°ÐµÑÑÑ ÐœÐŸÐ²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ° ÐœÐ° ÐºÐ°Ð¶ÐŽÐŸÐŒ Ñ
+ÐŸÑÑÐµ, ÐœÐ°ÑÐ»ÐµÐŽÑÐµÐŒÐ°Ñ ÐŽÑÑÐ³ÐžÐŒÐž ÐŽÐ»Ñ ÐºÐ°Ð¶ÐŽÐŸÐ³ÐŸ ÑÑÐ°Ð³ÐŒÐµÐœÑÐ° Ð¿ÑÑÐž.  Ð­ÑÐŸ Ð³Ð°ÑÐ°ÐœÑÐžÑÑÐµÑ ÐŸÑÐ»ÐžÑÐžÐµ ÐºÐ°Ð¶ÐŽÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð°.</p>
+
+<p>Ð¡Ð¿ÐžÑÐŸÐº Ð·Ð°Ð³ÑÑÐ·ÐºÐž ÐžÐŒÐµÐµÑ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÑ ÐŽÐ»Ñ ÐºÐ°Ð¶ÐŽÐŸÐ¹ Ð·Ð°Ð³ÑÑÐ¶Ð°ÐµÐŒÐŸÐ¹ Ð²ÐµÐ± ÑÑÑÐ°ÐœÐžÑÑ. ÐÐ°Ð¶ÐŽÐŸÐµ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐžÐŒÐµÐµÑ ÑÐµÐºÑÑ Ð¿ÑÐµÐŽÐŸÑÑÐ°Ð²Ð»ÑÑÑÐžÐ¹ ÐŽÐµÑÐ°Ð»Ðž Ð·Ð°ÐŽÐ°ÑÐž Ð²ÐŒÐµÑÑÐµ Ñ ÐžÐœÐŽÐžÐºÐ°ÑÐŸÑÐŸÐŒ Ð¿ÑÐŸÐ³ÑÐµÑÑÐ° ÐŽÐµÐŒÐŸÐœÑÑÑÐžÑÑÑÑÐžÐŒ ÑÐµÐºÑÑÑÑ ÐŽÐµÑÑÐµÐ»ÑÐœÐŸÑÑÑ. Ð¢ÑÐž ÐºÐœÐŸÐ¿ÐºÐž Ð¿ÐŸÑÐ²Ð»ÑÑÑÑÑ ÑÐ»ÐµÐ²Ð° ÐŽÐ»Ñ ÐºÐ°Ð¶ÐŽÐŸÐ³ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÑ. "ÐÐ°ÑÐ·Ð°" ÐŽÐ»Ñ Ð¿ÑÐžÐŸÑÑÐ°ÐœÐŸÐ²ÐºÐž Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœÐžÑ ÑÐµÐºÑÑÐµÐ³ÐŸ Ð¿ÑÐŸÑÐµÑÑÐ°. "Ð¡ÐŒÐŸÑÑÐµÑÑ ÐÐŸÐ³Ðž" ÐŸÑÐºÑÑÐ²Ð°ÐµÑ ÐŸÐºÐœÐŸ ÑÐ°Ð¹Ð»Ð° Ð·Ð°Ð³ÑÑÐ·ÐºÐž. "ÐÐ°ÐºÑÑÑÑ" Ð·Ð°Ð²ÐµÑÑÐ°ÐµÑ Ð·Ð°Ð³ÑÑÐ·ÐºÑ Ð·Ð°ÐŽÐ°ÑÐž ÐžÐ· ÑÐ¿ÐžÑÐºÐ°.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/translatetext.htm
===================================================================
--- main/tags/2.83/gli/help/ru/translatetext.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/translatetext.htm	(revision 21123)
@@ -0,0 +1,26 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="translatetext"><font size="5" face="Verdana"><strong>8.5: ÐÐµÑÐµÐ²ÐŸÐŽ ÑÐµÐºÑÑÐ°</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð ÑÑÐŸÐŒ ÑÐ°Ð·ÐŽÐµÐ»Ðµ ÐŸÐ¿ÐžÑÑÐ²Ð°ÐµÑÑÑ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ Ð¿ÐµÑÐµÐ²ÐŸÐŽÐ°, Ð³ÐŽÐµ ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ ÑÐ·ÑÐº ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐœÑÑ
+ ÑÑÐ°Ð³ÐŒÐµÐœÑÐŸÐ² ÑÐµÐºÑÑÐ° ÐŽÐ»Ñ ÑÐ°ÑÑÐµÐ¹ ÐžÐœÑÐµÑÑÐµÐ¹ÑÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. Ð "Ð Ð°Ð·ÐŽÐµÐ»Ðµ ÐŽÐžÐ·Ð°Ð¹ÐœÐ°" ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐµÑÐµÐ²ÐµÑÑÐž ÑÐµÐºÑÑ".</p>
+
+<p>Ð¡ÐœÐ°ÑÐ°Ð»Ð° Ð²ÑÐ±ÐµÑÐžÑÐµ Ð²Ñ
+ÐŸÐŽ Ð² ÑÐ¿ÐžÑÐŸÐº "Ð¡Ð²ÐŸÐ¹ÑÑÐ²Ð°". ÐÐžÐ¶Ðµ Ð¿ÐŸÑÐ²ÑÑÑÑ ÑÑÑÐŸÐºÐž ÑÐ¿ÐµÑÐžÑÐžÑÐœÐŸÐ³ÐŸ ÑÐ·ÑÐºÐ°, ÑÐ²ÑÐ·Ð°ÐœÐœÑÐµ Ñ ÑÑÐžÐŒ ÑÐ²ÐŸÐ¹ÑÑÐ²ÐŸÐŒ. ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ ÐœÐžÑÐ¿Ð°ÐŽÐ°ÑÑÐžÐ¹ ÑÐ¿ÐžÑÐŸÐº "Ð¯Ð·ÑÐº Ð¿ÐµÑÐµÐ²ÐŸÐŽÐ°",ÑÑÐŸÐ±Ñ Ð²ÑÐ±ÑÐ°ÑÑ ÐœÐ°Ð·ÐœÐ°ÑÐµÐœÐœÑÐ¹ ÑÐ·ÑÐº Ðž Ð²Ð²ÐµÑÑÐž Ð¿ÐµÑÐµÐ²ÐµÐŽÐµÐœÐœÑÐ¹ ÑÐµÐºÑÑ Ð² ÐŸÐ±Ð»Ð°ÑÑÑ ÑÐµÐºÑÑÐ°, ÐŸÐ±ÑÐ°ÑÐ°ÑÑÑ Ðº "ÐÐ°ÑÐ°Ð»ÑÐœÐŸÐŒÑ ÑÑÐ°Ð³ÐŒÐµÐœÑÑ ÑÐµÐºÑÑÐ°",ÐµÑÐ»Ðž ÑÑÐŸ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸ. ÐÐŸ ÐŸÐºÐŸÐœÑÐ°ÐœÐžÐž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐ±Ð°Ð²ÐžÑÑ Ð¿ÐµÑÐµÐ²ÐŸÐŽ".</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÑÑÑÐµÑÑÐ²ÑÑÑÐžÐ¹ Ð¿ÐµÑÐµÐ²ÐŸÐŽ, Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ Ð² ÑÐ°Ð±Ð»ÐžÑÐµ "ÐÐ°ÐŽÐ°ÐœÐœÑÐµ Ð¿ÐµÑÐµÐ²ÐŸÐŽÑ" Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "Ð£ÐŽÐ°Ð»ÐžÑÑ Ð¿ÐµÑÐµÐ²ÐŸÐŽ".</p>
+
+<p>Ð§ÑÐŸÐ±Ñ ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ Ð¿ÐµÑÐµÐ²ÐŸÐŽ, Ð²ÑÐ±ÐµÑÐžÑÐµ ÐµÐ³ÐŸ, ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÑÐ¹ÑÐµ Ð² ÑÐµÐºÑÑÐŸÐ²ÐŸÐ¹ ÐŸÐ±Ð»Ð°ÑÑÐž "ÐÐµÑÐµÐ²ÐµÐŽÐµÐœÐœÑÐ¹ ÑÐµÐºÑÑ" Ðž ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐ°ÐŒÐµÐœÐžÑÑ Ð¿ÐµÑÐµÐ²ÐŸÐŽ".</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/updatingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/ru/updatingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/updatingmetadata.htm	(revision 21123)
@@ -0,0 +1,28 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="updatingmetadata"><font size="5" face="Verdana"><strong>5.5: ÐÐ·ÐŒÐµÐœÐžÑÑ ÐžÐ»Ðž ÑÐŽÐ°Ð»ÐžÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Ð§ÑÐŸÐ±Ñ ÐžÐ·ÐŒÐµÐœÐžÑÑ ÐžÐ»Ðž ÑÐŽÐ°Ð»ÐžÑÑ ÑÐ°ÑÑÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÑÐœÐ°ÑÐ°Ð»Ð° Ð²ÑÐ±ÐµÑÐžÑÐµ Ð¿ÐŸÐŽÑ
+ÐŸÐŽÑÑÐžÐ¹ ÑÐ°Ð¹Ð», Ð° Ð¿ÐŸÑÐŸÐŒ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Ð² ÑÐ°Ð»Ð±ÐžÑÑ. Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÑÐ»ÐµÐŒÐµÐœÑ ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+, ÑÐŽÐ°Ð»ÐžÑÐµ ÑÐµÐºÑÑ ÐµÐ³ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÑ.</p>
+
+<p>ÐÑÐŸÑÐµÑÑ ÐŸÐ±ÐœÐŸÐ²Ð»ÐµÐœÐžÑ ÐŽÐ°ÐœÐœÑÑ
+ Ð¿Ð°Ð¿ÐºÐž Ñ Ð¿ÐŸÐŽÐ¿Ð°Ð¿ÐºÐ°ÐŒÐž ÐžÐ»Ðž ÐœÐµÑÐºÐŸÐ»ÑÐºÐžÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ² ÑÐŸÑ Ð¶Ðµ ÑÐ°ÐŒÑÐ¹, ÐœÐŸ Ð²Ñ ÑÐŒÐŸÐ¶ÐµÑÐµ ÐŸÐ±ÐœÐŸÐ²ÐžÑÑ ÑÐŸÐ»ÑÐºÐŸ ÐŒÐµÑÐ°-ÐŽÐ°ÐœÐœÑÐµ, ÐŸÐ±ÑÐžÐµ ÐŽÐ»Ñ Ð²ÑÐµÑ
+ ÑÐ°Ð¹Ð»ÐŸÐ²/Ð¿Ð°Ð¿ÐŸÐº.</p>
+
+<p>ÐÐµÑÐµÐ²ÐŸ Ð·ÐœÐ°ÑÐµÐœÐžÐ¹ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ Ð²ÑÐµ ÑÐµÐºÑÑÐžÐµ Ð¿ÑÐžÐ·ÐœÐ°ÑÐµÐœÐœÑÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ, Ð° ÑÐ°ÐºÐ¶Ðµ Ð²ÑÐµ Ð¿ÑÐµÐŽÑÐŽÑÑÐžÐµ ÐžÐ· ÑÐµÐºÑÑÐµÐ³ÐŸ ÑÐµÐ°ÐœÑÐ°, ÑÐ°Ðº ÑÑÐŸ ÐžÐ·ÐŒÐµÐœÐµÐœÐœÑÐµ ÐžÐ»Ðž ÑÐŽÐ°Ð»ÐµÐœÐœÑÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŸÑÑÐ°ÑÑÑÑ Ð² ÐŽÐµÑÐµÐ²Ðµ. ÐÐ°ÐºÑÑÐ² Ðž Ð²ÐœÐŸÐ²Ñ ÐŸÑÐºÑÑÐ² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐÑ ÑÐŽÐ°Ð»ÐžÑÐµ Ð²ÑÐµ ÑÐ°ÐœÐµÐµ Ð¿ÑÐžÐ·ÐœÐ°ÑÐµÐœÐœÑÐµ Ð·ÐœÐ°ÑÐµÐœÐžÑ. </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/ru/xcollectionsearching.htm
===================================================================
--- main/tags/2.83/gli/help/ru/xcollectionsearching.htm	(revision 21123)
+++ main/tags/2.83/gli/help/ru/xcollectionsearching.htm	(revision 21123)
@@ -0,0 +1,40 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="xcollectionsearching"><font size="5" face="Verdana"><strong>8.6: ÐÐŸÐžÑÐº Ð² Ð¿ÐµÑÐµÑÐµÐºÐ°ÑÑÐžÑ
+ÑÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑ
+</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Greenstone Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐŽÐžÑÑ Ð¿ÐŸÐžÑÐº Ð² ÐœÐµÑÐºÐŸÐ»ÑÐºÐžÑ
+ ÑÐ°Ð·Ð»ÐžÑÐœÑÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑ
+, ÐºÐ°Ðº ÐµÑÐ»Ðž Ð±Ñ ÐŸÐœÐž Ð±ÑÐ»Ðž ÐŸÐ±ÑÐµÐŽÐžÐœÐµÐœÑ. Ð­ÑÐŸ ÑÐŽÐµÐ»Ð°ÐœÐŸ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÑÐºÐ°Ð·Ð°ÐœÐžÑ ÑÐ¿ÐžÑÐºÐ° ÐŽÑÑÐ³ÐžÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹, Ð² ÐºÐŸÑÐŸÑÑÑ
+ ÐŽÐŸÐ»Ð¶ÐœÐ° Ð±ÑÑÑ Ð¿ÑÐŸÐ²ÐµÐŽÐµÐœ Ð¿ÐŸÐžÑÐº Ð²ÐŒÐµÑÑÐµ Ñ ÐœÐ°ÑÑÐŸÑÑÐµÐ¹. Ð "Ð Ð°Ð·ÐŽÐµÐ»Ð°Ñ
+ ÐŽÐžÐ·Ð°Ð¹ÐœÐ°" ÑÐµÐ»ÐºÐœÐžÑÐµ "ÐÐŸÐžÑÐº Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑ
+".</p>
+
+<p>ÐÐµÐ¶ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐŸÐœÐœÑÐ¹ Ð¿ÐŸÐžÑÐº Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑÑ
+ Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐºÐŸÐœÑÑÐŸÐ»ÑÐœÑÐ¹ ÑÐ¿ÐžÑÐŸÐº ÐŽÐŸÑÑÑÐ¿ÐœÑÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹.Ð¢ÐµÐºÑÑÐ°Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ Ð¿ÐŸÐŒÐµÑÐµÐœÑ Ðž ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŸÑÑÐµÑÐœÐ°. Ð§ÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÐŽÑÑÐ³ÐžÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž, Ð² ÐºÐŸÑÐŸÑÑÑ
+ Ð¿ÐŸÐžÑÐº Ð±ÑÐŽÐµÑ Ð¿ÑÐŸÐ²ÐŸÐŽÐžÑÑÑÑ Ð¿Ð°ÑÐ°Ð»Ð»ÐµÐ»ÑÐœÐŸ, ÑÐµÐ»ÐºÐœÐžÑÐµ ÐœÐ° ÐœÐžÑ
+ Ð² ÑÐ¿ÐžÑÐºÐµ (ÑÐµÐ»ÐºÐœÐžÑÐµ ÑÐœÐŸÐ²Ð°, ÑÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÐžÑ
+). ÐÑÐ»Ðž ÐŸÑÐŸÐ±ÑÐ°ÐœÐ° ÑÐŸÐ»ÑÐºÐŸ ÐŸÐŽÐœÐ° ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ, ÑÐŸ ÐŒÐµÐ¶ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐŸÐœÐœÑÐ¹ Ð¿ÐŸÐžÑÐº ÐœÐµÐ²ÐŸÐ·ÐŒÐŸÐ¶ÐµÐœ.</p>
+
+<p>ÐÑÐ»Ðž ÐžÐœÐŽÐžÐ²ÐžÐŽÑÐ°Ð»ÑÐœÑÐµ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐœÐµ ÐžÐŒÐµÑÑ ÐŸÐŽÐžÐœÐ°ÐºÐŸÐ²ÑÑ
+ ÐžÐœÐŽÐµÐºÑÐŸÐ² (Ð²ÐºÐ»ÑÑÐ°Ñ ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÑ ÐœÐ° ÑÑÐ±ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž ÑÐ°Ð·ÐŽÐµÐ»ÐµÐœÐžÐµ Ð¿ÐŸ ÑÐ·ÑÐºÐ°ÐŒ) Ñ ÐŽÑÑÐ³ÐžÐŒÐž, ÑÐŸ Ð¿ÐµÑÐµÐºÑÐµÑÑÐœÑÐ¹ Ð¿ÐŸÐžÑÐº ÐœÐµ Ð±ÑÐŽÐµÑ ÑÐ°Ð±ÐŸÑÐ°ÑÑ ÐŽÐŸÐ»Ð¶ÐœÑÐŒ ÐŸÐ±ÑÐ°Ð·ÐŸÐŒ. ÐÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ Ð±ÑÐŽÐµÑ ÑÐŸÐ»ÑÐºÐŸ ÑÐ¿ÐŸÑÐŸÐ±ÐµÐœ Ð¿ÑÐŸÐžÐ·Ð²ÐŸÐŽÐžÑÑ Ð¿ÐŸÐžÑÐº,  ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ ÐžÐœÐŽÐµÐºÑÑ, ÐŸÐ±ÑÐžÐµ ÐŽÐ»Ñ Ð²ÑÐµÑ
+ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐ¹.</p>
+
+<p>ÐÐ»Ñ ÐŽÐ°Ð»ÑÐœÐµÐ¹ÑÐžÑ
+ ÐŽÐµÑÐ°Ð»ÐµÐ¹ ÑÐŒ.Ð³Ð»Ð°Ð²Ñ 1 Ð ÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²Ð° ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐ° Greenstone.</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/splithelpdocument.pl
===================================================================
--- main/tags/2.83/gli/help/splithelpdocument.pl	(revision 21123)
+++ main/tags/2.83/gli/help/splithelpdocument.pl	(revision 21123)
@@ -0,0 +1,66 @@
+#!/usr/bin/perl -w
+
+###########################################################################
+#
+# splithelpdocument.pl
+#
+# A component of the Greenstone digital library software
+# from the New Zealand Digital Library Project at the 
+# University of Waikato, New Zealand.
+#
+# Copyright (C) 1999 New Zealand Digital Library Project
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+###########################################################################
+
+
+sub main
+{
+    local @lines = <STDIN>;
+
+    local $filestart = 0;
+    local $filename = "";
+    for ($i = 0; $i < scalar(@lines); $i++) {
+	local $line = $lines[$i];
+
+	if ($line =~ /\<a name=\"([^\"]+)\"\>/ && $filename eq "") {
+	    $filename = $1;
+	}
+
+	if ($line =~ /^\<html\>/ && $i > $filestart) {
+	    open(FILE_OUT, ">$filename.htm") or die "Error: Could not write $filename.htm.\n";
+	    for ($j = $filestart; $j < $i; $j++) {
+		print FILE_OUT $lines[$j];
+	    }
+	    close(FILE_OUT);
+
+	    $filestart = $i;
+	    $filename = "";
+	}
+    }
+
+    # Deal with the last file
+    if ($filename ne "") {
+	open(FILE_OUT, ">$filename.htm") or die "Error: Could not write $filename.htm.\n";
+	for ($j = $filestart; $j < $i; $j++) {
+	    print FILE_OUT $lines[$j];
+	}
+	close(FILE_OUT);
+    }
+}
+
+
+&main(@ARGV);
Index: main/tags/2.83/gli/help/th/addingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/th/addingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/addingfiles.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="addingfiles"><font size="5" face="Verdana"><strong>4.4: àžàž²àž£à¹àžàžŽà¹àž¡à¹àžà¹àž¡</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³àžªàž³à¹àžàž²à¹àžà¹àž¡àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£àž¥àž²àžà¹àž¥àž°àžàž²àž£àžàž¥à¹àž­àž¢à¹àž¡àž²àžªà¹ àžàž±àž§àžàžµà¹à¹àž¡àž²àžªà¹àžàž°àžàž¥àž²àž¢à¹àžà¹àžà¹àžàž²àžàž­àžàž£àž²àž¢àžàž²àž£àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹ (àž«àž£àž·àž­ àžà¹àž²àžàžžàžà¹àž¥àž·àž­àžàž¡àž²àžàžàž§à¹àž²àž«àžàž¶à¹àž àžà¹àžàž°à¹àžà¹àžà¹àžàžàž²àž¡àžàž³àžàž§àžàžàžµà¹à¹àž¥àž·àž­àžàžàž±à¹àž) àžàž¥à¹àž­àž¢à¹àžà¹àž¡àžàžµà¹à¹àž¥àž·àž­àžàž¥àžà¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž·à¹àž­àžàž³àžªàž³à¹àžàž²à¹àžà¹àž¡àžàžµà¹àžàž±à¹àž (àžà¹àž²àžà¹àžà¹àž«àž¥à¹àžà¹àžà¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž·à¹àžàžàžµà¹àžàž³àžàž²àž) àž«àž£àž·àž­àž¢à¹àž²àž¢à¹àžà¹àž¡à¹àžàž¡àž²àž àž²àž¢à¹àžàžàž­àž¥à¹àž¥àžàžàž±àž (àžà¹àž²àžà¹àžà¹àž«àž¥à¹àžàžà¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž)</p>
+
+<p>à¹àž¡àž·à¹àž­àžàž³àžªàž³à¹àžàž²à¹àžà¹àž¡àž«àž¥àž²àž¢à¹àžà¹àž¡ à¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàž±à¹àžàžàž±à¹àžàž«àž¡àžàžàž°àžàž¹àžàž§àž²àžà¹àž§à¹à¹àžà¹àžàž¥à¹àžàž­àž£à¹à¹àžà¹àž²àž«àž¡àž²àž¢àžàžµà¹àž£àž°àžàž±àžà¹àžàžµàž¢àž§àžàž±àž à¹àžàž¢à¹àž¡à¹àžàž³àžàž¶àžà¹àžàž£àžàžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹àžàž±à¹àžà¹àžàžŽàž¡àžàžµà¹à¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàž±à¹àžàž§àž²àžàž­àž¢àž¹à¹àžà¹àž­àž à¹àž¡àž·à¹àž­àžàžžàžàžàž³àžªàž³à¹àžàž²à¹àžà¹àž¡àžàžµà¹àžªàž­àžàžà¹àž§àž¢àžàž·à¹àž­à¹àžàžµàž¢àž§àžàž±àžàž¥àžà¹àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹à¹àžàžµàž¢àž§àžàž±àž àž£àž°àžàžàžàž°àžàž²àž¡àž§à¹àž²àžàžžàžàžà¹àž­àžàžàž²àž£à¹àžàžµàž¢àžàžàž±àžà¹àžà¹àž¡à¹àž£àžàž«àž£àž·àž­à¹àž¡à¹ àžà¹àž²àžàž­àžàž§à¹àž² "à¹àž¡à¹" à¹àžà¹àž¡àžàž°à¹àž¡à¹àžàž¹àžàžàž³àžªàž³à¹àžàž² à¹àžà¹àžà¹àž²àžàž­àžàž§à¹àž² "à¹àžà¹" àžà¹àž£àž°àžàžàžà¹àžàž°à¹àžàžµàž¢àžà¹àžà¹àž¡à¹àž«àž¡à¹àžàž±àžàž¥àžà¹àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àž¢àžà¹àž¥àžŽàžàžàž²àž£àžàž³àžªàž³à¹àžàž²àžàžµà¹à¹àž«àž¥àž·àž­àžàž±à¹àžàž«àž¡àž à¹àž«à¹àžàž¥àžŽàžàžàžžà¹àž¡ "àž«àž¢àžžàž"</p>
+
+<p>à¹àžàžàž²àž°àž£àž²àž¢àžàž²àž£àžàžµà¹àž­àž¢àž¹à¹ "àžªàž¹àžàžªàžžàž" à¹àžàžàž²àž£à¹àž¥àž·àž­àžàžàž°àžàž¹àžàž¢à¹àž²àž¢ à¹àžàž¥à¹àžàž­àž£à¹àž«àžàž¶à¹àžàžàž°àž­àž¢àž¹à¹àžªàž¹àžàžàž§à¹àž²à¹àžàž¥à¹àžàž­àž£à¹àž¥àž¹àž àžàžžàžà¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžà¹àžà¹àž¡àžà¹àž²àžà¹ àž àž²àž¢à¹àžà¹àžàž¥à¹àžàž­àž£à¹ àž£àž§àž¡àžàž±à¹àžàžàž±àž§à¹àžàž¥à¹àžàž­àž£à¹à¹àž­àžà¹àžà¹à¹àžàžàž£àž±à¹àžà¹àžàžµàž¢àž§àžàž±àž</p>
+
+<p>à¹àž¡àž·à¹àž­àžàžžàžà¹àžàžŽà¹àž¡à¹àžà¹àž¡à¹àžà¹àž²à¹àžà¹àžàž£àž°àžàž àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž°àžàž³àžàž²àž£àžà¹àžàž«àž²à¹àžà¹àž¡à¹àžªàž£àžŽàž¡àžàžµà¹àžàž£àž£àžàžžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžà¹àžàž³àž«àžàžà¹àž«à¹àžàž±àžà¹àžà¹àž¡àžàžµà¹àž¡àžµàžàž²àž£à¹àžàžŽà¹àž¡àžà¹àž­àžàž«àžà¹àž²àžàžµà¹à¹àžà¹àžàž¥à¹àžàž­àž£à¹àžà¹àžà¹àž«àž¥à¹àž àžà¹àž²àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžàžà¹àžà¹àž¡àžàžµà¹àžà¹àž­àžàžàž²àž£ àž£àž°àžàžàžà¹àžàž°à¹àž£àžŽà¹àž¡àžàž³à¹àžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹ àžàžàž°àžàžµà¹àžàž²àž£àžàžàžŽàžàž±àžàžŽàžàž²àž£àžàž³à¹àžàžŽàžà¹àž àžàžžàžàž­àž²àžàžàž¹àžàžàž£à¹àž­àž¡àžà¹ (àž­àž²àžàžàž°àž«àž¥àž²àž¢àžàž£àž±à¹àž) à¹àž«à¹à¹àžªà¹àžà¹àž­àž¡àž¹àž¥à¹àžàžŽà¹àž¡à¹àžàžŽàž¡à¹àžàž·à¹àž­àžàž³à¹àž«à¹à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³à¹àžà¹àž²àžàž£àžàžàž±àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž àžàž£àž°àžàž§àžàžàž²àž£àžàžµà¹à¹àžàžµà¹àž¢àž§àžàž±àžàžàž±àžàžàž£à¹àž­àž¡àžà¹àžà¹àž²àžà¹ àž¡àž²àžàž¡àž²àž¢àžàž¶à¹àžàž­àžàžŽàžàž²àž¢à¹àž§à¹à¹àžàžªà¹àž§àž <a href="importingpreviouslyassignedmetadata.htm">àžàž³àž¥àž±àžàžàž³à¹àžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàžàžà¹àž­àžàž«àžà¹àž²àžàžµà¹</a>  àžªàž³àž«àž£àž±àžàžàž³àž­àžàžŽàžàž²àž¢àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžà¹àžàžŽà¹àž¡à¹àžàžŽàž¡àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžà¹àžà¹àž¡ àžàž£àžžàžàž²àž­à¹àž²àžàžàžàžàžµà¹ 2 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž -- àžàž²àž£à¹àžàž¢à¹àžàž£à¹àžà¹àž­àž¡àž¹àž¥àžàž²àžà¹àž­àžàžªàž²àž£àžàž­àžàžàžžàž</p>
+
+<p>àžàžžàžàž¢àž±àžàžªàž²àž¡àž²àž£àžà¹àžàžŽà¹àž¡à¹àž­àžàžªàž²àž£ "àžàž³àž¥àž­àž" àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžàžàž§àž²à¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž«àž£àž·àž­àžàžà¹àžàž¥à¹àžàž­àž£à¹ à¹àž¥àž°à¹àž¥àž·àž­àž "àžªàž£à¹àž²àžà¹àž­àžàžªàž²àž£àžàž³àž¥àž­àžà¹àž«àž¡à¹" àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹àžàžàžµà¹àžàž°à¹àžà¹àžàžàž²àž£àžªàž£à¹àž²àžà¹àžà¹àž¡àž§à¹àž²àžà¹àž«àž¡à¹àžàžµà¹àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžà¹ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàžàžàžµà¹à¹àžà¹àž¡àžàž³àž¥àž­àžàžàžµà¹àžà¹àž§àž¢à¹àžà¹àž¡ "àžàž£àžŽàž" à¹àžà¹à¹àžàž àž²àž¢àž«àž¥àž±àž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/addingpreviouslydefinedmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/th/addingpreviouslydefinedmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/addingpreviouslydefinedmetadata.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="addingpreviouslydefinedmetadata"><font size="5" face="Verdana"><strong>5.4: àžàž²àž£à¹àžàžŽà¹àž¡à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàžà¹àž§à¹àžà¹àž­àžàž«àžà¹àž²àžàžµà¹</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàžà¹àž²àž­àž¢àž¹à¹à¹àž¥à¹àž§ àžà¹àž­àžàž­àž·à¹àžà¹àž«à¹à¹àž¥àž·àž­àžà¹àžà¹àž¡ à¹àž¥à¹àž§à¹àž¥àž·àž­àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàžžàžàžàž³àž¥àž±àžàžàž°àžàž³àž«àžàž àžàž²àžàžàž±à¹àžà¹àž¥àž·àž­àžàžà¹àž²àžàžµà¹àžà¹àž­àžàžàž²àž£àžàž²àžà¹àžàžàžàž±àžàžà¹àž² à¹àžàž¢àžªàž²àž¡àž²àž£àžàžàž¢àž²àž¢à¹àžàž¥à¹àžàž­àž£à¹àž¥àž³àžàž±àžàžàž±à¹àžàžàž²àž¡àžàžµà¹àžàž³à¹àžà¹àž àžà¹àž²àžàž­àžàž£àž²àž¢àžàž²àž£àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àžàž°àžàž£àž²àžàžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²à¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽ (àž«àž£àž·àž­àž­àž²àžàžàž°à¹àžà¹àžàžžàžàž¥àž±àžàž©àžàž° à¹àž¥àž·àž­àžàž­àž±àžà¹àžàž¡àž±àžàžŽ à¹àž¥àž° à¹àžàžŽàž¡àžàž³àž­àž±àžà¹àžàž¡àž±àžàžŽ àžàž­àžà¹àžàžàžàž±àžàžà¹àž²àžà¹à¹àžà¹)</p>
+
+<p>àžàž£àž°àžàž§àžàžàž²àž£à¹àžàžŽà¹àž¡à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàžà¹àž²àž­àž¢àž¹à¹à¹àž¥à¹àž§àž¥àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹àž«àž£àž·àž­à¹àžà¹àž¡àž«àž¥àž²àž¢à¹àžà¹àž¡à¹àžà¹àžàžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£à¹àžàž£àž¹àžà¹àžàžà¹àžàžµàž¢àž§àžàž±àž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/appendingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/th/appendingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/appendingmetadata.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="appendingmetadata"><font size="5" face="Verdana"><strong>5.3: àžàž²àž£à¹àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹à¹àžàžŽà¹àž¡à¹àžàžŽàž¡</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžàžàž°àžàžµà¹à¹àž£àž²àžàž°à¹àžàžŽà¹àž¡àž£àž²àž¢àžàž²àž£à¹àž¡àžàž²àžàž²àžàž² -- àžàž±à¹àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¥àž°àžà¹àž² -- àž¥àžà¹àžà¹àžà¹àž¡ àžà¹àž­àžàž­àž·à¹àžà¹àž«à¹à¹àž¥àž·àž­àžà¹àžà¹àž¡àžàž²àžà¹àžàžàžàž±àžà¹àžà¹àž¡àž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž­àž¢àž¹à¹àžàž²àžàžà¹àž²àžàžà¹àž²àž¢ àžàž²àž£àžàž£àž°àžàž³àžàž±àžàžàž¥à¹àž²àž§àžàž°àžàž³à¹àž«à¹à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžà¹àžàž³àž«àžàžà¹àž«à¹à¹àž§à¹àžàž±àžà¹àžà¹àž¡àžàžµà¹àžà¹àž­àžàž«àžà¹àž²àžàžµà¹à¹àžàžàž£àž²àžàžà¹àžàžàž²àž£àž²àžàžàž²àžàžà¹àž²àžàžàž§àž²</p>
+
+<p>àžà¹àž­à¹àž à¹àž«à¹à¹àž¥àž·àž­àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡à¹àžàž¢àžàž¥àžŽàžàžàžµà¹à¹àžàž§àžàž­àžàž­àžàžà¹àžàž£àž°àžàž­àžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàžàž²àž£àž²àž</p>
+
+<p>àžàžŽàž¡àžà¹àžà¹àž²àž¥àžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž² à¹àž«à¹à¹àžà¹àž­àž±àžàžàž£àž° "|" à¹àžàž·à¹àž­à¹àžàžŽà¹àž¡à¹àžàž£àžàžªàž£à¹àž²àž àžàž±àžàž­àžàžŽàžàž²àž¢à¹àž <a href="theenrichview.htm">àž¡àžžàž¡àž¡àž­àžà¹àž¡àžàž²àžàž²àžàž²</a> àžàž²àž£àžàžà¹àžà¹àžàž¥àž¹àžàžšàž£ [àžàž¶à¹àž] àž«àž£àž·àž­ [àž¥àž] àžàž°à¹àžà¹àžàžàž²àž£àžàž±àžàžàž¶àžàžà¹àž²à¹àž¡àžàž²àžàž²àžàž² à¹àž¥àž°à¹àž¥àž·à¹àž­àžàžàž²àž£à¹àž¥àž·àž­àžàžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡ àžàž²àž£àžàž [Enter] àžàž°à¹àžà¹àžàžàž²àž£àžàž±àžàžàž¶àžàžà¹àž²à¹àž¡àžàž²àžàž²àžàž² à¹àž¥àž°àžªàž£à¹àž²àžàž£àž²àž¢àžàž²àž£àž§à¹àž²àžà¹àž«àž¡à¹àžªàž³àž«àž£àž±àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž² à¹àžàž¢àžàž°àž¢àž­àž¡à¹àž«à¹àžàžžàžàžàž³àž«àžàžàžà¹àž²à¹àž«à¹àžàž±àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²à¹àžà¹àž«àž¥àž²àž¢àžà¹àž²</p>
+
+<p>àžàžžàžàž¢àž±àžàžªàž²àž¡àž²àž£àžà¹àžàžŽà¹àž¡à¹àž¡àžàž²àžàž²àžàž²àž¥àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹ àž«àž£àž·àž­àž¥àžà¹àžà¹àžà¹àž¡àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àž«àž¥àž²àž¢à¹àžà¹àž¡à¹àžàžàž£àž±à¹àžà¹àžàžµàž¢àž§à¹àžà¹ à¹àž¡àžàž²àžàž²àžàž²àžàž°àžàž¹àžà¹àžàžŽà¹àž¡àž¥àžà¹àžà¹àžà¹àž¡àžàž±à¹àžàž«àž¡àžàž àž²àž¢à¹àžà¹àžàž¥à¹àžàž­àž£à¹àž«àž£àž·àž­à¹àžà¹àž¡àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹ àž£àž§àž¡àžàž±à¹àžà¹àžàž¥à¹àžàž­àž£à¹àž¥àž¹àž à¹àžàž£àžàžàž³à¹àž§à¹àž§à¹àž² àžà¹àž²àžàžžàžàžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«à¹àžàž±àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž¥à¹àž§ à¹àžà¹àž¡à¹àž«àž¡à¹à¹àžà¹ à¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàž°àžªàž·àžàžàž­àžàžà¹àž²àžàž­àžà¹àžàž¥à¹àžàž­àž£à¹àžàž±à¹àžà¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽ</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/assignlanguages.htm
===================================================================
--- main/tags/2.83/gli/help/th/assignlanguages.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/assignlanguages.htm	(revision 21123)
@@ -0,0 +1,29 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="assignlanguages"><font size="5" face="Verdana"><strong>6.4.3: àžàž³àž«àžàžàž àž²àž©àž²</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžªà¹àž§àžàžàžµà¹à¹àžªàžàžàž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžàž§àžŽàžàžµàžàž²àž£àžàž³àžàž±àžàžàž±àžàžàžµàžàž²àž£àžà¹àžàž«àž²à¹àž«à¹àžàž±àžàž àž²àž©àž²à¹àžàž àž²àž©àž²àž«àžàž¶à¹àž àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³à¹àžàžŽàžàžàž²àž£àžàžµà¹à¹àžà¹àžà¹àž§àž¢àžàž²àž£àžªàž£à¹àž²àžàžàž²àž£à¹àžàžŽàžàž±àžà¹àžàž¢à¹àžà¹à¹àžà¹àž "àžàž³àž«àžàžàž àž²àž©àž²" àžàž­àžàžªà¹àž§àžàžàž§àžàžàžžàž¡ "àžàž±àžàžàžµàžàž²àž£à¹àžàžŽàžàž±àž"</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²à¹àž«àž¡à¹ à¹àž«à¹à¹àžà¹à¹àžà¹àž "àžàž³àž«àžàžàž àž²àž©àž²" à¹àžàž·à¹àž­àžªàž£à¹àž²àžàžàž±àžàžàžµàžªàž³àž«àž£àž±àžàž àž²àž©àž²àžàž±à¹àž àžàž²àžàžàž±à¹àžà¹àž¥àž·àž­àžàž àž²àž©àž²àž­àž¢à¹àž²àžàžà¹àž­àž¢àž«àžàž¶à¹àžàž àž²àž©àž²àžàž²àžàž£àž²àž¢àžàž²àž£ "àž àž²àž©àž²àžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡" à¹àž¥àž°àžàž¥àžŽàž "à¹àžàžŽà¹àž¡àžàž²àž£à¹àžàžŽàžàž±àž"</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžàž²àž£à¹àžàžŽàžàž±àžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹ à¹àž«à¹à¹àž¥àž·àž­àžàžàž²àž£à¹àžàžŽàžàž±àžàžàž²àžàž£àž²àž¢àžàž²àž£ "àžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²àžàžµà¹àžàž³àž«àžàž" àžàž²àžàžàž±à¹àžà¹àžà¹à¹àžàž àž²àž©àž²àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹à¹àžàž£àž²àž¢àžàž²àž£ "àž àž²àž©àž²àžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡" àžà¹àž²àžàž¥à¹àž²àž à¹àž¥àž°àžàž¥àžŽàž "à¹àžàžàžàžµà¹àžàž²àž£à¹àžàžŽàžàž±àž"</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²àž­àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž²àž£à¹àžàžŽàžàž±àžàžàž²àžàž£àž²àž¢àžàž²àž£ "àžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²àžàžµà¹àžàž³àž«àžàž" à¹àž¥àž°àžàž¥àžŽàž "à¹àž­àž²àžàž²àž£à¹àžàžŽàžàž±àžàž­àž­àž"</p>
+
+<p>àž¥àž³àžàž±àžàžàžµà¹àž£àž°àžàžžàžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²à¹àž§à¹à¹àž "àž£àž²àž¢àžàž²àž£àžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²àžàžµà¹àžàž³àž«àžàž" à¹àžà¹àžàž¥àž³àžàž±àžàžàžµà¹àžàž°àžàž£àž²àžàžà¹àžà¹àž¡àžàž¹à¹àžàžàž«àž¥à¹àžàž¥àžà¹àžàž«àžà¹àž²àžà¹àžàž«àž²  à¹àž«à¹à¹àžà¹àžàžžà¹àž¡ "à¹àž¥àž·à¹àž­àžàžàž¶à¹àž  " à¹àž¥àž° "à¹àž¥àž·à¹àž­àžàž¥àž  " à¹àžàž·à¹àž­à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžàž²àž£à¹àž£àžµàž¢àžàž¥àž³àžàž±àžàžàžµà¹</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž±à¹àžàžà¹àž²àžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²à¹àž£àžŽà¹àž¡àžà¹àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²àžàž²àžàž£àž²àž¢àžàž²àž£ à¹àž¥àž°àžàž¥àžŽàž "àžàž±à¹àžà¹àžà¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž"</p>
+
+<p>àžàžžàžàžªàž²àž¡àž²àž£àžàžàž±à¹àžàžà¹àž²àžàž·à¹àž­àžàžµà¹à¹àžà¹àžªàž³àž«àž£àž±àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àžàžàž­àžàžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²à¹àžàž«àžà¹àž²àžà¹àžàž«àž²à¹àž "àžà¹àžàž«àž²  " àžªà¹àž§àžàžàž­àž "àž£àž¹àžà¹àžàž  " àžàž²à¹àžàž¥à¹àžà¹ (àžàž¹àžàžµà¹ <a href="searchmetadatasettings.htm">àžà¹àžàž«àž²</a>) </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/assignpartitions.htm
===================================================================
--- main/tags/2.83/gli/help/th/assignpartitions.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/assignpartitions.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="assignpartitions"><font size="5" face="Verdana"><strong>6.4.2: àžàž³àž«àžàžàžàž²àž£à¹àžàžŽàžàž±àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àž«àž¥àž±àžàžàž²àžàžàžŽàž¢àž²àž¡àžàž±àž§àžàž£àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢àž­àž¢à¹àž²àžàžà¹àž­àž¢àž«àžàž¶à¹àžàžàž±àž§à¹àž¥à¹àž§ à¹àž«à¹à¹àžà¹à¹àžà¹àž "àžàž³àž«àžàžàžàž²àž£à¹àžàžŽàžàž±àž" à¹àžàž·à¹àž­àžªàž£à¹àž²àžàžàž±àžàžàžµàžªàž³àž«àž£àž±àžàžàž±àž§àžàž£àž­àž (àž«àž£àž·àž­àžªàž³àž«àž£àž±àžàžàž¥àžžà¹àž¡àžàž­àžàžàž±àž§àžàž£àž­àž) àžàž²àžàžàž±à¹àžà¹àž¥àž·àž­àžàžàž±àž§àžàž£àž­àžàžàžµà¹àžà¹àž­àžàžàž²àž£àž«àžàž¶à¹àžàžàž±àž§àž«àž£àž·àž­àž«àž¥àž²àž¢àžàž±àž§àžàž²àžàž£àž²àž¢àžàž²àž£ "àžàž±àž§àžàž£àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢àžàžµà¹àžàž³àž«àžàž" à¹àž¥àž°àžàž¥àžŽàž "à¹àžàžŽà¹àž¡àžàž²àž£à¹àžàžŽàžàž±àž"  àžàž²àž£à¹àžàžŽàžàž±àžàžàžµà¹àž£àž°àžàžžà¹àžà¹àž¥àž°àžàž±àž§àžàž°à¹àžªàžàžàžàž¥à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢àžàžµà¹àž¡àžµà¹àž­àžàžªàž²àž£àžàžµà¹àžàž£àžàžàž²àž¡àžàž±àž§àžàž£àž­àžà¹àžà¹ àžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàž²àž£à¹àžàžŽàžàž±àžàžàž±à¹àž</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžàžàž²àž£à¹àžàžŽàžàž±àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž²àž£à¹àžàžŽàžàž±àžàž­àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£ àžàž³àžàž²àž£à¹àžà¹à¹àžàžàž±àž§àžàž£àž­àž à¹àž¥àž°àžàž¥àžŽàž "à¹àžàžàžàžµà¹àžàž²àž£à¹àžàžŽàžàž±àž  "</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àžàž²àž£à¹àžàžŽàžàž±àžàž­àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž²àž£à¹àžàžŽàžàž±àžàž­àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£ à¹àž¥àž°àžàž¥àžŽàž "à¹àž­àž²àžàž²àž£à¹àžàžŽàžàž±àžàž­àž­àž"</p>
+
+<p>àž¥àž³àžàž±àžàžàžµà¹àž£àž°àžàžžàžàž²àž£à¹àžàžŽàžàž±àžà¹àž§à¹à¹àž "àž£àž²àž¢àžàž²àž£àžàž²àž£à¹àžàžŽàžàž±àžàžàžµà¹àžàž³àž«àžàž" à¹àžà¹àžàž¥àž³àžàž±àžàžàžµà¹àžàž²àž£à¹àžàžŽàžàž±àžàžàž°àžàž£àž²àžàžà¹àžà¹àž¡àžàž¹à¹àžàžàž«àž¥à¹àžàž¥àžà¹àžàž«àžà¹àž²àžà¹àžàž«àž²  à¹àž«à¹à¹àžà¹àžàžžà¹àž¡ "à¹àž¥àž·à¹àž­àžàžàž¶à¹àž  " à¹àž¥àž° "à¹àž¥àž·à¹àž­àžàž¥àž  " à¹àžàž·à¹àž­à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžàž²àž£à¹àž£àžµàž¢àžàž¥àž³àžàž±àžàžàžµà¹</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž³àž«àžàžà¹àž«à¹àžàž²àž£à¹àžàžŽàžàž±àžà¹àžà¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž²àž£à¹àžàžŽàžàž±àžàžàž²àžàž£àž²àž¢àžàž²àž£ à¹àž¥àž°àžàž¥àžŽàž "àžàž±à¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž  "</p>
+
+<p>àžàžžàžàžªàž²àž¡àž²àž£àžàžàž±à¹àžàžà¹àž²àžàž·à¹àž­àžàžµà¹à¹àžà¹àžªàž³àž«àž£àž±àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àžàžàž­àžàžàž²àž£à¹àžàžŽàžàž±àžà¹àžàž«àžà¹àž²àžà¹àžàž«àž²à¹àžà¹à¹àž "àžà¹àžàž«àž²  " àžªà¹àž§àžàžàž­àž "àž£àž¹àžà¹àžàž  " àžàž²à¹àžàž¥ (àžàž¹àžàžµà¹ <a href="searchmetadatasettings.htm">àžà¹àžàž«àž²</a>) </p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/builderrors.htm
===================================================================
--- main/tags/2.83/gli/help/th/builderrors.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/builderrors.htm	(revision 21123)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="builderrors"><font size="5" face="Verdana"><strong>7.2: àžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžàž²àžàžàž£àž±à¹àžàž­àž²àžàžàž°à¹àžàžŽàžàžªàžŽà¹àžàžàžŽàžàžàž¥àž²àžàžàž¶à¹àžàž£àž°àž«àž§à¹àž²àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž àžªàž²à¹àž«àžàžžàžàž­àžàžàž±àžàž«àž²àžàžµà¹àž­àž²àžà¹àžàžŽàžàžàž²àžàžàž²àž£àžàžµà¹àž£àž°àžàžà¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž£àž°àž¡àž§àž¥àžàž¥à¹àžà¹àž¡àžàž²àžà¹àžà¹àž¡à¹àžà¹ à¹àžà¹àž àžàž²àž£àžàžµà¹àž£àž°àžàžàžªàž²àž¡àž²àž£àžàžªàž£à¹àž²àžà¹àžà¹àž¡àžàžµà¹à¹àž«àž¥àž·àž­àž­àž¢àž¹à¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹ àžªàž²àž¡àž²àž£àžà¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹ à¹àžà¹àž­àž²àžàž¡àžµà¹àž­àžàžªàž²àž£àžàž²àžàžàžàž±àžàž«àž²àž¢à¹àž àž«àž£àž·àž­àžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àžàž«àž¡àžàž­àž²àžàžàž°àžàž¹àžàžªàž£à¹àž²àžàžàž¶à¹àžàž­àž¢à¹àž²àžà¹àž¡à¹à¹àž«àž¡àž²àž°àžªàž¡ à¹àžàžàž£àžàžµà¹àžà¹àžàžàžµà¹ àž£àž°àžàžàžàž°à¹àžªàžàžàžà¹àž­àžàž§àž²àž¡àž§à¹àž² "àž¡àžµàžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àžàžŽàžàžàž¶à¹àž à¹àž¥àž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹  "  à¹àž¡àž·à¹àž­à¹àžàžŽàžà¹àž«àžàžžàžàž²àž£àžà¹à¹àžà¹àžàžàžµà¹àžàž¶à¹àž àžàž²àž£àžªàž¥àž±àž GLI à¹àž«à¹àž­àž¢àž¹à¹à¹àžà¹àž«àž¡àžàžàž¹à¹àžàž³àžàž²àžàžàž²àž£àž­àž²àžàžªàž²àž¡àž²àž£àžàžà¹àž§àž¢à¹àžà¹àžàž±àžàž«àž²à¹àžà¹ (à¹àžà¹àž¡-&gt;àžàž³àž«àžàžàž¥àž±àžàž©àžàž°-&gt;à¹àž«àž¡àž à¹àž«à¹àžàž¹àžàžµà¹ <a href="preferences.htm">àžàž³àž«àžàžàž¥àž±àžàž©àžàž°</a>) àžàž²àžàžàž±à¹àžàžàž±à¹àžàžà¹àž²àžàž±àž§à¹àž¥àž·àž­àžàžàž²àž£àžªàž£à¹àž²àž "verbosity" à¹àžà¹àž 5 à¹àž¥à¹àž§àžàž³àžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹à¹àžàž·à¹àž­àžàž¹àž§à¹àž²àž¢àž±àžàž¡àžµàžà¹àž­àžàž§àž²àž¡à¹àžªàžàžàžàž§àž²àž¡àžàžŽàžàžàž¥àž²àžà¹àžà¹ àž­àžµàžàž«àž£àž·àž­à¹àž¡à¹</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/classifiers.htm
===================================================================
--- main/tags/2.83/gli/help/th/classifiers.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/classifiers.htm	(revision 21123)
@@ -0,0 +1,31 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="classifiers"><font size="5" face="Verdana"><strong>6.5: àžàž²àž£à¹àž£àžµàž¢àžàžàž¹àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž²àž£àžàž³àž«àžàž "àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž" àžàž¶à¹àžàžàž°à¹àžà¹àžªàž³àž«àž£àž±àžàžàž²àž£à¹àž£àžµàž¢àžàžàž¹à¹àž«à¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž£àžŽà¹àž¡àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹à¹àžàž¢àžàž²àž£àžàž¥àžŽàž "àžàž²àž£à¹àž£àžµàž¢àžàžàž¹àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž" àž àž²àž¢à¹àžà¹à¹àžà¹àž"àž­àž­àžà¹àžàž" </p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžà¹àžàž¢à¹àžà¹àž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àž "à¹àž¥àž·àž­àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡" àžàžµà¹àž­àž¢àž¹à¹à¹àžàž¥à¹àžªà¹àž§àžàž¥à¹àž²àžàžàž­àž«àžà¹àž²àžàž­ àžàž²àžàžàž±à¹àžàžàž¥àžŽàž "à¹àžàžŽà¹àž¡àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž&hellip;"  àž«àžà¹àž²àžà¹àž²àžàžàž°àžàž£àž²àžàžàžàž¶à¹àžà¹àžàžàž·à¹àž­ "àžàž²àž£àžàž³àž«àžàžàžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹" àžàž¶à¹àžàžàž³à¹àžàž°àžàž³àžªàž³àž«àž£àž±àžàžàž¥à¹àž­àžà¹àžà¹àžàž­àžàžàžµà¹àžàž°à¹àž«àž¡àž·àž­àžàžàž±àžàžàž­àžàžàž¥àž±à¹àžàž­àžŽàž (àžàž¹àžàžµà¹ <a href="plugins.htm">àžàž¥àž±à¹àžàž­àžŽàžàžàž­àžà¹àž­àžàžªàž²àž£</a>)  àžàž±àžàžàžµàžàžµà¹àžàžžàžà¹àžà¹àžàž³àž«àžàžàžà¹àž²àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžà¹àž«àž¡à¹à¹àž¥à¹àž§ àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàž°àžàž¹àžà¹àžàžŽà¹àž¡àž¥àžà¹àžàžàžµà¹àž¥àž³àžàž±àžàžà¹àž²àž¢àžªàžžàžàžàž­àžàž£àž²àž¢àžàž²àž£ "àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàžµà¹àžàž³àž«àžàž"</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž¹àžàž³àž­àžàžŽàžàž²àž¢àž­àž¢à¹àž²àžàžªàž±à¹àžàžàž­àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžà¹àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àž "à¹àž¥àž·àž­àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡" àžàž²àžàžàž±à¹àžàž¥àž²àžà¹àž¡àž²àžªà¹à¹àž«àžàž·àž­àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàž±à¹àž à¹àžàž¥à¹àžàž¥àž±àžà¹àžàž£àž·à¹àž­àžàž¡àž·àž­àžàžµà¹à¹àžªàžàžàžàž³àž­àžàžŽàžàž²àž¢àžàž°àžàž£àž²àžàžàžàž¶à¹àž</p>
+
+<p>àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžà¹àžà¹àž¥àž°àžàž±àž§àž¡àžµàž«àž¥àž²àž¢àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžàžµà¹àžªàž²àž¡àž²àž£àžàžàž³àž«àžàžàžà¹àž²à¹àžà¹ àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžàžµà¹àžªàž³àžàž±àžàž£àž§àž¡àžàž¶àž"metadata" àžàž¶à¹àžàž£àž°àžàžžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž°à¹àžà¹à¹àž¢àžàžàž£àž°à¹àž àžà¹àž­àžàžªàž²àž£àžàž±à¹àž à¹àž¥àž° "buttonname" àžàž¶à¹àžà¹àžà¹àžàžàž·à¹àž­àžàžµà¹àžàž°àžàž£àž²àžàžà¹àžà¹àžàžàžàž³àžàž²àž</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàž­àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàž²àžàž£àž²àž¢àžàž²àž£ à¹àž¥àž°àžàž¥àžŽàž "à¹àž­àž²àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàž­àž­àž"</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàž¥àžµà¹àž¢àžàž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžªàž³àž«àž£àž±àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž à¹àž«à¹à¹àž¥àž·àž­àžàž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžàž²àžàž£àž²àž¢àžàž²àž£ à¹àž¥àž°àžàž¥àžŽàž "àžàž³àž«àžàžàžà¹àž²àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž" (àž«àž£àž·àž­àžàž¥àžŽàžàžªàž­àžàžàž£àž±à¹àžàžàžµà¹àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžà¹àžàž£àž²àž¢àžàž²àž£)</p>
+
+<p>àžàž²àž£à¹àž£àžµàž¢àžàž¥àž³àžàž±àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžà¹àžà¹àžàžàžàž³àžàž²àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž°àžªàž°àžà¹àž­àžàžàž¶àžàž¥àž³àžàž±àžàžàž­àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàžµà¹àžàžµà¹àžà¹àž§àž¢ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàž¥àžµà¹àž¢àžàž¥àž³àžàž±àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£àž¢à¹àž²àž¢ à¹àž¥àž°àžàž¥àžŽàž "à¹àž¥àž·à¹àž­àžàžàž¶à¹àž  " àž«àž£àž·àž­ "à¹àž¥àž·à¹àž­àžàž¥àž  "</p>
+
+<p>àžªàž³àž«àž£àž±àžàžà¹àž­àž¡àž¹àž¥à¹àžàžŽà¹àž¡à¹àžàžŽàž¡à¹àžàžµà¹àž¢àž§àžàž±àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž àžàž£àžžàžàž²àž­à¹àž²àžàžàžàžàžµà¹ 2 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž -- àžàž²àž£à¹àžàž¢à¹àžàž£à¹àžà¹àž­àž¡àž¹àž¥àžàž²àžà¹àž­àžàžªàž²àž£àžàž­àžàžàžžàž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/collectingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/th/collectingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/collectingfiles.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="collectingfiles"><font size="5" face="Verdana"><strong>4: àžàž²àž£àž£àž§àžàž£àž§àž¡à¹àžà¹àž¡àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžàž±àžàžàžµàžàžµà¹àžàžžàžàž¡àžµàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹ àžàžžàžàžàž³à¹àžà¹àžàžà¹àž­àžà¹àžªà¹à¹àžà¹àž¡àžàž²àžà¹àžà¹àž¡à¹àžªà¹àž¥àžà¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àž à¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàžµà¹àž­àž²àžàž¡àž²àžàž²àžàžàž·à¹àžàžàžµà¹à¹àžà¹àž¡àžàžàžàžŽ àžàž²àžà¹àžà¹àž¡àžàžµà¹à¹àžà¹àžàž²àž§àžà¹à¹àž«àž¥àžà¹àž§à¹àžà¹àž­àžàž«àžà¹àž²àžàžµà¹ àž«àž£àž·àž­àžàž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž£àžµàžàžªà¹àžàžàž­àž·à¹àžà¹ à¹àžàž¢àžàž²àžà¹àžà¹àž¡àž­àž²àžàžàž°àž¡àžµà¹àž¡àžàž²àžàž²àžàž²à¹àžàžàž¡àž²àžà¹àž§àž¢à¹àž¥à¹àž§ àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž²àž£àžàž³à¹àžà¹àž²à¹àžà¹àž¡àžà¹àž²àžà¹</p>
+
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/collectionspecificmacros.htm
===================================================================
--- main/tags/2.83/gli/help/th/collectionspecificmacros.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/collectionspecificmacros.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="collectionspecificmacros"><font size="5" face="Verdana"><strong>8.7: à¹àž¡à¹àžàž£à¹àžàžàž²àž°àžàž­àž¥à¹àž¥àžàžàž±àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž£àž¹àžà¹àžàž" à¹àž«à¹àžàž¥àžŽàžàžàžµà¹ "à¹àž¡à¹àžàž£à¹àžàžàž²àž°àžàž­àž¥à¹àž¥àžàžàž±àž"</p>
+
+<p>àž¡àžžàž¡àž¡àž­àžàžàžµà¹àžàž°à¹àžªàžàžà¹àžàž·à¹àž­àž«àž²à¹àžà¹àž¡à¹àž¡à¹àžàž£ extra.dm àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž àžàž¶à¹àžà¹àžà¹àžàžàžµà¹àžàžŽàž¢àž²àž¡à¹àž¡à¹àžàž£àžàžµà¹à¹àžà¹à¹àžàžàž²àž°à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž£àžµàž¢àžàž£àž¹à¹à¹àžàžŽà¹àž¡à¹àžàžŽàž¡à¹àžàžµà¹àž¢àž§àžàž±àžà¹àž¡à¹àžàž£ àžàž£àžžàžàž²àžàž¹àžàžàžàžµà¹ 3 à¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/creatingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/th/creatingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/creatingacollection.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingacollection"><font size="5" face="Verdana"><strong>2.1: àžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹ à¹àž«à¹à¹àžàžŽàžà¹àž¡àžàž¹ "à¹àžà¹àž¡" à¹àž¥àž°à¹àž¥àž·àž­àž "àžªàž£à¹àž²àžà¹àž«àž¡à¹" àžàžžàžàžàž³à¹àžà¹àžàžà¹àž­àžà¹àžªà¹àžà¹àž­àž¡àž¹àž¥à¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž²àžà¹ -- à¹àžà¹àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžà¹àž²à¹àž«àž¥à¹àž²àžàž±à¹àžà¹àžàž¡àžžàž¡àž¡àž­àž "àž£àž¹àžà¹àžàž" à¹àžà¹à¹àžàž àž²àž¢àž«àž¥àž±àžàžà¹àž²àžàžžàžàžà¹àž­àžàžàž²àž£</p>
+
+<p>"àžàž·à¹àž­àžàž­àž¥à¹àž¥àžàžàž±àž" à¹àžà¹àžàžà¹àž­àžàž§àž²àž¡àžàžµà¹à¹àžªàžàžàž­àž¢àž¹à¹àžàž£àžŽà¹àž§àžàžªà¹àž§àžàžàžàžªàžžàžàžàž­àžàž«àžà¹àž²à¹àž£àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž àžàž¶à¹àžàžàž°àž¡àžµàžàž§àž²àž¡àž¢àž²àž§à¹àžà¹àž²à¹àžàžà¹à¹àžà¹</p>
+
+<p>"àžàž³àž­àžàžŽàžàž²àž¢à¹àžàž·à¹àž­àž«àž²" àžàž§àž£àž­àžàžŽàžàž²àž¢à¹àžàž·à¹àž­àž«àž²à¹àžàžµà¹àž¢àž§àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àžàž­àž¢à¹àž²àžàž¥àž°à¹àž­àžµàž¢àžà¹àžà¹àž²àžàžµà¹àžàž°à¹àžà¹àžà¹àžà¹àžà¹ à¹àž«à¹à¹àžà¹à¹àžà¹àž [Enter] à¹àžàž·à¹àž­à¹àžà¹àžà¹àžàž·à¹àž­àž«àž²à¹àžà¹àžàž¢à¹àž­àž«àžà¹àž²</p>
+
+<p>àžà¹àž²àž¢àžªàžžàžàžàžµà¹ àžàžžàžàžàž°àžà¹àž­àžàž£àž°àžàžžàž§à¹àž² àžà¹àž­àžàžàž²àž£à¹àž«à¹àžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹àžàž°àž¡àžµàž£àž¹àžàž£à¹àž²àžàž¥àž±àžàž©àžàž°à¹àž¥àž°àžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡àž·àž­àžàžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹àž«àž£àž·àž­à¹àž¡à¹ àž«àž£àž·àž­ àžà¹àž­àžàžàž²àž£à¹àž£àžŽà¹àž¡ "àžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹" àžàž²àž¡àžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž àžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžªàž£à¹àž²àžà¹àž«àž¡à¹àžàž²àž¡àžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àžàžàž°àž¡àžµàžàž²àž£àžàž³àž«àžàžàžà¹àž²àž¡àž²àžàž£àžàž²àž à¹àž¥àž°à¹àžà¹àžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžàž£àž¹àžà¹àžàžàžàž­àžàžàž±àžàž¥àžŽàžàžàž­àž£à¹ à¹àžàž¢àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžà¹àž²à¹àž«àž¥à¹àž²àžàžµà¹à¹àžà¹à¹àžàž àž²àž¢àž«àž¥àž±àž</p>
+
+<p>àžàž¥àžŽàž "àžàžàž¥àž" à¹àžàž·à¹àž­àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž</p>
+
+<p>àžàž²àž£àžàž¥àžŽàž "àž¢àžà¹àž¥àžŽàž" àžàž°àžàž²àžàžžàžàžàž¥àž±àžà¹àžàž¢àž±àžàž«àžà¹àž²àžàž­àž«àž¥àž±àžàžàž±àžàžàžµ</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/creatingfolders.htm
===================================================================
--- main/tags/2.83/gli/help/th/creatingfolders.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/creatingfolders.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingfolders"><font size="5" face="Verdana"><strong>4.3: àžàž²àž£àžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>à¹àž«à¹à¹àžà¹à¹àžàž¥à¹àžàž­àž£à¹à¹àžà¹àžàžàžàž±àžà¹àžà¹àž¡àž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž·à¹àž­àžàž±àžàžàž¥àžžà¹àž¡à¹àžà¹àž¡à¹àžà¹àž²àžà¹àž§àž¢àžàž±àž à¹àž¥àž°àžàž³à¹àž«à¹àžà¹àž²àž¢àžà¹àž­àžàž²àž£àžà¹àžàž«àž²à¹àžà¹àž¡ àžàžžàžàžªàž²àž¡àž²àž£àžàž§àž²àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž§à¹àž àž²àž¢à¹àžà¹àžàž¥à¹àžàž­àž£à¹àž«àž¥àž±àžà¹àžà¹ àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹àžàžàžµà¹àžàž³à¹àž«à¹àžàž¹à¹àžªàž¡àž·àž­àžàž§à¹àž²à¹àž¡à¹àž¡àžµàžà¹àž­àžàž³àžàž±àžàžªàž³àž«àž£àž±àžàžàž³àžàž§àžà¹àžàž¥à¹àžàž­àž£à¹ àž«àž£àž·àž­àž£àž°àžàž±àžàžàž­àžàžàž²àž£àžà¹àž­àžàžàž±àžàžàž­àžà¹àžàž¥à¹àžàž­àž£à¹</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹ à¹àž«à¹àžàž¥àžŽàžàžàž§àž²àžàžµà¹ "àžàž²àžàž«àžà¹àž²àžà¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž" (àž«àž£àž·àž­àžàž¥àžŽàžàžàž§àž²àžàžµà¹à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§à¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž·à¹àž­à¹àžàž£àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹à¹àžà¹àž²à¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž) à¹àž¥àž°àžàž¥àžŽàžàžàž±àž§à¹àž¥àž·àž­àž "àžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹" à¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹àžàž°àžàž£àž²àžàžàžàž¶à¹àžàž àž²àž¢à¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹à¹àžà¹à¹àž¥àž·àž­àžà¹àž§à¹ àž«àž£àž·àž­àžàžµà¹àž£àž°àžàž±àžàžàžàžªàžžàžàžà¹àž²à¹àž¡à¹à¹àžà¹à¹àž¥àž·àž­àžà¹àžàž¥à¹àžàž­àž£à¹àž«àž¥àž±àžà¹àž§à¹ àžàž²àžàžàž±à¹àžàž£àž°àžàžàžàž°àžàž­à¹àž«à¹àžàžžàžà¹àžªà¹àžàž·à¹àž­àžàž­àžà¹àžàž¥à¹àžàž­àž£à¹ (àžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àžà¹àžà¹àžàžàž·à¹àž­àž§à¹àž² "à¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹")</p>
+
+<p>àžàžžàžàž¢àž±àžàžªàž²àž¡àž²àž£àžàžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹à¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžàžàž§àž²àžàžµà¹à¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž àž«àž£àž·àž­à¹àž«àžàž·àž­à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àž¡àžµàž­àž¢àž¹à¹ à¹àž¥àž·àž­àž "à¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹" à¹àž¥àž°àžàž³à¹àžàžŽàžàžàž²àž£àžàž²àž¡àžàž±à¹àžàžàž­àžàžà¹àž²àžàžàž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/creatingshortcuts.htm
===================================================================
--- main/tags/2.83/gli/help/th/creatingshortcuts.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/creatingshortcuts.htm	(revision 21123)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingshortcuts"><font size="5" face="Verdana"><strong>4.2: àžàž²àž£àžªàž£à¹àž²àžàžàž²àžàž¥àž±àžà¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž·à¹àžàžàžµà¹àžàž³àžàž²àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹à¹àžà¹àžàž­àž -- à¹àžà¹àž à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àžàž£àž£àžàžžàž«àžà¹àž²à¹àž§à¹àžàžàž­àžàžàžžàžà¹àž­àž -- àžàž¶à¹àžàžàž²àžàžàž£àž±à¹àžàžà¹àž¡àžµàžàž§àž²àž¡àžªàž³àžàž±àžà¹àžà¹àžàžàžŽà¹àžšàž© àžà¹àž²àžàžžàžàžà¹àž­àžàžàž²àž£ àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžªàž²àž¡àž²àž£àžà¹àž¡àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¥à¹àž²àžàž±à¹àžà¹àž§à¹àžàžµà¹àž£àž°àžàž±àžàžàžàžªàžžàžàžàž­àžà¹àžàžàžàž±àžà¹àžà¹àž¡à¹àžà¹ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£àžàžµà¹ à¹àž«à¹àžàž¥àžŽàžàžàž§àž²àžàžµà¹à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àžà¹àž­àžàžàž²àž£ à¹àž¥àž·àž­àž "àžªàž£à¹àž²àžàžàž²àžàž¥àž±àž" à¹àž¥àž°à¹àžªà¹àžàž·à¹àž­àžªàž³àž«àž£àž±àžà¹àžàž¥à¹àžàž­àž£à¹àžàž±à¹àž  à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àž£àž²àž¢àžàž²àž£àž­àž­àž à¹àž«à¹àžàž¥àžŽàžàžàž§àž²àžàžµà¹à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹à¹àž¡àžà¹àž§à¹ à¹àž¥àž°à¹àž¥àž·àž­àž "à¹àž­àž²àžàž²àžàž¥àž±àžàž­àž­àž"</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/definefilters.htm
===================================================================
--- main/tags/2.83/gli/help/th/definefilters.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/definefilters.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="definefilters"><font size="5" face="Verdana"><strong>6.4.1: àžàžŽàž¢àž²àž¡àžàž±àž§àžàž£àž­àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹àžàž±àž§àžàž£àž­àžàžàž±àžàžàž¥àžžà¹àž¡à¹àž­àžàžªàž²àž£àžàž±à¹àžàž«àž¡àžà¹àžàžàž±àžàžàžµàžàž¶à¹àžàžà¹àž²àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàž£àžàžàž²àž¡à¹àžàžà¹àžàžàžàžµà¹à¹àžà¹àžàž³àž«àžàžà¹àžà¹àž²àžà¹àž§àž¢àžàž±àžàž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢à¹àžà¹</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžªàž£à¹àž²àžàžàž±àž§àžàž£àž­àž à¹àž«à¹àžàž¥àžŽàžà¹àžà¹àž "àžàžŽàž¢àž²àž¡àžàž±àž§àžàž£àž­àž" à¹àž¥àž°à¹àžªà¹àžàž·à¹àž­àžªàž³àž«àž£àž±àžàžàž±àž§àžàž£àž­àžà¹àž«àž¡à¹àž¥àžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥ "àžàž·à¹àž­àžàž±àž§àžàž£àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢"  àžàž±àžà¹àžà¹àž«à¹à¹àž¥àž·àž­àžàžàžžàžàž¥àž±àžàž©àžàž°àžàž­àžà¹àž­àžàžªàž²àž£àžàžµà¹àžà¹àž­àžàžàž²àž£àžàž³à¹àž«à¹àžàž£àžàžàž±àž àžàž¶à¹àžàžªàž²àž¡àž²àž£àžà¹àžà¹àžà¹àžà¹àžàž±à¹àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àž«àž£àž·àž­àžàž·à¹àž­àžàž­àžà¹àžà¹àž¡à¹àžàžàž³àžàž²àž¡ àžàž²àžàžàž±à¹àžàžà¹àž­àžàžàžŽàžàžàžà¹àžàžàžàžŽàžàžµà¹àžàž°à¹àžà¹àž£àž°àž«àž§à¹àž²àžàžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£àžàž£àž§àžàžªàž­àžàžàž§àž²àž¡àžàž£àžàžàž±àž àžàžžàžàžªàž²àž¡àž²àž£àžàžªàž¥àž±àžà¹àžàž¡àž²àž£àž°àž«àž§à¹àž²àž "àž£àž§àž¡" à¹àž­àžàžªàž²àž£àžàžµà¹àžàž£àžàžàž±àžàžàž±àž§àžàž£àž­àž àž«àž£àž·àž­ "à¹àž¡à¹àž£àž§àž¡" à¹àž­àžàžªàž²àž£àžà¹à¹àžà¹ àžàž­àžàžàž²àžàžàžµà¹àžàžžàžàžªàž²àž¡àž²àž£àžàž£àž°àžàžžàžªàžàž²àžàž°àžàžŽàžàžàžà¹àžàžàžàžŽ PERL àž¡àž²àžàž£àžàž²àžà¹àžà¹ àžà¹à¹àžà¹à¹àžàž·à¹àž­à¹àžà¹à¹àž¡àž·à¹àž­àžàž³à¹àžàžŽàžàžàž²àž£àžàž£àž§àžàžªàž­àžàžàž§àž²àž¡àžàž£àžàžàž±àž (à¹àžà¹àž "i" àžªàž³àž«àž£àž±àžàžàž²àž£àžàž£àž§àžàžªàž­àžàžàž§àž²àž¡àžàž£àžàžàž±àžà¹àžàžà¹àž¡à¹à¹àž¢àžà¹àž¢àž°àžàž±àž§àžàžŽàž¡àžà¹à¹àž«àžà¹-à¹àž¥à¹àž)  à¹àž¥àž°àžªàžžàžàžà¹àž²àž¢ à¹àž«à¹àžàž¥àžŽàž "à¹àžàžŽà¹àž¡àžàž±àž§àžàž£àž­àž" à¹àžàž·à¹àž­à¹àžàžŽà¹àž¡àžàž±àž§àžàž£àž­àžà¹àžàž¢àž±àžàž£àž²àž¢àžàž²àž£ "àžàž±àž§àžàž£àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢àžàžµà¹àžàž³àž«àžàž"</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àžàž±àž§àžàž£àž­àžàž­àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž±àž§àžàž£àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£ à¹àž¥àž°àžàž¥àžŽàž "à¹àž­àž²àžàž±àž§àžàž£àž­àžàž­àž­àž"</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžàžàž±àž§àžàž£àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž±àž§àžàž£àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£ àžàž²àžàžàž±à¹àžà¹àžàž¥àžµà¹àž¢àžàžà¹àž²à¹àžàžà¹à¹àžà¹àžàžµà¹àžàž£àž²àžàžà¹àžàžàž±àž§àžàž§àžàžàžžàž¡àžàž²àž£à¹àžà¹à¹àž à¹àž¥àž°àžàž¥àžŽàž "à¹àžàžàžàžµà¹àžàž±àž§àžàž£àž­àž" à¹àžàž·à¹àž­àž¢àž·àžàž¢àž±àžàžàž²àž£à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžà¹àž²</p>
+
+<p>àžàž²àž£àžàžŽàž¢àž²àž¡àžàž±àž§àžàž£àž­àžàžàž°à¹àž¡à¹à¹àžà¹àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢ àžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢àžàž°àžàž¹àžàž£àž°àžàžžà¹àž§à¹à¹àž "àžàž³àž«àžàžàžàž²àž£à¹àžàžŽàžàž±àž  " àžàž¶à¹àžàž­àž¢àž¹à¹àžàž±àžàžàž±àž§àžàž£àž­àžàžàžµà¹àžàžžàžà¹àžàžŽà¹àžàžàžŽàž¢àž²àž¡à¹àž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/deletingcollections.htm
===================================================================
--- main/tags/2.83/gli/help/th/deletingcollections.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/deletingcollections.htm	(revision 21123)
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="deletingcollections"><font size="5" face="Verdana"><strong>2.4: àžàž²àž£àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àžàž­àž­àžàžàž²àžàžàž²àž£àžàžŽàžàžàž±à¹àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàž­àžàžàžžàžàž­àž¢à¹àž²àžàžàž²àž§àž£ à¹àž«à¹à¹àž¥àž·àž­àž "àž¥àž&hellip;" àžàž²àžà¹àž¡àžàž¹ "à¹àžà¹àž¡" àž£àž²àž¢àžàž²àž£àžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàžàžàž°àžàž£àž²àžàžàžàž¶à¹àž  à¹àž«à¹à¹àž¥àž·àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž·à¹àž­àžàž¹àžàž³àž­àžàžŽàžàž²àž¢ à¹àž¥à¹àž§àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àž«àžà¹àž²àžàž¥à¹àž­àžàžàžµà¹àž­àž¢àž¹à¹àžà¹àž²àžàž¥à¹àž²àžàžªàžžàžàžàž­àžàžàž¥à¹àž­àžà¹àžà¹àžàž­àž àžàž²àžàžàž±à¹àžàžàž¥àžŽàžàžàžµà¹ "àž¥àž&hellip;" àžàž²àž£àžàž£àž°àžàž³àžàžµà¹à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¢à¹àž­àžàžàž¥àž±àžà¹àžà¹ àžàž±àžàžàž±à¹àžàžàž­à¹àž«à¹àž£àž°àž¡àž±àžàž£àž°àž§àž±àžà¹àžàžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£àžà¹àž§àž¢</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/depositormetadatasettings.htm
===================================================================
--- main/tags/2.83/gli/help/th/depositormetadatasettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/depositormetadatasettings.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="depositormetadatasettings"><font size="5" face="Verdana"><strong>8.8: Depositor Metadata</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Depositor àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžà¹àž§àž¢à¹àž«à¹àžàž¹à¹à¹àžà¹àžªàž²àž¡àž²àž£àžà¹àžàžŽà¹àž¡à¹àž­àžàžªàž²àž£à¹àž«àž¡à¹à¹àžà¹àž²à¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§àžà¹àž²àžàž«àžà¹àž²à¹àž§à¹àžà¹àžà¹ àžªà¹àž§àžàžàžµà¹àžàž°à¹àžªàžàžàž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžàžàž­àžàžàž²àžàž«àžà¹àž²àžà¹àž²àž Depositor Metadata àžàžµà¹àžàž¶à¹àžàžàžžàžàžªàž²àž¡àž²àž£àžàž£àž°àžàžžà¹àžàžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž§àž£àžàž°à¹àžà¹à¹àžàžàž²àž£àžàž£àž£àž¢àž²àž¢à¹àž­àžàžªàž²àž£à¹àž«àž¡à¹àžàž­àžàžàžžàžàžàžµà¹à¹àžàžŽà¹àž¡à¹àžà¹àž²àž¡àž²à¹àžàž£àž°àžàžàžà¹àž§àž¢ Depositor à¹àžà¹ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžà¹àžà¹àžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžà¹ àžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àžàžàž±àžàžàžžàžàž±àžà¹àžà¹ àž«àž²àžà¹àž¡à¹àž¡àžµà¹àž¡àžàž²àžàž²àžàž²àžàžžàžàž­àž·à¹àžàžàž­àžàžàž²àž "àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžà¹àžàž²àžàžàž²àž£àžàž±àžàžàž­àžàžàž­àžàžàž£àžµàžàžªà¹àžàž" àžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹ àž£àž°àžàžàžàž°àžàž³àž«àžàžà¹àžà¹ "àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž­àžàžàž±àžàž¥àžŽàžàžàž­àž£à¹" à¹àžà¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžšàž¶àžàž©àž²àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžà¹àžàžŽà¹àž¡à¹àžàžŽàž¡à¹àžàžµà¹àž¢àž§àžàž±àž Depositor à¹àž«à¹àžàž¹à¹àžàžàžàž¶àžàž«àž±àžàžªàž­àžàžàž²àž£à¹àžà¹àžàž²àžà¹àžàžàž­àž­àžà¹àž¥àžà¹à¹àžà¹àžàžµà¹ http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/depositor.htm à¹àžàž¢àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž£àž¹àžà¹àžàž" à¹àž«à¹àžàž¥àžŽàž "Depositor Metadata"</p>
+
+<p>àžàž²àžàž«àžà¹àž²àžà¹àž²àž Depositor Metadata àžàž°à¹àžªàžàžàž£àž²àž¢àžàž²àž£àžàž£àž§àžàžªàž­àžàžàž­àžà¹àžàžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹ àž«àž²àžàž¡àžµàžàž³àžàž§àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àž¡àž²àžàžàž§à¹àž²àž«àžàž¶à¹àžàžàžžàžàžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àž àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžàž¥à¹à¹àžàžµàž¢àžàžàž±àžàžàž°à¹àžªàžàžàžàž¶à¹àžàžà¹àž§àž¢àžªàžµàžàžµà¹àžà¹àž²àžàžàž±àž àž«àž²àžàžàžžàžà¹àžàž¥àž·à¹àž­àžà¹àž¡àž²àžªà¹à¹àž«àžàž·àž­àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àžàž­àžà¹àž¡àžàž²àžàž²àžàž² à¹àžàž¥à¹àžàž¥àž±àžà¹àžàž£àž·à¹àž­àžàž¡àž·àž­àžàž°àžàž£àž²àžàžàžàž¶à¹àžàžàž£à¹àž­àž¡àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžàžàž­àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àžàž±à¹àž </p>
+
+<p>àžàž£àž§àžàžªàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£à¹àžà¹à¹àžàžàž²àž£àžàž£àž£àž¢àž²àž¢à¹àž­àžàžªàž²àž£à¹àž«àž¡à¹à¹àž¡àž·à¹àž­àžàžžàžàžàž³à¹àžà¹àž²à¹àž­àžàžªàž²àž£à¹àž«àž¡à¹àžà¹àž§àž¢ Depositor àž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àžàžàž£à¹àž­àž¡àžàž±àž§à¹àž¥àž·àž­àžàžªàž­àžàžàž±àž§àžàž°àžàž£àž²àžàžàžàž¶à¹àžàžàž²àžàžàž§àž²àž¡àž·àž­àž«àž¥àž±àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àžàžµà¹à¹àžà¹àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àž§à¹ àžàž¶à¹àžàžàž°àžà¹àž§àž¢à¹àž«à¹àžàžžàžàžªàž²àž¡àž²àž£àžàž£àž°àžàžžàžàžàžŽàžàžàž­àžàžàž¥à¹àž­àžàžàž³à¹àžà¹àž²àžà¹àž­àž¡àž¹àž¥àžªàž³àž«àž£àž±àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢à¹àžàž«àžà¹àž²à¹àž§à¹àžà¹àžà¹ àžàž²àž£àž£àž°àžàžžàžàžàžŽàžà¹àžà¹àž "text" àž«àž¡àž²àž¢àžàž§àž²àž¡àž§à¹àž² àž£àž°àžàžàžàž°à¹àžªàžàžàžàž¥à¹àž­àžàžàž³à¹àžà¹àž²àžà¹àž­àž¡àž¹àž¥à¹àžàžàž«àžàž¶à¹àžàžàž£àž£àžàž±àž à¹àžàžàžàž°àžàžµà¹ "textarea" àž«àž¡àž²àž¢àžàž§àž²àž¡àž§à¹àž² àž£àž°àžàžàžàž°à¹àžªàžàžàžàž¥à¹àž­àžàžàž³à¹àžà¹àž²àžà¹àž­àž¡àž¹àž¥à¹àžàžàž«àž¥àž²àž¢àžàž£àž£àžàž±àž àžàž£àžžàžàž²à¹àž¥àž·àž­àžàžàžàžŽàžàžàž­àžàžàž¥à¹àž­àžàžàž³à¹àžà¹àž²àžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡àžàž±àžà¹àžà¹àž¥àž°à¹àžàžàžà¹àž­àž¡àž¹àž¥</p>
+
+<p>àžàžžàžàžàž°àžà¹àž­àžà¹àž¥àž·àž­àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àž­àž¢à¹àž²àžàžà¹àž­àž¢àž«àžàž¶à¹àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥ àž«àž²àžàž¡àžµàžàž²àž£à¹àž¥àž·àž­àžà¹àžàžµàž¢àžàž«àžàž¶à¹àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢à¹àžàž£àž²àž¢àžàž²àž£ àž£àž°àžàžàžàž°à¹àžªàžàžàžà¹àž­àžàž§àž²àž¡à¹àžàž·àž­àžà¹àžàžàžà¹àž­àžàž­àž±àž: "àžàžžàžàžàž°àžà¹àž­àžà¹àž¥àž·àž­àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢à¹àž¡àžàž²àžàž²àžàž²àž­àž¢à¹àž²àžàžà¹àž­àž¢àž«àžàž¶à¹àžàž£àž²àž¢àžàž²àž£  " à¹àž¡àž·à¹àž­àžàžžàžà¹àž­àž²àžàž±àž§à¹àž¥àž·àž­àžàž­àž­àž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/designingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/th/designingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/designingacollection.htm	(revision 21123)
@@ -0,0 +1,22 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="designingacollection"><font size="5" face="Verdana"><strong>6: àžàž²àž£àžàž³àž«àžàžàžà¹àž²àžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžàž±àžàžàžµàžàžµà¹à¹àžà¹àž¡àžàž­àžàžàžžàžàžàž¹àžàžàž£àž±àžà¹àžà¹àžàžà¹àž§àž¢à¹àž¡àžàž²àžàž²àžàž² àž¥àž³àžàž±àžàžà¹àž­à¹àžàžàžžàžàžàž°àžà¹àž­àžàžàž³àžàž¶àžàžàž¶àžàž§àžŽàžàžµà¹àžà¹àž²àžàž¶àžà¹àž­àžàžªàž²àž£àžàž­àžàžàž¹à¹à¹àžà¹àžàž¥àž²àž¢àžàž²àž àžà¹àž­àž¡àž¹àž¥àžàžàžŽàžà¹àžàžà¹àž²àžàžàžµà¹àžªàž²àž¡àž²àž£àžàžà¹àžàž«àž²à¹àžà¹ àž¡àžµàž§àžŽàžàžµà¹àžàžà¹àž²àžàžàžµà¹àžàž°à¹àžà¹à¹àž£àžµàž¢àžàžàž¹à¹àž­àžàžªàž²àž£à¹àž«àž¥à¹àž²àžàž±à¹àž àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³àž«àžàžàžàžžàžàž¥àž±àžàž©àžàž°à¹àž«àž¥à¹àž²àžàžµà¹à¹àžà¹àžà¹àž§àž¢àžàžà¹àž­àžà¹àžàž¢à¹àžàžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž²àž£àžàž±àžàžàž¥à¹àž²àž§</p>
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/downloadingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/th/downloadingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/downloadingfiles.htm	(revision 21123)
@@ -0,0 +1,18 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="downloadingfiles"><font size="5" face="Verdana"><strong>3: àžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžà¹àžà¹àž¡àžàž²àžàž­àžŽàžà¹àžàž­àž£à¹à¹àžà¹àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àž¡àžžàž¡àž¡àž­àž "àžàž²àž§àžà¹à¹àž«àž¥àž  " àžàž°àžà¹àž§àž¢à¹àž«à¹àžªàž²àž¡àž²àž£àžàžàžžàžàžàž²àž§àžà¹à¹àž«àž¥àžàžàž£àž±àžàž¢àž²àžàž£àžàž²àžàž­àžŽàžà¹àžàž­àž£à¹à¹àžà¹àžà¹àžà¹  àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàžàž£àž°àžàž§àžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžàžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹</p>
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/enrichingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/th/enrichingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/enrichingacollection.htm	(revision 21123)
@@ -0,0 +1,24 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="enrichingacollection"><font size="5" face="Verdana"><strong>5: àžàž£àž±àžà¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàžà¹àž«à¹àž¡àžµàžà¹àž²àžà¹àž§àž¢à¹àž¡àžàž²àžàž²àžàž²</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àž«àž¥àž±àžàžàž²àžàžàžµà¹à¹àžà¹àž£àž§àžàž£àž§àž¡à¹àžà¹àž¡àžà¹àž²àžà¹ àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž¥à¹àž§ àžàž­àžàžàžµà¹à¹àž«à¹àžàžžàžàžàž³àžàž²àž£à¹àžàžŽà¹àž¡àžàžžàžàžà¹àž²à¹àžà¹àž¡àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥à¹àžàžŽà¹àž¡à¹àžàžŽàž¡àžàžµà¹à¹àž£àžµàž¢àžàž§à¹àž² "à¹àž¡àžàž²àžàž²àžàž²" àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž²àž£àžªàž£à¹àž²àž à¹àžà¹à¹àž àžàž³àž«àžàž à¹àž¥àž°àžà¹àžàžàž·àžà¹àž¡àžàž²àžàž²àžàž² àž£àž§àž¡àžàž¶àžàž§àžŽàžàžµàžàž²àž£à¹àžà¹à¹àž«àž¥à¹àžà¹àž¡àžàž²àžàž²àžàž²àž àž²àž¢àžàž­àž (àžàž¹à¹àžàžŽà¹àž¡à¹àžàžŽàž¡àžàžµà¹ àžàžàžàžµà¹ 2 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž -- àžàž²àž£à¹àžàž¢à¹àžàž£à¹àžà¹àž­àž¡àž¹àž¥àžàž²àžà¹àž­àžàžªàž²àž£àžàž­àžàžàžžàž)</p>
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/expertbuilding.htm
===================================================================
--- main/tags/2.83/gli/help/th/expertbuilding.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/expertbuilding.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="expertbuilding"><font size="5" face="Verdana"><strong>7.3: àž¡àžžàž¡àž¡àž­àžàžàž²àž£àžªàž£à¹àž²àžà¹àžà¹àž«àž¡àžàžàž¹à¹àžàž³àžàž²àžàžàž²àž£</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>à¹àžà¹àž«àž¡àžàžàž¹à¹àžàž³àžàž²àžàžàž²àž£ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹àž£àž²àž¢àžàž²àž£ "à¹àžà¹àž¡àžàž±àžàžàž¶àžàžà¹àž­àžàž§àž²àž¡" àžàžµà¹àž­àž¢àž¹à¹àžàž²àžàžà¹àž²àž¢à¹àžàž·à¹àž­àžàž£àž§àžàžàž²àžàžàž§àž²àž¡àžàž¢àž²àž¢àž²àž¡à¹àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžà¹àž­àžàž«àžà¹àž²àžàžµà¹àž§à¹àž²àžªàž²àž¡àž²àž£àžàžªàž£à¹àž²àžà¹àžà¹àžªàž³à¹àž£à¹àžàž«àž£àž·àž­à¹àž¡à¹ à¹àž«à¹à¹àž¥àž·àž­àžà¹àžà¹àž¡àžàž±àžàžàž¶àžàžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£à¹àžàž¢àžàž¥àžŽàžàž§àž±àžàžàžµà¹àžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£à¹àžàž£àž²àž¢àžàž²àž£ "àžàž£àž°àž§àž±àžàžŽà¹àžà¹àž¡àžàž±àžàžàž¶àž"</p>
+
+<p>à¹àžà¹àž«àž¡àžàžàžµà¹ àž£àž²àž¢àžàž²àž£àžàž±àž§à¹àž¥àž·àž­àžàžàž²àž£àžàž³à¹àžà¹àž²à¹àž¥àž°àžàž±àž§à¹àž¥àž·àž­àžàžàž²àž£àžªàž£à¹àž²àžàžàž±à¹àžàž«àž¡àžàžàž°à¹àžªàžàžà¹àž§à¹à¹àžà¹àžà¹àž "àžàž²àž£àžàž³à¹àžà¹àž²" à¹àž¥àž°à¹àžà¹àž "àžàž²àž£àžªàž£à¹àž²àž" àžàž²àžàžà¹àž²àž¢àž¡àž·àž­ àžàž²àž£àžàž±à¹àžàžà¹àž²àžà¹àž²àžà¹ àžàž°àžàž¹àžàžàž§àžàžàžžàž¡à¹àžàž£àž¹àžà¹àžàžà¹àžàžµàž¢àž§àžàž±àžàž«àžà¹àž²àžà¹àž²àž "àžàž²àž£àžàž³àž«àžàžàžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹" àžàž¶à¹àžà¹àžà¹àž¡àžµàžàž²àž£àž­àžàžŽàžàž²àž¢à¹àž§à¹à¹àžàžªà¹àž§àž <a href="plugins.htm">àžàž¥àž±à¹àžàž­àžŽàžàžàž­àžà¹àž­àžàžªàž²àž£</a> à¹àž¥à¹àž§ à¹àžàžàžà¹àž­àž¡àž¹àž¥àžàž²àžàžàž±àž§àžà¹àž­àžàžàž²àž£àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹à¹àžàžŽàžàžàž±àž§à¹àž¥àž à¹àž¥àž°àžàžžàžàžªàž²àž¡àž²àž£àžàžàžŽàž¡àžà¹àžà¹àž²à¹àž«àž¥à¹àž²àžàžµà¹àž¥àžà¹àžà¹àž­àž àž«àž£àž·àž­à¹àžà¹à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àž¥àž¹àžàžšàž£à¹àžàž·à¹àž­à¹àžàžŽà¹àž¡àž«àž£àž·àž­àž¥àžàžà¹àž²àžàž±àžàžàžžàžàž±àžà¹àžà¹ (à¹àžàžàž²àžàžàž£àžàžµ àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžàž°àžàž³àžàž±àžàžà¹àž§àžàžàž­àžàžà¹àž²àžàžµà¹àžàžžàžàžàž°à¹àžªà¹) àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàžŽàžà¹àžà¹àžàž²àžàžàž±àž§à¹àž¥àž·àž­àžàž­àž·à¹àžà¹à¹àžà¹à¹àžàž¢àžàž²àž£àžàž¥àžŽàžàžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàžµà¹àžà¹àž­àžàžàž²àž£ (àžàž¥àžŽàžàž­àžµàžàžàž£àž±à¹àžà¹àžàž·à¹àž­àžàžŽàžà¹àžà¹àžàž²àž)</p>
+
+<p>àžªàž³àž«àž£àž±àžàžà¹àž­àž¡àž¹àž¥à¹àžàžŽà¹àž¡à¹àžàžŽàž¡à¹àžàžµà¹àž¢àž§àžàž±àžàžàž²àž£àžàž³à¹àžà¹àž²à¹àž¥àž°àžàž²àž£àžªàž£à¹àž²àž àžàž£àžžàžàž²àž­à¹àž²àžàžàžàžàžµà¹ 1 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž -- àžàž²àž£àžàž³àžàž§àž²àž¡à¹àžà¹àž²à¹àžà¹àž£àž·à¹àž­àžàžàž£àž°àžàž§àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/explodingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/th/explodingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/explodingfiles.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="explodingfiles"><font size="5" face="Verdana"><strong>4.7: "àžàž²àž£àžàž£àž°àžàž²àž¢" à¹àžà¹àž¡à¹àž¡àžàž²àžàž²àžàž²</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³à¹àžà¹àž²àžàžàžŽàžàžàž­àžà¹àžà¹àž¡àžàž²àžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž² à¹àžà¹àž MARC, CDS/ISIS, BibTex, Refer à¹àž¥àž° Procite àž¡àž²àž¢àž±àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžà¹ à¹àžà¹à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž¹àž«àž£àž·àž­à¹àžà¹à¹àžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¥à¹àž²àžàž±à¹àžà¹àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹à¹àžà¹à¹àžàžàž±àžàžàžµ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž¹àž«àž£àž·àž­à¹àžà¹à¹àžà¹àž¡àžàž²àžàž²àžàž²à¹àžà¹ àžàžžàžàžªàž²àž¡àž²àž£àž "àžàž£àž°àžàž²àž¢" à¹àžà¹àž¡àž¥àžà¹àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ à¹àž¥àž°àžªàž²àž¡àž²àž£àžàžàž¹àž«àž£àž·àž­à¹àžà¹à¹àžà¹àžà¹àž¡à¹àžà¹à¹àžàž àž²àž¢àž«àž¥àž±àž àž­àžµàžàžàž²àžà¹àž¥àž·àž­àžàž«àžàž¶à¹àžàžàž·àž­ àž«àž²àžàžàžžàžàž¢àž±àžàžàžà¹àžà¹àžàž²àžà¹àžàž£à¹àžàž£àž¡àžàž£àž°àž¢àžžàžàžà¹àž àž²àž¢àžàž­àžàž«àž¥àž±àžàž­àž¢àž¹à¹ àžàžžàžàžªàž²àž¡àž²àž£àžàžàž¥àž±àžà¹àžàž¢àž±àžà¹àžàž£à¹àžàž£àž¡àžàžµà¹àžªàž£à¹àž²àžà¹àžà¹àž¡àžà¹àž­àž¡àž¹àž¥à¹àžàž·à¹àž­à¹àžà¹à¹àžàžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àž¥à¹àž§àžàž³à¹àžàžŽàžàžàž²àž£àžàž³à¹àžà¹àž²àžà¹àž­àž¡àž¹àž¥à¹àž«àž¡à¹à¹àžà¹</p>
+
+<p>"àžàž²àž£àžàž£àž°àžàž²àž¢" à¹àžà¹àž¡àžàž²àžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²àžàž°à¹àžà¹àžàžàž²àž£à¹àž¢àžà¹àžà¹àž¡àž­àž­àžà¹àžà¹àžà¹àžà¹àž¥àž°àž£àž°à¹àžàžµàž¢àžàžàžµà¹àž¡àžµà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžªàž²àž¡àž²àž£àžàžàž¹à¹àž¥àž°à¹àžà¹à¹àžà¹àžà¹ àžàž£àž°àžàž§àžàžàž²àž£àžàžµà¹à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¢à¹àž­àžàžàž¥àž±àžà¹àžà¹ à¹àžàž¢à¹àžà¹àž¡à¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžà¹àžàžŽàž¡àžàž°àžàž¹àžàž¥àžàž­àž­àžà¹àž</p>
+
+<p>à¹àžà¹àž¡àžàžµà¹àžªàž²àž¡àž²àž£àžàžàž£àž°àžàž²àž¢àž­àž­àžà¹àžà¹àžàž°àž¡àžµà¹àž­àžàž­àžàžªàžµà¹àžàžµàž¢àž§àžàž£àž²àžàžàž­àž¢àž¹à¹à¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž£àž°àžàž²àž¢à¹àžà¹àž¡ à¹àž«à¹àžàž¥àžŽàžàžàž§àž²àžàžµà¹à¹àžà¹àž¡à¹àž¥àž°à¹àž¥àž·àž­àž "àžàž£àž°àžàž²àž¢àžàž²àžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²" àž«àžà¹àž²àžà¹àž²àžàžà¹àž­àžàž­àž±àžàžàž°à¹àžªàžàžàžàž±àž§à¹àž¥àž·àž­àžàžªàž³àž«àž£àž±àžàžàž£àž°àžàž§àžàžàž²àž£àžàž£àž°àžàž²àž¢àžàž¶à¹àžàž¡àž²àžàžàž«àžà¹àž²àžàž­ àžàž±àž§à¹àž¥àž·àž­àžàžàž±àž§à¹àž£àž ("àžàž¥àž±à¹àžàž­àžŽàž") àžàž°àž£àž°àžàžžàžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžàž°à¹àžà¹à¹àžàžàž²àž£àžàž£àž°àžàž²àž¢à¹àžà¹àž¡ à¹àžà¹àžàž·àž­àžàžàžžàžàžàž£àžàžµ àžàž¥àž±à¹àžàž­àžŽàžàž«àžàž¶à¹àžàžàž±àž§à¹àžà¹àž²àžàž±à¹àžàžàžµà¹àžàž°àžàž³àž«àžà¹àž²àžàžµà¹àžàž£àž°àž¡àž§àž¥àžàž¥à¹àžà¹àž¡àžàžàžŽàžà¹àžàžàžàžŽàžàž«àžàž¶à¹àž à¹àžà¹à¹àžàžàž²àžàžàž£àžàžµ àžàžµà¹àžàžàžŽàžàžàž­àžà¹àžà¹àž¡àžàžµà¹àžà¹àž²àžàžàž±àžà¹àžà¹àžàž²àž¡àžªàžàžžàž¥à¹àžà¹àž¡àž£à¹àž§àž¡àžàž±àž àž­àž²àžàžà¹àž­àžàž¡àžµàžàž¥àž±à¹àžàž­àžŽàžàžªàž­àžàžàž±àž§àžàžµà¹àž£à¹àž§àž¡àžàž±àžàžàž£àž°àž¡àž§àž¥àžàž¥à¹àžà¹àž¡àžàžµà¹àž¡àžµàžàž²àž¡àžªàžàžžàž¥àžàž±à¹àž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹àžàž±àž§à¹àž¥àž·àž­àž "input_encoding" à¹àžàž·à¹àž­àž£àž°àžàžžàžàž²àž£à¹àžà¹àž²àž£àž«àž±àžªàžàž­àžàžàž²àžàžà¹àž­àž¡àž¹àž¥à¹àžà¹ àžàž±àž§à¹àž¥àž·àž­àž "metadata_set" àžàž°àž£àž°àžàžžàž§à¹àž²à¹àžàžàžà¹àž­àž¡àž¹àž¥à¹àž«àž¡à¹àžàžµà¹àžªàž£à¹àž²àžàžàž¶à¹àžàžà¹àž§àž¢àžàž²àž£àžàž£àž°àžàž²àž¢à¹àžà¹àž¡àžàž§àž£àžàž°àžàž¹àžà¹àžàžŽà¹àž¡à¹àžà¹àž²à¹àžàž¢àž±àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž àž«àž²àžà¹àž¡à¹àž¡àžµàžàž²àž£àž£àž°àžàžžà¹àž§à¹ àž£àž°àžàžàžàž°àžàž²àž¡àž§à¹àž² àžàžžàžàžàž°àžàž³àž­àž¢à¹àž²àžà¹àž£àžàž±àžà¹àžà¹àž¥àž°à¹àžàžàžà¹àž­àž¡àž¹àž¥à¹àž«àž¡à¹à¹àžàžàž²àžàžà¹àž­àž¡àž¹àž¥ à¹àžàž¢à¹àž«à¹à¹àž¥àž·àž­àžàž£àž°àž«àž§à¹àž²àž à¹àžàžŽà¹àž¡à¹àžàžàžà¹àž­àž¡àž¹àž¥à¹àžà¹àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢à¹àž«àž¡à¹àž¥àžà¹àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàž­àž¢àž¹à¹ àžàžàž§àžàž£àž§àž¡à¹àžà¹àž²àžàž±àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àž­àž·à¹àž àž«àž£àž·àž­àž¥àž°à¹àž§à¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžàž±à¹àž</p>
+
+<p>à¹àž¡àž·à¹àž­à¹àžà¹àž¡àžàž¹àžàžàž£àž°àžàž²àž¢àž­àž­àž à¹àž­àžàžªàž²àž£àž§à¹àž²àžà¹àž«àž¡à¹àžàž°àžàž¹àžàžªàž£à¹àž²àžàžàž¶à¹àžàžªàž³àž«àž£àž±àžà¹àžà¹àž¥àž°àž£àž°à¹àžàžµàž¢àž à¹àž¥àž°à¹àž¡àžàž²àžàž²àžàž²àžàž²àžàž£àž°à¹àžàžµàž¢àžàžàž°àžàž¹àžàžàž³àž«àžàžà¹àž«à¹àžàž±àžà¹àž­àžàžªàž²àž£ à¹àž­àžàžªàž²àž£à¹àž«àž¥à¹àž²àžàžµà¹àžàž°àžàž¹àžàžàž±à¹àžàžàž·à¹àž­à¹àžàž¢à¹àžà¹àžàž±àž§à¹àž¥àž à¹àžà¹àž 000001.nul, 000002.nul à¹àžà¹àžàžà¹àž  àžà¹àž²àž¡àžµàžàž²àž£àžàž±à¹àžàžà¹àž²àžàž±àž§à¹àž¥àž·àž­àž "document_field" (à¹àž«à¹à¹àžà¹àžàžàž·à¹àž­à¹àžàžàžà¹àž­àž¡àž¹àž¥àžàž­àžàžàž²àžàžà¹àž­àž¡àž¹àž¥) àžà¹àž²àžàž­àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžàžµà¹ (àžà¹àž²àž¡àžµ) àžàž°àžàž¹àžà¹àžà¹à¹àžà¹àžàžàž·à¹àž­à¹àžà¹àž¡  àžàž­àžàžàž²àžàžàžµà¹ àžàž£àž°àžàž§àžàžàž²àž£àžàž£àž°àžàž²àž¢àžàž°àžàž¢àž²àž¢àž²àž¡àžàž²àž§àžà¹à¹àž«àž¥àžà¹àžà¹àž¡à¹àž¥àž°à¹àžà¹à¹àžà¹àž¡àžàž±à¹àžà¹àžàžà¹àžà¹àž¡àž§à¹àž²àž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹àžàž±àž§à¹àž¥àž·àž­àž "document_prefix" à¹àž¥àž° "document_suffix" à¹àžàž·à¹àž­àžªàž£à¹àž²àž URL àž«àž£àž·àž­à¹àžªà¹àžàžàž²àžà¹àžà¹àž¡àžàžµà¹àžàž¹àžàžà¹àž­àžàžàž²àžàžà¹àž² document_field à¹àžà¹ àžàžžàžàž¢àž±àžàžªàž²àž¡àž²àž£àžà¹àžà¹àžàž±àž§à¹àž¥àž·àž­àž "records_per_folder" à¹àžàž·à¹àž­àžàž±àžàžàž¥àžžà¹àž¡àž£àž°à¹àžàžµàž¢àžàžàžµà¹àžàž£àž°àžàž²àž¢àž¥àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹àž¢à¹àž­àž¢à¹àžà¹àžà¹àž§àž¢ àžà¹àž²àžàž²àžàžà¹àž­àž¡àž¹àž¥àž¡àžµàžàžàž²àžà¹àž«àžà¹àž¡àž²àž àžàž²àž£à¹àžà¹àžàž±àž§à¹àž¥àž·àž­àžàžàžµà¹àžàž°àžà¹àž§àž¢à¹àž«à¹àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžà¹àž¡àžàž²àžàž²àžàž²àžà¹àž­àž¡àž²à¹àžà¹à¹àž£à¹àž§àžàž¶à¹àž</p>
+
+<p>àž£àž°àžàžàžàž°àžàž±àžàžªàžŽàžàžàž§àž²àž¡àžªàž²àž¡àž²àž£àžà¹àžàžàž²àž£àžàž£àž°àžàž²àž¢àžàž²àžàžàž²àž¡àžªàžàžžàž¥àžàž­àžà¹àžà¹àž¡ à¹àžàžàž²àžàžàž£àžàžµ à¹àžà¹àž¡àž­àž²àžàžàž¹àžàžàž³àž«àžàžàžªàžàž²àžàž°àž­àž¢à¹àž²àžà¹àž¡à¹àžàž¹àžàžà¹àž­àžàž§à¹àž²à¹àžà¹àžà¹àžà¹àž¡àžàžµà¹àžªàž²àž¡àž²àž£àžàžàž£àž°àžàž²àž¢àž­àž­àžà¹àžà¹àžà¹àž²à¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàž±à¹àžàž¡àžµàžàž²àž¡àžªàžàžžàž¥à¹àž«àž¡àž·àž­àžàžàž±àžà¹àžà¹àž¡àžàžµà¹àžªàž²àž¡àž²àž£àžàžàž£àž°àžàž²àž¢à¹àžà¹ àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž àžàž¥àž±à¹àžàž­àžŽàž ProCite àžàž°àžàž£àž°àž¡àž§àž¥àžàž¥à¹àžà¹àž¡àžàžµà¹àž¡àžµàžàž²àž¡àžªàžàžžàž¥ .txt à¹àžà¹à¹àžà¹àž¡ .txt à¹àžàž·àž­àžàžàž±à¹àžàž«àž¡àžàžàž°à¹àžà¹àžà¹àžà¹àž¡à¹àžàžàžà¹àž­àžàž§àž²àž¡àž¥à¹àž§àž àžàž¶à¹àžà¹àž¡à¹à¹àžà¹à¹àžà¹àž¡ ProCite</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/exporting.htm
===================================================================
--- main/tags/2.83/gli/help/th/exporting.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/exporting.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="exporting"><font size="5" face="Verdana"><strong>9.3: àžàž²àž£àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžà¹àžàž£àž¹àžà¹àžàžàž­àž·à¹àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžªàž²àž¡àž²àž£àžàžªà¹àžàž­àž­àžà¹àžàž·à¹àž­àž«àž² à¹àž¥àž°/àž«àž£àž·àž­ à¹àž¡àžàž²àžàž²àžàž²àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžà¹àžàž£àž¹àžà¹àžàžàž¡àž²àžàž£àžàž²àžàž­àž·à¹àžà¹ à¹àžà¹ àž£àž§àž¡àžàž±à¹àž METS, DSpace à¹àž¥àž° MARCXML</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž«àžàž¶à¹àžàž«àž£àž·àž­àž«àž¥àž²àž¢àžàž­àž¥à¹àž¥àžàžàž±àž à¹àž«à¹à¹àžàžŽàžà¹àž¡àžàž¹ "à¹àžà¹àž¡" à¹àž¥àž°à¹àž¥àž·àž­àž "àžªà¹àžàž­àž­àž..." àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžàž£àž¹àžà¹àžàžàžàžµà¹àžà¹àž­àžàžàž²àž£àžªà¹àžàž­àž­àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£à¹àž¥àž·àž­àžàž£àž¹àžà¹àžàžàžàž²àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àž "àžªà¹àžàž­àž­àžà¹àžàž¢àž±àž" àžàž²àžàžàž±à¹àžà¹àž«à¹àžàž³àž«àžàžàžàž·à¹àž­àžªàž³àž«àž£àž±àžà¹àžà¹àž£àžàžàž­àž£àžµà¹àžà¹àž²àž«àž¡àž²àž¢àžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£à¹àžà¹àžà¹àžà¹àž¡àžàžµà¹àžªà¹àžàž­àž­àž&mdash; à¹àžàž¢à¹àžà¹àž¡àžàž°àž­àž¢àž¹à¹à¹àž &lt;à¹àžªà¹àžàžàž²àžà¹àžàž¢àž±àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž&gt;/tmp/exported_xxx à¹àžàž¢ xxx à¹àžà¹àžàžàž·à¹àž­àžàžµà¹àžàžžàžàž£àž°àžàžžà¹àž§à¹ à¹àž«à¹à¹àž¥àž·àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž­àž¢à¹àž²àžàžà¹àž­àž¢àž«àžàž¶à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž²àžàž£àž²àž¢àžàž²àž£àžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž¡àžµ àžàž²àžàžàž±à¹àžàžàž¥àžŽàž "àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àž"</p>
+
+<p>àž¢àž±àžàž¡àžµàžàž±àž§à¹àž¥àž·àž­àžàž­àž·à¹àžà¹ àžàžµà¹à¹àžàžàž²àž°à¹àžàž²àž°àžàžàžàž±àžàž£àž¹àžà¹àžàžàž­àž·à¹àžà¹ àž­àžµàž àžàžžàžàžªàž²àž¡àž²àž£àžàž£àž°àžàžžà¹àžà¹àž¡ XSLT àžàž¶à¹àžàžàž°àžàž¹àžàžàž£àž°àž¢àžžàžàžà¹à¹àžà¹àžàž±àžà¹àž­àžàžªàž²àž£ XML àžàžµà¹à¹àžà¹àžàž²àžàž£àž°àžàžà¹àžàž·à¹àž­à¹àžà¹àžàž³àž«àžàžàž£àž¹àžà¹àžàžàžàž¥àž¥àž±àžàžà¹àžà¹àž§àž¢àžàžà¹àž­àž àžàž²àž£àžªà¹àžàž­àž­àžà¹àžà¹àžà¹àž MARCXML àžàž°à¹àžà¹à¹àžà¹àž¡àžàž²àž£à¹àž¡àžà¹àžàž·à¹àž­à¹àž¡àžà¹àž¡àžàž²àžàž²àžàž²à¹àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàž±àžà¹àžàžàžà¹àž­àž¡àž¹àž¥ MARC à¹àžà¹àž¡àžàž²àž£à¹àž¡àžà¹àž£àžŽà¹àž¡àžà¹àžàžàž°à¹àž¡àžà¹àžàžàž²àž°à¹àž¡àžàž²àžàž²àžàž²à¹àžàžàžàž±àžàž¥àžŽàžàžàž­àž£à¹à¹àžà¹àž²àžàž±à¹àž à¹àžà¹àžàžžàžàžªàž²àž¡àž²àž£àžàž£àž°àžàžžà¹àžà¹àž¡àžàž²àž£à¹àž¡àžàžàžµà¹àžàž³àž«àžàžà¹àž­àžà¹àžàž·à¹àž­à¹àžà¹à¹àžàžà¹àžà¹</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/exportingcollections.htm
===================================================================
--- main/tags/2.83/gli/help/th/exportingcollections.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/exportingcollections.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="exportingcollections"><font size="5" face="Verdana"><strong>9.4: àžàž²àž£àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž¢àž±àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžªàž²àž¡àž²àž£àžàžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž­àž¢à¹àž²àžàžà¹àž­àž¢àž«àžàž¶à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž¢àž±àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµà¹àžàžàžàžŽàžàžàž±à¹àžà¹àž­àžàžàžàž£àž°àžàžàžàžàžŽàžàž±àžàžŽàžàž²àž£àž§àžŽàžà¹àžàžªà¹à¹àžà¹</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àž«à¹à¹àžàžŽàžà¹àž¡àžàž¹ "à¹àžà¹àž¡" à¹àž¥àž°à¹àž¥àž·àž­àž "à¹àžàžµàž¢àžàž­àžŽàž¡à¹àž¡àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµ" àž£àž²àž¢àžàž²àž£àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž£àžµàžàžªà¹àžàžàžàž°àžàž£àž²àžàžàžàž¶à¹àž à¹àžàž¢àžàžžàžàžªàž²àž¡àž²àž£àžàžàž¥àžŽàžàžàžµà¹àžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹ à¹àžàž·à¹àž­àžàž¹àžàž³àž­àžàžŽàžàž²àž¢à¹àžà¹ àžàž²àžàžàž±à¹àžà¹àž«à¹àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàžµà¹àžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžà¹àž­àžàžàž²àž£àžªà¹àžàž­àž­àž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžªà¹àžàž·à¹àž­àžàžµàžàžµ/àžàžµàž§àžµàžàžµà¹àžàžàž¥à¹àž­àž"àžàž·à¹àž­àžàžµàžàžµ/àžàžµàž§àžµàžàžµ" à¹àžà¹à¹àžàž¢àžàž·à¹àž­àžàžµà¹àžàž°àžàž£àž²àžàžà¹àžà¹àž¡àžàž¹ "à¹àž£àžŽà¹àž¡" à¹àž¡àž·à¹àž­àžàžžàžàžàžŽàžàžàž±à¹àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžà¹àžà¹àž§à¹àž²àžàž°à¹àž«à¹àžàžµàžàžµàž£àž­àž¡àž«àž£àž·àž­àžàžµàž§àžµàžàžµàžàž³àžàž²àžà¹àžàž¢àžàž£àžàžàž²àžàžàžŽàžªàžà¹à¹àžàž£à¹àž àž«àž£àž·àž­à¹àž«à¹àžàžŽàžàžàž±à¹àžà¹àžà¹àž¡àžà¹àž­àž¡àž¹àž¥àžàž²àžà¹àžà¹àž¡àž¥àžà¹àžà¹àžàž£àž·à¹àž­àžàžàž­àž¡àžàžŽàž§à¹àžàž­àž£à¹ àžàž²àžàžàž±à¹àžàžàž¥àžŽàž "à¹àžàžµàž¢àžàž­àžŽàž¡à¹àž¡àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµ" àžàž£àž°àžàž§àžàžàž²àž£àžàžµà¹àž£àž§àž¡àžàž¶àžàžàž²àž£àžàž³àžªàž³à¹àžàž²à¹àžà¹àž¡àžàž³àžàž§àžàž¡àž²àž à¹àž¥àž°àž­àž²àžà¹àžà¹à¹àž§àž¥àž²àžàž³à¹àžàžŽàžàžàž²àž£àžªàž±àžàžàž£àž¹à¹</p>
+
+<p>à¹àž¡àž·à¹àž­àžàž³à¹àžàžŽàžàžàž²àž£à¹àžªàž£à¹àžàžªàž¡àžàž¹àž£àžà¹à¹àž¥à¹àž§ à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàž°à¹àžªàžàžàžàž·à¹àž­àžàž­àžà¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àžàž£àž£àžàžžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžªà¹àžàž­àž­àž à¹àž«à¹à¹àžà¹àž­àžžàžàžàž£àžà¹à¹àžàžµàž¢àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµà¹àžàž·à¹àž­àžàž³àžªàž³à¹àžàž²à¹àžàž·à¹àž­àž«àž²à¹àž«àž¥à¹àž²àžàžµà¹àž¥àžà¹àžà¹àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµà¹àžàž¥à¹àž²</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/fileassociations.htm
===================================================================
--- main/tags/2.83/gli/help/th/fileassociations.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/fileassociations.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="fileassociations"><font size="5" face="Verdana"><strong>9.2: àžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹àžàž­àžà¹àžà¹àž¡</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž°à¹àžà¹à¹àžàž£à¹àžàž£àž¡àžàž£àž°àž¢àžžàžàžà¹à¹àžàžàž²àž°à¹àžàž·à¹àž­à¹àžàžŽàžà¹àžà¹àž¡àžàžàžŽàžàžàžŽà¹àžšàž© à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžàžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹àžàž­àžà¹àžà¹àž¡ à¹àž«à¹à¹àžàžŽàžà¹àž¡àžàž¹ "à¹àžà¹àž¡" à¹àž¥àž°àžàž¥àžŽàž "àžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹àžàž­àžà¹àžà¹àž¡&hellip;"</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹àžàž­àžà¹àžà¹àž¡ à¹àž«à¹à¹àž¥àž·àž­àžàžàž²àž¡àžªàžàžžàž¥à¹àžà¹àž¡à¹àžà¹àž²àž«àž¡àž²àž¢àžàž²àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àž àž«àž£àž·àž­àžàžŽàž¡àžà¹àžàž²àž¡àžªàžàžžàž¥à¹àž«àž¡à¹ (à¹àžàž¢à¹àž¡à¹àžà¹àž­àžà¹àžªà¹ ".") àžàž²àžàžàž±à¹àžàžàžŽàž¡àžà¹àžàž³àžªàž±à¹àžà¹àžàž·à¹àž­à¹àžàžŽàžà¹àžà¹à¹àžàž£à¹àžàž£àž¡àžàž£àž°àž¢àžžàžàžà¹àžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡ àž«àž£àž·àž­à¹àž¥àž·àž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àž°àž¢àžžàžàžà¹àžàž²àžàžàž¥à¹àž­àžà¹àžà¹àžàž­àž "à¹àž£àžµàž¢àžàžàž¹"  àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹ "%1" à¹àžàžàž³àžªàž±à¹àžà¹àž£àžµàž¢àžà¹àžà¹à¹àžàž·à¹àž­à¹àžàž£àžàžàž·à¹àž­àžàž­àžà¹àžà¹àž¡àžàžµà¹àžàž³àž¥àž±àžà¹àžàžŽàžàž­àž¢àž¹à¹à¹àžà¹ à¹àž¡àž·à¹àž­àž¡àžµàžàž²àž£àžàž£àž­àžàžà¹àž­àž¡àž¹àž¥àž¥àžà¹àžà¹àž¥à¹àž§ àžàžžà¹àž¡ "à¹àžàžŽà¹àž¡" àžàž°à¹àžàžŽàžà¹àžà¹àžàž²àž à¹àž¥àž°àžàžžàžàžªàž²àž¡àž²àž£àžàžàž¥àžŽàžà¹àžàž·à¹àž­à¹àžàžŽà¹àž¡àžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹à¹àžà¹</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžà¹à¹àžàžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹ à¹àž«à¹à¹àž¥àž·àž­àžàžàž²àž¡àžªàžàžžàž¥à¹àžà¹àž¡àžàžµà¹àž¡àžµàž­àž¢àž¹à¹ àžàž³àžªàž±à¹àžàžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹àžàž°àžàž£àž²àžàžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥ "àžàž³àžªàž±à¹àžà¹àž£àžµàž¢àžà¹àžà¹" àžàž²àžàžàž±à¹àžà¹àž«à¹àžàžžàžàžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹à¹àžàžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹ à¹àž¥à¹àž§àžàž¥àžŽàž "à¹àžàžàžàžµà¹"</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹àžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§àž­àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž²àž¡àžªàžàžžàž¥àžàž­àžà¹àžà¹àž¡àžàžµà¹àž¡àžµàž­àž¢àž¹à¹ à¹àž¥àž°àžàž¥àžŽàž "à¹àž­àž²àž­àž­àž"   </p>
+
+<p>àžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹àžàž­àžà¹àžà¹àž¡àžàž°àžàž¹àžà¹àžà¹àžà¹àž§à¹à¹àžà¹àžàž¥à¹àžàž­àž£à¹àž«àž¥àž±àžàžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ à¹àžà¹àžà¹àž¡àžàžµà¹àžàž·à¹àž­àž§à¹àž² "associations.xml"</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/filteringthetree.htm
===================================================================
--- main/tags/2.83/gli/help/th/filteringthetree.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/filteringthetree.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="filteringthetree"><font size="5" face="Verdana"><strong>4.8: àžàž²àž£àžàž£àž­àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>"àžàž²àž£àžàž£àž­àž" à¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž¥àž°àžàž·à¹àžàžàžµà¹àžàž³àžàž²àžàžàž°àž­àžàžžàžàž²àžà¹àž«à¹àžàžžàžàžàž³àž«àžàžàžàž²àž£àžà¹àžàž«àž²à¹àžà¹àž¡àžàžµà¹à¹àžàžàž²àž°à¹àžàž²àž°àžàžà¹àž«à¹à¹àžàžàž¥àžà¹àžà¹</p>
+
+<p>à¹àž¡àžàž¹à¹àžàžàž«àž¥à¹àžàž¥àž "à¹àžªàžàžà¹àžà¹àž¡" àžàžµà¹àž­àž¢àž¹à¹àž àž²àž¢à¹àžà¹à¹àžàžàžàž±àžà¹àžà¹àž¥àž°àžàž±àž§àžàž°à¹àžªàžàžàž£àž²àž¢àžàž²àž£àžàž­àžàžàž±àž§àžàž£àž­àžàžàžµà¹àž¡àžµàžàž³àž«àžàžà¹àž§à¹à¹àž¥à¹àž§ à¹àžà¹àž "àž£àž¹àž" àžàž²àž£à¹àž¥àž·àž­àžàžàž±àž§àžàž£àž­àžàžàžµà¹àžàž°à¹àžà¹àžàžàž²àž£àžà¹àž­àžà¹àžà¹àž¡àž­àž·à¹àžà¹ àžàž±à¹àžàž«àž¡àžà¹àžà¹àžàžàžàž±àžà¹àžàžàžàž±à¹àž§àžàž£àž²àž§ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž·àžàžà¹àž²à¹àžàžàžàž±àž à¹àž«à¹à¹àžàž¥àžµà¹àž¢àžàžàž±àž§àžàž£àž­àžàžàž¥àž±àžà¹àžàžàžµà¹ "à¹àžà¹àž¡àžàž±à¹àžàž«àž¡àž" àžàž²àž£àžàžàžŽàžàž±àžàžŽàžàž²àž£à¹àž«àž¥à¹àž²àžàžµà¹àžàž°à¹àž¡à¹à¹àžà¹àžàžàž²àž£àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžàžàž­àž¥à¹àž¥àžàžàž±àž àž«àž£àž·àž­à¹àž¡à¹àžàž£àž°àžàžàžà¹àž­à¹àžàž¥à¹àžàž­àž£à¹à¹àžà¹àžàžàžàž±àž</p>
+
+<p>àžàžžàžàžªàž²àž¡àž²àž£àžàž£àž°àžàžžàžàž±àž§àžàž£àž­àžàžàžµà¹àžàž³àž«àžàžà¹àž­àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàžŽàž¡àžà¹àž£àž¹àžà¹àžàžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àž«à¹àžàž£àžàžàž±àžà¹àžà¹àž¡ (à¹àžàžàž²àž°à¹àž«àž¡àžàžàž¹à¹à¹àžàžµà¹àž¢àž§àžàž²àžàž£àž°àžàžàž«à¹àž­àžàžªàž¡àžžàž à¹àž¥àž°à¹àž«àž¡àžàžàž¹à¹àžàž³àžàž²àžàžàž²àž£à¹àžà¹àž²àžàž±à¹àž) à¹àž«à¹à¹àžà¹àžàž±àž§àž¢à¹àž­àž£àž°àžàžà¹àžà¹àž¡àž¡àž²àžàž£àžàž²àž à¹àžà¹àž "*.doc" ("*" àžàž£àžàžàž±àžàž­àž±àžàžàž£àž°à¹àžàžà¹à¹àžà¹)</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/formatstatements.htm
===================================================================
--- main/tags/2.83/gli/help/th/formatstatements.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/formatstatements.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="formatstatements"><font size="5" face="Verdana"><strong>8.4: àžàžžàžàž¥àž±àžàž©àžàž°àž£àž¹àžà¹àžàž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àž«àžà¹àž²à¹àž§à¹àžàžàžµà¹àžàžžàžà¹àž«à¹àžàžàžàž°à¹àžà¹à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àž¡à¹à¹àžà¹àž¡àžµàžàž²àž£àžàž±àžà¹àžà¹àžà¹àž§à¹àž¥à¹àž§àžàž«àžà¹àž² à¹àžà¹àž«àžà¹àž²à¹àž§à¹àžàžàž°àžàž¹àžàžªàž£à¹àž²àžàžàž¶à¹àž 'àžàž±àžàžàžµà¹àžàžàžàž°àžàž±à¹àž' à¹àž¡àž·à¹àž­àž¡àžµàžàž²àž£à¹àž£àžµàž¢àžà¹àžà¹àžàž²àž àžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàžàžàž°àžàž¹àžà¹àžà¹à¹àžàž·à¹àž­à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàž¥àž±àžàž©àžàž°àžàžµà¹àžàž£àž²àžàžàžàž­àžàž«àžà¹àž²àžàžµà¹àžªàž£à¹àž²àžàžàž¶à¹àžà¹àž«àž¥à¹àž²àžàžµà¹ àžàž³àžªàž±à¹àžà¹àž«àž¥à¹àž²àžàžµà¹àžàž°àžªà¹àžàžàž¥àžà¹àž­àžªàžŽà¹àžàžà¹àž²àžà¹ à¹àžà¹àž àžàžžà¹àž¡àžàžµà¹àžàž°àžàž£àž²àžàžàžàž¶à¹àžà¹àž¡àž·à¹àž­àž¡àžµàžàž²àž£à¹àžªàžàžà¹àž­àžàžªàž²àž£ à¹àž¥àž°àžàž²àž£à¹àžàž·à¹àž­àž¡à¹àž¢àžàžà¹àž²àžà¹ àžàžµà¹àžàž°à¹àžªàžàžàžàž¶à¹àžà¹àž¡àž·à¹àž­à¹àž£àžµàž¢àžà¹àžà¹àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž DateList àžàž²àž£àžàž±àžàžàž²àžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàžà¹àžà¹àžàžªàžŽà¹àžàžàžµà¹à¹àž¡à¹àžà¹àž²àž¢àžàž±àž àžàžžàžàžàž§àž£àž­à¹àž²àžàžàžàžàžµà¹ 2 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžªàžµàž¢àžà¹àž­àž àžªà¹àž§àžàžàžµà¹àžàž°àžàž¥à¹àž²àž§àžàž¶àžàžàž²àž£àžàž±à¹àžàžà¹àž²àž£àž¹àžà¹àžàž à¹àž¥àž°àž§àžŽàžàžµàžàž²àž£à¹àžà¹àž²àžàž¶àžàžàž²àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž£àžŽà¹àž¡àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹à¹àžàž¢àžàž²àž£àžàž¥àžŽàž "àžàžžàžàž¥àž±àžàž©àžàž°àž£àž¹àžà¹àžàž" àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž£àž¹àžà¹àžàž" </p>
+
+<p>àžàžžàžàžªàž²àž¡àž²àž£àžàžàž£àž°àž¢àžžàžàžà¹à¹àžà¹àžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàžàžàž±àžàžªàžŽà¹àžà¹àžàžà¹à¹àžà¹à¹àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àž "à¹àž¥àž·àž­àžàžàžžàžàž¥àž±àžàž©àžàž°" àžàž¶à¹àžàž£àž§àž¡àžàž¶àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžà¹àžà¹àž¥àž°àžàž±àž§ à¹àž¥àž°àž£àž²àž¢àžàž²àž£àžàžžàžàž¥àž±àžàž©àžàž°àžàžµà¹àžàž³àž«àžàžàžà¹àž²à¹àž§à¹à¹àž¥à¹àž§ à¹àž¡àž·à¹àž­àžàžžàžà¹àž¥àž·àž­àžàžàžžàžàž¥àž±àžàž©àžàž° àžàž°àž¡àžµàžàž±àž§àžàž§àžàžàžžàž¡àž­àž¢àž¹à¹àžªàž­àžàžàžàžŽàž àžàžžàžàž¥àž±àžàž©àžàž°àžàž²àžàž­àž¢à¹àž²àžàžàž°àžªàž²àž¡àž²àž£àžà¹àžàžŽàžàž«àž£àž·àž­àžàžŽàžà¹àžà¹àžàž²àžà¹àžà¹àž­àž¢à¹àž²àžàžà¹àž²àž¢àžàž²àž¢ à¹àžàž¢àžàž°àžàž¹àžàžàž§àžàžàžžàž¡àžà¹àž§àž¢àžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢ àžàžžàžàž¥àž±àžàž©àžàž°àž­àž·à¹àžà¹ àžà¹àž­àžàžàž²àž£àžàž²àž£àž£àž°àžàžžàžªàžàž£àžŽàžàž£àž¹àžà¹àžàž àžªàž³àž«àž£àž±àžàžàžžàžàž¥àž±àžàž©àžàž°à¹àž«àž¥à¹àž²àžàžµà¹ àžàž°àž¡àžµàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àž ("àžàž­àž¡à¹àžà¹àžàžàžà¹àžàžµà¹à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àž") à¹àžàž·à¹àž­à¹àžà¹à¹àž¥àž·àž­àžàž§à¹àž² àžªà¹àž§àžà¹àžàžàž­àžàžàžžàžàž¥àž±àžàž©àžàž°àžàžµà¹à¹àžà¹àž£àž±àžàžàž¥àžàž²àžàžàž²àž£àžàž£àž°àž¢àžžàžàžà¹à¹àžà¹àžªàžàž£àžŽàž (àžà¹àž²àžàž³à¹àžà¹àž) àžàž·à¹àžàžàžµà¹àžà¹àž­àžàž§àž²àž¡ ("àžªàžàž£àžŽàžàž£àž¹àžà¹àžàž HTML") àžªàž³àž«àž£àž±àžàžàž²àž£à¹àžªà¹àžà¹àž²àžªàžàž£àžŽàž à¹àž¥àž°àžàž²àž£à¹àž¥àž·àž­àž "àžàž±àž§à¹àžàž£"àžàžµà¹àžàž³àž«àžàžàžà¹àž²à¹àž§à¹à¹àž¥à¹àž§ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàž£àžàžàž±àž§à¹àžàž£àž¥àžà¹àžàžªàžàž£àžŽàžàž£àž¹àžà¹àžàž à¹àž«à¹àžàž³àž«àžàžàžàž³à¹àž«àžà¹àžàžàž­àžà¹àžàž­àž£à¹à¹àžàž­àž£à¹à¹àž§à¹àžàžµà¹àžàžžàžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàž£àž à¹àž¥à¹àž§à¹àž¥àž·àž­àžàžàž±àž§à¹àžàž£àžàžµà¹àžà¹àž­àžàžàž²àž£àžàž²àžàžàž¥à¹àž­àžàžàž³àžªàž±à¹àžàžàžªàž¡ "à¹àžàž£àžàžàž±àž§à¹àžàž£&hellip;  "</p>
+
+<p>àžàžžàžàžªàž²àž¡àž²àž£àžàž£àž°àžàžžàž£àž¹àžà¹àžàžà¹àž£àžŽà¹àž¡àžà¹àžàžªàž³àž«àž£àž±àžàžàž­àž¡à¹àžà¹àžàžàžà¹à¹àžàžàž²àž°àž­àž¢à¹àž²àžà¹àžà¹à¹àžàž¢àžàž²àž£à¹àž¥àž·àž­àžàžàžžàžàž¥àž±àžàž©àžàž° "àžàžžàžàž¥àž±àžàž©àžàž°àžàž±à¹àžàž«àž¡àž"  àžàž²àžàžàž±à¹àžàž£àž¹àžà¹àžàžàžàžµà¹àžàž°àžàž¹àžàžàž£àž°àž¢àžžàžàžà¹à¹àžà¹àžàž±àžàžàžžàžàž¥àž±àžàž©àžàž°àžàžµà¹àžªàž²àž¡àž²àž£àžà¹àžà¹àžàž²àžà¹àžà¹àžàž±à¹àžàž«àž¡àž à¹àž§à¹àžà¹àžà¹àž§à¹àž²àžàž°àž¡àžµàžàž²àž£àžàž³àž«àžàžàž£àž¹àžà¹àžàžà¹àžàžàž²àž°àžàž¶à¹àžàž¡àž²à¹àžàžàžàžµà¹</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàžà¹àž«àž¡à¹ à¹àž«à¹à¹àž¥àž·àž­àžàžàžžàžàž¥àž±àžàž©àžàž°à¹àž¥àž°àžàž­àž¡à¹àžà¹àžàžàžà¹àžàžµà¹àžªàž²àž¡àž²àž£àžà¹àžà¹àžàž²àžà¹àžà¹ àžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àžàžªàž³àž«àž£àž±àžàžàž³àžªàž±à¹àžàžàžµà¹àžàž°àžàž¹àžà¹àžªàžàžàžà¹àž§àž¢àžªàžµà¹àžàž²  à¹àž«à¹àžàž¥àžŽàž "à¹àžàžŽà¹àž¡àž£àž¹àžà¹àžàž  " à¹àžàž·à¹àž­àžàž³àž«àžàžàžà¹àž²àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž "àžªàžàž£àžŽàžàž£àž¹àžà¹àžàž HTML" àžàž°àžàž¥àž²àž¢à¹àžà¹àžà¹àžàžàžàžµà¹àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžà¹àžà¹ à¹àž¥àž°àžàžžàžàžàž°àžªàž²àž¡àž²àž£àžà¹àžàž¥àžµà¹àž¢àžàžà¹àž²à¹àžà¹àžàž²àž¡àžà¹àž­àžàžàž²àž£ à¹àžàž¢àžàžžàžàžàž°àžªàž²àž¡àž²àž£àžàžàž³àž«àžàžàžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàžà¹àžàžµàž¢àžàž«àžàž¶à¹àžàžàž³àžªàž±à¹àžà¹àž«à¹àžàž±àžàžàž²àž£àž£àž§àž¡àžàž±àžàžàž­àžàžàžžàžàž¥àž±àžàž©àžàž°/àžàž­àž¡à¹àžà¹àžàžàžà¹à¹àžà¹àž¥àž°àžàž±àž§à¹àžà¹àž²àžàž±à¹àž</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàžàž­àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàžàžàž²àžàž£àž²àž¢àžàž²àž£ à¹àž¥àž°àžàž¥àžŽàž "à¹àž­àž²àž£àž¹àžà¹àžàžàž­àž­àž"</p>
+
+<p>àžªàž³àž«àž£àž±àžàžà¹àž­àž¡àž¹àž¥à¹àžàžŽà¹àž¡à¹àžàžŽàž¡à¹àžàžµà¹àž¢àž§àžàž±àžàžàž±àž§à¹àžàž¥ à¹àž¥àž°àžàž­àž¡à¹àžà¹àžàžàžà¹àžàžžàžàž¥àž±àžàž©àžàž° à¹àž«à¹àž­à¹àž²àžàžàžàžàžµà¹ 2 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/formattingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/th/formattingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/formattingacollection.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="formattingacollection"><font size="5" face="Verdana"><strong>8: àžàž²àž£àžàž³àž«àžàžàžà¹àž²àž¥àž±àžàž©àžàž°àžàžµà¹àžàž£àž²àžàžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžà¹àž§àž¢àžàžà¹àž­àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžàž±àžàžàžµàžàžµà¹àžàžžàžàžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž£àžµàž¢àžàž£à¹àž­àž¢à¹àž¥à¹àž§ àžàžžàžàžàž°àžà¹àž­àžàžàž±àžàžªàžŽàžà¹àžàžà¹àž­à¹àžàž§à¹àž² àž¥àž±àžàž©àžàž°àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžàž°àžàž£àž²àžàžàžà¹àž­àžàž¹à¹à¹àžà¹àžàž°à¹àžà¹àžàž­àž¢à¹àž²àžà¹àž£ àžàž§àž£àžàž°à¹àžà¹àžàž·à¹àž­à¹àžà¹àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àžàžàž­àžàžàž±àžàžàžµà¹àžà¹àžàžàžàž­àž£à¹àž¡àžàž²àž£àžà¹àžàž«àž² àžàž§àž£àžàž°à¹àžªàžàžàžàž¥àž¥àž±àžàžà¹àžàžµà¹à¹àžà¹àžàž²àžàžàž²àž£àžà¹àžàž«àž²àž­àž¢à¹àž²àžà¹àž£ àžàž§àž£àžàž°à¹àžªàžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžàžà¹àž²àžà¹àž¡àž·à¹àž­àžàž¹à¹à¹àžà¹àžàž¹à¹àž­àžàžªàž²àž£ àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³àž«àžàžàž¥àž±àžàž©àžàž°à¹àž«àž¥à¹àž²àžàžµà¹à¹àžà¹à¹àž­àž à¹àžàž¢àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž³à¹àžàžŽàžàžàž²àž£àžàžµà¹</p>
+
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/generalsettings.htm
===================================================================
--- main/tags/2.83/gli/help/th/generalsettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/generalsettings.htm	(revision 21123)
@@ -0,0 +1,22 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="generalsettings"><font size="5" face="Verdana"><strong>8.2: àžàž±à¹àž§à¹àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž²àž£àžàž£àž§àžàžªàž­àžà¹àž¥àž°àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžàžàž²àž£àžàž±à¹àžàžà¹àž²àžàž±à¹àž§à¹àžàžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž  àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž£àžŽà¹àž¡àžàž³à¹àžàžŽàžàžàž²àžà¹àžà¹à¹àžàž¢àžàž¥àžŽàž "àžàž±à¹àž§à¹àž" àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž£àž¹àžà¹àžàž" </p>
+
+<p>àžàžžàžàžªàž²àž¡àž²àž£àžàžàž±à¹àžàžà¹àž²àž«àž£àž·àž­àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžà¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àž§à¹àžàžàž²àžàžàž±àž§àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž àž£àž§àž¡àžàž¶àžàžàž·à¹àž­à¹àž¥àž°àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžàžàžµà¹à¹àžªà¹à¹àž§à¹à¹àž¡àž·à¹àž­à¹àž£àžŽà¹àž¡àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹à¹àžà¹àžàžµà¹àžàžµà¹</p>
+
+<p>àžªà¹àž§àžà¹àž£àžàžàž·àž­ àžàžµà¹àž­àž¢àž¹à¹àž­àžµà¹àž¡àž¥àžàžµà¹àžàžŽàžàžà¹àž­à¹àžà¹àžàž­àžàžàž¹à¹àžªàž£à¹àž²àžà¹àž¥àž°àžàž¹à¹àžàž¹à¹àž¥àžàž­àž¥à¹àž¥àžàžàž±àž à¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž²àžàž¥à¹àž²àžàž­àžàžžàžàž²àžà¹àž«à¹àžàžžàžà¹àžàž¥àžµà¹àž¢àžàžàž·à¹àž­àžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹ àžàž±àžàž¡àž²à¹àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àžàž±àžà¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àžà¹àžàžžàžà¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžàžà¹àž²à¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹à¹àžà¹ àžàž²àžàžàž±à¹àžà¹àžà¹àžà¹àž­àžàž­àžàžàžµà¹à¹àžªàžàžàž­àž¢àž¹à¹àžà¹àž²àžàžàžàžà¹àž²àž¢àžàž­àžàž«àžà¹àž² "à¹àžàžµà¹àž¢àž§àžàž±àž" àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž (à¹àžàž£àž¹àžà¹àžàž URL) àžàž²àž¡àžà¹àž§àž¢à¹àž­àžàž­àžàžàžµà¹à¹àžà¹à¹àžàž«àžà¹àž²àž«à¹àž­àžàžªàž¡àžžàžàžàž£àžµàžàžªà¹àžàžà¹àžàž·à¹àž­à¹àžàž·à¹àž­àž¡à¹àž¢àžà¹àžàž¢àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžà¹àž²àžà¹ àžàž±àžà¹àžà¹àžà¹àžàžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàžµà¹àžàž§àžàžàžžàž¡àž¥àž±àžàž©àžàž°àžàž²àž£à¹àžà¹àž²àžàž¶àžàžàž­àž¥à¹àž¥àžàžàž±àžàžªàž³àž«àž£àž±àžàžàž¹à¹à¹àžà¹àžàž±à¹àž§à¹àž àžªàžžàžàžà¹àž²àž¢à¹àžà¹àžàžàž·à¹àžàžàžµà¹ "àžàž³àž­àžàžŽàžàž²àž¢àžàž­àž¥à¹àž¥àžàžàž±àž" àžàž±àžàžàžµà¹àž­àžàžŽàžàž²àž¢à¹àž§à¹à¹àž <a href="creatingacollection.htm">àžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹</a>
+</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/help.xml
===================================================================
--- main/tags/2.83/gli/help/th/help.xml	(revision 21123)
+++ main/tags/2.83/gli/help/th/help.xml	(revision 21123)
@@ -0,0 +1,496 @@
+<?xml version="1.0"?>
+<!DOCTYPE TutorialList [
+     <!ENTITY nbsp "&#160;">
+     <!ENTITY rarr "&#8594;">
+     <!ENTITY mdash "&#8212;">
+]>
+<!-- Thai translations of the GLI Help. Many thanks to Neelawat Intaraksa. -->
+<Document>
+<Section name="introduction">
+<Title>
+<Text id="1">àžàžàžàž³</Text>
+</Title>
+<Text id="2">àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžà¹àžà¹àžàž£àž·à¹àž­àžàž¡àž·àž­àžªàž³àž«àž£àž±àžàžàž²àž£àž£àž§àžàž£àž§àž¡à¹àž­àžàžªàž²àž£ àžàž²àž£à¹àžàžŽà¹àž¡à¹àž¡àžàž²àžàž²àžàž² à¹àž¥àž°àžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàž«à¹àž­àžàžªàž¡àžžàžàžàžŽàžàžŽàžàž±àž¥  àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàžµà¹àžàž°àžà¹àž§àž¢à¹àž«à¹àžàž¹à¹à¹àžà¹àžªàž²àž¡àž²àž£àžà¹àžà¹àž²àžàž¶àžàžàž±àžàžà¹àžàž±àžàžàž²àž£àžàž³àžàž²àžàžàž­àžàžàž­àžàžà¹à¹àž§àž£à¹àž«à¹àž­àžàžªàž¡àžžàžàžàžŽàžàžŽàžàž±àž¥àžàž£àžµàžàžªà¹àžàžà¹àžà¹àžàž²àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹à¹àžàžàžàžµà¹à¹àž¥à¹àž§àžàž¥àžŽàžà¹àžàž£àž¹àžà¹àžàžàžàž£àž²àžàžŽàž</Text>
+<Section name="ofmiceandmenus">
+<Title>
+<Text id="3">àžàž²àž£à¹àžà¹à¹àž¡àž²àžªà¹à¹àž¥àž°à¹àž¡àžàž¹</Text>
+</Title>
+<Text id="4">àžªà¹àž§àžàžàžµà¹àžàž°à¹àžªàžàžàžà¹àž­àž¡àž¹àž¥àžàž·à¹àžàžàž²àžà¹àžàžµà¹àž¢àž§àžàž±àžàžàž²àž£à¹àžà¹àžàž­àžàžàž±àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ àžà¹àž²àžàžžàžàžàžžà¹àžà¹àžàž¢àžàž±àžà¹àžàž£à¹àžàž£àž¡à¹àžà¹àž Internet Explorer àž«àž£àž·àž­ Microsoft Office  à¹àž¥àž°àž£àž¹à¹àžªàž¶àžàžªàž°àžàž§àžàžàžµà¹àžàž°à¹àžà¹àžàž²àž£àžàž¥àžŽàžà¹àž¡àž²àžªà¹à¹àž¥àž°à¹àž¡àžàž¹ à¹àž«à¹àžà¹àž²àž¡à¹àžàžàžµà¹ <Reference target="howtoavoidthisdocument"/></Text>
+<Text id="5">àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àž¡àžµàž¥àž±àžàž©àžàž°àžàž²àž£àžàž³àžàž²àžà¹àžà¹àžà¹àžàžàž²àž¡à¹àžàžà¹àžàžàžàž­àžà¹àž¡à¹àžàž£àžàž­àžàžà¹àž§àžŽàžà¹àžàžªà¹ à¹àž¥àž°àž­àž¢àž¹à¹àžàžàžàž·à¹àžàžàž²àžàžàž­àžàžàž§àž²àž¡àž£àž¹à¹àžàž±à¹àž§à¹àžàžàž­àžàž§àžŽàžà¹àžàžªà¹</Text>
+<Text id="6">àžªà¹àž§àžà¹àžà¹ àžàž­àžàž«àžà¹àž²àžàž­àžàžµà¹àžàžžàžà¹àžà¹àžàž­àžàžà¹àž§àž¢ à¹àžà¹àž àžàžžà¹àž¡àž«àž£àž·àž­à¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž­àžàž§àž²àž¡ àžàž°àžàž¹àžà¹àž£àžµàž¢àžàž§à¹àž² "àžàž±àž§àžàž§àžàžàžžàž¡"  àž àž²àž¢à¹àžàžà¹àž§àžà¹àž§àž¥àž²àžàžµà¹àžàž³àž«àžàž àžàž±àž§àžàž§àžàžàžžàž¡àžàž¶à¹àžà¹àžàžàžµà¹àžàžµà¹à¹àž£àžµàž¢àžàž§à¹àž² "à¹àžàžàž±àžª" àžàž°àžàž¹àžà¹àžà¹àžà¹àž¥àž°àžàž­àžàžªàžàž­àžàžà¹àž­à¹àžà¹àžàžàžŽàž¡àžà¹ àžàž±àž§àžàž§àžàžàžžàž¡àž«àž¥àž²àž¢àžàž±àž§àž­àžàžžàžàž²àžà¹àž«à¹àžàžžàžà¹àž¥àž·àž­àžàžªà¹àž§àžàžà¹àž²àžà¹ àžàžµà¹àžàž¹àžà¹àžà¹àžàžà¹àž§àž¢àžªàžµàžà¹àž³à¹àžàžŽàžà¹àžà¹àž¡à¹àžà¹ à¹àžàžàžàž°àžàžµà¹àžàž±àž§àžàž§àžàžàžžàž¡àžàž²àžàžàž±àž§àžàž°à¹àžà¹àžàžªàžµà¹àžàž²àžàž²àžà¹ à¹àžàž·à¹àž­àžà¹àžàžàžµà¹àž§à¹àž²àžàž¹àžàžàžŽàžàžàž²àž£à¹àžà¹àžàž²àžàž­àž¢àž¹à¹</Text>
+<Text id="7">àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž¥àž·à¹àž­àžà¹àž¡àž²àžªà¹ à¹àž¥àž°àžàž¥àžŽàžàžà¹àž²àž¢àž«àž£àž·àž­àžàž¥àžŽàžàžàž§àž²àžàžµà¹à¹àž¡àž²àžªà¹à¹àžà¹àžàž²àž¡àžàžàžàžŽ àžàž­àž¡à¹àžà¹àžàžàžà¹àžàž³àžàž§àžàž¡àž²àžàž¢àž±àžàžàžàž­àžàžžàžàž²àžà¹àž«à¹àžàžžàž"àž¥àž²àž"àžàž­àž¡à¹àžà¹àžàžàžà¹à¹àž«àž¥à¹àž²àžàž±à¹àžà¹àžà¹ àžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžà¹àž¥àž°àžàžàžàžžà¹àž¡à¹àž¡àž²àžªà¹àžà¹àž²àž¢àžà¹àž²àžà¹àž§à¹ àžàž²àžàžàž±à¹àžà¹àž«à¹àž¢à¹àž²àž¢àžàž­àž¡à¹àžà¹àžàžàžà¹àžà¹àž§àž¢à¹àž¡àž²àžªà¹ à¹àž¥àž°"àžàž¥à¹àž­àž¢" àžàž­àž¡à¹àžà¹àžàžàžà¹à¹àž«àž¥à¹àž²àžàž±à¹àžàž¥àžàžàžµà¹à¹àžàžà¹à¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž¥à¹àž­àž¢àžàžžà¹àž¡àžàžµà¹àžàžàžà¹àž²àžà¹àž§à¹ à¹àžà¹àž²àž«àž¡àž²àž¢àžàž²àž£àžàž¥à¹àž­àž¢àžàžµà¹à¹àžà¹àžà¹àžà¹àžà¹àžàž°àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžàž¥àž±àžàž©àžàž°àžàžµà¹àžàž£àž²àžàžà¹àž¡àž·à¹àž­àžàž­àž¡à¹àžà¹àžàžàžà¹àžà¹àž²àžà¹àž«àžàž·àž­à¹àžà¹àž²àž«àž¡àž²àž¢</Text>
+<Text id="8">àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžà¹àžàžàžŽàž¡àžà¹à¹àžàž·à¹àž­àžàžŽàž¡àžà¹àž¥àžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž­àžàž§àž²àž¡à¹àžà¹ [Tab] àžàž°àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžà¹àžàžàž±àžªàž£àž°àž«àž§à¹àž²àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž­àžàž§àž²àž¡àž«àž¥àž²àž¢à¹àžàžàžà¹àž­àž¡àž¹àž¥</Text>
+<Text id="11">àž­àž­àžàžàž²àžà¹àžàž£à¹àžàž£àž¡àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹à¹àžàž¢à¹àž¥àž·àž­àž "àž­àž­àžàžàž²àžàž£àž°àžàž" àžàžµà¹à¹àž¡àžàž¹ "à¹àžà¹àž¡" àžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàžàžàž°àžàž¹àžàžàž±àžàžàž¶àžàžà¹àž­àžàž­àž­àžàžàž²àžà¹àžàž£à¹àžàž£àž¡</Text>
+</Section>
+<Section name="howtoavoidthisdocument">
+<Title>
+<Text id="12">àž§àžŽàžàžµàž«àž¥àžµàžà¹àž¥àžµà¹àž¢àžàžàž²àž£àž­à¹àž²àžà¹àž­àžàžªàž²àž£àžàžµà¹</Text>
+</Title>
+<Text id="13">àžàž£àžžàžàž²àž­àž¢à¹àž²àž­à¹àž²àžàžà¹àž­àžàž§àž²àž¡àž§àžŽàžàžµà¹àžà¹àžàžµà¹àžàž±à¹àžàž«àž¡àž à¹àžàžµàž¢àžàž­à¹àž²àžà¹àžàž·à¹àž­àžšàž¶àžàž©àž²àž§à¹àž²àžàž°à¹àž£àžµàž¢àžà¹àžà¹àž§àžŽàžàžµà¹àžà¹à¹àžà¹àž­àž¢à¹àž²àžà¹àž£à¹àž¡àž·à¹àž­àžàžžàžàžàž³à¹àžà¹àžàžà¹àž­àžà¹àžà¹àžàž£àžŽàžà¹</Text>
+<Text id="14">àžàž²àž£àžàž¥àžŽàžà¹àž­àžàž­àž "àž§àžŽàžàžµà¹àžà¹" à¹àžàžàž£àžŽàžàžàžà¹àž²àžà¹ àžàž°à¹àžà¹àžàžàž²àž£à¹àžªàžàžàžà¹àž­àžàž§àž²àž¡àž§àžŽàžàžµà¹àžà¹àžàžµà¹à¹àžàžµà¹àž¢àž§àžà¹àž­àžàžàž¶à¹àžàž¡àž²àžàžàž«àžà¹àž²àžàž­ àž«àž£àž·àž­à¹àžà¹àžàžàž²àž£àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàžµà¹àž«àž±àž§à¹àž£àž·à¹àž­àžàž§àžŽàžàžµà¹àžà¹àžàžµà¹à¹àžàžµà¹àž¢àž§àžà¹àž­àžàžà¹àž§àž¢à¹àž­àžàž­àžà¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàž³àžàž²àž¡</Text>
+<Text id="15">àžªàž³àž«àž£àž±àžàžàž±àž§àžàž§àžàžàžžàž¡àžàžµà¹àž¡àžµàžàž³àžàž§àžàž¡àž²àž àžà¹àž²àžàžžàžàž§àž²àžà¹àž¡àž²àžªà¹à¹àž§à¹à¹àž«àžàž·àž­àžàž±àž§àžàž§àžàžàžžàž¡ "à¹àžàž¥à¹àžàž¥àž±àžà¹àžàž£àž·à¹àž­àžàž¡àž·àž­" àžàž°àžàž£àž²àžàžàžàž¶à¹àžà¹àžàž·à¹àž­à¹àžªàžàžàž«àžà¹àž²àžàžµà¹àžàž²àž£àžàž³àžàž²àžàžàž­àžàžàž±àž§àžàž§àžàžàžžàž¡àžàž±à¹àž</Text>
+<Text id="16">àžà¹àž­àžà¹àžà¹àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ à¹àž«à¹àž­à¹àž²àžà¹àž­àžàžªàž²àž£àžàž£àž°àžàž­àžàžàž²àž£à¹àžà¹àžàž²àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžªàžµàž¢àžà¹àž­àž</Text>
+</Section>
+</Section>
+<Section name="startingoff">
+<Title>
+<Text id="17">à¹àž£àžŽà¹àž¡àžàž³à¹àžàžŽàžàžàž²àž£</Text>
+</Title>
+<Text id="18">àžªà¹àž§àžàžàžµà¹àžàž°àžàž£àž­àžàžàž¥àžžàž¡àžàž¶àžàž§àžŽàžàžµàžàž²àž£àžªàž£à¹àž²àž à¹àž«àž¥àž àžàž±àžàžàž¶àž à¹àž¥àž°àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àž</Text>
+<Section name="creatingacollection">
+<Title>
+<Text id="19">àžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹</Text>
+</Title>
+<Text id="20">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹ à¹àž«à¹à¹àžàžŽàžà¹àž¡àžàž¹ "à¹àžà¹àž¡" à¹àž¥àž°à¹àž¥àž·àž­àž "àžªàž£à¹àž²àžà¹àž«àž¡à¹" àžàžžàžàžàž³à¹àžà¹àžàžà¹àž­àžà¹àžªà¹àžà¹àž­àž¡àž¹àž¥à¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž²àžà¹ -- à¹àžà¹àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžà¹àž²à¹àž«àž¥à¹àž²àžàž±à¹àžà¹àžàž¡àžžàž¡àž¡àž­àž "àž£àž¹àžà¹àžàž" à¹àžà¹à¹àžàž àž²àž¢àž«àž¥àž±àžàžà¹àž²àžàžžàžàžà¹àž­àžàžàž²àž£</Text>
+<Text id="21">"àžàž·à¹àž­àžàž­àž¥à¹àž¥àžàžàž±àž" à¹àžà¹àžàžà¹àž­àžàž§àž²àž¡àžàžµà¹à¹àžªàžàžàž­àž¢àž¹à¹àžàž£àžŽà¹àž§àžàžªà¹àž§àžàžàžàžªàžžàžàžàž­àžàž«àžà¹àž²à¹àž£àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž àžàž¶à¹àžàžàž°àž¡àžµàžàž§àž²àž¡àž¢àž²àž§à¹àžà¹àž²à¹àžàžà¹à¹àžà¹</Text>
+<Text id="22">"àžàž³àž­àžàžŽàžàž²àž¢à¹àžàž·à¹àž­àž«àž²" àžàž§àž£àž­àžàžŽàžàž²àž¢à¹àžàž·à¹àž­àž«àž²à¹àžàžµà¹àž¢àž§àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àžàž­àž¢à¹àž²àžàž¥àž°à¹àž­àžµàž¢àžà¹àžà¹àž²àžàžµà¹àžàž°à¹àžà¹àžà¹àžà¹àžà¹ à¹àž«à¹à¹àžà¹à¹àžà¹àž [Enter] à¹àžàž·à¹àž­à¹àžà¹àžà¹àžàž·à¹àž­àž«àž²à¹àžà¹àžàž¢à¹àž­àž«àžà¹àž²</Text>
+<Text id="23">àžà¹àž²àž¢àžªàžžàžàžàžµà¹ àžàžžàžàžàž°àžà¹àž­àžàž£àž°àžàžžàž§à¹àž² àžà¹àž­àžàžàž²àž£à¹àž«à¹àžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹àžàž°àž¡àžµàž£àž¹àžàž£à¹àž²àžàž¥àž±àžàž©àžàž°à¹àž¥àž°àžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡àž·àž­àžàžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹àž«àž£àž·àž­à¹àž¡à¹ àž«àž£àž·àž­ àžà¹àž­àžàžàž²àž£à¹àž£àžŽà¹àž¡ "àžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹" àžàž²àž¡àžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž àžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžªàž£à¹àž²àžà¹àž«àž¡à¹àžàž²àž¡àžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àžàžàž°àž¡àžµàžàž²àž£àžàž³àž«àžàžàžà¹àž²àž¡àž²àžàž£àžàž²àž à¹àž¥àž°à¹àžà¹àžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžàž£àž¹àžà¹àžàžàžàž­àžàžàž±àžàž¥àžŽàžàžàž­àž£à¹ à¹àžàž¢àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžà¹àž²à¹àž«àž¥à¹àž²àžàžµà¹à¹àžà¹à¹àžàž àž²àž¢àž«àž¥àž±àž</Text>
+<Text id="24">àžàž¥àžŽàž "àžàžàž¥àž" à¹àžàž·à¹àž­àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž</Text>
+<Text id="25">àžàž²àž£àžàž¥àžŽàž "àž¢àžà¹àž¥àžŽàž" àžàž°àžàž²àžàžžàžàžàž¥àž±àžà¹àžàž¢àž±àžàž«àžà¹àž²àžàž­àž«àž¥àž±àžàžàž±àžàžàžµ</Text>
+</Section>
+<Section name="savingacollection">
+<Title>
+<Text id="26">àžàž²àž£àžàž±àžàžàž¶àžàžàž­àž¥à¹àž¥àžàžàž±àž</Text>
+</Title>
+<Text id="27">àžàž±àžàžàž¶àžàžàž²àžàžàž­àžàžàžžàžàž­àž¢à¹àž²àžàžªàž¡à¹àž³à¹àžªàž¡àž­àžà¹àž§àž¢àžàž²àž£à¹àžàžŽàžà¹àž¡àžàž¹ "à¹àžà¹àž¡" à¹àž¥àž°à¹àž¥àž·àž­àž "àžàž±àžàžàž¶àž"  àžàž²àž£àžàž±àžàžàž¶àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž¡à¹à¹àž«àž¡àž·àž­àžàžàž±àžàžàž²àž£à¹àžàž£àžµàž¢àž¡àžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž·à¹àž­à¹àžà¹àžàž²àžà¹àžà¹àžàž±àžàžàžµà¹àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž (àžàž¹àžàžµà¹ <Reference target="producingthecollection"/>)</Text>
+<Text id="28">àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž°àžà¹àž§àž¢àžàžàžà¹àž­àžàžàž²àžàžàž­àžàžàžžàžàžà¹àž§àž¢àžàž²àž£àžàž±àžàžàž¶àžàžàž²àžà¹àž¡àž·à¹àž­à¹àžàžà¹àžàž²àž¡àžàžµà¹àžàžžàžàž­àž­àžàžàž²àžà¹àžàž£à¹àžàž£àž¡àž«àž£àž·àž­à¹àž«àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àžàž­àž·à¹àž</Text>
+<Text id="29a">àžàž­àž¥à¹àž¥àžàžàž±àžàžàž°àžàž¹àžàžàž±àžàžàž¶àžàž¥àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹àž àž²àž¢à¹àžà¹àžàž¥à¹àžàž­àž£à¹ "collect" àžàž­àžàžªà¹àž§àžàžàž²àž£àžàžŽàžàžàž±à¹àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž à¹àžàž¢àžàž°à¹àžà¹àžàž·à¹àž­àžªàž±à¹àžà¹ àžàž²àž¡àžàž·à¹àž­àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àž­àžàžªàž²àž£àžà¹àž²àžà¹ àžàž°àžàž¹àžàžàž±àžàžàž¶àžàž¥àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹àž¢à¹àž­àž¢"import" à¹àž¥àž°à¹àž¡àžàž²àžàž²àžàž²àžàž°àžàž¹àžàžàž±àžàžàž¶àžàž¥àžà¹àžà¹àžà¹àž¡ "metadata.xml" àž àž²àž¢à¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹ àžà¹àž­àž¡àž¹àž¥à¹àžàžµà¹àž¢àž§àžàž±àžàžàž²àž£àžàž³àž«àžàžàžà¹àž²àžàž°àžàž¹àžàžàž±àžàžàž¶àžàž¥àžà¹àžà¹àžà¹àž¡ "collect.cfg" àž àž²àž¢à¹àžà¹àžàž¥à¹àžàž­àž£à¹àž¢à¹àž­àž¢ "etc"  àžà¹àž­àž¡àž¹àž¥àžàž²àžàž­àž¢à¹àž²àžàžàž°àžàž¹àžàžàž±àžàžàž¶àžàž¥àžà¹àžà¹àžà¹àž¡àžàžµà¹àž¡àžµàžàž²àž£àžàž³àž«àžàžàžàž·à¹àž­àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àž à¹àž¥àž°àž¡àžµàžàž²àž¡àžªàžàžžàž¥à¹àžà¹àž¡à¹àžà¹àž ".col"</Text>
+</Section>
+<Section name="openingacollection">
+<Title>
+<Text id="30">àžàž²àž£à¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹</Text>
+</Title>
+<Text id="31">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹ à¹àž«à¹à¹àž¥àž·àž­àž "à¹àžàžŽàž" àžàž²àžà¹àž¡àžàž¹ "à¹àžà¹àž¡" à¹àžàž·à¹àž­à¹àž«à¹à¹àžà¹àžàž£à¹àž­àž¡àžà¹ "à¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àž" àž£àž²àž¢àžàž²àž£àžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàž­àžàžàžžàžàžàž°àžàž£àž²àžàžàžàž¶à¹àž à¹àž¥àž·àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžà¹àž­àžàžàž²àž£àžàž¶à¹àžàž¡àž²àž«àžàž¶à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž·à¹àž­àžàž¹àžàž³àž­àžàžŽàžàž²àž¢ à¹àž¥àž°àžàž¥àžŽàž "à¹àžàžŽàž" à¹àžàž·à¹àž­à¹àž«àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž¶à¹àžàž¡àž²</Text>
+<Text id="32">à¹àžàžàž£àžàžµàžàžµà¹àž¡àžµàžàž²àž£à¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžàž£à¹àžàž£àž¡àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàž¡àž²àžàžàž§à¹àž²àž«àžàž¶à¹àžà¹àžàž£à¹àžàž£àž¡à¹àžà¹àž§àž¥àž²à¹àžàžµàž¢àž§àžàž±àž à¹àžà¹àž£àžàžàž­àž£àžµàžàžµà¹à¹àžàžµà¹àž¢àž§àžà¹àž­àžàžàž°àžàž¹àž "àž¥à¹àž­àž" à¹àžàž·à¹àž­àžà¹àž­àžàžàž±àžàžàž²àž£àž£àžàžàž§àžàžàž±àž à¹àžàžàž²àž£à¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àžà¹àž¡àž¥à¹àž­àžàžàž±à¹àž§àžàž£àž²àž§àžàžàž²àžà¹àž¥à¹àžàžàž°àžàž¹àžàžªàž£à¹àž²àžàžàž¶à¹àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž àžà¹àž­àžàžàž³àžàž²àž£à¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àž àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž°àžàž³à¹àžàžŽàžàžàž²àž£àžàž£àž§àžàžªàž­àžà¹àžàž·à¹àž­à¹àž«à¹à¹àžà¹à¹àžàž§à¹àž²à¹àž¡à¹àž¡àžµà¹àžà¹àž¡àž¥à¹àž­àžàžàžµà¹àžàž£àž²àžàžàž­àž¢àž¹à¹à¹àž¥à¹àž§ àž­àž¢à¹àž²àžà¹àž£àžà¹àžàž²àž¡ àž«àž²àžàžàžžàžàž­àž­àžàžàž²àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžà¹àž­àžàžàž¶àžà¹àž§àž¥àž²àž­àž±àžàžàž§àž£ à¹àžàžàž²àžàžàž£àž±à¹àžà¹àžà¹àž¡àž¥à¹àž­àžàž­àž²àžàžàž°àž¢àž±àžàžàžàžàž£àž²àžàžàž­àž¢àž¹à¹ à¹àž¡àž·à¹àž­àžàžžàžà¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàžŽàž¡ àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž°àžàž²àž¡àž§à¹àž² àžàžžàžàžà¹àž­àžàžàž²àž£ "àžà¹àž¡àž¢" àžàž²àž£àžàž§àžàžàžžàž¡àžàž­àž¥à¹àž¥àžàžàž±àžàž«àž£àž·àž­à¹àž¡à¹ à¹àž«à¹àžàžžàžàžàž³à¹àžà¹àžàžàž±à¹àžà¹àžà¹àž­àž¢à¹àž²àžàžªàžàž²àž¢à¹àž àžàž­àžà¹àžªàžµàž¢àžàž²àžàžàžžàžàžàžŽàžàž§à¹àž²àž¡àžµà¹àžàž£àžàž²àžàžàžàžàž³àž¥àž±àžàžàž³àžàž²àžàžàžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàžµàž¢àž§àžàž±àžàž­àž¢àž¹à¹</Text>
+<Text id="33">à¹àž¡àž·à¹àž­àžàžžàžà¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àž¡à¹à¹àžà¹àžªàž£à¹àž²àžàžàž²àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ àž£àž°àžàžàžàž°àžàž³àž«àžàžà¹àžà¹àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àž£àž¹àžà¹àžàžàžàž±àžàž¥àžŽàžàžàž­àž£à¹à¹àž«à¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àž à¹àž¥àž°à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàž­àž¢àž¹à¹àžàž°àžàž¹àžàžàž³à¹àžà¹àž²à¹àžàž£àž¹àžà¹àžàžà¹àžàžŽàž¡à¹àž¡àž·à¹àž­àžàžžàžàž¥àž²àžà¹àžà¹àž¡àžàžµà¹àž¡àžµà¹àž¡àžàž²àžàž²àžàž²àž­àž¢àž¹à¹à¹àž¥à¹àž§à¹àžà¹àž²àž¡àž² à¹àžà¹àž¡àžµàžàž²àž£àž­àžàžŽàžàž²àž¢àžàž£àž°àžàž§àžàžàž²àž£àžàžµà¹à¹àž§à¹à¹àžàžªà¹àž§àž <Reference target="importingpreviouslyassignedmetadata"/></Text>
+</Section>
+<Section name="deletingcollections">
+<Title>
+<Text id="34">àžàž²àž£àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àž</Text>
+</Title>
+<Text id="35">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àžàž­àž­àžàžàž²àžàžàž²àž£àžàžŽàžàžàž±à¹àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàž­àžàžàžžàžàž­àž¢à¹àž²àžàžàž²àž§àž£ à¹àž«à¹à¹àž¥àž·àž­àž "àž¥àžâŠ" àžàž²àžà¹àž¡àžàž¹ "à¹àžà¹àž¡" àž£àž²àž¢àžàž²àž£àžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàžàžàž°àžàž£àž²àžàžàžàž¶à¹àž  à¹àž«à¹à¹àž¥àž·àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž·à¹àž­àžàž¹àžàž³àž­àžàžŽàžàž²àž¢ à¹àž¥à¹àž§àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àž«àžà¹àž²àžàž¥à¹àž­àžàžàžµà¹àž­àž¢àž¹à¹àžà¹àž²àžàž¥à¹àž²àžàžªàžžàžàžàž­àžàžàž¥à¹àž­àžà¹àžà¹àžàž­àž àžàž²àžàžàž±à¹àžàžàž¥àžŽàžàžàžµà¹ "àž¥àžâŠ" àžàž²àž£àžàž£àž°àžàž³àžàžµà¹à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¢à¹àž­àžàžàž¥àž±àžà¹àžà¹ àžàž±àžàžàž±à¹àžàžàž­à¹àž«à¹àž£àž°àž¡àž±àžàž£àž°àž§àž±àžà¹àžàžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£àžà¹àž§àž¢</Text>
+</Section>
+</Section>
+<Section name="downloadingfiles">
+<Title>
+<Text id="36">àžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžà¹àžà¹àž¡àžàž²àžàž­àžŽàžà¹àžàž­àž£à¹à¹àžà¹àž</Text>
+</Title>
+<Text id="37">àž¡àžžàž¡àž¡àž­àž <AutoText key="glidict::GUI.Download"/> àžàž°àžà¹àž§àž¢à¹àž«à¹àžªàž²àž¡àž²àž£àžàžàžžàžàžàž²àž§àžà¹à¹àž«àž¥àžàžàž£àž±àžàž¢àž²àžàž£àžàž²àžàž­àžŽàžà¹àžàž­àž£à¹à¹àžà¹àžà¹àžà¹  àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàžàž£àž°àžàž§àžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžàžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹</Text>
+<Section name="themirrorview">
+<Title>
+<Text id="38">àž¡àžžàž¡àž¡àž­àžàžàž²àž§àžà¹à¹àž«àž¥àž</Text>
+</Title>
+<Text id="39">àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž²àž£àžàž³àž«àžàžàžà¹àž²àžàž²àžàžàž²àž§àžà¹à¹àž«àž¥àž à¹àž¥àž°àžàž²àž£àžàž§àžàžàžžàž¡àžàž£àž°àžàž§àžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹àž²àžàž¶àžàž¡àžžàž¡àž¡àž­àž <AutoText key="glidict::GUI.Download"/> à¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžàžàžµà¹à¹àžà¹àžàžàž­àžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž àžàž£àž¶à¹àžàžàžàžàž­àžàž«àžà¹àž²àžàž­àžàž°à¹àžªàžàžàžàž±àž§àžàž§àžàžàžžàž¡àžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž àžªà¹àž§àžàžàž£àž¶à¹àžàž¥à¹àž²àžàžàž°à¹àž£àžŽà¹àž¡àžà¹àžàžà¹àž§àž¢àžà¹àž²àž§à¹àž²àž à¹àžà¹àžàž°à¹àžªàžàžàž£àž²àž¢àžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžàžàžµà¹àžàžàžà¹àž²àž à¹àž¥àž°àž£àž²àž¢àžàž²àž£àžàžµà¹à¹àžªàž£à¹àžàžªàž¡àžàž¹àž£àžà¹à¹àž¥à¹àž§</Text>
+<Text id="39a">àž¡àžµàž«àž¥àž²àž¢à¹àžàž£à¹àžàžàž­àž¥àžàžµà¹àžªàž²àž¡àž²àž£àžà¹àžà¹àžàž²àž§àžà¹à¹àž«àž¥àžàžà¹àž­àž¡àž¹àž¥à¹àžà¹ à¹àž¥àž°àž£àž°àžàžàžàž°à¹àžªàžàžàž£àž²àž¢àžàž²àž£à¹àžàž£à¹àžàžàž­àž¥à¹àž«àž¥à¹àž²àžàžµà¹à¹àž§à¹àžàž£àžŽà¹àž§àžàžà¹àž²àžàžàžàžà¹àž²àž¢àžàž­àžàž«àžà¹àž²àžàž­</Text>
+<Text id="39b"><b>à¹àž§à¹àž:</b> àžàž²àž§àžà¹à¹àž«àž¥àžàž«àžà¹àž²à¹àž§à¹àžà¹àž¥àž°à¹àžà¹àž¡àžà¹àž²àžà¹àžàž£à¹àžàžàž­àž¥ HTTP à¹àž¥àž° FTP</Text>
+<Text id="39c"><b>OAI:</b> àžàž²àž§àžà¹à¹àž«àž¥àžàž£àž°à¹àžàžµàž¢àžà¹àž¡àžàž²àžàž²àžàž²àžàž²àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹ OAI (Open Archives Initiative)</Text>
+<Text id="39d"><b>Z3950:</b> àžàž²àž§àžà¹à¹àž«àž¥àžàž£àž°à¹àžàžµàž¢àž MARC àžàžµà¹àžàž£àžàžàž±àžà¹àžàž·à¹àž­àžà¹àžàžàž²àž£àžà¹àžàž«àž²à¹àžàžà¹àžàžàž²àž°à¹àžàž²àž°àžàžàžàž²àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹ Z39.50</Text>
+<Text id="39e"><b>SRW:</b> àžàž²àž§àžà¹à¹àž«àž¥àžàž£àž°à¹àžàžµàž¢àž MARCXML àžàžµà¹àžàž£àžàžàž±àžà¹àžàž·à¹àž­àžà¹àžàžàž²àž£àžà¹àžàž«àž²à¹àžàžà¹àžàžàž²àž°à¹àžàž²àž°àžàžàžàž²àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹ SRW</Text>
+<Text id="39f">à¹àž¥àž·àž­àžà¹àžàž£à¹àžàžàž­àž¥àžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡à¹àžàž¢àžàž¥àžŽàžà¹àž¥àž·àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£àžàž²àžàžà¹àž²àž¢àž¡àž·àž­ àžàž²àžàžàž±à¹àžàž£àž°àžàžàžàž°à¹àžªàžàžàžàž±àž§à¹àž¥àž·àž­àžàžàžµà¹àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹àžªàž³àž«àž£àž±àžà¹àžàž£à¹àžàžàž­àž¥àžàž²àž§àžà¹à¹àž«àž¥àžàžàžµà¹àžàžžàžà¹àžà¹à¹àž¥àž·àž­àžàžàž²àžàžà¹àž²àžàžàž§àž²àž¡àž·àž­ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžà¹àžàž«àž²àž§à¹àž²àžàž±àž§à¹àž¥àž·àž­àžà¹àžà¹àž¥àž°àžàž±àž§àžàž³àžàž²àžàž­àž°à¹àž£ à¹àž«à¹à¹àžàž¥àž·à¹àž­àžà¹àž¡àž²àžªà¹à¹àž«àžàž·àž­àžàž±àž§à¹àž¥àž·àž­àžàžàž±à¹àž à¹àžàž¥à¹àžàž¥àž±àžà¹àžàž£àž·à¹àž­àžàž¡àž·àž­àžàžµà¹àž­àžàžŽàžàž²àž¢àžàž±àž§à¹àž¥àž·àž­àžàžàž°àžàž£àž²àžàžàžàž¶à¹àž àžàž±àž§à¹àž¥àž·àž­àžàžàž²àžàžàž±àž§à¹àžà¹àžà¹àžàž 'à¹àžà¹àžàžàž²àžà¹àž¥àž·àž­àž' à¹àžàž¢àžàž±àž§à¹àž¥àž·àž­àžà¹àž«àž¥à¹àž²àžàžµà¹àžàž°àžàž¹àžà¹àžªàžàžàžàž¶à¹àžà¹àžàž£àž¹àžà¹àžàžàžàž­àžàžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢ àžàž¶à¹àžàžàžžàžàžàž°àžà¹àž­àžàžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžà¹àžàž²àžàžàž±àž§à¹àž¥àž·àž­àžàžàž±à¹àž àžàž±àž§à¹àž¥àž·àž­àžàž­àž·à¹àžà¹ à¹àžà¹àžà¹àžàž 'àžà¹àž­àžàž£àž°àžàžž' àžàž±àž§à¹àž¥àž·àž­àžà¹àž«àž¥à¹àž²àžàžµà¹àžàž°à¹àž¡à¹àž¡àžµàžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢ à¹àž¥àž°àžàžžàžàžàž°àžà¹àž­àžàžàž³àž«àžàžàžà¹àž²àžàž±à¹àžàžà¹àž­àžàžàž³à¹àžàžŽàžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž</Text>
+<Text id="39g">àžàž±àžàžàžµàžàžµà¹à¹àžà¹àžàž±à¹àžàžà¹àž²àžàž²àž£àžàž³àž«àžàžàžà¹àž²à¹àž¥à¹àž§ à¹àž«à¹àžàž¥àžŽàžàžàžµà¹ <AutoText key="glidict::Download.ServerInformation"/> à¹àžàž·à¹àž­àžàž£àž§àžàžªàž­àžàžàž²àž£à¹àžàž·à¹àž­àž¡àžà¹àž­à¹àžàž¢àž±àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹ à¹àž¥àž°àžàž¹àžà¹àž­àž¡àž¹àž¥àžàž±à¹àž§à¹àžà¹àžàžµà¹àž¢àž§àžàž±àžàž«àžà¹àž²à¹àž§à¹àžàž«àž£àž·àž­à¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹ àž«àž£àž·àž­àžàž¥àžŽàžàžàžµà¹ <AutoText key="glidict::Mirroring.Download"/> à¹àžàž·à¹àž­à¹àž£àžŽà¹àž¡àžà¹àžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž</Text>
+<Text id="39g-1">àž¡àžµàžàžžà¹àž¡àž­àžµàžàžªàž­àžàžàžžà¹àž¡ àžàž·àž­ àžàžžà¹àž¡ "àžàž³àž«àžàžàžàžžàžàž¥àž±àžàž©àžàž°" àžàž¶à¹àžàžàž°à¹àžàž·à¹àž­àž¡à¹àž¢àžà¹àžàž¢àž±àžàžªà¹àž§àžàžàž²àž£à¹àžàž·à¹àž­àž¡àžà¹àž­àžàž­àžàžàž²àž£àžàž³àž«àžàžàžàžžàžàž¥àž±àžàž©àžàž°àžàžµà¹àžàž¶à¹àžàžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžàžàž²àž£àžàž±à¹àžàžà¹àž²àžàž£à¹àž­àžàžàžµà¹àžà¹ à¹àž¥àž°àžàžžà¹àž¡ "àž¥à¹àž²àžàžà¹àž²à¹àžàž' àžàž¶à¹àžàžàž°àžàž³àžàž²àž£àž¥àžà¹àžà¹àž¡àžàžµà¹à¹àžà¹àžàž²àž§àžà¹à¹àž«àž¥àžà¹àž§à¹àžà¹àž­àžàž«àžà¹àž²àžàžµà¹àžàž±à¹àžàž«àž¡àž àžàžžàžàžàž³à¹àžà¹àžàžà¹àž­àžàžàž±à¹àžàžà¹àž²àžà¹àž­àž¡àž¹àž¥àžàž£à¹àž­àžàžàžµàžà¹àž²àžàžžàžàžàž°à¹àžà¹àžàž£à¹àž­àžàžàžµà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹à¹àžàž·à¹àž­à¹àžàž·à¹àž­àž¡àžà¹àž­à¹àžàž¢àž±àžàž­àžŽàžà¹àžàž­àž£à¹à¹àžà¹àž àžà¹àž²àžàž³à¹àžà¹àžàžà¹àž­àžàž¡àžµàžàž²àž£àžàž£àž§àžàžªàž­àžàžªàžŽàžàžàžŽà¹àž£àž°àž«àž§à¹àž²àžàžàž£àž°àžàž§àžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž àžàž£à¹àž­àžàžàžµà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹àžàž°àžàž²àž¡àžàž·à¹àž­àžàž¹à¹à¹àžà¹à¹àž¥àž°àž£àž«àž±àžªàžà¹àž²àž àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž°à¹àž¡à¹à¹àžà¹àžàž£àž«àž±àžªàžà¹àž²àžàž£àž°àž«àž§à¹àž²àžà¹àžàžªàžàž±àž</Text>
+<Text id="40">à¹àžà¹àž¡àžàž°àžàž¹àžàžàž²àž§àžà¹à¹àž«àž¥àžàž¥àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàž·à¹àž­ <AutoText key="glidict::Tree.DownloadedFiles"/> (àžàž°àžàž£àž²àžàžàžàž¶à¹àžà¹àžàžàž²àž°à¹àž¡àž·à¹àž­à¹àžàžŽàžà¹àžà¹àžàž²àžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž) à¹àž¥àž°àžªàž²àž¡àž²àž£àžàžàž³àž¡àž²à¹àžà¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹ àžà¹à¹àžà¹ à¹àžà¹àž¡àžàž°àžàž¹àžàžàž±à¹àžàžàž·à¹àž­àžàž²àž¡ URL àžàž­àžà¹àž§à¹àžà¹àžàžà¹àžà¹àž¡ (àžªàž³àž«àž£àž±àžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžà¹àž§à¹àž) àž«àž£àž·àž­àžàž²àž£àž£àž§àž¡àžàž±àžàžàž­àž URL à¹àž¥àž°àžà¹àž²àžàž±àž§à¹àž¥àž·àž­àž (àžªàž³àž«àž£àž±àžàžàžàžŽàžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžàž­àž·à¹àžà¹) à¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹àžàž°àžàž¹àžàžªàž£à¹àž²àžàžàž¶à¹àžàžªàž³àž«àž£àž±àžà¹àžà¹àž¥àž°à¹àž®àžªàžà¹ àžàž²àž¡àžà¹àž§àž¢à¹àžàž¥à¹àžàž­àž£à¹àž­àž·à¹àžà¹ àžªàž³àž«àž£àž±àžà¹àžà¹àž¥àž°àžªà¹àž§àžàžàž­àžà¹àžªà¹àžàžàž²àž àžàž¶à¹àžàžàž°àžà¹àž§àž¢à¹àž«à¹àž¡àž±à¹àžà¹àžà¹àžà¹àž§à¹àž²à¹àžà¹àž°àž¥àž°à¹àžà¹àž¡àžàž°àž¡àžµàžàž§àž²àž¡à¹àžàžàžà¹àž²àžàžàž±àžàž­àž¢à¹àž²àžàžàž±àžà¹àžàž</Text>
+<Text id="42">àž£àž²àž¢àžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžàžàž°àž¡àžµàž£àž²àž¢àžàž²àž£àž«àžàž¶à¹àžàž£àž²àž¢àžàž²àž£àžà¹àž­àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžà¹àžà¹àž¥àž°àžàž£àž±à¹àž à¹àžàž¢à¹àžà¹àž¥àž°àž£àž²àž¢àžàž²àž£àžàž°àž¡àžµàžàž­àžà¹àžàžàžà¹àž­àžàž§àž²àž¡àžàžµà¹à¹àžªàžàžàž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžàžàž­àžàžàž²àžàžàž£à¹àž­àž¡àžà¹àž§àž¢à¹àžàžàžàž§àž²àž¡àžàž·àžàž«àžà¹àž²àžàžµà¹à¹àžªàžàžàžàžŽàžàžàž£àž£àž¡àžàžµà¹àžàž³à¹àžàžŽàžàžàž²àž£àž­àž¢àž¹à¹à¹àžàžàž±àžàžàžžàžàž±àž àžàž°àž¡àžµàžàžžà¹àž¡àžªàž²àž¡àžàžžà¹àž¡àžàž£àž²àžàžàžàž¶à¹àžàžàž²àžàžà¹àž²àžàžàž§àž²àž¡àž·àž­àžàž­àžà¹àžà¹àž¥àž°àž£àž²àž¢àžàž²àž£ àžàž±àžàžàž³àž­àžàžŽàžàž²àž¢àžà¹àž­à¹àžàžàžµà¹ "àž«àž¢àžžàžàžàž±à¹àž§àžàž£àž²àž§" à¹àžà¹àž«àž¢àžžàžàžàž²àž£àžàž³àžàž²àžà¹àžàžàžàž±à¹àž§àžàž£àž²àž§  "àžàž¹à¹àžà¹àž¡àžàž±àžàžàž¶àž" à¹àžà¹àžàžàž²àž£à¹àžàžŽàžàž«àžà¹àž²àžà¹àž²àžàžàž¶à¹àžà¹àžªàžàžà¹àžà¹àž¡àžàž±àžàžàž¶àžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž  "àžàžŽàž" àžàž°à¹àžà¹àžàžàž²àž£àžªàžŽà¹àžàžªàžžàžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž à¹àž¥àž°àž¥àžàžàž²àžàž­àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž</Text>
+</Section>
+</Section>
+<Section name="collectingfiles">
+<Title>
+<Text id="44">àžàž²àž£àž£àž§àžàž£àž§àž¡à¹àžà¹àž¡àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž</Text>
+</Title>
+<Text id="45">àžàž±àžàžàžµàžàžµà¹àžàžžàžàž¡àžµàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹ àžàžžàžàžàž³à¹àžà¹àžàžà¹àž­àžà¹àžªà¹à¹àžà¹àž¡àžàž²àžà¹àžà¹àž¡à¹àžªà¹àž¥àžà¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àž à¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàžµà¹àž­àž²àžàž¡àž²àžàž²àžàžàž·à¹àžàžàžµà¹à¹àžà¹àž¡àžàžàžàžŽ àžàž²àžà¹àžà¹àž¡àžàžµà¹à¹àžà¹àžàž²àž§àžà¹à¹àž«àž¥àžà¹àž§à¹àžà¹àž­àžàž«àžà¹àž²àžàžµà¹ àž«àž£àž·àž­àžàž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž£àžµàžàžªà¹àžàžàž­àž·à¹àžà¹ à¹àžàž¢àžàž²àžà¹àžà¹àž¡àž­àž²àžàžàž°àž¡àžµà¹àž¡àžàž²àžàž²àžàž²à¹àžàžàž¡àž²àžà¹àž§àž¢à¹àž¥à¹àž§ àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž²àž£àžàž³à¹àžà¹àž²à¹àžà¹àž¡àžà¹àž²àžà¹</Text>
+<Section name="thegatherview">
+<Title>
+<Text id="46">àž¡àžžàž¡àž¡àž­àž "àž£àž§àžàž£àž§àž¡"</Text>
+</Title>
+<Text id="47">àžªà¹àž§àžàžàžµà¹àžàž°à¹àžàž°àžàž³à¹àžàž·à¹àž­àž«àž²à¹àžàžµà¹àž¢àž§àžàž±àžàžàž·à¹àžàžàžµà¹ "àž£àž§àžàž£àž§àž¡" àžàž¶à¹àžàžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžàž·à¹àž­à¹àž¥àž·àž­àžà¹àžà¹àž¡àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžàžžàžàžàž³àž¥àž±àžàžàž°àžªàž£à¹àž²àž àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹à¹àž£àžŽà¹àž¡àžà¹àžàžàž°àžà¹àž§àž¢àž¡àžžàž¡àž¡àž­àž "àž£àž§àžàž£àž§àž¡" à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž¥àž±àžà¹àžàž¢àž±àžàž¡àžžàž¡àž¡àž­àžàžàžµà¹à¹àžàž àž²àž¢àž«àž¥àž±àž à¹àž«à¹àžàž¥àžŽàžà¹àžà¹àž <AutoText key="glidict::GUI.Gather"/> àžàžµà¹à¹àžà¹à¹àžàžà¹àž¡àžàž¹à¹àžàž¢àžàž£àž</Text>
+<Text id="48">àžàž·à¹àžàžàžµà¹àžàžàž²àžà¹àž«àžà¹àžªàž­àžàžàž·à¹àžàžàžµà¹àžàž¶à¹àžàž¡àžµàžàž·à¹àž­àž§à¹àž² "àžàž·à¹àžàžàžµà¹àžàž³àžàž²àž" à¹àž¥àž° "àžàž­àž¥à¹àž¥àžàžàž±àž" àžàž°àžàž¹àžà¹àžà¹à¹àžàžàž²àž£à¹àžàž¥àž·à¹àž­àžàž¢à¹àž²àž¢à¹àžà¹àž¡à¹àžàž¢àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž àžàž·à¹àžàžàžµà¹à¹àž«àž¥à¹àž²àžàžµà¹àžàž£àž°àžàž­àžàžà¹àž§àž¢ "à¹àžàžàžàž±àžà¹àžà¹àž¡àž£àž¹àžàžà¹àžà¹àž¡à¹" àžàž¶à¹àžàžàž°à¹àžªàžàžà¹àž«à¹à¹àž«à¹àžà¹àžà¹àž¡à¹àž¥àž°à¹àžàž¥à¹àžàž­àž£à¹</Text>
+<Text id="49">à¹àž«à¹à¹àž¥àž·àž­àžàž£àž²àž¢àžàž²àž£à¹àžà¹àžàžàžàž±àžàžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžàž£àž²àž¢àžàž²àž£àžàžµà¹àžà¹àž­àžàžàž²àž£ (àž¢àž±àžàž¡àžµàž§àžŽàžàžµàž­àž·à¹àžà¹ àž­àžµàž à¹àžàž¢àžªàž²àž¡àž²àž£àžàžàž¹à¹àžà¹àžà¹àž²àžàž¥à¹àž²àž) àžàž¥àžŽàžàžªàž­àžàžàž£àž±à¹àžàžàžµà¹à¹àžàž¥à¹àžàž­àž£à¹ àž«àž£àž·àž­àžàž¥àžŽàžàž«àžàž¶à¹àžàžàž£àž±à¹àžàžàžµà¹àžªàž±àžàž¥àž±àžàž©àžà¹àžªàž§àžŽàžàžà¹àžàžµà¹àž­àž¢àž¹à¹àžà¹àž²àžàžà¹àž²àžà¹àžàž·à¹àž­àžàž¢àž²àž¢ (àž«àž£àž·àž­àž¢àžžàžàž¢à¹àž­) à¹àžàž·à¹àž­àž«àž²àžàž­àžà¹àžàž¥à¹àžàž­àž£à¹ àžàž¥àžŽàžàžªàž­àžàžàž£àž±à¹àžàžàžµà¹à¹àžà¹àž¡ (àž«àž£àž·àž­àžàž¥àžŽàžàžàž§àž²à¹àž¥àž°à¹àž¥àž·àž­àž <AutoText key="glidict::Menu.Open_Externally"/>) à¹àžàž·à¹àž­à¹àžàžŽàžà¹àžà¹àž¡àžà¹àž§àž¢à¹àžàž£à¹àžàž£àž¡àžàž£àž°àž¢àžžàžàžà¹àžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžà¹àžà¹àž¡àžàž±à¹àž (àžàž¹àžàžµà¹ <Reference target="fileassociations"/>)</Text>
+<Text id="50">à¹àžàžàžàž±àžà¹àžà¹àž¡àž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž·à¹àžàžàžµà¹àžàž³àžàž²àžàžàž°à¹àžªàžàžà¹àž«àž¥à¹àžàžàž­àžàžà¹àž­àž¡àž¹àž¥àžàžµà¹àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžªàž²àž¡àž²àž£àžà¹àžà¹àžàž²àžà¹àžà¹ -- àž£àž°àžàžà¹àžà¹àž¡à¹àžà¹àžàž£àž·à¹àž­àž (àž£àž§àž¡àžàž¶àžàžàžŽàžªàžà¹à¹àžàž£àžà¹ à¹àž¥àž°àžàžµàžàžµàž£àž­àž¡à¹àžàž£à¹àž) à¹àžàž·à¹àž­àž«àž²àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž£àžµàžàžªà¹àžàžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹ à¹àž¥àž°à¹àžàžàžàž­àžà¹àžà¹àž¡àžà¹àž²àžà¹ àžàžµà¹àžàž²àž§àžà¹à¹àž«àž¥àž àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³àžªàž³à¹àžàž²à¹àž¥àž°àžàž¹à¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàžµà¹à¹àžà¹ à¹àžà¹àžàžžàžà¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¢à¹àž²àž¢ àž¥àž àž«àž£àž·àž­à¹àžà¹à¹àžà¹àžà¹àž¡à¹àžà¹àž¢àžà¹àž§à¹àžà¹àžà¹àž¡àžàžµà¹àžàž²àž§àžà¹à¹àž«àž¥àžàž¡àž²àžàž¶à¹àžàžàž°àžªàž²àž¡àž²àž£àžàž¥àžàž­àž­àžà¹àžà¹ à¹àž«à¹àžàž³àžàž²àžàžàž·à¹àžàžàžµà¹àžàžµà¹à¹àžàž·à¹àž­àžà¹àžàž«àž²à¹àžà¹àž¡àžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£àž£àž§àž¡àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž</Text>
+<Text id="51">à¹àžàžàžàž±àžà¹àžà¹àž¡àž£àž¹àžàžà¹àžà¹àž¡à¹àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž°à¹àžªàžàžà¹àž«à¹à¹àž«à¹àžà¹àžàž·à¹àž­àž«àž²àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àžàž¢à¹àž£àžŽà¹àž¡àžà¹àžà¹àž¥à¹àž§à¹àžàžàžàž±àžàžàžµà¹àžàž°àž§à¹àž²àž</Text>
+<Text id="52">àžàžžàžàžªàž²àž¡àž²àž£àžàžàž£àž±àžàžàžàž²àžàžàž·à¹àžàžàžµà¹à¹àžà¹àžà¹àž§àž¢àžàž²àž£à¹àž¥àž·à¹àž­àžà¹àž¡àž²àžªà¹à¹àž«àžàž·àž­à¹àžàžàžªàžµà¹àžàž²àžàž¶à¹àžà¹àžà¹àžà¹àž¢àžà¹àžàžàžàž±àžà¹àžà¹àž¡ (àž£àž¹àžàž£à¹àž²àžàžàž­àžàžàž±àž§àžàžµà¹àžàž°à¹àžàž¥àžµà¹àž¢àžà¹àž) à¹àž¥à¹àž§àž¥àž²àž</Text>
+<Text id="53">àžªà¹àž§àžàž¥à¹àž²àžàžªàžžàžàžàž­àžàž«àžà¹àž²àžà¹àž²àžà¹àžà¹àžàžàž·à¹àžàžàžµà¹àžªàžàž²àžàž°àžàž¶à¹àžà¹àžªàžàžàžàž§àž²àž¡àžàž·àžàž«àžà¹àž²àžàž­àžàžàž²àž£àžàž£àž°àžàž³àžàžµà¹à¹àžàžµà¹àž¢àž§àžà¹àž­àžàžàž±àžà¹àžà¹àž¡ (àžàž²àž£àžàž³àžªàž³à¹àžàž² àžàž²àž£àž¢à¹àž²àž¢ à¹àž¥àž°àžàž²àž£àž¥àž) àžàž²àž£àžàž£àž°àžàž³à¹àž«àž¥à¹àž²àžàžµà¹àž­àž²àžàžàž°à¹àžà¹à¹àž§àž¥àž²àžªàž±àžàžàž£àž¹à¹àžàž§à¹àž²àžàž°à¹àžªàž£à¹àžàžªàž¡àžàž¹àž£àžà¹ à¹àžàž¢àžàžžà¹àž¡ "àž«àž¢àžžàž" àžàž°àž«àž¢àžžàžàžàž²àž£àžàž£àž°àžàž³à¹àžà¹ àžàžµà¹àžàž³àž¥àž±àžàžàž³à¹àžàžŽàžàžàž²àž£àž­àž¢àž¹à¹à¹àžàžàžàž°àžàž±à¹àž</Text>
+<Text id="54">àžàžžà¹àž¡àžàžàž²àžà¹àž«àžà¹àžªàž­àžàžàžžà¹àž¡àžàž°àž­àž¢àž¹à¹àžàž£àžŽà¹àž§àžàž¡àžžàž¡àžàž§àž²àž¥à¹àž²àžàžàž­àžàž«àžà¹àž²àžàž­  à¹àžàž¢àžàžžà¹àž¡ "àžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹" àžàžµà¹àžàž³à¹àžªàžàž­àžà¹àž§àž¢àž£àž¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàž°à¹àžà¹àžàžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹ (àžàž¹àžàžµà¹ <Reference target="creatingfolders"/>) àžàžžà¹àž¡ "àž¥àž" àžàžµà¹àžàž³à¹àžªàžàž­àžà¹àž§àž¢àž£àž¹àžàžàž¥à¹àž­àžàžàž¢àž°àžàž°à¹àžà¹àžàžàž²àž£à¹àž­àž²à¹àžà¹àž¡àžàž±à¹àžàž­àž­àž àžàž²àž£àžàž¥àžŽàžàžàžžà¹àž¡ 'àž¥àž' àžàž°à¹àžà¹àžàžàž²àž£à¹àž­àž²à¹àžà¹àž¡àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àž­àž­àžàžàž²àžà¹àžàžàžàž±àžà¹àžà¹àž¡àž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àžàž¢àžàžžàžàžªàž²àž¡àž²àž£àžàž¥àžà¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàž±à¹àžà¹àžà¹à¹àžàž¢àžàž²àž£àž¥àž²àžà¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàž±à¹àžà¹àžàžàžµà¹àžàžžà¹àž¡ 'àž¥àž' à¹àžà¹à¹àžà¹àžàžàž±àž</Text>
+<Text id="55">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž¥àž·àž­àžàž£àž²àž¢àžàž²àž£àžàžµà¹à¹àž£àžµàž¢àžàžàž²àž¡àž¥àž³àžàž±àžàžàž³àžàž§àžàž«àž¥àž²àž¢àž£àž²àž¢àžàž²àž£ à¹àž«à¹àžàž¥àžŽàžà¹àž¥àž·àž­àžàž£àž²àž¢àžàž²àž£à¹àž£àž à¹àž¥à¹àž§àžàžàžàžžà¹àž¡ [Shift] àžà¹àž²àžà¹àž§à¹ àžàž²àžàžàž±à¹àžàžàž¥àžŽàžà¹àž¥àž·àž­àžàž£àž²àž¢àžàž²àž£àžªàžžàžàžà¹àž²àž¢ -- àžàž²àž£à¹àž¥àž·àž­àžàžàž°àžàž£àž­àžàžàž¥àžžàž¡àž£àž²àž¢àžàž²àž£àžàžµà¹àž­àž¢àž¹à¹àž£àž°àž«àž§à¹àž²àžàžàž±à¹àžàžàž±à¹àžàž«àž¡àž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžà¹àžà¹àž¡àžàžµà¹à¹àž¡à¹à¹àž£àžµàž¢àžàžà¹àž­àžàž±àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàžàžàžžà¹àž¡ [Ctrl] àžà¹àž²àžà¹àž§à¹àžàžàž°àžàž¥àžŽàž à¹àž«à¹à¹àžà¹àžàž±à¹àžàžªàž­àžàž§àžŽàžàžµàžàžµà¹àž£à¹àž§àž¡àžàž±àžà¹àžàž·à¹àž­à¹àž¥àž·àž­àžàžàž¥àžžà¹àž¡àžàž­àžàž£àž²àž¢àžàž²àž£àžàžµà¹àž­àž¢àž¹à¹à¹àž¡à¹àžàžŽàžàžàž±àž</Text>
+</Section>
+<Section name="creatingshortcuts">
+<Title>
+<Text id="55a">àžàž²àž£àžªàž£à¹àž²àžàžàž²àžàž¥àž±àžà¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž·à¹àžàžàžµà¹àžàž³àžàž²àž</Text>
+</Title>
+<Text id="56">à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹à¹àžà¹àžàž­àž -- à¹àžà¹àž à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àžàž£àž£àžàžžàž«àžà¹àž²à¹àž§à¹àžàžàž­àžàžàžžàžà¹àž­àž -- àžàž¶à¹àžàžàž²àžàžàž£àž±à¹àžàžà¹àž¡àžµàžàž§àž²àž¡àžªàž³àžàž±àžà¹àžà¹àžàžàžŽà¹àžšàž© àžà¹àž²àžàžžàžàžà¹àž­àžàžàž²àž£ àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžªàž²àž¡àž²àž£àžà¹àž¡àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¥à¹àž²àžàž±à¹àžà¹àž§à¹àžàžµà¹àž£àž°àžàž±àžàžàžàžªàžžàžàžàž­àžà¹àžàžàžàž±àžà¹àžà¹àž¡à¹àžà¹ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£àžàžµà¹ à¹àž«à¹àžàž¥àžŽàžàžàž§àž²àžàžµà¹à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àžà¹àž­àžàžàž²àž£ à¹àž¥àž·àž­àž "àžªàž£à¹àž²àžàžàž²àžàž¥àž±àž" à¹àž¥àž°à¹àžªà¹àžàž·à¹àž­àžªàž³àž«àž£àž±àžà¹àžàž¥à¹àžàž­àž£à¹àžàž±à¹àž  à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àž£àž²àž¢àžàž²àž£àž­àž­àž à¹àž«à¹àžàž¥àžŽàžàžàž§àž²àžàžµà¹à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹à¹àž¡àžà¹àž§à¹ à¹àž¥àž°à¹àž¥àž·àž­àž "à¹àž­àž²àžàž²àžàž¥àž±àžàž­àž­àž"</Text>
+</Section>
+<Section name="creatingfolders">
+<Title>
+<Text id="57">àžàž²àž£àžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹</Text>
+</Title>
+<Text id="58">à¹àž«à¹à¹àžà¹à¹àžàž¥à¹àžàž­àž£à¹à¹àžà¹àžàžàžàž±àžà¹àžà¹àž¡àž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž·à¹àž­àžàž±àžàžàž¥àžžà¹àž¡à¹àžà¹àž¡à¹àžà¹àž²àžà¹àž§àž¢àžàž±àž à¹àž¥àž°àžàž³à¹àž«à¹àžà¹àž²àž¢àžà¹àž­àžàž²àž£àžà¹àžàž«àž²à¹àžà¹àž¡ àžàžžàžàžªàž²àž¡àž²àž£àžàž§àž²àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž§à¹àž àž²àž¢à¹àžà¹àžàž¥à¹àžàž­àž£à¹àž«àž¥àž±àžà¹àžà¹ àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹àžàžàžµà¹àžàž³à¹àž«à¹àžàž¹à¹àžªàž¡àž·àž­àžàž§à¹àž²à¹àž¡à¹àž¡àžµàžà¹àž­àžàž³àžàž±àžàžªàž³àž«àž£àž±àžàžàž³àžàž§àžà¹àžàž¥à¹àžàž­àž£à¹ àž«àž£àž·àž­àž£àž°àžàž±àžàžàž­àžàžàž²àž£àžà¹àž­àžàžàž±àžàžàž­àžà¹àžàž¥à¹àžàž­àž£à¹</Text>
+<Text id="59">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹ à¹àž«à¹àžàž¥àžŽàžàžàž§àž²àžàžµà¹ "àžàž²àžàž«àžà¹àž²àžà¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž" (àž«àž£àž·àž­àžàž¥àžŽàžàžàž§àž²àžàžµà¹à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§à¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž·à¹àž­à¹àžàž£àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹à¹àžà¹àž²à¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž) à¹àž¥àž°àžàž¥àžŽàžàžàž±àž§à¹àž¥àž·àž­àž "àžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹" à¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹àžàž°àžàž£àž²àžàžàžàž¶à¹àžàž àž²àž¢à¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹à¹àžà¹à¹àž¥àž·àž­àžà¹àž§à¹ àž«àž£àž·àž­àžàžµà¹àž£àž°àžàž±àžàžàžàžªàžžàžàžà¹àž²à¹àž¡à¹à¹àžà¹à¹àž¥àž·àž­àžà¹àžàž¥à¹àžàž­àž£à¹àž«àž¥àž±àžà¹àž§à¹ àžàž²àžàžàž±à¹àžàž£àž°àžàžàžàž°àžàž­à¹àž«à¹àžàžžàžà¹àžªà¹àžàž·à¹àž­àžàž­àžà¹àžàž¥à¹àžàž­àž£à¹ (àžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àžà¹àžà¹àžàžàž·à¹àž­àž§à¹àž² "à¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹")</Text>
+<Text id="60">àžàžžàžàž¢àž±àžàžªàž²àž¡àž²àž£àžàžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹à¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžàžàž§àž²àžàžµà¹à¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž àž«àž£àž·àž­à¹àž«àžàž·àž­à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àž¡àžµàž­àž¢àž¹à¹ à¹àž¥àž·àž­àž "à¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹" à¹àž¥àž°àžàž³à¹àžàžŽàžàžàž²àž£àžàž²àž¡àžàž±à¹àžàžàž­àžàžà¹àž²àžàžàž</Text>
+</Section>
+<Section name="addingfiles">
+<Title>
+<Text id="61">àžàž²àž£à¹àžàžŽà¹àž¡à¹àžà¹àž¡</Text>
+</Title>
+<Text id="62">àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³àžªàž³à¹àžàž²à¹àžà¹àž¡àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£àž¥àž²àžà¹àž¥àž°àžàž²àž£àžàž¥à¹àž­àž¢à¹àž¡àž²àžªà¹ àžàž±àž§àžàžµà¹à¹àž¡àž²àžªà¹àžàž°àžàž¥àž²àž¢à¹àžà¹àžà¹àžàž²àžàž­àžàž£àž²àž¢àžàž²àž£àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹ (àž«àž£àž·àž­ àžà¹àž²àžàžžàžà¹àž¥àž·àž­àžàž¡àž²àžàžàž§à¹àž²àž«àžàž¶à¹àž àžà¹àžàž°à¹àžà¹àžà¹àžàžàž²àž¡àžàž³àžàž§àžàžàžµà¹à¹àž¥àž·àž­àžàžàž±à¹àž) àžàž¥à¹àž­àž¢à¹àžà¹àž¡àžàžµà¹à¹àž¥àž·àž­àžàž¥àžà¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž·à¹àž­àžàž³àžªàž³à¹àžàž²à¹àžà¹àž¡àžàžµà¹àžàž±à¹àž (àžà¹àž²àžà¹àžà¹àž«àž¥à¹àžà¹àžà¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž·à¹àžàžàžµà¹àžàž³àžàž²àž) àž«àž£àž·àž­àž¢à¹àž²àž¢à¹àžà¹àž¡à¹àžàž¡àž²àž àž²àž¢à¹àžàžàž­àž¥à¹àž¥àžàžàž±àž (àžà¹àž²àžà¹àžà¹àž«àž¥à¹àžàžà¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž)</Text>
+<Text id="63">à¹àž¡àž·à¹àž­àžàž³àžªàž³à¹àžàž²à¹àžà¹àž¡àž«àž¥àž²àž¢à¹àžà¹àž¡ à¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàž±à¹àžàžàž±à¹àžàž«àž¡àžàžàž°àžàž¹àžàž§àž²àžà¹àž§à¹à¹àžà¹àžàž¥à¹àžàž­àž£à¹à¹àžà¹àž²àž«àž¡àž²àž¢àžàžµà¹àž£àž°àžàž±àžà¹àžàžµàž¢àž§àžàž±àž à¹àžàž¢à¹àž¡à¹àžàž³àžàž¶àžà¹àžàž£àžàžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹àžàž±à¹àžà¹àžàžŽàž¡àžàžµà¹à¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàž±à¹àžàž§àž²àžàž­àž¢àž¹à¹àžà¹àž­àž à¹àž¡àž·à¹àž­àžàžžàžàžàž³àžªàž³à¹àžàž²à¹àžà¹àž¡àžàžµà¹àžªàž­àžàžà¹àž§àž¢àžàž·à¹àž­à¹àžàžµàž¢àž§àžàž±àžàž¥àžà¹àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹à¹àžàžµàž¢àž§àžàž±àž àž£àž°àžàžàžàž°àžàž²àž¡àž§à¹àž²àžàžžàžàžà¹àž­àžàžàž²àž£à¹àžàžµàž¢àžàžàž±àžà¹àžà¹àž¡à¹àž£àžàž«àž£àž·àž­à¹àž¡à¹ àžà¹àž²àžàž­àžàž§à¹àž² "à¹àž¡à¹" à¹àžà¹àž¡àžàž°à¹àž¡à¹àžàž¹àžàžàž³àžªàž³à¹àžàž² à¹àžà¹àžà¹àž²àžàž­àžàž§à¹àž² "à¹àžà¹" àžà¹àž£àž°àžàžàžà¹àžàž°à¹àžàžµàž¢àžà¹àžà¹àž¡à¹àž«àž¡à¹àžàž±àžàž¥àžà¹àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àž¢àžà¹àž¥àžŽàžàžàž²àž£àžàž³àžªàž³à¹àžàž²àžàžµà¹à¹àž«àž¥àž·àž­àžàž±à¹àžàž«àž¡àž à¹àž«à¹àžàž¥àžŽàžàžàžžà¹àž¡ "àž«àž¢àžžàž"</Text>
+<Text id="64">à¹àžàžàž²àž°àž£àž²àž¢àžàž²àž£àžàžµà¹àž­àž¢àž¹à¹ "àžªàž¹àžàžªàžžàž" à¹àžàžàž²àž£à¹àž¥àž·àž­àžàžàž°àžàž¹àžàž¢à¹àž²àž¢ à¹àžàž¥à¹àžàž­àž£à¹àž«àžàž¶à¹àžàžàž°àž­àž¢àž¹à¹àžªàž¹àžàžàž§à¹àž²à¹àžàž¥à¹àžàž­àž£à¹àž¥àž¹àž àžàžžàžà¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžà¹àžà¹àž¡àžà¹àž²àžà¹ àž àž²àž¢à¹àžà¹àžàž¥à¹àžàž­àž£à¹ àž£àž§àž¡àžàž±à¹àžàžàž±àž§à¹àžàž¥à¹àžàž­àž£à¹à¹àž­àžà¹àžà¹à¹àžàžàž£àž±à¹àžà¹àžàžµàž¢àž§àžàž±àž</Text>
+<Text id="65">à¹àž¡àž·à¹àž­àžàžžàžà¹àžàžŽà¹àž¡à¹àžà¹àž¡à¹àžà¹àž²à¹àžà¹àžàž£àž°àžàž àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž°àžàž³àžàž²àž£àžà¹àžàž«àž²à¹àžà¹àž¡à¹àžªàž£àžŽàž¡àžàžµà¹àžàž£àž£àžàžžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžà¹àžàž³àž«àžàžà¹àž«à¹àžàž±àžà¹àžà¹àž¡àžàžµà¹àž¡àžµàžàž²àž£à¹àžàžŽà¹àž¡àžà¹àž­àžàž«àžà¹àž²àžàžµà¹à¹àžà¹àžàž¥à¹àžàž­àž£à¹àžà¹àžà¹àž«àž¥à¹àž àžà¹àž²àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžàžà¹àžà¹àž¡àžàžµà¹àžà¹àž­àžàžàž²àž£ àž£àž°àžàžàžà¹àžàž°à¹àž£àžŽà¹àž¡àžàž³à¹àžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹ àžàžàž°àžàžµà¹àžàž²àž£àžàžàžŽàžàž±àžàžŽàžàž²àž£àžàž³à¹àžàžŽàžà¹àž àžàžžàžàž­àž²àžàžàž¹àžàžàž£à¹àž­àž¡àžà¹ (àž­àž²àžàžàž°àž«àž¥àž²àž¢àžàž£àž±à¹àž) à¹àž«à¹à¹àžªà¹àžà¹àž­àž¡àž¹àž¥à¹àžàžŽà¹àž¡à¹àžàžŽàž¡à¹àžàž·à¹àž­àžàž³à¹àž«à¹à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³à¹àžà¹àž²àžàž£àžàžàž±àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž àžàž£àž°àžàž§àžàžàž²àž£àžàžµà¹à¹àžàžµà¹àž¢àž§àžàž±àžàžàž±àžàžàž£à¹àž­àž¡àžà¹àžà¹àž²àžà¹ àž¡àž²àžàž¡àž²àž¢àžàž¶à¹àžàž­àžàžŽàžàž²àž¢à¹àž§à¹à¹àžàžªà¹àž§àž <Reference target="importingpreviouslyassignedmetadata"/>  àžªàž³àž«àž£àž±àžàžàž³àž­àžàžŽàžàž²àž¢àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžà¹àžàžŽà¹àž¡à¹àžàžŽàž¡àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžà¹àžà¹àž¡ àžàž£àžžàžàž²àž­à¹àž²àžàžàžàžàžµà¹ 2 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž -- àžàž²àž£à¹àžàž¢à¹àžàž£à¹àžà¹àž­àž¡àž¹àž¥àžàž²àžà¹àž­àžàžªàž²àž£àžàž­àžàžàžžàž</Text>
+<Text id="65a">àžàžžàžàž¢àž±àžàžªàž²àž¡àž²àž£àžà¹àžàžŽà¹àž¡à¹àž­àžàžªàž²àž£ "àžàž³àž¥àž­àž" àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžàžàž§àž²à¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž«àž£àž·àž­àžàžà¹àžàž¥à¹àžàž­àž£à¹ à¹àž¥àž°à¹àž¥àž·àž­àž "àžªàž£à¹àž²àžà¹àž­àžàžªàž²àž£àžàž³àž¥àž­àžà¹àž«àž¡à¹" àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹àžàžàžµà¹àžàž°à¹àžà¹àžàžàž²àž£àžªàž£à¹àž²àžà¹àžà¹àž¡àž§à¹àž²àžà¹àž«àž¡à¹àžàžµà¹àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžà¹ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàžàžàžµà¹à¹àžà¹àž¡àžàž³àž¥àž­àžàžàžµà¹àžà¹àž§àž¢à¹àžà¹àž¡ "àžàž£àžŽàž" à¹àžà¹à¹àžàž àž²àž¢àž«àž¥àž±àž</Text>
+</Section>
+<Section name="replacingfiles">
+<Title>
+<Text id="65b">àžàž²àž£à¹àžàž¥àžµà¹àž¢àžàžàž·à¹àž­à¹àžà¹àž¡ à¹àž¥àž°àžàž²àž£à¹àžàžàžàžµà¹à¹àžà¹àž¡</Text>
+</Title>
+<Text id="65c">àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàž¥àžµà¹àž¢àžàžàž·à¹àž­à¹àžà¹àž¡à¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžàžàž§àž²àžàžµà¹à¹àžà¹àž¡ à¹àž¥àž°à¹àž¥àž·àž­àž "à¹àžàž¥àžµà¹àž¢àžàžàž·à¹àž­" àžàž²àžàž£àž²àž¢àžàž²àž£ àžàž²àžàžàž±à¹àžà¹àž«à¹à¹àžªà¹àžàž·à¹àž­à¹àž«àž¡à¹àžàžµà¹àžàž£à¹àž­àž¡àžà¹à¹àž¥àž°àžàž¥àžŽàž "àžàžàž¥àž"</Text>
+<Text id="65d">àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàžàžàžµà¹à¹àžà¹àž¡à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžàžàž§àž²àžàžµà¹à¹àžà¹àž¡à¹àžàž·à¹àž­à¹àžàžàžàžµà¹ à¹àž¥àž°à¹àž¥àž·àž­àž "à¹àžàžàžàžµà¹" à¹àžàž£àž²à¹àžàž­àž£à¹àžàž­àžà¹àžà¹àž¡àžàž°à¹àžàžŽàžàžàž¶à¹àž àžàž²àžàžàž±à¹àžà¹àž«à¹àžàž³àžàž²àžà¹àžàž¢àž±àžà¹àž­àžàžªàž²àž£à¹àž«àž¡à¹ à¹àž¥àž°àžàž¥àžŽàž "à¹àžàžŽàž" à¹àž­àžàžªàž²àž£à¹àž«àž¡à¹àžàž°à¹àžà¹àž²à¹àžàžàžàžµà¹à¹àž­àžàžªàž²àž£à¹àžà¹àž²à¹àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àž¥àž°à¹àž¡àžàž²àžàž²àžàž²à¹àžà¹ àžàž°àžàž¹àžà¹àž­àžà¹àžàž¢àž±àžà¹àž­àžàžªàž²àž£à¹àž«àž¡à¹ àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹àžàžàžµà¹àžàž°à¹àžà¹àžàžàž£àž°à¹àž¢àžàžà¹àž­àž¢à¹àž²àžàž¡àž²àžà¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžàžàžµà¹à¹àž­àžàžªàž²àž£àžàž³àž¥àž­àžàžà¹àž§àž¢à¹àž­àžàžªàž²àž£àžàž£àžŽàž</Text>
+</Section>
+<Section name="removingfiles">
+<Title>
+<Text id="66">àžàž²àž£à¹àž­àž²à¹àžà¹àž¡àž­àž­àž</Text>
+</Title>
+<Text id="67">àž¡àžµàž«àž¥àž²àž¢àž§àžŽàžàžµà¹àžàžàž²àž£à¹àž­àž²à¹àžà¹àž¡à¹àž¥àž°à¹àžàž¥à¹àžàž­àž£à¹àž­àž­àž àžà¹àž­àžàž­àž·à¹àžàžàžžàžàžà¹àž­àžàž£àž°àžàžžàž§à¹àž² àžà¹àž­àžàžàž²àž£à¹àž­àž²àž£àž²àž¢àžàž²àž£à¹àžàž­àž­àžàžà¹àž²àžàžà¹àž§àž¢àžàž²àž£à¹àž¥àž·àž­àžà¹àžà¹àž¡àž­àž¢à¹àž²àžàžà¹àž­àž¢àž«àžàž¶à¹àžà¹àžà¹àž¡à¹àž¥àž°à¹àžàž¥à¹àžàž­àž£à¹àžàž±àžàžàžµà¹à¹àžà¹àž­àžàžŽàžàž²àž¢à¹àž§à¹à¹àž <Reference target="thegatherview"/></Text>
+<Text id="68">àžàž±àžàžàžµàžàžµà¹à¹àž¥àž·àž­àžà¹àžà¹àž¡à¹àž¥à¹àž§ à¹àž«à¹àžàž¥àžŽàžàžàžžà¹àž¡ "àž¥àž" à¹àžàž·à¹àž­à¹àž­àž²à¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàž±à¹àžàž­àž­àž àž«àž£àž·àž­àžàžà¹àžà¹àž [Delete] àžàžà¹àžà¹àžàžàžŽàž¡àžà¹àžàž­àžàžàžžàž àž«àž£àž·àž­àž¥àž²àžà¹àžà¹àž¡àžàž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàžàžµà¹àžàžžà¹àž¡àž¥àž à¹àž¥àž°àžàž¥à¹àž­àž¢à¹àžà¹àž¡àž¥àžà¹àžàžàžµà¹àžàž±à¹àž</Text>
+</Section>
+<Section name="explodingfiles">
+<Title>
+<Text id="exm-1">"àžàž²àž£àžàž£àž°àžàž²àž¢" à¹àžà¹àž¡à¹àž¡àžàž²àžàž²àžàž²</Text>
+</Title>
+<Text id="exm-2">àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³à¹àžà¹àž²àžàžàžŽàžàžàž­àžà¹àžà¹àž¡àžàž²àžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž² à¹àžà¹àž MARC, CDS/ISIS, BibTex, Refer à¹àž¥àž° Procite àž¡àž²àž¢àž±àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžà¹ à¹àžà¹à¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž¹àž«àž£àž·àž­à¹àžà¹à¹àžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¥à¹àž²àžàž±à¹àžà¹àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹à¹àžà¹à¹àžàžàž±àžàžàžµ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž¹àž«àž£àž·àž­à¹àžà¹à¹àžà¹àž¡àžàž²àžàž²àžàž²à¹àžà¹ àžàžžàžàžªàž²àž¡àž²àž£àž "àžàž£àž°àžàž²àž¢" à¹àžà¹àž¡àž¥àžà¹àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ à¹àž¥àž°àžªàž²àž¡àž²àž£àžàžàž¹àž«àž£àž·àž­à¹àžà¹à¹àžà¹àžà¹àž¡à¹àžà¹à¹àžàž àž²àž¢àž«àž¥àž±àž àž­àžµàžàžàž²àžà¹àž¥àž·àž­àžàž«àžàž¶à¹àžàžàž·àž­ àž«àž²àžàžàžžàžàž¢àž±àžàžàžà¹àžà¹àžàž²àžà¹àžàž£à¹àžàž£àž¡àžàž£àž°àž¢àžžàžàžà¹àž àž²àž¢àžàž­àžàž«àž¥àž±àžàž­àž¢àž¹à¹ àžàžžàžàžªàž²àž¡àž²àž£àžàžàž¥àž±àžà¹àžàž¢àž±àžà¹àžàž£à¹àžàž£àž¡àžàžµà¹àžªàž£à¹àž²àžà¹àžà¹àž¡àžà¹àž­àž¡àž¹àž¥à¹àžàž·à¹àž­à¹àžà¹à¹àžàžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àž¥à¹àž§àžàž³à¹àžàžŽàžàžàž²àž£àžàž³à¹àžà¹àž²àžà¹àž­àž¡àž¹àž¥à¹àž«àž¡à¹à¹àžà¹</Text>
+<Text id="exm-3">"àžàž²àž£àžàž£àž°àžàž²àž¢" à¹àžà¹àž¡àžàž²àžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²àžàž°à¹àžà¹àžàžàž²àž£à¹àž¢àžà¹àžà¹àž¡àž­àž­àžà¹àžà¹àžà¹àžà¹àž¥àž°àž£àž°à¹àžàžµàž¢àžàžàžµà¹àž¡àžµà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžªàž²àž¡àž²àž£àžàžàž¹à¹àž¥àž°à¹àžà¹à¹àžà¹àžà¹ àžàž£àž°àžàž§àžàžàž²àž£àžàžµà¹à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¢à¹àž­àžàžàž¥àž±àžà¹àžà¹ à¹àžàž¢à¹àžà¹àž¡à¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžà¹àžàžŽàž¡àžàž°àžàž¹àžàž¥àžàž­àž­àžà¹àž</Text>
+<Text id="exm-4">à¹àžà¹àž¡àžàžµà¹àžªàž²àž¡àž²àž£àžàžàž£àž°àžàž²àž¢àž­àž­àžà¹àžà¹àžàž°àž¡àžµà¹àž­àžàž­àžàžªàžµà¹àžàžµàž¢àž§àžàž£àž²àžàžàž­àž¢àž¹à¹à¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž£àž°àžàž²àž¢à¹àžà¹àž¡ à¹àž«à¹àžàž¥àžŽàžàžàž§àž²àžàžµà¹à¹àžà¹àž¡à¹àž¥àž°à¹àž¥àž·àž­àž "àžàž£àž°àžàž²àž¢àžàž²àžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²" àž«àžà¹àž²àžà¹àž²àžàžà¹àž­àžàž­àž±àžàžàž°à¹àžªàžàžàžàž±àž§à¹àž¥àž·àž­àžàžªàž³àž«àž£àž±àžàžàž£àž°àžàž§àžàžàž²àž£àžàž£àž°àžàž²àž¢àžàž¶à¹àžàž¡àž²àžàžàž«àžà¹àž²àžàž­ àžàž±àž§à¹àž¥àž·àž­àžàžàž±àž§à¹àž£àž ("àžàž¥àž±à¹àžàž­àžŽàž") àžàž°àž£àž°àžàžžàžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžàž°à¹àžà¹à¹àžàžàž²àž£àžàž£àž°àžàž²àž¢à¹àžà¹àž¡ à¹àžà¹àžàž·àž­àžàžàžžàžàžàž£àžàžµ àžàž¥àž±à¹àžàž­àžŽàžàž«àžàž¶à¹àžàžàž±àž§à¹àžà¹àž²àžàž±à¹àžàžàžµà¹àžàž°àžàž³àž«àžà¹àž²àžàžµà¹àžàž£àž°àž¡àž§àž¥àžàž¥à¹àžà¹àž¡àžàžàžŽàžà¹àžàžàžàžŽàžàž«àžàž¶à¹àž à¹àžà¹à¹àžàžàž²àžàžàž£àžàžµ àžàžµà¹àžàžàžŽàžàžàž­àžà¹àžà¹àž¡àžàžµà¹àžà¹àž²àžàžàž±àžà¹àžà¹àžàž²àž¡àžªàžàžžàž¥à¹àžà¹àž¡àž£à¹àž§àž¡àžàž±àž àž­àž²àžàžà¹àž­àžàž¡àžµàžàž¥àž±à¹àžàž­àžŽàžàžªàž­àžàžàž±àž§àžàžµà¹àž£à¹àž§àž¡àžàž±àžàžàž£àž°àž¡àž§àž¥àžàž¥à¹àžà¹àž¡àžàžµà¹àž¡àžµàžàž²àž¡àžªàžàžžàž¥àžàž±à¹àž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹àžàž±àž§à¹àž¥àž·àž­àž "input_encoding" à¹àžàž·à¹àž­àž£àž°àžàžžàžàž²àž£à¹àžà¹àž²àž£àž«àž±àžªàžàž­àžàžàž²àžàžà¹àž­àž¡àž¹àž¥à¹àžà¹ àžàž±àž§à¹àž¥àž·àž­àž "metadata_set" àžàž°àž£àž°àžàžžàž§à¹àž²à¹àžàžàžà¹àž­àž¡àž¹àž¥à¹àž«àž¡à¹àžàžµà¹àžªàž£à¹àž²àžàžàž¶à¹àžàžà¹àž§àž¢àžàž²àž£àžàž£àž°àžàž²àž¢à¹àžà¹àž¡àžàž§àž£àžàž°àžàž¹àžà¹àžàžŽà¹àž¡à¹àžà¹àž²à¹àžàž¢àž±àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž àž«àž²àžà¹àž¡à¹àž¡àžµàžàž²àž£àž£àž°àžàžžà¹àž§à¹ àž£àž°àžàžàžàž°àžàž²àž¡àž§à¹àž² àžàžžàžàžàž°àžàž³àž­àž¢à¹àž²àžà¹àž£àžàž±àžà¹àžà¹àž¥àž°à¹àžàžàžà¹àž­àž¡àž¹àž¥à¹àž«àž¡à¹à¹àžàžàž²àžàžà¹àž­àž¡àž¹àž¥ à¹àžàž¢à¹àž«à¹à¹àž¥àž·àž­àžàž£àž°àž«àž§à¹àž²àž à¹àžàžŽà¹àž¡à¹àžàžàžà¹àž­àž¡àž¹àž¥à¹àžà¹àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢à¹àž«àž¡à¹àž¥àžà¹àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàž­àž¢àž¹à¹ àžàžàž§àžàž£àž§àž¡à¹àžà¹àž²àžàž±àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àž­àž·à¹àž àž«àž£àž·àž­àž¥àž°à¹àž§à¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžàž±à¹àž</Text>
+<Text id="exm-5">à¹àž¡àž·à¹àž­à¹àžà¹àž¡àžàž¹àžàžàž£àž°àžàž²àž¢àž­àž­àž à¹àž­àžàžªàž²àž£àž§à¹àž²àžà¹àž«àž¡à¹àžàž°àžàž¹àžàžªàž£à¹àž²àžàžàž¶à¹àžàžªàž³àž«àž£àž±àžà¹àžà¹àž¥àž°àž£àž°à¹àžàžµàž¢àž à¹àž¥àž°à¹àž¡àžàž²àžàž²àžàž²àžàž²àžàž£àž°à¹àžàžµàž¢àžàžàž°àžàž¹àžàžàž³àž«àžàžà¹àž«à¹àžàž±àžà¹àž­àžàžªàž²àž£ à¹àž­àžàžªàž²àž£à¹àž«àž¥à¹àž²àžàžµà¹àžàž°àžàž¹àžàžàž±à¹àžàžàž·à¹àž­à¹àžàž¢à¹àžà¹àžàž±àž§à¹àž¥àž à¹àžà¹àž 000001.nul, 000002.nul à¹àžà¹àžàžà¹àž  àžà¹àž²àž¡àžµàžàž²àž£àžàž±à¹àžàžà¹àž²àžàž±àž§à¹àž¥àž·àž­àž "document_field" (à¹àž«à¹à¹àžà¹àžàžàž·à¹àž­à¹àžàžàžà¹àž­àž¡àž¹àž¥àžàž­àžàžàž²àžàžà¹àž­àž¡àž¹àž¥) àžà¹àž²àžàž­àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžàžµà¹ (àžà¹àž²àž¡àžµ) àžàž°àžàž¹àžà¹àžà¹à¹àžà¹àžàžàž·à¹àž­à¹àžà¹àž¡  àžàž­àžàžàž²àžàžàžµà¹ àžàž£àž°àžàž§àžàžàž²àž£àžàž£àž°àžàž²àž¢àžàž°àžàž¢àž²àž¢àž²àž¡àžàž²àž§àžà¹à¹àž«àž¥àžà¹àžà¹àž¡à¹àž¥àž°à¹àžà¹à¹àžà¹àž¡àžàž±à¹àžà¹àžàžà¹àžà¹àž¡àž§à¹àž²àž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹àžàž±àž§à¹àž¥àž·àž­àž "document_prefix" à¹àž¥àž° "document_suffix" à¹àžàž·à¹àž­àžªàž£à¹àž²àž URL àž«àž£àž·àž­à¹àžªà¹àžàžàž²àžà¹àžà¹àž¡àžàžµà¹àžàž¹àžàžà¹àž­àžàžàž²àžàžà¹àž² document_field à¹àžà¹ àžàžžàžàž¢àž±àžàžªàž²àž¡àž²àž£àžà¹àžà¹àžàž±àž§à¹àž¥àž·àž­àž "records_per_folder" à¹àžàž·à¹àž­àžàž±àžàžàž¥àžžà¹àž¡àž£àž°à¹àžàžµàž¢àžàžàžµà¹àžàž£àž°àžàž²àž¢àž¥àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹àž¢à¹àž­àž¢à¹àžà¹àžà¹àž§àž¢ àžà¹àž²àžàž²àžàžà¹àž­àž¡àž¹àž¥àž¡àžµàžàžàž²àžà¹àž«àžà¹àž¡àž²àž àžàž²àž£à¹àžà¹àžàž±àž§à¹àž¥àž·àž­àžàžàžµà¹àžàž°àžà¹àž§àž¢à¹àž«à¹àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžà¹àž¡àžàž²àžàž²àžàž²àžà¹àž­àž¡àž²à¹àžà¹à¹àž£à¹àž§àžàž¶à¹àž</Text>
+<Text id="exm-6">àž£àž°àžàžàžàž°àžàž±àžàžªàžŽàžàžàž§àž²àž¡àžªàž²àž¡àž²àž£àžà¹àžàžàž²àž£àžàž£àž°àžàž²àž¢àžàž²àžàžàž²àž¡àžªàžàžžàž¥àžàž­àžà¹àžà¹àž¡ à¹àžàžàž²àžàžàž£àžàžµ à¹àžà¹àž¡àž­àž²àžàžàž¹àžàžàž³àž«àžàžàžªàžàž²àžàž°àž­àž¢à¹àž²àžà¹àž¡à¹àžàž¹àžàžà¹àž­àžàž§à¹àž²à¹àžà¹àžà¹àžà¹àž¡àžàžµà¹àžªàž²àž¡àž²àž£àžàžàž£àž°àžàž²àž¢àž­àž­àžà¹àžà¹àžà¹àž²à¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàž±à¹àžàž¡àžµàžàž²àž¡àžªàžàžžàž¥à¹àž«àž¡àž·àž­àžàžàž±àžà¹àžà¹àž¡àžàžµà¹àžªàž²àž¡àž²àž£àžàžàž£àž°àžàž²àž¢à¹àžà¹ àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž àžàž¥àž±à¹àžàž­àžŽàž ProCite àžàž°àžàž£àž°àž¡àž§àž¥àžàž¥à¹àžà¹àž¡àžàžµà¹àž¡àžµàžàž²àž¡àžªàžàžžàž¥ .txt à¹àžà¹à¹àžà¹àž¡ .txt à¹àžàž·àž­àžàžàž±à¹àžàž«àž¡àžàžàž°à¹àžà¹àžà¹àžà¹àž¡à¹àžàžàžà¹àž­àžàž§àž²àž¡àž¥à¹àž§àž àžàž¶à¹àžà¹àž¡à¹à¹àžà¹à¹àžà¹àž¡ ProCite</Text>
+</Section>
+<Section name="filteringthetree">
+<Title>
+<Text id="69">àžàž²àž£àžàž£àž­àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹</Text>
+</Title>
+<Text id="70">"àžàž²àž£àžàž£àž­àž" à¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž¥àž°àžàž·à¹àžàžàžµà¹àžàž³àžàž²àžàžàž°àž­àžàžžàžàž²àžà¹àž«à¹àžàžžàžàžàž³àž«àžàžàžàž²àž£àžà¹àžàž«àž²à¹àžà¹àž¡àžàžµà¹à¹àžàžàž²àž°à¹àžàž²àž°àžàžà¹àž«à¹à¹àžàžàž¥àžà¹àžà¹</Text>
+<Text id="71">à¹àž¡àžàž¹à¹àžàžàž«àž¥à¹àžàž¥àž "à¹àžªàžàžà¹àžà¹àž¡" àžàžµà¹àž­àž¢àž¹à¹àž àž²àž¢à¹àžà¹à¹àžàžàžàž±àžà¹àžà¹àž¥àž°àžàž±àž§àžàž°à¹àžªàžàžàž£àž²àž¢àžàž²àž£àžàž­àžàžàž±àž§àžàž£àž­àžàžàžµà¹àž¡àžµàžàž³àž«àžàžà¹àž§à¹à¹àž¥à¹àž§ à¹àžà¹àž "àž£àž¹àž" àžàž²àž£à¹àž¥àž·àž­àžàžàž±àž§àžàž£àž­àžàžàžµà¹àžàž°à¹àžà¹àžàžàž²àž£àžà¹àž­àžà¹àžà¹àž¡àž­àž·à¹àžà¹ àžàž±à¹àžàž«àž¡àžà¹àžà¹àžàžàžàž±àžà¹àžàžàžàž±à¹àž§àžàž£àž²àž§ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž·àžàžà¹àž²à¹àžàžàžàž±àž à¹àž«à¹à¹àžàž¥àžµà¹àž¢àžàžàž±àž§àžàž£àž­àžàžàž¥àž±àžà¹àžàžàžµà¹ "à¹àžà¹àž¡àžàž±à¹àžàž«àž¡àž" àžàž²àž£àžàžàžŽàžàž±àžàžŽàžàž²àž£à¹àž«àž¥à¹àž²àžàžµà¹àžàž°à¹àž¡à¹à¹àžà¹àžàžàž²àž£àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžàžàž­àž¥à¹àž¥àžàžàž±àž àž«àž£àž·àž­à¹àž¡à¹àžàž£àž°àžàžàžà¹àž­à¹àžàž¥à¹àžàž­àž£à¹à¹àžà¹àžàžàžàž±àž</Text>
+<Text id="72">àžàžžàžàžªàž²àž¡àž²àž£àžàž£àž°àžàžžàžàž±àž§àžàž£àž­àžàžàžµà¹àžàž³àž«àžàžà¹àž­àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàžŽàž¡àžà¹àž£àž¹àžà¹àžàžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àž«à¹àžàž£àžàžàž±àžà¹àžà¹àž¡ (à¹àžàžàž²àž°à¹àž«àž¡àžàžàž¹à¹à¹àžàžµà¹àž¢àž§àžàž²àžàž£àž°àžàžàž«à¹àž­àžàžªàž¡àžžàž à¹àž¥àž°à¹àž«àž¡àžàžàž¹à¹àžàž³àžàž²àžàžàž²àž£à¹àžà¹àž²àžàž±à¹àž) à¹àž«à¹à¹àžà¹àžàž±àž§àž¢à¹àž­àž£àž°àžàžà¹àžà¹àž¡àž¡àž²àžàž£àžàž²àž à¹àžà¹àž "*.doc" ("*" àžàž£àžàžàž±àžàž­àž±àžàžàž£àž°à¹àžàžà¹à¹àžà¹)</Text>
+</Section>
+</Section>
+<Section name="enrichingacollection">
+<Title>
+<Text id="73">àžàž£àž±àžà¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàžà¹àž«à¹àž¡àžµàžà¹àž²àžà¹àž§àž¢à¹àž¡àžàž²àžàž²àžàž²</Text>
+</Title>
+<Text id="74">àž«àž¥àž±àžàžàž²àžàžàžµà¹à¹àžà¹àž£àž§àžàž£àž§àž¡à¹àžà¹àž¡àžà¹àž²àžà¹ àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž¥à¹àž§ àžàž­àžàžàžµà¹à¹àž«à¹àžàžžàžàžàž³àžàž²àž£à¹àžàžŽà¹àž¡àžàžžàžàžà¹àž²à¹àžà¹àž¡àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥à¹àžàžŽà¹àž¡à¹àžàžŽàž¡àžàžµà¹à¹àž£àžµàž¢àžàž§à¹àž² "à¹àž¡àžàž²àžàž²àžàž²" àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž²àž£àžªàž£à¹àž²àž à¹àžà¹à¹àž àžàž³àž«àžàž à¹àž¥àž°àžà¹àžàžàž·àžà¹àž¡àžàž²àžàž²àžàž² àž£àž§àž¡àžàž¶àžàž§àžŽàžàžµàžàž²àž£à¹àžà¹à¹àž«àž¥à¹àžà¹àž¡àžàž²àžàž²àžàž²àž àž²àž¢àžàž­àž (àžàž¹à¹àžàžŽà¹àž¡à¹àžàžŽàž¡àžàžµà¹ àžàžàžàžµà¹ 2 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž -- àžàž²àž£à¹àžàž¢à¹àžàž£à¹àžà¹àž­àž¡àž¹àž¥àžàž²àžà¹àž­àžàžªàž²àž£àžàž­àžàžàžžàž)</Text>
+<Section name="theenrichview">
+<Title>
+<Text id="75">àž¡àžžàž¡àž¡àž­àžà¹àž¡àžàž²àžàž²àžàž²</Text>
+</Title>
+<Text id="76">à¹àž«à¹à¹àžà¹àž¡àžžàž¡àž¡àž­àž <AutoText key="glidict::GUI.Enrich"/> à¹àžàž·à¹àž­àžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«à¹àžàž±àžà¹àž­àžàžªàž²àž£à¹àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àž¡àžàž²àžàž²àžàž²à¹àžà¹àžàžà¹àž­àž¡àž¹àž¥à¹àžàžµà¹àž¢àž§àžàž±àžàžà¹àž­àž¡àž¹àž¥ -- àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž àžàž·à¹àž­à¹àž£àž·à¹àž­àž àžàž¹à¹à¹àžà¹àž àž§àž±àžàžàžµà¹àžªàž£à¹àž²àž à¹àž¥àž°àž­àž·à¹àžà¹ àž£àž²àž¢àžàž²àž£à¹àž¡àžàž²àžàž²àžàž²à¹àžà¹àž¥àž°àž£àž²àž¢àžàž²àž£àžàž°àž¡àžµàžªàž­àžàžªà¹àž§àž: <AutoText key="glidict::Metadata.Element"/> àžàž°àžàž­àžàžàž¶àžàžàžàžŽàžàžàž­àžàž£àž²àž¢àžàž²àž£ (à¹àžà¹àž àžàž¹à¹à¹àžà¹àž) à¹àž¥àž° <AutoText key="glidict::Metadata.Value"/> àžàž°à¹àž«à¹àžà¹àž²àž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àž (à¹àžà¹àž àžàž·à¹àž­àžàž­àžàžàž¹à¹à¹àžà¹àž)</Text>
+<Text id="77">àžàž²àžàžà¹àž²àžàžà¹àž²àž¢àžàž­àžàž¡àžžàž¡àž¡àž­àž <AutoText key="glidict::GUI.Enrich"/> à¹àžà¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž àžàž±àžàžà¹àžàž±àžàžàžµà¹à¹àžà¹àžàž²àž£àžàž¥àžŽàžàžàž§àž²àžàž±à¹àžàž«àž¡àžàžàžµà¹à¹àžàžàžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹à¹àžàž¡àžžàž¡àž¡àž­àž <AutoText key="glidict::GUI.Gather"/> àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹àžàžµà¹àžàžµà¹àžà¹àž§àž¢ àžà¹àž²àžàžàž§àž²àžàž­àžàž¡àžžàž¡àž¡àž­àžà¹àžà¹àžàžàž²àž£àž²àžà¹àž¡àžàž²àžàž²àžàž² àžàž¶à¹àžà¹àžªàžàžà¹àž¡àžàž²àžàž²àžàž²àžªàž³àž«àž£àž±àžà¹àžà¹àž¡àž«àž£àž·àž­à¹àžàž¥à¹àžàž­àž£à¹à¹àžà¹ àžàžµà¹à¹àžà¹à¹àž¥àž·àž­àžà¹àž§à¹à¹àžà¹àžàžàžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àž àžàž·à¹àž­àžàž­àžàžàž­àž¥àž±àž¡àžà¹àžàž°à¹àžà¹àžàžªàžµà¹àžàž²àž­àž¢àž¹à¹àžàž£àžŽà¹àž§àžàžà¹àž²àžàžàžàžªàžžàž à¹àž¥àž°àžªàž²àž¡àž²àž£àžàžàž£àž±àžàžàžàž²àžà¹àžà¹à¹àžàž¢àžàž²àž£àž¥àž²àžà¹àžªà¹àžà¹àžà¹àž àžà¹àž²à¹àžà¹àž¡àž«àž£àž·àž­à¹àžàž¥à¹àžàž­àž£à¹àž«àž¥àž²àž¢à¹àžà¹àž¡àžàž¹àžà¹àž¥àž·àž­àž àžà¹àž­àžàž§àž²àž¡àžªàžµàžàž³àžàž°àžà¹àžàžàžµà¹àž§à¹àž² àžà¹àž²àžàž±à¹àžà¹àžà¹àžàžà¹àž²àžàžµà¹à¹àžà¹àž£à¹àž§àž¡àžàž±àžàžàž­àžàž£àž²àž¢àžàž²àž£àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àžàž±à¹àžàž«àž¡àž àžàžàž°àžàžµà¹àžà¹àž­àžàž§àž²àž¡àžªàžµà¹àžàž²àžàž°àžà¹àžàžàžµà¹àž§à¹àž² àžà¹àž²àžàž±à¹àžà¹àž¡à¹à¹àžà¹àžà¹àž²àžàžµà¹à¹àžà¹àž£à¹àž§àž¡àžàž±àž àžàž²àž£à¹àžà¹à¹àžàžà¹àž²àžªàžµà¹àžàž²àžàž°àžªà¹àžàžàž¥à¹àžàžàž²àž°àžà¹àž­à¹àž­àžàžªàž²àž£àžàžµà¹àž¡àžµà¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àž àžà¹àž²à¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹à¹àžà¹ àžàžµà¹à¹àžà¹àžà¹àž­àžà¹àžà¹àž²à¹àžàžàž°àžàž¹àžà¹àžàžŽà¹àž¡àž¥àžà¹àžàžà¹àž²àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àžàž±à¹àžàž«àž¡àž</Text>
+<Text id="78">à¹àž­àžàž­àžà¹àžàž¥à¹àžàž­àž£à¹àž­àž²àžàžàž°àžàž£àž²àžàžàžàž£àžŽà¹àž§àžàžà¹àž²àžàžà¹àž²àžàžàž­àžàž£àž²àž¢àžàž²àž£à¹àž¡àžàž²àžàž²àžàž²àžàž²àžàžàž±àž§ à¹àž­àžàž­àžàžàžµà¹àžàž°àžà¹àžàžàžµà¹àž§à¹àž² àžà¹àž²àžàžµà¹à¹àžà¹àž£àž±àžàžàž²àž£àžªàž·àžàžàž­àžàž¡àž²àžàž²àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž¡à¹ (àž«àž£àž·àž­àž£àžžà¹àžàžà¹àž­àžàž«àžà¹àž²àžàž±à¹àž) à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžà¹àž£àž±àžàžàž²àž£àžªàž·àžàžàž­àžàž¡àž²àžàž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžàž«àž£àž·àž­à¹àž­àž²àž­àž­àžà¹àžà¹ àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³à¹àžà¹à¹àžàžµàž¢àžà¹àžàžŽà¹àž¡à¹àžàžŽàž¡à¹àžàžàžà¹àž²àž¢àž«àž£àž·àž­à¹àžàžµàž¢àžàžàž±àžà¹àžà¹àž²àžàž±à¹àž à¹àž«à¹àžàž¥àžŽàžàžàžµà¹à¹àž­àžàž­àžà¹àžàž¥à¹àžàž­àž£à¹à¹àžàž·à¹àž­à¹àžàž¢àž±àžà¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àž¡àžµàžàž²àž£àžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžàž¢àžàž±àžàžàžµ</Text>
+<Text id="79">àžàž²àž£àžàž¥àžŽàžàžàžµà¹àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àžàž­àžà¹àž¡àžàž²àžàž²àžàž²à¹àžàžàž²àž£àž²àžàžàž°à¹àžà¹àžàžàž²àž£à¹àžªàžàžàžà¹àž²àžàžµà¹àž¡àžµàž­àž¢àž¹à¹àžªàž³àž«àž£àž±àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àžàž±à¹àžà¹àžàžàž·à¹àžàžàžµà¹ <AutoText key="glidict::EnrichPane.ExistingValues" args="..."/> àž àž²àž¢à¹àžà¹àžàž²àž£àž²àž àžàžžàžàžªàž²àž¡àž²àž£àžàžàž¢àž²àž¢à¹àž¥àž°àž¢àžžàž "à¹àžàžàžàž±àžàžà¹àž²" àžàžµà¹à¹àžà¹ à¹àžàž¢àžàžàžàžŽà¹àž¥à¹àž§ à¹àžàžàžàž±àžàžà¹àž²àžàž°à¹àžà¹àžàž£àž²àž¢àžàž²àž£àžàžµà¹à¹àžªàžàžàžà¹àž²àžàž±à¹àžàž«àž¡àžàžàž­àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àžàžµà¹à¹àž¥àž·àž­àžàžàžµà¹àžàžžàžà¹àžà¹à¹àžàž¢àžà¹àž­àžà¹àž§à¹àžà¹àž­àžàž«àžà¹àž²àžàžµà¹ àžàž²àž£àžàž¥àžŽàžàž£àž²àž¢àžàž²àž£àžàž°à¹àžà¹àžàžàž²àž£àž§àž²àžàž£àž²àž¢àžàž²àž£àž¥àžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž²à¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽ à¹àžàžàž²àžàžàž¥àž±àžàžàž±àž àžàž²àž£àžàžŽàž¡àžà¹àžà¹àž­àžàž§àž²àž¡àž¥àžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž²àžàž°à¹àžà¹àžàžàž²àž£à¹àž¥àž·àž­àžàž£àž²àž¢àžàž²àž£à¹àžà¹àžàžàžàž±àžàžà¹àž²àžàžµà¹à¹àž£àžŽà¹àž¡àžà¹àž§àž¢àž­àž±àžàžàž£àž°àžàžµà¹àžàžžàžàžàžŽàž¡àžà¹ àžàž²àž£àžàž [Tab] àžàž°àžà¹àž§àž¢à¹àžàžŽàž¡àžàž³àžàžµà¹àžàžžàžàžàžŽàž¡àžà¹àžà¹àž§àž¢àžà¹àž²àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹à¹àž«à¹à¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽ</Text>
+<Text id="80">àžàžžàžàžªàž²àž¡àž²àž£àžàžàž±àžàž£àž°à¹àžàžµàž¢àžàžà¹àž²à¹àž¡àžàž²àžàž²àžàž²à¹àžà¹àžàž¥àž³àžàž±àžàžàž±à¹àžà¹àžà¹ àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£àžàžµà¹àž¡àžµà¹àžªàžàžà¹àžà¹àžàžàžàž±àžàžà¹àž²àžàžµà¹à¹àžà¹à¹àžàž¥à¹àžàž­àž£à¹àžªàž³àž«àž£àž±àžàž£àž°àžàž±àžàž àž²àž¢à¹àž àžàžžàžàžªàž²àž¡àž²àž£àžàžà¹àž­àžàžà¹àž²àž¥àž³àžàž±àžàžàž±à¹àžà¹àžà¹à¹àžàž¢à¹àžà¹àž­àž±àžàžàž£àž° "I" à¹àžàž·à¹àž­à¹àž¢àžàž£àž°àžàž±àž àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž àžàžžàžàž­àž²àžàžàž°à¹àžà¹ "Cards|Red|Diamonds|Seven" à¹àžàž¥àž³àžàž±àžàžàž±à¹àžà¹àžàž·à¹àž­à¹àžªàžàžàžªàž³àž£àž±àžàžàž­àžà¹àžà¹ àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹àžàžàžµà¹àžàž°àžàž³à¹àž«à¹àžàžžàžàžªàž²àž¡àž²àž£àžàžàž±àžàžàž¥àžžà¹àž¡àžà¹àž²à¹àžà¹àž²àžà¹àž§àž¢àžàž±àžà¹àžà¹ àžàž­àžàžàž²àžàžàžµà¹ àžàžžàžàž¢àž±àžàžªàž²àž¡àž²àž£àžàžàž³àž«àžàžàžàž¥àžžà¹àž¡à¹àžàž£àž¹àžà¹àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«à¹àžàž±àžà¹àžà¹àž¡à¹àžà¹àž­àžµàžàžà¹àž§àž¢</Text>
+<Text id="81">à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàž°àžàž±àžàžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàž²àžà¹àž­àžàžªàž²àž£àž¥àžà¹àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàž­àžàžà¹àžàž£àž°àžàž­àžàžàžµà¹àžàž³àž«àžà¹àž²àžà¹àž§àž¢ "ex."  à¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽ à¹àžàž¢à¹àž¡à¹àž¡àžµà¹àžàžàžàž±àžàžà¹àž² à¹àž¥àž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžà¹àžà¹</Text>
+</Section>
+<Section name="selectingmetadatasets">
+<Title>
+<Text id="82">àžàž²àž£à¹àž¥àž·àž­àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²</Text>
+</Title>
+<Text id="83">àžàžžàžàžàž­àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàžàž²àž£àžàž³àž«àžàžàžà¹àž²à¹àž§à¹àžà¹àž­àžàž«àžà¹àž²à¹àžà¹àžàžàžµà¹àž£àž¹à¹àžàž±àžà¹àžàžàž·à¹àž­ "àžàžžàžà¹àž¡àžàž²àžàž²àžàž²" àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž±àžàž¥àžŽàžàžàž­àž£à¹ à¹àž¡àž·à¹àž­àžàžžàžà¹àžàžŽà¹àž¡àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž àžàžžàžàžàž°àžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžà¹àžà¹àžàž²àžàž­àžàžà¹àžàž£àž°àžàž­àžàžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžà¹àžà¹ àžàžžàžàžªàž²àž¡àž²àž£àžàž¡àžµàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžà¹àž¡àž²àžàžàž§à¹àž²àž«àžàž¶à¹àžàžàžžàž à¹àžàž¢à¹àžàž·à¹àž­àžà¹àž­àžàžàž±àžà¹àž¡à¹à¹àžà¹àžàž·à¹àž­àžà¹àž³àžàž±àž àžàž±àž§àž£àž°àžàžžàžàžàž²àžàžªàž±à¹àžàžàž¶à¹àžàž£àž°àžàžžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž°àžàž¹àžà¹àžªà¹à¹àž§à¹àž«àžà¹àž²àžàž·à¹àž­àž­àžàžà¹àžàž£àž°àžàž­àž  à¹àžà¹àž àž­àžàžà¹àžàž£àž°àžàž­àž Creator àžàž­àžàžàž±àžàž¥àžŽàžàžàž­àž£à¹ àžàž°àžàž¥àž²àž¢à¹àžà¹àž "dc.Creator" àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž°àžàž¹àžàžàž±àžà¹àžà¹àžà¹àž§à¹à¹àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž¡àžàž²àžàž²àžàž²àžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ à¹àž¥àž°àž¡àžµàžàž²àž¡àžªàžàžžàž¥à¹àžà¹àž ".mds" </Text>
+<Text id="84">à¹àž¡àž·à¹àž­àžàžžàžàžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹ àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž±àžàž¥àžŽàžàžàž­àž£à¹àžàž°àžàž¹àžà¹àžàžŽà¹àž¡à¹àžà¹àž²à¹àžà¹àžàž£àž°àžàžà¹àžà¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžà¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžàžàžžà¹àž¡ "àžàž±àžàžàž²àž£àžàžžàžà¹àž¡àžàž²àžàž²àžàž²âŠ" à¹àžà¹à¹àžàžàžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž¡àžžàž¡àž¡àž­àž "à¹àž¡àžàž²àžàž²àžàž²" àž«àžà¹àž²àžà¹àž²àžà¹àž«àž¡à¹àžàž°àžàž£àž²àžàžàžàž¶à¹àžà¹àžàž·à¹àž­à¹àž«à¹àžàžžàžàžªàž²àž¡àž²àž£àžàžàž±àžàžàž²àž£àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹</Text>
+<Text id="84a">àž£àž²àž¢àžàž²àž£ "àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàž" àžàž°à¹àžªàžàžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àž­àž¢àž¹à¹à¹àžàžàž±àžàžàžžàžàž±àž</Text>
+<Text id="84b">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžà¹àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àž­àž·à¹àžàžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àžàžŽàžà¹àžà¹àžàž²àžàž­àž¢àž¹à¹ à¹àž«à¹àžàž¥àžŽàž "à¹àžàžŽà¹àž¡âŠ" àž«àžà¹àž²àžà¹àž²àžàžà¹àž­àžàž­àž±àžàžàž°à¹àžªàžàžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž£àžŽà¹àž¡àžà¹àžàžàžµà¹ GLI àž£àž¹à¹àžàž±àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàžžàžà¹àž¡àžàž²àžàž²àžàž² à¹àž«à¹àžàž³àžàž²àž£à¹àž¥àž·àž­àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž²àžàž£àž²àž¢àžàž²àž£ à¹àž¥àž°àžàž¥àžŽàž "à¹àžàžŽà¹àž¡" àžà¹àž²àžàžžàžà¹àžà¹àžàžŽàž¢àž²àž¡àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž­àžàžàžžàžà¹àž­àžà¹àž§à¹à¹àž¥à¹àž§ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹àžàžžà¹àž¡ "à¹àž£àžµàž¢àžàžàž¹" à¹àžàž·à¹àž­àž£àž°àžàžžàžàž³à¹àž«àžà¹àžà¹àžà¹àž¡à¹àžàž£àž°àžàžà¹àžà¹àž¡àžàž­àžàžàžžàžà¹àžà¹</Text>
+<Text id="84c">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžªàž£à¹àž²àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹ à¹àž«à¹àžàž¥àžŽàžàžàžµà¹ "àžªàž£à¹àž²àžà¹àž«àž¡à¹âŠ"  àžàž¶à¹àžàžàž°à¹àžà¹àžàžàž²àž£à¹àž£àžµàž¢àžà¹àžà¹àžàž±àž§à¹àžà¹à¹àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž àž«àž£àž·àž­àžàžµà¹à¹àž£àžµàž¢àžàžàž±àžàž§à¹àž² GEMS àž«àžà¹àž²àžà¹àž²àžàžà¹àž­àžàž­àž±àžà¹àž£àžŽà¹àž¡àžà¹àžàžàž°àžàž­à¹àž«à¹àžàžžàžà¹àžªà¹àžàž·à¹àž­àžàžžàž à¹àžàž¡àžªà¹àžàž à¹àž¥àž°àžàž³àž­àžàžŽàžàž²àž¢àž¥àžà¹àž àžàž­àžàžàž²àžàžàžµà¹ àžàžžàžàž¢àž±àžàžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžà¹àž«à¹à¹àž¡àžàž²àžàž²àžàž²àžàžžàžà¹àž«àž¡à¹àž­àž¢àž¹à¹àžàžàžàž·à¹àžàžàž²àžàžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžžàžà¹àžàžŽàž¡àžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àžà¹ à¹àžàžàž£àžàžµàžàžµà¹ à¹àž¡àžàž²àžàž²àžàž²àžàžžàžà¹àž«àž¡à¹àžàž°àžªàž·àžàžàž­àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àžàž±à¹àžàž«àž¡àžàžàž²àžà¹àž¡àžàž²àžàž²àžàž²àžàžžàžà¹àžàžŽàž¡àžàžµà¹àž£àž°àžàžž àžàž²àžàžàž±à¹àžàžàž¥àžŽàž àžàžàž¥àž àž«àžà¹àž²àžà¹àž²àžàž«àž¥àž±àžàžàž°à¹àžªàžàžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àžàž­àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž¶à¹àžàž¡àž²àžàž²àžàžà¹àž²àžàžà¹àž²àž¢àž¡àž·àž­ àžàž£à¹àž­àž¡àžàž±à¹àžà¹àžªàžàžàžàžžàžàž¥àž±àžàž©àžàž°àžàž²àžàž­àž¢à¹àž²àžàžàž­àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž¶à¹àžàž¡àž²àžàž²àžàžà¹àž²àžàžàž§àž²àž¡àž·àž­ àžà¹àž²àžàžžàžà¹àžà¹à¹àž¥àž·àž­àžà¹àž«à¹à¹àž¡àžàž²àžàž²àžàž²àžàžžàžà¹àž«àž¡à¹àž­àž¢àž¹à¹àžàžàžàž·à¹àžàžàž²àžàžàž­àžàžàžžàžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§ àž£àž°àžàžàžàž°à¹àžªàžàžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àž­àž¢à¹àž²àžàžà¹àž­àž¢àž«àžàž¶à¹àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àžàž¶à¹àžàž¡àž²àžàžàž«àžà¹àž²àžàž­ à¹àž¡àž·à¹àž­àžàžžàžàžàž¥àžŽàžàžàžµà¹àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢ àž£àž°àžàžàžàž°à¹àžªàžàžàžà¹àž²àžàžžàžàž¥àž±àžàž©àžàž°àžàž­àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àžàž±à¹àžàžàž²àžàžàž§àž²àž¡àž·àž­</Text>
+<Text id="84d">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢à¹àž«àž¡à¹ à¹àž«à¹àžàž¥àžŽàžàžàž§àž²àžàžµà¹àžàž·à¹àž­àžàžžàžà¹àž¥àž°à¹àž¥àž·àž­àž "à¹àžàžŽà¹àž¡àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢"  à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥à¹àž«àž¡à¹àž àž²àž¢à¹àžà¹àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢ à¹àž«à¹àžàž¥àžŽàžàžàž§àž²àžàžµà¹àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢ à¹àž¥àž°à¹àž¥àž·àž­àž "à¹àžàžŽà¹àž¡àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢" àžàžžàžàžªàž²àž¡àž²àž£àžàž¥àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢à¹àž¥àž°àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž àž²àž¢à¹àžà¹àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢à¹àžà¹àžà¹àž§àž¢àžàž²àž£à¹àž¥àž·àž­àž "àž¥àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥(àž¢à¹àž­àž¢)" àžàž²àžà¹àž¡àžàž¹àžàž¥àžŽàžàžàž§àž²</Text>
+<Text id="84e">àž«àž¡àž²àž¢à¹àž«àžàžž: àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž±àž§à¹àžà¹à¹àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžà¹àž­àž¢à¹àž²àžàž­àžŽàžªàž£àž°àžàž²àž GLI àžà¹àž§àž¢àžàž²àž£à¹àž¥àž·àž­àžàžàž±àž§à¹àžà¹à¹àžàžàž²àžà¹àž¡àžàž¹à¹àž£àžŽà¹àž¡àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž àž«àž£àž·àž­àžà¹àž§àž¢àžàž²àž£à¹àž£àžµàž¢àžà¹àžà¹ gens.sh àž«àž£àž·àž­ gems.bat à¹àžà¹àžàž¥à¹àžàž­àž£à¹ gli àžàž­àžàžªà¹àž§àžàžàžŽàžàžàž±à¹àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàž­àžàžàžžàž</Text>
+<Text id="84f">àžàž²àžàžàž£àž±à¹àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžªàž­àžàžàžžàžàž­àž²àžàž¡àžµà¹àžàž¡àžªà¹àžàžà¹àžàžµàž¢àž§àžàž±àž àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž àžàž±à¹àžàžàž±àžàž¥àžŽàžàžàž­àž£à¹à¹àž¥àž°àžàž±àžàž¥àžŽàžàžàž­àž£à¹à¹àžàž Qualified à¹àžà¹à¹àžàž¡àžªà¹àžàžàž§à¹àž² "dc" àžàž±àžàžàž±à¹àžàžàž¶àžà¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžàžªàž­àžàžàžžàžàžàžµà¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž£à¹àž­àž¡àžàž±àžà¹àžà¹ àžà¹àž²àžàžžàžàžàž¢àž²àž¢àž²àž¡à¹àžàžŽà¹àž¡àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµà¹àžàž¡àžªà¹àžàžàžàž£àžàžàž±àžàžàžµà¹àž¡àžµà¹àžà¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàž­àž¢àž¹à¹à¹àž¥à¹àž§ àžàž³à¹àžàž·àž­àžàžàž°àžàž£àž²àžàžàžàž¶à¹àž àžà¹àž²àžàžžàžàž¢àž±àžàžàž³à¹àžàžŽàžàžàž²àž£àžà¹àž­à¹àž àž£àž°àžàžàžàž°à¹àž­àž²àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§àž­àž­àž à¹àž¥àž°à¹àžàžŽà¹àž¡àžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹à¹àžà¹àž²à¹àž àžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàžà¹àžà¹ àžàž°àžàž¹àžà¹àž­àžàž¢à¹àž²àž¢à¹àžàž¢àž±àžàžàžžàžà¹àž«àž¡à¹à¹àžàž¢àžàžµà¹àž¢àž±àžàžàžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž«àž¥à¹àž²àžàž±à¹àžàž­àž¢àž¹à¹</Text>
+<Text id="191">àžà¹àž§àž¢ GEMS àžàžµà¹ upi àžàž°àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§à¹àžà¹à¹àžà¹àžà¹àžàžµàž¢àž§àžàž±àžàžàž²àž£àžªàž£à¹àž²àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹ àžàž²àž£àžàž¥àžŽàžàžàžµà¹àžàžžà¹àž¡ "à¹àžà¹à¹àž" àžàž°à¹àžà¹àžàžàž²àž£à¹àž£àžµàž¢àžà¹àžà¹à¹àžàž£à¹àžàž£àž¡ GEMS àžàž£à¹àž­àž¡àžàž±àžà¹àžàžŽàžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž£àž°àžàžž àžàž±àžàžàžµàžàžµà¹àžàžžàžà¹àžà¹à¹àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžªàž£à¹àžà¹àž£àžµàž¢àžàž£à¹àž­àž¢à¹àž¥à¹àž§ (àžàž±àžàž­àžàžŽàžàž²àž¢àžà¹àž²àžàžà¹àž) à¹àž«à¹àžàž³àžàž²àž£àžàž±àžàžàž¶àžàžàž²àž£à¹àžà¹à¹àž (à¹àžà¹àž¡->àžàž±àžàžàž¶àž) à¹àž¥àž°àžàžŽàžà¹àžàž£à¹àžàž£àž¡ GEMS</Text>
+<Text id="192">àžà¹àž²àžàž­àž¥à¹àž¥àžàžàž±àžà¹àž¡à¹àžà¹àž­àžàžàž²àž£à¹àžà¹àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àž­àžµàžàžà¹àž­à¹àžà¹àž¥à¹àž§ à¹àž«à¹à¹àž¥àž·àž­àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž¥àž°àžàž "à¹àž­àž²àž­àž­àž" àžà¹àž²àžàžžàžà¹àžà¹à¹àžàž¢àžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžà¹ à¹àžà¹àž²àžàž±àžàž­àžàžà¹àžàž£àž°àžàž­àžàžàž­àžà¹àž¡àžàž²àžàž²àžàž² àž£àž°àžàžàžàž°àžàž²àž¡àž§à¹àž² àžàžžàžàžàž°àžàž±àžàžàž²àž£àžàž±àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž­àž¢à¹àž²àžà¹àž£à¹àž¡àž·à¹àž­àžàžžàžàžàž°à¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž£àž±à¹àžà¹àžàžàž±àžà¹àž</Text>
+</Section>
+<Section name="appendingmetadata">
+<Title>
+<Text id="85">àžàž²àž£à¹àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹à¹àžàžŽà¹àž¡à¹àžàžŽàž¡</Text>
+</Title>
+<Text id="86">àžàžàž°àžàžµà¹à¹àž£àž²àžàž°à¹àžàžŽà¹àž¡àž£àž²àž¢àžàž²àž£à¹àž¡àžàž²àžàž²àžàž² -- àžàž±à¹àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¥àž°àžà¹àž² -- àž¥àžà¹àžà¹àžà¹àž¡ àžà¹àž­àžàž­àž·à¹àžà¹àž«à¹à¹àž¥àž·àž­àžà¹àžà¹àž¡àžàž²àžà¹àžàžàžàž±àžà¹àžà¹àž¡àž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž­àž¢àž¹à¹àžàž²àžàžà¹àž²àžàžà¹àž²àž¢ àžàž²àž£àžàž£àž°àžàž³àžàž±àžàžàž¥à¹àž²àž§àžàž°àžàž³à¹àž«à¹à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžà¹àžàž³àž«àžàžà¹àž«à¹à¹àž§à¹àžàž±àžà¹àžà¹àž¡àžàžµà¹àžà¹àž­àžàž«àžà¹àž²àžàžµà¹à¹àžàžàž£àž²àžàžà¹àžàžàž²àž£àž²àžàžàž²àžàžà¹àž²àžàžàž§àž²</Text>
+<Text id="87">àžà¹àž­à¹àž à¹àž«à¹à¹àž¥àž·àž­àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡à¹àžàž¢àžàž¥àžŽàžàžàžµà¹à¹àžàž§àžàž­àžàž­àžàžà¹àžàž£àž°àžàž­àžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàžàž²àž£àž²àž</Text>
+<Text id="88">àžàžŽàž¡àžà¹àžà¹àž²àž¥àžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž² à¹àž«à¹à¹àžà¹àž­àž±àžàžàž£àž° "|" à¹àžàž·à¹àž­à¹àžàžŽà¹àž¡à¹àžàž£àžàžªàž£à¹àž²àž àžàž±àžàž­àžàžŽàžàž²àž¢à¹àž <Reference target="theenrichview"/> àžàž²àž£àžàžà¹àžà¹àžàž¥àž¹àžàžšàž£ [àžàž¶à¹àž] àž«àž£àž·àž­ [àž¥àž] àžàž°à¹àžà¹àžàžàž²àž£àžàž±àžàžàž¶àžàžà¹àž²à¹àž¡àžàž²àžàž²àžàž² à¹àž¥àž°à¹àž¥àž·à¹àž­àžàžàž²àž£à¹àž¥àž·àž­àžàžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡ àžàž²àž£àžàž [Enter] àžàž°à¹àžà¹àžàžàž²àž£àžàž±àžàžàž¶àžàžà¹àž²à¹àž¡àžàž²àžàž²àžàž² à¹àž¥àž°àžªàž£à¹àž²àžàž£àž²àž¢àžàž²àž£àž§à¹àž²àžà¹àž«àž¡à¹àžªàž³àž«àž£àž±àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž² à¹àžàž¢àžàž°àž¢àž­àž¡à¹àž«à¹àžàžžàžàžàž³àž«àžàžàžà¹àž²à¹àž«à¹àžàž±àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²à¹àžà¹àž«àž¥àž²àž¢àžà¹àž²</Text>
+<Text id="89">àžàžžàžàž¢àž±àžàžªàž²àž¡àž²àž£àžà¹àžàžŽà¹àž¡à¹àž¡àžàž²àžàž²àžàž²àž¥àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹ àž«àž£àž·àž­àž¥àžà¹àžà¹àžà¹àž¡àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àž«àž¥àž²àž¢à¹àžà¹àž¡à¹àžàžàž£àž±à¹àžà¹àžàžµàž¢àž§à¹àžà¹ à¹àž¡àžàž²àžàž²àžàž²àžàž°àžàž¹àžà¹àžàžŽà¹àž¡àž¥àžà¹àžà¹àžà¹àž¡àžàž±à¹àžàž«àž¡àžàž àž²àž¢à¹àžà¹àžàž¥à¹àžàž­àž£à¹àž«àž£àž·àž­à¹àžà¹àž¡àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹ àž£àž§àž¡àžàž±à¹àžà¹àžàž¥à¹àžàž­àž£à¹àž¥àž¹àž à¹àžàž£àžàžàž³à¹àž§à¹àž§à¹àž² àžà¹àž²àžàžžàžàžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«à¹àžàž±àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž¥à¹àž§ à¹àžà¹àž¡à¹àž«àž¡à¹à¹àžà¹ à¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàž°àžªàž·àžàžàž­àžàžà¹àž²àžàž­àžà¹àžàž¥à¹àžàž­àž£à¹àžàž±à¹àžà¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽ</Text>
+</Section>
+<Section name="addingpreviouslydefinedmetadata">
+<Title>
+<Text id="90">àžàž²àž£à¹àžàžŽà¹àž¡à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàžà¹àž§à¹àžà¹àž­àžàž«àžà¹àž²àžàžµà¹</Text>
+</Title>
+<Text id="91">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàžà¹àž²àž­àž¢àž¹à¹à¹àž¥à¹àž§ àžà¹àž­àžàž­àž·à¹àžà¹àž«à¹à¹àž¥àž·àž­àžà¹àžà¹àž¡ à¹àž¥à¹àž§à¹àž¥àž·àž­àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàžžàžàžàž³àž¥àž±àžàžàž°àžàž³àž«àžàž àžàž²àžàžàž±à¹àžà¹àž¥àž·àž­àžàžà¹àž²àžàžµà¹àžà¹àž­àžàžàž²àž£àžàž²àžà¹àžàžàžàž±àžàžà¹àž² à¹àžàž¢àžªàž²àž¡àž²àž£àžàžàž¢àž²àž¢à¹àžàž¥à¹àžàž­àž£à¹àž¥àž³àžàž±àžàžàž±à¹àžàžàž²àž¡àžàžµà¹àžàž³à¹àžà¹àž àžà¹àž²àžàž­àžàž£àž²àž¢àžàž²àž£àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àžàž°àžàž£àž²àžàžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²à¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽ (àž«àž£àž·àž­àž­àž²àžàžàž°à¹àžà¹àžàžžàžàž¥àž±àžàž©àžàž° à¹àž¥àž·àž­àžàž­àž±àžà¹àžàž¡àž±àžàžŽ à¹àž¥àž° à¹àžàžŽàž¡àžàž³àž­àž±àžà¹àžàž¡àž±àžàžŽ àžàž­àžà¹àžàžàžàž±àžàžà¹àž²àžà¹à¹àžà¹)</Text>
+<Text id="92">àžàž£àž°àžàž§àžàžàž²àž£à¹àžàžŽà¹àž¡à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàžà¹àž²àž­àž¢àž¹à¹à¹àž¥à¹àž§àž¥àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹àž«àž£àž·àž­à¹àžà¹àž¡àž«àž¥àž²àž¢à¹àžà¹àž¡à¹àžà¹àžàžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£à¹àžàž£àž¹àžà¹àžàžà¹àžàžµàž¢àž§àžàž±àž</Text>
+</Section>
+<Section name="updatingmetadata">
+<Title>
+<Text id="93">àžàž²àž£à¹àžà¹à¹àžà¹àž¡àžàž²àžàž²àžàž²àž«àž£àž·àž­àžàž²àž£à¹àž­àž²à¹àž¡àžàž²àžàž²àžàž²àž­àž­àž</Text>
+</Title>
+<Text id="94">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžà¹à¹àžàž«àž£àž·àž­à¹àž­àž²à¹àž¡àžàž²àžàž²àžàž²àž­àž­àž àžà¹àž­àžàž­àž·à¹àžà¹àž«à¹à¹àž¥àž·àž­àžà¹àžà¹àž¡àžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡ àžàž²àžàžàž±à¹àžà¹àž¥àž·àž­àžàžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàž²àžàžàž²àž£àž²àž à¹àž¥à¹àž§à¹àžà¹à¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž²àžà¹àž§àž¢àžàž²àž£àž¥àžàžà¹àž­àžàž§àž²àž¡àžàž±à¹àžàž«àž¡àžàžà¹àž²àžàžžàžàžà¹àž­àžàžàž²àž£à¹àž­àž²à¹àž¡àžàž²àžàž²àžàž²àž­àž­àž</Text>
+<Text id="95">àžàž£àž°àžàž§àžàžàž²àž£àžàžµà¹àžàž°àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹àžà¹àžàžµàž¢àž§àžàž±àžàžàž²àž£àžàž£àž±àžàžàž£àžžàžà¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àž¡àžµà¹àžàž¥à¹àžàž­àž£à¹àž¥àž¹àžàž«àž£àž·àž­à¹àžà¹àž¡àž«àž¥àž²àž¢à¹àžà¹àž¡ à¹àžà¹àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³à¹àžà¹à¹àžàžµàž¢àžàžàž£àž±àžàžàž£àžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžà¹àžàžà¹àž²àž£à¹àž§àž¡àžàž±àžàžàž­àžà¹àžà¹àž¡/à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àžàž±à¹àžàž«àž¡àžà¹àžà¹àž²àžàž±à¹àž</Text>
+<Text id="96">à¹àžàžàžàž±àžàžà¹àž²àžàž°à¹àžªàžàžàžà¹àž²àžàžµà¹àžàž³àž«àžàžà¹àž§à¹à¹àžàžàž±àžàžàžžàžàž±àžàžàž±à¹àžàž«àž¡àžà¹àžà¹àžà¹àžàžµàž¢àž§àžàž±àžàžà¹àž²àžà¹àž­àžàžàžµà¹àžªàž³àž«àž£àž±àžà¹àžàžªàžàž±àžàžàž±àžàžàžžàžàž±àž àžàž±àžàžàž±à¹àžàžà¹àž²àžàžµà¹àžàž¹àžà¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàž«àž£àž·àž­àžàž¹àžàž¥àžàžàž°àž¢àž±àžàžàžàž­àž¢àž¹à¹à¹àžà¹àžàžàžàž±àž àžàž²àž£àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž¥àž°à¹àžàžŽàžàžàž¶à¹àžàž¡àž²à¹àž«àž¡à¹àžàž°à¹àžà¹àžàžàž²àž£à¹àž­àž²àžà¹àž²àžàž±à¹àžàž«àž¡àžàžàžµà¹à¹àž¡à¹àžà¹àž­àžàžàž²àž£à¹àž¥à¹àž§àž­àž­àžà¹àž</Text>
+</Section>
+<Section name="reviewingmetadata">
+<Title>
+<Text id="97">àžàž²àž£àžàž£àž§àžàžàž²àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàž</Text>
+</Title>
+<Text id="98">àžàž²àžàžàž£àž±à¹àžàžàžžàžàž­àž²àžàžàž°àžà¹àž­àžàžàž²àž£àžàž¹à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžà¹àžàž³àž«àžàžà¹àž«à¹àžàž±àžà¹àžà¹àž¡àžàž³àžàž§àžàž«àž¥àž²àž¢à¹àžà¹àž¡à¹àžàžàž£à¹àž­àž¡àžàž±àžàžàž±àžàžàžµ -- àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž¹àž§à¹àž² àž¡àžµàžàž³àžàž§àžà¹àžà¹àž¡àžàžµà¹àžàž°àžà¹àž²àžàžàž²àž£àžàž³àžàž²àžàž­àž¢àž¹à¹àžàžµà¹à¹àžà¹àž¡ àž«àž£àž·àž­à¹àžàž·à¹àž­à¹àž«à¹à¹àžà¹àžàž§àž²àž¡àžàžŽàžà¹àžàžµà¹àž¢àž§àžàž±àžàžàž²àž£àžàž£àž°àžàž²àž¢àžàž­àžàž§àž±àžàžàžµà¹àžà¹àž²àžà¹</Text>
+<Text id="99">à¹àž«à¹à¹àž¥àž·àž­àžà¹àžà¹àž¡à¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£àžàž£àž§àžàžªàž­àž àžàž²àžàžàž±à¹àžàžàž¥àžŽàžàžàž§àž² à¹àž¥àž°à¹àž¥àž·àž­àž "à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàžâŠ"  àž«àžà¹àž²àžà¹àž²àžàžàžµà¹àžàž·à¹àž­àž§à¹àž² "à¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžàž«àž¡àž" àžàž¶à¹àžàžàž£àž£àžàžžàž­àž¢àž¹à¹à¹àžàžàž²àž£àž²àžàžàžàž²àžà¹àž«àžà¹àžàžµà¹àž¡àžµàžàž­àž¥àž±àž¡àžà¹àžàž³àžàž§àžàž¡àž²àžàžàž°àžàž£àž²àžàžàžàž¶à¹àž àžàž­àž¥àž±àž¡àžà¹à¹àž£àžàžàž°à¹àžªàžàžàžàž·à¹àž­à¹àžà¹àž¡ à¹àž¥àž°à¹àžàž§àžàž°à¹àžªàžàžàžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžàž«àž¡àžàžàžµà¹àžàž³àž«àžàžà¹àž«à¹àžàž±àžà¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàž±à¹àž</Text>
+<Text id="100">àž£àž°àžàžàž­àž²àžàžàž°à¹àžà¹à¹àž§àž¥àž²àžàž²àžà¹àžàž·à¹àž­àž§àž²àžàžàž²àž£àž²àžàž«àž²àžàžàžžàžà¹àž¥àž·àž­àžà¹àžà¹àž¡àžàž³àžàž§àžàž¡àž²àž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹àžàž²àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžà¹àž­à¹àžà¹àžà¹àžàžàž°àžàžµà¹àž«àžà¹àž²àžà¹àž²àž "à¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžàž«àž¡àž" à¹àžàžŽàžàž­àž¢àž¹à¹</Text>
+<Text id="101">à¹àž¡àž·à¹àž­àžàž¥àž¥àž±àžàžà¹àž¡àžµàžàž³àžàž§àžàž¡àž²àžà¹àžàžŽàžà¹àž àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³àžàž²àž£àžàž£àž­àžàžàž²àž£àž²àž "à¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžàž«àž¡àž" à¹àžà¹à¹àžàž¢àžàž²àž£àžàž£àž±àžà¹àžà¹àžàž±àž§àžàž£àž­àžàžàž±àžàžàž­àž¥àž±àž¡àžà¹ à¹àž¡àž·à¹àž­à¹àžàžŽà¹àž¡àžàž±àž§àžàž£àž­àžà¹àž«àž¡à¹à¹àž¥à¹àž§ àž£àž°àžàžàžàž°à¹àžªàžàžàžàž¥àž¥àž±àžàžà¹à¹àžàžµàž¢àžàžàž²àžà¹àžàž§àžàžµà¹àžàž£àžàžàž±àžà¹àžàž·à¹àž­àžà¹àžà¹àžà¹àž²àžàž±à¹àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž±à¹àžàžà¹àž² à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžà¹àž² àž«àž£àž·àž­àž¥à¹àž²àžàžà¹àž²àžàž±àž§àžàž£àž­àž à¹àž«à¹àžàž¥àžŽàžà¹àž­àžàž­àž "àžàž£àž§àž¢" àžàžµà¹àžà¹àž²àžàžàžàžªàžžàžàžàž­àžàžàž­àž¥àž±àž¡àžà¹ àžàž²àžàžàž±à¹àžàžà¹àž­àž¡àž¹àž¥à¹àžàžµà¹àž¢àž§àžàž±àžàžàž±àž§àžàž£àž­àžàžàž°à¹àžªàžàžàžàž¶à¹àž àžàž±àžàžàžµàžàžµà¹àžàž±à¹àžàžà¹àž²àžàž±àž§àžàž£àž­àž àžªà¹àž§àžàž«àž±àž§àžàž­àž¥àž±àž¡àžà¹àžàž°à¹àžàž¥àžµà¹àž¢àžàžªàžµà¹àž</Text>
+<Text id="102">àžàž£à¹àž­àž¡àžà¹àžàž±àž§àžàž£àž­àžàž¡àžµà¹àžà¹àž "àžàž±àž§àžàž£àž­àžàž­àž¢à¹àž²àžàžà¹àž²àž¢" à¹àž¥àž°à¹àžà¹àž "àžàž±àž§àžàž£àž­àžàž­àž¢à¹àž²àžàž¥àž°à¹àž­àžµàž¢àž"  àžàž±àž§àžàž£àž­àžàž­àž¢à¹àž²àžàžà¹àž²àž¢àžàž°àžàž³à¹àžàžŽàžàžàž²àž£àžàž£àž­àžàžàž­àž¥àž±àž¡àžà¹à¹àžàž·à¹àž­à¹àž«à¹àžàž­àž¥àž±àž¡àžà¹à¹àžªàžàžà¹àžàžàž²àž°à¹àžàž§àžàžµà¹àž¡àžµàžà¹àž²à¹àž¡àžàž²àžàž²àžàž²à¹àžàžàž²àž°àž­àž¢à¹àž²àž ("*" àžàž£àžàžàž±àžàžàžžàžàžà¹àž²)  àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžàžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàž²àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àžà¹àžà¹ àžàž±àž§àžàž£àž­àžàž­àž¢à¹àž²àžàž¥àž°à¹àž­àžµàž¢àžàžàž°àž­àžàžžàžàž²àžà¹àž«à¹à¹àžà¹àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£àžàž£àž§àžàžªàž­àžàžàž§àž²àž¡àžàž£àžàžàž±àžàžàžµà¹àžà¹àž²àžà¹àžàž·à¹àž­àžà¹àžàžàž±àžà¹àžà¹ à¹àžà¹àž à¹àž£àžŽà¹àž¡àžà¹àžàžà¹àž§àž¢ (must start with) à¹àž¡à¹àž¡àžµ (does not contain) àž¡àžµàžàž³àžàž§àžàž­àž±àžàžàž£àž°àžà¹àž­àž¢àžàž§à¹àž² (alpahbetically less than) à¹àž¥àž°à¹àžà¹àž²àžàž±àž (is equal to) àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžàžà¹àž²àžàžµà¹àžà¹àž­àžàžàž²àž£à¹àž«à¹àžàž£àžàžàž±àžà¹àžà¹àžàžªàžàž£àžŽàžà¹àžà¹ (àž£àž§àž¡àžàž±à¹àž "*") à¹àž¥àž°àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžà¹àžà¹àž§à¹àž²àžàž°à¹àž¡à¹à¹àž«à¹à¹àž¢àžà¹àž¢àž°àžàž±àž§àžàžŽàž¡àžà¹à¹àž«àžà¹-à¹àž¥à¹àžàž«àž£àž·àž­à¹àž¡à¹ àžàž²àžàžàž±à¹àž àžàžžàžàžªàž²àž¡àž²àž£àžàž£àž°àžàžžà¹àžàž·à¹àž­àžà¹àžàžàž²àž£àžàž£àžàžàž±àžà¹àžàž·à¹àž­àžà¹àžàžàžµà¹àžªàž­àžàžàž¶à¹àžàžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžàž·à¹àž­àž£àž°àžàžžàžà¹àž§àžàžàž­àžàžà¹àž² (àžà¹àž§àž¢àžàž²àž£à¹àž¥àž·àž­àž 'à¹àž¥àž°') àž«àž£àž·àž­àžà¹àž²àžàžµà¹à¹àžà¹àžàžàž±àž§à¹àž¥àž·àž­àžàž­àž·à¹àžà¹ (àžà¹àž§àž¢àžàž²àž£à¹àž¥àž·àž­àž 'àž«àž£àž·àž­') à¹àžà¹àžàž·à¹àžàžàžµà¹àžàžµà¹àžàž°à¹àžà¹àžàžàž¥à¹àž­àžàžàžµà¹àž­àžàžžàžàž²àžà¹àž«à¹àžàžžàžà¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàž¥àž³àžàž±àžàžàž²àž£àžàž±àžà¹àž£àžµàž¢àžà¹àžà¹ (àžàž²àžàžà¹àž­àž¢à¹àžàž¡àž²àž àž«àž£àž·àž­àžàž²àžàž¡àž²àžà¹àžàžà¹àž­àž¢) àžàž±àžàžàžµàžàžµà¹àžàžžàžàžàž³à¹àžàžŽàžàžàž²àž£à¹àžªàž£à¹àžàžªàžŽà¹àžà¹àž¥à¹àž§ à¹àž«à¹àžàž¥àžŽàž "àžàž±à¹àžàžà¹àž²àžàž±àž§àžàž£àž­àž" à¹àžàž·à¹àž­àžàž£àž°àž¢àžžàžàžà¹à¹àžà¹àžà¹àž²àžàž±àž§àžàž£àž­àžà¹àž«àž¡à¹àžàž±àžàžàž­àž¥àž±àž¡àžà¹  àž«àž£àž·àž­àžàž¥àžŽàž "àž¥à¹àž²àžàžà¹àž²àžàž±àž§àžàž£àž­àž" à¹àžàž·à¹àž­à¹àž­àž²àžàž±àž§àžàž£àž­àžàžàž±àžàžàžžàžàž±àžàž­àž­àž à¹àžàž£àžàžªàž±àžà¹àžàžàž§à¹àž² àž£àž°àžàžàžàž°àž¢àž±àžàžàžàžà¹àž²àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžàžàž­àžàžàž±àž§àžàž£àž­àžà¹àžàžŽàž¡à¹àž§à¹à¹àž¡à¹àž§à¹àž²àžàž±àž§àžàž£àž­àžàžàž°àžàž¹àžàž¥à¹àž²àžàžà¹àž²à¹àž¥à¹àž§</Text>
+<Text id="103">àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž£àžµàž¢àžàž¥àž³àžàž±àžàžàž²àž£àž²àž "à¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžàž«àž¡àž" à¹àž«à¹à¹àž¥àž·àž­àžàžàž­àž¥àž±àž¡àžà¹ à¹àž¥à¹àž§à¹àž¥àž·àž­àžàžàž²àž£àžàž±à¹àžàžà¹àž²àžàž±àž§àžàž£àž­àžà¹àž£àžŽà¹àž¡àžà¹àž (àžàž±àž§àžàž£àž­àžàž­àž¢à¹àž²àžàžà¹àž²àž¢à¹àžàžŽàžà¹àžà¹àžàž²àžàž­àž¢àž¹à¹ "*") àžàž²àžàžàž±à¹àžà¹àž¥àž·àž­àžàžàž²àž£à¹àž£àžµàž¢àžàž¥àž³àžàž±àžàžàž²àžàžà¹àž­àž¢à¹àžàž«àž²àž¡àž²àž àž«àž£àž·àž­àžàž²àžàž¡àž²àžà¹àžàž«àž²àžà¹àž­àž¢</Text>
+</Section>
+<Section name="importingpreviouslyassignedmetadata">
+<Title>
+<Text id="104">àžàž³àž¥àž±àžàžàž³à¹àžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàžàžà¹àž­àžàž«àžà¹àž²àžàžµà¹</Text>
+</Title>
+<Text id="105">àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àž§àžŽàžàžµàžàž²àž£àžàž³à¹àžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžà¹àžàž³àž«àžàžà¹àž§à¹àžà¹àž­àžàž«àžà¹àž²àžàžµà¹ àžàž¶à¹àžà¹àžà¹àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàžà¹àž«à¹àžàž±àžà¹àž­àžàžªàž²àž£àžà¹àž­àžà¹àžàžŽà¹àž¡à¹àž­àžàžªàž²àž£à¹àžà¹àž²à¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž</Text>
+<Text id="106">àžà¹àž²à¹àžàž¢àžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžàžàž­àž£à¹àž¡àžàžµà¹àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àž£àž¹à¹àžàž±àžà¹àž«à¹àžàž±àžà¹àžà¹àž¡à¹àž§à¹àžà¹àž­àžàž«àžà¹àž²àžàžµà¹à¹àž¥à¹àž§ -- àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž à¹àž¡àž·à¹àž­àžàžžàžà¹àž¥àž·àž­àžà¹àž­àžàžªàž²àž£àžàž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž£àžµàžàžªà¹àžàžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹ -- àž£àž°àžàžàžàž°àžàž³à¹àžà¹àž²à¹àž¡àžàž²àžàž²àžàž²à¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽà¹àž¡àž·à¹àž­àžàžžàžà¹àžàžŽà¹àž¡à¹àžà¹àž¡  à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹àžàžàž±à¹àž àžàžžàžàžàž°àžà¹àž­àžàžàž³àžàž²àž£à¹àž¡àžà¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžà¹àž«à¹à¹àžà¹àž²àžàž±àžàžàžžàžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžà¹àž­àž</Text>
+<Text id="107">àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž°à¹àžªàžàžàžà¹àž­àž¡àž¹àž¥àžàžµà¹àžàž³à¹àžà¹àžàžàž¶à¹àžàžàžàž«àžà¹àž²àžàž­  à¹àžàž¢àžàž°à¹àžªàžàžàž§àžŽàžàžµàžàž³à¹àžàžŽàžàžàž²àž£àž­àž¢à¹àž²àžàžªàž±à¹àž à¹àž¥àž°àžàž²àžàžàž±à¹àžàžàž¶àžà¹àžªàžàžàžàž·à¹àž­àžàž­àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž¥àž±àžàžàž³à¹àžà¹àž²à¹àž«àž¡àž·àž­àžàžàž±àžàžàžµà¹àžàž£àž²àžàžà¹àžà¹àžà¹àž¡àžà¹àžàžàžàž±àž àžàžžàžàžàž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžàž«àž£àž·àž­à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžàžµà¹à¹àžà¹ àžà¹àž­à¹àžà¹àž«à¹àžàžžàžà¹àž¥àž·àž­àžàžàžžàžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž°à¹àž¡àžà¹àžà¹àž²àžàž±àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž«àž¡à¹ àžàž²àžàžàž±à¹àžà¹àž¥àž·àž­àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡à¹àžàžàžžàžàžàž±à¹àž àž£àž°àžàžàžàž°à¹àž¥àž·àž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž£àžàžàž±àžàžàžµà¹àžªàžžàžàžªàž³àž«àž£àž±àžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹à¹àž«à¹à¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽà¹àžàž¢àžàžŽàžàž²àž£àžàž²àž£àž¹àžà¹àžàžàžàž­àžàžàžžàžàžà¹àž­àž¡àž¹àž¥à¹àž¥àž°àž­àžàžà¹àžàž£àž°àžàž­àž</Text>
+<Text id="108">àž«àž¥àž±àžàžàž²àžà¹àžà¹àžàž³àžàž²àž£àžàž£àž§àžàžªàž­àžàžàž²àž£à¹àž¡àžà¹àž£àžµàž¢àžàž£à¹àž­àž¢à¹àž¥à¹àž§ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àž "à¹àžàžŽà¹àž¡" à¹àžàž·à¹àž­à¹àžàžŽà¹àž¡àž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹à¹àžàž¢àž±àžàžàžžàžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹à¹àžà¹  (àžàž±àžàžà¹àžàž±àžàžàžµà¹àžàž°à¹àžàžŽàžà¹àžà¹àžàž²àžà¹àžàžàž²àž°à¹àž¡àž·à¹àž­à¹àž¡à¹àž¡àžµàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàžàž·à¹àž­à¹àžàžµàž¢àž§àžàž±àžàž àž²àž¢à¹àžàžàžžàžàžà¹àž­àž¡àž¹àž¥àžàžµà¹à¹àž¥àž·àž­àž) "àžàžªàž²àž" àžàž°à¹àž¡àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž«àž¡à¹à¹àžà¹àž²àžàž±àžàž­àžàžà¹àžàž£àž°àžàž­àžàžàžµà¹àžàž¹à¹à¹àžà¹à¹àž¥àž·àž­àž àžªàžžàžàžà¹àž²àž¢àžàžµà¹ "àž¥àž°à¹àž§à¹àž" àžàž°à¹àž¡à¹àžàž³à¹àžà¹àž²àžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²à¹àžà¹ àžàžµà¹àž¡àžµàžàž·à¹àž­àž­àžàžà¹àžàž£àž°àžàž­àžàžàžµà¹ àžàž±àžàžàžµàžàžµà¹àžàžžàžàž£àž°àžàžžàž§àžŽàžàžµàžàž²àž£àžàž³à¹àžà¹àž²àžàžŽà¹àžàžªà¹àž§àžàžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžà¹àžàž­àž àžà¹àž­àž¡àž¹àž¥àžàž²àž£à¹àž¡àžàžàž°àžàž¹àžà¹àžà¹àžà¹àž§à¹àžàž¥àž­àžàž­àž²àž¢àžžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àž</Text>
+<Text id="109">àžªàž³àž«àž£àž±àžàž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžà¹àžàžµà¹àž¢àž§àžàž±àžà¹àžà¹àž¡ metadata.xml àžàž¶à¹àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžà¹àžàž±àžà¹àžà¹àžà¹àž¡àžàž²àžàž²àžàž² à¹àž«à¹àžàž¹àžàžàžàžµà¹ 2 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž -- àžàž²àž£à¹àžàž¢à¹àžàž£à¹àžà¹àž­àž¡àž¹àž¥àžàž²àžà¹àž­àžàžªàž²àž£àžàž­àžàžàžžàž</Text>
+</Section>
+</Section>
+<Section name="designingacollection">
+<Title>
+<Text id="110">àžàž²àž£àžàž³àž«àžàžàžà¹àž²àžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž</Text>
+</Title>
+<Text id="111">àžàž±àžàžàžµàžàžµà¹à¹àžà¹àž¡àžàž­àžàžàžžàžàžàž¹àžàžàž£àž±àžà¹àžà¹àžàžà¹àž§àž¢à¹àž¡àžàž²àžàž²àžàž² àž¥àž³àžàž±àžàžà¹àž­à¹àžàžàžžàžàžàž°àžà¹àž­àžàžàž³àžàž¶àžàžàž¶àžàž§àžŽàžàžµà¹àžà¹àž²àžàž¶àžà¹àž­àžàžªàž²àž£àžàž­àžàžàž¹à¹à¹àžà¹àžàž¥àž²àž¢àžàž²àž àžà¹àž­àž¡àž¹àž¥àžàžàžŽàžà¹àžàžà¹àž²àžàžàžµà¹àžªàž²àž¡àž²àž£àžàžà¹àžàž«àž²à¹àžà¹ àž¡àžµàž§àžŽàžàžµà¹àžàžà¹àž²àžàžàžµà¹àžàž°à¹àžà¹à¹àž£àžµàž¢àžàžàž¹à¹àž­àžàžªàž²àž£à¹àž«àž¥à¹àž²àžàž±à¹àž àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³àž«àžàžàžàžžàžàž¥àž±àžàž©àžàž°à¹àž«àž¥à¹àž²àžàžµà¹à¹àžà¹àžà¹àž§àž¢àžàžà¹àž­àžà¹àžàž¢à¹àžàžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž²àž£àžàž±àžàžàž¥à¹àž²àž§</Text>
+<Section name="thedesignview">
+<Title>
+<Text id="112">àž¡àžžàž¡àž¡àž­àžàžàž²àž£àž­àž­àžà¹àžàž</Text>
+</Title>
+<Text id="113">àžªà¹àž§àžàžàžµà¹àžàž°àžàž³à¹àžªàžàž­àž¡àžžàž¡àž¡àž­àžàžàž²àž£àž­àž­àžà¹àžàž à¹àž¥àž°àž­àžàžŽàžàž²àž¢àž§àžŽàžàžµàžàž²àž£àžàž³àžàž²àžàž£àž°àž«àž§à¹àž²àžàž¡àžžàž¡àž¡àž­àžàžàžµà¹àž«àž¥àž²àžàž«àž¥àž²àž¢àž àž²àž¢à¹àžàžàž²àžàž«àžà¹àž²àžà¹àž²àžàžàžµà¹</Text>
+<Text id="114">àžà¹àž§àž¢àžàž²àž£à¹àžà¹àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàžµà¹ àžàžžàžàžàž°àžªàž²àž¡àž²àž£àžàžàž³àž«àžàžàžà¹àž²àž§àžŽàžàžµàžàž£àž°àž¡àž§àž¥àžàž¥à¹àž­àžàžªàž²àž£ à¹àž¥àž°àž§àžŽàžàžµàžàžµà¹àžàž¹à¹à¹àžà¹àžàž°à¹àžà¹àž²àžàž¶àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹ àžàž±àž§à¹àž¥àž·àž­àžàžàž²àž£àžàž³àž«àžàžàžà¹àž²àžàž°àžàž¹àžà¹àžà¹àžàž­àž­àžà¹àžà¹àžàžªà¹àž§àžàžàžµà¹à¹àžàžàžà¹àž²àžàžàž±àž à¹àžàž¢à¹àžà¹àž¥àž°àžªà¹àž§àžàžàž°àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàž±à¹àžàžàž­àžàžàžµà¹à¹àžàžàž²àž°à¹àžàž²àž°àžàžàžàž­àžàžàž²àž£àžàž³àž«àžàžàžà¹àž²àžàž­àž¥à¹àž¥àžàžàž±àžàžà¹àž§àž¢àžàžà¹àž­àž</Text>
+<Text id="115">àžàž²àžàžà¹àž²àžàžà¹àž²àž¢à¹àžà¹àžàž£àž²àž¢àžàž²àž£àž¡àžžàž¡àž¡àž­àžàžà¹àž²àžà¹ àžªà¹àž§àžàžà¹àž²àžàžàž§àž²à¹àžà¹àžàžàž±àž§àžàž§àžàžàžžàž¡àžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàž¡àžžàž¡àž¡àž­àžàžàž±àžàžàžžàžàž±àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàž¥àžµà¹àž¢àžà¹àžàž¢àž±àžàž¡àžžàž¡àž¡àž­àžàž­àž·à¹àž à¹àž«à¹àžàž¥àžŽàžàžàž·à¹àž­àžàž­àžàž¡àžžàž¡àž¡àž­àžà¹àžàž£àž²àž¢àžàž²àž£</Text>
+<Text id="116">à¹àžàž·à¹àž­àžàž³àžàž§àž²àž¡à¹àžà¹àž²à¹àžàžàž±à¹àžàžàž­àžà¹àž¥àž°àžšàž±àžàžà¹àžàžµà¹à¹àžàžµà¹àž¢àž§àžà¹àž­àžàžàž±àžàžàž²àž£àž­àž­àžà¹àžàžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àž«à¹à¹àž£àžŽà¹àž¡àž­à¹àž²àžàžàžàžàžµà¹ 1 à¹àž¥àž°àžàžàžàžµà¹ 2 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžà¹àž­àž</Text>
+</Section>
+<Section name="plugins">
+<Title>
+<Text id="121">àžàž¥àž±à¹àžàž­àžŽàžàžàž­àžà¹àž­àžàžªàž²àž£</Text>
+</Title>
+<Text id="122">àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àž§àžŽàžàžµàžàž²àž£àžàž³àž«àžàžàžà¹àž²àžàž¥àž±à¹àžàž­àžŽàžàžàž­àžà¹àž­àžàžªàž²àž£àžàžµà¹àžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹  à¹àžàž¢àžàž°àž­àžàžŽàžàž²àž¢àž§àžŽàžàžµàž£àž°àžàžžàžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžà¹ àžàž²àž£àžàž³àž«àžàžàžàž²àž£àž²àž¡àžŽà¹àžàž­àž£à¹àžàžµà¹àžà¹àž­àžàžàž²àž£àžªà¹àžàžà¹àž²àž à¹àž¥àž°àžàž²àž£àžàž±àžàž¥àž³àžàž±àžàžàž¥àž±à¹àžàž­àžŽàž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž£àžŽà¹àž¡àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹à¹àžàž¢àžàž¥àžŽàž "àžàž¥àž±à¹àžàž­àžŽàžà¹àž­àžàžªàž²àž£" àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž­àž­àžà¹àžàž"</Text>
+<Text id="123">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàž¥àž±à¹àžàž­àžŽàž à¹àž«à¹à¹àž¥àž·àž­àžàžàž¥àž±à¹àžàž­àžŽàžà¹àžàž¢à¹àžà¹àž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àž "à¹àž¥àž·àž­àžàžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡" àžàž£àžŽà¹àž§àžà¹àžàž¥à¹àžªà¹àž§àžàž¥à¹àž²àžàžªàžžàž àžàž²àžàžàž±à¹àžàžàž¥àžŽàž "à¹àžàžŽà¹àž¡àžàž¥àž±à¹àžàž­àžŽàž"  àž«àžà¹àž²àžà¹àž²àžàžàž°àžàž£àž²àžàžàžàž¶à¹àžà¹àžàžàž·à¹àž­àž§à¹àž² "àžàž²àž£àžàž³àž«àžàžàžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹" àžàž¶à¹àžàžàž°àž¡àžµàžàž³àž­àžàžŽàžàž²àž¢à¹àžàž àž²àž¢àž«àž¥àž±àž àžàž±àžàžàžµàžàžµà¹àžàžžàžàžàž³àž«àžàžàžà¹àž²àžàž¥àž±à¹àžàž­àžŽàžà¹àž«àž¡à¹ àžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžàž°àžàž¹àžà¹àžàžŽà¹àž¡à¹àžà¹àž²à¹àžà¹àžàž¥àž³àžàž±àžàžà¹àž²àž¢àžªàžžàžàžàž­àžàž£àž²àž¢àžàž²àž£ "àžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžàž³àž«àžàž" à¹àžà¹àž«àž¡àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ àžàž¥àž±à¹àžàž­àžŽàžà¹àžà¹àž¥àž°àžàž±àž§ àž¢àžà¹àž§à¹àž UnknownPlug àž­àž²àžàžàž°àžàž£àž²àžàžàžàž¶à¹àžà¹àžàžµàž¢àžàžàž£àž±à¹àžà¹àžàžµàž¢àž§à¹àžàžàž­àž¥à¹àž¥àžàžàž±àž  à¹àžà¹àž«àž¡àžàžàžµà¹àžªàž¹àžàžàž§à¹àž² àžàž¥àž±à¹àžàž­àžŽàžà¹àž«àž¥à¹àž²àžàžµà¹àž­àž²àžàžàž°àžàž£àž²àžàžàžàž¶à¹àžàž«àž¥àž²àž¢àžàž£àž±à¹àž  àžàžžàžàžàž³à¹àžà¹àžàžà¹àž­àžàžàž±à¹àžàžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹ process_exp à¹àžàž·à¹àž­à¹àž«à¹àžªàž²àž¡àž²àž£àžà¹àžà¹àžàž£àž°à¹àž¢àžàžà¹à¹àžà¹</Text>
+<Text id="123aa">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž¹àžàž³àž­àžàžŽàžàž²àž¢àž­àž¢à¹àž²àžàžªàž±à¹àžàžàž­àžàžàž¥àž±à¹àžàž­àžŽàž à¹àž«à¹à¹àž¥àž·àž­àžàžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àž "à¹àž¥àž·àž­àžàžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡" àžàž²àžàžàž±à¹àžàž¥àž²àžà¹àž¡àž²àžªà¹à¹àžàžàžàžàž¥àž±à¹àžàž­àžŽàžàžàž±à¹àž à¹àžàž¥à¹àžàž¥àž±àžà¹àžàž£àž·à¹àž­àžàž¡àž·àž­àžàžµà¹à¹àžªàžàžàžàž³àž­àžàžŽàžàž²àž¢àžàž°àžàž£àž²àžàžàžàž¶à¹àž</Text>
+<Text id="124">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àžàž¥àž±à¹àžàž­àžŽàžàž­àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž¥àž±à¹àžàž­àžŽàžà¹àžàž£àž²àž¢àžàž²àž£à¹àž¥àž°àžàž¥àžŽàž "à¹àž­àž²àžàž¥àž±à¹àžàž­àžŽàžàž­àž­àž"</Text>
+<Text id="125">àžàž¥àž±à¹àžàž­àžŽàžàžàž°àžàž¹àžàžàž³àž«àžàžàžà¹àž²àžà¹àž§àž¢àžàž²àž£àžàž³àž«àžàžàž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžàžà¹àž² à¹àž«à¹à¹àž¥àž·àž­àžàžàž¥àž±à¹àžàž­àžŽàžàžàž²àžàž£àž²àž¢àžàž²àž£à¹àž¥àž°àžàž¥àžŽàž "àžàž³àž«àžàžàžà¹àž²àžàž¥àž±à¹àžàž­àžŽàž" (àž«àž£àž·àž­àžàž¥àžŽàžàžªàž­àžàžàž£àž±à¹àžàžàžµà¹àžàž¥àž±à¹àžàž­àžŽàž) àžàž¥à¹àž­àžà¹àžà¹àžàž­àž "àžàž²àž£àžàž³àž«àžàžàžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹" àžàž°àžàž£àž²àžàžàžàž¶à¹àžàžàž£à¹àž­àž¡àžàž±àž§àžàž§àžàžàžžàž¡àžà¹àž²àžà¹ àžªàž³àž«àž£àž±àžàž£àž°àžàžžàžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹</Text>
+<Text id="126">àž¡àžµàžàž±àž§àžàž§àžàžàžžàž¡àžàžµà¹à¹àžàžàžà¹àž²àžàžàž±àžàž­àž¢àž¹à¹àž«àž¥àž²àž¢àžàžàžŽàž àžàž±àž§àžàž§àžàžàžžàž¡àžàž²àžàžàž±àž§à¹àžà¹àžàžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢ à¹àž¥àž°àžàž²àž£àžàž¥àžŽàžàž«àžàž¶à¹àžàžàž£àž±à¹àžàžàž°à¹àžà¹àžàžàž²àž£à¹àžàžŽà¹àž¡àžàž±àž§à¹àž¥àž·àž­àžàžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡à¹àž«à¹àžàž±àžàžàž¥àž±à¹àžàž­àžŽàž àžàž²àžàžàž±àž§à¹àžà¹àžàžªàžàž£àžŽàžàžà¹àž­àžàž§àž²àž¡àžàžµà¹àž¡àž²àžàž£à¹àž­àž¡àžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àž¥àž°à¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž­àžàž§àž²àž¡ à¹àž«à¹àžàž¥àžŽàžàžàžµà¹àžàž¥à¹àž­àžà¹àžàž·à¹àž­à¹àžàžŽàžà¹àžà¹àžàž²àžàž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹ àžàž²àžàžàž±à¹àžàžàžŽàž¡àžà¹àžà¹àž­àžàž§àž²àž¡àžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡ (àžàžŽàžàžàžà¹àžàžàžàžŽ àž«àž£àž·àž­à¹àžªà¹àžàžàž²àžàžàž­àžà¹àžà¹àž¡ à¹àž¥àž°àž­àž·à¹àžà¹) àž¥àžà¹àžàžàž¥à¹àž­àž àžàž±àž§àžàž§àžàžàžžàž¡àž­àž·à¹àžà¹ à¹àžà¹àžà¹àž¡àžàž¹à¹àžàžàž«àž¥à¹àžàž¥àžàžàž¶à¹àžàžàžžàžàžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžàžàž²àžàžàžžàžàžàž­àžàžà¹àž²àžàžµà¹àžàž³àž«àžàžà¹àž§à¹à¹àž¥à¹àž§à¹àžà¹ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž£àžµàž¢àžàž£àž¹à¹àžàž²àž£àžàž³àžàž²àžàžàž­àžàž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹ à¹àž«à¹àž¥àž²àžà¹àž¡àž²àžªà¹à¹àž«àžàž·àž­àžàž·à¹àž­àžàž­àžàž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžªàž±àžàžàž£àž¹à¹ àžàž³àž­àžàžŽàžàž²àž¢àžàž°àžàž£àž²àžàžàžàž¶à¹àž</Text>
+<Text id="127">à¹àž¡àž·à¹àž­àžàžžàžà¹àžàž¥àžµà¹àž¢àžàžàž²àž£àžàž³àž«àžàžàžà¹àž²à¹àž¥à¹àž§ à¹àž«à¹àžàž¥àžŽàž "àžàžàž¥àž" à¹àžàž·à¹àž­àž¢àž·àžàž¢àž±àžàžàž²àž£à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àž à¹àž¥àž°àžàžŽàžàžàž¥à¹àž­àžà¹àžà¹àžàž­àžàžàž±à¹àž àž«àž£àž·àž­àžàž¥àžŽàž "àž¢àžà¹àž¥àžŽàž" à¹àžàž·à¹àž­àžàžŽàžàžàž¥à¹àž­àžà¹àžà¹àžàž­àžà¹àžàž¢à¹àž¡à¹àž¡àžµàžàž²àž£à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹à¹àžà¹ àžàž­àžàžàž¥àž±à¹àžàž­àžŽàž</Text>
+<Text id="128">àžàž¥àž±à¹àžàž­àžŽàžà¹àžàž£àž²àž¢àžàž²àž£àžàž°àžàž³à¹àžàžŽàžàžàž²àž£àžàž²àž¡àž¥àž³àžàž±àž à¹àž¥àž°àžàž²àž£à¹àž£àžµàž¢àžàž¥àž³àžàž±àžàžàž²àžàžàž£àž±à¹àžàžà¹àž¡àžµàžàž§àž²àž¡àžªàž³àžàž±àž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàž¥àž³àžàž±àžàžàž­àžàžàž¥àž±à¹àžàž­àžŽàžà¹àžà¹à¹àžàžàž²àž°à¹àžà¹àž«àž¡àžàžàž¹à¹à¹àžàžµà¹àž¢àž§àžàž²àžàž£àž°àžàžàž«à¹àž­àžàžªàž¡àžžàž (Library Systems Specialist) à¹àž¥àž°à¹àžà¹àž«àž¡àžàžàž¹à¹àžàž³àžàž²àžàžàž²àž£ (Expert) à¹àžà¹àž²àžàž±à¹àž (àžàž¹àžàžµà¹ <Reference target="preferences"/>)</Text>
+</Section>
+<Section name="searchindexes">
+<Title>
+<Text id="134">àžàž±àžàžàžµàžà¹àžàž«àž²</Text>
+</Title>
+<Text id="si-1">àžàž±àžàžàžµàžàž°àž£àž°àžàžžàž§à¹àž²àžªà¹àž§àžà¹àžàžà¹àž²àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžªàž²àž¡àž²àž£àžàžà¹àžàž«àž²à¹àžà¹ àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž²àž£à¹àžàžŽà¹àž¡àž«àž£àž·àž­àžàž²àž£à¹àž­àž²àžàž±àžàžàžµàž­àž­àž à¹àž¥àž°àžàž²àž£àžàž±à¹àžàžà¹àž²àžàž±àžàžàžµà¹àž£àžŽà¹àž¡àžà¹àž àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹à¹àžàž¢àžàž¥àžŽàžàžàžµà¹ <AutoText key="glidict::CDM.GUI.Indexes"/> àž àž²àž¢à¹àžà¹à¹àžà¹àž <AutoText key="glidict::GUI.Design"/></Text>
+<Text id="si-2">àž¡àžžàž¡àžàžàžàž§àž²àžàž­àžàžàž²à¹àžàž¥ <AutoText key="glidict::CDM.GUI.Indexes"/> àžàž°à¹àžªàžàžàžà¹àž­àž¡àž¹àž¥à¹àžàžµà¹àž¢àž§àžàž±àžàžàž±àž§àžàž³àžàž±àžàžàžµàžàžµà¹àžàž­àž¥à¹àž¥àžàžàž±àžàžàž³àž¥àž±àžà¹àžà¹àžàž²àžàž­àž¢àž¹à¹ àžàž¶à¹àžàžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžà¹àžà¹à¹àžàž¢àžàž¥àžŽàž <AutoText key="glidict::CDM.BuildTypeManager.Change"/>  àž«àžà¹àž²àžà¹àž²àžàžà¹àž­àžàž­àž±àžàžàž°àžàž£àž²àžàžàžàž¶à¹àžàžàž£à¹àž­àž¡àž£àž²àž¢àžàž²àž£àžàž­àžàžàž±àž§à¹àž¥àž·àž­àž: MG, MGPP à¹àž¥àž° Lucene àžàž²àž£à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžàžµà¹àžàž°àžªà¹àžàžàž¥àžà¹àž­àž§àžŽàžàžµàžàž²àž£àžªàž£à¹àž²àžàžàž±àžàžàžµ à¹àž¥àž°àž­àž²àžàžªà¹àžàžàž¥àžà¹àž­àžàž±àžàžà¹àžàž±àžàžàžµà¹à¹àžà¹à¹àžàžàž²àž£àžà¹àžàž«àž²àžà¹àž§àž¢</Text>
+<Text id="si-2a">àž£àž²àž¢àžàž²àž£ <AutoText key="glidict::CDM.IndexManager.Indexes"/> à¹àžªàžàžàž£àž²àž¢àžàž²àž£àžàž±àžàžàžµàžàžµà¹àžàž³àž«àžàžà¹àžà¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàžàž±àžàžàžžàžàž±àž</Text>
+<Text id="si-3">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàž±àžàžàžµ à¹àž«à¹àžàž¥àžŽàž <AutoText key="glidict::CDM.IndexManager.New_Index"/>... àž«àžà¹àž²àžà¹àž²àžàžà¹àž­àžàž­àž±àžàžàž°àžàž£àž²àžàžàžàž¶à¹àžàžàž£à¹àž­àž¡àž£àž²àž¢àžàž²àž£à¹àž«àž¥à¹àžàžà¹àž­àž¡àž¹àž¥ àžàž¶à¹àžàž£àž§àž¡àžàž¶àžàžà¹àž­àžàž§àž²àž¡à¹àž¥àž°à¹àž¡àžàž²àžàž²àžàž² à¹àž«à¹à¹àž¥àž·àž­àžà¹àž«àž¥à¹àžàžà¹àž­àž¡àž¹àž¥àžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£àžàž³àžàž±àžàžàžµ àžàžžà¹àž¡ <AutoText key="glidict::CDM.IndexManager.Select_All"/> à¹àž¥àž° <AutoText key="glidict::CDM.IndexManager.Select_None"/> àžàž°à¹àžà¹à¹àžàžàž²àž£àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àž«àž£àž·àž­àž¢àžà¹àž¥àžŽàžàžàž²àž£àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àž£àž²àž¢àžàž²àž£àžàž±à¹àžàž«àž¡àžà¹àžàž£àž²àž¢àžàž²àž£àžàž²àž¡àž¥àž³àžàž±àž àžàž±àžàžàžµàžàžµà¹àž¡àžµàžàž²àž£àžàž³àž«àžàžàžàž±àžàžàžµà¹àž«àž¡à¹ à¹àž«à¹àžàž¥àžŽàž <AutoText key="glidict::CDM.IndexManager.Add_Index"/> à¹àžàž·à¹àž­à¹àžàžŽà¹àž¡àžàž±àžàžàžµàž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž <AutoText key="glidict::CDM.IndexManager.Add_Index"/> àžàž°à¹àžà¹àžàž²àžà¹àžà¹à¹àžàžàž²àž°à¹àž¡àž·à¹àž­àžàž²àž£àžàž±à¹àžàžà¹àž²àž­àžàžŽàžàž²àž¢àžàž±àžàžàžµà¹àž«àž¡à¹àžàžµà¹àž¢àž±àžà¹àž¡à¹à¹àžà¹àž¡àžµàžàž²àž£àžàž³àž«àžàžà¹àž«à¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àž²àžàž±à¹àž</Text>
+<Text id="s1-3a">àžªàž³àž«àž£àž±àžàžàž±àžàžàžµà¹àžàž MG àžàžžàžàžàž³à¹àžà¹àžàžà¹àž­àžà¹àž¥àž·àž­àžàžàž§àž²àž¡àž¥àž°à¹àž­àžµàž¢àžàžàž­àžàžàž±àžàžàžµ à¹àžàž¢à¹àžà¹à¹àž¡àžàž¹ <AutoText key="glidict::CDM.IndexManager.Level"/> àžà¹àž§àž¢</Text>
+<Text id="si-4">àžªàž³àž«àž£àž±àžàžàž±àžàžàžµà¹àžàž MGPP à¹àž¥àž° Lucene àžàž§àž²àž¡àž¥àž°à¹àž­àžµàž¢àžàžàž­àžàžàž±àžàžàžµàžàž°àžàž¹àžàžàž³àž«àžàžà¹àžàžàžàž£àž­àžàžàž¥àžžàž¡àžàž±à¹àžàž«àž¡àž à¹àž¡à¹à¹àžà¹àžà¹àž­àž«àžàž¶à¹àžàžàž±àžàžàžµ àž£àž°àžàž±àžàžàžµà¹à¹àžà¹àžà¹àžà¹àžà¹àžàž°à¹àžªàžàžàžàž¶à¹àžà¹àžàžàž²àžàž«àžà¹àž²àžà¹àž²àž <AutoText key="glidict::CDM.GUI.Indexes"/> àž«àž¥àž±àž à¹àž¥àž°àžªàž²àž¡àž²àž£àžà¹àžàžŽà¹àž¡àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àžàžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢</Text>
+<Text id="si-5">àžàž±àžàžàžµàžàžŽà¹àžšàž©àžàžµà¹àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹à¹àž MGPP à¹àž¥àž° Lucene àžàž·àž­ àžàž±àžàžàžµ "allfields" àžàž¶à¹àžà¹àžàžµàž¢àžà¹àžà¹àžà¹àž§àž¢à¹àž«à¹àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³àžàž²àž£àžà¹àžàž«àž²à¹àžàžàžàžªàž²àžàžàžµà¹àžàž£àž­àžàžàž¥àžžàž¡àžàž±àžàžàžµàžàžµà¹àž£àž°àžàžžàžàž±à¹àžàž«àž¡àžà¹àžà¹à¹àžàž¢à¹àž¡à¹àžàž³à¹àžà¹àžàžà¹àž­àžàž£àž°àžàžžàžàž±àžàžàžµà¹àž¢àžàžà¹àž²àžàž«àž²àžàžàž¶à¹àžàžàž£àž£àžàžžà¹àž«àž¥à¹àžàžà¹àž­àž¡àž¹àž¥àžàž±à¹àžàž«àž¡àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàž±àžàžàžµàžàžµà¹ à¹àž«à¹àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàžµà¹àžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢ <AutoText key="glidict::CDM.IndexManager.Allfields_Index"/> à¹àž¥àž°àžàž¥àžŽàž <AutoText key="glidict::CDM.IndexManager.Add_Index"/></Text>
+<Text id="si-6">àžªàž³àž«àž£àž±àž MGPP à¹àž¥àž° Lucene àžàž±à¹àž àž£àž°àžàžàžàž°à¹àžªàžàžàžàžžà¹àž¡ <AutoText key="glidict::CDM.IndexManager.Add_All"/> àžàž¶à¹àžàž¡àž²à¹àžàž·à¹àž­à¹àžà¹àžàžàž²àžàž¥àž±àžà¹àžàžàž²àž£à¹àžàžŽà¹àž¡à¹àž¡àžàž²àžàž²àžàž² à¹àž¥àž°à¹àž«àž¥à¹àžàžà¹àž­àžàž§àž²àž¡àžàž±à¹àžàž«àž¡àžà¹àžà¹àžàžàž±àžàžàžµàž­àžŽàžªàž£àž°</Text>
+<Text id="si-7">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžà¹à¹àžàžàž±àžàžàžµ à¹àž«à¹à¹àž¥àž·àž­àžàžàž±àžàžàžµàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžà¹à¹àž à¹àž¥àž°àžàž¥àžŽàžàžàžµà¹ <AutoText key="glidict::CDM.IndexManager.Edit_Index"/> àžà¹àž­àžàž§àž²àž¡àžàžµà¹àžàž¥à¹àž²àž¢àžàž±àž <AutoText key="glidict::CDM.IndexManager.New_Index"/> àžàž°à¹àžªàžàžàžàž¶à¹àžàž¡àž²</Text>
+<Text id="si-8">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àžàž±àžàžàžµàž­àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž±àžàžàžµàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àž­àž²àž­àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£àžàž±àžàžàžµàžàžµà¹àžàž³àž«àžàž à¹àž¥àž°àžàž¥àžŽàž <AutoText key="glidict::CDM.IndexManager.Remove_Index"/></Text>
+<Text id="si-9">"àž¥àž³àžàž±àžàžàž­àžàžàž±àžàžàžµàžàžµà¹àžàž³àž«àžàžà¹àžàž£àž²àž¢àžàž²àž£ "àžàž±àžàžàžµàžàžµà¹àžàž³àž«àžàž" àžàž°à¹àžà¹àžàž¥àž³àžàž±àžàžàžµà¹àžàž£àž²àžàžà¹àžà¹àž¡àžàž¹à¹àžàžàž«àž¥à¹àžàž¥àžà¹àžàž«àžà¹àž²àžà¹àžàž«àž² à¹àž«à¹à¹àžà¹àžàžžà¹àž¡ <AutoText key="glidict::CDM.Move.Move_Up"/> à¹àž¥àž° <AutoText key="glidict::CDM.Move.Move_Down"/> à¹àžàž·à¹àž­à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžàž²àž£à¹àž£àžµàž¢àžàž¥àž³àžàž±àžàžàžµà¹" </Text>
+<Text id="si-10">àžàž±àžàžàžµàžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹à¹àžàž¢àžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àžàžàžàž«àžà¹àž²àžà¹àžàž«àž²àžàž°àžàž¹àžà¹àž£àžµàž¢àžàž§à¹àž² "àžàž±àžàžàžµà¹àž£àžŽà¹àž¡àžà¹àž"  àžàžžàžàžªàž²àž¡àž²àž£àžàžàž±à¹àžàžà¹àž²àžàžµà¹à¹àžà¹àžà¹àž§àž¢àžàž²àž£à¹àž¥àž·àž­àžàžàž±àžàžàžµàžàžµà¹àžà¹àž­àžàžàž²àž£àžàž²àžàž£àž²àž¢àžàž²àž£ à¹àž¥àž°àžàž¥àžŽàž "àžàž±à¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž"  àžàž±àžàžàžµà¹àž£àžŽà¹àž¡àžà¹àžàžàž°àžàž¹àžàžàž³àž«àžàžàžà¹àž§àž¢àžàž³àž§à¹àž² "[àžàž±àžàžàžµà¹àž£àžŽà¹àž¡àžà¹àž]" à¹àžàž£àž²àž¢àžàž²àž£ "àžàž±àžàžàžµàžàžµà¹àžàž³àž«àžàž" àžà¹àž²àžàžžàžà¹àž¡à¹à¹àžà¹àžàž±à¹àžàžà¹àž²àžàž±àžàžàžµà¹àž£àžŽà¹àž¡àžà¹àžà¹àž§à¹ àž£àž°àžàžàžàž°à¹àžà¹àžà¹àž²à¹àž£àžà¹àžàž£àž²àž¢àžàž²àž£à¹àžà¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž</Text>
+<Text id="si-11">àžàžžàžàžªàž²àž¡àž²àž£àžàžàž±à¹àžàžà¹àž²àžàž·à¹àž­àžàžµà¹à¹àžà¹à¹àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àžàžàž­àžàžàž±àžàžàžµàžàžàž«àžà¹àž²àžà¹àžàž«àž²à¹àžà¹à¹àžàžªà¹àž§àžàžàž§àžàžàžžàž¡ <AutoText key="glidict::CDM.GUI.SearchMetadata"/> àžàž­àžàž¡àžžàž¡àž¡àž­àž <AutoText key="glidict::GUI.Format"/> (àžàž¹àžàžµà¹ <Reference target="searchmetadatasettings"/>) </Text>
+<Text id="si-12">àžªàž³àž«àž£àž±àžàžàž±àžàžàžµà¹àžàž MG à¹àž¥àž° MGPP àžàž°àž¡àžµàžàž±àž§à¹àž¥àž·àž­àžàž­àž·à¹àžàžàžµà¹àžàž§àžàžàžžàž¡àž§àžŽàžàžµàžàž²àž£àžªàž£à¹àž²àžàžàž±àžàžàžµàžàžµà¹ àžàž²àž£àžà¹àžàžà¹àž§àž¢àž£àž²àžàžšàž±àžàžà¹ (Stemming) à¹àž¥àž° Case-folding àž­àž²àžàžàž¹àžà¹àžàžŽàžà¹àžà¹àžàž²àžàž«àž£àž·àž­àžàžŽàžà¹àžà¹àžàž²àžà¹àžà¹à¹àžàžàž±àžàžàžµ&mdash; àžà¹àž²àžàž¹àžàžàžŽàžà¹àžà¹àžàž²àž àžàž°à¹àž¡à¹àž¡àžµàžàž²àž£à¹àžªàžàžàžàž±àž§à¹àž¥àž·àž­àžà¹àžàž«àžà¹àž²àžàž³àž«àžàžàž¥àž±àžàž©àžàž°àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž Accent-folding àž¢àž±àžàžàžàžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹à¹àžàžàž±àžàžàžµà¹àžàž MGPP  àžàž¶à¹àžàžàž°àžàž³àžàž²àžà¹àžàž¥àž±àžàž©àžàž°à¹àžàžµàž¢àž§àžàž±àž Case-folding à¹àžà¹à¹àžàžàžàžµà¹àžàž°àžàž£àž§àžàžªàž­àžàžàž§àž²àž¡àžàž£àžàžàž±àžàž£àž°àž«àž§à¹àž²àžàžàž±àž§àžàžŽàž¡àžà¹à¹àž¥à¹àžà¹àž¥àž°àžàž±àž§àžàžŽàž¡àžà¹à¹àž«àžà¹ àžàž±àž§àž­àž±àžàž©àž£àžàžµà¹àž¡àžµà¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àžªàžàžàžàž²àž£àž­àž­àžà¹àžªàžµàž¢àž (Diacritics) àžàž°àžàž¹àžàžàž³à¹àž«à¹àžàž£àžàžàž±àžàž­àž±àžàž©àž£àžàžµà¹à¹àž¡à¹àž¡àžµà¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àžªàžàžàžàž²àž£àž­àž­àžà¹àžªàžµàž¢àž</Text>
+</Section>
+<Section name="partitionindexes">
+<Title>
+<Text id="143">àžàž±àžàžàžµàžàž²àž£à¹àžàžŽàžàž±àž</Text>
+</Title>
+<Text id="144">àžàž±àžàžàžµàžàž°àžàž¹àžàžªàž£à¹àž²àžà¹àžàž¢à¹àžà¹àžà¹àž­àžàž§àž²àž¡à¹àžàžàž²àž°àž«àž£àž·àž­à¹àž«àž¥à¹àžà¹àž¡àžàž²àžàž²àžàž² àžàžžàžàžªàž²àž¡àž²àž£àžàžàž§àžàžàžžàž¡àžàž·à¹àžàžàžµà¹àžà¹àžàž«àž²à¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž±àžàžàž³àžàž²àž£à¹àžàžŽàžàž±àžàžàž±àžàžàžµ àžàž±à¹àžà¹àžàž¢à¹àžà¹àž àž²àž©àž²àž«àž£àž·àž­à¹àžàž¢àžàž±àž§àžàž£àž­àžàžàžµà¹àžàž³àž«àžàžà¹àž§à¹àž¥à¹àž§àžàž«àžà¹àž²à¹àž¥à¹àž§ àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž³à¹àžàžŽàžàžàž²àž£àžàž±àžàžàž¥à¹àž²àž§ àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž­àž­àžà¹àžàž" à¹àž«à¹àžàž¥àžŽàžàžàžµà¹ "àžàž±àžàžàžµàžàž²àž£à¹àžàžŽàžàž±àž"</Text>
+<Text id="145">àž¡àžžàž¡àž¡àž­àž "àžàž±àžàžàžµàžàž²àž£à¹àžàžŽàžàž±àž" àž¡àžµàžªàž²àž¡à¹àžà¹àžàžàž·àž­ "àžàžŽàž¢àž²àž¡àžàž±àž§àžàž£àž­àž" "àžàž³àž«àžàžàžàž²àž£à¹àžàžŽàžàž±àž" à¹àž¥àž° "àžàž³àž«àžàžàž àž²àž©àž²"  à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž£àžµàž¢àžàž£àž¹à¹à¹àžàžŽà¹àž¡à¹àžàžŽàž¡à¹àžàžµà¹àž¢àž§àžàž±àžàžàž²àž£à¹àžàžŽàžàž±àž à¹àž«à¹àž­à¹àž²àžàžàžàžàž§àž²àž¡à¹àžàžµà¹àž¢àž§àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢ à¹àž¥àž°àžàž±àžàžàžµàž¢à¹àž­àž¢à¹àžàžàžàžàžµà¹ 2 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž</Text>
+<Text id="146">àž«àžà¹àž²àžàž­àžàž±àžàžàžµàžàž²àž£à¹àžàžŽàžàž±àžàžàž°àžªàž²àž¡àž²àž£àžà¹àžàžŽàžà¹àžà¹àžàž²àžà¹àžà¹à¹àžàžàž²àž°à¹àžà¹àž«àž¡àžàžàž¹à¹à¹àžàžµà¹àž¢àž§àžàž²àžàž£àž°àžàžàž«à¹àž­àžàžªàž¡àžžàž (Library Systems Specialist) à¹àž¥àž°à¹àž«àž¡àžàžàž¹à¹àžàž³àžàž²àžàžàž²àž£ (Expert) (àžàž¹àžàžµà¹ <Reference target="preferences"/>) à¹àžàž£àžàžªàž±àžà¹àžàžàž§à¹àž² àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àž MG àžàž³àžàž§àžàžàž²àž£à¹àžàžŽàžàž±àžàžàž±à¹àžàž«àž¡àžàžàžµà¹àžªàž£à¹àž²àžàžàž°à¹àžà¹àžàžàž²àž£àž£àž§àž¡àžàž±àžàžàž­àžàžàž±àžàžàžµàžàž±à¹àžàž«àž¡àž àžàž±àž§àžàž£àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢ à¹àž¥àž°àž àž²àž©àž²àžàžµà¹à¹àž¥àž·àž­àž àžàž±àžàžàžµàžªàž­àžàžàž±àž§àžàžµà¹àž¡àžµàžàž±àž§àžàž£àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢àžªàž­àžàžàž±àž§à¹àžàžªàž­àžàž àž²àž©àž²àžàž°àž¡àžµàžàž²àž£à¹àžàžŽàžàž±àžàžàž±àžàžàžµàžàž±à¹àžàž«àž¡àžà¹àžàžàžªà¹àž§àž àžªàž³àž«àž£àž±àž MGPP à¹àž¥à¹àž§ àžàž±àžàžàžµàžàž±à¹àžàž«àž¡àžàžàž°àžàž¹àžàžªàž£à¹àž²àžàžàž¶à¹àžà¹àžàžàž±àžàžàžµàžàž²àžàžàž²àž¢àž àž²àžàž«àžàž¶à¹àžàžàž±àž§ àžàž±àžàžàž±à¹àžàžàž¶àžàž¡àžµà¹àžàžµàž¢àžàžªàžµà¹àžàž²àž£à¹àžàžŽàžàž±àžàžàž±àžàžàžµà¹àžà¹àž²àžàž±à¹àž àžªàž³àž«àž£àž±àž Lucene àžàž³àžàž§àžàžàž­àžàžàž±àžàžàžµàžàž²àžàžàž²àž¢àž àž²àžàžàž°àžàž¹àžàžàž³àž«àžàžàžà¹àž§àž¢àžàž³àžàž§àžàžàž­àžàž£àž°àžàž±àžàžàžµà¹àžàž³àž«àžàžà¹àž«à¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àž àž«àžàž¶à¹àžàžàž±àžàžàžµàžà¹àž­àž«àžàž¶à¹àžàž£àž°àžàž±àž àžàž±àžàžàž±à¹àž à¹àžàžªàžàž²àžàžàž²àž£àžà¹àžàž±àžàžàž¥à¹àž²àž§ àž«àžàž¶à¹àžàž£àž°àžàž±àžàžàž°àž¡àžµàžàž±àžàžàžµàžàž²àžàžàž²àž¢àž àž²àžàžªàžµà¹àžàž±àž§ à¹àžàžàžàž°àžàžµà¹àžªàž­àžàž£àž°àžàž±àžàžà¹àžàž°àž¡àžµàžàž±àžàžàžµà¹àžàžàžàž±àž§</Text>
+<Section name="definefilters">
+<Title>
+<Text id="147">àžàžŽàž¢àž²àž¡àžàž±àž§àžàž£àž­àž</Text>
+</Title>
+<Text id="148">àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹àžàž±àž§àžàž£àž­àžàžàž±àžàžàž¥àžžà¹àž¡à¹àž­àžàžªàž²àž£àžàž±à¹àžàž«àž¡àžà¹àžàžàž±àžàžàžµàžàž¶à¹àžàžà¹àž²àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàž£àžàžàž²àž¡à¹àžàžà¹àžàžàžàžµà¹à¹àžà¹àžàž³àž«àžàžà¹àžà¹àž²àžà¹àž§àž¢àžàž±àžàž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢à¹àžà¹</Text>
+<Text id="149">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžªàž£à¹àž²àžàžàž±àž§àžàž£àž­àž à¹àž«à¹àžàž¥àžŽàžà¹àžà¹àž "àžàžŽàž¢àž²àž¡àžàž±àž§àžàž£àž­àž" à¹àž¥àž°à¹àžªà¹àžàž·à¹àž­àžªàž³àž«àž£àž±àžàžàž±àž§àžàž£àž­àžà¹àž«àž¡à¹àž¥àžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥ "àžàž·à¹àž­àžàž±àž§àžàž£àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢"  àžàž±àžà¹àžà¹àž«à¹à¹àž¥àž·àž­àžàžàžžàžàž¥àž±àžàž©àžàž°àžàž­àžà¹àž­àžàžªàž²àž£àžàžµà¹àžà¹àž­àžàžàž²àž£àžàž³à¹àž«à¹àžàž£àžàžàž±àž àžàž¶à¹àžàžªàž²àž¡àž²àž£àžà¹àžà¹àžà¹àžà¹àžàž±à¹àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àž«àž£àž·àž­àžàž·à¹àž­àžàž­àžà¹àžà¹àž¡à¹àžàžàž³àžàž²àž¡ àžàž²àžàžàž±à¹àžàžà¹àž­àžàžàžŽàžàžàžà¹àžàžàžàžŽàžàžµà¹àžàž°à¹àžà¹àž£àž°àž«àž§à¹àž²àžàžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£àžàž£àž§àžàžªàž­àžàžàž§àž²àž¡àžàž£àžàžàž±àž àžàžžàžàžªàž²àž¡àž²àž£àžàžªàž¥àž±àžà¹àžàž¡àž²àž£àž°àž«àž§à¹àž²àž "àž£àž§àž¡" à¹àž­àžàžªàž²àž£àžàžµà¹àžàž£àžàžàž±àžàžàž±àž§àžàž£àž­àž àž«àž£àž·àž­ "à¹àž¡à¹àž£àž§àž¡" à¹àž­àžàžªàž²àž£àžà¹à¹àžà¹ àžàž­àžàžàž²àžàžàžµà¹àžàžžàžàžªàž²àž¡àž²àž£àžàž£àž°àžàžžàžªàžàž²àžàž°àžàžŽàžàžàžà¹àžàžàžàžŽ PERL àž¡àž²àžàž£àžàž²àžà¹àžà¹ àžà¹à¹àžà¹à¹àžàž·à¹àž­à¹àžà¹à¹àž¡àž·à¹àž­àžàž³à¹àžàžŽàžàžàž²àž£àžàž£àž§àžàžªàž­àžàžàž§àž²àž¡àžàž£àžàžàž±àž (à¹àžà¹àž "i" àžªàž³àž«àž£àž±àžàžàž²àž£àžàž£àž§àžàžªàž­àžàžàž§àž²àž¡àžàž£àžàžàž±àžà¹àžàžà¹àž¡à¹à¹àž¢àžà¹àž¢àž°àžàž±àž§àžàžŽàž¡àžà¹à¹àž«àžà¹-à¹àž¥à¹àž)  à¹àž¥àž°àžªàžžàžàžà¹àž²àž¢ à¹àž«à¹àžàž¥àžŽàž "à¹àžàžŽà¹àž¡àžàž±àž§àžàž£àž­àž" à¹àžàž·à¹àž­à¹àžàžŽà¹àž¡àžàž±àž§àžàž£àž­àžà¹àžàž¢àž±àžàž£àž²àž¢àžàž²àž£ "àžàž±àž§àžàž£àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢àžàžµà¹àžàž³àž«àžàž"</Text>
+<Text id="150">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àžàž±àž§àžàž£àž­àžàž­àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž±àž§àžàž£àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£ à¹àž¥àž°àžàž¥àžŽàž "à¹àž­àž²àžàž±àž§àžàž£àž­àžàž­àž­àž"</Text>
+<Text id="151">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžàžàž±àž§àžàž£àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž±àž§àžàž£àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£ àžàž²àžàžàž±à¹àžà¹àžàž¥àžµà¹àž¢àžàžà¹àž²à¹àžàžà¹à¹àžà¹àžàžµà¹àžàž£àž²àžàžà¹àžàžàž±àž§àžàž§àžàžàžžàž¡àžàž²àž£à¹àžà¹à¹àž à¹àž¥àž°àžàž¥àžŽàž "à¹àžàžàžàžµà¹àžàž±àž§àžàž£àž­àž" à¹àžàž·à¹àž­àž¢àž·àžàž¢àž±àžàžàž²àž£à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžà¹àž²</Text>
+<Text id="151a">àžàž²àž£àžàžŽàž¢àž²àž¡àžàž±àž§àžàž£àž­àžàžàž°à¹àž¡à¹à¹àžà¹àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢ àžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢àžàž°àžàž¹àžàž£àž°àžàžžà¹àž§à¹à¹àž <AutoText key="glidict::CDM.SubcollectionManager.Subindex_Controls"/> àžàž¶à¹àžàž­àž¢àž¹à¹àžàž±àžàžàž±àž§àžàž£àž­àžàžàžµà¹àžàžžàžà¹àžàžŽà¹àžàžàžŽàž¢àž²àž¡à¹àž</Text>
+</Section>
+<Section name="assignpartitions">
+<Title>
+<Text id="152">àžàž³àž«àžàžàžàž²àž£à¹àžàžŽàžàž±àž</Text>
+</Title>
+<Text id="153">àž«àž¥àž±àžàžàž²àžàžàžŽàž¢àž²àž¡àžàž±àž§àžàž£àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢àž­àž¢à¹àž²àžàžà¹àž­àž¢àž«àžàž¶à¹àžàžàž±àž§à¹àž¥à¹àž§ à¹àž«à¹à¹àžà¹à¹àžà¹àž "àžàž³àž«àžàžàžàž²àž£à¹àžàžŽàžàž±àž" à¹àžàž·à¹àž­àžªàž£à¹àž²àžàžàž±àžàžàžµàžªàž³àž«àž£àž±àžàžàž±àž§àžàž£àž­àž (àž«àž£àž·àž­àžªàž³àž«àž£àž±àžàžàž¥àžžà¹àž¡àžàž­àžàžàž±àž§àžàž£àž­àž) àžàž²àžàžàž±à¹àžà¹àž¥àž·àž­àžàžàž±àž§àžàž£àž­àžàžàžµà¹àžà¹àž­àžàžàž²àž£àž«àžàž¶à¹àžàžàž±àž§àž«àž£àž·àž­àž«àž¥àž²àž¢àžàž±àž§àžàž²àžàž£àž²àž¢àžàž²àž£ "àžàž±àž§àžàž£àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢àžàžµà¹àžàž³àž«àžàž" à¹àž¥àž°àžàž¥àžŽàž "à¹àžàžŽà¹àž¡àžàž²àž£à¹àžàžŽàžàž±àž"  àžàž²àž£à¹àžàžŽàžàž±àžàžàžµà¹àž£àž°àžàžžà¹àžà¹àž¥àž°àžàž±àž§àžàž°à¹àžªàžàžàžàž¥à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢àžàžµà¹àž¡àžµà¹àž­àžàžªàž²àž£àžàžµà¹àžàž£àžàžàž²àž¡àžàž±àž§àžàž£àž­àžà¹àžà¹ àžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàž²àž£à¹àžàžŽàžàž±àžàžàž±à¹àž</Text>
+<Text id="154a">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžàžàž²àž£à¹àžàžŽàžàž±àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž²àž£à¹àžàžŽàžàž±àžàž­àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£ àžàž³àžàž²àž£à¹àžà¹à¹àžàžàž±àž§àžàž£àž­àž à¹àž¥àž°àžàž¥àžŽàž <AutoText key="glidict::CDM.SubcollectionIndexManager.Replace_Subindex"/></Text>
+<Text id="154">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àžàž²àž£à¹àžàžŽàžàž±àžàž­àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž²àž£à¹àžàžŽàžàž±àžàž­àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£ à¹àž¥àž°àžàž¥àžŽàž "à¹àž­àž²àžàž²àž£à¹àžàžŽàžàž±àžàž­àž­àž"</Text>
+<Text id="154b">àž¥àž³àžàž±àžàžàžµà¹àž£àž°àžàžžàžàž²àž£à¹àžàžŽàžàž±àžà¹àž§à¹à¹àž "àž£àž²àž¢àžàž²àž£àžàž²àž£à¹àžàžŽàžàž±àžàžàžµà¹àžàž³àž«àžàž" à¹àžà¹àžàž¥àž³àžàž±àžàžàžµà¹àžàž²àž£à¹àžàžŽàžàž±àžàžàž°àžàž£àž²àžàžà¹àžà¹àž¡àžàž¹à¹àžàžàž«àž¥à¹àžàž¥àžà¹àžàž«àžà¹àž²àžà¹àžàž«àž²  à¹àž«à¹à¹àžà¹àžàžžà¹àž¡ <AutoText key="glidict::CDM.Move.Move_Up"/> à¹àž¥àž° <AutoText key="glidict::CDM.Move.Move_Down"/> à¹àžàž·à¹àž­à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžàž²àž£à¹àž£àžµàž¢àžàž¥àž³àžàž±àžàžàžµà¹</Text>
+<Text id="155">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž³àž«àžàžà¹àž«à¹àžàž²àž£à¹àžàžŽàžàž±àžà¹àžà¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž²àž£à¹àžàžŽàžàž±àžàžàž²àžàž£àž²àž¢àžàž²àž£ à¹àž¥àž°àžàž¥àžŽàž <AutoText key="glidict::CDM.SubcollectionIndexManager.Set_Default_Subindex"/></Text>
+<Text id="155a">àžàžžàžàžªàž²àž¡àž²àž£àžàžàž±à¹àžàžà¹àž²àžàž·à¹àž­àžàžµà¹à¹àžà¹àžªàž³àž«àž£àž±àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àžàžàž­àžàžàž²àž£à¹àžàžŽàžàž±àžà¹àžàž«àžà¹àž²àžà¹àžàž«àž²à¹àžà¹à¹àž <AutoText key="glidict::CDM.GUI.SearchMetadata"/> àžªà¹àž§àžàžàž­àž <AutoText key="glidict::GUI.Format"/> àžàž²à¹àžàž¥ (àžàž¹àžàžµà¹ <Reference target="searchmetadatasettings"/>) </Text>
+</Section>
+<Section name="assignlanguages">
+<Title>
+<Text id="156">àžàž³àž«àžàžàž àž²àž©àž²</Text>
+</Title>
+<Text id="157">àžªà¹àž§àžàžàžµà¹à¹àžªàžàžàž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžàž§àžŽàžàžµàžàž²àž£àžàž³àžàž±àžàžàž±àžàžàžµàžàž²àž£àžà¹àžàž«àž²à¹àž«à¹àžàž±àžàž àž²àž©àž²à¹àžàž àž²àž©àž²àž«àžàž¶à¹àž àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³à¹àžàžŽàžàžàž²àž£àžàžµà¹à¹àžà¹àžà¹àž§àž¢àžàž²àž£àžªàž£à¹àž²àžàžàž²àž£à¹àžàžŽàžàž±àžà¹àžàž¢à¹àžà¹à¹àžà¹àž "àžàž³àž«àžàžàž àž²àž©àž²" àžàž­àžàžªà¹àž§àžàžàž§àžàžàžžàž¡ "àžàž±àžàžàžµàžàž²àž£à¹àžàžŽàžàž±àž"</Text>
+<Text id="158">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²à¹àž«àž¡à¹ à¹àž«à¹à¹àžà¹à¹àžà¹àž "àžàž³àž«àžàžàž àž²àž©àž²" à¹àžàž·à¹àž­àžªàž£à¹àž²àžàžàž±àžàžàžµàžªàž³àž«àž£àž±àžàž àž²àž©àž²àžàž±à¹àž àžàž²àžàžàž±à¹àžà¹àž¥àž·àž­àžàž àž²àž©àž²àž­àž¢à¹àž²àžàžà¹àž­àž¢àž«àžàž¶à¹àžàž àž²àž©àž²àžàž²àžàž£àž²àž¢àžàž²àž£ "àž àž²àž©àž²àžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡" à¹àž¥àž°àžàž¥àžŽàž "à¹àžàžŽà¹àž¡àžàž²àž£à¹àžàžŽàžàž±àž"</Text>
+<Text id="158a">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžàž²àž£à¹àžàžŽàžàž±àžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹ à¹àž«à¹à¹àž¥àž·àž­àžàžàž²àž£à¹àžàžŽàžàž±àžàžàž²àžàž£àž²àž¢àžàž²àž£ "àžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²àžàžµà¹àžàž³àž«àžàž" àžàž²àžàžàž±à¹àžà¹àžà¹à¹àžàž àž²àž©àž²àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹à¹àžàž£àž²àž¢àžàž²àž£ "àž àž²àž©àž²àžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡" àžà¹àž²àžàž¥à¹àž²àž à¹àž¥àž°àžàž¥àžŽàž "à¹àžàžàžàžµà¹àžàž²àž£à¹àžàžŽàžàž±àž"</Text>
+<Text id="159">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²àž­àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž²àž£à¹àžàžŽàžàž±àžàžàž²àžàž£àž²àž¢àžàž²àž£ "àžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²àžàžµà¹àžàž³àž«àžàž" à¹àž¥àž°àžàž¥àžŽàž "à¹àž­àž²àžàž²àž£à¹àžàžŽàžàž±àžàž­àž­àž"</Text>
+<Text id="159a">àž¥àž³àžàž±àžàžàžµà¹àž£àž°àžàžžàžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²à¹àž§à¹à¹àž "àž£àž²àž¢àžàž²àž£àžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²àžàžµà¹àžàž³àž«àžàž" à¹àžà¹àžàž¥àž³àžàž±àžàžàžµà¹àžàž°àžàž£àž²àžàžà¹àžà¹àž¡àžàž¹à¹àžàžàž«àž¥à¹àžàž¥àžà¹àžàž«àžà¹àž²àžà¹àžàž«àž²  à¹àž«à¹à¹àžà¹àžàžžà¹àž¡ <AutoText key="glidict::CDM.Move.Move_Up"/> à¹àž¥àž° <AutoText key="glidict::CDM.Move.Move_Down"/> à¹àžàž·à¹àž­à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžàž²àž£à¹àž£àžµàž¢àžàž¥àž³àžàž±àžàžàžµà¹</Text>
+<Text id="160">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž±à¹àžàžà¹àž²àžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²à¹àž£àžŽà¹àž¡àžà¹àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²àžàž²àžàž£àž²àž¢àžàž²àž£ à¹àž¥àž°àžàž¥àžŽàž "àžàž±à¹àžà¹àžà¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž"</Text>
+<Text id="160a">àžàžžàžàžªàž²àž¡àž²àž£àžàžàž±à¹àžàžà¹àž²àžàž·à¹àž­àžàžµà¹à¹àžà¹àžªàž³àž«àž£àž±àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àžàžàž­àžàžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²à¹àžàž«àžà¹àž²àžà¹àžàž«àž²à¹àž <AutoText key="glidict::CDM.GUI.SearchMetadata"/> àžªà¹àž§àžàžàž­àž <AutoText key="glidict::GUI.Format"/> àžàž²à¹àžàž¥à¹àžà¹ (àžàž¹àžàžµà¹ <Reference target="searchmetadatasettings"/>) </Text>
+</Section>
+</Section>
+<Section name="classifiers">
+<Title>
+<Text id="166">àžàž²àž£à¹àž£àžµàž¢àžàžàž¹àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž</Text>
+</Title>
+<Text id="167">àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž²àž£àžàž³àž«àžàž "àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž" àžàž¶à¹àžàžàž°à¹àžà¹àžªàž³àž«àž£àž±àžàžàž²àž£à¹àž£àžµàž¢àžàžàž¹à¹àž«à¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž£àžŽà¹àž¡àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹à¹àžàž¢àžàž²àž£àžàž¥àžŽàž "àžàž²àž£à¹àž£àžµàž¢àžàžàž¹àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž" àž àž²àž¢à¹àžà¹à¹àžà¹àž"àž­àž­àžà¹àžàž" </Text>
+<Text id="168">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžà¹àžàž¢à¹àžà¹àž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àž "à¹àž¥àž·àž­àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡" àžàžµà¹àž­àž¢àž¹à¹à¹àžàž¥à¹àžªà¹àž§àžàž¥à¹àž²àžàžàž­àž«àžà¹àž²àžàž­ àžàž²àžàžàž±à¹àžàžàž¥àžŽàž "à¹àžàžŽà¹àž¡àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžâŠ"  àž«àžà¹àž²àžà¹àž²àžàžàž°àžàž£àž²àžàžàžàž¶à¹àžà¹àžàžàž·à¹àž­ "àžàž²àž£àžàž³àž«àžàžàžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹" àžàž¶à¹àžàžàž³à¹àžàž°àžàž³àžªàž³àž«àž£àž±àžàžàž¥à¹àž­àžà¹àžà¹àžàž­àžàžàžµà¹àžàž°à¹àž«àž¡àž·àž­àžàžàž±àžàžàž­àžàžàž¥àž±à¹àžàž­àžŽàž (àžàž¹àžàžµà¹ <Reference target="plugins"/>)  àžàž±àžàžàžµàžàžµà¹àžàžžàžà¹àžà¹àžàž³àž«àžàžàžà¹àž²àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžà¹àž«àž¡à¹à¹àž¥à¹àž§ àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàž°àžàž¹àžà¹àžàžŽà¹àž¡àž¥àžà¹àžàžàžµà¹àž¥àž³àžàž±àžàžà¹àž²àž¢àžªàžžàžàžàž­àžàž£àž²àž¢àžàž²àž£ "àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàžµà¹àžàž³àž«àžàž"</Text>
+<Text id="168a">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž¹àžàž³àž­àžàžŽàžàž²àž¢àž­àž¢à¹àž²àžàžªàž±à¹àžàžàž­àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžà¹àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àž "à¹àž¥àž·àž­àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡" àžàž²àžàžàž±à¹àžàž¥àž²àžà¹àž¡àž²àžªà¹à¹àž«àžàž·àž­àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàž±à¹àž à¹àžàž¥à¹àžàž¥àž±àžà¹àžàž£àž·à¹àž­àžàž¡àž·àž­àžàžµà¹à¹àžªàžàžàžàž³àž­àžàžŽàžàž²àž¢àžàž°àžàž£àž²àžàžàžàž¶à¹àž</Text>
+<Text id="168b">àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžà¹àžà¹àž¥àž°àžàž±àž§àž¡àžµàž«àž¥àž²àž¢àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžàžµà¹àžªàž²àž¡àž²àž£àžàžàž³àž«àžàžàžà¹àž²à¹àžà¹ àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžàžµà¹àžªàž³àžàž±àžàž£àž§àž¡àžàž¶àž"metadata" àžàž¶à¹àžàž£àž°àžàžžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž°à¹àžà¹à¹àž¢àžàžàž£àž°à¹àž àžà¹àž­àžàžªàž²àž£àžàž±à¹àž à¹àž¥àž° "buttonname" àžàž¶à¹àžà¹àžà¹àžàžàž·à¹àž­àžàžµà¹àžàž°àžàž£àž²àžàžà¹àžà¹àžàžàžàž³àžàž²àž</Text>
+<Text id="169">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàž­àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàž²àžàž£àž²àž¢àžàž²àž£ à¹àž¥àž°àžàž¥àžŽàž "à¹àž­àž²àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàž­àž­àž"</Text>
+<Text id="170">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàž¥àžµà¹àž¢àžàž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžªàž³àž«àž£àž±àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž à¹àž«à¹à¹àž¥àž·àž­àžàž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžàž²àžàž£àž²àž¢àžàž²àž£ à¹àž¥àž°àžàž¥àžŽàž "àžàž³àž«àžàžàžà¹àž²àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž" (àž«àž£àž·àž­àžàž¥àžŽàžàžªàž­àžàžàž£àž±à¹àžàžàžµà¹àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžà¹àžàž£àž²àž¢àžàž²àž£)</Text>
+<Text id="171">àžàž²àž£à¹àž£àžµàž¢àžàž¥àž³àžàž±àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžà¹àžà¹àžàžàžàž³àžàž²àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž°àžªàž°àžà¹àž­àžàžàž¶àžàž¥àž³àžàž±àžàžàž­àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàžµà¹àžàžµà¹àžà¹àž§àž¢ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàž¥àžµà¹àž¢àžàž¥àž³àžàž±àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžàžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£àž¢à¹àž²àž¢ à¹àž¥àž°àžàž¥àžŽàž <AutoText key="glidict::CDM.Move.Move_Up"/> àž«àž£àž·àž­ <AutoText key="glidict::CDM.Move.Move_Down"/></Text>
+<Text id="172">àžªàž³àž«àž£àž±àžàžà¹àž­àž¡àž¹àž¥à¹àžàžŽà¹àž¡à¹àžàžŽàž¡à¹àžàžµà¹àž¢àž§àžàž±àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž àžàž£àžžàžàž²àž­à¹àž²àžàžàžàžàžµà¹ 2 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž -- àžàž²àž£à¹àžàž¢à¹àžàž£à¹àžà¹àž­àž¡àž¹àž¥àžàž²àžà¹àž­àžàžªàž²àž£àžàž­àžàžàžžàž</Text>
+</Section>
+</Section>
+<Section name="producingthecollection">
+<Title>
+<Text id="193">àžàž²àž£àžàž¥àžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž</Text>
+</Title>
+<Text id="194">àžàž²àž£à¹àžà¹àž£àž§àžàž£àž§àž¡à¹àž­àžàžªàž²àž£àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àž«à¹àžàž³àž­àžàžŽàžàž²àž¢àžàž£àž°àžàž­àžà¹àž­àžàžªàž²àž£àžà¹àž§àž¢à¹àž¡àžàž²àžàž²àžàž² à¹àž¥àž°àž­àž­àžà¹àžàžàž§àžŽàžàžµàžàž²àž£àžàž³à¹àžªàžàž­àžàž­àž¥à¹àž¥àžàžàž±àž à¹àžàžàž­àžàžàžµà¹àžàžžàžàžªàž²àž¡àž²àž£àžàžàž¥àžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž¢à¹àžà¹à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžà¹à¹àž¥à¹àž§ àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž²àž£àžàž¥àžŽàžàžàž­àž¥à¹àž¥àžàžàž±àž</Text>
+<Section name="thecreateview">
+<Title>
+<Text id="195">àž¡àžžàž¡àž¡àž­àžàžàž²àž£àžªàž£à¹àž²àž</Text>
+</Title>
+<Text id="196">àž¡àžžàž¡àž¡àž­àžàžàž²àž£àžªàž£à¹àž²àžàžàž°àžàž¹àžà¹àžà¹à¹àžàž·à¹àž­àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžà¹àž§àž¢àžàž²àž£à¹àž£àžµàž¢àžà¹àžà¹àžªàžàž£àžŽàžàžà¹àžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàžàžà¹àž­àž¡àž¹àž¥àžàžµà¹àžàžžàžà¹àž«à¹à¹àž§à¹ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹àž²àžàž¶àžàž¡àžžàž¡àž¡àž­àžàžàž²àž£àžªàž£à¹àž²àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžà¹àžà¹àž "àžªàž£à¹àž²àž"</Text>
+<Text id="196a">àžàž²àž£àžàž¥àžŽàž "àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž" à¹àžà¹àžàžàž²àž£à¹àž£àžŽà¹àž¡àžà¹àžàžàž£àž°àžàž§àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž  à¹àž§àž¥àž²àžàžµà¹à¹àžà¹àžàž³à¹àžàžŽàžàžàž²àž£àžàž°àžàž¶à¹àžàžàž±àžàžàžàž²àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž¥àž°àžàž³àžàž§àžàžàž­àžàžàž±àžàžàžµàžàžµà¹àžàž³àž¥àž±àžàžªàž£à¹àž²àž (àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžàž²àžà¹àž«àžà¹ àž­àž²àžà¹àžà¹à¹àž§àž¥àž²à¹àžà¹àžàžàž±à¹àž§à¹àž¡àž) à¹àžàžàžàž§àž²àž¡àžàž·àžàž«àžà¹àž²àžàž°àžà¹àžàžàžµà¹àžàž£àžŽàž¡àž²àžàžàž²àžàžàžµà¹àžàž£àž°àž¡àž§àž¥àžàž¥à¹àžªàž£à¹àžàžªàžŽà¹àžà¹àž¥à¹àž§ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àž¢àžà¹àž¥àžŽàžàžàž²àž£àžàž£àž°àž¡àž§àž¥àžàž¥à¹àž¡àž·à¹àž­à¹àžàžà¹àžàž²àž¡ à¹àž«à¹àžàž¥àžŽàž "àž¢àžà¹àž¥àžŽàžàžàž²àž£àžªàž£à¹àž²àž"  àžªà¹àž§àžàž¥à¹àž²àžàžàž­àžàžàž²à¹àžàž¥àžàž°à¹àžªàžàžàžàž¥àž¥àž±àžàžà¹àžàž²àžàž­àž¢à¹àž²àžàžàž²àžàžàž£àž°àžàž§àžàžàž²àž£àžªàž£à¹àž²àž àžªà¹àž§àžàžàžàžàž°à¹àžªàžàžàžàž±àž§à¹àž¥àž·àž­àžàžàž²àžàžàž±àž§àžªàž³àž«àž£àž±àžàžàž²àž£àžàž§àžàžàžžàž¡àžàž£àž°àžàž§àžàžàž²àž£àžªàž£à¹àž²àž</Text>
+<Text id="197">àžàž±àžàžàžµàžàžµà¹àžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžªàž£à¹àžàžªàžŽà¹àžà¹à¹àž¥à¹àž§ àžàž²àž£àžàž¥àžŽàž "à¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž" àžàž°à¹àžà¹àžàžàž²àž£à¹àžàžŽàžà¹àž§à¹àžà¹àžàž£àž²à¹àžàž­àž£à¹àžàž¶à¹àžàžàž°à¹àžªàžàžàž«àžà¹àž²à¹àž£àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àž</Text>
+</Section>
+<Section name="builderrors">
+<Title>
+<Text id="199a">àžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž</Text>
+</Title>
+<Text id="199b">àžàž²àžàžàž£àž±à¹àžàž­àž²àžàžàž°à¹àžàžŽàžàžªàžŽà¹àžàžàžŽàžàžàž¥àž²àžàžàž¶à¹àžàž£àž°àž«àž§à¹àž²àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž àžªàž²à¹àž«àžàžžàžàž­àžàžàž±àžàž«àž²àžàžµà¹àž­àž²àžà¹àžàžŽàžàžàž²àžàžàž²àž£àžàžµà¹àž£àž°àžàžà¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž£àž°àž¡àž§àž¥àžàž¥à¹àžà¹àž¡àžàž²àžà¹àžà¹àž¡à¹àžà¹ à¹àžà¹àž àžàž²àž£àžàžµà¹àž£àž°àžàžàžªàž²àž¡àž²àž£àžàžªàž£à¹àž²àžà¹àžà¹àž¡àžàžµà¹à¹àž«àž¥àž·àž­àž­àž¢àž¹à¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹ àžªàž²àž¡àž²àž£àžà¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹ à¹àžà¹àž­àž²àžàž¡àžµà¹àž­àžàžªàž²àž£àžàž²àžàžàžàž±àžàž«àž²àž¢à¹àž àž«àž£àž·àž­àžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àžàž«àž¡àžàž­àž²àžàžàž°àžàž¹àžàžªàž£à¹àž²àžàžàž¶à¹àžàž­àž¢à¹àž²àžà¹àž¡à¹à¹àž«àž¡àž²àž°àžªàž¡ à¹àžàžàž£àžàžµà¹àžà¹àžàžàžµà¹ àž£àž°àžàžàžàž°à¹àžªàžàžàžà¹àž­àžàž§àž²àž¡àž§à¹àž² <AutoText key="glidict::CollectionManager.Cannot_Create_Collection"/>  à¹àž¡àž·à¹àž­à¹àžàžŽàžà¹àž«àžàžžàžàž²àž£àžà¹à¹àžà¹àžàžàžµà¹àžàž¶à¹àž àžàž²àž£àžªàž¥àž±àž GLI à¹àž«à¹àž­àž¢àž¹à¹à¹àžà¹àž«àž¡àžàžàž¹à¹àžàž³àžàž²àžàžàž²àž£àž­àž²àžàžªàž²àž¡àž²àž£àžàžà¹àž§àž¢à¹àžà¹àžàž±àžàž«àž²à¹àžà¹ (à¹àžà¹àž¡->àžàž³àž«àžàžàž¥àž±àžàž©àžàž°->à¹àž«àž¡àž à¹àž«à¹àžàž¹àžàžµà¹ <Reference target="preferences"/>) àžàž²àžàžàž±à¹àžàžàž±à¹àžàžà¹àž²àžàž±àž§à¹àž¥àž·àž­àžàžàž²àž£àžªàž£à¹àž²àž "verbosity" à¹àžà¹àž 5 à¹àž¥à¹àž§àžàž³àžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹à¹àžàž·à¹àž­àžàž¹àž§à¹àž²àž¢àž±àžàž¡àžµàžà¹àž­àžàž§àž²àž¡à¹àžªàžàžàžàž§àž²àž¡àžàžŽàžàžàž¥àž²àžà¹àžà¹ àž­àžµàžàž«àž£àž·àž­à¹àž¡à¹</Text>
+</Section>
+<Section name="expertbuilding">
+<Title>
+<Text id="198a">àž¡àžžàž¡àž¡àž­àžàžàž²àž£àžªàž£à¹àž²àžà¹àžà¹àž«àž¡àžàžàž¹à¹àžàž³àžàž²àžàžàž²àž£</Text>
+</Title>
+<Text id="198">à¹àžà¹àž«àž¡àžàžàž¹à¹àžàž³àžàž²àžàžàž²àž£ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹àž£àž²àž¢àžàž²àž£ "à¹àžà¹àž¡àžàž±àžàžàž¶àžàžà¹àž­àžàž§àž²àž¡" àžàžµà¹àž­àž¢àž¹à¹àžàž²àžàžà¹àž²àž¢à¹àžàž·à¹àž­àžàž£àž§àžàžàž²àžàžàž§àž²àž¡àžàž¢àž²àž¢àž²àž¡à¹àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžà¹àž­àžàž«àžà¹àž²àžàžµà¹àž§à¹àž²àžªàž²àž¡àž²àž£àžàžªàž£à¹àž²àžà¹àžà¹àžªàž³à¹àž£à¹àžàž«àž£àž·àž­à¹àž¡à¹ à¹àž«à¹à¹àž¥àž·àž­àžà¹àžà¹àž¡àžàž±àžàžàž¶àžàžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£à¹àžàž¢àžàž¥àžŽàžàž§àž±àžàžàžµà¹àžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£à¹àžàž£àž²àž¢àžàž²àž£ "àžàž£àž°àž§àž±àžàžŽà¹àžà¹àž¡àžàž±àžàžàž¶àž"</Text>
+<Text id="200a">à¹àžà¹àž«àž¡àžàžàžµà¹ àž£àž²àž¢àžàž²àž£àžàž±àž§à¹àž¥àž·àž­àžàžàž²àž£àžàž³à¹àžà¹àž²à¹àž¥àž°àžàž±àž§à¹àž¥àž·àž­àžàžàž²àž£àžªàž£à¹àž²àžàžàž±à¹àžàž«àž¡àžàžàž°à¹àžªàžàžà¹àž§à¹à¹àžà¹àžà¹àž "àžàž²àž£àžàž³à¹àžà¹àž²" à¹àž¥àž°à¹àžà¹àž "àžàž²àž£àžªàž£à¹àž²àž" àžàž²àžàžà¹àž²àž¢àž¡àž·àž­ àžàž²àž£àžàž±à¹àžàžà¹àž²àžà¹àž²àžà¹ àžàž°àžàž¹àžàžàž§àžàžàžžàž¡à¹àžàž£àž¹àžà¹àžàžà¹àžàžµàž¢àž§àžàž±àžàž«àžà¹àž²àžà¹àž²àž "àžàž²àž£àžàž³àž«àžàžàžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹" àžàž¶à¹àžà¹àžà¹àž¡àžµàžàž²àž£àž­àžàžŽàžàž²àž¢à¹àž§à¹à¹àžàžªà¹àž§àž <Reference target="plugins"/> à¹àž¥à¹àž§ à¹àžàžàžà¹àž­àž¡àž¹àž¥àžàž²àžàžàž±àž§àžà¹àž­àžàžàž²àž£àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹à¹àžàžŽàžàžàž±àž§à¹àž¥àž à¹àž¥àž°àžàžžàžàžªàž²àž¡àž²àž£àžàžàžŽàž¡àžà¹àžà¹àž²à¹àž«àž¥à¹àž²àžàžµà¹àž¥àžà¹àžà¹àž­àž àž«àž£àž·àž­à¹àžà¹à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àž¥àž¹àžàžšàž£à¹àžàž·à¹àž­à¹àžàžŽà¹àž¡àž«àž£àž·àž­àž¥àžàžà¹àž²àžàž±àžàžàžžàžàž±àžà¹àžà¹ (à¹àžàžàž²àžàžàž£àžàžµ àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžàž°àžàž³àžàž±àžàžà¹àž§àžàžàž­àžàžà¹àž²àžàžµà¹àžàžžàžàžàž°à¹àžªà¹) àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàžŽàžà¹àžà¹àžàž²àžàžàž±àž§à¹àž¥àž·àž­àžàž­àž·à¹àžà¹à¹àžà¹à¹àžàž¢àžàž²àž£àžàž¥àžŽàžàžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàžµà¹àžà¹àž­àžàžàž²àž£ (àžàž¥àžŽàžàž­àžµàžàžàž£àž±à¹àžà¹àžàž·à¹àž­àžàžŽàžà¹àžà¹àžàž²àž)</Text>
+<Text id="201a">àžªàž³àž«àž£àž±àžàžà¹àž­àž¡àž¹àž¥à¹àžàžŽà¹àž¡à¹àžàžŽàž¡à¹àžàžµà¹àž¢àž§àžàž±àžàžàž²àž£àžàž³à¹àžà¹àž²à¹àž¥àž°àžàž²àž£àžªàž£à¹àž²àž àžàž£àžžàžàž²àž­à¹àž²àžàžàžàžàžµà¹ 1 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž -- àžàž²àž£àžàž³àžàž§àž²àž¡à¹àžà¹àž²à¹àžà¹àž£àž·à¹àž­àžàžàž£àž°àžàž§àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž</Text>
+</Section>
+</Section>
+<Section name="formattingacollection">
+<Title>
+<Text id="fc-1">àžàž²àž£àžàž³àž«àžàžàžà¹àž²àž¥àž±àžàž©àžàž°àžàžµà¹àžàž£àž²àžàžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžà¹àž§àž¢àžàžà¹àž­àž</Text>
+</Title>
+<Text id="fc-2">àžàž±àžàžàžµàžàžµà¹àžàžžàžàžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž£àžµàž¢àžàž£à¹àž­àž¢à¹àž¥à¹àž§ àžàžžàžàžàž°àžà¹àž­àžàžàž±àžàžªàžŽàžà¹àžàžà¹àž­à¹àžàž§à¹àž² àž¥àž±àžàž©àžàž°àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžàž°àžàž£àž²àžàžàžà¹àž­àžàž¹à¹à¹àžà¹àžàž°à¹àžà¹àžàž­àž¢à¹àž²àžà¹àž£ àžàž§àž£àžàž°à¹àžà¹àžàž·à¹àž­à¹àžà¹àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àžàžàž­àžàžàž±àžàžàžµà¹àžà¹àžàžàžàž­àž£à¹àž¡àžàž²àž£àžà¹àžàž«àž² àžàž§àž£àžàž°à¹àžªàžàžàžàž¥àž¥àž±àžàžà¹àžàžµà¹à¹àžà¹àžàž²àžàžàž²àž£àžà¹àžàž«àž²àž­àž¢à¹àž²àžà¹àž£ àžàž§àž£àžàž°à¹àžªàžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžàžà¹àž²àžà¹àž¡àž·à¹àž­àžàž¹à¹à¹àžà¹àžàž¹à¹àž­àžàžªàž²àž£ àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³àž«àžàžàž¥àž±àžàž©àžàž°à¹àž«àž¥à¹àž²àžàžµà¹à¹àžà¹à¹àž­àž à¹àžàž¢àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž³à¹àžàžŽàžàžàž²àž£àžàžµà¹</Text>
+<Section name="theformatview">
+<Title>
+<Text id="fc-3">àž¡àžžàž¡àž¡àž­àžàž£àž¹àžà¹àžàž</Text>
+</Title>
+<Text id="fc-4">àžªà¹àž§àžàžàžµà¹à¹àžà¹àžàžªà¹àž§àžàžàžµà¹à¹àžàž°àžàž³àž¡àžžàž¡àž¡àž­àž "àž£àž¹àžà¹àžàž" à¹àž¥àž°àž­àžàžŽàžàž²àž¢àž§àžŽàžàžµàžàž³àžàž²àžàž£àž°àž«àž§à¹àž²àžàžàž²àžàž«àžà¹àž²àžà¹àž²àžàžàžµà¹àž«àž¥àž²àžàž«àž¥àž²àž¢</Text>
+<Text id="fc-5">àžà¹àž§àž¢àžàž²àž£à¹àžà¹àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ àžàžžàžàžàž°àžªàž²àž¡àž²àž£àžàžàž³àž«àžàžàžà¹àž²àž¥àž±àžàž©àžàž°àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžàž£àž²àžàžàžà¹àž­àžàž¹à¹à¹àžà¹à¹àžà¹ àžàž±àž§à¹àž¥àž·àž­àžàžàž²àž£àžàž³àž«àžàžàžà¹àž²àžàž°àžàž¹àžà¹àžà¹àžàž­àž­àžà¹àžà¹àžàžªà¹àž§àžà¹ à¹àžàž¢àžàžµà¹à¹àžà¹àž¥àž°àžªà¹àž§àžàžàž°àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàžàžŽàžàžàž­àžàžàž²àž£àžàž³àž«àžàžà¹àž­àžàžàžµà¹à¹àžàžàžà¹àž²àžàžàž±àž</Text>
+<Text id="fc-6">àžàž²àžàžà¹àž²àžàžà¹àž²àž¢à¹àžà¹àžàž£àž²àž¢àžàž²àž£àžàž²àž£àž²àž¡àžŽà¹àžàž­àž£à¹ à¹àž¥àž°àžà¹àž²àžàžàž§àž²à¹àžà¹àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àžàž§àžàžàžžàž¡àžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàž²àž£àž²àž¡àžŽà¹àžàž­àž£à¹à¹àžà¹àž¥àž°àžàž±àž§ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžà¹à¹àžàžàž²àž£àž²àž¡àžŽà¹àžàž­àž£à¹ à¹àž«à¹àžàž¥àžŽàžàžàžµà¹àžàž·à¹àž­àžàž²àž£àž²àž¡àžŽà¹àžàž­àž£à¹à¹àžàž£àž²àž¢àžàž²àž£</Text>
+<Text id="fc-7">à¹àžà¹àž£àž²àž¢àžàž²àž£àžàž²àž£àž²àž¡àžŽà¹àžàž­àž£à¹àžàž°àž¡àžµàžàžžà¹àž¡ "à¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž" àžàžžàžàžªàž²àž¡àž²àž£àžàžàž¹àžàž±àž§àž­àž¢à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹à¹àžàžàž±àžàžàžµà¹àžàž¢à¹àž¡à¹àžàž³à¹àžà¹àžàžà¹àž­àžàžàž£àž±àžàžàž£àžžàžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹à¹àž¡àž·à¹àž­àžàž³àžàž²àž£à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàž¡àžžàž¡àž¡àž­àžàž£àž¹àžà¹àžàž àž­àž¢à¹àž²àžà¹àž£àžà¹àžàž²àž¡ àžàžžàžàžàž°àžà¹àž­àžàžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàž­àž¢à¹àž²àžàžà¹àž­àž¢àžàž£àž±à¹àžàž«àžàž¶à¹àžàžà¹àž­àžà¹àžàž·à¹àž­à¹àž«à¹àž£àž°àžàžàžªàž²àž¡àž²àž£àžà¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹</Text>
+</Section>
+<Section name="generalsettings">
+<Title>
+<Text id="117">àžàž±à¹àž§à¹àž</Text>
+</Title>
+<Text id="118">àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž²àž£àžàž£àž§àžàžªàž­àžà¹àž¥àž°àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžàžàž²àž£àžàž±à¹àžàžà¹àž²àžàž±à¹àž§à¹àžàžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž  àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž£àžŽà¹àž¡àžàž³à¹àžàžŽàžàžàž²àžà¹àžà¹à¹àžàž¢àžàž¥àžŽàž "àžàž±à¹àž§à¹àž" àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž£àž¹àžà¹àžàž" </Text>
+<Text id="119">àžàžžàžàžªàž²àž¡àž²àž£àžàžàž±à¹àžàžà¹àž²àž«àž£àž·àž­àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžà¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àž§à¹àžàžàž²àžàžàž±àž§àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž àž£àž§àž¡àžàž¶àžàžàž·à¹àž­à¹àž¥àž°àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžàžàžµà¹à¹àžªà¹à¹àž§à¹à¹àž¡àž·à¹àž­à¹àž£àžŽà¹àž¡àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹à¹àžà¹àžàžµà¹àžàžµà¹</Text>
+<Text id="120">àžªà¹àž§àžà¹àž£àžàžàž·àž­ àžàžµà¹àž­àž¢àž¹à¹àž­àžµà¹àž¡àž¥àžàžµà¹àžàžŽàžàžà¹àž­à¹àžà¹àžàž­àžàžàž¹à¹àžªàž£à¹àž²àžà¹àž¥àž°àžàž¹à¹àžàž¹à¹àž¥àžàž­àž¥à¹àž¥àžàžàž±àž à¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž²àžàž¥à¹àž²àžàž­àžàžžàžàž²àžà¹àž«à¹àžàžžàžà¹àžàž¥àžµà¹àž¢àžàžàž·à¹àž­àžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹ àžàž±àžàž¡àž²à¹àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àžàž±àžà¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àžà¹àžàžžàžà¹àž¡à¹àžªàž²àž¡àž²àž£àžàžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžàžà¹àž²à¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹à¹àžà¹ àžàž²àžàžàž±à¹àžà¹àžà¹àžà¹àž­àžàž­àžàžàžµà¹à¹àžªàžàžàž­àž¢àž¹à¹àžà¹àž²àžàžàžàžà¹àž²àž¢àžàž­àžàž«àžà¹àž² "à¹àžàžµà¹àž¢àž§àžàž±àž" àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž (à¹àžàž£àž¹àžà¹àžàž URL) àžàž²àž¡àžà¹àž§àž¢à¹àž­àžàž­àžàžàžµà¹à¹àžà¹à¹àžàž«àžà¹àž²àž«à¹àž­àžàžªàž¡àžžàžàžàž£àžµàžàžªà¹àžàžà¹àžàž·à¹àž­à¹àžàž·à¹àž­àž¡à¹àž¢àžà¹àžàž¢àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžà¹àž²àžà¹ àžàž±àžà¹àžà¹àžà¹àžàžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàžµà¹àžàž§àžàžàžžàž¡àž¥àž±àžàž©àžàž°àžàž²àž£à¹àžà¹àž²àžàž¶àžàžàž­àž¥à¹àž¥àžàžàž±àžàžªàž³àž«àž£àž±àžàžàž¹à¹à¹àžà¹àžàž±à¹àž§à¹àž àžªàžžàžàžà¹àž²àž¢à¹àžà¹àžàžàž·à¹àžàžàžµà¹ "àžàž³àž­àžàžŽàžàž²àž¢àžàž­àž¥à¹àž¥àžàžàž±àž" àžàž±àžàžàžµà¹àž­àžàžŽàžàž²àž¢à¹àž§à¹à¹àž <Reference target="creatingacollection"/></Text>
+</Section>
+<Section name="searchmetadatasettings">
+<Title>
+<Text id="fc-s1">àžà¹àžàž«àž²</Text>
+</Title>
+<Text id="fc-s2">àžªà¹àž§àžàžàžµà¹àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž±à¹àžàžà¹àž²àžà¹àž­àžàž§àž²àž¡àžàžµà¹à¹àžªàžàžàžªàž³àž«àž£àž±àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àžàžàžàž«àžà¹àž²àžà¹àžàž«àž² àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž£àžŽà¹àž¡àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹à¹àžàž¢àžàž¥àžŽàž "àžà¹àžàž«àž²" àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž£àž¹àžà¹àžàž" </Text>
+<Text id="fc-s3">àžàž²àžàž«àžà¹àž²àžà¹àž²àžàžàžµà¹àžàž£àž°àžàž­àžàžà¹àž§àž¢àžàž²àž£àž²àžàžàžµà¹à¹àžªàžàžàžàž±àžàžàžµàžà¹àžàž«àž²à¹àžà¹àž¥àž°àž£àž²àž¢àžàž²àž£ àžàžµà¹àžàžµà¹àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžªà¹àžà¹àž­àžàž§àž²àž¡àžàžµà¹àžàž°à¹àžà¹à¹àžà¹àžàžàž·à¹àž­àžàž±àžàžàžµà¹àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àžàžàžàž«àžà¹àž²àžà¹àžàž«àž²à¹àžà¹ àžàž²àžàž«àžà¹àž²àžà¹àž²àžàžàžµà¹àžàž°àž­àžàžžàžàž²àžà¹àž«à¹àžàžžàžàžàž±à¹àžàžà¹àž²àžà¹àž­àžàž§àž²àž¡àžªàž³àž«àž£àž±àžàž«àžàž¶à¹àžàž àž²àž©àž²à¹àžà¹àž²àžàž±à¹àž àžàž¶à¹àžàžàž°à¹àžà¹àžàž àž²àž©àž²àžàžµà¹ GLI à¹àžà¹àž­àž¢àž¹à¹à¹àžàžàž±àžàžàžžàžàž±àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàž¥àžàž·à¹àž­à¹àž«àž¥à¹àž²àžàžµà¹à¹àžà¹àžàž àž²àž©àž²àž­àž·à¹àžà¹ à¹àž«à¹à¹àžà¹àžªà¹àž§àž "à¹àžàž¥àžà¹àž­àžàž§àž²àž¡" àžàž­àžàž¡àžžàž¡àž¡àž­àž "àž£àž¹àžà¹àžàž" (àžàž¹àžàžµà¹ <Reference target="translatetext"/>)</Text>
+</Section>
+<Section name="formatstatements">
+<Title>
+<Text id="173">àžàžžàžàž¥àž±àžàž©àžàž°àž£àž¹àžà¹àžàž</Text>
+</Title>
+<Text id="174">àž«àžà¹àž²à¹àž§à¹àžàžàžµà¹àžàžžàžà¹àž«à¹àžàžàžàž°à¹àžà¹à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àž¡à¹à¹àžà¹àž¡àžµàžàž²àž£àžàž±àžà¹àžà¹àžà¹àž§à¹àž¥à¹àž§àžàž«àžà¹àž² à¹àžà¹àž«àžà¹àž²à¹àž§à¹àžàžàž°àžàž¹àžàžªàž£à¹àž²àžàžàž¶à¹àž 'àžàž±àžàžàžµà¹àžàžàžàž°àžàž±à¹àž' à¹àž¡àž·à¹àž­àž¡àžµàžàž²àž£à¹àž£àžµàž¢àžà¹àžà¹àžàž²àž àžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàžàžàž°àžàž¹àžà¹àžà¹à¹àžàž·à¹àž­à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàž¥àž±àžàž©àžàž°àžàžµà¹àžàž£àž²àžàžàžàž­àžàž«àžà¹àž²àžàžµà¹àžªàž£à¹àž²àžàžàž¶à¹àžà¹àž«àž¥à¹àž²àžàžµà¹ àžàž³àžªàž±à¹àžà¹àž«àž¥à¹àž²àžàžµà¹àžàž°àžªà¹àžàžàž¥àžà¹àž­àžªàžŽà¹àžàžà¹àž²àžà¹ à¹àžà¹àž àžàžžà¹àž¡àžàžµà¹àžàž°àžàž£àž²àžàžàžàž¶à¹àžà¹àž¡àž·à¹àž­àž¡àžµàžàž²àž£à¹àžªàžàžà¹àž­àžàžªàž²àž£ à¹àž¥àž°àžàž²àž£à¹àžàž·à¹àž­àž¡à¹àž¢àžàžà¹àž²àžà¹ àžàžµà¹àžàž°à¹àžªàžàžàžàž¶à¹àžà¹àž¡àž·à¹àž­à¹àž£àžµàž¢àžà¹àžà¹àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž DateList àžàž²àž£àžàž±àžàžàž²àžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàžà¹àžà¹àžàžªàžŽà¹àžàžàžµà¹à¹àž¡à¹àžà¹àž²àž¢àžàž±àž àžàžžàžàžàž§àž£àž­à¹àž²àžàžàžàžàžµà¹ 2 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžªàžµàž¢àžà¹àž­àž àžªà¹àž§àžàžàžµà¹àžàž°àžàž¥à¹àž²àž§àžàž¶àžàžàž²àž£àžàž±à¹àžàžà¹àž²àž£àž¹àžà¹àžàž à¹àž¥àž°àž§àžŽàžàžµàžàž²àž£à¹àžà¹àž²àžàž¶àžàžàž²àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž£àžŽà¹àž¡àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹à¹àžàž¢àžàž²àž£àžàž¥àžŽàž "àžàžžàžàž¥àž±àžàž©àžàž°àž£àž¹àžà¹àžàž" àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž£àž¹àžà¹àžàž" </Text>
+<Text id="175">àžàžžàžàžªàž²àž¡àž²àž£àžàžàž£àž°àž¢àžžàžàžà¹à¹àžà¹àžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàžàžàž±àžàžªàžŽà¹àžà¹àžàžà¹à¹àžà¹à¹àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àž "à¹àž¥àž·àž­àžàžàžžàžàž¥àž±àžàž©àžàž°" àžàž¶à¹àžàž£àž§àž¡àžàž¶àžàžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àžà¹àžà¹àž¥àž°àžàž±àž§ à¹àž¥àž°àž£àž²àž¢àžàž²àž£àžàžžàžàž¥àž±àžàž©àžàž°àžàžµà¹àžàž³àž«àžàžàžà¹àž²à¹àž§à¹à¹àž¥à¹àž§ à¹àž¡àž·à¹àž­àžàžžàžà¹àž¥àž·àž­àžàžàžžàžàž¥àž±àžàž©àžàž° àžàž°àž¡àžµàžàž±àž§àžàž§àžàžàžžàž¡àž­àž¢àž¹à¹àžªàž­àžàžàžàžŽàž àžàžžàžàž¥àž±àžàž©àžàž°àžàž²àžàž­àž¢à¹àž²àžàžàž°àžªàž²àž¡àž²àž£àžà¹àžàžŽàžàž«àž£àž·àž­àžàžŽàžà¹àžà¹àžàž²àžà¹àžà¹àž­àž¢à¹àž²àžàžà¹àž²àž¢àžàž²àž¢ à¹àžàž¢àžàž°àžàž¹àžàžàž§àžàžàžžàž¡àžà¹àž§àž¢àžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢ àžàžžàžàž¥àž±àžàž©àžàž°àž­àž·à¹àžà¹ àžà¹àž­àžàžàž²àž£àžàž²àž£àž£àž°àžàžžàžªàžàž£àžŽàžàž£àž¹àžà¹àžàž àžªàž³àž«àž£àž±àžàžàžžàžàž¥àž±àžàž©àžàž°à¹àž«àž¥à¹àž²àžàžµà¹ àžàž°àž¡àžµàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àž ("àžàž­àž¡à¹àžà¹àžàžàžà¹àžàžµà¹à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àž") à¹àžàž·à¹àž­à¹àžà¹à¹àž¥àž·àž­àžàž§à¹àž² àžªà¹àž§àžà¹àžàžàž­àžàžàžžàžàž¥àž±àžàž©àžàž°àžàžµà¹à¹àžà¹àž£àž±àžàžàž¥àžàž²àžàžàž²àž£àžàž£àž°àž¢àžžàžàžà¹à¹àžà¹àžªàžàž£àžŽàž (àžà¹àž²àžàž³à¹àžà¹àž) àžàž·à¹àžàžàžµà¹àžà¹àž­àžàž§àž²àž¡ ("àžªàžàž£àžŽàžàž£àž¹àžà¹àžàž HTML") àžªàž³àž«àž£àž±àžàžàž²àž£à¹àžªà¹àžà¹àž²àžªàžàž£àžŽàž à¹àž¥àž°àžàž²àž£à¹àž¥àž·àž­àž "àžàž±àž§à¹àžàž£"àžàžµà¹àžàž³àž«àžàžàžà¹àž²à¹àž§à¹à¹àž¥à¹àž§ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàž£àžàžàž±àž§à¹àžàž£àž¥àžà¹àžàžªàžàž£àžŽàžàž£àž¹àžà¹àžàž à¹àž«à¹àžàž³àž«àžàžàžàž³à¹àž«àžà¹àžàžàž­àžà¹àžàž­àž£à¹à¹àžàž­àž£à¹à¹àž§à¹àžàžµà¹àžàžžàžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàž£àž à¹àž¥à¹àž§à¹àž¥àž·àž­àžàžàž±àž§à¹àžàž£àžàžµà¹àžà¹àž­àžàžàž²àž£àžàž²àžàžàž¥à¹àž­àžàžàž³àžªàž±à¹àžàžàžªàž¡ <AutoText key="glidict::CDM.FormatManager.Insert_Variable"/></Text>
+<Text id="176">àžàžžàžàžªàž²àž¡àž²àž£àžàž£àž°àžàžžàž£àž¹àžà¹àžàžà¹àž£àžŽà¹àž¡àžà¹àžàžªàž³àž«àž£àž±àžàžàž­àž¡à¹àžà¹àžàžàžà¹à¹àžàžàž²àž°àž­àž¢à¹àž²àžà¹àžà¹à¹àžàž¢àžàž²àž£à¹àž¥àž·àž­àžàžàžžàžàž¥àž±àžàž©àžàž° "àžàžžàžàž¥àž±àžàž©àžàž°àžàž±à¹àžàž«àž¡àž"  àžàž²àžàžàž±à¹àžàž£àž¹àžà¹àžàžàžàžµà¹àžàž°àžàž¹àžàžàž£àž°àž¢àžžàžàžà¹à¹àžà¹àžàž±àžàžàžžàžàž¥àž±àžàž©àžàž°àžàžµà¹àžªàž²àž¡àž²àž£àžà¹àžà¹àžàž²àžà¹àžà¹àžàž±à¹àžàž«àž¡àž à¹àž§à¹àžà¹àžà¹àž§à¹àž²àžàž°àž¡àžµàžàž²àž£àžàž³àž«àžàžàž£àž¹àžà¹àžàžà¹àžàžàž²àž°àžàž¶à¹àžàž¡àž²à¹àžàžàžàžµà¹</Text>
+<Text id="177">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàžà¹àž«àž¡à¹ à¹àž«à¹à¹àž¥àž·àž­àžàžàžžàžàž¥àž±àžàž©àžàž°à¹àž¥àž°àžàž­àž¡à¹àžà¹àžàžàžà¹àžàžµà¹àžªàž²àž¡àž²àž£àžà¹àžà¹àžàž²àžà¹àžà¹ àžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àžàžªàž³àž«àž£àž±àžàžàž³àžªàž±à¹àžàžàžµà¹àžàž°àžàž¹àžà¹àžªàžàžàžà¹àž§àž¢àžªàžµà¹àžàž²  à¹àž«à¹àžàž¥àžŽàž <AutoText key="glidict::CDM.FormatManager.Add"/> à¹àžàž·à¹àž­àžàž³àž«àžàžàžà¹àž²àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž "àžªàžàž£àžŽàžàž£àž¹àžà¹àžàž HTML" àžàž°àžàž¥àž²àž¢à¹àžà¹àžà¹àžàžàžàžµà¹àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžà¹àžà¹ à¹àž¥àž°àžàžžàžàžàž°àžªàž²àž¡àž²àž£àžà¹àžàž¥àžµà¹àž¢àžàžà¹àž²à¹àžà¹àžàž²àž¡àžà¹àž­àžàžàž²àž£ à¹àžàž¢àžàžžàžàžàž°àžªàž²àž¡àž²àž£àžàžàž³àž«àžàžàžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàžà¹àžàžµàž¢àžàž«àžàž¶à¹àžàžàž³àžªàž±à¹àžà¹àž«à¹àžàž±àžàžàž²àž£àž£àž§àž¡àžàž±àžàžàž­àžàžàžžàžàž¥àž±àžàž©àžàž°/àžàž­àž¡à¹àžà¹àžàžàžà¹à¹àžà¹àž¥àž°àžàž±àž§à¹àžà¹àž²àžàž±à¹àž</Text>
+<Text id="178">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàžàž­àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž³àžªàž±à¹àžàž£àž¹àžà¹àžàžàžàž²àžàž£àž²àž¢àžàž²àž£ à¹àž¥àž°àžàž¥àžŽàž "à¹àž­àž²àž£àž¹àžà¹àžàžàž­àž­àž"</Text>
+<Text id="180">àžªàž³àž«àž£àž±àžàžà¹àž­àž¡àž¹àž¥à¹àžàžŽà¹àž¡à¹àžàžŽàž¡à¹àžàžµà¹àž¢àž§àžàž±àžàžàž±àž§à¹àžàž¥ à¹àž¥àž°àžàž­àž¡à¹àžà¹àžàžàžà¹àžàžžàžàž¥àž±àžàž©àžàž° à¹àž«à¹àž­à¹àž²àžàžàžàžàžµà¹ 2 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž</Text>
+</Section>
+<Section name="translatetext">
+<Title>
+<Text id="182">à¹àžàž¥àžà¹àž­àžàž§àž²àž¡</Text>
+</Title>
+<Text id="183">àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž¡àžžàž¡àž¡àž­àžàžàž²àž£à¹àžàž¥ àžàžµà¹àžàž¶à¹àžàžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàž¥àžàžŽà¹àžàžªà¹àž§àžàžàž­àžàžà¹àž­àžàž§àž²àž¡à¹àžàž«àž¥àž²àž¢à¹ àžªà¹àž§àžàžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžà¹àžàž àž²àž©àž²àž­àž·à¹àžà¹àžà¹ àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹à¹àžàž¢àžàž¥àžŽàž "à¹àžàž¥àžà¹àž­àžàž§àž²àž¡" àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž£àž¹àžà¹àžàž"</Text>
+<Text id="184">à¹àžàžàž±à¹àžà¹àž£àž à¹àž«à¹à¹àž¥àž·àž­àžàž£àž²àž¢àžàž²àž£àžàž²àžàž£àž²àž¢àžàž²àž£ "àžàžžàžàž¥àž±àžàž©àžàž°"  àžªàžàž£àžŽàžàž£àž°àžàžžàž àž²àž©àž²àžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàžžàžàž¥àž±àžàž©àžàž°àžàžµà¹àžàž°àžàž£àž²àžàžàžàž¶à¹àžàžà¹àž²àžàž¥à¹àž²àž à¹àž«à¹à¹àžà¹àž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àž "àž àž²àž©àž²àžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàž¥" à¹àžàž·à¹àž­à¹àž¥àž·àž­àžàž àž²àž©àž²à¹àžà¹àž²àž«àž¡àž²àž¢ à¹àž¥àž°àžàžŽàž¡àžà¹àžà¹àž­àžàž§àž²àž¡àžàžµà¹à¹àžàž¥à¹àž¥à¹àž§àž¥àžà¹àžàžàž·à¹àžàžàžµà¹àžà¹àž­àžàž§àž²àž¡ à¹àžàž¢àžàž²àž£àž­à¹àž²àžàžàž¶àž "àžªà¹àž§àžàžàž­àžàžà¹àž­àžàž§àž²àž¡àžàž±à¹àžàžà¹àž" àžà¹àž²àžàž³à¹àžà¹àž à¹àž¡àž·à¹àž­àžàž³àžàž²àž£à¹àžàž¥à¹àžªàž£à¹àžà¹àž£àžµàž¢àžàž£à¹àž­àž¢à¹àž¥à¹àž§ à¹àž«à¹àžàž¥àžŽàžàžàžµà¹ "à¹àžàžŽà¹àž¡àžàž³à¹àžàž¥" </Text>
+<Text id="185">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àžàž³à¹àžàž¥àžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§àž­àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž³à¹àžàž¥àžàž±à¹àžà¹àžàžàž²àž£àž²àž "àžàž³à¹àžàž¥àžàžµà¹àžàž³àž«àžàž" à¹àž¥àž°àžàž¥àžŽàž "à¹àž­àž²àžàž³à¹àžàž¥àž­àž­àž"</Text>
+<Text id="186">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžà¹à¹àžàžàž³à¹àžàž¥ à¹àž«à¹à¹àž¥àž·àž­àžàžàž³à¹àžàž¥àžàž±à¹àž àžàž³àžàž²àž£à¹àžà¹à¹àžàžàž£àžŽà¹àž§àž "àžà¹àž­àžàž§àž²àž¡àžàžµà¹à¹àžàž¥à¹àž¥à¹àž§" à¹àž¥àž°àžàž¥àžŽàž "à¹àžàžàžàžµà¹àžàž³à¹àžàž¥"</Text>
+</Section>
+<Section name="xcollectionsearching">
+<Title>
+<Text id="161">àžàž²àž£àžà¹àžàž«àž²àžà¹àž²àž¡àžàž­àž¥à¹àž¥àžàžàž±àž</Text>
+</Title>
+<Text id="162">à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžªàž²àž¡àž²àž£àžàžà¹àžàž«àž²àžà¹àž­àž¡àž¹àž¥àžà¹àž²àž¡àžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àžàžàžà¹àž²àžàžàž±àžàž«àž¥àž²àž¢àžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àž£àž²àž§àžàž±àžà¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàžµàž¢àž§àžàž±àž àžàž¶à¹àžàžªàž²àž¡àž²àž£àžàžàž³à¹àžà¹àžà¹àž§àž¢àžàž²àž£àž£àž°àžàžžàž£àž²àž¢àžàž²àž£àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž­àž·à¹àžà¹ àžàžµà¹àžàž°àžà¹àžàž«àž²à¹àžà¹àž²àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±àžàžàžžàžàž±àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£ à¹àž«à¹àžàž¥àžŽàž "àžà¹àžàž«àž²àžà¹àž²àž¡àžàž­àž¥à¹àž¥àžàžàž±àž" àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž£àž¹àžà¹àžàž" </Text>
+<Text id="163">àžªà¹àž§àžàžàž§àžàžàžžàž¡àžàž²àž£àžà¹àžàž«àž²àžà¹àž²àž¡àžàž­àž¥à¹àž¥àžàžàž±àžàžàž°à¹àžªàžàžàž£àž²àž¢àžàž²àž£àžàž£àž§àžàžªàž­àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹ àžàž­àž¥à¹àž¥àžàžàž±àžàžàž±àžàžàžžàžàž±àžàžàž°àžàž¹àžàžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àž§à¹à¹àž¥àž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¢àžà¹àž¥àžŽàžàžàž²àž£à¹àž¥àž·àž­àžà¹àžà¹ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàž­àž¥à¹àž¥àžàžàž±àžàž­àž·à¹àžà¹àžàž·à¹àž­à¹àž«à¹àž£àž°àžàžàžàž³àžàž²àž£àžà¹àžàž«àž²à¹àžàžàž£à¹àž­àž¡àžàž±àž à¹àž«à¹àžàž¥àžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž£àž²àž¢àžàž²àž£ (àžàž¥àžŽàžàž­àžµàžàžàž£àž±à¹àžà¹àžàž·à¹àž­à¹àž­àž²àžàž­àž¥à¹àž¥àžàžàž±àžàž­àž­àž) àž«àž²àžàžàžžàžà¹àž¥àž·àž­àžà¹àžàžµàž¢àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàžµàž¢àž§ àžàž°à¹àž¡à¹àž¡àžµàžàž²àž£àžà¹àžàž«àž²àžà¹àž²àž¡àžàž­àž¥à¹àž¥àžàžàž±àž</Text>
+<Text id="164">àžà¹àž²àžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àž¥àž°àžàž­àž¥à¹àž¥àžàžàž±àžà¹àž¡à¹àž¡àžµàžàž±àžàžàžµàžàž±àž§à¹àžàžµàž¢àž§àžàž±àž (àž£àž§àž¡àžàž¶àžàžàž²àž£à¹àžàžŽàžàž±àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢à¹àž¥àž°àžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²) àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±àž§àž­àž·à¹àž àžàž²àž£àžà¹àžàž«àž²àžà¹àž²àž¡àžàž­àž¥à¹àž¥àžàžàž±àžàžàž°àžàž³àžàž²àžà¹àž¡à¹àžàžàžàžŽ àžàž¹à¹à¹àžà¹àžªàž²àž¡àž²àž£àžàžàž³à¹àžà¹à¹àžàžµàž¢àžàžà¹àžàž«àž²à¹àžàž¢à¹àžà¹àžàž±àžàžàžµàžàžµà¹àž¡àžµà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àžàž«àž¡àžà¹àžà¹àž²àžàž±à¹àž</Text>
+<Text id="165">àžªàž³àž«àž£àž±àžàžà¹àž­àž¡àž¹àž¥à¹àžàžŽà¹àž¡à¹àžàžŽàž¡ à¹àž«à¹àžàž¹àžàžàžàžµà¹ 1 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž</Text>
+</Section>
+<Section name="collectionspecificmacros">
+<Title>
+<Text id="fc-m1">à¹àž¡à¹àžàž£à¹àžàžàž²àž°àžàž­àž¥à¹àž¥àžàžàž±àž</Text>
+</Title>
+<Text id="fc-m2">àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž£àž¹àžà¹àžàž" à¹àž«à¹àžàž¥àžŽàžàžàžµà¹ "à¹àž¡à¹àžàž£à¹àžàžàž²àž°àžàž­àž¥à¹àž¥àžàžàž±àž"</Text>
+<Text id="fc-m3">àž¡àžžàž¡àž¡àž­àžàžàžµà¹àžàž°à¹àžªàžàžà¹àžàž·à¹àž­àž«àž²à¹àžà¹àž¡à¹àž¡à¹àžàž£ extra.dm àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž àžàž¶à¹àžà¹àžà¹àžàžàžµà¹àžàžŽàž¢àž²àž¡à¹àž¡à¹àžàž£àžàžµà¹à¹àžà¹à¹àžàžàž²àž°à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž£àžµàž¢àžàž£àž¹à¹à¹àžàžŽà¹àž¡à¹àžàžŽàž¡à¹àžàžµà¹àž¢àž§àžàž±àžà¹àž¡à¹àžàž£ àžàž£àžžàžàž²àžàž¹àžàžàžàžµà¹ 3 à¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž</Text>
+</Section>
+<Section name="depositormetadatasettings">
+<Title>
+<Text id="dm-1">Depositor Metadata</Text>
+</Title>
+<Text id="dm-2">Depositor àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžà¹àž§àž¢à¹àž«à¹àžàž¹à¹à¹àžà¹àžªàž²àž¡àž²àž£àžà¹àžàžŽà¹àž¡à¹àž­àžàžªàž²àž£à¹àž«àž¡à¹à¹àžà¹àž²à¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§àžà¹àž²àžàž«àžà¹àž²à¹àž§à¹àžà¹àžà¹ àžªà¹àž§àžàžàžµà¹àžàž°à¹àžªàžàžàž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžàžàž­àžàžàž²àžàž«àžà¹àž²àžà¹àž²àž Depositor Metadata àžàžµà¹àžàž¶à¹àžàžàžžàžàžªàž²àž¡àž²àž£àžàž£àž°àžàžžà¹àžàžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž§àž£àžàž°à¹àžà¹à¹àžàžàž²àž£àžàž£àž£àž¢àž²àž¢à¹àž­àžàžªàž²àž£à¹àž«àž¡à¹àžàž­àžàžàžžàžàžàžµà¹à¹àžàžŽà¹àž¡à¹àžà¹àž²àž¡àž²à¹àžàž£àž°àžàžàžà¹àž§àž¢ Depositor à¹àžà¹ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžà¹àžà¹àžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžà¹ àžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àžàžàž±àžàžàžžàžàž±àžà¹àžà¹ àž«àž²àžà¹àž¡à¹àž¡àžµà¹àž¡àžàž²àžàž²àžàž²àžàžžàžàž­àž·à¹àžàžàž­àžàžàž²àž "àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžà¹àžàž²àžàžàž²àž£àžàž±àžàžàž­àžàžàž­àžàžàž£àžµàžàžªà¹àžàž" àžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹ àž£àž°àžàžàžàž°àžàž³àž«àžàžà¹àžà¹ "àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž­àžàžàž±àžàž¥àžŽàžàžàž­àž£à¹" à¹àžà¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžšàž¶àžàž©àž²àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžà¹àžàžŽà¹àž¡à¹àžàžŽàž¡à¹àžàžµà¹àž¢àž§àžàž±àž Depositor à¹àž«à¹àžàž¹à¹àžàžàžàž¶àžàž«àž±àžàžªàž­àžàžàž²àž£à¹àžà¹àžàž²àžà¹àžàžàž­àž­àžà¹àž¥àžà¹à¹àžà¹àžàžµà¹ http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/depositor.htm à¹àžàž¢àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž£àž¹àžà¹àžàž" à¹àž«à¹àžàž¥àžŽàž "Depositor Metadata"</Text>
+<Text id="dm-3">àžàž²àžàž«àžà¹àž²àžà¹àž²àž Depositor Metadata àžàž°à¹àžªàžàžàž£àž²àž¢àžàž²àž£àžàž£àž§àžàžªàž­àžàžàž­àžà¹àžàžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹ àž«àž²àžàž¡àžµàžàž³àžàž§àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àž¡àž²àžàžàž§à¹àž²àž«àžàž¶à¹àžàžàžžàžàžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àž àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžàž¥à¹à¹àžàžµàž¢àžàžàž±àžàžàž°à¹àžªàžàžàžàž¶à¹àžàžà¹àž§àž¢àžªàžµàžàžµà¹àžà¹àž²àžàžàž±àž àž«àž²àžàžàžžàžà¹àžàž¥àž·à¹àž­àžà¹àž¡àž²àžªà¹à¹àž«àžàž·àž­àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àžàž­àžà¹àž¡àžàž²àžàž²àžàž² à¹àžàž¥à¹àžàž¥àž±àžà¹àžàž£àž·à¹àž­àžàž¡àž·àž­àžàž°àžàž£àž²àžàžàžàž¶à¹àžàžàž£à¹àž­àž¡àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžàžàž­àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àžàž±à¹àž </Text>
+<Text id="dm-4">àžàž£àž§àžàžªàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£à¹àžà¹à¹àžàžàž²àž£àžàž£àž£àž¢àž²àž¢à¹àž­àžàžªàž²àž£à¹àž«àž¡à¹à¹àž¡àž·à¹àž­àžàžžàžàžàž³à¹àžà¹àž²à¹àž­àžàžªàž²àž£à¹àž«àž¡à¹àžà¹àž§àž¢ Depositor àž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àžàžàž£à¹àž­àž¡àžàž±àž§à¹àž¥àž·àž­àžàžªàž­àžàžàž±àž§àžàž°àžàž£àž²àžàžàžàž¶à¹àžàžàž²àžàžàž§àž²àž¡àž·àž­àž«àž¥àž±àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àžàžµà¹à¹àžà¹àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àž§à¹ àžàž¶à¹àžàžàž°àžà¹àž§àž¢à¹àž«à¹àžàžžàžàžªàž²àž¡àž²àž£àžàž£àž°àžàžžàžàžàžŽàžàžàž­àžàžàž¥à¹àž­àžàžàž³à¹àžà¹àž²àžà¹àž­àž¡àž¹àž¥àžªàž³àž«àž£àž±àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢à¹àžàž«àžà¹àž²à¹àž§à¹àžà¹àžà¹ àžàž²àž£àž£àž°àžàžžàžàžàžŽàžà¹àžà¹àž "text" àž«àž¡àž²àž¢àžàž§àž²àž¡àž§à¹àž² àž£àž°àžàžàžàž°à¹àžªàžàžàžàž¥à¹àž­àžàžàž³à¹àžà¹àž²àžà¹àž­àž¡àž¹àž¥à¹àžàžàž«àžàž¶à¹àžàžàž£àž£àžàž±àž à¹àžàžàžàž°àžàžµà¹ "textarea" àž«àž¡àž²àž¢àžàž§àž²àž¡àž§à¹àž² àž£àž°àžàžàžàž°à¹àžªàžàžàžàž¥à¹àž­àžàžàž³à¹àžà¹àž²àžà¹àž­àž¡àž¹àž¥à¹àžàžàž«àž¥àž²àž¢àžàž£àž£àžàž±àž àžàž£àžžàžàž²à¹àž¥àž·àž­àžàžàžàžŽàžàžàž­àžàžàž¥à¹àž­àžàžàž³à¹àžà¹àž²àžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡àžàž±àžà¹àžà¹àž¥àž°à¹àžàžàžà¹àž­àž¡àž¹àž¥</Text>
+<Text id="dm-5">àžàžžàžàžàž°àžà¹àž­àžà¹àž¥àž·àž­àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àž­àž¢à¹àž²àžàžà¹àž­àž¢àž«àžàž¶à¹àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥ àž«àž²àžàž¡àžµàžàž²àž£à¹àž¥àž·àž­àžà¹àžàžµàž¢àžàž«àžàž¶à¹àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢à¹àžàž£àž²àž¢àžàž²àž£ àž£àž°àžàžàžàž°à¹àžªàžàžàžà¹àž­àžàž§àž²àž¡à¹àžàž·àž­àžà¹àžàžàžà¹àž­àžàž­àž±àž: <AutoText key="glidict::CDM.DepositorMetadataManager.Warning"/> à¹àž¡àž·à¹àž­àžàžžàžà¹àž­àž²àžàž±àž§à¹àž¥àž·àž­àžàž­àž­àž</Text>
+</Section>
+</Section>
+<Section name="miscellaneous">
+<Title>
+<Text id="202">à¹àžà¹àžà¹àžàž¥à¹àž</Text>
+</Title>
+<Text id="203">àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàžžàžàž¥àž±àžàž©àžàž°àžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàžµà¹à¹àž¡à¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàž¡àžžàž¡àž¡àž­àžàžàžŽà¹àžšàž©à¹àžà¹</Text>
+<Section name="preferences">
+<Title>
+<Text id="204">àžàž³àž«àžàžàž¥àž±àžàž©àžàž°</Text>
+</Title>
+<Text id="205">àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¥à¹àž­àžà¹àžà¹àžàž­àžàžàž²àž£àžàž³àž«àžàžàž¥àž±àžàž©àžàž° àžàž¶à¹àžàžªàž²àž¡àž²àž£àžà¹àžà¹àž²àžàž¶àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£à¹àžàžŽàž "à¹àžà¹àž¡" -> "àžàž³àž«àžàžàž¥àž±àžàž©àžàž°"</Text>
+<Text id="206">àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàžŽàžàž«àžà¹àž²àžà¹àž²àžàžàž³àž«àžàžàž¥àž±àžàž©àžàž°à¹àžà¹àžàžµà¹à¹àžà¹àž"àžàž±à¹àž§à¹àž"  àžàž±àž§à¹àž¥àž·àž­àžàžàž±àž§à¹àž£àžà¹àžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž­àžàž§àž²àž¡àžªàž³àž«àž£àž±àžà¹àžªà¹àžàžµà¹àž­àž¢àž¹à¹àž­àžµà¹àž¡àž¥àžàž­àžàžàžžàž àžà¹àž²àžàžµà¹àžàž°à¹àžà¹àžªàž³àž«àž£àž±àžàž£àž²àž¢àžàž²àž£à¹àž¡àžàž²àžàž²àžàž²àžàž­àž¥à¹àž¥àžàžàž±àž "àžàž¹à¹àžªàž£à¹àž²àž" à¹àž¥àž° "àžàž¹à¹àžàž¹à¹àž¥àž£àž°àžàž" àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹ àžàž±àž§à¹àž¥àž·àž­àžàžàž±àžà¹àžà¹àžà¹àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àžàžàž­àžàž àž²àž©àž²àžàž¶à¹àžàžàž°à¹àžà¹àžàž àž²àž©àž²àžàžµà¹àžàž£àž²àžàžà¹àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ àžà¹àž²àžàžžàžà¹àžàž¥àžµà¹àž¢àžàžàžàžàž²àžàžžàžàž£àž¡àžà¹àž§àž¢àžàž²àž£à¹àž¥àž·àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£ àžàžžàžàžàž°àžà¹àž­àžà¹àž£àžŽà¹àž¡àžà¹àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹à¹àž«àž¡à¹à¹àžàž·à¹àž­àžàž³àžàž²àž£à¹àž«àž¥àžàžªàžàž£àžŽàžàž àž²àž©àž²à¹àž«àž¡à¹àžàž²àžàžàžàžàž²àžàžžàžàž£àž¡</Text>
+<Text id="207">àžà¹àž²àžàžžàžà¹àžà¹à¹àž¥àž·àž­àž "àžàž¹à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž±àžàžàž­àž" à¹àž¥à¹àž§ àžàž±àž§àžàž§àžàžàžžàž¡àžà¹àž²àžà¹ àžàžµà¹àžàž³àžàž²àžà¹àžàžµà¹àž¢àž§à¹àžàž·à¹àž­àžàžàž±àžà¹àž¡àžàž²àžàž²àžàž²àžàž°à¹àžªàžàžà¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžàž«àž¡àžàžàžµà¹àžàž±àžàžàž­àžàž­àž­àžàž¡àž²àžàž²àžà¹àž­àžàžªàž²àž£à¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽà¹àžªàž¡àž­  àžàž²àž£à¹àž¡à¹à¹àž¥àž·àž­àžàžàž±àž§à¹àž¥àž·àž­àžàžàžµà¹àžàž°à¹àžà¹àžàžàž²àž£àžà¹àž­àžà¹àž¡àžàž²àžàž²àžàž²àžàž±àžàžàž¥à¹àž²àž§ (àž­àž¢à¹àž²àžà¹àž£àžà¹àžàž²àž¡ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹à¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¥à¹àž²àžàžµà¹à¹àžà¹àž£àž°àž«àž§à¹àž²àžàžàž²àž£àž­àž­àžà¹àžàžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àž¥àž°àž àž²àž¢à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžªàžžàžàžà¹àž²àž¢àžàž­àžàžàž£àžµàžàžªà¹àžàž) àžà¹àž²àžàžžàžà¹àžà¹à¹àž¥àž·àž­àž "à¹àžªàžàžàžàžàž²àžà¹àžà¹àž¡" àžàžàž²àžàžàž­àžà¹àžà¹àž¡àžàž°à¹àžªàžàžàžàž¶à¹àžàžàž±àžàžàž²àžà¹àžà¹àž¡à¹àžà¹àž¥àž°à¹àžà¹àž¡à¹àžàžàž·à¹àžàžàžµà¹àžàž³àžàž²àž à¹àž¥àž°à¹àžàžàž àž¹àž¡àžŽà¹àžà¹àž¡àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž¡àžžàž¡àž¡àž­àž "àž£àž§àžàž£àž§àž¡" à¹àž¥àž°àž¡àžžàž¡àž¡àž­àž "à¹àž¡àžàž²àžàž²àžàž²"</Text>
+<Text id="208">à¹àžà¹àž"à¹àž«àž¡àž" à¹àžà¹àžªàž³àž«àž£àž±àžàžàž§àžàžàžžàž¡àž£àž°àžàž±àžàžàž­àžàž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžàž àž²àž¢à¹àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹ à¹àžàžàž²àž£àžàž±à¹àžàžà¹àž²à¹àžàžàžà¹àž³àžªàžžàž àžàž¶à¹àžàžàž·àž­"àžàž¹à¹àžà¹àž§àž¢àž«à¹àž­àžàžªàž¡àžžàž"àžàž±à¹àž àž¡àžžàž¡àž¡àž­àžàžàž²àž£àž­àž­àžà¹àžàžàžàž°àžàž¹àžàžàžŽàžà¹àžà¹àžàž²àž àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžàžµà¹àžà¹àž­àžàžàž²àž£àžàžŽàžàžàžà¹àžàžàžàžŽàžàž°àžàž¹àžàžà¹àž­àžà¹àž§à¹ à¹àž¥àž°àžàž£àž°àžàž§àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž°àžªàž£à¹àž²àžà¹àžà¹àž¡àžàž±àžàžàž¶àžàžàž­àžà¹àž«àžàžžàžàž²àž£àžà¹àž­àž¢à¹àž²àžàžªàž±à¹àž à¹àžàžàž²àžàžàž¥àž±àžàžàž±àž àžàž²àž£àžàž±à¹àžàžà¹àž²à¹àžàžàžªàž¹àžàžªàžžàž àžàž¶à¹àžàžàž·àž­ "àžàž¹à¹àžàž³àžàž²àžàžàž²àž£" àžàž°àžà¹àž§àž¢à¹àž«à¹àžàž¹à¹à¹àžà¹àžªàž²àž¡àž²àž£àžà¹àžà¹àž²àžàž¶àžàžàžžàžàž¥àž±àžàž©àžàž°àžàž­àžàžàž²àž£àž­àž­àžà¹àžàžàžàž±à¹àžàž«àž¡àž àž£àž§àž¡àžàž¶àžàžàž²àž£àžàž±àžàžàž³à¹àž«àžà¹àžàžàž¥àž±à¹àžàž­àžŽàž à¹àž¥àž°àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžàžŽàžàžàžà¹àžàžàžàžŽ àž£àž§àž¡àžàž±à¹àžàž­àžàžžàžàž²àžà¹àž«à¹àž¡àžµàžàž²àž£àžàž±àžàžàž¶àžàžàž¥àž¥àž±àžàžà¹à¹àžàžà¹àžà¹àž¡àžàž²àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¥àžà¹àžà¹àžà¹àž¡àžàž±àžàžàž¶àžàžà¹àž§àž¢ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàž¥àžµà¹àž¢àžàž«àž£àž·àž­àžàž£àž§àžàžàž²àžà¹àž«àž¡àž à¹àž«à¹àžàž¥àžŽàžàžàžžà¹àž¡àžàž±àž§à¹àž¥àž·àž­àžàžàžµà¹àž­àž¢àž¹à¹àž«àžà¹àž²à¹àž«àž¡àžàžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£  àžàžžàžàžªàž²àž¡àž²àž£àžàžàž£àž§àžàžàž²àžà¹àžà¹àž­àž¢à¹àž²àžàž£àž§àžà¹àž£à¹àž§àž§à¹àž²àžàžžàžàžàž³àž¥àž±àžàžàž³àžàž²àžàž­àž¢àž¹à¹à¹àžà¹àž«àž¡àžà¹àžàžà¹àž§àž¢àžàž²àž£àžàž¹à¹àžàžàžàž·à¹àž­àžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹</Text>
+<Text id="210">à¹àžà¹àž"àžàž²àž£à¹àžàž·à¹àž­àž¡àžà¹àž­"àžàž°àžà¹àž§àž¢à¹àž«à¹àžàžžàžàžªàž²àž¡àž²àž£àžàžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžà¹àžªà¹àžàžàž²àžà¹àžàž¢àž±àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹àž«à¹àž­àžàžªàž¡àžžàžàžàž£àžµàžàžªà¹àžàžàžàžµà¹àžàž³àžàž²àžà¹àžà¹àžàž£àž·à¹àž­àžà¹àžà¹ àžàž¶à¹àžàžàž°àžàž¹àžà¹àžà¹à¹àž¡àž·à¹àž­à¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àžà¹àžàžàž²àž£à¹àžàž·à¹àž­àž¡àžà¹àž­àžàžµà¹àž¢àž±àžàžà¹àž§àž¢à¹àž«à¹àžàžžàžàžªàž²àž¡àž²àž£àžàžàž±à¹àžàžà¹àž²àžà¹àž­àž¡àž¹àž¥àžàž£à¹àž­àžàžàžµàžªàž³àž«àž£àž±àžà¹àžàž·à¹àž­àž¡àžà¹àž­à¹àžàž¢àž±àžàž­àžŽàžà¹àžàž­àž£à¹à¹àžà¹àžà¹àžà¹ (à¹àžà¹àž à¹àž¡àž·à¹àž­àžàž²àž§àžà¹à¹àž«àž¥àžà¹àžà¹àž¡ à¹àžàž¢àžªàž²àž¡àž²àž£àžàžàž¹àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžà¹àžàžŽà¹àž¡à¹àžàžŽàž¡à¹àžà¹àžàžµà¹àžªà¹àž§àž <Reference target="downloadingfiles"/>) à¹àž«à¹àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàžµà¹àžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àžàž·à¹àž­à¹àžàžŽàžà¹àžà¹àžàž²àžàžàž²àž£à¹àžàž·à¹àž­àž¡àžà¹àž­àžàž£à¹àž­àžàžàžµ à¹àž¥àž°à¹àž«à¹àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžà¹àžàžµà¹àž¢àž§àžàž±àžàžàžµà¹àž­àž¢àž¹à¹à¹àž®àžªàžà¹àžàž£à¹àž­àžàžàžµà¹àž¥àž°àž«àž¡àž²àž¢à¹àž¥àžàžàž­àž£à¹àž àžàž²àž£à¹àžàž·à¹àž­àž¡àžà¹àž­àžàž°àžàž¹àžàžªàž£à¹àž²àžàžàž¶à¹àžà¹àž¡àž·à¹àž­àžàžžàžàžàžŽàžàžàž¥à¹àž­àžà¹àžà¹àžàž­àž "àžàž³àž«àžàžàž¥àž±àžàž©àžàž°"</Text>
+<Text id="211">àž£àž°àž«àž§à¹àž²àžàžà¹àž§àžà¹àž§àž¥àž²àžàž­àžà¹àžàžªàžàž±àž àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àž­àž²àžà¹àžªàžàžàžà¹àž­àžàž§àž²àž¡à¹àžàž·àž­àžà¹àžàžµà¹àž¢àž§àžàž±àžàžàž¥àžàž²àž£àžàž£àž°àžàž³àžàžµà¹àžàžžàžàž­àž²àžàžàž°à¹àž¡à¹à¹àžàž¢à¹àž«à¹àžàž¡àž²àžà¹àž­àž àžàžžàžàžªàž²àž¡àž²àž£àžàžàžŽàžàžàž²àž£à¹àžà¹àžàž²àžàžà¹àž­àžàž§àž²àž¡àžàžµà¹à¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžàžàžµà¹àžàž¥à¹àž­àž "à¹àž¡à¹àžà¹àž­àžà¹àžªàžàžàžà¹àž­àžàž§àž²àž¡à¹àžàž·àž­àžàžàžµà¹àž­àžµàž" àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàžŽàžà¹àžà¹àžàž²àžàžà¹àž­àžàž§àž²àž¡à¹àžàž·àž­àžà¹àžà¹àž­àžµàžàžàž£àž±à¹àžàžà¹àž§àž¢àžàž²àž£à¹àžà¹à¹àžà¹àž "àžàž³à¹àžàž·àž­àž"  à¹àž«à¹àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàžµà¹àžàž¥à¹àž­àžàžàž¶à¹àžàž­àž¢àž¹à¹àž«àžà¹àž²àžà¹àž­àžàž§àž²àž¡à¹àžàž·àž­àžàžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£à¹àž«à¹àžàž­àžµàžàžàž£àž±à¹àž</Text>
+</Section>
+<Section name="fileassociations">
+<Title>
+<Text id="212">àžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹àžàž­àžà¹àžà¹àž¡</Text>
+</Title>
+<Text id="213">àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž°à¹àžà¹à¹àžàž£à¹àžàž£àž¡àžàž£àž°àž¢àžžàžàžà¹à¹àžàžàž²àž°à¹àžàž·à¹àž­à¹àžàžŽàžà¹àžà¹àž¡àžàžàžŽàžàžàžŽà¹àžšàž© à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžàžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹àžàž­àžà¹àžà¹àž¡ à¹àž«à¹à¹àžàžŽàžà¹àž¡àžàž¹ "à¹àžà¹àž¡" à¹àž¥àž°àžàž¥àžŽàž "àžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹àžàž­àžà¹àžà¹àž¡âŠ"</Text>
+<Text id="214">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹àžàž­àžà¹àžà¹àž¡ à¹àž«à¹à¹àž¥àž·àž­àžàžàž²àž¡àžªàžàžžàž¥à¹àžà¹àž¡à¹àžà¹àž²àž«àž¡àž²àž¢àžàž²àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àž àž«àž£àž·àž­àžàžŽàž¡àžà¹àžàž²àž¡àžªàžàžžàž¥à¹àž«àž¡à¹ (à¹àžàž¢à¹àž¡à¹àžà¹àž­àžà¹àžªà¹ ".") àžàž²àžàžàž±à¹àžàžàžŽàž¡àžà¹àžàž³àžªàž±à¹àžà¹àžàž·à¹àž­à¹àžàžŽàžà¹àžà¹à¹àžàž£à¹àžàž£àž¡àžàž£àž°àž¢àžžàžàžà¹àžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡ àž«àž£àž·àž­à¹àž¥àž·àž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àž°àž¢àžžàžàžà¹àžàž²àžàžàž¥à¹àž­àžà¹àžà¹àžàž­àž "à¹àž£àžµàž¢àžàžàž¹"  àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹ "%1" à¹àžàžàž³àžªàž±à¹àžà¹àž£àžµàž¢àžà¹àžà¹à¹àžàž·à¹àž­à¹àžàž£àžàžàž·à¹àž­àžàž­àžà¹àžà¹àž¡àžàžµà¹àžàž³àž¥àž±àžà¹àžàžŽàžàž­àž¢àž¹à¹à¹àžà¹ à¹àž¡àž·à¹àž­àž¡àžµàžàž²àž£àžàž£àž­àžàžà¹àž­àž¡àž¹àž¥àž¥àžà¹àžà¹àž¥à¹àž§ àžàžžà¹àž¡ "à¹àžàžŽà¹àž¡" àžàž°à¹àžàžŽàžà¹àžà¹àžàž²àž à¹àž¥àž°àžàžžàžàžªàž²àž¡àž²àž£àžàžàž¥àžŽàžà¹àžàž·à¹àž­à¹àžàžŽà¹àž¡àžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹à¹àžà¹</Text>
+<Text id="215">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžà¹à¹àžàžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹ à¹àž«à¹à¹àž¥àž·àž­àžàžàž²àž¡àžªàžàžžàž¥à¹àžà¹àž¡àžàžµà¹àž¡àžµàž­àž¢àž¹à¹ àžàž³àžªàž±à¹àžàžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹àžàž°àžàž£àž²àžàžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥ "àžàž³àžªàž±à¹àžà¹àž£àžµàž¢àžà¹àžà¹" àžàž²àžàžàž±à¹àžà¹àž«à¹àžàžžàžàžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹à¹àžàžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹ à¹àž¥à¹àž§àžàž¥àžŽàž "à¹àžàžàžàžµà¹"</Text>
+<Text id="216">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹àžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§àž­àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž²àž¡àžªàžàžžàž¥àžàž­àžà¹àžà¹àž¡àžàžµà¹àž¡àžµàž­àž¢àž¹à¹ à¹àž¥àž°àžàž¥àžŽàž "à¹àž­àž²àž­àž­àž"   </Text>
+<Text id="217">àžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹àžàž­àžà¹àžà¹àž¡àžàž°àžàž¹àžà¹àžà¹àžà¹àž§à¹à¹àžà¹àžàž¥à¹àžàž­àž£à¹àž«àž¥àž±àžàžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ à¹àžà¹àžà¹àž¡àžàžµà¹àžàž·à¹àž­àž§à¹àž² "associations.xml"</Text>
+</Section>
+<Section name="exporting">
+<Title>
+<Text id="exp-1">àžàž²àž£àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžà¹àžàž£àž¹àžà¹àžàžàž­àž·à¹àž</Text>
+</Title>
+<Text id="exp-2">à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžªàž²àž¡àž²àž£àžàžªà¹àžàž­àž­àžà¹àžàž·à¹àž­àž«àž² à¹àž¥àž°/àž«àž£àž·àž­ à¹àž¡àžàž²àžàž²àžàž²àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžà¹àžàž£àž¹àžà¹àžàžàž¡àž²àžàž£àžàž²àžàž­àž·à¹àžà¹ à¹àžà¹ àž£àž§àž¡àžàž±à¹àž METS, DSpace à¹àž¥àž° MARCXML</Text>
+<Text id="exp-3">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž«àžàž¶à¹àžàž«àž£àž·àž­àž«àž¥àž²àž¢àžàž­àž¥à¹àž¥àžàžàž±àž à¹àž«à¹à¹àžàžŽàžà¹àž¡àžàž¹ "à¹àžà¹àž¡" à¹àž¥àž°à¹àž¥àž·àž­àž "àžªà¹àžàž­àž­àž..." àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžàž£àž¹àžà¹àžàžàžàžµà¹àžà¹àž­àžàžàž²àž£àžªà¹àžàž­àž­àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£à¹àž¥àž·àž­àžàž£àž¹àžà¹àžàžàžàž²àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àž "àžªà¹àžàž­àž­àžà¹àžàž¢àž±àž" àžàž²àžàžàž±à¹àžà¹àž«à¹àžàž³àž«àžàžàžàž·à¹àž­àžªàž³àž«àž£àž±àžà¹àžà¹àž£àžàžàž­àž£àžµà¹àžà¹àž²àž«àž¡àž²àž¢àžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£à¹àžà¹àžà¹àžà¹àž¡àžàžµà¹àžªà¹àžàž­àž­àž&mdash; à¹àžàž¢à¹àžà¹àž¡àžàž°àž­àž¢àž¹à¹à¹àž &lt;à¹àžªà¹àžàžàž²àžà¹àžàž¢àž±àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž&gt;/tmp/exported_xxx à¹àžàž¢ xxx à¹àžà¹àžàžàž·à¹àž­àžàžµà¹àžàžžàžàž£àž°àžàžžà¹àž§à¹ à¹àž«à¹à¹àž¥àž·àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž­àž¢à¹àž²àžàžà¹àž­àž¢àž«àžàž¶à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž²àžàž£àž²àž¢àžàž²àž£àžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž¡àžµ àžàž²àžàžàž±à¹àžàžàž¥àžŽàž "àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àž"</Text>
+<Text id="exp-4">àž¢àž±àžàž¡àžµàžàž±àž§à¹àž¥àž·àž­àžàž­àž·à¹àžà¹ àžàžµà¹à¹àžàžàž²àž°à¹àžàž²àž°àžàžàžàž±àžàž£àž¹àžà¹àžàžàž­àž·à¹àžà¹ àž­àžµàž àžàžžàžàžªàž²àž¡àž²àž£àžàž£àž°àžàžžà¹àžà¹àž¡ XSLT àžàž¶à¹àžàžàž°àžàž¹àžàžàž£àž°àž¢àžžàžàžà¹à¹àžà¹àžàž±àžà¹àž­àžàžªàž²àž£ XML àžàžµà¹à¹àžà¹àžàž²àžàž£àž°àžàžà¹àžàž·à¹àž­à¹àžà¹àžàž³àž«àžàžàž£àž¹àžà¹àžàžàžàž¥àž¥àž±àžàžà¹àžà¹àž§àž¢àžàžà¹àž­àž àžàž²àž£àžªà¹àžàž­àž­àžà¹àžà¹àžà¹àž MARCXML àžàž°à¹àžà¹à¹àžà¹àž¡àžàž²àž£à¹àž¡àžà¹àžàž·à¹àž­à¹àž¡àžà¹àž¡àžàž²àžàž²àžàž²à¹àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàž±àžà¹àžàžàžà¹àž­àž¡àž¹àž¥ MARC à¹àžà¹àž¡àžàž²àž£à¹àž¡àžà¹àž£àžŽà¹àž¡àžà¹àžàžàž°à¹àž¡àžà¹àžàžàž²àž°à¹àž¡àžàž²àžàž²àžàž²à¹àžàžàžàž±àžàž¥àžŽàžàžàž­àž£à¹à¹àžà¹àž²àžàž±à¹àž à¹àžà¹àžàžžàžàžªàž²àž¡àž²àž£àžàž£àž°àžàžžà¹àžà¹àž¡àžàž²àž£à¹àž¡àžàžàžµà¹àžàž³àž«àžàžà¹àž­àžà¹àžàž·à¹àž­à¹àžà¹à¹àžàžà¹àžà¹</Text>
+</Section>
+<Section name="exportingcollections">
+<Title>
+<Text id="218">àžàž²àž£àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž¢àž±àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµ</Text>
+</Title>
+<Text id="219">à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžªàž²àž¡àž²àž£àžàžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž­àž¢à¹àž²àžàžà¹àž­àž¢àž«àžàž¶à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž¢àž±àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµà¹àžàžàžàžŽàžàžàž±à¹àžà¹àž­àžàžàžàž£àž°àžàžàžàžàžŽàžàž±àžàžŽàžàž²àž£àž§àžŽàžà¹àžàžªà¹à¹àžà¹</Text>
+<Text id="220">à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àž«à¹à¹àžàžŽàžà¹àž¡àžàž¹ "à¹àžà¹àž¡" à¹àž¥àž°à¹àž¥àž·àž­àž "à¹àžàžµàž¢àžàž­àžŽàž¡à¹àž¡àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµ" àž£àž²àž¢àžàž²àž£àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž£àžµàžàžªà¹àžàžàžàž°àžàž£àž²àžàžàžàž¶à¹àž à¹àžàž¢àžàžžàžàžªàž²àž¡àž²àž£àžàžàž¥àžŽàžàžàžµà¹àžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹ à¹àžàž·à¹àž­àžàž¹àžàž³àž­àžàžŽàžàž²àž¢à¹àžà¹ àžàž²àžàžàž±à¹àžà¹àž«à¹àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàžµà¹àžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžà¹àž­àžàžàž²àž£àžªà¹àžàž­àž­àž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžªà¹àžàž·à¹àž­àžàžµàžàžµ/àžàžµàž§àžµàžàžµà¹àžàžàž¥à¹àž­àž"àžàž·à¹àž­àžàžµàžàžµ/àžàžµàž§àžµàžàžµ" à¹àžà¹à¹àžàž¢àžàž·à¹àž­àžàžµà¹àžàž°àžàž£àž²àžàžà¹àžà¹àž¡àžàž¹ "à¹àž£àžŽà¹àž¡" à¹àž¡àž·à¹àž­àžàžžàžàžàžŽàžàžàž±à¹àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžà¹àžà¹àž§à¹àž²àžàž°à¹àž«à¹àžàžµàžàžµàž£àž­àž¡àž«àž£àž·àž­àžàžµàž§àžµàžàžµàžàž³àžàž²àžà¹àžàž¢àžàž£àžàžàž²àžàžàžŽàžªàžà¹à¹àžàž£à¹àž àž«àž£àž·àž­à¹àž«à¹àžàžŽàžàžàž±à¹àžà¹àžà¹àž¡àžà¹àž­àž¡àž¹àž¥àžàž²àžà¹àžà¹àž¡àž¥àžà¹àžà¹àžàž£àž·à¹àž­àžàžàž­àž¡àžàžŽàž§à¹àžàž­àž£à¹ àžàž²àžàžàž±à¹àžàžàž¥àžŽàž "à¹àžàžµàž¢àžàž­àžŽàž¡à¹àž¡àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµ" àžàž£àž°àžàž§àžàžàž²àž£àžàžµà¹àž£àž§àž¡àžàž¶àžàžàž²àž£àžàž³àžªàž³à¹àžàž²à¹àžà¹àž¡àžàž³àžàž§àžàž¡àž²àž à¹àž¥àž°àž­àž²àžà¹àžà¹à¹àž§àž¥àž²àžàž³à¹àžàžŽàžàžàž²àž£àžªàž±àžàžàž£àž¹à¹</Text>
+<Text id="221">à¹àž¡àž·à¹àž­àžàž³à¹àžàžŽàžàžàž²àž£à¹àžªàž£à¹àžàžªàž¡àžàž¹àž£àžà¹à¹àž¥à¹àž§ à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàž°à¹àžªàžàžàžàž·à¹àž­àžàž­àžà¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àžàž£àž£àžàžžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžªà¹àžàž­àž­àž à¹àž«à¹à¹àžà¹àž­àžžàžàžàž£àžà¹à¹àžàžµàž¢àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµà¹àžàž·à¹àž­àžàž³àžªàž³à¹àžàž²à¹àžàž·à¹àž­àž«àž²à¹àž«àž¥à¹àž²àžàžµà¹àž¥àžà¹àžà¹àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµà¹àžàž¥à¹àž²</Text>
+</Section>
+</Section>
+</Document>
Index: main/tags/2.83/gli/help/th/help_index.xml
===================================================================
--- main/tags/2.83/gli/help/th/help_index.xml	(revision 21123)
+++ main/tags/2.83/gli/help/th/help_index.xml	(revision 21123)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Document><Section name="introduction"><Title>àžàžàžàž³</Title><Section name="ofmiceandmenus"><Title>àžàž²àž£à¹àžà¹à¹àž¡àž²àžªà¹à¹àž¥àž°à¹àž¡àžàž¹</Title></Section><Section name="howtoavoidthisdocument"><Title>àž§àžŽàžàžµàž«àž¥àžµàžà¹àž¥àžµà¹àž¢àžàžàž²àž£àž­à¹àž²àžà¹àž­àžàžªàž²àž£àžàžµà¹</Title></Section></Section><Section name="startingoff"><Title>à¹àž£àžŽà¹àž¡àžàž³à¹àžàžŽàžàžàž²àž£</Title><Section name="creatingacollection"><Title>àžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹</Title></Section><Section name="savingacollection"><Title>àžàž²àž£àžàž±àžàžàž¶àžàžàž­àž¥à¹àž¥àžàžàž±àž</Title></Section><Section name="openingacollection"><Title>àžàž²àž£à¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹</Title></Section><Section name="deletingcollections"><Title>àžàž²àž£àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àž</Title></Section></Section><Section name="downloadingfiles"><Title>àžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžà¹àžà¹àž¡àžàž²àžàž­àžŽàžà¹àžàž­àž£à¹à¹àžà¹àž</Title><Section name="themirrorview"><Title>àž¡àžžàž¡àž¡àž­àžàžàž²àž§àžà¹à¹àž«àž¥àž</Title></Section></Section><Section name="collectingfiles"><Title>àžàž²àž£àž£àž§àžàž£àž§àž¡à¹àžà¹àž¡àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž</Title><Section name="thegatherview"><Title>àž¡àžžàž¡àž¡àž­àž "àž£àž§àžàž£àž§àž¡"</Title></Section><Section name="creatingshortcuts"><Title>àžàž²àž£àžªàž£à¹àž²àžàžàž²àžàž¥àž±àžà¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž·à¹àžàžàžµà¹àžàž³àžàž²àž</Title></Section><Section name="creatingfolders"><Title>àžàž²àž£àžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹</Title></Section><Section name="addingfiles"><Title>àžàž²àž£à¹àžàžŽà¹àž¡à¹àžà¹àž¡</Title></Section><Section name="replacingfiles"><Title>àžàž²àž£à¹àžàž¥àžµà¹àž¢àžàžàž·à¹àž­à¹àžà¹àž¡ à¹àž¥àž°àžàž²àž£à¹àžàžàžàžµà¹à¹àžà¹àž¡</Title></Section><Section name="removingfiles"><Title>àžàž²àž£à¹àž­àž²à¹àžà¹àž¡àž­àž­àž</Title></Section><Section name="explodingfiles"><Title>"àžàž²àž£àžàž£àž°àžàž²àž¢" à¹àžà¹àž¡à¹àž¡àžàž²àžàž²àžàž²</Title></Section><Section name="filteringthetree"><Title>àžàž²àž£àžàž£àž­àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹</Title></Section></Section><Section name="enrichingacollection"><Title>àžàž£àž±àžà¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàžà¹àž«à¹àž¡àžµàžà¹àž²àžà¹àž§àž¢à¹àž¡àžàž²àžàž²àžàž²</Title><Section name="theenrichview"><Title>àž¡àžžàž¡àž¡àž­àžà¹àž¡àžàž²àžàž²àžàž²</Title></Section><Section name="selectingmetadatasets"><Title>àžàž²àž£à¹àž¥àž·àž­àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²</Title></Section><Section name="appendingmetadata"><Title>àžàž²àž£à¹àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹à¹àžàžŽà¹àž¡à¹àžàžŽàž¡</Title></Section><Section name="addingpreviouslydefinedmetadata"><Title>àžàž²àž£à¹àžàžŽà¹àž¡à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàžà¹àž§à¹àžà¹àž­àžàž«àžà¹àž²àžàžµà¹</Title></Section><Section name="updatingmetadata"><Title>àžàž²àž£à¹àžà¹à¹àžà¹àž¡àžàž²àžàž²àžàž²àž«àž£àž·àž­àžàž²àž£à¹àž­àž²à¹àž¡àžàž²àžàž²àžàž²àž­àž­àž</Title></Section><Section name="reviewingmetadata"><Title>àžàž²àž£àžàž£àž§àžàžàž²àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàž</Title></Section><Section name="importingpreviouslyassignedmetadata"><Title>àžàž³àž¥àž±àžàžàž³à¹àžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàžàžà¹àž­àžàž«àžà¹àž²àžàžµà¹</Title></Section></Section><Section name="designingacollection"><Title>àžàž²àž£àžàž³àž«àžàžàžà¹àž²àžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž</Title><Section name="thedesignview"><Title>àž¡àžžàž¡àž¡àž­àžàžàž²àž£àž­àž­àžà¹àžàž</Title></Section><Section name="plugins"><Title>àžàž¥àž±à¹àžàž­àžŽàžàžàž­àžà¹àž­àžàžªàž²àž£</Title></Section><Section name="searchindexes"><Title>àžàž±àžàžàžµàžà¹àžàž«àž²</Title></Section><Section name="partitionindexes"><Title>àžàž±àžàžàžµàžàž²àž£à¹àžàžŽàžàž±àž</Title><Section name="definefilters"><Title>àžàžŽàž¢àž²àž¡àžàž±àž§àžàž£àž­àž</Title></Section><Section name="assignpartitions"><Title>àžàž³àž«àžàžàžàž²àž£à¹àžàžŽàžàž±àž</Title></Section><Section name="assignlanguages"><Title>àžàž³àž«àžàžàž àž²àž©àž²</Title></Section></Section><Section name="classifiers"><Title>àžàž²àž£à¹àž£àžµàž¢àžàžàž¹àžàž±àž§à¹àž¢àžàžàž£àž°à¹àž àž</Title></Section></Section><Section name="producingthecollection"><Title>àžàž²àž£àžàž¥àžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž</Title><Section name="thecreateview"><Title>àž¡àžžàž¡àž¡àž­àžàžàž²àž£àžªàž£à¹àž²àž</Title></Section><Section name="builderrors"><Title>àžà¹àž­àžàžŽàžàžàž¥àž²àžà¹àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž</Title></Section><Section name="expertbuilding"><Title>àž¡àžžàž¡àž¡àž­àžàžàž²àž£àžªàž£à¹àž²àžà¹àžà¹àž«àž¡àžàžàž¹à¹àžàž³àžàž²àžàžàž²àž£</Title></Section></Section><Section name="formattingacollection"><Title>àžàž²àž£àžàž³àž«àžàžàžà¹àž²àž¥àž±àžàž©àžàž°àžàžµà¹àžàž£àž²àžàžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžà¹àž§àž¢àžàžà¹àž­àž</Title><Section name="theformatview"><Title>àž¡àžžàž¡àž¡àž­àžàž£àž¹àžà¹àžàž</Title></Section><Section name="generalsettings"><Title>àžàž±à¹àž§à¹àž</Title></Section><Section name="searchmetadatasettings"><Title>àžà¹àžàž«àž²</Title></Section><Section name="formatstatements"><Title>àžàžžàžàž¥àž±àžàž©àžàž°àž£àž¹àžà¹àžàž</Title></Section><Section name="translatetext"><Title>à¹àžàž¥àžà¹àž­àžàž§àž²àž¡</Title></Section><Section name="xcollectionsearching"><Title>àžàž²àž£àžà¹àžàž«àž²àžà¹àž²àž¡àžàž­àž¥à¹àž¥àžàžàž±àž</Title></Section><Section name="collectionspecificmacros"><Title>à¹àž¡à¹àžàž£à¹àžàžàž²àž°àžàž­àž¥à¹àž¥àžàžàž±àž</Title></Section><Section name="depositormetadatasettings"><Title>Depositor Metadata</Title></Section></Section><Section name="miscellaneous"><Title>à¹àžà¹àžà¹àžàž¥à¹àž</Title><Section name="preferences"><Title>àžàž³àž«àžàžàž¥àž±àžàž©àžàž°</Title></Section><Section name="fileassociations"><Title>àžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹àžàž­àžà¹àžà¹àž¡</Title></Section><Section name="exporting"><Title>àžàž²àž£àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžà¹àžàž£àž¹àžà¹àžàžàž­àž·à¹àž</Title></Section><Section name="exportingcollections"><Title>àžàž²àž£àžªà¹àžàž­àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž¢àž±àžàžàžµàžàžµ/àžàžµàž§àžµàžàžµ</Title></Section></Section></Document>
Index: main/tags/2.83/gli/help/th/howtoavoidthisdocument.htm
===================================================================
--- main/tags/2.83/gli/help/th/howtoavoidthisdocument.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/howtoavoidthisdocument.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="howtoavoidthisdocument"><font size="5" face="Verdana"><strong>1.2: àž§àžŽàžàžµàž«àž¥àžµàžà¹àž¥àžµà¹àž¢àžàžàž²àž£àž­à¹àž²àžà¹àž­àžàžªàž²àž£àžàžµà¹</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžàž£àžžàžàž²àž­àž¢à¹àž²àž­à¹àž²àžàžà¹àž­àžàž§àž²àž¡àž§àžŽàžàžµà¹àžà¹àžàžµà¹àžàž±à¹àžàž«àž¡àž à¹àžàžµàž¢àžàž­à¹àž²àžà¹àžàž·à¹àž­àžšàž¶àžàž©àž²àž§à¹àž²àžàž°à¹àž£àžµàž¢àžà¹àžà¹àž§àžŽàžàžµà¹àžà¹à¹àžà¹àž­àž¢à¹àž²àžà¹àž£à¹àž¡àž·à¹àž­àžàžžàžàžàž³à¹àžà¹àžàžà¹àž­àžà¹àžà¹àžàž£àžŽàžà¹</p>
+
+<p>àžàž²àž£àžàž¥àžŽàžà¹àž­àžàž­àž "àž§àžŽàžàžµà¹àžà¹" à¹àžàžàž£àžŽàžàžàžà¹àž²àžà¹ àžàž°à¹àžà¹àžàžàž²àž£à¹àžªàžàžàžà¹àž­àžàž§àž²àž¡àž§àžŽàžàžµà¹àžà¹àžàžµà¹à¹àžàžµà¹àž¢àž§àžà¹àž­àžàžàž¶à¹àžàž¡àž²àžàžàž«àžà¹àž²àžàž­ àž«àž£àž·àž­à¹àžà¹àžàžàž²àž£àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàžµà¹àž«àž±àž§à¹àž£àž·à¹àž­àžàž§àžŽàžàžµà¹àžà¹àžàžµà¹à¹àžàžµà¹àž¢àž§àžà¹àž­àžàžà¹àž§àž¢à¹àž­àžàž­àžà¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàž³àžàž²àž¡</p>
+
+<p>àžªàž³àž«àž£àž±àžàžàž±àž§àžàž§àžàžàžžàž¡àžàžµà¹àž¡àžµàžàž³àžàž§àžàž¡àž²àž àžà¹àž²àžàžžàžàž§àž²àžà¹àž¡àž²àžªà¹à¹àž§à¹à¹àž«àžàž·àž­àžàž±àž§àžàž§àžàžàžžàž¡ "à¹àžàž¥à¹àžàž¥àž±àžà¹àžàž£àž·à¹àž­àžàž¡àž·àž­" àžàž°àžàž£àž²àžàžàžàž¶à¹àžà¹àžàž·à¹àž­à¹àžªàžàžàž«àžà¹àž²àžàžµà¹àžàž²àž£àžàž³àžàž²àžàžàž­àžàžàž±àž§àžàž§àžàžàžžàž¡àžàž±à¹àž</p>
+
+<p>àžà¹àž­àžà¹àžà¹àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ à¹àž«à¹àž­à¹àž²àžà¹àž­àžàžªàž²àž£àžàž£àž°àžàž­àžàžàž²àž£à¹àžà¹àžàž²àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžªàžµàž¢àžà¹àž­àž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/importingpreviouslyassignedmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/th/importingpreviouslyassignedmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/importingpreviouslyassignedmetadata.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="importingpreviouslyassignedmetadata"><font size="5" face="Verdana"><strong>5.7: àžàž³àž¥àž±àžàžàž³à¹àžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàžàžà¹àž­àžàž«àžà¹àž²àžàžµà¹</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àž§àžŽàžàžµàžàž²àž£àžàž³à¹àžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžà¹àžàž³àž«àžàžà¹àž§à¹àžà¹àž­àžàž«àžà¹àž²àžàžµà¹ àžàž¶à¹àžà¹àžà¹àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàžà¹àž«à¹àžàž±àžà¹àž­àžàžªàž²àž£àžà¹àž­àžà¹àžàžŽà¹àž¡à¹àž­àžàžªàž²àž£à¹àžà¹àž²à¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž</p>
+
+<p>àžà¹àž²à¹àžàž¢àžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžàžàž­àž£à¹àž¡àžàžµà¹àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àž£àž¹à¹àžàž±àžà¹àž«à¹àžàž±àžà¹àžà¹àž¡à¹àž§à¹àžà¹àž­àžàž«àžà¹àž²àžàžµà¹à¹àž¥à¹àž§ -- àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž à¹àž¡àž·à¹àž­àžàžžàžà¹àž¥àž·àž­àžà¹àž­àžàžªàž²àž£àžàž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž£àžµàžàžªà¹àžàžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹ -- àž£àž°àžàžàžàž°àžàž³à¹àžà¹àž²à¹àž¡àžàž²àžàž²àžàž²à¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽà¹àž¡àž·à¹àž­àžàžžàžà¹àžàžŽà¹àž¡à¹àžà¹àž¡  à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹àžàžàž±à¹àž àžàžžàžàžàž°àžà¹àž­àžàžàž³àžàž²àž£à¹àž¡àžà¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžà¹àž«à¹à¹àžà¹àž²àžàž±àžàžàžžàžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžà¹àž­àž</p>
+
+<p>àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž°à¹àžªàžàžàžà¹àž­àž¡àž¹àž¥àžàžµà¹àžàž³à¹àžà¹àžàžàž¶à¹àžàžàžàž«àžà¹àž²àžàž­  à¹àžàž¢àžàž°à¹àžªàžàžàž§àžŽàžàžµàžàž³à¹àžàžŽàžàžàž²àž£àž­àž¢à¹àž²àžàžªàž±à¹àž à¹àž¥àž°àžàž²àžàžàž±à¹àžàžàž¶àžà¹àžªàžàžàžàž·à¹àž­àžàž­àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž¥àž±àžàžàž³à¹àžà¹àž²à¹àž«àž¡àž·àž­àžàžàž±àžàžàžµà¹àžàž£àž²àžàžà¹àžà¹àžà¹àž¡àžà¹àžàžàžàž±àž àžàžžàžàžàž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžàž«àž£àž·àž­à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžàžµà¹à¹àžà¹ àžà¹àž­à¹àžà¹àž«à¹àžàžžàžà¹àž¥àž·àž­àžàžàžžàžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž°à¹àž¡àžà¹àžà¹àž²àžàž±àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž«àž¡à¹ àžàž²àžàžàž±à¹àžà¹àž¥àž·àž­àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡à¹àžàžàžžàžàžàž±à¹àž àž£àž°àžàžàžàž°à¹àž¥àž·àž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž£àžàžàž±àžàžàžµà¹àžªàžžàžàžªàž³àž«àž£àž±àžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹à¹àž«à¹à¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽà¹àžàž¢àžàžŽàžàž²àž£àžàž²àž£àž¹àžà¹àžàžàžàž­àžàžàžžàžàžà¹àž­àž¡àž¹àž¥à¹àž¥àž°àž­àžàžà¹àžàž£àž°àžàž­àž</p>
+
+<p>àž«àž¥àž±àžàžàž²àžà¹àžà¹àžàž³àžàž²àž£àžàž£àž§àžàžªàž­àžàžàž²àž£à¹àž¡àžà¹àž£àžµàž¢àžàž£à¹àž­àž¢à¹àž¥à¹àž§ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àž "à¹àžàžŽà¹àž¡" à¹àžàž·à¹àž­à¹àžàžŽà¹àž¡àž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹à¹àžàž¢àž±àžàžàžžàžàžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹à¹àžà¹  (àžàž±àžàžà¹àžàž±àžàžàžµà¹àžàž°à¹àžàžŽàžà¹àžà¹àžàž²àžà¹àžàžàž²àž°à¹àž¡àž·à¹àž­à¹àž¡à¹àž¡àžµàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàžàž·à¹àž­à¹àžàžµàž¢àž§àžàž±àžàž àž²àž¢à¹àžàžàžžàžàžà¹àž­àž¡àž¹àž¥àžàžµà¹à¹àž¥àž·àž­àž) "àžàžªàž²àž" àžàž°à¹àž¡àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž«àž¡à¹à¹àžà¹àž²àžàž±àžàž­àžàžà¹àžàž£àž°àžàž­àžàžàžµà¹àžàž¹à¹à¹àžà¹à¹àž¥àž·àž­àž àžªàžžàžàžà¹àž²àž¢àžàžµà¹ "àž¥àž°à¹àž§à¹àž" àžàž°à¹àž¡à¹àžàž³à¹àžà¹àž²àžà¹àž­àž¡àž¹àž¥à¹àž¡àžàž²àžàž²àžàž²à¹àžà¹ àžàžµà¹àž¡àžµàžàž·à¹àž­àž­àžàžà¹àžàž£àž°àžàž­àžàžàžµà¹ àžàž±àžàžàžµàžàžµà¹àžàžžàžàž£àž°àžàžžàž§àžŽàžàžµàžàž²àž£àžàž³à¹àžà¹àž²àžàžŽà¹àžàžªà¹àž§àžàžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžà¹àžàž­àž àžà¹àž­àž¡àž¹àž¥àžàž²àž£à¹àž¡àžàžàž°àžàž¹àžà¹àžà¹àžà¹àž§à¹àžàž¥àž­àžàž­àž²àž¢àžžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àž</p>
+
+<p>àžªàž³àž«àž£àž±àžàž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžà¹àžàžµà¹àž¢àž§àžàž±àžà¹àžà¹àž¡ metadata.xml àžàž¶à¹àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžà¹àžàž±àžà¹àžà¹àžà¹àž¡àžàž²àžàž²àžàž² à¹àž«à¹àžàž¹àžàžàžàžµà¹ 2 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž -- àžàž²àž£à¹àžàž¢à¹àžàž£à¹àžà¹àž­àž¡àž¹àž¥àžàž²àžà¹àž­àžàžªàž²àž£àžàž­àžàžàžžàž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/introduction.htm
===================================================================
--- main/tags/2.83/gli/help/th/introduction.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/introduction.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="introduction"><font size="5" face="Verdana"><strong>1: àžàžàžàž³</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžà¹àžà¹àžàž£àž·à¹àž­àžàž¡àž·àž­àžªàž³àž«àž£àž±àžàžàž²àž£àž£àž§àžàž£àž§àž¡à¹àž­àžàžªàž²àž£ àžàž²àž£à¹àžàžŽà¹àž¡à¹àž¡àžàž²àžàž²àžàž² à¹àž¥àž°àžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàž«à¹àž­àžàžªàž¡àžžàžàžàžŽàžàžŽàžàž±àž¥  àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàžµà¹àžàž°àžà¹àž§àž¢à¹àž«à¹àžàž¹à¹à¹àžà¹àžªàž²àž¡àž²àž£àžà¹àžà¹àž²àžàž¶àžàžàž±àžàžà¹àžàž±àžàžàž²àž£àžàž³àžàž²àžàžàž­àžàžàž­àžàžà¹à¹àž§àž£à¹àž«à¹àž­àžàžªàž¡àžžàžàžàžŽàžàžŽàžàž±àž¥àžàž£àžµàžàžªà¹àžàžà¹àžà¹àžàž²àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹à¹àžàžàžàžµà¹à¹àž¥à¹àž§àžàž¥àžŽàžà¹àžàž£àž¹àžà¹àžàžàžàž£àž²àžàžŽàž</p>
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/miscellaneous.htm
===================================================================
--- main/tags/2.83/gli/help/th/miscellaneous.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/miscellaneous.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="miscellaneous"><font size="5" face="Verdana"><strong>9: à¹àžà¹àžà¹àžàž¥à¹àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàžžàžàž¥àž±àžàž©àžàž°àžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàžµà¹à¹àž¡à¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàž¡àžžàž¡àž¡àž­àžàžàžŽà¹àžšàž©à¹àžà¹</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/ofmiceandmenus.htm
===================================================================
--- main/tags/2.83/gli/help/th/ofmiceandmenus.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/ofmiceandmenus.htm	(revision 21123)
@@ -0,0 +1,28 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="ofmiceandmenus"><font size="5" face="Verdana"><strong>1.1: àžàž²àž£à¹àžà¹à¹àž¡àž²àžªà¹à¹àž¥àž°à¹àž¡àžàž¹</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžªà¹àž§àžàžàžµà¹àžàž°à¹àžªàžàžàžà¹àž­àž¡àž¹àž¥àžàž·à¹àžàžàž²àžà¹àžàžµà¹àž¢àž§àžàž±àžàžàž²àž£à¹àžà¹àžàž­àžàžàž±àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ àžà¹àž²àžàžžàžàžàžžà¹àžà¹àžàž¢àžàž±àžà¹àžàž£à¹àžàž£àž¡à¹àžà¹àž Internet Explorer àž«àž£àž·àž­ Microsoft Office  à¹àž¥àž°àž£àž¹à¹àžªàž¶àžàžªàž°àžàž§àžàžàžµà¹àžàž°à¹àžà¹àžàž²àž£àžàž¥àžŽàžà¹àž¡àž²àžªà¹à¹àž¥àž°à¹àž¡àžàž¹ à¹àž«à¹àžà¹àž²àž¡à¹àžàžàžµà¹ <a href="howtoavoidthisdocument.htm">àž§àžŽàžàžµàž«àž¥àžµàžà¹àž¥àžµà¹àž¢àžàžàž²àž£àž­à¹àž²àžà¹àž­àžàžªàž²àž£àžàžµà¹</a>
+</p>
+
+<p>àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àž¡àžµàž¥àž±àžàž©àžàž°àžàž²àž£àžàž³àžàž²àžà¹àžà¹àžà¹àžàžàž²àž¡à¹àžàžà¹àžàžàžàž­àžà¹àž¡à¹àžàž£àžàž­àžàžà¹àž§àžŽàžà¹àžàžªà¹ à¹àž¥àž°àž­àž¢àž¹à¹àžàžàžàž·à¹àžàžàž²àžàžàž­àžàžàž§àž²àž¡àž£àž¹à¹àžàž±à¹àž§à¹àžàžàž­àžàž§àžŽàžà¹àžàžªà¹</p>
+
+<p>àžªà¹àž§àžà¹àžà¹ àžàž­àžàž«àžà¹àž²àžàž­àžàžµà¹àžàžžàžà¹àžà¹àžàž­àžàžà¹àž§àž¢ à¹àžà¹àž àžàžžà¹àž¡àž«àž£àž·àž­à¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž­àžàž§àž²àž¡ àžàž°àžàž¹àžà¹àž£àžµàž¢àžàž§à¹àž² "àžàž±àž§àžàž§àžàžàžžàž¡"  àž àž²àž¢à¹àžàžà¹àž§àžà¹àž§àž¥àž²àžàžµà¹àžàž³àž«àžàž àžàž±àž§àžàž§àžàžàžžàž¡àžàž¶à¹àžà¹àžàžàžµà¹àžàžµà¹à¹àž£àžµàž¢àžàž§à¹àž² "à¹àžàžàž±àžª" àžàž°àžàž¹àžà¹àžà¹àžà¹àž¥àž°àžàž­àžàžªàžàž­àžàžà¹àž­à¹àžà¹àžàžàžŽàž¡àžà¹ àžàž±àž§àžàž§àžàžàžžàž¡àž«àž¥àž²àž¢àžàž±àž§àž­àžàžžàžàž²àžà¹àž«à¹àžàžžàžà¹àž¥àž·àž­àžàžªà¹àž§àžàžà¹àž²àžà¹ àžàžµà¹àžàž¹àžà¹àžà¹àžàžà¹àž§àž¢àžªàžµàžà¹àž³à¹àžàžŽàžà¹àžà¹àž¡à¹àžà¹ à¹àžàžàžàž°àžàžµà¹àžàž±àž§àžàž§àžàžàžžàž¡àžàž²àžàžàž±àž§àžàž°à¹àžà¹àžàžªàžµà¹àžàž²àžàž²àžà¹ à¹àžàž·à¹àž­àžà¹àžàžàžµà¹àž§à¹àž²àžàž¹àžàžàžŽàžàžàž²àž£à¹àžà¹àžàž²àžàž­àž¢àž¹à¹</p>
+
+<p>àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž¥àž·à¹àž­àžà¹àž¡àž²àžªà¹ à¹àž¥àž°àžàž¥àžŽàžàžà¹àž²àž¢àž«àž£àž·àž­àžàž¥àžŽàžàžàž§àž²àžàžµà¹à¹àž¡àž²àžªà¹à¹àžà¹àžàž²àž¡àžàžàžàžŽ àžàž­àž¡à¹àžà¹àžàžàžà¹àžàž³àžàž§àžàž¡àž²àžàž¢àž±àžàžàžàž­àžàžžàžàž²àžà¹àž«à¹àžàžžàž"àž¥àž²àž"àžàž­àž¡à¹àžà¹àžàžàžà¹à¹àž«àž¥à¹àž²àžàž±à¹àžà¹àžà¹ àžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžà¹àž¥àž°àžàžàžàžžà¹àž¡à¹àž¡àž²àžªà¹àžà¹àž²àž¢àžà¹àž²àžà¹àž§à¹ àžàž²àžàžàž±à¹àžà¹àž«à¹àž¢à¹àž²àž¢àžàž­àž¡à¹àžà¹àžàžàžà¹àžà¹àž§àž¢à¹àž¡àž²àžªà¹ à¹àž¥àž°"àžàž¥à¹àž­àž¢" àžàž­àž¡à¹àžà¹àžàžàžà¹à¹àž«àž¥à¹àž²àžàž±à¹àžàž¥àžàžàžµà¹à¹àžàžà¹à¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž¥à¹àž­àž¢àžàžžà¹àž¡àžàžµà¹àžàžàžà¹àž²àžà¹àž§à¹ à¹àžà¹àž²àž«àž¡àž²àž¢àžàž²àž£àžàž¥à¹àž­àž¢àžàžµà¹à¹àžà¹àžà¹àžà¹àžà¹àžàž°àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžàž¥àž±àžàž©àžàž°àžàžµà¹àžàž£àž²àžàžà¹àž¡àž·à¹àž­àžàž­àž¡à¹àžà¹àžàžàžà¹àžà¹àž²àžà¹àž«àžàž·àž­à¹àžà¹àž²àž«àž¡àž²àž¢</p>
+
+<p>àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžà¹àžàžàžŽàž¡àžà¹à¹àžàž·à¹àž­àžàžŽàž¡àžà¹àž¥àžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž­àžàž§àž²àž¡à¹àžà¹ [Tab] àžàž°àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžà¹àžàžàž±àžªàž£àž°àž«àž§à¹àž²àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž­àžàž§àž²àž¡àž«àž¥àž²àž¢à¹àžàžàžà¹àž­àž¡àž¹àž¥</p>
+
+<p>àž­àž­àžàžàž²àžà¹àžàž£à¹àžàž£àž¡àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹à¹àžàž¢à¹àž¥àž·àž­àž "àž­àž­àžàžàž²àžàž£àž°àžàž" àžàžµà¹à¹àž¡àžàž¹ "à¹àžà¹àž¡" àžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàžàžàž°àžàž¹àžàžàž±àžàžàž¶àžàžà¹àž­àžàž­àž­àžàžàž²àžà¹àžàž£à¹àžàž£àž¡</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/openingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/th/openingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/openingacollection.htm	(revision 21123)
@@ -0,0 +1,22 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="openingacollection"><font size="5" face="Verdana"><strong>2.3: àžàž²àž£à¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹ à¹àž«à¹à¹àž¥àž·àž­àž "à¹àžàžŽàž" àžàž²àžà¹àž¡àžàž¹ "à¹àžà¹àž¡" à¹àžàž·à¹àž­à¹àž«à¹à¹àžà¹àžàž£à¹àž­àž¡àžà¹ "à¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àž" àž£àž²àž¢àžàž²àž£àžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàž­àžàžàžžàžàžàž°àžàž£àž²àžàžàžàž¶à¹àž à¹àž¥àž·àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžà¹àž­àžàžàž²àž£àžàž¶à¹àžàž¡àž²àž«àžàž¶à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž·à¹àž­àžàž¹àžàž³àž­àžàžŽàžàž²àž¢ à¹àž¥àž°àžàž¥àžŽàž "à¹àžàžŽàž" à¹àžàž·à¹àž­à¹àž«àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž¶à¹àžàž¡àž²</p>
+
+<p>à¹àžàžàž£àžàžµàžàžµà¹àž¡àžµàžàž²àž£à¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžàž£à¹àžàž£àž¡àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàž¡àž²àžàžàž§à¹àž²àž«àžàž¶à¹àžà¹àžàž£à¹àžàž£àž¡à¹àžà¹àž§àž¥àž²à¹àžàžµàž¢àž§àžàž±àž à¹àžà¹àž£àžàžàž­àž£àžµàžàžµà¹à¹àžàžµà¹àž¢àž§àžà¹àž­àžàžàž°àžàž¹àž "àž¥à¹àž­àž" à¹àžàž·à¹àž­àžà¹àž­àžàžàž±àžàžàž²àž£àž£àžàžàž§àžàžàž±àž à¹àžàžàž²àž£à¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àžà¹àž¡àž¥à¹àž­àžàžàž±à¹àž§àžàž£àž²àž§àžàžàž²àžà¹àž¥à¹àžàžàž°àžàž¹àžàžªàž£à¹àž²àžàžàž¶à¹àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž àžà¹àž­àžàžàž³àžàž²àž£à¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àž àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž°àžàž³à¹àžàžŽàžàžàž²àž£àžàž£àž§àžàžªàž­àžà¹àžàž·à¹àž­à¹àž«à¹à¹àžà¹à¹àžàž§à¹àž²à¹àž¡à¹àž¡àžµà¹àžà¹àž¡àž¥à¹àž­àžàžàžµà¹àžàž£àž²àžàžàž­àž¢àž¹à¹à¹àž¥à¹àž§ àž­àž¢à¹àž²àžà¹àž£àžà¹àžàž²àž¡ àž«àž²àžàžàžžàžàž­àž­àžàžàž²àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžà¹àž­àžàžàž¶àžà¹àž§àž¥àž²àž­àž±àžàžàž§àž£ à¹àžàžàž²àžàžàž£àž±à¹àžà¹àžà¹àž¡àž¥à¹àž­àžàž­àž²àžàžàž°àž¢àž±àžàžàžàžàž£àž²àžàžàž­àž¢àž¹à¹ à¹àž¡àž·à¹àž­àžàžžàžà¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàžŽàž¡ àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž°àžàž²àž¡àž§à¹àž² àžàžžàžàžà¹àž­àžàžàž²àž£ "àžà¹àž¡àž¢" àžàž²àž£àžàž§àžàžàžžàž¡àžàž­àž¥à¹àž¥àžàžàž±àžàž«àž£àž·àž­à¹àž¡à¹ à¹àž«à¹àžàžžàžàžàž³à¹àžà¹àžàžàž±à¹àžà¹àžà¹àž­àž¢à¹àž²àžàžªàžàž²àž¢à¹àž àžàž­àžà¹àžªàžµàž¢àžàž²àžàžàžžàžàžàžŽàžàž§à¹àž²àž¡àžµà¹àžàž£àžàž²àžàžàžàžàž³àž¥àž±àžàžàž³àžàž²àžàžàžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàžµàž¢àž§àžàž±àžàž­àž¢àž¹à¹</p>
+
+<p>à¹àž¡àž·à¹àž­àžàžžàžà¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àž¡à¹à¹àžà¹àžªàž£à¹àž²àžàžàž²àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ àž£àž°àžàžàžàž°àžàž³àž«àžàžà¹àžà¹àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àž£àž¹àžà¹àžàžàžàž±àžàž¥àžŽàžàžàž­àž£à¹à¹àž«à¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àž à¹àž¥àž°à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàž­àž¢àž¹à¹àžàž°àžàž¹àžàžàž³à¹àžà¹àž²à¹àžàž£àž¹àžà¹àžàžà¹àžàžŽàž¡à¹àž¡àž·à¹àž­àžàžžàžàž¥àž²àžà¹àžà¹àž¡àžàžµà¹àž¡àžµà¹àž¡àžàž²àžàž²àžàž²àž­àž¢àž¹à¹à¹àž¥à¹àž§à¹àžà¹àž²àž¡àž² à¹àžà¹àž¡àžµàžàž²àž£àž­àžàžŽàžàž²àž¢àžàž£àž°àžàž§àžàžàž²àž£àžàžµà¹à¹àž§à¹à¹àžàžªà¹àž§àž <a href="importingpreviouslyassignedmetadata.htm">àžàž³àž¥àž±àžàžàž³à¹àžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàžàžà¹àž­àžàž«àžà¹àž²àžàžµà¹</a>
+</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/partitionindexes.htm
===================================================================
--- main/tags/2.83/gli/help/th/partitionindexes.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/partitionindexes.htm	(revision 21123)
@@ -0,0 +1,24 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="partitionindexes"><font size="5" face="Verdana"><strong>6.4: àžàž±àžàžàžµàžàž²àž£à¹àžàžŽàžàž±àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžàž±àžàžàžµàžàž°àžàž¹àžàžªàž£à¹àž²àžà¹àžàž¢à¹àžà¹àžà¹àž­àžàž§àž²àž¡à¹àžàžàž²àž°àž«àž£àž·àž­à¹àž«àž¥à¹àžà¹àž¡àžàž²àžàž²àžàž² àžàžžàžàžªàž²àž¡àž²àž£àžàžàž§àžàžàžžàž¡àžàž·à¹àžàžàžµà¹àžà¹àžàž«àž²à¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž±àžàžàž³àžàž²àž£à¹àžàžŽàžàž±àžàžàž±àžàžàžµ àžàž±à¹àžà¹àžàž¢à¹àžà¹àž àž²àž©àž²àž«àž£àž·àž­à¹àžàž¢àžàž±àž§àžàž£àž­àžàžàžµà¹àžàž³àž«àžàžà¹àž§à¹àž¥à¹àž§àžàž«àžà¹àž²à¹àž¥à¹àž§ àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž³à¹àžàžŽàžàžàž²àž£àžàž±àžàžàž¥à¹àž²àž§ àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž­àž­àžà¹àžàž" à¹àž«à¹àžàž¥àžŽàžàžàžµà¹ "àžàž±àžàžàžµàžàž²àž£à¹àžàžŽàžàž±àž"</p>
+
+<p>àž¡àžžàž¡àž¡àž­àž "àžàž±àžàžàžµàžàž²àž£à¹àžàžŽàžàž±àž" àž¡àžµàžªàž²àž¡à¹àžà¹àžàžàž·àž­ "àžàžŽàž¢àž²àž¡àžàž±àž§àžàž£àž­àž" "àžàž³àž«àžàžàžàž²àž£à¹àžàžŽàžàž±àž" à¹àž¥àž° "àžàž³àž«àžàžàž àž²àž©àž²"  à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž£àžµàž¢àžàž£àž¹à¹à¹àžàžŽà¹àž¡à¹àžàžŽàž¡à¹àžàžµà¹àž¢àž§àžàž±àžàžàž²àž£à¹àžàžŽàžàž±àž à¹àž«à¹àž­à¹àž²àžàžàžàžàž§àž²àž¡à¹àžàžµà¹àž¢àž§àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢ à¹àž¥àž°àžàž±àžàžàžµàž¢à¹àž­àž¢à¹àžàžàžàžàžµà¹ 2 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž</p>
+
+<p>àž«àžà¹àž²àžàž­àžàž±àžàžàžµàžàž²àž£à¹àžàžŽàžàž±àžàžàž°àžªàž²àž¡àž²àž£àžà¹àžàžŽàžà¹àžà¹àžàž²àžà¹àžà¹à¹àžàžàž²àž°à¹àžà¹àž«àž¡àžàžàž¹à¹à¹àžàžµà¹àž¢àž§àžàž²àžàž£àž°àžàžàž«à¹àž­àžàžªàž¡àžžàž (Library Systems Specialist) à¹àž¥àž°à¹àž«àž¡àžàžàž¹à¹àžàž³àžàž²àžàžàž²àž£ (Expert) (àžàž¹àžàžµà¹ <a href="preferences.htm">àžàž³àž«àžàžàž¥àž±àžàž©àžàž°</a>) à¹àžàž£àžàžªàž±àžà¹àžàžàž§à¹àž² àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àž MG àžàž³àžàž§àžàžàž²àž£à¹àžàžŽàžàž±àžàžàž±à¹àžàž«àž¡àžàžàžµà¹àžªàž£à¹àž²àžàžàž°à¹àžà¹àžàžàž²àž£àž£àž§àž¡àžàž±àžàžàž­àžàžàž±àžàžàžµàžàž±à¹àžàž«àž¡àž àžàž±àž§àžàž£àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢ à¹àž¥àž°àž àž²àž©àž²àžàžµà¹à¹àž¥àž·àž­àž àžàž±àžàžàžµàžªàž­àžàžàž±àž§àžàžµà¹àž¡àžµàžàž±àž§àžàž£àž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢àžªàž­àžàžàž±àž§à¹àžàžªàž­àžàž àž²àž©àž²àžàž°àž¡àžµàžàž²àž£à¹àžàžŽàžàž±àžàžàž±àžàžàžµàžàž±à¹àžàž«àž¡àžà¹àžàžàžªà¹àž§àž àžªàž³àž«àž£àž±àž MGPP à¹àž¥à¹àž§ àžàž±àžàžàžµàžàž±à¹àžàž«àž¡àžàžàž°àžàž¹àžàžªàž£à¹àž²àžàžàž¶à¹àžà¹àžàžàž±àžàžàžµàžàž²àžàžàž²àž¢àž àž²àžàž«àžàž¶à¹àžàžàž±àž§ àžàž±àžàžàž±à¹àžàžàž¶àžàž¡àžµà¹àžàžµàž¢àžàžªàžµà¹àžàž²àž£à¹àžàžŽàžàž±àžàžàž±àžàžàžµà¹àžà¹àž²àžàž±à¹àž àžªàž³àž«àž£àž±àž Lucene àžàž³àžàž§àžàžàž­àžàžàž±àžàžàžµàžàž²àžàžàž²àž¢àž àž²àžàžàž°àžàž¹àžàžàž³àž«àžàžàžà¹àž§àž¢àžàž³àžàž§àžàžàž­àžàž£àž°àžàž±àžàžàžµà¹àžàž³àž«àžàžà¹àž«à¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àž àž«àžàž¶à¹àžàžàž±àžàžàžµàžà¹àž­àž«àžàž¶à¹àžàž£àž°àžàž±àž àžàž±àžàžàž±à¹àž à¹àžàžªàžàž²àžàžàž²àž£àžà¹àžàž±àžàžàž¥à¹àž²àž§ àž«àžàž¶à¹àžàž£àž°àžàž±àžàžàž°àž¡àžµàžàž±àžàžàžµàžàž²àžàžàž²àž¢àž àž²àžàžªàžµà¹àžàž±àž§ à¹àžàžàžàž°àžàžµà¹àžªàž­àžàž£àž°àžàž±àžàžà¹àžàž°àž¡àžµàžàž±àžàžàžµà¹àžàžàžàž±àž§</p>
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/plugins.htm
===================================================================
--- main/tags/2.83/gli/help/th/plugins.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/plugins.htm	(revision 21123)
@@ -0,0 +1,31 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="plugins"><font size="5" face="Verdana"><strong>6.2: àžàž¥àž±à¹àžàž­àžŽàžàžàž­àžà¹àž­àžàžªàž²àž£</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àž§àžŽàžàžµàžàž²àž£àžàž³àž«àžàžàžà¹àž²àžàž¥àž±à¹àžàž­àžŽàžàžàž­àžà¹àž­àžàžªàž²àž£àžàžµà¹àžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹  à¹àžàž¢àžàž°àž­àžàžŽàžàž²àž¢àž§àžŽàžàžµàž£àž°àžàžžàžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžà¹ àžàž²àž£àžàž³àž«àžàžàžàž²àž£àž²àž¡àžŽà¹àžàž­àž£à¹àžàžµà¹àžà¹àž­àžàžàž²àž£àžªà¹àžàžà¹àž²àž à¹àž¥àž°àžàž²àž£àžàž±àžàž¥àž³àžàž±àžàžàž¥àž±à¹àžàž­àžŽàž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž£àžŽà¹àž¡àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹à¹àžàž¢àžàž¥àžŽàž "àžàž¥àž±à¹àžàž­àžŽàžà¹àž­àžàžªàž²àž£" àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž­àž­àžà¹àžàž"</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàž¥àž±à¹àžàž­àžŽàž à¹àž«à¹à¹àž¥àž·àž­àžàžàž¥àž±à¹àžàž­àžŽàžà¹àžàž¢à¹àžà¹àž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àž "à¹àž¥àž·àž­àžàžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡" àžàž£àžŽà¹àž§àžà¹àžàž¥à¹àžªà¹àž§àžàž¥à¹àž²àžàžªàžžàž àžàž²àžàžàž±à¹àžàžàž¥àžŽàž "à¹àžàžŽà¹àž¡àžàž¥àž±à¹àžàž­àžŽàž"  àž«àžà¹àž²àžà¹àž²àžàžàž°àžàž£àž²àžàžàžàž¶à¹àžà¹àžàžàž·à¹àž­àž§à¹àž² "àžàž²àž£àžàž³àž«àžàžàžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹" àžàž¶à¹àžàžàž°àž¡àžµàžàž³àž­àžàžŽàžàž²àž¢à¹àžàž àž²àž¢àž«àž¥àž±àž àžàž±àžàžàžµàžàžµà¹àžàžžàžàžàž³àž«àžàžàžà¹àž²àžàž¥àž±à¹àžàž­àžŽàžà¹àž«àž¡à¹ àžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžàž°àžàž¹àžà¹àžàžŽà¹àž¡à¹àžà¹àž²à¹àžà¹àžàž¥àž³àžàž±àžàžà¹àž²àž¢àžªàžžàžàžàž­àžàž£àž²àž¢àžàž²àž£ "àžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžàž³àž«àžàž" à¹àžà¹àž«àž¡àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ àžàž¥àž±à¹àžàž­àžŽàžà¹àžà¹àž¥àž°àžàž±àž§ àž¢àžà¹àž§à¹àž UnknownPlug àž­àž²àžàžàž°àžàž£àž²àžàžàžàž¶à¹àžà¹àžàžµàž¢àžàžàž£àž±à¹àžà¹àžàžµàž¢àž§à¹àžàžàž­àž¥à¹àž¥àžàžàž±àž  à¹àžà¹àž«àž¡àžàžàžµà¹àžªàž¹àžàžàž§à¹àž² àžàž¥àž±à¹àžàž­àžŽàžà¹àž«àž¥à¹àž²àžàžµà¹àž­àž²àžàžàž°àžàž£àž²àžàžàžàž¶à¹àžàž«àž¥àž²àž¢àžàž£àž±à¹àž  àžàžžàžàžàž³à¹àžà¹àžàžà¹àž­àžàžàž±à¹àžàžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹ process_exp à¹àžàž·à¹àž­à¹àž«à¹àžªàž²àž¡àž²àž£àžà¹àžà¹àžàž£àž°à¹àž¢àžàžà¹à¹àžà¹</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž¹àžàž³àž­àžàžŽàžàž²àž¢àž­àž¢à¹àž²àžàžªàž±à¹àžàžàž­àžàžàž¥àž±à¹àžàž­àžŽàž à¹àž«à¹à¹àž¥àž·àž­àžàžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àž "à¹àž¥àž·àž­àžàžàž¥àž±à¹àžàž­àžŽàžàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡" àžàž²àžàžàž±à¹àžàž¥àž²àžà¹àž¡àž²àžªà¹à¹àžàžàžàžàž¥àž±à¹àžàž­àžŽàžàžàž±à¹àž à¹àžàž¥à¹àžàž¥àž±àžà¹àžàž£àž·à¹àž­àžàž¡àž·àž­àžàžµà¹à¹àžªàžàžàžàž³àž­àžàžŽàžàž²àž¢àžàž°àžàž£àž²àžàžàžàž¶à¹àž</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àžàž¥àž±à¹àžàž­àžŽàžàž­àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž¥àž±à¹àžàž­àžŽàžà¹àžàž£àž²àž¢àžàž²àž£à¹àž¥àž°àžàž¥àžŽàž "à¹àž­àž²àžàž¥àž±à¹àžàž­àžŽàžàž­àž­àž"</p>
+
+<p>àžàž¥àž±à¹àžàž­àžŽàžàžàž°àžàž¹àžàžàž³àž«àžàžàžà¹àž²àžà¹àž§àž¢àžàž²àž£àžàž³àž«àžàžàž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžàžà¹àž² à¹àž«à¹à¹àž¥àž·àž­àžàžàž¥àž±à¹àžàž­àžŽàžàžàž²àžàž£àž²àž¢àžàž²àž£à¹àž¥àž°àžàž¥àžŽàž "àžàž³àž«àžàžàžà¹àž²àžàž¥àž±à¹àžàž­àžŽàž" (àž«àž£àž·àž­àžàž¥àžŽàžàžªàž­àžàžàž£àž±à¹àžàžàžµà¹àžàž¥àž±à¹àžàž­àžŽàž) àžàž¥à¹àž­àžà¹àžà¹àžàž­àž "àžàž²àž£àžàž³àž«àžàžàžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹" àžàž°àžàž£àž²àžàžàžàž¶à¹àžàžàž£à¹àž­àž¡àžàž±àž§àžàž§àžàžàžžàž¡àžà¹àž²àžà¹ àžªàž³àž«àž£àž±àžàž£àž°àžàžžàžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹</p>
+
+<p>àž¡àžµàžàž±àž§àžàž§àžàžàžžàž¡àžàžµà¹à¹àžàžàžà¹àž²àžàžàž±àžàž­àž¢àž¹à¹àž«àž¥àž²àž¢àžàžàžŽàž àžàž±àž§àžàž§àžàžàžžàž¡àžàž²àžàžàž±àž§à¹àžà¹àžàžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢ à¹àž¥àž°àžàž²àž£àžàž¥àžŽàžàž«àžàž¶à¹àžàžàž£àž±à¹àžàžàž°à¹àžà¹àžàžàž²àž£à¹àžàžŽà¹àž¡àžàž±àž§à¹àž¥àž·àž­àžàžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡à¹àž«à¹àžàž±àžàžàž¥àž±à¹àžàž­àžŽàž àžàž²àžàžàž±àž§à¹àžà¹àžàžªàžàž£àžŽàžàžà¹àž­àžàž§àž²àž¡àžàžµà¹àž¡àž²àžàž£à¹àž­àž¡àžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àž¥àž°à¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž­àžàž§àž²àž¡ à¹àž«à¹àžàž¥àžŽàžàžàžµà¹àžàž¥à¹àž­àžà¹àžàž·à¹àž­à¹àžàžŽàžà¹àžà¹àžàž²àžàž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹ àžàž²àžàžàž±à¹àžàžàžŽàž¡àžà¹àžà¹àž­àžàž§àž²àž¡àžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡ (àžàžŽàžàžàžà¹àžàžàžàžŽ àž«àž£àž·àž­à¹àžªà¹àžàžàž²àžàžàž­àžà¹àžà¹àž¡ à¹àž¥àž°àž­àž·à¹àžà¹) àž¥àžà¹àžàžàž¥à¹àž­àž àžàž±àž§àžàž§àžàžàžžàž¡àž­àž·à¹àžà¹ à¹àžà¹àžà¹àž¡àžàž¹à¹àžàžàž«àž¥à¹àžàž¥àžàžàž¶à¹àžàžàžžàžàžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžàžàž²àžàžàžžàžàžàž­àžàžà¹àž²àžàžµà¹àžàž³àž«àžàžà¹àž§à¹à¹àž¥à¹àž§à¹àžà¹ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž£àžµàž¢àžàž£àž¹à¹àžàž²àž£àžàž³àžàž²àžàžàž­àžàž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹ à¹àž«à¹àž¥àž²àžà¹àž¡àž²àžªà¹à¹àž«àžàž·àž­àžàž·à¹àž­àžàž­àžàž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžªàž±àžàžàž£àž¹à¹ àžàž³àž­àžàžŽàžàž²àž¢àžàž°àžàž£àž²àžàžàžàž¶à¹àž</p>
+
+<p>à¹àž¡àž·à¹àž­àžàžžàžà¹àžàž¥àžµà¹àž¢àžàžàž²àž£àžàž³àž«àžàžàžà¹àž²à¹àž¥à¹àž§ à¹àž«à¹àžàž¥àžŽàž "àžàžàž¥àž" à¹àžàž·à¹àž­àž¢àž·àžàž¢àž±àžàžàž²àž£à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àž à¹àž¥àž°àžàžŽàžàžàž¥à¹àž­àžà¹àžà¹àžàž­àžàžàž±à¹àž àž«àž£àž·àž­àžàž¥àžŽàž "àž¢àžà¹àž¥àžŽàž" à¹àžàž·à¹àž­àžàžŽàžàžàž¥à¹àž­àžà¹àžà¹àžàž­àžà¹àžàž¢à¹àž¡à¹àž¡àžµàžàž²àž£à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžà¹àž²àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹à¹àžà¹ àžàž­àžàžàž¥àž±à¹àžàž­àžŽàž</p>
+
+<p>àžàž¥àž±à¹àžàž­àžŽàžà¹àžàž£àž²àž¢àžàž²àž£àžàž°àžàž³à¹àžàžŽàžàžàž²àž£àžàž²àž¡àž¥àž³àžàž±àž à¹àž¥àž°àžàž²àž£à¹àž£àžµàž¢àžàž¥àž³àžàž±àžàžàž²àžàžàž£àž±à¹àžàžà¹àž¡àžµàžàž§àž²àž¡àžªàž³àžàž±àž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàž¥àž³àžàž±àžàžàž­àžàžàž¥àž±à¹àžàž­àžŽàžà¹àžà¹à¹àžàžàž²àž°à¹àžà¹àž«àž¡àžàžàž¹à¹à¹àžàžµà¹àž¢àž§àžàž²àžàž£àž°àžàžàž«à¹àž­àžàžªàž¡àžžàž (Library Systems Specialist) à¹àž¥àž°à¹àžà¹àž«àž¡àžàžàž¹à¹àžàž³àžàž²àžàžàž²àž£ (Expert) à¹àžà¹àž²àžàž±à¹àž (àžàž¹àžàžµà¹ <a href="preferences.htm">àžàž³àž«àžàžàž¥àž±àžàž©àžàž°</a>)</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/preferences.htm
===================================================================
--- main/tags/2.83/gli/help/th/preferences.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/preferences.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="preferences"><font size="5" face="Verdana"><strong>9.1: àžàž³àž«àžàžàž¥àž±àžàž©àžàž°</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¥à¹àž­àžà¹àžà¹àžàž­àžàžàž²àž£àžàž³àž«àžàžàž¥àž±àžàž©àžàž° àžàž¶à¹àžàžªàž²àž¡àž²àž£àžà¹àžà¹àž²àžàž¶àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£à¹àžàžŽàž "à¹àžà¹àž¡" -&gt; "àžàž³àž«àžàžàž¥àž±àžàž©àžàž°"</p>
+
+<p>àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàžŽàžàž«àžà¹àž²àžà¹àž²àžàžàž³àž«àžàžàž¥àž±àžàž©àžàž°à¹àžà¹àžàžµà¹à¹àžà¹àž"àžàž±à¹àž§à¹àž"  àžàž±àž§à¹àž¥àž·àž­àžàžàž±àž§à¹àž£àžà¹àžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž­àžàž§àž²àž¡àžªàž³àž«àž£àž±àžà¹àžªà¹àžàžµà¹àž­àž¢àž¹à¹àž­àžµà¹àž¡àž¥àžàž­àžàžàžžàž àžà¹àž²àžàžµà¹àžàž°à¹àžà¹àžªàž³àž«àž£àž±àžàž£àž²àž¢àžàž²àž£à¹àž¡àžàž²àžàž²àžàž²àžàž­àž¥à¹àž¥àžàžàž±àž "àžàž¹à¹àžªàž£à¹àž²àž" à¹àž¥àž° "àžàž¹à¹àžàž¹à¹àž¥àž£àž°àžàž" àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹ àžàž±àž§à¹àž¥àž·àž­àžàžàž±àžà¹àžà¹àžà¹àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àžàžàž­àžàž àž²àž©àž²àžàž¶à¹àžàžàž°à¹àžà¹àžàž àž²àž©àž²àžàžµà¹àžàž£àž²àžàžà¹àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ àžà¹àž²àžàžžàžà¹àžàž¥àžµà¹àž¢àžàžàžàžàž²àžàžžàžàž£àž¡àžà¹àž§àž¢àžàž²àž£à¹àž¥àž·àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£ àžàžžàžàžàž°àžà¹àž­àžà¹àž£àžŽà¹àž¡àžà¹àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹à¹àž«àž¡à¹à¹àžàž·à¹àž­àžàž³àžàž²àž£à¹àž«àž¥àžàžªàžàž£àžŽàžàž àž²àž©àž²à¹àž«àž¡à¹àžàž²àžàžàžàžàž²àžàžžàžàž£àž¡</p>
+
+<p>àžà¹àž²àžàžžàžà¹àžà¹à¹àž¥àž·àž­àž "àžàž¹à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž±àžàžàž­àž" à¹àž¥à¹àž§ àžàž±àž§àžàž§àžàžàžžàž¡àžà¹àž²àžà¹ àžàžµà¹àžàž³àžàž²àžà¹àžàžµà¹àž¢àž§à¹àžàž·à¹àž­àžàžàž±àžà¹àž¡àžàž²àžàž²àžàž²àžàž°à¹àžªàžàžà¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžàž«àž¡àžàžàžµà¹àžàž±àžàžàž­àžàž­àž­àžàž¡àž²àžàž²àžà¹àž­àžàžªàž²àž£à¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽà¹àžªàž¡àž­  àžàž²àž£à¹àž¡à¹à¹àž¥àž·àž­àžàžàž±àž§à¹àž¥àž·àž­àžàžàžµà¹àžàž°à¹àžà¹àžàžàž²àž£àžà¹àž­àžà¹àž¡àžàž²àžàž²àžàž²àžàž±àžàžàž¥à¹àž²àž§ (àž­àž¢à¹àž²àžà¹àž£àžà¹àžàž²àž¡ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹à¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¥à¹àž²àžàžµà¹à¹àžà¹àž£àž°àž«àž§à¹àž²àžàžàž²àž£àž­àž­àžà¹àžàžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àž¥àž°àž àž²àž¢à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžªàžžàžàžà¹àž²àž¢àžàž­àžàžàž£àžµàžàžªà¹àžàž) àžà¹àž²àžàžžàžà¹àžà¹à¹àž¥àž·àž­àž "à¹àžªàžàžàžàžàž²àžà¹àžà¹àž¡" àžàžàž²àžàžàž­àžà¹àžà¹àž¡àžàž°à¹àžªàžàžàžàž¶à¹àžàžàž±àžàžàž²àžà¹àžà¹àž¡à¹àžà¹àž¥àž°à¹àžà¹àž¡à¹àžàžàž·à¹àžàžàžµà¹àžàž³àžàž²àž à¹àž¥àž°à¹àžàžàž àž¹àž¡àžŽà¹àžà¹àž¡àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž¡àžžàž¡àž¡àž­àž "àž£àž§àžàž£àž§àž¡" à¹àž¥àž°àž¡àžžàž¡àž¡àž­àž "à¹àž¡àžàž²àžàž²àžàž²"</p>
+
+<p>à¹àžà¹àž"à¹àž«àž¡àž" à¹àžà¹àžªàž³àž«àž£àž±àžàžàž§àžàžàžžàž¡àž£àž°àžàž±àžàžàž­àžàž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžàž àž²àž¢à¹àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹ à¹àžàžàž²àž£àžàž±à¹àžàžà¹àž²à¹àžàžàžà¹àž³àžªàžžàž àžàž¶à¹àžàžàž·àž­"àžàž¹à¹àžà¹àž§àž¢àž«à¹àž­àžàžªàž¡àžžàž"àžàž±à¹àž àž¡àžžàž¡àž¡àž­àžàžàž²àž£àž­àž­àžà¹àžàžàžàž°àžàž¹àžàžàžŽàžà¹àžà¹àžàž²àž àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžàžµà¹àžà¹àž­àžàžàž²àž£àžàžŽàžàžàžà¹àžàžàžàžŽàžàž°àžàž¹àžàžà¹àž­àžà¹àž§à¹ à¹àž¥àž°àžàž£àž°àžàž§àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž°àžªàž£à¹àž²àžà¹àžà¹àž¡àžàž±àžàžàž¶àžàžàž­àžà¹àž«àžàžžàžàž²àž£àžà¹àž­àž¢à¹àž²àžàžªàž±à¹àž à¹àžàžàž²àžàžàž¥àž±àžàžàž±àž àžàž²àž£àžàž±à¹àžàžà¹àž²à¹àžàžàžªàž¹àžàžªàžžàž àžàž¶à¹àžàžàž·àž­ "àžàž¹à¹àžàž³àžàž²àžàžàž²àž£" àžàž°àžà¹àž§àž¢à¹àž«à¹àžàž¹à¹à¹àžà¹àžªàž²àž¡àž²àž£àžà¹àžà¹àž²àžàž¶àžàžàžžàžàž¥àž±àžàž©àžàž°àžàž­àžàžàž²àž£àž­àž­àžà¹àžàžàžàž±à¹àžàž«àž¡àž àž£àž§àž¡àžàž¶àžàžàž²àž£àžàž±àžàžàž³à¹àž«àžà¹àžàžàž¥àž±à¹àžàž­àžŽàž à¹àž¥àž°àž­àž²àž£à¹àžàžŽàž§à¹àž¡àžàžà¹àžàžŽàžàžàžà¹àžàžàžàžŽ àž£àž§àž¡àžàž±à¹àžàž­àžàžžàžàž²àžà¹àž«à¹àž¡àžµàžàž²àž£àžàž±àžàžàž¶àžàžàž¥àž¥àž±àžàžà¹à¹àžàžà¹àžà¹àž¡àžàž²àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¥àžà¹àžà¹àžà¹àž¡àžàž±àžàžàž¶àžàžà¹àž§àž¢ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàž¥àžµà¹àž¢àžàž«àž£àž·àž­àžàž£àž§àžàžàž²àžà¹àž«àž¡àž à¹àž«à¹àžàž¥àžŽàžàžàžžà¹àž¡àžàž±àž§à¹àž¥àž·àž­àžàžàžµà¹àž­àž¢àž¹à¹àž«àžà¹àž²à¹àž«àž¡àžàžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£  àžàžžàžàžªàž²àž¡àž²àž£àžàžàž£àž§àžàžàž²àžà¹àžà¹àž­àž¢à¹àž²àžàž£àž§àžà¹àž£à¹àž§àž§à¹àž²àžàžžàžàžàž³àž¥àž±àžàžàž³àžàž²àžàž­àž¢àž¹à¹à¹àžà¹àž«àž¡àžà¹àžàžà¹àž§àž¢àžàž²àž£àžàž¹à¹àžàžàžàž·à¹àž­àžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹</p>
+
+<p>à¹àžà¹àž"àžàž²àž£à¹àžàž·à¹àž­àž¡àžà¹àž­"àžàž°àžà¹àž§àž¢à¹àž«à¹àžàžžàžàžªàž²àž¡àž²àž£àžàžàž£àž±àžà¹àžàž¥àžµà¹àž¢àžà¹àžªà¹àžàžàž²àžà¹àžàž¢àž±àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹àž«à¹àž­àžàžªàž¡àžžàžàžàž£àžµàžàžªà¹àžàžàžàžµà¹àžàž³àžàž²àžà¹àžà¹àžàž£àž·à¹àž­àžà¹àžà¹ àžàž¶à¹àžàžàž°àžàž¹àžà¹àžà¹à¹àž¡àž·à¹àž­à¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àžà¹àžàžàž²àž£à¹àžàž·à¹àž­àž¡àžà¹àž­àžàžµà¹àž¢àž±àžàžà¹àž§àž¢à¹àž«à¹àžàžžàžàžªàž²àž¡àž²àž£àžàžàž±à¹àžàžà¹àž²àžà¹àž­àž¡àž¹àž¥àžàž£à¹àž­àžàžàžµàžªàž³àž«àž£àž±àžà¹àžàž·à¹àž­àž¡àžà¹àž­à¹àžàž¢àž±àžàž­àžŽàžà¹àžàž­àž£à¹à¹àžà¹àžà¹àžà¹ (à¹àžà¹àž à¹àž¡àž·à¹àž­àžàž²àž§àžà¹à¹àž«àž¥àžà¹àžà¹àž¡ à¹àžàž¢àžªàž²àž¡àž²àž£àžàžàž¹àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžà¹àžàžŽà¹àž¡à¹àžàžŽàž¡à¹àžà¹àžàžµà¹àžªà¹àž§àž <a href="downloadingfiles.htm">àžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžà¹àžà¹àž¡àžàž²àžàž­àžŽàžà¹àžàž­àž£à¹à¹àžà¹àž</a>) à¹àž«à¹àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàžµà¹àžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àžàž·à¹àž­à¹àžàžŽàžà¹àžà¹àžàž²àžàžàž²àž£à¹àžàž·à¹àž­àž¡àžà¹àž­àžàž£à¹àž­àžàžàžµ à¹àž¥àž°à¹àž«à¹àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžà¹àžàžµà¹àž¢àž§àžàž±àžàžàžµà¹àž­àž¢àž¹à¹à¹àž®àžªàžà¹àžàž£à¹àž­àžàžàžµà¹àž¥àž°àž«àž¡àž²àž¢à¹àž¥àžàžàž­àž£à¹àž àžàž²àž£à¹àžàž·à¹àž­àž¡àžà¹àž­àžàž°àžàž¹àžàžªàž£à¹àž²àžàžàž¶à¹àžà¹àž¡àž·à¹àž­àžàžžàžàžàžŽàžàžàž¥à¹àž­àžà¹àžà¹àžàž­àž "àžàž³àž«àžàžàž¥àž±àžàž©àžàž°"</p>
+
+<p>àž£àž°àž«àž§à¹àž²àžàžà¹àž§àžà¹àž§àž¥àž²àžàž­àžà¹àžàžªàžàž±àž àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àž­àž²àžà¹àžªàžàžàžà¹àž­àžàž§àž²àž¡à¹àžàž·àž­àžà¹àžàžµà¹àž¢àž§àžàž±àžàžàž¥àžàž²àž£àžàž£àž°àžàž³àžàžµà¹àžàžžàžàž­àž²àžàžàž°à¹àž¡à¹à¹àžàž¢à¹àž«à¹àžàž¡àž²àžà¹àž­àž àžàžžàžàžªàž²àž¡àž²àž£àžàžàžŽàžàžàž²àž£à¹àžà¹àžàž²àžàžà¹àž­àžàž§àž²àž¡àžàžµà¹à¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžàžàžµà¹àžàž¥à¹àž­àž "à¹àž¡à¹àžà¹àž­àžà¹àžªàžàžàžà¹àž­àžàž§àž²àž¡à¹àžàž·àž­àžàžàžµà¹àž­àžµàž" àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàžŽàžà¹àžà¹àžàž²àžàžà¹àž­àžàž§àž²àž¡à¹àžàž·àž­àžà¹àžà¹àž­àžµàžàžàž£àž±à¹àžàžà¹àž§àž¢àžàž²àž£à¹àžà¹à¹àžà¹àž "àžàž³à¹àžàž·àž­àž"  à¹àž«à¹àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàžµà¹àžàž¥à¹àž­àžàžàž¶à¹àžàž­àž¢àž¹à¹àž«àžà¹àž²àžà¹àž­àžàž§àž²àž¡à¹àžàž·àž­àžàžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£à¹àž«à¹àžàž­àžµàžàžàž£àž±à¹àž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/producingthecollection.htm
===================================================================
--- main/tags/2.83/gli/help/th/producingthecollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/producingthecollection.htm	(revision 21123)
@@ -0,0 +1,20 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="producingthecollection"><font size="5" face="Verdana"><strong>7: àžàž²àž£àžàž¥àžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžàž²àž£à¹àžà¹àž£àž§àžàž£àž§àž¡à¹àž­àžàžªàž²àž£àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àž«à¹àžàž³àž­àžàžŽàžàž²àž¢àžàž£àž°àžàž­àžà¹àž­àžàžªàž²àž£àžà¹àž§àž¢à¹àž¡àžàž²àžàž²àžàž² à¹àž¥àž°àž­àž­àžà¹àžàžàž§àžŽàžàžµàžàž²àž£àžàž³à¹àžªàžàž­àžàž­àž¥à¹àž¥àžàžàž±àž à¹àžàžàž­àžàžàžµà¹àžàžžàžàžªàž²àž¡àž²àž£àžàžàž¥àžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž¢à¹àžà¹à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžà¹à¹àž¥à¹àž§ àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž²àž£àžàž¥àžŽàžàžàž­àž¥à¹àž¥àžàžàž±àž</p>
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/removingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/th/removingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/removingfiles.htm	(revision 21123)
@@ -0,0 +1,20 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="removingfiles"><font size="5" face="Verdana"><strong>4.6: àžàž²àž£à¹àž­àž²à¹àžà¹àž¡àž­àž­àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àž¡àžµàž«àž¥àž²àž¢àž§àžŽàžàžµà¹àžàžàž²àž£à¹àž­àž²à¹àžà¹àž¡à¹àž¥àž°à¹àžàž¥à¹àžàž­àž£à¹àž­àž­àž àžà¹àž­àžàž­àž·à¹àžàžàžžàžàžà¹àž­àžàž£àž°àžàžžàž§à¹àž² àžà¹àž­àžàžàž²àž£à¹àž­àž²àž£àž²àž¢àžàž²àž£à¹àžàž­àž­àžàžà¹àž²àžàžà¹àž§àž¢àžàž²àž£à¹àž¥àž·àž­àžà¹àžà¹àž¡àž­àž¢à¹àž²àžàžà¹àž­àž¢àž«àžàž¶à¹àžà¹àžà¹àž¡à¹àž¥àž°à¹àžàž¥à¹àžàž­àž£à¹àžàž±àžàžàžµà¹à¹àžà¹àž­àžàžŽàžàž²àž¢à¹àž§à¹à¹àž <a href="thegatherview.htm">àž¡àžžàž¡àž¡àž­àž "àž£àž§àžàž£àž§àž¡"</a>
+</p>
+
+<p>àžàž±àžàžàžµàžàžµà¹à¹àž¥àž·àž­àžà¹àžà¹àž¡à¹àž¥à¹àž§ à¹àž«à¹àžàž¥àžŽàžàžàžžà¹àž¡ "àž¥àž" à¹àžàž·à¹àž­à¹àž­àž²à¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàž±à¹àžàž­àž­àž àž«àž£àž·àž­àžàžà¹àžà¹àž [Delete] àžàžà¹àžà¹àžàžàžŽàž¡àžà¹àžàž­àžàžàžžàž àž«àž£àž·àž­àž¥àž²àžà¹àžà¹àž¡àžàž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàžàžµà¹àžàžžà¹àž¡àž¥àž à¹àž¥àž°àžàž¥à¹àž­àž¢à¹àžà¹àž¡àž¥àžà¹àžàžàžµà¹àžàž±à¹àž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/replacingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/th/replacingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/replacingfiles.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="replacingfiles"><font size="5" face="Verdana"><strong>4.5: àžàž²àž£à¹àžàž¥àžµà¹àž¢àžàžàž·à¹àž­à¹àžà¹àž¡ à¹àž¥àž°àžàž²àž£à¹àžàžàžàžµà¹à¹àžà¹àž¡</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàž¥àžµà¹àž¢àžàžàž·à¹àž­à¹àžà¹àž¡à¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžàžàž§àž²àžàžµà¹à¹àžà¹àž¡ à¹àž¥àž°à¹àž¥àž·àž­àž "à¹àžàž¥àžµà¹àž¢àžàžàž·à¹àž­" àžàž²àžàž£àž²àž¢àžàž²àž£ àžàž²àžàžàž±à¹àžà¹àž«à¹à¹àžªà¹àžàž·à¹àž­à¹àž«àž¡à¹àžàžµà¹àžàž£à¹àž­àž¡àžà¹à¹àž¥àž°àžàž¥àžŽàž "àžàžàž¥àž"</p>
+
+<p>àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàžàžàžµà¹à¹àžà¹àž¡à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžàžàž§àž²àžàžµà¹à¹àžà¹àž¡à¹àžàž·à¹àž­à¹àžàžàžàžµà¹ à¹àž¥àž°à¹àž¥àž·àž­àž "à¹àžàžàžàžµà¹" à¹àžàž£àž²à¹àžàž­àž£à¹àžàž­àžà¹àžà¹àž¡àžàž°à¹àžàžŽàžàžàž¶à¹àž àžàž²àžàžàž±à¹àžà¹àž«à¹àžàž³àžàž²àžà¹àžàž¢àž±àžà¹àž­àžàžªàž²àž£à¹àž«àž¡à¹ à¹àž¥àž°àžàž¥àžŽàž "à¹àžàžŽàž" à¹àž­àžàžªàž²àž£à¹àž«àž¡à¹àžàž°à¹àžà¹àž²à¹àžàžàžàžµà¹à¹àž­àžàžªàž²àž£à¹àžà¹àž²à¹àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àž¥àž°à¹àž¡àžàž²àžàž²àžàž²à¹àžà¹ àžàž°àžàž¹àžà¹àž­àžà¹àžàž¢àž±àžà¹àž­àžàžªàž²àž£à¹àž«àž¡à¹ àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹àžàžàžµà¹àžàž°à¹àžà¹àžàžàž£àž°à¹àž¢àžàžà¹àž­àž¢à¹àž²àžàž¡àž²àžà¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžàžàžµà¹à¹àž­àžàžªàž²àž£àžàž³àž¥àž­àžàžà¹àž§àž¢à¹àž­àžàžªàž²àž£àžàž£àžŽàž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/reviewingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/th/reviewingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/reviewingmetadata.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="reviewingmetadata"><font size="5" face="Verdana"><strong>5.6: àžàž²àž£àžàž£àž§àžàžàž²àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžàž²àžàžàž£àž±à¹àžàžàžžàžàž­àž²àžàžàž°àžà¹àž­àžàžàž²àž£àžàž¹à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžà¹àžàž³àž«àžàžà¹àž«à¹àžàž±àžà¹àžà¹àž¡àžàž³àžàž§àžàž«àž¥àž²àž¢à¹àžà¹àž¡à¹àžàžàž£à¹àž­àž¡àžàž±àžàžàž±àžàžàžµ -- àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž¹àž§à¹àž² àž¡àžµàžàž³àžàž§àžà¹àžà¹àž¡àžàžµà¹àžàž°àžà¹àž²àžàžàž²àž£àžàž³àžàž²àžàž­àž¢àž¹à¹àžàžµà¹à¹àžà¹àž¡ àž«àž£àž·àž­à¹àžàž·à¹àž­à¹àž«à¹à¹àžà¹àžàž§àž²àž¡àžàžŽàžà¹àžàžµà¹àž¢àž§àžàž±àžàžàž²àž£àžàž£àž°àžàž²àž¢àžàž­àžàž§àž±àžàžàžµà¹àžà¹àž²àžà¹</p>
+
+<p>à¹àž«à¹à¹àž¥àž·àž­àžà¹àžà¹àž¡à¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£àžàž£àž§àžàžªàž­àž àžàž²àžàžàž±à¹àžàžàž¥àžŽàžàžàž§àž² à¹àž¥àž°à¹àž¥àž·àž­àž "à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàž&hellip;"  àž«àžà¹àž²àžà¹àž²àžàžàžµà¹àžàž·à¹àž­àž§à¹àž² "à¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžàž«àž¡àž" àžàž¶à¹àžàžàž£àž£àžàžžàž­àž¢àž¹à¹à¹àžàžàž²àž£àž²àžàžàžàž²àžà¹àž«àžà¹àžàžµà¹àž¡àžµàžàž­àž¥àž±àž¡àžà¹àžàž³àžàž§àžàž¡àž²àžàžàž°àžàž£àž²àžàžàžàž¶à¹àž àžàž­àž¥àž±àž¡àžà¹à¹àž£àžàžàž°à¹àžªàžàžàžàž·à¹àž­à¹àžà¹àž¡ à¹àž¥àž°à¹àžàž§àžàž°à¹àžªàžàžàžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžàž«àž¡àžàžàžµà¹àžàž³àž«àžàžà¹àž«à¹àžàž±àžà¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàž±à¹àž</p>
+
+<p>àž£àž°àžàžàž­àž²àžàžàž°à¹àžà¹à¹àž§àž¥àž²àžàž²àžà¹àžàž·à¹àž­àž§àž²àžàžàž²àž£àž²àžàž«àž²àžàžàžžàžà¹àž¥àž·àž­àžà¹àžà¹àž¡àžàž³àžàž§àžàž¡àž²àž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹àžàž²àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžà¹àž­à¹àžà¹àžà¹àžàžàž°àžàžµà¹àž«àžà¹àž²àžà¹àž²àž "à¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžàž«àž¡àž" à¹àžàžŽàžàž­àž¢àž¹à¹</p>
+
+<p>à¹àž¡àž·à¹àž­àžàž¥àž¥àž±àžàžà¹àž¡àžµàžàž³àžàž§àžàž¡àž²àžà¹àžàžŽàžà¹àž àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³àžàž²àž£àžàž£àž­àžàžàž²àž£àž²àž "à¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžàž«àž¡àž" à¹àžà¹à¹àžàž¢àžàž²àž£àžàž£àž±àžà¹àžà¹àžàž±àž§àžàž£àž­àžàžàž±àžàžàž­àž¥àž±àž¡àžà¹ à¹àž¡àž·à¹àž­à¹àžàžŽà¹àž¡àžàž±àž§àžàž£àž­àžà¹àž«àž¡à¹à¹àž¥à¹àž§ àž£àž°àžàžàžàž°à¹àžªàžàžàžàž¥àž¥àž±àžàžà¹à¹àžàžµàž¢àžàžàž²àžà¹àžàž§àžàžµà¹àžàž£àžàžàž±àžà¹àžàž·à¹àž­àžà¹àžà¹àžà¹àž²àžàž±à¹àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž±à¹àžàžà¹àž² à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžà¹àž² àž«àž£àž·àž­àž¥à¹àž²àžàžà¹àž²àžàž±àž§àžàž£àž­àž à¹àž«à¹àžàž¥àžŽàžà¹àž­àžàž­àž "àžàž£àž§àž¢" àžàžµà¹àžà¹àž²àžàžàžàžªàžžàžàžàž­àžàžàž­àž¥àž±àž¡àžà¹ àžàž²àžàžàž±à¹àžàžà¹àž­àž¡àž¹àž¥à¹àžàžµà¹àž¢àž§àžàž±àžàžàž±àž§àžàž£àž­àžàžàž°à¹àžªàžàžàžàž¶à¹àž àžàž±àžàžàžµàžàžµà¹àžàž±à¹àžàžà¹àž²àžàž±àž§àžàž£àž­àž àžªà¹àž§àžàž«àž±àž§àžàž­àž¥àž±àž¡àžà¹àžàž°à¹àžàž¥àžµà¹àž¢àžàžªàžµà¹àž</p>
+
+<p>àžàž£à¹àž­àž¡àžà¹àžàž±àž§àžàž£àž­àžàž¡àžµà¹àžà¹àž "àžàž±àž§àžàž£àž­àžàž­àž¢à¹àž²àžàžà¹àž²àž¢" à¹àž¥àž°à¹àžà¹àž "àžàž±àž§àžàž£àž­àžàž­àž¢à¹àž²àžàž¥àž°à¹àž­àžµàž¢àž"  àžàž±àž§àžàž£àž­àžàž­àž¢à¹àž²àžàžà¹àž²àž¢àžàž°àžàž³à¹àžàžŽàžàžàž²àž£àžàž£àž­àžàžàž­àž¥àž±àž¡àžà¹à¹àžàž·à¹àž­à¹àž«à¹àžàž­àž¥àž±àž¡àžà¹à¹àžªàžàžà¹àžàžàž²àž°à¹àžàž§àžàžµà¹àž¡àžµàžà¹àž²à¹àž¡àžàž²àžàž²àžàž²à¹àžàžàž²àž°àž­àž¢à¹àž²àž ("*" àžàž£àžàžàž±àžàžàžžàžàžà¹àž²)  àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžàžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàž²àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àžà¹àžà¹ àžàž±àž§àžàž£àž­àžàž­àž¢à¹àž²àžàž¥àž°à¹àž­àžµàž¢àžàžàž°àž­àžàžžàžàž²àžà¹àž«à¹à¹àžà¹àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£àžàž£àž§àžàžªàž­àžàžàž§àž²àž¡àžàž£àžàžàž±àžàžàžµà¹àžà¹àž²àžà¹àžàž·à¹àž­àžà¹àžàžàž±àžà¹àžà¹ à¹àžà¹àž à¹àž£àžŽà¹àž¡àžà¹àžàžà¹àž§àž¢ (must start with) à¹àž¡à¹àž¡àžµ (does not contain) àž¡àžµàžàž³àžàž§àžàž­àž±àžàžàž£àž°àžà¹àž­àž¢àžàž§à¹àž² (alpahbetically less than) à¹àž¥àž°à¹àžà¹àž²àžàž±àž (is equal to) àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžàžà¹àž²àžàžµà¹àžà¹àž­àžàžàž²àž£à¹àž«à¹àžàž£àžàžàž±àžà¹àžà¹àžàžªàžàž£àžŽàžà¹àžà¹ (àž£àž§àž¡àžàž±à¹àž "*") à¹àž¥àž°àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžà¹àžà¹àž§à¹àž²àžàž°à¹àž¡à¹à¹àž«à¹à¹àž¢àžà¹àž¢àž°àžàž±àž§àžàžŽàž¡àžà¹à¹àž«àžà¹-à¹àž¥à¹àžàž«àž£àž·àž­à¹àž¡à¹ àžàž²àžàžàž±à¹àž àžàžžàžàžªàž²àž¡àž²àž£àžàž£àž°àžàžžà¹àžàž·à¹àž­àžà¹àžàžàž²àž£àžàž£àžàžàž±àžà¹àžàž·à¹àž­àžà¹àžàžàžµà¹àžªàž­àžàžàž¶à¹àžàžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžàž·à¹àž­àž£àž°àžàžžàžà¹àž§àžàžàž­àžàžà¹àž² (àžà¹àž§àž¢àžàž²àž£à¹àž¥àž·àž­àž 'à¹àž¥àž°') àž«àž£àž·àž­àžà¹àž²àžàžµà¹à¹àžà¹àžàžàž±àž§à¹àž¥àž·àž­àžàž­àž·à¹àžà¹ (àžà¹àž§àž¢àžàž²àž£à¹àž¥àž·àž­àž 'àž«àž£àž·àž­') à¹àžà¹àžàž·à¹àžàžàžµà¹àžàžµà¹àžàž°à¹àžà¹àžàžàž¥à¹àž­àžàžàžµà¹àž­àžàžžàžàž²àžà¹àž«à¹àžàžžàžà¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàž¥àž³àžàž±àžàžàž²àž£àžàž±àžà¹àž£àžµàž¢àžà¹àžà¹ (àžàž²àžàžà¹àž­àž¢à¹àžàž¡àž²àž àž«àž£àž·àž­àžàž²àžàž¡àž²àžà¹àžàžà¹àž­àž¢) àžàž±àžàžàžµàžàžµà¹àžàžžàžàžàž³à¹àžàžŽàžàžàž²àž£à¹àžªàž£à¹àžàžªàžŽà¹àžà¹àž¥à¹àž§ à¹àž«à¹àžàž¥àžŽàž "àžàž±à¹àžàžà¹àž²àžàž±àž§àžàž£àž­àž" à¹àžàž·à¹àž­àžàž£àž°àž¢àžžàžàžà¹à¹àžà¹àžà¹àž²àžàž±àž§àžàž£àž­àžà¹àž«àž¡à¹àžàž±àžàžàž­àž¥àž±àž¡àžà¹  àž«àž£àž·àž­àžàž¥àžŽàž "àž¥à¹àž²àžàžà¹àž²àžàž±àž§àžàž£àž­àž" à¹àžàž·à¹àž­à¹àž­àž²àžàž±àž§àžàž£àž­àžàžàž±àžàžàžžàžàž±àžàž­àž­àž à¹àžàž£àžàžªàž±àžà¹àžàžàž§à¹àž² àž£àž°àžàžàžàž°àž¢àž±àžàžàžàžà¹àž²àž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžàžàž­àžàžàž±àž§àžàž£àž­àžà¹àžàžŽàž¡à¹àž§à¹à¹àž¡à¹àž§à¹àž²àžàž±àž§àžàž£àž­àžàžàž°àžàž¹àžàž¥à¹àž²àžàžà¹àž²à¹àž¥à¹àž§</p>
+
+<p>àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž£àžµàž¢àžàž¥àž³àžàž±àžàžàž²àž£àž²àž "à¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžàž«àž¡àž" à¹àž«à¹à¹àž¥àž·àž­àžàžàž­àž¥àž±àž¡àžà¹ à¹àž¥à¹àž§à¹àž¥àž·àž­àžàžàž²àž£àžàž±à¹àžàžà¹àž²àžàž±àž§àžàž£àž­àžà¹àž£àžŽà¹àž¡àžà¹àž (àžàž±àž§àžàž£àž­àžàž­àž¢à¹àž²àžàžà¹àž²àž¢à¹àžàžŽàžà¹àžà¹àžàž²àžàž­àž¢àž¹à¹ "*") àžàž²àžàžàž±à¹àžà¹àž¥àž·àž­àžàžàž²àž£à¹àž£àžµàž¢àžàž¥àž³àžàž±àžàžàž²àžàžà¹àž­àž¢à¹àžàž«àž²àž¡àž²àž àž«àž£àž·àž­àžàž²àžàž¡àž²àžà¹àžàž«àž²àžà¹àž­àž¢</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/savingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/th/savingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/savingacollection.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="savingacollection"><font size="5" face="Verdana"><strong>2.2: àžàž²àž£àžàž±àžàžàž¶àžàžàž­àž¥à¹àž¥àžàžàž±àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžàž±àžàžàž¶àžàžàž²àžàžàž­àžàžàžžàžàž­àž¢à¹àž²àžàžªàž¡à¹àž³à¹àžªàž¡àž­àžà¹àž§àž¢àžàž²àž£à¹àžàžŽàžà¹àž¡àžàž¹ "à¹àžà¹àž¡" à¹àž¥àž°à¹àž¥àž·àž­àž "àžàž±àžàžàž¶àž"  àžàž²àž£àžàž±àžàžàž¶àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž¡à¹à¹àž«àž¡àž·àž­àžàžàž±àžàžàž²àž£à¹àžàž£àžµàž¢àž¡àžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž·à¹àž­à¹àžà¹àžàž²àžà¹àžà¹àžàž±àžàžàžµà¹àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž (àžàž¹àžàžµà¹ <a href="producingthecollection.htm">àžàž²àž£àžàž¥àžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž</a>)</p>
+
+<p>àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž°àžà¹àž§àž¢àžàžàžà¹àž­àžàžàž²àžàžàž­àžàžàžžàžàžà¹àž§àž¢àžàž²àž£àžàž±àžàžàž¶àžàžàž²àžà¹àž¡àž·à¹àž­à¹àžàžà¹àžàž²àž¡àžàžµà¹àžàžžàžàž­àž­àžàžàž²àžà¹àžàž£à¹àžàž£àž¡àž«àž£àž·àž­à¹àž«àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àžàž­àž·à¹àž</p>
+
+<p>àžàž­àž¥à¹àž¥àžàžàž±àžàžàž°àžàž¹àžàžàž±àžàžàž¶àžàž¥àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹àž àž²àž¢à¹àžà¹àžàž¥à¹àžàž­àž£à¹ "collect" àžàž­àžàžªà¹àž§àžàžàž²àž£àžàžŽàžàžàž±à¹àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž à¹àžàž¢àžàž°à¹àžà¹àžàž·à¹àž­àžªàž±à¹àžà¹ àžàž²àž¡àžàž·à¹àž­àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àž­àžàžªàž²àž£àžà¹àž²àžà¹ àžàž°àžàž¹àžàžàž±àžàžàž¶àžàž¥àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹àž¢à¹àž­àž¢"import" à¹àž¥àž°à¹àž¡àžàž²àžàž²àžàž²àžàž°àžàž¹àžàžàž±àžàžàž¶àžàž¥àžà¹àžà¹àžà¹àž¡ "metadata.xml" àž àž²àž¢à¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹ àžà¹àž­àž¡àž¹àž¥à¹àžàžµà¹àž¢àž§àžàž±àžàžàž²àž£àžàž³àž«àžàžàžà¹àž²àžàž°àžàž¹àžàžàž±àžàžàž¶àžàž¥àžà¹àžà¹àžà¹àž¡ "collect.cfg" àž àž²àž¢à¹àžà¹àžàž¥à¹àžàž­àž£à¹àž¢à¹àž­àž¢ "etc"  àžà¹àž­àž¡àž¹àž¥àžàž²àžàž­àž¢à¹àž²àžàžàž°àžàž¹àžàžàž±àžàžàž¶àžàž¥àžà¹àžà¹àžà¹àž¡àžàžµà¹àž¡àžµàžàž²àž£àžàž³àž«àžàžàžàž·à¹àž­àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àž à¹àž¥àž°àž¡àžµàžàž²àž¡àžªàžàžžàž¥à¹àžà¹àž¡à¹àžà¹àž ".col"</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/searchindexes.htm
===================================================================
--- main/tags/2.83/gli/help/th/searchindexes.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/searchindexes.htm	(revision 21123)
@@ -0,0 +1,43 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchindexes"><font size="5" face="Verdana"><strong>6.3: àžàž±àžàžàžµàžà¹àžàž«àž²</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžàž±àžàžàžµàžàž°àž£àž°àžàžžàž§à¹àž²àžªà¹àž§àžà¹àžàžà¹àž²àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžªàž²àž¡àž²àž£àžàžà¹àžàž«àž²à¹àžà¹ àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž²àž£à¹àžàžŽà¹àž¡àž«àž£àž·àž­àžàž²àž£à¹àž­àž²àžàž±àžàžàžµàž­àž­àž à¹àž¥àž°àžàž²àž£àžàž±à¹àžàžà¹àž²àžàž±àžàžàžµà¹àž£àžŽà¹àž¡àžà¹àž àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹à¹àžàž¢àžàž¥àžŽàžàžàžµà¹ "àžàž±àžàžàžµàžàž²àž£àžà¹àžàž«àž²  " àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž­àž­àžà¹àžàž  "</p>
+
+<p>àž¡àžžàž¡àžàžàžàž§àž²àžàž­àžàžàž²à¹àžàž¥ "àžàž±àžàžàžµàžàž²àž£àžà¹àžàž«àž²  " àžàž°à¹àžªàžàžàžà¹àž­àž¡àž¹àž¥à¹àžàžµà¹àž¢àž§àžàž±àžàžàž±àž§àžàž³àžàž±àžàžàžµàžàžµà¹àžàž­àž¥à¹àž¥àžàžàž±àžàžàž³àž¥àž±àžà¹àžà¹àžàž²àžàž­àž¢àž¹à¹ àžàž¶à¹àžàžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžà¹àžà¹à¹àžàž¢àžàž¥àžŽàž "à¹àžàž¥àžµà¹àž¢àž&hellip;  "  àž«àžà¹àž²àžà¹àž²àžàžà¹àž­àžàž­àž±àžàžàž°àžàž£àž²àžàžàžàž¶à¹àžàžàž£à¹àž­àž¡àž£àž²àž¢àžàž²àž£àžàž­àžàžàž±àž§à¹àž¥àž·àž­àž: MG, MGPP à¹àž¥àž° Lucene àžàž²àž£à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžàžµà¹àžàž°àžªà¹àžàžàž¥àžà¹àž­àž§àžŽàžàžµàžàž²àž£àžªàž£à¹àž²àžàžàž±àžàžàžµ à¹àž¥àž°àž­àž²àžàžªà¹àžàžàž¥àžà¹àž­àžàž±àžàžà¹àžàž±àžàžàžµà¹à¹àžà¹à¹àžàžàž²àž£àžà¹àžàž«àž²àžà¹àž§àž¢</p>
+
+<p>àž£àž²àž¢àžàž²àž£ "àžàž±àžàžàžµàžàžµà¹àžàž³àž«àžàž  " à¹àžªàžàžàž£àž²àž¢àžàž²àž£àžàž±àžàžàžµàžàžµà¹àžàž³àž«àžàžà¹àžà¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàžàž±àžàžàžžàžàž±àž</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàž±àžàžàžµ à¹àž«à¹àžàž¥àžŽàž "àžàž±àžàžàžµà¹àž«àž¡à¹  "... àž«àžà¹àž²àžà¹àž²àžàžà¹àž­àžàž­àž±àžàžàž°àžàž£àž²àžàžàžàž¶à¹àžàžàž£à¹àž­àž¡àž£àž²àž¢àžàž²àž£à¹àž«àž¥à¹àžàžà¹àž­àž¡àž¹àž¥ àžàž¶à¹àžàž£àž§àž¡àžàž¶àžàžà¹àž­àžàž§àž²àž¡à¹àž¥àž°à¹àž¡àžàž²àžàž²àžàž² à¹àž«à¹à¹àž¥àž·àž­àžà¹àž«àž¥à¹àžàžà¹àž­àž¡àž¹àž¥àžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£àžàž³àžàž±àžàžàžµ àžàžžà¹àž¡ "à¹àž¥àž·àž­àžàžàž±à¹àžàž«àž¡àž  " à¹àž¥àž° "à¹àž¡à¹à¹àž¥àž·àž­àžà¹àž¥àž¢  " àžàž°à¹àžà¹à¹àžàžàž²àž£àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àž«àž£àž·àž­àž¢àžà¹àž¥àžŽàžàžàž²àž£àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àž£àž²àž¢àžàž²àž£àžàž±à¹àžàž«àž¡àžà¹àžàž£àž²àž¢àžàž²àž£àžàž²àž¡àž¥àž³àžàž±àž àžàž±àžàžàžµàžàžµà¹àž¡àžµàžàž²àž£àžàž³àž«àžàžàžàž±àžàžàžµà¹àž«àž¡à¹ à¹àž«à¹àžàž¥àžŽàž "à¹àžàžŽà¹àž¡àžàž±àžàžàžµ  " à¹àžàž·à¹àž­à¹àžàžŽà¹àž¡àžàž±àžàžàžµàž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž "à¹àžàžŽà¹àž¡àžàž±àžàžàžµ  " àžàž°à¹àžà¹àžàž²àžà¹àžà¹à¹àžàžàž²àž°à¹àž¡àž·à¹àž­àžàž²àž£àžàž±à¹àžàžà¹àž²àž­àžàžŽàžàž²àž¢àžàž±àžàžàžµà¹àž«àž¡à¹àžàžµà¹àž¢àž±àžà¹àž¡à¹à¹àžà¹àž¡àžµàžàž²àž£àžàž³àž«àžàžà¹àž«à¹àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àž²àžàž±à¹àž</p>
+
+<p>àžªàž³àž«àž£àž±àžàžàž±àžàžàžµà¹àžàž MG àžàžžàžàžàž³à¹àžà¹àžàžà¹àž­àžà¹àž¥àž·àž­àžàžàž§àž²àž¡àž¥àž°à¹àž­àžµàž¢àžàžàž­àžàžàž±àžàžàžµ à¹àžàž¢à¹àžà¹à¹àž¡àžàž¹ "àž£àž°àžàž±àžàžàž²àž£àžàž±àžàžàž³àžàž±àžàžàžµ:  " àžà¹àž§àž¢</p>
+
+<p>àžªàž³àž«àž£àž±àžàžàž±àžàžàžµà¹àžàž MGPP à¹àž¥àž° Lucene àžàž§àž²àž¡àž¥àž°à¹àž­àžµàž¢àžàžàž­àžàžàž±àžàžàžµàžàž°àžàž¹àžàžàž³àž«àžàžà¹àžàžàžàž£àž­àžàžàž¥àžžàž¡àžàž±à¹àžàž«àž¡àž à¹àž¡à¹à¹àžà¹àžà¹àž­àž«àžàž¶à¹àžàžàž±àžàžàžµ àž£àž°àžàž±àžàžàžµà¹à¹àžà¹àžà¹àžà¹àžà¹àžàž°à¹àžªàžàžàžàž¶à¹àžà¹àžàžàž²àžàž«àžà¹àž²àžà¹àž²àž "àžàž±àžàžàžµàžàž²àž£àžà¹àžàž«àž²  " àž«àž¥àž±àž à¹àž¥àž°àžªàž²àž¡àž²àž£àžà¹àžàžŽà¹àž¡àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àžàžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢</p>
+
+<p>àžàž±àžàžàžµàžàžŽà¹àžšàž©àžàžµà¹àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹à¹àž MGPP à¹àž¥àž° Lucene àžàž·àž­ àžàž±àžàžàžµ "allfields" àžàž¶à¹àžà¹àžàžµàž¢àžà¹àžà¹àžà¹àž§àž¢à¹àž«à¹àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³àžàž²àž£àžà¹àžàž«àž²à¹àžàžàžàžªàž²àžàžàžµà¹àžàž£àž­àžàžàž¥àžžàž¡àžàž±àžàžàžµàžàžµà¹àž£àž°àžàžžàžàž±à¹àžàž«àž¡àžà¹àžà¹à¹àžàž¢à¹àž¡à¹àžàž³à¹àžà¹àžàžà¹àž­àžàž£àž°àžàžžàžàž±àžàžàžµà¹àž¢àžàžà¹àž²àžàž«àž²àžàžàž¶à¹àžàžàž£àž£àžàžžà¹àž«àž¥à¹àžàžà¹àž­àž¡àž¹àž¥àžàž±à¹àžàž«àž¡àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàž±àžàžàžµàžàžµà¹ à¹àž«à¹àžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢àžàžµà¹àžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢ "à¹àžàžŽà¹àž¡àžàž²àž£àžà¹àžàž«àž²à¹àžàžàžàž§àžàž£àž§àž¡à¹àž«à¹àžàž±àžàžàž±àžàžàžµàžàžµà¹àžàž³àž«àžàžàžàž±à¹àžàž«àž¡àž (àžàžžàžà¹àžàžàžà¹àž­àž¡àž¹àž¥)  " à¹àž¥àž°àžàž¥àžŽàž "à¹àžàžŽà¹àž¡àžàž±àžàžàžµ  "</p>
+
+<p>àžªàž³àž«àž£àž±àž MGPP à¹àž¥àž° Lucene àžàž±à¹àž àž£àž°àžàžàžàž°à¹àžªàžàžàžàžžà¹àž¡ "à¹àžàžŽà¹àž¡àžàž±à¹àžàž«àž¡àž  " àžàž¶à¹àžàž¡àž²à¹àžàž·à¹àž­à¹àžà¹àžàžàž²àžàž¥àž±àžà¹àžàžàž²àž£à¹àžàžŽà¹àž¡à¹àž¡àžàž²àžàž²àžàž² à¹àž¥àž°à¹àž«àž¥à¹àžàžà¹àž­àžàž§àž²àž¡àžàž±à¹àžàž«àž¡àžà¹àžà¹àžàžàž±àžàžàžµàž­àžŽàžªàž£àž°</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžà¹à¹àžàžàž±àžàžàžµ à¹àž«à¹à¹àž¥àž·àž­àžàžàž±àžàžàžµàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžà¹à¹àž à¹àž¥àž°àžàž¥àžŽàžàžàžµà¹ "à¹àžà¹à¹àžàžàž±àžàžàžµ  " àžà¹àž­àžàž§àž²àž¡àžàžµà¹àžàž¥à¹àž²àž¢àžàž±àž "àžàž±àžàžàžµà¹àž«àž¡à¹  " àžàž°à¹àžªàžàžàžàž¶à¹àžàž¡àž²</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àžàž±àžàžàžµàž­àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž±àžàžàžµàžàžµà¹àžà¹àž­àžàžàž²àž£à¹àž­àž²àž­àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£àžàž±àžàžàžµàžàžµà¹àžàž³àž«àžàž à¹àž¥àž°àžàž¥àžŽàž "à¹àž­àž²àžàž±àžàžàžµàž­àž­àž  "</p>
+
+<p>"àž¥àž³àžàž±àžàžàž­àžàžàž±àžàžàžµàžàžµà¹àžàž³àž«àžàžà¹àžàž£àž²àž¢àžàž²àž£ "àžàž±àžàžàžµàžàžµà¹àžàž³àž«àžàž" àžàž°à¹àžà¹àžàž¥àž³àžàž±àžàžàžµà¹àžàž£àž²àžàžà¹àžà¹àž¡àžàž¹à¹àžàžàž«àž¥à¹àžàž¥àžà¹àžàž«àžà¹àž²àžà¹àžàž«àž² à¹àž«à¹à¹àžà¹àžàžžà¹àž¡ "à¹àž¥àž·à¹àž­àžàžàž¶à¹àž  " à¹àž¥àž° "à¹àž¥àž·à¹àž­àžàž¥àž  " à¹àžàž·à¹àž­à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžàž²àž£à¹àž£àžµàž¢àžàž¥àž³àžàž±àžàžàžµà¹" </p>
+
+<p>àžàž±àžàžàžµàžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹à¹àžàž¢àžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àžàžàžàž«àžà¹àž²àžà¹àžàž«àž²àžàž°àžàž¹àžà¹àž£àžµàž¢àžàž§à¹àž² "àžàž±àžàžàžµà¹àž£àžŽà¹àž¡àžà¹àž"  àžàžžàžàžªàž²àž¡àž²àž£àžàžàž±à¹àžàžà¹àž²àžàžµà¹à¹àžà¹àžà¹àž§àž¢àžàž²àž£à¹àž¥àž·àž­àžàžàž±àžàžàžµàžàžµà¹àžà¹àž­àžàžàž²àž£àžàž²àžàž£àž²àž¢àžàž²àž£ à¹àž¥àž°àžàž¥àžŽàž "àžàž±à¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž"  àžàž±àžàžàžµà¹àž£àžŽà¹àž¡àžà¹àžàžàž°àžàž¹àžàžàž³àž«àžàžàžà¹àž§àž¢àžàž³àž§à¹àž² "[àžàž±àžàžàžµà¹àž£àžŽà¹àž¡àžà¹àž]" à¹àžàž£àž²àž¢àžàž²àž£ "àžàž±àžàžàžµàžàžµà¹àžàž³àž«àžàž" àžà¹àž²àžàžžàžà¹àž¡à¹à¹àžà¹àžàž±à¹àžàžà¹àž²àžàž±àžàžàžµà¹àž£àžŽà¹àž¡àžà¹àžà¹àž§à¹ àž£àž°àžàžàžàž°à¹àžà¹àžà¹àž²à¹àž£àžà¹àžàž£àž²àž¢àžàž²àž£à¹àžà¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž</p>
+
+<p>àžàžžàžàžªàž²àž¡àž²àž£àžàžàž±à¹àžàžà¹àž²àžàž·à¹àž­àžàžµà¹à¹àžà¹à¹àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àžàžàž­àžàžàž±àžàžàžµàžàžàž«àžà¹àž²àžà¹àžàž«àž²à¹àžà¹à¹àžàžªà¹àž§àžàžàž§àžàžàžžàž¡ "àžà¹àžàž«àž²  " àžàž­àžàž¡àžžàž¡àž¡àž­àž "àž£àž¹àžà¹àžàž  " (àžàž¹àžàžµà¹ <a href="searchmetadatasettings.htm">àžà¹àžàž«àž²</a>) </p>
+
+<p>àžªàž³àž«àž£àž±àžàžàž±àžàžàžµà¹àžàž MG à¹àž¥àž° MGPP àžàž°àž¡àžµàžàž±àž§à¹àž¥àž·àž­àžàž­àž·à¹àžàžàžµà¹àžàž§àžàžàžžàž¡àž§àžŽàžàžµàžàž²àž£àžªàž£à¹àž²àžàžàž±àžàžàžµàžàžµà¹ àžàž²àž£àžà¹àžàžà¹àž§àž¢àž£àž²àžàžšàž±àžàžà¹ (Stemming) à¹àž¥àž° Case-folding àž­àž²àžàžàž¹àžà¹àžàžŽàžà¹àžà¹àžàž²àžàž«àž£àž·àž­àžàžŽàžà¹àžà¹àžàž²àžà¹àžà¹à¹àžàžàž±àžàžàžµ&mdash; àžà¹àž²àžàž¹àžàžàžŽàžà¹àžà¹àžàž²àž àžàž°à¹àž¡à¹àž¡àžµàžàž²àž£à¹àžªàžàžàžàž±àž§à¹àž¥àž·àž­àžà¹àžàž«àžà¹àž²àžàž³àž«àžàžàž¥àž±àžàž©àžàž°àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž Accent-folding àž¢àž±àžàžàžàžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹à¹àžàžàž±àžàžàžµà¹àžàž MGPP  àžàž¶à¹àžàžàž°àžàž³àžàž²àžà¹àžàž¥àž±àžàž©àžàž°à¹àžàžµàž¢àž§àžàž±àž Case-folding à¹àžà¹à¹àžàžàžàžµà¹àžàž°àžàž£àž§àžàžªàž­àžàžàž§àž²àž¡àžàž£àžàžàž±àžàž£àž°àž«àž§à¹àž²àžàžàž±àž§àžàžŽàž¡àžà¹à¹àž¥à¹àžà¹àž¥àž°àžàž±àž§àžàžŽàž¡àžà¹à¹àž«àžà¹ àžàž±àž§àž­àž±àžàž©àž£àžàžµà¹àž¡àžµà¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àžªàžàžàžàž²àž£àž­àž­àžà¹àžªàžµàž¢àž (Diacritics) àžàž°àžàž¹àžàžàž³à¹àž«à¹àžàž£àžàžàž±àžàž­àž±àžàž©àž£àžàžµà¹à¹àž¡à¹àž¡àžµà¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àžªàžàžàžàž²àž£àž­àž­àžà¹àžªàžµàž¢àž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/searchmetadatasettings.htm
===================================================================
--- main/tags/2.83/gli/help/th/searchmetadatasettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/searchmetadatasettings.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchmetadatasettings"><font size="5" face="Verdana"><strong>8.3: àžà¹àžàž«àž²</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžªà¹àž§àžàžàžµà¹àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž±à¹àžàžà¹àž²àžà¹àž­àžàž§àž²àž¡àžàžµà¹à¹àžªàžàžàžªàž³àž«àž£àž±àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àžàžàžàž«àžà¹àž²àžà¹àžàž«àž² àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž£àžŽà¹àž¡àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹à¹àžàž¢àžàž¥àžŽàž "àžà¹àžàž«àž²" àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž£àž¹àžà¹àžàž" </p>
+
+<p>àžàž²àžàž«àžà¹àž²àžà¹àž²àžàžàžµà¹àžàž£àž°àžàž­àžàžà¹àž§àž¢àžàž²àž£àž²àžàžàžµà¹à¹àžªàžàžàžàž±àžàžàžµàžà¹àžàž«àž²à¹àžà¹àž¥àž°àž£àž²àž¢àžàž²àž£ àžàžµà¹àžàžµà¹àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžªà¹àžà¹àž­àžàž§àž²àž¡àžàžµà¹àžàž°à¹àžà¹à¹àžà¹àžàžàž·à¹àž­àžàž±àžàžàžµà¹àžàž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àžàžàžàž«àžà¹àž²àžà¹àžàž«àž²à¹àžà¹ àžàž²àžàž«àžà¹àž²àžà¹àž²àžàžàžµà¹àžàž°àž­àžàžžàžàž²àžà¹àž«à¹àžàžžàžàžàž±à¹àžàžà¹àž²àžà¹àž­àžàž§àž²àž¡àžªàž³àž«àž£àž±àžàž«àžàž¶à¹àžàž àž²àž©àž²à¹àžà¹àž²àžàž±à¹àž àžàž¶à¹àžàžàž°à¹àžà¹àžàž àž²àž©àž²àžàžµà¹ GLI à¹àžà¹àž­àž¢àž¹à¹à¹àžàžàž±àžàžàžžàžàž±àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàž¥àžàž·à¹àž­à¹àž«àž¥à¹àž²àžàžµà¹à¹àžà¹àžàž àž²àž©àž²àž­àž·à¹àžà¹ à¹àž«à¹à¹àžà¹àžªà¹àž§àž "à¹àžàž¥àžà¹àž­àžàž§àž²àž¡" àžàž­àžàž¡àžžàž¡àž¡àž­àž "àž£àž¹àžà¹àžàž" (àžàž¹àžàžµà¹ <a href="translatetext.htm">à¹àžàž¥àžà¹àž­àžàž§àž²àž¡</a>)</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/selectingmetadatasets.htm
===================================================================
--- main/tags/2.83/gli/help/th/selectingmetadatasets.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/selectingmetadatasets.htm	(revision 21123)
@@ -0,0 +1,35 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="selectingmetadatasets"><font size="5" face="Verdana"><strong>5.2: àžàž²àž£à¹àž¥àž·àž­àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžàžžàžàžàž­àžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàžàž²àž£àžàž³àž«àžàžàžà¹àž²à¹àž§à¹àžà¹àž­àžàž«àžà¹àž²à¹àžà¹àžàžàžµà¹àž£àž¹à¹àžàž±àžà¹àžàžàž·à¹àž­ "àžàžžàžà¹àž¡àžàž²àžàž²àžàž²" àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž±àžàž¥àžŽàžàžàž­àž£à¹ à¹àž¡àž·à¹àž­àžàžžàžà¹àžàžŽà¹àž¡àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž àžàžžàžàžàž°àžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžà¹àžà¹àžàž²àžàž­àžàžà¹àžàž£àž°àžàž­àžàžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžà¹àžà¹ àžàžžàžàžªàž²àž¡àž²àž£àžàž¡àžµàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžà¹àž¡àž²àžàžàž§à¹àž²àž«àžàž¶à¹àžàžàžžàž à¹àžàž¢à¹àžàž·à¹àž­àžà¹àž­àžàžàž±àžà¹àž¡à¹à¹àžà¹àžàž·à¹àž­àžà¹àž³àžàž±àž àžàž±àž§àž£àž°àžàžžàžàžàž²àžàžªàž±à¹àžàžàž¶à¹àžàž£àž°àžàžžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž°àžàž¹àžà¹àžªà¹à¹àž§à¹àž«àžà¹àž²àžàž·à¹àž­àž­àžàžà¹àžàž£àž°àžàž­àž  à¹àžà¹àž àž­àžàžà¹àžàž£àž°àžàž­àž Creator àžàž­àžàžàž±àžàž¥àžŽàžàžàž­àž£à¹ àžàž°àžàž¥àž²àž¢à¹àžà¹àž "dc.Creator" àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž°àžàž¹àžàžàž±àžà¹àžà¹àžà¹àž§à¹à¹àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž¡àžàž²àžàž²àžàž²àžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ à¹àž¥àž°àž¡àžµàžàž²àž¡àžªàžàžžàž¥à¹àžà¹àž ".mds" </p>
+
+<p>à¹àž¡àž·à¹àž­àžàžžàžàžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹ àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž±àžàž¥àžŽàžàžàž­àž£à¹àžàž°àžàž¹àžà¹àžàžŽà¹àž¡à¹àžà¹àž²à¹àžà¹àžàž£àž°àžàžà¹àžà¹àžàžà¹àž²à¹àž£àžŽà¹àž¡àžà¹àž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžà¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžàžàžžà¹àž¡ "àžàž±àžàžàž²àž£àžàžžàžà¹àž¡àžàž²àžàž²àžàž²&hellip;" à¹àžà¹à¹àžàžàžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž¡àžžàž¡àž¡àž­àž "à¹àž¡àžàž²àžàž²àžàž²" àž«àžà¹àž²àžà¹àž²àžà¹àž«àž¡à¹àžàž°àžàž£àž²àžàžàžàž¶à¹àžà¹àžàž·à¹àž­à¹àž«à¹àžàžžàžàžªàž²àž¡àž²àž£àžàžàž±àžàžàž²àž£àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹</p>
+
+<p>àž£àž²àž¢àžàž²àž£ "àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàž" àžàž°à¹àžªàžàžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àž­àž¢àž¹à¹à¹àžàžàž±àžàžàžžàžàž±àž</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžà¹àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àž­àž·à¹àžàžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àžàžŽàžà¹àžà¹àžàž²àžàž­àž¢àž¹à¹ à¹àž«à¹àžàž¥àžŽàž "à¹àžàžŽà¹àž¡&hellip;" àž«àžà¹àž²àžà¹àž²àžàžà¹àž­àžàž­àž±àžàžàž°à¹àžªàžàžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž£àžŽà¹àž¡àžà¹àžàžàžµà¹ GLI àž£àž¹à¹àžàž±àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàžžàžà¹àž¡àžàž²àžàž²àžàž² à¹àž«à¹àžàž³àžàž²àž£à¹àž¥àž·àž­àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž²àžàž£àž²àž¢àžàž²àž£ à¹àž¥àž°àžàž¥àžŽàž "à¹àžàžŽà¹àž¡" àžà¹àž²àžàžžàžà¹àžà¹àžàžŽàž¢àž²àž¡àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž­àžàžàžžàžà¹àž­àžà¹àž§à¹à¹àž¥à¹àž§ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹àžàžžà¹àž¡ "à¹àž£àžµàž¢àžàžàž¹" à¹àžàž·à¹àž­àž£àž°àžàžžàžàž³à¹àž«àžà¹àžà¹àžà¹àž¡à¹àžàž£àž°àžàžà¹àžà¹àž¡àžàž­àžàžàžžàžà¹àžà¹</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžªàž£à¹àž²àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹ à¹àž«à¹àžàž¥àžŽàžàžàžµà¹ "àžªàž£à¹àž²àžà¹àž«àž¡à¹&hellip;"  àžàž¶à¹àžàžàž°à¹àžà¹àžàžàž²àž£à¹àž£àžµàž¢àžà¹àžà¹àžàž±àž§à¹àžà¹à¹àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž àž«àž£àž·àž­àžàžµà¹à¹àž£àžµàž¢àžàžàž±àžàž§à¹àž² GEMS àž«àžà¹àž²àžà¹àž²àžàžà¹àž­àžàž­àž±àžà¹àž£àžŽà¹àž¡àžà¹àžàžàž°àžàž­à¹àž«à¹àžàžžàžà¹àžªà¹àžàž·à¹àž­àžàžžàž à¹àžàž¡àžªà¹àžàž à¹àž¥àž°àžàž³àž­àžàžŽàžàž²àž¢àž¥àžà¹àž àžàž­àžàžàž²àžàžàžµà¹ àžàžžàžàž¢àž±àžàžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžà¹àž«à¹à¹àž¡àžàž²àžàž²àžàž²àžàžžàžà¹àž«àž¡à¹àž­àž¢àž¹à¹àžàžàžàž·à¹àžàžàž²àžàžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàžžàžà¹àžàžŽàž¡àžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àžà¹ à¹àžàžàž£àžàžµàžàžµà¹ à¹àž¡àžàž²àžàž²àžàž²àžàžžàžà¹àž«àž¡à¹àžàž°àžªàž·àžàžàž­àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àžàž±à¹àžàž«àž¡àžàžàž²àžà¹àž¡àžàž²àžàž²àžàž²àžàžžàžà¹àžàžŽàž¡àžàžµà¹àž£àž°àžàžž àžàž²àžàžàž±à¹àžàžàž¥àžŽàž àžàžàž¥àž àž«àžà¹àž²àžà¹àž²àžàž«àž¥àž±àžàžàž°à¹àžªàžàžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àžàž­àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž¶à¹àžàž¡àž²àžàž²àžàžà¹àž²àžàžà¹àž²àž¢àž¡àž·àž­ àžàž£à¹àž­àž¡àžàž±à¹àžà¹àžªàžàžàžàžžàžàž¥àž±àžàž©àžàž°àžàž²àžàž­àž¢à¹àž²àžàžàž­àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž¶à¹àžàž¡àž²àžàž²àžàžà¹àž²àžàžàž§àž²àž¡àž·àž­ àžà¹àž²àžàžžàžà¹àžà¹à¹àž¥àž·àž­àžà¹àž«à¹à¹àž¡àžàž²àžàž²àžàž²àžàžžàžà¹àž«àž¡à¹àž­àž¢àž¹à¹àžàžàžàž·à¹àžàžàž²àžàžàž­àžàžàžžàžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§ àž£àž°àžàžàžàž°à¹àžªàžàžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àž­àž¢à¹àž²àžàžà¹àž­àž¢àž«àžàž¶à¹àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àžàž¶à¹àžàž¡àž²àžàžàž«àžà¹àž²àžàž­ à¹àž¡àž·à¹àž­àžàžžàžàžàž¥àžŽàžàžàžµà¹àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢ àž£àž°àžàžàžàž°à¹àžªàžàžàžà¹àž²àžàžžàžàž¥àž±àžàž©àžàž°àžàž­àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àžàž±à¹àžàžàž²àžàžàž§àž²àž¡àž·àž­</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢à¹àž«àž¡à¹ à¹àž«à¹àžàž¥àžŽàžàžàž§àž²àžàžµà¹àžàž·à¹àž­àžàžžàžà¹àž¥àž°à¹àž¥àž·àž­àž "à¹àžàžŽà¹àž¡àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢"  à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥à¹àž«àž¡à¹àž àž²àž¢à¹àžà¹àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢ à¹àž«à¹àžàž¥àžŽàžàžàž§àž²àžàžµà¹àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢ à¹àž¥àž°à¹àž¥àž·àž­àž "à¹àžàžŽà¹àž¡àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢" àžàžžàžàžªàž²àž¡àž²àž£àžàž¥àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢à¹àž¥àž°àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž àž²àž¢à¹àžà¹àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢à¹àžà¹àžà¹àž§àž¢àžàž²àž£à¹àž¥àž·àž­àž "àž¥àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥(àž¢à¹àž­àž¢)" àžàž²àžà¹àž¡àžàž¹àžàž¥àžŽàžàžàž§àž²</p>
+
+<p>àž«àž¡àž²àž¢à¹àž«àžàžž: àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž±àž§à¹àžà¹à¹àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžà¹àžà¹àž­àž¢à¹àž²àžàž­àžŽàžªàž£àž°àžàž²àž GLI àžà¹àž§àž¢àžàž²àž£à¹àž¥àž·àž­àžàžàž±àž§à¹àžà¹à¹àžàžàž²àžà¹àž¡àžàž¹à¹àž£àžŽà¹àž¡àžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž àž«àž£àž·àž­àžà¹àž§àž¢àžàž²àž£à¹àž£àžµàž¢àžà¹àžà¹ gens.sh àž«àž£àž·àž­ gems.bat à¹àžà¹àžàž¥à¹àžàž­àž£à¹ gli àžàž­àžàžªà¹àž§àžàžàžŽàžàžàž±à¹àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàž­àžàžàžžàž</p>
+
+<p>àžàž²àžàžàž£àž±à¹àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžªàž­àžàžàžžàžàž­àž²àžàž¡àžµà¹àžàž¡àžªà¹àžàžà¹àžàžµàž¢àž§àžàž±àž àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž àžàž±à¹àžàžàž±àžàž¥àžŽàžàžàž­àž£à¹à¹àž¥àž°àžàž±àžàž¥àžŽàžàžàž­àž£à¹à¹àžàž Qualified à¹àžà¹à¹àžàž¡àžªà¹àžàžàž§à¹àž² "dc" àžàž±àžàžàž±à¹àžàžàž¶àžà¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àžàžªàž­àžàžàžžàžàžàžµà¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž£à¹àž­àž¡àžàž±àžà¹àžà¹ àžà¹àž²àžàžžàžàžàž¢àž²àž¢àž²àž¡à¹àžàžŽà¹àž¡àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµà¹àžàž¡àžªà¹àžàžàžàž£àžàžàž±àžàžàžµà¹àž¡àžµà¹àžà¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàž­àž¢àž¹à¹à¹àž¥à¹àž§ àžàž³à¹àžàž·àž­àžàžàž°àžàž£àž²àžàžàžàž¶à¹àž àžà¹àž²àžàžžàžàž¢àž±àžàžàž³à¹àžàžŽàžàžàž²àž£àžà¹àž­à¹àž àž£àž°àžàžàžàž°à¹àž­àž²àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§àž­àž­àž à¹àž¥àž°à¹àžàžŽà¹àž¡àžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹à¹àžà¹àž²à¹àž àžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àžàž³àž«àžàžà¹àžà¹ àžàž°àžàž¹àžà¹àž­àžàž¢à¹àž²àž¢à¹àžàž¢àž±àžàžàžžàžà¹àž«àž¡à¹à¹àžàž¢àžàžµà¹àž¢àž±àžàžàžàž­àžàžà¹àžàž£àž°àžàž­àžà¹àž«àž¥à¹àž²àžàž±à¹àžàž­àž¢àž¹à¹</p>
+
+<p>àžà¹àž§àž¢ GEMS àžàžµà¹ upi àžàž°àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§à¹àžà¹à¹àžà¹àžà¹àžàžµàž¢àž§àžàž±àžàžàž²àž£àžªàž£à¹àž²àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹ àžàž²àž£àžàž¥àžŽàžàžàžµà¹àžàžžà¹àž¡ "à¹àžà¹à¹àž" àžàž°à¹àžà¹àžàžàž²àž£à¹àž£àžµàž¢àžà¹àžà¹à¹àžàž£à¹àžàž£àž¡ GEMS àžàž£à¹àž­àž¡àžàž±àžà¹àžàžŽàžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž£àž°àžàžž àžàž±àžàžàžµàžàžµà¹àžàžžàžà¹àžà¹à¹àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžªàž£à¹àžà¹àž£àžµàž¢àžàž£à¹àž­àž¢à¹àž¥à¹àž§ (àžàž±àžàž­àžàžŽàžàž²àž¢àžà¹àž²àžàžà¹àž) à¹àž«à¹àžàž³àžàž²àž£àžàž±àžàžàž¶àžàžàž²àž£à¹àžà¹à¹àž (à¹àžà¹àž¡-&gt;àžàž±àžàžàž¶àž) à¹àž¥àž°àžàžŽàžà¹àžàž£à¹àžàž£àž¡ GEMS</p>
+
+<p>àžà¹àž²àžàž­àž¥à¹àž¥àžàžàž±àžà¹àž¡à¹àžà¹àž­àžàžàž²àž£à¹àžà¹àžàžžàžà¹àž¡àžàž²àžàž²àžàž²àž­àžµàžàžà¹àž­à¹àžà¹àž¥à¹àž§ à¹àž«à¹à¹àž¥àž·àž­àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž¥àž°àžàž "à¹àž­àž²àž­àž­àž" àžà¹àž²àžàžžàžà¹àžà¹à¹àžàž¢àžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžà¹ à¹àžà¹àž²àžàž±àžàž­àžàžà¹àžàž£àž°àžàž­àžàžàž­àžà¹àž¡àžàž²àžàž²àžàž² àž£àž°àžàžàžàž°àžàž²àž¡àž§à¹àž² àžàžžàžàžàž°àžàž±àžàžàž²àž£àžàž±àžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž­àž¢à¹àž²àžà¹àž£à¹àž¡àž·à¹àž­àžàžžàžàžàž°à¹àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž£àž±à¹àžà¹àžàžàž±àžà¹àž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/startingoff.htm
===================================================================
--- main/tags/2.83/gli/help/th/startingoff.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/startingoff.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="startingoff"><font size="5" face="Verdana"><strong>2: à¹àž£àžŽà¹àž¡àžàž³à¹àžàžŽàžàžàž²àž£</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžªà¹àž§àžàžàžµà¹àžàž°àžàž£àž­àžàžàž¥àžžàž¡àžàž¶àžàž§àžŽàžàžµàžàž²àž£àžªàž£à¹àž²àž à¹àž«àž¥àž àžàž±àžàžàž¶àž à¹àž¥àž°àž¥àžàžàž­àž¥à¹àž¥àžàžàž±àž</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/thecreateview.htm
===================================================================
--- main/tags/2.83/gli/help/th/thecreateview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/thecreateview.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thecreateview"><font size="5" face="Verdana"><strong>7.1: àž¡àžžàž¡àž¡àž­àžàžàž²àž£àžªàž£à¹àž²àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àž¡àžžàž¡àž¡àž­àžàžàž²àž£àžªàž£à¹àž²àžàžàž°àžàž¹àžà¹àžà¹à¹àžàž·à¹àž­àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžà¹àž§àž¢àžàž²àž£à¹àž£àžµàž¢àžà¹àžà¹àžªàžàž£àžŽàžàžà¹àžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžà¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàžàžà¹àž­àž¡àž¹àž¥àžàžµà¹àžàžžàžà¹àž«à¹à¹àž§à¹ àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹àž²àžàž¶àžàž¡àžžàž¡àž¡àž­àžàžàž²àž£àžªàž£à¹àž²àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžà¹àžà¹àž "àžªàž£à¹àž²àž"</p>
+
+<p>àžàž²àž£àžàž¥àžŽàž "àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž" à¹àžà¹àžàžàž²àž£à¹àž£àžŽà¹àž¡àžà¹àžàžàž£àž°àžàž§àžàžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž  à¹àž§àž¥àž²àžàžµà¹à¹àžà¹àžàž³à¹àžàžŽàžàžàž²àž£àžàž°àžàž¶à¹àžàžàž±àžàžàžàž²àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž¥àž°àžàž³àžàž§àžàžàž­àžàžàž±àžàžàžµàžàžµà¹àžàž³àž¥àž±àžàžªàž£à¹àž²àž (àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžàž²àžà¹àž«àžà¹ àž­àž²àžà¹àžà¹à¹àž§àž¥àž²à¹àžà¹àžàžàž±à¹àž§à¹àž¡àž) à¹àžàžàžàž§àž²àž¡àžàž·àžàž«àžà¹àž²àžàž°àžà¹àžàžàžµà¹àžàž£àžŽàž¡àž²àžàžàž²àžàžàžµà¹àžàž£àž°àž¡àž§àž¥àžàž¥à¹àžªàž£à¹àžàžªàžŽà¹àžà¹àž¥à¹àž§ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àž¢àžà¹àž¥àžŽàžàžàž²àž£àžàž£àž°àž¡àž§àž¥àžàž¥à¹àž¡àž·à¹àž­à¹àžàžà¹àžàž²àž¡ à¹àž«à¹àžàž¥àžŽàž "àž¢àžà¹àž¥àžŽàžàžàž²àž£àžªàž£à¹àž²àž"  àžªà¹àž§àžàž¥à¹àž²àžàžàž­àžàžàž²à¹àžàž¥àžàž°à¹àžªàžàžàžàž¥àž¥àž±àžàžà¹àžàž²àžàž­àž¢à¹àž²àžàžàž²àžàžàž£àž°àžàž§àžàžàž²àž£àžªàž£à¹àž²àž àžªà¹àž§àžàžàžàžàž°à¹àžªàžàžàžàž±àž§à¹àž¥àž·àž­àžàžàž²àžàžàž±àž§àžªàž³àž«àž£àž±àžàžàž²àž£àžàž§àžàžàžžàž¡àžàž£àž°àžàž§àžàžàž²àž£àžªàž£à¹àž²àž</p>
+
+<p>àžàž±àžàžàžµàžàžµà¹àžàž²àž£àžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžªàž£à¹àžàžªàžŽà¹àžà¹à¹àž¥à¹àž§ àžàž²àž£àžàž¥àžŽàž "à¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž" àžàž°à¹àžà¹àžàžàž²àž£à¹àžàžŽàžà¹àž§à¹àžà¹àžàž£àž²à¹àžàž­àž£à¹àžàž¶à¹àžàžàž°à¹àžªàžàžàž«àžà¹àž²à¹àž£àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/thedesignview.htm
===================================================================
--- main/tags/2.83/gli/help/th/thedesignview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/thedesignview.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thedesignview"><font size="5" face="Verdana"><strong>6.1: àž¡àžžàž¡àž¡àž­àžàžàž²àž£àž­àž­àžà¹àžàž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžªà¹àž§àžàžàžµà¹àžàž°àžàž³à¹àžªàžàž­àž¡àžžàž¡àž¡àž­àžàžàž²àž£àž­àž­àžà¹àžàž à¹àž¥àž°àž­àžàžŽàžàž²àž¢àž§àžŽàžàžµàžàž²àž£àžàž³àžàž²àžàž£àž°àž«àž§à¹àž²àžàž¡àžžàž¡àž¡àž­àžàžàžµà¹àž«àž¥àž²àžàž«àž¥àž²àž¢àž àž²àž¢à¹àžàžàž²àžàž«àžà¹àž²àžà¹àž²àžàžàžµà¹</p>
+
+<p>àžà¹àž§àž¢àžàž²àž£à¹àžà¹àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàžµà¹ àžàžžàžàžàž°àžªàž²àž¡àž²àž£àžàžàž³àž«àžàžàžà¹àž²àž§àžŽàžàžµàžàž£àž°àž¡àž§àž¥àžàž¥à¹àž­àžàžªàž²àž£ à¹àž¥àž°àž§àžŽàžàžµàžàžµà¹àžàž¹à¹à¹àžà¹àžàž°à¹àžà¹àž²àžàž¶àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹ àžàž±àž§à¹àž¥àž·àž­àžàžàž²àž£àžàž³àž«àžàžàžà¹àž²àžàž°àžàž¹àžà¹àžà¹àžàž­àž­àžà¹àžà¹àžàžªà¹àž§àžàžàžµà¹à¹àžàžàžà¹àž²àžàžàž±àž à¹àžàž¢à¹àžà¹àž¥àž°àžªà¹àž§àžàžàž°àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàž±à¹àžàžàž­àžàžàžµà¹à¹àžàžàž²àž°à¹àžàž²àž°àžàžàžàž­àžàžàž²àž£àžàž³àž«àžàžàžà¹àž²àžàž­àž¥à¹àž¥àžàžàž±àžàžà¹àž§àž¢àžàžà¹àž­àž</p>
+
+<p>àžàž²àžàžà¹àž²àžàžà¹àž²àž¢à¹àžà¹àžàž£àž²àž¢àžàž²àž£àž¡àžžàž¡àž¡àž­àžàžà¹àž²àžà¹ àžªà¹àž§àžàžà¹àž²àžàžàž§àž²à¹àžà¹àžàžàž±àž§àžàž§àžàžàžžàž¡àžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàž¡àžžàž¡àž¡àž­àžàžàž±àžàžàžžàžàž±àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàž¥àžµà¹àž¢àžà¹àžàž¢àž±àžàž¡àžžàž¡àž¡àž­àžàž­àž·à¹àž à¹àž«à¹àžàž¥àžŽàžàžàž·à¹àž­àžàž­àžàž¡àžžàž¡àž¡àž­àžà¹àžàž£àž²àž¢àžàž²àž£</p>
+
+<p>à¹àžàž·à¹àž­àžàž³àžàž§àž²àž¡à¹àžà¹àž²à¹àžàžàž±à¹àžàžàž­àžà¹àž¥àž°àžšàž±àžàžà¹àžàžµà¹à¹àžàžµà¹àž¢àž§àžà¹àž­àžàžàž±àžàžàž²àž£àž­àž­àžà¹àžàžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àž«à¹à¹àž£àžŽà¹àž¡àž­à¹àž²àžàžàžàžàžµà¹ 1 à¹àž¥àž°àžàžàžàžµà¹ 2 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžà¹àž­àž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/theenrichview.htm
===================================================================
--- main/tags/2.83/gli/help/th/theenrichview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/theenrichview.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="theenrichview"><font size="5" face="Verdana"><strong>5.1: àž¡àžžàž¡àž¡àž­àžà¹àž¡àžàž²àžàž²àžàž²</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>à¹àž«à¹à¹àžà¹àž¡àžžàž¡àž¡àž­àž "àžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž²  " à¹àžàž·à¹àž­àžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«à¹àžàž±àžà¹àž­àžàžªàž²àž£à¹àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àž¡àžàž²àžàž²àžàž²à¹àžà¹àžàžà¹àž­àž¡àž¹àž¥à¹àžàžµà¹àž¢àž§àžàž±àžàžà¹àž­àž¡àž¹àž¥ -- àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž àžàž·à¹àž­à¹àž£àž·à¹àž­àž àžàž¹à¹à¹àžà¹àž àž§àž±àžàžàžµà¹àžªàž£à¹àž²àž à¹àž¥àž°àž­àž·à¹àžà¹ àž£àž²àž¢àžàž²àž£à¹àž¡àžàž²àžàž²àžàž²à¹àžà¹àž¥àž°àž£àž²àž¢àžàž²àž£àžàž°àž¡àžµàžªàž­àžàžªà¹àž§àž: "àž­àžàžà¹àžàž£àž°àžàž­àž  " àžàž°àžàž­àžàžàž¶àžàžàžàžŽàžàžàž­àžàž£àž²àž¢àžàž²àž£ (à¹àžà¹àž àžàž¹à¹à¹àžà¹àž) à¹àž¥àž° "àžà¹àž²  " àžàž°à¹àž«à¹àžà¹àž²àž­àžàžà¹àžàž£àž°àžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àž (à¹àžà¹àž àžàž·à¹àž­àžàž­àžàžàž¹à¹à¹àžà¹àž)</p>
+
+<p>àžàž²àžàžà¹àž²àžàžà¹àž²àž¢àžàž­àžàž¡àžžàž¡àž¡àž­àž "àžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž²  " à¹àžà¹àžà¹àžàžàžàž±àžàž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž àžàž±àžàžà¹àžàž±àžàžàžµà¹à¹àžà¹àžàž²àž£àžàž¥àžŽàžàžàž§àž²àžàž±à¹àžàž«àž¡àžàžàžµà¹à¹àžàžàžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹à¹àžàž¡àžžàž¡àž¡àž­àž "àž£àž§àžàž£àž§àž¡  " àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹àžàžµà¹àžàžµà¹àžà¹àž§àž¢ àžà¹àž²àžàžàž§àž²àžàž­àžàž¡àžžàž¡àž¡àž­àžà¹àžà¹àžàžàž²àž£àž²àžà¹àž¡àžàž²àžàž²àžàž² àžàž¶à¹àžà¹àžªàžàžà¹àž¡àžàž²àžàž²àžàž²àžªàž³àž«àž£àž±àžà¹àžà¹àž¡àž«àž£àž·àž­à¹àžàž¥à¹àžàž­àž£à¹à¹àžà¹ àžàžµà¹à¹àžà¹à¹àž¥àž·àž­àžà¹àž§à¹à¹àžà¹àžàžàžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àž àžàž·à¹àž­àžàž­àžàžàž­àž¥àž±àž¡àžà¹àžàž°à¹àžà¹àžàžªàžµà¹àžàž²àž­àž¢àž¹à¹àžàž£àžŽà¹àž§àžàžà¹àž²àžàžàžàžªàžžàž à¹àž¥àž°àžªàž²àž¡àž²àž£àžàžàž£àž±àžàžàžàž²àžà¹àžà¹à¹àžàž¢àžàž²àž£àž¥àž²àžà¹àžªà¹àžà¹àžà¹àž àžà¹àž²à¹àžà¹àž¡àž«àž£àž·àž­à¹àžàž¥à¹àžàž­àž£à¹àž«àž¥àž²àž¢à¹àžà¹àž¡àžàž¹àžà¹àž¥àž·àž­àž àžà¹àž­àžàž§àž²àž¡àžªàžµàžàž³àžàž°àžà¹àžàžàžµà¹àž§à¹àž² àžà¹àž²àžàž±à¹àžà¹àžà¹àžàžà¹àž²àžàžµà¹à¹àžà¹àž£à¹àž§àž¡àžàž±àžàžàž­àžàž£àž²àž¢àžàž²àž£àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àžàž±à¹àžàž«àž¡àž àžàžàž°àžàžµà¹àžà¹àž­àžàž§àž²àž¡àžªàžµà¹àžàž²àžàž°àžà¹àžàžàžµà¹àž§à¹àž² àžà¹àž²àžàž±à¹àžà¹àž¡à¹à¹àžà¹àžà¹àž²àžàžµà¹à¹àžà¹àž£à¹àž§àž¡àžàž±àž àžàž²àž£à¹àžà¹à¹àžàžà¹àž²àžªàžµà¹àžàž²àžàž°àžªà¹àžàžàž¥à¹àžàžàž²àž°àžà¹àž­à¹àž­àžàžªàž²àž£àžàžµà¹àž¡àžµà¹àž¡àžàž²àžàž²àžàž²àžàž±à¹àž àžà¹àž²à¹àž¡àžàž²àžàž²àžàž²à¹àž«àž¡à¹à¹àžà¹ àžàžµà¹à¹àžà¹àžà¹àž­àžà¹àžà¹àž²à¹àžàžàž°àžàž¹àžà¹àžàžŽà¹àž¡àž¥àžà¹àžàžà¹àž²àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àžàž±à¹àžàž«àž¡àž</p>
+
+<p>à¹àž­àžàž­àžà¹àžàž¥à¹àžàž­àž£à¹àž­àž²àžàžàž°àžàž£àž²àžàžàžàž£àžŽà¹àž§àžàžà¹àž²àžàžà¹àž²àžàžàž­àžàž£àž²àž¢àžàž²àž£à¹àž¡àžàž²àžàž²àžàž²àžàž²àžàžàž±àž§ à¹àž­àžàž­àžàžàžµà¹àžàž°àžà¹àžàžàžµà¹àž§à¹àž² àžà¹àž²àžàžµà¹à¹àžà¹àž£àž±àžàžàž²àž£àžªàž·àžàžàž­àžàž¡àž²àžàž²àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž¡à¹ (àž«àž£àž·àž­àž£àžžà¹àžàžà¹àž­àžàž«àžà¹àž²àžàž±à¹àž) à¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžà¹àž£àž±àžàžàž²àž£àžªàž·àžàžàž­àžàž¡àž²àžàž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžàž«àž£àž·àž­à¹àž­àž²àž­àž­àžà¹àžà¹ àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³à¹àžà¹à¹àžàžµàž¢àžà¹àžàžŽà¹àž¡à¹àžàžŽàž¡à¹àžàžàžà¹àž²àž¢àž«àž£àž·àž­à¹àžàžµàž¢àžàžàž±àžà¹àžà¹àž²àžàž±à¹àž à¹àž«à¹àžàž¥àžŽàžàžàžµà¹à¹àž­àžàž­àžà¹àžàž¥à¹àžàž­àž£à¹à¹àžàž·à¹àž­à¹àžàž¢àž±àžà¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àž¡àžµàžàž²àž£àžàž³àž«àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àžàž¢àžàž±àžàžàžµ</p>
+
+<p>àžàž²àž£àžàž¥àžŽàžàžàžµà¹àž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àžàž­àžà¹àž¡àžàž²àžàž²àžàž²à¹àžàžàž²àž£àž²àžàžàž°à¹àžà¹àžàžàž²àž£à¹àžªàžàžàžà¹àž²àžàžµà¹àž¡àžµàž­àž¢àž¹à¹àžªàž³àž«àž£àž±àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àžàž±à¹àžà¹àžàžàž·à¹àžàžàžµà¹ "àžà¹àž²àžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§àžªàž³àž«àž£àž±àž ...  " àž àž²àž¢à¹àžà¹àžàž²àž£àž²àž àžàžžàžàžªàž²àž¡àž²àž£àžàžàž¢àž²àž¢à¹àž¥àž°àž¢àžžàž "à¹àžàžàžàž±àžàžà¹àž²" àžàžµà¹à¹àžà¹ à¹àžàž¢àžàžàžàžŽà¹àž¥à¹àž§ à¹àžàžàžàž±àžàžà¹àž²àžàž°à¹àžà¹àžàž£àž²àž¢àžàž²àž£àžàžµà¹à¹àžªàžàžàžà¹àž²àžàž±à¹àžàž«àž¡àžàžàž­àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àž¢à¹àž­àž¢àžàžµà¹à¹àž¥àž·àž­àžàžàžµà¹àžàžžàžà¹àžà¹à¹àžàž¢àžà¹àž­àžà¹àž§à¹àžà¹àž­àžàž«àžà¹àž²àžàžµà¹ àžàž²àž£àžàž¥àžŽàžàž£àž²àž¢àžàž²àž£àžàž°à¹àžà¹àžàžàž²àž£àž§àž²àžàž£àž²àž¢àžàž²àž£àž¥àžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž²à¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽ à¹àžàžàž²àžàžàž¥àž±àžàžàž±àž àžàž²àž£àžàžŽàž¡àžà¹àžà¹àž­àžàž§àž²àž¡àž¥àžà¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž²àžàž°à¹àžà¹àžàžàž²àž£à¹àž¥àž·àž­àžàž£àž²àž¢àžàž²àž£à¹àžà¹àžàžàžàž±àžàžà¹àž²àžàžµà¹à¹àž£àžŽà¹àž¡àžà¹àž§àž¢àž­àž±àžàžàž£àž°àžàžµà¹àžàžžàžàžàžŽàž¡àžà¹ àžàž²àž£àžàž [Tab] àžàž°àžà¹àž§àž¢à¹àžàžŽàž¡àžàž³àžàžµà¹àžàžžàžàžàžŽàž¡àžà¹àžà¹àž§àž¢àžà¹àž²àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹à¹àž«à¹à¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽ</p>
+
+<p>àžàžžàžàžªàž²àž¡àž²àž£àžàžàž±àžàž£àž°à¹àžàžµàž¢àžàžà¹àž²à¹àž¡àžàž²àžàž²àžàž²à¹àžà¹àžàž¥àž³àžàž±àžàžàž±à¹àžà¹àžà¹ àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£àžàžµà¹àž¡àžµà¹àžªàžàžà¹àžà¹àžàžàžàž±àžàžà¹àž²àžàžµà¹à¹àžà¹à¹àžàž¥à¹àžàž­àž£à¹àžªàž³àž«àž£àž±àžàž£àž°àžàž±àžàž àž²àž¢à¹àž àžàžžàžàžªàž²àž¡àž²àž£àžàžà¹àž­àžàžà¹àž²àž¥àž³àžàž±àžàžàž±à¹àžà¹àžà¹à¹àžàž¢à¹àžà¹àž­àž±àžàžàž£àž° "I" à¹àžàž·à¹àž­à¹àž¢àžàž£àž°àžàž±àž àžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹àž àžàžžàžàž­àž²àžàžàž°à¹àžà¹ "Cards|Red|Diamonds|Seven" à¹àžàž¥àž³àžàž±àžàžàž±à¹àžà¹àžàž·à¹àž­à¹àžªàžàžàžªàž³àž£àž±àžàžàž­àžà¹àžà¹ àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹àžàžàžµà¹àžàž°àžàž³à¹àž«à¹àžàžžàžàžªàž²àž¡àž²àž£àžàžàž±àžàžàž¥àžžà¹àž¡àžà¹àž²à¹àžà¹àž²àžà¹àž§àž¢àžàž±àžà¹àžà¹ àžàž­àžàžàž²àžàžàžµà¹ àžàžžàžàž¢àž±àžàžªàž²àž¡àž²àž£àžàžàž³àž«àžàžàžàž¥àžžà¹àž¡à¹àžàž£àž¹àžà¹àžàžà¹àž¡àžàž²àžàž²àžàž²à¹àž«à¹àžàž±àžà¹àžà¹àž¡à¹àžà¹àž­àžµàžàžà¹àž§àž¢</p>
+
+<p>à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžàž°àžàž±àžàžàž­àžà¹àž¡àžàž²àžàž²àžàž²àžàž²àžà¹àž­àžàžªàž²àž£àž¥àžà¹àžàžàžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹àž¡àžµàž­àžàžà¹àžàž£àž°àžàž­àžàžàžµà¹àžàž³àž«àžà¹àž²àžà¹àž§àž¢ "ex."  à¹àžàž¢àž­àž±àžà¹àžàž¡àž±àžàžŽ à¹àžàž¢à¹àž¡à¹àž¡àžµà¹àžàžàžàž±àžàžà¹àž² à¹àž¥àž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžà¹àžà¹</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/theformatview.htm
===================================================================
--- main/tags/2.83/gli/help/th/theformatview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/theformatview.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="theformatview"><font size="5" face="Verdana"><strong>8.1: àž¡àžžàž¡àž¡àž­àžàž£àž¹àžà¹àžàž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžªà¹àž§àžàžàžµà¹à¹àžà¹àžàžªà¹àž§àžàžàžµà¹à¹àžàž°àžàž³àž¡àžžàž¡àž¡àž­àž "àž£àž¹àžà¹àžàž" à¹àž¥àž°àž­àžàžŽàžàž²àž¢àž§àžŽàžàžµàžàž³àžàž²àžàž£àž°àž«àž§à¹àž²àžàžàž²àžàž«àžà¹àž²àžà¹àž²àžàžàžµà¹àž«àž¥àž²àžàž«àž¥àž²àž¢</p>
+
+<p>àžà¹àž§àž¢àžàž²àž£à¹àžà¹àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹ àžàžžàžàžàž°àžªàž²àž¡àž²àž£àžàžàž³àž«àžàžàžà¹àž²àž¥àž±àžàž©àžàž°àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžàž£àž²àžàžàžà¹àž­àžàž¹à¹à¹àžà¹à¹àžà¹ àžàž±àž§à¹àž¥àž·àž­àžàžàž²àž£àžàž³àž«àžàžàžà¹àž²àžàž°àžàž¹àžà¹àžà¹àžàž­àž­àžà¹àžà¹àžàžªà¹àž§àžà¹ à¹àžàž¢àžàžµà¹à¹àžà¹àž¥àž°àžªà¹àž§àžàžàž°àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàžàžŽàžàžàž­àžàžàž²àž£àžàž³àž«àžàžà¹àž­àžàžàžµà¹à¹àžàžàžà¹àž²àžàžàž±àž</p>
+
+<p>àžàž²àžàžà¹àž²àžàžà¹àž²àž¢à¹àžà¹àžàž£àž²àž¢àžàž²àž£àžàž²àž£àž²àž¡àžŽà¹àžàž­àž£à¹ à¹àž¥àž°àžà¹àž²àžàžàž§àž²à¹àžà¹àžàž«àžà¹àž§àž¢àžà¹àž­àž¡àž¹àž¥àžàž§àžàžàžžàž¡àžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàž²àž£àž²àž¡àžŽà¹àžàž­àž£à¹à¹àžà¹àž¥àž°àžàž±àž§ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžà¹à¹àžàžàž²àž£àž²àž¡àžŽà¹àžàž­àž£à¹ à¹àž«à¹àžàž¥àžŽàžàžàžµà¹àžàž·à¹àž­àžàž²àž£àž²àž¡àžŽà¹àžàž­àž£à¹à¹àžàž£àž²àž¢àžàž²àž£</p>
+
+<p>à¹àžà¹àž£àž²àž¢àžàž²àž£àžàž²àž£àž²àž¡àžŽà¹àžàž­àž£à¹àžàž°àž¡àžµàžàžžà¹àž¡ "à¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àž" àžàžžàžàžªàž²àž¡àž²àž£àžàžàž¹àžàž±àž§àž­àž¢à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹à¹àžàžàž±àžàžàžµà¹àžàž¢à¹àž¡à¹àžàž³à¹àžà¹àžàžà¹àž­àžàžàž£àž±àžàžàž£àžžàžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž«àž¡à¹à¹àž¡àž·à¹àž­àžàž³àžàž²àž£à¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàž¡àžžàž¡àž¡àž­àžàž£àž¹àžà¹àžàž àž­àž¢à¹àž²àžà¹àž£àžà¹àžàž²àž¡ àžàžžàžàžàž°àžà¹àž­àžàžªàž£à¹àž²àžàžàž­àž¥à¹àž¥àžàžàž±àžàž­àž¢à¹àž²àžàžà¹àž­àž¢àžàž£àž±à¹àžàž«àžàž¶à¹àžàžà¹àž­àžà¹àžàž·à¹àž­à¹àž«à¹àž£àž°àžàžàžªàž²àž¡àž²àž£àžà¹àžªàžàžàžàž±àž§àž­àž¢à¹àž²àžà¹àžà¹</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/thegatherview.htm
===================================================================
--- main/tags/2.83/gli/help/th/thegatherview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/thegatherview.htm	(revision 21123)
@@ -0,0 +1,33 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thegatherview"><font size="5" face="Verdana"><strong>4.1: àž¡àžžàž¡àž¡àž­àž "àž£àž§àžàž£àž§àž¡"</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžªà¹àž§àžàžàžµà¹àžàž°à¹àžàž°àžàž³à¹àžàž·à¹àž­àž«àž²à¹àžàžµà¹àž¢àž§àžàž±àžàžàž·à¹àžàžàžµà¹ "àž£àž§àžàž£àž§àž¡" àžàž¶à¹àžàžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžàž·à¹àž­à¹àž¥àž·àž­àžà¹àžà¹àž¡àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžàžžàžàžàž³àž¥àž±àžàžàž°àžªàž£à¹àž²àž àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹à¹àž£àžŽà¹àž¡àžà¹àžàžàž°àžà¹àž§àž¢àž¡àžžàž¡àž¡àž­àž "àž£àž§àžàž£àž§àž¡" à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž¥àž±àžà¹àžàž¢àž±àžàž¡àžžàž¡àž¡àž­àžàžàžµà¹à¹àžàž àž²àž¢àž«àž¥àž±àž à¹àž«à¹àžàž¥àžŽàžà¹àžà¹àž "àž£àž§àžàž£àž§àž¡  " àžàžµà¹à¹àžà¹à¹àžàžà¹àž¡àžàž¹à¹àžàž¢àžàž£àž</p>
+
+<p>àžàž·à¹àžàžàžµà¹àžàžàž²àžà¹àž«àžà¹àžªàž­àžàžàž·à¹àžàžàžµà¹àžàž¶à¹àžàž¡àžµàžàž·à¹àž­àž§à¹àž² "àžàž·à¹àžàžàžµà¹àžàž³àžàž²àž" à¹àž¥àž° "àžàž­àž¥à¹àž¥àžàžàž±àž" àžàž°àžàž¹àžà¹àžà¹à¹àžàžàž²àž£à¹àžàž¥àž·à¹àž­àžàž¢à¹àž²àž¢à¹àžà¹àž¡à¹àžàž¢àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž­àžàžàžžàž àžàž·à¹àžàžàžµà¹à¹àž«àž¥à¹àž²àžàžµà¹àžàž£àž°àžàž­àžàžà¹àž§àž¢ "à¹àžàžàžàž±àžà¹àžà¹àž¡àž£àž¹àžàžà¹àžà¹àž¡à¹" àžàž¶à¹àžàžàž°à¹àžªàžàžà¹àž«à¹à¹àž«à¹àžà¹àžà¹àž¡à¹àž¥àž°à¹àžàž¥à¹àžàž­àž£à¹</p>
+
+<p>à¹àž«à¹à¹àž¥àž·àž­àžàž£àž²àž¢àžàž²àž£à¹àžà¹àžàžàžàž±àžàžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžàž£àž²àž¢àžàž²àž£àžàžµà¹àžà¹àž­àžàžàž²àž£ (àž¢àž±àžàž¡àžµàž§àžŽàžàžµàž­àž·à¹àžà¹ àž­àžµàž à¹àžàž¢àžªàž²àž¡àž²àž£àžàžàž¹à¹àžà¹àžà¹àž²àžàž¥à¹àž²àž) àžàž¥àžŽàžàžªàž­àžàžàž£àž±à¹àžàžàžµà¹à¹àžàž¥à¹àžàž­àž£à¹ àž«àž£àž·àž­àžàž¥àžŽàžàž«àžàž¶à¹àžàžàž£àž±à¹àžàžàžµà¹àžªàž±àžàž¥àž±àžàž©àžà¹àžªàž§àžŽàžàžà¹àžàžµà¹àž­àž¢àž¹à¹àžà¹àž²àžàžà¹àž²àžà¹àžàž·à¹àž­àžàž¢àž²àž¢ (àž«àž£àž·àž­àž¢àžžàžàž¢à¹àž­) à¹àžàž·à¹àž­àž«àž²àžàž­àžà¹àžàž¥à¹àžàž­àž£à¹ àžàž¥àžŽàžàžªàž­àžàžàž£àž±à¹àžàžàžµà¹à¹àžà¹àž¡ (àž«àž£àž·àž­àžàž¥àžŽàžàžàž§àž²à¹àž¥àž°à¹àž¥àž·àž­àž "à¹àžàžŽàžà¹àžà¹àžàž£à¹àžàž£àž¡àž àž²àž¢àžàž­àž  ") à¹àžàž·à¹àž­à¹àžàžŽàžà¹àžà¹àž¡àžà¹àž§àž¢à¹àžàž£à¹àžàž£àž¡àžàž£àž°àž¢àžžàžàžà¹àžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžà¹àžà¹àž¡àžàž±à¹àž (àžàž¹àžàžµà¹ <a href="fileassociations.htm">àžàž§àž²àž¡àžªàž±àž¡àžàž±àžàžà¹àžàž­àžà¹àžà¹àž¡</a>)</p>
+
+<p>à¹àžàžàžàž±àžà¹àžà¹àž¡àž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž·à¹àžàžàžµà¹àžàž³àžàž²àžàžàž°à¹àžªàžàžà¹àž«àž¥à¹àžàžàž­àžàžà¹àž­àž¡àž¹àž¥àžàžµà¹àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžªàž²àž¡àž²àž£àžà¹àžà¹àžàž²àžà¹àžà¹ -- àž£àž°àžàžà¹àžà¹àž¡à¹àžà¹àžàž£àž·à¹àž­àž (àž£àž§àž¡àžàž¶àžàžàžŽàžªàžà¹à¹àžàž£àžà¹ à¹àž¥àž°àžàžµàžàžµàž£àž­àž¡à¹àžàž£à¹àž) à¹àžàž·à¹àž­àž«àž²àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž£àžµàžàžªà¹àžàžàžàžµà¹àž¡àžµàž­àž¢àž¹à¹ à¹àž¥àž°à¹àžàžàžàž­àžà¹àžà¹àž¡àžà¹àž²àžà¹ àžàžµà¹àžàž²àž§àžà¹à¹àž«àž¥àž àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³àžªàž³à¹àžàž²à¹àž¥àž°àžàž¹à¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàžµà¹à¹àžà¹ à¹àžà¹àžàžžàžà¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¢à¹àž²àž¢ àž¥àž àž«àž£àž·àž­à¹àžà¹à¹àžà¹àžà¹àž¡à¹àžà¹àž¢àžà¹àž§à¹àžà¹àžà¹àž¡àžàžµà¹àžàž²àž§àžà¹à¹àž«àž¥àžàž¡àž²àžàž¶à¹àžàžàž°àžªàž²àž¡àž²àž£àžàž¥àžàž­àž­àžà¹àžà¹ à¹àž«à¹àžàž³àžàž²àžàžàž·à¹àžàžàžµà¹àžàžµà¹à¹àžàž·à¹àž­àžà¹àžàž«àž²à¹àžà¹àž¡àžàžµà¹àžàžžàžàžà¹àž­àžàžàž²àž£àž£àž§àž¡àž¥àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àž</p>
+
+<p>à¹àžàžàžàž±àžà¹àžà¹àž¡àž£àž¹àžàžà¹àžà¹àž¡à¹àžªàž³àž«àž£àž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž°à¹àžªàžàžà¹àž«à¹à¹àž«à¹àžà¹àžàž·à¹àž­àž«àž²àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àžàž¢à¹àž£àžŽà¹àž¡àžà¹àžà¹àž¥à¹àž§à¹àžàžàžàž±àžàžàžµà¹àžàž°àž§à¹àž²àž</p>
+
+<p>àžàžžàžàžªàž²àž¡àž²àž£àžàžàž£àž±àžàžàžàž²àžàžàž·à¹àžàžàžµà¹à¹àžà¹àžà¹àž§àž¢àžàž²àž£à¹àž¥àž·à¹àž­àžà¹àž¡àž²àžªà¹à¹àž«àžàž·àž­à¹àžàžàžªàžµà¹àžàž²àžàž¶à¹àžà¹àžà¹àžà¹àž¢àžà¹àžàžàžàž±àžà¹àžà¹àž¡ (àž£àž¹àžàž£à¹àž²àžàžàž­àžàžàž±àž§àžàžµà¹àžàž°à¹àžàž¥àžµà¹àž¢àžà¹àž) à¹àž¥à¹àž§àž¥àž²àž</p>
+
+<p>àžªà¹àž§àžàž¥à¹àž²àžàžªàžžàžàžàž­àžàž«àžà¹àž²àžà¹àž²àžà¹àžà¹àžàžàž·à¹àžàžàžµà¹àžªàžàž²àžàž°àžàž¶à¹àžà¹àžªàžàžàžàž§àž²àž¡àžàž·àžàž«àžà¹àž²àžàž­àžàžàž²àž£àžàž£àž°àžàž³àžàžµà¹à¹àžàžµà¹àž¢àž§àžà¹àž­àžàžàž±àžà¹àžà¹àž¡ (àžàž²àž£àžàž³àžªàž³à¹àžàž² àžàž²àž£àž¢à¹àž²àž¢ à¹àž¥àž°àžàž²àž£àž¥àž) àžàž²àž£àžàž£àž°àžàž³à¹àž«àž¥à¹àž²àžàžµà¹àž­àž²àžàžàž°à¹àžà¹à¹àž§àž¥àž²àžªàž±àžàžàž£àž¹à¹àžàž§à¹àž²àžàž°à¹àžªàž£à¹àžàžªàž¡àžàž¹àž£àžà¹ à¹àžàž¢àžàžžà¹àž¡ "àž«àž¢àžžàž" àžàž°àž«àž¢àžžàžàžàž²àž£àžàž£àž°àžàž³à¹àžà¹ àžàžµà¹àžàž³àž¥àž±àžàžàž³à¹àžàžŽàžàžàž²àž£àž­àž¢àž¹à¹à¹àžàžàžàž°àžàž±à¹àž</p>
+
+<p>àžàžžà¹àž¡àžàžàž²àžà¹àž«àžà¹àžªàž­àžàžàžžà¹àž¡àžàž°àž­àž¢àž¹à¹àžàž£àžŽà¹àž§àžàž¡àžžàž¡àžàž§àž²àž¥à¹àž²àžàžàž­àžàž«àžà¹àž²àžàž­  à¹àžàž¢àžàžžà¹àž¡ "àžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹" àžàžµà¹àžàž³à¹àžªàžàž­àžà¹àž§àž¢àž£àž¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàž°à¹àžà¹àžàžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹ (àžàž¹àžàžµà¹ <a href="creatingfolders.htm">àžàž²àž£àžªàž£à¹àž²àžà¹àžàž¥à¹àžàž­àž£à¹</a>) àžàžžà¹àž¡ "àž¥àž" àžàžµà¹àžàž³à¹àžªàžàž­àžà¹àž§àž¢àž£àž¹àžàžàž¥à¹àž­àžàžàž¢àž°àžàž°à¹àžà¹àžàžàž²àž£à¹àž­àž²à¹àžà¹àž¡àžàž±à¹àžàž­àž­àž àžàž²àž£àžàž¥àžŽàžàžàžžà¹àž¡ 'àž¥àž' àžàž°à¹àžà¹àžàžàž²àž£à¹àž­àž²à¹àžà¹àž¡àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àž­àž­àžàžàž²àžà¹àžàžàžàž±àžà¹àžà¹àž¡àž£àž¹àžàžà¹àžà¹àž¡à¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àž à¹àžàž¢àžàžžàžàžªàž²àž¡àž²àž£àžàž¥àžà¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàž±à¹àžà¹àžà¹à¹àžàž¢àžàž²àž£àž¥àž²àžà¹àžà¹àž¡à¹àž«àž¥à¹àž²àžàž±à¹àžà¹àžàžàžµà¹àžàžžà¹àž¡ 'àž¥àž' à¹àžà¹à¹àžà¹àžàžàž±àž</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž¥àž·àž­àžàž£àž²àž¢àžàž²àž£àžàžµà¹à¹àž£àžµàž¢àžàžàž²àž¡àž¥àž³àžàž±àžàžàž³àžàž§àžàž«àž¥àž²àž¢àž£àž²àž¢àžàž²àž£ à¹àž«à¹àžàž¥àžŽàžà¹àž¥àž·àž­àžàž£àž²àž¢àžàž²àž£à¹àž£àž à¹àž¥à¹àž§àžàžàžàžžà¹àž¡ [Shift] àžà¹àž²àžà¹àž§à¹ àžàž²àžàžàž±à¹àžàžàž¥àžŽàžà¹àž¥àž·àž­àžàž£àž²àž¢àžàž²àž£àžªàžžàžàžà¹àž²àž¢ -- àžàž²àž£à¹àž¥àž·àž­àžàžàž°àžàž£àž­àžàžàž¥àžžàž¡àž£àž²àž¢àžàž²àž£àžàžµà¹àž­àž¢àž¹à¹àž£àž°àž«àž§à¹àž²àžàžàž±à¹àžàžàž±à¹àžàž«àž¡àž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àž¥àž·àž­àžà¹àžà¹àž¡àžàžµà¹à¹àž¡à¹à¹àž£àžµàž¢àžàžà¹àž­àžàž±àžà¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàžàžàžžà¹àž¡ [Ctrl] àžà¹àž²àžà¹àž§à¹àžàžàž°àžàž¥àžŽàž à¹àž«à¹à¹àžà¹àžàž±à¹àžàžªàž­àžàž§àžŽàžàžµàžàžµà¹àž£à¹àž§àž¡àžàž±àžà¹àžàž·à¹àž­à¹àž¥àž·àž­àžàžàž¥àžžà¹àž¡àžàž­àžàž£àž²àž¢àžàž²àž£àžàžµà¹àž­àž¢àž¹à¹à¹àž¡à¹àžàžŽàžàžàž±àž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/themirrorview.htm
===================================================================
--- main/tags/2.83/gli/help/th/themirrorview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/themirrorview.htm	(revision 21123)
@@ -0,0 +1,41 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="themirrorview"><font size="5" face="Verdana"><strong>3.1: àž¡àžžàž¡àž¡àž­àžàžàž²àž§àžà¹à¹àž«àž¥àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž§àžŽàžàžµàžàž²àž£àžàž³àž«àžàžàžà¹àž²àžàž²àžàžàž²àž§àžà¹à¹àž«àž¥àž à¹àž¥àž°àžàž²àž£àžàž§àžàžàžžàž¡àžàž£àž°àžàž§àžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž àžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹àž²àžàž¶àžàž¡àžžàž¡àž¡àž­àž "àžàž²àž§àžà¹à¹àž«àž¥àž  " à¹àžà¹àžà¹àž§àž¢àžàž²àž£àžàž¥àžŽàžàžàžµà¹à¹àžà¹àžàžàž­àžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž àžàž£àž¶à¹àžàžàžàžàž­àžàž«àžà¹àž²àžàž­àžàž°à¹àžªàžàžàžàž±àž§àžàž§àžàžàžžàž¡àžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž àžªà¹àž§àžàžàž£àž¶à¹àžàž¥à¹àž²àžàžàž°à¹àž£àžŽà¹àž¡àžà¹àžàžà¹àž§àž¢àžà¹àž²àž§à¹àž²àž à¹àžà¹àžàž°à¹àžªàžàžàž£àž²àž¢àžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžàžàžµà¹àžàžàžà¹àž²àž à¹àž¥àž°àž£àž²àž¢àžàž²àž£àžàžµà¹à¹àžªàž£à¹àžàžªàž¡àžàž¹àž£àžà¹à¹àž¥à¹àž§</p>
+
+<p>àž¡àžµàž«àž¥àž²àž¢à¹àžàž£à¹àžàžàž­àž¥àžàžµà¹àžªàž²àž¡àž²àž£àžà¹àžà¹àžàž²àž§àžà¹à¹àž«àž¥àžàžà¹àž­àž¡àž¹àž¥à¹àžà¹ à¹àž¥àž°àž£àž°àžàžàžàž°à¹àžªàžàžàž£àž²àž¢àžàž²àž£à¹àžàž£à¹àžàžàž­àž¥à¹àž«àž¥à¹àž²àžàžµà¹à¹àž§à¹àžàž£àžŽà¹àž§àžàžà¹àž²àžàžàžàžà¹àž²àž¢àžàž­àžàž«àžà¹àž²àžàž­</p>
+
+<p>
+<b>à¹àž§à¹àž:</b> àžàž²àž§àžà¹à¹àž«àž¥àžàž«àžà¹àž²à¹àž§à¹àžà¹àž¥àž°à¹àžà¹àž¡àžà¹àž²àžà¹àžàž£à¹àžàžàž­àž¥ HTTP à¹àž¥àž° FTP</p>
+
+<p>
+<b>OAI:</b> àžàž²àž§àžà¹à¹àž«àž¥àžàž£àž°à¹àžàžµàž¢àžà¹àž¡àžàž²àžàž²àžàž²àžàž²àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹ OAI (Open Archives Initiative)</p>
+
+<p>
+<b>Z3950:</b> àžàž²àž§àžà¹à¹àž«àž¥àžàž£àž°à¹àžàžµàž¢àž MARC àžàžµà¹àžàž£àžàžàž±àžà¹àžàž·à¹àž­àžà¹àžàžàž²àž£àžà¹àžàž«àž²à¹àžàžà¹àžàžàž²àž°à¹àžàž²àž°àžàžàžàž²àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹ Z39.50</p>
+
+<p>
+<b>SRW:</b> àžàž²àž§àžà¹à¹àž«àž¥àžàž£àž°à¹àžàžµàž¢àž MARCXML àžàžµà¹àžàž£àžàžàž±àžà¹àžàž·à¹àž­àžà¹àžàžàž²àž£àžà¹àžàž«àž²à¹àžàžà¹àžàžàž²àž°à¹àžàž²àž°àžàžàžàž²àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹ SRW</p>
+
+<p>à¹àž¥àž·àž­àžà¹àžàž£à¹àžàžàž­àž¥àžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡à¹àžàž¢àžàž¥àžŽàžà¹àž¥àž·àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£àžàž²àžàžà¹àž²àž¢àž¡àž·àž­ àžàž²àžàžàž±à¹àžàž£àž°àžàžàžàž°à¹àžªàžàžàžàž±àž§à¹àž¥àž·àž­àžàžàžµà¹àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹àžªàž³àž«àž£àž±àžà¹àžàž£à¹àžàžàž­àž¥àžàž²àž§àžà¹à¹àž«àž¥àžàžàžµà¹àžàžžàžà¹àžà¹à¹àž¥àž·àž­àžàžàž²àžàžà¹àž²àžàžàž§àž²àž¡àž·àž­ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžà¹àžàž«àž²àž§à¹àž²àžàž±àž§à¹àž¥àž·àž­àžà¹àžà¹àž¥àž°àžàž±àž§àžàž³àžàž²àžàž­àž°à¹àž£ à¹àž«à¹à¹àžàž¥àž·à¹àž­àžà¹àž¡àž²àžªà¹à¹àž«àžàž·àž­àžàž±àž§à¹àž¥àž·àž­àžàžàž±à¹àž à¹àžàž¥à¹àžàž¥àž±àžà¹àžàž£àž·à¹àž­àžàž¡àž·àž­àžàžµà¹àž­àžàžŽàžàž²àž¢àžàž±àž§à¹àž¥àž·àž­àžàžàž°àžàž£àž²àžàžàžàž¶à¹àž àžàž±àž§à¹àž¥àž·àž­àžàžàž²àžàžàž±àž§à¹àžà¹àžà¹àžàž 'à¹àžà¹àžàžàž²àžà¹àž¥àž·àž­àž' à¹àžàž¢àžàž±àž§à¹àž¥àž·àž­àžà¹àž«àž¥à¹àž²àžàžµà¹àžàž°àžàž¹àžà¹àžªàžàžàžàž¶à¹àžà¹àžàž£àž¹àžà¹àžàžàžàž­àžàžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢ àžàž¶à¹àžàžàžžàžàžàž°àžà¹àž­àžàžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžà¹àžàž²àžàžàž±àž§à¹àž¥àž·àž­àžàžàž±à¹àž àžàž±àž§à¹àž¥àž·àž­àžàž­àž·à¹àžà¹ à¹àžà¹àžà¹àžàž 'àžà¹àž­àžàž£àž°àžàžž' àžàž±àž§à¹àž¥àž·àž­àžà¹àž«àž¥à¹àž²àžàžµà¹àžàž°à¹àž¡à¹àž¡àžµàžàž¥à¹àž­àžàžàž²à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢ à¹àž¥àž°àžàžžàžàžàž°àžà¹àž­àžàžàž³àž«àžàžàžà¹àž²àžàž±à¹àžàžà¹àž­àžàžàž³à¹àžàžŽàžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž</p>
+
+<p>àžàž±àžàžàžµàžàžµà¹à¹àžà¹àžàž±à¹àžàžà¹àž²àžàž²àž£àžàž³àž«àžàžàžà¹àž²à¹àž¥à¹àž§ à¹àž«à¹àžàž¥àžŽàžàžàžµà¹ "àžà¹àž­àž¡àž¹àž¥à¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹  " à¹àžàž·à¹àž­àžàž£àž§àžàžªàž­àžàžàž²àž£à¹àžàž·à¹àž­àž¡àžà¹àž­à¹àžàž¢àž±àžà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹ à¹àž¥àž°àžàž¹àžà¹àž­àž¡àž¹àž¥àžàž±à¹àž§à¹àžà¹àžàžµà¹àž¢àž§àžàž±àžàž«àžà¹àž²à¹àž§à¹àžàž«àž£àž·àž­à¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹ àž«àž£àž·àž­àžàž¥àžŽàžàžàžµà¹ "àžàž²àž§àžà¹à¹àž«àž¥àž  " à¹àžàž·à¹àž­à¹àž£àžŽà¹àž¡àžà¹àžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž</p>
+
+<p>àž¡àžµàžàžžà¹àž¡àž­àžµàžàžªàž­àžàžàžžà¹àž¡ àžàž·àž­ àžàžžà¹àž¡ "àžàž³àž«àžàžàžàžžàžàž¥àž±àžàž©àžàž°" àžàž¶à¹àžàžàž°à¹àžàž·à¹àž­àž¡à¹àž¢àžà¹àžàž¢àž±àžàžªà¹àž§àžàžàž²àž£à¹àžàž·à¹àž­àž¡àžà¹àž­àžàž­àžàžàž²àž£àžàž³àž«àžàžàžàžžàžàž¥àž±àžàž©àžàž°àžàžµà¹àžàž¶à¹àžàžàžžàžàžªàž²àž¡àž²àž£àžà¹àžà¹à¹àžàžàž²àž£àžàž±à¹àžàžà¹àž²àžàž£à¹àž­àžàžàžµà¹àžà¹ à¹àž¥àž°àžàžžà¹àž¡ "àž¥à¹àž²àžàžà¹àž²à¹àžàž' àžàž¶à¹àžàžàž°àžàž³àžàž²àž£àž¥àžà¹àžà¹àž¡àžàžµà¹à¹àžà¹àžàž²àž§àžà¹à¹àž«àž¥àžà¹àž§à¹àžà¹àž­àžàž«àžà¹àž²àžàžµà¹àžàž±à¹àžàž«àž¡àž àžàžžàžàžàž³à¹àžà¹àžàžà¹àž­àžàžàž±à¹àžàžà¹àž²àžà¹àž­àž¡àž¹àž¥àžàž£à¹àž­àžàžàžµàžà¹àž²àžàžžàžàžàž°à¹àžà¹àžàž£à¹àž­àžàžàžµà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹à¹àžàž·à¹àž­à¹àžàž·à¹àž­àž¡àžà¹àž­à¹àžàž¢àž±àžàž­àžŽàžà¹àžàž­àž£à¹à¹àžà¹àž àžà¹àž²àžàž³à¹àžà¹àžàžà¹àž­àžàž¡àžµàžàž²àž£àžàž£àž§àžàžªàž­àžàžªàžŽàžàžàžŽà¹àž£àž°àž«àž§à¹àž²àžàžàž£àž°àžàž§àžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž àžàž£à¹àž­àžàžàžµà¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹àžàž°àžàž²àž¡àžàž·à¹àž­àžàž¹à¹à¹àžà¹à¹àž¥àž°àž£àž«àž±àžªàžà¹àž²àž àžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžªàž³àž«àž£àž±àžàžàž£àž£àžàž²àž£àž±àžàž©à¹àžàž°à¹àž¡à¹à¹àžà¹àžàž£àž«àž±àžªàžà¹àž²àžàž£àž°àž«àž§à¹àž²àžà¹àžàžªàžàž±àž</p>
+
+<p>à¹àžà¹àž¡àžàž°àžàž¹àžàžàž²àž§àžà¹à¹àž«àž¥àžàž¥àžà¹àžà¹àžàž¥à¹àžàž­àž£à¹àžàž·à¹àž­ "à¹àžà¹àž¡àžàžµà¹àžàž²àž§àžà¹à¹àž«àž¥àž  " (àžàž°àžàž£àž²àžàžàžàž¶à¹àžà¹àžàžàž²àž°à¹àž¡àž·à¹àž­à¹àžàžŽàžà¹àžà¹àžàž²àžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž) à¹àž¥àž°àžªàž²àž¡àž²àž£àžàžàž³àž¡àž²à¹àžà¹à¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹ àžà¹à¹àžà¹ à¹àžà¹àž¡àžàž°àžàž¹àžàžàž±à¹àžàžàž·à¹àž­àžàž²àž¡ URL àžàž­àžà¹àž§à¹àžà¹àžàžà¹àžà¹àž¡ (àžªàž³àž«àž£àž±àžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžà¹àž§à¹àž) àž«àž£àž·àž­àžàž²àž£àž£àž§àž¡àžàž±àžàžàž­àž URL à¹àž¥àž°àžà¹àž²àžàž±àž§à¹àž¥àž·àž­àž (àžªàž³àž«àž£àž±àžàžàžàžŽàžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžàž­àž·à¹àžà¹) à¹àžàž¥à¹àžàž­àž£à¹à¹àž«àž¡à¹àžàž°àžàž¹àžàžªàž£à¹àž²àžàžàž¶à¹àžàžªàž³àž«àž£àž±àžà¹àžà¹àž¥àž°à¹àž®àžªàžà¹ àžàž²àž¡àžà¹àž§àž¢à¹àžàž¥à¹àžàž­àž£à¹àž­àž·à¹àžà¹ àžªàž³àž«àž£àž±àžà¹àžà¹àž¥àž°àžªà¹àž§àžàžàž­àžà¹àžªà¹àžàžàž²àž àžàž¶à¹àžàžàž°àžà¹àž§àž¢à¹àž«à¹àž¡àž±à¹àžà¹àžà¹àžà¹àž§à¹àž²à¹àžà¹àž°àž¥àž°à¹àžà¹àž¡àžàž°àž¡àžµàžàž§àž²àž¡à¹àžàžàžà¹àž²àžàžàž±àžàž­àž¢à¹àž²àžàžàž±àžà¹àžàž</p>
+
+<p>àž£àž²àž¢àžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžàžàž°àž¡àžµàž£àž²àž¢àžàž²àž£àž«àžàž¶à¹àžàž£àž²àž¢àžàž²àž£àžà¹àž­àžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àžà¹àžà¹àž¥àž°àžàž£àž±à¹àž à¹àžàž¢à¹àžà¹àž¥àž°àž£àž²àž¢àžàž²àž£àžàž°àž¡àžµàžàž­àžà¹àžàžàžà¹àž­àžàž§àž²àž¡àžàžµà¹à¹àžªàžàžàž£àž²àž¢àž¥àž°à¹àž­àžµàž¢àžàžàž­àžàžàž²àžàžàž£à¹àž­àž¡àžà¹àž§àž¢à¹àžàžàžàž§àž²àž¡àžàž·àžàž«àžà¹àž²àžàžµà¹à¹àžªàžàžàžàžŽàžàžàž£àž£àž¡àžàžµà¹àžàž³à¹àžàžŽàžàžàž²àž£àž­àž¢àž¹à¹à¹àžàžàž±àžàžàžžàžàž±àž àžàž°àž¡àžµàžàžžà¹àž¡àžªàž²àž¡àžàžžà¹àž¡àžàž£àž²àžàžàžàž¶à¹àžàžàž²àžàžà¹àž²àžàžàž§àž²àž¡àž·àž­àžàž­àžà¹àžà¹àž¥àž°àž£àž²àž¢àžàž²àž£ àžàž±àžàžàž³àž­àžàžŽàžàž²àž¢àžà¹àž­à¹àžàžàžµà¹ "àž«àž¢àžžàžàžàž±à¹àž§àžàž£àž²àž§" à¹àžà¹àž«àž¢àžžàžàžàž²àž£àžàž³àžàž²àžà¹àžàžàžàž±à¹àž§àžàž£àž²àž§  "àžàž¹à¹àžà¹àž¡àžàž±àžàžàž¶àž" à¹àžà¹àžàžàž²àž£à¹àžàžŽàžàž«àžà¹àž²àžà¹àž²àžàžàž¶à¹àžà¹àžªàžàžà¹àžà¹àž¡àžàž±àžàžàž¶àžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž  "àžàžŽàž" àžàž°à¹àžà¹àžàžàž²àž£àžªàžŽà¹àžàžªàžžàžàžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž à¹àž¥àž°àž¥àžàžàž²àžàž­àž­àžàžàž²àžàž£àž²àž¢àžàž²àž£àžàž²àž§àžà¹à¹àž«àž¥àž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/translatetext.htm
===================================================================
--- main/tags/2.83/gli/help/th/translatetext.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/translatetext.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="translatetext"><font size="5" face="Verdana"><strong>8.5: à¹àžàž¥àžà¹àž­àžàž§àž²àž¡</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>àžªà¹àž§àžàžàžµà¹àžàž°àž­àžàžŽàžàž²àž¢àžàž¶àžàž¡àžžàž¡àž¡àž­àžàžàž²àž£à¹àžàž¥ àžàžµà¹àžàž¶à¹àžàžàžžàžàžªàž²àž¡àž²àž£àžà¹àžàž¥àžàžŽà¹àžàžªà¹àž§àžàžàž­àžàžà¹àž­àžàž§àž²àž¡à¹àžàž«àž¥àž²àž¢à¹ àžªà¹àž§àžàžàž­àžàžªà¹àž§àžàžàžŽàžàžà¹àž­àžàž¹à¹à¹àžà¹àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àžà¹àžàž àž²àž©àž²àž­àž·à¹àžà¹àžà¹ àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹à¹àžàž¢àžàž¥àžŽàž "à¹àžàž¥àžà¹àž­àžàž§àž²àž¡" àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž£àž¹àžà¹àžàž"</p>
+
+<p>à¹àžàžàž±à¹àžà¹àž£àž à¹àž«à¹à¹àž¥àž·àž­àžàž£àž²àž¢àžàž²àž£àžàž²àžàž£àž²àž¢àžàž²àž£ "àžàžžàžàž¥àž±àžàž©àžàž°"  àžªàžàž£àžŽàžàž£àž°àžàžžàž àž²àž©àž²àžàžµà¹àžªàž±àž¡àžàž±àžàžà¹àžàž±àžàžàžžàžàž¥àž±àžàž©àžàž°àžàžµà¹àžàž°àžàž£àž²àžàžàžàž¶à¹àžàžà¹àž²àžàž¥à¹àž²àž à¹àž«à¹à¹àžà¹àž£àž²àž¢àžàž²àž£à¹àžàžàž«àž¥à¹àžàž¥àž "àž àž²àž©àž²àžàžµà¹àžà¹àž­àžàžàž²àž£à¹àžàž¥" à¹àžàž·à¹àž­à¹àž¥àž·àž­àžàž àž²àž©àž²à¹àžà¹àž²àž«àž¡àž²àž¢ à¹àž¥àž°àžàžŽàž¡àžà¹àžà¹àž­àžàž§àž²àž¡àžàžµà¹à¹àžàž¥à¹àž¥à¹àž§àž¥àžà¹àžàžàž·à¹àžàžàžµà¹àžà¹àž­àžàž§àž²àž¡ à¹àžàž¢àžàž²àž£àž­à¹àž²àžàžàž¶àž "àžªà¹àž§àžàžàž­àžàžà¹àž­àžàž§àž²àž¡àžàž±à¹àžàžà¹àž" àžà¹àž²àžàž³à¹àžà¹àž à¹àž¡àž·à¹àž­àžàž³àžàž²àž£à¹àžàž¥à¹àžªàž£à¹àžà¹àž£àžµàž¢àžàž£à¹àž­àž¢à¹àž¥à¹àž§ à¹àž«à¹àžàž¥àžŽàžàžàžµà¹ "à¹àžàžŽà¹àž¡àžàž³à¹àžàž¥" </p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àž­àž²àžàž³à¹àžàž¥àžàžµà¹àž¡àžµàž­àž¢àž¹à¹à¹àž¥à¹àž§àž­àž­àž à¹àž«à¹à¹àž¥àž·àž­àžàžàž³à¹àžàž¥àžàž±à¹àžà¹àžàžàž²àž£àž²àž "àžàž³à¹àžàž¥àžàžµà¹àžàž³àž«àžàž" à¹àž¥àž°àžàž¥àžŽàž "à¹àž­àž²àžàž³à¹àžàž¥àž­àž­àž"</p>
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžà¹à¹àžàžàž³à¹àžàž¥ à¹àž«à¹à¹àž¥àž·àž­àžàžàž³à¹àžàž¥àžàž±à¹àž àžàž³àžàž²àž£à¹àžà¹à¹àžàžàž£àžŽà¹àž§àž "àžà¹àž­àžàž§àž²àž¡àžàžµà¹à¹àžàž¥à¹àž¥à¹àž§" à¹àž¥àž°àžàž¥àžŽàž "à¹àžàžàžàžµà¹àžàž³à¹àžàž¥"</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/updatingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/th/updatingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/updatingmetadata.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="updatingmetadata"><font size="5" face="Verdana"><strong>5.5: àžàž²àž£à¹àžà¹à¹àžà¹àž¡àžàž²àžàž²àžàž²àž«àž£àž·àž­àžàž²àž£à¹àž­àž²à¹àž¡àžàž²àžàž²àžàž²àž­àž­àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžà¹à¹àžàž«àž£àž·àž­à¹àž­àž²à¹àž¡àžàž²àžàž²àžàž²àž­àž­àž àžà¹àž­àžàž­àž·à¹àžà¹àž«à¹à¹àž¥àž·àž­àžà¹àžà¹àž¡àžàžµà¹à¹àž«àž¡àž²àž°àžªàž¡ àžàž²àžàžàž±à¹àžà¹àž¥àž·àž­àžàžà¹àž²à¹àž¡àžàž²àžàž²àžàž²àžàž²àžàžàž²àž£àž²àž à¹àž¥à¹àž§à¹àžà¹à¹àžà¹àžàžàžà¹àž­àž¡àž¹àž¥àžà¹àž²àžà¹àž§àž¢àžàž²àž£àž¥àžàžà¹àž­àžàž§àž²àž¡àžàž±à¹àžàž«àž¡àžàžà¹àž²àžàžžàžàžà¹àž­àžàžàž²àž£à¹àž­àž²à¹àž¡àžàž²àžàž²àžàž²àž­àž­àž</p>
+
+<p>àžàž£àž°àžàž§àžàžàž²àž£àžàžµà¹àžàž°àžàž³à¹àžàžŽàžàžàž²àž£à¹àžà¹àžà¹àžàžµàž¢àž§àžàž±àžàžàž²àž£àžàž£àž±àžàžàž£àžžàžà¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹àž¡àžµà¹àžàž¥à¹àžàž­àž£à¹àž¥àž¹àžàž«àž£àž·àž­à¹àžà¹àž¡àž«àž¥àž²àž¢à¹àžà¹àž¡ à¹àžà¹àžàžžàžàžªàž²àž¡àž²àž£àžàžàž³à¹àžà¹à¹àžàžµàž¢àžàžàž£àž±àžàžàž£àžžàžà¹àž¡àžàž²àžàž²àžàž²àžàžµà¹à¹àžà¹àžàžà¹àž²àž£à¹àž§àž¡àžàž±àžàžàž­àžà¹àžà¹àž¡/à¹àžàž¥à¹àžàž­àž£à¹àžàžµà¹à¹àž¥àž·àž­àžà¹àž§à¹àžàž±à¹àžàž«àž¡àžà¹àžà¹àž²àžàž±à¹àž</p>
+
+<p>à¹àžàžàžàž±àžàžà¹àž²àžàž°à¹àžªàžàžàžà¹àž²àžàžµà¹àžàž³àž«àžàžà¹àž§à¹à¹àžàžàž±àžàžàžžàžàž±àžàžàž±à¹àžàž«àž¡àžà¹àžà¹àžà¹àžàžµàž¢àž§àžàž±àžàžà¹àž²àžà¹àž­àžàžàžµà¹àžªàž³àž«àž£àž±àžà¹àžàžªàžàž±àžàžàž±àžàžàžžàžàž±àž àžàž±àžàžàž±à¹àžàžà¹àž²àžàžµà¹àžàž¹àžà¹àžàž¥àžµà¹àž¢àžà¹àžàž¥àžàž«àž£àž·àž­àžàž¹àžàž¥àžàžàž°àž¢àž±àžàžàžàž­àž¢àž¹à¹à¹àžà¹àžàžàžàž±àž àžàž²àž£àžàžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àž¥àž°à¹àžàžŽàžàžàž¶à¹àžàž¡àž²à¹àž«àž¡à¹àžàž°à¹àžà¹àžàžàž²àž£à¹àž­àž²àžà¹àž²àžàž±à¹àžàž«àž¡àžàžàžµà¹à¹àž¡à¹àžà¹àž­àžàžàž²àž£à¹àž¥à¹àž§àž­àž­àžà¹àž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/th/xcollectionsearching.htm
===================================================================
--- main/tags/2.83/gli/help/th/xcollectionsearching.htm	(revision 21123)
+++ main/tags/2.83/gli/help/th/xcollectionsearching.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="xcollectionsearching"><font size="5" face="Verdana"><strong>8.6: àžàž²àž£àžà¹àžàž«àž²àžà¹àž²àž¡àžàž­àž¥à¹àž¥àžàžàž±àž</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàžàžªàž²àž¡àž²àž£àžàžà¹àžàž«àž²àžà¹àž­àž¡àž¹àž¥àžà¹àž²àž¡àžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹à¹àžàžàžà¹àž²àžàžàž±àžàž«àž¥àž²àž¢àžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àž£àž²àž§àžàž±àžà¹àžà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàžµàž¢àž§àžàž±àž àžàž¶à¹àžàžªàž²àž¡àž²àž£àžàžàž³à¹àžà¹àžà¹àž§àž¢àžàž²àž£àž£àž°àžàžžàž£àž²àž¢àžàž²àž£àžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž­àž·à¹àžà¹ àžàžµà¹àžàž°àžà¹àžàž«àž²à¹àžà¹àž²àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±àžàžàžžàžàž±àž à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£àžàž³à¹àžàžŽàžàžàž²àž£ à¹àž«à¹àžàž¥àžŽàž "àžà¹àžàž«àž²àžà¹àž²àž¡àžàž­àž¥à¹àž¥àžàžàž±àž" àž àž²àž¢à¹àžà¹à¹àžà¹àž "àž£àž¹àžà¹àžàž" </p>
+
+<p>àžªà¹àž§àžàžàž§àžàžàžžàž¡àžàž²àž£àžà¹àžàž«àž²àžà¹àž²àž¡àžàž­àž¥à¹àž¥àžàžàž±àžàžàž°à¹àžªàžàžàž£àž²àž¢àžàž²àž£àžàž£àž§àžàžªàž­àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàžµà¹àžªàž²àž¡àž²àž£àžà¹àž£àžµàž¢àžà¹àžà¹àžàž²àžà¹àžà¹ àžàž­àž¥à¹àž¥àžàžàž±àžàžàž±àžàžàžžàžàž±àžàžàž°àžàž¹àžàžàž³à¹àžàž£àž·à¹àž­àžàž«àž¡àž²àž¢à¹àž§à¹à¹àž¥àž°à¹àž¡à¹àžªàž²àž¡àž²àž£àžàž¢àžà¹àž¥àžŽàžàžàž²àž£à¹àž¥àž·àž­àžà¹àžà¹ à¹àž¡àž·à¹àž­àžà¹àž­àžàžàž²àž£à¹àžàžŽà¹àž¡àžàž­àž¥à¹àž¥àžàžàž±àžàž­àž·à¹àžà¹àžàž·à¹àž­à¹àž«à¹àž£àž°àžàžàžàž³àžàž²àž£àžà¹àžàž«àž²à¹àžàžàž£à¹àž­àž¡àžàž±àž à¹àž«à¹àžàž¥àžŽàžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàž£àž²àž¢àžàž²àž£ (àžàž¥àžŽàžàž­àžµàžàžàž£àž±à¹àžà¹àžàž·à¹àž­à¹àž­àž²àžàž­àž¥à¹àž¥àžàžàž±àžàž­àž­àž) àž«àž²àžàžàžžàžà¹àž¥àž·àž­àžà¹àžàžµàž¢àžàžàž­àž¥à¹àž¥àžàžàž±àžà¹àžàžµàž¢àž§ àžàž°à¹àž¡à¹àž¡àžµàžàž²àž£àžà¹àžàž«àž²àžà¹àž²àž¡àžàž­àž¥à¹àž¥àžàžàž±àž</p>
+
+<p>àžà¹àž²àžàž­àž¥à¹àž¥àžàžàž±àžà¹àžà¹àž¥àž°àžàž­àž¥à¹àž¥àžàžàž±àžà¹àž¡à¹àž¡àžµàžàž±àžàžàžµàžàž±àž§à¹àžàžµàž¢àž§àžàž±àž (àž£àž§àž¡àžàž¶àžàžàž²àž£à¹àžàžŽàžàž±àžàžàž­àžàžàž­àž¥à¹àž¥àžàžàž±àžàž¢à¹àž­àž¢à¹àž¥àž°àžàž²àž£à¹àžàžŽàžàž±àžàž àž²àž©àž²) àžàž±àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±àž§àž­àž·à¹àž àžàž²àž£àžà¹àžàž«àž²àžà¹àž²àž¡àžàž­àž¥à¹àž¥àžàžàž±àžàžàž°àžàž³àžàž²àžà¹àž¡à¹àžàžàžàžŽ àžàž¹à¹à¹àžà¹àžªàž²àž¡àž²àž£àžàžàž³à¹àžà¹à¹àžàžµàž¢àžàžà¹àžàž«àž²à¹àžàž¢à¹àžà¹àžàž±àžàžàžµàžàžµà¹àž¡àžµà¹àžàžàž­àž¥à¹àž¥àžàžàž±àžàžàž±à¹àžàž«àž¡àžà¹àžà¹àž²àžàž±à¹àž</p>
+
+<p>àžªàž³àž«àž£àž±àžàžà¹àž­àž¡àž¹àž¥à¹àžàžŽà¹àž¡à¹àžàžŽàž¡ à¹àž«à¹àžàž¹àžàžàžàžµà¹ 1 àžàž­àžà¹àžàž§àžàž²àžàžªàž³àž«àž£àž±àžàžàž±àžàžàž±àžàžàž²à¹àžàž£à¹àžàž£àž¡àžàž£àžµàžàžªà¹àžàž</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/addingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/zh/addingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/addingfiles.htm	(revision 21123)
@@ -0,0 +1,46 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="addingfiles"><font size="5" face="Verdana"><strong>4.4: æ·»å æä»¶</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ææŸæäœå¯å°æä»¶å€å¶å°éŠèäž­ãæ­€æ¶éŒ æ æéå°æ å°æéçæä»¶(æå€äžªæä»¶)ãææŸå°éååºåçææ¡£ç®åœæ äž­å°ææéæä»¶å€å¶å°è¯¥äœçœ®(åŠææä»¶æºäºWorkspaceçæä»¶ç®åœæ )ïŒæè
+åšéŠèäž­ç§»åšæéæä»¶(åŠææä»¶æºäºéååºåçæä»¶ç®åœæ )ã</p>
+
+<p>åšå€å¶å€äžªæä»¶æ¶ïŒè¿äºæä»¶éœå°è¢«æŸå°åäžçº§å«çç®æ æä»¶å€¹äž­ïŒäžè®ºè¿äºæä»¶åæ¥åšæä»¶ç®åœç»æäž­çå±æ¬¡ãå€å¶ååæä»¶å°åäžæä»¶å€¹æ¶ïŒå°è¯¢é®æ¯åŠèŠçç°ææä»¶ãéæ©"åŠ"åè¯¥ååæä»¶å°äžäŒè¢«å€å¶ïŒäœå
+¶ä»æä»¶å°è¢«å€å¶ãèŠåæ¶äœäžçå€å¶æäœïŒç¹å»"åæ­¢"æé®ã</p>
+
+<p>åšç§»åšæä»¶æ¶ïŒåªææéé¡¹çæé¡¶å±å
+çŽ è¢«ç§»åšãæä»¶å€¹çå±æ¬¡é«äºå
+¶äž­çé¡¹ç®ãäžèœåšéäž­äžäžªæä»¶å€¹äž­çæä»¶ååæ¶ç§»åšè¯¥æä»¶å€¹æ¬èº«ã</p>
+
+<p>åœæ·»å äžäžªæä»¶æ¶ïŒåŸä¹ŠéŠåçé¢å°åšæºæä»¶å€¹äž­æçŽ¢å
+å«æ­€æ·»å æä»¶å
+æ°æ®çéå±æä»¶ãåŠææ¥æŸå°è¿æ ·äžäžªéå±æä»¶ïŒåŸä¹ŠéŠåçé¢å°å¯Œå
+¥è¯¥å
+æ°æ®ãåšå¯Œå
+¥æäœè¿è¡çè¿çšäž­ïŒå¯èœäŒ(ä¹è®žå€æ¬¡)åŒ¹åºæç€ºçªå£ïŒæç€ºå°å¯Œå
+¥çå
+æ°æ®æ å°å°è¯¥éŠèçå
+æ°æ®éäžãè¿äžªè¿çšæ¶åå€äžªäžåçåŒ¹åºçªå£ïŒè¿äºéœåš<a href="importingpreviouslyassignedmetadata.htm">å¯Œå
+¥ä¹åææå®çå
+æ°æ®</a>äž­æææè¿°ãå
+³äºæä»¶äžå
+æ°æ®å
+³èçè¯Šç»ä»ç»ïŒè¯·åé
+GreenstoneåŒåè
+æåçç¬¬äºç« ã</p>
+
+<p>äœ ä¹å¯æ·»å äžäžª"æ çšç"ææ¡£å°éŠèäž­ïŒåšéŠèåºåçæä»¶ç®åœæ æè
+äžäžªæä»¶å€¹äžåå»å³é®ïŒå¹¶éæ©"æ°çèææä»¶"ãè¿å°åå»ºäžäžªæ°çç©ºæä»¶ïŒå
+æ°æ®å¯ä»¥æ·»å å°è¯¥æä»¶äžãè¿äžªæä»¶éåå¯çšäžäžª"çæ­£ç"æä»¶ææ¿æ¢ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/addingpreviouslydefinedmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/zh/addingpreviouslydefinedmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/addingpreviouslydefinedmetadata.htm	(revision 21123)
@@ -0,0 +1,29 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="addingpreviouslydefinedmetadata"><font size="5" face="Verdana"><strong>5.4: æ·»å ä¹åå®ä¹çå
+æ°æ®</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>åŠæææ·»å çå
+æ°æ®åŒå·²ç»å­åšïŒåéŠå
+éæ©æä»¶ïŒåéæ©èŠæ·»å åŒçå
+æ°æ®å
+çŽ ïŒç¶åä»å
+æ°æ®åŒçæ ç»æäž­éæ©éèŠçåŒïŒå¹¶æéæåŒå±çº§æä»¶å€¹ãæéé¡¹çåŒå°èªåšåºç°åšè¯¥å
+æ°æ®å­æ®µ(æè
+ïŒäœ¿çšèªåšéæ©åèªåšå®æåèœ)</p>
+
+<p>æ·»å ç°æå
+æ°æ®åŒå°æä»¶å€¹æè
+å€äžªæä»¶çè¿çšäžäžçžåã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/appendingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/zh/appendingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/appendingmetadata.htm	(revision 21123)
@@ -0,0 +1,50 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="appendingmetadata"><font size="5" face="Verdana"><strong>5.3: æ·»å æ°çå
+æ°æ®</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ç°åšæä»¬åšäžäžªæä»¶äž­æ·»å äžäžªå
+æ°æ®é¡¹--å
+æ¬å
+¶å
+çŽ ååŒãéŠå
+åšå·ŠäŸ§çéåæä»¶ç®åœæ äž­éæ©æä»¶ãè¿äžªæäœå°åšå³äŸ§çè¡šäž­æŸç€ºè¯¥æä»¶çææç°æçå
+æ°æ®ã</p>
+
+<p>ç¶ååšè¡šäž­ç¹å»æ³æ·»å çå
+æ°æ®å
+çŽ æåšçè¡ã</p>
+
+<p>åšåŒå­æ®µäž­èŸå
+¥å
+æ°æ®ä¹ãäœ¿çš"|"å­ç¬Šæ·»å ç»æïŒåŠ<a href="theenrichview.htm">å å
+¥è§åŸ</a>äž­æè¿°ãç¹å»[Up]å[Down]ç®­å€Žé®å°ä¿å­åœåå
+æ°æ®åŒå¹¶ç§»åšå°å¯¹åºçæéæ©çé¡¹ãäœ¿çš[Enter]é®å°ä¿å­åœåå
+æ°æ®åŒå¹¶äžºåœåå
+æ°æ®å
+çŽ åå»ºäžäžªæ°çç©ºé¡¹ïŒä»èå¯ä»¥äžºåäžå
+æ°æ®å
+çŽ æ·»å å€äžªåŒã</p>
+
+<p>ä¹å¯ä»¥äžºäžäžªæä»¶å€¹æ·»å å
+æ°æ®ïŒæè
+äžæ¬¡äžºå€äžªæéæä»¶æ·»å å
+æ°æ®ãè¯¥å
+æ°æ®å°è¢«æ·»å å°æä»¶å€¹äžçæææä»¶æè
+æéçæææä»¶ïŒåå
+¶å­æä»¶å€¹ãè¯·çæïŒåŠæå
+æ°æ®è¢«èµäºæä»¶å€¹ïŒåå
+¶äž­çä»»äœæ°æä»¶å°èªåšç»§æ¿è¯¥æä»¶å€¹çå
+æ°æ®åŒã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/assignlanguages.htm
===================================================================
--- main/tags/2.83/gli/help/zh/assignlanguages.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/assignlanguages.htm	(revision 21123)
@@ -0,0 +1,37 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="assignlanguages"><font size="5" face="Verdana"><strong>6.4.3: æå®è¯­ç§</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>æ¬èè¯Šç»ä»ç»åŠäœå°çŽ¢åŒéå¶åšæå®è¯­ç§äž­ãè¿éè¿åš&ldquo;ååºçŽ¢åŒ&rdquo;è§åŸäž­ç&ldquo;æå®è¯­ç§&rdquo;æ ç­Ÿäž­åå»ºäžäžªååºæ¥å®æã</p>
+
+<p>è¯­ç§ååºçšå
+æ°æ®å³å®åªäºææ¡£åºå±äºåªäžªè¯­ç§çååºãGreenstonäŒäžºå€æ°ææ¡£çæ&rdquo;ex.Language&ldquo;å
+æ°æ®ïŒè¿æ¯çŒºçäœ¿çšçå
+æ°æ®ãç¶èïŒéè¿è®Ÿçœ®"è¯­ç§å
+æ°æ®"å¯ä»¥æŽæ¹å
+æ°æ®å
+çŽ ã</p>
+
+<p>è¥èŠåå»ºäžäžªæ°è¯­ç§ååºïŒä»"æ·»å è¯­ç§"åè¡šäž­éæ©äžäžªæå€äžªè¯­ç§ïŒç¶åç¹å»"æ·»å ååº"ã</p>
+
+<p>æŽæ¹å·²åå»ºçååºïŒåš"æå®è¯­ç§ååº"åè¡šäž­éäž­è¯¥ååºïŒåšäžé¢ç"æ·»å è¯­ç§"åè¡šäž­ä¿®æ¹æéæ©çè¯­ç§ïŒç¶åç¹å»"æ¿æ¢ååº"ã</p>
+
+<p>å é€äžäžªè¯­ç§ååºïŒä»"æå®è¯­ç§ååº"åè¡šäž­éäž­è¯¥ååºïŒç¶åç¹å»"å é€ååº"ã</p>
+
+<p>è¯­ç§ååºåš"å·²å®ä¹çååº"åè¡šäž­çæŸç€ºé¡ºåºå°±æ¯åšæçŽ¢é¡µé¢äžæèåäž­çæŸç€ºé¡ºåºãäœ¿çš"äžç§»"å"äžç§»"æé®æ¥æŽæ¹é¡ºåºã</p>
+
+<p>è®Ÿå®é»è®€çè¯­ç§ååºïŒä»åè¡šäž­éäž­è¯¥ååºå¹¶ç¹å»"è®Ÿçœ®äžºé»è®€"ã</p>
+
+<p>è¯­ç§ååºåšæçŽ¢é¡µé¢äžæåè¡šäž­çæŸç€ºåç§°å¯åš"æ ŒåŒ"çé¢ç"æ¥è¯¢"éšåè¿è¡è®Ÿçœ®(åè§<a href="searchmetadatasettings.htm">æçŽ¢</a>)ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/assignpartitions.htm
===================================================================
--- main/tags/2.83/gli/help/zh/assignpartitions.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/assignpartitions.htm	(revision 21123)
@@ -0,0 +1,30 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="assignpartitions"><font size="5" face="Verdana"><strong>6.4.2: æå®ååº</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>åšå®ä¹äºäžäžªæå€äžªå­éŠèè¿æ»€åšä¹åïŒäœ¿çš"æå®ååº"æ ç­Ÿæ¥äžºè¯¥è¿æ»€åš(æäžç»è¿æ»€åš)å»ºç«çŽ¢åŒãåš"å·²å®ä¹çå­éŠèè¿æ»€åš"åè¡šäž­éäž­äžäžªæå€äžªè¿æ»€åšå¹¶ç¹å»"æ·»å ååº"ãæ¯äžªæå®çååºå°äº§çäžäžªå­éŠèïŒè¯¥å­éŠèæå
+å«çææ¡£äžä»»äžéå±äºè¯¥ååºçè¿æ»€åšçžå¹é
+ã</p>
+
+<p>æŽæ¹äžäžªååºïŒä»åè¡šäž­éäž­è¯¥ååºïŒæŽæ¹å
+¶è¿æ»€åšå¹¶ç¹å»"æ¿æ¢ååº"ã</p>
+
+<p>å é€äžäžªååºïŒä»åè¡šäž­éäž­è¯¥ååºå¹¶ç¹å»"å é€ååº"ã</p>
+
+<p>ååºåšå·²å®ä¹ååºåè¡šäž­çæŸç€ºé¡ºåºå°±æ¯ååºåšæçŽ¢é¡µé¢äžæèåäž­çæŸç€ºé¡ºåºãäœ¿çš"äžç§»"å"äžç§»"æé®æ¥æŽæ¹é¡ºåºã</p>
+
+<p>è®Ÿçœ®äžäžªååºäžºé»è®€ååºïŒä»åè¡šäž­éäž­è¯¥ååºå¹¶ç¹å»"æå®äžºé»è®€"ã</p>
+
+<p>ååºåšæçŽ¢é¡µé¢äžæåè¡šäž­çæŸç€ºåç§°å¯åš"æ ŒåŒ"çé¢ç"æ¥è¯¢"éšåè¿è¡è®Ÿçœ®(åè§<a href="searchmetadatasettings.htm">æçŽ¢</a>)ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/builderrors.htm
===================================================================
--- main/tags/2.83/gli/help/zh/builderrors.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/builderrors.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="builderrors"><font size="5" face="Verdana"><strong>7.2: åå»ºéŠèè¿çšäž­çéè¯¯</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ææ¶åå»ºéŠèçè¿çšäŒåºç°éè¯¯ãä¹è®žæäºææ¡£äžèœè¢«å€çïŒè¿æå³çéŠèäž­çå
+¶äœéšåèœé¡ºå©æå»ºïŒäžå¯é¢è§ïŒäœäŒå°äºæäºææ¡£ãæè
+æŽäžªéŠèéœäžèœè¢«æ­£ç¡®æå»ºïŒæ­€æ¶å°æŸç€ºè¿æ ·äžæ¡ä¿¡æ¯ïŒ"å äžºåç°äžäžªéè¯¯ïŒæä»¥éŠèäžèœè¢«åå»º"åšè¿ç§æ
+åµäžïŒå°GLIèœ¬æ¢å°äžå®¶æš¡åŒïŒæä»¶-&gt;åæ°éæ©-&gt;æš¡åŒïŒåé
+<a href="preferences.htm">åæ°éæ©</a>ïŒå¯èœäŒæåž®å©ïŒå°å¯Œå
+¥åæå»ºéé¡¹ç"verbosity"åæ°è®Ÿäžº5ïŒç¶åéæ°æå»ºïŒæ£æ¥æ¯åŠæå
+¶ä»éè¯¯ä¿¡æ¯ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/classifiers.htm
===================================================================
--- main/tags/2.83/gli/help/zh/classifiers.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/classifiers.htm	(revision 21123)
@@ -0,0 +1,44 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="classifiers"><font size="5" face="Verdana"><strong>6.5: æµè§åç±»åš</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>è¿éšåä»ç»åŠäœæå®åç±»åšïŒè¿äºåç±»åšå°çšäºæµè§éŠèãåš"è®Ÿè®¡"æ ç­ŸäžïŒç¹å»"æµè§åç±»åš"ã</p>
+
+<p>åå»ºäžäžªæ°çåç±»åšïŒåšé è¿åºéšç"éæ©æ·»å åç±»åš"äžæåè¡šäž­éäž­åç±»åšïŒå¹¶ç¹å»"æ·»å åç±»åš"ãè¿å°æŸç€ºäžäžªåäžº"é
+çœ®åæ°"ççªå£ïŒå
+³äºè¿äžªçªå£çè¯Žæäžæä»¶çè¯Žæäžæ ·(åè§<a href="plugins.htm">ææ¡£æä»¶</a>)ãäžæŠæ°æµè§åšé
+çœ®å¥œä¹åïŒå®å°è¢«æ·»å å°"æå®çåç±»åš"åè¡šçæ«å°Ÿã</p>
+
+<p>äžºé
+è¯»äžäžªåç±»åšçç®ç­æè¿°ïŒåš"éæ©æ·»å åç±»åš"äžæåè¡šäž­éäž­è¯¥åç±»åšïŒç¶åå°éŒ æ åçåšå®ä¹äžãè¿å°æŸç€ºäžäžªæç€ºä¿¡æ¯ã</p>
+
+<p>æ¯äžªåç±»åšæè¥å¹²å¯é
+çœ®çåæ°ãéèŠçåæ°å
+æ¬"å
+æ°æ®"ïŒå®å°æå®çšäºåç±»ææ¡£çå
+æ°æ®ïŒä»¥å"æé®åç§°"ïŒå³è¯¥åç±»åšåšæµè§æ¡äž­çæŸç€ºåç§°ã</p>
+
+<p>å é€äžäžªåç±»åšïŒä»åè¡šäž­éäž­è¯¥åç±»åšå¹¶ç¹å»"å é€åç±»åš"ã</p>
+
+<p>æŽæ¹äžäžªåç±»åšçåæ°ïŒä»åè¡šäž­éäž­è¯¥åç±»åšå¹¶ç¹å»"é
+çœ®åç±»åš"(æè
+åšåè¡šäž­åå»åç±»åš)ã</p>
+
+<p>åç±»åšåšè¿éçé¡ºåºåæ äºå®ä»¬æŸç€ºåšéŠèçæµè§æ¡äž­çé¡ºåºãèŠæŽæ¹é¡ºåºïŒéäž­èŠæ¹åçåç±»åšç¶åç¹å»"äžç§»"æ"äžç§»"ã</p>
+
+<p>æŽå€å
+³äºåç±»åšçä¿¡æ¯è¯·åé
+GreenstoneåŒåè
+æåçç¬¬äºç« ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/collectingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/zh/collectingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/collectingfiles.htm	(revision 21123)
@@ -0,0 +1,30 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="collectingfiles"><font size="5" face="Verdana"><strong>4: äžºéŠèæ¶éæä»¶</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>åšæäºäžäžªæ°éŠèåïŒéèŠäžºå
+¶è·åäžäºæä»¶ãè¿äºæä»¶å¯èœæ¥èªäºæä»¶å­åšç©ºéŽïŒä¹åäžèœœçæä»¶ïŒæè
+å
+¶ä»GreenstoneéŠèãæäºæä»¶å¯èœå·²ç»æéå±çå
+æ°æ®ãè¿éšåè¯ŽæåŠäœå¯Œå
+¥æä»¶ã</p>
+
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/collectionspecificmacros.htm
===================================================================
--- main/tags/2.83/gli/help/zh/collectionspecificmacros.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/collectionspecificmacros.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="collectionspecificmacros"><font size="5" face="Verdana"><strong>8.7: éŠèçç¹å®å®</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>åšæ ŒåŒè§åŸæ ç­ŸäžïŒç¹å»"éŠèçç¹å®å®"ã</p>
+
+<p>è¿éæŸç€ºè¯¥éŠèextra.dmæä»¶çå
+å®¹ãéŠèç¹å®çå®å¯åšæ­€å®ä¹ãæŽå€å
+³äºå®çä¿¡æ¯è¯·åé
+GreenstoneåŒåè
+æåç¬¬äžç« ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/creatingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/zh/creatingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/creatingacollection.htm	(revision 21123)
@@ -0,0 +1,33 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingacollection"><font size="5" face="Verdana"><strong>2.1: åå»ºæ°éŠè</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>åå»ºäžäžªæ°éŠèïŒæåŒ"æä»¶"èåå¹¶éæ©"æ°å»º"ãæè¥å¹²éèŠå¡«åçå­æ®µïŒä¹å¯ä»¥éååšæ ŒåŒè§åŸäž­ä¿®æ¹è¿äºå­æ®µçåŒã</p>
+
+<p>"éŠèæ é¢"æ¯æŸç€ºåšè¯¥éŠèäž»é¡µäžéšçæå­ãè¯¥æå­å¯ä»¥æ¯ä»»äœé¿åºŠã</p>
+
+<p>"å
+å®¹æè¿°"åºè¯¥å°œå¯èœè¯Šç»å°æè¿°æ¬éŠèçå
+å®¹ãçš[Enter]é®åšæ®µèœéŽåèœŠã</p>
+
+<p>æåïŒå¿
+é¡»æå®æ°çéŠèæ¯åŠæ¥æåæäžªç°æéŠèäžæ ·çå€è§åå
+æ°æ®éïŒè¿æ¯äžäžªé»è®€ç"æ°éŠè"ãé»è®€çæ°éŠèå°éçšæ åé
+çœ®ä»¥åéœæææ žå¿å
+æ°æ®éãè¿äºéåéœå¯æŽæ¹ã</p>
+
+<p>ç¹å»"OK"æ¥åå»ºéŠèã</p>
+
+<p>ç¹å»"åæ¶"ç«å»æåžŠåäž»ç»é¢ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/creatingfolders.htm
===================================================================
--- main/tags/2.83/gli/help/zh/creatingfolders.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/creatingfolders.htm	(revision 21123)
@@ -0,0 +1,26 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingfolders"><font size="5" face="Verdana"><strong>4.3: åå»ºæä»¶å€¹</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>åšéåæä»¶ç®åœæ äž­äœ¿çšæä»¶å€¹å°æä»¶ç»ç»å°äžèµ·ïŒä»¥äŸ¿äºæ¥æŸãæä»¶å€¹å¯åµå¥åšæä»¶å€¹äž­ãçè®ºäžå¯¹æä»¶å€¹çæ°éä»¥ååµå¥çå±æ¬¡å¹¶æ²¡æéå¶ã</p>
+
+<p>èŠåå»ºäžäžªæ°æä»¶å€¹ïŒå¯åšéŠèé¢æ¿äž­ç¹å»å³é®ïŒæè
+åšéŠèæ äž­å³é®ç¹å»äžäžªç°æçæä»¶å€¹ä»¥äŸ¿åšå
+¶äž­æ·»å æ°æä»¶å€¹ïŒïŒç¶åç¹å»&rdquo;æ°å»ºæä»¶å€¹&ldquo;éé¡¹ãæ°å»ºçæä»¶å€¹åšåºç°åšæéæä»¶å€¹äž­ïŒæè
+åšæä»¶ç®åœæ çé¡¶å±åŠææ²¡ææä»¶å€¹è¢«éäž­çæ
+åµäžãæç€ºçªå£å°èŠæ±èŸå
+¥æ°å»ºæä»¶å€¹çåç§°ïŒé»è®€äžº"æ°å»ºæä»¶å€¹"ïŒã</p>
+
+<p>åšéåææ¡£ç®åœæ æäžäžªæä»¶å€¹äž­å³é®åå»ä¹å¯åå»ºæä»¶å€¹ïŒéæ©"æ°å»ºæä»¶å€¹"å¹¶äœäžè¿°æäœã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/creatingshortcuts.htm
===================================================================
--- main/tags/2.83/gli/help/zh/creatingshortcuts.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/creatingshortcuts.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="creatingshortcuts"><font size="5" face="Verdana"><strong>4.2: åšWorkspaceæ äž­åå»ºå¿«æ·æ¹åŒ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ææ¶æäºæä»¶å€¹äŒæç¹å«çéèŠæ§ïŒæ¯åŠå
+å«äžªäººçœé¡µçæä»¶å€¹ãåŠææ¿æïŒåŸä¹ŠéŠåçé¢å¯ä»¥å°è¿äºæä»¶å€¹æ å°å°æä»¶ç®åœæ çé¡¶éšãå³é®åå»æå®çæä»¶å€¹ïŒéæ©"åå»ºå¿«æ·æ¹åŒ"ç¶åèŸå
+¥æä»¶å€¹çåç§°ãèŠå é€äžé¡¹ïŒå³é®åå»è¢«æ å°çæä»¶å€¹ç¶åéæ©"å é€å¿«æ·æ¹åŒ"ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/definefilters.htm
===================================================================
--- main/tags/2.83/gli/help/zh/definefilters.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/definefilters.htm	(revision 21123)
@@ -0,0 +1,40 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="definefilters"><font size="5" face="Verdana"><strong>6.4.1: å®ä¹è¿æ»€åš</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>è¿æ»€åšå¯ä»¥å
+è®žèéäžèµ·å°äžäžªæææä»¶éœåšäžäžªå¯¹å
+æ°æ®åŒè·ç¹å®çåŒæ ·å¹é
+ççŽ¢åŒçå­éŠèã</p>
+
+<p>åå»ºäžäžªæ°çè¿æ»€åšïŒç¹å»"å®ä¹è¿æ»€åš"æ ç­Ÿå¹¶åš"å­éŠèè¿æ»€åšå"å­æ®µäž­èŸå
+¥æ°è¿æ»€åšçåç§°ãæ¥äžæ¥éæ©çšäºå¹é
+çææ¡£å±æ§ïŒæ¯åŠäžäžªå
+æ°æ®å
+çŽ æè
+èŠè¿æ»€çææ¡£çåç§°ãèŸå
+¥çšäºå¹é
+çæ­£åè¡šèŸŸåŒãå¯ä»¥éæ©"å
+å«"æè
+"æé€"è¿æ»€åšå¹é
+å°çææ¡£ãè¿å¯åšå¹é
+äž­äœ¿çšä»»äœæ åPERLæ­£åè¡šèŸŸåŒæ ç­Ÿ (æ¯åŠïŒ"i"çšäºäžåºåå€§å°åçå¹é
+)ãæåïŒç¹å»"æ·»å è¿æ»€åš"å°æ°è¿æ»€åšæ·»å å°"çŒºçå­éŠèè¿æ»€åš"åè¡šäž­ã</p>
+
+<p>å é€äžäžªè¿æ»€åšïŒåšåè¡šäž­éäž­å®å¹¶ç¹å»"å é€è¿æ»€åš"ã</p>
+
+<p>ä¿®æ¹äžäžªè¿æ»€åšïŒåšåè¡šäž­éäž­å®ïŒæŽæ¹åºç°åšçŒèŸæ§å¶éçä»»äœåŒïŒç¶åç¹å»"æ¿æ¢è¿æ»€åš"æ¥æäº€æŽæ¹ã</p>
+
+<p>å®ä¹è¿æ»€åšå¹¶äžäŒèªåšåå»ºå­éŠèãå­éŠèåºåš"ååº"äž­æå®ïŒäžåºäºæå®ä¹çè¿æ»€åšã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/deletingcollections.htm
===================================================================
--- main/tags/2.83/gli/help/zh/deletingcollections.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/deletingcollections.htm	(revision 21123)
@@ -0,0 +1,19 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="deletingcollections"><font size="5" face="Verdana"><strong>2.4: å é€éŠè</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>èŠå°éŠèä»çGreenstoneçšåºäž­æ°žä¹
+æ§å°å é€ïŒä»"æä»¶"èåäž­éæ©"å é€"ïŒè¿å°æŸç€ºçéŠèåè¡šãéæ©äžäžªéŠèå¯æ¥çå
+¶æè¿°ïŒç¶åéäž­å¯¹è¯æ¡åºéšçéæ©æ¡å¹¶ç¹å»"å é€"ãè¿äžªåšäœæ¯äžå¯éèœ¬çïŒæä»¥èŠä»ç»ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/depositormetadatasettings.htm
===================================================================
--- main/tags/2.83/gli/help/zh/depositormetadatasettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/depositormetadatasettings.htm	(revision 21123)
@@ -0,0 +1,53 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="depositormetadatasettings"><font size="5" face="Verdana"><strong>8.8: å­åšåšå
+æ°æ®</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>ç»¿å®ç³ç³»ç»çå­åšåšçé¢äœ¿çšæ·èœéè¿Webçé¢åç°æéŠèäž­æ·»å æ°çææ¡£ãæ¬èæè¿°å­åšåšå
+æ°æ®çé¢ïŒäœ å¯åšæ­€çé¢äž­è®Ÿå®åªäºå
+æ°æ®å­æ®µåºçšäºæè¿°éè¿å­åšåšæ·»å çæ°ææ¡£ãåœåéŠèçšå°çææå
+æ°æ®ééœå¯äŸéæ©ãåŠæåœåéŠèé€&rdquo;ç»¿å®ç³æœåå
+æ°æ®é&rdquo;å€æ²¡æå
+¶ä»å
+æ°æ®éïŒå&rdquo;éœæææ žå¿å
+æ°æ®é&ldquo;å°è¢«çšäœçŒºççå
+æ°æ®éãæŽå€äºè§£å­åšåšïŒåè§è¿éçèçœæçšç»ä¹ http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/depositor.htmãåš&rdquo;æ ŒåŒå&ldquo;æ ç­ŸäžïŒç¹å»&rdquo;å­åšåšå
+æ°æ®&ldquo;ã</p>
+
+<p>å­åšåšå
+æ°æ®çé¢æŸç€ºææå¯çšçå
+æ°æ®å­æ®µåè¡šãåŠæåœåæ¶èçšå°äžæ­¢äžäžªå
+æ°æ®éïŒçžé»çå
+æ°æ®éå°çšäžåçé¢è²æŸç€ºãå°éŒ æ åçåšäžäžªå
+æ°æ®å
+çŽ äžïŒå°åºç°äžäžªå°çªå£å¹¶æŸç€ºè¯¥å­æ®µçæè¿°ä¿¡æ¯ã</p>
+
+<p>éäž­äœ æ³çšæ¥æè¿°éè¿å­åšåšæ·»å çæ°ææ¡£çå
+æ°æ®å­æ®µãåšæ¯äžªéäž­çå
+æ°æ®ä¹åå°åºç°äžäžªæäž€äžªéé¡¹çäžæåè¡šãè¿å
+è®žäœ è®Ÿå®è¯¥å
+çŽ åšwebçé¢äž­çèŸå
+¥æ¡ç±»åã&rdquo;ææ¬&ldquo;è¡šç€ºå°äœ¿çšäžäžªåè¡çèŸå
+¥æ¡ïŒè&rdquo;ææ¬æ¡&ldquo;è¡šç€ºå°äœ¿çšäžäžªå€è¡çèŸå
+¥æ¡ãäžºæ¯äžªå­æ®µéæ©äžäžªæ°åœçèŸå
+¥æ¡ç±»åã</p>
+
+<p>å¿
+é¡»éæ©è³å°äžäžªå
+æ°æ®å
+çŽ ãåŠæåè¡šäž­åªæäžäžªéäž­çå
+çŽ éŽïŒåæ¶å¯¹å
+¶çéäž­å°åŒ¹åºäžæ¡è­Šåæ¶æ¯ïŒ"è³å°åºéäž­äžäžªå
+æ°æ®å­æ®µ"</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/designingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/zh/designingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/designingacollection.htm	(revision 21123)
@@ -0,0 +1,24 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="designingacollection"><font size="5" face="Verdana"><strong>6: é
+çœ®éŠè</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>åšæä»¶çšå
+æ°æ®æ è®°ä¹åïŒäžäžæ­¥èŠå³å®çæ¯è¿äºææ¡£åºåŠäœè¢«æç»çšæ·è®¿é®ãåªç§ç±»åçä¿¡æ¯æ¯å¯æçŽ¢çïŒæäŸä»ä¹æ¹æ³æ¥æµè§è¿äºææ¡£ïŒè¿äºéœæ¯å¯å®å¶çïŒè¿éšåæè¿°åŠäœåè¿äºå®å¶ã</p>
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/downloadingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/zh/downloadingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/downloadingfiles.htm	(revision 21123)
@@ -0,0 +1,18 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="downloadingfiles"><font size="5" face="Verdana"><strong>3: ä»äºèçœäžèœœæä»¶</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>"äžèœœ"è§åŸçšäºä»äºèçœäžèœœèµæºãè¿éšåä»ç»åŸä¹ŠéŠåçé¢çäžèœœè¿çšã</p>
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/enrichingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/zh/enrichingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/enrichingacollection.htm	(revision 21123)
@@ -0,0 +1,31 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="enrichingacollection"><font size="5" face="Verdana"><strong>5: å°å
+æ°æ®å å
+¥éŠè</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>åšå°è¥å¹²æä»¶æ·»å å°éŠèä¹åïŒç°åšå°äžäºç§°äžº"å
+æ°æ®"çé¢å€ä¿¡æ¯å å
+¥å°è¿äºæä»¶äž­ãè¿éšåå°è§£éå
+æ°æ®æ¯åŠäœè¢«åå»ºãçŒèŸãèµåŒåæçŽ¢çïŒä»¥ååŠäœäœ¿çšå€éšå
+æ°æ®æº(åè§GreenstoneåŒåè
+æåç¬¬äºç« )ã</p>
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/expertbuilding.htm
===================================================================
--- main/tags/2.83/gli/help/zh/expertbuilding.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/expertbuilding.htm	(revision 21123)
@@ -0,0 +1,34 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="expertbuilding"><font size="5" face="Verdana"><strong>7.3: äžå®¶æš¡åŒäžçåå»ºè§åŸ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>åšäžå®¶æš¡åŒäžïŒå¯äœ¿çšå·ŠäŸ§ç"æ¶æ¯æ¥å¿"æ¥æ¥çä¹åçåå»ºè¿çšïŒäžè®ºè¯¥è¿çšæ¯æåäºæå€±èŽ¥äºãåš"æ¥å¿åå²"åè¡šäž­ïŒéäž­æå®çæ¥ææ¥éæ©èŠæ¥ççæ¥å¿ã</p>
+
+<p>åšæ­€æš¡åŒäžïŒåšå¯Œå
+¥åæå»ºæ ç­Ÿçå·ŠäŸ§å°æŸç€ºäžäžªå®æŽçå¯Œå
+¥åæå»ºéé¡¹åè¡šãè¿äºè®Ÿçœ®äž<a href="plugins.htm">ææ¡£æä»¶</a>äž­ç"é
+çœ®åæ°"çªå£ç±»äŒŒãæäºå­æ®µèŠæ±æ°åŒåæ°ïŒå¯ä»¥èŸå
+¥æè
+çšç®­å€Žæ¥å¢å æåå°åœååŒ(åšæäºæ
+åµäžïŒèœèŸå
+¥çæ°åŒèåŽæ¯æéå¶ç)ãå
+¶ä»åæ°å¯éè¿éäž­éæ©æ¡æ§å¶(åæ¶éæ©å¯çŠçšè¯¥åæ°)ã</p>
+
+<p>æŽå€å
+³äºå¯Œå
+¥åæå»ºçå
+å®¹è¯·é
+è¯»GreenstoneåŒåè
+æåçç¬¬äžç« --çè§£æå»ºéŠèçè¿çšã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/explodingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/zh/explodingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/explodingfiles.htm	(revision 21123)
@@ -0,0 +1,54 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="explodingfiles"><font size="5" face="Verdana"><strong>4.7: å±åŒå
+æ°æ®æä»¶</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>å
+æ°æ®æ°æ®åºæä»¶ç±»åïŒæ¯åŠMARCãOAIãCDS/ISISãBibTexãReferåProCiteïŒéœå¯å¯Œå
+¥å°GreenstoneïŒäœæ¯åšåŸä¹ŠéŠåçé¢äž­å¹¶äžèœç«å³æ¥çæè
+ä¿®æ¹å
+¶å
+æ°æ®ãç¶èïŒäœ å¯ä»¥åšåŸä¹ŠéŠåçé¢äž­&rdquo;å±åŒ&ldquo;è¯¥æä»¶ïŒç¶åæ¥çæè
+ä¿®æ¹å
+¶å
+æ°æ®ãæè
+ïŒç¹å«æ¯åšäœ¿çšå€éšåºçšçæ
+åµäžïŒäœ å¯ä»¥åšåå»ºè¯¥æä»¶çåºçšçšåºäž­è¿è¡ä¿®æ¹ïŒç¶åéç°å¯Œå
+¥ã</p>
+
+<p>"å±åŒ"äžäžªå
+æ°æ®æ°æ®åºæä»¶å°è¯¥æä»¶åå²æåç¬çè®°åœïŒå¹¶äžè¿äºè®°åœæå¯æ¥çåå¯çŒèŸçå
+æ°æ®ãè¿äžªè¿çšæ¯äžå¯éçïŒåå§çå
+æ°æ®æä»¶å°è¢«å é€ã</p>
+
+<p>åšéåçæä»¶ç®åœæ äž­ïŒå¯å±åŒçæä»¶çšäžäžªç»¿è²åŸæ æŸç€ºãèŠå±åŒäžäžªæä»¶ïŒå³é®åå»è¯¥æä»¶å¹¶éæ©"å±åŒå
+æ°æ®åº"ãåŒ¹åºççªå£å°æŸç€ºå±åŒè¿çšçéé¡¹ã"æä»¶"éé¡¹æå®å±åŒè¿çšæçšçæä»¶ãåšåŸå€æ
+åµäžïŒäžç§ç¹å®ç±»åçæä»¶åªèœç±äžç§æä»¶å€çïŒäœåšæäºæ
+åµäžäžåçæä»¶ç±»åäœ¿çšçžåçæä»¶åçŒåïŒå¯èœæäž€äžªæä»¶èœå€çæè¯¥åçŒåçæä»¶ã"input_encoding"éé¡¹å¯è¢«çšäºæå®è¯¥æ°æ®åºççŒç ã"metadata_set"éé¡¹æå®å±åŒè¿çšäž­çæçæ°å­æ®µåºæ·»å å°åªäžªå
+æ°æ®éäž­ãåŠææ²¡æå
+æ°æ®éè¢«æå®ïŒæ¯äžªæ°å­æ®µéœå°åŒ¹åºäžäžªçªå£è¯¢é®åºåŠäœå€çè¯¥å­æ®µïŒäœäžºæ°å
+çŽ æ·»å å°äžäžªç°æå
+æ°æ®éäž­ïŒåå¹¶å°åŠäžäžªå
+çŽ äž­ïŒæè
+å¿œç¥ã</p>
+
+<p>åšå±åŒæä»¶ä¹åïŒå°äžºæ¯æ¡è®°åœæ°å»ºäžäžªç©ºææ¡£ïŒèè¯¥è®°åœéåžŠçå
+æ°æ®å°è¢«æ·»å å°è¯¥ææ¡£äž­ãè¿äºææ¡£å°çšæ°å­åœåïŒæ¯åŠ000001.nulïŒ000002.nulç­ç­ãåŠæè®Ÿçœ®äº"document_field"éé¡¹ïŒåè¯¥å­æ®µçåŒïŒåŠæå­åšçè¯ïŒå°è¢«çšäœæä»¶åãå±åŒè¿çšäž­ä¹äŒå°è¯äžèœœè¯¥æä»¶å¹¶çšå
+¶æ¿ä»£ç©ºæä»¶ã"document_prefix"å"document_suffix"éé¡¹å¯çšäºä»"document_field"éé¡¹åŒäž­çæåæ³çURLææä»¶è·¯åŸã"records_per_folder"éé¡¹çšäºå°å±åŒçè®°åœåç»å¹¶ç»ç»å°å­æä»¶å€¹äž­ãåšæ°æ®åºéåžžå€§çæ
+åµäžïŒäœ¿çšè¿äžªéé¡¹å°å éæ¥äžæ¥çå
+æ°æ®çŒèŸè¿çšã</p>
+
+<p>æä»¶æ¯åŠå¯å±åŒåå³äºæä»¶æ©å±åãåšæäºæ
+åµäžïŒåŠææä»¶çæ©å±åäžå¯æ©å±æä»¶çžåïŒåå¯èœè¢«è®€äžºæ¯å¯æ©å±çæä»¶ãäŸåŠïŒProCiteæä»¶å€çä»¥.txtäžºæ©å±åçæä»¶ïŒäœå€§å€æ°.txtæä»¶æ¯çº¯ææ¬æä»¶èéProCiteæä»¶ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/exporting.htm
===================================================================
--- main/tags/2.83/gli/help/zh/exporting.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/exporting.htm	(revision 21123)
@@ -0,0 +1,30 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="exporting"><font size="5" face="Verdana"><strong>9.3: å°éŠèå¯Œåºå°å
+¶ä»æ ŒåŒ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Greenstoneå¯å°éŠèçå
+å®¹äž/æå
+æ°æ®å¯Œåºå°è¥å¹²æ åæ ŒåŒïŒå
+æ¬METSïŒDspaceä»¥åMARCXMLã</p>
+
+<p>èŠå¯ŒåºäžäžªéŠèïŒæåŒ"æä»¶"èåå¹¶éæ©"å¯Œåº"ãå¯ä»¥ä»"å¯Œåºå°"äžæåè¡šäž­éæ©æèŠå¯Œåºçæ ŒåŒãæå®æ³çšäºå­æŸå¯Œåºæä»¶çç®åœçåç§°&mdash;è¿äºæä»¶å°å­æŸäº&lt;path to greenstone&gt;/tmp/exported_xxxïŒxxxå³æ¯ææå®çåç§°ãä»å¯ééŠèçåè¡šäž­éæ©äžäžªéŠèïŒåç¹å»"å¯ŒåºéŠè"ã</p>
+
+<p>æäºæ ŒåŒæå
+¶ç¹å«çéé¡¹ãå¯æå®çšäºèœ¬æ¢æçæçXMLææ¡£çXSLTæä»¶ïŒä»èå®å¶èŸåºçæ ŒåŒãå¯Œåºå°MARCXMLçè¿çšäœ¿çšæ å°æä»¶å°Greenstoneå
+æ°æ®æ å°æMARCå­æ®µãé»è®€çæ å°æä»¶ä»
+ä»
+æ å°éœæææ žå¿å
+æ°æ®ãä¹å¯äœ¿çšæå®çå®å¶æ å°æä»¶ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/exportingcollections.htm
===================================================================
--- main/tags/2.83/gli/help/zh/exportingcollections.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/exportingcollections.htm	(revision 21123)
@@ -0,0 +1,31 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="exportingcollections"><font size="5" face="Verdana"><strong>9.4: å¯ŒåºéŠèå°CD/DVD</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Greenstoneå¯å°äžäžªæå€äžªéŠèå¯Œåºå°Windowsäžå¯èªæå®è£
+çCD/DVDäž­ã</p>
+
+<p>èŠå°å€äžäžªéŠèïŒæåŒ"æä»¶"èåå¹¶éæ©"åå
+¥CD/DVDåŸå"ãè¿å°æŸç€ºäžäžªGreenstoneéŠèçåè¡šïŒç¹å»ä»»äžéŠèå¯æ¥çå
+¶æè¿°ãéäž­èŠå¯ŒåºçéŠèçéæ©æ¡ãå¯åš"CD/DVDåç§°"æ¡äž­èŸå
+¥CD/DVDçåç§°ïŒè¿å°æ¯è¯¥CD/DVDè¢«å®è£
+åæŸç€ºåšåŒå§èåäž­çåç§°ãå¯ä»¥éæ©è¯¥CD-ROMæDVDå°çŽæ¥ä»çç¬Šäžè¿è¡ïŒæè
+å®è£
+äžäºæä»¶å°ç³»ç»äž­ãç¶åç¹å»"åå
+¥CD/DVDåŸå"ãæ­€è¿çšæ¶åæ·èŽå€äžªæä»¶å¹¶äžå¯èœéèŠå åéçæ¶éŽã</p>
+
+<p>å®æä¹åïŒGreenstoneå°æŸç€ºå
+å«å¯ŒåºéŠèçæä»¶å€¹åç§°ãçšCD/DVDå»åœåšå°è¯¥æä»¶å€¹çå
+å®¹æ·èŽå°ç©ºçCD/DVDäž­ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/fileassociations.htm
===================================================================
--- main/tags/2.83/gli/help/zh/fileassociations.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/fileassociations.htm	(revision 21123)
@@ -0,0 +1,39 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="fileassociations"><font size="5" face="Verdana"><strong>9.2: æä»¶å
+³è</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>åŸä¹ŠéŠåçé¢äœ¿çšç¹å®çåºçšçšåºæ¥æåŒç¹å®çæä»¶ç±»åãèŠæŽæ¹æä»¶å
+³èïŒæåŒ"æä»¶"èåïŒç¹å»"æä»¶å
+³è..."</p>
+
+<p>èŠæ·»å äžäžªæä»¶å
+³èïŒä»äžæåè¡šäž­éæ©ç®æ æä»¶æ©å±åïŒæè
+èŸå
+¥æ°æ©å±å(äžèŠå
+æ¬".")ãæ¥äžæ¥èŠä¹åšéåœå­æ®µäž­èŸå
+¥çšäºå¯åšæå®åºçšçšåºçåœä»€ïŒèŠä¹ä»"æµè§"å¯¹è¯æ¡äž­éæ©è¯¥åºçšçšåºãåšå¯åšåœä»€äž­ïŒ"%1"å°æå
+¥èŠæåŒçæä»¶åãåšå¡«å
+¥è¿äºä¿¡æ¯åïŒ"æ·»å "å°åäžºå¯çšïŒç¹å»ä»¥æ·»å æ­€æ°å
+³èã</p>
+
+<p>èŠçŒèŸäžäžªå
+³èïŒéæ©äžäžªç°æçæä»¶æ©å±åãäžä¹å
+³èçç°æåœä»€å°æŸç€ºåš"å¯åšåœä»€"å­æ®µäž­ãçŒèŸç¶åç¹å»"æ¿æ¢"ã</p>
+
+<p>èŠå é€äžäžªå
+³èïŒéæ©äžäžªç°æçæä»¶æ©å±åç¶åç¹å»"å é€"ã</p>
+
+<p>æä»¶æ©å±åå­åšåšåŸä¹ŠéŠåçé¢çäž»æä»¶å€¹äžç"associations.xm"æä»¶äž­ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/filteringthetree.htm
===================================================================
--- main/tags/2.83/gli/help/zh/filteringthetree.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/filteringthetree.htm	(revision 21123)
@@ -0,0 +1,26 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="filteringthetree"><font size="5" face="Verdana"><strong>4.8: è¿æ»€æ æä»¶ç®åœæ ç»æ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>"è¿æ»€"éååºåä»¥åWorkspaceäž­çæä»¶ç®åœæ å¯ä»¥çŒ©å°æçŽ¢æä»¶çèåŽã</p>
+
+<p>äœäºæ¯äžªæä»¶ç®åœæ äžç"æŸç€ºæä»¶"äžæèåååºäºé¢å®ä¹çè¿æ»€åšïŒæ¯åŠ"åŸç"ãéæ©è¿äºè¿æ»€åšå°äžŽæ¶éèæä»¶ç®åœæ äž­çå
+¶ä»æä»¶ãèŠè¿åæåçæä»¶ç®åœæ ïŒå°è¿æ»€åšæ¹åè³"æææä»¶"ãè¿äºæäœäžäŒæŽæ¹éŠèïŒä¹äžäŒåœ±åæä»¶ç®åœæ äž­çæä»¶å€¹ã</p>
+
+<p>å¯ä»¥éè¿èŸå
+¥çšäºå¹é
+æä»¶çæš¡åŒæ¥å®å¶è¿æ»€åšïŒä»
+éäºåŸä¹ŠéŠååäžå®¶æš¡åŒïŒãå»ºè®®äœ¿çšæ åçæä»¶ç³»ç»çŒ©åæ¯åŠ"*.doc"ïŒ"*"çšäºå¹é
+ä»»æå­ç¬ŠïŒã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/formatstatements.htm
===================================================================
--- main/tags/2.83/gli/help/zh/formatstatements.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/formatstatements.htm	(revision 21123)
@@ -0,0 +1,45 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="formatstatements"><font size="5" face="Verdana"><strong>8.4: æ ŒåŒç¹åŸ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>åšäœ¿çšGreenstoneæ¶çå°ççœé¡µå¹¶éé¢å
+å­åšå¥œççœé¡µïŒèæ¯æç
+§éèŠåšæäº§ççãæ ŒåŒåœä»€çšäºæŽæ¹è¿äºåšæé¡µé¢çå€è§ãæ ŒåŒåœä»€å¯æŽæ¹çå€è§å
+æ¬ïŒæŸç€ºææ¡£æ¶åºæŸç€ºåªäºæé®ïŒä»¥åæ¥æåç±»åšæŸç€ºåªäºè¿æ¥ãåŒåæ ŒåŒåœä»€å¹¶äžå®¹æïŒè¯·é
+è¯»GreenstoneåŒåè
+æåçç¬¬äºç« ãè¿éšåè®šè®ºè®Ÿçœ®æ ŒåŒä»¥ååŠäœåšåŸä¹ŠéŠåçé¢äž­è®¿é®è¿äºæ ŒåŒè®Ÿçœ®ãåš"æ ŒåŒ"æ ç­ŸäžïŒç¹å»"æ ŒåŒç¹åŸ"ã</p>
+
+<p>æ ŒåŒåœä»€å¯çšäº"éæ©ç¹åŸ"äžæåè¡šäž­çä»»äœå
+çŽ ïŒè¿å
+æ¬æ¯äžªåç±»åšä»¥åé¢å®ä¹çç¹åŸåè¡šãéäž­äžäžªç¹åŸåïŒæäž€ç±»æ§å¶å¯çšãäžäºç¹åŸèŠä¹è¢«äœ¿çšèŠä¹è¢«çŠçšïŒè¿éè¿äžäžªéæ©æ¡æ§å¶ãåŠäžäºç¹åŸèŠæ±æå®å­äž²ãå¯¹äºè¿äºç¹åŸïŒåšäžæåè¡š("åœ±åçç»ä»¶")äž­éæ©å°å­äž²åºçšå°ç¹åŸçåªäžªéšå(åŠå¿
+èŠ)ïŒå¹¶åšææ¬èŸå
+¥æ¡("HTMLæ ŒåŒå­äž²")äž­èŸå
+¥è¯¥å­äž²ïŒä»¥åäžäºé¢å®ä¹ç"åé"ãèŠå°äžäžªåéæ·»å å°æ ŒåŒå­äž²äž­ïŒå°å
+æ ç§»åšå°èŠæå
+¥çäœçœ®ïŒç¶ååš"æå
+¥åé..."ç»åæ¡äž­éæ©èŠæ·»å çåéã</p>
+
+<p>éè¿éäž­"ææç¹åŸ"å¯ä»¥äžºæäžªç¹å®ç»ä»¶æå®äžäžªé»è®€æ ŒåŒãè¿äžªæ ŒåŒå°è¢«åºçšäºææéçšçç¹åŸïŒé€éè¯¥ç¹åŸå·²å®ä¹äºäžäžªæŽå å
+·äœçæ ŒåŒã</p>
+
+<p>åå»ºäžäžªæ°çæ ŒåŒåœä»€ïŒéæ©äœ¿çšçç¹åŸåç»ä»¶ãè¯¥åœä»€çé»è®€åŒå°çšç°è²æŸç€ºãç¹å»"æ·»å æ ŒåŒã"ã"HTMLæ ŒåŒå­äž²"å°åäžºå¯çŒèŸç¶æïŒç¶åäŸ¿å¯å¯¹å
+¶è¿è¡ä¿®æ¹ãå¯¹äºæ¯äžªç¹åŸçæ¯äžªç»ä»¶åªèœæå®äžäžªæ ŒåŒåœä»€ã</p>
+
+<p>å é€äžäžªæ ŒåŒåœä»€ïŒä»åè¡šäž­éäž­è¯¥åœä»€å¹¶ç¹å»"å é€æ ŒåŒ"ã</p>
+
+<p>æŽå€å
+³äºåéåç¹åŸç»å»ºçä¿¡æ¯è¯·é
+è¯»GreenstoneåŒåè
+æåçç¬¬äºç« ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/formattingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/zh/formattingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/formattingacollection.htm	(revision 21123)
@@ -0,0 +1,26 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="formattingacollection"><font size="5" face="Verdana"><strong>8: å®å¶éŠèçå€è§</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>åšæå»ºéŠèä¹åïŒäžäžæ­¥éèŠå³å®éŠèå°åŠäœåç°ç»çšæ·ãåšæçŽ¢è¡šåççŽ¢åŒäžæåè¡šäž­åºäœ¿çšåªäºåç§°ïŒåŠäœåç°æçŽ¢ç»æïŒåšæ¥çææ¡£æ¶åºæŸç€ºåªäºå
+æ°æ®ïŒè¿äºéœå¯è¢«å®å¶ïŒè¿éšåå°è§£éåŠäœå®å¶ã</p>
+
+
+
+
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/generalsettings.htm
===================================================================
--- main/tags/2.83/gli/help/zh/generalsettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/generalsettings.htm	(revision 21123)
@@ -0,0 +1,34 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="generalsettings"><font size="5" face="Verdana"><strong>8.2: åžžè§</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>è¿éšåè§£éåŠäœå¯çåæŽæ¹äžéŠèçžå
+³èçåžžè§è®Ÿçœ®ãéŠå
+ïŒåš"æ ŒåŒ"æ ç­Ÿäžç¹å»"åžžè§"ã</p>
+
+<p>åšè¿éäžäºéŠèçå€§éå
+æ°æ®å¯è¢«è®Ÿçœ®æè
+ä¿®æ¹çïŒå
+æ¬åšåŒå§äžäžªæ°éŠèæ¶èŸå
+¥çæ é¢åæè¿°ã</p>
+
+<p>éŠå
+æ¯éŠèåå»ºè
+åç»Žæ€è
+çèç»çµå­é®ç®±å°åãæ¥äžæ¥çå­æ®µå
+è®žä¿®æ¹éŠèçæ é¢ãæ¥äžæ¥æŸç€ºçšäºå­æŸè¯¥éŠèçæä»¶å€¹ïŒäœè¯¥æä»¶å€¹äžå¯è¢«ä¿®æ¹ãç¶åæ¯éŠèç"å
+³äº"é¡µé¢å·Šäžæ¹çåŸæ (ä»¥URLçæ ŒåŒ)ïŒä»¥ååšGreenstoneåŸä¹ŠéŠé¡µé¢çšäºè¿æ¥å°è¯¥éŠèçåŸæ ãäžé¢æ¯æ§å¶è¯¥éŠèæ¯åŠåºè¯¥è¢«å
+¬åŒè®¿é®çéæ©æ¡ãæåæ¯"éŠèæè¿°"ææ¬æ¡ïŒåé
+<a href="creatingacollection.htm">åå»ºæ°éŠè</a>ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/help.xml
===================================================================
--- main/tags/2.83/gli/help/zh/help.xml	(revision 21123)
+++ main/tags/2.83/gli/help/zh/help.xml	(revision 21123)
@@ -0,0 +1,1164 @@
+<?xml version="1.0"?>
+<!DOCTYPE TutorialList [
+     <!ENTITY nbsp "&#160;">
+     <!ENTITY rarr "&#8594;">
+     <!ENTITY mdash "&#8212;">
+]>
+<Document>
+<Section name="introduction">
+<Title>
+<Text id="1">ç®ä»</Text>
+</Title>
+<Text id="2">GreenstoneåŸä¹ŠéŠåçé¢æ¯äžäžªçšäºæ¶éææ¡£ãæ·»å å
+æ°æ®ç¶ååå»ºæ°å­åŸä¹ŠéŠéŠèçå·¥å
+·ãå®æäŸäºå¯¹Greenstoneæ°å­åŸä¹ŠéŠèœ¯ä»¶åèœçäžäžªåŸåœ¢åç¹å»çé¢çè®¿é®æ¥å£ã</Text>
+<Section name="ofmiceandmenus">
+<Title>
+<Text id="3">å
+³äºéŒ æ åèå</Text>
+</Title>
+<Text id="4">è¿éšåæäŸäžåŸä¹ŠéŠåçé¢äº€äºçåºæ¬ä¿¡æ¯ãåŠæçæè¯žåŠInternet ExploreræåŸ®èœ¯Officeä¹ç±»çèœ¯ä»¶ä»¥åäœ¿çšéŒ æ ç¹å»åèåïŒè¯·è·³å°<Reference target="howtoavoidthisdocument"/>ã</Text>
+<Text id="5">åŸä¹ŠéŠåçé¢æ²¿çšåŸ®èœ¯Windowsæ¯è¯­ã</Text>
+<Text id="6">å±å¹äž­ä»»æäžäžªäº€äºçéšåïŒäŸåŠæé®æææ¬æ¡ïŒéœæäžºäžäžª"æ§ä»¶"ãåšä»»äœæ¶åïŒæäžªæ§ä»¶è¢«é«äº®æŸç€ºå¹¶ååºé®çèŸå
+¥ïŒè¿äžªæ§ä»¶ç§°äžº"çŠç¹"ãäžäºå
+è®žéæ©éšä»¶çæ§ä»¶å°çšæ·±èè²é«äº®æŸç€ºãäžäºçšç°è²æŸç€ºçæ§ä»¶è¯Žæè¿äºæ§ä»¶å·²è¢«çŠçšã</Text>
+<Text id="7">å¯ä»¥åŠå¹³åžžäžæ ·ç§»åšéŒ æ ä»¥åäœ¿çšå·Šãå³é®åå»ãè®žå€ç»ä»¶è¿å
+è®ž"æåš"ïŒå³ç¹å»å¹¶æäžéŒ æ å·Šé®ïŒç§»åšéŒ æ ïŒç¶åéæŸéŒ æ å°è¿äºç»ä»¶"æŸçœ®"å°å
+¶ä»å°æ¹ãäžè¬åœç»ä»¶åäºæŸçœ®ç®æ äžæ¹æ¶ïŒè¿äºç®æ çå€è§äŒåçæ¹åã</Text>
+<Text id="8">å¯çšé®çèŸå
+¥å­äž²ã[Tab]é®å°åšå€äžªææ¬å­æ®µéŽåæ¢åœåçŠç¹ã</Text>
+<Text id="11">ä»"æä»¶"èåéæ©"éåº"å¯ä»¥éåºåŸä¹ŠéŠåçé¢çšåºãçéŠèå°äŒè¢«ä¿å­ã</Text>
+</Section>
+<Section name="howtoavoidthisdocument">
+<Title>
+<Text id="12">åŠäœé¿å
+é
+è¯»æ¬ææ¡£</Text>
+</Title>
+<Text id="13">äžèŠä»å€Žå°å°Ÿå°é
+è¯»è¿äžªåž®å©ææ¬ïŒèåªåšéèŠæ¶é
+è¯»ïŒå­ŠäŒåŠäœåŸå°åž®å©å·²ç»è¶³å€ã</Text>
+<Text id="14">åšç»å®çäžäžæäž­ç¹å»âåž®å©âåŸæ èŠä¹äŒæŸç€ºçžå
+³çåž®å©ææ¬ïŒæè
+åšçžå
+³åž®å©ææ¬çæ é¢äžæ æ³šäžäžªé®å·åŸæ ã</Text>
+<Text id="15">å¯¹åŸå€æ§ä»¶ïŒåŠæå°éŒ æ åçåšå
+¶äžïŒå°æŸç€ºäžäžª"æç€º"æ ç­Ÿè¯Žæè¯¥æ§ä»¶çåèœã</Text>
+<Text id="16">åšäœ¿çšåŸä¹ŠéŠåçé¢åïŒè¯·å
+é
+è¯»Greenstoneææ¡£ã</Text>
+</Section>
+</Section>
+<Section name="startingoff">
+<Title>
+<Text id="17">åŒå§</Text>
+</Title>
+<Text id="18">è¿éšåä»åŠäœåå»ºïŒä¿å­ïŒåšå­åå é€éŠèã</Text>
+<Section name="creatingacollection">
+<Title>
+<Text id="19">åå»ºæ°éŠè</Text>
+</Title>
+<Text id="20">åå»ºäžäžªæ°éŠèïŒæåŒ"æä»¶"èåå¹¶éæ©"æ°å»º"ãæè¥å¹²éèŠå¡«åçå­æ®µïŒä¹å¯ä»¥éååšæ ŒåŒè§åŸäž­ä¿®æ¹è¿äºå­æ®µçåŒã</Text>
+<Text id="21">"éŠèæ é¢"æ¯æŸç€ºåšè¯¥éŠèäž»é¡µäžéšçæå­ãè¯¥æå­å¯ä»¥æ¯ä»»äœé¿åºŠã</Text>
+<Text id="22">"å
+å®¹æè¿°"åºè¯¥å°œå¯èœè¯Šç»å°æè¿°æ¬éŠèçå
+å®¹ãçš[Enter]é®åšæ®µèœéŽåèœŠã</Text>
+<Text id="23">æåïŒå¿
+é¡»æå®æ°çéŠèæ¯åŠæ¥æåæäžªç°æéŠèäžæ ·çå€è§åå
+æ°æ®éïŒè¿æ¯äžäžªé»è®€ç"æ°éŠè"ãé»è®€çæ°éŠèå°éçšæ åé
+çœ®ä»¥åéœæææ žå¿å
+æ°æ®éãè¿äºéåéœå¯æŽæ¹ã</Text>
+<Text id="24">ç¹å»"OK"æ¥åå»ºéŠèã</Text>
+<Text id="25">ç¹å»"åæ¶"ç«å»æåžŠåäž»ç»é¢ã</Text>
+</Section>
+<Section name="savingacollection">
+<Title>
+<Text id="26">ä¿å­éŠè</Text>
+</Title>
+<Text id="27">å®æä¿å­ïŒæåŒ"æä»¶"èåå¹¶éæ©"ä¿å­"ãä¿å­äžäžªéŠèå¹¶äžç­åäºè¯¥éŠèå°±å¯åšGreenstoneäž­äœ¿çšäº(åè§<Reference target="producingthecollection"/>)ã</Text>
+<Text id="28">åšéåºçšåºæè
+æåŒåŠäžäžªéŠèæ¶ïŒåŸä¹ŠéŠåçé¢å°ä¿å­åœåå·¥äœã</Text>
+<Text id="29a">éŠèè¢«å­æŸåšGreenstoneçšåºäž­"collect"æä»¶å€¹ä¹äžçäžäžªæä»¶å€¹äž­ïŒå¹¶ä»¥è¯¥éŠèåç§°çç®ç§°åœåãææ¡£å­æŸåš"import"å­æä»¶å€¹äž­ïŒå
+æ°æ®åå­æŸåšè¯¥æä»¶å€¹äž­ç"metadata.xml"æä»¶äž­ãé
+çœ®ä¿¡æ¯å­æŸåš"etc"å­æä»¶å€¹äžç"collect.cfg"æä»¶äž­ãè¿æäºä¿¡æ¯å­æŸåšä»¥è¯¥éŠèåœåäžæ©å±åäžº".col"çæä»¶äž­ã</Text>
+</Section>
+<Section name="openingacollection">
+<Title>
+<Text id="30">æåŒäžäžªç°æçéŠè</Text>
+</Title>
+<Text id="31">èŠæåŒäžäžªç°æçéŠèïŒåš"æä»¶"èåäž­éæ©"æåŒ"ä»¥æåŒ"æåŒéŠè"å¯¹è¯æ¡ãè¿å°æŸç€ºäžäžªGreenstoneéŠèåè¡šãéæ©äžäžªéŠèä»¥æ¥çå®çæè¿°ïŒç¶åç¹å»"æåŒ"æ¥è£
+èœœè¯¥éŠèã</Text>
+<Text id="32">åšå€äžªGreenstoneåŸä¹ŠéŠåçé¢çšåºåæ¶è¿è¡çæ
+åµäžïŒçžå
+³çç®åœå°è¢«éå®ä»¥é¢é²å¹²æ°ãåšæåŒäžäžªéŠèçåæ¶ïŒåšå
+¶æä»¶å€¹äžå°æ°å»ºäžäžªå°çäžŽæ¶éå®æä»¶ãåšæåŒäžäžªéŠèä¹åïŒåŸä¹ŠéŠåçé¢æ£æ¥å¹¶ç¡®ä¿è¯¥éŠèæ²¡æéå®æä»¶ãç¶èïŒåœåŸä¹ŠéŠåçé¢æå€éåºæ¶ïŒææ¶è¿äžªéå®æä»¶ä»ç¶å­åšãåšæåŒè¿ç±»éŠèæ¶ïŒåŸä¹ŠéŠåçé¢å°è¯¢é®æ¯åŠè·åè¯¥éŠèçæ§å¶ãé€éè®€äžºæäººåšåæ¶çŒèŸè¿äžªéŠèïŒå®å
+šå¯éæ©è·åè¿äžªæ§å¶æã</Text>
+<Text id="33">åœæåŒäžäžªå¹¶éç±GreenstoneåŸä¹ŠéŠåçé¢åå»ºçéŠèæ¶ïŒéœæææ žå¿å
+æ°æ®éå°è¢«çšäºè¯¥éŠèïŒèä»»äœç°æçå
+æ°æ®å°è¢«å¯Œå
+¥ïŒå°±åå°æå
+æ°æ®çæä»¶æåšå°ç³»ç»äž­äžæ ·ã<Reference target="importingpreviouslyassignedmetadata"/>æè¿°è¿äžªè¿çšã</Text>
+</Section>
+<Section name="deletingcollections">
+<Title>
+<Text id="34">å é€éŠè</Text>
+</Title>
+<Text id="35">èŠå°éŠèä»çGreenstoneçšåºäž­æ°žä¹
+æ§å°å é€ïŒä»"æä»¶"èåäž­éæ©"å é€"ïŒè¿å°æŸç€ºçéŠèåè¡šãéæ©äžäžªéŠèå¯æ¥çå
+¶æè¿°ïŒç¶åéäž­å¯¹è¯æ¡åºéšçéæ©æ¡å¹¶ç¹å»"å é€"ãè¿äžªåšäœæ¯äžå¯éèœ¬çïŒæä»¥èŠä»ç»ã</Text>
+</Section>
+</Section>
+<Section name="downloadingfiles">
+<Title>
+<Text id="36">ä»äºèçœäžèœœæä»¶</Text>
+</Title>
+<Text id="37"><AutoText key="glidict::GUI.Download"/>è§åŸçšäºä»äºèçœäžèœœèµæºãè¿éšåä»ç»åŸä¹ŠéŠåçé¢çäžèœœè¿çšã</Text>
+<Section name="themirrorview">
+<Title>
+<Text id="38">äžèœœè§åŸ</Text>
+</Title>
+<Text id="39">è¿éšåä»ç»åŠäœé
+çœ®äžèœœä»»å¡å¹¶æ§å¶äžèœœè¿çšãç¹å»<AutoText key="glidict::GUI.Download"/>å°è¯¥è¯åŸãå±å¹çäžåéšåæŸç€ºäžèœœæ§å¶ãåºäžçåéšååå§æ¶äžºç©ºïŒäœäŒæŸç€ºç­åŸ
+åå·²å®æçäžèœœä»»å¡çåè¡šã</Text>
+<Text id="39a">è¿éæäŸäºå€äžªäžèœœåè®®ïŒè¿äºåè®®ååšå·ŠäŸ§äžéšã</Text>
+<Text id="39b"><b>Web:</b>éè¿HTTPåFTPåè®®äžèœœçœé¡µåæä»¶ã</Text>
+<Text id="39b-1"><b>MediaWikiïŒ</b>éè¿HTTPä»äžäžªMediaWikiçœç«äžäžèœœçœé¡µåæä»¶ã</Text>
+<Text id="39c"><b>OAI:</b>ä»OAI-PMHïŒåŒæŸåŒå­æ¡£å¡å¯ŒïŒæå¡åšäžèœœå
+æ°æ®è®°åœïŒä»¥åææ¡£ïŒå¯éé¡¹ïŒã</Text>
+<Text id="39d"><b>Z3950:</b>ä»Z39.50æå¡åšäžèœœäžç¹å®æçŽ¢æ¡ä»¶å¹é
+çMARCè®°åœã</Text>
+<Text id="39e"><b>SRW:</b>ä»SRWæå¡åšäžèœœäžç¹å®æçŽ¢æ¡ä»¶å¹é
+çMARCXMLè®°åœã</Text>
+<Text id="39f">åšå·ŠäŸ§åè¡šäž­éæ©éåœçåè®®ãå³äŸ§å°æŸç€ºæéäžèœœåè®®çå¯çšéé¡¹ãèŠäºè§£äžäžªéé¡¹çåèœïŒå°éŒ æ åçåšè¯¥éé¡¹ä¹äžïŒè¿å°æŸç€ºäžäžªè¯Žæè¯¥éé¡¹çæç€ºä¿¡æ¯ãæäºéé¡¹æ¯å¯éçïŒè¿ç±»éé¡¹éœéåžŠäžäžªéæ©æ¡ïŒèŠäœ¿çšè¯¥éé¡¹å¿
+é¡»éäž­å¯¹åºçéæ©æ¡ãå
+¶ä»å¿
+é¡»çéé¡¹æ²¡æéæ©æ¡ïŒåšäžèœœè¿çšåŒå§ä¹åå¿
+é¡»è®Ÿçœ®å
+¶åŒã</Text>
+<Text id="39g">è®Ÿçœ®å¥œé
+çœ®ä¹åïŒç¹å»<AutoText key="glidict::Download.ServerInformation"/>æ£æ¥æå¡åšè¿æ¥ä»¥åæ¥çäžäºå
+³äºçœé¡µææå¡åšçåºæ¬ä¿¡æ¯ïŒæè
+ç¹å»<AutoText key="glidict::Mirroring.Download"/>åŒå§äžèœœã</Text>
+<Text id="39g-1">å
+¶ä»äž€äžªæé®ïŒ<AutoText key="glidict::Mirroring.Preferences"/>éŸæ¥å°"åæ°é
+çœ®"äž­çè¿æ¥éšåïŒå¯åšæ­€ä¿®æ¹ä»£çè®Ÿçœ®ïŒ<AutoText key="glidict::Mirroring.ClearCache"/>å°å é€ææä»¥åäžèœœçæä»¶ãåŠæäœ éè¿ä»£çæå¡åšè¿æ¥å°å ç¹çœïŒåéèŠè®Ÿçœ®ä»£çä¿¡æ¯ãåŠæäžèœœè¿çšéèŠè®€è¯ä¿¡æ¯ïŒä»£çæå¡åšå°æŸç€ºèŠæ±çšæ·ååå¯ç çå¯¹è¯æ¡ãåŸä¹ŠéŠåçé¢äžäŒåšäŒè¯ä¹éŽå­åšå¯ç ã</Text>
+<Text id="40">äžèœœæä»¶å°å­æŸåš<AutoText key="glidict::Tree.DownloadedFiles"/>æä»¶å€¹äž­ïŒä»
+åœäžèœœå¯çšæ¶ïŒïŒäžå¯çšäºä»»äœéŠèãæä»¶å°ä»¥å
+¶å®æŽçweb URLåœåïŒå¯¹äºWebåMediaWikiäžèœœïŒæè
+ä»¥URLåéé¡¹åŒçç»ååœåïŒå¯¹äºå
+¶ä»äžèœœç±»åïŒãæ¯äžªäž»æºéœå°åå»ºäžäžªæ°æä»¶å€¹ïŒæ¥äžæ¥æ¯è·¯åŸäž­çæ¯äžªéšåå»ºç«æä»¶å€¹ãè¿ç¡®ä¿äºæ¯äžªæä»¶éœæ¯å¯äžçã</Text>
+<Text id="42">äžèœœåè¡šè®°åœäºæ¯äžªå·²å€ççäžèœœãæ¯é¡¹è®°åœäž­æäžäžªææ¬åºåæŸç€ºäžèœœä»»å¡çå
+·äœä¿¡æ¯ä»¥åäžäžªè¿åºŠæ¡æŸç€ºåœåæŽ»åšãæ¯äžªè®°åœçå³äŸ§æäžäžªæé®ã<AutoText key="glidict::Mirroring.DownloadJob.Pause"/>çšäºæåäžäžªä»»å¡ã<AutoText key="glidict::Mirroring.DownloadJob.Log"/>å°æåŒäžäžªçªå£æŸç€ºäžèœœæ¥å¿æä»¶ã<AutoText key="glidict::Mirroring.DownloadJob.Close"/>å°ç»æ­¢è¯¥äžèœœå¹¶å°è¯¥ä»»å¡ä»åè¡šäž­å é€ã</Text>
+</Section>
+</Section>
+<Section name="collectingfiles">
+<Title>
+<Text id="44">äžºéŠèæ¶éæä»¶</Text>
+</Title>
+<Text id="45">åšæäºäžäžªæ°éŠèåïŒéèŠäžºå
+¶è·åäžäºæä»¶ãè¿äºæä»¶å¯èœæ¥èªäºæä»¶å­åšç©ºéŽïŒä¹åäžèœœçæä»¶ïŒæè
+å
+¶ä»GreenstoneéŠèãæäºæä»¶å¯èœå·²ç»æéå±çå
+æ°æ®ãè¿éšåè¯ŽæåŠäœå¯Œå
+¥æä»¶ã</Text>
+<Section name="thegatherview">
+<Title>
+<Text id="46">éåè§åŸ</Text>
+</Title>
+<Text id="47">è¿éšåä»ç»çšäºå°æä»¶å å
+¥å°ææå»ºéŠèçéååºåãåŸä¹ŠéŠåçé¢å§äºéåè§åŸãèŠè¿åè¿äžªè§åŸïŒç¹å»èåæ äžç<AutoText key="glidict::GUI.Gather"/>æ ç­Ÿã</Text>
+<Text id="48">åäžº"Workspace"å"éå"çäž€å€§åºåçšäºå°æä»¶ç§»åšå°çéŠèäž­ãè¿äž€å€§åºåäž­çæä»¶ç®åœæ ä»£è¡šæä»¶åæä»¶å€¹ã</Text>
+<Text id="49">åšæä»¶ç®åœæ äž­ç¹å»å¹¶éæ©äžé¡¹(ä¹æå
+¶ä»æ¹åŒïŒè§ä»¥äžå
+å®¹)ãåå»äžäžªç®åœæè
+åå»ç®åœæçèœ¬æ¢ç¬Šå·å°æåŒ(æå
+³é­)å
+¶å
+å®¹ãåå»äžäžªæä»¶(æå³é®åå»å¹¶éæ©<AutoText key="glidict::Menu.Open_Externally"/>)å°çšäžä¹å
+³èçåºçšçšåºæåŒè¯¥æä»¶(åè§<Reference target="fileassociations"/>)</Text>
+<Text id="50">Workspaceæä»¶ç®åœæ æŸç€ºåŸä¹ŠéŠåçé¢å¯çšçæ°æ®æº--æ¬å°æä»¶ç³»ç»(å
+æ¬ç¡¬çåCD-ROMé©±åš)ïŒç°æGreenstoneéŠèçå
+å®¹ïŒä»¥åä»¥äžèœœæä»¶ççŒå­ãå¯ä»¥å€å¶åæ¥çè¿äºæä»¶ïŒäœé€äºå·²äžèœœæä»¶å¯è¢«å é€ä¹å€ïŒäžèœç§»åšãå é€æçŒèŸè¿äºæä»¶ãåšè¿äžªåºåäž­æµè§æ¥æŸæ³èŠæ·»å å°éŠèçæä»¶ã</Text>
+<Text id="51">éååºåçæä»¶ç®åœæ æŸç€ºäºç®åéŠèçå
+å®¹ãåå§æ¶æ­€åºåäžºç©ºã</Text>
+<Text id="52">å°éŒ æ æŸåšäž€äžªæä»¶ç®åœæ äž­éŽçåéæ¡äž(æ­€æ¶éŒ æ æéçåœ¢ç¶äŒæ¹å)å¹¶æåšå®ïŒå¯ä»¥æŽæ¹åºåçç©ºéŽã</Text>
+<Text id="53">çªå£åºéšçç¶æåºåçšäºæŸç€ºæä»¶æäœ(å€å¶ãç§»åšåå é€)çè¿çšãè¿äºæäœå¯èœéèŠäžäºæ¶éŽå®æã"åæ­¢"æé®çšäºåæ­¢åœåæäœã</Text>
+<Text id="54">å±å¹å³äžè§æ¯äž€äžªå€§æé®ã"æ°å»ºæä»¶å€¹"æé®ä»¥æä»¶å€¹äžºåŸæ¡ïŒçšäºåå»ºæ°æä»¶å€¹(åè§<Reference target="creatingfolders"/>)ã"å é€"æé®ä»¥ååŸæ¡¶äžºåŸæ¡ïŒçšäºå é€æä»¶ãç¹å»"å é€"æé®å°ä»éåæä»¶ç®åœæ äž­å é€æéæ©çæä»¶ãæåšæä»¶å°"å é€"æé®ä¹å¯å é€æä»¶ã</Text>
+<Text id="55">éæ©å€äžªè¿ç»­é¡¹ïŒéäž­ç¬¬äžé¡¹ç¶åæäœ[Shift]é®å¹¶ç¹å»æåäžé¡¹ïŒè¿å°éäž­ææäœäºäž­éŽçé¡¹ãéæ©å€äžªéè¿ç»­çæä»¶å¯åšç¹å»çåæ¶æäœ[Ctrl]é®ãåæ¶äœ¿çšè¿äž€äžªæ¹æ³æ¥éæ©å€ç»éè¿ç»­é¡¹ã</Text>
+</Section>
+<Section name="creatingshortcuts">
+<Title>
+<Text id="55a">åšWorkspaceæ äž­åå»ºå¿«æ·æ¹åŒ</Text>
+</Title>
+<Text id="56">ææ¶æäºæä»¶å€¹äŒæç¹å«çéèŠæ§ïŒæ¯åŠå
+å«äžªäººçœé¡µçæä»¶å€¹ãåŠææ¿æïŒåŸä¹ŠéŠåçé¢å¯ä»¥å°è¿äºæä»¶å€¹æ å°å°æä»¶ç®åœæ çé¡¶éšãå³é®åå»æå®çæä»¶å€¹ïŒéæ©"åå»ºå¿«æ·æ¹åŒ"ç¶åèŸå
+¥æä»¶å€¹çåç§°ãèŠå é€äžé¡¹ïŒå³é®åå»è¢«æ å°çæä»¶å€¹ç¶åéæ©"å é€å¿«æ·æ¹åŒ"ã</Text>
+</Section>
+<Section name="creatingfolders">
+<Title>
+<Text id="57">åå»ºæä»¶å€¹</Text>
+</Title>
+<Text id="58">åšéåæä»¶ç®åœæ äž­äœ¿çšæä»¶å€¹å°æä»¶ç»ç»å°äžèµ·ïŒä»¥äŸ¿äºæ¥æŸãæä»¶å€¹å¯åµå¥åšæä»¶å€¹äž­ãçè®ºäžå¯¹æä»¶å€¹çæ°éä»¥ååµå¥çå±æ¬¡å¹¶æ²¡æéå¶ã</Text>
+<Text id="59">èŠåå»ºäžäžªæ°æä»¶å€¹ïŒå¯åšéŠèé¢æ¿äž­ç¹å»å³é®ïŒæè
+åšéŠèæ äž­å³é®ç¹å»äžäžªç°æçæä»¶å€¹ä»¥äŸ¿åšå
+¶äž­æ·»å æ°æä»¶å€¹ïŒïŒç¶åç¹å»âæ°å»ºæä»¶å€¹âéé¡¹ãæ°å»ºçæä»¶å€¹åšåºç°åšæéæä»¶å€¹äž­ïŒæè
+åšæä»¶ç®åœæ çé¡¶å±åŠææ²¡ææä»¶å€¹è¢«éäž­çæ
+åµäžãæç€ºçªå£å°èŠæ±èŸå
+¥æ°å»ºæä»¶å€¹çåç§°ïŒé»è®€äžº"æ°å»ºæä»¶å€¹"ïŒã</Text>
+<Text id="60">åšéåææ¡£ç®åœæ æäžäžªæä»¶å€¹äž­å³é®åå»ä¹å¯åå»ºæä»¶å€¹ïŒéæ©"æ°å»ºæä»¶å€¹"å¹¶äœäžè¿°æäœã</Text>
+</Section>
+<Section name="addingfiles">
+<Title>
+<Text id="61">æ·»å æä»¶</Text>
+</Title>
+<Text id="62">ææŸæäœå¯å°æä»¶å€å¶å°éŠèäž­ãæ­€æ¶éŒ æ æéå°æ å°æéçæä»¶(æå€äžªæä»¶)ãææŸå°éååºåçææ¡£ç®åœæ äž­å°ææéæä»¶å€å¶å°è¯¥äœçœ®(åŠææä»¶æºäºWorkspaceçæä»¶ç®åœæ )ïŒæè
+åšéŠèäž­ç§»åšæéæä»¶(åŠææä»¶æºäºéååºåçæä»¶ç®åœæ )ã</Text>
+<Text id="63">åšå€å¶å€äžªæä»¶æ¶ïŒè¿äºæä»¶éœå°è¢«æŸå°åäžçº§å«çç®æ æä»¶å€¹äž­ïŒäžè®ºè¿äºæä»¶åæ¥åšæä»¶ç®åœç»æäž­çå±æ¬¡ãå€å¶ååæä»¶å°åäžæä»¶å€¹æ¶ïŒå°è¯¢é®æ¯åŠèŠçç°ææä»¶ãéæ©"åŠ"åè¯¥ååæä»¶å°äžäŒè¢«å€å¶ïŒäœå
+¶ä»æä»¶å°è¢«å€å¶ãèŠåæ¶äœäžçå€å¶æäœïŒç¹å»"åæ­¢"æé®ã</Text>
+<Text id="64">åšç§»åšæä»¶æ¶ïŒåªææéé¡¹çæé¡¶å±å
+çŽ è¢«ç§»åšãæä»¶å€¹çå±æ¬¡é«äºå
+¶äž­çé¡¹ç®ãäžèœåšéäž­äžäžªæä»¶å€¹äž­çæä»¶ååæ¶ç§»åšè¯¥æä»¶å€¹æ¬èº«ã</Text>
+<Text id="65">åœæ·»å äžäžªæä»¶æ¶ïŒåŸä¹ŠéŠåçé¢å°åšæºæä»¶å€¹äž­æçŽ¢å
+å«æ­€æ·»å æä»¶å
+æ°æ®çéå±æä»¶ãåŠææ¥æŸå°è¿æ ·äžäžªéå±æä»¶ïŒåŸä¹ŠéŠåçé¢å°å¯Œå
+¥è¯¥å
+æ°æ®ãåšå¯Œå
+¥æäœè¿è¡çè¿çšäž­ïŒå¯èœäŒ(ä¹è®žå€æ¬¡)åŒ¹åºæç€ºçªå£ïŒæç€ºå°å¯Œå
+¥çå
+æ°æ®æ å°å°è¯¥éŠèçå
+æ°æ®éäžãè¿äžªè¿çšæ¶åå€äžªäžåçåŒ¹åºçªå£ïŒè¿äºéœåš<Reference target="importingpreviouslyassignedmetadata"/>äž­æææè¿°ãå
+³äºæä»¶äžå
+æ°æ®å
+³èçè¯Šç»ä»ç»ïŒè¯·åé
+GreenstoneåŒåè
+æåçç¬¬äºç« ã</Text>
+<Text id="65a">äœ ä¹å¯æ·»å äžäžª"æ çšç"ææ¡£å°éŠèäž­ïŒåšéŠèåºåçæä»¶ç®åœæ æè
+äžäžªæä»¶å€¹äžåå»å³é®ïŒå¹¶éæ©<AutoText key="glidict::CollectionPopupMenu.New_Dummy_Doc"/>ãè¿å°åå»ºäžäžªæ°çç©ºæä»¶ïŒå
+æ°æ®å¯ä»¥æ·»å å°è¯¥æä»¶äžãè¿äžªæä»¶éåå¯çšäžäžª"çæ­£ç"æä»¶ææ¿æ¢ã</Text>
+</Section>
+<Section name="replacingfiles">
+<Title>
+<Text id="65b">éåœååæ¿æ¢æä»¶</Text>
+</Title>
+<Text id="65c">éåœåæä»¶å¯éè¿å³é®åå»æä»¶å¹¶éæ©<AutoText key="glidict::CollectionPopupMenu.Rename"/>ãåšåŒ¹åºçªå£äž­èŸå
+¥æ°åç§°å¹¶ç¹å»"ç¡®å®"ã</Text>
+<Text id="65d">æ¿æ¢éŠèäž­çæä»¶å¯éè¿å³é®åå»èŠæ¿æ¢çæä»¶å¹¶éæ©<AutoText key="glidict::CollectionPopupMenu.Replace"/>ãè¿å°æåŒäžäžªæä»¶æµè§åšïŒæ¥æŸå°æ°æä»¶å¹¶ç¹å»"æåŒ"ãæéæ°æä»¶å°æ¿æ¢éŠèäž­çæ§æä»¶ïŒä»»äœå
+æ°æ®å°è¢«èœ¬å°æ°æä»¶äžãè¿äžªåèœå¯¹äºå°"æ çšç"æä»¶æ¿æ¢æçæ­£çæä»¶èèšç¹å«æçšã</Text>
+<Text id="65e">åšå¯Œå
+¥è¿çšäž­ïŒäžäºæä»¶ç±»åå°çšç¬¬äžæ¹èœ¯ä»¶èœ¬æ¢æHTMLïŒæ¯åŠWordãExcelãPDFç­ç­ãå¯Œå
+¥è¿çšäž­çæçHTMLå¯èœäžå®çŸãå³é®ç¹å»è¿äºææ¡£äŒæŸç€º<AutoText key="glidict::Menu.Replace_SrcDoc_With_HTML"/>éé¡¹ãéæ©è¿äžªéé¡¹äŒå°æ¶èäž­çåå§æä»¶æ¿æ¢æHTMLçæ¬ïŒèè¿äžªHTMLçæ¬æ¯å¯çŒèŸä¿®æ¹çã</Text>
+</Section>
+<Section name="removingfiles">
+<Title>
+<Text id="66">å é€æä»¶</Text>
+</Title>
+<Text id="67">æå€ç§å é€æä»¶åæä»¶å€¹çæ¹æ³ãå¿
+é¡»éŠå
+æå®èŠå é€çé¡¹ïŒè¿éè¿éå®äžäžªæå€äžªæä»¶ææä»¶å€¹å®æïŒåŠ<Reference target="thegatherview"/>äž­æè¿°ã</Text>
+<Text id="68">åœæä»¶è¢«éäž­ä¹åïŒç¹å»"å é€"æé®ïŒæäœ¿çš[Delete]é®ïŒæå°æä»¶ä»éŠèäž­ææŸå°"å é€"æé®æ¥å é€è¿äºæä»¶ã</Text>
+</Section>
+<Section name="explodingfiles">
+<Title>
+<Text id="exm-1">å±åŒå
+æ°æ®æä»¶</Text>
+</Title>
+<Text id="exm-2">å
+æ°æ®æ°æ®åºæä»¶ç±»åïŒæ¯åŠMARCãOAIãCDS/ISISãBibTexãReferåProCiteïŒéœå¯å¯Œå
+¥å°GreenstoneïŒäœæ¯åšåŸä¹ŠéŠåçé¢äž­å¹¶äžèœç«å³æ¥çæè
+ä¿®æ¹å
+¶å
+æ°æ®ãç¶èïŒäœ å¯ä»¥åšåŸä¹ŠéŠåçé¢äž­âå±åŒâè¯¥æä»¶ïŒç¶åæ¥çæè
+ä¿®æ¹å
+¶å
+æ°æ®ãæè
+ïŒç¹å«æ¯åšäœ¿çšå€éšåºçšçæ
+åµäžïŒäœ å¯ä»¥åšåå»ºè¯¥æä»¶çåºçšçšåºäž­è¿è¡ä¿®æ¹ïŒç¶åéç°å¯Œå
+¥ã</Text>
+<Text id="exm-3">"å±åŒ"äžäžªå
+æ°æ®æ°æ®åºæä»¶å°è¯¥æä»¶åå²æåç¬çè®°åœïŒå¹¶äžè¿äºè®°åœæå¯æ¥çåå¯çŒèŸçå
+æ°æ®ãè¿äžªè¿çšæ¯äžå¯éçïŒåå§çå
+æ°æ®æä»¶å°è¢«å é€ã</Text>
+<Text id="exm-4">åšéåçæä»¶ç®åœæ äž­ïŒå¯å±åŒçæä»¶çšäžäžªç»¿è²åŸæ æŸç€ºãèŠå±åŒäžäžªæä»¶ïŒå³é®åå»è¯¥æä»¶å¹¶éæ©<AutoText key="glidict::Menu.Explode_Metadata_Database"/>ãåŒ¹åºççªå£å°æŸç€ºå±åŒè¿çšçéé¡¹ã"æä»¶"éé¡¹æå®å±åŒè¿çšæçšçæä»¶ãåšåŸå€æ
+åµäžïŒäžç§ç¹å®ç±»åçæä»¶åªèœç±äžç§æä»¶å€çïŒäœåšæäºæ
+åµäžäžåçæä»¶ç±»åäœ¿çšçžåçæä»¶åçŒåïŒå¯èœæäž€äžªæä»¶èœå€çæè¯¥åçŒåçæä»¶ã"input_encoding"éé¡¹å¯è¢«çšäºæå®è¯¥æ°æ®åºççŒç ã"metadata_set"éé¡¹æå®å±åŒè¿çšäž­çæçæ°å­æ®µåºæ·»å å°åªäžªå
+æ°æ®éäž­ãåŠææ²¡æå
+æ°æ®éè¢«æå®ïŒæ¯äžªæ°å­æ®µéœå°åŒ¹åºäžäžªçªå£è¯¢é®åºåŠäœå€çè¯¥å­æ®µïŒäœäžºæ°å
+çŽ æ·»å å°äžäžªç°æå
+æ°æ®éäž­ïŒåå¹¶å°åŠäžäžªå
+çŽ äž­ïŒæè
+å¿œç¥ã</Text>
+<Text id="exm-5">åšå±åŒæä»¶ä¹åïŒå°äžºæ¯æ¡è®°åœæ°å»ºäžäžªç©ºææ¡£ïŒèè¯¥è®°åœéåžŠçå
+æ°æ®å°è¢«æ·»å å°è¯¥ææ¡£äž­ãè¿äºææ¡£å°çšæ°å­åœåïŒæ¯åŠ000001.nulïŒ000002.nulç­ç­ãåŠæè®Ÿçœ®äº"document_field"éé¡¹ïŒåè¯¥å­æ®µçåŒïŒåŠæå­åšçè¯ïŒå°è¢«çšäœæä»¶åãå±åŒè¿çšäž­ä¹äŒå°è¯äžèœœè¯¥æä»¶å¹¶çšå
+¶æ¿ä»£ç©ºæä»¶ã"document_prefix"å"document_suffix"éé¡¹å¯çšäºä»"document_field"éé¡¹åŒäž­çæåæ³çURLææä»¶è·¯åŸã"records_per_folder"éé¡¹çšäºå°å±åŒçè®°åœåç»å¹¶ç»ç»å°å­æä»¶å€¹äž­ãåšæ°æ®åºéåžžå€§çæ
+åµäžïŒäœ¿çšè¿äžªéé¡¹å°å éæ¥äžæ¥çå
+æ°æ®çŒèŸè¿çšã</Text>
+<Text id="exm-6">æä»¶æ¯åŠå¯å±åŒåå³äºæä»¶æ©å±åãåšæäºæ
+åµäžïŒåŠææä»¶çæ©å±åäžå¯æ©å±æä»¶çžåïŒåå¯èœè¢«è®€äžºæ¯å¯æ©å±çæä»¶ãäŸåŠïŒProCiteæä»¶å€çä»¥.txtäžºæ©å±åçæä»¶ïŒäœå€§å€æ°.txtæä»¶æ¯çº¯ææ¬æä»¶èéProCiteæä»¶ã</Text>
+</Section>
+<Section name="filteringthetree">
+<Title>
+<Text id="69">è¿æ»€æ æä»¶ç®åœæ ç»æ</Text>
+</Title>
+<Text id="70">"è¿æ»€"éååºåä»¥åWorkspaceäž­çæä»¶ç®åœæ å¯ä»¥çŒ©å°æçŽ¢æä»¶çèåŽã</Text>
+<Text id="71">äœäºæ¯äžªæä»¶ç®åœæ äžç"æŸç€ºæä»¶"äžæèåååºäºé¢å®ä¹çè¿æ»€åšïŒæ¯åŠ"åŸç"ãéæ©è¿äºè¿æ»€åšå°äžŽæ¶éèæä»¶ç®åœæ äž­çå
+¶ä»æä»¶ãèŠè¿åæåçæä»¶ç®åœæ ïŒå°è¿æ»€åšæ¹åè³"æææä»¶"ãè¿äºæäœäžäŒæŽæ¹éŠèïŒä¹äžäŒåœ±åæä»¶ç®åœæ äž­çæä»¶å€¹ã</Text>
+<Text id="72">å¯ä»¥éè¿èŸå
+¥çšäºå¹é
+æä»¶çæš¡åŒæ¥å®å¶è¿æ»€åšïŒä»
+éäºåŸä¹ŠéŠååäžå®¶æš¡åŒïŒãå»ºè®®äœ¿çšæ åçæä»¶ç³»ç»çŒ©åæ¯åŠ"*.doc"ïŒ"*"çšäºå¹é
+ä»»æå­ç¬ŠïŒã</Text>
+</Section>
+</Section>
+<Section name="enrichingacollection">
+<Title>
+<Text id="73">å°å
+æ°æ®å å
+¥éŠè</Text>
+</Title>
+<Text id="74">åšå°è¥å¹²æä»¶æ·»å å°éŠèä¹åïŒç°åšå°äžäºç§°äžº"å
+æ°æ®"çé¢å€ä¿¡æ¯å å
+¥å°è¿äºæä»¶äž­ãè¿éšåå°è§£éå
+æ°æ®æ¯åŠäœè¢«åå»ºãçŒèŸãèµåŒåæçŽ¢çïŒä»¥ååŠäœäœ¿çšå€éšå
+æ°æ®æº(åè§GreenstoneåŒåè
+æåç¬¬äºç« )ã</Text>
+<Section name="theenrichview">
+<Title>
+<Text id="75">å å
+¥è§åŸ</Text>
+</Title>
+<Text id="76">äœ¿çš<AutoText key="glidict::GUI.Enrich"/>è§åŸå°å
+æ°æ®å å
+¥å°éŠèçææ¡£äž­ãå
+æ°æ®æ¯å
+³äºæ°æ®çæ°æ®ïŒå
+žåçå
+æ°æ®å
+æ¬é¢åãäœè
+ãåå»ºæ¥æç­ç­ãæ¯äžªå
+æ°æ®é¡¹ç±äž€éšåç»æïŒ<AutoText key="glidict::Metadata.Element"/>è¯Žæé¡¹ç®çç±»å(æ¯åŠäœè
+)ïŒè<AutoText key="glidict::Metadata.Value"/>æå®è¯¥å
+æ°æ®å
+çŽ çåŒ(æ¯åŠäœè
+çåå­)ã</Text>
+<Text id="77">åš<AutoText key="glidict::GUI.Enrich"/>è§åŸçå·ŠäŸ§æ¯éŠèåºåçæä»¶ç®åœæ ãææåš<AutoText key="glidict::GUI.Gather"/>è§åŸéŠèåºåçæä»¶ç®åœæ äž­å¯çšçå³é®åèœåšæ­€éœå¯çšãå³äŸ§åæ¯å
+æ°æ®è¡šïŒå
+¶äž­æŸç€ºéŠèåºåæä»¶ç®åœæ äž­æéæä»¶ææä»¶å€¹çå
+æ°æ®ãæ ç®åä»¥é»è²æŸç€ºåšæé¡¶ç«¯ïŒäžå¯éè¿æåšåå²çº¿æ¥è°æŽå
+¶å€§å°ãåŠæéäž­äºå€äžªæä»¶ææä»¶å€¹ïŒé»è²æŸç€ºçææ¬è¯Žæè¯¥ææ¬éçšäºæææéäž­çé¡¹ïŒèç°è²ææ¬è¯Žæè¯¥ææ¬äžéçšäºææé¡¹ãçŒèŸç°è²æŸç€ºçå
+æ°æ®åŒå°åªåœ±åæ¥æè¯¥å
+æ°æ®çææ¡£ãä»»äœæ°å¢çå
+æ°æ®åŒå°è¢«æ·»å å°ææéäž­é¡¹äž­ã</Text>
+<Text id="78">æäºå
+æ°æ®é¡¹æäŒæäžäžªæä»¶å€¹åŸæ ãè¿è¯Žæè¯¥å
+æ°æ®åŒç»§æ¿èªå
+¶ç¶ç®åœïŒæäžçº§ç®åœïŒãç»§æ¿çå
+æ°æ®äžèœè¢«çŒèŸæè
+å é€ïŒåªèœè¢«æ©å±ãç¹å»æä»¶å€¹åŸæ å°çŽæ¥èœ¬å°è¯¥å
+æ°æ®è¢«èµåŒçæä»¶å€¹ã</Text>
+<Text id="79">ç¹å»è¡šäž­çå
+æ°æ®å
+çŽ å°åšå
+¶äžç<AutoText key="glidict::EnrichPane.ExistingValues" args="..."/>åºåäž­æŸç€ºè¯¥å
+çŽ çææç°æåŒãè¿äžªå
+æ°æ®åŒçæ ç»æå¯æåŒåå
+³é­ãéåžžè¿äžªåè¡šæŸç€ºææéäž­å
+çŽ ä¹åçåŒãç¹å»å
+¶äž­é¡¹å°èªåšå°å
+¶è®Ÿäžºåœåçå
+æ°æ®åŒãçžåïŒåšåŒå­æ®µäž­èŸå
+¥å°éæ©ä»¥æèŸå
+¥å­äž²åŒå€ŽçåŒé¡¹ãç¹å»Tabå°èªåšå®ææéåŒã</Text>
+<Text id="80">å
+æ°æ®åŒå¯çšå±çº§ç»æç»ç»ãè¿åšå
+æ°æ®åŒæ ç»æäž­åäœç°äžºçšæä»¶å€¹æ¥æŸç€ºå
+éšå±æ¬¡ãèŠèŸå
+¥å±çº§çå
+æ°æ®åŒå¯äœ¿çš"|"ç¬Šå·æ¥åéå±çº§ãäŸåŠïŒ"å¡|çº¢è²|æ¹å|äž"å¯ä»¥æ¯ä»£è¡šäžå å¡ççå±çº§ç»æãè¿äœ¿åŸå
+æ°æ®åŒèœå€è¢«ç»ç»å°äžèµ·ãå€ç»å
+æ°æ®åŒä¹å¯äœäžºäžäžªå
+æ°æ®èµäºæä»¶ã</Text>
+<Text id="81">Greenstoneä»ææ¡£äž­èªåšæœåå
+æ°æ®å¹¶å­å
+¥äžäžªä»¥"ex."äžºåçŒçå
+æ°æ®éãè¿äºå
+æ°æ®æ²¡ææ ç»æäžäžå¯çŒèŸã</Text>
+</Section>
+<Section name="selectingmetadatasets">
+<Title>
+<Text id="82">éæ©å
+æ°æ®é</Text>
+</Title>
+<Text id="83">é¢å®ä¹çå
+æ°æ®å
+çŽ éåç§°äžº"å
+æ°æ®é"ãéœæææ žå¿å
+æ°æ®éå°±æ¯äžäŸãåœå°äžäžªå
+æ°æ®éæ·»å å°çéŠèäž­åïŒäŸ¿å¯éæ©å
+¶äž­çå
+çŽ ãå¯ä»¥æ·»å å€äžªå
+æ°æ®éãäžºäºé²æ­¢åç§°å²çªïŒäžäžªæ è¯è¯¥å
+æ°æ®éçç®ç­æ è¯ç¬Šå°è¢«æ·»å å°å
+æ°æ®å
+çŽ åç§°çåé¢ãæ¯åŠéœæææ žå¿å
+æ°æ®å
+çŽ "åå»ºè
+"å°±æäžº"dc.åå»ºè
+"ãå
+æ°æ®ééœå­æŸåšåŸä¹ŠéŠåçé¢çmetadataæä»¶å€¹äž­ïŒå¹¶ä»¥".mds"äžºåçŒã</Text>
+<Text id="84">åšåå»ºäžäžªæ°éŠèæ¶ïŒçŒºçæ
+åµäžéœæææ žå¿å
+æ°æ®éå°è¢«æ·»å å°è¯¥éŠèãäœ å¯ä»¥æŽæ¹éŠèäœ¿çšçå
+æ°æ®éïŒç¹å»å å
+¥è§åŸäž­éŠèåºåæä»¶ç®åœæ äžé¢ç<AutoText key="glidict::EnrichPane.ManageMetadataSets"/>æé®ãè¿å°åŒ¹åºäžäžªæ°çªå£ïŒä»¥ç®¡çè¯¥éŠèçå
+æ°æ®éã</Text>
+<Text id="84a"><AutoText key="glidict::MetadataSetDialog.Current_Sets"/>åè¡šååºäºåœåéŠèçšå°çå
+æ°æ®éã</Text>
+<Text id="84b">èŠåšåœåéŠèäž­äœ¿çšå
+¶ä»å
+æ°æ®éïŒç¹å»"æ·»å "ãåšåŒ¹åºççªå£äž­ååºäºGLIé»è®€çå
+æ°æ®éãåŠèŠæ·»å å
+¶äž­çå
+æ°æ®éïŒåšåè¡šäž­éäž­è¯¥éå¹¶ç¹å»"æ·»å "ãåŠèŠèªå®ä¹å
+æ°æ®éïŒå¯äœ¿çš"æµè§"æé®åšæä»¶ç³»ç»äž­æŸå°å¯¹åºçå
+æ°æ®æä»¶ã</Text>
+<Text id="84c">åå»ºäžäžªæ°çå
+æ°æ®éïŒç¹å»"æ°å»º"ãè¿å°å¯åšGreenstoneå
+æ°æ®éçŒèŸåšãéŠå
+åŒ¹åºçªå£äŒæç€ºèŸå
+¥å
+æ°æ®éçåç§°ãåœåç©ºéŽä»¥åæè¿°ãä¹å¯ä»¥éæ©å°åšç°æå
+æ°æ®éçåºç¡äžåå»ºè¿äžªæ°å
+æ°æ®éïŒè¿æå³çæ°å
+æ°æ®éå°ç»§æ¿æææå®å
+æ°æ®éçå
+çŽ ãç¹å»"ç¡®å®"ãåšäž»çªå£äž­çå·ŠäŸ§å°æŸç€ºå
+æ°æ®éïŒå³äŸ§åæŸç€ºè¯¥å
+æ°æ®éçäžäºå±æ§ãåŠææ¯åºäºç°æå
+æ°æ®éèæå»ºçïŒåå°æŸç€ºäžäžªæå€äžªå
+çŽ ãåšå³äŸ§ç¹å»è¯¥å
+çŽ çå±æ§ã</Text>
+<Text id="84d">æ°å»ºäžäžªå
+æ°æ®å
+çŽ ïŒåšå
+æ°æ®éäžå³é®åå»å¹¶éæ©"æ·»å å
+æ°æ®å
+çŽ "ãæ°å»ºäžäžªå­å
+çŽ ïŒå³é®åå»è¯¥å
+çŽ å¹¶éæ©"æ·»å å­å
+çŽ "ãå
+çŽ ä»¥åå­å
+çŽ åå¯éè¿éæ©å³é®èåäž­ç"å é€(å­)å
+çŽ "å é€ã</Text>
+<Text id="84e">è¯·æ³šæGreenstoneå
+æ°æ®éçŒèŸåšå¯ç¬ç«äºGLIè¿è¡ïŒä»åŒå§èåGreenstoneæä»¶å€¹äž­éæ©Greenstoneå
+æ°æ®éçŒèŸåšïŒæè
+è¿è¡Greenstone gliæä»¶å€¹äžçgems.shæè
+gems.batçšåºã</Text>
+<Text id="84f">æäºæ
+åµäžïŒäž€äžªå
+æ°æ®éå¯èœäœ¿çšåäžåœåç©ºéŽãäŸåŠïŒéœæææ žå¿ä»¥åéå®éœæææ žå¿å
+æ°æ®ééœäœ¿çš"dc"åœåç©ºéŽãè¿ç±»å
+æ°æ®éäžèœåæ¶äœ¿çšãåŠæè¯åŸæ·»å çå
+æ°æ®éçåœåç©ºéŽå·²è¢«åœåéŠèæäœ¿çšïŒåäŒæŸç€ºäžäžªè­Šåä¿¡æ¯ãåŠæä»ç»§ç»­æ·»å ïŒç°æçå
+æ°æ®éå°è¢«å é€èæ°çå
+æ°æ®éå°è¢«æ·»å ãä»»äœå·²ç»èµäºçå
+æ°æ®åŒå°è¢«èœ¬å°æ°çå
+æ°æ®éäž­ïŒåŠæé£äºå
+æ°æ®å
+çŽ ä»ç¶å­åšã</Text>
+<Text id="191">GEMSå¯çšäºçŒèŸç°æçå
+æ°æ®éä»¥ååå»ºæ°çå
+æ°æ®éãç¹å»âçŒèŸâæé®å¯åšGEMSïŒå¹¶äžææå®çå
+æ°æ®éå°å€äºæåŒç¶æãäžæŠå®æå¯¹å
+æ°æ®éççŒèŸïŒåŠäžæè¿°ïŒïŒä¿å­ïŒæä»¶->ä¿å­ïŒå¹¶å
+³é­GEMSã</Text>
+<Text id="192">åŠæäžäžªéŠèäžåéèŠå
+æ°æ®éïŒéäž­è¯¥å
+æ°æ®éå¹¶ç¹å»"å é€"ãåŠææ·»å äºä»»äœå
+æ°æ®å°è¯¥å
+æ°æ®éçå
+çŽ äž­ïŒç³»ç»å°è¯¢é®åšäžæ¬¡æåŒæ¬éŠèæ¶åŠäœå€çè¿äºå
+æ°æ®ã</Text>
+</Section>
+<Section name="appendingmetadata">
+<Title>
+<Text id="85">æ·»å æ°çå
+æ°æ®</Text>
+</Title>
+<Text id="86">ç°åšæä»¬åšäžäžªæä»¶äž­æ·»å äžäžªå
+æ°æ®é¡¹--å
+æ¬å
+¶å
+çŽ ååŒãéŠå
+åšå·ŠäŸ§çéåæä»¶ç®åœæ äž­éæ©æä»¶ãè¿äžªæäœå°åšå³äŸ§çè¡šäž­æŸç€ºè¯¥æä»¶çææç°æçå
+æ°æ®ã</Text>
+<Text id="87">ç¶ååšè¡šäž­ç¹å»æ³æ·»å çå
+æ°æ®å
+çŽ æåšçè¡ã</Text>
+<Text id="88">åšåŒå­æ®µäž­èŸå
+¥å
+æ°æ®ä¹ãäœ¿çš"|"å­ç¬Šæ·»å ç»æïŒåŠ<Reference target="theenrichview"/>äž­æè¿°ãç¹å»[Up]å[Down]ç®­å€Žé®å°ä¿å­åœåå
+æ°æ®åŒå¹¶ç§»åšå°å¯¹åºçæéæ©çé¡¹ãäœ¿çš[Enter]é®å°ä¿å­åœåå
+æ°æ®åŒå¹¶äžºåœåå
+æ°æ®å
+çŽ åå»ºäžäžªæ°çç©ºé¡¹ïŒä»èå¯ä»¥äžºåäžå
+æ°æ®å
+çŽ æ·»å å€äžªåŒã</Text>
+<Text id="89">ä¹å¯ä»¥äžºäžäžªæä»¶å€¹æ·»å å
+æ°æ®ïŒæè
+äžæ¬¡äžºå€äžªæéæä»¶æ·»å å
+æ°æ®ãè¯¥å
+æ°æ®å°è¢«æ·»å å°æä»¶å€¹äžçæææä»¶æè
+æéçæææä»¶ïŒåå
+¶å­æä»¶å€¹ãè¯·çæïŒåŠæå
+æ°æ®è¢«èµäºæä»¶å€¹ïŒåå
+¶äž­çä»»äœæ°æä»¶å°èªåšç»§æ¿è¯¥æä»¶å€¹çå
+æ°æ®åŒã</Text>
+</Section>
+<Section name="addingpreviouslydefinedmetadata">
+<Title>
+<Text id="90">æ·»å ä¹åå®ä¹çå
+æ°æ®</Text>
+</Title>
+<Text id="91">åŠæææ·»å çå
+æ°æ®åŒå·²ç»å­åšïŒåéŠå
+éæ©æä»¶ïŒåéæ©èŠæ·»å åŒçå
+æ°æ®å
+çŽ ïŒç¶åä»å
+æ°æ®åŒçæ ç»æäž­éæ©éèŠçåŒïŒå¹¶æéæåŒå±çº§æä»¶å€¹ãæéé¡¹çåŒå°èªåšåºç°åšè¯¥å
+æ°æ®å­æ®µ(æè
+ïŒäœ¿çšèªåšéæ©åèªåšå®æåèœ)</Text>
+<Text id="92">æ·»å ç°æå
+æ°æ®åŒå°æä»¶å€¹æè
+å€äžªæä»¶çè¿çšäžäžçžåã</Text>
+</Section>
+<Section name="updatingmetadata">
+<Title>
+<Text id="93">çŒèŸæå é€å
+æ°æ®</Text>
+</Title>
+<Text id="94">åŠèŠçŒèŸæå é€å
+æ°æ®ïŒéŠå
+éæ©å¯¹åºçæä»¶ïŒåä»è¡šäž­éæ©å
+æ°æ®åŒãçŒèŸåŒå­æ®µïŒæå é€ææææ¬ä»¥å é€è¯¥å
+æ°æ®ã</Text>
+<Text id="95">æŽæ°æä»¶å€¹åå
+¶å­æä»¶å€¹æå€äžªæä»¶çè¿çšäžäžçžåïŒäœæ¯åªææææéæä»¶åæä»¶å€¹å
+±æçå
+æ°æ®æèœè¢«æŽæ°ã</Text>
+<Text id="96">å
+æ°æ®åŒçæ ç»ææŸç€ºäºææåœåèµäºçå
+æ°æ®åŒä»¥ååœåäŒè¯äž­ä¹åèµäºçåŒïŒå æ­€æŽæ¹æå é€è¿äºåŒå°ä»å­åšäºæ ç»æäž­ãå
+³é­åœåéŠèåéæ°æåŒè¯¥éŠèå°å é€æææªèµäºçå
+æ°æ®åŒã</Text>
+</Section>
+<Section name="reviewingmetadata">
+<Title>
+<Text id="97">æ¥çå·²æå®çå
+æ°æ®</Text>
+</Title>
+<Text id="98">æäºæ
+åµäžéèŠåæ¶æ¥çäžºå€äžªæä»¶èµäºçå
+æ°æ®åŒ--æ¯åŠïŒèŠç¡®å®è¿å©å€å°æä»¶æè
+äºè§£æ¥æçèåŽã</Text>
+<Text id="99">åšéååºåçæä»¶ç®åœæ äž­éæ©èŠæ¥ççæä»¶ïŒç¶åå³é®ç¹å»å¹¶éæ©"æå®çå
+æ°æ®"ãè¿å°åŒ¹åºäžäžªåäžº"ææå
+æ°æ®"ççªå£ïŒåå
+¶äž­çæè®žå€åçå€§è¡šãç¬¬äžåæŸç€ºæä»¶åïŒè¡šçè¡åæŸç€ºäºææèµäºè¿äºæä»¶çå
+æ°æ®åŒã</Text>
+<Text id="100">åœéäž­äºåŸå€æä»¶æ¶ïŒç»ç»æ­€è¡šæ ŒéèŠäžäºæ¶éŽãåšæåŒ"ææå
+æ°æ®"çªå£çè¿çšäž­å¯ä»¥ç»§ç»­äœ¿çšåŸä¹ŠéŠåçé¢ã</Text>
+<Text id="101">åœå®ååŸå€ªå€§æ¶ïŒå¯ä»¥å°è¿æ»€åšåºçšå°æ æ¥è¿æ»€"ææå
+æ°æ®"è¡šæ Œãåšæ°è¿æ»€åšè¢«æ·»å åïŒåªæäžä¹å¹é
+çè¡ä»å¯è§ãç¹å»æ çäžé¢ç"funnel"åŸæ æ¥è®Ÿå®ãä¿®æ¹ææž
+çäžäžªè¿æ»€åšãäŒè¢«æç€ºå
+³äºè¿æ»€åšçä¿¡æ¯ãäžæŠäžäžªè¿æ»€åšè¢«è®Ÿå®åïŒæ çæ é¢å°±äŒæ¹åé¢è²ã</Text>
+<Text id="102">è¿æ»€åšçæç€ºçªå£æ"ç®å"å"é«çº§"æ ç­Ÿãç®åçæ¬å°è¿æ»€æææ ïŒå æ­€åªæŸç€ºå
+å«æäžå
+æ°æ®åŒçè¡("*"å¹é
+ææåŒ)ãåšäžæåè¡šäž­å¯ä»¥éæ©å
+æ°æ®åŒãé«çº§çæ¬åå
+è®žäžåçå¹é
+æäœïŒå¿
+é¡»å§äºïŒäžå
+æ¬ïŒæå­æ¯æ¯èŸå°äºåç­äºãæå¹é
+çåŒå¯ä»¥æ¯ä»»äœå­äž²(å
+æ¬"*")ïŒä¹å¯éæ©å¹é
+æ¯åŠåºå«å€§å°åãæåïŒè¿å¯æå®äžäžªæ¬¡èŠå¹é
+æ¡ä»¶ïŒè¿äžªæ¡ä»¶å¯çšæ¥æå®äžç³»åçåŒ(éè¿éæ©AND)æè
+äžç»å¯éçåŒ(éè¿éæ©OR)ãåšæ­€åºåäžæ¯çšäºæŽæ¹æåºé¡ºåº(ååºæè
+éåº)çéæ©æ¡ãåœå®ææ¶ïŒç¹å»"è®Ÿçœ®è¿æ»€åš"æ¥åºçšæ°è¿æ»€åšå°æ ãç¹å»"æž
+é€è¿æ»€åš"æ¥å é€äžäžªç°å­çè¿æ»€åšãè¯·æ³šæçæ¯å³äœ¿åœé£è¿æ»€åšè¢«æž
+é€åïŒå
+¶è¯Šç»èµæä»è¢«ä¿çã</Text>
+<Text id="103">äŸåŠïŒç»"ææå
+æ°æ®"æåºïŒéæ©äžäžªæ ïŒæéé»è®€çè®Ÿçœ®(åš"*"çäžäžªç®åçè¿æ»€åš)ïŒåéæ©ååºæåæè
+éåºæåã</Text>
+</Section>
+<Section name="importingpreviouslyassignedmetadata">
+<Title>
+<Text id="104">å¯Œå
+¥ä¹åææå®çå
+æ°æ®</Text>
+</Title>
+<Text id="105">è¿éšä»œæè¿°åŠäœå¯Œå
+¥ä¹åææå®çå
+æ°æ®ïŒåšæ·»å å°éŠèä¹åå°±è¢«èµäºå°ææ¡£çå
+æ°æ®ã</Text>
+<Text id="106">åŠæå
+æ°æ®åšä¹åå·²èµäºäºäžäžªæä»¶ïŒå¹¶äžå
+¶å­åšçåœ¢åŒæ¯å¯è¢«åŸä¹ŠéŠåçé¢æè¯å«ç -- äŸåŠïŒä»äžäžªç°åšçGreenstoneéŠèäž­éæ©ææ¡£æ¶ -- åè¿äºå
+æ°æ®å°äŒåšæ·»å è¯¥æä»¶æ¶èªåšè¢«å¯Œå
+¥ãäžºæ­€ïŒè¯¥å
+æ°æ®å¿
+é¡»è¢«æ å°å°éŠèææ¯æçå
+æ°æ®éäžã</Text>
+<Text id="107">åŸä¹ŠéŠåçé¢äŒæç€ºå¿
+èŠçä¿¡æ¯ãæç€ºå¯¹è¯æ¡å°ç»åºç®èŠçæç€ºïŒå¹¶æŸç€ºæ­£è¢«å¯Œå
+¥çå
+æ°æ®å
+çŽ åç§°ïŒè¯¥åç§°äžè¯¥å
+æ°æ®åšæºæä»¶äž­æŸç€ºçåç§°çžåãæ­€å­æ®µæ¯äžå¯çŒèŸæè
+ä¿®æ¹çãæ¥äžæ¥éæ©å°æ°å
+çŽ æ å°å°åªäžªå
+æ°æ®éïŒä»¥åè¯¥å
+æ°æ®éäž­çå¹é
+çå
+æ°æ®å
+çŽ ãç³»ç»å°èªåšäžºæ°å
+æ°æ®éæ©ææ¥è¿çå
+æ°æ®éåå
+çŽ ã</Text>
+<Text id="108">åšæ£æ¥æ å°ä¹åïŒå¯éæ©"æ·»å "æ¥å¢å æ°çå
+æ°æ®å
+çŽ å°æéå
+æ°æ®ç»ã(è¿åªåšåœåæééäž­äžå­åšååå
+çŽ çæ
+åµäžå¯çš)"åå¹¶"å°æ°å
+çŽ æ å°å°çšæ·æéæ©çå
+çŽ äžãæåïŒ"å¿œç¥"æ¯æäžå¯Œå
+¥ä»»äœæè¯¥å
+çŽ åçå
+æ°æ®ãåšæå®åŠäœå¯Œå
+¥å
+æ°æ®ä¹åïŒè¯¥æ å°ä¿¡æ¯å°äžçŽä¿å­åšè¯¥éŠèäž­ã</Text>
+<Text id="109">æŽå€å
+³äºGreenstoneçšæ¥åšå­å
+æ°æ®çmetadata.xmlæä»¶çè¯Šç»èµæïŒå¯åè§GreenstoneåŒåè
+æåçç¬¬äºç« ã</Text>
+</Section>
+</Section>
+<Section name="designingacollection">
+<Title>
+<Text id="110">é
+çœ®éŠè</Text>
+</Title>
+<Text id="111">åšæä»¶çšå
+æ°æ®æ è®°ä¹åïŒäžäžæ­¥èŠå³å®çæ¯è¿äºææ¡£åºåŠäœè¢«æç»çšæ·è®¿é®ãåªç§ç±»åçä¿¡æ¯æ¯å¯æçŽ¢çïŒæäŸä»ä¹æ¹æ³æ¥æµè§è¿äºææ¡£ïŒè¿äºéœæ¯å¯å®å¶çïŒè¿éšåæè¿°åŠäœåè¿äºå®å¶ã</Text>
+<Section name="thedesignview">
+<Title>
+<Text id="112">è®Ÿè®¡è§åŸ</Text>
+</Title>
+<Text id="113">è¿éšåä»ç»è®Ÿè®¡è§åŸå¹¶è§£éåŠäœåšå
+¶äž­çå€äžªéšåä¹éŽè¿è¡æçºµã</Text>
+<Text id="114">çšåŸä¹ŠéŠåçé¢ïŒå¯ä»¥é
+çœ®åŠäœå€çææ¡£ïŒä»¥åæ¬éŠèè¯¥åŠäœè¢«çšæ·è®¿é®ãé
+çœ®éé¡¹äŒè¢«åæäžåçéšä»œïŒæ¯éšåéœäžå®å¶éŠèè¿çšäž­çç¹å®é¶æ®µçžå
+³èã</Text>
+<Text id="115">å·ŠäŸ§æ¯åæäžååæ°çåè¡šïŒå³èŸ¹åæ¯äžåœååæ°å¯¹åºçæ§ä»¶ãåšåè¡šäž­ç¹å»åæ°çåå­å¯èœ¬æ¢å°äžåçåæ°ã</Text>
+<Text id="116">åŠèŠäºè§£è®Ÿè®¡éŠèè¿çšææ¶åçé¶æ®µåæ¡ä»¶ïŒè¯·é
+è¯»GreenstoneåŒåè
+æåçç¬¬äžç« åç¬¬äºç« ã</Text>
+</Section>
+<Section name="plugins">
+<Title>
+<Text id="121">ææ¡£æä»¶</Text>
+</Title>
+<Text id="122">è¿éšä»œæè¿°åŠäœé
+çœ®éŠèäž­äœ¿çšçææ¡£æä»¶ãå®è§£éåŠäœæå®æèŠäœ¿çšçæä»¶ïŒäŒ éç»è¿äºæä»¶çåæ°ïŒä»¥åæä»¶ä»¥ä»ä¹é¡ºåºåºç°ãåš"è®Ÿè®¡"æ ç­Ÿäžé¢ç¹å»"ææ¡£æä»¶"ã</Text>
+<Text id="123">è¥æ·»å äžäžªæä»¶ïŒåšæ¥è¿åºéšçâéæ©èŠæ·»å çæä»¶âäžæåè¡šäž­éäž­è¯¥æä»¶ïŒç¶åç¹å»"æ·»å æä»¶"ãè¿å°åŒ¹åºäžäžªåäžº"é
+çœ®åæ°"ççªå£ïŒæä»¬å°åšçšåæè¿°è¯¥çªå£ãåšé
+çœ®å®æ°æä»¶ä¹åïŒå®äŒè¢«æ·»å å°"æå®çæä»¶"åè¡šçæ«ç«¯ãéåžžæ
+åµäžïŒæ¯äžªæä»¶éœåªåºç°äžæ¬¡ãç¶èïŒäœ å¯ä»¥æ·»å å€äžªçžåçæä»¶ãåšè¿ç§æ
+åµäžïŒäžè¬äŒå¯¹å€äžªåäžæä»¶çå®äŸè¿è¡äžåçé
+çœ®ïŒæ¯åŠéè¿è®Ÿçœ®process_expåæ°ïŒåè§http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/enhanced_pdf.htmïŒã</Text>
+<Text id="123aa">åŠèŠæ¥çäžäžªæä»¶çç®ç­æè¿°ïŒåš"éæ©æ·»å çæä»¶"äžæåè¡šéäž­è¯¥æä»¶ïŒç¶åå°éŒ æ åçåšè¯¥æä»¶ä¹äžãå°äŒåºç°äžäžªæŸç€ºæè¿°ä¿¡æ¯çæç€ºã</Text>
+<Text id="124">èŠå é€äžäžªæä»¶ïŒåšåè¡šäž­éæ©å®å¹¶ç¹å»"å é€æä»¶"ã</Text>
+<Text id="125">æä»¶ç±æäŸçåæ°æé
+çœ®ãåŠèŠæŽæ¹åæ°ïŒåšåè¡šäž­éäž­è¯¥æä»¶å¹¶ç¹å»"é
+çœ®æä»¶"(æè
+åå»è¯¥æä»¶)ãå°åºç°äžäžªåžŠæçšäºé
+çœ®åæ°çåç§æ§ä»¶ç"é
+çœ®åæ°"å¯¹è¯æ¡ã</Text>
+<Text id="126">æ§ä»¶çç±»åæåŸå€ç§ãæäºæ¯éæ©æ¡ïŒç¹å»å®å°éåœçéé¡¹æ·»å å°æä»¶äž­ãå
+¶ä»æ§ä»¶åæ¯ææ¬å­äž²ïŒå
+æ¬äžäžªéæ©æ¡åææ¬å­æ®µãç¹å»éæ©æ¡ä»¥äœ¿çšè¯¥åæ°ïŒç¶ååšææ¬å­æ®µäž­èŸå
+¥åéçææ¬(æ­£åè¡šèŸŸåŒïŒæä»¶è·¯åŸç­)ãè¿æå
+¶ä»æ§ä»¶æ¯äžæèåïŒå¯ä»¥ä»ååºçäžç»åŒäž­è¿è¡éæ©ãäžºäºäºè§£åæ°çå«ä¹ïŒå°éŒ æ çœ®äºåæ°åä¹äžç¶ååçäžäŒïŒè¿å°æŸç€ºå
+¶æè¿°ä¿¡æ¯ã</Text>
+<Text id="127">åœä¿®æ¹å®é
+çœ®ä¹åïŒç¹å»"ç¡®å®"æ¥æäº€ä¿®æ¹åå
+³é­å¯¹è¯æ¡ïŒæç¹å»"åæ¶"å
+³é­å¯¹è¯æ¡èäžæ¹åä»»äœæä»¶åæ°ã</Text>
+<Text id="128">åè¡šäž­çæä»¶å°è¢«é¡ºåºæ§è¡ïŒè¿äžªé¡ºåºåšæäºæ¶åæ¯åŸéèŠçãéäž­åè¡šäž­çäžäžªæä»¶ïŒ çš<AutoText key="glidict::CDM.Move.Move_Up"/>å<AutoText key="glidict::CDM.Move.Move_Down"/>æé®æ¥æ¹åå
+¶åšåè¡šäž­çäœçœ®ã</Text>
+</Section>
+<Section name="searchindexes">
+<Title>
+<Text id="134">æçŽ¢çŽ¢åŒ</Text>
+</Title>
+<Text id="si-1">çŽ¢åŒæå®éŠèäž­å¯è¢«æçŽ¢çéšåãè¿éšåè§£éåŠäœæ·»å åå é€çŽ¢åŒïŒä»¥åè®Ÿçœ®é»è®€ççŽ¢åŒãåš<AutoText key="glidict::GUI.Design"/>æ ç­ŸäžïŒç¹å»<AutoText key="glidict::CDM.GUI.Indexes"/>ã</Text>
+<Text id="si-2">åš<AutoText key="glidict::CDM.GUI.Indexes"/>çå³äžæ¹æŸç€ºåœåéŠèæäœ¿çšççŽ¢åŒãè¿å¯éè¿ç¹å»<AutoText key="glidict::CDM.BuildTypeManager.Change"/>æŽæ¹ãåŒ¹åºççªå£å°æŸç€ºå¯äŸéæ©çåè¡šïŒMGïŒMGPPä»¥åLuceneãæ¹åçŽ¢åŒå°åœ±åçŽ¢åŒçæå»ºè¿çšä»¥åæçŽ¢åèœã</Text>
+<Text id="si-2a"><AutoText key="glidict::CDM.IndexManager.Indexes"/>ååºäºåœåéŠèææå®ççŽ¢åŒã</Text>
+<Text id="si-3">ç¹å»<AutoText key="glidict::CDM.IndexManager.New_Index"/>å¯æ·»å äžäžªçŽ¢åŒãå
+¶åŒ¹åºçªå£å°æŸç€ºçŽ¢åŒæºåè¡šïŒå
+æ¬ææ¬åå
+æ°æ®ãéæ©æ³èŠçŽ¢åŒçæ°æ®æºã<AutoText key="glidict::CDM.IndexManager.Select_All"/>å<AutoText key="glidict::CDM.IndexManager.Select_None"/>å°å
+šéåè¡šé¡¹ååæ¶åœåæéåè¡šé¡¹ãåšå®ä¹å¥œäžäžªæ°çŽ¢åŒåïŒç¹å»<AutoText key="glidict::CDM.IndexManager.Add_Index"/>å°å
+¶æ·»å å°éŠèäž­ãåªæåšæ°çŽ¢åŒçé
+çœ®å¹¶äžå­åšäºè¯¥éŠèçæ
+åµäžïŒ<AutoText key="glidict::CDM.IndexManager.Add_Index"/>æé®ææ¯å¯çšçã</Text>
+<Text id="s1-3a">å¯¹MGçŽ¢åŒïŒè¿éèŠæå®çŽ¢åŒçç²åºŠïŒè¿çš<AutoText key="glidict::CDM.IndexManager.Level"/>èåå®æã</Text>
+<Text id="si-4">å¯¹MGPPåLuceneçŽ¢åŒèèšïŒçŽ¢åŒç²åºŠæ¯éå¯¹å
+šå±è®Ÿå®çïŒèééå¯¹çŽ¢åŒè®Ÿå®ãå¯éççŽ¢åŒçº§å«åš<AutoText key="glidict::CDM.GUI.Indexes"/>äž»çé¢äž­æŸç€ºïŒéäž­å
+¶éæ©æ¡å¯å°å
+¶æ·»å å°éŠèäž­ã</Text>
+<Text id="si-5">MGPPåLuceneçŽ¢åŒæ¯æäžç§ç¹å«ççŽ¢åŒïŒ"allfileds"çŽ¢åŒïŒè¯¥çŽ¢åŒå°æäŸå¯¹ææå·²æå®çŽ¢åŒçç»åæçŽ¢ïŒèäžéèŠåç¬è®Ÿçœ®äžäžªå
+å«ææçŽ¢åŒæºççŽ¢åŒãåŠèŠæ·»å è¿äžªçŽ¢åŒïŒéäž­<AutoText key="glidict::CDM.IndexManager.Allfields_Index"/>éæ©æ¡åç¹å»<AutoText key="glidict::CDM.IndexManager.Add_Index"/>ã</Text>
+<Text id="si-6">MGPPåLuceneçŽ¢åŒè¿æäžäžª<AutoText key="glidict::CDM.IndexManager.Add_All"/>æé®ïŒè¯¥æé®æäŸäºå°ææå
+æ°æ®åææ¬æ°æ®æºäœäžºåäžªçŽ¢åŒçå¿«æ·æ¹åŒã</Text>
+<Text id="si-7">éäž­äžäžªçŽ¢åŒå¹¶ç¹å»<AutoText key="glidict::CDM.IndexManager.Edit_Index"/>å³å¯å¯¹å
+¶è¿è¡çŒèŸãè¿å°æŸç€ºäžäžªäž<AutoText key="glidict::CDM.IndexManager.New_Index"/>ç±»äŒŒçå¯¹è¯æ¡</Text>
+<Text id="si-8">ä»æå®ççŽ¢åŒåè¡šäž­éäž­äžäžªçŽ¢åŒå¹¶ç¹å»<AutoText key="glidict::CDM.IndexManager.Remove_Index"/>å³å¯å é€è¯¥çŽ¢åŒã</Text>
+<Text id="si-9">çŽ¢åŒåšæå®ççŽ¢åŒåè¡šäž­çæŸç€ºé¡ºåºå°±æ¯å
+¶åšæçŽ¢é¡µé¢äžæåè¡šäž­çæŸç€ºé¡ºåºãäœ¿çš<AutoText key="glidict::CDM.Move.Move_Up"/>å<AutoText key="glidict::CDM.Move.Move_Down"/>æé®æ¥æ¹åè¿äžªé¡ºåºã</Text>
+<Text id="si-10">åšæçŽ¢é¡µé¢äžé»è®€è¢«éäž­ççŽ¢åŒæäžº"é»è®€çŽ¢åŒ"ãèŠè®Ÿçœ®é»è®€çŽ¢åŒïŒä»åè¡šäž­éæ©äžäžªçŽ¢åŒå¹¶ç¹å»"è®Ÿçœ®äžºé»è®€"ãé»è®€çŽ¢åŒåš"æå®ççŽ¢åŒ"åè¡šäž­å°æ[é»è®€çŽ¢åŒ]çæ ç­ŸãåŠææ²¡æè®Ÿçœ®é»è®€çŽ¢åŒïŒååè¡šäž­çç¬¬äžäžªå°è¢«çšäœé»è®€çŽ¢åŒã</Text>
+<Text id="si-11">æçŽ¢é¡µé¢äž­çŽ¢åŒäžæåè¡šäž­çåç§°å¯åš<AutoText key="glidict::GUI.Format"/>è§åŸç<AutoText key="glidict::CDM.GUI.SearchMetadata"/>éšåè®Ÿçœ®ïŒåè§<Reference target="searchmetadatasettings"/>ïŒã</Text>
+<Section name="searchindexoptions">
+<Title>
+<Text id="sio-1">æ£çŽ¢çŽ¢åŒéé¡¹</Text>
+</Title>
+<Text id="sio-2">å
+¶ä»åæ°ä¹æ§å¶çŽ¢åŒçåå»ºæ¹åŒãè¿äºéé¡¹å¯¹æäžªç¹å®çŽ¢åŒå¯èœå¹¶äžäœ¿çšïŒåšè¿ç§æ
+åµäžïŒè¿äºéé¡¹å°åç°è²æŸç€ºã</Text>
+<Text id="sio-3">MGäžMGPPçŽ¢åŒå¯è®Ÿçœ®æ¯åŠäœ¿çšè¯æ ¹äžå€§å°åäžæææ£çŽ¢ãåŠæéæ©äœ¿çšïŒå°åå»ºè¯æ ¹åå€§å°åäžææççŽ¢åŒïŒèçšæ·å°å¯åšæçŽ¢äž­è®Ÿçœ®æ¯åŠäœ¿çšå€§å°åäžææäžè¯æ ¹æ£çŽ¢ãåŠæéæ©äžäœ¿çšïŒæ£çŽ¢å°åºåå€§å°åå¹¶äžäžæ¯æè¯æ ¹æ£çŽ¢ïŒèäžéŠèçåå¥œé¡µé¢ä¹äžäŒæŸç€ºè¿äºéé¡¹ã</Text>
+<Text id="sio-4">MGPPçŽ¢åŒæ¯æäžåºåéé³ç¬Šå·çæ£çŽ¢ãè¿äžäžåºåå€§å°åçæçŽ¢ç±»äŒŒïŒåä»£å¹é
+å€§å°åå­æ¯çæ¯æ¯åŠå¹é
+åé³ç¬Šå·ãLuceneçŽ¢åŒçŒºçæ¯äžåºåå€§å°åçïŒäœäžæäŸéé¡¹æ¥éæ©æ¯åŠåšéŠèçåå¥œé¡µé¢æŸç€ºè¿äºéé¡¹ã</Text>
+<Text id="sio-5">äž­æãæ¥æåé©æéåžžéœæ²¡æè¢«åè¯ãç±äºçŽ¢åŒäŸèµäºææ¬äž­çæ­€éŽç©ºæ ŒïŒè¿æå³çè¿äºè¯­èšçŽ¢åŒå°æ¯äžå¯æ£çŽ¢çãè®Ÿçœ®<AutoText key="glidict::CDM.IndexingManager.Separate_cjk"/>éé¡¹å°åšæ¯äžªäž­æ/æ¥æ/é©æå­ç¬Šä¹éŽä»¥åæ£çŽ¢è¯ä¹éŽæ·»å ç©ºæ ŒïŒä»¥äŸ¿å®ç°å­ç¬Šçº§çæ£çŽ¢ã</Text>
+</Section>
+</Section>
+<Section name="partitionindexes">
+<Title>
+<Text id="143">ååºçŽ¢åŒ</Text>
+</Title>
+<Text id="144">çŽ¢åŒæ¯è¢«å»ºç«åšç¹å«çææ¬æè
+æºå
+æ°æ®äžçãé£æçŽ¢ç©ºéŽå¯ä»¥æŽè¿äžæ­¥å°éè¿ååºçŽ¢åŒæ¥æ§å¶ïŒä¹å¯ä»¥éè¿è¯­ç§æè
+äžäžªé¢å
+ç¡®å®çè¿æ»€åšãè¿äžªéšä»œæè¿°äºåŠäœå¯ä»¥åå°è¿äºãåš"è®Ÿè®¡"æ ç­ŸäžïŒç¹å»"ååºçŽ¢åŒ"ã</Text>
+<Text id="145">"ååºçŽ¢åŒ"é¢è§å
+±æäžäžªæ ç­ŸïŒ"å®ä¹è¿æ»€åš"ïŒ"æå®ååº"å"æå®è¯­ç§"ãæŽå€å
+³äºååºçè¯Šç»èµæå¯é
+è¯»GreenstoneåŒåè
+æåç¬¬äºç« éçå­éŠèåå­çŽ¢åŒç« èã</Text>
+<Text id="146">è¯·æ³šæïŒå¯¹äºMGéŠèèèšïŒæçæçååºæ»æ°æ¯ææçŽ¢åŒãå­éŠèè¿æ»€åšåæéæ©è¯­ç§çåå¹¶ãåžŠæäž€ç§è¯­ç§çäž€äžªå­éŠèè¿æ»€åšççŽ¢åŒäŒçæå
+«äžªçŽ¢åŒååºãå¯¹äºMGPPæ¥è¯ŽïŒææççŽ¢åŒéœåšäžäžªç©ççŽ¢åŒäž­ïŒ æä»¥æ­€æ¶åªæåäžªçŽ¢åŒååºãå¯¹äºLuceneæ¥è¯ŽïŒç©ççŽ¢åŒçæ°éæ¯æ ¹æ®éŠèæå®ççº§å«æ°éå³å®çïŒæ¯äžªçº§å«çæäžäžªçŽ¢åŒãå æ­€å¯¹äºäžè¿°æ
+åµïŒè¥åªæäžäžªçº§å«å°çæåäžªç©ççŽ¢åŒïŒèè¥æäž€äžªçº§å«å°çæå
+«äžªç©ççŽ¢åŒã</Text>
+<Section name="definefilters">
+<Title>
+<Text id="147">å®ä¹è¿æ»€åš</Text>
+</Title>
+<Text id="148">è¿æ»€åšå¯ä»¥å
+è®žèéäžèµ·å°äžäžªæææä»¶éœåšäžäžªå¯¹å
+æ°æ®åŒè·ç¹å®çåŒæ ·å¹é
+ççŽ¢åŒçå­éŠèã</Text>
+<Text id="149">åå»ºäžäžªæ°çè¿æ»€åšïŒç¹å»"å®ä¹è¿æ»€åš"æ ç­Ÿå¹¶åš"å­éŠèè¿æ»€åšå"å­æ®µäž­èŸå
+¥æ°è¿æ»€åšçåç§°ãæ¥äžæ¥éæ©çšäºå¹é
+çææ¡£å±æ§ïŒæ¯åŠäžäžªå
+æ°æ®å
+çŽ æè
+èŠè¿æ»€çææ¡£çåç§°ãèŸå
+¥çšäºå¹é
+çæ­£åè¡šèŸŸåŒãå¯ä»¥éæ©"å
+å«"æè
+"æé€"è¿æ»€åšå¹é
+å°çææ¡£ãè¿å¯åšå¹é
+äž­äœ¿çšä»»äœæ åPERLæ­£åè¡šèŸŸåŒæ ç­Ÿ (æ¯åŠïŒ"i"çšäºäžåºåå€§å°åçå¹é
+)ãæåïŒç¹å»"æ·»å è¿æ»€åš"å°æ°è¿æ»€åšæ·»å å°"çŒºçå­éŠèè¿æ»€åš"åè¡šäž­ã</Text>
+<Text id="150">å é€äžäžªè¿æ»€åšïŒåšåè¡šäž­éäž­å®å¹¶ç¹å»"å é€è¿æ»€åš"ã</Text>
+<Text id="151">ä¿®æ¹äžäžªè¿æ»€åšïŒåšåè¡šäž­éäž­å®ïŒæŽæ¹åºç°åšçŒèŸæ§å¶éçä»»äœåŒïŒç¶åç¹å»"æ¿æ¢è¿æ»€åš"æ¥æäº€æŽæ¹ã</Text>
+<Text id="151a">å®ä¹è¿æ»€åšå¹¶äžäŒèªåšåå»ºå­éŠèãå­éŠèåºåš<AutoText key="glidict::CDM.SubcollectionManager.Subindex_Controls"/>äž­æå®ïŒäžåºäºæå®ä¹çè¿æ»€åšã</Text>
+</Section>
+<Section name="assignpartitions">
+<Title>
+<Text id="152">æå®ååº</Text>
+</Title>
+<Text id="153">åšå®ä¹äºäžäžªæå€äžªå­éŠèè¿æ»€åšä¹åïŒäœ¿çš"æå®ååº"æ ç­Ÿæ¥äžºè¯¥è¿æ»€åš(æäžç»è¿æ»€åš)å»ºç«çŽ¢åŒãåš"å·²å®ä¹çå­éŠèè¿æ»€åš"åè¡šäž­éäž­äžäžªæå€äžªè¿æ»€åšå¹¶ç¹å»"æ·»å ååº"ãæ¯äžªæå®çååºå°äº§çäžäžªå­éŠèïŒè¯¥å­éŠèæå
+å«çææ¡£äžä»»äžéå±äºè¯¥ååºçè¿æ»€åšçžå¹é
+ã</Text>
+<Text id="154a">æŽæ¹äžäžªååºïŒä»åè¡šäž­éäž­è¯¥ååºïŒæŽæ¹å
+¶è¿æ»€åšå¹¶ç¹å»<AutoText key="glidict::CDM.SubcollectionIndexManager.Replace_Subindex"/>ã</Text>
+<Text id="154">å é€äžäžªååºïŒä»åè¡šäž­éäž­è¯¥ååºå¹¶ç¹å»"å é€ååº"ã</Text>
+<Text id="154b">ååºåšå·²å®ä¹ååºåè¡šäž­çæŸç€ºé¡ºåºå°±æ¯ååºåšæçŽ¢é¡µé¢äžæèåäž­çæŸç€ºé¡ºåºãäœ¿çš<AutoText key="glidict::CDM.Move.Move_Up"/>å<AutoText key="glidict::CDM.Move.Move_Down"/>æé®æ¥æŽæ¹é¡ºåºã</Text>
+<Text id="155">è®Ÿçœ®äžäžªååºäžºé»è®€ååºïŒä»åè¡šäž­éäž­è¯¥ååºå¹¶ç¹å»<AutoText key="glidict::CDM.SubcollectionIndexManager.Set_Default_Subindex"/>ã</Text>
+<Text id="155a">ååºåšæçŽ¢é¡µé¢äžæåè¡šäž­çæŸç€ºåç§°å¯åš<AutoText key="glidict::GUI.Format"/>çé¢ç<AutoText key="glidict::CDM.GUI.SearchMetadata"/>éšåè¿è¡è®Ÿçœ®(åè§<Reference target="searchmetadatasettings"/>)ã</Text>
+</Section>
+<Section name="assignlanguages">
+<Title>
+<Text id="156">æå®è¯­ç§</Text>
+</Title>
+<Text id="157">æ¬èè¯Šç»ä»ç»åŠäœå°çŽ¢åŒéå¶åšæå®è¯­ç§äž­ãè¿éè¿åšâååºçŽ¢åŒâè§åŸäž­çâæå®è¯­ç§âæ ç­Ÿäž­åå»ºäžäžªååºæ¥å®æã</Text>
+<Text id="157-1">è¯­ç§ååºçšå
+æ°æ®å³å®åªäºææ¡£åºå±äºåªäžªè¯­ç§çååºãGreenstonäŒäžºå€æ°ææ¡£çæâex.Languageâå
+æ°æ®ïŒè¿æ¯çŒºçäœ¿çšçå
+æ°æ®ãç¶èïŒéè¿è®Ÿçœ®<AutoText key="glidict::CDM.LanguageManager.LanguageMetadata"/>å¯ä»¥æŽæ¹å
+æ°æ®å
+çŽ ã</Text>
+<Text id="158">è¥èŠåå»ºäžäžªæ°è¯­ç§ååºïŒä»"æ·»å è¯­ç§"åè¡šäž­éæ©äžäžªæå€äžªè¯­ç§ïŒç¶åç¹å»"æ·»å ååº"ã</Text>
+<Text id="158a">æŽæ¹å·²åå»ºçååºïŒåš"æå®è¯­ç§ååº"åè¡šäž­éäž­è¯¥ååºïŒåšäžé¢ç"æ·»å è¯­ç§"åè¡šäž­ä¿®æ¹æéæ©çè¯­ç§ïŒç¶åç¹å»"æ¿æ¢ååº"ã</Text>
+<Text id="159">å é€äžäžªè¯­ç§ååºïŒä»"æå®è¯­ç§ååº"åè¡šäž­éäž­è¯¥ååºïŒç¶åç¹å»"å é€ååº"ã</Text>
+<Text id="159a">è¯­ç§ååºåš"å·²å®ä¹çååº"åè¡šäž­çæŸç€ºé¡ºåºå°±æ¯åšæçŽ¢é¡µé¢äžæèåäž­çæŸç€ºé¡ºåºãäœ¿çš<AutoText key="glidict::CDM.Move.Move_Up"/>å<AutoText key="glidict::CDM.Move.Move_Down"/>æé®æ¥æŽæ¹é¡ºåºã</Text>
+<Text id="160">è®Ÿå®é»è®€çè¯­ç§ååºïŒä»åè¡šäž­éäž­è¯¥ååºå¹¶ç¹å»"è®Ÿçœ®äžºé»è®€"ã</Text>
+<Text id="160a">è¯­ç§ååºåšæçŽ¢é¡µé¢äžæåè¡šäž­çæŸç€ºåç§°å¯åš<AutoText key="glidict::GUI.Format"/>çé¢ç<AutoText key="glidict::CDM.GUI.SearchMetadata"/>éšåè¿è¡è®Ÿçœ®(åè§<Reference target="searchmetadatasettings"/>)ã</Text>
+</Section>
+</Section>
+<Section name="classifiers">
+<Title>
+<Text id="166">æµè§åç±»åš</Text>
+</Title>
+<Text id="167">è¿éšåä»ç»åŠäœæå®åç±»åšïŒè¿äºåç±»åšå°çšäºæµè§éŠèãåš"è®Ÿè®¡"æ ç­ŸäžïŒç¹å»"æµè§åç±»åš"ã</Text>
+<Text id="168">åå»ºäžäžªæ°çåç±»åšïŒåšé è¿åºéšç"éæ©æ·»å åç±»åš"äžæåè¡šäž­éäž­åç±»åšïŒå¹¶ç¹å»"æ·»å åç±»åš"ãè¿å°æŸç€ºäžäžªåäžº"é
+çœ®åæ°"ççªå£ïŒå
+³äºè¿äžªçªå£çè¯Žæäžæä»¶çè¯Žæäžæ ·(åè§<Reference target="plugins"/>)ãäžæŠæ°æµè§åšé
+çœ®å¥œä¹åïŒå®å°è¢«æ·»å å°"æå®çåç±»åš"åè¡šçæ«å°Ÿã</Text>
+<Text id="168a">äžºé
+è¯»äžäžªåç±»åšçç®ç­æè¿°ïŒåš"éæ©æ·»å åç±»åš"äžæåè¡šäž­éäž­è¯¥åç±»åšïŒç¶åå°éŒ æ åçåšå®ä¹äžãè¿å°æŸç€ºäžäžªæç€ºä¿¡æ¯ã</Text>
+<Text id="168b">æ¯äžªåç±»åšæè¥å¹²å¯é
+çœ®çåæ°ãéèŠçåæ°å
+æ¬"å
+æ°æ®"ïŒå®å°æå®çšäºåç±»ææ¡£çå
+æ°æ®ïŒä»¥å"æé®åç§°"ïŒå³è¯¥åç±»åšåšæµè§æ¡äž­çæŸç€ºåç§°ã</Text>
+<Text id="169">å é€äžäžªåç±»åšïŒä»åè¡šäž­éäž­è¯¥åç±»åšå¹¶ç¹å»"å é€åç±»åš"ã</Text>
+<Text id="170">æŽæ¹äžäžªåç±»åšçåæ°ïŒä»åè¡šäž­éäž­è¯¥åç±»åšå¹¶ç¹å»"é
+çœ®åç±»åš"(æè
+åšåè¡šäž­åå»åç±»åš)ã</Text>
+<Text id="171">åç±»åšåšè¿éçé¡ºåºåæ äºå®ä»¬æŸç€ºåšéŠèçæµè§æ¡äž­çé¡ºåºãèŠæŽæ¹é¡ºåºïŒéäž­èŠæ¹åçåç±»åšç¶åç¹å»<AutoText key="glidict::CDM.Move.Move_Up"/>æ<AutoText key="glidict::CDM.Move.Move_Down"/>ã</Text>
+<Text id="172">æŽå€å
+³äºåç±»åšçä¿¡æ¯è¯·åé
+GreenstoneåŒåè
+æåçç¬¬äºç« ã</Text>
+</Section>
+</Section>
+<Section name="producingthecollection">
+<Title>
+<Text id="193">å¶é éŠèäž­</Text>
+</Title>
+<Text id="194">åšæ¶ééŠèçææ¡£ïŒå¯¹è¿äºææ¡£è¿è¡å
+æ°æ®æ æ³šïŒå¹¶è®Ÿè®¡å¥œéŠèçå€è§ä¹åïŒç°åšå¯ä»¥çšGreenstoneæ¥å¶é è¿äžªéŠèäºãè¿éšåå°è§£éåŠäœå¶é éŠèã</Text>
+<Section name="thecreateview">
+<Title>
+<Text id="195">åå»ºè§åŸ</Text>
+</Title>
+<Text id="196">åå»ºè§åŸçšäºåå»ºéŠèïŒè¿æ¯éè¿åšææäŸçä¿¡æ¯ä¹äžïŒæ§è¡Greenstoneæå»ºéŠèçèæ¬å®æçãç¹å»"åå»º"æ ç­Ÿè®¿é®"åå»º"è§åŸã</Text>
+<Text id="196a">ç¹å»"æå»ºéŠè"å¯åšæå»ºéŠèè¿çšãæéçæ¶éŽåå³äºéŠèçå€§å°ä»¥ååå»ºççŽ¢åŒçæ°ç®(å¯¹ç¹å€§çéŠèèèšå¯èœéèŠæ°å°æ¶)ãè¿åºŠæ¡å°æŸç€ºå·²ç»å®æçéšåãåšä»»äœæ¶ååæ¶æå»ºè¿çšïŒç¹å»"åæ¶æå»º"ãæ­€çé¢çäžé¢éšåæŸç€ºæå»ºè¿çšçäžäºèŸåºä¿¡æ¯ãäžé¢éšåæŸç€ºçšäºæ§å¶æå»ºè¿çšçéé¡¹ã</Text>
+<Text id="197">äžæŠæåæå»ºäºäžäžªéŠèïŒç¹å»"é¢è§éŠè"å°å¯åšçœç»æµè§åšå¹¶æŸç€ºè¯¥éŠèçäž»é¡µã</Text>
+</Section>
+<Section name="builderrors">
+<Title>
+<Text id="199a">åå»ºéŠèè¿çšäž­çéè¯¯</Text>
+</Title>
+<Text id="199b">ææ¶åå»ºéŠèçè¿çšäŒåºç°éè¯¯ãä¹è®žæäºææ¡£äžèœè¢«å€çïŒè¿æå³çéŠèäž­çå
+¶äœéšåèœé¡ºå©æå»ºïŒäžå¯é¢è§ïŒäœäŒå°äºæäºææ¡£ãæè
+æŽäžªéŠèéœäžèœè¢«æ­£ç¡®æå»ºïŒæ­€æ¶å°æŸç€ºè¿æ ·äžæ¡ä¿¡æ¯ïŒ<AutoText key="glidict::CollectionManager.Cannot_Create_Collection"/>åšè¿ç§æ
+åµäžïŒå°GLIèœ¬æ¢å°äžå®¶æš¡åŒïŒæä»¶->åæ°éæ©->æš¡åŒïŒåé
+<Reference target="preferences"/>ïŒå¯èœäŒæåž®å©ïŒå°å¯Œå
+¥åæå»ºéé¡¹ç"verbosity"åæ°è®Ÿäžº5ïŒç¶åéæ°æå»ºïŒæ£æ¥æ¯åŠæå
+¶ä»éè¯¯ä¿¡æ¯ã</Text>
+</Section>
+<Section name="expertbuilding">
+<Title>
+<Text id="198a">äžå®¶æš¡åŒäžçåå»ºè§åŸ</Text>
+</Title>
+<Text id="198">åšäžå®¶æš¡åŒäžïŒå¯äœ¿çšå·ŠäŸ§ç"æ¶æ¯æ¥å¿"æ¥æ¥çä¹åçåå»ºè¿çšïŒäžè®ºè¯¥è¿çšæ¯æåäºæå€±èŽ¥äºãåš"æ¥å¿åå²"åè¡šäž­ïŒéäž­æå®çæ¥ææ¥éæ©èŠæ¥ççæ¥å¿ã</Text>
+<Text id="200a">åšæ­€æš¡åŒäžïŒåšå¯Œå
+¥åæå»ºæ ç­Ÿçå·ŠäŸ§å°æŸç€ºäžäžªå®æŽçå¯Œå
+¥åæå»ºéé¡¹åè¡šãè¿äºè®Ÿçœ®äž<Reference target="plugins"/>äž­ç"é
+çœ®åæ°"çªå£ç±»äŒŒãæäºå­æ®µèŠæ±æ°åŒåæ°ïŒå¯ä»¥èŸå
+¥æè
+çšç®­å€Žæ¥å¢å æåå°åœååŒ(åšæäºæ
+åµäžïŒèœèŸå
+¥çæ°åŒèåŽæ¯æéå¶ç)ãå
+¶ä»åæ°å¯éè¿éäž­éæ©æ¡æ§å¶(åæ¶éæ©å¯çŠçšè¯¥åæ°)ã</Text>
+<Text id="201a">æŽå€å
+³äºå¯Œå
+¥åæå»ºçå
+å®¹è¯·é
+è¯»GreenstoneåŒåè
+æåçç¬¬äžç« --çè§£æå»ºéŠèçè¿çšã</Text>
+</Section>
+<Section name="scheduledbuilding">
+<Title>
+<Text id="sched-1">è®¡åéŠèéå»ºæ¥çš</Text>
+</Title>
+<Text id="sched-2">è®¡åéŠèéå»ºæ¥çšåšäžå®¶æš¡åŒäžå¯çšãåšäœ¿çšè¯¥åèœä¹åå¿
+é¡»è¿è¡äžäºè®Ÿçœ®ïŒå
+·äœä¿¡æ¯è¯·åè§http://wiki.greenstone.org/wiki/index.php/Scheduled_Collection_Building_from_the_Librarian_Interfaceãåå»ºçé¢å·ŠäŸ§ç<AutoText key="glidict::CreatePane.Schedule"/>æ ç­ŸæŸç€ºæ§å¶è®¡åè¿çšçåæ°åè¡šãâè®¡åæ¥çšâéé¡¹å¿
+é¡»éäž­æå¯äœ¿è®¡åçæãå
+¶ä»éé¡¹æ§å¶éå»ºçé¢çïŒåœåçè®¡åäžºæ°è®¡åæè
+æ¯å¯¹ç°æè®¡åçæŽæ°ïŒä»¥åemailä¿¡æ¯ïŒåŠæäœ æ³è·åŸemailéç¥ã</Text>
+</Section>
+</Section>
+<Section name="formattingacollection">
+<Title>
+<Text id="fc-1">å®å¶éŠèçå€è§</Text>
+</Title>
+<Text id="fc-2">åšæå»ºéŠèä¹åïŒäžäžæ­¥éèŠå³å®éŠèå°åŠäœåç°ç»çšæ·ãåšæçŽ¢è¡šåççŽ¢åŒäžæåè¡šäž­åºäœ¿çšåªäºåç§°ïŒåŠäœåç°æçŽ¢ç»æïŒåšæ¥çææ¡£æ¶åºæŸç€ºåªäºå
+æ°æ®ïŒè¿äºéœå¯è¢«å®å¶ïŒè¿éšåå°è§£éåŠäœå®å¶ã</Text>
+<Section name="theformatview">
+<Title>
+<Text id="fc-3">æ ŒåŒè§åŸ</Text>
+</Title>
+<Text id="fc-4">è¿éšåä»ç»æ ŒåŒåè§åŸã</Text>
+<Text id="fc-5">çšåŸä¹ŠéŠåçé¢å¯ä»¥å®å¶éŠèåç°ç»çšæ·çå€è§ãè¿äºé
+çœ®éé¡¹è¢«åæå€äžªéšåïŒæ¯éšåéœäžäžåç±»åçå®å¶çžå
+³èã</Text>
+<Text id="fc-6">å·ŠäŸ§æ¯åæ°åè¡šïŒå³äŸ§åæ¯äžåœååæ°å¯¹åºçæ§ä»¶ãåŠèŠåæ¢å°äžåçåæ°äž­ïŒåšåè¡šäž­ç¹å»è¯¥åæ°çåç§°ã</Text>
+<Text id="fc-7">åšåæ°åè¡šä¹äžæ¯"é¢è§éŠè"æé®ãæ ŒåŒè§åŸäž­çæŽæ¹äžéèŠéæ°æå»ºéŠèïŒå æ­€å¯ä»¥çŽæ¥é¢è§ãç¶èïŒåšé¢è§ä¹åè¯¥éŠèå¿
+é¡»è³å°è¢«æå»ºè¿äžæ¬¡ã</Text>
+</Section>
+<Section name="generalsettings">
+<Title>
+<Text id="117">åžžè§</Text>
+</Title>
+<Text id="118">è¿éšåè§£éåŠäœå¯çåæŽæ¹äžéŠèçžå
+³èçåžžè§è®Ÿçœ®ãéŠå
+ïŒåš"æ ŒåŒ"æ ç­Ÿäžç¹å»"åžžè§"ã</Text>
+<Text id="119">åšè¿éäžäºéŠèçå€§éå
+æ°æ®å¯è¢«è®Ÿçœ®æè
+ä¿®æ¹çïŒå
+æ¬åšåŒå§äžäžªæ°éŠèæ¶èŸå
+¥çæ é¢åæè¿°ã</Text>
+<Text id="120">éŠå
+æ¯éŠèåå»ºè
+åç»Žæ€è
+çèç»çµå­é®ç®±å°åãæ¥äžæ¥çå­æ®µå
+è®žä¿®æ¹éŠèçæ é¢ãæ¥äžæ¥æŸç€ºçšäºå­æŸè¯¥éŠèçæä»¶å€¹ïŒäœè¯¥æä»¶å€¹äžå¯è¢«ä¿®æ¹ãç¶åæ¯éŠèç"å
+³äº"é¡µé¢å·Šäžæ¹çåŸæ (ä»¥URLçæ ŒåŒ)ïŒä»¥ååšGreenstoneåŸä¹ŠéŠé¡µé¢çšäºè¿æ¥å°è¯¥éŠèçåŸæ ãäžé¢æ¯æ§å¶è¯¥éŠèæ¯åŠåºè¯¥è¢«å
+¬åŒè®¿é®çéæ©æ¡ãæåæ¯"éŠèæè¿°"ææ¬æ¡ïŒåé
+<Reference target="creatingacollection"/>ã</Text>
+</Section>
+<Section name="searchmetadatasettings">
+<Title>
+<Text id="fc-s1">æçŽ¢</Text>
+</Title>
+<Text id="fc-s2">è¿éšåè§£éåŠäœè®Ÿçœ®æçŽ¢é¡µé¢äžäžæåè¡šäž­çæŸç€ºææ¬ãç¹å»"æ ŒåŒ"æ ç­Ÿäžç"æçŽ¢"ã</Text>
+<Text id="fc-s3">æ­€çé¢äž­æäžäžªåè¡šïŒå
+¶äž­ååºäºæ¯äžªæçŽ¢çŽ¢åŒãçŽ¢åŒçº§å«ä»¥åååºãè¿éå¯ä»¥èŸå
+¥ææ¬å®ä¹æçŽ¢é¡µé¢äž­äžæåè¡šäž­çé¡¹ãæ­€çé¢åªå
+è®žè®Ÿçœ®äžç§è¯­èšçææ¬ïŒå³GLIåœåæäœ¿çšçè¯­ç§ãåŠèŠå°è¿äºåç§°ç¿»è¯å°å
+¶ä»è¯­èšïŒäœ¿çšæ ŒåŒè§åŸäž­ç"ç¿»è¯ææ¬"éšåïŒåè§<Reference target="translatetext"/>ïŒã</Text>
+</Section>
+<Section name="formatstatements">
+<Title>
+<Text id="173">æ ŒåŒç¹åŸ</Text>
+</Title>
+<Text id="174">åšäœ¿çšGreenstoneæ¶çå°ççœé¡µå¹¶éé¢å
+å­åšå¥œççœé¡µïŒèæ¯æç
+§éèŠåšæäº§ççãæ ŒåŒåœä»€çšäºæŽæ¹è¿äºåšæé¡µé¢çå€è§ãæ ŒåŒåœä»€å¯æŽæ¹çå€è§å
+æ¬ïŒæŸç€ºææ¡£æ¶åºæŸç€ºåªäºæé®ïŒä»¥åæ¥æåç±»åšæŸç€ºåªäºè¿æ¥ãåŒåæ ŒåŒåœä»€å¹¶äžå®¹æïŒè¯·é
+è¯»GreenstoneåŒåè
+æåçç¬¬äºç« ãè¿éšåè®šè®ºè®Ÿçœ®æ ŒåŒä»¥ååŠäœåšåŸä¹ŠéŠåçé¢äž­è®¿é®è¿äºæ ŒåŒè®Ÿçœ®ãåš"æ ŒåŒ"æ ç­ŸäžïŒç¹å»"æ ŒåŒç¹åŸ"ã</Text>
+<Text id="175">æ ŒåŒåœä»€å¯çšäº"éæ©ç¹åŸ"äžæåè¡šäž­çä»»äœå
+çŽ ïŒè¿å
+æ¬æ¯äžªåç±»åšä»¥åé¢å®ä¹çç¹åŸåè¡šãéäž­äžäžªç¹åŸåïŒæäž€ç±»æ§å¶å¯çšãäžäºç¹åŸèŠä¹è¢«äœ¿çšèŠä¹è¢«çŠçšïŒè¿éè¿äžäžªéæ©æ¡æ§å¶ãåŠäžäºç¹åŸèŠæ±æå®å­äž²ãå¯¹äºè¿äºç¹åŸïŒåšäžæåè¡š("åœ±åçç»ä»¶")äž­éæ©å°å­äž²åºçšå°ç¹åŸçåªäžªéšå(åŠå¿
+èŠ)ïŒå¹¶åšææ¬èŸå
+¥æ¡("HTMLæ ŒåŒå­äž²")äž­èŸå
+¥è¯¥å­äž²ïŒä»¥åäžäºé¢å®ä¹ç"åé"ãèŠå°äžäžªåéæ·»å å°æ ŒåŒå­äž²äž­ïŒå°å
+æ ç§»åšå°èŠæå
+¥çäœçœ®ïŒç¶ååš<AutoText key="glidict::CDM.FormatManager.Insert_Variable"/>ç»åæ¡äž­éæ©èŠæ·»å çåéã</Text>
+<Text id="176">éè¿éäž­"ææç¹åŸ"å¯ä»¥äžºæäžªç¹å®ç»ä»¶æå®äžäžªé»è®€æ ŒåŒãè¿äžªæ ŒåŒå°è¢«åºçšäºææéçšçç¹åŸïŒé€éè¯¥ç¹åŸå·²å®ä¹äºäžäžªæŽå å
+·äœçæ ŒåŒã</Text>
+<Text id="177">åå»ºäžäžªæ°çæ ŒåŒåœä»€ïŒéæ©äœ¿çšçç¹åŸåç»ä»¶ãè¯¥åœä»€çé»è®€åŒå°çšç°è²æŸç€ºãç¹å»<AutoText key="glidict::CDM.FormatManager.Add"/>ã"HTMLæ ŒåŒå­äž²"å°åäžºå¯çŒèŸç¶æïŒç¶åäŸ¿å¯å¯¹å
+¶è¿è¡ä¿®æ¹ãå¯¹äºæ¯äžªç¹åŸçæ¯äžªç»ä»¶åªèœæå®äžäžªæ ŒåŒåœä»€ã</Text>
+<Text id="178">å é€äžäžªæ ŒåŒåœä»€ïŒä»åè¡šäž­éäž­è¯¥åœä»€å¹¶ç¹å»"å é€æ ŒåŒ"ã</Text>
+<Text id="180">æŽå€å
+³äºåéåç¹åŸç»å»ºçä¿¡æ¯è¯·é
+è¯»GreenstoneåŒåè
+æåçç¬¬äºç« ã</Text>
+</Section>
+<Section name="translatetext">
+<Title>
+<Text id="182">ç¿»è¯ææ¬</Text>
+</Title>
+<Text id="183">è¿éšåä»ç»ç¿»è¯çé¢ïŒåšæ­€çé¢äž­å¯ä»¥å°åœåéŠèçé¢çéšåææ¬çæ­ç¿»è¯æå
+¶ä»è¯­èšãåš"æ ŒåŒ"æ ç­ŸäžïŒç¹å»"ç¿»è¯ææ¬"ã</Text>
+<Text id="184">éŠå
+åš"ç¹åŸ"åè¡šäž­éæ©äžé¡¹ç¹åŸãäžä¹å¯¹åºçç¹å®è¯­èšçå­äž²å°æŸç€ºåšå
+¶äžãäœ¿çš"ç¿»è¯è¯­ç§"äžæåè¡šæ¥éæ©ç®æ è¯­ç§ïŒç¶ååææ¬èŸå
+¥æ¡äž­èŸå
+¥ç¿»è¯çææ¬ïŒå¿
+èŠæ¶å¯åæ¶åè"åå§ææ¬çæ­"ãå®æä¹åç¹å»"æ·»å ç¿»è¯"ã</Text>
+<Text id="185">å é€äžäžªç°æçç¿»è¯ïŒä»"æå®çç¿»è¯"è¡šäž­éäž­è¯¥ç¿»è¯å¹¶ç¹å»"å é€ç¿»è¯"ã</Text>
+<Text id="186">çŒèŸäžäžªç¿»è¯ïŒä»"ç¿»è¯çææ¬"åºåäž­éäž­è¯¥ç¿»è¯å¹¶ç¹å»"æ¿æ¢ç¿»è¯"ã</Text>
+</Section>
+<Section name="xcollectionsearching">
+<Title>
+<Text id="161">è·šéŠèæçŽ¢</Text>
+</Title>
+<Text id="162">Greenstoneå¯è·šå€äžªäžåçéŠèè¿è¡æçŽ¢ïŒåŠåæçŽ¢äžäžªéŠèãéè¿æå®äžäžªåºäžæ¬éŠèåæ¶æçŽ¢çå
+¶ä»éŠèçåè¡šãåš"æ ŒåŒ"æ ç­ŸäžïŒç¹å»"è·šéŠèæçŽ¢"ã</Text>
+<Text id="163">è·šéŠèæçŽ¢çé¢æŸç€ºå¯çšéŠèçåè¡šãå
+¶äž­åœåéŠèå€äºè¢«éäž­ç¶æå¹¶äžäžå¯åæ¶å¯¹å
+¶çéæ©ãåŠèŠåæ·»å äžäžªéŠèäœ¿å
+¶äžåœåéŠèåæ¶è¢«æçŽ¢ïŒåšåè¡šäž­ç¹å»é£äžªéŠèïŒåæ¬¡ç¹å»å¯å é€è¿äžªéŠèïŒãåŠæåªæäžäžªéŠèè¢«éäž­ïŒåè·šéŠèæçŽ¢åèœäžå¯çšã</Text>
+<Text id="164">åŠæå€äžªéŠèççŽ¢åŒ(å
+æ¬å­éŠèååºåè¯­ç§ååº)äžåïŒè·šéŠèæçŽ¢å°äžèœæ­£åžžå·¥äœãçšæ·å°åªèœæçŽ¢ææéŠèå
+±æççŽ¢åŒã</Text>
+<Text id="165">æŽå€è¯Šç»èµæè¯·åè§GreenstoneåŒåè
+æåç¬¬äžç« ã</Text>
+</Section>
+<Section name="collectionspecificmacros">
+<Title>
+<Text id="fc-m1">éŠèçç¹å®å®</Text>
+</Title>
+<Text id="fc-m2">åšæ ŒåŒè§åŸæ ç­ŸäžïŒç¹å»"éŠèçç¹å®å®"ã</Text>
+<Text id="fc-m3">è¿éæŸç€ºè¯¥éŠèextra.dmæä»¶çå
+å®¹ãéŠèç¹å®çå®å¯åšæ­€å®ä¹ãæŽå€å
+³äºå®çä¿¡æ¯è¯·åé
+GreenstoneåŒåè
+æåç¬¬äžç« ã</Text>
+</Section>
+<Section name="depositormetadatasettings">
+<Title>
+<Text id="dm-1">å­åšåšå
+æ°æ®</Text>
+</Title>
+<Text id="dm-2">ç»¿å®ç³ç³»ç»çå­åšåšçé¢äœ¿çšæ·èœéè¿Webçé¢åç°æéŠèäž­æ·»å æ°çææ¡£ãæ¬èæè¿°å­åšåšå
+æ°æ®çé¢ïŒäœ å¯åšæ­€çé¢äž­è®Ÿå®åªäºå
+æ°æ®å­æ®µåºçšäºæè¿°éè¿å­åšåšæ·»å çæ°ææ¡£ãåœåéŠèçšå°çææå
+æ°æ®ééœå¯äŸéæ©ãåŠæåœåéŠèé€âç»¿å®ç³æœåå
+æ°æ®éâå€æ²¡æå
+¶ä»å
+æ°æ®éïŒåâéœæææ žå¿å
+æ°æ®éâå°è¢«çšäœçŒºççå
+æ°æ®éãæŽå€äºè§£å­åšåšïŒåè§è¿éçèçœæçšç»ä¹ http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/depositor.htmãåšâæ ŒåŒåâæ ç­ŸäžïŒç¹å»âå­åšåšå
+æ°æ®âã</Text>
+<Text id="dm-3">å­åšåšå
+æ°æ®çé¢æŸç€ºææå¯çšçå
+æ°æ®å­æ®µåè¡šãåŠæåœåæ¶èçšå°äžæ­¢äžäžªå
+æ°æ®éïŒçžé»çå
+æ°æ®éå°çšäžåçé¢è²æŸç€ºãå°éŒ æ åçåšäžäžªå
+æ°æ®å
+çŽ äžïŒå°åºç°äžäžªå°çªå£å¹¶æŸç€ºè¯¥å­æ®µçæè¿°ä¿¡æ¯ã</Text>
+<Text id="dm-4">éäž­äœ æ³çšæ¥æè¿°éè¿å­åšåšæ·»å çæ°ææ¡£çå
+æ°æ®å­æ®µãåšæ¯äžªéäž­çå
+æ°æ®ä¹åå°åºç°äžäžªæäž€äžªéé¡¹çäžæåè¡šãè¿å
+è®žäœ è®Ÿå®è¯¥å
+çŽ åšwebçé¢äž­çèŸå
+¥æ¡ç±»åãâææ¬âè¡šç€ºå°äœ¿çšäžäžªåè¡çèŸå
+¥æ¡ïŒèâææ¬æ¡âè¡šç€ºå°äœ¿çšäžäžªå€è¡çèŸå
+¥æ¡ãäžºæ¯äžªå­æ®µéæ©äžäžªæ°åœçèŸå
+¥æ¡ç±»åã</Text>
+<Text id="dm-5">å¿
+é¡»éæ©è³å°äžäžªå
+æ°æ®å
+çŽ ãåŠæåè¡šäž­åªæäžäžªéäž­çå
+çŽ éŽïŒåæ¶å¯¹å
+¶çéäž­å°åŒ¹åºäžæ¡è­Šåæ¶æ¯ïŒ<AutoText key="glidict::CDM.DepositorMetadataManager.Warning"/></Text>
+</Section>
+</Section>
+<Section name="miscellaneous">
+<Title>
+<Text id="202">æé¡¹</Text>
+</Title>
+<Text id="203">è¿éšåä»ç»åŸä¹ŠéŠåçé¢äž­äžéå±äºä»»äžç¹å®è§åŸçç¹åŸã</Text>
+<Section name="preferences">
+<Title>
+<Text id="204">åæ°éæ©</Text>
+</Title>
+<Text id="205">è¿éšåä»ç»åæ°éæ©å¯¹è¯æ¡ïŒç¹å»"æä»¶"->"åæ°éæ©"å¯åšè¯¥å¯¹è¯æ¡ã</Text>
+<Text id="206">åæ°éæ©çªå£å°åš"åžžè§"æ ç­Ÿäž­æåŒãç¬¬äžäžªéé¡¹æ¯çšäºèŸå
+¥e-mailå°åçææ¬æ¡ãè¯¥emailå°è¢«çšäºæ°å»ºéŠèç"åå»ºè
+"å"ç»Žæ€è
+"å
+æ°æ®ãäžäžäžªéé¡¹æ¯åŸä¹ŠéŠåçé¢æ¯æçè¯­ç§äžæåè¡šãåŠæä»åè¡šäž­éæ©äžäžªè¯­ç§æ¥æ¹ååœåçæŸç€ºè¯­èšïŒåŸä¹ŠéŠåçé¢å°éå¯ä»¥äŸ¿è£
+èœœæ°çè¯­ç§ãè¿éè¿æäŸäºäžäžªè®Ÿçœ®å­äœçææ¬æ¡ïŒæŸç€ºUnicodeçæ¯èŸå¥œçè®Ÿçœ®æ¯âArial Unicode MS, BOLD, 14âã</Text>
+<Text id="207">åŠæ"æ¥çæœåå
+æ°æ®"è¢«éäž­ïŒäžå
+æ°æ®æå
+³çåç§æ§å¶å°æŸç€ºä»ææ¡£äž­èªåšæœååºçå
+æ°æ®ãåæ¶éäž­å°éèè¿äºå
+æ°æ®(å°œç®¡åšæå»ºéŠèçè¿çšäž­ä»¥åæç»çéŠèäž­è¿äºå
+æ°æ®ä»ç¶å¯çš)ãåŠæ"æŸç€ºææ¡£å€§å°"è¢«éäž­ïŒåšæ¶éåå å
+¥è§åŸçWorkspaceä»¥åéåçæä»¶ç®åœæ äž­ïŒåšæ¯äžªæä»¶æå°æŸç€ºè¯¥ææ¡£çå€§å°ã</Text>
+<Text id="208">æš¡åŒæ ç­Ÿçšäºæ§å¶çé¢äž­ä¿¡æ¯ççº§å«ãåšæäœçº§å«çè®Ÿçœ®--"åŸä¹ŠéŠå©æ"æš¡åŒäž­ïŒè®Ÿè®¡äžæ ŒåŒåè¯åŸéœæ¯è¢«çŠçšçãçšæ·å¯ä»¥æ·»å åå é€ææ¡£ïŒæ·»å ãçŒèŸå
+æ°æ®ïŒéå»ºéŠèãåå»ºé¢æ¿çæ ŒåŒä¹æ¯æç®æŽçãâåŸä¹ŠéŠåâæš¡åŒæŸç€ºè®Ÿè®¡äžæ ŒåŒåçææéé¡¹ïŒåå»ºé¢æ¿çæ ŒåŒæ¯èŸç®åãâäžå®¶æš¡åŒâå
+æ¬å®æŽçåå»ºé¢æ¿ïŒå¹¶å
+è®žåšæ¥å¿äž­è®°åœéŠèæå»ºè¿çšçå®æŽèŸåºãèŠæ¹åææ¥çæš¡åŒïŒç¹å»æå®æš¡åŒæçåéé®ãå¯ä»¥éè¿æ¥çåŸä¹ŠéŠåçé¢çæ é¢æ æ¥çåœåæå€çæš¡åŒã</Text>
+<Text id="210">"è¿æ¥"æ ç­ŸçšäºæŽæ¹æ¬å°è¿è¡çGreenstoneåŸä¹ŠéŠæå¡åšçè·¯åŸïŒè¯¥è·¯åŸå°çšäºé¢è§éŠèãæ­€æ ç­Ÿäž­è¿å¯è®Ÿå®è¿æ¥å°Internetçä»£çä¿¡æ¯(æ¯åŠçšäºäžèœœæä»¶ïŒåè§<Reference target="downloadingfiles"/>)ãéäž­éæ©æ¡ä»¥äœ¿çšä»£çè¿æ¥å¹¶æäŸä»£çäž»æºçå°ååç«¯å£ãä»£çè¿æ¥å°åšå
+³é­åæ°éæ©å¯¹è¯æ¡æ¶å»ºç«ã</Text>
+<Text id="211">åšäžæ¬¡äŒè¯äž­ïŒåŸä¹ŠéŠçé¢å¯èœååºè­Šåä¿¡æ¯ïŒæç€ºæäžªåšäœå¯èœåžŠæ¥çäžå¯é¢ç¥çåæãå¯ä»¥éè¿éäž­"äžåæŸç€ºæ¬è­Šå"æ¥çŠçšè¿äºä¿¡æ¯ãä¹å¯ä»¥çš"è­Šå"æ ç­Ÿéæ°äœ¿çšè¿äºè­Šåä¿¡æ¯ãåšæ³åæ¬¡çå°çä¿¡æ¯æéäž­äžä¹å¯¹åºçéæ©æ¡ã</Text>
+</Section>
+<Section name="fileassociations">
+<Title>
+<Text id="212">æä»¶å
+³è</Text>
+</Title>
+<Text id="213">åŸä¹ŠéŠåçé¢äœ¿çšç¹å®çåºçšçšåºæ¥æåŒç¹å®çæä»¶ç±»åãèŠæŽæ¹æä»¶å
+³èïŒæåŒ"æä»¶"èåïŒç¹å»"æä»¶å
+³è..."</Text>
+<Text id="214">èŠæ·»å äžäžªæä»¶å
+³èïŒä»äžæåè¡šäž­éæ©ç®æ æä»¶æ©å±åïŒæè
+èŸå
+¥æ°æ©å±å(äžèŠå
+æ¬".")ãæ¥äžæ¥èŠä¹åšéåœå­æ®µäž­èŸå
+¥çšäºå¯åšæå®åºçšçšåºçåœä»€ïŒèŠä¹ä»"æµè§"å¯¹è¯æ¡äž­éæ©è¯¥åºçšçšåºãåšå¯åšåœä»€äž­ïŒ"%1"å°æå
+¥èŠæåŒçæä»¶åãåšå¡«å
+¥è¿äºä¿¡æ¯åïŒ"æ·»å "å°åäžºå¯çšïŒç¹å»ä»¥æ·»å æ­€æ°å
+³èã</Text>
+<Text id="215">èŠçŒèŸäžäžªå
+³èïŒéæ©äžäžªç°æçæä»¶æ©å±åãäžä¹å
+³èçç°æåœä»€å°æŸç€ºåš"å¯åšåœä»€"å­æ®µäž­ãçŒèŸç¶åç¹å»"æ¿æ¢"ã</Text>
+<Text id="216">èŠå é€äžäžªå
+³èïŒéæ©äžäžªç°æçæä»¶æ©å±åç¶åç¹å»"å é€"ã</Text>
+<Text id="217">æä»¶æ©å±åå­åšåšåŸä¹ŠéŠåçé¢çäž»æä»¶å€¹äžç"associations.xm"æä»¶äž­ã</Text>
+</Section>
+<Section name="exporting">
+<Title>
+<Text id="exp-1">å°éŠèå¯Œåºå°å
+¶ä»æ ŒåŒ</Text>
+</Title>
+<Text id="exp-2">Greenstoneå¯å°éŠèçå
+å®¹äž/æå
+æ°æ®å¯Œåºå°è¥å¹²æ åæ ŒåŒïŒå
+æ¬METSïŒDspaceä»¥åMARCXMLã</Text>
+<Text id="exp-3">èŠå¯ŒåºäžäžªéŠèïŒæåŒ"æä»¶"èåå¹¶éæ©"å¯Œåº"ãå¯ä»¥ä»"å¯Œåºå°"äžæåè¡šäž­éæ©æèŠå¯Œåºçæ ŒåŒãæå®æ³çšäºå­æŸå¯Œåºæä»¶çç®åœçåç§°&mdash;è¿äºæä»¶å°å­æŸäº&lt;path to greenstone&gt;/tmp/exported_xxxïŒxxxå³æ¯ææå®çåç§°ãä»å¯ééŠèçåè¡šäž­éæ©äžäžªéŠèïŒåç¹å»"å¯ŒåºéŠè"ã</Text>
+<Text id="exp-4">æäºæ ŒåŒæå
+¶ç¹å«çéé¡¹ãå¯æå®çšäºèœ¬æ¢æçæçXMLææ¡£çXSLTæä»¶ïŒä»èå®å¶èŸåºçæ ŒåŒãå¯Œåºå°MARCXMLçè¿çšäœ¿çšæ å°æä»¶å°Greenstoneå
+æ°æ®æ å°æMARCå­æ®µãé»è®€çæ å°æä»¶ä»
+ä»
+æ å°éœæææ žå¿å
+æ°æ®ãä¹å¯äœ¿çšæå®çå®å¶æ å°æä»¶ã</Text>
+</Section>
+<Section name="exportingcollections">
+<Title>
+<Text id="218">å¯ŒåºéŠèå°CD/DVD</Text>
+</Title>
+<Text id="219">Greenstoneå¯å°äžäžªæå€äžªéŠèå¯Œåºå°Windowsäžå¯èªæå®è£
+çCD/DVDäž­ã</Text>
+<Text id="220">èŠå°å€äžäžªéŠèïŒæåŒ"æä»¶"èåå¹¶éæ©"åå
+¥CD/DVDåŸå"ãè¿å°æŸç€ºäžäžªGreenstoneéŠèçåè¡šïŒç¹å»ä»»äžéŠèå¯æ¥çå
+¶æè¿°ãéäž­èŠå¯ŒåºçéŠèçéæ©æ¡ãå¯åš"CD/DVDåç§°"æ¡äž­èŸå
+¥CD/DVDçåç§°ïŒè¿å°æ¯è¯¥CD/DVDè¢«å®è£
+åæŸç€ºåšåŒå§èåäž­çåç§°ãå¯ä»¥éæ©è¯¥CD-ROMæDVDå°çŽæ¥ä»çç¬Šäžè¿è¡ïŒæè
+å®è£
+äžäºæä»¶å°ç³»ç»äž­ãç¶åç¹å»"åå
+¥CD/DVDåŸå"ãæ­€è¿çšæ¶åæ·èŽå€äžªæä»¶å¹¶äžå¯èœéèŠå åéçæ¶éŽã</Text>
+<Text id="221">å®æä¹åïŒGreenstoneå°æŸç€ºå
+å«å¯ŒåºéŠèçæä»¶å€¹åç§°ãçšCD/DVDå»åœåšå°è¯¥æä»¶å€¹çå
+å®¹æ·èŽå°ç©ºçCD/DVDäž­ã</Text>
+</Section>
+</Section>
+</Document>
Index: main/tags/2.83/gli/help/zh/help_index.xml
===================================================================
--- main/tags/2.83/gli/help/zh/help_index.xml	(revision 21123)
+++ main/tags/2.83/gli/help/zh/help_index.xml	(revision 21123)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Document><Section name="introduction"><Title>ç®ä»</Title><Section name="ofmiceandmenus"><Title>å
+³äºéŒ æ åèå</Title></Section><Section name="howtoavoidthisdocument"><Title>åŠäœé¿å
+é
+è¯»æ¬ææ¡£</Title></Section></Section><Section name="startingoff"><Title>åŒå§</Title><Section name="creatingacollection"><Title>åå»ºæ°éŠè</Title></Section><Section name="savingacollection"><Title>ä¿å­éŠè</Title></Section><Section name="openingacollection"><Title>æåŒäžäžªç°æçéŠè</Title></Section><Section name="deletingcollections"><Title>å é€éŠè</Title></Section></Section><Section name="downloadingfiles"><Title>ä»äºèçœäžèœœæä»¶</Title><Section name="themirrorview"><Title>äžèœœè§åŸ</Title></Section></Section><Section name="collectingfiles"><Title>äžºéŠèæ¶éæä»¶</Title><Section name="thegatherview"><Title>éåè§åŸ</Title></Section><Section name="creatingshortcuts"><Title>åšWorkspaceæ äž­åå»ºå¿«æ·æ¹åŒ</Title></Section><Section name="creatingfolders"><Title>åå»ºæä»¶å€¹</Title></Section><Section name="addingfiles"><Title>æ·»å æä»¶</Title></Section><Section name="replacingfiles"><Title>éåœååæ¿æ¢æä»¶</Title></Section><Section name="removingfiles"><Title>å é€æä»¶</Title></Section><Section name="explodingfiles"><Title>å±åŒå
+æ°æ®æä»¶</Title></Section><Section name="filteringthetree"><Title>è¿æ»€æ æä»¶ç®åœæ ç»æ</Title></Section></Section><Section name="enrichingacollection"><Title>å°å
+æ°æ®å å
+¥éŠè</Title><Section name="theenrichview"><Title>å å
+¥è§åŸ</Title></Section><Section name="selectingmetadatasets"><Title>éæ©å
+æ°æ®é</Title></Section><Section name="appendingmetadata"><Title>æ·»å æ°çå
+æ°æ®</Title></Section><Section name="addingpreviouslydefinedmetadata"><Title>æ·»å ä¹åå®ä¹çå
+æ°æ®</Title></Section><Section name="updatingmetadata"><Title>çŒèŸæå é€å
+æ°æ®</Title></Section><Section name="reviewingmetadata"><Title>æ¥çå·²æå®çå
+æ°æ®</Title></Section><Section name="importingpreviouslyassignedmetadata"><Title>å¯Œå
+¥ä¹åææå®çå
+æ°æ®</Title></Section></Section><Section name="designingacollection"><Title>é
+çœ®éŠè</Title><Section name="thedesignview"><Title>è®Ÿè®¡è§åŸ</Title></Section><Section name="plugins"><Title>ææ¡£æä»¶</Title></Section><Section name="searchindexes"><Title>æçŽ¢çŽ¢åŒ</Title><Section name="searchindexoptions"><Title>æ£çŽ¢çŽ¢åŒéé¡¹</Title></Section></Section><Section name="partitionindexes"><Title>ååºçŽ¢åŒ</Title><Section name="definefilters"><Title>å®ä¹è¿æ»€åš</Title></Section><Section name="assignpartitions"><Title>æå®ååº</Title></Section><Section name="assignlanguages"><Title>æå®è¯­ç§</Title></Section></Section><Section name="classifiers"><Title>æµè§åç±»åš</Title></Section></Section><Section name="producingthecollection"><Title>å¶é éŠèäž­</Title><Section name="thecreateview"><Title>åå»ºè§åŸ</Title></Section><Section name="builderrors"><Title>åå»ºéŠèè¿çšäž­çéè¯¯</Title></Section><Section name="expertbuilding"><Title>äžå®¶æš¡åŒäžçåå»ºè§åŸ</Title></Section><Section name="scheduledbuilding"><Title>è®¡åéŠèéå»ºæ¥çš</Title></Section></Section><Section name="formattingacollection"><Title>å®å¶éŠèçå€è§</Title><Section name="theformatview"><Title>æ ŒåŒè§åŸ</Title></Section><Section name="generalsettings"><Title>åžžè§</Title></Section><Section name="searchmetadatasettings"><Title>æçŽ¢</Title></Section><Section name="formatstatements"><Title>æ ŒåŒç¹åŸ</Title></Section><Section name="translatetext"><Title>ç¿»è¯ææ¬</Title></Section><Section name="xcollectionsearching"><Title>è·šéŠèæçŽ¢</Title></Section><Section name="collectionspecificmacros"><Title>éŠèçç¹å®å®</Title></Section><Section name="depositormetadatasettings"><Title>å­åšåšå
+æ°æ®</Title></Section></Section><Section name="miscellaneous"><Title>æé¡¹</Title><Section name="preferences"><Title>åæ°éæ©</Title></Section><Section name="fileassociations"><Title>æä»¶å
+³è</Title></Section><Section name="exporting"><Title>å°éŠèå¯Œåºå°å
+¶ä»æ ŒåŒ</Title></Section><Section name="exportingcollections"><Title>å¯ŒåºéŠèå°CD/DVD</Title></Section></Section></Document>
Index: main/tags/2.83/gli/help/zh/howtoavoidthisdocument.htm
===================================================================
--- main/tags/2.83/gli/help/zh/howtoavoidthisdocument.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/howtoavoidthisdocument.htm	(revision 21123)
@@ -0,0 +1,33 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="howtoavoidthisdocument"><font size="5" face="Verdana"><strong>1.2: åŠäœé¿å
+é
+è¯»æ¬ææ¡£</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>äžèŠä»å€Žå°å°Ÿå°é
+è¯»è¿äžªåž®å©ææ¬ïŒèåªåšéèŠæ¶é
+è¯»ïŒå­ŠäŒåŠäœåŸå°åž®å©å·²ç»è¶³å€ã</p>
+
+<p>åšç»å®çäžäžæäž­ç¹å»&ldquo;åž®å©&rdquo;åŸæ èŠä¹äŒæŸç€ºçžå
+³çåž®å©ææ¬ïŒæè
+åšçžå
+³åž®å©ææ¬çæ é¢äžæ æ³šäžäžªé®å·åŸæ ã</p>
+
+<p>å¯¹åŸå€æ§ä»¶ïŒåŠæå°éŒ æ åçåšå
+¶äžïŒå°æŸç€ºäžäžª"æç€º"æ ç­Ÿè¯Žæè¯¥æ§ä»¶çåèœã</p>
+
+<p>åšäœ¿çšåŸä¹ŠéŠåçé¢åïŒè¯·å
+é
+è¯»Greenstoneææ¡£ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/importingpreviouslyassignedmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/zh/importingpreviouslyassignedmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/importingpreviouslyassignedmetadata.htm	(revision 21123)
@@ -0,0 +1,67 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="importingpreviouslyassignedmetadata"><font size="5" face="Verdana"><strong>5.7: å¯Œå
+¥ä¹åææå®çå
+æ°æ®</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>è¿éšä»œæè¿°åŠäœå¯Œå
+¥ä¹åææå®çå
+æ°æ®ïŒåšæ·»å å°éŠèä¹åå°±è¢«èµäºå°ææ¡£çå
+æ°æ®ã</p>
+
+<p>åŠæå
+æ°æ®åšä¹åå·²èµäºäºäžäžªæä»¶ïŒå¹¶äžå
+¶å­åšçåœ¢åŒæ¯å¯è¢«åŸä¹ŠéŠåçé¢æè¯å«ç -- äŸåŠïŒä»äžäžªç°åšçGreenstoneéŠèäž­éæ©ææ¡£æ¶ -- åè¿äºå
+æ°æ®å°äŒåšæ·»å è¯¥æä»¶æ¶èªåšè¢«å¯Œå
+¥ãäžºæ­€ïŒè¯¥å
+æ°æ®å¿
+é¡»è¢«æ å°å°éŠèææ¯æçå
+æ°æ®éäžã</p>
+
+<p>åŸä¹ŠéŠåçé¢äŒæç€ºå¿
+èŠçä¿¡æ¯ãæç€ºå¯¹è¯æ¡å°ç»åºç®èŠçæç€ºïŒå¹¶æŸç€ºæ­£è¢«å¯Œå
+¥çå
+æ°æ®å
+çŽ åç§°ïŒè¯¥åç§°äžè¯¥å
+æ°æ®åšæºæä»¶äž­æŸç€ºçåç§°çžåãæ­€å­æ®µæ¯äžå¯çŒèŸæè
+ä¿®æ¹çãæ¥äžæ¥éæ©å°æ°å
+çŽ æ å°å°åªäžªå
+æ°æ®éïŒä»¥åè¯¥å
+æ°æ®éäž­çå¹é
+çå
+æ°æ®å
+çŽ ãç³»ç»å°èªåšäžºæ°å
+æ°æ®éæ©ææ¥è¿çå
+æ°æ®éåå
+çŽ ã</p>
+
+<p>åšæ£æ¥æ å°ä¹åïŒå¯éæ©"æ·»å "æ¥å¢å æ°çå
+æ°æ®å
+çŽ å°æéå
+æ°æ®ç»ã(è¿åªåšåœåæééäž­äžå­åšååå
+çŽ çæ
+åµäžå¯çš)"åå¹¶"å°æ°å
+çŽ æ å°å°çšæ·æéæ©çå
+çŽ äžãæåïŒ"å¿œç¥"æ¯æäžå¯Œå
+¥ä»»äœæè¯¥å
+çŽ åçå
+æ°æ®ãåšæå®åŠäœå¯Œå
+¥å
+æ°æ®ä¹åïŒè¯¥æ å°ä¿¡æ¯å°äžçŽä¿å­åšè¯¥éŠèäž­ã</p>
+
+<p>æŽå€å
+³äºGreenstoneçšæ¥åšå­å
+æ°æ®çmetadata.xmlæä»¶çè¯Šç»èµæïŒå¯åè§GreenstoneåŒåè
+æåçç¬¬äºç« ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/introduction.htm
===================================================================
--- main/tags/2.83/gli/help/zh/introduction.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/introduction.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="introduction"><font size="5" face="Verdana"><strong>1: ç®ä»</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>GreenstoneåŸä¹ŠéŠåçé¢æ¯äžäžªçšäºæ¶éææ¡£ãæ·»å å
+æ°æ®ç¶ååå»ºæ°å­åŸä¹ŠéŠéŠèçå·¥å
+·ãå®æäŸäºå¯¹Greenstoneæ°å­åŸä¹ŠéŠèœ¯ä»¶åèœçäžäžªåŸåœ¢åç¹å»çé¢çè®¿é®æ¥å£ã</p>
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/miscellaneous.htm
===================================================================
--- main/tags/2.83/gli/help/zh/miscellaneous.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/miscellaneous.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="miscellaneous"><font size="5" face="Verdana"><strong>9: æé¡¹</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>è¿éšåä»ç»åŸä¹ŠéŠåçé¢äž­äžéå±äºä»»äžç¹å®è§åŸçç¹åŸã</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/ofmiceandmenus.htm
===================================================================
--- main/tags/2.83/gli/help/zh/ofmiceandmenus.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/ofmiceandmenus.htm	(revision 21123)
@@ -0,0 +1,35 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="ofmiceandmenus"><font size="5" face="Verdana"><strong>1.1: å
+³äºéŒ æ åèå</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>è¿éšåæäŸäžåŸä¹ŠéŠåçé¢äº€äºçåºæ¬ä¿¡æ¯ãåŠæçæè¯žåŠInternet ExploreræåŸ®èœ¯Officeä¹ç±»çèœ¯ä»¶ä»¥åäœ¿çšéŒ æ ç¹å»åèåïŒè¯·è·³å°<a href="howtoavoidthisdocument.htm">åŠäœé¿å
+é
+è¯»æ¬ææ¡£</a>ã</p>
+
+<p>åŸä¹ŠéŠåçé¢æ²¿çšåŸ®èœ¯Windowsæ¯è¯­ã</p>
+
+<p>å±å¹äž­ä»»æäžäžªäº€äºçéšåïŒäŸåŠæé®æææ¬æ¡ïŒéœæäžºäžäžª"æ§ä»¶"ãåšä»»äœæ¶åïŒæäžªæ§ä»¶è¢«é«äº®æŸç€ºå¹¶ååºé®çèŸå
+¥ïŒè¿äžªæ§ä»¶ç§°äžº"çŠç¹"ãäžäºå
+è®žéæ©éšä»¶çæ§ä»¶å°çšæ·±èè²é«äº®æŸç€ºãäžäºçšç°è²æŸç€ºçæ§ä»¶è¯Žæè¿äºæ§ä»¶å·²è¢«çŠçšã</p>
+
+<p>å¯ä»¥åŠå¹³åžžäžæ ·ç§»åšéŒ æ ä»¥åäœ¿çšå·Šãå³é®åå»ãè®žå€ç»ä»¶è¿å
+è®ž"æåš"ïŒå³ç¹å»å¹¶æäžéŒ æ å·Šé®ïŒç§»åšéŒ æ ïŒç¶åéæŸéŒ æ å°è¿äºç»ä»¶"æŸçœ®"å°å
+¶ä»å°æ¹ãäžè¬åœç»ä»¶åäºæŸçœ®ç®æ äžæ¹æ¶ïŒè¿äºç®æ çå€è§äŒåçæ¹åã</p>
+
+<p>å¯çšé®çèŸå
+¥å­äž²ã[Tab]é®å°åšå€äžªææ¬å­æ®µéŽåæ¢åœåçŠç¹ã</p>
+
+<p>ä»"æä»¶"èåéæ©"éåº"å¯ä»¥éåºåŸä¹ŠéŠåçé¢çšåºãçéŠèå°äŒè¢«ä¿å­ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/openingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/zh/openingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/openingacollection.htm	(revision 21123)
@@ -0,0 +1,32 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="openingacollection"><font size="5" face="Verdana"><strong>2.3: æåŒäžäžªç°æçéŠè</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>èŠæåŒäžäžªç°æçéŠèïŒåš"æä»¶"èåäž­éæ©"æåŒ"ä»¥æåŒ"æåŒéŠè"å¯¹è¯æ¡ãè¿å°æŸç€ºäžäžªGreenstoneéŠèåè¡šãéæ©äžäžªéŠèä»¥æ¥çå®çæè¿°ïŒç¶åç¹å»"æåŒ"æ¥è£
+èœœè¯¥éŠèã</p>
+
+<p>åšå€äžªGreenstoneåŸä¹ŠéŠåçé¢çšåºåæ¶è¿è¡çæ
+åµäžïŒçžå
+³çç®åœå°è¢«éå®ä»¥é¢é²å¹²æ°ãåšæåŒäžäžªéŠèçåæ¶ïŒåšå
+¶æä»¶å€¹äžå°æ°å»ºäžäžªå°çäžŽæ¶éå®æä»¶ãåšæåŒäžäžªéŠèä¹åïŒåŸä¹ŠéŠåçé¢æ£æ¥å¹¶ç¡®ä¿è¯¥éŠèæ²¡æéå®æä»¶ãç¶èïŒåœåŸä¹ŠéŠåçé¢æå€éåºæ¶ïŒææ¶è¿äžªéå®æä»¶ä»ç¶å­åšãåšæåŒè¿ç±»éŠèæ¶ïŒåŸä¹ŠéŠåçé¢å°è¯¢é®æ¯åŠè·åè¯¥éŠèçæ§å¶ãé€éè®€äžºæäººåšåæ¶çŒèŸè¿äžªéŠèïŒå®å
+šå¯éæ©è·åè¿äžªæ§å¶æã</p>
+
+<p>åœæåŒäžäžªå¹¶éç±GreenstoneåŸä¹ŠéŠåçé¢åå»ºçéŠèæ¶ïŒéœæææ žå¿å
+æ°æ®éå°è¢«çšäºè¯¥éŠèïŒèä»»äœç°æçå
+æ°æ®å°è¢«å¯Œå
+¥ïŒå°±åå°æå
+æ°æ®çæä»¶æåšå°ç³»ç»äž­äžæ ·ã<a href="importingpreviouslyassignedmetadata.htm">å¯Œå
+¥ä¹åææå®çå
+æ°æ®</a>æè¿°è¿äžªè¿çšã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/partitionindexes.htm
===================================================================
--- main/tags/2.83/gli/help/zh/partitionindexes.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/partitionindexes.htm	(revision 21123)
@@ -0,0 +1,35 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="partitionindexes"><font size="5" face="Verdana"><strong>6.4: ååºçŽ¢åŒ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>çŽ¢åŒæ¯è¢«å»ºç«åšç¹å«çææ¬æè
+æºå
+æ°æ®äžçãé£æçŽ¢ç©ºéŽå¯ä»¥æŽè¿äžæ­¥å°éè¿ååºçŽ¢åŒæ¥æ§å¶ïŒä¹å¯ä»¥éè¿è¯­ç§æè
+äžäžªé¢å
+ç¡®å®çè¿æ»€åšãè¿äžªéšä»œæè¿°äºåŠäœå¯ä»¥åå°è¿äºãåš"è®Ÿè®¡"æ ç­ŸäžïŒç¹å»"ååºçŽ¢åŒ"ã</p>
+
+<p>"ååºçŽ¢åŒ"é¢è§å
+±æäžäžªæ ç­ŸïŒ"å®ä¹è¿æ»€åš"ïŒ"æå®ååº"å"æå®è¯­ç§"ãæŽå€å
+³äºååºçè¯Šç»èµæå¯é
+è¯»GreenstoneåŒåè
+æåç¬¬äºç« éçå­éŠèåå­çŽ¢åŒç« èã</p>
+
+<p>è¯·æ³šæïŒå¯¹äºMGéŠèèèšïŒæçæçååºæ»æ°æ¯ææçŽ¢åŒãå­éŠèè¿æ»€åšåæéæ©è¯­ç§çåå¹¶ãåžŠæäž€ç§è¯­ç§çäž€äžªå­éŠèè¿æ»€åšççŽ¢åŒäŒçæå
+«äžªçŽ¢åŒååºãå¯¹äºMGPPæ¥è¯ŽïŒææççŽ¢åŒéœåšäžäžªç©ççŽ¢åŒäž­ïŒ æä»¥æ­€æ¶åªæåäžªçŽ¢åŒååºãå¯¹äºLuceneæ¥è¯ŽïŒç©ççŽ¢åŒçæ°éæ¯æ ¹æ®éŠèæå®ççº§å«æ°éå³å®çïŒæ¯äžªçº§å«çæäžäžªçŽ¢åŒãå æ­€å¯¹äºäžè¿°æ
+åµïŒè¥åªæäžäžªçº§å«å°çæåäžªç©ççŽ¢åŒïŒèè¥æäž€äžªçº§å«å°çæå
+«äžªç©ççŽ¢åŒã</p>
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/plugins.htm
===================================================================
--- main/tags/2.83/gli/help/zh/plugins.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/plugins.htm	(revision 21123)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="plugins"><font size="5" face="Verdana"><strong>6.2: ææ¡£æä»¶</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>è¿éšä»œæè¿°åŠäœé
+çœ®éŠèäž­äœ¿çšçææ¡£æä»¶ãå®è§£éåŠäœæå®æèŠäœ¿çšçæä»¶ïŒäŒ éç»è¿äºæä»¶çåæ°ïŒä»¥åæä»¶ä»¥ä»ä¹é¡ºåºåºç°ãåš"è®Ÿè®¡"æ ç­Ÿäžé¢ç¹å»"ææ¡£æä»¶"ã</p>
+
+<p>è¥æ·»å äžäžªæä»¶ïŒåšæ¥è¿åºéšç&rdquo;éæ©èŠæ·»å çæä»¶&ldquo;äžæåè¡šäž­éäž­è¯¥æä»¶ïŒç¶åç¹å»"æ·»å æä»¶"ãè¿å°åŒ¹åºäžäžªåäžº"é
+çœ®åæ°"ççªå£ïŒæä»¬å°åšçšåæè¿°è¯¥çªå£ãåšé
+çœ®å®æ°æä»¶ä¹åïŒå®äŒè¢«æ·»å å°"æå®çæä»¶"åè¡šçæ«ç«¯ãéåžžæ
+åµäžïŒæ¯äžªæä»¶éœåªåºç°äžæ¬¡ãç¶èïŒäœ å¯ä»¥æ·»å å€äžªçžåçæä»¶ãåšè¿ç§æ
+åµäžïŒäžè¬äŒå¯¹å€äžªåäžæä»¶çå®äŸè¿è¡äžåçé
+çœ®ïŒæ¯åŠéè¿è®Ÿçœ®process_expåæ°ïŒåè§http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/enhanced_pdf.htmïŒã</p>
+
+<p>åŠèŠæ¥çäžäžªæä»¶çç®ç­æè¿°ïŒåš"éæ©æ·»å çæä»¶"äžæåè¡šéäž­è¯¥æä»¶ïŒç¶åå°éŒ æ åçåšè¯¥æä»¶ä¹äžãå°äŒåºç°äžäžªæŸç€ºæè¿°ä¿¡æ¯çæç€ºã</p>
+
+<p>èŠå é€äžäžªæä»¶ïŒåšåè¡šäž­éæ©å®å¹¶ç¹å»"å é€æä»¶"ã</p>
+
+<p>æä»¶ç±æäŸçåæ°æé
+çœ®ãåŠèŠæŽæ¹åæ°ïŒåšåè¡šäž­éäž­è¯¥æä»¶å¹¶ç¹å»"é
+çœ®æä»¶"(æè
+åå»è¯¥æä»¶)ãå°åºç°äžäžªåžŠæçšäºé
+çœ®åæ°çåç§æ§ä»¶ç"é
+çœ®åæ°"å¯¹è¯æ¡ã</p>
+
+<p>æ§ä»¶çç±»åæåŸå€ç§ãæäºæ¯éæ©æ¡ïŒç¹å»å®å°éåœçéé¡¹æ·»å å°æä»¶äž­ãå
+¶ä»æ§ä»¶åæ¯ææ¬å­äž²ïŒå
+æ¬äžäžªéæ©æ¡åææ¬å­æ®µãç¹å»éæ©æ¡ä»¥äœ¿çšè¯¥åæ°ïŒç¶ååšææ¬å­æ®µäž­èŸå
+¥åéçææ¬(æ­£åè¡šèŸŸåŒïŒæä»¶è·¯åŸç­)ãè¿æå
+¶ä»æ§ä»¶æ¯äžæèåïŒå¯ä»¥ä»ååºçäžç»åŒäž­è¿è¡éæ©ãäžºäºäºè§£åæ°çå«ä¹ïŒå°éŒ æ çœ®äºåæ°åä¹äžç¶ååçäžäŒïŒè¿å°æŸç€ºå
+¶æè¿°ä¿¡æ¯ã</p>
+
+<p>åœä¿®æ¹å®é
+çœ®ä¹åïŒç¹å»"ç¡®å®"æ¥æäº€ä¿®æ¹åå
+³é­å¯¹è¯æ¡ïŒæç¹å»"åæ¶"å
+³é­å¯¹è¯æ¡èäžæ¹åä»»äœæä»¶åæ°ã</p>
+
+<p>åè¡šäž­çæä»¶å°è¢«é¡ºåºæ§è¡ïŒè¿äžªé¡ºåºåšæäºæ¶åæ¯åŸéèŠçãéäž­åè¡šäž­çäžäžªæä»¶ïŒ çš"äžç§»"å"äžç§»"æé®æ¥æ¹åå
+¶åšåè¡šäž­çäœçœ®ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/preferences.htm
===================================================================
--- main/tags/2.83/gli/help/zh/preferences.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/preferences.htm	(revision 21123)
@@ -0,0 +1,43 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="preferences"><font size="5" face="Verdana"><strong>9.1: åæ°éæ©</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>è¿éšåä»ç»åæ°éæ©å¯¹è¯æ¡ïŒç¹å»"æä»¶"-&gt;"åæ°éæ©"å¯åšè¯¥å¯¹è¯æ¡ã</p>
+
+<p>åæ°éæ©çªå£å°åš"åžžè§"æ ç­Ÿäž­æåŒãç¬¬äžäžªéé¡¹æ¯çšäºèŸå
+¥e-mailå°åçææ¬æ¡ãè¯¥emailå°è¢«çšäºæ°å»ºéŠèç"åå»ºè
+"å"ç»Žæ€è
+"å
+æ°æ®ãäžäžäžªéé¡¹æ¯åŸä¹ŠéŠåçé¢æ¯æçè¯­ç§äžæåè¡šãåŠæä»åè¡šäž­éæ©äžäžªè¯­ç§æ¥æ¹ååœåçæŸç€ºè¯­èšïŒåŸä¹ŠéŠåçé¢å°éå¯ä»¥äŸ¿è£
+èœœæ°çè¯­ç§ãè¿éè¿æäŸäºäžäžªè®Ÿçœ®å­äœçææ¬æ¡ïŒæŸç€ºUnicodeçæ¯èŸå¥œçè®Ÿçœ®æ¯&rdquo;Arial Unicode MS, BOLD, 14&ldquo;ã</p>
+
+<p>åŠæ"æ¥çæœåå
+æ°æ®"è¢«éäž­ïŒäžå
+æ°æ®æå
+³çåç§æ§å¶å°æŸç€ºä»ææ¡£äž­èªåšæœååºçå
+æ°æ®ãåæ¶éäž­å°éèè¿äºå
+æ°æ®(å°œç®¡åšæå»ºéŠèçè¿çšäž­ä»¥åæç»çéŠèäž­è¿äºå
+æ°æ®ä»ç¶å¯çš)ãåŠæ"æŸç€ºææ¡£å€§å°"è¢«éäž­ïŒåšæ¶éåå å
+¥è§åŸçWorkspaceä»¥åéåçæä»¶ç®åœæ äž­ïŒåšæ¯äžªæä»¶æå°æŸç€ºè¯¥ææ¡£çå€§å°ã</p>
+
+<p>æš¡åŒæ ç­Ÿçšäºæ§å¶çé¢äž­ä¿¡æ¯ççº§å«ãåšæäœçº§å«çè®Ÿçœ®--"åŸä¹ŠéŠå©æ"æš¡åŒäž­ïŒè®Ÿè®¡äžæ ŒåŒåè¯åŸéœæ¯è¢«çŠçšçãçšæ·å¯ä»¥æ·»å åå é€ææ¡£ïŒæ·»å ãçŒèŸå
+æ°æ®ïŒéå»ºéŠèãåå»ºé¢æ¿çæ ŒåŒä¹æ¯æç®æŽçã&rdquo;åŸä¹ŠéŠå&ldquo;æš¡åŒæŸç€ºè®Ÿè®¡äžæ ŒåŒåçææéé¡¹ïŒåå»ºé¢æ¿çæ ŒåŒæ¯èŸç®åã&rdquo;äžå®¶æš¡åŒ&ldquo;å
+æ¬å®æŽçåå»ºé¢æ¿ïŒå¹¶å
+è®žåšæ¥å¿äž­è®°åœéŠèæå»ºè¿çšçå®æŽèŸåºãèŠæ¹åææ¥çæš¡åŒïŒç¹å»æå®æš¡åŒæçåéé®ãå¯ä»¥éè¿æ¥çåŸä¹ŠéŠåçé¢çæ é¢æ æ¥çåœåæå€çæš¡åŒã</p>
+
+<p>"è¿æ¥"æ ç­ŸçšäºæŽæ¹æ¬å°è¿è¡çGreenstoneåŸä¹ŠéŠæå¡åšçè·¯åŸïŒè¯¥è·¯åŸå°çšäºé¢è§éŠèãæ­€æ ç­Ÿäž­è¿å¯è®Ÿå®è¿æ¥å°Internetçä»£çä¿¡æ¯(æ¯åŠçšäºäžèœœæä»¶ïŒåè§<a href="downloadingfiles.htm">ä»äºèçœäžèœœæä»¶</a>)ãéäž­éæ©æ¡ä»¥äœ¿çšä»£çè¿æ¥å¹¶æäŸä»£çäž»æºçå°ååç«¯å£ãä»£çè¿æ¥å°åšå
+³é­åæ°éæ©å¯¹è¯æ¡æ¶å»ºç«ã</p>
+
+<p>åšäžæ¬¡äŒè¯äž­ïŒåŸä¹ŠéŠçé¢å¯èœååºè­Šåä¿¡æ¯ïŒæç€ºæäžªåšäœå¯èœåžŠæ¥çäžå¯é¢ç¥çåæãå¯ä»¥éè¿éäž­"äžåæŸç€ºæ¬è­Šå"æ¥çŠçšè¿äºä¿¡æ¯ãä¹å¯ä»¥çš"è­Šå"æ ç­Ÿéæ°äœ¿çšè¿äºè­Šåä¿¡æ¯ãåšæ³åæ¬¡çå°çä¿¡æ¯æéäž­äžä¹å¯¹åºçéæ©æ¡ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/producingthecollection.htm
===================================================================
--- main/tags/2.83/gli/help/zh/producingthecollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/producingthecollection.htm	(revision 21123)
@@ -0,0 +1,22 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="producingthecollection"><font size="5" face="Verdana"><strong>7: å¶é éŠèäž­</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>åšæ¶ééŠèçææ¡£ïŒå¯¹è¿äºææ¡£è¿è¡å
+æ°æ®æ æ³šïŒå¹¶è®Ÿè®¡å¥œéŠèçå€è§ä¹åïŒç°åšå¯ä»¥çšGreenstoneæ¥å¶é è¿äžªéŠèäºãè¿éšåå°è§£éåŠäœå¶é éŠèã</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/removingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/zh/removingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/removingfiles.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="removingfiles"><font size="5" face="Verdana"><strong>4.6: å é€æä»¶</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>æå€ç§å é€æä»¶åæä»¶å€¹çæ¹æ³ãå¿
+é¡»éŠå
+æå®èŠå é€çé¡¹ïŒè¿éè¿éå®äžäžªæå€äžªæä»¶ææä»¶å€¹å®æïŒåŠ<a href="thegatherview.htm">éåè§åŸ</a>äž­æè¿°ã</p>
+
+<p>åœæä»¶è¢«éäž­ä¹åïŒç¹å»"å é€"æé®ïŒæäœ¿çš[Delete]é®ïŒæå°æä»¶ä»éŠèäž­ææŸå°"å é€"æé®æ¥å é€è¿äºæä»¶ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/replacingfiles.htm
===================================================================
--- main/tags/2.83/gli/help/zh/replacingfiles.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/replacingfiles.htm	(revision 21123)
@@ -0,0 +1,25 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="replacingfiles"><font size="5" face="Verdana"><strong>4.5: éåœååæ¿æ¢æä»¶</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>éåœåæä»¶å¯éè¿å³é®åå»æä»¶å¹¶éæ©"éåœå"ãåšåŒ¹åºçªå£äž­èŸå
+¥æ°åç§°å¹¶ç¹å»"ç¡®å®"ã</p>
+
+<p>æ¿æ¢éŠèäž­çæä»¶å¯éè¿å³é®åå»èŠæ¿æ¢çæä»¶å¹¶éæ©"æ¿æ¢"ãè¿å°æåŒäžäžªæä»¶æµè§åšïŒæ¥æŸå°æ°æä»¶å¹¶ç¹å»"æåŒ"ãæéæ°æä»¶å°æ¿æ¢éŠèäž­çæ§æä»¶ïŒä»»äœå
+æ°æ®å°è¢«èœ¬å°æ°æä»¶äžãè¿äžªåèœå¯¹äºå°"æ çšç"æä»¶æ¿æ¢æçæ­£çæä»¶èèšç¹å«æçšã</p>
+
+<p>åšå¯Œå
+¥è¿çšäž­ïŒäžäºæä»¶ç±»åå°çšç¬¬äžæ¹èœ¯ä»¶èœ¬æ¢æHTMLïŒæ¯åŠWordãExcelãPDFç­ç­ãå¯Œå
+¥è¿çšäž­çæçHTMLå¯èœäžå®çŸãå³é®ç¹å»è¿äºææ¡£äŒæŸç€º"æ¿æ¢äžºHTMLçæ¬"éé¡¹ãéæ©è¿äžªéé¡¹äŒå°æ¶èäž­çåå§æä»¶æ¿æ¢æHTMLçæ¬ïŒèè¿äžªHTMLçæ¬æ¯å¯çŒèŸä¿®æ¹çã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/reviewingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/zh/reviewingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/reviewingmetadata.htm	(revision 21123)
@@ -0,0 +1,59 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="reviewingmetadata"><font size="5" face="Verdana"><strong>5.6: æ¥çå·²æå®çå
+æ°æ®</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>æäºæ
+åµäžéèŠåæ¶æ¥çäžºå€äžªæä»¶èµäºçå
+æ°æ®åŒ--æ¯åŠïŒèŠç¡®å®è¿å©å€å°æä»¶æè
+äºè§£æ¥æçèåŽã</p>
+
+<p>åšéååºåçæä»¶ç®åœæ äž­éæ©èŠæ¥ççæä»¶ïŒç¶åå³é®ç¹å»å¹¶éæ©"æå®çå
+æ°æ®"ãè¿å°åŒ¹åºäžäžªåäžº"ææå
+æ°æ®"ççªå£ïŒåå
+¶äž­çæè®žå€åçå€§è¡šãç¬¬äžåæŸç€ºæä»¶åïŒè¡šçè¡åæŸç€ºäºææèµäºè¿äºæä»¶çå
+æ°æ®åŒã</p>
+
+<p>åœéäž­äºåŸå€æä»¶æ¶ïŒç»ç»æ­€è¡šæ ŒéèŠäžäºæ¶éŽãåšæåŒ"ææå
+æ°æ®"çªå£çè¿çšäž­å¯ä»¥ç»§ç»­äœ¿çšåŸä¹ŠéŠåçé¢ã</p>
+
+<p>åœå®ååŸå€ªå€§æ¶ïŒå¯ä»¥å°è¿æ»€åšåºçšå°æ æ¥è¿æ»€"ææå
+æ°æ®"è¡šæ Œãåšæ°è¿æ»€åšè¢«æ·»å åïŒåªæäžä¹å¹é
+çè¡ä»å¯è§ãç¹å»æ çäžé¢ç"funnel"åŸæ æ¥è®Ÿå®ãä¿®æ¹ææž
+çäžäžªè¿æ»€åšãäŒè¢«æç€ºå
+³äºè¿æ»€åšçä¿¡æ¯ãäžæŠäžäžªè¿æ»€åšè¢«è®Ÿå®åïŒæ çæ é¢å°±äŒæ¹åé¢è²ã</p>
+
+<p>è¿æ»€åšçæç€ºçªå£æ"ç®å"å"é«çº§"æ ç­Ÿãç®åçæ¬å°è¿æ»€æææ ïŒå æ­€åªæŸç€ºå
+å«æäžå
+æ°æ®åŒçè¡("*"å¹é
+ææåŒ)ãåšäžæåè¡šäž­å¯ä»¥éæ©å
+æ°æ®åŒãé«çº§çæ¬åå
+è®žäžåçå¹é
+æäœïŒå¿
+é¡»å§äºïŒäžå
+æ¬ïŒæå­æ¯æ¯èŸå°äºåç­äºãæå¹é
+çåŒå¯ä»¥æ¯ä»»äœå­äž²(å
+æ¬"*")ïŒä¹å¯éæ©å¹é
+æ¯åŠåºå«å€§å°åãæåïŒè¿å¯æå®äžäžªæ¬¡èŠå¹é
+æ¡ä»¶ïŒè¿äžªæ¡ä»¶å¯çšæ¥æå®äžç³»åçåŒ(éè¿éæ©AND)æè
+äžç»å¯éçåŒ(éè¿éæ©OR)ãåšæ­€åºåäžæ¯çšäºæŽæ¹æåºé¡ºåº(ååºæè
+éåº)çéæ©æ¡ãåœå®ææ¶ïŒç¹å»"è®Ÿçœ®è¿æ»€åš"æ¥åºçšæ°è¿æ»€åšå°æ ãç¹å»"æž
+é€è¿æ»€åš"æ¥å é€äžäžªç°å­çè¿æ»€åšãè¯·æ³šæçæ¯å³äœ¿åœé£è¿æ»€åšè¢«æž
+é€åïŒå
+¶è¯Šç»èµæä»è¢«ä¿çã</p>
+
+<p>äŸåŠïŒç»"ææå
+æ°æ®"æåºïŒéæ©äžäžªæ ïŒæéé»è®€çè®Ÿçœ®(åš"*"çäžäžªç®åçè¿æ»€åš)ïŒåéæ©ååºæåæè
+éåºæåã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/savingacollection.htm
===================================================================
--- main/tags/2.83/gli/help/zh/savingacollection.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/savingacollection.htm	(revision 21123)
@@ -0,0 +1,24 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="savingacollection"><font size="5" face="Verdana"><strong>2.2: ä¿å­éŠè</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>å®æä¿å­ïŒæåŒ"æä»¶"èåå¹¶éæ©"ä¿å­"ãä¿å­äžäžªéŠèå¹¶äžç­åäºè¯¥éŠèå°±å¯åšGreenstoneäž­äœ¿çšäº(åè§<a href="producingthecollection.htm">å¶é éŠèäž­</a>)ã</p>
+
+<p>åšéåºçšåºæè
+æåŒåŠäžäžªéŠèæ¶ïŒåŸä¹ŠéŠåçé¢å°ä¿å­åœåå·¥äœã</p>
+
+<p>éŠèè¢«å­æŸåšGreenstoneçšåºäž­"collect"æä»¶å€¹ä¹äžçäžäžªæä»¶å€¹äž­ïŒå¹¶ä»¥è¯¥éŠèåç§°çç®ç§°åœåãææ¡£å­æŸåš"import"å­æä»¶å€¹äž­ïŒå
+æ°æ®åå­æŸåšè¯¥æä»¶å€¹äž­ç"metadata.xml"æä»¶äž­ãé
+çœ®ä¿¡æ¯å­æŸåš"etc"å­æä»¶å€¹äžç"collect.cfg"æä»¶äž­ãè¿æäºä¿¡æ¯å­æŸåšä»¥è¯¥éŠèåœåäžæ©å±åäžº".col"çæä»¶äž­ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/scheduledbuilding.htm
===================================================================
--- main/tags/2.83/gli/help/zh/scheduledbuilding.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/scheduledbuilding.htm	(revision 21123)
@@ -0,0 +1,22 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="scheduledbuilding"><font size="5" face="Verdana"><strong>7.4: è®¡åéŠèéå»ºæ¥çš</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>è®¡åéŠèéå»ºæ¥çšåšäžå®¶æš¡åŒäžå¯çšãåšäœ¿çšè¯¥åèœä¹åå¿
+é¡»è¿è¡äžäºè®Ÿçœ®ïŒå
+·äœä¿¡æ¯è¯·åè§http://wiki.greenstone.org/wiki/index.php/Scheduled_Collection_Building_from_the_Librarian_Interfaceãåå»ºçé¢å·ŠäŸ§ç"æ¶éŽè¡šéé¡¹"æ ç­ŸæŸç€ºæ§å¶è®¡åè¿çšçåæ°åè¡šã&rdquo;è®¡åæ¥çš&ldquo;éé¡¹å¿
+é¡»éäž­æå¯äœ¿è®¡åçæãå
+¶ä»éé¡¹æ§å¶éå»ºçé¢çïŒåœåçè®¡åäžºæ°è®¡åæè
+æ¯å¯¹ç°æè®¡åçæŽæ°ïŒä»¥åemailä¿¡æ¯ïŒåŠæäœ æ³è·åŸemailéç¥ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/searchindexes.htm
===================================================================
--- main/tags/2.83/gli/help/zh/searchindexes.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/searchindexes.htm	(revision 21123)
@@ -0,0 +1,58 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchindexes"><font size="5" face="Verdana"><strong>6.3: æçŽ¢çŽ¢åŒ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>çŽ¢åŒæå®éŠèäž­å¯è¢«æçŽ¢çéšåãè¿éšåè§£éåŠäœæ·»å åå é€çŽ¢åŒïŒä»¥åè®Ÿçœ®é»è®€ççŽ¢åŒãåš"è®Ÿè®¡"æ ç­ŸäžïŒç¹å»"æçŽ¢çŽ¢åŒ"ã</p>
+
+<p>åš"æçŽ¢çŽ¢åŒ"çå³äžæ¹æŸç€ºåœåéŠèæäœ¿çšççŽ¢åŒãè¿å¯éè¿ç¹å»"ä¿®æ¹..."æŽæ¹ãåŒ¹åºççªå£å°æŸç€ºå¯äŸéæ©çåè¡šïŒMGïŒMGPPä»¥åLuceneãæ¹åçŽ¢åŒå°åœ±åçŽ¢åŒçæå»ºè¿çšä»¥åæçŽ¢åèœã</p>
+
+<p>"æå®ççŽ¢åŒ"ååºäºåœåéŠèææå®ççŽ¢åŒã</p>
+
+<p>ç¹å»"æ°çŽ¢åŒ"å¯æ·»å äžäžªçŽ¢åŒãå
+¶åŒ¹åºçªå£å°æŸç€ºçŽ¢åŒæºåè¡šïŒå
+æ¬ææ¬åå
+æ°æ®ãéæ©æ³èŠçŽ¢åŒçæ°æ®æºã"éæ©å
+šéš"å"äžé"å°å
+šéåè¡šé¡¹ååæ¶åœåæéåè¡šé¡¹ãåšå®ä¹å¥œäžäžªæ°çŽ¢åŒåïŒç¹å»"æ·»å çŽ¢åŒ"å°å
+¶æ·»å å°éŠèäž­ãåªæåšæ°çŽ¢åŒçé
+çœ®å¹¶äžå­åšäºè¯¥éŠèçæ
+åµäžïŒ"æ·»å çŽ¢åŒ"æé®ææ¯å¯çšçã</p>
+
+<p>å¯¹MGçŽ¢åŒïŒè¿éèŠæå®çŽ¢åŒçç²åºŠïŒè¿çš"çŽ¢åŒçº§å«:"èåå®æã</p>
+
+<p>å¯¹MGPPåLuceneçŽ¢åŒèèšïŒçŽ¢åŒç²åºŠæ¯éå¯¹å
+šå±è®Ÿå®çïŒèééå¯¹çŽ¢åŒè®Ÿå®ãå¯éççŽ¢åŒçº§å«åš"æçŽ¢çŽ¢åŒ"äž»çé¢äž­æŸç€ºïŒéäž­å
+¶éæ©æ¡å¯å°å
+¶æ·»å å°éŠèäž­ã</p>
+
+<p>MGPPåLuceneçŽ¢åŒæ¯æäžç§ç¹å«ççŽ¢åŒïŒ"allfileds"çŽ¢åŒïŒè¯¥çŽ¢åŒå°æäŸå¯¹ææå·²æå®çŽ¢åŒçç»åæçŽ¢ïŒèäžéèŠåç¬è®Ÿçœ®äžäžªå
+å«ææçŽ¢åŒæºççŽ¢åŒãåŠèŠæ·»å è¿äžªçŽ¢åŒïŒéäž­"åšæææå®ççŽ¢åŒäžå¢å ç»åæ¥è¯¢ïŒææåŒåïŒ"éæ©æ¡åç¹å»"æ·»å çŽ¢åŒ"ã</p>
+
+<p>MGPPåLuceneçŽ¢åŒè¿æäžäžª"å èœœå
+šéš"æé®ïŒè¯¥æé®æäŸäºå°ææå
+æ°æ®åææ¬æ°æ®æºäœäžºåäžªçŽ¢åŒçå¿«æ·æ¹åŒã</p>
+
+<p>éäž­äžäžªçŽ¢åŒå¹¶ç¹å»"çŒèŸçŽ¢åŒ"å³å¯å¯¹å
+¶è¿è¡çŒèŸãè¿å°æŸç€ºäžäžªäž"æ°çŽ¢åŒ"ç±»äŒŒçå¯¹è¯æ¡</p>
+
+<p>ä»æå®ççŽ¢åŒåè¡šäž­éäž­äžäžªçŽ¢åŒå¹¶ç¹å»"ç§»é€çŽ¢åŒ"å³å¯å é€è¯¥çŽ¢åŒã</p>
+
+<p>çŽ¢åŒåšæå®ççŽ¢åŒåè¡šäž­çæŸç€ºé¡ºåºå°±æ¯å
+¶åšæçŽ¢é¡µé¢äžæåè¡šäž­çæŸç€ºé¡ºåºãäœ¿çš"äžç§»"å"äžç§»"æé®æ¥æ¹åè¿äžªé¡ºåºã</p>
+
+<p>åšæçŽ¢é¡µé¢äžé»è®€è¢«éäž­ççŽ¢åŒæäžº"é»è®€çŽ¢åŒ"ãèŠè®Ÿçœ®é»è®€çŽ¢åŒïŒä»åè¡šäž­éæ©äžäžªçŽ¢åŒå¹¶ç¹å»"è®Ÿçœ®äžºé»è®€"ãé»è®€çŽ¢åŒåš"æå®ççŽ¢åŒ"åè¡šäž­å°æ[é»è®€çŽ¢åŒ]çæ ç­ŸãåŠææ²¡æè®Ÿçœ®é»è®€çŽ¢åŒïŒååè¡šäž­çç¬¬äžäžªå°è¢«çšäœé»è®€çŽ¢åŒã</p>
+
+<p>æçŽ¢é¡µé¢äž­çŽ¢åŒäžæåè¡šäž­çåç§°å¯åš"æ ŒåŒ"è§åŸç"æ¥è¯¢"éšåè®Ÿçœ®ïŒåè§<a href="searchmetadatasettings.htm">æçŽ¢</a>ïŒã</p>
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/searchindexoptions.htm
===================================================================
--- main/tags/2.83/gli/help/zh/searchindexoptions.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/searchindexoptions.htm	(revision 21123)
@@ -0,0 +1,27 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchindexoptions"><font size="5" face="Verdana"><strong>6.3.1: æ£çŽ¢çŽ¢åŒéé¡¹</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>å
+¶ä»åæ°ä¹æ§å¶çŽ¢åŒçåå»ºæ¹åŒãè¿äºéé¡¹å¯¹æäžªç¹å®çŽ¢åŒå¯èœå¹¶äžäœ¿çšïŒåšè¿ç§æ
+åµäžïŒè¿äºéé¡¹å°åç°è²æŸç€ºã</p>
+
+<p>MGäžMGPPçŽ¢åŒå¯è®Ÿçœ®æ¯åŠäœ¿çšè¯æ ¹äžå€§å°åäžæææ£çŽ¢ãåŠæéæ©äœ¿çšïŒå°åå»ºè¯æ ¹åå€§å°åäžææççŽ¢åŒïŒèçšæ·å°å¯åšæçŽ¢äž­è®Ÿçœ®æ¯åŠäœ¿çšå€§å°åäžææäžè¯æ ¹æ£çŽ¢ãåŠæéæ©äžäœ¿çšïŒæ£çŽ¢å°åºåå€§å°åå¹¶äžäžæ¯æè¯æ ¹æ£çŽ¢ïŒèäžéŠèçåå¥œé¡µé¢ä¹äžäŒæŸç€ºè¿äºéé¡¹ã</p>
+
+<p>MGPPçŽ¢åŒæ¯æäžåºåéé³ç¬Šå·çæ£çŽ¢ãè¿äžäžåºåå€§å°åçæçŽ¢ç±»äŒŒïŒåä»£å¹é
+å€§å°åå­æ¯çæ¯æ¯åŠå¹é
+åé³ç¬Šå·ãLuceneçŽ¢åŒçŒºçæ¯äžåºåå€§å°åçïŒäœäžæäŸéé¡¹æ¥éæ©æ¯åŠåšéŠèçåå¥œé¡µé¢æŸç€ºè¿äºéé¡¹ã</p>
+
+<p>äž­æãæ¥æåé©æéåžžéœæ²¡æè¢«åè¯ãç±äºçŽ¢åŒäŸèµäºææ¬äž­çæ­€éŽç©ºæ ŒïŒè¿æå³çè¿äºè¯­èšçŽ¢åŒå°æ¯äžå¯æ£çŽ¢çãè®Ÿçœ®"CJKææ¬åå²"éé¡¹å°åšæ¯äžªäž­æ/æ¥æ/é©æå­ç¬Šä¹éŽä»¥åæ£çŽ¢è¯ä¹éŽæ·»å ç©ºæ ŒïŒä»¥äŸ¿å®ç°å­ç¬Šçº§çæ£çŽ¢ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/searchmetadatasettings.htm
===================================================================
--- main/tags/2.83/gli/help/zh/searchmetadatasettings.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/searchmetadatasettings.htm	(revision 21123)
@@ -0,0 +1,23 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="searchmetadatasettings"><font size="5" face="Verdana"><strong>8.3: æçŽ¢</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>è¿éšåè§£éåŠäœè®Ÿçœ®æçŽ¢é¡µé¢äžäžæåè¡šäž­çæŸç€ºææ¬ãç¹å»"æ ŒåŒ"æ ç­Ÿäžç"æçŽ¢"ã</p>
+
+<p>æ­€çé¢äž­æäžäžªåè¡šïŒå
+¶äž­ååºäºæ¯äžªæçŽ¢çŽ¢åŒãçŽ¢åŒçº§å«ä»¥åååºãè¿éå¯ä»¥èŸå
+¥ææ¬å®ä¹æçŽ¢é¡µé¢äž­äžæåè¡šäž­çé¡¹ãæ­€çé¢åªå
+è®žè®Ÿçœ®äžç§è¯­èšçææ¬ïŒå³GLIåœåæäœ¿çšçè¯­ç§ãåŠèŠå°è¿äºåç§°ç¿»è¯å°å
+¶ä»è¯­èšïŒäœ¿çšæ ŒåŒè§åŸäž­ç"ç¿»è¯ææ¬"éšåïŒåè§<a href="translatetext.htm">ç¿»è¯ææ¬</a>ïŒã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/selectingmetadatasets.htm
===================================================================
--- main/tags/2.83/gli/help/zh/selectingmetadatasets.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/selectingmetadatasets.htm	(revision 21123)
@@ -0,0 +1,120 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="selectingmetadatasets"><font size="5" face="Verdana"><strong>5.2: éæ©å
+æ°æ®é</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>é¢å®ä¹çå
+æ°æ®å
+çŽ éåç§°äžº"å
+æ°æ®é"ãéœæææ žå¿å
+æ°æ®éå°±æ¯äžäŸãåœå°äžäžªå
+æ°æ®éæ·»å å°çéŠèäž­åïŒäŸ¿å¯éæ©å
+¶äž­çå
+çŽ ãå¯ä»¥æ·»å å€äžªå
+æ°æ®éãäžºäºé²æ­¢åç§°å²çªïŒäžäžªæ è¯è¯¥å
+æ°æ®éçç®ç­æ è¯ç¬Šå°è¢«æ·»å å°å
+æ°æ®å
+çŽ åç§°çåé¢ãæ¯åŠéœæææ žå¿å
+æ°æ®å
+çŽ "åå»ºè
+"å°±æäžº"dc.åå»ºè
+"ãå
+æ°æ®ééœå­æŸåšåŸä¹ŠéŠåçé¢çmetadataæä»¶å€¹äž­ïŒå¹¶ä»¥".mds"äžºåçŒã</p>
+
+<p>åšåå»ºäžäžªæ°éŠèæ¶ïŒçŒºçæ
+åµäžéœæææ žå¿å
+æ°æ®éå°è¢«æ·»å å°è¯¥éŠèãäœ å¯ä»¥æŽæ¹éŠèäœ¿çšçå
+æ°æ®éïŒç¹å»å å
+¥è§åŸäž­éŠèåºåæä»¶ç®åœæ äžé¢ç"ç®¡çå
+æ°æ®é..."æé®ãè¿å°åŒ¹åºäžäžªæ°çªå£ïŒä»¥ç®¡çè¯¥éŠèçå
+æ°æ®éã</p>
+
+<p>"å·²åé
+çå
+æ°æ®é"åè¡šååºäºåœåéŠèçšå°çå
+æ°æ®éã</p>
+
+<p>èŠåšåœåéŠèäž­äœ¿çšå
+¶ä»å
+æ°æ®éïŒç¹å»"æ·»å "ãåšåŒ¹åºççªå£äž­ååºäºGLIé»è®€çå
+æ°æ®éãåŠèŠæ·»å å
+¶äž­çå
+æ°æ®éïŒåšåè¡šäž­éäž­è¯¥éå¹¶ç¹å»"æ·»å "ãåŠèŠèªå®ä¹å
+æ°æ®éïŒå¯äœ¿çš"æµè§"æé®åšæä»¶ç³»ç»äž­æŸå°å¯¹åºçå
+æ°æ®æä»¶ã</p>
+
+<p>åå»ºäžäžªæ°çå
+æ°æ®éïŒç¹å»"æ°å»º"ãè¿å°å¯åšGreenstoneå
+æ°æ®éçŒèŸåšãéŠå
+åŒ¹åºçªå£äŒæç€ºèŸå
+¥å
+æ°æ®éçåç§°ãåœåç©ºéŽä»¥åæè¿°ãä¹å¯ä»¥éæ©å°åšç°æå
+æ°æ®éçåºç¡äžåå»ºè¿äžªæ°å
+æ°æ®éïŒè¿æå³çæ°å
+æ°æ®éå°ç»§æ¿æææå®å
+æ°æ®éçå
+çŽ ãç¹å»"ç¡®å®"ãåšäž»çªå£äž­çå·ŠäŸ§å°æŸç€ºå
+æ°æ®éïŒå³äŸ§åæŸç€ºè¯¥å
+æ°æ®éçäžäºå±æ§ãåŠææ¯åºäºç°æå
+æ°æ®éèæå»ºçïŒåå°æŸç€ºäžäžªæå€äžªå
+çŽ ãåšå³äŸ§ç¹å»è¯¥å
+çŽ çå±æ§ã</p>
+
+<p>æ°å»ºäžäžªå
+æ°æ®å
+çŽ ïŒåšå
+æ°æ®éäžå³é®åå»å¹¶éæ©"æ·»å å
+æ°æ®å
+çŽ "ãæ°å»ºäžäžªå­å
+çŽ ïŒå³é®åå»è¯¥å
+çŽ å¹¶éæ©"æ·»å å­å
+çŽ "ãå
+çŽ ä»¥åå­å
+çŽ åå¯éè¿éæ©å³é®èåäž­ç"å é€(å­)å
+çŽ "å é€ã</p>
+
+<p>è¯·æ³šæGreenstoneå
+æ°æ®éçŒèŸåšå¯ç¬ç«äºGLIè¿è¡ïŒä»åŒå§èåGreenstoneæä»¶å€¹äž­éæ©Greenstoneå
+æ°æ®éçŒèŸåšïŒæè
+è¿è¡Greenstone gliæä»¶å€¹äžçgems.shæè
+gems.batçšåºã</p>
+
+<p>æäºæ
+åµäžïŒäž€äžªå
+æ°æ®éå¯èœäœ¿çšåäžåœåç©ºéŽãäŸåŠïŒéœæææ žå¿ä»¥åéå®éœæææ žå¿å
+æ°æ®ééœäœ¿çš"dc"åœåç©ºéŽãè¿ç±»å
+æ°æ®éäžèœåæ¶äœ¿çšãåŠæè¯åŸæ·»å çå
+æ°æ®éçåœåç©ºéŽå·²è¢«åœåéŠèæäœ¿çšïŒåäŒæŸç€ºäžäžªè­Šåä¿¡æ¯ãåŠæä»ç»§ç»­æ·»å ïŒç°æçå
+æ°æ®éå°è¢«å é€èæ°çå
+æ°æ®éå°è¢«æ·»å ãä»»äœå·²ç»èµäºçå
+æ°æ®åŒå°è¢«èœ¬å°æ°çå
+æ°æ®éäž­ïŒåŠæé£äºå
+æ°æ®å
+çŽ ä»ç¶å­åšã</p>
+
+<p>GEMSå¯çšäºçŒèŸç°æçå
+æ°æ®éä»¥ååå»ºæ°çå
+æ°æ®éãç¹å»&rdquo;çŒèŸ&ldquo;æé®å¯åšGEMSïŒå¹¶äžææå®çå
+æ°æ®éå°å€äºæåŒç¶æãäžæŠå®æå¯¹å
+æ°æ®éççŒèŸïŒåŠäžæè¿°ïŒïŒä¿å­ïŒæä»¶-&gt;ä¿å­ïŒå¹¶å
+³é­GEMSã</p>
+
+<p>åŠæäžäžªéŠèäžåéèŠå
+æ°æ®éïŒéäž­è¯¥å
+æ°æ®éå¹¶ç¹å»"å é€"ãåŠææ·»å äºä»»äœå
+æ°æ®å°è¯¥å
+æ°æ®éçå
+çŽ äž­ïŒç³»ç»å°è¯¢é®åšäžæ¬¡æåŒæ¬éŠèæ¶åŠäœå€çè¿äºå
+æ°æ®ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/startingoff.htm
===================================================================
--- main/tags/2.83/gli/help/zh/startingoff.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/startingoff.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="startingoff"><font size="5" face="Verdana"><strong>2: åŒå§</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>è¿éšåä»åŠäœåå»ºïŒä¿å­ïŒåšå­åå é€éŠèã</p>
+
+
+
+
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/thecreateview.htm
===================================================================
--- main/tags/2.83/gli/help/zh/thecreateview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/thecreateview.htm	(revision 21123)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thecreateview"><font size="5" face="Verdana"><strong>7.1: åå»ºè§åŸ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>åå»ºè§åŸçšäºåå»ºéŠèïŒè¿æ¯éè¿åšææäŸçä¿¡æ¯ä¹äžïŒæ§è¡Greenstoneæå»ºéŠèçèæ¬å®æçãç¹å»"åå»º"æ ç­Ÿè®¿é®"åå»º"è§åŸã</p>
+
+<p>ç¹å»"æå»ºéŠè"å¯åšæå»ºéŠèè¿çšãæéçæ¶éŽåå³äºéŠèçå€§å°ä»¥ååå»ºççŽ¢åŒçæ°ç®(å¯¹ç¹å€§çéŠèèèšå¯èœéèŠæ°å°æ¶)ãè¿åºŠæ¡å°æŸç€ºå·²ç»å®æçéšåãåšä»»äœæ¶ååæ¶æå»ºè¿çšïŒç¹å»"åæ¶æå»º"ãæ­€çé¢çäžé¢éšåæŸç€ºæå»ºè¿çšçäžäºèŸåºä¿¡æ¯ãäžé¢éšåæŸç€ºçšäºæ§å¶æå»ºè¿çšçéé¡¹ã</p>
+
+<p>äžæŠæåæå»ºäºäžäžªéŠèïŒç¹å»"é¢è§éŠè"å°å¯åšçœç»æµè§åšå¹¶æŸç€ºè¯¥éŠèçäž»é¡µã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/thedesignview.htm
===================================================================
--- main/tags/2.83/gli/help/zh/thedesignview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/thedesignview.htm	(revision 21123)
@@ -0,0 +1,29 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thedesignview"><font size="5" face="Verdana"><strong>6.1: è®Ÿè®¡è§åŸ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>è¿éšåä»ç»è®Ÿè®¡è§åŸå¹¶è§£éåŠäœåšå
+¶äž­çå€äžªéšåä¹éŽè¿è¡æçºµã</p>
+
+<p>çšåŸä¹ŠéŠåçé¢ïŒå¯ä»¥é
+çœ®åŠäœå€çææ¡£ïŒä»¥åæ¬éŠèè¯¥åŠäœè¢«çšæ·è®¿é®ãé
+çœ®éé¡¹äŒè¢«åæäžåçéšä»œïŒæ¯éšåéœäžå®å¶éŠèè¿çšäž­çç¹å®é¶æ®µçžå
+³èã</p>
+
+<p>å·ŠäŸ§æ¯åæäžååæ°çåè¡šïŒå³èŸ¹åæ¯äžåœååæ°å¯¹åºçæ§ä»¶ãåšåè¡šäž­ç¹å»åæ°çåå­å¯èœ¬æ¢å°äžåçåæ°ã</p>
+
+<p>åŠèŠäºè§£è®Ÿè®¡éŠèè¿çšææ¶åçé¶æ®µåæ¡ä»¶ïŒè¯·é
+è¯»GreenstoneåŒåè
+æåçç¬¬äžç« åç¬¬äºç« ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/theenrichview.htm
===================================================================
--- main/tags/2.83/gli/help/zh/theenrichview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/theenrichview.htm	(revision 21123)
@@ -0,0 +1,81 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="theenrichview"><font size="5" face="Verdana"><strong>5.1: å å
+¥è§åŸ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>äœ¿çš"å å
+¥"è§åŸå°å
+æ°æ®å å
+¥å°éŠèçææ¡£äž­ãå
+æ°æ®æ¯å
+³äºæ°æ®çæ°æ®ïŒå
+žåçå
+æ°æ®å
+æ¬é¢åãäœè
+ãåå»ºæ¥æç­ç­ãæ¯äžªå
+æ°æ®é¡¹ç±äž€éšåç»æïŒ"å
+çŽ "è¯Žæé¡¹ç®çç±»å(æ¯åŠäœè
+)ïŒè"åŒ"æå®è¯¥å
+æ°æ®å
+çŽ çåŒ(æ¯åŠäœè
+çåå­)ã</p>
+
+<p>åš"å å
+¥"è§åŸçå·ŠäŸ§æ¯éŠèåºåçæä»¶ç®åœæ ãææåš"æ¶é"è§åŸéŠèåºåçæä»¶ç®åœæ äž­å¯çšçå³é®åèœåšæ­€éœå¯çšãå³äŸ§åæ¯å
+æ°æ®è¡šïŒå
+¶äž­æŸç€ºéŠèåºåæä»¶ç®åœæ äž­æéæä»¶ææä»¶å€¹çå
+æ°æ®ãæ ç®åä»¥é»è²æŸç€ºåšæé¡¶ç«¯ïŒäžå¯éè¿æåšåå²çº¿æ¥è°æŽå
+¶å€§å°ãåŠæéäž­äºå€äžªæä»¶ææä»¶å€¹ïŒé»è²æŸç€ºçææ¬è¯Žæè¯¥ææ¬éçšäºæææéäž­çé¡¹ïŒèç°è²ææ¬è¯Žæè¯¥ææ¬äžéçšäºææé¡¹ãçŒèŸç°è²æŸç€ºçå
+æ°æ®åŒå°åªåœ±åæ¥æè¯¥å
+æ°æ®çææ¡£ãä»»äœæ°å¢çå
+æ°æ®åŒå°è¢«æ·»å å°ææéäž­é¡¹äž­ã</p>
+
+<p>æäºå
+æ°æ®é¡¹æäŒæäžäžªæä»¶å€¹åŸæ ãè¿è¯Žæè¯¥å
+æ°æ®åŒç»§æ¿èªå
+¶ç¶ç®åœïŒæäžçº§ç®åœïŒãç»§æ¿çå
+æ°æ®äžèœè¢«çŒèŸæè
+å é€ïŒåªèœè¢«æ©å±ãç¹å»æä»¶å€¹åŸæ å°çŽæ¥èœ¬å°è¯¥å
+æ°æ®è¢«èµåŒçæä»¶å€¹ã</p>
+
+<p>ç¹å»è¡šäž­çå
+æ°æ®å
+çŽ å°åšå
+¶äžç"ç°æåŒ ..."åºåäž­æŸç€ºè¯¥å
+çŽ çææç°æåŒãè¿äžªå
+æ°æ®åŒçæ ç»æå¯æåŒåå
+³é­ãéåžžè¿äžªåè¡šæŸç€ºææéäž­å
+çŽ ä¹åçåŒãç¹å»å
+¶äž­é¡¹å°èªåšå°å
+¶è®Ÿäžºåœåçå
+æ°æ®åŒãçžåïŒåšåŒå­æ®µäž­èŸå
+¥å°éæ©ä»¥æèŸå
+¥å­äž²åŒå€ŽçåŒé¡¹ãç¹å»Tabå°èªåšå®ææéåŒã</p>
+
+<p>å
+æ°æ®åŒå¯çšå±çº§ç»æç»ç»ãè¿åšå
+æ°æ®åŒæ ç»æäž­åäœç°äžºçšæä»¶å€¹æ¥æŸç€ºå
+éšå±æ¬¡ãèŠèŸå
+¥å±çº§çå
+æ°æ®åŒå¯äœ¿çš"|"ç¬Šå·æ¥åéå±çº§ãäŸåŠïŒ"å¡|çº¢è²|æ¹å|äž"å¯ä»¥æ¯ä»£è¡šäžå å¡ççå±çº§ç»æãè¿äœ¿åŸå
+æ°æ®åŒèœå€è¢«ç»ç»å°äžèµ·ãå€ç»å
+æ°æ®åŒä¹å¯äœäžºäžäžªå
+æ°æ®èµäºæä»¶ã</p>
+
+<p>Greenstoneä»ææ¡£äž­èªåšæœåå
+æ°æ®å¹¶å­å
+¥äžäžªä»¥"ex."äžºåçŒçå
+æ°æ®éãè¿äºå
+æ°æ®æ²¡ææ ç»æäžäžå¯çŒèŸã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/theformatview.htm
===================================================================
--- main/tags/2.83/gli/help/zh/theformatview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/theformatview.htm	(revision 21123)
@@ -0,0 +1,26 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="theformatview"><font size="5" face="Verdana"><strong>8.1: æ ŒåŒè§åŸ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>è¿éšåä»ç»æ ŒåŒåè§åŸã</p>
+
+<p>çšåŸä¹ŠéŠåçé¢å¯ä»¥å®å¶éŠèåç°ç»çšæ·çå€è§ãè¿äºé
+çœ®éé¡¹è¢«åæå€äžªéšåïŒæ¯éšåéœäžäžåç±»åçå®å¶çžå
+³èã</p>
+
+<p>å·ŠäŸ§æ¯åæ°åè¡šïŒå³äŸ§åæ¯äžåœååæ°å¯¹åºçæ§ä»¶ãåŠèŠåæ¢å°äžåçåæ°äž­ïŒåšåè¡šäž­ç¹å»è¯¥åæ°çåç§°ã</p>
+
+<p>åšåæ°åè¡šä¹äžæ¯"é¢è§éŠè"æé®ãæ ŒåŒè§åŸäž­çæŽæ¹äžéèŠéæ°æå»ºéŠèïŒå æ­€å¯ä»¥çŽæ¥é¢è§ãç¶èïŒåšé¢è§ä¹åè¯¥éŠèå¿
+é¡»è³å°è¢«æå»ºè¿äžæ¬¡ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/thegatherview.htm
===================================================================
--- main/tags/2.83/gli/help/zh/thegatherview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/thegatherview.htm	(revision 21123)
@@ -0,0 +1,45 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="thegatherview"><font size="5" face="Verdana"><strong>4.1: éåè§åŸ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>è¿éšåä»ç»çšäºå°æä»¶å å
+¥å°ææå»ºéŠèçéååºåãåŸä¹ŠéŠåçé¢å§äºéåè§åŸãèŠè¿åè¿äžªè§åŸïŒç¹å»èåæ äžç"æ¶é"æ ç­Ÿã</p>
+
+<p>åäžº"Workspace"å"éå"çäž€å€§åºåçšäºå°æä»¶ç§»åšå°çéŠèäž­ãè¿äž€å€§åºåäž­çæä»¶ç®åœæ ä»£è¡šæä»¶åæä»¶å€¹ã</p>
+
+<p>åšæä»¶ç®åœæ äž­ç¹å»å¹¶éæ©äžé¡¹(ä¹æå
+¶ä»æ¹åŒïŒè§ä»¥äžå
+å®¹)ãåå»äžäžªç®åœæè
+åå»ç®åœæçèœ¬æ¢ç¬Šå·å°æåŒ(æå
+³é­)å
+¶å
+å®¹ãåå»äžäžªæä»¶(æå³é®åå»å¹¶éæ©"åšå€éšçšåºäž­æåŒ")å°çšäžä¹å
+³èçåºçšçšåºæåŒè¯¥æä»¶(åè§<a href="fileassociations.htm">æä»¶å
+³è</a>)</p>
+
+<p>Workspaceæä»¶ç®åœæ æŸç€ºåŸä¹ŠéŠåçé¢å¯çšçæ°æ®æº--æ¬å°æä»¶ç³»ç»(å
+æ¬ç¡¬çåCD-ROMé©±åš)ïŒç°æGreenstoneéŠèçå
+å®¹ïŒä»¥åä»¥äžèœœæä»¶ççŒå­ãå¯ä»¥å€å¶åæ¥çè¿äºæä»¶ïŒäœé€äºå·²äžèœœæä»¶å¯è¢«å é€ä¹å€ïŒäžèœç§»åšãå é€æçŒèŸè¿äºæä»¶ãåšè¿äžªåºåäž­æµè§æ¥æŸæ³èŠæ·»å å°éŠèçæä»¶ã</p>
+
+<p>éååºåçæä»¶ç®åœæ æŸç€ºäºç®åéŠèçå
+å®¹ãåå§æ¶æ­€åºåäžºç©ºã</p>
+
+<p>å°éŒ æ æŸåšäž€äžªæä»¶ç®åœæ äž­éŽçåéæ¡äž(æ­€æ¶éŒ æ æéçåœ¢ç¶äŒæ¹å)å¹¶æåšå®ïŒå¯ä»¥æŽæ¹åºåçç©ºéŽã</p>
+
+<p>çªå£åºéšçç¶æåºåçšäºæŸç€ºæä»¶æäœ(å€å¶ãç§»åšåå é€)çè¿çšãè¿äºæäœå¯èœéèŠäžäºæ¶éŽå®æã"åæ­¢"æé®çšäºåæ­¢åœåæäœã</p>
+
+<p>å±å¹å³äžè§æ¯äž€äžªå€§æé®ã"æ°å»ºæä»¶å€¹"æé®ä»¥æä»¶å€¹äžºåŸæ¡ïŒçšäºåå»ºæ°æä»¶å€¹(åè§<a href="creatingfolders.htm">åå»ºæä»¶å€¹</a>)ã"å é€"æé®ä»¥ååŸæ¡¶äžºåŸæ¡ïŒçšäºå é€æä»¶ãç¹å»"å é€"æé®å°ä»éåæä»¶ç®åœæ äž­å é€æéæ©çæä»¶ãæåšæä»¶å°"å é€"æé®ä¹å¯å é€æä»¶ã</p>
+
+<p>éæ©å€äžªè¿ç»­é¡¹ïŒéäž­ç¬¬äžé¡¹ç¶åæäœ[Shift]é®å¹¶ç¹å»æåäžé¡¹ïŒè¿å°éäž­ææäœäºäž­éŽçé¡¹ãéæ©å€äžªéè¿ç»­çæä»¶å¯åšç¹å»çåæ¶æäœ[Ctrl]é®ãåæ¶äœ¿çšè¿äž€äžªæ¹æ³æ¥éæ©å€ç»éè¿ç»­é¡¹ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/themirrorview.htm
===================================================================
--- main/tags/2.83/gli/help/zh/themirrorview.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/themirrorview.htm	(revision 21123)
@@ -0,0 +1,67 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="themirrorview"><font size="5" face="Verdana"><strong>3.1: äžèœœè§åŸ</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>è¿éšåä»ç»åŠäœé
+çœ®äžèœœä»»å¡å¹¶æ§å¶äžèœœè¿çšãç¹å»"äžèœœ"å°è¯¥è¯åŸãå±å¹çäžåéšåæŸç€ºäžèœœæ§å¶ãåºäžçåéšååå§æ¶äžºç©ºïŒäœäŒæŸç€ºç­åŸ
+åå·²å®æçäžèœœä»»å¡çåè¡šã</p>
+
+<p>è¿éæäŸäºå€äžªäžèœœåè®®ïŒè¿äºåè®®ååšå·ŠäŸ§äžéšã</p>
+
+<p>
+<b>Web:</b>éè¿HTTPåFTPåè®®äžèœœçœé¡µåæä»¶ã</p>
+
+<p>
+<b>MediaWikiïŒ</b>éè¿HTTPä»äžäžªMediaWikiçœç«äžäžèœœçœé¡µåæä»¶ã</p>
+
+<p>
+<b>OAI:</b>ä»OAI-PMHïŒåŒæŸåŒå­æ¡£å¡å¯ŒïŒæå¡åšäžèœœå
+æ°æ®è®°åœïŒä»¥åææ¡£ïŒå¯éé¡¹ïŒã</p>
+
+<p>
+<b>Z3950:</b>ä»Z39.50æå¡åšäžèœœäžç¹å®æçŽ¢æ¡ä»¶å¹é
+çMARCè®°åœã</p>
+
+<p>
+<b>SRW:</b>ä»SRWæå¡åšäžèœœäžç¹å®æçŽ¢æ¡ä»¶å¹é
+çMARCXMLè®°åœã</p>
+
+<p>åšå·ŠäŸ§åè¡šäž­éæ©éåœçåè®®ãå³äŸ§å°æŸç€ºæéäžèœœåè®®çå¯çšéé¡¹ãèŠäºè§£äžäžªéé¡¹çåèœïŒå°éŒ æ åçåšè¯¥éé¡¹ä¹äžïŒè¿å°æŸç€ºäžäžªè¯Žæè¯¥éé¡¹çæç€ºä¿¡æ¯ãæäºéé¡¹æ¯å¯éçïŒè¿ç±»éé¡¹éœéåžŠäžäžªéæ©æ¡ïŒèŠäœ¿çšè¯¥éé¡¹å¿
+é¡»éäž­å¯¹åºçéæ©æ¡ãå
+¶ä»å¿
+é¡»çéé¡¹æ²¡æéæ©æ¡ïŒåšäžèœœè¿çšåŒå§ä¹åå¿
+é¡»è®Ÿçœ®å
+¶åŒã</p>
+
+<p>è®Ÿçœ®å¥œé
+çœ®ä¹åïŒç¹å»"æå¡ä¿¡æ¯"æ£æ¥æå¡åšè¿æ¥ä»¥åæ¥çäžäºå
+³äºçœé¡µææå¡åšçåºæ¬ä¿¡æ¯ïŒæè
+ç¹å»"äžèœœ"åŒå§äžèœœã</p>
+
+<p>å
+¶ä»äž€äžªæé®ïŒ"é
+çœ®ä»£ç..."éŸæ¥å°"åæ°é
+çœ®"äž­çè¿æ¥éšåïŒå¯åšæ­€ä¿®æ¹ä»£çè®Ÿçœ®ïŒ"æž
+ç©ºçŒå­"å°å é€ææä»¥åäžèœœçæä»¶ãåŠæäœ éè¿ä»£çæå¡åšè¿æ¥å°å ç¹çœïŒåéèŠè®Ÿçœ®ä»£çä¿¡æ¯ãåŠæäžèœœè¿çšéèŠè®€è¯ä¿¡æ¯ïŒä»£çæå¡åšå°æŸç€ºèŠæ±çšæ·ååå¯ç çå¯¹è¯æ¡ãåŸä¹ŠéŠåçé¢äžäŒåšäŒè¯ä¹éŽå­åšå¯ç ã</p>
+
+<p>äžèœœæä»¶å°å­æŸåš"äžèœœæä»¶"æä»¶å€¹äž­ïŒä»
+åœäžèœœå¯çšæ¶ïŒïŒäžå¯çšäºä»»äœéŠèãæä»¶å°ä»¥å
+¶å®æŽçweb URLåœåïŒå¯¹äºWebåMediaWikiäžèœœïŒæè
+ä»¥URLåéé¡¹åŒçç»ååœåïŒå¯¹äºå
+¶ä»äžèœœç±»åïŒãæ¯äžªäž»æºéœå°åå»ºäžäžªæ°æä»¶å€¹ïŒæ¥äžæ¥æ¯è·¯åŸäž­çæ¯äžªéšåå»ºç«æä»¶å€¹ãè¿ç¡®ä¿äºæ¯äžªæä»¶éœæ¯å¯äžçã</p>
+
+<p>äžèœœåè¡šè®°åœäºæ¯äžªå·²å€ççäžèœœãæ¯é¡¹è®°åœäž­æäžäžªææ¬åºåæŸç€ºäžèœœä»»å¡çå
+·äœä¿¡æ¯ä»¥åäžäžªè¿åºŠæ¡æŸç€ºåœåæŽ»åšãæ¯äžªè®°åœçå³äŸ§æäžäžªæé®ã"æå"çšäºæåäžäžªä»»å¡ã"æ¥çæ¥å¿"å°æåŒäžäžªçªå£æŸç€ºäžèœœæ¥å¿æä»¶ã"å
+³é­"å°ç»æ­¢è¯¥äžèœœå¹¶å°è¯¥ä»»å¡ä»åè¡šäž­å é€ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/translatetext.htm
===================================================================
--- main/tags/2.83/gli/help/zh/translatetext.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/translatetext.htm	(revision 21123)
@@ -0,0 +1,29 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="translatetext"><font size="5" face="Verdana"><strong>8.5: ç¿»è¯ææ¬</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>è¿éšåä»ç»ç¿»è¯çé¢ïŒåšæ­€çé¢äž­å¯ä»¥å°åœåéŠèçé¢çéšåææ¬çæ­ç¿»è¯æå
+¶ä»è¯­èšãåš"æ ŒåŒ"æ ç­ŸäžïŒç¹å»"ç¿»è¯ææ¬"ã</p>
+
+<p>éŠå
+åš"ç¹åŸ"åè¡šäž­éæ©äžé¡¹ç¹åŸãäžä¹å¯¹åºçç¹å®è¯­èšçå­äž²å°æŸç€ºåšå
+¶äžãäœ¿çš"ç¿»è¯è¯­ç§"äžæåè¡šæ¥éæ©ç®æ è¯­ç§ïŒç¶ååææ¬èŸå
+¥æ¡äž­èŸå
+¥ç¿»è¯çææ¬ïŒå¿
+èŠæ¶å¯åæ¶åè"åå§ææ¬çæ­"ãå®æä¹åç¹å»"æ·»å ç¿»è¯"ã</p>
+
+<p>å é€äžäžªç°æçç¿»è¯ïŒä»"æå®çç¿»è¯"è¡šäž­éäž­è¯¥ç¿»è¯å¹¶ç¹å»"å é€ç¿»è¯"ã</p>
+
+<p>çŒèŸäžäžªç¿»è¯ïŒä»"ç¿»è¯çææ¬"åºåäž­éäž­è¯¥ç¿»è¯å¹¶ç¹å»"æ¿æ¢ç¿»è¯"ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/updatingmetadata.htm
===================================================================
--- main/tags/2.83/gli/help/zh/updatingmetadata.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/updatingmetadata.htm	(revision 21123)
@@ -0,0 +1,33 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="updatingmetadata"><font size="5" face="Verdana"><strong>5.5: çŒèŸæå é€å
+æ°æ®</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>åŠèŠçŒèŸæå é€å
+æ°æ®ïŒéŠå
+éæ©å¯¹åºçæä»¶ïŒåä»è¡šäž­éæ©å
+æ°æ®åŒãçŒèŸåŒå­æ®µïŒæå é€ææææ¬ä»¥å é€è¯¥å
+æ°æ®ã</p>
+
+<p>æŽæ°æä»¶å€¹åå
+¶å­æä»¶å€¹æå€äžªæä»¶çè¿çšäžäžçžåïŒäœæ¯åªææææéæä»¶åæä»¶å€¹å
+±æçå
+æ°æ®æèœè¢«æŽæ°ã</p>
+
+<p>å
+æ°æ®åŒçæ ç»ææŸç€ºäºææåœåèµäºçå
+æ°æ®åŒä»¥ååœåäŒè¯äž­ä¹åèµäºçåŒïŒå æ­€æŽæ¹æå é€è¿äºåŒå°ä»å­åšäºæ ç»æäž­ãå
+³é­åœåéŠèåéæ°æåŒè¯¥éŠèå°å é€æææªèµäºçå
+æ°æ®åŒã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/help/zh/xcollectionsearching.htm
===================================================================
--- main/tags/2.83/gli/help/zh/xcollectionsearching.htm	(revision 21123)
+++ main/tags/2.83/gli/help/zh/xcollectionsearching.htm	(revision 21123)
@@ -0,0 +1,30 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Greenstone Librarian Interface - Help Pages</title>
+</head>
+<body bgcolor="#E0F0E0">
+<table width="100%" cellspacing="0" cellpadding="5" bgcolor="#B0D0B0" border="2">
+<tr>
+<td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td><td width="*" align="center"><a name="xcollectionsearching"><font size="5" face="Verdana"><strong>8.6: è·šéŠèæçŽ¢</strong></font></a></td><td width="15%" align="center"><img width="45" src="../gatherer_medium.gif" height="45"></td>
+</tr>
+</table>
+
+
+<p>Greenstoneå¯è·šå€äžªäžåçéŠèè¿è¡æçŽ¢ïŒåŠåæçŽ¢äžäžªéŠèãéè¿æå®äžäžªåºäžæ¬éŠèåæ¶æçŽ¢çå
+¶ä»éŠèçåè¡šãåš"æ ŒåŒ"æ ç­ŸäžïŒç¹å»"è·šéŠèæçŽ¢"ã</p>
+
+<p>è·šéŠèæçŽ¢çé¢æŸç€ºå¯çšéŠèçåè¡šãå
+¶äž­åœåéŠèå€äºè¢«éäž­ç¶æå¹¶äžäžå¯åæ¶å¯¹å
+¶çéæ©ãåŠèŠåæ·»å äžäžªéŠèäœ¿å
+¶äžåœåéŠèåæ¶è¢«æçŽ¢ïŒåšåè¡šäž­ç¹å»é£äžªéŠèïŒåæ¬¡ç¹å»å¯å é€è¿äžªéŠèïŒãåŠæåªæäžäžªéŠèè¢«éäž­ïŒåè·šéŠèæçŽ¢åèœäžå¯çšã</p>
+
+<p>åŠæå€äžªéŠèççŽ¢åŒ(å
+æ¬å­éŠèååºåè¯­ç§ååº)äžåïŒè·šéŠèæçŽ¢å°äžèœæ­£åžžå·¥äœãçšæ·å°åªèœæçŽ¢ææéŠèå
+±æççŽ¢åŒã</p>
+
+<p>æŽå€è¯Šç»èµæè¯·åè§GreenstoneåŒåè
+æåç¬¬äžç« ã</p>
+
+</body>
+</html>
Index: main/tags/2.83/gli/makegli.bat
===================================================================
--- main/tags/2.83/gli/makegli.bat	(revision 21123)
+++ main/tags/2.83/gli/makegli.bat	(revision 21123)
@@ -0,0 +1,167 @@
+@echo off
+pushd "%CD%"
+CD /D "%~dp0"
+set GLILANG=en
+
+
+::  -------- Compile the Greenstone Librarian Interface --------
+
+echo.
+if "%GLILANG%" == "en" echo Greenstone Librarian Interface (GLI)
+if "%GLILANG%" == "en" echo Copyright (C) 2008, New Zealand Digital Library Project, University Of Waikato
+if "%GLILANG%" == "en" echo GLI comes with ABSOLUTELY NO WARRANTY; for details see LICENSE.txt
+if "%GLILANG%" == "en" echo This is free software, and you are welcome to redistribute it
+
+if "%GLILANG%" == "es" echo Interfaz de la Biblioteca Digital Greenstone (Greenstone Librarian Interface - GLI)
+if "%GLILANG%" == "es" echo Copyright (C) 2008, New Zealand Digital Library Project, University Of Waikato
+if "%GLILANG%" == "es" echo La Interfaz de la Biblioteca Digital Greenstone NO INCLUYE ABSOLUTAMENTE NINGUNA GARANTÖA.
+if "%GLILANG%" == "es" echo Para mayor informaci¢n vea los trminos de la licencia en LICENSE.txt
+if "%GLILANG%" == "es" echo Este es un software abierto, por lo que lo invitamos a que lo distribuya de forma gratuita
+
+if "%GLILANG%" == "fr" echo Interface du Bibliothcaire Greenstone (Greenstone Librarian Interface - GLI)
+if "%GLILANG%" == "fr" echo Copyright (C) 2008, New Zealand Digital Library Project, University Of Waikato
+if "%GLILANG%" == "fr" echo GLI est fourni sans AUCUNE GARANTIE; pour des dtails, voir LICENSE.txt
+if "%GLILANG%" == "fr" echo Ceci est un logiciel libre, et vous tes invit 
+ le redistribuer
+
+if "%GLILANG%" == "ru" echo š¡«š®â¥ç­ë© š­â¥àä¥©á Greenstone (Greenstone Librarian Interface - GLI)
+if "%GLILANG%" == "ru" echo Copyright (C) 2008, New Zealand Digital Library Project, University Of Waikato
+if "%GLILANG%" == "ru" echo  ­¥ € ¥â   ; €¥â «š á¬. ¢ â¥ªáâ¥ LICENSE.TXT
+if "%GLILANG%" == "ru" echo â® - á¢®¡®€­® à á¯à®áâà ­ï¥¬®¥ ¯à®£à ¬¬­®¥ ®¡¥á¯¥ç¥­š¥ š ë ¬®Š¥â¥ à á¯à®áâà ­ïâì ¥£®
+
+echo.
+
+:: This script must be run from within the directory in which it lives
+if exist makegli.bat goto findJavac
+    if "%GLILANG%" == "en" echo This script must be run from the directory in which it resides.
+    if "%GLILANG%" == "es" echo Este gui¢n deber  ejecutarse desde el directorio en el que reside.
+    if "%GLILANG%" == "fr" echo Ce script doit tre excut 
+ partir du rpertoire dans lequel il se trouve.
+    if "%GLILANG%" == "ru" echo â®â áªàš¯â €®«Š¥­ ¡ëâì ¢§ïâ š§ €šà¥ªâ®àšš, ¢ ª®â®à®© ®­ à á¯®«®Š¥­
+    goto exit
+
+
+:findJavac
+:: ---- Check Javac exists ----
+set JAVACPATH=
+
+:: Some users may set the above line manually
+if not "%JAVACPATH%" == "" goto testJavac
+
+    :: If it is set, use the JAVA_HOME environment variable
+    if not "%JAVA_HOME%" == "" goto javahome
+
+    :: Check if Javac is on the search path
+    echo %PATH%| winutil\which.exe javac.exe | winutil\setvar.exe JAVACPATH > setjavac.bat
+    call setjavac.bat
+    del setjavac.bat
+    if not "%JAVACPATH%" == "" goto testJavac
+
+    :: Still haven't found anything, so try looking in the registry (gulp!)
+    type nul > jdk.reg
+    regedit /E jdk.reg "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit"
+    type jdk.reg > jdk.txt
+    del jdk.reg
+
+    winutil\findjava.exe jdk.txt | winutil\setvar.exe JAVACPATH > setjavac.bat
+    del jdk.txt
+    call setjavac.bat
+    del setjavac.bat
+
+    :: If nothing was found in the registry, we're stuck
+    if "%JAVACPATH%" == "" goto noJavac
+
+    set JAVACPATH=%JAVACPATH%\bin
+    goto testJavac
+
+:javahome
+    set JAVACPATH=%JAVA_HOME%\bin
+
+:testJavac
+:: Check that a Javac executable has been found
+if "%GLILANG%" == "en" echo Checking Javac: %JAVACPATH%
+if "%GLILANG%" == "es" echo Revisando Javac: %JAVACPATH%
+if "%GLILANG%" == "fr" echo Vrification de Javac: %JAVACPATH%
+if "%GLILANG%" == "ru" echo à®¢¥àª  Javac: %JAVACPATH%
+if exist "%JAVACPATH%\javac.exe" goto makeGLI
+
+:noJavac
+    echo.
+    if "%GLILANG%" == "en" echo Failed to locate an appropriate version of Javac. You must install a
+    if "%GLILANG%" == "en" echo Java Development Kit (version 1.4 or greater) before compiling the
+    if "%GLILANG%" == "en" echo Greenstone Librarian Interface.
+
+    if "%GLILANG%" == "es" echo No se pudo localizar una versi¢n apropiada de Javac. Usted deber 
+    if "%GLILANG%" == "es" echo instalar un Kit de Desarrollo de Software Java (versi¢n 1.4 o superior)
+    if "%GLILANG%" == "es" echo antes de generar la documentaci¢n para la Interfaz de la Biblioteca
+    if "%GLILANG%" == "es" echo Digital Greenstone.
+
+    if "%GLILANG%" == "fr" echo Une version approprie de Javac n'a pas pu tre localise. Vous devez
+    if "%GLILANG%" == "fr" echo installer un Kit de Dveloppement Java (version 1.4 ou suprieure) 
+    if "%GLILANG%" == "fr" echo avant de produire la documentation de Greenstone Librarian Interface.
+
+    if "%GLILANG%" == "ru" echo ¥ ã€ «®áì ®¯à¥€¥«šâì ¬¥áâ®­ å®Š€¥­š¥ á®®â¢¥âáâ¢ãîé¥© ¢¥àášš Javac.
+    if "%GLILANG%" == "ru" echo ë €®«Š­ë š­áâ ««šà®¢ âì Java Development Kit (¢¥àášï 1.4 š«š ¢ëè¥)
+    if "%GLILANG%" == "ru" echo ¯à¥Š€¥, ç¥¬ £¥­¥àšà®¢ âì €®ªã¬¥­â æšî €«ï ¡š¡«š®â¥ç­®£®
+    if "%GLILANG%" == "ru" echo š­â¥àä¥©á  Greenstone.
+    goto exit
+
+
+:makeGLI
+:: ---- Compile the GLI ----
+
+if "%1" == "" goto makeAll
+    :: If a file has been specified as a command-line argument, just compile that file
+    echo.
+    if "%GLILANG%" == "en" echo Compiling %1 and dependent classes...
+    if "%GLILANG%" == "es" echo Compilando %1 y clases dependientes...
+    if "%GLILANG%" == "fr" echo Compilation de %1 et des classes dpendantes,,,
+    if "%GLILANG%" == "ru" echo ®¬¯š«šà®¢ ­š¥ %1 š § ¢šáš¬ë¥ ª« ááë...
+
+    "%JAVACPATH%\javac.exe" -d classes/ -sourcepath src/ -classpath classes/;lib/apache.jar;lib/qfslib.jar %1
+
+    if "%GLILANG%" == "en" echo Done!
+    if "%GLILANG%" == "es" echo ­Hecho!
+    if "%GLILANG%" == "fr" echo Termin!
+    if "%GLILANG%" == "ru" echo ë¯®«­¥­®!
+    goto done
+
+:makeAll
+:: Otherwise compile the lot...
+
+:: Remove any existing class files first
+call clean.bat
+
+if "%GLILANG%" == "en" echo Compiling the Greenstone Librarian Interface...
+if "%GLILANG%" == "es" echo Compilando la Interfaz de la Biblioteca Digital Greenstone...
+if "%GLILANG%" == "fr" echo Compilation de Greenstone Librarian Interface,,,
+if "%GLILANG%" == "ru" echo ®¬¯š«šà®¢ ­š¥ ¡š¡«š®â¥ç­®£® š­â¥àä¥©á  Greenstone...
+
+:: Compile the GLI
+:: Sun compiler (tested with 1.5 and 1.6) didn't compile DragTreeSelectionModel.java or MetadataAuditTableModel.java automatically, so we need to put them in explicitly
+"%JAVACPATH%\javac.exe" -d classes/ -sourcepath src/ -classpath classes/;lib/apache.jar;lib/qfslib.jar src/org/greenstone/gatherer/GathererProg.java src/org/greenstone/gatherer/util/DragTreeSelectionModel.java src/org/greenstone/gatherer/metadata/MetadataAuditTableModel.java 
+"%JAVACPATH%\javac.exe" -d classes/ -sourcepath src/ -classpath classes/;lib/apache.jar;lib/qfslib.jar src/org/greenstone/gatherer/GathererApplet.java
+:: "%JAVACPATH%\javac.exe" -d classes/ -sourcepath src/ -classpath classes/;lib/apache.jar;lib/qfslib.jar src/org/greenstone/gatherer/GathererApplet4gs3.java
+
+:: Compile the GEMS
+"%JAVACPATH%\javac.exe" -d classes/ -sourcepath src/ -classpath classes/;lib/apache.jar;lib/qfslib.jar src/org/greenstone/gatherer/gems/GEMS.java
+
+:: Compile the standalone programs needed on the server for remote building
+"%JAVACPATH%\javac.exe" -d classes/ -sourcepath src/ -classpath classes/ src/org/greenstone/gatherer/remote/Zip*.java
+"%JAVACPATH%\javac.exe" -d classes/ -sourcepath src/ -classpath classes/ src/org/greenstone/gatherer/remote/Unzip.java
+
+if "%GLILANG%" == "en" echo Done!
+if "%GLILANG%" == "es" echo ­Hecho!
+if "%GLILANG%" == "fr" echo Termin!
+if "%GLILANG%" == "ru" echo ë¯®«­¥­®!
+goto done
+
+:exit
+echo.
+popd
+pause
+
+:done
+:: ---- Clean up ----
+popd
+set JAVACPATH=
Index: main/tags/2.83/gli/makegli.sh
===================================================================
--- main/tags/2.83/gli/makegli.sh	(revision 21123)
+++ main/tags/2.83/gli/makegli.sh	(revision 21123)
@@ -0,0 +1,143 @@
+#!/bin/sh
+glilang=en
+
+echo
+if [ "$glilang" = "es" ]; then
+    echo "Interfaz de la Biblioteca Digital Greenstone (Greenstone Librarian Interface - GLI)"
+    echo "Copyright (C) 2008, New Zealand Digital Library Project, University Of Waikato"
+    echo "La Interfaz de la Biblioteca Digital Greenstone NO INCLUYE ABSOLUTAMENTE NINGUNA GARANTÍA."
+    echo "Para mayor información vea los términos de la licencia en LICENSE.txt"
+    echo "Este es un software abierto, por lo que lo invitamos a que lo distribuya de forma gratuita"
+elif [ "$glilang" = "fr" ]; then
+    echo "Interface du Bibliothécaire Greenstone (Greenstone Librarian Interface - GLI)"
+    echo "Copyright (C) 2008, New Zealand Digital Library Project, University Of Waikato"
+    echo "GLI est fourni sans AUCUNE GARANTIE; pour des détails, voir LICENSE.txt"
+    echo "Ceci est un logiciel libre, et vous êtes invité à le redistribuer"
+elif [ "$glilang" = "ru" ]; then
+    echo "âÉÂÌÉÏÔÅÞÎÙÊ ÉÎÔÅÒÆÅÊÓ Greenstone (Greenstone Librarian Interface - GLI)"
+    echo "Copyright (C) 2008, New Zealand Digital Library Project, University Of Waikato"
+    echo "âéç ÎÅ ÄÁÅÔ áâóïìàôîï îéëáëéè çáòáîôéê; ÄÅÔÁÌÉ ÓÍ. × ÔÅËÓÔÅ LICENSE.TXT"
+    echo "üÔÏ - Ó×ÏÂÏÄÎÏ ÒÁÓÐÒÏÓÔÒÁÎÑÅÍÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ É ÷Ù ÍÏÖÅÔÅ ÒÁÓÐÒÏÓÔÒÁÎÑÔØ ÅÇÏ"
+else
+    echo "Greenstone Librarian Interface (GLI)"
+    echo "Copyright (C) 2008, New Zealand Digital Library Project, University Of Waikato"
+    echo "GLI comes with ABSOLUTELY NO WARRANTY; for details see LICENSE.txt"
+    echo "This is free software, and you are welcome to redistribute it"
+fi
+echo
+
+##  -------- Compile the Greenstone Librarian Interface --------
+
+## ---- Check Javac exists ----
+javacpath=
+
+# Some users may set the above line manually
+if [ "x$javacpath" = "x" ]; then
+
+    # If it is set, use the JAVA_HOME environment variable
+    if [ "x$JAVA_HOME" != "x" ]; then
+	javacpath="$JAVA_HOME/bin/javac"
+
+    # Check if Javac is on the search path
+    else
+	javacpath=`which javac 2> /dev/null`
+    fi
+fi
+
+# Check that a Javac executable has been found
+if [ "$glilang" = "es" ]; then
+    echo "Revisando Javac: $javacpath"
+elif [ "$glilang" = "fr" ]; then
+    echo "Vérification de Javac: $javacpath"
+elif [ "$glilang" = "ru" ]; then
+    echo "ðÒÏ×ÅÒËÁ Javac: $javacpath"
+else
+    echo "Checking Javac: $javacpath"
+fi
+if [ ! -x "$javacpath" ]; then
+    echo
+    if [ "$glilang" = "es" ]; then
+	echo "No se pudo localizar una versión apropiada de Javac."
+	echo "Por favor instale una nueva versión del Kit de Desarrollo de"
+	echo "Software Java (versión 1.4 o posterior) y ejecute nuevamente"
+	echo "este guión."
+    elif [ "$glilang" = "fr" ]; then
+	echo "Une version appropriée de Javac n'a pas pu être localisée."
+	echo "Veuillez installer une nouvelle version de Java SDK (version 1.4 ou"
+	echo "plus récente) et redémarrez ce script."
+    elif [ "$glilang" = "ru" ]; then
+	echo "îÅ ÕÄÁÌÏÓØ ÏÐÒÅÄÅÌÉÔØ ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ ×ÅÒÓÉÉ Javac."
+	echo "ðÏÖÁÌÕÊÓÔÁ, ÕÓÔÁÎÏ×ÉÔÅ ÎÏ×ÕÀ ×ÅÒÓÉÀ Java SDK (×ÅÒÓÉÀ 1.4 ÉÌÉ ÂÏÌÅÅ"
+	echo "ÎÏ×ÕÀ) É ÐÅÒÅÕÓÔÁÎÏ×ÉÔÅ ÜÔÏÔ ÓËÒÉÐÔ."
+    else
+	echo "Failed to locate an appropriate version of Javac. You must install a"
+	echo "Java Development Kit (version 1.4 or greater) before compiling the"
+	echo "Greenstone Librarian Interface."
+    fi
+    exit 1
+fi
+
+## ---- Compile the GLI ----
+
+# If a file has been specified at the command-line, just compile that file
+if [ ! "x$*" = "x" ] ; then
+    echo
+    if [ "$glilang" = "es" ]; then
+	echo "Compilando $* y clases dependientes..."
+    elif [ "$glilang" = "fr" ]; then
+	echo "Compilation de $* et des classes dépendantes,,,"
+    elif [ "$glilang" = "ru" ]; then
+	echo "ëÏÍÐÉÌÉÒÏ×ÁÎÉÅ $* É ÚÁ×ÉÓÉÍÙÅ ËÌÁÓÓÙ..."
+    else
+	echo "Compiling $* and dependent classes..."
+    fi
+
+    $javacpath -deprecation -d classes/ -sourcepath src/ -classpath classes/:lib/apache.jar:lib/qfslib.jar $*
+
+    if [ "$glilang" = "es" ]; then
+	echo "¡Hecho!"
+    elif [ "$glilang" = "fr" ]; then
+	echo "Terminé!"
+    elif [ "$glilang" = "ru" ]; then
+	echo "÷ÙÐÏÌÎÅÎÏ!"
+    else
+	echo "Done!"
+    fi
+    exit 0
+fi
+
+# Otherwise compile the lot...
+
+# Remove any existing class files first
+./clean.sh
+
+if [ "$glilang" = "es" ]; then
+    echo "Compilando la Interfaz de la Biblioteca Digital Greenstone..."
+elif [ "$glilang" = "fr" ]; then
+    echo "Compilation de Greenstone Librarian Interface,,,"
+elif [ "$glilang" = "ru" ]; then
+    echo "ëÏÍÐÉÌÉÒÏ×ÁÎÉÅ ÂÉÂÌÉÏÔÅÞÎÏÇÏ ÉÎÔÅÒÆÅÊÓÁ Greenstone..."
+else
+    echo "Compiling the Greenstone Librarian Interface..."
+fi
+
+# Compile the GLI
+$javacpath -deprecation -d classes/ -sourcepath src/ -classpath classes/:lib/apache.jar:lib/qfslib.jar src/org/greenstone/gatherer/GathererProg.java
+$javacpath -deprecation -d classes/ -sourcepath src/ -classpath classes/:lib/apache.jar:lib/qfslib.jar src/org/greenstone/gatherer/GathererApplet.java
+#$javacpath -deprecation -d classes/ -sourcepath src/ -classpath classes/:lib/apache.jar:lib/qfslib.jar src/org/greenstone/gatherer/GathererApplet4gs3.java
+# Compile the GEMS
+$javacpath -deprecation -d classes/ -sourcepath src/ -classpath classes/:lib/apache.jar:lib/qfslib.jar src/org/greenstone/gatherer/gems/GEMS.java
+
+# Compile the standalone programs needed on the server for remote building
+$javacpath -deprecation -d classes/ -sourcepath src/ -classpath classes/ src/org/greenstone/gatherer/remote/Zip*.java
+$javacpath -deprecation -d classes/ -sourcepath src/ -classpath classes/ src/org/greenstone/gatherer/remote/Unzip.java
+
+if [ "$glilang" = "es" ]; then
+    echo "¡Hecho!"
+elif [ "$glilang" = "fr" ]; then
+    echo "Terminé!"
+elif [ "$glilang" = "ru" ]; then
+    echo "÷ÙÐÏÌÎÅÎÏ!"
+else
+    echo "Done!"
+fi
Index: main/tags/2.83/gli/makejar.bat
===================================================================
--- main/tags/2.83/gli/makejar.bat	(revision 21123)
+++ main/tags/2.83/gli/makejar.bat	(revision 21123)
@@ -0,0 +1,174 @@
+echo off
+pushd "%CD%"
+CD /D "%~dp0"
+set GLILANG=en
+
+:: This script must be run from within the directory in which it lives
+if exist makejar.bat goto findJar
+    if "%GLILANG%" == "en" echo This script must be run from the directory in which it resides.
+    if "%GLILANG%" == "es" echo Este gui¢n deber  ejecutarse desde el directorio en el que reside.
+    if "%GLILANG%" == "fr" echo Ce script doit tre excut 
+ partir du rpertoire dans lequel il se trouve.
+    if "%GLILANG%" == "ru" echo â®â áªàš¯â €®«Š¥­ ¡ëâì ¢§ïâ š§ €šà¥ªâ®àšš, ¢ ª®â®à®© ®­ à á¯®«®Š¥­
+    goto exit
+
+
+
+
+:findJar
+:: ---- Check jar exists ----
+set JARPATH=
+
+:: Some users may set the above line manually
+if not "%JARPATH%" == "" goto testJar
+
+    :: If it is set, use the JAVA_HOME environment variable
+    if not "%JAVA_HOME%" == "" goto javahome
+
+    :: Check if jar is on the search path
+    echo %PATH%| winutil\which.exe jar.exe | winutil\setvar.exe JARPATH > setjar.bat
+    call setjar.bat
+    del setjar.bat
+    if not "%JARPATH%" == "" goto testJar
+
+    :: Still haven't found anything, so try looking in the registry (gulp!)
+    type nul > jdk.reg
+    regedit /E jdk.reg "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit"
+    type jdk.reg > jdk.txt
+    del jdk.reg
+
+    winutil\findjava.exe jdk.txt | winutil\setvar.exe JARPATH > setjar.bat
+    del jdk.txt
+    call setjar.bat
+    del setjar.bat
+
+    :: If nothing was found in the registry, we're stuck
+    if "%JARPATH%" == "" goto noJar
+
+    set JARPATH=%JARPATH%\bin
+    goto testJar
+
+:javahome
+    set JARPATH=%JAVA_HOME%\bin
+
+:testJar
+:: Check that a jar executable has been found
+if "%GLILANG%" == "en" echo Checking jar: %JARPATH%
+if "%GLILANG%" == "es" echo Revisando jar: %JARPATH%
+if "%GLILANG%" == "fr" echo Vrification de jar: %JARPATH%
+if "%GLILANG%" == "ru" echo à®¢¥àª  jar: %JARPATH%
+if exist "%JARPATH%\jar.exe" goto checkCompile
+
+:noJar
+    echo.
+    if "%GLILANG%" == "en" echo Failed to locate an appropriate version of jar. You must install a
+    if "%GLILANG%" == "en" echo Java Development Kit (version 1.4 or greater) before compiling the
+    if "%GLILANG%" == "en" echo Greenstone Librarian Interface.
+
+    if "%GLILANG%" == "es" echo No se pudo localizar una versi¢n apropiada de jar. Usted deber 
+    if "%GLILANG%" == "es" echo instalar un Kit de Desarrollo de Software Java (versi¢n 1.4 o superior)
+    if "%GLILANG%" == "es" echo antes de generar la documentaci¢n para la Interfaz de la Biblioteca
+    if "%GLILANG%" == "es" echo Digital Greenstone.
+
+    if "%GLILANG%" == "fr" echo Une version approprie de jar n'a pas pu tre localise. Vous devez
+    if "%GLILANG%" == "fr" echo installer un Kit de Dveloppement Java (version 1.4 ou suprieure) 
+    if "%GLILANG%" == "fr" echo avant de produire la documentation de Greenstone Librarian Interface.
+
+    if "%GLILANG%" == "ru" echo ¥ ã€ «®áì ®¯à¥€¥«šâì ¬¥áâ®­ å®Š€¥­š¥ á®®â¢¥âáâ¢ãîé¥© ¢¥àášš jar.
+    if "%GLILANG%" == "ru" echo ë €®«Š­ë š­áâ ««šà®¢ âì Java Development Kit (¢¥àášï 1.4 š«š ¢ëè¥)
+    if "%GLILANG%" == "ru" echo ¯à¥Š€¥, ç¥¬ £¥­¥àšà®¢ âì €®ªã¬¥­â æšî €«ï ¡š¡«š®â¥ç­®£®
+    if "%GLILANG%" == "ru" echo š­â¥àä¥©á  Greenstone.
+    goto exit
+
+
+
+:checkCompile
+:: Check that the GLI has been compiled 
+if exist classes\org\greenstone\gatherer\GathererProg.class goto makeJar
+    if "%GLILANG%" == "es"  (
+	echo Usted necesita compilar la Interfaz de la Biblioteca Digital Greenstone
+	echo (por medio de makegli.sh) antes de ejecutar este guión.
+    )
+    if "%GLILANG%" == "fr" (
+	echo Vous devez compiler le Greenstone Interface (en utilisant makegli.sh)
+	echo avant d'exécuter ce script.
+    )
+    if "%GLILANG%" == "ru" (
+	echo ÷Ù ÄÏÌÖÎÙ ËÏÍÐÉÌÉÒÏ×ÁÔØ ÂÉÂÌÉÏÔÅÞÎÙÊ ÉÎÔÅÒÆÅÊÓ Greenstone
+	echo (ÉÓÐÏÌØÚÕÑ makegli.sh) ÐÅÒÅÄ ××ÏÄÏÍ ÜÔÏÇÏ ÓËÒÉÐÔÁ
+    )
+    if "%GLILANG%" == "en" (
+	echo You need to compile the Greenstone Librarian Interface (using makegli.sh)
+	echo before running this script.
+    )
+    goto exit
+fi
+
+
+:makeJar
+:: All the GLI class files and supporting libraries are put into the "jar" directory
+
+echo Assuming that Java code is freshly compiled...
+
+if NOT exist jar (
+  mkdir jar
+
+  cd lib
+  "%JARPATH%\jar" xf apache.jar com org
+  "%JARPATH%\jar" xf qfslib.jar de
+
+  move com ..\jar\com     >NUL
+  move de ..\jar\de       >NUL
+  move org ..\jar\org     >NUL
+
+  cd ..
+)
+
+:: Copy the latest version of the GLI classes into the jar directory
+if exist jar\org\greenstone (
+  rmdir /q /s jar\org\greenstone
+)
+xcopy /i /e /q classes\org\greenstone jar\org\greenstone
+
+:: Some of the things to go into the JAR file are optional, and may not exist
+set optional=
+if exist collect.zip (
+    set optional=%optional% collect.zip
+)
+
+:: Recreate the metadata.zip file (contains the GLI metadata directory)
+if exist metadata.zip (
+  del /f metadata.zip
+)
+winutil\zip.exe -r metadata.zip metadata >NUL
+
+:: Jar everything up
+"%JARPATH%\jar" cf GLI.jar .java.policy metadata.zip %optional% help -C classes dictionary.properties -C classes dictionary_es.properties -C classes dictionary_fr.properties -C classes dictionary_ru.properties -C classes feedback.properties -C classes images -C classes xml -C jar com -C jar de -C jar org
+
+:: Tidy up
+del /f metadata.zip
+
+:: Generate the GLIServer.jar file for remote building
+"%JARPATH%\jar" cf GLIServer.jar -C classes org/greenstone/gatherer/remote
+
+:: ---- Make signed JAR file for the applet, if desired ----
+if  (%1) == (-sign) (
+
+    if not exist appletstore (
+      "%JARPATH%\keytool" -genkey -alias privateKey -keystore appletstore -storepass greenstone
+    )
+
+    if exist SignedGatherer.jar del /f SignedGatherer.jar
+    if exist appletpasswd (
+      echo Using jarsigner to make signed jar file ...
+      "%JARPATH%\jarsigner" -keystore appletstore -signedjar SignedGatherer.jar GLI.jar privateKey < appletpasswd >NUL 2>NUL
+      echo ... done.
+    ) ELSE (
+      "%JARPATH%\jarsigner" -keystore appletstore -signedjar SignedGatherer.jar GLI.jar privateKey
+    )
+    echo Installing SignedGatherer in ..\bin\java
+    move SignedGatherer.jar ..\bin\java\SignedGatherer.jar
+)
+:exit
+
+popd
Index: main/tags/2.83/gli/makejar.sh
===================================================================
--- main/tags/2.83/gli/makejar.sh	(revision 21123)
+++ main/tags/2.83/gli/makejar.sh	(revision 21123)
@@ -0,0 +1,98 @@
+#!/bin/sh
+glilang=en
+
+
+# This script must be run from within the directory in which it lives
+thisdir=`pwd`
+if [ ! -f "${thisdir}/makejar.sh" ]; then
+    if [ "$glilang" = "es" ]; then
+        echo "Este guión deberá ejecutarse desde el directorio en el que reside."
+    elif [ "$glilang" = "fr" ]; then
+	echo "Ce script doit être exécuté à partir du répertoire dans lequel il se trouve."
+    elif [ "$glilang" = "ru" ]; then
+	echo "üÔÏÔ ÓËÒÉÐÔ ÄÏÌÖÅÎ ÂÙÔØ ×ÚÑÔ ÉÚ ÄÉÒÅËÔÏÒÉÉ, × ËÏÔÏÒÏÊ ÏÎ ÒÁÓÐÏÌÏÖÅÎ"
+    else
+	echo "This script must be run from the directory in which it resides."
+    fi
+    exit 1
+fi
+
+echo "Generating the JAR files for Remote Greenstone"
+
+## ---- Check that the GLI has been compiled ----
+if [ ! -f "classes/org/greenstone/gatherer/GathererProg.class" ]; then
+    echo
+    if [ "$glilang" = "es" ]; then
+	echo "Usted necesita compilar la Interfaz de la Biblioteca Digital Greenstone"
+	echo "(por medio de makegli.sh) antes de ejecutar este guión."
+    elif [ "$glilang" = "fr" ]; then
+	echo "Vous devez compiler le Greenstone Interface (en utilisant makegli.sh)"
+	echo "avant d'exécuter ce script."
+    elif [ "$glilang" = "ru" ]; then
+	echo "÷Ù ÄÏÌÖÎÙ ËÏÍÐÉÌÉÒÏ×ÁÔØ ÂÉÂÌÉÏÔÅÞÎÙÊ ÉÎÔÅÒÆÅÊÓ Greenstone"
+	echo "(ÉÓÐÏÌØÚÕÑ makegli.sh) ÐÅÒÅÄ ××ÏÄÏÍ ÜÔÏÇÏ ÓËÒÉÐÔÁ"
+    else
+	echo "You need to compile the Greenstone Librarian Interface (using makegli.sh)"
+	echo "before running this script."
+    fi
+    exit 1
+fi
+
+echo "Assuming that Java code is freshly compiled..."
+
+rm -rf jar
+mkdir jar
+
+# GLI class files and supporting libraries
+cd lib
+jar xf apache.jar com org
+jar xf qfslib.jar de
+mv com de org ../jar/.
+cd ..
+
+# Copy the latest version of the GLI classes into the jar directory
+rm -rf jar/org/greenstone
+cp -r classes/org/greenstone jar/org
+
+# Some of the things to go into the JAR file are optional, and may not exist
+if [ -f collect.zip ]; then
+  cp collect.zip jar
+fi
+
+# Recreate the metadata.zip file (contains the GLI metadata directory)
+rm -f metadata.zip
+zip -r jar/metadata.zip metadata >/dev/null
+
+# Dictionary files
+cd classes
+for dict_file in dictionary*.properties; do
+	cp $dict_file ../jar
+done
+cd ..
+
+# Other required directories and files
+cp -r 'help' jar
+cp -r 'classes/images' jar
+cp -r 'classes/xml' jar
+cp 'classes/feedback.properties' jar
+cp '.java.policy' jar
+
+# Clean .svn dirs
+find jar -name '.svn' -type d -exec rm -rf {} \; 2> /dev/null
+
+# Jar everything up
+cd jar
+jar cf ../GLI.jar *
+cd ..
+
+# Generate the GLIServer.jar file for remote building
+jar cf GLIServer.jar -C jar org/greenstone/gatherer/remote
+
+# ---- Make signed JAR file for the applet, if desired ----
+if [ "$1" = "-sign" ]; then
+    rm -f SignedGatherer.jar
+    echo "greenstone" | jarsigner -keystore .greenstonestore -signedjar SignedGatherer.jar GLI.jar privateKey 2> /dev/null
+    echo
+    echo "Installing SignedGatherer in ../bin/java"
+    mv SignedGatherer.jar ../bin/java/.
+fi
Index: main/tags/2.83/gli/metadata/adding_translations.txt
===================================================================
--- main/tags/2.83/gli/metadata/adding_translations.txt	(revision 21123)
+++ main/tags/2.83/gli/metadata/adding_translations.txt	(revision 21123)
@@ -0,0 +1,88 @@
+How to add a translation for a metadata set.
+
+Note: When using the word element, we are speaking of a document object model element. Whereas when we say Element we are talking about a particular document object model element used to describe an item from the current set.
+
+1. Prepare your source text in a UTF8 encoded document, or use a fully Unicode compliant text editor. Open the metadata set file that you want to edit.
+
+Example: To add a new language to the dublin.mds, open the file in a UTF8 editor.
+
+2. In MetadataSet DOM element edit, or add if necessary, an argument named "language_dependent". As its value add a list of comma separated attribute names. These are the names of the attributes which are taken to be language dependent (see 4). This is optional.
+
+Example: While editing the dublin.mds scroll down to the start of the MetadataSet xml block, which looks like:
+
+<MetadataSet 
+  contact     = "dcmi-feedback@dublincore.org"
+  creator     = "Dublin Core Metadata Initiative"
+  family      = "Dublin Core"
+  lastchanged = "Tue Jun 04 10:35:30 2002 - jmt12 on blackbird"
+  namespace   = "dc" 
+>
+
+and add the mentioned line so it reads something like:
+
+<MetadataSet 
+  contact     = "dcmi-feedback@dublincore.org"
+  creator     = "Dublin Core Metadata Initiative"
+  family      = "Dublin Core"
+  lastchanged = "Tue Jun 04 10:35:30 2002 - jmt12 on blackbird"
+  namespace   = "dc" 
+  language_dependent = "label, definition, comment"
+>
+
+where label, definition and command are the attributes that we wish to be language specific.
+
+3. Near the top of the document add a language specific set description block of the form
+
+  <SetLanguage code="**">
+    <Name>**</Name>
+    <Description>**</Description>
+  </SetLanguage>
+
+  Replace the ** with the relevant detail. Code is the two letter language code according to ISO 3166.
+
+Example: To add the French translation to the dublin.mds scroll down to just below the MetadataSet xml block, and add the SetLanguage xml block:
+
+  <SetLanguage code="fr">
+    <Name language="fr">El\303\251ments de m\303\251tadonn\303\251es du Dublin Core, Version 1.1: Description de R\303\251ference</Name>
+    <Description language="fr">Ce document r\303\251sume...</Description>
+  </SetLanguage>
+
+4. For each Element xml block defined in the metadata set, add a new Language xml block and within it add the language specfic Attributes. The block is of the form:
+
+    <Language code="**">
+       <Attribute name="**">**</Attribute>
+       ...
+    </Language>
+
+  Replace the ** with the relevant detail. Once again code is the two letter language code according to ISO 3166. Note that the names specified in the name argument of an Attribute must also be listed in the language_dependent argument of the MetadataSet (see 1) (OPTIONAL)
+
+Example: Thus to add a French translation for the Element "Title", scroll down to the Element xml block defining Title. This should start:
+
+  <Element name="Title" remember_values="true">
+  ...
+  ...
+  ...
+  </Element>
+
+Now add in a new Language block so it looks something like this:
+
+  <Element name="Title" remember_values="true">
+  ...
+     <!-- French -->
+     <Language code="fr">
+        <Attribute name="label">Titre</Attribute>
+        <Attribute name="definition">Le nom donn\303\251 \303\240  la ressource.</Attribute>
+        <Attribute name="comment">Typiquement, un titre sera le nom par lequel la ressource est officiellement connue.</Attribute>
+     </Language>
+  ...
+  </Element>    
+
+5. Finally edit the file <gli_install>/classes/xml/languages.xml. Locate the appropriate Language and add the argument mds="true" to enable this language. This controls what languages appear on the preferences page within the GLI.
+
+Example: Finally to enable the French translation, find the entry in the languages.xml file that reads:
+
+  <Language name="FRENCH"              code="FR" ... >ROMANCE</Language>
+
+And change it so it now says:
+
+  <Language name="FRENCH"              code="FR" ... mds="true">ROMANCE</Language> 
Index: main/tags/2.83/gli/metadata/agls.mds
===================================================================
--- main/tags/2.83/gli/metadata/agls.mds	(revision 21123)
+++ main/tags/2.83/gli/metadata/agls.mds	(revision 21123)
@@ -0,0 +1,287 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE MetadataSet SYSTEM "http://www.greenstone.org/dtd/MetadataSet/1.0/MetadataSet.dtd">
+<MetadataSet contact="agls@naa.gov.au" creator="The National Archives of Australia" family="" lastchanged="Tue Sep 05 14:40:36 NZST 2006 - kjdon on kanuka" namespace="agls">
+    <Name language="en">Australian Government Locator Service Metadata Element Set, Version 1.3</Name>
+    <Element name="Creator">
+        <Attribute language="en" name="label">Creator</Attribute>
+        <Attribute language="en" name="obligation">Mandatory if known</Attribute>
+        <Attribute language="en" name="definition">An entity primarily responsible for making the content of the resource.</Attribute>
+        <Attribute language="en" name="comment">Examples of a Creator include a person, or an organisation.</Attribute>
+    </Element>
+    <Element name="Date">
+        <Attribute language="en" name="label">Date</Attribute>
+        <Attribute language="en" name="definition">A date of an event in the lifecycle of the resource.</Attribute>
+        <Attribute language="en" name="obligation">Mandatory</Attribute>
+        <Attribute language="en" name="comment">Typically, Date will be associated with the creator or availability of the resource. Recommended best practice for encoding the date value is defined in a profile of ISO 8601 [W3CDTF] and follows the YYYY-MM-DD format.</Attribute>
+        <Element name="created">
+            <Attribute language="en" name="label">Created</Attribute>
+            <Attribute language="en" name="definition">Creation date of the resource</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+        </Element>
+        <Element name="modified">
+            <Attribute language="en" name="label">Modified</Attribute>
+            <Attribute language="en" name="definition">Creation date of the resource</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+        </Element>
+        <Element name="valid">
+            <Attribute language="en" name="label">Valid</Attribute>
+            <Attribute language="en" name="comment">Typically, a date the resource becomes valid or ceases to be valid, or the date range for which the resource is valid.</Attribute>
+            <Attribute language="en" name="definition">A date (often a range) of validity of a resource.</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+        </Element>
+        <Element name="issued">
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">A date on which the rescource was made formally available in its current form.</Attribute>
+            <Attribute language="en" name="label">Issued</Attribute>
+        </Element>
+    </Element>
+    <Element name="Title">
+        <Attribute language="en" name="label">Title</Attribute>
+        <Attribute language="en" name="definition">A name given to the resource.</Attribute>
+        <Attribute language="en" name="obligation">Mandatory</Attribute>
+        <Attribute language="en" name="comment">This qualifier could include abbreviations and acronyms by which a resource may be known.</Attribute>
+        <Element name="alternative">
+            <Attribute language="en" name="label">Alternative</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">Any form of the title used as a substitute or alternative to the formal title or the resource</Attribute>
+            <Attribute language="en" name="comment">This qualifier could include abbreviations and acronyms by which a resource may be known.</Attribute>
+        </Element>
+    </Element>
+    <Element name="Availability">
+        <Attribute language="en" name="definition">How the resource can be obtained or contact information for obtaining the resource.</Attribute>
+        <Attribute language="en" name="obligation">Mandatory for offline resources.</Attribute>
+        <Attribute language="en" name="comment">The Availability element is primarily used for non-electronic resources to provide information on how to obtain physical access to the resource.</Attribute>
+        <Attribute language="en" name="label">Availability</Attribute>
+    </Element>
+    <Element name="Function">
+        <Attribute language="en" name="label">Function</Attribute>
+        <Attribute language="en" name="definition">The business function of the organisation to which the resource relates.</Attribute>
+        <Attribute language="en" name="obligation">Mandatory if no Subject element specified.</Attribute>
+        <Attribute language="en" name="comment">Used to indicate the business role of the resource in terms of business functions and activities. Functions are the major units of activity which organisations pursue in order to meet the mission and goals of the organisation. They are defined in the Australian Records Management Standard (AS 4390) as the largest unit of business activity in an organisation. Recommended best practice is to select a value from a controlled vocabulary or formal classification scheme.</Attribute>
+    </Element>
+    <Element name="Identifier">
+        <Attribute language="en" name="label">Resource Identifier</Attribute>
+        <Attribute language="en" name="definition">An unambiguous reference to the resource within a given context.</Attribute>
+        <Attribute language="en" name="obligation">Mandatory for online resources.</Attribute>
+        <Attribute language="en" name="comment">Recommended best practice is to identify the resource by means of a string or number conforming to a formal identification system. Example formal identification systems include the Uniform Resource Identifier (URI) (including the Uniform Resource Locator (URL)), the Digital Object Identifier (DOI) and the International Standard Book Number (ISBN).</Attribute>
+    </Element>
+    <Element name="Publisher">
+        <Attribute language="en" name="label">Publisher</Attribute>
+        <Attribute language="en" name="definition">An entity responsible for making the resource available.</Attribute>
+        <Attribute language="en" name="obligation">Mandatory for information resources.</Attribute>
+        <Attribute language="en" name="comment">This field is often the name of the organisation that owns or controls or publishes the resource. It is not recommended that this element be used for the name of the entity which merely acts as the host for a website.</Attribute>
+    </Element>
+    <Element name="Subject">
+        <Attribute language="en" name="label">Subject and Keywords</Attribute>
+        <Attribute language="en" name="definition">A subject and/or topic of the content of the resource.</Attribute>
+        <Attribute language="en" name="obligation">Mandatory if no Function element specified.</Attribute>
+        <Attribute language="en" name="comment">Typically, a Subject will be expressed as keywords, key phrases or classification codes that describe a topic of the resource content. Recommended best practice is to select a value from a controlled vocabulary or formal classification scheme.</Attribute>
+    </Element>
+    <Element name="Audience">
+        <Attribute language="en" name="label">Audience</Attribute>
+        <Attribute language="en" name="definition">A target audience of the resource.</Attribute>
+        <Attribute language="en" name="obligation">Optional</Attribute>
+        <Attribute language="en" name="comment">Types of audiences commonly used in this element include particular industry sectors, education levels, skill levels, occupations, and EEO categories. Recommended best practice is to select a value from a controlled vocabulary or formal classification scheme.</Attribute>
+    </Element>
+    <Element name="Contributor">
+        <Attribute language="en" name="label">Contributor</Attribute>
+        <Attribute language="en" name="definition">An entity responsible for making a contribution to the content of the resource.</Attribute>
+        <Attribute language="en" name="obligation">Optional</Attribute>
+        <Attribute language="en" name="comment">Typically, a contributor will be an entity that has played an important but secondary role in creating the content of the resource and is not specified in the creator element.</Attribute>
+    </Element>
+    <Element name="Coverage">
+        <Attribute language="en" name="label">Coverage</Attribute>
+        <Attribute language="en" name="definition">The extent or scope of the content of the resource.</Attribute>
+        <Attribute language="en" name="obligation">Optional</Attribute>
+        <Attribute language="en" name="comment">Coverage will typically include spatial location (a place name or geographic coordinates), temporal period (a period label, date, or date range) or jurisdiction (such as a named administrative entity). Recommended best practice is to select a value from a controlled vocabulary (for example, the Thesaurus of Geographic Names [TGN]) and that, where appropriate, named places or time periods be used in preference to numeric identifiers such as sets of coordinates or date ranges. </Attribute>
+        <Element name="jurisdiction">
+            <Attribute language="en" name="label">Jurisdiction</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">The name of the political/administrative entity covered by the content of the resource.</Attribute>
+            <Attribute language="en" name="comment">Jurisdiction is a description of the territory over which a particular government exercises its authority or a particualar business transacts its operations, to which the resource content is applicable.</Attribute>
+        </Element>
+        <Element name="spatial">
+            <Attribute language="en" name="label">Spatial</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">Spatial (geographic) characteristics of the intellectual content of the resource.</Attribute>
+        </Element>
+        <Element name="temporal">
+            <Attribute language="en" name="label">Temporal</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">Temporal characteristics of the intellectual content of the resource.</Attribute>
+        </Element>
+        <Element name="postcode">
+            <Attribute language="en" name="label">Postcode</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">Australian postcode(s) applicable to the spatial coverage of the resource content.</Attribute>
+            <Attribute language="en" name="comment">Postcode refers to the actual Australian postcode(s) which is relevant to the spatial coverage of the resource content. This qualifier will be of particular use in describing services.</Attribute>
+        </Element>
+    </Element>
+    <Element name="Description">
+        <Attribute language="en" name="label">Description</Attribute>
+        <Attribute language="en" name="definition">An account of the content of the resource.</Attribute>
+        <Attribute language="en" name="obligation">Optional</Attribute>
+        <Attribute language="en" name="comment">Description may include but is not limited to: an abstract, table of contents, reference to a graphical representation of content (eg a thumbnail of an image), or a free-text account of the content.</Attribute>
+    </Element>
+    <Element name="Format">
+        <Attribute language="en" name="label">Format</Attribute>
+        <Attribute language="en" name="definition">The physical or digital manifestation of the resource. </Attribute>
+        <Attribute language="en" name="obligation">Optional</Attribute>
+        <Attribute language="en" name="comment">Typically, Format may include the media-type or dimensions of the resource. Format may be used to determine the software, hardware or other equipment needed to display or operate the resource. Examples of dimensions include size and duration. Recommended best practice is to select a value from a controlled vocabulary (for example, the list of Internet Media Types [MIME] defining computer media formats).</Attribute>
+        <Element name="extent">
+            <Attribute language="en" name="label">Extent</Attribute>
+            <Attribute language="en" name="qualifier type">Element refinement</Attribute>
+            <Attribute language="en" name="definition">The size or duration of the resource.</Attribute>
+            <Attribute language="en" name="comment">The extent qualifier allows the description of the physical dimensions, file size or duration of the resource.</Attribute>
+        </Element>
+        <Element name="medium">
+            <Attribute language="en" name="label">Medium</Attribute>
+            <Attribute language="en" name="qualifier type">Element refinement</Attribute>
+            <Attribute language="en" name="definition">The material or physical carrier of the resource.</Attribute>
+        </Element>
+    </Element>
+    <Element name="Language">
+        <Attribute language="en" name="label">Language</Attribute>
+        <Attribute language="en" name="definition">A language of the intellectual content of the resource.</Attribute>
+        <Attribute language="en" name="obligation">Optional</Attribute>
+        <Attribute language="en" name="comment">Recommended best practice for the values of the Language element is defined by RFC 3066 [RFC 3066] which includes a two-letter Language Code (taken from the ISO 639 standard [ISO 639]), followed optionally, by a two-letter Country Code (taken from the ISO 3166 standard [ISO 3166]). For example, &apos;en&apos; for English, &apos;fr&apos; for French, or &apos;en-uk&apos; for English used in the United Kingdom.</Attribute>
+    </Element>
+    <Element name="Mandate">
+        <Attribute language="en" name="label">Mandate</Attribute>
+        <Attribute language="en" name="definition">A specific warrant which requires the resource to be created or provided.</Attribute>
+        <Attribute language="en" name="obligation">Optional </Attribute>
+        <Attribute language="en" name="comment">The element is useful to indicate the specific legal mandate which requires the resource being described to be created or provided to the public. The content of this element will usually be a reference to a specific Act, Regulation or Case, but may be a URI pointing to the legal instrument in question. </Attribute>
+        <Element name="act">
+            <Attribute language="en" name="label">Act</Attribute>
+            <Attribute language="en" name="definition">A reference to a specific State or Federal Act which requires the creation or provision of the resource</Attribute>
+            <Attribute language="en" name="qualifier type">Element refinement</Attribute>
+        </Element>
+        <Element name="regulation">
+            <Attribute language="en" name="label">Regulation</Attribute>
+            <Attribute language="en" name="definition">A reference to a specific regulation which requires the creation or provision of the resource.</Attribute>
+            <Attribute language="en" name="qualifier type">Element refinement</Attribute>
+        </Element>
+        <Element name="case">
+            <Attribute language="en" name="label">Case Law</Attribute>
+            <Attribute language="en" name="qualifier type">Element refinement</Attribute>
+            <Attribute language="en" name="definition">A reference to a specific case which requires the creation or provision of the resource</Attribute>
+        </Element>
+    </Element>
+    <Element name="Relation">
+        <Attribute language="en" name="label">Relation</Attribute>
+        <Attribute language="en" name="definition">A reference to a related resource.</Attribute>
+        <Attribute language="en" name="obligation">Optional</Attribute>
+        <Attribute language="en" name="comment">Recommended best practice is to reference the resource by means of a string or number conforming to a formal identification system.</Attribute>
+        <Element name="isVersionOf">
+            <Attribute language="en" name="label">Is Version Of</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">The described resource is a version, edition, or adaption of the referenced resource. Changes in version imply substative changes in content rather than differences in format.</Attribute>
+        </Element>
+        <Element name="hasVersion">
+            <Attribute language="en" name="label">Has Version</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">The described resource has a version, edition, or adaptation, namely, the referenced resource.</Attribute>
+        </Element>
+        <Element name="isReplacedBy">
+            <Attribute language="en" name="label">Is Replaced By</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">The described resource is supplanted, displaced, or superseded by the referenced resource.</Attribute>
+        </Element>
+        <Element name="replaces">
+            <Attribute language="en" name="label">Replaces</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">The described resources supplants, displaces, or supersedes the referenced reource.</Attribute>
+        </Element>
+        <Element name="isRequiredBy">
+            <Attribute language="en" name="label">Is Required By</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">The described resource is required by the referenced resource, either physically or logically. </Attribute>
+        </Element>
+        <Element name="requires">
+            <Attribute language="en" name="label">Requires</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">The described resource requires the referenced resource to support its function, delivery, or coherence of content. </Attribute>
+        </Element>
+        <Element name="isPartOf">
+            <Attribute language="en" name="label">Is Part Of</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">The described resource is a physical or logical part of the referenced resource. </Attribute>
+        </Element>
+        <Element name="hasPart">
+            <Attribute language="en" name="label">Has Part</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">The described resource includes the referenced resource either physically or logically. </Attribute>
+        </Element>
+        <Element name="isReferencedBy">
+            <Attribute language="en" name="label">Is Referenced By</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">The described resource is referenced, cited, or otherwise pointed to by the referenced resource. </Attribute>
+        </Element>
+        <Element name="references">
+            <Attribute language="en" name="label">References</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">The described resource references, cites, or otherwise points to the referenced resource. </Attribute>
+        </Element>
+        <Element name="isFormatOf">
+            <Attribute language="en" name="label">Is Format Of</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">The described resource is the same intellectual content of the referenced resource, but presented in another format. </Attribute>
+        </Element>
+        <Element name="hasFormat">
+            <Attribute language="en" name="label">Has Format</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">The described resource pre-existed the referenced resource, which is essentially the same intellectual content presented in another format. </Attribute>
+        </Element>
+        <Element name="isBasisFor">
+            <Attribute language="en" name="label">Is Basis For</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Attribute language="en" name="definition">The described resource pre-existed the referenced resource, which is a performance, production, derivation, translation, or interpretation of the described resource. </Attribute>
+        </Element>
+        <Element name="isBasedOn">
+            <Attribute language="en" name="label">Is Based On</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement </Attribute>
+            <Attribute language="en" name="definition">The described resource is a performance, production, derivation, translation, or interpretation of the referenced resource. </Attribute>
+        </Element>
+    </Element>
+    <Element name="Rights">
+        <Attribute language="en" name="label">Rights Management</Attribute>
+        <Attribute language="en" name="definition">Information about rights held in and over the resource.</Attribute>
+        <Attribute language="en" name="obligation">Optional</Attribute>
+        <Attribute language="en" name="comment">Typically, the Rights element will contain a rights management statement for the resource, or refer to a service providing such information. Rights information often encompasses Intellectual Property Rights (IPR), Copyright, and various Property Rights. If the Rights element is absent, no assumptions can be made about the status of these and other rights with respect to the resource.</Attribute>
+    </Element>
+    <Element name="Source">
+        <Attribute language="en" name="label">Source</Attribute>
+        <Attribute language="en" name="definition">A reference to a resource from which the present resource is derived.</Attribute>
+        <Attribute language="en" name="obligation">Optional</Attribute>
+        <Attribute language="en" name="comment">The present resource may be derived from the Source resource in whole or in part. Recommended best practice is to reference the source resource by means of a string or number conforming to a formal identification system.</Attribute>
+    </Element>
+    <Element name="Type">
+        <Attribute language="en" name="label">Type</Attribute>
+        <Attribute language="en" name="defintion">The nature or genre of the content of the resource.</Attribute>
+        <Attribute language="en" name="obligation">Optional</Attribute>
+        <Attribute language="en" name="comment">Type includes terms describing general categories, genres, or aggregation levels for content. Recommended best practice is to select a value from a controlled vocabulary (for example, the working draft list of Dublin Core Types [DCT1]). To describe the physical or digital manifestation of the resource, use the FORMAT element.</Attribute>
+        <Element name="category">
+            <Attribute language="en" name="label">Category</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement </Attribute>
+            <Attribute language="en" name="definition">The generic type of the resource being described. </Attribute>
+            <Attribute language="en" name="comment">The value for this qualifier must be one of either service, document, or agency. </Attribute>
+        </Element>
+        <Element name="aggregtionLevel">
+            <Attribute language="en" name="label">Aggregtion Level</Attribute>
+            <Attribute language="en" name="qualifier type">Element refinement</Attribute>
+            <Attribute language="en" name="definition">The level of aggregation of the resource being described.</Attribute>
+            <Attribute language="en" name="comment">There are only two values possible for this qualifier, either item or collection.</Attribute>
+        </Element>
+        <Element name="documentType">
+            <Attribute language="en" name="label">Document Type</Attribute>
+            <Attribute language="en" name="qualifier type">Element refinement</Attribute>
+            <Attribute language="en" name="definition">The form of the resource where category = document.</Attribute>
+            <Attribute language="en" name="comment">Document is used in its widest sense and includes such things as software sound files and images. </Attribute>
+        </Element>
+        <Element name="serviceType">
+            <Attribute language="en" name="label">Service Type</Attribute>
+            <Attribute language="en" name="qualifier type">Element refinement</Attribute>
+            <Attribute language="en" name="definition">The type of service being offered where category = service. </Attribute>
+        </Element>
+    </Element>
+</MetadataSet>
Index: main/tags/2.83/gli/metadata/dls.mds
===================================================================
--- main/tags/2.83/gli/metadata/dls.mds	(revision 21123)
+++ main/tags/2.83/gli/metadata/dls.mds	(revision 21123)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE MetadataSet SYSTEM "http://www.greenstone.org/dtd/MetadataSet/1.0/MetadataSet.dtd">
+<MetadataSet contact="nzdl.org" creator="New Zealand Digital Libraries Project: Greenstone" family="Development Library Subset" lastchanged="Tue Sep 05 14:40:36 NZST 2006 - kjdon on kanuka" namespace="dls">
+    <Name language="en">Development Library Subset Example Metadata</Name>
+    <Description language="en">A metadata set file for use in The Gatherer, created from original metadata found within the Development Library Subset.</Description>
+    <Element name="Title">
+        <Attribute language="en" name="comment"/>
+        <Attribute language="en" name="definition">The title of this resource.</Attribute>
+        <Attribute language="en" name="label">Title</Attribute>
+        <Attribute name="version">1.0</Attribute>
+    </Element>
+    <Element name="Organization">
+        <Attribute language="en" name="comment"/>
+        <Attribute language="en" name="definition">The organization responsible for producing this resource.</Attribute>
+        <Attribute language="en" name="label">Organization</Attribute>
+        <Attribute name="version">1.0</Attribute>
+    </Element>
+    <Element name="Subject">
+        <Attribute language="en" name="comment">Currently uses a hierarchy.</Attribute>
+        <Attribute language="en" name="definition">The subject of this resource.</Attribute>
+        <Attribute language="en" name="label">Subject And Keywords</Attribute>
+        <Attribute name="version">1.0</Attribute>
+    </Element>
+    <Element name="Keyword">
+        <Attribute language="en" name="comment">Informal.</Attribute>
+        <Attribute language="en" name="definition">A more specific indication of what the resource can be used for.</Attribute>
+        <Attribute language="en" name="label">Keyword</Attribute>
+        <Attribute name="version">1.0</Attribute>
+    </Element>
+    <Element name="Language">
+        <Attribute language="en" name="comment"/>
+        <Attribute language="en" name="definition">The language of this resource.</Attribute>
+        <Attribute language="en" name="label">Language</Attribute>
+        <Attribute name="version">1.0</Attribute>
+    </Element>
+</MetadataSet>
Index: main/tags/2.83/gli/metadata/dublin.mds
===================================================================
--- main/tags/2.83/gli/metadata/dublin.mds	(revision 21123)
+++ main/tags/2.83/gli/metadata/dublin.mds	(revision 21123)
@@ -0,0 +1,1713 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE MetadataSet SYSTEM "http://www.greenstone.org/dtd/MetadataSet/1.0/MetadataSet.dtd">
+<MetadataSet contact="dcmi-feedback@dublincore.org" creator="Dublin Core Metadata Initiative" family="Dublin Core" language_dependent="label, definition, comment" lastchanged="Tue Sep 05 14:40:36 NZST 2006 - kjdon on kanuka" namespace="dc">
+    <!-- English Version sourced from http://www.dublincore.org/documents/dces/ -->
+    <SetLanguage code="en">
+        <Name language="en">Dublin Core Metadata Element Set, Version 1.1: Reference Description</Name>
+        <Description language="en">This document is the reference description, version 1.1 of the Dublin Core Metadata Element Set. This document supersedes the Dublin Core Metadata Element Set, version 1.0. See the Dublin Core Home Page (http://dublincore.org) for further information about the workshops, reports, working group papers, projects, and new developments concerning the Dublin Core Metadata Element set</Description>
+    </SetLanguage>
+    <!-- Maori Version sourced from http://www.tki.org.nz/r/maori/pedagogy/dc_elements_m.php -->
+    <SetLanguage code="mi">
+        <Name>Dublin Core Huanga - Maori (He Tauira)</Name>
+    </SetLanguage>
+    <!-- French Version sourced from http://www-rocq.inria.fr/%7Evercoust/METADATA/DC-fr.1.1.html -->
+    <!--  by Anne-Marie Vercoustre, Inria -->
+    <SetLanguage code="fr">
+        <Name language="fr">ElÃ©ments de mÃ©tadonnÃ©es du Dublin Core, Version 1.1: Description de RÃ©ference</Name>
+        <Description language="fr">Ce document rÃ©sume les derniÃšres dÃ©finitions des Ã©lÃ©ments demÃ©tadonnÃ©es du Dublin Core originellement dÃ©finis dans le document[RFC2413]. Ces nouvelles dÃ©finitions seront officiellement connues comme la Version 1.1. Elles utilisent un standard dÃ©fini formellement pour la description d&apos;Ã©lÃ©ments de mÃ©tadonnÃ©es. Cette formalisation contribue Ã  amÃ©liorer la cohÃ©rence avec d&apos;autres communautÃ©s dÃ©crivant des mÃ©tadonnÃ©es et Ã  augmenter la prÃ©cision, la portÃ©e et la cohÃ©rence interne de la dÃ©finition des Ã©lÃ©ments du Dublin Core.</Description>
+    </SetLanguage>
+    <!-- Russian Version sourced from -->
+    <!-- by Olga Barysheva, National Library of Russia -->
+    <SetLanguage code="ru">
+        <Name language="ru">ÐÐ°Ð±ÐŸÑ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Dublin Core (ÐÑÐ±Ð»ÐžÐœÑÐºÐŸÐ³ÐŸ ÑÐŽÑÐ°) ÐÐµÑÑÐžÑ 1.1: Ð¡Ð¿ÑÐ°Ð²ÐŸÑÐœÐŸÐµ ÐŸÐ¿ÐžÑÐ°ÐœÐžÐµ</Name>
+        <Description language="ru">ÐÐ°ÑÑÐŸÑÑÐžÐ¹ ÐŽÐŸÐºÑÐŒÐµÐœÑ ÐŸÐ±ÐŸÐ±ÑÐ°ÐµÑ ÐŸÐ±ÐœÐŸÐ²Ð»ÐµÐœÐœÑÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÑ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Dublin Core (ÐÑÐ±Ð»ÐžÐœÑÐºÐŸÐ³ÐŸ ÑÐŽÑÐ°), Ð¿ÐµÑÐ²ÐŸÐœÐ°ÑÐ°Ð»ÑÐœÐŸ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐœÑÑ
+ Ð² RFC2413 (ÐÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Dublin Core ÐŽÐ»Ñ ÐœÐ°Ñ
+ÐŸÐ¶ÐŽÐµÐœÐžÑ ÑÐµÑÑÑÑÐŸÐ²). Ð­ÑÐž ÐœÐŸÐ²ÑÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÑ ÐŸÑÐžÑÐžÐ°Ð»ÑÐœÐŸ ÐžÐ·Ð²ÐµÑÑÐœÑ ÐºÐ°Ðº ÐÐµÑÑÐžÑ 1.1.</Description>
+    </SetLanguage>
+    <!-- Spanish Version sourced from http://www.rediris.es/metadata/. Please note that this is a translation for Dublin Core v1.0 -->
+    <!-- by Javi Masa, RedIRIS -->
+    <SetLanguage code="es">
+        <Name language="es">Elementos del conjunto de metadatas de Dublin Core: DescripciÃ³n de Referencia</Name>
+        <Description language="es">Este documento corresponde a una traducciÃ³n del original en lengua inglesa, con fecha 02/11/1997 que se encuentra en http://purl.org/metadata/dublin_core_elements. Este documento es una descripciÃ³n de referencia de los elementos del conjunto de &quot;Dublin Core&quot;. Para mÃ¡s informaciÃ³n sobre reuniones de trabajo, documentos de trabajo, proyectos y nuevos desarrollos relacionados con el conjunto de elementos que aquÃ­ se describen consultar la &quot;Home Page&quot; de &quot;Dublin Core&quot; (http://purl.org/metadata/dublin_core). Los elementos poseen nombres descriptivos que pretenden transmitir un significado semÃ¡ntico a los mismos. Para promover una interoperabilidad global, una descripciÃ³n del valor de algunos elementos prodrÃ¡ ser asociada a vocabularios controlados. Se asume que otros vocabularios controlados serÃ¡n desarrollados para asegurar esta interoperabilidad en dominios especÃ­ficos. Cada elemento es opcional y puede repetirse. AdemÃ¡s, los elementos pueden aparecer en cualquier orden. Aunque algunos entornos, como HTML, no diferencian entre mayÃºsculas y minÃºsculas, es recomendable escribir correctamente cada metadata segÃºn su definiciÃ³n para evitar conflictos con otros entornos, como XML (Extensible Markup Language) http://www.w3.org/TR/PR-xml</Description>
+    </SetLanguage>
+    <!-- Arabic Version sourced from http://haddouti.de/DC_arabic.html -->
+    <!-- maintained by Hachim Haddouti. -->
+    <SetLanguage code="ar">
+        <Name>Ø¯ØšÙÙÙ ÙÙØ±</Name>
+        <Description>ÙØ±Ø­Øš ØšÙÙ
+ ÙÙ ØµÙØ­Ø©  Ø¯ ØšÙÙÙ ÙÙ  Ø± ØšØ§ÙØ¹Ø±ØšÙ    ÙÙ  ÙØ°Ù Ø§ÙØµÙØ­Ø©  Ù ØšØ§ÙØªØ¹Ø§ÙÙ Ù
+Ø¹ Ø§ÙØ§Ø®ÙØ§Ù Ø§ÙØ¹Ø±Øš Ù
+Ù Ø§ÙÙ
+ÙØªØšØ§ØªØ Ø¯Ø§Ø± Ø§ÙÙØŽØ±Ø Ø§ÙØšØ­ÙØ« Ø§ÙØ¹ÙÙ
+ÙØ© Ù    ÙØ±ØŽØ© Ø¹Ù
+ÙWorking Group On Multilingual Dublin Core (DC-International) Ø</Description>
+    </SetLanguage>
+    <!-- Chinese - Simplified Version from http://dc.library.sh.cn/DC/1-1.htm -->
+    <!-- by Liu Wei, Shanghai Library -->
+    <SetLanguage code="cn">
+        <Name>éœæææ žå¿å
+æ°æ®å
+çŽ é1.1çïŒåèæè¿°</Name>
+        <Description>æ¬ææ¡£å
+³äºéœæææ žå¿å
+æ°æ®å
+çŽ é1.1çæ¬çåèæè¿°ãæ­€æè¿°äžå·²ç»æäº€ç»ISOçšäºåœé
+æç¥šçNISOå®æ¹æ åä¿æäžèŽã    éœæææ žå¿å
+æ°æ®éæ¯äžç§è·šé¢åçä¿¡æ¯èµæºæè¿°æ åãè¿éçä¿¡æ¯èµæºè¢«å®ä¹äžºâä»»äœå
+·ææ è¯çäžè¥¿âãæ­€å®ä¹æ¥èªäºTim Berners-Leeç­äººæèçInternet RFC2396 &quot;Uniform Resource Identifiers (URI): Generic Syntax&quot;æä»¶ãéœæææ žå¿å
+æ°æ®çåºçšé¢åæ²¡ææ ¹æ¬çéå¶ã</Description>
+    </SetLanguage>
+    <!-- Czech Version from http://www.ics.muni.cz/dublin_core/DC-czech-1.1.html -->
+    <!-- Ustav vypocetni techniky Masarykovy univerzity v Brne -->
+    <SetLanguage code="cs">
+        <Name>Soubor metadatovÃœch prvkÅ¯ Dublin Core, verze 1.1: referenÄnÃ­ popis</Name>
+        <Description>Tento dokument je ÄeskÃœm pÅekladem anglickÃ© verze referenÄnÃ­ho popisu souboru metadatovÃœch prvkÅ¯  Dublin Core, verze 1.1 [DCEN1.1]. Tento dokument nahrazuje ÄeskÃœ pÅeklad souboru metadatovÃœch prvkÅ¯ Dublin Core, verze 1.0 [DCCS1.0]. DalÅ¡Ã­ informace o pracovnÃ­ch seminÃ¡ÅÃ­ch (workshopech), zprÃ¡vÃ¡ch, studiÃ­ch pracovnÃ­ch skupin, projektech a dalÅ¡Ã­m vÃœvoji souboru metadatovÃœch prvkÅ¯ Dublin Core najdete na domovskÃ© strÃ¡nce Dublin Core (http://purl.org/dc)</Description>
+    </SetLanguage>
+    <!-- Dutch Version from http://www.kb.nl/coop/donor/project-nl-index.html?/coop/donor/rapporten/DCsimpleformat.html -->
+    <!-- by ... -->
+    <SetLanguage code="nl">
+        <Name>Rapporten Dublin Core Simple Format</Name>
+        <Description>Dit document beschrijft welke Dublin Core metadata elementen er zijn en geeft een korte definitie van elk element. Voor uitgebreide uitleg en gebruik van de Dublin Core elementen wordt u verwezen naar de gebruikershandleiding. Deze vertaling geeft ook de keuzes aan voor standaarden (taalcodes, datum codes) die wij in DONOR verband gaan hanteren. In zoverre kan deze vertaling afwijken van het oorspronkelijke document &quot;Description of Dublin Core Elements&quot; http://purl.org/metadata/dublin_core_elements&quot;</Description>
+    </SetLanguage>
+    <!-- Finnish Version from http://www.lib.helsinki.fi/dublin_core/dcref-fin.html -->
+    <!-- by Jani Stenvall and Juha Hakala, Helsinki University Library -->
+    <SetLanguage code="fi">
+        <Name/>
+        <Description/>
+    </SetLanguage>
+    <!-- Interlingua Version sourced from http://www.nautilus.com.br/%7Eensjo/ia/purl.org/dc/documents/rec-dces-19990702.htm -->
+    <!-- by Emerson Jose` Silveira da Costa -->
+    <SetLanguage code="ia">
+        <Name>Collection de elementos de metadatos de Dublin Core, version 1.1: Description de referentia</Name>
+        <Description>Isto es un traduction de un Recommendation del Dublin Core Metadata Initiative. Le publication como un recommendation significa que le specificationes es stabile e su adoption es supportate per le communitate Dublin Core (http://purl.org/dc/).</Description>
+    </SetLanguage>
+    <!-- Marathi Version sourced from http://bioinfo.ernet.in/library/dc/ele.txt -->
+    <!-- by by Shubhada Nagarkar, Bioinformatics Centre, University of Pune -->
+    <SetLanguage code="mr">
+        <Name>à€¡à€¬à¥à€²à€¿à€š à€à¥à€° à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€žà¥à€ à€à€µà¥à€€à¥à€€à¥ à¥§.à¥§ à€žà€à€Šà€°à¥à€­ à€žà¥à€ªà€·à¥à€à¥à€à€°à€£ à¥§.à¥§ à€¡à€¬à¥à€²à€¿à€š à€à¥à€° à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à€µà¥à€€à¥à€€à¥ à¥§.à¥§.</Name>
+        <Description>à¥§.à¥§ à€¡à€¬à¥à€²à€¿à€š à€à¥à€° à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€¹à¥ à€µà¥à€à€µà¥à€à€³à¥à€¯à€Ÿ à€µà€¿à€·à€¯à€Ÿà€€à¥à€² à€®à€Ÿà€¹à¥à€€à¥ à€žà€Ÿà€ à¥à€¯à€Ÿà€à€µà€Šà¥à€Šà€²à€à¥ à€®à€Ÿà€¹à¥à€€à¥ à€Šà¥à€£à¥à€¯à€Ÿà€à¥ à€®à€Ÿà€šà€ à€à€¹à¥.  à€¯à€Ÿà€€ à€®à€Ÿà€¹à¥à€€à¥à€žà€Ÿà€ à€Ÿ à€®à¥à€¹à€£à€à¥ à€à¥à€¯à€Ÿà€²à€Ÿ à€à€³à€ à€à€¹à¥ à€
+à€žà€Ÿ à€à€žà€€à¥.  à€
+à€¶à€Ÿ à€ªà¥à€°à€à€Ÿà€°à€à¥ à€µà¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€®à€Ÿà€¹à¥à€€à¥ à€à€Ÿà€³à¥à€¯à€µà€°à¥à€² à€. à€à€«.à€žà¥. à¥šà¥©à¥¯à¥¬URI: Generic Syntax -- Tim Berners Lee et al. à€¡à€¬à¥à€²à€¿à€š à€à¥à€° à€®à€Ÿà€šà€ à€à¥à€£à€€à¥à€¯à€Ÿà€¹à¥ à€ªà¥à€°à€à€Ÿà€°à€à¥à€¯à€Ÿ à€®à€Ÿà€¹à¥à€€à¥ à€žà€Ÿà€ à¥à€¯à€Ÿà€à€žà€Ÿà€ à¥ à€µà€Ÿà€ªà€°à€€à€Ÿ à€¯à¥à€€à¥.  à€€à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€à¥à€£à€€à€Ÿà€¹à¥ à€®à€à¥à€à€Ÿà€µ à€šà€Ÿà€¹à¥.</Description>
+    </SetLanguage>
+    <!-- Vietnamese Version from Greenstone Vietnamese Language maintainer -->
+    <!-- by Cao Minh Kiem, National Centre for Science and Technology, Hanoi, Vietnam-->
+    <SetLanguage code="vi">
+        <Name>Yáº¿u tá» SiÃªu dá»¯ liá»u Dublin Core, phiÃªn báº£n 1.1: Tham chiáº¿u</Name>
+        <Description/>
+    </SetLanguage>
+    <Element name="Title">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Title</Attribute>
+            <Attribute name="definition">A name given to the resource.</Attribute>
+            <Attribute name="comment">Typically, a Title will be a name by which the resource is formally known.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Taitara</Attribute>
+            <Attribute name="definition">Te ingoa ka tapaina tetahi rauemi.</Attribute>
+            <Attribute name="comment">Ko te tikanga, ko te Taitara te ingoa ka mohio whanuitia te ingoa.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Titre</Attribute>
+            <Attribute name="definition">Le nom donnÃ© Ã  la ressource.</Attribute>
+            <Attribute name="comment">Typiquement, un titre sera le nom par lequel la ressource est officiellement connue.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÐ°Ð·Ð²Ð°ÐœÐžÐµ</Attribute>
+            <Attribute name="definition">ÐÐŒÑ, ÐŽÐ°ÐœÐœÐŸÐµ ÑÐµÑÑÑÑÑ.</Attribute>
+            <Attribute name="comment">ÐÐ±ÑÑÐœÐŸ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµÐŒ ÑÐ²Ð»ÑÐµÑÑÑ ÐžÐŒÑ, Ð¿ÐŸÐŽ ÐºÐŸÑÐŸÑÑÐŒ ÑÐµÑÑÑÑ ÐŸÑÐžÑÐžÐ°Ð»ÑÐœÐŸ ÐžÐ·Ð²ÐµÑÑÐµÐœ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">TÃ­tulo</Attribute>
+            <Attribute name="definition">El nombre dado a un recurso, usualmente por el autor.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙØ¹ÙÙØ§Ù</Attribute>
+            <Attribute name="definition">ÙØ°Ø§ Ø§ÙØ§Ø³Ù
+ ÙØ¹Ø·Ù ÙÙÙ
+ØµØ¯Ø±, Ù
+Ù ÙØšÙ Ø§ÙÙ
+ØšØ¯Ø¹ Ø§Ù Ø§ÙÙØ§ØŽØ±</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">èµæºå</Attribute>
+            <Attribute name="definition">èµäºèµæºçåç§°ã</Attribute>
+            <Attribute name="comment">èµæºåäžè¬æèµæºå¯¹è±¡æ­£åŒå
+¬åŒçåç§°ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">NÃ¡zev</Attribute>
+            <Attribute name="definition">JmÃ©no danÃ© zdroji.</Attribute>
+            <Attribute name="comment">NÃ¡zev bude typicky jmÃ©no, pod nÃ­mÅŸ je zdroj oficiÃ¡lnÄ znÃ¡m.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Titel</Attribute>
+            <Attribute name="definition">De naam van de Internetbron. Meestal gegeven door de auteur, maker of uitgever</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Titulo</Attribute>
+            <Attribute name="definition">Un nomine date al ressource.</Attribute>
+            <Attribute name="comment">Typicamente se utiliza un nomine per le qual le ressource es formalmente cognite.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€¶à¥à€°à¥à€·à€</Attribute>
+            <Attribute name="definition">à€ªà€°à¥à€¯à€Ÿà€¯à¥ à€¶à¥à€°à¥à€·à€</Attribute>
+            <Attribute name="comment">à€žà€à€à¥à€·à€¿à€ªà¥à€€ ,  à€­à€Ÿà€·à€Ÿà€à€€à€°à¥à€€  à€¶à¥à€°à¥à€·à€</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Nhan Äá»</Attribute>
+            <Attribute name="definition">TÃªn ÄÆ°á»£c gÃ¡n cho nguá»n tin</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Creator">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Creator</Attribute>
+            <Attribute name="definition">An entity primarily responsible for making the content of the resource.</Attribute>
+            <Attribute name="comment">Examples of a Creator include a person, an organisation, or a service. Typically, the name of a Creator should be used to indicate the entity.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Kaihanga</Attribute>
+            <Attribute name="definition">Te putahi, nana, na ratou ranei i matua oti ai te hanganga o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tangata, he putahitanga, he ratonga ranei etahi tauira Kaihanga. Ko te tikanga, ko te Kaihanga te ingoa ka whakamahia hei tohu i te putahi na ratou te hanganga.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">CrÃ©ateur</Attribute>
+            <Attribute name="definition">L&apos;entitÃ© principalement responsable de la crÃ©ation du contenu de la ressource.</Attribute>
+            <Attribute name="comment">Exemples de CrÃ©ateur incluent une personne, une organisation, ou un service. Typiquement, un nom du CrÃ©ateur devrait Ãªtre utilisÃ© pour dÃ©signer cette entitÃ©.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">Ð¡ÐŸÐ·ÐŽÐ°ÑÐµÐ»Ñ</Attribute>
+            <Attribute name="definition">ÐÐžÑÐŸ, ÐœÐµÑÑÑÐµÐµ Ð¿ÐµÑÐ²ÐžÑÐœÑÑ ÐŸÑÐ²ÐµÑÑÑÐ²ÐµÐœÐœÐŸÑÑÑ Ð·Ð° ÑÐŸÐ·ÐŽÐ°ÐœÐžÐµ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÑÐžÐŒÐµÑÑ Ð¡ÐŸÐ·ÐŽÐ°ÑÐµÐ»Ñ Ð²ÐºÐ»ÑÑÐ°ÑÑ Ð¿ÐµÑÑÐŸÐœÑ, ÐŸÑÐ³Ð°ÐœÐžÐ·Ð°ÑÐžÑ ÐžÐ»Ðž ÑÐ»ÑÐ¶Ð±Ñ. ÐÐ±ÑÑÐœÐŸ ÐžÐŒÑ Ð¡ÐŸÐ·ÐŽÐ°ÑÐµÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÐŽÐ»Ñ ÐžÐœÐŽÐžÐºÐ°ÑÐžÐž ÐŸÐ±ÑÐµÐºÑÐ°.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Autor o Creador</Attribute>
+            <Attribute name="definition">La persona u organizaciÃ³n responsable de la creaciÃ³n del contenido intelectual del recurso. Por ejemplo, los autores en el caso de documentos escritos, artistas, fotografos e ilustradores en el caso de recursos visuales.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙØ§ØªØš Ø§Ù Ø§ÙÙ
+ØšØ¯Ø¹</Attribute>
+            <Attribute name="definition">ÙÙ Ø§ÙØŽØ®Øµ Ø§Ù Ø§ÙÙ
+Ø€Ø³Ø³Ø© Ø£ÙÙØ§  Ø¹Ù ÙØŽØŠ Ø§ÙÙ
+Ø­ØªÙÙ Ø§ÙÙÙØ± Ù ÙÙÙ
+ØµØ¯Ø± , Ø¹ÙÙ Ø³ØšÙÙ Ø§ÙÙ
+Ø«Ø§Ù , Ø§ÙÙ
+Ø€ÙÙÙÙ ÙÙ Ø­Ø§ÙØ© Ø§ÙØ«Ø§ØŠÙ Ø§ÙÙ
+ÙØªÙØšØ© , Ù Ø§ÙÙÙØ§ÙÙÙ , Ø§ÙÙ
+ØµÙØ±ÙÙ ÙÙ Ø­Ø§ÙØ© Ø§ÙÙ
+ØµØ§Ø¯Ø± Ø§ÙÙ
+Ø±ØŠÙØ©</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">åå»ºè
+</Attribute>
+            <Attribute name="definition">åå»ºèµæºå
+å®¹çäž»èŠèŽ£ä»»è
+ã</Attribute>
+            <Attribute name="comment">åå»ºè
+çå®äŸå
+æ¬äžªäººïŒç»ç»ææé¡¹æå¡ãäžè¬èèšïŒçšåå»ºè
+çåç§°æ¥æ è¯è¿äžæ¡ç®ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">TvÅ¯rce</Attribute>
+            <Attribute name="definition">Entita primÃ¡rnÄ odpovÄdnÃ¡ za vytvoÅenÃ­ obsahu zdroje.</Attribute>
+            <Attribute name="comment">PÅÃ­klady TvÅ¯rce zahrnujÃ­ osobu, organizaci nebo sluÅŸbu. K oznaÄenÃ­ entity se typicky pouÅŸÃ­vÃ¡ jmÃ©no tvÅ¯rce.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Auteur of maker</Attribute>
+            <Attribute name="definition">De auteur, maker of organisatie die primair verantwoordelijk is voor de intellectuele inhoud van het werk. Bijvoorbeeld auteurs in geval van geschreven documenten, artiesten, fotografen of illustrators in geval van visuele bronnen.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Creator</Attribute>
+            <Attribute name="definition">Le entitate primarimente responsabile pro producer le contento del ressource.</Attribute>
+            <Attribute name="comment">Exemplos de creator include un persona, un organization, o un servicio. Typicamente se utiliza un nomine de creator pro indicar iste entitate.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€šà€¿à€°à¥à€®à€Ÿà€€à€Ÿ, à€à€šà€</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à€Ÿ à€šà€¿à€°à¥à€®à€Ÿà€£  à€à€°à€£à€Ÿà€°à€Ÿ</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ.  à€²à¥à€à€, à€²à¥à€à€¿à€à€Ÿ,  à€µà¥à€¯à€à¥à€€à¥, à€žà€à€žà¥à€¥à€Ÿ,  à€žà€à€ªà€Ÿà€Šà€, à€žà€à€ªà€Ÿà€Šà€¿à€à€Ÿ</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">TÃ¡c giáº£</Attribute>
+            <Attribute name="definition">PhÃ¡p nhÃ¢n chá»u trÃ¡ch nhiá»m chÃ­nh trong viá»c táº¡o ra ná»i dung cá»§a nguá»n tin</Attribute>
+            <Attribute name="comment">PhÃ¡p nhÃ¢n trong tÃ¡c giáº£ cÃ³ thá» lÃ  tÃªn ngÆ°á»i, tÃªn cÆ¡ quan, tá» chá»©c chá»u trÃ¡ch nhiá»m vá» nÃŽi dung tÃ i liá»u</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Subject">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Subject and Keywords</Attribute>
+            <Attribute name="definition">The topic of the content of the resource.</Attribute>
+            <Attribute name="comment">Typically, a Subject will be expressed as keywords, key phrases or classification codes that describe a topic of the resource. Recommended best practice is to select a value from a controlled vocabulary or formal classification scheme.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Kaupapa</Attribute>
+            <Attribute name="definition">Te take/ nga take o te kaupapa, o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tikanga, ka whakaaturia te kaupapa o te rauemi e nga kupu matua, nga kimahi matua, nga tohu wehewehenga whakaahua ranei.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Sujet</Attribute>
+            <Attribute name="definition">Le sujet du contenu de la ressource.</Attribute>
+            <Attribute name="comment">Typiquement, le sujet sera dÃ©crit par un ensemble de mots-clefs ou de phrases ou un code de classification qui prÃ©cisent le sujet de la ressource. L&apos;utilisation de vocabulaires contrÃŽlÃ©s et de schÃ©mas formels de classification est encouragÃ©e.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÑÐµÐŽÐŒÐµÑ Ðž ÐºÐ»ÑÑÐµÐ²ÑÐµ ÑÐ»ÐŸÐ²Ð°</Attribute>
+            <Attribute name="definition">Ð¢ÐµÐŒÐ° ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ±ÑÑÐœÐŸ ÐÑÐµÐŽÐŒÐµÑ Ð²ÑÑÐ°Ð¶Ð°ÐµÑÑÑ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÐºÐ»ÑÑÐµÐ²ÑÑ
+ ÑÐ»ÐŸÐ², ÐºÐ»ÑÑÐµÐ²ÑÑ
+ ÑÑÐ°Ð· ÐžÐ»Ðž  ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐžÐŸÐœÐœÑÑ
+ ÐºÐŸÐŽÐŸÐ², ÐºÐŸÑÐŸÑÑÐµ ÐŸÐ¿ÐžÑÑÐ²Ð°ÑÑ ÑÐµÐŒÑ ÑÐµÑÑÑÑÐ°. ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ Ð²ÑÐ±ÐžÑÐ°ÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐžÐ· ÐºÐŸÐœÑÑÐŸÐ»ÐžÑÑÐµÐŒÐŸÐ³ÐŸ ÑÐ»ÐŸÐ²Ð°ÑÑ ÐžÐ»Ðž ÑÐŸÑÐŒÐ°Ð»ÑÐœÐŸÐ¹ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐžÐŸÐœÐœÐŸÐ¹ ÑÑ
+ÐµÐŒÑ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Claves</Attribute>
+            <Attribute name="definition">Los tÃ³picos del recurso. TÃ­picamente, Subject expresarÃ¡ las claves o frases que describen el tÃ­tulo o el contenido del recurso. Se fomentarÃ¡ el uso de vocabularios controlados y de sistemas de clasificaciÃ³n formales. Se pueden ver ejemplos de vocabularios controlados en: Controlled vocabularies, thesauri and classification systems available in the WWW. DC Subject</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙ
+ÙØ¶ÙØ¹ Ù Ø§ÙÙÙÙ
+Ø§Øª Ø§ÙØ±ØŠÙØ³ÙØ©</Attribute>
+            <Attribute name="definition">ÙÙ Ù
+ÙØ¶ÙØ¹ Ø§ÙÙ
+ØµØ¯Ø±. ÙÙ
+ÙØ°Ø¬ÙØ§  ÙØ¹ØšØ± Ø¹Ù Ø§ÙÙ
+ÙØ¶ÙØ¹ ØšØ§Ø³ØªØ®Ø¯Ø§Ù
+Ù
+ÙØªØ§Ø­  Ø§ÙÙÙÙ
+Ø§Øª  Ø§Ù Ø¬Ù
+Ù Ø§ÙØªÙ  ØªØµÙ Ù
+ÙØ¶ÙØ¹ Ø§Ù Ù
+Ø­ØªÙÙ Ø§ÙÙ
+ØµØ¯Ø± , Ù ÙØ³ØªØ­Ø³Ù Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ù
+ÙØ±Ø¯Ø§Øª Ù
+Ø®Ø·Ø·Ø©Ù Ù
+Ø­ÙÙ
+Ø©  ÙØ§Ø¯ÙØ© ØªØµÙÙÙ ØŽÙÙÙØ©</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">äž»é¢åå
+³é®è¯</Attribute>
+            <Attribute name="definition">èµæºå
+å®¹çäž»é¢æè¿°ã</Attribute>
+            <Attribute name="comment">åŠæèŠæè¿°ç¹å®èµæºçæäžäž»é¢ïŒäžè¬éçšå
+³é®è¯ãå
+³é®å­ç­è¯­æåç±»å·ïŒæå¥œäž»é¢åå
+³é®è¯ä»åæ§    è¯è¡šæè§èçåç±»äœç³»äž­ååŒã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">PÅedmÄt a klÃ­ÄovÃ¡ slova</Attribute>
+            <Attribute name="definition">TÃ©ma obsahu zdroje.</Attribute>
+            <Attribute name="comment">PÅedmÄt bude typicky vyjÃ¡dÅen pomocÃ­ klÃ­ÄovÃœch slov, klÃ­ÄovÃœch frÃ¡zÃ­ nebo klasifikaÄnÃ­ch znakÅ¯ popisujÃ­cÃ­ch tÃ©ma zdroje. DoporuÄuje se vybÃ­rat hodnotu prvku z ÅÃ­zenÃ©ho slovnÃ­ku nebo formÃ¡lnÃ­ho klasifikaÄnÃ­ho schÃ©matu.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Onderwerp en trefwoorden</Attribute>
+            <Attribute name="definition">Het onderwerp van de Internetbron. Het onderwerp wordt beschreven in korte zinnen of door het gebruik van trefwoorden. Het gebruik van gecontroleerde trefwoorden of classificatie schema&apos;s wordt aanbevolen.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Subjecto e parolas-clave</Attribute>
+            <Attribute name="definition">Le topico del contento del ressource.</Attribute>
+            <Attribute name="comment">Typicamente le subjecto es expresse per medio de parolas-clave, phrases-clave, o codices de classification que describe le topico del ressource. Le melior practica recommendate es selectionar un valor a partir de un vocabulario controlate o un schema formal de classification.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€µà€¿à€·à€¯</Attribute>
+            <Attribute name="definition">à€µà€¿à€·à€¯</Attribute>
+            <Attribute name="comment">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à€Ÿ, à€à¥à€à€Ÿà€šà€žà€Ÿà€§à€šà¥ à€¯à€Ÿà€€à¥à€² à€à€¶à€¯ à€žà¥à€ªà€·à¥à€ à€à€°à€£à€Ÿà€°à¥ à€¶à€¬à¥à€Š, à€µà€¿à€·à€¯à€Ÿà€à¥ à€µà€°à¥à€à¥à€à€°à€£ à€à€°à€€à€Ÿà€šà€Ÿ à€¶à€¬à¥à€Šà€žà€à€à¥à€°à€¹ à€
+à€¥à€µà€Ÿ à€¶à€¬à¥à€Š à€à¥à€·à€Ÿà€à€Ÿ à€µà€Ÿà€ªà€° à€à€°à€Ÿà€µà€Ÿ</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Chá»§ Äá»</Attribute>
+            <Attribute name="definition">Chá»§ Äá» vÃ /hoáº·c Äá» má»¥c chÃ­nh cá»§a ná»i dung cá»§a nguá»n tin</Attribute>
+            <Attribute name="comment">Chá»§ Äá» ÄÆ°á»£c thá» hiá»n báº±ng tá»« khoÃ¡, cá»¥m tá»«, kÃœ hiá»u phÃ¢n loáº¡i, chá» sá» Äá» má»¥c,...VÃªn sá»­ dá»¥ng tá»« vá»±ng cÃ³ kiá»m soÃ¡t</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Description">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Description</Attribute>
+            <Attribute name="definition">An account of the content of the resource.</Attribute>
+            <Attribute name="comment">Description may include but is not limited to: an abstract, table of contents, reference to a graphical representation of content or a free-text account of the content.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Whakaaturanga</Attribute>
+            <Attribute name="definition">He whakaaturanga o nga kaupapa o te rauemi.</Attribute>
+            <Attribute name="comment">Ka uru atu, engari ehara noa ko: te whakarapopototanga korero, te ihirangi, te tohutanga o te kaupapa ma te whakaahua, te whakaaturanga kore kupu ranei, o te kauapapa.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Description</Attribute>
+            <Attribute name="definition">Une description du contenu de la ressource.</Attribute>
+            <Attribute name="comment">Une Description peut contenir, mais ce n&apos;est pas limitatif: un rÃ©sumÃ©, une table des matiÃšres, une rÃ©fÃ©rence Ã  une reprÃ©sentation graphique du contenu, ou un texte libre sur le contenu.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÐ¿ÐžÑÐ°ÐœÐžÐµ</Attribute>
+            <Attribute name="definition">Ð¡ÐŸÐŸÐ±ÑÐµÐœÐžÐµ ÐŸ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÐž ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ¿ÐžÑÐ°ÐœÐžÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐŸ (Ð¿ÐŸ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸÑÑÐž) Ð² Ð²ÐžÐŽÐµ: ÑÐµÑÐµÑÐ°ÑÐ°, ÐŸÐ³Ð»Ð°Ð²Ð»ÐµÐœÐžÑ, ÑÑÑÐ»ÐºÐž ÐœÐ° Ð³ÑÐ°ÑÐžÑÐµÑÐºÐŸÐµ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÐžÐ»Ðž Ð¿ÑÐŸÑÑÐŸÐ³ÐŸ ÑÐµÐºÑÑÐŸÐ²ÐŸÐ³ÐŸ ÐžÐ·Ð»ÐŸÐ¶ÐµÐœÐžÐµ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">DescripciÃ³n</Attribute>
+            <Attribute name="definition">Una descripciÃ³n textual del recurso, tal como un resumen en el caso de un documento o una descripciÃ³n del contenido en el caso de un documento visual.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙØµÙ</Attribute>
+            <Attribute name="definition">ÙÙ ÙØµÙ ÙØµÙ  ÙÙ
+Ø­ØªÙÙ Ø§ÙÙ
+ØµØ¯Ø±, ÙÙØ¶Ù
+ Ø§ÙÙ
+ÙØ®ØµØ§Øª ÙÙ Ø­Ø§ÙØ© Ø§ÙÙØ«Ø§ØŠÙ Ù
+Ø«Ù Ø§ÙØ§ØŽÙØ§Ø¡ Ø§ÙÙ
+ÙØªÙØšØ© Ø§Ù ØªÙØµÙÙ Ø§ÙÙ
+Ø­ØªÙÙ ÙÙ Ø­Ø§ÙØ© Ø§ÙÙ
+ØµØ§Ø¯Ø± Ø§ÙÙ
+Ø±ØŠÙØ©</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">è¯Žæ</Attribute>
+            <Attribute name="definition">èµæºå
+å®¹çè§£é</Attribute>
+            <Attribute name="comment">è¯Žæå¯ä»¥å
+æ¬äœäžéäºä»¥äžå
+å®¹ïŒææãç®åœãå¯¹ä»¥åŸåœ¢æ¥æ­ç€ºå
+å®¹çèµæºèèšçæå­è¯Žæãæè
+äž    äžªæå
+³èµæºå
+å®¹çèªç±ææ¬æè¿°ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Popis</Attribute>
+            <Attribute name="definition">VysvÄtlenÃ­ obsahu zdroje.</Attribute>
+            <Attribute name="comment">Popis mÅ¯ÅŸe obsahovat (mimo jinÃ©): abstrakt, obsah, odkaz na grafickÃ© nebo volnÃ© textovÃ© vyjÃ¡dÅenÃ­ obsahu.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Omschrijving</Attribute>
+            <Attribute name="definition">Een omschrijving van de inhoud van de Internetbron. Abstracts of inhoudsomschrijvingen.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Description</Attribute>
+            <Attribute name="definition">Un description del contento del ressource.</Attribute>
+            <Attribute name="comment">Le description pote includer, ma non se limita a: summario, indice, referentia a un representation graphic del contento o un texto libere a proposito del contento.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€µà€°à¥à€£à€š</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥, à€à¥à€à€Ÿà€šà€žà€Ÿà€§à€šà€Ÿà€à¥à€µà€°à¥à€£à€š</Attribute>
+            <Attribute name="comment">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€šà€¿à€µà¥à€Šà€š, à€à€²à¥à€, à€à€¿à€€à¥à€°à€°à¥à€ª</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">MÃŽ táº£</Attribute>
+            <Attribute name="definition">Má»t thÃŽng bÃ¡o lÃ m rÃµ ná»i dung cá»§a nguá»n tin</Attribute>
+            <Attribute name="comment">MÃŽ táº£ cÃ³ thá» bao gá»m: tÃ³m táº¯t ngáº¯n gá»n. má»¥c lá»¥c, ThÃŽng tin tham chiáº¿u vá» báº£ng biá»i. vá» nguá»n tin</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Publisher">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Publisher</Attribute>
+            <Attribute name="definition">An entity responsible for making the resource available.</Attribute>
+            <Attribute name="comment">Examples of a Publisher include a person, an organisation, or a service. Typically, the name of a Publisher should be used to indicate the entity.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Kaiwhakaputa</Attribute>
+            <Attribute name="definition">Te putahi nana i whakaputa te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tangata, he putahitanga, he ratonga ranei etahi tauira Kaiwhakaputa. Ko te tikanga, ka whakamahia te ingoa o te Kaiwhakaputa hei tohu i te putahi.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Editeur</Attribute>
+            <Attribute name="definition">L&apos;entitÃ© responsable de la diffusion de la ressource, dans sa forme actuelle, tels, un dÃ©partement universitaire, une entreprise.</Attribute>
+            <Attribute name="comment">Exemples d&apos;Editeurs incluent une personne, une organisation, ou un service. Typiquement, le nom d&apos;une maison d&apos;Ã©dition devrait Ãªtre utilisÃ© ici.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÐ·ÐŽÐ°ÑÐµÐ»Ñ</Attribute>
+            <Attribute name="definition">ÐÐžÑÐŸ, ÐŸÑÐ²ÐµÑÑÑÐ²ÐµÐœÐœÐŸÐµ Ð·Ð° Ð²Ð²ÐŸÐŽ ÑÐµÑÑÑÑÐ° Ð² ÐŸÐ±ÑÐ°ÑÐµÐœÐžÐµ.</Attribute>
+            <Attribute name="comment">ÐÑÐžÐŒÐµÑÑ ÐÐ·ÐŽÐ°ÑÐµÐ»Ñ Ð²ÐºÐ»ÑÑÐ°ÑÑ Ð¿ÐµÑÑÐŸÐœÑ, ÐŸÑÐ³Ð°ÐœÐžÐ·Ð°ÑÐžÑ ÐžÐ»Ðž ÑÐ»ÑÐ¶Ð±Ñ. ÐÐ±ÑÑÐœÐŸ ÐžÐŒÑ ÐÐ·ÐŽÐ°ÑÐµÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÐŽÐ»Ñ ÐžÐœÐŽÐžÐºÐ°ÑÐžÐž ÐŸÐ±ÑÐµÐºÑÐ°.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Editor</Attribute>
+            <Attribute name="definition">&gt;La entidad responsable de hacer que el recurso se encuentre disponible en la red en su formato actual, por ejemplo la empresa editora, un departamento universitario u otro tipo de organizaciÃ³n.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙØ§ØŽØ±</Attribute>
+            <Attribute name="definition">ÙÙ Ø§ÙÙÙØŠØ© Ø§ÙÙ
+Ø³Ø€ÙÙØ© Ø¹Ù ØµÙØ§Ø¹Ø© Ø§ÙÙ
+ØµØ¯Ø± Ø§ÙÙ
+ØªÙÙØ± ÙÙ Ø­Ø§ÙØªÙ Ø§ÙØ­Ø§Ø¶Ø±Ø©, Ù
+Ø«Ù Ø¯Ø§Ø± Ø§ÙÙØŽØ±, ÙØ³Ù
+ Ø¬Ø§Ù
+Ø¹Ù Ø§Ù Ù
+Ø€Ø³Ø³Ø© Ø§Ø¹Ù
+Ø§Ù</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">åºçè
+</Attribute>
+            <Attribute name="definition">äœ¿èµæºæäžºå¯ä»¥è·åŸå¹¶å¯çšçèŽ£ä»»è
+ã</Attribute>
+            <Attribute name="comment">åºçè
+çå®äŸå
+æ¬äžªäœïŒç»ç»ïŒææå¡ãäžè¬èèšïŒåºè¯¥çšåºçè
+çåç§°æ¥æ è¯è¿äžæ¡ç®ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Vydavatel</Attribute>
+            <Attribute name="definition">Entita odpovÄdnÃ¡ za zpÅÃ­stupnÄnÃ­ zdroje.</Attribute>
+            <Attribute name="comment">PÅÃ­klady Vydavatele zahrnujÃ­ osobu, organizaci nebo sluÅŸbu. K oznaÄenÃ­ entity se typicky pouÅŸÃ­vÃ¡ jmÃ©no vydavatele.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Uitgever</Attribute>
+            <Attribute name="definition">De entiteit die verantwoordelijk is voor het beschikbaarstellen van de Internetbron in de huidig vorm. Bijvoorbeeld een uitgeversbedrijf, een universiteitsafdeling.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Editor</Attribute>
+            <Attribute name="definition">Un entitate responsabile pro disponibilizar le ressource.</Attribute>
+            <Attribute name="comment">Exemplos de editor include un persona, un organization, o un servicio. Typicamente se utiliza un nomine de editor pro indicar le entitate.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€ªà¥à€°à€à€Ÿà€¶à€</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à€Ÿ  à€à€ªà€²à€¬à¥à€§ à€à€°à¥à€š à€Šà¥à€£à€Ÿà€°à€Ÿ</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ.à€ à€ªà¥à€°à€à€Ÿà€¶à€ , à€ªà¥à€°à€à€Ÿà€¶à€š  à€žà€à€žà¥à€¥à€Ÿ, à€žà¥à€µà€Ÿ    à€®à€Ÿà€¹à€¿à€€à¥ à€à€Ÿà€ªà¥à€² à€°à¥à€ªà€Ÿà€€  à€
+à€¥à€µà€Ÿ à€à€à€à€°à€šà¥à€ à€µà€° à€à€ªà€²à€¬à¥à€§ à€à€°à¥à€š à€Šà¥à€£à€Ÿà€°à€Ÿ</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">CÆ¡ quan xuáº¥t báº£n</Attribute>
+            <Attribute name="definition">Tá» chá»©c chá»u trÃ¡ch nhiá»m lÃ m cho nguá»n tin nÃ y cÃ³ thá» truy xuáº¥t ÄÆ°á»£c</Attribute>
+            <Attribute name="comment">Ghi tÃªn cÃ¡ nhÃ¢n, tá» chá»©c cÆ¡ quan chá»u trÃ¡ch nhiá»m vá» xuáº¥t báº£n nguá»n tin</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Contributor">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Contributor</Attribute>
+            <Attribute name="definition">An entity responsible for making contributions to the content of the resource.</Attribute>
+            <Attribute name="comment">Examples of a Contributor include a person, an organisation, or a service. Typically, the name of a Contributor should be used to indicate the entity.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Kaiwhakaaro</Attribute>
+            <Attribute name="definition">Te putahi nana, na ratou ranei nga whakakaupapatanga whakaaro o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tangata, he putahitanga, he ratonga ranei etahi tauira Kaiwhakaaro. Ko te tikanga ka whakamahia te ingoa o te Kaiwhakaaro hei tohu i te putahi.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Contributeur</Attribute>
+            <Attribute name="definition">Une entitÃ© qui a contribuÃ© Ã  la crÃ©ation du contenu de la ressource.</Attribute>
+            <Attribute name="comment">Exemples de Contributeur incluent une personne, une organisation, ou un service. Typiquement, le nom d&apos;un contributeur devrait Ãªtre utilisÃ© ici pour dÃ©signer l&apos;entitÃ©.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">Ð¡ÐŸÐžÑÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»Ñ</Attribute>
+            <Attribute name="definition">ÐÐžÑÐŸ, Ð²ÐœÐµÑÑÐµÐµ Ð²ÐºÐ»Ð°ÐŽ Ð² ÑÐŸÐ·ÐŽÐ°ÐœÐžÐµ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÑÐžÐŒÐµÑÑ Ð¡ÐŸÐžÑÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»Ñ Ð²ÐºÐ»ÑÑÐ°ÑÑ Ð¿ÐµÑÑÐŸÐœÑ, ÐŸÑÐ³Ð°ÐœÐžÐ·Ð°ÑÐžÑ ÐžÐ»Ðž ÑÐ»ÑÐ¶Ð±Ñ. ÐÐ±ÑÑÐœÐŸ ÐžÐŒÑ Ð¡ÐŸÐžÑÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÐŽÐ»Ñ ÐžÐœÐŽÐžÐºÐ°ÑÐžÐž ÐŸÐ±ÑÐµÐºÑÐ°.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Otros Colaboradores</Attribute>
+            <Attribute name="definition">Una persona u organizacion que haya tenido una contribuciÃ³n intelectual significativa en la creaciÃ³n del recurso pero cuyas contribuciones son secundarias en comparaciÃ³n a las de las personas u organizaciones especificadas en el elementeo Creator (por ejemplo, editor, ilustrador y traductor).</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙ
+Ø³Ø§ÙÙ
+ Ø§ÙØ§Ø®Ø±</Attribute>
+            <Attribute name="definition">ÙÙ Ø§ÙØŽØ®Øµ Ø§Ù Ø§ÙÙ
+Ø€Ø³Ø³Ø© Ø§ÙØºÙØ± Ù
+Ø°ÙÙØ± ØµØ±Ø§Ø­Ø© ÙÙ Ø¹Ø§Ù
+Ù &quot; Ø§ÙÙ
+ØšØ¯Ø¹ &quot; Ù Ø§ÙØ°Ù ÙØ¯Ù
+ Ù
+Ø³Ø§ÙÙ
+Ø§Øª ÙÙØ±ÙØ© ÙØ§Ù
+Ø© ÙÙÙ
+ØµØ¯Ø±, ÙÙÙ Ù
+Ø³Ø§ÙÙ
+ØªÙØªØšÙÙ    Ø«Ø§ÙÙÙØ© Ù
+ÙØ§Ø±ÙØ© Ù
+Ø¹ Ø§ÙØŽØ®Øµ Ø£Ù Ø§ÙÙ
+Ø€Ø³Ø³Ø© Ø§ÙÙ
+Ø°ÙÙØ±Ø© ÙØµØ§ ÙÙ Ø¹Ø§Ù
+Ù &quot; Ø§ÙÙ
+ÙØŽØŠ &quot; Ù
+Ø«ÙØ§Ù Ù
+ØµØ­Ø­, Ø§ÙÙ
+ØªØ±Ø¬Ù
+, Ø§Ù Ø§ÙÙ
+ÙØ³Ø±</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">å
+¶ä»èŽ£ä»»è
+</Attribute>
+            <Attribute name="definition">å¯¹èµæºçå
+å®¹äœåºèŽ¡ç®çå
+¶ä»å®äœã</Attribute>
+            <Attribute name="comment">å
+¶ä»èŽ£ä»»è
+çå®äŸå¯å
+æ¬äžªäººãç»ç»ææé¡¹æå¡ãäžè¬èèšïŒçšå
+¶ä»èŽ£ä»»è
+çåå­æ¥æ è¯è¿äžæ¡ç®ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">PÅispÄvatel</Attribute>
+            <Attribute name="definition">Entita, kterÃ¡ pÅispÄla k vytvoÅenÃ­ obsahu zdroje.</Attribute>
+            <Attribute name="comment">PÅÃ­klady PÅispÄvatele zahrnujÃ­ osobu, organizaci nebo sluÅŸbu. K oznaÄenÃ­ entity se typicky pouÅŸÃ­vÃ¡ jmÃ©no pÅispÄvatele.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Andere medewerkers</Attribute>
+            <Attribute name="definition">Een persoon of organisatie die een belangrijke bijdrage heeft geleverd, maar die secondair is aan de persoon of organisatie die bij &quot;Creator&quot; genoemd wordt. Gedacht kan worden aan editors, vertalers en illustrators.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Contribuente</Attribute>
+            <Attribute name="definition">Un entitate responsabile pro facer contributiones al contento del ressource.</Attribute>
+            <Attribute name="comment">Exemplos de contribuente include un persona, un organization, o un servicio. Typicamente se utiliza un nomine de contribuente pro indicar le entitate.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label"> à€žà€¹à€¯à¥à€à€, à€žà€¹à€¯à¥à€à¥, à€žà€¹à€Ÿà€¯à¥à€¯à€</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à€Ÿ à€žà€à€à€²à¥à€€ à€à€°à€£à¥à¥à€Ÿà€ž  à€®à€Šà€€ à€à€°à€£à€Ÿà€°à¥ à€µà¥à€¯à€à¥à€€à¥</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ.à€ à€µà¥à€¯à€à¥à€€à¥, à€žà¥à€µà€Ÿ, à€žà€à€žà¥à€¥à€Ÿ</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Äá»ng tÃ¡c giáº£</Attribute>
+            <Attribute name="definition">PhÃ¡p nhÃ¢n tham gia ÄÃ³ng gÃ³p vÃ o viá»c táº¡o ra ná»i dung cá»§a nguá»n tin</Attribute>
+            <Attribute name="comment">PhÃ¡p nhÃ¢n trong Contributor cÃ³ thá» lÃ  tÃ¡c giáº£ cÃ¡ nhÃ¢n hoáº·c cÆ¡ quan, tá» chá»©c, dá»ch vá»¥ (lÃ  tÃ¡c giáº£ táº­p thá») cÃ³ vai trÃ² quan trá»ng, song lÃ  vai trÃ² thá»© yáº¿u trong viá»c táº¡o ra ná»i dung. Nhá»¯ng phÃ¡p nhÃ¢n nÃ y khÃŽng ÄÆ°á»£c lá»±a chá»n ÄÆ°a vÃ o yáº¿u tá»  Creator (tÃ¡c giáº£)</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Date">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Date</Attribute>
+            <Attribute name="definition">A date associated with an event in the life cycle of the resource.</Attribute>
+            <Attribute name="comment">Typically, Date will be associated with the creation or availability of the resource.  Recommended best practice for encoding the date value is defined in a profile of ISO 8601 and follows the YYYY-MM-DD format.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Ra</Attribute>
+            <Attribute name="definition">He ra e whai panga ana ki te huringa ora o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tikanga, ka whai panga te ra ki te hanganga, te wateatanga ranei, o te rauemi. Ko te huarahi tino pai hei tohu i te uara o te ra (date value) kua whakaritea i roto i te whakaritenga IS0 8601 [W3CDTF], a, e whai atu ana ki te whakatakotoranga YYYY-MM-DD.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Date</Attribute>
+            <Attribute name="definition">Une date associÃ©e avec un Ã©vÃ©nement dans le cycle de vie de la ressource.</Attribute>
+            <Attribute name="comment">Typiquement, une date sera associÃ©e Ã  la crÃ©ation ou Ã  la publication d&apos;une ressource. Il est fortement recommandÃ© d&apos;encoder la valeur de la date en utilisant le format dÃ©fini par l&apos;ISO 8601 [W3CDTF] sous la forme AAAA-MM-JJ.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÐ°ÑÐ°</Attribute>
+            <Attribute name="definition">ÐÐ°ÑÐ°, ÑÐ²ÑÐ·Ð°ÐœÐœÐ°Ñ Ñ ÑÐŸÐ±ÑÑÐžÐµÐŒ Ð² Ð¶ÐžÐ·ÐœÐµÐœÐœÐŸÐŒ ÑÐžÐºÐ»Ðµ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ±ÑÑÐœÐŸ ÐÐ°ÑÐ° Ð°ÑÑÐŸÑÐžÐžÑÑÐµÑÑÑ Ñ ÑÐŸÐ·ÐŽÐ°ÐœÐžÐµÐŒ ÐžÐ»Ðž ÐŽÐŸÑÑÑÐ¿ÐœÐŸÑÑÑÑ ÑÐµÑÑÑÑÐ°. ÐÐ° Ð¿ÑÐ°ÐºÑÐžÐºÐµ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ ÐŽÐ»Ñ ÐºÐŸÐŽÐžÑÐŸÐ²ÐºÐž Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŽÐ°ÑÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÐµ Ð¿ÑÐŸÑÐžÐ»Ñ ISO 8601 (Ð€ÐŸÑÐŒÐ°ÑÑ ÐŽÐ°ÑÑ Ðž Ð²ÑÐµÐŒÐµÐœÐž W3C), ÐºÐŸÑÐŸÑÐŸÐµ Ð¿ÐŸÐŽÐŽÐµÑÐ¶ÐžÐ²Ð°ÐµÑ ÑÐŸÑÐŒÐ°Ñ ÐÐÐÐ-ÐÐ-ÐÐ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Fecha</Attribute>
+            <Attribute name="definition">Una fecha en la que el recurso se puso a disposiciÃ³n del usuario en su forma actual. Esta fecha no ha de confundirse con la que pertenece al elemento Coverage, que serÃ­a asociada con el recurso sÃ³lo en la medida en que el contenido intelectual estÃ¡ de algÃºn modo relacionado con esa fecha. Recomendamos la utiliazaciÃ³n de uno de los formatos definidos en el documento &quot;Date and Time Formats&quot;, http://www.w3.org/TR/NOTE-datetime basado en la norma ISO 8601 que incluye, entre otras, fechas en el formato AAAA y AAAA-MM-DD. De esta forma la fecha 1994-11-05 corresponderÃ­a al 5 de Noviembre de 1994.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙØªØ§Ø±Ø®</Attribute>
+            <Attribute name="definition">ÙÙ Ø§ÙØªØ§Ø±ÙØ® Ø§ÙÙ
+ØªØ¹ÙÙ ØšÙÙØª ÙØŽØŠ Ø£Ù ØªÙÙØ± Ø§ÙÙ
+ØµØ¯Ø± . Ù ÙØ¬Øš Ø£Ù ÙØ§ ÙØ®ÙØ· ÙØ°Ø§ Ø§ÙØªØ§Ø±ÙØ® Ø§ÙØ¹Ø§ØŠØ¯ ÙØ¹Ø§Ù
+Ù Ø§ÙØªØºØ·ÙØ© , Ù Ø§ÙØ° Ù ÙØ¬Øš Ø£Ù    ÙÙØ­Ù ØšØ§ÙÙ
+ØµØ¯Ø± ÙÙØ· Ù
+Ù ÙØ§Ø­ÙØ© Ø§ÙÙ
+Ø­ØªÙÙØ§ÙÙÙØ±Ù ÙÙÙÙÙ ÙÙØ¹Ø§ Ù
+Ø§ ÙÙ ÙØ°Ø§ Ø§ÙØªØ§Ø±ÙØ®. Ø§ÙØµÙØºØ© Ø§ÙÙ
+Ø³Ø«Ø­Ø³ÙØ© ÙÙØ§Ø­Ø³Ù Ø§ÙÙ
+ØªØ¹Ø§Ø±Ù Ø¹ÙÙÙ    Ø¹ÙØ¯ Ø§ÙØªØ·ØšÙÙ ÙÙ Ø§ÙØµÙØºØ© Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© ÙÙ ØªØŽÙÙÙ (ISO 8601) ØµÙØºØ© ØªØ§Ø±ÙØ® Ø§ÙÙÙÙ
+ Ù Ø§ÙÙÙØª ) Ø§Ø¹ØªÙ
+Ø§Ø¯Ø§ Ø¹ÙÙ (ISO 8601) Ø§ÙÙ
+ÙØ§Ø­ØžØ© Ø§ÙÙÙÙØ© http://www.w3.org/TR/NOTE-datetime, W3C. ÙÙÙ    ÙØ°Ø§ Ø§ÙÙØ³Ù , Ù
+Ø«ÙØ§, ØªØ§Ø±ÙØ® Ø§ÙÙÙÙ
+ 1994-11-04 ÙÙØ§ØžØ± ÙÙÙ
+ 5 ÙÙÙÙ
+ØšØ± 1994</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">æ¥æ</Attribute>
+            <Attribute name="definition">äžèµæºçåœåšæäž­çäžäžªäºä»¶çžå
+³çæ¶éŽã</Attribute>
+            <Attribute name="comment">äžè¬èèšïŒæ¥æåºäžèµæºçåå»ºæåºçæ¥æçžå
+³ãå»ºè®®éçšçæ¥ææ ŒåŒåºç¬ŠåISO 8601 [W3CDTF]è§    èïŒå¹¶äœ¿çšYYYY-MM-DDçæ ŒåŒã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Datum</Attribute>
+            <Attribute name="definition">Datum spojenÃ© s urÄitou udÃ¡lostÃ­ bÄhem existence zdroje.</Attribute>
+            <Attribute name="comment">Datum bude typicky spojeno s vytvoÅenÃ­m nebo zpÅÃ­stupnÄnÃ­m zdroje. DoporuÄenÃœ postup pro kÃ³dovÃ¡nÃ­ hodnoty data je definovÃ¡n v ISO 8601 [W3CDTF]: formÃ¡t RRRR-MM-DD.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Datum</Attribute>
+            <Attribute name="definition">De datum van de totstandkoming of beschikbaarstelling van een Internetbron. Deze datum moet niet verward worden met de datum in &quot;Coverage&quot;. De datum in &quot;Coverage&quot; geeft de tijdsperiode van de inhoud van de Internetbron aan. Voorgeschreven wordt de ISO 8601 standaard voor datum, zoals beschreven in W3C Technical Note http://www.w3.org/TR/NOTE-datetime. Hierin wordt het formaat YYYY-MM-DD beschreven. Het formaat YYYY-MM-DD wordt de voorgeschreven standaard. 3 September 1998 wordt in dit geval 1998-09-03.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Data</Attribute>
+            <Attribute name="definition">Un data associate a un evento in le cyclo vital del ressource.</Attribute>
+            <Attribute name="comment">Typicamente le data es associate al creation o disponibilization del ressource. Le practica recommendate pro codificar le valor del datas es definite in un profilo de ISO 8601 [W3CDTF] e seque le formato AAAA-MM-DD.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€€à€Ÿà€°à¥à€,  à€Šà€¿à€šà€Ÿà€à€</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à€Ÿ à€€à€¯à€Ÿà€° à€à¥à€²à¥à€¯à€Ÿà€à¥ à€€à€Ÿà€°à¥à€</Attribute>
+            <Attribute name="comment">à€€à€Ÿà€°à¥à€  à€²à€¿à€¹à¥à€£à¥à€¯à€Ÿà€à¥ à€žà¥à€µà€°à¥à€ª à€ à€µà€°à¥à€·. à€®à€¹à€¿à€šà€Ÿ. à€Šà€¿à€µà€ž à¥§à¥¯à¥«à¥Š. à¥Šà¥ª. à¥Šà¥ª</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Thá»i gian</Attribute>
+            <Attribute name="definition">Thá»i gian liÃªn quan Äáº¿n vÃ²ng Äá»i cá»§a nguá»n tin (táº¡o láº­p, sá»­a Äá»i, v.v..)</Attribute>
+            <Attribute name="comment">NgÃ y thÃ¡ng cÃ³ thá» lÃ  thá»i gian liÃªn quan Äáº¿n viá»c táº¡o ra, hiá»u ÄÃ­nh hoáº·c lÃ m cho nguá»n tin tiáº¿p cáº­n ÄÆ°á»£c. Khuyáº¿n nghá» sá»­ dá»¥ng cÃ¡ch trÃ¬nh bÃ y thá»i gian theo tiÃªu chuáº©n ISO 8601 vÃ  theo khá» máº«u Bá»n sá» nÄm-hai sá» thÃ¡ng-hai sá» ngÃ y (YYYY-MM-DD)</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Type">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Resource Type</Attribute>
+            <Attribute name="definition">The nature or genre of the content of the resource.</Attribute>
+            <Attribute name="comment">Type includes terms describing general categories, functions, genres, or aggregation levels for content. Recommended best practice is to select a value from a controlled vocabulary (for example, the working draft list of Dublin Core Types). To describe the physical or digital manifestation of the resource, use the FORMAT element.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Tumomo</Attribute>
+            <Attribute name="definition">Te ahua, te tu-ahuatanga ranei o nga kaupapa o te rauemi.</Attribute>
+            <Attribute name="comment">Kei roto i te Tumomo nga kupu whakaatu i nga wehewehenga whanui, nga aheinga, nga tu-ahuatanga, te whakaritenga ranei o nga taumata o te/ nga kaupapa. Ko te huarahi tino pai kua tohua, ko te tipako i tetahi uara mai i nga kupu kua whakaritea (hei tauira, ko te tauira rarangi e whakamahia ana o nga Dublin Core Types [DCT1]. Hei whakaatu i te whakatinanatanga o te rauemi, whakamahia ko te huanga WHAKATAKOTORANGA (FORMAT).</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Type</Attribute>
+            <Attribute name="definition">La nature ou le genre du contenu de la ressource.</Attribute>
+            <Attribute name="comment">Type inclut des termes dÃ©crivant des catÃ©gories, fonctions ou genres gÃ©nÃ©raux pour le contenu, ou des niveaux d&apos;agrÃ©gation. Il est recommandÃ© de choisir la valeur du type dans une liste de vocabulaire contrÃŽlÃ© (par exemple, la liste provisoire de Types du Dublin Core[DCT1]). Pour dÃ©crire la matÃ©rialisation physique ou digitale de la ressource, il faut utiliser l&apos;Ã©lÃ©ment Format.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">Ð¢ÐžÐ¿ ÑÐµÑÑÑÑÐ°</Attribute>
+            <Attribute name="definition">ÐÑÐžÑÐŸÐŽÐ° ÐžÐ»Ðž Ð¶Ð°ÐœÑ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">Ð¢ÐžÐ¿ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÑÐµÑÐŒÐžÐœÑ, ÐŸÐ¿ÐžÑÑÐ²Ð°ÑÑÐžÐµ ÐŸÐ±ÑÐžÐµ ÐºÐ°ÑÐµÐ³ÐŸÑÐžÐž, ÑÑÐœÐºÑÐžÐž, Ð¶Ð°ÐœÑÑ ÐžÐ»Ðž ÐŸÐ±ÑÐµÐŽÐžÐœÐµÐœÐœÑÐµ ÑÑÐŸÐ²ÐœÐž ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ. ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ Ð²ÑÐ±ÐžÑÐ°ÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐžÐ· ÐºÐŸÐœÑÑÐŸÐ»ÐžÑÑÐµÐŒÐŸÐ³ÐŸ ÑÐ»ÐŸÐ²Ð°ÑÑ (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, ÑÐ°Ð±ÐŸÑÐµÐ³ÐŸ Ð¿ÑÐŸÐµÐºÑÐ° ÑÐ¿ÐžÑÐºÐ° Ð¢ÐžÐ¿ÐŸÐ² Dublin Core DCT1). ÐÐ»Ñ ÐŸÐ¿ÐžÑÐ°ÐœÐžÑ ÑÐžÐ·ÐžÑÐµÑ-ÐºÐŸÐ³ÐŸ ÐžÐ»Ðž ÑÐžÑÑÐŸÐ²ÐŸÐ³ÐŸ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑ ÑÐµÑÑÑÑÐ° ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÑÐ»ÐµÐŒÐµÐœÑ Ð€ÐŸÑÐŒÐ°Ñ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Tipo del Recurso</Attribute>
+            <Attribute name="definition">La categorÃ­a del recurso, por ejemplo pÃ¡gina personal, romance, poema, minuta, diccionario. Para asegurar la interoperabilidad, Type deberÃ­a ser seleccionado de entre una lista de valores que actualmente se encuentra bajo desarrollo en un grupo de trabajo. En http://sunsite.berkeley.edu/Metadata/types.html se puede consultar el estado actual de la discusiÃ³n en torno a este tema.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">ÙÙØ¹ Ø§ÙÙ
+ØµØ¯Ø±</Attribute>
+            <Attribute name="definition">ÙÙ ÙØŠØ© Ø§ÙÙ
+ØµØ¯Ø± , Ù
+Ø«ÙØ§ Ø§ÙØµÙØ­Ø© Ø§ÙØ§Ù
+, Ø±ÙØ§ÙØ© , ÙØ·Ø¹Ø© ØŽØ¹Ø±ÙØ© , ÙØ±ÙØ© Ø¹Ù
+Ù , ØªÙØ±ÙØ± ÙÙÙ , Ù
+ÙØ§Ù , ÙØ§Ù
+ÙØ³ . Ù Ù
+Ù Ø£Ø¬Ù Ø§ÙØªØ¹Ø§Ù
+Ù Ø§ÙÙ
+ØŽØªØ±Ù    ÙØ¬Øš Ø£Ù ÙØ®ØªØ§Ø± Ø§ÙÙÙØ¹ Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+Ø±ÙÙ
+Ø© ÙØ§ÙØªÙ ÙÙÙ
+ Ø§Ø¹Ø¯Ø§Ø¯ÙØ§ Ø­Ø§ÙÙØ§ Ø¶Ù
+Ù Ø­ÙÙØ§Øª ÙØ±ØŽØ© Ø¹Ù
+Ù</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">èµæºç±»å</Attribute>
+            <Attribute name="definition">èµæºå
+å®¹çç¹åŸæç±»åã</Attribute>
+            <Attribute name="comment">èµæºç±»åå
+æ¬æè¿°èµæºå
+å®¹çäžè¬èçŽïŒåèœïŒç§å±ïŒæèç±»å±æ¬¡çæ¯è¯­ãå»ºè®®éçšæ¥èªäºåæ§è¯è¡š    äž­çåŒïŒäŸåŠDCMIç±»åè¯æ±è¡š[DCMITYPE]ïŒãèŠæè¿°èµæºçç©çææ°å­åè¡šç°åœ¢åŒïŒè¯·äœ¿çšâæ ŒåŒïŒFORMATïŒâå
+çŽ ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Typ zdroje</Attribute>
+            <Attribute name="definition">Povaha nebo druh obsahu zdroje.</Attribute>
+            <Attribute name="comment">Typ obsahuje termÃ­ny popisujÃ­cÃ­ obecnÃ© kategorie, funkce, druhy nebo agregaÄnÃ­ ÃºrovnÄ obsahu. DoporuÄuje se vybÃ­rat hodnotu z ÅÃ­zenÃ©ho slovnÃ­ku (napÅ. pracovnÃ­ nÃ¡vrh seznamu TypÅ¯ Dublin Core [DCT1]). K popisu fyzickÃ© nebo digitÃ¡lnÃ­ reprezentace zdroje uÅŸijte prvek FormÃ¡t.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Bestands type</Attribute>
+            <Attribute name="definition">Het soort Internetbron, bijvoorbeeld home page, gedicht, working paper, technical report, essay, woordenboek etc. De DC working groups zijn momenteel bezig met twee voorstellen; een minimalist draft: http://sunsite.berkeley.edu/Metadata/minimalist.html en een structuralist draft: http://sunsite.berkely.edu/Metadata/structuralist.html. Het wordt sterk aanbevolen om &quot;Type&quot; van deze lijsten te selecteren.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Typo del ressource</Attribute>
+            <Attribute name="definition">Le natura o genere del contento del ressource.</Attribute>
+            <Attribute name="comment">Le typo del ressource include terminos que describe categorias general, functiones, generes, o nivellos de aggregation pro le contento. Le practica recommendate es selectionar un valor a partir de un vocabulario controlate (per exemplo, le lista de schizzos de travalio de typos de Dublin Core [DCT1]). Pro describer le manifestation physic o digital del ressource, utiliza le elemento Formato.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€ªà¥à€°à€à€Ÿà€°</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à€Ÿà€ªà¥à€°à€à€Ÿà€°</Attribute>
+            <Attribute name="comment">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€µà€°à¥à€à¥à€à€°à€£, à€µà€°à¥à€à€µà€Ÿà€°à¥à€®à€§à¥à€¯à¥ à€à€à€Ÿà€Šà¥à€¯à€Ÿ à€šà¥à€à€Šà¥à€à€Ÿ à€®à¥à€à¥à€¯ à€à€à€ªà¥à€°à€à€Ÿà€°</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Thá» loáº¡i</Attribute>
+            <Attribute name="definition">MÃŽ táº£ báº£n cháº¥t hoáº·c thá» loáº¡i cá»§a ná»i dung cá»§a nguá»n tin</Attribute>
+            <Attribute name="comment">MÃŽ táº£ thá» loáº¡i cá»§a nguá»n tin</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Format">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Format</Attribute>
+            <Attribute name="definition">The physical or digital manifestation of the resource.</Attribute>
+            <Attribute name="comment">Typically, Format may include the media-type or dimensions of the resource. Format may be used to determine the software, hardware or other equipment needed to display or operate the resource. Examples of dimensions include size and duration. Recommended best practice is to select a value from a controlled vocabulary (for example, the list of Internet Media Types [MIME] defining computer media formats).</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Whakatakotoranga</Attribute>
+            <Attribute name="definition">Te whakatinanatanga, te whakaputanga a-mati o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tikanga, ka taea te Whakatakotoranga te whakamahi hei whakarite i te rawa-ngohe (software), te rawa-maro (hardware), ma etahi taputapu ranei me matua whiwhi, hei whakahaere i te rauemi. Ko te rahi me te roanga etahi tauira hanga. Ko te tino huarahi kua tohua ko te tipako uara mai i tetahi whakaritenga kupu (hei tauira, te rarangi o nga Tumomo Papaho Ipurangi (Internet Media Types [MIME]) e whakaatu ana i nga whakatakotoranga papaho rorohiko.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Format</Attribute>
+            <Attribute name="definition">La matÃ©rialisation physique ou digitale de la ressource.</Attribute>
+            <Attribute name="comment">Typiquement, Format peut inclure le media ou les dimensions de la ressource. Format peut Ãªtre utilisÃ© pour prÃ©ciser le logiciel, le matÃ©riel ou autre Ã©quipement nÃ©cessaire pour afficher ou faire fonctionner la ressource. Exemples de dimensions incluent la taille et la durÃ©e. Il est recommandÃ© de choisir la valeur du format dans une liste de vocabulaire contrÃŽlÃ©(par exemple, la liste des types de media dÃ©finis sur Internet [MIME]).</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">Ð€ÐŸÑÐŒÐ°Ñ</Attribute>
+            <Attribute name="definition">Ð€ÐžÐ·ÐžÑÐµÑÐºÐŸÐµ ÐžÐ»Ðž ÑÐžÑÑÐŸÐ²ÐŸÐµ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ±ÑÑÐœÐŸ Ð€ÐŸÑÐŒÐ°Ñ ÐŒÐŸÐ¶ÐµÑ Ð²ÐºÐ»ÑÑÐ°ÑÑ ÑÐžÐ¿ Ð°ÑÐŽÐžÐŸÐ²ÐžÐ·ÑÐ°Ð»ÑÐœÐŸÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž (ÐŒÐµÐŽÐžÐ°-ÑÐžÐ¿) ÐžÐ»Ðž Ð²ÐµÐ»ÐžÑÐžÐœÑ ÑÐµÑÑÑÑÐ°. Ð€ÐŸÑÐŒÐ°Ñ ÐŒÐŸÐ¶ÐµÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑÑÑ ÐŽÐ»Ñ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÑ Ð°Ð¿Ð¿Ð°ÑÐ°ÑÐœÐŸÐ³ÐŸ, Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐœÐŸÐ³ÐŸ ÐŸÐ±ÐµÑÐ¿ÐµÑÐµÐœÐžÑ ÐžÐ»Ðž ÐŽÑÑÐ³ÐŸÐ³ÐŸ ÐŸÐ±ÐŸÑÑÐŽÐŸÐ²Ð°ÐœÐžÑ, ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸÐ³ÐŸ ÐŽÐ»Ñ Ð²ÐŸÑÐ¿ÑÐŸÐžÐ·Ð²ÐµÐŽÐµÐœÐžÑ ÐžÐ»Ðž ÑÐ°Ð±ÐŸÑÑ Ñ ÑÐµÑÑÑÑÐŸÐŒ. ÐÑÐžÐŒÐµÑÑ Ð²ÐµÐ»ÐžÑÐžÐœÑ Ð²ÐºÐ»ÑÑÐ°ÑÑ ÑÐ°Ð·ÐŒÐµÑ Ðž Ð¿ÑÐŸÐŽÐŸÐ»Ð¶ÐžÑÐµÐ»ÑÐœÐŸÑÑÑ. ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ Ð²ÑÐ±ÐžÑÐ°ÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐžÐ· ÐºÐŸÐœÑÑÐŸÐ»ÐžÑÑÐµÐŒÐŸÐ³ÐŸ ÑÐ»ÐŸÐ²Ð°ÑÑ (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, ÑÐ¿ÐžÑÐºÐ° ÐÐµÐŽÐžÐ°-ÑÐžÐ¿ÐŸÐ² ÐÐœÑÐµÑÐœÐµÑ MIME, ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÑÑÐµÐ³ÐŸ ÐºÐŸÐŒÐ¿ÑÑÑÐµÑÐœÑÐµ ÑÐŸÑÐŒÐ°ÑÑ Ð°ÑÐŽÐžÐŸÐ²ÐžÐ·ÑÐ°Ð»ÑÐœÐŸÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž).</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Formato</Attribute>
+            <Attribute name="definition">El formato de datos de un recurso, usado para identificar el software y posiblemente, el hardware que se necesitarÃ­a para mostrar el recurso. Para asegurar la interoperabilidad, los valores de Format deberÃ­an ser seleccionados de entre una lista de valores que actualmente se encuentra bajo desarrollo en un grupo de trabajo.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙØµÙØºØ©</Attribute>
+            <Attribute name="definition">ÙØ°Ù ØµÙØºØ© Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø© Ø§ÙØ®Ø§ØµØ© ØšØ§ÙÙ
+ØµØ¯Ø± , Ù ØªØ³ØªØ®Ø¯Ù
+ ÙÙØªØ¹Ø±ÙÙ ØšØ§ÙØšØ±Ù
+Ø¬ÙØ§Øª ÙØ±ØšÙ
+Ø§ Ø§ÙØµÙØš ÙÙØ­Ø§Ø³ÙØš Ù Ø§ÙØªÙ ÙÙ
+ÙÙ Ø£Ù ÙØ­ØªØ§Ø¬    ÙÙØ§ ÙØ¹Ø±Ø¶ Ø£Ù ØªØŽØºÙÙ Ø§ÙÙ
+ØµØ¯Ø± . Ù
+Ù Ø£Ø¬Ù Ø§ÙØªØ¹Ø§Ù
+Ù Ø§ÙÙ
+ØŽØªØ±Ù, ÙØ¬Øš Ø£Ù ØªØ®ØªØ§Ø± Ø§ÙØµÙØºØ© Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+Ø±ÙÙ
+Ø© Ù Ø§ÙØªÙ ÙØªÙ
+ Ø§Ø¹Ø¯Ø§Ø¯ÙØ§    Ø­Ø§ÙÙØ§ Ø¶Ù
+Ù Ø­ÙÙØ§Øª ÙØ±ØŽØ© Ø¹Ù
+Ù</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">æ ŒåŒ</Attribute>
+            <Attribute name="definition">èµæºçç©çææ°å­è¡šç°åœ¢åŒã</Attribute>
+            <Attribute name="comment">äžè¬èèšïŒæ ŒåŒå¯èœå
+æ¬èµæºçåªäœç±»åæèµæºçå€§å°ïŒæ ŒåŒå
+çŽ å¯ä»¥çšæ¥å³å®å±ç€ºææäœèµæºæé    çèœ¯ç¡¬ä»¶æå
+¶ä»çžåºè®Ÿå€ïŒäŸåŠå€§å°å
+æ¬èµæºæå çå­åšç©ºéŽåæç»­æ¶éŽãå»ºè®®éçšæ¥èªäºåæ§è¯è¡š    äž­çåŒïŒïŒäŸåŠInternetåªäœç±»å[MIME]å®ä¹è®¡ç®æºåªäœæ ŒåŒïŒã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">FormÃ¡t</Attribute>
+            <Attribute name="definition">FyzickÃ¡ nebo digitÃ¡lnÃ­ reprezentace zdroje.</Attribute>
+            <Attribute name="comment">Typicky mÅ¯ÅŸe FormÃ¡t obsahovat typ mÃ©dia nebo rozmÄry zdroje. FormÃ¡t lze pouÅŸÃ­vat k urÄenÃ­ softwaru, hardwaru nebo dalÅ¡Ã­ho zaÅÃ­zenÃ­ potÅebnÃ©ho k zobrazenÃ­ nebo k manipulaci se zdrojem. PÅÃ­klady rozmÄrÅ¯ zahrnujÃ­ velikost a dobu trvÃ¡nÃ­. DoporuÄuje se vybÃ­rat hodnotu z ÅÃ­zenÃ©ho slovnÃ­ku (napÅ. seznam typÅ¯ internetovÃœch mÃ©diÃ­ [MIME] definujÃ­cÃ­ formÃ¡ty poÄÃ­taÄovÃœch mÃ©diÃ­).</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Format</Attribute>
+            <Attribute name="definition">Het data formaat van het Internetbestand. Dit gegeven kan gebruikt worden om systeemvereisten (hard- en software) te identificeren die nodig zijn voor raadpleging of bediening van de Internetbron. &quot;Format&quot; is nog in ontwikkeling bij de DC workshop. Uit compatibiliteitsoverwegingen wordt aanbevolen formaatgegevens te selecteren uit een gecontroleerde lijst. Formaten kunnen van de Internet Media Types (MIME types) lijst gekozen worden: http://www.isi.edu/in-notes/iana/assignments/media-types/media-types</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Formato</Attribute>
+            <Attribute name="definition">Le manifestation physic o digital del ressource.</Attribute>
+            <Attribute name="comment">Typicamente le formato pote includer le typo de medio o dimensiones del ressource. Le formato pote esser utilizate pro determinar le software o le equipamento necessari pro exhibir o operar le ressource. Exemplos de dimensiones include grandessa e duration. Le practica recommendate es selectionar un valor de un vocabulario controlate (per exemplo, le lista de typos de medios de Internet [MIME] que defini formatos de medios).</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€°à€à€šà€Ÿ</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€°à€à€šà€Ÿ, à€šà€®à¥à€šà€Ÿà€¬à¥à€Š à€°à€à€šà€Ÿ</Attribute>
+            <Attribute name="comment">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€žà¥à€µà€°à¥à€ª, à€°à€à€šà€Ÿà€à€Šà€Ÿ. à€€à¥à€¯à€Ÿà€à¥ à€°à¥à€ª à€à€žà¥ à€ªà¥à€žà¥à€€à€à€°à¥à€ª, à€žà€à€à€£à€à¥à€¯ à€°à¥à€ª, à€µà€¿à€Šà¥à€¯à¥à€€ à€ªà€°à€®à€Ÿà€£à¥à€à€à¥à€¯à€Ÿ à€žà€¹à€Ÿà€¯à¥à€¯à€Ÿà€šà¥ à€žà€à€à€£à€à¥à€à¥à€€ à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à€Ÿ</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Dáº¡ng máº«u dá»¯ liá»u</Attribute>
+            <Attribute name="definition">MÃŽ táº£ loáº¡i hÃ¬nh váº­t lÃœ hoáº·c sá» (Äiá»n tá»­) cá»§a nguá»n tin.</Attribute>
+            <Attribute name="comment">Vá» cÆ¡ báº£n, Yáº¿u tá» Format cung cáº¥p thÃŽng tin vá» váº­t mang tin cá»§a nguá»n tin náº¿u lÃ  nguá»n tin khÃŽng trá»±c tuyáº¿n. Yáº¿u tá» cÃ²n cung cáº¥p thÃŽng tin vá» kiá»u dá»¯ liá»u hoáº·c kÃ­ch thÆ°á»c, quy mÃŽ cá»§a nguá»n tin. Dáº¡ng máº«u cÃ³ thá» sá»­ dá»¥ng Äá» xÃ¡c Äá»nh pháº§n má»m, pháº§n cá»©ng hoáº·c thiáº¿t bá» khÃ¡c cáº§n thiáº¿t Äá» hiá»n thá» hoáº·c thao tÃ¡c vá»i nguá»n tin. Khuyáº¿n nghá» sá»­ dá»¥ng tá»« vá»±ng cÃ³ kiá»m soÃ¡t Äá» chá»n lá»±a thuáº­t ngá»¯ phÃ¹ há»£p (thÃ­ dá»¥ sá»­ dá»¥ng danh má»¥c tá»« chuáº©n tÃªn gá»i loáº¡i hÃ¬nh dá»¯ liá»u Internet (MIME) Äá» xÃ¡c Äá»nh dáº¡ng máº«u dá»¯ liá»u Äiá»n tá»­)</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Identifier">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Resource Identifier</Attribute>
+            <Attribute name="definition">An unambiguous reference to the resource within a given context.</Attribute>
+            <Attribute name="comment">Recommended best practice is to identify the resource by means of a string or number conforming to a formal identification system. Example formal identification systems include the Uniform Resource Identifier (URI) (including the Uniform Resource Locator (URL)), the Digital Object Identifier (DOI) and the International Standard Book Number (ISBN).</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Taututanga</Attribute>
+            <Attribute name="definition">He tohutoro e hangai ana ki te rauemi i roto i tetahi horopaki.</Attribute>
+            <Attribute name="comment">Ko te tino huarahi kua tohua, ko te tautu i te rauemi ma tetahi aho (string), tau ranei, e hangai ana ki tetahi punaha taututanga okawa. Ko etahi punaha taututanga okawa ko te Taututanga Rauemi Orite (Uniform Resource Identifier - URI), te Taututanga Rauemi Tohu-wahi (Uniform Resource Locator - URL), Te Mea A-mati (Digital Object Identifier - DOI) me te Tau Pukapuka Aro Whanui o te Ao (International Standard Book Number - ISBN).</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Identifiant</Attribute>
+            <Attribute name="definition">Une rÃ©fÃ©rence non ambiguÃ« Ã  la ressource dans un contexte donnÃ©</Attribute>
+            <Attribute name="comment">Il est recommandÃ© d&apos;identifier la ressource par une chaÃ®ne de caractÃšre ou un nombre conforme Ã  un sytÃšme formel d&apos;identification. Exemples de systemes formels d&apos;identification incluent le &quot;Uniform Resource Identifier&quot; (URI) (qui inclut le &quot;Uniform Resource Locator&quot; (URL)), le &quot;Digital Object Identifier&quot;(DOI) et le &quot;International Standard Book Number&quot;(ISBN).</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐŸÑ ÑÐµÑÑÑÑÐ°</Attribute>
+            <Attribute name="definition">ÐÐŽÐœÐŸÐ·ÐœÐ°ÑÐœÐ°Ñ ÑÑÑÐ»ÐºÐ° ÐœÐ° ÑÐµÑÑÑÑ Ð² Ð¿ÑÐµÐŽÐµÐ»Ð°Ñ
+ ÐŽÐ°ÐœÐœÐŸÐ³ÐŸ ÐºÐŸÐœÑÐµÐºÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ ÐžÐŽÐµÐœÑÐžÑÐžÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐµÑÑÑÑ Ð¿ÐŸÑÑÐµÐŽÑÑÐ²ÐŸÐŒ ÑÑÑÐŸÐºÐž ÐžÐ»Ðž ÑÐžÑÐ»Ð°, ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐµÐ³ÐŸ ÑÐŸÑÐŒÐ°Ð»ÑÐœÐŸÐ¹ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÐŸÐœÐœÐŸÐ¹ ÑÐžÑÑÐµÐŒÐµ. ÐÑÐžÐŒÐµÑÑ ÑÐŸÑÐŒÐ°Ð»ÑÐœÑÑ
+ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÐŸÐœÐœÑÑ
+ ÑÐžÑÑÐµÐŒ Ð²ÐºÐ»ÑÑÐ°ÑÑ Ð£ÐœÐžÑÐžÑÐžÑÐŸÐ²Ð°ÐœÐœÑÐ¹ ÐÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐŸÑ Ð ÐµÑÑÑÑÐ° (URI), (Ð²ÐºÐ»ÑÑÐ°Ñ Ð£ÐœÐžÑÐžÑÐžÑÐŸÐ²Ð°ÐœÐœÑÑÐ¹ ÐÐŸÐºÐ°ÑÐŸÑ Ð ÐµÑÑÑÑÐ° URL), ÐÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐŸÑ ÐŠÐžÑÑÐŸÐ²ÐŸÐ³ÐŸ ÐÐ±ÑÐµÐºÑÐ° (DOI) Ðž ÐÐµÐ¶ÐŽÑÐœÐ°ÑÐŸÐŽÐœÑÐ¹ Ð¡ÑÐ°ÐœÐŽÐ°ÑÑÐœÑÐ¹ ÐÐœÐžÐ¶ÐœÑÐ¹ ÐÐŸÐŒÐµÑ (ISBN).</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Identificador del Recurso</Attribute>
+            <Attribute name="definition">Secuencia de caracteres usados para identificar unÃ­vocamente un recurso. Ejemplos para recursos en lÃ­nea pueden ser URLs y URNs (cuando estÃ©n implementados). Para otros recursos pueden ser usados otros formatos de identificadores, como por ejemplo ISBN (&quot;International Standard Book Number&quot; - NÃºmero Internacional Normalizado para Libros)</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ù
+Ø¹Ø±Ù Ø§ÙÙ
+ØµØ¯Ø±</Attribute>
+            <Attribute name="definition">ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø­Ø±ÙÙØ© Ø£Ù Ø±ÙÙ
+ ÙØ³ØªØ®Ø¯Ù
+ ÙØªØ¹Ø±ÙÙ Ø§ÙÙ
+ØµØ¯Ø± Ø§Ø­Ø¯ÙØ§ : Ø§ÙØ§Ù
+Ø«ÙØ© ÙØ°Ø§ÙÙ ÙÙ Ø§ÙÙ
+ØµØ§Ø¯Ø± Ø§ÙØŽØšÙÙØ©ØªØ¶Ù
+ ) URNs, URLs Ø¹ÙØ¯ ØšÙØ§ØŠÙØ§ (    ÙØ°ÙÙ ÙÙ
+ÙÙ Ø§Ø¹ØªØšØ§Ø± Ø§ÙÙ
+Ø¹Ø±ÙØ§Øª Ø§ÙØ¹Ø§ÙÙ
+ÙØ© Ø§ÙØ§Ø­Ø§Ø¯ÙØ© Ù
+Ø«Ù Ø§ÙØ±ÙÙ
+ Ø§ÙØ¯ÙÙÙ ÙØªØµÙÙÙ Ø§ÙÙØ§ØªØš (ISBN) Ù
+Ø±ØŽØ­Ø© ÙÙØ°Ø§ Ø§ÙØ¹Ø§Ù
+Ù</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">èµæºæ è¯ç¬Š</Attribute>
+            <Attribute name="definition">åšç¹å®çèåŽå
+ç»äºèµæºçäžäžªæç¡®çæ è¯ã</Attribute>
+            <Attribute name="comment">å»ºè®®å¯¹èµæºçæ è¯éçšç¬Šåæäžæ­£åŒæ è¯äœç³»çå­ç¬Šäž²åæ°å­ç»åãäŸåŠæ­£åŒçæ è¯äœç³»å
+æ¬ç»äžèµ    æºæ è¯ç¬Š(URI) (å
+æ¬åäžèµæºå®äœç¬ŠURL)ãæ°å­å¯¹è±¡æ è¯ç¬Š(DOI)ååœé
+æ åä¹Šå·(ISBN)ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">IdentifikÃ¡tor zdroje</Attribute>
+            <Attribute name="definition">JednoznaÄnÃœ odkaz na zdroj v rÃ¡mci danÃ©ho kontextu.</Attribute>
+            <Attribute name="comment">DoporuÄuje se identifikovat zdroj znakovÃœm ÅetÄzcem nebo ÄÃ­slem odpovÃ­dajÃ­cÃ­m nÄkterÃ©mu z formÃ¡lnÃ­ch identifikaÄnÃ­ch systÃ©mÅ¯. PÅÃ­klady formÃ¡lnÃ­ch identifikaÄnÃ­ch systÃ©mÅ¯ zahrnujÃ­ Uniform Resource Identifier (URI) (vÄetnÄ Uniform Resource Locator (URL)), Digital Object Identifier (DOI) a MezinÃ¡rodnÃ­ standardnÃ­ ÄÃ­slo knihy (ISBN).</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Bestandsidentificatie</Attribute>
+            <Attribute name="definition">Een unieke string of nummer ter identificatie van de Internetbron. Voorbeelden zijn URL&apos;s of URN&apos;s Andere voorbeelden zijn International Standard Book Number (ISBN) of International Standard Serial Number (ISSN)</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Identificator del ressource</Attribute>
+            <Attribute name="definition">Un referentia inambigue al ressource intra un date contexto.</Attribute>
+            <Attribute name="comment">Se recommenda identificar le ressource per medio de un catena de characteres o numero conforme a un systema formal de identification. Exemplos de systemas formal de identification include le Uniform Resource Identifier (URI) (includente le Uniform Resource Locator (URL)), le Digital Object Identifier (DOI) e le International Standard Book Number (ISBN).</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€à€³à€</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à€Ÿ à€à€ à€
+à€°à¥à€¥à¥ à€žà€à€Šà€°à¥à€­</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ. à€®à€Ÿà€¹à€¿à€€à¥à€à€Ÿà€³à¥à€¯à€Ÿà€µà€°à¥à€² à€ªà€€à¥à€€à€Ÿ, à€µà€¿à€¶à€¿à€·à¥à€  à€žà¥à€¥à€³,  à€ªà¥à€žà¥à€€à€à€Ÿà€à€Ÿ à€à€à€€à€°à€°à€Ÿà€·à¥à€à¥à€°à¥à€¯  à€®à€Ÿà€šà€ à€à¥à€°à€®à€Ÿà€à€,  à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€à€³à€ à€ªà€à€µà€¿à€£à€Ÿà€°à€Ÿ à€à€à€à€°à€šà¥à€ à€µà€°à¥à€² à€ªà€€à¥à€€à€Ÿ</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Äá»nh danh</Attribute>
+            <Attribute name="definition">Má»t tham chiáº¿u khÃŽng trÃ¹ng láº·p Äáº¿n nguá»n tin trong khung cáº£nh cá»¥ thá»</Attribute>
+            <Attribute name="comment">Khuyáº¿n nghá» sá»­ dá»¥ng cÃ¡c Äá»nh danh nguá»n tin theo nhá»¯ng chuáº©n ÄÆ°á»£c cháº¥p nháº­n quy Äá»nh cho nhá»¯ng há» thá»ng Äá»nh danh hÃ¬nh thá»©c. ThÃ­ dá»¥ vá» há» thá»ng Äá»nh danh bao gá»m: Äá»nh danh Nguá»n tin thá»ng nháº¥t (Uniform Resource Identifier hoáº·c URI, trong ÄÃ³ cÃ³ Äá»nh vá» nguá»n tin thá»ng nháº¥t URL - Uniform Resource Locator, TÃªn nguá»n tin thá»ng nháº¥t URN - Uniform Resource Name vÃ  Äá»nh vá» nguá»n tin thá»ng nháº¥t á»n Äá»nh PURL - Persistent URL),  Äá»nh danh Äá»i tÆ°á»£ng sá» DOI (Digital Object Identifier), Chá» sá» sÃ¡ch chuáº©n quá»c táº¿ ISBN (International Standard Book Number),...</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Source">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Source</Attribute>
+            <Attribute name="definition">A Reference to a resource from which the present resource is derived.</Attribute>
+            <Attribute name="comment">The present resource may be derived from the Source resource in whole or in part.  Recommended best practice is to reference the resource by means of a string or number conforming to a formal identification system.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Matapuna</Attribute>
+            <Attribute name="definition">He tohutoro ki tetahi rauemi koira te matapuna o te rauemi e tirohia ana.</Attribute>
+            <Attribute name="comment">Tera pea i puta te katoa, tetahi wahanga ranei o te rauemi, e tirohia ana, mai i te Matapuna rauemi. Ko te tino huarahi kua tohua ko te tohutoro ki te rauemi ma te aho, ma te tau ranei e hangai ana ki tetahi punaha taututanga okawa.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Source</Attribute>
+            <Attribute name="definition">Une rÃ©fÃ©rence Ã  une ressource Ã  partir de laquelle la ressource actuelle a Ã©tÃ© dÃ©rivÃ©e.</Attribute>
+            <Attribute name="comment">La ressource actuelle peut avoir Ã©tÃ© dÃ©rivÃ©e d&apos;une autre ressource source, en totalitÃ© ou en partie. Il est recommandÃ© de refÃ©rencer cette source par une chaÃ®ne de caractÃšre ou un nombre conforme Ã  un systÃšme formel d&apos;identification.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÑÑÐŸÑÐœÐžÐº</Attribute>
+            <Attribute name="definition">Ð¡ÑÑÐ»ÐºÐ° ÐœÐ° ÑÐµÑÑÑÑ, ÐžÐ· ÐºÐŸÑÐŸÑÐŸÐ³ÐŸ ÐžÐ·Ð²Ð»ÐµÑÐµÐœ ÐœÐ°ÑÑÐŸÑÑÐžÐ¹.</Attribute>
+            <Attribute name="comment">ÐÐ°ÑÑÐŸÑÑÐžÐ¹ ÑÐµÑÑÑÑ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÐ·Ð²Ð»ÐµÑÐµÐœ ÐžÐ· ÐÑÑÐŸÑÐœÐžÐºÐ° ÑÐµÐ»ÐžÐºÐŸÐŒ ÐžÐ»Ðž ÑÐ°ÑÑÐžÑÐœÐŸ. ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ ÐžÐŽÐµÐœÑÐžÑÐžÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐµÑÑÑÑ Ð¿ÐŸÑÑÐµÐŽÑÑÐ²ÐŸÐŒ ÑÑÑÐŸÐºÐž ÐžÐ»Ðž ÑÐžÑÐ»Ð°, ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐµÐ³ÐŸ ÑÐŸÑÐŒÐ°Ð»ÑÐœÐŸÐ¹ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÐŸÐœÐœÐŸÐ¹ ÑÐžÑÑÐµÐŒÐµ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Fuente</Attribute>
+            <Attribute name="definition">Secuencia de caracteres utilizado para identificar unÃ­vocamente un trabajo a partir del cual proviene el recurso actual. Por ejemplo, es posible usar Source con la fecha de 1603 como descripciÃ³n de una pelÃ­cula basada en una obra de Shakespeare, pero es preferible, en ese caso, usar Relation &quot;IsBasedOn&quot; con una referencia a un recurso distinto cuya descripciÃ³n contenga el elemento Date con valor 1603.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙ
+ØµØ¯Ø±</Attribute>
+            <Attribute name="definition">Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙØ®Ø§ØµØ© ØšÙ
+ØµØ¯Ø± Ø«Ø§ÙÙ Ù Ø§ÙØ°Ù Ø§Ø³ØªÙ
+Ø¯ Ù
+ÙÙ Ø§ÙÙ
+ØµØ¯Ø± Ø§ÙØ­Ø§ÙÙ. Ù
+Ø¹ Ø£ÙÙ Ù
+Ù Ø§ÙÙ
+ÙØµÙ ØšÙ Ø£Ù ØªÙØ¯Ù
+ Ø§ÙØ¹ÙØ§Ù
+Ù    Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø¹Ù Ø§ÙÙ
+ØµØ¯Ø± Ø§ÙØ­Ø§ÙÙ ÙÙØ· , ÙÙÙ
+ÙÙ Ø£Ù ÙØ­ÙÙ ÙØ°Ø§ Ø§ÙØ¹Ø§Ù
+Ù Ø§ÙØªØ§Ø±ÙØ®, Ø§ÙÙ
+ÙØŽØŠ , Ø§ÙØµÙØºØ© , Ø§ÙÙ
+Ø¹Ø±Ù , Ø§Ù Ø§ÙØ© Ù
+ÙØ© - Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø§Ø®Ø±Ù ÙÙÙ
+ØµØ¯Ø± Ø§ÙØ«Ø§ÙÙ Ø¹ÙØ¯Ù
+Ø§ ØªØ¹ØªØšØ± Ù
+ÙÙ
+Ø© ÙØ§ÙØªØŽØ§Ù Ø§ÙÙ
+ØµØ¯Ø± Ø§ÙØ­Ø§ÙÙ , Ù ÙØ°Ø§ÙÙ ÙÙØµÙ Ø¹ÙØ¯ Ø§ÙØªØ·ØšÙÙÙÙ Ø§Ø­Ø³Ù     Ø§ÙÙ
+ØªØ¹Ø§Ø±Ù Ø¹ÙÙÙ ØšØ§Ø³ØªØ®Ø¯Ø§Ù
+ Ø¹Ø§Ù
+Ù Ø§ÙØ¹ÙØ§ÙØ©</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">æ¥æº</Attribute>
+            <Attribute name="definition">ç°æèµæºæ¥æºçåç
+§ã</Attribute>
+            <Attribute name="comment">åœåèµæºå¯èœéšåæå
+šéšæºèªè¯¥å
+çŽ ææ è¯çèµæºïŒå»ºè®®å¯¹è¿äžèµæºçæ è¯éçšäžäžªç¬Šåæ­£åŒæ è¯ç³»    ç»çå­äž²åæ°å­ç»å ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Zdroj</Attribute>
+            <Attribute name="definition">Odkaz na zdroj, z nÄhoÅŸ je popisovanÃœ zdroj odvozen.</Attribute>
+            <Attribute name="comment">PopisovanÃœ zdroj mÅ¯ÅŸe bÃœt zcela nebo zÄÃ¡sti odvozen ze zdroje uvedenÃ©ho v prvku Zdroj. DoporuÄuje se odkazovat zdroj znakovÃœm ÅetÄzcem nebo ÄÃ­slem odpovÃ­dajÃ­cÃ­m nÄkterÃ©mu z formÃ¡lnÃ­ch identifikaÄnÃ­ch systÃ©mÅ¯.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Bron</Attribute>
+            <Attribute name="definition">Informatie over een tweede bron waar de huidige Internetbron is van afgeleid. Bij &quot;Source&quot; mag een datum, auteur of maker, formaat, identificatie of andere metadata voor de tweede bron worden ingevuld. Voorbeeld: het is mogelijk om een &quot;Source&quot; datum 1603 in een omschrijving van een 1996 film bewerking van een Shakespeare stuk te gebruiken. &quot;Source&quot; is niet bruikbaar wanneer de huidige bron de orginele is.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Fonte</Attribute>
+            <Attribute name="definition">Un referentia a un ressource del qual se deriva le ressource presente.</Attribute>
+            <Attribute name="comment">Le ressource presente pote derivar se del ressource-fonte in toto o in parte. Le practica recommendate es facer referentia al ressource per medio de un catena de characteres o un numero conforme a un systema formal de identification.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€à€à€®</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€à€Ÿ à€à€à€® à€žà€Ÿà€à€à€£à€Ÿà€°à€Ÿ à€à€à€
+à€°à¥à€¥à¥ à€žà€à€Šà€°à¥à€­</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ. à€ªà¥à€žà¥à€€à€, à€®à€Ÿà€žà€¿à€,  à€®à€Ÿà€¹à€¿à€€à¥à€à€Ÿà€³à¥à€¯à€Ÿà€µà€°à¥à€² à€ªà€€à¥à€€à€Ÿà€¯à€Ÿà€à€à€Ÿ à€žà€à€Šà€°à¥à€­</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Nguá»n trÃ­ch</Attribute>
+            <Attribute name="definition">Tham chiáº¿u vá» nguá»n gá»c mÃ  tá»« ÄÃ³ nguá»n tin hiá»n ÄÆ°á»£c mÃŽ táº£ ÄÆ°á»£c rÃºt ra hoáº·c táº¡o ra tá»« ÄÃ³</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Language">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Language</Attribute>
+            <Attribute name="definition">A language of the intellectual content of the resource.</Attribute>
+            <Attribute language="en" name="comment">Recommended best practice for the values of the Language element is defined by RFC 1766 which includes a two-letter Language Code (taken from the ISO 639 standard, followed optionally, by a two-letter Country Code (taken from the ISO 3166 standard). For example, &apos;en&apos; for English, &apos;fr&apos; for French, or &apos;en-uk&apos; for English used in the United Kingdom.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Reo</Attribute>
+            <Attribute name="definition">Te reo o te whakakaupapatanga o nga matauranga o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tino huarahi kua tohua mo nga uara o te huanga Reo kua whakaritea ki te RFC 1766 [RFC1766] kei roto te Tohu Reo kupu-rua (two-letter Language Code) (no te aro whanui ISO 639 [ISO639], ka taea e tetahi tohu kupu-rua te whai atu (no te aro whanui ISO 3166) [ISO366]). Hei tauira, te &apos;en&apos; mo te English, te &apos;fr&apos; mo te French, &apos;te en-uk&apos; mo te English e whakamahia ana i Ingarangi (UK).</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Langue</Attribute>
+            <Attribute name="definition">La langue du contenu intellectuel de la ressource.</Attribute>
+            <Attribute name="comment">Il est recommandÃ© d&apos;utiliser comme valeur de l&apos;Ã©lÃ©ment Langue celles definies par la RFC 1766 [RFC1766] qui comprend un code de langage Ã  deux caractÃšres(venant du standard ISO 639 [ISO639]), Ã©ventuellement suivi d&apos;un code Ã  deux lettres pour le pays (venant du standard ISO 3166 [ISO3166] ou en franÃ§ais [ISO3166]). Par exemple, &apos;en&apos; pour l&apos;anglais, &apos;fr&apos; pour le franÃ§ais, ou &apos;en-uk&apos; pour l&apos;anglais utilisÃ© au Royaume-Uni.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">Ð¯Ð·ÑÐº</Attribute>
+            <Attribute name="definition">Ð¯Ð·ÑÐº ÐžÐœÑÐµÐ»Ð»ÐµÐºÑÑÐ°Ð»ÑÐœÐŸÐ³ÐŸ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÑÐ»ÐµÐŒÐµÐœÑÐ° Ð¯Ð·ÑÐº, ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÐµÐŒÐŸÐµ RFC 1766 (Ð¢ÑÐ³Ðž ÐŽÐ»Ñ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÐž ÑÐ·ÑÐºÐ°), Ð²ÐºÐ»ÑÑÐ°ÑÑÐžÐŒ ÐŽÐ²ÑÑ
+Ð±ÑÐºÐ²ÐµÐœÐœÑÐ¹ ÐºÐŸÐŽ ÑÐ·ÑÐºÐ° (Ð²Ð·ÑÑÑÐ¹ ÐžÐ· ÑÑÐ°ÐœÐŽÐ°ÑÑÐ° ISO 639 (ÐÐŸÐŽÑ ÐŽÐ»Ñ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐ¹ ÑÐ·ÑÐºÐŸÐ²)), Ð·Ð° ÐºÐŸÑÐŸÑÑÐŒ ÑÐ»ÐµÐŽÑÐµÑ (Ð¿ÑÐž ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸÑÑÐž) ÐŽÐ²ÑÑ
+Ð±ÑÐºÐ²ÐµÐœÐœÑÐ¹ ÐºÐŸÐŽ ÑÑÑÐ°ÐœÑ (Ð²Ð·ÑÑÑÐŒÐž ÐžÐ· ÑÑÐ°ÐœÐŽÐ°ÑÑÐ° ISO 3166 (ÐÐŸÐŽÑ ÐŽÐ»Ñ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐ¹ ÑÑÑÐ°Ðœ)). ÐÐ°Ð¿ÑÐžÐŒÐµÑ, &quot;en&quot; - ÐŽÐ»Ñ Ð°ÐœÐ³Ð»ÐžÐ¹ÑÐºÐŸÐ³ÐŸ, &quot;fr&quot; - ÐŽÐ»Ñ ÑÑÐ°ÐœÑÑÐ·ÑÐºÐŸÐ³ÐŸ, &quot;en-uk&quot; - ÐŽÐ»Ñ Ð°ÐœÐ³Ð»ÐžÐ¹ÑÐºÐŸÐ³ÐŸ, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÐŸÐ³ÐŸ Ð² ÐÐµÐ»ÐžÐºÐŸÐ±ÑÐžÑÐ°ÐœÐžÐž.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Lengua</Attribute>
+            <Attribute name="definition">Lengua/s del contenido intelectual del recurso. Practicamente el contenido de este campo deberÃ­a coincidir con los de la RFC 1766 (Tags para la identificaciÃ³n de lenguas, http://ds.internic.net/rfc/rfc1766.txt); por ejemplo: en, es, de, fi, ja y zh.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙØºØ©</Attribute>
+            <Attribute name="definition">ÙØ°Ù ÙÙ ÙØºØ© Ø§ÙÙ
+Ø­ØªÙÙ Ø§ÙÙÙØ±Ù ÙÙÙ
+ØµØ¯Ø± . ÙÙÙ
+Ø§ ÙØ§Ù  Ø¹Ù
+ÙÙØ§ , Ù
+Ø­ØªÙÙ ÙØžØ§ Ø§ÙØ­ÙÙ ÙØ¬Øš Ø£Ù ÙØªØ·Ø§ØšÙ Ù
+Ø¹ RFC 1766    ] Ø§ÙØ§Ù
+Ø«ÙØ© ØªØ¶Ù
+ th, ja, fr, es, fi, de, en Ù zh ÙØ±Ù
+ÙØ² ÙÙØªØ¹Ø±ÙÙ ØšØ§ÙÙØºØ© [</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">è¯­ç§</Attribute>
+            <Attribute name="definition">æè¿°èµæºç¥è¯å
+å®¹çè¯­ç§ã</Attribute>
+            <Attribute name="comment">å»ºè®®æ¬å
+çŽ çåŒéçšRFC 3066[RFC3066]ïŒè¯¥æ åäžISO 639 [ISO639]äžèµ·å®ä¹äºç±äž€äžªåäžäžªè±    æå­æ¯ç»æçäž»è¯­èšæ ç­Ÿåå­æ ç­ŸäŸåŠå
+æ¬âenâæâengâæ¥è¡šç€ºEnglish, &quot;akk&quot; æ¥è¡šç€º    &quot;en-GB&quot;è¡šç€ºè±åœè±è¯­ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Jazyk</Attribute>
+            <Attribute name="definition">Jazyk intelektuÃ¡lnÃ­ho obsahu zdroje.</Attribute>
+            <Attribute name="comment">DoporuÄenÃœ postup pro hodnoty prvku Jazyk je definovÃ¡n v RFC 1766 [RFC1766]: dvouznakovÃœ kÃ³d jazyka (pÅevzatÃœ z normy ISO 639 [ISO639]) volitelnÄ nÃ¡sledovanÃœ dvouznakovÃœm kÃ³dem zemÄ (pÅevzatÃœm z normy ISO 3166 [ISO3166]). NapÅÃ­klad &apos;en&apos; pro angliÄtinu, &apos;fr&apos; pro francouzÅ¡tinu, &apos;cs&apos; pro ÄeÅ¡tinu, nebo &apos;en-uk&apos; pro angliÄtinu uÅŸÃ­vanou ve SpojenÃ©m krÃ¡lovstvÃ­.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Taal</Attribute>
+            <Attribute name="definition">De taal waarin het document is beschreven. Voorgeschreven wordt de ISO639-1 norm, een twee karakter taalcode van de ISO 639(639-1 en 639-2) norm. Taalcodes kunnen van een lijst worden gekozen: http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt, Eventueel kan ISO3166 (landencodes) gebruikt worden om aan te geven in welk gebied de taal wordt gesproken. Deze kunnen ook van een lijst worden gekozen:  http://www.ics.uci.edu/pub/ietf/http/related/iso3166.txt.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Lingua</Attribute>
+            <Attribute name="definition">Le lingua del contento intellectual del ressource.</Attribute>
+            <Attribute name="comment">Le practica recommendate pro le valores del elemento lingua es definite per RFC 1766 [RFC1766], que include un codice de lingua de duo litteras (prendite del standard ISO 639 [ISO639]), sequite optionalmente per un codice de pais de duo litteras (prendite del standard ISO 3166 [ISO3166]). Per exemplo, &apos;ia&apos; pro interlingua, &apos;fr&apos; pro francese, o &apos;en-uk&apos; pro le anglese del Regno Unite.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€­à€Ÿà€·à€Ÿ</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€­à€Ÿà€·à€Ÿ</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ. à€®à€°à€Ÿà€ à¥ - à€­à€Ÿà€°à€€à¥à€¯ à€­à€Ÿà€·à€Ÿ</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">NgÃŽn ngá»¯</Attribute>
+            <Attribute name="definition">NgÃŽn ngá»¯ cá»§a chÃ­nh vÄn cá»§a ná»i dung cá»§a nguá»n tin</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Relation">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Relation</Attribute>
+            <Attribute name="definition">A reference to a related resource.</Attribute>
+            <Attribute name="comment">Recommended best practice is to reference the resource by means of a string or number conforming to a formal identification system.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Whai Panga</Attribute>
+            <Attribute name="definition">He tohutoro ki tetahi rauemi whai panga.</Attribute>
+            <Attribute name="comment">Ko te tino huarahi kua tohua, ko te tohutoro ki te rauemi ma te aho, te tau ranei, e hangai ana ki te punaha taututanga okawa.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Relation</Attribute>
+            <Attribute name="definition">Une rÃ©fÃ©rence Ã  une autre ressource qui a un rapport avec cette ressource.</Attribute>
+            <Attribute name="comment">Il est recommandÃ© de rÃ©fÃ©rencer cette ressource par une chaÃ®ne de caractÃšres ou un numÃ©ro conforme Ã  un systÃšme formel d&apos;identification.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÑÐœÐŸÑÐµÐœÐžÐµ</Attribute>
+            <Attribute name="definition">Ð²ÐµÐœÐœÑÐ¹ ÑÐµÑÑÑÑ.</Attribute>
+            <Attribute name="comment">ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ ÐžÐŽÐµÐœÑÐžÑÐžÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐµÑÑÑÑ Ð¿ÐŸÑÑÐµÐŽÑÑÐ²ÐŸÐŒ ÑÑÑÐŸÐºÐž ÐžÐ»Ðž ÑÐžÑÐ»Ð°, ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐµÐ³ÐŸ ÑÐŸÑÐŒÐ°Ð»ÑÐœÐŸÐ¹ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÐŸÐœÐœÐŸÐ¹ ÑÐžÑÑÐµÐŒÐµ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">RelaciÃ³n</Attribute>
+            <Attribute name="definition">Un identificador de un segundo recurso y su relaciÃ³n con el recurso actual. Este elemento permite enlazar los recursos relacionados y las descripciones de los recursos. Por ejemplo: IsVersionOf - Incluye la ediciÃ³n de un trabajo, IsBasedOn - La traducciÃ³n de un trabajo, IsPartOf - Un capÃ­tulo de un libro, IsFormatOf - Un mecanismo de transformaciÃ³n de un conjunto de datos en una imagen. Para asegurar la interoperabilidad, las relaciones deberÃ­an ser seleccionadas de una lista de elementos que actualmente se encuentra bajo desarrollo en un grupo de trabajo.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙØ¹ÙØ§ÙØ©</Attribute>
+            <Attribute name="definition">ÙØ°Ø§ Ù
+Ø¹Ø±Ù ÙÙÙ
+ØµØ¯Ø± Ø§ÙØ«Ø§ÙÙ Ù Ø¹ÙØ§ÙØªÙ ØšØ§ÙÙ
+ØµØ¯Ø± Ø§ÙØ­Ø§ÙÙ . ÙØ³Ù
+Ø­ ÙØ°Ø§ Ø§ÙØ¹Ø§Ù
+Ù ØšØªÙØ¶ÙØ­ Ø§ÙØ±ÙØ§ØšØ· ØšÙÙ Ø§ÙÙ
+ØµØ§Ø¯Ø± Ø§ÙÙ
+ØªØ¹ÙÙØ©     ØšØšØ¹Ø¶ÙØ§ Ù ØªÙØµÙÙ Ø§ÙÙ
+ØµØ¯Ø± . Ø§ÙØ§Ù
+Ø«ÙØ© ØªØ¶Ù
+ Ø·ØšØ¹Ø© Ø§ÙØ¹Ù
+Ù ) ÙØ³Ø®Ø© Ù
+Ù ( ØªØ±Ø¬Ù
+Ø© Ø¹Ù
+Ù ) Ø§Ø¹ØªÙ
+Ø§Ø¯Ø§ Ø¹ÙÙ ( ÙØµÙ Ù
+Ù ÙØªØ§Øš ) Ø¬Ø²Ø¡ Ù
+Ù (    Ù ØªØ­ÙÙÙÙ Ù
+ÙÙØ§ÙÙÙÙØ© ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ø¹ÙÙÙ
+Ø§ØªÙØ© Ø§ÙÙ ØµÙØ±Ø© ) ØµÙØºØ© Ù
+Ù ( Ù
+Ù Ø£Ø¬Ù Ø§ÙØªØ¹Ø§Ù
+Ù Ø§ÙÙ
+ØŽØªØ±Ù , ÙØ¬Øš Ø§Ø®ØªÙØ§Ø± Ø§ÙØ¹ÙØ§ÙØ§Øª Ù
+Ù    Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+Ø±ÙÙ
+Ø© Ù Ø§ÙØªÙ ÙØªÙ
+ Ø§Ø¹Ø¯Ø§Ø¯ÙØ§ Ø­Ø§ÙÙØ§ Ø¶Ù
+Ù Ø­ÙÙØ§Øª ÙØ±ØŽØ© Ø¹Ù
+Ù</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">å
+³è</Attribute>
+            <Attribute name="definition">æ¶åççžå
+³èµæºã</Attribute>
+            <Attribute name="comment">èåœçžå
+³èµæºæ¶ïŒå»ºè®®äœ¿çšç¬Šåæ­£åŒæ è¯ç³»ç»çå­ç¬Šäž²æè
+æ°å­ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Vztah</Attribute>
+            <Attribute name="definition">Odkaz na pÅÃ­buznÃœ zdroj.</Attribute>
+            <Attribute name="comment">DoporuÄuje se odkazovat zdroj znakovÃœm ÅetÄzcem nebo ÄÃ­slem odpovÃ­dajÃ­cÃ­m nÄkterÃ©mu z formÃ¡lnÃ­ch identifikaÄnÃ­ch systÃ©mÅ¯.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Relatie</Attribute>
+            <Attribute name="definition">Een identificatie van een tweede bron en de relatie met de huide Internetbron. Voorbeelden zijn een editie van een werk (IsVersionOf), een vertaling van een werk (IsBasedOn), een hoofdstuk van een boek (IsPartOf) en een mechanische transformatie van een dataset in een plaatje (IsFormatOf). De DC Working Groups zijn bezig met een lijst met de meest verwachte relaties. Aanbevolen wordt om de relaties van deze lijst te gebruiken: http://purl.oclc.org/metadata/dublin_core/wrelationdraft.html.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="definition">Relation</Attribute>
+            <Attribute name="definition">Un referentia a un ressource correlate.</Attribute>
+            <Attribute name="comment">Le practica recommendate es facer referentia al ressource per medio de un catena de characteres o numero conforme a un systema de identification formal.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€šà€Ÿà€€à¥ , à€žà€à€¬à€à€§</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€¶à¥ à€žà€à€¬à€à€§ à€Šà€Ÿà€à€µà€£à€Ÿà€°à€Ÿ à€žà€à€Šà€°à¥à€­</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ.  à€®à€Ÿà€¹à€¿à€€à¥ à€à€Ÿà€³à¥à€¯à€Ÿà€µà€°à¥à€² à€ªà€€à¥à€€à€Ÿ(URL)</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Quan há»</Attribute>
+            <Attribute name="definition">Tham chiáº¿u Äáº¿n cÃ¡c nguá»n tin liÃªn quan Äáº¿n nguá»n Äang mÃŽ táº£</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Coverage">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Coverage</Attribute>
+            <Attribute name="definition">The extent or scope of the content of the resource.</Attribute>
+            <Attribute name="comment">Coverage will typically include spatial location (a place name or geographic coordinates), temporal period (a period label, date, or date range) or jurisdiction (such as a named administrative entity). Recommended best practice is to select a value from a controlled vocabulary (for example, the Thesaurus of Geographic Names [TGN]) and that, where appropriate, named places or time periods be used in preference to numeric identifiers such as sets of coordinates or date ranges.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Kapitanga</Attribute>
+            <Attribute name="definition">Te roanga, te whanuitanga ranei o te whakakaupapatanga o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tikanga, ka uru atu te wahi mokowa (te ingoa o tetahi wahi, whakapiritanga matawhenua ranei), whakaritenga wa (he tapatanga wa (period label, ra, whakatakotoranga whanui o nga ra), te whakaritenga ture (penei i te putahi whakahaere). Ko te tino huarahi kua tohua, ko te tipako uara mai i tetahi whakaritenga kupu (hei tauira, i tetahi Puna Kupu Ingoa Matawhenua (Geographic Names [TGN] i nga wahi tika, ko nga wahi me nga whakaritenga wa ka whakamahia i mua i te whakamahitanga o nga taututanga tau penei i nga huinga whakapiritanga me nga whakatakotoranga whanui o nga ra.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Couverture</Attribute>
+            <Attribute name="definition">La portÃ©e ou la couverture spatio-temporelle de la ressource.</Attribute>
+            <Attribute name="comment">La couverture typiquement inclut une position gÃ©ographique (le nom d&apos;un lieu ou ses coordonnÃ©es), une pÃ©riode de temps (un nom de pÃ©riode, une date, ou un intervalle de temps) ou une juridiction (telle que le nom d&apos;une entitÃ© administrative). Il est recommandÃ© de choisir la  valeur de Couverture dans un vocabulaire contrÃŽlÃ© (par exemple, un thÃ©saurus de noms gÃ©ographiques, comme[TGN]) et, quand cela est appropriÃ©, des noms de lieux ou de pÃ©riodes plutÃŽt que des identifiants numÃ©riques tels que des coordonnÃ©es ou des intervalles de dates. </Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÑ
+Ð²Ð°Ñ</Attribute>
+            <Attribute name="definition">ÐÑÐŸÑÑÐ¶ÐµÐœÐœÐŸÑÑÑ Ðž Ð³ÑÐ°ÐœÐžÑÑ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÑ
+Ð²Ð°Ñ ÐŸÐ±ÑÐºÐœÐŸÐ²ÐµÐœÐœÐŸ Ð²ÐºÐ»ÑÑÐ°ÐµÑ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐµÐœÐœÐŸÐµ ÐŒÐµÑÑÐŸÐœÐ°Ñ
+ÐŸÐ¶ÐŽÐµÐœÐžÐµ (ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµ ÐŒÐµÑÑÐœÐŸÑÑÐž ÐžÐ»Ðž Ð³ÐµÐŸÐ³ÑÐ°ÑÐžÑÐµÑÐºÐžÐµ ÐºÐŸÐŸÑÐŽÐžÐœÐ°ÑÑ), Ð²ÑÐµÐŒÐµÐœÐœÐŸÐ¹ Ð¿ÑÐŸÐŒÐµÐ¶ÑÑÐŸÐº (ÑÐºÐ°Ð·Ð°ÐœÐžÐµ Ð¿ÐµÑÐžÐŸÐŽÐ°, ÐŽÐ°ÑÐ° ÐžÐ»Ðž ÑÑÐŽ ÐŽÐ°Ñ) ÐžÐ»Ðž ÑÑÐžÑÐŽÐžÐºÑÐžÑ (ÑÐºÐ°Ð·Ð°ÐœÐžÐµ ÐµÐŽÐžÐœÐžÑÑ Ð°ÐŽÐŒÐžÐœÐžÑÑÑÐ°ÑÐžÐ²ÐœÐŸÐ³ÐŸ ÐŽÐµÐ»ÐµÐœÐžÑ). ÐÐ° Ð¿ÑÐ°ÐºÑÐžÐºÐµ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ Ð²ÑÐ±ÐžÑÐ°ÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐžÐ· ÐºÐŸÐœÑÑÐŸÐ»ÐžÑÑÐµÐŒÐŸÐ³ÐŸ ÑÐ»ÐŸÐ²Ð°ÑÑ (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, Ð¢ÐµÐ·Ð°ÑÑÑÑÐ° Ð³ÐµÐŸÐ³ÑÐ°ÑÐžÑÐµÑÐºÐžÑ
+ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐ¹ TGN), Ðž, ÐµÑÐ»Ðž ÑÑÐŸ ÑÐŒÐµÑÑÐœÐŸ, Ð¿ÑÐµÐŽÐ¿ÐŸÑÑÐµÐœÐžÐµ ÐŸÑÐŽÐ°ÐµÑÑÑ ÑÐºÐ°Ð·Ð°ÐœÐžÑÐŒ ÐŒÐµÑÑÐœÐŸÑÑÐµÐ¹ ÐžÐ»Ðž Ð²ÑÐµÐŒÐµÐœÐœÑÑ
+ Ð¿ÑÐŸÐŒÐµÐ¶ÑÑÐºÐŸÐ² Ð²ÐŒÐµÑÑÐŸ ÑÐžÑÑÐŸÐ²ÑÑ
+ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐŸÑÐŸÐ², ÐºÐ°Ðº, ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, ÑÐžÑÑÐµÐŒ ÐºÐŸÐŸÑÐŽÐžÐœÐ°Ñ ÐžÐ»Ðž Ð²ÑÐµÐŒÐµÐœÐœÑÑ
+ ÑÑÐŽÐŸÐ².</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Cobertura</Attribute>
+            <Attribute name="definition">La caracterÃ­stica de cobertura espacial y/o temporal del contenido intelectual del recurso. La cobertura espacial se refiere a una regiÃ³n fÃ­sica (por ejemplo, sector celestial); uso de coordenadas (por ejemplo, longitud y latitud) o nombres de lugares extraidos de una lista controlada. La cobertura temporal se refiere al contenido del recurso en vez de a cuando fue creado o puesto accesible ya que este Ãºltimo pertenece al elemento Date. Se usa el mismo formato basado en http://www.w3.org/TR/NOTE-datetime.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙØªØºØ·ÙØ©</Attribute>
+            <Attribute name="definition">ÙÙ Ø§ÙØ®ØµØ§ØŠØµ Ø§ÙÙ
+ÙØ§ÙÙØ© Ø§Ù Ø§ÙØ²Ù
+ÙÙØ© ÙÙÙ
+Ø­ØªÙÙ Ø§ÙÙÙØ±Ù ÙÙÙ
+ØµØ¯Ø± . Ø§ÙØªØºØ·ÙØ© Ø§ÙÙ
+ÙØ§ÙÙØ© ØªØŽÙØ± Ø§ÙÙ Ø¬ÙØ© Ø·ØšÙØ¹ÙØ© )Ù
+Ø«Ù , ÙØ·Ø§Ø¹ Ø³Ù
+Ø§ÙÙ (    Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙØ§Ø­Ø¯Ø§Ø«ÙØ§Øª ) Ù
+Ø«Ù  Ø®Ø· Ø§ÙØ·ÙÙ Ù Ø®Ø· Ø§ÙØ¹Ø±Ø¶ ( ÙÙ Ø£Ø³Ù
+Ø§Ø¡ Ø§Ù
+ÙÙØ© Ù
+Ø³ØªØ­ÙÙ
+Ø© Ø§Ù Ù
+ØªØ¬ÙØ§Øª ØšØ§ÙÙØ§Ù
+Ù . Ø§ÙØªØºØ·ÙØ© Ø§ÙØ²Ù
+ÙÙØ©    Ø«Ø¹ÙØ¯ Ø§ÙÙ Ù
+Ø§ ÙØ±Ø¬Ø¹ Ø§ÙÙÙ Ø§ÙÙ
+ØµØ¯Ø± Ù ÙÙØ³ Ø§Ù Ù
+ØªÙ ØªÙ
+ ØªÙÙÙØ±Ù ) Ø§ÙØ§Ø®ÙØ± ÙØªØ¹ÙÙ ØšØ¹Ø§Ù
+Ù Ø§ÙØªØ§Ø±ÙØ® ( Ø§Ø³ØªØ®Ø¯Ø§Ù
+ ÙÙØ³ ØµÙØºØ© Ø§ÙØªØ§Ø±ÙØ®  Ø§Ù Ø§ÙÙÙØª    ) Ø¹Ø§Ø¯Ø© Ù
+Ø¯Ù ] ( ØµÙØ§ØºØ§Øª Ø§ÙÙÙÙ
+ Ù Ø§ÙÙÙØª ) Ø§Ø¹ØªÙ
+Ø§Ø¯Ø§ Ø¹ÙÙ (ISO 8601 Ø§ÙÙ
+ÙØ§Ø­ØžØ© Ø§ÙÙÙÙØ© [http://www.w3.org/TR/NOTE-datetime, W3C    ÙÙ
+Ø§ ÙÙ Ù
+ÙØµÙ ØšÙ ÙØ¹Ø§Ù
+Ù Ø§ÙØªØ§Ø±ÙØ® Ø§Ù ÙØªØ±Ø§Øª Ø²Ù
+ÙÙØ© Ù
+Ù ÙØ§ØŠÙ
+Ø© Ù
+Ø³ØªØ­ÙÙ
+Ø© Ø§Ù Ù
+ØªØ¬ÙØ§Øª ØšØ§ÙÙØ§Ù
+Ù</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">èŠçèåŽ</Attribute>
+            <Attribute name="definition">èµæºå
+å®¹ææ¶åçå€å»¶äžèŠçèåŽ</Attribute>
+            <Attribute name="comment">èŠçèåŽäžè¬å
+æ¬ç©ºéŽäœçœ®ïŒäžäžªå°åæå°çåæ ïŒãæ¶éŽåºéŽïŒäžäžªæ¶éŽæ è¯ïŒæ¥ææäžäžªæ¥æè    åŽïŒãæè
+æéïŒæ¯åŠåœåçææå®äœïŒæšèèŠçèåŽæå¥œæ¯åèªäºäžäžªåæ§è¯è¡šïŒäŸåŠå°åè¯åº    [TGN]ïŒïŒå¹¶åºå°œå¯èœå°äœ¿çšç±æ°å­è¡šç€ºçåæ ææ¥æåºéŽæ¥æè¿°å°åäžæ¶éŽæ®µã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">PokrytÃ­</Attribute>
+            <Attribute name="definition">Rozsah nebo zÃ¡bÄr obsahu zdroje.</Attribute>
+            <Attribute name="comment">PokrytÃ­ bude typicky obsahovat prostorovÃ© umÃ­stÄnÃ­ (jmÃ©no mÃ­sta nebo zemÄpisnÃ© souÅadnice), ÄasovÃ© obdobÃ­ (oznaÄenÃ­ obdobÃ­, datum nebo ÄasovÃœ interval) nebo jurisdikci (napÅ. jmÃ©no administrativnÃ­ jednotky). DoporuÄuje se vybÃ­rat hodnotu z ÅÃ­zenÃ©ho slovnÃ­ku (napÅ. Thesaurus of Geographic Names [TGN]) a tam, kde je to vhodnÃ©, uvÃ¡dÄt mÃ­sta nebo ÄasovÃ© Ãºseky spÃ­Å¡e jmÃ©nem neÅŸ ÄÃ­selnÃœmi identifikÃ¡tory jako jsou soubory souÅadnic nebo ÄasovÃ© intervaly.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Dekking</Attribute>
+            <Attribute name="definition">De ruimtelijke of tijdelijke karakteristieken van de intellectuele inhoud van de Internetbron. Ruimtelijke dekking verwijst naar een geografisch gebied. Gebruik coordinaten (longitude (lengtegraad) en latitude (breedtegraad)) of plaatsnamen die van een gecontroleerde lijst komen of volledig uitgeschreven zijn. Dekking in de tijd geeft de tijdsperiode aan waarop de inhoud van de Internetbron betrekking heeft en niet wanneer de Internetbron is gemaakt of beschikbaar is gesteld (dit laatste hoort ingevult te worden bij &quot;Date&quot;). Gebruik dezelfde datum/tijd formaat als bij &quot;Date&quot;; W3C Technical Note http://www.w3.org/TR/NOTE-datetime of tijdsperioden die van een gecontroleerde lijst komen of volledig uitgeschreven zijn. Coverage is in ontwikkeling bij de Dublin Core Working group http://www.alexandria.ucsb.edu/docs/metadata/dc_coverage.html.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Copertura</Attribute>
+            <Attribute name="definition">Le extension physic o abstracte del contento del ressource.</Attribute>
+            <Attribute name="comment">Le copertura typicamente include un location spatial (un nomine de localitate o coordinatas geographic), un periodo de tempore (un etiquetta de periodo, data, o gamma de datas), o un jurisdiction (tal como un entitate administrative nominate). Le practica recommendate es selectionar un valor a partir de un vocabulario controlate (per exemplo, le Thesaurus of Geographical Names [TGN]) e que, quando appropriate, localitates o periodos de tempore nominate sia utilizate in preferentia a identificatores numeric tales como collectiones de coordinatas o gammas de datas.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€µà¥à€¯à€Ÿà€ªà¥à€€à¥</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€­à¥à€à¥à€²à€¿à€  à€®à€Ÿà€¹à€¿à€€à¥</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ. à€­à¥à€à¥à€²à€¿à€ à€µà¥à€¯à€Ÿà€ªà¥à€€à¥</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Pháº¡m vi bao quÃ¡t</Attribute>
+            <Attribute name="definition">MÃŽ táº£ má»©c Äá» bao quÃ¡t cá»§a ná»i dung cá»§a nguá»n tin</Attribute>
+            <Attribute name="comment">Pháº¡m vi bao quÃ¡t cÃ³ thá» lÃ  vá» pháº¡m vi khÃŽng gian (tÃªn Äá»a danh, toáº¡ Äá» khÃŽng gian,..), thá»i gian (giai Äoáº¡n, chuá»i ngÃ y thÃ¡ng, ...), pháº¡m vi vá» tÃ i phÃ¡n (tÃªn lÃ£nh thá», nÆ°á»c,..). Khuyáº¿n nghá» sá»­ dá»¥ng tá»« vá»±ng cÃ³ kiá»m soÃ¡t Äá» chá»n lá»±a thuáº­t ngá»¯ phÃ¹ há»£p. ThÃ­ dá»¥ sá»­ dá»¥ng tá»« Äiá»n tá»« chuáº©n vá» tÃªn Äá»a lÃœ, tÃªn Äá»a danh,...</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Rights">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Rights Management</Attribute>
+            <Attribute name="definition">Information about rights held in and over the resource.</Attribute>
+            <Attribute name="comment">Typically, a Rights element will contain a rights management statement for the resource, or reference a service providing such information. Rights information often encompasses Intellectual Property Rights (IPR), Copyright, and various Property Rights. If the Rights element is absent, no assumptions can be made about the status of these and other rights with respect to the resource.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Motika</Attribute>
+            <Attribute name="definition">Ko nga mohiohio ki nga motika o tetahi rauemi.</Attribute>
+            <Attribute name="comment">Ko te tikanga, kei te huanga Motika e pupuri ana he korero mo te whakaritenga motika mo te rauemi, he ratonga tohutoro e whakarato ana ranei i enei tumomo mohiohio. He nui nga wa, puta ai i roto i te mohiohio Motika te Mana Whakairo Hinegaro (Intellectual Property Rights - (IPR)), te Manatarua me nga Tuahua Mana Taonga (Property Rights). Ki te kore te huanga Motika, kaore e taea te pohehe noa ki te mana o enei, nga motika ranei e pa ana ki te rauemi.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Droits</Attribute>
+            <Attribute name="definition">Information sur les droits sur et au sujet de la ressource.</Attribute>
+            <Attribute name="comment">Typiquement, un Ã©lÃ©ment Droits contiendra un Ã©tat du droit Ã  gÃ©rer une ressource, ou la refÃ©rence Ã  un service fournissant cette information. Ces droits souvent couvrent les droits de propriÃ©tÃ© intellectuelle (IPR), Copyright, et divers droits de propriÃ©tÃ©. Si l&apos;Ã©lÃ©ment Droits est absent, aucune hypothÃšse ne peut Ãªtre faite sur l&apos;Ã©tat de ces droits, ou de tout autre, par rapport Ã  la ressource.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÑÐ°Ð²ÐŸÐ²ÐŸÐµ ÑÐµÐ³ÑÐ»ÐžÑÐŸÐ²Ð°ÐœÐžÐµ</Attribute>
+            <Attribute name="definition">ÐÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸ Ð¿ÑÐ°Ð²Ð°Ñ
+ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ, ÑÐŸÐŽÐµÑÐ¶Ð°ÑÐ°ÑÑÑ Ð²ÐœÑÑÑÐž Ðž Ð²ÐœÐµ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ±ÑÑÐœÐŸ ÑÐ»ÐµÐŒÐµÐœÑ ÐÑÐ°Ð²Ð° ÑÐŸÐŽÐµÑÐ¶ÐžÑ Ð¿ÐŸÐ»ÐŸÐ¶ÐµÐœÐžÐµ ÐŸ Ð¿ÑÐ°Ð²ÐŸÐ²ÑÑ
+ ÐœÐŸÑÐŒÐ°Ñ
+, ÑÐµÐ³ÑÐ»ÐžÑÑÑÑÐžÑ
+ ÑÑÐœÐºÑÐžÐŸÐœÐžÑÐŸÐ²Ð°ÐœÐžÐµ ÑÐµÑÑÑÑÐ° ÐžÐ»Ðž ÑÑÑÐ»ÐºÑ ÐœÐ° ÑÐ»ÑÐ¶Ð±Ñ, Ð¿ÑÐµÐŽÐŸÑÑÐ°Ð²Ð»ÑÑÑÑÑ ÑÑÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ. ÐÑÐ°Ð²ÐŸÐ²Ð°Ñ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸÐ±ÑÑÐœÐŸ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÑÐ²ÐµÐŽÐµÐœÐžÑ ÐŸ ÐÑÐ°Ð²Ð°Ñ
+ ÐžÐœÑÐµÐ»Ð»ÐµÐºÑÑÐ°Ð»ÑÐœÐŸÐ¹ ÑÐŸÐ±ÑÑÐ²ÐµÐœÐœÐŸÑÑÐž, ÐÐ²ÑÐŸÑÑÐºÐŸÐŒ Ð¿ÑÐ°Ð²Ðµ Ðž ÐŽÑÑÐ³ÐžÑ
+ ÐÐŒÑÑÐµÑÑÐ²ÐµÐœÐœÑÑ
+ Ð¿ÑÐ°Ð²Ð°Ñ
+. ÐÑÑÑÑÑÑÐ²ÐžÐµ ÑÐ»ÐµÐŒÐµÐœÑÐ° ÐÑÐ°Ð²Ð° ÐœÐµ ÐŒÐŸÐ¶ÐµÑ ÑÐ²Ð»ÑÑÑÑÑ ÐŸÑÐœÐŸÐ²Ð°ÐœÐžÐµÐŒ ÐŽÐ»Ñ ÐºÐ°ÐºÐžÑ
+-Ð»ÐžÐ±ÐŸ Ð¿ÑÐµÐŽÐ¿ÐŸÐ»ÐŸÐ¶ÐµÐœÐžÐ¹ ÐŸ Ð¿ÑÐ°Ð²ÐŸÐ²ÐŸÐŒ ÑÑÐ°ÑÑÑÐµ Ðž ÐŽÑÑÐ³ÐžÑ
+ Ð¿ÑÐ°Ð²Ð°Ñ
+, ÐºÐ°ÑÐ°ÑÑÐžÑ
+ÑÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Derechos</Attribute>
+            <Attribute name="definition">Una referencia (URL, por ejemplo) para una nota sobre derechos de autor, para un servicio de gestiÃ³n de derechos o para un servicio que darÃ¡ informaciÃ³n sobre tÃ©rminos y condiciones de acceso a un recurso. Una especificaciÃ³n formal del elemento Rights se encuentra catualmente en discusiÃ³n y por lo tanto su uso se considera experimental.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø­ÙÙÙ Ø§ÙØ§Ø¯Ø§Ø±Ø©</Attribute>
+            <Attribute name="definition">ÙÙ Ø§ÙØ§Ø¯Ø© Ø­ÙÙÙ Ø§ÙØ§Ø¯Ø§Ø±Ø© , Ù
+Ø¹Ø±Ù Ù
+Ø±ØªØšØ· ØšØ§ÙØ§Ø¯Ø© Ø­ÙÙÙ Ø§ ÙØ§Ø¯Ø§Ø±Ø© , Ù
+Ø¹Ø±Ù Ù
+Ø±ØªØšØ· ØšØ®Ø¯Ù
+Ø© ØªÙØ¯Ù
+ Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø¹Ù Ø­ÙÙÙ Ø§ÙØ§Ø¯Ø§Ø±Ø© Ø§ÙØ®Ø§ØµØ© ØšØ§ÙÙ
+ØµØ¯Ø±</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">æé</Attribute>
+            <Attribute name="definition">æå
+³èµæºæ¬èº«ææçæè¢«èµäºçæéä¿¡æ¯</Attribute>
+            <Attribute name="comment">äžè¬èèšïŒæéå
+çŽ åºå
+æ¬äžäžªå¯¹èµæºçæéå£°æïŒæè
+æ¯å¯¹æäŸè¿äžä¿¡æ¯çæå¡çåç
+§ãæéäžè¬    å
+æ¬ç¥è¯äº§æ(IPR)ïŒçææå
+¶ä»åç§åæ ·çäº§æãåŠææ²¡ææéå
+çŽ çæ æ³šïŒäžå¯ä»¥å¯¹äžèµæºçžå
+³    çäžè¿°æå
+¶ä»æå©çæ
+åµäœåºä»»äœåå®ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">PrÃ¡va</Attribute>
+            <Attribute name="definition">Informace o prÃ¡vech vztahujÃ­cÃ­ch se k popisovanÃ©mu zdroji.</Attribute>
+            <Attribute name="comment">Prvek PrÃ¡va bude typicky obsahovat ustanovenÃ­ o sprÃ¡vÄ autorskÃœch/vlastnickÃœch prÃ¡v ke zdroji nebo odkaz na sluÅŸbu poskytujÃ­cÃ­ takovÃ©to informace. Informace o prÃ¡vech Äasto zahrnujÃ­ prÃ¡va duÅ¡evnÃ­ho vlastnictvÃ­ (IPR), autorskÃ© prÃ¡vo a rÅ¯znÃ¡ vlastnickÃ¡ prÃ¡va. JestliÅŸe prvek PrÃ¡va chybÃ­, nelze odvozovat ÅŸÃ¡dnÃ© pÅedpoklady o stavu tÄchto a jinÃœch prÃ¡v vztahujÃ­cÃ­ch se k popisovanÃ©mu zdroji.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Copyright</Attribute>
+            <Attribute name="definition">Een copyright verklaring of een link naar een copyright verklaring of een link naar een service die informatie geeft over de copyright van de Internetbron.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Gestion de derectos</Attribute>
+            <Attribute name="definition">Information super derectos detenite super e a proposito del ressource.</Attribute>
+            <Attribute name="comment">Typicamente le elemento derectos continera un declaration de gestion de derectos pro le ressource, o un referentia a un servicio que provide tal information. Information de derectos frequentemente involve derectos de proprietate intellectual (IPR), copyright e varie derectos de proprietate. Si le elemento Derectos es absente, necun hypothese pote esser facite quanto al stato de iste e altere derectos concernente ressource.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€¹à€à¥à€</Attribute>
+            <Attribute name="definition">à€¬à¥à€§à¥à€Šà€¿à€ à€žà€à€ªà€Šà¥à€à€Ÿà€¹à€à¥à€</Attribute>
+            <Attribute name="comment">à€žà¥à€µà€€à€à€¹à€Ÿà€à¥ à€²à¥à€à€š à€à€Ÿà€ªà¥à€š à€
+à€¥à€µà€Ÿ à€®à€Ÿà€¹à€¿à€€à¥à€à€Ÿà€³à¥à€¯à€Ÿà€µà€° à€ªà¥à€°à€à€Ÿà€¶à€¿à€€ à€à€°à€£à¥à€¯à€Ÿà€à€Ÿ à€²à¥à€à€ à€
+à€¥à€µà€Ÿ à€²à¥à€à€¿à€à¥à€à€Ÿ à€¬à¥à€§à¥à€Šà€¿à€ à€žà€à€ªà€Šà¥à€à€Ÿà€¹à€à¥à€</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Quyá»n</Attribute>
+            <Attribute name="definition">ThÃŽng tin vá» cÃ¡c quyá»n cÃ³ ÄÆ°á»£c Äá»i vá»i nguá»n tin hoáº·c Äá»i vá»i thÃŽng tin.</Attribute>
+            <Attribute name="comment">Yáº¿u tá» Quyá»n chá»©a thÃŽng bÃ¡o vá» cÃ¡c quyá»n liÃªn quan Äáº¿n nguá»n tin hoáº·c chá» dáº«n Äáº¿n má»t dá»ch vá»¥ cung cáº¥p thÃŽng bÃ¡o nhÆ° váº­y vá» quyá»n. ThÃŽng tin vá» quyá»n cÃ³ thá» bao gá»m thÃŽng tin vá» quyá»n sá» há»¯u trÃ­ tuá», báº£n quyá»n vÃ  cÃ¡c quyá»n liÃªn quan khÃ¡c.</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+</MetadataSet>
Index: main/tags/2.83/gli/metadata/ex.mds
===================================================================
--- main/tags/2.83/gli/metadata/ex.mds	(revision 21123)
+++ main/tags/2.83/gli/metadata/ex.mds	(revision 21123)
@@ -0,0 +1,476 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE MetadataSet SYSTEM "http://www.greenstone.org/dtd/MetadataSet/1.0/MetadataSet.dtd">
+<MetadataSet contact="nzdl.org" creator="New Zealand Digital Libraries Project: Greenstone" family="Extracted Greenstone" lastchanged="Tue Sep 05 14:40:36 NZST 2006 - kjdon on kanuka" namespace="ex">
+    <SetLanguage code="en">
+        <Name>Extracted Greenstone Metadata 1.1</Name>
+        <Description>This document is the reference description, version 1.1 of the automatically extracted Greenstone Metadata Element Set. Most of the possible extracted metadata elements have been added.</Description>
+    </SetLanguage>
+    <SetLanguage code="vi">
+        <Name>Bá» siÃªu dá»¯ liá»u Greenstone</Name>
+        <Description>MÃŽ táº£ vá» bá» siÃªu dá»¯ liá»u Greenstone phiÃªn báº£n 1.1 cho yáº¿u tá» siÃªu dá»¯ liá»u Greenstone ÄÆ°á»£c triáº¿t rÃºt tá»± Äá»ng</Description>
+    </SetLanguage>
+    <SetLanguage code="ar">
+    	<Name language="ar">ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª Greenstone Ø§ÙÙ
+Ø³ØªØ®Ø±Ø¬Ø© 1.0</Name>
+    	<Description language="ar">ÙØ§ØµÙØ§Øª ØšÙØ§ÙØ§Øª ÙØ±ÙÙØ³ØªÙÙ</Description>
+       </SetLanguage>
+
+    <Element name="Title">
+        <Language code="en">
+            <Attribute name="comment">Not always available.</Attribute>
+            <Attribute name="definition">The title of the imported document as extracted by Greenstone.</Attribute>
+            <Attribute name="label">Title</Attribute>
+        </Language>
+        <Language code="vi">
+            <Attribute name="label">Nhan Äá»</Attribute>
+            <Attribute name="definition">Nhan Äá» cá»§a tÃ i liá»u nháº­p kháº©u vÃ o Há» thá»ng vÃ  ÄÆ°á»£c Greenstone triáº¿t rÃºt tá»± Äá»ng</Attribute>
+            <Attribute name="comment">KhÃŽng pháº£i lÃºc nÃ o cÅ©ng sáºµn cÃ³</Attribute>
+        </Language>
+        <Language code="ar">
+             <Attribute name="label">Ø§ÙØ¹ÙÙØ§Ù</Attribute>
+             <Attribute name="definition">Ø§ÙØ¹ÙÙØ§Ù</Attribute>
+              <Attribute name="comment">ØºÙØ± Ù
+ØªÙÙØ± Ø¯Ø§ØŠÙ
+Ø§.</Attribute>
+        </Language>
+
+    </Element>
+    <Element name="Encoding">
+        <Language code="en">
+            <Attribute name="comment">Not always available.</Attribute>
+            <Attribute name="definition">The encoding of the imported document as extracted by Greenstone.</Attribute>
+            <Attribute name="label">Encoding</Attribute>
+        </Language>
+        <Language code="vi">
+            <Attribute name="label">Bá» mÃ£ kÃœ tá»±</Attribute>
+            <Attribute name="definition">ThÃŽng tin bá» mÃ£ kÃœ tá»± cá»§a tÃ i liá»u ÄÆ°á»£c nháº­p kháº©u mÃ  Greenstone tá»± Äá»ng triáº¿t rut ÄÆ°á»£c</Attribute>
+            <Attribute name="comment">KhÃŽng pháº£i lÃºc nÃ o cÅ©ng cÃ³ sáºµn</Attribute>
+        </Language>
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙØªØŽÙÙØ±</Attribute>
+            <Attribute name="definition">Ø§ÙØªØŽÙÙØ±</Attribute>
+            <Attribute name="comment">ØºÙØ± Ù
+ØªÙÙØ± Ø¯Ø§ØŠÙ
+Ø§.</Attribute>
+    </Language>
+
+    </Element>
+    <Element name="Language">
+        <Language code="en">
+            <Attribute name="comment">Not always available.</Attribute>
+            <Attribute name="definition">The language of the imported document as extracted by Greenstone.</Attribute>
+            <Attribute name="label">Language</Attribute>
+        </Language>
+        <Language code="vi">
+            <Attribute name="label">NgÃŽn ngá»¯</Attribute>
+            <Attribute name="definition">TÃªn ngÃŽn ngá»¯ cá»§a tÃ i liá»u mÃ  Greenstone tá»± Äá»ng triáº¿t rÃºt ÄÆ°á»£c.</Attribute>
+            <Attribute name="comment">KhÃŽng pháº£i lÃºc nÃ o cÅ©ng cÃ³ sáºµn</Attribute>
+        </Language>
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙØºØ©</Attribute>
+            <Attribute name="definition">Ø§ÙÙØºØ©</Attribute>
+            <Attribute name="comment">ØºÙØ± Ù
+ØªÙÙØ± Ø¯Ø§ØŠÙ
+Ø§.</Attribute>
+        </Language>
+
+    </Element>
+    <Element name="Source">
+        <Language code="en">
+            <Attribute name="comment"/>
+            <Attribute name="definition">The filename of the document imported by Greenstone, suitable for display.</Attribute>
+            <Attribute name="label">Source</Attribute>
+        </Language>
+        <Language code="vi">
+            <Attribute name="label">TÃªn tá»p tin</Attribute>
+            <Attribute name="definition">TÃªn tá»p tin cá»§Ã¢tÃ¬ liá»u ÄÆ°á»£c Greenstone nháº­p kháº©u vÃ o há» thá»ng.</Attribute>
+            <Attribute name="comment">áºšn Äá»i vá»i GLI bá»i ÄÃ£ ÄÆ°á»£c hiá»n thá» trong cÃ¢y thÆ° má»¥c</Attribute>
+        </Language>
+        <Language code="ar">
+            <Attribute name="label">Ø§Ø³Ù
+Ø§Ø¡ Ø§ÙÙ
+ÙÙØ§Øª</Attribute>
+            <Attribute name="definition"></Attribute>
+            <Attribute name="comment">ØºÙØ± Ù
+ØªÙÙØ± Ø¯Ø§ØŠÙ
+Ø§.</Attribute>
+        </Language>
+
+    </Element>
+    <Element name="SourceFile">
+        <Language code="en">
+            <Attribute name="label">SourceFile</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="FileSize">
+        <Language code="en">
+            <Attribute name="label">FileSize</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="FileFormat">
+        <Language code="en">
+            <Attribute name="label">FileFormat</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="MimeType">
+        <Language code="en">
+            <Attribute name="label">MimeType</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="Identifier">
+        <Language code="en">
+            <Attribute name="label">Identifier</Attribute>
+            <Attribute name="definition">ff</Attribute>
+            <Attribute name="comment">dd</Attribute>
+        </Language>
+        <Language code="ab">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="Plugin">
+        <Language code="en">
+            <Attribute name="label">Plugin</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="URL">
+        <Language code="en">
+            <Attribute name="label">URL</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="assocfilepath">
+        <Language code="en">
+            <Attribute name="label">assocfilepath</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="lastmodified">
+        <Language code="en">
+            <Attribute name="label">lastmodified</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="hascover">
+        <Language code="en">
+            <Attribute name="label">hascover</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="NoText">
+        <Language code="en">
+            <Attribute name="label">NoText</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="Date">
+        <Language code="en">
+            <Attribute name="label">Date</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="Image">
+        <Language code="en">
+            <Attribute name="label">Image</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="ImageType">
+        <Language code="en">
+            <Attribute name="label">ImageType</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="ImageSize">
+        <Language code="en">
+            <Attribute name="label">ImageSize</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="ImageHeight">
+        <Language code="en">
+            <Attribute name="label">ImageHeight</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="ImageWidth">
+        <Language code="en">
+            <Attribute name="label">ImageWidth</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="Thumb">
+        <Language code="en">
+            <Attribute name="label">Thumb</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="ThumbType">
+        <Language code="en">
+            <Attribute name="label">ThumbType</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="ThumbWidth">
+        <Language code="en">
+            <Attribute name="label">ThumbWidth</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="ThumbHeight">
+        <Language code="en">
+            <Attribute name="label">ThumbHeight</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="Screen">
+        <Language code="en">
+            <Attribute name="label">Screen</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="ScreenType">
+        <Language code="en">
+            <Attribute name="label">ScreenType</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="ScreenWidth">
+        <Language code="en">
+            <Attribute name="label">ScreenWidth</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="ScreenHeight">
+        <Language code="en">
+            <Attribute name="label">ScreenHeight</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="SourceSegment">
+        <Language code="en">
+            <Attribute name="label">SourceSegment</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="NumPages">
+        <Language code="en">
+            <Attribute name="label">NumPages</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="HTMLDisplay">
+        <Language code="en">
+            <Attribute name="label">HTMLDisplay</Attribute>
+            <Attribute name="definition">from procite plugin</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="RecordNumber">
+        <Language code="en">
+            <Attribute name="label">RecordNumber</Attribute>
+            <Attribute name="definition">from procite plugin</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="Workform">
+        <Language code="en">
+            <Attribute name="label">Workform</Attribute>
+            <Attribute name="definition">from procite plugin</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="Pages">
+        <Language code="en">
+            <Attribute name="label">Pages</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="PageNum">
+        <Language code="en">
+            <Attribute name="label">PageNum</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="GENERATOR">
+        <Language code="en">
+            <Attribute name="label">GENERATOR</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="ISISRawRecord">
+        <Language code="en">
+            <Attribute name="label">ISISRawRecord</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="Creator">
+        <Language code="en">
+            <Attribute name="label">Creator</Attribute>
+            <Attribute name="definition">from latex, refer plugins</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="Author">
+        <Language code="en">
+            <Attribute name="label">Author</Attribute>
+            <Attribute name="definition">from latex, bibtex, refer plugins</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="Placename">
+        <Language code="en">
+            <Attribute name="label">Placename</Attribute>
+            <Attribute name="definition">from gis plugin</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="Headers">
+        <Language code="en">
+            <Attribute name="label">Headers</Attribute>
+            <Attribute name="definition">from email plugin</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="InReplyTo">
+        <Language code="en">
+            <Attribute name="label">InReplyTo</Attribute>
+            <Attribute name="definition">from email plugin</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="FromName">
+        <Language code="en">
+            <Attribute name="label">FromName</Attribute>
+            <Attribute name="definition">from email plugin</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="FromAddr">
+        <Language code="en">
+            <Attribute name="label">FromAddr</Attribute>
+            <Attribute name="definition">from email plugin</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="EmailAddress">
+        <Language code="en">
+            <Attribute name="label">EmailAddress</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="EntryType">
+        <Language code="en">
+            <Attribute name="label">EntryType</Attribute>
+            <Attribute name="definition">from bibtex plugin</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="Keyword">
+        <Language code="en">
+            <Attribute name="label">Keyword</Attribute>
+            <Attribute name="definition">from bibtex, refer plugin</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="BookConfOnly">
+        <Language code="en">
+            <Attribute name="label">BookConfOnly</Attribute>
+            <Attribute name="definition">from bibtex, refer plugin</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="JournalsOnly">
+        <Language code="en">
+            <Attribute name="label">JournalsOnly</Attribute>
+            <Attribute name="definition">from bibtex, refer plugin</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="equivlink">
+        <Language code="en">
+            <Attribute name="label">equivlink</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="Acronym">
+        <Language code="en">
+            <Attribute name="label">Acronym</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="mp3applet">
+        <Language code="en">
+            <Attribute name="label">mp3applet</Attribute>
+            <Attribute name="definition">from mp3 plugin</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="giquery">
+        <Language code="en">
+            <Attribute name="label">giquery</Attribute>
+            <Attribute name="definition">from mp3 plugin</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="srcurl">
+        <Language code="en">
+            <Attribute name="label">srcurl</Attribute>
+            <Attribute name="definition">from mp3 plugin</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="Keyphrase">
+        <Language code="en">
+            <Attribute name="label">Keyphrase</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+    <Element name="Keyphrases">
+        <Language code="en">
+            <Attribute name="label">Keyphrases</Attribute>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+    </Element>
+</MetadataSet>
Index: main/tags/2.83/gli/metadata/exp.mds
===================================================================
--- main/tags/2.83/gli/metadata/exp.mds	(revision 21123)
+++ main/tags/2.83/gli/metadata/exp.mds	(revision 21123)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE MetadataSet SYSTEM "http://www.greenstone.org/dtd/MetadataSet/1.0/MetadataSet.dtd">
+<MetadataSet contact="nzdl.org" creator="New Zealand Digital Libraries Project: Greenstone" family="Exploded Metadata" lastchanged="Mon Mar 13 10:30:32 2006 - mdewsnip on bedrock" namespace="exp">
+    <Name language="en">Exploded Metadata Set</Name>
+    <Description language="en">An empty metadata set that is a good place to put metadata exploded from a metadata database (eg. CDS/ISIS).</Description>
+</MetadataSet>
Index: main/tags/2.83/gli/metadata/greenstone.mds
===================================================================
--- main/tags/2.83/gli/metadata/greenstone.mds	(revision 21123)
+++ main/tags/2.83/gli/metadata/greenstone.mds	(revision 21123)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE MetadataSet SYSTEM "http://www.greenstone.org/dtd/MetadataSet/1.0/MetadataSet.dtd">
+<MetadataSet contact="" creator="" family="" lastchanged="Tue Sep 05 14:40:36 NZST 2006 - kjdon on kanuka" namespace="gs">
+    <SetLanguage code="en">
+        <Name>Greenstone metadata set</Name>
+        <Description>Some special elements particular to Greenstone.</Description>
+    </SetLanguage>
+    <SetLanguage code="vi">
+        <Name>Bá» siÃªu dá»¯ liá»u riÃªng cá»§a Greenstone</Name>
+        <Description>Má»t sá» yáº¿u tá» riÃªng biá»t cho Greenstone.</Description>
+    </SetLanguage>
+    <Element name="DocumentHeader">
+        <Language code="en">
+            <Attribute name="label">Document Header</Attribute>
+            <Attribute name="definition">Headers that will be added to document display. For example, use this to include stylesheets in the document display. The content should be escaped HTML.</Attribute>
+            <Attribute name="comment">The _document:documentheader_ macro will be set to the value of this metadata.</Attribute>
+        </Language>
+        <Language code="vi">
+            <Attribute name="label">TiÃªu Äá» tÃ i liá»u</Attribute>
+            <Attribute name="definition">TiÃªu Äá» ÄÆ°á»£c bá» sung vÃ o pháº§n hiá»n thá» cá»§a tÃ i liá»u. ThÃ­ dá»¥, sá»­ dá»¥ng Äiá»u nÃ y Äá» ÄÆ°a stylesheets vÃ o trong viá»c hiá»n thá» tÃ i liá»u. Ná»i dung cáº§n lÃ  escaped HTML.</Attribute>
+            <Attribute name="comment">Macro  _document:documentheader_ sáºœ ÄÆ°á»£c thiáº¿t láº­p cho giÃ¡ trá» cá»§a siÃªu dá»¯ liá»u nÃ y</Attribute>
+        </Language>
+    </Element>
+</MetadataSet>
Index: main/tags/2.83/gli/metadata/nzgls.mds
===================================================================
--- main/tags/2.83/gli/metadata/nzgls.mds	(revision 21123)
+++ main/tags/2.83/gli/metadata/nzgls.mds	(revision 21123)
@@ -0,0 +1,1772 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE MetadataSet SYSTEM "http://www.greenstone.org/dtd/MetadataSet/1.0/MetadataSet.dtd">
+<MetadataSet contact="nzgls@ssc.govt.nz" creator="Archives New Zealand" family="" language_dependent="label, definition, comment" lastchanged="Tue Sep 05 14:40:36 NZST 2006 - kjdon on kanuka" namespace="nzgls">
+    <!-- English Version sourced from http://www.e-government.govt.nz/nzgls/standard/ -->
+    <SetLanguage code="en">
+        <Name language="en">New Zealand Government Locator Service Metadata Standard version 2.1</Name>
+        <Description language="en">The NZGLS metadata standard is the official New Zealand Government standard for creating discovery-level metadata (see Cabinet Circular CO (02) 3). The standard is based closely on two well established standards: the Dublin Core Metadata Element Set and the Australian Government Locator Service.</Description>
+    </SetLanguage>
+    <Element name="Title">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Title</Attribute>
+            <Attribute name="definition">A name given to the resource.</Attribute>
+            <Attribute name="comment">Typically, a Title will be a name by which the resource is formally known.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Taitara</Attribute>
+            <Attribute name="definition">Te ingoa ka tapaina tetahi rauemi.</Attribute>
+            <Attribute name="comment">Ko te tikanga, ko te Taitara te ingoa ka mohio whanuitia te ingoa.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Titre</Attribute>
+            <Attribute name="definition">Le nom donnÃ© Ã  la ressource.</Attribute>
+            <Attribute name="comment">Typiquement, un titre sera le nom par lequel la ressource est officiellement connue.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÐ°Ð·Ð²Ð°ÐœÐžÐµ</Attribute>
+            <Attribute name="definition">ÐÐŒÑ, ÐŽÐ°ÐœÐœÐŸÐµ ÑÐµÑÑÑÑÑ.</Attribute>
+            <Attribute name="comment">ÐÐ±ÑÑÐœÐŸ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµÐŒ ÑÐ²Ð»ÑÐµÑÑÑ ÐžÐŒÑ, Ð¿ÐŸÐŽ ÐºÐŸÑÐŸÑÑÐŒ ÑÐµÑÑÑÑ ÐŸÑÐžÑÐžÐ°Ð»ÑÐœÐŸ ÐžÐ·Ð²ÐµÑÑÐµÐœ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">TÃ­tulo</Attribute>
+            <Attribute name="definition">El nombre dado a un recurso, usualmente por el autor.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙØ¹ÙÙØ§Ù</Attribute>
+            <Attribute name="definition">ÙØ°Ø§ Ø§ÙØ§Ø³Ù
+ ÙØ¹Ø·Ù ÙÙÙ
+ØµØ¯Ø±, Ù
+Ù ÙØšÙ Ø§ÙÙ
+ØšØ¯Ø¹ Ø§Ù Ø§ÙÙØ§ØŽØ±</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">èµæºå</Attribute>
+            <Attribute name="definition">èµäºèµæºçåç§°ã</Attribute>
+            <Attribute name="comment">èµæºåäžè¬æèµæºå¯¹è±¡æ­£åŒå
+¬åŒçåç§°ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">NÃ¡zev</Attribute>
+            <Attribute name="definition">JmÃ©no danÃ© zdroji.</Attribute>
+            <Attribute name="comment">NÃ¡zev bude typicky jmÃ©no, pod nÃ­mÅŸ je zdroj oficiÃ¡lnÄ znÃ¡m.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Titel</Attribute>
+            <Attribute name="definition">De naam van de Internetbron. Meestal gegeven door de auteur, maker of uitgever</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Titulo</Attribute>
+            <Attribute name="definition">Un nomine date al ressource.</Attribute>
+            <Attribute name="comment">Typicamente se utiliza un nomine per le qual le ressource es formalmente cognite.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€¶à¥à€°à¥à€·à€</Attribute>
+            <Attribute name="definition">à€ªà€°à¥à€¯à€Ÿà€¯à¥ à€¶à¥à€°à¥à€·à€</Attribute>
+            <Attribute name="comment">à€žà€à€à¥à€·à€¿à€ªà¥à€€ ,  à€­à€Ÿà€·à€Ÿà€à€€à€°à¥à€€  à€¶à¥à€°à¥à€·à€</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Creator">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Creator</Attribute>
+            <Attribute name="definition">An entity primarily responsible for making the content of the resource.</Attribute>
+            <Attribute name="comment">Examples of a Creator include a person, an organisation, or a service. Typically, the name of a Creator should be used to indicate the entity.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Kaihanga</Attribute>
+            <Attribute name="definition">Te putahi, nana, na ratou ranei i matua oti ai te hanganga o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tangata, he putahitanga, he ratonga ranei etahi tauira Kaihanga. Ko te tikanga, ko te Kaihanga te ingoa ka whakamahia hei tohu i te putahi na ratou te hanganga.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">CrÃ©ateur</Attribute>
+            <Attribute name="definition">L&apos;entitÃ© principalement responsable de la crÃ©ation du contenu de la ressource.</Attribute>
+            <Attribute name="comment">Exemples de CrÃ©ateur incluent une personne, une organisation, ou un service. Typiquement, un nom du CrÃ©ateur devrait Ãªtre utilisÃ© pour dÃ©signer cette entitÃ©.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">Ð¡ÐŸÐ·ÐŽÐ°ÑÐµÐ»Ñ</Attribute>
+            <Attribute name="definition">ÐÐžÑÐŸ, ÐœÐµÑÑÑÐµÐµ Ð¿ÐµÑÐ²ÐžÑÐœÑÑ ÐŸÑÐ²ÐµÑÑÑÐ²ÐµÐœÐœÐŸÑÑÑ Ð·Ð° ÑÐŸÐ·ÐŽÐ°ÐœÐžÐµ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÑÐžÐŒÐµÑÑ Ð¡ÐŸÐ·ÐŽÐ°ÑÐµÐ»Ñ Ð²ÐºÐ»ÑÑÐ°ÑÑ Ð¿ÐµÑÑÐŸÐœÑ, ÐŸÑÐ³Ð°ÐœÐžÐ·Ð°ÑÐžÑ ÐžÐ»Ðž ÑÐ»ÑÐ¶Ð±Ñ. ÐÐ±ÑÑÐœÐŸ ÐžÐŒÑ Ð¡ÐŸÐ·ÐŽÐ°ÑÐµÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÐŽÐ»Ñ ÐžÐœÐŽÐžÐºÐ°ÑÐžÐž ÐŸÐ±ÑÐµÐºÑÐ°.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Autor o Creador</Attribute>
+            <Attribute name="definition">La persona u organizaciÃ³n responsable de la creaciÃ³n del contenido intelectual del recurso. Por ejemplo, los autores en el caso de documentos escritos, artistas, fotografos e ilustradores en el caso de recursos visuales.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙØ§ØªØš Ø§Ù Ø§ÙÙ
+ØšØ¯Ø¹</Attribute>
+            <Attribute name="definition">ÙÙ Ø§ÙØŽØ®Øµ Ø§Ù Ø§ÙÙ
+Ø€Ø³Ø³Ø© Ø£ÙÙØ§  Ø¹Ù ÙØŽØŠ Ø§ÙÙ
+Ø­ØªÙÙ Ø§ÙÙÙØ± Ù ÙÙÙ
+ØµØ¯Ø± , Ø¹ÙÙ Ø³ØšÙÙ Ø§ÙÙ
+Ø«Ø§Ù , Ø§ÙÙ
+Ø€ÙÙÙÙ ÙÙ Ø­Ø§ÙØ© Ø§ÙØ«Ø§ØŠÙ Ø§ÙÙ
+ÙØªÙØšØ© , Ù Ø§ÙÙÙØ§ÙÙÙ , Ø§ÙÙ
+ØµÙØ±ÙÙ ÙÙ Ø­Ø§ÙØ© Ø§ÙÙ
+ØµØ§Ø¯Ø± Ø§ÙÙ
+Ø±ØŠÙØ©</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">åå»ºè
+</Attribute>
+            <Attribute name="definition">åå»ºèµæºå
+å®¹çäž»èŠèŽ£ä»»è
+ã</Attribute>
+            <Attribute name="comment">åå»ºè
+çå®äŸå
+æ¬äžªäººïŒç»ç»ææé¡¹æå¡ãäžè¬èèšïŒçšåå»ºè
+çåç§°æ¥æ è¯è¿äžæ¡ç®ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">TvÅ¯rce</Attribute>
+            <Attribute name="definition">Entita primÃ¡rnÄ odpovÄdnÃ¡ za vytvoÅenÃ­ obsahu zdroje.</Attribute>
+            <Attribute name="comment">PÅÃ­klady TvÅ¯rce zahrnujÃ­ osobu, organizaci nebo sluÅŸbu. K oznaÄenÃ­ entity se typicky pouÅŸÃ­vÃ¡ jmÃ©no tvÅ¯rce.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Auteur of maker</Attribute>
+            <Attribute name="definition">De auteur, maker of organisatie die primair verantwoordelijk is voor de intellectuele inhoud van het werk. Bijvoorbeeld auteurs in geval van geschreven documenten, artiesten, fotografen of illustrators in geval van visuele bronnen.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Creator</Attribute>
+            <Attribute name="definition">Le entitate primarimente responsabile pro producer le contento del ressource.</Attribute>
+            <Attribute name="comment">Exemplos de creator include un persona, un organization, o un servicio. Typicamente se utiliza un nomine de creator pro indicar iste entitate.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€šà€¿à€°à¥à€®à€Ÿà€€à€Ÿ, à€à€šà€</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à€Ÿ à€šà€¿à€°à¥à€®à€Ÿà€£  à€à€°à€£à€Ÿà€°à€Ÿ</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ.  à€²à¥à€à€, à€²à¥à€à€¿à€à€Ÿ,  à€µà¥à€¯à€à¥à€€à¥, à€žà€à€žà¥à€¥à€Ÿ,  à€žà€à€ªà€Ÿà€Šà€, à€žà€à€ªà€Ÿà€Šà€¿à€à€Ÿ</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Function">
+        <Attribute language="en" name="label">Function</Attribute>
+        <Attribute language="en" name="obligation">Mandatory</Attribute>
+        <Attribute language="en" name="definition">The business function of the organisation to which the resource relates</Attribute>
+        <Attribute language="en" name="comment">Used to indicate the business role of the resource in terms of business functions and activities. Functions are the major units of activity which organisations pursue in order to meet the mission and goals of the organisation. They are defined in the Australian Records Management Standard [AS4390] as the largest unit of business activity in an organisation. Recommended best practice is to select a value from a controlled vocabulary or formal classification scheme. Resources being described within the NZ Government should use the Functions of New Zealand (FONZ) thesaurus. Use of this encoding scheme is mandatory for metadata prepared for use by the NZ Government Portal.</Attribute>
+    </Element>
+    <Element name="Subject">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Subject and Keywords</Attribute>
+            <Attribute name="definition">The topic of the content of the resource.</Attribute>
+            <Attribute name="comment">Typically, a Subject will be expressed as keywords, key phrases or classification codes that describe a topic of the resource. Recommended best practice is to select a value from a controlled vocabulary or formal classification scheme.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Kaupapa</Attribute>
+            <Attribute name="definition">Te take/ nga take o te kaupapa, o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tikanga, ka whakaaturia te kaupapa o te rauemi e nga kupu matua, nga kimahi matua, nga tohu wehewehenga whakaahua ranei.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Sujet</Attribute>
+            <Attribute name="definition">Le sujet du contenu de la ressource.</Attribute>
+            <Attribute name="comment">Typiquement, le sujet sera dÃ©crit par un ensemble de mots-clefs ou de phrases ou un code de classification qui prÃ©cisent le sujet de la ressource. L&apos;utilisation de vocabulaires contrÃŽlÃ©s et de schÃ©mas formels de classification est encouragÃ©e.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÑÐµÐŽÐŒÐµÑ Ðž ÐºÐ»ÑÑÐµÐ²ÑÐµ ÑÐ»ÐŸÐ²Ð°</Attribute>
+            <Attribute name="definition">Ð¢ÐµÐŒÐ° ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ±ÑÑÐœÐŸ ÐÑÐµÐŽÐŒÐµÑ Ð²ÑÑÐ°Ð¶Ð°ÐµÑÑÑ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÐºÐ»ÑÑÐµÐ²ÑÑ
+ ÑÐ»ÐŸÐ², ÐºÐ»ÑÑÐµÐ²ÑÑ
+ ÑÑÐ°Ð· ÐžÐ»Ðž  ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐžÐŸÐœÐœÑÑ
+ ÐºÐŸÐŽÐŸÐ², ÐºÐŸÑÐŸÑÑÐµ ÐŸÐ¿ÐžÑÑÐ²Ð°ÑÑ ÑÐµÐŒÑ ÑÐµÑÑÑÑÐ°. ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ Ð²ÑÐ±ÐžÑÐ°ÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐžÐ· ÐºÐŸÐœÑÑÐŸÐ»ÐžÑÑÐµÐŒÐŸÐ³ÐŸ ÑÐ»ÐŸÐ²Ð°ÑÑ ÐžÐ»Ðž ÑÐŸÑÐŒÐ°Ð»ÑÐœÐŸÐ¹ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐžÐŸÐœÐœÐŸÐ¹ ÑÑ
+ÐµÐŒÑ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Claves</Attribute>
+            <Attribute name="definition">Los tÃ³picos del recurso. TÃ­picamente, Subject expresarÃ¡ las claves o frases que describen el tÃ­tulo o el contenido del recurso. Se fomentarÃ¡ el uso de vocabularios controlados y de sistemas de clasificaciÃ³n formales. Se pueden ver ejemplos de vocabularios controlados en: Controlled vocabularies, thesauri and classification systems available in the WWW. DC Subject</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙ
+ÙØ¶ÙØ¹ Ù Ø§ÙÙÙÙ
+Ø§Øª Ø§ÙØ±ØŠÙØ³ÙØ©</Attribute>
+            <Attribute name="definition">ÙÙ Ù
+ÙØ¶ÙØ¹ Ø§ÙÙ
+ØµØ¯Ø±. ÙÙ
+ÙØ°Ø¬ÙØ§  ÙØ¹ØšØ± Ø¹Ù Ø§ÙÙ
+ÙØ¶ÙØ¹ ØšØ§Ø³ØªØ®Ø¯Ø§Ù
+Ù
+ÙØªØ§Ø­  Ø§ÙÙÙÙ
+Ø§Øª  Ø§Ù Ø¬Ù
+Ù Ø§ÙØªÙ  ØªØµÙ Ù
+ÙØ¶ÙØ¹ Ø§Ù Ù
+Ø­ØªÙÙ Ø§ÙÙ
+ØµØ¯Ø± , Ù ÙØ³ØªØ­Ø³Ù Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ù
+ÙØ±Ø¯Ø§Øª Ù
+Ø®Ø·Ø·Ø©Ù Ù
+Ø­ÙÙ
+Ø©  ÙØ§Ø¯ÙØ© ØªØµÙÙÙ ØŽÙÙÙØ©</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">äž»é¢åå
+³é®è¯</Attribute>
+            <Attribute name="definition">èµæºå
+å®¹çäž»é¢æè¿°ã</Attribute>
+            <Attribute name="comment">åŠæèŠæè¿°ç¹å®èµæºçæäžäž»é¢ïŒäžè¬éçšå
+³é®è¯ãå
+³é®å­ç­è¯­æåç±»å·ïŒæå¥œäž»é¢åå
+³é®è¯ä»åæ§    è¯è¡šæè§èçåç±»äœç³»äž­ååŒã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">PÅedmÄt a klÃ­ÄovÃ¡ slova</Attribute>
+            <Attribute name="definition">TÃ©ma obsahu zdroje.</Attribute>
+            <Attribute name="comment">PÅedmÄt bude typicky vyjÃ¡dÅen pomocÃ­ klÃ­ÄovÃœch slov, klÃ­ÄovÃœch frÃ¡zÃ­ nebo klasifikaÄnÃ­ch znakÅ¯ popisujÃ­cÃ­ch tÃ©ma zdroje. DoporuÄuje se vybÃ­rat hodnotu prvku z ÅÃ­zenÃ©ho slovnÃ­ku nebo formÃ¡lnÃ­ho klasifikaÄnÃ­ho schÃ©matu.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Onderwerp en trefwoorden</Attribute>
+            <Attribute name="definition">Het onderwerp van de Internetbron. Het onderwerp wordt beschreven in korte zinnen of door het gebruik van trefwoorden. Het gebruik van gecontroleerde trefwoorden of classificatie schema&apos;s wordt aanbevolen.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Subjecto e parolas-clave</Attribute>
+            <Attribute name="definition">Le topico del contento del ressource.</Attribute>
+            <Attribute name="comment">Typicamente le subjecto es expresse per medio de parolas-clave, phrases-clave, o codices de classification que describe le topico del ressource. Le melior practica recommendate es selectionar un valor a partir de un vocabulario controlate o un schema formal de classification.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€µà€¿à€·à€¯</Attribute>
+            <Attribute name="definition">à€µà€¿à€·à€¯</Attribute>
+            <Attribute name="comment">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à€Ÿ, à€à¥à€à€Ÿà€šà€žà€Ÿà€§à€šà¥ à€¯à€Ÿà€€à¥à€² à€à€¶à€¯ à€žà¥à€ªà€·à¥à€ à€à€°à€£à€Ÿà€°à¥ à€¶à€¬à¥à€Š, à€µà€¿à€·à€¯à€Ÿà€à¥ à€µà€°à¥à€à¥à€à€°à€£ à€à€°à€€à€Ÿà€šà€Ÿ à€¶à€¬à¥à€Šà€žà€à€à¥à€°à€¹ à€
+à€¥à€µà€Ÿ à€¶à€¬à¥à€Š à€à¥à€·à€Ÿà€à€Ÿ à€µà€Ÿà€ªà€° à€à€°à€Ÿà€µà€Ÿ</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Description">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Description</Attribute>
+            <Attribute name="definition">An account of the content of the resource.</Attribute>
+            <Attribute name="comment">Description may include but is not limited to: an abstract, table of contents, reference to a graphical representation of content or a free-text account of the content.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Whakaaturanga</Attribute>
+            <Attribute name="definition">He whakaaturanga o nga kaupapa o te rauemi.</Attribute>
+            <Attribute name="comment">Ka uru atu, engari ehara noa ko: te whakarapopototanga korero, te ihirangi, te tohutanga o te kaupapa ma te whakaahua, te whakaaturanga kore kupu ranei, o te kauapapa.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Description</Attribute>
+            <Attribute name="definition">Une description du contenu de la ressource.</Attribute>
+            <Attribute name="comment">Une Description peut contenir, mais ce n&apos;est pas limitatif: un rÃ©sumÃ©, une table des matiÃšres, une rÃ©fÃ©rence Ã  une reprÃ©sentation graphique du contenu, ou un texte libre sur le contenu.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÐ¿ÐžÑÐ°ÐœÐžÐµ</Attribute>
+            <Attribute name="definition">Ð¡ÐŸÐŸÐ±ÑÐµÐœÐžÐµ ÐŸ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÐž ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ¿ÐžÑÐ°ÐœÐžÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐŸ (Ð¿ÐŸ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸÑÑÐž) Ð² Ð²ÐžÐŽÐµ: ÑÐµÑÐµÑÐ°ÑÐ°, ÐŸÐ³Ð»Ð°Ð²Ð»ÐµÐœÐžÑ, ÑÑÑÐ»ÐºÐž ÐœÐ° Ð³ÑÐ°ÑÐžÑÐµÑÐºÐŸÐµ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÐžÐ»Ðž Ð¿ÑÐŸÑÑÐŸÐ³ÐŸ ÑÐµÐºÑÑÐŸÐ²ÐŸÐ³ÐŸ ÐžÐ·Ð»ÐŸÐ¶ÐµÐœÐžÐµ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">DescripciÃ³n</Attribute>
+            <Attribute name="definition">Una descripciÃ³n textual del recurso, tal como un resumen en el caso de un documento o una descripciÃ³n del contenido en el caso de un documento visual.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙØµÙ</Attribute>
+            <Attribute name="definition">ÙÙ ÙØµÙ ÙØµÙ  ÙÙ
+Ø­ØªÙÙ Ø§ÙÙ
+ØµØ¯Ø±, ÙÙØ¶Ù
+ Ø§ÙÙ
+ÙØ®ØµØ§Øª ÙÙ Ø­Ø§ÙØ© Ø§ÙÙØ«Ø§ØŠÙ Ù
+Ø«Ù Ø§ÙØ§ØŽÙØ§Ø¡ Ø§ÙÙ
+ÙØªÙØšØ© Ø§Ù ØªÙØµÙÙ Ø§ÙÙ
+Ø­ØªÙÙ ÙÙ Ø­Ø§ÙØ© Ø§ÙÙ
+ØµØ§Ø¯Ø± Ø§ÙÙ
+Ø±ØŠÙØ©</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">è¯Žæ</Attribute>
+            <Attribute name="definition">èµæºå
+å®¹çè§£é</Attribute>
+            <Attribute name="comment">è¯Žæå¯ä»¥å
+æ¬äœäžéäºä»¥äžå
+å®¹ïŒææãç®åœãå¯¹ä»¥åŸåœ¢æ¥æ­ç€ºå
+å®¹çèµæºèèšçæå­è¯Žæãæè
+äž    äžªæå
+³èµæºå
+å®¹çèªç±ææ¬æè¿°ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Popis</Attribute>
+            <Attribute name="definition">VysvÄtlenÃ­ obsahu zdroje.</Attribute>
+            <Attribute name="comment">Popis mÅ¯ÅŸe obsahovat (mimo jinÃ©): abstrakt, obsah, odkaz na grafickÃ© nebo volnÃ© textovÃ© vyjÃ¡dÅenÃ­ obsahu.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Omschrijving</Attribute>
+            <Attribute name="definition">Een omschrijving van de inhoud van de Internetbron. Abstracts of inhoudsomschrijvingen.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Description</Attribute>
+            <Attribute name="definition">Un description del contento del ressource.</Attribute>
+            <Attribute name="comment">Le description pote includer, ma non se limita a: summario, indice, referentia a un representation graphic del contento o un texto libere a proposito del contento.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€µà€°à¥à€£à€š</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥, à€à¥à€à€Ÿà€šà€žà€Ÿà€§à€šà€Ÿà€à¥à€µà€°à¥à€£à€š</Attribute>
+            <Attribute name="comment">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€šà€¿à€µà¥à€Šà€š, à€à€²à¥à€, à€à€¿à€€à¥à€°à€°à¥à€ª</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Publisher">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Publisher</Attribute>
+            <Attribute name="definition">An entity responsible for making the resource available.</Attribute>
+            <Attribute name="comment">Examples of a Publisher include a person, an organisation, or a service. Typically, the name of a Publisher should be used to indicate the entity.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Kaiwhakaputa</Attribute>
+            <Attribute name="definition">Te putahi nana i whakaputa te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tangata, he putahitanga, he ratonga ranei etahi tauira Kaiwhakaputa. Ko te tikanga, ka whakamahia te ingoa o te Kaiwhakaputa hei tohu i te putahi.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Editeur</Attribute>
+            <Attribute name="definition">L&apos;entitÃ© responsable de la diffusion de la ressource, dans sa forme actuelle, tels, un dÃ©partement universitaire, une entreprise.</Attribute>
+            <Attribute name="comment">Exemples d&apos;Editeurs incluent une personne, une organisation, ou un service. Typiquement, le nom d&apos;une maison d&apos;Ã©dition devrait Ãªtre utilisÃ© ici.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÐ·ÐŽÐ°ÑÐµÐ»Ñ</Attribute>
+            <Attribute name="definition">ÐÐžÑÐŸ, ÐŸÑÐ²ÐµÑÑÑÐ²ÐµÐœÐœÐŸÐµ Ð·Ð° Ð²Ð²ÐŸÐŽ ÑÐµÑÑÑÑÐ° Ð² ÐŸÐ±ÑÐ°ÑÐµÐœÐžÐµ.</Attribute>
+            <Attribute name="comment">ÐÑÐžÐŒÐµÑÑ ÐÐ·ÐŽÐ°ÑÐµÐ»Ñ Ð²ÐºÐ»ÑÑÐ°ÑÑ Ð¿ÐµÑÑÐŸÐœÑ, ÐŸÑÐ³Ð°ÐœÐžÐ·Ð°ÑÐžÑ ÐžÐ»Ðž ÑÐ»ÑÐ¶Ð±Ñ. ÐÐ±ÑÑÐœÐŸ ÐžÐŒÑ ÐÐ·ÐŽÐ°ÑÐµÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÐŽÐ»Ñ ÐžÐœÐŽÐžÐºÐ°ÑÐžÐž ÐŸÐ±ÑÐµÐºÑÐ°.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Editor</Attribute>
+            <Attribute name="definition">&gt;La entidad responsable de hacer que el recurso se encuentre disponible en la red en su formato actual, por ejemplo la empresa editora, un departamento universitario u otro tipo de organizaciÃ³n.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙØ§ØŽØ±</Attribute>
+            <Attribute name="definition">ÙÙ Ø§ÙÙÙØŠØ© Ø§ÙÙ
+Ø³Ø€ÙÙØ© Ø¹Ù ØµÙØ§Ø¹Ø© Ø§ÙÙ
+ØµØ¯Ø± Ø§ÙÙ
+ØªÙÙØ± ÙÙ Ø­Ø§ÙØªÙ Ø§ÙØ­Ø§Ø¶Ø±Ø©, Ù
+Ø«Ù Ø¯Ø§Ø± Ø§ÙÙØŽØ±, ÙØ³Ù
+ Ø¬Ø§Ù
+Ø¹Ù Ø§Ù Ù
+Ø€Ø³Ø³Ø© Ø§Ø¹Ù
+Ø§Ù</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">åºçè
+</Attribute>
+            <Attribute name="definition">äœ¿èµæºæäžºå¯ä»¥è·åŸå¹¶å¯çšçèŽ£ä»»è
+ã</Attribute>
+            <Attribute name="comment">åºçè
+çå®äŸå
+æ¬äžªäœïŒç»ç»ïŒææå¡ãäžè¬èèšïŒåºè¯¥çšåºçè
+çåç§°æ¥æ è¯è¿äžæ¡ç®ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Vydavatel</Attribute>
+            <Attribute name="definition">Entita odpovÄdnÃ¡ za zpÅÃ­stupnÄnÃ­ zdroje.</Attribute>
+            <Attribute name="comment">PÅÃ­klady Vydavatele zahrnujÃ­ osobu, organizaci nebo sluÅŸbu. K oznaÄenÃ­ entity se typicky pouÅŸÃ­vÃ¡ jmÃ©no vydavatele.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Uitgever</Attribute>
+            <Attribute name="definition">De entiteit die verantwoordelijk is voor het beschikbaarstellen van de Internetbron in de huidig vorm. Bijvoorbeeld een uitgeversbedrijf, een universiteitsafdeling.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Editor</Attribute>
+            <Attribute name="definition">Un entitate responsabile pro disponibilizar le ressource.</Attribute>
+            <Attribute name="comment">Exemplos de editor include un persona, un organization, o un servicio. Typicamente se utiliza un nomine de editor pro indicar le entitate.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€ªà¥à€°à€à€Ÿà€¶à€</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à€Ÿ  à€à€ªà€²à€¬à¥à€§ à€à€°à¥à€š à€Šà¥à€£à€Ÿà€°à€Ÿ</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ.à€ à€ªà¥à€°à€à€Ÿà€¶à€ , à€ªà¥à€°à€à€Ÿà€¶à€š  à€žà€à€žà¥à€¥à€Ÿ, à€žà¥à€µà€Ÿ    à€®à€Ÿà€¹à€¿à€€à¥ à€à€Ÿà€ªà¥à€² à€°à¥à€ªà€Ÿà€€  à€
+à€¥à€µà€Ÿ à€à€à€à€°à€šà¥à€ à€µà€° à€à€ªà€²à€¬à¥à€§ à€à€°à¥à€š à€Šà¥à€£à€Ÿà€°à€Ÿ</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Mandate">
+        <Attribute language="en" name="label">Mandate</Attribute>
+        <Attribute language="en" name="obligation">Recommended</Attribute>
+        <Attribute language="en" name="definition">A specific warrant which requires the resource to be created or provided.</Attribute>
+        <Attribute language="en" name="comment">The element is useful to indicate the specific legal mandate that requires the resource being described to be created or provided to the public. The content of this element will usually be a reference to a specific Act, Regulation or Case, but may be a URI pointing to the legal instrument in question.</Attribute>
+        <Element name="act">
+            <Attribute language="en" name="label">Act</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">A reference to a specific Act of Parliament which requires the creation or provision of the resource.</Attribute>
+            </Language>
+        </Element>
+        <Element name="regulation">
+            <Attribute language="en" name="label">Regulation</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">A reference to a specific regulation which requires the creation or provision of the resource.</Attribute>
+            </Language>
+        </Element>
+        <Element name="rules">
+            <Attribute language="en" name="label">Rules</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The specific rule or bylaw which requires the creation or provision of the resource.</Attribute>
+            </Language>
+        </Element>
+        <Element name="case">
+            <Attribute language="en" name="label">Case Law</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">A reference to a specific case which requires the creation or provision of the resource.</Attribute>
+            </Language>
+        </Element>
+    </Element>
+    <Element name="Contributor">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Contributor</Attribute>
+            <Attribute name="definition">An entity responsible for making contributions to the content of the resource.</Attribute>
+            <Attribute name="comment">Examples of a Contributor include a person, an organisation, or a service. Typically, the name of a Contributor should be used to indicate the entity.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Kaiwhakaaro</Attribute>
+            <Attribute name="definition">Te putahi nana, na ratou ranei nga whakakaupapatanga whakaaro o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tangata, he putahitanga, he ratonga ranei etahi tauira Kaiwhakaaro. Ko te tikanga ka whakamahia te ingoa o te Kaiwhakaaro hei tohu i te putahi.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Contributeur</Attribute>
+            <Attribute name="definition">Une entitÃ© qui a contribuÃ© Ã  la crÃ©ation du contenu de la ressource.</Attribute>
+            <Attribute name="comment">Exemples de Contributeur incluent une personne, une organisation, ou un service. Typiquement, le nom d&apos;un contributeur devrait Ãªtre utilisÃ© ici pour dÃ©signer l&apos;entitÃ©.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">Ð¡ÐŸÐžÑÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»Ñ</Attribute>
+            <Attribute name="definition">ÐÐžÑÐŸ, Ð²ÐœÐµÑÑÐµÐµ Ð²ÐºÐ»Ð°ÐŽ Ð² ÑÐŸÐ·ÐŽÐ°ÐœÐžÐµ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÑÐžÐŒÐµÑÑ Ð¡ÐŸÐžÑÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»Ñ Ð²ÐºÐ»ÑÑÐ°ÑÑ Ð¿ÐµÑÑÐŸÐœÑ, ÐŸÑÐ³Ð°ÐœÐžÐ·Ð°ÑÐžÑ ÐžÐ»Ðž ÑÐ»ÑÐ¶Ð±Ñ. ÐÐ±ÑÑÐœÐŸ ÐžÐŒÑ Ð¡ÐŸÐžÑÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÐŽÐ»Ñ ÐžÐœÐŽÐžÐºÐ°ÑÐžÐž ÐŸÐ±ÑÐµÐºÑÐ°.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Otros Colaboradores</Attribute>
+            <Attribute name="definition">Una persona u organizacion que haya tenido una contribuciÃ³n intelectual significativa en la creaciÃ³n del recurso pero cuyas contribuciones son secundarias en comparaciÃ³n a las de las personas u organizaciones especificadas en el elementeo Creator (por ejemplo, editor, ilustrador y traductor).</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙ
+Ø³Ø§ÙÙ
+ Ø§ÙØ§Ø®Ø±</Attribute>
+            <Attribute name="definition">ÙÙ Ø§ÙØŽØ®Øµ Ø§Ù Ø§ÙÙ
+Ø€Ø³Ø³Ø© Ø§ÙØºÙØ± Ù
+Ø°ÙÙØ± ØµØ±Ø§Ø­Ø© ÙÙ Ø¹Ø§Ù
+Ù &quot; Ø§ÙÙ
+ØšØ¯Ø¹ &quot; Ù Ø§ÙØ°Ù ÙØ¯Ù
+ Ù
+Ø³Ø§ÙÙ
+Ø§Øª ÙÙØ±ÙØ© ÙØ§Ù
+Ø© ÙÙÙ
+ØµØ¯Ø±, ÙÙÙ Ù
+Ø³Ø§ÙÙ
+ØªÙØªØšÙÙ    Ø«Ø§ÙÙÙØ© Ù
+ÙØ§Ø±ÙØ© Ù
+Ø¹ Ø§ÙØŽØ®Øµ Ø£Ù Ø§ÙÙ
+Ø€Ø³Ø³Ø© Ø§ÙÙ
+Ø°ÙÙØ±Ø© ÙØµØ§ ÙÙ Ø¹Ø§Ù
+Ù &quot; Ø§ÙÙ
+ÙØŽØŠ &quot; Ù
+Ø«ÙØ§Ù Ù
+ØµØ­Ø­, Ø§ÙÙ
+ØªØ±Ø¬Ù
+, Ø§Ù Ø§ÙÙ
+ÙØ³Ø±</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">å
+¶ä»èŽ£ä»»è
+</Attribute>
+            <Attribute name="definition">å¯¹èµæºçå
+å®¹äœåºèŽ¡ç®çå
+¶ä»å®äœã</Attribute>
+            <Attribute name="comment">å
+¶ä»èŽ£ä»»è
+çå®äŸå¯å
+æ¬äžªäººãç»ç»ææé¡¹æå¡ãäžè¬èèšïŒçšå
+¶ä»èŽ£ä»»è
+çåå­æ¥æ è¯è¿äžæ¡ç®ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">PÅispÄvatel</Attribute>
+            <Attribute name="definition">Entita, kterÃ¡ pÅispÄla k vytvoÅenÃ­ obsahu zdroje.</Attribute>
+            <Attribute name="comment">PÅÃ­klady PÅispÄvatele zahrnujÃ­ osobu, organizaci nebo sluÅŸbu. K oznaÄenÃ­ entity se typicky pouÅŸÃ­vÃ¡ jmÃ©no pÅispÄvatele.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Andere medewerkers</Attribute>
+            <Attribute name="definition">Een persoon of organisatie die een belangrijke bijdrage heeft geleverd, maar die secondair is aan de persoon of organisatie die bij &quot;Creator&quot; genoemd wordt. Gedacht kan worden aan editors, vertalers en illustrators.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Contribuente</Attribute>
+            <Attribute name="definition">Un entitate responsabile pro facer contributiones al contento del ressource.</Attribute>
+            <Attribute name="comment">Exemplos de contribuente include un persona, un organization, o un servicio. Typicamente se utiliza un nomine de contribuente pro indicar le entitate.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label"> à€žà€¹à€¯à¥à€à€, à€žà€¹à€¯à¥à€à¥, à€žà€¹à€Ÿà€¯à¥à€¯à€</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à€Ÿ à€žà€à€à€²à¥à€€ à€à€°à€£à¥à¥à€Ÿà€ž  à€®à€Šà€€ à€à€°à€£à€Ÿà€°à¥ à€µà¥à€¯à€à¥à€€à¥</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ.à€ à€µà¥à€¯à€à¥à€€à¥, à€žà¥à€µà€Ÿ, à€žà€à€žà¥à€¥à€Ÿ</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Date">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Date</Attribute>
+            <Attribute name="definition">A date associated with an event in the life cycle of the resource.</Attribute>
+            <Attribute name="comment">Typically, Date will be associated with the creation or availability of the resource.  Recommended best practice for encoding the date value is defined in a profile of ISO 8601 and follows the YYYY-MM-DD format.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Ra</Attribute>
+            <Attribute name="definition">He ra e whai panga ana ki te huringa ora o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tikanga, ka whai panga te ra ki te hanganga, te wateatanga ranei, o te rauemi. Ko te huarahi tino pai hei tohu i te uara o te ra (date value) kua whakaritea i roto i te whakaritenga IS0 8601 [W3CDTF], a, e whai atu ana ki te whakatakotoranga YYYY-MM-DD.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Date</Attribute>
+            <Attribute name="definition">Une date associÃ©e avec un Ã©vÃ©nement dans le cycle de vie de la ressource.</Attribute>
+            <Attribute name="comment">Typiquement, une date sera associÃ©e Ã  la crÃ©ation ou Ã  la publication d&apos;une ressource. Il est fortement recommandÃ© d&apos;encoder la valeur de la date en utilisant le format dÃ©fini par l&apos;ISO 8601 [W3CDTF] sous la forme AAAA-MM-JJ.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÐ°ÑÐ°</Attribute>
+            <Attribute name="definition">ÐÐ°ÑÐ°, ÑÐ²ÑÐ·Ð°ÐœÐœÐ°Ñ Ñ ÑÐŸÐ±ÑÑÐžÐµÐŒ Ð² Ð¶ÐžÐ·ÐœÐµÐœÐœÐŸÐŒ ÑÐžÐºÐ»Ðµ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ±ÑÑÐœÐŸ ÐÐ°ÑÐ° Ð°ÑÑÐŸÑÐžÐžÑÑÐµÑÑÑ Ñ ÑÐŸÐ·ÐŽÐ°ÐœÐžÐµÐŒ ÐžÐ»Ðž ÐŽÐŸÑÑÑÐ¿ÐœÐŸÑÑÑÑ ÑÐµÑÑÑÑÐ°. ÐÐ° Ð¿ÑÐ°ÐºÑÐžÐºÐµ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ ÐŽÐ»Ñ ÐºÐŸÐŽÐžÑÐŸÐ²ÐºÐž Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŽÐ°ÑÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÐµ Ð¿ÑÐŸÑÐžÐ»Ñ ISO 8601 (Ð€ÐŸÑÐŒÐ°ÑÑ ÐŽÐ°ÑÑ Ðž Ð²ÑÐµÐŒÐµÐœÐž W3C), ÐºÐŸÑÐŸÑÐŸÐµ Ð¿ÐŸÐŽÐŽÐµÑÐ¶ÐžÐ²Ð°ÐµÑ ÑÐŸÑÐŒÐ°Ñ ÐÐÐÐ-ÐÐ-ÐÐ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Fecha</Attribute>
+            <Attribute name="definition">Una fecha en la que el recurso se puso a disposiciÃ³n del usuario en su forma actual. Esta fecha no ha de confundirse con la que pertenece al elemento Coverage, que serÃ­a asociada con el recurso sÃ³lo en la medida en que el contenido intelectual estÃ¡ de algÃºn modo relacionado con esa fecha. Recomendamos la utiliazaciÃ³n de uno de los formatos definidos en el documento &quot;Date and Time Formats&quot;, http://www.w3.org/TR/NOTE-datetime basado en la norma ISO 8601 que incluye, entre otras, fechas en el formato AAAA y AAAA-MM-DD. De esta forma la fecha 1994-11-05 corresponderÃ­a al 5 de Noviembre de 1994.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙØªØ§Ø±Ø®</Attribute>
+            <Attribute name="definition">ÙÙ Ø§ÙØªØ§Ø±ÙØ® Ø§ÙÙ
+ØªØ¹ÙÙ ØšÙÙØª ÙØŽØŠ Ø£Ù ØªÙÙØ± Ø§ÙÙ
+ØµØ¯Ø± . Ù ÙØ¬Øš Ø£Ù ÙØ§ ÙØ®ÙØ· ÙØ°Ø§ Ø§ÙØªØ§Ø±ÙØ® Ø§ÙØ¹Ø§ØŠØ¯ ÙØ¹Ø§Ù
+Ù Ø§ÙØªØºØ·ÙØ© , Ù Ø§ÙØ° Ù ÙØ¬Øš Ø£Ù    ÙÙØ­Ù ØšØ§ÙÙ
+ØµØ¯Ø± ÙÙØ· Ù
+Ù ÙØ§Ø­ÙØ© Ø§ÙÙ
+Ø­ØªÙÙØ§ÙÙÙØ±Ù ÙÙÙÙÙ ÙÙØ¹Ø§ Ù
+Ø§ ÙÙ ÙØ°Ø§ Ø§ÙØªØ§Ø±ÙØ®. Ø§ÙØµÙØºØ© Ø§ÙÙ
+Ø³Ø«Ø­Ø³ÙØ© ÙÙØ§Ø­Ø³Ù Ø§ÙÙ
+ØªØ¹Ø§Ø±Ù Ø¹ÙÙÙ    Ø¹ÙØ¯ Ø§ÙØªØ·ØšÙÙ ÙÙ Ø§ÙØµÙØºØ© Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© ÙÙ ØªØŽÙÙÙ (ISO 8601) ØµÙØºØ© ØªØ§Ø±ÙØ® Ø§ÙÙÙÙ
+ Ù Ø§ÙÙÙØª ) Ø§Ø¹ØªÙ
+Ø§Ø¯Ø§ Ø¹ÙÙ (ISO 8601) Ø§ÙÙ
+ÙØ§Ø­ØžØ© Ø§ÙÙÙÙØ© http://www.w3.org/TR/NOTE-datetime, W3C. ÙÙÙ    ÙØ°Ø§ Ø§ÙÙØ³Ù , Ù
+Ø«ÙØ§, ØªØ§Ø±ÙØ® Ø§ÙÙÙÙ
+ 1994-11-04 ÙÙØ§ØžØ± ÙÙÙ
+ 5 ÙÙÙÙ
+ØšØ± 1994</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">æ¥æ</Attribute>
+            <Attribute name="definition">äžèµæºçåœåšæäž­çäžäžªäºä»¶çžå
+³çæ¶éŽã</Attribute>
+            <Attribute name="comment">äžè¬èèšïŒæ¥æåºäžèµæºçåå»ºæåºçæ¥æçžå
+³ãå»ºè®®éçšçæ¥ææ ŒåŒåºç¬ŠåISO 8601 [W3CDTF]è§    èïŒå¹¶äœ¿çšYYYY-MM-DDçæ ŒåŒã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Datum</Attribute>
+            <Attribute name="definition">Datum spojenÃ© s urÄitou udÃ¡lostÃ­ bÄhem existence zdroje.</Attribute>
+            <Attribute name="comment">Datum bude typicky spojeno s vytvoÅenÃ­m nebo zpÅÃ­stupnÄnÃ­m zdroje. DoporuÄenÃœ postup pro kÃ³dovÃ¡nÃ­ hodnoty data je definovÃ¡n v ISO 8601 [W3CDTF]: formÃ¡t RRRR-MM-DD.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Datum</Attribute>
+            <Attribute name="definition">De datum van de totstandkoming of beschikbaarstelling van een Internetbron. Deze datum moet niet verward worden met de datum in &quot;Coverage&quot;. De datum in &quot;Coverage&quot; geeft de tijdsperiode van de inhoud van de Internetbron aan. Voorgeschreven wordt de ISO 8601 standaard voor datum, zoals beschreven in W3C Technical Note http://www.w3.org/TR/NOTE-datetime. Hierin wordt het formaat YYYY-MM-DD beschreven. Het formaat YYYY-MM-DD wordt de voorgeschreven standaard. 3 September 1998 wordt in dit geval 1998-09-03.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Data</Attribute>
+            <Attribute name="definition">Un data associate a un evento in le cyclo vital del ressource.</Attribute>
+            <Attribute name="comment">Typicamente le data es associate al creation o disponibilization del ressource. Le practica recommendate pro codificar le valor del datas es definite in un profilo de ISO 8601 [W3CDTF] e seque le formato AAAA-MM-DD.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€€à€Ÿà€°à¥à€,  à€Šà€¿à€šà€Ÿà€à€</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à€Ÿ à€€à€¯à€Ÿà€° à€à¥à€²à¥à€¯à€Ÿà€à¥ à€€à€Ÿà€°à¥à€</Attribute>
+            <Attribute name="comment">à€€à€Ÿà€°à¥à€  à€²à€¿à€¹à¥à€£à¥à€¯à€Ÿà€à¥ à€žà¥à€µà€°à¥à€ª à€ à€µà€°à¥à€·. à€®à€¹à€¿à€šà€Ÿ. à€Šà€¿à€µà€ž à¥§à¥¯à¥«à¥Š. à¥Šà¥ª. à¥Šà¥ª</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+        <Element name="created">
+            <Attribute language="en" name="label">Created</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">Date of creation of the resource.</Attribute>
+            </Language>
+        </Element>
+        <Element name="modified">
+            <Attribute language="en" name="label">Modified</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">Date on which the resource was changed.</Attribute>
+            </Language>
+        </Element>
+        <Element name="valid">
+            <Attribute language="en" name="label">Valid</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">Date (often a range) of validity of a resource.</Attribute>
+                <Attribute name="comment">Typically, a date the resource becomes valid or ceases to be valid, or the date range for which the resource is valid.</Attribute>
+            </Language>
+        </Element>
+        <Element name="issued">
+            <Attribute language="en" name="label">Issued</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">Date of formal issuance (e.g. publication) of the resource.</Attribute>
+            </Language>
+        </Element>
+        <Element name="available">
+            <Attribute language="en" name="label">Available</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">Date (often a range) that the resource will become or did become available.</Attribute>
+            </Language>
+        </Element>
+    </Element>
+    <Element name="Type">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Resource Type</Attribute>
+            <Attribute name="definition">The nature or genre of the content of the resource.</Attribute>
+            <Attribute name="comment">Type includes terms describing general categories, functions, genres, or aggregation levels for content. Recommended best practice is to select a value from a controlled vocabulary (for example, the working draft list of Dublin Core Types). To describe the physical or digital manifestation of the resource, use the FORMAT element.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Tumomo</Attribute>
+            <Attribute name="definition">Te ahua, te tu-ahuatanga ranei o nga kaupapa o te rauemi.</Attribute>
+            <Attribute name="comment">Kei roto i te Tumomo nga kupu whakaatu i nga wehewehenga whanui, nga aheinga, nga tu-ahuatanga, te whakaritenga ranei o nga taumata o te/ nga kaupapa. Ko te huarahi tino pai kua tohua, ko te tipako i tetahi uara mai i nga kupu kua whakaritea (hei tauira, ko te tauira rarangi e whakamahia ana o nga Dublin Core Types [DCT1]. Hei whakaatu i te whakatinanatanga o te rauemi, whakamahia ko te huanga WHAKATAKOTORANGA (FORMAT).</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Type</Attribute>
+            <Attribute name="definition">La nature ou le genre du contenu de la ressource.</Attribute>
+            <Attribute name="comment">Type inclut des termes dÃ©crivant des catÃ©gories, fonctions ou genres gÃ©nÃ©raux pour le contenu, ou des niveaux d&apos;agrÃ©gation. Il est recommandÃ© de choisir la valeur du type dans une liste de vocabulaire contrÃŽlÃ© (par exemple, la liste provisoire de Types du Dublin Core[DCT1]). Pour dÃ©crire la matÃ©rialisation physique ou digitale de la ressource, il faut utiliser l&apos;Ã©lÃ©ment Format.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">Ð¢ÐžÐ¿ ÑÐµÑÑÑÑÐ°</Attribute>
+            <Attribute name="definition">ÐÑÐžÑÐŸÐŽÐ° ÐžÐ»Ðž Ð¶Ð°ÐœÑ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">Ð¢ÐžÐ¿ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÑÐµÑÐŒÐžÐœÑ, ÐŸÐ¿ÐžÑÑÐ²Ð°ÑÑÐžÐµ ÐŸÐ±ÑÐžÐµ ÐºÐ°ÑÐµÐ³ÐŸÑÐžÐž, ÑÑÐœÐºÑÐžÐž, Ð¶Ð°ÐœÑÑ ÐžÐ»Ðž ÐŸÐ±ÑÐµÐŽÐžÐœÐµÐœÐœÑÐµ ÑÑÐŸÐ²ÐœÐž ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ. ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ Ð²ÑÐ±ÐžÑÐ°ÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐžÐ· ÐºÐŸÐœÑÑÐŸÐ»ÐžÑÑÐµÐŒÐŸÐ³ÐŸ ÑÐ»ÐŸÐ²Ð°ÑÑ (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, ÑÐ°Ð±ÐŸÑÐµÐ³ÐŸ Ð¿ÑÐŸÐµÐºÑÐ° ÑÐ¿ÐžÑÐºÐ° Ð¢ÐžÐ¿ÐŸÐ² Dublin Core DCT1). ÐÐ»Ñ ÐŸÐ¿ÐžÑÐ°ÐœÐžÑ ÑÐžÐ·ÐžÑÐµÑ-ÐºÐŸÐ³ÐŸ ÐžÐ»Ðž ÑÐžÑÑÐŸÐ²ÐŸÐ³ÐŸ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑ ÑÐµÑÑÑÑÐ° ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÑÐ»ÐµÐŒÐµÐœÑ Ð€ÐŸÑÐŒÐ°Ñ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Tipo del Recurso</Attribute>
+            <Attribute name="definition">La categorÃ­a del recurso, por ejemplo pÃ¡gina personal, romance, poema, minuta, diccionario. Para asegurar la interoperabilidad, Type deberÃ­a ser seleccionado de entre una lista de valores que actualmente se encuentra bajo desarrollo en un grupo de trabajo. En http://sunsite.berkeley.edu/Metadata/types.html se puede consultar el estado actual de la discusiÃ³n en torno a este tema.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">ÙÙØ¹ Ø§ÙÙ
+ØµØ¯Ø±</Attribute>
+            <Attribute name="definition">ÙÙ ÙØŠØ© Ø§ÙÙ
+ØµØ¯Ø± , Ù
+Ø«ÙØ§ Ø§ÙØµÙØ­Ø© Ø§ÙØ§Ù
+, Ø±ÙØ§ÙØ© , ÙØ·Ø¹Ø© ØŽØ¹Ø±ÙØ© , ÙØ±ÙØ© Ø¹Ù
+Ù , ØªÙØ±ÙØ± ÙÙÙ , Ù
+ÙØ§Ù , ÙØ§Ù
+ÙØ³ . Ù Ù
+Ù Ø£Ø¬Ù Ø§ÙØªØ¹Ø§Ù
+Ù Ø§ÙÙ
+ØŽØªØ±Ù    ÙØ¬Øš Ø£Ù ÙØ®ØªØ§Ø± Ø§ÙÙÙØ¹ Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+Ø±ÙÙ
+Ø© ÙØ§ÙØªÙ ÙÙÙ
+ Ø§Ø¹Ø¯Ø§Ø¯ÙØ§ Ø­Ø§ÙÙØ§ Ø¶Ù
+Ù Ø­ÙÙØ§Øª ÙØ±ØŽØ© Ø¹Ù
+Ù</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">èµæºç±»å</Attribute>
+            <Attribute name="definition">èµæºå
+å®¹çç¹åŸæç±»åã</Attribute>
+            <Attribute name="comment">èµæºç±»åå
+æ¬æè¿°èµæºå
+å®¹çäžè¬èçŽïŒåèœïŒç§å±ïŒæèç±»å±æ¬¡çæ¯è¯­ãå»ºè®®éçšæ¥èªäºåæ§è¯è¡š    äž­çåŒïŒäŸåŠDCMIç±»åè¯æ±è¡š[DCMITYPE]ïŒãèŠæè¿°èµæºçç©çææ°å­åè¡šç°åœ¢åŒïŒè¯·äœ¿çšâæ ŒåŒïŒFORMATïŒâå
+çŽ ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Typ zdroje</Attribute>
+            <Attribute name="definition">Povaha nebo druh obsahu zdroje.</Attribute>
+            <Attribute name="comment">Typ obsahuje termÃ­ny popisujÃ­cÃ­ obecnÃ© kategorie, funkce, druhy nebo agregaÄnÃ­ ÃºrovnÄ obsahu. DoporuÄuje se vybÃ­rat hodnotu z ÅÃ­zenÃ©ho slovnÃ­ku (napÅ. pracovnÃ­ nÃ¡vrh seznamu TypÅ¯ Dublin Core [DCT1]). K popisu fyzickÃ© nebo digitÃ¡lnÃ­ reprezentace zdroje uÅŸijte prvek FormÃ¡t.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Bestands type</Attribute>
+            <Attribute name="definition">Het soort Internetbron, bijvoorbeeld home page, gedicht, working paper, technical report, essay, woordenboek etc. De DC working groups zijn momenteel bezig met twee voorstellen; een minimalist draft: http://sunsite.berkeley.edu/Metadata/minimalist.html en een structuralist draft: http://sunsite.berkely.edu/Metadata/structuralist.html. Het wordt sterk aanbevolen om &quot;Type&quot; van deze lijsten te selecteren.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Typo del ressource</Attribute>
+            <Attribute name="definition">Le natura o genere del contento del ressource.</Attribute>
+            <Attribute name="comment">Le typo del ressource include terminos que describe categorias general, functiones, generes, o nivellos de aggregation pro le contento. Le practica recommendate es selectionar un valor a partir de un vocabulario controlate (per exemplo, le lista de schizzos de travalio de typos de Dublin Core [DCT1]). Pro describer le manifestation physic o digital del ressource, utiliza le elemento Formato.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€ªà¥à€°à€à€Ÿà€°</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à€Ÿà€ªà¥à€°à€à€Ÿà€°</Attribute>
+            <Attribute name="comment">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€µà€°à¥à€à¥à€à€°à€£, à€µà€°à¥à€à€µà€Ÿà€°à¥à€®à€§à¥à€¯à¥ à€à€à€Ÿà€Šà¥à€¯à€Ÿ à€šà¥à€à€Šà¥à€à€Ÿ à€®à¥à€à¥à€¯ à€à€à€ªà¥à€°à€à€Ÿà€°</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+        <Element name="category">
+            <Attribute language="en" name="label">Category</Attribute>
+            <Attribute language="en" name="type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The generic type of the resource being described.</Attribute>
+                <Attribute name="comment">The value for this qualifier must be one of service, document, or agency.</Attribute>
+            </Language>
+            <Attribute language="en" name="source">AGLS</Attribute>
+            <Attribute language="en" name="service">used when describing a service directly, not a document about a service.</Attribute>
+            <Attribute language="en" name="document">used for all resources which are not services or agencies, even if they are no traditional &amp;quot;documents&amp;quot; - for example, a sculpture;</Attribute>
+            <Attribute language="en" name="agency">used to describe an organisation</Attribute>
+        </Element>
+        <Element name="aggregationLevel">
+            <Attribute language="en" name="label">Aggregation Level</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The level of aggregation of the resource being described.</Attribute>
+                <Attribute name="comment">There are only two values possible for this qualifier, either item or collection.</Attribute>
+            </Language>
+        </Element>
+    </Element>
+    <Element name="Format">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Format</Attribute>
+            <Attribute name="definition">The physical or digital manifestation of the resource.</Attribute>
+            <Attribute name="comment">Typically, Format may include the media-type or dimensions of the resource. Format may be used to determine the software, hardware or other equipment needed to display or operate the resource. Examples of dimensions include size and duration. Recommended best practice is to select a value from a controlled vocabulary (for example, the list of Internet Media Types [MIME] defining computer media formats).</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Whakatakotoranga</Attribute>
+            <Attribute name="definition">Te whakatinanatanga, te whakaputanga a-mati o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tikanga, ka taea te Whakatakotoranga te whakamahi hei whakarite i te rawa-ngohe (software), te rawa-maro (hardware), ma etahi taputapu ranei me matua whiwhi, hei whakahaere i te rauemi. Ko te rahi me te roanga etahi tauira hanga. Ko te tino huarahi kua tohua ko te tipako uara mai i tetahi whakaritenga kupu (hei tauira, te rarangi o nga Tumomo Papaho Ipurangi (Internet Media Types [MIME]) e whakaatu ana i nga whakatakotoranga papaho rorohiko.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Format</Attribute>
+            <Attribute name="definition">La matÃ©rialisation physique ou digitale de la ressource.</Attribute>
+            <Attribute name="comment">Typiquement, Format peut inclure le media ou les dimensions de la ressource. Format peut Ãªtre utilisÃ© pour prÃ©ciser le logiciel, le matÃ©riel ou autre Ã©quipement nÃ©cessaire pour afficher ou faire fonctionner la ressource. Exemples de dimensions incluent la taille et la durÃ©e. Il est recommandÃ© de choisir la valeur du format dans une liste de vocabulaire contrÃŽlÃ©(par exemple, la liste des types de media dÃ©finis sur Internet [MIME]).</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">Ð€ÐŸÑÐŒÐ°Ñ</Attribute>
+            <Attribute name="definition">Ð€ÐžÐ·ÐžÑÐµÑÐºÐŸÐµ ÐžÐ»Ðž ÑÐžÑÑÐŸÐ²ÐŸÐµ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ±ÑÑÐœÐŸ Ð€ÐŸÑÐŒÐ°Ñ ÐŒÐŸÐ¶ÐµÑ Ð²ÐºÐ»ÑÑÐ°ÑÑ ÑÐžÐ¿ Ð°ÑÐŽÐžÐŸÐ²ÐžÐ·ÑÐ°Ð»ÑÐœÐŸÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž (ÐŒÐµÐŽÐžÐ°-ÑÐžÐ¿) ÐžÐ»Ðž Ð²ÐµÐ»ÐžÑÐžÐœÑ ÑÐµÑÑÑÑÐ°. Ð€ÐŸÑÐŒÐ°Ñ ÐŒÐŸÐ¶ÐµÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑÑÑ ÐŽÐ»Ñ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÑ Ð°Ð¿Ð¿Ð°ÑÐ°ÑÐœÐŸÐ³ÐŸ, Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐœÐŸÐ³ÐŸ ÐŸÐ±ÐµÑÐ¿ÐµÑÐµÐœÐžÑ ÐžÐ»Ðž ÐŽÑÑÐ³ÐŸÐ³ÐŸ ÐŸÐ±ÐŸÑÑÐŽÐŸÐ²Ð°ÐœÐžÑ, ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸÐ³ÐŸ ÐŽÐ»Ñ Ð²ÐŸÑÐ¿ÑÐŸÐžÐ·Ð²ÐµÐŽÐµÐœÐžÑ ÐžÐ»Ðž ÑÐ°Ð±ÐŸÑÑ Ñ ÑÐµÑÑÑÑÐŸÐŒ. ÐÑÐžÐŒÐµÑÑ Ð²ÐµÐ»ÐžÑÐžÐœÑ Ð²ÐºÐ»ÑÑÐ°ÑÑ ÑÐ°Ð·ÐŒÐµÑ Ðž Ð¿ÑÐŸÐŽÐŸÐ»Ð¶ÐžÑÐµÐ»ÑÐœÐŸÑÑÑ. ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ Ð²ÑÐ±ÐžÑÐ°ÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐžÐ· ÐºÐŸÐœÑÑÐŸÐ»ÐžÑÑÐµÐŒÐŸÐ³ÐŸ ÑÐ»ÐŸÐ²Ð°ÑÑ (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, ÑÐ¿ÐžÑÐºÐ° ÐÐµÐŽÐžÐ°-ÑÐžÐ¿ÐŸÐ² ÐÐœÑÐµÑÐœÐµÑ MIME, ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÑÑÐµÐ³ÐŸ ÐºÐŸÐŒÐ¿ÑÑÑÐµÑÐœÑÐµ ÑÐŸÑÐŒÐ°ÑÑ Ð°ÑÐŽÐžÐŸÐ²ÐžÐ·ÑÐ°Ð»ÑÐœÐŸÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž).</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Formato</Attribute>
+            <Attribute name="definition">El formato de datos de un recurso, usado para identificar el software y posiblemente, el hardware que se necesitarÃ­a para mostrar el recurso. Para asegurar la interoperabilidad, los valores de Format deberÃ­an ser seleccionados de entre una lista de valores que actualmente se encuentra bajo desarrollo en un grupo de trabajo.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙØµÙØºØ©</Attribute>
+            <Attribute name="definition">ÙØ°Ù ØµÙØºØ© Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø© Ø§ÙØ®Ø§ØµØ© ØšØ§ÙÙ
+ØµØ¯Ø± , Ù ØªØ³ØªØ®Ø¯Ù
+ ÙÙØªØ¹Ø±ÙÙ ØšØ§ÙØšØ±Ù
+Ø¬ÙØ§Øª ÙØ±ØšÙ
+Ø§ Ø§ÙØµÙØš ÙÙØ­Ø§Ø³ÙØš Ù Ø§ÙØªÙ ÙÙ
+ÙÙ Ø£Ù ÙØ­ØªØ§Ø¬    ÙÙØ§ ÙØ¹Ø±Ø¶ Ø£Ù ØªØŽØºÙÙ Ø§ÙÙ
+ØµØ¯Ø± . Ù
+Ù Ø£Ø¬Ù Ø§ÙØªØ¹Ø§Ù
+Ù Ø§ÙÙ
+ØŽØªØ±Ù, ÙØ¬Øš Ø£Ù ØªØ®ØªØ§Ø± Ø§ÙØµÙØºØ© Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+Ø±ÙÙ
+Ø© Ù Ø§ÙØªÙ ÙØªÙ
+ Ø§Ø¹Ø¯Ø§Ø¯ÙØ§    Ø­Ø§ÙÙØ§ Ø¶Ù
+Ù Ø­ÙÙØ§Øª ÙØ±ØŽØ© Ø¹Ù
+Ù</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">æ ŒåŒ</Attribute>
+            <Attribute name="definition">èµæºçç©çææ°å­è¡šç°åœ¢åŒã</Attribute>
+            <Attribute name="comment">äžè¬èèšïŒæ ŒåŒå¯èœå
+æ¬èµæºçåªäœç±»åæèµæºçå€§å°ïŒæ ŒåŒå
+çŽ å¯ä»¥çšæ¥å³å®å±ç€ºææäœèµæºæé    çèœ¯ç¡¬ä»¶æå
+¶ä»çžåºè®Ÿå€ïŒäŸåŠå€§å°å
+æ¬èµæºæå çå­åšç©ºéŽåæç»­æ¶éŽãå»ºè®®éçšæ¥èªäºåæ§è¯è¡š    äž­çåŒïŒïŒäŸåŠInternetåªäœç±»å[MIME]å®ä¹è®¡ç®æºåªäœæ ŒåŒïŒã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">FormÃ¡t</Attribute>
+            <Attribute name="definition">FyzickÃ¡ nebo digitÃ¡lnÃ­ reprezentace zdroje.</Attribute>
+            <Attribute name="comment">Typicky mÅ¯ÅŸe FormÃ¡t obsahovat typ mÃ©dia nebo rozmÄry zdroje. FormÃ¡t lze pouÅŸÃ­vat k urÄenÃ­ softwaru, hardwaru nebo dalÅ¡Ã­ho zaÅÃ­zenÃ­ potÅebnÃ©ho k zobrazenÃ­ nebo k manipulaci se zdrojem. PÅÃ­klady rozmÄrÅ¯ zahrnujÃ­ velikost a dobu trvÃ¡nÃ­. DoporuÄuje se vybÃ­rat hodnotu z ÅÃ­zenÃ©ho slovnÃ­ku (napÅ. seznam typÅ¯ internetovÃœch mÃ©diÃ­ [MIME] definujÃ­cÃ­ formÃ¡ty poÄÃ­taÄovÃœch mÃ©diÃ­).</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Format</Attribute>
+            <Attribute name="definition">Het data formaat van het Internetbestand. Dit gegeven kan gebruikt worden om systeemvereisten (hard- en software) te identificeren die nodig zijn voor raadpleging of bediening van de Internetbron. &quot;Format&quot; is nog in ontwikkeling bij de DC workshop. Uit compatibiliteitsoverwegingen wordt aanbevolen formaatgegevens te selecteren uit een gecontroleerde lijst. Formaten kunnen van de Internet Media Types (MIME types) lijst gekozen worden: http://www.isi.edu/in-notes/iana/assignments/media-types/media-types</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Formato</Attribute>
+            <Attribute name="definition">Le manifestation physic o digital del ressource.</Attribute>
+            <Attribute name="comment">Typicamente le formato pote includer le typo de medio o dimensiones del ressource. Le formato pote esser utilizate pro determinar le software o le equipamento necessari pro exhibir o operar le ressource. Exemplos de dimensiones include grandessa e duration. Le practica recommendate es selectionar un valor de un vocabulario controlate (per exemplo, le lista de typos de medios de Internet [MIME] que defini formatos de medios).</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€°à€à€šà€Ÿ</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€°à€à€šà€Ÿ, à€šà€®à¥à€šà€Ÿà€¬à¥à€Š à€°à€à€šà€Ÿ</Attribute>
+            <Attribute name="comment">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€žà¥à€µà€°à¥à€ª, à€°à€à€šà€Ÿà€à€Šà€Ÿ. à€€à¥à€¯à€Ÿà€à¥ à€°à¥à€ª à€à€žà¥ à€ªà¥à€žà¥à€€à€à€°à¥à€ª, à€žà€à€à€£à€à¥à€¯ à€°à¥à€ª, à€µà€¿à€Šà¥à€¯à¥à€€ à€ªà€°à€®à€Ÿà€£à¥à€à€à¥à€¯à€Ÿ à€žà€¹à€Ÿà€¯à¥à€¯à€Ÿà€šà¥ à€žà€à€à€£à€à¥à€à¥à€€ à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à€Ÿ</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+        <Element name="extent">
+            <Attribute language="en" name="label">Extent</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The size or duration of the resource.</Attribute>
+                <Attribute name="comment">The extent qualifier allows the description of the physical dimensions, file size or duration of the resource.</Attribute>
+            </Language>
+        </Element>
+        <Element name="medium">
+            <Attribute language="en" name="label">Medium</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The material or physical carrier of the resource.</Attribute>
+            </Language>
+        </Element>
+    </Element>
+    <Element name="Availability">
+        <Attribute language="en" name="label">Availability</Attribute>
+        <Attribute language="en" name="obligation">Conditional - mandatory when adding an agency, service, or off-line document; optional when adding an on-line document.</Attribute>
+        <Attribute language="en" name="definition">How the resource can be obtained or contact information for obtaining the resource.</Attribute>
+        <Attribute language="en" name="comment">The Availability element is primarily used for non-electronic resources to provide information on how to obtain physical access to the resource. The Availability element should be repeated to show multiple access points - for example, a service where someone could pay a bill at two separate organisations. Generally, full details of how any service can be obtained, or contact information, should be provided. If a structured value is to be given (including for example name and address information) it is recommended that the NZGLS Agent Encoding scheme be used. Alternatively, a link to a directory, authority file or similar set of identity information may be provided.</Attribute>
+    </Element>
+    <Element name="Identifier">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Resource Identifier</Attribute>
+            <Attribute name="definition">An unambiguous reference to the resource within a given context.</Attribute>
+            <Attribute name="comment">Recommended best practice is to identify the resource by means of a string or number conforming to a formal identification system. Example formal identification systems include the Uniform Resource Identifier (URI) (including the Uniform Resource Locator (URL)), the Digital Object Identifier (DOI) and the International Standard Book Number (ISBN).</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Taututanga</Attribute>
+            <Attribute name="definition">He tohutoro e hangai ana ki te rauemi i roto i tetahi horopaki.</Attribute>
+            <Attribute name="comment">Ko te tino huarahi kua tohua, ko te tautu i te rauemi ma tetahi aho (string), tau ranei, e hangai ana ki tetahi punaha taututanga okawa. Ko etahi punaha taututanga okawa ko te Taututanga Rauemi Orite (Uniform Resource Identifier - URI), te Taututanga Rauemi Tohu-wahi (Uniform Resource Locator - URL), Te Mea A-mati (Digital Object Identifier - DOI) me te Tau Pukapuka Aro Whanui o te Ao (International Standard Book Number - ISBN).</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Identifiant</Attribute>
+            <Attribute name="definition">Une rÃ©fÃ©rence non ambiguÃ« Ã  la ressource dans un contexte donnÃ©</Attribute>
+            <Attribute name="comment">Il est recommandÃ© d&apos;identifier la ressource par une chaÃ®ne de caractÃšre ou un nombre conforme Ã  un sytÃšme formel d&apos;identification. Exemples de systemes formels d&apos;identification incluent le &quot;Uniform Resource Identifier&quot; (URI) (qui inclut le &quot;Uniform Resource Locator&quot; (URL)), le &quot;Digital Object Identifier&quot;(DOI) et le &quot;International Standard Book Number&quot;(ISBN).</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐŸÑ ÑÐµÑÑÑÑÐ°</Attribute>
+            <Attribute name="definition">ÐÐŽÐœÐŸÐ·ÐœÐ°ÑÐœÐ°Ñ ÑÑÑÐ»ÐºÐ° ÐœÐ° ÑÐµÑÑÑÑ Ð² Ð¿ÑÐµÐŽÐµÐ»Ð°Ñ
+ ÐŽÐ°ÐœÐœÐŸÐ³ÐŸ ÐºÐŸÐœÑÐµÐºÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ ÐžÐŽÐµÐœÑÐžÑÐžÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐµÑÑÑÑ Ð¿ÐŸÑÑÐµÐŽÑÑÐ²ÐŸÐŒ ÑÑÑÐŸÐºÐž ÐžÐ»Ðž ÑÐžÑÐ»Ð°, ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐµÐ³ÐŸ ÑÐŸÑÐŒÐ°Ð»ÑÐœÐŸÐ¹ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÐŸÐœÐœÐŸÐ¹ ÑÐžÑÑÐµÐŒÐµ. ÐÑÐžÐŒÐµÑÑ ÑÐŸÑÐŒÐ°Ð»ÑÐœÑÑ
+ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÐŸÐœÐœÑÑ
+ ÑÐžÑÑÐµÐŒ Ð²ÐºÐ»ÑÑÐ°ÑÑ Ð£ÐœÐžÑÐžÑÐžÑÐŸÐ²Ð°ÐœÐœÑÐ¹ ÐÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐŸÑ Ð ÐµÑÑÑÑÐ° (URI), (Ð²ÐºÐ»ÑÑÐ°Ñ Ð£ÐœÐžÑÐžÑÐžÑÐŸÐ²Ð°ÐœÐœÑÑÐ¹ ÐÐŸÐºÐ°ÑÐŸÑ Ð ÐµÑÑÑÑÐ° URL), ÐÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐŸÑ ÐŠÐžÑÑÐŸÐ²ÐŸÐ³ÐŸ ÐÐ±ÑÐµÐºÑÐ° (DOI) Ðž ÐÐµÐ¶ÐŽÑÐœÐ°ÑÐŸÐŽÐœÑÐ¹ Ð¡ÑÐ°ÐœÐŽÐ°ÑÑÐœÑÐ¹ ÐÐœÐžÐ¶ÐœÑÐ¹ ÐÐŸÐŒÐµÑ (ISBN).</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Identificador del Recurso</Attribute>
+            <Attribute name="definition">Secuencia de caracteres usados para identificar unÃ­vocamente un recurso. Ejemplos para recursos en lÃ­nea pueden ser URLs y URNs (cuando estÃ©n implementados). Para otros recursos pueden ser usados otros formatos de identificadores, como por ejemplo ISBN (&quot;International Standard Book Number&quot; - NÃºmero Internacional Normalizado para Libros)</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ù
+Ø¹Ø±Ù Ø§ÙÙ
+ØµØ¯Ø±</Attribute>
+            <Attribute name="definition">ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø­Ø±ÙÙØ© Ø£Ù Ø±ÙÙ
+ ÙØ³ØªØ®Ø¯Ù
+ ÙØªØ¹Ø±ÙÙ Ø§ÙÙ
+ØµØ¯Ø± Ø§Ø­Ø¯ÙØ§ : Ø§ÙØ§Ù
+Ø«ÙØ© ÙØ°Ø§ÙÙ ÙÙ Ø§ÙÙ
+ØµØ§Ø¯Ø± Ø§ÙØŽØšÙÙØ©ØªØ¶Ù
+ ) URNs, URLs Ø¹ÙØ¯ ØšÙØ§ØŠÙØ§ (    ÙØ°ÙÙ ÙÙ
+ÙÙ Ø§Ø¹ØªØšØ§Ø± Ø§ÙÙ
+Ø¹Ø±ÙØ§Øª Ø§ÙØ¹Ø§ÙÙ
+ÙØ© Ø§ÙØ§Ø­Ø§Ø¯ÙØ© Ù
+Ø«Ù Ø§ÙØ±ÙÙ
+ Ø§ÙØ¯ÙÙÙ ÙØªØµÙÙÙ Ø§ÙÙØ§ØªØš (ISBN) Ù
+Ø±ØŽØ­Ø© ÙÙØ°Ø§ Ø§ÙØ¹Ø§Ù
+Ù</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">èµæºæ è¯ç¬Š</Attribute>
+            <Attribute name="definition">åšç¹å®çèåŽå
+ç»äºèµæºçäžäžªæç¡®çæ è¯ã</Attribute>
+            <Attribute name="comment">å»ºè®®å¯¹èµæºçæ è¯éçšç¬Šåæäžæ­£åŒæ è¯äœç³»çå­ç¬Šäž²åæ°å­ç»åãäŸåŠæ­£åŒçæ è¯äœç³»å
+æ¬ç»äžèµ    æºæ è¯ç¬Š(URI) (å
+æ¬åäžèµæºå®äœç¬ŠURL)ãæ°å­å¯¹è±¡æ è¯ç¬Š(DOI)ååœé
+æ åä¹Šå·(ISBN)ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">IdentifikÃ¡tor zdroje</Attribute>
+            <Attribute name="definition">JednoznaÄnÃœ odkaz na zdroj v rÃ¡mci danÃ©ho kontextu.</Attribute>
+            <Attribute name="comment">DoporuÄuje se identifikovat zdroj znakovÃœm ÅetÄzcem nebo ÄÃ­slem odpovÃ­dajÃ­cÃ­m nÄkterÃ©mu z formÃ¡lnÃ­ch identifikaÄnÃ­ch systÃ©mÅ¯. PÅÃ­klady formÃ¡lnÃ­ch identifikaÄnÃ­ch systÃ©mÅ¯ zahrnujÃ­ Uniform Resource Identifier (URI) (vÄetnÄ Uniform Resource Locator (URL)), Digital Object Identifier (DOI) a MezinÃ¡rodnÃ­ standardnÃ­ ÄÃ­slo knihy (ISBN).</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Bestandsidentificatie</Attribute>
+            <Attribute name="definition">Een unieke string of nummer ter identificatie van de Internetbron. Voorbeelden zijn URL&apos;s of URN&apos;s Andere voorbeelden zijn International Standard Book Number (ISBN) of International Standard Serial Number (ISSN)</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Identificator del ressource</Attribute>
+            <Attribute name="definition">Un referentia inambigue al ressource intra un date contexto.</Attribute>
+            <Attribute name="comment">Se recommenda identificar le ressource per medio de un catena de characteres o numero conforme a un systema formal de identification. Exemplos de systemas formal de identification include le Uniform Resource Identifier (URI) (includente le Uniform Resource Locator (URL)), le Digital Object Identifier (DOI) e le International Standard Book Number (ISBN).</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€à€³à€</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à€Ÿ à€à€ à€
+à€°à¥à€¥à¥ à€žà€à€Šà€°à¥à€­</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ. à€®à€Ÿà€¹à€¿à€€à¥à€à€Ÿà€³à¥à€¯à€Ÿà€µà€°à¥à€² à€ªà€€à¥à€€à€Ÿ, à€µà€¿à€¶à€¿à€·à¥à€  à€žà¥à€¥à€³,  à€ªà¥à€žà¥à€€à€à€Ÿà€à€Ÿ à€à€à€€à€°à€°à€Ÿà€·à¥à€à¥à€°à¥à€¯  à€®à€Ÿà€šà€ à€à¥à€°à€®à€Ÿà€à€,  à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€à€³à€ à€ªà€à€µà€¿à€£à€Ÿà€°à€Ÿ à€à€à€à€°à€šà¥à€ à€µà€°à¥à€² à€ªà€€à¥à€€à€Ÿ</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Source">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Source</Attribute>
+            <Attribute name="definition">A Reference to a resource from which the present resource is derived.</Attribute>
+            <Attribute name="comment">The present resource may be derived from the Source resource in whole or in part.  Recommended best practice is to reference the resource by means of a string or number conforming to a formal identification system.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Matapuna</Attribute>
+            <Attribute name="definition">He tohutoro ki tetahi rauemi koira te matapuna o te rauemi e tirohia ana.</Attribute>
+            <Attribute name="comment">Tera pea i puta te katoa, tetahi wahanga ranei o te rauemi, e tirohia ana, mai i te Matapuna rauemi. Ko te tino huarahi kua tohua ko te tohutoro ki te rauemi ma te aho, ma te tau ranei e hangai ana ki tetahi punaha taututanga okawa.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Source</Attribute>
+            <Attribute name="definition">Une rÃ©fÃ©rence Ã  une ressource Ã  partir de laquelle la ressource actuelle a Ã©tÃ© dÃ©rivÃ©e.</Attribute>
+            <Attribute name="comment">La ressource actuelle peut avoir Ã©tÃ© dÃ©rivÃ©e d&apos;une autre ressource source, en totalitÃ© ou en partie. Il est recommandÃ© de refÃ©rencer cette source par une chaÃ®ne de caractÃšre ou un nombre conforme Ã  un systÃšme formel d&apos;identification.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÑÑÐŸÑÐœÐžÐº</Attribute>
+            <Attribute name="definition">Ð¡ÑÑÐ»ÐºÐ° ÐœÐ° ÑÐµÑÑÑÑ, ÐžÐ· ÐºÐŸÑÐŸÑÐŸÐ³ÐŸ ÐžÐ·Ð²Ð»ÐµÑÐµÐœ ÐœÐ°ÑÑÐŸÑÑÐžÐ¹.</Attribute>
+            <Attribute name="comment">ÐÐ°ÑÑÐŸÑÑÐžÐ¹ ÑÐµÑÑÑÑ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÐ·Ð²Ð»ÐµÑÐµÐœ ÐžÐ· ÐÑÑÐŸÑÐœÐžÐºÐ° ÑÐµÐ»ÐžÐºÐŸÐŒ ÐžÐ»Ðž ÑÐ°ÑÑÐžÑÐœÐŸ. ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ ÐžÐŽÐµÐœÑÐžÑÐžÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐµÑÑÑÑ Ð¿ÐŸÑÑÐµÐŽÑÑÐ²ÐŸÐŒ ÑÑÑÐŸÐºÐž ÐžÐ»Ðž ÑÐžÑÐ»Ð°, ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐµÐ³ÐŸ ÑÐŸÑÐŒÐ°Ð»ÑÐœÐŸÐ¹ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÐŸÐœÐœÐŸÐ¹ ÑÐžÑÑÐµÐŒÐµ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Fuente</Attribute>
+            <Attribute name="definition">Secuencia de caracteres utilizado para identificar unÃ­vocamente un trabajo a partir del cual proviene el recurso actual. Por ejemplo, es posible usar Source con la fecha de 1603 como descripciÃ³n de una pelÃ­cula basada en una obra de Shakespeare, pero es preferible, en ese caso, usar Relation &quot;IsBasedOn&quot; con una referencia a un recurso distinto cuya descripciÃ³n contenga el elemento Date con valor 1603.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙ
+ØµØ¯Ø±</Attribute>
+            <Attribute name="definition">Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙØ®Ø§ØµØ© ØšÙ
+ØµØ¯Ø± Ø«Ø§ÙÙ Ù Ø§ÙØ°Ù Ø§Ø³ØªÙ
+Ø¯ Ù
+ÙÙ Ø§ÙÙ
+ØµØ¯Ø± Ø§ÙØ­Ø§ÙÙ. Ù
+Ø¹ Ø£ÙÙ Ù
+Ù Ø§ÙÙ
+ÙØµÙ ØšÙ Ø£Ù ØªÙØ¯Ù
+ Ø§ÙØ¹ÙØ§Ù
+Ù    Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø¹Ù Ø§ÙÙ
+ØµØ¯Ø± Ø§ÙØ­Ø§ÙÙ ÙÙØ· , ÙÙÙ
+ÙÙ Ø£Ù ÙØ­ÙÙ ÙØ°Ø§ Ø§ÙØ¹Ø§Ù
+Ù Ø§ÙØªØ§Ø±ÙØ®, Ø§ÙÙ
+ÙØŽØŠ , Ø§ÙØµÙØºØ© , Ø§ÙÙ
+Ø¹Ø±Ù , Ø§Ù Ø§ÙØ© Ù
+ÙØ© - Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø§Ø®Ø±Ù ÙÙÙ
+ØµØ¯Ø± Ø§ÙØ«Ø§ÙÙ Ø¹ÙØ¯Ù
+Ø§ ØªØ¹ØªØšØ± Ù
+ÙÙ
+Ø© ÙØ§ÙØªØŽØ§Ù Ø§ÙÙ
+ØµØ¯Ø± Ø§ÙØ­Ø§ÙÙ , Ù ÙØ°Ø§ÙÙ ÙÙØµÙ Ø¹ÙØ¯ Ø§ÙØªØ·ØšÙÙÙÙ Ø§Ø­Ø³Ù     Ø§ÙÙ
+ØªØ¹Ø§Ø±Ù Ø¹ÙÙÙ ØšØ§Ø³ØªØ®Ø¯Ø§Ù
+ Ø¹Ø§Ù
+Ù Ø§ÙØ¹ÙØ§ÙØ©</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">æ¥æº</Attribute>
+            <Attribute name="definition">ç°æèµæºæ¥æºçåç
+§ã</Attribute>
+            <Attribute name="comment">åœåèµæºå¯èœéšåæå
+šéšæºèªè¯¥å
+çŽ ææ è¯çèµæºïŒå»ºè®®å¯¹è¿äžèµæºçæ è¯éçšäžäžªç¬Šåæ­£åŒæ è¯ç³»    ç»çå­äž²åæ°å­ç»å ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Zdroj</Attribute>
+            <Attribute name="definition">Odkaz na zdroj, z nÄhoÅŸ je popisovanÃœ zdroj odvozen.</Attribute>
+            <Attribute name="comment">PopisovanÃœ zdroj mÅ¯ÅŸe bÃœt zcela nebo zÄÃ¡sti odvozen ze zdroje uvedenÃ©ho v prvku Zdroj. DoporuÄuje se odkazovat zdroj znakovÃœm ÅetÄzcem nebo ÄÃ­slem odpovÃ­dajÃ­cÃ­m nÄkterÃ©mu z formÃ¡lnÃ­ch identifikaÄnÃ­ch systÃ©mÅ¯.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Bron</Attribute>
+            <Attribute name="definition">Informatie over een tweede bron waar de huidige Internetbron is van afgeleid. Bij &quot;Source&quot; mag een datum, auteur of maker, formaat, identificatie of andere metadata voor de tweede bron worden ingevuld. Voorbeeld: het is mogelijk om een &quot;Source&quot; datum 1603 in een omschrijving van een 1996 film bewerking van een Shakespeare stuk te gebruiken. &quot;Source&quot; is niet bruikbaar wanneer de huidige bron de orginele is.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Fonte</Attribute>
+            <Attribute name="definition">Un referentia a un ressource del qual se deriva le ressource presente.</Attribute>
+            <Attribute name="comment">Le ressource presente pote derivar se del ressource-fonte in toto o in parte. Le practica recommendate es facer referentia al ressource per medio de un catena de characteres o un numero conforme a un systema formal de identification.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€à€à€®</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€à€Ÿ à€à€à€® à€žà€Ÿà€à€à€£à€Ÿà€°à€Ÿ à€à€à€
+à€°à¥à€¥à¥ à€žà€à€Šà€°à¥à€­</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ. à€ªà¥à€žà¥à€€à€, à€®à€Ÿà€žà€¿à€,  à€®à€Ÿà€¹à€¿à€€à¥à€à€Ÿà€³à¥à€¯à€Ÿà€µà€°à¥à€² à€ªà€€à¥à€€à€Ÿà€¯à€Ÿà€à€à€Ÿ à€žà€à€Šà€°à¥à€­</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Language">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Language</Attribute>
+            <Attribute name="definition">A language of the intellectual content of the resource.</Attribute>
+            <Attribute language="en" name="comment">Recommended best practice for the values of the Language element is defined by RFC 1766 which includes a two-letter Language Code (taken from the ISO 639 standard, followed optionally, by a two-letter Country Code (taken from the ISO 3166 standard). For example, &apos;en&apos; for English, &apos;fr&apos; for French, or &apos;en-uk&apos; for English used in the United Kingdom.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Reo</Attribute>
+            <Attribute name="definition">Te reo o te whakakaupapatanga o nga matauranga o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tino huarahi kua tohua mo nga uara o te huanga Reo kua whakaritea ki te RFC 1766 [RFC1766] kei roto te Tohu Reo kupu-rua (two-letter Language Code) (no te aro whanui ISO 639 [ISO639], ka taea e tetahi tohu kupu-rua te whai atu (no te aro whanui ISO 3166) [ISO366]). Hei tauira, te &apos;en&apos; mo te English, te &apos;fr&apos; mo te French, &apos;te en-uk&apos; mo te English e whakamahia ana i Ingarangi (UK).</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Langue</Attribute>
+            <Attribute name="definition">La langue du contenu intellectuel de la ressource.</Attribute>
+            <Attribute name="comment">Il est recommandÃ© d&apos;utiliser comme valeur de l&apos;Ã©lÃ©ment Langue celles definies par la RFC 1766 [RFC1766] qui comprend un code de langage Ã  deux caractÃšres(venant du standard ISO 639 [ISO639]), Ã©ventuellement suivi d&apos;un code Ã  deux lettres pour le pays (venant du standard ISO 3166 [ISO3166] ou en franÃ§ais [ISO3166]). Par exemple, &apos;en&apos; pour l&apos;anglais, &apos;fr&apos; pour le franÃ§ais, ou &apos;en-uk&apos; pour l&apos;anglais utilisÃ© au Royaume-Uni.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">Ð¯Ð·ÑÐº</Attribute>
+            <Attribute name="definition">Ð¯Ð·ÑÐº ÐžÐœÑÐµÐ»Ð»ÐµÐºÑÑÐ°Ð»ÑÐœÐŸÐ³ÐŸ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÑÐ»ÐµÐŒÐµÐœÑÐ° Ð¯Ð·ÑÐº, ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÐµÐŒÐŸÐµ RFC 1766 (Ð¢ÑÐ³Ðž ÐŽÐ»Ñ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÐž ÑÐ·ÑÐºÐ°), Ð²ÐºÐ»ÑÑÐ°ÑÑÐžÐŒ ÐŽÐ²ÑÑ
+Ð±ÑÐºÐ²ÐµÐœÐœÑÐ¹ ÐºÐŸÐŽ ÑÐ·ÑÐºÐ° (Ð²Ð·ÑÑÑÐ¹ ÐžÐ· ÑÑÐ°ÐœÐŽÐ°ÑÑÐ° ISO 639 (ÐÐŸÐŽÑ ÐŽÐ»Ñ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐ¹ ÑÐ·ÑÐºÐŸÐ²)), Ð·Ð° ÐºÐŸÑÐŸÑÑÐŒ ÑÐ»ÐµÐŽÑÐµÑ (Ð¿ÑÐž ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸÑÑÐž) ÐŽÐ²ÑÑ
+Ð±ÑÐºÐ²ÐµÐœÐœÑÐ¹ ÐºÐŸÐŽ ÑÑÑÐ°ÐœÑ (Ð²Ð·ÑÑÑÐŒÐž ÐžÐ· ÑÑÐ°ÐœÐŽÐ°ÑÑÐ° ISO 3166 (ÐÐŸÐŽÑ ÐŽÐ»Ñ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐ¹ ÑÑÑÐ°Ðœ)). ÐÐ°Ð¿ÑÐžÐŒÐµÑ, &quot;en&quot; - ÐŽÐ»Ñ Ð°ÐœÐ³Ð»ÐžÐ¹ÑÐºÐŸÐ³ÐŸ, &quot;fr&quot; - ÐŽÐ»Ñ ÑÑÐ°ÐœÑÑÐ·ÑÐºÐŸÐ³ÐŸ, &quot;en-uk&quot; - ÐŽÐ»Ñ Ð°ÐœÐ³Ð»ÐžÐ¹ÑÐºÐŸÐ³ÐŸ, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÐŸÐ³ÐŸ Ð² ÐÐµÐ»ÐžÐºÐŸÐ±ÑÐžÑÐ°ÐœÐžÐž.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Lengua</Attribute>
+            <Attribute name="definition">Lengua/s del contenido intelectual del recurso. Practicamente el contenido de este campo deberÃ­a coincidir con los de la RFC 1766 (Tags para la identificaciÃ³n de lenguas, http://ds.internic.net/rfc/rfc1766.txt); por ejemplo: en, es, de, fi, ja y zh.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙØºØ©</Attribute>
+            <Attribute name="definition">ÙØ°Ù ÙÙ ÙØºØ© Ø§ÙÙ
+Ø­ØªÙÙ Ø§ÙÙÙØ±Ù ÙÙÙ
+ØµØ¯Ø± . ÙÙÙ
+Ø§ ÙØ§Ù  Ø¹Ù
+ÙÙØ§ , Ù
+Ø­ØªÙÙ ÙØžØ§ Ø§ÙØ­ÙÙ ÙØ¬Øš Ø£Ù ÙØªØ·Ø§ØšÙ Ù
+Ø¹ RFC 1766    ] Ø§ÙØ§Ù
+Ø«ÙØ© ØªØ¶Ù
+ th, ja, fr, es, fi, de, en Ù zh ÙØ±Ù
+ÙØ² ÙÙØªØ¹Ø±ÙÙ ØšØ§ÙÙØºØ© [</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">è¯­ç§</Attribute>
+            <Attribute name="definition">æè¿°èµæºç¥è¯å
+å®¹çè¯­ç§ã</Attribute>
+            <Attribute name="comment">å»ºè®®æ¬å
+çŽ çåŒéçšRFC 3066[RFC3066]ïŒè¯¥æ åäžISO 639 [ISO639]äžèµ·å®ä¹äºç±äž€äžªåäžäžªè±    æå­æ¯ç»æçäž»è¯­èšæ ç­Ÿåå­æ ç­ŸäŸåŠå
+æ¬âenâæâengâæ¥è¡šç€ºEnglish, &quot;akk&quot; æ¥è¡šç€º    &quot;en-GB&quot;è¡šç€ºè±åœè±è¯­ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Jazyk</Attribute>
+            <Attribute name="definition">Jazyk intelektuÃ¡lnÃ­ho obsahu zdroje.</Attribute>
+            <Attribute name="comment">DoporuÄenÃœ postup pro hodnoty prvku Jazyk je definovÃ¡n v RFC 1766 [RFC1766]: dvouznakovÃœ kÃ³d jazyka (pÅevzatÃœ z normy ISO 639 [ISO639]) volitelnÄ nÃ¡sledovanÃœ dvouznakovÃœm kÃ³dem zemÄ (pÅevzatÃœm z normy ISO 3166 [ISO3166]). NapÅÃ­klad &apos;en&apos; pro angliÄtinu, &apos;fr&apos; pro francouzÅ¡tinu, &apos;cs&apos; pro ÄeÅ¡tinu, nebo &apos;en-uk&apos; pro angliÄtinu uÅŸÃ­vanou ve SpojenÃ©m krÃ¡lovstvÃ­.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Taal</Attribute>
+            <Attribute name="definition">De taal waarin het document is beschreven. Voorgeschreven wordt de ISO639-1 norm, een twee karakter taalcode van de ISO 639(639-1 en 639-2) norm. Taalcodes kunnen van een lijst worden gekozen: http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt, Eventueel kan ISO3166 (landencodes) gebruikt worden om aan te geven in welk gebied de taal wordt gesproken. Deze kunnen ook van een lijst worden gekozen:  http://www.ics.uci.edu/pub/ietf/http/related/iso3166.txt.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Lingua</Attribute>
+            <Attribute name="definition">Le lingua del contento intellectual del ressource.</Attribute>
+            <Attribute name="comment">Le practica recommendate pro le valores del elemento lingua es definite per RFC 1766 [RFC1766], que include un codice de lingua de duo litteras (prendite del standard ISO 639 [ISO639]), sequite optionalmente per un codice de pais de duo litteras (prendite del standard ISO 3166 [ISO3166]). Per exemplo, &apos;ia&apos; pro interlingua, &apos;fr&apos; pro francese, o &apos;en-uk&apos; pro le anglese del Regno Unite.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€­à€Ÿà€·à€Ÿ</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€­à€Ÿà€·à€Ÿ</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ. à€®à€°à€Ÿà€ à¥ - à€­à€Ÿà€°à€€à¥à€¯ à€­à€Ÿà€·à€Ÿ</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Relation">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Relation</Attribute>
+            <Attribute name="definition">A reference to a related resource.</Attribute>
+            <Attribute name="comment">Recommended best practice is to reference the resource by means of a string or number conforming to a formal identification system.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Whai Panga</Attribute>
+            <Attribute name="definition">He tohutoro ki tetahi rauemi whai panga.</Attribute>
+            <Attribute name="comment">Ko te tino huarahi kua tohua, ko te tohutoro ki te rauemi ma te aho, te tau ranei, e hangai ana ki te punaha taututanga okawa.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Relation</Attribute>
+            <Attribute name="definition">Une rÃ©fÃ©rence Ã  une autre ressource qui a un rapport avec cette ressource.</Attribute>
+            <Attribute name="comment">Il est recommandÃ© de rÃ©fÃ©rencer cette ressource par une chaÃ®ne de caractÃšres ou un numÃ©ro conforme Ã  un systÃšme formel d&apos;identification.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÑÐœÐŸÑÐµÐœÐžÐµ</Attribute>
+            <Attribute name="definition">ï¿œÐµÐœÐœÑÐ¹ ÑÐµÑÑÑÑ.</Attribute>
+            <Attribute name="comment">ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ ÐžÐŽÐµÐœÑÐžÑÐžÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐµÑÑÑÑ Ð¿ÐŸÑÑÐµÐŽÑÑÐ²ÐŸÐŒ ÑÑÑÐŸÐºÐž ÐžÐ»Ðž ÑÐžÑÐ»Ð°, ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐµÐ³ÐŸ ÑÐŸÑÐŒÐ°Ð»ÑÐœÐŸÐ¹ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÐŸÐœÐœÐŸÐ¹ ÑÐžÑÑÐµÐŒÐµ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">RelaciÃ³n</Attribute>
+            <Attribute name="definition">Un identificador de un segundo recurso y su relaciÃ³n con el recurso actual. Este elemento permite enlazar los recursos relacionados y las descripciones de los recursos. Por ejemplo: IsVersionOf - Incluye la ediciÃ³n de un trabajo, IsBasedOn - La traducciÃ³n de un trabajo, IsPartOf - Un capÃ­tulo de un libro, IsFormatOf - Un mecanismo de transformaciÃ³n de un conjunto de datos en una imagen. Para asegurar la interoperabilidad, las relaciones deberÃ­an ser seleccionadas de una lista de elementos que actualmente se encuentra bajo desarrollo en un grupo de trabajo.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙØ¹ÙØ§ÙØ©</Attribute>
+            <Attribute name="definition">ÙØ°Ø§ Ù
+Ø¹Ø±Ù ÙÙÙ
+ØµØ¯Ø± Ø§ÙØ«Ø§ÙÙ Ù Ø¹ÙØ§ÙØªÙ ØšØ§ÙÙ
+ØµØ¯Ø± Ø§ÙØ­Ø§ÙÙ . ÙØ³Ù
+Ø­ ÙØ°Ø§ Ø§ÙØ¹Ø§Ù
+Ù ØšØªÙØ¶ÙØ­ Ø§ÙØ±ÙØ§ØšØ· ØšÙÙ Ø§ÙÙ
+ØµØ§Ø¯Ø± Ø§ÙÙ
+ØªØ¹ÙÙØ©     ØšØšØ¹Ø¶ÙØ§ Ù ØªÙØµÙÙ Ø§ÙÙ
+ØµØ¯Ø± . Ø§ÙØ§Ù
+Ø«ÙØ© ØªØ¶Ù
+ Ø·ØšØ¹Ø© Ø§ÙØ¹Ù
+Ù ) ÙØ³Ø®Ø© Ù
+Ù ( ØªØ±Ø¬Ù
+Ø© Ø¹Ù
+Ù ) Ø§Ø¹ØªÙ
+Ø§Ø¯Ø§ Ø¹ÙÙ ( ÙØµÙ Ù
+Ù ÙØªØ§Øš ) Ø¬Ø²Ø¡ Ù
+Ù (    Ù ØªØ­ÙÙÙÙ Ù
+ÙÙØ§ÙÙÙÙØ© ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ø¹ÙÙÙ
+Ø§ØªÙØ© Ø§ÙÙ ØµÙØ±Ø© ) ØµÙØºØ© Ù
+Ù ( Ù
+Ù Ø£Ø¬Ù Ø§ÙØªØ¹Ø§Ù
+Ù Ø§ÙÙ
+ØŽØªØ±Ù , ÙØ¬Øš Ø§Ø®ØªÙØ§Ø± Ø§ÙØ¹ÙØ§ÙØ§Øª Ù
+Ù    Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+Ø±ÙÙ
+Ø© Ù Ø§ÙØªÙ ÙØªÙ
+ Ø§Ø¹Ø¯Ø§Ø¯ÙØ§ Ø­Ø§ÙÙØ§ Ø¶Ù
+Ù Ø­ÙÙØ§Øª ÙØ±ØŽØ© Ø¹Ù
+Ù</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">å
+³è</Attribute>
+            <Attribute name="definition">æ¶åççžå
+³èµæºã</Attribute>
+            <Attribute name="comment">èåœçžå
+³èµæºæ¶ïŒå»ºè®®äœ¿çšç¬Šåæ­£åŒæ è¯ç³»ç»çå­ç¬Šäž²æè
+æ°å­ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Vztah</Attribute>
+            <Attribute name="definition">Odkaz na pÅÃ­buznÃœ zdroj.</Attribute>
+            <Attribute name="comment">DoporuÄuje se odkazovat zdroj znakovÃœm ÅetÄzcem nebo ÄÃ­slem odpovÃ­dajÃ­cÃ­m nÄkterÃ©mu z formÃ¡lnÃ­ch identifikaÄnÃ­ch systÃ©mÅ¯.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Relatie</Attribute>
+            <Attribute name="definition">Een identificatie van een tweede bron en de relatie met de huide Internetbron. Voorbeelden zijn een editie van een werk (IsVersionOf), een vertaling van een werk (IsBasedOn), een hoofdstuk van een boek (IsPartOf) en een mechanische transformatie van een dataset in een plaatje (IsFormatOf). De DC Working Groups zijn bezig met een lijst met de meest verwachte relaties. Aanbevolen wordt om de relaties van deze lijst te gebruiken: http://purl.oclc.org/metadata/dublin_core/wrelationdraft.html.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="definition">Relation</Attribute>
+            <Attribute name="definition">Un referentia a un ressource correlate.</Attribute>
+            <Attribute name="comment">Le practica recommendate es facer referentia al ressource per medio de un catena de characteres o numero conforme a un systema de identification formal.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€šà€Ÿà€€à¥ , à€žà€à€¬à€à€§</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€¶à¥ à€žà€à€¬à€à€§ à€Šà€Ÿà€à€µà€£à€Ÿà€°à€Ÿ à€žà€à€Šà€°à¥à€­</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ.  à€®à€Ÿà€¹à€¿à€€à¥ à€à€Ÿà€³à¥à€¯à€Ÿà€µà€°à¥à€² à€ªà€€à¥à€€à€Ÿ(URL)</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+        <Element name="isVersionOf">
+            <Attribute language="en" name="label">Is Version Of</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The described resource is a version, edition, or adaptation of the referenced resource. Changes in version imply substantive changes in content rather than differences in format.</Attribute>
+            </Language>
+        </Element>
+        <Element name="hasVersion">
+            <Attribute language="en" name="label">Has Version</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The described resource has a version, edition, or adaptation, namely, the referenced resource.</Attribute>
+            </Language>
+        </Element>
+        <Element name="isReplacedBy">
+            <Attribute language="en" name="label">Is Replaced By</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The described resource is supplanted, displaced, or superseded by the referenced resource.</Attribute>
+            </Language>
+        </Element>
+        <Element name="replaces">
+            <Attribute language="en" name="label">Replaces</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The described resource supplants, displaces, or supersedes the referenced resource.</Attribute>
+            </Language>
+        </Element>
+        <Element name="isRequiredBy">
+            <Attribute language="en" name="label">Is Required By</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The described resource is required by the referenced resource, either physically or logically.</Attribute>
+            </Language>
+        </Element>
+        <Element name="requires">
+            <Attribute language="en" name="label">Requires</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The described resource requires the referenced resource to support its function, delivery, or coherence of content.</Attribute>
+            </Language>
+        </Element>
+        <Element name="isPartOf">
+            <Attribute language="en" name="label">Is Part Of</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The described resource is a physical or logical part of the referenced resource.</Attribute>
+                <Attribute name="comment">Used to describe the relationship between a service and relevant documents (e.g. web pages and forms)</Attribute>
+            </Language>
+        </Element>
+        <Element name="hasPart">
+            <Attribute language="en" name="label">Has Part</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The described resource includes the referenced resource either physically or logically.</Attribute>
+            </Language>
+        </Element>
+        <Element name="isReferencedBy">
+            <Attribute language="en" name="label">Is Referenced By</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The described resource is referenced, cited, or otherwise pointed to by the referenced resource.</Attribute>
+            </Language>
+        </Element>
+        <Element name="references">
+            <Attribute language="en" name="label">References</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The described resource references, cites, or otherwise points to the referenced resource.</Attribute>
+            </Language>
+        </Element>
+        <Element name="isFormatOf">
+            <Attribute language="en" name="label">Is Format Of</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The described resource is the same intellectual content of the referenced resource, but presented in another format.</Attribute>
+            </Language>
+        </Element>
+        <Element name="hasFormat">
+            <Attribute language="en" name="label">Has Format</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The described resource pre-existed the referenced resource, which is essentially the same intellectual content presented in another format.</Attribute>
+            </Language>
+        </Element>
+        <Element name="isBasisFor">
+            <Attribute language="en" name="label">Is Basis For</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The described resource pre-existed the referenced resource, which is a performance, production, derivation, translation, or interpretation of the described resource.</Attribute>
+            </Language>
+        </Element>
+        <Element name="isBasedOn">
+            <Attribute language="en" name="label">Is Based On</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The described resource is a performance, production, derivation, translation, or interpretation of the referenced resource.</Attribute>
+            </Language>
+        </Element>
+    </Element>
+    <Element name="Coverage">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Coverage</Attribute>
+            <Attribute name="definition">The extent or scope of the content of the resource.</Attribute>
+            <Attribute name="comment">Coverage will typically include spatial location (a place name or geographic coordinates), temporal period (a period label, date, or date range) or jurisdiction (such as a named administrative entity). Recommended best practice is to select a value from a controlled vocabulary (for example, the Thesaurus of Geographic Names [TGN]) and that, where appropriate, named places or time periods be used in preference to numeric identifiers such as sets of coordinates or date ranges.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Kapitanga</Attribute>
+            <Attribute name="definition">Te roanga, te whanuitanga ranei o te whakakaupapatanga o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tikanga, ka uru atu te wahi mokowa (te ingoa o tetahi wahi, whakapiritanga matawhenua ranei), whakaritenga wa (he tapatanga wa (period label, ra, whakatakotoranga whanui o nga ra), te whakaritenga ture (penei i te putahi whakahaere). Ko te tino huarahi kua tohua, ko te tipako uara mai i tetahi whakaritenga kupu (hei tauira, i tetahi Puna Kupu Ingoa Matawhenua (Geographic Names [TGN] i nga wahi tika, ko nga wahi me nga whakaritenga wa ka whakamahia i mua i te whakamahitanga o nga taututanga tau penei i nga huinga whakapiritanga me nga whakatakotoranga whanui o nga ra.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Couverture</Attribute>
+            <Attribute name="definition">La portÃ©e ou la couverture spatio-temporelle de la ressource.</Attribute>
+            <Attribute name="comment">La couverture typiquement inclut une position gÃ©ographique (le nom d&apos;un lieu ou ses coordonnÃ©es), une pÃ©riode de temps (un nom de pÃ©riode, une date, ou un intervalle de temps) ou une juridiction (telle que le nom d&apos;une entitÃ© administrative). Il est recommandÃ© de choisir la  valeur de Couverture dans un vocabulaire contrÃŽlÃ© (par exemple, un thÃ©saurus de noms gÃ©ographiques, comme[TGN]) et, quand cela est appropriÃ©, des noms de lieux ou de pÃ©riodes plutÃŽt que des identifiants numÃ©riques tels que des coordonnÃ©es ou des intervalles de dates. </Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÑ
+Ð²Ð°Ñ</Attribute>
+            <Attribute name="definition">ÐÑÐŸÑÑÐ¶ÐµÐœÐœÐŸÑÑÑ Ðž Ð³ÑÐ°ÐœÐžÑÑ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÑ
+Ð²Ð°Ñ ÐŸÐ±ÑÐºÐœÐŸÐ²ÐµÐœÐœÐŸ Ð²ÐºÐ»ÑÑÐ°ÐµÑ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐµÐœÐœÐŸÐµ ÐŒÐµÑÑÐŸÐœÐ°Ñ
+ÐŸÐ¶ÐŽÐµÐœÐžÐµ (ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµ ÐŒÐµÑÑÐœÐŸÑÑÐž ÐžÐ»Ðž Ð³ÐµÐŸÐ³ÑÐ°ÑÐžÑÐµÑÐºÐžÐµ ÐºÐŸÐŸÑÐŽÐžÐœÐ°ÑÑ), Ð²ÑÐµÐŒÐµÐœÐœÐŸÐ¹ Ð¿ÑÐŸÐŒÐµÐ¶ÑÑÐŸÐº (ÑÐºÐ°Ð·Ð°ÐœÐžÐµ Ð¿ÐµÑÐžÐŸÐŽÐ°, ÐŽÐ°ÑÐ° ÐžÐ»Ðž ÑÑÐŽ ÐŽÐ°Ñ) ÐžÐ»Ðž ÑÑÐžÑÐŽÐžÐºÑÐžÑ (ÑÐºÐ°Ð·Ð°ÐœÐžÐµ ÐµÐŽÐžÐœÐžÑÑ Ð°ÐŽÐŒÐžÐœÐžÑÑÑÐ°ÑÐžÐ²ÐœÐŸÐ³ÐŸ ÐŽÐµÐ»ÐµÐœÐžÑ). ÐÐ° Ð¿ÑÐ°ÐºÑÐžÐºÐµ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ Ð²ÑÐ±ÐžÑÐ°ÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐžÐ· ÐºÐŸÐœÑÑÐŸÐ»ÐžÑÑÐµÐŒÐŸÐ³ÐŸ ÑÐ»ÐŸÐ²Ð°ÑÑ (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, Ð¢ÐµÐ·Ð°ÑÑÑÑÐ° Ð³ÐµÐŸÐ³ÑÐ°ÑÐžÑÐµÑÐºÐžÑ
+ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐ¹ TGN), Ðž, ÐµÑÐ»Ðž ÑÑÐŸ ÑÐŒÐµÑÑÐœÐŸ, Ð¿ÑÐµÐŽÐ¿ÐŸÑÑÐµÐœÐžÐµ ÐŸÑÐŽÐ°ÐµÑÑÑ ÑÐºÐ°Ð·Ð°ÐœÐžÑÐŒ ÐŒÐµÑÑÐœÐŸÑÑÐµÐ¹ ÐžÐ»Ðž Ð²ÑÐµÐŒÐµÐœÐœÑÑ
+ Ð¿ÑÐŸÐŒÐµÐ¶ÑÑÐºÐŸÐ² Ð²ÐŒÐµÑÑÐŸ ÑÐžÑÑÐŸÐ²ÑÑ
+ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐŸÑÐŸÐ², ÐºÐ°Ðº, ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, ÑÐžÑÑÐµÐŒ ÐºÐŸÐŸÑÐŽÐžÐœÐ°Ñ ÐžÐ»Ðž Ð²ÑÐµÐŒÐµÐœÐœÑÑ
+ ÑÑÐŽÐŸÐ².</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Cobertura</Attribute>
+            <Attribute name="definition">La caracterÃ­stica de cobertura espacial y/o temporal del contenido intelectual del recurso. La cobertura espacial se refiere a una regiÃ³n fÃ­sica (por ejemplo, sector celestial); uso de coordenadas (por ejemplo, longitud y latitud) o nombres de lugares extraidos de una lista controlada. La cobertura temporal se refiere al contenido del recurso en vez de a cuando fue creado o puesto accesible ya que este Ãºltimo pertenece al elemento Date. Se usa el mismo formato basado en http://www.w3.org/TR/NOTE-datetime.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙØªØºØ·ÙØ©</Attribute>
+            <Attribute name="definition">ÙÙ Ø§ÙØ®ØµØ§ØŠØµ Ø§ÙÙ
+ÙØ§ÙÙØ© Ø§Ù Ø§ÙØ²Ù
+ÙÙØ© ÙÙÙ
+Ø­ØªÙÙ Ø§ÙÙÙØ±Ù ÙÙÙ
+ØµØ¯Ø± . Ø§ÙØªØºØ·ÙØ© Ø§ÙÙ
+ÙØ§ÙÙØ© ØªØŽÙØ± Ø§ÙÙ Ø¬ÙØ© Ø·ØšÙØ¹ÙØ© )Ù
+Ø«Ù , ÙØ·Ø§Ø¹ Ø³Ù
+Ø§ÙÙ (    Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙØ§Ø­Ø¯Ø§Ø«ÙØ§Øª ) Ù
+Ø«Ù  Ø®Ø· Ø§ÙØ·ÙÙ Ù Ø®Ø· Ø§ÙØ¹Ø±Ø¶ ( ÙÙ Ø£Ø³Ù
+Ø§Ø¡ Ø§Ù
+ÙÙØ© Ù
+Ø³ØªØ­ÙÙ
+Ø© Ø§Ù Ù
+ØªØ¬ÙØ§Øª ØšØ§ÙÙØ§Ù
+Ù . Ø§ÙØªØºØ·ÙØ© Ø§ÙØ²Ù
+ÙÙØ©    Ø«Ø¹ÙØ¯ Ø§ÙÙ Ù
+Ø§ ÙØ±Ø¬Ø¹ Ø§ÙÙÙ Ø§ÙÙ
+ØµØ¯Ø± Ù ÙÙØ³ Ø§Ù Ù
+ØªÙ ØªÙ
+ ØªÙÙÙØ±Ù ) Ø§ÙØ§Ø®ÙØ± ÙØªØ¹ÙÙ ØšØ¹Ø§Ù
+Ù Ø§ÙØªØ§Ø±ÙØ® ( Ø§Ø³ØªØ®Ø¯Ø§Ù
+ ÙÙØ³ ØµÙØºØ© Ø§ÙØªØ§Ø±ÙØ®  Ø§Ù Ø§ÙÙÙØª    ) Ø¹Ø§Ø¯Ø© Ù
+Ø¯Ù ] ( ØµÙØ§ØºØ§Øª Ø§ÙÙÙÙ
+ Ù Ø§ÙÙÙØª ) Ø§Ø¹ØªÙ
+Ø§Ø¯Ø§ Ø¹ÙÙ (ISO 8601 Ø§ÙÙ
+ÙØ§Ø­ØžØ© Ø§ÙÙÙÙØ© [http://www.w3.org/TR/NOTE-datetime, W3C    ÙÙ
+Ø§ ÙÙ Ù
+ÙØµÙ ØšÙ ÙØ¹Ø§Ù
+Ù Ø§ÙØªØ§Ø±ÙØ® Ø§Ù ÙØªØ±Ø§Øª Ø²Ù
+ÙÙØ© Ù
+Ù ÙØ§ØŠÙ
+Ø© Ù
+Ø³ØªØ­ÙÙ
+Ø© Ø§Ù Ù
+ØªØ¬ÙØ§Øª ØšØ§ÙÙØ§Ù
+Ù</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">èŠçèåŽ</Attribute>
+            <Attribute name="definition">èµæºå
+å®¹ææ¶åçå€å»¶äžèŠçèåŽ</Attribute>
+            <Attribute name="comment">èŠçèåŽäžè¬å
+æ¬ç©ºéŽäœçœ®ïŒäžäžªå°åæå°çåæ ïŒãæ¶éŽåºéŽïŒäžäžªæ¶éŽæ è¯ïŒæ¥ææäžäžªæ¥æè    åŽïŒãæè
+æéïŒæ¯åŠåœåçææå®äœïŒæšèèŠçèåŽæå¥œæ¯åèªäºäžäžªåæ§è¯è¡šïŒäŸåŠå°åè¯åº    [TGN]ïŒïŒå¹¶åºå°œå¯èœå°äœ¿çšç±æ°å­è¡šç€ºçåæ ææ¥æåºéŽæ¥æè¿°å°åäžæ¶éŽæ®µã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">PokrytÃ­</Attribute>
+            <Attribute name="definition">Rozsah nebo zÃ¡bÄr obsahu zdroje.</Attribute>
+            <Attribute name="comment">PokrytÃ­ bude typicky obsahovat prostorovÃ© umÃ­stÄnÃ­ (jmÃ©no mÃ­sta nebo zemÄpisnÃ© souÅadnice), ÄasovÃ© obdobÃ­ (oznaÄenÃ­ obdobÃ­, datum nebo ÄasovÃœ interval) nebo jurisdikci (napÅ. jmÃ©no administrativnÃ­ jednotky). DoporuÄuje se vybÃ­rat hodnotu z ÅÃ­zenÃ©ho slovnÃ­ku (napÅ. Thesaurus of Geographic Names [TGN]) a tam, kde je to vhodnÃ©, uvÃ¡dÄt mÃ­sta nebo ÄasovÃ© Ãºseky spÃ­Å¡e jmÃ©nem neÅŸ ÄÃ­selnÃœmi identifikÃ¡tory jako jsou soubory souÅadnic nebo ÄasovÃ© intervaly.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Dekking</Attribute>
+            <Attribute name="definition">De ruimtelijke of tijdelijke karakteristieken van de intellectuele inhoud van de Internetbron. Ruimtelijke dekking verwijst naar een geografisch gebied. Gebruik coordinaten (longitude (lengtegraad) en latitude (breedtegraad)) of plaatsnamen die van een gecontroleerde lijst komen of volledig uitgeschreven zijn. Dekking in de tijd geeft de tijdsperiode aan waarop de inhoud van de Internetbron betrekking heeft en niet wanneer de Internetbron is gemaakt of beschikbaar is gesteld (dit laatste hoort ingevult te worden bij &quot;Date&quot;). Gebruik dezelfde datum/tijd formaat als bij &quot;Date&quot;; W3C Technical Note http://www.w3.org/TR/NOTE-datetime of tijdsperioden die van een gecontroleerde lijst komen of volledig uitgeschreven zijn. Coverage is in ontwikkeling bij de Dublin Core Working group http://www.alexandria.ucsb.edu/docs/metadata/dc_coverage.html.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Copertura</Attribute>
+            <Attribute name="definition">Le extension physic o abstracte del contento del ressource.</Attribute>
+            <Attribute name="comment">Le copertura typicamente include un location spatial (un nomine de localitate o coordinatas geographic), un periodo de tempore (un etiquetta de periodo, data, o gamma de datas), o un jurisdiction (tal como un entitate administrative nominate). Le practica recommendate es selectionar un valor a partir de un vocabulario controlate (per exemplo, le Thesaurus of Geographical Names [TGN]) e que, quando appropriate, localitates o periodos de tempore nominate sia utilizate in preferentia a identificatores numeric tales como collectiones de coordinatas o gammas de datas.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€µà¥à€¯à€Ÿà€ªà¥à€€à¥</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€­à¥à€à¥à€²à€¿à€  à€®à€Ÿà€¹à€¿à€€à¥</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ. à€­à¥à€à¥à€²à€¿à€ à€µà¥à€¯à€Ÿà€ªà¥à€€à¥</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+        <Element name="jurisdiction">
+            <Attribute language="en" name="label">Jurisdiction</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">The name of the political/administrative entity covered by the content of the resource.</Attribute>
+                <Attribute name="comment">Jurisdiction is a description of the territory over which a particular government exercises its authority or a particular business transacts its operations, to which the resource content is applicable.</Attribute>
+            </Language>
+        </Element>
+        <Element name="spatial">
+            <Attribute language="en" name="label">Spatial</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">Spatial characteristics of the intellectual content of the resource.</Attribute>
+                <Attribute name="comment">Spatial (geographic) coverage or locations or areas covered in the content of a resource. Use of the New Zealand Geographic Place Names Database (LINZ) may be appropriate. In some cases the DCMI Box Encoding Scheme may be suitable. Refer: http//dublincore.org.documents/2000/07/28/dcmi-box/</Attribute>
+            </Language>
+        </Element>
+        <Element name="temporal">
+            <Attribute language="en" name="label">Temporal</Attribute>
+            <Attribute language="en" name="qualifier type">element refinement</Attribute>
+            <Language code="en">
+                <Attribute name="definition">Temporal characteristics of the intellectual content of the resource.</Attribute>
+                <Attribute name="comment">The refinement &amp;quot;temporal&amp;quot; refers to time periods that are covered by or discussed in the content of resource. Time periods will generally be best expressed as date ranges, although named periods may be appropriate. The recommended encoding schemes for dates and date ranges are noted in the section on Date.</Attribute>
+            </Language>
+        </Element>
+    </Element>
+    <Element name="Rights">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Rights Management</Attribute>
+            <Attribute name="definition">Information about rights held in and over the resource.</Attribute>
+            <Attribute name="comment">Typically, a Rights element will contain a rights management statement for the resource, or reference a service providing such information. Rights information often encompasses Intellectual Property Rights (IPR), Copyright, and various Property Rights. If the Rights element is absent, no assumptions can be made about the status of these and other rights with respect to the resource.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Motika</Attribute>
+            <Attribute name="definition">Ko nga mohiohio ki nga motika o tetahi rauemi.</Attribute>
+            <Attribute name="comment">Ko te tikanga, kei te huanga Motika e pupuri ana he korero mo te whakaritenga motika mo te rauemi, he ratonga tohutoro e whakarato ana ranei i enei tumomo mohiohio. He nui nga wa, puta ai i roto i te mohiohio Motika te Mana Whakairo Hinegaro (Intellectual Property Rights - (IPR)), te Manatarua me nga Tuahua Mana Taonga (Property Rights). Ki te kore te huanga Motika, kaore e taea te pohehe noa ki te mana o enei, nga motika ranei e pa ana ki te rauemi.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Droits</Attribute>
+            <Attribute name="definition">Information sur les droits sur et au sujet de la ressource.</Attribute>
+            <Attribute name="comment">Typiquement, un Ã©lÃ©ment Droits contiendra un Ã©tat du droit Ã  gÃ©rer une ressource, ou la refÃ©rence Ã  un service fournissant cette information. Ces droits souvent couvrent les droits de propriÃ©tÃ© intellectuelle (IPR), Copyright, et divers droits de propriÃ©tÃ©. Si l&apos;Ã©lÃ©ment Droits est absent, aucune hypothÃšse ne peut Ãªtre faite sur l&apos;Ã©tat de ces droits, ou de tout autre, par rapport Ã  la ressource.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÑÐ°Ð²ÐŸÐ²ÐŸÐµ ÑÐµÐ³ÑÐ»ÐžÑÐŸÐ²Ð°ÐœÐžÐµ</Attribute>
+            <Attribute name="definition">ÐÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸ Ð¿ÑÐ°Ð²Ð°Ñ
+ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ, ÑÐŸÐŽÐµÑÐ¶Ð°ÑÐ°ÑÑÑ Ð²ÐœÑÑÑÐž Ðž Ð²ÐœÐµ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ±ÑÑÐœÐŸ ÑÐ»ÐµÐŒÐµÐœÑ ÐÑÐ°Ð²Ð° ÑÐŸÐŽÐµÑÐ¶ÐžÑ Ð¿ÐŸÐ»ÐŸÐ¶ÐµÐœÐžÐµ ÐŸ Ð¿ÑÐ°Ð²ÐŸÐ²ÑÑ
+ ÐœÐŸÑÐŒÐ°Ñ
+, ÑÐµÐ³ÑÐ»ÐžÑÑÑÑÐžÑ
+ ÑÑÐœÐºÑÐžÐŸÐœÐžÑÐŸÐ²Ð°ÐœÐžÐµ ÑÐµÑÑÑÑÐ° ÐžÐ»Ðž ÑÑÑÐ»ÐºÑ ÐœÐ° ÑÐ»ÑÐ¶Ð±Ñ, Ð¿ÑÐµÐŽÐŸÑÑÐ°Ð²Ð»ÑÑÑÑÑ ÑÑÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ. ÐÑÐ°Ð²ÐŸÐ²Ð°Ñ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸÐ±ÑÑÐœÐŸ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÑÐ²ÐµÐŽÐµÐœÐžÑ ÐŸ ÐÑÐ°Ð²Ð°Ñ
+ ÐžÐœÑÐµÐ»Ð»ÐµÐºÑÑÐ°Ð»ÑÐœÐŸÐ¹ ÑÐŸÐ±ÑÑÐ²ÐµÐœÐœÐŸÑÑÐž, ÐÐ²ÑÐŸÑÑÐºÐŸÐŒ Ð¿ÑÐ°Ð²Ðµ Ðž ÐŽÑÑÐ³ÐžÑ
+ ÐÐŒÑÑÐµÑÑÐ²ÐµÐœÐœÑÑ
+ Ð¿ÑÐ°Ð²Ð°Ñ
+. ÐÑÑÑÑÑÑÐ²ÐžÐµ ÑÐ»ÐµÐŒÐµÐœÑÐ° ÐÑÐ°Ð²Ð° ÐœÐµ ÐŒÐŸÐ¶ÐµÑ ÑÐ²Ð»ÑÑÑÑÑ ÐŸÑÐœÐŸÐ²Ð°ÐœÐžÐµÐŒ ÐŽÐ»Ñ ÐºÐ°ÐºÐžÑ
+-Ð»ÐžÐ±ÐŸ Ð¿ÑÐµÐŽÐ¿ÐŸÐ»ÐŸÐ¶ÐµÐœÐžÐ¹ ÐŸ Ð¿ÑÐ°Ð²ÐŸÐ²ÐŸÐŒ ÑÑÐ°ÑÑÑÐµ Ðž ÐŽÑÑÐ³ÐžÑ
+ Ð¿ÑÐ°Ð²Ð°Ñ
+, ÐºÐ°ÑÐ°ÑÑÐžÑ
+ÑÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Derechos</Attribute>
+            <Attribute name="definition">Una referencia (URL, por ejemplo) para una nota sobre derechos de autor, para un servicio de gestiÃ³n de derechos o para un servicio que darÃ¡ informaciÃ³n sobre tÃ©rminos y condiciones de acceso a un recurso. Una especificaciÃ³n formal del elemento Rights se encuentra catualmente en discusiÃ³n y por lo tanto su uso se considera experimental.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø­ÙÙÙ Ø§ÙØ§Ø¯Ø§Ø±Ø©</Attribute>
+            <Attribute name="definition">ÙÙ Ø§ÙØ§Ø¯Ø© Ø­ÙÙÙ Ø§ÙØ§Ø¯Ø§Ø±Ø© , Ù
+Ø¹Ø±Ù Ù
+Ø±ØªØšØ· ØšØ§ÙØ§Ø¯Ø© Ø­ÙÙÙ Ø§ ÙØ§Ø¯Ø§Ø±Ø© , Ù
+Ø¹Ø±Ù Ù
+Ø±ØªØšØ· ØšØ®Ø¯Ù
+Ø© ØªÙØ¯Ù
+ Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø¹Ù Ø­ÙÙÙ Ø§ÙØ§Ø¯Ø§Ø±Ø© Ø§ÙØ®Ø§ØµØ© ØšØ§ÙÙ
+ØµØ¯Ø±</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">æé</Attribute>
+            <Attribute name="definition">æå
+³èµæºæ¬èº«ææçæè¢«èµäºçæéä¿¡æ¯</Attribute>
+            <Attribute name="comment">äžè¬èèšïŒæéå
+çŽ åºå
+æ¬äžäžªå¯¹èµæºçæéå£°æïŒæè
+æ¯å¯¹æäŸè¿äžä¿¡æ¯çæå¡çåç
+§ãæéäžè¬    å
+æ¬ç¥è¯äº§æ(IPR)ïŒçææå
+¶ä»åç§åæ ·çäº§æãåŠææ²¡ææéå
+çŽ çæ æ³šïŒäžå¯ä»¥å¯¹äžèµæºçžå
+³    çäžè¿°æå
+¶ä»æå©çæ
+åµäœåºä»»äœåå®ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">PrÃ¡va</Attribute>
+            <Attribute name="definition">Informace o prÃ¡vech vztahujÃ­cÃ­ch se k popisovanÃ©mu zdroji.</Attribute>
+            <Attribute name="comment">Prvek PrÃ¡va bude typicky obsahovat ustanovenÃ­ o sprÃ¡vÄ autorskÃœch/vlastnickÃœch prÃ¡v ke zdroji nebo odkaz na sluÅŸbu poskytujÃ­cÃ­ takovÃ©to informace. Informace o prÃ¡vech Äasto zahrnujÃ­ prÃ¡va duÅ¡evnÃ­ho vlastnictvÃ­ (IPR), autorskÃ© prÃ¡vo a rÅ¯znÃ¡ vlastnickÃ¡ prÃ¡va. JestliÅŸe prvek PrÃ¡va chybÃ­, nelze odvozovat ÅŸÃ¡dnÃ© pÅedpoklady o stavu tÄchto a jinÃœch prÃ¡v vztahujÃ­cÃ­ch se k popisovanÃ©mu zdroji.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Copyright</Attribute>
+            <Attribute name="definition">Een copyright verklaring of een link naar een copyright verklaring of een link naar een service die informatie geeft over de copyright van de Internetbron.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Gestion de derectos</Attribute>
+            <Attribute name="definition">Information super derectos detenite super e a proposito del ressource.</Attribute>
+            <Attribute name="comment">Typicamente le elemento derectos continera un declaration de gestion de derectos pro le ressource, o un referentia a un servicio que provide tal information. Information de derectos frequentemente involve derectos de proprietate intellectual (IPR), copyright e varie derectos de proprietate. Si le elemento Derectos es absente, necun hypothese pote esser facite quanto al stato de iste e altere derectos concernente ressource.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€¹à€à¥à€</Attribute>
+            <Attribute name="definition">à€¬à¥à€§à¥à€Šà€¿à€ à€žà€à€ªà€Šà¥à€à€Ÿà€¹à€à¥à€</Attribute>
+            <Attribute name="comment">à€žà¥à€µà€€à€à€¹à€Ÿà€à¥ à€²à¥à€à€š à€à€Ÿà€ªà¥à€š à€
+à€¥à€µà€Ÿ à€®à€Ÿà€¹à€¿à€€à¥à€à€Ÿà€³à¥à€¯à€Ÿà€µà€° à€ªà¥à€°à€à€Ÿà€¶à€¿à€€ à€à€°à€£à¥à€¯à€Ÿà€à€Ÿ à€²à¥à€à€ à€
+à€¥à€µà€Ÿ à€²à¥à€à€¿à€à¥à€à€Ÿ à€¬à¥à€§à¥à€Šà€¿à€ à€žà€à€ªà€Šà¥à€à€Ÿà€¹à€à¥à€</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+</MetadataSet>
Index: main/tags/2.83/gli/metadata/qdublin.mds
===================================================================
--- main/tags/2.83/gli/metadata/qdublin.mds	(revision 21123)
+++ main/tags/2.83/gli/metadata/qdublin.mds	(revision 21123)
@@ -0,0 +1,2222 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE MetadataSet SYSTEM "http://www.greenstone.org/dtd/MetadataSet/1.0/MetadataSet.dtd">
+<MetadataSet contact="dcmi-feedback@dublincore.org" creator="Dublin Core Metadata Initiative" family="Dublin Core" language_dependent="label, definition, comment" lastchanged="Apr 01 14:40:36 NZST 2009 - kjdon on kanuka" namespace="dc">
+    <!-- English Version sourced from http://www.dublincore.org/documents/dcmi-terms/ -->
+    <SetLanguage code="en">
+        <Name language="en">Qualified Dublin Core Metadata Element Set, Version 1.1: Reference Description</Name>
+        <Description language="en">This document is the reference description, version 1.1 of the Dublin Core Metadata Element Set. This document supersedes the Dublin Core Metadata Element Set, version 1.0. See the Dublin Core Home Page (http://dublincore.org) for further information about the workshops, reports, working group papers, projects, and new developments concerning the Dublin Core Metadata Element set</Description>
+    </SetLanguage>
+    <!-- Maori Version sourced from http://www.tki.org.nz/r/maori/pedagogy/dc_elements_m.php -->
+    <SetLanguage code="mi">
+        <Name>Qualified Dublin Core Huanga - Maori (He Tauira)</Name>
+    </SetLanguage>
+    <!-- French Version sourced from http://www-rocq.inria.fr/%7Evercoust/METADATA/DC-fr.1.1.html -->
+    <!--  by Anne-Marie Vercoustre, Inria -->
+    <SetLanguage code="fr">
+        <Name language="fr">ElÃ©ments de mÃ©tadonnÃ©es du Qualified Dublin Core, Version 1.1: Description de RÃ©ference</Name>
+        <Description language="fr">Ce document rÃ©sume les derniÃšres dÃ©finitions des Ã©lÃ©ments demÃ©tadonnÃ©es du Dublin Core originellement dÃ©finis dans le document[RFC2413]. Ces nouvelles dÃ©finitions seront officiellement connues comme la Version 1.1. Elles utilisent un standard dÃ©fini formellement pour la description d&apos;Ã©lÃ©ments de mÃ©tadonnÃ©es. Cette formalisation contribue Ã  amÃ©liorer la cohÃ©rence avec d&apos;autres communautÃ©s dÃ©crivant des mÃ©tadonnÃ©es et Ã  augmenter la prÃ©cision, la portÃ©e et la cohÃ©rence interne de la dÃ©finition des Ã©lÃ©ments du Dublin Core.</Description>
+    </SetLanguage>
+    <!-- Russian Version sourced from -->
+    <!-- by Olga Barysheva, National Library of Russia -->
+    <SetLanguage code="ru">
+        <Name language="ru">ÐÐ°Ð±ÐŸÑ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Qualified Dublin Core (ÐÑÐ±Ð»ÐžÐœÑÐºÐŸÐ³ÐŸ ÑÐŽÑÐ°) ÐÐµÑÑÐžÑ 1.1: Ð¡Ð¿ÑÐ°Ð²ÐŸÑÐœÐŸÐµ ÐŸÐ¿ÐžÑÐ°ÐœÐžÐµ</Name>
+        <Description language="ru">ÐÐ°ÑÑÐŸÑÑÐžÐ¹ ÐŽÐŸÐºÑÐŒÐµÐœÑ ÐŸÐ±ÐŸÐ±ÑÐ°ÐµÑ ÐŸÐ±ÐœÐŸÐ²Ð»ÐµÐœÐœÑÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÑ ÑÐ»ÐµÐŒÐµÐœÑÐŸÐ² ÐŒÐµÑÐ°ÐŽÐ°ÐœÐœÑÑ
+ Dublin Core (ÐÑÐ±Ð»ÐžÐœÑÐºÐŸÐ³ÐŸ ÑÐŽÑÐ°), Ð¿ÐµÑÐ²ÐŸÐœÐ°ÑÐ°Ð»ÑÐœÐŸ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐœÑÑ
+ Ð² RFC2413 (ÐÐµÑÐ°ÐŽÐ°ÐœÐœÑÐµ Dublin Core ÐŽÐ»Ñ ÐœÐ°Ñ
+ÐŸÐ¶ÐŽÐµÐœÐžÑ ÑÐµÑÑÑÑÐŸÐ²). Ð­ÑÐž ÐœÐŸÐ²ÑÐµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÑ ÐŸÑÐžÑÐžÐ°Ð»ÑÐœÐŸ ÐžÐ·Ð²ÐµÑÑÐœÑ ÐºÐ°Ðº ÐÐµÑÑÐžÑ 1.1.</Description>
+    </SetLanguage>
+    <!-- Spanish Version sourced from http://www.rediris.es/metadata/. Please note that this is a translation for Dublin Core v1.0 -->
+    <!-- by Javi Masa, RedIRIS -->
+    <SetLanguage code="es">
+        <Name language="es">Elementos del conjunto de metadatas de Qualified Dublin Core: DescripciÃ³n de Referencia</Name>
+        <Description language="es">Este documento corresponde a una traducciÃ³n del original en lengua inglesa, con fecha 02/11/1997 que se encuentra en http://purl.org/metadata/dublin_core_elements. Este documento es una descripciÃ³n de referencia de los elementos del conjunto de &quot;Dublin Core&quot;. Para mÃ¡s informaciÃ³n sobre reuniones de trabajo, documentos de trabajo, proyectos y nuevos desarrollos relacionados con el conjunto de elementos que aquÃ­ se describen consultar la &quot;Home Page&quot; de &quot;Dublin Core&quot; (http://purl.org/metadata/dublin_core). Los elementos poseen nombres descriptivos que pretenden transmitir un significado semÃ¡ntico a los mismos. Para promover una interoperabilidad global, una descripciÃ³n del valor de algunos elementos prodrÃ¡ ser asociada a vocabularios controlados. Se asume que otros vocabularios controlados serÃ¡n desarrollados para asegurar esta interoperabilidad en dominios especÃ­ficos. Cada elemento es opcional y puede repetirse. AdemÃ¡s, los elementos pueden aparecer en cualquier orden. Aunque algunos entornos, como HTML, no diferencian entre mayÃºsculas y minÃºsculas, es recomendable escribir correctamente cada metadata segÃºn su definiciÃ³n para evitar conflictos con otros entornos, como XML (Extensible Markup Language) http://www.w3.org/TR/PR-xml</Description>
+    </SetLanguage>
+    <!-- Arabic Version sourced from http://haddouti.de/DC_arabic.html -->
+    <!-- maintained by Hachim Haddouti. -->
+    <SetLanguage code="ar">
+        <Name>Ø¯ØšÙÙÙ ÙÙØ± (Qualified)</Name>
+        <Description>ÙØ±Ø­Øš ØšÙÙ
+ ÙÙ ØµÙØ­Ø©  Ø¯ ØšÙÙÙ ÙÙ  Ø± ØšØ§ÙØ¹Ø±ØšÙ    ÙÙ  ÙØ°Ù Ø§ÙØµÙØ­Ø©  Ù ØšØ§ÙØªØ¹Ø§ÙÙ Ù
+Ø¹ Ø§ÙØ§Ø®ÙØ§Ù Ø§ÙØ¹Ø±Øš Ù
+Ù Ø§ÙÙ
+ÙØªØšØ§ØªØ Ø¯Ø§Ø± Ø§ÙÙØŽØ±Ø Ø§ÙØšØ­ÙØ« Ø§ÙØ¹ÙÙ
+ÙØ© Ù    ÙØ±ØŽØ© Ø¹Ù
+ÙWorking Group On Multilingual Dublin Core (DC-International) Ø</Description>
+    </SetLanguage>
+    <!-- Chinese - Simplified Version from http://dc.library.sh.cn/DC/1-1.htm -->
+    <!-- by Liu Wei, Shanghai Library -->
+    <SetLanguage code="cn">
+        <Name>éœæææ žå¿å
+æ°æ®å
+çŽ é1.1çïŒåèæè¿° (Qualified)</Name>
+        <Description>æ¬ææ¡£å
+³äºéœæææ žå¿å
+æ°æ®å
+çŽ é1.1çæ¬çåèæè¿°ãæ­€æè¿°äžå·²ç»æäº€ç»ISOçšäºåœé
+æç¥šçNISOå®æ¹æ åä¿æäžèŽã    éœæææ žå¿å
+æ°æ®éæ¯äžç§è·šé¢åçä¿¡æ¯èµæºæè¿°æ åãè¿éçä¿¡æ¯èµæºè¢«å®ä¹äžºâä»»äœå
+·ææ è¯çäžè¥¿âãæ­€å®ä¹æ¥èªäºTim Berners-Leeç­äººæèçInternet RFC2396 &quot;Uniform Resource Identifiers (URI): Generic Syntax&quot;æä»¶ãéœæææ žå¿å
+æ°æ®çåºçšé¢åæ²¡ææ ¹æ¬çéå¶ã</Description>
+    </SetLanguage>
+    <!-- Czech Version from http://www.ics.muni.cz/dublin_core/DC-czech-1.1.html -->
+    <!-- Ustav vypocetni techniky Masarykovy univerzity v Brne -->
+    <SetLanguage code="cs">
+        <Name>Soubor metadatovÃœch prvkÅ¯ Qualified Dublin Core, verze 1.1: referenÄnÃ­ popis</Name>
+        <Description>Tento dokument je ÄeskÃœm pÅekladem anglickÃ© verze referenÄnÃ­ho popisu souboru metadatovÃœch prvkÅ¯  Dublin Core, verze 1.1 [DCEN1.1]. Tento dokument nahrazuje ÄeskÃœ pÅeklad souboru metadatovÃœch prvkÅ¯ Dublin Core, verze 1.0 [DCCS1.0]. DalÅ¡Ã­ informace o pracovnÃ­ch seminÃ¡ÅÃ­ch (workshopech), zprÃ¡vÃ¡ch, studiÃ­ch pracovnÃ­ch skupin, projektech a dalÅ¡Ã­m vÃœvoji souboru metadatovÃœch prvkÅ¯ Dublin Core najdete na domovskÃ© strÃ¡nce Dublin Core (http://purl.org/dc)</Description>
+    </SetLanguage>
+    <!-- Dutch Version from http://www.kb.nl/coop/donor/project-nl-index.html?/coop/donor/rapporten/DCsimpleformat.html -->
+    <!-- by ... -->
+    <SetLanguage code="nl">
+        <Name>Rapporten Qualified Dublin Core Simple Format</Name>
+        <Description>Dit document beschrijft welke Dublin Core metadata elementen er zijn en geeft een korte definitie van elk element. Voor uitgebreide uitleg en gebruik van de Dublin Core elementen wordt u verwezen naar de gebruikershandleiding. Deze vertaling geeft ook de keuzes aan voor standaarden (taalcodes, datum codes) die wij in DONOR verband gaan hanteren. In zoverre kan deze vertaling afwijken van het oorspronkelijke document &quot;Description of Dublin Core Elements&quot; http://purl.org/metadata/dublin_core_elements&quot;</Description>
+    </SetLanguage>
+    <!-- Finnish Version from http://www.lib.helsinki.fi/dublin_core/dcref-fin.html -->
+    <!-- by Jani Stenvall and Juha Hakala, Helsinki University Library -->
+    <SetLanguage code="fi">
+        <Name/>
+        <Description/>
+    </SetLanguage>
+    <!-- Interlingua Version sourced from http://www.nautilus.com.br/%7Eensjo/ia/purl.org/dc/documents/rec-dces-19990702.htm -->
+    <!-- by Emerson Jose` Silveira da Costa -->
+    <SetLanguage code="ia">
+        <Name>Collection de elementos de metadatos de Qualified Dublin Core, version 1.1: Description de referentia</Name>
+        <Description>Isto es un traduction de un Recommendation del Dublin Core Metadata Initiative. Le publication como un recommendation significa que le specificationes es stabile e su adoption es supportate per le communitate Dublin Core (http://purl.org/dc/).</Description>
+    </SetLanguage>
+    <!-- Marathi Version sourced from http://bioinfo.ernet.in/library/dc/ele.txt -->
+    <!-- by by Shubhada Nagarkar, Bioinformatics Centre, University of Pune -->
+    <SetLanguage code="mr">
+        <Name>à€¡à€¬à¥à€²à€¿à€š à€à¥à€° à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€žà¥à€ à€à€µà¥à€€à¥à€€à¥ à¥§.à¥§ à€žà€à€Šà€°à¥à€­ à€žà¥à€ªà€·à¥à€à¥à€à€°à€£ à¥§.à¥§ à€¡à€¬à¥à€²à€¿à€š à€à¥à€° à€®à¥à€à€Ÿà€¡à¥à€à€Ÿà€à€µà¥à€€à¥à€€à¥ à¥§.à¥§. (Qualified)</Name>
+        <Description>à¥§.à¥§ à€¡à€¬à¥à€²à€¿à€š à€à¥à€° à€®à¥à€à€Ÿà€¡à¥à€à€Ÿ à€¹à¥ à€µà¥à€à€µà¥à€à€³à¥à€¯à€Ÿ à€µà€¿à€·à€¯à€Ÿà€€à¥à€² à€®à€Ÿà€¹à¥à€€à¥ à€žà€Ÿà€ à¥à€¯à€Ÿà€à€µà€Šà¥à€Šà€²à€à¥ à€®à€Ÿà€¹à¥à€€à¥ à€Šà¥à€£à¥à€¯à€Ÿà€à¥ à€®à€Ÿà€šà€ à€à€¹à¥.  à€¯à€Ÿà€€ à€®à€Ÿà€¹à¥à€€à¥à€žà€Ÿà€ à€Ÿ à€®à¥à€¹à€£à€à¥ à€à¥à€¯à€Ÿà€²à€Ÿ à€à€³à€ à€à€¹à¥ à€
+à€žà€Ÿ à€à€žà€€à¥.  à€
+à€¶à€Ÿ à€ªà¥à€°à€à€Ÿà€°à€à¥ à€µà¥à€¯à€Ÿà€à¥à€¯à€Ÿ à€®à€Ÿà€¹à¥à€€à¥ à€à€Ÿà€³à¥à€¯à€µà€°à¥à€² à€. à€à€«.à€žà¥. à¥šà¥©à¥¯à¥¬URI: Generic Syntax -- Tim Berners Lee et al. à€¡à€¬à¥à€²à€¿à€š à€à¥à€° à€®à€Ÿà€šà€ à€à¥à€£à€€à¥à€¯à€Ÿà€¹à¥ à€ªà¥à€°à€à€Ÿà€°à€à¥à€¯à€Ÿ à€®à€Ÿà€¹à¥à€€à¥ à€žà€Ÿà€ à¥à€¯à€Ÿà€à€žà€Ÿà€ à¥ à€µà€Ÿà€ªà€°à€€à€Ÿ à€¯à¥à€€à¥.  à€€à¥à€¯à€Ÿà€žà€Ÿà€ à¥ à€à¥à€£à€€à€Ÿà€¹à¥ à€®à€à¥à€à€Ÿà€µ à€šà€Ÿà€¹à¥.</Description>
+    </SetLanguage>
+    <!-- Vietnamese Version from Greenstone Vietnamese Language maintainer -->
+    <!-- by Cao Minh Kiem, National Centre for Science and Technology, Hanoi, Vietnam-->
+    <SetLanguage code="vi">
+        <Name/>
+        <Description/>
+    </SetLanguage>
+    <Element name="Title" >
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Title</Attribute>
+            <Attribute name="definition">A name given to the resource.</Attribute>
+            <Attribute name="comment">Typically, a Title will be a name by which the resource is formally known.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Taitara</Attribute>
+            <Attribute name="definition">Te ingoa ka tapaina tetahi rauemi.</Attribute>
+            <Attribute name="comment">Ko te tikanga, ko te Taitara te ingoa ka mohio whanuitia te ingoa.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Titre</Attribute>
+            <Attribute name="definition">Le nom donnÃ© Ã  la ressource.</Attribute>
+            <Attribute name="comment">Typiquement, un titre sera le nom par lequel la ressource est officiellement connue.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÐ°Ð·Ð²Ð°ÐœÐžÐµ</Attribute>
+            <Attribute name="definition">ÐÐŒÑ, ÐŽÐ°ÐœÐœÐŸÐµ ÑÐµÑÑÑÑÑ.</Attribute>
+            <Attribute name="comment">ÐÐ±ÑÑÐœÐŸ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµÐŒ ÑÐ²Ð»ÑÐµÑÑÑ ÐžÐŒÑ, Ð¿ÐŸÐŽ ÐºÐŸÑÐŸÑÑÐŒ ÑÐµÑÑÑÑ ÐŸÑÐžÑÐžÐ°Ð»ÑÐœÐŸ ÐžÐ·Ð²ÐµÑÑÐµÐœ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">TÃ­tulo</Attribute>
+            <Attribute name="definition">El nombre dado a un recurso, usualmente por el autor.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙØ¹ÙÙØ§Ù</Attribute>
+            <Attribute name="definition">ÙØ°Ø§ Ø§ÙØ§Ø³Ù
+ ÙØ¹Ø·Ù ÙÙÙ
+ØµØ¯Ø±, Ù
+Ù ÙØšÙ Ø§ÙÙ
+ØšØ¯Ø¹ Ø§Ù Ø§ÙÙØ§ØŽØ±</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">èµæºå</Attribute>
+            <Attribute name="definition">èµäºèµæºçåç§°ã</Attribute>
+            <Attribute name="comment">èµæºåäžè¬æèµæºå¯¹è±¡æ­£åŒå
+¬åŒçåç§°ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">NÃ¡zev</Attribute>
+            <Attribute name="definition">JmÃ©no danÃ© zdroji.</Attribute>
+            <Attribute name="comment">NÃ¡zev bude typicky jmÃ©no, pod nÃ­mÅŸ je zdroj oficiÃ¡lnÄ znÃ¡m.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Titel</Attribute>
+            <Attribute name="definition">De naam van de Internetbron. Meestal gegeven door de auteur, maker of uitgever</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Titulo</Attribute>
+            <Attribute name="definition">Un nomine date al ressource.</Attribute>
+            <Attribute name="comment">Typicamente se utiliza un nomine per le qual le ressource es formalmente cognite.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€¶à¥à€°à¥à€·à€</Attribute>
+            <Attribute name="definition">à€ªà€°à¥à€¯à€Ÿà€¯à¥ à€¶à¥à€°à¥à€·à€</Attribute>
+            <Attribute name="comment">à€žà€à€à¥à€·à€¿à€ªà¥à€€ ,  à€­à€Ÿà€·à€Ÿà€à€€à€°à¥à€€  à€¶à¥à€°à¥à€·à€</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Nhan Äá»</Attribute>
+            <Attribute name="definition">TÃªn ÄÆ°á»£c gÃ¡n cho nguá»n tin</Attribute>
+            <Attribute name="comment">Nhan Äá» cá»§a nguá»n tin hoáº·c tÃªn cá»§a dá»ch vá»¥</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+        <Element name="alternative">
+            <Attribute language="en" name="status">recommended</Attribute>
+            <Language code="en">
+                <Attribute name="label">Alternative</Attribute>
+                <Attribute name="definition">Any form of the title used as a substitute or alternative to the formal title of the resource.</Attribute>
+                <Attribute name="comment">This qualifier can include Title abbreviations as well as translations.</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">Nhan Äá» lá»±a chá»n</Attribute>
+                <Attribute name="definition">TÃªn ÄÆ°á»£c gÃ¡n cho nguá»n tin</Attribute>
+                <Attribute name="comment">Nhan Äá» khÃ¡c cá»§a nguá»n tin hoáº·c tÃªn khÃ¡c cá»§a dá»ch vá»¥</Attribute>
+            </Language>
+        </Element>
+    </Element>
+    <Element name="Creator" >
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Creator</Attribute>
+            <Attribute name="definition">An entity primarily responsible for making the content of the resource.</Attribute>
+            <Attribute name="comment">Examples of a Creator include a person, an organisation, or a service. Typically, the name of a Creator should be used to indicate the entity.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Kaihanga</Attribute>
+            <Attribute name="definition">Te putahi, nana, na ratou ranei i matua oti ai te hanganga o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tangata, he putahitanga, he ratonga ranei etahi tauira Kaihanga. Ko te tikanga, ko te Kaihanga te ingoa ka whakamahia hei tohu i te putahi na ratou te hanganga.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">CrÃ©ateur</Attribute>
+            <Attribute name="definition">L&apos;entitÃ© principalement responsable de la crÃ©ation du contenu de la ressource.</Attribute>
+            <Attribute name="comment">Exemples de CrÃ©ateur incluent une personne, une organisation, ou un service. Typiquement, un nom du CrÃ©ateur devrait Ãªtre utilisÃ© pour dÃ©signer cette entitÃ©.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">Ð¡ÐŸÐ·ÐŽÐ°ÑÐµÐ»Ñ</Attribute>
+            <Attribute name="definition">ÐÐžÑÐŸ, ÐœÐµÑÑÑÐµÐµ Ð¿ÐµÑÐ²ÐžÑÐœÑÑ ÐŸÑÐ²ÐµÑÑÑÐ²ÐµÐœÐœÐŸÑÑÑ Ð·Ð° ÑÐŸÐ·ÐŽÐ°ÐœÐžÐµ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÑÐžÐŒÐµÑÑ Ð¡ÐŸÐ·ÐŽÐ°ÑÐµÐ»Ñ Ð²ÐºÐ»ÑÑÐ°ÑÑ Ð¿ÐµÑÑÐŸÐœÑ, ÐŸÑÐ³Ð°ÐœÐžÐ·Ð°ÑÐžÑ ÐžÐ»Ðž ÑÐ»ÑÐ¶Ð±Ñ. ÐÐ±ÑÑÐœÐŸ ÐžÐŒÑ Ð¡ÐŸÐ·ÐŽÐ°ÑÐµÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÐŽÐ»Ñ ÐžÐœÐŽÐžÐºÐ°ÑÐžÐž ÐŸÐ±ÑÐµÐºÑÐ°.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Autor o Creador</Attribute>
+            <Attribute name="definition">La persona u organizaciÃ³n responsable de la creaciÃ³n del contenido intelectual del recurso. Por ejemplo, los autores en el caso de documentos escritos, artistas, fotografos e ilustradores en el caso de recursos visuales.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙØ§ØªØš Ø§Ù Ø§ÙÙ
+ØšØ¯Ø¹</Attribute>
+            <Attribute name="definition">ÙÙ Ø§ÙØŽØ®Øµ Ø§Ù Ø§ÙÙ
+Ø€Ø³Ø³Ø© Ø£ÙÙØ§  Ø¹Ù ÙØŽØŠ Ø§ÙÙ
+Ø­ØªÙÙ Ø§ÙÙÙØ± Ù ÙÙÙ
+ØµØ¯Ø± , Ø¹ÙÙ Ø³ØšÙÙ Ø§ÙÙ
+Ø«Ø§Ù , Ø§ÙÙ
+Ø€ÙÙÙÙ ÙÙ Ø­Ø§ÙØ© Ø§ÙØ«Ø§ØŠÙ Ø§ÙÙ
+ÙØªÙØšØ© , Ù Ø§ÙÙÙØ§ÙÙÙ , Ø§ÙÙ
+ØµÙØ±ÙÙ ÙÙ Ø­Ø§ÙØ© Ø§ÙÙ
+ØµØ§Ø¯Ø± Ø§ÙÙ
+Ø±ØŠÙØ©</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">åå»ºè
+</Attribute>
+            <Attribute name="definition">åå»ºèµæºå
+å®¹çäž»èŠèŽ£ä»»è
+ã</Attribute>
+            <Attribute name="comment">åå»ºè
+çå®äŸå
+æ¬äžªäººïŒç»ç»ææé¡¹æå¡ãäžè¬èèšïŒçšåå»ºè
+çåç§°æ¥æ è¯è¿äžæ¡ç®ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">TvÅ¯rce</Attribute>
+            <Attribute name="definition">Entita primÃ¡rnÄ odpovÄdnÃ¡ za vytvoÅenÃ­ obsahu zdroje.</Attribute>
+            <Attribute name="comment">PÅÃ­klady TvÅ¯rce zahrnujÃ­ osobu, organizaci nebo sluÅŸbu. K oznaÄenÃ­ entity se typicky pouÅŸÃ­vÃ¡ jmÃ©no tvÅ¯rce.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Auteur of maker</Attribute>
+            <Attribute name="definition">De auteur, maker of organisatie die primair verantwoordelijk is voor de intellectuele inhoud van het werk. Bijvoorbeeld auteurs in geval van geschreven documenten, artiesten, fotografen of illustrators in geval van visuele bronnen.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Creator</Attribute>
+            <Attribute name="definition">Le entitate primarimente responsabile pro producer le contento del ressource.</Attribute>
+            <Attribute name="comment">Exemplos de creator include un persona, un organization, o un servicio. Typicamente se utiliza un nomine de creator pro indicar iste entitate.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€šà€¿à€°à¥à€®à€Ÿà€€à€Ÿ, à€à€šà€</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à€Ÿ à€šà€¿à€°à¥à€®à€Ÿà€£  à€à€°à€£à€Ÿà€°à€Ÿ</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ.  à€²à¥à€à€, à€²à¥à€à€¿à€à€Ÿ,  à€µà¥à€¯à€à¥à€€à¥, à€žà€à€žà¥à€¥à€Ÿ,  à€žà€à€ªà€Ÿà€Šà€, à€žà€à€ªà€Ÿà€Šà€¿à€à€Ÿ</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">TÃ¡c giáº£</Attribute>
+            <Attribute name="definition">PhÃ¡p nhÃ¢n chá»u trÃ¡ch nhiá»m chÃ­nh trong viá»c táº¡o ra ná»i dung cá»§a nguá»n tin.</Attribute>
+            <Attribute name="comment">PhÃ¡p nhÃ¢n trong Creator cÃ³ thá» lÃ  tÃªn ngÆ°á»i (tÃ¡c giáº£ cÃ¡ nhÃ¢n) hoáº·c tÃªn cÆ¡ quan, tá» chá»©c hoáº·c dá»ch vá»¥ lÃ  tÃ¡c giáº£ táº­p thá»</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Subject" >
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Subject and Keywords</Attribute>
+            <Attribute name="definition">The topic of the content of the resource.</Attribute>
+            <Attribute name="comment">Typically, a Subject will be expressed as keywords, key phrases or classification codes that describe a topic of the resource. Recommended best practice is to select a value from a controlled vocabulary or formal classification scheme.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Kaupapa</Attribute>
+            <Attribute name="definition">Te take/ nga take o te kaupapa, o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tikanga, ka whakaaturia te kaupapa o te rauemi e nga kupu matua, nga kimahi matua, nga tohu wehewehenga whakaahua ranei.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Sujet</Attribute>
+            <Attribute name="definition">Le sujet du contenu de la ressource.</Attribute>
+            <Attribute name="comment">Typiquement, le sujet sera dÃ©crit par un ensemble de mots-clefs ou de phrases ou un code de classification qui prÃ©cisent le sujet de la ressource. L&apos;utilisation de vocabulaires contrÃŽlÃ©s et de schÃ©mas formels de classification est encouragÃ©e.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÑÐµÐŽÐŒÐµÑ Ðž ÐºÐ»ÑÑÐµÐ²ÑÐµ ÑÐ»ÐŸÐ²Ð°</Attribute>
+            <Attribute name="definition">Ð¢ÐµÐŒÐ° ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ±ÑÑÐœÐŸ ÐÑÐµÐŽÐŒÐµÑ Ð²ÑÑÐ°Ð¶Ð°ÐµÑÑÑ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÐºÐ»ÑÑÐµÐ²ÑÑ
+ ÑÐ»ÐŸÐ², ÐºÐ»ÑÑÐµÐ²ÑÑ
+ ÑÑÐ°Ð· ÐžÐ»Ðž  ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐžÐŸÐœÐœÑÑ
+ ÐºÐŸÐŽÐŸÐ², ÐºÐŸÑÐŸÑÑÐµ ÐŸÐ¿ÐžÑÑÐ²Ð°ÑÑ ÑÐµÐŒÑ ÑÐµÑÑÑÑÐ°. ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ Ð²ÑÐ±ÐžÑÐ°ÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐžÐ· ÐºÐŸÐœÑÑÐŸÐ»ÐžÑÑÐµÐŒÐŸÐ³ÐŸ ÑÐ»ÐŸÐ²Ð°ÑÑ ÐžÐ»Ðž ÑÐŸÑÐŒÐ°Ð»ÑÐœÐŸÐ¹ ÐºÐ»Ð°ÑÑÐžÑÐžÐºÐ°ÑÐžÐŸÐœÐœÐŸÐ¹ ÑÑ
+ÐµÐŒÑ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Claves</Attribute>
+            <Attribute name="definition">Los tÃ³picos del recurso. TÃ­picamente, Subject expresarÃ¡ las claves o frases que describen el tÃ­tulo o el contenido del recurso. Se fomentarÃ¡ el uso de vocabularios controlados y de sistemas de clasificaciÃ³n formales. Se pueden ver ejemplos de vocabularios controlados en: Controlled vocabularies, thesauri and classification systems available in the WWW. DC Subject</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙ
+ÙØ¶ÙØ¹ Ù Ø§ÙÙÙÙ
+Ø§Øª Ø§ÙØ±ØŠÙØ³ÙØ©</Attribute>
+            <Attribute name="definition">ÙÙ Ù
+ÙØ¶ÙØ¹ Ø§ÙÙ
+ØµØ¯Ø±. ÙÙ
+ÙØ°Ø¬ÙØ§  ÙØ¹ØšØ± Ø¹Ù Ø§ÙÙ
+ÙØ¶ÙØ¹ ØšØ§Ø³ØªØ®Ø¯Ø§Ù
+Ù
+ÙØªØ§Ø­  Ø§ÙÙÙÙ
+Ø§Øª  Ø§Ù Ø¬Ù
+Ù Ø§ÙØªÙ  ØªØµÙ Ù
+ÙØ¶ÙØ¹ Ø§Ù Ù
+Ø­ØªÙÙ Ø§ÙÙ
+ØµØ¯Ø± , Ù ÙØ³ØªØ­Ø³Ù Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ù
+ÙØ±Ø¯Ø§Øª Ù
+Ø®Ø·Ø·Ø©Ù Ù
+Ø­ÙÙ
+Ø©  ÙØ§Ø¯ÙØ© ØªØµÙÙÙ ØŽÙÙÙØ©</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">äž»é¢åå
+³é®è¯</Attribute>
+            <Attribute name="definition">èµæºå
+å®¹çäž»é¢æè¿°ã</Attribute>
+            <Attribute name="comment">åŠæèŠæè¿°ç¹å®èµæºçæäžäž»é¢ïŒäžè¬éçšå
+³é®è¯ãå
+³é®å­ç­è¯­æåç±»å·ïŒæå¥œäž»é¢åå
+³é®è¯ä»åæ§    è¯è¡šæè§èçåç±»äœç³»äž­ååŒã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">PÅedmÄt a klÃ­ÄovÃ¡ slova</Attribute>
+            <Attribute name="definition">TÃ©ma obsahu zdroje.</Attribute>
+            <Attribute name="comment">PÅedmÄt bude typicky vyjÃ¡dÅen pomocÃ­ klÃ­ÄovÃœch slov, klÃ­ÄovÃœch frÃ¡zÃ­ nebo klasifikaÄnÃ­ch znakÅ¯ popisujÃ­cÃ­ch tÃ©ma zdroje. DoporuÄuje se vybÃ­rat hodnotu prvku z ÅÃ­zenÃ©ho slovnÃ­ku nebo formÃ¡lnÃ­ho klasifikaÄnÃ­ho schÃ©matu.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Onderwerp en trefwoorden</Attribute>
+            <Attribute name="definition">Het onderwerp van de Internetbron. Het onderwerp wordt beschreven in korte zinnen of door het gebruik van trefwoorden. Het gebruik van gecontroleerde trefwoorden of classificatie schema&apos;s wordt aanbevolen.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Subjecto e parolas-clave</Attribute>
+            <Attribute name="definition">Le topico del contento del ressource.</Attribute>
+            <Attribute name="comment">Typicamente le subjecto es expresse per medio de parolas-clave, phrases-clave, o codices de classification que describe le topico del ressource. Le melior practica recommendate es selectionar un valor a partir de un vocabulario controlate o un schema formal de classification.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€µà€¿à€·à€¯</Attribute>
+            <Attribute name="definition">à€µà€¿à€·à€¯</Attribute>
+            <Attribute name="comment">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à€Ÿ, à€à¥à€à€Ÿà€šà€žà€Ÿà€§à€šà¥ à€¯à€Ÿà€€à¥à€² à€à€¶à€¯ à€žà¥à€ªà€·à¥à€ à€à€°à€£à€Ÿà€°à¥ à€¶à€¬à¥à€Š, à€µà€¿à€·à€¯à€Ÿà€à¥ à€µà€°à¥à€à¥à€à€°à€£ à€à€°à€€à€Ÿà€šà€Ÿ à€¶à€¬à¥à€Šà€žà€à€à¥à€°à€¹ à€
+à€¥à€µà€Ÿ à€¶à€¬à¥à€Š à€à¥à€·à€Ÿà€à€Ÿ à€µà€Ÿà€ªà€° à€à€°à€Ÿà€µà€Ÿ</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Chá»§ Äá»</Attribute>
+            <Attribute name="definition">Chá»§ Äá» vÃ /hoáº·c Äá» má»¥c chÃ­nh cá»§a ná»i dung cá»§a nguá»n tin</Attribute>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Description" >
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Description</Attribute>
+            <Attribute name="definition">An account of the content of the resource.</Attribute>
+            <Attribute name="comment">Description may include but is not limited to: an abstract, table of contents, reference to a graphical representation of content or a free-text account of the content.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Whakaaturanga</Attribute>
+            <Attribute name="definition">He whakaaturanga o nga kaupapa o te rauemi.</Attribute>
+            <Attribute name="comment">Ka uru atu, engari ehara noa ko: te whakarapopototanga korero, te ihirangi, te tohutanga o te kaupapa ma te whakaahua, te whakaaturanga kore kupu ranei, o te kauapapa.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Description</Attribute>
+            <Attribute name="definition">Une description du contenu de la ressource.</Attribute>
+            <Attribute name="comment">Une Description peut contenir, mais ce n&apos;est pas limitatif: un rÃ©sumÃ©, une table des matiÃšres, une rÃ©fÃ©rence Ã  une reprÃ©sentation graphique du contenu, ou un texte libre sur le contenu.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÐ¿ÐžÑÐ°ÐœÐžÐµ</Attribute>
+            <Attribute name="definition">Ð¡ÐŸÐŸÐ±ÑÐµÐœÐžÐµ ÐŸ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÐž ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ¿ÐžÑÐ°ÐœÐžÐµ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐŸ (Ð¿ÐŸ ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸÑÑÐž) Ð² Ð²ÐžÐŽÐµ: ÑÐµÑÐµÑÐ°ÑÐ°, ÐŸÐ³Ð»Ð°Ð²Ð»ÐµÐœÐžÑ, ÑÑÑÐ»ÐºÐž ÐœÐ° Ð³ÑÐ°ÑÐžÑÐµÑÐºÐŸÐµ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÐžÐ»Ðž Ð¿ÑÐŸÑÑÐŸÐ³ÐŸ ÑÐµÐºÑÑÐŸÐ²ÐŸÐ³ÐŸ ÐžÐ·Ð»ÐŸÐ¶ÐµÐœÐžÐµ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">DescripciÃ³n</Attribute>
+            <Attribute name="definition">Una descripciÃ³n textual del recurso, tal como un resumen en el caso de un documento o una descripciÃ³n del contenido en el caso de un documento visual.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙØµÙ</Attribute>
+            <Attribute name="definition">ÙÙ ÙØµÙ ÙØµÙ  ÙÙ
+Ø­ØªÙÙ Ø§ÙÙ
+ØµØ¯Ø±, ÙÙØ¶Ù
+ Ø§ÙÙ
+ÙØ®ØµØ§Øª ÙÙ Ø­Ø§ÙØ© Ø§ÙÙØ«Ø§ØŠÙ Ù
+Ø«Ù Ø§ÙØ§ØŽÙØ§Ø¡ Ø§ÙÙ
+ÙØªÙØšØ© Ø§Ù ØªÙØµÙÙ Ø§ÙÙ
+Ø­ØªÙÙ ÙÙ Ø­Ø§ÙØ© Ø§ÙÙ
+ØµØ§Ø¯Ø± Ø§ÙÙ
+Ø±ØŠÙØ©</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">è¯Žæ</Attribute>
+            <Attribute name="definition">èµæºå
+å®¹çè§£é</Attribute>
+            <Attribute name="comment">è¯Žæå¯ä»¥å
+æ¬äœäžéäºä»¥äžå
+å®¹ïŒææãç®åœãå¯¹ä»¥åŸåœ¢æ¥æ­ç€ºå
+å®¹çèµæºèèšçæå­è¯Žæãæè
+äž    äžªæå
+³èµæºå
+å®¹çèªç±ææ¬æè¿°ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Popis</Attribute>
+            <Attribute name="definition">VysvÄtlenÃ­ obsahu zdroje.</Attribute>
+            <Attribute name="comment">Popis mÅ¯ÅŸe obsahovat (mimo jinÃ©): abstrakt, obsah, odkaz na grafickÃ© nebo volnÃ© textovÃ© vyjÃ¡dÅenÃ­ obsahu.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Omschrijving</Attribute>
+            <Attribute name="definition">Een omschrijving van de inhoud van de Internetbron. Abstracts of inhoudsomschrijvingen.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Description</Attribute>
+            <Attribute name="definition">Un description del contento del ressource.</Attribute>
+            <Attribute name="comment">Le description pote includer, ma non se limita a: summario, indice, referentia a un representation graphic del contento o un texto libere a proposito del contento.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€µà€°à¥à€£à€š</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥, à€à¥à€à€Ÿà€šà€žà€Ÿà€§à€šà€Ÿà€à¥à€µà€°à¥à€£à€š</Attribute>
+            <Attribute name="comment">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€šà€¿à€µà¥à€Šà€š, à€à€²à¥à€, à€à€¿à€€à¥à€°à€°à¥à€ª</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">MÃŽ táº£</Attribute>
+            <Attribute name="definition">Má»t thÃŽng bÃ¡o lÃ m rÃµ ná»i dung cá»§a nguá»n tin</Attribute>
+            <Attribute name="comment">MÃŽ táº£ cÃ³ thá» bao gá»m: tÃ³m táº¯t, má»¥c lá»¥c, thÃŽng tin tham chiáº¿u vá» báº£ng biá»u, vá» toÃ n vÄn (thÃ­ dá»¥ hÃ¬nh thu nhá» (thumbnail) cá»§a tÃ i liá»u hoáº·c báº¥t cá»© Äoáº¡n vÄn báº£n nÃ o nháº±m lÃ m rÃµ hÆ¡n ná»i dung nguá»n tin. Khuyáº¿n nghá» Ã¡p dá»¥ng tiÃªu chuáº©n Viá»t Nam TCVN 4524-1989 cho tÃ³m táº¯t vÃ  chÃº giáº£i.</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+        <Element name="abstract">
+            <Language code="en">
+                <Attribute name="label">Abstract</Attribute>
+                <Attribute name="definition">A summary of the content of the resource.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">TÃ³m táº¯t</Attribute>
+                <Attribute name="definition">Má»t thÃŽng bÃ¡o lÃ m rÃµ ná»i dung cá»§a nguá»n tin</Attribute>
+                <Attribute name="comment">Ghi tÃ³m táº¯t, toÃ¡t yáº¿u  vá» toÃ n vÄn (thÃ­ dá»¥ hÃ¬nh thu nhá» (thumbnail) cá»§a tÃ i liá»u hoáº·c báº¥t cá»© Äoáº¡n vÄn báº£n nÃ o nháº±m lÃ m rÃµ hÆ¡n ná»i dung nguá»n tin. Khuyáº¿n nghá» Ã¡p dá»¥ng tiÃªu chuáº©n Viá»t Nam TCVN 4524-1989 cho tÃ³m táº¯t vÃ  chÃº giáº£i</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+        <Element name="tableOfContents">
+            <Language code="en">
+                <Attribute name="label">Table Of Contents</Attribute>
+                <Attribute name="definition">A list of subunits of the content of the resource.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">Má»¥c lá»¥c</Attribute>
+                <Attribute name="definition">Danh má»¥c liá»t kÃª cÃ¡c Äá» má»¥c cá»§a cÃ¡c pháº§n cá»§a nÃŽi dung cá»§a nguá»n tin.</Attribute>
+                <Attribute name="comment">Ghi má»¥c má»¥c cá»§a tÃ i liá»u</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+    </Element>
+    <Element name="Publisher" >
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Publisher</Attribute>
+            <Attribute name="definition">An entity responsible for making the resource available.</Attribute>
+            <Attribute name="comment">Examples of a Publisher include a person, an organisation, or a service. Typically, the name of a Publisher should be used to indicate the entity.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Kaiwhakaputa</Attribute>
+            <Attribute name="definition">Te putahi nana i whakaputa te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tangata, he putahitanga, he ratonga ranei etahi tauira Kaiwhakaputa. Ko te tikanga, ka whakamahia te ingoa o te Kaiwhakaputa hei tohu i te putahi.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Editeur</Attribute>
+            <Attribute name="definition">L&apos;entitÃ© responsable de la diffusion de la ressource, dans sa forme actuelle, tels, un dÃ©partement universitaire, une entreprise.</Attribute>
+            <Attribute name="comment">Exemples d&apos;Editeurs incluent une personne, une organisation, ou un service. Typiquement, le nom d&apos;une maison d&apos;Ã©dition devrait Ãªtre utilisÃ© ici.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÐ·ÐŽÐ°ÑÐµÐ»Ñ</Attribute>
+            <Attribute name="definition">ÐÐžÑÐŸ, ÐŸÑÐ²ÐµÑÑÑÐ²ÐµÐœÐœÐŸÐµ Ð·Ð° Ð²Ð²ÐŸÐŽ ÑÐµÑÑÑÑÐ° Ð² ÐŸÐ±ÑÐ°ÑÐµÐœÐžÐµ.</Attribute>
+            <Attribute name="comment">ÐÑÐžÐŒÐµÑÑ ÐÐ·ÐŽÐ°ÑÐµÐ»Ñ Ð²ÐºÐ»ÑÑÐ°ÑÑ Ð¿ÐµÑÑÐŸÐœÑ, ÐŸÑÐ³Ð°ÐœÐžÐ·Ð°ÑÐžÑ ÐžÐ»Ðž ÑÐ»ÑÐ¶Ð±Ñ. ÐÐ±ÑÑÐœÐŸ ÐžÐŒÑ ÐÐ·ÐŽÐ°ÑÐµÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÐŽÐ»Ñ ÐžÐœÐŽÐžÐºÐ°ÑÐžÐž ÐŸÐ±ÑÐµÐºÑÐ°.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Editor</Attribute>
+            <Attribute name="definition">&gt;La entidad responsable de hacer que el recurso se encuentre disponible en la red en su formato actual, por ejemplo la empresa editora, un departamento universitario u otro tipo de organizaciÃ³n.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙØ§ØŽØ±</Attribute>
+            <Attribute name="definition">ÙÙ Ø§ÙÙÙØŠØ© Ø§ÙÙ
+Ø³Ø€ÙÙØ© Ø¹Ù ØµÙØ§Ø¹Ø© Ø§ÙÙ
+ØµØ¯Ø± Ø§ÙÙ
+ØªÙÙØ± ÙÙ Ø­Ø§ÙØªÙ Ø§ÙØ­Ø§Ø¶Ø±Ø©, Ù
+Ø«Ù Ø¯Ø§Ø± Ø§ÙÙØŽØ±, ÙØ³Ù
+ Ø¬Ø§Ù
+Ø¹Ù Ø§Ù Ù
+Ø€Ø³Ø³Ø© Ø§Ø¹Ù
+Ø§Ù</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">åºçè
+</Attribute>
+            <Attribute name="definition">äœ¿èµæºæäžºå¯ä»¥è·åŸå¹¶å¯çšçèŽ£ä»»è
+ã</Attribute>
+            <Attribute name="comment">åºçè
+çå®äŸå
+æ¬äžªäœïŒç»ç»ïŒææå¡ãäžè¬èèšïŒåºè¯¥çšåºçè
+çåç§°æ¥æ è¯è¿äžæ¡ç®ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Vydavatel</Attribute>
+            <Attribute name="definition">Entita odpovÄdnÃ¡ za zpÅÃ­stupnÄnÃ­ zdroje.</Attribute>
+            <Attribute name="comment">PÅÃ­klady Vydavatele zahrnujÃ­ osobu, organizaci nebo sluÅŸbu. K oznaÄenÃ­ entity se typicky pouÅŸÃ­vÃ¡ jmÃ©no vydavatele.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Uitgever</Attribute>
+            <Attribute name="definition">De entiteit die verantwoordelijk is voor het beschikbaarstellen van de Internetbron in de huidig vorm. Bijvoorbeeld een uitgeversbedrijf, een universiteitsafdeling.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Editor</Attribute>
+            <Attribute name="definition">Un entitate responsabile pro disponibilizar le ressource.</Attribute>
+            <Attribute name="comment">Exemplos de editor include un persona, un organization, o un servicio. Typicamente se utiliza un nomine de editor pro indicar le entitate.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€ªà¥à€°à€à€Ÿà€¶à€</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à€Ÿ  à€à€ªà€²à€¬à¥à€§ à€à€°à¥à€š à€Šà¥à€£à€Ÿà€°à€Ÿ</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ.à€ à€ªà¥à€°à€à€Ÿà€¶à€ , à€ªà¥à€°à€à€Ÿà€¶à€š  à€žà€à€žà¥à€¥à€Ÿ, à€žà¥à€µà€Ÿ    à€®à€Ÿà€¹à€¿à€€à¥ à€à€Ÿà€ªà¥à€² à€°à¥à€ªà€Ÿà€€  à€
+à€¥à€µà€Ÿ à€à€à€à€°à€šà¥à€ à€µà€° à€à€ªà€²à€¬à¥à€§ à€à€°à¥à€š à€Šà¥à€£à€Ÿà€°à€Ÿ</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Tá» chá»©c xuáº¥t báº£n</Attribute>
+            <Attribute name="definition">Tá» chá»©c chá»u trÃ¡ch nhiá»m lÃ m cho nguá»n tin nÃ y cÃ³ thá» truy xuáº¥t ÄÆ°á»£c</Attribute>
+            <Attribute name="comment">Sá»­ dá»¥ng Äá» chá» ra tÃªn cá»§a tá» chá»©c, nhÃ  xuáº¥t báº£n, cÆ¡ quan,..sá» há»¯u, kiá»m soÃ¡t báº£n quyá»n hoáº·c xuáº¥t báº£n nguá»n tin. KhÃŽng khuyáº¿n nghá» sá»­ dá»¥ng yáº¿u tá» nÃ y Äá» chá» thá» tÃªn cá»§a dá»ch vá»¥ thuáº§n tuÃœ thá»±c hiá»n chá»©c nÄng duy trÃ¬ website (dá»ch vá»¥ Webhosting hoáº·c nhÃ  cung cáº¥p dá»ch vá»¥ Internet)</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Contributor" >
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Contributor</Attribute>
+            <Attribute name="definition">An entity responsible for making contributions to the content of the resource.</Attribute>
+            <Attribute name="comment">Examples of a Contributor include a person, an organisation, or a service. Typically, the name of a Contributor should be used to indicate the entity.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Kaiwhakaaro</Attribute>
+            <Attribute name="definition">Te putahi nana, na ratou ranei nga whakakaupapatanga whakaaro o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tangata, he putahitanga, he ratonga ranei etahi tauira Kaiwhakaaro. Ko te tikanga ka whakamahia te ingoa o te Kaiwhakaaro hei tohu i te putahi.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Contributeur</Attribute>
+            <Attribute name="definition">Une entitÃ© qui a contribuÃ© Ã  la crÃ©ation du contenu de la ressource.</Attribute>
+            <Attribute name="comment">Exemples de Contributeur incluent une personne, une organisation, ou un service. Typiquement, le nom d&apos;un contributeur devrait Ãªtre utilisÃ© ici pour dÃ©signer l&apos;entitÃ©.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">Ð¡ÐŸÐžÑÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»Ñ</Attribute>
+            <Attribute name="definition">ÐÐžÑÐŸ, Ð²ÐœÐµÑÑÐµÐµ Ð²ÐºÐ»Ð°ÐŽ Ð² ÑÐŸÐ·ÐŽÐ°ÐœÐžÐµ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÑÐžÐŒÐµÑÑ Ð¡ÐŸÐžÑÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»Ñ Ð²ÐºÐ»ÑÑÐ°ÑÑ Ð¿ÐµÑÑÐŸÐœÑ, ÐŸÑÐ³Ð°ÐœÐžÐ·Ð°ÑÐžÑ ÐžÐ»Ðž ÑÐ»ÑÐ¶Ð±Ñ. ÐÐ±ÑÑÐœÐŸ ÐžÐŒÑ Ð¡ÐŸÐžÑÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÐŽÐ»Ñ ÐžÐœÐŽÐžÐºÐ°ÑÐžÐž ÐŸÐ±ÑÐµÐºÑÐ°.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Otros Colaboradores</Attribute>
+            <Attribute name="definition">Una persona u organizacion que haya tenido una contribuciÃ³n intelectual significativa en la creaciÃ³n del recurso pero cuyas contribuciones son secundarias en comparaciÃ³n a las de las personas u organizaciones especificadas en el elementeo Creator (por ejemplo, editor, ilustrador y traductor).</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙ
+Ø³Ø§ÙÙ
+ Ø§ÙØ§Ø®Ø±</Attribute>
+            <Attribute name="definition">ÙÙ Ø§ÙØŽØ®Øµ Ø§Ù Ø§ÙÙ
+Ø€Ø³Ø³Ø© Ø§ÙØºÙØ± Ù
+Ø°ÙÙØ± ØµØ±Ø§Ø­Ø© ÙÙ Ø¹Ø§Ù
+Ù &quot; Ø§ÙÙ
+ØšØ¯Ø¹ &quot; Ù Ø§ÙØ°Ù ÙØ¯Ù
+ Ù
+Ø³Ø§ÙÙ
+Ø§Øª ÙÙØ±ÙØ© ÙØ§Ù
+Ø© ÙÙÙ
+ØµØ¯Ø±, ÙÙÙ Ù
+Ø³Ø§ÙÙ
+ØªÙØªØšÙÙ    Ø«Ø§ÙÙÙØ© Ù
+ÙØ§Ø±ÙØ© Ù
+Ø¹ Ø§ÙØŽØ®Øµ Ø£Ù Ø§ÙÙ
+Ø€Ø³Ø³Ø© Ø§ÙÙ
+Ø°ÙÙØ±Ø© ÙØµØ§ ÙÙ Ø¹Ø§Ù
+Ù &quot; Ø§ÙÙ
+ÙØŽØŠ &quot; Ù
+Ø«ÙØ§Ù Ù
+ØµØ­Ø­, Ø§ÙÙ
+ØªØ±Ø¬Ù
+, Ø§Ù Ø§ÙÙ
+ÙØ³Ø±</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">å
+¶ä»èŽ£ä»»è
+</Attribute>
+            <Attribute name="definition">å¯¹èµæºçå
+å®¹äœåºèŽ¡ç®çå
+¶ä»å®äœã</Attribute>
+            <Attribute name="comment">å
+¶ä»èŽ£ä»»è
+çå®äŸå¯å
+æ¬äžªäººãç»ç»ææé¡¹æå¡ãäžè¬èèšïŒçšå
+¶ä»èŽ£ä»»è
+çåå­æ¥æ è¯è¿äžæ¡ç®ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">PÅispÄvatel</Attribute>
+            <Attribute name="definition">Entita, kterÃ¡ pÅispÄla k vytvoÅenÃ­ obsahu zdroje.</Attribute>
+            <Attribute name="comment">PÅÃ­klady PÅispÄvatele zahrnujÃ­ osobu, organizaci nebo sluÅŸbu. K oznaÄenÃ­ entity se typicky pouÅŸÃ­vÃ¡ jmÃ©no pÅispÄvatele.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Andere medewerkers</Attribute>
+            <Attribute name="definition">Een persoon of organisatie die een belangrijke bijdrage heeft geleverd, maar die secondair is aan de persoon of organisatie die bij &quot;Creator&quot; genoemd wordt. Gedacht kan worden aan editors, vertalers en illustrators.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Contribuente</Attribute>
+            <Attribute name="definition">Un entitate responsabile pro facer contributiones al contento del ressource.</Attribute>
+            <Attribute name="comment">Exemplos de contribuente include un persona, un organization, o un servicio. Typicamente se utiliza un nomine de contribuente pro indicar le entitate.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label"> à€žà€¹à€¯à¥à€à€, à€žà€¹à€¯à¥à€à¥, à€žà€¹à€Ÿà€¯à¥à€¯à€</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à€Ÿ à€žà€à€à€²à¥à€€ à€à€°à€£à¥à¥à€Ÿà€ž  à€®à€Šà€€ à€à€°à€£à€Ÿà€°à¥ à€µà¥à€¯à€à¥à€€à¥</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ.à€ à€µà¥à€¯à€à¥à€€à¥, à€žà¥à€µà€Ÿ, à€žà€à€žà¥à€¥à€Ÿ</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Date" >
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Date</Attribute>
+            <Attribute name="definition">A date associated with an event in the life cycle of the resource.</Attribute>
+            <Attribute name="comment">Typically, Date will be associated with the creation or availability of the resource.  Recommended best practice for encoding the date value is defined in a profile of ISO 8601 and follows the YYYY-MM-DD format.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Ra</Attribute>
+            <Attribute name="definition">He ra e whai panga ana ki te huringa ora o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tikanga, ka whai panga te ra ki te hanganga, te wateatanga ranei, o te rauemi. Ko te huarahi tino pai hei tohu i te uara o te ra (date value) kua whakaritea i roto i te whakaritenga IS0 8601 [W3CDTF], a, e whai atu ana ki te whakatakotoranga YYYY-MM-DD.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Date</Attribute>
+            <Attribute name="definition">Une date associÃ©e avec un Ã©vÃ©nement dans le cycle de vie de la ressource.</Attribute>
+            <Attribute name="comment">Typiquement, une date sera associÃ©e Ã  la crÃ©ation ou Ã  la publication d&apos;une ressource. Il est fortement recommandÃ© d&apos;encoder la valeur de la date en utilisant le format dÃ©fini par l&apos;ISO 8601 [W3CDTF] sous la forme AAAA-MM-JJ.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÐ°ÑÐ°</Attribute>
+            <Attribute name="definition">ÐÐ°ÑÐ°, ÑÐ²ÑÐ·Ð°ÐœÐœÐ°Ñ Ñ ÑÐŸÐ±ÑÑÐžÐµÐŒ Ð² Ð¶ÐžÐ·ÐœÐµÐœÐœÐŸÐŒ ÑÐžÐºÐ»Ðµ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ±ÑÑÐœÐŸ ÐÐ°ÑÐ° Ð°ÑÑÐŸÑÐžÐžÑÑÐµÑÑÑ Ñ ÑÐŸÐ·ÐŽÐ°ÐœÐžÐµÐŒ ÐžÐ»Ðž ÐŽÐŸÑÑÑÐ¿ÐœÐŸÑÑÑÑ ÑÐµÑÑÑÑÐ°. ÐÐ° Ð¿ÑÐ°ÐºÑÐžÐºÐµ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ ÐŽÐ»Ñ ÐºÐŸÐŽÐžÑÐŸÐ²ÐºÐž Ð·ÐœÐ°ÑÐµÐœÐžÑ ÐŽÐ°ÑÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÐµ Ð¿ÑÐŸÑÐžÐ»Ñ ISO 8601 (Ð€ÐŸÑÐŒÐ°ÑÑ ÐŽÐ°ÑÑ Ðž Ð²ÑÐµÐŒÐµÐœÐž W3C), ÐºÐŸÑÐŸÑÐŸÐµ Ð¿ÐŸÐŽÐŽÐµÑÐ¶ÐžÐ²Ð°ÐµÑ ÑÐŸÑÐŒÐ°Ñ ÐÐÐÐ-ÐÐ-ÐÐ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Fecha</Attribute>
+            <Attribute name="definition">Una fecha en la que el recurso se puso a disposiciÃ³n del usuario en su forma actual. Esta fecha no ha de confundirse con la que pertenece al elemento Coverage, que serÃ­a asociada con el recurso sÃ³lo en la medida en que el contenido intelectual estÃ¡ de algÃºn modo relacionado con esa fecha. Recomendamos la utiliazaciÃ³n de uno de los formatos definidos en el documento &quot;Date and Time Formats&quot;, http://www.w3.org/TR/NOTE-datetime basado en la norma ISO 8601 que incluye, entre otras, fechas en el formato AAAA y AAAA-MM-DD. De esta forma la fecha 1994-11-05 corresponderÃ­a al 5 de Noviembre de 1994.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙØªØ§Ø±Ø®</Attribute>
+            <Attribute name="definition">ÙÙ Ø§ÙØªØ§Ø±ÙØ® Ø§ÙÙ
+ØªØ¹ÙÙ ØšÙÙØª ÙØŽØŠ Ø£Ù ØªÙÙØ± Ø§ÙÙ
+ØµØ¯Ø± . Ù ÙØ¬Øš Ø£Ù ÙØ§ ÙØ®ÙØ· ÙØ°Ø§ Ø§ÙØªØ§Ø±ÙØ® Ø§ÙØ¹Ø§ØŠØ¯ ÙØ¹Ø§Ù
+Ù Ø§ÙØªØºØ·ÙØ© , Ù Ø§ÙØ° Ù ÙØ¬Øš Ø£Ù    ÙÙØ­Ù ØšØ§ÙÙ
+ØµØ¯Ø± ÙÙØ· Ù
+Ù ÙØ§Ø­ÙØ© Ø§ÙÙ
+Ø­ØªÙÙØ§ÙÙÙØ±Ù ÙÙÙÙÙ ÙÙØ¹Ø§ Ù
+Ø§ ÙÙ ÙØ°Ø§ Ø§ÙØªØ§Ø±ÙØ®. Ø§ÙØµÙØºØ© Ø§ÙÙ
+Ø³Ø«Ø­Ø³ÙØ© ÙÙØ§Ø­Ø³Ù Ø§ÙÙ
+ØªØ¹Ø§Ø±Ù Ø¹ÙÙÙ    Ø¹ÙØ¯ Ø§ÙØªØ·ØšÙÙ ÙÙ Ø§ÙØµÙØºØ© Ø§ÙÙ
+Ø¹ØªÙ
+Ø¯Ø© ÙÙ ØªØŽÙÙÙ (ISO 8601) ØµÙØºØ© ØªØ§Ø±ÙØ® Ø§ÙÙÙÙ
+ Ù Ø§ÙÙÙØª ) Ø§Ø¹ØªÙ
+Ø§Ø¯Ø§ Ø¹ÙÙ (ISO 8601) Ø§ÙÙ
+ÙØ§Ø­ØžØ© Ø§ÙÙÙÙØ© http://www.w3.org/TR/NOTE-datetime, W3C. ÙÙÙ    ÙØ°Ø§ Ø§ÙÙØ³Ù , Ù
+Ø«ÙØ§, ØªØ§Ø±ÙØ® Ø§ÙÙÙÙ
+ 1994-11-04 ÙÙØ§ØžØ± ÙÙÙ
+ 5 ÙÙÙÙ
+ØšØ± 1994</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">æ¥æ</Attribute>
+            <Attribute name="definition">äžèµæºçåœåšæäž­çäžäžªäºä»¶çžå
+³çæ¶éŽã</Attribute>
+            <Attribute name="comment">äžè¬èèšïŒæ¥æåºäžèµæºçåå»ºæåºçæ¥æçžå
+³ãå»ºè®®éçšçæ¥ææ ŒåŒåºç¬ŠåISO 8601 [W3CDTF]è§    èïŒå¹¶äœ¿çšYYYY-MM-DDçæ ŒåŒã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Datum</Attribute>
+            <Attribute name="definition">Datum spojenÃ© s urÄitou udÃ¡lostÃ­ bÄhem existence zdroje.</Attribute>
+            <Attribute name="comment">Datum bude typicky spojeno s vytvoÅenÃ­m nebo zpÅÃ­stupnÄnÃ­m zdroje. DoporuÄenÃœ postup pro kÃ³dovÃ¡nÃ­ hodnoty data je definovÃ¡n v ISO 8601 [W3CDTF]: formÃ¡t RRRR-MM-DD.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Datum</Attribute>
+            <Attribute name="definition">De datum van de totstandkoming of beschikbaarstelling van een Internetbron. Deze datum moet niet verward worden met de datum in &quot;Coverage&quot;. De datum in &quot;Coverage&quot; geeft de tijdsperiode van de inhoud van de Internetbron aan. Voorgeschreven wordt de ISO 8601 standaard voor datum, zoals beschreven in W3C Technical Note http://www.w3.org/TR/NOTE-datetime. Hierin wordt het formaat YYYY-MM-DD beschreven. Het formaat YYYY-MM-DD wordt de voorgeschreven standaard. 3 September 1998 wordt in dit geval 1998-09-03.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Data</Attribute>
+            <Attribute name="definition">Un data associate a un evento in le cyclo vital del ressource.</Attribute>
+            <Attribute name="comment">Typicamente le data es associate al creation o disponibilization del ressource. Le practica recommendate pro codificar le valor del datas es definite in un profilo de ISO 8601 [W3CDTF] e seque le formato AAAA-MM-DD.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€€à€Ÿà€°à¥à€,  à€Šà€¿à€šà€Ÿà€à€</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à€Ÿ à€€à€¯à€Ÿà€° à€à¥à€²à¥à€¯à€Ÿà€à¥ à€€à€Ÿà€°à¥à€</Attribute>
+            <Attribute name="comment">à€€à€Ÿà€°à¥à€  à€²à€¿à€¹à¥à€£à¥à€¯à€Ÿà€à¥ à€žà¥à€µà€°à¥à€ª à€ à€µà€°à¥à€·. à€®à€¹à€¿à€šà€Ÿ. à€Šà€¿à€µà€ž à¥§à¥¯à¥«à¥Š. à¥Šà¥ª. à¥Šà¥ª</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Thá»i gian</Attribute>
+            <Attribute name="definition">Thá»i gian liÃªn quan Äáº¿n vÃ²ng Äá»i cá»§a nguá»n tin (táº¡o láº­p, sá»­a Äá»i, v.v..)</Attribute>
+            <Attribute name="comment">NgÃ y thÃ¡ng cÃ³ thá» lÃ  thá»i gian liÃªn quan Äáº¿n viá»c táº¡o ra, hiá»u ÄÃ­nh hoáº·c lÃ m cho nguá»n tin tiáº¿p cáº­n ÄÆ°á»£c. Khuyáº¿n nghá» sá»­ dá»¥ng cÃ¡ch trÃ¬nh bÃ y thá»i gian theo tiÃªu chuáº©n ISO 8601 vÃ  theo khá» máº«u Bá»n sá» nÄm-hai sá» thÃ¡ng-hai sá» ngÃ y (YYYY-MM-DD)</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+        <Element name="available">
+            <Language code="en">
+                <Attribute name="label">Available</Attribute>
+                <Attribute name="definition">Date (often a range) that the resource will become or did become available.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">NgÃ y cÃ³ ÄÆ°á»£c</Attribute>
+                <Attribute name="definition">NgÃ y (hoáº·c chuá»i ngÃ y) mÃ  nguá»n tin cÃ³ thá» truy cáº­p ÄÆ°á»£c</Attribute>
+                <Attribute name="comment">Nghi ngÃ y thÃ¡ng theo máº«u YYYY-MM-DD</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+        <Element name="created">
+            <Language code="en">
+                <Attribute name="label">Created</Attribute>
+                <Attribute name="definition">Date of creation of the resource.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">Táº¡o láº­p</Attribute>
+                <Attribute name="definition">NgÃ y mÃ  nguá»n tin ÄÆ°á»£c táº¡o ra</Attribute>
+                <Attribute name="comment">Ghi ngÃ y theo máº«u YYYY-MM-DD</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+        <Element name="dateAccepted">
+            <Language code="en">
+                <Attribute name="label">Date Accepted</Attribute>
+                <Attribute name="definition">Date of acceptance of the resource (e.g. of thesis by university department, of article by journal, etc.).</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">NgÃ y cháº¥p nháº­n</Attribute>
+                <Attribute name="definition">NgÃ y mÃ  nguá»n tin ÄÆ°á»£c cháº¥p nháº­n bá»i cÆ¡ quan (nhÆ° luáº­n vÄn ÄÆ°á»£c TrÆ°á»ng Äáº¡i há»c nháº­n</Attribute>
+                <Attribute name="comment">Ghi ngÃ y theo máº«u YYYY-MM-DD</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">conforming</Attribute>
+        </Element>
+        <Element name="dateCopyrighted">
+            <Language code="en">
+                <Attribute name="label">Date Copyrighted</Attribute>
+                <Attribute name="definition">Date of a statement of copyright.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">NgÃ y báº£n quyá»n</Attribute>
+                <Attribute name="definition">NgÃ y mÃ  tÃ i liá»u ÄÆ°á»£c cÃŽng nháº­n báº£n quyá»n</Attribute>
+                <Attribute name="comment">Ghi ngÃ y theo máº«u YYYY-MM-DD</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">conforming</Attribute>
+        </Element>
+        <Element name="dateSubmitted">
+            <Language code="en">
+                <Attribute name="label">Date Submitted</Attribute>
+                <Attribute name="definition">Date of submission of the resource (e.g. thesis, articles, etc.).</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">NgÃ y ná»p</Attribute>
+                <Attribute name="definition">NgÃ y nguá»n tin ÄÆ°á»£c ná»p cho tá» chá»©c cÃ³ tháº©m quyá»n nháº­n</Attribute>
+                <Attribute name="comment">Ghi ngÃ y theo máº«u YYYY-MM-DD</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">conforming</Attribute>
+        </Element>
+        <Element name="issued">
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Language code="en">
+                <Attribute name="label">Issued</Attribute>
+                <Attribute name="definition">Date of formal issuance (e.g., publication) of the resource.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">NgÃ y xuáº¥t báº£n</Attribute>
+                <Attribute name="definition">NgÃ y xuáº¥t báº£n hÃ¬nh thá»©c cá»§a nguá»n tin</Attribute>
+                <Attribute name="comment">Thá»i gian (ngÃ y) nguá»n tin ÄÆ°á»£c ÄÆ°a ra Äá» truy cáº­p ÄÆ°á»£c trong dáº¡ng thá»©c hiá»n táº¡i.Ghi ngÃ y theo máº«u YYYY-MM-DD</Attribute>
+            </Language>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+        <Element name="modified">
+            <Language code="en">
+                <Attribute name="label">Modified</Attribute>
+                <Attribute name="definition">Date on which the resource was changed.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">NgÃ y hiá»u ÄÃ­nh</Attribute>
+                <Attribute name="definition">ChÃ­nh xÃ¡c hoÃ¡</Attribute>
+                <Attribute name="comment">NgÃ y thÃ¡ng nÄm ná»i dung cá»§a nguá»n tin ÄÆ°á»£c sá»­a Äá»i. Nháº­p theo máº«u YYYY-MM-DD</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+        <Element name="valid">
+            <Attribute language="en" name="status">recommended</Attribute>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Language code="en">
+                <Attribute name="label">Valid</Attribute>
+                <Attribute name="definition">Date (often a range) of validity of a resource.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">NgÃ y cÃ³ hiá»u lá»±c</Attribute>
+                <Attribute name="definition">ChÃ­nh xÃ¡c hoÃ¡</Attribute>
+                <Attribute name="comment">NgÃ y thÃ¡ng nguá»n tin ÄÆ°á»£c kiá»m tra láº§n cuá»i, cÃ³ hiá»u lá»±c. Nháº­p theo máº«u YYYY-MM-DD</Attribute>
+            </Language>
+        </Element>
+    </Element>
+    <Element name="Type" >
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Resource Type</Attribute>
+            <Attribute name="definition">The nature or genre of the content of the resource.</Attribute>
+            <Attribute name="comment">Type includes terms describing general categories, functions, genres, or aggregation levels for content. Recommended best practice is to select a value from a controlled vocabulary (for example, the working draft list of Dublin Core Types). To describe the physical or digital manifestation of the resource, use the FORMAT element.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Tumomo</Attribute>
+            <Attribute name="definition">Te ahua, te tu-ahuatanga ranei o nga kaupapa o te rauemi.</Attribute>
+            <Attribute name="comment">Kei roto i te Tumomo nga kupu whakaatu i nga wehewehenga whanui, nga aheinga, nga tu-ahuatanga, te whakaritenga ranei o nga taumata o te/ nga kaupapa. Ko te huarahi tino pai kua tohua, ko te tipako i tetahi uara mai i nga kupu kua whakaritea (hei tauira, ko te tauira rarangi e whakamahia ana o nga Dublin Core Types [DCT1]. Hei whakaatu i te whakatinanatanga o te rauemi, whakamahia ko te huanga WHAKATAKOTORANGA (FORMAT).</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Type</Attribute>
+            <Attribute name="definition">La nature ou le genre du contenu de la ressource.</Attribute>
+            <Attribute name="comment">Type inclut des termes dÃ©crivant des catÃ©gories, fonctions ou genres gÃ©nÃ©raux pour le contenu, ou des niveaux d&apos;agrÃ©gation. Il est recommandÃ© de choisir la valeur du type dans une liste de vocabulaire contrÃŽlÃ© (par exemple, la liste provisoire de Types du Dublin Core[DCT1]). Pour dÃ©crire la matÃ©rialisation physique ou digitale de la ressource, il faut utiliser l&apos;Ã©lÃ©ment Format.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">Ð¢ÐžÐ¿ ÑÐµÑÑÑÑÐ°</Attribute>
+            <Attribute name="definition">ÐÑÐžÑÐŸÐŽÐ° ÐžÐ»Ðž Ð¶Ð°ÐœÑ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">Ð¢ÐžÐ¿ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÑÐµÑÐŒÐžÐœÑ, ÐŸÐ¿ÐžÑÑÐ²Ð°ÑÑÐžÐµ ÐŸÐ±ÑÐžÐµ ÐºÐ°ÑÐµÐ³ÐŸÑÐžÐž, ÑÑÐœÐºÑÐžÐž, Ð¶Ð°ÐœÑÑ ÐžÐ»Ðž ÐŸÐ±ÑÐµÐŽÐžÐœÐµÐœÐœÑÐµ ÑÑÐŸÐ²ÐœÐž ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ. ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ Ð²ÑÐ±ÐžÑÐ°ÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐžÐ· ÐºÐŸÐœÑÑÐŸÐ»ÐžÑÑÐµÐŒÐŸÐ³ÐŸ ÑÐ»ÐŸÐ²Ð°ÑÑ (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, ÑÐ°Ð±ÐŸÑÐµÐ³ÐŸ Ð¿ÑÐŸÐµÐºÑÐ° ÑÐ¿ÐžÑÐºÐ° Ð¢ÐžÐ¿ÐŸÐ² Dublin Core DCT1). ÐÐ»Ñ ÐŸÐ¿ÐžÑÐ°ÐœÐžÑ ÑÐžÐ·ÐžÑÐµÑ-ÐºÐŸÐ³ÐŸ ÐžÐ»Ðž ÑÐžÑÑÐŸÐ²ÐŸÐ³ÐŸ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑ ÑÐµÑÑÑÑÐ° ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ ÑÐ»ÐµÐŒÐµÐœÑ Ð€ÐŸÑÐŒÐ°Ñ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Tipo del Recurso</Attribute>
+            <Attribute name="definition">La categorÃ­a del recurso, por ejemplo pÃ¡gina personal, romance, poema, minuta, diccionario. Para asegurar la interoperabilidad, Type deberÃ­a ser seleccionado de entre una lista de valores que actualmente se encuentra bajo desarrollo en un grupo de trabajo. En http://sunsite.berkeley.edu/Metadata/types.html se puede consultar el estado actual de la discusiÃ³n en torno a este tema.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">ÙÙØ¹ Ø§ÙÙ
+ØµØ¯Ø±</Attribute>
+            <Attribute name="definition">ÙÙ ÙØŠØ© Ø§ÙÙ
+ØµØ¯Ø± , Ù
+Ø«ÙØ§ Ø§ÙØµÙØ­Ø© Ø§ÙØ§Ù
+, Ø±ÙØ§ÙØ© , ÙØ·Ø¹Ø© ØŽØ¹Ø±ÙØ© , ÙØ±ÙØ© Ø¹Ù
+Ù , ØªÙØ±ÙØ± ÙÙÙ , Ù
+ÙØ§Ù , ÙØ§Ù
+ÙØ³ . Ù Ù
+Ù Ø£Ø¬Ù Ø§ÙØªØ¹Ø§Ù
+Ù Ø§ÙÙ
+ØŽØªØ±Ù    ÙØ¬Øš Ø£Ù ÙØ®ØªØ§Ø± Ø§ÙÙÙØ¹ Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+Ø±ÙÙ
+Ø© ÙØ§ÙØªÙ ÙÙÙ
+ Ø§Ø¹Ø¯Ø§Ø¯ÙØ§ Ø­Ø§ÙÙØ§ Ø¶Ù
+Ù Ø­ÙÙØ§Øª ÙØ±ØŽØ© Ø¹Ù
+Ù</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">èµæºç±»å</Attribute>
+            <Attribute name="definition">èµæºå
+å®¹çç¹åŸæç±»åã</Attribute>
+            <Attribute name="comment">èµæºç±»åå
+æ¬æè¿°èµæºå
+å®¹çäžè¬èçŽïŒåèœïŒç§å±ïŒæèç±»å±æ¬¡çæ¯è¯­ãå»ºè®®éçšæ¥èªäºåæ§è¯è¡š    äž­çåŒïŒäŸåŠDCMIç±»åè¯æ±è¡š[DCMITYPE]ïŒãèŠæè¿°èµæºçç©çææ°å­åè¡šç°åœ¢åŒïŒè¯·äœ¿çšâæ ŒåŒïŒFORMATïŒâå
+çŽ ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Typ zdroje</Attribute>
+            <Attribute name="definition">Povaha nebo druh obsahu zdroje.</Attribute>
+            <Attribute name="comment">Typ obsahuje termÃ­ny popisujÃ­cÃ­ obecnÃ© kategorie, funkce, druhy nebo agregaÄnÃ­ ÃºrovnÄ obsahu. DoporuÄuje se vybÃ­rat hodnotu z ÅÃ­zenÃ©ho slovnÃ­ku (napÅ. pracovnÃ­ nÃ¡vrh seznamu TypÅ¯ Dublin Core [DCT1]). K popisu fyzickÃ© nebo digitÃ¡lnÃ­ reprezentace zdroje uÅŸijte prvek FormÃ¡t.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Bestands type</Attribute>
+            <Attribute name="definition">Het soort Internetbron, bijvoorbeeld home page, gedicht, working paper, technical report, essay, woordenboek etc. De DC working groups zijn momenteel bezig met twee voorstellen; een minimalist draft: http://sunsite.berkeley.edu/Metadata/minimalist.html en een structuralist draft: http://sunsite.berkely.edu/Metadata/structuralist.html. Het wordt sterk aanbevolen om &quot;Type&quot; van deze lijsten te selecteren.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Typo del ressource</Attribute>
+            <Attribute name="definition">Le natura o genere del contento del ressource.</Attribute>
+            <Attribute name="comment">Le typo del ressource include terminos que describe categorias general, functiones, generes, o nivellos de aggregation pro le contento. Le practica recommendate es selectionar un valor a partir de un vocabulario controlate (per exemplo, le lista de schizzos de travalio de typos de Dublin Core [DCT1]). Pro describer le manifestation physic o digital del ressource, utiliza le elemento Formato.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€ªà¥à€°à€à€Ÿà€°</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à€Ÿà€ªà¥à€°à€à€Ÿà€°</Attribute>
+            <Attribute name="comment">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€µà€°à¥à€à¥à€à€°à€£, à€µà€°à¥à€à€µà€Ÿà€°à¥à€®à€§à¥à€¯à¥ à€à€à€Ÿà€Šà¥à€¯à€Ÿ à€šà¥à€à€Šà¥à€à€Ÿ à€®à¥à€à¥à€¯ à€à€à€ªà¥à€°à€à€Ÿà€°</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Thá» loáº¡i</Attribute>
+            <Attribute name="definition">MÃŽ táº£ báº£n cháº¥t hoáº·c thá» loáº¡i cá»§a ná»i dung cá»§a nguá»n tin</Attribute>
+            <Attribute name="comment">ThÃŽng tin vá» Thá» loáº¡i bao gá»m cÃ¡c thuáº­t ngá»¯ mÃŽ táº£ nhá»¯ng pháº¡m trÃ¹, thá» loáº¡i hoáº·c má»©c Äá» tÃ­ch há»£p cho ná»i dung cá»§a nguá»n tin. Khuyáº¿n nghá» lá»±a chá»n thuáº­t ngá»¯ tá»« Danh má»¥c thuáº­t ngá»¯ tá»« tá»« vá»±ng cÃ³ kiá»m soÃ¡t (tá»« danh má»¥c Kiá»u dá»¯ liá»u Dublin Core [DCT1]. Äá» mÃŽ táº£ dáº¡ng thá»©c váº­t lÃœ hoáº·c kiá»u dá»¯ liá»u sá» cá»§a nguá»n tin, sá»­ dá»¥ng yáº¿u tá» Dáº¡ng dá»¯ liá»u (Format).</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Format" >
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Format</Attribute>
+            <Attribute name="definition">The physical or digital manifestation of the resource.</Attribute>
+            <Attribute name="comment">Typically, Format may include the media-type or dimensions of the resource. Format may be used to determine the software, hardware or other equipment needed to display or operate the resource. Examples of dimensions include size and duration. Recommended best practice is to select a value from a controlled vocabulary (for example, the list of Internet Media Types [MIME] defining computer media formats).</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Whakatakotoranga</Attribute>
+            <Attribute name="definition">Te whakatinanatanga, te whakaputanga a-mati o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tikanga, ka taea te Whakatakotoranga te whakamahi hei whakarite i te rawa-ngohe (software), te rawa-maro (hardware), ma etahi taputapu ranei me matua whiwhi, hei whakahaere i te rauemi. Ko te rahi me te roanga etahi tauira hanga. Ko te tino huarahi kua tohua ko te tipako uara mai i tetahi whakaritenga kupu (hei tauira, te rarangi o nga Tumomo Papaho Ipurangi (Internet Media Types [MIME]) e whakaatu ana i nga whakatakotoranga papaho rorohiko.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Format</Attribute>
+            <Attribute name="definition">La matÃ©rialisation physique ou digitale de la ressource.</Attribute>
+            <Attribute name="comment">Typiquement, Format peut inclure le media ou les dimensions de la ressource. Format peut Ãªtre utilisÃ© pour prÃ©ciser le logiciel, le matÃ©riel ou autre Ã©quipement nÃ©cessaire pour afficher ou faire fonctionner la ressource. Exemples de dimensions incluent la taille et la durÃ©e. Il est recommandÃ© de choisir la valeur du format dans une liste de vocabulaire contrÃŽlÃ©(par exemple, la liste des types de media dÃ©finis sur Internet [MIME]).</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">Ð€ÐŸÑÐŒÐ°Ñ</Attribute>
+            <Attribute name="definition">Ð€ÐžÐ·ÐžÑÐµÑÐºÐŸÐµ ÐžÐ»Ðž ÑÐžÑÑÐŸÐ²ÐŸÐµ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ±ÑÑÐœÐŸ Ð€ÐŸÑÐŒÐ°Ñ ÐŒÐŸÐ¶ÐµÑ Ð²ÐºÐ»ÑÑÐ°ÑÑ ÑÐžÐ¿ Ð°ÑÐŽÐžÐŸÐ²ÐžÐ·ÑÐ°Ð»ÑÐœÐŸÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž (ÐŒÐµÐŽÐžÐ°-ÑÐžÐ¿) ÐžÐ»Ðž Ð²ÐµÐ»ÐžÑÐžÐœÑ ÑÐµÑÑÑÑÐ°. Ð€ÐŸÑÐŒÐ°Ñ ÐŒÐŸÐ¶ÐµÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑÑÑ ÐŽÐ»Ñ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÑ Ð°Ð¿Ð¿Ð°ÑÐ°ÑÐœÐŸÐ³ÐŸ, Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒÐœÐŸÐ³ÐŸ ÐŸÐ±ÐµÑÐ¿ÐµÑÐµÐœÐžÑ ÐžÐ»Ðž ÐŽÑÑÐ³ÐŸÐ³ÐŸ ÐŸÐ±ÐŸÑÑÐŽÐŸÐ²Ð°ÐœÐžÑ, ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸÐ³ÐŸ ÐŽÐ»Ñ Ð²ÐŸÑÐ¿ÑÐŸÐžÐ·Ð²ÐµÐŽÐµÐœÐžÑ ÐžÐ»Ðž ÑÐ°Ð±ÐŸÑÑ Ñ ÑÐµÑÑÑÑÐŸÐŒ. ÐÑÐžÐŒÐµÑÑ Ð²ÐµÐ»ÐžÑÐžÐœÑ Ð²ÐºÐ»ÑÑÐ°ÑÑ ÑÐ°Ð·ÐŒÐµÑ Ðž Ð¿ÑÐŸÐŽÐŸÐ»Ð¶ÐžÑÐµÐ»ÑÐœÐŸÑÑÑ. ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ Ð²ÑÐ±ÐžÑÐ°ÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐžÐ· ÐºÐŸÐœÑÑÐŸÐ»ÐžÑÑÐµÐŒÐŸÐ³ÐŸ ÑÐ»ÐŸÐ²Ð°ÑÑ (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, ÑÐ¿ÐžÑÐºÐ° ÐÐµÐŽÐžÐ°-ÑÐžÐ¿ÐŸÐ² ÐÐœÑÐµÑÐœÐµÑ MIME, ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÑÑÐµÐ³ÐŸ ÐºÐŸÐŒÐ¿ÑÑÑÐµÑÐœÑÐµ ÑÐŸÑÐŒÐ°ÑÑ Ð°ÑÐŽÐžÐŸÐ²ÐžÐ·ÑÐ°Ð»ÑÐœÐŸÐ¹ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÐž).</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Formato</Attribute>
+            <Attribute name="definition">El formato de datos de un recurso, usado para identificar el software y posiblemente, el hardware que se necesitarÃ­a para mostrar el recurso. Para asegurar la interoperabilidad, los valores de Format deberÃ­an ser seleccionados de entre una lista de valores que actualmente se encuentra bajo desarrollo en un grupo de trabajo.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙØµÙØºØ©</Attribute>
+            <Attribute name="definition">ÙØ°Ù ØµÙØºØ© Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø© Ø§ÙØ®Ø§ØµØ© ØšØ§ÙÙ
+ØµØ¯Ø± , Ù ØªØ³ØªØ®Ø¯Ù
+ ÙÙØªØ¹Ø±ÙÙ ØšØ§ÙØšØ±Ù
+Ø¬ÙØ§Øª ÙØ±ØšÙ
+Ø§ Ø§ÙØµÙØš ÙÙØ­Ø§Ø³ÙØš Ù Ø§ÙØªÙ ÙÙ
+ÙÙ Ø£Ù ÙØ­ØªØ§Ø¬    ÙÙØ§ ÙØ¹Ø±Ø¶ Ø£Ù ØªØŽØºÙÙ Ø§ÙÙ
+ØµØ¯Ø± . Ù
+Ù Ø£Ø¬Ù Ø§ÙØªØ¹Ø§Ù
+Ù Ø§ÙÙ
+ØŽØªØ±Ù, ÙØ¬Øš Ø£Ù ØªØ®ØªØ§Ø± Ø§ÙØµÙØºØ© Ù
+Ù Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+Ø±ÙÙ
+Ø© Ù Ø§ÙØªÙ ÙØªÙ
+ Ø§Ø¹Ø¯Ø§Ø¯ÙØ§    Ø­Ø§ÙÙØ§ Ø¶Ù
+Ù Ø­ÙÙØ§Øª ÙØ±ØŽØ© Ø¹Ù
+Ù</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">æ ŒåŒ</Attribute>
+            <Attribute name="definition">èµæºçç©çææ°å­è¡šç°åœ¢åŒã</Attribute>
+            <Attribute name="comment">äžè¬èèšïŒæ ŒåŒå¯èœå
+æ¬èµæºçåªäœç±»åæèµæºçå€§å°ïŒæ ŒåŒå
+çŽ å¯ä»¥çšæ¥å³å®å±ç€ºææäœèµæºæé    çèœ¯ç¡¬ä»¶æå
+¶ä»çžåºè®Ÿå€ïŒäŸåŠå€§å°å
+æ¬èµæºæå çå­åšç©ºéŽåæç»­æ¶éŽãå»ºè®®éçšæ¥èªäºåæ§è¯è¡š    äž­çåŒïŒïŒäŸåŠInternetåªäœç±»å[MIME]å®ä¹è®¡ç®æºåªäœæ ŒåŒïŒã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">FormÃ¡t</Attribute>
+            <Attribute name="definition">FyzickÃ¡ nebo digitÃ¡lnÃ­ reprezentace zdroje.</Attribute>
+            <Attribute name="comment">Typicky mÅ¯ÅŸe FormÃ¡t obsahovat typ mÃ©dia nebo rozmÄry zdroje. FormÃ¡t lze pouÅŸÃ­vat k urÄenÃ­ softwaru, hardwaru nebo dalÅ¡Ã­ho zaÅÃ­zenÃ­ potÅebnÃ©ho k zobrazenÃ­ nebo k manipulaci se zdrojem. PÅÃ­klady rozmÄrÅ¯ zahrnujÃ­ velikost a dobu trvÃ¡nÃ­. DoporuÄuje se vybÃ­rat hodnotu z ÅÃ­zenÃ©ho slovnÃ­ku (napÅ. seznam typÅ¯ internetovÃœch mÃ©diÃ­ [MIME] definujÃ­cÃ­ formÃ¡ty poÄÃ­taÄovÃœch mÃ©diÃ­).</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Format</Attribute>
+            <Attribute name="definition">Het data formaat van het Internetbestand. Dit gegeven kan gebruikt worden om systeemvereisten (hard- en software) te identificeren die nodig zijn voor raadpleging of bediening van de Internetbron. &quot;Format&quot; is nog in ontwikkeling bij de DC workshop. Uit compatibiliteitsoverwegingen wordt aanbevolen formaatgegevens te selecteren uit een gecontroleerde lijst. Formaten kunnen van de Internet Media Types (MIME types) lijst gekozen worden: http://www.isi.edu/in-notes/iana/assignments/media-types/media-types</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Formato</Attribute>
+            <Attribute name="definition">Le manifestation physic o digital del ressource.</Attribute>
+            <Attribute name="comment">Typicamente le formato pote includer le typo de medio o dimensiones del ressource. Le formato pote esser utilizate pro determinar le software o le equipamento necessari pro exhibir o operar le ressource. Exemplos de dimensiones include grandessa e duration. Le practica recommendate es selectionar un valor de un vocabulario controlate (per exemplo, le lista de typos de medios de Internet [MIME] que defini formatos de medios).</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€°à€à€šà€Ÿ</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€°à€à€šà€Ÿ, à€šà€®à¥à€šà€Ÿà€¬à¥à€Š à€°à€à€šà€Ÿ</Attribute>
+            <Attribute name="comment">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€žà¥à€µà€°à¥à€ª, à€°à€à€šà€Ÿà€à€Šà€Ÿ. à€€à¥à€¯à€Ÿà€à¥ à€°à¥à€ª à€à€žà¥ à€ªà¥à€žà¥à€€à€à€°à¥à€ª, à€žà€à€à€£à€à¥à€¯ à€°à¥à€ª, à€µà€¿à€Šà¥à€¯à¥à€€ à€ªà€°à€®à€Ÿà€£à¥à€à€à¥à€¯à€Ÿ à€žà€¹à€Ÿà€¯à¥à€¯à€Ÿà€šà¥ à€žà€à€à€£à€à¥à€à¥à€€ à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à€Ÿ</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Dáº¡ng máº«u dá»¯ liá»u</Attribute>
+            <Attribute name="definition">MÃŽ táº£ loáº¡i hÃ¬nh váº­t lÃœ hoáº·c sá» (Äiá»n tá»­) cá»§a nguá»n tin.</Attribute>
+            <Attribute name="comment">Vá» cÆ¡ báº£n, Yáº¿u tá» Format cung cáº¥p thÃŽng tin vá» váº­t mang tin cá»§a nguá»n tin náº¿u lÃ  nguá»n tin khÃŽng trá»±c tuyáº¿n. Yáº¿u tá» cÃ²n cung cáº¥p thÃŽng tin vá» kiá»u dá»¯ liá»u hoáº·c kÃ­ch thÆ°á»c, quy mÃŽ cá»§a nguá»n tin. Dáº¡ng máº«u cÃ³ thá» sá»­ dá»¥ng Äá» xÃ¡c Äá»nh pháº§n má»m, pháº§n cá»©ng hoáº·c thiáº¿t bá» khÃ¡c cáº§n thiáº¿t Äá» hiá»n thá» hoáº·c thao tÃ¡c vá»i nguá»n tin. Khuyáº¿n nghá» sá»­ dá»¥ng tá»« vá»±ng cÃ³ kiá»m soÃ¡t Äá» chá»n lá»±a thuáº­t ngá»¯ phÃ¹ há»£p (thÃ­ dá»¥ sá»­ dá»¥ng danh má»¥c tá»« chuáº©n tÃªn gá»i loáº¡i hÃ¬nh dá»¯ liá»u Internet (MIME) Äá» xÃ¡c Äá»nh dáº¡ng máº«u dá»¯ liá»u Äiá»n tá»­).</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+        <Element name="extent">
+            <Language code="en">
+                <Attribute name="label">Extent</Attribute>
+                <Attribute name="definition">The size or duration of the resource.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">Khá»i lÆ°á»£ng</Attribute>
+                <Attribute name="definition">KÃ­ch thÆ°á»c, Äá» lá»n cá»§a nguá»n tin</Attribute>
+                <Attribute name="comment"/>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+        <Element name="medium">
+            <Language code="en">
+                <Attribute name="label">Medium</Attribute>
+                <Attribute name="definition">The material or physical carrier of the resource.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">Váº­t mang tin</Attribute>
+                <Attribute name="definition">Loáº¡i váº­t cháº¥t mang thÃŽng tin cá»§a nguá»n tin</Attribute>
+                <Attribute name="comment">Ghi loáº¡i hÃ¬nh cá»§a váº­t cháº¥t mang thÃŽng tin (nhÆ° giáº¥y, vi phim, CDROM,...)</Attribute>
+            </Language>
+            <Attribute language="en" name="status">recommended</Attribute>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+        </Element>
+    </Element>
+    <Element name="Identifier" >
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Resource Identifier</Attribute>
+            <Attribute name="definition">An unambiguous reference to the resource within a given context.</Attribute>
+            <Attribute name="comment">Recommended best practice is to identify the resource by means of a string or number conforming to a formal identification system. Example formal identification systems include the Uniform Resource Identifier (URI) (including the Uniform Resource Locator (URL)), the Digital Object Identifier (DOI) and the International Standard Book Number (ISBN).</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Taututanga</Attribute>
+            <Attribute name="definition">He tohutoro e hangai ana ki te rauemi i roto i tetahi horopaki.</Attribute>
+            <Attribute name="comment">Ko te tino huarahi kua tohua, ko te tautu i te rauemi ma tetahi aho (string), tau ranei, e hangai ana ki tetahi punaha taututanga okawa. Ko etahi punaha taututanga okawa ko te Taututanga Rauemi Orite (Uniform Resource Identifier - URI), te Taututanga Rauemi Tohu-wahi (Uniform Resource Locator - URL), Te Mea A-mati (Digital Object Identifier - DOI) me te Tau Pukapuka Aro Whanui o te Ao (International Standard Book Number - ISBN).</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Identifiant</Attribute>
+            <Attribute name="definition">Une rÃ©fÃ©rence non ambiguÃ« Ã  la ressource dans un contexte donnÃ©</Attribute>
+            <Attribute name="comment">Il est recommandÃ© d&apos;identifier la ressource par une chaÃ®ne de caractÃšre ou un nombre conforme Ã  un sytÃšme formel d&apos;identification. Exemples de systemes formels d&apos;identification incluent le &quot;Uniform Resource Identifier&quot; (URI) (qui inclut le &quot;Uniform Resource Locator&quot; (URL)), le &quot;Digital Object Identifier&quot;(DOI) et le &quot;International Standard Book Number&quot;(ISBN).</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐŸÑ ÑÐµÑÑÑÑÐ°</Attribute>
+            <Attribute name="definition">ÐÐŽÐœÐŸÐ·ÐœÐ°ÑÐœÐ°Ñ ÑÑÑÐ»ÐºÐ° ÐœÐ° ÑÐµÑÑÑÑ Ð² Ð¿ÑÐµÐŽÐµÐ»Ð°Ñ
+ ÐŽÐ°ÐœÐœÐŸÐ³ÐŸ ÐºÐŸÐœÑÐµÐºÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ ÐžÐŽÐµÐœÑÐžÑÐžÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐµÑÑÑÑ Ð¿ÐŸÑÑÐµÐŽÑÑÐ²ÐŸÐŒ ÑÑÑÐŸÐºÐž ÐžÐ»Ðž ÑÐžÑÐ»Ð°, ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐµÐ³ÐŸ ÑÐŸÑÐŒÐ°Ð»ÑÐœÐŸÐ¹ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÐŸÐœÐœÐŸÐ¹ ÑÐžÑÑÐµÐŒÐµ. ÐÑÐžÐŒÐµÑÑ ÑÐŸÑÐŒÐ°Ð»ÑÐœÑÑ
+ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÐŸÐœÐœÑÑ
+ ÑÐžÑÑÐµÐŒ Ð²ÐºÐ»ÑÑÐ°ÑÑ Ð£ÐœÐžÑÐžÑÐžÑÐŸÐ²Ð°ÐœÐœÑÐ¹ ÐÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐŸÑ Ð ÐµÑÑÑÑÐ° (URI), (Ð²ÐºÐ»ÑÑÐ°Ñ Ð£ÐœÐžÑÐžÑÐžÑÐŸÐ²Ð°ÐœÐœÑÑÐ¹ ÐÐŸÐºÐ°ÑÐŸÑ Ð ÐµÑÑÑÑÐ° URL), ÐÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐŸÑ ÐŠÐžÑÑÐŸÐ²ÐŸÐ³ÐŸ ÐÐ±ÑÐµÐºÑÐ° (DOI) Ðž ÐÐµÐ¶ÐŽÑÐœÐ°ÑÐŸÐŽÐœÑÐ¹ Ð¡ÑÐ°ÐœÐŽÐ°ÑÑÐœÑÐ¹ ÐÐœÐžÐ¶ÐœÑÐ¹ ÐÐŸÐŒÐµÑ (ISBN).</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Identificador del Recurso</Attribute>
+            <Attribute name="definition">Secuencia de caracteres usados para identificar unÃ­vocamente un recurso. Ejemplos para recursos en lÃ­nea pueden ser URLs y URNs (cuando estÃ©n implementados). Para otros recursos pueden ser usados otros formatos de identificadores, como por ejemplo ISBN (&quot;International Standard Book Number&quot; - NÃºmero Internacional Normalizado para Libros)</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ù
+Ø¹Ø±Ù Ø§ÙÙ
+ØµØ¯Ø±</Attribute>
+            <Attribute name="definition">ÙÙ Ù
+Ø¬Ù
+ÙØ¹Ø© Ø­Ø±ÙÙØ© Ø£Ù Ø±ÙÙ
+ ÙØ³ØªØ®Ø¯Ù
+ ÙØªØ¹Ø±ÙÙ Ø§ÙÙ
+ØµØ¯Ø± Ø§Ø­Ø¯ÙØ§ : Ø§ÙØ§Ù
+Ø«ÙØ© ÙØ°Ø§ÙÙ ÙÙ Ø§ÙÙ
+ØµØ§Ø¯Ø± Ø§ÙØŽØšÙÙØ©ØªØ¶Ù
+ ) URNs, URLs Ø¹ÙØ¯ ØšÙØ§ØŠÙØ§ (    ÙØ°ÙÙ ÙÙ
+ÙÙ Ø§Ø¹ØªØšØ§Ø± Ø§ÙÙ
+Ø¹Ø±ÙØ§Øª Ø§ÙØ¹Ø§ÙÙ
+ÙØ© Ø§ÙØ§Ø­Ø§Ø¯ÙØ© Ù
+Ø«Ù Ø§ÙØ±ÙÙ
+ Ø§ÙØ¯ÙÙÙ ÙØªØµÙÙÙ Ø§ÙÙØ§ØªØš (ISBN) Ù
+Ø±ØŽØ­Ø© ÙÙØ°Ø§ Ø§ÙØ¹Ø§Ù
+Ù</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">èµæºæ è¯ç¬Š</Attribute>
+            <Attribute name="definition">åšç¹å®çèåŽå
+ç»äºèµæºçäžäžªæç¡®çæ è¯ã</Attribute>
+            <Attribute name="comment">å»ºè®®å¯¹èµæºçæ è¯éçšç¬Šåæäžæ­£åŒæ è¯äœç³»çå­ç¬Šäž²åæ°å­ç»åãäŸåŠæ­£åŒçæ è¯äœç³»å
+æ¬ç»äžèµ    æºæ è¯ç¬Š(URI) (å
+æ¬åäžèµæºå®äœç¬ŠURL)ãæ°å­å¯¹è±¡æ è¯ç¬Š(DOI)ååœé
+æ åä¹Šå·(ISBN)ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">IdentifikÃ¡tor zdroje</Attribute>
+            <Attribute name="definition">JednoznaÄnÃœ odkaz na zdroj v rÃ¡mci danÃ©ho kontextu.</Attribute>
+            <Attribute name="comment">DoporuÄuje se identifikovat zdroj znakovÃœm ÅetÄzcem nebo ÄÃ­slem odpovÃ­dajÃ­cÃ­m nÄkterÃ©mu z formÃ¡lnÃ­ch identifikaÄnÃ­ch systÃ©mÅ¯. PÅÃ­klady formÃ¡lnÃ­ch identifikaÄnÃ­ch systÃ©mÅ¯ zahrnujÃ­ Uniform Resource Identifier (URI) (vÄetnÄ Uniform Resource Locator (URL)), Digital Object Identifier (DOI) a MezinÃ¡rodnÃ­ standardnÃ­ ÄÃ­slo knihy (ISBN).</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Bestandsidentificatie</Attribute>
+            <Attribute name="definition">Een unieke string of nummer ter identificatie van de Internetbron. Voorbeelden zijn URL&apos;s of URN&apos;s Andere voorbeelden zijn International Standard Book Number (ISBN) of International Standard Serial Number (ISSN)</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Identificator del ressource</Attribute>
+            <Attribute name="definition">Un referentia inambigue al ressource intra un date contexto.</Attribute>
+            <Attribute name="comment">Se recommenda identificar le ressource per medio de un catena de characteres o numero conforme a un systema formal de identification. Exemplos de systemas formal de identification include le Uniform Resource Identifier (URI) (includente le Uniform Resource Locator (URL)), le Digital Object Identifier (DOI) e le International Standard Book Number (ISBN).</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€à€³à€</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à€Ÿ à€à€ à€
+à€°à¥à€¥à¥ à€žà€à€Šà€°à¥à€­</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ. à€®à€Ÿà€¹à€¿à€€à¥à€à€Ÿà€³à¥à€¯à€Ÿà€µà€°à¥à€² à€ªà€€à¥à€€à€Ÿ, à€µà€¿à€¶à€¿à€·à¥à€  à€žà¥à€¥à€³,  à€ªà¥à€žà¥à€€à€à€Ÿà€à€Ÿ à€à€à€€à€°à€°à€Ÿà€·à¥à€à¥à€°à¥à€¯  à€®à€Ÿà€šà€ à€à¥à€°à€®à€Ÿà€à€,  à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€à€³à€ à€ªà€à€µà€¿à€£à€Ÿà€°à€Ÿ à€à€à€à€°à€šà¥à€ à€µà€°à¥à€² à€ªà€€à¥à€€à€Ÿ</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Äá»nh danh</Attribute>
+            <Attribute name="definition">Má»t tham chiáº¿u khÃŽng trÃ¹ng láº·p Äáº¿n nguá»n tin trong khung cáº£nh cá»¥ thá»</Attribute>
+            <Attribute name="comment">Khuyáº¿n nghá» sá»­ dá»¥ng cÃ¡c Äá»nh danh nguá»n tin theo nhá»¯ng chuáº©n ÄÆ°á»£c cháº¥p nháº­n quy Äá»nh cho nhá»¯ng há» thá»ng Äá»nh danh hÃ¬nh thá»©c. ThÃ­ dá»¥ vá» há» thá»ng Äá»nh danh bao gá»m: Äá»nh danh Nguá»n tin thá»ng nháº¥t (Uniform Resource Identifier hoáº·c URI, trong ÄÃ³ cÃ³ Äá»nh vá» nguá»n tin thá»ng nháº¥t URL - Uniform Resource Locator, TÃªn nguá»n tin thá»ng nháº¥t URN - Uniform Resource Name vÃ  Äá»nh vá» nguá»n tin thá»ng nháº¥t á»n Äá»nh PURL - Persistent URL),  Äá»nh danh Äá»i tÆ°á»£ng sá» DOI (Digital Object Identifier), Chá» sá» sÃ¡ch chuáº©n quá»c táº¿ ISBN (International Standard Book Number),...</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+        <Element name="bibliographicCitation">
+            <Attribute language="en" name="status">conforming</Attribute>
+            <Language code="en">
+                <Attribute name="label">Bibliographic Citation</Attribute>
+                <Attribute name="definition">A bibliographic reference for the resource. </Attribute>
+                <Attribute name="comment">Recommended practice is to include sufficient bibliographic detail to identify the resource as unambiguously as possible, whether or not the citation is in a standard form.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">TrÃ­ch dáº«n thÆ° má»¥c</Attribute>
+                <Attribute name="definition">Má»t tham chiáº¿u thÆ° má»¥c cho nguá»n tin</Attribute>
+                <Attribute name="comment">MÃŽ táº£ cÃ¡c chi tiáº¿t thÆ° má»¥c Äá»§ Äá» xÃ¡c Äinh nguá»n tin má»t cÃ¡ch khÃŽng trÃ¹ng láº·p, khÃŽng nháº¥t thiáº¿t pháº£i theo quy táº¯c trÃ­ch dáº«n hoáº·c mÃŽ táº£ chuáº©n nÃ o</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+        </Element>
+    </Element>
+    <Element name="InstructionalMethod">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Instructional Method</Attribute>
+            <Attribute name="definition">A process, used to engender knowledge, attitudes and skills, that the described resource is designed to support.</Attribute>
+            <Attribute name="comment">Instructional Method will typically include ways of presenting instructional materials or conducting instructional activities, patterns of learner-to-learner and learner-to-instructor interactions, and mechanisms by which group and individual levels of learning are measured. Instructional methods include all aspects of the instruction and learning processes from planning and implementation through evaluation and feedback.</Attribute>
+       </Language>
+    </Element>	
+    <Element name="Source" >
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Source</Attribute>
+            <Attribute name="definition">A Reference to a resource from which the present resource is derived.</Attribute>
+            <Attribute name="comment">The present resource may be derived from the Source resource in whole or in part.  Recommended best practice is to reference the resource by means of a string or number conforming to a formal identification system.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Matapuna</Attribute>
+            <Attribute name="definition">He tohutoro ki tetahi rauemi koira te matapuna o te rauemi e tirohia ana.</Attribute>
+            <Attribute name="comment">Tera pea i puta te katoa, tetahi wahanga ranei o te rauemi, e tirohia ana, mai i te Matapuna rauemi. Ko te tino huarahi kua tohua ko te tohutoro ki te rauemi ma te aho, ma te tau ranei e hangai ana ki tetahi punaha taututanga okawa.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Source</Attribute>
+            <Attribute name="definition">Une rÃ©fÃ©rence Ã  une ressource Ã  partir de laquelle la ressource actuelle a Ã©tÃ© dÃ©rivÃ©e.</Attribute>
+            <Attribute name="comment">La ressource actuelle peut avoir Ã©tÃ© dÃ©rivÃ©e d&apos;une autre ressource source, en totalitÃ© ou en partie. Il est recommandÃ© de refÃ©rencer cette source par une chaÃ®ne de caractÃšre ou un nombre conforme Ã  un systÃšme formel d&apos;identification.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÑÑÐŸÑÐœÐžÐº</Attribute>
+            <Attribute name="definition">Ð¡ÑÑÐ»ÐºÐ° ÐœÐ° ÑÐµÑÑÑÑ, ÐžÐ· ÐºÐŸÑÐŸÑÐŸÐ³ÐŸ ÐžÐ·Ð²Ð»ÐµÑÐµÐœ ÐœÐ°ÑÑÐŸÑÑÐžÐ¹.</Attribute>
+            <Attribute name="comment">ÐÐ°ÑÑÐŸÑÑÐžÐ¹ ÑÐµÑÑÑÑ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÐ·Ð²Ð»ÐµÑÐµÐœ ÐžÐ· ÐÑÑÐŸÑÐœÐžÐºÐ° ÑÐµÐ»ÐžÐºÐŸÐŒ ÐžÐ»Ðž ÑÐ°ÑÑÐžÑÐœÐŸ. ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ ÐžÐŽÐµÐœÑÐžÑÐžÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐµÑÑÑÑ Ð¿ÐŸÑÑÐµÐŽÑÑÐ²ÐŸÐŒ ÑÑÑÐŸÐºÐž ÐžÐ»Ðž ÑÐžÑÐ»Ð°, ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐµÐ³ÐŸ ÑÐŸÑÐŒÐ°Ð»ÑÐœÐŸÐ¹ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÐŸÐœÐœÐŸÐ¹ ÑÐžÑÑÐµÐŒÐµ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Fuente</Attribute>
+            <Attribute name="definition">Secuencia de caracteres utilizado para identificar unÃ­vocamente un trabajo a partir del cual proviene el recurso actual. Por ejemplo, es posible usar Source con la fecha de 1603 como descripciÃ³n de una pelÃ­cula basada en una obra de Shakespeare, pero es preferible, en ese caso, usar Relation &quot;IsBasedOn&quot; con una referencia a un recurso distinto cuya descripciÃ³n contenga el elemento Date con valor 1603.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙ
+ØµØ¯Ø±</Attribute>
+            <Attribute name="definition">Ø§ÙÙ
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙØ®Ø§ØµØ© ØšÙ
+ØµØ¯Ø± Ø«Ø§ÙÙ Ù Ø§ÙØ°Ù Ø§Ø³ØªÙ
+Ø¯ Ù
+ÙÙ Ø§ÙÙ
+ØµØ¯Ø± Ø§ÙØ­Ø§ÙÙ. Ù
+Ø¹ Ø£ÙÙ Ù
+Ù Ø§ÙÙ
+ÙØµÙ ØšÙ Ø£Ù ØªÙØ¯Ù
+ Ø§ÙØ¹ÙØ§Ù
+Ù    Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø¹Ù Ø§ÙÙ
+ØµØ¯Ø± Ø§ÙØ­Ø§ÙÙ ÙÙØ· , ÙÙÙ
+ÙÙ Ø£Ù ÙØ­ÙÙ ÙØ°Ø§ Ø§ÙØ¹Ø§Ù
+Ù Ø§ÙØªØ§Ø±ÙØ®, Ø§ÙÙ
+ÙØŽØŠ , Ø§ÙØµÙØºØ© , Ø§ÙÙ
+Ø¹Ø±Ù , Ø§Ù Ø§ÙØ© Ù
+ÙØ© - Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø§Ø®Ø±Ù ÙÙÙ
+ØµØ¯Ø± Ø§ÙØ«Ø§ÙÙ Ø¹ÙØ¯Ù
+Ø§ ØªØ¹ØªØšØ± Ù
+ÙÙ
+Ø© ÙØ§ÙØªØŽØ§Ù Ø§ÙÙ
+ØµØ¯Ø± Ø§ÙØ­Ø§ÙÙ , Ù ÙØ°Ø§ÙÙ ÙÙØµÙ Ø¹ÙØ¯ Ø§ÙØªØ·ØšÙÙÙÙ Ø§Ø­Ø³Ù     Ø§ÙÙ
+ØªØ¹Ø§Ø±Ù Ø¹ÙÙÙ ØšØ§Ø³ØªØ®Ø¯Ø§Ù
+ Ø¹Ø§Ù
+Ù Ø§ÙØ¹ÙØ§ÙØ©</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">æ¥æº</Attribute>
+            <Attribute name="definition">ç°æèµæºæ¥æºçåç
+§ã</Attribute>
+            <Attribute name="comment">åœåèµæºå¯èœéšåæå
+šéšæºèªè¯¥å
+çŽ ææ è¯çèµæºïŒå»ºè®®å¯¹è¿äžèµæºçæ è¯éçšäžäžªç¬Šåæ­£åŒæ è¯ç³»    ç»çå­äž²åæ°å­ç»å ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Zdroj</Attribute>
+            <Attribute name="definition">Odkaz na zdroj, z nÄhoÅŸ je popisovanÃœ zdroj odvozen.</Attribute>
+            <Attribute name="comment">PopisovanÃœ zdroj mÅ¯ÅŸe bÃœt zcela nebo zÄÃ¡sti odvozen ze zdroje uvedenÃ©ho v prvku Zdroj. DoporuÄuje se odkazovat zdroj znakovÃœm ÅetÄzcem nebo ÄÃ­slem odpovÃ­dajÃ­cÃ­m nÄkterÃ©mu z formÃ¡lnÃ­ch identifikaÄnÃ­ch systÃ©mÅ¯.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Bron</Attribute>
+            <Attribute name="definition">Informatie over een tweede bron waar de huidige Internetbron is van afgeleid. Bij &quot;Source&quot; mag een datum, auteur of maker, formaat, identificatie of andere metadata voor de tweede bron worden ingevuld. Voorbeeld: het is mogelijk om een &quot;Source&quot; datum 1603 in een omschrijving van een 1996 film bewerking van een Shakespeare stuk te gebruiken. &quot;Source&quot; is niet bruikbaar wanneer de huidige bron de orginele is.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Fonte</Attribute>
+            <Attribute name="definition">Un referentia a un ressource del qual se deriva le ressource presente.</Attribute>
+            <Attribute name="comment">Le ressource presente pote derivar se del ressource-fonte in toto o in parte. Le practica recommendate es facer referentia al ressource per medio de un catena de characteres o un numero conforme a un systema formal de identification.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€à€à€®</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€à€Ÿ à€à€à€® à€žà€Ÿà€à€à€£à€Ÿà€°à€Ÿ à€à€à€
+à€°à¥à€¥à¥ à€žà€à€Šà€°à¥à€­</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ. à€ªà¥à€žà¥à€€à€, à€®à€Ÿà€žà€¿à€,  à€®à€Ÿà€¹à€¿à€€à¥à€à€Ÿà€³à¥à€¯à€Ÿà€µà€°à¥à€² à€ªà€€à¥à€€à€Ÿà€¯à€Ÿà€à€à€Ÿ à€žà€à€Šà€°à¥à€­</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Nguá»n</Attribute>
+            <Attribute name="definition">Tham chiáº¿u vá» nguá»n gá»c mÃ  tá»« ÄÃ³ nguá»n tin hiá»n ÄÆ°á»£c mÃŽ táº£ ÄÆ°á»£c rÃºt ra hoáº·c táº¡o ra tá»« ÄÃ³.</Attribute>
+            <Attribute name="comment">Nguá»n tin Äang ÄÆ°á»£c mÃŽ táº£ cÃ³ thá» lÃ  ÄÆ°á»£c trÃ­ch ra hoáº·c táº¡o ra tá»« nguá»n tin khÃ¡c. Khuyáº¿n nghá» sá»­ dá»¥ng cÃ¡ch tham chiáº¿u Äáº¿n nguá»n tin báº±ng cÃ¡c thÃŽng tin phÃ¹ há»£p vá»i cÃ¡c quy táº¯c cá»§a cÃ¡c há» thá»ng Äá»nh danh hÃ¬nh thá»©c.</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Language" >
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Language</Attribute>
+            <Attribute name="definition">A language of the intellectual content of the resource.</Attribute>
+            <Attribute language="en" name="comment">Recommended best practice for the values of the Language element is defined by RFC 1766 which includes a two-letter Language Code (taken from the ISO 639 standard, followed optionally, by a two-letter Country Code (taken from the ISO 3166 standard). For example, &apos;en&apos; for English, &apos;fr&apos; for French, or &apos;en-uk&apos; for English used in the United Kingdom.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Reo</Attribute>
+            <Attribute name="definition">Te reo o te whakakaupapatanga o nga matauranga o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tino huarahi kua tohua mo nga uara o te huanga Reo kua whakaritea ki te RFC 1766 [RFC1766] kei roto te Tohu Reo kupu-rua (two-letter Language Code) (no te aro whanui ISO 639 [ISO639], ka taea e tetahi tohu kupu-rua te whai atu (no te aro whanui ISO 3166) [ISO366]). Hei tauira, te &apos;en&apos; mo te English, te &apos;fr&apos; mo te French, &apos;te en-uk&apos; mo te English e whakamahia ana i Ingarangi (UK).</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Langue</Attribute>
+            <Attribute name="definition">La langue du contenu intellectuel de la ressource.</Attribute>
+            <Attribute name="comment">Il est recommandÃ© d&apos;utiliser comme valeur de l&apos;Ã©lÃ©ment Langue celles definies par la RFC 1766 [RFC1766] qui comprend un code de langage Ã  deux caractÃšres(venant du standard ISO 639 [ISO639]), Ã©ventuellement suivi d&apos;un code Ã  deux lettres pour le pays (venant du standard ISO 3166 [ISO3166] ou en franÃ§ais [ISO3166]). Par exemple, &apos;en&apos; pour l&apos;anglais, &apos;fr&apos; pour le franÃ§ais, ou &apos;en-uk&apos; pour l&apos;anglais utilisÃ© au Royaume-Uni.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">Ð¯Ð·ÑÐº</Attribute>
+            <Attribute name="definition">Ð¯Ð·ÑÐº ÐžÐœÑÐµÐ»Ð»ÐµÐºÑÑÐ°Ð»ÑÐœÐŸÐ³ÐŸ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÑÐ»ÐµÐŒÐµÐœÑÐ° Ð¯Ð·ÑÐº, ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÐµÐŒÐŸÐµ RFC 1766 (Ð¢ÑÐ³Ðž ÐŽÐ»Ñ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÐž ÑÐ·ÑÐºÐ°), Ð²ÐºÐ»ÑÑÐ°ÑÑÐžÐŒ ÐŽÐ²ÑÑ
+Ð±ÑÐºÐ²ÐµÐœÐœÑÐ¹ ÐºÐŸÐŽ ÑÐ·ÑÐºÐ° (Ð²Ð·ÑÑÑÐ¹ ÐžÐ· ÑÑÐ°ÐœÐŽÐ°ÑÑÐ° ISO 639 (ÐÐŸÐŽÑ ÐŽÐ»Ñ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐ¹ ÑÐ·ÑÐºÐŸÐ²)), Ð·Ð° ÐºÐŸÑÐŸÑÑÐŒ ÑÐ»ÐµÐŽÑÐµÑ (Ð¿ÑÐž ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸÑÑÐž) ÐŽÐ²ÑÑ
+Ð±ÑÐºÐ²ÐµÐœÐœÑÐ¹ ÐºÐŸÐŽ ÑÑÑÐ°ÐœÑ (Ð²Ð·ÑÑÑÐŒÐž ÐžÐ· ÑÑÐ°ÐœÐŽÐ°ÑÑÐ° ISO 3166 (ÐÐŸÐŽÑ ÐŽÐ»Ñ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÑ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐ¹ ÑÑÑÐ°Ðœ)). ÐÐ°Ð¿ÑÐžÐŒÐµÑ, &quot;en&quot; - ÐŽÐ»Ñ Ð°ÐœÐ³Ð»ÐžÐ¹ÑÐºÐŸÐ³ÐŸ, &quot;fr&quot; - ÐŽÐ»Ñ ÑÑÐ°ÐœÑÑÐ·ÑÐºÐŸÐ³ÐŸ, &quot;en-uk&quot; - ÐŽÐ»Ñ Ð°ÐœÐ³Ð»ÐžÐ¹ÑÐºÐŸÐ³ÐŸ, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÐŸÐ³ÐŸ Ð² ÐÐµÐ»ÐžÐºÐŸÐ±ÑÐžÑÐ°ÐœÐžÐž.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Lengua</Attribute>
+            <Attribute name="definition">Lengua/s del contenido intelectual del recurso. Practicamente el contenido de este campo deberÃ­a coincidir con los de la RFC 1766 (Tags para la identificaciÃ³n de lenguas, http://ds.internic.net/rfc/rfc1766.txt); por ejemplo: en, es, de, fi, ja y zh.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙÙØºØ©</Attribute>
+            <Attribute name="definition">ÙØ°Ù ÙÙ ÙØºØ© Ø§ÙÙ
+Ø­ØªÙÙ Ø§ÙÙÙØ±Ù ÙÙÙ
+ØµØ¯Ø± . ÙÙÙ
+Ø§ ÙØ§Ù  Ø¹Ù
+ÙÙØ§ , Ù
+Ø­ØªÙÙ ÙØžØ§ Ø§ÙØ­ÙÙ ÙØ¬Øš Ø£Ù ÙØªØ·Ø§ØšÙ Ù
+Ø¹ RFC 1766    ] Ø§ÙØ§Ù
+Ø«ÙØ© ØªØ¶Ù
+ th, ja, fr, es, fi, de, en Ù zh ÙØ±Ù
+ÙØ² ÙÙØªØ¹Ø±ÙÙ ØšØ§ÙÙØºØ© [</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">è¯­ç§</Attribute>
+            <Attribute name="definition">æè¿°èµæºç¥è¯å
+å®¹çè¯­ç§ã</Attribute>
+            <Attribute name="comment">å»ºè®®æ¬å
+çŽ çåŒéçšRFC 3066[RFC3066]ïŒè¯¥æ åäžISO 639 [ISO639]äžèµ·å®ä¹äºç±äž€äžªåäžäžªè±    æå­æ¯ç»æçäž»è¯­èšæ ç­Ÿåå­æ ç­ŸäŸåŠå
+æ¬âenâæâengâæ¥è¡šç€ºEnglish, &quot;akk&quot; æ¥è¡šç€º    &quot;en-GB&quot;è¡šç€ºè±åœè±è¯­ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Jazyk</Attribute>
+            <Attribute name="definition">Jazyk intelektuÃ¡lnÃ­ho obsahu zdroje.</Attribute>
+            <Attribute name="comment">DoporuÄenÃœ postup pro hodnoty prvku Jazyk je definovÃ¡n v RFC 1766 [RFC1766]: dvouznakovÃœ kÃ³d jazyka (pÅevzatÃœ z normy ISO 639 [ISO639]) volitelnÄ nÃ¡sledovanÃœ dvouznakovÃœm kÃ³dem zemÄ (pÅevzatÃœm z normy ISO 3166 [ISO3166]). NapÅÃ­klad &apos;en&apos; pro angliÄtinu, &apos;fr&apos; pro francouzÅ¡tinu, &apos;cs&apos; pro ÄeÅ¡tinu, nebo &apos;en-uk&apos; pro angliÄtinu uÅŸÃ­vanou ve SpojenÃ©m krÃ¡lovstvÃ­.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Taal</Attribute>
+            <Attribute name="definition">De taal waarin het document is beschreven. Voorgeschreven wordt de ISO639-1 norm, een twee karakter taalcode van de ISO 639(639-1 en 639-2) norm. Taalcodes kunnen van een lijst worden gekozen: http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt, Eventueel kan ISO3166 (landencodes) gebruikt worden om aan te geven in welk gebied de taal wordt gesproken. Deze kunnen ook van een lijst worden gekozen:  http://www.ics.uci.edu/pub/ietf/http/related/iso3166.txt.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Lingua</Attribute>
+            <Attribute name="definition">Le lingua del contento intellectual del ressource.</Attribute>
+            <Attribute name="comment">Le practica recommendate pro le valores del elemento lingua es definite per RFC 1766 [RFC1766], que include un codice de lingua de duo litteras (prendite del standard ISO 639 [ISO639]), sequite optionalmente per un codice de pais de duo litteras (prendite del standard ISO 3166 [ISO3166]). Per exemplo, &apos;ia&apos; pro interlingua, &apos;fr&apos; pro francese, o &apos;en-uk&apos; pro le anglese del Regno Unite.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€­à€Ÿà€·à€Ÿ</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€­à€Ÿà€·à€Ÿ</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ. à€®à€°à€Ÿà€ à¥ - à€­à€Ÿà€°à€€à¥à€¯ à€­à€Ÿà€·à€Ÿ</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">NgÃŽn ngá»¯</Attribute>
+            <Attribute name="definition">NgÃŽn ngá»¯ cá»§a chÃ­nh vÄn cá»§a ná»i dung cá»§a nguá»n tin</Attribute>
+            <Attribute name="comment">Khuyáº¿n nghá» sá»­ dá»¥ng tiÃªu chuáº©n mÃ£ ngÃŽn ngá»¯ hai kÃœ tá»± theo chuáº©n ISO 639 ÄÆ°á»£c sá»­ dá»¥ng trong RFC 3066 [RFC 3066].</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="Relation" >
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Relation</Attribute>
+            <Attribute name="definition">A reference to a related resource.</Attribute>
+            <Attribute name="comment">Recommended best practice is to reference the resource by means of a string or number conforming to a formal identification system.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Whai Panga</Attribute>
+            <Attribute name="definition">He tohutoro ki tetahi rauemi whai panga.</Attribute>
+            <Attribute name="comment">Ko te tino huarahi kua tohua, ko te tohutoro ki te rauemi ma te aho, te tau ranei, e hangai ana ki te punaha taututanga okawa.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Relation</Attribute>
+            <Attribute name="definition">Une rÃ©fÃ©rence Ã  une autre ressource qui a un rapport avec cette ressource.</Attribute>
+            <Attribute name="comment">Il est recommandÃ© de rÃ©fÃ©rencer cette ressource par une chaÃ®ne de caractÃšres ou un numÃ©ro conforme Ã  un systÃšme formel d&apos;identification.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÑÐœÐŸÑÐµÐœÐžÐµ</Attribute>
+            <Attribute name="definition">ï¿œÐµÐœÐœÑÐ¹ ÑÐµÑÑÑÑ.</Attribute>
+            <Attribute name="comment">ÐÐ»Ñ Ð¿ÑÐ°ÐºÑÐžÑÐµÑÐºÐŸÐ³ÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ ÐžÐŽÐµÐœÑÐžÑÐžÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐµÑÑÑÑ Ð¿ÐŸÑÑÐµÐŽÑÑÐ²ÐŸÐŒ ÑÑÑÐŸÐºÐž ÐžÐ»Ðž ÑÐžÑÐ»Ð°, ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐµÐ³ÐŸ ÑÐŸÑÐŒÐ°Ð»ÑÐœÐŸÐ¹ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÐŸÐœÐœÐŸÐ¹ ÑÐžÑÑÐµÐŒÐµ.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">RelaciÃ³n</Attribute>
+            <Attribute name="definition">Un identificador de un segundo recurso y su relaciÃ³n con el recurso actual. Este elemento permite enlazar los recursos relacionados y las descripciones de los recursos. Por ejemplo: IsVersionOf - Incluye la ediciÃ³n de un trabajo, IsBasedOn - La traducciÃ³n de un trabajo, IsPartOf - Un capÃ­tulo de un libro, IsFormatOf - Un mecanismo de transformaciÃ³n de un conjunto de datos en una imagen. Para asegurar la interoperabilidad, las relaciones deberÃ­an ser seleccionadas de una lista de elementos que actualmente se encuentra bajo desarrollo en un grupo de trabajo.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙØ¹ÙØ§ÙØ©</Attribute>
+            <Attribute name="definition">ÙØ°Ø§ Ù
+Ø¹Ø±Ù ÙÙÙ
+ØµØ¯Ø± Ø§ÙØ«Ø§ÙÙ Ù Ø¹ÙØ§ÙØªÙ ØšØ§ÙÙ
+ØµØ¯Ø± Ø§ÙØ­Ø§ÙÙ . ÙØ³Ù
+Ø­ ÙØ°Ø§ Ø§ÙØ¹Ø§Ù
+Ù ØšØªÙØ¶ÙØ­ Ø§ÙØ±ÙØ§ØšØ· ØšÙÙ Ø§ÙÙ
+ØµØ§Ø¯Ø± Ø§ÙÙ
+ØªØ¹ÙÙØ©     ØšØšØ¹Ø¶ÙØ§ Ù ØªÙØµÙÙ Ø§ÙÙ
+ØµØ¯Ø± . Ø§ÙØ§Ù
+Ø«ÙØ© ØªØ¶Ù
+ Ø·ØšØ¹Ø© Ø§ÙØ¹Ù
+Ù ) ÙØ³Ø®Ø© Ù
+Ù ( ØªØ±Ø¬Ù
+Ø© Ø¹Ù
+Ù ) Ø§Ø¹ØªÙ
+Ø§Ø¯Ø§ Ø¹ÙÙ ( ÙØµÙ Ù
+Ù ÙØªØ§Øš ) Ø¬Ø²Ø¡ Ù
+Ù (    Ù ØªØ­ÙÙÙÙ Ù
+ÙÙØ§ÙÙÙÙØ© ÙÙ
+Ø¬Ù
+ÙØ¹Ø© Ù
+Ø¹ÙÙÙ
+Ø§ØªÙØ© Ø§ÙÙ ØµÙØ±Ø© ) ØµÙØºØ© Ù
+Ù ( Ù
+Ù Ø£Ø¬Ù Ø§ÙØªØ¹Ø§Ù
+Ù Ø§ÙÙ
+ØŽØªØ±Ù , ÙØ¬Øš Ø§Ø®ØªÙØ§Ø± Ø§ÙØ¹ÙØ§ÙØ§Øª Ù
+Ù    Ø§ÙÙØ§ØŠÙ
+Ø© Ø§ÙÙ
+Ø±ÙÙ
+Ø© Ù Ø§ÙØªÙ ÙØªÙ
+ Ø§Ø¹Ø¯Ø§Ø¯ÙØ§ Ø­Ø§ÙÙØ§ Ø¶Ù
+Ù Ø­ÙÙØ§Øª ÙØ±ØŽØ© Ø¹Ù
+Ù</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">å
+³è</Attribute>
+            <Attribute name="definition">æ¶åççžå
+³èµæºã</Attribute>
+            <Attribute name="comment">èåœçžå
+³èµæºæ¶ïŒå»ºè®®äœ¿çšç¬Šåæ­£åŒæ è¯ç³»ç»çå­ç¬Šäž²æè
+æ°å­ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">Vztah</Attribute>
+            <Attribute name="definition">Odkaz na pÅÃ­buznÃœ zdroj.</Attribute>
+            <Attribute name="comment">DoporuÄuje se odkazovat zdroj znakovÃœm ÅetÄzcem nebo ÄÃ­slem odpovÃ­dajÃ­cÃ­m nÄkterÃ©mu z formÃ¡lnÃ­ch identifikaÄnÃ­ch systÃ©mÅ¯.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Relatie</Attribute>
+            <Attribute name="definition">Een identificatie van een tweede bron en de relatie met de huide Internetbron. Voorbeelden zijn een editie van een werk (IsVersionOf), een vertaling van een werk (IsBasedOn), een hoofdstuk van een boek (IsPartOf) en een mechanische transformatie van een dataset in een plaatje (IsFormatOf). De DC Working Groups zijn bezig met een lijst met de meest verwachte relaties. Aanbevolen wordt om de relaties van deze lijst te gebruiken: http://purl.oclc.org/metadata/dublin_core/wrelationdraft.html.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="definition">Relation</Attribute>
+            <Attribute name="definition">Un referentia a un ressource correlate.</Attribute>
+            <Attribute name="comment">Le practica recommendate es facer referentia al ressource per medio de un catena de characteres o numero conforme a un systema de identification formal.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€šà€Ÿà€€à¥ , à€žà€à€¬à€à€§</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€¶à¥ à€žà€à€¬à€à€§ à€Šà€Ÿà€à€µà€£à€Ÿà€°à€Ÿ à€žà€à€Šà€°à¥à€­</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ.  à€®à€Ÿà€¹à€¿à€€à¥ à€à€Ÿà€³à¥à€¯à€Ÿà€µà€°à¥à€² à€ªà€€à¥à€€à€Ÿ(URL)</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Quan há»</Attribute>
+            <Attribute name="definition">Tham chiáº¿u Äáº¿n nguá»n tin liÃªn quan</Attribute>
+            <Attribute name="comment">Sá»­ dá»¥ng Äá» lÃ m rÃµ quan há» cá»§a nguá»n tin Äang ÄÆ°á»£c mÃŽ táº£ vá»i nhá»¯ng nguá»n tin liÃªn quan Äáº¿n nÃ³. Khuyáº¿n nghá» sá»­ dá»¥ng nhá»¯ng phÆ°Æ¡ng thá»©c tham chiáº¿u nguá»n phÃ¹ há»£p vá»i há» thá»ng Äá»nh danh</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+        <Element name="conformsTo">
+            <Language code="en">
+                <Attribute name="label">Conforms To</Attribute>
+                <Attribute name="definition">A reference to an established standard to which the resource conforms.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">PhÃ¹ há»£p chuáº©n</Attribute>
+                <Attribute name="definition">ThÃŽng tin cho biáº¿t tiÃªu chuáº©n mÃ  nguá»n tin pháº£i tuÃ¢n thá»§</Attribute>
+                <Attribute name="comment">MÃŽ táº£ tiÃªu chuáº©n mÃ  nguá»n tin pháº£i tuÃ¢n thá»§</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+        <Element name="hasFormat">
+            <Language code="en">
+                <Attribute name="label">Has Format</Attribute>
+                <Attribute name="definition">The described resource pre-existed the referenced resource, which is essentially the same intellectual content presented in another format.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">CÃ³ dáº¡ng máº«u khÃ¡c</Attribute>
+                <Attribute name="definition">Cung cáº¥p thÃŽng tin Äá» cho biáº¿t nguá»n tin Äang mÃŽ táº£ cÃ³ ÄÃºng ná»i dung trÃ­ tuá» cá»§a nguá»n tin ÄÆ°á»£c Äá» cáº­p trong yáº¿u tá» nÃ y nhÆ°ng á» khá» máº«u khÃ¡c.  Nguá»n tin Äang ÄÆ°á»£c mÃŽ táº£ lÃ  nguá»n cÃ³ trÆ°á»c nguá»n ÄÆ°á»£c nÃªu trong yáº¿u tá» nÃ y.</Attribute>
+                <Attribute name="comment">MÃŽ táº£ dáº¡ng máº«u khÃ¡c mÃ  nguá»n tin cÃ³ thá» ÄÆ°á»£c truy cáº­p (trÃªn Äiá»n tá»­, trÃªn giáº¥y,...)</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+        <Element name="hasPart">
+            <Language code="en">
+                <Attribute name="label">Has Part</Attribute>
+                <Attribute name="definition">The described resource includes the referenced resource either physically or logically.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">CÃ³ thÃ nh pháº§n</Attribute>
+                <Attribute name="definition">Cung cáº¥p thÃŽng tin Äá» cho biáº¿t nguá»n tin Äang mÃŽ táº£ cÃ³ thÃ nh pháº§n váº­t lÃœ hoáº·c logic ÄÆ°á»£c tham chiáº¿u trong yáº¿u tá» nÃ y</Attribute>
+                <Attribute name="comment">MÃŽ táº£ thÃ nh pháº§n liÃªn káº¿t vá»i nguá»n tin Äang mÃŽ táº£</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+        <Element name="hasVersion">
+            <Language code="en">
+                <Attribute name="label">Has Version</Attribute>
+                <Attribute name="definition">The described resource has a version, edition, or adaptation, namely, the referenced resource.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">CÃ³ phiÃªn báº£n khÃ¡c</Attribute>
+                <Attribute name="definition">Cung cáº¥p thÃŽng tin Äá» cho biáº¿t nguá»n tin Äang mÃŽ táº£ cÃ³ phiÃªn báº£n, biÃªn táº­p, rÃºt gá»n, dá»±a theo,.. ÄÆ°á»£c nÃªu trong bá» ngá»¯ nÃ y</Attribute>
+                <Attribute name="comment">NÃªu tÃªn phiÃªn báº£n cá»§a nguá»n tin Äang mÃŽ táº£</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+        <Element name="isFormatOf">
+            <Language code="en">
+                <Attribute name="label">Is Format Of</Attribute>
+                <Attribute name="definition">The described resource is the same intellectual content of the referenced resource, but presented in another format.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">LÃ  dáº¡ng máº«u khÃ¡c</Attribute>
+                <Attribute name="definition">Cung cáº¥p thÃŽng tin Äá» cho biáº¿t nguá»n tin Äang mÃŽ táº£ cÃ³ ÄÃºng ná»i dung trÃ­ tuá» vá»i nguá»n tin ÄÆ°á»£c Äá» cáº­p trong yáº¿u tá» nÃ y nhÆ°ng á» dáº¡ng máº«u khÃ¡c. Nguá»n tin Äang ÄÆ°á»£c mÃŽ táº£ lÃ  nguá»n cÃ³ sau nguá»n ÄÆ°á»£c nÃªu trong yáº¿u tá» nÃ y.</Attribute>
+                <Attribute name="comment">Ghi thÃŽng tin cho biáº¿t nguá»n tin Äang mÃŽ táº£ lÃ  má»t dáº¡ng thá»©c khÃ¡c cá»§a nguá»n ÄÃ£ tá»n táº¡i (thÃ­ dá»¥ dáº¡ng vi phim cá»§a tÃ i liá»u trÃªn giáº¥y)</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+        <Element name="isPartOf">
+            <Language code="en">
+                <Attribute name="label">Is Part Of</Attribute>
+                <Attribute name="definition">The described resource is a physical or logical part of the referenced resource.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">LÃ  thÃ nh pháº§n cá»§a</Attribute>
+                <Attribute name="definition">Cung cáº¥p thÃŽng tin Äá» cho biáº¿t nguá»n tin Äang mÃŽ táº£ lÃ  má»t thÃ nh pháº§n váº­t lÃœ hoáº·c logic cá»§a nguá»n tin ÄÆ°á»£c tham chiáº¿u trong yáº¿u tá» nÃ y.</Attribute>
+                <Attribute name="comment">Cung cáº¥p thÃŽng tin Äá» cho biáº¿t nguá»n tin Äang mÃŽ táº£ lÃ  má»t thÃ nh pháº§n váº­t lÃœ hoáº·c logic cá»§a nguá»n tin ÄÆ°á»£c tham chiáº¿u trong yáº¿u tá» nÃ y.</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+        <Element name="isReferencedBy">
+            <Language code="en">
+                <Attribute name="label">Is Referenced By</Attribute>
+                <Attribute name="definition">The described resource is referenced, cited, or otherwise pointed to by the referenced resource.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">ÄÆ°á»£c mÃŽ táº£ trong</Attribute>
+                <Attribute name="definition">Cung cáº¥p thÃŽng tin Äá» cho biáº¿t nguá»n tin Äang mÃŽ táº£ ÄÆ°á»£c tham kháº£o, trÃ­ch dáº«n, chá» dáº«n bá»i nguá»n tin ÄÆ°á»£c Äá» cáº­p trong yáº¿u tá» nÃ y.</Attribute>
+                <Attribute name="comment">MÃŽ táº£ tÃ i liá»u tra cá»©u cÃ³ chá»©a thÃŽng tin mÃŽ táº£ nguá»n tin Äang mÃŽ táº£</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+        <Element name="isReplacedBy">
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">recommended</Attribute>
+            <Language code="en">
+                <Attribute name="label">Is Replaced By</Attribute>
+                <Attribute name="definition">The described resource is supplanted, displaced, or superseded by the referenced resource.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">ÄÆ°á»£c thay tháº¿ bá»i</Attribute>
+                <Attribute name="definition">Cung cáº¥p thÃŽng tin Äá» cho biáº¿t nguá»n tin Äang mÃŽ táº£ ÄÆ°á»£c thay tháº¿ báº±ng nguá»n tin ÄÆ°á»£c nÃªu trong yáº¿u tá» nÃ y.</Attribute>
+                <Attribute name="comment">Ghi thÃŽng tin vá» nguá»n tin ÄÃ£ thay tháº¿ nguá»n tin Äang mÃŽ táº£ (phiÃªn báº£n má»i hÆ¡n)</Attribute>
+            </Language>
+        </Element>
+        <Element name="isRequiredBy">
+            <Attribute language="en" name="status">recommended</Attribute>
+            <Language code="en">
+                <Attribute name="label">Is Required By</Attribute>
+                <Attribute name="definition">The described resource is required by the referenced resource, either physically or logically.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">ÄÆ°á»£c ÄÃ²i há»i bá»i</Attribute>
+                <Attribute name="definition">Cung cáº¥p thÃŽng tin Äá» cho biáº¿t nguá»n tin Äang mÃŽ táº£ lÃ  phiÃªn báº£n, lÃ  báº£n biÃªn táº­p, lÃ  rÃºt gá»n, dá»±a theo,.. ÄÆ°á»£c ÄÃ²i há»i bá»i nguá»n tin ÄÆ°á»£c nÃªu trong yáº¿u tá» nÃ y.</Attribute>
+                <Attribute name="comment">Cung cáº¥p thÃŽng tin Äá» cho biáº¿t nguá»n tin Äang mÃŽ táº£ lÃ  phiÃªn báº£n, lÃ  báº£n biÃªn táº­p, lÃ  rÃºt gá»n, dá»±a theo,.. ÄÆ°á»£c ÄÃ²i há»i bá»i nguá»n tin ÄÆ°á»£c nÃªu trong yáº¿u tá» nÃ y.</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+        </Element>
+        <Element name="isVersionOf">
+            <Language code="en">
+                <Attribute name="label">Is Version Of</Attribute>
+                <Attribute name="definition">The described resource is a version, edition, or adaptation of the referenced resource. Changes in version imply substantive changes in content rather than differences in format.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">LÃ  phiÃªn báº£n cá»§a</Attribute>
+                <Attribute name="definition">Cung cáº¥p thÃŽng tin Äá» cho biáº¿t nguá»n tin Äang mÃŽ táº£ lÃ  phiÃªn báº£n, lÃ  biÃªn táº­p, lÃ  rÃºt gá»n, dá»±a theo,.. cá»§a nguá»n tin ÄÆ°á»£c nÃªu trong bá» ngá»¯ nÃ y nÃ y. Sá»± thay Äá»i vá» phiÃªn báº£n pháº£i lÃ  thay Äá»i vá» ná»i dung mÃ  khÃŽng pháº£i lÃ  thay Äá»i vá» dáº¡ng máº«u.</Attribute>
+                <Attribute name="comment">Ghi thÃŽng tin vá» nguá»n tin mÃ  nguÃŽn tin Äang mÃŽ táº£ lÃ  phiÃªn báº£n cá»§a nÃ³.</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+        <Element name="references">
+            <Language code="en">
+                <Attribute name="label">References</Attribute>
+                <Attribute name="definition">The described resource references, cites, or otherwise points to the referenced resource.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">TÃ i liá»u tham kháº£o</Attribute>
+                <Attribute name="definition">Cung cáº¥p thÃŽng tin Äá» cho biáº¿t nguá»n tin Äang mÃŽ táº£ cÃ³ tham kháº£o, trÃ­ch dáº«n hoáº·c chá» dáº«n nguá»n tin ÄÆ°á»£c Äá» cáº­p trong yáº¿u tá» nÃ y.</Attribute>
+                <Attribute name="comment">Cung cáº¥p thÃŽng tin Äá» cho biáº¿t nguá»n tin Äang mÃŽ táº£ cÃ³ tham kháº£o, trÃ­ch dáº«n hoáº·c chá» dáº«n nguá»n tin ÄÆ°á»£c Äá» cáº­p trong yáº¿u tá» nÃ y.</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+        <Element name="replaces">
+            <Language code="en">
+                <Attribute name="status">recommended</Attribute>
+                <Attribute name="label">Replaces</Attribute>
+                <Attribute name="definition">The described resource supplants, displaces, or supersedes the referenced resource.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">Thay tháº¿</Attribute>
+                <Attribute name="definition">Cung cáº¥p thÃŽng tin Äá» cho biáº¿t nguá»n tin Äang mÃŽ táº£ lÃ  phiÃªn báº£n, lÃ  báº£n biÃªn táº­p, lÃ  rÃºt gá»n, dá»±a theo,.. thay tháº¿ cho nguá»n tin ÄÆ°á»£c nÃªu trong yáº¿u tá» nÃ y.</Attribute>
+                <Attribute name="comment">Cung cáº¥p thÃŽng tin Äá» cho biáº¿t nguá»n tin Äang mÃŽ táº£ lÃ  phiÃªn báº£n, lÃ  báº£n biÃªn táº­p, lÃ  rÃºt gá»n, dá»±a theo,.. thay tháº¿ cho nguá»n tin ÄÆ°á»£c nÃªu trong yáº¿u tá» nÃ y.</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+        </Element>
+        <Element name="requires">
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Language code="en">
+                <Attribute name="label">Requires</Attribute>
+                <Attribute name="definition">The described resource requires the referenced resource to support its function, delivery, or coherence of content.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">YÃªu cáº§u</Attribute>
+                <Attribute name="definition">Cung cáº¥p thÃŽng tin Äá» cho biáº¿t nguá»n tin Äang mÃŽ táº£ yÃªu cáº§u pháº£i cÃ³ nguá»n tin ÄÆ°á»£c tham chiáº¿u trong yáº¿u tá» nÃ y Äá» há» trá»£ chá»©c nÄng, sá»± phá» biáº¿n hoáº·c Äáº£m báº£o sá»± toÃ n diá»n cá»§a nguá»n tin Äang mÃŽ táº£.</Attribute>
+                <Attribute name="comment">Cung cáº¥p thÃŽng tin Äá» cho biáº¿t nguá»n tin Äang mÃŽ táº£ yÃªu cáº§u pháº£i cÃ³ nguá»n tin ÄÆ°á»£c tham chiáº¿u trong yáº¿u tá» nÃ y Äá» há» trá»£ chá»©c nÄng, sá»± phá» biáº¿n hoáº·c Äáº£m báº£o sá»± toÃ n diá»n cá»§a nguá»n tin Äang mÃŽ táº£.</Attribute>
+            </Language>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+    </Element>
+    <Element name="Coverage" >
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Coverage</Attribute>
+            <Attribute name="definition">The extent or scope of the content of the resource.</Attribute>
+            <Attribute name="comment">Coverage will typically include spatial location (a place name or geographic coordinates), temporal period (a period label, date, or date range) or jurisdiction (such as a named administrative entity). Recommended best practice is to select a value from a controlled vocabulary (for example, the Thesaurus of Geographic Names [TGN]) and that, where appropriate, named places or time periods be used in preference to numeric identifiers such as sets of coordinates or date ranges.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Kapitanga</Attribute>
+            <Attribute name="definition">Te roanga, te whanuitanga ranei o te whakakaupapatanga o te rauemi.</Attribute>
+            <Attribute name="comment">Ko te tikanga, ka uru atu te wahi mokowa (te ingoa o tetahi wahi, whakapiritanga matawhenua ranei), whakaritenga wa (he tapatanga wa (period label, ra, whakatakotoranga whanui o nga ra), te whakaritenga ture (penei i te putahi whakahaere). Ko te tino huarahi kua tohua, ko te tipako uara mai i tetahi whakaritenga kupu (hei tauira, i tetahi Puna Kupu Ingoa Matawhenua (Geographic Names [TGN] i nga wahi tika, ko nga wahi me nga whakaritenga wa ka whakamahia i mua i te whakamahitanga o nga taututanga tau penei i nga huinga whakapiritanga me nga whakatakotoranga whanui o nga ra.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Couverture</Attribute>
+            <Attribute name="definition">La portÃ©e ou la couverture spatio-temporelle de la ressource.</Attribute>
+            <Attribute name="comment">La couverture typiquement inclut une position gÃ©ographique (le nom d&apos;un lieu ou ses coordonnÃ©es), une pÃ©riode de temps (un nom de pÃ©riode, une date, ou un intervalle de temps) ou une juridiction (telle que le nom d&apos;une entitÃ© administrative). Il est recommandÃ© de choisir la  valeur de Couverture dans un vocabulaire contrÃŽlÃ© (par exemple, un thÃ©saurus de noms gÃ©ographiques, comme[TGN]) et, quand cela est appropriÃ©, des noms de lieux ou de pÃ©riodes plutÃŽt que des identifiants numÃ©riques tels que des coordonnÃ©es ou des intervalles de dates. </Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÑ
+Ð²Ð°Ñ</Attribute>
+            <Attribute name="definition">ÐÑÐŸÑÑÐ¶ÐµÐœÐœÐŸÑÑÑ Ðž Ð³ÑÐ°ÐœÐžÑÑ ÑÐŸÐŽÐµÑÐ¶Ð°ÐœÐžÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÑ
+Ð²Ð°Ñ ÐŸÐ±ÑÐºÐœÐŸÐ²ÐµÐœÐœÐŸ Ð²ÐºÐ»ÑÑÐ°ÐµÑ Ð¿ÑÐŸÑÑÑÐ°ÐœÑÑÐ²ÐµÐœÐœÐŸÐµ ÐŒÐµÑÑÐŸÐœÐ°Ñ
+ÐŸÐ¶ÐŽÐµÐœÐžÐµ (ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµ ÐŒÐµÑÑÐœÐŸÑÑÐž ÐžÐ»Ðž Ð³ÐµÐŸÐ³ÑÐ°ÑÐžÑÐµÑÐºÐžÐµ ÐºÐŸÐŸÑÐŽÐžÐœÐ°ÑÑ), Ð²ÑÐµÐŒÐµÐœÐœÐŸÐ¹ Ð¿ÑÐŸÐŒÐµÐ¶ÑÑÐŸÐº (ÑÐºÐ°Ð·Ð°ÐœÐžÐµ Ð¿ÐµÑÐžÐŸÐŽÐ°, ÐŽÐ°ÑÐ° ÐžÐ»Ðž ÑÑÐŽ ÐŽÐ°Ñ) ÐžÐ»Ðž ÑÑÐžÑÐŽÐžÐºÑÐžÑ (ÑÐºÐ°Ð·Ð°ÐœÐžÐµ ÐµÐŽÐžÐœÐžÑÑ Ð°ÐŽÐŒÐžÐœÐžÑÑÑÐ°ÑÐžÐ²ÐœÐŸÐ³ÐŸ ÐŽÐµÐ»ÐµÐœÐžÑ). ÐÐ° Ð¿ÑÐ°ÐºÑÐžÐºÐµ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ Ð²ÑÐ±ÐžÑÐ°ÑÑ Ð·ÐœÐ°ÑÐµÐœÐžÐµ ÐžÐ· ÐºÐŸÐœÑÑÐŸÐ»ÐžÑÑÐµÐŒÐŸÐ³ÐŸ ÑÐ»ÐŸÐ²Ð°ÑÑ (ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, Ð¢ÐµÐ·Ð°ÑÑÑÑÐ° Ð³ÐµÐŸÐ³ÑÐ°ÑÐžÑÐµÑÐºÐžÑ
+ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐ¹ TGN), Ðž, ÐµÑÐ»Ðž ÑÑÐŸ ÑÐŒÐµÑÑÐœÐŸ, Ð¿ÑÐµÐŽÐ¿ÐŸÑÑÐµÐœÐžÐµ ÐŸÑÐŽÐ°ÐµÑÑÑ ÑÐºÐ°Ð·Ð°ÐœÐžÑÐŒ ÐŒÐµÑÑÐœÐŸÑÑÐµÐ¹ ÐžÐ»Ðž Ð²ÑÐµÐŒÐµÐœÐœÑÑ
+ Ð¿ÑÐŸÐŒÐµÐ¶ÑÑÐºÐŸÐ² Ð²ÐŒÐµÑÑÐŸ ÑÐžÑÑÐŸÐ²ÑÑ
+ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐŸÑÐŸÐ², ÐºÐ°Ðº, ÐœÐ°Ð¿ÑÐžÐŒÐµÑ, ÑÐžÑÑÐµÐŒ ÐºÐŸÐŸÑÐŽÐžÐœÐ°Ñ ÐžÐ»Ðž Ð²ÑÐµÐŒÐµÐœÐœÑÑ
+ ÑÑÐŽÐŸÐ².</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Cobertura</Attribute>
+            <Attribute name="definition">La caracterÃ­stica de cobertura espacial y/o temporal del contenido intelectual del recurso. La cobertura espacial se refiere a una regiÃ³n fÃ­sica (por ejemplo, sector celestial); uso de coordenadas (por ejemplo, longitud y latitud) o nombres de lugares extraidos de una lista controlada. La cobertura temporal se refiere al contenido del recurso en vez de a cuando fue creado o puesto accesible ya que este Ãºltimo pertenece al elemento Date. Se usa el mismo formato basado en http://www.w3.org/TR/NOTE-datetime.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø§ÙØªØºØ·ÙØ©</Attribute>
+            <Attribute name="definition">ÙÙ Ø§ÙØ®ØµØ§ØŠØµ Ø§ÙÙ
+ÙØ§ÙÙØ© Ø§Ù Ø§ÙØ²Ù
+ÙÙØ© ÙÙÙ
+Ø­ØªÙÙ Ø§ÙÙÙØ±Ù ÙÙÙ
+ØµØ¯Ø± . Ø§ÙØªØºØ·ÙØ© Ø§ÙÙ
+ÙØ§ÙÙØ© ØªØŽÙØ± Ø§ÙÙ Ø¬ÙØ© Ø·ØšÙØ¹ÙØ© )Ù
+Ø«Ù , ÙØ·Ø§Ø¹ Ø³Ù
+Ø§ÙÙ (    Ø§Ø³ØªØ®Ø¯Ø§Ù
+ Ø§ÙØ§Ø­Ø¯Ø§Ø«ÙØ§Øª ) Ù
+Ø«Ù  Ø®Ø· Ø§ÙØ·ÙÙ Ù Ø®Ø· Ø§ÙØ¹Ø±Ø¶ ( ÙÙ Ø£Ø³Ù
+Ø§Ø¡ Ø§Ù
+ÙÙØ© Ù
+Ø³ØªØ­ÙÙ
+Ø© Ø§Ù Ù
+ØªØ¬ÙØ§Øª ØšØ§ÙÙØ§Ù
+Ù . Ø§ÙØªØºØ·ÙØ© Ø§ÙØ²Ù
+ÙÙØ©    Ø«Ø¹ÙØ¯ Ø§ÙÙ Ù
+Ø§ ÙØ±Ø¬Ø¹ Ø§ÙÙÙ Ø§ÙÙ
+ØµØ¯Ø± Ù ÙÙØ³ Ø§Ù Ù
+ØªÙ ØªÙ
+ ØªÙÙÙØ±Ù ) Ø§ÙØ§Ø®ÙØ± ÙØªØ¹ÙÙ ØšØ¹Ø§Ù
+Ù Ø§ÙØªØ§Ø±ÙØ® ( Ø§Ø³ØªØ®Ø¯Ø§Ù
+ ÙÙØ³ ØµÙØºØ© Ø§ÙØªØ§Ø±ÙØ®  Ø§Ù Ø§ÙÙÙØª    ) Ø¹Ø§Ø¯Ø© Ù
+Ø¯Ù ] ( ØµÙØ§ØºØ§Øª Ø§ÙÙÙÙ
+ Ù Ø§ÙÙÙØª ) Ø§Ø¹ØªÙ
+Ø§Ø¯Ø§ Ø¹ÙÙ (ISO 8601 Ø§ÙÙ
+ÙØ§Ø­ØžØ© Ø§ÙÙÙÙØ© [http://www.w3.org/TR/NOTE-datetime, W3C    ÙÙ
+Ø§ ÙÙ Ù
+ÙØµÙ ØšÙ ÙØ¹Ø§Ù
+Ù Ø§ÙØªØ§Ø±ÙØ® Ø§Ù ÙØªØ±Ø§Øª Ø²Ù
+ÙÙØ© Ù
+Ù ÙØ§ØŠÙ
+Ø© Ù
+Ø³ØªØ­ÙÙ
+Ø© Ø§Ù Ù
+ØªØ¬ÙØ§Øª ØšØ§ÙÙØ§Ù
+Ù</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">èŠçèåŽ</Attribute>
+            <Attribute name="definition">èµæºå
+å®¹ææ¶åçå€å»¶äžèŠçèåŽ</Attribute>
+            <Attribute name="comment">èŠçèåŽäžè¬å
+æ¬ç©ºéŽäœçœ®ïŒäžäžªå°åæå°çåæ ïŒãæ¶éŽåºéŽïŒäžäžªæ¶éŽæ è¯ïŒæ¥ææäžäžªæ¥æè    åŽïŒãæè
+æéïŒæ¯åŠåœåçææå®äœïŒæšèèŠçèåŽæå¥œæ¯åèªäºäžäžªåæ§è¯è¡šïŒäŸåŠå°åè¯åº    [TGN]ïŒïŒå¹¶åºå°œå¯èœå°äœ¿çšç±æ°å­è¡šç€ºçåæ ææ¥æåºéŽæ¥æè¿°å°åäžæ¶éŽæ®µã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">PokrytÃ­</Attribute>
+            <Attribute name="definition">Rozsah nebo zÃ¡bÄr obsahu zdroje.</Attribute>
+            <Attribute name="comment">PokrytÃ­ bude typicky obsahovat prostorovÃ© umÃ­stÄnÃ­ (jmÃ©no mÃ­sta nebo zemÄpisnÃ© souÅadnice), ÄasovÃ© obdobÃ­ (oznaÄenÃ­ obdobÃ­, datum nebo ÄasovÃœ interval) nebo jurisdikci (napÅ. jmÃ©no administrativnÃ­ jednotky). DoporuÄuje se vybÃ­rat hodnotu z ÅÃ­zenÃ©ho slovnÃ­ku (napÅ. Thesaurus of Geographic Names [TGN]) a tam, kde je to vhodnÃ©, uvÃ¡dÄt mÃ­sta nebo ÄasovÃ© Ãºseky spÃ­Å¡e jmÃ©nem neÅŸ ÄÃ­selnÃœmi identifikÃ¡tory jako jsou soubory souÅadnic nebo ÄasovÃ© intervaly.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Dekking</Attribute>
+            <Attribute name="definition">De ruimtelijke of tijdelijke karakteristieken van de intellectuele inhoud van de Internetbron. Ruimtelijke dekking verwijst naar een geografisch gebied. Gebruik coordinaten (longitude (lengtegraad) en latitude (breedtegraad)) of plaatsnamen die van een gecontroleerde lijst komen of volledig uitgeschreven zijn. Dekking in de tijd geeft de tijdsperiode aan waarop de inhoud van de Internetbron betrekking heeft en niet wanneer de Internetbron is gemaakt of beschikbaar is gesteld (dit laatste hoort ingevult te worden bij &quot;Date&quot;). Gebruik dezelfde datum/tijd formaat als bij &quot;Date&quot;; W3C Technical Note http://www.w3.org/TR/NOTE-datetime of tijdsperioden die van een gecontroleerde lijst komen of volledig uitgeschreven zijn. Coverage is in ontwikkeling bij de Dublin Core Working group http://www.alexandria.ucsb.edu/docs/metadata/dc_coverage.html.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Copertura</Attribute>
+            <Attribute name="definition">Le extension physic o abstracte del contento del ressource.</Attribute>
+            <Attribute name="comment">Le copertura typicamente include un location spatial (un nomine de localitate o coordinatas geographic), un periodo de tempore (un etiquetta de periodo, data, o gamma de datas), o un jurisdiction (tal como un entitate administrative nominate). Le practica recommendate es selectionar un valor a partir de un vocabulario controlate (per exemplo, le Thesaurus of Geographical Names [TGN]) e que, quando appropriate, localitates o periodos de tempore nominate sia utilizate in preferentia a identificatores numeric tales como collectiones de coordinatas o gammas de datas.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€µà¥à€¯à€Ÿà€ªà¥à€€à¥</Attribute>
+            <Attribute name="definition">à€®à€Ÿà€¹à€¿à€€à¥à€žà€Ÿà€ à¥à€¯à€Ÿà€à¥ à€­à¥à€à¥à€²à€¿à€  à€®à€Ÿà€¹à€¿à€€à¥</Attribute>
+            <Attribute name="comment">à€à€Šà€Ÿ. à€­à¥à€à¥à€²à€¿à€ à€µà¥à€¯à€Ÿà€ªà¥à€€à¥</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Pháº¡m vi bao quÃ¡t</Attribute>
+            <Attribute name="definition">MÃŽ táº£ má»©c Äá» bao quÃ¡t cá»§a ná»i dung cá»§a nguá»n tin.</Attribute>
+            <Attribute name="comment">Pháº¡m vi bao quÃ¡t cÃ³ thá» lÃ  vá» pháº¡m vi khÃŽng gian (tÃªn Äá»a danh, toáº¡ Äá» khÃŽng gian,..), thá»i gian (giai Äoáº¡n, chuá»i ngÃ y thÃ¡ng, ...), pháº¡m vi vá» tÃ i phÃ¡n (tÃªn lÃ£nh thá», nÆ°á»c,..). Khuyáº¿n nghá» sá»­ dá»¥ng tá»« vá»±ng cÃ³ kiá»m soÃ¡t Äá» chá»n lá»±a thuáº­t ngá»¯ phÃ¹ há»£p. ThÃ­ dá»¥ sá»­ dá»¥ng tá»« Äiá»n tá»« chuáº©n vá» tÃªn Äá»a lÃœ, tÃªn Äá»a danh,...</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+        <Element name="spatial">
+            <Attribute language="en" name="status">recommended</Attribute>
+            <Language code="en">
+                <Attribute name="label">Spatial</Attribute>
+                <Attribute name="definition">Spatial characteristics of the intellectual content of the resource.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">Äá»a danh</Attribute>
+                <Attribute name="definition">Äáº·c trÆ°ng khÃŽng gian (Äá»a lÃœ) cá»§a ná»i dung cá»§a nguá»n tin.</Attribute>
+                <Attribute name="comment">Ghi Äá»a danh mÃ  nguá»n tin Äá» cáº­p trong ná»i dung</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+        </Element>
+        <Element name="temporal">
+            <Language code="en">
+                <Attribute name="label">Temporal</Attribute>
+                <Attribute name="definition">Temporal characteristics of the intellectual content of the resource.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">Thá»i gian</Attribute>
+                <Attribute name="definition">Äáº·c trÆ°ng thá»i gian bao quÃ¡t (thá»i Äáº¡i) cá»§a ná»i dung cá»§a nguá»n tin</Attribute>
+                <Attribute name="comment">Ghi thá»i gian, khoáº£ng thá»i gian mÃ  tÃ i liá»u Äá» cáº­p trong ná»i dung</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+    </Element>
+    <Element name="Rights" >
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Rights Management</Attribute>
+            <Attribute name="definition">Information about rights held in and over the resource.</Attribute>
+            <Attribute name="comment">Typically, a Rights element will contain a rights management statement for the resource, or reference a service providing such information. Rights information often encompasses Intellectual Property Rights (IPR), Copyright, and various Property Rights. If the Rights element is absent, no assumptions can be made about the status of these and other rights with respect to the resource.</Attribute>
+        </Language>
+        <!-- Maori -->
+        <Language code="mi">
+            <Attribute name="label">Motika</Attribute>
+            <Attribute name="definition">Ko nga mohiohio ki nga motika o tetahi rauemi.</Attribute>
+            <Attribute name="comment">Ko te tikanga, kei te huanga Motika e pupuri ana he korero mo te whakaritenga motika mo te rauemi, he ratonga tohutoro e whakarato ana ranei i enei tumomo mohiohio. He nui nga wa, puta ai i roto i te mohiohio Motika te Mana Whakairo Hinegaro (Intellectual Property Rights - (IPR)), te Manatarua me nga Tuahua Mana Taonga (Property Rights). Ki te kore te huanga Motika, kaore e taea te pohehe noa ki te mana o enei, nga motika ranei e pa ana ki te rauemi.</Attribute>
+        </Language>
+        <!-- French -->
+        <Language code="fr">
+            <Attribute name="label">Droits</Attribute>
+            <Attribute name="definition">Information sur les droits sur et au sujet de la ressource.</Attribute>
+            <Attribute name="comment">Typiquement, un Ã©lÃ©ment Droits contiendra un Ã©tat du droit Ã  gÃ©rer une ressource, ou la refÃ©rence Ã  un service fournissant cette information. Ces droits souvent couvrent les droits de propriÃ©tÃ© intellectuelle (IPR), Copyright, et divers droits de propriÃ©tÃ©. Si l&apos;Ã©lÃ©ment Droits est absent, aucune hypothÃšse ne peut Ãªtre faite sur l&apos;Ã©tat de ces droits, ou de tout autre, par rapport Ã  la ressource.</Attribute>
+        </Language>
+        <!-- Russian -->
+        <Language code="ru">
+            <Attribute name="label">ÐÑÐ°Ð²ÐŸÐ²ÐŸÐµ ÑÐµÐ³ÑÐ»ÐžÑÐŸÐ²Ð°ÐœÐžÐµ</Attribute>
+            <Attribute name="definition">ÐÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸ Ð¿ÑÐ°Ð²Ð°Ñ
+ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ, ÑÐŸÐŽÐµÑÐ¶Ð°ÑÐ°ÑÑÑ Ð²ÐœÑÑÑÐž Ðž Ð²ÐœÐµ ÑÐµÑÑÑÑÐ°.</Attribute>
+            <Attribute name="comment">ÐÐ±ÑÑÐœÐŸ ÑÐ»ÐµÐŒÐµÐœÑ ÐÑÐ°Ð²Ð° ÑÐŸÐŽÐµÑÐ¶ÐžÑ Ð¿ÐŸÐ»ÐŸÐ¶ÐµÐœÐžÐµ ÐŸ Ð¿ÑÐ°Ð²ÐŸÐ²ÑÑ
+ ÐœÐŸÑÐŒÐ°Ñ
+, ÑÐµÐ³ÑÐ»ÐžÑÑÑÑÐžÑ
+ ÑÑÐœÐºÑÐžÐŸÐœÐžÑÐŸÐ²Ð°ÐœÐžÐµ ÑÐµÑÑÑÑÐ° ÐžÐ»Ðž ÑÑÑÐ»ÐºÑ ÐœÐ° ÑÐ»ÑÐ¶Ð±Ñ, Ð¿ÑÐµÐŽÐŸÑÑÐ°Ð²Ð»ÑÑÑÑÑ ÑÑÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ. ÐÑÐ°Ð²ÐŸÐ²Ð°Ñ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸÐ±ÑÑÐœÐŸ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÑÐ²ÐµÐŽÐµÐœÐžÑ ÐŸ ÐÑÐ°Ð²Ð°Ñ
+ ÐžÐœÑÐµÐ»Ð»ÐµÐºÑÑÐ°Ð»ÑÐœÐŸÐ¹ ÑÐŸÐ±ÑÑÐ²ÐµÐœÐœÐŸÑÑÐž, ÐÐ²ÑÐŸÑÑÐºÐŸÐŒ Ð¿ÑÐ°Ð²Ðµ Ðž ÐŽÑÑÐ³ÐžÑ
+ ÐÐŒÑÑÐµÑÑÐ²ÐµÐœÐœÑÑ
+ Ð¿ÑÐ°Ð²Ð°Ñ
+. ÐÑÑÑÑÑÑÐ²ÐžÐµ ÑÐ»ÐµÐŒÐµÐœÑÐ° ÐÑÐ°Ð²Ð° ÐœÐµ ÐŒÐŸÐ¶ÐµÑ ÑÐ²Ð»ÑÑÑÑÑ ÐŸÑÐœÐŸÐ²Ð°ÐœÐžÐµÐŒ ÐŽÐ»Ñ ÐºÐ°ÐºÐžÑ
+-Ð»ÐžÐ±ÐŸ Ð¿ÑÐµÐŽÐ¿ÐŸÐ»ÐŸÐ¶ÐµÐœÐžÐ¹ ÐŸ Ð¿ÑÐ°Ð²ÐŸÐ²ÐŸÐŒ ÑÑÐ°ÑÑÑÐµ Ðž ÐŽÑÑÐ³ÐžÑ
+ Ð¿ÑÐ°Ð²Ð°Ñ
+, ÐºÐ°ÑÐ°ÑÑÐžÑ
+ÑÑ ÑÐµÑÑÑÑÐ°.</Attribute>
+        </Language>
+        <!-- Spanish -->
+        <Language code="es">
+            <Attribute name="label">Derechos</Attribute>
+            <Attribute name="definition">Una referencia (URL, por ejemplo) para una nota sobre derechos de autor, para un servicio de gestiÃ³n de derechos o para un servicio que darÃ¡ informaciÃ³n sobre tÃ©rminos y condiciones de acceso a un recurso. Una especificaciÃ³n formal del elemento Rights se encuentra catualmente en discusiÃ³n y por lo tanto su uso se considera experimental.</Attribute>
+        </Language>
+        <!-- Arabic -->
+        <Language code="ar">
+            <Attribute name="label">Ø­ÙÙÙ Ø§ÙØ§Ø¯Ø§Ø±Ø©</Attribute>
+            <Attribute name="definition">ÙÙ Ø§ÙØ§Ø¯Ø© Ø­ÙÙÙ Ø§ÙØ§Ø¯Ø§Ø±Ø© , Ù
+Ø¹Ø±Ù Ù
+Ø±ØªØšØ· ØšØ§ÙØ§Ø¯Ø© Ø­ÙÙÙ Ø§ ÙØ§Ø¯Ø§Ø±Ø© , Ù
+Ø¹Ø±Ù Ù
+Ø±ØªØšØ· ØšØ®Ø¯Ù
+Ø© ØªÙØ¯Ù
+ Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø¹Ù Ø­ÙÙÙ Ø§ÙØ§Ø¯Ø§Ø±Ø© Ø§ÙØ®Ø§ØµØ© ØšØ§ÙÙ
+ØµØ¯Ø±</Attribute>
+        </Language>
+        <!-- Chinese - Simplified -->
+        <Language code="cn">
+            <Attribute name="label">æé</Attribute>
+            <Attribute name="definition">æå
+³èµæºæ¬èº«ææçæè¢«èµäºçæéä¿¡æ¯</Attribute>
+            <Attribute name="comment">äžè¬èèšïŒæéå
+çŽ åºå
+æ¬äžäžªå¯¹èµæºçæéå£°æïŒæè
+æ¯å¯¹æäŸè¿äžä¿¡æ¯çæå¡çåç
+§ãæéäžè¬    å
+æ¬ç¥è¯äº§æ(IPR)ïŒçææå
+¶ä»åç§åæ ·çäº§æãåŠææ²¡ææéå
+çŽ çæ æ³šïŒäžå¯ä»¥å¯¹äžèµæºçžå
+³    çäžè¿°æå
+¶ä»æå©çæ
+åµäœåºä»»äœåå®ã</Attribute>
+        </Language>
+        <!-- Czech -->
+        <Language code="cs">
+            <Attribute name="label">PrÃ¡va</Attribute>
+            <Attribute name="definition">Informace o prÃ¡vech vztahujÃ­cÃ­ch se k popisovanÃ©mu zdroji.</Attribute>
+            <Attribute name="comment">Prvek PrÃ¡va bude typicky obsahovat ustanovenÃ­ o sprÃ¡vÄ autorskÃœch/vlastnickÃœch prÃ¡v ke zdroji nebo odkaz na sluÅŸbu poskytujÃ­cÃ­ takovÃ©to informace. Informace o prÃ¡vech Äasto zahrnujÃ­ prÃ¡va duÅ¡evnÃ­ho vlastnictvÃ­ (IPR), autorskÃ© prÃ¡vo a rÅ¯znÃ¡ vlastnickÃ¡ prÃ¡va. JestliÅŸe prvek PrÃ¡va chybÃ­, nelze odvozovat ÅŸÃ¡dnÃ© pÅedpoklady o stavu tÄchto a jinÃœch prÃ¡v vztahujÃ­cÃ­ch se k popisovanÃ©mu zdroji.</Attribute>
+        </Language>
+        <!-- Dutch -->
+        <Language code="nl">
+            <Attribute name="label">Copyright</Attribute>
+            <Attribute name="definition">Een copyright verklaring of een link naar een copyright verklaring of een link naar een service die informatie geeft over de copyright van de Internetbron.</Attribute>
+        </Language>
+        <!-- Finnish -->
+        <Language code="fi">
+            <Attribute name="label"/>
+            <Attribute name="definition"/>
+            <Attribute name="comment"/>
+        </Language>
+        <!-- Interlingua -->
+        <Language code="ia">
+            <Attribute name="label">Gestion de derectos</Attribute>
+            <Attribute name="definition">Information super derectos detenite super e a proposito del ressource.</Attribute>
+            <Attribute name="comment">Typicamente le elemento derectos continera un declaration de gestion de derectos pro le ressource, o un referentia a un servicio que provide tal information. Information de derectos frequentemente involve derectos de proprietate intellectual (IPR), copyright e varie derectos de proprietate. Si le elemento Derectos es absente, necun hypothese pote esser facite quanto al stato de iste e altere derectos concernente ressource.</Attribute>
+        </Language>
+        <!-- Marathi -->
+        <Language code="mr">
+            <Attribute name="label">à€¹à€à¥à€</Attribute>
+            <Attribute name="definition">à€¬à¥à€§à¥à€Šà€¿à€ à€žà€à€ªà€Šà¥à€à€Ÿà€¹à€à¥à€</Attribute>
+            <Attribute name="comment">à€žà¥à€µà€€à€à€¹à€Ÿà€à¥ à€²à¥à€à€š à€à€Ÿà€ªà¥à€š à€
+à€¥à€µà€Ÿ à€®à€Ÿà€¹à€¿à€€à¥à€à€Ÿà€³à¥à€¯à€Ÿà€µà€° à€ªà¥à€°à€à€Ÿà€¶à€¿à€€ à€à€°à€£à¥à€¯à€Ÿà€à€Ÿ à€²à¥à€à€ à€
+à€¥à€µà€Ÿ à€²à¥à€à€¿à€à¥à€à€Ÿ à€¬à¥à€§à¥à€Šà€¿à€ à€žà€à€ªà€Šà¥à€à€Ÿà€¹à€à¥à€</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Quyá»n</Attribute>
+            <Attribute name="definition">ThÃŽng tin vá» cÃ¡c quyá»n cÃ³ ÄÆ°á»£c Äá»i vá»i nguá»n tin hoáº·c Äá»i vá»i thÃŽng tin.</Attribute>
+            <Attribute name="comment">Yáº¿u tá» Quyá»n chá»©a thÃŽng bÃ¡o vá» cÃ¡c quyá»n liÃªn quan Äáº¿n nguá»n tin hoáº·c chá» dáº«n Äáº¿n má»t dá»ch vá»¥ cung cáº¥p thÃŽng bÃ¡o nhÆ° váº­y vá» quyá»n. ThÃŽng tin vá» quyá»n cÃ³ thá» bao gá»m thÃŽng tin vá» quyá»n sá» há»¯u trÃ­ tuá», báº£n quyá»n vÃ  cÃ¡c quyá»n liÃªn quan khÃ¡c.</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.1</Attribute>
+        <Attribute language="en" name="registration_authority">Dublin Core Metadata Initiative</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+        <Element name="accessRights">
+            <Language code="en">
+                <Attribute name="label">Access Rights</Attribute>
+                <Attribute name="definition">Information about who can access the resource or an indication of its security status.</Attribute>
+                <Attribute name="comment">Access Rights may include information regarding access or restrictions based on privacy, security or other regulations.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">Quyá»n truy cáº­p</Attribute>
+                <Attribute name="definition">ThÃŽng tin vá» ngÆ°á»i, tá» chá»©c cÃ³ quyá»n truy cáº­p Äáº¿n nguá»n tin hoáº·c chá» dáº«n vá» tÃ¬nh tráº¡ng báº£o Äáº£m an toÃ n cho nguá»n tiny status.</Attribute>
+                <Attribute name="comment">Ghi tÃªn ngÆ°á»i tá» chá»©c cÃ³ quyá»n truy cáº­p Äáº¿n nguá»n tin</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">conforming</Attribute>
+        </Element>
+        <Element name="license">
+            <Language code="en">
+                <Attribute name="label">License</Attribute>
+                <Attribute name="definition">A legal document giving official permission to do something with the resource.</Attribute>
+                <Attribute name="comment">Recommended best practice is to identify the license using a URI. Examples of such licenses can be found at http://creativecommons.org/licenses/.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">Cáº¥p phÃ©p</Attribute>
+                <Attribute name="definition">TÃ i liá»u phÃ¡p lÃœ cung cáº¥p sá»± cho phÃ©p chÃ­nh thá»©c cho ngÆ°á»i, tá» chá»©c lÃ m gÃ¬ ÄÃ³ vá»i nguá»n tin</Attribute>
+                <Attribute name="comment">Ghi thÃŽng tin vá» cáº¥p phÃ©p (thÃ­ dá»¥ Giáº¥y phÃ©p cÃ³ thá» cÃ³ ÄÆ°á»£c á» : http://creativecommons.org/licenses/).</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">conforming</Attribute>
+        </Element>
+    </Element>
+    <Element name="Audience">
+        <Language code="en">
+            <Attribute name="label">Audience</Attribute>
+            <Attribute name="definition">A class of entity for whom the resource is intended or useful.</Attribute>
+            <Attribute name="comment">A class of entity may be determined by the creator or the publisher or by a third party.</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Äá»i tÆ°á»£ng sá»­ dá»¥ng</Attribute>
+            <Attribute name="definition">Äá»i tÆ°á»£ng má»¥c tiÃªu mÃ  ná»i dung cá»§a nguá»n tin nháº¯m tá»i phá»¥c vá»¥ chá»§ yáº¿u</Attribute>
+            <Attribute name="comment">Sá»­ dá»¥ng Äá» mÃŽ táº£ nhÃ³m Äá»i tÆ°á»£ng chÃ­nh sá»­ dá»¥ng nguá»n tin. Khuyáº¿n nghá» sá»­ dá»¥ng tá»« vá»±ng cÃ³ kiá»m soÃ¡t Äá» chá»n cÃ¡c thuáº­t ngá»¯ mÃŽ táº£ Äá»i tÆ°á»£ng phÃ¹ há»£p</Attribute>
+        </Language>
+        <Element name="educationLevel">
+            <Language code="en">
+                <Attribute name="label">Audience Education Level</Attribute>
+                <Attribute name="definition">A general statement describing the education or training context. Alternatively, a more specific statement of the location of the audience in terms of its progression through an education or training context.</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">TrÃ¬nh Äá» há»c váº¥n</Attribute>
+                <Attribute name="definition">ThÃŽng tin chung vá» váº¥n Äá» ÄÃ o táº¡o, giÃ¡o dá»¥c.</Attribute>
+                <Attribute name="comment">NÃªu trÃ¬nh Äá» há»c váº¥n cáº§n cÃ³ Äá» sá»­ dá»¥ng nguá»n tin</Attribute>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">conforming</Attribute>
+        </Element>
+        <Element name="mediator">
+            <Language code="en">
+                <Attribute name="definition">A class of entity that mediates access to the resource and for whom the resource is intended or useful.</Attribute>
+                <Attribute name="comment">The audiences for a resource are of two basic classes: (1) an ultimate beneficiary of the resource, and (2) frequently, an entity that mediates access to the resource. The mediator element refinement represents the second of these two classes.</Attribute>
+                <Attribute name="label">Mediator</Attribute>
+            </Language>
+            <!-- Vietnamese -->
+            <Language code="vi">
+                <Attribute name="label">NgÆ°á»i Äiá»u hÃ nh</Attribute>
+                <Attribute name="definition">Má»t thá»±c thá» Äiá»u hÃ nh viá»c truy cáº­p Äáº¿n nguá»n tin hoáº·c ngÆ°á»i mÃ  nguá»n tin Äá»nh hÆ°á»ng cho há»</Attribute>
+                <Attribute name="comment"/>
+            </Language>
+            <Attribute language="en" name="type">element-refinement</Attribute>
+            <Attribute language="en" name="status">recommended</Attribute>
+        </Element>
+    </Element>
+    <Element name="Provenance">
+        <Language code="en">
+            <Attribute name="label">Provenance</Attribute>
+            <Attribute name="definition">A statement of any changes in ownership and custody of the resource since its creation that are significant for its authenticity, integrity and interpretation.</Attribute>
+            <Attribute name="comment">The statement may include a description of any changes successive custodians made to the resource.</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">Nguá»n gá»c</Attribute>
+            <Attribute name="definition">ThÃŽng tin vá» sá»± thay Äá»i trong quyá»n sá» há»¯u vÃ  lÆ°u giá»¯u nguá»n tin ká» tá»« khi nÃ³ ÄÆ°á»£c táº¡o láº­p</Attribute>
+            <Attribute name="comment">Ghi thÃŽng tin vá» quÃ¡ trÃ¬nh lÆ°u giá»¯u vÃ  chuyá»n gia quyá»n sá» há»¯u</Attribute>
+        </Language>
+    </Element>
+    <Element name="RightsHolder">
+        <Language code="en">
+            <Attribute name="definition">A person or organization owning or managing rights over the resource.</Attribute>
+            <Attribute name="comment">Recommended best practice is to use the URI or name of the Rights Holder to indicate the entity.</Attribute>
+            <Attribute name="label">Rights Holder</Attribute>
+        </Language>
+        <!-- Vietnamese -->
+        <Language code="vi">
+            <Attribute name="label">NgÆ°á»i giá»¯ quyá»n</Attribute>
+            <Attribute name="definition">NgÆ°á»i hoáº·c tá» chá»©c sá» há»¯u hoáº·c cÃ³ quyá»n quáº£n trá» Äá»i vá»i nguá»n tin</Attribute>
+            <Attribute name="comment">Ghi thÃŽng tin vá» cÃ¡ nhÃ¢n tá» chá»©c giá»¯ quyá»n, cÃ³ quyá»n quáº£n trá» nguá»n tin</Attribute>
+        </Language>
+        <Attribute language="en" name="status">conforming</Attribute>
+    </Element>
+</MetadataSet>
Index: main/tags/2.83/gli/metadata/rfc1807.mds
===================================================================
--- main/tags/2.83/gli/metadata/rfc1807.mds	(revision 21123)
+++ main/tags/2.83/gli/metadata/rfc1807.mds	(revision 21123)
@@ -0,0 +1,404 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE MetadataSet SYSTEM "http://www.greenstone.org/dtd/MetadataSet/1.0/MetadataSet.dtd">
+<MetadataSet contact="rlasher@forsythe.stanford.edu" creator="The Internet Engineering Task Force" family="RFC 1807" language_dependent="label, definition, comment" lastchanged="Tue Sep 05 14:40:36 NZST 2006 - kjdon on kanuka" namespace="rfc1807">
+    <SetLanguage code="en">
+        <Name language="en">RFC 1807 Metadata Element Set, Version TR-v2.1</Name>
+        <Description language="en">    This document is the reference description for Internet Engineering Task Force (IETF) Request for Comments (RFC) 1807 metadata standard for bibliographic records, expressed as a metadata set for Greenstone.  </Description>
+    </SetLanguage>
+    <Element name="bib-version">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Bib-version</Attribute>
+            <Attribute name="definition">The format version of RFC-1807 record.</Attribute>
+            <Attribute name="comment">This is the first field of any record. It is a mandatory field. It identifies the version of the format used to create this bibliographic record. This RFC defines BIB-Version TR-v2.1 BIB-VERSIONs that start with the letter X (case independent) are considered experimental. Bib-records sent with such a BIB-VERSION should NOT be incorporated in the permanent database of the recipient. Using this version of this format, this field is always: Format: BIB-VERSION:: CS-TR-v2.1  </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Compulsory</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="minimum_occurrence">1</Attribute>
+        <Attribute name="maximum_occurrence">1</Attribute>
+    </Element>
+    <Element name="id">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Id</Attribute>
+            <Attribute name="definition">The identifier for the RFC-1807 record.</Attribute>
+            <Attribute name="comment">This is the second field of any record. It is also a mandatory field. The ID field identifies the bibliographic record and is used in management of these records. Its format is &quot;ID:: XXX//YYY&quot;, where XXX is the publisher-ID (the controlled symbol of the publisher) and YYY is the ID (e.g., report number) of the publication as assigned by the publisher. This ID is typically printed on the cover, and may contain slashes. The organization symbols &quot;DUMMY&quot; and &quot;TEST&quot; (case independent) are reserved for test records that should NOT be incorporated in the permanent database of the recipients. Format: ID:: &lt;publisher-ID&gt;//&lt;free-text&gt; Example: ID:: OUKS//CS-TR-91-123 </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Compulsory</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="minimum_occurrence">1</Attribute>
+        <Attribute name="maximum_occurrence">1</Attribute>
+    </Element>
+    <Element name="entry">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Entry</Attribute>
+            <Attribute name="definition">The date RFC-1807 record was created.</Attribute>
+            <Attribute name="comment">This is a mandatory field. It is the date of creating this bibliographic record. The format for ENTRY date is &quot;Month Day, Year&quot;. The month must be alphabetic (spelled out). The &quot;Day&quot; is a 1- or 2-digit number. The &quot;Year&quot; is a 4-digit number. Format: ENTRY:: &lt;date&gt; Example: ENTRY:: January 15, 1992 </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Compulsory</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="minimum_occurrence">1</Attribute>
+        <Attribute name="maximum_occurrence">1</Attribute>
+    </Element>
+    <Element name="organization">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Organization</Attribute>
+            <Attribute name="definition">The full name of the publishing organization</Attribute>
+            <Attribute name="comment">It is the full name spelled out (no acronyms, please) of the publishing organization. The use of this name is controlled together with the controlled symbol of the publisher (as discussed above for the ID field). Avoid acronyms because there are many common acronyms, such as ISI and USC. Please provide it in ascending order, such as &quot;X University, Y Department&quot; (not &quot;Y Department, X University&quot;) Format:  ORGANIZATION:: &lt;free-text&gt; Example:  ORGANIZATION:: Stanford University, Department of Computer Science  </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="title">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Title</Attribute>
+            <Attribute name="definition">The title of the work</Attribute>
+            <Attribute name="comment">This is the title of the work as assigned by the author. This field should include the complete title with all the subtitles, if any. Format:  TITLE:: &lt;free-text&gt;  Example:  TITLE:: The Computerization of Oceanview with High Speed Fiber Optics Communication </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="type">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Type</Attribute>
+            <Attribute name="definition">The type of publication</Attribute>
+            <Attribute name="comment">Indicates the type of publication (summary, final project report, etc.) as assigned by the issuing organization. Format:  TYPE:: &lt;free-text&gt; Example:  TYPE:: Technical Report  </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="revision">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Revision</Attribute>
+            <Attribute name="definition">If the record is a revision of a previously issued record</Attribute>
+            <Attribute name="comment">Indicates that the current bibliographic record is a revision of a previously issued record and is intended to replace it. Revision information consists of a date and/or followed by a semicolon and by text in an open ended format. The revised bibliographic record should contain a complete record for the publication, not just a list of changes to the old record. If revision is omitted, the record is assumed to be a new record and not a revision.  If the revision date is specified as 0, this is assumed to be January 1, 1900 (the previous RFC, used revision data of 0, 1, 2, 3, etc. this specification is for programs that might process records from RFC1357). The text before the semicolon in this field is a date of the form month day, year. Any record with a more recent revision date replaces completely any record with an earlier revision date (supplied either explicitly or by default). Use the text to describe the revision. Reasons to send out a revised record include an error in the original, or change in the access information. Format:  REVISION:: January 1, 1995; &lt;free-text&gt; Example: REVISION:: January 1, 1995; FTP information added </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="withdraw">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Withdraw</Attribute>
+            <Attribute name="definition">Withdraw means the document is no longer available.</Attribute>
+            <Attribute name="comment">Withdraw means the document is no longer available. Some Institutions choose to delete the record others remove some of the fields. It is up to each institution to decide how to process withdraw records. A withdraw record has all of the mandatory fields plus the withdraw field and a mandatory revision field. The Withdraw field should indicate the reason for the withdraw in free text. Example for withdrawing a bibliographic record:: BIB-VERSION::  CS-TR-v2.1 ID:: OUKS//CS-TR-91-123 ENTRY:: January 21, 1995 ORGANIZATION:: Oceanview University, Kansas, Computer Science TITLE:: The Computerization of Oceanview with High Speed Fiber Optics Communication REVISION:: January 21, 1995 WITHDRAW:: Withdrawn, found to be irrelevant END::  OUKS//CS-TR-91-123  </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="author">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Author</Attribute>
+            <Attribute name="definition">The author</Attribute>
+            <Attribute name="comment">Personal names only. Normal last name first inversion. Editors should be listed here as well, identified with the usual &quot;(ed.)&quot; as shown below in the last example. If the report was not authored by a person (e.g., it was authored by a committee or a panel) use CORP-AUTHOR (see below) instead of AUTHOR. Multiple authors are entered by using multiple lines, each in the form of &quot;AUTHOR:: &lt;free-text&gt;&quot;. The system preserves the order of the authors. Format: AUTHOR:: &lt;free-text&gt; Example:  AUTHOR:: Finnegan, James A. AUTHOR:: Pooh, Winnie The AUTHOR:: Lastname, Firstname (ed.) </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="corp-author">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Corp-author</Attribute>
+            <Attribute name="definition">The corporate author</Attribute>
+            <Attribute name="comment">The corporate author (e.g., a committee or a panel) that authored the report, which may be different from the ORGANIZATION issuing the report. In entering the corporate name please omit initial &quot;the&quot; or &quot;a&quot;.  If it is really part of the name, please invert it. Format: CORP-AUTHOR:: &lt;free-text&gt; Example: CORP-AUTHOR:: Committee on long-range computing </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="contact">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Contact</Attribute>
+            <Attribute name="definition">The contact for the author(s)</Attribute>
+            <Attribute name="comment">The contact for the author(s). Open-ended, most likely E-mail and postal addresses. A CONTACT field for each author should be provided, separately, or for all the AUTHOR fields. E-mail addresses should always be in &quot;pointy brackets&quot; (as in the example below). Format: CONTACT:: &lt;free-text&gt; Example: CONTACT:: Prof. J. A. Finnegan, CS Dept, Oceanview Univ., Oceanview, Kansas, 54321 Tel: 913-456-7890 &lt;Finnegan@cs.ouks.edu&gt; </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="date">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Date</Attribute>
+            <Attribute name="definition">The publication date</Attribute>
+            <Attribute name="comment">The publication date. The formats are &quot;Month Year&quot; and &quot;Month Day, Year&quot;. The month must be alphabetic (spelled out). The &quot;Day&quot; is a 1- or 2-digit number. The &quot;Year&quot; is a 4- digit number. Format:  DATE:: &lt;date&gt; Example: DATE:: January 1992 Example:  DATE:: January 15, 1992  </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="pages">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Pages</Attribute>
+            <Attribute name="definition">Total number of pages</Attribute>
+            <Attribute name="comment">Total number of pages, without being too picky about it. Final numbered page is actually preferred, if it is a reasonable approximation to the total number of pages. Format: PAGES:: &lt;number&gt; Example:  PAGES:: 48 </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="copyright">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Copyright</Attribute>
+            <Attribute name="definition">Copyright information</Attribute>
+            <Attribute name="comment">Copyright information. Open ended format. The COPYRIGHT field applies to the cited report, rather than to the current bibliographic record. Format:  COPYRIGHT:: &lt;free-text&gt; Example: COPYRIGHT:: Copyright for the report (c) 1991, by J. A. Finnegan. All rights reserved. Permission is granted for any academic use of the report. </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="handle">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Handle</Attribute>
+            <Attribute name="definition">Handles are unique identifiers that are used to rerieve location data.</Attribute>
+            <Attribute name="comment">Handles are unique permanent identifiers that are  used in the Handle Management System to retrieve location data. A handle is a printable string which when given to a handle server returns the location of the data. Handles are used to identify digital objects stored within a digital library. If the technical report is available in electronic form, the Handle MUST be supplied in the bibliographic record. Format is &quot;HANDLE:: hdl:&lt;naming authority&gt;/string  of characters&quot;. The string of characters can be the report number of the technical report as assigned by the publisher. For more information on handles and handle servers see the CNRI WEB page at http://www.cnri.reston.va.us. NOTE: White space in HANDLE due to line wrap is ignored. Format: HANDLE:: hdl:&lt;naming authority&gt;/string of characters Example: HANDLE:: hdl:oceanview.electr/CS-TR-91-123</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="other_access">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Other_access</Attribute>
+            <Attribute name="definition">Other access information like URLs and URNs</Attribute>
+            <Attribute name="comment">For URLs, URNs, and other yet to be invented  formatted retrieval systems. Only one URL or URN per occurrence of the field. URL and URN information is available in the internet drafts from the IETF (Internet Engineering Task Force). The most recent drafts can be found on the CNRI WEB page at http://www.cnri.reston.va.us. NOTE: White space in a URL or URN due to line wrap is ignored. Format: OTHER_ACCESS:: URL:&lt;URL&gt; OTHER_ACCESS:: URN:&lt;URN&gt; Example: OTHER_ACCESS:: URL:http://elib.stanford.edu/Document/STANFORD.CS:CS-TN-94-1 Example: OTHER_ACCESS:: URL:ftp://JUPITER.CS.OUKS.EDU/PUBS/computerization.txt. When the URN standard is finalized naming authorities will be registered and URNs will be viable unique identifiers. Until then this is a place holder. For the latest URN drafts see CNRI WEB page at http://www.cnri.reston.va.us </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="retrieval">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Retrieval</Attribute>
+            <Attribute name="definition">Describes how to get a copy of the full text</Attribute>
+            <Attribute name="comment">Open-ended format describing how to get a copy of the full text. This is an optional, repeatable field. No limitations are placed on the dissemination of the bibliographic records. If there are limitations on the dissemination of the publication, it should be protected by some means such as passwords. This format does not address this protection. Format:  RETRIEVAL:: &lt;free-text&gt; RETRIEVAL:: for full text with color pictures send a self-addressed stamped envelope to Prof. J.A. Finnegan, CS Dept, Oceanview University, Oceanview, KS 54321 </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="keyword">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Keyword</Attribute>
+            <Attribute name="definition">Keywords</Attribute>
+            <Attribute name="comment">Specify any keywords, controlled or uncontrolled. This is an optional, repeatable field. Multiple keywords are entered using multiple lines in the form of  &quot;KEYWORD::  &lt;free-text&gt;.  Format: KEYWORD:: &lt;free-text&gt; Example: KEYWORD:: Scientific Communication KEYWORD:: Communication Theory </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="cr-category">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Cr-category</Attribute>
+            <Attribute name="definition">The Computer Reviews Category index</Attribute>
+            <Attribute name="comment">Specify the CR-category.  The CR-category (the Computer Reviews Category) index (e.g., &quot;B.3&quot;) should always be included, optionally followed by the name of that category. If the name is specified it should be fully specified with parent levels as needed to clarify it, as in the second example below. Use multiple lines for multiple categories. Every year, the January issue of CR has the full list of these categories, with a detailed discussion of the CR Classification System, and a full index. Typically the full index appears in every January issue, and the top two levels in every issue. Format: CR-CATEGORY:: &lt;free-text&gt; Example: CR-CATEGORY:: D.1 Example: CR-CATEGORY:: B.3 Hardware, Memory Structures </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="period">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Period</Attribute>
+            <Attribute name="definition">Time period covered</Attribute>
+            <Attribute name="comment">Time period covered (date range). Applicable primarily to progress reports, etc. Any format is acceptable, as long as the two dates are separated with &quot; to &quot; (the word &quot;to&quot; surrounded by spaces) and each date is in the format allowed for dates, as described above for the date field. Format: PERIOD:: &lt;date&gt; to &lt;date&gt;  Example:  PERIOD:: January 1990 to March 1990</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="series">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Series</Attribute>
+            <Attribute name="definition">Series title</Attribute>
+            <Attribute name="comment">Series title, including volume number within series. Open-ended format, with producing institution strongly  encouraged to be internally consistent. Format: SERIES:: &lt;free-text&gt;  Example: SERIES:: Communication </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="monitoring">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Monitoring</Attribute>
+            <Attribute name="definition">The monitoring organization(s)</Attribute>
+            <Attribute name="comment">The name(s) of the monitoring organization(s). Format: MONITORING:: &lt;free-text&gt; Example: MONITORING:: ONR </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="funding">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Funding</Attribute>
+            <Attribute name="definition">The funding organization(s)</Attribute>
+            <Attribute name="comment">The name(s) of the funding organization(s). Format: FUNDING:: &lt;free-text&gt; Example: FUNDING:: ARPA </Attribute>
+            <Attribute name="comment">The name(s) of the funding organization(s). Format: FUNDING:: &lt;free-text&gt; Example: FUNDING:: ARPA </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="contract">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Contract</Attribute>
+            <Attribute name="definition">The contract number(s)</Attribute>
+            <Attribute name="comment">The contract number(s). Format: CONTRACT:: &lt; free-text&gt;  Example: CONTRACT:: MMA-90-23-456 </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="grant">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Grant</Attribute>
+            <Attribute name="definition">The grant number(s)</Attribute>
+            <Attribute name="comment">The grant number(s). Format: GRANT:: &lt;free-text&gt; Example:  GRANT:: NASA-91-2345</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="language">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Language</Attribute>
+            <Attribute name="definition">The language in which the report is written</Attribute>
+            <Attribute name="comment">The language in which the report is written. Please use the full English name of that language. Please include the Abstract in English, if possible. If the language is not specified, English is assumed. Format: LANGUAGE:: &lt;free-text&gt; Example: LANGUAGE:: English  Example: LANGUAGE:: French</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="notes">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Notes</Attribute>
+            <Attribute name="definition">Miscellaneous free text</Attribute>
+            <Attribute name="comment">Miscellaneous free text. Format: NOTES:: &lt;free-text&gt; Example: NOTES:: This report is the full version of the paper with the same title in IEEE Trans ASSP Dec 1976 </Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+    <Element name="abstract">
+        <!-- English -->
+        <Language code="en">
+            <Attribute name="label">Abstract</Attribute>
+            <Attribute name="definition">The abstract of the report</Attribute>
+            <Attribute name="comment">Highly recommended, but not mandatory. Even though no limit is defined for its length, it is suggested not to expect applications to be able to handle more than 10,000 characters. The ABSTRACT is expected to be used for subject searching since titles are not enough. Even if the report is not in English, an English ABSTRACT is preferable. If no formal abstract appears on document, the producers of the bibliographic records are encouraged to use pieces of the introduction, first paragraph, etc. Format:  ABSTRACT:: xxxx .............. xxxxxxxx</Attribute>
+        </Language>
+        <!-- Non-language specific -->
+        <Attribute name="version">1.0</Attribute>
+        <Attribute language="en" name="registration_authority">The Internet Engineering Task Force</Attribute>
+        <Attribute name="obligation">Optional</Attribute>
+        <Attribute name="datatype">Character String</Attribute>
+        <Attribute name="maximum_occurrence">Unlimited</Attribute>
+    </Element>
+</MetadataSet>
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/Configuration.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/Configuration.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/Configuration.java	(revision 21123)
@@ -0,0 +1,948 @@
+/**
+ *#########################################################################
+ * Configuration
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer;
+
+import java.awt.*;
+import java.io.*;
+import java.lang.ref.*;
+import java.net.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.plaf.*;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+/** This class stores the various configurable settings inside the Gatherer, both during a session, and between sessions in the form of XML. However not all data members are retained during xml serialization. To further improve efficiency, the property-name -> DOM Element pairs are stored in a SoftReferenced Hashtable.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class Configuration
+    extends Hashtable {
+
+    static final public boolean COLLECTION_SPECIFIC = true;
+    static final public boolean GENERAL_SETTING = true;
+
+    static final public int ASSISTANT_MODE = 1;
+    static final public int LIBRARIAN_MODE = 2;
+    static final public int EXPERT_MODE    = 3; 
+
+    /** The string identifying an argument's name attribute. */
+    static final private String ARGUMENT_NAME = "name";
+    /** The name of the general Gatherer configuration file. */
+    static public String CONFIG_XML = "config.xml";
+    static public String FEDORA_CONFIG_PREFIX = "fedora-";
+
+    /** The name of the root element of the subtree containing gatherer configuration options. This is required as the document itself may contain several other subtrees of settings (such as in the case of a '.col' file). */
+    static final private String GATHERER_CONFIG = "GathererConfig";
+    /** The string identifying an argument element. */
+    static final private String GATHERER_CONFIG_ARGUMENT = "Argument";
+
+    static final private String GENERAL_EMAIL_SETTING = "general.email";
+    /** the lang attribute of the other element */
+    static final private String LANGUAGE = "lang";
+    /** The name of a Name Element. */
+    static final private String NAME = "Name";
+    /** The name of the other arguments element. */
+    static final private String OTHER = "Other";
+    /** The name of the general Gatherer configuration template. */
+    static public String TEMPLATE_CONFIG_XML = "xml/config.xml";
+    /** The first of three patterns used during tokenization, this pattern handles a comma separated list. */
+    static final private String TOKENIZER_PATTERN1 = " ,\n\t";
+    /** The second of three patterns used during tokenization, this pattern handles an underscore separated list. */
+    static final private String TOKENIZER_PATTERN2 = "_\n\t";
+    /** The last of three patterns used during tokenization, this pattern handles an comma separated list containing spaces. */
+    static final private String TOKENIZER_PATTERN3 = ",\n\t";
+
+    static public Configuration self = null;
+    static public String gli_user_directory_path = null;
+
+    static public boolean just_updated_config_xml_file = false;
+    /** The path to the Greenstone Suite installation directory. */
+    static public String gsdl_path = "";
+    /** If we are using GLI in Greenstone 3, the path to gsdl3 home (== web dir) */
+    static public String gsdl3_path = "";
+    /** If we are using GLI in Greenstone 3, the path to gsdl3 src directory (== gsdl3 dir)*/
+    static public String gsdl3_src_path = "";
+
+    static public FedoraInfo fedora_info = null;
+    
+    /** The path to the PERL executable, up to and including Perl.exe. */
+    static public String perl_path = "";
+    /** The password for the proxy server indicated above. */
+    static public String proxy_pass = null;
+    /** The username for the proxy server indicated above. */
+    static public String proxy_user = null;
+    /** The screen size of the desktop the Gatherer will be displayed on. */
+    static public Dimension screen_size = Toolkit.getDefaultToolkit().getScreenSize();
+    /** The site name if we are using GS3 */
+    static public String site_name = "";
+    /** The servlet path if we are using GS3 */
+    static public String servlet_path = "";
+    /** Collection level configuration (which in some cases overrides general configuration. */
+    static private Document collection_config;
+    /** The general configuration settings. */
+    static private Document general_config;
+
+    /** The element, from glis config file, that contains the various directory mappings. */
+    static private Element directory_mappings_element;
+
+    static private int cache_hit = 0;
+    static private int cache_miss = 0;
+
+    static public URL gliserver_url = null;
+    static public URL library_url = null;
+    
+    
+    /** Constructor.
+     * @param gsdl_path The path to the Greenstone directory as a <strong>String</strong>.
+     * @param gsdl3_path The path to the Greenstone 3 home (web) directory as a <strong>String</strong>.
+     * @param gsdl3_src_path The path to the Greenstone 3 src directory as a <strong>String</strong>.
+     * @param site_name The name of the Greenstone 3 site currently in use.
+     * @param fedora_info A FedoraInfo object containing the user-provided details for creating
+     * a connection to a Fedora repository.
+     */
+    public Configuration(String gli_user_directory_path, String gsdl_path, String gsdl3_path, String gsdl3_src_path, 
+				 String site_name, FedoraInfo fedora_info) 
+    {
+	super();
+	self = this; // allows Configuration to statically refer to itself in the static methods
+
+	this.gli_user_directory_path = gli_user_directory_path;
+	this.gsdl_path = gsdl_path;
+	this.gsdl3_path = gsdl3_path;
+	this.gsdl3_src_path = gsdl3_src_path;
+	this.site_name = site_name;
+
+	this.fedora_info = fedora_info;
+
+	// Try to load the configuration file from the user specific location
+	String config_xml_file_name = CONFIG_XML;
+
+	if (fedora_info != null && fedora_info.isActive()) {
+	    config_xml_file_name = FEDORA_CONFIG_PREFIX + config_xml_file_name;
+	}
+
+	// If the existing user config.xml file isn't recent enough, backup the old version and update it
+	File config_xml_file = new File(gli_user_directory_path + config_xml_file_name);
+
+	if (config_xml_file != null && config_xml_file.exists()) {
+	    just_updated_config_xml_file = updateUserConfigXMLFileIfNecessary(config_xml_file);
+	    general_config = XMLTools.parseXMLFile(config_xml_file);
+	}
+
+	// Create a new config from the default configuration file from our xml library
+	if (general_config == null) {
+	    general_config = XMLTools.parseXMLFile(TEMPLATE_CONFIG_XML, true);
+	    just_updated_config_xml_file = true;
+	}
+
+	// Determine the Directory Mappings element
+	directory_mappings_element = (Element) XMLTools.getNodeFromNamed(general_config.getDocumentElement(), StaticStrings.DIRECTORY_MAPPINGS_ELEMENT);
+
+	// Re-establish the color settings.
+	updateUI();
+
+	// Read the Greenstone library URL from the config file
+	String library_url_string = getString("general.library_url"+gliPropertyNameSuffix(), true);
+	if (!library_url_string.equals("")) {
+	    try {
+		library_url = new URL(library_url_string);
+	    }
+	    catch (MalformedURLException exception) {
+		DebugStream.printStackTrace(exception);
+	    }
+	}
+
+	// Read the Greenstone gliserver URL from the config file, if using a remote Greenstone
+	if (Gatherer.isGsdlRemote) {
+	    String gliserver_url_string = getString("general.gliserver_url", true);
+	    if (!gliserver_url_string.equals("")) {
+		try {
+		    gliserver_url = new URL(gliserver_url_string);
+		}
+		catch (MalformedURLException exception) {
+		    DebugStream.printStackTrace(exception);
+		}
+	    }
+	}
+	
+	if(gsdl3_path != null) {
+	    prepareForGS3();
+	}
+
+    }
+
+    /** @return the suffix for the the config file's library_url/open_collection propertyname. 
+     * For Fedora and remote GS2 cases, there is no suffix.
+     * However, when dealing with a local Greenstone server, this returns suffix _gs2 or _gs3
+     * so it can be appended to the default library_url/open_collection propertynames.
+     * Having 2 separate library URL properties and open_collection properties for the two 
+     * local versions of Greenstone allows GLI to save the library_url and last opened 
+     * collection for both GS2 and GS3, in case anyone runs them alternatively. (This is useful
+     * when developing and testing across GS versions.) */
+    static public String gliPropertyNameSuffix() {
+	if(Gatherer.isGsdlRemote) {
+	    return ""; // no special suffix
+	} else if(Gatherer.GS3) { // local GS3, including FLI for GS3
+	    return "_gs3";
+	} else { // local GS2, including FLI for GS2
+	    return "_gs2";
+	}
+    }
+
+
+    // Called when (gsdl3_path != null) || (Gatherer.GS3 && Gatherer.isGsdlRemote) 
+    static public void prepareForGS3() {
+	if (site_name == null || site_name.equals("")) {
+	    site_name = getString("general.site_name", true);
+	    servlet_path = getString("general.servlet_path", true);
+	    if (site_name.equals("")) {
+		site_name = "localsite"; // can we assume these??
+		servlet_path = "/library";
+		setString("general.site_name", true, site_name);
+		setString("general.servlet_path", true, servlet_path);
+	    }
+	    
+	} else {
+	    // we set the current one in the config
+	    setString("general.site_name", true, site_name);
+	    if (servlet_path != null && !servlet_path.equals("")) {
+		setString("general.servlet_path", true, servlet_path);
+	    }
+	}
+    }
+
+    static private boolean updateUserConfigXMLFileIfNecessary(File config_xml_file)
+    {
+	// Check if the configuration file actually needs updating by looking at the version numbers
+	Document new_document = XMLTools.parseXMLFile(TEMPLATE_CONFIG_XML, true);
+	Document old_document = XMLTools.parseXMLFile(config_xml_file);
+	if (new_document == null || old_document == null) {
+	    // Something has gone badly wrong, so we can't update the file
+	    return false;
+	}
+
+	String new_version = new_document.getDocumentElement().getAttribute(StaticStrings.VERSION_ATTRIBUTE);
+	String old_version = old_document.getDocumentElement().getAttribute(StaticStrings.VERSION_ATTRIBUTE);
+	if (new_version.equals(old_version)) {
+	    // Don't need to update file
+	    return false;
+	}
+
+	System.err.println("Converting user config.xml from version " + old_version + " to version " + new_version + "...");
+
+	// Build up the new user config.xml file from the template config.xml with the user's preferences added
+	// Make a backup of the old config.xml file first
+	config_xml_file.renameTo(new File(config_xml_file.getAbsolutePath() + ".old"));
+
+	// Check all of the Argument elements in the new config.xml file
+	NodeList new_argument_elements_nodelist = new_document.getElementsByTagName("Argument");
+	NodeList old_argument_elements_nodelist = old_document.getElementsByTagName("Argument");
+	for (int i = 0; i < new_argument_elements_nodelist.getLength(); i++) {
+	    Element new_argument_element = (Element) new_argument_elements_nodelist.item(i);
+	    String new_argument_element_name = new_argument_element.getAttribute("name");
+	    String new_argument_element_value = XMLTools.getElementTextValue(new_argument_element);
+
+	    // Did this Argument have a non-default value set?
+	    for (int j = old_argument_elements_nodelist.getLength() - 1; j >= 0; j--) {
+		Element old_argument_element = (Element) old_argument_elements_nodelist.item(j);
+		String old_argument_element_name = old_argument_element.getAttribute("name");
+
+		// Argument found
+		if (old_argument_element_name.equals(new_argument_element_name)) {
+		  // we don't want to carry over open_collection or library_url
+		  // as these may be invalid
+		  if (!new_argument_element_name.equals("general.open_collection"+Configuration.gliPropertyNameSuffix()) && !new_argument_element_name.equals("general.library_url"+Configuration.gliPropertyNameSuffix())) {
+		    
+		    String old_argument_element_value = XMLTools.getElementTextValue(old_argument_element);
+		    if (!old_argument_element_value.equals(new_argument_element_value)) {
+		      XMLTools.setElementTextValue(new_argument_element, old_argument_element_value);
+		    }
+		  }
+		  
+		  // We don't care about this option any more
+		    old_argument_element.getParentNode().removeChild(old_argument_element);
+		    break;
+		}
+	    }
+	}
+
+	// Are there any old Argument elements left over? Keep these around for old time's sake
+	old_argument_elements_nodelist = old_document.getElementsByTagName("Argument");
+	if (old_argument_elements_nodelist.getLength() > 0) {
+	    NodeList new_gathererconfig_elements_nodelist = new_document.getElementsByTagName("GathererConfig");
+	    if (new_gathererconfig_elements_nodelist.getLength() > 0) {
+		Element new_gathererconfig_element = (Element) new_gathererconfig_elements_nodelist.item(0);
+		new_gathererconfig_element.appendChild(new_document.createComment(" Legacy options "));
+
+		// Add the legacy Arguments to the GathererConfig element
+		for (int i = 0; i < old_argument_elements_nodelist.getLength(); i++) {
+		    Element old_argument_element = (Element) old_argument_elements_nodelist.item(i);
+		    new_gathererconfig_element.appendChild(new_document.importNode(old_argument_element, true));
+		}
+	    }
+	}
+
+	// Keep all the Mapping elements
+	NodeList new_directorymappings_elements_nodelist = new_document.getElementsByTagName("DirectoryMappings");
+	if (new_directorymappings_elements_nodelist.getLength() > 0) {
+	    Element new_directorymappings_element = (Element) new_directorymappings_elements_nodelist.item(0);
+
+	    NodeList old_mapping_elements_nodelist = old_document.getElementsByTagName("Mapping");
+	    for (int i = 0; i < old_mapping_elements_nodelist.getLength(); i++) {
+		Element old_mapping_element = (Element) old_mapping_elements_nodelist.item(i);
+		new_directorymappings_element.appendChild(new_document.importNode(old_mapping_element, true));
+	    }
+	}
+
+	// Check all of the Associations elements in the new config.xml file
+	NodeList new_entry_elements_nodelist = new_document.getElementsByTagName("Entry");
+	NodeList old_entry_elements_nodelist = old_document.getElementsByTagName("Entry");
+	for (int i = 0; i < new_entry_elements_nodelist.getLength(); i++) {
+	    Element new_entry_element = (Element) new_entry_elements_nodelist.item(i);
+	    String new_entry_element_name = new_entry_element.getAttribute("extension");
+	    String new_entry_element_value = XMLTools.getElementTextValue(new_entry_element);
+
+	    // Did this Entry have a non-default value set?
+	    for (int j = old_entry_elements_nodelist.getLength() - 1; j >= 0; j--) {
+		Element old_entry_element = (Element) old_entry_elements_nodelist.item(j);
+		String old_entry_element_name = old_entry_element.getAttribute("extension");
+
+		// Entry found
+		if (old_entry_element_name.equals(new_entry_element_name)) {
+		    String old_entry_element_value = XMLTools.getElementTextValue(old_entry_element);
+		    if (!old_entry_element_value.equals(new_entry_element_value)) {
+			XMLTools.setElementTextValue(new_entry_element, old_entry_element_value);
+		    }
+
+		    // We don't care about this option any more
+		    old_entry_element.getParentNode().removeChild(old_entry_element);
+		    break;
+		}
+	    }
+	}
+
+	// Are there any old Entry elements left over? We want to keep these
+	old_entry_elements_nodelist = old_document.getElementsByTagName("Entry");
+	if (old_entry_elements_nodelist.getLength() > 0) {
+	    NodeList new_associations_elements_nodelist = new_document.getElementsByTagName("Associations");
+	    if (new_associations_elements_nodelist.getLength() > 0) {
+		Element new_associations_element = (Element) new_associations_elements_nodelist.item(0);
+
+		// Add the legacy Entries to the Associations element
+		for (int i = 0; i < old_entry_elements_nodelist.getLength(); i++) {
+		    Element old_entry_element = (Element) old_entry_elements_nodelist.item(i);
+		    new_associations_element.appendChild(new_document.importNode(old_entry_element, true));
+		}
+	    }
+	}
+
+	// Write out the updated config.xml file
+	XMLTools.writeXMLFile(config_xml_file, new_document);
+	return true;
+    }
+
+
+    /** Add a special directory mapping. */
+    static public boolean addDirectoryMapping(String name, File file) {
+	boolean result = false;
+	try {
+	    // Ensure the name isn't already in use.
+	    boolean found = false;
+	    NodeList mappings = directory_mappings_element.getElementsByTagName(StaticStrings.MAPPING_ELEMENT);
+	    for(int i = 0; !found && i < mappings.getLength(); i++) {
+		Element mapping_element = (Element) mappings.item(i);
+		if(mapping_element.getAttribute(StaticStrings.NAME_ATTRIBUTE).equalsIgnoreCase(name)) {
+		    found = true;
+		}
+		mapping_element = null;
+	    }
+	    // Otherwise add the mapping.
+	    if(!found) {
+		Element mapping_element = general_config.createElement(StaticStrings.MAPPING_ELEMENT);
+		mapping_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, name);
+		mapping_element.setAttribute(StaticStrings.FILE_ATTRIBUTE, file.toString());
+		directory_mappings_element.appendChild(mapping_element);
+		result = true;
+		mapping_element = null;
+	    }
+	    mappings = null;
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+	return result;
+    } /** addDirectoryMapping(String name, String file) **/
+
+    /** The default get action retrieves the named property from the desired configuration, and returns a true or false. */
+    static public boolean get(String property, boolean general) {
+	String raw = getString(property, general);
+	return (raw != null && raw.equalsIgnoreCase("true"));
+    }
+
+    /** Retrieve all of the configuration preferences which match a certain string. They are returned as a hash map of property names to String objects. */
+    static public HashMap getAll(String property_pattern, boolean general) {
+	HashMap properties = new HashMap();
+	try {
+	    // Locate the appropriate element
+	    Element document_element = null;
+	    if(general) {
+		document_element = general_config.getDocumentElement();
+	    }
+	    else if(collection_config != null) {
+		document_element = collection_config.getDocumentElement();
+	    }
+	    if(document_element != null) {
+		// Retrieve the Gatherer element
+		Element gatherer_element = (Element) XMLTools.getNodeFromNamed(document_element, GATHERER_CONFIG);
+		NodeList arguments = gatherer_element.getElementsByTagName(GATHERER_CONFIG_ARGUMENT);
+		for(int i = 0; i < arguments.getLength(); i++) {
+		    Element argument_element = (Element) arguments.item(i);
+		    if(argument_element.getAttribute(ARGUMENT_NAME).matches(property_pattern)) {
+			String result = XMLTools.getValue(argument_element);
+			// Store a mapping in the cache. Sometimes we will overwrite an existing value (say for collection and general level workflow options) but the processing overhead of detecting these clashes far exceeds any savings.
+			self.put(argument_element.getAttribute(ARGUMENT_NAME) + general, new SoftReference(argument_element));
+			// Add mapping to the properties we're going to return
+			properties.put(argument_element.getAttribute(ARGUMENT_NAME), result);
+		    }
+		}
+	    }
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+	return properties;
+    }
+
+    /** Retrieve the value of the named property as a Rectangle. */
+    static public Rectangle getBounds(String property, boolean general) {
+	Rectangle result = null;
+	try {
+	    String raw = getString(property, general);
+	    // Rectangle is (x, y, width, height)
+	    StringTokenizer tokenizer = new StringTokenizer(raw, TOKENIZER_PATTERN1);
+	    int x = Integer.parseInt(tokenizer.nextToken());
+	    int y = Integer.parseInt(tokenizer.nextToken());
+	    int width = Integer.parseInt(tokenizer.nextToken());
+	    int height = Integer.parseInt(tokenizer.nextToken());
+	    result = new Rectangle(x, y, width, height);
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+	return result;
+    }
+
+    /** Retrieve the value of the named property as a Color. */
+    static public Color getColor(String property, boolean general) {
+	Color result = Color.white; // Default
+	try {
+	    String raw = getString(property, general);
+	    // Color is a RGB triplet list, comma separated (also remove whitespace)
+	    StringTokenizer tokenizer = new StringTokenizer(raw, TOKENIZER_PATTERN1);
+	    int red = Integer.parseInt(tokenizer.nextToken());
+	    int green = Integer.parseInt(tokenizer.nextToken());
+	    int blue = Integer.parseInt(tokenizer.nextToken());
+	    result = new Color(red, green, blue);
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+	return result;
+    }
+
+
+    /** Retrieve the special directory mappings associated with this collection.
+     * @return A <strong>HashMap</strong> containing mappings from names to directories.
+     */
+    static public HashMap getDirectoryMappings() {
+	HashMap special_directories = new HashMap();
+	try {
+	    // Ensure the name isn't already in use.
+	    boolean found = false;
+	    NodeList mappings = directory_mappings_element.getElementsByTagName(StaticStrings.MAPPING_ELEMENT);
+	    for(int i = 0; !found && i < mappings.getLength(); i++) {
+		Element mapping_element = (Element) mappings.item(i);
+		String name = mapping_element.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+		File file = new File(mapping_element.getAttribute(StaticStrings.FILE_ATTRIBUTE));
+		special_directories.put(name, file);
+		file = null;
+		name = null;
+		mapping_element = null;
+	    }
+	    mappings = null;
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+	return special_directories;
+    } /** getDirectoryMappings() */
+
+    /** Retrieve the current users email. These are always stored in the general settings.
+     * @return the email address, if it is set, as a String
+     */
+    static public String getEmail() {
+	String email = getString(GENERAL_EMAIL_SETTING, true);
+	return (email.length() > 0 ? email : null);
+    }
+
+    static public Element getFileAssociations() {
+	NodeList file_association_elements = general_config.getDocumentElement().getElementsByTagName(StaticStrings.ASSOCIATIONS_ELEMENT);
+	return (Element) file_association_elements.item(0);
+    }
+
+    /** Retrieve the value of the named property as a FontUIResource. */
+    static public FontUIResource getFont(String property, boolean general) {
+	FontUIResource result = new FontUIResource("Times New Roman", Font.PLAIN, 10);
+	try {
+	    String raw = getString(property, general);
+	    // Font is a face, style, size triplet.
+	    StringTokenizer tokenizer = new StringTokenizer(raw, TOKENIZER_PATTERN3);
+	    String face = tokenizer.nextToken().trim();
+	    ///ystem.err.println("Face:  " + face);
+	    int style = Font.PLAIN;
+	    String temp = tokenizer.nextToken().toUpperCase().trim();
+	    ///ystem.err.println("Style: " + temp);
+	    if(temp.equals("BOLD")) {
+		style = Font.BOLD;
+	    }
+	    else if(temp.equals("ITALIC")) {
+		style = Font.ITALIC;
+	    }
+	    int size = Integer.parseInt(tokenizer.nextToken().trim());
+	    ///ystem.err.println("Size:  " + size);
+	    result = new FontUIResource(face, style, size);
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+	return result;
+    }
+
+    /** Retrieve the value of the named property as an integer. */
+    static public int getInt(String property, boolean general) {
+	int result = 0;
+	try {
+	    String raw = getString(property, general);
+	    result = Integer.parseInt(raw);
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+	return result;
+    }
+
+    /** Retrieves the current interface language two letter code. */
+    static public String getLanguage() {
+	Locale locale = getLocale("general.locale", GENERAL_SETTING);
+	String code = "en"; // Default
+	if(locale != null) {
+	    code = locale.getLanguage();
+	}
+	return code;
+    }
+
+    /** Retrieve the value of the named property as a Locale. */
+    static public Locale getLocale(String property, boolean general) {
+	Locale result = Locale.getDefault();
+	try {
+	    String raw = getString(property, general);
+	    // Locale is a underscore separated code.
+	    StringTokenizer tokenizer = new StringTokenizer(raw, TOKENIZER_PATTERN2);
+	    String language = tokenizer.nextToken();
+	    if(tokenizer.hasMoreTokens()) {
+		String country = tokenizer.nextToken();
+		result = new Locale(language, country);
+	    }
+	    else {
+		result = new Locale(language);
+	    }
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+	return result;
+    }
+
+    /** Because modes will soon be an integral part of GLI, they get their own easy to remember methods such as this one to get the mode.
+     * @return an int representing the mode
+     */
+    static public int getMode() {
+	return getInt("general.mode", GENERAL_SETTING);
+    }
+
+    /** Return the current mode as a string for use in title bar etc
+     * @return the mode as a String
+     */
+    static public String getModeAsString() {
+	String result;
+	switch(getInt("general.mode", GENERAL_SETTING)) {
+	case ASSISTANT_MODE:
+	    result = Dictionary.get("Preferences.Mode.Assistant");
+	    break;
+	case EXPERT_MODE:
+	    result = Dictionary.get("Preferences.Mode.Expert");
+	    break;
+	default:
+	    result = Dictionary.get("Preferences.Mode.Librarian");
+	}
+	return result;
+    }
+
+    static public String getPreviewCommand() {
+	return getString("general.preview_program", GENERAL_SETTING);
+    }
+
+    static public String getApplicationTitle() {
+	String gli_title = getString("GLI.Title", GENERAL_SETTING);
+	String title = (gli_title=="") ? Gatherer.PROGRAM_NAME : gli_title;
+
+	return title;
+    }
+
+
+    static public String getServletPath() {
+	return servlet_path;
+    }
+
+    /** Retrieve the value of the named property, and noting whether we consult the general or collection specific configuration. */
+    static public String getString(String property, boolean general) {
+	// Its up to this method to find the appropriate node and retrieve the data itself.
+	String result = "";
+	try {
+	    // First of all we look in the cache to see if we have a match.
+	    SoftReference reference = (SoftReference) self.get(property + general);
+	    if(reference != null) {
+		Element argument_element = (Element) reference.get();
+		if(argument_element != null) {
+		    cache_hit++;
+		    result = XMLTools.getValue(argument_element);
+		}
+	    }
+	    // We may have missed in the cache, or the reference may have been consumed.
+	    if(result.length() == 0) {
+		cache_miss++;
+		// Locate the appropriate element
+		Element document_element = null;
+		if(general) {
+		    document_element = general_config.getDocumentElement();
+		}
+		else if(collection_config != null) {
+		    document_element = collection_config.getDocumentElement();
+		}
+		if(document_element != null) {
+		    // Retrieve the Gatherer element
+		    Element gatherer_element = (Element) XMLTools.getNodeFromNamed(document_element, GATHERER_CONFIG);
+		    NodeList arguments = gatherer_element.getElementsByTagName(GATHERER_CONFIG_ARGUMENT);
+		    for(int i = 0; result.length() == 0 && i < arguments.getLength(); i++) {
+			Element argument_element = (Element) arguments.item(i);
+			if(argument_element.getAttribute(ARGUMENT_NAME).equalsIgnoreCase(property)) {
+			    result = XMLTools.getValue(argument_element);
+			    // Store a mapping in the cache. Sometimes we will overwrite an existing value (say for collection and general level workflow options) but the processing overhead of detecting these clashes far exceeds any savings.
+			    self.put(property + general, new SoftReference(argument_element));
+			}
+		    }
+		}
+	    }
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+	// If we still have no result, and the search was made in the collection configuration, retrieve the general one instead.
+	if(result.length() == 0 && !general) {
+	    result = getString(property, true);
+	}
+	return result;
+    }
+
+    static public String getGS3ScriptPath() {
+	return gsdl3_src_path + "bin" + File.separator + "script" + File.separator;
+    }
+
+    /** Remove a previously defined special directory mapping.
+     * @param name The name of the mapping to remove as a <strong>String</strong>.
+     * @return The <strong>File</strong> of the mapping removed.
+     */
+    static public File removeDirectoryMapping(String name) {
+	File file = null;
+	try {
+	    // Ensure the name isn't already in use.
+	    boolean found = false;
+	    NodeList mappings = directory_mappings_element.getElementsByTagName(StaticStrings.MAPPING_ELEMENT);
+	    for(int i = 0; !found && i < mappings.getLength(); i++) {
+		Element mapping_element = (Element) mappings.item(i);
+		if(mapping_element.getAttribute(StaticStrings.NAME_ATTRIBUTE).equalsIgnoreCase(name)) {
+		    file = new File(XMLTools.getValue(mapping_element));
+		    directory_mappings_element.removeChild(mapping_element);
+		    found = true;
+		}
+		mapping_element = null;
+	    }
+	    mappings = null;
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+	return file;
+    } /** removeDirectoryMapping(String name) */
+
+    /** Export the general configuration to file. */
+    static public void save() {
+	///ystem.err.println("Hits " + cache_hit + " vs Misses " + cache_miss);
+	// We first try exporting to a user specific place
+	File user_config_xml = null;
+	String config_xml_name = CONFIG_XML;
+
+	if (fedora_info != null && fedora_info.isActive()) {
+	    config_xml_name = FEDORA_CONFIG_PREFIX + config_xml_name;
+	}
+
+	try {
+	    user_config_xml = new File(gli_user_directory_path + config_xml_name);
+	    ///ystem.err.println("Trying to save to: " + user_config_xml.getAbsolutePath());
+	    ///ystem.err.println("Writing.");
+	    user_config_xml.getParentFile().mkdirs();
+	    XMLTools.writeXMLFile(new File(user_config_xml.getAbsolutePath()), general_config);
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	    user_config_xml = null;
+	}
+    }
+
+    /** Set the named property, from the specified configuration, using the given boolean value. */
+    static public void set(String property, boolean general, boolean value) {
+	if(property.startsWith("workflow")) {
+	    DebugStream.println("Set property: " + property + ", general=" + general + ", value=" + value);
+	}
+	setString(property, general, (value ? "true" : "false"));
+    }
+
+    /** Set the collection configuration. */
+    static public void setCollectionConfiguration(Document collection_config_arg) {
+	// clear the cached values
+	self.clear();
+	collection_config = collection_config_arg;
+	updateUI();
+	///atherer.println("Collection configuration set.");
+    }
+
+    /** Set the named property, from the specified configuration, using the given Rectangle value. */
+    static public void setBounds(String property, boolean general, Rectangle value) {
+	StringBuffer text = new StringBuffer("");
+	text.append(value.x);
+	text.append(", ");
+	text.append(value.y);
+	text.append(", ");
+	text.append(value.width);
+	text.append(", ");
+	text.append(value.height);
+	setString(property, general, text.toString());
+    }
+
+    /** Set the named property, from the specified configuration, using the given Color value. */
+    static public void setColor(String property, boolean general, Color value) {
+	StringBuffer text = new StringBuffer("");
+	text.append(value.getRed());
+	text.append(", ");
+	text.append(value.getGreen());
+	text.append(", ");
+	text.append(value.getBlue());
+	setString(property, general, text.toString());
+    }
+
+    /** Establish the current users email.
+     * @param email the email as a String
+     */
+    static public void setEmail(String email) {
+	setString(GENERAL_EMAIL_SETTING, true, email);
+    }
+
+    /** Set the named property, from the specified configuration, using the given Font value. */
+    static public void setFont(String property, boolean general, Font value) {
+	StringBuffer text = new StringBuffer("");
+	text.append(value.getName());
+	text.append(", ");
+	switch(value.getStyle()) {
+	case Font.BOLD:
+	    text.append("BOLD");
+	    break;
+	case Font.ITALIC:
+	    text.append("ITALIC");
+	    break;
+	default:
+	    text.append("PLAIN");
+	}
+	text.append(", ");
+	text.append(value.getSize());
+	setString(property, general, text.toString());
+    }
+
+    /** Set the named property, from the specified configuration, using the given integer value. */
+    static public void setInt(String property, boolean general, int value) {
+        setString(property, general, String.valueOf(value));
+    } 
+
+    /** Set the named property, from the specified configuration, using the given Locale value. */
+    static public void setLocale(String property, boolean general, Locale value) {
+	StringBuffer text = new StringBuffer("");
+	text.append(value.getLanguage());
+	String country = value.getCountry();
+	if(country != null && country.length() > 0) {
+	    text.append("_");
+	    text.append(country);
+	}
+	country = null;
+	setString(property, general, text.toString());
+    }
+
+    /** Because modes will soon be an integral part of GLI, they get their own easy to remember methods such as this one to set the mode.
+     * @param value the new value for mode
+     */
+    static public void setMode(int value) {
+	setInt("general.mode", GENERAL_SETTING, value);
+    }
+
+    static public void setPreviewCommand(String value) {
+	setString("general.preview_program", GENERAL_SETTING, value);
+    }
+
+    static public void setSiteAndServlet(String site, String servlet) {
+	site_name = site;
+	servlet_path = servlet;
+	setString("general.site_name", GENERAL_SETTING, site);
+	setString("general.servlet_path", GENERAL_SETTING, servlet);
+	
+    }
+    /** Sets the value of the named property argument using the given string. */
+    static public void setString(String property, boolean general, String value) {
+	DebugStream.println("Set configuration property: " + property + " = " + value + (general ? "" : " [Collection]"));
+	try {
+	    Document document = general_config;
+	    if(!general && collection_config != null) {
+		document = collection_config;
+	    }
+	    if(document != null) {
+		Element argument_element = null;
+		// Try to retrieve from cache
+		SoftReference reference = (SoftReference) self.get(property + general);
+		if(reference != null) {
+		    argument_element = (Element) reference.get();
+		}
+		if(argument_element == null) {
+		    Element document_element = document.getDocumentElement();
+		    Element gatherer_element = (Element) XMLTools.getNodeFromNamed(document_element, GATHERER_CONFIG);
+		    NodeList arguments = document_element.getElementsByTagName(GATHERER_CONFIG_ARGUMENT);
+		    boolean found = false;
+		    for(int i = 0; argument_element == null && i < arguments.getLength(); i++) {
+			Element possible_element = (Element) arguments.item(i);
+			if(possible_element.getAttribute(ARGUMENT_NAME).equalsIgnoreCase(property)) {
+			    argument_element = possible_element;
+			}
+		    }
+		    // If argument element is still null, create it in the target document.
+		    if(argument_element == null) {
+			argument_element = document.createElement(GATHERER_CONFIG_ARGUMENT);
+			argument_element.setAttribute(ARGUMENT_NAME, property);
+			gatherer_element.appendChild(argument_element);
+		    }
+		    // Update cache
+		    self.put(property + general, new SoftReference(argument_element));
+
+		}
+		if(value == null) {
+		    value = "";
+		}
+		// Now remove any current text node children.
+		NodeList children = argument_element.getChildNodes();
+		for(int i = 0; i < children.getLength(); i++) {
+		    argument_element.removeChild(children.item(i));
+		}
+		// Add a new text node child with the new value
+		argument_element.appendChild(document.createTextNode(value));
+	    }
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+    }
+
+    static private void updateUI() {
+	// Buttons
+	UIManager.put("Button.select", new ColorUIResource(getColor("coloring.button_selected_background", false)));
+	UIManager.put("Button.background", new ColorUIResource(getColor("coloring.button_background", false)));
+	UIManager.put("Button.foreground", new ColorUIResource(getColor("coloring.button_foreground", false)));
+
+	UIManager.put("ToggleButton.background", new ColorUIResource(getColor("coloring.button_background", false)));
+	UIManager.put("ToggleButton.foreground", new ColorUIResource(getColor("coloring.button_foreground", false)));
+	UIManager.put("ToggleButton.select", new ColorUIResource(getColor("coloring.button_selected_background", false)));
+
+	// All the things with a lovely Collection green background
+	UIManager.put("OptionPane.background", new ColorUIResource(getColor("coloring.collection_heading_background", false)));
+	UIManager.put("Panel.background", new ColorUIResource(getColor("coloring.collection_heading_background", false)));
+	UIManager.put("Label.background", new ColorUIResource(getColor("coloring.collection_heading_background", false)));
+	UIManager.put("TabbedPane.background", new ColorUIResource(getColor("coloring.collection_heading_background", false)));
+	UIManager.put("SplitPane.background", new ColorUIResource(getColor("coloring.collection_heading_background", false)));
+	UIManager.put("CheckBox.background", new ColorUIResource(getColor("coloring.collection_heading_background", false)));
+
+
+	// Editable coloring
+	UIManager.put("ComboBox.background", new ColorUIResource(getColor("coloring.collection_tree_background", false))); // Indicate clickable
+	UIManager.put("Tree.background", new ColorUIResource(getColor("coloring.collection_tree_background", false)));
+	UIManager.put("Tree.textBackground", new ColorUIResource(getColor("coloring.collection_tree_background", false)));
+	UIManager.put("ProgressBar.background", new ColorUIResource(getColor("coloring.collection_tree_background", false)));
+	UIManager.put("TextArea.background", new ColorUIResource(getColor("coloring.collection_tree_background", false)));
+	UIManager.put("TextField.background", new ColorUIResource(getColor("coloring.editable_background", false)));
+	UIManager.put("Table.background", new ColorUIResource(getColor("coloring.collection_tree_background", false)));
+	UIManager.put("List.background", new ColorUIResource(getColor("coloring.collection_tree_background", false)));
+	UIManager.put("RadioButton.background", new ColorUIResource(getColor("coloring.collection_tree_background", false)));
+
+	// Selection color
+	UIManager.put("TabbedPane.selected", new ColorUIResource(getColor("coloring.collection_selection_background", false)));
+	UIManager.put("Tree.selectionBackground", new ColorUIResource(getColor("coloring.collection_selection_background", false)));
+	UIManager.put("ComboBox.selectionBackground", new ColorUIResource(getColor("coloring.collection_selection_background", false)));
+	UIManager.put("ProgressBar.selectionBackground", new ColorUIResource(getColor("coloring.collection_selection_background", false)));
+	UIManager.put("TextArea.selectionBackground", new ColorUIResource(getColor("coloring.collection_selection_background", false)));
+	UIManager.put("TextField.selectionBackground", new ColorUIResource(getColor("coloring.collection_selection_background", false)));
+	UIManager.put("List.selectionBackground", new ColorUIResource(getColor("coloring.collection_selection_background", false)));
+
+	// Scroll bar stuff
+	UIManager.put("ScrollBar.background", new ColorUIResource(getColor("coloring.scrollbar_background", false)));
+	UIManager.put("ScrollBar.thumb", new ColorUIResource(getColor("coloring.scrollbar_foreground", false)));
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/DebugStream.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/DebugStream.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/DebugStream.java	(revision 21123)
@@ -0,0 +1,120 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer;
+
+
+import java.io.*;
+import java.util.*;
+
+
+public class DebugStream
+{
+    static private boolean debugging_enabled = false;
+    static private PrintStream debug_stream = null;
+
+
+    static public void closeDebugStream()
+    {
+	if (debug_stream != null) {
+	    try {
+		debug_stream.flush();
+		debug_stream.close();
+	    }
+	    catch (Exception exception) {
+		exception.printStackTrace();
+	    }
+	}
+    }
+
+
+    static public void enableDebugging()
+    {
+	debugging_enabled = true;
+    }
+
+
+    static public boolean isDebuggingEnabled()
+    {
+	return debugging_enabled;
+    }
+
+
+    static synchronized public void print(Properties properties)
+    {
+	if (debugging_enabled) {
+	    if (debug_stream != null) {
+		properties.list(debug_stream);
+	    }
+	    properties.list(System.err);
+	}
+    }
+
+
+    /** Print a message to the debug stream. */
+    static synchronized public void print(String message)
+    {
+	if (debugging_enabled) {
+	    if (debug_stream != null) {
+		debug_stream.print(message);
+	    }
+	    System.err.print(message);
+	}
+    }
+
+
+    /** Print a message to the debug stream. */
+    static synchronized public void println(String message)
+    {
+	if (debugging_enabled) {
+	    if (debug_stream != null) {
+		debug_stream.println(message);
+	    }
+	    System.err.println(message);
+	}
+    }
+
+
+    /** Print a stack trace to the debug stream, and always to STDERR. */
+    static synchronized public void printStackTrace(Exception exception)
+    {
+	if (debugging_enabled && debug_stream != null) {
+	    exception.printStackTrace(debug_stream);
+	}
+	exception.printStackTrace();
+    }
+
+
+    static public void setDebugFile(String debug_file_path)
+    {
+	try {
+	    debug_stream = new PrintStream(new FileOutputStream(debug_file_path));
+	}
+	catch (Exception exception) {
+	    exception.printStackTrace();
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/Dictionary.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/Dictionary.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/Dictionary.java	(revision 21123)
@@ -0,0 +1,210 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer;
+
+import java.awt.ComponentOrientation;
+import javax.swing.plaf.FontUIResource;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+
+/** Extends the ResourceBundle class to allow for the automatic insertion of arguments.<BR>
+ * <BR>
+ * Property files usable by this class have the Backus-Naur form: <BR>
+ * <BR>
+ * FileLine ::= Comment | Mapping <BR>
+ * Comment  ::= '#' SString <BR>
+ * Mapping  ::= NZString ':' SString ( Argument SString )* <BR>
+ * NZString ::= ( Char | Int ) SString <BR>
+ * Argument ::= '{' Int '}' <BR>
+ * SString  ::= String . ['"','#',...] -> ['\"','\#',...] <BR>
+ * <BR>
+ * In order to add a new dictionary Locale, simply copy the existing dictionary.properties files, replace the values (Strings after the ':') with the new language specific ones being careful to maintain formatting and Gatherer placed arguments, then save the new dictionary as: <br>
+ * <BR>
+ * dictionary_<I>locale</I>.properties<BR>
+ * <BR>
+ * where locale is made of two two-letter codes seperated by an underscore. The first code is in lower-case and defines the language. The second is in upper-case and defines the country. For example the default dictionary could also correctly be called:
+ * <BR>
+ * dictionary_en_NZ.properties<BR>
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class Dictionary
+    extends HashMap {
+
+    /** The font used when displaying various html text. */
+    static private FontUIResource font = null;
+    /** A reference to remind us of the current locale. */
+    static private Locale locale = null;
+    /** The ResourceBundle which contains the raw key-value mappings.
+	Loaded from a file named "dictionary<I>locale</I>.properties. */
+    static private ResourceBundle dictionary = null;
+    /** language orientation property */
+    static private ComponentOrientation orientation = null;
+       
+    public Dictionary(Locale locale, FontUIResource font)
+    {
+	super();
+
+	// Initialize
+	this.font = font;
+	this.locale = ((locale == null) ? Locale.getDefault() : locale);
+	this.dictionary = ResourceBundle.getBundle("dictionary", this.locale);
+        if (this.get("Component.Orientation").equals("RTL")){
+            this.orientation = ComponentOrientation.RIGHT_TO_LEFT;
+        } else {
+            this.orientation = ComponentOrientation.LEFT_TO_RIGHT;
+        }      
+        
+    }
+    
+    /** Retrieve the two letter code of the current language we are using, according to the stored locale.
+     * @return A <strong>String</strong> containing the two letter ISO639 language code.
+     */
+    static public String getLanguage()
+    {
+	return locale.getLanguage();
+    }
+    /** returns the Components Orientation for use with right to left languages
+     * @return A <strong>ComponentOrientation</strong> with the current 
+     dictionary's language orientation.
+     * by  Amin Hejazi 
+    */
+    static public ComponentOrientation getOrientation()
+    {
+       return orientation;
+    }
+    
+    static public String get(String key)
+    {
+	return get(key, (String[]) null);
+    }
+
+    static public String get(String key, String arg)
+    {
+	String[] args = new String[1];
+	args[0] = arg;
+	return get(key, args);
+    }
+
+
+    /** Used to retrieve a property value from the Locale specific ResourceBundle, based upon the key and arguments supplied. If the key cannot be found or if some other part of the call fails a default (English) error message is returned. <BR>
+     * Here the get recieves a second argument which is an array of Strings used to populate argument fields, denoted {<I>n</I>}, within the value String returned.
+     * @param key A <strong>String</strong> which is mapped to a initial String within the ResourceBundle.
+     * @param args A <strong>String[]</strong> used to populate argument fields within the complete String.
+     * @return A <strong>String</strong> which has been referenced by the key String and that either contains no argument fields, or has had the argument fields automatiically populated with formatting Strings of with argument String provided in the get call.
+     */
+    static public String get(String key, String[] args)
+    {
+	try {
+	  String initial_raw = dictionary.getString(key).trim();
+
+	    // Convert into Unicode
+	    String initial = "";
+	    try {
+		// This "ISO-8859-1" looks out of place, but it is very important.
+		// It is essential to call getBytes with an 8-bit encoding, otherwise
+		// Java kindly deems some characters "undisplayable", and replaces
+		// them with question marks. This is NOT good.
+		initial = new String(initial_raw.getBytes("ISO-8859-1"), "UTF-8");
+	    }
+	    catch (Exception exception) {
+		DebugStream.printStackTrace(exception);
+		return initial_raw;
+	    }
+
+	    // Remove any comments from the string
+	    if (initial.indexOf("#") != -1) {
+		initial = initial.substring(0, initial.indexOf("#"));
+		initial = initial.trim();
+	    }
+
+	    // If the string contains arguments we have to insert them.
+	    StringBuffer complete = new StringBuffer();
+
+	    // While we still have initial string left.
+	    while (initial.length() > 0 && initial.indexOf('{') != -1 && initial.indexOf('}') != -1) {
+		// Remove preamble
+		int opening = initial.indexOf('{');
+		int closing = initial.indexOf('}');
+		int comment_mark = initial.indexOf('-', opening); // May not exist
+		if (comment_mark > closing) { // May also be detecting a later comment
+		    comment_mark = -1;
+		}
+		complete.append(initial.substring(0, opening));
+		
+		// Parse arg_num
+		String arg_str = null;
+		if (comment_mark != -1) {
+		    arg_str = initial.substring(opening + 1, comment_mark);
+		}
+		else {
+		    arg_str = initial.substring(opening + 1, closing);
+		}
+
+		if (closing + 1 < initial.length()) {
+		    initial = initial.substring(closing + 1);
+		}
+		else {
+		    initial = "";
+		}
+
+		// Insert argument
+		if (arg_str.equals("FONT")) {
+		    complete.append((font != null ? font.getFontName() : "Arial"));
+		}
+		else {
+		    int arg_num = Integer.parseInt(arg_str);
+		    if (args != null && 0 <= arg_num && arg_num < args.length) {
+			complete.append(args[arg_num]);
+		    }
+		}
+	    }
+	    complete.append(initial);
+	    
+	    return complete.toString();
+	}
+	catch (Exception exception) {
+	    System.err.println("Missing value for key: " + key);
+	    // DebugStream.printStackTrace(e);
+	    return key;
+	}
+    }
+
+}
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/FedoraInfo.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/FedoraInfo.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/FedoraInfo.java	(revision 21123)
@@ -0,0 +1,177 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson and David Bainbridge, 
+ *         Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+
+package org.greenstone.gatherer;
+
+import java.io.*;
+import org.greenstone.gatherer.util.StaticStrings; 
+import org.greenstone.gatherer.util.Utility;
+
+public class FedoraInfo 
+{
+    public static final int minimumSupportedMajorVersion = 2;
+
+    private boolean active = false;
+    private String home = null;
+    private String version = null;
+
+    private String hostname = null;
+    private String port     = null;
+    private String username = null;
+    private String password = null;
+    private String protocol = null;
+
+    public FedoraInfo() 
+    {	
+	this("localhost", "8080", "fedoraAdmin", "fedoraAdmin", "http");
+    }
+
+    public FedoraInfo(String hostname, String port, String username, String password, String protocol) 
+    {
+	this.hostname = hostname;
+	this.port     = port;
+	this.username = username;
+	this.password = password;
+	this.protocol = protocol;
+    }
+
+    // Called when we are attempting to run fedora
+    public void setActive(boolean active) {
+	this.active = active; 
+    }
+
+    // Called when an environment variable was wrongly set for running Fedora
+    public void deactivate(String errorMessage) {
+	this.active = false;
+	// display an errormessage and exit cleanly
+	System.err.println(errorMessage);
+	Gatherer.exit();
+    }
+
+    public boolean isActive()
+    {
+	return active;
+    }
+
+    public void setHome(String home)
+    {
+	this.home = home;
+    }
+
+
+    public String getHome()
+    {
+	return home;
+    }
+
+    public void setVersion(String version)
+    {
+	String firstChar = version.substring(0, 1);
+	if(!Character.isDigit(version.charAt(0))) { // version is illegal if it does not begin with a number
+	    deactivate("Incorrect format for major version: " + version + ". The Fedora version must start with a number.");
+	}
+	else if(Integer.parseInt(firstChar) < minimumSupportedMajorVersion) { 
+	    // major version number of Fedora must be more than this
+	    deactivate("The major version number of Fedora must be at least " +  minimumSupportedMajorVersion + ".");
+	}
+	else { // acceptable
+	    this.version = version;
+	} 
+    }
+
+
+    public String getVersion()
+    {
+	return version;
+    }
+
+    public void setHostname(String hostname)
+    {
+	this.hostname = hostname;
+    }
+
+    public String getHostname()
+    {
+	return hostname;
+    }
+
+
+    public void setPort(String port)
+    {
+	this.port = port;
+    }
+
+    public String getPort()
+    {
+	return port;
+    }
+
+
+    public void setUsername(String username)
+    {
+	this.username = username;
+    }
+
+    public String getUsername()
+    {
+	return username;
+    }
+
+
+    public void setPassword(String password)
+    {
+	this.password = password;
+    }
+
+    public String getPassword()
+    {
+	return password;
+    }
+
+
+    public void setProtocol(String protocol)
+    {
+	this.protocol = protocol;
+    }
+
+    public String getProtocol()
+    {
+	return protocol;
+    }
+
+    public String getBaseURL() 
+    {
+	return this.protocol+"://"+this.hostname+":"+this.port+"/";
+    }
+    
+    // The library preview address for Fedora
+    public String getLibraryURL() 
+    {
+	return this.getBaseURL() + "fedora/search";
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/GAuthenticator.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/GAuthenticator.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/GAuthenticator.java	(revision 21123)
@@ -0,0 +1,230 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */ 
+package org.greenstone.gatherer;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.net.*;
+import java.util.*;
+import javax.swing.*;
+
+
+import org.greenstone.gatherer.gui.GLIButton;
+
+
+/** Provides a graphic authenticator for network password requests.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class GAuthenticator
+    extends Authenticator
+{
+    static public Hashtable authentications = new Hashtable();
+
+    /** Indicates if this authentication prompt been cancelled, and if so rolls-back authentication. */
+    private boolean authentication_cancelled = false;
+    /** The button used to cancel a prompt. */
+    private JButton cancel_button = null;
+    /** The button used to submit the login/password. */
+    private JButton ok_button = null;
+    /** A reference to the dialog prompt created so inner classes can dispose of it. */
+    private JDialog dialog = null;
+    /** The password is a special starred out password field. */
+    private JPasswordField password = null;
+    /** The default size of this dialog. */
+    static final private Dimension SIZE = new Dimension(470,160);
+    
+    /** For Wget downloads, we want to avoid the second automatic request for proxy authentication
+     * But the settings for that specific case will otherwise interfere with how this GAuthenticator 
+     * is to function in the usual situation. For this reason, we use two modes.*/
+    static final public int REGULAR = 0;
+    static final public int DOWNLOAD = 1;
+    static private int operationMode = REGULAR; 
+
+    public static void setMode(int mode) {
+	operationMode = mode;
+    }
+    
+    /** Constructor. */
+    public GAuthenticator() {
+    }
+
+    /** Prompt the user for authentication using a pretty dialog box.
+     * @return A <strong>PasswordAuthentication</strong> object containing the login and password valuees the user has submitted.
+     * @see org.greenstone.gatherer.GAuthenticator.AuthenticationActionListener
+     * @see org.greenstone.gatherer.GAuthenticator.RequestFocusListener
+     */
+    protected PasswordAuthentication getPasswordAuthentication(String username_str, String password_str) {
+	if(operationMode == DOWNLOAD) { // special handling of proxy authentication popup for Wget downloads
+	    
+	    // Don't prompt if the details were already saved for the same host and port. This is necessary
+	    // when running wget because wget requires proxy authentication. And without the following, the
+	    // regular proxy authentication would also popup a dialog requesting the same information.
+	    
+	    String key = getRequestingHost() + ":" + getRequestingPort();
+	    String value = (String)authentications.get(key);
+	    
+	    if(value != null) { // authentication for this host and port was already stored
+		// Arguments may be null. If so, retrieve them from the stored value
+		if(username_str == null) {
+		    username_str = value.substring(0, value.indexOf("@"));
+		} 
+		if(password_str == null) {
+		    password_str = value.substring(value.indexOf("@") + 1);
+		}
+		operationMode = REGULAR; // reset the state of the Authenticator to normal mode
+		return new PasswordAuthentication(username_str, password_str.toCharArray());
+	    }
+	}
+	
+	// Component definition.
+	dialog = new JDialog (Gatherer.g_man, Dictionary.get("GAuthenticator.Title"), true);
+	dialog.setModal(true);
+	dialog.setSize(SIZE);
+	JPanel content_pane = (JPanel) dialog.getContentPane();
+	JLabel title_label = new JLabel(getMessageString());
+
+	JPanel user_panel = new JPanel();
+	JLabel username_label = new JLabel(Dictionary.get("GAuthenticator.Username"));
+	JTextField username = new JTextField();
+	username.setToolTipText(Dictionary.get("GAuthenticator.Username_Tooltip"));
+	if (username_str != null) {
+	    username.setText(username_str);
+	}
+
+	JPanel password_panel = new JPanel();
+	JLabel password_label = new JLabel(Dictionary.get("GAuthenticator.Password"));
+	password = new JPasswordField();
+	password.setEchoChar('*');
+	password.setToolTipText(Dictionary.get("GAuthenticator.Password_Tooltip"));
+	if (password_str != null) {
+	    password.setText(password_str);
+	}
+
+	JPanel button_panel = new JPanel();
+	ok_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("General.OK_Tooltip"));
+	cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Cancel_Tooltip"));
+	
+	// Connection
+	cancel_button.addActionListener(new AuthenticationActionListener(true));
+	ok_button.addActionListener(new AuthenticationActionListener(false));
+	password.addActionListener(new AuthenticationActionListener(false));
+	username.addActionListener(new RequestFocusListener(password));
+
+	// Layout
+	user_panel.setLayout(new GridLayout(1,2));
+	user_panel.add(username_label);
+	user_panel.add(username);
+
+	password_panel.setLayout(new GridLayout(1,2));
+	password_panel.add(password_label);
+	password_panel.add(password);
+
+	button_panel.setLayout(new GridLayout(1,2));
+	button_panel.add(ok_button);
+	button_panel.add(cancel_button);
+
+	content_pane.setLayout(new GridLayout(4,1,0,2));
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.add(title_label);
+	content_pane.add(user_panel);
+	content_pane.add(password_panel);
+	content_pane.add(button_panel);
+
+	// Position the window
+	Dimension screen_size = Toolkit.getDefaultToolkit().getScreenSize();
+	dialog.setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	dialog.setVisible(true);
+	if(!authentication_cancelled) {
+	    // Store the authentication
+	    authentications.put(getRequestingHost() + ":" + getRequestingPort(), username.getText() + "@" + new String(password.getPassword()));
+	    return new PasswordAuthentication(username.getText(), password.getPassword());
+	} else {
+	    return null;
+	}
+    }
+
+    protected PasswordAuthentication getPasswordAuthentication() {
+	return getPasswordAuthentication(null,null);
+    }
+
+    /** This is defined so it can be overridden by subclasses (getRequestingPrompt is final). */
+    protected String getMessageString()
+    {
+	return getRequestingPrompt();
+    }
+
+
+    /** Detects actions upon any control that attempt to submit the current details for authentication. */
+    private class AuthenticationActionListener
+	implements ActionListener {
+	/** <i>true</i> if this authentication action cancels the authentication, <i>false</i> otherwise. */
+	private boolean cancel_action = false;
+	/** Constructor.
+	 * @param cancel_action <i>true</i> if this authentication action cancels the authentication, <i>false</i> otherwise.
+	 */
+	public AuthenticationActionListener(boolean cancel_action) {
+	    this.cancel_action = cancel_action;
+	}
+	/** Any implementation of an ActionListener must include this method so that we can be informed when an action has been performed on our registered controls, allowing us to dispose of the authentication dialog after determining if this is a submit action or a cancel one.
+	 * @param event An <strong>ActionEvent</strong> with information about the event that fired this method.
+	 */
+	public void actionPerformed(ActionEvent event) {
+	    authentication_cancelled = cancel_action;
+	    dialog.dispose();
+	}
+    }
+
+    /** This listener detects actions on registered controls, and when they occur ensures the focus is moved to some targetted component. */
+    private class RequestFocusListener
+	implements ActionListener {
+	/*The <strong>Component</strong> you wish to gain focus when an action is performed on a registered control. */
+	private Component target = null;
+	/** Constructor.
+	 * @param target The <strong>Component</strong> you wish to gain focus when an action is performed on a registered control.
+	 */
+	public RequestFocusListener(Component target) {
+	    this.target = target;
+	}
+	/** Any implementation of an ActionListener must include this method so that we can be informed when an action has been performed on our registered controls, allowing us to request focus in the target control.
+	 * @param event An <strong>ActionEvent</strong> with information about the event that fired this method.
+	 */
+	public void actionPerformed(ActionEvent event) {
+	    target.requestFocus();
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/Gatherer.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/Gatherer.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/Gatherer.java	(revision 21123)
@@ -0,0 +1,1347 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import java.lang.*;
+import java.net.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.plaf.*;
+import javax.swing.text.*;
+
+
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.GAuthenticator;
+import org.greenstone.gatherer.FedoraInfo;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.feedback.ActionRecorderDialog;
+import org.greenstone.gatherer.feedback.Base64;
+import org.greenstone.gatherer.file.FileManager;
+import org.greenstone.gatherer.file.FileAssociationManager;
+import org.greenstone.gatherer.file.RecycleBin;
+import org.greenstone.gatherer.greenstone.Classifiers;
+import org.greenstone.gatherer.greenstone.LocalGreenstone;
+import org.greenstone.gatherer.greenstone.LocalLibraryServer;
+import org.greenstone.gatherer.greenstone.Plugins;
+import org.greenstone.gatherer.greenstone3.ServletConfiguration;
+import org.greenstone.gatherer.gui.GUIManager;
+import org.greenstone.gatherer.gui.URLField;
+import org.greenstone.gatherer.gui.WarningDialog;
+import org.greenstone.gatherer.gui.FedoraLogin;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.greenstone.gatherer.util.JarTools;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+
+
+/** Containing the top-level "core" for the Gatherer, this class is the
+ * common core for the GLI application and applet. It first parses the
+ * command line arguments, preparing to update the configuration as
+ * required. Next it loads several important support classes such as the
+ * Configuration and Dictionary. Finally it creates the other important
+ * managers and sends them on their way.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class Gatherer
+{
+    /** The name of the GLI. */
+    static final public String PROGRAM_NAME = "Greenstone Librarian Interface";
+    /** The current version of the GLI.
+		* Note: the gs3-release-maker relies on this variable being declared
+		* in a line which maches this java regex:
+		* ^(.*)String\s*PROGRAM_VERSION\s*=\s*"trunk";
+		* If change the declaration and it no longer matches the regex, please
+		* change the regex in the gs3-release-maker code and in this message
+		*/
+
+    static final public String PROGRAM_VERSION = "trunk";
+
+    static private Dimension size = new Dimension(800, 540);
+    static public RemoteGreenstoneServer remoteGreenstoneServer = null;
+
+    /** Has the exit flag been set? */
+    static final public int EXIT_THEN_RESTART= 2;
+    static public boolean exit = false;
+    static public int exit_status = 0;
+
+    static private String gli_directory_path = null;
+    static private String gli_user_directory_path = null;
+
+    static public String client_operating_system = null;
+
+    /** All of the external applications that must exit before we close the Gatherer. */
+    static private Vector apps = new Vector();
+    static private String non_standard_collect_directory_path = null;
+    static public String open_collection_file_path = null;
+    /** A public reference to the FileAssociationManager. */
+    static public FileAssociationManager assoc_man;
+    /** A public reference to the CollectionManager. */
+    static public CollectionManager c_man;
+    /** A public reference to the RecycleBin. */
+    static public RecycleBin recycle_bin;
+    /** a reference to the Servlet Configuration is GS3 */
+    static public ServletConfiguration servlet_config;
+    /** A public reference to the FileManager. */
+    static public FileManager f_man;
+    /** A public reference to the GUIManager. */
+    static public GUIManager g_man = null;
+    static private boolean g_man_built = false;
+
+    /** We are using the GLI for GS3 */
+    static public boolean GS3 = false;
+
+    static public boolean isApplet = false;
+    static public boolean isGsdlRemote = false;
+    static public boolean isLocalLibrary = false;
+
+    /* TODO: If we're using local GLI, collections are built locally. If we're using client-GLI
+     * and it contains a gs2build folder in it, then localBuild will also be true (if this is not
+     * turned off in Preferences). If we're remote and this is turned off in Prefs, build remotely. */
+    /*static public boolean buildingLocally = true;*/
+    /** If we're using local GLI, we can always download. If we're using client-GLI, we can only
+     * download if we have a gs2build folder inside it. And if we don't turn off downloadEnabling
+     * in the preferences.
+    */
+    static public boolean isDownloadEnabled = true;
+
+    // feedback stuff
+    /** is the feedback feature enabled? */
+    static public boolean feedback_enabled = true;
+    /** the action recorder dialog */
+    static public ActionRecorderDialog feedback_dialog = null;
+
+    // Refresh reasons
+    static public final int COLLECTION_OPENED   = 0;
+    static public final int COLLECTION_CLOSED   = 1;
+    static public final int COLLECTION_REBUILT  = 2;
+    static public final int PREFERENCES_CHANGED = 3;
+
+   //////kk added////////  
+    static public String cgiBase="";
+    /////////////////
+
+    /** Magic to allow Enter to fire the default button. */
+    static {
+      KeyStroke enter = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
+      Keymap map = JTextComponent.getKeymap(JTextComponent.DEFAULT_KEYMAP);
+      map.removeKeyStrokeBinding(enter);
+    }
+
+    static private URL default_gliserver_url=null;
+
+    public Gatherer(String[] args) 
+    {
+	// Display the version to make error reports a lot more useful
+	System.err.println("Version: " + PROGRAM_VERSION + "\n");
+
+	JarTools.initialise(this); 
+
+	GetOpt go = new GetOpt(args);
+
+	// Remember the GSDLOS value
+	client_operating_system = go.client_operating_system;
+
+	// If feedback is enabled, set up the recorder dialog
+	if (go.feedback_enabled) {
+	    // Use the default locale for now - this will be changed by the Gatherer run method
+	    feedback_enabled = true;
+	    feedback_dialog = new ActionRecorderDialog(Locale.getDefault());
+	}
+
+	// Are we using a remote Greenstone?
+	if (go.use_remote_greenstone) {
+	    isGsdlRemote = true;
+
+	    // We don't have a local Greenstone!
+	    go.gsdl3_path=null;
+	    go.gsdl3_src_path=null;
+
+	    // Don't set go.gsdl_path to null, since gdsl_path may still be set 
+	    // if we have a client-gli containing gs2build folder. 
+	    // However, keep track of whether we can download.
+	    if(go.gsdl_path == null) {
+		isDownloadEnabled = false;
+	    }
+
+	    // We have to use our own collect directory since we can't use the Greenstone one
+	    setCollectDirectoryPath(getGLIUserDirectoryPath() + "collect" + File.separator);
+	}
+	// We have a local Greenstone. OR we have a gs2build folder inside 
+	// the client-GLI folder (with which the Download panel becomes enabled) 
+	if(isDownloadEnabled) {
+	    LocalGreenstone.setDirectoryPath(go.gsdl_path);
+	}
+
+	// Users may specify a non-standard collect directory (eg. when running one GLI in a network environment)
+	if (go.collect_directory_path != null) {
+	    setCollectDirectoryPath(go.collect_directory_path);
+	}
+
+	// More special code for running with a remote Greenstone
+	if (isGsdlRemote) {
+	    if (go.fedora_info.isActive()) {
+		Configuration.TEMPLATE_CONFIG_XML = "xml/" + Configuration.FEDORA_CONFIG_PREFIX + "configRemote.xml";
+	    }
+	    else {
+		Configuration.TEMPLATE_CONFIG_XML = "xml/configRemote.xml";
+	    }
+
+	    Configuration.CONFIG_XML = "configRemote.xml"; 
+
+	    File collect_directory = new File(Gatherer.getCollectDirectoryPath());
+	    if (!collect_directory.exists() && !collect_directory.mkdir()) {
+		System.err.println("Warning: Unable to make directory: " + collect_directory);
+	    }
+	}
+	else {	    
+	    if (go.fedora_info.isActive()) {
+		Configuration.TEMPLATE_CONFIG_XML = "xml/" + Configuration.FEDORA_CONFIG_PREFIX + Configuration.CONFIG_XML;
+	    }
+	    // else, the CONFIG_XML uses the default config file, which is for the local GS server
+	}
+
+	init(go.gsdl_path, go.gsdl3_path, go.gsdl3_src_path, 
+	     go.fedora_info,
+	     go.local_library_path, go.library_url_string, 
+	     go.gliserver_url_string, go.debug, go.perl_path, go.no_load, go.filename, go.site_name,
+	     go.servlet_path);
+    }
+
+
+    public void init(String gsdl_path, String gsdl3_path, String gsdl3_src_path, 
+		     FedoraInfo fedora_info,
+		     String local_library_path,
+		     String library_url_string, String gliserver_url_string, boolean debug_enabled,
+		     String perl_path, boolean no_load, String open_collection, 
+		     String site_name, String servlet_path) 
+    {
+	if (gsdl3_path != null && !gsdl3_path.equals("")) {
+	    this.GS3 = true;
+	} else {
+	    gsdl3_path = null;
+	    gsdl3_src_path = null;
+	}
+
+	// Create the debug stream if required
+	if (debug_enabled) {
+	    DebugStream.enableDebugging();
+
+	    Calendar now = Calendar.getInstance();
+	    String debug_file_path = "debug" + now.get(Calendar.DATE) + "-" + now.get(Calendar.MONTH) + "-" + now.get(Calendar.YEAR) + ".txt";
+
+	    // Debug file is created in the user's GLI directory
+	    debug_file_path = getGLIUserDirectoryPath() + debug_file_path;
+	    DebugStream.println("Debug file path: " + debug_file_path);
+	    DebugStream.setDebugFile(debug_file_path);
+	    DebugStream.print(System.getProperties());
+	}
+
+	// Delete plugins.dat and classifiers.dat files from previous versions of the GLI (no longer used)
+	File plugins_dat_file = new File(Gatherer.getGLIUserDirectoryPath() + "plugins.dat");
+	if (plugins_dat_file.exists()) {
+	    System.err.println("Deleting plugins.dat file...");
+	    Utility.delete(plugins_dat_file);
+	}
+	File classifiers_dat_file = new File(Gatherer.getGLIUserDirectoryPath() + "classifiers.dat");
+	if (classifiers_dat_file.exists()) {
+	    System.err.println("Deleting classifiers.dat file...");
+	    Utility.delete(classifiers_dat_file);
+	}
+
+	try {
+	    // Load GLI config file
+	    new Configuration(getGLIUserDirectoryPath(), gsdl_path, gsdl3_path, gsdl3_src_path, site_name,
+			      fedora_info);
+	    
+	    // Check we know where Perl is
+	    Configuration.perl_path = perl_path;
+	    if (isGsdlRemote && !isDownloadEnabled && Utility.isWindows() && Configuration.perl_path != null) {
+		if (Configuration.perl_path.toLowerCase().endsWith("perl.exe")) {
+		    Configuration.perl_path = Configuration.perl_path.substring(0, Configuration.perl_path.length() - "perl.exe".length());
+		}
+		if (Configuration.perl_path.endsWith(File.separator)) {
+		    Configuration.perl_path = Configuration.perl_path.substring(0, Configuration.perl_path.length() - File.separator.length());
+		}
+	    }
+
+	    // the feedback dialog has been loaded with a default locale, 
+	    // now set the user specified one
+	    if (feedback_enabled && feedback_dialog != null) {
+		feedback_dialog.setLocale(Configuration.getLocale("general.locale", true));
+	    }
+
+	    // Read Dictionary
+	    new Dictionary(Configuration.getLocale("general.locale", true), Configuration.getFont("general.font", true));
+
+	    // check that we are using Sun Java
+	    String java_vendor = System.getProperty("java.vendor");
+	    if (!java_vendor.equals("Sun Microsystems Inc.")) {
+		System.err.println(Dictionary.get("General.NotSunJava", java_vendor));
+	    }
+
+	    // Unless we're using remote building, we need to know where the local Greenstone is
+	    if (!isGsdlRemote && gsdl_path == null) {
+		missingGSDL();
+	    }
+
+	    if (fedora_info.isActive()) {
+		popupFedoraInfo();
+	    }
+
+	    // Finally, we're ready to find out the version of the remote Greenstone server 
+	    if(isGsdlRemote) {
+		// instantiate the RemoteGreenstoneServer object first
+		remoteGreenstoneServer = new RemoteGreenstoneServer();
+
+		// Set up proxy
+		setProxy();
+		// Now we set up an Authenticator
+		Authenticator.setDefault(new GAuthenticator());
+
+		int greenstoneVersion = 2;
+		requestGLIServerURL();
+		gliserver_url_string = Configuration.gliserver_url.toString();
+		
+		greenstoneVersion = remoteGreenstoneServer.getGreenstoneVersion();
+		// Display the version to make error reports a lot more useful
+		System.err.println("Remote Greenstone server version: " + greenstoneVersion);
+		if(greenstoneVersion >= 3) {
+		    this.GS3 = true;
+		    Configuration.prepareForGS3();
+		} 
+		
+		if(fedora_info.isActive()) { 
+		    // when GS server is remote, FEDORA_HOME resides on the remote server side,
+		    // but we know the library URL from user-provided information
+		    library_url_string = fedora_info.getLibraryURL();
+		} else {
+		    library_url_string = remoteGreenstoneServer.getLibraryURL(Configuration.gliserver_url.toString());
+		}
+		// write it into the config file
+		Configuration.setString("general.library_url", true, library_url_string);
+	    }
+	    else { // local greenstone: Start up the local library server, if that's what we want
+		if (!GS3) {
+		    isLocalLibrary = LocalLibraryServer.start(gsdl_path, local_library_path);
+		}
+		// else web library: GS server is local, but doesn't use the webserver included with GS2
+	    }
+	    
+	    // The "-library_url" option overwrites anything in the config files
+	    if (library_url_string != null && library_url_string.length() > 0) {
+		try {
+		    System.err.println("Setting library_url to " + library_url_string + "...");
+		    Configuration.library_url = new URL(library_url_string);
+		}
+		catch (MalformedURLException error) {
+		    DebugStream.printStackTrace(error);
+		}
+	    }
+  
+
+	    // Check that we now know the Greenstone library URL, since we need this for previewing collections
+	    // It is not necessary if an independent GSI was launched and the user hasn't pressed Enter Library yet
+	    DebugStream.println("Configuration.library_url = " + Configuration.library_url);
+	    if (Configuration.library_url == null) {
+		if(isLocalLibrary) {
+		    if(!LocalLibraryServer.isURLPending()) {
+			missingEXEC();
+		    }
+		    // else LocalLibraryServer is expecting a URL soon, so don't need to display the dialog
+		} else { // GS2 webLibrary or GS3 or remote Greenstone
+		    missingEXEC();
+		}
+	    }
+
+	    // The "-gliserver_url" option overwrites anything in the config files
+	    if (gliserver_url_string != null && gliserver_url_string.length() > 0) {
+		try {
+		    System.err.println("Setting gliserver_url to " + gliserver_url_string + "...");
+		    Configuration.gliserver_url = new URL(gliserver_url_string);
+		}
+		catch (MalformedURLException error) {
+		    DebugStream.printStackTrace(error);
+		}
+	    }
+
+	    // If we're using a remote Greenstone we need to know where the gliserver script is
+	    DebugStream.println("Configuration.gliserver_url = " + Configuration.gliserver_url);
+
+	    if (GS3) {
+		// Load Greenstone 3 servlet configuration
+		if (isGsdlRemote){
+		    servlet_config = new ServletConfiguration(Configuration.gli_user_directory_path);
+		}else{
+		    servlet_config= new ServletConfiguration(gsdl3_path);
+		}
+	    }
+
+	    if (GS3 && Configuration.servlet_path == null) {
+		Configuration.servlet_path = servlet_config.getServletPath(Configuration.site_name);
+	    }
+	     
+	    // ensure that a directory called 'cache' exists in the GLI user directory  
+	    File user_cache_dir = new File(Gatherer.getGLIUserCacheDirectoryPath());
+	    System.err.println("User cache dir: " + Gatherer.getGLIUserCacheDirectoryPath());
+	    if (!user_cache_dir.exists() && !user_cache_dir.mkdir()) {
+		System.err.println("Warning: Unable to make directory: " + user_cache_dir);
+	    }
+
+	    // Check for ImageMagick
+	    if (Gatherer.isGsdlRemote) {
+		DebugStream.println("Not checking for ImageMagick.");
+	    }
+	    else if (!(new ImageMagickTest()).found()) {
+		// Time for a warning message
+		missingImageMagick();
+	    }
+
+	    if (Gatherer.isGsdlRemote) {
+		DebugStream.println("Not checking for perl path/exe");
+	    }
+	    else {
+		// Perl path is a little different as it is perfectly ok to
+		// start the GLI without providing a perl path
+		boolean found_perl = false;
+		if (Configuration.perl_path != null) {
+		    // See if the file pointed to actually exists
+		    File perl_file = new File(Configuration.perl_path);
+		    found_perl = perl_file.exists();
+		    perl_file = null;
+		}
+		if (Configuration.perl_path == null || !found_perl) {
+		    // Run test to see if we can run perl as is.
+		    PerlTest perl_test = new PerlTest();
+		    if (perl_test.found()) {
+			// If so replace the perl path with the system
+			// default (or null for unix).
+			Configuration.perl_path = perl_test.toString();
+			found_perl = true;
+		    }
+		}
+		if (!found_perl) {
+		    // Time for an error message.
+		    missingPERL();
+		}
+	    }
+
+	    // Set the default font for all Swing components.
+	    FontUIResource default_font = Configuration.getFont("general.font", true);
+	    Enumeration keys = UIManager.getDefaults().keys();
+	    while (keys.hasMoreElements()) {
+		Object key = keys.nextElement();
+		Object value = UIManager.get(key);
+		if (value instanceof FontUIResource) {
+		    UIManager.put(key, default_font);
+		}
+	    }
+
+	    // At this point (which is where this code originally used to be), we can set up the proxy for the
+	    // non-remote case. The remote Greenstone server would already have setup its proxy when required.
+	    if(!isGsdlRemote) {
+		setProxy();
+		// Now we set up an Authenticator
+		Authenticator.setDefault(new GAuthenticator());
+	    }
+	    assoc_man = new FileAssociationManager();
+	    // Create File Manager
+	    f_man = new FileManager();
+	    // Create Collection Manager
+	    c_man = new CollectionManager();
+	    // Create Recycle Bin
+	    recycle_bin = new RecycleBin();
+
+	    if (GS3) {
+		if (site_name==null) {
+		    site_name = Configuration.site_name;
+		    servlet_path = null; // need to reset this
+		}
+		if (servlet_path == null) {
+		    servlet_path = Configuration.getServletPath();
+		}
+	    }
+
+	    open_collection_file_path = open_collection;
+	    if (open_collection_file_path == null) {
+		open_collection_file_path = Configuration.getString(
+			"general.open_collection"+Configuration.gliPropertyNameSuffix(), true);
+	    }
+	    if (no_load || open_collection_file_path.equals("")) {
+		open_collection_file_path = null;
+	    }
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+
+	
+	// Create GUI Manager (last) or else suffer the death of a thousand NPE's
+	g_man = new GUIManager(size);
+
+	// Get a list of the core Greenstone classifiers and plugins
+	Classifiers.loadClassifiersList(null);
+	Plugins.loadPluginsList(null);
+
+	// If using a remote Greenstone we need to download the collection configurations now
+	if (Gatherer.isGsdlRemote) {
+	    if (remoteGreenstoneServer.downloadCollectionConfigurations().equals("")) {
+		// !! Something went wrong downloading the collection configurations
+		System.err.println("Error: Could not download collection configurations.");
+		if(!Gatherer.isApplet) { // don't close the browser if it is an applet!
+		    System.exit(0);
+		}
+	    }
+	}
+    }
+
+    
+    /** Returns the correct version of the (local or remote) Greenstone server if init() has already been called. */
+    public static int serverVersionNumber() { 
+	return GS3 ? 3 : 2;
+    } 
+
+    /** Returns "Server: version number" if init() has already been called. */
+    public static String getServerVersionAsString() { 
+	return "Server: v" + serverVersionNumber();
+    } 
+
+    public void openGUI()
+    {
+	// Size and place the frame on the screen
+	Rectangle bounds = Configuration.getBounds("general.bounds", true);
+	if (bounds == null) {
+	    // Choose a sensible default value
+	    bounds = new Rectangle(0, 0, 640, 480);
+	}
+	
+	// Ensure width and height are reasonable
+	size = bounds.getSize();
+	if (size.width < 640) {
+	    size.width = 640;
+	}
+	else if (size.width > Configuration.screen_size.width && Configuration.screen_size.width > 0) {
+	    size.width = Configuration.screen_size.width;
+	}
+	if (size.height < 480) {
+	    size.height = 480;
+	}
+	else if (size.height > Configuration.screen_size.height && Configuration.screen_size.height > 0) {
+	    size.height = Configuration.screen_size.height;
+	}
+
+	if (!g_man_built) {
+
+	    g_man.display();
+
+	    // Place the window in the desired location on the screen, if this is do-able (not under most linux window managers apparently. In fact you're lucky if they listen to any of your screen size requests).
+	    g_man.setLocation(bounds.x, bounds.y);
+	    g_man.setVisible(true);
+
+	    // After the window has been made visible, check that it is in the correct place
+	    // sometimes java places a window not in the correct place, 
+	    // but with an offset. If so, we work out what the offset is
+	    // and change the desired location to take that into account 
+	    Point location = g_man.getLocation();
+	    int x_offset = bounds.x - location.x;
+	    int y_offset = bounds.y - location.y;
+	    // If not, offset the window to move it into the correct location
+	    if (x_offset > 0 || y_offset > 0) {
+		///ystem.err.println("changing the location to "+(bounds.x + x_offset)+" "+ (bounds.y + y_offset));
+		g_man.setLocation(bounds.x + x_offset, bounds.y + y_offset);
+	    }
+
+	    // The 'after-display' triggers several events which don't occur until after the visual components are actually available on screen. Examples of these would be the various html renderings, as they can't happen offscreen.
+	    g_man.afterDisplay();
+	    g_man_built = true;
+	}
+	else {
+	    g_man.setVisible(true);
+	}
+
+	// Get a list of the core Greenstone classifiers and plugins
+	/*Classifiers.loadClassifiersList(null);
+	Plugins.loadPluginsList(null);
+
+	// If using a remote Greenstone we need to download the collection configurations now
+	if (Gatherer.isGsdlRemote) {
+	    if (remoteGreenstoneServer.downloadCollectionConfigurations().equals("")) {
+		// !! Something went wrong downloading the collection configurations
+		System.err.println("Error: Could not download collection configurations.");
+		System.exit(0);
+	    }
+	}*/
+
+	// If there was a collection left open last time, reopen it
+	 if (open_collection_file_path == null) {
+      
+      //the menu bar items, file and edit, are disabled from the moment of their creation. if there is no left-over collection from the last session, enable them; otherwise it is untill the collection finishes loading, will they be enabled in collectionManager.java
+	  setMenuBarEnabled(true);
+      } else {
+  
+      // If there was a collection left open last time, reopen it
+	  c_man.openCollectionFromLastTime();
+      }
+    }
+
+    public static void setMenuBarEnabled(boolean enabled) {
+      g_man.menu_bar.file.setEnabled(enabled);
+      g_man.menu_bar.edit.setEnabled(enabled);
+    }
+
+    /** Exits the Gatherer after ensuring that things needing saving are saved.
+     * @see java.io.FileOutputStream
+     * @see java.io.PrintStream
+     * @see java.lang.Exception
+     * @see javax.swing.JOptionPane
+     * @see org.greenstone.gatherer.Configuration
+     * @see org.greenstone.gatherer.collection.CollectionManager
+     * @see org.greenstone.gatherer.gui.GUIManager
+     */
+    static public void exit(int new_exit_status)
+    {
+	DebugStream.println("In Gatherer.exit()...");
+	exit = true;
+	if (new_exit_status != 0) {
+	    // default exit_status is already 0 
+	    // only remember a new exit status if it is non-trivial
+	    exit_status = new_exit_status;
+	}
+
+	// Save the file associations
+	if (assoc_man != null) {
+	    assoc_man.save();
+	    assoc_man = null;
+	}
+
+	// Get the gui to deallocate
+	if(g_man != null) {
+	    g_man.destroy();
+	    g_man_built = false;
+	}
+
+	// Flush debug
+	DebugStream.closeDebugStream();
+
+	// If we started a server, we should try to stop it.
+	if (LocalLibraryServer.isRunning() == true) {
+	    LocalLibraryServer.stop();
+	}
+
+	// If we're using a remote Greenstone server we need to make sure that all jobs have completed first
+	if (isGsdlRemote) {
+	    remoteGreenstoneServer.exit();
+	}
+
+	// Make sure we haven't started up any processes that are still running
+	if (apps.size() == 0) {
+	    // If we're running as an applet we don't actually quit (just hide the main GLI window)
+	    if (!Gatherer.isApplet) {
+		// This is the end...
+		System.exit(exit_status);
+	    }
+	}
+	else {
+	    JOptionPane.showMessageDialog(g_man, Dictionary.get("General.Outstanding_Processes"), Dictionary.get("General.Outstanding_Processes_Title"), JOptionPane.ERROR_MESSAGE);
+	    g_man.setVisible(false);
+	}
+    }
+
+    static public void exit()
+    {
+	exit(0);
+    }
+
+    /** Returns the path of the Greenstone "collect" directory. */
+    static public String getCollectDirectoryPath()
+    {
+	if (non_standard_collect_directory_path != null) {
+	    return non_standard_collect_directory_path;
+	}
+
+	if (!GS3) {
+	    return Configuration.gsdl_path + "collect" + File.separator;
+	}
+	else {
+	    return getSitesDirectoryPath() + Configuration.site_name + File.separator + "collect" + File.separator;
+	}
+    }
+
+
+    /** Returns the path of the GLI directory. */
+    static public String getGLIDirectoryPath()
+    {
+	return gli_directory_path;
+    }
+
+
+    /** Returns the path of the GLI "metadata" directory. */
+    static public String getGLIMetadataDirectoryPath()
+    {
+	return getGLIDirectoryPath() + "metadata" + File.separator;
+    }
+
+
+    /** Returns the path of the GLI user directory. */
+    static public String getGLIUserDirectoryPath()
+    {
+	return gli_user_directory_path;
+    }
+
+
+    /** Returns the path of the GLI user "cache" directory. */
+    static public String getGLIUserCacheDirectoryPath()
+    {
+	return getGLIUserDirectoryPath() + "cache" + File.separator;
+    }
+
+
+    /** Returns the path of the GLI user "log" directory. */
+    static public String getGLIUserLogDirectoryPath()
+    {
+	return getGLIUserDirectoryPath() + "log" + File.separator;
+    }
+
+
+    static public String getSitesDirectoryPath()
+    {
+	return Configuration.gsdl3_path + "sites" + File.separator;
+    }
+
+
+    static public void setCollectDirectoryPath(String collect_directory_path)
+    {
+	non_standard_collect_directory_path = collect_directory_path;
+	if (!non_standard_collect_directory_path.endsWith(File.separator)) {
+	    non_standard_collect_directory_path = non_standard_collect_directory_path + File.separator;
+	}
+    }
+
+
+    static public void setGLIDirectoryPath(String gli_directory_path_arg)
+    {
+	gli_directory_path = gli_directory_path_arg;
+    }
+
+
+    static public void setGLIUserDirectoryPath(String gli_user_directory_path_arg)
+    {
+	gli_user_directory_path = gli_user_directory_path_arg;
+
+	// Ensure the GLI user directory exists
+	File gli_user_directory = new File(gli_user_directory_path);
+	if (!gli_user_directory.exists() && !gli_user_directory.mkdirs()) {
+	    System.err.println("Error: Unable to make directory: " + gli_user_directory);
+	}
+    }
+
+
+    static public void refresh(int refresh_reason)
+    {
+	if (g_man != null) {
+
+	    g_man.refresh(refresh_reason, c_man.ready());
+	}
+
+	// Now is a good time to force a garbage collect
+	System.gc();
+    }
+
+
+    // used to send reload coll messages to the tomcat server
+    static public void configGS3Server(String site, String command) {
+	if (Configuration.library_url == null){
+	    System.out.println("Error: you have not provided the Greenstone Library address.");  
+           return;
+
+	} 
+          
+	try {
+	    // need to add the servlet name to the exec address
+	    String raw_url = Configuration.library_url.toString() + Configuration.getServletPath() + command;
+	    URL url = new URL(raw_url);
+	    DebugStream.println("Action: " + raw_url);
+	    HttpURLConnection library_connection = (HttpURLConnection) url.openConnection();
+	    int response_code = library_connection.getResponseCode();
+	    if(HttpURLConnection.HTTP_OK <= response_code && response_code < HttpURLConnection.HTTP_MULT_CHOICE) {
+		DebugStream.println("200 - Complete.");
+	    }
+	    else {
+		DebugStream.println("404 - Failed.");
+	    }
+	    url = null;
+	}
+	catch(java.net.ConnectException connectException) {
+	    JOptionPane.showMessageDialog(g_man, Dictionary.get("Preferences.Connection.Library_Path_Connection_Failure", Configuration.library_url.toString()), Dictionary.get("General.Warning"), JOptionPane.WARNING_MESSAGE);
+	    DebugStream.println(connectException.getMessage());
+	}
+	catch (Exception exception) {            
+	    DebugStream.printStackTrace(exception);
+	}
+    }
+
+
+    /** Used to 'spawn' a new child application when a file is double clicked.
+     * @param file The file to open 
+     * @see org.greenstone.gatherer.Gatherer.ExternalApplication
+     */
+    static public void spawnApplication(File file) {
+	String [] commands = assoc_man.getCommand(file);
+	if(commands != null) {
+	    ExternalApplication app = new ExternalApplication(commands);
+	    apps.add(app);
+	    app.start();
+	}
+	else {
+	    ///ystem.err.println("No open command available.");
+	}
+    }
+
+
+    static public void spawnApplication(String command)
+    {
+	ExternalApplication app = new ExternalApplication(command);
+	apps.add(app);
+	app.start();
+    }
+
+    static public void spawnApplication(String command, String ID)
+    {
+	ExternalApplication app = new ExternalApplication(command, ID);
+	apps.add(app);
+	app.start();
+    }
+
+    static public void terminateApplication(String ID) {
+	for(int i = 0; i < apps.size(); i++) {
+	    ExternalApplication app = (ExternalApplication)apps.get(i);
+	    if(app.getID() != null && app.getID().equals(ID)) {
+		app.stopExternalApplication();
+		apps.remove(app);
+	    }
+	}
+    }
+
+
+    /** Used to 'spawn' a new  browser application or reset an existing one when the preview button is clicked 
+     * @param url The url to open the browser at
+     * @see org.greenstone.gatherer.Gatherer.BrowserApplication
+     */    
+    static public void spawnBrowser(String url) {
+	String command = assoc_man.getBrowserCommand(url);
+	if (command != null) {
+	    BrowserApplication app = new BrowserApplication(command, url);
+	    apps.add(app);
+	    app.start();
+	}
+	else {
+	    ///ystem.err.println("No browser command available."); 
+	}
+    }
+
+
+    /** Prints a warning message about a missing library path, which means the final collection cannot be previewed in the Gatherer.
+     */
+    static public void missingEXEC() {
+	WarningDialog dialog;
+	String configPropertyName = "general.library_url"+Configuration.gliPropertyNameSuffix();
+
+	if (GS3) {
+	    // Warning dialog with no cancel button and no "turn off warning" checkbox 
+	    dialog = new WarningDialog("warning.MissingEXEC", Dictionary.get("MissingEXEC_GS3.Title"), Dictionary.get("MissingEXEC_GS3.Message"), configPropertyName, false, false);
+	} else { // local case
+	    dialog = new WarningDialog("warning.MissingEXEC", Dictionary.get("MissingEXEC.Title"), Dictionary.get("MissingEXEC.Message"), configPropertyName, false);
+	}
+
+	JTextField field = new URLField.Text(Configuration.getColor("coloring.editable_foreground", false), Configuration.getColor("coloring.editable_background", false));
+
+	// Set the default library URL to the tomcat server and port number
+	// specified in the build.properties located in the gsdl3_src_path 
+	if (GS3) {
+	    String host = "localhost";
+	    String port = "8080";
+	    
+	    File buildPropsFile = new File(Configuration.gsdl3_src_path + File.separator + "build.properties");
+	    if(buildPropsFile.exists()) {
+		Properties props = new Properties();
+		try{
+		    props.load(new FileInputStream(buildPropsFile));
+		    host = props.getProperty("tomcat.server", host); 
+		    port = props.getProperty("tomcat.port", port);
+		}catch(Exception e){
+		    DebugStream.println("Could not load build.properties file");
+		    System.err.println("Could not load build.properties file");
+		}
+		props = null;
+	    }
+	    String defaultURL = "http://"+host+":"+port+"/"+"greenstone3";
+	    field.setText(defaultURL);
+	    field.selectAll();
+	}
+	dialog.setValueField(field);
+	dialog.display();
+	dialog.dispose();
+	dialog = null;
+
+	String library_url_string = Configuration.getString(configPropertyName, true);
+	if (!library_url_string.equals("")) {
+	    try {
+		// WarningDialog does not allow invalid URLs, so the following is ignored:
+		// make sure the URL the user provided contains the http:// prefix
+		// and then save the corrected URL
+		if(!library_url_string.startsWith("http://") 
+		   && !library_url_string.startsWith("https://")) {
+		    library_url_string = "http://"+library_url_string;
+		    Configuration.setString(configPropertyName, true, configPropertyName);
+		}
+		Configuration.library_url = new URL(library_url_string);
+	    }
+	    catch (MalformedURLException exception) {
+		DebugStream.printStackTrace(exception);
+	    }
+	}
+    }
+
+
+
+    /** Prints a warning message about a missing library path, which means the final collection cannot be previewed in the Gatherer.
+     */
+    static private void popupFedoraInfo() {
+
+	FedoraLogin dialog = new FedoraLogin("Fedora Login", false);
+
+	if (Configuration.library_url == null) {
+	    
+	    String library_url_string = dialog.getLibraryURL();
+	    if (!library_url_string.equals("")) {
+		try {
+		    Configuration.library_url = new URL(library_url_string);
+		}
+		catch (MalformedURLException exception) {
+		    DebugStream.printStackTrace(exception);
+		}
+	    }
+	}
+	
+	boolean showLogin = true;
+	do {
+	    if(!dialog.loginRequested()) { // user pressed cancel to exit the FedoraLogin dialog
+		System.exit(0);
+	    } else {
+		showLogin = dialog.loginRequested();
+		String hostname = dialog.getHostname();
+		String port     = dialog.getPort();
+		String username = dialog.getUsername();
+		String password = dialog.getPassword();
+		String protocol = dialog.getProtocol();
+	    
+		Configuration.fedora_info.setHostname(hostname);
+		Configuration.fedora_info.setPort(port);
+		Configuration.fedora_info.setUsername(username);
+		Configuration.fedora_info.setPassword(password);
+		Configuration.fedora_info.setProtocol(protocol);
+	    
+		String ping_url_str = protocol + "://" + hostname + ":" + port + "/fedora";
+		String login_str = username + ":" + password;
+		
+		String login_encoding = Base64.encodeBytes(login_str.getBytes());
+				
+		try {
+		    URL ping_url = new URL(ping_url_str);
+		    URLConnection uc = ping_url.openConnection();
+		    uc.setRequestProperty  ("Authorization", "Basic " + login_encoding);
+		    // Attempt to access some content ...
+		    InputStream content = (InputStream)uc.getInputStream();
+		    
+		    // if no exception occurred in the above, we would have come here:
+		    showLogin = false;
+		    dialog.dispose();
+		}
+		catch (Exception exception) {
+		    // TODO: move into dictionary
+		    String[] errorMessage = {"Failed to connect to the Fedora server.", "It might not be running, or",
+					     "incorrect username and/or password."};
+		    dialog.setErrorMessage(errorMessage);
+		    //DebugStream.printStackTrace(exception);
+		    // exception occurred, show the dialog again (do this after printing to
+		    // debugStream, else the above does not get done for some reason).
+		    dialog.setVisible(true);
+		}
+	    } 
+	} while(showLogin);
+
+	dialog = null; // no more need of the dialog
+	
+	// Now we are connected.
+    }
+
+
+
+    static private void requestGLIServerURL()
+    {
+	WarningDialog dialog;
+	String[] defaultURLs = {
+	    "http://localhost:8080/greenstone3/cgi-bin/gliserver.pl", 
+	    "http://localhost:8080/gsdl/cgi-bin/gliserver.pl"
+	};
+
+	// Warning dialog with no cancel button and no "turn off warning" checkbox 
+	// (since user-input of the gliserver script is mandatory)
+	dialog = new WarningDialog("warning.MissingGLIServer", Dictionary.get("MissingGLIServer.Title"), Dictionary.get("MissingGLIServer.Message"), "general.gliserver_url", false, false); 
+
+	dialog.setValueField(new URLField.DropDown(Configuration.getColor("coloring.editable_foreground", false), 
+						   Configuration.getColor("coloring.editable_background", false), 
+						   defaultURLs, "general.gliserver_url", 
+						   "general.open_collection"+Configuration.gliPropertyNameSuffix(), 
+						   "gliserver.pl")); 
+
+	if (Gatherer.default_gliserver_url!=null){
+	    dialog.setValueField(Gatherer.default_gliserver_url.toString());
+	}
+
+	// A WarningDialog cannot always be made to respond (let alone to exit the program) on close. We
+	// handle the response of this particular WarningDialog here: a URL for gliserver.pl is a crucial
+	// piece of user-provided data. Therefore, if no URL was entered for gliserver.pl, it'll exit safely.
+	dialog.addWindowListener(new WindowAdapter() {
+		public void windowClosing(WindowEvent e) {
+		    Gatherer.exit();
+		}
+	    });
+	
+	dialog.display();
+	dialog.dispose();
+	dialog = null;
+
+	
+	String gliserver_url_string = Configuration.getString("general.gliserver_url", true);
+	if (!gliserver_url_string.equals("")) {
+	    try {
+		Configuration.gliserver_url = new URL(gliserver_url_string);
+		Configuration.setString("general.gliserver_url", true, gliserver_url_string);
+	    }
+	    catch (MalformedURLException exception) {
+		DebugStream.printStackTrace(exception);
+	    }
+	}
+    }
+
+
+    /** Prints a warning message about a missing GSDL path, which although not fatal pretty much ensures nothing will work properly in the GLI.
+     */
+    static private void missingGSDL() {
+	WarningDialog dialog = new WarningDialog("warning.MissingGSDL", Dictionary.get("MissingGSDL.Title"), Dictionary.get("MissingGSDL.Message"), null, false);
+	dialog.display();
+	dialog.dispose();
+	dialog = null;
+    }
+
+    /** Prints a warning message about missing a valid ImageMagick path, which although not fatal means building image collections won't work */
+    static private void missingImageMagick() {
+	WarningDialog dialog = new WarningDialog("warning.MissingImageMagick", Dictionary.get("MissingImageMagick.Title"), Dictionary.get("MissingImageMagick.Message"), null, false);
+	dialog.display();
+	dialog.dispose();
+	dialog = null;
+    }
+
+    /** Prints a warning message about missing a valid PERL path, which although not fatal pretty much ensures no collection creation/building will work properly in the GLI. */
+    static private void missingPERL() {
+	WarningDialog dialog = new WarningDialog("warning.MissingPERL", Dictionary.get("MissingPERL.Title"), Dictionary.get("MissingPERL.Message"), null, false);
+	dialog.display();
+	dialog.dispose();
+	dialog = null;
+    }
+
+
+    /** Sets up the proxy connection by setting JVM Environment flags and creating a new Authenticator.
+     * @see java.lang.Exception
+     * @see java.lang.System
+     * @see java.net.Authenticator
+     * @see org.greenstone.gatherer.Configuration
+     * @see org.greenstone.gatherer.GAuthenticator
+     */
+    static public void setProxy() {
+	try {// Can throw several exceptions
+	    if(Configuration.get("general.use_proxy", true)) {
+		System.setProperty("http.proxyType", "4");
+		System.setProperty("http.proxyHost", Configuration.getString("general.proxy_host", true));
+		System.setProperty("http.proxyPort", Configuration.getString("general.proxy_port", true));
+		System.setProperty("http.proxySet", "true");
+	    } else {
+		System.setProperty("http.proxyHost", "");
+		System.setProperty("http.proxyPort", "");
+		System.setProperty("http.proxySet", "false");
+	    }
+	} catch (Exception error) {
+	    DebugStream.println("Error in Gatherer.initProxy(): " + error);
+	    DebugStream.printStackTrace(error);
+	}
+    }
+
+    
+    /** This private class contains an instance of an external application running within a JVM shell. It is important that this process sits in its own thread, but its more important that when we exit the Gatherer we don't actually System.exit(0) the Gatherer object until the user has volunteerily ended all of these child processes. Otherwise when we quit the Gatherer any changes the users may have made in external programs will be lost and the child processes are automatically deallocated. */
+    static private class ExternalApplication
+	extends Thread {
+	private Process process = null;
+	/** The initial command string given to this sub-process. */
+	private String command = null;
+	private String[] commands = null;
+
+	private String ID = null;
+
+	/** Constructor.
+	 * @param command The initial command <strong>String</strong>.
+	 */
+	public ExternalApplication(String command) {
+	    this.command = command;
+	}
+
+	public ExternalApplication(String[] commands) {
+	    this.commands = commands;
+	}
+
+	public ExternalApplication(String command, String ID) {
+	    this.command = command;
+	    this.ID = ID;
+	}
+	
+	public String getID() { 
+	    return ID; 
+	}
+
+	/** We start the child process inside a new thread so it doesn't block the rest of Gatherer.
+	 * @see java.lang.Exception
+	 * @see java.lang.Process
+	 * @see java.lang.Runtime
+	 * @see java.lang.System
+	 * @see java.util.Vector
+	 */
+	public void run() {
+	    // Call an external process using the args.
+	    try {
+		if(commands != null) {
+		    StringBuffer whole_command = new StringBuffer();
+		    for(int i = 0; i < commands.length; i++) {
+			whole_command.append(commands[i]);
+			whole_command.append(" ");
+		    }
+		    DebugStream.println("Running " + whole_command.toString());
+		    Runtime rt = Runtime.getRuntime();
+		    process = rt.exec(commands);
+		    process.waitFor();
+		}
+		else {
+		    DebugStream.println("Running " + command);
+		    Runtime rt = Runtime.getRuntime();
+		    process = rt.exec(command);
+		    process.waitFor();
+		}
+	    }
+	    catch (Exception exception) {
+		DebugStream.printStackTrace(exception);
+	    }
+	    // Remove ourself from Gatherer list of threads.
+	    apps.remove(this);
+	    // Call exit if we were the last outstanding child process thread.
+	    if (apps.size() == 0 && exit == true) {
+		// In my opinion (DB) there is no need to exit here,
+		// the 'run' method ending naturally brings this
+		// thread to an end.  In fact it is potentially
+		// dangerous to exit here, as the main thread in the
+		// Gatherer class may be stopped prematurely.  As it so
+		// happens the point at which the ExternalApplication thread
+		// is asked to stop (Back in the main Gatherer thread) is after
+		// various configuration files have been saved.
+		// 
+		// A similar argument holds for BrowserApplication thread below.
+		System.exit(exit_status);
+	    }
+	}
+	public void stopExternalApplication() {
+	    if(process != null) {
+		process.destroy();
+	    }
+	}
+    }
+    /** This private class contains an instance of an external application running within a JVM shell. It is important that this process sits in its own thread, but its more important that when we exit the Gatherer we don't actually System.exit(0) the Gatherer object until the user has volunteerily ended all of these child processes. Otherwise when we quit the Gatherer any changes the users may have made in external programs will be lost and the child processes are automatically deallocated. */
+    static private class BrowserApplication
+	extends Thread {
+	private Process process = null;
+	/** The initial command string given to this sub-process. */
+	private String command = null;
+	private String url = null;
+	private String[] commands = null;
+
+	public BrowserApplication(String command, String url) {
+	    StringTokenizer st = new StringTokenizer(command);
+	    int num_tokens = st.countTokens();
+	    this.commands = new String [num_tokens];
+	    int i=0;
+	    while (st.hasMoreTokens()) {
+		commands[i] = st.nextToken();
+		i++;
+	    }
+	    //this.commands = commands;
+	    this.url = url;
+	}
+	/** We start the child process inside a new thread so it doesn't block the rest of Gatherer.
+	 * @see java.lang.Exception
+	 * @see java.lang.Process
+	 * @see java.lang.Runtime
+	 * @see java.lang.System
+	 * @see java.util.Vector
+	 */
+	public void run() {
+	    // Call an external process using the args.
+	    if(commands == null) {
+		apps.remove(this);
+		return;
+	    }
+	    try {
+		String prog_name = commands[0];
+		String lower_name = prog_name.toLowerCase();
+		if (lower_name.indexOf("mozilla") != -1 || lower_name.indexOf("netscape") != -1) { 
+		    DebugStream.println("found mozilla or netscape, trying remote it");
+		    // mozilla and netscape, try using a remote command to get things in the same window
+		    String [] new_commands = new String[] {prog_name, "-raise", "-remote", "openURL("+url+",new-tab)"};
+		    printArray(new_commands);
+
+		    Runtime rt = Runtime.getRuntime();
+		    process = rt.exec(new_commands);
+		    int exitCode = process.waitFor();
+		    if (exitCode != 0) { // if Netscape or mozilla was not open
+			DebugStream.println("couldn't do remote, trying original command");
+			printArray(commands);
+			process = rt.exec(commands); // try the original command
+		    }
+		} else {
+		    // just run what we have been given
+		    StringBuffer whole_command = new StringBuffer();
+		    for(int i = 0; i < commands.length; i++) {
+			whole_command.append(commands[i]);
+			whole_command.append(" ");
+		    }
+		    DebugStream.println("Running " + whole_command.toString());
+		    Runtime rt = Runtime.getRuntime();
+		    process = rt.exec(commands);
+		    process.waitFor();
+		}
+	    }
+	    
+	    catch (Exception exception) {
+		DebugStream.printStackTrace(exception);
+	    }
+	    // Remove ourself from Gatherer list of threads.
+	    apps.remove(this);
+	    // Call exit if we were the last outstanding child process thread.
+	    if (apps.size() == 0 && exit == true) {
+		System.exit(exit_status);
+	    }
+	}
+	public void printArray(String [] array) {
+	    for(int i = 0; i < array.length; i++) {
+		DebugStream.print(array[i]+" ");
+		System.err.println(array[i]+" ");
+	    }
+	}
+	public void stopBrowserApplication() {
+	    if(process != null) {
+		process.destroy();
+	    }
+	}
+    }
+
+
+    private class ImageMagickTest
+    {
+	public boolean found()
+	{
+	    try {
+		String[] command = new String[2];
+		command[0] = (Utility.isWindows() ? "identify.exe" : "identify");
+		command[1] = "-version";
+		Process image_magick_process = Runtime.getRuntime().exec(command);
+		image_magick_process.waitFor();
+
+		//new way of detection of ImageMagick
+		InputStreamReader isr = new InputStreamReader(image_magick_process.getInputStream());
+
+	        BufferedReader br = new BufferedReader(isr);
+	        // Capture the standard output stream and seach for two particular occurances: Version and ImageMagick.
+
+	        String line = br.readLine();
+		if (line == null) {
+		    return false;
+		}
+	        String lc_line = line.toLowerCase();
+		if (lc_line.indexOf("version") != -1 || lc_line.indexOf("imagemagick") != -1) {
+			return true;
+		} else {
+		        return false;
+		}
+
+		//return (image_magick_process.exitValue() == 0);
+	    }
+	    catch (IOException exception) {
+		return false;
+	    }
+	    catch (InterruptedException exception) {
+		return false;
+	    }
+	}
+    }
+
+
+    private class PerlTest
+    {
+	private String[] command = new String[2];
+
+	public PerlTest()
+	{
+	    command[0] = (Utility.isWindows() ? Utility.PERL_EXECUTABLE_WINDOWS : Utility.PERL_EXECUTABLE_UNIX);
+	    command[1] = "-version";
+	}
+
+	public boolean found()
+	{
+	    try {
+		Process perl_process = Runtime.getRuntime().exec(command);
+		perl_process.waitFor();
+		return (perl_process.exitValue() == 0);
+	    }
+	    catch (Exception exception) {
+		return false;
+	    }
+	}
+
+	public String toString() {
+	    return command[0];
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/GathererApplet.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/GathererApplet.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/GathererApplet.java	(revision 21123)
@@ -0,0 +1,230 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+
+package org.greenstone.gatherer;
+
+import java.applet.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.net.*;
+import javax.swing.JApplet;
+
+import java.io.*;
+import javax.swing.*;
+import org.greenstone.gatherer.util.JarTools;
+import org.greenstone.gatherer.util.UnzipTools;
+import org.greenstone.gatherer.util.Utility;
+
+
+public class GathererApplet extends JApplet implements ActionListener
+{
+    private Gatherer gatherer = null;
+
+
+    protected String fullLibraryURL(String address) 
+    {
+	String full_address = "";
+
+        // make sure the URL has protocol, host, and file
+        if (address.startsWith("http:")) {
+            // the address has all the necessary components
+	    full_address = address;
+        } 
+	else if (address.startsWith("/")) {
+            // there is not protocol and host
+            URL document = getDocumentBase();
+	    int port_no = document.getPort();
+
+            String port = (port_no>0) ? ":" + port_no : "";
+            full_address = "http://" + document.getHost() + port  + address;
+	}
+
+	return full_address;
+    }
+
+
+    /* This is the entry point for the GLI applet */
+    public void init()
+    {
+	JarTools.initialise(this); 
+
+	// Check if the user has agreed to the requested security settings
+	try {
+	    // Work-around to reduce number of 
+	    // 'Could not lock user prefs' error messages.
+	    // Thanks to Walter Schatz from the java forums.
+	    System.setProperty("java.util.prefs.syncInterval","2000000");
+	}
+	catch (Exception exception) {
+	    getContentPane().add(new JLabel("Greenstone Librarian Interface Applet deactivated", JLabel.CENTER));
+	    return;
+	}
+
+	// Ensure platform specific LAF
+	try {
+	    //UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
+	    UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
+	}
+	catch (Exception exception) {
+	    exception.printStackTrace();
+	}
+
+	// Determine the GLI user directory path
+	String gli_user_directory_path = System.getProperty("user.home") + File.separator;
+        if (Utility.isWindows()) {
+	    String windows_home_parameter = getParameter("windowsHome");
+	    if (windows_home_parameter != null && !windows_home_parameter.equals("")) {
+		gli_user_directory_path = windows_home_parameter + File.separator + "GLI" + File.separator;
+	    }
+	    else {
+		gli_user_directory_path += "Application Data" + File.separator + "Greenstone" + File.separator + "GLI" + File.separator;
+	    }
+	}
+        else {
+            gli_user_directory_path += ".gli" + File.separator;
+        }
+	Gatherer.setGLIUserDirectoryPath(gli_user_directory_path);
+
+	// If we're running as an applet we don't have a local GLI, so use the user directory path as the GLI path
+	Gatherer.setGLIDirectoryPath(gli_user_directory_path);
+
+	// Set some global variables so we know how we're running
+	Gatherer.isApplet = true;
+	String library_url_string = fullLibraryURL(getParameter("gwcgi"));
+
+	String gs3 = getParameter("gsdl3");
+	boolean isGS3 = (gs3 == null || !gs3.equals("true")) ? false : true;
+
+	String gliserver_url_string;
+	if(!isGS3) {
+	    gliserver_url_string = library_url_string.substring(0, library_url_string.lastIndexOf('/') + 1) + "gliserver.pl";
+	} else {
+	    gliserver_url_string = library_url_string + "/cgi-bin/gliserver.pl";
+	}
+
+        // String debug_param = getParameter("debug");
+        // if ((debug_param != null) && (debug_param.matches("true"))) {
+        //     go.debug = true;
+        // }
+
+	String[] args;
+	if(!isGS3) {
+	    String[] gs2_args = { 
+		"-use_remote_greenstone",
+		"-gliserver_url", gliserver_url_string,
+		"-library_url", library_url_string,
+		// "-debug",
+	    };
+	    args = gs2_args;
+	} else { // >= GS3
+	    String[] gs3_args = {
+		"-use_remote_greenstone",
+		"-gliserver_url", gliserver_url_string,
+		"-library_url", library_url_string,
+		"-gsdl3",
+		//"-debug",
+	    };
+	    args = gs3_args;
+	}
+	
+	File collect_directory = new File(Gatherer.getCollectDirectoryPath());
+	if (!collect_directory.exists()) {
+	    if (JarTools.isInJar("collect.zip")) {
+		// Dig out collect.zip from JAR file and unzip it (thereby
+		// creating collect directory and descendants.
+		//   This is done to seed gsdl home folder with config files
+		//   for documented example collections so "base this on
+		//   existing collection" works
+		unzipFromJar("collect.zip", Gatherer.getGLIUserDirectoryPath());
+	    }
+	    else {
+		// Prepare an empty collect dir for use
+		if (!collect_directory.mkdir()) {
+		    System.err.println("Warning: Unable to make directory: " + collect_directory);
+		}
+	    }
+	}
+
+	File metadata_directory = new File(Gatherer.getGLIMetadataDirectoryPath());
+	if (!metadata_directory.exists()) {
+	    // dig out metadata.zip from JAR file and unzip it
+	    unzipFromJar("metadata.zip", Gatherer.getGLIDirectoryPath());
+	}
+
+	// Create an instance of the Gatherer class, which will parse the args and prepare the rest of the GLI
+	gatherer = new Gatherer(args);
+
+	// Create a button for the user to press to open the GLI GUI
+	JButton launch_GLI_button = new JButton("Launch Greenstone Librarian Interface ...");
+	launch_GLI_button.addActionListener(this);
+	getContentPane().add(launch_GLI_button);
+    }
+
+
+    public void start() 
+    {
+	System.err.println("Start called");
+    }
+
+
+    public void stop()
+    {
+	System.err.println("Stop called");
+    }
+
+
+    public void destroy()
+    {
+	System.err.println("Destroy called");
+	gatherer.exit();
+	gatherer = null;
+	System.err.println("Done gatherer exit.");
+    }
+
+
+    public void actionPerformed(ActionEvent e)
+    {
+	gatherer.openGUI();
+    }
+
+
+    /** 
+     * Method which unzips a given metadata resource.
+     * @param jar_zip_fname The name of the jar file as a <strong>String</strong>.
+     * @param dst_dir The destination directory for unzipping, also as a <strong>String</strong>.
+     * @see JarTools.extractFromJar(String, String, boolean)
+     */
+    static public void unzipFromJar(String jar_zip_fname, String dst_dir)
+    {
+	if (!dst_dir.endsWith(File.separator)) {
+	    dst_dir += File.separator;
+	}
+
+	JarTools.extractFromJar(jar_zip_fname, dst_dir, true);
+	UnzipTools.unzipFile(dst_dir + jar_zip_fname, dst_dir);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/GathererApplet4gs3.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/GathererApplet4gs3.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/GathererApplet4gs3.java	(revision 21123)
@@ -0,0 +1,203 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+
+package org.greenstone.gatherer;
+
+import java.applet.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.net.*;
+import javax.swing.JApplet;
+
+import java.io.*;
+import javax.swing.*;
+import org.greenstone.gatherer.util.JarTools;
+import org.greenstone.gatherer.util.UnzipTools;
+import org.greenstone.gatherer.util.Utility;
+
+
+public class GathererApplet4gs3 extends JApplet implements ActionListener
+{
+    private Gatherer gatherer = null;
+    private String gsdl3_string = "";
+    private String library_url_string = "";
+    private String gliserver_url_string = "";
+
+    protected String fullLibraryURL(String address) 
+    {
+	String full_address = "";
+
+        // make sure the URL has protocol, host, and file
+        if (address.startsWith("http:")) {
+            // the address has all the necessary components
+	    full_address = address;
+        } 
+	else if (address.startsWith("/")) {
+            // there is not protocol and host
+            URL document = getDocumentBase();
+	    int port_no = document.getPort();
+
+            String port = (port_no>0) ? ":" + port_no : "";
+            full_address = "http://" + document.getHost() + port  + address;
+	}
+
+	return full_address;
+    }
+
+
+    /* This is the entry point for the GLI applet */
+    public void init()
+    {
+	JarTools.initialise(this); 
+
+	// Check if the user has agreed to the requested security settings
+	try {
+	    // Work-around to reduce number of 
+	    // 'Could not lock user prefs' error messages.
+	    // Thanks to Walter Schatz from the java forums.
+	    System.setProperty("java.util.prefs.syncInterval","2000000");
+	}
+	catch (Exception exception) {
+	    getContentPane().add(new JLabel("Greenstone Librarian Interface Applet deactivated", JLabel.CENTER));
+	    return;
+	}
+
+	// Ensure platform specific LAF
+	try {
+	    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
+	}
+	catch (Exception exception) {
+	    exception.printStackTrace();
+	}
+
+	// Determine the GLI user directory path
+	String gli_user_directory_path = System.getProperty("user.home") + File.separator;
+        if (Utility.isWindows()) {
+	    String windows_home_parameter = getParameter("windowsHome");
+	    if (windows_home_parameter != null && !windows_home_parameter.equals("")) {
+		gli_user_directory_path = windows_home_parameter + File.separator + "GLI" + File.separator;
+	    }
+	    else {
+		gli_user_directory_path += "Application Data" + File.separator + "Greenstone" + File.separator + "GLI" + File.separator;
+	    }
+	}
+        else {
+            gli_user_directory_path += ".gli" + File.separator;
+        }
+	Gatherer.setGLIUserDirectoryPath(gli_user_directory_path);
+
+	// If we're running as an applet we don't have a local GLI, so use the user directory path as the GLI path
+	Gatherer.setGLIDirectoryPath(gli_user_directory_path);
+
+	// Set some global variables so we know how we're running
+	Gatherer.isApplet = true;
+	String library_url_string = fullLibraryURL(getParameter("gwcgi"));
+	String gliserver_url_string = library_url_string + "/cgi-bin/gliserver.pl";
+	String[] args = { "-use_remote_greenstone",
+			  "-gliserver_url", gliserver_url_string,
+			  "-library_url", library_url_string,
+			  "-gsdl3",
+			  //"-debug",
+	};
+
+	File collect_directory = new File(Gatherer.getCollectDirectoryPath());
+	if (!collect_directory.exists()) {
+	    if (JarTools.isInJar("collect.zip")) {
+		// Dig out collect.zip from JAR file and unzip it (thereby
+		// creating collect directory and descendants.
+		//   This is done to seed gsdl home folder with config files
+		//   for documented example collections so "base this on
+		//   existing collection" works
+		unzipFromJar("collect.zip", Gatherer.getGLIUserDirectoryPath());
+	    }
+	    else {
+		// Prepare an empty collect dir for use
+		if (!collect_directory.mkdir()) {
+		    System.err.println("Warning: Unable to make directory: " + collect_directory);
+		}
+	    }
+	}
+
+	File metadata_directory = new File(Gatherer.getGLIMetadataDirectoryPath());
+	if (!metadata_directory.exists()) {
+	    // dig out metadata.zip from JAR file and unzip it
+	    unzipFromJar("metadata.zip", Gatherer.getGLIDirectoryPath());
+	}
+
+	// Create an instance of the Gatherer class, which will parse the args and prepare the rest of the GLI
+	gatherer = new Gatherer(args);
+	// Create a button for the user to press to open the GLI GUI
+	JButton launch_GLI_button = new JButton("Launch Greenstone Librarian Interface ...");
+	launch_GLI_button.addActionListener(this);
+	getContentPane().add(launch_GLI_button);
+    }
+
+
+    public void start() 
+    {
+	System.err.println("Start called");
+    }
+
+
+    public void stop()
+    {
+	System.err.println("Stop called");
+    }
+
+
+    public void destroy()
+    {
+	System.err.println("Destroy called");
+	gatherer.exit();
+	// bug that causes browser (Firefox to freeze) when trying to reload the applet
+	// gatherer = null;
+	System.err.println("Done gatherer exit.");
+    }
+
+
+    public void actionPerformed(ActionEvent e)
+    {
+	gatherer.openGUI();
+    }
+
+
+    /** 
+     * Method which unzips a given metadata resoure.
+     * @param jar_zip_fname The name of the jar file as a <strong>String</strong>.
+     * @param dst_dir The destination directory for unzipping, also as a <strong>String</strong>.
+     * @see JarTools.extractFromJar(String, String, boolean)
+     */
+    static public void unzipFromJar(String jar_zip_fname, String dst_dir)
+    {
+	if (!dst_dir.endsWith(File.separator)) {
+	    dst_dir += File.separator;
+	}
+
+	JarTools.extractFromJar(jar_zip_fname, dst_dir, true);
+	UnzipTools.unzipFile(dst_dir + jar_zip_fname, dst_dir);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/GathererProg.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/GathererProg.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/GathererProg.java	(revision 21123)
@@ -0,0 +1,83 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, NZDL Project, University of Waikato
+ *
+ * Copyright (C) 2005 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer;
+
+
+import java.io.*;
+import javax.swing.*;
+import org.greenstone.gatherer.util.Utility;
+
+
+/**
+ * Containing the main() method, this class is the entry point for the
+ * stand-alone (non-Applet) GLI. The main point of this class is to set
+ * some stand-alone specific properties and then create an instance of the
+ * Gatherer class.
+ * @author John Thompson, NZDL Project, University of Waikato
+ */
+public class GathererProg
+{
+    /** The entry point into the stand-alone GLI.
+     * @param args A collection of arguments that may include: initial screen size, dictionary, path to the GSDL etc.
+     */
+    static public void main(String[] args)
+    {
+	// A serious hack, but its good enough to stop crappy 'Could not
+	// lock user prefs' error messages.  Thanks to Walter Schatz from
+	// the java forums.
+	System.setProperty("java.util.prefs.syncInterval","2000000"); 
+	// => results in one message every 600 hours!
+
+	// Ensure platform specific LAF
+	try {
+	    // UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
+	    UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
+	}
+	catch (Exception exception) {
+	    exception.printStackTrace();
+	}
+
+	// Determine the GLI user directory path
+	String gli_user_directory_path = System.getProperty("user.home") + File.separator;
+        if (Utility.isWindows()) {
+	    gli_user_directory_path += "Application Data" + File.separator + "Greenstone" + File.separator + "GLI" + File.separator;
+        }
+        else {
+            gli_user_directory_path += ".gli" + File.separator;
+        }
+	Gatherer.setGLIUserDirectoryPath(gli_user_directory_path);
+
+	// We have a local GLI
+	Gatherer.setGLIDirectoryPath(System.getProperty("user.dir") + File.separator);
+
+	// Create an instance of the Gatherer class, which will parse the args and prepare the rest of the GLI
+	Gatherer gatherer = new Gatherer(args);
+
+	// Display the GUI immediately
+	gatherer.openGUI();
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/GetOpt.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/GetOpt.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/GetOpt.java	(revision 21123)
@@ -0,0 +1,325 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson and David Bainbridge, 
+ *         Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer;
+
+import java.io.*;
+import org.greenstone.gatherer.util.StaticStrings; 
+import org.greenstone.gatherer.util.Utility;
+
+public class GetOpt
+{
+    public boolean debug = false; 
+    public boolean feedback_enabled = false;
+    public boolean no_load = false;
+    public boolean use_remote_greenstone = false;
+    public boolean new_set = false;
+    public boolean run_gsdl3 = false;
+
+    public String client_operating_system = null;
+    public String collect_directory_path = null;
+    public String filename = null;
+    public String gliserver_url_string = null;
+    public String gsdl_path = null;
+    public String gsdl3_path = null;
+    public String gsdl3_src_path = null;
+    public String library_url_string = null;
+    public String local_library_path = null;
+    public String perl_path = null;
+    public String site_name = null; // for GS3
+    public String servlet_path = null;
+    public String metadata_path = null;
+
+    protected FedoraInfo fedora_info = null;
+    
+    public GetOpt(String[] args)
+    {
+	// Default dictionary. Only used for starting error messages.
+	Dictionary dictionary = new Dictionary(null, null); 
+
+	fedora_info = new FedoraInfo();
+
+	// Parse arguments
+	int argument_index = 0;
+	String next_token = null;
+
+	while(argument_index < args.length || next_token != null) {
+	    // 1. We start by attempting to parse an argument name. An argument
+	    //    must start with a '-', and should not contain spaces. If
+	    //    anything else is encountered it is ignored.
+
+	    String argument_name = null;
+	    if(next_token == null) {
+		next_token = args[argument_index];
+		argument_index++;
+	    }
+
+	    if(next_token.startsWith(StaticStrings.MINUS_CHARACTER)) {
+		// Trim second '-' just to be kind to Unixy-type people
+		if(next_token.startsWith(StaticStrings.MINUS_CHARACTER + StaticStrings.MINUS_CHARACTER)) {
+		    argument_name = next_token.substring(1);
+		}
+		else {
+		    argument_name = next_token;
+		}
+	    }
+	    next_token = null;
+	    // 2. If we now have an argument name we continue by attempting
+	    //    to parse a value. A value is taken to be the sequence of
+	    //    space seperated Strings between the last argument name
+	    //    and up to but not including the next argument name. Of
+	    //    course an argument needn't have any value (ie -debug,
+	    //    -help), in which case value will be null.
+	    if(argument_name != null) {
+		String argument_value = null;
+		StringBuffer argument_value_buffer = new StringBuffer("");
+		while(argument_index < args.length && next_token == null) {
+		    next_token = args[argument_index];
+		    argument_index++;
+		    // If we just parsed an arbitary String then append it to value, followed by a single space
+		    if(!next_token.startsWith(StaticStrings.MINUS_CHARACTER)) {
+			argument_value_buffer.append(next_token);
+			argument_value_buffer.append(StaticStrings.SPACE_CHARACTER);
+			next_token = null;
+		    }
+		    // If the argument token retrieved is an argument name,
+		    // then leave it in next_token, which will cause the
+		    // argument parsing process to move onto the next step.
+		}
+		// If a value now exists in argument buffer, retrieve
+		// it. Remove the last character as it will be an erroneous
+		// space.
+		if(argument_value_buffer.length() > 0) {
+		    argument_value = argument_value_buffer.substring(0, argument_value_buffer.length() - 1);
+		}
+		
+		// 3. We now have the argument name, and any associated
+		//    value. We are ready to store the data in the
+		//    appropriate variables.
+		DebugStream.println("Parsed Argument: name=" + argument_name + (argument_value != null ? (", value=" + argument_value) : ", no value"));
+		// 3a. First those arguments that have no associated value
+		if(argument_value == null) {
+		    if(argument_name.equals(StaticStrings.HELP_ARGUMENT)) {
+			System.out.println(Dictionary.get("General.Usage"));
+			System.exit(0);
+		    }
+		    // Run GLI in debug mode. Produces debug log plus extra
+		    // messages.
+		    else if(argument_name.equals(StaticStrings.DEBUG_ARGUMENT)) {
+			debug = true;
+		    }
+		    // Run GLI with feedback enabled. 
+		    else if(argument_name.equals(StaticStrings.FEEDBACK_ARGUMENT)) {
+			feedback_enabled = true;
+		    }
+		    // Forces no loading on previous collection.
+		    else if(argument_name.equals(StaticStrings.NO_LOAD_ARGUMENT)) {
+			no_load = true;
+			filename = null;
+		    }
+		    // Use a remote Greenstone rather than a local one
+		    else if (argument_name.equals(StaticStrings.USE_REMOTE_GREENSTONE_ARGUMENT)) {
+			use_remote_greenstone = true;
+			//Use a remote Greenstone
+		    }
+		    else if (argument_name.equals(StaticStrings.GSDL3_ARGUMENT)){
+			//Use a remote Greenstone3
+			run_gsdl3=true;
+		    }
+		    else if (argument_name.equals(StaticStrings.NEW_METADATASET)) {
+			new_set = true;
+		    }
+		    else if(argument_name.equals(StaticStrings.FEDORA_MODE)) {
+			// Running FLI remotely
+			fedora_info.setActive(true);
+		    }
+		}
+		// 3b. Now for those that do
+		else {
+		    // Parse the path to the GSDL. Required argument.
+		    if(argument_name.equals(StaticStrings.GSDL_ARGUMENT)) {
+			if(argument_value.endsWith(File.separator)) {
+			    gsdl_path = argument_value;
+			}
+			else {
+			    gsdl_path = argument_value + File.separator;
+			}
+		    }
+		    // GSDL3 path
+		    if(argument_name.equals(StaticStrings.GSDL3_ARGUMENT)) {
+			if(argument_value.endsWith(File.separator)) {
+			    gsdl3_path = argument_value;
+			}
+			else {
+			    gsdl3_path = argument_value + File.separator;
+			}
+		    }
+		    // GSDL3 src path
+		    if(argument_name.equals(StaticStrings.GSDL3_SRC_ARGUMENT)) {
+			if(argument_value.endsWith(File.separator)) {
+			    gsdl3_src_path = argument_value;
+			}
+			else {
+			    gsdl3_src_path = argument_value + File.separator;
+			}
+		    }
+		    // Client operating system
+		    else if (argument_name.equals(StaticStrings.GSDLOS_ARGUMENT)) {
+			client_operating_system = argument_value;
+		    }
+		    
+		    else if (argument_name.equals(StaticStrings.SITE_ARGUMENT)) {
+			site_name = argument_value;
+		    }
+		    else if (argument_name.equals(StaticStrings.SERVLET_ARGUMENT)) {
+			servlet_path = argument_value;
+		    }
+		    // Specify a non-standard collect directory to use (for running one GLI in a network environment)
+		    else if (argument_name.equals(StaticStrings.COLLECTDIR_ARGUMENT)) {
+			collect_directory_path = argument_value;
+			System.err.println("Non standard collect directory specified: " + collect_directory_path);
+		    }
+		    // Specify a collection to load initially. Could be used for file associations.
+		    else if(argument_name.equals(StaticStrings.LOAD_ARGUMENT)) {
+			filename = argument_value;
+			no_load = false;
+		    }
+		    // Parse the file path of the local library server
+		    else if (argument_name.equals(StaticStrings.LOCAL_LIBRARY_ARGUMENT)) {
+			local_library_path = argument_value;
+		    }
+		    // Manually specify the Greenstone library URL
+		    else if (argument_name.equals(StaticStrings.LIBRARY_URL_ARGUMENT)) {
+			library_url_string = argument_value;
+		    }
+		    // Specify the URL to the gliserver CGI script for remote collection building
+		    else if (argument_name.equals(StaticStrings.GLISERVER_URL_ARGUMENT)) {
+			gliserver_url_string = argument_value;
+		    }
+		    // Parse the path to PERL. If not provided it assumes
+		    // perl should be available on the PATH.
+		    else if(argument_name.equals(StaticStrings.PERL_ARGUMENT)) {
+			perl_path = argument_value;
+			// Test whether this points to the Perl bin
+			// directory or the Perl executable itself.
+			File perl_file = new File(perl_path);
+			if(perl_file.isDirectory()) {
+			    // If this is windows we create a child file
+			    // perl.exe, otherwise we create perl
+			    if(Utility.isWindows()) {
+				perl_file = new File(perl_file, Utility.PERL_EXECUTABLE_WINDOWS);
+			    }
+			    else {
+				perl_file = new File(perl_file, Utility.PERL_EXECUTABLE_UNIX);
+			    }
+			    // And store this new path.
+			    perl_path = perl_file.getAbsolutePath();
+			    perl_file = null;
+			}
+			// Otherwise it is fine as it is
+		    }
+                    else if(argument_name.equals(StaticStrings.METADATA_PATH)){
+			if (argument_value != null && !argument_value.equals("")) {
+			    File metadata_file = new File(argument_value);
+			    if (metadata_file.exists()) {
+				metadata_path = argument_value;
+			    } 
+			}
+		    }
+
+		    // Fedora home - when running Fedora locally
+		    if(argument_name.equals(StaticStrings.FEDORA_HOME)) {
+			if(argument_value.endsWith(File.separator)) {
+			    fedora_info.setHome(argument_value);
+			}
+			else {
+			    fedora_info.setHome(argument_value + File.separator);
+			}
+		    }
+
+		    if(argument_name.equals(StaticStrings.FEDORA_VERSION)) {
+			fedora_info.setVersion(argument_value);
+		    }
+		    
+		    // Fedora hostname
+		    if(argument_name.equals(StaticStrings.FEDORA_HOSTNAME)) {
+			if(argument_value.endsWith(File.separator)) {
+			    fedora_info.setHostname(argument_value);
+			}
+			else {
+			    fedora_info.setHostname(argument_value + File.separator);
+			}
+		    }
+		    // Fedora port
+		    if(argument_name.equals(StaticStrings.FEDORA_PORT)) {
+			if(argument_value.endsWith(File.separator)) {
+			    fedora_info.setPort(argument_value);
+			}
+			else {
+			    fedora_info.setPort(argument_value + File.separator);
+			}
+		    }
+		    // Fedora username
+		    if(argument_name.equals(StaticStrings.FEDORA_USERNAME)) {
+			if(argument_value.endsWith(File.separator)) {
+			    fedora_info.setUsername(argument_value);
+			}
+			else {
+			    fedora_info.setUsername(argument_value + File.separator);
+			}
+		    }
+		    // Fedora password
+		    if(argument_name.equals(StaticStrings.FEDORA_PASSWORD)) {
+			if(argument_value.endsWith(File.separator)) {
+			    fedora_info.setPassword(argument_value);
+			}
+			else {
+			    fedora_info.setPassword(argument_value + File.separator);
+			}
+		    }
+		    // Fedora protocol, e.g. http or https
+		    if(argument_name.equals(StaticStrings.FEDORA_PROTOCOL)) {
+			if(argument_value.endsWith(File.separator)) {
+			    fedora_info.setProtocol(argument_value);
+			}
+			else {
+			    fedora_info.setProtocol(argument_value + File.separator);
+			}
+		    }
+
+
+
+
+                  
+		}
+	    }
+	    // Argument name was null, nothing to be done.
+	}
+	next_token = null;
+	// Arguments all parsed.
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Argument.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Argument.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Argument.java	(revision 21123)
@@ -0,0 +1,648 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Greenstone Librarian Interface (GLI) application, 
+ * part of the Greenstone digital library software suite from the New 
+ * Zealand Digital Library Project at the University of Waikato, 
+ * New Zealand.
+ *
+ * Author: John Thompson 
+ *         Greenstone Project, New Zealand Digital Library
+ *         University of Waikato
+ *         http://www.nzdl.org
+ *
+ * Copyright (C) 2004 New Zealand Digital Library, University of Waikato
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+
+package org.greenstone.gatherer.cdm;
+
+import java.io.*;
+import java.util.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.Collection;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataTools;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+/** This class contains all the details about a single argument that can be passed to this plugin, including option lists if the parameters are restricted.
+ * @author John Thompson, Greenstone Project, New Zealand Digital Library, University of Waikato
+ * @version 2.41 final
+ */
+public class Argument
+  implements Comparable, Serializable {
+  /** An element of the argument type enumeration specifying a combobox control. */
+  static final public byte ENUM = 0;
+  /** An element of the argument type enumeration specifying a checkbox control. */
+  static final public byte FLAG = 1;
+  /** An element of the argument type enumeration specifying a tree control. */
+  static final public byte HIERARCHY = 2;
+  /** An element of the argument type enumeration specifying a spinner control. */
+  static final public byte INTEGER = 3;
+  /** An element of the argument type enumeration specifying a language combobox control. */
+  static final public byte LANGUAGE = 4;
+  /** An element of the argument type enumeration specifying a metadata combobox control. */
+  static final public byte METADATA = 5;
+  /** An element of the argument type enumeration specifying a text field. */
+  static final public byte STRING = 6;
+  /** An element of the argument type enumeration specifying a regular expression text field. */
+  static final public byte REGEXP = 7;
+  /** An element of the argument type enumeration specifying a metadata set combobox control. */
+  static final public byte METADATA_SET_NAMESPACE = 8;
+  /** An element of the argument type enumeration specifying a text field. */
+  static final public byte URL = 9;
+  /** An editable combo box */
+  static final public byte ENUM_STRING = 10;
+
+  /////////////////////////////////////////////////////////////////
+
+  /** true if this argument should actually be hidden within the GLI. This is important for arguments such as import dir or other location critical arguments. */
+  private boolean hidden_gli = false;
+  /** <i>true</i> if this argument is required for the applicable script to work properly, <i>false</i> otherwise. */
+  private boolean required = false;
+  /** The type of this argument. Used to be an int, but bytes are cheaper. */
+  private byte type = STRING;
+  /** The maximum value an integer based control can have. */
+  private int maximum = Integer.MAX_VALUE;
+  /** The minimum value an integer based control can have. */
+  private int minimum = Integer.MIN_VALUE;
+  /** Every argument has a detail mode level at which it becomes available to the user to edit. 
+   * @see org.greenstone.gatherer.Configuration
+   */
+  private int mode_level = Configuration.LIBRARIAN_MODE;
+  /** The DOM element this argument is built around, if any. */
+  private Element element;
+  /** If the argument is of type ENUM or ENUM_STRING then this map holds all the various options. Each entry is an &lt;option value&gt; -&gt; &lt;description&gt; mapping. */
+  private ArrayList option_list = null;
+  /** A default value for parameter-type arguments. May be a Perl pattern. */
+  private String default_value = null;
+  /** The text description of this argument parsed from the pluginfo output. */
+  private String description = null;
+  /** The argument flag as it appears in the command. Also used as the unique identifier of an argument. */
+  private String name = null;
+    /** The value of the arg, stored for metadata type options */
+    private String stored_value = null;
+  /** The plugin that owns this argument, for the purposes of visualising inheritance. */
+  private String owner = null;
+
+  private String display_name = null;
+
+  /** Default Constructor. */
+  public Argument() {
+  }
+
+  /** Another constructor but this one is a little more interesting as it takes a DOM element.
+   * @param element the Element this argument is based around
+   */
+  public Argument(Element element) {
+    this.element = element;
+  }
+
+  /** Method to add an element to the option_list.
+   * @param name the name value of the option as a String
+   * @param desc the description of this options as a String
+   */
+  public void addOption(String name, String desc) {
+    if((type == ENUM || type == ENUM_STRING) && name != null) {
+      if(desc == null) {
+	desc = "";
+      }
+      if(option_list == null) {
+	option_list = new ArrayList();
+      }
+      option_list.add(new ArgumentOption(name, desc));
+    }
+  }
+
+  /** Method to compare two arguments for ordering.
+   * @param object the argument we are comparing to, as an Object
+   * @return an int specifying the argument order, using values as set out in String
+   * @see org.greenstone.gatherer.cdm.Argument
+   */
+  public int compareTo(Object object) {
+    if(object instanceof Argument) {
+      return getName().compareTo(((Argument)object).getName());
+    }
+    else {
+      return toString().compareTo(object.toString());
+    }
+  }
+
+  /** Create a copy of this argument.
+   * @return a newly created Argument with the same details as this one
+   */
+  public Argument copy() {
+    Argument copy = new Argument();
+    copy.setDefaultValue(default_value);
+    copy.setDescription(description);
+    copy.setOptions(option_list);
+    copy.setOwner(owner);
+    copy.setName(name);		
+    copy.setDisplayName(display_name);
+    copy.setRequired(required);
+    copy.setType(type);
+    copy.setMinimum(minimum);
+    copy.setMaximum(maximum);
+    copy.setModeLevel(mode_level);
+    copy.setHiddenGLI(hidden_gli);
+    return copy;
+  }
+
+  /** Method to determine if two arguments are equal.
+   * @param object the argument to test against, as an Object
+   * @return true if the arguments names match, false otherwise
+   */
+  public boolean equals(Object object) {
+    return (compareTo(object) == 0);
+  }
+
+  /** Method to retrieve the value of default_value.
+   * @return a String containing the default value
+   */
+  public String getDefaultValue() {
+    return default_value;
+  }
+
+  /** Method to retrieve this arguments description.
+   * @return a String containing the description
+   */
+  public String getDescription() {
+    return description;
+  }
+
+  public Element getElement() {
+    return element;
+  }
+  /** Retrieve the upper bound of a range based argument.
+   * @return the maximum as an int
+   */
+  public int getMaximum() {
+    return maximum;
+  }
+
+  /** Retrieve the lower bound of a range based argument.
+   * @return the minimum as an int
+   */
+  public int getMinimum() {
+    return minimum;
+  }
+
+  /** Retrieves the mode level at which this argument should become available. Any higher levels should also see this argument.
+   * @return the mode level as an int
+   */
+  public int getModeLevel() {
+    return mode_level;
+  }
+
+  /** Method to retrieve the value of name.
+   * @return a String containing the argument name
+   * @see org.greenstone.gatherer.util.StaticStrings#NAME_ATTRIBUTE
+   */
+  public String getName() {
+    if(name == null && element != null) {
+      name = element.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+    }
+    return name;
+  }
+
+  public String getDisplayName() {
+    if(display_name==null)
+      return "";
+    return display_name;
+  }
+
+  /** Method to retrieve the option list for this argument.
+   * @return a HashMap containing &lt;option value&gt; -&gt; &lt;description&gt; entries
+   */
+  public ArrayList getOptions() {
+    return option_list;
+  }
+
+  /** Retrieve the name of the owner of this argument.
+   * @return the owners name as a String
+   */
+  public String getOwner() {
+    return owner;
+  }
+
+  /** Method to determine the type of this argument.
+   * @return a byte specifying the type
+   */
+  public byte getType() {
+    return type;
+  }
+
+  /** Method to retrieve the value of value.
+   * @return the value of value as a String
+   * @see org.greenstone.gatherer.Gatherer#c_man
+   * @see org.greenstone.gatherer.collection.CollectionManager#getCollection
+   */
+  public String getValue()
+  {
+    // Only assigned arguments have values.
+    if (element == null) {
+      return null;
+    }
+    if (stored_value != null) {
+	return stored_value;
+    }
+    String value = XMLTools.getValue(element);
+    if (type == METADATA) {
+	// We display using metadata display name, but store in the XML using
+	// full name (canonical name)
+	stored_value = MetadataTools.convertMetadataElementListNames(value, MetadataTools.TO_DISPLAY_NAMES);
+	return stored_value;
+    }
+    return value; 
+  }
+
+
+  /** Method to determine if this argument has been assigned.
+   * @return true if it has, false otherwise
+   * @see org.greenstone.gatherer.util.StaticStrings#ASSIGNED_ATTRIBUTE
+   * @see org.greenstone.gatherer.util.StaticStrings#TRUE_STR
+   */
+  public boolean isAssigned() {
+    return (element != null && element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.TRUE_STR));
+  }
+
+  /** Determine if this is a custom argument ie one that has been parsed from the config file but doesn't have a matching entry in the argument library.
+   * @return true if this argument is a custom, false otherwise
+   * @see org.greenstone.gatherer.util.StaticStrings#CUSTOM_ATTRIBUTE
+   * @see org.greenstone.gatherer.util.StaticStrings#TRUE_STR
+   */
+  public boolean isCustomArgument() {
+    return (element != null && element.getAttribute(StaticStrings.CUSTOM_ATTRIBUTE).equals(StaticStrings.TRUE_STR));
+  }
+
+  /** Determine if this argument is hidden in GLI
+   * @return true if the argument is hidden, false otherwise
+   */
+  public boolean isHiddenGLI() {
+    return hidden_gli;
+  }
+
+  /** Method to determine of this argument is required for the associated script to work.
+   * @return true if this argument is required, false otherwise
+   */
+  public boolean isRequired() {
+    return required;
+  }
+
+  /** Method to allow for the activation of arguments that might never have their setValue() method called.
+   * @param assigned the desired state as a boolean
+   * @see org.greenstone.gatherer.util.StaticStrings#ASSIGNED_ATTRIBUTE
+   * @see org.greenstone.gatherer.util.StaticStrings#FALSE_STR
+   * @see org.greenstone.gatherer.util.StaticStrings#TRUE_STR
+   */
+  public void setAssigned(boolean assigned) {
+    if(element != null) {
+      element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, (assigned ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR));
+    }
+  }
+
+  /** Sets the value of default_value.
+   * @param default_value The new value for default_value as a <strong>String</strong>.
+   */
+  public void setDefaultValue(String default_value) {
+    this.default_value = default_value;
+  }
+
+  /** Set the value of desc.
+   * @param description the new value of desc as a String
+   */
+  public void setDescription(String description) {
+    this.description = description;
+  }
+
+  /** Set the element this argument should be based upon.
+   * @param element the Element
+   */
+  public void setElement(Element element) {
+    this.element = element;
+  }
+
+  /** Mark this argument as being hidden in GLI. */
+  public void setHiddenGLI(boolean hidden) {
+    this.hidden_gli = hidden;
+  }
+
+  /** Set the upper bound for a range type argument.
+   * @param maximum the maximum as an int
+   */
+  public void setMaximum(int maximum) {
+    this.maximum = maximum;
+  }
+
+  /** Set the lower bound for a range type argument.
+   * @param minimum the minimum as an int
+   */
+  public void setMinimum(int minimum) {
+    this.minimum = minimum;
+  }
+
+  /** Set the detail mode level where this argument will become available.
+   * @param mode_level the mode level as an int
+   */
+  public void setModeLevel(int mode_level) {
+    this.mode_level = mode_level;
+  }
+
+  /** Set the value of name.
+   * @param name the new value of name as a String
+   */
+  public void setName(String name) {
+    this.name = name;
+  }
+	
+  public void setDisplayName(String name) {		
+    this.display_name = name; 
+  }	
+
+  /** Sets the value of the options list.
+   * @param list the new options list as a HashMap
+   */
+  public void setOptions(ArrayList list) {
+    this.option_list = list;
+  }
+
+  /** Set the owner of this argument.
+   * @param owner the name of the owner of this argument as a String
+   */
+  public void setOwner(String owner) {
+    this.owner = owner;
+  }
+
+  /** Set the value of required.
+   * @param required the new value of required as a boolean
+   */
+  public void setRequired(boolean required) {
+    this.required = required;
+  }
+
+  /** Set the value of type.
+   * @param type the new value of type as an byte
+   */
+  public void setType(byte type) {
+    this.type = type;
+  }
+
+  /** Set the value of type, by matching a type to the given string.
+   * @param new_type a String which contains the name of a certain argument type
+   * @see org.greenstone.gatherer.util.StaticStrings#ENUM_STR
+   * @see org.greenstone.gatherer.util.StaticStrings#FLAG_STR
+   * @see org.greenstone.gatherer.util.StaticStrings#HIERARCHY_STR
+   * @see org.greenstone.gatherer.util.StaticStrings#INT_STR
+   * @see org.greenstone.gatherer.util.StaticStrings#LANGUAGE_STR
+   * @see org.greenstone.gatherer.util.StaticStrings#METADATA_TYPE_STR
+   * @see org.greenstone.gatherer.util.StaticStrings#REGEXP_STR
+   */
+  public void setType(String new_type) {
+    if(new_type.equalsIgnoreCase(StaticStrings.ENUM_STR)) {
+      this.type = ENUM;
+      option_list = new ArrayList();
+    }
+    else if(new_type.equalsIgnoreCase(StaticStrings.ENUM_STRING_STR)) {
+      this.type = ENUM_STRING;
+      option_list = new ArrayList();
+    }
+    else if(new_type.equalsIgnoreCase(StaticStrings.FLAG_STR)) {
+      this.type = FLAG;
+    }
+    else if(new_type.equalsIgnoreCase(StaticStrings.HIERARCHY_STR)) {
+      this.type = HIERARCHY;
+    }
+    else if(new_type.equalsIgnoreCase(StaticStrings.INT_STR)) {
+      this.type = INTEGER;
+    }
+    else if(new_type.equalsIgnoreCase(StaticStrings.LANGUAGE_STR)) {
+      this.type = LANGUAGE;
+    }
+    else if(new_type.equalsIgnoreCase(StaticStrings.METADATA_TYPE_STR)) {
+      this.type = METADATA;
+    }
+    else if(new_type.equalsIgnoreCase(StaticStrings.REGEXP_STR)) {
+      this.type = REGEXP;
+    }
+    else {
+      this.type = STRING;
+    }
+  }
+
+  /** Method to set the value of this argument.
+   * @param value the new value for the argument
+   * @see org.greenstone.gatherer.Gatherer#println
+   */
+  public void setValue(String value) {
+    if(element != null) {
+	if (type == METADATA) {
+	    value = MetadataTools.convertMetadataElementListNames(value, MetadataTools.FROM_DISPLAY_NAMES);
+	    stored_value = value;
+	}
+	XMLTools.setValue(element, value);
+    }
+    else {
+      DebugStream.println("Argument.setValue(" + value + ") called on a base Argument.");
+    }
+  }
+
+  /** Set the values vector to the given values. Currently I just assign the new values, whereas I may later want to implement a deep clone.
+   * @param values an ArrayList of values
+   * @see org.greenstone.gatherer.Gatherer#println
+   */
+  public void setValues(ArrayList values) {
+    if(element != null) {
+      StringBuffer value = new StringBuffer();
+      int value_length = values.size();
+      for(int i = 0; i < value_length; i++) {
+	value.append(values.get(i));
+	value.append(StaticStrings.COMMA_CHARACTER);
+      }
+      value.deleteCharAt(value.length() - 1); // Remove last ','
+      XMLTools.setValue(element, value.toString());
+    }
+    else {
+      DebugStream.println("Argument.setValues([" + values.size() + " items]) called on a base Argument.");
+    }
+  }
+
+  /** Method for translating the data of this class into a string.
+   * @return a String containing a fragment of the total arguments string
+   * @see org.greenstone.gatherer.Gatherer#c_man
+   * @see org.greenstone.gatherer.collection.CollectionManager#getCollection
+   * @see org.greenstone.gatherer.util.StaticStrings#COMMA_CHARACTER
+   * @see org.greenstone.gatherer.util.StaticStrings#NAME_ATTRIBUTE
+   * @see org.greenstone.gatherer.util.StaticStrings#SPACE_CHARACTER
+   * @see org.greenstone.gatherer.util.StaticStrings#SPEECH_CHARACTER
+   */
+  public String toString()
+  {
+    StringBuffer text = new StringBuffer("-");
+
+    if (element == null) {
+      return text.toString();
+    }
+
+    if (name == null) {
+      name = element.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+    }
+    text.append(name);
+
+    // getValue returns display name for metadata args
+    String value = getValue(); 
+    if (value.length() == 0) {
+      return text.toString();
+    }
+
+    text.append(StaticStrings.SPACE_CHARACTER);
+
+    // If the value contains a space, add speech marks
+    //   (Except for metadata elements, which won't have spaces when written out to collect.cfg)
+    if (value.indexOf(StaticStrings.SPACE_CHARACTER) != -1 && type != METADATA) {
+      value = StaticStrings.SPEECH_CHARACTER + value + StaticStrings.SPEECH_CHARACTER;
+    }
+
+    text.append(value);
+    return text.toString();
+  } 
+
+  /** parse the <Option> XML from eg import.pl -xml or pluginfo.pl -xml */
+  public void parseXML(Element option) {
+
+    for(Node node = option.getFirstChild(); node != null; node = node.getNextSibling()) {
+      String node_name = node.getNodeName();
+      if(node_name.equals("Name")) {
+	setName(XMLTools.getValue(node));
+      }
+      else if(node_name.equals("DisplayName")) {
+	setDisplayName(XMLTools.getValue(node));
+      }
+      else if(node_name.equals("Desc")) {
+	setDescription(XMLTools.getValue(node));
+      }
+      else if(node_name.equals("Type")) {
+	setType(XMLTools.getValue(node));
+      }
+      else if(node_name.equals("Default")) {
+	setDefaultValue(XMLTools.getValue(node));
+      }
+      else if(node_name.equals("Required")) {
+	String v = XMLTools.getValue(node);
+	if(v != null && v.equals("yes")) {
+	  setRequired(true);
+	}
+      }
+      else if(node_name.equals("List")) {
+	// Two final loops are required to parse lists.
+	for(Node value = node.getFirstChild(); value != null; value = value.getNextSibling()) {
+	  if(value.getNodeName().equals("Value")) {
+	    String key = null;
+	    String desc = "";
+	    for(Node subvalue = value.getFirstChild(); subvalue != null; subvalue = subvalue.getNextSibling()) {
+	      node_name = subvalue.getNodeName();
+	      if(node_name.equals("Name")) {
+		key = XMLTools.getValue(subvalue);
+	      }
+	      else if(node_name.equals("Desc")) {
+		desc = XMLTools.getValue(subvalue);
+	      }
+	    }
+	    if(key != null) {
+	      addOption(key, desc);
+	    }
+	  }
+	}
+      }
+      else if(node_name.equals("Range")) {
+	String range_raw = XMLTools.getValue(node);
+	int index = -1;
+	if((index = range_raw.indexOf(StaticStrings.COMMA_CHARACTER)) != -1) {
+	  if(index > 0) {
+	    try {
+	      String first_number = range_raw.substring(0, index);
+	      setMinimum(Integer.parseInt(first_number));
+	      first_number = null;
+	    }
+	    catch(Exception exception) {
+	    }
+	  }
+
+	  if(index + 1 < range_raw.length()) {
+	    try {
+	      String second_number = range_raw.substring(index + 1);
+	      setMaximum(Integer.parseInt(second_number));
+	      second_number = null;    
+	    }
+	    catch(Exception exception) {
+	    }
+	  }
+	}
+	// Else it wasn't a valid range anyway, so ignore it
+      }
+      else if(node_name.equals("HiddenGLI")) {
+	setHiddenGLI(true);
+      }
+      else if(node_name.equals("ModeGLI")) {
+	String mode_level_str = XMLTools.getValue(node);
+	try {
+	  int mode_level = Integer.parseInt(mode_level_str);
+	  setModeLevel(mode_level);
+	}
+	catch(Exception exception) {
+	  DebugStream.println("Exception in Argument.parseXML() - Unexpected but non-fatal");
+	  DebugStream.printStackTrace(exception);
+	}
+      }
+
+    } // for each option
+
+  } // parseXML
+
+  public class ArgumentOption 
+    implements Comparable {
+    public String name;
+    public String description;
+    private String text; // cached version
+
+    public ArgumentOption(String name, String desc) {
+      this.name = name;
+      this.description = desc;
+    }
+
+    public int compareTo(Object obj) {
+      return toString().compareTo(obj.toString());
+    }
+
+    public boolean equals(Object obj) {	    
+      return (obj != null && compareTo(obj) == 0);
+    }
+
+    public String toString() {
+      return name + " "+ StaticStrings.MINUS_CHARACTER + " "+ description;
+    }
+
+    public String getToolTip() {
+      return Utility.formatHTMLWidth(name+": "+description, 80);
+    }
+  }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/ArgumentConfiguration.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/ArgumentConfiguration.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/ArgumentConfiguration.java	(revision 21123)
@@ -0,0 +1,251 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import javax.swing.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.gui.GComboBox;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.gui.ModalDialog;
+import org.greenstone.gatherer.gui.SimpleMenuBar;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataSetManager;
+import org.greenstone.gatherer.metadata.MetadataTools;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+
+/** This class provides us with a dialog box which allows us to edit the arguments of either a Plugin or a Classifier.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ * @see org.greenstone.gatherer.cdm.Classifier
+ * @see org.greenstone.gatherer.cdm.Plugin
+ */
+public class ArgumentConfiguration
+    extends ModalDialog
+    implements ActionListener {
+    /** The data whose arguments we are editing. */
+    private ArgumentContainer data = null;
+    /** Whether we have successfully edited the arguments associated with the ArgumentContainer or if we have failed to enter required arguments and have instead cancelled (which would cause argument additions to roll back). */
+    private boolean success = false;
+    /** A button to cancel this dialog. */
+    private JButton cancel = null;
+    /** A button to accept the changes and close the dialog. */
+    private JButton ok = null;
+    /** A reference to the ourselves so our inner classes can dispose us like a dialog. */
+    private ArgumentConfiguration self = null;
+    /** The central pane where a list of known arguments is displayed. */
+    private JPanel central_pane = null;
+    /** The size used for an argument label. */
+    static final private Dimension LABEL_SIZE = new Dimension(225, 25);
+    /** Size of a list. */
+    static final private Dimension LIST_SIZE = new Dimension(380, 50);
+    /** The size used for the dialog. */
+    static final private Dimension SIZE = new Dimension(800, 425);
+
+    /** Constructor.
+     * @param data The plugin or classifier whose arguments we are configuring, in the form of its supported <strong>ArgumentContainer</strong> interface.
+     * @see org.greenstone.gatherer.Configuration
+     */
+    public ArgumentConfiguration(ArgumentContainer data) {
+	super(Gatherer.g_man);
+	this.data = data;
+	this.self = this;
+
+	// Create
+	setModal(true);
+	setSize(SIZE);
+	setJMenuBar(new SimpleMenuBar("designingacollection")); // can we tell whether we are doing a classifier or plugin, to make the help more specific??
+	setTitle(Dictionary.get("CDM.ArgumentConfiguration.Title"));
+
+	central_pane = new JPanel();
+	JPanel content_pane = (JPanel) getContentPane();
+
+	JLabel header = new JLabel(Dictionary.get("CDM.ArgumentConfiguration.Header", data.getName()));
+	header.setHorizontalAlignment(JLabel.CENTER);
+	header.setOpaque(true);
+	
+	JPanel button_pane = new JPanel();
+	cancel = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Pure_Cancel_Tooltip"));
+		
+	ok = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("General.OK_Tooltip"));
+	
+	// Listeners
+	cancel.addActionListener(this);
+	ok.addActionListener(this);
+
+	button_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	button_pane.setLayout(new GridLayout(1,2));
+	button_pane.add(ok);
+	button_pane.add(cancel);
+
+	central_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	central_pane.setLayout(new BoxLayout(central_pane, BoxLayout.Y_AXIS));
+
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(header, BorderLayout.NORTH);
+	content_pane.add(new JScrollPane(central_pane), BorderLayout.CENTER);
+	content_pane.add(button_pane, BorderLayout.SOUTH);
+
+	// Now generate a set of controls for each of the arguments.
+	generateControls();
+
+	// Display on screen.
+	Dimension screen_size = Configuration.screen_size;
+	setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	screen_size = null;
+    }
+
+    /** Any implementation of ActionListener must include this method so that we can be informed when an action has occured on one of the controls we are listening to.
+     * @param event An <strong>ActionEvent</strong> containing pertinant information about the event that fired this call.
+     * @see org.greenstone.gatherer.cdm.ArgumentConfiguration.ArgumentControl
+     * @see org.greenstone.gatherer.cdm.ArgumentContainer
+     */
+    public void actionPerformed(ActionEvent event) {
+	boolean cont = true;
+	if (event.getSource() == ok) {
+	    // Clear the current focus to ensure components such as combobox have correctly updated
+	    // Loop through each of the controls in the central pane, updating the matching argument as necessary.
+	    for(int i = 0; i < central_pane.getComponentCount(); i++) {
+		Component component = central_pane.getComponent(i);
+		if(component instanceof ArgumentControl) {
+		   cont = cont && ((ArgumentControl)component).updateArgument();
+		}
+	    }
+	    if(cont) {
+		success = true;
+	    }
+	}
+	if(cont) {
+	    dispose();
+	}
+    }
+
+
+    public void addOKButtonActionListener(ActionListener action_listener)
+    {
+	ok.addActionListener(action_listener);
+    }
+
+
+    /** Destructor. */
+    public void destroy() {
+	cancel = null;
+	central_pane = null;
+	//custom_pane = null;
+	//custom = null;
+	data = null;
+	ok = null;
+	self = null;
+    }
+
+    /** Method which actually forces the dialog to be shown on screen.
+     * @return <i>true</i> if the user completed configuration and pressed ok, <i>false</i> otherwise.
+     */
+    public boolean display() {
+	setVisible(true);
+	return success;
+    }
+
+    private void addHeader(String name, Color color) {
+	JPanel header = new JPanel();
+	header.setBackground(color);
+	JPanel inner_pane = new JPanel();
+	inner_pane.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(5,5,5,5), BorderFactory.createRaisedBevelBorder()));
+	inner_pane.setBackground(color);
+	JLabel header_label = new JLabel("<html><strong>" + name + "</strong></html>");
+	header_label.setBackground(Configuration.getColor("coloring.collection_heading_background", false));
+	header_label.setHorizontalAlignment(JLabel.CENTER);
+	header_label.setOpaque(true);
+
+	// Layout
+	inner_pane.setLayout(new BorderLayout());
+	inner_pane.add(header_label, BorderLayout.CENTER);
+
+	header.setLayout(new BorderLayout());
+	header.add(inner_pane, BorderLayout.CENTER);
+	central_pane.add(header);
+    }
+
+    /** Method to iterate through the arguments associated with whatever argument container we are building an argument control view for, creating the appropriate controls for each.
+     * @see org.greenstone.gatherer.cdm.Argument
+     * @see org.greenstone.gatherer.cdm.ArgumentConfiguration.ArgumentControl
+     */
+    private void generateControls() {
+	// Alternating colours to show inheritance
+	Color colour_one = Configuration.getColor("coloring.collection_heading_background", false);
+	Color colour_two = Configuration.getColor("coloring.collection_tree_background", false);
+	boolean coloured = false;
+	ArrayList arguments = data.getArguments();
+	int total_height = 250;
+	// not currently used
+	//int current_mode = Configuration.getMode();
+
+	String previous_owner = "";
+	if(arguments.size() > 0) {
+	    previous_owner = ((Argument) arguments.get(0)).getOwner();
+	    addHeader(previous_owner, colour_two);
+	}
+
+	for(int i = 0; i < arguments.size(); i++) {
+	    Argument argument = (Argument) arguments.get(i);
+	    String owner = argument.getOwner();
+	    if(previous_owner != argument.getOwner()) {
+	    ///ystem.err.println("previous owner is different from current owner");
+		coloured = !coloured;
+		previous_owner = argument.getOwner();
+		addHeader(previous_owner, (coloured ? colour_one : colour_two));
+	    }
+	    if(!argument.isHiddenGLI()) {
+		ArgumentControl argument_control = new ArgumentControl(argument, false, null);
+		total_height = total_height - argument_control.getPreferredSize().height;
+		// Create
+		if(coloured) {
+		    argument_control.setBackground(colour_one);
+		}
+		else {
+		    argument_control.setBackground(colour_two);
+		}
+
+		central_pane.add(argument_control);
+	    }
+	}
+	if(total_height > 0) {
+	    JPanel filler = new JPanel();
+	    filler.setPreferredSize(new Dimension(100, total_height));
+	    filler.setSize(new Dimension(100, total_height));
+	    central_pane.add(filler);
+	}
+    }
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/ArgumentContainer.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/ArgumentContainer.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/ArgumentContainer.java	(revision 21123)
@@ -0,0 +1,289 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.w3c.dom.*;
+
+
+/** This class provides an interface to any class that contains a list of Arguments.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+abstract public class ArgumentContainer 
+extends ArrayList 
+implements Comparable, DOMProxyListEntry, Serializable  {
+
+	// The DOM Element this container is modelled on
+	protected Element element;
+	protected boolean is_abstract = false;
+	protected ArgumentContainer super_container;
+	protected String description;
+	protected String name;
+
+	/** Constructor used in DOMProxyListModel initializations
+	 */
+	public ArgumentContainer() {
+	}
+
+	public ArgumentContainer(Element element, ArgumentContainer base_container) {
+
+		super();
+		this.element = element;
+		this.name = element.getAttribute(StaticStrings.TYPE_ATTRIBUTE);
+
+		// Parse in any argument options for this container, keeping a list of the ones found
+		HashMap known_arguments = new HashMap();
+		NodeList option_elements = element.getElementsByTagName(StaticStrings.OPTION_ELEMENT);
+		int option_elements_length = option_elements.getLength();
+		for(int i = 0; i < option_elements_length; i++) {
+			Element option_element = (Element) option_elements.item(i);
+			Argument argument = new Argument(option_element);
+			///ystem.err.println("Rebuilding existing argument: " + argument.getName());
+			known_arguments.put(argument.getName(), argument);
+		}
+		// If a base classifier was given
+		if(base_container != null) {
+			// Copy the details, and add a reference to whatever the base container's super container is
+			description = base_container.getDescription();
+			// Now search through the 'dummy' arguments belonging to the base container. For each found, if it is already assigned, fill out further details such as type. If any are found that are not already assigned for this container, copy them and add them, but without a value.
+			ArrayList all_arguments = base_container.getArguments();
+			int argument_count = all_arguments.size();
+			for(int j = 0; j < argument_count; j++) {
+				Argument base_argument = (Argument) all_arguments.get(j);
+				String base_argument_name = base_argument.getName();
+				///ystem.err.println("Library indicates this container should have an argument: " + base_argument_name);
+				Argument existing_argument = (Argument) known_arguments.get(base_argument_name);
+				// Found an existing argument. Complete its details
+				if(existing_argument != null) {
+					///ystem.err.println("Found existing argument. Filling out details.");
+					known_arguments.remove(base_argument_name);
+					existing_argument.setDisplayName(base_argument.getDisplayName());
+					existing_argument.setDefaultValue(base_argument.getDefaultValue());
+					existing_argument.setDescription(base_argument.getDescription());
+					existing_argument.setOptions(base_argument.getOptions());
+					existing_argument.setRequired(base_argument.isRequired());
+					existing_argument.setType(base_argument.getType());
+					existing_argument.setMinimum(base_argument.getMinimum());
+					existing_argument.setMaximum(base_argument.getMaximum());
+					existing_argument.setOwner(base_argument.getOwner());
+					existing_argument.setHiddenGLI(base_argument.isHiddenGLI());
+					add(existing_argument);
+				}
+				// No existing argument. Copy base_argument and add it, but set its assigned flag to false 
+				else {
+					///atherer.println("No such argument. Adding new, unassigned, argument.");
+					// The trick thing is that we have to create a new element in the DOM as well.
+					Argument new_argument = base_argument.copy();
+					Element argument_element = CollectionConfiguration.createElement(StaticStrings.OPTION_ELEMENT);
+					argument_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, base_argument_name);
+					argument_element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.FALSE_STR);
+					new_argument.setElement(argument_element);
+					// All done. Add it.
+					element.appendChild(argument_element);
+					add(new_argument);
+				}
+			}
+		}
+
+		// The first time we do this, the args come from the config file and
+		// may contain invalid args. Here we remove them from the DOM.
+		if (!known_arguments.isEmpty()) {
+			Set entry_set = known_arguments.entrySet();
+			Iterator entry_iterator = entry_set.iterator();
+			while (entry_iterator.hasNext()) {
+				Argument arg = (Argument)((Map.Entry)entry_iterator.next()).getValue();
+				Element e = arg.getElement();
+				element.removeChild(e);
+			}
+		}
+	}
+
+
+
+
+	/** Constructor used for the plugins that are in the DOMProxyList */
+	/** Method to add an argument to this container. Only adds the argument if it isn't already present.
+	 * @param argument The <strong>Argument</strong> to add.
+	 */
+	public void addArgument(Argument argument) {
+		if(element == null && !contains(argument)) {
+			add(argument);
+			argument.setOwner(name);
+		}
+	}
+
+	/** Method to compare two containers for ordering.
+	 * @param object The container we are comparing to, as an <strong>Object</strong>.
+	 * @return An <i>int</i> specifying the container order, using values as set out in String.
+	 * @see java.lang.String#compareTo
+	 */
+	public int compareTo(Object object) {
+		if(object == null ) {
+			return -1;
+		}
+		return toString().compareTo(object.toString());
+	}
+
+	/** Method to determine if two containers are equal.
+	 * @param object The container to test against, as an <strong>Object</strong>.
+	 * @return <i>true</i> if they match (based on the equals method), <i>false</i> otherwise.
+	 */
+
+	public boolean equals(Object object) {
+		return (compareTo(object) == 0);
+	}
+
+	abstract public DOMProxyListEntry create(Element element);
+	/** Method to retrieve an argument by its name.
+	 * @param name The name of the argument as a <strong>String</strong>.
+	 * @return The <strong>Argument</strong> requested, or <i>null</i> if no such argument.
+	 */
+	public Argument getArgument(String name) {
+		// The name given may still include the '-'
+		if(name.startsWith("-")) {
+			name = name.substring(1);
+		}
+		//ArrayList arguments = getArguments(true, true);
+		ArrayList arguments = getArguments();
+		for(int i = 0; i < arguments.size(); i++) {
+			Argument argument = (Argument)arguments.get(i);
+			if(argument.getName().equals(name)) {
+				return argument;
+			}
+		}
+		return null;
+	}
+
+	/** Method to retrieve the list of arguments from this container. Note that this method returns both the containers arguments plus its 'supers' arguments if any, and alphabetically orders them.
+	 * @return the arguments within a ArrayList
+	 */
+	public ArrayList getArguments() {
+		ArrayList arguments = new ArrayList();
+		arguments.addAll(this);
+		if(super_container != null) {
+			ArrayList remainder = super_container.getArguments();
+			remainder.removeAll(arguments);
+			arguments.addAll(remainder);
+		}
+		return arguments;
+
+	}
+
+	public String getDescription() {
+		return description;
+	}
+
+	public Element getElement() {
+		return element;
+	}
+	/** Method to retrieve the name associated with this argument container.
+	 * @return the name as a String
+	 */
+	public String getName() {
+		if(name == null && element != null) {
+			name = element.getAttribute(StaticStrings.TYPE_ATTRIBUTE);
+		}
+		return name;
+	}
+
+	public boolean isAbstract() {
+		return is_abstract;
+	}
+
+	public boolean isAssigned() {
+		return (element != null && !element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.FALSE_STR));
+	}
+
+	public void setAssigned(boolean assigned) {
+		if(element != null) {
+			element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, (assigned ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR));
+		}
+	}
+
+	public void setDescription(String description) {
+		this.description = description;
+	}
+
+	public void setElement(Element element) {
+		this.element = element;
+	}
+
+	public void setIsAbstract(boolean is_abstract) {
+		this.is_abstract = is_abstract;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	/** Method to set the value of the super_container.
+	 * @param super_container The new value of super_container as a <strong>ArgumentContainer</strong>, or <i>null</i> if this class has no inheritance.
+	 */
+	public void setSuper(ArgumentContainer super_container) {
+		this.super_container = super_container;
+	}
+
+	public String toString()
+	{
+		if (element == null) {
+			return name;
+		}
+
+		if (name == null) {
+			name = element.getAttribute(StaticStrings.TYPE_ATTRIBUTE);
+		}
+
+		StringBuffer text = new StringBuffer(" ");
+		if (!isAssigned()) {
+			text.append("#");
+		}
+		text.append(name);
+
+		ArrayList arguments = getArguments();
+		for (int i = 0; i < arguments.size(); i++) {
+			Argument argument = (Argument) arguments.get(i);
+			if (argument.isAssigned()) {
+				text.append(" ");
+				text.append(argument.toString());
+			}
+		}
+
+		return text.toString();
+	}
+
+	public ArrayList getArguments(boolean include_normal, boolean include_custom){
+		return this;
+	}
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/ArgumentControl.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/ArgumentControl.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/ArgumentControl.java	(revision 21123)
@@ -0,0 +1,605 @@
+package org.greenstone.gatherer.cdm;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.event.*;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Iterator;
+
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.gui.GComboBox;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataSet;
+import org.greenstone.gatherer.metadata.MetadataSetManager;
+import org.greenstone.gatherer.metadata.MetadataTools;
+
+/** This class encapsulates all the technical difficulty of creating a specific control based on an Argument. */
+public class ArgumentControl
+  extends JPanel {
+
+  static protected Dimension LABEL_SIZE = new Dimension(175, 25);
+  static protected Dimension ROW_SIZE = new Dimension(400, 30);
+  /** The Argument this control will be based on. */
+  private Argument argument = null;
+
+  /** A checkbox to allow enabling or diabling of this Argument. */
+  private JCheckBox enabled = null;
+  /** Some form of editor component, such as a JComboBox or JTextField, used to set parameters to an Argument. */
+  private JComponent value_control = null;
+
+  /** Constructor.
+   */
+  public ArgumentControl(Argument argument, boolean is_enabled, String preset_value) {
+    this.setComponentOrientation(Dictionary.getOrientation());
+    this.argument = argument;
+
+    String tip = "<html>" + argument.getName()+": "+argument.getDescription() + "</html>";
+    tip = Utility.formatHTMLWidth(tip, 80);
+
+    setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+    setBorder(BorderFactory.createEmptyBorder(2,0,2,0));
+    setLayout(new BorderLayout());
+    setPreferredSize(ROW_SIZE);
+		
+    // display the name set in the disp option if there is one
+    // otherwise display name option value instead
+    String dispName = argument.getDisplayName();
+    if(dispName.equals("")){
+      dispName = argument.getName();
+    }
+
+    if (argument.isRequired()) {		
+      //JLabel label = new JLabel(argument.getName());
+      JLabel label = new JLabel(dispName);
+      label.setComponentOrientation(Dictionary.getOrientation());
+      label.setOpaque(false);
+      label.setPreferredSize(LABEL_SIZE);
+      label.setToolTipText(tip);
+      add(label, BorderLayout.LINE_START);
+    } else {
+      //enabled = new JCheckBox(argument.getName());
+      enabled = new JCheckBox(dispName);
+      enabled.setComponentOrientation(Dictionary.getOrientation());
+      enabled.setOpaque(false);
+      enabled.setPreferredSize(LABEL_SIZE);
+      enabled.setToolTipText(tip);
+      add(enabled, BorderLayout.LINE_START);
+    }
+
+    String initial_value;
+    if (preset_value != null && !preset_value.equals("")) {
+      initial_value = preset_value;
+    }
+    else {
+      initial_value = argument.getValue();
+    }
+    if (initial_value == null || initial_value.equals("")) {
+      initial_value = argument.getDefaultValue();
+    }
+    if (initial_value == null) {
+      initial_value = "";
+    }
+
+    switch(argument.getType()) {
+    case Argument.ENUM_STRING:
+    case Argument.ENUM:
+      ArrayList option_list = argument.getOptions();
+      boolean editable = false;
+      if (argument.getType() == Argument.ENUM_STRING) {
+	editable = true;
+      }
+      value_control = new GComboBox(option_list.toArray(), editable, false);
+      value_control.setComponentOrientation(Dictionary.getOrientation());
+			
+      boolean found = selectValue((JComboBox)value_control, initial_value); // also sets the tooltip
+      if (!found && argument.getType() == Argument.ENUM_STRING) {
+	// Its a custom item
+	((JComboBox) value_control).addItem(initial_value);
+	((JComboBox) value_control).setSelectedItem(initial_value);
+      }
+
+      ((JComboBox)value_control).addActionListener(new ToolTipUpdater());
+      break;
+
+    case Argument.FLAG:
+      // Only need the check box.
+      break;
+
+    case Argument.INTEGER:
+      // Build a spinner
+      int initial_int=0;
+      // If there was an original value, set it.
+      try {
+	initial_int = Integer.parseInt(initial_value);
+      } catch (Exception error) {
+	DebugStream.println("ArgumentControl Error: "+error);
+      }
+      if (initial_int < argument.getMinimum()) {
+	initial_int = argument.getMinimum();
+      } else if (initial_int > argument.getMaximum()) {
+	initial_int = argument.getMaximum();
+      }
+
+      JSpinner spinner = new JSpinner(new SpinnerNumberModel(initial_int, argument.getMinimum(), argument.getMaximum(), 1));
+      spinner.setComponentOrientation(Dictionary.getOrientation());
+      // And remember it
+      value_control = spinner;
+      break;
+
+    case Argument.REGEXP:
+    case Argument.STRING:
+      value_control = new JTextField(initial_value);
+      value_control.setComponentOrientation(Dictionary.getOrientation());
+      break;
+
+    case Argument.LANGUAGE:
+      value_control = new GComboBox(CollectionDesignManager.language_manager.getLanguageCodes().toArray(), false);
+      value_control.setComponentOrientation(Dictionary.getOrientation());
+      // we want to display the language name not the code
+      ((JComboBox)value_control).setRenderer(new LanguageListCellRenderer());
+      // Now ensure we have the existing value or default value selected if either exist in our known languages
+      String lang_name = CollectionDesignManager.language_manager.getLanguageName(initial_value);
+      if (lang_name != null) {
+	((JComboBox)value_control).setSelectedItem(initial_value);
+      }
+      break;
+
+    case Argument.METADATA:
+      value_control = new GComboBox(MetadataSetManager.getEveryMetadataSetElement(), false);
+      value_control.setComponentOrientation(Dictionary.getOrientation());
+      // Editable for advanced modes (allows things like dc.Title,ex.Title)
+      if (Configuration.getMode() > Configuration.ASSISTANT_MODE) {
+	((JComboBox) value_control).setEditable(true);
+      }
+      // Now ensure we have the existing value or default value selected if either exist.
+      String existing_value = preset_value;
+      if (existing_value == null || existing_value.equals("")) {
+	existing_value = argument.getValue();
+      }
+      if (existing_value == null || existing_value.equals("")) {
+	// try default value
+	String default_value = argument.getDefaultValue();
+	if (default_value != null) {
+	  // if no namespace for default value, add ex.
+	  // won't work if we want to set a non-metadata value
+	  if (MetadataTools.getMetadataSetNamespace(default_value).equals("")) {
+	    default_value = StaticStrings.EXTRACTED_NAMESPACE+default_value;
+	  }
+	  existing_value = default_value;
+	}
+      }
+	
+      if (existing_value != null && !existing_value.equals("")) {
+	
+	found = selectValue((JComboBox) value_control, existing_value);
+	// It's possible that this is a custom value and so doesn't exist in the combobox
+	if (!found) {
+	  // If so, add it then select it
+	  ((JComboBox) value_control).addItem(existing_value);
+	  ((JComboBox) value_control).setSelectedItem(existing_value);
+	}
+      }
+      break;
+
+    case Argument.METADATA_SET_NAMESPACE:
+      value_control = new JComboBox();
+      value_control.setComponentOrientation(Dictionary.getOrientation());
+      // !! Hack for exploding metadata databases: add the (empty) exploded metadata set
+      File exploded_metadata_set_file = new File(Gatherer.getGLIMetadataDirectoryPath() + "exp" + StaticStrings.METADATA_SET_EXTENSION);
+      MetadataSet exploded_metadata_set = new MetadataSet(exploded_metadata_set_file);
+      Gatherer.c_man.importMetadataSet(exploded_metadata_set);
+
+      // All the loaded metadata sets except the extracted metadata set are applicable
+      ArrayList metadata_sets = MetadataSetManager.getMetadataSets();
+      for (int i = metadata_sets.size() - 1; i >= 0; i--) {
+	MetadataSet metadata_set = (MetadataSet) metadata_sets.get(i);
+	if (!(metadata_set.getNamespace().equals(MetadataSetManager.EXTRACTED_METADATA_NAMESPACE))) {
+	  ((JComboBox)value_control).addItem(metadata_set);
+	}
+      }
+
+      selectValue((JComboBox) value_control, initial_value);
+
+    } // end of switch
+
+    // Enable or disable as necessary.
+    if(argument.isRequired() || argument.isAssigned() || is_enabled) {
+      if (enabled != null) {
+	enabled.setSelected(true);
+      }
+      if(value_control != null) {
+	value_control.setOpaque(true);
+	value_control.setBackground(Color.white);
+	value_control.setEnabled(true);
+	if(value_control instanceof JSpinner) {
+	  // Set enabled
+	  JComponent c = ((JSpinner)value_control).getEditor();
+	  if ( c instanceof JSpinner.DefaultEditor ) {
+	    JSpinner.DefaultEditor editor = (JSpinner.DefaultEditor) c;
+	    JFormattedTextField field = editor.getTextField();
+	    field.setEditable(true);
+	    field.setBackground(Color.white);
+	  }
+	}
+      }
+    }
+    else {
+      if (enabled != null) {
+	enabled.setSelected(false);
+      }
+      if(value_control != null) {
+	value_control.setOpaque(true);
+	value_control.setBackground(Color.lightGray);
+	value_control.setEnabled(false);
+	if(value_control instanceof JSpinner) {
+	  // Set enabled
+	  JComponent c = ((JSpinner)value_control).getEditor();
+	  if ( c instanceof JSpinner.DefaultEditor ) {
+	    JSpinner.DefaultEditor editor = (JSpinner.DefaultEditor) c;
+	    JFormattedTextField field = editor.getTextField();
+	    field.setEditable(false);
+	    field.setBackground(Color.lightGray);
+	  }
+	}
+      }
+    }
+
+    // Listener
+    if(value_control != null) {
+      if (argument.getType() != Argument.ENUM && argument.getType() != Argument.ENUM_STRING) {
+	// enums have already set tooltips based on option value
+	value_control.setToolTipText(tip);
+      }
+      add(value_control, BorderLayout.CENTER);
+      if (!argument.isRequired()) {
+	enabled.addActionListener(new EnabledListener(value_control));
+      }
+    }
+  }
+
+  public Argument getArgument() {
+    return argument;
+  }
+
+  public String getArgumentName() {
+    return argument.getName();
+  }
+
+  public String getValue() {
+    if(value_control == null) {
+      return null;
+    }
+    if (value_control instanceof JSpinner) {
+      return ((JSpinner)value_control).getValue().toString();
+    }
+    if(value_control instanceof JComboBox) {
+      Object selected_item = ((JComboBox)value_control).getSelectedItem();
+      if (selected_item != null) {
+	if (argument.getType() == Argument.METADATA_SET_NAMESPACE) {
+	  return ((MetadataSet) selected_item).getNamespace();
+	}
+	if (selected_item instanceof Argument.ArgumentOption) {
+	  return ((Argument.ArgumentOption)selected_item).name;
+	}
+	if (selected_item instanceof MetadataElement) {
+	  return ((MetadataElement) selected_item).getFullName();
+	}
+	return selected_item.toString();
+      }    
+      return null;
+    }
+    if(value_control instanceof JTextField) {
+      return ((JTextField)value_control).getText();
+    }
+    return null;
+  }
+  /** Retrieve the control used for storing values.
+   * @return JComponent
+   */
+  public JComponent getValueControl() {
+    return value_control;
+  }
+
+  public boolean isEnabled() {
+    if (enabled == null) {
+      return true; // always enabled
+    } 
+    return enabled.isSelected();
+  }
+
+
+  /** Identifies this control by returning the name of the Argument it is based on.
+   * @return The name of the Argument as a <strong>String</strong>.
+   * @see org.greenstone.gatherer.cdm.Argument
+   */
+  public String toString() {
+    return argument.getName();
+  }
+  /** Updates the enwrapped Argument using the values provided by the controls.
+   * @return <i>true</i> if the update was successful, <i>false</i> otherwise.
+   * @see org.greenstone.gatherer.cdm.ArgumentConfiguration.Argument.ArgumentOption
+   * @see org.greenstone.gatherer.cdm.Language
+   */
+  public boolean updateArgument() {
+    if(argument.isRequired() || enabled.isSelected() ) {
+      argument.setAssigned(false);
+      String result = null;
+      switch(argument.getType()) {
+      case Argument.ENUM:
+	Argument.ArgumentOption option = (Argument.ArgumentOption)((JComboBox)value_control).getSelectedItem();
+	// its impossible not to choose an entry
+	argument.setValue(option.name);
+	argument.setAssigned(true);
+	return true;
+      case Argument.ENUM_STRING:
+	Object new_value_raw = ((JComboBox)value_control).getSelectedItem();
+	if (new_value_raw instanceof Argument.ArgumentOption) {
+	  argument.setValue(((Argument.ArgumentOption)new_value_raw).name);
+	} else {
+	  // have entered a new string
+	  String new_value = new_value_raw.toString();
+	  if (new_value.length() > 0) {
+	    argument.setValue(new_value);
+	  }
+	  else {
+	    String args[] = new String[1];
+	    args[0] = argument.getName();
+	    if(argument.isRequired()) {
+	      JOptionPane.showMessageDialog(this, Dictionary.get("CDM.ArgumentConfiguration.Required_Argument", args), Dictionary.get("CDM.ArgumentConfiguration.Error_Title"), JOptionPane.ERROR_MESSAGE);
+	    }
+	    // They've left the field blank
+	    else {
+	      JOptionPane.showMessageDialog(this, Dictionary.get("CDM.ArgumentConfiguration.No_Value", args), Dictionary.get("CDM.ArgumentConfiguration.Error_Title"), JOptionPane.ERROR_MESSAGE);
+	      argument.setValue(null);
+	    }
+	    args = null;
+	    return false;
+	  }
+	}
+	argument.setAssigned(true);
+	return true;
+      case Argument.FLAG:
+	// Should have already been handled above.
+	argument.setAssigned(true);
+	return true;
+      case Argument.INTEGER:
+	result = ((JSpinner)value_control).getValue().toString();
+	if(result.length() > 0) {
+	  // Test if the value entered is a valid int.
+	  try {
+	    int x = Integer.parseInt(result);
+	  }
+	  catch(NumberFormatException nfe) {
+	    String args[] = new String[2];
+	    args[0] = argument.getName();
+	    args[1] = result;
+	    JOptionPane.showMessageDialog(this, Dictionary.get("CDM.ArgumentConfiguration.Bad_Integer", args), Dictionary.get("CDM.ArgumentConfiguration.Error_Title"), JOptionPane.ERROR_MESSAGE);
+	    args = null;
+	    return false;
+	  }
+	  argument.setValue(result);
+	}
+	else {
+	  String args[] = new String[1];
+	  args[0] = argument.getName();
+	  if(argument.isRequired()) {
+	    JOptionPane.showMessageDialog(this, Dictionary.get("CDM.ArgumentConfiguration.Required_Argument", args), Dictionary.get("CDM.ArgumentConfiguration.Error_Title"), JOptionPane.ERROR_MESSAGE);
+	  }
+	  // They've left the field blank
+	  else {
+	    JOptionPane.showMessageDialog(this, Dictionary.get("CDM.ArgumentConfiguration.No_Value", args), Dictionary.get("CDM.ArgumentConfiguration.Error_Title"), JOptionPane.ERROR_MESSAGE);
+	    argument.setValue(null);
+	  }
+	  args = null;
+	  return false;
+	}
+	argument.setAssigned(true);
+	return true;
+      case Argument.LANGUAGE:
+	String language = (((JComboBox)value_control).getSelectedItem()).toString();
+	argument.setValue(language);
+	// Kinda lucked out here. Its impossible not to choose an entry from these comboboxes as they are restricted.
+	argument.setAssigned(true);
+	return true;
+      case Argument.METADATA:
+	  String meta_value = (((JComboBox)value_control).getSelectedItem()).toString();
+	  if(meta_value.length() > 0) {
+	      
+	      argument.setValue(meta_value);
+	  }
+	  else {
+	    String args[] = new String[1];
+	    args[0] = argument.getName();
+	    if(argument.isRequired()) {
+	      JOptionPane.showMessageDialog(this, Dictionary.get("CDM.ArgumentConfiguration.Required_Argument", args), Dictionary.get("CDM.ArgumentConfiguration.Error_Title"), JOptionPane.ERROR_MESSAGE);
+	    }
+	    // They've left the field blank
+	    else {
+	      JOptionPane.showMessageDialog(this, Dictionary.get("CDM.ArgumentConfiguration.No_Value", args), Dictionary.get("CDM.ArgumentConfiguration.Error_Title"), JOptionPane.ERROR_MESSAGE);
+	      argument.setValue(null);
+	    }
+	    args = null;
+	    return false;
+	  }
+      
+	argument.setAssigned(true);
+	return true;
+      case Argument.REGEXP:
+      case Argument.STRING:
+	result = ((JTextField)value_control).getText();
+	if(result.length() > 0) {
+	  argument.setValue(result);
+	}
+	else {
+	  String args[] = new String[1];
+	  args[0] = argument.getName();
+	  if(argument.isRequired()) {
+	    JOptionPane.showMessageDialog(this, Dictionary.get("CDM.ArgumentConfiguration.Required_Argument", args), Dictionary.get("CDM.ArgumentConfiguration.Error_Title"), JOptionPane.ERROR_MESSAGE);
+	  }
+	  // They've left the field blank
+	  else {
+	    JOptionPane.showMessageDialog(this, Dictionary.get("CDM.ArgumentConfiguration.No_Value", args), Dictionary.get("CDM.ArgumentConfiguration.Error_Title"), JOptionPane.ERROR_MESSAGE);
+	    argument.setValue(null);
+	  }
+	  args = null;
+	  return false;
+	}
+	argument.setAssigned(true);
+	return true;
+      }
+      return false;
+    }
+    else {
+      argument.setAssigned(false);
+      return true;
+    }
+  }
+
+
+  public boolean updateArgument(boolean checkRequired) {
+
+
+    if (checkRequired){
+      return updateArgument();
+    }
+    else{
+      if (argument.getType() == Argument.STRING){
+	String result = ((JTextField)value_control).getText();
+
+	if(result.length() > 0) {
+	  argument.setValue(result);
+	  argument.setAssigned(true);                    
+	}
+      }	
+    }
+
+    return true;
+
+  }
+
+
+
+  /** Method to ensure that a certain value is selected, if it exists within that combobox to begin with.
+   * @param combobox The <strong>JComboBox</strong> whose selection we are trying to preset.
+   * @param target The desired value of the selection as a <strong>String</strong>.
+   * @return true if the item was found and selected, false otherwise
+   * @see org.greenstone.gatherer.cdm.ArgumentConfiguration.Argument.ArgumentOption
+   */
+  public static boolean selectValue(JComboBox combobox, String target)
+  {
+    for (int i = 0; i < combobox.getItemCount(); i++) {
+      Object object = combobox.getItemAt(i);
+
+      if (object instanceof Argument.ArgumentOption) {
+	Argument.ArgumentOption opt = (Argument.ArgumentOption) object;
+	if (opt.name.startsWith(target)) {
+	  combobox.setSelectedIndex(i);
+	  combobox.setToolTipText(opt.getToolTip());
+	  return true;
+	}
+      }
+      else if (object instanceof MetadataElement) {
+	if(((MetadataElement)object).getFullName().equals(target)) {
+	  combobox.setSelectedIndex(i);
+	  return true;
+	}
+      }
+      else if (object.toString().equals(target)) {
+	combobox.setSelectedIndex(i);
+	return true;
+      }
+    }
+
+    return false;
+  }
+
+
+  /** Forces the control into an 'enabled' mode. */
+  public void setEnabled() {
+    enabled.setSelected(true);
+  }
+  /** Explicitly sets the value of a JTextField type control to the given String.
+   * @param value_str The new value of the control as a <strong>String</strong>.
+   */
+  public void setValue(String value_str) {
+    ((JTextField)value_control).setText(value_str);
+  }
+
+  /** Listens for actions apon the enable checkbox, and if detected enables or diables control appropriately. */
+  private class EnabledListener
+    implements ActionListener {
+    /** An editor component, such as a JComboBox or JTextField, that might have its enabled state changed by this listener. */
+    private JComponent target = null;
+
+    /** Constructor. */
+    public EnabledListener(JComponent target) {
+      this.target = target;
+    }
+
+    /** Any implementation of ActionListener must include this method so that we can be informed when an action has been performed on or registered check box, prompting us to change the state of the other controls as per the users request.
+     * @param event An <strong>ActionEvent</strong> containing information about the click.
+     */
+    public void actionPerformed(ActionEvent event) {
+      if (this.target == null) {
+	return;
+      }
+      JCheckBox source = (JCheckBox)event.getSource();
+      if(source.isSelected()) {
+	target.setBackground(Color.white);
+	target.setEnabled(true);
+      }
+      else {
+	target.setBackground(Color.lightGray);
+	target.setEnabled(false);
+      }
+      // Special case of stupid JSpinners who don't let their backgrounds change properly.
+      if(target instanceof JSpinner) {
+	JSpinner spinner = (JSpinner) target;
+	JComponent c = spinner.getEditor();
+	if ( c instanceof JSpinner.DefaultEditor ) {
+	  JSpinner.DefaultEditor editor = (JSpinner.DefaultEditor) c;
+	  JFormattedTextField field = editor.getTextField();
+	  field.setEditable(source.isSelected());
+	  if(source.isSelected()) {
+	    field.setBackground(Color.white);
+	  }
+	  else {
+	    field.setBackground(Color.lightGray);
+	  }
+	}
+      }
+    }
+  }
+
+
+  /** Listener that sets the tooltip associated to a combobox to the tooltip relevant to the selected item. */
+  private class ToolTipUpdater
+    implements ActionListener {
+    /** Any implementation of an ActionListener must include this method so that we can be informed when the selection in a combobox has changed and update the tooltip accordingly.
+     * @param event An <strong>ActionEvent</strong> containing information about the action that fired this call.
+     */
+    public void actionPerformed(ActionEvent event) {
+      JComboBox source = (JComboBox)event.getSource();
+      Object object = source.getSelectedItem();
+      if(object instanceof Argument.ArgumentOption) {
+	Argument.ArgumentOption opt = (Argument.ArgumentOption)object;
+	if(opt != null) {
+	  source.setToolTipText(opt.getToolTip());
+	}
+	else {
+	  source.setToolTipText(StaticStrings.EMPTY_STR);
+	}
+      }
+    }
+  }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/BuildTypeManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/BuildTypeManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/BuildTypeManager.java	(revision 21123)
@@ -0,0 +1,292 @@
+package org.greenstone.gatherer.cdm;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import java.util.EventListener;
+import javax.swing.event.EventListenerList;
+
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.gui.ModalDialog;
+
+public class BuildTypeManager {
+
+    /** The size of this new collection dialog box. */
+    static private Dimension DIALOG_SIZE = new Dimension(600, 280);
+
+    static final public String BUILD_TYPE_MG = "mg";
+    static final public String BUILD_TYPE_MGPP = "mgpp";
+    static final public String BUILD_TYPE_LUCENE = "lucene";
+
+    static final public String BUILD_TYPE_MG_STR = "MG";
+    static final public String BUILD_TYPE_MGPP_STR = "MGPP";
+    static final public String BUILD_TYPE_LUCENE_STR = "Lucene";
+    
+    static final public String[] BUILD_TYPES = {  BUILD_TYPE_MGPP, BUILD_TYPE_MG, BUILD_TYPE_LUCENE };
+
+    private EventListenerList listeners = null;
+    /** the buildtype element in the config file - uses CollectionMeta */
+    public CollectionMeta build_type_meta = null;
+    private Control controls = null;
+
+    protected BuildTypeManager manager = null;
+    public BuildTypeManager() {
+	build_type_meta = new CollectionMeta(CollectionDesignManager.collect_config.getBuildType());
+	if (getBuildType().equals("")) {
+	    build_type_meta.setValue(BUILD_TYPE_MG);
+	    // must have an old collection, assume MG
+	}
+	listeners = new EventListenerList();
+	manager = this;
+    }
+
+    public void addBuildTypeListener(BuildTypeListener listener) {
+	listeners.add(BuildTypeListener.class, listener);
+    }
+    
+    protected void notifyListeners(String new_build_type) {
+	Object[] concerned = listeners.getListenerList();
+	for(int i = 0; i < concerned.length ; i++) {
+	    if(concerned[i] == BuildTypeListener.class) {
+		((BuildTypeListener)concerned[i+1]).buildTypeChanged(new_build_type);
+	    }
+	}
+	concerned = null;
+    }
+    
+	
+    public void promptForNewBuildType() {
+
+	BuildTypePrompt btp = new BuildTypePrompt(build_type_meta.getValue(CollectionMeta.TEXT));	
+    }
+
+    public boolean isMGPP () {
+
+	return getBuildType().equals(BUILD_TYPE_MGPP);
+    }
+    public boolean isMG () {
+
+	return getBuildType().equals(BUILD_TYPE_MG);
+    }
+    public boolean isLucene () {
+
+	return getBuildType().equals(BUILD_TYPE_LUCENE);
+    }
+
+    
+    public String getBuildType() {
+	return build_type_meta.getValue(CollectionMeta.TEXT);
+    }
+
+    public Control getControls() {
+	if (controls == null) {
+	    controls = new BuildTypeControl();
+	}
+	return controls;
+    }
+
+    public interface BuildTypeListener
+	extends EventListener {
+	public void buildTypeChanged(String new_build_type);
+    }
+
+    private class BuildTypeControl 
+	extends JPanel
+	implements Control, BuildTypeListener {
+
+	JLabel label = null;
+	JButton change_button = null;
+	
+	public BuildTypeControl() {
+	    super();
+	    this.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel spacer_panel = new JPanel();
+	    spacer_panel.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel main_panel = new JPanel();
+            main_panel.setComponentOrientation(Dictionary.getOrientation());
+	    /* may be CDM.BuildTypeManager.mg, CDM.BuildTYpeManager.mgpp, CDM.BuildTypeManager.lucene */
+	    label = new JLabel(Dictionary.get("CDM.BuildTypeManager.Current_Type", getBuildTypeString(getBuildType())));
+            label.setComponentOrientation(Dictionary.getOrientation());
+	    
+            change_button = new GLIButton(Dictionary.get("CDM.BuildTypeManager.Change"), Dictionary.get("CDM.BuildTypeManager.Change_Tooltip"));
+	    	    
+	    change_button.addActionListener(new ActionListener() {
+		    public void actionPerformed(ActionEvent event) {
+			promptForNewBuildType();
+		    }
+		});
+
+	    main_panel.setLayout(new BorderLayout(10,10));
+	    main_panel.add(label, BorderLayout.CENTER);
+	    main_panel.add(change_button, BorderLayout.LINE_END);
+
+	    setBorder(BorderFactory.createEmptyBorder(0,5,0,0));
+	    setLayout(new BorderLayout());
+	    add(spacer_panel, BorderLayout.CENTER);
+	    add(main_panel, BorderLayout.LINE_END);
+
+	    manager.addBuildTypeListener(this);
+	}
+
+	public void loseFocus() {}
+	public void gainFocus() {}
+	public void destroy() {}
+
+	private String getBuildTypeString(String build_type) {
+	    if (build_type.equals(BUILD_TYPE_MG)) {
+		return BUILD_TYPE_MG_STR;
+	    }
+	    if (build_type.equals(BUILD_TYPE_MGPP)) {
+		return BUILD_TYPE_MGPP_STR;
+	    }
+	    if (build_type.equals(BUILD_TYPE_LUCENE)) {
+		return BUILD_TYPE_LUCENE_STR;
+	    }
+	    return "";
+	}
+
+		
+	public void buildTypeChanged(String new_build_type) {
+	    label.setText(Dictionary.get("CDM.BuildTypeManager.Current_Type", getBuildTypeString(new_build_type)));
+	}
+    }
+    
+    private class BuildTypePrompt 
+	extends ModalDialog {
+	
+	private JDialog self;
+	
+	private JRadioButton mg_button = null;
+	private JRadioButton mgpp_button = null;
+	private JRadioButton lucene_button = null;
+
+	private JTextArea description_textarea = null;
+	
+	JButton ok_button = null;
+	JButton cancel_button = null;
+	
+	public BuildTypePrompt(String current_build_type) {
+	    super(Gatherer.g_man, true);
+	    this.self = this;
+	    setSize(DIALOG_SIZE);
+	    setTitle(Dictionary.get("CDM.BuildTypeManager.Title"));
+            this.setComponentOrientation(Dictionary.getOrientation());
+	    mg_button = new JRadioButton(BUILD_TYPE_MG_STR);
+            mg_button.setComponentOrientation(Dictionary.getOrientation());
+	    mg_button.setActionCommand(BUILD_TYPE_MG);
+	    mgpp_button = new JRadioButton(BUILD_TYPE_MGPP_STR);
+            mgpp_button.setComponentOrientation(Dictionary.getOrientation());
+	    mgpp_button.setActionCommand(BUILD_TYPE_MGPP);
+	    lucene_button = new JRadioButton(BUILD_TYPE_LUCENE_STR);
+            lucene_button.setComponentOrientation(Dictionary.getOrientation());
+	    lucene_button.setActionCommand(BUILD_TYPE_LUCENE);
+	    
+	    BuildTypeButtonListener btbl = new BuildTypeButtonListener();
+	    mg_button.addActionListener(btbl);
+	    mgpp_button.addActionListener(btbl);
+	    lucene_button.addActionListener(btbl);
+
+	    ButtonGroup build_type_group = new ButtonGroup();
+	    build_type_group.add(mgpp_button);
+	    build_type_group.add(mg_button);
+	    build_type_group.add(lucene_button);
+            
+	    if (current_build_type != null) {
+		if (current_build_type.equals(BUILD_TYPE_MGPP)) {
+		    mgpp_button.setSelected(true);
+		} else if (current_build_type.equals(BUILD_TYPE_MG)) {
+		    mg_button.setSelected(true);
+		} else if (current_build_type.equals(BUILD_TYPE_LUCENE)) {
+		    lucene_button.setSelected(true);
+		} 
+	    }
+	    
+	    JPanel radio_pane = new JPanel();
+	    radio_pane.setLayout(new GridLayout(3,1));
+	    radio_pane.add(mgpp_button);
+	    radio_pane.add(mg_button);
+	    radio_pane.add(lucene_button);
+            radio_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+	    description_textarea = new JTextArea();
+	    description_textarea.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	    /* may be CDM.BuildTypeManager.mg_Description, CDM.BuildTYpeManager.mgpp_Description, CDM.BuildTypeManager.lucene_Description */
+	    description_textarea.setText(Dictionary.get("CDM.BuildTypeManager."+current_build_type+"_Description"));
+	    description_textarea.setLineWrap(true);
+	    description_textarea.setWrapStyleWord(true);
+	    description_textarea.setComponentOrientation(Dictionary.getOrientation());
+            
+            cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Cancel_Tooltip"));
+	    
+	    cancel_button.addActionListener(new ActionListener() {
+		    public void actionPerformed(ActionEvent event) {
+			self.dispose();
+		    }
+		});
+	    
+	    ok_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("General.OK_Tooltip"));
+	    
+	    ok_button.addActionListener(new ActionListener() {
+		    public void actionPerformed(ActionEvent event) {
+			String new_build_type = BUILD_TYPE_MGPP;
+			if (mgpp_button.isSelected()) {
+			    new_build_type = BUILD_TYPE_MGPP;
+			} else if (mg_button.isSelected()) {
+			    new_build_type = BUILD_TYPE_MG;
+			} else if (lucene_button.isSelected()) {
+			    new_build_type = BUILD_TYPE_LUCENE;
+			}
+			if (!build_type_meta.getValue(CollectionMeta.TEXT).equals(new_build_type)) {
+			    manager.notifyListeners(new_build_type);
+			    build_type_meta.setValue(new_build_type);
+			}
+			self.dispose();
+		    }
+		});
+	    // tell the CDM that we have (possibly) changed
+	    ok_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+	    JPanel button_pane = new JPanel();
+	    button_pane.setLayout(new GridLayout(1,2));
+	    button_pane.add(ok_button);
+	    button_pane.add(cancel_button);
+            button_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel content_pane = (JPanel) getContentPane();
+	    content_pane.setOpaque(true);
+	    content_pane.setLayout(new BorderLayout());
+	    content_pane.add(radio_pane, BorderLayout.NORTH);
+	    content_pane.add(new JScrollPane(description_textarea), BorderLayout.CENTER);
+	    content_pane.add(button_pane, BorderLayout.SOUTH);
+            content_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+	    // Center and display.
+	    Dimension screen_size = Configuration.screen_size;
+	    this.setLocation((screen_size.width - DIALOG_SIZE.width) / 2, (screen_size.height - DIALOG_SIZE.height) / 2);
+	    this.setVisible(true); // blocks until the dialog is killed
+	       
+	}
+
+	public void loseFocus() {
+
+	}
+	public void gainFocus() {
+
+	}
+	public void destroy() {
+
+	}
+	
+	private class BuildTypeButtonListener
+	    implements ActionListener {
+
+	    public void actionPerformed(ActionEvent event) {
+		description_textarea.setText(Dictionary.get("CDM.BuildTypeManager."+event.getActionCommand()+"_Description"));
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Classifier.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Classifier.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Classifier.java	(revision 21123)
@@ -0,0 +1,102 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.io.*;
+import java.util.*;
+import org.greenstone.gatherer.greenstone.Classifiers;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+import org.w3c.dom.*;
+
+
+/** This class is responsible for storing information from a parsed classinfo.pl call in such a way that it allows easy access to parsed details for the purposes of user design and specification of classifiers.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class Classifier
+    extends ArgumentContainer
+{
+    static final public String CLASSIFIER_PREFIX = "CL";
+
+    private boolean loading_options_failed = false;
+
+
+    /** Constructor used only in DOMProxyListModel initializations.
+     */
+    public Classifier() {
+    }
+
+    
+    public Classifier(Element element, Classifier base_classifier) {
+	super(element, base_classifier);
+    }
+
+
+    /** The assigned classifier constructor.
+     * @param element the DOM Element this classifier is based upon
+     */
+    public DOMProxyListEntry create(Element element) {
+	String classifier_name = element.getAttribute(StaticStrings.TYPE_ATTRIBUTE);
+	// Determine the base classifier from the classifier name
+	Classifier base_classifier = Classifiers.getClassifier(classifier_name, true);
+	Classifier classifier = new Classifier(element, base_classifier);
+	if (base_classifier == null) {
+	    // this is kind of a place holder classifier for one which is invalid. It won't get written out to the config file when its next saved.
+	    classifier.setAssigned(false);
+	}
+	base_classifier = null;
+	classifier_name = null;
+	return classifier;
+    }
+
+
+    public boolean didLoadingOptionsFail()
+    {
+	return loading_options_failed;
+    }
+
+
+    /** Generate the string showing this classifiers position. */
+    public String getPositionString() {
+	String position_string = CLASSIFIER_PREFIX;
+	if(element != null) {
+	    // Determine our place in the collect.cfg file
+	    int position_int = CollectionDesignManager.classifier_manager.indexOf(this) + 1;
+	    if(position_int != -1) {
+		position_string = position_string + position_int;
+	    }
+	}
+	return position_string;
+    }
+
+
+    public void setLoadingOptionsFailed()
+    {
+	this.loading_options_failed = true;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/ClassifierManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/ClassifierManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/ClassifierManager.java	(revision 21123)
@@ -0,0 +1,615 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import java.net.*;
+import java.util.*;
+import java.util.jar.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import org.apache.xerces.parsers.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.greenstone.Classifiers;
+import org.greenstone.gatherer.gui.DesignPaneHeader;
+import org.greenstone.gatherer.gui.GComboBox;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.greenstone.gatherer.util.JarTools;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+import org.xml.sax.*;
+
+/** This class is responsible for keeping track of all the classifiers assigned to this collection, and providing methods for adding and removing them.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class ClassifierManager
+extends DOMProxyListModel {
+    /** The controls for editing the contents of this manager. */
+    private Control controls = null;
+    
+    private DOMProxyListModel model;
+    private Classifier default_classifier = null;
+
+    /** Constructor.
+     * @see org.greenstone.gatherer.cdm.DynamicListModel
+     * @see org.greenstone.gatherer.collection.CollectionManager
+     */
+    public ClassifierManager () {
+        super (CollectionDesignManager.collect_config.getDocumentElement (), StaticStrings.CLASSIFY_ELEMENT, new Classifier ());
+        this.model = this;
+        DebugStream.println ("ClassifierManager: " + getSize () + " classifiers parsed.");
+        
+        // Force the assigned classifiers to be loaded and cached now
+        for (int i = 0; i < getSize (); i++) {
+            getElementAt (i);
+        }
+    }
+    
+    
+    /** Retrieve a list of the classifiers that are available to be added to the collection. */
+    private Object[] getAvailableClassifiers () {
+        ArrayList available = new ArrayList ();
+        
+        // Add all the non-abstract core Greenstone classifiers
+        ArrayList classifiers_list = Classifiers.getClassifiersList ();
+        for (int i = 0; i < classifiers_list.size (); i++) {
+            Classifier classifier = (Classifier) classifiers_list.get (i);
+            if (!classifier.isAbstract ()) {
+                available.add (classifier);
+            }
+	    if (classifier.toString().equals("List")) {
+		default_classifier = classifier;
+	    }
+        }
+        
+        // Sort the available classifiers into alphabetical order
+        Collections.sort (available);
+        
+        return available.toArray ();
+    }
+    
+    
+    /** Method to assign a classifier (i.e., add a new classifier onto the list).
+     * @param classifier The base <strong>Classifier</strong> to assign.
+     * @see org.greenstone.gatherer.cdm.DynamicListModel
+     */
+    private void assignClassifier (Classifier classifier) {
+        if(!contains (classifier)) {
+            Element element = classifier.getElement ();
+            // Locate where we should insert this new classifier.
+            Node target_node = CollectionConfiguration.findInsertionPoint (element);
+            add (root, classifier, target_node);
+
+            // tell the format manager to update the names of its format statements
+            Gatherer.c_man.getCollection ().cdm.format_manager.refresh ();
+        }
+    }
+    
+    
+    /** Destructor. */
+    public void destroy () {
+        if (controls != null) {
+            controls.destroy ();
+            controls = null;
+        }
+    }
+    
+    
+    /** Method to retrieve the classifier with the given index.
+     * @param index The index of the desired classifier as an <i>int</i>.
+     * @return The requested Classifier or <i>null</i> if no such classifier exists.
+     */
+    public Classifier getClassifier (int index) {
+        if(0 <= index && index < getSize ()) {
+            return (Classifier) getElementAt (index);
+        }
+        return null;
+    }
+    
+    /** Method to retrieve the control for this manager.
+     * @return the Control for editing classifiers
+     */
+    public Control getControls () {
+        if(controls == null) {
+            // Build controls
+            this.controls = new ClassifierControl ();
+        }
+        return controls;
+    }
+    
+    /** Called when the detail mode has changed which in turn may cause several design elements to be available/hidden
+     * @param mode the new mode as an int
+     */
+    public void modeChanged (int mode) {
+        
+    }
+    
+    
+    
+    /** Determine if the Phind classifier has been assigned.
+     * @return true if it has, false otherwise
+     */
+    public boolean isPhindClassifierAssigned () {
+        for(int i = 0; i < getSize (); i++) {
+            Classifier classifier = (Classifier) getElementAt (i);
+            if(classifier.getName ().equalsIgnoreCase (StaticStrings.PHIND_CLASSIFIER)) {
+                return true;
+            }
+            classifier = null;
+        }
+        return false;
+    }
+    
+    /** Determine if a DateList classifier has been assigned
+     * @return true if it has, false otherwise
+     */
+    public boolean isDateListClassifierAssigned () {
+        for(int i = 0; i < getSize (); i++) {
+            Classifier classifier = (Classifier) getElementAt (i);
+            if(classifier.getName ().equalsIgnoreCase (StaticStrings.DATELIST_CLASSIFIER)) {
+                return true;
+            }
+            classifier = null;
+        }
+        return false;
+        
+    }
+    /** Method to move a classifier in the list order.
+     * @param classifier the Classifier you want to move.
+     * @param direction true to move the classifier up, false to move it down.
+     * @param all true to move to move all the way, false for a single step.
+     */
+    private void moveClassifier (Classifier classifier, boolean direction, boolean all) {
+        if(getSize () < 2) {
+            DebugStream.println ("Not enough classifiers to allow moving.");
+            return;
+        }
+        if(all) {
+            // Move to top
+            if(direction) {
+                // Remove the moving classifier
+                remove (classifier);
+                // Retrieve the first classifier
+                Classifier first_classifier = (Classifier) getElementAt (0);
+                // Add the moving classifier before the first classifier
+                addBefore (classifier, first_classifier);
+                first_classifier = null;
+            }
+            else {
+                // Remove the moving classifier
+                remove (classifier);
+                // And add after last classifier
+                add (getSize (), classifier);
+            }
+        }
+        else {
+            // Try to move the classifier one step in the desired direction.
+            int index = indexOf (classifier);
+            ///ystem.err.println("Index of " + classifier + " = " + index);
+            if(direction) {
+                index--;
+                if(index < 0) {
+                    String args[] = new String[2];
+                    args[0] = Dictionary.get ("CDM.ClassifierManager.Classifier");
+                    args[1] = classifier.getName ();
+                    JOptionPane.showMessageDialog (Gatherer.g_man, Dictionary.get ("CDM.Move.At_Top", args), Dictionary.get ("CDM.Move.Title"), JOptionPane.ERROR_MESSAGE);
+                    return;
+                }
+                remove (classifier);
+                add (index, classifier);
+            }
+            else {
+                index++;
+                if(index >= getSize ()) {
+                    String args[] = new String[2];
+                    args[0] = Dictionary.get ("CDM.ClassifierManager.Classifier_Str");
+                    args[1] = classifier.getName ();
+                    JOptionPane.showMessageDialog (Gatherer.g_man, Dictionary.get ("CDM.Move.At_Bottom", args), Dictionary.get ("CDM.Move.Title"), JOptionPane.ERROR_MESSAGE);
+                    return;
+                }
+                remove (classifier);
+                add (index, classifier);
+            }
+        }
+        
+        // tell the format manager to update the names of its format statements
+        Gatherer.c_man.getCollection ().cdm.format_manager.refresh ();
+    }
+    
+    /** This method removes an assigned classifier. I was tempted to call it unassign, but remove is more consistant. Note that there is no way to remove a classifier from the library.
+     * @param classifier The Classifier to remove
+     * @see org.greenstone.gatherer.cdm.DynamicListModel
+     */
+    private void removeClassifier (Classifier classifier) {
+        remove (classifier);
+        // tell the format manager to update the names of its format statements
+        Gatherer.c_man.getCollection ().cdm.format_manager.refresh ();
+        
+    }
+    // When remove, move, and add(assign) classifiers, this method has to be called to get the feature combobox
+    // on the 'format feature' panel of the 'format' panel up to date.
+//    private void informFormatManager() {
+//        //this is really to call the gainFocus() method
+//        CollectionDesignManager.format_manager.getControls();
+//    }
+    
+    /** A class which provides controls for assigned and editing classifiers. */
+    private class ClassifierControl
+    extends JPanel
+    implements Control {
+        /** A combobox containing all of the known classifiers, including those that may have already been assigned. */
+        private JComboBox classifier_combobox = null;
+        /** Button for adding classifiers. */
+        private JButton add = null;
+        /** Button for configuring the selected classifier. */
+        private JButton configure = null;
+        private JButton move_down_button;
+        private JButton move_up_button;
+        
+        /** Button to remove the selected classifier. */
+        private JButton remove = null;
+        
+        /** A list of assigned classifiers. */
+        private JList classifier_list = null;
+        
+        /** Constructor.
+         * @see org.greenstone.gatherer.cdm.ClassifierManager.ClassifierControl.AddListener
+         * @see org.greenstone.gatherer.cdm.ClassifierManager.ClassifierControl.ConfigureListener
+         * @see org.greenstone.gatherer.cdm.ClassifierManager.ClassifierControl.RemoveListener
+         */
+        public ClassifierControl () {
+            // Create
+            this.setComponentOrientation(Dictionary.getOrientation());
+            add = new GLIButton (Dictionary.get ("CDM.ClassifierManager.Add"), Dictionary.get ("CDM.ClassifierManager.Add_Tooltip"));
+            
+            JPanel button_pane = new JPanel ();
+            button_pane.setComponentOrientation(Dictionary.getOrientation());
+            JPanel central_pane = new JPanel ();
+            central_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+            configure = new GLIButton (Dictionary.get ("CDM.ClassifierManager.Configure"), Dictionary.get ("CDM.ClassifierManager.Configure_Tooltip"));
+            configure.setEnabled (false);
+            
+            JPanel header_pane = new DesignPaneHeader ("CDM.GUI.Classifiers", "classifiers");
+            
+            ClassifierComboboxListener ccl = new ClassifierComboboxListener ();
+            classifier_combobox = new JComboBox (getAvailableClassifiers ());
+            classifier_combobox.setComponentOrientation(Dictionary.getOrientation());
+            classifier_combobox.setOpaque (!Utility.isMac ());
+            classifier_combobox.setEditable (false);
+            if(classifier_combobox.getItemCount () > 0) {
+		if (default_classifier!=null) {
+		    classifier_combobox.setSelectedItem(default_classifier);
+		} else {
+		    classifier_combobox.setSelectedIndex (0);
+		}
+                ccl.itemStateChanged (new ItemEvent (classifier_combobox, 0, null, ItemEvent.SELECTED));
+            }
+            
+            JLabel classifier_label = new JLabel (Dictionary.get ("CDM.ClassifierManager.Classifier"));
+            classifier_label.setComponentOrientation(Dictionary.getOrientation());
+            
+            classifier_list = new JList (model);
+            classifier_list.setComponentOrientation(Dictionary.getOrientation());
+            
+            classifier_list.setOpaque (true);
+            classifier_list.setSelectionMode (ListSelectionModel.SINGLE_SELECTION);
+            JLabel classifier_list_label = new JLabel (Dictionary.get ("CDM.ClassifierManager.Assigned"));
+            classifier_list_label.setComponentOrientation(Dictionary.getOrientation());
+            
+            classifier_list_label.setOpaque (true);
+            
+            JPanel classifier_list_pane = new JPanel ();
+            classifier_list_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+            JPanel classifier_pane = new JPanel ();
+            classifier_pane.setComponentOrientation(Dictionary.getOrientation());
+            remove = new GLIButton (Dictionary.get ("CDM.ClassifierManager.Remove"), Dictionary.get ("CDM.ClassifierManager.Remove_Tooltip"));
+            remove.setEnabled (false);
+            
+            JPanel temp = new JPanel (new BorderLayout ());
+            temp.setComponentOrientation(Dictionary.getOrientation());
+            
+            JPanel move_button_pane = new JPanel ();
+            move_button_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+            move_up_button = new GLIButton (Dictionary.get ("CDM.Move.Move_Up"), JarTools.getImage ("arrow-up.gif"), Dictionary.get ("CDM.Move.Move_Up_Tooltip"));
+            move_up_button.setEnabled (false);
+            
+            move_down_button = new GLIButton (Dictionary.get ("CDM.Move.Move_Down"), JarTools.getImage ("arrow-down.gif"), Dictionary.get ("CDM.Move.Move_Down_Tooltip"));
+            move_down_button.setEnabled (false);
+            
+            // Listeners
+            add.addActionListener (new AddListener ());
+            classifier_combobox.addItemListener (ccl);
+            configure.addActionListener (new ConfigureListener ());
+            remove.addActionListener (new RemoveListener ());
+            remove.addActionListener (CollectionDesignManager.buildcol_change_listener);
+            classifier_list.addMouseListener (new ClickListener ());
+            classifier_list.addListSelectionListener (new ListListener ());
+            ccl = null;
+            
+            MoveListener ml = new MoveListener ();
+            move_down_button.addActionListener (ml);
+            move_down_button.addActionListener (CollectionDesignManager.buildcol_change_listener);
+            move_up_button.addActionListener (ml);
+            move_up_button.addActionListener (CollectionDesignManager.buildcol_change_listener);
+            
+            // Layout
+            JPanel tmp;
+            move_button_pane.setLayout (new GridLayout (4,1));
+            move_button_pane.add (move_up_button);
+            tmp = new JPanel ();
+            tmp.setComponentOrientation(Dictionary.getOrientation());
+            move_button_pane.add (tmp);
+            tmp = new JPanel ();
+            tmp.setComponentOrientation(Dictionary.getOrientation());
+            move_button_pane.add (tmp);
+            move_button_pane.add (move_down_button);
+            
+            classifier_list_label.setBorder (BorderFactory.createEmptyBorder (0,2,0,2));
+            
+            classifier_list_pane.setLayout (new BorderLayout ());
+            classifier_list_pane.add (classifier_list_label, BorderLayout.NORTH);
+            classifier_list_pane.add (new JScrollPane (classifier_list), BorderLayout.CENTER);
+            classifier_list_pane.add (move_button_pane, BorderLayout.LINE_END);
+            
+            classifier_label.setBorder (BorderFactory.createEmptyBorder (0,0,5,0));
+            
+            classifier_pane.setBorder (BorderFactory.createEmptyBorder (5,0,5,0));
+            classifier_pane.setLayout (new BorderLayout (5,0));
+            classifier_pane.add (classifier_label, BorderLayout.LINE_START);
+            classifier_pane.add (classifier_combobox, BorderLayout.CENTER);
+            
+            button_pane.setLayout (new GridLayout (1, 3));
+            button_pane.add (add);
+            button_pane.add (configure);
+            button_pane.add (remove);
+            
+            temp.add (classifier_pane, BorderLayout.NORTH);
+            temp.add (button_pane, BorderLayout.SOUTH);
+            
+            central_pane.setBorder (BorderFactory.createEmptyBorder (5,0,0,0));
+            central_pane.setLayout (new BorderLayout ());
+            central_pane.add (classifier_list_pane, BorderLayout.CENTER);
+            central_pane.add (temp, BorderLayout.SOUTH);
+            
+            setBorder (BorderFactory.createEmptyBorder (0,5,0,0));
+            setLayout (new BorderLayout ());
+            add (header_pane, BorderLayout.NORTH);
+            add (central_pane, BorderLayout.CENTER);
+        }
+        
+        /** Method which acts like a destructor, tidying up references to persistant objects.
+         */
+        public void destroy () {
+            add = null;
+            classifier_combobox = null;
+            classifier_list = null;
+            configure = null;
+            //instructions = null;
+            remove = null;
+        }
+        
+        public void gainFocus () {
+        }
+        
+        public void loseFocus () {
+        }
+        
+        
+        private class AddListener
+        implements ActionListener {
+            public void actionPerformed (ActionEvent event) {
+                if (classifier_combobox.getSelectedItem () != null) {
+                    // This must be done on a new thread for the remote building code
+                    new AddClassifierTask (classifier_combobox.getSelectedItem ().toString ()).start ();
+                }
+            }
+        }
+        
+        
+        private class AddClassifierTask
+        extends Thread {
+            private String classifier_name;
+            
+            public AddClassifierTask (String classifier_name) {
+                this.classifier_name = classifier_name;
+            }
+            
+            public void run () {
+                // Retrieve the classifier
+                Classifier classifier = Classifiers.getClassifier (classifier_name, true);
+                if (classifier == null) {
+                    System.err.println ("Error: getClassifier() returned null.");
+                    return;
+                }
+                
+                // Create a new element in the DOM
+                Element new_classifier_element = CollectionConfiguration.createElement (StaticStrings.CLASSIFY_ELEMENT);
+                new_classifier_element.setAttribute (StaticStrings.TYPE_ATTRIBUTE, classifier.getName ());
+                
+                Classifier new_classifier = new Classifier (new_classifier_element, classifier);
+                
+                ArgumentConfiguration ac = new ArgumentConfiguration (new_classifier);
+                ac.addOKButtonActionListener (CollectionDesignManager.buildcol_change_listener);
+                if (ac.display ()) {
+                    assignClassifier (new_classifier);
+                    classifier_list.setSelectedValue (new_classifier, true);
+                }
+            }
+        }
+        
+        
+        /** This listener reacts to changes in the current selection of the classifier combobox. */
+        private class ClassifierComboboxListener
+        implements ItemListener {
+            /** When a user selects a certain classifier, update the tooltip to show the classifier description. */
+            public void itemStateChanged (ItemEvent event) {
+                if(event.getStateChange () == ItemEvent.SELECTED) {
+                    // Retrieve the selected classifier
+                    Classifier current_selection = (Classifier) classifier_combobox.getSelectedItem ();
+                    // And reset the tooltip.
+                    classifier_combobox.setToolTipText (Utility.formatHTMLWidth (current_selection.getDescription (), 40));
+                    current_selection = null;
+                }
+            }
+        }
+        
+        
+        /** Listens for double clicks apon the list and react as if the configure button was pushed. */
+        private class ClickListener
+        extends MouseAdapter {
+            /** Called whenever the mouse is clicked over a registered component, we use this to chain through to the configure prompt.
+             * @param event A <strong>MouseEvent</strong> containing information about the mouse click.
+             */
+            public void mouseClicked (MouseEvent event) {
+                if(event.getClickCount () == 2 ) {
+                    if(!classifier_list.isSelectionEmpty ()) {
+                        Classifier classifier = (Classifier) classifier_list.getSelectedValue ();
+                        ArgumentConfiguration ac = new ArgumentConfiguration (classifier);
+                        ac.addOKButtonActionListener (CollectionDesignManager.buildcol_change_listener);
+                        if (ac.display ()) {
+                            refresh (classifier);
+                        }
+                        ac.destroy ();
+                        ac = null;
+                    }
+                }
+            }
+        }
+        
+        /** This class listens for actions upon the configure button in the controls, and if detected creates a new ArgumentConfiguration dialog box to allow for configuration.
+         */
+        private class ConfigureListener
+        implements ActionListener {
+            /** Any implementation of <i>ActionListener</i> must include this method so that we can be informed when an action has occured on one of our target controls.
+             * @param event An <strong>ActionEvent</strong> containing information garnered from the control action.
+             * @see org.greenstone.gatherer.cdm.ArgumentConfiguration
+             * @see org.greenstone.gatherer.cdm.Classifier
+             */
+            public void actionPerformed (ActionEvent event) {
+                if(!classifier_list.isSelectionEmpty ()) {
+                    Classifier classifier = (Classifier) classifier_list.getSelectedValue ();
+                    ArgumentConfiguration ac = new ArgumentConfiguration (classifier);
+                    ac.addOKButtonActionListener (CollectionDesignManager.buildcol_change_listener);
+                    if (ac.display ()) {
+                        refresh (classifier);
+                    }
+                    ac.destroy ();
+                    ac = null;
+                }
+            }
+        }
+        
+        /** listens for changes in the list selection and enables the configure and remove buttons if there is a selection, disables them if there is no selection */
+        private class ListListener
+        implements ListSelectionListener {
+            
+            public void valueChanged (ListSelectionEvent e) {
+                if (!e.getValueIsAdjusting ()) { // we get two events for one change in list selection - use the false one ( the second one)
+                    if (classifier_list.isSelectionEmpty ()) {
+                        move_up_button.setEnabled (false);
+                        move_down_button.setEnabled (false);
+                        configure.setEnabled (false);
+                        remove.setEnabled (false);
+                    }
+                    else {
+                        configure.setEnabled (true);
+                        remove.setEnabled (true);
+                        int selected_index = classifier_list.getSelectedIndex ();
+                        move_up_button.setEnabled (selected_index !=0);
+                        move_down_button.setEnabled (selected_index != model.getSize ()-1);
+                    }
+                }
+            }
+        }
+        
+        /** Listens for actions apon the move buttons in the manager controls, and if detected calls the <i>moveClassifier()</i> method of the manager with the appropriate details. */
+        private class MoveListener
+        implements ActionListener {
+            /** Any implementation of <i>ActionListener</i> must include this method so that we can be informed when an action has occured on one of our target controls.
+             * @param event An <strong>ActionEvent</strong> containing information garnered from the control action.
+             */
+            public void actionPerformed (ActionEvent event) {
+                if(!classifier_list.isSelectionEmpty ()) {
+                    Object object = classifier_list.getSelectedValue ();
+                    if(object instanceof Classifier) {
+                        Classifier classifier = (Classifier) object;
+                        if(event.getSource () == move_up_button) {
+                            moveClassifier (classifier, true, false);
+                        }
+                        else if(event.getSource () == move_down_button) {
+                            moveClassifier (classifier, false, false);
+                        }
+                        classifier_list.setSelectedValue (classifier, true);
+                    }
+                }
+            }
+        }
+        
+        /** This class listens for actions upon the remove button in the controls, and if detected calls the <i>removeClassifier()</i> method.
+         */
+        private class RemoveListener
+        implements ActionListener {
+            /** Any implementation of <i>ActionListener</i> must include this method so that we can be informed when an action has occured on one of our target controls.
+             * @param event An <strong>ActionEvent</strong> containing information garnered from the control action.
+             */
+            public void actionPerformed (ActionEvent event) {
+                if(classifier_list.isSelectionEmpty ()) {
+                    remove.setEnabled (false);
+                    return;
+                }
+                int selected_index = classifier_list.getSelectedIndex ();
+                Object selected_classifier = classifier_list.getSelectedValue ();
+                if (!(selected_classifier instanceof Classifier)) {
+                    return; // what else could we have here???
+                }
+                removeClassifier ((Classifier)selected_classifier);
+                
+                if (selected_index >= classifier_list.getModel ().getSize ()) {
+                    selected_index--;
+                }
+                if (selected_index >=0) {
+                    classifier_list.setSelectedIndex (selected_index);
+                } else {
+                    // no more classifiers in the list
+                    remove.setEnabled (false);
+                }
+            }
+        }
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CollectCfgReadWrite.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CollectCfgReadWrite.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CollectCfgReadWrite.java	(revision 21123)
@@ -0,0 +1,1327 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Methods to read collect.cfg files into internal XML form, and write 
+ * them back out again.
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.StringTokenizer;
+
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataTools;
+import org.greenstone.gatherer.util.Codec;
+import org.greenstone.gatherer.util.XMLTools;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+
+import org.w3c.dom.*;
+
+public class CollectCfgReadWrite {
+
+  
+  static public String toString (Element command_element) {
+    String command_element_name = command_element.getNodeName ();
+    if(command_element_name.equals (StaticStrings.CLASSIFY_ELEMENT)) {
+      return classifyToString (command_element);
+    }
+    else if(command_element_name.equals (StaticStrings.FORMAT_ELEMENT)) {
+      return formatToString (command_element);
+    }
+    else if(command_element_name.equals (StaticStrings.INDEXES_ELEMENT)) {
+      return indexesToString (command_element);
+    }
+    else if(command_element_name.equals (StaticStrings.INDEX_DEFAULT_ELEMENT)) {
+      return indexDefaultToString (command_element);
+    }
+    else if(command_element_name.equals (StaticStrings.LANGUAGES_ELEMENT)) {
+      return languagesToString (command_element);
+    }
+    else if(command_element_name.equals (StaticStrings.LANGUAGE_DEFAULT_ELEMENT)) {
+      return languageDefaultToString (command_element);
+    }
+    else if (command_element_name.equals (StaticStrings.LANGUAGE_METADATA_ELEMENT)) {
+      return languageMetadataToString (command_element);
+    }
+    else if(command_element_name.equals (StaticStrings.INDEXOPTIONS_ELEMENT)) {
+      return indexOptionsToString (command_element);
+    }
+    else if(command_element_name.equals (StaticStrings.INDEXOPTION_DEFAULT_ELEMENT)) {
+      return indexOptionDefaultToString (command_element);
+    }
+    else if(command_element_name.equals (StaticStrings.COLLECTIONMETADATA_ELEMENT)) {
+      return metadataToString (command_element); 
+    }
+    else if(command_element_name.equals (StaticStrings.COLLECTIONMETADATA_CREATOR_ELEMENT)) {
+      return metadataToString (command_element); 
+    }
+    else if(command_element_name.equals (StaticStrings.COLLECTIONMETADATA_MAINTAINER_ELEMENT)) {
+      return metadataToString (command_element); 
+    }
+    else if(command_element_name.equals (StaticStrings.COLLECTIONMETADATA_PUBLIC_ELEMENT)) {
+      return metadataToString (command_element); 
+    }
+    else if (command_element_name.equals (StaticStrings.BUILDTYPE_ELEMENT)) {
+      return metadataToString (command_element); 
+    }
+    else if(command_element_name.equals (StaticStrings.PLUGIN_ELEMENT)) {
+      return pluginToString (command_element);
+    }
+    else if(command_element_name.equals (StaticStrings.SUBCOLLECTION_ELEMENT)) {
+      return subcollectionToString (command_element);
+    }
+    else if(command_element_name.equals (StaticStrings.SUBCOLLECTION_DEFAULT_INDEX_ELEMENT)) {
+      return subcollectionDefaultIndexToString (command_element);
+    }
+    else if(command_element_name.equals (StaticStrings.SUBCOLLECTION_INDEXES_ELEMENT)) {
+      return subcollectionIndexesToString (command_element);
+    }
+    else if(command_element_name.equals (StaticStrings.SUPERCOLLECTION_ELEMENT)) {
+      return supercollectionToString (command_element);
+    }
+    else if(command_element_name.equals (StaticStrings.UNKNOWN_ELEMENT)) {
+      return unknownToString (command_element);
+    }
+    return "";
+  }
+
+  static private String classifyToString (Element command_element) {
+    StringBuffer text = new StringBuffer (StaticStrings.CLASSIFY_STR);
+    text.append (StaticStrings.TAB_CHARACTER);
+    text.append (command_element.getAttribute (StaticStrings.TYPE_ATTRIBUTE));
+    NodeList option_elements = command_element.getElementsByTagName (StaticStrings.OPTION_ELEMENT);
+    int option_elements_length = option_elements.getLength ();
+    for(int j = 0; j < option_elements_length; j++) {
+      Element option_element = (Element) option_elements.item (j);
+      if(option_element.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.TRUE_STR)) {
+	text.append (StaticStrings.SPACE_CHARACTER);
+	text.append (StaticStrings.MINUS_CHARACTER);
+	text.append (option_element.getAttribute (StaticStrings.NAME_ATTRIBUTE));
+	String value_str = XMLTools.getValue (option_element);
+	
+	if (value_str.length () > 0) {
+	  text.append (StaticStrings.SPACE_CHARACTER);
+	  if(value_str.indexOf (StaticStrings.SPACE_CHARACTER) != -1) {
+	    // enclose in quotes
+	    text.append(StaticStrings.SPEECH_CHARACTER);
+	    text.append(value_str);
+	    text.append(StaticStrings.SPEECH_CHARACTER);
+	  } else {
+		    
+	    text.append(value_str);
+	  }
+	}
+              
+	value_str = null;
+      }
+      option_element = null;
+    }
+    option_elements = null;
+    return text.toString ();
+  }
+    
+  static private String formatToString (Element command_element) {
+    StringBuffer text = new StringBuffer (StaticStrings.FORMAT_STR);
+    text.append (StaticStrings.SPACE_CHARACTER);
+    text.append (command_element.getAttribute (StaticStrings.NAME_ATTRIBUTE));
+    text.append (StaticStrings.SPACE_CHARACTER);
+    String value_str = command_element.getAttribute (StaticStrings.VALUE_ATTRIBUTE);
+    if(value_str.length () != 0) {
+      text.append (value_str);
+    }
+    else {
+      // Remember to encode format string to Greenstone specification
+      value_str = Codec.transform (XMLTools.getValue (command_element), Codec.DOM_TO_GREENSTONE);
+      text.append (StaticStrings.SPEECH_CHARACTER);
+      text.append (value_str);
+      text.append (StaticStrings.SPEECH_CHARACTER);
+    }
+    value_str = null;
+    return text.toString ();
+  }
+  
+  static private String indexesToString (Element command_element) {
+    boolean comment_only = false;
+    StringBuffer text = new StringBuffer ("");
+    if(command_element.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+      text.append ("#");
+      comment_only = true;
+    }
+    text.append (StaticStrings.INDEX_STR);
+    text.append (StaticStrings.TAB_CHARACTER);
+    if(!comment_only) {
+      text.append (StaticStrings.TAB_CHARACTER);
+    }
+    NodeList index_elements = command_element.getElementsByTagName (StaticStrings.INDEX_ELEMENT);
+    if (index_elements.getLength () == 0) { // no indexes
+      return "";
+    }
+    // For each index, write its level, a colon, then concatenate its child content elements into a single comma separated list
+    int index_elements_length = index_elements.getLength ();
+    for(int j = 0; j < index_elements_length; j++) {
+      Element index_element = (Element) index_elements.item (j);
+      String level_str = index_element.getAttribute (StaticStrings.LEVEL_ATTRIBUTE);
+      if(level_str.length () > 0) {
+	text.append (level_str);
+	text.append (StaticStrings.COLON_CHARACTER);
+      }
+      NodeList content_elements = index_element.getElementsByTagName (StaticStrings.CONTENT_ELEMENT);
+      int content_elements_length = content_elements.getLength ();
+      // Don't output anything if no indexes are set
+      if(content_elements_length == 0) {
+	return null;
+      }
+      for(int k = 0; k < content_elements_length; k++) {
+	Element content_element = (Element) content_elements.item (k);
+	String name_str = content_element.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+	text.append (name_str);
+	name_str = null;
+	if(k < content_elements_length - 1) {
+	  text.append (StaticStrings.COMMA_CHARACTER);
+	}
+	content_element = null;
+      }
+      if(j < index_elements_length - 1) {
+	text.append (StaticStrings.SPACE_CHARACTER);
+      }
+      content_elements = null;
+      index_element = null;
+    }
+    index_elements = null;
+    return text.toString ();
+  }
+    
+  static private String indexDefaultToString (Element command_element) {
+    StringBuffer text = new StringBuffer ("");
+    if(command_element.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+      text.append ("#");
+    }
+    text.append (StaticStrings.INDEX_DEFAULT_STR);
+    text.append (StaticStrings.TAB_CHARACTER);
+    if (!command_element.getAttribute (StaticStrings.LEVEL_ATTRIBUTE).equals ("")) {
+      text.append (command_element.getAttribute (StaticStrings.LEVEL_ATTRIBUTE));
+      text.append (StaticStrings.COLON_CHARACTER);
+    }
+    NodeList content_elements = command_element.getElementsByTagName (StaticStrings.CONTENT_ELEMENT);
+    int content_elements_length = content_elements.getLength ();
+    for(int j = 0; j < content_elements_length; j++) {
+      Element content_element = (Element) content_elements.item (j);
+      String name_str = content_element.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+      text.append (name_str);
+      name_str = null;
+      if(j < content_elements_length - 1) {
+	text.append (StaticStrings.COMMA_CHARACTER);
+      }
+      content_element = null;
+    }
+    content_elements = null;
+    return text.toString ();
+  }
+    
+  static private String languagesToString (Element command_element) {
+    StringBuffer text = new StringBuffer (StaticStrings.LANGUAGES_STR);
+    text.append (StaticStrings.TAB_CHARACTER);
+    // Retrieve all the languages and write them out in a space separated list
+    NodeList language_elements = command_element.getElementsByTagName (StaticStrings.LANGUAGE_ELEMENT);
+    int language_elements_length = language_elements.getLength ();
+    if(language_elements_length == 0) {
+      return null;
+    }
+    for(int j = 0; j < language_elements_length; j++) {
+      Element language_element = (Element) language_elements.item (j);
+      text.append (language_element.getAttribute (StaticStrings.NAME_ATTRIBUTE));
+      if(j < language_elements_length - 1) {
+	text.append (StaticStrings.SPACE_CHARACTER);
+      }
+    }
+    return text.toString ();
+  }
+    
+  static private String languageDefaultToString (Element command_element) {
+    StringBuffer text = new StringBuffer (StaticStrings.LANGUAGE_DEFAULT_STR);
+    text.append (StaticStrings.TAB_CHARACTER);
+    text.append (command_element.getAttribute (StaticStrings.NAME_ATTRIBUTE));
+    return text.toString ();
+  }
+    
+  static private String languageMetadataToString (Element command_element) {
+    if (!command_element.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.TRUE_STR)) {
+      return "";
+    }
+    StringBuffer text = new StringBuffer (StaticStrings.LANGUAGE_METADATA_STR);
+    text.append (StaticStrings.TAB_CHARACTER);
+    String name_str = command_element.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+    text.append (name_str);
+    return text.toString ();
+  }
+    
+  static private String indexOptionsToString (Element command_element) {
+    StringBuffer text = new StringBuffer ("");
+    if(command_element.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+      text.append ("#");
+    }
+    text.append (command_element.getAttribute (StaticStrings.NAME_ATTRIBUTE));
+    text.append (StaticStrings.TAB_CHARACTER);
+    NodeList content_elements = command_element.getElementsByTagName (StaticStrings.INDEXOPTION_ELEMENT);
+    int content_elements_length = content_elements.getLength ();
+    // Don't output anything if no options are set.
+    if(content_elements_length == 0) {
+      return null;
+    }
+    for(int i = 0; i < content_elements_length; i++) {
+      Element content_element = (Element) content_elements.item (i);
+      text.append (content_element.getAttribute (StaticStrings.NAME_ATTRIBUTE));
+      text.append (StaticStrings.SPACE_CHARACTER);
+    }
+    return text.substring (0, text.length () - 1);
+  }
+    
+  static private String indexOptionDefaultToString (Element command_element) {
+    // Don't bother if there is no value
+    if (command_element.getAttribute (StaticStrings.VALUE_ATTRIBUTE).equals ("")) {
+      return "";
+    }
+    StringBuffer text = new StringBuffer ("");
+    if(command_element.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+      text.append ("#");
+    }
+    text.append (command_element.getAttribute (StaticStrings.NAME_ATTRIBUTE));
+    text.append (StaticStrings.TAB_CHARACTER);
+    text.append (command_element.getAttribute (StaticStrings.VALUE_ATTRIBUTE));
+    return text.toString ();
+  }
+    
+  static private String metadataToString (Element command_element) {
+    // lets first check the value - if its empty, don't bother sticking it in the config file
+    String value_str = XMLTools.getValue (command_element);
+    if (value_str.equals ("")) {
+      return "";
+    }
+    boolean special = false;
+        
+    StringBuffer text = new StringBuffer ("");
+    String name_str = command_element.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+    // If the name is one of the special four, we don't write the collectionmeta first. Note maintainer and buildtype are singled out for 'prittying' reasons.
+    if(name_str.equals (StaticStrings.COLLECTIONMETADATA_MAINTAINER_STR)|| name_str.equals (StaticStrings.BUILDTYPE_STR) ) {
+      text.append (name_str);
+      text.append (StaticStrings.TAB_CHARACTER);
+      special = true;
+    }
+    else if (name_str.equals (StaticStrings.COLLECTIONMETADATA_CREATOR_STR) || name_str.equals (StaticStrings.COLLECTIONMETADATA_PUBLIC_STR) ) {
+      text.append (name_str);
+      text.append (StaticStrings.TAB_CHARACTER);
+      text.append (StaticStrings.TAB_CHARACTER);
+      special = true;
+    }
+    else {
+      text.append (StaticStrings.COLLECTIONMETADATA_STR);
+      text.append (StaticStrings.TAB_CHARACTER);
+      text.append (name_str);
+      text.append (StaticStrings.SPACE_CHARACTER);
+      String language_str = command_element.getAttribute (StaticStrings.LANGUAGE_ATTRIBUTE);
+      text.append (StaticStrings.LBRACKET_CHARACTER);
+      text.append (StaticStrings.LANGUAGE_ARGUMENT);
+      text.append (language_str);
+      text.append (StaticStrings.RBRACKET_CHARACTER);
+      text.append (StaticStrings.SPACE_CHARACTER);
+    }
+    name_str = null;
+        
+    // decode the value from XML to a form for config file
+    value_str = Codec.transform (value_str, Codec.DOM_TO_GREENSTONE);
+        
+    // We don't wrap the email addresses in quotes, nor the other special metadata
+    if(special) {
+      text.append (value_str);
+    }
+    else {
+      text.append (StaticStrings.SPEECH_CHARACTER);
+      text.append (value_str);
+      text.append (StaticStrings.SPEECH_CHARACTER);
+    }
+    value_str = null;
+    return text.toString ();
+  }
+    
+  static private String searchtypeToString (Element command_element) {
+    if(command_element.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.TRUE_STR)) {
+      StringBuffer text = new StringBuffer (StaticStrings.SEARCHTYPE_STR);
+      text.append (StaticStrings.TAB_CHARACTER);
+      NodeList search_elements = command_element.getElementsByTagName (StaticStrings.CONTENT_ELEMENT);
+      int search_elements_length = search_elements.getLength ();
+      for(int i = 0; i < search_elements_length; i++) {
+	Element search_element = (Element) search_elements.item (i);
+	text.append (search_element.getAttribute (StaticStrings.NAME_ATTRIBUTE));
+	text.append (StaticStrings.SPACE_CHARACTER);
+      }
+      return text.substring (0, text.length () - 1);
+    }
+    else {
+      return null;
+    }
+  }
+    
+  static private String subcollectionToString (Element command_element) {
+    StringBuffer text = new StringBuffer (StaticStrings.SUBCOLLECTION_STR);
+    text.append (StaticStrings.SPACE_CHARACTER);
+    text.append (command_element.getAttribute (StaticStrings.NAME_ATTRIBUTE));
+    text.append (StaticStrings.SPACE_CHARACTER);
+    text.append (StaticStrings.TAB_CHARACTER);
+    text.append (StaticStrings.SPEECH_CHARACTER);
+    if(command_element.getAttribute (StaticStrings.TYPE_ATTRIBUTE).equals (StaticStrings.EXCLUDE_STR)) {
+      text.append (StaticStrings.EXCLAMATION_CHARACTER);
+    }
+    text.append (command_element.getAttribute (StaticStrings.CONTENT_ATTRIBUTE));
+    text.append (StaticStrings.SEPARATOR_CHARACTER);
+    text.append (XMLTools.getValue (command_element));
+    text.append (StaticStrings.SEPARATOR_CHARACTER);
+    String options_str = command_element.getAttribute (StaticStrings.OPTIONS_ATTRIBUTE);
+    if(options_str.length () > 0) {
+      text.append (options_str);
+    }
+    options_str = null;
+    text.append (StaticStrings.SPEECH_CHARACTER);
+    return text.toString ();
+  }
+    
+  static private String subcollectionDefaultIndexToString (Element command_element) {
+    StringBuffer text = new StringBuffer (StaticStrings.SUBCOLLECTION_DEFAULT_INDEX_STR);
+    text.append (StaticStrings.TAB_CHARACTER);
+    NodeList content_elements = command_element.getElementsByTagName (StaticStrings.CONTENT_ELEMENT);
+    int content_elements_length = content_elements.getLength ();
+    for(int j = 0; j < content_elements_length; j++) {
+      Element content_element = (Element) content_elements.item (j);
+      text.append (content_element.getAttribute (StaticStrings.NAME_ATTRIBUTE));
+      if(j < content_elements_length - 1) {
+	text.append (StaticStrings.COMMA_CHARACTER);
+      }
+    }
+    return text.toString ();
+  }
+    
+  static private String subcollectionIndexesToString (Element command_element) {
+    StringBuffer text = new StringBuffer (StaticStrings.SUBCOLLECTION_INDEX_STR);
+    text.append (StaticStrings.TAB_CHARACTER);
+    // Retrieve all of the subcollection index partitions
+    NodeList subcollectionindex_elements = command_element.getElementsByTagName (StaticStrings.INDEX_ELEMENT);
+    int subcollectionindex_elements_length = subcollectionindex_elements.getLength ();
+    if(subcollectionindex_elements_length == 0) {
+      return null;
+    }
+    for(int j = 0; j < subcollectionindex_elements_length; j++) {
+      Element subcollectionindex_element = (Element) subcollectionindex_elements.item (j);
+      NodeList content_elements = subcollectionindex_element.getElementsByTagName (StaticStrings.CONTENT_ELEMENT);
+      int content_elements_length = content_elements.getLength ();
+      for(int k = 0; k < content_elements_length; k++) {
+	Element content_element = (Element) content_elements.item (k);
+	text.append (content_element.getAttribute (StaticStrings.NAME_ATTRIBUTE));
+	if(k < content_elements_length - 1) {
+	  text.append (StaticStrings.COMMA_CHARACTER);
+	}
+      }
+      if(j < subcollectionindex_elements_length - 1) {
+	text.append (StaticStrings.SPACE_CHARACTER);
+      }
+    }
+    return text.toString ();
+  }
+    
+  static private String supercollectionToString (Element command_element) {
+    NodeList content_elements = command_element.getElementsByTagName (StaticStrings.COLLECTION_ELEMENT);
+    int content_elements_length = content_elements.getLength ();
+    if(content_elements_length > 1) {
+      StringBuffer text = new StringBuffer (StaticStrings.SUPERCOLLECTION_STR);
+      text.append (StaticStrings.TAB_CHARACTER);
+      for(int j = 0; j < content_elements_length; j++) {
+	Element content_element = (Element) content_elements.item (j);
+	text.append (content_element.getAttribute (StaticStrings.NAME_ATTRIBUTE));
+	if(j < content_elements_length - 1) {
+	  text.append (StaticStrings.SPACE_CHARACTER);
+	}
+      }
+      return text.toString ();
+    }
+    return null;
+  }
+    
+  static private String unknownToString (Element command_element) {
+    return XMLTools.getValue (command_element);
+  }
+    
+
+  /** Parse a collect.cfg into a DOM model representation.
+   * note we are ignoring 2.39 compatibility now. */
+  static public String parse (File collect_cfg_file, Document document) {
+    // hack for pre 2.71 compatibility - we need to add in a
+    // build type if there is not one there
+    boolean search_types_parsed = false;
+    boolean build_types_parsed = false;
+    try {
+      StringBuffer saved_collect_cfg_string_buffer = new StringBuffer ();
+            
+      Element collect_cfg_element = document.getDocumentElement ();
+      // Read in the file one command at a time.
+      InputStream istream = new FileInputStream (collect_cfg_file);
+      Reader in_reader = new InputStreamReader (istream, CollectionConfiguration.ENCODING);
+      BufferedReader in = new BufferedReader (in_reader);
+      String command_str = null;
+      while((command_str = in.readLine ()) != null) {
+	saved_collect_cfg_string_buffer.append (command_str + "\n");
+                
+	boolean append_element = true;
+	Element command_element = null;
+	// A command may be broken over several lines.
+	command_str = command_str.trim ();
+	boolean eof = false;
+	while(!eof && command_str.endsWith (StaticStrings.NEWLINE_CHARACTER)) {
+	  String next_line = in.readLine ();
+	  if(next_line != null) {
+	    next_line = next_line.trim ();
+	    if(next_line.length () > 0) {
+	      // Remove the new line character
+	      command_str = command_str.substring (0, command_str.lastIndexOf (StaticStrings.NEWLINE_CHARACTER));
+	      // And append the next line, which due to the test above must be non-zero length
+	      command_str = command_str + next_line;
+	    }
+	    next_line = null;
+	  }
+	  // If we've reached the end of the file theres nothing more we can do
+	  else {
+	    eof = true;
+	  }
+	}
+	// If there is still a new line character, then we remove it and hope for the best
+	if(command_str.endsWith (StaticStrings.NEWLINE_CHARACTER)) {
+	  command_str = command_str.substring (0, command_str.lastIndexOf (StaticStrings.NEWLINE_CHARACTER));
+	}
+	// Now we've either got a command to parse...
+	if(command_str.length () != 0) {
+	  // Start trying to figure out what it is
+	  //StringTokenizer tokenizer = new StringTokenizer(command_str);
+	  // Instead of a standard string tokenizer I'm going to use the new version of CommandTokenizer, which is not only smart enough to correctly notice speech marks and correctly parse them out, but now also takes the input stream so it can rebuild tokens that stretch over several lines.
+	  CommandTokenizer tokenizer = new CommandTokenizer (command_str, in);
+	  String command_type = tokenizer.nextToken ().toLowerCase ();
+	  // Why can't you switch on strings eh? We pass it to the various subparsers who each have a bash at parsing the command. If none can parse the command, an unknown element is created
+	  if(command_element == null && command_type.equals (StaticStrings.CLASSIFY_STR)) {
+	    command_element = parseClassify (command_str, document); 
+	  }
+	  if(command_element == null && command_type.equals (StaticStrings.FORMAT_STR)) {
+	    command_element = parseFormat (tokenizer, document); // Revised to handle multiple lines
+	  }
+	  if(command_element == null && (command_type.equals (StaticStrings.INDEX_STR)  || command_type.equals (StaticStrings.COMMENTED_INDEXES_STR))) {
+	    command_element = parseIndex (command_str, document);
+	  }
+	  if(command_element == null && (command_type.equals (StaticStrings.INDEX_DEFAULT_STR) || command_type.equals (StaticStrings.COMMENTED_INDEX_DEFAULT_STR))) {
+                        
+	    command_element = parseIndexDefault (command_str, document);
+	  }
+	  if(command_element == null && command_type.equals (StaticStrings.LANGUAGES_STR)) {
+	    command_element = parseLanguage (command_str, document);
+	  }
+	  if(command_element == null && command_type.equals (StaticStrings.LANGUAGE_DEFAULT_STR)) {
+	    command_element = parseLanguageDefault (command_str, document);
+	  }
+	  if (command_element == null && command_type.equals (StaticStrings.LANGUAGE_METADATA_STR)) {
+	    command_element = parseLanguageMetadata (command_str, document);
+	  }
+	  if(command_element == null && command_type.equals (StaticStrings.LEVELS_STR)) {
+	    command_element = parseIndexOptions (command_str, document, StaticStrings.LEVELS_STR, true);
+	  }
+	  if (command_element == null && command_type.equals (StaticStrings.COMMENTED_LEVELS_STR)) {
+	    command_element = parseIndexOptions (command_str, document, StaticStrings.LEVELS_STR, false);
+	  }
+	  if(command_element == null && command_type.equals (StaticStrings.LEVEL_DEFAULT_STR)) {
+	    command_element = parseIndexOptionDefault (command_str, document, StaticStrings.LEVEL_DEFAULT_STR, true);
+	  }
+	  if(command_element == null && command_type.equals (StaticStrings.COMMENTED_LEVEL_DEFAULT_STR)) {
+	    command_element = parseIndexOptionDefault (command_str, document, StaticStrings.LEVEL_DEFAULT_STR, false);
+	  }
+	  if (command_element == null && command_type.equals (StaticStrings.INDEXOPTIONS_STR)) {
+	    command_element = parseIndexOptions (command_str, document, StaticStrings.INDEXOPTIONS_STR, true);
+	  }
+	  if (command_element == null && command_type.equals (StaticStrings.COMMENTED_INDEXOPTIONS_STR)) {
+	    command_element = parseIndexOptions (command_str, document, StaticStrings.INDEXOPTIONS_STR, false);
+	  }
+	  if(command_element == null && command_type.equals (StaticStrings.COLLECTIONMETADATA_STR)) {
+	    command_element = parseMetadata (tokenizer, document); // Revised to handle multiple lines
+	  }
+	  if(command_element == null && (command_type.equals (StaticStrings.COLLECTIONMETADATA_PUBLIC_STR) || command_type.equals (StaticStrings.COLLECTIONMETADATA_CREATOR_STR) || command_type.equals (StaticStrings.COLLECTIONMETADATA_MAINTAINER_STR) || command_type.equals (StaticStrings.BUILDTYPE_STR))) {
+	    command_element = parseMetadataSpecial (command_str, document);
+	    // pre 2.71 hack
+	    if (command_type.equals (StaticStrings.BUILDTYPE_STR)) {
+	      build_types_parsed = true;
+	    }
+	  }
+	  if(command_element == null && command_type.equals (StaticStrings.PLUGIN_STR)) {
+	    command_element = parsePlugin (command_str, document);
+	  }
+	  // leave here for backwards compatibility
+	  if(command_element == null && command_type.equals (StaticStrings.SEARCHTYPE_STR)) {
+	    command_element = parseSearchType (command_str, document);
+	    // pre 2.71 hack
+	    search_types_parsed = true;
+                        
+	  }
+	  if(command_element == null && command_type.equals (StaticStrings.SUBCOLLECTION_STR)) {
+	    command_element = parseSubCollection (command_str, document);
+	  }
+	  if(command_element == null && command_type.equals (StaticStrings.SUBCOLLECTION_DEFAULT_INDEX_STR)) {
+	    command_element = parseSubCollectionDefaultIndex (command_str, document);
+	  }
+	  if(command_element == null && command_type.equals (StaticStrings.SUBCOLLECTION_INDEX_STR)) {
+	    command_element = parseSubCollectionIndex (command_str, document);
+	  }
+	  if(command_element == null && (command_type.equals (StaticStrings.SUPERCOLLECTION_STR) || command_type.equals (StaticStrings.CCS_STR))) {
+	    command_element = parseSuperCollection (command_str, document);
+	  }
+	  // Doesn't match any known type
+	  command_type = null;
+	  if(command_element == null) {
+	    // No-one knows what to do with this command, so we create an Unknown command element
+	    command_element = document.createElement (StaticStrings.UNKNOWN_ELEMENT);
+	    XMLTools.setValue (command_element, command_str);
+	  }
+	}
+	// Or an empty line to remember for later
+	else {
+	  command_element = document.createElement (CollectionConfiguration.NEWLINE_ELEMENT);
+	}
+	// Now command element shouldn't be null so we append it to the collection config DOM, but only if we haven't been told not to add it
+	//if(append_element) {
+	collect_cfg_element.appendChild (command_element);
+	//}
+      }
+      if (!build_types_parsed) {
+	String buildtype_type = BuildTypeManager.BUILD_TYPE_MG;
+	if (search_types_parsed) {
+	  buildtype_type = BuildTypeManager.BUILD_TYPE_MGPP;
+	}
+	Element command_element = parseMetadataSpecial (StaticStrings.BUILDTYPE_STR+"  "+buildtype_type, document);
+	Node target_node = CollectionConfiguration.findInsertionPoint (command_element);
+	if(target_node != null) {
+	  collect_cfg_element.insertBefore (command_element, target_node);
+	}
+	else {
+	  collect_cfg_element.appendChild (command_element);
+	}
+                
+      }
+      return saved_collect_cfg_string_buffer.toString();
+    }
+    catch(Exception exception) {
+      DebugStream.println ("Error in CollectionConfiguration.parse(java.io.File): " + exception);
+      DebugStream.printStackTrace (exception);
+    }
+
+    return null;
+  }
+    
+    
+  /** Parses arguments from a tokenizer and returns a HashMap of mappings. The tricky bit here is that not all entries in the HashMap are name->value pairs, as some arguments are boolean and are turned on by their presence. Arguments are denoted by a '-' prefix.
+   * @param tokenizer a CommandTokenizer based on the unconsumed portion of a command string
+   * @return a HashMap containing the arguments parsed
+   */
+  static public HashMap parseArguments (CommandTokenizer tokenizer) {
+    HashMap arguments = new HashMap ();
+    String name = null;
+    String value = null;
+    while(tokenizer.hasMoreTokens () || name != null) {
+      // First we retrieve a name if we need one.
+      if(name == null) {
+	name = tokenizer.nextToken ();
+      }
+      // Now we attempt to retrieve a value
+      if(tokenizer.hasMoreTokens ()) {
+	value = tokenizer.nextToken ();
+	// Test if the value is actually a name, and if so add the name by itself, then put value into name so that it is parsed correctly during the next loop.
+	// The value is not a name if it contains a space character: it's a quoted value
+	if (value.startsWith(StaticStrings.MINUS_CHARACTER) && value.indexOf(StaticStrings.SPACE_CHARACTER) == -1) {
+	  arguments.put (name, null);
+	  name = value;
+	}
+	// Otherwise we have a typical name->value pair ready to go
+	else {
+	  arguments.put (name, value);
+	  name = null;
+	}
+      }
+      // Otherwise its a binary flag
+      else {
+	arguments.put (name, null);
+	name = null;
+      }
+    }
+    return arguments;
+  }
+    
+  static private Element parseClassify (String command_str, Document document) {
+    Element command_element = null;
+    try {
+      CommandTokenizer tokenizer = new CommandTokenizer (command_str);
+      // Check the token count. The token count from a command tokenizer isn't guarenteed to be correct, but it does give the maximum number of available tokens according to the underlying StringTokenizer (some of which may actually be append together by the CommandTokenizer as being a single argument).
+      if(tokenizer.countTokens () >= 2) {  // Must support "classify Phind" (no args)
+	command_element = document.createElement (StaticStrings.CLASSIFY_ELEMENT);
+	// First token is classify
+	tokenizer.nextToken ();
+	// The next token is the classifier type
+	command_element.setAttribute (StaticStrings.TYPE_ATTRIBUTE, tokenizer.nextToken ());
+	// Now we parse out the remaining arguments into a hashmapping from name to value
+	HashMap arguments = parseArguments (tokenizer);
+	// Assign the arguments as Option elements
+	Iterator names = arguments.keySet ().iterator ();
+	while(names.hasNext ()) {
+	  String name = (String) names.next ();
+	  String value = (String) arguments.get (name); // Can be null
+	  Element option_element = document.createElement (StaticStrings.OPTION_ELEMENT);
+	  option_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, name.substring (1));
+	  if(value != null) {
+	    // Remove any speech marks appended in strings containing whitespace
+	    if(value.startsWith (StaticStrings.SPEECH_CHARACTER) && value.endsWith (StaticStrings.SPEECH_CHARACTER)) {
+	      value = value.substring (1, value.length () - 1);
+	    }
+	    XMLTools.setValue (option_element, value);
+	  }
+	  option_element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+	  command_element.appendChild (option_element);
+	  option_element = null;
+	  name = null;
+	  value = null;
+	}
+	names = null;
+	arguments = null;
+      }
+      tokenizer = null;
+    }
+    catch(Exception error) {
+    }
+    return command_element;
+  }
+    
+  static private Element parseFormat (CommandTokenizer tokenizer, Document document) {
+    Element command_element = null;
+    try {
+      command_element = document.createElement (StaticStrings.FORMAT_ELEMENT);
+      String name_str = tokenizer.nextToken ();
+      String value_str = tokenizer.nextToken ();
+      if(name_str != null && value_str != null) {
+	command_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, name_str);
+	// If the value is true or false we add it as an attribute
+	if(value_str.equalsIgnoreCase (StaticStrings.TRUE_STR) || value_str.equalsIgnoreCase (StaticStrings.FALSE_STR)) {
+	  command_element.setAttribute (StaticStrings.VALUE_ATTRIBUTE, value_str.toLowerCase ());
+	}
+	// Otherwise it gets added as a text node
+	else {
+	  // Ready the value str (which can contain all sorts of funky characters) for writing as a DOM value
+	  value_str = Codec.transform (value_str, Codec.GREENSTONE_TO_DOM);
+	  XMLTools.setValue (command_element, value_str);
+	}
+      }
+      else {
+	command_element = null;
+      }
+      name_str = null;
+      value_str = null;
+    }
+    catch (Exception exception) {
+      DebugStream.printStackTrace (exception);
+      command_element = null;
+    }
+    return command_element;
+  }
+    
+  static private Element parseIndex (String command_str, Document document) {
+    Element command_element = null;
+    try {
+      StringTokenizer tokenizer = new StringTokenizer (command_str);
+      String command = tokenizer.nextToken ();
+      command_element = document.createElement (StaticStrings.INDEXES_ELEMENT);
+      command_element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, (command.equals (StaticStrings.INDEX_STR) ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR));
+      command = null;
+      if(!tokenizer.hasMoreTokens ()) {
+                
+	// there are no indexes
+	command_element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.FALSE_STR);
+	command_element.setAttribute (StaticStrings.MGPP_ATTRIBUTE, StaticStrings.FALSE_STR); // for now
+	tokenizer = null;
+	return command_element;
+      }
+            
+      while(tokenizer.hasMoreTokens ()) {
+	Element index_element = document.createElement (StaticStrings.INDEX_ELEMENT);
+	String index_str = tokenizer.nextToken ();
+	// There are two types of index we have to consider. MG versions use "level:source,source" while MGPP versions use "source,source source" 
+	if(index_str.indexOf (StaticStrings.COLON_CHARACTER) != -1) {
+	  index_element.setAttribute (StaticStrings.LEVEL_ATTRIBUTE, index_str.substring (0, index_str.indexOf (StaticStrings.COLON_CHARACTER)));
+	  index_str = index_str.substring (index_str.indexOf (StaticStrings.COLON_CHARACTER) + 1);
+	  command_element.setAttribute (StaticStrings.MGPP_ATTRIBUTE, StaticStrings.FALSE_STR);
+	}
+	else {
+	  command_element.setAttribute (StaticStrings.MGPP_ATTRIBUTE, StaticStrings.TRUE_STR);
+	}
+	StringTokenizer content_tokenizer = new StringTokenizer (index_str, StaticStrings.COMMA_CHARACTER);
+	while(content_tokenizer.hasMoreTokens ()) {
+	  Element content_element = document.createElement (StaticStrings.CONTENT_ELEMENT);
+	  String content_str = content_tokenizer.nextToken ();
+	  // Since the contents of indexes have to be certain keywords, or metadata elements, if the content isn't a keyword and doesn't yet have a namespace, append the extracted metadata namespace.
+	  if(content_str.indexOf (StaticStrings.NS_SEP) == -1) {
+	    if(content_str.equals (StaticStrings.TEXT_STR) || content_str.equals (StaticStrings.ALLFIELDS_STR) || content_str.equals(StaticStrings.METADATA_STR)) {
+	      // Our special strings are OK.
+	    }
+	    else {
+	      content_str = StaticStrings.EXTRACTED_NAMESPACE + content_str;
+	    }
+	  }
+	  content_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, content_str);
+	  index_element.appendChild (content_element);
+	  content_element = null;
+	}
+	content_tokenizer = null;
+	index_str = null;
+	command_element.appendChild (index_element);
+	index_element = null;
+      }
+      tokenizer = null;
+    }
+    catch (Exception exception) {
+      exception.printStackTrace ();
+    }
+    return command_element;
+  }
+    
+  static private Element parseIndexDefault (String command_str, Document document) {
+    Element command_element = null;
+    try {
+      StringTokenizer tokenizer = new StringTokenizer (command_str);
+      if(tokenizer.countTokens () >= 2) {
+	command_element = document.createElement (StaticStrings.INDEX_DEFAULT_ELEMENT);
+	command_element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, ((tokenizer.nextToken ()).equals (StaticStrings.INDEX_DEFAULT_STR) ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR));
+	String index_str = tokenizer.nextToken ();
+	String level="";
+	if (index_str.indexOf (StaticStrings.COLON_CHARACTER) !=-1) {
+	  level =  index_str.substring (0, index_str.indexOf (StaticStrings.COLON_CHARACTER));
+	}
+                
+	command_element.setAttribute (StaticStrings.LEVEL_ATTRIBUTE,level);
+                
+	String content_str = index_str;
+                
+	if (index_str.indexOf (StaticStrings.COLON_CHARACTER) !=-1) {
+	  content_str = index_str.substring (index_str.indexOf (StaticStrings.COLON_CHARACTER) + 1);
+	}
+                
+	StringTokenizer content_tokenizer = new StringTokenizer (content_str, StaticStrings.COMMA_CHARACTER);
+	while(content_tokenizer.hasMoreTokens ()) {
+	  Element content_element = document.createElement (StaticStrings.CONTENT_ELEMENT);
+	  content_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, content_tokenizer.nextToken ());
+	  command_element.appendChild (content_element);
+	  content_element = null;
+	}
+	content_tokenizer = null;
+	content_str = null;
+	content_str = null;
+	index_str = null;
+      }
+      tokenizer = null;
+    }
+    catch (Exception exception) {
+    }
+    return command_element;
+  }
+    
+  static private Element parseLanguage (String command_str, Document document) {
+    Element command_element = null;
+    try {
+      StringTokenizer tokenizer = new StringTokenizer (command_str);
+      tokenizer.nextToken ();
+      if(tokenizer.hasMoreTokens ()) {
+	command_element = document.createElement (StaticStrings.LANGUAGES_ELEMENT);
+	while(tokenizer.hasMoreTokens ()) {
+	  Element language_element = document.createElement (StaticStrings.LANGUAGE_ELEMENT);
+	  language_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, tokenizer.nextToken ());
+	  command_element.appendChild (language_element);
+	  language_element = null;
+	}
+      }
+      tokenizer = null;
+    }
+    catch (Exception exception) {
+    }
+    return command_element;
+  }
+    
+  static private Element parseLanguageDefault (String command_str, Document document) {
+    Element command_element = null;
+    try {
+      StringTokenizer tokenizer = new StringTokenizer (command_str);
+      if(tokenizer.countTokens () >= 2) {
+	command_element = document.createElement (StaticStrings.LANGUAGE_DEFAULT_ELEMENT);
+	tokenizer.nextToken ();
+	String default_language_str = tokenizer.nextToken ();
+	command_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, default_language_str);
+	command_element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+	default_language_str = null;
+      }
+      tokenizer = null;
+    }
+    catch (Exception exception) {
+    }
+    return command_element;
+  }
+    
+  static private Element parseLanguageMetadata (String command_str, Document document) {
+    Element command_element = null;
+    try {
+      StringTokenizer tokenizer = new StringTokenizer (command_str);
+      if(tokenizer.countTokens () >= 2) {
+	command_element = document.createElement (StaticStrings.LANGUAGE_METADATA_ELEMENT);
+	tokenizer.nextToken ();
+	String language_metadata_str = tokenizer.nextToken ();
+	if (language_metadata_str.indexOf (StaticStrings.NS_SEP) == -1) {
+	  language_metadata_str = StaticStrings.EXTRACTED_NAMESPACE + language_metadata_str;
+	}
+	command_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, language_metadata_str);
+	command_element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+	language_metadata_str = null;
+      }
+      tokenizer = null;
+            
+    }
+    catch (Exception exception) {
+    }
+    return command_element;
+  }
+    
+  static private Element parseIndexOptions (String command_str, Document document, String type, boolean assigned) {
+    Element command_element = null;
+    try {
+      StringTokenizer tokenizer = new StringTokenizer (command_str);
+      // First token is command type
+      String command = tokenizer.nextToken ();
+      if(tokenizer.hasMoreTokens ()) {
+	command_element = document.createElement (StaticStrings.INDEXOPTIONS_ELEMENT);
+	command_element.setAttribute (StaticStrings.NAME_ATTRIBUTE,type);
+	command_element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, (assigned ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR));
+	while(tokenizer.hasMoreTokens ()) {
+	  Element option_element = document.createElement (StaticStrings.INDEXOPTION_ELEMENT);
+	  option_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, tokenizer.nextToken ());
+	  command_element.appendChild (option_element);
+	  option_element = null;
+	}
+      }
+      command = null;
+    }
+    catch(Exception exception) {
+    }
+    return command_element;
+  }
+    
+  static private Element parseIndexOptionDefault (String command_str, Document document, String type, boolean assigned) {
+    Element command_element = null;
+    try {
+      StringTokenizer tokenizer = new StringTokenizer (command_str);
+      // First token is command type
+      String command = tokenizer.nextToken ();
+      if(tokenizer.hasMoreTokens ()) {
+	command_element = document.createElement (StaticStrings.INDEXOPTION_DEFAULT_ELEMENT);
+	command_element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, (assigned ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR)); // is it commented out or not?
+	command_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, type);
+	command_element.setAttribute (StaticStrings.VALUE_ATTRIBUTE, tokenizer.nextToken ());
+      }
+            
+      tokenizer = null;
+    }
+    catch (Exception exception) {
+    }
+    return command_element;
+  }
+    
+  static private Element parseMetadata (CommandTokenizer tokenizer, Document document) {
+    Element command_element = null;
+    try {
+      command_element = document.createElement (StaticStrings.COLLECTIONMETADATA_ELEMENT);
+      String name_str = tokenizer.nextToken ();
+      String value_str = tokenizer.nextToken ();
+      if(name_str != null && value_str != null) {
+	String language_str = Configuration.getLanguage ();
+	// Check if the value string is actually a language string
+	if(value_str.startsWith (StaticStrings.LBRACKET_CHARACTER) && value_str.endsWith (StaticStrings.RBRACKET_CHARACTER)) {
+	  language_str = value_str.substring (value_str.indexOf (StaticStrings.LANGUAGE_ARGUMENT) + 2, value_str.length () - 1);
+	  value_str = tokenizer.nextToken ();
+	}
+	if(value_str != null) {
+	  // Ready the value str (which can contain all sorts of funky characters) for writing as a DOM value
+	  value_str = Codec.transform (value_str, Codec.GREENSTONE_TO_DOM);
+	  command_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, name_str);
+	  command_element.setAttribute (StaticStrings.LANGUAGE_ATTRIBUTE, language_str);
+	  command_element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+	  XMLTools.setValue (command_element, value_str);
+	}
+	else {
+	  command_element = null;
+	}
+	language_str = null;
+      }
+      else {
+	command_element = null;
+      }
+      name_str = null;
+      value_str = null;
+    }
+    catch (Exception exception) {
+      DebugStream.printStackTrace (exception);
+      command_element = null;
+    }
+    return command_element;
+  }
+    
+  static private Element parseMetadataSpecial (String command_str, Document document) {
+    Element command_element = null;
+    try {
+      StringTokenizer tokenizer = new StringTokenizer (command_str);
+      if(tokenizer.countTokens () >= 2) {
+	String name_str = tokenizer.nextToken ();
+	String value_str = tokenizer.nextToken ();
+	if (name_str.equals (StaticStrings.COLLECTIONMETADATA_CREATOR_STR)) {
+	  command_element = document.createElement (StaticStrings.COLLECTIONMETADATA_CREATOR_ELEMENT);
+	}
+	else if(name_str.equals (StaticStrings.COLLECTIONMETADATA_MAINTAINER_STR)) {
+	  command_element = document.createElement (StaticStrings.COLLECTIONMETADATA_MAINTAINER_ELEMENT);
+	}
+	else if(name_str.equals (StaticStrings.COLLECTIONMETADATA_PUBLIC_STR)) {
+	  command_element = document.createElement (StaticStrings.COLLECTIONMETADATA_PUBLIC_ELEMENT);
+	}
+	else if (name_str.equals (StaticStrings.BUILDTYPE_STR)) {
+	  command_element = document.createElement (StaticStrings.BUILDTYPE_ELEMENT);
+	}
+	if(command_element != null) {
+	  command_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, name_str);
+	  command_element.setAttribute (StaticStrings.LANGUAGE_ATTRIBUTE, StaticStrings.ENGLISH_LANGUAGE_STR);
+	  command_element.setAttribute (StaticStrings.SPECIAL_ATTRIBUTE, StaticStrings.TRUE_STR);
+	  command_element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+	  if(value_str.startsWith (StaticStrings.SPEECH_CHARACTER) && value_str.endsWith (StaticStrings.SPEECH_CHARACTER)) {
+	    value_str = value_str.substring (1, value_str.length () - 1);
+	  }
+	  XMLTools.setValue (command_element, value_str);
+	}
+	value_str = null;
+	name_str = null;
+      }
+      tokenizer = null;
+    }
+    catch (Exception exception) {
+    }
+    return command_element;
+  }
+    
+  static private Element parsePlugin (String command_str, Document document) {
+    Element command_element = null;
+    try {
+      CommandTokenizer tokenizer = new CommandTokenizer (command_str);
+      // Check the token count. The token count from a command tokenizer isn't guarenteed to be correct, but it does give the maximum number of available tokens according to the underlying StringTokenizer (some of which may actually be append together by the CommandTokenizer as being a single argument).
+      if(tokenizer.countTokens () >= 2) {
+	command_element = document.createElement (StaticStrings.PLUGIN_ELEMENT);
+	// First token is plugin
+	tokenizer.nextToken ();
+	// The next token is the type
+	String type = tokenizer.nextToken ();
+	type = Utility.ensureNewPluginName(type);
+	command_element.setAttribute (StaticStrings.TYPE_ATTRIBUTE, type);
+	// Now we parse out the remaining arguments into a hashmapping from name to value
+	HashMap arguments = parseArguments (tokenizer);
+	// also watch out for the deprecated -use_metadata_files option to RecPlug and remove it
+	Iterator names = arguments.keySet ().iterator ();
+	while(names.hasNext ()) {
+	  String name = (String) names.next ();
+	  String value = (String) arguments.get (name); // Can be null
+                    
+	  if(type.equals (StaticStrings.RECPLUG_STR) && name.substring (1).equals (StaticStrings.USE_METADATA_FILES_ARGUMENT)) {
+	    continue; // ignore this option
+	  }
+	  Element option_element = document.createElement (StaticStrings.OPTION_ELEMENT);
+	  option_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, name.substring (1));
+	  option_element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+	  if(value != null) {
+	    // Remove any speech marks appended in strings containing whitespace
+	    if(value.startsWith (StaticStrings.SPEECH_CHARACTER) && value.endsWith (StaticStrings.SPEECH_CHARACTER)) {
+	      value = value.substring (1, value.length () - 1);
+	    }
+	    XMLTools.setValue (option_element, value);
+	  }
+	  command_element.appendChild (option_element);
+	  option_element = null;
+	  name = null;
+	  value = null;
+	}
+                
+	type = null;
+	names = null;
+	arguments = null;
+      }
+      tokenizer = null;
+    }
+    catch(Exception exception) {
+      // This catch clause had been left empty.  If this is deliberate then
+      // we should have a comment here explaining why there is no need to
+      // print anything out.  Am assuming this is mistake for now, and
+      // have added in a call to printStackTrace()
+      System.err.println("Malformed plugin statement");
+      exception.printStackTrace();
+    }
+    return command_element;
+  }
+    
+  /* search types are now handled as formats - leave this here to convert in case we have an old config file */
+  static private Element parseSearchType (String command_str, Document document) {
+    Element command_element = null;
+    try {
+      StringTokenizer tokenizer = new StringTokenizer (command_str);
+      // First token is command type (searchtype)
+      tokenizer.nextToken ();
+      if(tokenizer.hasMoreTokens ()) {
+	command_element = document.createElement (StaticStrings.FORMAT_ELEMENT);
+	command_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, "SearchTypes");
+	String value = tokenizer.nextToken ();
+	while(tokenizer.hasMoreTokens ()) {
+	  value += ","+tokenizer.nextToken ();
+	}
+	value = Codec.transform (value, Codec.GREENSTONE_TO_DOM);
+	XMLTools.setValue (command_element, value);
+      }
+    }
+    catch(Exception exception) {
+    }
+    return command_element;
+  }
+    
+  static private Element parseSubCollection (String command_str, Document document) {
+    Element command_element = null;
+    try {
+      CommandTokenizer tokenizer = new CommandTokenizer (command_str);
+      if(tokenizer.countTokens () >= 3) {
+	command_element = document.createElement (StaticStrings.SUBCOLLECTION_ELEMENT);
+	// First token is command type
+	tokenizer.nextToken ();
+	// Then subcollection identifier
+	command_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, tokenizer.nextToken ());
+	// Then finally the pattern used to build the subcollection partition
+	String full_pattern_str = tokenizer.nextToken ();
+	// Set inclusion/exclusion flag and remove any exclamation mark
+	boolean exclusion = full_pattern_str.startsWith (StaticStrings.EXCLAMATION_CHARACTER);
+	if (exclusion) {
+	  full_pattern_str = full_pattern_str.substring (1, full_pattern_str.length ());
+	  command_element.setAttribute (StaticStrings.TYPE_ATTRIBUTE, StaticStrings.EXCLUDE_STR);
+	}
+	else {
+	  command_element.setAttribute (StaticStrings.TYPE_ATTRIBUTE, StaticStrings.INCLUDE_STR);
+	}
+
+	// Let's make sure it is a valid Greenstone configuration line
+	String[] results = full_pattern_str.split("\\" + StaticStrings.SEPARATOR_CHARACTER, 3);
+
+	if (results.length >= 2) {
+	  String content_str = results[0];
+	  // Since the contents of indexes have to be certain keywords, or metadata elements, if the content isn't a keyword and doesn't yet have a namespace, append the extracted metadata namespace.
+	  if (!content_str.equals (StaticStrings.FILENAME_STR) && content_str.indexOf (StaticStrings.NS_SEP) == -1) {
+	    content_str = StaticStrings.EXTRACTED_NAMESPACE + content_str;
+	  }
+	  command_element.setAttribute (StaticStrings.CONTENT_ATTRIBUTE, content_str);
+	  XMLTools.setValue (command_element, results[1]);
+	  if (results.length >= 3) {
+	    command_element.setAttribute (StaticStrings.OPTIONS_ATTRIBUTE, results[2]);
+	  }
+	}
+      }
+    }
+    catch(Exception exception) {
+      exception.printStackTrace ();
+    }
+    return command_element;
+  }
+    
+  static private Element parseSubCollectionDefaultIndex (String command_str, Document document) {
+    Element command_element = null;
+    try {
+      StringTokenizer tokenizer = new StringTokenizer (command_str);
+      if(tokenizer.countTokens () == 2) {
+	command_element = document.createElement (StaticStrings.SUBCOLLECTION_DEFAULT_INDEX_ELEMENT);
+	tokenizer.nextToken ();
+	//command_element.setAttribute(CONTENT_ATTRIBUTE, tokenizer.nextToken());
+	String content_str = tokenizer.nextToken ();
+	StringTokenizer content_tokenizer = new StringTokenizer (content_str, StaticStrings.COMMA_CHARACTER);
+	while(content_tokenizer.hasMoreTokens ()) {
+	  Element content_element = document.createElement (StaticStrings.CONTENT_ELEMENT);
+	  content_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, content_tokenizer.nextToken ());
+	  command_element.appendChild (content_element);
+	  content_element = null;
+	}
+	content_tokenizer = null;
+	content_str = null;
+      }
+      tokenizer = null;
+    }
+    catch(Exception exception) {
+    }
+    return command_element;
+  }
+    
+  static private Element parseSubCollectionIndex (String command_str, Document document) {
+    Element command_element = null;
+    try {
+      StringTokenizer tokenizer = new StringTokenizer (command_str);
+      tokenizer.nextToken ();
+      if(tokenizer.hasMoreTokens ()) {
+	command_element = document.createElement (StaticStrings.SUBCOLLECTION_INDEXES_ELEMENT);
+      }
+      while(tokenizer.hasMoreTokens ()) {
+	Element subcollectionindex_element = document.createElement (StaticStrings.INDEX_ELEMENT);
+	//command_element.setAttribute(CONTENT_ATTRIBUTE, tokenizer.nextToken());
+	String content_str = tokenizer.nextToken ();
+	StringTokenizer content_tokenizer = new StringTokenizer (content_str, StaticStrings.COMMA_CHARACTER);
+	while(content_tokenizer.hasMoreTokens ()) {
+	  Element content_element = document.createElement (StaticStrings.CONTENT_ELEMENT);
+	  content_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, content_tokenizer.nextToken ());
+	  subcollectionindex_element.appendChild (content_element);
+	  content_element = null;
+	}
+	content_tokenizer = null;
+	content_str = null;
+	command_element.appendChild (subcollectionindex_element);
+	subcollectionindex_element = null;
+      }
+      tokenizer = null;
+    }
+    catch (Exception exception) {
+    }
+    return command_element;
+  }
+    
+  static private Element parseSuperCollection (String command_str, Document document) {
+    Element command_element = null;
+    try {
+      StringTokenizer tokenizer = new StringTokenizer (command_str);
+      if(tokenizer.countTokens () >= 3) {
+	command_element = document.createElement (StaticStrings.SUPERCOLLECTION_ELEMENT);
+	tokenizer.nextToken ();
+	while(tokenizer.hasMoreTokens ()) {
+	  Element collection_element = document.createElement (StaticStrings.COLLECTION_ELEMENT);
+	  collection_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, tokenizer.nextToken ());
+	  command_element.appendChild (collection_element);
+	  collection_element = null;
+	}
+      }
+      tokenizer = null;
+    }
+    catch(Exception exception) {
+    }
+    return command_element;
+  }
+    
+  static private String pluginToString (Element command_element) {
+    if(command_element.getAttribute (StaticStrings.SEPARATOR_ATTRIBUTE).equals (StaticStrings.TRUE_STR)) { 
+      return "";
+    }
+    StringBuffer text = new StringBuffer (StaticStrings.PLUGIN_STR);
+    text.append (StaticStrings.TAB_CHARACTER);
+    text.append (command_element.getAttribute (StaticStrings.TYPE_ATTRIBUTE));
+    // Retrieve, and output, the arguments
+    NodeList option_elements = command_element.getElementsByTagName (StaticStrings.OPTION_ELEMENT);
+    int option_elements_length = option_elements.getLength ();
+    if(option_elements_length > 0) {
+      for(int j = 0; j < option_elements_length; j++) {
+	Element option_element = (Element) option_elements.item (j);
+	if(option_element.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.TRUE_STR)) {
+	  text.append (StaticStrings.SPACE_CHARACTER);
+	  text.append (StaticStrings.MINUS_CHARACTER);
+	  text.append (option_element.getAttribute (StaticStrings.NAME_ATTRIBUTE));
+	  String value_str = XMLTools.getValue (option_element);
+	  if (value_str.length () > 0) {
+	    text.append (StaticStrings.SPACE_CHARACTER);
+	    if(value_str.indexOf (StaticStrings.SPACE_CHARACTER) != -1) {
+	      // enclose in quotes
+	      text.append(StaticStrings.SPEECH_CHARACTER);
+	      text.append(value_str);
+	      text.append(StaticStrings.SPEECH_CHARACTER);
+	    } else {
+		    
+	      text.append(value_str);
+	    }
+	  }
+	      
+	  value_str = null;
+	}
+	option_element = null;
+      }
+    }
+    option_elements = null;
+	
+    return text.toString ();
+  }
+
+  static public String generateStringVersion(Document document) {
+
+    StringBuffer collect_cfg_string_buffer = new StringBuffer ();
+    NodeList command_elements = document.getDocumentElement ().getChildNodes ();
+    boolean just_wrote_blank_line = false;  // Prevent two or more blank lines in a row
+    for (int i = 0; i < command_elements.getLength (); i++) {
+      Node command_node = command_elements.item (i);
+      if (!(command_node instanceof Element)) {
+	// We're only interested in Elements
+	continue;
+      }
+      Element command_element = (Element) command_node;
+            
+      // Handle NewLine elements (blank lines)
+      if (command_element.getNodeName ().equals (CollectionConfiguration.NEWLINE_ELEMENT) && !just_wrote_blank_line) {
+	collect_cfg_string_buffer.append ("\n");
+	just_wrote_blank_line = true;
+      }
+            
+      // Anything else we write to file, but only if it has been assigned, except for index and level commands
+      // (which just get commented out if unassigned -- a side effect of MG & MGPP compatibility)
+      else if (!command_element.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR) || command_element.getNodeName ().equals (StaticStrings.INDEXES_ELEMENT) || command_element.getNodeName ().equals (StaticStrings.INDEX_DEFAULT_ELEMENT) || command_element.getNodeName ().equals (StaticStrings.INDEXOPTIONS_ELEMENT) || command_element.getNodeName ().equals (StaticStrings.INDEXOPTION_DEFAULT_ELEMENT)) {
+	String command = toString(command_element);
+                
+	if (command != null && command.length ()> 0 ) {
+	  collect_cfg_string_buffer.append (command + "\n");
+	  just_wrote_blank_line = false;
+	}
+      }
+    }
+        
+    return collect_cfg_string_buffer.toString ();
+  }
+
+   
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CollectionConfigXMLReadWrite.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CollectionConfigXMLReadWrite.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CollectionConfigXMLReadWrite.java	(revision 21123)
@@ -0,0 +1,2067 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Methods to read collectionConfig.xml files into internal XML form, and write 
+ * them back out again.
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.StringTokenizer;
+
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataTools;
+import org.greenstone.gatherer.util.XMLTools;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+
+import org.w3c.dom.*;
+
+public class CollectionConfigXMLReadWrite {
+
+  static final private String PLUGOUT_ELEMENT = "plugout";//used by building flax collections
+
+  /** ********************************************************************************************************
+      The code from this point below are used for greenstone 3 collection configuration, i.e., read ColletionConfig.xml
+      * into the internal DOM tree, and convert the internal DOM tree back to CollectionConfig.xml.
+      *
+      Methods named 'doXXXX' are for convert collectionConfig.xml into the internal configuration xml structure;
+      Methods named 'convertXXXX' are for convert the internal configuration xml structure back to collectionConfig.xml.
+      ************************************************************************************************************ */
+    
+  /**Arguments:  metadataListNode->the 'displayItemList' element in collectionConfig.xml
+     name_value->the value of the 'name' attribute of 'index' element;
+     att_value->the value of the 'name' attribute of 'displayItem' element
+     return:     an ArrayList of the contructed 'CollectionMetadata' elements
+  */
+  static private ArrayList doDisplayItemList (Document to, Node displayListNode, String att_value, String name_value) {
+    Element toElement = to.getDocumentElement ();
+    ArrayList display_item_list = new ArrayList ();
+    ArrayList item_list = XMLTools.getNamedElementList ((Element)displayListNode,
+							StaticStrings.DISPLAYITEM_STR, StaticStrings.NAME_ATTRIBUTE, att_value);
+    if (item_list == null) {
+      return null;
+    }
+        
+    for (int i=0; i<item_list.size (); i++) {
+      Element item = (Element)item_list.get (i);
+      String text = XMLTools.getNodeText (item);
+            
+      //If there is nothing to display, don't bother creating the element
+      if (text == "") {
+	continue;
+      }
+      //get the value in 'lang=value'
+      String lang = item.getAttribute (StaticStrings.LANG_STR);
+            
+      Element e = to.createElement (StaticStrings.COLLECTIONMETADATA_ELEMENT);
+      e.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+      e.setAttribute (StaticStrings.NAME_ATTRIBUTE, name_value);
+      e.setAttribute (StaticStrings.LANGUAGE_ATTRIBUTE, lang);
+      XMLTools.setNodeText (e, text);
+      display_item_list.add (e);
+    }
+    return display_item_list;
+  }
+    
+  static private ArrayList doMetadataList (Document to, Node metadataListNode, String ele_name, String att_value) {
+    Element toElement = to.getDocumentElement ();
+    ArrayList metadata_list = new ArrayList ();
+        
+    ArrayList item_list = XMLTools.getNamedElementList ((Element)metadataListNode,
+							StaticStrings.METADATA_STR, StaticStrings.NAME_ATTRIBUTE, att_value);
+    if (item_list == null) {
+      return null;
+    }
+        
+    for (int i=0; i<item_list.size (); i++) {
+      Element item = (Element)item_list.get (i);
+      String text = XMLTools.getNodeText (item);
+            
+      //If there is nothing to display, don't bother creating the element
+      if (text == "") {
+	continue;
+      }
+      //get the value in 'lang=value'
+      String lang = item.getAttribute (StaticStrings.LANG_STR);
+            
+      Element element = to.createElement (ele_name);
+      element.setAttribute (StaticStrings.NAME_ATTRIBUTE, att_value);
+      element.setAttribute (StaticStrings.LANGUAGE_ATTRIBUTE, lang);
+      element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+      element.setAttribute (StaticStrings.SPECIAL_ATTRIBUTE, StaticStrings.TRUE_STR);
+      XMLTools.setNodeText (element, text);
+            
+      metadata_list.add (element);
+    }
+    return metadata_list;
+  }
+  // 'to' is the internal structure
+  static private void doMGIndexes (Document to, Node searchNode) {
+    Element toElement = to.getDocumentElement ();
+    Element indexes_element = to.createElement (StaticStrings.INDEXES_ELEMENT);//<Indexes>
+    indexes_element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+    indexes_element.setAttribute (StaticStrings.MGPP_ATTRIBUTE, StaticStrings.FALSE_STR);
+        
+    NodeList index_children = ((Element)searchNode).getElementsByTagName (StaticStrings.INDEX_LOW_STR);//index
+    int num_nodes = index_children.getLength ();
+        
+    for (int i=0; i<num_nodes; i++) {
+      Element e = (Element)index_children.item (i);
+      String index_str = e.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+      String index_str_display = index_str;//used for creating collectionmetadata for this index
+      Element index_element = to.createElement (StaticStrings.INDEX_ELEMENT);//<Index>
+            
+      // For mg, it's the 'Old G2.38 and earlier' that use level:source tuplets, but we double check it anyway
+      boolean old_index = true;
+      if(index_str.indexOf (StaticStrings.COLON_CHARACTER) == -1) {
+	// It doesn't contain ':' character
+	System.err.println ("Something is wrong! the index should be level:source tuplets.");
+	old_index = false;
+      }
+      else {
+	// Handling 'index' element
+	index_element.setAttribute (StaticStrings.LEVEL_ATTRIBUTE,
+				    index_str.substring (0, index_str.indexOf (StaticStrings.COLON_CHARACTER)));
+	index_str = index_str.substring (index_str.indexOf (StaticStrings.COLON_CHARACTER) + 1);
+                
+	//Each index may have a list of comma-separated strings.
+	//split them into 'content' elements in the internal structure
+	StringTokenizer content_tokenizer = new StringTokenizer (index_str, StaticStrings.COMMA_CHARACTER);
+	//index_str = "";
+	while(content_tokenizer.hasMoreTokens ()) {
+	  // Replace index_str to be qualified name, eg. dc.Subject and keywords insread of dc.Subject.
+                    
+                    
+	  Element content_element = to.createElement (StaticStrings.CONTENT_ELEMENT);
+	  String content_str = content_tokenizer.nextToken ();
+	  // Since the contents of indexes have to be certain keywords, or metadata elements,
+	  //if the content isn't a keyword and doesn't yet have a namespace, append the extracted metadata namespace.
+	  if(content_str.indexOf (StaticStrings.NS_SEP) == -1) {
+	    if(content_str.equals (StaticStrings.TEXT_STR) ||
+	       (!old_index && content_str.equals (StaticStrings.ALLFIELDS_STR))) {
+	      // in this case, do nothing
+	    }
+	    else {
+	      content_str = StaticStrings.EXTRACTED_NAMESPACE + content_str;
+	    }
+	  }
+                    
+	  content_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, content_str);
+	  index_element.appendChild (content_element);
+	  content_element = null;
+	} 	// while ends
+                
+	indexes_element.appendChild (index_element);
+                
+	// Handling 'displayItem' elements and Constructing 'collectionmetadata' elements
+	// Use the fully qualified index names
+	ArrayList collectionmetadata_list = doDisplayItemList (to, e, StaticStrings.NAME_ATTRIBUTE, index_str_display);
+	appendArrayList (toElement, collectionmetadata_list);
+      } //else ends
+    } //for loop ends
+    appendProperly (toElement, indexes_element);
+        
+    //***//
+    // create another set of <indexes> which will be used when user switches to MGPP/LUCENE
+    // i.e. we build a default index set for a start
+        
+    String []index_strs =
+      {StaticStrings.TEXT_STR,
+       StaticStrings.EXTRACTED_NAMESPACE + StaticStrings.TITLE_ELEMENT,
+       StaticStrings.EXTRACTED_NAMESPACE + StaticStrings.SOURCE_ELEMENT};
+         
+    Element mgpp_indexes = to.createElement (StaticStrings.INDEXES_ELEMENT);//<Indexes>
+    mgpp_indexes.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.FALSE_STR);
+    mgpp_indexes.setAttribute (StaticStrings.MGPP_ATTRIBUTE, StaticStrings.TRUE_STR);
+    for (int i=0; i<index_strs.length; i++) {
+      Element index_element = to.createElement (StaticStrings.INDEX_ELEMENT);//<Index>
+      Element content_element = to.createElement (StaticStrings.CONTENT_ELEMENT);
+      content_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, index_strs[i]);
+      index_element.appendChild (content_element);
+      mgpp_indexes.appendChild (index_element);
+             
+      // Contructing 'collectionmetadata' elements for 'mgpp' indexes
+      Element collectionmetadata = to.createElement (StaticStrings.COLLECTIONMETADATA_ELEMENT);
+      collectionmetadata.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+      collectionmetadata.setAttribute (StaticStrings.NAME_ATTRIBUTE, index_strs[i]);
+      collectionmetadata.setAttribute (StaticStrings.LANGUAGE_ATTRIBUTE, StaticStrings.ENGLISH_LANGUAGE_STR);
+      if (index_strs[i].indexOf (StaticStrings.NS_SEP) != -1) {
+	index_strs[i] = index_strs[i].substring (index_strs[i].indexOf (StaticStrings.NS_SEP) + 1);
+      }
+      XMLTools.setNodeText (collectionmetadata, index_strs[i]);
+             
+      appendProperly (toElement, collectionmetadata);
+             
+    }
+    appendProperly (toElement, mgpp_indexes);
+  }
+    
+  //This is actually doing indexes for both mgpp and lucene
+  static private void doMGPPIndexes (Document to, Node searchNode) {
+    Element toElement = to.getDocumentElement ();
+    Element indexes_element = to.createElement (StaticStrings.INDEXES_ELEMENT);//<Indexes>
+    indexes_element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+    indexes_element.setAttribute (StaticStrings.MGPP_ATTRIBUTE, StaticStrings.TRUE_STR);
+        
+    NodeList index_children = ((Element)searchNode).getElementsByTagName (StaticStrings.INDEX_LOW_STR);//index
+    int num_nodes = index_children.getLength ();
+        
+    for (int i=0; i<num_nodes; i++) {
+            
+      Element index_element = to.createElement (StaticStrings.INDEX_ELEMENT);//<Index>
+      Element e = (Element)index_children.item (i);
+      String index_str = e.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+      String index_str_display = index_str;//for creating collectionmetadata for this index 
+            
+      // Handling 'index' element
+      // Double check to make sure it's not colon separated style index.
+      boolean old_index = false;
+      if(index_str.indexOf (StaticStrings.COLON_CHARACTER) != -1) {
+	System.err.println ("Something is wrong! the index should NOT be level:source tuplets style.");
+	old_index = true;
+      }
+      //Each index may have a list of comma-separated strings.
+      //split them into 'content' elements in the internal structure
+      StringTokenizer content_tokenizer = new StringTokenizer (index_str, StaticStrings.COMMA_CHARACTER);
+      //index_str = "";
+      while(content_tokenizer.hasMoreTokens ()) {
+	// Replace index_str to be qualified name, eg. dc.Subject and keywords insread of dc.Subject.             
+                
+	Element content_element = to.createElement (StaticStrings.CONTENT_ELEMENT);
+	String content_str = content_tokenizer.nextToken ();
+	// Since the contents of indexes have to be certain keywords, or metadata elements, if the content isn't a keyword and doesn't yet have a namespace, append the extracted metadata namespace.
+	if(content_str.indexOf (StaticStrings.NS_SEP) == -1) {
+	  if(content_str.equals (StaticStrings.TEXT_STR)) {
+	    // in this case, do nothing
+	  }
+	  else {
+	    content_str = StaticStrings.EXTRACTED_NAMESPACE + content_str;
+	  }
+	}
+	content_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, content_str);
+	index_element.appendChild (content_element);
+	content_element = null;
+      } //while ends
+            
+      indexes_element.appendChild (index_element);
+            
+            
+      index_element = null;
+            
+      // Handling 'displayItem' element of this 'index' element
+      // 'e' is the parent element 'index' of 'displayItem' element
+      ArrayList collectionmetadata_list = doDisplayItemList (to, e, StaticStrings.NAME_ATTRIBUTE, index_str_display);
+      appendArrayList (toElement, collectionmetadata_list);
+            
+            
+    } // for loop ends
+    toElement.appendChild (indexes_element);
+        
+    // create another set of <indexes> which will be used when user switches to MG
+    // i.e. we build a default index set for a start
+    Element mg_indexes = to.createElement (StaticStrings.INDEXES_ELEMENT);//<Indexes>
+    mg_indexes.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.FALSE_STR);
+    mg_indexes.setAttribute (StaticStrings.MGPP_ATTRIBUTE, StaticStrings.FALSE_STR);
+        
+    //put the namespace '.ex' as prefix to the indexes
+    String []index_strs =
+      {StaticStrings.TEXT_STR,
+       StaticStrings.EXTRACTED_NAMESPACE + StaticStrings.TITLE_ELEMENT,
+       StaticStrings.EXTRACTED_NAMESPACE + StaticStrings.SOURCE_ELEMENT};
+    for (int i=0; i<index_strs.length; i++) {
+      Element index_element = to.createElement (StaticStrings.INDEX_ELEMENT);//<Index>
+      index_element.setAttribute (StaticStrings.LEVEL_ATTRIBUTE, StaticStrings.DOCUMENT_STR);
+      Element content_element = to.createElement (StaticStrings.CONTENT_ELEMENT);
+      content_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, index_strs[i]);
+      index_element.appendChild (content_element);
+             
+      mg_indexes.appendChild (index_element);
+             
+      // Contructing 'collectionmetadata' elements for 'mg' indexes
+      Element collectionmetadata = to.createElement (StaticStrings.COLLECTIONMETADATA_ELEMENT);
+      collectionmetadata.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+      String temp = StaticStrings.DOCUMENT_STR.concat (StaticStrings.COLON_CHARACTER).concat (index_strs[i]);
+      collectionmetadata.setAttribute (StaticStrings.NAME_ATTRIBUTE, temp);
+      collectionmetadata.setAttribute (StaticStrings.LANGUAGE_ATTRIBUTE, StaticStrings.ENGLISH_LANGUAGE_STR);
+      if (index_strs[i].indexOf (StaticStrings.NS_SEP) != -1) {
+	index_strs[i] = index_strs[i].substring (index_strs[i].indexOf (StaticStrings.NS_SEP) + 1);
+      }
+      XMLTools.setNodeText (collectionmetadata, index_strs[i]);
+             
+      appendProperly (toElement, collectionmetadata);
+             
+    }
+    toElement.appendChild (mg_indexes);
+         
+  }
+    
+  static private void doDisplayFormat (Document to, Element from) {
+    //display element in the xml file
+    Element de = (Element)XMLTools.getChildByTagName (from, StaticStrings.DISPLAY_STR);
+    if (de == null) {
+      return;
+    }
+    //format element in the display element
+    Element fe = (Element)XMLTools.getChildByTagName (de, StaticStrings.FORMAT_STR);
+
+    to.getDocumentElement ().appendChild (doFormat(to, fe, StaticStrings.DISPLAY_STR));
+  }
+
+  //construct 'DefaultIndex' element in the internal structure from collectionConfig.xml
+  static private void doDefaultIndex (Document to, Node searchNode) {
+    Element toElement = to.getDocumentElement ();
+    Element default_index_element = to.createElement (StaticStrings.INDEX_DEFAULT_ELEMENT);
+    default_index_element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+        
+    Element e = (Element)XMLTools.getChildByTagName (searchNode, StaticStrings.INDEX_DEFAULT_ELEMENT_LOWERCASE);//defaultIndex
+    if (e == null) {
+      return;
+    }
+    String index_str = e.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+        
+    boolean old_index = false;
+    if(index_str.indexOf (StaticStrings.COLON_CHARACTER) != -1) {
+      //The index is 'level:source tuplets' which is for mg. Take out 'level'
+      old_index = true;
+      default_index_element.setAttribute (StaticStrings.LEVEL_ATTRIBUTE,
+					  index_str.substring (0, index_str.indexOf (StaticStrings.COLON_CHARACTER)));
+      index_str = index_str.substring (index_str.indexOf (StaticStrings.COLON_CHARACTER) + 1);
+    } else {
+      default_index_element.setAttribute (StaticStrings.LEVEL_ATTRIBUTE, "");
+    }
+        
+    //Each index may have a list of comma-separated strings.
+    //split them into 'content' elements in the internal structure
+    StringTokenizer content_tokenizer = new StringTokenizer (index_str, StaticStrings.COMMA_CHARACTER);
+    while(content_tokenizer.hasMoreTokens ()) {
+      Element content_element = to.createElement (StaticStrings.CONTENT_ELEMENT);
+      String content_str = content_tokenizer.nextToken ();
+      // Since the contents of indexes have to be certain keywords, or metadata elements, if the content isn't a keyword and doesn't yet have a namespace, append the extracted metadata namespace.
+      if(content_str.indexOf (StaticStrings.NS_SEP) == -1) {
+	if(content_str.equals (StaticStrings.TEXT_STR) ||
+	   (!old_index && content_str.equals (StaticStrings.ALLFIELDS_STR))) {
+	  // in this case, do nothing
+	}
+	else {
+	  content_str = StaticStrings.EXTRACTED_NAMESPACE + content_str;
+	}
+      }
+
+      content_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, content_str);
+      default_index_element.appendChild (content_element);
+      content_element = null;
+    }
+    appendProperly (toElement, default_index_element);
+  }
+  // For mg, this method is still called, but make it 'assigned=false'
+  static private void doDefaultLevel (Document to, Node searchNode) {
+    Element toElement = to.getDocumentElement ();
+    Element default_index_option = to.createElement (StaticStrings.INDEXOPTION_DEFAULT_ELEMENT);
+    default_index_option.setAttribute (StaticStrings.NAME_STR, StaticStrings.LEVEL_DEFAULT_STR);
+        
+    Element e = (Element)XMLTools.getChildByTagName (searchNode, StaticStrings.LEVEL_DEFAULT_ELEMENT);
+    if (e != null) {
+      default_index_option.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+      String level = e.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+      default_index_option.setAttribute (StaticStrings.VALUE_ATTRIBUTE, level);
+    } else {
+      //In the case of mg, there's no level! build a default one using 'assigned=false value=document'
+      default_index_option.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.FALSE_STR);
+      default_index_option.setAttribute (StaticStrings.VALUE_ATTRIBUTE, StaticStrings.DOCUMENT_STR);
+    }
+    appendProperly (toElement, default_index_option);
+  }
+    
+  // Transform plugins (pluginListNode) of collectionConfig.xml into the internal structure (i.e. Document to)
+  static private void doPlugin (Document to, Node pluginListNode) {
+    Element toElement = to.getDocumentElement ();
+    NodeList plugin_children = ((Element)pluginListNode).getElementsByTagName (StaticStrings.PLUGIN_STR);
+    int plugin_nodes = plugin_children.getLength ();
+        
+    if (plugin_nodes < 1) {
+      return;
+    }
+        
+    for (int i=0; i<plugin_nodes; i++) {
+      Element e = (Element)plugin_children.item (i);
+      String str = e.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+      str = Utility.ensureNewPluginName(str);
+      Element plugin_element = to.createElement (StaticStrings.PLUGIN_ELEMENT);
+      plugin_element.setAttribute (StaticStrings.TYPE_ATTRIBUTE, str);
+            
+            
+      NodeList option_children = e.getElementsByTagName (StaticStrings.OPTION_STR);
+            
+      for (int j=0; j<option_children.getLength (); j++) {
+	Element el = (Element)option_children.item (j);
+	String name_str = el.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+	if (name_str.startsWith (StaticStrings.MINUS_CHARACTER)) {
+	  name_str = name_str.substring (1);
+	}
+	String value_str = el.getAttribute (StaticStrings.VALUE_ATTRIBUTE);
+	Element option_element = null;
+                
+	if (name_str.equals ("") && !value_str.equals ("")) {
+	  continue;
+	}
+                
+                
+	option_element = to.createElement (StaticStrings.OPTION_ELEMENT);
+	option_element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+	if(name_str.equals (StaticStrings.RECPLUG_STR) && value_str.equals (StaticStrings.USE_METADATA_FILES_ARGUMENT)) {
+	  continue; // ignore this option
+	}
+                
+	if(value_str != null) {
+	  // Remove any speech marks appended in strings containing whitespace
+	  if(value_str.startsWith (StaticStrings.SPEECH_CHARACTER) && value_str.endsWith (StaticStrings.SPEECH_CHARACTER)) {
+	    value_str = value_str.substring (1, value_str.length () - 1);
+	  }
+	  if(name_str.equals (StaticStrings.METADATA_STR)) {
+	    // The metadata argument must be the fully qualified name of a metadata element, so if it doesn't yet have a namespace, append the extracted metadata namespace.
+	    String[] values = value_str.split (StaticStrings.COMMA_CHARACTER);
+	    value_str = "";
+	    for (int k=0; k<=values.length-1; k++) {
+	      if (values[k].indexOf (StaticStrings.NS_SEP) == -1) {
+		values[k] = StaticStrings.EXTRACTED_NAMESPACE + values[k];
+	      }
+
+	      if (k < values.length-1) {
+		value_str = value_str + values[k] + StaticStrings.COMMA_CHARACTER;
+                                
+	      } else {
+		value_str = value_str + values[k];
+	      }
+	    }
+	  }
+	}
+	if (!name_str.equals ("")) {
+	  option_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, name_str);
+	}
+	if (!value_str.equals ("")) {
+	  XMLTools.setNodeText (option_element, value_str);
+	}
+	plugin_element.appendChild (option_element);
+                
+      }
+            
+      appendProperly (toElement, plugin_element);
+    }
+        
+  }
+    
+  //Handle classifiers
+  static private void doClassifier (Document to, Node browseNode) {
+    Element toElement = to.getDocumentElement ();
+    NodeList classifier_children = ((Element)browseNode).getElementsByTagName (StaticStrings.CLASSIFIER_STR);
+    int num_nodes = classifier_children.getLength ();
+        
+    if (num_nodes < 1) {
+      return;
+    }
+        
+    for (int i=0; i<num_nodes; i++) {
+      Element e = (Element)classifier_children.item (i);
+      String str = e.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+      Element classify_element = to.createElement (StaticStrings.CLASSIFY_ELEMENT);
+      classify_element.setAttribute (StaticStrings.TYPE_ATTRIBUTE, str);
+            
+      String options_str = "";
+      NodeList option_children = e.getElementsByTagName (StaticStrings.OPTION_STR);
+      for (int j=0; j<option_children.getLength (); j++) {
+	Element el = (Element)option_children.item (j);
+	String name_str = el.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+	options_str = options_str + ((name_str.equals(""))? "" : (" " + name_str));
+	if (name_str.startsWith (StaticStrings.MINUS_CHARACTER)) {
+	  name_str = name_str.substring (1);
+	}
+	String value_str = el.getAttribute (StaticStrings.VALUE_ATTRIBUTE);
+	options_str = options_str + ((name_str.equals(""))? "" : (" " + value_str));
+	Element option_element = null;
+                
+	if (name_str.equals ("") && !value_str.equals ("")) {
+	  continue; //invalid condition
+	}
+                
+	option_element = to.createElement (StaticStrings.OPTION_ELEMENT);
+	option_element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+                
+	if (!name_str.equals ("")) {
+	  option_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, name_str);
+	}
+                
+	if (!value_str.equals ("") && name_str.equals (StaticStrings.METADATA_STR)) {
+	  // The metadata argument must be the fully qualified name of a metadata element, so if it doesn't yet have a namespace, append the extracted metadata namespace.
+	  String[] values = value_str.split (StaticStrings.COMMA_CHARACTER);
+	  value_str = "";
+	  for (int k=0; k<=values.length-1; k++) {
+	    if (values[k].indexOf (StaticStrings.NS_SEP) == -1) {
+	      values[k] = StaticStrings.EXTRACTED_NAMESPACE + values[k];
+	    }
+	    else {
+	      MetadataElement metadata_element = MetadataTools.getMetadataElementWithName (values[k]);
+	      if (metadata_element != null) {
+		values[k] = metadata_element.getDisplayName ();
+	      }
+	    }
+	    if (k < values.length-1) {
+	      value_str = value_str + values[k] + StaticStrings.COMMA_CHARACTER;
+	    } else {
+	      value_str = value_str + values[k];
+	    }
+	  }
+	}
+                
+	if (value_str != null && !value_str.equals ("")) {
+	  XMLTools.setNodeText (option_element, value_str);
+	}
+	classify_element.appendChild (option_element);
+      }
+      //format element for this classifier
+      Element format = (Element)XMLTools.getChildByTagName (e, StaticStrings.FORMAT_STR);
+      if(format != null) {
+	classify_element.appendChild (doFormat(to, format, null));
+      }
+      appendProperly (toElement, classify_element);
+    }
+        
+    // default format statement for all classifiers
+    Element default_classifier_format = (Element)XMLTools.getChildByTagName (browseNode, StaticStrings.FORMAT_STR);
+
+    to.getDocumentElement ().appendChild (doFormat(to, default_classifier_format, StaticStrings.BROWSE_STR));
+  }
+  static private Element doFormat(Document to, Element format, String name_str) {
+    Element format_element = to.createElement (StaticStrings.FORMAT_STR);
+    if (name_str != null) {
+      format_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, name_str);
+    }
+    if (format != null) {
+      String gsf_text = XMLTools.xmlNodeToStringWithoutIndenting(format);
+               
+      if (gsf_text.startsWith("<") && (gsf_text.indexOf("<") != gsf_text.lastIndexOf("<"))) {
+	gsf_text = gsf_text.substring(gsf_text.indexOf("<gsf"),
+				      gsf_text.indexOf(StaticStrings.FORMAT_END_TAG));
+      }
+                
+      XMLTools.setNodeText(format_element, gsf_text);
+    }
+    return format_element;
+  }
+  // Handling 'subcollection' elements in 'search' element of 'collectionConfig.xml'
+  static private void doSubcollection (Document to, Node searchNode) {
+    Element toElement = to.getDocumentElement ();
+    NodeList sub_children = ((Element)searchNode).getElementsByTagName (StaticStrings.SUBCOLLECTION_STR);
+    int sub_nodes = sub_children.getLength ();
+        
+    // There is no subcollection
+    if (sub_nodes < 1) {
+      return;
+    }
+        
+    for (int i=0; i<sub_nodes; i++) {
+      Element sub_child = (Element)sub_children.item (i);
+      String name_str = sub_child.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+      String filter_str = sub_child.getAttribute (StaticStrings.FILTER_ATTRIBUTE);
+            
+      // filter_str is in the form '<! (if set)><metadata>/<metadata value>/<flag (if any)>'
+            
+      int pos = filter_str.indexOf (StaticStrings.SEPARATOR_CHARACTER);
+      String meta_str = "";
+      String meta_value_str = "";
+      String clude_str = "";
+      String flag_str = "";
+      if (pos == -1) {
+                
+	meta_str = meta_value_str = filter_str;
+	clude_str = StaticStrings.INCLUDE_STR;
+      } else {
+	clude_str = StaticStrings.INCLUDE_STR;
+	if (filter_str.startsWith (StaticStrings.EXCLAMATION_CHARACTER)) {
+	  clude_str = StaticStrings.EXCLUDE_STR;
+	  // Peel off "!"
+	  filter_str = filter_str.substring (StaticStrings.EXCLAMATION_CHARACTER.length ());
+	}
+                
+	String[] strs = filter_str.split (StaticStrings.SEPARATOR_CHARACTER);
+	if (strs[0] != null && strs[0] != "") {
+	  meta_str = strs[0];
+	}
+	if(!meta_str.equals (StaticStrings.FILENAME_STR) && meta_str.indexOf (StaticStrings.NS_SEP) == -1) {
+	  meta_str = StaticStrings.EXTRACTED_NAMESPACE + meta_str;
+	}
+                
+	if (strs[1] != null && strs[1] != "") {
+	  meta_value_str = strs[1];
+	}
+	if (strs.length > 2) {
+	  //This means there has been set a flag
+	  if (strs[2] != null && strs[2] != "") {
+	    flag_str = strs[2];
+	  }
+	}
+      }
+      Element subcollection_element = to.createElement (StaticStrings.SUBCOLLECTION_ELEMENT);
+      subcollection_element.setAttribute (StaticStrings.NAME_STR, name_str);
+      subcollection_element.setAttribute (StaticStrings.CONTENT_ATTRIBUTE, meta_str);
+      subcollection_element.setAttribute (StaticStrings.TYPE_ATTRIBUTE, clude_str);
+      if (flag_str != "") {
+	subcollection_element.setAttribute (StaticStrings.OPTIONS_ATTRIBUTE, flag_str);
+      }
+      XMLTools.setNodeText (subcollection_element, meta_value_str);
+            
+      toElement.appendChild (subcollection_element);
+    }
+  }
+  //Handle levels (document, section). In the internal structure, the element is called 'IndexOption'
+  static private void doLevel (Document to, Node searchNode) {
+    Element toElement = to.getDocumentElement ();
+    NodeList level_children = ((Element)searchNode).getElementsByTagName (StaticStrings.LEVEL_ATTRIBUTE);
+    int level_nodes = level_children.getLength ();
+        
+    // it's mg, there's no level. So we construct a default 'indexOption' in the internal structure
+    if (level_nodes < 1) {
+      Element index_option = to.createElement (StaticStrings.INDEXOPTIONS_ELEMENT);
+      index_option.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.FALSE_STR);
+      index_option.setAttribute (StaticStrings.NAME_STR, StaticStrings.LEVELS_STR);
+            
+      Element option_element = to.createElement (StaticStrings.OPTION_ELEMENT);
+      option_element.setAttribute (StaticStrings.NAME_STR, StaticStrings.DOCUMENT_STR);
+      index_option.appendChild (option_element);
+            
+      appendProperly (toElement, index_option);
+            
+      return;
+    }
+        
+    Element index_option = to.createElement (StaticStrings.INDEXOPTIONS_ELEMENT);
+    index_option.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+    index_option.setAttribute (StaticStrings.NAME_STR, StaticStrings.LEVELS_STR);
+        
+    for (int i=0; i<level_nodes; i++) {
+      Element level_element = (Element)level_children.item (i);
+      String level_str = level_element.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+      Element option_element = to.createElement (StaticStrings.OPTION_ELEMENT);
+      option_element.setAttribute (StaticStrings.NAME_STR, level_str);
+      index_option.appendChild (option_element);
+            
+            
+      // Contructing 'collectionmetadata' elements from the 'displayItem' of this 'level' element
+      ArrayList displayItem_list = XMLTools.getNamedElementList (level_element,
+								 StaticStrings.DISPLAYITEM_STR, StaticStrings.NAME_ATTRIBUTE, StaticStrings.NAME_STR);
+      if (displayItem_list == null) {
+	return ;
+      }
+      for (int j=0; j<displayItem_list.size (); j++) {
+	Element item = (Element)displayItem_list.get (j);
+	String text = XMLTools.getNodeText (item);
+	String lang = item.getAttribute (StaticStrings.LANG_ATTRIBUTE);
+                
+	//If there is nothing to display, don't bother creating the element
+	if (text == "") {
+	  continue;
+	}
+	Element collectionmetadata = to.createElement (StaticStrings.COLLECTIONMETADATA_ELEMENT);
+	collectionmetadata.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+	collectionmetadata.setAttribute (StaticStrings.NAME_ATTRIBUTE, level_str);
+	collectionmetadata.setAttribute (StaticStrings.LANGUAGE_ATTRIBUTE, lang);
+	XMLTools.setNodeText (collectionmetadata, text);
+                
+	appendProperly (toElement, collectionmetadata);
+      }
+    }
+    appendProperly (toElement, index_option);
+  }
+  //Handle 'indexSubcollection' element of collectionConfig.xml,  which is called 'SubcollectionIndexes' in the internal structure. These contain the subcollection indexes (i.e. the filter or filter combinations), and displayed words for the filter names.
+  static private void doIndexSubcollection (Document to, Node searchNode) {
+    Element toElement = to.getDocumentElement ();
+    NodeList index_sub_children = ((Element)searchNode).getElementsByTagName (StaticStrings.SUBCOLLECTION_INDEX_ELEMENT);
+    int num_nodes = index_sub_children.getLength ();
+        
+    // there is no subcollection index
+    if (num_nodes < 1) {
+      return;
+    }
+        
+    Element subcollection_indexes = to.createElement (StaticStrings.SUBCOLLECTION_INDEXES_ELEMENT);
+        
+    for (int i=0; i<num_nodes; i++) {
+      Element index_element = to.createElement (StaticStrings.INDEX_ELEMENT);
+      Element index_sub_child = (Element)index_sub_children.item (i);
+      String name_str = index_sub_child.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+            
+      // name_str is in the form of comma separated strings, each of which is a subcollection filter name
+      String[] filters = name_str.split (StaticStrings.COMMA_CHARACTER);
+      for (int j=0; j<filters.length; j++) {
+                
+	Element content_element = to.createElement (StaticStrings.CONTENT_ELEMENT);
+	content_element.setAttribute (StaticStrings.NAME_STR, filters[j]);
+	index_element.appendChild (content_element);
+      }
+      subcollection_indexes.appendChild (index_element);
+            
+      // Contructing 'collectionmetadata' elements from the 'displayItem' of this 'indexSubcollection' element
+      ArrayList displayItem_list = XMLTools.getNamedElementList (index_sub_child,
+								 StaticStrings.DISPLAYITEM_STR, StaticStrings.NAME_ATTRIBUTE, StaticStrings.NAME_STR);
+      if (displayItem_list == null) {
+	// there is no display item for this element
+	continue;
+      }
+      for (int j=0; j<displayItem_list.size (); j++) {
+	Element item = (Element)displayItem_list.get (j);
+	String text = XMLTools.getNodeText (item);
+	String lang = item.getAttribute (StaticStrings.LANG_ATTRIBUTE);
+                
+	//If there is nothing to display, don't bother creating the element
+	if (text == "") {
+	  continue;
+	}
+	Element collectionmetadata = to.createElement (StaticStrings.COLLECTIONMETADATA_ELEMENT);
+	collectionmetadata.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+	collectionmetadata.setAttribute (StaticStrings.NAME_ATTRIBUTE, name_str);
+	collectionmetadata.setAttribute (StaticStrings.LANGUAGE_ATTRIBUTE, lang);
+	XMLTools.setNodeText (collectionmetadata, text);
+                
+	appendProperly (toElement, collectionmetadata);
+      }
+    }
+    appendProperly (toElement, subcollection_indexes);
+  }
+  //Handle 'indexLanguage' element of collectionConfig.xml,  which is called 'Languages' in the internal structure. These contain the language indexes, and displayed words for those language index names.
+  static private void doIndexLanguage (Document to, Node searchNode) {
+    Element toElement = to.getDocumentElement ();
+    NodeList index_sub_children = ((Element)searchNode).getElementsByTagName (StaticStrings.LANGUAGE_INDEX_ELEMENT);
+    int num_nodes = index_sub_children.getLength ();
+        
+    // there is no subcollection index
+    if (num_nodes < 1) {
+      return;
+    }
+        
+    Element language_indexes = to.createElement (StaticStrings.LANGUAGES_ELEMENT);
+        
+    for (int i=0; i<num_nodes; i++) {
+      Element language_element = to.createElement (StaticStrings.LANGUAGE_ELEMENT);
+      Element index_sub_child = (Element)index_sub_children.item (i);
+      String name_str = index_sub_child.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+      language_element.setAttribute (StaticStrings.NAME_STR, name_str);
+      language_indexes.appendChild (language_element);
+            
+      // Contructing 'collectionmetadata' elements from the 'displayItem' of this 'indexLanguage' element
+      ArrayList displayItem_list = XMLTools.getNamedElementList (index_sub_child,
+								 StaticStrings.DISPLAYITEM_STR, StaticStrings.NAME_ATTRIBUTE, StaticStrings.NAME_STR);
+      if (displayItem_list == null) {
+	// there is no display item for this element
+	continue;
+      }
+      for (int j=0; j<displayItem_list.size (); j++) {
+	Element item = (Element)displayItem_list.get (j);
+	String text = XMLTools.getNodeText (item);
+	String lang = item.getAttribute (StaticStrings.LANG_ATTRIBUTE);
+                
+	//If there is nothing to display, don't bother creating the element
+	if (text == "") {
+	  continue;
+	}
+	Element collectionmetadata = to.createElement (StaticStrings.COLLECTIONMETADATA_ELEMENT);
+	collectionmetadata.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+	collectionmetadata.setAttribute (StaticStrings.NAME_ATTRIBUTE, name_str);
+	collectionmetadata.setAttribute (StaticStrings.LANGUAGE_ATTRIBUTE, lang);
+	XMLTools.setNodeText (collectionmetadata, text);
+                
+	appendProperly (toElement, collectionmetadata);
+      }
+    }
+    toElement.appendChild (language_indexes);
+  }
+  // Handling both searchType and search format statement
+  static private void doSearchFormat (Document to, Node searchNode) {
+    //There are two elements called <format> in <search>: one is for searchType; another is for format statement
+    NodeList format_children = ((Element)searchNode).getElementsByTagName (StaticStrings.FORMAT_STR);
+    int format_nodes = format_children.getLength ();
+    if (format_nodes < 1) {
+      return;
+    }
+    Element format = null;
+    Element search_type = null;
+    for(int i=0; i<format_nodes; i++) {
+      Node e = format_children.item (i);
+      if (e.hasAttributes () == false) {
+	//The format element for format statement has no any attribute
+	format = (Element)e;
+      }
+      else if (((Element)e).getAttribute (StaticStrings.NAME_ATTRIBUTE).equals(StaticStrings.SEARCHTYPE_ELEMENT)) {
+	search_type = (Element)e;
+      }
+    }
+    //format statement for search
+    if (format != null) {            
+      (to.getDocumentElement ()).appendChild (doFormat(to, format, StaticStrings.SEARCH_STR));
+    }
+    // searchType in search
+    if(search_type != null) {
+      String searchtype_str = XMLTools.getNodeText(search_type);
+        
+      Element search_type_element = to.createElement (StaticStrings.FORMAT_STR);
+      search_type_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, StaticStrings.SEARCHTYPE_ELEMENT);
+      XMLTools.setNodeText(search_type_element, searchtype_str);
+        
+        
+      appendProperly (to.getDocumentElement (), search_type_element);
+    }
+  }
+  // Handling defaultIndexLanguage and languageMetadata in collectionConfig.xml ('elementNameFrom'); in the internal structure, they are called 'DefaultLanguage' and 'LanguageMetadata' ('elementNameTo') respectively.
+  // Converting from collectionConfig.xml to the internal xml structure.
+  static private void doLanguageMetadata (Document to, Node searchNode) {
+    Element toElement = to.getDocumentElement ();
+    String elementNameFrom = StaticStrings.LANGUAGE_METADATA_ELEMENT_STR;
+    String elementNameTo = StaticStrings.LANGUAGE_METADATA_ELEMENT;
+    Node from_element = XMLTools.getChildByTagName (searchNode, elementNameFrom);
+    if (from_element == null) {
+      return; // such an element not found
+    }
+        
+    Element to_element = to.createElement (elementNameTo);
+        
+    String name_str = ((Element)from_element).getAttribute (StaticStrings.NAME_ATTRIBUTE);
+    if (name_str.indexOf (StaticStrings.NS_SEP) == -1) {
+      name_str = StaticStrings.EXTRACTED_NAMESPACE + name_str;
+    }
+    to_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, name_str);
+    to_element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+        
+    toElement.appendChild (to_element);
+  }
+  static private void doReplaceListRef (Document to, Element from) {
+    Element toElement = to.getDocumentElement ();
+        
+    Node replace_element = XMLTools.getChildByTagName (from, StaticStrings.REPLACELISTREF_STR);
+    if (replace_element == null) {
+      return; // such an element not found
+    }
+        
+    Element to_element = XMLTools.duplicateElement (to, (Element)replace_element, true);
+    toElement.appendChild (to_element);
+  }
+  static private void convertReplaceListRef (Document from, Document to) {
+    Element toElement = to.getDocumentElement ();
+        
+    Node replace_element = XMLTools.getChildByTagName (from.getDocumentElement (), StaticStrings.REPLACELISTREF_STR);
+    if (replace_element == null) {
+      return; // such an element not found
+    }
+        
+    Element to_element = XMLTools.duplicateElement (to, (Element)replace_element, true);
+    toElement.appendChild (to_element);
+  }
+  static private void doOAIElement (Document to, Element from) {
+    Element toElement = to.getDocumentElement ();
+        
+    Node oai_element = XMLTools.getChildByTagName (from, StaticStrings.OAI_ELEMENT);
+    if (oai_element == null) {
+      return; // such an element not found
+    }
+        
+    Element to_element = XMLTools.duplicateElement (to, (Element)oai_element, true);
+    toElement.appendChild (to_element);
+  }
+  static private void convertOAIElement (Document from, Document to) {
+    Element toElement = to.getDocumentElement ();
+        
+    Node oai_element = XMLTools.getChildByTagName (from.getDocumentElement (), StaticStrings.OAI_ELEMENT);
+    if (oai_element == null) {
+      return; // such an element not found
+    }
+        
+    Element to_element = XMLTools.duplicateElement (to, (Element)oai_element, true);
+    toElement.appendChild (to_element);
+  }
+  static private void doDefaultIndexLanguage (Document to, Node searchNode) {
+    Element toElement = to.getDocumentElement ();
+    String elementNameFrom = StaticStrings.LANGUAGE_DEFAULT_INDEX_ELEMENT;
+    String elementNameTo = StaticStrings.LANGUAGE_DEFAULT_ELEMENT;
+    Node from_element = XMLTools.getChildByTagName (searchNode, elementNameFrom);
+    if (from_element == null) {
+      return; // such an element not found
+    }
+        
+    Element to_element = to.createElement (elementNameTo);
+        
+    String name_str = ((Element)from_element).getAttribute (StaticStrings.NAME_ATTRIBUTE);
+    to_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, name_str);
+    to_element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+        
+    toElement.appendChild (to_element);
+  }
+    
+  //Handle 'indexOption' (i.e. casefold, stem etc). In the internal structure, the element is called 'IndexOption'
+  static private void doIndexOption (Document to, Node searchNode) {
+    Element toElement = to.getDocumentElement ();
+    Node index_option_node = XMLTools.getChildByTagName (searchNode, StaticStrings.INDEXOPTION_STR);
+    if (index_option_node == null) {
+      return;
+    }
+    NodeList option_children = ((Element)index_option_node).getElementsByTagName (StaticStrings.OPTION_STR);
+    int option_nodes = option_children.getLength ();
+        
+    // for lucene, there is no 'indexOption'. We build a default 'indexOption' and 'assigned=false' in case the user switches to mg or mgpp
+    if (option_nodes < 1) {
+      Element index_option = to.createElement (StaticStrings.INDEXOPTIONS_ELEMENT);
+      index_option.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.FALSE_STR);
+      index_option.setAttribute (StaticStrings.NAME_STR, StaticStrings.INDEXOPTIONS_STR);
+      String[] option_str =
+	{ StaticStrings.CASEFOLD_OPTION_STR, StaticStrings.STEM_OPTION_STR };
+      for (int i=0; i<option_str.length; i++) {
+	Element option_element = to.createElement (StaticStrings.OPTION_ELEMENT);
+	option_element.setAttribute (StaticStrings.NAME_STR, option_str[i]);
+	index_option.appendChild (option_element);
+      }
+      appendProperly (toElement, index_option);
+      return;
+    }
+        
+    Element index_option = to.createElement (StaticStrings.INDEXOPTIONS_ELEMENT);
+    index_option.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+    index_option.setAttribute (StaticStrings.NAME_STR, StaticStrings.INDEXOPTIONS_STR);
+        
+    for (int i=0; i<option_nodes; i++) {
+      String option_str = ((Element)option_children.item (i)).getAttribute (StaticStrings.NAME_ATTRIBUTE);
+      Element option_element = to.createElement (StaticStrings.OPTION_ELEMENT);
+      option_element.setAttribute (StaticStrings.NAME_STR, option_str);
+      index_option.appendChild (option_element);
+    }
+    appendProperly (toElement, index_option);
+  }
+    
+  static private Element doBuildType (Document to, String att_value) {
+        
+    //construct 'BuildType' element
+    Element element = to.createElement (StaticStrings.BUILDTYPE_ELEMENT);
+    element.setAttribute (StaticStrings.NAME_ATTRIBUTE, StaticStrings.BUILDTYPE_STR);
+    element.setAttribute (StaticStrings.LANGUAGE_ATTRIBUTE, StaticStrings.ENGLISH_LANGUAGE_STR);
+    element.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+    element.setAttribute (StaticStrings.SPECIAL_ATTRIBUTE, StaticStrings.TRUE_STR);
+
+    XMLTools.setNodeText (element, att_value);
+        
+    return element;
+  }
+    
+  // Convert 'description', 'smallicon' etc.
+  static private void convertDisplayItemList (Document from, Document to) {
+    Element displayItemList = to.createElement (StaticStrings.DISPLAYITEMLIST_STR);
+    Element destination = to.getDocumentElement ();
+        
+    String []att_values =
+      {StaticStrings.COLLECTIONMETADATA_COLLECTIONEXTRA_STR,
+       StaticStrings.COLLECTIONMETADATA_ICONCOLLECTIONSMALL_STR,
+       StaticStrings.COLLECTIONMETADATA_ICONCOLLECTION_STR,
+       StaticStrings.COLLECTIONMETADATA_COLLECTIONNAME_STR};
+         
+    String []map_attrs =
+      {StaticStrings.DESCRIPTION_STR,
+       StaticStrings.SMALLICON_STR,
+       StaticStrings.ICON_STR,
+       StaticStrings.NAME_STR};
+          
+    for (int i=0; i<att_values.length; i++) {
+              
+      //dOc
+      ArrayList e_list = XMLTools.getNamedElementList (from.getDocumentElement (),
+						       StaticStrings.COLLECTIONMETADATA_ELEMENT,
+						       StaticStrings.NAME_ATTRIBUTE, att_values[i]);
+      // if such elements don't exist, don't bother
+      if (e_list == null) {
+	continue;
+      }
+      for (int j=0; j<e_list.size (); j++) {
+	Element e = (Element)e_list.get (j);
+	if (e.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+	  continue;
+	}
+	String text = XMLTools.getNodeText (e);
+	String lang = e.getAttribute (StaticStrings.LANGUAGE_ATTRIBUTE);
+                  
+	Element displayItem = constructElement (StaticStrings.DISPLAYITEM_STR, map_attrs[i],
+						StaticStrings.LANG_STR, lang, text, to);
+	displayItemList.appendChild (displayItem);
+      }
+              
+    }
+    destination.appendChild (displayItemList);
+  }
+  // This method creates a DisplayItem element of the type of 'to' by using the ingredients from the element 'e'
+  static private Element constructDisplayItem (Element e, Document to) {
+    String lang_string = e.getAttribute (StaticStrings.LANGUAGE_ATTRIBUTE);
+    String text = XMLTools.getNodeText (e);
+    Element displayItem = to.createElement (StaticStrings.DISPLAYITEM_STR);
+    displayItem.setAttribute (StaticStrings.NAME_ATTRIBUTE, StaticStrings.NAME_ATTRIBUTE);
+    displayItem.setAttribute (StaticStrings.LANG_STR, lang_string);
+    XMLTools.setNodeText (displayItem, text);
+    return displayItem;
+  }
+  static private void convertMetadataList (Document from, Document to) {
+    Element metadataList = to.createElement (StaticStrings.METADATALIST_STR);
+    Element destination = to.getDocumentElement ();
+        
+    String []ele_names =
+      {StaticStrings.COLLECTIONMETADATA_CREATOR_ELEMENT,
+       StaticStrings.COLLECTIONMETADATA_MAINTAINER_ELEMENT,
+       StaticStrings.COLLECTIONMETADATA_PUBLIC_ELEMENT};
+    String []att_names =
+      {StaticStrings.COLLECTIONMETADATA_CREATOR_STR,
+       StaticStrings.COLLECTIONMETADATA_MAINTAINER_STR,
+       StaticStrings.COLLECTIONMETADATA_PUBLIC_STR};
+    for (int i=0; i<ele_names.length; i++) {
+      Element e = XMLTools.getNamedElement (from.getDocumentElement (),
+					    ele_names[i], StaticStrings.NAME_ATTRIBUTE, att_names[i]);
+      if (e == null) {
+	continue;
+      }
+      String text = XMLTools.getNodeText (e);
+      Element metadata = to.createElement (StaticStrings.METADATA_STR);
+      metadata.setAttribute (StaticStrings.NAME_ATTRIBUTE, att_names[i]);
+      metadata.setAttribute (StaticStrings.LANG_STR, StaticStrings.ENGLISH_LANGUAGE_STR);
+      XMLTools.setNodeText (metadata, text);
+      metadataList.appendChild (metadata);
+    }
+
+    destination.appendChild (metadataList);
+  }
+  // This method creates an element with the name 'element_name' of the type of 'to' by using the other three strings
+  static private Element constructElement (String element_name, String name_value, String lang_att, String lang_value, String text, Document to) {
+    Element e = to.createElement (element_name);
+    e.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+    e.setAttribute (StaticStrings.NAME_ATTRIBUTE, name_value);
+    e.setAttribute (lang_att, lang_value);
+    XMLTools.setNodeText (e, text);
+        
+    return e;
+  }
+  // Convert classify in the internal(i.e. Document from) to collectionconfig.xml (i.e. Document to)
+  static private void convertClassifier (Document from, Document to) {
+    Element browse_element = to.createElement (StaticStrings.BROWSE_STR);
+    NodeList children = from.getDocumentElement ().getElementsByTagName (StaticStrings.CLASSIFY_ELEMENT);
+        
+    int num_children = (children == null)? 0 : children.getLength ();
+        
+    if (num_children == 0) {
+      return ;
+    }
+        
+    for (int i=0; i<num_children; i++) {
+            
+      Element child =  (Element)children.item (i);
+      if (child.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+	continue;
+      }
+      String str = child.getAttribute (StaticStrings.TYPE_ATTRIBUTE);
+      Element classifier_element = to.createElement (StaticStrings.CLASSIFIER_STR);
+      classifier_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, str);
+            
+      NodeList option_children = child.getElementsByTagName (StaticStrings.OPTION_ELEMENT);
+      for (int j=0; j<option_children.getLength (); j++) {
+	Element el = (Element)option_children.item (j);
+	if (el.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+	  continue;
+	}
+	String name_str = el.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+	String value_str = XMLTools.getNodeText (el);
+                
+                
+	if (name_str == null && value_str == null) {
+	  continue;
+	}
+	Element option_element = to.createElement (StaticStrings.OPTION_STR);
+	if (name_str != null && name_str.equals (StaticStrings.METADATA_STR)) {
+                    
+	  // The metadata argument is the fully qualified name of a metadata element, so if it contains a namespace, remove the extracted metadata namespace as the build process doesn't know about it.
+	  String[] values = value_str.split (StaticStrings.COMMA_CHARACTER);
+	  value_str = "";
+	  for (int k=0; k<=values.length-1; k++) {
+	    if(values[k].startsWith (StaticStrings.EXTRACTED_NAMESPACE)) {
+	      values[k] = values[k].substring (StaticStrings.EXTRACTED_NAMESPACE.length ());
+	    }
+	    else {
+	      MetadataElement metadata_element = MetadataTools.getMetadataElementWithDisplayName (values[k]);
+	      if (metadata_element != null) {
+		values[k] = metadata_element.getFullName ();
+	      }
+	    }
+	    if (k < values.length-1) {
+	      value_str = value_str + values[k] + StaticStrings.COMMA_CHARACTER;
+	    } else {
+	      value_str = value_str + values[k];
+	    }
+	  }
+	}
+                
+	if (!name_str.equals ("")) {
+	  if (!name_str.startsWith (StaticStrings.MINUS_CHARACTER)) {
+	    name_str = StaticStrings.MINUS_CHARACTER + name_str;
+	  }
+	  option_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, name_str);
+	}
+                
+	if (!value_str.equals ("")) {
+	  option_element.setAttribute (StaticStrings.VALUE_ATTRIBUTE, value_str);
+	}
+                
+	classifier_element.appendChild (option_element);
+      }
+            
+      //format element for this classifier
+      Element e = (Element)XMLTools.getChildByTagName (child, StaticStrings.FORMAT_STR);
+            
+      if (e != null) {
+	classifier_element.appendChild (convertFormat(to, e));
+      }
+      browse_element.appendChild (classifier_element);
+    }
+        
+    //convert default classifier format
+    Element e = XMLTools.getNamedElement (from.getDocumentElement (), StaticStrings.FORMAT_STR,
+					  StaticStrings.NAME_ATTRIBUTE,  StaticStrings.BROWSE_STR);
+    browse_element.appendChild (convertFormat(to, e));
+        
+    to.getDocumentElement ().appendChild (browse_element);
+  }
+  static private Element convertFormat(Document to, Element e) {
+    String format_str = XMLTools.getNodeText(e);
+    Element format = to.createElement (StaticStrings.FORMAT_STR);
+    //XMLTools.copyAllChildren (format, e);
+    XMLTools.setNodeText(format, format_str); 
+    return format;
+  }
+  //convert format statement for search
+  static private void convertSearchFormat (Document from, Document to) {
+    Element search = (Element)XMLTools.getChildByTagName (to.getDocumentElement (), StaticStrings.SEARCH_STR);
+    Element e = XMLTools.getNamedElement (from.getDocumentElement (), StaticStrings.FORMAT_STR,
+					  StaticStrings.NAME_ATTRIBUTE,  StaticStrings.SEARCH_STR);
+                                                
+    search.appendChild (convertFormat(to, e));
+        
+  }
+  //convert format statement for display of the documents
+  static private void convertDisplayFormat (Document from, Document to) {
+    Element e = XMLTools.getNamedElement (from.getDocumentElement (), StaticStrings.FORMAT_STR,
+					  StaticStrings.NAME_ATTRIBUTE,  StaticStrings.DISPLAY_STR);
+    if (e == null) {
+      return;
+    }
+    Element display = to.createElement (StaticStrings.DISPLAY_STR);
+    display.appendChild (convertFormat(to, e));
+    to.getDocumentElement ().appendChild (display);
+  }
+  // Convert plugins in the internal(i.e. Document from) to collectionconfig.xml (i.e. Document to)
+  static private void convertPlugin (Document from, Document to) {
+    Element import_element = to.createElement (StaticStrings.IMPORT_STR);
+    Element plugin_list_element = to.createElement (StaticStrings.PLUGINLIST_STR);
+        
+    NodeList children = from.getDocumentElement ().getElementsByTagName (StaticStrings.PLUGIN_ELEMENT);
+    int num_children = (children == null)? 0 : children.getLength ();
+    if (num_children == 0) {
+      return ;
+    }
+        
+    for (int i=0; i<num_children; i++) {
+            
+      Element child =  (Element)children.item (i);
+      if (child.getAttribute (StaticStrings.SEPARATOR_ATTRIBUTE).equals (StaticStrings.TRUE_STR)) {
+	continue;
+      }
+      if (child.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+	continue;
+      }
+            
+      String str = child.getAttribute (StaticStrings.TYPE_ATTRIBUTE);
+      Element plugin_element = to.createElement (StaticStrings.PLUGIN_STR);
+      plugin_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, str);
+            
+      NodeList option_children = child.getElementsByTagName (StaticStrings.OPTION_ELEMENT);
+      for (int j=0; j<option_children.getLength (); j++) {
+	Element el = (Element)option_children.item (j);
+	if(!el.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.TRUE_STR)) {
+	  continue;
+	}
+	String name_str = el.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+	String value_str = XMLTools.getNodeText (el);
+                
+                
+	if (name_str == null && value_str == null) {
+	  continue;
+	}
+	Element option_element = to.createElement (StaticStrings.OPTION_STR);
+	if (name_str != null && name_str.equals (StaticStrings.METADATA_STR)) {
+                    
+	  // The metadata argument is the fully qualified name of a metadata element, so if it contains a namespace, remove the extracted metadata namespace as the build process doesn't know about it.
+	  String[] values = value_str.split (StaticStrings.COMMA_CHARACTER);
+	  value_str = "";
+	  for (int k=0; k<=values.length-1; k++) {
+	    if(values[k].startsWith (StaticStrings.EXTRACTED_NAMESPACE)) {
+	      values[k] = values[k].substring (StaticStrings.EXTRACTED_NAMESPACE.length ());
+	    }
+
+	    if (k < values.length-1) {
+	      value_str = value_str + values[k] + StaticStrings.COMMA_CHARACTER;
+	    } else {
+	      value_str = value_str + values[k];
+	    }
+	  }
+	}
+                
+	if (!name_str.equals ("")) {
+	  if (!name_str.startsWith (StaticStrings.MINUS_CHARACTER)) {
+	    name_str = StaticStrings.MINUS_CHARACTER + name_str;
+	  }
+	  option_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, name_str);
+	}
+                
+	if (!value_str.equals ("")) {
+	  option_element.setAttribute (StaticStrings.VALUE_ATTRIBUTE, value_str);
+	}
+                
+	plugin_element.appendChild (option_element);
+      }//for loop ends
+            
+      plugin_list_element.appendChild (plugin_element);
+    }//for loop ends
+        
+    import_element.appendChild (plugin_list_element);
+        
+    //do the plugout element (used by building flax collections)
+    Node plugout = XMLTools.getChildByTagNameIndexed (from.getDocumentElement (), PLUGOUT_ELEMENT, 0);
+    if (plugout != null) {
+      Element to_element = XMLTools.duplicateElement (to, (Element)plugout, true);
+      import_element.appendChild (to_element);
+    }
+        
+    to.getDocumentElement ().appendChild (import_element);
+  }
+
+  //Handle 'searchType' of collectionConfig.xml. In the internal structure, its also called 'searchType', eg. plain, form
+  static private void convertSearchType (Document from, Document to) {
+    Element e = XMLTools.getNamedElement (from.getDocumentElement (), StaticStrings.FORMAT_STR,
+					  StaticStrings.NAME_ATTRIBUTE,  StaticStrings.SEARCHTYPE_ELEMENT);//searchType
+        
+    if (e == null) {
+      return;
+    }
+    Element search_type_element = to.createElement (StaticStrings.FORMAT_STR);
+        
+    //        String searchtype_str = e.getAttribute (StaticStrings.VALUE_ATTRIBUTE);        
+    //        search_type_element.setAttribute (StaticStrings.VALUE_ATTRIBUTE, searchtype_str);
+    String searchtype_str = XMLTools.getNodeText(e);        
+    XMLTools.setNodeText(search_type_element, searchtype_str);
+        
+    search_type_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, StaticStrings.SEARCHTYPE_ELEMENT);
+    //Get the 'search' element from 'to'
+    Element search = (Element)XMLTools.getChildByTagName (to.getDocumentElement (), StaticStrings.SEARCH_STR);
+    search.appendChild (search_type_element);
+  }
+    
+  static private void convertBuildType (Document from, Document to) {
+    Element e = XMLTools.getNamedElement (from.getDocumentElement (),
+					  StaticStrings.BUILDTYPE_ELEMENT,
+					  StaticStrings.NAME_ATTRIBUTE, StaticStrings.BUILDTYPE_STR);
+    if (e == null) {
+      return;
+    }
+    String indexer = XMLTools.getNodeText (e);
+    Element search = to.createElement (StaticStrings.SEARCH_STR);
+    search.setAttribute (StaticStrings.TYPE_ATTRIBUTE, indexer);
+    to.getDocumentElement ().appendChild (search);
+  }
+  static private void convertDefaultIndex (Document from, Document to, Element search) {
+    Element source = from.getDocumentElement ();
+        
+    Element default_index_element = (Element)XMLTools.getChildByTagName (source, StaticStrings.INDEX_DEFAULT_ELEMENT);
+    if (default_index_element == null) {
+      return;
+    }
+        
+    String indexer = search.getAttribute (StaticStrings.TYPE_ATTRIBUTE);
+    String level_str = default_index_element.getAttribute (StaticStrings.LEVEL_ATTRIBUTE);
+    // Debugging purposes
+    if (level_str.equals ("") && indexer.equals (StaticStrings.MG_STR) ) {
+      System.out.println ("Bug: DefaultIndex should have its level attribute not empty.");
+    }
+        
+    NodeList content_elements = default_index_element.getElementsByTagName (StaticStrings.CONTENT_ELEMENT);
+    int content_elements_length = content_elements.getLength ();
+        
+    // Don't output anything if no indexes are set
+    if(content_elements_length == 0) {
+      return ;//
+    }
+        
+    String index_str = "";
+        
+    if (indexer.equals (StaticStrings.MG_STR)) {
+      //combine level with indexes
+      index_str = level_str + StaticStrings.COLON_CHARACTER;
+    }
+    else { //for mgpp/lucene, just take index
+      //do nothing
+    }
+        
+    for(int k = 0; k < content_elements_length; k++) {
+      Element content_element = (Element) content_elements.item (k);
+      if (content_element.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+	continue;
+      }
+      String name_str = content_element.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+            
+      if(name_str.startsWith (StaticStrings.EXTRACTED_NAMESPACE)) {
+	name_str = name_str.substring (StaticStrings.EXTRACTED_NAMESPACE.length ());
+      }
+
+      index_str = index_str + name_str;
+            
+      // Make it comma separated string
+      if(k < content_elements_length - 1) {
+	index_str = index_str + StaticStrings.COMMA_CHARACTER;
+      }
+      content_element = null;
+    }//for loop ends
+        
+        
+    Element default_index = to.createElement (StaticStrings.INDEX_DEFAULT_ELEMENT_LOWERCASE);
+    default_index.setAttribute (StaticStrings.NAME_ATTRIBUTE, index_str);
+    search.appendChild (default_index);
+        
+  }
+  static private void convertSubcollection (Document from, Document to) {
+    Element source = from.getDocumentElement ();
+    //Get the 'search' element from 'to' which has already been created in 'convertBuildType'
+    Element search = (Element)XMLTools.getChildByTagName (to.getDocumentElement (), StaticStrings.SEARCH_STR);
+        
+    // Get the Subcollection element from the internal structure
+    NodeList subcollection_elements = source.getElementsByTagName (StaticStrings.SUBCOLLECTION_ELEMENT);
+    if (subcollection_elements == null) {
+      return;
+    }
+    int subcollection_elements_length = subcollection_elements.getLength ();
+        
+    if (subcollection_elements_length == 0) { // no
+      return ;
+    }
+        
+    for(int j = 0; j < subcollection_elements_length; j++) {
+            
+      Element e = (Element) subcollection_elements.item (j);
+      if (e.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+	continue;
+      }
+      String content = e.getAttribute (StaticStrings.CONTENT_ATTRIBUTE);
+      String name = e.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+      String options = e.getAttribute (StaticStrings.OPTIONS_ATTRIBUTE);
+      String type = e.getAttribute (StaticStrings.TYPE_ATTRIBUTE);
+      String text = XMLTools.getNodeText (e);
+            
+      String filter = "";
+      if (type.equals (StaticStrings.EXCLUDE_STR)) {
+	filter = StaticStrings.EXCLAMATION_CHARACTER;
+      }
+            
+      if(content.startsWith (StaticStrings.EXTRACTED_NAMESPACE)) {
+	content = content.substring (StaticStrings.EXTRACTED_NAMESPACE.length ());
+      }
+      filter = filter + content + StaticStrings.SEPARATOR_CHARACTER + text;
+      if (options != null && options != "") {
+	filter = filter + StaticStrings.SEPARATOR_CHARACTER + options;
+      }
+      Element subcollection = to.createElement (StaticStrings.SUBCOLLECTION_STR);
+      subcollection.setAttribute (StaticStrings.FILTER_ATTRIBUTE, filter);
+      subcollection.setAttribute (StaticStrings.NAME_ATTRIBUTE, name);
+            
+      search.appendChild (subcollection);
+    }
+  }
+  static private void convertSubcollectionIndexes (Document from, Document to) {
+    Element source = from.getDocumentElement ();
+    //Get the 'search' element from 'to' which has already been created in 'convertBuildType'
+    Element search = (Element)XMLTools.getChildByTagName (to.getDocumentElement (), StaticStrings.SEARCH_STR);
+        
+    // Get the SubcollectionIndexes element from the internal structure
+    Element subcollection_indexes = (Element)XMLTools.getChildByTagName (source, StaticStrings.SUBCOLLECTION_INDEXES_ELEMENT);
+    if (subcollection_indexes == null) {
+      return;
+    }
+    NodeList index_elements = subcollection_indexes.getElementsByTagName (StaticStrings.INDEX_ELEMENT);
+    int index_elements_length = index_elements.getLength ();
+        
+    if (index_elements_length == 0) { // no indexes
+      return ;
+    }
+        
+    for(int j = 0; j < index_elements_length; j++) {
+      Element index_element = (Element) index_elements.item (j);
+      if (index_element.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+	continue;
+      }
+            
+      Element index = to.createElement (StaticStrings.SUBCOLLECTION_INDEX_ELEMENT);
+            
+      String index_value = "";
+            
+      NodeList content_elements = index_element.getElementsByTagName (StaticStrings.CONTENT_ELEMENT);
+      int content_elements_length = content_elements.getLength ();
+            
+      for(int k = 0; k < content_elements_length; k++) {
+	Element content_element = (Element) content_elements.item (k);
+	if (content_element.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+	  continue;
+	}
+	String name_str = content_element.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+	index_value += name_str;
+	// Make it comma separated string
+	if(k < content_elements_length - 1) {
+	  index_value += StaticStrings.COMMA_CHARACTER;
+	}
+	content_element = null;
+      }//for loop ends
+            
+      index.setAttribute (StaticStrings.NAME_ATTRIBUTE, index_value);
+            
+      // Now constructing 'displayItem' element for this 'indexSubcollection' element
+      // from the collectionmetadata element
+      ArrayList collectionmetadata_list = XMLTools.getNamedElementList (source,
+									StaticStrings.COLLECTIONMETADATA_ELEMENT,
+									StaticStrings.NAME_ATTRIBUTE, index_value);
+            
+      if (collectionmetadata_list != null) {
+                
+	for(int k = 0; k < collectionmetadata_list.size (); k++) {
+	  Element collectionmetadata = (Element)collectionmetadata_list.get (k);
+	  if (collectionmetadata.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+	    continue;
+	  }
+	  Element displayItem = constructDisplayItem (collectionmetadata, to);
+	  index.appendChild (displayItem);
+	}
+      }
+            
+      search.appendChild (index);
+            
+    } //for loop ends
+  }
+    
+  static private void convertLanguages (Document from, Document to) {
+    Element source = from.getDocumentElement ();
+    //Get the 'search' element from 'to' which has already been created in 'convertBuildType'
+    Element search = (Element)XMLTools.getChildByTagName (to.getDocumentElement (), StaticStrings.SEARCH_STR);
+        
+    // Get the Languages element from the internal structure
+    Element languages = (Element)XMLTools.getChildByTagName (source, StaticStrings.LANGUAGES_ELEMENT);
+    if (languages == null) {
+      return;
+    }
+    NodeList language_elements = languages.getElementsByTagName (StaticStrings.LANGUAGE_ELEMENT);
+    int language_elements_length = language_elements.getLength ();
+        
+    if (language_elements_length == 0) {
+      return ;
+    }
+        
+    for(int j = 0; j < language_elements_length; j++) {
+      Element element = (Element) language_elements.item (j);
+      if (element.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+	continue;
+      }
+            
+      // Create indexLanguage element
+      Element index_language = to.createElement (StaticStrings.LANGUAGE_INDEX_ELEMENT);
+            
+      String name_str = element.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+      index_language.setAttribute (StaticStrings.NAME_ATTRIBUTE, name_str);
+            
+      // Now constructing 'displayItem' element for this 'indexLanguage' element
+      // from the collectionmetadata element
+      ArrayList collectionmetadata_list = XMLTools.getNamedElementList (source,
+									StaticStrings.COLLECTIONMETADATA_ELEMENT,
+									StaticStrings.NAME_ATTRIBUTE, name_str);
+            
+      if (collectionmetadata_list != null) {
+                
+	for(int k = 0; k < collectionmetadata_list.size (); k++) {
+	  Element collectionmetadata = (Element)collectionmetadata_list.get (k);
+	  if (collectionmetadata.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+	    continue;
+	  }
+	  Element displayItem = constructDisplayItem (collectionmetadata, to);
+	  index_language.appendChild (displayItem);
+	}
+      }
+            
+      search.appendChild (index_language);
+            
+    } //for loop ends
+        
+    // Convert DefaultLanguage
+    // Get the DefaultLanguage element from the internal structure
+    Element default_language = (Element)XMLTools.getChildByTagName (source, StaticStrings.LANGUAGE_DEFAULT_ELEMENT);
+    if(default_language != null) {
+      String lang_name = default_language.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+      Element default_index_language = to.createElement (StaticStrings.LANGUAGE_DEFAULT_INDEX_ELEMENT);
+      default_index_language.setAttribute (StaticStrings.NAME_ATTRIBUTE, lang_name);
+      search.appendChild (default_index_language);
+    }
+    // Convert LanguageMetadata
+    // Get the LanguageMetadata element from the internal structure
+    Element language_metadata = (Element)XMLTools.getChildByTagName (source, StaticStrings.LANGUAGE_METADATA_ELEMENT);
+    if(language_metadata != null) {
+      String meta_name = language_metadata.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+      Element language_meta = to.createElement (StaticStrings.LANGUAGE_METADATA_ELEMENT_STR);
+      if(meta_name.startsWith (StaticStrings.EXTRACTED_NAMESPACE)) {
+	meta_name = meta_name.substring (StaticStrings.EXTRACTED_NAMESPACE.length ());
+      }
+      language_meta.setAttribute (StaticStrings.NAME_ATTRIBUTE, meta_name);
+      search.appendChild (language_meta);
+    }
+  }
+    
+  //convert indexes and their displayItems, which go in 'search' element in collectionConfig.xml
+  //parameter 'to' is the document to be saved as collectionConfig.xml
+  //parameter 'from' is the internal xml structure
+  static private void convertIndex (Document from, Document to) {
+    Element source = from.getDocumentElement ();
+    //Get the 'search' element from 'to' which has already been created in 'convertBuildType'
+    Element search = (Element)XMLTools.getChildByTagName (to.getDocumentElement (), StaticStrings.SEARCH_STR);
+        
+    //THere are two sets of indexes elements, find the one which is assigned 'true'
+    Element indexes = XMLTools.getNamedElement (source,
+						StaticStrings.INDEXES_ELEMENT,
+						StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+    if (indexes == null) {
+      return;
+    }
+    NodeList index_elements = indexes.getElementsByTagName (StaticStrings.INDEX_ELEMENT);
+    int index_elements_length = index_elements.getLength ();
+        
+    if (index_elements_length == 0) { // no indexes
+      return ;
+    }
+        
+    //find out it's mg or mgpp/lucene
+    String mg = search.getAttribute (StaticStrings.TYPE_ATTRIBUTE);
+    boolean mg_indexer = false;
+    if (mg.equals (StaticStrings.MG_STR)) {
+      mg_indexer = true;//it's mg, then the level is set as attribute of
+    }
+    if (mg_indexer == false) {
+      // It's mgpp. Construct 'level' and 'defaultLevel' elements separately.
+      convertLevels (from, to, search);
+    }
+        
+    for(int j = 0; j < index_elements_length; j++) {
+      Element index_element = (Element) index_elements.item (j);
+      if (index_element.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+	continue;
+      }
+            
+      Element index_ele = to.createElement (StaticStrings.INDEX_LOW_STR);//index
+            
+      // Used for creating displayItem for this element 'index_ele' further below
+      // full_index_names contain 'ex.'
+      String full_index_name = "";
+      String level_str = "";
+            
+      StringBuffer index_value = new StringBuffer ();
+      if (mg_indexer == true) {
+	// For mg indexer, there is a 'level' attribute in the index element of the internal structure
+	// But mgpp/lucene don't
+	level_str = index_element.getAttribute (StaticStrings.LEVEL_ATTRIBUTE);
+	if(level_str.length () > 0) {
+	  index_value.append (level_str).append (StaticStrings.COLON_CHARACTER);
+	  //index_value = index_value.StaticStrings.COLON_CHARACTER;
+	}
+      }
+            
+      NodeList content_elements = index_element.getElementsByTagName (StaticStrings.CONTENT_ELEMENT);
+      int content_elements_length = content_elements.getLength ();
+            
+      for(int k = 0; k < content_elements_length; k++) {
+	Element content_element = (Element) content_elements.item (k);
+	if (content_element.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+	  continue;
+	}
+	String name_str = content_element.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+                
+	full_index_name = full_index_name + name_str;
+	if (k < content_elements_length - 1) {
+	  full_index_name = full_index_name + StaticStrings.COMMA_CHARACTER;
+	}
+                
+	if(name_str.startsWith (StaticStrings.EXTRACTED_NAMESPACE)) {
+	  name_str = name_str.substring (StaticStrings.EXTRACTED_NAMESPACE.length ());
+	}
+
+	index_value.append (name_str);
+	name_str = null;
+	// Make it comma separated string
+	if(k < content_elements_length - 1) {
+	  index_value.append (StaticStrings.COMMA_CHARACTER);
+	}
+	content_element = null;
+      }//for loop ends
+            
+      String temp_str = index_value.toString ();
+      index_ele.setAttribute (StaticStrings.NAME_ATTRIBUTE, temp_str);
+            
+      // Now constructing 'displayItem' element for this 'index_ele' element
+      // The index names in the collectionmetadata elements in the internal structure are not the names that
+      // are used in the content elements (i.e. ex.Source or dc.Subject and keywords), but the names that are
+      // in the configuration files (i.e. Source or dc.Subject)
+      ArrayList collectionmetadata_list = XMLTools.getNamedElementList (source,
+									StaticStrings.COLLECTIONMETADATA_ELEMENT,
+									StaticStrings.NAME_ATTRIBUTE, temp_str);
+            
+      if (collectionmetadata_list == null) {
+	//try the full name, i.e. with 'ex.'
+	if (mg_indexer == true) {
+	  // but first append level info if we are mg
+	  full_index_name = level_str+StaticStrings.COLON_CHARACTER+full_index_name;
+	}
+	collectionmetadata_list = XMLTools.getNamedElementList (source,
+								StaticStrings.COLLECTIONMETADATA_ELEMENT,
+								StaticStrings.NAME_ATTRIBUTE, full_index_name);
+      }
+	
+      if (collectionmetadata_list != null) {
+                
+	for(int k = 0; k < collectionmetadata_list.size (); k++) {
+	  Element collectionmetadata = (Element)collectionmetadata_list.get (k);
+	  if (collectionmetadata.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+	    continue;
+	  }
+	  Element displayItem = constructDisplayItem (collectionmetadata, to);
+                    
+	  index_ele.appendChild (displayItem);
+	}
+      }
+            
+      search.appendChild (index_ele);
+            
+    } //for loop ends
+        
+    //Convert default index
+    convertDefaultIndex (from, to, search);
+    convertIndexOptions(from, to, search);
+  }
+  // Convert levels for mgpp/lucene. This method is called by converIndex() when mgpp indexer is detected.
+  static private void convertLevels (Document from, Document to, Element search) {
+    Element source = from.getDocumentElement ();
+    Element index_option = XMLTools.getNamedElement (source,
+						     StaticStrings.INDEXOPTIONS_ELEMENT,
+						     StaticStrings.NAME_ATTRIBUTE, StaticStrings.LEVELS_STR);
+    if (index_option == null) {
+      return;
+    }
+    //Debugging purposes
+    if (index_option.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+      DebugStream.println ("For mgpp, there should be an IndexOption element for levels which is assigned 'true': possible bug.");
+    }
+        
+    NodeList option_elements = index_option.getElementsByTagName (StaticStrings.OPTION_ELEMENT);
+    int num_elements = option_elements.getLength ();
+        
+    // Don't output anything if no indexes are set
+    if(num_elements == 0) {
+      return ;//
+    }
+        
+    for(int k = 0; k < num_elements; k++) {
+      Element e = (Element) option_elements.item (k);
+      String name_str = e.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+      Element level_element = to.createElement (StaticStrings.LEVEL_ELEMENT);
+      level_element.setAttribute (StaticStrings.NAME_ATTRIBUTE, name_str);
+            
+      //Now construct displayItem for this level element from collectionmetadata
+      ArrayList collectionmetadata_list = XMLTools.getNamedElementList (source,
+									StaticStrings.COLLECTIONMETADATA_ELEMENT,
+									StaticStrings.NAME_ATTRIBUTE, name_str);
+            
+      if (collectionmetadata_list != null) {
+                
+	for(int j = 0; j < collectionmetadata_list.size (); j++) {
+	  Element collectionmetadata = (Element)collectionmetadata_list.get (j);
+                    
+	  Element displayItem = constructDisplayItem (collectionmetadata, to);
+	  level_element.appendChild (displayItem);
+	}
+      }
+      search.appendChild (level_element);
+    }
+        
+    //Convert default level
+    Element default_index_option = XMLTools.getNamedElement (source,
+							     StaticStrings.INDEXOPTION_DEFAULT_ELEMENT,
+							     StaticStrings.NAME_ATTRIBUTE, StaticStrings.LEVEL_DEFAULT_STR);
+    if (default_index_option == null) {
+      return;
+    }
+    Element default_level = to.createElement (StaticStrings.LEVEL_DEFAULT_ELEMENT);
+    String default_level_str = default_index_option.getAttribute (StaticStrings.VALUE_ATTRIBUTE);
+    default_level.setAttribute (StaticStrings.NAME_ATTRIBUTE, default_level_str);
+    search.appendChild (default_level);
+        
+  }
+  // Convert indexoptions for mg/mgpp/lucene. This method is called by convertIndex().
+  static private void convertIndexOptions (Document from, Document to, Element search) {
+    Element source = from.getDocumentElement ();
+    Element index_option = XMLTools.getNamedElement (source,
+						     StaticStrings.INDEXOPTIONS_ELEMENT,
+						     StaticStrings.NAME_ATTRIBUTE, StaticStrings.INDEXOPTIONS_STR);
+    if (index_option == null) {
+      return;
+    }
+    //Debugging purposes
+    if (index_option.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.FALSE_STR)) {
+      DebugStream.println ("There should be an IndexOption element which is assigned 'true': possible bug.");
+    }
+    Element indexOptionEl = to.createElement(StaticStrings.INDEXOPTION_STR);
+    NodeList option_elements = index_option.getElementsByTagName (StaticStrings.OPTION_ELEMENT);
+    int num_elements = option_elements.getLength ();        
+    // Don't output anything if no index
+    if(num_elements == 0) {
+      return ;//
+    }
+    search.appendChild (indexOptionEl);
+        
+    for(int k = 0; k < num_elements; k++) {
+      Element e = (Element) option_elements.item (k);
+      String name_att = e.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+      Element optionEl = to.createElement(StaticStrings.OPTION_STR);
+      optionEl.setAttribute(StaticStrings.NAME_ATTRIBUTE, name_att);
+      indexOptionEl.appendChild(optionEl);
+    }
+           
+  }
+  // Append the element son to the element mother in the appropriate position.
+  static public void appendProperly (Element mother, Element son) {
+    if (son == null)
+      return;
+        
+    Node reference_node = findInsertionPoint (mother, son);
+    if(reference_node != null) {
+      mother.insertBefore (son, reference_node);
+    }
+    else {
+      mother.appendChild (son);
+    }
+  }
+  /** Find the best insertion position for the given DOM Element 'target_element' in the DOM Element 'document_element'. This should try to match command tag, and if found should then try to group by name or type (eg CollectionMeta), or append to end is no such grouping exists (eg Plugins). Failing a command match it will check against the command order for the best insertion location.
+   * @param target_element the command Element to be inserted
+   * @return the Element which the given command should be inserted before, or null to append to end of list
+   */
+  static public Node findInsertionPoint (Element document_element, Element target_element) {
+    ///ystem.err.println("Find insertion point: " + target_element.getNodeName());
+    String target_element_name = target_element.getNodeName ();
+        
+    // Try to find commands with the same tag.
+    NodeList matching_elements = document_element.getElementsByTagName (target_element_name);
+    // If we found matching elements, then we have our most likely insertion location, so check within for groupings
+    if(matching_elements.getLength () != 0) {
+      ///ystem.err.println("Found matching elements.");
+      // Only CollectionMeta are grouped.
+      if(target_element_name.equals (StaticStrings.COLLECTIONMETADATA_ELEMENT)) {
+	///ystem.err.println("Dealing with collection metadata");
+	// Special case: CollectionMeta can be added at either the start or end of a collection configuration file. However the start position is reserved for special metadata, so if no non-special metadata can be found we must append to the end.
+	// So if the command to be added is special add it immediately after any other special command
+	if(target_element.getAttribute (StaticStrings.SPECIAL_ATTRIBUTE).equals (StaticStrings.TRUE_STR)) {
+	  int index = 0;
+	  Element matched_element = (Element) matching_elements.item (index);
+	  Element sibling_element = (Element) matched_element.getNextSibling ();
+	  while(sibling_element.getAttribute (StaticStrings.SPECIAL_ATTRIBUTE).equals (StaticStrings.TRUE_STR)) {
+	    index++;
+	    matched_element = (Element) matching_elements.item (index);
+	    sibling_element = (Element) matched_element.getNextSibling ();
+	  }
+	  if(sibling_element.getNodeName ().equals (CollectionConfiguration.NEWLINE_ELEMENT)) {
+	    Element newline_element = document_element.getOwnerDocument().createElement (CollectionConfiguration.NEWLINE_ELEMENT);
+	    document_element.insertBefore (newline_element, sibling_element);
+	  }
+	  return sibling_element;
+	}
+	// Otherwise try to find a matching 'name' and add after the last one in that group.
+	else {
+	  int index = 0;
+	  target_element_name = target_element.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+	  boolean found = false;
+	  // Skip all of the special metadata
+	  Element matched_element = (Element) matching_elements.item (index);
+	  while(matched_element.getAttribute (StaticStrings.SPECIAL_ATTRIBUTE).equals (StaticStrings.TRUE_STR)) {
+	    index++;
+	    matched_element = (Element) matching_elements.item (index);
+	  }
+	  // Begin search
+	  while(!found && matched_element != null) {
+	    if(matched_element.getAttribute (StaticStrings.NAME_ATTRIBUTE).equals (target_element_name)) {
+	      found = true;
+	    }
+	    else {
+	      index++;
+	      matched_element = (Element) matching_elements.item (index);
+	    }
+	  }
+	  // If we found a match, we need to continue checking until we find the last name match.
+	  if(found) {
+	    index++;
+	    Element previous_sibling = matched_element;
+	    Element sibling_element = (Element) matching_elements.item (index);
+	    while(sibling_element != null && sibling_element.getAttribute (StaticStrings.NAME_ATTRIBUTE).equals (target_element_name)) {
+	      previous_sibling = sibling_element;
+	      index++;
+	      sibling_element = (Element) matching_elements.item (index);
+	    }
+	    // Previous sibling now holds the command immediately before where we want to add, so find its next sibling and add to that. In this one case we can ignore new lines!
+	    return previous_sibling.getNextSibling ();
+	  }
+	  // If not found we just add after last metadata element
+	  else {
+	    Element last_element = (Element) matching_elements.item (matching_elements.getLength () - 1);
+	    return last_element.getNextSibling ();
+	  }
+	}
+                
+      }
+      else {
+	///ystem.err.println("Not dealing with collection meta.");
+	Element matched_element = (Element) matching_elements.item (matching_elements.getLength () - 1);
+	// One final quick test. If the matched element is immediately followed by a NewLine command, then we insert another NewLine after the matched command, then return the NewLine instead (thus the about to be inserted command will be placed between the two NewLines)
+	Node sibling_element = matched_element.getNextSibling ();
+	if(sibling_element != null && sibling_element.getNodeName ().equals (CollectionConfiguration.NEWLINE_ELEMENT)) {
+	  Element newline_element = document_element.getOwnerDocument().createElement (CollectionConfiguration.NEWLINE_ELEMENT);
+	  document_element.insertBefore (newline_element, sibling_element);
+	}
+	return sibling_element; // Note that this may be null
+      }
+    }
+    ///ystem.err.println("No matching elements found.");
+    // Locate where this command is in the ordering
+    int command_index = -1;
+    for(int i = 0; command_index == -1 && i < CollectionConfiguration.COMMAND_ORDER.length; i++) {
+      if(CollectionConfiguration.COMMAND_ORDER[i].equals (target_element_name)) {
+	command_index = i;
+      }
+    }
+    ///ystem.err.println("Command index is: " + command_index);
+    // Now move forward, checking for existing elements in each of the preceeding command orders.
+    int preceeding_index = command_index - 1;
+    ///ystem.err.println("Searching before the target command.");
+    while(preceeding_index >= 0) {
+      matching_elements = document_element.getElementsByTagName (CollectionConfiguration.COMMAND_ORDER[preceeding_index]);
+      // If we've found a match
+      if(matching_elements.getLength () > 0) {
+	// We add after the last element
+	Element matched_element = (Element) matching_elements.item (matching_elements.getLength () - 1);
+	// One final quick test. If the matched element is immediately followed by a NewLine command, then we insert another NewLine after the matched command, then return the NewLine instead (thus the about to be inserted command will be placed between the two NewLines)
+	Node sibling_element = matched_element.getNextSibling ();
+	if(sibling_element != null && sibling_element.getNodeName ().equals (CollectionConfiguration.NEWLINE_ELEMENT)) {
+	  Element newline_element = document_element.getOwnerDocument().createElement (CollectionConfiguration.NEWLINE_ELEMENT);
+	  document_element.insertBefore (newline_element, sibling_element);
+	}
+	return sibling_element; // Note that this may be null
+      }
+      preceeding_index--;
+    }
+    // If all that fails, we now move backwards through the commands
+    int susceeding_index = command_index + 1;
+    ///ystem.err.println("Searching after the target command.");
+    while(susceeding_index < CollectionConfiguration.COMMAND_ORDER.length) {
+      matching_elements = document_element.getElementsByTagName (CollectionConfiguration.COMMAND_ORDER[susceeding_index]);
+      // If we've found a match
+      if(matching_elements.getLength () > 0) {
+	// We add before the first element
+	Element matched_element = (Element) matching_elements.item (0);
+	// One final quick test. If the matched element is immediately preceeded by a NewLine command, then we insert another NewLine before the matched command, then return this new NewLine instead (thus the about to be inserted command will be placed between the two NewLines)
+	Node sibling_element = matched_element.getPreviousSibling ();
+	if(sibling_element != null && sibling_element.getNodeName ().equals (CollectionConfiguration.NEWLINE_ELEMENT)) {
+	  Element newline_element = document_element.getOwnerDocument().createElement (CollectionConfiguration.NEWLINE_ELEMENT);
+	  document_element.insertBefore (newline_element, sibling_element);
+	}
+	return sibling_element; // Note that this may be null
+      }
+      susceeding_index++;
+    }
+    // Well. Apparently there are no other commands in this collection configuration. So append away...
+    return null;
+  }
+  // From collectionConfig.xml to internal structure:add 'ex.' namespace (if none).
+  // From internal structure to collectionConfig.xml:always peel off 'ex.' namespace (if any), except for format statement
+  //This method parses 'xml_file_doc' into 'dOc'
+  static public void parse(File xml_file, Document dOc) {
+        
+    Document xml_file_doc = XMLTools.parseXMLFile (xml_file);
+    Element fromElement = xml_file_doc.getDocumentElement ();
+    Element toElement = dOc.getDocumentElement ();
+        
+    // It's deliberately set that 'creator', 'maintainer', and 'public' are only in English (as they are just names).
+    // So the following ArrayList have only one element.
+    Node metadataListNode = XMLTools.getChildByTagNameIndexed (fromElement, StaticStrings.METADATALIST_STR, 0);
+    if (metadataListNode != null) {
+      ArrayList creator = doMetadataList (dOc, metadataListNode, StaticStrings.COLLECTIONMETADATA_CREATOR_ELEMENT,
+					  StaticStrings.COLLECTIONMETADATA_CREATOR_STR);
+      ArrayList maintainer = doMetadataList (dOc, metadataListNode,
+					     StaticStrings.COLLECTIONMETADATA_MAINTAINER_ELEMENT,
+					     StaticStrings.COLLECTIONMETADATA_MAINTAINER_STR);
+      ArrayList is_public = doMetadataList (dOc, metadataListNode, StaticStrings.COLLECTIONMETADATA_PUBLIC_ELEMENT,
+					    StaticStrings.COLLECTIONMETADATA_PUBLIC_STR);
+            
+      appendArrayList (toElement, creator);
+      appendArrayList (toElement, maintainer);
+      appendArrayList (toElement, is_public);
+    }
+        
+    Node searchNode = XMLTools.getChildByTagNameIndexed (fromElement, StaticStrings.SEARCH_STR, 0);
+    String buildtype_value = ((Element)searchNode).getAttribute (StaticStrings.TYPE_ATTRIBUTE);//might be mg|mgpp|lucene
+    Element buildtype = doBuildType (dOc, buildtype_value);
+    appendProperly (toElement, buildtype);
+        
+        
+    Node importNode = XMLTools.getChildByTagNameIndexed (fromElement, StaticStrings.IMPORT_STR, 0);
+    if (importNode == null) {
+      System.out.println ("There is no content in the 'import' block.");
+    }
+    if (importNode != null) {
+      //do plugin list nodes
+      Node pluginListNode = XMLTools.getChildByTagNameIndexed ((Element)importNode, StaticStrings.PLUGINLIST_STR, 0);           
+      if (pluginListNode == null) {
+	System.out.println ("There is no pluginlist set.");
+      }
+      if (pluginListNode != null) {
+                
+	doPlugin (dOc, pluginListNode);
+      }
+            
+      //do the plugout element (used by building flax collections)
+      Node plugout = XMLTools.getChildByTagNameIndexed ((Element)importNode, PLUGOUT_ELEMENT, 0);
+      if (plugout != null) {
+	Element to_element = XMLTools.duplicateElement (dOc, (Element)plugout, true);
+	toElement.appendChild (to_element);
+      }
+    }
+        
+    Node browseNode = XMLTools.getChildByTagNameIndexed (fromElement, StaticStrings.BROWSE_STR, 0);
+    if (browseNode != null) {
+      if (browseNode == null) {
+	System.out.println ("There is no classifier.");
+      }
+      doClassifier (dOc, browseNode);
+    }
+        
+    Node displayItemListNode = XMLTools.getChildByTagNameIndexed (fromElement, StaticStrings.DISPLAYITEMLIST_STR, 0);
+    if (displayItemListNode != null) {
+      ArrayList description = doDisplayItemList (dOc, displayItemListNode, StaticStrings.DESCRIPTION_STR,
+						 StaticStrings.COLLECTIONMETADATA_COLLECTIONEXTRA_STR);
+      ArrayList smallicon = doDisplayItemList (dOc, displayItemListNode, StaticStrings.SMALLICON_STR,
+					       StaticStrings.COLLECTIONMETADATA_ICONCOLLECTIONSMALL_STR);
+      ArrayList icon = doDisplayItemList (dOc, displayItemListNode, StaticStrings.ICON_STR,
+					  StaticStrings.COLLECTIONMETADATA_ICONCOLLECTION_STR);
+      ArrayList name = doDisplayItemList (dOc, displayItemListNode, StaticStrings.NAME_STR,
+					  StaticStrings.COLLECTIONMETADATA_COLLECTIONNAME_STR);
+            
+      appendArrayList (toElement, description);
+      appendArrayList (toElement, smallicon);
+      appendArrayList (toElement, icon);
+      appendArrayList (toElement, name);
+    }
+        
+    if (buildtype_value.equalsIgnoreCase ("mg")) {
+      doMGIndexes (dOc, searchNode);
+    }
+    else {
+      doMGPPIndexes (dOc, searchNode);
+    }
+        
+    doDefaultIndex (dOc, searchNode);
+    //doSearchType (dOc, searchNode);
+    doDefaultLevel (dOc, searchNode);
+    doLevel (dOc, searchNode);
+    doIndexOption (dOc, searchNode);
+    doSubcollection (dOc, searchNode);
+    doIndexSubcollection (dOc, searchNode);
+    doIndexLanguage (dOc, searchNode);
+    doDefaultIndexLanguage (dOc, searchNode);
+    doLanguageMetadata (dOc, searchNode);
+    doSearchFormat (dOc, searchNode);
+    doDisplayFormat (dOc, fromElement);
+    doReplaceListRef (dOc, fromElement);
+    doOAIElement (dOc, fromElement);
+        
+  }
+    
+    
+  static public String generateStringVersion(Document doc) {
+    return XMLTools.xmlNodeToString(doc);
+  }
+  
+  static public void save (File collect_config_xml_file, Document doc) {
+        
+    Document collection_config_xml_document = convertInternalToCollectionConfig (doc);
+    String[] nonEscapingTagNames = {StaticStrings.FORMAT_STR};
+    XMLTools.writeXMLFile (collect_config_xml_file, collection_config_xml_document, nonEscapingTagNames);
+       
+  }
+
+  //Convert the internal XML DOM tree (dOc) into that of collectionConfig.xml (skeleton)
+  static private Document convertInternalToCollectionConfig (Document dOc) {
+    //first parse an empty skeleton of xml config file
+    //The aim is to convert the internal structure into this skeleton
+    Document skeleton = XMLTools.parseXMLFile ("xml/CollectionConfig.xml", true);
+    //Element internal = dOc.getDocumentElement();
+    convertMetadataList (dOc, skeleton);
+    convertDisplayItemList (dOc, skeleton);
+    convertBuildType (dOc, skeleton);
+    convertIndex (dOc, skeleton);
+    convertPlugin (dOc, skeleton);//also do the plugout element
+    convertClassifier (dOc, skeleton);
+    convertSubcollectionIndexes (dOc, skeleton);
+    convertLanguages (dOc, skeleton);
+    convertSubcollection (dOc, skeleton);
+    convertSearchType (dOc, skeleton);
+    convertSearchFormat (dOc, skeleton);
+    convertDisplayFormat (dOc, skeleton);
+    convertReplaceListRef (dOc, skeleton);
+    convertOAIElement(dOc, skeleton);
+
+    return skeleton;
+  }
+
+  // Append the elements, which are of Element type, in 'list' to Element 'to'
+  static private void appendArrayList (Element to, ArrayList list) {
+    if (list == null) return;
+        
+    for (int i=0; i<list.size (); i++) {
+      appendProperly (to, (Element)list.get (i));
+    }
+  }
+
+
+  
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CollectionConfiguration.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CollectionConfiguration.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CollectionConfiguration.java	(revision 21123)
@@ -0,0 +1,479 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.greenstone.LocalLibraryServer;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.greenstone.gatherer.util.DOMTree;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.XMLTools;
+import org.greenstone.gatherer.util.Utility;
+import org.w3c.dom.*;
+
+/** This class provides access to an xml-type view of the collect.cfg file. This is useful as it allows the manipulation and free form editing of a collect.cfg file while still allowing the various CDM data managers to base themselves directly on this model (whereas they used to be independant ListModels which clobbered the ordering of unparsed commands).
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ */
+public class CollectionConfiguration {
+  static final public String ENCODING = "UTF-8";
+  static final public String NEWLINE_ELEMENT = "NewLine";
+    
+  static private Document document;
+  static private String saved_config_file_string = null;
+    
+  // may be collec.cfg (GS2) or collectionConfig.xml (GS3)
+  private File collect_config_file;
+  private String collect_config_filename;
+  
+  // This method is initilised in CollectionDesignManager.java constructor
+  public CollectionConfiguration (File collect_config_file) {
+    this.collect_config_file = collect_config_file;
+    this.collect_config_filename = collect_config_file.getName();
+    // parse the XML template
+    document = XMLTools.parseXMLFile ("xml/CollectionConfig.xml", true);
+    String filename = collect_config_filename.toLowerCase ();
+        
+    if (filename.endsWith (".cfg")) {
+      saved_config_file_string = CollectCfgReadWrite.parse (collect_config_file, document);
+    }
+    else if (filename.endsWith (".xml")) {
+      CollectionConfigXMLReadWrite.parse (collect_config_file, document);
+    }
+        
+    //XMLTools.printXMLNode(document.getDocumentElement());
+  }
+
+  static public Element createElement (String element_name) {
+    return document.createElement (element_name);
+  }
+    
+  /** Gives the preferred ordering of commands */
+  static final public String[] COMMAND_ORDER =
+  {StaticStrings.COLLECTIONMETADATA_CREATOR_ELEMENT, StaticStrings.COLLECTIONMETADATA_MAINTAINER_ELEMENT, StaticStrings.COLLECTIONMETADATA_PUBLIC_ELEMENT, StaticStrings.BUILDTYPE_ELEMENT, StaticStrings.PLUGIN_ELEMENT, StaticStrings.INDEXES_ELEMENT, StaticStrings.INDEX_DEFAULT_ELEMENT, StaticStrings.INDEXOPTIONS_ELEMENT, StaticStrings.INDEXOPTION_DEFAULT_ELEMENT, StaticStrings.LANGUAGES_ELEMENT, StaticStrings.LANGUAGE_DEFAULT_ELEMENT, StaticStrings.LANGUAGE_METADATA_ELEMENT, StaticStrings.SUBCOLLECTION_ELEMENT, StaticStrings.SUBCOLLECTION_INDEXES_ELEMENT, StaticStrings.SUBCOLLECTION_DEFAULT_INDEX_ELEMENT, StaticStrings.SUPERCOLLECTION_ELEMENT, StaticStrings.CLASSIFY_ELEMENT, StaticStrings.FORMAT_ELEMENT, StaticStrings.COLLECTIONMETADATA_ELEMENT};
+     
+  /** Find the best insertion position for the given DOM Element. This should try to match command tag, and if found should then try to group by name or type (eg CollectionMeta), or append to end is no such grouping exists (eg Plugins). Failing a command match it will check against the command order for the best insertion location.
+   * @param target_element the command Element to be inserted
+   * @return the Element which the given command should be inserted before, or null to append to end of list
+   */
+  static public Node findInsertionPoint (Element target_element) {
+    ///ystem.err.println("Find insertion point: " + target_element.getNodeName());
+    String target_element_name = target_element.getNodeName ();
+    Element document_element = document.getDocumentElement ();
+    // Try to find commands with the same tag.
+    NodeList matching_elements = document_element.getElementsByTagName (target_element_name);
+    // If we found matching elements, then we have our most likely insertion location, so check within for groupings
+    if(matching_elements.getLength () != 0) {
+      ///ystem.err.println("Found matching elements.");
+      // Only CollectionMeta are grouped.
+      if(target_element_name.equals (StaticStrings.COLLECTIONMETADATA_ELEMENT)) {
+	///ystem.err.println("Dealing with collection metadata");
+	// Special case: CollectionMeta can be added at either the start or end of a collection configuration file. However the start position is reserved for special metadata, so if no non-special metadata can be found we must append to the end.
+	// So if the command to be added is special add it immediately after any other special command
+	if(target_element.getAttribute (StaticStrings.SPECIAL_ATTRIBUTE).equals (StaticStrings.TRUE_STR)) {
+	  int index = 0;
+	  Element matched_element = (Element) matching_elements.item (index);
+	  Element sibling_element = (Element) matched_element.getNextSibling ();
+	  while(sibling_element.getAttribute (StaticStrings.SPECIAL_ATTRIBUTE).equals (StaticStrings.TRUE_STR)) {
+	    index++;
+	    matched_element = (Element) matching_elements.item (index);
+	    sibling_element = (Element) matched_element.getNextSibling ();
+	  }
+	  if(sibling_element.getNodeName ().equals (NEWLINE_ELEMENT)) {
+	    Element newline_element = document.createElement (NEWLINE_ELEMENT);
+	    document_element.insertBefore (newline_element, sibling_element);
+	  }
+	  return sibling_element;
+	}
+	// Otherwise try to find a matching 'name' and add after the last one in that group.
+	else {
+	  int index = 0;
+	  target_element_name = target_element.getAttribute (StaticStrings.NAME_ATTRIBUTE);
+	  boolean found = false;
+	  // Skip all of the special metadata
+	  Element matched_element = (Element) matching_elements.item (index);
+	  while(matched_element.getAttribute (StaticStrings.SPECIAL_ATTRIBUTE).equals (StaticStrings.TRUE_STR)) {
+	    index++;
+	    matched_element = (Element) matching_elements.item (index);
+	  }
+	  // Begin search
+	  while(!found && matched_element != null) {
+	    if(matched_element.getAttribute (StaticStrings.NAME_ATTRIBUTE).equals (target_element_name)) {
+	      found = true;
+	    }
+	    else {
+	      index++;
+	      matched_element = (Element) matching_elements.item (index);
+	    }
+	  }
+	  // If we found a match, we need to continue checking until we find the last name match.
+	  if(found) {
+	    index++;
+	    Element previous_sibling = matched_element;
+	    Element sibling_element = (Element) matching_elements.item (index);
+	    while(sibling_element != null && sibling_element.getAttribute (StaticStrings.NAME_ATTRIBUTE).equals (target_element_name)) {
+	      previous_sibling = sibling_element;
+	      index++;
+	      sibling_element = (Element) matching_elements.item (index);
+	    }
+	    // Previous sibling now holds the command immediately before where we want to add, so find its next sibling and add to that. In this one case we can ignore new lines!
+	    return previous_sibling.getNextSibling ();
+	  }
+	  // If not found we just add after last metadata element
+	  else {
+	    Element last_element = (Element) matching_elements.item (matching_elements.getLength () - 1);
+	    return last_element.getNextSibling ();
+	  }
+	}
+                
+      }
+      else {
+	///ystem.err.println("Not dealing with collection meta.");
+	Element matched_element = (Element) matching_elements.item (matching_elements.getLength () - 1);
+	// One final quick test. If the matched element is immediately followed by a NewLine command, then we insert another NewLine after the matched command, then return the NewLine instead (thus the about to be inserted command will be placed between the two NewLines)
+	Node sibling_element = matched_element.getNextSibling ();
+	if(sibling_element != null && sibling_element.getNodeName ().equals (NEWLINE_ELEMENT)) {
+	  Element newline_element = document.createElement (NEWLINE_ELEMENT);
+	  document_element.insertBefore (newline_element, sibling_element);
+	}
+	return sibling_element; // Note that this may be null
+      }
+    }
+    ///ystem.err.println("No matching elements found.");
+    // Locate where this command is in the ordering
+    int command_index = -1;
+    for(int i = 0; command_index == -1 && i < COMMAND_ORDER.length; i++) {
+      if(COMMAND_ORDER[i].equals (target_element_name)) {
+	command_index = i;
+      }
+    }
+    ///ystem.err.println("Command index is: " + command_index);
+    // Now move forward, checking for existing elements in each of the preceeding command orders.
+    int preceeding_index = command_index - 1;
+    ///ystem.err.println("Searching before the target command.");
+    while(preceeding_index >= 0) {
+      matching_elements = document_element.getElementsByTagName (COMMAND_ORDER[preceeding_index]);
+      // If we've found a match
+      if(matching_elements.getLength () > 0) {
+	// We add after the last element
+	Element matched_element = (Element) matching_elements.item (matching_elements.getLength () - 1);
+	// One final quick test. If the matched element is immediately followed by a NewLine command, then we insert another NewLine after the matched command, then return the NewLine instead (thus the about to be inserted command will be placed between the two NewLines)
+	Node sibling_element = matched_element.getNextSibling ();
+	if(sibling_element != null && sibling_element.getNodeName ().equals (NEWLINE_ELEMENT)) {
+	  Element newline_element = document.createElement (NEWLINE_ELEMENT);
+	  document_element.insertBefore (newline_element, sibling_element);
+	}
+	return sibling_element; // Note that this may be null
+      }
+      preceeding_index--;
+    }
+    // If all that fails, we now move backwards through the commands
+    int susceeding_index = command_index + 1;
+    ///ystem.err.println("Searching after the target command.");
+    while(susceeding_index < COMMAND_ORDER.length) {
+      matching_elements = document_element.getElementsByTagName (COMMAND_ORDER[susceeding_index]);
+      // If we've found a match
+      if(matching_elements.getLength () > 0) {
+	// We add before the first element
+	Element matched_element = (Element) matching_elements.item (0);
+	// One final quick test. If the matched element is immediately preceeded by a NewLine command, then we insert another NewLine before the matched command, then return this new NewLine instead (thus the about to be inserted command will be placed between the two NewLines)
+	Node sibling_element = matched_element.getPreviousSibling ();
+	if(sibling_element != null && sibling_element.getNodeName ().equals (NEWLINE_ELEMENT)) {
+	  Element newline_element = document.createElement (NEWLINE_ELEMENT);
+	  document_element.insertBefore (newline_element, sibling_element);
+	}
+	return sibling_element; // Note that this may be null
+      }
+      susceeding_index++;
+    }
+    // Well. Apparently there are no other commands in this collection configuration. So append away...
+    return null;
+  }
+    
+    
+  static public NodeList getElementsByTagName (String element_name) {
+    return document.getDocumentElement ().getElementsByTagName (element_name);
+  }
+       
+  public Element getDocumentElement () {
+    return document.getDocumentElement ();
+  }
+    
+  /** This debug facility shows the currently loaded collect.cfg or CollectConfig.xml file as a DOM tree. */
+  public void display () {
+    JDialog dialog = new JDialog (Gatherer.g_man, "Collection Configuration", false);
+    dialog.setSize (400,400);
+    JPanel content_pane = (JPanel) dialog.getContentPane ();
+    final DOMTree tree = new DOMTree (document);
+    JButton refresh_button = new GLIButton ("Refresh Tree");
+    refresh_button.addActionListener (new ActionListener () {
+	public void actionPerformed (ActionEvent event) {
+	  tree.setDocument (document);
+	}
+      });
+    content_pane.setBorder (BorderFactory.createEmptyBorder (5,5,5,5));
+    content_pane.setLayout (new BorderLayout ());
+    content_pane.add (new JScrollPane (tree), BorderLayout.CENTER);
+    content_pane.add (refresh_button, BorderLayout.SOUTH);
+    dialog.setVisible (true);
+  }
+    
+        
+    
+  public File getFile () {
+    return collect_config_file;
+  }
+    
+  public Element getCreator () {
+    Element element = getOrCreateElementByTagName (StaticStrings.COLLECTIONMETADATA_CREATOR_ELEMENT, null, null);
+    element.setAttribute (StaticStrings.NAME_ATTRIBUTE, StaticStrings.COLLECTIONMETADATA_CREATOR_STR);
+    element.setAttribute (StaticStrings.SPECIAL_ATTRIBUTE, StaticStrings.TRUE_STR);
+    return element;
+  }
+
+  public Element getMaintainer () {
+    Element element = getOrCreateElementByTagName (StaticStrings.COLLECTIONMETADATA_MAINTAINER_ELEMENT, null, null);
+    element.setAttribute (StaticStrings.NAME_ATTRIBUTE, StaticStrings.COLLECTIONMETADATA_MAINTAINER_STR);
+    element.setAttribute (StaticStrings.SPECIAL_ATTRIBUTE, StaticStrings.TRUE_STR);
+    return element;
+  }
+
+  /** Retrieve or create the languages Element. */
+  public Element getLanguages () {
+    return getOrCreateElementByTagName (StaticStrings.LANGUAGES_ELEMENT, null, null);
+  }
+    
+  public Element getLanguageMetadata () {
+    return getOrCreateElementByTagName (StaticStrings.LANGUAGE_METADATA_ELEMENT, null, null);
+  }
+    
+  public Element getLevels () {
+    return getOrCreateElementByTagName (StaticStrings.INDEXOPTIONS_ELEMENT, StaticStrings.NAME_ATTRIBUTE, StaticStrings.LEVELS_STR);
+  }
+    
+  public Element getLevelDefault () {
+    return getOrCreateElementByTagName (StaticStrings.INDEXOPTION_DEFAULT_ELEMENT, StaticStrings.NAME_ATTRIBUTE, StaticStrings.LEVEL_DEFAULT_STR);
+  }
+    
+  public Element getIndexOptions () {
+    return getOrCreateElementByTagName (StaticStrings.INDEXOPTIONS_ELEMENT, StaticStrings.NAME_ATTRIBUTE, StaticStrings.INDEXOPTIONS_STR);
+  }
+    
+       
+  /** Retrieve or create the indexes Element. Note that this method behaves differently from the other getBlah methods, in that it also has to keep in mind that indexes come in two flavours, MG and MGPP. */
+  public Element getMGIndexes () {
+    return getOrCreateElementByTagName (StaticStrings.INDEXES_ELEMENT, StaticStrings.MGPP_ATTRIBUTE, StaticStrings.FALSE_STR);
+  }
+    
+  public Element getMGPPIndexes () {
+    return getOrCreateElementByTagName (StaticStrings.INDEXES_ELEMENT, StaticStrings.MGPP_ATTRIBUTE, StaticStrings.TRUE_STR);
+  }
+    
+  public Element getPublic () {
+    Element element = getOrCreateElementByTagName (StaticStrings.COLLECTIONMETADATA_PUBLIC_ELEMENT, null, null);
+    element.setAttribute (StaticStrings.NAME_ATTRIBUTE, StaticStrings.COLLECTIONMETADATA_PUBLIC_STR);
+    element.setAttribute (StaticStrings.SPECIAL_ATTRIBUTE, StaticStrings.TRUE_STR);
+    return element;
+  }
+    
+  public Element getBuildType () {
+    Element element = getOrCreateElementByTagName (StaticStrings.BUILDTYPE_ELEMENT, null, null);
+    element.setAttribute (StaticStrings.NAME_ATTRIBUTE, StaticStrings.BUILDTYPE_STR);
+    element.setAttribute (StaticStrings.SPECIAL_ATTRIBUTE, StaticStrings.TRUE_STR);
+    return element;
+        
+  }
+    
+  /** Retrieve or create the subindexes Element. */
+  public Element getSubIndexes () {
+    return getOrCreateElementByTagName (StaticStrings.SUBCOLLECTION_INDEXES_ELEMENT, null, null);
+  }
+    
+  /** Retrieve or create the supercollections Element. */
+  public Element getSuperCollection () {
+    return getOrCreateElementByTagName (StaticStrings.SUPERCOLLECTION_ELEMENT, null, null);
+  }
+    
+  public boolean ready () {
+    return document != null;
+  }
+    
+    
+    
+    
+  /** ************************** Private Methods ***************************/
+    
+  
+  /** Retrieve or create the indexes Element. */
+  static private Element getOrCreateElementByTagName (String name, String conditional_attribute, String required_value) {
+    Element document_element = document.getDocumentElement ();
+    NodeList elements = document_element.getElementsByTagName (name);
+    int elements_length = elements.getLength ();
+    if(elements_length > 0) {
+      if(conditional_attribute == null) {
+	document_element = null;
+	return (Element) elements.item (0);
+      }
+      else {
+	for(int i = 0; i < elements_length; i++) {
+	  Element element = (Element) elements.item (i);
+	  if(element.getAttribute (conditional_attribute).equals (required_value)) {
+	    document_element = null;
+	    return element;
+	  }
+	  element = null;
+	}
+      }
+    }
+    // Create the element
+    Element element = document.createElement (name);
+    // If there was a property set it
+    if(conditional_attribute != null) {
+      element.setAttribute (conditional_attribute, required_value);
+    }
+    Node target_node = findInsertionPoint (element);
+    if(target_node != null) {
+      document_element.insertBefore (element, target_node);
+    }
+    else {
+      document_element.appendChild (element);
+    }
+    document_element = null;
+    return element;
+  }
+    
+
+
+ 
+
+  /** Write the text to the buffer. This is used so we don't have to worry about storing intermediate String values just so we can calaulate length and offset.
+   * @param writer the BufferedWriter to which the str will be written
+   * @param str the String to be written
+   */
+  private void write (BufferedWriter writer, String str)
+    throws IOException {
+    writer.write (str, 0, str.length ());
+  }
+    
+
+  public void saveIfNecessary () {
+    
+    // Generate a string version of internal document
+    String config_file_string = null;
+    if (Gatherer.GS3) {
+      config_file_string = CollectionConfigXMLReadWrite.generateStringVersion(document);
+    } else {
+      config_file_string = CollectCfgReadWrite.generateStringVersion(document);
+    }
+    // compare to saved version
+    if (saved_config_file_string != null) {
+      if (saved_config_file_string.equals(config_file_string)) {
+	DebugStream.println (collect_config_filename +" file hasn't changed so no save necessary...");
+	return;
+      }
+    }
+    
+    // We need to save...
+    DebugStream.println (collect_config_filename +" file has changed, saving now...");
+
+       
+    // If we're using the Local Library we must release the collection before writing to the collect.cfg file
+    String collection_name = CollectionManager.getLoadedCollectionName ();
+    boolean collection_released = false;
+    if (Gatherer.c_man.built () && LocalLibraryServer.isRunning () == true) {
+      // Release the collection
+      LocalLibraryServer.releaseCollection (collection_name);
+      collection_released = true;
+    }
+        
+    // Make a backup of the existing config file
+    if (collect_config_file.exists ()) {
+      String config_filename;
+      String backup_filename;
+      if (Gatherer.GS3) {
+	config_filename = Utility.COLLECTION_CONFIG_XML;
+	backup_filename = Utility.COLLECTION_CONFIG_BAK;
+      } else {
+	config_filename = StaticStrings.COLLECT_CFG;
+	backup_filename = Utility.COLLECT_BAK;
+      }	
+      File original_file = new File (collect_config_file.getParentFile (), config_filename);
+      File backup_file = new File (collect_config_file.getParentFile (), backup_filename);
+      if (backup_file.exists ()) {
+	backup_file.delete ();
+      }
+      if (!original_file.renameTo (backup_file)) {
+	System.err.println ("Warning: can't rename "+config_filename + " to "+ backup_filename);
+      }
+    }
+
+    // now save the file
+    if (Gatherer.GS3) {
+      CollectionConfigXMLReadWrite.save(collect_config_file, document);
+    } else {
+      // we have already converted to string, so save here
+      try {
+	OutputStream ostream = new FileOutputStream (collect_config_file);
+	Writer file_writer = new OutputStreamWriter (ostream, ENCODING);
+	BufferedWriter buffered_writer = new BufferedWriter (file_writer);
+	buffered_writer.write (config_file_string);
+	buffered_writer.close ();
+      }
+      catch (Exception exception) {
+	DebugStream.println ("Error in CollectionConfiguration.save(): " + exception);
+	DebugStream.printStackTrace (exception);
+      }
+      
+    }
+
+    // save the string version
+    saved_config_file_string = config_file_string;
+    
+    // If we're using a remote Greenstone server, upload the new collect.cfg file
+    if (Gatherer.isGsdlRemote) {
+      Gatherer.remoteGreenstoneServer.uploadCollectionFile (collection_name, collect_config_file);
+    }
+  
+        
+    // Now re-add the collection to the Local Library server
+    if (collection_released) {
+      LocalLibraryServer.addCollection (collection_name);
+    }
+  }
+
+ 
+    
+}
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CollectionDesignManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CollectionDesignManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CollectionDesignManager.java	(revision 21123)
@@ -0,0 +1,273 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.awt.event.*;
+import java.io.*;
+import javax.swing.event.*;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.w3c.dom.*;
+
+//save()
+import org.greenstone.gatherer.util.XMLTools;
+import javax.swing.*;
+
+/** This manager provides access to submanagers, which in turn provide tools for the designing of Greenstone collections via the information stored in etc/collect.cfg. This class acts as a hub for the managers that handle specific parts of the configuration such as classifiers, format strings and language settings.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3d
+ */
+public class CollectionDesignManager {
+    /** This listener listens for any event on any of the components in any of the sub-views, and marks the collection as needing saving if any change occurs. */
+    static public CDMChangeListener change_listener;
+    /** These listeners listen to changes in the Design mode so as to allow minimal rebuilding */
+    static public DesignChangeListener all_change_listener;
+    static public DesignChangeListener buildcol_change_listener;
+    /** A list of classifiers to use at build time. */
+    static public ClassifierManager classifier_manager;
+    /** The CollectionConfiguration object on which this CDM will be based. */
+    static public CollectionConfiguration collect_config;
+    /** A manager of collection level metadata. */
+    static public CollectionMetaManager collectionmeta_manager;
+    /** A list of formating strings to use at build time. */
+    static public SharedByTwoFormatManager format_manager;
+    /** A manager of general options */
+    static public GeneralManager general_manager;
+    /** List of indexes to be built, and the default index. 
+     also handles build type and levels */
+    static public IndexingManager index_manager;
+    /** Contains instructions dealing with the collection language. */
+    static public LanguageManager language_manager;
+    /** Handling writing extra.dm file */
+    static public MacrosManager macros_manager;
+    /** A list of plugins to use at build time. */
+    static public PluginManager plugin_manager;
+    /** a manager of searching metadata such as index names*/ 
+    static public SearchMetadataManager searchmetadata_manager;
+    /** Contains: A list of subcollections, (defined on metadatadata), a list of which subcollection indexes to build and the default subcollection index. */
+    static public SubcollectionManager subcollection_manager;
+
+    static public SubcollectionIndexManager subcollectionindex_manager;
+    /** A supercollection command allows a single search to be conducted across several collections. It is a very basic command and so avoids all the crazy model stuff that exists in most of the design managers. */
+    static public SuperCollectionManager supercollection_manager; // Just cause I could ;p
+    /** The text translation manager. */
+    static public TranslationView translation_manager;
+    /** A manager of configuring depositor metadata */ 
+    static public DepositorMetadataManager depositormetadata_manager;
+
+    /** These mark what needs to happen when building a collection where ONLY design options have been changed.
+        The build requirements of the higher numbers must include doing everything from the lower numbers. */
+    static final public int ALL = 3;
+    static final public int BUILDCOL = 2;
+    static final public int NOTHING = 0;
+    static private int rebuildTypeRequired = NOTHING; //Rebuild type required if only design options have changed
+
+    /** This indicates whether a minimal or complete build is required.
+        Minimal means do an incremental rebuild. Complete means do a full rebuild
+        Note: This stores preceisely whether the user selected the minimal or full build radio button.
+        Its value does not indicate anything about what gli eventually chose as a result of that "suggestion" */
+    static private boolean isCompleteBuild = false;
+
+    /** These remember which scripts were run for the last build.
+        true indicated 'full-' prefix, false indicates 'incremental-' prefix to the given perl script (import.pl or buildcol.pl)
+        Note: This stores what gli did, regardless of whether minimal or full was requested by the user */
+    static private boolean importWasFull = false;
+    static private boolean buildcolWasFull = false;
+
+    /** Constructor. Loads a certain collection configuration file, which is parsed into a DOM. This model is then registered with the command information managers, each of whom knows how to, and provides controls to, alter certain commands.
+     * @param collect_config_file the File representing a collection configuration file either in its text (G2) or xml (G3) form
+     */
+    public CollectionDesignManager(File collect_config_file) {
+	DebugStream.println("Initializaing CollectionDesignModule.");
+	change_listener = new CDMChangeListener();
+	all_change_listener = new DesignChangeListener(ALL);
+	buildcol_change_listener = new DesignChangeListener(BUILDCOL);
+	// Parse the collection configuration
+	collect_config = new CollectionConfiguration(collect_config_file);
+	if (DebugStream.isDebuggingEnabled()) {
+	    collect_config.display();
+	}
+	loadDesignDetails();
+	DebugStream.println("CollectionDesignModule loaded.");
+    }
+
+    /** Reloads the various managers to ensure they have built themselves from the latest details available in the collection configuration class
+     * @see org.greenstone.gatherer.cdm.ClassifierManager
+     * @see org.greenstone.gatherer.cdm.CollectionMetaManager
+     * @see org.greenstone.gatherer.cdm.FormatManager
+     * @see org.greenstone.gatherer.cdm.GeneralManager
+     * @see org.greenstone.gatherer.cdm.IndexManager
+     * @see org.greenstone.gatherer.cdm.LanguageManager
+     * @see org.greenstone.gatherer.cdm.PluginManager
+     * @see org.greenstone.gatherer.cdm.SubcollectionIndexManager
+     * @see org.greenstone.gatherer.cdm.SubcollectionManager
+     * @see org.greenstone.gatherer.cdm.SuperCollectionManager
+     * @see org.greenstone.gatherer.cdm.TranslationView
+     */
+    private void loadDesignDetails() {
+	// Create the command information managers, registering the config file with each as necessary
+	language_manager = new LanguageManager(collect_config.getLanguages());
+	collectionmeta_manager = new CollectionMetaManager();
+	classifier_manager = new ClassifierManager();
+	general_manager = new GeneralManager();
+	macros_manager = new MacrosManager();
+	index_manager = new IndexingManager();
+	plugin_manager = new PluginManager();
+	subcollection_manager = new SubcollectionManager();
+	subcollectionindex_manager = new SubcollectionIndexManager(collect_config.getSubIndexes());
+	supercollection_manager = new SuperCollectionManager(collect_config.getSuperCollection());
+	searchmetadata_manager = new SearchMetadataManager();
+	depositormetadata_manager = new DepositorMetadataManager();
+	translation_manager = new TranslationView();
+    if (Gatherer.GS3) {
+        format_manager = new Format4gs3Manager();
+    } else {
+        format_manager = new FormatManager(); // Parse formats at the very end, given that they depend upon several other managers to appear properly.
+    }
+    }
+
+    /** This method deconstructs each of the managers, causing them to dispose of their controls.
+     */
+    public void destroy() {
+	// Remove references from persistant listeners.
+	classifier_manager.destroy();
+	classifier_manager = null;
+	searchmetadata_manager.destroy();
+	searchmetadata_manager = null;
+	format_manager.destroy();
+	format_manager = null;
+//    format_4gs3_manager.destroy();
+//    format_4gs3_manager = null;
+	general_manager.destroy();
+	general_manager = null;
+	index_manager.destroy();
+	index_manager = null;
+	language_manager.destroy();
+	language_manager = null;
+	plugin_manager.destroy();
+	plugin_manager = null;
+	subcollection_manager.destroy();
+	subcollection_manager = null;
+	supercollection_manager.destroy();
+	supercollection_manager = null;
+	depositormetadata_manager.destroy();
+	depositormetadata_manager = null;
+	translation_manager.destroy();
+	translation_manager = null;
+    }
+
+    /** Called when the detail mode has changed which in turn may cause several design elements to be available/hidden
+     * @param mode the new mode as an int
+     */
+    public void modeChanged(int mode) {
+	plugin_manager.modeChanged(mode);
+	classifier_manager.modeChanged(mode);
+	subcollection_manager.modeChanged(mode);
+	supercollection_manager.modeChanged(mode);
+	//format_manager.modeChanged(mode);
+	index_manager.modeChanged(mode);
+	translation_manager.modeChanged(mode);
+	general_manager.modeChanged(mode);
+	language_manager.modeChanged(mode);
+	searchmetadata_manager.modeChanged(mode);
+	depositormetadata_manager.modeChanged(mode);
+    }
+
+    /** The cdm is considered to be ready if the collect.cfg file was found and parsed and the collection title is not error.
+     * @return true if the collection is ready, false otherwise
+     */
+    public boolean ready() {
+	return collect_config.ready();
+    }
+
+
+    /** Cause the current collection configuration to be written out to disk.
+     */
+    public void save() {
+      collect_config.saveIfNecessary();
+    }
+
+
+    public static int getRebuildTypeRequired() {
+        return rebuildTypeRequired;
+    }
+
+    public static void resetRebuildTypeRequired() {
+        setRebuildTypeRequired(NOTHING);
+    }
+    public static void setRebuildTypeRequired(int number) {
+        rebuildTypeRequired = number;
+    }
+
+    public static boolean isCompleteBuild() {
+        return isCompleteBuild;
+    }
+    public static void setCompleteBuild(boolean icb) {
+        isCompleteBuild = icb;
+    }
+
+	public static void setImportWasFull( boolean wasFull ) {
+		importWasFull = wasFull;
+	}
+	public static boolean importWasFull() {
+		return importWasFull;
+	}
+	public static void setBuildcolWasFull( boolean wasFull ) {
+		buildcolWasFull = wasFull;
+	}
+	public static boolean buildcolWasFull() {
+		return buildcolWasFull;
+	}
+
+    /**
+     * What exactly does this do?
+     */
+    private class CDMChangeListener
+	implements ActionListener, DocumentListener {
+
+	/** Gives notification that an event has happened */
+	public void actionPerformed(ActionEvent event) {
+	    Gatherer.c_man.getCollection().setSaved(false);
+	}
+
+	/** Gives notification that an attribute or set of attributes changed. */
+	public void changedUpdate(DocumentEvent e) {
+	    Gatherer.c_man.getCollection().setSaved(false);
+	}
+
+	/** Gives notification that there was an insert into the document. */
+	public void insertUpdate(DocumentEvent e) {
+	    Gatherer.c_man.getCollection().setSaved(false);
+	}
+
+	/** Gives notification that a portion of the document has been removed. */
+	public void removeUpdate(DocumentEvent e) {
+	    Gatherer.c_man.getCollection().setSaved(false);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CollectionMeta.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CollectionMeta.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CollectionMeta.java	(revision 21123)
@@ -0,0 +1,188 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.util.Codec;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+
+/** This class encapsulates a single collection level metadata assignment, which constitutes a name, language and value.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.4
+ */
+public class CollectionMeta
+    implements DOMProxyListEntry {
+
+    static final public boolean TEXT = true;
+    static final public boolean GREENSTONE = false;
+
+    private boolean dummy = false;
+    private Element element = null;
+    private String text = null;
+
+    /** Constructor.
+     * @param element the Element from which we will determine metadata details
+     */
+    public CollectionMeta(Element element) {
+	this.element = element;
+    }
+
+    /** Constructor to create a new piece of metadata given its name. */
+    public CollectionMeta(String name) {
+	element = CollectionConfiguration.createElement(StaticStrings.COLLECTIONMETADATA_ELEMENT);
+	element.setAttribute(StaticStrings.NAME_ATTRIBUTE, name);
+	element.setAttribute(StaticStrings.LANGUAGE_ATTRIBUTE, Configuration.getLanguage());
+	element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.FALSE_STR);
+    }
+
+    /** Constructor to create a new piece of metadata given its name. */
+    public CollectionMeta(String name, String language) {
+	element = CollectionConfiguration.createElement(StaticStrings.COLLECTIONMETADATA_ELEMENT);
+	element.setAttribute(StaticStrings.NAME_ATTRIBUTE, name);
+	element.setAttribute(StaticStrings.LANGUAGE_ATTRIBUTE, language);
+	element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.FALSE_STR);
+    }
+
+    /** Constructor to create a new piece of metadata given its name. */
+    public CollectionMeta(String name, String language, boolean dummy) {
+	this(name, language);
+	this.dummy = dummy;
+    }
+
+    /** Method to compare two collection metadata objects to calculate their respective ordering.
+     * @param object the other metadata to compare to, as an Object
+     * @return an int which is less than 0 if this object proceeds the given object, 0 if they are equal and greater than 0 otherwise.
+     * @see org.greenstone.gatherer.cdm.Language
+     */
+    public int compareTo(Object object) {
+	return toString().compareTo(object.toString());
+    }
+
+    /** Factory constructor. */
+    public DOMProxyListEntry create(Element element) {
+	return new CollectionMeta(element);
+    }
+
+    /** Method to compare two collection metadata objects for equality.
+     * @param object The other metadata to compare to, as an <strong>Object</strong>.
+     * @return A <i>boolean</i> value of <i>true</i> if the object are equal, <i>false</i> otherwise.
+     */
+    public boolean equals(Object object) {
+	return (compareTo(object) == 0);
+    }
+
+    public Element getElement() {
+	return element;
+    }
+
+    /** Method to retrieve the value of language.
+     * @return the value of language as a <strong>String</strong>.
+     */
+    public String getLanguage() {
+	// Retrieve the language string
+	return element.getAttribute(StaticStrings.LANGUAGE_ATTRIBUTE);
+    }
+
+    /** Method to retrieve the value of name.
+     * @return the name attribute of the collection meta as a String 
+     */
+    public String getName() {
+	return element.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+    }
+    /** Method to retrieve the value of value (well great choice of name there).
+     * @return The value of value as a <strong>String</strong>.
+     */
+    public String getValue(boolean text_value) {
+	String raw_value = XMLTools.getValue(element);
+	// Decode the raw value depending on whether the user asked for the TEXT or GREENSTONE version
+	if(text_value == TEXT) {
+	    return Codec.transform(raw_value, Codec.DOM_TO_TEXT);
+	}
+	else {
+	    return Codec.transform(raw_value, Codec.DOM_TO_GREENSTONE);
+	}
+    }
+
+    public boolean isAssigned() {
+	return (element != null && !element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.FALSE_STR));
+    }
+
+    public boolean isDummy() {
+	return dummy;
+    }
+
+    /** Determine if this metadata is one of the four special pieces of metadata.
+     * @return true if this metadata is special, false otherwise.
+     */
+    public boolean isSpecial() {
+	return (element != null && element.getAttribute(StaticStrings.SPECIAL_ATTRIBUTE).equals(StaticStrings.TRUE_STR));
+    }
+
+    public void setAssigned(boolean assigned) {
+	if(element != null) {
+	    element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, (assigned ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR));
+	}
+    }
+
+    public void setElement(Element element) {
+	this.element = element;
+	text = null;
+    }
+
+    /** Change the value of value. 
+     * @param raw_value the new value as a String.
+     */
+    public void setValue(String raw_value) {
+	// we need to check if the value has changed
+	String current_value = XMLTools.getValue(element);
+	String new_value = Codec.transform(raw_value, Codec.TEXT_TO_DOM);
+	if (!current_value.equals(new_value)) {
+	// Only raw html text can be given to setValue so we need to encode it
+	    XMLTools.setValue(element, new_value);
+	    text = null; // Reset text
+	    // And determine if this makes the metadata assigned
+	    setAssigned(raw_value != null && raw_value.length() > 0);
+	}
+    }
+
+    /** Method to print out this class as it would appear within the collection configuration file.
+     * @return A <strong>String</strong> containing the text value of this class.
+     */
+    public String toString() {
+	if(text == null) {
+	  text = CollectCfgReadWrite.toString(element);
+	    if (text.equals("")){
+		text = getName();
+	    }
+	}
+	return text;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CollectionMetaManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CollectionMetaManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CollectionMetaManager.java	(revision 21123)
@@ -0,0 +1,200 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.w3c.dom.*;
+
+/** This class is responsible for maintaining a list of assigned collection level metadata, and for allows manipulations on the aforementioned data.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3d
+ */
+public class CollectionMetaManager 
+    extends DOMProxyListModel {
+    
+    /** Constructor. */
+    public CollectionMetaManager() {
+	super(CollectionDesignManager.collect_config.getDocumentElement(), StaticStrings.COLLECTIONMETADATA_ELEMENT, new CollectionMeta(""));
+	DebugStream.println("CollectionMetaManager: " + getSize() + " metadata parsed.");
+    }
+    /** Method to add a new piece of metadata.
+     * @param metadata the new CollectionMeta
+     */
+    public void addMetadatum(CollectionMeta metadata) {
+	if(!contains(metadata)) {
+	    Element element = metadata.getElement();
+	    // Locate where we should insert this new metadata. 
+	    Node target_node = CollectionConfiguration.findInsertionPoint(element);
+	    add(root, metadata, target_node);
+	}
+    }
+
+    public CollectionMeta get(int i) {
+	return (CollectionMeta) getElementAt(i);
+    }
+
+    /** Retrieve the languages in use for the metadata assigned to this collection
+     * @return an TreeSet containing the languages used
+     */
+    public TreeSet getLanguages() {
+	TreeSet result = new TreeSet();
+	int size = getSize();
+	for(int i = 0; i < size; i++) {
+	    CollectionMeta metadata = (CollectionMeta) getElementAt(i);
+	    String language = metadata.getLanguage();
+	    result.add(language);
+	}
+	return result;
+    }
+
+    /** Retrieve all of the general metadata. */
+    public ArrayList getMetadata() {
+	ArrayList result = new ArrayList();
+	int size = getSize();
+	for(int i = 0; i < size; i++) {
+	    CollectionMeta metadata = (CollectionMeta) getElementAt(i);
+	    if(!metadata.getName().startsWith(StaticStrings.STOP_CHARACTER)) {
+		result.add(metadata);
+	    }
+	}
+	return result;
+    }
+	 
+    /** Retrieve all of the metadata for the given feature, regardless of language. */
+    public ArrayList getMetadata(String name) {
+	ArrayList result = new ArrayList();
+	int size = getSize(); // Refresh DOM Model
+	for(int i = 0; i < size; i++) {
+	    CollectionMeta metadata = (CollectionMeta) getElementAt(i);
+	    if(metadata.getName().equals(name)) {
+		result.add(metadata);
+	    }
+	}
+	return result;
+    }
+
+    /** Retrieve the named piece of metadata, in the default language, if available. If no such metadata is available then it is created.
+     * @param name the name of the metadatum to retrieve as a String
+     * @return the dom Element containing the specified metadatum
+     */
+    public CollectionMeta getMetadatum(String name) {
+	return getMetadatum(name, true);
+    }
+
+    public CollectionMeta getMetadatum(String name, boolean add_if_not_found) {
+	//DebugStream.println("Get the metadata for " + name + " in the default language.");
+	int size = getSize();
+	for(int i = 0; i < size; i++) {
+	    CollectionMeta metadatum = (CollectionMeta) getElementAt(i);
+	    if(metadatum.getName().equals(name) && metadatum.getLanguage().equals(Configuration.getLanguage())) {
+		DebugStream.println("Found '" + metadatum + "'");
+		return metadatum;
+	    }
+	    else {
+		//DebugStream.println("No match with: " + metadatum.getName() + " [l=" + metadatum.getLanguage() + "] \"" + metadatum.getValue() + "\"");
+	    }
+	    metadatum = null;
+	}
+	if(add_if_not_found) {
+	    CollectionMeta result = new CollectionMeta(name);
+	    addMetadatum(result);
+	    DebugStream.println("Added new metadata: " + name);
+	    return result;
+	}
+	else {
+	    return null;
+	}
+    }
+
+    /** Method to retrieve a certain piece of metadata based on its name and language.
+     * @param name the name of the metadata as an Object (as it may actually be a refernce to an Index or SubIndex)
+     * @param language the language of the metadata.
+     * @param partial <i>true</i> to return the first partial match (ie matches name but not language).
+     * @return The <strong>CollectionMeta</strong> requested, or <i>null</i> if no such metadata.
+     */
+    public CollectionMeta getMetadata(String name, String language, boolean partial) { 
+	CollectionMeta partial_match = null;
+	for(int i = 0; i < getSize(); i++) {
+	    CollectionMeta metadata = (CollectionMeta) getElementAt(i);
+	    Object metadata_name = metadata.getName();
+	    // We test the case of an object match (ie Index to Index)...
+	    if(metadata_name.equals(name)) {
+		if (metadata.getLanguage().equals(language)) {
+		    return metadata;
+		}
+		partial_match = metadata;
+	    }
+	}
+	if(partial) {
+	    return partial_match;
+	}
+	return null;
+    }
+
+    /** Method to remove a piece of metadata.
+     * @param metadata metadata
+     */
+    public void removeMetadata(CollectionMeta metadata) {
+	if(metadata != null) {
+	    String name = metadata.getName();
+	    String language = metadata.getLanguage();
+	    for(int i = 0; i < getSize(); i++) {
+		CollectionMeta other = (CollectionMeta) getElementAt(i);
+		if(name.equals(other.getName()) && language.equals(other.getLanguage())) {
+		    remove(i);
+		    return;
+		}
+		other = null;
+	    }	
+	    language = null;
+	    name = null;
+	}
+    }
+
+    /** Removes all of the metadata with a certain name, regardless of language or value. */
+    public void removeMetadata(String name) {
+	for(int i = getSize(); i != 0; i--) {
+	    CollectionMeta other = (CollectionMeta) getElementAt(i - 1);
+	    if(name.equals(other.getName())) {
+		remove(i - 1);
+	    }
+	    other = null;
+	}	
+    }
+
+    public int size() {
+	return getSize();
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CommandTokenizer.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CommandTokenizer.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/CommandTokenizer.java	(revision 21123)
@@ -0,0 +1,225 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+/**************************************************************************************
+ * Title:		Gatherer
+ * Description:  The Gatherer: a tool for gathering and enriching a digital collection.
+ * Company:	  The University of Waikato
+ * Written:	  07/05/02
+ * Revised:	  03/10/02 - Commented
+ **************************************************************************************/
+import java.io.BufferedReader;
+import java.util.StringTokenizer;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.util.StaticStrings;
+
+/** This class provides an extension to the standard StringTokenizer in that it recognizes quotes (or some form of bracketting) enclose a single token so in something like: <br>format Search '&lt;table&gt;&lt;img src=... &lt;/table&gt;'<br> the formatting string is parsed as a single token. Unfortunately this makes countTokens() unreliable for exact measurement of tokens remaining, and only useful for determining if there are tokens left to be processed (includes any that have already been read into command buffer).
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class CommandTokenizer {
+    
+    static final public int BRACKET_ENCLOSED		= 0;
+    static final public int DOUBLE_QUOTE_ENCLOSED	= 1;
+    static final public int NORMAL			= 2;
+    static final public int QUOTE_ENCLOSED		= 3;
+    
+    private BufferedReader in_stream;
+    private int count = -1;
+    private StringTokenizer internal_tokenizer;
+    private boolean strip_quotes = true;
+    /** Basic Constructor. Used to parse tokens from a string keeping tokens surrounded by speechmarks or square brackets intact. Thus something like:<br>
+     * collectionmeta collectionextra [l = en] "Hello World"<br>
+     * is tokenized thus<br>
+     * {'collectionmeta', 'collectionextra', 'l = en', 'Hello World'}
+     * @param command the command String you wish to tokenize
+     */
+    public CommandTokenizer(String command) {
+	this.internal_tokenizer = new StringTokenizer(command);
+	this.in_stream = null;
+    }
+    
+    /** Advanced Constructor. As above but with one major difference. Since it is provided an input stream (presumably where the command string originated from), it is able to parse a quote enclosed command token that stretches over several lines. Each newline is preserved in the resulting token. There is an extra bitchslap here as comething like a collection extra might have html code in them that contain escaped speechmarks, so extra care must be taken not to break at them. Thus something like:<br>
+     * collectionmeta collectionextra [l = en] "<br>
+     *     an example of the crazy as description we sometimes get which includes of all things something like <a href=\"this.html\"<br>
+     *     >this</a> which you could easily see might be a problem if I parse this niavely."<br>
+     * is tokenized thus<br>
+     * {'collectionmeta', 'collectionextra', 'l = en', '\nan example of the crazy as description we sometimes get which includes of all things something like <a href=\"this.html\"\n>this</a> which you could easily see might be a problem if I parse this niavely.'}
+     * @param command the command String you wish to tokenize
+     * @param in_stream a BufferedReader from which the tokenizer can draw further lines as necessary
+     */
+    public CommandTokenizer(String command, BufferedReader in_stream) {
+	///atherer.println("***** CommandTokenizer *****\nparse:\t" + command + "\n****************************");
+	this.internal_tokenizer = new StringTokenizer(command);
+	this.in_stream = in_stream;
+    }
+    
+    public CommandTokenizer(String command, BufferedReader in_stream, boolean strip_quotes) {
+	this.internal_tokenizer = new StringTokenizer(command);
+	this.in_stream = in_stream;
+	this.strip_quotes = strip_quotes;
+    }
+	
+    /** Returns the minumum number of remaining tokens before the tokenizer runs out of string. There may be more tokens than this count, but never less. The discrepancy is due to internal functionality and the fact we can't read ahead in the string or associated stream without risking the need for unpredictable push-back
+     * @return the minumum number of tokens available as an int
+     */
+    public int countTokens() {
+	if(count == 0 && internal_tokenizer.countTokens() > 1) {
+	    return 1;
+	}
+	if(count == -1) {
+	    count = internal_tokenizer.countTokens();
+	}
+	return count;
+    }
+    
+    /** Determine if there are still tokens available.
+     * @return true if there are more tokens, false otherwise
+     */
+    public boolean hasMoreTokens() {
+	return internal_tokenizer.hasMoreTokens();
+    }
+    
+    /** Method to retrieve the next token from the command, taking care to group tokens enclosed in speech marks.
+     * @return a String containing the next token from the command
+     */
+    public String nextToken() {
+	String result = null;
+	if(internal_tokenizer.hasMoreTokens()) {
+	    StringBuffer buffer = new StringBuffer(internal_tokenizer.nextToken());
+	    switch(buffer.charAt(0)) {
+	    case StaticStrings.DOUBLEQUOTE_CHAR:
+		///ystem.err.println("Building token wrapped by double quotes.");
+		result = buildToken(buffer, StaticStrings.DOUBLEQUOTE_CHAR, this.strip_quotes);
+		break;
+	    case StaticStrings.SINGLEQUOTE_CHAR:
+		///ystem.err.println("Building token wrapped by single quotes.");
+		result = buildToken(buffer, StaticStrings.SINGLEQUOTE_CHAR, this.strip_quotes);
+		break;
+	    case StaticStrings.OPENBRACKET_CHAR:
+		///ystem.err.println("Building token wrapped by brackets.");
+		result = buildToken(buffer, StaticStrings.CLOSEBRACKET_CHAR, false);
+		break;
+	    default:
+		///ystem.err.println("Returning plain string.");
+		result = buffer.toString();
+	    }
+	    buffer = null;
+	}
+	// Because of our tricky counting system we never want to have negative tokens remaining. In fact, unless the internal string buffer is empty, we will return a count of 1 anyway
+	if(count > 0) {
+	    count = count - 1;
+	}
+	///ystem.err.println("----- CommandTokenizer -----\ntoken:\t" + result + "\n----------------------------");
+	return result;
+    }
+    
+    /** Parse in the next token. paying heed to enclosing characters demands, escaped characters, newlines and empty buffers and consequential unexpected end of tokens
+     * @param buffer the StringBuffer in which the partial token is stored (at the first bit that caused this method to be called)
+     * @param end_char the sentinel char we are watching for as it encloses a token
+     * @param strip_characters a boolean denoting whether the enclosing characters should be stripped off
+     * @return the token, either in its entirity less the enclosing characters if required or, if an unexpected end occured, whatever we parsed without its starting enclosing character, again only if required. In fact if we weren't asked to strip characters then we add the enclosing character back in
+     */
+    private String buildToken(StringBuffer buffer, char end_char, boolean strip_characters) {
+	while(buffer.length() == 1 || buffer.charAt(buffer.length() - 1) != end_char || (buffer.length() > 3 && buffer.charAt(buffer.length() - 2) == StaticStrings.BACKSLASH_CHAR)) {
+	    try {
+		// The first version is for the basic tokenizer which has no idea of an input stream, so runs out tokens at the same time as the internal tokenizer does
+		if(internal_tokenizer.hasMoreTokens()) {
+		    buffer.append(StaticStrings.SPACE_CHAR);
+		    buffer.append(internal_tokenizer.nextToken());
+		}
+		// While the second version can draw more lines from the stream until eof occurs
+		else if(in_stream != null) {
+		    String line_str = null;
+		    while(!internal_tokenizer.hasMoreTokens() && (line_str = in_stream.readLine()) != null) {
+			///atherer.println("+++++ CommandTokenizer +++++\nappend:\t" + line_str + "\n+++++++++++++++++++++++++++++");
+			// Its at this stage the our token count becomes completely putu
+			internal_tokenizer = new StringTokenizer(line_str);
+			buffer.append(StaticStrings.NEW_LINE_CHAR); // A new line in the final token
+		    }
+		    line_str = null;
+		    if(internal_tokenizer.hasMoreTokens()) {
+			// Don't add a space if we just added a newline
+			if(buffer.charAt(buffer.length() - 1) != StaticStrings.NEW_LINE_CHAR) {
+			    buffer.append(StaticStrings.SPACE_CHAR);
+			}
+			buffer.append(internal_tokenizer.nextToken());
+		    }
+		    // We've prematurely run out of content, so throw the dummy, or at least return whatever we managed to parse sans its opening character
+		    else {
+			if(strip_characters) {
+			    return buffer.substring(1);
+			}
+			else {
+			    buffer.append(end_char);
+			    return buffer.toString();
+			}
+		    }
+		}
+		// We've prematurely run out of content, so throw the dummy, or at least return whatever we managed to parse sans its opening character
+		else {
+		    if(strip_characters) {
+			return buffer.substring(1);
+		    }
+		    else {
+			buffer.append(end_char);
+			return buffer.toString();
+		    }
+		}
+	    }
+	    // Exception thrown when we attempted reading from the input stream, so throw the dummy, or at least return whatever we managed to parse sans its opening character
+	    catch(Exception exception) {
+		DebugStream.printStackTrace(exception);
+		if(strip_characters) {
+		    return buffer.substring(1);
+		}
+		else {
+		    buffer.append(end_char);
+		    return buffer.toString();
+		}
+	    }
+	}
+	// Return the string sans enclosing characters
+	if(buffer.length() >= 2 && strip_characters) {
+	    return buffer.substring(1, buffer.length() - 1);
+	}
+	else {
+	    return buffer.toString();
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Control.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Control.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Control.java	(revision 21123)
@@ -0,0 +1,36 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+/**
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3d
+ */
+public interface Control {
+    public void destroy();
+    public void gainFocus();
+    public void loseFocus();
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/DOMProxyListEntry.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/DOMProxyListEntry.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/DOMProxyListEntry.java	(revision 21123)
@@ -0,0 +1,38 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import org.w3c.dom.*;
+
+public interface DOMProxyListEntry 
+    extends Comparable {
+    public DOMProxyListEntry create(Element element);
+    public Element getElement();
+    public boolean isAssigned();
+    public void setAssigned(boolean assigned);
+    public void setElement(Element element);
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/DOMProxyListModel.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/DOMProxyListModel.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/DOMProxyListModel.java	(revision 21123)
@@ -0,0 +1,300 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.util.*;
+import javax.swing.*;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+/** This class provides ListModel like access to a list of nodes within a DOM model.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3d
+ */
+public class DOMProxyListModel
+extends AbstractListModel {
+    protected Element root;
+    private DOMProxyListEntry class_type;
+    private HashMap cache = new HashMap ();
+    private NodeList children = null;
+    private String tag_name;
+    
+    /** Constructor.
+     * @param root the Element at the root of the subtree to be searched for appropriate child elements
+     * @param tag_name the name of appropriate elements as a String
+     * @param class_type the type of object to wrap the elements returned in, as a DOMProxyListEntry
+     */
+    public DOMProxyListModel (Element root, String tag_name, DOMProxyListEntry class_type) {
+        this.class_type = class_type;
+        this.root = root;
+        this.tag_name = tag_name;
+        this.children = this.root.getElementsByTagName (this.tag_name);
+    }
+    
+    /** Used to add an element into the underlying dom, and fire the appropriate repaint events. This version always adds the new element at the very head of the DOM. */
+    public synchronized void add (DOMProxyListEntry entry) {
+        Element element = entry.getElement ();
+        if(root.hasChildNodes ()) {
+            Node sibling = root.getFirstChild ();
+            root.insertBefore (element, sibling);
+            sibling = null;
+        }
+        else {
+            root.appendChild (element);
+        }
+        element = null;
+        // Regardless fire update event
+        cache.clear ();
+        fireIntervalAdded (this, 0, 0);
+    }
+    
+    /** Used to add an element into the underlying dom, and fire the appropriate repaint events.
+     * @param index the index where the element should be inserted (relative of the other elements in this proxy list)
+     * @param entry the <strong>DOMProxyListEntry</strong> to be inserted
+     */
+    public synchronized void add (int index, DOMProxyListEntry entry) {
+        ///atherer.println("Add entry at " + index + " where size = " + getSize());
+        Element element = entry.getElement ();
+        // retrieve the node where we want to insert
+        if(index < children.getLength ()) {
+            Node sibling = children.item (index);
+            // Find the parent node
+            Node parent_node = sibling.getParentNode ();
+            parent_node.insertBefore (element, sibling);
+            sibling = null;
+        }
+        // If the index is too large, we are adding to the end of our list of entries. However you have to remember that this list is only a viewport on the entire DOM so there might be entries following this group that we actually want to insert before (not append at the very end!)
+        else {
+            // Retrieve the currently last entry
+            index = children.getLength () - 1;
+            Node sibling = null;
+            Node parent_node = null;
+            if(index >= 0) {
+                sibling = children.item (index);
+                parent_node = sibling.getParentNode ();
+                sibling = sibling.getNextSibling ();
+            }
+            if(sibling != null && parent_node != null) {
+                parent_node.insertBefore (element, sibling);
+            }
+            // Add to the root node
+            else {
+                index = 0;
+                root.appendChild (element);
+            }
+        }
+        // Regardless fire update event
+        cache.clear ();
+        fireIntervalAdded (this, index, index);
+    }
+    
+    /** Used to add an element into the underlying dom, and fire the appropriate repaint events. This version inserts the new entry immediately -after- the given entry in the DOM.
+     * @param entry the DOMProxyListEntry to be inserted
+     * @param preceeding_entry the DOMProxyListEntry immediately before where we want the new entry
+     */
+    public synchronized void addAfter (DOMProxyListEntry entry, DOMProxyListEntry preceeding_entry) {
+        Element element = entry.getElement ();
+        Element preceeding_sibling = preceeding_entry.getElement ();
+        Node parent_node = preceeding_sibling.getParentNode ();
+        Node following_sibling = preceeding_sibling.getNextSibling ();
+        if(following_sibling != null) {
+            parent_node.insertBefore (element, following_sibling);
+        }
+        else {
+            parent_node.appendChild (element);
+        }
+        // Regardless fire update event
+        cache.clear ();
+        int index = indexOf (entry);
+        fireIntervalAdded (this, index, index);
+    }
+    
+    /** Used to add an element into the underlying dom, and fire the appropriate repaint events. This version inserts the new entry immediately -before- the given entry in the DOM.
+     * @param entry the DOMProxyListEntry to be inserted
+     * @param following_entry the DOMProxyListEntry immediately after where we want the new entry
+     */
+    public synchronized void addBefore (DOMProxyListEntry entry, DOMProxyListEntry following_entry) {
+        Element element = entry.getElement ();
+        Element following_sibling = following_entry.getElement ();
+        Node parent_node = following_sibling.getParentNode ();
+        parent_node.insertBefore (element, following_sibling);
+        // Regardless fire update event
+        cache.clear ();
+        int index = indexOf (entry);
+        fireIntervalAdded (this, index, index);
+    }
+    
+    public synchronized void add (Node parent, DOMProxyListEntry entry, Node sibling) {
+        Element child = entry.getElement ();
+        if(sibling != null) {
+            parent.insertBefore (child, sibling);
+        }
+        else {
+            parent.appendChild (child);
+        }
+        cache.clear ();
+        int index = indexOf (entry);
+        
+        
+        fireIntervalAdded (this, index, index);
+    }
+    
+    /** Used to add an element into the underlying dom, and fire the appropriate repaint events. This version always adds the new element at the end of the children. */
+    public synchronized void append (DOMProxyListEntry entry) {
+        Element element = entry.getElement ();
+        root.appendChild (element);
+        element = null;
+        // Regardless fire update event
+        cache.clear ();
+        fireIntervalAdded (this, 0, 0);
+    }
+    
+    public synchronized ArrayList children () {
+        ArrayList child_list = new ArrayList ();
+        int child_count = children.getLength ();
+        for(int i = 0; i < child_count; i++) {
+            child_list.add (getElementAt (i));
+        }
+        return child_list;
+    }
+    
+    public synchronized boolean contains (Object entry) {
+        boolean found = false;
+        int size = getSize ();
+        
+        for(int i = 0; !found && i < size; i++) {
+            DOMProxyListEntry sibling = (DOMProxyListEntry) getElementAt (i);
+            if(sibling.equals (entry)) {
+                
+                found = true;
+            }
+        }
+        return found;
+    }
+    
+    public synchronized Object getElementAt (int index) {
+        /** There are times when the length of the 'cache' is not as same as the length of the 'children', etc. not up to date. 
+            eg, when a classifier has been deleted. So we rather not have this efficiency for Format4gs3.java.*/       
+        if (class_type instanceof Format4gs3) {
+            Element element = (Element) children.item (index);
+            // Now wrap it in the object of the users choice
+            Object object = class_type.create (element);
+            return object;
+        }
+        
+        Object object = cache.get (new Integer (index));
+        if (object != null) {
+            return object;
+        }
+        
+        // Retrieve the required element
+        Element element = (Element) children.item (index);
+	if (element == null) {
+	  return null;
+	}
+        DebugStream.println ("Element at index " + index + " not in cache: " + element);
+        
+        // Now wrap it in the object of the users choice
+        object = class_type.create (element);
+        cache.put (new Integer (index), object);
+        return object;
+    }
+    
+    public synchronized int indexOf (DOMProxyListEntry entry) {
+        Element element = entry.getElement ();
+        int children_length = children.getLength ();
+        for(int i = 0; i < children_length; i++) {
+            Node node = children.item (i);
+            if(element == node) {
+                return i;
+            }
+        }
+        return -1;
+    }
+    
+    public synchronized int getSize () {
+        
+        if(children == null) {
+            children = root.getElementsByTagName (tag_name);
+        }
+        return children.getLength ();
+    }
+    
+    public synchronized void refresh () {
+        fireContentsChanged (this, 0, getSize ());
+    }
+    
+    public synchronized void refresh (DOMProxyListEntry entry) {
+        int index = indexOf (entry);
+        fireContentsChanged (this, index, index);
+    }
+    
+    public synchronized void remove (DOMProxyListEntry entry) {
+        remove (indexOf (entry));
+    }
+    
+    public synchronized void remove (int index) {
+        // Retrieve the required element
+        Node node = children.item (index);
+        // Find its parent
+        Node parent_node = node.getParentNode ();
+        // Now remove it
+        parent_node.removeChild (node);
+        // Refresh model
+        cache.clear ();
+            
+        fireIntervalRemoved (this, index, index);
+    }
+    
+    
+    /** Changes the 'root' element that this list sources its information from.
+     * @param  root the new root Element
+     */
+    public synchronized void setRoot (Element root) {
+        this.children = null;
+        cache.clear ();
+        this.root = root;
+        this.children = this.root.getElementsByTagName (this.tag_name);
+        fireContentsChanged (this, 0, getSize ());
+    }
+    
+    public synchronized void setAssigned (boolean assigned) {
+        if (assigned) {
+            root.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+        }
+        else {
+            root.setAttribute (StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.FALSE_STR);
+        }
+    }
+    
+    public boolean isAssigned () {
+        return (root.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals ("") || root.getAttribute (StaticStrings.ASSIGNED_ATTRIBUTE).equals (StaticStrings.TRUE_STR));
+    }
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/DepositorMetadataManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/DepositorMetadataManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/DepositorMetadataManager.java	(revision 21123)
@@ -0,0 +1,526 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+import java.util.ArrayList;
+
+import javax.swing.BorderFactory;
+import javax.swing.BoxLayout;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JComponent;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.gui.DesignPaneHeader;
+import org.greenstone.gatherer.gui.GComboBox;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataSet;
+import org.greenstone.gatherer.metadata.MetadataSetManager;
+import org.greenstone.gatherer.util.Utility;
+
+/**
+ * This manager implements the "Depositor Metadata" section in GLI Format Panel, where 
+ * users can customize which metadata elements will be used to describe an item when deposited in the Depositor.
+ *      
+ * @author Anna Huang, Greenstone Digital Library, University of Waikato
+ * @version 1.0
+ */
+public class DepositorMetadataManager {
+    /** Display controls of the element */
+    static private Dimension LABEL_SIZE = new Dimension(150, 15);
+    static private Dimension ROW_SIZE = new Dimension(400, 20);
+    static private Dimension MAX_ROW_SIZE = new Dimension(1000, 30);
+    
+    /** Available types, corresponds to the HTML input types */ 
+    static private String[] TYPEOPTIONS = new String[]{"text", "textarea"};
+    /** Default elements to be used in Depositor */
+    static private String DEFAULT_METADATA_ELEMENTS = "dc.Title, dc.Creator, dc.Description";
+    /** Definition attribute of a metadata element */ 
+    static private String DEFINITION = "definition";
+    
+    /** Display controls */
+    private Control controls;	
+    /** List of MetadataElementEntry objects, each represents a metadata element */
+    private ArrayList metadata_checklist_model = null;	
+    /** Collection configuration file manager */ 
+    private CollectionMetaManager collmeta_manager = CollectionDesignManager.collectionmeta_manager;
+    
+    public DepositorMetadataManager() {
+    }
+    
+    /** Destructor. */
+    public void destroy() {
+	if (controls != null) {
+	    controls.destroy();
+	    controls = null;
+	}
+	if(metadata_checklist_model != null) {
+	    metadata_checklist_model.clear();
+	    metadata_checklist_model = null;
+	}
+    }
+		
+    public Control getControls() {
+	if (controls == null) {
+	    controls = new DepositorControl();
+	}
+	return controls;
+    }
+	
+    /** Called when the detail mode has changed which in turn may cause several design elements to be available/hidden
+     * @param mode the new mode as an int
+     */
+    public void modeChanged(int mode) {
+    }
+	
+    /**
+     * The implementation of this display control is similar to the <code>ArgumentConfiguration</code>, 
+     * where each component in the central panel is another JPanel component consists of a checkbox and a drop down list. 
+     */
+    private class DepositorControl
+	extends JPanel
+	implements Control {		
+		
+	private JPanel central_pane = null;
+
+	public DepositorControl() {
+	    super();
+            this.setComponentOrientation(Dictionary.getOrientation());
+	    JPanel header_panel = new DesignPaneHeader("CDM.GUI.DepositorMetadata", "depositormetadatasettings");
+			
+	    // load all possible metadata sets, and existing configuration
+	    buildModel();
+	    
+	    central_pane = new JPanel();
+            central_pane.setComponentOrientation(Dictionary.getOrientation());
+	    central_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	    central_pane.setLayout(new BoxLayout(central_pane, BoxLayout.Y_AXIS));	
+									
+	    // build the central pane, ie. create gui component for each metadata element 
+	    buildPane();		
+
+	    JPanel collection_checklist_pane = new JPanel();
+            collection_checklist_pane.setComponentOrientation(Dictionary.getOrientation());
+	    collection_checklist_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	    collection_checklist_pane.setLayout(new BorderLayout());
+	    collection_checklist_pane.add(new JScrollPane(central_pane), BorderLayout.CENTER);
+
+	    setBorder(BorderFactory.createEmptyBorder(0,5,0,0));
+	    setLayout(new BorderLayout());
+	    add(header_panel, BorderLayout.NORTH);
+	    add(collection_checklist_pane, BorderLayout.CENTER);
+	}
+		
+	public void destroy() {
+	}
+
+	public void gainFocus() {
+	}
+		
+	public void loseFocus() {			
+	    StringBuffer converted_javascript = new StringBuffer();
+			
+	    // get currently selected metadata elements and create the javascript associative array variable
+	    if (metadata_checklist_model != null) {
+		int size = metadata_checklist_model.size();
+		for(int i = 0; i < size; i++) {				
+		    MetadataElementEntry entry = (MetadataElementEntry) metadata_checklist_model.get(i);
+					
+		    if (entry.isSelected()) {					
+			StringBuffer element = new StringBuffer();
+			element.append("{\"name\":\"").append(entry.name).append("\",");
+			element.append("\"label\":\"").append(entry.label).append("\",");
+			element.append("\"tooltip\":\"").append(entry.name).append(": ").append(entry.tooltip).append("\",");
+			element.append("\"type\":\"").append(entry.getType()).append("\"}");
+			if(converted_javascript.length() != 0) {
+			    converted_javascript.append(", ");
+			}
+			converted_javascript.append(element);
+			element = null;
+		    }				
+		}
+				
+		// if none of the elements were selected, use the default setting				
+		if (converted_javascript.length() == 0) {
+		    System.err.println("Error: DepositorMetadataMananger should have at least one selected metadata element.");
+		}
+
+		// save to the configuration file
+		CollectionMeta depositor_metadata_meta = collmeta_manager.getMetadatum("depositormetadata", true);
+		depositor_metadata_meta.setValue(converted_javascript.toString());			
+	    }		
+	}
+		
+	private void buildModel()
+	{
+	    metadata_checklist_model = new ArrayList();
+	    String current_coll_name = CollectionManager.getLoadedCollectionName();
+			
+	    // get the elements that have already been used in depositor
+	    // add the "depositormetadata" meta if not found in the configuration file
+	    CollectionMeta depositor_metadata_meta = collmeta_manager.getMetadatum("depositormetadata", true);			
+	    String selected_metadata_javascript = depositor_metadata_meta.getValue(true);
+			
+	    // load all MDSets in the collection, ie. .mds files in the collection's metadata directory
+	    String file_name = Gatherer.getCollectDirectoryPath() + File.separator + current_coll_name + File.separator + "metadata";
+	    ArrayList metadata_sets = MetadataSetManager.listMetadataSets(new File(file_name));
+	    if (metadata_sets != null) {
+	      // unload the ex mds
+	      for (int i = 0, j = metadata_sets.size(); i < j; i++) {
+		if (((MetadataSet) metadata_sets.get(i)).getNamespace().equals("ex")) {
+		  metadata_sets.remove(i);
+		  break;
+		}
+	      }
+	    }
+	    
+	    if (metadata_sets == null) {
+	      metadata_sets = new ArrayList();
+	    }
+	    if (metadata_sets.size() == 0) {
+	      // load dublin core
+		file_name = org.greenstone.gatherer.gems.MetadataSetManager.getGLIMetadataDirectoryPath();
+		file_name += "dublin.mds";
+		File dublin_mds_file = new File(file_name);
+		if (dublin_mds_file.exists()) {
+		  MetadataSetManager.loadMetadataSet(dublin_mds_file);	
+		  MetadataSet dc = MetadataSetManager.getMetadataSet("dc");
+		  metadata_sets.add(dc);
+		}
+	    }
+	    // if we are still empty :-(
+	    if (metadata_sets.size() == 0) {
+		System.err.println("Error: DepositorMetadataMananger can't find any valid metadata set files.");
+		return;
+	    }			
+			
+	    // load all the metadata elements
+	    for (int i = 0, j = metadata_sets.size(); i < j; i++) {
+		MetadataSet metadata_set = (MetadataSet) metadata_sets.get(i);				
+		ArrayList elements = metadata_set.getMetadataSetElements(); 
+		
+		for (int k = 0; elements != null && k < elements.size(); k++) {
+		    MetadataElement element = (MetadataElement) elements.get(k);
+		    // all names are language independent at the moment. 
+		    MetadataElementEntry entry = new MetadataElementEntry (element.getFullName(), element.getName(), false);
+		    entry.setToolTip(element.getAttribute(DEFINITION, "en"));
+		    metadata_checklist_model.add(entry);
+		}
+	    }	
+	    
+	    if (!selected_metadata_javascript.equals("")) {
+		for (int i = 0, j = metadata_checklist_model.size(); i < j; i++) {
+		    MetadataElementEntry entry = (MetadataElementEntry) metadata_checklist_model.get(i);
+		    
+		    String temp = "\"name\":\"" + entry.name + "\"";
+		    if (selected_metadata_javascript.indexOf(temp) != -1) {
+			entry.setSelected(true);
+			entry.type = getValueFromJSAssociatedArray(selected_metadata_javascript, entry.name, "type");						
+		    }
+		    temp = null;
+		}	
+	    } else {				
+		// use default elements				
+		for (int i = 0, j = metadata_checklist_model.size(); i < j; i++) {
+		    MetadataElementEntry entry = (MetadataElementEntry) metadata_checklist_model.get(i);
+		    if (DEFAULT_METADATA_ELEMENTS.indexOf(entry.name) != -1) {
+			entry.setSelected(true);
+			entry.type = TYPEOPTIONS[0];
+		    }
+		}
+	    }					
+	}	
+	
+	private void buildPane() {
+	    // use different background color for two adjacent metadata sets
+	    String current_namespace = null;
+	    String current_bgcolor_name = null;
+	    for (int i = 0, j = metadata_checklist_model.size(); i < j; i++) {
+		MetadataElementEntry entry = (MetadataElementEntry) metadata_checklist_model.get(i);
+		
+		if (current_namespace == null) {
+		    current_namespace = entry.namespace;
+		    current_bgcolor_name = "coloring.collection_tree_background";
+		} else {
+		    if (!entry.namespace.equals(current_namespace)) {
+			current_namespace = entry.namespace;
+			current_bgcolor_name = (current_bgcolor_name == "coloring.collection_tree_background") ? "coloring.collection_heading_background" : "coloring.collection_tree_background";
+		    }
+		}			
+		
+		if (entry.getGUIControl() == null) {
+		    MetadataElementControl element_control = entry.initGUIControl(current_bgcolor_name);					
+		    central_pane.add(element_control, BorderLayout.NORTH);
+		}				
+	    }
+	    
+	}
+		
+	/**
+	 * Retrieve the value for the specified element in the given javascript associative array expression
+	 *  
+	 * @param text
+	 * @param identifier
+	 * @param elem_name
+	 * @return
+	 */
+	private String getValueFromJSAssociatedArray(String text, String identifier, String elem_name) {
+	    int p = text.indexOf(elem_name, text.indexOf(identifier));
+	    if (p == -1) {
+		return null;
+	    }
+	    p = text.indexOf("\":\"", p);
+	    if (p == -1) {
+		return null;
+	    }
+	    p += 3;
+			
+	    return text.substring(p, text.indexOf("\"", p));			
+	}
+    }
+	
+    private class MetadataElementControl extends JPanel {
+	
+	private JCheckBox enabled = null;
+	private JComponent value_control = null;		
+		
+	public MetadataElementControl (MetadataElementEntry entry, String background_color_name) {
+            
+            this.setComponentOrientation(Dictionary.getOrientation());
+	    String tip = "<html>" + entry.tooltip + "</html>";
+	    tip = Utility.formatHTMLWidth(tip, 80);
+	    
+	    setBackground(Configuration.getColor(background_color_name, false));
+	    setBorder(BorderFactory.createEmptyBorder(0,0,0,0));
+	    setLayout(new BorderLayout());
+	    setPreferredSize(ROW_SIZE);
+	    setMaximumSize(MAX_ROW_SIZE);
+			
+	    // the checkbox component
+	    enabled = new JCheckBox(entry.name);
+	    enabled.setComponentOrientation(Dictionary.getOrientation());
+	    enabled.setSelected(entry.selected);
+	    enabled.setOpaque(false);
+	    enabled.setPreferredSize(LABEL_SIZE);
+	    enabled.setToolTipText(entry.tooltip);
+	    add(enabled, BorderLayout.LINE_START);
+			
+	    // the drop down list component
+	    ArrayList option_list = new ArrayList();
+	    for (int i = 0; i < TYPEOPTIONS.length; i++) {
+		option_list.add(TYPEOPTIONS[i]);
+	    }
+	    value_control = new GComboBox(option_list.toArray(), false, false);
+	    value_control.setComponentOrientation(Dictionary.getOrientation());
+	    selectValue((JComboBox)value_control, entry.type); 
+	    value_control.setOpaque(true);			
+	    if (entry.selected) { 
+		value_control.setBackground(Color.white);
+		value_control.setEnabled(true);
+	    } else {
+		value_control.setBackground(Color.lightGray);
+		value_control.setEnabled(false);
+		value_control.setVisible(false);
+	    }							
+	    add(value_control, BorderLayout.CENTER);
+	    
+	    enabled.addActionListener(new EnabledListener(value_control));
+	}
+				
+	private boolean selectValue(JComboBox combobox, String target) {
+	    if (target == null) {
+		combobox.setSelectedIndex(0);
+		return false;
+	    }
+			
+	    for (int i = 0; i < combobox.getItemCount(); i++) {				
+		if (combobox.getItemAt(i).toString().equals(target)) {
+		    combobox.setSelectedIndex(i);
+		    return true;
+		}
+	    }
+	    return false;
+	}
+		
+	private class EnabledListener
+	    implements ActionListener {			
+	    private JComponent target = null;
+	    
+	    public EnabledListener(JComponent target) {
+		this.target = target;
+	    }
+	    
+	    public void actionPerformed(ActionEvent event) {
+		JCheckBox source = (JCheckBox)event.getSource();
+		
+		// check at least one of the elements should be ticked
+		checkTickedElements(source);
+				
+		// update the status of the drop-down list component associated with the current checkbox 
+		if (this.target == null) {
+		    return;
+		}				
+				
+		if(source.isSelected()) {
+		    target.setBackground(Color.white);
+		    target.setEnabled(true);
+		    target.setVisible(true);
+		}
+		else {
+		    target.setBackground(Color.lightGray);
+		    target.setEnabled(false);
+		    target.setVisible(false);
+		}				
+	    }
+			
+	    private void checkTickedElements(JCheckBox source) {
+		if (source.isSelected()) {
+		    return;
+		}
+				
+		boolean b = false;
+		for (int i = 0, j = metadata_checklist_model.size(); i < j; i++) {
+		    if (((MetadataElementEntry) metadata_checklist_model.get(i)).gui_object.enabled.isSelected()) {
+			b = true;
+			break;
+		    }
+		}
+				
+		// there must be at least one element selected in the list 
+		if (b == false) {
+		    Object[] options = {Dictionary.get("General.OK")};
+		    JOptionPane.showOptionDialog(Gatherer.g_man, Dictionary.get("CDM.DepositorMetadataManager.Warning"), Dictionary.get("General.Warning"), JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[0]);
+		    
+		    source.setSelected(true);
+		}
+	    }
+	}
+	
+    }
+	
+    private class MetadataElementEntry implements Comparable {
+	/** namespace, used to distinguish different metadata sets and use different colors when displaying */
+	String namespace = null;
+	/** identifier, with namespace */
+	String name = null;
+	/** language independent label, without namespace, used for display in the depositor web page, eg. Title */
+	String label = null;	
+	/** type of the element: text or textarea */
+	String type = null;
+	/** description of the element, used in web page */
+	String tooltip = null;		
+	/** whether current element is selected or not */
+	boolean selected ;
+	/** GUI component object associated with this element */ 
+	MetadataElementControl gui_object = null;
+		
+	/**
+	 * Constructor
+	 * @param name Language independent identifier of the element with namespace, eg. dc.Title
+	 * @param label Language independent label of the element, without namespace, eg. Title 
+	 * @param selected Whether the current element has been selected as depositor metadata element 
+	 */
+	public MetadataElementEntry(String name, String label, boolean selected) {
+	    this.name = name;
+	    this.label = label;
+	    this.selected = selected;
+	    
+	    if (name.indexOf(".") != -1) {
+		namespace = name.substring(0, name.indexOf("."));
+	    }
+	}
+		
+	/**
+	 * Initiate the <code>MetadataElementControl<code> GUI component object associated with this element, with the specified background color  
+	 * @param background_color_name System configured color name for the background, eg. "coloring.collection_heading_background", or "coloring.collection_tree_background"
+	 * @return the initialized component object
+	 */
+	public MetadataElementControl initGUIControl (String background_color_name) {
+	    gui_object = new MetadataElementControl(this, background_color_name);
+	    return gui_object;
+	}
+	
+	/**
+	 * Get the associated GUI component
+	 * @return
+	 */
+	public MetadataElementControl getGUIControl() {
+	    return gui_object;
+	}
+		
+	/**
+	 * Set selected
+	 * @param b
+	 */
+	public void setSelected(boolean b) {
+	    this.selected = b;
+	}
+		
+	public boolean isSelected() {
+	    return gui_object.enabled.isSelected();
+	}
+		
+	/**
+	 * Get the selected type for the element
+	 * @return type
+	 */
+	public String getType() {
+	    return ((JComboBox) gui_object.value_control).getSelectedItem().toString();
+	}
+		
+	public void setToolTip (String tip) {
+	    if (tip == null) {
+		tooltip = "";
+		return;
+	    }
+	    this.tooltip = tip;
+	}
+
+	public int compareTo(Object obj) {
+	    return compareTo((MetadataElementEntry) obj);
+	}
+		
+	public int compareTo(MetadataElementEntry obj) {
+	    return this.name.compareTo(obj.name);
+	}
+	
+    }
+    
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/DesignChangeListener.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/DesignChangeListener.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/DesignChangeListener.java	(revision 21123)
@@ -0,0 +1,81 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Matthew Whyte, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+
+package org.greenstone.gatherer.cdm;
+
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.DebugStream;
+import javax.swing.event.*;
+import java.awt.event.*;
+
+/**
+ * This handles events generated by changing design options.
+ * The rebuildTypeRequired is updated if the rebuild type associated with this
+ * listener requires more 'work' than what is currently set in the {@link CollectionDesignManager}.
+ * @author Matthew Whyte
+ */
+public class DesignChangeListener implements ActionListener, DocumentListener {
+    
+    /** The rebuild type required associated with this listener */
+    private final int rebuildType;
+    
+    /** Constructor. Sets the build type required. */
+    public DesignChangeListener(int type) {
+	rebuildType = type;
+    }
+
+    public void maybeSetRebuildRequired() {
+	if (rebuildType > CollectionDesignManager.getRebuildTypeRequired()) {
+	    CollectionDesignManager.setRebuildTypeRequired(rebuildType);
+	}
+    }
+    
+    /** Gives notification that an event has happened */
+    public void actionPerformed(ActionEvent event) {
+	//DebugStream.println("ActionEvent in Design from: " + event.getSource());
+	maybeSetRebuildRequired();
+    }
+
+    /** Gives notification that an attribute or set of attributes changed. */
+    public void changedUpdate(DocumentEvent e) {
+	maybeSetRebuildRequired();
+	//DebugStream.println("changedUpdate in Design.");
+    }
+    
+    /** Gives notification that there was an insert into the document. */
+    public void insertUpdate(DocumentEvent e) {
+	maybeSetRebuildRequired();
+	//DebugStream.println("insertUpdate in Design."); //debug
+    }
+    
+    /** Gives notification that a portion of the document has been removed. */
+    public void removeUpdate(DocumentEvent e) {
+	maybeSetRebuildRequired();
+	//DebugStream.println("removeUpdate in Design."); //debug
+    }
+    
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/DynamicListModel.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/DynamicListModel.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/DynamicListModel.java	(revision 21123)
@@ -0,0 +1,119 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+/**************************************************************************************
+ * Title:        Gatherer
+ * Description:  The Gatherer: a tool for gathering and enriching a digital collection.
+ * Company:      The University of Waikato
+ * Written:      20/05/02
+ * Revised:      03/10/02 - Commented
+ **************************************************************************************/
+import javax.swing.ComboBoxModel;
+import javax.swing.DefaultListModel;
+
+/** This class extends the functionality of the DefaultListModel to include simple methods for refreshing the contents of this model if one of its elements changes.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class DynamicListModel
+    extends DefaultListModel
+    implements ComboBoxModel {
+
+    private boolean auto_order = false;
+
+    private Object object = null;
+
+    public void addElement(Object element) {
+	if(auto_order) {
+	    // Insert the object in its alphabetically correct place.
+	    int position = 0;
+	    boolean found = false;
+	    while(!found && position < size()) {
+		///ystem.err.print("Compare " + element.toString() + " to " + get(position).toString() + ": ");
+		int order = element.toString().compareTo(get(position).toString());
+		if(order < 0) {
+		    add(position, element);
+		    found = true;
+		    ///ystem.err.println("Greater than. Insert");
+		}
+		else if(order == 0) {
+		    found = true;
+		    ///ystem.err.println("Equal. End.");
+		}
+		else {
+		    position++;
+		    ///ystem.err.println("Less than. Carry on.");
+		}
+	    }
+	    if(!found) {
+		super.addElement(element);
+		///ystem.err.println("Out of elements. Insert");
+	    }
+	}
+	else {
+	    super.addElement(element);
+	}
+    }
+
+    /* private DynamicListModel shallowCopy() {
+	DynamicListModel copy = new DynamicListModel();
+	copy.setAutoOrder(auto_order);
+	for(int i = 0; i < size(); i++) {
+	    copy.addElement(get(i));
+	}
+	return copy;
+	} */
+
+    public Object getSelectedItem() {
+	///ystem.err.println("Get item: " + object);
+	return object;
+    }
+    /** Notify all controls that are based on this list model that its contents have changed, and they should repaint themselves. */
+    public void refresh() {
+	fireContentsChanged(this, 0, size());
+    }
+
+    public void setAutoOrder(boolean auto_order) {
+	this.auto_order = auto_order;
+    }
+
+    public void setSelectedItem(Object object) {
+	///ystem.err.println("Set item: " + object);
+	this.object = object;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Format.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Format.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Format.java	(revision 21123)
@@ -0,0 +1,381 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.util.Codec;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+
+/** This class encapsulates all the information about a format command from the collection configuration. This includes both the 'general' formatting commands, and the commands targetted at specific classifiers or classification component types. This class is, unfortunately, the most complex in terms of DOM model support, since we have to maintain a live reference to any classifier this format applies to. We temporarily use the feature name as the format name attribute but since the order of classifiers can change, this of course gets horribly out of date. Before the CollectionDesignManager saves the CollectionConfiguration it calls a method in the FormatManager to force all of the Formats to update their name attributes.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class Format 
+    implements DOMProxyListEntry {
+
+    /** The default features (not all of these are in the Greenstone Developer's Guide). */
+    static final public String DEFAULT_FEATURES[] = { "", "AllowExtendedOptions", "Document", "DocumentArrowsBottom", "DocumentArrowsTop","DocumentSearchResultLinks", "DocumentButtons", "DocumentContents", "DocumentHeading", "DocumentImages", "DocumentText", "DocumentTitles", "DocumentUseHTML", "NavigationBar", "RelatedDocuments", "Search", "SearchTypes" };
+    /** The list of known feature parts. */
+    static final public String DEFAULT_PARTS[] = { "", "DateList", "HList", "VList" };
+
+      
+    /** Only "" and "Search" can have parts */
+    static public boolean canHavePart(String name) {
+	return (name.startsWith("<html>") || name.equalsIgnoreCase("") || name.equalsIgnoreCase("Search") || name.equalsIgnoreCase("Document"));
+    }
+	
+    static public String generateName(Object feature, String part) {
+	if(feature instanceof Classifier) {
+	    return ((Classifier)feature).getPositionString() + part;
+	}
+	else {
+	    return feature.toString() + part;
+	}
+    }
+
+
+    /** Returns true if the parameter is a boolean type, false otherwise. */
+    static public boolean isParamType(String name)
+    {
+	if (name.equalsIgnoreCase("AllowExtendedOptions") || name.equalsIgnoreCase("DocumentArrowsBottom") || name.equalsIgnoreCase("DocumentArrowsTop") || name.equalsIgnoreCase("DocumentSearchResultLinks") || name.equalsIgnoreCase("DocumentContents") || name.equalsIgnoreCase("DocumentImages") || name.equalsIgnoreCase("DocumentTitles") || name.equalsIgnoreCase("DocumentUseHTML")) {
+	    return true;
+	}
+	else {
+	    return false;
+	}
+    }
+
+   
+    /** If this format is altering a Classifier then this is the classifier in question. */
+    private Classifier classifier = null;
+    /** The element this format is based on. */
+    private Element element = null;
+    /** We keep a copy of the part because its slightly more computationally tricky to calculate. */
+    private String part = null;
+    /** We keep a copy of the feature name */
+    private String feature_name = null;
+    /** Cached result of toString. */
+    private String text = null;
+
+    /** Constructor only to be used during DOMProxyListModel initialization. */
+    public Format() {
+	   
+    }
+
+    public Format(Element element) {
+
+	this.element = element;
+	// Immediately check if we are dealing with a classifier, by retrieving the feature name. If it is a classifier, then restore the live reference immediately before anything changes it.
+	Object object = getFeature();
+
+	// There may be format statements for no-longer-existing classifiers
+	if (object == null) {
+	    DebugStream.println("No matching classifier for format statement!");
+	    return;
+	}
+
+	if(object instanceof Classifier) {
+	    classifier = (Classifier) object;
+	}
+	else {
+	    String feature = (String) object;
+	    if(feature.toUpperCase().startsWith(Classifier.CLASSIFIER_PREFIX)) {
+		// Extract the integer index
+		int index = Integer.parseInt(feature.substring(Classifier.CLASSIFIER_PREFIX.length()));
+		// Subtract one (as java is 0-2 where G2 is 1-3)
+		index = index - 1;
+		// Retrieve the appropriate classifier
+		classifier = CollectionDesignManager.classifier_manager.getClassifier(index);
+	    }
+	}
+
+      	 
+    }
+
+    /** Constructor for a flag format command.
+     * @param feature The <Strong>Object</strong> this format affects.
+     * @param part The specific part of the control to format as a <strong>String</strong>.
+     * @param state A <i>boolean</i> indicating this formats state.
+     */
+    public Format(Object feature, String part, boolean state) {
+
+	element = CollectionConfiguration.createElement(StaticStrings.FORMAT_ELEMENT);
+	setName(feature, part);
+	setState(state);
+	 
+    }
+
+    /** Constructor for a format-string format command.
+     * @param feature The <Strong>Object</strong> this format affects.
+     * @param part The specific part of the control to format as a <strong>String</strong>.
+     * @param value The format <strong>String</strong> which may be a label name, or a piece of HTML formatting.
+     */
+    public Format(Object feature, String part, String value) {
+
+	element = CollectionConfiguration.createElement(StaticStrings.FORMAT_ELEMENT);       
+	setName(feature, part);
+	setValue(value);
+	 
+    }
+
+     
+ 
+    public boolean canHavePart() {
+	return canHavePart(getFeatureName());
+    }
+
+    public int compareTo(Object object) {
+	if(object == null) { // It seems that occasionally compareTo is called and somehow null ends up in comparison.
+	    return -1;
+	}
+	if(object instanceof Format && element != null) {
+	    return element.getAttribute(StaticStrings.NAME_ATTRIBUTE).compareTo(((Format)object).getName());
+	}
+	return toString().compareTo(object.toString());
+    }
+
+    public DOMProxyListEntry create(Element element) {
+	return new Format(element);
+    }
+
+    public boolean equals(Object object) {
+	return (compareTo(object) == 0);
+    }
+
+    public Element getElement() {
+	return element;
+    }
+
+    /** Method to retrieve the value of feature, which may either be a String or a Classifier.
+     * @return The value of feature as an <strong>Object</strong>.
+     */
+    public Object getFeature() {
+	if(classifier != null) {
+	    return classifier;
+	}
+	else if(element != null) {
+	    String feature = getFeatureName();
+	    // If the feature now refers to a classifier, retrieve it.
+	    if(feature.toUpperCase().startsWith(Classifier.CLASSIFIER_PREFIX)) {
+		// Extract the integer index
+		int index = Integer.parseInt(feature.substring(Classifier.CLASSIFIER_PREFIX.length()));
+		// Subtract one (as java is 0-2 where G2 is 1-3)
+		index = index - 1;
+		// Retrieve the appropriate classifier
+		classifier = CollectionDesignManager.classifier_manager.getClassifier(index);
+		return classifier;
+	    }
+	    else {
+		return feature;
+	    }
+	}
+	else {
+	    return "Error";
+	}
+    }
+
+    public String getFeatureName() {
+	if (feature_name == null) {
+	    String name  = element.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+	    // Remove part
+	    String part = getPart();
+	    if(part != null) {
+		feature_name = name.substring(0, name.length() - part.length());
+	    }
+	    else {
+		feature_name = name;
+	    }
+	    part = null;
+	    name = null;
+	}
+
+	return feature_name;
+	    
+    }
+    public String getName() {
+	if(element != null) {
+	    String name  = element.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+           return element.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+	}
+	return "Error";
+    }
+
+    /** Method to retrieve the value of part. Of course there may not be one, in which case return ""
+     * @return The value of part as a <Strong>String</strong>.
+     */
+    public String getPart() {
+	if(part == null && element != null) {
+	    // To determine a part, we retrieve the Format name, then look for one of our recognized parts
+	    String name = element.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+	    // DEFAULT_PARTS[0] is an empty string to correctly enable comboboxes.
+	    name = name.toLowerCase();
+	    for(int i = 1; part == null && i < DEFAULT_PARTS.length; i++) {
+		if(name.endsWith(DEFAULT_PARTS[i].toLowerCase())) {
+		    part = DEFAULT_PARTS[i];
+		}
+	    }
+	    if(part == null) {
+		part = DEFAULT_PARTS[0];
+	    }
+	}
+	return part;
+    }
+
+    /** Method to retrieve the value of state.
+     * @return value of state as a <i>boolean</i>.
+     */
+    public boolean getState() {
+	return (element != null && element.getAttribute(StaticStrings.VALUE_ATTRIBUTE).equals(StaticStrings.TRUE_STR));
+    }
+
+    /** Retrieve the value of value.
+     * @return A <strong>String</strong> which is the value of value.
+     */
+    public String getValue() {
+	String value = "Error";
+	if(element != null) {
+	   value = XMLTools.getValue(element);
+	   // Decode into text
+	   value = Codec.transform(value, Codec.DOM_TO_TEXT);
+	}
+	return value;
+    }
+
+    public boolean isAssigned() {
+	return (element != null && !element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.FALSE_STR));
+    }
+
+    public boolean isParamType() {
+	return (element != null && element.getAttribute(StaticStrings.VALUE_ATTRIBUTE).length() > 0);
+    }
+
+    public void setAssigned(boolean assigned) {
+	if(element != null) {
+	    element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, (assigned ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR));
+	}
+    }
+
+    public void setElement(Element element) {
+	this.element = element;
+	part = null;
+	text = null;
+	// Establish the classifier reference, if necessary
+	getFeature();
+    }
+
+    public void setName(Object feature, String part) {
+	// Can't do anything unless an element exists.
+        
+	if(element != null) {
+	    this.part = part; // Easier for later on.
+	    if(feature instanceof Classifier) {
+		classifier = (Classifier) feature;
+		feature_name = classifier.getPositionString(); 
+		element.setAttribute(StaticStrings.NAME_ATTRIBUTE, classifier.getPositionString() + part);
+	    }
+	    else {
+                if  (feature.toString().startsWith("<html>")){
+		    feature_name = "";
+		}
+		else{
+		    feature_name = feature.toString();
+		}
+		element.setAttribute(StaticStrings.NAME_ATTRIBUTE, feature_name + part);
+	    }
+	    text = null;
+	}
+    }
+
+    /** Set the value of state.
+     * @param state The new value for state as a <i>boolean</i>.
+     */
+    public void setState(boolean state) {
+	if(element != null) {
+	    element.setAttribute(StaticStrings.VALUE_ATTRIBUTE, (state ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR));
+	    text = null;
+	}
+    }
+
+    /** Set the value of value. Hmmm.
+     * @param value The new value from value as a <strong>String</strong>.
+     */
+    public void setValue(String value) {
+	if(element != null) {
+	    // Strip off any enclosing speech marks
+	    if(value.startsWith(StaticStrings.SPEECH_CHARACTER) && value.startsWith(StaticStrings.SPEECH_CHARACTER)) {
+		value = value.substring(1, value.length() - 1);
+	    }
+	    // Encode
+	    value = Codec.transform(value, Codec.TEXT_TO_DOM);
+	    // Store in DOM
+	    XMLTools.setValue(element, value);
+	    text = null;
+	}
+    }
+
+    /** Method to translate this classes information into a line of text as you would expect in the collection configuration file.
+     * @return A <strong>String</strong> containing the format command.
+     */
+    public String toString() {
+	if(text == null && element != null) {
+	    StringBuffer temp = new StringBuffer(" ");
+	    temp.append(element.getAttribute(StaticStrings.NAME_ATTRIBUTE));
+	    temp.append(" ");
+	    String value = element.getAttribute(StaticStrings.VALUE_ATTRIBUTE);
+	    if(value.length() > 0) {
+		temp.append(value);
+	    }
+	    else {
+		value = XMLTools.getValue(element);
+		if(value.equalsIgnoreCase(StaticStrings.TRUE_STR) || value.equalsIgnoreCase(StaticStrings.FALSE_STR)) {
+		    temp.append(value);
+		}
+		else {
+		    temp.append("\"");
+		    // Retrieve the DOM encoded value, decode and then append
+		    value = Codec.transform(value, Codec.DOM_TO_TEXT);
+		    temp.append(value);
+		    temp.append("\"");
+		}
+	    }
+	    text = temp.toString();
+	    temp = null;
+	}
+	return text;
+    }
+
+    public void update() {
+	if(classifier != null) {
+	    element.setAttribute(StaticStrings.NAME_ATTRIBUTE, classifier.getPositionString() + getPart());
+	    feature_name = classifier.getPositionString(); 
+	    text = null;
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Format4gs3.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Format4gs3.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Format4gs3.java	(revision 21123)
@@ -0,0 +1,246 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Xiao F. Yu, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.util.Codec;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataTools;
+
+
+/** This class is the greenstone 3 version of the Format.java in gs2 for handling 'gsf' format statements.
+ */
+public class Format4gs3 implements DOMProxyListEntry {
+    
+    /** The element this format is based on. */
+    private Element element = null;
+    /** We keep a copy of the feature name */
+    private String feature_name = null;
+    /** The format statement for this feature (also contains classifier options if its a classifier), used by the format list on the top in GLI. */
+    private String feature_format = null;
+    
+    /** The format statement for this feature (does not contain options in the front), displayed in the format editor at the bottom in GLI. 
+     *  If this format is not a classifier, feature_format==pure_format*/
+    private String pure_format = null;
+    
+    /** Wether this feature is about a classifier. The other way to check this is to see if feature_name starts with "CL" */
+    private static boolean is_classifier = false;
+    /** If this format is about a classifier, this contains all its options */
+    private String classifier_options = "";
+    
+    /** Constructor only to be used during DOMProxyListModel initialization. */
+    public Format4gs3 () {
+        
+    }
+    /** Constructor for a format-string format command.
+     * @param element The <Strong>element</strong> this format object contains.
+     */
+    public Format4gs3 (Element element) {
+        this.element = element;
+        
+        is_classifier = element.getParentNode().getNodeName().equals(StaticStrings.CLASSIFY_ELEMENT);
+
+	if(is_classifier && CollectionDesignManager.classifier_manager!=null) {
+            //The getClassifierPosition() method also sets the classifier_options variable.
+            feature_name = Classifier.CLASSIFIER_PREFIX + getClassifierPosition(element);   
+            Classifier classifier = getClassifier(feature_name);
+            //set the classifier_options string
+	    if (classifier != null){
+		classifier_options = classifier.toString();
+	    }
+                    
+            pure_format = toOneLineFormat(XMLTools.getNodeText(element));
+            feature_format = classifier_options + " " + pure_format;
+        } else {
+            feature_name = element.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+            feature_format = toOneLineFormat(XMLTools.getNodeText(element));
+            pure_format = feature_format;
+        }
+
+     }
+    //
+    public Format4gs3 (String feature_name, String feature_format) {
+        this.feature_name = feature_name;
+        this.feature_format = feature_format;
+        this.pure_format = feature_format;
+        
+        is_classifier = feature_name.startsWith (Classifier.CLASSIFIER_PREFIX);
+        
+        element = CollectionConfiguration.createElement (StaticStrings.FORMAT_STR);
+        if(is_classifier) {
+            
+            //Now get the options of the classifier
+            Classifier classifier = getClassifier(feature_name);
+            //set the classifier_options string
+            classifier_options = classifier.toString();
+            
+            feature_format = classifier_options + " " + feature_format;
+        } else {
+            element.setAttribute (StaticStrings.NAME_ATTRIBUTE, feature_name);
+        }
+
+        XMLTools.setNodeText(element, toOneLineFormat(pure_format));
+
+    }
+    public int getClassifierPosition(Element element) {
+        //we could also here use 'element.getParentNode().getParentNode()' to get this root node
+        Element root = CollectionDesignManager.collect_config.getDocumentElement ();
+        NodeList classify_list = root.getElementsByTagName(StaticStrings.CLASSIFY_ELEMENT);   
+        int num_classify_elements = classify_list.getLength();
+        for(int i=0; i<num_classify_elements; i++) {
+            Element classify = (Element)classify_list.item(i);
+            Element format = (Element)XMLTools.getChildByTagName(classify, StaticStrings.FORMAT_STR);
+            if(format == element) {
+                //Now get the options of the classifier
+                Classifier classifier = CollectionDesignManager.classifier_manager.getClassifier(i);
+                classifier_options = classifier.toString();
+                // i+1 because java is from 0 up, greenstone starts from 1.
+                return i + 1;
+            }
+        }
+        return -1;
+    }
+    public static Classifier getClassifier(String feature_name) {
+            int index = Integer.parseInt(feature_name.substring(Classifier.CLASSIFIER_PREFIX.length()));
+            Classifier classifier = CollectionDesignManager.classifier_manager.getClassifier(index-1);
+            return classifier;
+    }
+    //This method is used when the add button is clicked and a new format element for a classifier is added to
+    // the DOM tree, we need to figure out which Classify element to append this format element to.
+    public Element getClassifyElement () {
+        
+        //String name = classifier.getPositionString();
+        int classifier_index = Integer.parseInt (feature_name.substring (Classifier.CLASSIFIER_PREFIX.length ()));
+        Element root = CollectionDesignManager.collect_config.getDocumentElement ();
+        NodeList classify_list = root.getElementsByTagName (StaticStrings.CLASSIFY_ELEMENT);
+        
+        // - 1 because java is from 0 up, greenstone starts from 1.
+        classifier_index = classifier_index - 1;
+        return (Element)classify_list.item (classifier_index);
+    }
+            
+    /** Method to translate this class information into a line of text as you would expect on the format list panel
+     * @return A <strong>String</strong> containing the format command.
+     */
+    public String toString () {
+
+        return feature_name + " " + toOneLineFormat(feature_format);
+    }
+    public void update () {
+     
+        if (is_classifier) {
+           feature_name = Classifier.CLASSIFIER_PREFIX + getClassifierPosition(element); 
+           Classifier classifier = getClassifier(feature_name);
+            //update the classifier_options string
+            classifier_options = classifier.toString();
+            pure_format = toOneLineFormat(XMLTools.getNodeText(element));
+            feature_format = classifier_options + " " + pure_format;
+        }
+    }    
+    public String getFormatedFormat() {
+        return toFormatedFormat(feature_format);
+    }
+    public String getPureFormat() {
+        return toFormatedFormat(pure_format);
+    }
+    
+    public Classifier getClassifier() {
+        if(!isClassifier()) {
+            
+            return null;
+        }
+        int index = Integer.parseInt(feature_name.substring(Classifier.CLASSIFIER_PREFIX.length()));
+        //index-1 because java indexes from 0, but greenstone is from 1.
+        index = index - 1;
+        return CollectionDesignManager.classifier_manager.getClassifier(index);
+    }
+    public void setFeatureName (String name) {
+        feature_name = name;
+    }
+    /** Set the value of value. Hmmm.
+     * @param value The new value from value as a <strong>String</strong>.
+     */
+    public void setFeatureFormat (String value) {
+        if(is_classifier) {
+          feature_format = classifier_options + " " + value;
+        } else {
+          feature_format = value;
+        }
+    }
+    public void setPureFormat (String value) {
+        pure_format = value;
+        setFeatureFormat (value);
+        XMLTools.setNodeText(element, pure_format);
+    }
+    public static String toOneLineFormat(String str) {
+        return str.replaceAll("\n", "").replaceAll("  ", "").replaceAll(" <", "<");
+    }
+    public static String toFormatedFormat(String str) {
+        return str.replaceAll("  ", "").replaceAll("<", "\n<").replaceFirst("\n", "");
+    }
+    public int compareTo (Object object) {
+        if(object == null) { // It seems that occasionally compareTo is called and somehow null ends up in comparison.
+            return -1;
+        }
+        return this.getFeatureName ().compareToIgnoreCase (((Format4gs3)object).getFeatureName());
+    }
+    
+    public DOMProxyListEntry create (Element element) {
+        return new Format4gs3 (element);
+    }
+    
+    public boolean equals (Object object) {
+        return (compareTo (object) == 0);
+    }
+    
+    public Element getElement () {
+        return element;
+    }
+    public boolean isClassifier() {
+        return feature_name.startsWith(Classifier.CLASSIFIER_PREFIX);
+    }
+    public String getFeatureName () {
+        return feature_name;
+    }
+    //The format appended as a row of string used to display in the format list panel
+    public String getFeatureFormat () {
+        return feature_format;
+    }    
+    public void setElement (Element element) {
+        this.element = element;
+    }
+    public boolean isAssigned() {
+        return true;
+    }
+
+    public void setAssigned(boolean assigned) {
+    }
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Format4gs3Manager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Format4gs3Manager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Format4gs3Manager.java	(revision 21123)
@@ -0,0 +1,763 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.undo.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.gui.DesignPaneHeader;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.gui.FormatPane;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataSetManager;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+import java.awt.FontMetrics;
+import java.awt.Graphics;
+import java.awt.Insets;
+import java.awt.Rectangle;
+
+/** This class maintains a list of format statements, and allows the addition and removal of these statements.
+ *  This is the greenstone 3 equivalent class of FormatManager.java which is used by greenstone 2
+ */
+public class Format4gs3Manager implements SharedByTwoFormatManager {
+       
+    static final private String SEARCH_FORMAT = "<gsf:template match=\"documentNode\"><td valign=\"top\"><gsf:link type=\"document\"><gsf:icon type=\"document\"/></gsf:link></td><td><gsf:switch><gsf:metadata name=\"Title\" select=\"ancestors\" separator=\": \"/><gsf:when test=\"exists\"><gsf:metadata name=\"Title\" select=\"ancestors\" separator=\": \"/>:</gsf:when></gsf:switch><gsf:link type=\"document\"><gsf:metadata name=\"Title\"/></gsf:link></td></gsf:template>";
+    static final private String SEARCH = "search";
+    static final private String DISPLAY_FORMAT = "<gsf:template match=\"documentcontent\"></gsf:template><gsf:option name=\"TOC\" value=\"true\"/>";
+    static final private String DISPLAY = "display";
+    static final private String CLASSIFIER_DEFAULT_FORMAT ="<gsf:template match=\"documentNode\"><td valign=\"top\"><gsf:link type=\"document\"><gsf:icon type=\"document\"/></gsf:link></td><td valign=\"top\"><gsf:metadata name=\"srclink\"/><gsf:choose-metadata><gsf:metadata name=\"thumbicon\"/><gsf:metadata name=\"srcicon\"/></gsf:choose-metadata><gsf:metadata name=\"/srclink\"/></td><td valign=\"top\"><gsf:choose-metadata><gsf:metadata name=\"dc.Title\"/><gsf:metadata name=\"exp.Title\"/><gsf:metadata name=\"Title\"/><gsf:default>Untitled</gsf:default></gsf:choose-metadata><gsf:switch><gsf:metadata name=\"Source\"/><gsf:when test=\"exists\"><br/><i>(<gsf:metadata name=\"Source\"/>)</i></gsf:when></gsf:switch></td></gsf:template><gsf:template match=\"classifierNode\"><td valign=\"top\"><gsf:link type=\"classifier\"><gsf:icon type=\"classifier\"/></gsf:link></td><td valign=\"top\"><gsf:metadata name=\"srclink\"/><gsf:choose-metadata><gsf:metadata name=\"thumbicon\"/><gsf:metadata name=\"srcicon\"/></gsf:choose-metadata><gsf:metadata name=\"/srclink\"/></td><td valign=\"top\"><gsf:choose-metadata><gsf:metadata name=\"dc.Title\"/><gsf:metadata name=\"exp.Title\"/><gsf:metadata name=\"Title\"/><gsf:default>Untitled</gsf:default></gsf:choose-metadata><gsf:switch><gsf:metadata name=\"Source\"/><gsf:when test=\"exists\"><br/><i>(<gsf:metadata name=\"Source\"/>)</i></gsf:when></gsf:switch></td></gsf:template><gsf:template match=\"classifierNode\" mode=\"horizontal\"><gsf:link type=\"horizontal\"><gsf:metadata name=\"Title\"/></gsf:link></gsf:template>";
+    static final private String CLASSIFIER_DEFAULT = "browse";
+    static final private String SEARCHTYPE_FORMAT = "plain,form";
+    static final private String SEARCHTYPE = "searchType";
+    static final private String[] FEATURE_NAME = {SEARCH, DISPLAY, CLASSIFIER_DEFAULT, SEARCHTYPE};
+    static final private String[] FEATURE_FORMAT = {SEARCH_FORMAT, DISPLAY_FORMAT, CLASSIFIER_DEFAULT_FORMAT, SEARCHTYPE_FORMAT};
+
+    static private HashMap default_format_map = null;
+    static private HashMap default_format_formated_map = null;
+    
+    /** The controls used to edit the format commands. */
+    private Control controls = null;// an interface
+    /** A reference  */
+    private DOMProxyListModel format_list_model = null;
+    //private DOMProxyListModel feature_list_model = null;
+    
+    
+    /** Constructor. */
+    public Format4gs3Manager () {//pass the internal structure
+        Element root = CollectionDesignManager.collect_config.getDocumentElement ();        
+        format_list_model = new DOMProxyListModel(root, StaticStrings.FORMAT_STR, new Format4gs3 ());        
+        initDefault(format_list_model, FEATURE_NAME, FEATURE_FORMAT);
+        initFormatMap(FEATURE_NAME, FEATURE_FORMAT);
+        
+    }
+    private void initFormatMap(String[] feature_name, String[] feature_format) {
+        default_format_map = new HashMap();
+        default_format_formated_map = new HashMap();
+        for(int i=0; i < feature_name.length; i++) {
+            default_format_map.put(feature_name[i], feature_format[i]);
+            default_format_formated_map.put(feature_name[i], Format4gs3.toFormatedFormat (feature_format[i]));
+        }
+
+    }
+
+    public void initDefault(DOMProxyListModel model, String[] feature_name, String[] feature_format) {
+        // Establish all of the format objects.
+        for(int i = 0; i < model.getSize (); i++) {
+            model.getElementAt (i);//get those objects cached
+        } 
+        for(int i=0; i < feature_name.length; i++) {
+            if (getFormat(model, feature_name[i]) == null) {
+                model.add(new Format4gs3(feature_name[i], feature_format[i]));
+                 
+            }
+        }
+    }
+
+    /** Method to remove a format.
+     * @param format The <strong>Format</strong> to remove.
+     */
+    private void removeFormat (DOMProxyListModel model, Format4gs3 format) {
+        model.remove (format);
+    }
+    
+    private Format4gs3 getFormat (DOMProxyListModel model, String name) {
+        
+        for(int index = 0; index < model.getSize(); index++) {
+            Format4gs3 format = (Format4gs3) model.getElementAt(index);
+            if(format.getFeatureName().equals(name)) {
+                return format;
+            }
+        }
+        return null;
+    }
+    private void addFormat (Element parent, Format4gs3 format) {
+        if(!format_list_model.contains (format)) {
+
+            format_list_model.add (parent, format, null);
+        }
+    }    
+    public void destroy () {
+        if(controls != null) {
+            controls.destroy ();
+            controls = null;
+        }
+    }
+    
+    
+    /** Method to retrieve this managers controls.
+     * @return the Control for this collection.
+     */
+    public Control getControls () {
+        if(controls == null) {
+            controls = new FormatControl ();
+        }
+        //controls.gainFocus();
+        return controls;
+    }
+
+    /** Called when the detail mode has changed which in turn may cause several design elements to be available/hidden
+     * @param mode the new mode as an int
+     */
+    public void modeChanged (int mode) {
+        
+    }
+    
+
+    /** updates the format and feature model */
+    public synchronized void refresh () {
+        for(int i = 0; i < format_list_model.getSize (); i++) {
+            Format4gs3 format = (Format4gs3) format_list_model.getElementAt (i);
+            format.update ();
+            format = null;
+        }
+        //call the gainFocus() and in turn the buildFeatureModel() method to get the feature combobox refreshed as well
+        if(controls == null) {
+            controls = new FormatControl ();
+        }
+        controls.gainFocus();
+        
+        //format_list_model.refresh(); //this call is not necessary as it is included in gainFocus()
+    }
+    
+    private ArrayList buildFeatureModel () {
+        // Rebuild feature model.
+        ArrayList feature_model = new ArrayList ();
+        //This will display 'choose a feature' and is used when the format feature panel is first gained focus
+        feature_model.add (new Entry(""));
+
+        for(int i = 0; i < format_list_model.getSize(); i++) {
+            Format4gs3 format = (Format4gs3)format_list_model.getElementAt (i);
+            String feature_name = format.getFeatureName();
+            if(!feature_name.startsWith(Classifier.CLASSIFIER_PREFIX)) {
+                feature_model.add (new Entry (format.getFeatureName()));
+                
+            } 
+        }
+        // Now the classifiers.
+        Element root = CollectionDesignManager.collect_config.getDocumentElement ();        
+        NodeList classifier_list = root.getElementsByTagName (StaticStrings.CLASSIFY_ELEMENT);
+        for(int j = 0; j < classifier_list.getLength (); j++) {
+            feature_model.add (new Entry (CollectionDesignManager.classifier_manager.getClassifier (j)));
+            
+        }
+        //Collections.sort (feature_model);
+        return feature_model;
+    }
+
+    public class FormatControl
+    extends JPanel
+    implements Control {
+        
+        private ArrayList feature_model;
+        private boolean ignore_event = false;
+        private boolean ready = false; // Are these controls available to be refreshed
+        private JButton add_button;
+        private JButton remove_button;
+        private JButton default_button;
+        private JButton undo_button;
+        private JButton redo_button;
+        private JComboBox feature_combobox;
+        private JList format_list;
+        private NumberedJTextArea editor_textarea;
+        private JTextArea editor_msgarea;
+        private JPanel validation_msg_panel;
+        private JPanel selection_pane;
+        private final Dimension FIELD_SIZE = new Dimension (200, 30);
+        private final UndoManager undo = new UndoManager ();
+        private boolean newtext = true;
+        private Format4gs3 previousFormat = null;
+        private Format4gs3 currentFormat = null;
+        private boolean fresh = true;
+        
+        public FormatControl () {
+            feature_model = buildFeatureModel ();
+            
+            // Create
+            JPanel header_pane = new DesignPaneHeader ("CDM.GUI.Formats", "formatstatements");
+            
+            format_list = new JList (format_list_model);
+            
+            selection_pane = new JPanel ();
+            JPanel feature_pane = new JPanel ();
+            JLabel feature_label = new JLabel (Dictionary.get ("CDM.FormatManager.Feature"));
+
+            feature_combobox = new JComboBox (feature_model.toArray ());            
+            feature_combobox.setOpaque (!Utility.isMac ());
+            feature_combobox.setPreferredSize (FIELD_SIZE);
+            feature_combobox.setEditable (false);
+            feature_combobox.setToolTipText (Dictionary.get ("CDM.FormatManager.Feature_Tooltip"));
+            
+            JPanel center_pane = new JPanel ();
+            JPanel editor_pane = new JPanel ();
+            
+            editor_textarea = new NumberedJTextArea ();
+            editor_textarea.setOpaque(false);
+            editor_textarea.setBackground (Configuration.getColor ("coloring.editable_background", false));
+            editor_textarea.setCaretPosition (0);
+            editor_textarea.setLineWrap (true);
+            editor_textarea.setRows (11);
+            editor_textarea.setWrapStyleWord (false);
+            editor_textarea.setToolTipText (Dictionary.get ("CDM.FormatManager.Add_Tooltip"));
+            
+           
+            default_button = new GLIButton (Dictionary.get ("CDM.FormatManager.Default"), Dictionary.get ("CDM.FormatManager.Default_Tooltip"));
+            JPanel button_pane = new JPanel ();
+            add_button = new GLIButton (Dictionary.get ("CDM.FormatManager.Add"), Dictionary.get ("CDM.FormatManager.Add_Tooltip"));
+            add_button.setEnabled (false);
+            
+            remove_button = new GLIButton (Dictionary.get ("CDM.FormatManager.Remove"), Dictionary.get ("CDM.FormatManager.Remove_Tooltip"));
+            remove_button.setEnabled (false);
+            
+            undo_button = new GLIButton (Dictionary.get ("General.Undo"), Dictionary.get ("General.Undo_Tooltip"));
+            undo_button.setEnabled (false);
+            
+            redo_button = new GLIButton (Dictionary.get ("General.Redo"), Dictionary.get ("General.Redo_Tooltip"));
+            redo_button.setEnabled (false);
+            
+            // Connect
+            add_button.addActionListener (new AddListener ());
+            remove_button.addActionListener (new RemoveListener ());
+            default_button.addActionListener (new DefaultListener ());
+            undo_button.addActionListener (new UndoListener ());
+            redo_button.addActionListener (new RedoListener ());
+       feature_combobox.addActionListener (new FeatureListener ());            
+            editor_textarea.getDocument ().addDocumentListener (new EditorListener ());
+            // Listen for undo and redo events
+            editor_textarea.getDocument ().addUndoableEditListener (new UndoableEditListener () {
+                public void undoableEditHappened (UndoableEditEvent evt) {
+                    undo.addEdit (evt.getEdit ());
+                }
+            });
+            
+            
+            format_list.addListSelectionListener (new FormatListListener ());
+            
+            // Layout
+            JPanel format_list_pane = new JPanel ();
+            format_list_pane.setBorder (BorderFactory.createEmptyBorder (5,0,0,0));
+            format_list_pane.setLayout (new BorderLayout ());
+            format_list_pane.add (new JScrollPane (format_list), BorderLayout.CENTER);
+            
+            
+            feature_pane.setBorder (BorderFactory.createEmptyBorder (5,0,0,0));
+            feature_pane.setLayout (new BorderLayout (5,0));
+            feature_pane.add (feature_label, BorderLayout.WEST);
+            feature_pane.add (feature_combobox, BorderLayout.CENTER);
+            
+            JPanel rupanel = new JPanel ();
+            rupanel.setLayout (new GridLayout (1,2));
+            rupanel.add (undo_button);
+            rupanel.add (redo_button);
+
+            editor_pane.setLayout (new BorderLayout ());
+            editor_pane.add (new JScrollPane (editor_textarea), BorderLayout.CENTER);
+            
+            validation_msg_panel = new JPanel();
+            JLabel validation_label = new JLabel (Dictionary.get ("CDM.FormatManager.MessageBox"));
+            editor_msgarea = new JTextArea ();
+            
+            editor_msgarea.setCaretPosition (0);
+            editor_msgarea.setLineWrap (true);
+            editor_msgarea.setRows (3);
+            editor_msgarea.setWrapStyleWord (false);
+            editor_msgarea.setEditable (false);
+            editor_msgarea.setToolTipText (Dictionary.get ("CDM.FormatManager.MessageBox_Tooltip"));
+            validation_msg_panel.setBorder (BorderFactory.createEmptyBorder (2,0,0,0));
+            validation_msg_panel.setLayout (new BorderLayout (5, 0));
+            validation_msg_panel.add (validation_label, BorderLayout.WEST);
+            validation_msg_panel.add (new JScrollPane (editor_msgarea), BorderLayout.CENTER);
+
+            selection_pane.setLayout (new BorderLayout ());
+            selection_pane.add (validation_msg_panel, BorderLayout.NORTH);            
+            selection_pane.add (rupanel, BorderLayout.SOUTH);
+            selection_pane.add (editor_pane, BorderLayout.CENTER);
+                
+            
+            button_pane.setLayout (new GridLayout (1,3));
+            button_pane.add (add_button);
+            button_pane.add (remove_button);
+            button_pane.add (default_button);
+            
+            center_pane.setLayout (new BorderLayout ());
+            center_pane.add (feature_pane, BorderLayout.NORTH);
+            center_pane.add (selection_pane, BorderLayout.CENTER);
+            center_pane.add (button_pane, BorderLayout.SOUTH);
+            
+            setBorder (BorderFactory.createEmptyBorder (0,5,0,0));
+            setLayout (new BorderLayout ());
+            add (header_pane, BorderLayout.NORTH);
+            add (format_list_pane, BorderLayout.CENTER);
+            add (center_pane, BorderLayout.SOUTH);
+            ready = true;
+        }
+        
+        public void destroy () {
+        }                        
+        /** Overriden to ensure that the instructions pane is scrolled to the top.
+         */
+        public void gainFocus () {
+            if(ready) {
+
+                format_list_model.refresh();
+                // Update the feature model, trying to maintain the same selected object
+                Object selected_feature = feature_combobox.getSelectedItem ();
+                feature_combobox.setSelectedItem (selected_feature);
+                feature_model = buildFeatureModel ();
+                feature_combobox.setModel (new DefaultComboBoxModel (feature_model.toArray ()));                
+            }
+        }
+        public void loseFocus () {
+            //validate the templates. If not wellformed, pop up an alert; otherwise, do nothing.
+            String msg = XMLTools.parse(editor_textarea.getText ());
+            if(msg.startsWith(XMLTools.NOTWELLFORMED)) {
+                JOptionPane.showMessageDialog(null, msg, XMLTools.NOTWELLFORMED, JOptionPane.ERROR_MESSAGE);
+            }
+            format_list_model.refresh();
+        }
+        
+        public Format4gs3 getCurrentFormat () {
+            return (Format4gs3)format_list.getSelectedValue ();
+            
+        }
+        
+        /** Listens for clicks on the add button, and if the relevant details are provided adds a new format.
+         Note that formats are responsible for codecing the values into something that can be a) stored in a DOM and b)
+         written to file 
+        */
+        private class AddListener implements ActionListener {
+            
+            public void actionPerformed (ActionEvent event) {
+                
+                ignore_event = true; // Prevent format_list excetera propagating events
+
+                String format_str = editor_textarea.getText ();
+                Entry entry = (Entry) feature_combobox.getSelectedItem ();
+                String feature_name = entry.getClassifier().getPositionString();
+
+                Format4gs3 format = new Format4gs3 (feature_name, format_str);
+                Element e = format.getClassifyElement();
+                addFormat(e, format);
+                existingFormat (format.getFeatureName().startsWith (Classifier.CLASSIFIER_PREFIX)); // set the appropriate enable/disable on the interface
+                
+                // Update list selection (make the new added format highlighted on the format list panel)
+                format_list.setSelectedValue (format, true);
+                
+                format = null;
+                
+                ignore_event = false;
+            }
+        }
+        
+        private class EditorListener
+        implements DocumentListener {
+            
+            public void changedUpdate (DocumentEvent e) {
+                update ();
+            }
+            
+            public void insertUpdate (DocumentEvent e) {
+                update ();
+                updateUndo ("insert");
+                
+            }
+            
+            public void removeUpdate (DocumentEvent e) {
+                update ();
+                updateUndo ("remove");
+                
+            }
+            
+            private void updateUndo (String from) {
+                
+                if (!newtext) {
+                    undo_button.setEnabled (true);
+                }
+                
+                if (editor_textarea.getText ().length ()!=0 && newtext) {
+                    newtext = false;
+                }
+            }
+            
+            public void update () {
+                if(!format_list.isSelectionEmpty ()) {
+                    Format4gs3 format = (Format4gs3)format_list.getSelectedValue ();
+                    String format_str = editor_textarea.getText ();
+                    String msg = XMLTools.parse(format_str);
+                    editor_msgarea.setText(msg);
+                    
+                    if(msg.startsWith(XMLTools.WELLFORMED)) {
+                        format.setPureFormat (Format4gs3.toOneLineFormat (format_str));
+                        format.update();
+                        format_list_model.refresh (format);
+                        editor_msgarea.setBackground (Color.white);
+                        FormatPane.setPreviewButton(true);
+                    }
+                    else {
+                        editor_msgarea.setBackground (Color.red);
+                        FormatPane.setPreviewButton(false);
+                    }
+                }
+                else {
+                    add_button.setEnabled (false);                    
+                }                                       
+           }
+        }
+        
+        private class FeatureListener implements ActionListener {
+            public void actionPerformed (ActionEvent event) {
+                undo_button.setEnabled (false);
+                redo_button.setEnabled (false);
+                default_button.setEnabled (true);
+                newtext = true;
+                
+                if (ignore_event == true) {
+                    undo.discardAllEdits ();
+                    return;
+                }
+                
+                ignore_event = true;
+                // Add is only enabled if there isn't already a format for the choosen feature and part.
+                //Create a dummy format and test if itsa already in the model
+                Entry entry = (Entry) feature_combobox.getSelectedItem ();
+                String feature_name = entry.getFeatureName();
+                
+                Format4gs3 format = getFormat(format_list_model, feature_name);
+                
+                if(format != null) {
+                    ///ystem.err.println("There is an existing format!");
+                    format_list.setSelectedValue (format, true);
+                    editor_textarea.setText (format.getPureFormat());
+                    editor_textarea.setCaretPosition (0);
+
+                    existingFormat (feature_name.startsWith (Classifier.CLASSIFIER_PREFIX));
+                }
+                // Otherwise there is no existing format, then this feature must be a classifier (CL1, 2, ...)
+                // we display the ClassifierDefault for this format
+                else {
+                    //Fist reset the format list panel
+                    format_list.clearSelection ();
+                    
+                    if (feature_name.equals("")) {
+                        editor_textarea.setText ("");
+                        
+                    } else {
+                        //Only for debugging purposes
+                        if (entry.getClassifier () == null) {
+                            DebugStream.println ("It should be a classifier or choose a feature. What is it? " + entry.toString ());
+                        }
+                        
+                        editor_textarea.setText (Format4gs3.toFormatedFormat (CLASSIFIER_DEFAULT_FORMAT));
+                        editor_textarea.setCaretPosition (0);
+                        newFormat ();
+                    }
+                }               
+                ignore_event = false;                
+                undo.discardAllEdits ();
+            }
+        }
+        
+        private class FormatListListener implements ListSelectionListener {
+            public void valueChanged (ListSelectionEvent event) {
+                undo_button.setEnabled (false);
+                redo_button.setEnabled (false);
+                default_button.setEnabled (true);
+                newtext = true;
+                
+                if(!ignore_event && !event.getValueIsAdjusting ()) {
+                    
+                    if(!format_list.isSelectionEmpty ()) {
+                        ignore_event = true;
+                        Format4gs3 format = (Format4gs3)format_list.getSelectedValue ();
+                        String feature_name = format.getFeatureName();
+                        Entry entry = null;
+                        if(feature_name.startsWith(Classifier.CLASSIFIER_PREFIX)) {
+                            entry = new Entry(format.getClassifier ());
+                        } else {
+                            entry = new Entry(feature_name);
+                        }
+                        feature_combobox.setSelectedItem (entry);
+                        
+                        existingFormat (format.getFeatureName().startsWith (Classifier.CLASSIFIER_PREFIX));
+                        
+                        editor_textarea.setText (format.getPureFormat());
+                        editor_textarea.setCaretPosition (0);
+                            
+                        ignore_event = false;
+                    }
+                    
+                }
+                undo.discardAllEdits ();
+            }
+            
+        }     
+        private class RemoveListener implements ActionListener {           
+            public void actionPerformed (ActionEvent event) {
+                if (!format_list.isSelectionEmpty ()) {
+                    // Remove the current format
+                    Format4gs3 format = (Format4gs3)format_list.getSelectedValue ();
+                    removeFormat (format_list_model, format);
+                    // Change buttons
+                    add_button.setEnabled (true);
+                    feature_combobox.setSelectedItem (new Entry(""));
+                    newFormat ();
+                }
+            }
+        }                        
+        private class DefaultListener implements ActionListener {            
+            public void actionPerformed (ActionEvent event) {
+                newtext = false;
+                if(!ignore_event) {
+                    Entry entry = (Entry) feature_combobox.getSelectedItem ();
+                    String feature_name = entry.getFeatureName ();
+                    Format4gs3 format = getFormat (format_list_model, feature_name);
+                    
+                    if(format != null) {
+                        if (format.isClassifier () == true) {
+                            editor_textarea.setText ((String) default_format_formated_map.get (CLASSIFIER_DEFAULT));
+                            editor_textarea.setCaretPosition (0);
+                            remove_button.setEnabled (true);
+                        } else {
+                            editor_textarea.setText ((String) default_format_formated_map.get (format.getFeatureName ()));
+                            editor_textarea.setCaretPosition (0);
+                            remove_button.setEnabled (false);
+                        }
+                    } else {
+                        editor_textarea.setText ((String) default_format_formated_map.get (CLASSIFIER_DEFAULT));
+                        editor_textarea.setCaretPosition (0);
+                        remove_button.setEnabled (false);
+                        add_button.setEnabled (true);
+                    }
+                }
+            }
+        }
+        
+        private class UndoListener
+        implements ActionListener {
+            
+            public void actionPerformed (ActionEvent event) {
+                try {
+                    if (undo.canUndo ()) {
+                        int pos = editor_textarea.getCaretPosition ();
+                        redo_button.setEnabled (true);
+                        undo.undo ();
+                        if (pos > 0)
+                            editor_textarea.setCaretPosition (pos-1);
+                        else
+                            editor_textarea.setCaretPosition (pos);
+                    }
+                    if (!undo.canUndo ()) {
+                        undo_button.setEnabled (false);
+                    }
+                    else {
+                        undo_button.setEnabled (true);
+                    }
+                    
+                } catch (Exception e) {
+                    
+                }
+            }
+        }
+        
+        private class RedoListener implements ActionListener {
+            public void actionPerformed (ActionEvent evt) {
+                try {
+                    if (undo.canRedo ()) {
+                        int pos = editor_textarea.getCaretPosition ();
+                        undo.redo ();
+                        editor_textarea.setCaretPosition (pos);
+                    }
+                    if (!undo.canRedo ()) {
+                        redo_button.setEnabled (false);
+                    }
+                    else {
+                        redo_button.setEnabled (true);
+                    }
+                    
+                } catch (Exception e)
+                {}
+            }
+        }
+        
+        private void newFormat () {
+            editor_textarea.setEditable (false);
+            editor_textarea.setBackground (Color.lightGray);
+            editor_textarea.setToolTipText (Dictionary.get ("CDM.FormatManager.Editor_Disabled_Tooltip"));
+            
+            undo_button.setEnabled (false);
+            redo_button.setEnabled (false);
+            add_button.setEnabled (true);
+            remove_button.setEnabled (false);
+            default_button.setEnabled (false);
+            FormatPane.setPreviewButton(true);
+        }
+
+        private void existingFormat (boolean enableRemoveButton) {
+            editor_textarea.setEditable (true);
+            editor_textarea.setBackground (Color.white);
+            editor_textarea.setToolTipText (Dictionary.get ("CDM.FormatManager.Editor_Tooltip"));
+            add_button.setEnabled (false);
+            remove_button.setEnabled (enableRemoveButton);
+            default_button.setEnabled (true);
+            FormatPane.setPreviewButton(true);
+        }    
+        /**
+         *  A textarea with the line number next to each line of the text
+         */
+        public class NumberedJTextArea extends JTextArea {
+            public void paintComponent (Graphics g) {
+                Insets insets = getInsets ();
+                Rectangle rectangle = g.getClipBounds ();                
+                g.setColor (Color.white);
+                g.fillRect (rectangle.x, rectangle.y, rectangle.width, rectangle.height);                
+                if (rectangle.x < insets.left) {
+                    FontMetrics font_metrics = g.getFontMetrics ();
+                    int font_height = font_metrics.getHeight ();
+                    int y = font_metrics.getAscent () + insets.top;
+                    int line_number_start_point = ((rectangle.y + insets.top) / font_height) + 1;
+                    if (y < rectangle.y) {
+                        y = line_number_start_point * font_height - (font_height - font_metrics.getAscent ());
+                    }
+                    int	y_axis_end_point = y + rectangle.height + font_height;
+                    int x_axis_start_point = insets.left;
+                    x_axis_start_point -= getFontMetrics (getFont ()).stringWidth (Math.max (getRows (), getLineCount () + 1) + " ");
+                    if (!this.getText().trim().equals("") ) {
+                        g.setColor (Color.DARK_GRAY);
+                    } else {
+                        g.setColor (Color.white);    
+                    }
+                    int length = ("" + Math.max (getRows (), getLineCount () + 1)).length ();
+                    while (y < y_axis_end_point) {
+                        g.drawString (line_number_start_point + "  ", x_axis_start_point, y);
+                        y += font_height;
+                        line_number_start_point++;
+                    }
+                }
+                super.paintComponent (g);
+            }
+            public Insets getInsets () {
+                Insets insets = super.getInsets (new Insets (0,0,0,0));
+                insets.left += getFontMetrics (getFont ()).stringWidth (Math.max (getRows (), getLineCount () + 1) + " ");
+                return insets;
+            }
+        }
+    }
+    /** This object provides a wrapping around an entry in Format4gs3, which is tranparent. */
+    // This class is used for display in the feature combobox
+    private class Entry implements Comparable {
+        private Classifier classifier = null;
+        private String feature_name = null;
+        
+        public Entry (Object object) {
+            if(object instanceof Classifier) {
+                classifier = (Classifier)object;
+                feature_name = classifier.getPositionString ();
+            }
+            else if(object instanceof String) {
+                feature_name = (String)object;
+            }
+            else {
+                feature_name = "";
+            }
+        }
+        
+        public Entry (String text) {
+            this.feature_name = text;
+        }
+        
+
+        public int compareTo (Object object) {
+            if(object == null) {
+                return 1;
+            }
+            if(toString () == null) {
+                return -1;
+            }
+            else {
+                String object_str = object.toString ();
+                if(object_str == null) {
+                    return 1;
+                }
+                return toString ().compareTo (object_str);
+            }
+        }
+        
+        public boolean equals (Object object) {
+            if(compareTo (object) == 0) {
+                return true;
+            }
+            return false;
+        }
+        
+        public Classifier getClassifier () {
+            return classifier;
+        }
+        
+        public String toString () {
+            if(classifier != null) {
+                // Return the classifier name - with its CL index shown, and all its metadata options as well
+                return classifier.getPositionString () + StaticStrings.SPACE_CHARACTER + classifier.toString ();
+            }
+            if (feature_name.equals ("")) {
+                return "<html><body><i>"+"Choose a feature"+"</i></body></html>";
+            }
+            return feature_name;
+        }        
+        public String getFeatureName () {
+            return feature_name;
+        }    
+    }     
+}
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/FormatManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/FormatManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/FormatManager.java	(revision 21123)
@@ -0,0 +1,1268 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.lang.reflect.Field;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.undo.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.gui.DesignPaneHeader;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataSetManager;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+import org.w3c.dom.*;
+
+/** This class maintains a list of format statements, and allows the addition and removal of these statements.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class FormatManager
+  extends DOMProxyListModel implements SharedByTwoFormatManager {
+  
+  static final private String BLANK = "blank";
+  static final private String FLAG  = "flag";
+  static final private String VALUE = "value";
+  
+  static final private String DATELIST = "DateList";
+  static final private String DATELIST_DEFAULT_FORMAT = "<td>[link][icon][/link]</td>\n<td>[highlight]{Or}{[dc.Title],[exp.Title],[ex.Title],Untitled}[/highlight]</td>\n<td>{Or}{[format:dc.Date],[format:exp.Date],[format:ex.Date]}</td>";
+  static final private String HLIST = "HList";
+  static final private String HLIST_DEFAULT_FORMAT = "[link][highlight][ex.Title][/highlight][/link]";
+  static final private String VLIST = "VList";
+  static final private String VLIST_DEFAULT_FORMAT = "<td valign=\"top\">[link][icon][/link]</td>\n<td valign=\"top\">[ex.srclink]{Or}{[ex.thumbicon],[ex.srcicon]}[ex./srclink]</td>\n<td valign=\"top\">[highlight]\n{Or}{[dc.Title],[exp.Title],[ex.Title],Untitled}\n[/highlight]{If}{[ex.Source],<br><i>([ex.Source])</i>}</td>";
+  //    static final private String INVISIBLE = "Invisible";
+  //static final private String INVISIBLE_DEFAULT_FORMAT = "";
+  
+  static final private String DOCUMENTHEADING = "DocumentHeading";
+  static final private String DOCUMENTHEADING_DEFAULT_FORMAT = "{Or}{[parent(Top):Title],[Title],untitled}<br>";
+  
+  static final private String DOCUMENTTEXT = "DocumentText";
+  static final private String DOCUMENTTEXT_DEFAULT_FORMAT = "[Text]";
+  
+  static final private String DOCUMENTBUTTONS = "DocumentButtons";
+  static final private String DOCUMENTBUTTONS_DEFAULT_FORMAT = "Detach|Highlight";
+  static final private String SEARCHTYPES = "SearchTypes";
+  static final private String SEARCHTYPES_DEFAULT_FORMAT = "plain,form";
+  
+  static final private String NAVBAR = "NavigationBar";
+  static final private String NAVBAR_OPTION = "pulldown";
+
+  static private HashMap default_format_map = null;
+  
+  /** The controls used to edit the format commands. */
+  private Control controls = null;
+  /** A reference to ourselves so inner classes can get at the model. */
+  private DOMProxyListModel model = null;
+  
+  
+  /** Constructor. */
+  public FormatManager() {
+    super(CollectionDesignManager.collect_config.getDocumentElement(), StaticStrings.FORMAT_ELEMENT, new Format());
+    this.model = this;
+    
+    default_format_map = new HashMap();
+    default_format_map.put(DATELIST, DATELIST_DEFAULT_FORMAT);
+    default_format_map.put(HLIST, HLIST_DEFAULT_FORMAT);
+    default_format_map.put(VLIST, VLIST_DEFAULT_FORMAT);
+    default_format_map.put(DOCUMENTHEADING, DOCUMENTHEADING_DEFAULT_FORMAT);
+    default_format_map.put(DOCUMENTTEXT, DOCUMENTTEXT_DEFAULT_FORMAT);
+    default_format_map.put(DOCUMENTBUTTONS, DOCUMENTBUTTONS_DEFAULT_FORMAT);
+    default_format_map.put(SEARCHTYPES, SEARCHTYPES_DEFAULT_FORMAT);
+    default_format_map.put(NAVBAR, NAVBAR_OPTION);
+    default_format_map.put("", "");
+    
+    DebugStream.println("FormatManager: parsed " + getSize() + " format statements.");
+    // Establish all of the format objects, so that classifier indexes are initially correct (subsequent refreshes of the model will be sufficient to keep these up to date, as long as we start with a live reference to a classifier.
+    int size = getSize();
+    for(int i = 0; i < size; i++) {
+      getElementAt(i);
+    }
+    
+    // Ensure the default formats for important format statements are assigned
+    if (getFormat(VLIST) == null) {
+      addFormat(new Format("",VLIST,VLIST_DEFAULT_FORMAT));
+    }
+    if (getFormat(HLIST) == null) {
+      addFormat(new Format("",HLIST,HLIST_DEFAULT_FORMAT));
+    }
+    // only if DateList is used
+    if (getFormat(DATELIST) == null && CollectionDesignManager.classifier_manager.isDateListClassifierAssigned()) {
+      addFormat(new Format("",DATELIST,DATELIST_DEFAULT_FORMAT));
+    }
+    if (getFormat(DOCUMENTHEADING) == null) {
+      addFormat(new Format(DOCUMENTHEADING, "", DOCUMENTHEADING_DEFAULT_FORMAT));
+    }
+    if (getFormat(DOCUMENTTEXT)== null) {
+      addFormat(new Format(DOCUMENTTEXT,"",DOCUMENTTEXT_DEFAULT_FORMAT));
+    }
+    if (getFormat(DOCUMENTBUTTONS) == null) {
+      addFormat(new Format(DOCUMENTBUTTONS,"",DOCUMENTBUTTONS_DEFAULT_FORMAT));
+    }
+    // only for mgpp and lucene colls
+    if (getFormat(SEARCHTYPES)==null && (CollectionDesignManager.index_manager.isMGPP()) || CollectionDesignManager.index_manager.isLucene()) {
+      addFormat(new Format(SEARCHTYPES, "", SEARCHTYPES_DEFAULT_FORMAT));
+    }
+    
+    
+  }
+  
+  /** Method to add a new format to this manager.
+   * @param format The <strong>Format</strong> to add.
+   */
+  private void addFormat(Format format) {
+    if(!contains(format)) {
+      Element element = format.getElement();
+      // Locate where we should insert this new classifier.
+      Node target_node = CollectionConfiguration.findInsertionPoint(element);
+      add(root, format, target_node);
+    }
+  }
+  
+  
+  public void destroy() {
+    if(controls != null) {
+      controls.destroy();
+      controls = null;
+    }
+  }
+  
+  
+  private Format getFormat(String name) {
+    int model_size = getSize();
+    for(int index = 0; index < model_size; index++) {
+      Format format = (Format) getElementAt(index);
+      if(format.getName().equals(name)) {
+        return format;
+      }
+    }
+    return null;
+  }
+  
+  public String getDefaultFormatString(String name){
+    String default_str = "";
+    try{
+      String field_name = name.toUpperCase()+"_DEFAULT_FORMAT";    
+      Field field = this.getClass().getDeclaredField(field_name);
+      Class fieldType = field.getType();
+      default_str = (String) field.get(fieldType);
+    } catch (SecurityException e) {
+      //System.err.println("Debug: "+e.getMessage());
+      default_str = VLIST_DEFAULT_FORMAT;
+    } catch (NoSuchFieldException e) {
+      //System.err.println("Debug: "+e.getMessage());
+      default_str = VLIST_DEFAULT_FORMAT;
+    } catch (IllegalArgumentException e) {
+      //System.err.println("Debug: "+e.getMessage());
+      default_str = VLIST_DEFAULT_FORMAT;
+    } catch (IllegalAccessException e) {
+      //System.err.println("Debug: "+e.getMessage());		
+      default_str = VLIST_DEFAULT_FORMAT;
+    }
+    return default_str;
+  }
+  
+  /** Method to retrieve this managers controls.
+   * @return the Control for this collection.
+   */
+  public Control getControls() {
+    if(controls == null) {
+      controls = new FormatControl();
+    }
+    return controls;
+  }
+  
+  /** Called when the detail mode has changed which in turn may cause several design elements to be available/hidden
+   * @param mode the new mode as an int
+   */
+  public void modeChanged(int mode) {
+    
+  }
+  
+  
+  /** updates the format model */
+  public synchronized void refresh() {
+    for(int i = 0; i < getSize(); i++) {
+      Format format = (Format) getElementAt(i);
+      format.update();
+      format = null;
+    }
+    super.refresh();
+  }
+  /** Method to remove a format.
+   * @param format The <strong>Format</strong> to remove.
+   */
+  private void removeFormat(Format format) {
+    remove(format);
+  }
+  
+  private ArrayList buildFeatureModel() {
+    // Rebuild feature model.
+    ArrayList feature_model = new ArrayList();
+    // Add the set options
+    for(int i = 0; i < Format.DEFAULT_FEATURES.length; i++) {
+      feature_model.add(new Entry(Format.DEFAULT_FEATURES[i]));
+    }
+    // Now the classifiers.
+    for(int j = 0; j < CollectionDesignManager.classifier_manager.getSize(); j++) {
+      feature_model.add(new Entry(CollectionDesignManager.classifier_manager.getClassifier(j)));
+    }
+    Collections.sort(feature_model);
+    return feature_model;
+  }
+  
+  private ArrayList buildPartModel() {
+    DebugStream.println("buildPartModel(): replace me with something that reads in a data xml file.");
+    ArrayList part_model = new ArrayList();
+    part_model.add(new Part("", ""));
+    part_model.add(new Part(DATELIST, DATELIST_DEFAULT_FORMAT));
+    part_model.add(new Part(HLIST, HLIST_DEFAULT_FORMAT));
+    //part_model.add(new Part(INVISIBLE, INVISIBLE_DEFAULT_FORMAT));
+    part_model.add(new Part(VLIST, VLIST_DEFAULT_FORMAT));
+    return part_model;
+  }
+    
+  private ArrayList buildVariableModel() {
+    ArrayList variable_model = new ArrayList();
+    variable_model.add(Dictionary.get("CDM.FormatManager.Insert_Variable"));
+    variable_model.add("[Text]");
+    ArrayList every_metadata_set_element = MetadataSetManager.getEveryMetadataSetElement();
+    for (int i = 0; i < every_metadata_set_element.size(); i++) {
+      variable_model.add("[" + ((MetadataElement) every_metadata_set_element.get(i)).getFullName() + "]");
+    }
+    variable_model.add("[link]");
+    variable_model.add("[/link]");
+    variable_model.add("[icon]");
+    variable_model.add("[numleafdocs]");
+    variable_model.add("[num]");
+    variable_model.add("[parent():_]");
+    variable_model.add("[parent(Top):_]");
+    variable_model.add("[parent(All'_'):_]");
+    variable_model.add("[child():_]");
+    variable_model.add("[child(All'_'):_]");
+    variable_model.add("[sibling():_]");
+    variable_model.add("[sibling(All'_'):_]");
+    
+    return variable_model;
+  }
+  
+  public class FormatControl
+    extends JPanel
+    implements Control{
+    
+    private ArrayList feature_model;
+    private ArrayList part_model;
+    private ArrayList variable_model;
+    private boolean ignore_event = false;
+    private boolean ready = false; // Are these controls available to be refreshed
+    private CardLayout card_layout;
+    private JButton add_button;
+    private JButton insert_button;
+    private JButton remove_button;
+    private JButton default_button;
+    private JButton undo_button;
+    private JButton redo_button;
+    private JCheckBox enabled_checkbox;
+    private JComboBox feature_combobox;
+    private JComboBox part_combobox;
+    private JComboBox variable_combobox;
+    private JList format_list;
+    private JTextArea editor_textarea;
+    private JPanel blank_pane;
+    private JPanel control_pane;
+    private JPanel part_pane;
+    private JPanel selection_pane;
+    private String view_type;
+    private final Dimension FIELD_SIZE = new Dimension(200, 30);
+    private final UndoManager undo = new UndoManager();
+    private boolean newtext = true;
+    private Format previousFormat = null;
+    private Format currentFormat = null;
+    private boolean fresh = true;
+    
+    public FormatControl() {
+      this.setComponentOrientation(Dictionary.getOrientation());
+      feature_model = buildFeatureModel();
+      part_model = buildPartModel();
+      variable_model = buildVariableModel();
+      
+      // Create
+      JPanel header_pane = new DesignPaneHeader("CDM.GUI.Formats", "formatstatements");
+      
+      format_list = new JList(model);
+      
+      selection_pane = new JPanel();
+      JPanel feature_pane = new JPanel();
+      feature_pane.setComponentOrientation(Dictionary.getOrientation());
+
+      JLabel feature_label = new JLabel(Dictionary.get("CDM.FormatManager.Feature"));
+      feature_label.setComponentOrientation(Dictionary.getOrientation());
+
+      feature_combobox = new JComboBox(feature_model.toArray());
+      feature_combobox.setComponentOrientation(Dictionary.getOrientation());
+
+      feature_combobox.setOpaque(!Utility.isMac());
+      feature_combobox.setPreferredSize(FIELD_SIZE);
+      feature_combobox.setEditable(false);
+      feature_combobox.setToolTipText(Dictionary.get("CDM.FormatManager.Feature_Tooltip"));
+      
+      part_pane = new JPanel();
+      part_pane.setComponentOrientation(Dictionary.getOrientation());
+      JLabel part_label = new JLabel(Dictionary.get("CDM.FormatManager.Part"));
+      part_label.setComponentOrientation(Dictionary.getOrientation());
+      part_combobox = new JComboBox(part_model.toArray());
+      part_combobox.setComponentOrientation(Dictionary.getOrientation());
+      part_combobox.setOpaque(!Utility.isMac());
+      part_combobox.setPreferredSize(FIELD_SIZE);
+      part_combobox.setEditable(false);
+      part_combobox.setToolTipText(Dictionary.get("CDM.FormatManager.Part_Tooltip"));
+      
+      blank_pane = new JPanel();
+      
+      JPanel center_pane = new JPanel();
+      
+      card_layout = new CardLayout();
+      control_pane = new JPanel();
+      
+      JPanel blank_pane = new JPanel();
+      
+      JPanel editor_pane = new JPanel();
+      JPanel editor_header_pane = new JPanel();
+      JLabel editor_label = new JLabel(Dictionary.get("CDM.FormatManager.Editor"));
+      editor_label.setComponentOrientation(Dictionary.getOrientation());
+      
+      editor_textarea = new JTextArea();
+      editor_textarea.setBackground(Configuration.getColor("coloring.editable_background", false));
+      editor_textarea.setCaretPosition(0);
+      editor_textarea.setLineWrap(true);
+      editor_textarea.setRows(6);
+      editor_textarea.setWrapStyleWord(false);
+      editor_textarea.setToolTipText(Dictionary.get("CDM.FormatManager.Add_Tooltip"));
+      
+      variable_combobox = new JComboBox(variable_model.toArray());
+      variable_combobox.setComponentOrientation(Dictionary.getOrientation());
+      variable_combobox.setOpaque(!Utility.isMac());
+      variable_combobox.setToolTipText(Dictionary.get("CDM.FormatManager.Variable_Tooltip"));
+      
+      insert_button = new GLIButton(Dictionary.get("CDM.FormatManager.Insert"), Dictionary.get("CDM.FormatManager.Insert_Tooltip"));
+      
+      default_button = new GLIButton(Dictionary.get("CDM.FormatManager.Default"), Dictionary.get("CDM.FormatManager.Default_Tooltip"));
+      
+      JPanel flag_pane = new JPanel();
+      enabled_checkbox = new JCheckBox(Dictionary.get("CDM.FormatManager.Enabled"));
+      enabled_checkbox.setComponentOrientation(Dictionary.getOrientation());
+      
+      JPanel button_pane = new JPanel();
+      button_pane.setComponentOrientation(Dictionary.getOrientation());
+      add_button = new GLIButton(Dictionary.get("CDM.FormatManager.Add"), Dictionary.get("CDM.FormatManager.Add_Tooltip"));
+      add_button.setEnabled(false);
+      
+      remove_button = new GLIButton(Dictionary.get("CDM.FormatManager.Remove"), Dictionary.get("CDM.FormatManager.Remove_Tooltip"));
+      remove_button.setEnabled(false);
+      
+      undo_button = new GLIButton(Dictionary.get("General.Undo"), Dictionary.get("General.Undo_Tooltip"));
+      undo_button.setEnabled(false);
+      
+      redo_button = new GLIButton(Dictionary.get("General.Redo"), Dictionary.get("General.Redo_Tooltip"));
+      redo_button.setEnabled(false);
+      
+      // Connect
+      add_button.addActionListener(new AddListener());
+      remove_button.addActionListener(new RemoveListener());
+      default_button.addActionListener(new DefaultListener());
+      undo_button.addActionListener(new UndoListener());
+      redo_button.addActionListener(new RedoListener());
+      enabled_checkbox.addActionListener(new EnabledListener());
+      feature_combobox.addActionListener(new FeatureListener());
+      part_combobox.addActionListener(new PartListener());
+      
+      editor_textarea.getDocument().addDocumentListener(new EditorListener());
+      // Listen for undo and redo events
+      editor_textarea.getDocument().addUndoableEditListener(new UndoableEditListener() {
+        public void undoableEditHappened(UndoableEditEvent evt) {
+          undo.addEdit(evt.getEdit());
+        }
+      });
+      
+      
+      format_list.addListSelectionListener(new FormatListListener());
+      variable_combobox.addActionListener(new VariableListener());
+      
+      // Layout
+      JPanel format_list_pane = new JPanel();
+      format_list_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+      format_list_pane.setLayout(new BorderLayout());
+      format_list_pane.add(new JScrollPane(format_list), BorderLayout.CENTER);
+      
+      
+      feature_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+      feature_pane.setLayout(new BorderLayout(5,0));
+      feature_pane.add(feature_label, BorderLayout.LINE_START);
+      feature_pane.add(feature_combobox, BorderLayout.CENTER);
+      
+      part_pane.setBorder(BorderFactory.createEmptyBorder(2,0,0,0));
+      part_pane.setLayout(new BorderLayout(5, 0));
+      part_pane.add(part_label, BorderLayout.LINE_START);
+      part_pane.add(part_combobox, BorderLayout.CENTER);
+      
+      
+      flag_pane.add(enabled_checkbox);
+      
+      editor_header_pane.setBorder(BorderFactory.createEmptyBorder(2,0,2,0));
+      editor_header_pane.setLayout(new GridLayout(1,3));
+      editor_header_pane.add(editor_label);
+      
+      JPanel rupanel = new JPanel();
+      rupanel.setComponentOrientation(Dictionary.getOrientation());
+      rupanel.setLayout(new GridLayout(1,2));
+      rupanel.add(undo_button);
+      rupanel.add(redo_button);
+      
+      JPanel variable_pane = new JPanel();
+      variable_pane.setComponentOrientation(Dictionary.getOrientation());
+      variable_pane.setBorder(BorderFactory.createEmptyBorder(2,0,2,0));
+      variable_pane.setLayout(new GridLayout(1,3));
+      variable_pane.add(new JPanel());
+      variable_pane.add(variable_combobox);
+      variable_pane.add(rupanel);
+      
+      editor_pane.setLayout(new BorderLayout());
+      editor_pane.add(editor_header_pane, BorderLayout.NORTH);
+      editor_pane.add(new JScrollPane(editor_textarea), BorderLayout.CENTER);
+      
+      selection_pane.setLayout(new BorderLayout());
+      selection_pane.add(part_pane, BorderLayout.NORTH);
+      selection_pane.add(editor_pane, BorderLayout.CENTER);
+      selection_pane.add(variable_pane, BorderLayout.SOUTH);
+      
+      control_pane.setLayout(card_layout);
+      control_pane.add(flag_pane, FLAG);
+      control_pane.add(selection_pane, VALUE);
+      control_pane.add(blank_pane, BLANK);
+      
+      
+      button_pane.setLayout(new GridLayout(1,3));
+      button_pane.add(add_button);
+      button_pane.add(remove_button);
+      button_pane.add(default_button);
+      
+      
+      center_pane.setLayout(new BorderLayout());
+      center_pane.add(feature_pane, BorderLayout.NORTH);
+      center_pane.add(control_pane, BorderLayout.CENTER);
+      center_pane.add(button_pane, BorderLayout.SOUTH);
+      
+      setBorder(BorderFactory.createEmptyBorder(0,5,0,0));
+      setLayout(new BorderLayout());
+      add(header_pane, BorderLayout.NORTH);
+      add(format_list_pane, BorderLayout.CENTER);
+      add(center_pane, BorderLayout.SOUTH);
+      ready = true;
+    }
+    
+    public void destroy() {
+    }
+    
+    
+    
+    /** Overriden to ensure that the instructions pane is scrolled to the top.
+     */
+    public void gainFocus() {
+      // This is only necessary if the components have been realized
+      if(ready) {
+        model.refresh();
+        
+        // Update the feature model, trying to maintain the same selected object
+        Object selected_feature = feature_combobox.getSelectedItem();
+        feature_model = buildFeatureModel();
+        feature_combobox.setModel(new DefaultComboBoxModel(feature_model.toArray()));
+        feature_combobox.setSelectedItem(selected_feature);
+        
+        // Update the variable model,
+        variable_model = buildVariableModel();
+        variable_combobox.setModel(new DefaultComboBoxModel(variable_model.toArray()));
+      }
+    }
+    
+    public void loseFocus() {
+      // Force all of the Formats to update their names with the correct values.
+      // do we need to do this on loseFocus???
+      model.refresh();
+    }
+    
+    public Format getCurrentFormat() {
+      return (Format)format_list.getSelectedValue();
+      
+    }
+    
+    /** Listens for clicks on the add button, and if the relevant details are provided adds a new format. Note that formats are responsible for codecing the values into something that can be a) stored in a DOM and b) written to file */
+    private class AddListener
+      implements ActionListener {
+      
+      public void actionPerformed(ActionEvent event) {
+        
+        ignore_event = true; // Prevent format_list excetera propagating events
+        
+        Entry entry = (Entry) feature_combobox.getSelectedItem();
+        Object f = entry.getFeature();
+        String p = "";
+        if (entry.canHavePart()) {
+          p = ((Part)part_combobox.getSelectedItem()).getName();
+        }
+        
+        // Add a new format string of the appropriate type
+        Format format = null;
+        if (view_type.equals(FLAG)) {
+          format = new Format(f, p, enabled_checkbox.isSelected());
+        } else {
+          format = new Format(f, p, editor_textarea.getText());
+          
+        }
+        
+        
+        addFormat(format);
+        existingFormat();
+        
+        // Update list selection
+        format_list.setSelectedValue(format, true);
+        format = null;
+        p = null;
+        f = null;
+        entry = null;
+        ignore_event = false;
+      }
+    }
+    
+    private class EditorListener
+      implements DocumentListener {
+      
+      public void changedUpdate(DocumentEvent e) {
+        
+        update();
+      }
+      
+      public void insertUpdate(DocumentEvent e) {
+        update();
+        updateUndo("insert");
+        
+      }
+      
+      public void removeUpdate(DocumentEvent e) {
+        update();
+        updateUndo("remove");
+        
+      }
+      
+      private void updateUndo(String from){
+        
+        if (!newtext){
+          undo_button.setEnabled(true);
+        }
+        
+        if (editor_textarea.getText().length()!=0 && newtext){
+          newtext = false;
+        }
+      }
+      
+      public void update() {
+	
+        // Determine if replace should be enabled
+        if(!format_list.isSelectionEmpty()) {
+          Format format = (Format)format_list.getSelectedValue();
+          boolean shouldSave = !format.isParamType();
+          
+          if (shouldSave){
+	      // Changed so DocumentButtons statement can be set to empty 
+	      // to get rid of the Detach and NOHIGHLIGHT buttons 
+	      //String format_str = editor_textarea.getText().trim();
+	      //format_str = (format_str.equals(""))? getDefaultFormatString(format.getName()) : format_str;
+            format.setValue(editor_textarea.getText().trim());
+            model.refresh((DOMProxyListEntry)format);
+          }
+          
+        } else {
+          add_button.setEnabled(false);
+          
+        }
+        
+      }
+    }
+    
+    private class EnabledListener
+      implements ActionListener {
+      
+      public void actionPerformed(ActionEvent event) {
+        // If there is a current format selected, and the value of enable_checkbox is now different than to value in it, then enable to replace button.
+        if(!format_list.isSelectionEmpty()) {
+          Format format = (Format)format_list.getSelectedValue();
+          boolean shouldSave = format.isParamType();
+          if (shouldSave){
+            format.setState(enabled_checkbox.isSelected());
+            model.refresh((DOMProxyListEntry)format);
+          }
+        }
+        
+        // Thats it. Add would have been enabled upon feature/part selection depending if no existing format, um, existed.
+      }
+    }
+    
+    private class FeatureListener
+      implements ActionListener {
+      public void actionPerformed(ActionEvent event) {
+        undo_button.setEnabled(false);
+        redo_button.setEnabled(false);
+        default_button.setEnabled(true);
+        newtext = true;
+        
+        if(!ignore_event) {
+          ignore_event = true;
+          Entry entry = (Entry) feature_combobox.getSelectedItem();
+          
+          // Step one: reset part
+          if (entry.canHavePart()) {
+            // update AffectedComponents according to current entry             
+            part_model = entry.getPartModel();
+            part_combobox.setModel(new DefaultComboBoxModel(part_model.toArray()));
+            part_combobox.updateUI();            
+            
+            part_combobox.setEnabled(true);
+            part_combobox.setSelectedIndex(part_combobox.getModel().getSize()-1);                        
+            
+          } else {
+            part_combobox.setEnabled(false);
+            part_combobox.setSelectedIndex(0);
+          }
+          // Step two: the rest
+          
+          String name = entry.toString();
+          // Add is only enabled if there isn't already a format for the choosen feature and part. Create a dummy format and test if itsa already in the model
+          Object f = entry.getFeature();
+          Part part = (Part)part_combobox.getSelectedItem();
+          String pname = part.getName();
+          // You can never add anything to blank-blank
+          if(f.toString().length() == 0 && pname.length() == 0) {
+            add_button.setEnabled(false);
+            remove_button.setEnabled(false);
+          } else {
+            
+            Format format = getFormat(Format.generateName(f, pname));
+            // If there is an existing feature, select it, and use it to determine what controls are visible
+            
+            if(format != null) {
+              ///ystem.err.println("There is an existing format!");
+              format_list.setSelectedValue(format, true);
+              // Now use type to determine what controls are visible, and what have initial values.
+              if(format.isParamType()) {
+                ///ystem.err.println("Flag type");
+                // Flags first.
+                ///election_pane.remove(part_pane);
+                card_layout.show(control_pane, FLAG);
+                view_type = FLAG;
+                // Initial value
+                enabled_checkbox.setSelected(format.getState());
+              } else {
+                ///ystem.err.println("Value type");
+                ///election_pane.add(part_pane);
+                card_layout.show(control_pane, VALUE);
+                view_type = VALUE;
+                // Initial value
+                
+                editor_textarea.setText(format.getValue());
+                editor_textarea.setCaretPosition(0);
+                
+              }
+              existingFormat();
+              control_pane.updateUI();
+            }
+            // Otherwise there is no existing format, so we proceed by checking against the feature name
+            else {
+              ///ystem.err.println("No existing format");
+              format_list.clearSelection();
+              if(Format.isParamType(name)) {
+                ///ystem.err.println("Flag type");
+                // Flags first.
+                ///election_pane.remove(part_pane);
+                card_layout.show(control_pane, FLAG);
+                view_type = FLAG;
+                // Initial value
+                enabled_checkbox.setSelected(false);
+                enabled_checkbox.setEnabled(false);
+              } else {
+                ///ystem.err.println("Value type");
+                ///election_pane.add(part_pane);
+                card_layout.show(control_pane, VALUE);
+                view_type = VALUE;
+                // Initial value
+                
+                String feature_default_format = (String) default_format_map.get(f.toString());
+                if (feature_default_format != null) {
+                  
+                  editor_textarea.setText(feature_default_format);
+                } else {
+                  editor_textarea.setText(part.getDefaultFormat());
+                }
+                editor_textarea.setCaretPosition(0);
+                
+              }
+              newFormat();
+            }
+            format = null;
+            name = null;
+          }
+          part = null;
+          pname = null;
+          f = null;
+          name = null;
+          entry = null;
+          ignore_event = false;
+        }
+        undo.discardAllEdits();
+      }
+    }
+    
+    private class FormatListListener
+      implements ListSelectionListener {
+      public void valueChanged(ListSelectionEvent event) {
+        undo_button.setEnabled(false);
+        redo_button.setEnabled(false);
+        default_button.setEnabled(true);
+        newtext = true;
+        
+        if(!ignore_event && !event.getValueIsAdjusting()) {
+          
+          if(!format_list.isSelectionEmpty()) {
+            existingFormat();
+            ignore_event = true;
+            Format format = (Format)format_list.getSelectedValue();
+            // Try to match the target, remembering the entries within are Entry's
+            Entry an_entry = new Entry(format.getFeature());            
+            feature_combobox.setSelectedItem(an_entry);            
+            // If we didn't match anything, add it and select it again
+            Entry result_entry = (Entry) feature_combobox.getSelectedItem();
+            if(!an_entry.equals(result_entry)) {
+              feature_combobox.insertItemAt(an_entry, feature_combobox.getItemCount());
+              feature_combobox.setSelectedItem(an_entry);
+            }
+            
+            // Now use type to determine what controls are visible, and what have initial values.
+            ///ystem.err.println("Determine the correct type.");
+            if(format.isParamType()) {
+              ///ystem.err.println("Flag type - remove part");
+              // Flags first.
+              ///SwingUtilities.invokeLater(new GUIChangeTask(/election_pane, part_pane, blank_pane, false));
+              card_layout.show(control_pane, FLAG);
+              view_type = FLAG;
+              // Initial value
+              enabled_checkbox.setSelected(format.getState());
+            } else {
+              ///ystem.err.println("Value type - show part");
+              ///SwingUtilities.invokeLater(new GUIChangeTask(/election_pane, part_pane, blank_pane, true));
+              card_layout.show(control_pane, VALUE);
+              view_type = VALUE;
+              // Initial values
+              // do we have a part?
+              if (format.canHavePart()) {
+                part_combobox.setEnabled(true);
+                
+                // Should update the part list and re-render the part ComboBox here
+                part_model = result_entry.getPartModel();
+                part_combobox.setModel(new DefaultComboBoxModel(part_model.toArray()));
+                part_combobox.updateUI();      
+                
+                // Try to match the part.
+                String part_entry = format.getPart();
+                // Set Selected Item doesn't work so I'll do this manually
+                boolean found = false;
+                for(int i=0; i < part_combobox.getItemCount(); i++) {
+                  Part a_part = (Part) part_combobox.getItemAt(i);
+                  if(a_part.equals(part_entry)) {
+                    part_combobox.setSelectedItem(a_part);
+                    found = true;
+                  }
+                  a_part = null;
+                }
+                // If we didn't match anything, add it and select it again
+                if(!found) {
+                  Part a_part = new Part(part_entry, "");
+                  part_combobox.insertItemAt(a_part, part_combobox.getItemCount());
+                  part_combobox.setSelectedItem(a_part);
+                  
+                }
+              } else {
+                part_combobox.setEnabled(false);
+                part_combobox.setSelectedIndex(0);
+              }
+              editor_textarea.setText(format.getValue());
+              editor_textarea.setCaretPosition(0);
+              
+            }
+            
+            //control_pane.updateUI();
+            ignore_event = false;
+          }
+          
+        }
+        undo.discardAllEdits();
+      }
+      
+    }
+    
+    private void newFormat(){
+      editor_textarea.setEditable(false);
+      editor_textarea.setBackground(Color.lightGray);
+      editor_textarea.setToolTipText(Dictionary.get("CDM.FormatManager.Editor_Disabled_Tooltip"));
+      
+      enabled_checkbox.setEnabled(false);
+      undo_button.setEnabled(false);
+      redo_button.setEnabled(false);
+      variable_combobox.setEnabled(false);
+      add_button.setEnabled(true);
+      remove_button.setEnabled(false);
+      default_button.setEnabled(false);
+      
+    }
+    
+    private void existingFormat(){
+      editor_textarea.setEditable(true);
+      editor_textarea.setBackground(Color.white);
+      editor_textarea.setToolTipText(Dictionary.get("CDM.FormatManager.Editor_Tooltip"));
+      enabled_checkbox.setEnabled(true);
+      variable_combobox.setEnabled(true);
+      add_button.setEnabled(false);
+      remove_button.setEnabled(true);
+      default_button.setEnabled(true);
+      
+    }
+    
+    private class VariableListener
+      implements ActionListener {
+      public void actionPerformed(ActionEvent event) {
+        int selected_index = variable_combobox.getSelectedIndex();
+        if (selected_index == 0) return;
+        String selected_value = (String)variable_combobox.getSelectedItem();
+        editor_textarea.insert(selected_value, editor_textarea.getCaretPosition());
+        undo_button.setEnabled(true);
+        variable_combobox.setSelectedIndex(0);
+      }
+      
+    }
+    
+    private class PartListener
+      implements ActionListener {
+      public void actionPerformed(ActionEvent event) {
+        undo_button.setEnabled(false);
+        redo_button.setEnabled(false);
+        default_button.setEnabled(true);
+        newtext = true;
+        if(!ignore_event) {
+          // Add is only enabled if there isn't already a format for the choosen feature and part. Create a dummy format and test if its already in the model
+          Entry entry = (Entry) feature_combobox.getSelectedItem();
+          Object f = entry.getFeature();
+          Part part = (Part) part_combobox.getSelectedItem();
+          String pname = part.getName();
+          // You can never add anything to blank-blank
+          if(f.toString().length() == 0 && pname.length() == 0) {
+            add_button.setEnabled(false);
+            remove_button.setEnabled(false);
+          } else {
+            String name = Format.generateName(f, pname);
+            Format format = getFormat(name);
+            // If there is an existing feature, select it.
+            if(format != null) {
+              format_list.setSelectedValue(format, true);
+              // Now use type to determine what controls are visible, and what have initial values.
+              if(format.isParamType()) {
+                // Flags first.
+                ///election_pane.remove(part_pane);
+                card_layout.show(control_pane, FLAG);
+                view_type = FLAG;
+                // Initial value
+                enabled_checkbox.setSelected(format.getState());
+              } else {
+                ///election_pane.add(part_pane);
+                card_layout.show(control_pane, VALUE);
+                view_type = VALUE;
+                // Initial value
+                
+                editor_textarea.setText(format.getValue());
+                editor_textarea.setCaretPosition(0);
+                
+              }
+              control_pane.updateUI();
+              existingFormat();
+            } else {
+              format_list.clearSelection();
+              if(Format.isParamType(name)) {
+                // Flags first.
+                ///election_pane.remove(part_pane);
+                card_layout.show(control_pane, FLAG);
+                view_type = FLAG;
+                // Initial value
+                enabled_checkbox.setSelected(false);
+                enabled_checkbox.setEnabled(false);
+              } else {
+                ///election_pane.add(part_pane);
+                card_layout.show(control_pane, VALUE);
+                view_type = VALUE;
+                // Initial value
+                
+                editor_textarea.setText(part.getDefaultFormat());
+                editor_textarea.setCaretPosition(0);
+                
+              }
+              newFormat();
+            }
+            format = null;
+            name = null;
+          }
+          
+          pname = null;
+          part = null;
+          f = null;
+          entry = null;
+        }
+        undo.discardAllEdits();
+      }
+    }
+    
+    private class RemoveListener
+      implements ActionListener {
+      
+      public void actionPerformed(ActionEvent event) {
+        if (!format_list.isSelectionEmpty()) {
+          // Remove the current format
+          removeFormat((Format)format_list.getSelectedValue());
+          
+          // Change buttons
+          add_button.setEnabled(true);
+          newFormat();
+        }
+      }
+    }
+    
+    
+    
+    private class DefaultListener
+      implements ActionListener {
+      
+      public void actionPerformed(ActionEvent event) {
+        newtext = false;
+        if(!ignore_event) {
+          Entry entry = (Entry) feature_combobox.getSelectedItem();
+          Object f = entry.getFeature();
+          String name ="";
+          String pname="";
+          Part part = null;
+          
+          if (entry.canHavePart()){
+            part = (Part) part_combobox.getSelectedItem();
+            pname = part.getName();
+            name = Format.generateName(f, pname);
+          } else{
+            name = entry.toString();
+          }
+          
+          Format format = getFormat(name);
+          // If there is an existing feature, select it.
+          if(format != null) {
+            remove_button.setEnabled(true);
+          } else {
+            
+            add_button.setEnabled(true);
+          }//endif (format !=null)
+          
+          if(Format.isParamType(name)) {
+            // Flags first.
+            card_layout.show(control_pane, FLAG);
+            view_type = FLAG;
+            // Initial value
+            enabled_checkbox.setSelected(false);
+          } else {
+            card_layout.show(control_pane, VALUE);
+            view_type = VALUE;
+            // Initial value
+            if (pname !=null && pname.length()!=0 ){
+              editor_textarea.setText((String) default_format_map.get(pname));
+              editor_textarea.setCaretPosition(0);
+            } else{
+              editor_textarea.setText((String) default_format_map.get(name));
+              editor_textarea.setCaretPosition(0);
+            }
+          }
+          
+        }
+      }
+      
+    }
+    
+    private class UndoListener
+      implements ActionListener {
+      
+      public void actionPerformed(ActionEvent event) {
+        try {
+          if (undo.canUndo()) {
+            int pos = editor_textarea.getCaretPosition();
+            redo_button.setEnabled(true);
+            undo.undo();
+            if (pos > 0)
+              editor_textarea.setCaretPosition(pos-1);
+            else
+              editor_textarea.setCaretPosition(pos);
+          }
+          if (!undo.canUndo()){
+            undo_button.setEnabled(false);
+          } else{
+            undo_button.setEnabled(true);
+          }
+          
+        } catch (Exception e) {
+          
+        }
+      }
+    }
+    
+    private class RedoListener
+      implements ActionListener {
+      public void actionPerformed(ActionEvent evt) {
+        try {
+          if (undo.canRedo()) {
+            int pos = editor_textarea.getCaretPosition();
+            undo.redo();
+            editor_textarea.setCaretPosition(pos);
+          }
+          if (!undo.canRedo()){
+            redo_button.setEnabled(false);
+          } else{
+            redo_button.setEnabled(true);
+          }
+          
+        } catch (Exception e) {}
+      }
+    }
+    
+  }
+  
+  /** This object provides a wrapping around an entry in the format target control, which is tranparent as to whether it is backed by a String or a Classifier. */
+  private class Entry
+    implements Comparable {
+    private Classifier classifier = null;
+    private String text = null;
+    
+    public Entry(Object object) {
+      if(object instanceof Classifier) {
+        classifier = (Classifier)object;
+      } else if(object instanceof String) {
+        text = (String)object;
+      } else {
+        text = "";
+      }
+    }
+    
+    public Entry(String text) {
+      this.text = text;
+    }
+    
+    public boolean canHavePart() {
+      if (classifier !=null) return true;
+      return Format.canHavePart(text);
+    }
+    
+    public int compareTo(Object object) {
+      if(object == null) {
+        return 1;
+      }
+      if(toString() == null) {
+        return -1;
+      } else {
+        String object_str = object.toString();
+        if(object_str == null) {
+          return 1;
+        }
+        return toString().compareTo(object_str);
+      }
+    }
+    
+    public boolean equals(Object object) {
+      if(compareTo(object) == 0) {
+        return true;
+      }
+      return false;
+    }
+    
+    public Classifier getClassifier() {
+      return classifier;
+    }
+    
+    public Object getFeature() {
+      if(classifier != null) {
+        return classifier;
+      }
+      
+      if (text.startsWith("<html>")){
+        return  "";
+      }
+      return text;
+    }
+    
+    public ArrayList getPartModel(){
+      DebugStream.println("getPartModel(): get appopriate affected components of this classifier");
+      String classifier_name = classifier == null ? "" : classifier.toString();
+      if(!classifier_name.equals("")){
+        classifier_name = classifier_name.substring(0, classifier_name.indexOf("-")).trim();        
+      }      
+      ArrayList part_model = new ArrayList();
+      // DateList only has DateList component
+      if(classifier_name.equals("DateList")){
+        part_model.add(new Part(DATELIST, DATELIST_DEFAULT_FORMAT));
+      } 
+      // Other Format Entries, display the default Affected Components
+      else if(classifier_name.equals("")){      
+        part_model = buildPartModel();      
+      }
+      // Other Classifiers have HList and VList as Affected Component
+      else {
+        part_model.add(new Part(HLIST, HLIST_DEFAULT_FORMAT));
+        part_model.add(new Part(VLIST, VLIST_DEFAULT_FORMAT));
+      }
+      return part_model;
+    }
+    
+    public String toString() {
+      if(classifier != null) {
+        // Return the classifier - with its CL index shown
+        return classifier.getPositionString() + StaticStrings.COLON_CHARACTER + StaticStrings.SPACE_CHARACTER + classifier.toString();
+      }
+      if (text.equals("")) {
+        return "<html><body><i>"+Dictionary.get("CDM.FormatManager.AllFeatures")+"</i></body></html>";
+      }
+      return text;
+    }
+  }
+  
+    /*
+      private class GUIChangeTask
+      implements Runnable {
+      private boolean to_add;
+      private JPanel child;
+      private JPanel parent;
+      private JPanel replacement;
+     
+      public GUIChangeTask(JPanel parent, JPanel child, JPanel replacement, boolean to_add) {
+      this.child = child;
+      this.parent = parent;
+      this.replacement = replacement;
+      this.to_add = to_add;
+      }
+     
+      public void run() {
+      if(to_add) {
+      parent.remove(replacement);
+      parent.add(child);
+      parent.updateUI();
+      }
+      else {
+      parent.remove(child);
+      parent.add(replacement);
+      parent.updateUI();
+      }
+      }
+      }
+     */
+  
+  /** This class encapsulates all of the information associated with a certain component part of a feature within a html page returned from the receptioninst. */
+  private class Part
+    implements Comparable {
+    /** The default format string for this part */
+    private String default_format = null;
+    /** The name of this part */
+    private String name = null;
+    /** Constructor - must be provided with all of the details of a part as there are no other setter methods.
+     * @param name the name of this part
+     * @param default_format the default format string for this part
+     */
+    public Part(String name, String default_format) {
+      this.default_format = default_format;
+      this.name = name;
+    }
+    /** Compare this part to another object in terms of ordering
+     * @param obj the other Object
+     * @return <0 if the object is before, 0 if equal to, and >0 if the object is after this part
+     */
+    public int compareTo(Object obj) {
+      if (obj instanceof Part) {
+        return name.compareTo(((Part)obj).getName());
+      }
+      return name.compareTo(obj.toString());
+    }
+    
+    /** Determine if the part is equivelent to some other object
+     * @param obj the other Object
+     * @return true is the two objects are equal
+     */
+    public boolean equals(Object obj) {
+      if (obj instanceof Part) {
+        return name.equals(((Part)obj).getName());
+      }
+      return name.equals(obj.toString());
+    }
+    
+    /** Retrieve the default format string for this part
+     * @return the default format String
+     */
+    public String getDefaultFormat() {
+      // Retrieve the format for the super format - either VList or HList
+      Format default_format_object = getFormat(name);
+      if(default_format_object != null) {
+        return default_format_object.getValue();
+      } else {
+        return this.default_format;
+      }
+    }
+    /** Retrieve the name of this part
+     * @return the name as a String
+     */
+    public String getName() {
+      return name;
+    }
+    /** Produce a string representation of this part, which in this case is simply the name again
+     * @return the name as a String
+     */
+    public String toString() {
+      if (name.equals("")) {
+        return "<html><body><i>"+Dictionary.get("CDM.FormatManager.AllParts")+"</i></body></html>";
+      }
+      return name;
+    }
+  }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/GeneralManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/GeneralManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/GeneralManager.java	(revision 21123)
@@ -0,0 +1,451 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import java.util.regex.*;
+import javax.swing.*;
+import javax.swing.filechooser.*;
+import javax.swing.event.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.gui.DesignPaneHeader;
+import org.greenstone.gatherer.gui.EmailField;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.gui.GUIUtils;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.Gatherer;
+
+/** This class provides a graphical interface for editing general metadata for the collection, such as name, description, icons etc. 
+*/
+public class GeneralManager {
+
+    /** The controls used to modify the general options. */
+    private Control controls;
+    /** Constructor. */
+    public GeneralManager() {
+    }
+
+    /** Destructor. */
+    public void destroy() {
+	if (controls != null) {
+	    controls.destroy();
+	    controls = null;
+	}
+    }
+
+    public void loseFocus() {
+    }
+
+    public void gainFocus() {
+
+    }
+    /** This class is resposible for generating the controls for the editing of general options.
+     * @return the Control for editing the general options
+     */
+    public Control getControls() {
+	if (controls == null) {
+	    controls = new GeneralControl();
+	}
+	return controls;
+    }
+    
+
+    /** Called when the detail mode has changed which in turn may cause several design elements to be available/hidden
+     * @param mode the new mode as an int
+     */
+    public void modeChanged(int mode) {
+
+    }
+    
+    /** This class represents the visual component of the general options stored in the CollectionDesignManager. */
+    private class GeneralControl
+	extends JPanel
+	implements Control {
+
+        private boolean ready = false;
+	private CollectionMeta collection_extra_collectionmeta;
+	private CollectionMeta collection_name_collectionmeta;
+	private CollectionMeta creator_collectionmeta;
+	private CollectionMeta icon_collection_collectionmeta;
+	private CollectionMeta icon_collection_small_collectionmeta;
+	private CollectionMeta maintainer_collectionmeta;
+	private CollectionMeta public_collectionmeta;
+	/** The creators email. */
+	private EmailField creator_emailfield;
+	/** The maintainers email. */
+	private EmailField maintainer_emailfield;
+	/** Button to browse for the collection about page icon. */
+	private JButton browse_about_icon_button;
+	/** Button to browse for the collection home page icon. */
+	private JButton browse_home_icon_button;
+	/** The checkbox controlling public access to the collection. */
+	private JCheckBox public_checkbox;
+	private JLabel creator_label;
+	private JLabel description_label;
+	private JLabel icon_label;
+	private JLabel maintainer_label;
+	private JLabel name_label;
+	private JLabel small_icon_label;
+	/** The text field used to edit the file name of the collections icon. */
+	private JTextField icon_textfield;
+	/** The text field used to edit the collections title. */
+	private JTextField name_textfield;
+	/** The text field used to edit the file name of the collections small icon. */
+	private JTextField small_icon_textfield;
+	/** A text area used to modify the collection description. */
+	private JTextArea description_textarea;
+	/** Constructor. */
+	public GeneralControl() {
+	    super();
+            this.setComponentOrientation(Dictionary.getOrientation());
+	    // Retrieve some of the model elements, those we know aren't language dependant
+	    public_collectionmeta = new CollectionMeta(CollectionDesignManager.collect_config.getPublic());
+
+	    // Creation
+	    JPanel header_panel = new DesignPaneHeader("CDM.GUI.General", "generalsettings");
+            
+	    JPanel all_details_panel = new JPanel();
+	    JPanel details_panel = new JPanel();
+	    JPanel fields_panel = new JPanel();
+
+            all_details_panel.setComponentOrientation(Dictionary.getOrientation());
+            details_panel.setComponentOrientation(Dictionary.getOrientation());
+            fields_panel.setComponentOrientation(Dictionary.getOrientation());
+                        
+	    creator_label = new JLabel(Dictionary.get("CDM.General.Email.Creator"));
+	    creator_label.setComponentOrientation(Dictionary.getOrientation());
+            
+	    creator_emailfield = new EmailField(Configuration.getColor("coloring.error_background", false));
+	    creator_emailfield.setToolTipText(Dictionary.get("CDM.General.Email.Creator_Tooltip"));
+	    
+	    maintainer_label = new JLabel(Dictionary.get("CDM.General.Email.Maintainer"));
+	    maintainer_label.setComponentOrientation(Dictionary.getOrientation());
+            
+	    maintainer_emailfield = new EmailField(Configuration.getColor("coloring.error_background", false));
+	    maintainer_emailfield.setToolTipText(Dictionary.get("CDM.General.Email.Maintainer_Tooltip"));
+	    
+	    name_label = new JLabel(Dictionary.get("CDM.General.Collection_Name"));
+            name_label.setComponentOrientation(Dictionary.getOrientation());
+	    name_textfield = new JTextField();
+            name_textfield.setComponentOrientation(Dictionary.getOrientation());
+	    name_textfield.setToolTipText(Dictionary.get("CDM.General.Collection_Name_Tooltip"));
+	    
+	    JLabel short_name_label = new JLabel(Dictionary.get("NewCollectionPrompt.Collection_Name"));
+	    short_name_label.setComponentOrientation(Dictionary.getOrientation());
+            JTextField short_name_textfield = new JTextField(CollectionManager.getLoadedCollectionName());
+            short_name_textfield.setComponentOrientation(Dictionary.getOrientation());
+	    short_name_textfield.setEditable(false);
+	    short_name_textfield.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	    JPanel icon_panel = new JPanel();
+            icon_panel.setComponentOrientation(Dictionary.getOrientation());
+	    icon_label = new JLabel(Dictionary.get("CDM.General.Icon_Collection"));
+            icon_label.setComponentOrientation(Dictionary.getOrientation());
+	    icon_textfield = new JTextField();
+            icon_textfield.setComponentOrientation(Dictionary.getOrientation());
+	    icon_textfield.setToolTipText(Dictionary.get("CDM.General.Icon_Collection_Tooltip")); 
+	    browse_about_icon_button = new GLIButton(Dictionary.get("General.Browse"));
+	    JPanel small_icon_panel = new JPanel();
+            small_icon_panel.setComponentOrientation(Dictionary.getOrientation());
+	    small_icon_label = new JLabel(Dictionary.get("CDM.General.Icon_Collection_Small"));
+            small_icon_label.setComponentOrientation(Dictionary.getOrientation());
+	    small_icon_textfield = new JTextField();
+            small_icon_textfield.setComponentOrientation(Dictionary.getOrientation());
+	    small_icon_textfield.setToolTipText(Dictionary.get("CDM.General.Icon_Collection_Small_Tooltip"));
+	    browse_home_icon_button = new GLIButton(Dictionary.get("General.Browse"));
+
+	    // public
+	    JPanel box_panel = new JPanel();
+            box_panel.setComponentOrientation(Dictionary.getOrientation());
+	    public_checkbox = new JCheckBox(Dictionary.get("CDM.General.Access"), public_collectionmeta.getValue(CollectionMeta.TEXT).equals(StaticStrings.TRUE_STR));
+	    public_checkbox.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel description_panel = new JPanel();
+            description_panel.setComponentOrientation(Dictionary.getOrientation());
+	    description_label = new JLabel(Dictionary.get("CDM.General.Collection_Extra"));
+	    description_label.setComponentOrientation(Dictionary.getOrientation());
+            
+	    description_textarea = new JTextArea();
+            description_textarea.setComponentOrientation(Dictionary.getOrientation());
+	    description_textarea.setBackground(Configuration.getColor("coloring.editable_background", false));
+	    description_textarea.setToolTipText(Dictionary.get("CDM.General.Collection_Extra_Tooltip"));
+	    
+	    // Connection
+	    BrowseListener browse_listener = new BrowseListener(StaticStrings.IMAGES_PATH_RELATIVE_TO_GSDL_PREFIX);
+	    browse_about_icon_button.addActionListener(browse_listener);
+	    browse_home_icon_button.addActionListener(browse_listener);
+	    browse_listener = null;
+	    public_checkbox.addActionListener(CollectionDesignManager.change_listener);
+	    creator_emailfield.getDocument().addDocumentListener(CollectionDesignManager.change_listener);
+	    description_textarea.getDocument().addDocumentListener(CollectionDesignManager.change_listener);
+	    icon_textfield.getDocument().addDocumentListener(CollectionDesignManager.change_listener);
+	    maintainer_emailfield.getDocument().addDocumentListener(CollectionDesignManager.change_listener);
+	    name_textfield.getDocument().addDocumentListener(CollectionDesignManager.change_listener);
+	    name_textfield.getDocument().addDocumentListener(new CollectionTitleUpdater());
+	    small_icon_textfield.getDocument().addDocumentListener(CollectionDesignManager.change_listener);
+
+	    // Layout
+	    fields_panel.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	    fields_panel.setLayout(new BorderLayout(5,2));
+	    
+	    JPanel fields_label_panel = new JPanel();
+            fields_label_panel.setComponentOrientation(Dictionary.getOrientation());
+	    fields_label_panel.setLayout(new GridLayout(6,1));
+
+	    JPanel fields_box_panel = new JPanel();
+            fields_box_panel.setComponentOrientation(Dictionary.getOrientation());            
+	    fields_box_panel.setLayout(new GridLayout(6,1));
+    
+	    // creator
+	    fields_label_panel.add(creator_label);
+	    fields_box_panel.add(creator_emailfield);
+
+	    // maintainer
+	    fields_label_panel.add(maintainer_label);
+	    fields_box_panel.add(maintainer_emailfield);
+
+	    // title
+	    fields_label_panel.add(name_label);
+	    fields_box_panel.add(name_textfield);
+
+	    // collection short name
+	    fields_label_panel.add(short_name_label);
+	    fields_box_panel.add(short_name_textfield);
+
+	    // icon
+	    fields_label_panel.add(icon_label);
+	    fields_box_panel.add(icon_panel);
+
+	    // small icon
+	    fields_label_panel.add(small_icon_label);
+	    fields_box_panel.add(small_icon_panel);
+
+	    fields_panel.add(fields_label_panel, BorderLayout.LINE_START);
+	    fields_panel.add(fields_box_panel, BorderLayout.CENTER);
+
+	    icon_panel.setLayout(new BorderLayout());
+	    icon_panel.add(icon_textfield, BorderLayout.CENTER);
+	    icon_panel.add(browse_about_icon_button, BorderLayout.LINE_END);
+
+	    small_icon_panel.setLayout(new BorderLayout());
+	    small_icon_panel.add(small_icon_textfield, BorderLayout.CENTER);
+	    small_icon_panel.add(browse_home_icon_button, BorderLayout.LINE_END);
+
+	    box_panel.setLayout(new GridLayout(1,1,5,2));
+	    box_panel.add(public_checkbox);
+
+	    description_panel.setLayout(new BorderLayout());
+	    description_panel.add(description_label, BorderLayout.NORTH);
+	    description_panel.add(new JScrollPane(description_textarea), BorderLayout.CENTER);
+	    
+	    details_panel.setLayout(new BorderLayout());
+	    details_panel.add(fields_panel, BorderLayout.NORTH);
+	    details_panel.add(box_panel, BorderLayout.CENTER);
+
+	    all_details_panel.setLayout(new BorderLayout());
+	    all_details_panel.add(details_panel, BorderLayout.NORTH);
+	    all_details_panel.add(description_panel, BorderLayout.CENTER);
+
+	    setBorder(BorderFactory.createEmptyBorder(0,5,0,0));
+	    setLayout(new BorderLayout());
+	    add(header_panel, BorderLayout.NORTH);
+	    add(all_details_panel, BorderLayout.CENTER);
+	}
+
+	/** Destructor. */
+	public void destroy() {
+	}
+
+	/** Called to refresh the components. */
+	public void gainFocus() {
+             // Retrieve all of the elements that are dependant on default language.
+	    collection_extra_collectionmeta = CollectionDesignManager.collectionmeta_manager.getMetadatum(StaticStrings.COLLECTIONMETADATA_COLLECTIONEXTRA_STR);
+	    collection_name_collectionmeta = CollectionDesignManager.collectionmeta_manager.getMetadatum(StaticStrings.COLLECTIONMETADATA_COLLECTIONNAME_STR);
+	    
+	    creator_collectionmeta = new CollectionMeta(CollectionDesignManager.collect_config.getCreator());
+	    icon_collection_collectionmeta = CollectionDesignManager.collectionmeta_manager.getMetadatum(StaticStrings.COLLECTIONMETADATA_ICONCOLLECTION_STR);
+	    icon_collection_small_collectionmeta = CollectionDesignManager.collectionmeta_manager.getMetadatum(StaticStrings.COLLECTIONMETADATA_ICONCOLLECTIONSMALL_STR);
+	    maintainer_collectionmeta = new CollectionMeta(CollectionDesignManager.collect_config.getMaintainer());
+	    // Make sure the components are up to date
+	    creator_emailfield.setText(creator_collectionmeta.getValue(CollectionMeta.TEXT));
+	    creator_emailfield.setCaretPosition(0);
+	    description_textarea.setText(collection_extra_collectionmeta.getValue(CollectionMeta.TEXT));
+	    description_textarea.setCaretPosition(0);
+	    icon_textfield.setText(icon_collection_collectionmeta.getValue(CollectionMeta.TEXT));
+	    icon_textfield.setCaretPosition(0);
+	    maintainer_emailfield.setText(maintainer_collectionmeta.getValue(CollectionMeta.TEXT));
+	    maintainer_emailfield.setCaretPosition(0);
+	    name_textfield.setText(collection_name_collectionmeta.getValue(CollectionMeta.TEXT));
+	    name_textfield.setCaretPosition(0);
+	    small_icon_textfield.setText(icon_collection_small_collectionmeta.getValue(CollectionMeta.TEXT));
+	    small_icon_textfield.setCaretPosition(0);
+	    public_checkbox.setSelected(public_collectionmeta.getValue(CollectionMeta.TEXT).equals(StaticStrings.TRUE_STR));
+            ready = true;
+	}
+
+	/** Called to store the current value of the components. */
+	public void loseFocus() {
+	    // String values. Have to test if this component has actually ever recieved focus anyway.
+	    
+            if (!ready) return;
+
+	    public_collectionmeta.setValue((public_checkbox.isSelected() ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR));
+	    String creator_email_str = creator_emailfield.getText();
+	    creator_collectionmeta.setValue(creator_email_str);
+	    collection_extra_collectionmeta.setValue(description_textarea.getText());
+	    icon_collection_collectionmeta.setValue(icon_textfield.getText());
+	    maintainer_collectionmeta.setValue(maintainer_emailfield.getText());
+	    icon_collection_small_collectionmeta.setValue(small_icon_textfield.getText());
+	    collection_name_collectionmeta.setValue(name_textfield.getText());
+	 
+	
+    }
+
+	/** Listens for a click on either browse button, and when detected opens a file browser window initially pointed at the images folder of the collection. Once a user has selected a path, does it's best to construct the best address to the resource, such as _httpcollection_/images/about.gif */
+	private class BrowseListener
+	    implements ActionListener {
+
+	    private String prefix;
+
+	    public BrowseListener(String prefix_raw) {
+		this.prefix = prefix_raw.replaceAll(StaticStrings.COLNAME_PATTERN, CollectionManager.getLoadedCollectionName());
+	    }
+
+	    public void actionPerformed(ActionEvent event) {
+		// Open an almost standard file browser to the images folder of the current collection
+		File images_folder = new File(CollectionManager.getLoadedCollectionImagesDirectoryPath());
+		// If images isn't already there, create it
+		if(!images_folder.exists()) {
+		    images_folder.mkdirs();
+		}
+		JFileChooser file_chooser = new JFileChooser(images_folder);
+		file_chooser.setAcceptAllFileFilterUsed(false);
+		file_chooser.setDialogTitle(Dictionary.get("CDM.General.Browser_Title"));
+		file_chooser.setFileFilter(new ImageFilter());
+		file_chooser.setSize(400,300);
+		GUIUtils.disableRename(file_chooser);
+		int value = file_chooser.showOpenDialog(Gatherer.g_man);
+		// If the user hasn't cancelled, retrieve the file path selected
+		if(value == JFileChooser.APPROVE_OPTION) {
+		    // If the file isn't in the images folder, then ask the user if they want to copy it there
+		    File file = file_chooser.getSelectedFile();
+		    if (!file.getParentFile().equals(images_folder)) {
+			// Copy the file
+			try {
+			    File collection_image_file = new File(images_folder, file.getName());
+			    Gatherer.f_man.getQueue().copyFile(file, collection_image_file, true);
+
+			    // If we're using a remote Greenstone server, upload the image
+			    if (Gatherer.isGsdlRemote) {
+				Gatherer.remoteGreenstoneServer.uploadCollectionFile(
+                                   CollectionManager.getLoadedCollectionName(), collection_image_file);
+			    }
+			}
+			catch(Exception exception) {
+			    DebugStream.printStackTrace(exception);
+			    // Show warning
+			    String[] args = new String[] {file.getAbsolutePath(), images_folder.getAbsolutePath()};
+			    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CDM.General.Image_Copy_Failed", args), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+			    // Nothing else we can do.
+			    return;
+			}
+		    }
+
+		    // Create the path starting _httpcollection_/images/<filename>
+		    String path = prefix + file.getName();
+		    if (Gatherer.GS3){
+			path = file.getName();
+		    }
+		    if(event.getSource() == browse_about_icon_button) {
+			icon_textfield.setText(path);
+                        icon_collection_collectionmeta.setValue(icon_textfield.getText());
+		    }
+		    else {
+			small_icon_textfield.setText(path);
+                        icon_collection_small_collectionmeta.setValue(small_icon_textfield.getText());
+		    }
+		    path = null;
+		}
+	    }
+
+	    /** ImageFilter.java is a 1.4 example used by FileChooserDemo2.java. */
+	    private class ImageFilter
+		extends javax.swing.filechooser.FileFilter {
+
+		private Pattern pattern = null;
+
+		public ImageFilter() {
+		    pattern = Pattern.compile(".*\\.(gif|png|jpe?g)");
+		}
+
+		// Accept all directories and all .col files
+		public boolean accept(File f) {
+		    String filename = f.getName().toLowerCase();
+		    Matcher matcher = pattern.matcher(filename);
+		    return f.isDirectory() || matcher.matches();
+		}
+
+		// The description of this filter
+		public String getDescription() {
+		    return Dictionary.get("CDM.General.Image_Filter");
+		}
+	    }
+	}
+
+	private class CollectionTitleUpdater
+	    implements DocumentListener {
+	    /** Gives notification that an attribute or set of attributes changed. */
+	    public void changedUpdate(DocumentEvent e) {
+		setTitle();
+	    }
+	    /** Gives notification that there was an insert into the document. */
+	    public void insertUpdate(DocumentEvent e) {
+		setTitle();
+	    }
+	    /** Gives notification that a portion of the document has been removed. */
+	    public void removeUpdate(DocumentEvent e) {
+		setTitle();
+	    }
+	    
+	    private void setTitle() {
+		// Set the title
+		String collection_title = name_textfield.getText();
+		String collection_name = CollectionManager.getLoadedGroupQualifiedCollectionName(true);
+		Gatherer.g_man.setTitle(collection_title, collection_name);
+                collection_name_collectionmeta.setValue(collection_title);
+		collection_title = null;
+		collection_name = null;
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Index.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Index.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Index.java	(revision 21123)
@@ -0,0 +1,309 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.util.*;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataTools;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+/** This class encapsulates a single indexing pair.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3d
+ */
+public class Index
+    implements Comparable, DOMProxyListEntry {
+    /** An values of items in the index level enumeration. */
+    static protected final String LEVEL[] = {StaticStrings.DOCUMENT_STR,  StaticStrings.SECTION_STR, StaticStrings.PARAGRAPH_STR};
+
+    private ArrayList sources = null;
+    /** The level of this index (if old sckool MG). */
+    private int level = -1;
+    /** The element this index is based upon. */
+    private Element element = null;
+    /** The unique, if cryptic, identifier of an index. */
+    private String id = null;
+
+    /** Default constructor, which should only be used during DOMProxyListModel creation. */
+    public Index() {
+    }
+
+    /** Constructor. */
+    public Index(Element element) {
+	this.element = element;
+    }
+
+    /** Constructor for a newly assigned index. */
+    public Index(ArrayList sources) {
+	this.sources = sources;
+	// Create a new element
+	this.element = CollectionConfiguration.createElement(StaticStrings.INDEX_ELEMENT);
+	// For each source add a content element
+	int size = sources.size();
+	for(int i = 0; i < size; i++) {
+	    Element content_element = CollectionConfiguration.createElement(StaticStrings.CONTENT_ELEMENT);
+	    Object source_object = sources.get(i);
+	    if (source_object instanceof MetadataElement) {
+		// System.err.println("Constructing new Index with MetadataElement source...");
+		content_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, ((MetadataElement) source_object).getFullName());
+	    }
+	    else {
+		// System.err.println("Constructing new Index with String source...");
+		content_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, source_object.toString());
+	    }
+	    element.appendChild(content_element);
+	    content_element = null;
+	}
+    }
+
+    /** Constructor for a newly assigned index with specified level (old skool). */
+    public Index(int level, ArrayList sources) {
+	this(sources);
+	this.level = level;
+	element.setAttribute(StaticStrings.LEVEL_ATTRIBUTE, LEVEL[level]);
+    }
+
+    public Index(String level, ArrayList sources) {
+	this(sources);
+	for(int i = 0; i < LEVEL.length; i++) {
+	    if(LEVEL[i].equalsIgnoreCase(level)) {
+		this.level = i;
+	    }
+	}
+	element.setAttribute(StaticStrings.LEVEL_ATTRIBUTE, LEVEL[this.level]);
+    }
+
+    /** Method to compare two indexes.
+     * @param object The other index as an <strong>Object</strong>.
+     * @return An <i>int</i> which indicates how the indexes compare.
+     * @see java.lang.String
+     */
+    public int compareTo(Object object) {
+	if(object == null) {
+	    return -1;
+	}
+	String id = getID();
+	return id.compareTo(((Index)object).getID());
+    }
+    
+    public DOMProxyListEntry create(Element element) {
+	return new Index(element);
+    }
+
+    /** Method to test for the equality of two indexes.
+     * @param object The other index as an <strong>Object</strong>.
+     * @return A <i>boolean</i> which is <i>true</i> if the two indexes are equal, <i>false</i> otherwise.
+     */
+    public boolean equals(Object object) {
+	return (compareTo(object) == 0);
+    }
+    
+    public Element getElement() {
+	return element;
+    }
+    
+    /** Method to get the value of level.
+     * @return the level as a int
+     */
+    public int getLevel() {
+	if(level == -1 && element != null) {
+	    String level_str = element.getAttribute(StaticStrings.LEVEL_ATTRIBUTE);
+	    for(int i = 0; level == -1 && i < LEVEL.length; i++) {
+		if(level_str.equals(LEVEL[i])) {
+		    level = i;
+		}
+	    }
+	    level_str = null;
+	}
+	return level;
+    }
+
+    public String getID() {
+	if(element == null) {
+	    id="";
+	}
+	else if(id == null) {
+	    StringBuffer id_buffer = new StringBuffer();
+	    // Write level information, if any.
+	    int level = getLevel();
+	    if(0 <= level && level < 3) {
+		id_buffer.append(LEVEL[level]);
+		id_buffer.append(StaticStrings.COLON_CHARACTER);
+	    }
+	    // Write data information. Retrieve each of the content sources and add them in a comma separated list.
+	    ArrayList sources = getSources();
+	    int sources_size = sources.size();
+	    for(int i = 0; i < sources_size; i++) {
+		Object source_object = sources.get(i);
+		if (source_object instanceof MetadataElement) {
+		    String full_element_name = ((MetadataElement)source_object).getFullName();
+		    if(full_element_name.startsWith(StaticStrings.EXTRACTED_NAMESPACE)) {
+		       id_buffer.append(full_element_name.substring(StaticStrings.EXTRACTED_NAMESPACE.length()));
+		    }
+		    else {
+			id_buffer.append(full_element_name);
+		    }
+		}
+		else {
+		    id_buffer.append(source_object.toString());
+		}
+		id_buffer.append(StaticStrings.COMMA_CHARACTER);
+	    }
+	    sources = null;
+	    if (id_buffer.length()==0) {
+		id = "";
+	    } else {
+		id = id_buffer.substring(0, id_buffer.length() - 1);
+	    }
+	}
+	return id;
+    }
+
+
+    /** Retrieve the sources of this index.
+     * @return the sources as an ArrayList
+     */
+    public ArrayList getSources() {
+	if(sources == null) {
+	    sources = new ArrayList();
+	    NodeList content_elements = element.getElementsByTagName(StaticStrings.CONTENT_ELEMENT);
+	    int content_elements_length = content_elements.getLength();
+	    for(int i = 0; i < content_elements_length; i++) {
+		Element content_element = (Element) content_elements.item(i);
+		String metadata_element_name_full = (String) content_element.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+		MetadataElement metadata_element = MetadataTools.getMetadataElementWithName(metadata_element_name_full);
+		if (metadata_element != null) {
+		    sources.add(metadata_element);
+		}
+		else {
+		    sources.add(metadata_element_name_full);
+		}
+	    }
+	    content_elements = null;
+	}
+	return sources;
+    }
+
+    public boolean isAssigned() {
+	return (element != null && !element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.FALSE_STR));
+    }
+
+    public void setAssigned(boolean assigned) {
+	if(element != null) {
+	    element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, (assigned ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR));
+	}
+    }
+
+    public void setElement(Element element) {
+	this.element = element;
+	this.level = -1;
+	this.id = null;
+	this.sources = null;
+    }
+
+    /** Method to set the level of this index which can only be used for the default index. 
+     * @param new_level the new level as an int
+     */
+    public void setLevel(int new_level) {
+	// System.err.println("SetLevel(" + new_level + ")");
+	if(element != null && element.getNodeName().equals(StaticStrings.INDEX_DEFAULT_ELEMENT)) {
+	    if (0 <= new_level && new_level < 3) {
+		element.setAttribute(StaticStrings.LEVEL_ATTRIBUTE, LEVEL[new_level]);
+	    } else {
+		element.setAttribute(StaticStrings.LEVEL_ATTRIBUTE, "");
+	    }
+	    this.id = null; // Regenerate ID.
+	    this.level = new_level;
+	}
+	else {
+	    DebugStream.println("Error! Called setLevel() of index other than the default.");
+	}
+    }
+
+    /** Method to set the sources for this index which can only be used for the default index.
+     * @param sources an ArrayList of source names
+     */
+    public void setSources(ArrayList sources) {
+	if(element != null && element.getNodeName().equals(StaticStrings.INDEX_DEFAULT_ELEMENT)) {
+	    // Erase old sources
+	    XMLTools.clear(element);
+	    // For each entry in the sources array add a new content element.
+	    int size = sources.size();
+	    for(int i = 0; i < size; i++) {
+		Element content_element = element.getOwnerDocument().createElement(StaticStrings.CONTENT_ELEMENT);
+		Object source_object = sources.get(i);
+		if (source_object instanceof MetadataElement) {
+		    String name = ((MetadataElement) source_object).getFullName();
+		    content_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, name);
+		    name = null;
+		}
+		else {
+		    //DebugStream.println("Found String as source: " + source_object.toString());
+		    content_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, source_object.toString());
+		}
+		source_object = null;
+		element.appendChild(content_element);
+		content_element = null;
+	    }
+	    this.id = null; // Regenerate ID.
+	    this.sources = sources;
+	}
+	else {
+	    DebugStream.println("Error! Called setSource() of index other than the default.");
+	}
+    }
+
+    /** Method to turn this object into a string representation ready to be placed in the collection configuration file.
+     * @return A <strong>String</strong> containing the information of this class.
+     */
+    public String toString() {
+	StringBuffer text_buffer = new StringBuffer("");
+	// Generate language dependant id (include extracted metadata namespace)
+	// Write level information, if any.
+	int level = getLevel();
+	if(0 <= level && level < 3) {
+	    text_buffer.append(LEVEL[level]);
+	    text_buffer.append(StaticStrings.COLON_CHARACTER);
+	}
+	// Write data information. Retrieve each of the content sources and add them in a comma separated list.
+	ArrayList sources = getSources();
+	int sources_size = sources.size();
+	for(int i = 0; i < sources_size; i++) {
+	    String source_name = (sources.get(i)).toString();
+	    text_buffer.append(source_name);
+	    if(i < sources_size - 1) {
+		text_buffer.append(StaticStrings.COMMA_CHARACTER);
+	    }
+	}
+	sources = null;
+	return text_buffer.toString();
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/IndexManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/IndexManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/IndexManager.java	(revision 21123)
@@ -0,0 +1,1115 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.gui.DesignPaneHeader;
+import org.greenstone.gatherer.gui.GComboBox;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.gui.ModalDialog;
+import org.greenstone.gatherer.gui.SimpleMenuBar;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataSetManager;
+import org.greenstone.gatherer.util.CheckList;
+import org.greenstone.gatherer.util.JarTools;
+import org.greenstone.gatherer.util.XMLTools;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.w3c.dom.*;
+/** This class is resposible for storing the indexes which have been assigned to this collection and the default index, and providing methods for interacting with both these data pools. It also knows how to turn itself into a String as it would be displayed in the collection configuration file.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class IndexManager
+    extends DOMProxyListModel 
+    implements BuildTypeManager.BuildTypeListener {
+
+    /** A reference to ourselves so our inner methods have access. */
+    private DOMProxyListModel index_model = null;
+    /** The default index. */
+    private Index default_index = null;
+
+    private Control controls = null;
+    private String build_type = null;
+    
+    static final private Dimension FIELD_SIZE = new Dimension(200,30);
+    static final private String ALLFIELDS = "allfields";
+
+    static final private Dimension PROMPT_SIZE = new Dimension(400,400);
+    public IndexManager(Element indexes, String current_build_type) {
+
+	super(indexes, StaticStrings.INDEX_ELEMENT, new Index());
+	DebugStream.println("IndexManager: " + getSize() + " indexes parsed.");
+	index_model = this;
+      
+       
+	// Parse and retrieve the default index
+	NodeList default_index_elements = CollectionConfiguration.getElementsByTagName(StaticStrings.INDEX_DEFAULT_ELEMENT);
+	if(default_index_elements.getLength() > 0) {
+	             
+	    default_index = new Index((Element)default_index_elements.item(0));
+	}
+	build_type = current_build_type;
+    }
+
+    /** Method to add a new index.
+     * @param index The <strong>Index</strong> to add.
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.collection.CollectionManager
+     */
+    private void addIndex(Index index, CollectionMeta metadatum) {
+	///ystem.err.println("Adding an index: " + index.toString());
+	if(!contains(index)) {
+	    CollectionDesignManager.collectionmeta_manager.addMetadatum(metadatum);
+	    // Retrieve the currently last index
+	    if(getSize() > 0) {
+		Index last_index = (Index)getElementAt(getSize() - 1);
+		addAfter(index, last_index);
+		
+	    }
+	    else {
+		add(index);
+		// Also set this index as the default one, 
+		setDefault(index);
+	    }
+	}
+	else {
+	    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CDM.IndexManager.Index_Exists"), Dictionary.get("General.Warning"), JOptionPane.WARNING_MESSAGE);
+	}
+    }
+
+    public void buildTypeChanged(String new_build_type) {
+	if (build_type.equals(new_build_type)) {
+	    return;
+	}
+	// we don;t care about this if old or new is not MG as MGPP and 
+	// Lucene have the same index specification
+	if (!build_type.equals(BuildTypeManager.BUILD_TYPE_MG) && !new_build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) {
+	    return;
+	}
+	boolean mg_to_mgpp = true;
+	if (new_build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) {
+	    mg_to_mgpp = false;
+	}
+	if (mg_to_mgpp) {
+	    changeToMGPPIndexes();
+	} else {
+	    changeToMGIndexes();
+	}
+	build_type  = new_build_type;
+	// its really hard to transfer defaults between mgpp/lucene and mg indexes, so we'll just set the first one to be the default
+	Index first_index = (Index) getElementAt(0);
+	setDefault(first_index);
+	first_index = null;
+    }
+    
+    private void changeToMGIndexes() {
+	Element mgpp_element = root;
+	// Retrieve and assign MG element and default index element
+	Element mg_element = CollectionDesignManager.collect_config.getMGIndexes();
+	mg_element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+	NodeList indexes = mg_element.getElementsByTagName(StaticStrings.INDEX_ELEMENT);
+	// Replace mgpp element with mg element
+	setRoot(mg_element);
+	
+	if(indexes.getLength() == 0) {
+	  // we need to create some based on the mgpp indexes
+	  
+	  // If the current mgpp index includes a text one, then generate text indexes for each of the registered levels.
+	  Index index = getIndex(StaticStrings.TEXT_STR);
+	  if(index != null) {
+	    ArrayList levels = CollectionDesignManager.index_manager.getLevels();
+	    int level_size = levels.size();
+	    for(int i = 0; i < level_size; i++) {
+	      IndexOption level = (IndexOption) levels.get(i);
+	      Index new_index = new Index(level.getName(), index.getSources());
+	      // Try to retrieve existing metadatum
+	      String source_str = new_index.getID();
+	      CollectionMeta metadatum = CollectionDesignManager.collectionmeta_manager.getMetadatum(StaticStrings.STOP_CHARACTER + source_str, false);
+	      // If no metadata was found, add new pseudo metadata using the id
+	      if(metadatum == null) {
+		metadatum = new CollectionMeta(StaticStrings.STOP_CHARACTER + source_str);
+		metadatum.setAssigned(true);
+		metadatum.setValue(source_str);
+	      }
+	      // If it was found, ensure it is assigned
+	      else {
+		metadatum.setAssigned(true);
+	      }
+	      source_str = null;
+	      addIndex(new_index, metadatum);
+	      new_index = null;
+	      level = null;
+	    }
+	  }
+	}
+	
+	// Unassign mgpp element 
+	mgpp_element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.FALSE_STR);
+	mgpp_element = null;
+	
+    }
+
+    private void changeToMGPPIndexes() {
+	Element mg_element = root;
+	// Retrieve and assign the MGPP indexes element.
+	Element mgpp_element = CollectionDesignManager.collect_config.getMGPPIndexes();
+	mgpp_element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+	NodeList indexes = mgpp_element.getElementsByTagName(StaticStrings.INDEX_ELEMENT);
+	if(indexes.getLength() != 0) {
+	    // we just reinstate the indexes we had before the change
+	    setRoot(mgpp_element);
+	} else {
+	    // If the MGPP indexes element is empty (ie was created by CollectionConfiguration), generate new MGPP index from the existing index
+	    
+	    ArrayList sources_list = new ArrayList();
+
+	    // We first use details from the default index if any
+	    if(default_index != null) {
+		ArrayList sources = default_index.getSources();
+		sources_list.addAll(sources);
+	    }
+	    int size = getSize();
+	    for(int i = 0; i < size; i++) {
+		Index index = (Index) getElementAt(i);
+		ArrayList sources = index.getSources();
+		sources.removeAll(sources_list);
+		sources_list.addAll(sources);
+		index = null;
+	    }
+	    // Replace mg element with mgpp element
+	    setRoot(mgpp_element);
+	    
+	    // We now have a list of sources, so create new indexes based on these
+	    int sources_list_size = sources_list.size();
+	    for(int j = 0; j < sources_list_size; j++) {
+		Object source_object = sources_list.get(j);
+		String source_str = null;
+		if(source_object instanceof MetadataElement) {
+		    source_str = ((MetadataElement) source_object).getFullName();
+		}
+		else {
+		    source_str = source_object.toString();
+		}
+		ArrayList new_sources = new ArrayList();
+		new_sources.add(source_object);
+		source_object = null;
+		Index new_index = new Index(new_sources);
+		// Try to retrieve existing metadatum
+		source_str = new_index.getID();
+		CollectionMeta metadatum = CollectionDesignManager.collectionmeta_manager.getMetadatum(StaticStrings.STOP_CHARACTER + source_str, false);
+		// If no metadata was found, add new pseudo metadata using the id
+		if(metadatum == null) {
+		    metadatum = new CollectionMeta(StaticStrings.STOP_CHARACTER + source_str);
+		    metadatum.setAssigned(true);
+		    metadatum.setValue(source_str);
+		}
+		// If it was found, ensure it is assigned
+		else {
+		    metadatum.setAssigned(true);
+		}
+		source_str = null;
+		addIndex(new_index, metadatum);
+		metadatum = null;
+		new_index = null;
+		new_sources = null;
+		source_str = null;
+	    }	      
+	    
+	}
+
+	// Unassign MG element
+	mg_element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.FALSE_STR);
+	mg_element = null;
+	
+    }
+    
+    public Control getControls() {
+	if (controls == null) {
+	    controls = new IndexControl();
+	}
+	return controls;
+    }
+
+    /** Method to retrieve a certain index, as referenced by an index number.
+     * @param index An <i>int</i> which indicates the position of the desired index.
+     * @return The <strong>Index</strong> at the given index, or <i>null</i> if no such index exists.
+     */
+    public Index getIndex(int index) {
+	if(0 <= index && index < getSize()) {
+	    return (Index)getElementAt(index);
+	}
+	return null;
+    }
+
+    /** Method to retrieve a certain index, given its id.
+     * @param id the id of the index as a String
+     * @return the Index that matches id, or null if no such index exists
+     */
+    public Index getIndex(String id) {
+	int size = getSize();
+	for(int i = 0; i < size; i++) {
+	    Index index = (Index) getElementAt(i);
+	    if(index.getID().equals(id)) {
+		return index;
+	    }
+	}
+	return null;
+    }
+
+    public ArrayList getIndexes() {
+	return children();
+    }
+
+
+
+    /** Called when the detail mode has changed which in turn may cause several design elements to be available/hidden
+     * @param mode the new mode as an int
+     */
+    public void modeChanged(int mode) {
+
+    }
+
+    private void moveIndex(Index index, boolean move_up)
+    {
+	// Determine the current position of the index
+	int position = indexOf(index);
+	// Determine if it can be moved, ie if its not already at the top trying to move up, or at the bottom trying to move down.
+	if(position == -1) {
+	    return;
+	}
+	if(position == 0 && move_up) {
+	    return;
+	}
+	if(position == (getSize()) - 1 && !move_up) {
+	    return;
+	}
+	
+	// Ok, move up
+	if (move_up) {
+	    position--;
+	    remove(index);
+	    add(position, index);
+	}
+
+	// Or move down
+	else {
+	    position++;
+	    remove(index);
+	    add(position, index);
+	}
+    }
+
+
+
+    /** Method to remove a certain index.
+     * @param index the Index to remove.
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.cdm.CollectionDesignManager
+     * @see org.greenstone.gatherer.cdm.CollectionMetaManager
+     * @see org.greenstone.gatherer.collection.CollectionManager
+     */
+    private void removeIndex(Index index) {
+	if(index != null) {
+	    // Remove any current metadata from this index
+	    CollectionDesignManager.collectionmeta_manager.removeMetadata(StaticStrings.STOP_CHARACTER + index.getID());
+	    // Remove the index
+	    remove(index);
+	    // Check if the index removed happens to be the default index
+	    if(default_index != null && default_index.equals(index)) {
+		// If so our first solution is to set the first index to be default
+		if(getSize() > 0) {
+		    Index another_index = (Index) getElementAt(0);
+		    setDefault(another_index);
+		    another_index = null;
+		}
+		else {
+		    default_index.setAssigned(false);
+		}
+	    }
+	}
+    }
+
+
+    /* replace an index in the list. new index may have the same sources but a
+       different name, or may be a new index altogether */
+    private void replaceIndex(Index old_index, Index new_index,
+			      CollectionMeta coll_meta) {
+	if (old_index == null || new_index == null || coll_meta == null) {
+	    return;
+	}
+	if (!old_index.getID().equals(new_index.getID()) && contains(new_index)) {
+	    // shoudl we output an error??
+	    return;
+	}
+	// Remove the old index coll meta
+	CollectionDesignManager.collectionmeta_manager.removeMetadata(StaticStrings.STOP_CHARACTER + old_index.getID());
+	// Add the new coll meta
+	CollectionDesignManager.collectionmeta_manager.addMetadatum(coll_meta);
+
+	// get the position of the old one
+	int position = indexOf(old_index);
+	// remove it
+	remove(old_index);
+	// add the new one at that position
+	add(position, new_index);
+    }
+
+
+    /** Method to set the default index.
+     * @param index the new default Index
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.collection.CollectionManager
+     */
+    public void setDefault(Index index) {
+	if(index != null) {
+	    if(default_index == null) {
+		// Create the default index element, and place immediately after indexes element.
+		Element default_index_element = root.getOwnerDocument().createElement(StaticStrings.INDEX_DEFAULT_ELEMENT);               
+		default_index = new Index(default_index_element);
+		Node target_node = CollectionConfiguration.findInsertionPoint(default_index_element);
+		if(target_node != null) {
+		    root.getOwnerDocument().getDocumentElement().insertBefore(default_index_element, target_node);
+		}
+		else {
+		    root.getOwnerDocument().getDocumentElement().appendChild(default_index_element);
+		}
+	    }
+	    default_index.setAssigned(true);
+	    default_index.setLevel(index.getLevel());
+	    default_index.setSources(index.getSources());
+	    
+	}
+	else {
+	    if(default_index != null) {
+		default_index.setAssigned(false);
+	    }
+	}
+    }
+
+
+    private class IndexControl
+	extends JPanel
+	implements Control {
+
+	private JList index_list;
+	private JButton move_down_button;
+	private JButton move_up_button;
+	private JButton set_default_button;
+
+	private JButton new_button;
+	private JButton edit_button;
+	private JButton remove_button;
+
+	public IndexControl() {
+	    super();
+            this.setComponentOrientation(Dictionary.getOrientation());
+	    // Creation
+	    JPanel assigned_indexes_pane = new JPanel();
+	    assigned_indexes_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JLabel index_label = new JLabel(Dictionary.get("CDM.IndexManager.Indexes"));
+            index_label.setComponentOrientation(Dictionary.getOrientation());
+            
+	    index_list = new JList(index_model);
+	    index_list.setCellRenderer(new IndexListRenderer());
+	    index_list.setVisibleRowCount(6);
+	    index_list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+            index_list.addMouseListener(new ClickListener());
+            index_list.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel movement_pane = new JPanel();
+            movement_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+	    move_up_button = new GLIButton(Dictionary.get("CDM.Move.Move_Up"), JarTools.getImage("arrow-up.gif"), Dictionary.get("CDM.Move.Move_Up_Tooltip"));
+	    move_up_button.setEnabled(false);	    
+            
+	    move_down_button = new GLIButton(Dictionary.get("CDM.Move.Move_Down"), JarTools.getImage("arrow-down.gif"), Dictionary.get("CDM.Move.Move_Down_Tooltip"));
+	    move_down_button.setEnabled(false);
+	    	    
+	    set_default_button = new GLIButton(Dictionary.get("CDM.IndexManager.Set_Default"), Dictionary.get("CDM.IndexManager.Set_Default_Tooltip"));
+	    set_default_button.setEnabled(false);
+	    
+	    JPanel button_pane = new JPanel();
+	    button_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+            new_button = new GLIButton(Dictionary.get("CDM.IndexManager.New_Index")+StaticStrings.FURTHER_DIALOG_INDICATOR, Dictionary.get("CDM.IndexManager.New_Index_Tooltip"));
+	    new_button.setEnabled(true);
+	    
+	    edit_button = new GLIButton(Dictionary.get("CDM.IndexManager.Edit_Index")+StaticStrings.FURTHER_DIALOG_INDICATOR, Dictionary.get("CDM.IndexManager.Edit_Index_Tooltip"));
+	    edit_button.setEnabled(false);
+	    
+	    remove_button = new GLIButton(Dictionary.get("CDM.IndexManager.Remove_Index"), Dictionary.get("CDM.IndexManager.Remove_Index_Tooltip"));
+	    remove_button.setEnabled(false);
+	    	  
+	    // Listeners
+	    new_button.addActionListener(new NewIndexListener());
+	    edit_button.addActionListener(new EditIndexListener());
+	    remove_button.addActionListener(new RemoveIndexListener());
+	    remove_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+
+	    index_list.addListSelectionListener(new IndexListListener());
+
+	    move_down_button.addActionListener(new MoveListener(false));
+	    move_down_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+	    move_up_button.addActionListener(new MoveListener(true));
+	    move_up_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+
+	    set_default_button.addActionListener(new SetDefaultListener());
+	    // Layout
+	    movement_pane.setBorder(BorderFactory.createEmptyBorder(0,2,0,0));
+	    movement_pane.setLayout(new GridLayout(3,1));
+	    movement_pane.add(move_up_button);
+	    movement_pane.add(move_down_button);
+	    movement_pane.add(set_default_button);
+
+	    assigned_indexes_pane.setBorder(BorderFactory.createEmptyBorder(0,0,5,0));
+	    assigned_indexes_pane.setLayout(new BorderLayout());
+	    assigned_indexes_pane.add(index_label, BorderLayout.NORTH);
+	    assigned_indexes_pane.add(new JScrollPane(index_list), BorderLayout.CENTER);
+	    assigned_indexes_pane.add(movement_pane, BorderLayout.LINE_END);
+
+	    button_pane.setLayout(new GridLayout(1,3,5,0));
+	    button_pane.add(new_button);
+	    button_pane.add(edit_button);
+	    button_pane.add(remove_button);
+
+	    setBorder(BorderFactory.createEmptyBorder(0,5,0,0));
+	    setLayout(new BorderLayout());
+	    add(assigned_indexes_pane, BorderLayout.CENTER);
+	    add(button_pane, BorderLayout.SOUTH);
+	    
+	}
+	public void loseFocus() {}
+	public void gainFocus() {}
+	public void destroy() {}
+  
+	/** Listens for double clicks apon the list and react as if the configure button was pushed. */
+	private class ClickListener
+	    extends MouseAdapter {
+	    /** Called whenever the mouse is clicked over a registered component, we use this to chain through to the configure prompt.
+	     * @param event A <strong>MouseEvent</strong> containing information about the mouse click.
+	    */
+    public void mouseClicked(MouseEvent event) {
+      if(event.getClickCount() == 2 ) {
+        if(!index_list.isSelectionEmpty()) {
+          Index index = (Index) index_list.getSelectedValue();
+          NewIndexPrompt nip = new NewIndexPrompt(build_type, index);
+          nip.destroy();          
+        }
+      }
+    }
+  }
+
+  
+	private class IndexListListener
+	    implements ListSelectionListener {
+	    
+	    /** This method is called whenever the source list selection changes. When it does we need to fill in the various parts of the list description panel
+	     * @param event A <strong>ListSelectionEvent</strong> containing further information about the list selection.
+	     */
+	    public void valueChanged(ListSelectionEvent event)
+	    {
+		if (event.getValueIsAdjusting()) {
+		    return;
+		}
+		
+                set_default_button.setEnabled(true);
+		Object value = index_list.getSelectedValue();
+		if (value == null) {
+		    move_down_button.setEnabled(false);
+		    move_up_button.setEnabled(false);
+		    remove_button.setEnabled(false);
+		    edit_button.setEnabled(false);
+		    set_default_button.setEnabled(false);
+		    return;
+		}
+
+		// Enable the buttons appropriately
+		remove_button.setEnabled(true);
+		edit_button.setEnabled(true);
+		set_default_button.setEnabled(default_index == null || !default_index.equals(value));
+		int i = index_list.getSelectedIndex();
+		int size = index_list.getModel().getSize();
+		move_up_button.setEnabled((i>0));
+		move_down_button.setEnabled((i<size-1));
+	    }
+	}
+
+	private class IndexListRenderer
+	    extends DefaultListCellRenderer {
+
+	    /** Return a component that has been configured to display the specified value. */
+	    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
+		JLabel component = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
+		if(default_index != null && default_index.equals(value)) {
+		    component.setText(component.getText() + " " + Dictionary.get("CDM.IndexManager.Default_Index_Indicator"));
+		}
+		return component;
+	    }
+
+	}
+
+	private class NewIndexListener
+	    implements ActionListener {
+
+	    public void actionPerformed(ActionEvent event) {
+		NewIndexPrompt nip = new NewIndexPrompt(build_type, null);
+		nip.destroy();
+	    }
+	}
+	
+	private class EditIndexListener
+	    implements ActionListener {
+
+	    public void actionPerformed(ActionEvent event) {
+		Index index = (Index) index_list.getSelectedValue();
+		NewIndexPrompt nip = new NewIndexPrompt(build_type, index);
+		nip.destroy();
+	    }
+	}
+
+	private class RemoveIndexListener
+	    implements ActionListener {
+	    
+	    public void actionPerformed(ActionEvent event) {
+		
+		int i = index_list.getSelectedIndex();
+		if (i != -1) {
+		    removeIndex((Index) index_list.getSelectedValue());
+		}
+		int size = index_list.getModel().getSize();
+		if (i == size) {
+		    i--;
+		}
+		index_list.setSelectedIndex(i);
+		// This will produce an event on the list, updating the other buttons
+	    }
+	}
+
+	private class MoveListener
+	    implements ActionListener {
+
+	    private boolean move_up;
+
+	    public MoveListener(boolean move_up) {
+		this.move_up = move_up;
+	    }
+
+	    public void actionPerformed(ActionEvent event) {
+		// Retrieve the selected index
+		Index index = (Index) index_list.getSelectedValue();
+		if(index != null) {
+		    moveIndex(index, move_up);
+		    // Ensure the index that moved is still selected
+		    index_list.setSelectedValue(index, true);
+		    index = null;
+		}
+	    }
+	}
+
+	private class SetDefaultListener
+	    implements ActionListener {
+
+	    public void actionPerformed(ActionEvent event) {
+		Index index = (Index) index_list.getSelectedValue();
+		if(index != null) {
+		    setDefault(index);
+		    // This should cause a repaint of just the desired row
+		    index_list.setSelectedValue(index, true);
+		}
+		set_default_button.setEnabled(false);
+	    }
+	}
+
+	
+
+	private class NewIndexPrompt 
+	    extends ModalDialog {
+
+	    NewIndexPrompt new_index_prompt = null;
+	
+	    private JCheckBox text_checkbox;
+	    private CheckList source_list;
+	    // mg uses a level box
+	    private JComboBox level_combobox;
+	    // mgpp has a allfields selector
+	    private JCheckBox allfields_box;
+
+	    private JButton add_or_replace_button;
+	    private JButton select_all_button;
+	    private JButton select_none_button;
+	    private JButton add_all_button;
+	    //private JButton select_all_button;
+	    //private JButton replace_button;
+	    private JButton cancel_button;
+
+	    private boolean mgpp_enabled = false;
+	    private boolean editing = false;
+	
+	    public NewIndexPrompt(String build_type, Index existing_index) {
+		super(Gatherer.g_man, true);
+                this.setComponentOrientation(Dictionary.getOrientation());
+                
+		new_index_prompt = this;
+
+		setModal(true);
+		setSize(PROMPT_SIZE);
+		if (existing_index != null) {
+		    setTitle (Dictionary.get("CDM.IndexManager.Edit_Index"));
+		    editing = true;
+		} else {
+		    setTitle(Dictionary.get("CDM.IndexManager.New_Index"));
+		}
+		
+		setJMenuBar(new SimpleMenuBar("searchindexes"));
+		if (build_type.equals(BuildTypeManager.BUILD_TYPE_MGPP) || build_type.equals(BuildTypeManager.BUILD_TYPE_LUCENE)) {
+		    mgpp_enabled = true;
+		}
+		JPanel content_pane = (JPanel)this.getContentPane();
+                content_pane.setComponentOrientation(Dictionary.getOrientation());
+		ArrayList new_data = new ArrayList();
+		new_data.addAll(MetadataSetManager.getEveryMetadataSetElement());
+
+		JPanel details_pane = new JPanel();
+                details_pane.setComponentOrientation(Dictionary.getOrientation());
+		
+		text_checkbox = new JCheckBox(Dictionary.get("CDM.IndexManager.Text_Source"));
+		text_checkbox.setToolTipText(Dictionary.get("CDM.IndexManager.Text_Source_Tooltip"));
+                text_checkbox.setComponentOrientation(Dictionary.getOrientation());                
+		text_checkbox.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent event) {
+			    validateAddOrReplaceButton();
+			}
+		    });
+		JLabel source_label = new JLabel(Dictionary.get("CDM.IndexManager.Source"));
+                source_label.setComponentOrientation(Dictionary.getOrientation());
+		source_list = new CheckList(false);                
+		source_list.setListData(new_data);
+		source_list.setToolTipText(Dictionary.get("CDM.IndexManager.Source_Tooltip"));
+		source_list.addListSelectionListener(new SourceListListener());
+
+		JPanel button_pane = new JPanel();
+		button_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+		button_pane.setComponentOrientation(Dictionary.getOrientation());
+                
+		if (existing_index == null && mgpp_enabled) {
+		    button_pane.setLayout(new GridLayout(2,3,5,0));
+                    JPanel tmp = new JPanel();
+                    tmp.setComponentOrientation(Dictionary.getOrientation());
+		    button_pane.add(tmp);
+		} else {
+		    button_pane.setLayout(new GridLayout(2,2,5,0));
+		}
+		
+		select_all_button = new GLIButton(Dictionary.get("CDM.IndexManager.Select_All"), Dictionary.get("CDM.IndexManager.Select_All_Tooltip"));
+		select_all_button.addActionListener(new ActionListener() {
+			
+			public void actionPerformed(ActionEvent event) {
+			    text_checkbox.setSelected(true);
+			    source_list.setAllTicked();
+			    validateAddOrReplaceButton();
+			}
+		    });
+		
+		select_none_button = new GLIButton(Dictionary.get("CDM.IndexManager.Select_None"), Dictionary.get("CDM.IndexManager.Select_None_Tooltip"));
+		select_none_button.addActionListener(new ActionListener() {
+			
+			public void actionPerformed(ActionEvent event) {
+			    text_checkbox.setSelected(false);
+			    source_list.clearTicked();
+			    validateAddOrReplaceButton();
+			}
+		    });
+		
+		
+		button_pane.add(select_all_button);
+		button_pane.add(select_none_button);
+		
+		if (existing_index != null) {
+		    add_or_replace_button = new GLIButton(Dictionary.get("CDM.IndexManager.Replace_Index"), Dictionary.get("CDM.IndexManager.Replace_Index_Tooltip"));
+		    add_or_replace_button.addActionListener(new ReplaceIndexListener());
+		} else {
+		    add_or_replace_button = new GLIButton(Dictionary.get("CDM.IndexManager.Add_Index"), Dictionary.get("CDM.IndexManager.Add_Index_Tooltip"));
+		    add_or_replace_button.addActionListener(new AddIndexListener());
+		}
+
+		add_or_replace_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+		add_or_replace_button.setEnabled(false);
+		button_pane.add(add_or_replace_button);
+		
+		if (existing_index == null && mgpp_enabled) {
+		    add_all_button = new GLIButton(Dictionary.get("CDM.IndexManager.Add_All"), Dictionary.get("CDM.IndexManager.Add_All_Tooltip"));
+		    add_all_button.setEnabled(true);
+		    add_all_button.addActionListener(new AddAllIndexActionListener());
+		    button_pane.add(add_all_button);
+		} 
+		
+		// always have a cancel button
+		cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Cancel"));
+		cancel_button.setEnabled(true);
+		cancel_button.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent event) {
+			    new_index_prompt.dispose();
+			}
+		    });
+		button_pane.add(cancel_button);
+
+		//Layout
+		details_pane.setLayout(new BorderLayout(10,10));
+		details_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+		details_pane.add(text_checkbox, BorderLayout.NORTH);
+		details_pane.add(new JScrollPane(source_list), BorderLayout.CENTER);
+
+
+		// do type specific stuff
+		if (mgpp_enabled) {
+		    // allfields
+		    allfields_box = new JCheckBox(Dictionary.get("CDM.IndexManager.Allfields_Index"));
+		    allfields_box.addItemListener(new AllFieldsBoxListener());
+		    allfields_box.setComponentOrientation(Dictionary.getOrientation());
+                    //JLabel allfields_label = new JLabel(Dictionary.get("CDM.IndexManager.Allfields_Index"));
+		    details_pane.add(allfields_box, BorderLayout.SOUTH);
+		    
+		    
+		} else {
+		    // index level
+		    JLabel level_label = new JLabel(Dictionary.get("CDM.IndexManager.Level"));
+		    level_label.setComponentOrientation(Dictionary.getOrientation());
+                    
+                    level_combobox = new JComboBox();
+		    level_combobox.setOpaque(false);
+		    level_combobox.setPreferredSize(FIELD_SIZE);
+		    // Note the order of these must be the same as the
+		    // level order in Index
+		    level_combobox.addItem(StaticStrings.DOCUMENT_STR);//Dictionary.get("CDM.LevelManager.Document"));
+		    level_combobox.addItem(StaticStrings.SECTION_STR);//Dictionary.get("CDM.LevelManager.Section"));
+		    level_combobox.addItem(StaticStrings.PARAGRAPH_STR);//Dictionary.get("CDM.LevelManager.Paragraph"));
+		    level_combobox.setEditable(false);
+		    level_combobox.setToolTipText(Dictionary.get("CDM.IndexManager.Level_Tooltip"));
+		    level_combobox.setComponentOrientation(Dictionary.getOrientation());
+                    level_combobox.addActionListener(new ActionListener() {
+			    public void actionPerformed(ActionEvent event) {
+				validateAddOrReplaceButton();
+			    }
+			});
+		    JPanel level_pane = new JPanel();
+                    level_pane.setComponentOrientation(Dictionary.getOrientation());
+		    level_pane.setLayout(new BorderLayout());
+		    level_pane.add(level_label, BorderLayout.LINE_START);
+		    level_pane.add(level_combobox, BorderLayout.CENTER);
+		    details_pane.add(level_pane, BorderLayout.SOUTH);
+
+		}
+		// if we are editing, fill in the controls
+		if (existing_index !=null) {
+		    ArrayList sources = existing_index.getSources();
+		    if (mgpp_enabled && sources.get(0).equals(ALLFIELDS)) {
+			allfields_box.setSelected(true);
+			source_list.setEnabled(false);
+		    } else {
+			source_list.setTickedObjects(sources.toArray());
+			source_list.setEnabled(true);
+			if (sources.contains(StaticStrings.TEXT_STR)) {
+			    text_checkbox.setSelected(true);
+			}
+		    } 
+		    if (!mgpp_enabled) {
+			level_combobox.setSelectedIndex(existing_index.getLevel());
+		    }
+		    
+		}
+		content_pane.setLayout(new BorderLayout());
+		content_pane.add(source_label, BorderLayout.NORTH);
+		content_pane.add(details_pane, BorderLayout.CENTER);
+		content_pane.add(button_pane, BorderLayout.SOUTH);
+	    
+		// Display on screen.
+		Dimension screen_size = Configuration.screen_size;
+		setLocation((screen_size.width - PROMPT_SIZE.width) / 2, (screen_size.height - PROMPT_SIZE.height) / 2);
+		screen_size = null;
+		setVisible(true);
+	    
+	    }
+
+	    /** Method which actually forces the dialog to be shown on screen.
+	     * @return <i>true</i> if the user completed configuration and pressed ok, <i>false</i> otherwise.
+	     */
+	    public boolean display() {
+		setVisible(true);
+		return true;
+		//    return success;
+	    }
+	
+	    public void destroy() {
+	    }
+
+	    // Checks that specified index not already in the collection
+	    private void validateAddOrReplaceButton() {
+		Index index;
+		ArrayList sources;
+		if (mgpp_enabled && allfields_box.isSelected()) {
+		    sources = new ArrayList();
+		    sources.add(ALLFIELDS);
+		    index = new Index(sources);
+		    
+		} else if (text_checkbox.isSelected() || 
+			   !source_list.isNothingTicked()) {
+		    sources = source_list.getTicked();
+		    if (text_checkbox.isSelected()) {
+			sources.add(0, StaticStrings.TEXT_STR);
+		    }		    
+		    if (mgpp_enabled) {
+			index = new Index(sources);
+		    } else {
+			index = new Index(level_combobox.getSelectedIndex(), sources);
+		    }
+		} else {
+		    // nothing selected
+		    add_or_replace_button.setEnabled(false);
+		    return;
+		}
+		
+		sources = null;
+		if (index_model.contains(index)) {
+		    add_or_replace_button.setEnabled(false);
+		}
+		else {
+		    add_or_replace_button.setEnabled(true);
+		}
+		
+	    }
+	    private class AddIndexListener
+		implements ActionListener
+	    {
+		public void actionPerformed(ActionEvent event)
+		{
+		    Index index;
+		    if (mgpp_enabled && allfields_box.isSelected()) {
+			ArrayList sources = new ArrayList();
+			sources.add(ALLFIELDS);
+			index = new Index(sources);
+		    }
+		    else if (text_checkbox.isSelected() || 
+			     !source_list.isNothingTicked()) {
+			ArrayList sources = source_list.getTicked();
+			if (text_checkbox.isSelected()) {
+			    sources.add(0, StaticStrings.TEXT_STR);
+			}
+			if(mgpp_enabled) {
+			    index = new Index(sources);
+			} else {
+			    index = new Index(level_combobox.getSelectedIndex(), sources);
+			}
+		    } else {
+			return;
+		    }
+		 
+		    // Before we add the index to the model, we have to add a default collection metadata for this
+		    CollectionMeta metadatum = new CollectionMeta(StaticStrings.STOP_CHARACTER + index.getID());
+		    if (use_macro_as_display_name(index.getID())) {
+			metadatum.setValue(get_macro_name(index.getID()));
+		    } else {
+			metadatum.setValue(index.getID());
+		    }
+		
+		    // Finally, add the index
+		    addIndex(index, metadatum);
+		    index_list.setSelectedValue(index, true);
+		    new_index_prompt.dispose();
+		}
+	    }
+
+	    /** add all sources as separate indexes (fields).  */
+	    private class AddAllIndexActionListener
+		implements ActionListener {
+
+		public void actionPerformed(ActionEvent event) {
+		    ArrayList all_sources = source_list.getAll();
+		    all_sources.add(0, StaticStrings.TEXT_STR);
+		    ArrayList new_sources = new ArrayList();
+		    for(int i = 0; i < all_sources.size(); i++) {
+			Object source = all_sources.get(i);
+
+			// Create new index
+			new_sources.clear();
+			new_sources.add(source);
+			Index index = new Index(new_sources);
+			if(!index_model.contains(index)) {
+			    // Determine the metadatum value
+			    String name = source.toString();
+			    if(name.startsWith(StaticStrings.EXTRACTED_NAMESPACE)) {
+				name = name.substring(StaticStrings.EXTRACTED_NAMESPACE.length());
+			    }
+			    // Create new metadatum
+			    CollectionMeta metadatum = new CollectionMeta(StaticStrings.STOP_CHARACTER + index.getID());
+			    metadatum.setValue(name);
+			    name = null;
+			    // Assign new index
+			    addIndex(index, metadatum);
+			}
+			source = null;
+			index = null;
+		    }
+		    new_sources = null;
+		    new_index_prompt.dispose();
+		
+		}
+	    }
+    
+	    private class AllFieldsBoxListener
+		implements ItemListener {
+		
+		public void itemStateChanged(ItemEvent event) {
+		    if (event.getStateChange() == ItemEvent.SELECTED) {
+			source_list.setEnabled(false);
+		    } else if (event.getStateChange() == ItemEvent.DESELECTED) {
+			source_list.setEnabled(true);
+		    }
+		    validateAddOrReplaceButton();
+		}
+		
+	    }
+
+	    private class SourceListListener
+		implements ListSelectionListener {
+	    
+		public void valueChanged(ListSelectionEvent event) {
+		    if (event.getValueIsAdjusting()) {
+			return;
+		    }
+		    validateAddOrReplaceButton();
+		}
+	    }
+	
+
+	    private class ReplaceIndexListener
+		implements ActionListener {
+	    
+		public void actionPerformed(ActionEvent event) {
+		
+		    ArrayList sources;
+		    Index index = null;
+		    if (text_checkbox.isSelected() || !source_list.isNothingTicked()) {
+			sources = source_list.getTicked();
+			if (text_checkbox.isSelected()) {
+			    sources.add(0, StaticStrings.TEXT_STR);
+			}
+			if (mgpp_enabled) {
+			    index = new Index(sources);
+			} else {
+			    index = new Index(level_combobox.getSelectedIndex(), sources);
+			}
+		    }
+		    if (index != null) {
+			// Create the new collection meta
+			CollectionMeta metadatum = new CollectionMeta(StaticStrings.STOP_CHARACTER + index.getID());
+			if (use_macro_as_display_name(index.getID())) {
+			    metadatum.setValue(get_macro_name(index.getID()));
+			} else {
+			    metadatum.setValue(index.getID());
+			}
+		    
+			// replace the index
+			replaceIndex((Index) index_list.getSelectedValue(), index, metadatum);
+			index_list.setSelectedValue(index, true);
+		    
+		    }
+		    new_index_prompt.dispose();
+		
+		}
+	    }
+
+	    /**
+	     * If the index is built with DC metadata, use macro variable as the display text, 
+	     * so that translations of DC metadata can be displayed in the search field drop-down list 
+	     * when interface language changes.
+	     *   
+	     * @param index_id Current index id.
+	     * @return Whether macro variable should be used.
+	     */
+	    private boolean use_macro_as_display_name(String index_id) {
+		//String metaname = index_id;	
+		if (index_id.indexOf(":") != -1) {
+		    index_id = index_id.substring(index_id.indexOf(":") + 1);
+		}
+		
+		String field = null;
+		String[] fields = index_id.split(",");
+		for (int i = 0; i < fields.length; i++) {
+		    String s = fields[i];
+		    if (s.indexOf(".") != -1) {	  
+			s = s.substring(s.indexOf(".") + 1);
+		    }
+		    if (field == null) {
+			field = s;
+		    }
+		    else if (!field.equals(s)) {
+			return false;
+		    }
+		}
+				
+		field = field.toLowerCase();
+		if (field.equals("text") || field.equals("title") || field.equals("creator") || field.equals("subject") || 
+		    field.equals("description") || field.equals("publisher") || field.equals("contributor") || field.equals("date") || 
+		    field.equals("type") || field.equals("format") || field.equals("identifier") || field.equals("source") || 
+		    field.equals("language") || field.equals("relation") || field.equals("coverage") || field.equals("rights")) {			  
+		    return true;
+		}
+		
+		return false;
+	    }
+
+	    /**
+	     * Get the corresponding macro variable name, eg. _labelTitle_, _labelCreator_.
+	     *   
+	     * @param index_id Current index id.
+	     * @return Name of the macro variable.
+	     */
+	    private String get_macro_name(String index_id) {
+		if (index_id.indexOf(":") != -1) {
+		    index_id = index_id.substring(index_id.indexOf(":") + 1);
+		}
+		if (index_id.indexOf(",") != -1) {
+		    index_id = index_id.substring(0, index_id.indexOf(","));
+		}
+		if (index_id.indexOf(".") != -1) {	  
+		    index_id = index_id.substring(index_id.indexOf(".") + 1);
+		}	
+		
+		return "_label" + index_id + "_";		
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/IndexOption.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/IndexOption.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/IndexOption.java	(revision 21123)
@@ -0,0 +1,153 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Katherine Don, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import org.greenstone.gatherer.util.StaticStrings;
+import org.w3c.dom.*;
+
+
+/** This class represents an index option. currently, might be a level or a stem option. 
+ */
+public class IndexOption
+    implements DOMProxyListEntry {
+
+    /** The Element this object will source its information from. */
+    private Element element;
+
+    /** Constructor used only during DOMProxyListModel initialization. */
+    public IndexOption() {
+    }
+
+    /** Normal constructor.
+     * @param  element the Element this object will find its data from
+     */
+    public IndexOption(Element element) {
+	this.element = element;
+    }
+
+    /** Creation of a brand new IndexOption 
+     * @param  name the name of this type as a String
+     */
+    public IndexOption(String name) {
+	this.element = CollectionConfiguration.createElement(StaticStrings.INDEXOPTION_ELEMENT);
+	this.element.setAttribute(StaticStrings.NAME_ATTRIBUTE, name);
+    }
+
+    /** Compare two objects for ordering. 
+     * @param  object the other Object to compare to
+     * @return <0 if this option should be before the given object, 0 if they are equal, and >0 if it should be after
+     */
+    public int compareTo(Object object) {
+	if(object == null) {
+	    return -1;
+	}
+	// hope we never compare a IndexOption with something that is not a IndexOption!
+	return getName().compareTo(((IndexOption)object).getName());
+    }
+
+    /** Factory-like method to allow DOMProxyListModel to generate new entries.
+     * @param  element the Element the new option should be based on
+     * @return a newly created DOMProxyListEntry for the given element
+     */
+    public DOMProxyListEntry create(Element element) {
+	return new IndexOption(element);
+    }
+
+    /** Determine if this option is equivalent to another object.
+     * @param  object the other Object to match against
+     * @return true if the two are equal, false otherwise
+     */
+    public boolean equals(Object object) {
+	return (compareTo(object) == 0);
+    }
+
+    /** Retrieve the element this DOMProxyListEntry is based upon. Specified by the interface.
+     * @return the Element in question
+     */
+    public Element getElement() {
+	return element;
+    }
+
+    /** Retrieve the option name
+     * @return the name as a String
+     */
+    public String getName() {
+	return element.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+    }
+    /** Retrieve the option value
+     * @return the value as a string
+     */
+    public String getValue() {
+	return element.getAttribute(StaticStrings.VALUE_ATTRIBUTE);
+    }
+
+   /** Determine is this command has been assigned, either because it already existed in the collection configuration, or because it has been explicitly set by the user. Non-assigned entries imply they have been added by the GLI to ensure consistancy (and avoid NPE's!)
+     * @return true if this command has been assigned, false otherwise
+     */
+    public boolean isAssigned() {
+	return (element != null && !element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.FALSE_STR));
+    }
+    
+    /** Set the assigned state.
+     * @param  assigned the desired state of assigned as a boolean
+     */
+    public void setAssigned(boolean assigned) {
+	if(element != null) {
+	    element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, (assigned ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR));
+	}
+    }
+
+    /** Set the element that this DOMProxyListEntry is base on.
+     * @param  element the new Element that this entry should source informatin from
+     */
+    public void setElement(Element element) {
+	this.element = element;
+    }
+
+    /** Set the name of this option.
+     * @param  name the new name for this option, as a String
+     */
+    public void setName(String name) {
+	if(element != null) {
+	    element.setAttribute(StaticStrings.NAME_ATTRIBUTE, name);
+	}
+    }
+
+    /** Set the value of this option  - sometimes value is used as well as name*/
+    public void setValue(String value) {
+	if (element != null) {
+	    element.setAttribute(StaticStrings.VALUE_ATTRIBUTE, value);
+	}
+    }
+
+    /** Produce a text representation of this option
+     * @return a String showing this option's name
+     */
+    public String toString() {
+	return getName();
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/IndexOptionList.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/IndexOptionList.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/IndexOptionList.java	(revision 21123)
@@ -0,0 +1,72 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Katherine Don, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import org.w3c.dom.Element;
+import org.greenstone.gatherer.util.StaticStrings;
+
+/** A DOMProxyListModel thatholds options for indexoptions. For example, levels and stem options */
+public class IndexOptionList
+    extends DOMProxyListModel {
+
+    /** A reference to ourselves so our inner methods have access. */
+    private DOMProxyListModel options_model = null;
+
+    public IndexOptionList(Element options) {
+	super(options, StaticStrings.INDEXOPTION_ELEMENT, new IndexOption());
+
+	options_model = this;
+    }
+
+    public void addOption(String name) {
+	if (getOption(name) == null) {
+	    add(new IndexOption(name));
+	}
+    }
+
+
+    public IndexOption getOption(String name) {
+	int options_model_size = options_model.getSize();
+	for(int i = 0; i < options_model_size; i++) {
+	    IndexOption option = (IndexOption) options_model.getElementAt(i);
+	    if(option.getName().equals(name)) {
+		return option;
+	    }
+	}
+	return null;
+    }
+
+    public void removeOption(String name) {
+	IndexOption option_elem = null;
+	if ((option_elem = getOption(name)) != null) {
+	    options_model.remove(option_elem);
+	}
+    }
+
+
+}
+	    
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/IndexOptionManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/IndexOptionManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/IndexOptionManager.java	(revision 21123)
@@ -0,0 +1,568 @@
+package org.greenstone.gatherer.cdm;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.util.JarTools;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.w3c.dom.*;
+
+
+public class IndexOptionManager 
+    implements BuildTypeManager.BuildTypeListener {
+
+    // we have an IndexOptionList (DOMProxyListModel) for each option type
+    private IndexOptionList level_model = null; 
+    private IndexOptionList options_model = null; 
+    /** the default level option  - for mgpp and lucene */
+    private IndexOption default_level = null;
+    
+    private String build_type = null;
+    private Control controls = null;
+    
+    public IndexOptionManager(String current_build_type) {
+	level_model = new IndexOptionList(CollectionDesignManager.collect_config.getLevels());
+	options_model = new IndexOptionList(CollectionDesignManager.collect_config.getIndexOptions());
+	
+	DebugStream.println("IndexOptionManager: " + level_model.getSize() + " levels parsed.");
+	DebugStream.println("IndexOptionManager: " + options_model.getSize() + " index options parsed.");
+	
+	build_type = current_build_type;
+	if (build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) {
+	    level_model.setAssigned(false);
+	}
+	//	else if (build_type.equals(BuildTypeManager.BUILD_TYPE_LUCENE)) {
+	//   options_model.setAssigned(false);
+	//}
+	// Parse and retrieve the default level 
+	Element default_level_element = CollectionDesignManager.collect_config.getLevelDefault();
+	default_level = new IndexOption(default_level_element);
+	if (build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) {
+	    default_level.setAssigned(false);
+	}
+	
+    }
+	
+    
+    public void buildTypeChanged(String new_build_type) {
+	boolean levels_enabled = true;
+	//boolean stem_enabled = true;
+	if (new_build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) {
+	    levels_enabled = false;
+	}// else if (new_build_type.equals(BuildTypeManager.BUILD_TYPE_LUCENE)) {
+	 //   stem_enabled = false;
+	//}
+	level_model.setAssigned(levels_enabled);
+	default_level.setAssigned(levels_enabled);
+	//options_model.setAssigned(stem_enabled);
+	((IndexOptionControl)controls).buildTypeChanged(new_build_type);
+	build_type = new_build_type;
+    }
+
+    /** Method to acquire the controls for editing the indexes.
+     * @return the Control
+     */
+    public Control getControls() {
+	if(controls == null) {
+	    // Build controls
+	    controls = new IndexOptionControl();
+	}
+	return controls;
+    }
+    
+    public int getNumLevels() {
+	return level_model.getSize();
+    }
+    public ArrayList getLevels() {
+	return level_model.children();
+    }
+    
+    private void addLevel(String level) {
+	if (level_model.getOption(level) == null) {
+	    int position = 0;
+	    
+	    if (level.equals(StaticStrings.SECTION_STR) && level_model.getSize()==1) {
+		position = 1;
+	    }
+	    level_model.add(position, new IndexOption(level));
+	    // add in a default collection meta
+	    CollectionMeta meta = new CollectionMeta(StaticStrings.STOP_CHARACTER + level);
+	    meta.setAssigned(true);
+	    if (level.equals("document") || level.equals("section")) {
+		meta.setValue("_text" + level + "_");
+	    } else {	    
+		meta.setValue(level);
+	    }
+	    CollectionDesignManager.collectionmeta_manager.addMetadatum(meta);
+	}
+    }
+
+    private IndexOption getLevel(String level) {
+	return level_model.getOption(level);
+    }
+
+    private void removeLevel(String level_name) {
+	// Remove any current metadata from this level
+	CollectionDesignManager.collectionmeta_manager.removeMetadata(StaticStrings.STOP_CHARACTER + level_name);
+	// Remove the level
+	level_model.removeOption(level_name);
+    }
+
+   /** Method to set the default level
+     * @param level the new default level
+     */
+    private void setDefaultLevel(String level) {
+ 	if(level != null) {
+	    default_level.setValue(level);
+	    if (!build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) {
+		default_level.setAssigned(true);
+	    } 
+	} else {
+	    default_level.setAssigned(false);
+	}
+    }
+
+    private class IndexOptionControl
+	extends JPanel
+	implements Control {
+
+	public StemmingControl stem_control = null;
+	public LevelControl level_control = null;
+	
+	public IndexOptionControl() {
+            
+            this.setComponentOrientation(Dictionary.getOrientation());
+	    stem_control = new StemmingControl();
+	    level_control = new LevelControl();
+            
+	    setLayout(new BorderLayout());
+	    //if (!build_type.equals(BuildTypeManager.BUILD_TYPE_LUCENE)) {
+		add(stem_control, BorderLayout.NORTH);
+		//}
+	    if (!build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) {
+		add(level_control, BorderLayout.CENTER);
+	    }
+	}
+
+	public void destroy() {}
+	public void gainFocus() {}
+	public void loseFocus() {}
+
+	public void buildTypeChanged(String new_build_type)
+	{
+	    if (build_type.equals(new_build_type)) {
+		// shouldn't happen
+		return;
+	    }
+	    // tell our sub parts about the change in build type
+	    stem_control.buildTypeChanged(new_build_type);
+	    level_control.buildTypeChanged(new_build_type);
+	    
+	    // then display/hide as appropriate
+	    //if (build_type.equals(BuildTypeManager.BUILD_TYPE_LUCENE)) {
+		// Changing to MG/MGPP
+	    //	add(stem_control, BorderLayout.NORTH);
+	    //}
+	    //else if (new_build_type.equals(BuildTypeManager.BUILD_TYPE_LUCENE)) {
+		// Changing to Lucene
+		//remove(stem_control);
+	    //}
+	    if (build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) {
+		// changing from MG
+		add(level_control, BorderLayout.CENTER);
+	    }
+	    else if (new_build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) {
+		// changing to MG
+		remove(level_control);
+	    }
+	    
+	}
+	    
+    }
+    
+    private class StemmingControl
+	extends JPanel
+	implements BuildTypeManager.BuildTypeListener
+    {
+	private JCheckBox stem_checkbox = new JCheckBox();
+	private JCheckBox casefold_checkbox = new JCheckBox();
+	private JCheckBox accentfold_checkbox = new JCheckBox();
+	private JCheckBox separate_cjk_checkbox =new JCheckBox();
+	
+	public StemmingControl()
+	{
+            this.setComponentOrientation(Dictionary.getOrientation());
+	    setLayout(new BorderLayout(10,10));
+	    setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	    
+	    stem_checkbox.setText(Dictionary.get("CDM.IndexingManager.Stem"));
+	    stem_checkbox.setToolTipText(Dictionary.get("CDM.IndexingManager.Stem_Tooltip"));
+	    stem_checkbox.setActionCommand(StaticStrings.STEM_OPTION_STR);
+	    stem_checkbox.setComponentOrientation(Dictionary.getOrientation());
+            
+	    casefold_checkbox.setText(Dictionary.get("CDM.IndexingManager.Casefold"));
+	    casefold_checkbox.setToolTipText(Dictionary.get("CDM.IndexingManager.Casefold_Tooltip"));
+	    casefold_checkbox.setActionCommand(StaticStrings.CASEFOLD_OPTION_STR);
+	    casefold_checkbox.setComponentOrientation(Dictionary.getOrientation());
+            
+	    accentfold_checkbox.setText(Dictionary.get("CDM.IndexingManager.Accent_fold"));
+	    accentfold_checkbox.setToolTipText(Dictionary.get("CDM.IndexingManager.Accent_fold_Tooltip"));
+	    accentfold_checkbox.setActionCommand(StaticStrings.ACCENTFOLD_OPTION_STR);
+	    // Accent-folding is currently not available for MG
+	    // accentfold_checkbox.setEnabled(!build_type.equals(BuildTypeManager.BUILD_TYPE_MG));
+            accentfold_checkbox.setComponentOrientation(Dictionary.getOrientation());
+            
+	    separate_cjk_checkbox.setText(Dictionary.get("CDM.IndexingManager.Separate_cjk"));
+	    separate_cjk_checkbox.setToolTipText(Dictionary.get("CDM.IndexingManager.Separate_cjk_Tooltip"));
+	    separate_cjk_checkbox.setActionCommand(StaticStrings.SEPARATE_CJK_OPTION_STR);
+            separate_cjk_checkbox.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel checkbox_panel = new JPanel();
+	    checkbox_panel.setLayout(new GridLayout(2, 1));
+	    checkbox_panel.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel stem_panel = new JPanel();
+	    stem_panel.setLayout(new GridLayout(1,3));
+	    stem_panel.add(stem_checkbox);
+	    stem_panel.add(casefold_checkbox);
+	    stem_panel.add(accentfold_checkbox);
+	    stem_panel.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel other_panel = new JPanel();
+	    other_panel.setLayout(new GridLayout(1,1));
+	    other_panel.add(separate_cjk_checkbox);
+            other_panel.setComponentOrientation(Dictionary.getOrientation());                    
+            
+	    checkbox_panel.add(stem_panel);
+	    checkbox_panel.add(other_panel);
+            
+            JLabel tmp = new JLabel(Dictionary.get("CDM.IndexingManager.Options"));
+            tmp.setComponentOrientation(Dictionary.getOrientation());
+	    add(tmp, BorderLayout.LINE_START);
+	    add(checkbox_panel, BorderLayout.CENTER);
+
+	    // set the defaults
+	    if (build_type.equals(BuildTypeManager.BUILD_TYPE_LUCENE)) {
+		stem_checkbox.setSelected(false);
+		stem_checkbox.setEnabled(false);
+		casefold_checkbox.setSelected(true);
+		casefold_checkbox.setEnabled(false);
+		accentfold_checkbox.setSelected(true);
+		accentfold_checkbox.setEnabled(false);
+		if (options_model.getOption(StaticStrings.SEPARATE_CJK_OPTION_STR) != null) {
+		    separate_cjk_checkbox.setSelected(true);
+		}
+	    } else {
+		if (build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) {
+		    accentfold_checkbox.setEnabled(false);
+		}
+		
+		// set up the checked/unchecked boxes
+		if (options_model.getSize()==0) {
+		    // select all
+		    stem_checkbox.setSelected(true);
+		    options_model.addOption(StaticStrings.STEM_OPTION_STR);
+		    casefold_checkbox.setSelected(true);
+		    options_model.addOption(StaticStrings.CASEFOLD_OPTION_STR);
+		    if (accentfold_checkbox.isEnabled()) {
+			accentfold_checkbox.setSelected(true);
+			options_model.addOption(StaticStrings.ACCENTFOLD_OPTION_STR);
+		    }
+		    separate_cjk_checkbox.setSelected(false);
+		} 
+		else {
+		    // we'll assume that the config file has got it correct
+		    if (options_model.getOption(StaticStrings.STEM_OPTION_STR)!=null) {
+			stem_checkbox.setSelected(true);
+		    }
+		    if (options_model.getOption(StaticStrings.CASEFOLD_OPTION_STR)!=null) {
+			casefold_checkbox.setSelected(true);
+		    }
+		    if (options_model.getOption(StaticStrings.ACCENTFOLD_OPTION_STR)!=null) {
+			accentfold_checkbox.setSelected(true);
+		    }
+		    if (options_model.getOption(StaticStrings.SEPARATE_CJK_OPTION_STR) != null) {
+			separate_cjk_checkbox.setSelected(true);
+		    }
+		    
+		}
+	    }
+	
+	    CheckBoxListener cbl = new CheckBoxListener();
+	    stem_checkbox.addActionListener(cbl);
+	    casefold_checkbox.addActionListener(cbl);
+ 	    accentfold_checkbox.addActionListener(cbl);
+	    separate_cjk_checkbox.addActionListener(cbl);
+	    
+	    // changing stem indexes changes build settings
+	    stem_checkbox.addActionListener(CollectionDesignManager.buildcol_change_listener);
+	    casefold_checkbox.addActionListener(CollectionDesignManager.buildcol_change_listener);
+ 	    accentfold_checkbox.addActionListener(CollectionDesignManager.buildcol_change_listener);
+	    separate_cjk_checkbox.addActionListener(CollectionDesignManager.buildcol_change_listener);
+	    
+	}
+	
+	public void buildTypeChanged(String new_build_type) {
+	    // accentfold only enabled for mgpp
+	    if (new_build_type.equals(BuildTypeManager.BUILD_TYPE_MGPP)) {
+		accentfold_checkbox.setEnabled(true);
+		accentfold_checkbox.setSelected(true);
+		options_model.addOption(StaticStrings.ACCENTFOLD_OPTION_STR);
+		if (build_type.equals(BuildTypeManager.BUILD_TYPE_LUCENE)) {
+		    // was lucene
+		    stem_checkbox.setEnabled(true);
+		    stem_checkbox.setSelected(true);
+		    options_model.addOption(StaticStrings.STEM_OPTION_STR);
+		    casefold_checkbox.setEnabled(true);
+		    casefold_checkbox.setSelected(true);
+		    options_model.addOption(StaticStrings.CASEFOLD_OPTION_STR);
+		} // else, was mg, stem and case remain the same
+		    
+	    }
+	    if (new_build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) {
+		accentfold_checkbox.setSelected(false);
+		accentfold_checkbox.setEnabled(false);
+		options_model.removeOption(StaticStrings.ACCENTFOLD_OPTION_STR);
+	
+		if (build_type.equals(BuildTypeManager.BUILD_TYPE_LUCENE)) {
+		    // was lucene
+		    stem_checkbox.setEnabled(true);
+		    stem_checkbox.setSelected(true);
+		    options_model.addOption(StaticStrings.STEM_OPTION_STR);
+		    casefold_checkbox.setEnabled(true);
+		    casefold_checkbox.setSelected(true);
+		    options_model.addOption(StaticStrings.CASEFOLD_OPTION_STR);
+		} // else, was mgpp, stem and case remain the same
+	   
+	    }
+	    if (new_build_type.equals(BuildTypeManager.BUILD_TYPE_LUCENE)) {
+		accentfold_checkbox.setSelected(true);
+		accentfold_checkbox.setEnabled(false);
+		options_model.removeOption(StaticStrings.ACCENTFOLD_OPTION_STR);
+		stem_checkbox.setSelected(false);
+		stem_checkbox.setEnabled(false);
+		options_model.removeOption(StaticStrings.STEM_OPTION_STR);
+		casefold_checkbox.setSelected(true);
+		casefold_checkbox.setEnabled(false);
+		options_model.removeOption(StaticStrings.CASEFOLD_OPTION_STR);
+	
+	    }
+	}
+
+	private class CheckBoxListener
+	    implements ActionListener {
+	    public void actionPerformed(ActionEvent event) {
+		if (!((JCheckBox)event.getSource()).isSelected()) {
+		    // deselecting
+		    options_model.removeOption(event.getActionCommand());
+		}
+		else {
+		    // selecting a new one
+		    options_model.addOption(event.getActionCommand());
+		}
+	    }
+	}
+    }
+
+
+
+    /** This class creates a set of controls for editing the levels. */
+    private class LevelControl
+	extends JPanel 
+	implements BuildTypeManager.BuildTypeListener
+    {
+	
+	JCheckBox document_checkbox = null;
+	JCheckBox section_checkbox = null;
+	JRadioButton document_default_radio = null;
+	JRadioButton section_default_radio = null;
+	
+	public LevelControl() {
+	    this.setComponentOrientation(Dictionary.getOrientation());
+	    JPanel checkbox_panel = new JPanel();
+            checkbox_panel.setComponentOrientation(Dictionary.getOrientation());
+	    JPanel default_panel = new JPanel();
+            default_panel.setComponentOrientation(Dictionary.getOrientation());
+	    document_checkbox = new JCheckBox();
+            document_checkbox.setComponentOrientation(Dictionary.getOrientation());
+	    document_checkbox.setText(Dictionary.get("CDM.LevelManager.Document"));
+	    document_checkbox.setActionCommand(StaticStrings.DOCUMENT_STR);
+	    document_default_radio = new JRadioButton();
+	    document_default_radio.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	    document_default_radio.setOpaque(false);
+	    document_default_radio.setActionCommand(StaticStrings.DOCUMENT_STR);
+	    document_default_radio.setIcon(JarTools.getImage("radio_unselected.gif"));
+	    document_default_radio.setSelectedIcon(JarTools.getImage("radio_selected.gif"));
+            document_default_radio.setComponentOrientation(Dictionary.getOrientation());
+            
+	    section_checkbox = new JCheckBox();
+	    section_checkbox.setText(Dictionary.get("CDM.LevelManager.Section"));
+	    section_checkbox.setActionCommand(StaticStrings.SECTION_STR);
+            section_checkbox.setComponentOrientation(Dictionary.getOrientation());
+            
+	    section_default_radio = new JRadioButton();
+	    section_default_radio.setOpaque(true);
+	    section_default_radio.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	    section_default_radio.setOpaque(false);
+	    section_default_radio.setIcon(JarTools.getImage("radio_unselected.gif"));
+	    section_default_radio.setSelectedIcon(JarTools.getImage("radio_selected.gif"));
+            section_default_radio.setComponentOrientation(Dictionary.getOrientation());
+            
+	    section_default_radio.setActionCommand(StaticStrings.SECTION_STR);
+	    ButtonGroup default_group = new ButtonGroup();
+	    default_group.add(document_default_radio);
+	    default_group.add(section_default_radio);
+
+	 
+
+	    if (level_model.getSize()==0) {
+		// no levels yet, set document
+		document_checkbox.setSelected(true);
+		addLevel(StaticStrings.DOCUMENT_STR);
+	    } else {
+		if (getLevel(StaticStrings.DOCUMENT_STR)!= null) {
+		    document_checkbox.setSelected(true);
+		}
+		if (getLevel(StaticStrings.SECTION_STR) != null) {
+		    section_checkbox.setSelected(true);
+		}
+	    }
+
+	    if (default_level.isAssigned()) {
+		// set the default based on specified default
+		if (default_level.getValue().equals(StaticStrings.DOCUMENT_STR) && document_checkbox.isSelected()) {
+		    document_default_radio.setSelected(true);
+		}
+		else if (default_level.getValue().equals(StaticStrings.SECTION_STR) && section_checkbox.isSelected()) {
+		    section_default_radio.setSelected(true);
+		} else {
+    		    default_level.setAssigned(false);
+		}
+	    }
+	    // if have no valid specified default
+	    if (!default_level.isAssigned()) {
+		String default_l = StaticStrings.DOCUMENT_STR;
+		if (document_checkbox.isSelected()) {
+		    document_default_radio.setSelected(true);
+		    default_l = StaticStrings.DOCUMENT_STR;
+		} else if (section_checkbox.isSelected()) {
+		    section_default_radio.setSelected(true);
+		    default_l = StaticStrings.SECTION_STR;
+		}
+		setDefaultLevel(default_l);
+	    }
+	    
+	    validateControls();
+	    JLabel checkbox_label = new JLabel(Dictionary.get("CDM.LevelManager.Level_Title"));
+	    checkbox_panel.setLayout(new GridLayout(3,1));
+	    checkbox_panel.setToolTipText(Dictionary.get("CDM.IndexManager.Level_Tooltip"));
+	    checkbox_panel.add(checkbox_label);
+	    checkbox_panel.add(document_checkbox);
+	    checkbox_panel.add(section_checkbox);
+            checkbox_label.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JLabel default_label = new JLabel(Dictionary.get("CDM.LevelManager.Default"));
+	    default_panel.setLayout(new GridLayout(3,1));
+	    default_panel.setToolTipText(Dictionary.get("CDM.LevelManager.Default_Tooltip"));
+	    default_panel.add(default_label);
+	    default_panel.add(document_default_radio);
+	    default_panel.add(section_default_radio);
+            default_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	    CheckBoxListener cbl = new CheckBoxListener();
+	    document_checkbox.addActionListener(cbl);
+	    section_checkbox.addActionListener(cbl);
+
+	    // changing selected levels changes build settings
+	    document_checkbox.addActionListener(CollectionDesignManager.buildcol_change_listener);
+	    section_checkbox.addActionListener(CollectionDesignManager.buildcol_change_listener);
+	    
+	    RadioListener rl = new RadioListener();
+	    document_default_radio.addActionListener(rl);
+	    section_default_radio.addActionListener(rl);
+	    // changing the default doesn't need a rebuild
+
+	    setLayout(new BorderLayout(10,10));
+	    setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	    add(checkbox_panel, BorderLayout.LINE_START);
+	    add(default_panel, BorderLayout.CENTER);
+	} // LevelControl
+	
+	public void buildTypeChanged(String new_build_type) {};
+	public void gainFocus() {
+
+	}
+
+	public void loseFocus() {
+
+	}
+
+	public void destroy() {
+	}
+
+	private class RadioListener
+	    implements ActionListener {
+	    public void actionPerformed(ActionEvent event) {
+		String new_level = event.getActionCommand();
+		setDefaultLevel(new_level);
+	    }
+	}
+	private class CheckBoxListener
+	    implements ActionListener {
+	    
+	    public void actionPerformed(ActionEvent event) {
+		if (!((JCheckBox)event.getSource()).isSelected()) {
+		    // deselecting
+		    if (noLevelsSelected()) {
+			// can't do this
+			((JCheckBox)event.getSource()).setSelected(true);
+		    } else {
+			// remove the level
+			removeLevel(event.getActionCommand());
+		    }
+		} else {
+		    // selecting a new one
+		    addLevel(event.getActionCommand());
+		}
+		validateControls();
+	    }
+	}
+	    
+	private boolean noLevelsSelected() {
+	    if (!document_checkbox.isSelected() && !section_checkbox.isSelected()) {
+		return true;
+
+	    }
+	    return false;
+	}
+
+	private void validateControls() {
+            
+	    boolean document_enabled = document_checkbox.isSelected();
+	    document_default_radio.setEnabled(document_enabled);
+	    
+	    boolean section_enabled = section_checkbox.isSelected();
+	    section_default_radio.setEnabled(section_enabled);
+
+	    // have we disabled our default??
+	    if (!document_enabled && document_default_radio.isSelected()) {
+		section_default_radio.setSelected(true);
+		setDefaultLevel(StaticStrings.SECTION_STR);
+               
+	    } else if (!section_enabled && section_default_radio.isSelected()) {
+		document_default_radio.setSelected(true);
+		setDefaultLevel(StaticStrings.DOCUMENT_STR);
+	    }
+
+           
+	}
+
+    }
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/IndexingManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/IndexingManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/IndexingManager.java	(revision 21123)
@@ -0,0 +1,175 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.gui.DesignPaneHeader;
+import org.greenstone.gatherer.gui.GComboBox;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataSetManager;
+import org.greenstone.gatherer.util.CheckList;
+import org.greenstone.gatherer.util.JarTools;
+import org.greenstone.gatherer.util.StaticStrings;
+
+
+/** This class is responsible for coordinating the IndexManager and IndexOptionManager (controls levels, stem options etc) and BuildTypeManager into one panel  
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class IndexingManager {
+
+    private IndexOptionManager option_manager = null;
+    private IndexManager index_manager = null;
+    private BuildTypeManager build_type_manager = null;
+
+
+    private String build_type = null;
+
+    private Control controls = null;
+
+
+    public IndexingManager()
+    {
+	build_type_manager = new BuildTypeManager();
+	build_type = build_type_manager.getBuildType();
+	option_manager = new IndexOptionManager(build_type);
+	if (build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) {
+	    index_manager = new IndexManager(CollectionDesignManager.collect_config.getMGIndexes(), build_type);
+	} else {
+	    index_manager = new IndexManager(CollectionDesignManager.collect_config.getMGPPIndexes(), build_type);
+	}
+    }
+
+    public boolean isMGPP() {
+	return build_type_manager.isMGPP();
+    }
+
+    public boolean isLucene() {
+	return build_type_manager.isLucene();
+    }
+
+    public boolean isMG() {
+	return build_type_manager.isMG();
+    }
+
+    public int getNumLevels() {
+	return option_manager.getNumLevels();
+    }
+
+    public int getNumIndexes() {
+	return index_manager.getSize();
+    }
+
+    public ArrayList getIndexes() {
+	return index_manager.getIndexes();
+    }
+
+    public ArrayList getLevels() {
+      if (!isMG()) {
+	    return option_manager.getLevels();
+	}
+	return null;
+    }
+
+    public Control getControls() {
+	if (controls == null) {
+	    controls = new IndexingControl();
+	}
+	return controls;
+    }
+
+    public void destroy() {
+
+    }
+
+    /** Called when the detail mode has changed which in turn may cause several design elements to be available/hidden
+     * @param mode the new mode as an int
+     */
+    public void modeChanged(int mode) {
+
+    }
+
+
+    private class IndexingControl
+	extends JPanel
+	implements Control, BuildTypeManager.BuildTypeListener
+    {
+	JPanel main_index_pane = null;
+	JPanel index_options_panel = null;
+
+	public IndexingControl() {
+	    super();
+            this.setComponentOrientation(Dictionary.getOrientation());
+	    // Creation
+	    JPanel header_pane = new DesignPaneHeader("CDM.GUI.Indexes", "searchindexes");	   
+	    
+	    JPanel build_type_panel = (JPanel)build_type_manager.getControls();
+	    JPanel index_panel = (JPanel)index_manager.getControls();
+	    index_options_panel = (JPanel)option_manager.getControls();
+                       
+            
+	    main_index_pane = new JPanel();
+	    main_index_pane.setLayout(new BorderLayout());
+	    main_index_pane.add(build_type_panel, BorderLayout.NORTH);
+	    main_index_pane.add(index_panel, BorderLayout.CENTER);
+	    main_index_pane.add(index_options_panel, BorderLayout.SOUTH);
+	    main_index_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+	    setBorder(BorderFactory.createEmptyBorder(0,5,0,0));
+	    setLayout(new BorderLayout());
+	    add(header_pane, BorderLayout.NORTH);
+	    add(main_index_pane, BorderLayout.CENTER);
+
+	    build_type_manager.addBuildTypeListener(this);
+	    build_type_manager.addBuildTypeListener(index_manager);
+	    build_type_manager.addBuildTypeListener(option_manager);
+	}
+
+	public void loseFocus() {}
+	public void gainFocus() {}
+	public void destroy() {}
+
+	public void buildTypeChanged(String new_build_type)
+	{
+	    if (build_type.equals(new_build_type)) {
+		// shouldn't happen
+		return;
+	    }
+ 	    build_type = new_build_type;
+	}
+
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Language.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Language.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Language.java	(revision 21123)
@@ -0,0 +1,173 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.util.ArrayList;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.w3c.dom.*;
+
+
+/** A pretty unexciting extension of a two character string, in that it has a field which details if its the default language.
+* @author John Thompson, Greenstone Digital Library, University of Waikato
+* @version 2.1
+*/
+public class Language
+    implements Comparable, DOMProxyListEntry {
+    /** The Element this language entry is based upon. */
+    private Element element = null;
+    /** A comma separated list of two character codes */
+    private String code = null;
+    /** A comma separated list of language names */
+    private String name = null;
+ 
+    public Language() {
+    }
+
+    public Language(Element element) {
+	this.element = element;
+    }
+
+    /** Constructor for a brand new language. */
+    public Language(String code) {
+	this.code = code;
+	// Create the new element
+	element = CollectionConfiguration.createElement(StaticStrings.LANGUAGE_ELEMENT);
+	element.setAttribute(StaticStrings.NAME_ATTRIBUTE, code);
+	element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+    }
+
+    /** Constructor which takes an ArrayList of codes */
+    public Language(ArrayList codes) {
+	StringBuffer code_str = new StringBuffer();
+	boolean first = true;
+	for (int i=0; i<codes.size(); i++) {
+	    if (!first) {
+		code_str.append(",");
+	    } else {
+		first = false;
+	    }
+	    code_str.append(codes.get(i));
+	}
+	this.code = code_str.toString();
+	element = CollectionConfiguration.createElement(StaticStrings.LANGUAGE_ELEMENT);
+	element.setAttribute(StaticStrings.NAME_ATTRIBUTE, code);
+	element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+	
+    }
+
+    /** Method to compare two languages for ordering purposes.
+     * @param object the other language as an Object
+     * @return an int which indicates the order between this language and the given one: < 0, 0 or > 0 for before, equal to or after respectively
+     */
+    public int compareTo(Object object) {
+	return toString().compareTo(object.toString());
+    }
+
+    public DOMProxyListEntry create(Element element) {
+	return new Language(element);
+    }
+
+    /** Method to test for the equality of two languages.
+     * @param object The other language as an <strong>Object</strong>.
+     * @return <i>true</i> if the languages are equal, <i>false</i> otherwise.
+     */
+    public boolean equals(Object object) {
+	// two langs are equal if their codes are equal
+	if (object instanceof Language) {
+	    return getCode().equals(((Language)object).getCode());
+	} else if (object instanceof String) {
+	    return getCode().equals((String)object);
+	}
+	return false;
+    }
+
+    /** Method to retrieve the code of this language.
+     * @return A <strong>String</strong> representing the two letter code.
+     */
+    public String getCode() {
+	if(code == null && element != null) {
+	    code = element.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+	}
+	return code;
+    }
+
+    public Element getElement() {
+	return element;
+    }
+
+    public String getName() {
+	if(name == null) {
+	    String code_str = getCode();
+	    String [] codes = code_str.split(",");
+	    StringBuffer name_str = new StringBuffer();
+	    boolean first = true;
+	    for (int i=0; i<codes.length; i++) {
+		if (!first) {
+		    name_str.append(",");
+		} else {
+		    first = false;
+		}
+		name_str.append(CollectionDesignManager.language_manager.getLanguageName(codes[i]));
+	    }
+	    name = name_str.toString();
+	}
+	return name;
+    }
+
+    public boolean isAssigned() {
+	return (element != null && element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.TRUE_STR));
+    }
+
+    public void setAssigned(boolean value) {
+	if(element != null) {
+	    element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, (value ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR));
+	}
+    }
+
+    public void setCode(String new_code) {
+	code = new_code;
+	// Set element
+	if(element != null) {
+	    element.setAttribute(StaticStrings.NAME_ATTRIBUTE, new_code);
+	}
+	// Reset name
+	name = null;
+    }
+
+    public void setElement(Element new_element) {
+	element = new_element;
+	code = null;
+	name = null;
+    }
+
+    /** Method to display the language code.
+     * @return A <strong>String</strong> representing the language code.
+     */
+    public String toString() {
+	return getName();
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/LanguageListCellRenderer.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/LanguageListCellRenderer.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/LanguageListCellRenderer.java	(revision 21123)
@@ -0,0 +1,43 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+/**************************************************************************************
+ * Written:      11/07/03
+ * Revised:      
+ **************************************************************************************/
+import java.awt.*;
+import javax.swing.*;
+
+/** Provides a renderer which transforms a language code (such as en or fr) into its appropriate name (English and French respectively) before generating the rubberstamping component. */
+public class LanguageListCellRenderer
+    extends DefaultListCellRenderer {
+    
+    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
+	return super.getListCellRendererComponent(list, CollectionDesignManager.language_manager.getLanguageName((String)value), index, isSelected, cellHasFocus);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/LanguageManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/LanguageManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/LanguageManager.java	(revision 21123)
@@ -0,0 +1,765 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.border.*;
+import javax.swing.event.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataSetManager;
+import org.greenstone.gatherer.util.CheckList;
+import org.greenstone.gatherer.util.CheckListEntry;
+import org.greenstone.gatherer.util.JarTools;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+/** This class manages the language commands, remembering both a list of languages to build indexes in, plus the default language.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class LanguageManager
+    extends DOMProxyListModel {
+
+    static public Document LANGUAGES_DOCUMENT = XMLTools.parseXMLFile("xml/languages.xml", true);
+
+    static final private Dimension COMPONENT_SIZE = new Dimension(125,25);
+
+    /** The visual controls for this manager. */
+    private Control controls = null;
+    /** A reference to this class as a model, for the inner controls class. */
+    private DOMProxyListModel model = null;
+    /** A hashtable of code->name mappings of known languages. */
+    private LinkedHashMap known_languages = null;
+    /** The default language object. */
+    private Language default_language = null;
+    /** The language metadata element - specifies which metadata the 
+	language should be read from to determine the partitons */
+    private Element language_metadata = null;
+   /** Constructor. */
+    public LanguageManager(Element languages_element) {
+	super(languages_element, StaticStrings.LANGUAGE_ELEMENT, new Language());
+	
+	DebugStream.println("LanguageManager: " + getSize() + " languages parsed.");
+
+	this.model = this;
+	// Retrieve the default language
+	NodeList default_language_elements = CollectionConfiguration.getElementsByTagName(StaticStrings.LANGUAGE_DEFAULT_ELEMENT);
+	if(default_language_elements.getLength() > 0) {
+	    default_language = new Language((Element)default_language_elements.item(0));
+	}
+
+	// Retrieve the language metadata
+	language_metadata = CollectionDesignManager.collect_config.getLanguageMetadata();
+	// Load a series of code->language mappings into known_languages, by reading from the 'languages.xml' file, which is essentially a subset of the ISO 639 Standard.
+	known_languages = new LinkedHashMap();
+	NodeList language_elements = LANGUAGES_DOCUMENT.getDocumentElement().getElementsByTagName(StaticStrings.LANGUAGE_ELEMENT);
+	for(int i = 0; i < language_elements.getLength(); i++) {
+	    Element language_element = (Element) language_elements.item(i);
+	    String code = language_element.getAttribute(StaticStrings.CODE_ATTRIBUTE);
+	    String name = language_element.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+	    known_languages.put(code.toLowerCase(), name);
+	    name = null;
+	    code = null;
+	    language_element = null;
+	}
+    }
+
+    /** Method to add a new language.
+     * @param language The <strong>Language</strong> to add.
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.collection.CollectionManager
+     */
+    private void addLanguage(Language language) {
+	if(!contains(language)) {
+	    // need to add a pseudo metadata
+	    CollectionMeta metadatum = new CollectionMeta(StaticStrings.STOP_CHARACTER + language.getCode());
+	    metadatum.setValue(language.getName());
+	    CollectionDesignManager.collectionmeta_manager.addMetadatum(metadatum);
+	    add(getSize(), language);
+	}
+    }
+
+    public void destroy() {
+	if(controls != null) {
+	    controls.destroy();
+	    controls = null;
+	}
+	known_languages.clear();
+	known_languages = null;
+	default_language = null;
+    }
+
+    /** Method to retrieve the control for this manager.
+     * @return the Control for editing the language partitions
+     */
+    public Control getControls() {
+	if(controls == null) {
+	    // Build controls
+	    controls = new LanguageControl();
+	}
+	return controls;
+    }
+    
+    /** Method to retrieve a certain language object by its code.
+     * @param code The two letter code of a language, as a <strong>String</strong>.
+     * @return The <strong>Language</strong> that matches the given code, or <i>null</i> if no such language exists.
+     */
+    public Language getLanguage(String code) {
+	int size = getSize();
+	for(int i = 0; i < size; i++) {
+	    Language language = (Language) getElementAt(i);
+	    if(language.getCode().equals(code)) {
+		return language;
+	    }
+	}
+	return null;
+    }
+
+    public ArrayList getLanguages() {
+	return children();
+    }
+
+    /** Method to return a list of the known language codes.
+     * @return an ArrayList containing the series of known language codes as per the languages.dat file
+     */
+    public ArrayList getLanguageCodes() {
+	return new ArrayList(known_languages.keySet());
+    }
+
+    public String getLanguageName(String code) {
+	return (String) known_languages.get(code);
+    }
+    
+    /** Called when the detail mode has changed which in turn may cause several design elements to be available/hidden
+     * @param mode the new mode as an int
+     */
+    public void modeChanged(int mode) {
+	
+    }
+
+   private int moveLanguage(Language lang, boolean move_up)
+    {
+	// Determine the current position of the language
+	int position = indexOf(lang);
+	int new_position;
+
+	// Attempt to move the language up
+	if (move_up) {
+	    // Check it's not already at the top
+	    if (position == 0) {
+		return position;
+	    }
+
+	    // This automatically removes the language first, as an Element can only exist once in a particular document
+	    new_position = position - 1;
+	    addBefore(lang, (Language) getElementAt(new_position));
+	}
+
+	// Attempt to move the language down
+	else {
+	    // Check it's not already at the bottom
+	    if (position == (getSize()) - 1) {
+		return position;
+	    }
+
+	    // This automatically removes the language first, as an Element can only exist once in a particular document
+	    new_position = position + 1;
+	    addAfter(lang, (Language) getElementAt(new_position));
+	}
+
+	return new_position;
+    }
+
+    /** Method to remove a certain language.
+     * @param language The <strong>Language</strong> to remove.
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.collection.CollectionManager
+     */
+    private void removeLanguage(Language language) {
+	remove(language);
+	// Remove any collection metadata for this language
+	CollectionDesignManager.collectionmeta_manager.removeMetadata(StaticStrings.STOP_CHARACTER + language.getCode());
+	if(default_language != null && default_language.equals(language)) {
+	    setDefault(null);
+	}
+    }
+
+    private void replaceLanguage(Language old_language, Language new_language) {
+	// Remove old lang collection meta
+	CollectionDesignManager.collectionmeta_manager.removeMetadata(StaticStrings.STOP_CHARACTER + old_language.getCode());
+	// Add new one
+	CollectionMeta metadatum = new CollectionMeta(StaticStrings.STOP_CHARACTER + new_language.getCode());
+	metadatum.setValue(new_language.getName());
+	CollectionDesignManager.collectionmeta_manager.addMetadatum(metadatum);
+	if(default_language != null && default_language.equals(old_language)) {
+	    setDefault(new_language);
+	}
+
+	// get the position of the old one
+	int position = indexOf(old_language);
+	remove(old_language);
+	add(position, new_language);
+    }
+
+
+    /** Method to set the default language.
+     * @param language The <strong>Language</strong> to use as a default, or <i>null</i> for no default.
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.collection.CollectionManager
+     */
+    public void setDefault(Language language) {
+	if(language != null) {
+	    if(default_language == null) {
+		// Create the default index element, and place immediately after indexes element.
+		Element default_language_element = root.getOwnerDocument().createElement(StaticStrings.LANGUAGE_DEFAULT_ELEMENT);
+		default_language = new Language(default_language_element);
+		Node target_node = CollectionConfiguration.findInsertionPoint(default_language_element);
+		if(target_node != null) {
+		    root.getOwnerDocument().getDocumentElement().insertBefore(default_language_element, target_node);
+		}
+		else {
+		    root.getOwnerDocument().getDocumentElement().appendChild(default_language_element);
+		}
+	    }
+	    default_language.setAssigned(true);
+	    default_language.setCode(language.getCode());
+	}
+	else {
+	    if(default_language != null) {
+		default_language.setAssigned(false);
+	    }
+	}
+    }
+
+
+    /** This class represents the visual component of the Language Manager. */
+    private class LanguageControl
+	extends JPanel 
+	implements Control {
+	/** The list of available languages */
+	private CheckList language_list = null;
+	/** The button to add a new language support. */
+	private JButton add_button = null;
+	/** The button to replace a language support. */
+	private JButton replace_button = null;
+	/** The button to remove a supported language. */
+	private JButton remove_button = null;
+	/** button to move a language up in the list */
+	private JButton move_down_button;
+	/** button to move a language down in the list */
+	private JButton move_up_button;
+	/** button to select all the languages in the list */
+	private JButton select_all_button;
+	/** button to clear the current selection in the list */
+	private JButton select_none_button; 
+	/** The button to set the current language as the default one. */
+	private JButton set_default_button = null;
+	/** A list of currently supported languages. */
+	private JList selected_languages_list = null;
+	/** A list of metadata elements that may hold the language metadata */
+	private JComboBox language_metadata_combo = null;
+	
+	/** Constructor.
+	 * @see org.greenstone.gatherer.cdm.LanguageManager.LanguageControl.AddListener
+	 * @see org.greenstone.gatherer.cdm.LanguageManager.LanguageControl.ClearDefaultListener
+	 * @see org.greenstone.gatherer.cdm.LanguageManager.LanguageControl.ListListener
+	 * @see org.greenstone.gatherer.cdm.LanguageManager.LanguageControl.RemoveListener
+	 * @see org.greenstone.gatherer.cdm.LanguageManager.LanguageControl.SelectorListener
+	 * @see org.greenstone.gatherer.cdm.LanguageManager.LanguageControl.SetDefaultListener
+	 */
+	public LanguageControl() {
+	    super();
+	    // Creation.
+            this.setComponentOrientation(Dictionary.getOrientation());
+	    JPanel center_panel = new JPanel();
+            center_panel.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JLabel selected_languages_list_label = new JLabel(Dictionary.get("CDM.LanguageManager.Assigned_Languages"));
+	    selected_languages_list = new JList(model);
+	    selected_languages_list.setCellRenderer(new MyLanguageListCellRenderer());
+	    selected_languages_list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+	    selected_languages_list.setVisibleRowCount(5);
+	    selected_languages_list.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel control_panel = new JPanel();
+	    control_panel.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel labels_pane = new JPanel();	    
+	    labels_pane.setComponentOrientation(Dictionary.getOrientation());
+            JLabel selector_label = new JLabel(Dictionary.get("CDM.LanguageManager.Selector"));
+            selector_label.setComponentOrientation(Dictionary.getOrientation());
+	    select_all_button = new GLIButton(Dictionary.get("CDM.IndexManager.Select_All"), Dictionary.get("CDM.IndexManager.Select_All_Tooltip"));
+	    select_none_button = new GLIButton(Dictionary.get("CDM.IndexManager.Select_None"), Dictionary.get("CDM.IndexManager.Select_None_Tooltip"));
+	    
+	    language_metadata_combo = new JComboBox(MetadataSetManager.getEveryMetadataSetElement().toArray());
+	    language_metadata_combo.setOpaque(false);
+	    language_metadata_combo.setToolTipText(Dictionary.get("CDM.LanguageManager.LanguageMetadata_Tooltip"));
+            language_metadata_combo.setComponentOrientation(Dictionary.getOrientation());
+            
+            JLabel language_metadata_label = new JLabel(Dictionary.get("CDM.LanguageManager.LanguageMetadata"));
+            language_metadata_label.setComponentOrientation(Dictionary.getOrientation());
+            
+	    String current_value = "ex.Language";
+	    if (language_metadata.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.TRUE_STR) && !language_metadata.getAttribute(StaticStrings.NAME_ATTRIBUTE).equals("")) {
+		current_value = language_metadata.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+	    }
+	    ArgumentControl.selectValue(language_metadata_combo, current_value);
+	    language_list = new CheckList(false);
+	    language_list.setListData(getLanguageCodes());
+	    language_list.setToolTipText(Dictionary.get("CDM.LanguageManager.Selector_Tooltip"));
+	    language_list.setCellRenderer(new LanguageCheckListCellRenderer());
+	    
+	    select_all_button.setEnabled(isSelectAllEnabled());
+	    select_none_button.setEnabled(isSelectAllEnabled());
+	    	    
+	    JPanel movement_pane = new JPanel();
+            movement_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+            move_up_button = new GLIButton(Dictionary.get("CDM.Move.Move_Up"), JarTools.getImage("arrow-up.gif"), Dictionary.get("CDM.Move.Move_Up_Tooltip"));
+	    move_up_button.setEnabled(false);
+	    
+	    move_down_button = new GLIButton(Dictionary.get("CDM.Move.Move_Down"), JarTools.getImage("arrow-down.gif"), Dictionary.get("CDM.Move.Move_Down_Tooltip"));
+	    move_down_button.setEnabled(false);
+	    
+	    set_default_button = new GLIButton(Dictionary.get("CDM.LanguageManager.Set_Default"), Dictionary.get("CDM.LanguageManager.Set_Default_Tooltip"));
+	    set_default_button.setEnabled(false);
+	    
+	    JPanel button_panel = new JPanel();
+            button_panel.setComponentOrientation(Dictionary.getOrientation());
+            
+	    add_button = new GLIButton(Dictionary.get("CDM.SubcollectionIndexManager.Add_Subindex"), Dictionary.get("CDM.LanguageManager.Add_Tooltip"));
+	    add_button.setEnabled(false);
+
+	    replace_button = new GLIButton(Dictionary.get("CDM.SubcollectionIndexManager.Replace_Subindex"), Dictionary.get("CDM.LanguageManager.Replace_Tooltip"));
+	    replace_button.setEnabled(false);
+	    
+	    remove_button = new GLIButton(Dictionary.get("CDM.SubcollectionIndexManager.Remove_Subindex"), Dictionary.get("CDM.LanguageManager.Remove_Tooltip"));
+	    remove_button.setEnabled(false);
+	    
+	    // Set up and connect listeners.
+	    add_button.addActionListener(new AddListener());
+	    add_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+	    move_down_button.addActionListener(new MoveListener(false));
+	    move_down_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+	    move_up_button.addActionListener(new MoveListener(true));
+	    move_up_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+	    remove_button.addActionListener(new RemoveListener());
+	    remove_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+	    replace_button.addActionListener(new ReplaceListener());
+	    replace_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+	    select_all_button.addActionListener(new SelectAllListener());			
+	    select_all_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+	    select_none_button.addActionListener(new SelectNoneListener());
+	    select_none_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+
+	    language_list.addListSelectionListener(new LanguageListListener());
+	    language_metadata_combo.addActionListener(new ActionListener() {
+		    public void actionPerformed(ActionEvent event) {
+			String value = ((MetadataElement)language_metadata_combo.getSelectedItem()).getFullName();
+			language_metadata.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+			language_metadata.setAttribute(StaticStrings.NAME_ATTRIBUTE, value);
+		    }
+		});
+	    set_default_button.addActionListener(new SetDefaultListener());
+	    set_default_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+	    selected_languages_list.addListSelectionListener(new AssignedListListener());
+
+	    // Layout components
+	    button_panel.setLayout(new GridLayout(1,3));
+	    button_panel.add(add_button);
+	    button_panel.add(replace_button);
+	    button_panel.add(remove_button);
+
+	    JPanel metadata_panel = new JPanel();
+            metadata_panel.setComponentOrientation(Dictionary.getOrientation());
+	    metadata_panel.setLayout(new BorderLayout());
+	    JPanel inner_panel = new JPanel();
+            inner_panel.setComponentOrientation(Dictionary.getOrientation());
+	    inner_panel.setLayout(new BorderLayout(10,10));
+	    inner_panel.add(language_metadata_label, BorderLayout.LINE_START);
+	    inner_panel.add(language_metadata_combo, BorderLayout.CENTER);
+	    metadata_panel.add(new JPanel(), BorderLayout.CENTER);
+	    metadata_panel.add(inner_panel, BorderLayout.LINE_END);
+
+	    movement_pane.setBorder(BorderFactory.createEmptyBorder(0,2,0,0));
+	    movement_pane.setLayout(new GridLayout(3,1));
+	    movement_pane.add(move_up_button);
+	    movement_pane.add(move_down_button);
+	    movement_pane.add(set_default_button);
+
+	    control_panel.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	    control_panel.setLayout(new BorderLayout());
+	    	    
+	    labels_pane.setLayout(new BorderLayout());
+	    labels_pane.setBorder(BorderFactory.createEmptyBorder(5, 5, 10, 5));
+	    
+	    // add the select all and select none buttons to the label panel			 
+	    GridBagLayout gridbag = new GridBagLayout();			
+	    GridBagConstraints c = new GridBagConstraints();
+	    labels_pane.setLayout(gridbag);
+
+	    c.fill = GridBagConstraints.BOTH;		
+	    c.weightx = 1.0;
+	    c.weighty = 1.0;
+	    c.gridx = 0;
+	    c.gridy = 0;
+	    
+	    gridbag.setConstraints(selector_label, c);
+	    labels_pane.add(selector_label);
+	    
+	    c.fill = GridBagConstraints.HORIZONTAL;
+	    c.weighty = 0.0;
+	    c.gridy = 1;
+	    
+	    gridbag.setConstraints(select_all_button, c);
+	    labels_pane.add(select_all_button);			
+	    
+	    c.gridy = 2;
+	    gridbag.setConstraints(select_none_button, c);
+	    labels_pane.add(select_none_button);	
+	    	    
+	    control_panel.add(labels_pane, BorderLayout.LINE_START);
+	    
+	    control_panel.add(new JScrollPane(language_list), BorderLayout.CENTER);
+	    control_panel.add(button_panel, BorderLayout.SOUTH);
+
+	    center_panel.setLayout(new BorderLayout());
+	    center_panel.add(selected_languages_list_label, BorderLayout.NORTH);
+	    center_panel.add(new JScrollPane(selected_languages_list), BorderLayout.CENTER);
+	    center_panel.add(movement_pane, BorderLayout.LINE_END);
+
+	    JPanel top_panel = new JPanel();
+            top_panel.setComponentOrientation(Dictionary.getOrientation());
+            top_panel.setLayout(new BorderLayout());
+	    top_panel.add(metadata_panel, BorderLayout.NORTH);
+	    top_panel.add(center_panel, BorderLayout.SOUTH);
+	    
+	    setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	    setLayout(new BorderLayout());
+	    add(top_panel, BorderLayout.NORTH);
+	    add(control_panel, BorderLayout.CENTER);
+	}
+	
+	/** Destructor.	*/
+	public void destroy() {
+	}
+
+	public void gainFocus() {
+	}
+
+	public void loseFocus() {
+	}
+
+	
+	private void clearControls() {
+	    selected_languages_list.clearSelection();
+	    language_list.clearTicked();
+	    add_button.setEnabled(false);
+	    remove_button.setEnabled(false);
+	    replace_button.setEnabled(false);
+	    set_default_button.setEnabled(false);
+	    move_down_button.setEnabled(false);
+	    move_up_button.setEnabled(false);
+	    select_all_button.setEnabled(isSelectAllEnabled());			
+	    select_none_button.setEnabled(isSelectAllEnabled());
+
+	}
+	
+	private void updateControlsWithSelectedLanguage()
+	{
+	    Language selected_lang = (Language) selected_languages_list.getSelectedValue();
+	    if (selected_lang == null) {
+		clearControls();
+		return;
+	    }
+	    
+	    // Display the selected subcollection index's sources
+	    language_list.clearTicked();	
+	    // for multi-languages indexes, getCode returns null
+	    if(selected_lang.getCode()==null){	      	      
+	      return;
+	    }
+	    language_list.setTickedObjects(selected_lang.getCode().split(","));	    
+	}
+
+	private void validateButtons() {
+	    boolean add_enabled = false;
+	    boolean replace_enabled = false;
+
+	    if (!language_list.isNothingTicked()) {
+		// Create a dummy Langauge and see if its in the collection
+		ArrayList langs = language_list.getTicked();
+		StringBuffer code_str = new StringBuffer();
+		boolean first = true;
+		for (int i=0; i<langs.size(); i++) {
+		    if (!first) {
+			code_str.append(",");
+		    } else {
+			first = false;
+		    }
+		    code_str.append(langs.get(i));
+		}
+		String lang_str = code_str.toString();
+		
+		if (!model.contains(lang_str)) {
+		    add_enabled = true;
+		    if (!selected_languages_list.isSelectionEmpty()) {
+			replace_enabled = true;
+		    }
+		}
+
+	    }
+	    add_button.setEnabled(add_enabled);
+	    replace_button.setEnabled(replace_enabled);
+	    select_all_button.setEnabled(isSelectAllEnabled());
+	    select_none_button.setEnabled(isSelectAllEnabled());
+	}
+	
+	/** Listens for actions apon the 'add' button in the LanguageManager controls, and if detected calls the add method of the manager with a newly created language. */
+	private class AddListener
+	    implements ActionListener {
+	    /** Add a new language support.
+	     * @param event an ActionEvent
+	     * @see org.greenstone.gatherer.cdm.Language
+	     */
+	    public void actionPerformed(ActionEvent event) {
+		if (!language_list.isNothingTicked()) {
+		    addLanguage(new Language(language_list.getTicked()));
+		    clearControls();
+		}
+	    }
+	}
+
+	/** Listens for actions apon the 'remove' button in the LanguageManager controls, and if detected calls the remove method of the manager with the language selected for removal. */
+	private class RemoveListener
+	    implements ActionListener {
+	    /** Remove the currently selected language, if any.
+	     * @param event An <strong>ActionEvent</strong>.
+	     * @see org.greenstone.gatherer.cdm.Language
+	     */
+	    public void actionPerformed(ActionEvent event) {
+		Language delete_me = (Language)selected_languages_list.getSelectedValue();
+		if(delete_me != null) {
+		    removeLanguage(delete_me);
+		}
+	    }
+	}
+
+	private class ReplaceListener
+	    implements ActionListener {
+	    
+	    public void actionPerformed(ActionEvent event) {
+		if (selected_languages_list.isSelectionEmpty() || language_list.isNothingTicked()) {
+		    // This should never happen, but just in case...
+		    replace_button.setEnabled(false);
+		    return;
+		}
+		Language old_language = (Language) selected_languages_list.getSelectedValue();
+		Language new_language = new Language(language_list.getTicked());
+		replaceLanguage(old_language, new_language);
+		
+	    }
+	}
+	
+	private class LanguageListListener
+	    implements ListSelectionListener {
+
+	    public void valueChanged(ListSelectionEvent event) {
+		if (event.getValueIsAdjusting()) {
+		    return;
+		}
+		validateButtons();
+	    }
+	}
+	
+	private class SelectAllListener
+	implements ActionListener {
+		
+		public void actionPerformed(ActionEvent event){
+			if(select_all_button.isEnabled()){
+			  language_list.setAllTicked();
+			  validateButtons();
+			}
+		}
+	}
+	
+	private class SelectNoneListener
+	implements ActionListener {
+		
+		public void actionPerformed(ActionEvent event){
+			if(select_all_button.isEnabled()){
+			  language_list.clearTicked();
+			  validateButtons();
+			}
+		}
+	}
+	
+	/** Listens for actions apon the 'set default' button in the LanguageManager controls, and if detected calls the <i>setDefault()</i> method of the manager with the language selected for default. */
+	private class SetDefaultListener
+	    implements ActionListener {
+	    /** Set the default index to the one currently selected, if any.
+	     * @param event An <strong>ActionEvent</strong>.
+	     * @see org.greenstone.gatherer.cdm.Language
+	     */
+	    public void actionPerformed(ActionEvent event) {
+		Language selected_language = (Language) selected_languages_list.getSelectedValue();
+		if(selected_language != null) {
+		    setDefault(selected_language);
+		    // This should cause a repaint of just the desired row
+		    selected_languages_list.setSelectedValue(selected_language, true);
+		}
+		set_default_button.setEnabled(false);
+	    }
+	}
+
+	private class MoveListener
+	    implements ActionListener
+	{
+	    private boolean move_up;
+
+	    public MoveListener(boolean move_up)
+	    {
+		this.move_up = move_up;
+	    }
+
+	    public void actionPerformed(ActionEvent event)
+	    {
+		// Retrieve the selected language
+		Language language = (Language) selected_languages_list.getSelectedValue();
+		if (language != null) {
+		    int new_position = moveLanguage(language, move_up);
+		    // Ensure the language that moved is still selected
+		    selected_languages_list.setSelectedIndex(new_position);
+		}
+	    }
+	}
+
+
+	/** Listens for selections within the list on the LanguageManager controls, and if a change is detected enables, or disables, controls appropriately. */
+	private class AssignedListListener
+	    implements ListSelectionListener {
+	    /** Enable or disable controls depending on the current list selection.
+	     * @param event A <strong>ListSelectionEvent</strong>.
+	     */
+	    public void valueChanged(ListSelectionEvent event) {
+		if (event.getValueIsAdjusting()) {
+		    return;
+		}
+		if(selected_languages_list.isSelectionEmpty()) {
+		    clearControls();
+		    return;
+		}
+		
+		int i = selected_languages_list.getSelectedIndex();
+ 		int size = selected_languages_list.getModel().getSize();
+ 		
+ 		select_all_button.setEnabled(isSelectAllEnabled());
+		select_none_button.setEnabled(isSelectAllEnabled());
+		
+		Language selected_lang = (Language)selected_languages_list.getSelectedValue();
+		remove_button.setEnabled(true);
+		replace_button.setEnabled(false);
+		add_button.setEnabled(false);
+		set_default_button.setEnabled(default_language == null || !default_language.equals(selected_lang));
+		
+		if (i > 0) {
+ 		    move_up_button.setEnabled(true);
+ 		}
+ 		else {
+ 		    move_up_button.setEnabled(false);
+ 		}
+ 		if (i < size-1){
+ 		    move_down_button.setEnabled(true);
+ 		}
+ 		else {
+ 		    move_down_button.setEnabled(false);
+ 		}
+		updateControlsWithSelectedLanguage();
+	    }
+	}
+
+	private class MyLanguageListCellRenderer
+	    extends DefaultListCellRenderer
+	{
+	    /** Return a component that has been configured to display the specified value. */
+	    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
+		JLabel component = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
+		if (default_language != null && default_language.equals(value)) {
+		    component.setText(component.getText() + " [" + Dictionary.get("CDM.LanguageManager.Default_Language")+"]");
+		}
+		return component;
+	    }
+	}
+	
+	private boolean isSelectAllEnabled(){
+	  return language_list.getModel().getSize() > 0 ? true : false;		  	
+	}
+    }
+    
+    /** A custom list cell renderer for producing rows which contain clickable check boxes. */
+    private class LanguageCheckListCellRenderer 
+	implements ListCellRenderer
+    {
+	/** Return a component that has been configured to display the specified value. That component's paint method is then called to "render" the cell. If it is necessary to compute the dimensions of a list because the list cells do not have a fixed size, this method is called to generate a component on which getPreferredSize  can be invoked.
+	 * @param list The </strong>JList</strong> we're painting.
+	 * @param value The value returned by list.getModel().getElementAt(index), as an <strong>Object</strong>.
+	 * @param index The cells index as an <i>int</i>.
+	 * @param is_selected <i>true</i> if the specified cell was selected, <i>false</i> otherwise.
+	 * @param cell_has_focus <i>true</i> if and only if the specified cell has the focus.
+	 * @return A <strong>Component</strong> whose paint() method will render the specified value.
+	 */
+	public Component getListCellRendererComponent(JList list, Object value, int index, boolean is_selected, boolean cell_has_focus) {
+	    JCheckBox checkbox = (JCheckBox) value;
+	    checkbox.setBackground(list.getBackground());
+	    checkbox.setForeground(list.getForeground());
+	    checkbox.setBorderPainted(false);
+	    checkbox.setEnabled(list.isEnabled());
+	    checkbox.setFont(list.getFont());
+	    checkbox.setFocusPainted(false);
+	    checkbox.setBorder((is_selected) ? UIManager.getBorder("List.focusCellHighlightBorder") : new EmptyBorder(1, 1, 1, 1));
+	    
+	    String code = (String)((CheckListEntry)list.getModel().getElementAt(index)).getObject();
+	    checkbox.setText((String)known_languages.get(code));
+
+	    return checkbox;
+	}
+    }
+    
+    
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/MacrosManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/MacrosManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/MacrosManager.java	(revision 21123)
@@ -0,0 +1,301 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Katherine Don, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.undo.*;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.gui.DesignPaneHeader;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+
+
+public class MacrosManager {
+
+    /** The controls used to modify the general options. */
+    private Control controls;
+    /** Constructor. */
+    public MacrosManager() {
+    }
+
+
+    /** Destructor. */
+    public void destroy() {
+	if (controls != null) {
+	    controls.destroy();
+	    controls = null;
+	}
+    }
+
+    public void loseFocus() {
+    }
+
+    public void gainFocus() {
+
+    }
+    /** This class is resposible for generating the controls for the editing of general options.
+     * @return the Control for editing the general options
+     */
+    public Control getControls() {
+	if (controls == null) {
+	    controls = new MacrosControl();
+	}
+	return controls;
+    }
+    
+
+    /** Called when the detail mode has changed which in turn may cause several design elements to be available/hidden
+     * @param mode the new mode as an int
+     */
+    public void modeChanged(int mode) {
+
+    }
+
+
+    private class MacrosControl
+	extends JPanel
+	implements Control, WindowFocusListener {
+
+	JTextArea macros_textarea = null;
+	JButton undo_button = null;
+	JButton redo_button = null;
+	private final UndoManager undo = new UndoManager();
+	private boolean macros_changed = false;
+	public MacrosControl() {
+	    super();
+            this.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel header_pane = new DesignPaneHeader("CDM.GUI.Macros", "collectionspecificmacros");	    
+	    JPanel main_pane = new JPanel();
+	    main_pane.setComponentOrientation(Dictionary.getOrientation());
+            main_pane.setLayout(new BorderLayout());
+	    macros_textarea = new JTextArea();
+            macros_textarea.setComponentOrientation(Dictionary.getOrientation());
+	    macros_textarea.setBackground(Configuration.getColor("coloring.editable_background", false));
+	    macros_textarea.setLineWrap(false);
+	    macros_textarea.setWrapStyleWord(false);
+	    macros_textarea.setToolTipText(Dictionary.get("CDM.MacrosManager.Editor_Tooltip"));
+	    readMacroFile(); // load in the original contents
+	    macros_textarea.getDocument().addDocumentListener(new EditorListener());
+
+	    // Listen for undo and redo events
+	    macros_textarea.getDocument().addUndoableEditListener(new UndoableEditListener() {
+		    public void undoableEditHappened(UndoableEditEvent evt) {
+			undo.addEdit(evt.getEdit());
+		    }
+		});
+	    macros_textarea.setCaretPosition(0);
+	    
+	    JPanel macros_pane = new JPanel();
+            macros_pane.setComponentOrientation(Dictionary.getOrientation());
+	    macros_pane.setBorder(BorderFactory.createEmptyBorder(5,0,5,0));
+	    macros_pane.setLayout(new BorderLayout());
+	    macros_pane.add(new JScrollPane(macros_textarea), BorderLayout.CENTER);
+	    undo_button = new GLIButton(Dictionary.get("General.Undo"), Dictionary.get("General.Undo_Tooltip"));
+	    undo_button.setEnabled(false);
+	    undo_button.addActionListener(new UndoListener());
+
+	    redo_button = new GLIButton(Dictionary.get("General.Redo"), Dictionary.get("General.Redo_Tooltip"));
+	    redo_button.setEnabled(false);
+	    redo_button.addActionListener(new RedoListener());
+	    
+	    JPanel button_pane = new JPanel();
+            button_pane.setComponentOrientation(Dictionary.getOrientation());
+            button_pane.setLayout(new GridLayout(1,2));
+	    button_pane.add(undo_button);
+	    button_pane.add(redo_button);
+
+	    main_pane.add(macros_pane, BorderLayout.CENTER);
+	    main_pane.add(button_pane, BorderLayout.SOUTH);
+
+	    setBorder(BorderFactory.createEmptyBorder(0,5,0,0));
+	    setLayout(new BorderLayout());
+	    add(header_pane, BorderLayout.NORTH);
+	    add(main_pane, BorderLayout.CENTER);
+	    Gatherer.g_man.addWindowFocusListener(this);
+	}
+
+	public void destroy() {
+	}
+
+	public void loseFocus() {
+	    if (macros_changed) {
+		writeMacroFile();
+		macros_changed = false;
+	    }
+	}
+
+	public void gainFocus() {
+	    macros_textarea.grabFocus();
+	}
+	
+	public void windowGainedFocus(WindowEvent e) {
+	}
+	
+	public void windowLostFocus(WindowEvent e) {
+	    if (macros_changed) {
+		writeMacroFile();
+		macros_changed = false;
+	    }	    
+	}
+
+	private void readMacroFile() {
+	    macros_textarea.setText("");
+	    File extra_dm = new File(CollectionManager.getLoadedCollectionMacrosDirectoryPath() + "extra.dm");
+	    
+	    if (extra_dm.exists()) {
+		try {
+		    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(extra_dm), "UTF-8"));
+		
+		    String line;
+		    while ((line = br.readLine()) != null) {
+			macros_textarea.append(line+"\n");
+		    }
+
+		    br.close();
+		}
+		catch (Exception exception) {
+		    DebugStream.printStackTrace(exception);
+		}
+	    }
+	}
+	
+	private void writeMacroFile() {
+	    File extra_dm_file = new File(CollectionManager.getLoadedCollectionMacrosDirectoryPath() + "extra.dm");
+	    try {
+		if (!extra_dm_file.exists()) {
+		    File parent_dir = extra_dm_file.getParentFile();
+		    parent_dir.mkdirs();
+		    extra_dm_file.createNewFile();
+		}
+		
+		BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(extra_dm_file), "UTF-8"));
+		String text = macros_textarea.getText();
+		out.write(text, 0, text.length());
+		out.newLine();
+		out.flush();
+		out.close();
+
+		// If we're using a remote Greenstone server, upload the new extra.dm file
+		// This will return immediately, since we're on the event dispatch thread
+		// Users need to wait until the upload has finished before pressing Preview Collection!
+		if (Gatherer.isGsdlRemote) {
+		    Gatherer.remoteGreenstoneServer.uploadCollectionFile(CollectionManager.getLoadedCollectionName(), extra_dm_file);
+		}
+	    }
+	    catch (Exception exception) {
+		DebugStream.printStackTrace(exception);
+	    }
+	}
+
+	private class EditorListener
+	    implements DocumentListener {
+	    public void changedUpdate(DocumentEvent e) {
+		macros_changed = true;
+		undo_button.setEnabled(true);
+	    }
+          
+	    public void insertUpdate(DocumentEvent e) {
+		macros_changed = true;
+		undo_button.setEnabled(true);
+	    }
+          
+	    public void removeUpdate(DocumentEvent e) {
+		macros_changed = true;
+		undo_button.setEnabled(true);
+	    }
+
+	}
+
+	private class UndoListener
+	    implements ActionListener {
+	    
+	    public void actionPerformed(ActionEvent event) {
+		try {
+                    if (undo.canUndo()) {
+                        int pos = macros_textarea.getCaretPosition();
+                        undo.undo();
+			macros_textarea.setCaretPosition(pos-1);
+			macros_textarea.grabFocus();
+			redo_button.setEnabled(true); 
+			
+                    }
+                    if (!undo.canUndo()){
+			undo_button.setEnabled(false);
+		    }
+		    else{
+                      	undo_button.setEnabled(true); 
+		    }   
+                }
+		catch (Exception exception) {
+		    DebugStream.printStackTrace(exception);
+                }           
+	    }
+	}
+    
+
+	private class RedoListener
+	    implements ActionListener {
+	   
+	    public void actionPerformed(ActionEvent evt) {
+		try {
+		    if (undo.canRedo()) {
+			int pos = macros_textarea.getCaretPosition();
+			undo.redo();
+			macros_textarea.setCaretPosition(pos+1); 
+			macros_textarea.grabFocus();
+		    }
+		    if (!undo.canRedo()){
+			redo_button.setEnabled(false);
+		    }
+		    else{
+			redo_button.setEnabled(true); 
+		    }
+		}
+		catch (Exception exception) {
+		    DebugStream.printStackTrace(exception);
+		}
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/ParsingProgress.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/ParsingProgress.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/ParsingProgress.java	(revision 21123)
@@ -0,0 +1,101 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+/**************************************************************************************
+ * Title:        Gatherer
+ * Description:  The Gatherer: a tool for gathering and enriching a digital collection.
+ * Copyright:    Copyright (c) 2001
+ * Company:      The University of Waikato
+ * Written:      03/05/02
+ * Revised:      20/05/02
+ *               17/11/02 - Commented
+ **************************************************************************************/
+import java.awt.*;
+import javax.swing.*;
+
+/** This class provides a progress bar to be displayed whenever the module must reload the plugin and classifier information, either automatically or if the user indicates a reload is needed.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class ParsingProgress
+    extends JDialog {
+    /** The content pane within the dialog box. */
+    private JPanel content_pane = null;
+    /** The progress bar itself. */
+    private JProgressBar progress = null;
+    /** The default size of the progress dialog. */
+    static final Dimension SIZE = new Dimension(600,75);
+
+    /** Constructor.
+     * @param title The title to show on the dialog, as a <strong>String</strong>.
+     * @param message The message to show on the dialog, as a <strong>String</strong>.
+     * @param max The total number of plugins/classifiers that have to be parsed before the progress bar can be disposed of, as an <i>int</i>.
+     */
+    public ParsingProgress(String title, String message, int max) {
+	super();
+	this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
+	this.setSize(SIZE);
+	this.setTitle(title);
+
+	// Creation
+	this.content_pane = (JPanel) getContentPane();
+	this.progress = new JProgressBar();
+	this.progress.setMaximum(max);
+
+	// Layout
+	this.content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	this.content_pane.setLayout(new BorderLayout());
+	this.content_pane.add(new JLabel(message), BorderLayout.NORTH);
+	this.content_pane.add(progress, BorderLayout.CENTER);
+
+	// Center and display
+	Dimension screen_size = Toolkit.getDefaultToolkit().getScreenSize();
+	setLocation((screen_size.width - SIZE.width) / 2,
+		    (screen_size.height - SIZE.height) / 2);
+	setVisible(true);
+    }
+
+    public void destroy() {
+    }
+
+    /** Method which increments the progress count by one, which should be called after every successful parsing of a classifier or plugin.
+     */
+    public void inc() {
+	progress.setValue(progress.getValue() + 1);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Plugin.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Plugin.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Plugin.java	(revision 21123)
@@ -0,0 +1,236 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.io.*;
+import java.util.*;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.greenstone.Plugins;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.w3c.dom.*;
+
+
+/** This class is responsible for storing information from a parsed pluginfo call in such a way that it allows easy access to parsed details for the purposes of user design and specification of plugins. */
+public class Plugin
+    extends ArgumentContainer
+{
+    private String default_block_expression = "";
+    private String default_process_expression = "";
+    private boolean does_explode_metadata_databases = false; 
+    private boolean does_replace_srcdocs_with_html = false; // to work with replace_srcdoc_with_html.pl
+    /** Plugins are loaded as needed. This variable indicates 1. whether a plugin has been loaded already; 2. whether a 
+     * plugin has been successfully loaded. When both are true, has_loaded_options will be true. */
+    private boolean has_loaded_options = false;
+
+    /** Constructor used in DOMProxyListModel initializations, and Library Level. Used for Base plugins (those in the list of available plugins, not ones that are in the DOMProxyList)
+     */
+    public Plugin() {
+    }
+
+    
+    public Plugin(Element element, Plugin base_plugin) {
+	super(element, base_plugin);
+    }
+
+
+    /** Method to compare two plugins for ordering.
+     * We override the base method cos we compare by plugin name rather than toString()
+     */
+    public int compareTo(Object object) {
+	if(object instanceof Plugin) {
+	    return name.compareTo(((Plugin)object).getName());
+	}
+	return -1;
+    }
+
+    
+    /** The assigned plugin constructor.
+     * @param element the DOM Element this plugin is based upon
+     */
+    public DOMProxyListEntry create(Element element) {
+	String plugin_name = element.getAttribute(StaticStrings.TYPE_ATTRIBUTE);
+	// Determine the base plugin from the plugin name
+	Plugin base_plugin = Plugins.getPlugin(plugin_name, true);
+	Plugin plugin = new Plugin(element, base_plugin);
+	if (base_plugin == null) {
+	    plugin.setAssigned(false);
+	}
+	base_plugin = null;
+	plugin_name = null;
+	return plugin;
+    }
+
+
+    public boolean hasLoadedOptions()
+    {
+	return has_loaded_options;
+    }
+
+
+    /** Checks whether the plugin this instance is based on processes metadata databases that can be exploded. */
+    public boolean doesExplodeMetadataDatabases()
+    {
+	Plugin base_plugin = Plugins.getPlugin(getName(), false);
+	if (base_plugin == null) {
+	    return false;
+	}
+	return base_plugin.does_explode_metadata_databases;
+    }
+
+    /** Checks whether the plugin this instance is based on processes source documents that can be replaced with their Greenstone generated html variants. 
+     * This method works with replace_srcdoc_with_html.pl */
+    public boolean doesReplaceSrcDocsWithHtml()
+    {
+	//return does_replace_srcdocs_with_html;
+	Plugin base_plugin = Plugins.getPlugin(getName(), false);
+	if (base_plugin == null) {
+	  return false;
+	}
+	return base_plugin.does_replace_srcdocs_with_html;
+    }
+
+    /** Checks whether this plugin instance will process the specified file (given its block_exp). */
+    public boolean doesBlockFile(File file)
+    {
+	// Check the filename against the plugin's block_exp value
+	ArrayList arguments = getArguments();
+	for (int i = 0; i < arguments.size(); i++) {
+	    Argument argument = (Argument) arguments.get(i);
+	    if (argument.getName().equals("block_exp")) {
+		// Try the assigned value first, for when the user has manually set the value
+		String regular_expression = argument.getValue();
+		if (regular_expression == null || regular_expression.equals("")) {
+		    // Not set, so use the default value
+		    regular_expression = argument.getDefaultValue();
+		    if (regular_expression.equals("")) {
+			continue;
+		    }
+		}
+
+		if (doesFileMatchRegularExpression(file, regular_expression)) {
+		    return true;
+		}
+	    }
+	}
+
+	// Try the plugin's default block expression
+	if (!default_block_expression.equals("") && doesFileMatchRegularExpression(file, default_block_expression)) {
+	    return true;
+	}
+
+	// This plugin will (probably) not deal with the specified file
+	return false;
+    }
+
+
+    /** Checks whether this plugin instance will process the specified file (given its process_exp). */
+    public boolean doesProcessFile(File file)
+    {
+	// Check the filename against the plugin's process_exp value
+	ArrayList arguments = getArguments();
+	for (int i = 0; i < arguments.size(); i++) {
+	    Argument argument = (Argument) arguments.get(i);
+	    if (argument.getName().equals("process_exp")) {
+		// Try the assigned value first, for when the user has manually set the value
+		String regular_expression = argument.getValue();
+		if (regular_expression == null || regular_expression.equals("")) {
+		    // Not set, so use the default value
+		    regular_expression = argument.getDefaultValue();
+		    if (regular_expression.equals("")) {
+			continue;
+		    }
+		}
+
+		if (doesFileMatchRegularExpression(file, regular_expression)) {
+		    return true;
+		}
+	    }
+	}
+
+	// Try the plugin's default process expression
+	if (!default_process_expression.equals("") && doesFileMatchRegularExpression(file, default_process_expression)) {
+	    return true;
+	}
+
+	// This plugin will (probably) not deal with the specified file
+	return false;
+    }
+
+
+    private boolean doesFileMatchRegularExpression(File file, String regular_expression)
+    {
+	// The $ at the end doesn't seem to work in Java, so need to add ".*" at the start
+	if (regular_expression.startsWith("(?i)")) {
+	    // Don't mess up case-insensitive matching though
+	    regular_expression = "(?i)" + ".*" + regular_expression.substring("(?i)".length());
+	}
+	else {
+	    regular_expression = ".*" + regular_expression;
+	}
+
+	// If the filename matches the regular expression, this plugin will deal with the file in some way
+	if (file.getName().matches(regular_expression)) {
+	    return true;
+	}
+
+	return false;
+    }
+
+
+    public boolean isSeparator() {
+	return (element != null && element.getAttribute(StaticStrings.SEPARATOR_ATTRIBUTE).equals(StaticStrings.TRUE_STR));
+    }
+
+
+    public void setDefaultBlockExpression(String default_block_expression)
+    {
+	this.default_block_expression = default_block_expression;
+    }
+
+
+    public void setDefaultProcessExpression(String default_process_expression)
+    {
+	this.default_process_expression = default_process_expression;
+    }
+
+
+    public void setDoesExplodeMetadataDatabases(boolean does_explode_metadata_databases)
+    {
+	this.does_explode_metadata_databases = does_explode_metadata_databases;
+    }
+
+    // To work with replace_srcdoc_with_html.pl
+    public void setDoesReplaceSrcDocsWithHtml(boolean does_replace_srcdocs_with_html)
+    {
+	this.does_replace_srcdocs_with_html = does_replace_srcdocs_with_html;
+    }
+
+    public void setHasLoadedOptions(boolean hasLoadedOptions)
+    {
+	this.has_loaded_options = hasLoadedOptions;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/PluginManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/PluginManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/PluginManager.java	(revision 21123)
@@ -0,0 +1,1061 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import java.net.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.plaf.*;
+import javax.swing.plaf.basic.*;
+import org.apache.xerces.parsers.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionContentsChangedListener;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.greenstone.Plugins;
+import org.greenstone.gatherer.gui.DesignPaneHeader;
+import org.greenstone.gatherer.gui.GComboBox;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.gui.ModalDialog;
+import org.greenstone.gatherer.gui.WarningDialog;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.greenstone.gatherer.util.JarTools;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+import org.xml.sax.*;
+
+
+/** This class is for maintaining a list of known plug-ins, and importing new plugins using the parser. */
+public class PluginManager
+    extends DOMProxyListModel
+    implements CollectionContentsChangedListener
+{
+    /** When asking how many rows are in the model, and if this variables value is true, then this modifier alters the number returned. This funtionality is used to hide the last three rows of the list in low detail modes. */
+    private boolean modify_row_count = false;
+    /** The controls for editing the contents of this manager. */
+    private Control controls = null;
+    private DOMProxyListModel model;
+    private JPanel separator;
+    private Plugin separator_plugin;
+
+  /** The number of plugins that are fixed 'below the line' */
+  private static int NUM_FIXED_PLUGINS = 3; 
+    /** Constructor.
+     */
+    public PluginManager() {	super(CollectionDesignManager.collect_config.getDocumentElement(), StaticStrings.PLUGIN_ELEMENT, new Plugin());
+	DebugStream.println("PluginManager: " + super.getSize() + " plugins parsed.");
+	model = this;
+
+	// Force the assigned plugins to be loaded and cached now
+	for (int i = 0; i < getSize(); i++) {
+	    getElementAt(i);
+	}
+	
+	// Create the separator, cause we can reuse it.
+	separator = getSeparator();
+	placeSeparator();
+	// check for MetadataXMLPlug
+	ensureMetadataXMLPlugIsLoaded();
+	// Listen for CollectionContentsChanged events, so we can give plugin hints when new files are added
+	CollectionManager.addCollectionContentsChangedListener(this);
+	
+    }
+
+    private void ensureMetadataXMLPlugIsLoaded() {
+
+	Plugin metaxmlplug = Plugins.getPlugin(StaticStrings.METADATAXMLPLUG_STR, false);
+	if (metaxmlplug!= null) {
+	    if (!contains(metaxmlplug)) {
+		// Create a new element in the DOM
+		Element new_plugin_element = CollectionConfiguration.createElement(StaticStrings.PLUGIN_ELEMENT);
+		new_plugin_element.setAttribute(StaticStrings.TYPE_ATTRIBUTE, metaxmlplug.getName());
+		Plugin new_plugin = new Plugin(new_plugin_element, metaxmlplug);
+		assignPlugin(new_plugin);
+	    }
+	}
+    }
+
+
+    /** Retrieve a list of the plugins that are available to be added to the collection. */
+    private Object[] getAvailablePlugins()
+    {
+	ArrayList available = new ArrayList();
+
+	// Add all the non-abstract core Greenstone plugins, except for ArcPlug and RecPlug
+	ArrayList plugins_list = Plugins.getPluginsList();
+	for (int i = 0; i < plugins_list.size(); i++) {
+	    Plugin plugin = (Plugin) plugins_list.get(i);
+	    if (!plugin.isAbstract()) {
+		String plugin_name = plugin.getName();
+		if (!plugin_name.equals(StaticStrings.ARCPLUG_STR) && !plugin_name.equals(StaticStrings.RECPLUG_STR) && !plugin_name.equals(StaticStrings.METADATAXMLPLUG_STR)) {
+		  available.add(plugin);
+		}
+	    }
+	}
+        
+	// Sort the available plugins into alphabetical order
+	Collections.sort(available);
+
+	return available.toArray();
+    }
+
+
+    public ArrayList getExploderPlugins(File file)
+    {
+	ArrayList exploder_plugins = new ArrayList();
+	ArrayList plugins_list = Plugins.getPluginsList();
+	for (int i = 0; i < plugins_list.size(); i++) {
+	    Plugin plugin = (Plugin) plugins_list.get(i);
+	    if (plugin.doesExplodeMetadataDatabases() == true && plugin.doesProcessFile(file)) {
+		exploder_plugins.add(plugin);
+	    }
+	}
+
+	return exploder_plugins;	
+    }
+    
+    public boolean isFileExplodable(File file)
+    {
+	ArrayList plugins_list = Plugins.getPluginsList();
+	for (int i = 0; i < plugins_list.size(); i++) {
+	    Plugin plugin = (Plugin) plugins_list.get(i);
+	    if (plugin.doesExplodeMetadataDatabases() == true && plugin.doesProcessFile(file) == true) { 
+		return true;
+	    }
+	}
+
+	return false;
+    }
+
+    // Works with replace_srcdoc_with_html.pl
+    public ArrayList getSrcReplacerPlugins(File file)
+    {
+	ArrayList srcreplacer_plugins = new ArrayList();
+	ArrayList plugins_list = Plugins.getPluginsList();
+	for (int i = 0; i < plugins_list.size(); i++) {
+	    Plugin plugin = (Plugin) plugins_list.get(i);
+	    if (plugin.doesReplaceSrcDocsWithHtml() == true && plugin.doesProcessFile(file)) {
+		srcreplacer_plugins.add(plugin);
+	    }
+	}
+
+	return srcreplacer_plugins;	
+    }	
+
+    // Works with replace_srcdoc_with_html.pl
+    public boolean isFileSrcReplaceable(File file)
+    {
+	ArrayList plugins_list = Plugins.getPluginsList();
+	for (int i = 0; i < plugins_list.size(); i++) {
+	    Plugin plugin = (Plugin) plugins_list.get(i);
+	   
+	    if (plugin.doesReplaceSrcDocsWithHtml() == true && plugin.doesProcessFile(file) == true) { 
+		return true;
+	    }
+	}
+
+	return false;
+    }	
+
+    /** Method to assign a plugin
+     * @param plugin the Plugin to assign
+     */
+    private void assignPlugin(Plugin plugin) {
+      if(plugin.getName().equals(StaticStrings.RECPLUG_STR) || plugin.getName().equals(StaticStrings.ARCPLUG_STR) || plugin.getName().equals(StaticStrings.METADATAXMLPLUG_STR)) {
+	    addAfter(plugin, separator_plugin); // Adds after separator
+	} else {
+	    addBefore(plugin, separator_plugin);
+	}
+    }
+
+
+    /** Destructor. */
+    public void destroy()
+    {
+	CollectionManager.removeCollectionContentsChangedListener(this);
+
+	if (controls != null) {
+	    controls.destroy();
+	    controls = null;
+	}
+    }
+
+
+    /** This function listens for new files being added to the collection and hints about suitable plugins. */
+    public void fileAddedToCollection(File file)
+    {
+	// First check the plugins already assigned in the collection
+	for (int i = 0; i < super.getSize(); i++) {
+	    Plugin assigned_plugin = (Plugin) getElementAt(i);
+	    if (assigned_plugin.isSeparator() == false && (assigned_plugin.doesProcessFile(file) == true || assigned_plugin.doesBlockFile(file) == true)) {
+		// This file will be processed by an assigned plugin, so no suggestion is necessary
+		DebugStream.println("Processed by assigned plugin: " + assigned_plugin);
+		return;
+	    }
+	}
+
+	// Next try the plugins NOT already assigned in the collection
+	ArrayList suitable_plugins = new ArrayList();
+	Object[] unassigned_plugins = getAvailablePlugins();
+	for (int i = 0; i < unassigned_plugins.length; i++) {
+	    Plugin unassigned_plugin = (Plugin) unassigned_plugins[i];
+	    if (unassigned_plugin.doesProcessFile(file) == true) {
+		DebugStream.println("Processed by unassigned plugin: " + unassigned_plugin);
+		suitable_plugins.add(unassigned_plugin);
+	    }
+	}
+
+	// If there appear to be no suitable plugins, warn the user about this and be done
+	if (suitable_plugins.size() == 0) {
+	    String[] args = new String[1];
+	    args[0] = file.getName();
+	    WarningDialog warning_dialog = new WarningDialog("warning.NoPluginExpectedToProcessFile", Dictionary.get("NoPluginExpectedToProcessFile.Title"), Dictionary.get("NoPluginExpectedToProcessFile.Message", args), null, false);
+	    warning_dialog.display();
+	    warning_dialog.dispose();
+	    return;
+	}
+
+	// Generate a dialog 
+	new PluginSuggestionPrompt(file.getName(), suitable_plugins);
+    }
+
+
+    /** Method to retrieve the control for this manager.
+     * @return the Control
+     */
+    public Control getControls() {
+	if(controls == null) {
+	    // Build controls
+	    controls = new PluginControl();
+	}
+	return controls;
+    }
+
+
+    /** Overrides getSize in DOMProxyListModel to take into account the row count modifier used to hide the last three rows in lower detail modes
+     * @return an int indicating the number of rows in the model, or more correctly the desired number of rows to display
+     */
+    public int getSize() {
+	int result = super.getSize();
+	if(modify_row_count) {
+	  result = result-(NUM_FIXED_PLUGINS+1);
+	}
+	return result;
+    }
+
+    /** Called when the detail mode has changed which in turn may cause several design elements to be available/hidden
+     * @param mode the new mode as an int
+     */
+    public void modeChanged(int mode) {
+	if(controls != null) {
+	    ((PluginControl)controls).modeChanged(mode);
+	}
+    }    
+
+    /** Method to move a plugin in the list order.
+     * @param plugin the Plugin you want to move.
+     * @param direction true to move the plugin up, false to move it down.
+     * @param all true to move to move all the way, false for a single step.
+     */
+    // why are all the error notices there when the buttons are disabled is you cant move???
+    private void movePlugin(Plugin plugin, boolean direction, boolean all) {
+	// Can't ever move RecPlug or ArcPlug
+      if(super.getSize() < (NUM_FIXED_PLUGINS+2)) {
+	    //DebugStream.println("Not enough plugins to allow moving.");
+	    return;
+	}
+	if(plugin.getName().equals(StaticStrings.ARCPLUG_STR) || plugin.getName().equals(StaticStrings.RECPLUG_STR) || plugin.getName().equals(StaticStrings.METADATAXMLPLUG_STR)) {
+	    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CDM.Move.Fixed"), Dictionary.get("CDM.Move.Title"), JOptionPane.ERROR_MESSAGE);
+	    return;
+	}
+	if(all) {
+	    // Move to top
+	    if(direction) {
+		// Remove the moving plugin
+		remove(plugin);
+		// Retrieve the first plugin
+		Plugin first_plugin = (Plugin) getElementAt(0);
+		// Add the moving plugin before the first plugin
+		addBefore(plugin, first_plugin);
+		first_plugin = null;
+	    }
+	    else {
+		// Remove the moving plugin
+		remove(plugin);
+		// Add the moving plugin before the separator
+		addBefore(plugin, separator_plugin);
+	    }
+	}
+	else {
+	    // Try to move the plugin one step in the desired direction.
+	    int index = indexOf(plugin);
+	    ///ystem.err.println("Index of " + plugin + " = " + index);
+	    if(direction) {
+		index--;
+		if(index < 0) {
+		    String args[] = new String[2];
+		    args[0] = Dictionary.get("CDM.PlugInManager.PlugIn_Str");
+		    args[1] = plugin.getName();
+		    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CDM.Move.At_Top", args), Dictionary.get("CDM.Move.Title"), JOptionPane.ERROR_MESSAGE);
+		    return;
+		}
+		remove(plugin);
+		add(index, plugin);
+	    }
+	    else {
+		index++;
+		Plugin next_plugin = (Plugin) getElementAt(index);
+		if(next_plugin.isSeparator()) {
+		    String args[] = new String[1];
+		    args[0] = plugin.getName();
+		    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CDM.Move.Cannot", args), Dictionary.get("CDM.Move.Title"), JOptionPane.ERROR_MESSAGE);
+		    // Still not going to move RecPlug or ArcPlug.
+		    return;
+		}
+		remove(plugin);
+		add(index, plugin);
+	    }
+	}
+    }
+
+    /** We attempt to place the separator between the unfixed and the fixed plugins. Since we only know of two fixed plugins, we search for either of them, and place the separator before them.
+     */
+    private void placeSeparator() {
+	///ystem.err.println("Placing separator.");
+	int separator_index = super.getSize();
+	if(separator_index > 0) { 
+	    boolean found_fixed = false;
+	    int index = separator_index - 1;
+	    while(index > 0) {
+		Plugin plugin = (Plugin) getElementAt(index);
+		String name = plugin.getName();
+		if(name.equals(StaticStrings.RECPLUG_STR) || name.equals(StaticStrings.ARCPLUG_STR) || name.equals(StaticStrings.METADATAXMLPLUG_STR)) {
+		    found_fixed = true;
+		    index--;
+		}
+		else {
+		    if(found_fixed) {
+			separator_index = index + 1;
+			index = -1;
+		    }
+		    else {
+			index--;
+		    }
+		}
+		name = null;
+		plugin = null;
+	    }
+	}
+	Element element = CollectionConfiguration.createElement(StaticStrings.PLUGIN_ELEMENT);
+	element.setAttribute(StaticStrings.TYPE_ATTRIBUTE, StaticStrings.SEPARATOR_ATTRIBUTE);
+	element.setAttribute(StaticStrings.SEPARATOR_ATTRIBUTE, StaticStrings.TRUE_STR);
+	separator_plugin = new Plugin(element, null);
+	///atherer.println("Adding plugin separator at: " + separator_index);
+	add(separator_index, separator_plugin);
+    }
+
+    /** This method removes an assigned plugin. I was tempted to call it unassign, but remove is more consistant. Note that there is no way to remove a plugin from the library.
+     * @param plugin The <strong>Plugin</strong> to remove.
+     */
+    private void removePlugin(Plugin plugin) {
+	remove(plugin);
+  
+    }
+
+
+    /** Inform the model to hide/show the last four lines on the list.
+     * @param modify_row_count true to hide the last four lines, false otherwise
+     */
+    private void setHideLines(boolean modify_row_count) {
+	this.modify_row_count = modify_row_count;
+	int original_size = super.getSize();
+	if(modify_row_count) {
+	  fireIntervalRemoved(this, original_size - (NUM_FIXED_PLUGINS+2), original_size - 1);
+	}
+	else {
+	  fireIntervalAdded(this, original_size - (NUM_FIXED_PLUGINS+2), original_size - 1);
+	}
+    }
+
+    /** Determine the current separator index. */
+    private int findSeparatorIndex() {
+	int separator_index = super.getSize() - 1;
+	while(separator_index >= 0) {
+	    Plugin search = (Plugin) getElementAt(separator_index);
+	    if(search.isSeparator()) {
+		return separator_index;
+	    }
+	    separator_index--;
+	}
+	return separator_index;
+    }
+
+
+    /** A class which provodes controls for assigned and editing plugins. */
+    private class PluginControl
+	extends JPanel
+	implements Control {
+	/** Button for adding plugins. */
+	private JButton add = null;
+	/** Button for configuring the selected plugin. */
+	private JButton configure = null;
+	/** Button to move an assigned plugin one position lower in the order. */
+	private JButton move_down_button = null;
+	/** Button to move an assigned plugin one position higher in the order. */
+	private JButton move_up_button = null;
+	/** Button to remove the selected plugin. */
+	private JButton remove = null;
+	/** A combobox containing all of the known plugins, including those that may have already been assigned. */
+	private JComboBox plugin_combobox = null;
+	/** The label next to the plugin combobox. */
+	private JLabel plugin_label = null;
+	/** The label above the assigned plugin list. */
+	private JLabel plugin_list_label = null;
+	/** A list of assigned plugins. */
+	private JList plugin_list = null;
+	/** The area where the add, configure and remove buttons are placed. */
+	private JPanel button_pane = null;
+	/** The region which divides the central portion of the view into list and controls */
+	private JPanel central_pane = null;
+	/** The area where movement buttons are placed. */
+	private JPanel movement_pane = null;
+	/** The small region containing the plugin combobox and its label. */
+	private JPanel plugin_pane = null;
+	/** The pane containing the assigned plugin list and its label. */
+	private JPanel plugin_list_pane = null;
+
+	/** Constructor.
+	 */
+	public PluginControl()
+	{
+	    // Create
+	    add = new GLIButton(Dictionary.get("CDM.PlugInManager.Add"), Dictionary.get("CDM.PlugInManager.Add_Tooltip"));
+	    
+	    button_pane = new JPanel();
+	    central_pane = new JPanel();
+            button_pane.setComponentOrientation(Dictionary.getOrientation());
+            central_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+	    configure = new GLIButton(Dictionary.get("CDM.PlugInManager.Configure"), Dictionary.get("CDM.PlugInManager.Configure_Tooltip"));
+	    configure.setEnabled(false);
+	    
+	    JPanel header_pane = new DesignPaneHeader("CDM.GUI.Plugins", "plugins");
+	    move_up_button = new GLIButton(Dictionary.get("CDM.Move.Move_Up"), JarTools.getImage("arrow-up.gif"), Dictionary.get("CDM.Move.Move_Up_Tooltip"));
+	    move_up_button.setEnabled(false);
+	    
+	    move_down_button = new GLIButton(Dictionary.get("CDM.Move.Move_Down"), JarTools.getImage("arrow-down.gif"), Dictionary.get("CDM.Move.Move_Down_Tooltip"));
+	    move_down_button.setEnabled(false);
+	    
+	    movement_pane = new JPanel();
+            movement_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+	    PluginComboboxListener picl = new PluginComboboxListener();
+	    plugin_combobox = new JComboBox(getAvailablePlugins());
+	    plugin_combobox.setOpaque(!Utility.isMac());
+	    plugin_combobox.setEditable(false);
+            plugin_combobox.setComponentOrientation(Dictionary.getOrientation());
+            
+	    picl.itemStateChanged(new ItemEvent(plugin_combobox, 0, null, ItemEvent.SELECTED));
+
+	    plugin_label = new JLabel(Dictionary.get("CDM.PlugInManager.PlugIn"));
+	    plugin_label.setComponentOrientation(Dictionary.getOrientation());
+            
+	    plugin_list = new JList(model);
+	    plugin_list.setOpaque(true);
+	    plugin_list.setCellRenderer(new ListRenderer());
+	    plugin_list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+	    plugin_list.setComponentOrientation(Dictionary.getOrientation());
+            
+            plugin_list_label = new JLabel(Dictionary.get("CDM.PlugInManager.Assigned"));
+	    //plugin_list_label.setHorizontalAlignment(JLabel.CENTER);
+	    plugin_list_label.setOpaque(true);
+	    plugin_list_label.setComponentOrientation(Dictionary.getOrientation());
+            
+	    plugin_list_pane = new JPanel();
+            plugin_list_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+	    plugin_pane = new JPanel();
+	    plugin_pane.setOpaque(true);
+            plugin_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+	    remove = new GLIButton(Dictionary.get("CDM.PlugInManager.Remove"), Dictionary.get("CDM.PlugInManager.Remove_Tooltip"));
+	    remove.setEnabled(false);
+	    
+	    // Listeners
+	    add.addActionListener(new AddListener());
+	    configure.addActionListener(new ConfigureListener());
+	    MoveListener ml = new MoveListener();
+	    move_down_button.addActionListener(ml);
+	    move_down_button.addActionListener(CollectionDesignManager.all_change_listener);
+	    move_up_button.addActionListener(ml);
+	    move_up_button.addActionListener(CollectionDesignManager.all_change_listener);
+	    plugin_combobox.addItemListener(picl);
+	    remove.addActionListener(new RemoveListener());
+	    remove.addActionListener(CollectionDesignManager.all_change_listener);
+	    plugin_list.addMouseListener(new ClickListener());
+	    plugin_list.addListSelectionListener(new ListListener());
+	    picl = null;
+
+	    // Layout
+	    movement_pane.setBorder(BorderFactory.createEmptyBorder(0,2,0,0));
+	    movement_pane.setLayout(new GridLayout(4,1));
+	    movement_pane.add(move_up_button);
+            JPanel tmp = new JPanel();
+            tmp.setComponentOrientation(Dictionary.getOrientation());
+	    movement_pane.add(tmp);
+            tmp = new JPanel();
+            tmp.setComponentOrientation(Dictionary.getOrientation());
+	    movement_pane.add(tmp);
+	    movement_pane.add(move_down_button);
+
+	    plugin_list_pane.setLayout(new BorderLayout());
+	    plugin_list_pane.add(plugin_list_label, BorderLayout.NORTH);
+	    plugin_list_pane.add(new JScrollPane(plugin_list), BorderLayout.CENTER);
+	    plugin_list_pane.add(movement_pane, BorderLayout.LINE_END);
+	    modeChanged(Configuration.getMode()); // Whether the special plugins are hidden or not is mode dependant
+
+	    plugin_label.setBorder(BorderFactory.createEmptyBorder(0,0,5,0));
+
+	    plugin_pane.setBorder(BorderFactory.createEmptyBorder(5,0,5,0));
+	    plugin_pane.setLayout(new BorderLayout(5,0));
+	    plugin_pane.add(plugin_label, BorderLayout.LINE_START);
+	    plugin_pane.add(plugin_combobox, BorderLayout.CENTER);
+
+	    button_pane.setLayout(new GridLayout(1,3));
+	    button_pane.add(add);
+	    button_pane.add(configure);
+	    button_pane.add(remove);
+
+	    // Scope these mad bordering skillz.
+	    JPanel temp = new JPanel(new BorderLayout());
+	    temp.add(plugin_pane, BorderLayout.NORTH);
+	    temp.add(button_pane, BorderLayout.SOUTH);
+            temp.setComponentOrientation(Dictionary.getOrientation());
+            
+	    central_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	    central_pane.setLayout(new BorderLayout());
+	    central_pane.add(plugin_list_pane, BorderLayout.CENTER);
+	    central_pane.add(temp, BorderLayout.SOUTH);
+
+	    setBorder(BorderFactory.createEmptyBorder(0,5,0,0));
+	    setLayout(new BorderLayout());
+	    add(header_pane, BorderLayout.NORTH);
+	    add(central_pane, BorderLayout.CENTER);
+	}
+
+	/** Method which acts like a destructor, tidying up references to persistant objects.
+	 */
+	public void destroy() {
+	}
+
+	/** This method is overridden to ensure the instructions are scrolled to top, before the super classes updateUI() is called.
+	    no longer have instructions, do we still need updateUI???
+	 */
+	public void gainFocus() {
+	    super.updateUI();
+	}
+
+	public void loseFocus() {
+	}
+
+	/** The current detail mode controls two aspects of plugin manager: whether the movement buttons are visible and whether the fixed position plugins Arc and RecPlug are in the list
+	 * @param mode the current mode as an int, which can be matched against static ints in the Configuration class
+	 */
+	public void modeChanged(int mode) {
+	    // First of all we clear the current selection, as there can be some serious problems if the user selects the plugins we're hiding, or had the last plugin selected before we unhid the last three
+	    plugin_list.clearSelection();	 
+	    plugin_combobox.setModel(new DefaultComboBoxModel(getAvailablePlugins()));
+	    setHideLines(!(mode >= Configuration.EXPERT_MODE));
+
+	    plugin_list_pane.updateUI();
+	}
+
+
+	private class AddListener
+	    implements ActionListener
+	{
+	    public void actionPerformed(ActionEvent event)
+	    {
+		if (plugin_combobox.getSelectedItem() != null) {
+		    // This must be done on a new thread for the remote building code
+		    new AddPluginTask(plugin_combobox.getSelectedItem().toString()).start();
+		}
+	    }
+	}
+
+
+	private class AddPluginTask
+	    extends Thread
+	{
+	    private String plugin_name;
+
+	    public AddPluginTask(String plugin_name)
+	    {
+		this.plugin_name = plugin_name;
+	    }
+
+	    public void run()
+	    {
+		// Retrieve the plugin
+		Plugin plugin = Plugins.getPlugin(plugin_name, true);
+		if (plugin == null) {
+		    System.err.println("Error: getPlugin() returned null.");
+		    return;
+		}
+
+		// Create a new element in the DOM
+		Element new_plugin_element = CollectionConfiguration.createElement(StaticStrings.PLUGIN_ELEMENT);
+		new_plugin_element.setAttribute(StaticStrings.TYPE_ATTRIBUTE, plugin.getName());
+		Plugin new_plugin = new Plugin(new_plugin_element, plugin);
+
+		ArgumentConfiguration ac = new ArgumentConfiguration(new_plugin);
+		ac.addOKButtonActionListener(CollectionDesignManager.all_change_listener);
+		if (ac.display()) {
+		    assignPlugin(new_plugin);
+		    plugin_list.setSelectedValue(new_plugin, true);
+		}
+	    }
+	}
+
+
+	/** Listens for double clicks apon the list and react as if the configure button was pushed. */
+	private class ClickListener
+	    extends MouseAdapter {
+	    /** Called whenever the mouse is clicked over a registered component, we use this to chain through to the configure prompt.
+	     * @param event A <strong>MouseEvent</strong> containing information about the mouse click.
+	    */
+	    public void mouseClicked(MouseEvent event) {
+		if(event.getClickCount() == 2 ) {
+		    if(!plugin_list.isSelectionEmpty()) {
+			Plugin plugin = (Plugin) plugin_list.getSelectedValue();
+			if(!plugin.isSeparator()) {
+			    ArgumentConfiguration ac = new ArgumentConfiguration(plugin);
+			    ac.addOKButtonActionListener(CollectionDesignManager.all_change_listener);
+			    if (ac.display()) {
+				refresh(plugin);
+			    }
+			    ac.destroy();
+			    ac = null;
+			}
+		    }
+		}
+	    }
+	}
+
+	/** This class listens for actions upon the configure button in the controls, and if detected creates a new <strong>ArgumentConfiguration</strong> dialog box to allow for configuration.
+	 * @see org.greenstone.gatherer.cdm.ArgumentConfiguration
+	 */
+	private class ConfigureListener
+	    implements ActionListener {
+	    /** Any implementation of <i>ActionListener</i> must include this method so that we can be informed when an action has occured on one of our target controls.
+	     * @param event An <strong>ActionEvent</strong> containing information garnered from the control action.
+	     */
+	    public void actionPerformed(ActionEvent event) {
+		if(!plugin_list.isSelectionEmpty()) {
+		    Plugin plugin = (Plugin) plugin_list.getSelectedValue();
+		    if(!plugin.isSeparator()) {
+			ArgumentConfiguration ac = new ArgumentConfiguration(plugin);
+			ac.addOKButtonActionListener(CollectionDesignManager.all_change_listener);
+			if (ac.display()) {
+			    refresh(plugin);
+			}
+			ac.destroy();
+			ac = null;
+		    }
+		}
+	    }
+	}
+
+  /** listens for changes in the list selection and enables the configure and remove buttons if there is a selection, disables them if there is no selection */
+  private class ListListener
+    implements ListSelectionListener {
+    
+    public void valueChanged(ListSelectionEvent e) {
+      if (!e.getValueIsAdjusting()) { // we get two events for one change in list selection - use the false one (the second one)
+        if (plugin_list.isSelectionEmpty()) {
+          move_up_button.setEnabled(false);
+          move_down_button.setEnabled(false);
+          configure.setEnabled(false);
+          remove.setEnabled(false);
+        } else {
+          Plugin selected_plugin = (Plugin) plugin_list.getSelectedValue();
+          if(selected_plugin.isSeparator()) {
+            move_up_button.setEnabled(false);
+            move_down_button.setEnabled(false);
+            configure.setEnabled(false);
+            remove.setEnabled(false);
+          } else {
+            configure.setEnabled(true);
+            String plugin_name = selected_plugin.getName();
+            // Some buttons are only available for plugins other than ArcPlug and RecPlug
+            if(plugin_name.equals(StaticStrings.ARCPLUG_STR) || plugin_name.equals(StaticStrings.RECPLUG_STR) || plugin_name.equals(StaticStrings.METADATAXMLPLUG_STR)) {
+              move_up_button.setEnabled(false);
+              move_down_button.setEnabled(false);
+              remove.setEnabled(false);
+            } 
+            
+            else {
+              // don't let people remove special plugins such GreenstoneXMLPlug and GreenstoneMETSPlug,
+              // unless they are in expert mode or above
+              int mode = Configuration.getMode();
+              for (int i=0; i<StaticStrings.KEEP_PLUG.length; i++) {
+                if ((plugin_name.equals(StaticStrings.KEEP_PLUG[i])) &&
+                  (mode < Configuration.EXPERT_MODE)) {
+                  remove.setEnabled(false);
+                  break;
+                } else {
+                  remove.setEnabled(true);
+                }
+              }
+              
+              // Move ups are only enabled if the selected plugin isn't already at the top
+              Plugin first_plugin = (Plugin) getElementAt(0);
+              if(!first_plugin.equals(selected_plugin)) {
+                move_up_button.setEnabled(true);
+              } else {
+                move_up_button.setEnabled(false);
+              }
+              // And move downs are only allowed when the selected plugin isn't at an index one less than the separator line.
+              int separator_index = findSeparatorIndex();
+              int selected_index = plugin_list.getSelectedIndex();
+              if(selected_index < separator_index - 1) {
+                move_down_button.setEnabled(true);
+              } else {
+                move_down_button.setEnabled(false);
+              }
+            }
+            selected_plugin = null;
+            plugin_name = null;
+          }
+        }
+      }
+    }
+  }
+
+	/** A special list renderer which is able to render separating lines as well. */
+	private class ListRenderer
+	    extends DefaultListCellRenderer {
+	    /** Return a component that has been configured to display the specified value. That component's paint method is then called to "render" the cell. If it is necessary to compute the dimensions of a list because the list cells do not have a fixed size, this method is called to generate a component on which getPreferredSize  can be invoked.
+	     * @param list - The <strong>JList</strong> we're painting.
+	     * @param value - The value returned by list.getModel().getElementAt(index) as an <strong>Object</strong>.
+	     * @param index - The cells index as an <i>int</i>.
+	     * @param isSelected - <i>true</i> if the specified cell was selected.
+	     * @param cellHasFocus - <i>true</i> if the specified cell has the focus.
+	     * @return A <strong>Component</strong> whose paint() method will render the specified value.
+	     * @see javax.swing.JList
+	     * @see javax.swing.JSeparator
+	     * @see javax.swing.ListModel
+	     * @see javax.swing.ListSelectionModel
+	     */
+	    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
+		Plugin plugin = (Plugin) value;
+		if(plugin.isSeparator()) {
+		    return separator;
+		}
+		else {
+		    return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
+		}
+	    }
+	}
+
+
+	/** Listens for actions apon the move buttons in the manager controls, and if detected calls the <i>movePlugin()</i> method of the manager with the appropriate details. */
+	private class MoveListener
+	    implements ActionListener {
+	    /** Any implementation of <i>ActionListener</i> must include this method so that we can be informed when an action has occured on one of our target controls.
+	     * @param event An <strong>ActionEvent</strong> containing information garnered from the control action.
+	     */
+	    public void actionPerformed(ActionEvent event) {
+		if (!plugin_list.isSelectionEmpty()) {
+		    Object object = plugin_list.getSelectedValue();
+		    if (object instanceof Plugin) {
+			Plugin plugin = (Plugin) object;
+			if (event.getSource() == move_up_button) {
+			    movePlugin(plugin, true, false);
+			}
+			else if (event.getSource() == move_down_button) {
+			    movePlugin(plugin, false, false);
+			}
+			plugin_list.setSelectedValue(plugin, true);
+		    }
+		}
+	    }
+	}
+
+	/** This listener reacts to changes in the current selection of the plugin combobox. */
+	private class PluginComboboxListener
+        implements ItemListener {
+        /** When a user selects a certain plugin, update the tooltip to show the plugin description. */
+        public void itemStateChanged(ItemEvent event) {
+            if(event.getStateChange() == ItemEvent.SELECTED) {
+                // Retrieve the selected plugin
+                Object current_selection = plugin_combobox.getSelectedItem();
+                // And reset the tooltip. If the plugin is null or is a string, then go back to the default message
+                if(current_selection == null || current_selection instanceof String) {
+		    plugin_combobox.setToolTipText(Dictionary.get("CDM.PlugInManager.PlugIn_Tooltip"));
+                }
+                else {
+                    Plugin current_plugin = (Plugin) current_selection;
+		    plugin_combobox.setToolTipText(Utility.formatHTMLWidth(current_plugin.getDescription(), 40));
+                    current_plugin = null;
+                }
+                current_selection = null;
+            }
+        }
+    }
+	
+  /** This class listens for actions upon the remove button in the controls, and if detected calls the <i>removePlugin()</i> method.
+   */
+  private class RemoveListener
+    implements ActionListener {
+    /** Any implementation of <i>ActionListener</i> must include this method so that we can be informed when an action has occured on one of our target controls.
+     * @param event An <strong>ActionEvent</strong> containing information garnered from the control action.
+     */
+    public void actionPerformed(ActionEvent event) {
+      int selected_index = plugin_list.getSelectedIndex();
+      if(selected_index != -1) {
+        Plugin selected_plugin = (Plugin) plugin_list.getSelectedValue();
+        removePlugin(selected_plugin);
+        selected_plugin = null;
+        // Refresh the available plugins
+        plugin_combobox.setModel(new DefaultComboBoxModel(getAvailablePlugins()));
+
+        // Select the next plugin if available
+        if(selected_index < plugin_list.getModel().getSize()) {
+          // If the new selection is above the separator we can remove it
+          if(selected_index < findSeparatorIndex()) {
+            plugin_list.setSelectedIndex(selected_index);
+            
+            // don't let people remove special plugins such GAPlug an METSPlug,
+            // unless they are in expert mode or above
+            int mode = Configuration.getMode();
+            for (int i=0; i<StaticStrings.KEEP_PLUG.length; i++) {
+              String selected_plugin_name
+                = ((Plugin)plugin_list.getSelectedValue()).getName();
+              
+              if (selected_plugin_name.equals(StaticStrings.METADATAXMLPLUG_STR)) {
+                //this plug cannot be removed under any conditions.
+                remove.setEnabled(false);
+              }else if ((selected_plugin_name.equals(StaticStrings.KEEP_PLUG[i])) &&
+                (mode < Configuration.EXPERT_MODE)) {
+                remove.setEnabled(false);
+                break;
+              } else {
+                remove.setEnabled(true);
+              }
+            }
+          }
+          // Otherwise select the first non-removable plugin
+          else {
+            plugin_list.setSelectedIndex(selected_index + 1);
+            remove.setEnabled(false);
+          }
+        } else {
+          remove.setEnabled(false);
+        }
+      } else {
+        remove.setEnabled(false);
+      }
+    }
+  }
+    }
+    
+
+    private class PluginSuggestionPrompt
+	extends ModalDialog
+	implements ActionListener
+    {
+	private Dimension size = new Dimension(480, 240);
+	private GComboBox suitable_plugins_combobox = null;
+	private GLIButton add_button = null;
+	private GLIButton ignore_button = null;
+
+	public PluginSuggestionPrompt(String filename, ArrayList suitable_plugins)
+	{
+	    super(Gatherer.g_man, true);
+	    setModal(true);
+	    setSize(size);
+	    setTitle(Dictionary.get("CDM.PluginManager.SuggestedPluginListTitle"));
+            this.setComponentOrientation(Dictionary.getOrientation());
+            
+	    String[] args = new String[1];
+	    args[0] = filename;
+
+	    JTextArea instructions_textarea = new JTextArea(Dictionary.get("CDM.PluginManager.Plugin_Suggestion_Prompt", args));
+	    instructions_textarea.setCaretPosition(0);
+	    instructions_textarea.setEditable(false);
+	    instructions_textarea.setLineWrap(true);
+	    instructions_textarea.setRows(5);
+	    instructions_textarea.setWrapStyleWord(true);
+            instructions_textarea.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JLabel suitable_plugins_label = new JLabel(Dictionary.get("CDM.PlugInManager.PlugIn"));
+	    suitable_plugins_label.setBorder(BorderFactory.createEmptyBorder(0,0,5,0));
+            suitable_plugins_label.setComponentOrientation(Dictionary.getOrientation());
+            
+	    suitable_plugins_combobox = new GComboBox(suitable_plugins);
+	    suitable_plugins_combobox.setBackgroundNonSelectionColor(Configuration.getColor("coloring.editable_background", false));
+	    suitable_plugins_combobox.setBackgroundSelectionColor(Configuration.getColor("coloring.collection_selection_background", false));
+	    suitable_plugins_combobox.setTextNonSelectionColor(Configuration.getColor("coloring.workspace_tree_foreground", false));
+	    suitable_plugins_combobox.setTextSelectionColor(Configuration.getColor("coloring.collection_selection_foreground", false));
+            suitable_plugins_combobox.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel suitable_plugins_pane = new JPanel();
+            suitable_plugins_pane.setComponentOrientation(Dictionary.getOrientation());
+	    //suitable_plugins_pane.setBorder(BorderFactory.createEmptyBorder(5,0,5,0));
+	    suitable_plugins_pane.setLayout(new BorderLayout(5,0));
+	    suitable_plugins_pane.add(suitable_plugins_label, BorderLayout.LINE_START);
+	    suitable_plugins_pane.add(suitable_plugins_combobox, BorderLayout.CENTER);
+
+	    add_button = new GLIButton(Dictionary.get("CDM.PlugInManager.QuickAdd"), Dictionary.get("CDM.PlugInManager.Add_Tooltip"));
+	    ignore_button = new GLIButton(Dictionary.get("CDM.PlugInManager.Ignore"), Dictionary.get("CDM.PlugInManager.Ignore_Tooltip"));
+	    
+	    add_button.addActionListener(this);
+	    ignore_button.addActionListener(this);
+
+	    JPanel button_pane = new JPanel();
+	    button_pane.setLayout(new GridLayout(1,2,5,0));
+	    button_pane.add(add_button);
+	    button_pane.add(ignore_button);
+            button_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel controls_pane = new JPanel();
+	    controls_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	    controls_pane.setLayout(new GridLayout(2,1,0,5));
+	    controls_pane.add(suitable_plugins_pane);
+	    controls_pane.add(button_pane);
+            controls_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel content_pane = (JPanel) getContentPane();
+            content_pane.setComponentOrientation(Dictionary.getOrientation());
+	    content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	    content_pane.setLayout(new BorderLayout());
+	    content_pane.add(instructions_textarea, BorderLayout.CENTER);
+	    content_pane.add(controls_pane, BorderLayout.SOUTH);
+
+	    // Show
+	    Dimension screen_size = Configuration.screen_size;
+	    setLocation((screen_size.width - size.width) / 2, (screen_size.height - size.height) / 2);
+	    setVisible(true);
+	}
+
+
+	public void actionPerformed(ActionEvent event)
+	{
+	    // Close the dialog
+	    setVisible(false);
+
+	    if (event.getSource() == add_button) {
+		AddPluginWithoutConfigurationTask add_plugin_task = new AddPluginWithoutConfigurationTask(suitable_plugins_combobox.getSelectedItem().toString());
+		add_plugin_task.start();
+
+		// We have to wait for this task to complete before continuing, otherwise
+		// we might offer to add the same plugin again before the task has completed
+		try {
+		    add_plugin_task.join();
+		}
+		catch (Exception exception) {
+		    DebugStream.printStackTrace(exception);
+		}
+	    }
+	}
+
+
+	private class AddPluginWithoutConfigurationTask
+	    extends Thread
+	{
+	    private String plugin_name;
+
+	    public AddPluginWithoutConfigurationTask(String plugin_name)
+	    {
+		this.plugin_name = plugin_name;
+	    }
+
+	    public void run()
+	    {
+		// Retrieve the plugin
+		Plugin plugin = Plugins.getPlugin(plugin_name, true);
+		if (plugin == null) {
+		    System.err.println("Error: getPlugin() returned null.");
+		    return;
+		}
+
+		// Create a new element in the DOM
+		Element new_plugin_element = CollectionConfiguration.createElement(StaticStrings.PLUGIN_ELEMENT);
+		new_plugin_element.setAttribute(StaticStrings.TYPE_ATTRIBUTE, plugin.getName());
+		Plugin new_plugin = new Plugin(new_plugin_element, plugin);
+
+		// Just assign the plugin with no argument configuration
+		assignPlugin(new_plugin);
+		Gatherer.c_man.getCollection().cdm.save();
+	    }
+	}
+    }
+
+
+    /** Creates a list separator.
+     * Found on Google Groups. Code courtesy of Paul Farwell.
+     */
+    private JPanel getSeparator() {
+	// We put the separator inside a panel to control its appearance
+	JPanel _sepPanel = new JPanel();
+	_sepPanel.setOpaque(false);
+	_sepPanel.setBorder(BorderFactory.createEmptyBorder(1, 3, 1, 3));
+	_sepPanel.setLayout(new BoxLayout(_sepPanel, BoxLayout.Y_AXIS));
+	_sepPanel.add(Box.createRigidArea(new Dimension(0, 4)));
+	// We have to be a little careful here, as the default UI for separators under MacOS is a blank box. Instead we force a BasicUI look
+	_sepPanel.add(new BasicSeparator());
+	_sepPanel.add(Box.createRigidArea(new Dimension(0, 4)));
+	return _sepPanel;
+    }
+
+    /** This class behaves just like a normal JSeparator except that, no matter what the current settings in the UIManager are, it always paints itself with BasicSeparatorUI. */
+    private static class BasicSeparator
+	extends JSeparator {
+
+	private ComponentUI basic_ui;
+
+	public BasicSeparator() {
+	    super();
+	    basic_ui = new BasicSeparatorUI();
+	}
+
+	public void paintComponent(Graphics g) {
+	    if (basic_ui != null) {
+		basic_ui.update(g, this);
+	    }   
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SearchMetadataManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SearchMetadataManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SearchMetadataManager.java	(revision 21123)
@@ -0,0 +1,368 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.table.*;
+import java.util.ArrayList;
+
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.gui.DesignPaneHeader;
+import org.greenstone.gatherer.util.StaticStrings;
+
+
+public class SearchMetadataManager
+{
+    private Control controls;
+
+    public static final String TYPE_INDEX = "index";
+    public static final String TYPE_LEVEL = "level";
+    public static final String TYPE_PARTITION = "partition";
+    public static final String TYPE_LANGUAGE = "language";
+
+  // the following are special and should not be translated
+  public static final String METADATA_INDEX = "ex.metadata";
+
+    CollectionMetaManager collmeta_manager = CollectionDesignManager.collectionmeta_manager;
+
+    public SearchMetadataManager() {
+    }
+
+    /** Destructor. */
+    public void destroy() {
+	if (controls != null) {
+	    controls.destroy();
+	    controls = null;
+	}
+    }
+
+    public void loseFocus() {
+    }
+
+    public void gainFocus() {
+    }
+    
+    public Control getControls() {
+	if (controls == null) {
+	    controls = new DisplayControl();
+	}
+	return controls;
+    }
+    
+
+    /** Called when the detail mode has changed which in turn may cause several design elements to be available/hidden
+     * @param mode the new mode as an int
+     */
+    public void modeChanged(int mode) {
+    }
+
+    private class DisplayControl
+	extends JPanel
+	implements Control {
+
+	private SearchMetadataTable metadata_table = null;
+	
+	public DisplayControl() {
+	    super();
+            this.setComponentOrientation(Dictionary.getOrientation());
+	    JPanel header_panel = new DesignPaneHeader("CDM.GUI.SearchMetadata", "searchmetadatasettings");
+
+	    metadata_table = new SearchMetadataTable();
+
+	    JScrollPane scroll_panel = new JScrollPane(metadata_table);
+	    scroll_panel.getViewport().setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	    scroll_panel.setOpaque(true);
+
+	    JPanel metadata_table_pane = new JPanel();
+            metadata_table_pane.setComponentOrientation(Dictionary.getOrientation());
+	    metadata_table_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	    metadata_table_pane.setLayout(new BorderLayout());
+	    metadata_table_pane.add(scroll_panel, BorderLayout.CENTER);
+
+	    setBorder(BorderFactory.createEmptyBorder(0,5,0,0));
+	    setLayout(new BorderLayout());
+	    add(header_panel, BorderLayout.NORTH);
+	    add(metadata_table_pane, BorderLayout.CENTER);
+	}
+
+	public void loseFocus(){
+	    // save the last metadata in case its still editing
+	    metadata_table.stopEditing();
+	}
+	
+	
+	public void gainFocus(){
+	    // refresh the model as we may have changed indexes in the meantime
+	    metadata_table.refreshModel();
+	}
+
+	public void destroy() {}
+    }
+    
+    private ArrayList getEntries() {
+	ArrayList entries = new ArrayList();
+	
+	ArrayList indexes = CollectionDesignManager.index_manager.getIndexes();
+	if (indexes != null) {
+	    int indexes_size = indexes.size();
+	    for (int i=0; i<indexes_size; i++) {
+	      String index_id = ((Index)indexes.get(i)).getID();
+	      if (!index_id.equals(METADATA_INDEX)) {
+		SearchMetadataEntry sme = new SearchMetadataEntry(index_id, TYPE_INDEX);
+		entries.add(sme);
+	      }
+	    }
+	}
+	ArrayList levels = CollectionDesignManager.index_manager.getLevels();
+	if (levels != null) {
+	    int levels_size = levels.size();
+	    for (int i=0; i<levels_size; i++) {
+		SearchMetadataEntry sme = new SearchMetadataEntry(((IndexOption)levels.get(i)).getName(), TYPE_LEVEL);
+		entries.add(sme);
+	    }
+	}
+	
+	ArrayList partitions = CollectionDesignManager.subcollectionindex_manager.getSubcollectionIndexes();
+	if (partitions != null) {
+	    int partitions_size = partitions.size();
+	    for(int i=0; i<partitions_size; i++) {
+		SearchMetadataEntry sme = new SearchMetadataEntry(((SubcollectionIndex)partitions.get(i)).getID(), TYPE_PARTITION);
+		entries.add(sme);
+	    }
+	}
+	
+	ArrayList languages = CollectionDesignManager.language_manager.getLanguages();
+	if (languages != null) {
+	    int languages_size = languages.size();
+	    for (int i=0; i<languages_size; i++) {
+		SearchMetadataEntry sme = new SearchMetadataEntry(((Language)languages.get(i)).getCode(), TYPE_LANGUAGE);
+		entries.add(sme);
+	    }
+	}
+	return entries;
+    }
+    
+    
+    private class SearchMetadataEntry {
+		
+	String id;
+	String type;
+	CollectionMeta coll_meta = null;
+	String value;
+
+	public SearchMetadataEntry(String id, String type) {
+	    this.id = id;
+	    this.type = type;
+	    coll_meta = collmeta_manager.getMetadatum(getMetaID());
+	    value = coll_meta.getValue(CollectionMeta.GREENSTONE);
+	}
+	
+	public String toString() {
+	    return Dictionary.get("CDM.SearchMetadataManager.Type_"+type)+": "+id;
+	}
+	
+	public String getMetaID() {
+	  if (Gatherer.GS3) {
+	    // we don't use any dots in gs3
+	    return id;
+	  }
+	  return StaticStrings.STOP_CHARACTER+id;
+	  
+	}
+	public String getValue() {
+	    return value;
+	}
+	public void setValue(String val) {
+	    coll_meta.setValue(val);
+	    value = val;
+	}
+    }
+
+    private class SearchMetadataTable
+	extends JTable {
+
+	private SearchMetadataTableModel model = null;
+	
+	public SearchMetadataTable() {
+	    // create the model
+	  this.setComponentOrientation(Dictionary.getOrientation());
+	  
+	    model = new SearchMetadataTableModel();
+	    setModel(model);
+
+	    setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+
+	    // set our own cell renderer
+	    TableColumnModel column_model = getColumnModel();
+	    TableColumn name_column = column_model.getColumn(0);
+	    TableColumn value_column = column_model.getColumn(1);
+
+	    SearchMetadataTableCellRenderer cell_renderer = new SearchMetadataTableCellRenderer();
+	    name_column.setCellRenderer(cell_renderer);
+	    value_column.setCellRenderer(cell_renderer);
+	}
+	
+	public void refreshModel() {
+	    model.refresh();
+	}
+
+	public void stopEditing() {
+	    // Save the current value in the text field, then remove the editor so it doesn't get saved again
+	    TableCellEditor table_cell_editor = getCellEditor();
+	    if (table_cell_editor != null) {
+		table_cell_editor.stopCellEditing();
+	    }
+	}
+    }
+    
+    private class SearchMetadataTableModel
+	extends AbstractTableModel {
+	
+	// the list of items in the table
+	private ArrayList search_metadata_entries = null;
+	
+	final private String[] COLUMN_NAMES = {Dictionary.get("CDM.SearchMetadataManager.Component"), Dictionary.get("CDM.SearchMetadataManager.Component_Name")};
+	
+	public SearchMetadataTableModel() {
+	    refresh(); 
+	}
+	
+	/** Returns the number of columns in this table. */
+	public int getColumnCount() {
+	    
+	    return COLUMN_NAMES.length;
+	}
+	
+	/** Retrieves the name of the specified column. */
+	public String getColumnName(int col) {
+	    
+	    return COLUMN_NAMES[col];
+	}
+	
+	/** Returns the number of rows in this table. */
+	public int getRowCount() {
+	    
+	    return search_metadata_entries.size();
+	}
+	
+	/** Returns the cell value at a given row and column as an Object. */
+	public Object getValueAt(int row, int col) {
+	    // Check values are reasonable
+	    if (row < 0 || row >= search_metadata_entries.size() || col < 0 || col >= COLUMN_NAMES.length) {
+		return null;
+	    }
+	    
+	    SearchMetadataEntry sme = (SearchMetadataEntry) search_metadata_entries.get(row);
+	    if (col == 0) {
+		return sme.toString();
+	    }
+	    if (col == 1) {
+		return sme.getValue();
+	    }
+	    return null;
+	}
+	
+	public boolean isCellEditable(int row, int col) {
+	    if (col == 1) {
+		return true;
+	    }
+	    return false;
+	}
+
+	public void refresh() {
+	    search_metadata_entries = getEntries();
+	    
+	}
+	
+	public void setValueAt(Object new_value, int row, int col) {
+	    SearchMetadataEntry sme = (SearchMetadataEntry) search_metadata_entries.get(row);
+	    String old_value = sme.getValue();
+	    if (!new_value.equals(old_value)) {
+		sme.setValue((String)new_value);
+		
+	    }
+
+	}
+
+    }
+    private static class SearchMetadataTableCellRenderer
+	extends DefaultTableCellRenderer {
+
+	public void setValue(Object value) {
+	    
+	    setText((String)value);
+	}
+	/** Returns the default table cell renderer.
+	 * @param table The <strong>JTable</strong>.
+	 * @param value The value to assign to the cell at [row, column] as an <strong>Object</strong>.
+	 * @param isSelected <i>true</i> if cell is selected.
+	 * @param hasFocus <i>true</i> if cell has focus.
+	 * @param row The row of the cell to render as an <i>int</i>.
+	 * @param column The column of the cell to render as an <i>int</i>.
+	 * @return The default table cell renderer <strong>Component</strong>.
+	 */
+	public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
+	    JComponent component = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
+
+	    // real_column is the column in the model, column is the column in the table - may be different if the user has moved the columns around
+	    int real_column =  table.convertColumnIndexToModel(column);
+	    if (real_column == 1 && isSelected) {
+		table.editCellAt(row, column);
+		if (table.isEditing()) {
+		    table.getEditorComponent().requestFocus();
+		}
+	    }
+	    
+	    // so we can see the background colour
+	    component.setOpaque(true);
+
+	    // Background
+	    if (isSelected) {
+		component.setBackground(Configuration.getColor("coloring.workspace_heading_background", true));
+	    }
+	    else {
+		if (real_column == 0) {
+		    component.setBackground(Configuration.getColor("coloring.collection_heading_background", true));
+		}
+		else {
+		    component.setBackground(Configuration.getColor("coloring.collection_tree_background", true));
+		}
+	    }
+	    
+	    // The value column of cells never paints focus
+	    if (real_column == 1) {
+		component.setBorder(BorderFactory.createEmptyBorder(0,2,0,0));
+	    }
+	 
+	    return component;
+	}
+
+    }
+    
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SharedByTwoFormatManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SharedByTwoFormatManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SharedByTwoFormatManager.java	(revision 21123)
@@ -0,0 +1,37 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+public interface SharedByTwoFormatManager {
+    public void destroy ();
+    public Control getControls ();
+    public void refresh ();
+    //public void modeChanged(int);
+    //public DOMProxyListEntry getCurrentFormat ();
+}
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Subcollection.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Subcollection.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/Subcollection.java	(revision 21123)
@@ -0,0 +1,270 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+
+/** This class encapsulates one subcollection entry in the collection configuration file.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.4
+ */
+public class Subcollection
+    implements Comparable, DOMProxyListEntry {
+    /** A <i>boolean</i> which is <i>true</i> if the condition is an include one, <i>false</i> otherwise. */
+    private boolean include = true;
+    /** The DOM Element this Subcollection is based upon. */
+    private Element element = null;
+    /** A String containing a Perl expression which is used as the pattern by which to filter this subcollection. */
+    private String pattern = null;
+    /** A series of flags to be used when matching the expression. */
+    private String flags = null;
+    /** A String which is a unique identifier of a subcollection. */
+    private String name = null;
+    /** Either the fully qualified name of the metadata whose value should be matched against the given expression, or <i>null</i> if you wish to match against the file name. */
+    private String source = null;
+    private String text = null;
+
+    /** Default constructor which should only be used during DOMProxyListModel initialization. */
+    public Subcollection() {
+    }
+
+    /** Constructor for representing an existing assigned Subcollection.
+     * @param element the Element this subcollection is based upon
+     */
+    public Subcollection(Element element) {
+	this.element = element;
+    }
+
+    /** Constructor for assigning a brand new Subcollection.
+     * @param name a unique identifier for this collection as a String
+     * @param include true if this the pattern should be an inclusion filter, false for exclusion
+     * @param source either the fully qualified name of an element as a String, or null to filter filenames
+     * @param pattern the matching pattern as a String
+     * @param flags any flags to use while matching, as a String
+     */
+    public Subcollection(String name, boolean include, String source, String pattern, String flags) {
+	// Cache the details
+	this.flags = flags;
+	this.include = include;
+	this.name = name;
+	this.pattern = pattern;
+	if(source != null) {
+	    this.source = source;
+	}
+	else {
+	    this.source = StaticStrings.FILENAME_STR;
+	}
+	// Create a new DOM Element with the appropriate attributes and text value
+	element = CollectionConfiguration.createElement(StaticStrings.SUBCOLLECTION_ELEMENT);
+	element.setAttribute(StaticStrings.CONTENT_ATTRIBUTE, source);
+	element.setAttribute(StaticStrings.NAME_ATTRIBUTE, name);
+	element.setAttribute(StaticStrings.OPTIONS_ATTRIBUTE, flags);
+	element.setAttribute(StaticStrings.TYPE_ATTRIBUTE, (include ? StaticStrings.INCLUDE_STR : StaticStrings.EXCLUDE_STR));
+	XMLTools.setValue(element, pattern);
+    }
+
+    /** Method to compare two subcollections.
+     * @param object he other subcollection to compare to, as an Object
+     * @return an int which is &gt;0, 0, or &lt;0 if this subcollection is before, equal to, or after the target object respectively.
+     */
+    public int compareTo(Object object)
+    {
+	if (object == null) {
+	    return -1;
+	}
+
+	// Object may be a String
+	if (object instanceof String) {
+	    return getName().compareTo((String) object);
+	}
+
+	// Otherwise assume it is a Subcollection object
+	return getName().compareTo(((Subcollection) object).getName());
+    }
+
+
+    public DOMProxyListEntry create(Element element) {
+	return new Subcollection(element);
+    }
+
+    /** Method to check two subcollections for equality.
+     * @param object the other subcollection to compare to, as an Object
+     * @return true if the subcollections are equal, false otherwise.
+     */
+    public boolean equals(Object object) {
+	return (compareTo(object) == 0);
+    }
+
+    /** Retrieve the DOM Element this Subcollection is based upon.
+     * @return an Element
+     */
+    public Element getElement() {
+	return element;
+    }
+
+    /** Method to get the value of flags.
+     * @return the value of flags as a String
+     */
+    public String getFlags() {
+	if(flags == null && element != null) {
+	    flags = element.getAttribute(StaticStrings.OPTIONS_ATTRIBUTE);
+	}
+	return flags;
+    }
+
+    /** Method to get the value of name.
+     * @return String The value of name as a <strong>String</string>.
+     */
+    public String getName() {
+	if(name == null && element != null) {
+	    name = element.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+	}
+	return name;
+    }
+
+    public String getPattern() {
+	if(pattern == null && element != null) {
+	    pattern = XMLTools.getValue(element);
+	}
+	return pattern;
+    }
+
+    /** Method to get the name of the source of the strings used in pattern matching.
+     * @return a String which is either the fully qualified name of a metadata element, or filename
+     */
+    public String getSource()
+    {
+	if (source == null && element != null) {
+	    source = element.getAttribute(StaticStrings.CONTENT_ATTRIBUTE);
+	}
+
+	return source;
+    }
+
+    public boolean isAssigned() {
+	return (element != null && !element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.FALSE_STR));
+    }
+
+    /** Method to get the value of include.
+     * @return boolean true if this is an inclusion filter, false otherwise
+     */
+    public boolean isInclusive() {
+	if (element != null) {
+	    include = element.getAttribute(StaticStrings.TYPE_ATTRIBUTE).equals(StaticStrings.INCLUDE_STR);
+	}
+
+	return include;
+    }
+
+    public void setAssigned(boolean assigned) {
+	if(element != null) {
+	    element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, (assigned ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR));
+	}
+    }
+
+    public void setElement(Element element) {
+	this.element = element;
+	include = true;
+	flags = null;
+	name = null;
+	pattern = null;
+	source = null;
+	text = null;
+    }
+
+    public void setFlags(String new_flags) {
+	if(element != null) {
+	    // Change element
+	    element.setAttribute(StaticStrings.OPTIONS_ATTRIBUTE, new_flags);
+	    flags = new_flags;
+	    text = null;
+	}
+    }
+
+    public void setInclusive(boolean new_include) {
+	if(element != null) {
+	    // Change element
+	    include = new_include;
+	    element.setAttribute(StaticStrings.TYPE_ATTRIBUTE, (include ? StaticStrings.INCLUDE_STR : StaticStrings.EXCLUDE_STR));
+	    text = null;
+	}
+    }
+
+    public void setName(String new_name) {
+	if(element != null) {
+	    // Change element
+	    element.setAttribute(StaticStrings.NAME_ATTRIBUTE, new_name);
+	    name = new_name;
+	    text = null;
+	}
+    }
+
+    public void setPattern(String new_pattern) {
+	if(element != null) {
+	    // Change element
+	    XMLTools.setValue(element, new_pattern);
+	    pattern = new_pattern;
+	    text = null;
+	}
+    }
+
+    public void setSource(String new_source) {
+	if(element != null) {
+	    // Change element
+	    element.setAttribute(StaticStrings.CONTENT_ATTRIBUTE, new_source);
+	    source = new_source;
+	    text = null;
+	}
+    }
+
+    /** Method to display the contents of this class as it would appear in the collection configuration file.
+     * @return a String representing this subcollection
+     */
+    public String toString() {
+	if(text == null) {// && element != null) {
+
+	    StringBuffer new_text = new StringBuffer(getName());
+	    new_text.append(StaticStrings.SPACE_CHARACTER);
+	    new_text.append(StaticStrings.SPEECH_CHARACTER);
+	    if (!isInclusive()) {
+		new_text.append(StaticStrings.EXCLAMATION_CHARACTER);
+	    }
+	    new_text.append(getSource());
+	    new_text.append(StaticStrings.SEPARATOR_CHARACTER);
+	    new_text.append(getPattern());
+	    new_text.append(StaticStrings.SEPARATOR_CHARACTER);
+	    new_text.append(getFlags());
+	    new_text.append(StaticStrings.SPEECH_CHARACTER);
+	    text =  new_text.toString();
+	}
+	
+	return text;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SubcollectionIndex.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SubcollectionIndex.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SubcollectionIndex.java	(revision 21123)
@@ -0,0 +1,180 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.util.*;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+/** This class encapsulates a single indexing pair.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.4
+ */
+public class SubcollectionIndex
+    implements Comparable, DOMProxyListEntry {
+
+    private ArrayList sources = null;
+    /** The element this index is based upon. */
+    private Element element = null;
+    /** The unique, if cryptic, identifier of an index. */
+    private String id = null;
+
+    /** Default constructor, which should only be used during DOMProxyListModel creation. */
+    public SubcollectionIndex() {
+    }
+
+    /** Constructor. */
+    public SubcollectionIndex(Element element) { 
+	this.element = element;
+    }
+
+    public SubcollectionIndex(Object[] raw_sources) {
+	this.sources = new ArrayList();
+	// Create a new element
+	element = CollectionConfiguration.createElement(StaticStrings.INDEX_ELEMENT);
+	// For each source add a content element
+	int size = raw_sources.length;
+	for(int i = 0; i < size; i++) {
+	    Subcollection subcollection = (Subcollection) raw_sources[i];
+	    String subcollection_name = subcollection.getName();
+	    sources.add(subcollection_name);
+	    Element content_element = CollectionConfiguration.createElement(StaticStrings.CONTENT_ELEMENT);
+	    content_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, subcollection_name);
+	    element.appendChild(content_element);
+	    content_element = null;
+	}
+    }
+
+    /** Method to compare two indexes.
+     * @param object The other index as an <strong>Object</strong>.
+     * @return An <i>int</i> which indicates how the indexes compare.
+     * @see java.lang.String
+     */
+    public int compareTo(Object object) {
+	return getID().compareTo(((SubcollectionIndex)object).getID());
+    }
+    
+    public DOMProxyListEntry create(Element element) {      	
+	return new SubcollectionIndex(element);
+    }
+
+    /** Method to test for the equality of two indexes.
+     * @param object The other index as an <strong>Object</strong>.
+     * @return A <i>boolean</i> which is <i>true</i> if the two indexes are equal, <i>false</i> otherwise.
+     */
+    public boolean equals(Object object) {
+	return (compareTo(object) == 0);
+    }
+    
+    public Element getElement() {
+	return element;
+    }
+
+    public String getID() {
+	if(id == null) {
+	    StringBuffer id_buffer = new StringBuffer();
+	    // Write data information. Retrieve each of the content sources and add them in a comma separated list.
+	    ArrayList sources = getSources();
+	    int sources_size = sources.size();
+	    for(int i = 0; i < sources_size; i++) {
+		id_buffer.append((String)sources.get(i));
+		id_buffer.append(StaticStrings.COMMA_CHARACTER);
+	    }
+	    sources = null;
+	    id = id_buffer.substring(0, id_buffer.length() - 1);
+	}
+	return id;
+    }
+
+    /** Retrieve the sources of this index.
+     * @return the sources as an ArrayList
+     */
+    public ArrayList getSources() {
+	if(sources == null) {
+	    sources = new ArrayList();
+	    // for the last entry in the assigned subcollection partitions, element is null
+	    // why this is null for the last entry?
+	    if(element==null){	 
+	      return sources;
+	    } 
+	    NodeList content_elements = element.getElementsByTagName(StaticStrings.CONTENT_ELEMENT);	    
+	    int content_elements_length = content_elements.getLength();
+	    for(int i = 0; i < content_elements_length; i++) {
+		Element content_element = (Element) content_elements.item(i);
+		sources.add(content_element.getAttribute(StaticStrings.NAME_ATTRIBUTE));
+	    }
+	    content_elements = null;
+	    Collections.sort(sources);
+	}
+	return sources;
+    }
+
+    public boolean isAssigned() {
+	return (element != null && !element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.FALSE_STR));
+    }
+
+    public void setAssigned(boolean assigned) {
+	if(element != null) {
+	    element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, (assigned ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR));
+	}
+    }
+
+    public void setElement(Element element) {
+	this.element = element;
+	this.id = null;
+	this.sources = null;
+    }
+
+    /** Method to set the sources for this index which can only be used for the default index.
+     * @param sources an ArrayList of source names
+     */
+    public void setSources(ArrayList sources) {
+	if(element != null) {
+	    // Erase old sources
+	    XMLTools.clear(element);
+	    // For each entry in the sources array add a new content element.
+	    int size = sources.size();
+	    for(int i = 0; i < size; i++) {
+		Element content_element = element.getOwnerDocument().createElement(StaticStrings.CONTENT_ELEMENT);
+		content_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, (String) sources.get(i));
+		element.appendChild(content_element);
+		content_element = null;
+	    }
+	    this.id = null; // Regenerate ID.
+	    this.sources = sources;
+	}
+    }
+
+    /** Method to turn this object into a string representation ready to be placed in the collection configuration file.
+     * @return A <strong>String</strong> containing the information of this class.
+     */
+
+    public String toString() {
+	return getID();
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SubcollectionIndexManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SubcollectionIndexManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SubcollectionIndexManager.java	(revision 21123)
@@ -0,0 +1,685 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.util.CheckList;
+import org.greenstone.gatherer.util.JarTools;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.w3c.dom.*;
+
+
+/** This class maintains a list of indexes partitions for the purpose of defining subcollections.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.4
+ */
+public class SubcollectionIndexManager
+extends DOMProxyListModel
+{
+	static final private Dimension FIELD_SIZE = new Dimension(200, 30);
+
+	private Control controls;
+	private DOMProxyListModel model;
+	private SubcollectionIndex default_index;
+
+
+	/** Constructor. */
+	public SubcollectionIndexManager(Element subindexes)
+	{
+		super(subindexes, StaticStrings.INDEX_ELEMENT, new SubcollectionIndex());
+		DebugStream.println("SubcollectionIndexManager: " + getSize() + " subcollection indexes parsed.");
+		this.model = this;
+
+		// Parse and retrieve the default index
+		NodeList default_index_elements = CollectionConfiguration.getElementsByTagName(StaticStrings.SUBCOLLECTION_DEFAULT_INDEX_ELEMENT);
+		if (default_index_elements.getLength() > 0) {
+			default_index = new SubcollectionIndex((Element) default_index_elements.item(0));
+		}
+	}
+
+
+	/** Method to add a subindex.
+	 * @param subindex a SubcollectionIndex
+	 * @see org.greenstone.gatherer.Gatherer
+	 * @see org.greenstone.gatherer.collection.CollectionManager
+	 */
+	private void addSubcollectionIndex(SubcollectionIndex subcollection_index)
+	{
+		if (!contains(subcollection_index)) {
+			// add a pseudo metadata
+			CollectionMeta metadatum = new CollectionMeta(StaticStrings.STOP_CHARACTER + subcollection_index.getID());
+			metadatum.setValue(subcollection_index.getID());
+			CollectionDesignManager.collectionmeta_manager.addMetadatum(metadatum);
+			add(getSize(), subcollection_index);
+		}
+	}
+
+
+	public void destroy()
+	{
+		if (controls != null) {
+			controls.destroy();
+			controls = null;
+		}
+		default_index = null;
+		model = null;
+	}
+
+
+	public Control getControls()
+	{
+		if (controls == null) {
+			controls = new SubcollectionIndexControls();
+		}
+		return controls;
+	}
+
+
+	/** Method to get all of the subindexes set.
+	 * @return an ArrayList containing all the defined indexes
+	 */
+	public ArrayList getSubcollectionIndexes()
+	{
+		return children();
+	}
+
+	/** Called when the detail mode has changed which in turn may cause several design elements to be available/hidden
+	 * @param mode the new mode as an int
+	 */
+	public void modeChanged(int mode) {
+
+	}
+
+	private int moveSubcollectionIndex(SubcollectionIndex subcollection_index, boolean move_up)
+	{
+		// Determine the current position of the subcollection index
+		int position = indexOf(subcollection_index);
+		int new_position;
+
+		// Attempt to move the subcollection index up
+		if (move_up) {
+			// Check it's not already at the top
+			if (position == 0) {
+				return position;
+			}
+
+			// This automatically removes the index first, as an Element can only exist once in a particular document
+			new_position = position - 1;
+			addBefore(subcollection_index, (SubcollectionIndex) getElementAt(new_position));
+		}
+
+		// Attempt to move the subcollection index down
+		else {
+			// Check it's not already at the bottom
+			if (position == (getSize()) - 1) {
+				return position;
+			}
+
+			// This automatically removes the index first, as an Element can only exist once in a particular document
+			new_position = position + 1;
+			addAfter(subcollection_index, (SubcollectionIndex) getElementAt(new_position));
+		}
+
+		return new_position;
+	}
+
+
+	/** Method to remove a certain subcollection index. */
+	private void removeSubcollectionIndex(SubcollectionIndex subcollection_index)
+	{
+		if (subcollection_index != null) {
+			// Remove any current metadata from this index
+			CollectionDesignManager.collectionmeta_manager.removeMetadata(StaticStrings.STOP_CHARACTER + subcollection_index.getID());
+
+			// Check if the index removed happens to be the default index
+			if (default_index != null && default_index.equals(subcollection_index)) {
+				setDefault(null);
+			}
+
+			// Remove the index
+			remove(subcollection_index);
+		}
+	}
+
+
+	/** Method to remove all of the subindexes that contain a certain subcollection.
+	 * @param subcollection the Subcollection that has been removed
+	 * @see org.greenstone.gatherer.cdm.Subcollection
+	 * @see org.greenstone.gatherer.cdm.SubcollectionIndex
+	 */
+	public void removeSubcollectionIndexes(Subcollection subcollection)
+	{
+		String subcollection_name = subcollection.getName();
+		int size = getSize();
+		for(int i = size - 1; i >= 0; i--) {
+			SubcollectionIndex subcollection_index = (SubcollectionIndex) getElementAt(i);
+			if (subcollection_index.getSources().contains(subcollection_name)) {
+				removeSubcollectionIndex(subcollection_index);
+			}
+		}
+	}
+
+	private void replaceSubcollectionIndex(SubcollectionIndex old_subcollection, SubcollectionIndex new_subcollection) {
+		// Remove old collection meta
+		CollectionDesignManager.collectionmeta_manager.removeMetadata(StaticStrings.STOP_CHARACTER + old_subcollection.getID());
+		// Add new one
+		CollectionMeta metadatum = new CollectionMeta(StaticStrings.STOP_CHARACTER + new_subcollection.getID());
+		metadatum.setValue(new_subcollection.getID());
+		CollectionDesignManager.collectionmeta_manager.addMetadatum(metadatum);
+		if(default_index != null && default_index.equals(old_subcollection)) {
+			setDefault(new_subcollection);
+		}
+
+		// get the position of the old one
+		int position = indexOf(old_subcollection);
+		remove(old_subcollection);
+		add(position, new_subcollection);
+	}
+
+	/** Method to set the default subcollection index.
+	 * @param index The <strong>SubcollectionIndex</strong> to use as the default index.
+	 * @see org.greenstone.gatherer.Gatherer
+	 * @see org.greenstone.gatherer.collection.CollectionManager
+	 * @see org.greenstone.gatherer.cdm.SubcollectionIndex
+	 */
+	private void setDefault(SubcollectionIndex subcollection_index)
+	{
+		if (subcollection_index != null) {
+			if (default_index == null) {
+				// Create the default index element, and place immediately after indexes element.
+				Element default_index_element = root.getOwnerDocument().createElement(StaticStrings.SUBCOLLECTION_DEFAULT_INDEX_ELEMENT);
+				default_index = new SubcollectionIndex(default_index_element);
+				Node target_node = CollectionConfiguration.findInsertionPoint(default_index_element);
+				if (target_node != null) {
+					root.getOwnerDocument().getDocumentElement().insertBefore(default_index_element, target_node);
+				}
+				else {
+					root.getOwnerDocument().getDocumentElement().appendChild(default_index_element);
+				}
+			}
+			default_index.setAssigned(true);
+			default_index.setSources(subcollection_index.getSources());
+		}
+		else {
+			if (default_index != null) {
+				default_index.setAssigned(false);
+			}
+		}
+	}
+
+
+	/** This class creates a set of controls for editing the indexes. */
+	private class SubcollectionIndexControls
+	extends JPanel
+	implements Control
+	{
+		private CheckList source_list;
+		private JButton add_button;
+		private JButton move_down_button;
+		private JButton move_up_button;
+		private JButton remove_button;
+		private JButton replace_button;
+		private JButton select_all_button;
+		private JButton select_none_button; 
+		private JButton set_default_button;
+		private JList subcollection_index_list;
+		private JTextField subcollection_index_name_textfield;
+
+
+		/** Constructor.
+		 */
+		public SubcollectionIndexControls()
+		{
+			super();
+                        this.setComponentOrientation(Dictionary.getOrientation());   
+			ArrayList sources = new ArrayList();
+			ListModel source_model = CollectionDesignManager.subcollection_manager;
+			for (int i = 0; i < source_model.getSize(); i++) {
+				sources.add(source_model.getElementAt(i));
+			}
+
+			// Creation
+			JPanel assigned_indexes_pane = new JPanel();
+                        assigned_indexes_pane.setComponentOrientation(Dictionary.getOrientation());
+			JLabel index_label = new JLabel(Dictionary.get("CDM.SubcollectionIndexManager.Subindexes"));
+                        index_label.setComponentOrientation(Dictionary.getOrientation());
+			subcollection_index_list = new JList(model);
+			subcollection_index_list.setCellRenderer(new SubcollectionIndexListCellRenderer());
+			subcollection_index_list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+			subcollection_index_list.setVisibleRowCount(2);
+                        subcollection_index_list.setComponentOrientation(Dictionary.getOrientation());
+                        
+			JPanel movement_pane = new JPanel();
+			movement_pane.setComponentOrientation(Dictionary.getOrientation());
+                        move_up_button = new GLIButton(Dictionary.get("CDM.Move.Move_Up"), JarTools.getImage("arrow-up.gif"), Dictionary.get("CDM.Move.Move_Up_Tooltip"));
+			move_up_button.setEnabled(false);
+
+			move_down_button = new GLIButton(Dictionary.get("CDM.Move.Move_Down"), JarTools.getImage("arrow-down.gif"), Dictionary.get("CDM.Move.Move_Down_Tooltip"));
+			move_down_button.setEnabled(false);
+
+			set_default_button = new GLIButton(Dictionary.get("CDM.SubcollectionIndexManager.Set_Default_Subindex"), Dictionary.get("CDM.SubcollectionIndexManager.Set_Default_Subindex_Tooltip"));
+			set_default_button.setEnabled(false);
+
+			JPanel index_pane = new JPanel();
+                        index_pane.setComponentOrientation(Dictionary.getOrientation());
+			JPanel details_pane = new JPanel();
+			details_pane.setComponentOrientation(Dictionary.getOrientation());
+			JPanel labels_pane = new JPanel();
+			labels_pane.setComponentOrientation(Dictionary.getOrientation());
+                        
+			select_all_button = new GLIButton(Dictionary.get("CDM.IndexManager.Select_All"), Dictionary.get("CDM.IndexManager.Select_All_Tooltip"));
+			select_none_button = new GLIButton(Dictionary.get("CDM.IndexManager.Select_None"), Dictionary.get("CDM.IndexManager.Select_None_Tooltip"));
+			
+			
+			JPanel boxes_pane = new JPanel();
+			boxes_pane.setComponentOrientation(Dictionary.getOrientation());
+                        JPanel content_pane = new JPanel();
+                        content_pane.setComponentOrientation(Dictionary.getOrientation());
+                        
+			JLabel source_label = new JLabel(Dictionary.get("CDM.SubcollectionIndexManager.Source"));
+                        source_label.setComponentOrientation(Dictionary.getOrientation());
+                        
+			source_list = new CheckList(false);
+			source_list.setListData(sources);
+			source_list.setToolTipText(Dictionary.get("CDM.SubcollectionIndexManager.Source_Tooltip"));
+			
+			select_all_button.setEnabled(isSelectAllEnabled());
+			select_none_button.setEnabled(isSelectAllEnabled());
+
+			JPanel button_pane = new JPanel();
+			button_pane.setComponentOrientation(Dictionary.getOrientation());
+                        
+                        add_button = new GLIButton(Dictionary.get("CDM.SubcollectionIndexManager.Add_Subindex"), Dictionary.get("CDM.SubcollectionIndexManager.Add_Subindex_Tooltip"));
+			add_button.setEnabled(false);
+
+			remove_button = new GLIButton(Dictionary.get("CDM.SubcollectionIndexManager.Remove_Subindex"), Dictionary.get("CDM.SubcollectionIndexManager.Remove_Subindex_Tooltip"));
+			remove_button.setEnabled(false);
+
+			replace_button = new GLIButton(Dictionary.get("CDM.SubcollectionIndexManager.Replace_Subindex"), Dictionary.get("CDM.SubcollectionIndexManager.Replace_Subindex_Tooltip"));
+			replace_button.setEnabled(false);
+						
+
+			// Listeners
+			add_button.addActionListener(new AddListener());
+			add_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+			move_down_button.addActionListener(new MoveListener(false));
+			move_down_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+			move_up_button.addActionListener(new MoveListener(true));
+			move_up_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+			remove_button.addActionListener(new RemoveListener());
+			remove_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+			replace_button.addActionListener(new ReplaceListener());
+			replace_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+			select_all_button.addActionListener(new SelectAllListener());			
+			select_all_button.addActionListener(CollectionDesignManager.buildcol_change_listener);			
+			select_none_button.addActionListener(new SelectNoneListener());
+			select_none_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+			set_default_button.addActionListener(new SetDefaultListener());
+			set_default_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+			subcollection_index_list.addListSelectionListener(new AssignedListListener());
+			source_list.addListSelectionListener(new SourceListListener());		
+			
+			
+			// Layout
+			movement_pane.setBorder(BorderFactory.createEmptyBorder(0,2,0,0));
+			movement_pane.setLayout(new GridLayout(3,1));
+			movement_pane.add(move_up_button);
+			movement_pane.add(move_down_button);
+			movement_pane.add(set_default_button);
+
+			assigned_indexes_pane.setBorder(BorderFactory.createEmptyBorder(0,0,5,0));
+			assigned_indexes_pane.setLayout(new BorderLayout());
+			assigned_indexes_pane.add(index_label, BorderLayout.NORTH);
+			assigned_indexes_pane.add(new JScrollPane(subcollection_index_list), BorderLayout.CENTER);
+			assigned_indexes_pane.add(movement_pane, BorderLayout.LINE_END);
+
+			labels_pane.setLayout(new BorderLayout());
+			labels_pane.setBorder(BorderFactory.createEmptyBorder(5, 5, 10, 5));
+			
+			// add the select all and select none buttons to the label panel			 
+			GridBagLayout gridbag = new GridBagLayout();			
+			GridBagConstraints c = new GridBagConstraints();
+			labels_pane.setLayout(gridbag);
+			
+			c.fill = GridBagConstraints.BOTH;		
+			c.weightx = 1.0;
+			c.weighty = 1.0;
+			c.gridx = 0;
+			c.gridy = 0;
+			
+			gridbag.setConstraints(source_label, c);
+			labels_pane.add(source_label);
+			
+			c.fill = GridBagConstraints.HORIZONTAL;
+			c.weighty = 0.0;
+			c.gridy = 1;
+			
+			gridbag.setConstraints(select_all_button, c);
+			labels_pane.add(select_all_button);
+			
+			c.gridy = 2;
+			gridbag.setConstraints(select_none_button, c);
+			labels_pane.add(select_none_button);	
+			
+			
+			boxes_pane.setLayout(new BorderLayout());
+			boxes_pane.add(new JScrollPane(source_list), BorderLayout.CENTER);
+
+			details_pane.setLayout(new BorderLayout());
+			details_pane.add(labels_pane, BorderLayout.LINE_START);
+			details_pane.add(boxes_pane, BorderLayout.CENTER);
+
+			button_pane.setLayout(new GridLayout(1,3));
+			button_pane.add(add_button);
+			button_pane.add(replace_button);
+			button_pane.add(remove_button);
+
+			index_pane.setLayout(new BorderLayout());
+			index_pane.add(details_pane, BorderLayout.CENTER);
+			index_pane.add(button_pane, BorderLayout.SOUTH);
+
+			content_pane.setLayout(new BorderLayout());
+			content_pane.add(assigned_indexes_pane, BorderLayout.NORTH);
+			content_pane.add(index_pane, BorderLayout.CENTER);
+
+			setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+			setLayout(new BorderLayout());
+			add(content_pane, BorderLayout.CENTER);
+		}
+
+
+		public void destroy()
+		{
+		}
+
+
+		public void gainFocus()
+		{
+			// Reload the source list
+			ArrayList sources = new ArrayList();
+			ListModel source_model = CollectionDesignManager.subcollection_manager;
+			for (int i = 0; i < source_model.getSize(); i++) {
+				sources.add(source_model.getElementAt(i));
+			}
+			source_list.setListData(sources);
+
+			// Refresh the subcollection index list
+			subcollection_index_list.updateUI();
+
+			clearControls();
+
+		}
+
+
+		public void loseFocus() {
+		}
+
+		private void clearControls() {
+			subcollection_index_list.clearSelection();
+			source_list.clearTicked();
+			add_button.setEnabled(false);
+			remove_button.setEnabled(false);
+			replace_button.setEnabled(false);
+			set_default_button.setEnabled(false);
+			move_down_button.setEnabled(false);
+			move_up_button.setEnabled(false);
+			select_all_button.setEnabled(isSelectAllEnabled());			
+			select_none_button.setEnabled(isSelectAllEnabled());
+		}
+		
+		private boolean isSelectAllEnabled(){
+		  	return source_list.getModel().getSize() > 0 ? true : false;		  	
+		}
+
+		private void updateControlsWithSelectedIndex()
+		{
+			SubcollectionIndex selected_index = (SubcollectionIndex) subcollection_index_list.getSelectedValue();
+			if (selected_index == null) {
+				source_list.clearTicked();
+				return;
+			}
+
+			// Display the selected subcollection index's sources
+			source_list.clearTicked();
+			source_list.setTickedObjects(selected_index.getSources().toArray());
+		}
+
+
+		private void validateButtons() {
+
+			boolean add_enabled = false;
+			boolean replace_enabled = false;
+
+			// Can't add a new index if no sources are selected
+			if (!source_list.isNothingTicked()) {
+				ArrayList sources = source_list.getTicked();
+				SubcollectionIndex subcollection_index = new SubcollectionIndex(sources.toArray());
+
+				// Subcollection index already exists: can't add, but can replace if the name has changed
+				if (!model.contains(subcollection_index)) {
+					add_enabled = true;
+					if (!subcollection_index_list.isSelectionEmpty()) {
+						replace_enabled = true;
+					}
+				}
+			}
+			
+			select_all_button.setEnabled(isSelectAllEnabled());
+			select_none_button.setEnabled(isSelectAllEnabled());
+
+			// We should now know the add_button state
+			add_button.setEnabled(add_enabled);
+			replace_button.setEnabled(replace_enabled);
+		}
+
+
+		private class AddListener
+		implements ActionListener {
+		  
+			public void actionPerformed(ActionEvent event)
+			{
+				if (!source_list.isNothingTicked()) {
+					ArrayList sources = source_list.getTicked();
+					SubcollectionIndex subcollection_index = new SubcollectionIndex(sources.toArray());
+					addSubcollectionIndex(subcollection_index);
+					clearControls();
+				}
+			}
+		}
+
+
+		private class MoveListener
+		implements ActionListener
+		{
+			private boolean move_up;
+
+			public MoveListener(boolean move_up)
+			{
+				this.move_up = move_up;
+			}
+
+			public void actionPerformed(ActionEvent event)
+			{
+				// Retrieve the selected subcollection index
+				SubcollectionIndex subcollection_index = (SubcollectionIndex) subcollection_index_list.getSelectedValue();
+				if (subcollection_index != null) {
+					int new_position = moveSubcollectionIndex(subcollection_index, move_up);
+					// Ensure the subcollection index that moved is still selected
+					subcollection_index_list.setSelectedIndex(new_position);					
+				}
+			}
+		}
+
+		private class RemoveListener
+		implements ActionListener
+		{
+			public void actionPerformed(ActionEvent event) {
+
+				SubcollectionIndex delete_me = (SubcollectionIndex) subcollection_index_list.getSelectedValue();
+				if (delete_me != null) {
+					removeSubcollectionIndex(delete_me);
+				}
+			}
+		}
+
+
+		private class ReplaceListener
+		implements ActionListener {
+
+			public void actionPerformed(ActionEvent event) {
+
+				if (subcollection_index_list.isSelectionEmpty()|| source_list.isNothingTicked()) {
+					// This should never happen, but just in case...
+					replace_button.setEnabled(false);
+					return;
+				}
+				SubcollectionIndex old_index = (SubcollectionIndex) subcollection_index_list.getSelectedValue();
+				ArrayList sources = source_list.getTicked();
+				SubcollectionIndex new_index = new SubcollectionIndex(sources.toArray());
+				replaceSubcollectionIndex(old_index, new_index);
+			}
+		}
+
+
+		private class SetDefaultListener
+		implements ActionListener {
+
+			public void actionPerformed(ActionEvent event)
+			{
+				SubcollectionIndex subcollection_index = (SubcollectionIndex) subcollection_index_list.getSelectedValue();
+				if (subcollection_index != null) {
+					setDefault(subcollection_index);
+					// This should cause a repaint of just the desired row
+					subcollection_index_list.setSelectedValue(subcollection_index, true);
+				}
+				set_default_button.setEnabled(false);
+			}
+		}
+
+
+		private class SourceListListener
+		implements ListSelectionListener {
+
+			public void valueChanged(ListSelectionEvent event) {
+				if (event.getValueIsAdjusting()) {
+					return;
+				}
+				validateButtons();
+			}
+		}
+		
+		private class SelectAllListener
+		implements ActionListener {
+			
+			public void actionPerformed(ActionEvent event){
+				if(select_all_button.isEnabled()){
+					source_list.setAllTicked();
+					validateButtons();
+				}
+			}
+		}
+		
+		private class SelectNoneListener
+		implements ActionListener {
+			
+			public void actionPerformed(ActionEvent event){
+				if(select_none_button.isEnabled()){
+					source_list.clearTicked();
+					validateButtons();
+				}
+			}
+		}
+
+
+		/** Listens for selections within the assigned subcollection indexes list  */
+		private class AssignedListListener
+		implements ListSelectionListener {
+
+			public void valueChanged(ListSelectionEvent event) {
+
+				if (event.getValueIsAdjusting()) {
+					return;
+				}
+
+				if (subcollection_index_list.isSelectionEmpty()) {
+					clearControls();
+					return;
+				}
+
+				int i = subcollection_index_list.getSelectedIndex();
+				int size = subcollection_index_list.getModel().getSize();
+				
+				select_all_button.setEnabled(isSelectAllEnabled());
+				select_none_button.setEnabled(isSelectAllEnabled());
+
+				// Enable the buttons appropriately
+				remove_button.setEnabled(true);
+				replace_button.setEnabled(false);
+				add_button.setEnabled(false);
+				SubcollectionIndex selected_index = (SubcollectionIndex) subcollection_index_list.getSelectedValue();
+				set_default_button.setEnabled(default_index == null || !default_index.equals(selected_index));
+				if (i > 0) {
+					move_up_button.setEnabled(true);					
+				}
+				else {
+					move_up_button.setEnabled(false);
+				}
+				if (i < size-1){
+					move_down_button.setEnabled(true);
+				}
+				else {
+					move_down_button.setEnabled(false);
+				}
+
+				// Need to fill in the rest of the bits
+				updateControlsWithSelectedIndex();
+			}
+		}
+
+
+		private class SubcollectionIndexListCellRenderer
+		extends DefaultListCellRenderer
+		{
+			/** Return a component that has been configured to display the specified value. */
+			public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
+				JLabel component = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
+				if (default_index != null && default_index.equals(value)) {
+					component.setText(component.getText() + " " + Dictionary.get("CDM.SubcollectionIndexManager.Default_Partition_Indicator"));
+				}
+				return component;
+			}
+		}
+	}
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SubcollectionManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SubcollectionManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SubcollectionManager.java	(revision 21123)
@@ -0,0 +1,515 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.gui.DesignPaneHeader;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.gui.NonWhitespaceField;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataSetManager;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.w3c.dom.*;
+
+/** This class maintains a list of subcollections within our collection.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.4
+ */
+public class SubcollectionManager
+    extends DOMProxyListModel {
+
+    static final private String DISABLED_CONTROLS = "Disabled";
+    static final private String ENABLED_CONTROLS  = "Normal";
+    static final private String CLASS_DICTIONARY_NAME = "CDM.SubcollectionManager.";
+
+    /** The controls used to edit the settings of this manager. */
+    private Control controls = null;
+
+    private DOMProxyListModel model;
+
+    /** Constructor. 
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.cdm.CollectionConfiguration
+     * @see org.greenstone.gatherer.cdm.CollectionDesignManager
+     * @see org.greenstone.gatherer.cdm.DOMProxyListModel
+     * @see org.greenstone.gatherer.cdm.Subcollection
+     */
+    public SubcollectionManager() {
+	super(CollectionDesignManager.collect_config.getDocumentElement(), StaticStrings.SUBCOLLECTION_ELEMENT, new Subcollection());
+	DebugStream.println("SubcollectionManager: " + getSize() + " subcollections parsed.");
+	this.model = this;
+    }
+
+    /** Method to add a new subcollection.
+     * @param subcollection the Subcollection to add
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.cdm.CollectionConfiguration
+     * @see org.greenstone.gatherer.cdm.DOMProxyListModel
+     * @see org.greenstone.gatherer.collection.CollectionManager
+     */
+    private void addSubcollection(Subcollection subcollection) {
+	if(!contains(subcollection)) {
+	    Element element = subcollection.getElement();
+	    // Locate where we should insert this new subcollection. 
+	    Node target_node = CollectionConfiguration.findInsertionPoint(element);
+	    // Failing that we insert immediately after a language string
+	    add(root, subcollection, target_node);
+	}
+    }
+
+    public void destroy() {
+	if(controls != null) {
+	    controls.destroy();
+	    controls = null;
+	}
+    }
+
+    /** Method to retrieve the controls for this manager.
+     * @return the Control used to edit the subcollection data
+     */
+    public Control getControls() {
+	if(controls == null) {
+	    controls = new SubcollectionControl();
+	}
+	return controls;
+    }
+
+    /** Method to retrieve a certain subcollection by its name.
+     * @param name a String which is used as the key for finding the matching subcollection
+     * @return the requested Subcollection or null if no such subcollection exists.
+     */
+    private Subcollection getSubcollection(String name) {
+	Subcollection result = null;
+	int size = getSize();
+	for(int i = 0; i < size; i++) {
+	    Subcollection subcollection = (Subcollection) getElementAt(i);
+	    if(subcollection.getName().equals(name)) {
+		result = subcollection;
+	    }
+	}
+	return result;
+    }
+
+
+    /** Called when the detail mode has changed which in turn may cause several design elements to be available/hidden
+     * @param mode the new mode as an int
+     */
+     public void modeChanged(int mode) {
+     }    
+
+    /** Method to remove the given subcollection.
+     * @param subcollection the Subcollection you want to remove
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.collection.CollectionManager
+     */
+    private void removeSubcollection(Subcollection subcollection) {
+	remove(subcollection);
+    }
+
+    private void updateSubcollection(Subcollection subcollection, String name, boolean include, String source, String pattern, String flags) {
+	subcollection.setFlags(flags);
+	subcollection.setInclusive(include);
+	subcollection.setName(name);
+	subcollection.setPattern(pattern);
+	subcollection.setSource(source);
+	refresh(subcollection);
+    }
+
+    /** This class creates a JPanel containing serveral more controls used for editing subcollection information. */
+    private class SubcollectionControl
+	extends JPanel 
+	implements Control, ChangeListener
+    {
+	private JButton add_button;
+	private JButton remove_button;
+	private JButton update_button;
+	private JComboBox source_combobox;
+	private JList subcollection_list;
+	private JTabbedPane tabbed_pane;
+	private JTextField flags_field;
+	private JTextField match_field;
+	private JTextField name_field;
+	private JRadioButton exclude_button;
+	private JRadioButton include_button;
+
+	/** Constructor */
+	public SubcollectionControl() {
+	    // Create
+	    JPanel header_pane = new DesignPaneHeader("CDM.GUI.Subcollections", "partitionindexes");
+
+	    tabbed_pane = new JTabbedPane();
+	    tabbed_pane.addChangeListener(this);
+            tabbed_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel button_pane_3 = new JPanel();
+	    button_pane_3.setComponentOrientation(Dictionary.getOrientation());
+            add_button = new GLIButton(Dictionary.get("CDM.SubcollectionManager.Add"), Dictionary.get("CDM.SubcollectionManager.Add_Tooltip"));
+	    add_button.setEnabled(false);
+	    
+	    remove_button = new GLIButton(Dictionary.get("CDM.SubcollectionManager.Remove"), Dictionary.get("CDM.SubcollectionManager.Remove_Tooltip"));
+	    remove_button.setEnabled(false);
+	    
+	    update_button = new GLIButton(Dictionary.get("CDM.SubcollectionManager.Replace"), Dictionary.get("CDM.SubcollectionManager.Replace_Tooltip"));
+	    update_button.setEnabled(false);
+	    
+	    JPanel button_pane = new JPanel();
+            button_pane.setComponentOrientation(Dictionary.getOrientation());
+	    JPanel button_pane_1 = new JPanel();
+            button_pane_1.setComponentOrientation(Dictionary.getOrientation());
+	    include_button = new JRadioButton(Dictionary.get("CDM.SubcollectionManager.Include"));
+	    include_button.setComponentOrientation(Dictionary.getOrientation());
+            include_button.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	    include_button.setOpaque(false);
+	    
+	    exclude_button = new JRadioButton(Dictionary.get("CDM.SubcollectionManager.Exclude"));
+	    exclude_button.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	    exclude_button.setOpaque(false);
+	    exclude_button.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JLabel flags_label = new JLabel(Dictionary.get("CDM.SubcollectionManager.Flags"));
+	    flags_label.setComponentOrientation(Dictionary.getOrientation());
+            
+	    flags_field = new NonWhitespaceField();
+	    flags_field.setToolTipText(Dictionary.get("CDM.SubcollectionManager.Flags_Tooltip"));
+            flags_field.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel inclusive_pane = new JPanel();
+            inclusive_pane.setComponentOrientation(Dictionary.getOrientation());
+	    JLabel inclusive_label = new JLabel(Dictionary.get("CDM.SubcollectionManager.Inclusive"));
+	    inclusive_label.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JLabel match_label = new JLabel(Dictionary.get("CDM.SubcollectionManager.Match"));
+	    match_label.setComponentOrientation(Dictionary.getOrientation());
+            
+	    match_field = new JTextField();
+	    match_field.setToolTipText(Dictionary.get("CDM.SubcollectionManager.Match_Tooltip"));
+	    match_field.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JLabel name_label = new JLabel(Dictionary.get("CDM.SubcollectionManager.Name"));
+	    name_label.setComponentOrientation(Dictionary.getOrientation());
+            
+	    name_field = new NonWhitespaceField();
+	    name_field.setToolTipText(Dictionary.get("CDM.SubcollectionManager.Name_Tooltip"));
+	    
+	    JLabel source_label = new JLabel(Dictionary.get("CDM.SubcollectionManager.Source"));
+	    source_label.setComponentOrientation(Dictionary.getOrientation());
+            
+	    ArrayList every_metadata_set_element = MetadataSetManager.getEveryMetadataSetElement();
+	    Vector source_model = new Vector(every_metadata_set_element);
+	    source_model.add(0, StaticStrings.FILENAME_STR);
+	    source_combobox = new JComboBox(source_model);
+            source_combobox.setComponentOrientation(Dictionary.getOrientation());
+	    source_combobox.setOpaque(false);
+	    source_combobox.setToolTipText(Dictionary.get("CDM.SubcollectionManager.Source_Tooltip"));
+	    
+	    subcollection_list = new JList(model);
+	    subcollection_list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+	    JPanel subcollection_pane = new JPanel();
+            subcollection_pane.setComponentOrientation(Dictionary.getOrientation());
+	    ButtonGroup bg = new ButtonGroup();
+	    bg.add(include_button);
+	    bg.add(exclude_button);
+	    include_button.setSelected(true);
+	    JPanel subcollection_list_pane = new JPanel();
+            subcollection_list_pane.setComponentOrientation(Dictionary.getOrientation());
+	    JLabel subcollection_list_label = new JLabel(Dictionary.get("CDM.SubcollectionManager.Assigned"));
+	    subcollection_list_label.setComponentOrientation(Dictionary.getOrientation());
+
+	    // Add listeners
+	    SubCollectionChangeListener cl = new SubCollectionChangeListener();
+	    add_button.addActionListener(new AddSubCollectionListener());
+	    add_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+	    remove_button.addActionListener(new RemoveSubCollectionListener());
+	    remove_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+	    update_button.addActionListener(new UpdateSubCollectionListener());
+	    update_button.addActionListener(CollectionDesignManager.buildcol_change_listener);
+	    exclude_button.addActionListener(cl);
+	    include_button.addActionListener(cl);
+	    source_combobox.addActionListener(cl);
+	    flags_field.getDocument().addDocumentListener(cl);
+	    match_field.getDocument().addDocumentListener(cl);
+	    name_field.getDocument().addDocumentListener(cl);
+	    subcollection_list.addListSelectionListener(new SubCollectionListListener());
+
+	    inclusive_pane.setLayout(new GridLayout());
+	    inclusive_pane.add(include_button);
+	    inclusive_pane.add(exclude_button);
+
+	    button_pane_1.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	    button_pane_1.setLayout(new GridLayout(5, 2));
+	    button_pane_1.add(name_label);
+	    button_pane_1.add(name_field);
+	    button_pane_1.add(source_label);
+	    button_pane_1.add(source_combobox);
+	    button_pane_1.add(match_label);
+	    button_pane_1.add(match_field);
+	    button_pane_1.add(inclusive_label);
+	    button_pane_1.add(inclusive_pane);
+	    button_pane_1.add(flags_label);
+	    button_pane_1.add(flags_field);
+
+	    button_pane_3.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	    button_pane_3.setLayout(new GridLayout(1,3));
+	    button_pane_3.add(add_button);
+	    button_pane_3.add(update_button);
+	    button_pane_3.add(remove_button);
+
+	    button_pane.setLayout(new BorderLayout());
+	    button_pane.add(button_pane_1, BorderLayout.CENTER);
+	    button_pane.add(button_pane_3, BorderLayout.SOUTH);
+
+	    subcollection_list_pane.setLayout(new BorderLayout());
+	    subcollection_list_pane.add(subcollection_list_label, BorderLayout.NORTH);
+	    subcollection_list_pane.add(new JScrollPane(subcollection_list), BorderLayout.CENTER);
+	    subcollection_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	    subcollection_pane.setLayout(new BorderLayout());
+	    subcollection_pane.add(subcollection_list_pane, BorderLayout.CENTER);
+	    subcollection_pane.add(button_pane, BorderLayout.SOUTH);
+
+	    tabbed_pane.addTab(Dictionary.get("CDM.SubcollectionManager.Subcollection_Controls"), subcollection_pane);
+	    tabbed_pane.addTab(Dictionary.get("CDM.SubcollectionManager.Subindex_Controls"), (JPanel) CollectionDesignManager.subcollectionindex_manager.getControls());
+	    tabbed_pane.addTab(Dictionary.get("CDM.SubcollectionManager.Language_Controls"), (JPanel) CollectionDesignManager.language_manager.getControls());
+
+	    setBorder(BorderFactory.createEmptyBorder(0,5,0,0));
+	    setLayout(new BorderLayout());
+	    add(header_pane, BorderLayout.NORTH);
+	    add(tabbed_pane, BorderLayout.CENTER);
+	}
+       	
+	/** Method to unregister any listeners to avoid memory leaks.
+	 */
+	public void destroy() {
+	}
+
+	public void gainFocus() {
+	    // Rebuild the sources combobox
+	    ArrayList every_metadata_set_element = MetadataSetManager.getEveryMetadataSetElement();
+	    Vector source_model = new Vector(every_metadata_set_element);
+	    source_model.add(0, "Filename"); // Add filename as a possible source.
+	    source_combobox.setModel(new DefaultComboBoxModel(source_model));
+	}
+
+	public void loseFocus() {
+	}
+	
+	public void stateChanged(ChangeEvent event)
+	{
+	    if (tabbed_pane.getSelectedIndex() == 1) {
+		CollectionDesignManager.subcollectionindex_manager.getControls().gainFocus();
+	    }
+	    if (tabbed_pane.getSelectedIndex() == 2) {
+		CollectionDesignManager.language_manager.getControls().gainFocus();
+	    }
+	}
+
+	/** Listens for actions apon the 'add' button in the SubcollectionManager controls, and if detected calls the addSubcollection method of the manager with a newly created subcollection. */
+	private class AddSubCollectionListener
+	    implements ActionListener {
+	    /** Any implementation of ActionListener must include this method so we can be informed when an action has been performed on one of our target controls. In this case we wish to retrieve information from the various edit controls, and if we have sufficient data to build a new subcollection do so.
+	     * @param event An <strong>ActionEvent</strong> containing information about the event.
+	     * @see org.greenstone.gatherer.cdm.Subcollection
+	     */
+	    public void actionPerformed(ActionEvent event) {
+		String name = name_field.getText();
+		String source = null;
+		Object object = source_combobox.getSelectedItem();
+		if (object instanceof MetadataElement) {
+		    MetadataElement metadata_element = (MetadataElement) object;
+		    source = metadata_element.getFullName();
+		}
+		else {
+		    source = object.toString();
+		}
+		String pattern = match_field.getText();
+		String flags = flags_field.getText();
+		if(name.length() > 0 && (source == null || source.length() > 0) && pattern.length() > 0) {
+		    Subcollection subcollection = new Subcollection(name, include_button.isSelected(), source, pattern, flags);
+		    addSubcollection(subcollection);
+		    // Change the selection to the new subcollection
+		    subcollection_list.setSelectedValue(subcollection, true);
+		}
+		add_button.setEnabled(false);
+	    }
+	}
+
+	/** This class listens for any key entry in a text field, selection change in a combobox or button click, and updates a subcollection as appropriate. Its also convenient to use this class to test if the add button should be active yet. */
+	private class SubCollectionChangeListener
+	    implements DocumentListener, ActionListener {
+	    /** Any implementation of ActionListener must include this method so we can be informed when an action has been performed on one of our target controls. In this case we want to record that somethings changed, then validate the controls.
+	     * @param event An <strong>ActionEvent</strong> containing information about the event.
+	     */
+	    public void actionPerformed(ActionEvent event) {
+		validateAdd();
+	    }
+
+	    public void changedUpdate(DocumentEvent event) {
+		validateAdd();
+	    }
+
+	    public void insertUpdate(DocumentEvent event) {
+		validateAdd();
+
+	    }
+
+	    public void removeUpdate(DocumentEvent event) {
+		validateAdd();
+	    }
+
+	    /** Method to validate the current subcollection editor values, and enable or disable controls (add button) based on said values. */
+	    private void validateAdd() {
+		if(name_field.getText().length() > 0 && match_field.getText().length() > 0) {
+		    if (getSubcollection(name_field.getText()) == null) {
+			add_button.setEnabled(true);
+		    } else {
+			add_button.setEnabled(false);
+		    }
+		}
+		else {
+		    add_button.setEnabled(false);
+		}
+	    }
+	}
+
+	/** Listens for actions apon the 'remove' button in the SubcollectionManager controls, and if detected calls the remove method of the manager with the SubIndex selected for removal. */
+	private class RemoveSubCollectionListener
+	    implements ActionListener {
+	    /** Any implementation of ActionListener must include this method so we can be informed when an action has been performed on one of our target controls. In this case we want to check if they have a subcolleciton selected, and if so remove both it and any subindexes based on it.
+	     * @param event An <strong>ActionEvent</strong> containing information about the event.
+	     * @see org.greenstone.gatherer.cdm.Subcollection
+	     */
+	    public void actionPerformed(ActionEvent event) {
+		if(!subcollection_list.isSelectionEmpty()) {
+		    Subcollection subcollection = (Subcollection)subcollection_list.getSelectedValue();
+		    removeSubcollection(subcollection);
+		    // And remove subcollection indexes dependant on this subcollection
+		    CollectionDesignManager.subcollectionindex_manager.removeSubcollectionIndexes(subcollection);
+		}
+		remove_button.setEnabled(false);
+	    }
+	}
+
+	private class UpdateSubCollectionListener
+	    implements ActionListener {
+	    public void actionPerformed(ActionEvent event) {
+		if(!subcollection_list.isSelectionEmpty()) {
+		    Subcollection subcollection = (Subcollection)subcollection_list.getSelectedValue();
+		    String name = name_field.getText();
+		    String source = null;
+		    Object object = source_combobox.getSelectedItem();
+		    if (object instanceof MetadataElement) {
+			MetadataElement metadata_element = (MetadataElement) object;
+			source = metadata_element.getFullName();
+		    }
+		    else {
+			source = object.toString();
+		    }
+		    String pattern = match_field.getText();
+		    String flags = flags_field.getText();
+		    if(name.length() > 0 && (source == null || source.length() > 0) && pattern.length() > 0) {
+			updateSubcollection(subcollection, name, include_button.isSelected(), source, pattern, flags);
+		    }
+		}
+	    }
+	}
+
+	/** This class listens for selections in the list on the subcollections pane of the SubcollectionManager, and updates the controls as necessary to reflect selection. */
+	private class SubCollectionListListener
+	    implements ListSelectionListener {
+	    /** Any implementation of ListSelectionListener must include this method so we can be informed when the selection changes. In this case we want to execute any changes the users made to the entry, then update the controls with details of the new selection.
+	     * @param event A <strong>ListSelectionEvent</strong> containing information related to this event.
+	     * @see org.greenstone.gatherer.cdm.Subcollection
+	     */
+	    public void valueChanged(ListSelectionEvent event) {
+		// Wait until the event stabilises to avoid processing it multiple times
+		if (event.getValueIsAdjusting() == true) {
+		    return;
+		}
+		// Now the entry
+		if(!subcollection_list.isSelectionEmpty()) {
+		    Subcollection subcollection = (Subcollection) subcollection_list.getSelectedValue();
+		    flags_field.setText(subcollection.getFlags());
+		    include_button.setSelected(subcollection.isInclusive());
+		    exclude_button.setSelected(!subcollection.isInclusive());
+		    match_field.setText(subcollection.getPattern());
+		    name_field.setText(subcollection.getName());
+		    String s = subcollection.getSource();
+		    int pos = 0;
+		    Object value = source_combobox.getItemAt(pos);
+		    //ystem.err.println("Search for: " + s);
+		    while (value != null) {
+			if (value instanceof MetadataElement) {
+			    MetadataElement metadata_element = (MetadataElement) value;
+			    String metadata_element_name = metadata_element.getFullName();
+			    //ystem.err.print("Compare to: " + e_name);
+			    if (metadata_element_name.equals(s)) {
+				source_combobox.setSelectedIndex(pos);
+				value = null;
+				//ystem.err.println(" - Match");
+			    }
+			    else {
+				pos++;
+				value = source_combobox.getItemAt(pos);
+				//ystem.err.println(" - Fail");
+			    }
+			}
+			else if(value.toString().equals(s)) {
+			    source_combobox.setSelectedIndex(pos);
+			    value = null;
+			}
+			else {
+			    pos++;
+			    value = source_combobox.getItemAt(pos);
+			}
+		    }
+		    // Can't add one thats already there.
+		    add_button.setEnabled(false);
+		    // You can update or remove it though...
+		    remove_button.setEnabled(true);
+		    update_button.setEnabled(true);
+		}
+		else {
+		    flags_field.setText("");
+		    include_button.setSelected(true);
+		    match_field.setText("");
+		    name_field.setText("");
+		    source_combobox.setSelectedIndex(0);
+		    remove_button.setEnabled(false);
+		    update_button.setEnabled(false);
+		}
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SuperCollection.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SuperCollection.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SuperCollection.java	(revision 21123)
@@ -0,0 +1,97 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+* This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import org.greenstone.gatherer.util.StaticStrings;
+import org.w3c.dom.Element;
+
+
+public class SuperCollection
+    implements DOMProxyListEntry {
+
+    private Element element;
+    private String name;
+
+    public SuperCollection() {
+	element = null;
+	name = null;
+    }
+
+    public SuperCollection(Element element) {
+	this.element = element;
+	name = null;
+    }
+
+    public int compareTo(Object other) {
+	return this.getName().compareTo(other.toString());
+    }
+
+    public DOMProxyListEntry create(Element element) {
+	return new SuperCollection(element);
+    } 
+
+    public boolean equals(Object other) {
+	return (compareTo(other) == 0);
+    }
+
+    public Element getElement() {
+	return element;
+    }
+
+    public String getName() {
+	if(name == null && element != null) {
+	    name = element.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+	}
+	return name;
+    }
+
+    public boolean isAssigned() {
+	return (element != null && element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.TRUE_STR));
+    }
+
+    public void setAssigned(boolean assigned) {
+	if(element != null) {
+	    element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, (assigned ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR));
+	}
+    }
+
+    public void setElement(Element element) {
+	this.element = element;
+	name = null;
+    }
+
+    public void setName(String name) {
+	this.name = name;
+	if(element != null) {
+	    element.setAttribute(StaticStrings.NAME_ATTRIBUTE, name);
+	}
+    }
+
+    public String toString() {
+	return getName();
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SuperCollectionManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SuperCollectionManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/SuperCollectionManager.java	(revision 21123)
@@ -0,0 +1,255 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+* This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.awt.*;
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.BasicCollectionConfiguration;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.util.CheckList;
+import org.greenstone.gatherer.util.CheckListEntry;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.gui.DesignPaneHeader;
+import org.greenstone.gatherer.Dictionary;
+import org.w3c.dom.*;
+
+/** This class contains the information about what supercollection has been specified (if any) and methods for changing this information. Note that there is a major difference between this manager and the others in that its DOM model is never used directly in any list component. It is only used to decide whether a certain entry in the actual checklist is checked. */
+public class SuperCollectionManager
+    extends DOMProxyListModel {
+
+    static final public String SUPERCOLLECTION_COMMAND = "supercollection";
+    static final public String CCS_COMMAND = "ccs";
+    private ArrayList collection_checklist_model = null; // Model used to actually populate list
+    private Control controls = null;
+    private DOMProxyListModel model = null;
+    private String current_coll_name = null;
+    private boolean superCollectionChanged = false;
+
+    public SuperCollectionManager(Element supercollections_element) {
+	super(supercollections_element, StaticStrings.COLLECTION_ELEMENT, new SuperCollection());
+	DebugStream.println("SuperCollectionManager: " + getSize() + " supercollection members parsed.");
+	this.model = this;
+    }
+
+    public void destroy() {
+	if(controls != null) {
+	    controls.destroy();
+	    controls = null;
+	}
+	if(collection_checklist_model != null) {
+	    collection_checklist_model.clear();
+	    collection_checklist_model = null;
+	}
+    }
+
+    private void addSuperCollection(SuperCollection supercollection) {
+	if(!contains(supercollection)) {
+	    add(getSize(), supercollection);
+	}
+    }
+
+    /** Method to retrieve the control for this manager.
+     * @return the Control for editing supercollection settings
+     */
+    public Control getControls() {
+	if(controls == null) {
+	    // Build controls
+	    this.controls = new SuperCollectionControl();
+	}
+	return controls;
+    }
+
+    public SuperCollection getSuperCollection(String collection_name) {
+	SuperCollection result = null;
+	int size = getSize();
+	for(int i = 0; result == null && i < size; i++) {
+	    SuperCollection supercollection = (SuperCollection) getElementAt(i);
+	    if(supercollection.getName().equals(collection_name)) {
+		result = supercollection;
+	    }
+	    supercollection = null;
+	}
+	return result;
+    }
+    /** Called when the detail mode has changed which in turn may cause several design elements to be available/hidden
+     * @param mode the new mode as an int
+     */
+    public void modeChanged(int mode) {
+
+    }
+
+    private void removeSuperCollection(SuperCollection supercollection) {
+	if(contains(supercollection)) {
+	    remove(supercollection);
+	}
+    }
+
+    /** Provides controls for altering the SuperCollection settings. */
+    private class SuperCollectionControl
+	extends JPanel
+	implements Control {
+
+	private boolean init = true;
+	private CheckList collection_checklist = null;
+
+	SuperCollectionControl() {
+	    super();
+            this.setComponentOrientation(Dictionary.getOrientation());
+	    // Creation
+	    JPanel header_panel = new DesignPaneHeader("CDM.GUI.SuperCollection", "xcollectionsearching");
+
+	    collection_checklist = new CheckList(false);
+	    buildModel();
+	    collection_checklist.setListData(collection_checklist_model);
+
+	    JPanel collection_checklist_pane = new JPanel();
+            collection_checklist_pane.setComponentOrientation(Dictionary.getOrientation());
+	    collection_checklist_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	    collection_checklist_pane.setLayout(new BorderLayout());
+	    collection_checklist_pane.add(new JScrollPane(collection_checklist), BorderLayout.CENTER);
+
+	    setBorder(BorderFactory.createEmptyBorder(0,5,0,0));
+	    setLayout(new BorderLayout());
+	    add(header_panel, BorderLayout.NORTH);
+	    add(collection_checklist_pane, BorderLayout.CENTER);
+	}
+
+	public void destroy() {
+	}
+
+	public void gainFocus() {
+	}
+
+	public void loseFocus() {
+	    int super_collections_count = 0;
+	    // Retrieve the current supercollections
+	    ArrayList supercollections = children();
+	    // Now iterate through the checklist, and for each checked box found ensure the Supercollection exists, and ensure its assigned. Remove any supercollections altered in this way from the temporary array list
+	    // we ignore the current coll at the moment
+	    int size = collection_checklist_model.size();
+	    for(int i = 0; i < size; i++) {
+		CheckListEntry entry = (CheckListEntry) collection_checklist_model.get(i);
+		if(entry.isSelected()) {
+		    String collection_name = (String) entry.getProperty();
+		    if (!collection_name.equals(current_coll_name)) {
+			SuperCollection supercollection = getSuperCollection(collection_name);
+			// Create the supercollection element if necessary
+			if(supercollection == null) {
+			    Element supercollection_element = root.getOwnerDocument().createElement(StaticStrings.COLLECTION_ELEMENT);
+			    supercollection = new SuperCollection(supercollection_element);
+			    supercollection.setName(collection_name);
+			    addSuperCollection(supercollection);
+			}
+			else {
+			    supercollections.remove(supercollection);
+			}
+			supercollection.setAssigned(true);
+			super_collections_count++;
+		    }
+		}
+	    }
+	    if (super_collections_count > 0) {
+		// we have some super colls, add in the current collection
+		SuperCollection supercollection = getSuperCollection(current_coll_name);
+		// Create the supercollection element if necessary
+		if(supercollection == null) {
+		    Element supercollection_element = root.getOwnerDocument().createElement(StaticStrings.COLLECTION_ELEMENT);
+		    supercollection = new SuperCollection(supercollection_element);
+		    supercollection.setName(current_coll_name);
+		    addSuperCollection(supercollection);
+		}
+		else {
+		    supercollections.remove(supercollection);
+		}
+		model.root.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.TRUE_STR);
+	    } else {
+		// current collection is the only one - don't bother adding it, because assigned is false, and we don't want to update the config file for an unassigned item.
+		model.root.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, StaticStrings.FALSE_STR);
+	    }
+	    
+	    // Any collections left in the temporary list have been unselected, so delete them
+	    for(int j = supercollections.size(); j > 0; j--) {
+		SuperCollection supercollection = (SuperCollection) supercollections.get(j - 1);
+		removeSuperCollection(supercollection);
+	    }
+	}
+
+	
+      private void buildModel()
+      {
+	collection_checklist_model = new ArrayList();
+	current_coll_name = CollectionManager.getLoadedGroupQualifiedCollectionName(true);
+	File collect_directory = new File(Gatherer.getCollectDirectoryPath());
+	add_collections_to_model(collect_directory);
+      }
+
+      private void add_collections_to_model(File collect_directory) {
+	File[] possible_collections = collect_directory.listFiles();
+	for(int i = 0; possible_collections != null && i < possible_collections.length; i++) {
+	  String file_name = (Gatherer.GS3)? Utility.CONFIG_GS3_FILE : Utility.CONFIG_FILE;
+	  File collect_cfg_file = new File(possible_collections[i], file_name);
+	  if (collect_cfg_file.exists()) {
+	    BasicCollectionConfiguration collect_cfg = new BasicCollectionConfiguration(collect_cfg_file);
+	    // look to see if group set?
+	    // => if it is, don't add, but recurse to look for child collections in collect-group
+	    if (collect_cfg.getCollectGroup().equals("true")) {
+	      add_collections_to_model(possible_collections[i]);
+	    } else {
+	      // its a collection
+	      StringBuffer title_buffer = new StringBuffer(collect_cfg.getName());
+	      title_buffer.append(StaticStrings.SPACE_CHARACTER);
+	      title_buffer.append(StaticStrings.OPEN_PARENTHESIS_CHARACTER);
+	      title_buffer.append(collect_cfg.getShortName());
+	      title_buffer.append(StaticStrings.CLOSE_PARENTHESIS_CHARACTER);
+	      String collection_title = title_buffer.toString();
+	      title_buffer = null;
+	      String collection_name = collect_cfg.getShortName();
+	      // We have to block the model collection.
+	      if (collect_cfg.getName().equals("**title**")) {
+		continue;
+	      }
+
+	      // The current collection is always selected.
+	      CheckListEntry entry = new CheckListEntry(collection_title);
+	      entry.setProperty(collection_name);
+	      entry.setSelected(getSuperCollection(collection_name) != null || collection_name.equals(current_coll_name));
+	      entry.setFixed(collection_name.equals(current_coll_name));
+	      collection_checklist_model.add(entry);
+	    }
+	  }
+	  
+	}
+      }
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/TranslationView.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/TranslationView.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/cdm/TranslationView.java	(revision 21123)
@@ -0,0 +1,755 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.cdm;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.table.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.gui.DesignPaneHeader;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+
+/** This class provides a graphical interface to allow a user to quickly and conviently (ie all in one place) translate the text fragments associated with general metadata and indexes into each of the assigned languages in the collection. It should provide clear controls for the editing of these text fragments, plus clear indicate what languages still need further translation, which it will do through a combination of coloring and other visual indicators.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class TranslationView {
+
+    private Control controls;
+
+    static final private Dimension COMPONENT_SIZE = new Dimension(225,25);
+    static final private int LANGUAGE_WIDTH = 75;
+    static final private String GENERAL_STR = "General:";
+    static final private String INDEX_STR = "Index:";
+    static final private String LEVEL_STR = "Level:";
+    static final private String PARTITION_STR = "Partitions:";
+
+    public TranslationView() {
+	DebugStream.println("TranslationView: Initialized.");
+    }
+
+    public void destroy() {
+	if(controls != null) {
+	    controls.destroy();
+	    controls = null;
+	}
+    }
+
+    public Control getControls() {
+	if(controls == null) {
+	    controls = new TranslationControl();
+	}
+	return controls;
+    }
+
+    /** Called when the detail mode has changed which in turn may cause several design elements to be available/hidden
+     * @param mode the new mode as an int
+     */
+    public void modeChanged(int mode) {
+
+    }
+
+    private Object[] getFeaturesList() {
+	ArrayList features_model = new ArrayList();
+
+	// Add the indexes
+	ArrayList indexes = CollectionDesignManager.index_manager.getIndexes();
+	int indexes_size = indexes.size();
+	for(int j = 0; j < indexes_size; j++) {
+	    Object bob = new BobTheMagicalComparableWrapper(indexes.get(j));
+	    if(!features_model.contains(bob)) {
+		features_model.add(bob);
+	    }
+	}
+	// Add the levels, if any
+	ArrayList levels = CollectionDesignManager.index_manager.getLevels();
+	if (levels !=null) {
+	  int levels_size = levels.size();
+	  for (int j=0; j<levels.size(); j++) {
+	    Object bob = new BobTheMagicalComparableWrapper(levels.get(j));
+	    if(!features_model.contains(bob)) {
+	      features_model.add(bob);
+	    }
+	  }
+	}
+	// We also add subindexes.
+	ArrayList subindexes = CollectionDesignManager.subcollectionindex_manager.getSubcollectionIndexes();
+	int subindexes_size = subindexes.size();
+	for(int j = 0; j < subindexes_size; j++) {
+	    Object bob = new BobTheMagicalComparableWrapper(subindexes.get(j));
+	    if(!features_model.contains(bob)) {
+		features_model.add(bob);
+	    }
+	}
+
+	// Finally we add any remaining metadata as general
+	ArrayList general_metadata = CollectionDesignManager.collectionmeta_manager.getMetadata();
+	for(int i = 0; i < general_metadata.size(); i++) {
+	    CollectionMeta metadata = (CollectionMeta) general_metadata.get(i);
+	    if(!metadata.isSpecial()) {
+		Object bob = new BobTheMagicalComparableWrapper(metadata.getName());
+		if(!features_model.contains(bob)) {
+		    features_model.add(bob);
+		}
+	    }
+	}
+
+	Collections.sort(features_model);
+
+	return features_model.toArray();
+    }
+
+    private class BobTheMagicalComparableWrapper
+	implements Comparable {
+	private Object content;
+	private String text;
+	BobTheMagicalComparableWrapper(Object content) {
+	    this.content = content;
+	}
+	public int compareTo(Object object) {
+	    if(object == null) {
+		object = "";
+	    }
+	    if(text == null) {
+		toString();
+	    }
+	    return text.compareTo(object.toString());
+	}
+
+	/** Equals is used by contains and since we want to prevent double up of metadata we compare differently than in compareTo. */
+	public boolean equals(Object object) {
+	    return (object != null && content.toString().equals(((BobTheMagicalComparableWrapper)object).getContent().toString()));
+	}
+
+	public Object getContent() {
+	    return content;
+	}
+
+	public String getName() {
+	    if(content instanceof Index) {
+		return StaticStrings.STOP_CHARACTER + ((Index)content).getID();
+	    }
+	    // level
+	    else if (content instanceof IndexOption) {
+	      return StaticStrings.STOP_CHARACTER + ((IndexOption)content).getName();
+	    }
+	    else if (content instanceof SubcollectionIndex) {
+	    	return StaticStrings.STOP_CHARACTER + ((SubcollectionIndex)content).getID();
+	    }
+	    else {
+		return content.toString();
+	    }
+	}
+
+	public String toString() {
+	    if(text == null) {
+		String temp = content.toString();
+		if(temp.indexOf(StaticStrings.SPACE_CHARACTER) != -1) {
+		    temp = temp.substring(0, temp.indexOf(StaticStrings.SPACE_CHARACTER));
+		}
+		if(content instanceof Index) {
+		    text = INDEX_STR + temp;
+		}
+		else if (content instanceof IndexOption) {
+		  text = LEVEL_STR + temp;
+		}
+		else if(content instanceof SubcollectionIndex) {
+		    text = PARTITION_STR + temp;
+		}
+		else {
+		    text = GENERAL_STR + temp;
+		}
+	    }
+	    return text;
+	}
+    }
+
+    private class TranslationControl
+	extends JPanel 
+	implements Control {
+
+	private boolean ignore_event = false;
+	private FragmentTableModel fragment_table_model;
+	private JButton add_button;
+	private JButton remove_button;
+	private JButton replace_button;
+	private JComboBox language_combobox;
+	private JList features_list;
+	private JTable fragment_table;
+	private JTextArea default_area;
+	private JTextArea translation_area;
+
+	TranslationControl() {
+            this.setComponentOrientation(Dictionary.getOrientation());
+	    fragment_table_model = new FragmentTableModel("", new TreeSet(), new ArrayList());
+	    // Creation
+	    JPanel header_panel = new DesignPaneHeader("CDM.GUI.Translation", "translatetext");
+
+	    JPanel center_panel = new JPanel();
+            center_panel.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel selection_panel = new JPanel();
+            selection_panel.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel component_selection_panel = new JPanel();
+            component_selection_panel.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JLabel component_label = new JLabel(Dictionary.get("CDM.TranslationManager.Affected_Features"));
+            component_label.setComponentOrientation(Dictionary.getOrientation());
+            
+	    Object[] features = getFeaturesList();
+	    features_list = new JList(features);
+	    features_list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+            if (features != null && features.length >0){
+		features_list.setSelectedIndex(0);
+	    }
+
+	    JPanel fragment_selection_panel = new JPanel();
+	    fragment_selection_panel.setComponentOrientation(Dictionary.getOrientation());
+            JLabel fragment_label = new JLabel(Dictionary.get("CDM.TranslationManager.Assigned_Fragments"));
+            fragment_label.setComponentOrientation(Dictionary.getOrientation());
+	    
+	    fragment_table = new JTable(fragment_table_model);
+            fragment_table.setComponentOrientation(Dictionary.getOrientation());
+	    fragment_table.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
+	    fragment_table.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	    fragment_table.setColumnSelectionAllowed(false);
+	    fragment_table.setDefaultRenderer(Object.class, new FragmentTableRenderer());
+	    fragment_table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+
+	    JScrollPane table_scroll = new JScrollPane(fragment_table);
+	    table_scroll.getViewport().setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	    table_scroll.setOpaque(true);
+
+	    JPanel south_panel = new JPanel();
+            south_panel.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel text_panel = new JPanel();
+            text_panel.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel language_panel = new JPanel();
+            language_panel.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JLabel language_label = new JLabel(Dictionary.get("CDM.TranslationManager.Language"));
+	    language_label.setComponentOrientation(Dictionary.getOrientation());
+            
+	    language_combobox = new JComboBox(CollectionDesignManager.language_manager.getLanguageCodes().toArray());
+	    language_combobox.setOpaque(!Utility.isMac());
+	    language_combobox.setPreferredSize(COMPONENT_SIZE);
+	    language_combobox.setRenderer(new LanguageListCellRenderer());
+	    language_combobox.setToolTipText(Dictionary.get("CDM.TranslationManager.Language_Tooltip"));
+	    language_combobox.setComponentOrientation(Dictionary.getOrientation());
+            
+	    JPanel default_text_panel = new JPanel();
+            default_text_panel.setComponentOrientation(Dictionary.getOrientation());
+	    JLabel default_label = new JLabel(Dictionary.get("CDM.TranslationManager.Default_Text"));
+	    default_label.setComponentOrientation(Dictionary.getOrientation());
+	    default_area = new JTextArea();
+            default_area.setComponentOrientation(Dictionary.getOrientation());
+	    default_area.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	    default_area.setEditable(false);
+	    default_area.setLineWrap(true);
+	    default_area.setWrapStyleWord(true);
+
+	    JPanel translated_text_panel = new JPanel();
+            translated_text_panel.setComponentOrientation(Dictionary.getOrientation());
+	    JLabel translation_label = new JLabel(Dictionary.get("CDM.TranslationManager.Translation"));
+            translation_label.setComponentOrientation(Dictionary.getOrientation());
+	    translation_area = new JTextArea();
+            translation_area.setComponentOrientation(Dictionary.getOrientation());
+	    translation_area.setBackground(Configuration.getColor("coloring.disabled", false));
+	    translation_area.setEnabled(false);
+	    translation_area.setLineWrap(true);
+	    translation_area.setWrapStyleWord(true);
+	    translation_area.setToolTipText(Dictionary.get("CDM.TranslationManager.Translation_Tooltip"));
+
+	    JPanel button_pane = new JPanel();
+            button_pane.setComponentOrientation(Dictionary.getOrientation());
+	    add_button = new GLIButton(Dictionary.get("CDM.TranslationManager.Add"), Dictionary.get("CDM.TranslationManager.Add_Tooltip"));
+	    add_button.setEnabled(false);
+
+	    replace_button = new GLIButton(Dictionary.get("CDM.TranslationManager.Replace"), Dictionary.get("CDM.TranslationManager.Replace_Tooltip"));
+	    replace_button.setEnabled(false);
+
+	    remove_button = new GLIButton(Dictionary.get("CDM.TranslationManager.Remove"), Dictionary.get("CDM.TranslationManager.Remove_Tooltip"));
+	    remove_button.setEnabled(false);
+
+
+	    // Connection
+	    add_button.addActionListener(new AddListener());
+	    remove_button.addActionListener(new RemoveListener());
+	    replace_button.addActionListener(new ReplaceListener());
+	    language_combobox.addActionListener(new LanguageActionListener());
+	    translation_area.getDocument().addDocumentListener(new TranslationDocumentListener());
+	    features_list.addListSelectionListener(new FeaturesListSelectionListener());
+	    fragment_table.getSelectionModel().addListSelectionListener(new FragmentListSelectionListener());
+
+	    // Layout
+	    component_selection_panel.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	    component_selection_panel.setLayout(new BorderLayout());
+	    component_selection_panel.add(component_label, BorderLayout.NORTH);
+	    component_selection_panel.add(new JScrollPane(features_list), BorderLayout.CENTER);
+
+	    fragment_selection_panel.setLayout(new BorderLayout());
+	    fragment_selection_panel.add(fragment_label, BorderLayout.NORTH);
+	    fragment_selection_panel.add(table_scroll, BorderLayout.CENTER);
+
+	    selection_panel.setLayout(new GridLayout(2,1,0,5));
+	    selection_panel.add(component_selection_panel);
+	    selection_panel.add(fragment_selection_panel);
+
+	    default_text_panel.setLayout(new BorderLayout());
+	    default_text_panel.add(default_label, BorderLayout.NORTH);
+	    default_text_panel.add(new JScrollPane(default_area), BorderLayout.CENTER);
+
+	    translated_text_panel.setLayout(new BorderLayout());
+	    translated_text_panel.add(translation_label, BorderLayout.NORTH);
+	    translated_text_panel.add(new JScrollPane(translation_area), BorderLayout.CENTER);
+
+	    text_panel.setLayout(new GridLayout(1,2,5,0));
+	    text_panel.add(default_text_panel);
+	    text_panel.add(translated_text_panel);
+
+	    language_panel.setLayout(new BorderLayout(5,0));
+	    language_panel.add(language_label, BorderLayout.LINE_START);
+	    language_panel.add(language_combobox, BorderLayout.CENTER);
+
+	    south_panel.setLayout(new BorderLayout());
+	    south_panel.add(language_panel, BorderLayout.NORTH);
+	    south_panel.add(text_panel, BorderLayout.CENTER);
+
+	    center_panel.setLayout(new GridLayout(2,1,0,5));
+	    center_panel.add(selection_panel);
+	    center_panel.add(south_panel);
+
+	    button_pane.setBorder(BorderFactory.createEmptyBorder(2,0,0,0));
+	    button_pane.setLayout(new GridLayout(1,3));
+	    button_pane.add(add_button);
+	    button_pane.add(replace_button);
+	    button_pane.add(remove_button);
+
+	    setBorder(BorderFactory.createEmptyBorder(0,5,0,0));
+	    setLayout(new BorderLayout());
+	    add(header_panel, BorderLayout.NORTH);
+	    add(center_panel, BorderLayout.CENTER);
+	    add(button_pane, BorderLayout.SOUTH);
+	}
+
+	public void destroy() {
+	}
+
+	public void gainFocus() {
+	    // Rebuild the features model, just incase features have been added or removed.
+	    if(features_list != null) {
+		Object selected_feature = features_list.getSelectedValue();
+		features_list.setListData(getFeaturesList());
+		if(selected_feature != null) {
+		    features_list.setSelectedValue(selected_feature, true);
+		}
+	    }
+	}
+
+	public void loseFocus() {
+	}
+
+
+	private class AddListener
+	    implements ActionListener {
+	    
+	    public void actionPerformed(ActionEvent event) {
+		ignore_event = true;
+		String translation_text = translation_area.getText();
+		if(translation_text.length() > 0) {
+		    // If there is no current fragment table selection, but translation text is not an empty string, then this is a new fragment. Create new collection metadata, refresh the fragment table, then ensure that the new metadata is selected. Remember that it is the selected metadata to which changes will be applied.
+		    BobTheMagicalComparableWrapper selected_feature = (BobTheMagicalComparableWrapper)features_list.getSelectedValue();
+		    String language = (String) language_combobox.getSelectedItem();
+		    CollectionMeta metadatum = new CollectionMeta(selected_feature.getName(), language);
+		    metadatum.setValue(translation_text);
+		    CollectionDesignManager.collectionmeta_manager.addMetadatum(metadatum);
+		    fragment_table.clearSelection();
+		    ArrayList metadata = CollectionDesignManager.collectionmeta_manager.getMetadata(selected_feature.getName());
+		    fragment_table_model.setData(selected_feature.getName(), CollectionDesignManager.collectionmeta_manager.getLanguages(), metadata);
+		    int index = fragment_table_model.getMetadataIndexByLanguage(language);
+		    ///ystem.err.println("I want to select the row " + index + " out of " + metadata.size());
+		    fragment_table.setRowSelectionInterval(index, index);
+		    metadatum = null;
+		    language = null;
+		    selected_feature = null;
+		    translation_text = null;
+		    remove_button.setEnabled(true);
+		}
+		add_button.setEnabled(false);
+		replace_button.setEnabled(false);
+		ignore_event = false;
+	    }
+	}
+
+	private class RemoveListener
+	    implements ActionListener {
+	    
+	    public void actionPerformed(ActionEvent event) {
+		ignore_event = true;
+		int index = -1;
+		if((index = fragment_table.getSelectedRow()) != -1) {
+		    CollectionMeta metadata = fragment_table_model.getMetadata(index);
+		    CollectionDesignManager.collectionmeta_manager.removeMetadata(metadata);
+		    fragment_table_model.remove(index);
+		    // If a remove occured then enable add
+		    add_button.setEnabled(true);
+		}
+		// Either way disable replace and remove
+		replace_button.setEnabled(false);
+		remove_button.setEnabled(false);
+		ignore_event = false;
+	    }
+	}
+
+	private class ReplaceListener 
+	    implements ActionListener {
+
+	    public void actionPerformed(ActionEvent event) {
+		ignore_event = true;
+		int index = -1;
+		if((index = fragment_table.getSelectedRow()) != -1) {
+		    String translation_text = translation_area.getText();
+		    // Get the selected collection metadata
+		    CollectionMeta metadata = fragment_table_model.getMetadata(index);
+		    // Update the fragment metadata and ask the table to repaint the appropriate row
+		    metadata.setValue(translation_text);
+		    fragment_table_model.fireTableRowsUpdated(index, index);
+		    metadata = null;
+		    remove_button.setEnabled(true);
+		}
+		// Either way disable replace
+		add_button.setEnabled(false);
+		replace_button.setEnabled(false);
+		ignore_event = false;
+	    }
+	}
+
+	private class FeaturesListSelectionListener
+	    implements ListSelectionListener {
+	    public void valueChanged(ListSelectionEvent event) {
+		if(!event.getValueIsAdjusting() && !ignore_event) {
+		    ///ystem.err.println("FeaturesListSelectionListener");
+		    if(!features_list.isSelectionEmpty()) {
+			// Determine the features name. Remember to remove our helpful source prefix (delimited by ':').
+			BobTheMagicalComparableWrapper selected_feature = (BobTheMagicalComparableWrapper)features_list.getSelectedValue();
+			// Retrieve the default language translation, or otherwise the first match, to be default text.
+			CollectionMeta default_metadata = CollectionDesignManager.collectionmeta_manager.getMetadatum(selected_feature.getName());
+			if(default_metadata != null) {
+			    default_area.setText(default_metadata.getValue(CollectionMeta.TEXT));
+			}
+			// Update the text fragment table.
+			fragment_table.clearSelection();
+			fragment_table_model.setData(selected_feature.getName(), CollectionDesignManager.collectionmeta_manager.getLanguages(), CollectionDesignManager.collectionmeta_manager.getMetadata(selected_feature.getName()));
+			selected_feature = null;
+			// Now we check whatever value is currently selected in the combobox to see if it is valid to add.
+			String language_name = (String) language_combobox.getSelectedItem();
+			int index = fragment_table_model.getMetadataIndexByLanguage(language_name);
+			if(index != -1) {
+			    CollectionMeta metadata = fragment_table_model.getMetadata(index);
+			    fragment_table.setRowSelectionInterval(index, index);
+			    if(metadata != null) {
+				translation_area.setText(metadata.getValue(CollectionMeta.TEXT));
+			    }
+			    else {
+				translation_area.setText("");
+			    }
+			    metadata = null;
+			}
+			else {
+			    translation_area.setText("");
+			}
+			// Update and enable the text area
+			translation_area.setEnabled(true);
+			translation_area.setBackground(Configuration.getColor("coloring.editable_background", false));
+		    }
+		    else {
+			default_area.setText("");
+			fragment_table.clearSelection();
+			fragment_table_model.setData("", new TreeSet(), new ArrayList());
+			translation_area.setText("");
+			// Update and disable the text area
+			translation_area.setText("");
+			translation_area.setEnabled(false);
+			translation_area.setBackground(Configuration.getColor("coloring.disabled", false));
+		    }
+		}
+	    }
+	}
+
+	private class FragmentListSelectionListener
+	    implements ListSelectionListener {
+	    public void valueChanged(ListSelectionEvent event) {
+		if(!event.getValueIsAdjusting() && !ignore_event) {
+		    ignore_event = true;
+		    ///ystem.err.println("FragmentListSelectionListener");
+		    int index = -1;
+		    if((index = fragment_table.getSelectedRow()) != -1) {
+			// A row has been selected. Retrieve the collection metadata.
+			CollectionMeta metadatum = fragment_table_model.getMetadata(index);
+			if(metadatum != null) {
+			    // Update the combobox to show the current language.
+			    String language = metadatum.getLanguage();
+			    ///ystem.err.println("Searching for the language: " + language_name);
+			    for(int i = 0; i < language_combobox.getItemCount(); i++) {
+				if(language_combobox.getItemAt(i).toString().equals(language)) {
+				    language_combobox.setSelectedIndex(i);
+				}
+			    }
+			    translation_area.setText(metadatum.getValue(CollectionMeta.TEXT));
+			    remove_button.setEnabled(!metadatum.isDummy());
+			}
+			else {
+			    remove_button.setEnabled(false);
+			}
+		    }
+		    else {
+			translation_area.setText("");
+			remove_button.setEnabled(false);
+		    }
+		    ignore_event = false;
+		}
+	    }
+	}
+
+	private class FragmentTableModel
+	    extends AbstractTableModel {
+
+	    private ArrayList metadata;
+	    private String feature_name;
+	    private TreeSet languages;
+
+	    FragmentTableModel(String feature_name, TreeSet languages, ArrayList metadata) {
+		this.feature_name = feature_name;
+		this.languages = languages;
+		this.metadata = metadata;
+	    }
+	    public int getRowCount() {
+	       // The row count is equal to the maximum number of languages currently assigned in the collection.
+		return languages.size();
+	    }
+	    public int getColumnCount() {
+		return 2;
+	    }
+
+	    public String getColumnName(int column) {
+		if (column == 0) {
+		    return Dictionary.get("CDM.TranslationManager.Language_Column");
+		}
+		if (column == 1) {
+		    return Dictionary.get("CDM.TranslationManager.Fragment_Column");
+		}
+		return "";
+	    }
+
+	    /** Attempt to retrieve the metadata associated with a certain row - however not all rows actually have metadata with them (say the French row where no metadata has been set).
+	     * @param row the row number as an int
+	     * @return the CollectionMeta requested, which may be a dummy metadata pair
+	     */
+	    public CollectionMeta getMetadata(int row) {
+		// Determine what language we are talking about
+		String language = null;
+		Iterator language_iterator = languages.iterator();
+		int current_row = 0;
+		while(current_row != row && language_iterator.hasNext()) {
+		    language_iterator.next();
+		    current_row++;
+		}
+		if(current_row == row) {
+		    language = (String) language_iterator.next();
+		    return getMetadata(language);
+		}
+		language_iterator = null;
+		return null;
+	    }
+
+	    public CollectionMeta getMetadata(String language) {
+		// Attempt to retrieve metadata with that language
+		for(int i = 0; i < metadata.size(); i++) {
+		    CollectionMeta metadatum = (CollectionMeta) metadata.get(i);
+		    if(metadatum.getLanguage().equals(language)) {
+			return metadatum;
+		    }
+		}
+		return new CollectionMeta(feature_name, language, true);
+	    }
+
+	    public int getMetadataIndexByLanguage(String language) {
+		///ystem.err.println("Find the index for the language " + language + " (out of " + languages.size() + ")");
+		// First we have to iterate to the correct place
+		Iterator language_iterator = languages.iterator();
+		int current_row = 0;
+		while(language_iterator.hasNext()) {
+		    String target = (String)language_iterator.next();
+		    if(language.equals(target)) {
+			///ystem.err.println("Matches " + target);
+			return current_row;
+		    }
+		    else {
+			///ystem.err.println("Doesn't match " + target);
+			current_row++;
+		    }
+		}
+		///ystem.err.println("No such language in model: -1");
+		return -1;
+	    }
+
+	    public Object getValueAt(int row, int column) {
+		if(0 <= row && row < languages.size()) {
+		    // First we have to iterate to the correct place
+		    Iterator language_iterator = languages.iterator();
+		    int current_row = 0;
+		    while(current_row != row && language_iterator.hasNext()) {
+			language_iterator.next();
+			current_row++;
+		    }
+		    if(current_row == row) {
+			String language = (String)language_iterator.next();
+			if(column == 0) {
+			    return CollectionDesignManager.language_manager.getLanguageName(language);
+			}
+			else {
+			    CollectionMeta metadatum = getMetadata(language);
+			    return metadatum.getValue(CollectionMeta.TEXT);
+			}
+		    }
+		    language_iterator = null;
+		}
+		return "#Error";
+	    }
+
+	    public void remove(int index) {
+		metadata.remove(index);
+		fireTableRowsDeleted(index, index);
+	    }
+
+	    public void setData(String feature_name, TreeSet languages, ArrayList metadata) {
+		this.feature_name = feature_name;
+		this.languages = languages;
+		this.metadata = metadata;
+		fireTableDataChanged();
+	    }
+
+	    public int size() {
+		return metadata.size();
+	    }
+	}
+
+	private class FragmentTableRenderer
+	    extends DefaultTableCellRenderer {
+	    /** Retrieve the component used to rubberstamp the table based on the given parameters.
+	     * @param table The <strong>JTable</strong> to rendered.
+	     * @param value The <strong>Object</strong> whose representation will be shown in the table row.
+	     * @param isSelected <i>true</i> iff the column/row is selected.
+	     * @param hasFocus <i>true</i> iff the column/row is in focus.
+	     * @param row An <i>int</i> specifying the target row.
+	     * @param column An <i>int</i> specifying the target column.
+	     * @see org.greenstone.gatherer.cdm.Language
+	     */
+	    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
+		JComponent component = (JComponent) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
+		if(isSelected) {
+		    component.setBackground(Configuration.getColor("coloring.workspace_heading_background", false));
+		}
+		else {
+		    component.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+		}
+		return component;
+	    }
+	}
+
+	private class LanguageActionListener
+	    implements ActionListener {
+	    public void actionPerformed(ActionEvent event) {
+		if(!ignore_event && features_list.getSelectedIndex()>-1) {
+		    ignore_event = true;
+		    ///ystem.err.println("LanguageActionListener");
+		    // If the newly selected language value already exists in the fragment table, and that row isn't the one selected, then select that row the text area.
+		    String language_name = language_combobox.getSelectedItem().toString();
+		    int index = fragment_table_model.getMetadataIndexByLanguage(language_name);
+		    if(index != -1) {
+			CollectionMeta metadata = fragment_table_model.getMetadata(index);
+			fragment_table.setRowSelectionInterval(index, index);
+			translation_area.setText(metadata.getValue(CollectionMeta.TEXT));
+		    }
+		    else {
+			fragment_table.clearSelection();
+			translation_area.setText("");
+		    }
+		    // Ready the text area
+		    translation_area.setEnabled(true);
+		    translation_area.setBackground(Configuration.getColor("coloring.editable_background", false));
+		    ignore_event = false;
+		}
+	    }
+	}
+
+	private class TranslationDocumentListener
+	    implements DocumentListener {
+	    /** Gives notification that an attribute or set of attributes changed. */
+	    public void changedUpdate(DocumentEvent e) {
+		update();
+	    }
+	    /** Gives notification that there was an insert into the document. */
+	    public void insertUpdate(DocumentEvent e) {
+		update();
+	    }
+	    /** Gives notification that a portion of the document has been removed. */
+	    public void removeUpdate(DocumentEvent e) {
+		update();
+	    }
+	    /** The text area has changed in some way. Given that this can only happed when we are editing or adding a text fragment we better respond appropriately. */
+	    private void update() {
+		String translation_text = translation_area.getText();
+		// Determine if add should be enabled. You can only add if the current text fragment doesn't already exist in the fragment table for the given language
+		String language = (String) language_combobox.getSelectedItem();
+		CollectionMeta metadatum = fragment_table_model.getMetadata(language);
+		add_button.setEnabled(translation_text.length() > 0 && (metadatum.isDummy() || fragment_table_model.getMetadataIndexByLanguage(language) == -1));
+		language = null;
+		// Determine if replace should be enabled. Replace is only enabled it the text fragment is different from the one in the current fragment table selection.
+		if(fragment_table.getSelectedRowCount() > 0) {
+		    replace_button.setEnabled(!metadatum.isDummy() && !translation_text.equals(fragment_table.getValueAt(fragment_table.getSelectedRow(), 1)));
+		}
+		// Nothing selected, nothing to replace
+		else {
+		    replace_button.setEnabled(false);
+		}
+		translation_text = null;
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/collection/BasicCollectionConfiguration.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/collection/BasicCollectionConfiguration.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/collection/BasicCollectionConfiguration.java	(revision 21123)
@@ -0,0 +1,286 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.collection;
+
+import java.io.*;
+import java.util.ArrayList;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.cdm.CommandTokenizer;
+import org.greenstone.gatherer.util.Codec;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+/** This class provides access to a collection configuration file. This version accepts either a valid xml document or a historical collect.cfg file. */
+public class BasicCollectionConfiguration
+    implements Comparable {
+    
+    private File file;
+    private String creator = "";
+    private String description = "";
+    private String maintainer = "";
+    private String name = "";
+    private String is_public = "";
+    private String collectgroup = "false";
+    
+  private String short_name = "";
+  
+    private String site = null; // used for gs3 colls
+    
+    public BasicCollectionConfiguration(File file) {
+	this.file = file;
+	try {
+	    String filename = file.getName().toLowerCase();
+	    if(!file.exists()) {
+		return;
+	    }
+	    if(filename.endsWith(".cfg")) {
+		FileInputStream fis = new FileInputStream(file);
+		InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
+		BufferedReader br = new BufferedReader(isr);
+		String command = null;
+		while((command = br.readLine()) != null) {
+		  if (command.startsWith("#")) {
+		    // a comment
+		    continue;
+		  }
+		    if(command.length() > 0) {
+			// We have to test the end of command for the special character '\'. If found, remove it and append the next line, then repeat.
+			while(command.trim().endsWith("\\")) {
+			    command = command.substring(0, command.lastIndexOf("\\"));
+			    String next_line = br.readLine();
+			    if (next_line != null) {
+				command = command + "\n" + next_line;
+			    }
+			    next_line = null;
+			}
+			CommandTokenizer tokenizer = new CommandTokenizer(command, br);
+			String command_type_str = tokenizer.nextToken();
+			if (command_type_str == null) {
+			    // Bad command. Do nothing
+			    continue;
+			}
+			
+			command_type_str = command_type_str.toLowerCase();
+			if(command_type_str.equals(StaticStrings.COLLECTIONMETADATA_CREATOR_STR)) {
+			    creator = tokenizer.nextToken();
+			}
+			else if(command_type_str.equals(StaticStrings.COLLECTIONMETADATA_MAINTAINER_STR)) {
+			    maintainer = tokenizer.nextToken();
+			}
+			else if(command_type_str.equals(StaticStrings.COLLECTIONMETADATA_COLLECTGROUP_STR)) {
+			    collectgroup = tokenizer.nextToken();
+			}
+			else if(command_type_str.equalsIgnoreCase(StaticStrings.COLLECTIONMETADATA_STR)) {
+			    String meta_type_str = tokenizer.nextToken();
+			    String value_str = tokenizer.nextToken();
+			    // check for language
+			    String language_str = StaticStrings.ENGLISH_LANGUAGE_STR; // assume the no-lang ones are english, but we shouldn't really do this.
+			    if(meta_type_str != null && value_str != null) {
+				meta_type_str = meta_type_str.toLowerCase();
+				if(value_str.startsWith(StaticStrings.LBRACKET_CHARACTER) && value_str.endsWith(StaticStrings.RBRACKET_CHARACTER)) {
+				    language_str = value_str.substring(value_str.indexOf(StaticStrings.EQUALS_CHARACTER) + 1, value_str.length() - 1);
+				    language_str = language_str.toLowerCase();
+				    value_str = tokenizer.nextToken();
+				}
+				// now we can work out which coll meta we are dealing with
+				if (meta_type_str.equals(StaticStrings.COLLECTIONMETADATA_COLLECTIONNAME_STR)) {
+				    // If this is the first collection title found, then use it, otherwise search for one that more closely matches our choosen interface language
+				    if (name == null || language_str.equals(Dictionary.getLanguage())) {
+					name = Codec.transform(value_str, Codec.GREENSTONE_TO_TEXT);
+				    }
+				}
+				else if (meta_type_str.equals(StaticStrings.COLLECTIONMETADATA_COLLECTIONEXTRA_STR)) {
+				    // Again we are either looking for the first description, then after that a language specific one
+				    if (description == null || language_str.equals(Dictionary.getLanguage())) {
+					description = Codec.transform(value_str, Codec.GREENSTONE_TO_TEXT);
+				    }
+				}
+			    }
+			    language_str = null;
+			    value_str = null;
+			    meta_type_str = null;
+			} else {
+			    // we want to process all the tokens to make sure we get rid of multi line commands before trying to find the next one
+			    while (tokenizer.hasMoreTokens()) {
+			    	tokenizer.nextToken();
+			    }
+
+			} // end of coll meta bit
+			command_type_str = null;
+			tokenizer = null;
+		    } // if command.length > 0
+		} // while
+		command = null;
+		br.close();
+		isr.close();
+		br = null;
+		isr = null;
+	    } // cfg file
+	    ///ystem.err.println("Parsed collect.cfg");
+	    ///ystem.err.println("name		= " + name);
+	    ///ystem.err.println("creator	 = " + creator);
+	    ///ystem.err.println("maintainer  = " + maintainer);
+	    ///ystem.err.println("description = " + description);
+
+	    if(filename.endsWith(".xml")) {
+		
+		Document xml_file_doc = XMLTools.parseXMLFile(file);
+		Element root = xml_file_doc.getDocumentElement();
+
+		Node metadataListNode = XMLTools.getChildByTagName(root, StaticStrings.METADATALIST_STR);
+		Node displayItemListNode = XMLTools.getChildByTagName(root, StaticStrings.DISPLAYITEMLIST_STR);
+
+		if (metadataListNode != null) {
+		  ArrayList metadata_list = XMLTools.getChildElementsByTagName((Element)metadataListNode, StaticStrings.METADATA_STR);
+		  for (int i=0; i<metadata_list.size(); i++) {
+		    Element meta = (Element) metadata_list.get(i);
+		    String meta_name = meta.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+		    if (meta_name.equals(StaticStrings.COLLECTIONMETADATA_CREATOR_STR)) {
+		      creator = XMLTools.getNodeText(meta);
+		    } else if (meta_name.equals(StaticStrings.COLLECTIONMETADATA_MAINTAINER_STR)) {
+		      maintainer = XMLTools.getNodeText(meta);
+		    } else if (meta_name.equals(StaticStrings.COLLECTIONMETADATA_PUBLIC_STR)) {
+		      is_public = XMLTools.getNodeText(meta);
+		    }
+		  }
+		  
+		}
+		if (displayItemListNode != null) {
+		  ArrayList display_list = XMLTools.getChildElementsByTagName((Element)displayItemListNode, StaticStrings.DISPLAYITEM_STR);
+		  for (int i=0; i<display_list.size(); i++) {
+		    Element meta = (Element) display_list.get(i);
+		    String meta_name = meta.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+		    if (meta_name.equals(StaticStrings.NAME_STR)) {
+		      name = XMLTools.getNodeText(meta);
+		    } else if (meta_name.equals(StaticStrings.DESCRIPTION_STR)) {
+		      description = XMLTools.getNodeText(meta);
+		    } 
+		    
+		  }
+		}
+	    }
+	    
+	}
+	catch(Exception error) {
+	    DebugStream.println("Error in CollectionConfiguration.<init>(): " + error);
+	    DebugStream.printStackTrace(error);
+	}
+
+    }
+
+    /** Compare this configuration to another for ordering, which essentially compares two strings for ordering.
+     * @param other the other Object which is presumably another basic collection configuration
+     * @return an integer which is either <0, 0 or >0 if this configuration is naturally less than, equal to or greater than the target object
+     */
+    public int compareTo(Object other) {
+	if(other == null) {
+	    return -1;
+	}
+	return toString().compareTo(other.toString());
+    }
+
+    public boolean equals(Object other) {
+	return (compareTo(other) == 0);
+    }
+
+    /** Retrieve the creators email for this collection.
+     * @return a String
+     */
+    public String getCreator() {
+	return creator;
+    }
+
+    public String getDescription() {
+	return description;
+    }
+
+    public File getFile() {
+	return file;
+    }
+    
+    public String getMaintainer() {
+	return maintainer;
+    }
+
+    public String getName() {
+	return name;
+    }
+
+    public String getIsPublic() {
+	return is_public;
+    }
+
+    public String getCollectGroup() {
+	return collectgroup;
+    }
+    
+    /** Retrieve the short name for this collection which, given this current file is in <col_name>/etc/collect.cfg, is the name of this file's parent file's parent.
+     * @return the short name of this collection as a String
+     */
+    public String getShortName() {
+      if (short_name.equals("")) {
+	String collectDir = Gatherer.getCollectDirectoryPath();
+	String currentCollDir = file.getParentFile().getParentFile().getAbsolutePath(); 
+	if (currentCollDir.startsWith(collectDir)) {
+	  short_name = currentCollDir.substring(collectDir.length());
+	  short_name.replace('\\', '/');
+	} else {
+	  short_name = file.getParentFile().getParentFile().getName();
+	}
+      }
+      return short_name;
+	
+    }
+    
+    /** set the site for this coll */
+    public void setSite(String site) {
+	this.site = site;
+    }
+	
+    
+    /** Display the title for this collection. */
+    public String toString() {
+	if (this.site == null) {
+	    return getName() + StaticStrings.SPACE_CHARACTER + StaticStrings.OPEN_PARENTHESIS_CHARACTER + getShortName() + StaticStrings.CLOSE_PARENTHESIS_CHARACTER;
+	} else {
+	    return getName() + StaticStrings.SPACE_CHARACTER + StaticStrings.OPEN_PARENTHESIS_CHARACTER + getShortName()+", "+this.site + StaticStrings.CLOSE_PARENTHESIS_CHARACTER;
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/collection/Collection.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/collection/Collection.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/collection/Collection.java	(revision 21123)
@@ -0,0 +1,521 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.collection;
+
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.cdm.CollectionDesignManager;
+import org.greenstone.gatherer.cdm.CollectionMeta;
+import org.greenstone.gatherer.cdm.CollectionMetaManager;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+/** Collection provides a common collection point for all the information about a certain collection build session. It keeps a record of several other managers that actually handle the content of the collection, such as metadata sets and metadata itself.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3c
+ */
+public class Collection {
+    /** A reference to the Collection Design Manager. */
+    public CollectionDesignManager cdm;
+    /** A reference to the build ScriptOptions. */
+    public ScriptOptions build_options;
+    /** A reference to the import ScriptOptions. */
+    public ScriptOptions import_options;
+    /** A reference to the schedule ScriptOptions */ 
+    public ScriptOptions schedule_options; 
+    /** true if an error has occurred during construction */
+    public boolean error = false;
+    /** <i>true</i> if the currently loaded collection has been saved since the last significant change, <i>false</i> otherwise. */
+    private boolean saved = false;
+    /*<i>true</i> if the currently loaded collection has had files added since its last build */
+    private boolean filesChanged = false;
+    /*<i>true</i> if the currently loaded collection has had metadata added since its last build */
+    private boolean metadataChanged = false;
+    /** The document around which this collection class is based. */
+    private Document document;
+
+     /** The file the collection is in (the file may not actually exist, such in the case of a legacy collection)! */
+     private File file;
+    /** The name of the argument element. */
+    static final private String ARGUMENT = "Argument";
+    static final private String BASE_COLLECTION = "base_collection";
+    /** The name of the build element. */
+    static final private String BUILD = "Build";
+    /** The name of the build config element. */
+    static final private String BUILD_CONFIG = "BuildConfig";
+    /** The name of the collection xml template. */
+    static final private String COLLECTION_XML_TEMPLATE = "xml/template.col";
+    /** The name of the import element. */
+    static final private String IMPORT = "Import";
+    /** The name of the schedule element. */
+    static final private String SCHEDULE = "Schedule"; 
+    /** The name of the export element. */
+    static final private String EXPORT = "Export";
+    /** The name of the imported attribute. */
+    static final private String IMPORTED = "imported";
+      /** The name of the imported attribute. */
+    static final private String SKIM_FILE = "skimfile"; 
+     
+
+    /** Constructor. */
+    public Collection(File collection_xml) {
+	this.file = collection_xml;
+	// Try to load this collections details.
+       	document = XMLTools.parseXMLFile(collection_xml);
+	// If that fails load the default settings for a collection.
+	if(document == null) {
+	    document = XMLTools.parseXMLFile(COLLECTION_XML_TEMPLATE, true);
+	}
+	if (document == null) {
+	    error = true;
+	    return;
+	}
+	// Point the Configuration class at our gatherer config arguments.
+	Configuration.setCollectionConfiguration(document);
+	if (Gatherer.g_man != null) {
+	    Gatherer.g_man.updateUI();
+	}
+	// Finally create all of the child managers that are directly dependant on a collection
+
+	if (Configuration.fedora_info.isActive()) {
+	    build_options = new ScriptOptions(getValues(BUILD), "g2f-buildcol.pl");
+	    import_options = new ScriptOptions(getValues(IMPORT), "g2f-import.pl");
+	}
+	else {
+	    build_options = new ScriptOptions(getBuildValues(), "buildcol.pl");
+	    import_options = new ScriptOptions(getImportValues(), "import.pl");
+	    schedule_options = new ScriptOptions(getScheduleValues(), "schedule.pl");
+	}
+    }
+    
+    /** Destructor.
+     * @see org.greenstone.gatherer.Configuration
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.cdm.CollectionDesignManager
+     */
+    public void destroy() {
+	cdm.destroy();
+	Configuration.setCollectionConfiguration(null);
+	// this is called after calling collection.destroy, so we shouldn't need it here too.
+// 	if (Gatherer.g_man != null) {
+// 	    Gatherer.g_man.updateUI();
+// 	}
+	cdm = null;
+	document = null;
+    }
+    
+    /** Determine the number of documents and folders in this collection. */
+    public int getCount() {
+	return getCount((TreeNode)Gatherer.c_man.getCollectionTreeModel().getRoot(), true, true);
+    }
+    
+    /** Calculates the number of documents in this collection. */
+    public int getDocumentCount() {
+	return getCount((TreeNode)Gatherer.c_man.getCollectionTreeModel().getRoot(), false, true);
+    }
+    
+    /** Retrieve the description of this collection.
+     * @return a String
+     */
+    public String getDescription() {
+	if(cdm == null) {
+	    return StaticStrings.EMPTY_STR;
+	}
+	CollectionMeta collection_extra_collectionmeta = cdm.collectionmeta_manager.getMetadatum(StaticStrings.COLLECTIONMETADATA_COLLECTIONEXTRA_STR);
+	return collection_extra_collectionmeta.getValue(CollectionMeta.TEXT);
+    }
+    
+    /** Retrieve the authors email for this collection.
+     * @return The email as a <strong>String</strong>.
+     */
+    public String getEmail() {
+	if(cdm == null) {
+	    return StaticStrings.EMPTY_STR;
+	}
+	CollectionMeta creator_collectionmeta = new CollectionMeta(CollectionDesignManager.collect_config.getCreator());
+	return creator_collectionmeta.getValue(CollectionMeta.TEXT);
+    }
+
+    /** Retrieve the short name for this collection.
+     * @return The name as a <strong>String</strong>.
+     */
+    public String getName() {
+	return getCollectionTailName();
+    }
+
+    /** @return just the tail-name of the collection: without any collection group prefix */
+    public String getCollectionTailName() {
+	return file.getParentFile().getName();
+    }
+
+    /** @return just the name of the collection group if any, else returns "" */
+    public String getCollectionGroupName() {
+	String groupAndColName = getGroupQualifiedName(true);
+
+	int slash = groupAndColName.indexOf('/');
+	if(slash == -1) {
+	    return "";
+	} else { // remove the colName from the end, to get the groupName
+	    return groupAndColName.substring(0, slash);
+	}
+    }
+
+    /** 
+     * If the collection is part of a collection group, returns the 
+     * colgroupname/colname, else returns the colname.
+     * If url = true, then returns the sub-path as a URL (containing / only), 
+     * and if url = false, then the sub-path is returned in filepath form 
+     * (\ or /, depending on the OS).
+     * @return collection-group-name/collection-name
+     */
+    public String getGroupQualifiedName(boolean url) {
+	// Subtracting collect dir's path from the current collection's path
+
+	String groupAndCol;
+	String collectDir = Gatherer.getCollectDirectoryPath();
+	String currentCollDir = file.getParentFile().getAbsolutePath(); 
+   
+	if(currentCollDir.startsWith(collectDir)) {
+	    groupAndCol = currentCollDir.substring(collectDir.length());	    
+	} else {
+	    // shouldn't happen, but in case it does, just return the collection name.
+	    System.err.println("Current collection " + currentCollDir + " is not located inside collectdir " + collectDir);
+	    groupAndCol = getCollectionTailName();
+	}
+
+	if(url) {
+	    groupAndCol = groupAndCol.replace('\\', '/');
+	}
+
+	return groupAndCol;
+    }
+    
+    public File getCollectionDirectory() {
+	return file.getParentFile();
+    }
+
+    /** Determine if this collection has been saved since the last major change.
+     * @return <i>true</i> if it has been saved recently, <i>false</i> otherwise.
+     */
+    public boolean getSaved() {
+	return saved;
+    }
+
+    /** Determine if this collection has had its collection files changed since the last build.
+     * @return <i>true</i> if they have been saved, <i>false</i> otherwise.
+     */
+    public boolean getFilesChanged() {
+	return filesChanged;
+    }
+    
+    /** Set the flag that marks weather or not the files has been changed since the last build.
+	@param changed if files has been added/removed, as a <strong>boolean</strong>
+    */
+    public void setFilesChanged(boolean changed) {
+	filesChanged = changed;
+    }
+
+    /** Determine if this collection has had metadata changed since the last build.
+     * @return <i>true</i> if it has been changed, <i>false</i> otherwise.
+     */
+    public boolean getMetadataChanged() {
+	return metadataChanged;
+    }
+    
+    /** Set the flag that marks weather or not the metadata has been changed since the last build.
+	@param changed if metadata has been added/changed/removed, as a <strong>boolean</strong>
+    */
+    public void setMetadataChanged(boolean changed) {
+	metadataChanged = changed;
+    }
+
+    /** Retrieve the title of this collection.
+     * @return The title as a <strong>String</strong>.
+     */
+    public String getTitle() {
+	if(cdm == null) {
+	    return StaticStrings.EMPTY_STR;
+	}
+	CollectionMeta collection_name_collectionmeta = cdm.collectionmeta_manager.getMetadatum(StaticStrings.COLLECTIONMETADATA_COLLECTIONNAME_STR);
+	return collection_name_collectionmeta.getValue(CollectionMeta.TEXT);
+    }
+
+    /** Save this xml document to the given file. */
+    public void save() {
+	XMLTools.writeXMLFile(file, document);
+	saved = true;
+    }
+
+    public void setBaseCollection(String base_collection) {
+	set(BASE_COLLECTION, base_collection);
+    }
+    
+    /** Set the value of imported to the given value.
+     * @param value The new value for imported, <i>true</i> if the collection has been imported successfully, <i>false</i> otherwise.
+     */
+    public void setImported(boolean value) {
+	set(IMPORTED, value);
+	saved = false;
+    }
+
+    /** Set the value of saved to the given value.
+     * @param value The new value for saved, <i>true</i> if the collection has been saved recently, <i>false</i> otherwise.
+     */
+    public void setSaved(boolean value) {
+	saved = value;
+    }
+
+    /** Set the value of title to the given value.
+     * @param title The new <strong>String</strong> title.
+     */
+    public void setTitle(String title) {
+	if(cdm != null) {
+	    CollectionMeta collection_name_collectionmeta = cdm.collectionmeta_manager.getMetadatum(StaticStrings.COLLECTIONMETADATA_COLLECTIONNAME_STR);
+	    collection_name_collectionmeta.setValue(title);
+	}
+    }
+
+    /** Method called to return a textual representation of a class, which in this case is the collections title.
+     * @return A <strong>String</strong> containing the collections title.
+     */
+    public String toString() {
+	return getTitle();
+    }
+ 
+    public boolean toSkimFile(){
+	 Element document_element = document.getDocumentElement();
+	 NodeList arguments = document_element.getElementsByTagName(ARGUMENT);
+          for(int i = 0;  i < arguments.getLength(); i++) {
+	      Element argument_element = (Element) arguments.item(i);
+              if(argument_element.getAttribute(StaticStrings.NAME_ATTRIBUTE).equalsIgnoreCase(SKIM_FILE)) {
+		  String skimfile = XMLTools.getValue(argument_element); 
+		  if (skimfile !=null && skimfile.trim().toLowerCase().equals("false")){
+		      return false;
+		  } 
+	      }
+	     
+	  }
+	  
+	  return true;
+    }
+
+    
+    /** Get the value of a collection argument. */
+    private boolean get(String name) {
+	boolean result = false;
+	try {
+	    Element document_element = document.getDocumentElement();
+	    NodeList arguments = document_element.getElementsByTagName(ARGUMENT);
+	    boolean found = false;
+	    for(int i = 0; !found && i < arguments.getLength(); i++) {
+		Element argument_element = (Element) arguments.item(i);
+		if(argument_element.getParentNode() == document_element) {
+		    if(argument_element.getAttribute(StaticStrings.NAME_ATTRIBUTE).equalsIgnoreCase(name)) {
+			String value = XMLTools.getValue(argument_element);
+			if(value.equalsIgnoreCase(StaticStrings.TRUE_STR)) {
+			    result = true;
+			}
+			found = true;
+			value = null;
+		    }
+		}
+		argument_element = null;
+	    }
+	    arguments = null;
+	    document_element = null;
+	}
+	catch (Exception error) {
+	    DebugStream.printStackTrace(error);
+	}
+	return result;
+    }
+    
+    /** Get the value of a collection argument. */
+    private String getString(String name) {
+	String result = "";
+	try {
+	    Element document_element = document.getDocumentElement();
+	    NodeList arguments = document_element.getElementsByTagName(ARGUMENT);
+	    boolean found = false;
+	    for(int i = 0; !found && i < arguments.getLength(); i++) {
+		Element argument_element = (Element) arguments.item(i);
+		if(argument_element.getParentNode() == document_element) {
+		    if(argument_element.getAttribute(StaticStrings.NAME_ATTRIBUTE).equalsIgnoreCase(name)) {
+			result = XMLTools.getValue(argument_element);
+			found = true;
+		    }
+		}
+		argument_element = null;
+	    }
+	    arguments = null;
+	    document_element = null;
+	}
+	catch (Exception error) {
+	    DebugStream.printStackTrace(error);
+	}
+	return result;
+    }
+
+    
+
+    /** Method to retrieve the current import/build/export/whatever options associated with this Collection. */
+    private Element getValues(String val_type) {
+	Element values_element = null;
+	try {
+	    Element document_element = document.getDocumentElement();
+	    Element config_element = (Element) XMLTools.getNodeFromNamed(document_element, BUILD_CONFIG);
+	    values_element = (Element) XMLTools.getNodeFromNamed(config_element, val_type);
+	    config_element = null;
+	    document_element = null;
+	}
+	catch (Exception error) {
+	    DebugStream.printStackTrace(error);
+	}
+	return values_element;
+    }
+
+    
+    /** Method to retrieve the current build options associated with this Collection. */
+    private Element getBuildValues() {
+	Element build_values_element = null;
+	try {
+	    Element document_element = document.getDocumentElement();
+	    Element build_config_element = (Element) XMLTools.getNodeFromNamed(document_element, BUILD_CONFIG);
+	    build_values_element = (Element) XMLTools.getNodeFromNamed(build_config_element, BUILD);
+	    build_config_element = null;
+	    document_element = null;
+	}
+	catch (Exception error) {
+	    DebugStream.printStackTrace(error);
+	}
+	return build_values_element;
+    }
+
+    private Element getScheduleValues() {
+	Element schedule_values_element = null;
+	try {
+	    Element document_element = document.getDocumentElement();
+	    Element build_config_element = (Element) XMLTools.getNodeFromNamed(document_element, BUILD_CONFIG);
+	    schedule_values_element = (Element) XMLTools.getNodeFromNamed(build_config_element, SCHEDULE);
+	    build_config_element = null;
+	    document_element = null;
+	}
+	catch (Exception error) {
+	    DebugStream.printStackTrace(error);
+	} 
+	return schedule_values_element;
+    }
+    
+    /** Count either documents or folders, depending on the state of the given boolean. */
+    private int getCount(TreeNode node, boolean count_folders, boolean count_files) {
+	int count = 0;
+	File file = ((CollectionTreeNode)node).getFile();
+	if(file.isFile() && count_files) {
+	    count++;
+	}
+	else if(file.isDirectory() && count_folders) {
+	    count++;
+	}
+	for(int i = 0; !file.getName().equals("CVS") && i < node.getChildCount(); i++) {
+	    count = count + getCount(node.getChildAt(i), count_folders, count_files);
+	}
+	return count;
+    }
+    
+    /** Method to retrieve the current import options associated with this Collection. */
+    public Element getImportValues() {
+	Element import_values_element = null;
+	try {
+	    Element document_element = document.getDocumentElement();
+	    Element build_config_element = (Element) XMLTools.getNodeFromNamed(document_element, BUILD_CONFIG);
+	    import_values_element = (Element) XMLTools.getNodeFromNamed(build_config_element, IMPORT);
+	    build_config_element = null;
+	    document_element = null;
+	}
+	catch (Exception error) {
+	    DebugStream.printStackTrace(error);
+	}
+	return import_values_element;
+    }
+    
+    /** Set the value of a collection argument. */
+    private void set(String name, boolean value) {
+	set(name, (value ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR));
+    }
+    
+    private void set(String name, String value) {
+	try {
+	    Element document_element = document.getDocumentElement();
+	    NodeList arguments = document_element.getElementsByTagName(ARGUMENT);
+	    boolean found = false;
+	    for(int i = 0; !found && i < arguments.getLength(); i++) {
+		Element argument_element = (Element) arguments.item(i);
+		if(argument_element.getParentNode() == document_element) {
+		    if(argument_element.getAttribute(StaticStrings.NAME_ATTRIBUTE).equalsIgnoreCase(name)) {
+			// Strip any current value nodes.
+			while(argument_element.hasChildNodes()) {
+			    argument_element.removeChild(argument_element.getFirstChild());
+			}
+			// Append new value
+			argument_element.appendChild(document.createTextNode(value));
+			found = true;
+		    }
+		}
+		argument_element = null;
+	    }
+	    // Append it
+	    if(!found) {
+		Element argument_element = document.createElement(ARGUMENT);
+		argument_element.setAttribute(StaticStrings.NAME_ATTRIBUTE, name);
+		argument_element.appendChild(document.createTextNode(value));
+		document_element.appendChild(argument_element);
+		argument_element = null;
+	    }
+	    arguments = null;
+	    document_element = null;
+	}
+	catch (Exception error) {
+	    DebugStream.printStackTrace(error);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/collection/CollectionContentsChangedListener.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/collection/CollectionContentsChangedListener.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/collection/CollectionContentsChangedListener.java	(revision 21123)
@@ -0,0 +1,37 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.collection;
+
+
+import java.io.File;
+
+
+public interface CollectionContentsChangedListener
+{
+    /** Notification that a new file has been added to the collection. */
+    public void fileAddedToCollection(File file);
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/collection/CollectionManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/collection/CollectionManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/collection/CollectionManager.java	(revision 21123)
@@ -0,0 +1,2172 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.collection;
+
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.filechooser.FileSystemView;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.cdm.CollectionDesignManager;
+import org.greenstone.gatherer.cdm.CollectionMeta;
+import org.greenstone.gatherer.cdm.CollectionMetaManager;
+import org.greenstone.gatherer.cdm.CommandTokenizer;
+import org.greenstone.gatherer.cdm.BuildTypeManager;
+import org.greenstone.gatherer.cdm.CollectionConfiguration;
+import org.greenstone.gatherer.greenstone.Classifiers;
+import org.greenstone.gatherer.greenstone.LocalGreenstone;
+import org.greenstone.gatherer.greenstone.LocalLibraryServer;
+import org.greenstone.gatherer.greenstone.Plugins;
+import org.greenstone.gatherer.greenstone3.ServletConfiguration;
+import org.greenstone.gatherer.gui.LockFileDialog;
+import org.greenstone.gatherer.gui.ModalProgressPopup;
+import org.greenstone.gatherer.gui.WarningDialog;
+import org.greenstone.gatherer.metadata.DocXMLFileManager;
+import org.greenstone.gatherer.metadata.MetadataChangedListener;
+import org.greenstone.gatherer.metadata.MetadataSet;
+import org.greenstone.gatherer.metadata.MetadataSetManager;
+import org.greenstone.gatherer.metadata.MetadataXMLFileManager;
+import org.greenstone.gatherer.metadata.ProfileXMLFileManager;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.greenstone.gatherer.shell.GShell;
+import org.greenstone.gatherer.shell.GShellEvent;
+import org.greenstone.gatherer.shell.GShellListener;
+import org.greenstone.gatherer.shell.GShellProgressMonitor;
+import org.greenstone.gatherer.util.Codec;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+/** This class manages many aspects of the collection, from its creation via scripts, data access via methods and its importing and building into the final collection. It is also responsible for firing appropriate event when significant changes have occured within the collection, and for creating a new metadata set manager as necessary.
+ * @author John Thompson
+ * @version 2.3
+ */
+public class CollectionManager
+    implements GShellListener, MetadataChangedListener
+{
+    /** Are we currently in the process of building? */
+    static private boolean building = false;
+    /** Are we currently in the process of importing? */
+    static private boolean importing = false;
+    /** Are we currently in the process of scheduling? */ 
+    static private boolean scheduling = false; 
+    /** The objects listening for CollectionContentsChanged events. */
+    static private ArrayList collection_contents_changed_listeners = new ArrayList();
+    /** The collection this manager is managing! */
+    static private Collection collection = null;
+    /** The collection tree (used in both Gather and Enrich panes). */
+    static private CollectionTree collection_tree = null;
+    /** The collection tree model. */
+    static private CollectionTreeModel collection_tree_model = null;
+    /** An inner class listener responsible for noting tree changes and resetting saved when they occur. */
+    static private FMTreeModelListener fm_tree_model_listener = null;
+    /** The monitor responsible for parsing the build process. */
+    static private GShellProgressMonitor build_monitor = null;
+    /** The monitor responsible for parsing the import process. */
+    static private GShellProgressMonitor import_monitor = null;
+    /** The monitor responsible for parsing the scheduler process. */ 
+    static private GShellProgressMonitor schedule_monitor = null; 
+
+    /** The name of the standard lock file. */
+    static final public String LOCK_FILE = "gli.lck";
+
+    /** Used to indicate the source of the message is the file collection methods. */
+    static final public int COLLECT   = 3;
+    /** Used to indicate the source of the message is the building methods. */
+    static final public int BUILDING  = 5;
+    /** Used to indicate the source of the message is in the scheduling methods...?  */ 
+    static final public int SCHEDULING = 7; 
+
+    /** To store the path to the perl scripts. In the case of local Greenstone servers, 
+     * this will be the local bin/script folder. */
+    static private String scriptPath = "";
+  
+    /** Constructor. */
+    public CollectionManager() {
+	// Initialisation.
+	this.building = false;
+	this.importing = false;
+	this.scheduling = false; 
+	this.collection = null;
+
+	MetadataXMLFileManager.addMetadataChangedListener(this);
+
+	// If using a remote Greenstone server, delete the local collect directory because it will be out of date
+	if (Gatherer.isGsdlRemote) {
+	    System.err.println("Deleting user's local collect directory...");
+	    Utility.delete(new File(Gatherer.getCollectDirectoryPath()));
+	    System.err.println("Done.");
+	    new File(Gatherer.getCollectDirectoryPath()).mkdirs();
+
+	    scriptPath = ""; // remote greenstone: scriptPath will be determined on remote server side
+	} 
+	else { // local greenstone case: scripts are inside bin/script
+	    scriptPath = LocalGreenstone.getBinScriptDirectoryPath();
+	}
+    }
+
+
+    static public void addCollectionContentsChangedListener(CollectionContentsChangedListener listener)
+    {
+	collection_contents_changed_listeners.add(listener);
+    }
+
+
+    /** This method calls the builcol.pl scripts via a GShell so as to not lock up the processor.
+     * @see org.greenstone.gatherer.Configuration
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.collection.Collection
+     * @see org.greenstone.gatherer.gui.BuildOptions
+     * @see org.greenstone.gatherer.shell.GShell
+     * @see org.greenstone.gatherer.shell.GShellListener
+     * @see org.greenstone.gatherer.shell.GShellProgressMonitor
+     * @see org.greenstone.gatherer.util.Utility
+     */
+    public void buildCollection()
+    {
+    
+	DebugStream.println("In CollectionManager.buildCollection(), CollectionDesignManager.isCompleteBuild(): " + CollectionDesignManager.isCompleteBuild());
+	DebugStream.println("Is event dispatch thread: " + SwingUtilities.isEventDispatchThread());
+	building = true;
+
+	// Generate the buildcol.pl command
+	ArrayList command_parts_list = new ArrayList();
+	if (!Gatherer.isGsdlRemote) {
+	    command_parts_list.add(Configuration.perl_path);
+	    command_parts_list.add("-S");
+	}
+
+	if (Configuration.fedora_info.isActive()) {
+	    command_parts_list.add(scriptPath + "g2f-buildcol.pl");
+
+	    command_parts_list.add("-hostname");
+	    command_parts_list.add(Configuration.fedora_info.getHostname());
+
+	    command_parts_list.add("-port");
+	    command_parts_list.add(Configuration.fedora_info.getPort());
+
+	    command_parts_list.add("-username");
+	    command_parts_list.add(Configuration.fedora_info.getUsername());
+
+	    command_parts_list.add("-password");
+	    command_parts_list.add(Configuration.fedora_info.getPassword());
+
+	    command_parts_list.add("-protocol");
+	    command_parts_list.add(Configuration.fedora_info.getProtocol());
+
+	}
+	else {
+		
+		if ( !CollectionDesignManager.isCompleteBuild() && CollectionDesignManager.index_manager.isLucene() ) {
+			command_parts_list.add(scriptPath + "incremental-buildcol.pl");
+			CollectionDesignManager.setBuildcolWasFull(false);
+		} else {
+			command_parts_list.add(scriptPath + "full-buildcol.pl");
+			CollectionDesignManager.setBuildcolWasFull(true);
+		}
+	}
+
+	command_parts_list.add("-gli");
+	command_parts_list.add("-language");
+	command_parts_list.add(Configuration.getLanguage());
+	if(!Gatherer.isGsdlRemote) {
+	    command_parts_list.add("-collectdir");
+	    command_parts_list.add(getCollectDirectory());
+	}
+
+	String[] build_options = collection.build_options.getValues();
+	for (int i = 0; i < build_options.length; i++) {
+	    command_parts_list.add(build_options[i]);
+	}
+
+	command_parts_list.add(collection.getName());
+
+	// Run the buildcol.pl and
+	String[] command_parts = (String[]) command_parts_list.toArray(new String[0]);
+	GShell shell = new GShell(command_parts, GShell.BUILD, BUILDING, this, build_monitor, GShell.GSHELL_BUILD);
+	shell.addGShellListener(Gatherer.g_man.create_pane);
+	shell.addGShellListener(Gatherer.g_man.format_pane);
+	shell.start();
+	
+    }
+
+    /*probably repeating alot of work, but I want to keep this separate... wendy*/
+    public void scheduleBuild()
+    {
+	DebugStream.println("In CollectionManager.scheduleBuild(), CollectionDesignManager.isCompleteBuild(): " + CollectionDesignManager.isCompleteBuild()); 
+	DebugStream.println("Is event dispatch threa: " + SwingUtilities.isEventDispatchThread()); 
+
+	ArrayList sched_list = new ArrayList(); 
+	if (!Gatherer.isGsdlRemote) {
+	    sched_list.add(Configuration.perl_path);
+	    sched_list.add("-S");
+	}
+	sched_list.add(scriptPath + "schedule.pl"); 
+	sched_list.add("-colname"); 
+	sched_list.add(collection.getName()); 
+	sched_list.add("-gli"); 
+
+	// First, generate the import.pl command, also converting to a string
+	// Generate the import.pl command
+	ArrayList import_list = new ArrayList();
+	if (!Gatherer.isGsdlRemote) {
+	    import_list.add(Configuration.perl_path);
+	    import_list.add("-S");
+	}
+
+	String cmdPrefix = CollectionDesignManager.isCompleteBuild() ? "full-" : "incremental-";
+	import_list.add(scriptPath + cmdPrefix + "import.pl");
+	import_list.add("-language");
+	import_list.add(Configuration.getLanguage());
+	if(!Gatherer.isGsdlRemote) {
+	    import_list.add("-collectdir");
+	    import_list.add(getCollectDirectory());
+	}
+
+	String[] import_options = collection.import_options.getValues();
+	int i = 0; 
+	for (i = 0; i < import_options.length; i++) {
+	    import_list.add(import_options[i]);
+	}
+
+	import_list.add(collection.getName());	
+
+	String[] import_parts = (String[]) import_list.toArray(new String[0]); 
+	String command = "";
+	i = 0; 
+	for (i = 0; i < import_parts.length-1; i++) {
+	    command = command + import_parts[i] + " "; 
+	} 
+	command = command + import_parts[i]; 
+
+	sched_list.add("-import"); 
+	sched_list.add("\"" + command + "\""); 
+
+	// Generate the buildcol.pl command, also converting to a string
+	ArrayList build_list = new ArrayList();
+
+	// i'm not doing this in schedule.pl right now - should i be? 
+	if (!Gatherer.isGsdlRemote) {
+	    build_list.add(Configuration.perl_path);
+	    build_list.add("-S");
+	}
+
+	String buildType = (new CollectionMeta( CollectionDesignManager.collect_config.getBuildType() )).getValue(CollectionMeta.TEXT);
+	if ( !CollectionDesignManager.isCompleteBuild() && buildType.equals( BuildTypeManager.BUILD_TYPE_LUCENE ) ) {
+		build_list.add(scriptPath + "incremental-buildcol.pl");
+	} else {
+		build_list.add(scriptPath + "full-buildcol.pl");
+	}
+
+	build_list.add("-language");
+	build_list.add(Configuration.getLanguage());
+	if(!Gatherer.isGsdlRemote) {
+	    build_list.add("-collectdir");
+	    build_list.add(getCollectDirectory());
+	}
+
+	String[] build_options = collection.build_options.getValues();
+	for (i = 0; i < build_options.length; i++) {
+	    build_list.add(build_options[i]);
+	}
+
+	build_list.add(collection.getName());
+	
+	//build actual string
+	String[] build_parts = (String[]) build_list.toArray(new String[0]);
+	String command2 = "";
+        for(i = 0; i < build_parts.length-1; i++) {
+            command2 = command2 + build_parts[i] + " ";
+        }
+	command2 = command2 + build_parts[i]; 
+
+	sched_list.add("-build"); 
+	sched_list.add("\"" + command2 + "\""); 
+	
+	//next, the scheduling frequency goes here
+	String[] schedule_options = collection.schedule_options.getValues();  
+	for(i = 0; i < schedule_options.length; i++) { 
+	    sched_list.add(schedule_options[i]); 
+	}
+
+	//now, hope it will run. ;) 
+	String[] sched_parts = (String[]) sched_list.toArray(new String[0]); 
+
+    	GShell shell = new GShell(sched_parts, GShell.SCHEDULE, SCHEDULING, this, schedule_monitor, GShell.GSHELL_SCHEDULE);
+	shell.addGShellListener(Gatherer.g_man.create_pane);
+	shell.addGShellListener(Gatherer.g_man.format_pane);
+	shell.start();
+    }
+
+    /** Used to determine whether the currently active collection has been built.
+     * @return A boolean indicating the built status of the collection.
+     */
+    public boolean built() {
+	if(collection != null) {
+	    // Determine if the collection has been built by looking for the build.cfg (gs2) 
+	    // buildConfig.xml (gs3) or export.inf (fedora) file
+	    String file_name = "";
+	    
+	    if (Configuration.fedora_info != null && Configuration.fedora_info.isActive()) { // FLI case
+		// Fedora build
+		//file_name = getLoadedCollectionArchivesDirectoryPath() + "import.inf";
+		file_name = getLoadedCollectionExportDirectoryPath() + "export.inf";
+	    } else { 
+		// GLI is running, check if it's greenstone 3 or greenstone 2
+		if (Gatherer.GS3) { // GS3 GLI
+		    file_name = getLoadedCollectionIndexDirectoryPath() + Utility.BUILD_CONFIG_XML;
+		}
+		else { // greenstone 2 GLI
+		    file_name = getLoadedCollectionIndexDirectoryPath() + Utility.BUILD_CFG;		   
+		}
+	    }
+	    File test_file = new File(file_name);
+	    return test_file.exists();
+	}
+	return false;
+    }
+
+    /** Used to determine whether the currently active collection has been imported.
+     * @return A boolean indicating the imported status of the collection.
+     */
+    public boolean imported() {
+        if ( collection != null ) {
+            String file_name = getLoadedCollectionDirectoryPath() + "archives";
+            File test_file = new File(file_name);
+            return test_file.exists();
+        }
+        return false;
+    }
+
+    /** a test method to see if we can delete a directory/file - returns false is the file or any of the contents of a directory cannot be deleted */
+    static private boolean canDelete(File file)
+    {
+	if (!file.isDirectory()) {
+	    return file.canWrite();
+	}
+	File [] file_list = file.listFiles();
+	for (int i=0; i<file_list.length; i++) {
+	    if (!canDelete(file_list[i])) {
+		return false;
+	    }
+	}
+	return true;
+    }
+
+
+    /** Called to close the current collection and remove its lock file.
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.collection.Collection
+     * @see org.greenstone.gatherer.util.Utility
+     */
+    public void closeCollection() {
+	DebugStream.println("Close collection: " + collection.getName());
+
+	// Remove the lock on this file, then remove the collection.
+	File lock_file = new File(getLoadedCollectionDirectoryPath() + LOCK_FILE);
+	lock_file.delete();
+	if (lock_file.exists()) {
+	    System.err.println("Warning: Lockfile was not successfully deleted.");
+	}
+
+	// Remove the lock file on the server
+	if (Gatherer.isGsdlRemote) {
+	    Gatherer.remoteGreenstoneServer.deleteCollectionFile(collection.getName(), lock_file);
+	}
+
+	MetadataSetManager.clearMetadataSets();
+	MetadataXMLFileManager.clearMetadataXMLFiles();
+	DocXMLFileManager.clearDocXMLFiles();
+	ProfileXMLFileManager.clearProfileXMLFile();
+
+	collection.destroy();
+	collection = null;
+	collection_tree_model = null;
+	//Configuration.setCollectionConfiguration(null);
+	Gatherer.refresh(Gatherer.COLLECTION_CLOSED);
+	if (Gatherer.g_man != null) {
+	    Gatherer.g_man.updateUI();  // !!! Necessary?
+	}
+    }
+
+//This method is no longer used in gs3 since the modification of CollectionConfiguration.java
+//    public void convertToGS3Collection() {
+//	// Generate the convert_coll_from_gs2.pl command
+//	ArrayList command_parts_list = new ArrayList();
+//	if ((Utility.isWindows()) && (!Gatherer.isGsdlRemote)) {
+//	    command_parts_list.add(Configuration.perl_path);
+//	    command_parts_list.add("-S");
+//	}
+//	command_parts_list.add(Configuration.getGS3ScriptPath() + "convert_coll_from_gs2.pl");
+//	command_parts_list.add("-collectdir");
+//	command_parts_list.add(getCollectDirectory());
+//    	command_parts_list.add(collection.getName());
+//
+//	// Run the convert_coll_from_gs2.pl command
+//	String[] command_parts = (String[]) command_parts_list.toArray(new String[0]);
+//	GShell process = new GShell(command_parts, GShell.CONVERT, COLLECT, this, null, GShell.GSHELL_CONVERT);
+//	process.addGShellListener(this);
+//	process.run(); // Don't bother threading this... yet
+//       
+//    }
+
+    /** When basing a new collection on an existing one, we need to copy 
+     *	over some extra directories: all except import, archives, building, index 
+     * really we just want images, macros, perllib, but there may also be eg style, or other dirs.
+     */
+    private boolean copyExtraBaseCollStuff(File new_coll_dir, File base_coll_dir) {
+	if (!new_coll_dir.isDirectory() || !base_coll_dir.isDirectory()) {
+	    return false;
+	}
+	DebugStream.println("Copying extra dirs from the base collection");
+	
+	
+	File subdirs[] = base_coll_dir.listFiles();
+	for (int i = 0; subdirs != null && i < subdirs.length; i++) {
+	  File subdir = subdirs[i];
+	  if (subdir.isDirectory()) {
+	    String dir_name = subdir.getName();
+	    // ignore those we don't need, (archives, buildng, index) and 
+	    // those we are handling in another place (import, etc, metadata)
+	    if (dir_name.startsWith ("import") || dir_name.startsWith("archives") || dir_name.startsWith("building") || dir_name.startsWith("index") || dir_name.startsWith("etc") || dir_name.startsWith("metadata") || dir_name.startsWith("log") || dir_name.startsWith("tmp")) {
+	      continue;
+	    }
+	    try {
+	      // copy the directory
+	      File new_coll_subdir = new File(new_coll_dir, dir_name);
+	      new_coll_subdir.mkdirs();
+	      Gatherer.f_man.getQueue().copyDirectoryContents(subdir, new_coll_subdir);
+	    }
+	    catch (Exception e) {
+	      DebugStream.println("Couldn't copy over the" + subdir+" dir from the base collection: "+e.toString());
+	    }
+	  }
+	}
+
+	return true;
+    }
+  
+    /** Used to set the current collection to the given collection. Note that this call should -always- be proceeded by a ready call, and if the collection is ready and the saved flag is unset then the user should be prompted to save. Also note that this method creates yet another GShell to run buildcol.pl.
+     * @param description a description of the collection as a String
+     * @param email the email address of the author/maintainer as a String
+     * @param name the short name of the collection, which will subsequently be used to refer to this particular collection, as a String
+     * @param title the longer title of the collection as a String
+     * @param base_collection_directory if the user has chosen to base their new collection on an existing one, this is the directory where this base collection can be found, as a File, otherwise its null
+     * @param metadata_sets if the user has decided to select several metadata sets with which to initially populate the GLI then this is an ArrayList of metadata set file names, otherwise its null
+     */
+    public void createCollection(String description, String email, String name, String title, File base_collection_directory, ArrayList metadata_sets)
+    {
+	// Display a modal progress popup to indicate that the collection is being loaded
+	ModalProgressPopup create_collection_progress_popup = new ModalProgressPopup(Dictionary.get("CollectionManager.Creating_Collection"), Dictionary.get("CollectionManager.Creating_Collection_Please_Wait"));
+	create_collection_progress_popup.display();
+
+	// Create the collection on a separate thread so the progress bar updates correctly
+	(new CreateCollectionTask(description, email, name, title, base_collection_directory, metadata_sets, create_collection_progress_popup)).start();
+    }
+
+
+    private class CreateCollectionTask
+	extends Thread
+    {
+	private String description = null;
+	private String email = null;
+	private String name = null;
+	private String title = null;
+	private File base_collection_directory = null;
+	private ArrayList metadata_sets = null;
+	private ModalProgressPopup create_collection_progress_popup = null;
+
+	public CreateCollectionTask(String description, String email, String name, String title, File base_collection_directory, ArrayList metadata_sets, ModalProgressPopup create_collection_progress_popup)
+	{
+	    this.description = description;
+	    this.email = email;
+	    this.name = name;
+	    this.title = title;
+	    this.base_collection_directory = base_collection_directory;
+	    this.metadata_sets = metadata_sets;
+	    this.create_collection_progress_popup = create_collection_progress_popup;
+	}
+
+	public void run()
+	{
+	    createCollectionInternal(description, email, name, title, base_collection_directory, metadata_sets);
+	    create_collection_progress_popup.close();
+	}
+    }
+
+
+    private void createCollectionInternal(String description, String email, String name, String title, File base_collection_directory, ArrayList metadata_sets)
+    {
+	try {
+	    // first make sure that the collect directory exists
+	    File collect_dir = new File(getDefaultCollectDirectory());
+	    if (!collect_dir.exists()) {
+		collect_dir.mkdirs();
+	    }
+
+	    // Create the new collection
+	    makeCollection(name, email);
+
+	    // Check that the collection has been created successfully
+	    String collection_directory_path = getCollectionDirectoryPath(name);
+	    if (!new File(collection_directory_path).exists()) {
+		// If there is no collection directory then the creation was unsuccessful, or cancelled
+	      
+		return;
+	    }
+
+	    // Check for the existence of the collection configuration file
+	    String file_name = ((Gatherer.GS3 == true)? Utility.COLLECTION_CONFIG_XML : Utility.COLLECT_CFG);
+	    File collect_cfg_file = new File(collection_directory_path + "etc" + File.separator + file_name);
+
+	    if (!collect_cfg_file.exists()) {
+		System.err.println("Error: no " + file_name + " file has been created!");
+		JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CollectionManager.Cannot_Create_Collection_With_Reason", Dictionary.get("CollectionManager.No_Config_File")), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE); 
+		return;
+	    }
+ 	    
+	    // ACTIVE_DIR/log/
+	    File log_dir = new File(collection_directory_path + "log");
+	    log_dir.mkdirs();
+
+	    // Make sure an import folder exists
+	    File collection_import_directory = new File(collection_directory_path + "import");
+	    if (!collection_import_directory.exists()) {
+		collection_import_directory.mkdirs();
+		if (Gatherer.isGsdlRemote) {
+		    Gatherer.remoteGreenstoneServer.newCollectionDirectory(name, collection_import_directory);
+		}
+	    }
+
+	    // Now create the collection object around the directory.
+	    collection = new Collection(new File(collection_directory_path, name + ".col"));
+
+	    // for remote case, scheduling causes an Exception on creating a new collection that 
+	    // can't be recovered from. For GS3, it doesn't work since it it trying to access etc/main.cfg
+	    if (canDoScheduling()) {
+		scheduling();
+	    }
+	    	    
+	    MetadataSetManager.clearMetadataSets();
+	    MetadataXMLFileManager.clearMetadataXMLFiles();
+	    DocXMLFileManager.clearDocXMLFiles();
+
+	    // Import default metadata sets, if any
+	    // for (int i = 0; metadata_sets != null && i < metadata_sets.size(); i++) {
+	    // importMetadataSet((MetadataSet) metadata_sets.get(i));
+	    // }
+
+	    ProfileXMLFileManager.loadProfileXMLFile(new File(collection_directory_path + "metadata"));
+
+	    // Before creating the CollectionDesignManager check if we are basing it upon some other collection
+	    if (base_collection_directory != null) {
+		DebugStream.println("Basing new collection on existing one: " + base_collection_directory);
+
+		// If we're using a remote Greenstone server, download the collection shell to get the files needed
+		if (Gatherer.isGsdlRemote) {
+		    String base_collection_name = base_collection_directory.getName();
+		    Gatherer.remoteGreenstoneServer.downloadCollection(base_collection_name);
+		}
+
+		collection.setBaseCollection(base_collection_directory.getAbsolutePath());
+		// copy over other needed directories
+		copyExtraBaseCollStuff(new File(collection_directory_path), base_collection_directory);
+
+		// Try to import any existing metadata sets for this collection
+		// Look in base_collection_directory/metadata and import any metadata sets found.
+		File base_metadata_directory = new File(base_collection_directory, "metadata");
+		ArrayList base_metadata_sets = MetadataSetManager.listMetadataSets(base_metadata_directory);
+		if (base_metadata_sets != null) {
+		    for (int i = 0; i < base_metadata_sets.size(); i++) {
+			importMetadataSet((MetadataSet) base_metadata_sets.get(i));
+		    }
+		}
+		else {
+		    DebugStream.println("This base collection has no metadata directory.");
+		}
+
+		// Now we update our collect.cfg
+		DebugStream.println("Copy and update " + file_name + " from base collection.");
+
+		if (Gatherer.GS3 == true) {
+		    updateCollectionConfigXML(new File(base_collection_directory, Utility.CONFIG_GS3_FILE),
+					new File(collection_directory_path, Utility.CONFIG_GS3_FILE)); 
+		} else {
+		    updateCollectionCFG(new File(base_collection_directory, Utility.CONFIG_FILE),
+					new File(collection_directory_path, Utility.CONFIG_FILE),
+					description, email, title);
+		}
+	    }
+	    else {
+	      // only load metadata sets here if we have not based the collection on any other.
+	      // Load the default metadata sets
+	      addDefaultMetadataSets();
+	      
+	      // Make sure we always have the extracted metadata set
+	      addRequiredMetadataSets();
+	    }
+	    
+	    collection.cdm = new CollectionDesignManager(new File(getLoadedCollectionCfgFilePath()));
+
+	    // We always set title and description here rather than calling mkcol.pl with Unicode arguments
+	    CollectionMeta collection_name_collectionmeta = collection.cdm.collectionmeta_manager.getMetadatum(StaticStrings.COLLECTIONMETADATA_COLLECTIONNAME_STR);
+	    collection_name_collectionmeta.setValue(title);
+	    CollectionMeta collection_extra_collectionmeta = collection.cdm.collectionmeta_manager.getMetadatum(StaticStrings.COLLECTIONMETADATA_COLLECTIONEXTRA_STR);
+	    collection_extra_collectionmeta.setValue(description);
+
+	    // Now that we have a CDM, update several settings, such as if we created this collection by basing it on another, set it as public automatically. This update is done to the internal xml structure which may be saved into collect.cfg or collectionConfig.xml accordingly.
+	    if (base_collection_directory != null) {
+		// Update the creator and maintainer
+		CollectionMeta creator_collectionmeta = new CollectionMeta(collection.cdm.collect_config.getCreator());
+		creator_collectionmeta.setValue(email);
+		creator_collectionmeta = null;
+		CollectionMeta maintainer_collectionmeta = new CollectionMeta(collection.cdm.collect_config.getMaintainer());
+		maintainer_collectionmeta.setValue(email);
+		maintainer_collectionmeta = null;
+
+		// All collections based on others are automatically public
+		CollectionMeta public_collectionmeta = new CollectionMeta(collection.cdm.collect_config.getPublic());
+		public_collectionmeta.setValue(StaticStrings.TRUE_STR);
+		public_collectionmeta = null;
+
+		// Finally reset the icons
+		CollectionMeta icon_collection_collectionmeta = collection.cdm.collectionmeta_manager.getMetadatum(StaticStrings.COLLECTIONMETADATA_ICONCOLLECTION_STR);
+		icon_collection_collectionmeta.setValue(StaticStrings.EMPTY_STR);
+		icon_collection_collectionmeta = null;
+		CollectionMeta icon_collection_small_collectionmeta = collection.cdm.collectionmeta_manager.getMetadatum(StaticStrings.COLLECTIONMETADATA_ICONCOLLECTIONSMALL_STR);
+		icon_collection_small_collectionmeta.setValue(StaticStrings.EMPTY_STR);
+		icon_collection_small_collectionmeta = null;
+	    }
+
+	    saveCollection();
+
+	    // Create a lock file
+	    createLockFile(new File(collection_directory_path, LOCK_FILE));
+
+	    // We're done. Let everyone know.
+	    Gatherer.refresh(Gatherer.COLLECTION_OPENED);
+	}
+	catch (Exception error) {
+	    DebugStream.printStackTrace(error);
+	}
+    }
+
+    private void scheduling() 
+	throws Exception
+    {
+	//try to obtain email address of collection owner if it exists... 
+	String stmp = Configuration.getEmail(); 
+	if(stmp != null) {
+	    collection.schedule_options.setValue("toaddr", false, Configuration.getEmail());
+	}
+	
+	//The next few items deal with updating the SMTP server, and the to: and from: addresses
+	//from main.cfg and the collection configuration. if no changes are made, or the 
+	//values are result to NULL, any existing values are kept. 
+
+	//try to obtain email address of Greenstone installation webmaster for - used to indicate "sender". 
+	File mcfg = new File(LocalGreenstone.getDirectoryPath() + File.separator + "etc" + File.separator + "main.cfg");
+	BufferedReader maincfg = new BufferedReader(new FileReader(mcfg)); 	    
+	    stmp = "";
+	    String fromaddr = ""; 
+	    while((stmp = maincfg.readLine()) != null) { 
+		if(stmp.startsWith("maintainer")) {
+		       fromaddr = stmp.substring(10); //length of MailServer 
+		   fromaddr = fromaddr.trim();  
+		   break; 
+		}
+	    }
+	    maincfg.close(); 
+	    if(!fromaddr.equals("NULL") && !fromaddr.equals("null")) {
+		collection.schedule_options.setValue("fromaddr", false, fromaddr);	    
+	    }
+
+	    //try to obtain an smtp server address from main.cfg. If that fails,
+	    //try mail.server if an email address exists. If that fails,
+	    //maybe a message to set attribute in main.cfg? 
+	    //i'm pretty sure there exists functionality to do this, but 
+	    //i'll finish this faster if I just wrote it
+
+
+	    maincfg = new BufferedReader(new FileReader(mcfg)); 	  
+	    String smtptmp = "NULL";
+	    while((stmp = maincfg.readLine()) != null) { 
+		if(stmp.startsWith("MailServer")) {
+		       smtptmp = stmp.substring(10); //length of MailServer 
+		   smtptmp = smtptmp.trim(); 
+		   break; 
+		}
+	    }
+            maincfg.close();
+
+            //try if lookup fails
+            if(smtptmp.equals("NULL") || smtptmp.equals("null")) {
+		String email2=fromaddr; 
+		if(!email2.equals("NULL") && !email2.equals("null")) {
+		    int loc = email2.indexOf('@'); 
+		    email2 = email2.substring(loc+1); 
+		    smtptmp = "mail."+email2;
+	        }
+            }
+	    if(!smtptmp.equals("NULL") && !smtptmp.equals("null")) { 
+		collection.schedule_options.setValue("smtp", false, smtptmp);
+	    }
+
+    }
+
+
+    private void createLockFile(File lock_file)
+    {
+	try {
+	    Document default_lockfile = XMLTools.parseXMLFile("xml/" + LOCK_FILE, true);
+	    String user_name = System.getProperty("user.name");
+	    Element person_element = (Element) XMLTools.getNodeFromNamed(default_lockfile.getDocumentElement(), "User");
+	    person_element.appendChild(default_lockfile.createTextNode(user_name));
+	    person_element = null;
+	    user_name = null;
+	    String machine_name = Utility.getMachineName();
+	    Element machine_element = (Element) XMLTools.getNodeFromNamed(default_lockfile.getDocumentElement(), "Machine");
+	    machine_element.appendChild(default_lockfile.createTextNode(machine_name));
+	    machine_element = null;
+	    machine_name = null;
+	    String date_time = Utility.getDateString();
+	    Element date_element = (Element) XMLTools.getNodeFromNamed(default_lockfile.getDocumentElement(), "Date");
+	    date_element.appendChild(default_lockfile.createTextNode(date_time));
+	    date_element = null;
+	    date_time = null;
+	    XMLTools.writeXMLFile(lock_file, default_lockfile);
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+    }
+
+
+    public boolean deleteCollection(String collection_name)
+    {
+	// First we must release the collection from the local library, if it's running
+	if (LocalLibraryServer.isRunning() == true) {
+	    LocalLibraryServer.releaseCollection(collection_name);
+	}
+
+	// Delete the collection on the server if we're using a remote Greenstone
+	if (Gatherer.isGsdlRemote) {
+	    Gatherer.remoteGreenstoneServer.deleteCollection(collection_name);
+	}
+
+	// if Greenstone3, need to deactivate the collection on the server
+	if (Gatherer.GS3) {
+	    Gatherer.configGS3Server(Configuration.site_name, ServletConfiguration.DEACTIVATE_COMMAND + collection_name);
+	}
+	
+	// Now delete the collection directory
+	return Utility.delete(new File(getCollectionDirectoryPath(collection_name)));
+    }
+
+
+    public void fireFileAddedToCollection(File file)
+    {
+	// Send the event off to all the CollectionContentsChangedListeners
+	for (int i = 0; i < collection_contents_changed_listeners.size(); i++) {
+	    ((CollectionContentsChangedListener) collection_contents_changed_listeners.get(i)).fileAddedToCollection(file);
+	}
+    }
+
+
+    /** Retrieve the current collection.
+     * @return The <strong>Collection</strong> itself.
+     */
+    public Collection getCollection() {
+	return collection;
+    }
+
+
+    /** Returns the absolute filename of the specified collection's directory.
+     */
+    static public String getCollectionDirectoryPath(String collection_name)
+    {
+	return Gatherer.getCollectDirectoryPath() + collection_name + File.separator;
+    }
+
+
+    /** Returns the absolute filename of the loaded collection's archives directory.
+     */
+    static public String getLoadedCollectionArchivesDirectoryPath()
+    {
+	return getLoadedCollectionDirectoryPath() + "archives" + File.separator;
+    }
+
+    /** Returns the absolute filename of the loaded collection's export directory.
+     */
+    static public String getLoadedCollectionExportDirectoryPath()
+    {
+	return getLoadedCollectionDirectoryPath() + "export" + File.separator;
+    }
+
+
+
+    /** Returns the absolute filename of the loaded collection's building directory.
+     */
+    static public String getLoadedCollectionBuildingDirectoryPath()
+    {
+	return getLoadedCollectionDirectoryPath() + "building" + File.separator;
+    }
+
+
+    /** Returns the absolute filename of the loaded collection's collect.cfg file.
+     */
+    static public String getLoadedCollectionCfgFilePath()
+    {
+	String path = (Gatherer.GS3 == true)? Utility.COLLECTION_CONFIG_XML : Utility.COLLECT_CFG;
+	return getLoadedCollectionEtcDirectoryPath() + path;
+    }
+
+
+    /** Returns the absolute filename of the loaded collection's directory.
+     */
+    static public String getLoadedCollectionDirectoryPath()
+    {
+	return collection.getCollectionDirectory().getPath() + File.separator;
+    }
+
+
+    /** Returns the absolute filename of the loaded collection's etc directory.
+     */
+    static public String getLoadedCollectionEtcDirectoryPath()
+    {
+	return getLoadedCollectionDirectoryPath() + "etc" + File.separator;
+    }
+
+
+    /** Returns the absolute filename of the loaded collection's .col file.
+     */
+    static public String getLoadedCollectionColFilePath()
+    {
+	return getLoadedCollectionDirectoryPath() + collection.getName() + ".col";
+    }
+
+
+    /** Returns the absolute filename of the loaded collection's images directory.
+     */
+    static public String getLoadedCollectionImagesDirectoryPath()
+    {
+	return getLoadedCollectionDirectoryPath() + "images" + File.separator;
+    }
+
+
+    /** Returns the absolute filename of the loaded collection's import directory.
+     */
+    static public String getLoadedCollectionImportDirectoryPath()
+    {
+	return getLoadedCollectionDirectoryPath() + "import" + File.separator;
+    }
+
+
+    /** Returns the absolute filename of the loaded collection's index directory.
+     */
+    static public String getLoadedCollectionIndexDirectoryPath()
+    {
+	return getLoadedCollectionDirectoryPath() + "index" + File.separator;
+    }
+
+
+    /** Returns the absolute filename of the loaded collection's log directory.
+     */
+    static public String getLoadedCollectionLogDirectoryPath()
+    {
+	return getLoadedCollectionDirectoryPath() + "log" + File.separator;
+    }
+
+
+    /** Returns the absolute filename of the loaded collection's macros directory.
+     */
+    static public String getLoadedCollectionMacrosDirectoryPath()
+    {
+	return getLoadedCollectionDirectoryPath() + "macros" + File.separator;
+    }
+
+
+    /** Returns the absolute filename of the loaded collection's metadata directory.
+     */
+    static public String getLoadedCollectionMetadataDirectoryPath()
+    {
+	return getLoadedCollectionDirectoryPath() + "metadata" + File.separator;
+    }
+
+
+    /** Returns the name of the loaded collection.
+     */
+    static public String getLoadedCollectionName()
+    {
+	if (collection != null) {
+	    return collection.getName();
+	}
+
+	return null;
+    }
+
+    /** @return the subname of any collection (stripped of any collection-group). */
+    static public String getLoadedCollectionTailName()
+    {
+	if (collection != null) {
+	    return collection.getCollectionTailName();
+	}
+
+	return null;
+    }
+
+    /** Returns the "collectionGroupName/collectionName" or just the collectionName 
+     *  depending on whether the collection is part of a collection group or not.
+     * If url = true, then returns the sub-path as a URL (containing / only), 
+     * and if url = false, then the sub-path is returned in filepath form 
+     * (\ or /, depending on the OS).
+     */
+    static public String getLoadedGroupQualifiedCollectionName(boolean url)
+    {
+	if (collection != null) {
+	    return collection.getGroupQualifiedName(url);
+	}
+
+	return null;
+    }
+
+    public CollectionTree getCollectionTree()
+    {
+	if (collection_tree == null) {
+	    collection_tree = new CollectionTree(collection_tree_model, true);
+	}
+
+	return collection_tree;
+    }
+
+
+    /** Retrieve the tree model associated with the current collection. */
+    public CollectionTreeModel getCollectionTreeModel()
+    {
+	if (collection_tree_model == null && collection != null) {
+	    // Use the import directory to generate a new CollectionTreeModel
+	    collection_tree_model = new CollectionTreeModel(new CollectionTreeNode(new File(getLoadedCollectionImportDirectoryPath())));
+	    // Ensure that the manager is a change listener for the tree.
+	    if (fm_tree_model_listener == null) {
+		fm_tree_model_listener = new FMTreeModelListener();
+	    }
+	    collection_tree_model.addTreeModelListener(fm_tree_model_listener);
+	}
+	return collection_tree_model;
+    }
+
+
+    /** This method when called, creates a new GShell in order to run the import.pl script.
+     * @see org.greenstone.gatherer.Configuration
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.gui.BuildOptions
+     * @see org.greenstone.gatherer.shell.GShell
+     * @see org.greenstone.gatherer.shell.GShellListener
+     * @see org.greenstone.gatherer.shell.GShellProgressMonitor
+     * @see org.greenstone.gatherer.util.Utility
+     */
+    public void importCollection() {
+	importing = true;
+
+	if (!saved()) {
+	    DebugStream.println("CollectionManager.importCollection().forcesave");
+	    import_monitor.saving();
+	    saveCollection();
+	}
+
+	DebugStream.println("CollectionManager.importCollection()");
+	DebugStream.println("Is event dispatch thread: " + SwingUtilities.isEventDispatchThread());
+	//check that we can remove the old index before starting import
+	File index_dir = new File(getLoadedCollectionIndexDirectoryPath());
+	if (index_dir.exists()) {
+	    DebugStream.println("Old Index = " + index_dir.getAbsolutePath()+", testing for deletability");
+	    if (!canDelete(index_dir)) {
+		// tell the user
+		JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CollectionManager.Cannot_Delete_Index"), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE); 
+		// tell the gui manager
+		// a message for the building log 
+		GShellEvent event = new GShellEvent(this, 0, GShell.IMPORT, Dictionary.get("CollectionManager.Cannot_Delete_Index_Log"), GShell.ERROR);
+		Gatherer.g_man.create_pane.message(event);
+		event = new GShellEvent(this, 0, GShell.IMPORT, "", GShell.ERROR);
+		Gatherer.g_man.create_pane.processComplete(event);
+		importing = false;
+		return;
+	    }
+	}
+
+	// Generate the import.pl command
+	ArrayList command_parts_list = new ArrayList();
+	if (!Gatherer.isGsdlRemote) {
+	    command_parts_list.add(Configuration.perl_path);
+	    command_parts_list.add("-S");
+	}
+
+	if (Configuration.fedora_info.isActive()) {
+	    command_parts_list.add(scriptPath + "g2f-import.pl");
+
+	    command_parts_list.add("-hostname");
+	    command_parts_list.add(Configuration.fedora_info.getHostname());
+
+	    command_parts_list.add("-port");
+	    command_parts_list.add(Configuration.fedora_info.getPort());
+
+	    command_parts_list.add("-username");
+	    command_parts_list.add(Configuration.fedora_info.getUsername());
+
+	    command_parts_list.add("-password");
+	    command_parts_list.add(Configuration.fedora_info.getPassword());
+
+	    command_parts_list.add("-protocol");
+	    command_parts_list.add(Configuration.fedora_info.getProtocol());
+	}
+	else {
+	    String cmdPrefix = null;
+	    if ( CollectionDesignManager.isCompleteBuild() ) {
+		cmdPrefix = "full-";
+		CollectionDesignManager.setImportWasFull( true );
+	    } else {
+		cmdPrefix = "incremental-";
+		CollectionDesignManager.setImportWasFull( false );
+	    }
+	    command_parts_list.add(scriptPath + cmdPrefix + "import.pl"); // scriptPath already set according to local or remote case
+	}
+
+	command_parts_list.add("-gli");
+	command_parts_list.add("-language");
+	command_parts_list.add(Configuration.getLanguage());
+	if(!Gatherer.isGsdlRemote) {
+	    command_parts_list.add("-collectdir");
+	    command_parts_list.add(getCollectDirectory());
+	}	
+
+	String[] import_options = collection.import_options.getValues();
+	for (int i = 0; i < import_options.length; i++) {
+        System.err.println( "Tacking on option: " + import_options[i] );
+	    command_parts_list.add(import_options[i]);
+	}
+
+	command_parts_list.add(collection.getName());
+
+	// Run the import.pl command
+	String[] command_parts = (String[]) command_parts_list.toArray(new String[0]);
+	GShell shell = new GShell(command_parts, GShell.IMPORT, BUILDING, this, import_monitor, GShell.GSHELL_IMPORT);
+	//shell.setEventProperty("is_incremental", Boolean.toString(is_incremental));
+	shell.addGShellListener(Gatherer.g_man.create_pane);
+        shell.addGShellListener(Gatherer.g_man.format_pane);
+	shell.start();
+	DebugStream.println("CollectionManager.importCollection().return");
+
+	importing = false;
+    }
+
+
+    public void importMetadataSet(MetadataSet external_metadata_set)
+    {
+	// Copy the .mds file into the collection's "metadata" folder...
+	File external_metadata_set_file = external_metadata_set.getMetadataSetFile();
+
+	// ...but not if it is the redundant "hidden.mds" file
+	if (external_metadata_set_file.getName().equals("hidden.mds")) {
+	    return;
+	}
+
+	// ...and only if it doesn't already exist
+	File metadata_set_file = new File(getLoadedCollectionMetadataDirectoryPath(), external_metadata_set_file.getName());
+	if (!metadata_set_file.exists()) {
+	    try {
+		Gatherer.f_man.getQueue().copyFile(external_metadata_set_file, metadata_set_file, false);
+
+		// If we're using a remote Greenstone server, upload the metadata file
+		if (Gatherer.isGsdlRemote) {
+		    Gatherer.remoteGreenstoneServer.uploadCollectionFile(collection.getName(), metadata_set_file);
+		}
+	    }
+	    catch (Exception exception) {
+		DebugStream.printStackTrace(exception);
+	    }
+
+	    // Load it into the MetadataSetManager
+	    MetadataSetManager.loadMetadataSet(metadata_set_file);
+	}
+    }
+
+
+    /** Determine if we are currently in the middle of importing (and thus, in this case, we can't allow the log writer to exit). Boy was this a mission to track down. The cascade of crap rolls out something like this: Joe Schmo clicks 'Build Collection', which calls the importCollection() method above, which in turn saves the collection with a saveTask, which fires a collectionChanged message once its finished, which drives the list of logs shown on the create pane to update, which fires a itemChanged() event to the OptionsPane who dutifully tells the current log writer thread to finish up writing (all zero lines its been asked to write) and then die. Wereapon Joe Schmo gets a pretty log to look at, but it isn't actually being written to file so the next time he tries to view it faeces hits the air motion cooling device. Joy.
+     * @return true if the gli is currently importing
+     */
+    public boolean isImporting() {
+	return importing;
+    }
+
+
+    public void loadCollection(String collection_file_path)
+    {
+	// Display a modal progress popup to indicate that the collection is being loaded
+	ModalProgressPopup load_collection_progress_popup = new ModalProgressPopup(Dictionary.get("CollectionManager.Loading_Collection"), Dictionary.get("CollectionManager.Loading_Collection_Please_Wait"));
+	load_collection_progress_popup.display();
+
+	// Load the collection on a separate thread so the progress bar updates correctly
+	(new LoadCollectionTask(collection_file_path, load_collection_progress_popup)).start();
+    }
+
+
+    private class LoadCollectionTask
+	extends Thread
+    {
+	private String collection_file_path = null;
+	private ModalProgressPopup load_collection_progress_popup = null;
+
+	public LoadCollectionTask(String collection_file_path, ModalProgressPopup load_collection_progress_popup)
+	{
+	    this.collection_file_path = collection_file_path;
+	    this.load_collection_progress_popup = load_collection_progress_popup;
+	}
+
+	public void run()
+	{
+	    loadCollectionInternal(collection_file_path);
+	    load_collection_progress_popup.close();
+	    Gatherer.setMenuBarEnabled(true);
+	}
+    }
+
+
+    /** Attempts to load the given collection. Currently uses simple serialization of the collection class.
+     * @param location The path to the collection as a <strong>String</strong>.
+     * @see org.greenstone.gatherer.Configuration
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.collection.Collection
+     * @see org.greenstone.gatherer.util.Utility
+     */
+    private void loadCollectionInternal(String location)
+    {
+	DebugStream.println("Loading collection " + location + "...");
+
+	if (Gatherer.isGsdlRemote) {
+	    String collection_name = location.substring(location.lastIndexOf(File.separator) + 1, location.length() - ".col".length());
+	    if (Gatherer.remoteGreenstoneServer.downloadCollection(collection_name).equals("")) {
+		return;
+	    }
+	}
+
+	// Check we have actually been given a .col file.
+	if (!location.endsWith(".col")) {
+	    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CollectionManager.Not_Col_File", location), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+	    DebugStream.println("CollectionManager.loadCollection: Haven't been given a .col file.");
+	    return;
+	}
+
+	// Check that the collection configuration file is available
+	File collection_file = new File(location);
+
+	// Ensure that the directory exists
+	File collection_directory = collection_file.getParentFile();
+	   
+	if (collection_directory == null || !collection_directory.exists()) {
+	    // We can't open this
+	    System.err.println("CollectionManager.loadCollection: No collection directory.");
+	    return;
+	}
+
+	String file_str = (Gatherer.GS3)? Utility.CONFIG_GS3_FILE : Utility.CONFIG_FILE;
+	File collection_config_file = new File(collection_directory, file_str);
+	if (!collection_config_file.exists()) {
+	    System.err.println("CollectionManager.loadCollection: No config file.");
+	    collection_directory = null;
+	    collection_config_file = null;
+	    return;
+	}
+
+	// Ensure that an import directory exists for this collection
+	File collection_import_directory = new File(collection_directory, "import");
+	if (!collection_import_directory.exists()) {
+	    collection_import_directory.mkdir();
+	}
+
+	// Special case of a user trying to open an old greenstone collection.
+	boolean non_gli_collection = false;
+	File collection_metadata_directory = new File(collection_directory, "metadata");
+	if (!collection_metadata_directory.exists()) {
+	    DebugStream.println("Loading non-gatherer collection...");
+	    // Show a warning message in case user wants to quit now
+	    non_gli_collection = true;
+	    WarningDialog legacy_dialog = new WarningDialog("warning.LegacyCollection", Dictionary.get("LegacyCollection.Title"), Dictionary.get("LegacyCollection.Message"), null, true);
+	    if (legacy_dialog.display()==JOptionPane.CANCEL_OPTION) {
+		legacy_dialog.dispose();
+		collection_directory = null;
+		collection_config_file = null;
+		return;
+	    }
+	    legacy_dialog.dispose();
+
+	}
+
+	// Now determine if a lock already exists on this collection.
+	String collection_name = collection_directory.getName();
+	File lock_file = new File(collection_file.getParentFile(), LOCK_FILE);
+	if (lock_file.exists()) {
+	    LockFileDialog dialog = new LockFileDialog(Gatherer.g_man, collection_name, lock_file);
+	    int choice = dialog.getChoice();
+	    dialog.dispose();
+	    dialog = null;
+
+	    if (choice != LockFileDialog.YES_OPTION) {
+		// user has cancelled
+		lock_file = null;
+		collection_directory = null;
+		collection_config_file = null;
+		return;
+	    }
+
+	    lock_file.delete();
+	}
+
+	try {
+	    // Create a lock file.
+	    createLockFile(lock_file);
+	    // This lock file may not have been created so check
+	    if(!lock_file.canWrite()) {
+		// The lock file cannot be written to. Most likely cause incorrect file permissions.
+		System.err.println("Cannot write lock file!");
+		String args[] = new String[2];
+		args[0] = location;		
+		args[1] = Dictionary.get("FileActions.Write_Not_Permitted_Message", new String[]{lock_file.getAbsolutePath()});		
+		if(Gatherer.client_operating_system.toUpperCase().indexOf("WINDOWS")!=-1){		  
+		  //if(Gatherer.client_operating_system.toUpperCase().indexOf("VISTA")!=-1){		    
+		    args[1] += Dictionary.get("FileActions.File_Permission_Detail", new String[]{Configuration.gsdl_path, System.getProperty("user.name")});
+		  //} 
+		}
+		JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CollectionManager.Cannot_Open_With_Reason", args), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+		args = null;
+		return;
+	    }
+	    
+	    if (canDoScheduling()) {
+		//THIS LOOKS LIKE THE BEST PLACE TO TRY AND UPDATE .col FILES FOR EXISTING COLLECTIONS...Wendy
+ 
+		//First, see if "Schedule" exists in the XMl File... 
+		BufferedReader bir = new BufferedReader(new FileReader(collection_file)); 
+		boolean flag = false; 
+		try {
+		    String stmp = new String(); 
+	       
+		    while((stmp = bir.readLine()) != null) {
+			stmp = stmp.trim();  
+			if(stmp.equals("<Schedule>") || stmp.equals("<Schedule/>")) {
+			    flag = true; 
+			    break; 
+			}
+		    }
+		    bir.close(); 
+		    
+		} catch (IOException ioe) {
+		    DebugStream.printStackTrace(ioe);
+		}
+		
+		//modify if old .col (i.e. no Schedule exists in XML file)
+		if(!flag) {
+		    File new_collection_file = new File(collection_directory.getAbsolutePath() + "/tmp.col");
+		    
+		    
+		    BufferedWriter bor = new BufferedWriter(new FileWriter(new_collection_file)); 
+		    bir = new BufferedReader(new FileReader(collection_file)); 
+		    
+		    try { 
+			String stmp = new String(); 
+			while((stmp = bir.readLine()) != null) {
+			    String stmp2 = stmp.trim(); 
+			    if(stmp2.startsWith("<!ELEMENT Argument")) {
+				bor.write("  <!ELEMENT Schedule          (Arguments*)>\n"); 			   
+			    }
+			    else if(stmp2.equals("</BuildConfig>")) {
+				bor.write("      <Schedule/>\n"); 
+			    }
+			    
+			    bor.write(stmp + "\n"); 
+			    
+			}
+			bir.close(); 
+			bor.close();
+		    } catch (IOException ioe) {  
+			DebugStream.printStackTrace(ioe);
+		    }  
+		    
+		    //copy over tmp.col to replace 
+		    try { 
+			collection_file.delete();
+			new_collection_file.renameTo(collection_file); 
+		    } catch (Exception e) { 
+			DebugStream.printStackTrace(e);
+		    } 
+		}
+	    }
+	    
+	    // Open the collection file
+	    this.collection = new Collection(collection_file);
+	    if (collection.error) {
+		collection = null;
+		// Remove lock file
+		if (lock_file.exists()) {
+		    lock_file.delete();
+		}
+		throw(new Exception(Dictionary.get("CollectionManager.Missing_Config"))); // this error message does not agree with the error
+	    }
+	    
+	    if (canDoScheduling()) {
+		scheduling();
+	    }
+	  
+	    // These may have been set in the past, but are no longer used 
+	    // by GLI
+	    collection.import_options.removeValue("removeold");
+	    collection.import_options.removeValue("keepold");
+
+            MetadataSetManager.clearMetadataSets();
+	    MetadataSetManager.loadMetadataSets(collection_metadata_directory);
+
+	    // Make sure we always have the extracted metadata set
+	    addRequiredMetadataSets();
+
+	    ProfileXMLFileManager.loadProfileXMLFile(collection_metadata_directory);
+ 
+	    // If this is a non-GLI (legacy) collection, load the default metadata sets
+	    if (non_gli_collection) {
+		addDefaultMetadataSets();
+
+		// Recurse the import folder tree, backing up the metadata.xml files before they are edited
+		LegacyCollectionImporter.backupMetadataXMLFiles(collection_directory);
+	    }
+
+	    // Read through the metadata.xml files in the import directory, building up the metadata value trees
+	    MetadataXMLFileManager.clearMetadataXMLFiles();
+	    MetadataXMLFileManager.loadMetadataXMLFiles(collection_import_directory,collection.toSkimFile());
+
+	    
+	    // get rid of the previous scan through docxml files
+	    DocXMLFileManager.clearDocXMLFiles();
+
+	    if (Configuration.fedora_info.isActive()) { // FLI case
+		// Read through the docmets.xml files in the export directory
+		File collection_export_directory = new File(getLoadedCollectionExportDirectoryPath());
+		DocXMLFileManager.loadDocXMLFiles(collection_export_directory,"docmets.xml");
+	    }
+	    else {
+		// Read through the doc.xml files in the archives directory
+		File collection_archives_directory = new File(getLoadedCollectionArchivesDirectoryPath());
+		DocXMLFileManager.loadDocXMLFiles(collection_archives_directory,"doc.xml");
+	    }
+
+
+	    // Get a list of the collection specific classifiers and plugins
+	    Classifiers.loadClassifiersList(collection_name);
+	    Plugins.loadPluginsList(collection_name);
+
+	    collection.cdm = new CollectionDesignManager(collection_config_file);
+	    if (non_gli_collection) {
+		// Change the classifiers to use the namespaced element names
+		LegacyCollectionImporter.updateClassifiers(collection.cdm);
+	    }
+
+	    // We're done. Let everyone know.
+	    DebugStream.println(Dictionary.get("CollectionManager.Loading_Successful", collection_name));
+	    Gatherer.refresh(Gatherer.COLLECTION_OPENED);
+	}
+	catch (Exception error) {
+	    // There is obviously no existing collection present.
+	    DebugStream.printStackTrace(error);
+	    error.printStackTrace();
+	    if(error.getMessage() != null) {
+		String[] args = new String[2];
+		args[0] = location;		
+		//args[1] = error.getMessage();
+		args[1] = "The Librarian Interface does not have permission to write to... Please check file permissions.";
+		JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CollectionManager.Cannot_Open_With_Reason", args), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+	    }
+	    else {
+		JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CollectionManager.Cannot_Open", location), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+	    }
+	}
+
+	lock_file = null;
+	collection_directory = null;
+	collection_config_file = null;
+    }
+
+    /** At present, scheduling only works for GS2, only when GS2 is local and only when GLI runs from
+     * within a GS2 installation. This method can be adjusted as scheduling becomes available for more
+     * more situations. */
+    public static boolean canDoScheduling() {
+	// Would be nice to support more of these, rather than returning false
+	if(Gatherer.isGsdlRemote) {
+	    return false;
+	} 
+	if(Gatherer.GS3) {
+	    return false;
+	}
+	if (Configuration.fedora_info.isActive()) {
+	    return false;
+	}
+
+	// GS2's etc/main.cfg is necessary for scheduling, but scheduling looks for it locally: 
+	// it assumes GLI is inside a GS2 installation
+	File mcfg = new File(LocalGreenstone.getDirectoryPath() + File.separator + "etc" + File.separator + "main.cfg");
+	if(!mcfg.exists()) {
+	    System.out.println("Cannot do scheduling, since there is no file: " + mcfg.getAbsolutePath() 
+			       + ".\nScheduling presently depends on GLI running from inside a GS2.");
+	    return false;
+	}
+	
+	return true;
+    }
+
+    private void makeCollection(String name, String email)
+    {
+	// Generate the mkcol.pl command
+	ArrayList command_parts_list = new ArrayList();
+	if (!Gatherer.isGsdlRemote) {
+	    command_parts_list.add(Configuration.perl_path);
+	    command_parts_list.add("-S");
+	}
+	command_parts_list.add(scriptPath + "mkcol.pl");
+	if(Gatherer.GS3) {
+	    command_parts_list.add(Utility.GS3MODE_ARGUMENT); // add '-gs3mode' 
+	}
+	if(!Gatherer.isGsdlRemote) {
+	    command_parts_list.add("-collectdir");
+	    command_parts_list.add(getDefaultCollectDirectory());
+ 	}
+	command_parts_list.add("-win31compat");
+	command_parts_list.add((Gatherer.isGsdlRemote) ? "false" : "true");
+
+	if (email != null && !email.equals("")) {
+	    command_parts_list.add("-creator");
+	    command_parts_list.add(email);
+	}
+
+	command_parts_list.add(name);
+	
+	// Run the mkcol.pl command
+	String[] command_parts = (String[]) command_parts_list.toArray(new String[0]);
+	//for(int i = 0; i < command_parts.length; i++) {
+	///ystem.err.println("\""+command_parts[i]+"\"");
+	//}
+	
+	GShell process = new GShell(command_parts, GShell.NEW, COLLECT, this, null, GShell.GSHELL_NEW);
+	process.run(); // Don't bother threading this... yet
+    }
+
+
+    /** Any implementation of GShellListener must include this method to allow the GShell to send messages to listeners. However in this case the CollectionManager is in no way interested in what the messages are, just the import events which have a specific type and are handled elsewhere. Thus we can safely ignore this event.
+     * @param event A <strong>GShellEvent</strong> which contains a the message.
+     */
+    public synchronized void message(GShellEvent event) {
+      
+    }
+
+
+    public void metadataChanged(CollectionTreeNode[] file_nodes)
+    {
+	if (collection != null) {
+	    collection.setMetadataChanged(true);
+	}
+    }
+
+
+    public void openCollectionFromLastTime() {
+      // If there was an open collection last session, reopen it
+      if (Gatherer.open_collection_file_path != null) {
+        // Load the collection now
+        loadCollection(Gatherer.open_collection_file_path);
+      } 
+
+    }
+
+
+    /** This call is fired whenever a process within a GShell created by this class begins.
+     * @param event A <strong>GShellEvent</strong> containing information about the GShell process.
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.gui.GUIManager
+     * @see org.greenstone.gatherer.shell.GShell
+     */
+    public synchronized void processBegun(GShellEvent event) {
+	DebugStream.println("CollectionManager.processBegun(" + event.getType() + ")");
+	///ystem.err.println("ProcessBegun " + event.getType());
+	// If this is one of the types where we wish to lock user control
+	Gatherer.g_man.lockCollection((event.getType() == GShell.IMPORT), true);
+    }
+    /** This call is fired whenever a process within a GShell created by this class ends.
+     * @param event A <strong>GShellEvent</strong> containing information about the GShell process.
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.gui.GUIManager
+     * @see org.greenstone.gatherer.shell.GShell
+     */
+    public synchronized void processComplete(GShellEvent event) {
+	//ystem.err.println("CollectionManager.processComplete(" + event.getType() + ")");
+	Gatherer.g_man.lockCollection((event.getType() == GShell.IMPORT), false);
+	///ystem.err.println("Received process complete event - " + event);
+	// If we were running an import, now run a build.
+	if(event.getType() == GShell.IMPORT && event.getStatus() == GShell.OK) {
+	    // Finish import.
+	    collection.setImported(true);
+	    collection.setFilesChanged(false);
+	    collection.setMetadataChanged(false);
+	    buildCollection();
+	}
+	else if(event.getType() == GShell.SCHEDULE && event.getStatus() == GShell.OK ) {
+
+	   	WarningDialog collection_built_warning_dialog = new WarningDialog("warning.ScheduleBuilt", Dictionary.get("ScheduleBuilt.Title"), Dictionary.get("ScheduleBuilt.Message"), null, false);
+  		collection_built_warning_dialog.setMessageOnly(true); // Not a warning
+  		collection_built_warning_dialog.display();
+  		collection_built_warning_dialog.dispose();
+  		collection_built_warning_dialog = null;   
+	} 
+	// If we were running a build, now is when we move files across.
+	else if(event.getType() == GShell.BUILD && event.getStatus() == GShell.OK) {
+            
+        if ( CollectionDesignManager.buildcolWasFull() ) {
+	        if(installCollection()) {
+		    // If we have a local library running then ask it to add our newly create collection
+		    if (LocalLibraryServer.isRunning() == true) {
+		        LocalLibraryServer.addCollection(collection.getName());
+		    }
+		    else if (Gatherer.GS3) {
+		        //xiao comment out this: convertToGS3Collection();
+		        Gatherer.configGS3Server(Configuration.site_name, ServletConfiguration.ADD_COMMAND + collection.getName());
+		    }  
+
+		    // Fire a collection changed first to update the preview etc buttons
+		    Gatherer.refresh(Gatherer.COLLECTION_REBUILT);
+
+      		// Now display a message dialog saying its all built
+      		WarningDialog collection_built_warning_dialog = new WarningDialog("warning.CollectionBuilt", Dictionary.get("CollectionBuilt.Title"), Dictionary.get("CollectionBuilt.Message"), null, false);
+      		collection_built_warning_dialog.setMessageOnly(true); // Not a warning
+      		collection_built_warning_dialog.display();
+      		collection_built_warning_dialog.dispose();
+      		collection_built_warning_dialog = null;
+
+		    //Set nothing as needing rebuilding, as a build has just finished :-)
+		    CollectionDesignManager.resetRebuildTypeRequired();
+	        }
+	        else {
+		    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CollectionManager.Preview_Ready_Failed"), Dictionary.get("CollectionManager.Preview_Ready_Title"), JOptionPane.ERROR_MESSAGE);
+		    Gatherer.refresh(Gatherer.COLLECTION_REBUILT);
+		    DebugStream.println("Status is ok but !installCollection()");
+	        }
+        }
+	}
+	else if (event.getStatus() == GShell.CANCELLED) {
+	    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CollectionManager.Build_Cancelled"), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+	    Gatherer.g_man.repaint();
+	}
+	else if (event.getStatus() == GShell.ERROR) {	    
+	    if (event.getType() == GShell.NEW) {	 
+	      String name = event.getMessage();
+	      String collectDir = getCollectionDirectoryPath(name);
+	      String errMsg = "";
+	      if (!new File(getCollectionDirectoryPath(name)).exists() || !new File(getCollectionDirectoryPath(name)).canWrite()) {	      
+		String reason = Dictionary.get("FileActions.Write_Not_Permitted_Message", new String[]{collectDir});
+		errMsg = Dictionary.get("CollectionManager.Cannot_Create_Collection_With_Reason", new String[]{reason});
+		if(Gatherer.client_operating_system.toUpperCase().indexOf("WINDOWS") != -1){		  
+		  //if(Gatherer.client_operating_system.toUpperCase().indexOf("VISTA")!=-1){		    
+		    errMsg += Dictionary.get("FileActions.File_Permission_Detail", new String[]{Configuration.gsdl_path, System.getProperty("user.name")});
+		  //} 
+		}
+	      } else {
+		errMsg = Dictionary.get("CollectionManager.Cannot_Create_Collection");
+	      }
+	      JOptionPane.showMessageDialog(Gatherer.g_man, errMsg, Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+	    } 
+	    else if(event.getType() == GShell.SCHEDULE) { 
+		JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CollectionManager.Schedule_Failed"), Dictionary.get("CollectionManager.Schedule_Ready_Title"), JOptionPane.ERROR_MESSAGE);
+	    }
+	    else {
+		JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CollectionManager.Preview_Ready_Failed"), Dictionary.get("CollectionManager.Preview_Ready_Title"), JOptionPane.ERROR_MESSAGE);
+		Gatherer.refresh(Gatherer.COLLECTION_REBUILT);
+	    }
+	    
+	    Gatherer.g_man.repaint(); // It appears Java's own dialogs have the same not always painting correct area bug that I suffer from. Well I don't suffer from it personally, but my ModalDialog components do.
+	}
+    }
+
+
+    /** Determine if the manager is ready for actions apon its collection.
+     * @return A <i>boolean</i> which is <i>true</i> to indicate a collection has been loaded and thus the collection is ready for editing, <i>false</i> otherwise.
+     */
+    static public synchronized boolean ready() {
+	if(collection != null) {
+	    return true;
+	}
+	else {
+	    return false;
+	}
+    }
+
+
+    /** This method associates the collection build monitor with the build monitor created in CreatePane.
+     * @param monitor A <strong>GShellProgressMonitor</strong> which we will use as the build monitor.
+     */
+    public void registerBuildMonitor(GShellProgressMonitor monitor) {
+	build_monitor = monitor;
+    }
+    /** This method associates the collection import monitor with the import monitor created in CreatePane.
+     * @param monitor A <strong>GShellProgressMonitor</strong> which we will use as the import monitor.
+     */
+    public void registerImportMonitor(GShellProgressMonitor monitor) {
+	import_monitor = monitor;
+    }
+
+    public void registerScheduleMonitor(GShellProgressMonitor monitor) { 
+	schedule_monitor = monitor; 
+    }
+
+
+    static public void removeCollectionContentsChangedListener(CollectionContentsChangedListener listener)
+    {
+	collection_contents_changed_listeners.remove(listener);
+    }
+
+
+    public void removeMetadataSet(MetadataSet metadata_set)
+    {
+	DebugStream.println("Removing metadata set...");
+
+	// Delete the .mds file from the collection's "metadata" folder...
+	File metadata_set_file = metadata_set.getMetadataSetFile();
+
+	// ...but not if it is the "ex.mds" file
+	if (metadata_set_file.getName().equals("ex.mds")) {
+	    return;
+	}
+
+	// ...and only if it exists
+	if (metadata_set_file.exists()) {
+	    metadata_set_file.delete();
+
+	    // Unload it from the MetadataSetManager
+	    MetadataSetManager.unloadMetadataSet(metadata_set);
+
+	    // If we're using a remote Greenstone server, delete the metadata file on the server
+	    if (Gatherer.isGsdlRemote) {
+		Gatherer.remoteGreenstoneServer.deleteCollectionFile(collection.getName(), metadata_set_file);
+	    }
+	}
+    }
+
+
+    /** Used to check whether all open collections have a 'saved' state.
+     * @return A <i>boolean</i> which is <i>true</i> if the collection has been saved.
+     * @see org.greenstone.gatherer.collection.Collection
+     */
+    public boolean saved() {
+	boolean result = true;
+	if(collection != null) {
+	    result = collection.getSaved();
+	}
+	return result;
+    }
+
+
+    /** Saves the currently loaded collection. */
+    public void saveCollection()
+    {
+
+        if (collection == null) return;
+
+	DebugStream.println("Saving collection " + collection.getName() + "...");
+
+	// Change cursor to hourglass
+	Gatherer.g_man.wait(true);
+
+	// Create a backup of the collection file, just in case anything goes wrong
+	File collection_file = new File(getLoadedCollectionColFilePath());
+	if (collection_file.exists()) {
+	    File collection_file_backup = new File(collection_file.getAbsolutePath() + "~");
+	    if (!collection_file.renameTo(collection_file_backup)) {
+		DebugStream.println("Error in CollectionManager.saveCollection(): could not create backup file.");
+	    }
+	    collection_file_backup.deleteOnExit();
+	}
+
+	// Write out the collection file
+	collection.save();
+
+	// Write out the collection configuration file
+	collection.cdm.save();
+
+	// Change cursor back to normal
+	Gatherer.g_man.wait(false);
+    }
+
+
+    /** I started giving the user the choice of using an existing meta set or creating a new one. The second option being so that they didn't have to add/merge/ignore each element, they could all be added automatically. However, I am not sure where the merge prompt gets called from, and it is not essential, so I am leaving it for now - it should be added back in and finished. [kjdon] */
+    private void addDefaultMetadataSets()
+    {
+	// Add dublin core which is the default metadata set. The user
+	// can change this later
+	File dc_file = new File(Gatherer.getGLIMetadataDirectoryPath()+"dublin.mds");
+	if (dc_file.exists()) {
+	    importMetadataSet(new MetadataSet(dc_file));
+	}
+    }
+
+
+    private void addRequiredMetadataSets()
+    {
+	// Always import the extracted metadata set
+	File extracted_metadata_set_file = new File(Gatherer.getGLIMetadataDirectoryPath() + MetadataSetManager.EXTRACTED_METADATA_NAMESPACE + StaticStrings.METADATA_SET_EXTENSION);
+	importMetadataSet(new MetadataSet(extracted_metadata_set_file));
+    }
+
+    private String getDefaultCollectDirectory() {
+	String collect_dir = Gatherer.getCollectDirectoryPath();
+	// Remove erroneous file windows file separator as it causes problems when running import.pl
+	if(collect_dir.length() > 2 && collect_dir.endsWith("\\")) {
+	    collect_dir = collect_dir.substring(0, collect_dir.length() - 1);
+	}
+	return collect_dir;
+    }
+
+    // used as arg in the perl scripts
+    private String getCollectDirectory() {
+	
+	String collect_dir = collection.getCollectionDirectory().getParentFile().getPath();
+	return collect_dir;
+    }
+
+
+    /** Install collection by moving its files from building to index after a successful build.
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.util.Utility
+     */
+    private boolean installCollection()
+    {
+	if (Configuration.fedora_info.isActive()) {
+	    DebugStream.println("Fedora build complete. No need to move files.");
+	    return true;
+	}
+
+       
+	DebugStream.println("Build complete. Moving files.");
+
+	try {
+	    // Ensure that the local library has released this collection so we can delete the index directory
+	    if (LocalLibraryServer.isRunning() == true) {
+		LocalLibraryServer.releaseCollection(collection.getName());
+	    }
+	    // deactivate it in tomcat so that windows will release the index files
+	    if (Gatherer.GS3 && !Gatherer.isGsdlRemote) {
+		Gatherer.configGS3Server(Configuration.site_name, ServletConfiguration.DEACTIVATE_COMMAND + collection.getName());
+	    }
+	    File index_dir = new File(getLoadedCollectionIndexDirectoryPath());
+	    DebugStream.println("Index = " + index_dir.getAbsolutePath());
+
+	    File building_dir = new File(getLoadedCollectionBuildingDirectoryPath());
+	    DebugStream.println("Building = " + building_dir.getAbsolutePath());
+
+	    // Get the build mode from the build options
+	    String build_mode = collection.build_options.getValue("mode");
+
+	    // Special case for build mode "all": replace index dir with building dir
+	    if (build_mode == null || build_mode.equals(Dictionary.get("CreatePane.Mode_All"))) {
+		// Remove the old index directory
+		if (index_dir.exists()) {
+		    Utility.delete(index_dir);
+
+		    // Wait for a couple of seconds, just for luck
+		    wait(2000);
+
+		    // Check the delete worked
+		    if (index_dir.exists()) {
+			throw new Exception(Dictionary.get("CollectionManager.Index_Not_Deleted"));
+		    }
+		}
+
+		if (Gatherer.isGsdlRemote) {
+		    Gatherer.remoteGreenstoneServer.deleteCollectionFile(
+                             collection.getName(), new File(getLoadedCollectionIndexDirectoryPath()));
+		    Gatherer.remoteGreenstoneServer.moveCollectionFile(collection.getName(), 
+                    new File(getLoadedCollectionBuildingDirectoryPath()), new File(getLoadedCollectionIndexDirectoryPath()));
+		}
+
+		// Move the building directory to become the new index directory
+		if (building_dir.renameTo(index_dir) == false) {
+		    throw new Exception(Dictionary.get("CollectionManager.Build_Not_Moved"));
+		}
+	    }
+
+	    // Otherwise copy everything in the building dir into the index dir
+	    else {
+		moveContentsInto(building_dir, index_dir);
+	    }
+	}
+	catch (Exception exception) {
+	    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CollectionManager.Install_Exception", exception.getMessage()), "Error", JOptionPane.ERROR_MESSAGE);
+	    return false;
+	}
+	return true;
+    }
+
+
+    /** Moves all the files in one directory into another, overwriting existing files */
+    private void moveContentsInto(File source_directory, File target_directory)
+    {
+	File[] source_files = source_directory.listFiles();
+	for (int i = 0; i < source_files.length; i++) {
+	    File source_file = source_files[i];
+	    File target_file = new File(target_directory, source_file.getName());
+
+	    if (source_file.isDirectory()) {
+		moveContentsInto(source_file, target_file);
+		source_file.delete();
+	    }
+	    else {
+		if (target_file.exists()) {
+		    target_file.delete();
+		}
+
+		source_file.renameTo(target_file);
+	    }
+	}
+    }
+
+    private void updateCollectionConfigXML(File base_cfg, File new_cfg) {
+	//In this method, the files base_cfg and new_cfg are all xml files.
+
+	Document base_cfg_doc = XMLTools.parseXMLFile(base_cfg);
+	XMLTools.writeXMLFile(new_cfg, base_cfg_doc);
+	Document new_cfg_doc = XMLTools.parseXMLFile(new_cfg);
+	Element collection_config = new_cfg_doc.getDocumentElement();
+	
+	Node browseNode = XMLTools.getChildByTagNameIndexed(collection_config, StaticStrings.BROWSE_STR, 0);
+	NodeList classifier_children = ((Element)browseNode).getElementsByTagName(StaticStrings.CLASSIFIER_STR);
+	int num_nodes = classifier_children.getLength();
+	
+	if (num_nodes < 1) {
+	    return;
+	}
+
+		// Read in the classifier command watching for hfile, metadata and sort arguments.
+		String buttonname = null;
+		String hfile = null;
+		String metadata = null;
+		String sort = null;
+		
+	for (int i=0; i<num_nodes; i++) {
+	    Element classifier_element = (Element)classifier_children.item(i);
+	    NodeList option_children = classifier_element.getElementsByTagName(StaticStrings.OPTION_STR);
+	    for (int j=0; j<option_children.getLength(); j++) {
+		Element option_element = (Element)option_children.item(j);
+	        String name_str = option_element.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+ 		String value_str = option_element.getAttribute(StaticStrings.VALUE_ATTRIBUTE);
+		    
+		if (name_str == null || name_str.equals("")) {
+		    continue;
+		}
+		if (name_str != null && value_str == null ) {
+		    value_str = "";
+		}
+		if (name_str.equals("hfile")) {
+		    hfile = value_str;
+		} 
+		else if (name_str.equals("metadata") && value_str != null) { 
+		    String replacement = ProfileXMLFileManager.getMetadataElementFor(value_str);
+		    if (replacement != null && !replacement.equals("")) {
+			metadata = replacement;
+		    }
+		}
+		else if (name_str.equals("sort") && value_str != null) { 
+		    String replacement = ProfileXMLFileManager.getMetadataElementFor(value_str);
+		    if (replacement != null && !replacement.equals("")) {
+			sort = replacement;
+		    }
+		}
+		else if(name_str.equals("buttonname") && value_str != null) {
+		    buttonname = value_str;
+		}
+	    }
+	}
+	for (int i=0; i<num_nodes; i++) {
+	    Element classifier_element = (Element)classifier_children.item(i);
+	    NodeList option_children = classifier_element.getElementsByTagName(StaticStrings.OPTION_STR);
+	    for (int j=0; j<option_children.getLength(); j++) {
+		Element option_element = (Element)option_children.item(j);
+	        String name_str = option_element.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+		
+		if (name_str.equals("metadata") && metadata != null) { 
+		    option_element.setAttribute(StaticStrings.VALUE_ATTRIBUTE, metadata);
+		}
+		else if (name_str.equals("hfile") && hfile != null) {
+		    option_element.setAttribute(StaticStrings.VALUE_ATTRIBUTE, metadata + ".txt");
+		}
+		else if (name_str.equals("sort") && sort != null) { 
+		    option_element.setAttribute(StaticStrings.VALUE_ATTRIBUTE, sort);
+		}
+		else if(name_str.equals("buttonname") && (buttonname == "" || buttonname == null)) {
+		    // No buttonname has been specified. Lets create one using the metadata as its value
+		    Element option = new_cfg_doc.createElement(StaticStrings.OPTION_STR);
+		    option.setAttribute(StaticStrings.NAME_ATTRIBUTE, "buttonname");
+		    option_element.setAttribute(StaticStrings.VALUE_ATTRIBUTE, metadata);	
+		    classifier_element.appendChild(option);
+		}
+	    }
+	}
+    }
+	
+    private void updateCollectionCFG(File base_cfg, File new_cfg, String description, String email, String title)
+    {
+	boolean first_name = true;
+	boolean first_extra = true;
+	
+	// Now read in base_cfg line by line, parsing important onces and/or replacing them with information pertinent to our collection. Each line is then written back out to the new collect.cfg file.
+	try {
+	    BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(base_cfg), "UTF-8"));
+	    BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new_cfg), "UTF-8"));
+	    String command = null;
+	    while((command = in.readLine()) != null) {
+		if (command.length()==0) {
+		    // output a new line
+		    out.newLine();
+		    continue;
+		}
+		// We have to test the end of command for the special character '\'. If found, remove it and append the next line, then repeat.
+		while(command.trim().endsWith("\\")) {
+		    command = command.substring(0, command.lastIndexOf("\\"));
+		    String next_line = in.readLine();
+		    if(next_line != null) {
+			command = command + next_line;
+		    }
+		}
+		// commands can extend over more than one line so use the CommandTokenizer which takes care of that
+		CommandTokenizer tokenizer = new CommandTokenizer(command, in, false);
+		String command_type_str = tokenizer.nextToken().toLowerCase();
+
+		if (command_type_str.equals(StaticStrings.COLLECTIONMETADATA_STR)) {
+		    // read the whole thing in, but for collectionname, collectionextra, iconcollection, iconcollectionsmall we will ignore them
+		    StringBuffer new_command = new StringBuffer(command_type_str);
+		    String meta_name = tokenizer.nextToken();
+		    new_command.append(' ');
+		    new_command.append(meta_name);
+		    while (tokenizer.hasMoreTokens()) {
+			new_command.append(' ');
+			new_command.append(tokenizer.nextToken());
+		    }
+		    if (meta_name.equals(StaticStrings.COLLECTIONMETADATA_COLLECTIONNAME_STR) || meta_name.equals(StaticStrings.COLLECTIONMETADATA_COLLECTIONEXTRA_STR) || meta_name.equals(StaticStrings.COLLECTIONMETADATA_ICONCOLLECTION_STR) || meta_name.equals(StaticStrings.COLLECTIONMETADATA_ICONCOLLECTIONSMALL_STR)) {
+			// dont save
+		    } else {
+			write(out, new_command.toString());
+		    }
+		    new_command = null;
+		    continue;
+		} // if collectionmeta
+
+		if (command_type_str.equals("classify")) {
+		    StringBuffer text = new StringBuffer(command_type_str);
+		    // Read in the classifier command watching for hfile, metadata and sort arguments.
+		    String buttonname = null;
+		    String hfile = null;
+		    String new_metadata = null;
+		    String old_metadata = null;
+		
+		    while(tokenizer.hasMoreTokens()) {
+			String token = tokenizer.nextToken();
+			if (token.equals("-hfile")) {
+			    if(tokenizer.hasMoreTokens()) {
+				text.append(" ");
+				text.append(token);
+				token = tokenizer.nextToken();
+				hfile = token;
+			    }
+			}
+			else if (token.equals("-metadata")) {
+			    if(tokenizer.hasMoreTokens()) {
+				text.append(" ");
+				text.append(token);
+				String temp_metadata = tokenizer.nextToken();
+				String replacement = ProfileXMLFileManager.getMetadataElementFor(temp_metadata);
+				if (replacement != null && !replacement.equals("")) {
+				    token = replacement;
+				    old_metadata = temp_metadata;
+				    new_metadata = replacement;
+				}
+				else {
+				    token = temp_metadata;
+				}
+				temp_metadata = null;
+				replacement = null;
+			    }
+			}
+			else if (token.equals("-sort")) {
+			    if(tokenizer.hasMoreTokens()) {
+				text.append(" ");
+				text.append(token);
+				String temp_metadata = tokenizer.nextToken();
+				String replacement = ProfileXMLFileManager.getMetadataElementFor(temp_metadata);
+				if (replacement != null && !replacement.equals("")) {
+				    token = replacement;
+				}
+				else {
+				    token = temp_metadata;
+				}
+				temp_metadata = null;
+				replacement = null;
+			    }
+			}
+			else if(token.equals("-buttonname")) {
+			    buttonname = token;
+			}
+			text.append(' ');
+			text.append(token);
+			token = null;
+		    }
+		   
+		    // If we replaced the metadata argument and didn't encounter a buttonname, then add one now pointing back to the old metadata name in order to accomodate macro files which required such names (buttonname is metadata name by default)!
+		    if(old_metadata != null && new_metadata != null && buttonname == null) {
+			text.append(' ');
+			text.append("-buttonname");
+			text.append(' ');
+			text.append(old_metadata);
+		    }
+		    command = text.toString();
+		    // Replace the hfile if we found it
+		    if(hfile != null && new_metadata != null) {
+			command = command.replaceAll(hfile, new_metadata + ".txt");
+		    }
+		
+		    buttonname = null;
+		    hfile = null;
+		    new_metadata = null;
+		    old_metadata = null;
+		    write(out, command);
+		} else {
+		    // the rest of the commands just want a string - we read in all the tokens from the tokeniser and get rid of it.
+		    StringBuffer new_command = new StringBuffer(command_type_str);
+		    while (tokenizer.hasMoreTokens()) {
+			new_command.append(' ');
+			new_command.append(tokenizer.nextToken());
+		    }
+
+		    command = new_command.toString();
+		    
+		    // There is still one special case, that of the format command. In such a command we have to search for [<target>] to ensure we don't change parts of the format which have nothing to do with the metadata elements.
+		    // we really want to build up the whole command here
+		    boolean format_command = command_type_str.equals("format");
+		    HashMap metadata_mapping = ProfileXMLFileManager.getMetadataMapping();
+		    if (metadata_mapping != null) {
+			Iterator keys = metadata_mapping.keySet().iterator();
+			while (keys.hasNext()) {
+			    String target = (String) keys.next();
+			    String replacement = (String) metadata_mapping.get(target);
+			    if (replacement != null && !replacement.equals("")) {
+				if (format_command) {
+				    target = "\\[" + target + "\\]";
+				    replacement = "{Or}{[" + replacement + "]," + target + "}";
+				}
+				command = command.replaceAll(target, replacement);
+			    }
+			}
+		    }
+
+		    write(out, command);
+		}
+		tokenizer = null;
+	    }
+	    in.close();
+	    in = null;
+	    out.flush();
+	    out.close();
+	    out = null;
+	}
+	catch(Exception error) {
+	    DebugStream.printStackTrace(error);
+	}
+	// All done, I hope.
+    }
+    
+    private void write(BufferedWriter out, String message)
+	throws Exception {
+	out.write(message, 0, message.length());
+	out.newLine();
+    }
+
+
+    /** The CollectionManager class is getting too confusing by half so I'll implement this TreeModelListener in a private class to make responsibility clear. */
+    private class FMTreeModelListener
+	implements TreeModelListener {
+	/** Any action that changes one of the tree models within a collection, which are the only models we listen to, mean the collections contents have changed and so saved should be set to false.
+	 * @param event A <strong>TreeModelEvent</strong> encompassing all the information about the event which has changed the tree.
+	 */
+	public void treeNodesChanged(TreeModelEvent event) {
+	    if(collection != null) {
+		collection.setSaved(false);
+		collection.setFilesChanged(true);
+	    }
+	}
+	/** Any action that changes one of the tree models within a collection, which are the only models we listen to, mean the collections contents have changed and so saved should be set to false.
+	 * @param event A <strong>TreeModelEvent</strong> encompassing all the information about the event which has changed the tree.
+	 */
+	public void treeNodesInserted(TreeModelEvent event) {
+	    if(collection != null) {
+		collection.setSaved(false);
+		collection.setFilesChanged(true);
+	    }
+	}
+	/** Any action that changes one of the tree models within a collection, which are the only models we listen to, mean the collections contents have changed and so saved should be set to false.
+	 * @param event A <strong>TreeModelEvent</strong> encompassing all the information about the event which has changed the tree.
+	 */
+	public void treeNodesRemoved(TreeModelEvent event) {
+	    if(collection != null) {
+		collection.setSaved(false);
+		collection.setFilesChanged(true);
+
+	    }
+	}
+	/** Any action that changes one of the tree models within a collection, which are the only models we listen to, mean the collections contents have changed and so saved should be set to false.
+	 * @param event A <strong>TreeModelEvent</strong> encompassing all the information about the event which has changed the tree.
+	 */
+	public void treeStructureChanged(TreeModelEvent event) {
+	    if(collection != null) {
+		collection.setSaved(false);
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/collection/CollectionTree.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/collection/CollectionTree.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/collection/CollectionTree.java	(revision 21123)
@@ -0,0 +1,424 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.collection;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.gui.tree.DragTree;
+import org.greenstone.gatherer.gui.tree.DragTreeCellRenderer;
+
+
+public class CollectionTree
+    extends DragTree
+    implements MouseListener
+{
+    public CollectionTree(CollectionTreeModel collection_tree_model, boolean mixed_selection)
+    {
+	super(collection_tree_model, mixed_selection);
+	addMouseListener(this);
+
+	setCellRenderer(new CollectionTreeCellRenderer());
+	setBackgroundNonSelectionColor(Configuration.getColor("coloring.collection_tree_background", false));
+	setBackgroundSelectionColor(Configuration.getColor("coloring.collection_selection_background", false));
+	setTextNonSelectionColor(Configuration.getColor("coloring.collection_tree_foreground", false));
+	setTextSelectionColor(Configuration.getColor("coloring.collection_selection_foreground", false));
+
+	filter.setBackground(Configuration.getColor("coloring.collection_heading_background", false));
+	filter.setEditable(Configuration.getMode() >= Configuration.LIBRARIAN_MODE);
+    }
+
+
+    public boolean isDraggable()
+    {
+	return true;
+    }
+
+
+    public boolean isDroppable()
+    {
+	return true;
+    }
+
+
+    public void mouseClicked(MouseEvent event)
+    {
+	if (SwingUtilities.isRightMouseButton(event)) {
+	    new CollectionTreeRightClickMenu(this, event);
+	}
+    }
+
+    public void mouseEntered(MouseEvent event) { }
+
+    public void mouseExited(MouseEvent event) { }
+
+    public void mousePressed(MouseEvent event) { }
+
+    public void mouseReleased(MouseEvent event) { }
+
+
+    public String toString()
+    {
+	return "Collection";
+    }
+
+
+    private class CollectionTreeCellRenderer
+	extends DragTreeCellRenderer
+    {
+	public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus)
+	{
+	    JLabel tree_cell = (JLabel) super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
+
+	    // Mark explodable files and SrcReplaceable files with a different icon (Green file icon)
+	    if(value instanceof CollectionTreeNode) {
+		if(((CollectionTreeNode) value).isExplodable() || ((CollectionTreeNode) value).isSrcReplaceable()) {
+		    tree_cell.setIcon(CollectionTreeNode.GREEN_FILE_ICON);
+		}
+	    }
+	        
+	    return tree_cell;
+	}
+    }
+
+
+    /** When a user right-clicks within the workspace and collection trees they are presented with a small popup menu of context based options. This class provides such functionality.
+     */
+    private class CollectionTreeRightClickMenu
+	extends JPopupMenu
+	implements ActionListener
+    {
+	/** The tree over which the right click action occurred. */
+	private CollectionTree collection_tree = null;
+	/** The tree nodes selected when the right click action occurred. */
+	private TreePath[] selection_paths = null;
+	/** The file record over which the right click action occurred. */
+	private CollectionTreeNode node = null;
+
+	private JMenuItem collapse_folder = null;
+	private JMenuItem expand_folder = null;
+	private JMenuItem explode_metadata_database = null;
+	private JMenuItem replace_srcdoc_with_html = null;
+	private JMenuItem delete = null;
+	private JMenuItem metaaudit = null;
+	private JMenuItem new_folder = null;
+	private JMenuItem new_dummy_doc = null;
+	private JMenuItem refresh = null; // for refreshing folder view
+	private JMenuItem open_externally = null;
+	private JMenuItem rename = null;
+	private JMenuItem replace = null;
+
+
+	private CollectionTreeRightClickMenu(CollectionTree collection_tree, MouseEvent event)
+	{
+	    super();
+	    this.collection_tree = collection_tree;
+
+	    // Note we have to use setImmediate() with the set selction paths
+	    // otherwise the selection doesn't get updated until after the 
+	    // popup comes up.
+
+	    // the right click position
+	    TreePath right_click_path = collection_tree.getPathForLocation(event.getX(), event.getY());
+	    if (right_click_path == null) {
+		// user has clicked outside of the tree, clear the selection
+		selection_paths = null;
+		collection_tree.setImmediate(true);
+		collection_tree.clearSelection();
+		collection_tree.setImmediate(false);
+	    }
+	    else {
+		// Get the paths currently selected in the tree
+		selection_paths = collection_tree.getSelectionPaths();
+		if (selection_paths == null) {
+		    // nothing currently selected - we shift the selection to 
+		    // the node that was right clicked on
+		    selection_paths = new TreePath[1];
+		    selection_paths[0] = right_click_path;
+		    collection_tree.setImmediate(true);
+		    collection_tree.setSelectionPath(right_click_path);
+		    collection_tree.setImmediate(false);
+		}
+		else if (selection_paths.length == 1 && ! selection_paths[0].equals( right_click_path)) {
+		    collection_tree.setImmediate(true);
+		    collection_tree.clearSelection();
+		    collection_tree.setSelectionPath(right_click_path);
+		    collection_tree.setImmediate(false);
+		    selection_paths[0] = right_click_path;
+		}
+		else {
+		    // we had multiply selected paths in the tree.
+		    // if we clicked on one of those paths, then use all the 
+		    // current selection, otherwise clear the selection and 
+		    // select the one we right clicked on
+		    boolean clicked_in_selection = false;
+		    for (int i = 0; i < selection_paths.length; i++) {
+			if (selection_paths[i].equals(right_click_path)) {
+			    clicked_in_selection = true;
+			    break;
+			}
+		    }
+		    if (!clicked_in_selection) {
+			// want the tree to update right away
+			collection_tree.setImmediate(true);
+			collection_tree.clearSelection();
+			collection_tree.setSelectionPath(right_click_path);
+			collection_tree.setImmediate(false);
+			selection_paths = new TreePath[1];
+			selection_paths[0] = right_click_path;
+		    }
+		}
+	    }
+	    
+	    // Create an appropriate context menu, based on what is selected
+	    buildContextMenu(selection_paths);
+
+	    // Show the popup menu on screen
+	    show(collection_tree, event.getX(), event.getY());
+	}
+
+	/** Checks whether the files selected are of the same filetype (have the same extension).
+	 * @param selectedFilePaths - the full file paths to the treenodes selected in the 
+	 * collection fileview. 
+	 * @return true if the file extensions of all the selected files are the same. False is 
+	 * returned if the file extension of any selected file is different (this means that if 
+	 * a folder was selected, false would be returned). False is also returned if nothing was
+	 * selected.
+	 * For use with replace_srcdoc_with_html.pl
+	*/
+	private boolean selectedFilesOfSameType(TreePath[] selectedFilePaths) {
+	    if(selectedFilePaths == null || selectedFilePaths.length <= 0)
+		return false;
+
+	    boolean sameExtension = true;
+
+	    // get just the filename from the path and extract its extension
+	    String firstFile = selectedFilePaths[0].getLastPathComponent().toString();
+	    int period = firstFile.lastIndexOf('.');
+	    if(period == -1) { // someone could have selected a folder
+		return false;
+	    }
+	    String extension = firstFile.substring(period); // includes period
+
+	    // compare with the other selected files' extensions:
+	    for(int i = 1; i < selectedFilePaths.length && sameExtension; i++) {
+		String otherFile = selectedFilePaths[i].getLastPathComponent().toString();
+		String otherFileExt = otherFile.substring(otherFile.lastIndexOf('.'));
+		if(!extension.equals(otherFileExt)) 
+		    sameExtension = false;
+	    }
+	    return sameExtension;
+	}
+
+	private void buildContextMenu(TreePath[] selection_paths)
+	{
+	    // If nothing is selected, only the new folder/dummy doc options are available...
+	    if (selection_paths == null) {
+		new_folder = new JMenuItem(Dictionary.get("CollectionPopupMenu.New_Folder"), KeyEvent.VK_N);
+		new_folder.addActionListener(this);
+		add(new_folder);
+
+		new_dummy_doc = new JMenuItem(Dictionary.get("CollectionPopupMenu.New_Dummy_Doc"));
+		new_dummy_doc.addActionListener(this);
+		add(new_dummy_doc);
+
+		refresh = new JMenuItem(Dictionary.get("CollectionPopupMenu.Refresh"));
+		if(Gatherer.isGsdlRemote) {
+		    refresh.setEnabled(false);
+		}
+		refresh.addActionListener(this);
+		add(refresh);
+
+		node = (CollectionTreeNode) collection_tree.getModel().getRoot();
+		return;
+	    }
+
+	    // Meta-audit and delete options
+	    metaaudit = new JMenuItem(Dictionary.get("Menu.Metadata_View", collection_tree.getSelectionDetails()), KeyEvent.VK_A);
+	    metaaudit.addActionListener(this);
+	    add(metaaudit);
+
+	    delete = new JMenuItem(Dictionary.get("CollectionPopupMenu.Delete"), KeyEvent.VK_D);
+	    delete.addActionListener(this);
+	    add(delete);
+
+	    // The src doc replaceable (with html file) option is only available when all files selected are of the
+	    // same type (same extension). For srcreplaceable files only. Works with replace_srcdoc_with_html.pl
+	    CollectionTreeNode firstSelectedNode = (CollectionTreeNode)selection_paths[0].getLastPathComponent();
+	    if(firstSelectedNode.isSrcReplaceable()) { // test the first selected node
+		replace_srcdoc_with_html = new JMenuItem(Dictionary.get("Menu.Replace_SrcDoc_With_HTML"), KeyEvent.VK_H);
+		replace_srcdoc_with_html.addActionListener(this);		
+		add(replace_srcdoc_with_html);
+		
+		// Now the menu is there, grey it out if not all the files are of the same type
+		if(!selectedFilesOfSameType(selection_paths)) {
+		    replace_srcdoc_with_html.setEnabled(false);
+		} 
+	    }
+	   
+	    // Only meta-audit and delete (and possibly replace_srcdoc) are available if multiple items are selected...
+	    if (selection_paths.length > 1) {
+		return;
+	    }
+
+	    // Rename option
+	    rename = new JMenuItem(Dictionary.get("CollectionPopupMenu.Rename"), KeyEvent.VK_R);
+	    rename.addActionListener(this);
+	    add(rename);
+
+	    TreePath path = selection_paths[0];
+	    node = (CollectionTreeNode) path.getLastPathComponent();
+
+	    // ---- Options for file nodes ----
+	    if (node.isLeaf()) {
+		// Explode metadata databases, for explodable files only
+		if (node.isExplodable()) {
+		    explode_metadata_database = new JMenuItem(Dictionary.get("Menu.Explode_Metadata_Database"), KeyEvent.VK_E);
+		    explode_metadata_database.addActionListener(this);
+		    add(explode_metadata_database);
+		}
+	
+		// Replace file
+		replace = new JMenuItem(Dictionary.get("CollectionPopupMenu.Replace"), KeyEvent.VK_P);
+		replace.addActionListener(this);
+		add(replace);
+		// Open the file in an external program
+		open_externally = new JMenuItem(Dictionary.get("Menu.Open_Externally"), KeyEvent.VK_O);
+		open_externally.addActionListener(this);
+		add(open_externally);
+
+		return;
+	    }
+
+	    // ---- Options for folder nodes ----
+	    // Collapse or expand, depending on current status
+	    if (collection_tree.isExpanded(path)) {
+		collapse_folder = new JMenuItem(Dictionary.get("Menu.Collapse"), KeyEvent.VK_C);
+		collapse_folder.addActionListener(this);
+		add(collapse_folder);
+	    }
+	    else {
+		expand_folder = new JMenuItem(Dictionary.get("Menu.Expand"), KeyEvent.VK_O);
+		expand_folder.addActionListener(this);
+		add(expand_folder);
+	    }
+
+	    // New folder/dummy doc options
+	    if (!node.isReadOnly()) {
+		new_folder = new JMenuItem(Dictionary.get("CollectionPopupMenu.New_Folder"), KeyEvent.VK_N);
+		new_folder.addActionListener(this);
+		add(new_folder);
+
+		new_dummy_doc = new JMenuItem(Dictionary.get("CollectionPopupMenu.New_Dummy_Doc"));
+		new_dummy_doc.addActionListener(this);
+		add(new_dummy_doc);
+	    }
+	}
+
+
+	/** Called whenever one of the menu items is clicked, this method then causes the appropriate effect. */
+	public void actionPerformed(ActionEvent event)
+	{	
+	    Object source = event.getSource();
+
+	    // Collapse folder
+	    if (source == collapse_folder) {
+		collection_tree.collapsePath(selection_paths[0]);
+	    }
+
+	    // Expand folder
+	    else if (source == expand_folder) {
+		collection_tree.expandPath(selection_paths[0]);
+	    }
+
+	    // Explode metadata database
+	    else if (source == explode_metadata_database) {
+ 		Gatherer.f_man.explodeMetadataDatabase(node.getFile());
+	    }
+	    
+	    // Replace source document with generated html (works with replace_srcdoc_with_html.pl)
+	    else if (source == replace_srcdoc_with_html) {
+		java.io.File[] source_files = new java.io.File[selection_paths.length];
+		for (int i = 0; i < selection_paths.length; i++) {
+		    CollectionTreeNode node = (CollectionTreeNode) selection_paths[i].getLastPathComponent(); 
+		    source_files[i] = node.getFile();
+		}
+		Gatherer.f_man.replaceSrcDocWithHtml(source_files); // passing the selected files
+	    }
+
+	    // Delete
+	    else if (source == delete) {
+		CollectionTreeNode[] source_nodes = new CollectionTreeNode[selection_paths.length];
+		for (int i = 0; i < selection_paths.length; i++) {
+		    source_nodes[i] = (CollectionTreeNode) selection_paths[i].getLastPathComponent();
+		}
+
+		// Fire a delete action
+		Gatherer.f_man.action(collection_tree, source_nodes, Gatherer.recycle_bin, null);
+	    }
+
+	    // Meta-audit
+	    else if (source == metaaudit) {
+ 		Gatherer.g_man.showMetaAuditBox();
+ 	    }
+
+	    // New folder
+  	    else if (source == new_folder) {
+ 		Gatherer.f_man.newFolder(collection_tree, node);
+ 	    }
+
+	    // New dummy doc
+	    else if (source == new_dummy_doc) {
+		Gatherer.f_man.newDummyDoc(collection_tree, node);
+	    }
+
+	    // Refresh action to reload folder view
+	    else if (source == refresh) { // Refresh collection tree
+		Gatherer.g_man.refreshCollectionTree(DragTree.COLLECTION_CONTENTS_CHANGED);
+	    }
+
+	    // Open in external program
+	    else if (source == open_externally) {
+		Gatherer.f_man.openFileInExternalApplication(node.getFile());
+	    }
+
+	    // Rename
+	    else if (source == rename) {
+		Gatherer.f_man.renameCollectionFile(collection_tree, node);
+	    }
+
+	    // Replace
+	    else if (source == replace) {
+		Gatherer.f_man.replaceCollectionFile(collection_tree, node);
+	    }
+  	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/collection/CollectionTreeModel.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/collection/CollectionTreeModel.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/collection/CollectionTreeModel.java	(revision 21123)
@@ -0,0 +1,41 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.collection;
+
+
+import org.greenstone.gatherer.file.FileSystemModel;
+
+
+/** This class represents ... */
+public class CollectionTreeModel
+    extends FileSystemModel
+{
+    public CollectionTreeModel(CollectionTreeNode root_node)
+    {
+	super(root_node);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/collection/CollectionTreeNode.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/collection/CollectionTreeNode.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/collection/CollectionTreeNode.java	(revision 21123)
@@ -0,0 +1,83 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.collection;
+
+
+import java.io.*;
+import javax.swing.*;
+import org.greenstone.gatherer.cdm.CollectionDesignManager;
+import org.greenstone.gatherer.file.FileNode;
+import org.greenstone.gatherer.util.JarTools;
+import java.util.Set;
+import java.util.Iterator;
+import java.nio.charset.Charset;
+
+
+/** This class represents one node in the collection tree. */
+public class CollectionTreeNode
+    extends FileNode
+{
+    static final public ImageIcon GREEN_FILE_ICON = JarTools.getImage("greenfile.gif", true);
+    
+    /** Is this file a metadata database that is explodable with the explode_metadata_databases.pl script? */
+    private boolean is_explodable = false;
+
+    /** Keeps track of whether this file can be replaced with a Greenstone-generated html file.
+     * To work with replace_srcdoc_with_html.pl */
+    private boolean is_srcreplaceable = false;
+
+    public CollectionTreeNode(File file)
+    {
+	super(file);
+
+	this.is_explodable = CollectionDesignManager.plugin_manager.isFileExplodable(file);
+	// To work with replace_srcdoc_with_html.pl
+	this.is_srcreplaceable = CollectionDesignManager.plugin_manager.isFileSrcReplaceable(file);
+    
+    }
+
+
+    public FileNode addChildNode(File file)
+    {
+	CollectionTreeNode child_node = new CollectionTreeNode(file);
+	child_node.setModel(model);
+	child_node.setParent(this);
+	return child_node;
+    }
+
+
+    public boolean isExplodable()
+    {
+	return is_explodable;
+    }
+
+    // To work with replace_srcdoc_with_html.pl
+    public boolean isSrcReplaceable()
+    {
+	return is_srcreplaceable;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/collection/LegacyCollectionImporter.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/collection/LegacyCollectionImporter.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/collection/LegacyCollectionImporter.java	(revision 21123)
@@ -0,0 +1,142 @@
+package org.greenstone.gatherer.collection;
+
+
+import java.io.*;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.cdm.Argument;
+import org.greenstone.gatherer.cdm.Classifier;
+import org.greenstone.gatherer.cdm.CollectionDesignManager;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataTools;
+import org.greenstone.gatherer.metadata.ProfileXMLFileManager;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+
+
+/**
+ * Importing legacy collections involves two main steps:
+ *
+ * 1. Read the existing metadata.xml files and namespace them, usually by prompting the user
+ *    to specify the mapping between old metadata elements and new elements.
+ *
+ * 2. Fix up the classify commands in the collect.cfg file to specify the new element names.
+ *
+ * @author Michael Dewsnip
+ */
+public class LegacyCollectionImporter 
+{
+    /** Definition of an important directory name, in this case the backup import directory for the collection. */
+    static final public String IMPORT_BAK_DIR = "import.bak" + File.separator;
+
+
+    // This copies all the existing metadata.xml files into a backup directory
+    static public void backupMetadataXMLFiles(File collection_dir)
+    {
+	File import_dir = new File(collection_dir, "import");
+	File import_bak_dir = new File(collection_dir, IMPORT_BAK_DIR);
+	import_bak_dir.mkdir();
+	copyMetadataXMLFiles(import_dir, import_bak_dir);
+    }
+
+
+    static private void copyMetadataXMLFiles(File source_dir, File backup_dir)
+    {
+	if (source_dir == null || !source_dir.exists()) {
+	    return;
+	}
+
+	// Find the metadata file in this dir
+	File metadata_xml_file_file = new File(source_dir, "metadata.xml");
+	if (metadata_xml_file_file.exists()) {
+	    File new_metadata_xml_file_file = new File(backup_dir, "metadata.xml");
+	    try {
+		backup_dir.mkdirs();
+		Gatherer.f_man.getQueue().copyFile(metadata_xml_file_file, new_metadata_xml_file_file, false);
+		if (!new_metadata_xml_file_file.exists()) {
+		    throw new Exception("");
+		}
+	    }
+	    catch (Exception e) {
+		DebugStream.println("Exception: couldn't copy the file " + metadata_xml_file_file.getPath() + e.getMessage());
+	    }
+	}
+
+	// Now go through child directories
+	File [] children = source_dir.listFiles();
+	for (int i = 0; i < children.length; i++) {
+	    File child = children[i];
+	    if (child.isDirectory()) {
+		copyMetadataXMLFiles(child, new File(backup_dir, child.getName()));
+	    }
+	}
+    }
+
+
+    static public void updateClassifiers(CollectionDesignManager cdm)
+    {
+	// Update the metadata elements in each of the classifiers
+	for (int i = 0; i < cdm.classifier_manager.getSize(); i++) {
+	    Classifier classifier = cdm.classifier_manager.getClassifier(i);
+	    // System.err.println("Classifier: " + classifier);
+
+	    // Update the "-metadata" value
+	    Argument metadata_argument = classifier.getArgument("-metadata");
+	    String metadata_argument_value = metadata_argument.getValue();
+	    String metadata_element_name_full = mapLegacyMetadataElementName(metadata_argument_value);
+	    if (metadata_element_name_full != null && !metadata_element_name_full.equals("")) {
+		String metadata_element_display_name_full = MetadataTools.getDisplayNameForMetadataElementWithName(metadata_element_name_full);
+		if (metadata_element_display_name_full != null) {
+		    metadata_argument_value = metadata_element_display_name_full;
+		    metadata_argument.setValue(metadata_argument_value);
+		}
+	    }
+
+  	    // Update the "-sort" value
+	    Argument sort_argument = classifier.getArgument("-sort");
+	    if (sort_argument != null) {
+		String sort_element_name_full = mapLegacyMetadataElementName(sort_argument.getValue());
+		if (sort_element_name_full != null && !sort_element_name_full.equals("")) {
+		    String sort_element_display_name_full = MetadataTools.getDisplayNameForMetadataElementWithName(sort_element_name_full);
+		    if (sort_element_display_name_full != null) {
+			sort_argument.setValue(sort_element_display_name_full);
+		    }
+		}
+	    }
+
+	    // Set the "-buttonname" value if it isn't already set
+	    Argument buttonname_argument = classifier.getArgument("-buttonname");
+	    if (buttonname_argument != null && buttonname_argument.getValue().equals("")) {
+		int namespace_index = metadata_argument_value.indexOf(".");
+		if (namespace_index != -1) {
+		    buttonname_argument.setValue(metadata_argument_value.substring(namespace_index + 1));
+		}
+		else {
+		    buttonname_argument.setValue(metadata_argument_value);
+		}
+		buttonname_argument.setAssigned(true);
+	    }
+
+	    // With Hierarchy classifiers, update the hfile arguments
+  	    if (classifier.getName().equalsIgnoreCase(StaticStrings.HIERARCHY_CLASSIFIER)) {
+		// Update the "-hfile" value
+		Argument hfile_argument = classifier.getArgument(StaticStrings.HFILE_ARGUMENT);
+		hfile_argument.setValue(metadata_element_name_full + ".txt");
+  	    }
+
+	    // System.err.println("Classifier (after): " + classifier);
+	}
+    }
+
+
+    static private String mapLegacyMetadataElementName(String metadata_element_name)
+    {
+ 	// Remove the extracted namespace if it has been added
+ 	if (metadata_element_name.startsWith(StaticStrings.EXTRACTED_NAMESPACE)) {
+ 	    metadata_element_name = metadata_element_name.substring(StaticStrings.EXTRACTED_NAMESPACE.length());
+ 	}
+
+ 	// Update the metadata value to the new (namespaced) one
+	return ProfileXMLFileManager.getMetadataElementFor(metadata_element_name);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/collection/ScriptOptions.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/collection/ScriptOptions.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/collection/ScriptOptions.java	(revision 21123)
@@ -0,0 +1,273 @@
+package org.greenstone.gatherer.collection;
+
+import java.io.*;
+import java.util.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.cdm.Argument;
+import org.greenstone.gatherer.greenstone.LocalGreenstone;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.greenstone.gatherer.util.ArrayTools;
+import org.greenstone.gatherer.util.Codec;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+
+/** This class parses options from Perl scripts: import.pl, buildcol.pl and explode_metadata_database.pl in particular. */
+public class ScriptOptions
+{
+    /** The root element of the argument tree. */
+    private Element arguments_element;
+    /** The root element of the values tree. */
+    private Element values_element;
+    /** The name of an argument element. */
+    static final private String ARGUMENT = "Argument";
+    /** The name of the enabled attribute. */
+    static final private String ENABLED = "enabled";
+    /** The name of the 'false' value. */
+    static final private String FALSE = "false";
+    /** The name of a name attribute. */
+    static final private String NAME = "name";
+    /** The name of an option element. */
+    static final private String OPTION = "Option";
+    /** The name of the 'true' value. */
+    static final private String TRUE = "true";
+
+
+    /** Parse the arguments from running "script_name -xml" */
+    public ScriptOptions(Element values_element, String script_name)
+    {
+	this.values_element = values_element;
+	this.arguments_element = loadArguments(script_name, Configuration.getLanguage());
+    }
+
+
+    /** Retrieve the indexth argument */
+    public Argument getArgument(int index)
+    {
+	Argument argument = null;
+
+	NodeList option_list = arguments_element.getElementsByTagName(OPTION);
+	if (index >= 0 && index < option_list.getLength()) {
+	    argument = new Argument();
+	    argument.parseXML((Element) option_list.item(index));
+	}
+
+	return argument;
+    }
+
+
+    /** Retrieve the number of arguments.
+     */
+    public int getArgumentCount() {
+	// Determining the total count is easy.
+	NodeList argument_elements = arguments_element.getElementsByTagName(OPTION);
+	return argument_elements.getLength();
+    }
+
+
+    /** Retrieve the value of a certain argument. */
+    public String getValue(String name) {
+	return getValue(name, false);
+    }
+
+    /** Determine if the named argument value is enabled or disabled. */
+    public boolean getValueEnabled(String name) {
+	boolean result = false;
+	String value = getValue(name, true);
+	if(value != null && value.length() > 0) {
+	    result = (value.equalsIgnoreCase(TRUE));
+	}
+	return result;
+    }
+
+    /** Retrieve all of the values as a String array ready to added to the script call. */
+    public String[] getValues() {
+	ArrayList values = new ArrayList();
+	try {
+	    NodeList arguments = values_element.getElementsByTagName(ARGUMENT);
+	    for(int i = 0; i < arguments.getLength(); i++) {
+		Element argument_element = (Element) arguments.item(i);
+		// Determine if this argument is enabled.
+		if(argument_element.getAttribute(ENABLED).equalsIgnoreCase(TRUE)) {
+		    // First store the name of the argument prefixed with a '-'
+		    values.add("-" + argument_element.getAttribute(NAME));
+		    // Now retrieve the value.
+		    String argument_value = Codec.transform(XMLTools.getValue(argument_element), Codec.DOM_TO_TEXT);
+		    // If there is a value, tokenize it by commas only.
+		    if(argument_value != null && argument_value.length() > 0) {
+			values.add(argument_value);
+		    }
+		    argument_value = null;
+		}
+		argument_element = null;
+	    }
+	    arguments = null;
+	}
+	catch (Exception error) {
+	    DebugStream.printStackTrace(error);
+	}
+	return ArrayTools.arrayListToStringArray(values);
+    }
+
+   /** Remove the named value from the arguments */
+    public void removeValue(String name) {
+	try {
+	    NodeList arguments = values_element.getElementsByTagName(ARGUMENT);
+	    boolean found = false;
+	    for(int i = 0; !found && i < arguments.getLength(); i++) {
+		Element argument_element = (Element) arguments.item(i);
+		// Is this the argument we want.
+		if(argument_element.getAttribute(NAME).equalsIgnoreCase(name)) {
+		    values_element.removeChild(argument_element);
+		    found = true;
+		}
+		argument_element = null;
+	    }
+	    arguments = null;
+	}
+	catch (Exception error) {
+	    DebugStream.printStackTrace(error);
+	}
+    }
+
+    /** Set the state of some argument. Note that value may be either a single String, an ArrayList of Strings or null. If enable is false then any existing argument for the named argument is disabled. */
+    public void setValue(String name, boolean enable, String value) {
+	///ystem.err.println("Set value: " + (arguments_element == build_values_element ? "Build" : "Import") + ", " + name + ", " + enable + ", " + value);
+	try {
+	    Document document = values_element.getOwnerDocument();
+	    NodeList arguments = values_element.getElementsByTagName(ARGUMENT);
+	    boolean found = false;
+	    for(int i = 0; i < arguments.getLength(); i++) {
+		Element argument_element = (Element) arguments.item(i);
+		// If this the argument named.
+		if(argument_element.getAttribute(NAME).equalsIgnoreCase(name)) {
+		    found = true;
+		    // Set whether this argument is enabled
+		    argument_element.setAttribute(ENABLED, (enable ? TRUE : FALSE));
+		    // Now we set the value, depending or what it is.
+		    if(value == null) {
+			// Nothing to do.
+		    }
+		    else {
+			// Remove existing text nodes.
+			while(argument_element.hasChildNodes()) {
+			    argument_element.removeChild(argument_element.getFirstChild());
+			}
+			argument_element.appendChild(document.createTextNode((String)value));
+		    }
+		}
+		argument_element = null;
+	    }
+	    // If we haven't found an instance of this argument, but should have, then add it.
+	    if(!found && (enable || value != null)) {
+		Element argument_element = document.createElement(ARGUMENT);
+		argument_element.setAttribute(NAME, name);
+		argument_element.setAttribute(ENABLED, (enable ? TRUE : FALSE));
+		// Now we set the value, depending or what it is.
+		if(value == null) {
+		    // Nothing to do.
+		}
+		else {
+		    argument_element.appendChild(document.createTextNode((String)value));
+		}
+		values_element.appendChild(argument_element);
+	    }
+	    arguments = null;
+	    document = null;
+	    // Make sure the collection knows to save.
+	    Gatherer.c_man.getCollection().setSaved(false);
+	}
+	catch (Exception error) {
+	    DebugStream.printStackTrace(error);
+	}
+    }
+
+ 
+    private String getValue(String name, boolean is_enabled) {
+	String result = null;
+	try {
+	    NodeList arguments = values_element.getElementsByTagName(ARGUMENT);
+	    for(int i = 0; result == null && i < arguments.getLength(); i++) {
+		Element argument_element = (Element) arguments.item(i);
+		// Is this the argument we want.
+		if(argument_element.getAttribute(NAME).equalsIgnoreCase(name)) {
+		    // Are we simply determining if this argument is enabled
+		    if(is_enabled) {
+			result = argument_element.getAttribute(ENABLED);
+		    }
+		    else {
+			String argument_value = XMLTools.getValue(argument_element);
+			if(argument_value != null) {
+			    result = argument_value;
+			}
+			argument_value = null;
+		    }
+		}
+		argument_element = null;
+	    }
+	    arguments = null;
+	}
+	catch (Exception error) {
+	    DebugStream.printStackTrace(error);
+	}
+	return result;
+    }
+
+
+    private Element loadArguments(String filename, String lang)
+    {
+	// Run the required program.
+	try {
+	    Document document;
+
+	    if (Gatherer.isGsdlRemote) {
+		String script_output = Gatherer.remoteGreenstoneServer.getScriptOptions(filename, "");
+		document = XMLTools.parseXML(new StringReader(script_output));
+	    }
+	    else {
+		String args[];
+		args = new String[6];
+		args[0] = Configuration.perl_path;
+		args[1] = "-S";
+		args[2] = LocalGreenstone.getBinScriptDirectoryPath() + filename;
+		args[3] = "-xml";
+		args[4] = "-language";
+		args[5] = lang;
+
+
+		// Create the process.
+		Runtime runtime = Runtime.getRuntime();
+		Process process = runtime.exec(args);
+
+		
+		//for (int i=0; i<args.length; i++) { 
+		//   System.err.print(args[i] + " ");
+		//}
+		//System.err.println("");
+		
+
+
+		document = XMLTools.parseXML(process.getErrorStream());
+		
+		if (document == null) {
+		    // command has not generated XML, script has probably failed in some way
+		    for (int i=0; i<args.length; i++) { 
+			DebugStream.print(args[i] + " ");
+		    }
+		    DebugStream.println("");
+		}
+	    }
+
+	    return document.getDocumentElement();
+	}
+	catch (Exception error) {
+	    DebugStream.println("Error in ScriptOptions.loadArguments(): " + error);
+	    DebugStream.printStackTrace(error);
+	}
+
+	return null;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/download/Download.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/download/Download.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/download/Download.java	(revision 21123)
@@ -0,0 +1,207 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.download;
+
+import java.io.*;
+import java.util.*;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+import org.w3c.dom.*;
+import org.greenstone.gatherer.cdm.*;
+
+
+/** This class is responsible for storing information from a parsed downloadinfo.pl call in such a way that it allows easy access to parsed details for the purposes of user design and specification of downloads.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class Download
+    extends ArgumentContainer
+{
+    private boolean is_abstract = false;
+
+    /** A reference to the download that this one inherits from. */
+    private Download super_download = null;
+    /** The element this download is based upon. */
+    private Element element;
+    /** A description of this download. */
+    private String description = null;
+    private String name = null;
+
+
+    public Download() {
+    }
+
+    /** Method to add an argument to this download. Only adds the argument if it isn't already present.
+     * @param argument The <strong>Argument</strong> to add.
+     */
+    public void addArgument(Argument argument) {
+	if(element == null && !contains(argument)) {
+	    add(argument);
+	    argument.setOwner(name);
+	}
+    }
+
+    /** Method to compare two downloads for ordering.
+     * @param object The download we are comparing to, as an <strong>Object</strong>.
+     * @return An <i>int</i> specifying the download order, using values as set out in String.
+     * @see java.lang.String#compareTo
+     */
+    public int compareTo(Object object) {
+	if(object == null) {
+	    return -1;
+	}
+	return toString().compareTo(object.toString());
+    }
+
+    /** Probably not used.
+     */
+    public DOMProxyListEntry create(Element element) {
+	return null;
+    }
+
+    /** Method to determine if two downloads are equal.
+     * @param object The download to test against, as an <strong>Object</strong>.
+     * @return <i>true</i> if the download names match, <i>false</i> otherwise.
+     */
+    public boolean equals(Object object) {
+	return (compareTo(object) == 0);
+    }
+
+    /** Method to retrieve an argument by its name.
+     * @param name The name of the argument as a <strong>String</strong>.
+     * @return The <strong>Argument</strong> requested, or <i>null</i> if no such argument.
+     */
+    public Argument getArgument(String name) {
+	// The name given may still include the '-'
+	if(name.startsWith("-")) {
+	    name = name.substring(1);
+	}
+	ArrayList arguments = getArguments(true, true);
+	for(int i = 0; i < arguments.size(); i++) {
+	    Argument argument = (Argument)arguments.get(i);
+	    if(argument.getName().equals(name)) {
+		return argument;
+	    }
+	}
+	return null;
+    }
+
+     /** Retrieve all of the arguments available to this base download, including its super downloads arguments. Some complexity is added by allowing the caller to choose whether they want normal arguments, custom arguments, or both.
+      * @return an ArrayList of all of the arguments, starting with those for this download and ending with the arguments for basplug or similiar root download
+      */
+    public ArrayList getArguments(boolean include_normal, boolean include_custom) {
+	ArrayList arguments = new ArrayList();
+	if(include_normal && include_custom) {
+	    arguments.addAll(this);
+	}
+	else {
+	    int size = size();
+	    for(int i = 0; i < size; i++) {
+		Argument argument = (Argument) get(i);
+		if(argument.isCustomArgument()) {
+		    if(include_custom && !arguments.contains(argument)) {
+			arguments.add(argument);
+		    }
+		}
+		else {
+		    if(include_normal && !arguments.contains(argument)) {
+			arguments.add(argument);
+		    }
+		}
+		argument = null;
+	    }
+	}
+	if(super_download != null) {
+	    ArrayList remainder = super_download.getArguments(include_normal, include_custom);
+	    remainder.removeAll(arguments);
+	    arguments.addAll(remainder);
+	}
+	return arguments;
+    }
+
+    public String getDescription() {
+	return description;
+    }
+
+    public Element getElement() {
+	return element;
+    }
+
+    /** Method to retrieve a download name.
+     * @return A <strong>String</strong> containing the downloads name.
+     */
+    public String getName() {
+	if(name == null && element != null) {
+	    name = element.getAttribute(StaticStrings.TYPE_ATTRIBUTE);
+	}
+	return name;
+    }
+
+    public boolean isAbstract() {
+	return is_abstract;
+    }
+
+    public boolean isAssigned() {	
+	return (element != null && !element.getAttribute(StaticStrings.ASSIGNED_ATTRIBUTE).equals(StaticStrings.FALSE_STR));
+    }
+
+    public void setAssigned(boolean assigned) {
+	if(element != null) {
+	    element.setAttribute(StaticStrings.ASSIGNED_ATTRIBUTE, (assigned ? StaticStrings.TRUE_STR : StaticStrings.FALSE_STR));
+	}
+    }
+
+
+    /** Method to set the value of desc.
+     * @param description The new value of desc as a <strong>String</strong>.
+     */
+    public void setDescription(String description) {
+	this.description = description;
+    }
+
+    public void setElement(Element element) {
+	this.element = element;
+    }
+
+    public void setIsAbstract(boolean is_abstract) {
+	this.is_abstract = is_abstract;
+    }
+
+    /** Method to set the value of name.
+     * @param name The new value of name as a <strong>String</strong>.
+     */
+    public void setName(String name) {
+	this.name = name;
+    }
+
+    /** Method to set the value of the super_download.
+     * @param super_download The new value of super_download as a <strong>Download</strong>, or <i>null</i> if this class has no inheritance.
+     */
+    public void setSuper(Download super_download) {
+	this.super_download = super_download;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/download/DownloadJob.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/download/DownloadJob.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/download/DownloadJob.java	(revision 21123)
@@ -0,0 +1,655 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.download;
+
+import java.awt.event.*;
+import java.io.*;
+import java.net.*;
+import java.util.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.GAuthenticator;
+import org.greenstone.gatherer.greenstone.LocalGreenstone;
+import org.greenstone.gatherer.file.WorkspaceTree;
+import org.greenstone.gatherer.util.AppendLineOnlyFileDocument;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.cdm.Argument;
+import org.greenstone.gatherer.collection.*;
+/**
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.0
+ */
+public class DownloadJob
+    implements ActionListener {
+	 
+    private boolean debug;
+    private boolean higher_directories;
+    private boolean no_parents;
+    private boolean other_hosts; 
+    private boolean page_requisites; 
+    private boolean quiet;
+
+    private AppendLineOnlyFileDocument download_log;
+
+    private DownloadProgressBar progress;
+
+    private int depth;
+    private int previous_state;
+    private int state;
+
+    private String download_url = "";
+    
+    //    private String current_url;
+    //    private String destination;
+    private String proxy_pass;
+    private String proxy_user;
+
+    private Vector encountered_urls;
+    private Vector failed_urls;
+    private Download download;
+    private DownloadScrollPane mummy;
+    private HashMap download_option;
+
+    public static int COMPLETE = 0;
+    public static int PAUSED   = 1;
+    public static int RUNNING  = 2;
+    public static int STOPPED  = 3;
+
+    public static int UNKNOWN_MAX  = 0;
+    public static int DEFINED_MAX  = 1;
+    public static int UNDEFINED_MAX  = 2;
+    
+    // To prematurely terminate wget, we will need to use sockets and find a free port.
+    // We will look at a limited range of ports. This range will be reused (circular buffer)
+    private static final int PORT_BASE = 50000;
+    private static final int PORT_BLOCK_SIZE = 100;   
+    private static int nextFreePort = PORT_BASE;  // Keep track what port numbers we have checked for availability
+    int port;                                     // package access. The socket port number this instance of DownloadJob will use
+    
+    private String mode = null;
+   
+    private String proxy_url;
+    
+    /**
+     */
+    public DownloadJob(Download download, String proxy_pass, String proxy_user, DownloadScrollPane mummy, String mode, String proxy_url) {
+	URL url = null;
+	int folder_hash;
+
+        this.proxy_url =  proxy_url;
+	
+       	download_option = downloadToHashMap(download);
+	if (!mode.equals("Z3950") && !mode.equals("SRW")) {
+	    Argument url_arg = (Argument)download_option.get((String)"url");
+	    download_url =  url_arg.getValue();
+	    
+	}
+	else {
+	    Argument host_arg = (Argument)download_option.get((String)"host");
+	    Argument port_arg = (Argument)download_option.get((String)"port");
+	    download_url = host_arg.getValue() + ":" +port_arg.getValue();
+	}
+       
+	folder_hash = download_url.hashCode();
+	String log_filename = Utility.getLogDir(null) + "download-"+ mode + folder_hash + ".log";
+	File log_file = new File(log_filename);
+	if(log_file.exists()) {
+	    log_file.delete();
+	}
+
+	File parent_log_file = log_file.getParentFile();
+	parent_log_file.mkdirs();
+	parent_log_file = null;
+	log_file = null;
+
+	this.download_log = new AppendLineOnlyFileDocument(log_filename, false);
+   
+	this.proxy_pass = proxy_pass;
+	this.proxy_user = proxy_user;
+	this.mummy = mummy;
+	this.mode = mode;
+	this.download = download;
+
+	progress = new DownloadProgressBar(this,download_url, true);
+	encountered_urls = new Vector();
+	failed_urls = new Vector();
+
+	previous_state = STOPPED;
+	state = STOPPED;
+    }
+
+    private HashMap downloadToHashMap(Download download)
+    {
+	HashMap download_option = new HashMap();
+	ArrayList arguments = download.getArguments(true, false);
+	for(int i = 0; i < arguments.size(); i++) {
+	    Argument argument = (Argument) arguments.get(i);
+	    download_option.put(argument.getName(), argument);
+	}
+	return download_option;
+    }
+
+    /** Depending on which button on the progress bar was pushed,
+     * this method will affect the state of the DownloadJob and perhaps make
+     * calls to wget.class if necessary.
+     * @param event The ActionEvent fired from within the DownloadProgressBar
+     * which we must respond to.
+     */
+    public void actionPerformed(ActionEvent event) {
+	// The stop_start_button is used to alternately start or stop the
+	// job. If the current state of the job is paused then this
+	// restart is logically equivalent to a resume.
+	if(event.getSource() == progress.stop_start_button) {
+	    previous_state = state;
+	    if (state == RUNNING) {
+		state = STOPPED;
+	    } else {
+		//previous_state = state;
+		state = RUNNING;
+		mummy.resumeThread();
+	    }
+	}
+	else if (event.getSource() == progress.close_button) {
+	    if(state == RUNNING) {
+		previous_state = state;
+		state = STOPPED; // do we need to do anything else to stop this?
+	    } 
+	    mummy.deleteDownloadJob(this);
+	}
+    }
+
+    /** Given a portnumber to check, returns true if it is available
+     * (if nothing's listening there already). */
+    public static boolean isPortAvailable(int portnum) {
+	Socket tmpSocket = null;
+	try {
+	    tmpSocket = new Socket("localhost", portnum);
+	    tmpSocket.close();
+	    return false;
+
+	} catch(ConnectException ex){
+	    // "Signals that an error occurred while attempting to connect a socket 
+	    // to a remote address and port. Typically, the connection was refused
+	    // remotely (e.g., no process is listening on the remote address/port)."
+	    System.err.println("Port " + portnum + " not yet in use.");
+	    tmpSocket = null;
+	    return true;
+
+	} catch(Exception ex) { 
+	    // includes BindException "Signals that an error occurred while attempting
+	    // to bind a socket to a local address and port. Typically, the port is in
+	    // use, or the requested local address could not be assigned."
+	    tmpSocket = null;
+	    return false;
+	}
+    }
+
+    /** Circular buffer. Modifies the value of nextFreePort (the buffer index). */
+    private void incrementNextFreePort() {
+	int offset = nextFreePort - PORT_BASE;
+	offset = (offset + 1) % PORT_BLOCK_SIZE;
+	nextFreePort = PORT_BASE + offset;
+    } 
+
+    public void callDownload() {
+
+	ArrayList command_list = new ArrayList();
+	
+	// the following also works for client-gli if downloading is enabled (when there's a gs2build directory inside gli)
+	command_list.add(Configuration.perl_path);
+	command_list.add("-S");
+	command_list.add(LocalGreenstone.getBinScriptDirectoryPath()+"downloadfrom.pl");
+	command_list.add("-download_mode");
+	command_list.add(mode);
+	command_list.add("-cache_dir");
+	command_list.add(Gatherer.getGLIUserCacheDirectoryPath());
+	// For the purposes of prematurely terminating wget from GLI (which creates a socket
+	// as a communication channel between GLI and Perl), it is important to tell the script
+	// that we're running as GLI. Because when running from the command prompt, it should
+	// not create this socket and do the related processing.
+	command_list.add("-gli");
+	
+	ArrayList all_arg = download.getArguments(true,false);
+	for(int i = 0; i < all_arg.size(); i++) {
+	    Argument argument = (Argument) all_arg.get(i);
+	    if(argument.isAssigned()) {
+		command_list.add("-" + argument.getName());
+		if(argument.getType() != Argument.FLAG) {
+		    command_list.add(argument.getValue());
+		}
+	    }   
+	}
+
+	String [] cmd = (String []) command_list.toArray(new String[0]);
+	DebugStream.println("Download job, "+command_list);
+
+	if (previous_state == DownloadJob.COMPLETE) {
+	    progress.mirrorBegun(true, true);
+	}
+	else {
+	    progress.mirrorBegun(false, true);
+	}
+
+	try {
+	    Runtime rt = Runtime.getRuntime();
+
+	    String [] env = null;
+	 
+	    Process prcs = null; 
+
+         
+	    if (Utility.isWindows()) {
+              	prcs = rt.exec(cmd);   
+	    }
+	    else {
+		if (proxy_url != null && !proxy_url.equals("")) {          	
+		    // Specify proxies as environment variables
+		    // Need to manually specify GSDLHOME and GSDLOS also
+		    env = new String[4];
+                    proxy_url = proxy_url.replaceAll("http://","");
+		    env[0] = "http_proxy=http://"+proxy_url;
+		    env[1] = "ftp_proxy=ftp://"+proxy_url;
+		    env[2] = "GSDLHOME=" + Configuration.gsdl_path;
+		    env[3] = "GSDLOS=" + Gatherer.client_operating_system;
+		    prcs = rt.exec(cmd, env); 
+		} 
+		else if(Gatherer.isGsdlRemote && Gatherer.isDownloadEnabled) {
+		    // Not Windows, but running client with download panel
+		    // Need to manually specify GSDLHOME and GSDLOS
+		    env = new String[2];
+		    env[0] = "GSDLHOME=" + Configuration.gsdl_path;
+		    env[1] = "GSDLOS=" + Gatherer.client_operating_system;
+		    prcs = rt.exec(cmd, env); 
+		}
+		else {
+		    // Will inherit the GLI's environment, with GSDLHOME and GSDLOS set
+		    prcs = rt.exec(cmd);
+		}
+	    }
+	    //System.out.println(newcmd);	    
+
+	    // Can use the following if debugging WgetDownload.pm - Reads debug stmts from the perl process' STDIN stream
+	    //(new PerlReaderThread(prcs)).start();
+
+	    InputStream is = prcs.getInputStream();
+	    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
+
+	    // To be able to stop Wget, we use sockets to communicate with the perl process that launched wget
+	    if (mode.equals("Web") || mode.equals("MediaWiki")) { // wget download modes other than OAI
+		
+		// Need to find an available (unused) port within the range we're looking for to pass it
+		// the Perl child process, so that it may set up a listening ServerSocket at that port number
+		try {
+		    boolean foundFreePort = false;
+		    for(int i = 0; i < PORT_BLOCK_SIZE; i++) {
+
+			if(isPortAvailable(nextFreePort)) {
+			    foundFreePort = true;
+			    break;
+			    
+			} else {
+			    incrementNextFreePort();
+			}
+		    }
+		    
+		    if(foundFreePort) {
+			// Free port number currently found becomes the port number of the socket that this
+			// DownloadJob instance will be connecting to when the user wants to prematurely stop Wget.
+			this.port = nextFreePort;
+			incrementNextFreePort();
+			
+		    } else {
+			throw new Exception("Cannot find an available port in the range " 
+					    + PORT_BASE + "-" + (PORT_BASE+PORT_BLOCK_SIZE)
+					    + "\nwhich is necessary for forcibly terminating wget.");
+		    }
+
+		    // Communicate the chosen port for this DownloadJob instance to the perl process, so
+		    // that it can set up a ServerSocket at that port to listen for any signal to terminate wget
+		    OutputStream os = prcs.getOutputStream();
+		    String p = ""+this.port+"\n";
+		    System.err.println("Portnumber found: " + p);
+
+		    os.write(p.getBytes());
+		    os.close();
+		  
+		} catch(Exception ex) {
+		    System.err.println("Sent available portnumber " + this.port + " to process' outputstream.\nBut got exception: " + ex);
+		}
+	    }
+	    
+	    BufferedReader br = new BufferedReader(new InputStreamReader(prcs.getErrorStream()));
+	    // Capture the standard error stream and search for two particular occurrences.
+	    String line="";
+	    boolean ignore_for_robots = false;
+	    int max_download = DownloadJob.UNKNOWN_MAX;
+	   
+	    while ((line = br.readLine()) != null && !line.trim().equals("<<Finished>>") && state != STOPPED) {
+		if ( max_download == DownloadJob.UNKNOWN_MAX) {
+		    if(line.lastIndexOf("<<Defined Maximum>>") != -1) {
+			max_download = DownloadJob.DEFINED_MAX;
+		    }
+		    else if (line.lastIndexOf("<<Undefined Maximum>>") != -1) {
+			max_download = DownloadJob.UNDEFINED_MAX;
+		    }
+		}
+		else if(max_download == DownloadJob.UNDEFINED_MAX) {
+		    DebugStream.println(line);
+		    download_log.appendLine(line);
+		    // The first magic special test is to see if we've just
+		    // asked for the robots.txt file. If so we ignore
+		    // the next add and then the next complete/error.
+		    if(line.lastIndexOf("robots.txt;") != -1) {
+			DebugStream.println("***** Requesting robot.txt");
+			ignore_for_robots = true;
+		    }
+		    // If line contains "=> `" display text as the 
+		    // currently downloading url. Unique to add download.
+		    else if(line.lastIndexOf("=> `") != -1) {
+			if(!ignore_for_robots) {
+			    // Add download
+			    String new_url = line.substring(line.indexOf("`") + 1, line.lastIndexOf("'"));
+			    //addDownload("http:/" + new_url);
+			}
+		    }
+		    // If line contains "/s) - `" set currently 
+		    // downloading url to "Download Complete".
+		    else if(line.lastIndexOf("/s) - `") != -1) {
+			String current_file_downloading = line.substring(line.indexOf("`") + 1, line.lastIndexOf("'"));
+			if(!ignore_for_robots) {
+			    DebugStream.println("Not ignore for robots");
+			    // Download complete
+			    downloadComplete(current_file_downloading);
+			}
+			else {
+			    DebugStream.println("Ignore for robots");
+			    ignore_for_robots = false;
+			}
+		    }
+		    // The already there line begins "File `..." However this
+		    // is only true in english, so instead I looked and there
+		    // are few (if any at all) other messages than those above
+		    // and not overwriting messages that use " `" so we'll 
+		    // look for that. Note this method is not guarenteed to be
+		    // unique like the previous two.
+		    else if(line.lastIndexOf(" `") != -1) {
+			// Not Overwriting
+			DebugStream.println("Already there.");
+			String new_url = 
+			    line.substring(line.indexOf("`") + 1, line.lastIndexOf("'"));
+			//addDownload("http:/" + new_url);
+			downloadWarning();
+		    }
+		    // Any other important message starts with the time in the form hh:mm:ss
+		    else if(line.length() > 7) {
+			if(line.charAt(2) == ':' && line.charAt(5) == ':') {
+			    if(!ignore_for_robots) {
+				DebugStream.println("Error.");
+				downloadFailed();
+			    }
+			    else {
+				ignore_for_robots = false;
+			    }
+			}
+		    }
+		}
+		else if (max_download == DownloadJob.DEFINED_MAX) {
+		    if (line.lastIndexOf("<<Total number of record(s):") != -1) {
+			String total_ID = line.substring(line.indexOf(":") + 1, line.indexOf(">"));
+			progress.setTotalDownload((Integer.valueOf(total_ID)).intValue());
+			progress.resetFileCount();
+		    }
+		    else if (line.lastIndexOf("<<Done>>") != -1) {
+			progress.increaseFileCount();
+		    }
+		    else if(line.lastIndexOf("<<Done:") != -1) {
+			String completed_amount = line.substring(line.indexOf(":") + 1, line.indexOf(">"));
+			progress.increaseFileCount((Integer.valueOf(completed_amount)).intValue());
+		    }
+		    
+		    DebugStream.println(line);
+		    download_log.appendLine(line);
+		}
+		else {
+		    System.out.println("Error!!");
+		    System.exit(-1);
+		}
+	    }
+
+	    if(state == STOPPED) {
+		boolean terminatePerlScript = true;
+		
+		// When GLI is working with wget-based download modes other than OAI (MediaWiki and Web 
+		// download) and the STOP button has been pressed, wget needs to be prematurely terminated.
+		// Only wget download modes Web and MediaWiki require the use of sockets to communicate
+		// with the perl script in order to get wget to terminate. Other download modes, including
+		// wgetdownload mode OAI, can terminate in the traditional manner: close process inputstream 
+		// and kill perl process. OAI launches many wgets. So that when the perl process is terminated,
+		// the currently running wget will finish off but other wgets are no longer launched. 
+		if(prcs != null && (mode.equals("Web") || mode.equals("MediaWiki"))) { 
+
+		    // create a socket to the perl child process and communicate the STOP message
+		    Socket clientSocket = null;
+		    if(clientSocket == null) {
+			try {
+			    clientSocket = new Socket("localhost", this.port); // connect to the port chosen for this DownloadJob instance
+			    
+			    BufferedReader clientReader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
+			    String response = clientReader.readLine(); // see if we've been connected
+			    System.err.println("Communicating with perl download script on port " + this.port 
+					       + "\nGot response from perl: " + response); 
+			    
+			    // Send the STOP signal
+			    OutputStream os = clientSocket.getOutputStream();
+			    String message = "<<STOP>>\n";
+			    os.write(message.getBytes());
+			    response = clientReader.readLine(); // see whether the stop signal has been received
+			    System.err.println("GLI sent STOP signal to perl to terminate wget." 
+					       + "\nGot response from perl: " + response);
+
+			    response = clientReader.readLine(); // see whether the perl script is ready to be terminated
+			    System.err.println("Got another response from perl: " + response);
+			    os.close();
+			    
+			    clientReader.close();
+			    clientSocket.close(); // close the clientSocket (the Perl end will close the server socket that Perl opened)
+			    clientReader = null;
+			    clientSocket = null;
+			    
+			    if(response == null) {
+				terminatePerlScript = false;
+			    }
+			} catch(IOException ex) {
+			    System.err.println("Tried to communicate through client socket - port " + this.port + ", but got exception: " + ex);
+			} catch(Exception ex) {
+			    System.err.println("Tried to open client socket, but got exception: " + ex);
+			}
+		    }
+		}
+		
+		//prcs.getInputStream().close();
+		prcs.getErrorStream().close();
+		br.close();
+		br = null;
+		if(terminatePerlScript) {
+		    prcs.destroy(); // This doesn't always work, but it's worth a try		
+		    prcs = null;
+		}
+
+		// Notify the DownloadScrollPane which is waiting on this job to complete that we are ready 
+		synchronized(this) {
+		    this.notify();
+		}
+	    }
+	}
+	catch (Exception ioe) {
+	    //message(Utility.ERROR, ioe.toString());
+	    //JTest
+	    DebugStream.printStackTrace(ioe);
+	}
+	// If we've got to here and the state isn't STOPPED then the
+	// job is complete.
+	if(state == DownloadJob.RUNNING) {
+	    progress.mirrorComplete();
+	    previous_state = state;
+	    state = DownloadJob.COMPLETE;
+	}
+	// refresh the workspace tree
+ 	Gatherer.g_man.refreshWorkspaceTree(WorkspaceTree.DOWNLOADED_FILES_CHANGED);
+    }
+
+
+    /** Called by the WGet native code when the current download is 
+     * completed. In turn all download listeners are informed.
+     */
+    public void downloadComplete() {
+	progress.downloadComplete();
+    }
+
+
+    public void downloadComplete(String current_file_downloading)
+    {
+	progress.downloadComplete();
+	DebugStream.println("Download complete: " + current_file_downloading);
+    }
+
+
+    /** Called by the WGet native code when the requested download returns
+     * a status code other than 200.
+     */
+    public void downloadFailed() {
+	// TODO!!
+	//failed_urls.add(current_url); // It is the current url that failed
+	progress.downloadFailed();
+	//DebugStream.println("Download failed: " + current_url);
+    } 
+	 
+    /**
+     */
+    public void downloadWarning() {
+	progress.downloadWarning();
+    }
+
+    public AppendLineOnlyFileDocument getLogDocument() {
+	return download_log;
+    }
+
+    /**
+     * @return Returns the progress bar associated with this job.
+     */
+    public DownloadProgressBar getProgressBar() {
+	return progress;
+    }
+
+    /** Called to discover if the user wanted this thread to run or if
+     * it is paused.
+     * @return An int representing the current DownloadJob state.
+     */
+    public int getState() {
+	return state;
+    }
+
+    /** Returns the current state of the stop flag for this job.
+     * @return A boolean representing whether the user has requested to
+     * stop.
+     */
+    public boolean hasSignalledStop() {
+	if(state == DownloadJob.STOPPED || state == DownloadJob.PAUSED || 
+	   state == DownloadJob.COMPLETE) {
+	    return true;
+	}
+	return false;
+    }
+
+    public void setState(int state) {
+	previous_state = this.state;
+	this.state = state;
+    }
+
+    /** A convenience call.
+     * @return A String representing the url of the initial url (root node of the mirrored tree).
+     */
+    public String toString() {
+	return download_url;
+    }
+
+    /** Called by the WGet native code to signal the current progress of 
+     * downloading.
+     * @param current A long representing the number of bytes that have 
+     * been downloaded since the last update. 
+     * @param expected A long representing the total number of bytes
+     * expected for this download.
+     */
+    public void updateProgress(long current, long expected) {
+	progress.updateProgress(current, expected);
+    }
+
+    
+    // Inner thread class that reads from process downloadfrom.pl's errorstream
+    private class PerlReaderThread extends Thread {
+	Process prcs = null;
+
+	public PerlReaderThread(Process proc) {
+	    this.prcs = proc;
+	}
+
+	public void run() {
+	    try {
+		if(prcs != null) {
+		    String message = null;
+		    BufferedReader eReader = new BufferedReader(new InputStreamReader(prcs.getInputStream()));
+		    while(prcs != null && (message = eReader.readLine()) != null) {
+			if(!message.equals("\n")) {
+			    System.err.println("**** Perl STDOUT: " + message);
+			}
+		    }
+		    
+		    if(prcs != null && eReader != null) {
+			eReader.close();
+			eReader = null;
+			System.err.println("**** Perl ENDed.");
+		    }
+		}
+	    } catch(Exception e) {
+		System.err.println("Thread - caught exception: " + e);
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/download/DownloadProgressBar.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/download/DownloadProgressBar.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/download/DownloadProgressBar.java	(revision 21123)
@@ -0,0 +1,421 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.download;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.border.*;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+//import org.greenstone.gatherer.collection.DownloadJob;
+import org.greenstone.gatherer.util.AppendLineOnlyFileDocument;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.gui.*;
+
+public class DownloadProgressBar
+    extends JPanel 
+    implements ActionListener {
+
+    private boolean simple = false;
+
+    private Dimension bar_size = new Dimension(520, 25);
+
+    private Dimension MINIMUM_BUTTON_SIZE = new Dimension(100, 25);
+    private  Dimension PROGRESS_BAR_SIZE = new Dimension(580,75);
+    
+    private int current_action;
+    private int err_count;
+    private int file_count;
+    private int total_count;
+    private int warning_count;
+
+    private JLabel current_status;
+    private JLabel main_status;
+    private JLabel results_status;
+	 
+    private JPanel center_pane;
+    private JPanel inner_pane;
+
+    private JProgressBar progress;
+
+    private long file_size;
+    private long total_size;
+
+    private String current_url;
+    private String initial_url;
+
+    private DownloadJob owner;
+
+    public JButton stop_start_button;
+    public JButton log_button;
+    public JButton close_button;
+
+    public DownloadProgressBar(DownloadJob owner, String initial_url, boolean simple) {
+	this.owner = owner;
+	this.current_url = null;
+	this.err_count = 0;
+	this.initial_url = initial_url;
+	this.file_count = 0;
+	this.file_size = 0;
+	this.simple = simple;
+	this.total_count = 0;
+	this.total_size = 0;
+	this.warning_count = 0;
+
+	this.setLayout(new BorderLayout());
+	this.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
+
+	this.current_action = DownloadJob.STOPPED;
+
+	inner_pane = new JPanel(new BorderLayout());
+	inner_pane.setBorder(BorderFactory.createEmptyBorder(2,2,2,2));
+
+	center_pane = new JPanel(new GridLayout(3,1));
+
+	main_status = new JLabel();
+
+	current_status = new JLabel();
+		  
+	results_status = new JLabel();
+
+	progress = new JProgressBar();
+	progress.setStringPainted(true);
+	progress.setMinimum(0);
+	progress.setMaximum(0);
+	progress.setEnabled(false);
+	progress.setString(Dictionary.get("Mirroring.DownloadJob.Waiting"));
+	inner_pane.add(progress, BorderLayout.CENTER);
+
+	center_pane.add(main_status);
+	center_pane.add(current_status);
+	center_pane.add(results_status);
+
+	JPanel button_pane = new JPanel();
+
+	stop_start_button = new GLIButton(Dictionary.get("Mirroring.DownloadJob.Pause"),Dictionary.get("Mirroring.DownloadJob.Pause_Tooltip"));
+	stop_start_button.addActionListener(this);
+	stop_start_button.addActionListener(owner);
+	stop_start_button.setMinimumSize(MINIMUM_BUTTON_SIZE);
+	stop_start_button.setMnemonic(KeyEvent.VK_P);
+	stop_start_button.setEnabled(true);
+	
+
+	log_button = new GLIButton(Dictionary.get("Mirroring.DownloadJob.Log"),Dictionary.get("Mirroring.DownloadJob.Log_Tooltip"));
+	log_button.addActionListener(owner);
+	log_button.addActionListener(this);
+	log_button.setEnabled(false);
+	log_button.setMinimumSize(MINIMUM_BUTTON_SIZE);
+	log_button.setMnemonic(KeyEvent.VK_L);
+
+
+	close_button =  new GLIButton(Dictionary.get("Mirroring.DownloadJob.Close"),Dictionary.get("Mirroring.DownloadJob.Close_Tooltip"));
+	close_button.addActionListener(owner);
+	close_button.addActionListener(this);
+	close_button.setMinimumSize(MINIMUM_BUTTON_SIZE);
+	close_button.setMnemonic(KeyEvent.VK_C);
+	close_button.setEnabled(true);
+
+
+	// Layout - or at least some of it
+
+	inner_pane.add(center_pane, BorderLayout.NORTH);
+
+	button_pane.setLayout(new GridLayout(3,1));
+	button_pane.add(stop_start_button);
+	button_pane.add(log_button);
+	button_pane.add(close_button);
+
+	this.add(inner_pane, BorderLayout.CENTER);
+	this.add(button_pane, BorderLayout.EAST);
+
+	// Make the labels, etc update.
+	refresh();
+    }
+
+    public void actionPerformed(ActionEvent event) {
+	Object source = event.getSource();
+	if(source == stop_start_button) {
+	    // If we are running, stop.
+	    if (current_action == DownloadJob.RUNNING) {
+		current_action = DownloadJob.STOPPED;
+                stop_start_button.setText(Dictionary.get("Mirroring.DownloadJob.Resume"));
+                stop_start_button.setToolTipText(Dictionary.get("Mirroring.DownloadJob.Resume_Tooltip"));
+	        
+		progress.setString(Dictionary.get("Mirroring.DownloadJob.Download_Stopped"));
+		progress.setIndeterminate(false);
+	    } else {
+		current_action = DownloadJob.RUNNING;
+		// we are stopped, so restart
+                stop_start_button.setText(Dictionary.get("Mirroring.DownloadJob.Pause"));
+                stop_start_button.setToolTipText(Dictionary.get("Mirroring.DownloadJob.Pause_Tooltip"));
+		progress.setString(Dictionary.get("Mirroring.DownloadJob.Download_Progress"));
+		progress.setIndeterminate(true);
+	    }
+	}
+	else if(source == close_button) {
+	    // If we are running, stop.
+	    if (current_action == DownloadJob.RUNNING) {
+		current_action = DownloadJob.STOPPED;
+             	progress.setString(Dictionary.get("Mirroring.DownloadJob.Download_Stopped"));
+	
+		progress.setIndeterminate(false);
+	    }
+	}
+	else if(source == log_button) {
+           
+	    LogDialog dialog = new LogDialog(owner.getLogDocument());
+	    dialog.setVisible(true);
+	    dialog = null;
+	}
+
+	refresh();
+    }
+
+    /** This method is called when a new download is begun. The
+     * details of the download are updated and a new JProgressBar
+     * assigned to track the download.
+     * @param url The url String of the file that is being downloaded.
+     */
+    public void addDownload(String url) {
+	current_url = url;
+	file_size = 0;
+	refresh();
+    }
+
+    /** When the download of the current url is completed, this method
+     * is called to enlighten the DownloadProgressBar of this fact.
+     */
+    public void downloadComplete() {
+	current_url = null;
+	file_count++;
+	if(total_count < (file_count + err_count + warning_count)) {
+	    total_count = (file_count + err_count + warning_count);
+	}
+	progress.setValue(progress.getMaximum());
+	//Dictionary.setText(progress, "Mirroring.DownloadJob.Download_Complete");
+	refresh();
+    }
+
+    public void downloadFailed() {
+	err_count++;
+	if(total_count < (file_count + err_count + warning_count)) {
+	    total_count = (file_count + err_count + warning_count);
+	}
+	refresh();
+    }
+
+    public void downloadWarning() {
+	warning_count++;
+	if(total_count < (file_count + err_count + warning_count)) {
+	    total_count = (file_count + err_count + warning_count);
+	}
+	refresh();
+    }
+
+    public void setTotalDownload(int total_download) {
+	total_count = total_download;
+	refresh();
+    }
+
+    public Dimension getPreferredSize() {
+	return PROGRESS_BAR_SIZE;
+    }
+
+    public void increaseFileCount() {
+	file_count++;
+	refresh();
+    }
+
+    public void increaseFileCount(int amount) {
+	file_count += amount;
+	refresh();
+    }
+
+    public void resetFileCount() {
+	file_count = 0;
+	refresh();
+    }
+
+    /** When a mirroring task is first initiated this function is called
+     * to set initial values for the variables if necessary and to 
+     * fiddle visual components such as the tool tip etc.
+     * @param reset A Boolean specifying whether the variables should be
+     * reset to zero.
+     */
+    public void mirrorBegun(boolean reset, boolean simple) {
+	if(reset) {
+	    this.file_count = 0;
+	    this.file_size = 0;
+	    this.total_count = 0;
+	    this.total_size = 0;
+	    this.err_count = 0;
+	    this.warning_count = 0;
+	}
+	current_action = DownloadJob.RUNNING;
+	stop_start_button.setEnabled(true);
+	log_button.setEnabled(true);
+	if(simple) {
+	    progress.setIndeterminate(true);
+	    progress.setString(Dictionary.get("Mirroring.DownloadJob.Download_Progress"));
+	}
+    }	
+
+    /** Once a mirroring task is complete, is the DownloadJob returns from the
+     * native call but the status is still running, then this method
+     * is called to once again tinker with the pritty visual 
+     * components.
+     */
+    public void mirrorComplete() {
+	current_action = DownloadJob.COMPLETE;
+	current_url = null;
+	if(simple) {
+	    progress.setIndeterminate(false);
+	}
+	progress.setValue(progress.getMaximum());
+	progress.setString(Dictionary.get("Mirroring.DownloadJob.Download_Complete"));
+
+	stop_start_button.setEnabled(false);
+	this.updateUI();
+    }
+
+    /** When called this method updates the DownloadProgressBar to reflect
+     * the ammount of the current file downloaded.
+     */
+    public void updateProgress(long current, long expected) {
+	file_size = file_size + current;
+	if(!progress.isIndeterminate()) {
+	    // If current is zero, then this is the 'precall' before the
+	    // downloading actually starts.
+	    if(current == 0) {
+		// Remove the old progress bar, then deallocate it.
+		inner_pane.remove(progress);
+		progress = null;
+		if(expected == 0) {
+		    // We don't have a content length. This bar will go from 0 to 100 only!
+		    progress = new JProgressBar(0, 100);
+		}
+		else {
+		    // Assign a new progress bar of length expected content length.
+		    progress = new JProgressBar(0, (new Long(expected)).intValue());
+		}
+		progress.setEnabled(true);
+		// Add the new progress bar.
+		inner_pane.add(progress, BorderLayout.CENTER);
+		inner_pane.updateUI();
+	    }
+	    // Otherwise if expected is not zero move the progress bar and
+	    // update percent complete.
+	    else if (expected != 0) {
+		progress.setValue((new Long(file_size)).intValue());
+		int p_c = (new Double(progress.getPercentComplete() * 100)).intValue();
+		progress.setString(p_c + "%");
+		progress.setStringPainted(true);
+	    }
+	    // Finally, in the case we have no content length, we'll instead
+	    // write the current number of bytes downloaded again.
+	    else {
+		progress.setString(file_size + " b");
+		progress.setStringPainted(true);
+	    }
+	}
+	refresh();
+    }
+
+    /** Causes the two labels associated with this DownloadProgressBar object to
+     * update, thus reflecting the progression of the download. This 
+     * method is called by any of the other public setter methods in this 
+     * class.
+     */
+    private void refresh() {
+	// Refresh the contents of main label.
+	String args1[] = new String[1];
+	args1[0] = initial_url.toString();
+	main_status.setText(Dictionary.get("Mirroring.DownloadJob.Downloading", args1));
+
+	if (current_url != null) {
+	    // Refresh the current label contents.
+	    String args2[] = new String[1];
+	    args2[0] = current_url;
+	    current_status.setText(Dictionary.get("Mirroring.DownloadJob.Downloading", args2));
+	}
+	else if (current_action == DownloadJob.STOPPED || current_action == DownloadJob.PAUSED) {
+	    current_status.setText(Dictionary.get("Mirroring.DownloadJob.Waiting_User"));
+	}
+	else {
+	    current_status.setText(Dictionary.get("Mirroring.DownloadJob.Download_Complete"));
+	}
+
+	// Refresh the contents of results label
+	String args3[] = new String[4]; 
+	args3[0] = file_count + "";
+	args3[1] = total_count + "";
+	args3[2] = warning_count + "";
+	args3[3] = err_count + "";
+	results_status.setText(Dictionary.get("Mirroring.DownloadJob.Status", args3));
+
+	this.updateUI();
+    }
+
+    static final private Dimension DIALOG_SIZE = new Dimension(640,480);
+
+    private class LogDialog
+	extends JDialog {
+	
+	public LogDialog(AppendLineOnlyFileDocument document) {
+	    super(Gatherer.g_man, Dictionary.get("Mirroring.DownloadJob.Log_Title"));
+	    setSize(DIALOG_SIZE);
+	    JPanel content_pane = (JPanel) getContentPane();
+	    JTextArea text_area = new JTextArea(document);
+	    JButton button = new GLIButton(Dictionary.get("General.Close"));
+	    // Connection
+	    button.addActionListener(new CloseActionListener());
+	    // Layout
+	    content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	    content_pane.setLayout(new BorderLayout());
+	    content_pane.add(new JScrollPane(text_area), BorderLayout.CENTER);
+	    content_pane.add(button, BorderLayout.SOUTH);
+	}
+
+	private class CloseActionListener
+	    implements ActionListener {
+	    public void actionPerformed(ActionEvent event) {
+		LogDialog.this.dispose();
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/download/DownloadScrollPane.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/download/DownloadScrollPane.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/download/DownloadScrollPane.java	(revision 21123)
@@ -0,0 +1,245 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.download;
+
+import java.awt.*;
+import java.io.*;
+import java.net.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.*;
+
+/** This class provides access to the functionality of the WGet program, either by calling it via a shell script or by the JNI. It maintains a queue of pending jobs, and the component for showing these tasks to the user.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class DownloadScrollPane
+    extends Thread {
+    
+    /** <i>true</i> if verbose debug messages should be displayed, <i>false</i> otherwise. */
+    private boolean debug = false;
+    /** <i>true</i> if successfully completed tasks should be automatically removed from the job queue. */
+    private boolean remove_complete_jobs = true;
+
+    private JPanel filler_pane = null;
+    /** The panel that the task list will be shown in. */
+    private JPanel list_pane;
+    /** The job currently underway. */
+    private DownloadJob job;
+    /** A scroll pane which will be used to display the list of pending tasks. */
+    private JScrollPane list_scroll;
+    /** A queue of download tasks. */
+    private Vector job_queue;
+    static final private boolean simple = true;
+
+        
+    public DownloadScrollPane() {
+	job = null;
+	job_queue = new Vector();
+	filler_pane = new JPanel();
+	list_pane = new JPanel();
+	list_pane.setLayout(new BoxLayout(list_pane, BoxLayout.Y_AXIS));
+	list_scroll = new JScrollPane(list_pane);
+    }
+
+    public void deleteDownloadJob(DownloadJob delete_me) {
+	if (delete_me == job) {
+	    try {
+		// Wait for the job to finish cleaning up, before we can continue cleaning up here.
+		// But sometimes the job has completed (terminated naturally) and in that case there's
+		// nothing to wait for.
+		synchronized(delete_me) {
+		    if (!delete_me.hasSignalledStop()) { // don't wait if DownloadJob.COMPLETED 
+			delete_me.wait();
+		    }
+		}
+	    } catch (Exception e) {
+		e.printStackTrace();
+	    }	    
+	}
+	// Close button pressed, get rid of this download's dedicated pane
+	finishedDownloadJob(delete_me, true);
+    }
+
+    /** To be called when a download job has terminated naturally or was prematurely stopped
+     *	via the close button. 
+     *  Gets rid of this download's pane with buttons and progress bar if prematurely stopped. */
+    protected void finishedDownloadJob(DownloadJob delete_me, boolean removeDisplay) {
+	if (delete_me.hasSignalledStop()) {
+	    if(removeDisplay) {
+		list_pane.remove(delete_me.getProgressBar());
+		list_pane.remove(filler_pane);
+	    }
+	    job_queue.remove(delete_me);
+	    if(job_queue.size() > 0) {
+		Dimension progress_bar_size = delete_me.getProgressBar().getPreferredSize();
+		Dimension list_pane_size = list_pane.getSize();
+		int height = list_pane_size.height - (job_queue.size() * progress_bar_size.height);
+		progress_bar_size = null;
+		if(height > 0) {
+		    filler_pane.setPreferredSize(new Dimension(list_pane_size.width, height));
+		    list_pane.add(filler_pane);
+		}
+		list_pane_size = null;
+	    }
+	    list_pane.updateUI();
+	}
+	else {
+	    DebugStream.println("Somehow we're trying to delete a job that is still running.");
+	}
+    }
+
+    public synchronized void downloadComplete() {
+	job.downloadComplete();
+    }
+
+    public synchronized void downloadFailed() {
+	job.downloadFailed();
+    }
+
+    public synchronized void downloadWarning() {
+	job.downloadWarning();
+    }
+
+    public JScrollPane getDownloadJobList() {
+	return list_scroll;
+    }
+
+    public synchronized boolean hasSignalledStop() {
+	return job.hasSignalledStop();
+    }
+
+    public void newDownloadJob(Download download, String mode, String proxy_url) {
+	// Create the job and fill in the details from gatherer.config.
+
+	DebugStream.println("About to create a new job");
+	
+        DownloadJob new_job = new DownloadJob(download, Configuration.proxy_pass, Configuration.proxy_user, this, mode, proxy_url);
+	// Tell it to run as soon as possible
+
+	new_job.setState(DownloadJob.RUNNING);
+	
+	// Add to job_queue job list.
+	job_queue.add(new_job);
+
+	// Now add it to the visual component, job list.
+
+	list_pane.remove(filler_pane);
+
+	Dimension progress_bar_size = new_job.getProgressBar().getPreferredSize();
+
+	Dimension list_pane_size = list_pane.getSize();
+
+	int height = list_pane_size.height - (job_queue.size() * progress_bar_size.height);
+
+	progress_bar_size = null;
+
+	list_pane.add(new_job.getProgressBar());
+
+	if(height > 0) {
+	    filler_pane.setPreferredSize(new Dimension(list_pane_size.width, height));
+	    list_pane.add(filler_pane);
+	}
+
+	list_pane_size = null;
+	//list_pane.setAlignmentX(Component.LEFT_ALIGNMENT);
+	list_pane.updateUI();
+	new_job = null;		    //job = (DownloadJob) job_queue.get(index);
+
+	synchronized(this) {
+	    notify(); // Just incase its sleeping.
+	}
+    }
+    
+    public synchronized void updateProgress(long current, long expected) {
+	job.updateProgress(current, expected);
+    }
+    
+    /* There may be times when the download thread is sleeping, but the
+     * user has indicated that a previously paused job should now begin
+     * again. The flag within the job will change, so we tell the thread
+     * to start again.
+     */
+    public void resumeThread() {
+	synchronized(this) {
+	    notify(); // Just incase its sleeping.
+	}
+    }
+    
+    public void run() {
+	while(true) {
+	    if(job_queue.size() > 0) {
+		while(!job_queue.isEmpty()) { 
+		    job = (DownloadJob) job_queue.firstElement(); 
+		    
+		    if(job.getState() == DownloadJob.RUNNING) {
+			DownloadJob delete_me = job;
+			String jobDisplayString = job.toString();
+			DebugStream.println("DownloadJob " + jobDisplayString + " Begun.");
+			System.err.println("DownloadJob " + job.port + " " + job.toString() + " Begun.");
+			job.callDownload();
+			// Job is done. Ended naturally, don't get rid of this download's separate display panel
+			finishedDownloadJob(delete_me, false); 
+			System.err.println("DownloadJob " + jobDisplayString + " complete.");
+			DebugStream.println("DownloadJob " + jobDisplayString + " complete."); // by this point job is null!
+			job = null;
+			delete_me = null;
+		    }
+		}
+		try {
+		    synchronized(this) {
+			DebugStream.println("WGet thread is waiting for DownloadJobs.");
+			wait();
+		    }
+		} catch (InterruptedException e) {
+		    // Time to get going again.
+		}
+	    }
+	    else {
+		try {
+		    synchronized(this) {
+			DebugStream.println("WGet thread is waiting for DownloadJobs.");
+			wait();
+		    }
+		} catch (InterruptedException e) {
+		    // Time to get going again.
+		}
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/download/ServerInfoDialog.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/download/ServerInfoDialog.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/download/ServerInfoDialog.java	(revision 21123)
@@ -0,0 +1,148 @@
+package org.greenstone.gatherer.download;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.border.*;
+import javax.swing.event.*;
+import java.io.*;
+import java.util.ArrayList;
+import org.greenstone.gatherer.cdm.Argument;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.greenstone.LocalGreenstone;
+import org.greenstone.gatherer.gui.*;
+import org.greenstone.gatherer.util.Utility;
+
+public class ServerInfoDialog extends JDialog
+{    
+    static private Dimension SIZE = new Dimension(500, 300);
+    private String url;
+    private String mode;
+    private JPanel info_list_pane;
+    private JScrollPane info_scroll_pane;
+    private JDialog info_dialog;
+    private Download download;
+    private String proxy_url;
+    
+    public ServerInfoDialog(String url, String proxy_url, String mode, Download download) {
+	super();
+	this.url = url;
+	this.mode = mode;
+        this.download = download;
+        this.proxy_url = proxy_url;
+	this.info_dialog = this;
+	
+	this.setSize(SIZE);
+
+ 	JButton close_button = new GLIButton(Dictionary.get("General.Close"),Dictionary.get("General.Close_Tooltip"));
+ 	close_button.setEnabled(true); 
+	close_button.addActionListener(new ActionListener() {
+		public void actionPerformed(ActionEvent event) {
+		    info_dialog.dispose();
+		}
+	    });
+	
+	JPanel button_pane = new JPanel();
+	button_pane.setLayout(new FlowLayout());
+	button_pane.setBorder(BorderFactory.createEtchedBorder());
+	button_pane.add(close_button);
+	
+	info_list_pane = new JPanel();
+	info_list_pane.setLayout(new BoxLayout(info_list_pane, BoxLayout.Y_AXIS));
+	info_list_pane.setBorder(BorderFactory.createEtchedBorder());
+	getServerInfo();
+
+	info_scroll_pane = new JScrollPane(info_list_pane);
+	
+	JPanel information_pane = new JPanel();
+	information_pane.setLayout(new BorderLayout());
+	information_pane.setBorder(BorderFactory.createEtchedBorder());
+	information_pane.add(info_scroll_pane,BorderLayout.CENTER);
+	
+	JPanel main_pane = new JPanel();
+	main_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	main_pane.setLayout(new BorderLayout());
+	main_pane.add(information_pane,BorderLayout.CENTER);
+	main_pane.add(button_pane,BorderLayout.SOUTH);
+
+	Container main_container = this.getContentPane();
+	main_container.add(main_pane);
+	
+	// Show
+	Dimension screen_size = Configuration.screen_size;
+	setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	setVisible(true);
+
+    }
+
+    private void getServerInfo()
+    {
+	ArrayList commands = new ArrayList();
+	commands.add(Configuration.perl_path);
+	commands.add("-S");
+	commands.add(LocalGreenstone.getBinScriptDirectoryPath()+"downloadfrom.pl");
+	commands.add("-info");
+	commands.add("-download_mode");
+	commands.add(mode);
+	
+       	ArrayList all_arg = download.getArguments(true,false);
+	for (int i = 0; i < all_arg.size(); i++) {
+	    Argument argument = (Argument) all_arg.get(i);
+	    
+	    if(argument.isAssigned()) {
+		commands.add("-" + argument.getName());
+		if(argument.getType() != Argument.FLAG) {
+		    commands.add(argument.getValue());
+		}
+	    }   
+	}
+	
+	String[] command = (String[]) commands.toArray(new String[0]);
+	DebugStream.println("Getting server info: "+commands);
+	try {
+	    String [] env = null;
+	    Process prcs = null; 
+	    Runtime rt = Runtime.getRuntime();
+	  
+	    if (Utility.isWindows()) {
+              	prcs = rt.exec(command);   
+	    }
+	    else {
+		if (proxy_url != null && !proxy_url.equals("")) {          	
+		    // Specify proxies as environment variables
+		    // Need to manually specify GSDLHOME and GSDLOS also
+		    env = new String[4];
+                    proxy_url = proxy_url.replaceAll("http://","");
+		    env[0] = "http_proxy=http://"+proxy_url;
+		    env[1] = "ftp_proxy=ftp://"+proxy_url;
+		    env[2] = "GSDLHOME=" + Configuration.gsdl_path;
+		    env[3] = "GSDLOS=" + Gatherer.client_operating_system;
+		    prcs = rt.exec(command, env); 
+		} 
+		else {
+		    // Will inherit the GLI's environment, with GSDLHOME and GSDLOS set
+		    prcs = rt.exec(command);
+		}
+	    }
+
+	    InputStreamReader isr = new InputStreamReader(prcs.getErrorStream());
+	    BufferedReader br = new BufferedReader(isr);
+	    String line;
+	    // Capture the standard error stream and seach for two particular occurances.
+	    while ((line = br.readLine()) != null && !line.trim().equals("<<Finished>>")) {
+	      
+		JLabel a_label = new JLabel(line);
+		a_label.setAlignmentX(Component.LEFT_ALIGNMENT);
+		info_list_pane.add(a_label);
+	    }
+	    
+	} catch (Exception ioe) {
+	  
+	}
+	
+    }
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/ActionRecorderDialog.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/ActionRecorderDialog.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/ActionRecorderDialog.java	(revision 21123)
@@ -0,0 +1,2135 @@
+package org.greenstone.gatherer.feedback;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import javax.swing.tree.*;
+import javax.swing.event.*;
+import javax.swing.text.*;
+import java.io.*;
+import java.awt.image.*;
+import java.util.Locale;
+import java.util.ResourceBundle;
+import java.text.MessageFormat;
+import javax.swing.border.*;
+import java.text.*;
+
+import org.greenstone.gatherer.util.JarTools;
+
+/**
+ * This is the special class listener. 
+ * <p>This class will record all the action did to any of the
+ * component inside the window that were open by the application. 
+ * <br> This listener will start listening since the beginning of the application 
+ * until the user quits from the application. It will record :
+ * <br>1. All the information about the window and its components where the action occured.
+ * <br>2. All the information about all windows and its components that were open when the action occured.
+ * <br>Note : point 1 and 2 only start when user wants to send feedback.
+ * <br>3. The action's command the user did.
+ * <br>4. The date of when the action occured.
+ * <br><br>The history of the action will be stored in history.log file, which then will be compressed
+ * to a zip file called MyZipFile.zip.</p>
+ * <p>The listener this class implements are only the listener interface that a javax.swing.* component
+ * could have as stated in API.Some of the listener however is not implemented here as it is considered the event
+ * listened by those listener are not essential to be recorded as they not making any major changes
+ * to the application.</p> 
+ * <p>This listener will only record maximum last 60 instructions user did to the application.</p>
+ * <p>In this class also we can add some stuff globally through out all the window open by
+ * the application.
+ * <br>This is the class will add a menu called Feedback through out all the window of type JFrame or JDialog
+ * open by the application.This menu will allow user to either sending feedback or viewing the history
+ * of all the action user did so far.
+ * @author Veronica Liesaputra
+ */
+public class ActionRecorderDialog
+    implements ActionListener,TreeModelListener,ItemListener,ListDataListener,ChangeListener,
+	       ListSelectionListener,MenuListener,TableColumnModelListener,TreeSelectionListener
+{
+    /**
+     * This hold the title of the window where the action occured.
+     */
+    private String myframe;
+
+    /**
+     * This hold the title of the window where user called send feedback.
+     */
+    private String feedbackframe;
+
+    /**
+     * This hold the instance of ComponentInformation to get all the information inside a window.
+     */
+    private ComponentInformation compInfo;
+    
+    /**
+     * This will hold a record of the action that user just did at the moment.
+     */
+    private History log;
+
+    /**
+     * This will reference to the window where the action occured.
+     */
+    private Window point;
+   
+    /**
+     * This hold the vector of all the History instances of all the record of action user did
+     * so far.
+     * This vector will hold the history of all the 30 actions user just did.
+     * There are 2 situation for this vector :
+     * <br>1. Before user choose to send feedback.
+     * <br>Here, If we want to add another record to the vector when the vector size already 30 then,
+     * all the 30 records inside the vector will be saved in the temp_history.log file. The vector will
+     * be cleared and then added with the new record.
+     * <br>If the user quits the application, then whats in the vector will be saved to history.log file.
+     * <br>2. After user choose to send feedback.
+     * <br>When user choose to send feedback,then what happen is what ever inside the vector at the moment
+     * will be saved to history.log file and then vector will be cleared and it will add the new instruction.
+     * <br> If we want to add another record to the vector when the vector size already 30 then,
+     * all the 30 records inside the vector will be saved in the temp_feedbackhist.log file. The vector will
+     * be cleared and then added with the new record.
+     * <br> If the user finished with the feedback then it will cleared all the vector and load the vector
+     * inside the history.log to it and add the new record to the vector.
+     * <br> If the user quits the application, then whats in the vector will not be saved.
+     */
+    private static Vector vector;
+
+    /**
+     * This is the flag to tell whether or not the image for the window where the action occured is
+     * finished being added properly to the appropriate record.
+     * If savefinish = true then it means that the thread of adding image to the record stop, otherwise
+     * it means its not yet finished so don't stop the thread.
+     */
+    private static boolean savefinish = true;
+
+    /**
+     * This is the thread that contains all the code that the application should be when the user exiting
+     * the application.
+     */
+    private Thread writeThread;
+
+    /**
+     * This is the thread that contains all the code to add the image of the window where the action
+     * occured to the proper record.
+     * This thread will stop if savefinish = true.
+     */
+    private Thread saveThread;
+
+    /**
+     * This is the runtime of this application.
+     */
+    private Runtime run;
+
+    /**
+     * This variable will hold the resource of the words that is stored in feedback.properties file.
+     * The calling using messages.getString(someString) will caused someString to be translated
+     * into some other string that is hold in that file.usually it will caused it to be translated
+     * to the language that the user use or choose to have as stated in Locale.
+     */
+    private static ResourceBundle messages;
+
+    /**
+     * This is an instance of ScreenShot that will allow this application to take screen shot of the whole
+     * screen or just the screen shot of the window where the actions occured.
+     */
+    private ScreenShot sh;
+
+    /**
+     * This HashMap stored the pair of model and its component.
+     * This will allow this listener to know which component the model where the actions occured belongs to.
+     */
+    private HashMap modelHash;
+
+    /**
+     * This is the flag variable to sign that the user start the Reporting Feedback sequence.
+     * If start_rec = false means that the user did not start reporting feedback sequence.
+     * Otherwise, it means the user start reporting feedback sequence, here there will be changes in the
+     * content of the vector used to save all the records.This also will change the appearance of the
+     * window that are currently open by the application. it will make toolbar value = true, rec = true and
+     * stop_rec = false.
+     */
+    private boolean start_rec = false;
+
+    /**
+     * This is the flag variable to sign that the user are now recording the Reporting Feedback sequence.
+     * If rec = true, it means its recording, otherwise its false.It also will decide
+     * the GUI appearance of the window that are currently open by the application.
+     */
+    private boolean rec = false;
+
+    /**
+     * This is the flag variable to sign that user are finished the Reporting Feedback sequence.
+     * If stop_rec = false, then it means user stop the Reporting Feedback sequence.So here, there will
+     * be changes in the vector's content. If rec = true then it will also delete the added toolbar on the currently open
+     * window by the application and its also will delete all the history and file taken when user doing the
+     * Reporting Feedback sequence.
+     */
+    private boolean stop_rec = true;
+
+    /**
+     * This is the thread do task to take history of the actions.
+     */
+    private Thread saveallThread;
+
+    /**
+     * This is the flag to say whether or not the send feedback button been pushed by user.
+     */
+    private boolean start_fd = false;
+
+    /**
+     * This is a blocker to say that user cannot do anything while we taking history.
+     */
+    private MouseListener mouse_blocker_listener = new MouseAdapter() {};
+
+    /**
+     * This is the feedback interface window.
+     */
+    private FeedbackInterface frame;
+
+    /**
+     * This is an instance of CompListener that will add listener to all the components inside it.
+     */
+    private CompListener compList;
+
+    /**
+     * This is the accelerator key (shortcuts key) for taking screenshot.
+     */
+    private KeyStroke shKey;
+
+    /**
+     * This is the accelerator key (shortcuts key) for reporting feedback.
+     */
+    private KeyStroke fdKey;
+
+    /**
+     * This is the accelerator key (shortcuts key) for viewing history.
+     */
+    private KeyStroke histKey;
+
+    /**
+     * This is the accelerator key (shortcuts key) for sending feedback straight away.
+     */
+    private KeyStroke sndfdKey;
+
+    /**
+     * This is the window that is active at the moment.
+     */
+    private Window activeWindow;
+
+    /**
+     * This is the modal window where user wants to take the screeshot or sending feedback.
+     */
+    private Window modalWindow;
+
+    /**
+     * This constructor will seeting up the data member to its appropriate value.
+     * It will get the vector that are stored in the history.log file and also it will
+     * setup the writeThread.
+     * @param currentLocale is the locale user choose all the text to be displayed as.
+     */
+    public ActionRecorderDialog (Locale currentLocale)
+    {
+	messages = ResourceBundle.getBundle("feedback",currentLocale);
+	setup_UIManager();
+
+	fdKey = KeyStroke.getKeyStroke("F2");
+	histKey = KeyStroke.getKeyStroke("F3");
+	shKey = KeyStroke.getKeyStroke("F5");
+	sndfdKey = KeyStroke.getKeyStroke("F12");
+	/*shKey = KeyStroke.getKeyStroke(KeyEvent.VK_SLASH,InputEvent.CTRL_MASK|
+	  InputEvent.SHIFT_MASK);*/
+
+	final ZipFile zip;
+	zip = new ZipFile();
+	zip.unZipFile();
+	vector = getPrev_log("history.log");
+	sh = new ScreenShot();
+	modelHash = new HashMap();
+	compInfo = new ComponentInformation(this,currentLocale,modelHash);
+        compList = new CompListener(this,modelHash);
+	EventQueue eq;
+	eq = Toolkit.getDefaultToolkit().getSystemEventQueue();
+	eq.push(new MyEventQueue());
+	run = Runtime.getRuntime();
+	Runnable writeRun;
+	writeRun = new Runnable()
+	    {
+		public void run()
+		{
+		    try
+			{
+			    if (stop_rec == true)
+				{
+				    File f;
+				    f = new File("history.log");
+				    FileOutputStream fos;
+				    fos = new FileOutputStream("history.log");
+				    ObjectOutputStream oos;
+				    oos = new ObjectOutputStream(fos);
+				    oos.writeObject(vector);
+				    vector.removeAllElements();
+				    vector = getPrev_log("temp_history.log");
+				    oos.writeObject(vector);
+				    oos.close();
+				    f = new File("temp_history.log");
+				    f.delete();
+				}
+
+			    File f2;
+			    f2 = new File("feedbackhist.log");
+			    f2.delete();
+			    f2 = new File("temp_feedbackhist.log");
+			    f2.delete();
+
+			    zip.sendZipFile();
+			    writeThread = null;
+			}
+		    catch (IOException exp) {}
+		}
+	    };
+
+	writeThread = new Thread(writeRun);
+	run.addShutdownHook(writeThread);
+    }
+
+    /** change the locale for the resource bundle*/
+    public void setLocale(Locale loc) {
+	messages = ResourceBundle.getBundle("feedback",loc);
+    }
+    /**
+     * This method will setup some of the GUI appearance that window should have when the user
+     * choose to start the Reporting Feedback sequence.
+     */
+    public void setup_UIManager ()
+    {
+	// why do you do all this???
+	//UIManager.put("TabbedPane.selected",(new Color(224,240,224)));
+	//UIManager.put("Button.select",(new Color(224,240,224)));
+	//UIManager.put("ScrollBar.background",(new Color(176,208,176)));
+	//UIManager.put("ScrollBar.highlight",(new Color(224,240,224)));
+	//UIManager.put("ScrollBar.thumb",(new Color(224,240,224)));
+	//UIManager.put("ScrollBar.track",(new Color(224,240,224)));
+	//UIManager.put("Tree.textBackground",new Color(224,240,224));
+	//UIManager.put("Label.font",new Font("Dialog",Font.PLAIN,12));
+	//UIManager.put("ComboBox.font",new Font("Dialog",Font.PLAIN,12));
+	//UIManager.put("TextArea.font",new Font("Dialog",Font.PLAIN,12));
+    }
+
+    /**
+     * This method will get the information about all the components inside the window that are
+     * open by the application when the action occured and save it to vector.
+     * @param comp its the component where the user did the action.
+     * @param command its the action's command the user did.
+     */
+    private void saving (final Component comp,final String command)
+    {
+	if ((command.equals(messages.getString("SendFeedback"))) ||
+	    ((command.equals("FastSend")) && (stop_rec == false)))
+	    {
+		start_fd = true;
+	    }
+
+	Runnable saveall;
+	saveall = new Runnable ()
+	    {
+		public void run ()
+		{
+		    try
+			{
+			    Runnable savework;
+			    savework = new Runnable ()
+				{
+				    public void run ()
+				    {
+					Date curr_date;
+					curr_date = new Date();
+					log = new History(curr_date,command);
+
+					if ((start_fd == true)&&(command.equals(messages.getString("WindowOpened"))))
+					    {
+						start_rec = true;
+						rec = true;
+						start_fd = false;
+					    }
+
+					getFrame(comp,command);
+					saveState(command);
+					saveLog();
+
+					if ((point != null) && (rec == true))
+					    {
+						if (command.equals(messages.getString("WindowClosed")))
+						    {
+							if (point instanceof JDialog)
+							    if (((JDialog)point).isModal() == true)
+								if (point == modalWindow)
+								    frame.setComment(false);
+						    }
+					    }
+				    }
+				};
+
+			    SwingUtilities.invokeAndWait(savework);
+			}
+		    catch (Exception ex) {ex.printStackTrace();}
+		}
+	    };
+
+	saveallThread = new Thread(saveall);
+	saveallThread.start();
+    }
+
+    /**
+     * This method will get the screen shot of the window where the actions occured and
+     * add the image also its dimension to the passed record.
+     * It will caused the saveThread to start so it can allows other stuff to be run concurrently
+     * and this thread will be stopped when the screen shot of the window alreadyfinished taken.
+     * @param hst is the record where the image and its dimension should be stored to.
+     */
+    public void saveImage (final History hst)
+    {
+	Runnable saveRun;
+	saveRun = new Runnable()
+	    {
+		History hist = hst;
+		public void run()
+		{
+		    String img,width,height;
+		    Rectangle rect;
+		    int w, h,dimwidth,dimheight;
+		 
+		    if (point != null)
+			{
+			    dimwidth = sh.getWidth();
+			    dimheight = sh.getHeight();
+
+			    w = point.getWidth();
+			    h = point.getHeight();
+
+			    try
+				{
+				    rect = new Rectangle(point.getLocationOnScreen(),
+							 new Dimension(w,h));
+			    
+				    if (w >= dimwidth)
+					w = dimwidth - 50;
+				    
+				    width = "" +  w;
+				    
+				    if (h >= dimheight)
+					h = dimheight - 50;
+				    
+				    height = "" + h;
+				}
+			    catch (IllegalComponentStateException exp)
+				{
+				    rect = null;
+				    width = null;
+				    height = null;
+				}
+			}
+		    else
+			{
+			    rect = null;
+			    width = null;
+			    height = null;
+			}
+		    
+		    if (rect != null)
+			{
+			    img = sh.getImage(rect);
+			    if (savefinish == true)
+				{
+				    hist.setImage(img,height,width);
+				}
+			}
+		}
+	    };
+	
+	Thread saveThread;
+	saveThread = new Thread(saveRun);
+	saveThread.start();
+    }
+
+    /**
+     * This method will setup the savefinish value.
+     * (Precondition: (save != null))
+     * @param save the value savefinish should have.
+     */
+    public static void setSavefinish (boolean save)
+    {
+	savefinish = save;
+    }
+
+
+    /**
+     * This method will make the JMenu that is should be added to all the
+     * window opened by the application.
+     * <br>If rec = false then the JMenu will give user option to start the Reporting Feedback sequence
+     * or Sending feedback or to view the history of actions they have done so far.
+     * <br>If rec = true then the JMenu will only give user option to view the history of actions
+     * they have done so far or sending feedback or taking screenshot.
+     * @return JMenu that should be added to all window open.
+     */
+    public JMenu makeMenu ()
+    {
+	JMenu menu;
+	JMenuItem item,item2,item3;
+	ImageIcon icon,icon2,icon3;
+
+	icon3 = JarTools.getImage("fastsend.gif");
+	item3 = new JMenuItem(messages.getString("SendFeedback"), 
+			      new ImageIcon(icon3.getImage().getScaledInstance
+					    (20,20,Image.SCALE_SMOOTH)));
+	item3.setActionCommand("FastSend");
+	item3.addActionListener(this);
+	item3.setMnemonic(KeyEvent.VK_N);
+	item3.setAccelerator(sndfdKey);
+	item3.setToolTipText("Send feedback now");
+
+	item = null;
+
+	if (rec == false)
+	    {
+		icon = JarTools.getImage("feedback.gif");
+		item = new JMenuItem("Report Feedback",
+				     new ImageIcon(icon.getImage().getScaledInstance
+						   (20,20,Image.SCALE_SMOOTH)));
+		item.setActionCommand(messages.getString("SendFeedback"));
+		item.addActionListener(this);
+		item.setMnemonic(KeyEvent.VK_F);
+		item.setAccelerator(fdKey);
+		item.setToolTipText("Report feedback");
+	    }
+	else
+	    {
+		icon = JarTools.getImage("camera.gif");
+		item = new JMenuItem(messages.getString("ScreenShot"),
+				     new ImageIcon(icon.getImage().getScaledInstance
+						   (20,20,Image.SCALE_SMOOTH)));
+		item.setActionCommand("ScreenShot");
+		item.setMnemonic(KeyEvent.VK_S);
+		item.addActionListener(this);
+		item.setAccelerator(shKey);
+		item.setToolTipText("Take screenshot of the whole screen.");
+	    }
+
+	icon2 = JarTools.getImage("history.gif");
+	item2 = new JMenuItem(messages.getString("LookHistory"),
+			      new ImageIcon(icon2.getImage().getScaledInstance
+					    (20,20,Image.SCALE_SMOOTH)));
+	item2.setActionCommand(messages.getString("LookHistory"));
+	item2.addActionListener(this);
+	item2.setMnemonic(KeyEvent.VK_H);
+	item2.setAccelerator(histKey);
+	item2.setToolTipText(messages.getString("LookHistoryButton"));
+
+	menu = new JMenu (messages.getString("Feedback"));
+	menu.setMnemonic(KeyEvent.VK_D);
+
+
+	if (item != null)
+	    menu.add(item);
+
+	menu.add(item3);
+
+	menu.add(item2);
+
+	if (rec == true)
+	    menu.setBackground(new Color(176,209,217));
+	else
+	    menu.setBackground(new Color(204,204,204));
+
+	return menu;
+    }
+
+    public void refreshLocationAndSize(Window window) {
+
+	window.setLocation(window.getX(),window.getY());
+	
+	Toolkit kit;
+	kit = Toolkit.getDefaultToolkit();
+	Dimension screenSize;
+	screenSize = kit.getScreenSize();
+	int screenHeight;
+	screenHeight = screenSize.height;
+	int screenWidth;
+	screenWidth = screenSize.width;
+	
+	if ((window.getSize().width > screenWidth) &&
+	    (window.getSize().height > screenHeight)) {
+	    window.setSize(window.getPreferredSize());
+	}
+    }
+
+
+    /**
+     * This method will setup the GUI that this window should have at the moment.
+     * If start_rec is true then JMenu don't have the option to start Reporting Feedback sequence in it.
+     * If stop_rec is true and rec is true then JMenu there should be an option to start Reporting Feedback sequence in it.
+     * The JMenu will only be affected window of type JDialog and JFrame only.
+     * (Precondition: (window != null))
+     * @param window its the window that we want to set the GUI
+     */
+    public void setUI (Window window)
+    {	
+	if (start_rec == true) {
+	    if (window instanceof JFrame) {
+		JFrame a;
+		a = (JFrame) window;
+		
+		JMenuBar menuBar;
+		menuBar = a.getJMenuBar();
+		
+		if (menuBar != null) {
+		    
+		    JMenu temp_menu;
+		    temp_menu = menuBar.getMenu(menuBar.getMenuCount() - 1);
+		    temp_menu.setBackground(new Color(176,209,217));
+		    temp_menu.remove(0);
+		    
+		    JMenuItem item;
+		    ImageIcon icon;
+		    icon = JarTools.getImage("camera.gif");
+		    item = new JMenuItem(messages.getString("ScreenShot"),
+					 new ImageIcon(icon.getImage().getScaledInstance
+						       (20,20,Image.SCALE_SMOOTH)));
+		    item.setActionCommand("ScreenShot");
+		    item.setMnemonic(KeyEvent.VK_S);
+		    item.addActionListener(this);
+		    item.setAccelerator(shKey);
+		    item.setToolTipText("Take screenshot of this window");
+		    
+		    temp_menu.insert(item,0);
+		}
+		
+		refreshLocationAndSize(a);
+		a.validate();
+		a.repaint();
+	    }
+	    else if (window instanceof JDialog) {
+		
+		JDialog a;
+		a = (JDialog) window;
+		JMenuBar menuBar;
+		menuBar = a.getJMenuBar();
+		
+		if (menuBar != null) {
+		    
+		    JMenu temp_menu;
+		    temp_menu = menuBar.getMenu(menuBar.getMenuCount() - 1);
+		    temp_menu.setBackground(new Color(176,209,217));
+		    temp_menu.remove(0);
+		    
+		    JMenuItem item;
+		    ImageIcon icon;
+		    icon = JarTools.getImage("camera.gif");
+		    item = new JMenuItem(messages.getString("ScreenShot"),
+					 new ImageIcon(icon.getImage().getScaledInstance
+						       (20,20,Image.SCALE_SMOOTH)));
+		    item.setActionCommand("ScreenShot");
+		    item.setMnemonic(KeyEvent.VK_S);
+		    item.addActionListener(this);
+		    item.setAccelerator(shKey);
+		    item.setToolTipText("Take screenshot of this window");
+		    
+		    temp_menu.insert(item,0);
+		}
+		refreshLocationAndSize(a);
+		a.validate();
+		a.repaint();	
+	    }
+	    else if (window instanceof JWindow) {
+		JWindow a;
+		a = (JWindow) window;
+		
+		((JComponent) a.getContentPane()).unregisterKeyboardAction(fdKey);
+		
+		((JComponent) a.getContentPane()).registerKeyboardAction(this, "ScreenShot", shKey,JComponent.WHEN_IN_FOCUSED_WINDOW);
+	    }
+	    else
+		return;
+	}
+	else {
+	    
+	    if ((stop_rec == true) && (rec == true)) {
+		
+		if (window instanceof JFrame) {
+		    JFrame a;
+		    a = (JFrame) window;
+		    
+		    JMenuBar menuBar;
+		    menuBar = a.getJMenuBar();
+		    
+		    if (menuBar != null) {
+			
+			JMenu temp_menu;
+			temp_menu = menuBar.getMenu(menuBar.getMenuCount() - 1);
+			temp_menu.setBackground(new Color(204,204,204));
+			temp_menu.remove(0);
+			
+			ImageIcon icon;
+			JMenuItem item;
+			
+			icon = JarTools.getImage("feedback.gif");
+			item = new JMenuItem("Report Feedback", new ImageIcon(icon.getImage().getScaledInstance(20,20,Image.SCALE_SMOOTH)));
+			item.setActionCommand(messages.getString("SendFeedback"));
+			item.addActionListener(this);
+			item.setMnemonic(KeyEvent.VK_F);
+			item.setAccelerator(fdKey);
+			item.setToolTipText(messages.getString("SendFeedbackButton"));
+			
+			temp_menu.insert(item,0);
+		    }
+		    a.setSize(a.getPreferredSize());
+		    a.validate();
+		    a.repaint();
+		}
+		else if (window instanceof JDialog) {
+		    JDialog a;
+		    a = (JDialog) window;
+		    
+		    JMenuBar menuBar;
+		    menuBar = a.getJMenuBar();
+		    
+		    if (menuBar != null) {
+			
+			JMenu temp_menu;
+			temp_menu = menuBar.getMenu(menuBar.getMenuCount() - 1);
+			temp_menu.setBackground(new Color(204,204,204));
+			temp_menu.remove(0);
+			
+			ImageIcon icon;
+			JMenuItem item;
+			
+			icon = JarTools.getImage("feedback.gif");
+			item = new JMenuItem("Report Feedback", new ImageIcon(icon.getImage().getScaledInstance(20,20,Image.SCALE_SMOOTH)));
+			item.setActionCommand(messages.getString("SendFeedback"));
+			item.addActionListener(this);
+			item.setMnemonic(KeyEvent.VK_F);
+			item.setAccelerator(fdKey);
+			item.setToolTipText(messages.getString("SendFeedbackButton"));
+			
+			temp_menu.insert(item,0);
+		    }
+		    a.setSize(a.getPreferredSize());
+		    a.validate();
+		    a.repaint();
+		}
+		else if (window instanceof JWindow) {
+		    JWindow a;
+		    a = (JWindow) window;
+		    
+		    ((JComponent) a.getContentPane()).registerKeyboardAction(this, messages.getString("SendFeedback"), fdKey, JComponent.WHEN_IN_FOCUSED_WINDOW);
+		    
+		    ((JComponent) a.getContentPane()).unregisterKeyboardAction(shKey);
+		    
+		}
+		else
+		    return;
+	    }
+	    else
+		return;
+	}
+    }
+    
+    /**
+     * This will make an Window[] convert to ArrayList that contain list of Window.
+     * (Precondition: (windows != null))
+     * @param windows the array that we want to convert to ArrayList
+     * @return        the array list that contains all object in array windows.
+     */
+    public ArrayList addToArrayList (Window[] windows,ArrayList arr)
+    {
+	int i;
+
+	for (i = 0 ; i < windows.length ; i++)
+	    {
+		arr.add(windows[i]);
+	    }
+	
+	return arr;
+    }
+
+    /**
+     * This method will get all the information of the window that are currently open when the action
+     * occured and these windows are not the window where the action occured.
+     * It will add these windows information to the current record and it will also setting up the 
+     * GUI for each of these windows.
+     * @param command the action's command user did.
+     */
+    public void saveState(String command)
+    {
+	Window[] frame_windows;
+	ArrayList windows;
+	Frame[] frames;
+	int i,j;
+
+	if (log == null)
+	    return;
+	
+	windows = new ArrayList();
+
+	frames = Frame.getFrames();
+	for (i = 0 ; i<frames.length;i++) 
+	    {
+		frame_windows = frames[i].getOwnedWindows();
+		windows = addToArrayList(frame_windows,windows);
+		
+		for (j = 0;j < frame_windows.length ; j++)
+		    {
+			Window window;
+			window = frame_windows[j];
+
+			if (window == point)
+			    {
+				Container cont;
+				cont = window.getParent();
+
+				if ((cont != null) && (cont instanceof Window) &&
+				    (windows.contains(cont) == false)&&(cont != point))
+				    {
+					if (cont instanceof ReportDetails.View) {}
+					else if (cont instanceof Movie) {}
+					else
+					    {
+						setUI((Window) cont);
+						
+						/*if (rec == true)
+						    {
+							log.addComponent(compInfo.getInside((Window) cont),
+									 messages.getString("CurrentlyOpenWindow"));
+						    }
+						    else*/
+						    compList.getInside((Window) cont);
+						
+						windows.add(cont);
+					    }
+				    }	
+				else
+				    {}
+			    }
+			else
+			    {
+				if (window instanceof ReportDetails.View) {}
+				else if (window instanceof Movie) {}
+				else
+				    {
+					if ((window != null) && (window != point))
+					    {
+						setUI(window);
+						
+						if (rec == true)
+						    {
+							log.addComponent(compInfo.getInside((Window) window),
+									 messages.getString("CurrentlyOpenWindow"));
+						    }
+						else
+						    compList.getInside((Window) window);
+						
+						Container cont;
+						cont = window.getParent();
+						
+						if ((cont != null) && (cont instanceof Window) &&
+						    (cont != point) && (windows.contains(cont) == false))
+						    {
+							if (cont instanceof ReportDetails.View) {}
+							else if (cont instanceof Movie) {}
+							else
+							    {
+								setUI((Window)cont);
+								
+								/*if (rec == true)
+								    {
+									log.addComponent(compInfo.getInside((Window) cont),
+											 messages.getString("CurrentlyOpenWindow"));
+								    }
+								    else*/
+								    compList.getInside((Window) cont);
+
+								windows.add(cont);
+							    }
+						    }
+						else {}
+					    }
+				    }
+			    }
+		    }
+	    }
+    }
+
+    /**
+     * This method will get all the information about the window where the actions occured and it also will setting up
+     * how hthe GUI should look like in this window and it will also take the image of this window.
+     * @param comp is the component where the actions happened.
+     * @param command is the command of user's action
+     */
+    public void getFrame (Component comp,String command)
+    {
+	boolean cls;
+	
+	cls = false;
+	point = null;
+	
+	Container frame; 
+	myframe = null;
+	
+	if (comp == null)
+	    return;
+	else if (comp instanceof Window)
+	    frame = (Container) comp;
+	else
+	    frame = SwingUtilities.getWindowAncestor(comp);
+	
+	if (frame instanceof Window)
+	    {
+		JMenu menu;
+		point = (Window) frame;
+
+		point.addMouseListener(mouse_blocker_listener);
+		point.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+
+		
+		if ((frame instanceof ReportDetails.View)||
+		    (frame instanceof Movie))
+		    {
+			log = null;
+			return;
+		    }
+		
+		if (command.equals(messages.getString("WindowClosed")))
+		    {
+			cls = true;
+			if (frame instanceof FeedbackInterface)
+			    {
+				stop_rec = true;
+			    }
+			else
+			    {}
+		    }
+		
+		if  (command.equals(messages.getString("WindowOpened")))
+		    {
+			menu = makeMenu();
+		    }
+		else
+		    {
+			menu = null;
+		    }
+		
+		if (frame instanceof JFrame)
+		    {
+			JFrame a;
+			a = (JFrame) frame;
+			
+			myframe = a.getTitle();
+			
+			if (menu != null)
+			    {
+				JMenuBar menuBar;
+				menuBar = a.getJMenuBar();
+				
+				if (menuBar == null)
+				    {
+					menuBar = new JMenuBar();
+					menuBar.add(menu);
+					a.setJMenuBar(menuBar);
+				    }
+				else
+				    menuBar.add(menu);
+			    }
+			
+			if ((menu != null))
+			    {
+				refreshLocationAndSize(a);
+				a.validate();
+				a.repaint();
+			    }
+		    }
+		else if (frame instanceof JDialog)
+		    {   
+			JDialog a;
+			a = (JDialog) frame;
+			
+			myframe = a.getTitle();
+			
+			if (menu != null)
+			    {
+				JMenuBar menuBar;
+				menuBar = a.getJMenuBar();
+				
+				if (menuBar == null)
+				    {
+					menuBar = new JMenuBar();
+					menuBar.add(menu);
+					a.setJMenuBar(menuBar);
+				    }
+				else
+				    menuBar.add(menu);
+			    }
+		    
+			if ((menu != null))
+			    {
+				refreshLocationAndSize(a);
+				a.validate();
+				a.repaint();
+			    }
+		    }
+		else if (frame instanceof JWindow)
+		    {
+			JWindow a;
+			a = (JWindow) frame;
+			
+			if (menu != null)
+			    {
+				((JComponent) a.getContentPane()).registerKeyboardAction(this,
+											 messages.getString("LookHistory"),
+											 histKey,
+											 JComponent.WHEN_IN_FOCUSED_WINDOW);
+				
+				if (rec == false)
+				    {
+					((JComponent) a.getContentPane()).registerKeyboardAction(this,
+												 messages.getString("SendFeedback"),
+												 fdKey,
+												 JComponent.WHEN_IN_FOCUSED_WINDOW);
+					
+					((JComponent) a.getContentPane()).unregisterKeyboardAction(shKey);
+				    }
+				else
+				    {
+					((JComponent) a.getContentPane()).unregisterKeyboardAction(fdKey);
+					
+					((JComponent) a.getContentPane()).registerKeyboardAction(this,
+												 "ScreenShot",
+												shKey,
+												 JComponent.WHEN_IN_FOCUSED_WINDOW);
+				    }
+			    }
+
+			if (cls == true)
+			    {
+				((JComponent) a.getContentPane()).unregisterKeyboardAction(fdKey);
+				
+				((JComponent) a.getContentPane()).unregisterKeyboardAction(shKey);
+			    }
+		    }
+		
+		/*if ((command.equals(messages.getString("WindowClosed")))||
+		  (log == null))
+		  {}
+		  else
+		  saveImage(log);*/
+
+		/*if (rec == true)
+		    log.addComponent(compInfo.getInside(point),command);
+		    else*/
+		    compList.getInside(point);
+
+		if (myframe == null)
+		    myframe = " ";
+		
+		log.setTitle(myframe);
+		
+		return;
+	    }
+	else
+	    return;
+    }
+
+    /**
+     * This method will add the current record to the vector.
+     */
+    public void saveLog()
+    {
+	if (start_rec == true)
+	    {
+		save_HistLog("history.log");
+		vector.removeAllElements();
+		System.gc();
+		start_rec = false;
+		stop_rec = false;
+		rec = true;
+	    }
+	
+	if (log != null)
+	    vector.add(0,log);
+
+	if (vector.size() > 30)
+	    {
+		if (rec == false)
+		    {
+			save_tempHistLog("history.log");
+		    }
+		else
+		    save_tempHistLog("feedbackhist.log");
+		vector.removeAllElements();
+		//vector.removeElementAt(vector.size() - 1);
+		System.gc();
+	    }
+
+	if ((rec == true) && (stop_rec == true))
+	    {
+		save_HistLog("feedbackhist.log");
+		vector.removeAllElements();
+		System.gc();
+		vector = getPrev_log("history.log");
+		File f2;
+		f2 = new File("feedbackhist.log");
+		f2.delete();
+		f2 = new File("temp_feedbackhist.log");
+		f2.delete();
+		start_rec = false;
+		stop_rec = true;
+		rec = false;
+	    }
+
+	if (point != null)
+	    {
+		point.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+		point.removeMouseListener(mouse_blocker_listener);
+	    }
+    }
+
+    /**
+     * This method will save whatever in the vector at the moment to a file
+     * with the specified filename.
+     * Then it will also save the vector inside the file with the name "temp_"
+     * concatenated with the specified filename into it.
+     * (Precondition : (filename != null))
+     * @param filename its the name of the file where the vector should be saved.
+     */
+    public void save_HistLog(String filename)
+    {
+	 try 
+	     {
+		 File f;
+		 f = new File(filename);
+		 FileOutputStream fos;
+		 fos = new FileOutputStream(f);
+		 ObjectOutputStream oos;
+		 oos = new ObjectOutputStream(fos);
+		 oos.writeObject(vector);
+		 vector.removeAllElements();
+		 System.gc();
+		 vector = getPrev_log("temp_"+ filename);
+		 oos.writeObject(vector);
+		 oos.close();
+		 f = new File("temp_" + filename);
+		 f.delete();
+		 writeThread = null;
+	     }
+	 catch (IOException exp) {}
+    }
+   
+    /**
+     * This method will save whatever in the vector at the moment to a file with a 
+     * name "temp_" concatenated with the specified filename into it.
+     * (Precondition : (filename != null))
+     * @param filename its part of the name of the file where the vector should be saved.
+     */
+    public void save_tempHistLog(String filename)
+    {
+	try
+	    {
+		File f;
+		f = new File("temp_"+ filename);
+		FileOutputStream fos;
+		fos = new FileOutputStream(f);
+		ObjectOutputStream oos;
+		oos = new ObjectOutputStream(fos);
+		oos.writeObject(vector);
+		oos.close();
+	    }
+	catch (IOException exp) {}
+    }
+
+    /**
+     * This method will get vector that is stored in a file with the specified filename and
+     * it will also save the second vector in that file to a file with a name
+     * temp_history.log.
+     * If file with the specified filename does not exist then it will return a new vector.
+     * (Precondition : (filename != null))
+     * @param filename is the name of the file where we want to get the vector.
+     * @return         the first vector saved in the file with the specified filename.
+     */
+    public Vector getPrev_log(String filename)
+    {
+	Vector stack;
+	ObjectInputStream ois;
+	stack = null;
+	try
+	    {
+		File f;
+		f = new File(filename);
+		if (f.exists() == true)
+		    {
+			FileInputStream fis;
+			fis = new FileInputStream(f);
+			ois = new ObjectInputStream(fis);
+			stack = (Vector) ois.readObject();
+
+			Vector stack2;
+			stack2 = null;
+
+			try
+			    {
+				stack2 = (Vector) ois.readObject();
+			    }
+			catch (EOFException e) {stack2 = null;}
+			
+			if (stack2 != null)
+			    {
+				File f2;
+				f2 = new File("temp_history.log");
+				FileOutputStream fos;
+				fos = new FileOutputStream(f2);
+				ObjectOutputStream oos;
+				oos = new ObjectOutputStream(fos);
+				oos.writeObject(stack2);
+				oos.close();
+				stack2.removeAllElements();
+				stack2 = null;
+				System.gc();
+			    }
+
+			ois.close();
+			return stack;
+		    }
+		else
+		    stack = new Vector(); 
+	    }
+	catch (IOException exp) {exp.printStackTrace();}
+	catch (ClassNotFoundException exp2) {System.out.println("class exp");}
+	
+	return stack;
+    }
+ 
+    /**
+     * This method will make sure that there is something running at the moment.
+     */
+    private static void ensureEventThread()
+    {
+	if (SwingUtilities.isEventDispatchThread())
+	    {
+		return;
+	    }
+	throw new RuntimeException("something running");
+    }
+    
+    /**
+     * This method will called the Conformation window to show up.
+     * @param err_array this is the array containing all the information taken when user doing the Feedback form.
+     * @param imgFile this is the array conataining the String representation of the images taken when user doing the 
+     *                Feedback form.
+     */
+    /*public void getVector(String[] err_array,String[] imgFile)
+    {
+	Conformation rd;
+	rd = new Conformation(vector,err_array,imgFile,messages);
+	return;
+	}*/
+
+    /**
+     * This method will get the vector that hold the history.
+     * @return the vector that hold the history stored so far.
+     */
+    public Vector getVector()
+    {
+	return vector;
+    }
+
+    /**
+     * This class will catch the window opened and window closed event.
+     * If an application open or close a window it will be listened by this class so the information
+     * about that window and all the other open window can be took.
+     */
+    class MyEventQueue extends EventQueue
+    { 
+	/**
+	 * This method  will catch the window opened and window closed event.
+	 * If an application open or close a window it will be listened by this class so the information
+	 * about that window and all the other open window can be took.
+	 * @param evt its the event.
+	 */
+	protected void dispatchEvent(AWTEvent evt) 
+	{
+	    super.dispatchEvent(evt);
+	    int id;
+	    id = evt.getID();
+	
+	    if ((id == WindowEvent.WINDOW_OPENED)||(id == WindowEvent.WINDOW_CLOSED))
+		{   
+		    String command;
+		    command = " ";
+		    
+		    if (id == WindowEvent.WINDOW_OPENED) command = messages.getString("WindowOpened");
+		    else if (id == WindowEvent.WINDOW_CLOSED) command = messages.getString("WindowClosed");
+		   
+		    WindowEvent e;
+		    e = (WindowEvent) evt;
+		    Window comp;
+		    comp =  e.getWindow();
+		 
+		    if ((comp instanceof ReportDetails.View)||
+			(comp instanceof Movie))
+			return;
+
+		    saving(comp,command);
+		}
+	}
+    }
+
+    /**
+     * This method will take the screenshot of the whole screen.
+     * @param p the window where user select to take screenshot.
+     * @return  the screenshot image.
+     */
+    //public byte[] recreateEvent (final Window p)
+    public BufferedImage recreateEvent (final Window p)
+    {
+	setup_UIManager();
+	Rectangle rect;
+	int w, h;
+	
+	if (p != null)
+	    {
+		w = p.getWidth();
+		h = p.getHeight();
+		
+		try
+		    {
+			rect = new Rectangle(p.getLocationOnScreen(),
+				 	     new Dimension(w,h));
+		    }
+		catch (IllegalComponentStateException exp)
+		    {
+			rect = null;
+		    }
+	    }
+	else
+	    {
+		rect = null;
+	    }
+	
+	if (rect != null)
+	    {
+		//byte[] img;
+		BufferedImage img;
+		img = sh.captureScreen();
+		
+		return img;
+	    }
+	else
+	    return null;
+    }
+
+    /**
+     * This method will listen to any action event that occured.
+     * It will allow this special listener class to record all the information inside all the
+     * window open when the action occured.
+     * @param e the ActionEvent.
+     */
+    public void actionPerformed(ActionEvent e)
+    {
+	String command;
+	command = e.getActionCommand();
+	Component comp;
+	comp = (Component)e.getSource();
+	
+	saving(comp,command);
+
+	if (myframe == null)
+	    myframe = " ";
+	
+	if("FastSend".equals(e.getActionCommand()))
+	    {
+		point.addMouseListener(mouse_blocker_listener);
+		point.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+
+		BufferedImage img;
+		boolean modal;
+			
+		modal = false;
+
+		img = recreateEvent(point);
+		
+		if (stop_rec == true)
+		    {
+			feedbackframe = myframe;
+			
+			JDialog.setDefaultLookAndFeelDecorated(true);
+			stop_rec = false;
+			frame = null;
+			frame = new FeedbackInterface(sh,feedbackframe,messages,this);
+			if ((img != null) && (savefinish == true))
+			    {
+				int x,y,w,h,iw,ih;
+				double wrat,hrat;
+				Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
+				
+				iw = (int) (dim.getWidth() - 60);
+				ih = (int) (dim.getHeight() * 0.75) - 50;
+				
+				wrat = iw/((double)dim.getWidth());
+				hrat = ih/((double)dim.getHeight());
+				
+				w = (int) (point.getWidth() * wrat);
+				h = (int) (point.getHeight() * hrat);
+				x = (int) (point.getLocationOnScreen().x * wrat);
+				y = (int) (point.getLocationOnScreen().y * hrat);
+
+				//frame.addScreenPanel(feedbackframe,sh.getBuffImage(),img);
+				frame.addScreenPanel(feedbackframe,img,x,y,w,h);
+			    }
+			frame.setVisible(false);
+		    }
+		else
+		    {
+			if ((img != null) &&(savefinish == true))
+			    {
+				int x,y,w,h,iw,ih;
+				double wrat,hrat;
+				Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
+				
+				iw = (int) (dim.getWidth() - 60);
+				ih = (int) (dim.getHeight() * 0.75) - 50;
+				
+				wrat = iw/((double)dim.getWidth());
+				hrat = ih/((double)dim.getHeight());
+				
+				w = (int) (point.getWidth() * wrat);
+				h = (int) (point.getHeight() * hrat);
+				x = (int) (point.getLocationOnScreen().x * wrat);
+				y = (int) (point.getLocationOnScreen().y * hrat);
+				
+				//frame.addScreenPanel(feedbackframe,sh.getBuffImage(),img);
+				if (point instanceof JDialog)
+				    modal = ((JDialog) point).isModal();
+				
+				feedbackframe = myframe;
+				frame.addScreenPanel(feedbackframe,img,x,y,w,h);
+			    }
+		    }
+		
+		ActionEvent evt;
+		evt = new ActionEvent(frame.send_button,ActionEvent.ACTION_PERFORMED,messages.getString("Send"));
+		
+		frame.actionPerformed(evt);
+
+		point.removeMouseListener(mouse_blocker_listener);
+		point.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));		 
+	    }
+
+	if(messages.getString("SendFeedback").equals(e.getActionCommand()))
+	    {
+		setup_UIManager();
+		//byte[] img;
+		BufferedImage img;
+		boolean modal;
+
+		point.addMouseListener(mouse_blocker_listener);
+		point.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+
+		modal = false;
+		
+		img = recreateEvent(point);
+		feedbackframe = myframe;
+		if (point instanceof JDialog)
+		    modal = ((JDialog)point).isModal();
+			
+		JDialog.setDefaultLookAndFeelDecorated(true);
+		stop_rec = false;
+		frame = null;
+		frame = new FeedbackInterface(sh,feedbackframe,messages,this);
+		if ((img != null) && (savefinish == true))
+		    {
+			int x,y,w,h,iw,ih;
+			double wrat,hrat;
+			Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
+
+			iw = (int) (dim.getWidth() - 60);
+			ih = (int) (dim.getHeight() * 0.75) - 50;
+			
+			wrat = iw/((double)dim.getWidth());
+			hrat = ih/((double)dim.getHeight());
+			
+			w = (int) (point.getWidth() * wrat);
+			h = (int) (point.getHeight() * hrat);
+			x = (int) (point.getLocationOnScreen().x * wrat);
+			y = (int) (point.getLocationOnScreen().y * hrat);
+		
+			//frame.addScreenPanel(feedbackframe,sh.getBuffImage(),img);
+			frame.addScreenPanel(feedbackframe,img,x,y,w,h);
+			frame.setComment(modal);
+			
+			if (modal == true)
+			    {
+				modalWindow = point;
+			    }
+		    }
+
+		point.removeMouseListener(mouse_blocker_listener);
+		point.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));	
+	    }
+	
+	if ("ScreenShot".equals(e.getActionCommand()))
+	    {
+		point.addMouseListener(mouse_blocker_listener);
+		point.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+
+		//byte[] img;
+		BufferedImage img;
+		boolean modal;
+		modal = false;
+		img = recreateEvent(point);
+		
+		if ((img != null) &&(savefinish == true))
+		    {
+			int x,y,w,h,iw,ih;
+			double wrat,hrat;
+			Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
+
+			iw = (int) (dim.getWidth() - 60);
+			ih = (int) (dim.getHeight() * 0.75) - 50;
+			
+			wrat = iw/((double)dim.getWidth());
+			hrat = ih/((double)dim.getHeight());
+			
+			w = (int) (point.getWidth() * wrat);
+			h = (int) (point.getHeight() * hrat);
+			x = (int) (point.getLocationOnScreen().x * wrat);
+			y = (int) (point.getLocationOnScreen().y * hrat);
+
+			//frame.addScreenPanel(feedbackframe,sh.getBuffImage(),img);
+			if (point instanceof JDialog)
+			    modal = ((JDialog) point).isModal();
+
+			feedbackframe = myframe;
+			frame.addScreenPanel(feedbackframe,img,x,y,w,h);
+			frame.setComment(modal);
+
+			if (modal == true)
+			    modalWindow = point;
+		    }
+
+		point.removeMouseListener(mouse_blocker_listener);
+		point.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));	
+	    }
+
+	if (messages.getString("LookHistory").equals(e.getActionCommand()))
+	    {
+		point.addMouseListener(mouse_blocker_listener);
+		point.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+
+		setup_UIManager();
+		ReportDetails rd;
+		rd = new ReportDetails(vector,null,null,messages,rec);
+
+		point.removeMouseListener(mouse_blocker_listener);
+		point.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));	
+	    }
+    }
+   
+
+    /**
+     * This method will listen to any Change event that occured.
+     * It will allow this special listener class to record all the information inside all the
+     * window open when the action occured.
+     * @param e the ChangeEvent.
+     */
+    public void stateChanged(ChangeEvent e)
+    {
+	String command;
+	command = messages.getString("ChangeState");
+	Object obj;
+	obj = e.getSource();
+	
+	Component comp;
+
+	if (obj instanceof Component)
+	    {
+		comp = (Component)e.getSource();
+	    }
+	else
+	    {
+		if (modelHash.containsKey(obj) == true)
+		    {
+			comp = (Component) modelHash.get(obj);
+		    }
+		else
+		    {
+			comp = null;
+			System.out.println("weird" + obj.toString());
+		    }
+	    }
+	
+	saving(comp,command);
+    }
+
+    /**
+     * This method will listen to any tree selection event that occured.
+     * It will allow this special listener class to record all the information inside all the
+     * window open when the action occured.
+     * @param e the TreeSelectionEvent.
+     */
+    public void valueChanged(TreeSelectionEvent e)
+    {
+	MutableTreeNode node;
+        node = (MutableTreeNode)
+	    (e.getPath().getLastPathComponent());
+	
+	if (node == null) return;
+
+	Object obj;
+	obj = e.getSource();
+	
+	Component comp;
+
+	if (obj instanceof Component)
+	    {
+		comp = (Component)e.getSource();
+	    }
+	else
+	    {
+		if (modelHash.containsKey(obj) == true)
+		    {
+			comp = (Component) modelHash.get(obj);
+		    }
+		else
+		    {
+			comp = null;
+			System.out.println("weird" + obj.toString());
+		    }
+	    }
+	
+	String command;
+	command = messages.getString("Node") + " ";
+	if (node instanceof DefaultMutableTreeNode)
+	    command = command + ((DefaultMutableTreeNode)node).getUserObject() + " ";
+	command = command + messages.getString("ValueChanged");
+	
+	saving(comp,command);
+    }
+
+    /**
+     * This method will listen to any tree nodes change in the tree model event that occured.
+     * It will allow this special listener class to record all the information inside all the
+     * window open when the action occured.
+     * @param e the TreeModelEvent.
+     */
+    public void treeNodesChanged(TreeModelEvent e)
+    {
+	MutableTreeNode node;
+        node = (MutableTreeNode)
+                 (e.getTreePath().getLastPathComponent());
+
+	try {
+            int index;
+	    index = e.getChildIndices()[0];
+            node = (MutableTreeNode)(node.getChildAt(index));
+        } catch (NullPointerException exc) {}
+
+	Object obj;
+	obj = e.getSource();
+	
+	Component comp;
+
+	if (obj instanceof Component)
+	    {
+		comp = (Component)e.getSource();
+	    }
+	else
+	    {
+		if (modelHash.containsKey(obj) == true)
+		    {
+			comp = (Component) modelHash.get(obj);
+		    }
+		else
+		    {
+			comp = null;
+			System.out.println("weird" + obj.toString());
+		    }
+	    }
+
+	String command;
+	command = messages.getString("Node");
+
+	if (node instanceof DefaultMutableTreeNode)
+	    command = command + " "  + ((DefaultMutableTreeNode)node).getUserObject();
+
+	command = command + " " + messages.getString("Change");
+	
+	saving(comp,command);
+    }
+
+    /**
+     * This method will listen to any tree nodes inserted in the tree model event that occured.
+     * It will allow this special listener class to record all the information inside all the
+     * window open when the action occured.
+     * @param e the TreeModelEvent.
+     */
+    public void treeNodesInserted(TreeModelEvent e)
+    {
+	MutableTreeNode node;
+        node = (MutableTreeNode)
+                 (e.getTreePath().getLastPathComponent());
+
+	try {
+            int index;
+	    index = e.getChildIndices()[0];
+            node = (MutableTreeNode)(node.getChildAt(index));
+        } catch (NullPointerException exc) {}
+	
+	Object obj;
+	obj = e.getSource();
+	
+	Component comp;
+
+	if (obj instanceof Component)
+	    {
+		comp = (Component)e.getSource();
+	    }
+	else
+	    {
+		if (modelHash.containsKey(obj) == true)
+		    {
+			comp = (Component) modelHash.get(obj);
+		    }
+		else
+		    {
+			comp = null;
+			System.out.println("weird" + obj.toString());
+		    }
+	    }
+	
+	String command;
+	command = messages.getString("Node");
+	if (node instanceof DefaultMutableTreeNode)
+	    command = command + " "  + ((DefaultMutableTreeNode)node).getUserObject();
+
+	command = command + " " + messages.getString("Inserted");
+	
+	saving(comp,command);
+    }
+    
+    /**
+     * This method will listen to any tree nodes removed in the tree model event that occured.
+     * It will allow this special listener class to record all the information inside all the
+     * window open when the action occured.
+     * @param e the TreeModelEvent.
+     */
+    public void treeNodesRemoved(TreeModelEvent e)
+    {
+	MutableTreeNode node;
+        node = (MutableTreeNode)
+                 (e.getTreePath().getLastPathComponent());
+
+	try {
+            int index;
+	    index = e.getChildIndices()[0];
+            node = (MutableTreeNode)(node.getChildAt(index));
+        } catch (NullPointerException exc) {}
+
+	Object obj;
+	obj = e.getSource();
+	
+	Component comp;
+
+	if (obj instanceof Component)
+	    {
+		comp = (Component)e.getSource();
+	    }
+	else
+	    {
+		if (modelHash.containsKey(obj) == true)
+		    {
+			comp = (Component) modelHash.get(obj);
+		    }
+		else
+		    {
+			comp = null;
+			System.out.println("weird" + obj.toString());
+		    }
+	    }
+
+	String command;
+	command = messages.getString("Node");
+	if (node instanceof DefaultMutableTreeNode)
+	    command = command + " "  + ((DefaultMutableTreeNode)node).getUserObject();
+	command = command + " " + messages.getString("Removed");
+	
+	saving(comp,command);
+    }
+ 
+    /**
+     * This method will listen to any tree structure change in the tree model event that occured.
+     * It will allow this special listener class to record all the information inside all the
+     * window open when the action occured.
+     * @param e the TreeModelEvent.
+     */
+    public void treeStructureChanged(TreeModelEvent e)
+    {
+	Object obj;
+	obj = e.getSource();
+	
+	Component comp;
+
+	if (obj instanceof Component)
+	    {
+		comp = (Component)e.getSource();
+	    }
+	else
+	    {
+		if (modelHash.containsKey(obj) == true)
+		    {
+			comp = (Component) modelHash.get(obj);
+		    }
+		else
+		    {
+			comp = null;
+			System.out.println("weird" + obj.toString());
+		    }
+	    }
+	
+	String command;
+	command = messages.getString("TreeStructuredChanged");
+	
+	saving(comp,command);
+    }
+
+    /**
+     * This method will listen to any item state change in the item  event that occured.
+     * It will allow this special listener class to record all the information inside all the
+     * window open when the action occured.
+     * @param e the ItemEvent.
+     */
+    public void itemStateChanged(ItemEvent e)
+    {
+	Component comp;
+	comp = (Component) e.getSource();
+	String command;
+	command = ((String) e.getItem()) + " " + 
+	    messages.getString("ItemStateChanged");
+
+	saving(comp,command);
+    } 
+
+    /**
+     * This method will listen to any contents change in the list data event that occured.
+     * It will allow this special listener class to record all the information inside all the
+     * window open when the action occured.
+     * @param e the ListDataEvent.
+     */
+    public void contentsChanged (ListDataEvent e)
+    {
+	Object obj;
+	obj = e.getSource();
+	
+	Component comp;
+
+	if (obj instanceof Component)
+	    {
+		comp = (Component)e.getSource();
+	    }
+	else
+	    {
+		if (modelHash.containsKey(obj) == true)
+		    {
+			comp = (Component) modelHash.get(obj);
+		    }
+		else
+		    {
+			comp = null;
+			System.out.println("weird" + obj.toString());
+		    }
+	    }
+	
+	String command;
+	command = messages.getString("ListChanged");
+
+	saving(comp,command);
+    } 
+
+    /**
+     * This method will listen to any interval added in the list data event that occured.
+     * It will allow this special listener class to record all the information inside all the
+     * window open when the action occured.
+     * @param e the ListDataEvent.
+     */
+    public void intervalAdded (ListDataEvent e)
+    {
+	Object obj;
+	obj = e.getSource();
+	
+	Component comp;
+
+	if (obj instanceof Component)
+	    {
+		comp = (Component)e.getSource();
+	    }
+	else
+	    {
+		if (modelHash.containsKey(obj) == true)
+		    {
+			comp = (Component) modelHash.get(obj);
+		    }
+		else
+		    {
+			comp = null;
+			System.out.println("weird" + obj.toString());
+		    }
+	    }
+	
+	String command;
+	command = messages.getString("ListContentsAdded");
+
+	saving(comp,command);
+    } 
+
+    /**
+     * This method will listen to any interval removed in the list data event that occured.
+     * It will allow this special listener class to record all the information inside all the
+     * window open when the action occured.
+     * @param e the ListDataEvent.
+     */
+    public void intervalRemoved (ListDataEvent e)
+    {
+	Object obj;
+	obj = e.getSource();
+	
+	Component comp;
+
+	if (obj instanceof Component)
+	    {
+		comp = (Component)e.getSource();
+	    }
+	else
+	    {
+		if (modelHash.containsKey(obj) == true)
+		    {
+			comp = (Component) modelHash.get(obj);
+		    }
+		else
+		    {
+			comp = null;
+			System.out.println("weird" + obj.toString());
+		    }
+	    }
+
+	String command;
+	command = messages.getString("ListContentRemoved");
+
+	saving(comp,command);
+    }
+
+    /**
+     * This method will listen to any value changed in the list data event that occured.
+     * It will allow this special listener class to record all the information inside all the
+     * window open when the action occured.
+     * @param e the ListDataEvent.
+     */
+    public void valueChanged (ListSelectionEvent e)
+    {
+	Object obj;
+	obj = e.getSource();
+	
+	Component comp;
+
+	if (obj instanceof Component)
+	    {
+		comp = (Component)e.getSource();
+	    }
+	else
+	    {
+		if (modelHash.containsKey(obj) == true)
+		    {
+			comp = (Component) modelHash.get(obj);
+		    }
+		else
+		    {
+			comp = null;
+			System.out.println("weird" + obj.toString());
+		    }
+	    }
+
+	String command;
+	command = messages.getString("ListValueChanged");
+
+	saving(comp,command);
+    }
+
+    /**
+     * This method will listen to any menu canceled in the menu event that occured.
+     * It will allow this special listener class to record all the information inside all the
+     * window open when the action occured.
+     * @param e the MenuEvent.
+     */
+    public void menuCanceled (MenuEvent e)
+    {
+	Component comp;
+	comp = (Component) e.getSource();
+	String command;
+	command = messages.getString("MenuCanceled");
+
+	saving(comp,command);
+    }
+
+    /**
+     * This method will listen to any menu deselected in the menu event that occured.
+     * It will allow this special listener class to record all the information inside all the
+     * window open when the action occured.
+     * @param e the MenuEvent.
+     */
+    public void menuDeselected (MenuEvent e)
+     {
+	Component comp;
+	comp = (Component) e.getSource();
+	String command;
+	command = messages.getString("MenuDeselected");
+
+	saving(comp,command);
+    }
+
+    /**
+     * This method will listen to any menu selected in the menu event that occured.
+     * It will allow this special listener class to record all the information inside all the
+     * window open when the action occured.
+     * @param e the MenuEvent.
+     */
+    public void menuSelected(MenuEvent e)
+    {
+	Component comp;
+	comp = (Component) e.getSource();
+	String command;
+	command = messages.getString("MenuSelected");
+
+	saving(comp,command);
+    }
+
+    /**
+     * This method will listen to any column added in the table column model event that occured.
+     * It will allow this special listener class to record all the information inside all the
+     * window open when the action occured.
+     * @param e the TableColumnModelEvent.
+     */
+    public void columnAdded (TableColumnModelEvent e)
+    {
+	Object obj;
+	obj = e.getSource();
+	
+	Component comp;
+
+	if (obj instanceof Component)
+	    {
+		comp = (Component)e.getSource();
+	    }
+	else
+	    {
+		if (modelHash.containsKey(obj) == true)
+		    {
+			comp = (Component) modelHash.get(obj);
+		    }
+		else
+		    {
+			comp = null;
+			System.out.println("weird" + obj.toString());
+		    }
+	    }
+
+	String command;
+	command = messages.getString("ColumnIndex") + " "  + e.getToIndex() 
+	    + messages.getString("AddedToTable");
+
+	saving(comp,command);
+    }
+
+    public void columnMarginChanged(ChangeEvent e) {}
+
+    /**
+     * This method will listen to any column moved in the table column model event that occured.
+     * It will allow this special listener class to record all the information inside all the
+     * window open when the action occured.
+     * @param e the TableColumnModelEvent.
+     */
+    public void columnMoved(TableColumnModelEvent e)
+    {
+	Object obj;
+	obj = e.getSource();
+	
+	Component comp;
+
+	if (obj instanceof Component)
+	    {
+		comp = (Component)e.getSource();
+	    }
+	else
+	    {
+		if (modelHash.containsKey(obj) == true)
+		    {
+			comp = (Component) modelHash.get(obj);
+		    }
+		else
+		    {
+			comp = null;
+			System.out.println("weird" + obj.toString());
+		    }
+	    }
+
+	String command;
+	command = messages.getString("ColumnIndexFrom") + " " + 
+	    e.getFromIndex() + " " + 
+	    messages.getString("MovedToColumnIndex") + " "  + e.getToIndex() +
+	    " " + messages.getString("InTheTable");
+
+	saving(comp,command);
+    }
+
+    /**
+     * This method will listen to any column removed in the table column model event that occured.
+     * It will allow this special listener class to record all the information inside all the
+     * window open when the action occured.
+     * @param e the TableColumnModelEvent.
+     */
+    public void columnRemoved(TableColumnModelEvent e)
+    {
+	Object obj;
+	obj = e.getSource();
+	
+	Component comp;
+
+	if (obj instanceof Component)
+	    {
+		comp = (Component)e.getSource();
+	    }
+	else
+	    {
+		if (modelHash.containsKey(obj) == true)
+		    {
+			comp = (Component) modelHash.get(obj);
+		    }
+		else
+		    {
+			comp = null;
+			System.out.println("weird" + obj.toString());
+		    }
+	    }
+
+	String command;
+	command = messages.getString("ColumnIndex") + " "  + e.getFromIndex() +
+	    " " + messages.getString("RemovedFromTheTable");
+
+	saving(comp,command);
+    }
+
+    public void columnSelectionChanged(ListSelectionEvent e) {}
+}
+
+
+
+
+
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/Base64.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/Base64.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/Base64.java	(revision 21123)
@@ -0,0 +1,1279 @@
+package org.greenstone.gatherer.feedback;
+
+import java.io.*;
+/**
+ * Encodes and decodes to and from Base64 notation.
+ *
+ * <p>
+ * Change Log:
+ * </p>
+ * <ul>
+ *  <li>v2.0.1 - Fixed an error when decoding a single byte, that is, when the
+ *   encoded data was a single byte.</li>
+ *  <li>v2.0 - I got rid of methods that used booleans to set options. 
+ *   Now everything is more consolidated and cleaner. The code now detects
+ *   when data that's being decoded is gzip-compressed and will decompress it
+ *   automatically. Generally things are cleaner. You'll probably have to
+ *   change some method calls that you were making to support the new
+ *   options format (<tt>int</tt>s that you "OR" together).</li>
+ *  <li>v1.5.1 - Fixed bug when decompressing and decoding to a             
+ *   byte[] using <tt>decode( String s, boolean gzipCompressed )</tt>.      
+ *   Added the ability to "suspend" encoding in the Output Stream so        
+ *   you can turn on and off the encoding if you need to embed base64       
+ *   data in an otherwise "normal" stream (like an XML file).</li>  
+ *  <li>v1.5 - Output stream pases on flush() command but doesn't do anything itself.
+ *      This helps when using GZIP streams.
+ *      Added the ability to GZip-compress objects before encoding them.</li>
+ *  <li>v1.4 - Added helper methods to read/write files.</li>
+ *  <li>v1.3.6 - Fixed OutputStream.flush() so that 'position' is reset.</li>
+ *  <li>v1.3.5 - Added flag to turn on and off line breaks. Fixed bug in input stream
+ *      where last buffer being read, if not completely full, was not returned.</li>
+ *  <li>v1.3.4 - Fixed when "improperly padded stream" error was thrown at the wrong time.</li>
+ *  <li>v1.3.3 - Fixed I/O streams which were totally messed up.</li>
+ * </ul>
+ *
+ * <p>
+ * I am placing this code in the Public Domain. Do with it as you will.
+ * This software comes with no guarantees or warranties but with
+ * plenty of well-wishing instead!
+ * Please visit <a href="http://iharder.net/xmlizable">http://iharder.net/base64</a>
+ * periodically to check for updates or to contribute improvements.
+ * </p>
+ *
+ * @author Robert Harder
+ * @author rob@iharder.net
+ * @version 2.0
+ */
+public class Base64
+{
+    
+/* ********  P U B L I C   F I E L D S  ******** */   
+    
+    
+    /** No options specified. Value is zero. */
+    public final static int NO_OPTIONS = 0;
+    
+    /** Specify encoding. */
+    public final static int ENCODE = 1;
+    
+    
+    /** Specify decoding. */
+    public final static int DECODE = 0;
+    
+    
+    /** Specify that data should be gzip-compressed. */
+    public final static int GZIP = 2;
+    
+    
+    /** Don't break lines when encoding (violates strict Base64 specification) */
+    public final static int DONT_BREAK_LINES = 8;
+    
+    
+/* ********  P R I V A T E   F I E L D S  ******** */  
+    
+    
+    /** Maximum line length (76) of Base64 output. */
+    private final static int MAX_LINE_LENGTH = 76;
+    
+    
+    /** The equals sign (=) as a byte. */
+    private final static byte EQUALS_SIGN = (byte)'=';
+    
+    
+    /** The new line character (\n) as a byte. */
+    private final static byte NEW_LINE = (byte)'\n';
+    
+    
+    /** The 64 valid Base64 values. */
+    private final static byte[] ALPHABET =
+    {
+        (byte)'A', (byte)'B', (byte)'C', (byte)'D', (byte)'E', (byte)'F', (byte)'G',
+        (byte)'H', (byte)'I', (byte)'J', (byte)'K', (byte)'L', (byte)'M', (byte)'N',
+        (byte)'O', (byte)'P', (byte)'Q', (byte)'R', (byte)'S', (byte)'T', (byte)'U', 
+        (byte)'V', (byte)'W', (byte)'X', (byte)'Y', (byte)'Z',
+        (byte)'a', (byte)'b', (byte)'c', (byte)'d', (byte)'e', (byte)'f', (byte)'g',
+        (byte)'h', (byte)'i', (byte)'j', (byte)'k', (byte)'l', (byte)'m', (byte)'n',
+        (byte)'o', (byte)'p', (byte)'q', (byte)'r', (byte)'s', (byte)'t', (byte)'u', 
+        (byte)'v', (byte)'w', (byte)'x', (byte)'y', (byte)'z',
+        (byte)'0', (byte)'1', (byte)'2', (byte)'3', (byte)'4', (byte)'5', 
+        (byte)'6', (byte)'7', (byte)'8', (byte)'9', (byte)'+', (byte)'/'
+    };
+    
+    /** 
+     * Translates a Base64 value to either its 6-bit reconstruction value
+     * or a negative number indicating some other meaning.
+     **/
+    private final static byte[] DECODABET =
+    {   
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,                 // Decimal  0 -  8
+        -5,-5,                                      // Whitespace: Tab and Linefeed
+        -9,-9,                                      // Decimal 11 - 12
+        -5,                                         // Whitespace: Carriage Return
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 14 - 26
+        -9,-9,-9,-9,-9,                             // Decimal 27 - 31
+        -5,                                         // Whitespace: Space
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,              // Decimal 33 - 42
+        62,                                         // Plus sign at decimal 43
+        -9,-9,-9,                                   // Decimal 44 - 46
+        63,                                         // Slash at decimal 47
+        52,53,54,55,56,57,58,59,60,61,              // Numbers zero through nine
+        -9,-9,-9,                                   // Decimal 58 - 60
+        -1,                                         // Equals sign at decimal 61
+        -9,-9,-9,                                      // Decimal 62 - 64
+        0,1,2,3,4,5,6,7,8,9,10,11,12,13,            // Letters 'A' through 'N'
+        14,15,16,17,18,19,20,21,22,23,24,25,        // Letters 'O' through 'Z'
+        -9,-9,-9,-9,-9,-9,                          // Decimal 91 - 96
+        26,27,28,29,30,31,32,33,34,35,36,37,38,     // Letters 'a' through 'm'
+        39,40,41,42,43,44,45,46,47,48,49,50,51,     // Letters 'n' through 'z'
+        -9,-9,-9,-9                                 // Decimal 123 - 126
+        /*,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 127 - 139
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 140 - 152
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 153 - 165
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 166 - 178
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 179 - 191
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 192 - 204
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 205 - 217
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 218 - 230
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 231 - 243
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9         // Decimal 244 - 255 */
+    };
+    
+    private final static byte BAD_ENCODING    = -9; // Indicates error in encoding
+    private final static byte WHITE_SPACE_ENC = -5; // Indicates white space in encoding
+    private final static byte EQUALS_SIGN_ENC = -1; // Indicates equals sign in encoding
+
+    
+    /** Defeats instantiation. */
+    private Base64(){}
+    
+    
+    
+/* ********  E N C O D I N G   M E T H O D S  ******** */    
+    
+    
+    /**
+     * Encodes the first three bytes of array <var>threeBytes</var>
+     * and returns a four-byte array in Base64 notation.
+     *
+     * @param threeBytes the array to convert
+     * @return four byte array in Base64 notation.
+     * @since 1.3
+     */
+    private static byte[] encode3to4( byte[] threeBytes )
+    {   
+        return encode3to4( threeBytes, 3 );
+    }   // end encodeToBytes
+    
+    
+    
+    /**
+     * Encodes up to the first three bytes of array <var>threeBytes</var>
+     * and returns a four-byte array in Base64 notation.
+     * The actual number of significant bytes in your array is
+     * given by <var>numSigBytes</var>.
+     * The array <var>threeBytes</var> needs only be as big as
+     * <var>numSigBytes</var>.
+     *
+     * @param threeBytes the array to convert
+     * @param numSigBytes the number of significant bytes in your array
+     * @return four byte array in Base64 notation.
+     * @since 1.3
+     */
+    private static byte[] encode3to4( byte[] threeBytes, int numSigBytes )
+    {  
+        byte[] dest = new byte[4];
+        encode3to4( threeBytes, 0, numSigBytes, dest, 0 );
+        return dest;
+    }
+    
+     /**
+     * Encodes up to the first three bytes of array <var>threeBytes</var>
+     * and returns a four-byte array in Base64 notation.
+     * The actual number of significant bytes in your array is
+     * given by <var>numSigBytes</var>.
+     * The array <var>threeBytes</var> needs only be as big as
+     * <var>numSigBytes</var>.
+     * Code can reuse a byte array by passing a four-byte array as <var>b4</var>.
+     *
+     * @param b4 A reusable byte array to reduce array instantiation
+     * @param threeBytes the array to convert
+     * @param numSigBytes the number of significant bytes in your array
+     * @return four byte array in Base64 notation.
+     * @since 1.5.1
+     */
+    private static byte[] encode3to4( byte[] b4, byte[] threeBytes, int numSigBytes )
+    {
+        encode3to4( threeBytes, 0, numSigBytes, b4, 0 );
+        return b4;
+    }   // end encode3to4
+
+    
+    /**
+     * Encodes up to three bytes of the array <var>source</var>
+     * and writes the resulting four Base64 bytes to <var>destination</var>.
+     * The source and destination arrays can be manipulated
+     * anywhere along their length by specifying 
+     * <var>srcOffset</var> and <var>destOffset</var>.
+     * This method does not check to make sure your arrays
+     * are large enough to accomodate <var>srcOffset</var> + 3 for
+     * the <var>source</var> array or <var>destOffset</var> + 4 for
+     * the <var>destination</var> array.
+     * The actual number of significant bytes in your array is
+     * given by <var>numSigBytes</var>.
+     *
+     * @param source the array to convert
+     * @param srcOffset the index where conversion begins
+     * @param numSigBytes the number of significant bytes in your array
+     * @param destination the array to hold the conversion
+     * @param destOffset the index where output will be put
+     * @return the <var>destination</var> array
+     * @since 1.3
+     */
+    private static byte[] encode3to4( 
+     byte[] source, int srcOffset, int numSigBytes,
+     byte[] destination, int destOffset )
+    {
+        //           1         2         3  
+        // 01234567890123456789012345678901 Bit position
+        // --------000000001111111122222222 Array position from threeBytes
+        // --------|    ||    ||    ||    | Six bit groups to index ALPHABET
+        //          >>18  >>12  >> 6  >> 0  Right shift necessary
+        //                0x3f  0x3f  0x3f  Additional AND
+        
+        // Create buffer with zero-padding if there are only one or two
+        // significant bytes passed in the array.
+        // We have to shift left 24 in order to flush out the 1's that appear
+        // when Java treats a value as negative that is cast from a byte to an int.
+        int inBuff =   ( numSigBytes > 0 ? ((source[ srcOffset     ] << 24) >>>  8) : 0 )
+                     | ( numSigBytes > 1 ? ((source[ srcOffset + 1 ] << 24) >>> 16) : 0 )
+                     | ( numSigBytes > 2 ? ((source[ srcOffset + 2 ] << 24) >>> 24) : 0 );
+
+        switch( numSigBytes )
+        {
+            case 3:
+                destination[ destOffset     ] = ALPHABET[ (inBuff >>> 18)        ];
+                destination[ destOffset + 1 ] = ALPHABET[ (inBuff >>> 12) & 0x3f ];
+                destination[ destOffset + 2 ] = ALPHABET[ (inBuff >>>  6) & 0x3f ];
+                destination[ destOffset + 3 ] = ALPHABET[ (inBuff       ) & 0x3f ];
+                return destination;
+                
+            case 2:
+                destination[ destOffset     ] = ALPHABET[ (inBuff >>> 18)        ];
+                destination[ destOffset + 1 ] = ALPHABET[ (inBuff >>> 12) & 0x3f ];
+                destination[ destOffset + 2 ] = ALPHABET[ (inBuff >>>  6) & 0x3f ];
+                destination[ destOffset + 3 ] = EQUALS_SIGN;
+                return destination;
+                
+            case 1:
+                destination[ destOffset     ] = ALPHABET[ (inBuff >>> 18)        ];
+                destination[ destOffset + 1 ] = ALPHABET[ (inBuff >>> 12) & 0x3f ];
+                destination[ destOffset + 2 ] = EQUALS_SIGN;
+                destination[ destOffset + 3 ] = EQUALS_SIGN;
+                return destination;
+                
+            default:
+                return destination;
+        }   // end switch
+    }   // end encode3to4
+    
+    
+    
+    /**
+     * Serializes an object and returns the Base64-encoded
+     * version of that serialized object. If the object
+     * cannot be serialized or there is another error,
+     * the method will return <tt>null</tt>.
+     * The object is not GZip-compressed before being encoded.
+     *
+     * @param serializableObject The object to encode
+     * @return The Base64-encoded object
+     * @since 1.4
+     */
+    public static String encodeObject( java.io.Serializable serializableObject )
+    {
+        return encodeObject( serializableObject, NO_OPTIONS );
+    }   // end encodeObject
+    
+
+
+    /**
+     * Serializes an object and returns the Base64-encoded
+     * version of that serialized object. If the object
+     * cannot be serialized or there is another error,
+     * the method will return <tt>null</tt>.
+     * <p>
+     * Valid options:<pre>
+     *   GZIP: gzip-compresses object before encoding it.
+     *   DONT_BREAK_LINES: don't break lines at 76 characters
+     *     <i>Note: Technically, this makes your encoding non-compliant.</i>
+     * </pre>
+     * <p>
+     * Example: <code>encodeObject( myObj, Base64.GZIP )</code> or
+     * <p>
+     * Example: <code>encodeObject( myObj, Base64.GZIP | Base64.DONT_BREAK_LINES )</code>
+     *
+     * @param serializableObject The object to encode
+     * @param options Specified options
+     * @return The Base64-encoded object
+     * @see Base64#GZIP
+     * @see Base64#DONT_BREAK_LINES
+     * @since 2.0
+     */
+    public static String encodeObject( java.io.Serializable serializableObject, int options )
+    {
+        // Streams
+        java.io.ByteArrayOutputStream  baos  = null; 
+        java.io.OutputStream           b64os = null; 
+        java.io.ObjectOutputStream     oos   = null; 
+        java.util.zip.GZIPOutputStream gzos  = null;
+        
+        // Isolate options
+        int gzip           = (options & GZIP);
+        int dontBreakLines = (options & DONT_BREAK_LINES);
+        
+        try
+        {
+            // ObjectOutputStream -> (GZIP) -> Base64 -> ByteArrayOutputStream
+            baos  = new java.io.ByteArrayOutputStream();
+            b64os = new Base64.OutputStream( baos, ENCODE | dontBreakLines );
+    
+            // GZip?
+            if( gzip == GZIP )
+            {
+                gzos = new java.util.zip.GZIPOutputStream( b64os );
+                oos  = new java.io.ObjectOutputStream( gzos );
+            }   // end if: gzip
+            else
+                oos   = new java.io.ObjectOutputStream( b64os );
+            
+            oos.writeObject( serializableObject );
+        }   // end try
+        catch( java.io.IOException e )
+        {
+            e.printStackTrace();
+            return null;
+        }   // end catch
+        finally
+        {
+            try{ oos.close();   } catch( Exception e ){}
+            try{ gzos.close();  } catch( Exception e ){}
+            try{ b64os.close(); } catch( Exception e ){}
+            try{ baos.close();  } catch( Exception e ){}
+        }   // end finally
+        
+        return new String( baos.toByteArray() );
+    }   // end encode
+    
+    
+
+    /**
+     * Encodes a byte array into Base64 notation.
+     * Does not GZip-compress data.
+     *
+     * @param source The data to convert
+     * @since 1.4
+     */
+    public static String encodeBytes( byte[] source )
+    {
+        return encodeBytes( source, 0, source.length, NO_OPTIONS );
+    }   // end encodeBytes
+    
+
+
+    /**
+     * Encodes a byte array into Base64 notation.
+     * <p>
+     * Valid options:<pre>
+     *   GZIP: gzip-compresses object before encoding it.
+     *   DONT_BREAK_LINES: don't break lines at 76 characters
+     *     <i>Note: Technically, this makes your encoding non-compliant.</i>
+     * </pre>
+     * <p>
+     * Example: <code>encodeBytes( myData, Base64.GZIP )</code> or
+     * <p>
+     * Example: <code>encodeBytes( myData, Base64.GZIP | Base64.DONT_BREAK_LINES )</code>
+     *
+     *
+     * @param source The data to convert
+     * @param options Specified options
+     * @see Base64#GZIP
+     * @see Base64#DONT_BREAK_LINES
+     * @since 2.0
+     */
+    public static String encodeBytes( byte[] source, int options )
+    {   
+        return encodeBytes( source, 0, source.length, options );
+    }   // end encodeBytes
+    
+    
+    /**
+     * Encodes a byte array into Base64 notation.
+     * Does not GZip-compress data.
+     *
+     * @param source The data to convert
+     * @param off Offset in array where conversion should begin
+     * @param len Length of data to convert
+     * @since 1.4
+     */
+    public static String encodeBytes( byte[] source, int off, int len )
+    {
+        return encodeBytes( source, off, len, NO_OPTIONS );
+    }   // end encodeBytes
+    
+    
+
+    /**
+     * Encodes a byte array into Base64 notation.
+     * <p>
+     * Valid options:<pre>
+     *   GZIP: gzip-compresses object before encoding it.
+     *   DONT_BREAK_LINES: don't break lines at 76 characters
+     *     <i>Note: Technically, this makes your encoding non-compliant.</i>
+     * </pre>
+     * <p>
+     * Example: <code>encodeBytes( myData, Base64.GZIP )</code> or
+     * <p>
+     * Example: <code>encodeBytes( myData, Base64.GZIP | Base64.DONT_BREAK_LINES )</code>
+     *
+     *
+     * @param source The data to convert
+     * @param off Offset in array where conversion should begin
+     * @param len Length of data to convert
+     * @param options Specified options
+     * @see Base64#GZIP
+     * @see Base64#DONT_BREAK_LINES
+     * @since 2.0
+     */
+    public static String encodeBytes( byte[] source, int off, int len, int options )
+    {
+        // Isolate options
+        int dontBreakLines = ( options & DONT_BREAK_LINES );
+        int gzip           = ( options & GZIP   );
+        
+        // Compress?
+        if( gzip == GZIP )
+        {
+            java.io.ByteArrayOutputStream  baos  = null;
+            java.util.zip.GZIPOutputStream gzos  = null;
+            Base64.OutputStream            b64os = null;
+            
+    
+            try
+            {
+                // GZip -> Base64 -> ByteArray
+                baos = new java.io.ByteArrayOutputStream();
+                b64os = new Base64.OutputStream( baos, ENCODE | dontBreakLines );
+                gzos  = new java.util.zip.GZIPOutputStream( b64os ); 
+            
+                gzos.write( source, off, len );
+                gzos.close();
+            }   // end try
+            catch( java.io.IOException e )
+            {
+                e.printStackTrace();
+                return null;
+            }   // end catch
+            finally
+            {
+                try{ gzos.close();  } catch( Exception e ){}
+                try{ b64os.close(); } catch( Exception e ){}
+                try{ baos.close();  } catch( Exception e ){}
+            }   // end finally
+
+            return new String( baos.toByteArray() );
+        }   // end if: compress
+        
+        // Else, don't compress. Better not to use streams at all then.
+        else
+        {
+            // Convert option to boolean in way that code likes it.
+            boolean breakLines = dontBreakLines == 0;
+            
+            int    len43   = len * 4 / 3;
+            byte[] outBuff = new byte[   ( len43 )                      // Main 4:3
+                                       + ( (len % 3) > 0 ? 4 : 0 )      // Account for padding
+                                       + (breakLines ? ( len43 / MAX_LINE_LENGTH ) : 0) ]; // New lines      
+            int d = 0;
+            int e = 0;
+            int len2 = len - 2;
+            int lineLength = 0;
+            for( ; d < len2; d+=3, e+=4 )
+            {
+                encode3to4( source, d+off, 3, outBuff, e );
+
+                lineLength += 4;
+                if( breakLines && lineLength == MAX_LINE_LENGTH )
+                {   
+                    outBuff[e+4] = NEW_LINE;
+                    e++;
+                    lineLength = 0;
+                }   // end if: end of line
+            }   // en dfor: each piece of array
+
+            if( d < len )
+            {
+                encode3to4( source, d+off, len - d, outBuff, e );
+                e += 4;
+            }   // end if: some padding needed
+
+            return new String( outBuff, 0, e );
+        }   // end else: don't compress
+        
+    }   // end encodeBytes
+    
+
+    
+    
+    
+/* ********  D E C O D I N G   M E T H O D S  ******** */
+    
+    
+    /**
+     * Decodes the first four bytes of array <var>fourBytes</var>
+     * and returns an array up to three bytes long with the
+     * decoded values.
+     *
+     * @param fourBytes the array with Base64 content
+     * @return array with decoded values
+     * @since 1.3
+     */
+    private static byte[] decode4to3( byte[] fourBytes )
+    {
+        byte[] outBuff1 = new byte[3];
+        int    count    = decode4to3( fourBytes, 0, outBuff1, 0 );
+        byte[] outBuff2 = new byte[ count ];
+        
+        for( int i = 0; i < count; i++ )
+            outBuff2[i] = outBuff1[i];
+        
+        return outBuff2;
+    }
+    
+    
+    
+    
+    /**
+     * Decodes four bytes from array <var>source</var>
+     * and writes the resulting bytes (up to three of them)
+     * to <var>destination</var>.
+     * The source and destination arrays can be manipulated
+     * anywhere along their length by specifying 
+     * <var>srcOffset</var> and <var>destOffset</var>.
+     * This method does not check to make sure your arrays
+     * are large enough to accomodate <var>srcOffset</var> + 4 for
+     * the <var>source</var> array or <var>destOffset</var> + 3 for
+     * the <var>destination</var> array.
+     * This method returns the actual number of bytes that 
+     * were converted from the Base64 encoding.
+     * 
+     *
+     * @param source the array to convert
+     * @param srcOffset the index where conversion begins
+     * @param destination the array to hold the conversion
+     * @param destOffset the index where output will be put
+     * @return the number of decoded bytes converted
+     * @since 1.3
+     */
+    private static int decode4to3( byte[] source, int srcOffset, byte[] destination, int destOffset )
+    {
+        // Example: Dk==
+        if( source[ srcOffset + 2] == EQUALS_SIGN )
+        {
+            // Two ways to do the same thing. Don't know which way I like best.
+            //int outBuff =   ( ( DECODABET[ source[ srcOffset    ] ] << 24 ) >>>  6 )
+            //              | ( ( DECODABET[ source[ srcOffset + 1] ] << 24 ) >>> 12 );
+            int outBuff =   ( ( DECODABET[ source[ srcOffset    ] ] & 0xFF ) << 18 )
+                          | ( ( DECODABET[ source[ srcOffset + 1] ] & 0xFF ) << 12 );
+            
+            destination[ destOffset ] = (byte)( outBuff >>> 16 );
+            return 1;
+        }
+        
+        // Example: DkL=
+        else if( source[ srcOffset + 3 ] == EQUALS_SIGN )
+        {
+            // Two ways to do the same thing. Don't know which way I like best.
+            //int outBuff =   ( ( DECODABET[ source[ srcOffset     ] ] << 24 ) >>>  6 )
+            //              | ( ( DECODABET[ source[ srcOffset + 1 ] ] << 24 ) >>> 12 )
+            //              | ( ( DECODABET[ source[ srcOffset + 2 ] ] << 24 ) >>> 18 );
+            int outBuff =   ( ( DECODABET[ source[ srcOffset     ] ] & 0xFF ) << 18 )
+                          | ( ( DECODABET[ source[ srcOffset + 1 ] ] & 0xFF ) << 12 )
+                          | ( ( DECODABET[ source[ srcOffset + 2 ] ] & 0xFF ) <<  6 );
+            
+            destination[ destOffset     ] = (byte)( outBuff >>> 16 );
+            destination[ destOffset + 1 ] = (byte)( outBuff >>>  8 );
+            return 2;
+        }
+        
+        // Example: DkLE
+        else
+        {
+            try{
+            // Two ways to do the same thing. Don't know which way I like best.
+            //int outBuff =   ( ( DECODABET[ source[ srcOffset     ] ] << 24 ) >>>  6 )
+            //              | ( ( DECODABET[ source[ srcOffset + 1 ] ] << 24 ) >>> 12 )
+            //              | ( ( DECODABET[ source[ srcOffset + 2 ] ] << 24 ) >>> 18 )
+            //              | ( ( DECODABET[ source[ srcOffset + 3 ] ] << 24 ) >>> 24 );
+            int outBuff =   ( ( DECODABET[ source[ srcOffset     ] ] & 0xFF ) << 18 )
+                          | ( ( DECODABET[ source[ srcOffset + 1 ] ] & 0xFF ) << 12 )
+                          | ( ( DECODABET[ source[ srcOffset + 2 ] ] & 0xFF ) <<  6)
+                          | ( ( DECODABET[ source[ srcOffset + 3 ] ] & 0xFF )      );
+
+            
+            destination[ destOffset     ] = (byte)( outBuff >> 16 );
+            destination[ destOffset + 1 ] = (byte)( outBuff >>  8 );
+            destination[ destOffset + 2 ] = (byte)( outBuff       );
+
+            return 3;
+            }catch( Exception e){
+                System.out.println(""+source[srcOffset]+ ": " + ( DECODABET[ source[ srcOffset     ] ]  ) );
+                System.out.println(""+source[srcOffset+1]+  ": " + ( DECODABET[ source[ srcOffset + 1 ] ]  ) );
+                System.out.println(""+source[srcOffset+2]+  ": " + ( DECODABET[ source[ srcOffset + 2 ] ]  ) );
+                System.out.println(""+source[srcOffset+3]+  ": " + ( DECODABET[ source[ srcOffset + 3 ] ]  ) );
+                return -1;
+            }   //e nd catch
+        }
+    }   // end decodeToBytes
+    
+    
+    
+    
+    /**
+     * Very low-level access to decoding ASCII characters in
+     * the form of a byte array. Does not support automatically
+     * gunzipping or any other "fancy" features.
+     *
+     * @param source The Base64 encoded data
+     * @param off    The offset of where to begin decoding
+     * @param len    The length of characters to decode
+     * @return decoded data
+     * @since 1.3
+     */
+    public static byte[] decode( byte[] source, int off, int len )
+    {
+        int    len34   = len * 3 / 4;
+        byte[] outBuff = new byte[ len34 ]; // Upper limit on size of output
+        int    outBuffPosn = 0;
+        
+        byte[] b4        = new byte[4];
+        int    b4Posn    = 0;
+        int    i         = 0;
+        byte   sbiCrop   = 0;
+        byte   sbiDecode = 0;
+        for( i = off; i < off+len; i++ )
+        {
+            sbiCrop = (byte)(source[i] & 0x7f); // Only the low seven bits
+            sbiDecode = DECODABET[ sbiCrop ];
+            
+            if( sbiDecode >= WHITE_SPACE_ENC ) // White space, Equals sign or better
+            {
+                if( sbiDecode >= EQUALS_SIGN_ENC )
+                {
+                    b4[ b4Posn++ ] = sbiCrop;
+                    if( b4Posn > 3 )
+                    {
+                        outBuffPosn += decode4to3( b4, 0, outBuff, outBuffPosn );
+                        b4Posn = 0;
+                        
+                        // If that was the equals sign, break out of 'for' loop
+                        if( sbiCrop == EQUALS_SIGN )
+                            break;
+                    }   // end if: quartet built
+                    
+                }   // end if: equals sign or better
+                
+            }   // end if: white space, equals sign or better
+            else
+            {
+                System.err.println( "Bad Base64 input character at " + i + ": " + source[i] + "(decimal)" );
+                return null;
+            }   // end else: 
+        }   // each input character
+                                   
+        byte[] out = new byte[ outBuffPosn ];
+        System.arraycopy( outBuff, 0, out, 0, outBuffPosn ); 
+        return out;
+    }   // end decode
+    
+    
+    
+    
+    /**
+     * Decodes data from Base64 notation, automatically
+     * detecting gzip-compressed data and decompressing it.
+     *
+     * @param s the string to decode
+     * @return the decoded data
+     * @since 1.4
+     */
+    public static byte[] decode( String s )
+    {   
+        byte[] bytes = s.getBytes();
+        bytes = decode( bytes, 0, bytes.length );
+        
+        // Check to see if it's gzip-compressed
+        // GZIP Magic Two-Byte Number: 0x8b1f (35615)
+        if( bytes.length >= 2 )
+        {
+            
+            int head = ((int)bytes[0] & 0xff) | ((bytes[1] << 8) & 0xff00);       
+            if(
+            bytes != null &&      // In case decoding returned null
+            bytes.length >= 4  && // Don't want to get ArrayIndexOutOfBounds exception
+            java.util.zip.GZIPInputStream.GZIP_MAGIC == head ) 
+            {
+                java.io.ByteArrayInputStream  bais = null;
+                java.util.zip.GZIPInputStream gzis = null;
+                java.io.ByteArrayOutputStream baos = null;
+                byte[] buffer = new byte[2048];
+                int    length = 0;
+
+                try
+                {
+                    baos = new java.io.ByteArrayOutputStream();
+                    bais = new java.io.ByteArrayInputStream( bytes );
+                    gzis = new java.util.zip.GZIPInputStream( bais );
+
+                    while( ( length = gzis.read( buffer ) ) >= 0 )
+                    {
+                        baos.write(buffer,0,length);
+                    }   // end while: reading input
+
+                    // No error? Get new bytes.
+                    bytes = baos.toByteArray();
+
+                }   // end try
+                catch( java.io.IOException e )
+                {
+                    // Just return originally-decoded bytes
+                }   // end catch
+                finally
+                {
+                    try{ baos.close(); } catch( Exception e ){}
+                    try{ gzis.close(); } catch( Exception e ){}
+                    try{ bais.close(); } catch( Exception e ){}
+                }   // end finally
+
+            }   // end if: gzipped
+        }   // end if: bytes.length >= 2
+        
+        return bytes;
+    }   // end decode
+
+
+    
+
+    /**
+     * Attempts to decode Base64 data and deserialize a Java
+     * Object within. Returns <tt>null</tt> if there was an error.
+     *
+     * @param encodedObject The Base64 data to decode
+     * @return The decoded and deserialized object
+     * @since 1.5
+     */
+    public static Object decodeToObject( String encodedObject )
+    {
+        // Decode and gunzip if necessary
+        byte[] objBytes = decode( encodedObject );
+        
+        java.io.ByteArrayInputStream  bais = null;
+        java.io.ObjectInputStream     ois  = null;
+        Object obj = null;
+        
+        try
+        {
+            bais = new java.io.ByteArrayInputStream( objBytes );
+            ois  = new java.io.ObjectInputStream( bais );
+        
+            obj = ois.readObject();
+        }   // end try
+        catch( java.io.IOException e )
+        {
+            e.printStackTrace();
+            obj = null;
+        }   // end catch
+        catch( java.lang.ClassNotFoundException e )
+        {
+            e.printStackTrace();
+            obj = null;
+        }   // end catch
+        finally
+        {
+            try{ bais.close(); } catch( Exception e ){}
+            try{ ois.close();  } catch( Exception e ){}
+        }   // end finally
+        
+        return obj;
+    }   // end decodeObject
+    
+    
+    /* ********  I N N E R   C L A S S   I N P U T S T R E A M  ******** */
+    
+    
+    
+    /**
+     * It will read data from another
+     * {@link java.io.InputStream}, given in the constructor,
+     * and encode/decode to/from Base64 notation on the fly.
+     *
+     * @see Base64
+     * @see java.io.FilterInputStream
+     * @since 1.3
+     */
+    public static class InputStream extends java.io.FilterInputStream
+    {
+        private int     options;        // Options specified
+        private boolean encode;         // Encoding or decoding
+        private int     position;       // Current position in the buffer
+        private byte[]  buffer;         // Small buffer holding converted data
+        private int     bufferLength;   // Length of buffer (3 or 4)
+        private int     numSigBytes;    // Number of meaningful bytes in the buffer
+        private int     lineLength;
+        private boolean breakLines;     // Break lines at less than 80 characters
+        
+        
+        /**
+         * Constructs a InputStream in DECODE mode.
+         *
+         * @param in the {@link java.io.InputStream} from which to read data.
+         * @since 1.3
+         */
+        public InputStream( java.io.InputStream in )
+        {   
+            this( in, DECODE );
+        }   // end constructor
+        
+        
+        /**
+         * Constructs a InputStream in
+         * either ENCODE or DECODE mode.
+         * <p>
+         * Valid options:<pre>
+         *   ENCODE or DECODE: Encode or Decode as data is read.
+         *   DONT_BREAK_LINES: don't break lines at 76 characters
+         *     (only meaningful when encoding)
+         *     <i>Note: Technically, this makes your encoding non-compliant.</i>
+         * </pre>
+         * <p>
+         * Example: <code>new Base64.InputStream( in, Base64.DECODE )</code>
+         *
+         *
+         * @param in the {@link java.io.InputStream} from which to read data.
+         * @param options Specified options
+         * @see Base64#ENCODE
+         * @see Base64#DECODE
+         * @see Base64#DONT_BREAK_LINES
+         * @since 2.0
+         */
+        public InputStream( java.io.InputStream in, int options )
+        {   
+            super( in );
+            this.options      = options;
+            this.breakLines   = (options & DONT_BREAK_LINES) != DONT_BREAK_LINES;
+            this.encode       = (options & ENCODE) == ENCODE;
+            this.bufferLength = encode ? 4 : 3;
+            this.buffer   = new byte[ bufferLength ];
+            this.position = -1;
+            this.lineLength = 0;
+        }   // end constructor
+        
+        /**
+         * Reads enough of the input stream to convert
+         * to/from Base64 and returns the next byte.
+         *
+         * @return next byte
+         * @since 1.3
+         */
+        public int read() throws java.io.IOException 
+        { 
+            // Do we need to get data?
+            if( position < 0 )
+            {
+                if( encode )
+                {
+                    byte[] b3 = new byte[3];
+                    int numBinaryBytes = 0;
+                    for( int i = 0; i < 3; i++ )
+                    {
+                        try
+                        { 
+                            int b = in.read();
+                            
+                            // If end of stream, b is -1.
+                            if( b >= 0 )
+                            {
+                                b3[i] = (byte)b;
+                                numBinaryBytes++;
+                            }   // end if: not end of stream
+                            
+                        }   // end try: read
+                        catch( java.io.IOException e )
+                        {   
+                            // Only a problem if we got no data at all.
+                            if( i == 0 )
+                                throw e;
+                            
+                        }   // end catch
+                    }   // end for: each needed input byte
+                    
+                    if( numBinaryBytes > 0 )
+                    {
+                        encode3to4( b3, 0, numBinaryBytes, buffer, 0 );
+                        position = 0;
+                        numSigBytes = 4;
+                    }   // end if: got data
+                    else
+                    {
+                        return -1;
+                    }   // end else
+                }   // end if: encoding
+                
+                // Else decoding
+                else
+                {
+                    byte[] b4 = new byte[4];
+                    int i = 0;
+                    for( i = 0; i < 4; i++ )
+                    {
+                        // Read four "meaningful" bytes:
+                        int b = 0;
+                        do{ b = in.read(); }
+                        while( b >= 0 && DECODABET[ b & 0x7f ] <= WHITE_SPACE_ENC );
+                        
+                        if( b < 0 )
+                            break; // Reads a -1 if end of stream
+                        
+                        b4[i] = (byte)b;
+                    }   // end for: each needed input byte
+                    
+                    if( i == 4 )
+                    {
+                        numSigBytes = decode4to3( b4, 0, buffer, 0 );
+                        position = 0;
+                    }   // end if: got four characters
+                    else if( i == 0 ){
+                        return -1;
+                    }   // end else if: also padded correctly
+                    else
+                    {
+                        // Must have broken out from above.
+                        throw new java.io.IOException( "Improperly padded Base64 input." );
+                    }   // end 
+                    
+                }   // end else: decode
+            }   // end else: get data
+            
+            // Got data?
+            if( position >= 0 )
+            {
+                // End of relevant data?
+                if( /*!encode &&*/ position >= numSigBytes )
+                    return -1;
+                
+                if( encode && breakLines && lineLength >= MAX_LINE_LENGTH )
+                {
+                    lineLength = 0;
+                    return '\n';
+                }   // end if
+                else
+                {
+                    lineLength++;   // This isn't important when decoding
+                                    // but throwing an extra "if" seems
+                                    // just as wasteful.
+                    
+                    int b = buffer[ position++ ];
+
+                    if( position >= bufferLength )
+                        position = -1;
+
+                    return b & 0xFF; // This is how you "cast" a byte that's
+                                     // intended to be unsigned.
+                }   // end else
+            }   // end if: position >= 0
+            
+            // Else error
+            else
+            {   
+                // When JDK1.4 is more accepted, use an assertion here.
+                throw new java.io.IOException( "Error in Base64 code reading stream." );
+            }   // end else
+        }   // end read
+        
+        
+        /**
+         * Calls {@link #read} repeatedly until the end of stream
+         * is reached or <var>len</var> bytes are read.
+         * Returns number of bytes read into array or -1 if
+         * end of stream is encountered.
+         *
+         * @param dest array to hold values
+         * @param off offset for array
+         * @param len max number of bytes to read into array
+         * @return bytes read into array or -1 if end of stream is encountered.
+         * @since 1.3
+         */
+        public int read( byte[] dest, int off, int len ) throws java.io.IOException
+        {
+            int i;
+            int b;
+            for( i = 0; i < len; i++ )
+            {
+                b = read();
+                
+                //if( b < 0 && i == 0 )
+                //    return -1;
+                
+                if( b >= 0 )
+                    dest[off + i] = (byte)b;
+                else if( i == 0 )
+                    return -1;
+                else
+                    break; // Out of 'for' loop
+            }   // end for: each byte read
+            return i;
+        }   // end read
+        
+    }   // end inner class InputStream
+    
+    
+    
+    
+    
+    
+    /* ********  I N N E R   C L A S S   O U T P U T S T R E A M  ******** */
+    
+    
+    
+    /**
+     * A OutputStream will write data to another
+     * {@link java.io.OutputStream}, given in the constructor,
+     * and encode/decode to/from Base64 notation on the fly.
+     *
+     * @see Base64
+     * @see java.io.FilterOutputStream
+     * @since 1.3
+     */
+    public static class OutputStream extends java.io.FilterOutputStream
+    {
+        private int     options;
+        private boolean encode;
+        private int     position;
+        private byte[]  buffer;
+        private int     bufferLength;
+        private int     lineLength;
+        private boolean breakLines;
+        private byte[]  b4; // Scratch used in a few places
+        private boolean suspendEncoding;
+        
+        /**
+         * Constructs a OutputStream in ENCODE mode.
+         *
+         * @param out the {@link java.io.OutputStream} to which data will be written.
+         * @since 1.3
+         */
+        public OutputStream( java.io.OutputStream out )
+        {   
+            this( out, ENCODE );
+        }   // end constructor
+        
+        
+        /**
+         * Constructs a OutputStream in
+         * either ENCODE or DECODE mode.
+         * <p>
+         * Valid options:<pre>
+         *   ENCODE or DECODE: Encode or Decode as data is read.
+         *   DONT_BREAK_LINES: don't break lines at 76 characters
+         *     (only meaningful when encoding)
+         *     <i>Note: Technically, this makes your encoding non-compliant.</i>
+         * </pre>
+         * <p>
+         * Example: <code>new Base64.OutputStream( out, Base64.ENCODE )</code>
+         *
+         * @param out the {@link java.io.OutputStream} to which data will be written.
+         * @param options Specified options.
+         * @see Base64#ENCODE
+         * @see Base64#DECODE
+         * @see Base64#DONT_BREAK_LINES
+         * @since 1.3
+         */
+        public OutputStream( java.io.OutputStream out, int options )
+        {   
+            super( out );
+            this.options      = options;
+            this.breakLines   = (options & DONT_BREAK_LINES) != DONT_BREAK_LINES;
+            this.encode       = (options & ENCODE) == ENCODE;
+            this.bufferLength = encode ? 3 : 4;
+            this.buffer       = new byte[ bufferLength ];
+            this.position     = 0;
+            this.lineLength   = 0;
+            this.suspendEncoding = false;
+            this.b4           = new byte[4];
+        }   // end constructor
+        
+        
+        /**
+         * Writes the byte to the output stream after
+         * converting to/from Base64 notation.
+         * When encoding, bytes are buffered three
+         * at a time before the output stream actually
+         * gets a write() call.
+         * When decoding, bytes are buffered four
+         * at a time.
+         *
+         * @param theByte the byte to write
+         * @since 1.3
+         */
+        public void write(int theByte) throws java.io.IOException
+        {
+            // Encoding suspended?
+            if( suspendEncoding )
+            {
+                super.out.write( theByte );
+                return;
+            }   // end if: supsended
+            
+            // Encode?
+            if( encode )
+            {
+                buffer[ position++ ] = (byte)theByte;
+                if( position >= bufferLength )  // Enough to encode.
+                {
+                    out.write( encode3to4( b4, buffer, bufferLength ) );
+
+                    lineLength += 4;
+                    if( breakLines && lineLength >= MAX_LINE_LENGTH )
+                    {
+                        out.write( NEW_LINE );
+                        lineLength = 0;
+                    }   // end if: end of line
+
+                    position = 0;
+                }   // end if: enough to output
+            }   // end if: encoding
+
+            // Else, Decoding
+            else
+            {
+                // Meaningful Base64 character?
+                if( DECODABET[ theByte & 0x7f ] > WHITE_SPACE_ENC )
+                {
+                    buffer[ position++ ] = (byte)theByte;
+                    if( position >= bufferLength )  // Enough to output.
+                    {
+                        int len = Base64.decode4to3( buffer, 0, b4, 0 );
+                        out.write( b4, 0, len );
+                        //out.write( Base64.decode4to3( buffer ) );
+                        position = 0;
+                    }   // end if: enough to output
+                }   // end if: meaningful base64 character
+                else if( DECODABET[ theByte & 0x7f ] != WHITE_SPACE_ENC )
+                {
+                    throw new java.io.IOException( "Invalid character in Base64 data." );
+                }   // end else: not white space either
+            }   // end else: decoding
+        }   // end write
+        
+        
+        
+        /**
+         * Calls {@link #write} repeatedly until <var>len</var> 
+         * bytes are written.
+         *
+         * @param theBytes array from which to read bytes
+         * @param off offset for array
+         * @param len max number of bytes to read into array
+         * @since 1.3
+         */
+        public void write( byte[] theBytes, int off, int len ) throws java.io.IOException
+        {
+            // Encoding suspended?
+            if( suspendEncoding )
+            {
+                super.out.write( theBytes, off, len );
+                return;
+            }   // end if: supsended
+            
+            for( int i = 0; i < len; i++ )
+            {
+                write( theBytes[ off + i ] );
+            }   // end for: each byte written
+            
+        }   // end write
+        
+        
+        
+        /**
+         * Method added by PHIL. [Thanks, PHIL. -Rob]
+         * This pads the buffer without closing the stream.
+         */
+        public void flushBase64() throws java.io.IOException 
+        {
+            if( position > 0 )
+            {
+                if( encode )
+                {
+                    out.write( encode3to4( b4, buffer, position ) );
+                    position = 0;
+                }   // end if: encoding
+                else
+                {
+                    throw new java.io.IOException( "Base64 input not properly padded." );
+                }   // end else: decoding
+            }   // end if: buffer partially full
+
+        }   // end flush
+
+        
+        /** 
+         * Flushes and closes (I think, in the superclass) the stream. 
+         *
+         * @since 1.3
+         */
+        public void close() throws java.io.IOException
+        {
+            // 1. Ensure that pending characters are written
+            flushBase64();
+
+            // 2. Actually close the stream
+            // Base class both flushes and closes.
+            super.close();
+            
+            buffer = null;
+            out    = null;
+        }   // end close
+        
+        
+        
+        /**
+         * Suspends encoding of the stream.
+         * May be helpful if you need to embed a piece of
+         * base640-encoded data in a stream.
+         *
+         * @since 1.5.1
+         */
+        public void suspendEncoding() throws java.io.IOException 
+        {
+            flushBase64();
+            this.suspendEncoding = true;
+        }   // end suspendEncoding
+        
+        
+        /**
+         * Resumes encoding of the stream.
+         * May be helpful if you need to embed a piece of
+         * base640-encoded data in a stream.
+         *
+         * @since 1.5.1
+         */
+        public void resumeEncoding()
+        {
+            this.suspendEncoding = false;
+        }   // end resumeEncoding
+        
+        
+        
+    }   // end inner class OutputStream
+    
+    
+}   // end class Base64
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/CombineGraphs.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/CombineGraphs.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/CombineGraphs.java	(revision 21123)
@@ -0,0 +1,138 @@
+/** This class is not currently used and therefore will not be compiled by makegli. */
+
+package org.greenstone.gatherer.feedback;
+
+import java.io.*;
+import javax.imageio.*;
+import java.awt.*;
+import java.awt.image.*;
+import com.sun.image.codec.jpeg.*;
+import javax.swing.*;
+
+/**
+ *  CombineGraphs class is a class to combine 2 images file into 1 jpeg file
+ *  called test.jpg using point by point comparison.
+ *  <p>User need to supplied the valid exist filenames of the 2 images that 
+ *  they want to combine.If in any one point in 2nd image file is not transparent
+ *  then that point will be drawn to the 1st image file.</p>  
+ *  <p>To run this class properly the format is :
+ *  <br><i>java CombineGraphs filename1 filename2</i>
+ *  <br>where filename1 is the names of the first image file.
+ *  <br>and filename2 is the names of the second image file. This file must
+ *  contains transparent.</p>
+ *  <p>For example: If user wants to combine the screenshot image file with the
+ *  image file of the scribble lines, then
+ *  <br>filename1 will be the filename of the screenshot image file, and
+ *  <br>filename2 will be the filename of the scribble lines image file.</p>
+ *
+ *  @author Veronica Liesaputra
+ */
+
+public class CombineGraphs extends JPanel
+{
+    /**
+     * This is a variable to stored the image that is stored inside f1.
+     * After the combine method called this variable will store the resulted image of
+     * combining 2 images together.
+     */
+    private BufferedImage bi1;
+
+    /**
+     * This is a variable to stored the image that is stored inside f2.
+     */
+    private BufferedImage bi2;
+
+    /**
+     * This is a variable to stored the first image file that the user supplied.
+     */
+    private File f1;
+
+    /**
+     * This is a variable to stored the second image file that the user supplied.
+     */
+    private File f2;
+    
+    /**
+     * It will read the image files user supplied and stored the image
+     * to the appropriate bufferedimage variable.
+     * (Precondition: (file1 != null) && (file2 != null))
+     * @param file1   the name of the first image file.
+     * @param file2   the name of the second image file.
+     */
+    public CombineGraphs(String file1,String file2)
+    {
+	try
+	    {
+		f1 = new File(file1);
+		f2 = new File(file2);
+		bi1 = ImageIO.read(f1);
+		bi2 = ImageIO.read(f2);	
+	    }
+	catch(IOException exp) {}
+    }   
+
+    /**
+     * This method will combine the 2 buffered images into 1 buffered image and 
+     * saved it to an output file in jpeg format.
+     * (Precondition: (filename != null))
+     * @param filename the name of the output file.
+     * (Postcondition: the combined image is stored in a jpeg file with the name
+     *                 as specified in filename.)
+     */
+    public void combine(String filename)
+    {
+
+	/*using bi1 as the base layer that we use to compare point by point with bi2. 
+	  if in one point in bi2 its not transparent then we draw that point to bi1.*/ 
+	Graphics2D G1;
+	
+	G1 = bi1.createGraphics();
+	
+	int width = bi2.getWidth();
+	int height = bi2.getHeight();
+
+	for (int y = 0 ; y < height ; y++) 
+	    {
+		for (int x = 0 ; x < width ; x++)
+		    {
+			int rgb = bi2.getRGB(x,y);
+			if (rgb != 0)
+			    {
+				G1.setColor(new Color(rgb,true));
+				G1.drawLine(x,y,x,y);
+			    }
+		    }
+	    }
+	
+	// Save the combined bufferedimage into a jpeg output file.
+	try {
+	    File file = new File(filename);
+	    FileOutputStream out = new FileOutputStream(file);
+	    
+	    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
+	    JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi1);
+	    param.setQuality(1.0f, false);
+	    encoder.setJPEGEncodeParam(param);
+	    encoder.encode(bi1);
+	    
+	} catch (Exception ex) {}
+    }
+
+    /**
+     * This the main method that need 2 inputs from the user for it to
+     * work properly. 
+     * The inputs are the 2 image filenames that user want to combine.
+     */
+    public static void main (String[] args)
+    {
+	CombineGraphs cb = new CombineGraphs(args[0],args[1]);
+	cb.combine("test.jpg");
+    }
+}
+
+
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/CompGroup.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/CompGroup.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/CompGroup.java	(revision 21123)
@@ -0,0 +1,60 @@
+package org.greenstone.gatherer.feedback;
+
+import java.io.*;
+
+/**
+ * The instance of this class will hold a UserComponent and the status of the UserComponent.
+ * For each of the CompGroup instance will contains all the information and the status of
+ * a window that is opened by the application the user used.
+ * @author Veronica Liesaputra
+ */
+public class CompGroup implements Serializable
+{
+    /**
+     *  This variable will hold the status of the window that is opened by the application.
+     */
+    private String comp_status;
+
+    /**
+     *  This variable will hold the information about the window that is opened by the
+     *  application.
+     */
+    private UserComponent comp;
+
+    public CompGroup ()
+    {
+
+    }
+    
+    /**
+     *  It will make CompGroup instance that hold the information and status of the window
+     *  thats is opened by the application.
+     *  @param curr_comp  information about the window opened by the application.
+     *  @param curr_status status of the window opened by the application.
+     */
+    public CompGroup (UserComponent curr_comp,String curr_status)
+    {
+	comp_status = curr_status;
+	comp = curr_comp;
+    }
+    
+    /**
+     * This method will return the status of the window opened by the application.
+     * @return the status of the window.
+     */
+    public String getStatus ()
+    {
+	return comp_status;
+    }
+    
+    /**
+     * This method will return the information about the window opened by the application.
+     * @return the information about the window.
+     */
+    public UserComponent getComponent()
+    {
+	return comp;
+    }
+}
+
+  
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/CompListener.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/CompListener.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/CompListener.java	(revision 21123)
@@ -0,0 +1,944 @@
+package org.greenstone.gatherer.feedback;
+
+import org.omg.IOP.ComponentIdHelper;
+import java.awt.*;
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.tree.*;
+import javax.swing.table.*;
+import javax.swing.text.*;
+import java.awt.image.*;
+import javax.imageio.ImageIO;
+import javax.swing.plaf.*;
+import javax.swing.plaf.basic.*;
+import javax.swing.colorchooser.*;
+import java.awt.event.*;
+import javax.swing.event.*;
+import java.text.MessageFormat;
+import javax.swing.plaf.metal.MetalIconFactory.*;
+import javax.swing.plaf.metal.MetalIconFactory;
+import javax.swing.plaf.basic.BasicInternalFrameTitlePane;
+import javax.swing.plaf.metal.MetalInternalFrameTitlePane;
+
+/**
+ *  In general, this class will get add special listener 
+ *  to a Container and of all the components inside it.
+ *  <p>This class will also add special listener to the Container and each of the components inside 
+ *  the Container. So, it will allows special listener  to record and listen each of the actions 
+ *  the user do to the Container or any of the components inside it. The special listener
+ *  is an instance of ActionRecorderDialog.</p>
+ *  <p>This class will only recognized all the components that is belongs to the javax.swing package
+ *  which are all the implementing classes of RootPaneContainer interface and all the direct known
+ *  subclasses of JComponent. All the other components will be stated simply as Container 
+ *  and user cannot really get much information out of it.</p>
+ *  <p>The added special listener to this component is as what its allowed in API, if the component
+ *  have some modified listener added to it then that action will not be known and recorded by
+ *  the special listener.</p>
+ *  
+ *  @author Veronica Liesaputra
+ */
+public class CompListener
+{
+    /**
+     *  This variable will hold the special listener that will listen and record any of the 
+     *  actions user do to the Container and any of the components inside it.
+     */
+    private ActionRecorderDialog m;
+   
+    /**
+     *  This variable will hold the pair of the component and the model of the component.
+     *  With this variable allows ActionRecorderDialog listener to know which component the model that fires an action
+     *  belongs to. In this HashMap the model is the key and the component where the model belongs to is
+     *  the value. 
+     */
+    private HashMap hash;
+    
+    /**
+     *  This constructor will set the special listener, the locale and the hashmap to be used in
+     *  this Container.
+     *  (Precondition: dialog != null)
+     *  @param dialog  its the special listener that will listen and record all the action
+     *                 user do to any of the component inside the Container.
+     *  @param h       its the HashMap that will hold the pair of model with the component it belongs.
+     */
+    public CompListener 
+	(ActionRecorderDialog dialog,HashMap h)
+    {
+	m = dialog;
+	hash = h;
+    }
+	
+    /**
+     *  If the JTextComponent is a JTextField then it will add the special action listener to it.
+     *  (Precondition: txt != null)
+     *  @param txt its the JTextComponent we want to get all the information from.
+     */
+    public void getTextAreaInfo(JTextComponent txt)
+    {
+	if (txt instanceof JTextField)
+	    {
+		((JTextField)txt).removeActionListener(m);
+		((JTextField)txt).addActionListener(m);
+	    }
+    }
+
+    /**
+     *  This method will add the special action listener to the JButton.
+     *  (Precondition: button != null)
+     *  @param button its the JButton we want to get the information from.
+     */
+    public void getButtonInfo (JButton button)
+    {
+	button.removeActionListener(m);
+	button.addActionListener(m);
+    }
+
+     /**
+     *  This method will get add the special change listener to the JProgressBar.
+     *  (Precondition: bar != null)
+     *  @param  bar   its the JProgressBar we want to get information from.
+     */
+    public void getProgressBarInfo (JProgressBar bar)
+    {
+	bar.removeChangeListener(m);
+	bar.addChangeListener(m);
+    }
+    
+    /**
+     *  This method will add the special change listener to the JSlider.
+     *  (Precondition: slider != null)
+     *  @param  slider its the JSlider we want to get information from.
+     */
+    public void getSliderInfo (JSlider slider)
+    {
+	slider.removeChangeListener(m);
+	slider.addChangeListener(m);
+    }
+
+    /**
+     *  This method will add the special change listener to the JSpinner.
+     *  (Precondition: spinner != null)
+     *  @param spinner its the JSpinner we want to the information from.
+     */
+    public void getSpinnerInfo (JSpinner spinner)
+    {
+	spinner.removeChangeListener(m);
+	spinner.addChangeListener(m);
+    }
+    
+    /**
+     * Dummy method to get JLabel.
+     */
+    public void getLabelInfo(JLabel lbl)
+    {}
+    
+    /**
+     *  This method will add the special action listener to the JComboBox.
+     *  (Precondition: box != null)
+     *  @param box    its the JComboBox we want to get information from.
+     */
+    public void getComboBoxInfo(JComboBox box)
+    {
+	ComboBoxModel cm;
+	cm = box.getModel();
+
+	box.removeActionListener(m);
+	box.addActionListener(m);
+    }
+
+    /**
+     *  This method will add the special action listener to the JToggleButton.
+     *  (Precondition: button != null)
+     *  @param button its a JToggleButton inside the window.
+     */
+    public void getToggleButtonInfo (JToggleButton button)
+    {
+	button.removeActionListener(m);
+	button.addActionListener(m);
+    }
+
+    /**
+     *  This method will add the special action listener to the JMenuItem.
+     *  (Precondition: menuitem != null)
+     *  @param menuitem its the JMenuItem we want to get the information from.
+     */
+    public void getMenuItemInfo (JMenuItem menuitem)
+    {
+	menuitem.removeActionListener(m);
+	menuitem.addActionListener(m);
+    }
+
+    /**
+     *  This method will get all the components inside JMenuBar.
+     *  (Precondition: menubar != null)
+     *  @param menubar its the JMenuBar we want to get the information from.
+     */
+    public void getMenuBarInfo (JMenuBar menubar)
+    {
+	int i;
+	for (i= 0 ; i < menubar.getMenuCount() ; i++)
+	    {
+		getInside(menubar.getMenu(i));
+	    }
+    }
+
+    /**
+     *  This method will add the special action and menu listener to the JMenu and
+     *  get the components inside JMenu.
+     *  (Precondition: menu != null)
+     *  @param menu   its the JMenu we want to the the information from.
+     */
+    public void getMenuInfo (JMenu menu)
+    {
+	menu.removeActionListener(m);
+	menu.removeMenuListener(m);
+	menu.addActionListener(m);
+	menu.addMenuListener(m);
+
+	int i;
+	for (i= 0 ; i < menu.getMenuComponentCount() ; i++)
+	    {
+		getInside((Container)menu.getMenuComponent(i));
+	    }
+    }
+    
+    /**
+     *  This method will get all the components inside the JApplet.
+     *  (Precondition: applet != null)
+     *  @param applet its the JApplet we want to get the information from.
+     */
+    public void getAppletInfo (JApplet applet)
+    {
+	Component[] group;
+	group = applet.getComponents();
+	int i;
+
+	if (group != null)
+	    {
+		for (i = 0; i < group.length ; i++)
+		    {
+			getInside((Container)applet.getComponent(i));
+		    }
+	    }
+    }
+
+    /**
+     *  This method will get all the components inside the JWindow.
+     *  (Precondition: window != null)
+     *  @param window its the JWindow we want to get the information from.
+     */
+    public void getWindowInfo (JWindow window)
+    {
+	Component[] group;
+	group = window.getComponents();
+	int i;
+
+	if (group != null)
+	    {
+		for (i = 0; i < group.length ; i++)
+		    {
+			getInside((Container)window.getComponent(i));
+		    }
+	    }
+    }
+
+    /**
+     *  This method will get all the components inside the JDialog.
+     *  (Precondition: dialog != null)
+     *  @param dialog its the JDialog we want to get the information from.
+     */
+    public void getDialogInfo (JDialog dialog)
+    {
+	Component[] group;
+	group = dialog.getComponents();
+	int i;
+
+	if (group != null)
+	    {
+		for (i = 0; i < group.length ; i++)
+		    {
+			getInside((Container)dialog.getComponent(i));
+		    }
+	    }
+    }
+
+    /**
+     *  This method will get all the components inside the JInternalFrame.
+     *  (Precondition: frame != null)
+     *  @param frame  its the JInternalFrame we want to get the information from.
+     */
+    public void getInternalFrameInfo (JInternalFrame frame)
+    {
+	Component[] group;
+	group = frame.getComponents();
+	int i;
+
+	if (group != null)
+	    {
+		for (i = 0; i < group.length ; i++)
+		    {
+			getInside((Container)frame.getComponent(i));
+		    }
+	    }
+    }
+
+    /**
+     *  This method will get all the components inside the JFrame.
+     *  (Precondition: frame != null)
+     *  @param frame  its the JFrame we want to get the information from.
+     */
+    public void getFrameInfo (JFrame frame)
+    {
+	Component[] group;
+	group = frame.getComponents();
+	int i;
+	
+	if (group != null)
+	    {
+		for (i = 0; i < group.length ; i++)
+		    {
+			getInside((Container)frame.getComponent(i));
+		    }
+	    }
+    }
+
+    /**
+     *  This method will get all the components inside the JPanel.
+     *  (Precondition: pane != null)
+     *  @param pane   its the JPanel we want to get the information from.
+     */
+    public void getPanelInfo (JPanel pane)
+    {
+	Component[] group;
+	group = pane.getComponents();
+	int i;
+
+	if (group != null)
+	    {
+		for (i = 0; i < group.length ; i++)
+		    {
+			getInside((Container)pane.getComponent(i));
+		    }
+	    }
+    }
+    
+    /**
+     *  This method will get all the components inside the JScrollPane.
+     *  (Precondition: scroll != null)
+     *  @param scroll its the JScrollPane we want to get the information from.
+     */
+    public void getScrollInfo (JScrollPane scroll)
+    {
+	Component[] group;
+	group = scroll.getComponents();
+	int i;
+	
+	if (group != null)
+	    {
+		for (i = 0; i < group.length ; i++)
+		    {
+			getInside((Container)group[i]);
+		    }
+	    }
+    }
+
+    /**
+     *  This method will add special change listener to the JTabbedPane and get all
+     *  the components inside it.
+     *  (Precondition: tab != null)
+     *  @param tab   its the JTabbedPane we want to get the information from.
+     */
+    public void getTabbedPaneInfo (JTabbedPane tab)
+    {
+	int j;
+	
+	tab.removeChangeListener(m);
+	tab.addChangeListener(m);
+
+	for (j = 0 ; j < tab.getTabCount(); j++)
+	    {	
+		
+		Component group = tab.getComponentAt(j);
+		getInside((Container)group);
+		
+	    }
+    }
+    
+    /**
+     *  This is the dummy method to ge the option pane info.
+     */
+    public void getOptionPaneInfo (JOptionPane op)
+    {}
+
+    /**
+     *  This method will get components inside the JViewPort.
+     *  (Precondition: vp != null)
+     *  @param vp   its the JViewPort we want to get the information from.
+     */
+    public void getViewPortInfo (JViewport vp)
+    {
+	Component[] group;
+	group = vp.getComponents();
+	int i;
+
+	if (group != null)
+	    {
+		for (i = 0; i < group.length ; i++)
+		    {
+			getInside((Container)group[i]);
+		    }
+	    }
+    }
+
+    /**
+     *  This method will get components inside the Box.
+     *  (Precondition: box != null)
+     *  @param box  its the Box we want to get the information from.
+     */
+    public void getBoxInfo (Box box)
+    {
+	Component[] group;
+	group = box.getComponents();
+	int i;
+
+	if (group != null)
+	    {
+		for (i = 0; i < group.length ; i++)
+		    {
+			getInside((Container)group[i]);
+		    }
+	    }
+    }
+
+    /**
+     *  This method will get components inside the JSplitPane.
+     *  (Precondition: split != null)
+     *  @param split  its the JSplitPane we want to get the information from.
+     */
+    public void getSplitPaneInfo (JSplitPane split)
+    {
+	Component[] group;
+	group = split.getComponents();
+	int i;
+
+	if (group != null)
+	    {
+		for (i = 0; i < group.length ; i++)
+		    {
+			getInside((Container)group[i]);
+		    }
+	    }
+    }
+
+    /**
+     *  This method will get add special list selection listener to the JList.
+     *  (Precondition: list != null)
+     *  @param list  its the JList we want to get the information from.
+     */
+    public void getListInfo (JList list)
+    {
+	ListModel ls;
+	ls = list.getModel();
+	
+	list.removeListSelectionListener(m);
+	list.addListSelectionListener(m);
+	
+	if (ls != null)
+	    {
+		if (hash.containsKey(ls) == false)
+		    hash.put(ls,list);
+		ls.removeListDataListener(m);
+		ls.addListDataListener(m);
+	    }
+    }
+
+    /**
+     *  This method will add special change listener to the JColorChooser.
+     *  (Precondition: color != null)
+     *  @param color  its the JColorChooser we want to get the information from.
+     */
+    public void getColorInfo (JColorChooser color)
+    {
+	ColorSelectionModel cm;
+	cm = color.getSelectionModel();
+	
+	if (cm != null)
+	    {
+		if (hash.containsKey(cm) == false)
+		    hash.put(cm,color);
+		cm.removeChangeListener(m);
+		cm.addChangeListener(m);
+	    }
+
+	getInside((Container) color.getPreviewPanel());
+    }
+
+    /**
+     *  This method will add special action listener to the JFileChooser.
+     *  (Precondition: fc != null)
+     *  @param fc  its the JFileChooser we want to get the information from.
+     */
+    public void getFileChooserInfo (JFileChooser fc)
+    {
+	fc.removeActionListener(m);
+	fc.addActionListener(m);
+    }		
+
+    /**
+     *  This method will add special list selection and column model listener 
+     *  to the JTable.
+     *  (Precondition: table != null)
+     *  @param table  its the JTable we want to get the information from.
+     */
+    public void getTableInfo (JTable table)
+    {
+	TableModel tm;
+	tm = table.getModel();
+	
+	TableColumnModel tcm;
+	tcm = table.getColumnModel();
+	ListSelectionModel lm;
+	lm = table.getSelectionModel(); 
+
+	if (lm != null)
+	    {
+		if (hash.containsKey(lm) == false)
+		    hash.put(lm,table);
+		lm.removeListSelectionListener(m);
+		lm.addListSelectionListener(m);
+	    }
+	
+	if (tcm != null)
+	    {
+		if (hash.containsKey(tcm) == false)
+		    hash.put(tcm,table);
+		tcm.removeColumnModelListener(m);
+		tcm.addColumnModelListener(m);
+	    }
+    }
+
+    /**
+     *  This is a dummy method to get the JScrollBar.
+     */
+    public void getScrollBarInfo (JScrollBar scroll)
+    {
+    }
+
+    /**
+     *  This method will add special tree selection listener to the JTree.
+     *  (Precondition: tree != null)
+     *  @param tree  its the JTree we want to get the information from.
+     */
+    public void getTreeInfo (JTree tree)
+    {
+	TreeModel tm;
+	tm = tree.getModel();
+	
+	tree.removeTreeSelectionListener(m);
+	tree.addTreeSelectionListener(m);
+	
+	if (tm != null)
+	    {
+		if (hash.containsKey(tm) == false)
+		    hash.put(tm,tree);
+		tm.removeTreeModelListener(m);
+		tm.addTreeModelListener(m);
+	    }
+    }
+       
+    /**
+     *  This method is a dummy method to get Container.
+     */
+    public void getCompInfo (Container pane)
+    {
+    }
+
+    /**
+     *  This method will get all components inside the JPopupMenu.
+     *  (Precondition: popup != null)
+     *  @param popup  its the JPopUpMenu we want to get the information from.
+     */
+    public void getPopUpMenuInfo (JPopupMenu popup)
+    {
+	Component[] group;
+	group = popup.getComponents();
+	SingleSelectionModel sm;
+	sm = popup.getSelectionModel();
+	int i;
+
+	if (group != null)
+	    {
+		for (i = 0; i < group.length ; i++)
+		    {
+			getInside((Container)popup.getComponent(i));
+		    }
+	    }
+    }
+
+    /**
+     *  This method will get all the components inside the JRootPane.
+     *  (Precondition: pane != null)
+     *  @param pane  its the JRootPane we want to get the information from.
+     */
+    public void getRootPaneInfo (JRootPane pane)
+    {
+	Component[] group;
+	group = pane.getComponents();
+	int i;
+	
+	if (group != null)
+	    {
+		for (i = 0; i < group.length ; i++)
+		    {
+			
+			getInside((Container)pane.getComponent(i));
+		    }
+	    }
+    }
+
+    /**
+     *  This method will get all the components inside the JLayeredPane.
+     *  (Precondition: pane != null)
+     *  @param pane  its the JLayeredPane we want to get the information from.
+     */
+    public void getLayeredPaneInfo (JLayeredPane pane)
+    {
+	Component[] group;
+	group = pane.getComponents();
+	int i;
+	
+	if (group != null)
+	    {
+		for (i = 0; i < group.length ; i++)
+		    {
+			getInside((Container)pane.getComponent(i));
+		    }
+	    }
+    }
+
+    /**
+     * This is a dummy method to get BasicInternalFrameTitlePane.
+     */
+    public void getInternalFrameTitleInfo (BasicInternalFrameTitlePane pane)
+    {
+    }
+
+    /**
+     *  This method will add special column model and list selection
+     *  listener to JTableHeader.
+     *  (Precondition: header != null)
+     *  @param header  its the JTableHeader we want to get the information from.
+     */
+    public void getTableHeaderInfo (JTableHeader header)
+    {
+	TableColumnModel tcm;
+	tcm = header.getColumnModel();
+	ListSelectionModel lm;
+	lm = tcm.getSelectionModel();
+
+	if (tcm != null)
+	    {
+		if (hash.containsKey(tcm) == false)
+		    hash.put(tcm,header);
+		tcm.removeColumnModelListener(m);
+		tcm.addColumnModelListener(m);
+	    }
+
+	if (lm != null)
+	    {
+		if (hash.containsKey(lm) == false)
+		    hash.put(lm,header);
+		lm.removeListSelectionListener(m);
+		lm.addListSelectionListener(m);
+	    }
+    }
+
+    /**
+     *  This method will get all components inside the JToolBar.
+     *  (Precondition: tool != null)
+     *  @param tool  its the JToolBar we want to get the information from.
+     */
+    public void getToolBarInfo (JToolBar tool)
+    {
+	Component[] group;
+	group = tool.getComponents();
+	int i;
+	
+	if (group != null)
+	    {
+		for (i = 0; i < group.length ; i++)
+		    {
+			getInside((Container)tool.getComponent(i));
+		    }
+	    }
+    }
+
+    /**
+     *  This method will get all the components inside the JToolTip.
+     *  (Precondition: tip != null)
+     *  @param tip  its the JToolTip we want to get the information from.
+     */
+    public void getToolTipInfo (JToolTip tip)
+    {
+	Component group;
+	group = tip.getComponent();
+	int i;
+	
+	if (group != null)
+	    {
+		getInside((Container) group);
+	    }
+    }
+
+    /**
+     *  This is the dummy method to get JSeparator.
+     */
+    public void getSeparatorInfo (JSeparator sept)
+    {
+    }
+
+    /**
+     *  This method will get all the components inside the JDesktopPane.
+     *  (Precondition: pane != null)
+     *  @param pane  its the JDesktopPane we want to get the information from.
+     */
+    public void getDesktopPaneInfo (JDesktopPane pane)
+    {
+	JInternalFrame[]  group;
+	group = pane.getAllFrames();
+
+	if (group != null)
+	    {
+		int i;
+		
+		for ( i = 0 ; i < group.length ; i++ )
+		    {
+			getInside((Container) group[i]);
+		    }
+	    }
+    }
+
+    /**
+     *  This is a dummy method to catch null components.
+     */
+    public void getNullInfo ()
+    {
+    }
+
+    /**
+     *  This method will add a special listener to a container and components inside it.
+     *  This method is the gateway to all other methods in this class.
+     *  @param comp its the Container we want to get the information from.
+     */
+    public void getInside(Container comp)
+    {
+	if (comp == null)
+	    {
+		getNullInfo();
+		return;
+	    }
+	else if (comp instanceof JApplet)
+	    {
+		getAppletInfo ((JApplet) comp);
+		return;
+	    }
+	else if (comp instanceof JSeparator)
+	    {
+		getSeparatorInfo ((JSeparator) comp);
+		return;
+	    }
+	else if (comp instanceof JWindow)
+	    {
+		getWindowInfo((JWindow) comp);
+		return;
+	    }
+	else if (comp instanceof JDialog)
+	    {
+		getDialogInfo((JDialog) comp);
+		return;
+	    }
+	else if (comp instanceof JComboBox)
+	    {
+		getComboBoxInfo((JComboBox) comp);
+		return;
+	    }
+	else if (comp instanceof JLabel)
+	    {
+		getLabelInfo((JLabel) comp);
+		return;
+	    }
+	else if (comp instanceof JTextComponent)
+	    {
+		getTextAreaInfo((JTextComponent) comp);
+		return;
+	    }
+	else if (comp instanceof JFrame)
+	    {
+		getFrameInfo((JFrame) comp);
+		return;
+	    }
+	else if (comp instanceof JPanel)
+	    {
+		getPanelInfo((JPanel) comp);
+		return;
+	    }
+	else if (comp instanceof JScrollPane)
+	    {
+		getScrollInfo((JScrollPane) comp);
+		return;
+	    }
+	else if (comp instanceof JScrollBar)
+	    {
+		getScrollBarInfo ((JScrollBar) comp);
+		return;
+	    }
+	else if (comp instanceof JViewport)
+	    {
+		getViewPortInfo((JViewport) comp);
+		return;
+	    }
+	else if (comp instanceof JTabbedPane)
+	    {
+		getTabbedPaneInfo((JTabbedPane) comp);
+		return;
+	    }
+	else if (comp instanceof Box)
+	    {
+		getBoxInfo((Box) comp);
+		return;
+	    }
+	else if (comp instanceof JToggleButton)
+	    {
+		getToggleButtonInfo((JToggleButton) comp);
+		return;
+	    }
+	else if (comp instanceof JSplitPane)
+	    {
+		getSplitPaneInfo ((JSplitPane) comp);
+		return;
+	    }
+	else if (comp instanceof JList)
+	    {
+		getListInfo ((JList) comp);
+		return;
+	    }
+	else if (comp instanceof JTree)
+	    {
+		getTreeInfo ((JTree) comp);
+		return;
+	    }
+	else if (comp instanceof JTable)
+	    {
+		getTableInfo ((JTable) comp);
+		return;
+	    }
+	else if (comp instanceof JSlider)
+	    {
+		getSliderInfo ((JSlider) comp);
+		return;
+	    }
+	else if (comp instanceof JSpinner)
+	    {
+		getSpinnerInfo ((JSpinner) comp);
+		return;
+	    }
+	else if (comp instanceof JProgressBar)
+	    {
+		getProgressBarInfo ((JProgressBar) comp);
+		return;
+	    }
+	else if (comp instanceof JButton)
+	    {
+		getButtonInfo ((JButton) comp);
+		return;
+	    }
+	else if (comp instanceof JMenu)
+	    {
+		getMenuInfo ((JMenu) comp);
+		return;
+	    }
+	else if (comp instanceof JMenuBar)
+	    {
+		getMenuBarInfo ((JMenuBar) comp);
+		return;
+	    }
+	else if (comp instanceof JMenuItem)
+	    {
+		getMenuItemInfo ((JMenuItem) comp);
+		return;
+	    }
+	else if (comp instanceof JOptionPane)
+	    {
+		getOptionPaneInfo ((JOptionPane) comp);
+		return;
+	    }
+	else if (comp instanceof BasicInternalFrameTitlePane)
+	    {
+		getInternalFrameTitleInfo ((BasicInternalFrameTitlePane) comp);
+		return;
+	    }
+	else if (comp instanceof JColorChooser)
+	    {
+		getColorInfo ((JColorChooser) comp);
+		return;
+	    }
+	else if (comp instanceof JFileChooser)
+	    {
+		getFileChooserInfo ((JFileChooser) comp);
+		return;
+	    }
+	else if (comp instanceof JDesktopPane)
+	    {
+		getDesktopPaneInfo ((JDesktopPane) comp);
+		return;
+	    }
+	else if (comp instanceof JInternalFrame)
+	    {
+		getInternalFrameInfo ((JInternalFrame) comp);
+		return;
+	    }
+	else if (comp instanceof JLayeredPane)
+	    {
+		getLayeredPaneInfo ((JLayeredPane) comp);
+		return;
+	    }
+	else if (comp instanceof JPopupMenu)
+	    {
+		getPopUpMenuInfo ((JPopupMenu) comp);
+		return;
+	    }
+	else if (comp instanceof JRootPane)
+	    {
+		getRootPaneInfo ((JRootPane) comp);
+		return;
+	    }
+	else if (comp instanceof JTableHeader)
+	    {
+		getTableHeaderInfo ((JTableHeader) comp);
+		return;
+	    }
+	else if (comp instanceof JToolBar)
+	    {
+		getToolBarInfo ((JToolBar) comp);
+		return;
+	    }
+	else if (comp instanceof JToolTip)
+	    {
+		getToolTipInfo ((JToolTip) comp);
+		return;
+	    }
+	else
+	    {
+		getCompInfo (comp);
+		return;
+	    }
+    }
+}
+
+
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/ComponentInformation.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/ComponentInformation.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/ComponentInformation.java	(revision 21123)
@@ -0,0 +1,2261 @@
+package org.greenstone.gatherer.feedback;
+
+import org.omg.IOP.ComponentIdHelper;
+import java.awt.*;
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.tree.*;
+import javax.swing.table.*;
+import javax.swing.text.*;
+import java.awt.image.*;
+import javax.imageio.ImageIO;
+import javax.swing.plaf.*;
+import javax.swing.plaf.basic.*;
+import javax.swing.colorchooser.*;
+import java.awt.event.*;
+import javax.swing.event.*;
+import java.util.Locale;
+import java.util.ResourceBundle;
+import java.text.MessageFormat;
+import javax.swing.plaf.metal.MetalIconFactory.*;
+import javax.swing.plaf.metal.MetalIconFactory;
+import javax.swing.plaf.basic.BasicInternalFrameTitlePane;
+import javax.swing.plaf.metal.MetalInternalFrameTitlePane;
+
+/**
+ *  In general, this class will get all information and add special listener 
+ *  to a Container and of all the components inside it.
+ *  <p>This class will get the information about the Container and all the components inside it.
+ *  The information we get is like whether or not the component is visible and the contents of it.
+ *  This class will also add special listener to the Container and each of the components inside 
+ *  the Container. So, it will allows special listener  to record and listen each of the actions 
+ *  the user do to the Container or any of the components inside it. The special listener
+ *  is an instance of ActionRecorderDialog.</p>
+ *  <p>This class will only recognized all the components that is belongs to the javax.swing package
+ *  which are all the implementing classes of RootPaneContainer interface and all the direct known
+ *  subclasses of JComponent. All the other components will be stated simply as Container 
+ *  and user cannot really get much information out of it.</p>
+ *  <p>The added special listener to this component is as what its allowed in API, if the component
+ *  have some modified listener added to it then that action will not be known and recorded by
+ *  the special listener.</p>
+ *  
+ *  @author Veronica Liesaputra
+ */
+public class ComponentInformation
+{
+    /**
+     *  This variable will hold the special listener that will listen and record any of the 
+     *  actions user do to the Container and any of the components inside it.
+     */
+    private ActionRecorderDialog m;
+    
+    /**
+     *  This variable will hold the resource of the words that is stored in Messages.properties file. 
+     *  The calling using messages.getString(someString) will caused someString to be translated
+     *  into some other string that is hold in that file.usually it will caused it to be translated
+     *  to the language that the user use or choose to have as stated in Locale.
+     */
+    private static ResourceBundle messages;
+
+    /**
+     *  This variable will hold the pair of the component and the model of the component.
+     *  With this variable allows ActionRecorderDialog listener to know which component the model that fires an action
+     *  belongs to. In this HashMap the model is the key and the component where the model belongs to is
+     *  the value. 
+     */
+    private HashMap hash;
+    
+    /**
+     *  This constructor will set the special listener, the locale and the hashmap to be used in
+     *  this Container.
+     *  (Precondition: dialog != null)
+     *  @param dialog  its the special listener that will listen and record all the action
+     *                 user do to any of the component inside the Container.
+     *  @param currentLocale its the locale that the user choose all the information to be displayed as.
+     *  @param h       its the HashMap that will hold the pair of model with the component it belongs.
+     */
+    public ComponentInformation 
+	(ActionRecorderDialog dialog,Locale currentLocale,HashMap h)
+    {
+	m = dialog;
+	hash = h;
+	messages = ResourceBundle.getBundle("feedback", currentLocale);
+    }
+	
+    /**
+     *  This method will get all information about the JTextComponent.
+     *  If the JTextComponent is a JTextField then it will add the special action listener to it.
+     *  (Precondition: txt != null)
+     *  @param txt its the JTextComponent we want to get all the information from.
+     *  @return    a UserComponent that hold the information about this
+     *             JTextComponent.
+     */
+    public  UserComponent getTextAreaInfo(JTextComponent txt)
+    {
+	UserComponent file;
+	file = new UserComponent(); 
+	String text;
+	text = txt.getText();
+
+	file.startContent(1);
+	if (txt instanceof JTextArea)
+	    file.saveContent("JTextArea");
+	else if (txt instanceof JTextPane)
+	    file.saveContent("JTextPane");
+	else if (txt instanceof JEditorPane)
+	    file.saveContent("JEditorPane");
+	else if (txt instanceof JTextField)
+	    {
+		((JTextField)txt).removeActionListener(m);
+		((JTextField)txt).addActionListener(m);
+		
+		if (txt instanceof JFormattedTextField)
+		    {
+			file.saveContent("JFormattedTextField");
+		    }
+		else if (txt instanceof JPasswordField)
+		    {
+			file.saveContent("JPasswordField");
+		    }
+		else
+		    {
+			file.saveContent("JTextField");
+		    }
+	    }
+
+	file.startContent(2);
+	file.saveContent(messages.getString("TextComponent"));
+	
+	file.startContent(3);
+	if (text != null)
+	    file.saveContent(text);
+	else
+	    file.saveContent(" ");
+	
+	file.startContent(4);
+	file.saveContent(txt.getSelectedText());
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" + txt.isVisible()));
+
+	file.startContent(7);
+	file.saveContent(txt.getToolTipText());
+	
+	return file;
+    }
+
+    /**
+     *  This method will get all the information and add the special action listener to the JButton.
+     *  (Precondition: button != null)
+     *  @param button its the JButton we want to get the information from.
+     *  @return       a UserComponent that will hold the information about this JButton.
+     */
+    public UserComponent getButtonInfo (JButton button)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	String text;
+	text = button.getText();
+
+	button.removeActionListener(m);
+	button.addActionListener(m);
+
+	file.startContent(1);
+	file.saveContent("JButton");
+
+	file.startContent(2);
+	file.saveContent(messages.getString("Button"));
+	
+	file.startContent(3);
+	if (text != null)
+	    file.saveContent(text);
+	else
+	    file.saveContent(" ");
+
+	file.startContent(4);
+	file.saveContent(messages.getString("" + button.isSelected()));
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" + button.isVisible()));
+	
+	file.startContent(6);
+	Icon img = button.getIcon();
+	if (img != null)
+	    {
+		file.saveImage(img,messages.getString("icon")+img.hashCode()+".jpg");
+	    }
+	else
+	    {
+		file.saveContent(messages.getString("NoImage"));
+	    }
+
+	file.startContent(7);
+	file.saveContent(button.getToolTipText());
+
+	return file;
+    }
+
+     /**
+     *  This method will get all the information and add the special change listener to the JProgressBar.
+     *  (Precondition: bar != null)
+     *  @param  bar   its the JProgressBar we want to get information from.
+     *  @return       a UserComponent that will hold the information about this JProgressBar.
+     */
+    public UserComponent getProgressBarInfo (JProgressBar bar)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	String text;
+	text = bar.getString();
+
+	bar.removeChangeListener(m);
+	bar.addChangeListener(m);
+	
+	file.startContent(1);
+	file.saveContent("JProgressBar");
+
+	file.startContent(2);
+	file.saveContent(messages.getString("ProgressBar"));
+	
+	file.startContent(3);
+	if (text != null)
+	    file.saveContent(text);
+	else
+	    file.saveContent(" ");
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" + bar.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(bar.getToolTipText());
+
+	return file;
+    }
+    
+    /**
+     *  This method will get all the information and add the special change listener to the JSlider.
+     *  (Precondition: slider != null)
+     *  @param  slider its the JSlider we want to get information from.
+     *  @return        a UserComponent that will hold the information about this JSlider.
+     */
+    public UserComponent getSliderInfo (JSlider slider)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	String text;
+	text = "" + slider.getValue();
+	
+	slider.removeChangeListener(m);
+	slider.addChangeListener(m);
+
+	file.startContent(1);
+	file.saveContent("JSlider");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("Slider"));
+	
+	file.startContent(3);
+	if (text != null)
+	    file.saveContent(text);
+	else
+	    file.saveContent(" ");
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" + slider.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(slider.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information and add the special change listener to the JSpinner.
+     *  (Precondition: spinner != null)
+     *  @param spinner its the JSpinner we want to the information from.
+     *  @return        a UserComponent that will hold the information about this JSpinner.
+     */
+    public UserComponent getSpinnerInfo (JSpinner spinner)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	String text;
+	text = "" + spinner.getValue();
+	
+	spinner.removeChangeListener(m);
+	spinner.addChangeListener(m);
+
+	file.startContent(1);
+	file.saveContent("JSpinner");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("Spinner"));
+	
+	file.startContent(3);
+	if (text != null)
+	    file.saveContent(text);
+	else
+	    file.saveContent(" ");
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" + spinner.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(spinner.getToolTipText());
+
+	return file;
+    }
+    
+    /**
+     *  This method will get all the information of  the JLabel.
+     *  (Precondition: lbl != null)
+     *  @param lbl    its the JLabel we want to get information from.
+     *  @return       a UserComponent that will hold the information about this JLabel.
+     */
+    public UserComponent getLabelInfo(JLabel lbl)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	String text;
+	text = lbl.getText();
+
+	file.startContent(1);
+	file.saveContent("JLabel");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("Label"));
+	
+	file.startContent(3);
+	if (text != null)
+	    file.saveContent(text);
+	else
+	    file.saveContent(" ");
+	
+	file.startContent(5);
+	file.saveContent(messages.getString("" + lbl.isVisible()));
+
+	file.startContent(6);
+	Icon img = lbl.getIcon();
+	if (img != null)
+	    {
+		file.saveImage(img,messages.getString("icon")+img.hashCode()+".jpg");
+	    }
+	else
+	    {
+		file.saveContent(messages.getString("NoImage"));
+	    }
+	
+	file.startContent(7);
+	file.saveContent(lbl.getToolTipText());
+
+	return file;
+    }
+    
+    /**
+     *  This method will get all the information and add the special action listener to the JComboBox.
+     *  (Precondition: box != null)
+     *  @param box    its the JComboBox we want to get information from.
+     *  @return       a UserComponent that will hold the information about this JComboBox.
+     */
+    public  UserComponent getComboBoxInfo(JComboBox box)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	ComboBoxModel cm;
+	cm = box.getModel();
+
+	box.removeActionListener(m);
+	box.addActionListener(m);
+	
+	file.startContent(1);
+	file.saveContent("JComboBox");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("ComboBox"));
+	
+	file.startContent(3);
+	int i;
+	for (i = 0; i < box.getItemCount() ; i++)
+	    {
+		UserComponent file2;
+		file2 = new UserComponent();
+		//Assuming that they don't put any picture or images
+		String text;
+		Object objmsg;
+
+		objmsg = box.getItemAt(i);
+
+		if (objmsg instanceof String)
+		    text = (String) objmsg + "\n";
+		else
+		    text = objmsg.toString() + "\n" ;
+		
+		file2.startContent(3);
+		if (text != null)
+		    file2.saveContent(text);
+		else
+		    file2.saveContent(" ");
+		
+		file2.startContent(4);
+		if (i == box.getSelectedIndex())
+		    file2.saveContent(messages.getString("Selected"));
+		else
+		    file2.saveContent(messages.getString("NotSelected"));
+		
+		file.saveContent(file2);
+	    }
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" + box.isVisible()));
+
+	file.startContent(7);
+	file.saveContent(box.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information and add the special action listener to the JToggleButton.
+     *  (Precondition: button != null)
+     *  @param button its a JToggleButton inside the window
+     *  @return       a UserComponent that will hold the information about this JToggleButton.
+     */
+    public UserComponent getToggleButtonInfo (JToggleButton button)
+    {
+	UserComponent file;
+	file = new UserComponent();
+
+	button.removeActionListener(m);
+	button.addActionListener(m);
+
+	file.startContent(1);
+	if (button instanceof JCheckBox)
+	    file.saveContent("JCheckBox");
+	else
+	    file.saveContent("JRadioButton");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("ToggleButton"));
+	
+	file.startContent(3);
+	String text;
+	text = button.getText();
+	if (text != null)
+	    file.saveContent(text);
+	else
+	    file.saveContent(" ");
+	
+	file.startContent(4);
+	if (button.isSelected() == true)
+	    {
+		file.saveContent(messages.getString("Selected"));
+	    }
+	else
+	    file.saveContent(messages.getString("NotSelected"));
+	
+	file.startContent(5);
+	file.saveContent(messages.getString("" + button.isVisible()));
+	
+	file.startContent(6);
+	Icon img = button.getIcon();
+	if (img != null)
+	    {
+		file.saveImage(img,messages.getString("icon")+img.hashCode()+".jpg");
+	    }
+	else
+	    {
+		file.saveContent(messages.getString("NoImage"));
+	    }
+	
+	file.startContent(7);
+	file.saveContent(button.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information and add the special action listener to the JMenuItem.
+     *  (Precondition: menuitem != null)
+     *  @param menuitem its the JMenuItem we want to get the information from.
+     *  @return         a UserComponent that will hold the information about this JMenuItem.
+     */
+    public UserComponent getMenuItemInfo (JMenuItem menuitem)
+    {
+	UserComponent file;
+	file = new UserComponent();
+
+	menuitem.removeActionListener(m);
+	menuitem.addActionListener(m);
+	
+	file.startContent(1);
+	file.saveContent("JMenuItem");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("MenuItem"));
+	
+	file.startContent(3);
+	String text;
+	text = menuitem.getText();
+	if (text != null)
+	    file.saveContent(text);
+	else
+	    file.saveContent(" ");
+	
+	file.startContent(4);
+	if (menuitem.isSelected() == true)
+	    {
+		file.saveContent(messages.getString("Selected"));
+	    }
+	else
+	    file.saveContent(messages.getString("NotSelected"));
+	
+	file.startContent(5);
+	file.saveContent(messages.getString("" +  menuitem.isVisible()));
+	
+	file.startContent(6);
+	Icon img = menuitem.getIcon();
+	if (img  != null)
+	    {
+		file.saveImage(img,messages.getString("icon")+img.hashCode()+".jpg");
+	    }
+	else
+	    {
+		file.saveContent(messages.getString("NoImage"));
+	    }
+	
+	file.startContent(7);
+	file.saveContent(menuitem.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information of the JMenuBar.
+     *  (Precondition: menubar != null)
+     *  @param menubar its the JMenuBar we want to get the information from.
+     *  @return        a UserComponent that will hold the information about this JMenuBar.
+     */
+    public  UserComponent getMenuBarInfo (JMenuBar menubar)
+    {
+	UserComponent file;
+	file = new UserComponent();
+
+	file.startContent(1);
+	file.saveContent("JMenuBar");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("MenuBar"));
+	
+	file.startContent(3);
+	int i;
+	for (i= 0 ; i < menubar.getMenuCount() ; i++)
+	    {
+		file.saveContent(getInside(menubar.getMenu(i)));
+	    }
+	
+	file.startContent(4);
+	if (menubar.isSelected() == true)
+	    {
+		file.saveContent(messages.getString("Selected"));
+	    }
+	else
+	    file.saveContent(messages.getString("NotSelected"));
+	
+	file.startContent(5);
+	file.saveContent(messages.getString("" +  menubar.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(menubar.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information and add the special action and menu listener to the JMenu.
+     *  (Precondition: menu != null)
+     *  @param menu   its the JMenu we want to the the information from.
+     *  @return       a UserComponent that will hold the information about this JMenu.
+     */
+    public  UserComponent getMenuInfo (JMenu menu)
+    {
+	UserComponent file;
+	file = new UserComponent();
+
+	menu.removeActionListener(m);
+	menu.removeMenuListener(m);
+	menu.addActionListener(m);
+	menu.addMenuListener(m);
+
+	file.startContent(1);
+	file.saveContent("JMenu");
+	
+	file.startContent(2);
+	String text;
+	text = menu.getText();
+	if (text != null)
+	    file.saveContent(text);
+	else
+	    file.saveContent(" ");
+	
+	file.startContent(3);
+	int i;
+	for (i= 0 ; i < menu.getMenuComponentCount() ; i++)
+	    {
+		file.saveContent(getInside((Container)menu.getMenuComponent(i)));
+	    }
+	
+	file.startContent(4);
+	if (menu.isSelected() == true)
+	    {
+		file.saveContent(messages.getString("Selected"));
+	    }
+	else
+	    file.saveContent(messages.getString("NotSelected"));
+	
+	file.startContent(5);
+	file.saveContent(messages.getString("" +  menu.isVisible()));
+	
+	file.startContent(6);
+	Icon img = menu.getIcon();
+	if (img  != null)
+	    {
+		file.saveImage(img,messages.getString("icon")+img.hashCode()+".jpg");
+	    }
+	else
+	    {
+		file.saveContent(messages.getString("NoImage"));
+	    }
+	
+	file.startContent(7);
+	file.saveContent(menu.getToolTipText());
+
+	return file;
+    }
+    
+    /**
+     *  This method will get all the information of the JApplet.
+     *  (Precondition: applet != null)
+     *  @param applet its the JApplet we want to get the information from.
+     *  @return       a UserComponent that will hold the information about this JApplet.
+     */
+    public  UserComponent getAppletInfo (JApplet applet)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	Component[] group;
+	group = applet.getComponents();
+	int i;
+
+	file.startContent(1);
+	file.saveContent("JApplet");
+	
+	file.startContent(2);
+	String text;
+	text = applet.getAppletInfo();
+	if (text != null)
+	    file.saveContent(text);
+	else
+	    file.saveContent(" ");
+	
+	if (group != null)
+	    {
+		file.startContent(3);
+		for (i = 0; i < group.length ; i++)
+		    {
+			file.saveContent(getInside((Container)applet.getComponent(i)));
+		    }
+	    }
+	
+	file.startContent(4);
+	file.saveContent(messages.getString("" + applet.isActive()));
+	
+	file.startContent(5);
+	file.saveContent(messages.getString("" + applet.isVisible()));
+	
+	return file;
+    }
+
+    /**
+     *  This method will get all the information of the JWindow.
+     *  (Precondition: window != null)
+     *  @param window its the JWindow we want to get the information from.
+     *  @return       a UserComponent that will hold the information about this JWindow.
+     */
+    public  UserComponent getWindowInfo (JWindow window)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	Component[] group;
+	group = window.getComponents();
+	int i;
+
+	file.startContent(1);
+	file.saveContent("JWindow");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("Window"));
+	
+	if (group != null)
+	    {
+		file.startContent(3);
+		for (i = 0; i < group.length ; i++)
+		    {
+			file.saveContent(getInside((Container)window.getComponent(i)));
+		    }
+	    }
+	
+	file.startContent(4);
+	file.saveContent(messages.getString("" + window.isActive()));
+	
+	file.startContent(5);
+	file.saveContent(messages.getString("" + window.isVisible()));
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information of the JDialog.
+     *  (Precondition: dialog != null)
+     *  @param dialog its the JDialog we want to get the information from.
+     *  @return       a UserComponent that will hold the information about this JDialog.
+     */
+    public UserComponent getDialogInfo (JDialog dialog)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	Component[] group;
+	group = dialog.getComponents();
+	int i;
+
+	file.startContent(1);
+	file.saveContent("JDialog");
+	
+	file.startContent(2);
+	String text = dialog.getTitle();
+	if (text != null)
+	    file.saveContent(text);
+	else
+	    file.saveContent(" ");
+	
+	if (group != null)
+	    {
+		file.startContent(3);
+		for (i = 0; i < group.length ; i++)
+		    {
+			file.saveContent(getInside((Container)dialog.getComponent(i)));
+		    }
+	    }
+	
+	file.startContent(4);
+	file.saveContent(messages.getString("" + dialog.isActive()));
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" + dialog.isVisible()));
+	
+	return file;
+    }
+
+    /**
+     *  This method will get all the information of the JInternalFrame.
+     *  (Precondition: frame != null)
+     *  @param frame  its the JInternalFrame we want to get the information from.
+     *  @return       a UserComponent that will hold the information about this JInternalFrame.
+     */
+    public UserComponent getInternalFrameInfo (JInternalFrame frame)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	Component[] group;
+	group = frame.getComponents();
+	int i;
+
+	file.startContent(1);
+	file.saveContent("JInternalFrame");
+	
+	file.startContent(2);
+	String text;
+	text = frame.getTitle();
+	if (text != null)
+	    file.saveContent(text);
+	else
+	    file.saveContent(" ");
+	
+	if (group != null)
+	    {
+		file.startContent(3);
+		for (i = 0; i < group.length ; i++)
+		    {
+			file.saveContent(getInside((Container)frame.getComponent(i)));
+		    }
+	    }
+	
+	file.startContent(4);
+	file.saveContent(messages.getString("" + frame.isSelected()));
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" + frame.isVisible()));
+	
+	file.startContent(6);
+	Icon img = frame.getFrameIcon();
+	if (img != null)
+	    {
+		file.saveImage(img,messages.getString("icon")+img.hashCode()+".jpg");
+	    }
+	else
+	    {
+		file.saveContent(messages.getString("NoImage"));
+	    }
+	
+	file.startContent(7);
+	file.saveContent(frame.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information of the JFrame.
+     *  (Precondition: frame != null)
+     *  @param frame  its the JFrame we want to get the information from.
+     *  @return       a UserComponent that will hold the information about this JFrame.
+     */
+    public UserComponent getFrameInfo (JFrame frame)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	Component[] group;
+	group = frame.getComponents();
+	int i;
+	
+	file.startContent(1);
+	file.saveContent("JFrame");
+	
+	file.startContent(2);
+	String text;
+	text = frame.getTitle();
+	if (text != null)
+	    file.saveContent(text);
+	else
+	    file.saveContent(" ");
+	
+	if (group != null)
+	    {
+		file.startContent(3);
+		for (i = 0; i < group.length ; i++)
+		    {
+			file.saveContent(getInside((Container)frame.getComponent(i)));
+		    }
+	    }
+	
+	file.startContent(4);
+	file.saveContent(messages.getString("" + frame.isActive()));
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" + frame.isVisible()));
+	
+	file.startContent(6);
+	Image image;
+	image = frame.getIconImage();
+	if (image != null)
+	    {
+		ImageIcon img;
+		img = new ImageIcon(image);
+		file.saveImage(img,messages.getString("icon")+img.hashCode()+".jpg");
+	    }
+	else
+	    {
+		file.saveContent(messages.getString("NoImage"));
+	    }
+	
+	return file;
+    }
+
+    /**
+     *  This method will get all the information of the JPanel.
+     *  (Precondition: pane != null)
+     *  @param pane   its the JPanel we want to get the information from.
+     *  @return       a UserComponent that will hold the information about this JPanel.
+     */
+    public UserComponent getPanelInfo (JPanel pane)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	Component[] group;
+	group = pane.getComponents();
+	int i;
+
+	file.startContent(1);
+	file.saveContent("JPanel");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("Panel"));
+
+	if (group != null)
+	    {
+		file.startContent(3);
+		for (i = 0; i < group.length ; i++)
+		    {
+			file.saveContent(getInside((Container)pane.getComponent(i)));
+		    }
+	    }
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" + pane.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(pane.getToolTipText());
+
+	return file;
+    }
+    
+    /**
+     *  This method will get all the information of the JScrollPane.
+     *  (Precondition: scroll != null)
+     *  @param scroll its the JScrollPane we want to get the information from.
+     *  @return       a UserComponent that will hold the information about this JScrollPane.
+     */
+    public UserComponent getScrollInfo (JScrollPane scroll)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	Component[] group;
+	group = scroll.getComponents();
+	int i;
+	
+	file.startContent(1);
+	file.saveContent("JScrollPane");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("Scroller"));
+	
+	if (group != null)
+	    {
+		file.startContent(3);
+		for (i = 0; i < group.length ; i++)
+		    {
+			file.saveContent(getInside((Container)group[i]));
+		    }
+	    }
+	
+	file.startContent(5);
+	file.saveContent(messages.getString("" + scroll.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(scroll.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information and add special change listener to the JTabbedPane.
+     *  (Precondition: tab != null)
+     *  @param tab   its the JTabbedPane we want to get the information from.
+     *  @return      a UserComponent that will hold the information about this JTabbedPane.
+     */
+    public UserComponent getTabbedPaneInfo (JTabbedPane tab)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	int j;
+	
+	tab.removeChangeListener(m);
+	tab.addChangeListener(m);
+
+	file.startContent(1);
+	file.saveContent("JTabbedPane");
+	
+	file.startContent(3);
+	for (j = 0 ; j < tab.getTabCount(); j++)
+	    {	
+		UserComponent file2;
+		file2 = new UserComponent();
+
+		file2.startContent(2);
+		String title;
+		title = tab.getTitleAt(j);
+		if (title != null)
+		    file2.saveContent(title);
+		else
+		    file2.saveContent(" ");
+		
+		file2.startContent(6);
+		Icon img;
+		img = tab.getIconAt(j);
+		if (img != null)
+		    {
+			file2.saveImage(img,messages.getString("icon")+img.hashCode()+".jpg");
+		    }
+		else
+		    {
+			file2.saveContent(messages.getString("NoImage"));
+		    }
+		
+		file2.startContent(3);
+		Component group = tab.getComponentAt(j);
+		file2.saveContent(getInside((Container)group));
+		
+		file2.startContent(4);
+		if (j == tab.getSelectedIndex())
+		    file2.saveContent(messages.getString("Selected"));
+		else
+		    file2.saveContent(messages.getString("NotSelected"));
+		
+		file.saveContent(file2);
+	    }
+	
+	file.startContent(5);
+	file.saveContent(messages.getString("" + tab.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(tab.getToolTipText());
+
+	return file;
+    }
+    
+    /**
+     *  This method will get all the information of the JOptionPane.
+     *  (Precondition: op != null)
+     *  @param op   its the JOptionPane we want to get the information from.
+     *  @return      a UserComponent that will hold the information about this JOptionPane.
+     */
+    public UserComponent getOptionPaneInfo (JOptionPane op)
+    {
+	UserComponent file;
+	file = new UserComponent();
+
+	file.startContent(1);
+	file.saveContent("JOptionPane");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("OptionPane"));
+	
+	file.startContent(3);
+	Object objmsg;
+	objmsg = op.getMessage();
+
+	if (objmsg != null)
+	    {
+		String text;
+		if (objmsg instanceof String)
+		    text = (String) objmsg + "\n";
+		else
+		    text = objmsg.toString() + "\n" ;
+		file.saveContent(text);
+	    }
+	else
+	    file.saveContent(" ");
+	
+	Object[] obj;
+	int i;
+	obj = op.getOptions();
+	if (obj != null)
+	    {
+		for (i = 0; i < obj.length ; i++)
+		    {
+			if (obj[i] instanceof String)
+			    file.saveContent((String) obj[i]);
+			else
+			    file.saveContent(obj[i].toString());
+		    }
+	    }
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" + op.isVisible()));
+	
+	file.startContent(6);
+	Icon img = op.getIcon();
+	if (img != null)
+	    {
+		file.saveImage(img,messages.getString("icon")+img.hashCode()+".jpg");
+	    }
+	else
+	    {
+		file.saveContent(messages.getString("NoImage"));
+	    }
+	
+	file.startContent(7);
+	file.saveContent(op.getToolTipText());
+
+	return file;
+	
+    }
+
+    /**
+     *  This method will get all the information of the JViewPort.
+     *  (Precondition: vp != null)
+     *  @param vp   its the JViewPort we want to get the information from.
+     *  @return     a UserComponent that will hold the information about this JViewPort.
+     */
+    public  UserComponent getViewPortInfo (JViewport vp)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	Component[] group;
+	group = vp.getComponents();
+	int i;
+
+	file.startContent(1);
+	file.saveContent("JViewPort");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("ViewPort"));
+	
+	if (group != null)
+	    {
+		file.startContent(3);
+		for (i = 0; i < group.length ; i++)
+		    {
+			file.saveContent(getInside((Container)group[i]));
+		    }
+	    }
+	
+	file.startContent(5);
+	file.saveContent(messages.getString("" + vp.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(vp.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information of the Box.
+     *  (Precondition: box != null)
+     *  @param box  its the Box we want to get the information from.
+     *  @return     a UserComponent that will hold the information about this Box.
+     */
+    public UserComponent getBoxInfo (Box box)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	Component[] group;
+	group = box.getComponents();
+	int i;
+
+	file.startContent(1);
+	file.saveContent("Box");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("Box"));
+	
+	if (group != null)
+	    {
+		file.startContent(3);
+		for (i = 0; i < group.length ; i++)
+		    {
+			file.saveContent(getInside((Container)group[i]));
+		    }
+	    }
+	
+	file.startContent(5);
+	file.saveContent(messages.getString("" + box.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(box.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information of the JSplitPane.
+     *  (Precondition: split != null)
+     *  @param split  its the JSplitPane we want to get the information from.
+     *  @return       a UserComponent that will hold the information about this JSplitPane.
+     */
+    public  UserComponent getSplitPaneInfo (JSplitPane split)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	Component[] group;
+	group = split.getComponents();
+	int i;
+
+	file.startContent(1);
+	file.saveContent("JSplitPane");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("Splitters"));
+	
+	if (group != null)
+	    {
+		file.startContent(3);
+		for (i = 0; i < group.length ; i++)
+		    {
+			file.saveContent(getInside((Container)group[i]));
+		    }
+	    }
+	
+	file.startContent(5);
+	file.saveContent(messages.getString("" + split.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(split.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information and add special list selection listener to the JList.
+     *  (Precondition: list != null)
+     *  @param list  its the JList we want to get the information from.
+     *  @return      a UserComponent that will hold the information about this JList.
+     */
+    public UserComponent getListInfo (JList list)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	ListModel ls;
+	ls = list.getModel();
+	int i;
+	
+	list.removeListSelectionListener(m);
+	list.addListSelectionListener(m);
+	
+	if (ls != null)
+	    {
+		if (hash.containsKey(ls) == false)
+		    hash.put(ls,list);
+		ls.removeListDataListener(m);
+		ls.addListDataListener(m);
+	    }
+
+	file.startContent(1);
+	file.saveContent("JList");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("List"));
+	
+	if (ls != null)
+	    {
+		file.startContent(3);
+		for ( i = 0 ; i < ls.getSize() ; i++)
+		    {
+			UserComponent file2;
+			file2 = new UserComponent();
+			//Assume that its all a text
+			file2.startContent(3);
+			String text;
+			Object obj;
+			obj = ls.getElementAt(i);
+			
+			if (obj instanceof String)
+			    text = (String) obj;
+			else
+			    text = obj.toString();
+			
+			if (text != null)
+			    file2.saveContent(text);
+			else
+			    file2.saveContent(" ");
+			
+			file2.startContent(4);
+			if ( i == list.getSelectedIndex())
+			    {
+				file2.saveContent(messages.getString("Selected"));
+			    }
+			else
+			    file2.saveContent(messages.getString("NotSelected"));
+			
+			file.saveContent(file2);
+		    }
+	    }
+	
+	file.startContent(5);
+	file.saveContent(messages.getString("" + list.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(list.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information and add special change listener to the JColorChooser.
+     *  (Precondition: color != null)
+     *  @param color  its the JColorChooser we want to get the information from.
+     *  @return       a UserComponent that will hold the information about this JColorChooser.
+     */
+    public UserComponent getColorInfo (JColorChooser color)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	ColorSelectionModel cm;
+	cm = color.getSelectionModel();
+	int i;
+	
+	if (cm != null)
+	    {
+		if (hash.containsKey(cm) == false)
+		    hash.put(cm,color);
+		cm.removeChangeListener(m);
+		cm.addChangeListener(m);
+	    }
+	
+	file.startContent(1);
+	file.saveContent("JColorChooser");
+
+	file.startContent(2);
+	file.saveContent(messages.getString("ColorChooser"));
+
+	file.startContent(3);
+	UserComponent file2;
+	file2 = new UserComponent();
+	file2.startContent(2);
+	file2.saveContent(messages.getString("PreviewPanel"));
+
+	file2.startContent(3);
+	file2.saveContent(getInside((Container) color.getPreviewPanel()));
+	
+	file.saveContent(file2);
+
+	file2 = new UserComponent();
+	file2.startContent(2);
+	file2.saveContent(messages.getString("ChooserPanels"));
+
+	AbstractColorChooserPanel[] cp;
+	cp = color.getChooserPanels();
+	if ((cp != null) && (cp.length != 0))
+	    {
+		file2.startContent(3);
+		for (i = 0 ; i < cp.length ; i++)
+		    {
+			UserComponent file3;
+			file3 = new UserComponent();
+			file3.startContent(2);
+			file3.saveContent(cp[i].getDisplayName());
+			
+			ColorSelectionModel cpsm;
+			cpsm = cp[i].getColorSelectionModel();
+
+			if (cpsm != null)
+			    {
+				file3.startContent(3);
+				file3.saveContent("" + 
+						  cpsm.getSelectedColor());
+			    }
+
+			file3.startContent(6);
+			Icon img = cp[i].getSmallDisplayIcon();
+			if (img  != null)
+			    {
+				file3.saveImage(img,messages.getString("icon")+img.hashCode()+".jpg");
+			    }
+			else
+			    {
+				file3.saveContent(messages.getString("NoImage"));
+			    }
+			
+			file3.startContent(6);
+			img = cp[i].getLargeDisplayIcon();
+			if (img  != null)
+			    {
+				file3.saveImage(img,messages.getString("icon")+img.hashCode()+".jpg");
+			    }
+			else
+			    {
+				file3.saveContent(messages.getString("NoImage"));
+			    }
+			file2.saveContent(file3);
+		    }
+	    }
+		
+	file.saveContent(file2);    
+	
+	file.startContent(4);
+	file.saveContent("" + cm.getSelectedColor().toString());
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" +  color.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(color.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information and add special action listener to the JFileChooser.
+     *  (Precondition: fc != null)
+     *  @param fc  its the JFileChooser we want to get the information from.
+     *  @return    a UserComponent that will hold the information about this JFileChooser.
+     */
+    public UserComponent getFileChooserInfo (JFileChooser fc)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	int i;
+
+	fc.removeActionListener(m);
+	fc.addActionListener(m);
+
+	file.startContent(1);
+	file.saveContent("JFileChooser");
+	
+	file.startContent(2);
+	file.saveContent(fc.getDialogTitle());
+
+	File[] f;
+	f = fc.getSelectedFiles();
+	
+	if (f != null)
+	    {
+		file.startContent(3);
+		
+		for ( i = 0 ; i < f.length ; i++)
+		    {
+			UserComponent file2;
+			file2 = new UserComponent();
+			file2.startContent(1);
+			file2.saveContent(fc.getTypeDescription(f[i]));
+			
+			file2.startContent(2);
+			file2.saveContent(fc.getName(f[i]));
+			
+			file2.startContent(6);
+			Icon img = fc.getIcon(f[i]);
+			if (img  != null)
+			    {
+				file2.saveImage(img,messages.getString("icon")+img.hashCode()+".jpg");
+			    }
+			else
+			    {
+				file2.saveContent(messages.getString("NoImage"));
+			    }
+			file.saveContent(file2);
+		    }
+	    }
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" +  fc.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(fc.getToolTipText());
+
+	return file;
+    }		
+
+    /**
+     *  This method will get all the information and add special list selection and column model listener 
+     *  to the JTable.
+     *  (Precondition: table != null)
+     *  @param table  its the JTable we want to get the information from.
+     *  @return       a UserComponent that will hold the information about this JTable.
+     */
+    public UserComponent getTableInfo (JTable table)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	TableModel tm;
+	tm = table.getModel();
+	int i,j;
+	String text;
+
+	TableColumnModel tcm;
+	tcm = table.getColumnModel();
+	ListSelectionModel lm;
+	lm = table.getSelectionModel(); 
+
+	if (lm != null)
+	    {
+		if (hash.containsKey(lm) == false)
+		    hash.put(lm,table);
+		lm.removeListSelectionListener(m);
+		lm.addListSelectionListener(m);
+	    }
+	
+	if (tcm != null)
+	    {
+		if (hash.containsKey(tcm) == false)
+		    hash.put(tcm,table);
+		tcm.removeColumnModelListener(m);
+		tcm.addColumnModelListener(m);
+	    }
+
+	file.startContent(1);
+	file.saveContent("JTable");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("Table"));
+	
+	if (tm != null)
+	    {
+		file.startContent(3);
+		for ( i = 0 ; i < tm.getRowCount() ; i++)
+		    {
+			UserComponent file2;
+			file2 = new UserComponent();
+			
+			file2.startContent(2);
+			text = messages.getString("row") +" " + (i + 1);
+			file2.saveContent(text);
+			
+			file2.startContent(3);
+			for ( j = 0 ; j < tm.getColumnCount() ; j++)
+			    {
+				UserComponent file3;
+				file3 = new UserComponent();
+				
+				file3.startContent(2);
+				file3.saveContent(tm.getColumnName(j));
+				
+				file3.startContent(3);
+				
+				Object obj;
+				obj = tm.getValueAt(i,j);
+				
+				if (obj instanceof String)
+				    file3.saveContent((String)obj);
+				else
+				    file3.saveContent(obj.toString());
+				
+				file3.startContent(4);
+				if (table.isCellSelected(i,j) == true)
+				    {
+					file3.saveContent(messages.getString("Selected"));
+				    }
+				else
+				    file3.saveContent(messages.getString("NotSelected"));
+				
+				file2.saveContent(file3);
+			    }
+			
+			file.saveContent(file2);
+		    }
+	    }
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" +  table.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(table.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information of the JScrollBar.
+     *  (Precondition: scroll != null)
+     *  @param scroll  its the JScrollBar we want to get the information from.
+     *  @return         a UserComponent that will hold the information about this JScrollBar.
+     */
+    public  UserComponent getScrollBarInfo (JScrollBar scroll)
+    {
+	UserComponent file;
+	file = new UserComponent();
+
+	file.startContent(1);
+	file.saveContent("JScrollBar");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("ScrollerBar"));
+	
+	file.startContent(3);
+	file.saveContent(""+ scroll.getOrientation()+ " :"+ scroll.getValue());
+	
+	file.startContent(5);
+	file.saveContent(messages.getString("" + scroll.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(scroll.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information and add special tree selection listener to the JTree.
+     *  (Precondition: tree != null)
+     *  @param tree  its the JTree we want to get the information from.
+     *  @return      a UserComponent that will hold the information about this JTree.
+     */
+    public UserComponent getTreeInfo (JTree tree)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	TreeModel tm;
+	tm = tree.getModel();
+	int i;
+	
+	tree.removeTreeSelectionListener(m);
+	tree.addTreeSelectionListener(m);
+	
+	if (tm != null)
+	    {
+		if (hash.containsKey(tm) == false)
+		    hash.put(tm,tree);
+		tm.removeTreeModelListener(m);
+		tm.addTreeModelListener(m);
+	    }
+	
+	file.startContent(1);
+	file.saveContent("JTree");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("Tree"));
+	
+	file.startContent(3);
+	Object root;
+	root = tm.getRoot();
+	file.saveContent(getChildInfo(tm,root,tree));
+	
+	file.startContent(5);
+	file.saveContent(messages.getString("" +  tree.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(tree.getToolTipText());
+
+	return file;
+    }
+       
+    /**
+     *  This method will get all the information about the parent node and all the childs of it inside the JTree.
+     *  (Precondition: (tree != null) && (tm != null) && (parent != null))
+     *  @param tm      its the tree model of the JTree.
+     *  @param parent  its the parent node that we want to get all the child information from.
+     *  @param tree    its the JTree where the parent node belongs to.
+     *  @return        a UserComponent that will hold the information about this parent node.  
+     */
+    private UserComponent getChildInfo (TreeModel tm,Object parent,JTree tree)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	if (tm.isLeaf(parent) == false)
+	    {
+		file.startContent(2);
+		String text;
+		text = parent.toString();
+		if (text != null)
+		    file.saveContent(text);
+		else
+		    file.saveContent(" ");
+		
+		int j;
+		for (j = 0 ; j < tm.getChildCount(parent) ; j++)
+		    {
+			file.startContent(3);
+			Object child;
+			child = tm.getChild(parent,j);
+			file.saveContent(getChildInfo(tm,child,tree));
+		    }
+	    }
+	else
+	    {
+		file.startContent(2);
+		String text;
+		text = parent.toString();
+		if (text != null)
+		    file.saveContent(text);
+		else
+		    file.saveContent(" ");
+	    }
+	return file;
+    }
+
+    /**
+     *  This method will get all the information of a Container that is not belongs to any of the more specified
+     *  method stated in this class.
+     *  (Precondition: pane != null)
+     *  @param pane  its the Container component we want to get the information from.
+     *  @return      a UserComponent that will hold the information about this Container.
+     */
+    public UserComponent getCompInfo (Container pane)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	Component[] group;
+	group = pane.getComponents();
+	int i;
+
+	file.startContent(1);
+	file.saveContent("Container");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("Container"));
+	
+	if (group != null)
+	    {
+		file.startContent(3);
+		file.saveContent(messages.getString("TitlePane"));
+		file.saveContent(getInside(null));
+		/*for (i = 0; i < group.length ; i++)
+		    {
+			file.saveContent(getInside((Container)pane.getComponent(i)));
+			}*/
+	    }
+	
+	file.startContent(5);
+	file.saveContent(messages.getString("" + pane.isVisible()));
+	
+	return file;
+    }
+
+    /**
+     *  This method will get all the information of the JPopupMenu.
+     *  (Precondition: popup != null)
+     *  @param popup  its the JPopUpMenu we want to get the information from.
+     *  @return       a UserComponent that will hold the information about this JPopupMenu.
+     */
+    public UserComponent getPopUpMenuInfo (JPopupMenu popup)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	Component[] group;
+	group = popup.getComponents();
+	SingleSelectionModel sm;
+	sm = popup.getSelectionModel();
+	int i;
+
+	file.startContent(1);
+	file.saveContent("JPopUpMenu");
+
+	file.startContent(2);
+	String text;
+	text = popup.getLabel();
+	if (text != null)
+	    file.saveContent(popup.getLabel());
+	else
+	    file.saveContent(" ");
+
+	if (group != null)
+	    {
+		file.startContent(3);
+		for (i = 0; i < group.length ; i++)
+		    {
+			file.saveContent(getInside((Container)popup.getComponent(i)));
+		    }
+	    }
+
+	if (sm != null)
+	    {
+		file.startContent(4);
+		file.saveContent("" + sm.getSelectedIndex());
+	    }
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" + popup.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(popup.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information of the JRootPane.
+     *  (Precondition: pane != null)
+     *  @param pane  its the JRootPane we want to get the information from.
+     *  @return      a UserComponent that will hold the information about this JRootPane.
+     */
+    public UserComponent getRootPaneInfo (JRootPane pane)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	Component[] group;
+	group = pane.getComponents();
+	int i;
+	
+	file.startContent(1);
+	file.saveContent("JRootPane");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("RootPane"));
+
+	if (group != null)
+	    {
+		file.startContent(3);
+		for (i = 0; i < group.length ; i++)
+		    {
+			
+			file.saveContent(getInside((Container)pane.getComponent(i)));
+		    }
+	    }
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" + pane.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(pane.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information of the JLayeredPane.
+     *  (Precondition: pane != null)
+     *  @param pane  its the JLayeredPane we want to get the information from.
+     *  @return      a UserComponent that will hold the information about this JLayeredPane.
+     */
+    public UserComponent getLayeredPaneInfo (JLayeredPane pane)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	Component[] group;
+	group = pane.getComponents();
+	int i;
+	
+	file.startContent(1);
+	file.saveContent("JLayeredPane");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("LayeredPane"));
+	
+	if (group != null)
+	    {
+		file.startContent(3);
+		for (i = 0; i < group.length ; i++)
+		    {
+			file.saveContent(getInside((Container)pane.getComponent(i)));
+		    }
+	    }
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" + pane.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(pane.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information of the BasicInternalFrameTitlePane.
+     *  (Precondition: pane != null)
+     *  @param pane  its the BasicInternalFrameTitlePane we want to get the information from.
+     *  @return      a UserComponent that will hold the information about this BasicInternalFrameTitlePane.
+     */
+    public UserComponent getInternalFrameTitleInfo (BasicInternalFrameTitlePane pane)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	Component[] group;
+	group = pane.getComponents();
+	int i;
+
+	file.startContent(1);
+	file.saveContent("BasicInternalFrameTitlePane");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("InternalFrameTitlePane"));
+	
+	/*if (group != null)
+	    {
+		file.startContent(3);
+		for (i = 0; i < group.length ; i++)
+		    {
+			Component c;
+			c = pane.getComponent(i);
+			
+			else
+			    file.saveContent(getInside((Container)pane.getComponent(i)));
+		    }
+		    }*/
+	
+	file.startContent(5);
+	file.saveContent(messages.getString("" + pane.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(pane.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information and add special column model and list selection
+     *  listener to JTableHeader.
+     *  (Precondition: header != null)
+     *  @param header  its the JTableHeader we want to get the information from.
+     *  @return        a UserComponent that will hold the information about this JTableHeader.
+     */
+    public UserComponent getTableHeaderInfo (JTableHeader header)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	TableColumnModel tcm;
+	tcm = header.getColumnModel();
+	ListSelectionModel lm;
+	lm = tcm.getSelectionModel();
+
+	if (tcm != null)
+	    {
+		if (hash.containsKey(tcm) == false)
+		    hash.put(tcm,header);
+		tcm.removeColumnModelListener(m);
+		tcm.addColumnModelListener(m);
+	    }
+
+	if (lm != null)
+	    {
+		if (hash.containsKey(lm) == false)
+		    hash.put(lm,header);
+		lm.removeListSelectionListener(m);
+		lm.addListSelectionListener(m);
+	    }
+
+	file.startContent(1);
+	file.saveContent("JTableHeader");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("TableHeader"));
+
+	if (tcm != null)
+	    {
+		int[] select = tcm.getSelectedColumns();
+
+		if (select != null)
+		    {
+			file.startContent(3);
+			for (int i = 0 ; i < select.length ; i++)
+			    {
+				UserComponent file2;
+				file2 = new UserComponent();
+				file2.startContent(4);
+				file2.saveContent("" + select[i]);
+				
+				file.saveContent(file2);
+			    }
+		    }
+	    }
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" + header.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(header.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information of the JToolBar.
+     *  (Precondition: tool != null)
+     *  @param tool  its the JToolBar we want to get the information from.
+     *  @return      a UserComponent that will hold the information about this JToolBar.
+     */
+    public UserComponent getToolBarInfo (JToolBar tool)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	Component[] group;
+	group = tool.getComponents();
+	int i;
+	
+	file.startContent(1);
+	file.saveContent("JToolBar");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("ToolBar"));
+	
+	if (group != null)
+	    {
+		file.startContent(3);
+		for (i = 0; i < group.length ; i++)
+		    {
+			file.saveContent(getInside((Container)tool.getComponent(i)));
+		    }
+	    }
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" + tool.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(tool.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information of the JToolTip.
+     *  (Precondition: tip != null)
+     *  @param tip  its the JToolTip we want to get the information from.
+     *  @return     a UserComponent that will hold the information about this JToolTip.
+     */
+    public UserComponent getToolTipInfo (JToolTip tip)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	Component group;
+	group = tip.getComponent();
+	int i;
+	
+	file.startContent(1);
+	file.saveContent("JToolTip");
+	
+	file.startContent(2);
+	String text;
+	text = tip.getTipText();
+	if (text != null)
+	    file.saveContent(tip.getTipText());
+	else
+	    file.saveContent(" ");
+	
+	if (group != null)
+	    {
+		file.startContent(3);
+		file.saveContent(getInside((Container) group));
+	    }
+	
+	file.startContent(5);
+	file.saveContent(messages.getString("" + tip.isVisible()));
+	
+	return file;
+    }
+
+    /**
+     *  This method will get all the information of the JSeparator.
+     *  (Precondition: sept != null)
+     *  @param sept  its the JSeparator we want to get the information from.
+     *  @return      a UserComponent that will hold the information about this JSeparator.
+     */
+    public UserComponent getSeparatorInfo (JSeparator sept)
+    {
+	UserComponent file;
+	file = new UserComponent();
+
+	file.startContent(1);
+	file.saveContent("JSeparator");
+	
+	file.startContent(2);
+	file.saveContent(messages.getString("Separator"));
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" + sept.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(sept.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will get all the information of the JDesktopPane.
+     *  (Precondition: pane != null)
+     *  @param pane  its the JDesktopPane we want to get the information from.
+     *  @return      a UserComponent that will hold the information about this JDesktopPane.
+     */
+    public UserComponent getDesktopPaneInfo (JDesktopPane pane)
+    {
+	UserComponent file;
+	file = new UserComponent();
+	JInternalFrame[]  group;
+	group = pane.getAllFrames();
+
+	file.startContent(1);
+	file.saveContent("JDesktopPane");
+
+	file.startContent(2);
+	file.saveContent(messages.getString("DesktopPane"));
+
+	if (group != null)
+	    {
+		int i;
+		file.startContent(3);
+		for ( i = 0 ; i < group.length ; i++ )
+		    {
+			file.saveContent (getInside((Container) group[i]));
+		    }
+	    }
+
+	file.startContent(5);
+	file.saveContent(messages.getString("" + pane.isVisible()));
+	
+	file.startContent(7);
+	file.saveContent(pane.getToolTipText());
+
+	return file;
+    }
+
+    /**
+     *  This method will give you a UserComponent that hold the information saying
+     *  the component is null (no component).
+     *  @return  a UserComponent that will hold the information saying its a null component.
+     */
+    public UserComponent getNullInfo ()
+    {
+	UserComponent file;
+	file = new UserComponent();
+
+	file.startContent(1);
+	file.saveContent(messages.getString("NoComponent"));
+
+	return file;
+    }
+
+    /**
+     *  This method will get all information about any kind of Container.
+     *  This method is the gateway to all other methods in this class and will give you all
+     *  information about the Container and whats inside it.If you dont know what the specific class
+     *  of your container then you go here and it will sort which appropriate method 
+     *  this container should go to in this class.
+     *  @param comp its the Container we want to get the information from.
+     *  @return     a UserComponent that hold the information about this Container.
+     */
+    public  UserComponent getInside(Container comp)
+    {
+	if (comp == null)
+	    {
+		return getNullInfo();
+	    }
+	else if (comp instanceof JApplet)
+	    {
+		return getAppletInfo ((JApplet) comp);
+	    }
+	else if (comp instanceof JSeparator)
+	    {
+		return getSeparatorInfo ((JSeparator) comp);
+	    }
+	else if (comp instanceof JWindow)
+	    {
+		return getWindowInfo((JWindow) comp);
+	    }
+	else if (comp instanceof JDialog)
+	    {
+		return getDialogInfo((JDialog) comp);
+	    }
+	else if (comp instanceof JComboBox)
+	    {
+		return getComboBoxInfo((JComboBox) comp);
+	    }
+	else if (comp instanceof JLabel)
+	    {
+		return getLabelInfo((JLabel) comp);
+	    }
+	else if (comp instanceof JTextComponent)
+	    {
+		return getTextAreaInfo((JTextComponent) comp);
+	    }
+	else if (comp instanceof JFrame)
+	    {
+		return getFrameInfo((JFrame) comp);
+	    }
+	else if (comp instanceof JPanel)
+	    {
+		return getPanelInfo((JPanel) comp);
+	    }
+	else if (comp instanceof JScrollPane)
+	    {
+		return getScrollInfo((JScrollPane) comp);
+	    }
+	else if (comp instanceof JScrollBar)
+	    {
+		return getScrollBarInfo ((JScrollBar) comp);
+	    }
+	else if (comp instanceof JViewport)
+	    {
+		return getViewPortInfo((JViewport) comp);
+	    }
+	else if (comp instanceof JTabbedPane)
+	    {
+		return getTabbedPaneInfo((JTabbedPane) comp);
+	    }
+	else if (comp instanceof Box)
+	    {
+		return getBoxInfo((Box) comp);
+	    }
+	else if (comp instanceof JToggleButton)
+	    {
+		return getToggleButtonInfo((JToggleButton) comp);
+	    }
+	else if (comp instanceof JSplitPane)
+	    {
+		return getSplitPaneInfo ((JSplitPane) comp);
+	    }
+	else if (comp instanceof JList)
+	    {
+		return getListInfo ((JList) comp);
+	    }
+	else if (comp instanceof JTree)
+	    {
+		return getTreeInfo ((JTree) comp);
+	    }
+	else if (comp instanceof JTable)
+	    {
+		return getTableInfo ((JTable) comp);
+	    }
+	else if (comp instanceof JSlider)
+	    {
+		return getSliderInfo ((JSlider) comp);
+	    }
+	else if (comp instanceof JSpinner)
+	    {
+		return getSpinnerInfo ((JSpinner) comp);
+	    }
+	else if (comp instanceof JProgressBar)
+	    {
+		return getProgressBarInfo ((JProgressBar) comp);
+	    }
+	else if (comp instanceof JButton)
+	    {
+		return getButtonInfo ((JButton) comp);
+	    }
+	else if (comp instanceof JMenu)
+	    {
+		return getMenuInfo ((JMenu) comp);
+	    }
+	else if (comp instanceof JMenuBar)
+	    {
+		return getMenuBarInfo ((JMenuBar) comp);
+	    }
+	else if (comp instanceof JMenuItem)
+	    {
+		return getMenuItemInfo ((JMenuItem) comp);
+	    }
+	else if (comp instanceof JOptionPane)
+	    {
+		return getOptionPaneInfo ((JOptionPane) comp);
+	    }
+	else if (comp instanceof BasicInternalFrameTitlePane)
+	    {
+		return getInternalFrameTitleInfo ((BasicInternalFrameTitlePane) comp);
+	    }
+	else if (comp instanceof JColorChooser)
+	    {
+		return getColorInfo ((JColorChooser) comp);
+	    }
+	else if (comp instanceof JFileChooser)
+	    {
+		return getFileChooserInfo ((JFileChooser) comp);
+	    }
+	else if (comp instanceof JDesktopPane)
+	    {
+		return getDesktopPaneInfo ((JDesktopPane) comp);
+	    }
+	else if (comp instanceof JInternalFrame)
+	    {
+		return getInternalFrameInfo ((JInternalFrame) comp);
+	    }
+	else if (comp instanceof JLayeredPane)
+	    {
+		return getLayeredPaneInfo ((JLayeredPane) comp);
+	    }
+	else if (comp instanceof JPopupMenu)
+	    {
+		return getPopUpMenuInfo ((JPopupMenu) comp);
+	    }
+	else if (comp instanceof JRootPane)
+	    {
+		return getRootPaneInfo ((JRootPane) comp);
+	    }
+	else if (comp instanceof JTableHeader)
+	    {
+		return getTableHeaderInfo ((JTableHeader) comp);
+	    }
+	else if (comp instanceof JToolBar)
+	    {
+		return getToolBarInfo ((JToolBar) comp);
+	    }
+	else if (comp instanceof JToolTip)
+	    {
+		return getToolTipInfo ((JToolTip) comp);
+	    }
+	else
+	    {
+		return getCompInfo (comp);
+	    }
+    }
+}
+
+
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/FeedbackInterface.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/FeedbackInterface.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/FeedbackInterface.java	(revision 21123)
@@ -0,0 +1,1656 @@
+package org.greenstone.gatherer.feedback;
+
+import java.io.*;
+import java.awt.*;
+import java.awt.image.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.border.*;
+import java.util.*;
+import java.net.*;
+import java.rmi.server.*;
+import javax.imageio.*;
+import java.util.Locale;
+import java.util.ResourceBundle;
+import java.text.MessageFormat;
+import com.sun.image.codec.jpeg.*;
+import javax.swing.Timer;
+import org.greenstone.gatherer.Gatherer;
+
+/**
+ * This class will show the FeedbackInterface form.
+ * It will allow user to described about the problem better.Here we will also take some more information available
+ * in the system such as the size of the memory available and the screen size.User also could take more screenshot
+ * so they will be able to say the sequence of events that lead up to the problem.
+ * <br>If the user don't want to send this form, then all the information taken from this form will be deleted 
+ * and user will be quitted from the Reporting Feedback sequence.
+ *
+ * @author Veronica Liesaputra
+ */
+public class FeedbackInterface extends JDialog
+    implements ActionListener
+{
+    /**
+     * This is the button user need to pressed if they want to view the files.
+     * This button will be disabled when the timer is running and finish = false.
+     */
+    private JButton view_button;
+    
+    /**
+     * This button means that the user finished give the information and
+     * want to send it.
+     */
+    public JButton send_button;
+
+    /**
+     * This button means that the user don't want to send information and
+     * back to normal application.
+     * All the data taken start from user choose to start doing the Feedback sequence 
+     * up to this point will be delete.
+     */
+    private JButton notsend_button; 
+
+    /**
+     * This is the text area where user can explain more about the problem.
+     */
+    private JTextArea problem_details;
+
+    /**
+     * This is the combo box that allow user to specify the poblem type.
+     */
+    private JComboBox problem_type;
+
+    /**
+     * This is the combo box that allow user to specify the urgency of the problem.
+     */
+    private JComboBox problem_urgency;
+
+    /**
+     * This combo box will ask whether or not user want to send the screenshot.
+     */
+    private JComboBox problem_screenshot;
+
+    /**
+     * This text field allow user to type the smtp address of their email that
+     * they want this application to use to send all the data.
+     * If they don't fill this field then it will set to the same
+     * smtp adress of where the data will be send to.
+     */
+    private JTextField smtp_address;
+
+    /**
+     * This text field allow user to type the email adress that they want this
+     * application to use to send all the data.
+     * If they don't fill this field then it will set to the same email
+     * adress of where the data will be send to.
+     */
+    private JTextField email_address;
+
+    /**
+     * This is the name of the window the user lastly used.
+     * This is the name of the window where the user called to start the Feedback
+     * sequence.
+     */
+    private String frameName;
+
+    /**
+     * This is the unique code generated for each time user start doing the Feedback
+     * sequence.
+     * This code will be used as reference to which feedback that the user send.
+     */
+    private static String code;
+
+    /**
+     * This is the date when the user start open this FeedbackInterface form.
+     */
+    private Date curr_date;
+    
+    /**
+     * This is the special listener class that record all the action user did in application.
+     */
+    private static ActionRecorderDialog dialog;
+
+    /**
+     * This variable will hold the resource of the words that is stored in Messages.properties file.
+     * The calling using messages.getString(someString) will caused someString to be translated
+     * into some other string that is hold in that file.usually it will caused it to be translated
+     * to the language that the user use or choose to have as stated in Locale.
+     */
+    private static ResourceBundle messages;
+
+    /**
+     * This is the screen shot instance that will allow the application to take screen shot of the whole
+     * screen or only the window that the user currently doing their action.
+     */
+    private ScreenShot screen;
+
+    /**
+     * This is the thread that allows the encoding of the image file to String and the saving of image to
+     * a jpeg file happens concurrently.
+     */
+    private Thread save;
+
+    /**
+     * This is the hashmap that hold the screen shot and the panel where the screenshot is held.
+     */
+    private HashMap picAndPane;
+
+    /**
+     * This is the panel that hold all the panels containing the screenshots taken.
+     */
+    private JPanel picture_scroll;
+
+    /**
+     * This is how many rows of screenshots panel displayed at the moment.
+     */
+    private int row;
+
+    /**
+     * This is the array list that hold all the screenshots panel displayed.
+     */
+    private ArrayList paneArray;
+
+    /**
+     * This button will remove the last screenshot panels.
+     */
+    private JButton remove;
+
+    /**
+     * This is a reference to feedback interface displayed at the moment.
+     */
+    private FeedbackInterface frame;
+
+    /**
+     * This is the thread to send all the xml files back to the developer.
+     */
+    private Thread sendThread;
+
+    /**
+     * This is the flag to tell whether or not the sending files finished or not.
+     * It is also flag to tell whether or not the viewing files finished or not.
+     */
+    private static boolean finish;
+
+    /**
+     * This is the timer to displayed the progress bar to tell user to wait while
+     * we sending the files or while we generate the xml files to be viewed.
+     * If finish = false then wait cursor,progress bar and wait label will be displayed.
+     * If finish = true then default cursor will be displayed.
+     */
+    private Timer timer;
+
+    /**
+     * Progress bar displayed when user sending or want to view details.
+     */
+    private JProgressBar progressBar;
+
+    /**
+     * Label displayed to tell user to wait for a while.
+     */
+    private JLabel wait_lbl;
+
+    /**
+     * This is the background colour for the window.
+     */
+    private Color bckcolor;
+    
+    /**
+     * This is the panel to displayed all descriptions panel.
+     */
+    private JPanel tempPane;
+
+    /**
+     * This is the thread that will be running when user pressed the preview button.
+     * This thread will show the 6 xml files that are going to be send. It will run concurrently
+     * with the timer, if value of finish = true, this thread will be null-ed.
+     */
+    private Thread prevThread;
+    
+    /**
+     * This is the flag to say whether or not this window should be dispose when timer is stop
+     * and finish = true.
+     * If selected = true then this window should be dispose, otherwise don't dispose it.
+     */
+    private boolean selected = false;
+    
+    /**
+     * This is a blocker to say that user cannot do anything while waiting.
+     */
+    private MouseListener mouse_blocker_listener = new MouseAdapter() {};
+ 
+    /**
+     * Will make a dialog window that allows people to write more about the problem that want
+     * to send.
+     * This is the GUI for user to write on Feedback form. It is also setting the up the appropriate 
+     * data member with the value passed on to this constructor.
+     * (Precondition: (sh != null) && (dlg != null) && (msg != null))
+     * @param sh  an instance of ScreenShot that will allow application to take screenshot.
+     * @param frame_name name of the window where user called Feedback form from.
+     * @param msg holding the resource of the words that is stored in Messages.properties file.
+     * @param dlg holding the special listener.
+     */
+    public FeedbackInterface(ScreenShot sh,String frame_name,
+			     ResourceBundle msg,ActionRecorderDialog dlg)
+    {
+	super();
+
+	frame = this;
+
+	bckcolor = new Color(176,209,217);
+
+	picAndPane = new HashMap();
+
+	messages = msg;
+	frameName = frame_name;
+	dialog = dlg;
+
+	FeedbackInterface.setDefaultLookAndFeelDecorated(true);
+	setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
+	setTitle(messages.getString("SendFeedbackForm"));
+	
+	screen = sh;
+	Container container;
+	container = getContentPane();
+	createUI(container);
+	curr_date = new Date();
+	
+	Toolkit kit;
+	kit = Toolkit.getDefaultToolkit();
+	Dimension screenSize;
+	screenSize = kit.getScreenSize();
+	int screenHeight;
+	screenHeight = screenSize.height;
+	int screenWidth;
+	screenWidth = screenSize.width;
+	Dimension size;
+	size = this.getSize();
+	setLocation((screenWidth - size.width - 500) , 
+		    (screenHeight - size.height - 700));
+	
+	setBackground(bckcolor);
+	pack();
+	setModal(false);
+	setVisible(true);
+    }
+
+    /**
+     * This method is setting up the content pane for the Feedback form window.
+     * (Precondition: (window != null))
+     * @param window the content pane of Feedback form window. 
+     */
+    public void createUI(Container window)
+    {
+	JPanel container;
+	container = new JPanel();
+	container.setBackground(bckcolor);
+	container.setLayout(new BoxLayout(container,BoxLayout.PAGE_AXIS));
+	
+	String opening_text;
+	opening_text = messages.getString("FeedbackOpeningText");
+	JTextArea textArea;
+	textArea = new JTextArea(opening_text);
+	textArea.setMinimumSize(new Dimension(100,100));
+	textArea.setOpaque(false);
+	textArea.setEditable(false);
+	textArea.setLineWrap(true);
+	textArea.setWrapStyleWord(true);
+	textArea.setBorder(new EmptyBorder(10,10,0,10));
+	textArea.setBackground(bckcolor);
+	container.add(textArea);
+
+	tempPane = new JPanel();
+	tempPane.setLayout(new BorderLayout());
+	tempPane.setBackground(new Color(176,208,176));
+
+	paneArray = new ArrayList();
+	picture_scroll = new JPanel();
+	row = 1;
+	picture_scroll.setLayout(new GridLayout(0,1));
+	picture_scroll.setBackground(new Color(176,208,176));
+	tempPane.add(picture_scroll,BorderLayout.PAGE_START);
+
+	JPanel btnPanel;
+	btnPanel = new JPanel();
+	btnPanel.setBackground(new Color(176,208,176));
+	remove = new JButton("Remove");
+	remove.setActionCommand("Remove");
+	remove.addActionListener(new ActionListener ()
+	    {
+		public void actionPerformed(ActionEvent e)
+		{
+		    Object obj;
+		    JPanel pane;
+
+		    if (paneArray.size() == 0)
+			System.out.println("There is no panel here!");
+		    else
+			{
+			    pane = (JPanel) paneArray.get((row - 2));
+			    obj = picAndPane.get(pane);
+			    obj = null;
+			    picAndPane.remove(pane);
+			    paneArray.remove((row - 2));
+			    
+			    if (paneArray.size() == 0)
+				remove.setVisible(false);
+
+			    picture_scroll.remove(pane);
+			
+			    row--;
+			    
+			    picture_scroll.setSize(picture_scroll.getPreferredSize());
+			    picture_scroll.revalidate();
+			    picture_scroll.repaint();
+			    tempPane.setSize(tempPane.getPreferredSize());
+			    tempPane.revalidate();
+			    tempPane.repaint();
+			}
+		}
+	    });
+	remove.setToolTipText("Remove last thumbnail");
+	remove.setBackground(new Color(176,208,176));
+	remove.setVisible(false);
+	btnPanel.add(remove);
+	tempPane.add(btnPanel,BorderLayout.PAGE_END);
+   
+	JScrollPane pict_scroll;
+	pict_scroll = new JScrollPane(tempPane);
+	pict_scroll.setBackground(bckcolor);
+	pict_scroll.setPreferredSize(new Dimension(300,300));
+	pict_scroll.setBorder(new EmptyBorder(0,10,10,10));
+	container.add(pict_scroll);
+
+	JPanel pane;
+	pane = new JPanel();
+	pane.setBackground(bckcolor);
+	pane.setLayout(new GridLayout(0,2));
+	pane.setBorder(new EmptyBorder(10,10,10,10));
+		
+	JLabel txt_type;
+	txt_type = new JLabel(messages.getString("Whatkindofproblemisit") + "?    ");
+	txt_type.setBackground(bckcolor);
+	pane.add(txt_type);
+	
+	String [] type = {" ",messages.getString("ContentError"),
+			  messages.getString("ImageNotShow"),
+			  messages.getString("StrangeBehaviour"),
+			  messages.getString("SomethingUnexpectedHappen"),
+			  messages.getString("HardToUse"),
+			  messages.getString("Other")};
+	problem_type = new JComboBox(type);
+	problem_type.setOpaque(false);
+	problem_type.addActionListener(this);
+	problem_type.setBackground(bckcolor);
+	pane.add(problem_type);
+
+	JLabel txt_urgent;
+	txt_urgent = new JLabel(messages.getString("Howbadistheproblem")+"?  ");
+	txt_urgent.setBackground(bckcolor);
+	pane.add(txt_urgent);
+
+	String[] urgent = {" ",messages.getString("Critical"),
+		  messages.getString("Serious"),
+		  messages.getString("Medium"),messages.getString("Minor"),
+		  messages.getString("Trivial")};
+	problem_urgency = new JComboBox(urgent);
+	problem_urgency.setOpaque(false);
+	problem_urgency.addActionListener(this);
+	problem_urgency.setBackground(bckcolor);
+	pane.add(problem_urgency);
+
+	/*JLabel txt_screenshot;
+	txt_screenshot= new JLabel(messages.getString("Doyouwanttosendthescreenshot") + "?  ");
+	txt_screenshot.setBackground(new Color(108,168,108));
+	pane.add(txt_screenshot);
+
+	String[] screenshot = {messages.getString("Yes"),
+			       messages.getString("No")};
+	problem_screenshot = new JComboBox(screenshot);
+	problem_screenshot.addActionListener(this);
+	problem_screenshot.setBackground(new Color(108,168,108));
+	pane.add(problem_screenshot);*/
+	
+	
+	/*JLabel txt_smtp;
+	txt_smtp = new JLabel(messages.getString("SMTPaddress") + "?  ");
+	txt_smtp.setBackground(new Color(176,208,176));
+	pane.add(txt_smtp);
+
+	smtp_address = new JTextField();
+	smtp_address.setBackground(new Color(224,240,224));
+	pane.add(smtp_address);*/
+	
+
+	/*JLabel txt_email;
+	txt_email = new JLabel(messages.getString("Emailaddress") + "?  ");
+	txt_email.setBackground(new Color(176,208,176));
+	pane.add(txt_email);
+
+	email_address = new JTextField();
+	email_address.setBackground(new Color(224,240,224));
+	pane.add(email_address);*/
+	
+	JLabel empty;
+	empty = new JLabel ("   ");
+	empty.setBackground(bckcolor);
+	pane.add(empty);
+	JLabel empty2;
+	empty2 = new JLabel ("   ");
+	empty2.setBackground(bckcolor);
+	pane.add(empty2);
+	container.add(pane);
+
+	JPanel panely;
+	panely = new JPanel();
+	panely.setLayout(new GridLayout(0,3));
+	panely.setBackground(bckcolor);
+	panely.setBorder(new EmptyBorder(new Insets(10,10,10,10)));
+	
+	view_button = new JButton("Details . . .");
+	view_button.setActionCommand(messages.getString("Preview"));
+	view_button.addActionListener(this);
+	view_button.setToolTipText(messages.getString("ConformationPreview"));
+	view_button.setBackground(bckcolor);
+	panely.add(view_button); 
+
+	send_button = new JButton(messages.getString("Send"));
+	send_button.setActionCommand(messages.getString("Send"));
+	send_button.addActionListener(this);
+	send_button.setDefaultCapable(true);
+	send_button.setToolTipText(messages.getString("FeedbackSendButton"));
+	send_button.setBackground(bckcolor);
+	panely.add(send_button);
+	
+	notsend_button = new JButton("Cancel");
+	notsend_button.setActionCommand(messages.getString("NotSend"));
+	notsend_button.addActionListener(this);
+	notsend_button.setToolTipText(messages.getString("FeedbackNotSendButton"));
+	notsend_button.setBackground(bckcolor);
+	panely.add(notsend_button);
+	container.add(panely);
+
+	//Align the left edges of the components.
+	textArea.setAlignmentX(Component.LEFT_ALIGNMENT);
+	pict_scroll.setAlignmentX(Component.LEFT_ALIGNMENT);
+	pane.setAlignmentX(Component.LEFT_ALIGNMENT);
+	panely.setAlignmentX(Component.LEFT_ALIGNMENT);
+
+	String about;
+	about = messages.getString("FeedbackAboutText");
+	JTextArea about_txt;
+	about_txt = new JTextArea(about);
+	about_txt.setEditable(false);
+	about_txt.setLineWrap(true);
+	about_txt.setWrapStyleWord(true);
+	about_txt.setBackground(bckcolor);
+	about_txt.setBorder(new EmptyBorder(10,10,10,10));
+
+	String privacy;
+	privacy = messages.getString("FeedbackPrivacyText");
+	JTextArea privacy_txt;
+	privacy_txt = new JTextArea(privacy);
+	privacy_txt.setEditable(false);
+	privacy_txt.setLineWrap(true);
+	privacy_txt.setWrapStyleWord(true);
+	privacy_txt.setBackground(bckcolor);
+	privacy_txt.setBorder(new EmptyBorder(10,10,10,10));
+ 
+	JTabbedPane tab;
+	tab = new JTabbedPane();
+	tab.setBackground(bckcolor);
+	tab.addTab(messages.getString("Form"),container);
+	tab.addTab(messages.getString("About"),about_txt);
+	tab.addTab(messages.getString("Privacy"),privacy_txt);
+	tab.setBorder(new EmptyBorder(5,5,5,5));
+	
+	JPanel panelx;
+	panelx = new JPanel();
+	panelx.setLayout(new BoxLayout(panelx,BoxLayout.PAGE_AXIS));
+	panelx.setBackground(bckcolor);
+	panelx.setBorder(new EmptyBorder(new Insets(10,10,10,10)));
+	
+	wait_lbl = new JLabel(messages.getString("Pleasewait"));
+	wait_lbl.setBackground(bckcolor);
+	wait_lbl.setVisible(false);
+	panelx.add(wait_lbl);
+	
+	progressBar = new JProgressBar ();
+	progressBar.setBackground(bckcolor);
+	progressBar.setVisible(false);
+	panelx.add(progressBar);
+
+	JLabel emp2;
+	emp2 = new JLabel ("   ");
+	emp2.setBackground(bckcolor);
+	panelx.add(emp2);
+
+	wait_lbl.setAlignmentX(Component.CENTER_ALIGNMENT);
+	progressBar.setAlignmentX(Component.CENTER_ALIGNMENT);
+	emp2.setAlignmentX(Component.CENTER_ALIGNMENT);
+
+	final String p1;
+	final String p2;
+	p1 = "Tab";
+	p2 = "ProgressBar";
+
+	final JPanel cards;
+	cards = new JPanel(new CardLayout());
+	cards.setBackground(bckcolor);
+	cards.add(tab,p1);
+	cards.add(panelx,p2);
+
+	window.add(cards);
+
+	
+	timer = new Timer(1000, new ActionListener()
+	    {
+		public void actionPerformed(ActionEvent evt)
+		{
+		    if (finish == true)
+			{
+			    if (sendThread != null)
+				{
+				    sendThread.interrupt();
+				    sendThread = null;
+				}
+
+			    if (prevThread != null)
+				{
+				    prevThread.interrupt();
+				    prevThread = null;
+				}
+			    
+			    Component glass_pane;
+			    glass_pane = frame.getGlassPane();
+			    
+			    glass_pane.setVisible(false);
+			    glass_pane.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+			    glass_pane.removeMouseListener(mouse_blocker_listener);
+			    
+			    wait_lbl.setVisible(false);
+			    progressBar.setIndeterminate(false);
+			    progressBar.setVisible(false);
+			    
+			    frame.setTitle(messages.getString("SendFeedbackForm"));
+			    
+			    CardLayout cl = (CardLayout)(cards.getLayout());
+			    cl.show(cards,p1);
+			    
+			    if (selected == true)
+				frame.dispose();
+
+			    timer.stop();
+			}
+		    else
+			{
+			    Component glass_pane;
+			    glass_pane = frame.getGlassPane();
+			    
+			    glass_pane.addMouseListener(mouse_blocker_listener);
+			    glass_pane.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+			    glass_pane.setVisible(true);
+
+			    frame.setTitle("Please wait...");
+
+			    CardLayout cl = (CardLayout)(cards.getLayout());
+			    cl.show(cards,p2);
+
+			    wait_lbl.setVisible(true);
+			    progressBar.setIndeterminate(true);
+			    progressBar.setVisible(true);
+			}
+		}
+	    });
+    }
+
+    /**
+     * This method will set the finish variable values.
+     * When the sending files is finished, the sending application  will set the finish value to true.
+     * @param fin whether or not the send files is finished.
+     */
+    public static void setFinish (boolean fin)
+    {
+	finish = fin;
+    }
+
+    /**
+     * This is the class to represent the whole panel that hold the screenshot and the comments
+     * about the screenshot.
+     */
+    private class ThumbnailPic implements Serializable
+    {
+	/**
+	 * This is the panel that hold a thumbnail for a screenshot and a comments text area.
+	 */
+	private JPanel picpane;
+
+	/**
+	 * This hold the BufferedImages for the whole screen version of screenshot.
+	 */
+	private BufferedImage[] screenimages;
+
+	/**
+	 * This hold the BufferedImages for the window version only.
+	 */
+	private BufferedImage[] windowimages;
+
+	/**
+	 * This is the text area where user can enter their comments.
+	 */
+	private JTextArea problem_details;
+
+	/**
+	 * This is a flag to tell us which image user wants to send.Its defaults value is false.
+	 * If iswindow = true then it means user wants to send the window version only.
+	 * If iswindow = false then it means user wants to send the whole screen version.
+	 */
+	private boolean iswindow;
+
+	/**
+	 * This is the titles for the panel.
+	 * Usually this is the title of the window where user wants to do the screenshot.
+	 * If the title is more than 40 characters then we will trim it and add ... at the back of it.
+	 */
+	private String titles;
+
+	/**
+	 * This is the width of the image user wants to send.
+	 */
+	private String iw;
+
+	/**
+	 * This is the height of the image user wants to send.
+	 */
+	private String ih;
+
+	/**
+	 * This is the x-coordinate where the window located inside the whole screen image.
+	 */
+	private int xcoord;
+
+	/**
+	 * This is the y-coordinate where the window located inside the whole screen image.
+	 */
+	private int ycoord;
+
+	/**
+	 * This is the width of the window inside the whole screen image.
+	 */
+	private int width;
+
+	/**
+	 * This is the height of the window inside the whole screen image.
+	 */
+	private int height;
+
+	/**
+	 * This is the constructor that will setup the panel that contains
+	 * a thumbnail screenshot and a comments text area.
+	 * @param image the whole screen screenshot image.
+	 * @param text  the title for this pane.
+	 * @param x     the x-coordinate of the window inside the whole screen image.
+	 * @param y     the y-coordinate of the window inside the whole screen image.
+	 * @param w     the width of the window inside the whole screen image.
+	 * @param h     the height of the window inside the whole screen  image. 
+	 */
+	//public ThumbnailPic (BufferedImage screen,byte[] image,String text)
+	public ThumbnailPic (BufferedImage image,String text,int x,int y,int w,int h)
+	{
+	    xcoord = x;
+	    ycoord = y;
+	    width = w;
+	    height = h;
+	    iswindow = false;
+	    titles = text;
+	    screenimages = new BufferedImage[3];
+	    windowimages = new BufferedImage[3];
+	    //screenimages[0] = screen;
+	    screenimages[0] = image;
+	    screenimages[1] = null;
+	    screenimages[2] = null;
+	    windowimages[0] = null;
+	    windowimages[1] = null;
+	    windowimages[2] = null;
+	    addPanel(image);
+	}
+
+	/**
+	 * This method will setup the components inside the panel properly.
+	 * @param image the whole screen screenshot image.
+	 */
+	//public void addPanel (byte[] image)
+	public void addPanel (BufferedImage image)
+	{
+	    picpane = new JPanel();
+	    picpane.setLayout(new BorderLayout());
+	    
+	    final JButton picture;
+	    picture = new JButton();
+
+	    int w;
+	    int h;
+
+	    w = (int) (150/2);
+	    h = (int) (150/2);
+	    
+	    iw = "" + image.getWidth();
+	    ih = "" + image.getHeight();
+
+	    ImageIcon thumbnail;
+	    thumbnail = new ImageIcon(image.getScaledInstance(w,h,Image.SCALE_SMOOTH));
+
+	    picture.setIcon(thumbnail);
+	    picture.setText("Draw . . .");
+	    picture.setActionCommand("Scribble");
+	    picture.addActionListener(new ActionListener()
+		{
+		    public void actionPerformed (ActionEvent e)
+		    {
+			frame.addMouseListener(mouse_blocker_listener);
+			frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+			SelectPicture select;
+			select = new SelectPicture(screenimages,windowimages,iswindow,problem_details.getText(),messages);
+			frame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+			frame.removeMouseListener(mouse_blocker_listener);	
+			select.setWindowBounds(xcoord,ycoord,width,height);
+			
+			iswindow = select.getIsWindow();
+
+			screenimages[0] = select.getImage3();
+			screenimages[1] = select.getImage();
+			screenimages[2] = select.getImage2();
+
+			if (iswindow == true)
+			    {
+				windowimages[0] = select.getWindowImage3();
+				windowimages[1] = select.getWindowImage();
+				windowimages[2] = select.getWindowImage2();
+			    }
+			else
+			    {
+				windowimages[0] = null;
+				windowimages[1] = null;
+				windowimages[2] = null;
+			    }
+			
+			problem_details.setText(select.getDetails());
+
+			int w,h;
+			w = (int) (150/2);
+			h = (int) (150/2);
+			
+			ImageIcon thumbnail;
+
+			if (iswindow == false)
+			    thumbnail = new ImageIcon(screenimages[1].getScaledInstance(w,h,Image.SCALE_SMOOTH));
+			else
+			    thumbnail = new ImageIcon(windowimages[1].getScaledInstance(w,h,Image.SCALE_SMOOTH));
+
+			picture.setIcon(thumbnail);
+			
+			if (select.getSendNow() == true)
+			    {
+				ActionEvent evt;
+				evt = new ActionEvent(send_button,ActionEvent.ACTION_PERFORMED,messages.getString("Send"));
+
+				frame.actionPerformed(evt);
+			    }
+		    }
+		});
+	    picture.setToolTipText("Click if you want to draw on it");
+	    picture.setMargin(new Insets(5,5,5,5));
+	    picture.setVerticalTextPosition(AbstractButton.BOTTOM);
+	    picture.setHorizontalTextPosition(AbstractButton.CENTER);
+	    picture.setBackground(new Color(176,208,176));
+	    picpane.add(picture,BorderLayout.LINE_START);
+	    
+	    JPanel txtPane;
+	    txtPane = new JPanel(new BorderLayout());
+	    txtPane.setBackground(new Color(176,208,176));
+	    txtPane.setBorder(new EmptyBorder(5,5,5,5));
+
+	    JLabel lbldesc = new JLabel("Comments :");
+	    lbldesc.setBackground(new Color(176,208,176));
+	    txtPane.add(lbldesc,BorderLayout.PAGE_START);
+
+	    problem_details = new JTextArea();
+	    problem_details.setWrapStyleWord(true);
+	    problem_details.setEditable(true);
+	    problem_details.setBackground(new Color(224,240,224));
+	   
+	    JScrollPane scroll;
+	    scroll = new JScrollPane(problem_details);
+	    scroll.setBackground(new Color(176,208,176));
+	    scroll.setPreferredSize(new Dimension(300,150));
+	    txtPane.add(scroll,BorderLayout.LINE_START);
+	   
+	    picpane.setSize(new Dimension(150,150));
+	    picpane.add(txtPane,BorderLayout.CENTER);
+	}
+
+	/**
+	 * This method will get the width of the image user wants to send.
+	 * @return the width of the image.
+	 */
+	public String getWidth()
+	{
+	    if (iswindow == false)
+		return "" + screenimages[0].getWidth();
+	    else
+		{
+		    return "" + windowimages[0].getWidth();
+		}
+	}
+
+	/**
+	 * This method will get the height of the image user wants to send.
+	 * @return the height of the image.
+	 */
+	public String getHeight()
+	{
+	    if (iswindow == false)
+		return "" + screenimages[0].getHeight();
+	    else
+		{
+		    return "" + windowimages[0].getHeight();
+		}  
+	}
+
+	/**
+	 * This method will get the titles of this panel.
+	 * @return the panel's title.
+	 */
+	public String getTitles()
+	{
+	    return titles;
+	}
+
+	/**
+	 * This method will get user comments inside the text area.
+	 * @return the user's comments.
+	 */
+	public String getProblemDetails ()
+	{
+	    String txt;
+	    txt = problem_details.getText();
+	    
+	    if (txt == null)
+		return " ";
+	    else
+		return txt;
+	}
+
+	/**
+	 * This method will setting up the text inside the text area.
+	 * @param comments the text set to the text area.
+	 */
+	public void setComments (String comments)
+	{
+	    problem_details.setText(comments);
+	}
+
+	/**
+	 * This method will get the image that user wants to send.
+	 * @return image going to be send.
+	 */
+	public BufferedImage[] getImages ()
+	{
+	    if (iswindow == false)
+		return screenimages;
+	    else
+		return windowimages;
+	}
+
+	/**
+	 * This method will get the non-scribble lines image that user wants to send.
+	 * @return the string representation of the non-scribble lines image.
+	 */
+	public String getScreenImage ()
+	{
+	    if (iswindow == false)
+		return convert(screenimages[0]);
+	    else
+		return convert(windowimages[1]);
+	}
+
+	/**
+	 * This method will get the scribble lines image that user wants to send.
+	 * @return the string representation of the scribble lines image.
+	 */
+	public String getScreenAndLineImage ()
+	{
+	    if (iswindow == false)
+		{
+		    if (screenimages[1]!= null)
+			return convert(screenimages[1]);
+		    else
+			return convert(screenimages[0]);
+		}
+	    else
+		{
+		    if (windowimages[1]!= null)
+			return convert(windowimages[1]);
+		    else
+			return convert(windowimages[0]);
+		}
+	}
+
+	/**
+	 * This method will get only scribble lines image that user wants to send.
+	 * @return the string representation of the only scribble lines image.
+	 */
+	public String getLineForScreenImage ()
+	{
+	    if (iswindow == false)
+		{
+		    if (screenimages[2] != null)
+			return convert(screenimages[2]);
+		    else
+			return "";
+		}
+	    else
+		{
+		    if (windowimages[2] != null)
+			return convert(windowimages[2]);
+		    else
+			return "";
+		}
+	}
+
+	/**
+	 * This method will get the panel that hold a thumbnail and a text area.
+	 * @return panel that represent the thumbnail and the text area.
+	 */
+	public JPanel getPanel()
+	{
+	    return picpane;
+	}
+    }
+
+    /**
+     * This method will setting up the comments to be displayed inside the latest added panel.
+     * So if the window where user wants to take the screenshot at the moment is a modal window
+     * then it will setting the comments to ask user to close the window before they can enter
+     * their comments there.
+     * @param modal the modality of the window where user wants to take the screenshot.
+     */
+    public void setComment (boolean modal)
+    {
+	if (paneArray.size() == 0)
+	    System.out.println("There is no panel here!");
+	else
+	    {
+		JPanel pane;
+		pane = (JPanel) paneArray.get((row - 2));
+		ThumbnailPic obj;
+		obj = (ThumbnailPic) picAndPane.get(pane);
+		String text;
+		if (modal == true)
+		    text = "Please close '" + obj.getTitles() + "' window \nbefore you can enter comments here.";
+		else
+		    text = " ";
+		obj.setComments(text);
+	    }
+    }
+
+    /**
+     * This method will add a panel that contains the thumbnail button and the text area.
+     * @param title the window's title.
+     * @param image the whole screen image.
+     * @param x     the window's x-coordinate in the image.
+     * @param y     the window's y-coordinate in the image.
+     * @param width the window's width in the image.
+     * @param height the window's height in the image.
+     */
+    //public void addScreenPanel (String title,BufferedImage screen,byte[] image)
+    public void addScreenPanel (String title,BufferedImage image,int x,int y,int width,int height)
+    {
+	final JPanel pane;
+	pane = new JPanel();
+	pane.setLayout(new BorderLayout());
+	pane.setBackground(new Color(176,208,176));
+
+	Border loweredetched;
+	loweredetched = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED);
+
+	String ttl;
+	if (title.length() > 41)
+	    ttl = title.substring(0,40) + "  . . . ";
+	else
+	    ttl = title;
+
+	TitledBorder border;
+	border = BorderFactory.createTitledBorder(loweredetched, title);
+	border.setTitleJustification(TitledBorder.LEFT);
+	
+	pane.setBorder(BorderFactory.createCompoundBorder(new EmptyBorder(5,5,5,5),border));
+	
+	ThumbnailPic pic;
+	//pic = new ThumbnailPic(screen,image,title);
+	pic = new ThumbnailPic(image,title,x,y,width,height);
+	picAndPane.put(pane,pic);
+	pane.add(pic.getPanel(),BorderLayout.LINE_START);
+
+	remove.setVisible(true);
+	picture_scroll.add(pane);
+	paneArray.add(pane);
+	row++;
+	picture_scroll.setSize(picture_scroll.getPreferredSize());
+	picture_scroll.revalidate();
+	picture_scroll.repaint();
+	tempPane.setSize(tempPane.getPreferredSize());
+	tempPane.revalidate();
+	tempPane.repaint();
+    }
+
+    /**
+     * This method will generate the unique code that will be used as the 
+     * reference number of the feedback that user are about to send.
+     * @return the unique code.
+     */
+    public String getPrevData ()
+    {
+	try
+	    {
+		UID id = new UID();
+		code =  "" + InetAddress.getLocalHost().hashCode() + id.hashCode();
+	    }
+	catch (UnknownHostException exp) {}
+	return code;
+    }
+
+    /**
+     * This method allows another class to get the unique code that can be used as 
+     * the reference number of the feedback that user are about to send.
+     * This method should be called only if 
+     * getPrevData() method already been called before.Otherwise it will return null. 
+     * @return the unique code
+     */
+    public static String getCode()
+    {
+	return code;
+    }
+
+    /**
+     * This method will encode BufferedImage into their String representation using
+     * Base64 encoder.
+     * (Precondition: (image != null))
+     * @param image is the image that we want to encode to String.
+     */
+    public String convert (BufferedImage image)
+    {
+	String txt;
+	txt = null;
+
+	try
+	    {
+		ByteArrayOutputStream stream = new ByteArrayOutputStream();
+		ImageIO.write(image,"jpeg",stream);
+		byte[] bytes = stream.toByteArray();
+
+		txt = Base64.encodeBytes(bytes);
+		
+	    }
+	catch(IOException ex) {}
+
+	return txt;
+    }
+
+    /**
+     * This method is to make sure that there is no thread running at the moment.
+     */
+    private void ensureEventThread()
+    {
+	if(SwingUtilities.isEventDispatchThread())
+	    {
+		return;
+	    }
+	throw new RuntimeException(messages.getString("file"));
+    }
+
+    /**
+     * This method will create all 6 xml files, jarred them into one file, deletes all xml files and
+     * sending it.
+     * The xml files for:
+     * <br> 1.The history & information of all the actions done and windows opened by the application
+     *        after user choose to start the sequence of sending feedback.
+     * <br> 2.The history of all the commands (actions) done by the user before choosing
+     *        after start the sequence of sending feedback.
+     * <br> 3.The informations we get from the feedback interface form period.
+     * <br> will be getting from vector and the temp_feedbackhist.log file.
+     * (Precondition: (sx != null) && (vector != null) && (err_array != null))
+     * @param sx the xml parser.
+     * @param vector the vector that hold the history and information.
+     * @param err_array the arrays of information we take from the feedback interface period.
+     * @param imgFile   the arrays of information we take from the panels inside feedback interface form.
+     */
+    private void sendState (SaveToXML sx,Vector vector,String[] err_array,String[] imgFile)
+    {
+	String dirname;
+	dirname = "xmlfeedback/";
+	
+	File dir = new File("xmlfeedback");
+	if (dir.isDirectory() == false)
+	    dir.mkdir();
+
+	sx.saveFeedback(err_array,imgFile);
+	
+	sx.open(dirname + "feedbackcontent" + FeedbackInterface.getCode() + ".xml",
+		"HISTORY");
+	SaveToXML sx2;
+	sx2 = new SaveToXML(messages);
+	sx2.open(dirname + "feedbackcommand" + FeedbackInterface.getCode() + ".xml",
+		 "COMMANDS");
+	
+	for (int i = 0 ; i < vector.size() ; i++)
+	    {
+		History log;
+		log = (History) vector.get(i);
+		log.sendXML(sx);
+		log.sendXMLComm(sx2);
+	    }
+	
+	Vector stack;
+	stack = getPrev_log();
+	if (stack != null)
+	    {
+		for (int i = 0 ; i < stack.size() ; i++)
+		    {
+			History log;
+			log = (History) stack.get(i);
+			log.sendXML(sx);
+			log.sendXMLComm(sx2);
+		    }
+		stack.removeAllElements();
+		System.gc();
+		stack = null;
+	    }
+	
+	sx2.close("COMMANDS");
+	sx.close("HISTORY");
+	
+	getHistPrev_log(sx,sx2);
+	
+	ZipFile zip;
+	zip = new ZipFile();
+	zip.sendZipXMLFile();
+
+	File f;
+	f = new File (dirname + "feedback" + FeedbackInterface.getCode() + ".xml");
+	f.delete();
+	f = new File (dirname + "feedbackcontent" + FeedbackInterface.getCode() + ".xml");
+	f.delete();
+	f = new File (dirname + "feedbackcommand" + FeedbackInterface.getCode() + ".xml");
+	f.delete();
+	/*f = new File (dirname + "content" + FeedbackInterface.getCode() + ".xml");
+	  f.delete();*/
+	f = new File (dirname + "command" + FeedbackInterface.getCode() + ".xml");
+	f.delete();
+	
+	String[] args = new String[5];
+	args[0] = "vl6@cs.waikato.ac.nz";
+	args[1] = dirname + "Jar" + FeedbackInterface.getCode() + "File.jar";
+	args[4] = "lib/parser.jar";
+	args[2] = err_array[19];
+	args[3] = err_array[20];
+	SendHTTP sm = new SendHTTP();
+	//SendMail sm = new SendMail();
+	sm.sendMail(args,messages,FeedbackInterface.getCode());
+    }
+	
+    /**
+     * This method will create the 2 xml files.
+     * The xml files are:
+     * <br> 1.The history & information of all the actions done and windows opened by the application
+     *         before user choose to start the sequence of sending feedback.
+     * <br> 2.The history of all the commands (actions) done by the user before choosing
+     *         to start the sequence of sending feedback.
+     * <br> The information will be getting from history.log file and the temp_history.log file.
+     * (Precondition: (sx != null) && (sx2 != null))
+     * @param sx the xml parser for the history xml file.
+     * @param sx2 the xml parser for the command xml file.
+     */
+    private void getHistPrev_log(SaveToXML sx,SaveToXML sx2)
+    {
+	Vector stack = null;
+	try
+	    {
+		File f = new File("history.log");
+		if (f.exists() == true)
+		    {
+			FileInputStream fis = new FileInputStream(f);
+			ObjectInputStream ois = new ObjectInputStream(fis);
+			
+			stack = (Vector) ois.readObject();
+			
+			String dirname;
+			dirname = "xmlfeedback/";
+
+			/*sx.open(dirname + "content" + FeedbackInterface.getCode() + ".xml",
+			  "HISTORY");*/
+			sx2.open(dirname + "command" + FeedbackInterface.getCode() + ".xml",
+				 "COMMANDS");
+			
+			if (stack != null)
+			    {
+				for (int i = 0 ; i < stack.size() ; i++)
+				    {
+					History log;
+					log = (History) stack.get(i);
+				        //log.sendXML(sx);
+					log.sendXMLComm(sx2);
+				    }
+				stack.removeAllElements();
+				System.gc();
+				stack = null;
+			    }
+			
+			stack = (Vector) ois.readObject();
+			
+			if (stack != null)
+			    {
+				for (int i = 0 ; i < stack.size() ; i++)
+				    {
+					History log;
+					log = (History) stack.get(i);
+				        //log.sendXML(sx);
+					log.sendXMLComm(sx2);
+				    }
+				stack.removeAllElements();
+				System.gc();
+				stack = null;
+			    }
+			
+			sx2.close("COMMANDS");
+			//sx.close("HISTORY");
+			
+			ois.close();
+		    }
+	    }
+	catch (IOException exp) {exp.printStackTrace();}
+	catch (ClassNotFoundException exp2)
+	    {
+		System.out.println("class exp");}
+    }
+
+    /**
+     * This method will get the Vector stored in temp_feedbackhist.log file.
+     * @return the vector stored in temp_feedbackhist.log file.
+     */
+    public Vector getPrev_log()
+    {
+	Vector stack = null;
+	try
+	    {
+		File f = new File("temp_feedbackhist.log");
+		if (f.exists() == true)
+		    {
+			FileInputStream fis = new FileInputStream(f);
+			ObjectInputStream ois = new ObjectInputStream(fis);
+			stack = (Vector) ois.readObject();
+			ois.close();
+			return stack;
+		    }
+		else
+		    stack = null;
+	    }
+	catch (IOException exp) {exp.printStackTrace();}
+	catch (ClassNotFoundException exp2)
+	    {
+		System.out.println("class exp");}
+	
+	return stack;
+    }
+
+    /**
+     * This is the thread that will start when user click send button and it will
+     * make 6 xml files,jarred them together into 1 jar file, deletes the 6 xml files and send it.
+     * @param vector the vector stored the current actions history.
+     * @param err_array the array that stored all the information took during feedback interface period.
+     * @param imgFile the array of that stored all the information from all the panels inside feedback interface form.
+     */
+    public void sendMethod (final Vector vector,final String err_array[], final String imgFile[])
+    {
+	ensureEventThread();
+	Runnable sendRun;
+	sendRun = new Runnable()
+	    {
+		public void run ()
+		{
+		    finish = false;
+		    selected = true;
+		    SaveToXML sx;
+		    sx = new SaveToXML(messages);
+		    sendState(sx,vector,err_array,imgFile);
+		    finish = true;
+		}
+	    };
+	sendThread = new Thread(sendRun);
+	sendThread.start();
+    }
+
+    /**
+     * This method will called the window that will display the preview of all
+     * the file going to be send.
+     * @param vector the vector stored the current actions history.
+     * @param err_array the array that stored all the information took during feedback interface period.
+     * @param imgFile the array of that stored all the information from all the panels inside feedback interface form.
+     */
+    public void viewMethod (final Vector vector,final String err_array[], final String imgFile[])
+    {
+	ensureEventThread();
+	Runnable prevRun;
+	prevRun = new Runnable()
+	    {
+		public void run ()
+		{
+		    finish = false;
+		    selected = false;
+		    ReportDetails rd;
+		    rd = new ReportDetails(vector,err_array,imgFile,messages,true);
+		    finish = true;
+		}
+	    };
+	
+	prevThread = new Thread(prevRun);
+	prevThread.start();
+    }
+
+    /**
+     * This method will save a BufferedImage to a jpeg file with the specified filename.
+     * This method is a thread that will caused the thread save to be started and stop
+     * if the saving process is finished.
+     * (Precondition: (I != null))
+     * @param I is the BufferedImage that we want to save.
+     * @param picScreen name of the jpeg file where we want to store the BufferedImage
+     */
+    public void saveGraph(final BufferedImage I,final String picScreen)
+    {
+	ensureEventThread();
+	Runnable saveRun;
+	saveRun = new Runnable ()
+	    {
+		public void run()
+		{
+		    try 
+			{
+			    File file;
+			    file = new File(picScreen);
+			    FileOutputStream out;
+			    out = new FileOutputStream(file);
+			    
+			    JPEGImageEncoder encoder;
+			    encoder = JPEGCodec.createJPEGEncoder(out);
+			    JPEGEncodeParam param;
+			    param = encoder.getDefaultJPEGEncodeParam(I);
+			    param.setQuality(1.0f, false);
+			    encoder.setJPEGEncodeParam(param);
+			    encoder.encode(I);
+			    out.close();
+			    save = null;
+			} 
+		    catch (Exception ex) {}
+		}
+	    };
+	
+	save = new Thread(saveRun);
+	save.start();
+    }
+
+    /**
+     * This method will get all the informations from the all the panels inside the feedback interface form.
+     * @return the arrays of information from all the panels.
+     */
+    public String[] getimgFile()
+    {
+	String[] imgFile;	
+	imgFile = null;
+
+	/*String answer;
+	  answer = (String) problem_screenshot.getSelectedItem();
+	  if(answer == messages.getString("Yes"))
+	  {*/
+	
+	if (paneArray.size() > 0)
+	    {
+		imgFile = new String[(paneArray.size() * 10)];
+		
+		int step;
+		for (step = 0 ; step < (paneArray.size()*10) ; step=step+10)
+		    {
+			JPanel pane;
+			ThumbnailPic obj;
+			pane = (JPanel) paneArray.get((step/10));
+			obj = (ThumbnailPic) picAndPane.get(pane);
+			
+			//obj.setSize();
+			
+			String title;
+			title = obj.getTitles();
+			
+			imgFile[step+0] = title;
+			imgFile[step+1] = obj.getScreenImage();
+			title = "Window" + pane.hashCode() + "File";
+			imgFile[step+2] = messages.getString("screen")+title+step+".jpg";
+			imgFile[step+3] = obj.getScreenAndLineImage();
+			imgFile[step+4] = messages.getString("ErrorLineAnd")+imgFile[step+2];
+			imgFile[step+5] = obj.getLineForScreenImage();
+			imgFile[step+6] = messages.getString("ErrorLineFor")+imgFile[step+2];
+			imgFile[step+7] = obj.getWidth();
+			imgFile[step+8] = obj.getHeight();
+			imgFile[step+9] = obj.getProblemDetails();
+		    }
+	    }
+		
+	return imgFile;
+    }
+
+    /**
+     * This method will get all the informations taken during feedback interface period, such as os version.
+     * @return then arrays of informations.
+     */
+    public String[] geterr_array()
+    {
+	String[] err_array;
+	err_array = null;
+
+	String os_name;
+	os_name = System.getProperty("os.name") + " " + System.getProperty("os.version") 
+	    + " " + System.getProperty("os.arch");
+	
+	Date problem_date;
+	String err_date,java_info,screen_res;
+	problem_date = new Date();
+	err_date = problem_date.toString();
+	java_info = System.getProperty("java.vendor")+ " " + System.getProperty("java.class.version");
+	Dimension dim;
+	dim = Toolkit.getDefaultToolkit().getScreenSize();
+	screen_res = "" + dim.width + "x" + dim.height;
+	
+	try
+	    {
+		err_array = new String[24];
+
+		err_array[0] = code;
+		err_array[1] = frameName;
+		err_array[2] = "";
+		err_array[3] = (String) problem_type.getSelectedItem();
+		err_array[4] = (String) problem_urgency.getSelectedItem();
+		err_array[5] = System.getProperty("user.name");
+		err_array[6] = System.getProperty("user.home");
+		err_array[7] = System.getProperty("user.dir");
+		err_array[8] = curr_date.toString();
+		err_array[9] = err_date;
+		err_array[10] = os_name;
+		err_array[11] = java_info;
+		err_array[12] = "" + Locale.getDefault();
+		err_array[13] = Gatherer.PROGRAM_NAME + " " + Gatherer.PROGRAM_VERSION; 
+		err_array[14] = InetAddress.getLocalHost().getHostName();
+		err_array[15] = InetAddress.getLocalHost().getHostAddress();
+		err_array[16] = screen_res;
+		err_array[17] = "";
+		
+		/*String test_txt;
+		  test_txt = smtp_address.getText();
+		  if ((test_txt == null)||(test_txt.length() < 5))*/
+		err_array[19] = "mail.waikato.ac.nz";
+		/*else
+		  err_array[19] = test_txt;
+		  
+		  test_txt = email_address.getText();
+		  if ((test_txt == null)||(test_txt.length() < 5))*/
+		err_array[20] = "vl6@cs.waikato.ac.nz";
+		//else
+		//err_array[20] = test_txt;
+		
+		Runtime run;
+		run = Runtime.getRuntime();
+		err_array[21] = formatFileSize(run.totalMemory());
+		err_array[22] = formatFileSize(run.maxMemory());
+		err_array[23] = formatFileSize(run.freeMemory());
+	    }
+	catch(UnknownHostException exp) {}
+
+	return err_array;
+    }
+
+    /**
+     * This method will format the file size given into more elegant form,e.g. 2KB
+     * @param length the file size.
+     * @return the more elegant string representations of the file size.
+     */
+    public String formatFileSize(long length) 
+    {
+	String BYTE_SUFFIX;
+	BYTE_SUFFIX = " B";
+	long GIGABYTE;
+	GIGABYTE = 1024000000l;
+	String GIGABYTE_SUFFIX;
+	GIGABYTE_SUFFIX = " GB";
+	long KILOBYTE;
+	KILOBYTE = 1024l;
+	String KILOBYTE_SUFFIX;
+	KILOBYTE_SUFFIX = " KB";
+	long MEGABYTE;
+	MEGABYTE = 1024000l;
+	String MEGABYTE_SUFFIX;
+	MEGABYTE_SUFFIX = " MB";
+
+	StringBuffer result;
+	result = new StringBuffer("");
+	float number;
+	number = 0f;
+	String suffix;
+	suffix = null;
+	
+	if(length >= GIGABYTE) 
+	    {
+		number = (float) length / (float) GIGABYTE;
+		suffix = GIGABYTE_SUFFIX;
+	    }
+	else if(length >= MEGABYTE) 
+	    {
+		number = (float) length / (float) MEGABYTE;
+		suffix = MEGABYTE_SUFFIX;
+	    }
+	else if(length >= KILOBYTE) 
+	    {
+		number = (float) length / (float) KILOBYTE;
+		suffix = KILOBYTE_SUFFIX;
+	    }
+	else 
+	    {
+		return length + BYTE_SUFFIX;
+	    }
+	
+	String number_str;
+	number_str = Float.toString(number);
+	char number_char[] = number_str.toCharArray();
+	int pos,i;
+	pos = 0;
+	
+	while(number_char != null && pos < number_char.length && number_char[pos] != '.')
+	    {
+		result.append(number_char[pos]);
+		pos++;
+	    }
+
+	if(pos < number_char.length) 
+	    {
+		result.append(number_char[pos]);
+		pos++;
+		
+		for(i = 0; i < 2 && pos < number_char.length; i++, pos++)
+		    result.append(number_char[pos]);
+	   
+		while(pos < number_char.length && number_char[pos] != 'E') 
+		    pos++;
+	   
+		while(pos < number_char.length) 
+		    {
+			result.append(number_char[pos]);
+			pos++;
+		    }
+	    }
+	
+	result.append(suffix);
+	
+	return result.toString();
+    }
+
+    /**
+     * This method will decide what action should be done if the user entered a button in
+     * the Feedback form.
+     * <br>If user click cancel button then all the information taken in this form will be deleted
+     * and user will be quitted from the Reporting Feedback sequence.
+     * <br>If user click the send button then all the information taken will be stored in array which
+     * then will be saved into xml files and sent when user confirm to send all the files.
+     * <br>If user click the details button then they can view all the xml files that are going to be send.
+     * @param e the button that user clicked
+     */
+    public void actionPerformed (ActionEvent e)
+    {
+	getPrevData();
+
+	if(messages.getString("Send").equals(e.getActionCommand()))
+	    {
+		String[] imgFile;
+		String[] err_array;
+
+		imgFile = getimgFile();
+		err_array = geterr_array();
+
+		timer.start();
+		
+		sendMethod(dialog.getVector(),err_array,imgFile);
+	    }
+
+	if(messages.getString("Preview").equals(e.getActionCommand()))
+	    {
+		String[] imgFile;
+		String[] err_array;
+
+		imgFile = getimgFile();
+		err_array = geterr_array();
+
+		timer.start();
+		
+		viewMethod(dialog.getVector(),err_array,imgFile); 
+	    }
+
+	if(messages.getString("NotSend").equals(e.getActionCommand()))
+	    {
+		dispose();
+	    }
+    }
+}
+	
+	
+
+	
+
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/Graphs.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/Graphs.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/Graphs.java	(revision 21123)
@@ -0,0 +1,360 @@
+package org.greenstone.gatherer.feedback;
+
+import java.awt.image.*;
+import java.awt.geom.*;
+import java.awt.geom.Line2D.*;
+import java.awt.geom.Line2D.Double;
+import java.io.*;
+import javax.swing.*;
+import java.awt.*;
+
+/**
+ * This is the class that will allow user to draw a same line to 2 different BufferedImage
+ * at the same time.
+ * The first BufferedImage is BufferedImage with some Image as the based and then
+ * we draw a line on it, and the second BufferedImage is just a transparent Image and then we 
+ * draw a line on it. The line drawn in first BufferedImage is exactly the same with the line
+ * drawn in second BufferedImage.The Image drawn in the first bufferedimage is the
+ * screen shot image of the whole screen.
+ * @author Veronica Liesaputra
+ */
+public class Graphs
+{ 
+    /**
+     * This is the first buffered image.
+     * It will drawn with an image first to be its based, and a line  
+     * that are identical to line drawn the second BufferedImage, will be drawn on it.
+     */
+    private BufferedImage I = null;
+
+    /**
+     * This is the second buffered image.
+     * Its a transaparent buffered image and a line that are indetical to line
+     * drawn in the first BufferedImage, will be drawn on it. 
+     */
+    private BufferedImage I2;
+
+    /**
+     * This is the Graphics for the first BufferedImage.
+     * This will allow user to draw a line and an image on the first buffered image.
+     */
+    private Graphics2D G;
+    
+    /**
+     * This is the Graphics for the second BufferedImage.
+     * This will allow user to draw a line on the second buffered image.
+     */
+    private Graphics2D G2;
+
+    /**
+     * This is the arrays of the 3 BufferedImage.
+     */
+    private BufferedImage[] screen;
+
+    /**
+     * This is the graphics for screen[0] BufferedImage.
+     * This will allow user to draw something on the screen[0] image.
+     */
+    private Graphics2D G3;
+  
+    /**
+     * This is the width of the image.
+     */
+    private double imwidth;
+
+    /**
+     * This is the height of the image.
+     */
+    private double imheight;
+
+    /**
+     * This is the constructor that will initialised the BufferedImage and
+     * its Graphics.
+     * (Precondition: (sh != null))
+     * @param sh is the images.
+     */
+    public Graphs (BufferedImage[] sh)
+    {
+	screen = sh;
+
+	if (screen[0] != null)
+	    { 
+		imwidth = screen[0].getWidth();
+		imheight = screen[0].getHeight();
+
+
+		if((screen[1] == null)&& (screen[2] == null))
+		    {
+			I = new BufferedImage(screen[0].getWidth(),screen[0].getHeight(),
+					      BufferedImage.TYPE_INT_RGB);
+			I2 = new BufferedImage(I.getWidth(),I.getHeight(),
+					       BufferedImage.TYPE_INT_ARGB);
+		    }
+		else
+		    {
+			I = screen[1];
+			I2 = screen[2];
+		    }
+		start();
+	    }
+	else
+	    System.out.println("weird");
+    }
+
+    /**
+     * This method will make sure that everything is null-ed and dispose properly.
+     */
+    public void flush()
+    {
+	G.dispose();
+	G = null;
+	G3.dispose();
+	G3 = null;
+	G2.dispose();
+	G2 = null;
+
+	int i;
+	for ( i = 0 ; i < 3; i++)
+	    {
+		if (screen[i] != null)
+		    {
+			screen[i].flush();
+			screen[i] = null;
+		    }
+	    }
+
+	I.flush();
+	I = null;
+	I2.flush();
+	I2 = null;
+	System.gc();
+    }
+
+    /**
+     * This method will cleared the scribble lines in the images.
+     */
+    public void reset()
+    {
+	I.flush();
+	I = null;
+	System.gc();
+	I2.flush();
+	I2 = null;
+	G.dispose();
+	System.gc();
+	G2.dispose();
+	G = null;
+	G2 = null;
+	System.gc();
+
+	I = new BufferedImage(screen[0].getWidth(),
+			      screen[0].getHeight(),
+			      BufferedImage.TYPE_INT_RGB);
+	I2 = new BufferedImage(I.getWidth(),I.getHeight(),
+			       BufferedImage.TYPE_INT_ARGB);
+
+	screen[1] = null;
+	screen[2] = null;
+
+	start();
+    }
+    /**
+     * This method will setup the 3 Graphics for the 3 BufferedImage.
+     * Here the graphics for the bufferedimage will be created and the appropriate image
+     * will be drawn to the first bufferedimage.  
+     */
+    public void start ()
+    {
+	G3 = screen[0].createGraphics();
+	G3.drawImage((Image) screen[0],0,0,new JLabel());
+
+	G = I.createGraphics();
+	if (screen[1] == null)
+	    G.drawImage((Image) screen[0],0,0,new JLabel());
+	else
+	    G.drawImage ((Image) screen[1],0,0,new JLabel());
+	G2 = I2.createGraphics();
+    }
+ 
+    /**
+     * This method will draw a red line on both BufferedImage from the source point
+     * to the destination point.
+     * @param x1 is the x-coordinate of the source point.
+     * @param y1 is the y-coordinate of the source point.
+     * @param x2 is the x-coordinate of the destination point.
+     * @param y2 is the y-coordinate of the destination point. 
+     */
+    public void drawLines(int x1,int y1,int x2,int y2)
+    {
+	G2.setColor(Color.red);
+	G.setColor(Color.red);
+
+	G.setStroke(new BasicStroke(2.5f));
+	G2.setStroke(new BasicStroke(2.5f));
+
+	G2.drawLine(x1,y1,x2,y2);
+	G.drawLine(x1,y1,x2,y2);
+    }
+
+    
+    /**
+     * This method will draw a white line on all 3 BufferedImage from the source point
+     * to the destination point.
+     * @param x1 is the x-coordinate of the source point.
+     * @param y1 is the y-coordinate of the source point.
+     * @param x2 is the x-coordinate of the destination point.
+     * @param y2 is the y-coordinate of the destination point. 
+     */
+    public void eraseLines(int x1,int y1,int x2,int y2)
+    {
+	G3.setColor(Color.white);
+	G2.setColor(Color.white);
+	G.setColor(Color.white);
+
+	G.setStroke(new BasicStroke(25.5f));
+	G2.setStroke(new BasicStroke(25.5f));
+	G3.setStroke(new BasicStroke(25.5f));
+	
+	G3.drawLine(x1,y1,x2,y2);
+	G2.drawLine(x1,y1,x2,y2);
+	G.drawLine(x1,y1,x2,y2);
+    }
+
+    /**
+     * This method will get the first BufferedImage.
+     * This is the BufferedImage where it will already be drawn with the
+     * screen shot image and the lines.
+     * @return the first BufferedImage.
+     */
+    public BufferedImage getImage ()
+    {
+	return I;
+    }
+
+    /**
+     * This method will get the second BufferedImage.
+     * This is the BufferedImage where its base is transparent and it will
+     * already be drawn with the lines.
+     * @return the second BufferedImage.
+     */
+    public BufferedImage getImage2()
+    {
+	return I2;
+    }
+
+    /**
+     * This method will get the image without scribble lines only the white lines.
+     * @return the image without scribble lines.
+     */
+    public BufferedImage getScreenImage()
+    {
+	return screen[0];
+    }
+
+    /**
+     * This method will get the window out of the whole screen image.
+     * @param xcoord the xcoordinate of the window in the image.
+     * @param ycoord the ycoordinate of the window in the image.
+     * @param width  the width of the window in the image.
+     * @param height the height of the window in the image.
+     * @return the BufferedImage of the window only from the 3 buffered image.
+     */
+    public BufferedImage[] getWindowVersion(int xcoord,int ycoord,int width,int height)
+    {
+	BufferedImage[] window;
+	window = new BufferedImage[3];
+
+	Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
+	
+	if (xcoord < 0 ) 
+	    xcoord = 0;
+	if (ycoord < 0)
+	    ycoord = 0;
+
+	if (xcoord >= imwidth)
+	    xcoord = (int)(imwidth - 1);
+	if (ycoord >= imheight)
+	    ycoord = (int)(imheight - 1);
+	if ((xcoord + width) > imwidth)
+	    width = (int)(imwidth - xcoord);
+	if ((ycoord + height) > imheight)
+	    height = (int)(imheight - ycoord);
+
+	if (width <= 0)
+	    width = 1;
+	if (height <= 0)
+	    height = 1;
+
+	window[0] = getClipVersion(screen[0],xcoord,ycoord,width,height);
+	
+	window[1] = getClipVersion(I,xcoord,ycoord,width,height);
+	
+	window[2] = getClipVersion(I2,xcoord,ycoord,width,height);
+	
+	return window;
+    }
+    
+    /**
+     * This method will return the subimage of the big buffered image.
+     * @param tag the original buffered image.
+     * @param x   the x location of subimage.
+     * @param y   the y location of subimage.
+     * @param w   the width of the subimage.
+     * @param h   the height of the subimage.
+     * @return    the subimage.
+     */
+    public BufferedImage getClipVersion (BufferedImage tag,int x, int y, int w, int h) 
+    {
+	BufferedImage sub;
+	sub = tag.getSubimage(x,y,w,h);
+	
+	return sub;
+    }
+
+    /**
+     * This method will return the screen image version of the give buffered image.
+     * @param sh the buffered image that we going to draw in the screen image version.
+     * @param xcoord   the x location of subimage.
+     * @param ycoord   the y location of subimage.
+     * @param w   the width of the subimage.
+     * @param h   the height of the subimage.
+     */
+    public void setScreenVersion(BufferedImage[] sh,int xcoord,int ycoord,int w, int h)
+    {
+	if (xcoord < 0 ) 
+	    xcoord = 0;
+	if (ycoord < 0)
+	    ycoord = 0;
+
+	if (xcoord >= imwidth)
+	    xcoord = (int) (imwidth - 1);
+	if (ycoord >= imheight)
+	    ycoord = (int) (imheight - 1);
+	if ((xcoord + w) > imwidth)
+	    w = (int) (imwidth - xcoord);
+	if ((ycoord + h) > imheight)
+	    h = (int) (imheight - ycoord);
+
+	if (w <= 0)
+	    w = 1;
+	if (h <= 0)
+	    h = 1;
+       
+	G3.drawImage(sh[0], xcoord,ycoord,new JLabel());
+
+        
+        G.drawImage(sh[1], xcoord,ycoord,new JLabel());
+	
+	
+	G2.drawImage(sh[2], xcoord,ycoord,new JLabel());
+    }
+}
+    
+
+
+
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/History.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/History.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/History.java	(revision 21123)
@@ -0,0 +1,284 @@
+package org.greenstone.gatherer.feedback;
+
+import java.util.*;
+import java.awt.image.*;
+import java.io.*;
+import javax.imageio.*;
+import javax.swing.*;
+import java.awt.*;
+
+/**
+ * This class is one record of the action user did to any of the component
+ * inside the window that the application open that is recorded by the 
+ * special listener class.
+ * An instance of this class will hold all the information about the action
+ * user did at that moment,all information about all the components inside the
+ * window where the action occured and all information about all the components
+ * inside all the windows that were opened when the action occured.
+ * @author Veronica Liesaputra
+ */
+public class History implements Serializable
+{
+    /**
+     * This is the date of when the action is done by the user.
+     */
+    private String date;
+    
+    /**
+     * This is the command that user did.
+     */
+    private String command;
+    
+    /**
+     * This is the title of the window where the action occured.
+     */
+    private String title;
+
+    /**
+     * This hold all information about all the components inside the
+     * window where the action occured and all information about all the components
+     * inside all the windows that were open when the action occured.
+     */
+    private ArrayList component;
+
+    /**
+     * This hold the image of the window where the action occured.
+     */
+    private String image = null;
+
+    /**
+     * This is the image file name, if then user decide to save the image to a jpeg file.
+     */
+    private String imageName = "";
+
+    /**
+     * This is the height of image of the window where the action occured. 
+     */
+    private String height;
+
+    /**
+     * This is the width of image of the window where the action occured.
+     */
+    private String width;
+
+    /**
+     * This constructor will be initializing the date,command and component value.
+     * (Precondition: (curr_date != null))
+     * @param curr_date is the date when the action occured.
+     * @param curr_command is the command the user did.
+     */
+    public History (Date curr_date,String curr_command)
+    {
+	date = curr_date.toString();
+	command = curr_command;
+	component = new ArrayList();
+    }
+
+    /**
+     * This method will be setting up the image attributes to the passed values.
+     * It will setting the image of the window where the action occured and its height 
+     * and width.It will also generate the supposed file name for this image.
+     * (Precondition: (imag != null) && (h != null) && (w != null))
+     * @param img the image of the window where the action occured.
+     * @param h   image's height.
+     * @param w   image's width.
+     */
+    public void setImage(String img,String h,String w)
+    {
+	image = img;
+	height = h;
+	width = w;
+	StringTokenizer st;
+	st = new StringTokenizer(date,": ");
+	while (st.hasMoreTokens()) 
+	    {
+		imageName += st.nextToken();
+	    }
+	imageName += ".jpg";
+    }
+
+    /**
+     * This method will add a new CompGroup instance that hold information and
+     * the status of a window that were open when the action occured.
+     * @param comp UserComponent instance that hold information about all
+     *             components inside the window.
+     * @param curr_status The current status of the window.
+     */
+    public void addComponent (UserComponent comp,String curr_status)
+    {
+	component.add(new CompGroup(comp,curr_status));
+    }
+
+    /**
+     * This method will get the image's height of the window where the action
+     * occured.
+     * @return image's height.
+     */
+    public String getHeight ()
+    {
+	return height;
+    }
+
+    /**
+     * This method will get the image's width of the window where the action
+     * occured.
+     * @return image's width.
+     */
+    public String getWidth ()
+    {
+	return width;
+    }
+
+    /**
+     * This method will set the title of the window where the action occured.
+     * @param name window's title.
+     */
+    public void setTitle (String name)
+    {
+	title = name;
+    }
+
+    /**
+     * This method will get the title of the window where the action occured.
+     * @return the window's title.
+     */
+    public String getTitle ()
+    {
+	return title;
+    }
+
+    /**
+     * This method will get the date when the action occured.
+     * @return the date when the action occured.
+     */
+    public String getDate()
+    {
+	return date;
+    }
+
+    /**
+     * This method will get the command that user did.
+     * @return the command user did.
+     */
+    public String getCommand()
+    {
+	return command;
+    }
+
+    /**
+     * This method will get the array of CompGroup instances that hold
+     * all the information and status of all the window that were open when 
+     * the action occured.
+     * @return the array list of the CompGroup instances.
+     */
+    public ArrayList getArray()
+    {
+	return component;
+    }
+
+    /**
+     * This method will get the image of the window where the action occured.
+     * @return image the window's image.
+     */
+    public String getImage()
+    {
+	return image;
+    }
+    
+    /**
+     * This method will get the supposed image's file name.
+     * @return image's file name.
+     */
+    public String getImageName()
+    {
+	return imageName;
+    }
+ 
+    /**
+     * This method will stored this instance to an xml file.
+     * It will only store the date,title,command,image and all
+     * image attributes of this instance to the xml file.
+     * @param sx is the xml file where we want to store.
+     */
+    public void sendXMLComm (SaveToXML sx)
+    {
+	sx.startContent(10);
+	
+	sx.startContent(7);
+	sx.saveContent(date);
+	sx.closeContent(7);
+	
+	sx.startContent(2);
+	sx.saveContent(title);
+	sx.closeContent(2);
+	
+	sx.startContent(8);
+	sx.saveContent(command);
+	sx.closeContent(8);
+
+	if (image != null)
+	    {
+		sx.startContent(6);
+		sx.saveImage(image,imageName,width,height);
+		sx.closeContent(6);
+	    }
+	
+	sx.closeContent(10);
+    }
+
+    /**
+     * This method will stored this instance to an xml file.
+     * It will store all the data members of this instance to
+     * the xml file.
+     * @param sx is the xml file where we want to store.
+     */
+    public void sendXML (SaveToXML sx)
+    {
+	sx.startContent(10);
+
+	sx.startContent(7);
+	sx.saveContent(date);
+	sx.closeContent(7);
+
+	sx.startContent(2);
+	sx.saveContent(title);
+	sx.closeContent(2);
+
+	sx.startContent(8);
+	sx.saveContent(command);
+	sx.closeContent(8);
+
+	if (image != null)
+	    {
+		sx.startContent(6);
+		sx.saveImage(image,imageName,width,height);
+		sx.closeContent(6);
+	    }
+	
+	int j;
+	for (j = 0 ; j < component.size() ; j++)
+	    {
+		sx.startContent(9);
+		CompGroup comp;
+		comp = (CompGroup) component.get(j);
+		
+		sx.startContent(8);
+		sx.saveContent(comp.getStatus());
+		sx.closeContent(8);
+
+		sx.startContent(0);
+		comp.getComponent().sendingXML(sx);
+		sx.closeContent(0);
+		
+		sx.closeContent(9);
+	    }
+	sx.closeContent(10);
+    }
+}
+
+
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/Movie.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/Movie.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/Movie.java	(revision 21123)
@@ -0,0 +1,376 @@
+package org.greenstone.gatherer.feedback;
+
+import java.awt.image.*;
+import com.sun.image.codec.jpeg.*;
+import javax.swing.*;
+import java.awt.event.*;
+import java.awt.*;
+import javax.swing.event.*;
+import java.io.*;
+import java.util.ResourceBundle;
+import java.text.MessageFormat;
+import javax.swing.text.NumberFormatter;
+import java.text.NumberFormat;
+import java.beans.*;
+import java.util.ArrayList;
+
+/**
+ * This is the class to generate a animation type from a list of ImageIcon.
+ * It will display a JDialog window and then user can specify the frames
+ * per second rate that the user want to use to view the list of the ImageIcon.
+ * @author Veronica Liesaputra
+ */
+public class Movie extends JDialog
+    implements ActionListener,ChangeListener,PropertyChangeListener
+{
+    /**
+     * This variable will hold the resource of the words that is stored in Messages.properties file.
+     * The calling using messages.getString(someString) will caused someString to be translated
+     * into some other string that is hold in that file.usually it will caused it to be translated
+     * to the language that the user use or choose to have as stated in Locale.
+     */
+    private static ResourceBundle messages;
+
+    /**
+     * This is the label that we use to display the ImageIcon.
+     */
+    private JLabel picture;
+
+    /**
+     * This is a textField where user can set how many frames per second they want to view the
+     * ImageIcon.If user enter value that is bigger than the FPS_MAX then it will beep and user
+     * will need to enter new valid value or it will stay as the previous valid value.
+     * If user enter 0 then it will stop the animation.
+     */
+    private JFormattedTextField textField;
+
+    /**
+     * This is a slider where user can set how many frames per second they want to view the
+     * ImageIcon.If user slide to 0 then animation stop.
+     */
+    private JSlider framesPerSecond;
+    
+    /**
+     * This is the minimum frame per second value.
+     */
+    private int FPS_MIN = 0;
+
+    /**
+     * This is the maximum frame per second value. The value is the twice the amount of 
+     * ImageIcon in the list.
+     */
+    private int FPS_MAX;
+
+    /**
+     * This is the initial frame per second value to view the ImageIcon.
+     */
+    private int FPS_INIT = 1;
+
+    /**
+     * This is the ImageIcon index that are currently showing in the label.
+     */
+    private int frameNumber;
+
+    /**
+     * This is the total number of ImageIcon in the list.
+     */
+    private int NUM_FRAMES;
+
+    /**
+     * This hold the list of the ImageIcon that are to be displayed.
+     */
+    private ArrayList images;
+
+    /**
+     * This is telling how long is the delay for each frame to be refreshed.
+     */
+    private int delay;
+
+    /**
+     * This is the timer that generate the animation of the list of ImageIcon.
+     * The animation will be paused twice per cycle by restarting the timer.
+     * If the the prame per second chosen by the user is 0 then the timer
+     * will be stop.
+     */
+    private Timer timer;
+
+    /**
+     * This the flag to say when the animation should stop.
+     * If frozen = true then the animation should stop otherwise the animation
+     * should keep running.
+     */
+    private boolean frozen = false;
+
+    /**
+     * This will sho a modal-dialog and set up the value for the animation to run properly 
+     * according to the list of ImageIcon passed in.
+     * @param msg  hold the resource of the words that is stored in Messages.properties file.
+     * @param img  hold the list of ImageIcon to be displayed.
+     */
+    public Movie (ResourceBundle msg,ArrayList img)
+    {
+	super();
+
+	images = img;
+	NUM_FRAMES = img.size(); 
+	FPS_MAX = img.size() * 2;
+
+	messages = msg; 
+	setTitle(messages.getString("GenerateMovie"));
+	setModal(true);
+	setBackground(new Color (176,208,176));
+    }
+
+    /**
+     * This method will seeting up the content pane of the dialog window.
+     * It also setting up the timer and the delay.
+     * @return the content pane of the window.
+     */
+    public JPanel create_UI()
+    {
+	JPanel cont;
+	cont = new JPanel();
+	cont.setOpaque(true);
+	cont.setBackground(new Color (176,208,176));
+
+	JButton cls;
+	cls = new JButton(messages.getString("Close"));
+	cls.addActionListener(new ActionListener ()
+	    {
+		public void actionPerformed (ActionEvent e)
+		{
+		    dispose();
+		    if (timer != null)
+			timer.stop();
+		}
+	    });
+	cls.setDefaultCapable(true);
+	cls.setActionCommand(messages.getString("Close"));
+	cls.setBackground(new Color(176,208,176));
+
+
+	if (images.size() <= 0)
+	    {
+		JLabel empty_lbl;
+		empty_lbl = new JLabel ("No Image to be displayed   ");
+		cont.add(empty_lbl);
+		cont.add(cls);
+		return cont;
+	    }
+
+	cont.setLayout(new BoxLayout(cont, BoxLayout.PAGE_AXIS));
+
+	delay = 1000 / FPS_INIT;
+
+	JLabel sliderLabel;
+	sliderLabel = new JLabel(messages.getString("FramesPerSecond") + ": ", JLabel.CENTER);
+	sliderLabel.setBackground(new Color(176,208,176));
+        sliderLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
+
+        NumberFormat numberFormat;
+	numberFormat = NumberFormat.getIntegerInstance();
+        NumberFormatter formatter;
+	formatter = new NumberFormatter(numberFormat);
+        formatter.setMinimum(new Integer(FPS_MIN));
+        formatter.setMaximum(new Integer(FPS_MAX));
+
+        textField = new JFormattedTextField(formatter);
+	textField.setBackground(new Color(224,240,224));
+        textField.setValue(new Integer(FPS_INIT));
+        textField.setColumns(5);
+        textField.addPropertyChangeListener(this);
+
+        textField.getInputMap().put(KeyStroke.getKeyStroke(
+                                        KeyEvent.VK_ENTER, 0),
+                                        "check");
+        textField.getActionMap().put("check", new AbstractAction() 
+	    {
+		public void actionPerformed(ActionEvent e) 
+		{
+		    if (!textField.isEditValid()) 
+			{ 
+			    Toolkit.getDefaultToolkit().beep();
+			    textField.selectAll();
+			} 
+		    else
+			{ 
+			    try 
+				{                  
+				    textField.commitEdit();
+				} 
+			    catch (java.text.ParseException exc) { }
+			}
+		}
+	    });
+
+        framesPerSecond = new JSlider(JSlider.HORIZONTAL,
+                                      FPS_MIN, FPS_MAX, FPS_INIT);
+        framesPerSecond.addChangeListener(this);
+	framesPerSecond.setBackground(new Color(176,208,176));
+	framesPerSecond.setMajorTickSpacing(10);
+        framesPerSecond.setMinorTickSpacing(1);
+        framesPerSecond.setPaintTicks(true);
+        framesPerSecond.setPaintLabels(true);
+        framesPerSecond.setBorder(BorderFactory.createEmptyBorder(0,0,10,0));
+	
+        picture = new JLabel();
+	Dimension dim;
+	int iw,ih;
+	dim = Toolkit.getDefaultToolkit().getScreenSize();
+	iw = (int) (dim.width - 30);
+	ih = (int) (dim.height * 0.75);
+	picture.setPreferredSize(new Dimension(iw,ih));
+        picture.setHorizontalAlignment(JLabel.CENTER);
+        picture.setAlignmentX(Component.CENTER_ALIGNMENT);
+        picture.setBorder(BorderFactory.createCompoundBorder(
+                BorderFactory.createLoweredBevelBorder(),
+                BorderFactory.createEmptyBorder(10,10,10,10)));
+	picture.setBackground(new Color(176,208,176));
+        updatePicture(0);
+
+	
+        JPanel labelAndTextField;
+	labelAndTextField = new JPanel();
+        labelAndTextField.add(sliderLabel);
+        labelAndTextField.add(textField);
+	labelAndTextField.add(cls);
+	labelAndTextField.setBackground(new Color(176,208,176));
+
+	cont.add(picture);
+	cont.add(framesPerSecond);
+        cont.add(labelAndTextField);
+       
+        cont.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
+
+        timer = new Timer(delay, this);
+        timer.setInitialDelay(delay * 7); 
+        timer.setCoalesce(true);
+	timer.start();
+	
+	return cont;
+    }
+
+    /**
+     * This method will tell what should happen when the slider's arrow
+     * change its position.
+     * <br>If user adjusting the frame per second value using the slider
+     * then it will set the Textfield to have the value that slider point 
+     * to at the moment.If the value is 0 then it will stop the animation
+     * otherwise it will keep animate with the new frame per second value.
+     * @param e is the slider when the slider's arrow change its position.
+     */
+    public void stateChanged(ChangeEvent e) 
+    {
+        JSlider source;
+	source = (JSlider)e.getSource();
+        int fps;
+	fps = (int)source.getValue();
+        if (!source.getValueIsAdjusting()) 
+	    { 
+		textField.setValue(new Integer(fps));
+		if (fps == 0) 
+		    {
+			if (!frozen) 
+			    stopAnimation();
+		    } 
+		else 
+		    {
+			delay = 1000 / fps;
+			timer.setDelay(delay);
+			timer.setInitialDelay(delay * 10);
+			if (frozen) 
+			    startAnimation();
+		    }
+	    } 
+	else 
+	    { 
+		textField.setText(String.valueOf(fps));
+	    }
+    }
+   
+    /**
+     * This method will set the slider value when the user adjusting
+     * the frame per second value using the textfield.
+     * <br>If user adjusting the frame per second value using text field, the
+     * slider's arrow position will be changed into that value.
+     * @param e the text field
+     */
+    public void propertyChange(PropertyChangeEvent e) 
+    {
+        if ("value".equals(e.getPropertyName())) 
+	    {
+		Number value;
+		value = (Number)e.getNewValue();
+		if (framesPerSecond != null && value != null) 
+		    {
+			framesPerSecond.setValue(value.intValue());
+		    }
+	    }
+    }
+
+    /**
+     * This method will start the timer.
+     */
+    public void startAnimation() 
+    {
+        timer.start();
+        frozen = false;
+    }
+
+    /**
+     * This method will stop the timer.
+     */
+    public void stopAnimation() 
+    {
+        timer.stop();
+        frozen = true;
+    }
+
+    /**
+     * This method will tell what should happen when the timer is start.
+     * When the timer start it will increase the framenumber and will
+     * update the label with the new image icon.
+     * If the timer already display all the image icon in the list, it 
+     * will restart the timer and reanimate the image icon again.
+     * @param e fires when the timer start.
+     */
+    public void actionPerformed(ActionEvent e) 
+    {
+        if (frameNumber == (NUM_FRAMES - 1))
+            frameNumber = 0;
+        else 
+            frameNumber++;
+        
+        updatePicture(frameNumber);
+
+        if ((frameNumber == (NUM_FRAMES - 1)) ||
+	    (frameNumber==(NUM_FRAMES/2 - 1)))
+            timer.restart();
+    }
+
+    /**
+     * This will update the label with the new ImageIcon.
+     * If the ImageIcon is null then the label will display an error message
+     * instead of the picture.
+     * @param frameNum this is the index of the ImageIcon to be displayed. 
+     */
+    protected void updatePicture(int frameNum) 
+    {
+        if (images.get(frameNumber) != null) 
+	    {
+		picture.setIcon((ImageIcon) images.get(frameNumber));
+	    } 
+	else 
+	    {
+		picture.setText(messages.getString("image")+" #"
+				+ frameNumber + " " +
+				messages.getString("notfound"));
+	    }
+    }
+}
+
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/MyTextArea.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/MyTextArea.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/MyTextArea.java	(revision 21123)
@@ -0,0 +1,85 @@
+/** This class is not currently used and therefore will not be compiled by makegli. */
+
+package org.greenstone.gatherer.feedback;
+
+import javax.swing.*;
+import javax.swing.text.*;
+import java.util.Date;
+import java.awt.Color;
+
+/**
+ * This class will allow us to changed what should be inputted to the 
+ * text area as the user inputted the text to the text area.
+ * @author Veronica Liesaputra
+ */
+public class MyTextArea extends JTextArea 
+{
+    /**
+     * Creating an empty JTextArea.
+     */
+    public MyTextArea ()
+    {
+	super();
+    }
+
+    /**
+     * Creating a JTextArea already appended with cols.
+     * (Precondition: (cols != null))
+     * @param cols the text to be appended.
+     */
+    public MyTextArea(String cols) 
+    {
+	super(cols);
+    }
+ 
+    /**
+     * It will give the default model this text area should use.
+     * @return the default model this text area used.
+     */
+    protected Document createDefaultModel() 
+    {
+	return new UpperCaseDocument();
+    }
+ 
+    /**
+     * This class will be used as the default model of MyTextArea.
+     * Here we can control and modified the string that is going to be inserted to 
+     * the document.
+     */
+    static class UpperCaseDocument extends PlainDocument 
+    {
+	/**
+	 * This method will caused the document to be appended with the date followed by newline
+	 * everytime user trying to insert a new line to the document.
+	 * (Precondition : (offs >= 0) && (str != null))
+	 * @param offs is the offset placted to insert the string.
+	 * @param str is the string to be inserted.
+	 * @param a is the attribute set to be used.
+	 */
+	public void insertString(int offs, String str, AttributeSet a) 
+	    throws BadLocationException 
+	{
+	    if (str == null) 
+		{
+		    return;
+		}
+	    
+	    char[] upper;
+	    upper = str.toCharArray();
+
+	    if (str.endsWith("\n") == true)
+		{
+		    String str2;
+		    str2 = str + ((new Date()).toString()) + "\n\n>";
+		    upper = str2.toCharArray();
+		}
+	   
+	    super.insertString(offs, new String(upper), a);
+	}
+    }
+}
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/ReportDetails.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/ReportDetails.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/ReportDetails.java	(revision 21123)
@@ -0,0 +1,1304 @@
+package org.greenstone.gatherer.feedback;
+
+import java.io.*;
+import java.awt.image.*;
+import javax.swing.*;
+import java.awt.*;
+import java.util.*;
+import javax.swing.event.MouseInputAdapter;
+import java.awt.event.*;
+import javax.swing.border.*;
+import java.util.Locale;
+import java.util.ResourceBundle;
+import java.text.MessageFormat;
+import javax.swing.tree.*;
+
+/**
+ * This class can give preview of all the history of actions user did or give preview of all the
+ * xml files that are ready to be send and it also can give preview of all the screen shot of
+ * all window taken when user did the actions.
+ * If user select Details button then they will view all xml files that are going to be send.
+ * If user select View History then they will see the history record that we took so far.
+ * @author Veronica Liesaputra
+ */
+public class ReportDetails extends WindowAdapter 
+{
+    /**
+     * This is the tree that will be used to hold the feedback form,the history stored inside the vector 
+     * at the moment, and hold the comment user did when they recreating the event.
+     * This tree's data partly will be supplied from whats inside vector. 
+     */
+    private JTree tree;
+    /**
+     * This is the root node for tree.
+     */
+    private DefaultMutableTreeNode rootNode;
+    /**
+     * This hold the parent node of the current node that is currently just being added to tree.
+     */
+    private DefaultMutableTreeNode parentNode;
+    /**
+     * This hold the current node that is currently just being added to tree.
+     */
+    private DefaultMutableTreeNode currNode;
+    /**
+     * This is the tree model for tree.
+     */
+    private DefaultTreeModel treeModel;
+
+    /**
+     * This is the tree that will be used to hold the commands (actions) done by the user inside the vector
+     * at the moment.This tree builds from partial data of tree and which data entered to this tree
+     * is signed by the value of comm_bool and comm_start. 
+     */
+    private JTree tree2;
+    /**
+     * This is the root node for tree2.
+     */
+    private DefaultMutableTreeNode rootNode2;
+    /**
+     * This is the parent node of the current node that is currently just being added to tree2.
+     */
+    private DefaultMutableTreeNode parentNode2;
+    /**
+     * This is the current node that is currently just being added to tree2.
+     */
+    private DefaultMutableTreeNode currNode2;
+    /**
+     * This is the tree model for tree2.
+     */
+    private DefaultTreeModel treeModel2;
+
+    /**
+     * This is the tree that will be used to hold the history of all the actions
+     * done by the user before they choose to do the Reporting Feedback sequence.
+     */
+    private JTree tree3;
+    /**
+     * This is the root node for tree3.
+     */
+    private DefaultMutableTreeNode rootNode3;
+    /**
+     * This is the parent node for the current node that is currently just being added to tree3.
+     */
+    private DefaultMutableTreeNode parentNode3;
+    /**
+     * This is the current node that is currently just being added to tree3.
+     */
+    private DefaultMutableTreeNode currNode3;
+    /**
+     * This is the tree model for tree3.
+     */
+    private DefaultTreeModel treeModel3;
+
+    /**
+     * This is the tree that will be used to hold the commands (actions) done by the user 
+     * before they choose to do the Reporting Feedback sequence.This tree builds from partial data of tree3 
+     * and which data entered to this tree2 is signed by the value of comm_bool and comm_start. 
+     */
+    private JTree tree4;
+    /**
+     * This is the root node for tree4.
+     */
+    private DefaultMutableTreeNode rootNode4;
+    /**
+     * This is the parent node for the current node that is currently just being added to tree4.
+     */
+    private DefaultMutableTreeNode parentNode4;
+    /**
+     * This is the current node that is currently just being added to tree4.
+     */
+    private DefaultMutableTreeNode currNode4;
+    /**
+     * This is the tree model for tree4.
+     */
+    private DefaultTreeModel treeModel4;
+
+    /**
+     * This is the panel to display tree4.
+     */
+    private JPanel pane4;
+    /**
+     * This is the scroll pane for displaying tree3, so it is scrollable.
+     */
+    private JScrollPane scroll3;
+    /**
+     * This is the scroll pane for displaying tree4, so it is scrollable.
+     */
+    private JScrollPane scroll4;
+
+    /**
+     * This is the panel to display tree2.
+     */
+    private JPanel pane2;
+    /**
+     * This is the scroll pane for displaying tree2, so it is scrollable.
+     */
+    private JScrollPane scroll2;
+    /**
+     * This is the scroll pane for displaying tree, so it is scrollable.
+     */
+    private JScrollPane scroll;
+   
+    /**
+     * This is all the information taken from the Feedback form and information that
+     * was taken from the system.
+     */
+    private String[] err_details;
+    
+    /**
+     * This is the vector that hold all information about the history of all
+     * the actions user did.
+     * If rec = true, it means it hold the history of all the actions and information
+     * of all the windows were open when user did the actions during reporting feedback
+     * sequence.
+     * If rec = false, it means it hold the history of all the actions and information
+     * of all the windows were open when user did the actions before and after
+     * reporting feedback sequence.
+     */
+    private Vector vector;
+    
+    /**
+     * This is a variable to know which tag xml data that wants to be added to the JTree. 
+     */
+    private int count;
+    
+    /**
+     * This is a flag variable to sign whether or not the next data is to be added to
+     * the command JTree. 
+     */
+    private boolean comm_bool = false;
+    /**
+     * This is a flag variable to sign whether or not the next history is to be added to
+     * the command JTree.
+     */
+    private boolean comm_start = false;
+    /**
+     * This is a flag variable to sign whether or not at the moment we building a new tree
+     * or build from the existing tree.
+     */
+    private boolean new_tree = false;
+    
+    /**
+     * This is a flag variable to sign which type of preview that user wants at the moment.
+     * If its true, then its means user will view all the 6 xml files that will be send.
+     * If its false, then its means user only wants to view the history and command user just did
+     * before and after the reporting feedback sequence.
+     */
+    private boolean rec = false;
+   
+    /**
+     * This is array list of all the image icons that are inside all the command JTree.
+     */
+    private ArrayList movie;
+
+    /**
+     * This variable will hold the resource of the words that is stored in Messages.properties file.
+     * The calling using messages.getString(someString) will caused someString to be translated
+     * into some other string that is hold in that file.usually it will caused it to be translated
+     * to the language that the user use or choose to have as stated in Locale.
+     */
+    private static ResourceBundle messages;
+
+    private String[] img;
+   
+    /**
+     * This constructor will be seeting up the data member to its appropriate value.
+     * (Precondition : (msg != null) && (bool != null))
+     * @param stack this is all vector to be supplied to tree.
+     * @param err_array holding all the information taken when user doing the FeedbackInterface form.
+     * @param imgFile holding all the information inside all the panels in the FeedbackInterface form.
+     * @param msg hold the resource of the words that is stored in Messages.properties file.
+     * @param bool hold the falg value of rec.
+     */
+    public ReportDetails(Vector stack,String[] err_array,String[] imgFile,ResourceBundle msg,boolean bool)
+    {
+	img = imgFile;
+	vector = stack;
+	err_details = err_array;
+	messages = msg;
+	rec = bool;
+	movie = new ArrayList();
+	makeNewWindow();
+    }
+
+    /**
+     * This method will make a modal-dialog window that will display all the preview.
+     */
+    public void makeNewWindow()
+    {
+	JDialog frame;
+	frame = new View (this);
+	frame.setModal(true);
+	frame.setVisible(true);
+    }
+
+    /**
+     * This class is the dialog window that will give the preview.
+     */
+    class View extends JDialog implements ActionListener
+    {
+	/**
+	 * This variable is holding the current window that display the preview.
+	 */
+	private JDialog frame;
+	/**
+	 * This variable holding the owner of this window.
+	 */
+	private ReportDetails framework = null;
+
+	/**
+	 * This constructor will make the dialog window for previewing and setting up the
+	 * content pane of this window.
+	 * @param controller is the owner of this window.
+	 */
+	public View (ReportDetails controller)
+	{
+	    super();
+	    framework = controller;
+	    frame = this;
+
+	    setTitle(messages.getString("ViewReport"));  
+	    setBackground(new Color(176,208,176));
+	    setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
+	    setDefaultLookAndFeelDecorated(true);
+	 
+	    JPanel cont;
+	    cont = new JPanel();
+	    cont.setLayout(new BoxLayout(cont,BoxLayout.PAGE_AXIS));
+	    cont.setBackground(new Color(176,208,176));
+	
+	    JTabbedPane tab;
+	    tab = new JTabbedPane();
+	    tab.setBackground(new Color(176,208,176));
+
+	    new_tree = false;
+
+	    if (err_details != null)
+		{
+		    tab.addTab(messages.getString("ViewFeedbackForm"), 
+			       createFeedback_UI(err_details,img));
+		}
+	    
+	    if (rec == true)
+		{
+		    tab.addTab(messages.getString("ViewFeedbackHistoryState"),
+			       createFeedbackHistory_UI(vector));
+		    tab.addTab(messages.getString("ViewFeedbackCommandState"),pane2);
+		    /*tab.addTab(messages.getString("ViewHistoryState"),
+		      createHistory_UI());*/
+		    createHistory_UI();
+		    tab.addTab(messages.getString("ViewCommandState"),pane4);
+		}
+	    else
+		{
+		    /*tab.addTab(messages.getString("ViewHistoryState"),
+		      createFeedbackHistory_UI(vector));*/
+		    createFeedbackHistory_UI(vector);
+		    tab.addTab(messages.getString("ViewCommandState"),pane2);
+		}
+
+	    cont.add(tab);
+
+	    JLabel lbl;
+	    lbl = new JLabel("   ");
+	    lbl.setBackground(new Color(176,208,176));
+
+	    cont.add(lbl);
+
+	    JPanel pane3;
+	    pane3 = new JPanel();
+	    pane3.setBackground(new Color(176,208,176));
+	    JButton button;
+	    button = new JButton(messages.getString("Close"));
+	    button.setActionCommand(messages.getString("Close"));
+	    button.addActionListener(this);
+	    button.setDefaultCapable(true);
+	    button.setToolTipText(messages.getString("ClosePreview"));
+	    button.setBackground(new Color(176,208,176));
+	   
+	    /*JButton button2;
+	    button2 = new JButton(messages.getString("ViewMovie"));
+	    button2.setActionCommand(messages.getString("ViewMovie"));
+	    button2.addActionListener(new ActionListener()
+		{
+		    public void actionPerformed (ActionEvent e)
+		    {
+			JDialog.setDefaultLookAndFeelDecorated(true);
+			JDialog frame;
+			frame = new Movie(messages,movie);
+
+			frame.setContentPane(((Movie)frame).create_UI());
+			frame.pack();
+			frame.setVisible(true);
+		    }
+		});
+	    button2.setToolTipText(messages.getString("ViewMovieText"));
+	    button2.setBackground(new Color(176,208,176));
+	    pane3.add(button2);*/
+	    pane3.add(button);
+	    pane3.setBorder(new EmptyBorder(new Insets(0,10,10,10)));
+
+	    cont.add(pane3);
+
+	    cont.setBorder(new EmptyBorder(new Insets(5,5,5,5)));
+	    getContentPane().add(cont);
+
+	    tab.setAlignmentX(Component.LEFT_ALIGNMENT);
+	    lbl.setAlignmentX(Component.LEFT_ALIGNMENT);
+	    pane3.setAlignmentX(Component.LEFT_ALIGNMENT);
+	    
+	    addWindowListener(framework);
+	    Toolkit kit;
+	    kit = Toolkit.getDefaultToolkit();
+	    Dimension screenSize;
+	    screenSize = kit.getScreenSize();
+	    int screenHeight;
+	    screenHeight = screenSize.height;
+	    int screenWidth;
+	    screenWidth = screenSize.width;
+	    Dimension size;
+	    size = this.getSize();
+	    setLocation((screenWidth -size.width)/ 4, 
+			(screenHeight - size.height)/ 4);
+
+	    pack();
+	    setResizable(false);
+	}
+	
+	/**
+	 * This method will get the vector that is stored inside temp_feedbackhist.log
+	 * if rec is true, and will get the vector that is stored inside temp_history.log
+	 * if rec is false. If file is not exist then it will return null. 
+	 * @return vector that is stored in the file.
+	 */
+	public Vector getPrev_log()
+	{
+	    Vector stack = null;
+	    try
+		{
+		    File f;
+		    if (rec == true)
+			{
+			    f = new File("temp_feedbackhist.log");
+			}
+		    else
+			{
+			    f = new File("temp_history.log");
+			}
+
+		    if (f.exists() == true)
+		    {
+			FileInputStream fis = new FileInputStream(f);
+			ObjectInputStream ois = new ObjectInputStream(fis);
+			stack = (Vector) ois.readObject();
+			ois.close();
+			return stack;
+		    }
+		    else
+			stack = null; 
+		}
+	    catch (IOException exp) {exp.printStackTrace();}
+	    catch (ClassNotFoundException exp2) 
+		{
+		    System.out.println("class exp");}
+	    
+	    return stack;
+	}
+
+	/**
+	 * This method will update the graphics of this window and it will
+	 * set variable finish in Conformation to true.
+	 * @param g is the graphics for this window.
+	 */
+	public void paint (Graphics g)
+	{
+	    super.paint(g); 
+	    FeedbackInterface.setFinish(true);
+	}
+
+	/**
+	 * This method will close the preview window if user select close button.
+	 * @param e action event user did.
+	 */
+	public void actionPerformed (ActionEvent e)
+	{   
+	    if(messages.getString("Close").equals(e.getActionCommand()))
+		{ 
+		    dispose();
+		}
+	}
+
+	/**
+	 * This method will add a record to history tree and the command tree.
+	 * @param log is the record to be added.
+	 */
+	public void getHist(History log)
+	{
+	    comm_bool = true;
+	    startContent(10);
+
+	    startContent(7);
+	    saveContent(log.getDate());
+	    closeContent(7);
+	    
+	    startContent(2);
+	    saveContent(log.getTitle());
+	    closeContent(2);
+	    
+	    startContent(8);
+	    saveContent(log.getCommand());
+	    closeContent(8);
+	  
+	    String image;
+	    image = log.getImage();
+
+	    if (image != null)
+		{
+		    byte[] img;
+		    img = Base64.decode(image);
+		    
+		    String width,height;
+		    width = log.getWidth();
+		    height = log.getHeight();
+		    
+		    int w,h;
+		    w = Integer.parseInt(width);
+		    h = Integer.parseInt(height);
+
+		    ImageIcon icon,small_icon;
+		    small_icon = new ImageIcon(img);
+		    icon = new ImageIcon
+			(small_icon.getImage().getScaledInstance(w,h,Image.SCALE_SMOOTH));
+
+		    movie.add(0,icon);
+
+		    startContent(6);
+		    saveImage(log.getImageName(),width,height);
+		    closeContent(6);
+		}
+	    comm_bool = false;
+	    
+	    ArrayList component;
+	    component = log.getArray();
+	    int j;
+	    for (j = 0 ; j < component.size() ; j++)
+		{
+		    startContent(9);
+		    CompGroup comp;
+		    comp = (CompGroup) component.get(j);
+		    
+		    startContent(8);
+		    saveContent(comp.getStatus());
+		    closeContent(8);
+		    
+		    startContent(0);
+		    UserComponent cmp;
+		    cmp = comp.getComponent();
+		    showReport(cmp);
+		    closeContent(0);
+		    
+		    closeContent(9);
+		}
+	    
+	    comm_bool = true;
+	    closeContent(10);
+	    comm_bool = false;
+	}
+    
+	/**
+	 * This method will make the tree that contains the history and the commands of all the actions and window 
+	 * open when user did the action that stored in vector.
+	 * @param vector the vector that contains the information need to be display in tree.
+	 * @return       the panel that display tree and tree2.
+	 */
+	public JPanel createFeedbackHistory_UI(Vector vector)
+	{
+	    scroll = null;
+	    int k;
+
+	    tree = null;
+	    rootNode = null;
+	    currNode = null;
+	    parentNode =  null; 
+	    treeModel = null;
+
+	    tree2 = null;
+	    rootNode2 = null;
+	    currNode2 = null;
+	    parentNode2 =  null; 
+	    treeModel2 = null;
+	    
+	    comm_bool = true;
+	    comm_start = true;
+	    new_tree = false;
+
+	    startElement(messages.getString("HISTORY"));
+ 
+	    for (k = 0 ; k < vector.size() ; k++)
+		{
+		    History log;
+		    log = (History) vector.get(k);
+		    getHist(log);
+		}
+
+	    Vector stack;
+	    stack = getPrev_log();
+	    if (stack != null)
+		{
+		    for (k = 0 ; k < stack.size() ; k++)
+			{
+			    History log;
+			    log = (History) stack.get(k);
+			    getHist(log);
+			}
+		    stack.removeAllElements();
+		    System.gc();
+		    stack = null;
+		}
+
+	    comm_bool = true;
+	    endElement(messages.getString("HISTORY"));
+	    comm_bool = false;
+	    
+	    comm_start = false;
+	
+	    pane2 = new JPanel();
+	    pane2.add(scroll2);
+	    pane2.setBackground(new Color(176,208,176));
+	    pane2.setBorder(new EmptyBorder(new Insets(10,10,10,10)));
+
+	    JPanel pane;
+	    pane = new JPanel();
+	    pane.add(scroll);
+	    pane.setBackground(new Color(176,208,176));
+	    pane.setBorder(new EmptyBorder(new Insets(10,10,10,10)));
+	    
+	    return pane;
+	}
+
+	/**
+	 * This method will make the tree that contains the history and the commands of all the actions and window 
+	 * open when user did the action before user choose the reporting feedback sequence.
+	 * @return the panel contains the preview of this history and commands before user choose to start
+	 *         the reporting feedback sequence.
+	 */
+	public JPanel createHistory_UI()
+	{
+	    scroll3 = null;
+	    int k;
+
+	    tree3 = null;
+	    rootNode3 = null;
+	    currNode3 = null;
+	    parentNode3 =  null; 
+	    treeModel3 = null;
+
+	    tree4 = null;
+	    rootNode4 = null;
+	    currNode4 = null;
+	    parentNode4 =  null; 
+	    treeModel4 = null;
+	    
+	    comm_bool = true;
+	    comm_start = true;
+	    new_tree = true;
+
+	    startElement(messages.getString("HISTORY"));
+ 
+	    try
+		{
+		    File f = new File("history.log");
+		    FileInputStream fis = new FileInputStream(f);
+		    ObjectInputStream ois = new ObjectInputStream(fis);
+		    
+		    Vector stack;
+		    stack = (Vector) ois.readObject();
+
+		    if (stack != null)
+			{
+			    for (k = 0 ; k < stack.size() ; k++)
+				{
+				    History log;
+				    log = (History) stack.get(k);
+				    getHist(log);
+				}
+			    stack.removeAllElements();
+			    System.gc();
+			    stack = null;
+			}
+		    
+		    stack = (Vector) ois.readObject();
+		    
+		    if (stack != null)
+			{
+			    for (k = 0 ; k < stack.size() ; k++)
+				{
+				    History log;
+				    log = (History) stack.get(k);
+				    getHist(log);
+				}
+			    stack.removeAllElements();
+			    System.gc();
+			    stack = null;
+			}
+		
+		    ois.close();
+		}
+	    catch (IOException exp) {exp.printStackTrace();}
+	    catch (ClassNotFoundException exp2) 
+		{
+		    System.out.println("class exp");}
+	    
+	    comm_bool = true;
+	    endElement(messages.getString("HISTORY"));
+	    comm_bool = false;
+	    
+	    comm_start = false;
+	
+	    pane4 = new JPanel();
+	    pane4.add(scroll4);
+	    pane4.setBackground(new Color(176,208,176));
+	    pane4.setBorder(new EmptyBorder(new Insets(10,10,10,10)));
+
+	    JPanel pane;
+	    pane = new JPanel();
+	    pane.add(scroll3);
+	    pane.setBackground(new Color(176,208,176));
+	    pane.setBorder(new EmptyBorder(new Insets(10,10,10,10)));
+	    
+	    return pane;
+	}
+
+	/**
+	 * This method display all the information taken when user did the Feedback form.
+	 * @param err_details is the information taken when user did the Feedback form.
+	 * @param img         is the information from all the panels inside the Feedback form.
+	 * @return            panel displaying the information.
+	 */
+	public JPanel createFeedback_UI(String[] err_details,String[] img)
+	{
+	    scroll = null;
+	 
+	    tree = null;
+	    rootNode = null;
+	    currNode = null;
+	    parentNode =  null; 
+	    treeModel = null;
+
+	    tree2 = null;
+	    rootNode2 = null;
+	    currNode2 = null;
+	    parentNode2 =  null; 
+	    treeModel2 = null;
+
+	    startElement(messages.getString("BUGS"));
+	    
+	    startElement(messages.getString("IDCode"));
+	    characters(err_details[0].toCharArray(),0,err_details[0].length());
+	    endElement(messages.getString("IDCode"));
+	
+	    startElement(messages.getString("LastViewedWindow"));
+	    characters(err_details[1].toCharArray(),0,err_details[1].length());
+	    endElement(messages.getString("LastViewedWindow"));
+	    
+	    startElement(messages.getString("Optionals"));
+	   
+	    startElement(messages.getString("Type"));
+	    characters(err_details[3].toCharArray(),0,err_details[3].length());
+	    endElement(messages.getString("Type"));
+		
+	    startElement(messages.getString("Urgency"));
+	    characters(err_details[4].toCharArray(),0,err_details[4].length());
+	    endElement(messages.getString("Urgency"));
+	    
+	    endElement(messages.getString("Optionals"));
+	
+	    startElement(messages.getString("User"));
+	    
+	    startElement(messages.getString("Name"));
+	    characters(err_details[5].toCharArray(),0,err_details[5].length());
+	    endElement(messages.getString("Name"));
+	    
+	    startElement(messages.getString("HomeDirectory"));
+	    characters(err_details[6].toCharArray(),0,err_details[6].length());
+	    endElement(messages.getString("HomeDirectory"));
+	    
+	    startElement(messages.getString("WorkingDirectory"));
+	    characters(err_details[7].toCharArray(),0,err_details[7].length());
+	    endElement(messages.getString("WorkingDirectory"));
+	    
+	    startElement(messages.getString("SMTP"));
+	    characters(err_details[19].toCharArray(),0,err_details[19].length());
+	    endElement(messages.getString("SMTP"));
+	    
+	    startElement(messages.getString("Email"));
+	    characters(err_details[20].toCharArray(),0,err_details[20].length());
+	    endElement(messages.getString("Email"));
+
+	    endElement(messages.getString("User"));
+	    
+	    startElement(messages.getString("OpenFormTime"));
+	    characters(err_details[8].toCharArray(),0,err_details[8].length());
+	    endElement(messages.getString("OpenFormTime"));
+
+	    startElement(messages.getString("SendFormTime"));
+	    characters(err_details[9].toCharArray(),0,err_details[9].length());
+	    endElement(messages.getString("SendFormTime"));
+	    
+	    startElement(messages.getString("OperatingSystem"));
+	    characters(err_details[10].toCharArray(),0,err_details[10].length());
+	    endElement(messages.getString("OperatingSystem"));
+
+	    startElement(messages.getString("Java"));
+	    
+	    startElement(messages.getString("JavaInformation"));
+	    characters(err_details[11].toCharArray(),0,err_details[11].length());
+	    endElement(messages.getString("JavaInformation"));
+	    
+	    startElement(messages.getString("TotalMemory"));
+	    characters(err_details[21].toCharArray(),0,err_details[21].length());
+	    endElement(messages.getString("TotalMemory"));
+
+	    startElement(messages.getString("MaxMemory"));
+	    characters(err_details[22].toCharArray(),0,err_details[22].length());
+	    endElement(messages.getString("MaxMemory"));
+
+	    startElement(messages.getString("FreeMemory"));
+	    characters(err_details[23].toCharArray(),0,err_details[23].length());
+	    endElement(messages.getString("FreeMemory"));
+
+	    startElement(messages.getString("DefaultLocale"));
+	    characters(err_details[12].toCharArray(),0,err_details[12].length());
+	    endElement(messages.getString("DefaultLocale"));
+	
+
+	    endElement(messages.getString("Java"));
+	    
+	    startElement(messages.getString("Browser"));
+	    characters(err_details[13].toCharArray(),0,err_details[13].length());
+	    endElement(messages.getString("Browser"));
+	
+	    startElement(messages.getString("LocalHostName"));
+	    characters(err_details[14].toCharArray(),0,err_details[14].length());
+	    endElement(messages.getString("LocalHostName"));
+	
+	    startElement(messages.getString("LocalHostAddress"));
+	    characters(err_details[15].toCharArray(),0,err_details[15].length());
+	    endElement(messages.getString("LocalHostAddress"));
+	    
+	    startElement(messages.getString("ScreenResolution"));
+	    characters(err_details[16].toCharArray(),0,err_details[16].length());
+	    endElement(messages.getString("ScreenResolution"));
+
+	    if (img!=null)
+		{
+		    startElement("Sequences");
+		    int i;
+		    for ( i = 0 ; i < img.length ; i= i + 10)
+			{
+			    startElement("Sequence");
+			    
+			    startElement("Title");
+			    characters(img[i].toCharArray(),0,img[i].length());
+			    endElement("Title");
+			    
+			    startElement("Details");
+			    characters(img[i+9].toCharArray(),0,img[i+9].length());
+			    endElement("Details");
+			    
+			    startElement("ImageDescription");
+			    
+			    startElement("ScreenShot");
+			    startElement("Image");
+			    saveImage(img[i+2],img[i+7],img[i+8]);
+			    endElement("Image");
+			    endElement("ScreenShot");
+			    
+			    startElement("ErrorLineAndScreenShot");
+			    startElement("Image");
+			    saveImage(img[i+4],img[i+7],img[i+8]);
+			    endElement("Image");
+			    endElement("ErrorLineAndScreenShot");
+			    
+			    startElement("ErrorLineForScreenShot");
+			    startElement("Image");
+			    saveImage(img[i+6],img[i+7],img[i+8]); 
+			    endElement("Image");
+			    endElement("ErrorLineForScreenShot");
+			  
+			    endElement("ImageDescription");
+			    
+			    endElement("Sequence");
+			}
+		    endElement("Sequences");
+		}
+
+	    endElement(messages.getString("BUGS"));
+	    
+	    JPanel pane;
+	    pane = new JPanel();
+	    pane.add(scroll);
+	    pane.setBackground(new Color(176,208,176));
+	    pane.setBorder(new EmptyBorder(new Insets(10,10,10,10)));
+
+	    return pane;
+	}
+	
+	/**
+	 * This will add the UserComponent to the tree.
+	 * @param sx is the UserComponent to be added. 
+	 */
+	public void showReport (UserComponent sx)
+	{
+	    String type;
+	    type = sx.getType();
+	    String title;
+	    title = sx.getTitle();
+	    ArrayList content;
+	    content = sx.getContent();
+	    String selected;
+	    selected = sx.getSelected();
+	    String visible;
+	    visible = sx.getVisible();
+	    String image;
+	    image = sx.getImage();
+	    String img;
+	    img = sx.getImageFileName();
+	    String width;
+	    width = sx.getWidth();
+	    String height;
+	    height = sx.getHeight();
+	    String tooltip;
+	    tooltip = sx.getToolTip();
+	    
+	    if (type != null)
+		{
+		    startContent(1);
+		    saveContent(type);
+		    closeContent(1);
+		}
+	    
+	    if (title != null)
+		{
+		    startContent(2);
+		    saveContent(title);
+		    closeContent(2);
+		}
+	    
+	    if (content != null)
+		{
+		    startContent(3);
+		    int j;
+		    for ( j = 0 ; j < content.size() ; j++)
+			{
+			    if (content.get(j) instanceof String)
+				saveContent((String) content.get(j));
+			    else if (content.get(j) instanceof UserComponent)
+				{
+				    startContent(0);
+				    UserComponent cmp;
+				    cmp = (UserComponent) content.get(j);
+				    showReport(cmp);
+				    closeContent(0);
+				}
+			}
+		    closeContent(3);
+		}
+	    
+	    if (selected != null)
+		{
+		    startContent(4);
+		    saveContent(selected);
+		    closeContent(4);
+		}
+	    
+	    if (visible != null)
+		{
+		    startContent(5);
+		    saveContent(visible);
+		    closeContent(5);
+		}
+	
+	    if (img != null)
+		{
+		    startContent(6);
+		    saveImage(img,width,height);
+		    closeContent(6);
+		}
+	    else
+		{
+		    if (image != null)
+			{ 
+			    startContent(11);
+			    saveContent(image);
+			    closeContent(11);
+			} 
+		}
+
+	    if (tooltip != null)
+		{
+		    startContent(12);
+		    saveContent(tooltip);
+		    closeContent(12);
+		}
+	}
+	
+	/**
+	 * This method will give what type of information this node hold according the number
+	 * @param num the number that describe what type of information it hold.
+	 */
+	public void startContent (int num)
+	{
+	    switch(num)
+		{
+		case 0: startElement(messages.getString("COMPONENT"));
+		    break;
+		case 1: startElement(messages.getString("Type"));
+		    break;
+		case 2: startElement(messages.getString("Title"));
+		    break;
+		case 3: startElement(messages.getString("Content"));
+		    break;
+		case 4: startElement(messages.getString("Selected"));
+		    break;
+		case 5: startElement(messages.getString("Visible"));  
+		    break;
+		case 6: startElement(messages.getString("Image"));
+		    break;
+		case 7: startElement(messages.getString("Date"));
+		    break;
+		case 8: startElement(messages.getString("Command"));
+		    break;
+		case 9: startElement(messages.getString("COMPONENTS"));
+		    break;
+		case 10:startElement(messages.getString("LOG"));
+		    break;
+		case 11:startElement(messages.getString("Icon"));
+		    break;
+		case 12:startElement(messages.getString("ToolTipText"));
+		    break;
+		case 13:startElement(messages.getString("Comment"));
+		    break;
+		}
+	}
+	
+	/**
+	 * This will add the text content to the current node.
+	 * @param text is the text content of the current node.
+	 */
+	public void saveContent (String text)
+	{
+	    if (text == null)
+		text = "\t";
+	    characters(text.toCharArray(),0,text.length());
+	}
+	
+	/**
+	 * This will say that what type of information that has been finished added
+	 * accroding its number.
+	 * @param num  the number that describe what type of information it hold.
+	 */
+	public void closeContent (int num)
+	{
+	    switch(num)
+		{
+		case 0: endElement(messages.getString("COMPONENT"));
+		    break;
+		case 1: endElement(messages.getString("Type"));
+		    break;
+		case 2: endElement(messages.getString("Title"));
+		    break;
+		case 3: endElement(messages.getString("Content"));
+		    break;
+		case 4: endElement(messages.getString("Selected"));
+		    break;
+		case 5: endElement(messages.getString("Visible"));
+		    break;
+		case 6: endElement(messages.getString("Image"));
+		    break;
+		case 7: endElement(messages.getString("Date"));
+		    break;
+		case 8: endElement(messages.getString("Command"));
+		    break;
+		case 9: endElement(messages.getString("COMPONENTS"));
+		    break;
+		case 10:endElement(messages.getString("LOG"));
+		    break;
+		case 11:endElement(messages.getString("Icon"));
+		    break;
+		case 12:endElement(messages.getString("ToolTipText"));
+		    break;
+		case 13:endElement(messages.getString("Comment"));
+		    break;
+		}
+	}
+	
+	/**
+	 * This method will add the this string to the appropriate place in the tree.
+	 * @param type its the type to be added to the tree.
+	 */
+	public void startElement (String type)
+	{
+	   
+	    if ((comm_bool == true)&&(comm_start == true))
+		{
+		    if (new_tree == true)
+			{
+			    if (type == messages.getString("HISTORY"))
+				{
+				    rootNode4 = new DefaultMutableTreeNode(messages.getString("HISTORYCOMMANDS"));
+				    treeModel4 = new DefaultTreeModel(rootNode4);
+				    
+				    parentNode4 = rootNode4;
+				    tree4 = new JTree(treeModel4);
+				    tree4.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
+				    tree4.setBackground(new Color(224,240,224));
+				    tree4.setEditable(false);
+				    tree4.setShowsRootHandles(true);
+				}  
+			    else
+				{
+				    currNode4 = new DefaultMutableTreeNode(type + " : ");
+				    treeModel4.insertNodeInto(currNode4,parentNode4,parentNode4.getChildCount());
+				    parentNode4 = currNode4;
+				} 
+			}
+		    else
+			{
+			    if (type == messages.getString("HISTORY"))
+				{
+				    rootNode2 = new DefaultMutableTreeNode(messages.getString("HISTORYCOMMANDS"));
+				    treeModel2 = new DefaultTreeModel(rootNode2);
+				    
+				    parentNode2 = rootNode2;
+				    tree2 = new JTree(treeModel2);
+				    tree2.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
+				    tree2.setBackground(new Color(224,240,224));
+				    tree2.setEditable(false);
+				    tree2.setShowsRootHandles(true);
+				}  
+			    else
+				{
+				    currNode2 = new DefaultMutableTreeNode(type + " : ");
+				    treeModel2.insertNodeInto(currNode2,parentNode2,parentNode2.getChildCount());
+				    parentNode2 = currNode2;
+				} 
+			}
+		}
+		
+	    if ((type == messages.getString("COMMENTS"))||(type == messages.getString("BUGS"))||
+		(type == messages.getString("HISTORY")))
+		{
+		    if (new_tree == true)
+			{
+			    rootNode3 = new DefaultMutableTreeNode(type);
+			    treeModel3 = new DefaultTreeModel(rootNode3);
+			    
+			    parentNode3 = rootNode3;
+			    tree3 = new JTree(treeModel3);
+			    tree3.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
+			    
+			    tree3.setBackground(new Color(224,240,224));
+			    tree3.setEditable(false);
+			    tree3.setShowsRootHandles(true);
+			}
+		    else
+			{
+			    rootNode = new DefaultMutableTreeNode(type);
+			    treeModel = new DefaultTreeModel(rootNode);
+			    
+			    parentNode = rootNode;
+			    tree = new JTree(treeModel);
+			    tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
+			    
+			    tree.setBackground(new Color(224,240,224));
+			    tree.setEditable(false);
+			    tree.setShowsRootHandles(true);
+			}
+		}
+	    else
+		 {
+		     if (new_tree == true)
+			 {
+			     currNode3 = new DefaultMutableTreeNode(type + " : ");
+			     treeModel3.insertNodeInto(currNode3,parentNode3,parentNode3.getChildCount());
+			     parentNode3 = currNode3;
+			 }
+		     else
+			 {
+			     currNode = new DefaultMutableTreeNode(type + " : ");
+			     treeModel.insertNodeInto(currNode,parentNode,parentNode.getChildCount());
+			     parentNode = currNode;
+			 }
+		 }
+	}
+	
+	/**
+	 * This method is to mark that we finished adding the type to the tree.
+	 * @param type type that finished added to the tree.
+	 */
+	public void endElement (String type)
+	{
+	    if ((type == messages.getString("HISTORY"))||(type == messages.getString("BUGS"))||
+		(type == messages.getString("COMMENTS")))
+		{
+		    if (new_tree == true)
+			{
+			    scroll3 = new JScrollPane(tree3);
+			    scroll3.setPreferredSize(new Dimension(600,600));
+			    if (comm_bool == true)
+				{
+				    scroll4 = new JScrollPane(tree4);
+				    scroll4.setPreferredSize(new Dimension(600,600));
+				}
+			}
+		    else
+			{
+			    scroll = new JScrollPane(tree);
+			    scroll.setPreferredSize(new Dimension(600,600));
+			    if (comm_bool == true)
+				{
+				    scroll2 = new JScrollPane(tree2);
+				    scroll2.setPreferredSize(new Dimension(600,600));
+				}
+			}
+		}
+	    else
+		{
+		    if (new_tree == true)
+			{
+			    parentNode3 = (DefaultMutableTreeNode) parentNode3.getParent();
+			    
+			    if ((comm_bool == true)&&(comm_start == true))
+				{
+				    if (parentNode4 == null)  return;
+				    parentNode4 = (DefaultMutableTreeNode) parentNode4.getParent();
+				}  
+			}
+		    else
+			{
+			    parentNode = (DefaultMutableTreeNode) parentNode.getParent();
+			    
+			    if ((comm_bool == true)&&(comm_start == true))
+				{
+				    if (parentNode2 == null)  return;
+				    parentNode2 = (DefaultMutableTreeNode) parentNode2.getParent();
+				}  
+			}
+		}
+	}
+	
+	/*public BufferedImage iconToImage(Icon icon, Component targetComponent) 
+	{
+	    int w = icon.getIconWidth();
+	    int h = icon.getIconHeight();
+	    GraphicsConfiguration gc = targetComponent.getGraphicsConfiguration();
+	    BufferedImage image = gc.createCompatibleImage(w, h);
+	    Graphics2D g = image.createGraphics();
+	    icon.paintIcon(targetComponent,g,0,0);
+	    g.dispose();
+	    return image;
+	}
+	
+	public BufferedImage savingImage (ImageIcon img)
+	{
+	    JFrame f = new JFrame();
+	    f.setVisible(false);
+	    BufferedImage image = iconToImage(img,f);
+	    f.dispose();
+	    return image;
+	    }*/
+	
+	/**
+	 * This will add the image filename,width and height to the tree.
+	 * @param filename image's filename
+	 * @param width    image's width
+	 * @param height   image's height
+	 */
+	public void saveImage (String filename,String width,String height)
+	{
+	    startElement(messages.getString("Title"));
+	    characters(filename.toCharArray(),0,filename.length());
+	    endElement(messages.getString("Title"));
+	
+	    startElement(messages.getString("Size"));
+	    
+	    startElement(messages.getString("Width"));
+	    characters(width.toCharArray(),0,width.length());
+	    endElement(messages.getString("Width"));
+	    
+	    startElement(messages.getString("Height"));
+	    characters(height.toCharArray(),0,height.length());
+	    endElement(messages.getString("Height"));
+
+	    endElement(messages.getString("Size"));
+
+	    /*JFrame f = new JFrame();
+	    f.setVisible(false);
+	    BufferedImage image = savingImage(img);
+	    BufferedImage bi = new BufferedImage(400, 400, BufferedImage.TYPE_INT_RGB);
+	    Graphics2D big = bi.createGraphics();
+	    big.drawImage(image.getScaledInstance(400,400,Image.SCALE_SMOOTH),0,0,f);
+	    f.dispose();
+	    
+	
+	    JLabel label = new JLabel(new ImageIcon(bi));
+	    label.setPreferredSize(new Dimension(400,400));
+	    currNode = new DefaultMutableTreeNode(label);
+	    treeModel.insertNodeInto(currNode,parentNode,parentNode.getChildCount());*/
+	}
+	
+	/**
+	 * This method will add the characters to the current node's type.
+	 * @param ch is the char[] that is need to be added to the current node's type.
+	 * @param start is where we should start taking from ch.
+	 * @param len is the length of charcacters we should take from ch
+	 */
+	public void characters (char[] ch, int start, int len)
+	{
+	    String text;
+	    text = new String(ch,start,len);
+	    String text1;
+	    text1 = text.trim();
+	    if (text1.length() > 0)
+		{
+		    if ((comm_bool == true)&&(comm_start == true))
+			{
+			    if (new_tree == true)
+				{
+				    String txt2;
+				    txt2 = (String) currNode4.getUserObject();
+				    currNode4.setUserObject(txt2 + text1);
+				}
+			    else 
+				{
+				    String txt2;
+				    txt2 = (String) currNode2.getUserObject();
+				    currNode2.setUserObject(txt2 + text1);
+				}
+			}
+
+		    if (new_tree == true)
+			{
+			    String txt;
+			    txt = (String) currNode3.getUserObject();
+			    currNode3.setUserObject(txt + text1);
+			}
+		    else
+			{
+			    String txt;
+			    txt = (String) currNode.getUserObject();
+			    currNode.setUserObject(txt + text1);
+			}
+		}
+	}
+    }
+ 
+}
+
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/SaveToXML.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/SaveToXML.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/SaveToXML.java	(revision 21123)
@@ -0,0 +1,482 @@
+package org.greenstone.gatherer.feedback;
+
+import java.awt.image.*;
+import java.io.*;// SAX classes.
+import javax.imageio.*;
+import org.xml.sax.*;
+import org.xml.sax.helpers.*;//JAXP 1.1
+import javax.xml.parsers.*;
+import javax.xml.transform.*;
+import javax.xml.transform.stream.*;
+import javax.xml.transform.sax.*; 
+import java.util.Locale;
+import java.util.ResourceBundle;
+import java.text.MessageFormat;
+import java.util.*;
+
+/**
+ * This class will make xml files from the information given.
+ * @author Veronica Liesaputra
+ */
+public class SaveToXML
+{
+    /**
+     * This is the file where the xml file will be saved.
+     */
+    private FileOutputStream fos;
+    /**
+     * This is the transformer handler for the xml file.
+     */
+    private TransformerHandler hd;
+    /**
+     * This is the attribute implementation for the xml file.
+     */
+    private AttributesImpl atts;
+     /**
+     * This variable will hold the resource of the words that is stored in Messages.properties file.
+     * The calling using messages.getString(someString) will caused someString to be translated
+     * into some other string that is hold in that file.usually it will caused it to be translated
+     * to the language that the user use or choose to have as stated in Locale.
+     */
+    private static ResourceBundle messages;
+
+    /**
+     * This constructor will setup what languange should be use.
+     * @param msg will hold the resource of the words that is stored in Messages.properties file.
+     */
+    public SaveToXML(ResourceBundle msg)
+    {
+	messages = msg;
+    }
+
+    /**
+     * This will save the image, image filename,width and height to the xml file.
+     * @param image    image
+     * @param filename image's filename
+     * @param width    image's width
+     * @param height   image's height
+     */
+    public void saveImage (String image,String filename,String width,String height)
+    {
+	try
+	    {
+		hd.startElement("","","Title",atts);
+		hd.characters(filename.toCharArray(),0,filename.length());
+		hd.endElement("","","Title");
+		hd.startElement("","","Size",atts);
+		hd.startElement("","","Width",atts);
+		hd.characters(width.toCharArray(),0,width.length());
+		hd.endElement("","","Width");
+		hd.startElement("","","Height",atts);
+		hd.characters(height.toCharArray(),0,height.length());
+		hd.endElement("","","Height");
+		hd.endElement("","","Size");
+		hd.startElement("","","View",atts);
+		hd.characters(image.toCharArray(),0,image.length());
+		hd.endElement("","","View");
+	    }
+	catch(SAXException sax) {}
+    }
+
+    /**
+     * This method will create and setup the xml file.
+     * @param xmlname this is the file name for the xml file.
+     * @param type    this is the first tag that open the xml file.
+     */
+    public void open (String xmlname,String type)
+    {
+	try
+	    {
+		File f;
+		f = new File(xmlname);
+		fos = new FileOutputStream(f);
+		PrintWriter out;
+		out = new PrintWriter(fos);
+		StreamResult streamResult;
+		streamResult = new StreamResult(out);
+		SAXTransformerFactory tf;
+		tf = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
+		hd = tf.newTransformerHandler();
+		Transformer serializer;
+		serializer = hd.getTransformer();
+		
+		serializer.setOutputProperty(OutputKeys.ENCODING,"UTF-8");
+		//serializer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM,dtdname);
+		serializer.setOutputProperty(OutputKeys.INDENT,"yes");
+			
+		hd.setResult(streamResult);
+		atts = new AttributesImpl();
+		
+		hd.startDocument();
+		
+		hd.startElement("","",type,atts);   
+	    }
+	catch (IOException e){
+	    System.err.println ("Unable to write to file");
+	    System.exit(-1);
+	}catch (TransformerConfigurationException tce){
+	    System.err.println("Error in: TransformerConfigurationException");
+	}catch (SAXException spe) {
+	    // Error generated by the parser
+	    System.err.println("Error in: (SAXException");
+	    // Use the contained exception, if any
+	    Exception  x = spe;
+	    if (spe.getException() != null)
+		x = spe.getException();
+	    x.printStackTrace();
+	}
+    }
+
+    /**
+     * This method will setup to close the xml file.
+     * @param type    this is the last tag that close the xml file.
+     */
+    public void close(String type)
+    {
+	try
+	    {
+		hd.endElement("","",type);
+		hd.endDocument();
+		fos.close(); 
+	    }
+	catch (IOException e){
+	    System.err.println ("Unable to write to file");
+	    System.exit(-1);
+	}catch (SAXException spe) {
+	    // Error generated by the parser
+	    System.err.println("Error in: (SAXException");
+	    // Use the contained exception, if any
+	    Exception  x = spe;
+	    if (spe.getException() != null)
+		x = spe.getException();
+	    x.printStackTrace();
+	}
+    }
+
+    /**
+     * This method will add the open tag according to the number.
+     * @param num the number to say which type of tag it is.
+     */
+    public void startContent (int num)
+    {
+	try
+	    {
+		switch(num)
+		    {
+		    case 0: hd.startElement("","","COMPONENT",atts);
+			break;
+		    case 1: hd.startElement("","","Type",atts);
+			break;
+		    case 2: hd.startElement("","","Title",atts);
+			break;
+		    case 3: hd.startElement("","","Content",atts);
+			break;
+		    case 4: hd.startElement("","","Selected",atts);
+			break;
+		    case 5: hd.startElement("","","Visible",atts);  
+			break;
+		    case 6: hd.startElement("","","Image",atts);
+			break;
+		    case 7: hd.startElement("","","Date",atts);
+			break;
+		    case 8: hd.startElement("","","Command",atts);
+			break;
+		    case 9: hd.startElement("","","COMPONENTS",atts);
+			break;
+		    case 10:hd.startElement("","","LOG",atts);
+			break;
+		    case 11:hd.startElement("","","Icon",atts);
+			break;
+		    case 12:hd.startElement("","","ToolTipText",atts);
+			break;
+		    case 13:hd.startElement("","","Comment",atts);
+			break;
+		    }
+	    }
+	catch (SAXException spe) {
+	    // Error generated by the parser
+	    System.err.println("Error in: (SAXException");
+	    // Use the contained exception, if any
+	    Exception  x;
+	    x = spe;
+	    if (spe.getException() != null)
+		x = spe.getException();
+	    x.printStackTrace();
+	}
+    }
+
+    /**
+     * This method will add the text to the tag.
+     * @param text is the text to be saved in xml files.
+     */
+    public void saveContent (String text)
+    {
+	try
+	    {
+		if (text == null)
+		    text = "\t";
+		hd.characters(text.toCharArray(),0,text.length());
+	    }
+	catch (SAXException spe) {
+	    // Error generated by the parser
+	    System.err.println("Error in: (SAXException");
+	    // Use the contained exception, if any
+	    Exception  x;
+	    x = spe;
+	    if (spe.getException() != null)
+		x = spe.getException();
+	    x.printStackTrace();
+	}
+    }
+
+    /**
+     * This method will add the close tag according to the number.
+     * @param num the number to say which type of tag it is.
+     */
+    public void closeContent (int num)
+    {
+	try
+	    {
+		switch(num)
+		    {
+		    case 0: hd.endElement("","","COMPONENT");
+			break;
+		    case 1: hd.endElement("","","Type");
+			break;
+		    case 2: hd.endElement("","","Title");
+			break;
+		    case 3: hd.endElement("","","Content");
+			break;
+		    case 4: hd.endElement("","","Selected");
+			break;
+		    case 5: hd.endElement("","","Visible");
+			break;
+		    case 6: hd.endElement("","","Image");
+			break;
+		    case 7: hd.endElement("","","Date");
+			break;
+		    case 8: hd.endElement("","","Command");
+			break;
+		    case 9: hd.endElement("","","COMPONENTS");
+			break;
+		    case 10:hd.endElement("","","LOG");
+			break;
+		    case 11:hd.endElement("","","Icon");
+			break;
+		    case 12:hd.endElement("","","ToolTipText");
+			break;
+		    case 13:hd.endElement("","","Comment");
+			break;
+		    }
+	    }
+	catch (SAXException spe) {
+	    // Error generated by the parser
+	    System.err.println("Error in: (SAXException");
+	    // Use the contained exception, if any
+	    Exception  x;
+	    x = spe;
+	    if (spe.getException() != null)
+		x = spe.getException();
+	    x.printStackTrace();
+	}
+    }
+
+    /**
+     * This method save to xml all the information taken when user did the Feedback form.
+     * @param err_details is the information taken when user did the Feedback form.
+     * @param img         is the images taken when user did the Feedback form
+     */ 
+    public void saveFeedback (String[] err_details,String[] img)
+    {
+	try
+	    {
+		String dirname;
+		dirname = "xmlfeedback/";
+		FileOutputStream fos;
+		fos = new FileOutputStream(dirname + "feedback" + err_details[0] + 
+					   ".xml");
+		PrintWriter out;
+		out = new PrintWriter(fos);
+		StreamResult streamResult;
+		streamResult = new StreamResult(out);
+		SAXTransformerFactory tf;
+		tf = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
+		hd = tf.newTransformerHandler();
+		Transformer serializer;
+		serializer = hd.getTransformer();
+		serializer.setOutputProperty(OutputKeys.ENCODING,"UTF-8");
+		serializer.setOutputProperty(OutputKeys.INDENT,"yes");
+		hd.setResult(streamResult);
+		
+		
+		hd.startDocument();
+		atts = new AttributesImpl();
+		hd.startElement("","","BUGS",atts);
+		
+		hd.startElement("","","IDCode",atts);
+		hd.characters(err_details[0].toCharArray(),0,err_details[0].length());
+		hd.endElement("","","IDCode");
+		
+		hd.startElement("","","LastViewedWindow",atts);
+		hd.characters(err_details[1].toCharArray(),0,err_details[1].length());
+		hd.endElement("","","LastViewedWindow");
+
+		hd.startElement("","","Optionals",atts);
+		
+		hd.startElement("","","Type",atts);
+		hd.characters(err_details[3].toCharArray(),0,err_details[3].length());
+		hd.endElement("","","Type");
+		
+		hd.startElement("","","Urgency",atts);
+		hd.characters(err_details[4].toCharArray(),0,err_details[4].length());
+		hd.endElement("","","Urgency");
+		hd.endElement("","","Optionals");
+
+		hd.startElement("","","User",atts);
+		hd.startElement("","","Name",atts);
+		hd.characters(err_details[5].toCharArray(),0,err_details[5].length());
+		hd.endElement("","","Name");
+
+		hd.startElement("","","HomeDirectory",atts);
+		hd.characters(err_details[6].toCharArray(),0,err_details[6].length());
+		hd.endElement("","","HomeDirectory");
+
+		hd.startElement("","","WorkingDirectory",atts);
+		hd.characters(err_details[7].toCharArray(),0,err_details[7].length());
+		hd.endElement("","","WorkingDirectory");
+
+		hd.startElement("","","SMTP",atts);
+		hd.characters(err_details[19].toCharArray(),0,err_details[19].length());
+		hd.endElement("","","SMTP");
+
+		hd.startElement("","","Email",atts);
+		hd.characters(err_details[20].toCharArray(),0,err_details[20].length());
+		hd.endElement("","","Email");
+
+		hd.endElement("","","User");
+
+		hd.startElement("","","OpenFormTime",atts);
+		hd.characters(err_details[8].toCharArray(),0,err_details[8].length());
+		hd.endElement("","","OpenFormTime");
+
+		hd.startElement("","","SendFormTime",atts);
+		hd.characters(err_details[9].toCharArray(),0,err_details[9].length());
+		hd.endElement("","","SendFormTime");
+
+		hd.startElement("","","OperatingSystem",atts);
+		hd.characters(err_details[10].toCharArray(),0,err_details[10].length());
+		hd.endElement("","","OperatingSystem");
+
+		hd.startElement("","","Java",atts);
+
+		hd.startElement("","","JavaInformation",atts);
+		hd.characters(err_details[11].toCharArray(),0,err_details[11].length());
+		hd.endElement("","","JavaInformation");
+
+		hd.startElement("","","TotalMemory",atts);
+		hd.characters(err_details[21].toCharArray(),0,err_details[21].length());
+		hd.endElement("","","TotalMemory");
+
+		hd.startElement("","","MaxMemory",atts);
+		hd.characters(err_details[22].toCharArray(),0,err_details[22].length());
+		hd.endElement("","","MaxMemory");
+
+		hd.startElement("","","FreeMemory",atts);
+		hd.characters(err_details[23].toCharArray(),0,err_details[23].length());
+		hd.endElement("","","FreeMemory");
+
+		hd.startElement("","","DefaultLocale",atts);
+		hd.characters(err_details[12].toCharArray(),0,err_details[12].length());
+		hd.endElement("","","DefaultLocale");
+		
+		hd.endElement("","","Java");
+
+		hd.startElement("","","Browser",atts);
+		hd.characters(err_details[13].toCharArray(),0,err_details[13].length());
+		hd.endElement("","","Browser");
+
+		hd.startElement("","","LocalHostName",atts);
+		hd.characters(err_details[14].toCharArray(),0,err_details[14].length());
+		hd.endElement("","","LocalHostName");
+
+		hd.startElement("","","LocalHostAddress",atts);
+		hd.characters(err_details[15].toCharArray(),0,err_details[15].length());
+		hd.endElement("","","LocalHostAddress");
+
+		hd.startElement("","","ScreenResolution",atts);
+		hd.characters(err_details[16].toCharArray(),0,err_details[16].length());
+		hd.endElement("","","ScreenResolution");
+
+		if (img!= null)
+		    {
+			hd.startElement("","","Sequences",atts);
+			int i;
+			for ( i = 0 ; i < img.length ; i= i + 10)
+			    {
+				hd.startElement("","","Sequence",atts);
+				
+				hd.startElement("","","Title",atts);
+				hd.characters(img[i].toCharArray(),0,img[i].length());
+				hd.endElement("","","Title");
+				
+				hd.startElement("","","Details",atts);
+				hd.characters(img[i+9].toCharArray(),0,img[i+9].length());
+				hd.endElement("","","Details");
+				
+				hd.startElement("","","ImageDescription",atts);
+				
+				hd.startElement("","","ScreenShot",atts);
+				hd.startElement("","","Image",atts);
+				saveImage(img[i+1],img[i+2],img[i+7],img[i+8]);
+				hd.endElement("","","Image");
+				hd.endElement("","","ScreenShot");
+				
+				hd.startElement("","","ErrorLineAndScreenShot",atts);
+				hd.startElement("","","Image",atts);
+				saveImage(img[i+3],img[i+4],img[i+7],img[i+8]);
+				hd.endElement("","","Image");
+				hd.endElement("","","ErrorLineAndScreenShot");
+				
+				hd.startElement("","","ErrorLineForScreenShot",atts);
+				hd.startElement("","","Image",atts);
+				saveImage(img[i+5],img[i+6],img[i+7],img[i+8]); 
+				hd.endElement("","","Image");
+				hd.endElement("","","ErrorLineForScreenShot");
+				
+				hd.endElement("","","ImageDescription");
+				
+				hd.endElement("","","Sequence");
+			    }
+			hd.endElement("","","Sequences");
+		    }
+
+		hd.endElement("","","BUGS");
+		hd.endDocument();
+		fos.close();
+	    }
+	catch (IOException e){
+	    System.err.println ("Unable to write to file");
+	    System.exit(-1);
+	}catch (TransformerConfigurationException tce){
+	    System.err.println("Error in: TransformerConfigurationException");
+	}catch (SAXException spe) {
+	    // Error generated by the parser
+	    System.err.println("Error in: (SAXException");
+	    // Use the contained exception, if any
+	    Exception  x;
+	    x = spe;
+	    if (spe.getException() != null)
+		x = spe.getException();
+	    x.printStackTrace();
+	}
+    }
+}
+
+
+
+
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/ScreenShot.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/ScreenShot.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/ScreenShot.java	(revision 21123)
@@ -0,0 +1,273 @@
+package org.greenstone.gatherer.feedback;
+
+import java.awt.*;
+import java.applet.Applet;
+import java.awt.image.*;
+import java.awt.event.WindowEvent;
+import java.awt.event.WindowListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.*;
+import java.awt.image.BufferedImage;
+import java.awt.image.DataBuffer;
+import java.awt.geom.GeneralPath;
+import java.io.*;
+import javax.imageio.*;
+import javax.swing.*; 
+import com.sun.image.codec.jpeg.*;
+import java.awt.geom.*;
+
+/**
+ * This class can take screen shot of the whole screen size or screen shot of a specified
+ * rectangle only.
+ * @author Veronica Liesaputra
+ */
+public class ScreenShot
+{
+    /**
+     * This is the buffered image that hold the screen shot.
+     */
+    private BufferedImage img;
+    
+    /**
+     * The dimension of the whole screen size.
+     */
+    private final static Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
+    
+    /**
+     * Rectangle with a dimension of a whole screen size.
+     */
+    private Rectangle mRect = new Rectangle(dim);
+    
+    /**
+     * The desired width of the image.
+     */
+    private int iw;
+
+    /**
+     * The desired height of the image.
+     */
+    private int ih;
+
+    /**
+     * BufferedImage that hold the screen shot image with the desired height and width.
+     */
+    private BufferedImage bi;
+    
+    /**
+     * This is the robot that allows to take screen shot.
+     */
+    private Robot mRobot;
+  
+    /**
+     * This constructor will setup the robot to alow taking a screen shot.
+     */
+    public ScreenShot () 
+    {
+	try
+	    {
+		mRobot = new Robot();
+		iw = (int) (dim.getWidth() - 60);
+		ih = (int) (dim.getHeight() * 0.75) - 50;
+	    }
+	catch (AWTException exp) {}
+    }
+
+    /**
+     * This method will only take screen shot of the particular rectangle.
+     * @param rect is the specified rectangle that we want to take the screen shot of.
+     * @return     the image taken.
+     */
+    //public byte[] getImageIcon (Rectangle rect)
+    public BufferedImage getImageIcon (Rectangle rect)
+    {
+	BufferedImage image;
+	image = null;
+	
+	//try
+	//  {
+		img = mRobot.createScreenCapture(rect);
+		
+		int w,h;
+		boolean rescale;
+
+		rescale = false;
+		w = rect.width;
+		
+		if (w >= iw)
+		    {
+			w = iw - 50;
+			rescale = true;
+		    }
+		
+		h = rect.height;
+		
+		if ( h >= ih)
+		    {
+			h = ih  - 50;
+			rescale = true;
+		    }
+		
+		Graphics2D big;
+		big = null;
+		
+		if (rescale == true)
+		    {
+			image = new BufferedImage(w,h, BufferedImage.TYPE_INT_RGB);
+			big = image.createGraphics();
+			big.drawImage(img.getScaledInstance(w,h,Image.SCALE_SMOOTH),0,0,null);
+		    }
+		else
+		    {
+			image = img;
+		    }
+
+		
+		/*ByteArrayOutputStream stream;
+		stream = new ByteArrayOutputStream();
+		ImageIO.write(image,"jpeg",stream);
+		byte[] bytes;
+		bytes = stream.toByteArray();*/
+		
+		if (big != null)
+		    big.dispose();
+		//image = null;
+		//img = null;
+		ActionRecorderDialog.setSavefinish(true);
+		return image;
+		//return bytes;
+		//  }
+		//catch(IOException ex) {ex.printStackTrace();}
+	
+	//return null;
+    }
+
+    /**
+     * This method will only take screen shot of the particular rectangle and encode
+     * the image to its string representation.
+     * @param rect is the specified rectangle that we want to take the screen shot of.
+     * @return     the string representation of the image taken.
+     */
+    public String getImage (Rectangle rect)
+    {
+	String txt;
+	txt = null;
+
+	BufferedImage image;
+	image = null;
+	
+	try
+	    {
+		img = mRobot.createScreenCapture(rect);
+		
+		int w,h;
+		boolean rescale;
+
+		rescale = false;
+		w = rect.width;
+		
+		if (w >= iw)
+		    {
+			w = iw - 50;
+			rescale = true;
+		    }
+		
+		h = rect.height;
+		
+		if ( h >= ih)
+		    {
+			h = ih  - 50;
+			rescale = true;
+		    }
+	
+		Graphics2D big;
+		big = null;
+
+		if (rescale == true)
+		    {
+			image = new BufferedImage(w,h, BufferedImage.TYPE_INT_RGB);
+			big = image.createGraphics();
+			big.drawImage(img.getScaledInstance(w,h,Image.SCALE_SMOOTH),0,0,null);
+		    }
+		else
+		    {
+			image = img;
+		    }
+
+		ByteArrayOutputStream stream;
+		stream = new ByteArrayOutputStream();
+		ImageIO.write(image,"gif",stream);
+		byte[] bytes;
+		bytes = stream.toByteArray();
+		txt = Base64.encodeBytes(bytes);
+		
+		bytes = null;
+		if (big != null)
+		    big.dispose();
+		image = null;
+		img = null;
+	    }
+	catch(IOException ex) {ex.printStackTrace();}
+	
+	ActionRecorderDialog.setSavefinish(true);
+	
+	return txt;
+    }
+
+    /**
+     * This method will return the buffered image of the whole screen size screen shot
+     * with the desired width and height.
+     * @return the buffered image with the desired height and width.
+     */
+    public BufferedImage getBuffImage()
+    {
+	return bi;
+    }
+
+    /**
+     * This method will take screen shot of the whole screen and resize it to the
+     * desired width and height.
+     */
+    public BufferedImage captureScreen()
+    {
+	img = mRobot.createScreenCapture(mRect);
+	
+	Graphics2D big;
+	bi = new BufferedImage(iw,ih, BufferedImage.TYPE_INT_RGB);
+	big = bi.createGraphics();
+	big.drawImage(img.getScaledInstance(iw,ih,Image.SCALE_SMOOTH),0,0,null);
+	big.dispose();
+	big = null;
+
+	return bi;
+    }
+
+    /**
+     * This method will return the desired width.
+     * @return the desired width.
+     */
+    public int getWidth()
+    {
+	return iw;
+    }
+
+    /**
+     * This method will return the desired height.
+     * @return the desired height.
+     */
+    public int getHeight()
+    {
+	return ih;
+    }
+}
+
+
+
+
+
+
+
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/SelectPicture.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/SelectPicture.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/SelectPicture.java	(revision 21123)
@@ -0,0 +1,819 @@
+package org.greenstone.gatherer.feedback;
+
+import java.awt.image.*;
+import javax.swing.BoxLayout;
+import javax.swing.ImageIcon;
+import javax.swing.JLabel;
+import javax.swing.*;
+import javax.swing.event.MouseInputAdapter;
+import java.awt.*;
+import java.awt.geom.*;
+import java.awt.geom.Line2D.*;
+import java.awt.geom.Line2D.Double;
+import java.awt.event.*;
+import java.awt.event.MouseEvent;
+import java.util.Locale;
+import java.util.ResourceBundle;
+import java.text.MessageFormat;
+import javax.swing.border.*;
+import javax.swing.BorderFactory;
+
+import org.greenstone.gatherer.util.JarTools;
+
+/**
+ * This class allows user to make scribble lines in the image.
+ * This class will display an image to a label and if the user drag inside the label
+ * then it will draw coloured line as the user drag the mouse.
+ * Image here is the screen shot of the whole screen size.
+ * @author Veronica Liesaputra
+ */
+public class SelectPicture extends WindowAdapter
+{
+    /**
+     * This is the images that stored all the images for the whole screen size image.
+     */
+    private BufferedImage[] screen;
+  
+    /**
+     * This is the images that stored all the images for the window image.
+     */
+    private BufferedImage[] window;
+
+    /**
+     * This is the buffered image that contains the line that are drawn all
+     * over the screen image.
+     */
+    private BufferedImage bi;
+    
+    /**
+     * This is the buffered image of the line that are drawn all over the screen image.
+     */
+    private BufferedImage bi2;
+
+    /**
+     * This is the buffered image of the screen image.
+     */
+    private BufferedImage bi3;
+
+    /**
+     * This is the buffered image that contains the line that are drawn all over the window image.
+     */
+    private BufferedImage bi4;
+
+    /**
+     * This is the buffered image of the line that are drawn all over the window image.
+     */
+    private BufferedImage bi5;
+
+    /**
+     * This is the buffered image of the window image.
+     */
+    private BufferedImage bi6;
+
+    /**
+     * This is the window's x-coord in the screen image.
+     */
+    private int xcoord;
+
+    /**
+     * This is the window's y-coord in the screen image.
+     */
+    private int ycoord;
+
+    /**
+     * This is the window's width in the screen image.
+     */
+    private int width;
+
+    /**
+     * This is the window's height in the screen image.
+     */
+    private int height;
+    
+    /**
+     * This is to block all the input in this window while waiting.
+     */
+    private MouseListener mouse_blocker_listener = new MouseAdapter() {};
+    
+    /**
+     * This variable will hold the resource of the words that is stored in Messages.properties file.
+     * The calling using messages.getString(someString) will caused someString to be translated
+     * into some other string that is hold in that file.usually it will caused it to be translated
+     * to the language that the user use or choose to have as stated in Locale.
+     */
+    private static ResourceBundle messages;
+    
+    /**
+     * This variable hold the comments that user entered when they are drawing lines into the image.
+     */
+    private String details;
+    
+    /**
+     * This variable is a flag to say whether or not user wants to send the feedback straight away.
+     */
+    private boolean sendNow;
+
+    /**
+     * This variable is a flag to say whether the user wants to draw the scribble lines or
+     * to erase the image.
+     */
+    private boolean drawNow;
+
+    /**
+     * This variable is a flag to say whether or not the image user wants to send is window
+     * or the whole screen image.
+     */
+    private boolean windowNow;
+
+    /**
+     * This method will make a modal-dialog that will allow user to draw a line all over the image.
+     * @param sh the buffered images of the screen image.
+     * @param wh the buffered images of the window image.
+     * @param iswindow the flag to say whether user wants to send window or whole screen image.
+     * @param screen_details the comments that user typed for this screenshot.
+     * @param msg hold the resource of the words that is stored in Messages.properties file.
+     */
+    public SelectPicture(BufferedImage[] sh,BufferedImage[] wh,boolean iswindow,String screen_details,ResourceBundle msg)
+    {
+	windowNow = iswindow;
+	drawNow = true;
+	details = screen_details;
+	messages = msg;
+	window = wh;
+	screen = sh;
+    }
+    
+    /**
+     * This method setting up the window's bounds inside the screen image.
+     * @param x the window's x-coordinate in the screen image.
+     * @param y the window's y-coordniate in the screen image.
+     * @param w the window's width in the screen image.
+     * @param h the window's height in the screen image.
+     */
+    public void setWindowBounds (int x,int y,int w,int h)
+    {
+	xcoord = x;
+	ycoord = y;
+	width = w;
+	height = h;
+	makeNewWindow();
+    }
+
+    /**
+     * This method will get which one user wants to send the window or screen image.
+     * @return the flag whether user wants to send window or screen image. 
+     */
+    public boolean getIsWindow()
+    {
+	return windowNow;
+    }
+
+    /**
+     * This method will get the screen image of the screenshot with the line drawn all over it.
+     * @return  this is the screen image with the line drawn all over it.
+     */
+    public BufferedImage getImage()
+    {
+	return bi;
+    }
+
+    /**
+     * This method will get the screen image of the screenshot.
+     * @return  this is the screen image.
+     */
+    public BufferedImage getImage3()
+    {
+	return bi5;
+    }
+
+    /**
+     * This method will get the screen image of only the line that drawn all over the image of
+     * the screenshot.
+     * @return  this is the screen image of only the line.
+     */
+    public BufferedImage getImage2()
+    {
+	return bi2;
+    }
+
+    /**
+     * This method will get the window image of the screenshot with the line drawn all over it.
+     * @return  this is the image with the line drawn all over it.
+     */
+    public BufferedImage getWindowImage()
+    {
+	return bi3;
+    }
+
+    /**
+     * This method will get the window image of the screenshot.
+     * @return  this is the window image.
+     */
+    public BufferedImage getWindowImage3()
+    {
+	return bi6;
+    }
+
+    /**
+     * This method will get the window image of only the line that drawn all over the image of
+     * the screenshot.
+     * @return  this is the window image of only the line.
+     */
+    public BufferedImage getWindowImage2()
+    {
+	return bi4;
+    }
+
+    /**
+     * This method will give the comments user made when they are drawing line over the picture.
+     * @return this is the comment user made.
+     */
+    public String getDetails ()
+    {
+	return details;
+    }
+
+    public boolean getSendNow()
+    {
+	return sendNow;
+    }
+
+    /**
+     * This method will make a modal-dialog that will have the image of the screen shot in the label,
+     * allow user to draw a line all over the image and comments it as well. 
+     */
+    public void makeNewWindow()
+    {
+	JDialog f;
+	f = new Selecting(this);
+	f.setLocation(0,0);
+    }
+
+    /**
+     * This class will make a modal-dialog that will have the image of the screen shot in the label,
+     * allow user to draw a line all over the image and comments it as well. 
+     */
+    class Selecting extends JDialog implements ActionListener
+    {
+	/**
+	 * This is the modal-dialog.
+	 */
+	private JDialog frame;
+	
+	/**
+	 * This is the special label that allows user to draw a line all over the icon set in the label.
+	 */
+	private SelectionArea area;
+	
+	/**
+	 * This is the text area where user can enter the comments they want to add.
+	 */
+	private JTextArea problem_details;
+	
+	/**
+	 * This is the owner of this modal-dialog.
+	 */
+	private SelectPicture framework = null;
+	
+	/**
+	 * This is the graphs that will allow to draw the line all over the screen image in the label and getting
+	 * the image of it.
+	 */
+	private Graphs gp;
+
+	/**
+	 * This is the graphs that will allow to draw the line all over the window image in the label and getting
+	 * the image of it.
+	 */
+	private Graphs gp2;
+
+	/**
+	 * This constructor will make  a modal-dialog that will have the image of the screen shot in the label,
+	 * allow user to draw a line all over the image and comments it as well. 
+	 * @param controller this is the owner of the modal-dialog.
+	 */
+	public Selecting(SelectPicture controller)
+	{
+	    Container contentPane;
+   
+	    contentPane = getContentPane();
+
+	    gp = new Graphs(screen);
+	    
+	    window = gp.getWindowVersion(xcoord,ycoord,width,height);
+	  
+	    gp2 = new Graphs(window);
+
+	    buildUI(contentPane);
+	
+	    framework = controller;
+	   
+	    setTitle(messages.getString("Showwhereistheproblem"));
+	    setDefaultLookAndFeelDecorated(true);
+	    setModal(true);
+
+	    frame = this;
+	    addWindowListener(framework);
+	    setBackground(new Color(176,208,176)); 
+	    
+	    setLocation(0,0);
+	  
+	    pack();
+	    setVisible(true);
+	}
+
+	/**
+	 * This method will setup the contentpane of the modal-dialog.It will set the cursor for
+	 * the label to be from the file pen.gif and set the image icon for the label.
+	 * @param content this is the contentPane of the modal-dialog.
+	 */
+	private void buildUI(Container content) 
+	{
+	    final JPanel container;
+	    container = new JPanel();
+	    container.setLayout(new BoxLayout(container, BoxLayout.PAGE_AXIS));
+	    container.setBackground(new Color(176,208,176));
+	    container.setBorder(new EmptyBorder(5,5,5,5));
+
+	   
+	    ImageIcon image = createImageIcon(windowNow);
+	    area = new SelectionArea(image, this);
+	    area.setBackground(new Color(224,240,224));
+	    area.setBorder(BorderFactory.createCompoundBorder
+			   (BorderFactory.createLineBorder(Color.blue,4),
+			    new EmptyBorder(10,10,10,10)));
+	   
+	    ImageIcon imgicon,imgicon2;
+	    Image img,img2;
+	    imgicon = JarTools.getImage("pen.gif");
+	    img = imgicon.getImage();
+	    img = img.getScaledInstance(24,24,Image.SCALE_SMOOTH);
+	    imgicon2 = JarTools.getImage("eraserpen.gif");
+	    img2 = imgicon2.getImage();
+	    final Cursor cursor;
+	    final Cursor cursor2;
+	    cursor = Toolkit.getDefaultToolkit().createCustomCursor(img,new Point(0,0),"crayon");
+	    cursor2 = Toolkit.getDefaultToolkit().createCustomCursor(img2,new Point(0,0),"eraser");
+	    
+	    area.setCursor(cursor);
+
+	    Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
+	    final JPanel iconarea = new JPanel();
+	    iconarea.setBackground(new Color(176,208,176));
+	    iconarea.add(area);
+	    container.add(iconarea);
+	    
+	    String screen_label;
+	    screen_label = " " + messages.getString("ScreenShotLabel");
+	    JLabel label;
+	    label = new JLabel(screen_label);
+	    label.setBackground(new Color(176,208,176));
+	    container.add(label);
+
+	    JPanel panes;
+	    panes = new JPanel();
+	    panes.setLayout(new GridLayout(0,2));
+	    panes.setBackground(new Color(176,208,176));
+
+	    problem_details = new JTextArea(details);
+	    problem_details.setWrapStyleWord(true);
+	    problem_details.setEditable(true);
+	    problem_details.setBackground(new Color(224,240,224));
+	    JScrollPane scroll;
+	    scroll = new JScrollPane(problem_details);
+	    scroll.setBackground(new Color(176,208,176));
+	    scroll.setPreferredSize(new Dimension(50,100));
+	    scroll.setBorder(BorderFactory.createTitledBorder(
+							      new EmptyBorder(0,0,0,0),
+							      "Screen shot " + 
+							      messages.getString("ProblemDetails")));
+
+	    panes.add(scroll);
+
+	    JPanel pane;
+	    pane = new JPanel();
+	    pane.setLayout(new GridLayout(2,3));
+	    pane.setBackground(new Color(176,208,176));
+	    pane.setBorder(new EmptyBorder(15,15,15,15));
+
+	    if ((window == null) || (screen == null)) {System.out.println("How come!");}
+	    else
+		{
+		    final JButton toggle;
+		    
+		    if (windowNow == false)
+			{
+			    toggle = new JButton("GLI window."); 
+			    toggle.setToolTipText("Showing only GLI window.");
+			}
+		    else
+			{
+			    toggle = new JButton("Whole screen.");
+			    toggle.setToolTipText("Showing whole screen.");
+			}
+		    toggle.setActionCommand("Toggle");
+		    toggle.addActionListener(new ActionListener ()
+			{
+			    public void actionPerformed (ActionEvent e)
+			    {
+				frame.addMouseListener(mouse_blocker_listener);
+				frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+				if (windowNow == true)
+				    {
+					windowNow = false;
+					toggle.setText("GLI window.");
+					toggle.setToolTipText("Showing only GLI window.");
+					window[0] = gp2.getScreenImage();
+					window[1] = gp2.getImage();
+					window[2] = gp2.getImage2();
+					gp.setScreenVersion(window,xcoord,ycoord,width,height);
+					area.setIcon(new ImageIcon(gp.getImage()));
+				    }
+				else
+				    {
+					windowNow = true;
+					toggle.setText("Whole screen.");
+					toggle.setToolTipText("Showing whole screen.");
+					
+					window[0].flush();
+					window[0] = null;
+					window[1].flush();
+					window[1] = null;
+					window[2].flush();
+					window[2] = null;
+					window = null;
+					BufferedImage tmp;
+					gp2.getImage().flush();
+					tmp = gp2.getImage();
+					tmp.flush();
+					tmp = null;
+					gp2.getImage2().flush();
+					tmp = gp2.getImage2();
+					tmp.flush();
+					tmp = null;
+					gp2.flush();
+					gp2 = null;
+					System.gc();
+
+					window = gp.getWindowVersion(xcoord,ycoord,width,height);
+					gp2 = new Graphs(window);
+					area.setIcon(new ImageIcon(gp2.getImage()));
+				    }
+
+				frame.pack();
+				frame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+				frame.removeMouseListener(mouse_blocker_listener);	
+			    }
+			});
+		    toggle.setBackground(new Color(176,208,176));
+		    pane.add(toggle);
+		}
+				     
+
+	    JButton pen;
+	    pen = new JButton(JarTools.getImage("penicon.gif"));
+	    pen.setText("Pen");
+	    pen.setPreferredSize(new Dimension(30,20));
+	    pen.setActionCommand("Pen");
+	    pen.setToolTipText("Draw.");
+	    pen.addActionListener(new ActionListener ()
+		{
+		    public void actionPerformed (ActionEvent e)
+		    {
+			area.setCursor(cursor);
+			drawNow = true;
+		    }
+		});
+	    pen.setBackground(new Color(176,208,176));
+	    pane.add(pen);
+
+	    JButton eraser;
+	    eraser = new JButton(JarTools.getImage("eraser.gif"));
+	    eraser.setText("Eraser");
+	    eraser.setActionCommand("Eraser");
+	    eraser.setPreferredSize(new Dimension(30,20));
+	    eraser.setToolTipText("Erase.");
+	    eraser.addActionListener(new ActionListener ()
+		{
+		    public void actionPerformed (ActionEvent e)
+		    {
+			area.setCursor(cursor2);
+			drawNow = false;
+		    }
+		});
+	    eraser.setBackground(new Color(176,208,176));
+	    pane.add(eraser);
+
+	    if ((window == null) || (screen == null)) 
+		{
+		    JLabel empty = new JLabel(" ");
+		    empty.setBackground(new Color(176,208,176));
+		    pane.add(empty);
+		}
+
+	    JButton button;
+	    button = new JButton("Clear Scribble");
+	    button.setActionCommand("Clear");
+	    button.setToolTipText("Clear all the scribble lines.");
+	    button.addActionListener(this);
+	    button.setBackground(new Color(176,208,176));
+	    pane.add(button);
+
+	    JButton button2;
+	    button2 = new JButton("Finish Scribble");
+	    button2.setActionCommand(messages.getString("Send"));
+	    button2.setToolTipText("Back to Feedback form.");
+	    button2.addActionListener(this);
+	    button2.setBackground(new Color(176,208,176));
+	    pane.add(button2);
+
+	    JButton button3;
+	    button3 = new JButton("Send");
+	    button3.setActionCommand("SendNow");
+	    button3.setToolTipText("Finish reporting feedback and send all information now.");
+	    button3.addActionListener(this);
+	    button3.setBackground(new Color(176,208,176));
+	    pane.add(button3);
+
+	    panes.add(pane);
+
+	    container.add(panes);
+	    
+	    panes.setAlignmentX(Component.LEFT_ALIGNMENT);
+	    label.setAlignmentX(Component.LEFT_ALIGNMENT);
+	    iconarea.setAlignmentX(Component.LEFT_ALIGNMENT);
+	   
+	    container.setSize(container.getPreferredSize());
+	    content.add(container);
+	}
+
+	/**
+	 * This method will tell what the program should do when user click the buttons.
+	 * @param e this is the event when user click button.
+	 */
+	public void actionPerformed (ActionEvent e)
+	{
+	    if(messages.getString("Send").equals(e.getActionCommand()))
+		{
+		    frame.addMouseListener(mouse_blocker_listener);
+		    frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+		    sendNow = false;
+		    if (windowNow == false)
+			{
+			    window = gp.getWindowVersion(xcoord,ycoord,width,height);
+			}
+		    else
+			{
+			    window[0] = gp2.getScreenImage();
+			    window[1] = gp2.getImage();
+			    window[2] = gp2.getImage2();
+			    gp.setScreenVersion(window,xcoord,ycoord,width,height);
+			}
+ 
+		    bi5 = gp.getScreenImage();
+		    bi = gp.getImage();
+		    bi2 = gp.getImage2();
+		    bi3 = window[1];
+		    bi4 = window[2];
+		    bi6 = window[0];
+
+		    details = problem_details.getText();
+		    frame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+		    frame.removeMouseListener(mouse_blocker_listener);	
+		    dispose();
+		}
+	    if ("Clear".equals(e.getActionCommand()))
+		{
+		    if (windowNow == false)
+			{
+			    gp.reset();
+			    area.setIcon(new ImageIcon(gp.getScreenImage()));
+			}
+		    else
+			{
+			    gp2.reset();
+			    area.setIcon(new ImageIcon(gp2.getScreenImage()));
+			}
+		}
+
+	    if ("SendNow".equals(e.getActionCommand()))
+		{
+		    frame.addMouseListener(mouse_blocker_listener);
+		    frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+		    sendNow = true;
+
+		    if (windowNow == false)
+			{
+			    window = gp.getWindowVersion(xcoord,ycoord,width,height);
+			}
+		    else
+			{
+			    window[0] = gp2.getScreenImage();
+			    window[1] = gp2.getImage();
+			    window[2] = gp2.getImage2();
+			    gp.setScreenVersion(window,xcoord,ycoord,width,height);
+			}
+ 
+		    bi5 = gp.getScreenImage();
+		    bi = gp.getImage();
+		    bi2 = gp.getImage2();
+		    bi3 = window[1];
+		    bi4 = window[2];
+		    bi6 = window[0];
+
+		    details = problem_details.getText();
+		    frame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+		    frame.removeMouseListener(mouse_blocker_listener);	
+		    dispose();
+		}
+	}
+
+	/**
+	 * This method will create ImageIcon of the buffered image get from the screen shot instance.
+	 * The image is screen shot whole screen size image.
+	 * @return ImageIcon of the screen shot image.
+	 */
+	protected ImageIcon createImageIcon(boolean iswindow)
+	{
+	    if (iswindow == false)
+		{
+		    if (screen[1] == null)
+			return new ImageIcon(screen[0]);
+		    else
+			return new ImageIcon(screen[1]);
+		}
+	    else
+		{
+		    if (window[1] == null)
+			return new ImageIcon(window[0]);
+		    else
+			return new ImageIcon(window[1]);
+		}
+	}
+	
+	/**
+	 * This is the special class, that will allows user to draw a line all over the label when 
+	 * user dragged the mouse inside the area.
+	 */
+      	private class SelectionArea extends JLabel 
+	{
+	    /**
+	     * This is the owner of this label.
+	     */
+	    private Selecting controller;
+	    /**
+	     * This is the x coordinate of the first point.
+	     */
+	    private int x1;
+	    /**
+	     * This is the x coordinate of the second point.
+	     */
+	    private int x2;
+	    /**
+	     * This is the y coordinate of the first point.
+	     */
+	    private int y1;
+	    /**
+	     * This is the y coordinate of the second point.
+	     */
+	    private int y2;
+	    /**
+	     * This is the flag to say that user is over the label of the screen image 
+	     * and they are doing the mouse input from there.
+	     */
+	    private boolean ismouse;
+
+	    /**
+	     * This method will create a label with the specified image 
+	     * icon and it will added with mouse listener that will
+	     * allow user to draw a line all over the image.
+	     * @param image image icon to be added to the label.
+	     * @param controller this is the owner of this label.
+	     */
+	    public SelectionArea(ImageIcon image, Selecting controller) 
+	    {
+		super(image);
+		this.controller = controller;
+		setOpaque(true);
+		
+		MyListener myListener;
+		myListener = new MyListener();
+		addMouseListener(myListener);
+		addMouseMotionListener(myListener);
+	    } 
+	    
+	    /**
+	     * This is the modified mouse listener that will allow user to draw
+	     * a line all over the label while user dragging the mouse.
+	     */
+	    private class MyListener extends MouseInputAdapter 
+	    {
+		/**
+		 * This method will make a red dot in the place where user pressed the mouse.
+		 * @param e the mouse event
+		 */
+		public void mousePressed(MouseEvent e) 
+		{
+		    int x;
+		    x = e.getX();
+		    int y;
+		    y = e.getY();
+		
+		    x2 = x;
+		    y2 = y;
+		    
+		    x1 = x2;
+		    y1 = y2;
+		}
+
+		/**
+		 * This method will make a red line from (x1,y1) to the coordinate where
+		 * the mouse is located now.
+		 * @param e the mouse event.
+		 */
+		public void mouseDragged(MouseEvent e) 
+		{
+		    ismouse = true;
+		    updateSize(e);
+		}
+
+		
+		/**
+		 * This method will make a red line from (x1,y1) to the coordinate where
+		 * the mouse is located now.
+		 * @param e the mouse event.
+		 */
+		public void updateSize(MouseEvent e) 
+		{
+		    int x;
+		    x = e.getX();
+		    int y;
+		    y = e.getY();
+		
+		    x2 = x;
+		    y2 = y;
+	
+		    repaint();    
+		}
+	    }
+	    
+	    /**
+	     * This method will repaint all the component inside the dialog-window.
+	     * It will draw a red line from (x1,y1) to (x2,y2) coordinates and
+	     * updates the value of x1,y1 and the icon for the label. 
+	     * @param g the graphics of this dialog-window.
+	     */
+	    public void paintComponent(Graphics g) 
+	    {
+		super.paintComponent(g);
+
+		if (ismouse == true)
+		    {
+			if (windowNow == false)
+			    {
+				if (drawNow == true)
+				    gp.drawLines(x1,y1,x2,y2);
+				else
+				    gp.eraseLines(x1,y1,x2,y2);
+			    }
+			else
+			    {
+				if (drawNow == true)
+				    gp2.drawLines(x1,y1,x2,y2);
+				else
+				    gp2.eraseLines(x1,y1,x2,y2);
+			    }
+			
+			x1 = x2;
+			y1 = y2;
+
+			if (windowNow == false)
+			    {
+				area.setIcon(new ImageIcon(gp.getImage()));
+			    }
+			else
+			    {
+				area.setIcon(new ImageIcon(gp2.getImage()));
+			    }
+			
+			ismouse = false;
+		    }
+	    }
+	}
+    }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/SendHTTP.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/SendHTTP.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/SendHTTP.java	(revision 21123)
@@ -0,0 +1,421 @@
+package org.greenstone.gatherer.feedback;
+
+import java.util.Properties;
+import java.net.*;
+import java.io.*;
+import java.util.Locale;
+import java.util.ResourceBundle;
+import java.text.MessageFormat;
+import javax.swing.*;
+import java.awt.Dimension;
+
+/**
+ * This class will send the 2 jar files to the server using HTTP Post.
+ */
+public class SendHTTP
+{
+    /**
+     * This is variable will hold the arguments provided by user in order to send 
+     */
+    private String[] argument;
+    /**
+     * This variable will hold the resource of the words that is stored in Messages.properties file.
+     * The calling using messages.getString(someString) will caused someString to be translated
+     * into some other string that is hold in that file.usually it will caused it to be translated
+     * to the language that the user use or choose to have as stated in Locale.
+     */
+    private static ResourceBundle msg;
+    /**
+     * This variable will hold the jar file unique code.
+     * For example: Jar123File.jar then file_code = 123
+     */
+    private String file_code;
+    /**
+     * This is the flag that will say whether or not the sending is successful.
+     * If failed = false means its succesful otherwise its failed.
+     */
+    private boolean failed = false;
+
+    /**
+     * Crates instance of SendHTTP
+     */
+    public SendHTTP () {}
+  
+    /**
+     * This method will send 2 files back to the server.
+     * It will also send  the code if the sending is failed then it will give user a message saying whats
+     * the possible error of it, and it will make the jar file changed into
+     * Unsend_Jar123File.jar file.
+     * If the sending is succesful then it will try to send all the other jar files
+     * that were failed to send before.And then it will deletes all the jar files
+     * that are send successfully.
+     * @param args the argument provided to send the email.
+     * @param messages hold the resource of the words that is stored in Messages.properties file.
+     * @param code the code of the email to be send.
+     */
+    public void  sendMail(String[] args,ResourceBundle messages,String code) 
+    {
+	argument = args;
+	msg = messages;
+	file_code = code;
+
+	try
+	    {
+		String BND = "---------------------------7d021a37605f0";
+		String hostURL =  "http://kanuka.cs.waikato.ac.nz:8090/glifeedback/Upload";
+
+		URL mURL = new URL(hostURL+"?name=posting");
+		URLConnection conn = mURL.openConnection();
+		
+		if (conn instanceof HttpURLConnection)
+		    ((HttpURLConnection) conn).setRequestMethod("POST");
+		 
+		conn.setDoInput(true);
+		conn.setDoOutput(true);
+		conn.setUseCaches(false);
+		conn.setDefaultUseCaches(false);
+		conn.setRequestProperty("Accept","*/*");
+		conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + BND);
+		conn.setRequestProperty("Connection","Keep-Alive");
+		conn.setRequestProperty("Cache-Control","no-cache");
+
+		DataOutputStream out;
+		out = new DataOutputStream(conn.getOutputStream());
+
+		//--- Sending subject -------
+		String txt;
+		txt = "--" + BND + "\r\n";
+		out.writeBytes(txt);
+
+		txt = "Content-Disposition: form-data; ";
+		out.writeBytes(txt);
+
+		String subject;
+		subject = "Send Feedback" + code;
+		txt = "name=\"" + "Subject" + "\"\r\n"; 
+		out.writeBytes(txt);
+		
+		txt = "\r\n";
+		out.writeBytes(txt);
+
+		txt = subject + "\r\n";
+		out.writeBytes(txt);
+		
+		out.flush();
+
+		//--- Sending text ------
+		txt = "--" + BND + "\r\n";
+		out.writeBytes(txt);
+
+		txt = "Content-Disposition: form-data; ";
+		out.writeBytes(txt);
+
+		String attmnt;
+		attmnt = "We have succesfully received your feedback report.\n" +
+		    "To check what files we have received go to this link: " + hostURL +
+		    "/?name=" + code + "\n" + 
+		    "Please keep referencing to this ID Code for this feedback report.\n" +
+		    "ID Code: " + code;
+
+		txt = "name=\"" + "Text" + "\"\r\n";
+		out.writeBytes(txt);
+		
+		txt = "\r\n";
+		out.writeBytes(txt);
+		
+		txt = attmnt + "\r\n";
+		out.writeBytes(txt);
+
+		out.flush();
+
+		//--------- Sending xml-jar file
+		FileInputStream fis;
+		File f;
+		String name,path;
+		
+		f = new File(args[1]);
+		
+		txt = "--" + BND + "\r\n";
+		out.writeBytes(txt);
+
+		txt = "Content-Disposition: form-data; ";
+		out.writeBytes(txt);
+		
+		name = f.getName();
+		txt = "name=\"" + name + "\"; ";
+		out.writeBytes(txt);
+		
+		path = f.getAbsolutePath();
+		txt = "filename=\"" + path + "\"\r\n";
+		out.writeBytes(txt);
+
+		txt = "Content-Type: aplication/octet-stream\r\n";
+		out.writeBytes(txt);
+
+		txt = "\r\n";
+		out.writeBytes(txt);
+
+		fis = new FileInputStream(f);
+		byte[] data = new byte[1024];		
+		int r = 0;
+		while((r = fis.read(data, 0, data.length)) != -1) 
+		    {			
+			out.write(data, 0, r);		
+		    }
+		fis.close();
+
+		txt = "\r\n";
+		out.writeBytes(txt);
+
+		out.flush();
+
+		//--- Sending parser.jar ----
+		txt = "--" + BND + "\r\n";
+		out.writeBytes(txt);
+		
+		txt = "Content-Disposition: form-data; ";
+		out.writeBytes(txt);
+		
+		f = new File(args[4]);
+		
+		name = f.getName();
+		txt = "name=\"" + name + "\"; ";
+		out.writeBytes(txt);
+		
+		path = f.getAbsolutePath();
+		txt = "filename=\"" + path + "\"\r\n";
+		out.writeBytes(txt);
+
+		txt = "Content-Type: application/octet-stream\r\n";
+		out.writeBytes(txt);
+
+		txt = "\r\n";
+		out.writeBytes(txt);
+
+		fis = new FileInputStream(f);
+	        data = new byte[1024];		
+		r = 0;
+		while((r = fis.read(data, 0, data.length)) != -1) 
+		    {			
+			out.write(data, 0, r);		
+		    }
+		fis.close();
+		
+		txt = "\r\n";
+		out.writeBytes(txt);
+
+		out.flush();
+
+		//----- finished sending -----
+		txt = "--" + BND + "--";
+		out.writeBytes(txt);
+
+		out.flush();
+		out.close();
+
+		//----- getting the response ------
+		BufferedReader reader;
+		reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
+		String responseLine;
+		responseLine = null;
+
+		StringBuffer response;
+		response = new StringBuffer();
+		while ((responseLine = reader.readLine()) != null)
+		    response.append(responseLine+"\n");
+
+		reader.close();
+	 
+
+		//------ our application's response to server's response
+		/*if (response.equals("failed"))
+		    {
+			failed = true;
+		
+			JOptionPane.showMessageDialog(null,messages.getString("InternalError")+ "\n" + 
+						      messages.getString("Emaillater"),messages.getString("Error"),
+						      JOptionPane.ERROR_MESSAGE);
+			//Conformation.setFinish(true);
+		    }
+		else if (response.equals("success"))
+		    failed = false;
+		else
+		{*/
+			failed = false;
+			JDialog.setDefaultLookAndFeelDecorated(false);
+			JDialog dlg = new JDialog();
+			JLabel lbl = new JLabel (response.toString());
+			
+			dlg.getContentPane().add(lbl);
+			dlg.pack();
+			dlg.setVisible(true);
+			// }
+
+		//Conformation.setFinish(true);
+	    }
+	catch (MalformedURLException exp) 
+	    {
+		failed = true;
+		
+		JOptionPane.showMessageDialog(null,"malformed URL" + "\n" + 
+					      messages.getString("Emaillater"),messages.getString("Error"),
+					      JOptionPane.ERROR_MESSAGE); 
+		System.out.println("malformed URL"); 
+	    }
+	catch (IOException e) 
+	    { 
+		failed = true;
+		
+		JOptionPane.showMessageDialog(null,messages.getString("InternalError")+ "\n" + 
+					      messages.getString("Emaillater"),messages.getString("Error"),
+					      JOptionPane.ERROR_MESSAGE);e.printStackTrace();
+	    }
+
+	String dirname;
+	dirname = "xmlfeedback/";
+	
+	if (failed == false)
+	    {
+		File f;
+		f = new File(dirname + "Jar" + file_code + "File.jar");
+		f.delete();
+		
+		File file;
+		file = new File(dirname + ".");
+		File[] fileList;
+		fileList = file.listFiles();
+		
+		int y;
+		for (y = 0 ; y < fileList.length ; y++)
+		    {
+			String filename;
+			filename = isRightJarFile(fileList[y]);
+			if (filename != null)
+			    {
+				renameTo(fileList[y],new File(filename));
+				argument[1] = filename;
+				sendMail(argument,msg,getCode(filename));
+			    }
+		    }
+	    }
+	else
+	    {
+		File f2;
+		f2 = new File(dirname + "Jar" + file_code + "File.jar");
+		renameTo(f2,new File(dirname + "Unsend_Jar" + file_code + "File.jar"));
+	    }
+	
+    }
+    
+    /**
+     * This method will rename file.
+     * @param src is the name of the file to be renamed.
+     * @param dest is the desired file name.
+     */
+    private void renameTo (File src, File dest)
+    {
+	if (src.renameTo(dest) == false)
+	    {
+		try
+		    {
+			FileInputStream in;
+			in = new FileInputStream(src);
+			FileOutputStream out;
+			out = new FileOutputStream(dest);
+			int next;
+			
+			while (true)
+			    {
+				next = in.read();
+				if (next == -1)
+				    break;
+				else
+				    out.write((byte) next);
+			    }
+			
+			in.close();
+			out.close();
+		    }
+		catch (IOException exp) {exp.printStackTrace();}
+	    }
+    }
+
+    /**
+     * This method will get the extension of the file.
+     * @param f is the file that we want to get the extension.
+     * @return  the file extension
+     */
+    private String getExtension(File f)
+    {
+	String ext;
+	ext = null;
+	String s;
+	s = f.getName();
+	int i;
+	i = s.lastIndexOf('.');
+	
+	if (i > 0 &&  i < s.length() - 1)
+	    {
+		ext = s.substring(i+1).toLowerCase();
+	    }
+	return ext;
+    }
+    
+    /**
+     * This method will get all the name of the file after "_" if the file its a jar file.
+     * For example Unsend_Jar123File.jar then this method will return Jar123File, otherwise
+     * file with any other format will return null.
+     * @param f is the file that we want to get the name.
+     */
+    private String isRightJarFile(File f)
+    {
+	String ext;
+	ext = null;
+	
+	if (f.isDirectory() == true)
+	    return null;
+	
+	if (getExtension(f).compareTo("jar") == 0)
+	    {
+		String s;
+		s = f.getName();
+		int i;
+		i = s.lastIndexOf("_");
+
+		if (i > 0 &&  i < s.length() - 1)
+		    {
+			ext = s.substring(i+1,s.length());
+		    }
+		else
+		    ext = null;
+		
+		return ext;
+	    }
+	else
+	    return null;
+    }
+    
+    /**
+     * This method will getting the code that inside the Jar filename.
+     * For example Jar123File then this method will return 123. 
+     */
+    private String getCode (String s)
+	{
+	    int i;
+	    i = s.lastIndexOf("Jar");
+	    int j;
+	    j = s.indexOf("File");
+	    String code;
+	    code = s.substring((i+3),j);
+	    return code;
+	}
+}
+
+
+
+
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/SeparateGraphs.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/SeparateGraphs.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/SeparateGraphs.java	(revision 21123)
@@ -0,0 +1,105 @@
+/** This class is not currently used and therefore will not be compiled by makegli. */
+
+package org.greenstone.gatherer.feedback;
+
+import java.io.*;
+import javax.imageio.*;
+import java.awt.*;
+import java.awt.image.*;
+import com.sun.image.codec.jpeg.*;
+import javax.swing.*;
+
+/**
+ * This class will separate a image file into 2 jpeg image files by taking
+ * all the point in that image file that has the color red and save all that
+ * points to another image file, while all the other point to another image
+ * file.
+ * @author Veronica Liesaputra
+ */
+public class SeparateGraphs
+{
+    /**
+     * This is the BufferedImage that we want to separate.
+     */
+    private BufferedImage bi;
+
+    /**
+     * This constructor will save the image inside the file with the specified 
+     * filename to the BufferedImage.
+     */
+    public SeparateGraphs(String filename)
+    {
+	try
+	    {
+		File f = new File(filename);
+		bi = ImageIO.read(f);
+	    }
+	catch(IOException exp) {}
+    }
+
+    /**
+     * This method will separate bi into 2 image and save it to
+     * jpeg files with the specified filename.
+     * The 2 image separated will be, 1 image is the image of all the points in bi that
+     * have the color red and another image is the image of all other points in bi that
+     * do not have the color red.
+     * @param file1 this is the filename for the image of all other points that do not have color red.
+     * @param file2 this is the filename for the image of all points that have the color red.
+     */
+    public void separate(String file1,String file2)
+    {
+	BufferedImage bi1,bi2;
+	
+	int width = bi.getWidth();
+	int height = bi.getHeight();
+	
+	bi1 = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
+	bi2 = new BufferedImage(width,height,BufferedImage.TYPE_INT_ARGB);
+
+	for (int y = 0 ; y < height ; y++) 
+	    {
+		for (int x = 0 ; x < width ; x++)
+		    {
+			int rgb = bi.getRGB(x,y);
+			Color c = new Color(rgb,true);
+			if (c != Color.RED)
+			    {
+				bi1.setRGB(x,y,rgb);
+			    }
+			else
+			    {
+				bi2.setRGB(x,y,rgb);
+			    }
+		    }
+	    }
+
+	save(bi1,file1);
+	save(bi2,file2);
+    }
+
+    /**
+     * This method will save the BufferedImage into a jpeg file with the specified filenames.
+     * @param b is the BufferedImage to be saved.
+     * @param filename is the name of the jpeg files.
+     */
+    public void save(BufferedImage b,String filename)
+    {
+	try 
+	    {
+		File file = new File(filename);
+		FileOutputStream out = new FileOutputStream(file);
+	    
+		JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
+		JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(b);
+		param.setQuality(1.0f, false);
+		encoder.setJPEGEncodeParam(param);
+		encoder.encode(b);
+		
+	    } catch (Exception ex) {}
+    }
+}
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/Separating.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/Separating.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/Separating.java	(revision 21123)
@@ -0,0 +1,108 @@
+/** This class is not currently used and therefore will not be compiled by makegli. */
+
+package org.greenstone.gatherer.feedback;
+
+import java.io.*;
+import javax.imageio.*;
+import java.awt.*;
+import java.awt.image.*;
+import com.sun.image.codec.jpeg.*;
+import javax.swing.*;
+
+/**
+ * This method will separate 1 image file into 2 image  with the help of
+ * another file and sace the difference into a jpeg files.
+ * For example : We have 1 image file which is a screen shot and another image file
+ *               is the screenshot with some line in it.
+ *               This class will separate the screen shot and the line into 2 separates 
+ *               images.And then it will save the line into a jpeg files.
+ * 
+ * @author Veronica Liesaputra
+ */
+public class Separating
+{
+    /**
+     * This is the BufferedImage of image inside the reference image file.
+     */
+    private BufferedImage bi;
+    /**
+     * This is the BufferedImage of image that we want to separate into
+     * 2 different image using the reference file.
+     */
+    private BufferedImage src_bi;
+
+    /**
+     * It will read whats inside the 2 given filenames and put it in the
+     * right BufferedImage.
+     * @param filename1 this is the file name of the reference image file.
+     * @param filename2 this is the file name of the file we want to separate into 2.
+     */
+    public Separating(String filename1,String filename2)
+    {
+	try
+	    {
+		File f1 = new File(filename1);
+		File f2 = new File(filename2);
+		bi = ImageIO.read(f1);
+		src_bi = ImageIO.read(f2);
+	    }
+	catch(IOException exp) {}
+    }
+
+    /**
+     * This method will get the difference that exist between bi and src_bi and
+     * will save the difference inside a jpeg file with the specified file name.
+     * @param file1 is the name of the file where we want to save the image.
+     */
+    public void separate(String file1)
+    {
+	BufferedImage bi1;
+	
+	int width = bi.getWidth();
+	int height = bi.getHeight();
+	
+	bi1 = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
+
+	for (int y = 0 ; y < height ; y++) 
+	    {
+		for (int x = 0 ; x < width ; x++)
+		    {
+			int rgb = bi.getRGB(x,y);
+			int src_rgb = src_bi.getRGB(x,y);
+			
+			if (src_rgb != rgb)
+			    {
+				bi1.setRGB(x,y,rgb);
+			    }
+		    }
+	    }
+
+	save(bi1,file1);
+    }
+
+    /**
+     * This method will save a BufferedImage to a jpeg file with the specified filename.
+     * @param b is the BufferedImage to be saved.
+     * @param filename is the name of the jpeg file.
+     */
+    public void save(BufferedImage b,String filename)
+    {
+	try 
+	    {
+		File file = new File(filename);
+		FileOutputStream out = new FileOutputStream(file);
+	    
+		JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
+		JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(b);
+		param.setQuality(1.0f, false);
+		encoder.setJPEGEncodeParam(param);
+		encoder.encode(b);
+		
+	    } catch (Exception ex) {}
+    }
+}
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/UserComponent.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/UserComponent.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/UserComponent.java	(revision 21123)
@@ -0,0 +1,439 @@
+package org.greenstone.gatherer.feedback;
+
+import java.util.*;
+import java.awt.image.*;
+import java.io.*;
+import javax.imageio.*;
+import javax.swing.*;
+import java.awt.*;
+
+/**
+ * This class willl hold the information about a component and the contents inside the component.
+ * @author Veronica Liesaputra
+ */
+public class UserComponent implements Serializable
+{
+    /**
+     * This variable will hold what is the type of instance this component is.
+     */
+    private String type = null;
+
+    /**
+     * This variable will store the title of this component.
+     */
+    private String title = null;
+
+    /**
+     * This varaible will store the array list of the contents of this component.
+     */
+    private ArrayList content = null;
+
+    /**
+     * This variable will store the status of this component, whether or not
+     * this component is selected by the user.
+     */
+    private String selected = null;
+
+    /**
+     * This variable will store the status of this component, whether or not
+     * this component is visible.
+     */
+    private String visible = null;
+
+    /**
+     * This variable will hold the descrption text saying that there is no
+     * image in this component.
+     */
+    private String image = null;
+
+    /**
+     * This is the supposed filename of the image that is in this component should use if 
+     * we want to save it to a jpeg file.
+     */
+    private String img = null;
+
+    /**
+     * This is the string representation of the image that is in this component.
+     */
+    private String imgFile = null;
+
+    /**
+     * This is the index that will help storing the data to the correct data member.
+     */
+    private int index;
+
+    /**
+     * This is the height of the image that is in this component.
+     */
+    private String height;
+
+    /**
+     * This is the width of the image that is in this component.
+     */
+    private String width;
+
+    /**
+     * This variable will hold the tooltiptext set for this component.
+     */
+    private String tooltip;
+
+    /**
+     * This will initialized content to a new empty Arrray list.
+     */
+    public UserComponent()
+    {
+	content = new ArrayList();
+    }
+
+    /**
+     * This method will get the width of the image that is inside this component.
+     * @return image's width.
+     */
+    public String getWidth()
+    {
+	return width;
+    }
+
+    /**
+     * This method will get the height of the image that is inside this component.
+     * @return image's height.
+     */
+    public String getHeight()
+    {
+	return height;
+    }
+
+    /**
+     * This method will get the type of instance this component is.
+     * @return component's type.
+     */
+    public String getType()
+    {
+	return type;
+    }
+
+    /**
+     * This method will get the tooltiptext set for this component.
+     * @return component's tooltiptext.
+     */
+    public String getToolTip()
+    {
+	return tooltip;
+    }
+
+    /**
+     * This method will get the title for this component.
+     * @return component's title.
+     */
+    public String getTitle()
+    {
+	return title;
+    }
+
+    /**
+     * This method will get the content inside this component.
+     * @return component's content.
+     */
+    public ArrayList getContent()
+    {
+	return content;
+    }
+
+    /**
+     * This method will get whether or not this component is 
+     * selected by the user.
+     * @return component selected or not.
+     */
+    public String getSelected()
+    {
+	return selected;
+    }
+
+    /**
+     * This method will get whether or not this component is 
+     * visible.
+     * @return component visible or not.
+     */
+    public String getVisible()
+    {
+	return visible;
+    }
+
+    /**
+     * This method will get the descrption text saying that there is no
+     * image in this component.
+     * @return the description text.
+     */
+    public String getImage()
+    {
+	return image;
+    }
+
+    /**
+     * This method will get the supposed filename of the image that is in this component should use if 
+     * we want to save it to a jpeg file.
+     * @return the image file name.
+     */
+    public String getImageFileName()
+    {
+	return img;
+    }
+
+    /**
+     * This method will get the string representation of the image that is in this component.
+     * @return the image.
+     */
+    public String getImageFile()
+    {
+	return imgFile;
+    }
+
+    /**
+     * This method will set the index value.
+     * (Precondition: (num > 0))
+     * @param num the new index value.
+     */
+    public void startContent (int num)
+    {
+	index = num;
+    }
+    
+    /**
+     * This method will add the UserComponent to the content array list.
+     * @param comp the content of the component.
+     */
+    public void saveContent (UserComponent comp)
+    {
+	content.add(comp);
+    }
+
+    /**
+     * This method will set the data member value to the text passed
+     * to this method depending on the index value.
+     * @param text the value to be set to the data member.
+     */
+    public void saveContent (String text)
+    {
+	if (text == null)
+	    text = " ";
+
+	switch (index)
+	    {
+	    case 1 : type = text; break;
+	    case 2 : title = text; break;
+	    case 3 : content.add(text); break;
+	    case 4 : selected = text;break;
+            case 5 : visible = text;break;
+	    case 6 : image = text; break;
+	    case 7 : tooltip = text;break;
+            }
+    }
+
+    /**
+     * This method will encode the ImageIcon into its String representation using Based64encoder and
+     * it will also set the image's filename,height and width.
+     * @param image is the image to be converted.
+     * @param filename is the file name of the image.
+     */
+    public void saveImage (ImageIcon image,String filename) 
+    {
+	/*int w;
+	w = image.getIconWidth();
+	int h;
+	h = image.getIconHeight();
+
+	height = "" + h;
+	width = "" + w;
+	img = filename;
+	
+	if (w > 50)
+	    w = w - 50;
+	
+	if (h > 50)
+	    h = h - 50;
+	
+	ImageIcon icon;
+	icon = new ImageIcon(image.getImage().getScaledInstance(w,h,Image.SCALE_SMOOTH));
+   
+	if ( w < 0 || h < 0)
+	    {
+		System.out.println(img);
+		return;
+	    }
+
+	BufferedImage bi;
+	bi =new BufferedImage(w,h, BufferedImage.TYPE_INT_RGB);
+	Graphics2D big;
+	big = bi.createGraphics();
+	
+	big.drawImage(icon.getImage(),0,0,null);
+	
+	try	
+	    {
+		ByteArrayOutputStream stream;
+		stream = new ByteArrayOutputStream();
+		ImageIO.write(bi,"jpeg",stream);
+		byte[] bytes;
+		bytes = stream.toByteArray();
+		imgFile = Base64.encodeBytes(bytes);
+	    }
+	catch (IOException exp) {}
+	
+	big.dispose();
+	image = null;
+	bi = null;
+	icon = null;*/
+    }
+
+    /**
+     * This method will encode the Icon into its String representation using Based64encoder and
+     * it will also set the image's filename,height and width.
+     * @param image is the image to be converted.
+     * @param filename is the file name of the image
+     */
+    public void saveImage (Icon image,String filename)
+    {
+	if (image == null)
+	    System.out.println("null image??");
+	else if (image instanceof ImageIcon)
+	    saveImage((ImageIcon)image, filename);
+	else
+	    System.out.println("Its a icon");
+	    //saveIcon (image,filename);
+    }
+
+    /**
+     * This method will encode the Icon into its String representation using Based64encoder and
+     * it will also set the image's filename,height and width.
+     * @param image is the image to be converted.
+     * @param filename is the file name of the image.
+     */
+    private void saveIcon (Icon image,String filename)
+    {
+	JFrame lbl = new JFrame();
+	lbl.setVisible(false);
+
+	ImageIcon icon;
+	Image img;
+	img = iconToImage(image,lbl);
+	icon = new ImageIcon(img);
+	lbl.dispose();
+	lbl = null;
+	saveImage(icon,filename);
+    }
+
+    /**
+     * This method will save to content of this UserComponent to an xml file.
+     * The xml file should already have an opening tag and closing tag first before calling
+     * this method or it wont make a valid xml file.
+     * @param sx this is the xml file where we want to save it.
+     */
+    public void sendingXML (SaveToXML sx)
+    {
+	if (type != null)
+	    {
+		sx.startContent(1);
+		sx.saveContent(type);
+		sx.closeContent(1);
+	    }
+
+	if (title != null)
+	    {
+		sx.startContent(2);
+		sx.saveContent(title);
+		sx.closeContent(2);
+	    }
+
+	if (content != null)
+	    {
+		sx.startContent(3);
+		for (int j = 0 ; j < content.size() ; j++)
+		    {
+			if (content.get(j) instanceof String)
+			    sx.saveContent((String) content.get(j));
+			else
+			    {
+				sx.startContent(0);
+				UserComponent cmp;
+				cmp = (UserComponent) content.get(j);
+				cmp.sendingXML(sx);
+				sx.closeContent(0);
+			    }
+		    }
+		sx.closeContent(3);
+	    }
+
+	if (selected != null)
+	    {
+		sx.startContent(4);
+		sx.saveContent(selected);
+		sx.closeContent(4);
+	    }
+
+	if (visible != null)
+	    {
+		sx.startContent(5);
+		sx.saveContent(visible);
+		sx.closeContent(5);
+	    }
+
+	if (img != null)
+	    {
+		sx.startContent(6);
+		sx.saveImage(imgFile,img,width,height);
+		sx.closeContent(6);
+	    }
+	else
+	    {
+		if (image != null)
+		    {
+			sx.startContent(11);
+			sx.saveContent(image);
+			sx.closeContent(11);
+		    }
+	    }
+
+	if (tooltip != null)
+	    {
+		sx.startContent(12);
+		sx.saveContent(tooltip);
+		sx.closeContent(12);
+	    }
+    }
+
+    /**
+     * This method will convert an Icon to a BufferedImage.
+     * @param icon icon to be converted.
+     * @param targetComponent is the component where we want to draw this BufferedImage.
+     * @return is the BufferedImage of the icon.
+     */
+    public BufferedImage iconToImage(Icon icon, Component targetComponent) 
+    {
+	int w,h;
+	w = icon.getIconWidth();
+	h = icon.getIconHeight();
+	GraphicsConfiguration gc;
+	gc = targetComponent.getGraphicsConfiguration();
+	BufferedImage image;
+	image = gc.createCompatibleImage(w, h,Transparency.TRANSLUCENT);
+	
+	Graphics2D g;
+	g = image.createGraphics();
+	icon.paintIcon(targetComponent,g,0,0);
+	g.dispose();
+	return image;
+    }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/ZipFile.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/ZipFile.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/feedback/ZipFile.java	(revision 21123)
@@ -0,0 +1,266 @@
+package org.greenstone.gatherer.feedback;
+
+import java.io.*;
+import java.util.jar.*;
+import java.util.zip.*;
+
+/**
+ * This class will help to zip and unzip files.
+ * @author Veronica Liesaputra
+ */
+public class ZipFile 
+{
+    /**
+     * This is the specified buffer size.
+     */
+    private static final int BUFFER = 2048;
+    
+    public ZipFile ()
+    {}
+
+    /**
+     * This method will unzip the MyZipFile.zip file and delete the file.
+     */
+    public void unZipFile ()
+    {
+	try
+	    {
+		BufferedOutputStream dest;
+		dest = null;
+		FileInputStream fis;
+		fis = new FileInputStream("MyZipFile.zip");
+		ZipInputStream zis;
+		zis = new ZipInputStream(new BufferedInputStream(fis));
+		ZipEntry entry;
+		while((entry = zis.getNextEntry()) != null) 
+		    {
+			int count;
+			byte data[];
+			data = new byte[BUFFER];
+			// write the files to the disk
+			File f;
+			f = new File(entry.getName());
+			if (isRightLogExtension(f) == true)
+			    {
+				FileOutputStream fos;
+				fos = new FileOutputStream(entry.getName());
+				dest = new BufferedOutputStream(fos, BUFFER);
+				while ((count = zis.read(data, 0, BUFFER)) != -1) 
+				    {
+					dest.write(data, 0, count);
+				    }
+				dest.flush();
+				dest.close();
+			    }
+		    }
+		zis.close();
+		File f3;
+		f3 = new File("MyZipFile.zip");
+		f3.delete();
+	    } 
+	catch (FileNotFoundException fexp) {}
+	catch(Exception e) 
+	    {
+		e.printStackTrace();
+	    }
+    } 
+
+    /**
+     * This method will zip all the xml files into one Jar file.
+     */
+    public void sendZipXMLFile ()
+     {
+	try 
+	    {
+		String dirname;
+		dirname = "xmlfeedback/";
+		BufferedInputStream origin;
+		origin = null;
+		FileOutputStream dest;
+		dest = new FileOutputStream(dirname + "Jar" + 
+					    FeedbackInterface.getCode() + 
+					    "File.jar");
+		JarOutputStream out;
+		out = new JarOutputStream(new BufferedOutputStream(dest));
+		out.setMethod(ZipOutputStream.DEFLATED);
+		byte data[];
+		data = new byte[BUFFER];
+		
+		File f;
+		f = new File(dirname + ".");
+		File[] fileList;
+		fileList = f.listFiles();
+		File[] files;
+		files = new File[fileList.length + 8];
+		
+		int index,j,i;
+		index = 0;
+		for (j = 0 ; j < fileList.length ; j++)
+		    {
+			String name;
+			name = fileList[j].getName();
+			
+			if (isRightXMLExtension(fileList[j]) == true)
+			    {
+				files[index] = fileList[j];
+				index++;
+			    }
+		    }
+		
+		for ( i = 0; i < index; i++) 
+		    {
+			FileInputStream fi;
+			fi = new FileInputStream(files[i]);
+			origin = new BufferedInputStream(fi, BUFFER);
+			ZipEntry entry;
+			entry = new ZipEntry(files[i].getName());
+			out.putNextEntry(entry);
+			int count;
+			while((count = origin.read(data, 0,BUFFER)) != -1) 
+			    {
+				out.write(data, 0, count);
+			    }
+			origin.close();
+		    }	
+
+		out.close();
+	    } 
+	catch(Exception e) 
+	    {
+		e.printStackTrace();
+	    }
+    }
+
+    /**
+     * This method will zip all .log file to MyZipFile.zip file and it will
+     * delete the history.log file.
+     */
+    public void sendZipFile ()
+    {
+	try 
+	    {
+		BufferedInputStream origin;
+		origin = null;
+		FileOutputStream dest;
+		dest = new FileOutputStream("MyZipFile.zip");
+		ZipOutputStream out;
+		out = new ZipOutputStream(new BufferedOutputStream(dest));
+		out.setMethod(ZipOutputStream.DEFLATED);
+		byte data[];
+		data = new byte[BUFFER];
+		
+		File f;
+		f = new File(".");
+		File[] fileList;
+		fileList = f.listFiles();
+		File[] files;
+		files = new File[fileList.length];
+		
+		int index,i,j;
+		index = 0;
+		for ( j = 0 ; j < fileList.length ; j++)
+		    {
+			if (isRightLogExtension(fileList[j]) == true)
+			    {
+				files[index] = fileList[j];
+				index++;
+			    }
+		    }
+		
+		for (i = 0; i < index; i++) 
+		    {
+			FileInputStream fi;
+			fi = new FileInputStream(files[i]);
+			origin = new BufferedInputStream(fi, BUFFER);
+			ZipEntry entry;
+			entry = new ZipEntry(files[i].getName());
+			out.putNextEntry(entry);
+			int count;
+			while((count = origin.read(data, 0,BUFFER)) != -1) 
+			    {
+				out.write(data, 0, count);
+			    }
+			origin.close();
+		    }
+		out.close();
+		File f2;
+		f2 = new File("history.log");
+		f2.delete();
+	    } 
+	catch(Exception e) 
+	    {
+		e.printStackTrace();
+	    }
+    }
+    
+    /**
+     * This method will get the extension of the given file.
+     * @param f the file we want to know the extension.
+     * @return  the file extension.
+     */
+    public String getExtension(File f)
+    {
+        String ext;
+	ext = null;
+        String s;
+	s = f.getName();
+        int i;
+	i = s.lastIndexOf('.');
+	
+        if (i > 0 &&  i < s.length() - 1)
+	    {
+		ext = s.substring(i+1).toLowerCase();
+	    }
+        return ext;
+    }
+   
+    /**
+     * This method will check whether or not the give file has
+     * an .xml extension.
+     * @param f the file we want to check the extension.
+     * @return  whether or not the file has xml as its file extension.
+     */
+    public boolean isRightXMLExtension(File f)
+    {
+	if (f.isDirectory() == true)
+	    {
+		return false;
+	    }
+	String ext;
+	ext = getExtension(f);
+	if ((ext != null) && (ext.compareTo("xml") == 0))
+	    return true;
+	else
+	    return false;
+    }
+
+    /**
+     * This method will check whether or not the give file has
+     * an .log extension.
+     * @param f the file we want to check the extension.
+     * @return  whether or not the file has log as its file extension.
+     */
+    public boolean isRightLogExtension(File f)
+    {
+	if (f.isDirectory() == true)
+	    return false;
+	
+	String ext;
+	ext = getExtension(f);
+	
+	if ((ext != null) && (ext.compareTo("log") == 0))
+	    return true;
+	else
+	    return false;
+    }
+}
+
+
+
+
+
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileAlreadyExistsException.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileAlreadyExistsException.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileAlreadyExistsException.java	(revision 21123)
@@ -0,0 +1,11 @@
+package org.greenstone.gatherer.file;
+
+import java.lang.Exception;
+
+public class FileAlreadyExistsException
+    extends Exception {
+
+    public FileAlreadyExistsException() {
+	super();
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileAssociationManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileAssociationManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileAssociationManager.java	(revision 21123)
@@ -0,0 +1,333 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.file;
+
+import java.io.*;
+import java.util.regex.*;
+import javax.swing.table.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.gui.FileAssociationDialog;
+import org.greenstone.gatherer.gui.PreviewCommandDialog;
+import org.greenstone.gatherer.util.ExternalProgram;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+public class FileAssociationManager 
+    extends AbstractTableModel {
+    static final public String FILENAME_ARG = "%1";
+    static final private String ESCAPE = "\\\\"; // '\'
+    static final private String ESCAPED_ESCAPE = "\\\\\\\\"; // '\\'
+    static final private String SPACE = " ";
+    static final private String ESCAPED_SPACE = "\\\\ ";
+    private Element associations_element;
+    private File data_file;   
+
+    public FileAssociationManager() {
+	// Retrieve the associations_element from the config
+	associations_element = Configuration.getFileAssociations();
+	// Initialize the associations. This involves looking through all current associations searching for those with a command of "".
+	if(associations_element != null) {
+	    NodeList entries = associations_element.getElementsByTagName(StaticStrings.ENTRY_ELEMENT);
+	    for(int i = 0; i < entries.getLength(); i++) {
+		Element entry = (Element) entries.item(i);
+		String command = XMLTools.getValue(entry);
+		// If we encounter a command of ""...
+		if(command.length() == 0) {
+		    // if we are on windows, we default to the start command
+		    if(Utility.isWindows()) {
+			if (Utility.isWindows9x()) {
+			    XMLTools.setValue(entry, StaticStrings.WIN_9X_OPEN_COMMAND);
+			} else {
+			    XMLTools.setValue(entry, StaticStrings.WIN_OPEN_COMMAND);
+			}
+		    }
+		    // and if we are on mac, we default to the open program
+		    else if(Utility.isMac()) {
+			XMLTools.setValue(entry, StaticStrings.MAC_OPEN_COMMAND);
+		    }
+		}
+		command = null;
+		entry = null;
+	    }
+	    entries = null;
+	}
+	else {
+	    DebugStream.println("Didn't parse anything. About to crash.");
+	}
+    }
+    
+    public void edit() {
+	FileAssociationDialog dialog = new FileAssociationDialog(this);
+	dialog.display(null);
+	dialog = null;		  
+    }
+
+    public String getBrowserCommand(String url) {
+	DebugStream.println("Get browser command: " + url);
+	// First off we try to retrieve one from the configuration
+	String command = Configuration.getPreviewCommand();
+	// If that worked, substitute in the url and return
+	if(command != null && command.length() > 0) {
+	    command = command.replaceAll("%1", url);
+	    DebugStream.println("Result = " + command);
+	    return command;
+	}
+	command = null;
+	// Failing that we have a guess at a sensible default 
+	if(Utility.isWindows()) {
+	    // we use cmd and start
+	    if (Utility.isWindows9x()) {
+		command = StaticStrings.WIN_9X_OPEN_COMMAND;//"command.com /c start \""+url+"\"";
+	    } else {
+		command = StaticStrings.WIN_OPEN_COMMAND;//"cmd.exe /c start \"\" \""+url+"\"";
+	    }
+	} else if (Utility.isMac()) {
+	    command = StaticStrings.MAC_OPEN_COMMAND; // "open %1"
+	} else {
+	    // we try to look for a browser
+	    String [] browsers = new String [] {"mozilla", "netscape"};
+	    for (int i=0; i<browsers.length; i++) {
+		if (isAvailable(browsers[i])) {
+		    command = browsers[i]+ " %1";
+		    break;
+		}
+	    }
+	}
+
+	// if we still haven't found something, prompt the user
+	if (command == null) {
+	    PreviewCommandDialog dialog = new PreviewCommandDialog();
+	    command = dialog.display();
+	    dialog.dispose();
+	    dialog = null;
+	}
+
+	// Store the result if any
+	if(command != null && !command.equals("")) {
+	    Configuration.setPreviewCommand(command);
+	    command = command.replaceAll(FILENAME_ARG, url);
+	    DebugStream.println("Result = " + command);
+	    return command;
+	}
+	// if we haven't got a command by now, we'll never get one
+	DebugStream.println("Result = null");
+	return null;
+	
+    }
+
+    public int getColumnCount() {
+	return 2;
+    }
+
+    public String getColumnName(int column) {
+	String name;
+	switch(column) {
+	case 0:
+	    name = Dictionary.get("FileAssociationDialog.Table.Extension");
+	    break;
+	default:
+	    name = Dictionary.get("FileAssociationDialog.Table.Command");
+	}
+	return name;
+    }
+   
+    public String [] getCommand(File file) {
+	String command = null;
+	String [] commands = null;
+	if(file.isFile()) {
+	    // Determine extension
+	    String filename = file.getAbsolutePath();
+	    String extension = filename.substring(filename.lastIndexOf(".") + 1);
+	    // Try to retrieve a value from cache
+	    Element entry = getCommand(extension);
+	    if(entry != null) {
+		///ystem.err.println("Retrieved Value From Cache");
+		command = XMLTools.getValue(entry); 
+	    }
+	    if(command == null || command.length() == 0) {
+		///ystem.err.println("No Existing Command");
+		// If command is null, and we are on windows try searching the registry.
+		if(Utility.isWindows()) {
+		    //try the start command
+		    if (Utility.isWindows9x()) {
+			command = StaticStrings.WIN_9X_OPEN_COMMAND;
+		    } else {
+			command = StaticStrings.WIN_OPEN_COMMAND;
+		    }
+		    
+		}
+		
+		// If we are on a mac, default to using the open program
+		else if(Utility.isMac()) {
+		    command = StaticStrings.MAC_OPEN_COMMAND;
+		}
+
+		// Otherwise display the dialog and ask the user to enter launching command.
+		if(command == null || command.length() == 0) {
+		    ///ystem.err.println("Show Dialog");
+		    // Show the dialog which forces a user to select the launch command for a certain file.
+		    FileAssociationDialog dialog = new FileAssociationDialog(this);
+		    command = dialog.display(extension);
+		    dialog = null;
+		}
+
+		// Hopefully by now we have a command, or else we're never going to get one. Add the association.
+		if (command != null && !command.equals("")) {
+		    // If no previous entry existed create one.
+		    if(entry == null) {
+			entry = associations_element.getOwnerDocument().createElement(StaticStrings.ENTRY_ELEMENT);
+			entry.setAttribute(StaticStrings.EXTENSION_ATTRIBUTE, extension);
+			associations_element.appendChild(entry);
+		    }
+		    // Replace the text in this node. Remember to replace the dummy filename with %1 - I dont think the filename will ever be in the comand now
+		    //XMLTools.setValue(entry, command.replaceAll(filename, FILENAME_ARG));
+		    XMLTools.setValue(entry, command);
+		}
+	    }
+
+	    if (command != null && !command.equals("")) {
+		// Make the command into a string []		
+		commands = command.split(" ");
+
+		// Now substitute any occurrences of %1 with its filename
+		// Note this is done after the split on spaces to avoid
+		// any conflict with filenames with spaces in them.
+
+		// We have to fix filename under windows to escape the backslashes
+		filename = filename.replaceAll(ESCAPE, ESCAPED_ESCAPE);
+
+		for (int i=0; i<commands.length; i++) {
+		    // Replace %1 with the appropriate filename
+		    commands[i] = commands[i].replaceAll(FILENAME_ARG, filename);
+		}
+	    }
+	    
+	    entry = null;
+	    extension = null;
+	    filename = null;
+	}
+	return commands;
+    }
+
+    public Element getCommand(String target_extension) {
+	NodeList entries = associations_element.getElementsByTagName(StaticStrings.ENTRY_ELEMENT);
+	for(int i = 0; i < entries.getLength(); i++) { 
+	    Element entry = (Element) entries.item(i);
+	    String extension = entry.getAttribute(StaticStrings.EXTENSION_ATTRIBUTE);
+	    if(extension.equalsIgnoreCase(target_extension)) {
+		entries = null;
+		extension = null;
+		return entry;
+	    }
+	}
+	entries = null;
+	return null;
+    }
+
+    public String getCommandString(String target_extension) {
+	Element entry = getCommand(target_extension);
+	if(entry != null) {
+	    return XMLTools.getValue(entry);
+	}
+	else {
+	    return "";
+	}
+    }
+
+    public String getExtension(int index) {
+	NodeList entries = associations_element.getElementsByTagName(StaticStrings.ENTRY_ELEMENT);
+	if(0 <= index && index < entries.getLength()) {
+	    Element entry = (Element) entries.item(index);
+	    return entry.getAttribute(StaticStrings.EXTENSION_ATTRIBUTE);
+	}
+	return "";
+    }
+
+    public int getRowCount() {
+	return size();
+    }
+
+    public Object getValueAt(int row, int column) {
+	String extension = getExtension(row);
+	switch(column) {
+	case 0:
+	    return extension;
+	default:
+	    return getCommandString(extension);
+	}
+    }
+
+    public void save() {
+    }
+
+    public void setCommand(String extension, String command) {
+	DebugStream.println("Set Launch: " + extension + " with " + command);
+	// Retrieve any existing entry for this extension
+	Element entry = getCommand(extension);
+	// If no previous entry existed create one.
+	if(entry == null && command != null) {
+	    entry = associations_element.getOwnerDocument().createElement(StaticStrings.ENTRY_ELEMENT);
+	    entry.setAttribute(StaticStrings.EXTENSION_ATTRIBUTE, extension);
+	    associations_element.appendChild(entry);
+	}
+
+	if(command != null) {
+	    // Replace the text in this node. If the user has used filename instead of %1 then too bad.
+	    XMLTools.setValue(entry, command);
+	}
+	else {
+	    // Remove the entry
+	    associations_element.removeChild(entry);
+	}
+	entry = null;
+	fireTableDataChanged(); // Can't be anymore efficient as DOM does not gareuntee ordering of new child nodes is consistant
+    }
+
+    public int size() {
+	NodeList entries = associations_element.getElementsByTagName(StaticStrings.ENTRY_ELEMENT);
+	return entries.getLength();
+    }
+
+
+    protected boolean isAvailable(String program) {
+	try {
+	    ExternalProgram e = new ExternalProgram("which", program);
+	    e.exitProgram();
+	    String out = e.getLineOfProgramOutput();
+	    if (out == null) {
+		return false;
+	    }
+	    return true;
+	} catch (Exception exc) {
+	    return false;
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileFilter.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileFilter.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileFilter.java	(revision 21123)
@@ -0,0 +1,10 @@
+package org.greenstone.gatherer.file;
+
+public class FileFilter {
+    public boolean exclude;
+    public String filter;
+    public FileFilter(String filter, boolean exclude) {
+	this.exclude = exclude;
+	this.filter = filter;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileJob.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileJob.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileJob.java	(revision 21123)
@@ -0,0 +1,168 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.file;
+
+import javax.swing.tree.*;
+import org.greenstone.gatherer.util.DragComponent;
+
+/** This object encapsulates all the information about a certain file movement job. This job be to create a copy of a file from one place to another, or to simply delete a file. 
+ * @author John Thompson
+ * @version 2.3c
+ */
+public class FileJob {
+    /** true to mark that this file has already been copied, false otherwise. */
+    public boolean done = false;
+
+    /** The type of this movement as an byte. */
+    public byte type = 0;
+    /** The DragComponent source of this file, most likely a GTree. */
+    public DragComponent source       = null;
+    /** The DragComponent to move the file to, again most likely a GTree. */
+    public DragComponent target       = null;
+    /** The unique identifier shared by all jobs created by the same action. */
+    private long id = 0;
+    /** The path to the destination node as a string. Used because any reference based path or variables quickly becomes obsolete. */
+    private TreePath destination_path = null;
+    /** The path to the origin node as a string. Used because any reference based path or variables quickly becomes obsolete. */
+    private TreePath origin_path = null;
+    /** An element of the job type enumeration indicating a copy action. */
+    static final public byte COPY   = 1;
+    /** An element of the job type enumeration indicating a delete action. */
+    static final public byte DELETE = 2;
+    /** An element of the job type enumeration indicating a move action. */
+    static final public byte MOVE   = 3;
+    /** An element of the job type enumeration indicating a new folder action. */
+    static final public byte NEW_FOLDER = 4;
+    /** An element of the job type enumeration indicating an empty folder delete action. */
+    static final public byte DELETE_EMPTY_DIRECTORY = 5;
+    /** An element of the job type enumeration indicating a rename action. */
+    static final public byte RENAME = 6;
+    /** An element of the job type enumeration indicating a replace action. */
+    static final public byte REPLACE = 7;
+    /** An element of the job type enumeration indicating a copy action (but don't look for metadata. */
+    static final public byte COPY_FILE_ONLY   = 8;
+
+    /** Constructor.
+     * @param id A unique identifier for this job (and others created with a single gesture) as a long.
+     * @param source The DragComponent source of this file, most likely a GTree.
+     * @param orig The FileNode you wish to mode.
+     * @param target The DragComponent to move the file to, again most likely a GTree.
+     * @param dest The files new FileNode parent within the target.
+     * @param type The type of this movement as an int, either COPY or DELETE.
+     */
+    public FileJob(long id, DragComponent source, FileNode orig, DragComponent target, FileNode dest, byte type) {
+	this.id = id;
+	this.source = source;
+	this.target = target;
+	this.type = type;
+	///ystem.err.println("New Job: " + type + ", " + source + ", " + target);
+	// Dont store FileNodes which can go stale. Store paths instead, which are used to locate current 'fresh' versions of nodes.
+	if(dest != null) {
+	    this.destination_path = new TreePath(dest.getPath());
+	    ///ystem.err.println("Destination Path: " + destination_path);
+	}
+	if(orig != null) {
+	    this.origin_path = new TreePath(orig.getPath());
+	    ///atherer.println("Origin Path: " + origin_path);
+	}
+    }
+
+    /** Retrieve the destination node. Watch out for stale versions by always attempting to load the node at destination_path first. */
+    public FileNode getDestination() {
+	FileNode destination = null;
+	if(destination_path != null) {
+	    if(target != null) {
+		FileSystemModel model = (FileSystemModel)target.getTreeModel();
+		destination = model.getNode(destination_path);
+	    }
+	    // If the above fails, a stale copy may be better than nothing.
+	    else {
+		destination = (FileNode) destination_path.getLastPathComponent();
+	    }
+	}
+	return destination;
+    }
+
+    /** Retrieve the origin node. Watch out for stale versions by always attempting to load the node at origin_path first. */
+    public FileNode getOrigin() {
+	FileNode origin = null;
+	if(origin_path != null) {
+	    if(source != null) {
+		FileSystemModel model = (FileSystemModel)source.getTreeModel();
+		origin = model.getNode(origin_path);
+	    }
+	    // If the above fails, a stale copy may be better than nothing.
+	    else {
+		origin = (FileNode) origin_path.getLastPathComponent();
+	    }
+	}
+	return origin;
+    }
+
+    /** Retrieve the id for this job. */
+    public long ID() {
+	return id;
+    }
+
+    public String toString() {
+	StringBuffer text = new StringBuffer("");
+	switch(type) {
+	case COPY:
+	    text.append("copy ");
+	    break;
+	case DELETE:
+	    text.append("delete ");
+	    break;
+	case MOVE:
+	    text.append("move ");
+	    break;
+	case DELETE_EMPTY_DIRECTORY:
+	    text.append("empty directory delete ");
+	    break;
+	default:
+	    text.append("unknown ");
+	}
+	FileNode origin = getOrigin();
+	if(origin != null) {
+	    text.append(origin.getFile().getAbsolutePath());
+	}
+	else {
+	    text.append("ERROR!");
+	}
+	if (type != DELETE && type != DELETE_EMPTY_DIRECTORY) {
+	    text.append(" -> ");
+	    FileNode destination = getDestination();
+	    if(destination != null) {
+		text.append(destination.getFile().getAbsolutePath());
+	    }  
+	    else {
+		text.append("Recycle Bin");
+	    }
+	}
+	return text.toString();
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileManager.java	(revision 21123)
@@ -0,0 +1,477 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, NZDL Project, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2005 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.file;
+
+import java.io.File;
+import javax.swing.*;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.collection.CollectionTree;
+import org.greenstone.gatherer.collection.CollectionTreeNode;
+import org.greenstone.gatherer.gui.ExplodeMetadataDatabasePrompt;
+import org.greenstone.gatherer.gui.ReplaceSrcDocWithHtmlPrompt; 
+import org.greenstone.gatherer.gui.GProgressBar;
+import org.greenstone.gatherer.gui.NewFolderOrFilePrompt;
+import org.greenstone.gatherer.gui.RenamePrompt;
+import org.greenstone.gatherer.gui.tree.DragTree;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.greenstone.gatherer.util.DragComponent;
+import org.greenstone.gatherer.util.Utility;
+
+/** Manages the moving of files within a separate thread.
+ * @author John Thompson, NZDL Project, University of Waikato
+ */
+public class FileManager
+{
+    /** Not only the queue of files to be moved, but also the object that moves them. */
+    static private FileQueue file_queue = null;
+
+    public static int FILE_TYPE = 0;
+    public static int FOLDER_TYPE = 1;
+    protected static File startup_directory = null;
+
+
+    /** Constructor.
+     * @see org.greenstone.gatherer.file.FileQueue
+     */
+    public FileManager()
+    {
+	file_queue = new FileQueue();
+	file_queue.start();
+    }
+
+
+    /** Determine what action should be carried out by the file queue, and add all of the necessary file jobs. */
+    public void action(DragComponent source, FileNode[] source_nodes, DragComponent target, FileNode target_node)
+    {
+	// Check there is something to do
+	if (source_nodes == null || source_nodes.length == 0) {
+	    return;
+	}
+
+	// We need a unique ID for each file task
+	long id = System.currentTimeMillis();
+
+	// If source and target are the same we're moving
+	if (source == target) {
+	    // Start a new move FileTask and we're done
+	    (new FileTask(id, source, source_nodes, target, target_node, FileJob.MOVE)).start();
+	    return;
+	}
+
+	// If target isn't the RecycleBin, we're copying
+	if (!(target instanceof RecycleBin)) {
+	    // Start a new copy FileTask and we're done
+	    (new FileTask(id, source, source_nodes, target, target_node, FileJob.COPY)).start();
+	    return;
+	}
+
+	// We're deleting... but first make sure source isn't read-only
+	boolean read_only_source = false;
+
+	// The workspace tree is read-only...
+	if (source.toString().equals("Workspace")) {
+	    read_only_source = true;
+
+	    // ...except for files from the "Downloaded Files" folder
+	    String downloaded_files_folder_path = Gatherer.getGLIUserCacheDirectoryPath();
+	    for (int i = 0; i < source_nodes.length; i++) {
+		// Is this the "Downloaded Files" folder?
+		if (source_nodes[i].getFile().getAbsolutePath().startsWith(downloaded_files_folder_path)) {
+		    read_only_source = false;
+		}
+	    }
+	}
+
+	// The source is read-only, so tell the user and abort
+	if (read_only_source) {
+	    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("FileActions.Read_Only"), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+	    return;
+	}
+
+	// Start a new delete FileTask and we're done
+	(new FileTask(id, source, source_nodes, target, target_node, FileJob.DELETE)).start();
+    }
+
+
+    /** Retrieves the file queue object. */
+    public FileQueue getQueue()
+    {
+	return file_queue;
+    }
+
+
+    private class FileTask
+	extends Thread
+    {
+	private long id;
+	private DragComponent source;
+	private FileNode[] source_nodes;
+	private DragComponent target;
+	private FileNode target_node;
+	private byte type;
+
+
+	public FileTask(long id, DragComponent source, FileNode[] source_nodes, DragComponent target, FileNode target_node, byte type)
+	{
+	    this.id = id;
+	    this.source = source;
+	    this.source_nodes = source_nodes;
+	    this.target = target;
+	    this.target_node = target_node;
+	    this.type = type;
+	}
+
+
+	public void run()
+	{
+	    // Reset the progress bar and set it to indeterminate while calculating its size
+	    GProgressBar progress_bar = file_queue.getProgressBar();
+	    progress_bar.reset();
+	    progress_bar.setIndeterminate(true);
+
+	    // Calculate the progress bar size
+	    boolean cancelled = file_queue.calculateSize(source_nodes);
+	    if (!cancelled) {
+		file_queue.addJob(id, source, source_nodes, target, target_node, type);
+		if (Gatherer.isGsdlRemote) {
+		    String collection_name = CollectionManager.getLoadedGroupQualifiedCollectionName(true);
+
+		    // Perform the appropriate action based on the job type (RemoteGreenstoneServer will queue)
+		    if (type == FileJob.COPY) {
+			// Copies: upload all the files at once in one zip file
+			File[] source_files = new File[source_nodes.length];
+			for (int i = 0; i < source_nodes.length; i++) {
+			    source_files[i] = source_nodes[i].getFile();
+			}
+			Gatherer.remoteGreenstoneServer.uploadFilesIntoCollection(collection_name, source_files, target_node.getFile());
+		    }
+		    else if (type == FileJob.DELETE) {
+			// Deletes: delete each top-level file/directory one at a time
+			for (int i = 0; i < source_nodes.length; i++) {
+			    Gatherer.remoteGreenstoneServer.deleteCollectionFile(collection_name, source_nodes[i].getFile());
+			}
+		    }
+		    else if (type == FileJob.MOVE) {
+			// Moves: move each top-level file/directory one at a time
+			for (int i = 0; i < source_nodes.length; i++) {
+			    Gatherer.remoteGreenstoneServer.moveCollectionFile(
+                                     collection_name, source_nodes[i].getFile(), target_node.getFile());
+			}
+		    }
+		}
+	    }
+
+	    progress_bar.setIndeterminate(false);
+	    progress_bar.clear();
+	}
+    }
+
+    public void explodeMetadataDatabase(File file)
+    {
+	// This must go in a separate thread because we need the progress bar to work (remote Greenstone server)
+	new ExplodeMetadataDatabasePromptTask(file).start();
+    }
+
+    // Works with replace_srcdoc_with_html.pl
+    public void replaceSrcDocWithHtml(File[] files)
+    {
+	// This must go in a separate thread because we need the progress bar to work (remote Greenstone server)
+	new ReplaceSrcDocWithHtmlPromptTask(files).start();
+    }
+
+    private class ExplodeMetadataDatabasePromptTask
+	extends Thread
+    {
+	private File metadata_database_file = null;
+
+	public ExplodeMetadataDatabasePromptTask(File metadata_database_file)
+	{
+	    this.metadata_database_file = metadata_database_file;
+	}
+
+	public void run()
+	{
+	    ExplodeMetadataDatabasePrompt emp = new ExplodeMetadataDatabasePrompt(metadata_database_file);
+	}
+    }
+
+    // Works with replace_srcdoc_with_html.pl
+    private class ReplaceSrcDocWithHtmlPromptTask
+	extends Thread
+    {
+	private File[] replace_these_srcdoc_files = null;
+
+	public ReplaceSrcDocWithHtmlPromptTask(File[] replace_these_srcdoc_files)
+	{
+	    this.replace_these_srcdoc_files = replace_these_srcdoc_files;
+	}
+
+	public void run()
+	{
+	    ReplaceSrcDocWithHtmlPrompt prompt = new ReplaceSrcDocWithHtmlPrompt(replace_these_srcdoc_files);
+	}
+    }
+
+
+    public void openFileInExternalApplication(File file)
+    {
+	// This must go in a separate thread because we need the progress bar to work (remote Greenstone server)
+	new OpenFileInExternalApplicationTask(file).start();
+    }
+
+
+    private class OpenFileInExternalApplicationTask
+	extends Thread
+    {
+	private File file = null;
+
+	public OpenFileInExternalApplicationTask(File file)
+	{
+	    this.file = file;
+	}
+
+	public void run()
+	{
+	    // If we're using a remote Greenstone server, we need to download the file before viewing it...
+	    if (Gatherer.isGsdlRemote) {
+		// ... but only if it is inside the collection and we haven't already downloaded it
+		if (file.getAbsolutePath().startsWith(Gatherer.getCollectDirectoryPath()) && file.length() == 0) {
+		    if (Gatherer.remoteGreenstoneServer.downloadCollectionFile(
+                                 CollectionManager.getLoadedGroupQualifiedCollectionName(true), file).equals("")) {
+			// Something has gone wrong downloading the file
+			return;
+		    }
+		}
+	    }
+
+	    // View the file in an external application
+	    Gatherer.spawnApplication(file);
+	}
+    }
+
+
+    public void newDummyDoc(DragTree tree, CollectionTreeNode parent_node){
+	newFolderOrDummyDoc(tree, parent_node, FILE_TYPE);
+    }
+
+
+    public void newFolder(DragTree tree, CollectionTreeNode parent_node) {
+	newFolderOrDummyDoc(tree, parent_node, FOLDER_TYPE);
+    }
+
+
+    protected void newFolderOrDummyDoc(DragTree tree, CollectionTreeNode parent_node, int type) {
+	(new NewFolderOrDummyDocumentTask(tree, parent_node, type)).start();
+    }
+
+
+    private class NewFolderOrDummyDocumentTask
+	extends Thread
+    {
+	private DragTree tree = null;
+	private CollectionTreeNode parent_node = null;
+	private int type;
+
+	public NewFolderOrDummyDocumentTask(DragTree tree, CollectionTreeNode parent_node, int type)
+	{
+	    this.tree = tree;
+	    this.parent_node = parent_node;
+	    this.type = type;
+	}
+
+	public void run()
+	{
+	    // Ask the user for the directories name.
+	    String extension = "";
+	    if (type == FILE_TYPE) {
+		extension = ".nul";
+	    }
+
+	    NewFolderOrFilePrompt new_folder_prompt = new NewFolderOrFilePrompt(parent_node, type, extension);
+	    String name = new_folder_prompt.display();
+	    new_folder_prompt.dispose();
+	    new_folder_prompt = null;
+
+	    // And if the name is non-null...
+	    if (name != null) {
+		FileSystemModel model = (FileSystemModel) tree.getModel();
+		File folder_file = new File(parent_node.getFile(), name);
+
+		//... check if it already exists.
+		if (folder_file.exists()) { 
+		    if (type == FILE_TYPE) {
+			JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("FileActions.File_Already_Exists_No_Create", name), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+		    }
+		    else {
+			JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("FileActions.Folder_Already_Exists", name), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+		    }
+		}
+		// Otherwise create it.
+		else {
+		    try {
+			if (type == FILE_TYPE) {
+			    folder_file.createNewFile();
+			    if (Gatherer.isGsdlRemote) {
+				Gatherer.remoteGreenstoneServer.uploadCollectionFile(
+                                         CollectionManager.getLoadedGroupQualifiedCollectionName(true), folder_file);
+			    }
+			}
+			else {
+			    folder_file.mkdirs();
+			    if (Gatherer.isGsdlRemote) {
+				Gatherer.remoteGreenstoneServer.newCollectionDirectory(
+                                         CollectionManager.getLoadedGroupQualifiedCollectionName(true), folder_file);
+			    }
+			}
+
+			// Update the parent node to show the new folder
+			parent_node.refresh();
+
+			// Refresh workspace tree (collection tree is done automatically)
+			Gatherer.g_man.refreshWorkspaceTree(DragTree.COLLECTION_CONTENTS_CHANGED);
+		    }
+		    catch (Exception exception) {
+			if (type == FILE_TYPE) {
+			    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("FileActions.File_Create_Error", name), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+			}
+			else {
+			    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("FileActions.Folder_Create_Error", name), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+			}
+		    }
+		}
+		
+		folder_file = null;
+		model = null;
+	    }
+	    name = null;
+	}
+    }
+
+
+    public void renameCollectionFile(CollectionTree collection_tree, CollectionTreeNode collection_tree_node)
+    {
+	// This must go in a separate thread because we need the progress bar to work (remote Greenstone server)
+	new RenameTask(collection_tree, collection_tree_node).start();
+    }
+
+
+    private class RenameTask
+	extends Thread
+    {
+	private CollectionTree collection_tree = null;
+	private CollectionTreeNode collection_tree_node = null;
+
+	public RenameTask(CollectionTree collection_tree, CollectionTreeNode collection_tree_node)
+	{
+	    this.collection_tree = collection_tree;
+	    this.collection_tree_node = collection_tree_node;
+	}
+
+	public void run()
+	{
+	    RenamePrompt rename_prompt = new RenamePrompt(collection_tree_node);
+	    String new_collection_file_name = rename_prompt.display();
+	    rename_prompt.dispose();
+	    rename_prompt = null;
+
+	    if (new_collection_file_name != null) {
+		File collection_file = collection_tree_node.getFile();
+		File new_collection_file = new File(collection_file.getParentFile(), new_collection_file_name);
+		CollectionTreeNode new_collection_tree_node = new CollectionTreeNode(new_collection_file);
+		file_queue.addJob(System.currentTimeMillis(), collection_tree, new FileNode[] { collection_tree_node }, collection_tree, new_collection_tree_node, FileJob.RENAME);
+		if (Gatherer.isGsdlRemote) {
+		    Gatherer.remoteGreenstoneServer.moveCollectionFile(
+                             CollectionManager.getLoadedGroupQualifiedCollectionName(true), collection_file, new_collection_file);
+		}
+	    }
+	}
+    }
+
+    public void replaceCollectionFile(CollectionTree collection_tree, CollectionTreeNode collection_tree_node)
+    {
+	// This must go in a separate thread because we need the progress bar to work (remote Greenstone server)
+	new ReplaceTask(collection_tree, collection_tree_node).start();
+    }
+
+
+    private class ReplaceTask
+	extends Thread
+    {
+	private CollectionTree collection_tree = null;
+	private CollectionTreeNode collection_tree_node = null;
+
+	public ReplaceTask(CollectionTree collection_tree, CollectionTreeNode collection_tree_node)
+	{
+	    this.collection_tree = collection_tree;
+	    this.collection_tree_node = collection_tree_node;
+	}
+
+	public void run()
+	{
+	    JFileChooser file_chooser = new JFileChooser(startup_directory);
+	    file_chooser.setDialogTitle(Dictionary.get("ReplacePrompt.Title"));
+	    File new_file = null;
+	    int return_val = file_chooser.showOpenDialog(null);
+	    if(return_val == JFileChooser.APPROVE_OPTION) {
+		new_file = file_chooser.getSelectedFile();
+	    }
+	    
+	    if (new_file == null) {
+		return;
+	    }
+	    
+	    // save the search path for next time
+	    startup_directory = new_file.getParentFile();
+	    // make up a node for the file to bring in
+	    WorkspaceTreeNode source_node = new WorkspaceTreeNode(new_file);
+
+	    File target_directory = collection_tree_node.getFile().getParentFile();
+	    CollectionTreeNode new_collection_tree_node = new CollectionTreeNode(new File(target_directory, new_file.getName()));
+	    // copy the new file in - but don't bring metadata
+	    file_queue.addJob(System.currentTimeMillis(), Gatherer.g_man.gather_pane.workspace_tree, new FileNode[] { source_node }, collection_tree, (FileNode)collection_tree_node.getParent(),  FileJob.COPY_FILE_ONLY);
+	    if (Gatherer.isGsdlRemote) {
+		String collection_name = CollectionManager.getLoadedGroupQualifiedCollectionName(true);
+		Gatherer.remoteGreenstoneServer.deleteCollectionFile(collection_name, collection_tree_node.getFile());
+		Gatherer.remoteGreenstoneServer.uploadFilesIntoCollection(collection_name, new File[] { new_file }, target_directory);
+	    }
+	    // do a replace of old file with new file
+	    file_queue.addJob(System.currentTimeMillis(), collection_tree, new FileNode[] { collection_tree_node }, collection_tree, new_collection_tree_node, FileJob.REPLACE);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileNode.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileNode.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileNode.java	(revision 21123)
@@ -0,0 +1,391 @@
+package org.greenstone.gatherer.file;
+
+import java.io.*;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import javax.swing.*;
+import javax.swing.filechooser.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.util.ArrayTools;
+
+
+public abstract class FileNode
+    implements MutableTreeNode
+{
+    protected boolean allows_children = true;
+    protected ArrayList child_nodes = null;
+    protected ArrayList child_nodes_unfiltered = null;
+    protected File file = null;
+    protected FileSystemModel model = null;
+    protected MutableTreeNode parent = null;
+    /** The string that is displayed as the filename. Attempts to be in the correct encoding. */
+    protected String displayFileName = null;
+
+
+    public FileNode(File file)
+    {
+	this.file = file;
+
+	// Files cannot have children
+	if (file != null && !file.isDirectory()) { //file.isFile()) {
+	    // Cache this result to prevent unceasing missing disk messages being thrown if the
+	    // removable media was, um, removed after directory mapped
+	    this.allows_children = false;
+	    displayFileName = calcDisplayString();
+	}	
+    }
+
+
+     /** This method returns a string representation of the filenodes in the Collection
+     * Tree, that can then be displayed in the tree. 
+     * We'll initially assume that the filenames are utf8 encoded and so convert the
+     * filename into utf8 for proper presentation in the Collection tree pane.
+     * If the filenames are not utf8, then the conversion would have introduced funny
+     * characters. Therefore, when converting to utf8, if the converted filename 
+     * contains the special character '\ufffd', then we know the conversion did not work
+     * and we return the original string which may or may not be properly presented by
+     * default.
+     * See http://java.sun.com/j2se/1.4.2/docs/api/java/nio/charset/CharsetDecoder.html
+     * which says "How a decoding error is handled depends upon the action requested for 
+     * that type of error, which is described by an instance of the CodingErrorAction class.
+     * The possible error actions are to ignore the erroneous input, report the error to
+     * the invoker via the returned CoderResult object, or replace the erroneous input with
+     * the current value of the replacement string. The replacement has the initial value 
+     * "\uFFFD"; its value may be changed via the replaceWith method."
+     * The following made me think that String(byte[], String charsetName) constructor may
+     * use the replacement value \uFFFD.
+     * http://www.experts-exchange.com/Programming/Programming_Languages/Java/Q_20512969.html
+     * mentions the following which made me think of this: 
+     * convertedStr = convertedStr.replace('\ufffd', ' ');
+     */
+    protected String calcDisplayString() {
+	String filename = file.getName();
+	try{
+	    String utf8filename = new String(filename.getBytes(), "UTF8");
+	    if(utf8filename.indexOf('\ufffd') == -1) {
+		return utf8filename;
+	    } else { // contains the character indicating that it's invalid utf8
+		// return the original string
+		return filename;
+	    }
+	} catch(java.io.UnsupportedEncodingException e) {
+	    return filename;
+	}
+    }
+
+    /** Returns the children of the node as an Enumeration. */
+    public Enumeration children()
+    {
+	return new FileEnumeration();
+    }
+
+
+    /** Returns true if the receiver allows children.  */
+    public boolean getAllowsChildren()
+    {
+	return allows_children;
+    }
+
+
+    /** Returns the child TreeNode at index childIndex. */
+    public TreeNode getChildAt(int index)
+    {
+	return (TreeNode) child_nodes.get(index);
+    }
+
+
+    /** Returns the number of children TreeNodes the receiver contains. */
+    public int getChildCount()
+    {
+	map();
+
+	// Use the number of (filtered) child nodes
+	if (child_nodes != null) {
+	    return child_nodes.size();
+	}
+
+	return 0;
+    }
+
+
+    /** Returns the index of node in the receivers children. */
+    public int getIndex(TreeNode node)
+    {
+	if (child_nodes != null) {
+	    return child_nodes.indexOf(node);
+	}
+
+	return -1;
+    }
+
+
+    /** Returns the parent TreeNode of the receiver. */
+    public TreeNode getParent()
+    {
+	return parent;
+    }
+
+
+    /** Adds child to the receiver at index. */
+    public void insert(MutableTreeNode child, int index)
+    {
+	DebugStream.println("Insert " + child + " in " + this + " at index " + index + " [Model: " + model + "]");
+	if (child == null) {
+	    return;
+	}
+
+	try {
+	    FileNode child_node = (FileNode) child;
+	    child_nodes.add(index, child_node);
+	    child_node.model = model;
+	    child_node.parent = this;
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+    }
+
+
+    /** Returns true if the receiver is a leaf. */
+    public boolean isLeaf()
+    {
+	return (allows_children == false);
+    }
+
+
+    /** Removes the child at index from the receiver. */
+    public void remove(int index)
+    {
+	if (index >= 0 && index < child_nodes.size()) {
+	    child_nodes.remove(index);
+	}
+    }
+
+
+    /** Removes node from the receiver. */
+    public void remove(MutableTreeNode node)
+    {
+	remove(getIndex(node));
+    }
+
+
+    /** Removes the receiver from its parent. */
+    public void removeFromParent()
+    {
+	parent.remove(this);
+	parent = null;
+    }
+
+
+    /** Resets the user object of the receiver to object. */
+    public void setUserObject(Object object) {
+	try {
+	    file = (File) object;
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+    }
+
+
+    // -------------------------------------------------------------------------------
+
+
+    public void add(MutableTreeNode child)
+    {
+	insert(child, child_nodes.size());
+    }
+
+
+    protected abstract FileNode addChildNode(File file);
+
+
+    /** Compare two FileNodes for equality. */
+    public boolean equals(FileNode node)
+    {
+	if (node == null) {
+	    // Definitely not a match
+	    return false;
+	}
+
+	if (file != null) {
+	    return file.equals(node.getFile());
+	}
+	else {
+	    return toString().equals(node.toString());
+	}
+    }
+
+
+    /** Retrieve the file node at the given index, regardless of filters set. */
+    public FileNode getChildAtUnfiltered(int index)
+    {
+ 	if (index >= 0 && index < size()) {
+ 	    return (FileNode) child_nodes_unfiltered.get(index);
+ 	}
+ 	return null;
+    }
+
+
+    public File getFile() {
+	return file;
+    }
+
+
+    /** Retrieves the tree path from the root node to this node. */
+    public TreeNode[] getPath() {
+	int count = 0;
+	TreeNode current = this;
+	while(current != null) {
+	    count++;
+	    current = current.getParent();
+	}
+	TreeNode[] path = new TreeNode[count];
+	current = this;
+	while(current != null) {
+	    path[count - 1] = current;
+	    count--;
+	    current = current.getParent();
+	}
+	return path;
+    }
+
+
+    public boolean isFileSystemRoot() {
+	if (file != null) {
+	    return FileSystemView.getFileSystemView().isFileSystemRoot(file);
+	}
+	else {
+	    return false;
+	}
+    }
+
+
+    /** Overridden if necessary by subclasses. */
+    public boolean isInLoadedCollection()
+    {
+	return false;
+    }
+
+
+    /** Overridden if necessary by subclasses. */
+    public boolean isReadOnly()
+    {
+	return false;
+    }
+
+
+    public void map()
+    {
+	// If this node has already been mapped, don't bother doing it again
+	if (child_nodes != null) {
+	    return;
+	}
+	child_nodes = new ArrayList();
+
+	// General case, only map if children are allowed
+	if (file != null && getAllowsChildren()) {
+	    File[] files = file.listFiles();
+	    if (files != null && files.length > 0) {
+		// Sort the child files
+		ArrayTools.sort(files);
+
+		// Now add them to child_nodes_unfiltered
+		child_nodes_unfiltered = new ArrayList();
+		for (int i = 0; i < files.length; i++) {
+		    FileNode child_node = this.addChildNode(files[i]);
+		    child_nodes_unfiltered.add(child_node);
+		}
+
+		// Apply the filters set in the model
+		FileFilter[] filters = model.getFilters();
+		for (int i = 0; filters != null && i < filters.length; i++) {
+		    files = ArrayTools.filter(files, filters[i].filter, filters[i].exclude);
+		}
+
+		// Add the files left after filtering to child_nodes
+		for (int i = 0, j = 0; (i < child_nodes_unfiltered.size() && j < files.length); i++) {
+		    // Use the FileNode object in child_nodes_unfiltered rather than creating another
+		    FileNode file_node = (FileNode) child_nodes_unfiltered.get(i);
+		    if (file_node.getFile().equals(files[j])) {
+			child_nodes.add(file_node);
+			j++;
+		    }
+		}
+	    }
+
+	    model.nodeStructureChanged(this);
+	}
+    }
+
+
+    public void refresh()
+    {
+  	unmap();
+  	map();
+    }
+
+
+    public void setModel(FileSystemModel model) {
+	this.model = model;
+    }
+
+    public void setParent(MutableTreeNode parent) {
+	this.parent = parent;
+    }
+
+
+    /** Return the total number of child files for the file this node represents, irrespective of filters set. */
+    public int size() {
+	if (child_nodes_unfiltered != null) {
+	    return child_nodes_unfiltered.size();
+	}
+	return 0;
+    }
+
+
+    public String toString()
+    {
+	if (isFileSystemRoot()) {
+	    return file.getAbsolutePath();
+	}
+	else {
+	    if(displayFileName == null) {    
+		displayFileName = calcDisplayString();
+	    }
+	    return displayFileName; //return file.getName();	    
+	}
+    }
+
+
+    /** Unmap this node's children. */
+    public void unmap()
+    {
+	DebugStream.println("Unmapping " + this + "...");
+	child_nodes_unfiltered = null;
+	child_nodes = null;
+    }
+
+
+    private class FileEnumeration
+	implements Enumeration
+    {
+	private int index = 0;
+
+	/** Tests if this enumeration contains more elements. */
+	public boolean hasMoreElements() {
+	    return (index < child_nodes.size());
+	}
+
+	/** Returns the next element of this enumeration if this enumeration object has at least one more element to provide. */
+	public Object nextElement() {
+	    Object result = null;
+	    if (index < child_nodes.size()) {
+		result = child_nodes.get(index);
+		index++;
+	    }
+	    return result;
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileOpenActionListener.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileOpenActionListener.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileOpenActionListener.java	(revision 21123)
@@ -0,0 +1,101 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.file;
+
+import java.awt.event.*;
+import java.io.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.Gatherer;
+
+/** This class listens for mouse clicks and responds to double-clicks (spawn a new application to view the selected file) and right mouse button clicks (popup menu). 
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3b
+ */
+public class FileOpenActionListener
+    extends MouseAdapter 
+    implements TreeExpansionListener {
+    /** This flag gets toggled to <i>true</i> if the listener determines that the next mouse clicked event it will recieve is actually caused by the tree expanding or collapsing. */
+    private boolean ignore = false;
+    /** The constructor. */
+    public FileOpenActionListener() {
+    }
+    /** Any subclass of MouseAdapter can override this method to respond to mouse click events. In this case we want to start an external application if someone double clicks on an appropriate file record. 
+     * @param event A <strong>MouseEvent</strong> containing further information about the mouse click performed.
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.file.FileNode
+     * @see org.greenstone.gatherer.gui.tree.DragTree
+     */ 
+    public void mouseClicked(MouseEvent event) {
+	///ystem.err.println("Mouse clicked");
+	if(!ignore) {
+	    if(event.getClickCount() >= 2) {
+		// Find the file we're clicking on.
+		JTree tree = (JTree)event.getSource();
+		TreePath path = tree.getClosestPathForLocation(event.getX(), event.getY());
+		if(path != null) {
+		    FileNode record = (FileNode)path.getLastPathComponent();
+		    ///ystem.err.println("Double clicked on " + record);
+		    File file = record.getFile();
+		    if (file != null && file.isFile()) {
+			///ystem.err.println("Running " + file);
+			Gatherer.f_man.openFileInExternalApplication(file);
+		    }
+		}
+	    }
+	}
+	else {
+	    ///ystem.err.println("Caused by tree expansion / collapse. Ignoring.");
+	    ignore = false;
+	}
+    }
+    /** Any implementation of TreeExpansionListener must include this method so that we can be informed when a tree node has been collapsed, thus indicating that any mouse click events about to be recieved are most likely related to this event.
+     * @param event A <strong>TreeExpansionEvent</strong> containing information about the node collapsed.
+     */
+    public void treeCollapsed(TreeExpansionEvent event) {
+	///ystem.err.println("Tree Collapsed");
+	ignore = true;
+    }
+    /** Any implementation of TreeExpansionListener must include this method so that we can be informed when a tree node has been expanded, thus indicating that any mouse click events about to be recieved are most likely related to this event.
+     * @param event A <strong>TreeExpansionEvent</strong> containing information about the node expanded.
+     */
+    public void treeExpanded(TreeExpansionEvent event) {
+	///ystem.err.println("Tree Expanded");
+	ignore = true;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileQueue.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileQueue.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileQueue.java	(revision 21123)
@@ -0,0 +1,836 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.file;
+
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionTreeNode;
+import org.greenstone.gatherer.gui.GProgressBar;
+import org.greenstone.gatherer.gui.tree.DragTree;
+import org.greenstone.gatherer.metadata.MetadataValue;
+import org.greenstone.gatherer.metadata.MetadataXMLFileManager;
+import org.greenstone.gatherer.util.DragComponent;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.SynchronizedTreeModelTools;
+import org.greenstone.gatherer.util.Utility;
+
+/** A threaded object which processes a queue of file actions such as copying and movement. It also handles updating the various trees involved so they are an accurate representation of the file system they are meant to match.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class FileQueue
+    extends Thread
+{
+    /** The size of the io buffer, in bytes. */
+    static final private int BUFFER_SIZE = 1024;
+
+    /** When someone requests the movement queue to be dumped this cancel flag is set to true. */
+    private boolean cancel_action = false;
+    /** The button which controls the stopping of the file queue. */
+    private JButton stop_button = null;
+    /** true if the user has selected yes to all from a file 'clash' dialog. */
+    private boolean yes_to_all = false;
+    /** A label explaining the current moving files status. */
+    private JLabel file_status = null;
+    /** A list containing a queue of waiting movement jobs. */
+    private ArrayList queue = null;
+    /** A progress bar which shows how many bytes, out of the total size of bytes, has been moved. */
+    private GProgressBar progress = null;
+
+
+    /** Constructor.
+     */
+    public FileQueue() {
+	DebugStream.println("FileQueue started.");
+	this.queue = new ArrayList();
+	file_status = new JLabel(Dictionary.get("FileActions.No_Activity"));
+	progress = new GProgressBar();
+	progress.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	progress.setForeground(Configuration.getColor("coloring.collection_tree_foreground", false));
+	progress.setString(Dictionary.get("FileActions.No_Activity"));
+	progress.setStringPainted(true);
+    }
+
+
+    /** Add a new job to the queue, specifiying as many arguments as is necessary to complete this type of job (ie delete needs no target information).
+     * @param id A long id unique to all jobs created by a single action.
+     * @param source The DragComponent source of this file, most likely a DragTree.
+     * @param child The FileNode you wish to mode.
+     * @param target The DragComponent to move the file to, again most likely a DragTree.
+     * @param parent The files new FileNode parent within the target.
+     * @param type The type of this movement as an int, either COPY or DELETE.
+     */
+    public void addJob(long id, DragComponent source, FileNode[] children, DragComponent target, FileNode parent, byte type)
+    {
+	// Queue the sub-job(s) (this may fail if we are asked to delete a read only file)
+	for (int i = 0; i < children.length; i++) {
+	    addJob(id, source, children[i], target, parent, type, -1);
+	}
+    }
+    
+    synchronized private void addJob(long id, DragComponent source, FileNode child, DragComponent target, FileNode parent, byte type, int position) {
+ 	FileJob job = new FileJob(id, source, child, target, parent, type);
+	DebugStream.println("Adding job: " + job);
+ 	if(position != -1 && position <= queue.size() + 1) {
+ 	    queue.add(position, job);
+ 	}
+ 	else {
+	    queue.add(job);
+ 	}
+ 	notify();
+    }
+
+    /** Calculates the total deep file size of the selected file nodes.
+     * @param files a FileNode[] of selected files
+     * @return true if a cancel was signalled, false otherwise
+     * @see org.greenstone.gatherer.file.FileManager.Task#run()
+     */
+    public boolean calculateSize(FileNode[] files)
+    {
+	file_status.setText(Dictionary.get("FileActions.Calculating_Size"));
+	progress.setString(Dictionary.get("FileActions.Calculating_Size"));
+
+	// Calculate the total file size of all the selected file nodes
+	Vector remaining = new Vector();
+	for (int i = 0; !cancel_action && i < files.length; i++) {
+	    remaining.add(files[i]);
+	}
+	while (!cancel_action && remaining.size() > 0) {
+	    FileNode node = (FileNode) remaining.remove(0);
+	    if (node.isLeaf()) {
+		progress.addMaximum(node.getFile().length());
+	    }
+	    else {
+		for (int i = 0; !cancel_action && i < node.getChildCount(); i++) {
+		    remaining.add(node.getChildAt(i));
+		}
+	    }
+	}
+
+	// Now we return if calculation was cancelled so that the FileManagers Task can skip the addJob phase correctly.
+	if (cancel_action) {
+	    cancel_action = false; // reset
+	    return true;
+	}
+	else {
+	    return false;
+	}
+    }
+
+    /** This method is called to cancel the job queue at the next available moment. */
+    public void cancelAction() {
+	cancel_action = true;
+	clearJobs();
+    }
+
+
+    /** Format the given filename path string so that it is no longer than the given width. If it is wider replace starting directories with ...
+     * @param key The key <strong>String</Strong> used to retrieve a phrase from the dictionary for this item.
+     * @param raw The raw filename path <strong>String</strong>.
+     * @param width The maximum width as an <i>int</i>.
+     * @return A path <strong>String</strong> no longer than width.
+     */
+    private String formatPath(String key, String raw, int width)
+    {
+	JLabel label = new JLabel(Dictionary.get(key, raw));
+	int position = -1;
+	while(label.getPreferredSize().width > width && (position = raw.indexOf(File.separator)) != -1) {
+	    raw = "..." + raw.substring(position + 1);
+	    label.setText(Dictionary.get(key, raw));
+	}
+	if(raw.indexOf(File.separator) == -1 && raw.startsWith("...")) {
+	    raw = raw.substring(3);
+	}
+	return raw;
+    }
+
+
+    /** Access to the file state label. */
+    public JLabel getFileStatus() {
+	return file_status;
+    }
+
+    /** Access to the progress bar. */
+    public GProgressBar getProgressBar() {
+	return progress;
+    }
+
+
+    synchronized private void addFileJob(long id, DragComponent source, FileNode child, DragComponent target, FileNode parent, byte type)
+    {
+	queue.add(new FileJob(id, source, child, target, parent, type));
+	notify();
+    }
+
+
+    private void doEmptyDirectoryDelete(FileJob file_job)
+    {
+	FileNode source_node = file_job.getOrigin();
+	File source_directory = source_node.getFile();
+
+	// If the directory isn't empty then this will fail
+	if (source_directory.delete() == false) {
+	    // The source directory couldn't be deleted, so give the user the option of continuing or cancelling
+	    if (showErrorDialog(Dictionary.get("FileActions.Could_Not_Delete", source_directory.getAbsolutePath())) == JOptionPane.CANCEL_OPTION) {
+		clearJobs();  // Aborting action
+	    }
+	    return;
+	}
+
+	// Remove the node from the model
+	SynchronizedTreeModelTools.removeNodeFromParent(file_job.source.getTreeModel(), source_node);
+    }
+
+
+    private void doDirectoryDelete(FileJob file_job)
+    {
+	FileNode source_node = file_job.getOrigin();
+	File source_directory = source_node.getFile();
+
+	// The last thing we will do is delete this directory (which should be empty by then)
+	addFileJob(file_job.ID(), file_job.source, source_node, null, null, FileJob.DELETE_EMPTY_DIRECTORY);
+
+	// Add a new Delete job for each child of this directory (except metadata.xml files)
+	source_node.refresh();
+	for (int i = 0; i < source_node.size(); i++) {
+	    FileNode child_file_node = (FileNode) source_node.getChildAtUnfiltered(i);
+	    if (!child_file_node.getFile().getName().equals(StaticStrings.METADATA_XML)) {
+		addFileJob(file_job.ID(), file_job.source, child_file_node, null, null, FileJob.DELETE);
+	    }
+	}
+
+	// Treat metadata.xml files specially: delete them first
+	for (int i = 0; i < source_node.size(); i++) {
+	    FileNode child_file_node = (FileNode) source_node.getChildAtUnfiltered(i);
+	    if (child_file_node.getFile().getName().equals(StaticStrings.METADATA_XML)) {
+		addFileJob(file_job.ID(), file_job.source, child_file_node, null, null, FileJob.DELETE);
+		break;
+	    }
+	}
+    }
+
+
+    private void doDirectoryCopy(FileJob file_job)
+    {
+	FileNode source_node = file_job.getOrigin();
+	FileNode target_node = file_job.getDestination();
+
+	File source_directory = source_node.getFile();
+	File target_directory = new File(target_node.getFile(), source_directory.getName());
+
+	// Check that the source directory doesn't contain the target directory (will create a cyclic loop)
+	if (target_directory.getAbsolutePath().startsWith(source_directory.getAbsolutePath())) {
+	    if (showErrorDialog(Dictionary.get("FileActions.Cyclic_Path", source_directory.getName())) == JOptionPane.CANCEL_OPTION) {
+		clearJobs();  // Aborting action
+	    }
+	    return;
+	}
+
+	// The target directory shouldn't already exist
+	if (target_directory.exists()) {
+	    if (showErrorDialog(Dictionary.get("FileActions.Folder_Already_Exists", target_directory.getAbsolutePath())) == JOptionPane.CANCEL_OPTION) {
+		clearJobs();  // Aborting action
+	    }
+	    return;
+	}
+	target_directory.mkdirs();
+
+	// Create a node for the new directory in the collection tree
+	FileSystemModel target_model = (FileSystemModel) file_job.target.getTreeModel();
+	CollectionTreeNode new_target_node = new CollectionTreeNode(target_directory);
+	SynchronizedTreeModelTools.insertNodeInto(target_model, target_node, new_target_node);
+	new_target_node.setParent(target_node);
+
+	// Copy the non-folder level metadata assigned to the original directory to the new directory
+	ArrayList assigned_metadata = MetadataXMLFileManager.getMetadataAssignedDirectlyToExternalFile(source_directory);
+	MetadataXMLFileManager.addMetadata((CollectionTreeNode) new_target_node, assigned_metadata);
+
+	// Add a new Copy job for each child of this directory (except metadata.xml files)
+	source_node.refresh();
+	for (int i = 0; i < source_node.size(); i++) {
+	    FileNode child_file_node = (FileNode) source_node.getChildAtUnfiltered(i);
+	    if (!child_file_node.getFile().getName().equals(StaticStrings.METADATA_XML)) {
+		addFileJob(file_job.ID(), file_job.source, child_file_node, file_job.target, new_target_node, FileJob.COPY);
+	    }
+	}
+    }
+
+
+    private void doDirectoryMove(FileJob file_job)
+    {
+	FileNode source_node = file_job.getOrigin();
+	FileNode target_node = file_job.getDestination();
+
+	File source_directory = source_node.getFile();
+	File target_directory = new File(target_node.getFile(), source_directory.getName());
+	if (file_job.type == FileJob.RENAME) {
+	    // This is the only difference between moves and renames
+	    target_directory = target_node.getFile();
+	    target_node = (FileNode) source_node.getParent();
+	}
+
+	// Check the target directory isn't the source directory
+	if (target_directory.equals(source_directory)) {
+	    DebugStream.println("Target directory is the source directory!");
+	    return;
+	}
+
+	// The target directory shouldn't already exist
+	if (target_directory.exists()) {
+	    if (showErrorDialog(Dictionary.get("FileActions.Folder_Already_Exists", target_directory.getAbsolutePath())) == JOptionPane.CANCEL_OPTION) {
+		clearJobs();  // Aborting action
+	    }
+	    return;
+	}
+	target_directory.mkdirs();
+
+	// Create a node for the new directory in the collection tree
+	FileSystemModel target_model = (FileSystemModel) file_job.target.getTreeModel();
+	CollectionTreeNode new_target_node = new CollectionTreeNode(target_directory);
+	SynchronizedTreeModelTools.insertNodeInto(target_model, target_node, new_target_node);
+	new_target_node.setParent(target_node);
+
+	// Move the folder level metadata assigned to the original directory to the new directory
+	ArrayList assigned_metadata = MetadataXMLFileManager.getMetadataAssignedDirectlyToFile(source_directory);
+	MetadataXMLFileManager.removeMetadata((CollectionTreeNode) source_node, assigned_metadata);
+	MetadataXMLFileManager.addMetadata((CollectionTreeNode) new_target_node, assigned_metadata);
+
+	// The last thing we will do is delete this directory
+	addFileJob(file_job.ID(), file_job.source, source_node, null, null, FileJob.DELETE);
+
+	// Treat metadata.xml files specially: delete them last
+	source_node.refresh();
+	for (int i = 0; i < source_node.size(); i++) {
+	    FileNode child_file_node = (FileNode) source_node.getChildAtUnfiltered(i);
+	    if (child_file_node.getFile().getName().equals(StaticStrings.METADATA_XML)) {
+		addFileJob(file_job.ID(), file_job.source, child_file_node, null, null, FileJob.DELETE);
+		break;
+	    }
+	}
+
+	// Add a new Move job for each child of this directory (except metadata.xml files)
+	for (int i = 0; i < source_node.size(); i++) {
+	    FileNode child_file_node = (FileNode) source_node.getChildAtUnfiltered(i);
+	    if (!child_file_node.getFile().getName().equals(StaticStrings.METADATA_XML)) {
+		addFileJob(file_job.ID(), file_job.source, child_file_node, file_job.target, new_target_node, FileJob.MOVE);
+	    }
+	}
+    }
+
+
+    private void doFileDelete(FileJob file_job)
+    {
+	FileNode source_node = file_job.getOrigin();
+	File source_file = source_node.getFile();
+
+	// Almost all files will be deleted from the collection tree (exception: files in "Downloaded Files")
+	if (source_node instanceof CollectionTreeNode) {
+	    // If we're deleting a metadata.xml file we must unload it
+	    boolean metadata_xml_file = source_file.getName().equals(StaticStrings.METADATA_XML);
+	    if (metadata_xml_file) {
+		MetadataXMLFileManager.unloadMetadataXMLFile(source_file);
+	    }
+	    // Otherwise remove any metadata assigned directly to the file
+	    else {
+		ArrayList assigned_metadata = MetadataXMLFileManager.getMetadataAssignedDirectlyToFile(source_file);
+		MetadataXMLFileManager.removeMetadata((CollectionTreeNode) source_node, assigned_metadata);
+	    }
+	}
+
+	// Delete the source file
+	if (!Utility.delete(source_file)) {
+	    // The source file couldn't be deleted, so give the user the option of continuing or cancelling
+	    if (showErrorDialog(Dictionary.get("FileActions.File_Not_Deleted_Message", source_file.getAbsolutePath())) == JOptionPane.CANCEL_OPTION) {
+		clearJobs();  // Aborting action
+	    }
+	    return;
+	}
+
+	// Remove the node from the model
+	SynchronizedTreeModelTools.removeNodeFromParent(file_job.source.getTreeModel(), source_node);
+    }
+
+
+    private void doFileCopy(FileJob file_job)
+    {
+	FileNode source_node = file_job.getOrigin();
+	FileNode target_node = file_job.getDestination();
+
+	File source_file = source_node.getFile();
+	File target_file = new File(target_node.getFile(), source_file.getName());
+
+	// The target file shouldn't already exist -- if it does ask the user whether they want to overwrite
+	boolean overwrite_file = false;
+	if (target_file.exists()) {
+	    int result = showOverwriteDialog(target_file.getName());
+	    if (result == JOptionPane.NO_OPTION) {
+		// Don't overwrite
+		return;
+	    }
+	    if (result == JOptionPane.CANCEL_OPTION) {
+		clearJobs();  // Aborting action
+		return;
+	    }
+
+	    overwrite_file = true;
+	}
+
+	// Copy the file
+	try {
+	    copyFile(source_file, target_file, true);
+	}
+	catch (FileAlreadyExistsException exception) {
+	    // This should not ever happen, since we've called copyFile with overwrite set
+	    DebugStream.printStackTrace(exception);
+	    return;
+	}
+	catch (FileNotFoundException exception) {
+	    DebugStream.printStackTrace(exception);
+	    if (showErrorDialog(Dictionary.get("FileActions.File_Not_Found_Message", source_file.getAbsolutePath())) == JOptionPane.CANCEL_OPTION) {
+		clearJobs();  // Aborting action
+	    }
+	    // Refresh the source tree model
+	    FileSystemModel source_model = file_job.source.getTreeModel();
+	    source_model.refresh(new TreePath(((FileNode) file_job.getOrigin().getParent()).getPath()));
+	    return;
+	}
+	catch (InsufficientSpaceException exception) {
+	    DebugStream.printStackTrace(exception);
+	    if (showErrorDialog(Dictionary.get("FileActions.Insufficient_Space_Message", exception.getMessage())) == JOptionPane.CANCEL_OPTION) {
+		clearJobs();  // Aborting action
+	    }
+	    return;
+	}
+	catch (IOException exception) {
+	    DebugStream.printStackTrace(exception);
+	    if (showErrorDialog(exception.getMessage()) == JOptionPane.CANCEL_OPTION) {
+		clearJobs();  // Aborting action
+	    }
+	    return;
+	}
+	catch (ReadNotPermittedException exception) {
+	    DebugStream.printStackTrace(exception);
+	    if (showErrorDialog(Dictionary.get("FileActions.Read_Not_Permitted_Message", source_file.getAbsolutePath())) == JOptionPane.CANCEL_OPTION) {
+		clearJobs();  // Aborting action
+	    }
+	    return;
+	}
+	catch (UnknownFileErrorException exception) {
+	    DebugStream.printStackTrace(exception);
+	    if (showErrorDialog(Dictionary.get("FileActions.Unknown_File_Error_Message")) == JOptionPane.CANCEL_OPTION) {
+		clearJobs();  // Aborting action
+	    }
+	    return;
+	}
+	catch (WriteNotPermittedException exception) {
+	    DebugStream.printStackTrace(exception);
+	    if (showErrorDialog(Dictionary.get("FileActions.Write_Not_Permitted_Message", target_file.getAbsolutePath())) == JOptionPane.CANCEL_OPTION) {
+		clearJobs();  // Aborting action
+	    }
+	    return;
+	}
+
+	CollectionTreeNode new_target_node = new CollectionTreeNode(target_file);
+	if (overwrite_file == false) {
+	    // Add the new node into the tree
+	    FileSystemModel target_model = file_job.target.getTreeModel();
+	    SynchronizedTreeModelTools.insertNodeInto(target_model, target_node, new_target_node);
+	}
+	Gatherer.c_man.fireFileAddedToCollection(target_file);
+
+	// Copy the non-folder level metadata assigned to the original file to the new file
+	if (file_job.type == FileJob.COPY) {
+	    // do metadata too
+	    ArrayList assigned_metadata = MetadataXMLFileManager.getMetadataAssignedDirectlyToExternalFile(source_file);
+	    MetadataXMLFileManager.addMetadata((CollectionTreeNode) new_target_node, assigned_metadata);
+	}
+    }
+
+
+    private void doFileMove(FileJob file_job)
+    {
+	FileNode source_node = file_job.getOrigin();
+	FileNode target_node = file_job.getDestination();
+
+	File source_file = source_node.getFile();
+	File target_file = new File(target_node.getFile(), source_file.getName());
+	if (file_job.type == FileJob.RENAME) {
+	    // This is the only difference between moves and renames
+	    target_file = target_node.getFile();
+	    target_node = (FileNode) source_node.getParent();
+	}
+
+	// Check the target file isn't the source file
+	if (target_file.equals(source_file)) {
+	    DebugStream.println("Target file is the source file!");
+	    return;
+	}
+
+	// The target file shouldn't already exist
+	if (target_file.exists()) {
+	    int result = showOverwriteDialog(target_file.getName());
+	    if (result == JOptionPane.NO_OPTION) {
+		// Don't overwrite
+		return;
+	    }
+	    if (result == JOptionPane.CANCEL_OPTION) {
+		clearJobs();  // Aborting action
+		return;
+	    }
+	}
+
+	// Move the file by renaming it
+	if (!source_file.renameTo(target_file)) {
+	    String args[] = { source_file.getName(), target_file.getAbsolutePath() };
+	    if (showErrorDialog(Dictionary.get("FileActions.File_Move_Error_Message", args)) == JOptionPane.CANCEL_OPTION) {
+		clearJobs();  // Aborting action
+	    }
+	    return;
+	}
+
+	// Remove the node from the source model and add it to the target model
+	SynchronizedTreeModelTools.removeNodeFromParent(file_job.source.getTreeModel(), source_node);
+	CollectionTreeNode new_target_node = new CollectionTreeNode(target_file);
+	FileSystemModel target_model = file_job.target.getTreeModel();
+	SynchronizedTreeModelTools.insertNodeInto(target_model, target_node, new_target_node);
+
+	// Move the non-folder level metadata assigned to the original file to the new file
+	ArrayList assigned_metadata = MetadataXMLFileManager.getMetadataAssignedDirectlyToFile(source_file);
+	MetadataXMLFileManager.removeMetadata((CollectionTreeNode) source_node, assigned_metadata);
+	MetadataXMLFileManager.addMetadata((CollectionTreeNode) new_target_node, assigned_metadata);
+    }
+
+    
+    /** all this does is move the metadata, and delete the source */
+    private void doFileReplace(FileJob file_job)
+    {
+	FileNode source_node = file_job.getOrigin();
+	FileNode target_node = file_job.getDestination();
+
+	File source_file = source_node.getFile();
+	File target_file = target_node.getFile();
+
+	// Move the non-folder level metadata assigned to the original file to the new file
+	CollectionTreeNode new_target_node = new CollectionTreeNode(target_file);
+	ArrayList assigned_metadata = MetadataXMLFileManager.getMetadataAssignedDirectlyToFile(source_file);
+	MetadataXMLFileManager.removeMetadata((CollectionTreeNode) source_node, assigned_metadata);
+	MetadataXMLFileManager.addMetadata((CollectionTreeNode) new_target_node, assigned_metadata);
+
+	// now delete the original
+	doFileDelete(file_job);
+    }
+
+
+    private void processFileJob(FileJob file_job)
+    {
+	DebugStream.println("Processing file job " + file_job + "...");
+
+	// Ensure that the source file exists
+	File source_file = file_job.getOrigin().getFile();
+	if (!source_file.exists()) {
+	    // The source file doesn't exist, so give the user the option of continuing or cancelling
+	    if (showErrorDialog(Dictionary.get("FileActions.File_Not_Found_Message", source_file.getAbsolutePath())) == JOptionPane.CANCEL_OPTION) {
+		clearJobs();  // Aborting action
+	    }
+	    // Refresh the source tree model
+	    FileSystemModel source_model = file_job.source.getTreeModel();
+	    source_model.refresh(new TreePath(((FileNode) file_job.getOrigin().getParent()).getPath()));
+	    return;
+	}
+
+	// Enable the "Stop" button
+	stop_button.setEnabled(true);
+
+	// Delete empty directory job
+	if (file_job.type == FileJob.DELETE_EMPTY_DIRECTORY) {
+	    file_status.setText(Dictionary.get("FileActions.Deleting", formatPath("FileActions.Deleting", source_file.getAbsolutePath(), file_status.getSize().width)));
+	    doEmptyDirectoryDelete(file_job);
+	    return;
+	}
+
+	// Delete job
+	if (file_job.type == FileJob.DELETE) {
+	    file_status.setText(Dictionary.get("FileActions.Deleting", formatPath("FileActions.Deleting", source_file.getAbsolutePath(), file_status.getSize().width)));
+	    if (source_file.isFile()) {
+		long source_file_size = source_file.length();
+		doFileDelete(file_job);
+		progress.addValue(source_file_size);  // Update progress bar
+	    }
+	    else {
+		doDirectoryDelete(file_job);
+	    }
+	    return;
+	}
+
+	// Copy job
+	if (file_job.type == FileJob.COPY || file_job.type == FileJob.COPY_FILE_ONLY) {
+	    file_status.setText(Dictionary.get("FileActions.Copying", formatPath("FileActions.Copying", source_file.getAbsolutePath(), file_status.getSize().width)));
+	    if (source_file.isFile()) {
+		long source_file_size = source_file.length();
+		doFileCopy(file_job);
+		progress.addValue(source_file_size);  // Update progress bar
+	    }
+	    else {
+		doDirectoryCopy(file_job);
+	    }
+	    return;
+	}
+
+	// Move (or rename) job
+	if (file_job.type == FileJob.MOVE || file_job.type == FileJob.RENAME) {
+	    file_status.setText(Dictionary.get("FileActions.Moving", formatPath("FileActions.Moving", source_file.getAbsolutePath(), file_status.getSize().width)));
+	    if (source_file.isFile()) {
+		long source_file_size = source_file.length();
+		doFileMove(file_job);
+		progress.addValue(source_file_size);  // Update progress bar
+	    }
+	    else {
+		doDirectoryMove(file_job);
+	    }
+	    return;
+	}
+
+	// Replace job
+	if (file_job.type == FileJob.REPLACE) {
+	    file_status.setText(Dictionary.get("FileActions.Replacing", formatPath("FileActions.Replacing", source_file.getAbsolutePath(), file_status.getSize().width)));
+	    doFileReplace(file_job);
+	    return;
+	}
+    }
+
+
+    private int showErrorDialog(String error_message)
+    {
+	Object[] options = { Dictionary.get("General.OK"), Dictionary.get("General.Cancel") };
+	int result = JOptionPane.showOptionDialog(Gatherer.g_man, error_message, Dictionary.get("General.Error"), JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE, null, options, options[0]);
+	if (result == 0) {
+	    return JOptionPane.OK_OPTION;
+	}
+	else {
+	    return JOptionPane.CANCEL_OPTION;
+	}
+    }
+
+
+    private int showOverwriteDialog(String target_file_name)
+    {
+	// Has "yes to all" been set?
+	if (yes_to_all) {
+	    return JOptionPane.YES_OPTION;
+	}
+
+	Object[] options = { Dictionary.get("General.Yes"), Dictionary.get("FileActions.Yes_To_All"), Dictionary.get("General.No"), Dictionary.get("General.Cancel") };
+	int result = JOptionPane.showOptionDialog(Gatherer.g_man, Dictionary.get("FileActions.File_Exists", target_file_name), Dictionary.get("General.Warning"), JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[0]);
+	if (result == 0) {
+	    return JOptionPane.YES_OPTION;
+	}
+	else if (result == 1) {
+	    yes_to_all = true;
+	    return JOptionPane.YES_OPTION;
+	}
+	else if (result == 2) {
+	    return JOptionPane.NO_OPTION;
+	}
+	else {
+	    return JOptionPane.CANCEL_OPTION;
+	}
+    }
+
+
+    public void run()
+    {
+	super.setName("FileQueue");
+
+	while (!Gatherer.exit) {
+	    // Retrieve the next job
+	    int position = queue.size() - 1;
+	    if (position >= 0) {
+		// We have a file job, so process it
+		processFileJob((FileJob) queue.remove(position));
+	    }
+	    else {
+		// No jobs, so reset and wait until we are notified of one
+		synchronized(this) {
+		    // Force both workspace and collection trees to refresh
+		    if (Gatherer.g_man != null && Gatherer.c_man.ready()) {
+			Gatherer.g_man.refreshWorkspaceTree(DragTree.COLLECTION_CONTENTS_CHANGED);
+			// Gatherer.g_man.refreshCollectionTree(DragTree.COLLECTION_CONTENTS_CHANGED);
+		    }
+
+		    // Reset status area
+		    file_status.setText(Dictionary.get("FileActions.No_Activity"));
+		    progress.reset();
+		    progress.setString(Dictionary.get("FileActions.No_Activity"));
+
+		    // Reset "yes to all" and "cancel" flags
+		    yes_to_all = false;
+		    cancel_action = false;
+
+		    // Wait for a new file job
+		    try {
+			wait();
+		    }
+		    catch (InterruptedException exception) {}
+		}
+	    }
+	}
+    }
+
+
+    /** Register the button that will be responsible for stopping executing file actions. 
+     * @param stop_button a JButton
+     */
+    public void registerStopButton(JButton stop_button) {
+	this.stop_button = stop_button;
+    }
+
+
+    synchronized private void clearJobs() {
+	queue.clear();
+    }
+    
+    /** Copy the contents from the source directory to the destination 
+     * directory.
+     * @param source The source directory
+     * @param destination The destination directory
+     * @see org.greenstone.gatherer.Gatherer
+     */
+    public void copyDirectoryContents(File source, File destination) 
+	throws FileAlreadyExistsException, FileNotFoundException, InsufficientSpaceException, IOException, ReadNotPermittedException, UnknownFileErrorException, WriteNotPermittedException
+    {
+	if (!source.isDirectory()) return;
+	// check that dest dirs exist
+	destination.mkdirs();
+	
+	File [] src_files = source.listFiles();
+	if (src_files.length == 0) return; // nothing to copy
+	for (int i=0; i<src_files.length; i++) {
+	    File f = src_files[i];
+	    String f_name = f.getName();
+	    File new_file = new File(destination, f_name);
+	    if (f.isDirectory()) {
+		copyDirectoryContents(f, new_file);
+	    } else if (f.isFile()) {
+		copyFile(f, new_file, false);
+	    }
+	}
+    }
+
+    
+    /** Copy a file from the source location to the destination location.
+     * @param source The source File.
+     * @param destination The destination File.
+     * @see org.greenstone.gatherer.Gatherer
+     */
+    public void copyFile(File source, File destination, boolean overwrite)
+	throws FileAlreadyExistsException, FileNotFoundException, InsufficientSpaceException, IOException, ReadNotPermittedException, UnknownFileErrorException, WriteNotPermittedException
+    {
+	if (source.isDirectory()) {
+	    destination.mkdirs();
+	    return;
+	}
+
+	// Check if the origin file exists.
+	if (!source.exists()) {
+	    DebugStream.println("Couldn't find the source file.");
+	    throw new FileNotFoundException();
+	}
+
+	// Make sure the destination file does not exist.
+	if (destination.exists() && !overwrite) {
+	    throw new FileAlreadyExistsException();
+	}
+
+	// Open an input stream to the source file
+	FileInputStream f_in = null;
+	try {
+	    f_in = new FileInputStream(source);
+	}
+	catch (FileNotFoundException exception) {
+	    // A FileNotFoundException translates into a ReadNotPermittedException in this case
+	    throw new ReadNotPermittedException(exception.toString());		
+	}
+
+	// Create an necessary directories for the target file
+	File dirs = destination.getParentFile();
+	dirs.mkdirs();
+
+	// Open an output stream to the target file
+	FileOutputStream f_out = null;
+	try {
+	    f_out = new FileOutputStream(destination);
+	}
+	catch (FileNotFoundException exception) {
+	    // A FileNotFoundException translates into a WriteNotPermittedException in this case
+	    throw new WriteNotPermittedException(exception.toString());
+	}
+
+	// Copy the file
+	byte data[] = new byte[BUFFER_SIZE];
+	int data_size = 0;
+	while ((data_size = f_in.read(data, 0, BUFFER_SIZE)) != -1 && !cancel_action) {
+	    long destination_size = destination.length();
+	    try {
+		f_out.write(data, 0, data_size);
+	    }
+	    // If an IO exception occurs, we can do some maths to determine if the number of bytes written to the file was less than expected. If so we assume a InsufficientSpace exception. If not we just throw the exception again.
+	    catch (IOException io_exception) {
+		if (destination_size + (long) data_size > destination.length()) {
+		    // Determine the difference (which I guess is in bytes).
+		    long difference = (destination_size + (long) data_size) - destination.length();
+		    // Transform that into a human readable string.
+		    String message = Utility.formatFileLength(difference);
+		    throw new InsufficientSpaceException(message);
+		}
+		else {
+		    throw(io_exception);
+		}
+	    }
+	}
+
+	// Flush and close the streams to ensure all bytes are written.
+	f_in.close();
+	f_out.close();
+
+	// We have now, in theory, produced an exact copy of the source file. Check this by comparing sizes.
+	if(!destination.exists() || (!cancel_action && source.length() != destination.length())) {
+	    throw new UnknownFileErrorException();
+	}
+
+	// If we were cancelled, ensure that none of the destination file exists.
+	if (cancel_action) {
+	    destination.delete();
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileSystem.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileSystem.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileSystem.java	(revision 21123)
@@ -0,0 +1,63 @@
+package org.greenstone.gatherer.file;
+
+import java.io.File;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+
+
+public class FileSystem
+{
+    static public WorkspaceTreeNode getLocalFilespaceNode(FileSystemModel model)
+    {
+	// Get all the available roots mounted on the filesystem
+	File[] roots = File.listRoots();
+	if (roots == null) {
+	    return null;
+	}
+
+	// If there is just one root use it as the tree root (Unix)
+	if (roots.length == 1) {
+	    return new WorkspaceTreeNode(roots[0], Dictionary.get("Tree.Root"));
+	}
+
+	// Otherwise build a dummy node which has the roots as children (Windows)
+	else {
+	    return new WorkspaceTreeNode(null, Dictionary.get("Tree.Root"));
+	}
+    }
+
+
+    static public WorkspaceTreeNode getHomeFolderNode()
+    {
+	// Get the name of the OS we're running on
+	String os_name = System.getProperty("os.name");
+	if (os_name == null) {
+	    return null;
+	}
+
+	// Make sure we're running on a multiuser OS where the idea of a "user home" is valid
+	DebugStream.println("Property os.name: " + os_name);
+	String os_name_lc = os_name.toLowerCase();
+	if (os_name_lc.equals("windows 95") || os_name_lc.equals("windows 98") || os_name_lc.equals("windows me")) {
+	    return null;
+	}
+
+	// Get the user's home folder
+ 	String home_folder_str = System.getProperty("user.home");
+	if (home_folder_str == null || home_folder_str.length() == 0) {
+	    return null;
+	}
+
+	// Generate a special mapping to the user home folder
+	File home_folder = new File(home_folder_str);
+	return new WorkspaceTreeNode(home_folder, Dictionary.get("Tree.Home", home_folder.getName()));
+    }
+
+
+    static public WorkspaceTreeNode getDownloadedFilesNode()
+    {
+	// Return a mapping to the downloaded files folder
+	return new WorkspaceTreeNode(new File(Gatherer.getGLIUserCacheDirectoryPath()), Dictionary.get("Tree.DownloadedFiles"));
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileSystemModel.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileSystemModel.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/file/FileSystemModel.java	(revision 21123)
@@ -0,0 +1,278 @@
+package org.greenstone.gatherer.file;
+
+import java.io.File;
+import java.util.*;
+import java.util.regex.*;
+import javax.swing.event.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.gui.tree.DragTree;
+
+
+public class FileSystemModel
+    extends DefaultTreeModel 
+    implements TreeExpansionListener, TreeWillExpandListener
+{
+    private DragTree tree = null;
+    private FileFilter current_filter = null;
+    private FileFilter[] filters = null;
+    /** The filters in place for any file system model. */
+    private FileFilter[] default_filters = { new FileFilter("\\..*", true), new FileFilter("metadata\\.xml", true) };
+
+    public FileSystemModel(FileNode root) {
+	super(root);
+	root.setModel(this);
+	root.refresh();
+    }
+
+    public int getChildCount(Object parent) {
+	return ((TreeNode)parent).getChildCount();
+    }
+
+    public FileFilter[] getFilters() {
+	if(filters == null) {
+	    if(current_filter != null) {
+		filters = new FileFilter[default_filters.length + 1];
+		filters[default_filters.length] = current_filter;
+	    }
+	    else {
+		filters = new FileFilter[default_filters.length];
+	    }
+	    System.arraycopy(default_filters, 0, filters, 0, default_filters.length);
+	}
+	return filters;
+    }
+	 
+    /** Retrieve the node denoted by the given tree path. Note that this isn't equivelent to saying path.lastPathComponent, as the references within the path may be stale. */
+    public FileNode getNode(TreePath path) {
+	FileNode last = (FileNode)path.getLastPathComponent();
+	DebugStream.println("Last Path Component = " + last);
+	return last;
+	/*
+	///atherer.println("**** getNode(" + path + ") ****");
+	FileNode current = (FileNode)root;
+	// Special case for the root node. Check the first path component is the root node.
+	FileNode first_node = (FileNode)path.getPathComponent(0);
+	if(current.equals(first_node)) {
+	    DebugStream.println("First path component matches root node.");
+	    // For each path with this tree path
+	    for(int i = 1; current != null && i < path.getPathCount(); i++) {
+		// Retrieve the stale path
+		Object stale_object = path.getPathComponent(i);
+		FileNode stale_node = null;
+		if(stale_object instanceof FileNode) {
+		    stale_node = (FileNode) stale_object;
+		}
+		DebugStream.print("Searching for '" + stale_object + "': ");
+		// Locate the fresh node by searching current's children. Remember to ensure that current is mapped.
+		boolean found = false;
+
+		// First we search through the mapped children
+		for(int j = 0; !found && j < current.getChildCount(); j++) {
+		    FileNode child_node = (FileNode) current.getChildAt(j);
+		    DebugStream.print(child_node + " ");
+		    if((stale_node != null && stale_node.equals(child_node)) || stale_object.toString().equals(child_node.toString())) {
+			found = true;
+			current = child_node;
+			DebugStream.println("Found!");
+		    }
+		    child_node = null;
+		}
+		// Failing that we search through all the children, including filtered files
+		for(int j = 0; !found && j < current.size(); j++) {
+		    FileNode child_node = (FileNode) current.getChildAtUnfiltered(j);
+		    DebugStream.print(child_node + " ");
+		    if((stale_node != null && stale_node.equals(child_node)) || stale_object.toString().equals(child_node.toString())) {
+			found = true;
+			current = child_node;
+			DebugStream.println("Found!");
+		    }
+		    child_node = null;
+		}
+		// If no match is found, then set current to null and exit.
+		if(!found) {
+		    current = null;
+		    DebugStream.println("Not Found!");
+		}
+		else {
+		    DebugStream.println("Returning node: " + new TreePath(current.getPath()));
+		}
+		// Repeat as necessary
+	    }
+	}
+	return current;
+	*/
+    }
+
+    public void insertNodeInto(MutableTreeNode newChild, MutableTreeNode parent, int index) {
+	///ystem.err.println("insertNodeInto(" + newChild + ", " + parent + ", " + index + ")");
+	super.insertNodeInto(newChild, parent, index);
+    }
+
+
+    public void refresh(TreePath path)
+    {
+	// Can only refresh if the model is currently being displayed in a tree
+	if (tree == null) {
+	    return;
+	}
+
+	// If no path is set, take the path to the root node (ie. update the whole tree)
+	if (path == null) {
+	    // System.err.println("\nFileSystemModel.refresh(entire tree).");
+	    path = new TreePath(((FileNode) root).getPath());
+
+	    // Make sure the root node is expanded
+	    tree.expandPath(path);
+	}
+	// else {
+	//     System.err.println("\nFileSystemModel.refresh(" + path + ").");
+	// }
+
+	// Record all the expanded paths under this node
+	Enumeration old_expanded_paths_enumeration = tree.getExpandedDescendants(path);
+	if (old_expanded_paths_enumeration == null) {
+	    return;
+	}
+
+	// Map and unmap the node to refresh its contents
+	FileNode node = (FileNode) path.getLastPathComponent();
+	node.refresh();
+
+	// Fire the appropriate event
+	nodeStructureChanged(node);
+
+	// Sort the old expanded paths by length, smallest first
+	ArrayList old_expanded_paths_list = Collections.list(old_expanded_paths_enumeration);
+	Collections.sort(old_expanded_paths_list, new TreePathComparator());
+
+	// Restore each of the expanded paths
+	for (int i = 0; i < old_expanded_paths_list.size(); i++) {
+  	    TreePath old_expanded_path = (TreePath) old_expanded_paths_list.get(i);
+	    // System.err.println("Expanded path: " + old_expanded_path);
+
+	    // Build up the new path in the tree
+	    TreePath current_path = new TreePath(path.getPath());
+  	    FileNode current_node = node;
+
+	    // Traverse the tree to find the node to expand (or find it no longer exists)
+	    while (!current_path.toString().equals(old_expanded_path.toString())) {
+		// System.err.println("Current path: " + current_path);
+
+		FileNode old_expanded_node =
+		    (FileNode) old_expanded_path.getPathComponent(current_path.getPathCount());
+		// System.err.println("Looking for: " + old_expanded_node);
+
+		// Find the child node that matches the next element in the path
+		boolean found = false;
+		for (int j = 0; j < current_node.getChildCount(); j++) {
+		    FileNode child_node = (FileNode) current_node.getChildAt(j);
+		    // System.err.println("Child node: " + child_node);
+		    if (child_node.equals(old_expanded_node)) {
+			// System.err.println("Found!");
+			current_path = current_path.pathByAddingChild(child_node);
+			current_node = child_node;
+			found = true;
+			break;
+		    }
+		}
+
+		// The node was not found, so we cannot expand this path
+		if (!found) {
+		    // System.err.println("Not found...");
+		    break;
+		}
+	    }
+
+	    // If we have built up the correct path, expand it
+	    if (current_path.toString().equals(old_expanded_path.toString())) {
+		tree.expandPath(current_path);
+	    }
+	}
+    }
+
+
+    // The file tree can be filtered, so check that the node to be removed is actually part of the model
+    public void removeNodeFromParent(MutableTreeNode node)
+    {
+	TreeNode parent_node = ((FileNode) node).getParent();
+	if (parent_node != null && parent_node.getIndex((FileNode) node) != -1) {
+	    super.removeNodeFromParent(node);
+	}
+    }
+
+
+    private class TreePathComparator
+	implements Comparator {
+
+	public int compare(Object o1, Object o2)
+	{
+	    return (((TreePath) o1).getPathCount() - ((TreePath) o2).getPathCount());
+	}
+    }
+
+
+    public void setFilter(String pattern) {
+  	if(pattern != null) {
+  	    current_filter = new FileFilter(pattern, false);
+  	}
+  	else {
+  	    current_filter = null;
+  	}
+  	filters = null;
+    }
+
+    public void setTree(DragTree tree) {
+	this.tree = tree;
+    }
+
+    public String toString() {
+	if(tree != null) {
+	    return tree.toString();
+	}
+	return "FileSystemModel";
+    }
+
+    /** Called whenever an item in the tree has been collapsed. */
+    public void treeCollapsed(TreeExpansionEvent event) {
+	// Deallocate the affected nodes children. Don't need to do this in a swing worker, as the nodes children are currently not visable.
+	TreePath path = event.getPath();
+	FileNode node = (FileNode) path.getLastPathComponent();
+	node.unmap();
+	// Fire the appropriate event.
+	nodeStructureChanged(node);
+    }
+
+    /** Called whenever an item in the tree has been expanded. */
+    public void treeExpanded(TreeExpansionEvent event) {
+    }
+
+    /** Invoked whenever a node in the tree is about to be collapsed. */
+    public void treeWillCollapse(TreeExpansionEvent event) 
+	throws ExpandVetoException {
+	// Veto the event if the user is attempting to collapse the root node (regardless of whether it is visible).
+	TreePath path = event.getPath();
+	if(path.getPathCount() == 1) {
+	    throw new ExpandVetoException(event, "Cannot collapse root node!");
+	}
+    }
+
+
+    /** Invoked whenever a node in the tree is about to be expanded. */
+    public void treeWillExpand(TreeExpansionEvent event) 
+	throws ExpandVetoException
+    {
+	// Set the wait cursor
+	Gatherer.g_man.wait(true);
+
+	// Allocate the children (don't need a swing worker since the node's children are currently not visible)
+	TreePath path = event.getPath();
+	FileNode node = (FileNode) path.getLastPathComponent();
+	node.refresh();
+	nodeStructureChanged(node);
+
+	// Restore the cursor
+	Gatherer.g_man.wait(false);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/file/InsufficientSpaceException.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/file/InsufficientSpaceException.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/file/InsufficientSpaceException.java	(revision 21123)
@@ -0,0 +1,11 @@
+package org.greenstone.gatherer.file;
+
+import java.lang.Exception;
+
+public class InsufficientSpaceException
+    extends Exception {
+
+    public InsufficientSpaceException(String message) {
+	super(message);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/file/ReadNotPermittedException.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/file/ReadNotPermittedException.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/file/ReadNotPermittedException.java	(revision 21123)
@@ -0,0 +1,11 @@
+package org.greenstone.gatherer.file;
+
+import java.lang.Exception;
+
+public class ReadNotPermittedException
+    extends Exception
+{
+    public ReadNotPermittedException(String message) {
+	super(message);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/file/RecycleBin.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/file/RecycleBin.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/file/RecycleBin.java	(revision 21123)
@@ -0,0 +1,188 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.file;
+
+import java.awt.*;
+import java.awt.dnd.*;
+import java.awt.event.*;
+import java.awt.geom.AffineTransform;
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.util.DragComponent;
+import org.greenstone.gatherer.util.DragGroup;
+import org.greenstone.gatherer.util.JarTools;
+
+
+public class RecycleBin
+    extends GLIButton
+    implements DragComponent, DropTargetListener {
+
+    private boolean ignore = false;
+    /** The group encompasses all of the objects you plan to drag and drop within, and ensures that only one has focus (as clearly identified by the colour of the selection field or, in this particular case, the background) and that actions only occur between components in the same group. */
+    private DragGroup group;
+    /** In order to make this button a drop target we have to create a DropTarget instance with the button as its target. */
+    private DropTarget drop_target;
+    private FileSystemModel model;
+    /** What sort of action should a drag resemble. Not really used as we override with custom drag icon. */
+    private int drag_action = DnDConstants.ACTION_MOVE;
+    /** The last point the mouse was at. Used to repaint 'spoilt' area. */
+    private Point pt_last = null;
+    /** The area covered by the drag ghost, our custom drag icon. */
+    private Rectangle ra_ghost = new Rectangle();
+
+
+    public RecycleBin()
+    {
+	super(JarTools.getImage("bin.gif"));
+	this.drop_target = new DropTarget(this, drag_action, this, true);
+
+	setBackground(Configuration.getColor("coloring.button_background", true));
+	setForeground(Configuration.getColor("coloring.button_foreground", true));
+	setOpaque(true);
+
+	this.model = new FileSystemModel(new RecycleBinNode(new File(Gatherer.getGLIUserDirectoryPath() + "recycle")));
+    }
+
+
+    /** In order for the appearance to be consistant, given we may be in the situation where the pointer has left our focus but the ghost remains, this method allows other members of the GGroup to tell this component to repair the 'spoilt' region left by its ghost. */
+    public void clearGhost(){
+    }
+
+
+    /** Any implementation of DropTargetListener must include this method so we can be notified when the drag focus enters this component. We want to provide some sort of indication whether the current component is an acceptable drop target as well as indicating focus. */
+    public void dragEnter(DropTargetDragEvent event) {
+	group.grabFocus(this);
+	setBackground(Configuration.getColor("coloring.button_selected_background", true));
+	setForeground(Configuration.getColor("coloring.button_selected_foreground", true));
+    }
+
+    /** Any implementation of DropTargetListener must include this method so we can be notified when the drag focus leaves this component. We need to indicate that we have lost focus. */
+    public void dragExit(DropTargetEvent event) {
+	setBackground(Configuration.getColor("coloring.button_background", true));
+	setForeground(Configuration.getColor("coloring.button_foreground", true));
+    }
+
+    /** Any implementation of DropTargetListener must include this method so we can be notified when the drag moves in this component. This is where we repaint our ghost icon at the tip of the mouse pointer. */
+    public void dragOver(DropTargetDragEvent event) {
+	Graphics2D g2 = (Graphics2D) getGraphics();
+	Point pt = event.getLocation();
+	if(pt_last != null && pt.equals(pt_last)) {
+	    return;
+	}
+	pt_last = pt;
+	if(!DragSource.isDragImageSupported()) {
+	    // Erase the last ghost image and or cue line
+	    paintImmediately(ra_ghost.getBounds());
+	    // Remember where you are about to draw the new ghost image
+	    ra_ghost.setRect(pt.x - group.mouse_offset.x, pt.y - group.mouse_offset.y, group.image_ghost.getWidth(), group.image_ghost.getHeight());
+	    // Draw the ghost image
+	    g2.drawImage(group.image_ghost, AffineTransform.getTranslateInstance(ra_ghost.getX(), ra_ghost.getY()), null);
+	}
+    }
+
+    /** Any implementation of DropTargetListener must include this method so we can be notified when the drag ends, ie the transferable is dropped. This in turn triggers a series of add events preceded by a pre() and followed by a post(). */
+    public void drop(DropTargetDropEvent event) {
+	ignore = true;
+	group.grabFocus(this);
+	setBackground(Configuration.getColor("coloring.button_background", true));
+	setForeground(Configuration.getColor("coloring.button_foreground", true));
+
+	try {
+	    DragComponent source = group.getSource();
+	    TreePath[] selection = group.getSelection();
+	    FileNode[] source_nodes = new FileNode[selection.length];
+	    for(int i = 0; i < source_nodes.length; i++) {
+		source_nodes[i] = (FileNode) selection[i].getLastPathComponent();
+	    }
+	    event.acceptDrop(drag_action);
+	    // Action delete
+	    Gatherer.f_man.action(source, source_nodes, this, null);
+	    group.setSource(null);
+	    group.setSelection(null);
+	}
+	catch(Exception error) {
+	    error.printStackTrace();
+	    event.rejectDrop();
+	}
+	ignore = false;
+	// Clear up the group.image_ghost
+	paintImmediately(ra_ghost.getBounds());
+	event.getDropTargetContext().dropComplete(true);
+    }
+
+    /** Any implementation of DropTargetListener must include this method so we can be notified when the action to be taken upon drop changes. We never change so we don't do anything here. */
+    public void dropActionChanged(DropTargetDragEvent event) {
+    }
+
+    /** Used to notify this component that it has gained focus by some method other that mouse focus. */
+    public void gainFocus() {
+    }
+
+    /** Any implementation of DragComponent must include this method so that a outsider can get at the underlying tree model behind the component. */
+    public FileSystemModel getTreeModel(){
+  	return (FileSystemModel) model;
+    }
+
+    public boolean ignore() {
+	return ignore;
+    }
+
+    /** This method is used to inform this component when it loses focus by means other than a drag mouse event, and should indicate this somehow. */
+    public void loseFocus() {
+    }
+
+    public void setGroup(DragGroup group) {
+	this.group = group;
+    }
+
+
+    public class RecycleBinNode
+	extends FileNode
+    {
+	public RecycleBinNode(File file)
+	{
+	    super(file);
+	}
+
+	public FileNode addChildNode(File file) { return null; }
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/file/UnknownFileErrorException.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/file/UnknownFileErrorException.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/file/UnknownFileErrorException.java	(revision 21123)
@@ -0,0 +1,11 @@
+package org.greenstone.gatherer.file;
+
+import java.lang.Exception;
+
+public class UnknownFileErrorException
+    extends Exception {
+
+    public UnknownFileErrorException() {
+	super();
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/file/WorkspaceTree.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/file/WorkspaceTree.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/file/WorkspaceTree.java	(revision 21123)
@@ -0,0 +1,385 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.file;
+
+import java.awt.event.*;
+import java.io.File;
+import java.util.Enumeration;
+import javax.swing.*;
+import javax.swing.tree.TreePath;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.gui.CreateShortcutPrompt;
+import org.greenstone.gatherer.gui.tree.DragTree;
+
+
+public class WorkspaceTree
+    extends DragTree
+    implements MouseListener
+{
+    static public final int LIBRARY_CONTENTS_CHANGED = 10;
+    static public final int DOWNLOADED_FILES_CHANGED = 11;
+    static public final int FOLDER_SHORTCUTS_CHANGED = 12;
+
+
+    public WorkspaceTree()
+    {
+	super(WorkspaceTreeModel.getWorkspaceTreeModel(), true);
+	addMouseListener(this);
+
+	setBackgroundNonSelectionColor(Configuration.getColor("coloring.workspace_tree_background", false));
+	setBackgroundSelectionColor(Configuration.getColor("coloring.workspace_selection_background", false));
+	setTextNonSelectionColor(Configuration.getColor("coloring.workspace_tree_foreground", false));
+	setTextSelectionColor(Configuration.getColor("coloring.workspace_selection_foreground", false));
+
+	filter.setBackground(Configuration.getColor("coloring.workspace_heading_background", false));
+	filter.setEditable(Configuration.getMode() >= Configuration.LIBRARIAN_MODE);
+    }
+
+
+    public void addDirectoryMapping(String name, File file)
+    {
+	// Update the information stored in the user's configuration
+	Configuration.addDirectoryMapping(name, file);
+
+	// Now update the tree
+	refresh(FOLDER_SHORTCUTS_CHANGED);
+    }
+
+
+    public boolean isDraggable()
+    {
+	return true;
+    }
+
+
+    public boolean isDroppable()
+    {
+	return false;
+    }
+
+
+    public void mouseClicked(MouseEvent event)
+    {
+	if (SwingUtilities.isRightMouseButton(event)) {
+	    new WorkspaceTreeRightClickMenu(this, event);
+	}
+    }
+
+    public void mouseEntered(MouseEvent event) { }
+
+    public void mouseExited(MouseEvent event) { }
+
+    public void mousePressed(MouseEvent event) { }
+
+    public void mouseReleased(MouseEvent event) { }
+
+
+    public void refresh(int refresh_reason)
+    {
+	DebugStream.println("WorkspaceTree::refresh()... ");
+
+	// The method for displaying the tree has changed - redraw the tree
+  	if (refresh_reason == DragTree.TREE_DISPLAY_CHANGED) {
+  	    DebugStream.println("...Reason: tree display changed.");
+  	    updateUI();
+  	}
+
+	// The loaded collection has changed - currently do nothing
+	if (refresh_reason == DragTree.LOADED_COLLECTION_CHANGED) {
+	    DebugStream.println("...Reason: loaded collection changed.");
+	}
+
+	// The collection's contents have changed - refresh collection's import folder
+	if (refresh_reason == DragTree.COLLECTION_CONTENTS_CHANGED) {
+	    DebugStream.println("...Reason: collection contents changed.");
+	    String collection_import_directory_path = CollectionManager.getLoadedCollectionImportDirectoryPath();
+	    refreshEveryNodeShowingFolder(collection_import_directory_path);
+	}
+
+	// The collections in the library have changed - refresh the collect directory
+	if (refresh_reason == WorkspaceTree.LIBRARY_CONTENTS_CHANGED) {
+	    DebugStream.println("...Reason: library contents changed.");
+	    String collect_directory_path = Gatherer.getCollectDirectoryPath();
+	    refreshEveryNodeShowingFolder(collect_directory_path);
+	    WorkspaceTreeModel.refreshGreenstoneCollectionsNode();
+	}
+
+	// The downloaded files have changed - refresh that node
+	if (refresh_reason == WorkspaceTree.DOWNLOADED_FILES_CHANGED) {
+	    DebugStream.println("...Reason: downloaded files changed.");
+	    WorkspaceTreeModel.refreshDownloadedFilesNode();
+	}
+
+	// The folder shortcuts have changed - refresh only them
+	if (refresh_reason == WorkspaceTree.FOLDER_SHORTCUTS_CHANGED) {
+	    DebugStream.println("...Reason: folder shortcuts changed.");
+	    WorkspaceTreeModel.refreshFolderShortcuts();
+	}
+    }
+
+
+    private void refreshEveryNodeShowingFolder(String folder_path_str)
+    {
+	// Search through the expanded tree paths, checking if any show the given folder
+	TreePath tree_root_path = new TreePath(getModel().getRoot());
+	Enumeration expanded_tree_paths = getExpandedDescendants(tree_root_path);
+	while (expanded_tree_paths.hasMoreElements()) {
+	    TreePath expanded_tree_path = (TreePath) expanded_tree_paths.nextElement();
+	    WorkspaceTreeNode tree_node = (WorkspaceTreeNode) expanded_tree_path.getLastPathComponent();
+
+	    File tree_node_file = tree_node.getFile();
+	    if (tree_node_file == null) {
+		continue;
+	    }
+
+	    // Get the path of the open tree node
+	    String tree_node_path_str = tree_node_file.toString();
+	    if (!tree_node_path_str.endsWith(File.separator)) {
+		tree_node_path_str = tree_node_path_str + File.separator;
+	    }
+
+	    // If the specified folder is open, it must be refreshed
+	    if (tree_node_path_str.equals(folder_path_str)) {
+		System.err.println("Must refresh node " + tree_node_path_str + "!");
+		((WorkspaceTreeModel) getModel()).refresh(expanded_tree_path);
+	    }
+	}
+    }
+
+
+    public void removeDirectoryMapping(WorkspaceTreeNode target)
+    {
+	// Update the information stored in the user's configuration
+	Configuration.removeDirectoryMapping(target.toString());
+
+	// Update tree
+	refresh(FOLDER_SHORTCUTS_CHANGED);
+    }
+
+
+    public String toString()
+    {
+	return "Workspace";
+    }
+
+
+    /** When a user right-clicks within the workspace and collection trees they are presented with a small popup menu of context based options. This class provides such functionality.
+     */
+    private class WorkspaceTreeRightClickMenu
+	extends JPopupMenu
+	implements ActionListener
+    {
+	/** The tree over which the right click action occurred. */
+	private WorkspaceTree workspace_tree = null;
+	/** The tree nodes selected when the right click action occurred. */
+	private TreePath[] selection_paths = null;
+	/** The file record over which the right click action occurred. */
+	private WorkspaceTreeNode node = null;
+
+	private JMenuItem create_shortcut = null;
+	private JMenuItem delete_shortcut = null;
+	private JMenuItem collapse_folder = null;
+	private JMenuItem expand_folder = null;
+	private JMenuItem explode_metadata_database = null;
+	private JMenuItem delete = null;
+	private JMenuItem metaaudit = null;
+	private JMenuItem new_folder = null;
+	private JMenuItem new_dummy_doc = null;
+	private JMenuItem open_externally = null;
+	private JMenuItem rename = null;
+	private JMenuItem replace = null;
+
+
+	private WorkspaceTreeRightClickMenu(WorkspaceTree workspace_tree, MouseEvent event)
+	{
+	    super();
+	    this.workspace_tree = workspace_tree;
+
+	    // Note we have to use setImmediate() with the set selction paths
+	    // otherwise the selection doesn't get updated until after the 
+	    // popup comes up.
+
+	    // the right click position
+	    TreePath right_click_path = workspace_tree.getPathForLocation(event.getX(), event.getY());
+	    if (right_click_path == null) {
+		// user has clicked outside of the tree, clear the selection
+		selection_paths = null;
+		workspace_tree.setImmediate(true);
+		workspace_tree.clearSelection();
+		workspace_tree.setImmediate(false);
+	    }
+	    else {
+		// Get the paths currently selected in the tree
+		selection_paths = workspace_tree.getSelectionPaths();
+		if (selection_paths == null) {
+		    // nothing currently selected - we shift the selection to 
+		    // the node that was right clicked on
+		    selection_paths = new TreePath[1];
+		    selection_paths[0] = right_click_path;
+		    workspace_tree.setImmediate(true);
+		    workspace_tree.setSelectionPath(right_click_path);
+		    workspace_tree.setImmediate(false);
+		}
+		else if (selection_paths.length == 1 && ! selection_paths[0].equals( right_click_path)) {
+		    workspace_tree.setImmediate(true);
+		    workspace_tree.clearSelection();
+		    workspace_tree.setSelectionPath(right_click_path);
+		    workspace_tree.setImmediate(false);
+		    selection_paths[0] = right_click_path;
+		}
+		else {
+		    // we had multiply selected paths in the tree.
+		    // if we clicked on one of those paths, then use all the 
+		    // current selection, otherwise clear the selection and 
+		    // select the one we right clicked on
+		    boolean clicked_in_selection = false;
+		    for (int i = 0; i < selection_paths.length; i++) {
+			if (selection_paths[i].equals(right_click_path)) {
+			    clicked_in_selection = true;
+			    break;
+			}
+		    }
+		    if (!clicked_in_selection) {
+			// want the tree to update right away
+			workspace_tree.setImmediate(true);
+			workspace_tree.clearSelection();
+			workspace_tree.setSelectionPath(right_click_path);
+			workspace_tree.setImmediate(false);
+			selection_paths = new TreePath[1];
+			selection_paths[0] = right_click_path;
+		    }
+		}
+	    }
+	    
+	    // Create an appropriate context menu, based on what is selected
+	    buildContextMenu(selection_paths);
+
+	    // Show the popup menu on screen
+	    show(workspace_tree, event.getX(), event.getY());
+	}
+
+
+	private void buildContextMenu(TreePath[] selection_paths)
+	{
+	    // If nothing is selected, no options are available...
+	    if (selection_paths == null) {
+		return;
+	    }
+
+	    // Only meta-audit and delete are available if multiple items are selected...
+	    if (selection_paths.length > 1) {
+		return;
+	    }
+
+	    TreePath path = selection_paths[0];
+	    node = (WorkspaceTreeNode) path.getLastPathComponent();
+
+	    // ---- Options for file nodes ----
+	    if (node.isLeaf()) {
+		// Open the file in an external program
+		open_externally = new JMenuItem(Dictionary.get("Menu.Open_Externally"), KeyEvent.VK_O);
+		open_externally.addActionListener(this);
+		add(open_externally);
+
+		return;
+	    }
+
+	    // ---- Options for folder nodes ----
+	    // Collapse or expand, depending on current status
+	    if (workspace_tree.isExpanded(path)) {
+		collapse_folder = new JMenuItem(Dictionary.get("Menu.Collapse"), KeyEvent.VK_C);
+		collapse_folder.addActionListener(this);
+		add(collapse_folder);
+	    }
+	    else {
+		expand_folder = new JMenuItem(Dictionary.get("Menu.Expand"), KeyEvent.VK_O);
+		expand_folder.addActionListener(this);
+		add(expand_folder);
+	    }
+
+	    // Create/remove shortcut option, for workspace tree only
+	    if (workspace_tree == workspace_tree) {
+		// The "built-in" folders can't be modified
+		String node_name = node.toString();
+		if (node_name.equals(Dictionary.get("Tree.World")) || node_name.equals(Dictionary.get("Tree.Root")) || node_name.equals(Dictionary.get("Tree.DownloadedFiles"))) {
+		    return;
+		}
+
+		// You can unmap 1st level nodes
+		WorkspaceTreeNode root = (WorkspaceTreeNode) workspace_tree.getModel().getRoot();
+		if (root.getIndex(node) != -1) {
+		    delete_shortcut = new JMenuItem(Dictionary.get("MappingPrompt.Unmap"), KeyEvent.VK_R);
+		    delete_shortcut.addActionListener(this);
+		    add(delete_shortcut);
+		}
+		// Or map any other level directories
+		else {
+		    create_shortcut = new JMenuItem(Dictionary.get("MappingPrompt.Map"), KeyEvent.VK_S);
+		    create_shortcut.addActionListener(this);
+		    add(create_shortcut);
+		}
+	    }
+	}
+
+
+	/** Called whenever one of the menu items is clicked, this method then causes the appropriate effect. */
+	public void actionPerformed(ActionEvent event)
+	{
+  	    Object source = event.getSource();
+
+	    // Create shortcut
+	    if (source == create_shortcut) {
+ 		CreateShortcutPrompt csp = new CreateShortcutPrompt(workspace_tree, node.getFile());
+ 		csp.destroy();
+	    }
+
+	    // Delete shortcut
+  	    else if (source == delete_shortcut) {
+  		workspace_tree.removeDirectoryMapping(node);
+  	    }
+
+	    // Collapse folder
+	    else if (source == collapse_folder) {
+		workspace_tree.collapsePath(selection_paths[0]);
+	    }
+
+	    // Expand folder
+	    else if (source == expand_folder) {
+		workspace_tree.expandPath(selection_paths[0]);
+	    }
+
+	    // Open in external program
+	    else if (source == open_externally) {
+		Gatherer.f_man.openFileInExternalApplication(node.getFile());
+	    }
+  	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/file/WorkspaceTreeModel.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/file/WorkspaceTreeModel.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/file/WorkspaceTreeModel.java	(revision 21123)
@@ -0,0 +1,173 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.file;
+
+import java.io.*;
+import java.util.*;
+import javax.swing.tree.TreePath;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.util.SynchronizedTreeModelTools;
+
+
+public class WorkspaceTreeModel
+    extends FileSystemModel
+{
+    static private WorkspaceTreeModel workspace_tree_model = null;
+    static private WorkspaceTreeNode workspace_tree_root = null;
+
+    static private WorkspaceTreeNode greenstone_collections_node = null;
+    static private WorkspaceTreeNode local_filespace_node = null;
+    static private WorkspaceTreeNode downloaded_files_node = null;
+    static private WorkspaceTreeNode[] folder_shortcuts = null;
+
+
+    public WorkspaceTreeModel(WorkspaceTreeNode root_node)
+    {
+	super(root_node);
+    }
+
+
+    static public WorkspaceTreeNode[] getFolderShortcuts()
+    {
+	// Return any predefined special directories
+	HashMap mappings = Configuration.getDirectoryMappings();
+	WorkspaceTreeNode[] mapping_nodes = new WorkspaceTreeNode[mappings.size()];
+	Iterator mappings_iterator = mappings.keySet().iterator();
+	for (int i = 0; mappings_iterator.hasNext(); i++) {
+	    String mapping_name = (String) mappings_iterator.next();
+	    File mapping_file = (File) mappings.get(mapping_name);
+	    mapping_nodes[i] = new WorkspaceTreeNode(mapping_file, mapping_name);
+	}
+	return mapping_nodes;
+    }
+
+
+    static public WorkspaceTreeModel getWorkspaceTreeModel()
+    {
+	// Create a root node to contain the various nodes in the workspace tree
+ 	workspace_tree_root = new WorkspaceTreeNode(null, "ABS_ROOT");
+	workspace_tree_model = new WorkspaceTreeModel(workspace_tree_root);
+
+	// Add the "Documents in Greenstone Collections" node
+	greenstone_collections_node = new WorkspaceTreeNode(null, Dictionary.get("Tree.World"));
+	workspace_tree_root.add(greenstone_collections_node);
+
+	// Add the "Local Filespace" node
+	local_filespace_node = FileSystem.getLocalFilespaceNode(workspace_tree_model);
+	workspace_tree_root.add(local_filespace_node);
+
+	// Add the "Home Folder" node
+	workspace_tree_root.add(FileSystem.getHomeFolderNode());
+
+	// Add the "Downloaded Files" node, if the Download pane is enabled
+	if (Gatherer.g_man.download_pane != null) {
+	    downloaded_files_node = FileSystem.getDownloadedFilesNode();
+	    workspace_tree_root.add(downloaded_files_node);
+	}
+
+	// Add any folder shortcuts the user has created
+	refreshFolderShortcuts();
+
+ 	return workspace_tree_model;
+    }
+
+
+    static public void refreshGreenstoneCollectionsNode()
+    {
+	greenstone_collections_node.refresh();
+    }
+
+
+    static public void refreshDownloadedFilesNode()
+    {
+	downloaded_files_node.refresh();
+    }
+
+
+    static public void refreshFolderShortcuts()
+    {
+	// Check for new/deleted folder shortcuts
+	WorkspaceTreeNode[] old_folder_shortcuts = folder_shortcuts;
+	folder_shortcuts = getFolderShortcuts();
+
+	// Remove any deleted shortcuts from the tree
+	if (old_folder_shortcuts != null) {
+	    for (int i = 0; i < old_folder_shortcuts.length; i++) {
+		if (!doesArrayContain(folder_shortcuts, old_folder_shortcuts[i])) {
+		    DebugStream.println("Deleted shortcut: " + old_folder_shortcuts[i]);
+		    SynchronizedTreeModelTools.removeNodeFromParent(workspace_tree_model, old_folder_shortcuts[i]);
+		}
+	    }
+	}
+
+	// Add any new shortcuts to the tree
+	if (folder_shortcuts != null) {
+	    for (int i = 0; i < folder_shortcuts.length; i++) {
+		if (!doesArrayContain(old_folder_shortcuts, folder_shortcuts[i])) {
+		    DebugStream.println("Added shortcut: " + folder_shortcuts[i]);
+		    SynchronizedTreeModelTools.insertNodeInto(workspace_tree_model, workspace_tree_root, folder_shortcuts[i], false);
+		}
+	    }
+	}
+    }
+
+
+    // -- This code is necessary to support the workspace tree file filter --
+    public void refresh(TreePath path)
+    {
+	// If we're not refreshing the whole tree just refresh a certain path
+	if (path != null) {
+	    super.refresh(path);
+	    return;
+	}
+
+	// Refresh each of the nodes in the workspace tree
+	for (int i = 0; i < workspace_tree_root.getChildCount(); i++) {
+	    WorkspaceTreeNode child_node = (WorkspaceTreeNode) workspace_tree_root.getChildAt(i);
+	    super.refresh(new TreePath(child_node.getPath()));
+	}
+    }
+
+
+    static private boolean doesArrayContain(Object[] array, Object item)
+    {
+	if (array == null) {
+	    return false;
+	}
+
+	for (int i = 0; i < array.length; i++) {
+	    if (item.toString().equals(array[i].toString())) {
+		return true;
+	    }
+	}
+
+	return false;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/file/WorkspaceTreeNode.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/file/WorkspaceTreeNode.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/file/WorkspaceTreeNode.java	(revision 21123)
@@ -0,0 +1,211 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.file;
+
+
+import java.io.*;
+import java.util.*;
+import javax.swing.filechooser.FileSystemView;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.BasicCollectionConfiguration;  // !!! Don't like this here
+import org.greenstone.gatherer.collection.CollectionManager;  // !!! Don't like this here
+import org.greenstone.gatherer.util.ArrayTools;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+
+
+/** This class represents one node in the workspace tree. */
+public class WorkspaceTreeNode
+    extends FileNode
+{
+    private boolean is_gs3_site_node = false;
+    private boolean is_group_node = false;
+    private boolean is_in_loaded_collection = false;
+    private String title = null;
+
+
+    public WorkspaceTreeNode(File file)
+    {
+	super(file);
+    }
+
+
+    public WorkspaceTreeNode(File file, String title)
+    {
+	this(file);
+	this.title = title;
+    }
+
+
+    public FileNode addChildNode(File file)
+    {
+	WorkspaceTreeNode child_node = new WorkspaceTreeNode(file);
+	child_node.setModel(model);
+	child_node.setParent(this);
+	return child_node;
+    }
+
+
+    /** Is this file node within the currently loaded collection? */
+    public boolean isInLoadedCollection()
+    {
+	if (is_in_loaded_collection) {
+	    return true;
+	}
+	else {
+	    FileNode parent = (FileNode) getParent();
+	    if (parent != null) {
+		return parent.isInLoadedCollection();
+	    }
+	}
+	return false;
+    }
+
+
+    public boolean isReadOnly()
+    {
+	// The workspace tree is read only
+	return true;
+    }
+
+
+    public void map()
+    {
+	// Special Case: "Documents in Greenstone Collections" -- map the collections installed in Greenstone
+	if (file == null) { // a special mapping folder
+	    if (child_nodes != null) {
+		// don't bother mapping again if we already have children
+		return;
+	    }
+	    child_nodes = new ArrayList();
+	    if (title.equals(Dictionary.get("Tree.World")) && Gatherer.GS3) {
+		// the Greenstone collections folder for GS3 - this contains a 
+		// folder for each site
+
+		File start = new File(Utility.getSitesDir(Configuration.gsdl3_path));
+		File sites[] = start.listFiles();
+		ArrayTools.sort(sites);
+		for (int i = 0; sites != null && i < sites.length; i++) {
+		    File collect_dir = new File(sites[i], "collect");
+		    if (!collect_dir.exists()) {
+			continue;
+		    }
+
+		    WorkspaceTreeNode child = new WorkspaceTreeNode(null, sites[i].getName());
+		    child.is_gs3_site_node = true;
+		    child.unmap();
+		    child.setModel(model);
+		    child.setParent(this);
+		    child.map();
+		    child_nodes.add(child);
+		}
+		model.nodeStructureChanged(this);
+		
+	    } else if (title.equals(Dictionary.get("Tree.World")) || is_gs3_site_node || is_group_node) {
+		// For each of the children directories, which are collections...
+		File start;
+		if (is_gs3_site_node ) {
+		    start = new File(Gatherer.getSitesDirectoryPath() + title + File.separator + "collect" + File.separator);
+		} 
+		else if (is_group_node) {
+		  start = new File(Gatherer.getCollectDirectoryPath() + title);
+		}
+		else {
+		    start = new File(Gatherer.getCollectDirectoryPath());
+		}
+		File cols[] = start.listFiles();
+		ArrayTools.sort(cols);
+
+		// We add their import directories, except for the model collection
+		for (int i = 0; cols != null && i < cols.length; i++) {
+		    if (!cols[i].getName().equals(StaticStrings.MODEL_COLLECTION_NAME)) {
+			// check for groups
+			String file_name = (Gatherer.GS3)? Utility.CONFIG_GS3_FILE : Utility.CONFIG_FILE;
+			BasicCollectionConfiguration collect_cfg = new BasicCollectionConfiguration(new File(cols[i], file_name));
+			if (collect_cfg.getCollectGroup().equals("true")) {
+			  WorkspaceTreeNode child = new WorkspaceTreeNode(null, cols[i].getName());
+			  child.is_group_node = true;
+			  child.unmap();
+			  child.setModel(model);
+			  child.setParent(this);
+			  child.map();
+			  child_nodes.add(child);
+			} else {
+			  File import_dir = new File(cols[i], "import");
+			  if (!import_dir.exists()) {
+			    continue;
+			  }
+			  
+			  WorkspaceTreeNode collection_root = new WorkspaceTreeNode(import_dir, collect_cfg.toString());
+			  collection_root.setParent(this);
+			  collection_root.setModel(model);
+			  
+			  // One last piece of magic so we can determine the current collection
+			  // I don't think this will work properly with groups,
+			  // as it may give a false positive??
+			  collection_root.is_in_loaded_collection = cols[i].getName().equals(CollectionManager.getLoadedCollectionName());
+			  child_nodes.add(collection_root);
+			}
+		    }
+		}
+		model.nodeStructureChanged(this);
+	    }
+	    else if (title.equals(Dictionary.get("Tree.Root"))) {
+		// Special Case: "Local Filespace" on Windows -- create a node for each filesystem root (drive letter)
+		
+		// Sort the roots into alphabetical order
+		File[] roots = File.listRoots();
+		ArrayTools.sort(roots);
+		for (int i = 0; i < roots.length; i++) {
+		    // Only add root if it isn't a floppy drive
+		    // this used to cause problems, I don't think it does now...
+		    //if (!FileSystemView.getFileSystemView().isFloppyDrive(roots[i])) {
+		    child_nodes.add(addChildNode(roots[i]));
+			// }
+		}
+	    }
+	} // if file == null
+	
+	// General case
+	else {
+	    super.map();
+	}
+    }
+
+
+    public String toString()
+    {
+	if (title != null) {
+	    return title;
+	}
+
+	return super.toString();
+    }
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/file/WriteNotPermittedException.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/file/WriteNotPermittedException.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/file/WriteNotPermittedException.java	(revision 21123)
@@ -0,0 +1,11 @@
+package org.greenstone.gatherer.file;
+
+import java.lang.Exception;
+
+public class WriteNotPermittedException
+    extends Exception {
+
+    public WriteNotPermittedException(String message) {
+	super(message);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/Attribute.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/Attribute.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/Attribute.java	(revision 21123)
@@ -0,0 +1,122 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gems;
+
+
+/**
+ *  Wrapper class for attributes displayed in the table 
+ * @author Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ */
+public class Attribute
+{
+    private String name="";
+    private String value="";
+    private String lang="";
+    private boolean isRequired;
+    //private boolean isLanguageDependent;
+
+    public Attribute() {}
+
+    public Attribute(String name, String value, String lang, boolean isRequired /*, boolean isLangDep*/){
+	this.name = name;
+	this.value = value;
+	this.lang = lang;
+	this.isRequired = isRequired;
+	//this.isLanguageDependent = isLangDep;
+    }
+
+    public Attribute(String name, String value, boolean isRequired/*, boolean isLangDep*/){
+	this.name = name;
+	this.value = value;
+	//this.lang = lang;
+	this.isRequired = isRequired;
+	//this.isLanguageDependent = isLangDep;
+    }
+
+    public Attribute(String name, String value){
+	this.name = name;
+	this.value = value;
+    }
+
+    public String getName(){
+	return name;
+    }
+
+    public String getValue() {
+	return value;
+    }
+
+    public String getLanguage() {
+	return lang;
+    }
+  
+    public boolean isRequired(){
+	return this.isRequired;
+    }
+
+//     public boolean isLanguageDependent(){
+// 	return this.isLanguageDependent;
+//     }
+       
+    public void setName(String name) {
+	if (name.trim().equals(this.name)) return;
+	this.name = name.trim();
+        
+    }
+    
+    public void setValue(String value) {
+	if (value.trim().equals(this.value)) return;
+	this.value = value.trim();
+    }
+
+    public void setLanguage(String lang) {
+	if (lang.trim().equals(this.lang)) return;
+	this.lang = lang;
+    }
+
+    public void setRequired(boolean isRequired) {
+	this.isRequired = isRequired;
+    } 
+    
+//     public void setLanguageDependent(boolean isLangDep) {
+// 	this.isLanguageDependent = isLangDep;
+//     }
+
+    public String toString() {
+	return (this.name + " " + this.value +" " + this.lang);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/AttributeContainer.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/AttributeContainer.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/AttributeContainer.java	(revision 21123)
@@ -0,0 +1,183 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Katherine Don, New Zealand Digital Library Project, 
+ *          University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gems;
+
+import org.greenstone.gatherer.Configuration;
+
+import java.util.ArrayList;
+
+
+/** this is used as a base class for MetadataSetInfo and MetadataElementModel
+ * Both of thesee have some attributes which are language independent, and
+ * some which are language dependent
+ */ 
+public class AttributeContainer {
+    
+    protected ArrayList attributes;     
+    protected ArrayList language_dependent_attributes;    
+    
+    String [] required_attribute_names = null;
+    String [] language_dependent_attribute_names = null;
+    
+    public AttributeContainer() {}
+    public AttributeContainer(String [] required_atts, String []lang_dependent_atts) {       
+	
+	attributes = new ArrayList();
+	language_dependent_attributes =  new ArrayList();               
+
+	if (required_atts != null) {
+	    required_attribute_names = required_atts;
+	    for(int i=0;i<required_atts.length;i++){
+		String reName = required_atts[i];
+		Attribute attr = new Attribute(reName,"",true);
+		attributes.add(attr);            
+	    }
+	}
+
+	if (lang_dependent_atts != null) {
+	    language_dependent_attribute_names = lang_dependent_atts;
+	    for(int i=0;i<lang_dependent_atts.length;i++){
+		String reName = lang_dependent_atts[i];
+		Attribute attr = new Attribute(reName,"",Configuration.getLanguage(),true);
+		language_dependent_attributes.add(attr);            
+	    }
+	}
+	
+    }
+
+    public ArrayList getAttributes(){
+	return attributes;
+    }
+    
+    public void setAttributes(ArrayList atts) {
+	attributes.clear();
+	attributes = atts;
+    }
+
+    public String [] getLanguageDependentAttributeNames() {
+	return language_dependent_attribute_names;
+    }
+    public ArrayList getLanguageDependentAttributes(){
+	return language_dependent_attributes; 
+    }
+    
+    public void setLanguageDependentAttributes(ArrayList lda){
+	language_dependent_attributes.clear();
+	language_dependent_attributes = lda;
+    }
+
+
+    protected ArrayList getAllLanguages(){
+	ArrayList langs = new ArrayList();    
+
+       for(int i=0;i<language_dependent_attributes.size();i++){
+	    Attribute attr = (Attribute) language_dependent_attributes.get(i);
+            if (!langs.contains(attr.getLanguage()) && !attr.getLanguage().trim().equals("")){
+		langs.add(attr.getLanguage());
+	    } 
+	}   
+
+       return langs;
+    }
+
+    public int languageExists(String lang){
+	for(int i=0;i<language_dependent_attributes.size();i++){
+	    Attribute attr = (Attribute) language_dependent_attributes.get(i);
+	    if (attr.getLanguage().trim().equals(lang.trim())){
+		return i;
+	    } 
+	}   
+	
+	return -1;
+    }
+
+    protected Attribute getAttributeByName(String name){
+        for(int i=0;i<attributes.size();i++){
+	    Attribute attr = (Attribute) attributes.get(i);
+            if (attr.getName() != null && attr.getName().trim().equals(name.trim())){
+		return attr;
+	    } 
+	}
+
+	return null;
+    }
+
+    protected Attribute getAttributeByNameAndLanguage(String name, String lang){
+	for(int i=0;i<language_dependent_attributes.size();i++){
+	    Attribute attr = (Attribute) language_dependent_attributes.get(i);
+	    if (attr.getName() != null || attr.getLanguage()!=null){
+		if (attr.getName().trim().equals(name.trim()) && (attr.getLanguage().trim().equals(lang.trim()))){
+		    return attr;
+		}
+	    } 
+	}
+	
+	return null;
+    
+    }
+
+    protected ArrayList getAttributesByLanguage(String lang){
+	  ArrayList attrs = new ArrayList();    
+	  
+	  for(int i=0;i<language_dependent_attributes.size();i++){
+	      Attribute attr = (Attribute) language_dependent_attributes.get(i);
+	      if (!attr.getLanguage().trim().equals("") && attr.getLanguage().trim().equals(lang)){
+		  attrs.add(attr);
+	      } 
+	  }   
+	  
+	  return attrs;
+      }
+
+   protected boolean isAttributeRequired(String name) {
+       for(int i=0;i<required_attribute_names.length;i++){
+            if (name.equals(required_attribute_names[i])) return true;
+	}
+	return false;
+
+    }
+
+    protected boolean isLangDependentAttributeRequired(String name) {
+	for(int i=0;i<language_dependent_attribute_names.length;i++){
+            if (name.equals(language_dependent_attribute_names[i])) return true;
+	}
+	return false;
+
+    }
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/AttributeEvent.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/AttributeEvent.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/AttributeEvent.java	(revision 21123)
@@ -0,0 +1,52 @@
+
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at th * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################## ##########################
+ */
+package org.greenstone.gatherer.gems;
+
+public class AttributeEvent{
+    Attribute attribute;
+
+    public AttributeEvent(Attribute attr){
+        attribute = attr;
+
+    }
+
+     public Attribute getSource(){
+	 return attribute;
+    }
+
+    //add get and set method 
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/AttributeListener.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/AttributeListener.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/AttributeListener.java	(revision 21123)
@@ -0,0 +1,43 @@
+
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at th * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################## ##########################
+ */
+package org.greenstone.gatherer.gems;
+
+public interface AttributeListener{
+
+    public void attributeChanged(AttributeEvent ae);
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/AttributeTable.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/AttributeTable.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/AttributeTable.java	(revision 21123)
@@ -0,0 +1,325 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gems;
+
+import javax.swing.table.*; 
+import javax.swing.JTable; 
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
+import java.util.ArrayList; 
+import java.awt.Rectangle;
+import javax.swing.JOptionPane;
+import javax.swing.DefaultCellEditor;
+import javax.swing.JTextField;
+import javax.swing.ListSelectionModel;
+
+import org.greenstone.gatherer.Dictionary;
+
+public class AttributeTable
+    extends JTable 
+    implements MetadataElementListener, MetadataSetListener, ActionListener {
+
+    // self reference
+    JTable this_table; 
+    
+    private ArrayList listeners = new ArrayList();
+    private JTextField metadata_value_text_field = new JTextField();
+    private boolean language_dependent;
+    
+    public AttributeTable(boolean lang_dependent){
+	super();       
+        setRowHeight(20);
+        this.setComponentOrientation(Dictionary.getOrientation());
+        metadata_value_text_field.setComponentOrientation(Dictionary.getOrientation());
+	language_dependent = lang_dependent;
+	
+    	metadata_value_text_field.setBorder(null);
+	DefaultCellEditor cellEditor = new DefaultCellEditor(metadata_value_text_field);
+	cellEditor.setClickCountToStart(1);
+	setDefaultEditor(String.class,cellEditor);   
+        this_table = this;
+	setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+      }
+
+    /* not currently used */
+    public void actionPerformed(ActionEvent e){
+	String command = e.getActionCommand();
+   
+        if (command.equals(GEMSConstants.ADD_ATTRIBUTE)){
+	    addAttribute();
+ 	    return ;
+	}
+       
+       if (command.equals(GEMSConstants.DELETE_ATTRIBUTE)){
+           deleteAttribute();
+	}   
+           
+    }
+
+    public void addNewLanguage(String lang) {
+	AttributeTableModel model = (AttributeTableModel)getModel();
+	model.addNewLanguage(lang);
+    }
+
+    public void metadataElementChanged(MetadataElementEvent mee){
+	MetadataElementModel model = mee.getMetadataElementModel();      
+        if (model == null){ //this model has been deleted
+	    setModel(new DefaultTableModel());
+            return;
+	} 
+	populateAttributeTable(model);
+    }
+
+    public void metadataSetChanged(MetadataSetEvent mse){
+	MetadataSetInfo info = mse.getMetadataSetInfo();
+	if (info == null){
+	    setModel(new DefaultTableModel());
+	    return;
+	}
+        populateAttributeTable(info);
+    }
+    
+    public void addAttributeListener(AttributeListener al){
+	if (!listeners.contains(al)){
+	    listeners.add(al);    
+	}
+    }
+
+    public void removeAttributeListener(AttributeListener al){
+	listeners.remove(al);   
+    }
+
+    private void addAttribute(){
+	AttributeTableModel model = (AttributeTableModel)getModel();
+	model.addNewRow();
+    }
+
+   
+    private void deleteAttribute(){
+	int index = getSelectedRow();
+	AttributeTableModel model = (AttributeTableModel)getModel();
+	model.deleteRow(index);
+    }
+    
+    private void populateAttributeTable(AttributeContainer container){
+	AttributeTableModel model = new AttributeTableModel(container, language_dependent);
+	setModel(model);
+	TableColumnModel tcm = getColumnModel();
+	if (language_dependent) {
+	    tcm.getColumn(0).setPreferredWidth(100);
+	    tcm.getColumn(1).setPreferredWidth(50);
+	    tcm.getColumn(2).setPreferredWidth(350);         
+	}
+	else {
+	    tcm.getColumn(0).setPreferredWidth(100);
+	    tcm.getColumn(1).setPreferredWidth(400);         
+	} 
+    }
+
+
+
+    private void notifyListeners(Attribute attr){
+	AttributeEvent ae = new AttributeEvent(attr);
+	for(int i=0;i<listeners.size();i++){
+	    AttributeListener al = (AttributeListener) listeners.get(i);
+	    al.attributeChanged(ae);
+	    
+	}
+    }
+
+
+
+    protected class AttributeTableModel extends AbstractTableModel {
+    
+	AttributeContainer attribute_container;
+	ArrayList attributes;
+	boolean language_dependent;
+    
+	String[] column_names;
+
+	public AttributeTableModel(AttributeContainer container, boolean lang_dependent) {
+	    attribute_container = container;
+	    language_dependent = lang_dependent;
+	    if (language_dependent) {
+		attributes = container.getLanguageDependentAttributes();
+		column_names = GEMSConstants.LANG_DEPENDENT_ATTRIBUTES_COLUMN_NAMES;
+	    } 
+	    else {
+		attributes = container.getAttributes();
+		column_names = GEMSConstants.ATTRIBUTES_COLUMN_NAMES;
+	    }
+	}
+
+	public int getRowCount(){
+	    return attributes.size();
+	}
+       
+	public String getColumnName(int column){
+	    return column_names[column];
+	}
+	
+	public Class getColumnClass(int columnIndex){
+	    return String.class;
+	}    
+	public int getColumnCount(){
+	    return column_names.length;
+	}
+	public boolean isCellEditable(int row, int col) {
+	    Attribute attr = (Attribute)attributes.get(row);	   
+	    if (col == 0 && attr.isRequired()) return false;
+	    return true;
+	}
+
+	public Object getValueAt(int row, int column){
+	    if (row < attributes.size()){
+		Attribute attr = (Attribute)attributes.get(row);
+		// 	String name = attr.getName();
+		//  if (attr.isRequired()){
+		//    name = "<html><body Color=blue>"+name+"</body></html>";
+		// 	}
+
+		if (column == 0) return attr.getName();
+		if (language_dependent) {
+		    if (column == 1) return attr.getLanguage();
+		    if (column == 2) return attr.getValue();
+		}
+		else {
+		    if (column == 1) return attr.getValue();
+		}
+	    }	
+	    return null; 
+	}	    	    
+
+	public void setValueAt(Object value, int row, int column){    
+	    if (row < attributes.size() && attributes.size()>0 ){
+		Attribute attr = (Attribute)attributes.get(row);
+		if (attr.isRequired() && ((String)value).trim().equals("") && !getValueAt(row,column).equals("")) {
+		    JOptionPane.showMessageDialog(null,Dictionary.get("GEMS.Attribute_Edition_Error_Message"), Dictionary.get("GEMS.Attribute_Edition_Error"),JOptionPane.ERROR_MESSAGE);
+		    return; 
+		}
+		
+		// TODO: check namespace conflict
+		if (column == 0) attr.setName((String)value);
+		else {
+		    if (language_dependent) {
+			if (column == 1) attr.setLanguage((String)value);
+			else if (column == 2) attr.setValue((String)value); 
+		    }
+		    else {
+			if (column == 1) attr.setValue((String)value);
+		    }
+		}
+		notifyListeners(attr);
+
+		/// check this stuff
+		if (attribute_container instanceof MetadataElementModel) {
+		    if (attr.getName().trim().equals(GEMSConstants.NAME_ATTRIBUTE)) {
+			((MetadataElementModel)attribute_container).setName((String)value);
+		    }
+		} else if (attribute_container instanceof MetadataSetInfo) {
+		    ((MetadataSetInfo)attribute_container).infoChanged(); 
+		}
+	    }
+	}
+
+	/** used only for language dependent attribute tables */
+	public void addNewLanguage(String lang)
+	{
+	    if (!language_dependent) return;
+	    int index = attribute_container.languageExists(lang);  
+	    if (index >=0){
+		this_table.getSelectionModel().setSelectionInterval(index,index);
+		Rectangle rect = this_table.getCellRect(index, 0, true);
+		this_table.scrollRectToVisible(rect);
+	    }
+	    else {
+		String [] attrNames = attribute_container.getLanguageDependentAttributeNames();
+		if (attrNames == null){
+		    JOptionPane.showMessageDialog(null,Dictionary.get("GEMS.Add_Lang_Depend_Attr_Error_Message"),Dictionary.get("GEMS.Add_Lang_Depend_Attr_Error"),JOptionPane.ERROR_MESSAGE);
+		    return ;
+		}
+		for(int i=0;i<attrNames.length;i++){
+		    Attribute attr = new Attribute(attrNames[i].trim(),"", true);
+		    attr.setLanguage(lang);
+		    attributes.add(attr); 
+		    notifyListeners(attr);
+		}
+		fireTableDataChanged();
+		// first att from new lot
+		int first_new_att_index = attributes.size()-attrNames.length;
+		this_table.editCellAt(first_new_att_index, 2);
+		if (this_table.isEditing()) {
+		    this_table.getEditorComponent().requestFocus();
+		}
+	    
+		this_table.getSelectionModel().setSelectionInterval(attributes.size()-attrNames.length,attributes.size()-1); 
+		Rectangle rect = this_table.getCellRect(attributes.size()-1, 0, true);
+		this_table.scrollRectToVisible(rect); 
+	    }
+	}
+    
+	/* not currently used */
+	public void addNewRow(){
+	    Attribute attr = new Attribute();
+	    attributes.add(attr);
+	    fireTableDataChanged(); 
+	    this_table.getSelectionModel().setSelectionInterval(attributes.size()-1,attributes.size()-1);
+	    Rectangle rect = this_table.getCellRect(attributes.size()-1, 0, true);
+	    this_table.scrollRectToVisible(rect);    
+	}
+
+	/* not currently used */
+	public void deleteRow(int index){           
+	    if (index < attributes.size() && index >=0){
+		Attribute attr = (Attribute)attributes.get(index);          
+		if (attr.isRequired()){
+		    JOptionPane.showMessageDialog(null,Dictionary.get("GEMS.Attribute_Deletion_Error_Message"), Dictionary.get("GEMS.Attribute_Deletion_Error"),JOptionPane.ERROR_MESSAGE);
+		    return;
+		}
+
+		// 		int result = JOptionPane.showOptionDialog(null, Dictionary.get("GEMS.Confirm_Removal", Dictionary.get("GEMS.Attribute") + " " +  Dictionary.get("GEMS.Cannot_Undo")), Dictionary.get("GEMS.Confirm_Removal_Title"), JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE,null,GEMSConstants.DIALOG_OPTIONS,GEMSConstants.DIALOG_OPTIONS[0] );
+         	
+		//if (result !=JOptionPane.OK_OPTION) return;
+		notifyListeners(attr);
+		attributes.remove(index);
+		fireTableDataChanged();  
+	    }
+	
+	}
+    
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/DeleteMetadataSetPrompt.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/DeleteMetadataSetPrompt.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/DeleteMetadataSetPrompt.java	(revision 21123)
@@ -0,0 +1,281 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gems;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Vector;
+import java.util.HashMap;
+
+
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.gui.ModalDialog;
+import org.greenstone.gatherer.gui.GLIButton;
+
+public class DeleteMetadataSetPrompt 
+    extends ModalDialog { 
+
+    static private Dimension SIZE = new Dimension(500, 500);
+        
+    private ArrayList available_metadata_sets;
+    private ArrayList listeners;
+
+    private JCheckBox confirmation = null;
+    private JButton delete_button = null;
+    private JButton close_button = null;    
+    private JList available_set_list = null;
+    /** The model behind the list. */
+    private DefaultListModel list_model = null;
+    private JTextArea description_textarea = null;
+    private DeleteMetadataSetPrompt self;
+    private MetadataSetManager meta_manager;
+  
+    public DeleteMetadataSetPrompt(Frame parent,MetadataSetManager msm) {
+	super(parent, true);
+        self = this;
+	meta_manager = msm;
+        listeners = new ArrayList();      
+
+	setSize(SIZE);
+	setTitle(Dictionary.get("GEMS.DeleteMetadataSetPrompt.Title"));
+   
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setOpaque(true);
+	content_pane.setComponentOrientation(Dictionary.getOrientation());
+
+	JLabel available_metadata_sets_label = new JLabel(Dictionary.get("GEMS.DeleteMetadataSetPrompt.Available_Sets"));
+	available_metadata_sets_label.setOpaque(true);
+        available_metadata_sets_label.setComponentOrientation(Dictionary.getOrientation());
+	
+	list_model = new DefaultListModel();
+	
+        available_set_list = new JList();
+	available_set_list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+	available_set_list.setModel(list_model);
+	available_set_list.setCellRenderer(new MetadatSetListCellRenderer()); 
+	available_set_list.setFixedCellHeight(20);
+	available_set_list.addListSelectionListener(new MetadataSetListSelectionListener());
+        available_set_list.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel set_pane = new JPanel();
+        set_pane.setComponentOrientation(Dictionary.getOrientation());
+        set_pane.setLayout(new BorderLayout());
+        set_pane.add(available_metadata_sets_label,BorderLayout.NORTH);
+	set_pane.add(new JScrollPane(available_set_list),BorderLayout.CENTER);
+
+
+	JLabel metadata_set_des_label = new JLabel(Dictionary.get("GEMS.Set_Description"));
+	metadata_set_des_label.setOpaque(true);
+
+	description_textarea = new JTextArea();
+        description_textarea.setOpaque(true);
+        description_textarea.setEditable(false);
+        description_textarea.setLineWrap(true); 
+        description_textarea.setWrapStyleWord(true);
+	description_textarea.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel des_pane = new JPanel();
+        des_pane.setComponentOrientation(Dictionary.getOrientation());
+        des_pane.setLayout(new BorderLayout());
+        des_pane.add(metadata_set_des_label,BorderLayout.NORTH);
+	des_pane.add(new JScrollPane(description_textarea),BorderLayout.CENTER);
+	
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	delete_button = new GLIButton(Dictionary.get("GEMS.DeleteMetadataSetPrompt.Delete"), Dictionary.get("GEMS.DeleteMetadataSetPrompt.Delete_Tooltip"));
+	delete_button.setEnabled(false);
+	
+
+	confirmation = new JCheckBox(Dictionary.get("GEMS.DeleteMetadataSetPrompt.Confirm_Delete"));
+	confirmation.setEnabled(false);
+	confirmation.setSelected(false);
+        confirmation.setComponentOrientation(Dictionary.getOrientation());
+        
+	close_button = new GLIButton(Dictionary.get("General.Close"), Dictionary.get("General.Close_Tooltip"));
+	close_button.setEnabled(true);
+
+	confirmation.addActionListener(new ActionListener() {
+		public void actionPerformed(ActionEvent event) {
+		    delete_button.setEnabled(confirmation.isSelected());
+		    //confirmation.setEnabled(false);
+		    //confirmation.setSelected(false);
+		}
+	    });
+
+	// Add listeners
+	delete_button.addActionListener(new DeleteButtonListener());
+	
+	close_button.addActionListener(new ActionListener() {
+		public void actionPerformed(ActionEvent event) {
+		    self.dispose();
+		}
+	    });
+
+       
+	button_pane.setLayout(new GridLayout(1,2));
+	button_pane.add(delete_button);
+	button_pane.add(close_button);
+
+        JPanel bottom_pane = new JPanel();
+        bottom_pane.setComponentOrientation(Dictionary.getOrientation());
+        bottom_pane.setLayout(new BorderLayout());
+	bottom_pane.add(confirmation,BorderLayout.NORTH);
+	bottom_pane.add(button_pane, BorderLayout.CENTER);
+
+
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(set_pane, BorderLayout.NORTH);
+	content_pane.add(des_pane, BorderLayout.CENTER);
+	content_pane.add(bottom_pane, BorderLayout.SOUTH);
+	
+	// Show
+	Dimension screen_size = Configuration.screen_size;
+	setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	setVisible(false);
+    }
+
+      
+    public void display() {
+	available_metadata_sets = meta_manager.getAvailableMetadataSets();
+	for (int i=0; i<available_metadata_sets.size(); i++) {
+	    list_model.addElement(available_metadata_sets.get(i));
+	}
+	//available_set_list.setListData(new Vector((Collection)available_metadata_sets));
+	delete_button.setEnabled(false);
+	confirmation.setEnabled(false);
+	confirmation.setSelected(false);
+       	setVisible(true); 
+        
+    }
+
+
+    /** The Delete button listener implementation. */
+    private class DeleteButtonListener 
+	implements ActionListener {
+	/** Any implementation of ActionListener must include this method so we can be informed when the button is actioned.
+	 * @param event An <strong>ActionEvent</strong> containing all the relevant information garnered from the event itself.
+	 * @see org.greenstone.gatherer.Configuration
+	 * @see org.greenstone.gatherer.Gatherer
+	 * @see org.greenstone.gatherer.util.Utility
+	 */
+	public void actionPerformed(ActionEvent event) {
+	    // Delete the selected MetadataSet.
+	    Object selectedValue = available_set_list.getSelectedValue();
+		
+	    if (selectedValue !=null && (selectedValue instanceof MetadataSetInfo)){
+		((MetadataSetInfo)selectedValue).deleteMetadataSet();
+		list_model.removeElement(selectedValue);
+	    }
+	    delete_button.setEnabled(false);
+	    confirmation.setEnabled(false);
+	    confirmation.setSelected(false);
+	    description_textarea.setText(Dictionary.get("GEMS.DeleteMetadataSetPrompt.No_Set"));
+	    //self.dispose();
+	}
+
+    }
+
+
+    private class MetadatSetListCellRenderer extends JLabel implements ListCellRenderer {
+	public MetadatSetListCellRenderer() {
+	    setOpaque(true);
+            this.setComponentOrientation(Dictionary.getOrientation());
+	}
+	
+	public Component getListCellRendererComponent(JList list,
+						      Object value,
+						      int index,
+						      boolean isSelected,
+						      boolean cellHasFocus)
+	{
+	    String name= "unknown";
+
+	    if (value instanceof MetadataSetInfo){
+		MetadataSetInfo meta_info = (MetadataSetInfo) value;
+		name = meta_info.getMetadataSetName(); 
+	    }
+  
+            setText(name);
+            if (isSelected) {
+		setBackground(list.getSelectionBackground());
+		setForeground(list.getSelectionForeground());
+	    }
+	    else {
+		setBackground(list.getBackground());
+		setForeground(list.getForeground());
+	    }
+	              
+	    return this;
+	}
+    }
+
+   
+    private class MetadataSetListSelectionListener implements ListSelectionListener  {
+        public void valueChanged(ListSelectionEvent lse){
+	    if (lse.getValueIsAdjusting()) return;
+	    
+	    delete_button.setEnabled(false);
+	   
+	    Object selectedValue = available_set_list.getSelectedValue();
+
+            if (selectedValue !=null && (selectedValue instanceof MetadataSetInfo)){
+                MetadataSetInfo meta_info = (MetadataSetInfo)selectedValue; 
+		description_textarea.setText(meta_info.getMetadataSetDescription());
+		confirmation.setEnabled(true);
+		confirmation.setSelected(false);
+	    }
+	    else {
+		confirmation.setEnabled(false);
+		description_textarea.setText(Dictionary.get("GEMS.DeleteMetadataSetPrompt.No_Set"));
+	    }      
+
+	}
+    }
+    
+
+    
+    public void addMetadataSetListener(MetadataSetListener msl){
+        listeners.add(msl);  
+    }
+
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/GEMS.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/GEMS.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/GEMS.java	(revision 21123)
@@ -0,0 +1,583 @@
+ /**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at th * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################## ##########################
+ */
+package org.greenstone.gatherer.gems;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import javax.swing.*;
+import java.lang.String;
+import javax.swing.event.*;
+import javax.swing.filechooser.*;
+import javax.swing.text.*;
+import javax.swing.tree.*;
+import java.awt.*;
+import java.awt.event.*;
+
+import java.io.File;
+
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.GetOpt;
+import org.greenstone.gatherer.gui.GComboBox;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.gui.HelpFrame;
+import org.greenstone.gatherer.gui.ModalDialog;
+import org.greenstone.gatherer.gui.NonWhitespaceField;
+import org.greenstone.gatherer.util.Codec;
+import org.greenstone.gatherer.util.JarTools;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.util.XMLTools;
+import org.greenstone.gatherer.Dictionary;
+import org.w3c.dom.*;
+
+
+/* 
+ * @author Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ * @version 2.4
+ */ 
+public class GEMS
+    extends JFrame implements WindowFocusListener 
+{
+ 
+    static final private Dimension SIZE = new Dimension(800,550);
+
+    // we have a card pane to switch between the no set loaded view, and the 
+    // set loaded view
+    private CardLayout card_layout = null;
+    private JPanel card_pane = null;
+    /** The name of the panel containing the "set loaded" card. */
+    private String SET_LOADED_CARD = "";
+    /** The name of the panel containing the "no set loaded" placeholder */
+    private String NO_SET_LOADED_CARD = "No set loaded";
+
+    private GEMS self = null;
+
+    private OpenMetadataSetPrompt open_prompt;
+    private DeleteMetadataSetPrompt delete_prompt;
+    private NewMetadataSetPrompt new_prompt;   
+    
+    // this is the main panel that gets switched in once a set is loaded
+    private JSplitPane metadata_set_details_split_pane = null;
+    // this is the split with the attribute tables in it
+    private JSplitPane attribute_tables_split_pane = null;
+     
+    /** Um, the size of the screen I'd guess. */
+    private Dimension screen_size = null;
+    
+    private MetadataSetManager msm;
+
+    private AttributeTable attribute_table;  // meta_element_table
+    private AttributeTable language_dependent_attribute_table; //lang_element_table; 
+
+    private MetadataSetTree meta_set_tree;     
+
+    private MetadataSetModel metadata_set_model;
+
+    private boolean stand_alone = true;
+
+    private ArrayList listeners;
+
+    static public void main(String[] args)
+    {
+	//TODO: add an option to open a paticular metadata set
+
+	// Parse arguments
+	GetOpt go = new GetOpt(args);
+
+	if (go.debug) {
+	    DebugStream.enableDebugging();
+
+	    Calendar now = Calendar.getInstance();
+	    String debug_file_path = "debug" + now.get(Calendar.DATE) + "-" + now.get(Calendar.MONTH) + "-" + now.get(Calendar.YEAR) + ".txt";
+	    
+	    // Debug file is created in the GLI directory
+	    DebugStream.println("Debug file path: " + debug_file_path);
+	    DebugStream.setDebugFile(debug_file_path);   
+
+	}
+
+	  new GEMS(go.gsdl_path,go.gsdl3_path,go.metadata_path,true,go.new_set);
+       
+    }
+
+
+    /** Constructor.
+     */
+    public GEMS(String gsdl_path, String gsdl3_path, String metadata_path, boolean standalone, boolean new_set)
+    {
+	self = this;
+	JarTools.initialise(this);        
+	screen_size = Configuration.screen_size;
+        msm = new MetadataSetManager(gsdl_path,gsdl3_path);       
+        stand_alone = standalone;
+	listeners = new ArrayList();
+
+        addWindowListener(new WindowAdapter(){
+		public void windowClosing(WindowEvent e){
+		    metadata_set_model.save(true);
+		    if (stand_alone){
+			System.exit(0);
+		    }
+		    else {
+			notifyListeners();
+			setVisible(false);
+		    }
+		}
+	    });
+	
+	setSize(SIZE);
+	setTitle(Dictionary.get("GEMS.Title"));
+	setJMenuBar(new GEMSMenuBar());
+
+	addWindowFocusListener(this);
+
+	card_layout = new CardLayout();
+	card_pane = new JPanel();
+
+        metadata_set_model = new MetadataSetModel(msm);
+        msm.setMetadataSetModel(metadata_set_model);
+	meta_set_tree = new MetadataSetTree(self);
+        metadata_set_model.addObserver(meta_set_tree);
+
+	attribute_table = new AttributeTable(false);
+	MetadataElementModel mem = new MetadataElementModel();
+        mem.addMetadataElementListener((MetadataElementListener)attribute_table);
+	attribute_table.addAttributeListener(metadata_set_model);
+
+	language_dependent_attribute_table = new AttributeTable(true);
+        mem.addMetadataElementListener((MetadataElementListener)language_dependent_attribute_table);
+	language_dependent_attribute_table.addAttributeListener(metadata_set_model);
+
+      	MetadataSetInfo msti= new MetadataSetInfo();
+        msti.addMetadataSetListener((MetadataSetListener)attribute_table);
+        msti.addMetadataSetListener((MetadataSetListener)language_dependent_attribute_table);
+        msti.setMetadataSetModel(metadata_set_model);
+        
+        open_prompt = new OpenMetadataSetPrompt(self,msm);
+        open_prompt.addMetadataSetListener((MetadataSetListener)metadata_set_model);
+        open_prompt.addMetadataSetListener((MetadataSetListener)attribute_table);        
+	open_prompt.addMetadataSetListener((MetadataSetListener)language_dependent_attribute_table); 	
+	
+        delete_prompt = new DeleteMetadataSetPrompt(self,msm);
+        delete_prompt.addMetadataSetListener((MetadataSetListener)metadata_set_model); 
+        delete_prompt.addMetadataSetListener((MetadataSetListener)attribute_table);
+	delete_prompt.addMetadataSetListener((MetadataSetListener)language_dependent_attribute_table);
+	
+        new_prompt = new NewMetadataSetPrompt(self,msm);
+        new_prompt.addMetadataSetListener((MetadataSetListener)metadata_set_model); 
+        new_prompt.addMetadataSetListener((MetadataSetListener)attribute_table);
+        new_prompt.addMetadataSetListener((MetadataSetListener)language_dependent_attribute_table);
+  
+
+        // load the initial metadataset
+        if (metadata_path !=null && !metadata_path.equals("")){
+	    open_prompt.openMetadataSet(metadata_path);
+	}
+	else{
+	    if (new_set) new_prompt.display();
+	}
+
+	// the set tree
+        JScrollPane treePane = new JScrollPane(meta_set_tree);
+	// the language independent attributes
+	JScrollPane tablePane = new JScrollPane(attribute_table);
+	// the language dependent attributes
+	JScrollPane langTablePane =  new JScrollPane(language_dependent_attribute_table);
+
+	// no set loaded pane
+	JPanel no_set_loaded_pane = new JPanel();
+	no_set_loaded_pane.setBackground(Color.lightGray);
+	JLabel no_set_loaded_label = new JLabel(Dictionary.get("GEMS.No_Set_Loaded"));
+	no_set_loaded_label.setHorizontalAlignment(JLabel.CENTER);
+	no_set_loaded_label.setVerticalAlignment(JLabel.CENTER);
+
+	no_set_loaded_pane.setLayout(new BorderLayout());
+	no_set_loaded_pane.add(no_set_loaded_label, BorderLayout.CENTER);
+
+        JPanel buttonPane = new JPanel(new GridLayout(1,2));
+        
+        JButton arrow_up_button = new GLIButton(Dictionary.get("GEMS.Move_Up"));
+	arrow_up_button.setIcon(JarTools.getImage("arrow-up.gif"));
+
+        JButton arrow_down_button = new GLIButton(Dictionary.get("GEMS.Move_Down"));
+	arrow_down_button.setIcon(JarTools.getImage("arrow-down.gif")); 
+        
+        arrow_up_button.setActionCommand(GEMSConstants.MOVE_UP);
+	arrow_up_button.addActionListener(meta_set_tree);
+        arrow_down_button.addActionListener(meta_set_tree);
+	arrow_down_button.setActionCommand(GEMSConstants.MOVE_DOWN);
+	
+	buttonPane.add(arrow_up_button);
+        buttonPane.add(arrow_down_button);
+        
+        JPanel leftPane =  new JPanel(new BorderLayout());          
+        leftPane.add(treePane,BorderLayout.CENTER);  
+	leftPane.add(buttonPane,BorderLayout.SOUTH);  
+         
+	JLabel selected_language_label = new JLabel(Dictionary.get("GEMS.SelectedLanguage"));
+	selected_language_label.setOpaque(true);
+        
+	Vector language_vector = new Vector(msm.getLanguageList());
+        language_vector.add(0, Dictionary.get("GEMS.Language"));
+	JComboBox language_combo = new JComboBox(language_vector);
+	
+	language_combo.addActionListener(new ActionListener(){
+		public void actionPerformed(ActionEvent e){
+		    JComboBox language_combo = (JComboBox) e.getSource();
+		    String langInfo = (String)language_combo.getSelectedItem(); 
+		    if (!langInfo.equals(Dictionary.get("GEMS.Language"))) {
+			String lang = langInfo.split("\\s")[0];     		    
+			language_dependent_attribute_table.addNewLanguage(lang);
+		    }
+		}
+
+	    });      
+
+       	JLabel language_label = new JLabel(Dictionary.get("GEMS.LanguageDependent"));
+	language_label.setOpaque(true);
+      
+         	
+	JPanel selectLangPane = new JPanel(new BorderLayout(5,5));
+        selectLangPane.add(selected_language_label,BorderLayout.WEST);
+        selectLangPane.add(language_combo, BorderLayout.CENTER);   
+
+
+        JPanel languagePane =  new JPanel(new BorderLayout(5,5));
+	languagePane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	languagePane.add(language_label,BorderLayout.NORTH);  
+        languagePane.add(selectLangPane,BorderLayout.CENTER);        
+
+
+        JPanel languageAttributePane =  new JPanel(new BorderLayout());
+	languageAttributePane.add(languagePane,BorderLayout.NORTH);  
+        languageAttributePane.add(langTablePane,BorderLayout.CENTER);        
+
+	JLabel attribute_label = new JLabel(Dictionary.get("GEMS.Attribute_Table"));
+	attribute_label.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	JPanel mainAttributePane = new JPanel(new BorderLayout());
+	mainAttributePane.add(attribute_label, BorderLayout.NORTH);
+	mainAttributePane.add(tablePane, BorderLayout.CENTER);
+	
+	attribute_tables_split_pane = new JSplitPane(JSplitPane.VERTICAL_SPLIT,mainAttributePane,languageAttributePane);
+	
+	metadata_set_details_split_pane =  new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,leftPane,attribute_tables_split_pane); 	
+
+	card_pane.setLayout(card_layout);
+	card_pane.add(no_set_loaded_pane, NO_SET_LOADED_CARD);
+	card_pane.add(metadata_set_details_split_pane, SET_LOADED_CARD);
+
+	getContentPane().add(card_pane,BorderLayout.CENTER);
+	setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	if (stand_alone)
+	    setVisible(true);
+    }
+
+    public void setVisible(boolean visible) {
+	super.setVisible(visible);
+	if (visible) {
+	    attribute_tables_split_pane.setDividerLocation(0.3);
+	}
+    }
+    
+    // called from GLI
+    public void displayMetadataSet(String metadata_path){
+	open_prompt.openMetadataSet(metadata_path);
+	updateCardLayout(true);
+	setVisible(true);
+    }   
+
+    // called from GLI
+    public void newMetadataSet(){
+	new_prompt.display();
+	if (!new_prompt.isCancelled()) {
+	    updateCardLayout(true);
+	    setVisible(true);
+	}
+
+    }
+
+    public void addGEMSListener(GEMSListener listener){
+	listeners.add(listener);
+    }  
+
+    public void removeGEMSListener(GEMSListener listener){
+	listeners.remove(listener);
+    }  
+
+    public void notifyListeners(){
+	for (int i=0;i<listeners.size();i++){
+	    GEMSListener listener = (GEMSListener) listeners.get(i); 
+	    listener.gemsIsClosed();
+	}
+    }
+
+
+    public void exit(){
+	//clean up things
+	cleanUpListeners();
+    }
+    
+    protected void cleanUpListeners() {
+	MetadataSetInfo msti= new MetadataSetInfo();
+	msti.removeAllMetadataSetListeners();
+	MetadataElementModel mem= new MetadataElementModel();
+	mem.removeAllMetadataElementListeners();
+
+    }
+    
+    public void windowGainedFocus(WindowEvent e) {
+	//System.out.println("windowGainedFocus.");
+    }
+
+    public void windowLostFocus(WindowEvent e) {
+        //System.out.println("windowLostFocus.");
+          
+	//save stuff
+	
+    }
+
+    protected void updateCardLayout(boolean set_loaded) {
+	if (set_loaded) {
+	    card_layout.show(card_pane, SET_LOADED_CARD);
+	} else {
+	    card_layout.show(card_pane, NO_SET_LOADED_CARD);
+	}
+    }
+   
+    private class GEMSMenuBar
+	extends JMenuBar
+	implements ActionListener
+    {
+	private JMenu file = null;
+	private JMenu edit = null;
+
+	public JMenuItem file_exit   = null;
+	public JMenuItem file_new    = null;
+	public JMenuItem file_open   = null;
+	public JMenuItem file_close   = null;
+	public JMenuItem file_save   = null;
+	public JMenuItem edit_copy   = null;
+	public JMenuItem edit_cut    = null;
+	public JMenuItem edit_paste  = null;
+	public JMenuItem help_help   = null;
+        public JMenuItem file_delete = null;
+        //public JMenuItem file_preferences = null;
+	public GEMSMenuBar()
+	{
+	    file = new JMenu();
+	    file.setText(Dictionary.get("Menu.File"));
+	    
+	    file_exit = new JMenuItem(Dictionary.get("Menu.File_Exit"));
+	    file_exit.addActionListener(this);
+	    
+	    file_new = new JMenuItem(Dictionary.get("Menu.File_New"));
+	    file_new.addActionListener(this);
+
+	    file_open = new JMenuItem(Dictionary.get("Menu.File_Open"));
+	    file_open.addActionListener(this);
+	    
+	    file_close = new JMenuItem(Dictionary.get("Menu.File_Close"));
+	    file_close.addActionListener(this);
+
+	    file_save = new JMenuItem(Dictionary.get("Menu.File_Save"));
+	    file_save.addActionListener(this);
+   
+            file_delete = new JMenuItem(Dictionary.get("Menu.File_Delete"));
+	    file_delete.addActionListener(this);
+	                
+            //file_preferences = new JMenuItem(Dictionary.get("Menu.File_Options"));
+	    //file_preferences.addActionListener(this);
+	    
+	    if (!stand_alone) {
+		// when running from GLI, we disable most of the menu so 
+		// that we have control over what sets the user is editing
+		file_new.setEnabled(false);
+		file_open.setEnabled(false);
+		file_close.setEnabled(false);
+		file_delete.setEnabled(false);
+	    }
+	    
+	    // Layout (file menu)
+	    file.add(file_new);
+	    file.add(file_open);
+	    file.add(file_close);
+	    file.add(file_save);
+            file.add(file_delete);
+	    file.add(new JSeparator());
+            //file.add(file_preferences);
+            //file.add(new JSeparator());
+	    file.add(file_exit);
+            
+	    // Edit menu
+	    edit = new JMenu();
+	    edit.setText(Dictionary.get("Menu.Edit"));
+	    
+	    edit_cut = new JMenuItem(Dictionary.get("Menu.Edit_Cut"));
+	    edit_cut.addActionListener(this);
+	    
+	    edit_copy = new JMenuItem(Dictionary.get("Menu.Edit_Copy"));
+	    edit_copy.addActionListener(this);
+	    
+	    edit_paste = new JMenuItem(Dictionary.get("Menu.Edit_Paste"));
+	    edit_paste.addActionListener(this);
+	    
+	    // Layout (edit menu)
+	    edit.add(edit_cut);
+	    edit.add(edit_copy);
+	    edit.add(edit_paste);
+
+	
+	    // Layout (menu bar)
+	    this.add(file);
+	    this.add(Box.createHorizontalStrut(15));
+	    this.add(edit);
+	    this.add(Box.createHorizontalGlue());
+	    //this.add(help);
+	}
+
+
+	public void actionPerformed(ActionEvent event)
+	{
+	    Object event_source = event.getSource();
+
+	    // File -> New
+	    if (event_source == file_new) {
+		new_prompt.display();
+		if (!new_prompt.isCancelled()) {
+		    updateCardLayout(true);
+		}
+ 		return;
+	    }
+
+	    // File -> Open
+	    if (event_source == file_open) {               
+		open_prompt.display();
+		if (!open_prompt.isCancelled()) {
+		    updateCardLayout(true);
+		}
+		return;
+	    }
+
+	    // File -> Close
+	    if (event_source == file_close) {
+		metadata_set_model.save(true); 
+		updateCardLayout(false);
+		return;
+	    }
+              // File -> Delete
+	    if (event_source == file_delete) {               
+                delete_prompt.display();
+		return;
+	    }
+
+
+	    // File -> Save
+	    if (event_source == file_save) {
+		metadata_set_model.save(false);
+		return;
+	    }        
+
+	    // File -> Exit
+	    if (event_source == file_exit) {
+               	metadata_set_model.save(true); 
+		if (stand_alone){
+		    System.exit(0);
+		}
+		else {
+		    self.notifyListeners();
+		    self.setVisible(false);
+		    return;
+		}
+	    }
+
+	    /// File -> Preferences
+	    // if(event_source == file_preferences){
+		// GEMSPreferences GemsPreferences = new GEMSPreferences();  
+            //}
+
+	    // Edit -> Cut
+	    if (event_source == edit_cut) {
+		try {
+		    KeyboardFocusManager kfm = KeyboardFocusManager.getCurrentKeyboardFocusManager();
+		    // Get the component with selected text as a JTextComponent
+		    JTextComponent text = (JTextComponent) kfm.getPermanentFocusOwner();
+		    // Cut the text to the clipboard
+		    text.cut();
+		}
+		catch (ClassCastException cce) {
+		    // If the component is not a text component ignore the cut command
+		    DebugStream.println(cce.toString());
+		}
+		return;
+	    }
+
+	    // Edit -> Copy
+	    if (event_source == edit_copy) {
+		try {
+		    KeyboardFocusManager kfm = KeyboardFocusManager.getCurrentKeyboardFocusManager();
+		    // Get the component with selected text as a JTextComponent
+		    JTextComponent text = (JTextComponent) kfm.getPermanentFocusOwner();//getFocusOwner();
+		    text.copy();
+		}
+		catch (Exception cce) {
+		    // If the component is not a text component ignore the copy command
+		    DebugStream.println(cce.toString());
+		}
+		return;
+	    }
+
+	    // Edit -> Paste
+	    if (event_source == edit_paste) {
+		try {
+		    KeyboardFocusManager kfm = KeyboardFocusManager.getCurrentKeyboardFocusManager();
+		    // Get the component with selected text as a JTextComponent
+		    JTextComponent text = (JTextComponent) kfm.getPermanentFocusOwner();
+		    // Cut the text to the clipboard
+		    text.paste();
+		}
+		catch (ClassCastException cce) {
+		    // If the component is not a text component ignore the paste command
+		    DebugStream.println(cce.toString());
+		}
+		return;
+	    }
+	  
+	}
+    }
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/GEMSConstants.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/GEMSConstants.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/GEMSConstants.java	(revision 21123)
@@ -0,0 +1,94 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gems;
+
+import org.greenstone.gatherer.Dictionary;
+
+public class GEMSConstants
+{
+    
+    static String NAMESPACE_ATTRIBUTE = "namespace";
+    static String NAME_ATTRIBUTE = "name";
+    static String DESCRIPTION_ATTRIBUTE = "description";
+    static String CODE_ATTRIBUTE = "code";
+    static String LANGUAGE_ATTRIBUTE = "language";
+    static String SET_LANGUAGE_ELEMENT = "SetLanguage";
+    static String LANGUAGE_ELEMENT = "Language";
+    static String NAME_ELEMENT = "Name";
+    static String DESCRIPTION_ELEMENT = "Description";
+    static String DEFAULT_LANGUAGE ="en";
+    static String ATTRIBUTE_ELEMENT="Attribute";
+    static String ELEMENT_ELEMENT="Element";  
+    static String METADATASET_ELEMENT="MetadataSet"; 
+    static String ADD_ATTRIBUTE = "addAttribute";
+    static String DELETE_ATTRIBUTE = "deleteAttribute";
+    static String ADD_ELEMENT = "addElement";
+    static String ADD_SUBELEMENT = "addSubElement";
+    static String DELETE_ELEMENT = "deleteElement";
+    static int METADATA_INFO = 0;
+    static int METADATA_ELEMENT = 0;
+    static String NEW_ELEMENT = "ELEMENT";
+    static String MOVE_UP = "moveUp";
+    static String MOVE_DOWN = "moveDown"; 
+    static String EXTRACTED_METADATA_NAMESPACE = "ex";
+
+    static String[] SET_REQUIRED_ATTRIBUTES = new String[]{"contact","creator","family","lastchanged","namespace"};
+    static String[] SET_LANG_DEPEND_ATTR_NAMES = new String[]{"name","description"};
+
+    static String UNKNOWN_NAME="unknown";  
+
+    static String MATADATASET_NAME="MetadataSet";
+    
+    static String SYSTEM_ID = "http://www.greenstone.org/dtd/MetadataSet/1.0/MetadataSet.dtd";
+
+    static String[] DIALOG_OPTIONS = new String[]{Dictionary.get("General.OK"),Dictionary.get("General.Cancel")};
+
+    static String LABEL_ATTRIBUTE = "label";
+    static String DEFINITION_ATTRIBUTE = "definition";
+    static String COMMENT_ATTRIBUTE = "comment";
+
+    static String [] ELEMENT_REQUIRED_ATTRIBUTES = new String[] {"name"};
+    
+    static String [] ELEMENT_LANG_DEPEND_ATTR_NAMES = new String[] {LABEL_ATTRIBUTE, DEFINITION_ATTRIBUTE, COMMENT_ATTRIBUTE};
+
+    static String [] ATTRIBUTES_COLUMN_NAMES = new String [] {
+	Dictionary.get("GEMS.AttributeTable.Name"), Dictionary.get("GEMS.AttributeTable.Value")};
+    static String [] LANG_DEPENDENT_ATTRIBUTES_COLUMN_NAMES = new String [] {
+	Dictionary.get("GEMS.AttributeTable.Name"), Dictionary.get("GEMS.AttributeTable.Language"), Dictionary.get("GEMS.AttributeTable.Value")};
+
+    static String METADATA_SET_FILE_EXTENSION = ".mds";
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/GEMSListener.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/GEMSListener.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/GEMSListener.java	(revision 21123)
@@ -0,0 +1,43 @@
+
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at th * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################## ##########################
+ */
+package org.greenstone.gatherer.gems;
+
+public interface GEMSListener{
+
+    public void gemsIsClosed();
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataElementEvent.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataElementEvent.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataElementEvent.java	(revision 21123)
@@ -0,0 +1,50 @@
+
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at th * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################## ##########################
+ */
+package org.greenstone.gatherer.gems;
+
+public class MetadataElementEvent{
+    private MetadataElementModel meta_element;
+
+    public MetadataElementEvent(MetadataElementModel mee){
+	meta_element = mee;
+
+    }
+
+    public MetadataElementModel getMetadataElementModel(){
+	return  meta_element;
+    } 
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataElementListener.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataElementListener.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataElementListener.java	(revision 21123)
@@ -0,0 +1,43 @@
+
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at th * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################## ##########################
+ */
+package org.greenstone.gatherer.gems;
+
+public interface MetadataElementListener{
+
+    public void metadataElementChanged(MetadataElementEvent mse);
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataElementModel.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataElementModel.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataElementModel.java	(revision 21123)
@@ -0,0 +1,350 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gems;
+
+import org.greenstone.gatherer.util.XMLTools;
+import org.greenstone.gatherer.Configuration;
+
+import org.w3c.dom.Document;
+import  org.w3c.dom.Element;
+import  org.w3c.dom.Text;
+import  org.w3c.dom.Node;
+
+import java.util.Observable ;
+import java.util.HashMap;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+/**
+ * @author Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ * @version 2.4
+ */
+public class MetadataElementModel
+    extends AttributeContainer 
+{
+    private Element metadata_element;
+    private ArrayList children;
+    private MetadataElementModel parent;
+    private static ArrayList listeners = new ArrayList(); 
+    private MetadataSetInfo metadataSetInfo;
+    private String name;
+    private static int count = 0;    
+    
+    public MetadataElementModel(){}
+    
+    // do we need this one?
+    public MetadataElementModel(MetadataSetInfo info){
+	this(info, null);
+    }
+    
+    public MetadataElementModel(MetadataSetInfo info, String new_name){
+	super(null, GEMSConstants.ELEMENT_LANG_DEPEND_ATTR_NAMES);
+	required_attribute_names = GEMSConstants.ELEMENT_REQUIRED_ATTRIBUTES;
+	metadataSetInfo = info;
+	children = new ArrayList(); 
+	if (new_name != null) {
+	    name = new_name;       
+	} else {
+	    name = GEMSConstants.NEW_ELEMENT+(count++);  
+	}
+	// add name in as an attribute - lang independent
+	Attribute attr = new Attribute(GEMSConstants.NAME_ATTRIBUTE, name, true);
+	attributes.add(attr);
+	// also add in a default label attribute
+	attr = getAttributeByNameAndLanguage(GEMSConstants.LABEL_ATTRIBUTE, Configuration.getLanguage());
+	attr.setValue(name);
+
+    }
+     
+    public MetadataElementModel(Element metadataElement, MetadataSetInfo info){
+	super(null, null);
+	required_attribute_names = GEMSConstants.ELEMENT_REQUIRED_ATTRIBUTES;
+	language_dependent_attribute_names = GEMSConstants.ELEMENT_LANG_DEPEND_ATTR_NAMES;
+	metadataSetInfo = info;
+	metadata_element = metadataElement;
+	
+	children = new ArrayList(); 
+	
+	constructModel(metadata_element);     
+	
+	ArrayList child_elements =XMLTools.getChildElementsByTagName(metadata_element,GEMSConstants.ELEMENT_ELEMENT);
+	
+	for(int i=0;i<child_elements.size();i++){    
+	    Element element = (Element)child_elements.get(i);
+	    MetadataElementModel submodel = new MetadataElementModel(element,metadataSetInfo); 
+	    submodel.setParent(this);    
+	    children.add(submodel);
+	}
+    }
+    
+    private void constructModel(Element meta_element){
+	name = meta_element.getAttribute(GEMSConstants.NAME_ATTRIBUTE);
+	
+	// add name in as an attribute - the only lang independent one
+	Attribute attr = new Attribute(GEMSConstants.NAME_ATTRIBUTE, name, true);
+	attributes.add(attr);
+
+	// common attributes
+	ArrayList attribute_nodes =XMLTools.getChildElementsByTagName(metadata_element,GEMSConstants.ATTRIBUTE_ELEMENT);
+	  
+	for(int i=0;i< attribute_nodes.size();i++){
+	    Element attr_element = (Element)attribute_nodes.get(i);
+	    String name = attr_element.getAttribute(GEMSConstants.NAME_ATTRIBUTE).trim();
+	     
+	    String value =  XMLTools.getElementTextValue(attr_element);
+	    attr = new Attribute(name,value);
+	    String lang = attr_element.getAttribute(GEMSConstants.LANGUAGE_ATTRIBUTE);
+	    if (lang.equals("")) {
+		// lang independent
+		attr.setRequired(isAttributeRequired(name));
+		attributes.add(attr);
+	    } else {
+		attr.setLanguage(lang);
+		attr.setRequired(isLangDependentAttributeRequired(name));
+		language_dependent_attributes.add(attr);
+	    }  
+	}
+	
+	//language specific attribute  
+	ArrayList language_elements =XMLTools.getChildElementsByTagName(metadata_element,GEMSConstants.LANGUAGE_ELEMENT);
+	  
+	for(int i=0;i< language_elements.size();i++){
+	    Element language_element = (Element)language_elements.get(i);
+	    String lang = language_element.getAttribute(GEMSConstants.CODE_ATTRIBUTE);
+	    //Attribute element
+	    ArrayList subattributes =XMLTools.getChildElementsByTagName(language_element,GEMSConstants.ATTRIBUTE_ELEMENT);
+	      
+	    for(int j=0;j< subattributes.size();j++){
+		Element attr_element = (Element)subattributes.get(j);
+		String name = attr_element.getAttribute(GEMSConstants.NAME_ATTRIBUTE).trim();
+		String value =  XMLTools.getElementTextValue(attr_element);
+		attr = new Attribute(name,value, isLangDependentAttributeRequired(name));
+		attr.setLanguage(lang);
+		language_dependent_attributes.add(attr);			    
+	    }
+	      
+	}
+	  
+    }
+      
+    public void addMetadataElementListener(MetadataElementListener msl){
+	if (!listeners.contains(msl))
+	    listeners.add(msl);   
+    }
+      
+
+    public void removeMetadataElementListener(MetadataElementListener msl){
+	listeners.remove(msl);   
+    } 
+      
+    public void removeAllMetadataElementListeners(){
+	listeners.clear();
+    }
+     
+      
+    public boolean doesChildWithThisNameExist(String name) {
+	for (int i=0; i<children.size(); i++) {
+	    if (name.equals(((MetadataElementModel)children.get(i)).getName())) {
+		return true;
+	    }
+	}
+	return false;
+    }
+
+
+    public Element getMetadataElement(){
+	return metadata_element;
+    }
+      
+    public void notifyListeners(boolean isDeleted){
+
+	MetadataElementEvent mee = new MetadataElementEvent(this);
+        if (!isDeleted){
+	    mee = new MetadataElementEvent(this);
+	}
+	else{
+	    mee = new MetadataElementEvent(null);
+	}
+	
+	for(int i=0;i<listeners.size();i++){
+	    MetadataElementListener msl = (MetadataElementListener) listeners.get(i);
+            msl.metadataElementChanged(mee);          
+	}
+    }
+
+    public ArrayList getChildElements(){
+	return children;
+    }
+
+    public void addChild(MetadataElementModel child){
+	metadataSetInfo.getMetadataSetModel().setChanged(true);
+	child.setParent(this);
+	children.add(child);
+    }
+
+    public void removeChild(MetadataElementModel element_model){
+	metadataSetInfo.getMetadataSetModel().setChanged(true);
+	children.remove(element_model);
+    }
+      
+    public String getName(){
+	return name;
+    }
+
+    public void setName(String new_name){
+	metadataSetInfo.getMetadataSetModel().setChanged(true);
+	name = new_name;
+              
+	MetadataSetModel metadata_model = metadataSetInfo.getMetadataSetModel();
+	metadata_model.valueChanged();
+    }
+
+    public String getFullName(){
+	if (parent == null){
+	    return metadataSetInfo.getNamespace() +"."+name;
+	}
+	else{
+	    return parent.getFullName() +"^"+ name;
+	}
+    }
+
+    public void setParent(MetadataElementModel pr){
+	parent = pr;
+    }
+
+    public MetadataElementModel getParent(){
+	return parent;
+    }
+
+        
+    public boolean moveUp(MetadataElementModel child){
+	metadataSetInfo.getMetadataSetModel().setChanged(true);
+	int index = children.indexOf(child);
+	if (index-1 >=0){
+	    children.remove(child);
+	    children.add(index-1,child);
+	    return true;
+	}        
+	return false;
+    }
+
+    public boolean moveDown(MetadataElementModel child){
+	metadataSetInfo.getMetadataSetModel().setChanged(true);
+	int index = children.indexOf(child);
+	if (index+1 < children.size()){
+	    children.remove(child);
+	    children.add(index+1,child);
+	    return true;
+	}        
+
+	return false;
+    }
+
+    public void save(){
+	saveElement();
+	 
+	for(int i=0;i<children.size();i++){
+	    MetadataElementModel model = (MetadataElementModel)children.get(i);
+	    model.save();
+	}   
+	    
+    }
+
+
+    private void saveElement(){
+	Document doc = metadataSetInfo.getMetadataSetDocument();        
+
+	Node parent_element = null;
+	  
+	if (parent !=null){
+	    parent_element = parent.getMetadataElement();
+	}
+	else{
+	    parent_element = doc.getDocumentElement();
+	}
+	  
+	  
+	metadata_element = save(doc);
+
+	parent_element.appendChild(metadata_element); 
+	                           
+	    
+    }
+
+
+    private Element save(Document doc){
+	
+	metadata_element = doc.createElement(GEMSConstants.ELEMENT_ELEMENT);
+	metadata_element.setAttribute(GEMSConstants.NAME_ATTRIBUTE,name);
+              
+	//non language dependent attributes
+	for(int i=0;i<attributes.size();i++){
+	    Attribute attr = (Attribute)attributes.get(i);
+	    if (attr.getName() == null || attr.getName().trim().equals("")) continue;
+	    if (attr.getName().equals("name")) continue;
+	    Element attrElement =  doc.createElement(GEMSConstants.ATTRIBUTE_ELEMENT);
+	    attrElement.setAttribute(GEMSConstants.NAME_ATTRIBUTE,attr.getName());
+	    attrElement.appendChild(doc.createTextNode(attr.getValue()));
+	    metadata_element.appendChild(attrElement);
+	}
+
+	  
+	//language dependent attributes
+	ArrayList langs = getAllLanguages();
+	for (int i=0;i<langs.size();i++){
+	    String lang = (String)langs.get(i);
+	    Element langElement =  doc.createElement(GEMSConstants.LANGUAGE_ELEMENT);
+	    langElement.setAttribute(GEMSConstants.CODE_ATTRIBUTE,lang);
+	    ArrayList langAttrs = getAttributesByLanguage(lang);
+	    for (int j=0;j<langAttrs.size();j++){
+		Attribute attr = (Attribute)langAttrs.get(j);
+		Element attrElement =  doc.createElement(GEMSConstants.ATTRIBUTE_ELEMENT);
+		attrElement.setAttribute(GEMSConstants.NAME_ATTRIBUTE,attr.getName());
+		attrElement.appendChild(doc.createTextNode(attr.getValue()));  
+		langElement.appendChild(attrElement);
+	                    
+	    }
+	    metadata_element.appendChild(langElement);   
+	}              
+
+	return metadata_element;
+           
+    }
+
+ 
+  
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataSetEvent.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataSetEvent.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataSetEvent.java	(revision 21123)
@@ -0,0 +1,50 @@
+
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at th * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################## ##########################
+ */
+package org.greenstone.gatherer.gems;
+
+public class MetadataSetEvent{
+    private MetadataSetInfo meta_info;
+
+    public MetadataSetEvent(MetadataSetInfo info){
+	meta_info = info;
+
+    }
+
+    public MetadataSetInfo getMetadataSetInfo(){
+	return  meta_info;
+    } 
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataSetInfo.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataSetInfo.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataSetInfo.java	(revision 21123)
@@ -0,0 +1,333 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gems;
+
+import org.apache.xerces.dom.*;// for new Documents
+import org.w3c.dom.Document; 
+import org.w3c.dom.DocumentType; 
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.Attr;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.NodeList;
+
+import java.util.HashMap;
+import java.util.ArrayList;
+
+import org.greenstone.gatherer.util.XMLTools;
+
+/**
+ * @author Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ */
+public class MetadataSetInfo
+    extends AttributeContainer
+{
+ 	
+    private String file_path="";  
+
+    private static ArrayList listeners = new ArrayList();  
+
+    private static MetadataSetModel metadata_model;
+       
+    private String current_language = GEMSConstants.DEFAULT_LANGUAGE;
+
+    private boolean isNew = false;
+
+    public MetadataSetInfo(){       
+	super(GEMSConstants.SET_REQUIRED_ATTRIBUTES, GEMSConstants.SET_LANG_DEPEND_ATTR_NAMES);
+    } 
+
+    public boolean isNamespaceAlreadyUsed(String namespace){
+	if(metadata_model != null) {
+	    return metadata_model.getMetadataSetManager().isNamespaceAlreadyUsed(namespace);
+	}
+	return false;
+    }
+
+    public void setNew(boolean isNew){
+	this.isNew = isNew;
+    }
+
+    public boolean isNew(){
+	return isNew;
+    }
+    
+    public Document getMetadataSetDocument(){
+	return  metadata_model.getMetadataSetDocument();
+    }
+    
+    public MetadataSetModel getMetadataSetModel(){
+        return metadata_model;
+    } 
+    
+     public void setMetadataSetModel(MetadataSetModel model){
+	 metadata_model = model;
+     } 
+    
+
+    public String getMetadataSetName(){  
+	return getMetadataSetName(getCurrentLanguage());
+    }
+
+    public String getMetadataSetName(String lang){    
+        Attribute attr = getAttributeByNameAndLanguage(GEMSConstants.NAME_ATTRIBUTE,lang);
+	if (attr != null) { 
+	    return attr.getValue();
+	}
+	else {
+	    return GEMSConstants.UNKNOWN_NAME;
+	}      
+    }
+
+     public void setMetadataSetName(String name){ 
+	 setMetadataSetName(name, getCurrentLanguage());
+     }
+
+    public void setMetadataSetName(String name,String lang){  
+	Attribute attr =  getAttributeByNameAndLanguage(GEMSConstants.NAME_ATTRIBUTE,lang);
+         if (attr != null){ 
+	     attr.setValue(name);
+	 } 
+	 else {
+	     attr = new Attribute(GEMSConstants.NAME_ATTRIBUTE, name, lang, true);
+	     language_dependent_attributes.add(attr);    
+	 }
+    }
+
+
+  
+    public String getMetadataSetDescription(){  
+	return getMetadataSetDescription(getCurrentLanguage());	 
+    }
+    
+    public String getMetadataSetDescription(String lang){    
+	Attribute attr = getAttributeByNameAndLanguage(GEMSConstants.DESCRIPTION_ATTRIBUTE,lang); 
+	if (attr != null) { 
+	    return attr.getValue();
+	}
+	else {
+	    return "";
+	}	 
+    }
+ 
+    public void setMetadataSetDescription(String desc) {
+	setMetadataSetDescription(desc, getCurrentLanguage());
+    }
+    
+    public void setMetadataSetDescription(String desc, String lang) {
+	Attribute attr =  getAttributeByNameAndLanguage(GEMSConstants.DESCRIPTION_ATTRIBUTE,lang);
+         if (attr != null){ 
+	     attr.setValue(desc);
+	 }
+	 else {
+	     attr = new Attribute(GEMSConstants.DESCRIPTION_ATTRIBUTE, desc, lang, true);
+	     language_dependent_attributes.add(attr);    
+	 }  
+    }
+    
+    public String getCurrentLanguage(){
+	return current_language;	
+    }
+
+    public void setCurrentLanguage(String lang){
+	current_language = lang;	
+    }
+    
+    public String getNamespace(){
+      	Attribute attr = getAttributeByName(GEMSConstants.NAMESPACE_ATTRIBUTE); 
+	if (attr != null){ 
+	    return attr.getValue();
+	 }
+	else{
+	    return "";
+	 }       
+    }
+  
+     public void setNamespace(String namespace){  
+	Attribute attr =  getAttributeByName(GEMSConstants.NAMESPACE_ATTRIBUTE);
+         if (attr != null){ 
+	     attr.setValue(namespace);
+	 }
+	 else {
+	     attr = new Attribute(GEMSConstants.NAMESPACE_ATTRIBUTE, namespace, true);
+	     attributes.add(attr);
+	 }    
+
+    }
+
+  
+    public String getFilePath(){
+	return file_path;
+    }     
+    
+    
+    public void infoChanged(){
+	metadata_model.valueChanged();
+    }
+    
+    public void setFilePath(String path){
+        file_path = path;
+    }     
+    
+    
+    public void addMetadataSetListener(MetadataSetListener msl){
+	if (!listeners.contains(msl))
+	    listeners.add(msl);   
+    }
+    
+    public void removeMetadataSetListener(MetadataSetListener msl){
+        listeners.remove(msl);   
+    }
+     
+    public void removeAllMetadataSetListeners(){
+	  listeners.clear();
+    }
+
+    public void deleteMetadataSet(){
+	metadata_model.getMetadataSetManager().deleteMetadataSet(this);
+
+      	if (metadata_model.getMetadataSetInfo() != null 
+	    && metadata_model.getMetadataSetInfo().getFilePath().equals(this.getFilePath())){
+	    metadata_model.metadataSetDeleted();
+	    MetadataSetEvent mse = new MetadataSetEvent(null);
+	    for(int i=0;i<listeners.size();i++){
+		MetadataSetListener msl = (MetadataSetListener) listeners.get(i);
+		msl.metadataSetChanged(mse);          
+	    }
+	}
+    }
+
+    public void notifyListeners(){
+        MetadataSetEvent mse = new MetadataSetEvent(this);
+	for(int i=0;i<listeners.size();i++){
+	    MetadataSetListener msl = (MetadataSetListener) listeners.get(i);
+	    msl.metadataSetChanged(mse);          
+	}
+    }
+ 
+    public void save(){
+	Document doc = metadata_model.getMetadataSetDocument();
+
+        //new metadata set
+        if (doc == null){
+	    doc = new DocumentImpl(); 
+            DocumentType docType = new DocumentTypeImpl((DocumentImpl)doc,GEMSConstants.MATADATASET_NAME,null,GEMSConstants.SYSTEM_ID);                         
+	    doc.appendChild(doc.createElement(GEMSConstants.METADATASET_ELEMENT));
+	    doc.appendChild(docType);
+	    metadata_model.setMetadataSetDocument(doc);          
+	} 
+    
+        Element doc_element = doc.getDocumentElement(); 
+	//remove all attributes
+	NamedNodeMap attrs = doc.getDocumentElement().getAttributes();
+	for (int i=0;i<attrs.getLength();i++){
+	    Attr item = (Attr)attrs.item(i);
+	    doc_element.removeAttribute(item.getName());
+	}
+       
+	//add attributes
+	for (int i=0;i<attributes.size();i++){
+	    Attribute attr = (Attribute)attributes.get(i);
+	    if (attr.getName() == null || attr.getName().trim().equals("")) continue;
+            doc_element.setAttribute(attr.getName(),attr.getValue());
+	}
+
+        //remove all language dependent name and description elements
+	NodeList setLanguages = doc_element.getElementsByTagName(GEMSConstants.SET_LANGUAGE_ELEMENT);  
+
+	for (int i=setLanguages.getLength()-1;i>=0;--i){
+	    Node set_language = setLanguages.item(i);
+	    doc_element.removeChild(set_language);
+	}
+
+	 ArrayList names = XMLTools.getChildElementsByTagName(doc_element,GEMSConstants.NAME_ELEMENT);   
+         for(int i=0;i< names.size();i++){
+	     Element name_element = (Element)names.get(i);
+	     doc_element.removeChild(name_element);
+	 } 
+
+        ArrayList deses = XMLTools.getChildElementsByTagName(doc_element,GEMSConstants.DESCRIPTION_ELEMENT);   
+         for(int i=0;i< deses.size();i++){
+	     Element des_element = (Element)deses.get(i);
+	     doc_element.removeChild(des_element);
+	 } 
+
+	 Node first_child = doc_element.getFirstChild(); 
+
+	 Node previous_element = null;
+
+	 //add setLanguage elements
+        ArrayList langs = getAllLanguages();
+	for (int i=0;i<langs.size();i++){
+	    String lang = (String)langs.get(i);
+	    Attribute name = getAttributeByNameAndLanguage(GEMSConstants.NAME_ATTRIBUTE,lang);
+	    if (name !=null){
+		Element set_element = doc.createElement(GEMSConstants.SET_LANGUAGE_ELEMENT); 
+		set_element.setAttribute(GEMSConstants.CODE_ATTRIBUTE,lang);
+		Element name_element = doc.createElement(GEMSConstants.NAME_ELEMENT);
+                name_element.appendChild(doc.createTextNode(name.getValue()));
+		set_element.appendChild(name_element); 
+               	Attribute des = getAttributeByNameAndLanguage(GEMSConstants.DESCRIPTION_ATTRIBUTE,lang);
+                 if (des !=null){
+		     Element des_element = doc.createElement(GEMSConstants.DESCRIPTION_ELEMENT);
+		     des_element.appendChild(doc.createTextNode(des.getValue()));
+		     set_element.appendChild(des_element);
+		 }	 
+
+		 if (first_child == null){
+		    
+		     if (previous_element !=null && previous_element.getNextSibling() !=null){ 
+                         doc_element.insertBefore(set_element,previous_element.getNextSibling());  
+		     }
+		      else{
+			  doc_element.appendChild(set_element);
+		      }
+		 }
+		 else {
+		     doc_element.insertBefore(set_element,first_child);
+		     first_child = null;
+		     previous_element = set_element;
+		 }
+	    }
+	}
+
+           
+    }
+
+ 
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataSetListener.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataSetListener.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataSetListener.java	(revision 21123)
@@ -0,0 +1,43 @@
+
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at th * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################## ##########################
+ */
+package org.greenstone.gatherer.gems;
+
+public interface MetadataSetListener{
+
+    public void metadataSetChanged(MetadataSetEvent mse);
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataSetManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataSetManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataSetManager.java	(revision 21123)
@@ -0,0 +1,385 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gems;
+
+import java.io.*;
+import javax.swing.JFileChooser;
+import javax.swing.JOptionPane;
+import java.util.ArrayList;
+
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.file.*;
+import org.greenstone.gatherer.util.XMLTools;
+import org.greenstone.gatherer.Dictionary;
+
+import org.apache.xerces.parsers.*;
+import org.apache.xml.serialize.*;
+import org.w3c.dom.*;
+import org.xml.sax.*;
+
+
+
+/** This class is responsible for managing all the metadata sets in the collection and for providing methods for manipulating the aforementioned sets contents. 
+ * @author Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ * @version 2.4
+ */
+public class MetadataSetManager
+{
+   
+    private ArrayList mds_list = new ArrayList();                      
+    
+    private MetadataSetModel metadata_set_model;
+
+    private ArrayList languageList; 
+
+    private String current_language = GEMSConstants.DEFAULT_LANGUAGE; 
+
+    /** Constructor. */
+    public MetadataSetManager(String gsdl_path, String gsdl3_path) {
+    	// Determine the GLI user directory path
+	String gli_user_directory_path = System.getProperty("user.home") + File.separator;
+	
+        if (Utility.isWindows()) {
+	    gli_user_directory_path += "Application Data" + File.separator + "Greenstone" + File.separator + "GLI" + File.separator;
+        }
+        else {
+            gli_user_directory_path += ".gli" + File.separator;
+        }
+
+	new Configuration(gli_user_directory_path, gsdl_path, gsdl3_path, null, null, null);         
+	current_language = Configuration.getLanguage(); 
+
+        languageList = new ArrayList();
+    }
+
+    public ArrayList getLanguageList(){
+        //already loaded
+	if (languageList.size() > 0 ) return languageList;
+  	
+	Document document = XMLTools.parseXMLFile(getLanguageXMLPath(), true);        
+
+	NodeList languages = document.getDocumentElement().getElementsByTagName(GEMSConstants.LANGUAGE_ELEMENT);
+        for(int i=0; i< languages.getLength();i++){
+            Element language_element = (Element)languages.item(i);
+            languageList.add(language_element.getAttribute(GEMSConstants.CODE_ATTRIBUTE).toLowerCase()+"   "+language_element.getAttribute(GEMSConstants.NAME_ATTRIBUTE));
+	}  
+   
+	return languageList;
+    }
+
+
+    public boolean isAttributeRequired(String name){
+	String tmp_name = name.trim();
+	for(int i=0;i<GEMSConstants.SET_REQUIRED_ATTRIBUTES.length;i++){
+            if (tmp_name.equals(GEMSConstants.SET_REQUIRED_ATTRIBUTES[i])) return true;
+	}
+	return false;
+    }
+
+    public void save(boolean confirm) {
+	MetadataSetInfo meta_info =  metadata_set_model.getMetadataSetInfo();
+	
+	if (meta_info ==null) return;
+
+	if (confirm){
+
+	    //int result = JOptionPane.showOptionDialog(null, Dictionary.get("GEMS.Confirm_Save"), Dictionary.get("GEMS.Confirm_Save_Title"), JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE,null,Dictionary.get("General.No"),Dictionary.get("General.No"));
+	    int result = JOptionPane.showConfirmDialog(null, Dictionary.get("GEMS.Confirm_Save"), Dictionary.get("GEMS.Confirm_Save_Title"), JOptionPane.YES_NO_OPTION);
+	    if (result != JOptionPane.YES_OPTION) return;
+	}
+	
+
+        File file_path = null;
+	//get new file name
+        if(meta_info.isNew()){
+	    JFileChooser file_chooser =  new JFileChooser(new File(getGLIMetadataDirectoryPath()));
+	    file_chooser.setMultiSelectionEnabled(false);
+	    file_chooser.setSelectedFile(new File(getGLIMetadataDirectoryPath(), meta_info.getNamespace()+GEMSConstants.METADATA_SET_FILE_EXTENSION));
+	    int result = file_chooser.showSaveDialog(null);
+	    if (result == JFileChooser.APPROVE_OPTION){
+		file_path = file_chooser.getSelectedFile();
+		meta_info.setFilePath(file_path.toString());
+		meta_info.setNew(false);
+	    } 
+	}
+	else {
+	    file_path = new File(meta_info.getFilePath());
+	}
+
+	if (file_path != null) save(file_path);
+
+	for(int i=0;i<mds_list.size();i++){
+	    MetadataSetInfo infoItem = (MetadataSetInfo)mds_list.get(i);
+	    if (infoItem.getFilePath().trim().equals(meta_info.getFilePath().trim())) {
+		mds_list.remove(infoItem);
+		mds_list.add(meta_info); 
+		break;
+	    }	    
+	}
+	return;
+
+    }
+
+
+    private void save(File file_path){
+
+	try {
+	    
+	    XMLTools.writeXMLFile(file_path, metadata_set_model.getMetadataSetDocument());
+	    
+	}
+	catch (Exception error) {
+	    error.printStackTrace();
+	}
+    
+    }
+
+
+    public Document getMetadataSetDocument(String filePath){ 
+	if (filePath == null || filePath.equals("")) return null;
+        return  XMLTools.parseXMLFile(filePath, true);
+    }
+
+    public void setMetadataSetModel(MetadataSetModel model){
+	metadata_set_model = model;
+    }
+
+    public MetadataSetModel getMetadataSetModel(){
+        return  metadata_set_model;
+    }
+    
+
+    public ArrayList getAvailableMetadataSets(){
+	mds_list.clear();        
+	// Load all the core metadata sets (in the GLI "metadata" directory)
+	File metadata_directory = new File(getGLIMetadataDirectoryPath());
+	if (metadata_directory.exists()) {
+	    // Load just those .mds files in this directory, and return them
+	    File[] directory_files = metadata_directory.listFiles();
+	    for (int i = 0; i < directory_files.length; i++) {
+		File child_file = directory_files[i];
+               
+     		if (!child_file.isDirectory() && child_file.getName().endsWith(GEMSConstants.METADATA_SET_FILE_EXTENSION)) {
+                   Document document = XMLTools.parseXMLFile(child_file.toString(), true);
+                   MetadataSetInfo info = constructMetadataInfo(document);
+                   info.setFilePath(child_file.toString());                              
+		   mds_list.add(info);		        	    
+		}
+	    }
+	}
+
+	return  mds_list;
+    }
+
+    public boolean isNamespaceAlreadyUsed(String namespace){
+	for(int i=0;i<mds_list.size();i++){
+	    MetadataSetInfo info = (MetadataSetInfo)mds_list.get(i);
+	    if (info.getNamespace().trim().equals(namespace)) return true;	    
+	}
+	return false;
+    }
+
+    public MetadataSetInfo getMetadataSet(String metadata_path){
+	MetadataSetInfo info = constructMetadataInfo(XMLTools.parseXMLFile(metadata_path,true));
+
+	// check whether there is metadata set name for the current language
+	// if not reset the current_language to the language first encountered
+        ArrayList attrs = info.getLanguageDependentAttributes();
+	boolean foundLanguage = false;
+        for (int i=0;i<attrs.size();i++){
+	    Attribute attr = (Attribute)attrs.get(i);
+	    if (attr.getLanguage().equals(current_language)) {
+		info.setCurrentLanguage(current_language);
+		foundLanguage = true;
+                break;
+	    }
+	    
+	}              
+        if (!foundLanguage && attrs.size()>0){
+	    info.setCurrentLanguage(((Attribute)attrs.get(0)).getLanguage());
+	}      
+	
+	info.setFilePath(metadata_path);            
+        return info;
+
+    }     
+    
+    public void deleteMetadataSet(MetadataSetInfo info){
+	String filepath = info.getFilePath();
+
+        if(filepath != null && !filepath.trim().equals("")){
+	    File file = new File(filepath);
+	  
+	  boolean deleted = file.delete();
+	  if (!deleted){
+	        JOptionPane.showMessageDialog(null,Dictionary.get("GEMS.File_Deletion_Error_Message"), Dictionary.get("GEMS.File_Deletion_Error"),JOptionPane.ERROR_MESSAGE);
+	  }
+	  else{
+	      	for(int i=0;i<mds_list.size();i++){
+		    MetadataSetInfo infoItem = (MetadataSetInfo)mds_list.get(i);
+		    if (infoItem.getFilePath().trim().equals(info.getFilePath().trim())) {
+			mds_list.remove(infoItem);
+			break;
+		    }	    
+		}
+	  }
+	}
+    }
+
+    public String getCurrentLanguage(){
+	return current_language;
+    }
+
+    private MetadataSetInfo constructMetadataInfo(Document document){      
+	NamedNodeMap attrs = document.getDocumentElement().getAttributes();
+        ArrayList attrList = new ArrayList();
+        String lang = null;
+        boolean findLang = false;
+	
+        for (int i=0;i<attrs.getLength();i++){
+	    Attr item = (Attr)attrs.item(i);
+	    Attribute attr = new Attribute(item.getName(),item.getValue());
+            attr.setRequired(isAttributeRequired(attr.getName()));
+	    attrList.add(attr);
+	}
+
+	ArrayList languageList = new ArrayList();
+ 
+        //load all <SetLanguage> elements
+        NodeList setLanguages = document.getDocumentElement().getElementsByTagName(GEMSConstants.SET_LANGUAGE_ELEMENT);
+	
+        if (setLanguages.getLength() >0){
+	    for(int i=0;i<setLanguages.getLength();i++){
+		Element set_language = (Element)setLanguages.item(i);
+                lang = set_language.getAttribute(GEMSConstants.CODE_ATTRIBUTE); 
+		setNameAndDescription(languageList, set_language,lang); 	
+	    }
+	    
+	}
+        //no set langugae elements, try load name and description elements
+        else{
+            setNameAndDescription(languageList, document.getDocumentElement(),lang);     
+	}
+	
+	MetadataSetInfo info = new MetadataSetInfo();
+	info.setLanguageDependentAttributes(languageList);
+	info.setAttributes(attrList);       
+	return info;
+    }
+
+    private void setNameAndDescription(ArrayList languageList, Element parent,String lang){
+
+	ArrayList names = XMLTools.getChildElementsByTagName(parent,GEMSConstants.NAME_ELEMENT);         
+        String name_lang = "";       
+
+	if (names.size() > 0){
+	    Element name_element = (Element)names.get(0);
+            Attribute attr = new Attribute(GEMSConstants.NAME_ATTRIBUTE,XMLTools.getElementTextValue(name_element), true);
+	    if (lang == null){
+		attr.setLanguage(name_element.getAttribute(GEMSConstants.LANGUAGE_ATTRIBUTE));
+                name_lang = attr.getLanguage();
+	    }
+	    else{
+		attr.setLanguage(lang); 
+	    }
+	    languageList.add(attr);
+// 	    if (current_language.equals(attr.getLanguage())){
+// 		attr.setRequired(true);
+//                 languageList.add(0,attr);
+// 	    }
+// 	    else{
+// 		languageList.add(attr);
+// 	    }    
+            
+	}
+      	
+	
+	ArrayList des = XMLTools.getChildElementsByTagName(parent,GEMSConstants.DESCRIPTION_ELEMENT);
+	if (des.size() > 0){
+	    Element des_element = (Element)des.get(0);
+	    Attribute attr = new Attribute(GEMSConstants.DESCRIPTION_ATTRIBUTE,XMLTools.getElementTextValue(des_element), true); 
+	    if (lang == null){
+		attr.setLanguage(des_element.getAttribute(GEMSConstants.LANGUAGE_ATTRIBUTE));
+	    }
+	      else{
+		  attr.setLanguage(lang); 
+	      }
+	    languageList.add(attr);
+	}
+	else{
+	    Attribute attr = new Attribute(GEMSConstants.DESCRIPTION_ATTRIBUTE,"", true);
+            if (lang == null){
+		attr.setLanguage(name_lang);
+	    }
+	    else{
+		attr.setLanguage(lang); 
+	    }
+	    
+	    languageList.add(attr); 
+	}
+	
+    }
+
+    
+    static public String getGLIDirectoryPath()
+    {
+	return System.getProperty("user.dir") + File.separator;
+    }
+
+
+    static public String getGLIMetadataDirectoryPath()
+    {
+	return getGLIDirectoryPath() + "metadata" + File.separator;
+    }
+  
+    static public String getLanguageXMLPath()
+    {
+	return getGLIDirectoryPath() + "classes" + File.separator+"xml"+ File.separator+ "languages.xml";
+    }
+      
+     static public String getCollectionPath()
+    {
+        if (Configuration.gsdl3_path != null){
+	    return Configuration.gsdl3_path + File.separator + "sites"; 
+
+	}
+	else{
+	    return Configuration.gsdl_path + File.separator + "collect";
+	}
+    } 
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataSetModel.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataSetModel.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataSetModel.java	(revision 21123)
@@ -0,0 +1,216 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gems;
+
+import org.w3c.dom.Document;
+import  org.w3c.dom.Element;
+import org.greenstone.gatherer.util.XMLTools;
+
+ 
+import java.util.Observable;
+import java.util.ArrayList;
+
+/**
+ * @author Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ * @version 2.4
+ */
+public class MetadataSetModel 
+    extends Observable implements MetadataSetListener, AttributeListener{
+
+    private Document metadata_doc;
+
+    private MetadataSetManager meta_manager;
+
+    private ArrayList model;      
+
+    private MetadataSetInfo meta_info;
+    
+    private boolean changed = false;
+
+
+    //construt a new MetadataSet
+    public MetadataSetModel(MetadataSetManager msm){
+        meta_manager = msm;
+	model = new ArrayList(); 
+    }
+
+    public String getCurrentLanguage(){
+	return meta_manager.getCurrentLanguage();
+    }
+
+    public void metadataSetChanged(MetadataSetEvent mse){
+	if (meta_info !=null) save(true); //save the last metadata set
+
+	model = new ArrayList();
+        meta_info = mse.getMetadataSetInfo();
+	meta_info.setMetadataSetModel(this);
+	metadata_doc = meta_manager.getMetadataSetDocument(meta_info.getFilePath());     
+	
+	constructModel();
+    
+        setChanged();
+	notifyObservers();
+	clearChanged();
+     	changed = false;  
+   
+    } 
+
+    public void valueChanged(){
+        setChanged();
+	notifyObservers(new Boolean(false));
+	clearChanged();
+    }
+    
+
+    private void constructModel(){
+	if (metadata_doc == null) return;
+	ArrayList elements =XMLTools.getChildElementsByTagName(metadata_doc.getDocumentElement(),GEMSConstants.ELEMENT_ELEMENT);
+	for(int i=0;i<elements.size();i++){    
+	    Element element = (Element)elements.get(i);     
+	    model.add(new MetadataElementModel(element,meta_info));
+	}                       
+    }
+    
+    public boolean doesChildWithThisNameExist(String name) {
+	for (int i=0; i<model.size(); i++) {
+	    if (name.equals(((MetadataElementModel)model.get(i)).getName())) {
+		return true;
+	    }
+	}
+	return false;
+    }
+
+    public Document getMetadataSetDocument(){
+	return metadata_doc;
+    }
+
+    public void setMetadataSetDocument(Document doc){
+	metadata_doc = doc;
+    }
+
+    public MetadataSetManager getMetadataSetManager(){
+	return meta_manager;
+    } 
+ 
+    public ArrayList getMetadataSetModel(){
+	return model;
+    }
+
+    
+    public void addChild(MetadataElementModel element_model){
+	model.add(element_model);
+	changed = true;
+    }
+    
+    public void removeChild(MetadataElementModel element_model){
+	model.remove(element_model);
+	changed = true;
+    }
+
+   
+    public void attributeChanged(AttributeEvent ae){      
+    	changed = true;
+    }
+    
+    public void setChanged(boolean ischanged){
+	changed = ischanged;
+    }
+
+    public void save(boolean confirm){
+	if ( meta_info == null || (!changed  && !meta_info.isNew())) return;
+
+	meta_info.save();
+	    
+	if (metadata_doc !=null){
+	    //remove all element elements
+	    Element doc_element = metadata_doc.getDocumentElement();
+	    ArrayList elements = XMLTools.getChildElementsByTagName(doc_element,GEMSConstants.ELEMENT_ELEMENT);   
+	    for(int i=0;i< elements.size();i++){
+		Element element = (Element)elements.get(i);
+		doc_element.removeChild(element);
+	    } 
+	}
+
+	for(int i=0;i< model.size();i++){
+	    MetadataElementModel element_model = (MetadataElementModel)model.get(i);
+            element_model.save();
+	} 
+	
+	meta_manager.save(confirm);
+	changed = false;
+	
+    }
+
+    public MetadataSetInfo getMetadataSetInfo(){
+	return meta_info; 
+    } 
+
+    public void metadataSetDeleted(){
+	meta_info = null;
+	setChanged();
+	notifyObservers();
+	clearChanged();
+     	changed = false; 	
+
+    }
+
+
+    public boolean moveUp(MetadataElementModel child){
+	int index = model.indexOf(child);
+	if (index-1 >=0){
+	    changed = true;
+	    model.remove(child);
+	    model.add(index-1,child);
+	    return true;
+	}        
+
+	return false;
+    }
+
+    public boolean moveDown(MetadataElementModel child){
+	int index = model.indexOf(child);
+	if (index+1 < model.size()){
+	    changed = true;
+	    model.remove(child);
+	    model.add(index+1,child);
+	    return true;
+	}        
+
+	return false;
+    }
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataSetTree.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataSetTree.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/MetadataSetTree.java	(revision 21123)
@@ -0,0 +1,435 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gems;
+
+import org.w3c.dom.Document;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.tree.*; 
+
+import java.util.Observer;
+import java.util.Observable;
+import java.util.ArrayList;
+
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+
+/**
+ * @author Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ * @version 2.4
+ */
+public class MetadataSetTree 
+    extends JTree 
+    implements Observer, ActionListener, MouseListener {
+    
+    private MetadataSetTree self;
+    private MetadataSetModel metadata_model;
+    protected JFrame parent_frame;
+    public MetadataSetTree(JFrame parent){
+        this.setComponentOrientation(Dictionary.getOrientation());
+        setCellRenderer(new MetadataSetCellRenderer());
+        setRowHeight(20);
+        setEditable(false);
+        getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
+	setModel(null);
+        self = this;
+	parent_frame = parent;
+	addMouseListener(this);	
+    }
+    
+    public void mouseClicked(MouseEvent event) {
+	// right click
+	if (SwingUtilities.isRightMouseButton(event)) {
+            new MetadataSetTreeRightClickMenu(this, event);
+        } else {
+	    TreePath tse = self.getSelectionPath();
+	    if (tse!=null){
+		DefaultMutableTreeNode snode= (DefaultMutableTreeNode)tse.getLastPathComponent();
+		
+		Object data = snode.getUserObject();
+		
+		if (data instanceof MetadataElementModel){
+		    
+		    ((MetadataElementModel)data).notifyListeners(false);
+		}
+		else{
+		    if (data instanceof MetadataSetInfo){
+			((MetadataSetInfo)data).notifyListeners();
+		    }
+		}			  
+	    }
+	}
+	
+    }
+    
+    public void mouseEntered(MouseEvent event) { }
+
+    public void mouseExited(MouseEvent event) { }
+
+    public void mousePressed(MouseEvent event) { }
+
+    public void mouseReleased(MouseEvent event) { }
+
+    public void update(Observable o,Object arg){ 
+        if (arg !=null){
+	    Boolean replaceModel = (Boolean)arg;
+            if (!replaceModel.booleanValue()){ 
+                repaint();               
+	 	expandAll();
+	    }
+	}      
+        metadata_model = (MetadataSetModel)o;
+
+	populateMetadataSetTree(metadata_model);
+
+    }
+
+    private void expandAll() { 
+	int row = 0; 
+	while (row < getRowCount()) {
+	    expandRow(row);
+	    row++;
+	}
+    } 
+
+
+
+    public void actionPerformed(ActionEvent e){
+        String command = e.getActionCommand();
+   
+        if (command.equals(GEMSConstants.ADD_ELEMENT)){
+	    addElement(false);
+ 	    return ;
+	}
+        if (command.equals(GEMSConstants.ADD_SUBELEMENT)){
+	    addElement(true);
+ 	    return ;
+	}
+       
+	if (command.equals(GEMSConstants.DELETE_ELEMENT)){
+	    deleteElement();
+	}          
+
+
+	if (command.equals(GEMSConstants.MOVE_UP)){
+	    moveUpElement();
+	}
+       
+	if (command.equals(GEMSConstants.MOVE_DOWN)){
+	    moveDownElement(); 
+	}
+       
+    }
+
+     
+    public void addElement(boolean subelement){
+	TreePath tse = self.getSelectionPath();
+	if (tse == null) return;
+	
+	DefaultTreeModel dtm = (DefaultTreeModel)getModel();
+	DefaultMutableTreeNode snode=(DefaultMutableTreeNode)tse.getLastPathComponent();
+	Object data = snode.getUserObject();
+	if (data instanceof MetadataSetInfo){
+	    data = metadata_model;
+	}
+	NewMetadataElementNamePrompt name_prompt = new NewMetadataElementNamePrompt(parent_frame, subelement, data);
+	if (name_prompt.isCancelled()) {
+	    return;
+	}
+	String new_name = name_prompt.getName();
+	
+	MetadataElementModel element_model = new MetadataElementModel(metadata_model.getMetadataSetInfo(), new_name);
+	DefaultMutableTreeNode new_node = new DefaultMutableTreeNode(element_model);
+	dtm.insertNodeInto(new_node,snode,snode.getChildCount());
+	//update model
+	if (data instanceof MetadataElementModel){
+	    ((MetadataElementModel) data).addChild(element_model);
+	}
+	else if(data instanceof MetadataSetModel){
+	    ((MetadataSetModel)data).addChild(element_model);
+		
+	}
+	
+	
+	dtm.reload(snode);
+	expandPath(tse);
+	tse = tse.pathByAddingChild(new_node);
+	self.setSelectionPath(tse);
+	element_model.notifyListeners(false); 
+    }
+    
+    
+
+    public void deleteElement(){
+	
+	//int result = JOptionPane.showConfirmDialog(null, Dictionary.get("GEMS.Confirm_DeleteElement", "(Put name here)"), Dictionary.get("GEMS.Confirm_DeleteElement_Title"), JOptionPane.OK_CANCEL_OPTION);
+	//if (result != JOptionPane.OK_OPTION) return;
+
+	TreePath tse = self.getSelectionPath();
+       	 
+	if (tse!=null){
+	    DefaultTreeModel dtm = (DefaultTreeModel)getModel();
+	    DefaultMutableTreeNode snode=(DefaultMutableTreeNode)tse.getLastPathComponent();
+	    DefaultMutableTreeNode parent = (DefaultMutableTreeNode) snode.getParent();
+	    snode.removeFromParent();
+            
+	    Object parent_data = parent.getUserObject();
+	    Object data = snode.getUserObject();
+	    MetadataElementModel selected_model =  null;
+	    if (parent_data instanceof MetadataElementModel){
+		MetadataElementModel parent_model = (MetadataElementModel) parent_data;
+		selected_model = (MetadataElementModel) data; 
+		parent_model.removeChild(selected_model);
+		parent_model.notifyListeners(false);
+	    }
+	    else{
+		if(parent_data instanceof MetadataSetInfo){
+		    selected_model = (MetadataElementModel) data; 
+		    metadata_model.removeChild(selected_model);
+		    ((MetadataSetInfo)parent_data).notifyListeners();
+		    
+		}
+	    }
+	     
+	    dtm.reload(parent);
+	    self.setSelectionPath(tse.getParentPath());
+	    //selected_model.notifyListeners(true);// notify its listeners that it's been deleted
+	}  
+
+    } 
+
+    private void moveUpElement(){
+	TreePath tse = self.getSelectionPath();
+        
+	if (tse!=null){
+	    DefaultMutableTreeNode snode= (DefaultMutableTreeNode)tse.getLastPathComponent();
+	    int row =  getSelectionRows()[0];                      
+	    boolean moved = false;
+
+	    Object data = snode.getUserObject();
+	    
+	    if (data instanceof MetadataElementModel){
+		MetadataElementModel element_model = (MetadataElementModel)data;
+                //top level element
+                if (element_model.getParent() == null){
+		    moved = metadata_model.moveUp(element_model);
+                 
+		}
+                else{
+		    MetadataElementModel parent = element_model.getParent();
+		    moved = parent.moveUp(element_model);                
+		} 
+	       	if (moved){
+                    DefaultTreeModel dtm = (DefaultTreeModel)getModel();
+		    DefaultMutableTreeNode pnode= (DefaultMutableTreeNode) snode.getParent();
+                    int index = pnode.getIndex(snode);
+		    dtm.removeNodeFromParent(snode);
+		    dtm.insertNodeInto(snode,pnode,--index);
+                    dtm.reload(pnode);
+		    setSelectionRow(--row);                         
+		} 
+	    }
+	}
+
+    }
+
+    private void moveDownElement(){
+	TreePath tse = self.getSelectionPath();
+        
+	if (tse!=null){         
+	    boolean moved = false;
+	    DefaultMutableTreeNode snode= (DefaultMutableTreeNode)tse.getLastPathComponent();
+	    int row =  getSelectionRows()[0]; 	    
+	    Object data = snode.getUserObject();
+	    
+	    if (data instanceof MetadataElementModel){
+		MetadataElementModel element_model = (MetadataElementModel)data;
+                //top level element
+                if (element_model.getParent() == null){
+		    moved = metadata_model.moveDown(element_model);
+		}
+                else{
+		    MetadataElementModel parent = element_model.getParent();
+		    moved = parent.moveDown(element_model);                
+		} 
+		// move the node down the tree     
+		if (moved){
+		    DefaultTreeModel dtm = (DefaultTreeModel)getModel();
+		    DefaultMutableTreeNode pnode= (DefaultMutableTreeNode) snode.getParent();
+                    int index = pnode.getIndex(snode);
+		    dtm.removeNodeFromParent(snode);
+		    dtm.insertNodeInto(snode,pnode,++index);
+                    dtm.reload(pnode);
+		    setSelectionRow(++row); 		                         
+		} 
+	    }
+	}
+    }
+    
+
+    private void populateMetadataSetTree(MetadataSetModel metadata_model){
+	setModel(null);
+      	MetadataSetInfo info= metadata_model.getMetadataSetInfo();
+	if (info == null) {
+	    repaint();
+	    
+	    return;
+	}
+
+        ArrayList metadata_elements = metadata_model.getMetadataSetModel();        	 
+
+        DefaultTreeModel dtm = new DefaultTreeModel(new DefaultMutableTreeNode(info));
+	DefaultMutableTreeNode root = (DefaultMutableTreeNode)dtm.getRoot();
+       
+        for(int i=0;i <metadata_elements.size();i++){
+            MetadataElementModel element_model = (MetadataElementModel)metadata_elements.get(i);
+	    DefaultMutableTreeNode element = new DefaultMutableTreeNode(element_model);            
+	    dtm.insertNodeInto(element,root,root.getChildCount());
+            ArrayList subelements = element_model.getChildElements();
+	    for(int j=0;j <subelements.size();j++){
+                MetadataElementModel subelement_model = (MetadataElementModel)subelements.get(j);
+		DefaultMutableTreeNode subelement = new DefaultMutableTreeNode(subelement_model);            
+		dtm.insertNodeInto(subelement,element,element.getChildCount());
+            }
+	} 	 
+	 
+	dtm.reload(root);
+	setModel(dtm);       
+             
+    } 
+
+    private class MetadataSetTreeRightClickMenu
+	extends JPopupMenu {
+
+	private MetadataSetTreeRightClickMenu(MetadataSetTree meta_set_tree, 
+					      MouseEvent event)
+	{
+
+	    super();
+	    
+            // the right click position
+	    boolean root_node = false;
+	    boolean element_node = false;
+	    TreePath root_path = meta_set_tree.getPathForRow(0);
+            TreePath right_click_path = meta_set_tree.getPathForLocation(event.getX(), event.getY());
+            if (right_click_path == null) {
+		right_click_path = root_path;
+		root_node = true;
+	    } else if (right_click_path.equals(root_path)) {
+		root_node = true;
+	    } else if (right_click_path.getParentPath().equals(root_path)) {
+		element_node = true;
+	    } // else its a subelement
+	    
+	    meta_set_tree.clearSelection();
+	    meta_set_tree.setSelectionPath(right_click_path);
+
+	    JMenuItem add_element = new JMenuItem();
+	    if (root_node) {
+		add_element.setText(Dictionary.get("GEMS.Popup.AddElement"));
+		add_element.setActionCommand(GEMSConstants.ADD_ELEMENT);
+	    } else {
+		add_element.setText(Dictionary.get("GEMS.Popup.AddSubElement"));
+		add_element.setActionCommand(GEMSConstants.ADD_SUBELEMENT);
+
+	    }
+	    add_element.addActionListener(meta_set_tree);
+	    add(add_element);
+	    if (!root_node) {
+		// delete element also
+		JMenuItem delete_element = new JMenuItem();
+		if (element_node) {
+		    delete_element.setText(Dictionary.get("GEMS.Popup.DeleteElement"));
+		} else {
+		    delete_element.setText(Dictionary.get("GEMS.Popup.DeleteSubElement"));
+		}
+		delete_element.addActionListener(meta_set_tree);
+		delete_element.setActionCommand(GEMSConstants.DELETE_ELEMENT);
+		add(delete_element);
+	    }
+
+            // Show the popup menu on screen
+            show(meta_set_tree, event.getX(), event.getY());
+        }
+
+    }
+}
+
+
+class MetadataSetCellRenderer extends JLabel implements TreeCellRenderer {
+    
+    private Color SELECTED_COLOR = Color.lightGray;
+    private Color SELECTED_BORDER_COLOR = Color.gray;
+      
+   
+    public Component getTreeCellRendererComponent(JTree tree,
+						  Object value,
+						  boolean selected,
+						  boolean expanded,
+						  boolean leaf,
+						  int row,
+						  boolean hasFocus){
+	
+        DefaultMutableTreeNode node = (DefaultMutableTreeNode)value;
+        Object userObject = node.getUserObject();
+
+	if (userObject instanceof MetadataElementModel){
+	    MetadataElementModel model = (MetadataElementModel)userObject;
+	    setText(model.getFullName());
+	}
+	else{
+	    if (userObject instanceof MetadataSetInfo){
+		MetadataSetInfo info = (MetadataSetInfo)userObject;
+                setText(info.getMetadataSetName());	
+	    }
+	}
+   	 
+	if (selected){
+	    setBackground(SELECTED_COLOR);  
+        
+	}
+	else{
+	    setBackground(tree.getBackground());  
+	}
+	setForeground(tree.getForeground());  
+	setOpaque(true);
+	return this;
+    }
+
+} 
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/NewMetadataElementNamePrompt.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/NewMetadataElementNamePrompt.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/NewMetadataElementNamePrompt.java	(revision 21123)
@@ -0,0 +1,151 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Katherine Don, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gems;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.gui.ModalDialog;
+
+public class NewMetadataElementNamePrompt
+    extends ModalDialog {
+    private Dimension SIZE = new Dimension(350, 120);
+
+    private boolean cancelled = false;
+    private String element_name = null;
+    private JTextField name_textfield = null;
+    private JDialog prompt;
+    private Object model;
+    public NewMetadataElementNamePrompt(Frame parent, boolean subelement, Object model) {
+	super(parent, true);
+	setSize(SIZE);
+	prompt = this;
+	this.model = model;
+	JPanel content_pane = (JPanel) getContentPane();
+	content_pane.setOpaque(true);
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JLabel name_label = new JLabel();
+	name_label.setComponentOrientation(Dictionary.getOrientation());
+        if (subelement) {
+	    setTitle(Dictionary.get("GEMS.NewMetadataElementNamePrompt.SubTitle"));
+	    name_label.setText(Dictionary.get("GEMS.NewMetadataElementNamePrompt.SubName"));
+	} else {
+	    setTitle(Dictionary.get("GEMS.NewMetadataElementNamePrompt.Title"));
+	    name_label.setText(Dictionary.get("GEMS.NewMetadataElementNamePrompt.Name"));
+	}
+
+	name_textfield = new JTextField();
+        name_textfield.setComponentOrientation(Dictionary.getOrientation());
+	name_textfield.addKeyListener(new KeyAdapter() {
+		public void keyPressed(KeyEvent e) {
+		    if (e.getKeyCode() == KeyEvent.VK_ENTER) {
+			//same as clicking OK button
+			validateElementName();
+		    }
+		}
+	    });
+
+	JPanel details_pane = new JPanel();
+        details_pane.setComponentOrientation(Dictionary.getOrientation());
+	details_pane.setLayout(new GridLayout(2,1));
+	details_pane.add(name_label);
+	details_pane.add(name_textfield);
+	    
+	JPanel button_pane = new JPanel();
+	button_pane.setLayout(new GridLayout(1,2));
+	GLIButton ok_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("General.OK_Tooltip"));       	
+	GLIButton cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Cancel_Tooltip"));
+	button_pane.add(ok_button);
+	button_pane.add(cancel_button);
+	    
+	// Add listeners
+	ok_button.addActionListener(new ActionListener() {
+		public void actionPerformed(ActionEvent event) {
+		    validateElementName();
+		}
+	    });
+	cancel_button.addActionListener(new ActionListener() {
+		public void actionPerformed(ActionEvent event) {
+		    cancelled = true;
+		    prompt.dispose();
+		}
+	    });
+	    
+	content_pane.setLayout(new BorderLayout(5,5));
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.add(details_pane, BorderLayout.CENTER);
+	content_pane.add(button_pane, BorderLayout.SOUTH);
+	    
+	Dimension screen_size = Configuration.screen_size;
+	setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	setVisible(true);
+	    
+    }
+
+    public String getName() {
+	return element_name;
+    }
+
+    public boolean isCancelled() {
+	return cancelled;
+    }
+
+    private void validateElementName() {
+	String name = name_textfield.getText();
+	if (name.equals("")) {
+	    JOptionPane.showMessageDialog(prompt,Dictionary.get("GEMS.NewMetadataElementNamePrompt.EmptyName_Error_Message"), Dictionary.get("GEMS.NewMetadataElementNamePrompt.Name_Error"), JOptionPane.ERROR_MESSAGE);
+	    return;
+	} 
+	boolean already_used = false;
+	if (model instanceof MetadataSetModel) {
+	    already_used = ((MetadataSetModel)model).doesChildWithThisNameExist(name);
+	} else if (model instanceof MetadataElementModel) {
+	    already_used = ((MetadataElementModel)model).doesChildWithThisNameExist(name);
+	}
+	if (!already_used) {
+	    element_name = name;
+	    prompt.dispose();
+	} else {
+	    JOptionPane.showMessageDialog(prompt,Dictionary.get("GEMS.NewMetadataElementNamePrompt.Name_Error_Message"), Dictionary.get("GEMS.NewMetadataElementNamePrompt.Name_Error"), JOptionPane.ERROR_MESSAGE);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/NewMetadataSetPrompt.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/NewMetadataSetPrompt.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/NewMetadataSetPrompt.java	(revision 21123)
@@ -0,0 +1,315 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gems;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Collection;
+import java.util.Vector;
+
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.gui.ModalDialog;
+import org.greenstone.gatherer.gui.GLIButton;
+
+public class NewMetadataSetPrompt 
+    extends ModalDialog {
+
+    static private Dimension SIZE = new Dimension(500, 320);
+        
+    private ArrayList available_metadata_sets;
+    private ArrayList listeners; 
+
+    private JButton ok_button = null;
+    private JButton cancel_button = null;    
+    private JComboBox base_metadata_combo;
+    private NewMetadataSetPrompt self;
+    private MetadataSetManager meta_manager;
+    private JTextArea description_textarea = null;
+    private JTextField title_field;
+    private JTextField namespace_field;
+
+    private boolean cancelled = false;
+    
+    public NewMetadataSetPrompt(Frame parent,MetadataSetManager msm) {
+	super(parent, true);
+        self = this;
+	listeners = new ArrayList();
+	meta_manager = msm;
+
+	setSize(SIZE);
+	setTitle(Dictionary.get("GEMS.NewMetadataSetPrompt.Title"));
+	
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setOpaque(true);
+	content_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JLabel  instruction_label = new JLabel(Dictionary.get("GEMS.NewMetadataSetPrompt.Instructions"));
+	instruction_label.setOpaque(true);
+	instruction_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	JLabel  title_label = new JLabel(Dictionary.get("GEMS.NewMetadataSetPrompt.Metadata_Title"));
+	title_label.setOpaque(true);
+        title_label.setComponentOrientation(Dictionary.getOrientation());
+                 
+        title_field = new JTextField();
+        title_field.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel title_pane = new JPanel(new BorderLayout(5,5));
+        title_pane.setComponentOrientation(Dictionary.getOrientation());
+        title_pane.add(title_label,BorderLayout.LINE_START);
+        title_pane.add(title_field, BorderLayout.CENTER);
+
+	
+	JLabel  namespace_label = new JLabel(Dictionary.get("GEMS.NewMetadataSetPrompt.Metadata_Namespace"));
+        namespace_label.setComponentOrientation(Dictionary.getOrientation());
+ 	namespace_label.setOpaque(true);
+                 
+        namespace_field = new JTextField();
+        namespace_field.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel namespace_pane = new JPanel(new BorderLayout(5,5));
+        namespace_pane.setComponentOrientation(Dictionary.getOrientation());
+        namespace_pane.add(namespace_label,BorderLayout.LINE_START);
+        namespace_pane.add(namespace_field, BorderLayout.CENTER);
+
+        
+        JPanel info_pane = new JPanel();
+        info_pane.setComponentOrientation(Dictionary.getOrientation());
+        info_pane.setLayout(new BorderLayout(5,5));
+        info_pane.add(instruction_label,BorderLayout.NORTH);
+	info_pane.add(title_pane,BorderLayout.CENTER);
+        info_pane.add(namespace_pane,BorderLayout.SOUTH);
+        
+
+	JLabel description_label = new JLabel(Dictionary.get("GEMS.Set_Description"));
+	description_label.setOpaque(true);
+        description_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	description_textarea = new JTextArea();
+        description_textarea.setComponentOrientation(Dictionary.getOrientation());
+        description_textarea.setLineWrap(true); 
+        description_textarea.setWrapStyleWord(true);
+
+	JPanel description_pane = new JPanel();
+        description_pane.setComponentOrientation(Dictionary.getOrientation());
+        description_pane.setLayout(new BorderLayout());
+        description_pane.add(description_label,BorderLayout.NORTH);
+	description_pane.add(new JScrollPane(description_textarea),BorderLayout.CENTER);
+
+       
+	JLabel  base_label = new JLabel(Dictionary.get("GEMS.NewMetadataSetPrompt.Base_MetadataSet"));
+	base_label.setOpaque(true);
+        base_label.setComponentOrientation(Dictionary.getOrientation());
+        
+        base_metadata_combo = new JComboBox();
+	base_metadata_combo.setRenderer(new MetadatSetListCellRenderer());
+	base_metadata_combo.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel base_pane = new JPanel(new BorderLayout(5,5));
+        base_pane.setComponentOrientation(Dictionary.getOrientation());
+        base_pane.add(base_label,BorderLayout.LINE_START);
+        base_pane.add(base_metadata_combo, BorderLayout.CENTER);
+
+
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	ok_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("General.OK_Tooltip"));       	
+	cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Cancel_Tooltip"));
+      
+
+	// Add listeners
+	ok_button.addActionListener(new ActionListener() {
+		public void actionPerformed(ActionEvent event) {
+		    if (createNewSet()) {
+			self.dispose();
+		    } // else if that returned false, then we leave the
+		    // prompt there for them to change their input
+		}
+	    });
+
+				    
+	cancel_button.addActionListener(new ActionListener() {
+		public void actionPerformed(ActionEvent event) {
+		    cancelled = true;
+		    self.dispose();
+		}
+	    });
+	
+ 
+	button_pane.setLayout(new GridLayout(1,2));
+	button_pane.add(ok_button);
+	button_pane.add(cancel_button);
+	
+	JPanel bottom_pane = new JPanel(new GridLayout(2,1,5,5));
+	bottom_pane.add(base_pane);
+	bottom_pane.add(button_pane);
+	
+	content_pane.setLayout(new BorderLayout(5,5));
+	content_pane.add(info_pane, BorderLayout.NORTH);
+	content_pane.add(description_pane, BorderLayout.CENTER);
+	content_pane.add(bottom_pane, BorderLayout.SOUTH);
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	
+	// Show
+	Dimension screen_size = Configuration.screen_size;
+	setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	setVisible(false);
+	
+    }
+    
+    
+    public void display(){
+	cancelled = false;
+	available_metadata_sets =  meta_manager.getAvailableMetadataSets();
+	Vector data = new Vector((Collection)available_metadata_sets);
+	data.add(0,Dictionary.get("GEMS.NewMetadataSetPrompt.New_Metadata"));
+	DefaultComboBoxModel  model = new DefaultComboBoxModel(data);
+	title_field.setText("");
+	namespace_field.setText("");
+	description_textarea.setText("");
+	base_metadata_combo.setModel(model); 
+	setVisible(true);          
+    }
+
+    public boolean isCancelled() {
+	return cancelled;
+    }
+    
+    public void addMetadataSetListener(MetadataSetListener msl){
+	listeners.add(msl);
+   
+    }
+
+    private boolean createNewSet() {
+
+	String title = title_field.getText();
+	String namespace = namespace_field.getText();
+	String description = description_textarea.getText();
+
+	if (title == null || title.trim().equals("")){
+	    JOptionPane.showMessageDialog(self, Dictionary.get("GEMS.NewMetadataSetPrompt.Title_Error_Message"), Dictionary.get("GEMS.NewMetadataSetPrompt.Title_Error"), JOptionPane.ERROR_MESSAGE);
+
+	    return false;
+	}
+
+	if (namespace == null || namespace.trim().equals("")){
+	    JOptionPane.showMessageDialog(self, Dictionary.get("GEMS.NewMetadataSetPrompt.Namespace_Error_Message"), Dictionary.get("GEMS.NewMetadataSetPrompt.Namespace_Error"), JOptionPane.ERROR_MESSAGE);
+	    return false;
+	}
+
+	//check namespace conflict
+	if (meta_manager.isNamespaceAlreadyUsed(namespace)) {
+	    int result = JOptionPane.showOptionDialog(null,Dictionary.get("GEMS.Namespace_Conflict_Message"), Dictionary.get("GEMS.Namespace_Conflict"),JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE,null,GEMSConstants.DIALOG_OPTIONS,GEMSConstants.DIALOG_OPTIONS[0] );
+	     
+	    if (result != JOptionPane.OK_OPTION) return false;
+	}
+
+	Object selectedValue = base_metadata_combo.getSelectedItem();
+        
+	if (selectedValue != null ){
+	    MetadataSetInfo meta_info = null;
+               
+	    if ((selectedValue instanceof MetadataSetInfo)){	  
+		meta_info = (MetadataSetInfo)selectedValue;
+	    }
+	    else{
+		meta_info = new MetadataSetInfo();                	
+	    }
+                
+	    meta_info.setNew(true);
+	    // clear all the language dependent attributes
+	    meta_info.setLanguageDependentAttributes(new ArrayList());
+	    meta_info.setMetadataSetName(title); 
+	    meta_info.setMetadataSetDescription(description);
+	    meta_info.setNamespace(namespace);
+	    meta_info.setCurrentLanguage(meta_manager.getCurrentLanguage());
+	    notifyListeners(meta_info);
+	}
+	return true;
+    }
+
+ 
+    private void notifyListeners(MetadataSetInfo set_info){
+	MetadataSetEvent mse = new MetadataSetEvent(set_info);
+	for(int i=0;i<listeners.size();i++){
+	    MetadataSetListener msl = (MetadataSetListener)listeners.get(i);
+	    msl.metadataSetChanged(mse);          
+	}	
+    }
+
+    private class MetadatSetListCellRenderer extends JLabel 
+	implements ListCellRenderer {
+	public  MetadatSetListCellRenderer() {
+	    setOpaque(true);
+	}
+	
+	public Component getListCellRendererComponent(JList list,
+						      Object value,
+						      int index,
+						      boolean isSelected,
+						      boolean cellHasFocus)
+	{
+	    String name= "unknown";
+
+	    if (value instanceof MetadataSetInfo){
+		MetadataSetInfo meta_info = (MetadataSetInfo) value;
+		name = meta_info.getMetadataSetName(); //get the name of metadata set
+		setText(name);
+	    }
+	    else {
+		setText(value.toString());
+	    }
+
+	    if (isSelected) {
+		setBackground(list.getSelectionBackground());
+		setForeground(list.getSelectionForeground());
+	    }
+	    else {
+		setBackground(list.getBackground());
+		setForeground(list.getForeground());
+	    }
+	              
+	    return this;
+	}
+    }
+       
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gems/OpenMetadataSetPrompt.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gems/OpenMetadataSetPrompt.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gems/OpenMetadataSetPrompt.java	(revision 21123)
@@ -0,0 +1,283 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Shaoqun Wu, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gems;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Collection;
+import java.util.Vector;
+import java.io.File;
+
+
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.gui.ModalDialog;
+import org.greenstone.gatherer.gui.GLIButton;
+
+public class OpenMetadataSetPrompt 
+    extends ModalDialog {
+
+    static private Dimension SIZE = new Dimension(500, 500);
+        
+    private ArrayList available_metadata_sets;
+    private ArrayList listeners; 
+
+    private JButton open_button = null;
+    private JButton cancel_button = null; 
+    private JButton browse_button = null; 
+    private JList  available_set_list = null;
+    private OpenMetadataSetPrompt self;
+    private MetadataSetManager meta_manager;
+    private JTextArea description_textarea = null;
+
+    private boolean cancelled = false;
+    
+    public OpenMetadataSetPrompt(Frame parent,MetadataSetManager msm) {
+	super(parent, true);
+        
+        self = this;
+	meta_manager = msm;
+	setSize(SIZE);
+	setTitle(Dictionary.get("GEMS.OpenMetadataSetPrompt.Title"));
+	listeners = new ArrayList();
+
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setOpaque(true);
+	content_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JLabel  available_metadata_sets_label = new JLabel(Dictionary.get("GEMS.OpenMetadataSetPrompt.Available_Sets"));
+	available_metadata_sets_label.setOpaque(true);
+        available_metadata_sets_label.setComponentOrientation(Dictionary.getOrientation());
+        
+        available_set_list = new JList();
+	available_set_list.setCellRenderer(new MetadatSetListCellRenderer());
+	available_set_list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+        available_set_list.setFixedCellHeight(20);
+	available_set_list.addListSelectionListener(new MetadataSetListSelectionListener());
+        available_set_list.setComponentOrientation(Dictionary.getOrientation());
+        
+        JPanel set_pane = new JPanel();
+        set_pane.setComponentOrientation(Dictionary.getOrientation());
+        set_pane.setLayout(new BorderLayout());
+        set_pane.add(available_metadata_sets_label,BorderLayout.NORTH);
+	set_pane.add(new JScrollPane(available_set_list),BorderLayout.CENTER);
+        
+	JLabel  metadata_set_des_label = new JLabel(Dictionary.get("GEMS.Set_Description"));
+	metadata_set_des_label.setOpaque(true);
+        metadata_set_des_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	description_textarea = new  JTextArea();
+        description_textarea.setOpaque(true);
+        description_textarea.setEditable(false);
+        description_textarea.setLineWrap(true); 
+        description_textarea.setWrapStyleWord(true);
+        description_textarea.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel des_pane = new JPanel();
+        des_pane.setLayout(new BorderLayout());
+        des_pane.add(metadata_set_des_label,BorderLayout.NORTH);
+	des_pane.add(new JScrollPane(description_textarea),BorderLayout.CENTER);
+        des_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	open_button = new GLIButton(Dictionary.get("GEMS.OpenMetadataSetPrompt.Open"), Dictionary.get("GEMS.OpenMetadataSetPrompt.Open_Tooltip"));
+	open_button.setEnabled(true);	
+        
+	browse_button = new GLIButton(Dictionary.get("General.Browse"));
+        browse_button.setEnabled(true);
+
+	cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Cancel_Tooltip"));
+	cancel_button.setEnabled(true);
+
+
+	// Add listeners
+	open_button.addActionListener(new ActionListener() {
+		public void actionPerformed(ActionEvent event) {
+		    notifyListeners();
+		    self.dispose();
+		}
+	    });
+
+	browse_button.addActionListener(new ActionListener() {
+		public void actionPerformed(ActionEvent event) {
+		    String collect_dir = meta_manager.getCollectionPath();
+		    JFileChooser file_chooser =  new JFileChooser(new File(collect_dir));
+		    file_chooser.setMultiSelectionEnabled(false);
+		    int result = file_chooser.showOpenDialog(null);
+		    if (result == JFileChooser.APPROVE_OPTION){
+			String file_path = file_chooser.getSelectedFile().toString();
+			MetadataSetInfo meta_info = meta_manager.getMetadataSet(file_path);
+			meta_info.setNew(false);
+			MetadataSetEvent mse = new MetadataSetEvent(meta_info);
+			for(int i=0;i<listeners.size();i++){
+			    MetadataSetListener msl = (MetadataSetListener)listeners.get(i);
+			    msl.metadataSetChanged(mse);          
+			}
+			
+		    }     
+		    notifyListeners();
+		    self.dispose();
+		}
+	    });
+
+
+
+	cancel_button.addActionListener(new ActionListener() {
+		public void actionPerformed(ActionEvent event) {
+		    cancelled = true;
+		    self.dispose();
+		}
+	    });
+
+
+	button_pane.setLayout(new GridLayout(1,3));
+	button_pane.add(open_button);
+	button_pane.add(browse_button);
+	button_pane.add(cancel_button);
+	
+
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(set_pane, BorderLayout.NORTH);
+	content_pane.add(des_pane, BorderLayout.CENTER);
+	content_pane.add(button_pane, BorderLayout.SOUTH);
+	
+	// Show
+	Dimension screen_size = Configuration.screen_size;
+	setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	setVisible(false);
+
+    }
+
+
+    public void display(){
+	cancelled = false;
+        available_metadata_sets = meta_manager.getAvailableMetadataSets();
+	available_set_list.setListData(new Vector((Collection)available_metadata_sets)); 
+        setVisible(true);          
+    }
+
+    public void addMetadataSetListener(MetadataSetListener msl){
+        listeners.add(msl);
+   
+    }
+
+    public boolean isCancelled() {
+	return cancelled;
+    }
+
+    private void notifyListeners(){
+	Object selectedValue = available_set_list.getSelectedValue();
+	
+	if (selectedValue !=null && (selectedValue instanceof MetadataSetInfo)){
+	    MetadataSetEvent mse = new MetadataSetEvent((MetadataSetInfo)selectedValue);
+	    for(int i=0;i<listeners.size();i++){
+		MetadataSetListener msl = (MetadataSetListener)listeners.get(i);
+		msl.metadataSetChanged(mse);          
+	    }
+	}
+    }
+
+    public void openMetadataSet(String metadata_path){
+       MetadataSetInfo set_info = meta_manager.getMetadataSet(metadata_path);                       
+	notifyListeners(set_info);   
+    }
+
+    private void notifyListeners(MetadataSetInfo set_info){
+	MetadataSetEvent mse = new MetadataSetEvent(set_info);
+	for(int i=0;i<listeners.size();i++){
+	    MetadataSetListener msl = (MetadataSetListener)listeners.get(i);
+	    msl.metadataSetChanged(mse);          
+	}	
+    }
+
+    private class MetadatSetListCellRenderer extends JLabel implements ListCellRenderer {
+	public  MetadatSetListCellRenderer() {
+	    setOpaque(true);
+	}
+	
+     public Component getListCellRendererComponent(
+						   JList list,
+						   Object value,
+						   int index,
+						   boolean isSelected,
+         boolean cellHasFocus)
+	{
+	    String name= "unknown";
+
+	    if (value instanceof MetadataSetInfo){
+		MetadataSetInfo meta_info = (MetadataSetInfo) value;
+		name = meta_info.getMetadataSetName(); //get the name of metadata set
+	    }
+  
+            setText(name);
+            if (isSelected) {
+		setBackground(list.getSelectionBackground());
+		setForeground(list.getSelectionForeground());
+	    }
+	    else {
+		setBackground(list.getBackground());
+		setForeground(list.getForeground());
+	    }
+	              
+	    return this;
+	}
+    }
+   
+    
+    private class MetadataSetListSelectionListener implements ListSelectionListener  {
+        public void valueChanged(ListSelectionEvent lse){
+	    if (lse.getValueIsAdjusting()) return;
+
+	    Object selectedValue = available_set_list.getSelectedValue();
+
+            if (selectedValue !=null && (selectedValue instanceof MetadataSetInfo)){
+                MetadataSetInfo meta_info = (MetadataSetInfo)selectedValue; 
+		String des = meta_info.getMetadataSetDescription(); //get the description of the metadata set
+                description_textarea.setText(des);
+	    }      
+
+	}
+    }
+   
+ 
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/greenstone/Classifiers.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/greenstone/Classifiers.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/greenstone/Classifiers.java	(revision 21123)
@@ -0,0 +1,302 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.greenstone;
+
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.cdm.Argument;
+import org.greenstone.gatherer.cdm.Classifier;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+import org.xml.sax.*;
+
+
+public class Classifiers
+{
+    // A list of all the classifiers in the core Greenstone "perllib/classify" folder (arguments may not be loaded)
+    static private ArrayList core_greenstone_classifiers_list = null;
+    // The name of the loaded collection
+    static private String collection_name = null;
+    // A list of all the classifiers in the loaded collection's "perllib/classify" folder (arguments may not be loaded)
+    static private ArrayList collection_specific_classifiers_list = new ArrayList();
+
+
+    static public Classifier getClassifier(String classifier_name, boolean arguments_required)
+    {
+	Classifier classifier = null;
+	boolean collection_specific = false;
+
+	// Check the collection-specific classifiers first
+	for (int i = 0; i < collection_specific_classifiers_list.size(); i++) {
+	    Classifier collection_specific_classifier = (Classifier) collection_specific_classifiers_list.get(i);
+	    if (collection_specific_classifier.getName().equals(classifier_name)) {
+		classifier = collection_specific_classifier;
+		collection_specific = true;
+		break;
+	    }
+	}
+
+	// Try the core Greenstone classifiers if necessary
+	if (classifier == null) {
+	    for (int i = 0; i < core_greenstone_classifiers_list.size(); i++) {
+		Classifier core_greenstone_classifier = (Classifier) core_greenstone_classifiers_list.get(i);
+		if (core_greenstone_classifier.getName().equals(classifier_name)) {
+		    classifier = core_greenstone_classifier;
+		    break;
+		}
+	    }
+	}
+
+	// If we've found the classifier, load its arguments now, if required
+	if (classifier != null && arguments_required) {
+	    if (classifier.getArguments().size() == 0 && classifier.didLoadingOptionsFail() == false) {
+		loadClassifierInfo(classifier, collection_specific);
+	    }
+	    else {
+		DebugStream.println("Already loaded arguments for " + classifier_name + "!");
+	    }
+	}
+
+	return classifier;
+    }
+
+
+    /** Returns a new list from merging the collection-specific and the core Greenstone classifiers. */
+    static public ArrayList getClassifiersList()
+    {
+	ArrayList classifiers_list = new ArrayList();
+	classifiers_list.addAll(collection_specific_classifiers_list);
+
+	// Add in the core Greenstone classifiers, taking care not to overwrite any collection-specific ones
+	for (int i = 0; i < core_greenstone_classifiers_list.size(); i++) {
+	    Classifier core_greenstone_classifier = (Classifier) core_greenstone_classifiers_list.get(i);
+
+	    boolean found = false;
+	    for (int j = 0; j < collection_specific_classifiers_list.size(); j++) {
+		Classifier collection_specific_classifier = (Classifier) collection_specific_classifiers_list.get(j);
+		if (core_greenstone_classifier.getName().equals(collection_specific_classifier.getName())) {
+		    found = true;
+		    break;
+		}
+	    }
+
+	    if (!found) {
+		classifiers_list.add(core_greenstone_classifier);
+	    }
+	}
+
+	return classifiers_list;
+    }
+
+
+    static private void loadClassifierInfo(Classifier classifier, boolean collection_specific)
+    {
+	DebugStream.println("Loading arguments for " + classifier.getName() + "...");
+
+	// Run classifierfo.pl to get the list of classifiers
+	try {
+	    String classinfo_xml = null;
+	    if (Gatherer.isGsdlRemote) {
+		String classinfo_options = "&classifier=" + classifier;
+		if (collection_specific) {
+		    classinfo_options += "&collection=" + collection_name;
+		}
+		classinfo_xml = Gatherer.remoteGreenstoneServer.getScriptOptions("classinfo.pl", classinfo_options);
+	    }
+	    else {
+		ArrayList args = new ArrayList();
+		args.add(Configuration.perl_path);
+		args.add("-S");		
+		args.add(LocalGreenstone.getBinScriptDirectoryPath() + "classinfo.pl");
+		if (collection_specific) {
+		    args.add("-collection");
+		    args.add(collection_name);
+		}
+		args.add("-xml");
+		args.add("-language");
+		args.add(Configuration.getLanguage());
+		args.add(classifier.getName());
+
+		// Run the classinfo.pl process
+		Runtime runtime = Runtime.getRuntime();
+		Process process = runtime.exec((String[]) args.toArray(new String[] { }));
+		InputStream input_stream = process.getErrorStream();
+		StringBuffer classinfo_xml_buffer = XMLTools.readXMLStream(input_stream);
+		if (classinfo_xml_buffer != null) {
+		    classinfo_xml = classinfo_xml_buffer.toString();
+		}
+	    }
+
+	    // Check the XML output was obtained successfully
+	    if (classinfo_xml == null || classinfo_xml.length() == 0) {
+		classifier.setLoadingOptionsFailed();
+		JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CDM.ClassifierManager.Classifier_XML_Parse_Failed", classifier.getName()), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+		return;
+	    }
+
+	    parseClassifierInfoXML(classifier, classinfo_xml);
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+    }
+
+
+    static public void loadClassifiersList(String collection_name_arg)
+    {
+	DebugStream.println("In loadClassifiersList()...");
+
+	// If we're getting the collection-specific classifiers, clear the old list no matter what
+	if (collection_name_arg != null) {
+	    collection_name = collection_name_arg;
+	    collection_specific_classifiers_list = new ArrayList();
+	}
+
+	// Run classifierfo.pl to get the list of classifiers
+	try {
+	    StringBuffer xml = null;
+	    if (Gatherer.isGsdlRemote) {
+		String classinfo_options = "&listall";
+		if (collection_name != null) {
+		    classinfo_options += "&collection=" + collection_name;
+		}
+		String classinfo_output = Gatherer.remoteGreenstoneServer.getScriptOptions("classinfo.pl", classinfo_options);
+		xml = new StringBuffer(classinfo_output);
+	    }
+	    else {
+		ArrayList args = new ArrayList();
+		args.add(Configuration.perl_path);
+		args.add("-S");
+		args.add(LocalGreenstone.getBinScriptDirectoryPath() + "classinfo.pl");
+		if (collection_name != null) {
+		    args.add("-collection");
+		    args.add(collection_name);
+		}
+		args.add("-listall");
+		args.add("-xml");
+
+		// Run the classinfo.pl process
+		Runtime runtime = Runtime.getRuntime();
+		Process process = runtime.exec((String[]) args.toArray(new String[] { }));
+		InputStream input_stream = process.getErrorStream();
+		xml = XMLTools.readXMLStream(input_stream);
+	    }
+
+	    // Check the XML output was obtained successfully
+	    if (xml == null || xml.length() == 0) {
+		JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CDM.ClassifierManager.Classifier_List_XML_Parse_Failed"), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+		return;
+	    }
+
+	    if (collection_name != null) {
+		collection_specific_classifiers_list = parseClassifiersListXML(xml.toString());
+	    }
+	    else {
+		core_greenstone_classifiers_list = parseClassifiersListXML(xml.toString());
+	    }
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+    }
+
+
+    static private void parseClassifierInfoXML(Classifier classifier, String xml)
+    {
+	Document document = XMLTools.parseXML(new StringReader(xml));
+	if (document == null) {
+	    classifier.setLoadingOptionsFailed();
+	    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CDM.ClassifierManager.Classifier_XML_Parse_Failed", classifier.getName()), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+	    return;
+	}
+
+	parseClassifierInfoXMLNode(classifier, document.getDocumentElement());
+    }
+
+
+    static private void parseClassifierInfoXMLNode(Classifier classifier, Node root_node)
+    {
+	for (Node node = root_node.getFirstChild(); node != null; node = node.getNextSibling()) {
+	    String node_name = node.getNodeName();
+
+	    if (node_name.equalsIgnoreCase("Name")) {
+		classifier.setName(XMLTools.getValue(node));
+	    }
+	    else if (node_name.equals("Desc")) {
+		classifier.setDescription(XMLTools.getValue(node));
+	    }
+	    else if (node_name.equals("Abstract")) {
+		classifier.setIsAbstract(XMLTools.getValue(node).equalsIgnoreCase(StaticStrings.YES_STR));
+	    }
+	    // Parse the classifier arguments
+	    else if (node_name.equalsIgnoreCase("Arguments")) {
+		for (Node argument_node = node.getFirstChild(); argument_node != null; argument_node = argument_node.getNextSibling()) {
+		    // An option
+		    if (argument_node.getNodeName().equalsIgnoreCase("Option")) {
+			Argument argument = new Argument();
+			argument.parseXML((Element) argument_node);
+			classifier.addArgument(argument);
+		    }
+		}
+	    }
+	    // A super classifier class
+	    else if (node_name.equalsIgnoreCase("ClassInfo")) {
+		Classifier super_classifier = new Classifier();
+		parseClassifierInfoXMLNode(super_classifier, node);
+		classifier.setSuper(super_classifier);
+	    }
+	}
+    }
+
+
+    static private ArrayList parseClassifiersListXML(String xml)
+    {
+	ArrayList classifiers_list = new ArrayList();
+
+	Document document = XMLTools.parseXML(new StringReader(xml));
+	Node root = document.getDocumentElement();
+	for (Node node = root.getFirstChild(); node != null; node = node.getNextSibling()) {
+	    String node_name = node.getNodeName();
+
+	    if (node_name.equals("ClassInfo")) {
+		Classifier classifier = new Classifier();
+		parseClassifierInfoXMLNode(classifier, node);
+		classifiers_list.add(classifier);
+	    }
+	}
+
+	return classifiers_list;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/greenstone/LocalGreenstone.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/greenstone/LocalGreenstone.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/greenstone/LocalGreenstone.java	(revision 21123)
@@ -0,0 +1,64 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2005 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.greenstone;
+
+
+import java.io.*;
+
+
+/**
+ * This class contains static functions that only make sense when running with a local Greenstone.
+ * None of these functions should be called if the GLI is using a remote Greenstone.
+ */
+public class LocalGreenstone
+{
+    static private String gsdl_directory_path = null;
+
+
+    static public String getBinScriptDirectoryPath()
+    {
+	return gsdl_directory_path + "bin" + File.separator + "script" + File.separator;
+    }
+
+
+    static public String getDirectoryPath()
+    {
+	return gsdl_directory_path;
+    }
+
+
+    static public String getTmpDirectoryPath()
+    {
+	return gsdl_directory_path + "tmp" + File.separator;
+    }
+
+
+    static public void setDirectoryPath(String gsdl_directory_path_arg)
+    {
+	gsdl_directory_path = gsdl_directory_path_arg;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/greenstone/LocalLibraryServer.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/greenstone/LocalLibraryServer.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/greenstone/LocalLibraryServer.java	(revision 21123)
@@ -0,0 +1,855 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.greenstone;
+
+
+import java.io.*;
+import java.lang.*;
+import java.net.*;
+import java.util.*;
+import javax.swing.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.util.PortFinder;
+import org.greenstone.gatherer.util.Utility;
+
+
+public class LocalLibraryServer
+{
+    static final private int WAITING_TIME = 20; // number of seconds to wait for the server to start and stop
+
+    static final private String ADD_COMMAND = "?a=config&cmd=add-collection&c=";
+    static final private String RELEASE_COMMAND = "?a=config&cmd=release-collection&c=";
+    static final private String QUIT_COMMAND = "?a=config&cmd=kill";
+
+    static private LLSSiteConfig llssite_cfg_file = null;
+    static private File local_library_server_file = null;
+
+    static private boolean running = false;
+    static private String ID = "greenstone-server"; // a sort of process ID
+
+    // Need to use sockets to tell the server program to terminate when on Linux
+    // The socket port number that we will use to communicate the termination
+    static private int port;
+
+    // The server is persistent if it does not have to reload all the values
+    // over and over again each time. Tomcat is persistent and fastcgi is too,
+    // but the Apache webserver is not persistent by default.
+    // Change the initialisation of this value depending on whether fastcgi is 
+    // on. At the moment, this does not apply to the Apache local library server.
+    static private boolean isPersistentServer = false;
+
+    static public void addCollection(String collection_name)
+    {
+	if (isPersistentServer) {
+	    config(ADD_COMMAND + collection_name);
+	}
+    }
+
+
+    // Used to send messages to the local library
+    static private void config(String command)
+    {
+	if (!isPersistentServer) {
+	    return;
+	}
+	if (Configuration.library_url == null) {
+	    System.err.println("Error: Trying to configure local library with null Configuration.library_url!");
+	    return;
+	}
+
+	try {
+	    URL url = new URL(Configuration.library_url.toString() + command);
+	    HttpURLConnection library_connection = (HttpURLConnection) url.openConnection();
+
+	    // It's very important that we read the output of the command
+	    // This ensures that the command has actually finished
+	    // (The response code is returned immediately)
+	    InputStream library_is = library_connection.getInputStream();
+	    BufferedReader library_in = new BufferedReader(new InputStreamReader(library_is, "UTF-8"));
+	    String library_output_line = library_in.readLine();
+	    while (library_output_line != null) {
+		DebugStream.println("Local library server output: " + library_output_line);
+		library_output_line = library_in.readLine();
+	    }
+	    library_in.close();
+
+	    int response_code = library_connection.getResponseCode();
+	    if (response_code >= HttpURLConnection.HTTP_OK && response_code < HttpURLConnection.HTTP_MULT_CHOICE) {
+		DebugStream.println("200 - Complete.");
+	    }
+	    else {
+		DebugStream.println("404 - Failed.");
+	    }
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+    }
+
+    // Used to send messages to the local library server wrapper to the Apache web server (server.jar)
+    static private boolean sendMessageToServer(String message) {
+	if(isPersistentServer) {
+	    return false;
+	}
+	
+	if(port == -1) {
+	    return false;
+	}
+	    
+	try {
+	    Socket clientSocket = new Socket("localhost", port);
+	    Writer writer = new BufferedWriter(new OutputStreamWriter(clientSocket.getOutputStream()));
+	    writer.write(message);
+	    writer.close();
+	    writer = null;
+	} catch (Exception e) {
+	    System.err.println("An exception occurred when trying to send the message: " + message 
+			       + "\nto the LocalLibraryServer.\n" + e);
+	    return false;
+	} 
+	return true;
+    }
+
+    static public boolean isRunning()
+    {
+	if (!running) return false; // if the url is pending, then running would also be false (server not started up yet)
+
+	llssite_cfg_file.load(true);
+	String url = llssite_cfg_file.getURL();
+	if (url == null) return false;
+	
+	// Called by Gatherer to check whether we need to stop the server.
+	// if the url is pending, then the GSI hasn't started the server up yet
+	// Already covered in !running
+	//if (url.equals(LLSSiteConfig.URL_PENDING)) return false;
+
+	return true;
+    }
+
+
+    static public void releaseCollection(String collection_name)
+    {
+	if (isPersistentServer) {
+	    config(RELEASE_COMMAND + collection_name);
+	}
+    }
+
+    static public boolean start(String gsdl_path, String local_library_server_file_path)
+    {
+	// Check the local library server file (server.exe or gs2-server.sh) exists
+	if(local_library_server_file_path == null) {
+	    return false;
+	}
+	local_library_server_file = new File(local_library_server_file_path);
+	if (local_library_server_file.exists()) {
+	    if(local_library_server_file.getName().equals("server.exe")) {
+		isPersistentServer = true;
+	    } // else it may be gs2-server.bat
+	}
+	else { // local_library_server_file does not exist
+	    DebugStream.println("No local library at given file path.");
+
+	    if(Utility.isWindows()) { // test for server.exe and gs2-server.bat
+		local_library_server_file = new File(gsdl_path + "server.exe");
+		if (local_library_server_file.exists()) {
+		    isPersistentServer = true;
+		} else {
+		    local_library_server_file = new File(gsdl_path + "gs2-server.bat");
+		    if (!local_library_server_file.exists()) {
+			DebugStream.println("No local library at all.");
+			return false;
+		    }
+		}		
+	    } else { // linux
+		local_library_server_file = new File(gsdl_path + "gs2-server.sh");
+		if (!local_library_server_file.exists()) {
+		    DebugStream.println("No local library at all.");
+		    return false;
+		}
+	    }
+	}	
+
+	if(!isPersistentServer) {
+	    // In the case of the Local Library Server on Linux or on Win where there's no server.exe, do an extra test:
+	    // If GS2 was not configured with --enable-apache-httpd, then there is no apache webserver folder,
+	    // even though the gs2-server.sh file would still be there. That means if the folder is absent 
+	    // we still have no local library server.
+
+	    File localServerFolder = new File(gsdl_path, "apache-httpd");
+	    if (!localServerFolder.exists() && !localServerFolder.isDirectory()) {
+		DebugStream.println("The web server does not exist at " 
+			    + localServerFolder.getAbsolutePath() + "\nNo local library at all. Trying web library");
+		return false;
+	    } // else apache-httpd folder exists
+	}
+
+	llssite_cfg_file = new LLSSiteConfig(local_library_server_file);
+	if(!llssite_cfg_file.isConfigFileSet()) {
+	    return false;
+	}
+
+	// from now on return true: we're in local_library_mode (even if the server is not running)
+
+	
+	// If the user launched the GSI independent of GLI, but user has not pressed
+	// Enter Library yet, then we will obtain the previewURL later.
+	if(LocalLibraryServer.isURLPending()) {
+	    // running is still false when the URL is pending because only GSI is running, not the server
+	    return true;
+	} else if(llssite_cfg_file.isIndependentGSI()) {
+	    // there is a url, it's not pending, and it is llssite.cfg: meaning GSI has started up
+	    running = true;
+	    return true;    
+	}
+
+	// Spawn local library server process
+	String local_library_server_command = local_library_server_file.getAbsolutePath() + getExtraLaunchArguments(llssite_cfg_file);
+	if(Utility.isWindows() && !isPersistentServer) { // launching gs2-server.bat (Windows) needs cmd start
+	    local_library_server_command = "cmd.exe /c start \"GSI\" " + local_library_server_command;
+	}
+
+	// Check if the server is already running
+	String url = llssite_cfg_file.getURL();
+	if (url != null) {
+	    // If it is already running then set the Greenstone web server address and we're done
+	    // E.g. if previously GLI was not properly shut down, the URL property (signifying 
+	    // the server is still running) would still be in the glisite_cfg file.
+	    try {
+		Configuration.library_url = new URL(url);
+		running = true;
+
+		// Run the server interface
+		Gatherer.spawnApplication(local_library_server_command, ID);
+		return true;
+	    }
+	    catch (MalformedURLException exception) {
+		DebugStream.printStackTrace(exception);
+	    }
+	}	
+
+	// Configure the server for immediate entry
+	//llssite_cfg_file.set();
+
+	// Spawn local library server process
+	Gatherer.spawnApplication(local_library_server_command, ID);
+	
+	// Wait until program has started
+	try {
+	    //System.err.println("**** testing server...");
+	    testServerRunning(); // will set running = true when the server is up and running successfully
+	    //System.err.println("**** Is server running: " + running);
+	} catch (IOException bad_url_connection) {
+	    try {
+		// If this fails then we try changing the url to be localhost
+		Configuration.library_url = new URL(llssite_cfg_file.getLocalHostURL());
+		DebugStream.println("Try connecting to server on local host: '" + Configuration.library_url + "'");
+		URLConnection connection = Configuration.library_url.openConnection();
+		connection.getContent();
+		running = true;
+		
+	    } catch (IOException worse_url_connection) {
+		DebugStream.println("Can't connect to server on either address.");
+		Configuration.library_url = null;
+		running = false;
+	    }
+	}
+
+	return true;
+    }
+
+
+    static public void stop()
+    {
+	if (!running) {
+	    // also the case if the URL is pending in an independently launched GSI
+	    return;
+	}
+
+	// don't (can't) shutdown the GSI/server if it was launched independent of GLI
+	if(llssite_cfg_file.isIndependentGSI()) {
+	    return;
+	}
+
+	// Send the command for it to exit.
+	if (isPersistentServer) {
+	    config(QUIT_COMMAND);
+	} else {
+	    if(sendMessageToServer("QUIT")) {
+		Gatherer.terminateApplication(ID);
+	    } else {
+		System.err.println("Unable to stop the server, since there's no communication port to send the quit msg over."
+				   + "\nPlease stop the local Greenstone server manually.");	    
+	    }
+	}
+
+	// Wait until program has stopped, by reloading and checking the URL field
+	llssite_cfg_file.load(false);
+	int attempt_count = 0;
+	String url = llssite_cfg_file.getURL();
+	while (url != null && !url.equals(LLSSiteConfig.URL_PENDING)) { // if pending, the server is already stopped (not running)
+	    new OneSecondWait();  // Wait one second (give or take)
+	    llssite_cfg_file.load(false);
+	    attempt_count++;
+
+	    // After waiting for the specified time, ask the user whether they want to wait for that long again
+	    if (attempt_count == WAITING_TIME) {
+		int try_again = JOptionPane.showConfirmDialog(Gatherer.g_man, Dictionary.get("Server.QuitTimeOut", Integer.toString(WAITING_TIME)),
+							      Dictionary.get("General.Warning"), JOptionPane.YES_NO_OPTION);
+		if (try_again == JOptionPane.NO_OPTION) {
+		    return;
+		}
+		attempt_count = 0;
+	    }
+	    // read the url again to see if it's updated
+	    url = llssite_cfg_file.getURL();
+	}
+
+	// Restore the llssite_cfg.
+	llssite_cfg_file.restore();
+
+	// If the local server is still running then our changed values will get overwritten.
+	url = llssite_cfg_file.getURL();
+	if (url != null && !url.equals(LLSSiteConfig.URL_PENDING)) {
+	    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("Server.QuitManual"), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+	}
+
+	running = false;
+    }
+    
+    static private String getExtraLaunchArguments(LLSSiteConfig site_cfg_file) {
+	String args = " " + site_cfg_file.getSiteConfigFilename();
+
+	if(isPersistentServer) {
+	    return args;
+	}
+	
+	// Else, when running the Local Apache Library Server on Linux/Win, need to provide a port argument
+	try {
+	    PortFinder portFinder = new PortFinder(50100, 100);
+	    port = portFinder.findPortInRange(false); // silent mode
+	} catch(Exception e) {
+	    System.err.println("Exception when trying to find an available port: " + e);
+	    port = -1;
+	}
+	
+	return args + " --quitport=" + port;
+    }
+
+
+    // This method first tests whether there is a URL in the llssite_cfg_file 
+    // and after that appears, it tests whether the URL is functional.
+    static private void testServerRunning() throws IOException {
+	// Wait until program has started, by reloading and checking the URL field
+	llssite_cfg_file.load(false);
+	int attempt_count = 0;
+	while (llssite_cfg_file.getURL() == null) {
+	    new OneSecondWait();  // Wait one second (give or take)
+	    //System.err.println("**** One Second Wait");
+	    llssite_cfg_file.load(false);
+	    attempt_count++;
+
+	    // After waiting for the specified time, ask the user whether they want to wait for that long again
+	    if (attempt_count == WAITING_TIME) {
+		int try_again = JOptionPane.showConfirmDialog(Gatherer.g_man, Dictionary.get("Server.StartUpTimeOut", Integer.toString(WAITING_TIME)),
+							      Dictionary.get("General.Warning"), JOptionPane.YES_NO_OPTION);
+		if (try_again == JOptionPane.NO_OPTION) {
+		    return;
+		}
+		attempt_count = 0;
+	    }
+	}
+	
+	// Ta-da. Now the url should be available
+	try {
+	    Configuration.library_url = new URL(llssite_cfg_file.getURL());
+	}
+	catch (MalformedURLException exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+
+	// A quick test involves opening a connection to get the home page for this collection
+	try {
+	    DebugStream.println("Try connecting to server on config url: '" + Configuration.library_url + "'");
+	    URLConnection connection = Configuration.library_url.openConnection();
+	    connection.getContent();
+	    running = true;
+	}
+	catch (IOException bad_url_connection) {
+	    throw bad_url_connection;
+	}
+
+	
+    }
+
+    /** Returns true if we're waiting on the user to click on Enter Library button
+     * in an independently launched GSI (one not launched by GLI). */
+    static public boolean isURLPending() {
+	//if(Configuration.library_url != null) {
+	//System.err.println("**** Configuration.library_url: " + Configuration.library_url );
+	//return false; // don't need to do anything as we already have the url
+	//}
+
+	llssite_cfg_file.load(true); // don't force reload, load only if modified
+
+	String url = llssite_cfg_file.getURL();
+
+	if(url != null) {
+	    if(url.equals(LLSSiteConfig.URL_PENDING)) {
+		running = false; // imagine if they restarted an external GSI
+		return true; 
+	    } else {
+		// a valid URL at last
+		try {
+		    Configuration.library_url = new URL(url);
+		    running = true;
+		}
+		catch (MalformedURLException exception) {
+		    running = false;
+		    exception.printStackTrace();
+		    DebugStream.printStackTrace(exception);		    
+		}
+		return false;
+	    }
+	}
+
+	// If either the URL is null--which means no independent GSI (Greenstone server interface
+	// app) was launched--or if the 'URL' doesn't say it's pending, then we're not waiting
+	return false;
+    }
+
+    static public void checkServerRunning() {
+	if (!running) return; // don't worry about it if it's not supposed to be running 
+	llssite_cfg_file.load(true); // don't force reload, load only if modified
+	
+	String url = llssite_cfg_file.getURL();
+	if(url != null) {
+	    if(url.equals(LLSSiteConfig.URL_PENDING)) {
+		running = false;
+		return;
+	    }
+
+	    // else, valid URL:
+	    try {
+		Configuration.library_url = new URL(url);
+		running = true;
+	    }
+	    catch (MalformedURLException exception) {
+		running = false;
+		DebugStream.printStackTrace(exception);
+		exception.printStackTrace();
+	    }
+	}
+	else { // NO URL in current ConfigFile, check the other configfile for a URL 
+	    // to see if the server was restarted using that file.
+	    // Otherwise need to restart the server again with GLIsite.cfg
+	    llssite_cfg_file.save(); // save the configfile, because we may be reloading another
+
+	    if(llssite_cfg_file.usingLLS_configFile()) { // if a GSI is already using llssite_cfg, this would have loaded it in
+		url = llssite_cfg_file.getURL(); //if(isURLPending()) {
+		if(url.equals(LLSSiteConfig.URL_PENDING)) {
+		    running = false;
+		} else {
+		    running = true;
+		}
+		return; // don't need to launch the server, one has been independently launched
+	    } else {
+		// else we try using the glisite configfile
+		llssite_cfg_file.useGLISiteCfg(local_library_server_file);
+	    	//llssite_cfg_file.set();
+	    
+		// Spawn local library server process
+		running = false;
+		String local_library_server_command = local_library_server_file.getAbsolutePath() + getExtraLaunchArguments(llssite_cfg_file);
+		if(Utility.isWindows() && !isPersistentServer) { // launching gs2-server.bat (Windows) needs cmd start
+		    local_library_server_command = "cmd.exe /c start \"GSI\" " + local_library_server_command;
+		}
+		Gatherer.spawnApplication(local_library_server_command, ID);
+		try {
+		    testServerRunning(); // don't return until the webserver is up and running
+		} catch (IOException bad_url_connection) {
+		    DebugStream.println("Can't connect to server on address " + Configuration.library_url);
+		    running = false;
+		}
+	    }
+	}
+    }
+
+    static private class OneSecondWait
+    {
+	public OneSecondWait()
+	{
+	    synchronized(this) {
+		try {
+		    wait(1000);
+		}
+		catch (InterruptedException exception) {
+		}
+	    }
+	}
+    }
+
+
+    static public class LLSSiteConfig
+	extends LinkedHashMap 
+    {
+	private File configFile;
+
+	private File llssite_cfg;
+	private File glisite_cfg;
+	private String autoenter_initial;
+	private String start_browser_initial;
+
+	private long lastModified = 0;
+    
+	static final private String AUTOENTER = "autoenter";
+	static final private String COLON = ":";
+	static final private String ENTERLIB = "enterlib";
+	static final private String FALSE = "0";
+	static final private String GLISITE_CFG = "glisite.cfg";
+	static final private String GSDL = "greenstone"; // httpprefix is no longer /gsdl but /greenstone
+	static final private String LLSSITE_CFG = "llssite.cfg";
+	static final private String LOCAL_HOST = "http://localhost"; 
+	static final private String PORTNUMBER = "portnumber";
+	static final private String SEPARATOR = "/";
+	static final private String SPECIFIC_CONFIG = "--config=";
+	static final private String STARTBROWSER = "start_browser";
+	static final private String TRUE = "1";
+	static final private String URL = "url";
+
+	static final public String URL_PENDING = "URL_pending";
+
+	
+	public LLSSiteConfig(File server_exe) {
+	    debug("New LLSSiteConfig for: " + server_exe.getAbsolutePath());
+	    
+	    llssite_cfg = new File(server_exe.getParentFile(), LLSSITE_CFG);
+	    glisite_cfg = new File(server_exe.getParentFile(), GLISITE_CFG);
+
+	    configFile = null;
+
+	    autoenter_initial = null;
+	    start_browser_initial = null;
+	    
+	    // first test if server was started independently of GLI
+	    // if so, the config file we'd be using would be llssite.cfg
+	    if(!usingLLS_configFile()) { // if we were using llssite_cfg, this would have loaded it in
+		// else we try using the glisite configfile
+		useGLISiteCfg(server_exe);
+	    }
+	}
+
+	/** Tries to get a glisite.cfg file and then loads it, setting it as the configFile */
+	public void useGLISiteCfg(File server_exe)
+	{
+	    if(!glisite_cfg.exists()) { // create it from the templates or the llssite.cfg file
+		
+		File llssite_cfg_in = new File(server_exe.getParentFile(), LLSSITE_CFG+".in");
+		File glisite_cfg_in = new File(server_exe.getParentFile(), GLISITE_CFG+".in");
+		
+		// need to generate glisite_cfg from glisite_cfg_in, llssite_cfg or llssite.cfg.in
+		if(glisite_cfg_in.exists()) {
+		    copyConfigFile(glisite_cfg_in, glisite_cfg, false);    
+		} 
+		else if(llssite_cfg_in.exists()) { 
+		    copyConfigFile(llssite_cfg_in, glisite_cfg_in, true); // adjust for glisite.cfg
+		    copyConfigFile(glisite_cfg_in, glisite_cfg, false);    
+		}
+		else if(llssite_cfg.exists()) {
+		    copyConfigFile(llssite_cfg, glisite_cfg, true);        // adjust for glisite.cfg
+		}
+		else {
+		    debug("Neither the file glisite.cfg nor llssite.cfg can be found!");
+		}
+	    }
+	    // use the config file now
+	    if(glisite_cfg.exists()) {
+		configFile = glisite_cfg;
+		load(false); // force reload
+		lastModified = configFile.lastModified();
+	    } 
+	}
+
+	/** Tests whether the server interface is up, running independently of GLI
+	 * If so, we don't need to launch the server interface.
+	 * The server interface may not have started up the server itself though
+	 * (in which case the server URL would be URL_PENDING).
+	 * This method returns true if the server interface has already started
+	 * and, if so, it would have loaded in the llssite_cfg configFile.
+	 */
+	public boolean usingLLS_configFile() {
+	    if(!llssite_cfg.exists()) {
+		return false;
+	    }
+
+	    // Now to check if the configfile contains the URL line
+	    configFile = llssite_cfg;
+	    load(false); // force load
+
+	    if(getURL() == null) {
+		configFile = null;
+		clear(); // we're not using llssite_cfg, so clear the values we just read
+		return false;
+	    }
+
+	    lastModified = configFile.lastModified();
+	    return true;
+	}
+
+	/** To test we've actually instantiated this object meaningfully. If so, then configFile is set */
+	public boolean isConfigFileSet() {
+	    return (configFile != null && configFile.exists());
+	}
+	
+	/** @return true if GSI was started up independently and outside of GLI. 
+	 * In such a case, GLI would be using llssite_cfg. */
+	public boolean isIndependentGSI() {
+	    return (configFile == llssite_cfg);
+	}
+
+	public boolean exists() {
+	    return configFile.exists();
+	}
+
+	public String getLocalHostURL() {
+	    StringBuffer url = new StringBuffer(LOCAL_HOST);
+	    url.append(COLON);
+	    url.append((String)get(PORTNUMBER));
+	    String enterlib = (String)get(ENTERLIB);
+	    if(enterlib == null || enterlib.length() == 0) {
+		// Use the default /gsdl and hope for the best.
+		url.append(SEPARATOR);
+		url.append(GSDL);
+	    }
+	    else {
+		if(!enterlib.startsWith(SEPARATOR)) {
+		    url.append(SEPARATOR);
+		}
+		url.append(enterlib);
+	    }
+	    enterlib = null;
+	    debug("Found Local Library Address: " + url.toString());
+	    return url.toString();
+	}
+
+	/** @return the cmd-line parameter for the configfile used to launch
+	 * the server through GLI: --config <glisite.cfg/llssite.cfg file path>. */
+	public String getSiteConfigFilename() {
+	    return SPECIFIC_CONFIG + configFile.getAbsolutePath();
+	}
+
+	public String getURL() {
+	    // URL is made from url and portnumber
+	    String url = (String) get(URL);
+
+	    // server interface is already up, independent of GLI
+	    // but it has not started the server (hence URL is pending) 
+	    if(url != null && url.equals(URL_PENDING)) {
+		return url;
+	    }
+
+	    if(!isPersistentServer) {
+		return url;
+	    }
+
+	    if(url != null) {
+		StringBuffer temp = new StringBuffer(url);
+		temp.append(COLON);
+		temp.append((String)get(PORTNUMBER));
+		String enterlib = (String)get(ENTERLIB);
+		if(enterlib == null || enterlib.length() == 0) {
+		    // Use the default /greenstone prefix and hope for the best.
+		    temp.append(SEPARATOR);
+		    temp.append(GSDL);
+		}
+		else {
+		    if(!enterlib.startsWith(SEPARATOR)) {
+			temp.append(SEPARATOR);
+		    }
+		    temp.append(enterlib);
+		}
+		enterlib = null;
+		url = temp.toString();
+	    }
+	    debug("Found Local Library Address: " + url);
+	    return url;
+	}
+
+	public boolean isModified() {
+	    return (lastModified != configFile.lastModified());
+	}
+
+	public void load(boolean reloadOnlyIfModified) {	    
+
+	    if(configFile == null) {
+		debug(configFile.getAbsolutePath() + " cannot be found!");
+	    }
+
+	    if(isModified()) {
+		lastModified = configFile.lastModified();
+	    } else if(reloadOnlyIfModified) {
+		return; // asked to reload only if modified. Don't reload since not modified
+	    }
+
+	    if(configFile.exists()) {
+		debug("Load: " + configFile.getAbsolutePath());
+		clear();
+		try {
+		    BufferedReader in = new BufferedReader(new FileReader(configFile));
+		    String line = null;
+		    while((line = in.readLine()) != null) {
+			String key = null;
+			String value = null;
+			int index = -1;
+			if((index = line.indexOf("=")) != -1 && line.length() >= index + 1) {
+			    key = line.substring(0, index);
+			    value = line.substring(index + 1);
+			}
+			else {
+			    key = line;
+			}
+			put(key, value);
+		    }
+		    in.close();
+		}
+		catch (Exception error) {
+		    error.printStackTrace();
+		}
+	    }
+	    else {
+		debug(configFile.getAbsolutePath() + " cannot be found!");
+	    }
+	}
+
+	/** Restore the autoenter value to its initial value, and remove url if present. */
+	public void restore() {
+	    if(configFile != null) {
+		// Delete the file
+		configFile.delete();
+	    }
+	    else {
+		debug("Restore Initial Settings");
+		put(AUTOENTER, autoenter_initial);
+		put(STARTBROWSER, start_browser_initial);
+		remove(URL);
+		save();
+	    }
+	}
+
+	public void set() {
+	    debug("Set Session Settings");
+	    if(autoenter_initial == null) {
+		autoenter_initial = (String) get(AUTOENTER);
+		debug("Remember autoenter was: " + autoenter_initial);
+	    }
+	    put(AUTOENTER, TRUE);
+	    if(start_browser_initial == null) {
+		start_browser_initial = (String) get(STARTBROWSER);
+		debug("Remember start_browser was: " + start_browser_initial);
+	    }
+	    put(STARTBROWSER, FALSE);
+	    save();
+	}
+
+	private void debug(String message) {
+	    ///ystem.err.println(message);
+	}
+
+	private void save() {
+	    //debug("Save: " + llssite_cfg.getAbsolutePath());
+	    debug("Save: " + configFile.getAbsolutePath());
+	    try {
+		//BufferedWriter out = new BufferedWriter(new FileWriter(llssite_cfg, false));
+		BufferedWriter out = new BufferedWriter(new FileWriter(configFile, false));
+		for(Iterator keys = keySet().iterator(); keys.hasNext(); ) {
+		    String key = (String) keys.next();
+		    String value = (String) get(key);
+		    out.write(key, 0, key.length());
+		    if(value != null) {
+			out.write('=');
+			
+			// if the server is using llssite.cfg, don't overwrite its default
+			// autoenter and startbrowser values
+			if(configFile == llssite_cfg && (key == AUTOENTER || key == STARTBROWSER)) {
+			    if(key == AUTOENTER) {
+				out.write(autoenter_initial, 0, autoenter_initial.length());
+			    } else { // STARTBROWSER
+				out.write(start_browser_initial, 0, start_browser_initial.length());
+			    }
+			 } else {
+			     out.write(value, 0, value.length());
+			}
+		    }
+		    out.newLine();
+		}
+		out.flush();
+		out.close();
+	    }
+	    catch (Exception error) {
+		error.printStackTrace();
+	    }
+	}
+
+	private static void copyConfigFile(File source_cfg, File dest_cfg, boolean setToGliSiteDefaults) {
+	    // source_cfg file should exist
+	    // dest_cfg file should not yet exist
+	    // If setToGliSiteDefaults is true, then GLIsite.cfg's default configuration 
+	    // is applied to concerned lines: autoenter=1, and startbrowser=0
+
+	    try {
+		BufferedReader in = new BufferedReader(new FileReader(source_cfg));
+		BufferedWriter out = new BufferedWriter(new FileWriter(dest_cfg, false));
+		
+		String line = null;
+		while((line = in.readLine()) != null) {
+		    
+		    if(setToGliSiteDefaults) {
+			if(line.startsWith(AUTOENTER)) {
+			    line = AUTOENTER+"=1";
+			}
+			else if(line.startsWith(STARTBROWSER)) {
+			    line = STARTBROWSER+"=0";
+			}
+		    }
+		
+		    // write out the line
+		    out.write(line + "\n");
+		}
+		
+		out.flush();
+		in.close();
+		out.close();
+	    } catch(Exception e) {
+		System.err.println("Exception occurred when trying to copy the config file "
+				   + source_cfg.getName() + " to " + dest_cfg.getName() + ": " + e);
+		e.printStackTrace();
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/greenstone/Plugins.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/greenstone/Plugins.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/greenstone/Plugins.java	(revision 21123)
@@ -0,0 +1,319 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.greenstone;
+
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.cdm.Argument;
+import org.greenstone.gatherer.cdm.Plugin;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+import org.xml.sax.*;
+
+
+/** This class is for maintaining a list of known plug-ins, and importing new plugins using the parser. */
+public class Plugins
+{
+    // A list of all the plugins in the core Greenstone "perllib/plugins" folder (arguments may not be loaded)
+    static private ArrayList core_greenstone_plugins_list = null;
+    // The name of the loaded collection
+    static private String collection_name = null;
+    // A list of all the plugins in the loaded collection's "perllib/plugins" folder (arguments may not be loaded)
+    static private ArrayList collection_specific_plugins_list = new ArrayList();
+
+
+    static public Plugin getPlugin(String plugin_name, boolean arguments_required)
+    {
+	Plugin plugin = null;
+	boolean collection_specific = false;
+
+	// Check the collection-specific plugins first
+	for (int i = 0; i < collection_specific_plugins_list.size(); i++) {
+	    Plugin collection_specific_plugin = (Plugin) collection_specific_plugins_list.get(i);
+	    if (collection_specific_plugin.getName().equals(plugin_name)) {
+		plugin = collection_specific_plugin;
+		collection_specific = true;
+		break;
+	    }
+	}
+
+	// Try the core Greenstone plugins if necessary
+	if (plugin == null) {
+	    for (int i = 0; i < core_greenstone_plugins_list.size(); i++) {
+		Plugin core_greenstone_plugin = (Plugin) core_greenstone_plugins_list.get(i);
+		if (core_greenstone_plugin.getName().equals(plugin_name)) {
+		    plugin = core_greenstone_plugin;
+		    break;
+		}
+	    }
+	}
+
+	// If we've found the plugin, load its arguments now, if required
+	if (plugin != null && arguments_required) {
+	    if (!plugin.hasLoadedOptions()) {
+		loadPluginInfo(plugin, collection_specific);
+	    }
+	    else {
+		DebugStream.println("Already loaded arguments for " + plugin_name + "!");
+	    }
+	}
+
+	return plugin;
+    }
+
+
+    /** Returns a new list from merging the collection-specific and the core Greenstone plugins. */
+    static public ArrayList getPluginsList()
+    {
+	ArrayList plugins_list = new ArrayList();
+	plugins_list.addAll(collection_specific_plugins_list);
+
+	// Add in the core Greenstone plugins, taking care not to overwrite any collection-specific ones
+	for (int i = 0; i < core_greenstone_plugins_list.size(); i++) {
+	    Plugin core_greenstone_plugin = (Plugin) core_greenstone_plugins_list.get(i);
+
+	    boolean found = false;
+	    for (int j = 0; j < collection_specific_plugins_list.size(); j++) {
+		Plugin collection_specific_plugin = (Plugin) collection_specific_plugins_list.get(j);
+		if (core_greenstone_plugin.getName().equals(collection_specific_plugin.getName())) {
+		    found = true;
+		    break;
+		}
+	    }
+
+	    if (!found) {
+		plugins_list.add(core_greenstone_plugin);
+	    }
+	}
+
+	return plugins_list;
+    }
+
+
+    static private void loadPluginInfo(Plugin plugin, boolean collection_specific)
+    {
+	DebugStream.println("Loading arguments for " + plugin.getName() + "...");
+
+	// Run pluginfo.pl to get the list of plugins
+	try {
+	    String pluginfo_xml = null;
+	    if (Gatherer.isGsdlRemote) {
+		String pluginfo_options = "&plugin=" + plugin;
+		if (collection_specific) {
+		    pluginfo_options += "&collection=" + collection_name;
+		}
+		pluginfo_xml = Gatherer.remoteGreenstoneServer.getScriptOptions("pluginfo.pl", pluginfo_options);
+	    }
+	    else {
+		ArrayList args = new ArrayList();
+		args.add(Configuration.perl_path);
+		args.add("-S");
+		args.add(LocalGreenstone.getBinScriptDirectoryPath() + "pluginfo.pl");
+		if (collection_specific) {
+		    args.add("-collection");
+		    args.add(collection_name);
+		}
+		args.add("-xml");
+		args.add("-language");
+		args.add(Configuration.getLanguage());
+		args.add(plugin.getName());
+
+		// Run the pluginfo.pl process
+		Runtime runtime = Runtime.getRuntime();
+		Process process = runtime.exec((String[]) args.toArray(new String[] { }));
+		InputStream input_stream = process.getErrorStream();
+		StringBuffer pluginfo_xml_buffer = XMLTools.readXMLStream(input_stream);
+		if (pluginfo_xml_buffer != null) {
+		    pluginfo_xml = pluginfo_xml_buffer.toString();
+		}
+	    }
+
+	    // Check the XML output was obtained successfully
+	    if (pluginfo_xml == null || pluginfo_xml.length() == 0) {
+		plugin.setHasLoadedOptions(false); // failure to load options
+		JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CDM.PlugInManager.PlugIn_XML_Parse_Failed", plugin.getName()), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+		return;
+	    } else {
+		plugin.setHasLoadedOptions(true);
+	    }
+
+	    parsePluginInfoXML(plugin, pluginfo_xml);
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+    }
+
+
+    static public void loadPluginsList(String collection_name_arg)
+    {
+	DebugStream.println("In loadPluginsList()...");
+
+	// If we're getting the collection-specific plugins, clear the old list no matter what
+	if (collection_name_arg != null) {
+	    collection_name = collection_name_arg;
+	    collection_specific_plugins_list = new ArrayList();
+	}
+
+	// Run pluginfo.pl to get the list of plugins
+	try {
+	    StringBuffer xml = null;
+	    if (Gatherer.isGsdlRemote) {
+		String pluginfo_options = "&listall";
+		if (collection_name != null) {
+		    pluginfo_options += "&collection=" + collection_name;
+		}
+		String pluginfo_output = Gatherer.remoteGreenstoneServer.getScriptOptions("pluginfo.pl", pluginfo_options);
+		xml = new StringBuffer(pluginfo_output);
+	    }
+	    else {
+		ArrayList args = new ArrayList();
+		args.add(Configuration.perl_path);
+		args.add("-S");		
+		args.add(LocalGreenstone.getBinScriptDirectoryPath() + "pluginfo.pl");
+		if (collection_name != null) {
+		    args.add("-collection");
+		    args.add(collection_name);
+		}
+		args.add("-listall");
+		args.add("-xml");
+
+		// Run the pluginfo.pl process
+		Runtime runtime = Runtime.getRuntime();
+		Process process = runtime.exec((String[]) args.toArray(new String[] { }));
+		InputStream input_stream = process.getErrorStream();
+		xml = XMLTools.readXMLStream(input_stream);
+	    }
+
+	    // Check the XML output was obtained successfully
+	    if (xml == null || xml.length() == 0) {
+		JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CDM.PluginManager.Plugin_List_XML_Parse_Failed"), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+		return;
+	    }
+
+	    if (collection_name != null) {
+		collection_specific_plugins_list = parsePluginsListXML(xml.toString());
+	    }
+	    else {
+		core_greenstone_plugins_list = parsePluginsListXML(xml.toString());
+	    }
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+    }
+
+
+    static private void parsePluginInfoXML(Plugin plugin, String xml)
+    {
+	Document document = XMLTools.parseXML(new StringReader(xml));
+	if (document == null) {
+	    plugin.setHasLoadedOptions(false); // failure to load the options/failed plugin
+	    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("CDM.PlugInManager.PlugIn_XML_Parse_Failed", plugin.getName()), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+	    return;
+	} else {
+	    plugin.setHasLoadedOptions(true);
+	}
+
+	parsePluginInfoXMLNode(plugin, document.getDocumentElement());
+    }
+
+
+    static private void parsePluginInfoXMLNode(Plugin plugin, Node root_node)
+    {
+	for (Node node = root_node.getFirstChild(); node != null; node = node.getNextSibling()) {
+	    String node_name = node.getNodeName();
+
+	    if (node_name.equalsIgnoreCase("Name")) {
+		plugin.setName(XMLTools.getValue(node));
+	    }
+	    else if (node_name.equals("Desc")) {
+		plugin.setDescription(XMLTools.getValue(node));
+	    }
+	    else if (node_name.equals("Abstract")) {
+		plugin.setIsAbstract(XMLTools.getValue(node).equalsIgnoreCase(StaticStrings.YES_STR));
+	    }
+	    else if (node_name.equalsIgnoreCase("Explodes")) {
+		plugin.setDoesExplodeMetadataDatabases(XMLTools.getValue(node).equalsIgnoreCase(StaticStrings.YES_STR));
+	    }
+	    else if (node_name.equalsIgnoreCase("SourceReplaceable")) { // looking for <SourceReplaceable> tag
+		plugin.setDoesReplaceSrcDocsWithHtml(XMLTools.getValue(node).equalsIgnoreCase(StaticStrings.YES_STR));
+	    }
+	    else if (node_name.equalsIgnoreCase("Processes")) {
+		plugin.setDefaultProcessExpression(XMLTools.getValue(node));
+	    }
+	    else if (node_name.equalsIgnoreCase("Blocks")) {
+		plugin.setDefaultBlockExpression(XMLTools.getValue(node));
+	    }
+	    // Parse the plugin arguments
+	    else if (node_name.equalsIgnoreCase("Arguments")) {
+		for (Node argument_node = node.getFirstChild(); argument_node != null; argument_node = argument_node.getNextSibling()) {
+		    // An option
+		    if (argument_node.getNodeName().equalsIgnoreCase("Option")) {
+			Argument argument = new Argument();
+			argument.parseXML((Element) argument_node);
+			plugin.addArgument(argument);
+		    }
+		}
+	    }
+	    // A super plugin class
+	    else if (node_name.equalsIgnoreCase("PlugInfo")) {
+		Plugin super_plugin = new Plugin();
+		parsePluginInfoXMLNode(super_plugin, node);
+		plugin.setSuper(super_plugin);
+	    }
+	}
+    }
+
+
+    static private ArrayList parsePluginsListXML(String xml)
+    {
+	ArrayList plugins_list = new ArrayList();
+
+	Document document = XMLTools.parseXML(new StringReader(xml));
+	Node root = document.getDocumentElement();
+	for (Node node = root.getFirstChild(); node != null; node = node.getNextSibling()) {
+	    String node_name = node.getNodeName();
+
+	    if (node_name.equals("PlugInfo")) {
+		Plugin plugin = new Plugin();
+		parsePluginInfoXMLNode(plugin, node);
+		plugins_list.add(plugin);
+	    }
+	}
+
+	return plugins_list;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/greenstone3/ServletConfiguration.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/greenstone3/ServletConfiguration.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/greenstone3/ServletConfiguration.java	(revision 21123)
@@ -0,0 +1,186 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.greenstone3;
+
+import java.awt.*;
+import java.io.*;
+import java.lang.ref.*;
+import java.net.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.plaf.*;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.util.ArrayTools;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.util.XMLTools;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.w3c.dom.*;
+
+/** This class stores the mapping between sites and servlets available for them. The info is read in from the web.xml file.
+ * @author Katherine Don, New Zealand Digital Library, University of Waikato
+ * @version 
+ */
+public class ServletConfiguration {
+    
+    static public String ADD_COMMAND = "?a=s&sa=a&st=collection&sn=";
+    static public String DEACTIVATE_COMMAND = "?a=s&sa=d&st=collection&sn=";
+    private String gsdl3_path = "";
+    private ArrayList sites = null;
+    private HashMap mappings = null;
+
+    public ServletConfiguration(String gsdl3_path) {
+	
+	this.gsdl3_path = gsdl3_path;
+
+	if (Gatherer.isGsdlRemote){
+	    if (Gatherer.remoteGreenstoneServer.downloadWebXMLFile().equals("")) {
+		System.err.println("Error: Could not download web.xml.");
+		System.exit(0);
+	    }
+	}
+	//String web_xml_path = gsdl3_path + File.separator + "web" + File.separator + "WEB-INF"+ File.separator + "web.xml";
+	File web_xml;
+	if (Gatherer.isGsdlRemote){
+	    web_xml = new File(gsdl3_path + "web.xml");
+	}else{
+	    web_xml = new File(gsdl3_path + "WEB-INF"+ File.separator + "web.xml");
+	}
+	if (!web_xml.exists()) {
+	    DebugStream.println("Error: no web.xml found at "+web_xml.toString());
+	    return;
+	}
+
+	this.sites = new ArrayList();
+	if (Gatherer.isGsdlRemote){
+	    String sites_on_server = Gatherer.remoteGreenstoneServer.getSiteNames();
+	    if (sites_on_server.equals("")) {
+		// !! Something went wrong : could not get names of the sites
+		System.err.println("Error: Could not get names of the sites.");
+		System.exit(0);
+	    }
+	   
+	    String[] sites_arr=sites_on_server.split("-----");
+	    for (int i=0; i<sites_arr.length; i++){
+		if (!(sites_arr[i].trim().equals(""))){
+		    this.sites.add(sites_arr[i].trim());
+		}
+	    }
+	}else{
+	    // find the sites
+	    File start = new File(Utility.getSitesDir(gsdl3_path));
+	    File possible_sites[] = start.listFiles();
+	    ArrayTools.sort(possible_sites);
+	    for (int i=0; possible_sites != null && i < possible_sites.length; i++) {
+		File site_config = new File(possible_sites[i], "siteConfig.xml");
+		if (site_config.exists()) {
+		    this.sites.add(possible_sites[i].getName());
+		}
+	    }
+	}
+
+	this.mappings = new HashMap();
+	Document web_config = XMLTools.parseXMLFile(web_xml.getAbsolutePath(), false);
+       
+	NodeList servlet_mappings = web_config.getElementsByTagName("servlet-mapping");
+	// make a little map class
+	HashMap url_mappings = new HashMap();
+	for (int i=0; i<servlet_mappings.getLength(); i++) {
+	    Element map = (Element)servlet_mappings.item(i);
+	    String name = XMLTools.getValue(XMLTools.getNodeFromNamed(map, "servlet-name"));
+	    String pattern = XMLTools.getValue(XMLTools.getNodeFromNamed(map, "url-pattern"));
+	    url_mappings.put(name, pattern);
+
+	}
+
+	NodeList servlets = web_config.getElementsByTagName("servlet");
+	for (int i=0; i<servlets.getLength(); i++) {
+	    Element servlet = (Element)servlets.item(i);
+	    String name = XMLTools.getValue(XMLTools.getNodeFromNamed(servlet, "servlet-name"));
+	    String description = XMLTools.getValue(XMLTools.getNodeFromNamed(servlet, "description"));
+	    String site = getServletSite(servlet);
+	       
+	    if (site != null) {
+		ArrayList this_site = (ArrayList)mappings.get(site);
+		if (this_site == null) {
+		    this_site = new ArrayList();
+		}
+		String url = (String)url_mappings.get(name);
+		this_site.add(url);
+		mappings.put(site, this_site);
+	    }
+	    
+	}
+
+	web_config = null;
+	url_mappings = null;
+    }
+    
+    public ArrayList getSites() {
+	return this.sites;
+    }
+
+    public ArrayList getServletsForSite(String site) {
+	return (ArrayList)this.mappings.get(site);
+    }
+    public String getServletPath(String site) {
+	
+	// for now, get the first one
+	ArrayList servlets = (ArrayList)mappings.get(site);
+	if(servlets == null) {
+	    return null;
+	}
+	return (String)servlets.get(0);
+    }
+
+    private String getServletSite(Element servlet) {
+	
+	NodeList params = servlet.getElementsByTagName("init-param");
+	if ( params == null || params.getLength() == 0) {
+	    return null;
+	}
+	String site = null;
+	for (int i=0; i<params.getLength()&& site == null; i++) {
+	    String p_name = XMLTools.getValue(XMLTools.getNodeFromNamed(params.item(i), "param-name"));
+	    if (p_name.equals("site_name")) {
+		site = XMLTools.getValue(XMLTools.getNodeFromNamed(params.item(i), "param-value"));
+	    }
+	}
+	return site;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/AboutDialog.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/AboutDialog.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/AboutDialog.java	(revision 21123)
@@ -0,0 +1,186 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Greenstone Librarian Interface (GLI) application, 
+ * part of the Greenstone digital library software suite from the New 
+ * Zealand Digital Library Project at the University of Waikato, 
+ * New Zealand.
+ *
+ * Author: John Thompson
+ *         Greenstone Project, New Zealand Digital Library
+ *         University of Waikato
+ *         http://www.nzdl.org
+ *
+ * Copyright (C) 2004 New Zealand Digital Library, University of Waikato
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.util.JarTools;
+import org.greenstone.gatherer.util.Utility;
+
+/** Generates a pretty about dialog which not only thanks those for their contributions but also meets our legal requirements if we wish to ship the JVM with GLI.
+ * @author John Thompson, Greenstone Project, New Zealand Digital Library, University of Waikato
+ * @version 2.41 final
+ */
+// RICOH SOURCE CODE PUBLIC LICENSE - http://www.risource.org/RPL/RPL-1.0A.shtml
+public class AboutDialog
+    extends JDialog {
+    /** The default size of the about dialog. */
+    static final private Dimension SIZE = new Dimension(600, 325);
+    /** The size of the GLI icon to display on dialog. */
+    static final private int ICON_SIZE = 65;
+    /** A reference to ourself so that our inner classes can dismiss us. */
+    private AboutDialog self;
+    /** The button used for dismissing the about dialog. */
+    private JButton close_button;
+    /** The constructor not only builds, but displays the about dialog. This method doesn't return until the dialog is dismissed.
+     * @param parent the JFrame which owns this dialog for use in centering the dialog
+     * @see org.greenstone.gatherer.Dictionary#get
+     * @see org.greenstone.gatherer.Dictionary#setBoth
+     * @see org.greenstone.gatherer.Dictionary#setText
+     * @see org.greenstone.gatherer.gui.AboutDialog.CloseButtonListener
+     * @see org.greenstone.gatherer.gui.GLIButton
+     */
+    public AboutDialog(JFrame parent) {
+	super(parent, Dictionary.get("AboutDialog.Title"), true);
+	this.self = this;
+	setSize(SIZE);
+        this.setComponentOrientation(Dictionary.getOrientation());        
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel upper_pane = new JPanel();
+        upper_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	String gmedium_image = "gatherer_medium.gif";
+	if (Configuration.fedora_info.isActive()) {
+	    gmedium_image = "fli-" + gmedium_image;
+	}
+
+	ImageIcon icon = JarTools.getImage(gmedium_image);
+	ImageIcon scaled_icon = new ImageIcon(icon.getImage().getScaledInstance(ICON_SIZE, ICON_SIZE, Image.SCALE_DEFAULT));
+	JLabel icon_label = new JLabel(scaled_icon);
+	icon_label.setComponentOrientation(Dictionary.getOrientation());
+        
+        JPanel title_pane = new JPanel();
+	title_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+        JLabel title_one_label = new JLabel(Dictionary.get("AboutDialog.Title_One"));
+	title_one_label.setComponentOrientation(Dictionary.getOrientation());
+        JLabel title_two_label = new JLabel(Gatherer.PROGRAM_NAME + " " + Gatherer.PROGRAM_VERSION + " " + Dictionary.get("AboutDialog.Date"));
+        title_two_label.setComponentOrientation(Dictionary.getOrientation());
+        JLabel title_three_label = new JLabel(Dictionary.get("AboutDialog.Title_Two"));
+	title_three_label.setComponentOrientation(Dictionary.getOrientation());
+        JLabel copyright_label = new JLabel(Dictionary.get("AboutDialog.Copyright"));
+	copyright_label.setComponentOrientation(Dictionary.getOrientation());
+        JLabel gpl_label = new JLabel(Dictionary.get("AboutDialog.Copyright_Two"));
+        gpl_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	JTextArea text = new JTextArea();
+        text.setComponentOrientation(Dictionary.getOrientation());
+	text.setLineWrap(true);
+	text.setWrapStyleWord(true);
+        
+        
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	close_button = new GLIButton(Dictionary.get("General.Close"), Dictionary.get("General.Close_Tooltip"));
+	
+	// Connection
+	close_button.addActionListener(new CloseButtonListener());
+
+	// Layout
+	icon_label.setBorder(BorderFactory.createEmptyBorder(0,0,0,10));
+
+	title_pane.setLayout(new GridLayout(5,1,0,2));
+	title_pane.add(title_one_label);
+	title_pane.add(title_two_label);
+	title_pane.add(title_three_label);
+	title_pane.add(copyright_label);
+	title_pane.add(gpl_label);
+		  
+	upper_pane.setBorder(BorderFactory.createEmptyBorder(0,0,5,0));
+	upper_pane.setLayout(new BorderLayout());
+	upper_pane.add(icon_label, BorderLayout.LINE_START);
+	upper_pane.add(title_pane, BorderLayout.CENTER);
+
+	button_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	button_pane.setLayout(new BorderLayout());
+	button_pane.add(close_button, BorderLayout.LINE_END);
+
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(upper_pane, BorderLayout.NORTH);
+	content_pane.add(new JScrollPane(text), BorderLayout.CENTER);
+	content_pane.add(button_pane, BorderLayout.SOUTH);
+
+	// Build text content
+	text.append(Dictionary.get("AboutDialog.Java_Req"));
+	text.append("\n");
+	text.append(Dictionary.get("AboutDialog.Java_Req_One"));
+	text.append("\n");
+	text.append(Dictionary.get("AboutDialog.Java_Req_Two"));
+	text.append("\n\n");
+	text.append("*****" + Dictionary.get("AboutDialog.Acknowledgement") + "*****");
+	text.append("\n\n");
+	text.append(Dictionary.get("AboutDialog.Item0"));
+	text.append("\n\n");
+	text.append(Dictionary.get("AboutDialog.Item2"));
+	text.append("\n\n");
+	text.append(Dictionary.get("AboutDialog.Item3"));
+	text.append("\n\n");
+	text.append("*****" + Dictionary.get("AboutDialog.Thanks") + "*****");
+	text.append("\n\n");
+	text.append(Dictionary.get("AboutDialog.Item4"));
+	text.append("\n\n");
+	text.append(Dictionary.get("AboutDialog.Item5"));
+	text.append("\n\n");
+	text.append(Dictionary.get("AboutDialog.Item6"));
+	text.append("\n\n");
+	text.append(Dictionary.get("AboutDialog.Item7"));
+	text.append("\n\n");
+	text.append(Dictionary.get("AboutDialog.Item8"));
+	text.append("\n\n");
+	text.append(Dictionary.get("AboutDialog.Item9"));
+	text.append("\n\n");
+	text.setCaretPosition(0);
+
+	// Show
+	Rectangle frame_bounds = parent.getBounds();
+	setLocation(frame_bounds.x + (frame_bounds.width - SIZE.width) / 2, frame_bounds.y + (frame_bounds.height - SIZE.height) / 2);
+	setVisible(true);
+    }
+    /** Listens for actions upon the close button, and when detected closes the dialog. */
+    private class CloseButtonListener
+	implements ActionListener {
+	/** Called whenever an action occurs on the close button, thus asking the dialog to close.
+	 * @param event an ActionEvent containing information about the button press
+	 */
+	public void actionPerformed(ActionEvent event) {
+	    self.setVisible(false);
+	    self.dispose();
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/BaseConfigPane.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/BaseConfigPane.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/BaseConfigPane.java	(revision 21123)
@@ -0,0 +1,252 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.cdm.CollectionDesignManager;
+import org.greenstone.gatherer.cdm.Control;
+
+/** This class is responsible for generating the necessary GUI components. It does this by calling the getEditControls() method of the appropriate class (i.e. IndexManager for index related edits). It also is in charge of correctly adding (and removing) listeners, using phrases from the <strong>Dictionary</strong> rather than the text keys inserted in the component classes, and several other aspects of the design page, including the config file section tree.
+
+/** This is a base class for Design and Format panes, which are very similar except that they have different components.  */
+public abstract class BaseConfigPane 
+    extends JPanel {
+
+    /* This should list the contents of the contents */
+    protected String contents[]; 
+    
+    /** The preferred size of the contents tree. */
+    static final private Dimension TREE_SIZE = new Dimension(200, 500);
+
+    /** The panel apon which is rendered the currently selected section screen. */
+    protected Control view = null;
+    protected String view_type = null;
+    /** The collection manager is responsible for parsing in, and allowing the editing of, a single collections configuration file. */
+    protected CollectionDesignManager cdm = null;
+    /** A tree to serve as a 'table of contents' for this design tool. We decided on a tree rather than a list, as it allows us to break sections into subsections if they become to complicated. */
+    protected DesignTree tree;
+    protected JPanel tree_pane;
+    /** The constructor. */
+    public BaseConfigPane() {
+	super();
+	DebugStream.println("BaseConfigPane: Main GUI components created.");
+	// Creation
+        this.setComponentOrientation(Dictionary.getOrientation());
+	tree_pane = new JPanel();
+        tree_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	tree = new DesignTree();
+	tree.setComponentOrientation(Dictionary.getOrientation());
+	// Connect
+	tree.addTreeSelectionListener(new TreeListener());
+
+	// Layout
+	tree_pane.setLayout(new BorderLayout());
+	tree_pane.setPreferredSize(TREE_SIZE);
+        JScrollPane scrol_tmp;
+        scrol_tmp = new JScrollPane(tree);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	tree_pane.add(scrol_tmp, BorderLayout.CENTER);
+	setLayout(new BorderLayout());
+	setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	
+	add(tree_pane, BorderLayout.LINE_START);
+
+
+    }
+
+    abstract protected Control getSubControls(String type);
+    
+    /** Called to cause the components to lay themselves out and be displayed.
+     */
+    public void display() {
+    }
+
+
+    public void gainFocus()
+    {
+	if (cdm == null && Gatherer.c_man.ready()) {
+	    // Retrieve the new config manager.
+	    cdm = Gatherer.c_man.getCollection().cdm;
+	}
+	if (view != null) {
+	    view.gainFocus();
+	}
+    }
+
+
+    public void loseFocus()
+    {
+	if (view != null) {
+	    view.loseFocus();
+	}
+	if (cdm != null) {
+	    Gatherer.c_man.saveCollection();
+	}
+    }
+
+
+    public void destroy() {
+	tree = null;
+	view = null;
+    }
+
+    /** Called whenever the detail mode changes to ensure the filters are at an appropriate level (ie only editable by those that understand regular expression matching)
+     * @param mode the mode level as an int
+     */
+    public void modeChanged(int mode) {
+	if (cdm != null) {
+	    cdm.modeChanged(mode);
+	}
+    }
+
+    /** This method is called whenever the state of the current collection changes.
+     */
+    public void refresh(int refresh_reason, boolean ready)
+    {
+	if (ready) {
+	    // Retrieve the new config manager.
+	    cdm = Gatherer.c_man.getCollection().cdm;
+	    tree.resetModel(Configuration.getMode()); // does this set view??
+	}
+    }
+
+
+    /** Force the display to show a certain pane of controls.
+     * @param type a String giving the name of the information manager or view we wish to display
+     */
+    public void setSelectedView(String type) {
+	tree.setSelectedView(type);
+    }
+
+    /** This tree provides a 'table of contents' for the various components of the design process (collection configuration in more technical terms). */
+    private class DesignTree
+	extends JTree {
+	private DesignNode root = null;
+	/** Constructor. Automatically generates all of the nodes, in the order of contents. */
+	public DesignTree() {
+	    super();
+	}
+
+	/** Reset the model used by the design page contents tree. This is necessary to hide the partitions entry when in lower detail modes
+	 * @param mode the current detail mode as an int
+	 */
+	public void resetModel(int mode) {
+	    root = new DesignNode("CDM.GUI.Root");
+	    // Now add the design categories.
+	    for(int i = 0; i < contents.length; i++) {
+		root.add(new DesignNode(contents[i]));
+	    }
+	    this.setModel(new DefaultTreeModel(root));
+	    expandRow(0);
+	    setRootVisible(false);
+	    setSelectionRow(0);
+	    updateUI();
+	}
+	/** Set the current view to the one specified.
+	 * @param type the name of the desired view as a String
+	 */
+	public void setSelectedView(String type) {
+	    type = Dictionary.get(type);
+	    for(int i = 0; i < root.getChildCount(); i++) {
+		DesignNode child = (DesignNode) root.getChildAt(i);
+		if(child.toString().equals(type)) {
+		    TreePath path = new TreePath(child.getPath());
+		    setSelectionPath(path);
+		}
+	    }
+	}
+    }
+    /** A tree node that retains a reference to one of the possible design sub-views relating to the different sub-managers. */
+    private class DesignNode
+	extends DefaultMutableTreeNode {
+	/** Constructor.
+	 * @param object The <strong>Object</strong> assigned to this node.
+	 */
+	public DesignNode(String object) {
+	    super(object);
+	}
+	/** Retrieve a textual representation of the object.
+	 * @return a String
+	 */
+	public String toString() {
+	    // return Dictionary.get("CDM.GUI." + (String)getUserObject());
+	    return Dictionary.get((String) getUserObject());
+	}
+    }
+    /** Listens for selection changes in the 'contents' tree, and switches to the appropriate view. */
+    private class TreeListener
+	implements TreeSelectionListener {
+	/** Called whenever the selection changes, we must update the view so it matches the node selected.
+	 * @param event A <strong>TreeSelectionEvent</strong> containing more information about the tree selection.
+	 */
+	public void valueChanged(TreeSelectionEvent event) {
+	    if(!tree.isSelectionEmpty()) {
+		TreePath path = tree.getSelectionPath();
+		DesignNode node = (DesignNode)path.getLastPathComponent();
+		String type = (String)node.getUserObject();
+		// Wait begins
+		Gatherer.g_man.wait(true);
+		// Save information in current view
+		if (view != null) { // can we get rid of this??
+		    view.loseFocus();
+		    remove((JPanel)view);
+		}
+		view_type = type;
+		// Change panes.
+		view = getSubControls(type);
+		if (view != null) {
+		    add((JPanel)view, BorderLayout.CENTER);
+		    // Update information on visible pane
+		    view.gainFocus();
+		}
+		repaint();
+		// Wait ends
+		Gatherer.g_man.wait(false);
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/CreatePane.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/CreatePane.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/CreatePane.java	(revision 21123)
@@ -0,0 +1,1076 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.text.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.cdm.BuildTypeManager;
+import org.greenstone.gatherer.cdm.CollectionDesignManager;
+import org.greenstone.gatherer.collection.Collection;
+import org.greenstone.gatherer.shell.GBuildProgressMonitor;
+import org.greenstone.gatherer.shell.GImportProgressMonitor;
+import org.greenstone.gatherer.shell.GScheduleProgressMonitor; 
+import org.greenstone.gatherer.shell.GShell;
+import org.greenstone.gatherer.shell.GShellEvent;
+import org.greenstone.gatherer.shell.GShellListener;
+import org.greenstone.gatherer.shell.GShellProgressMonitor;
+import org.greenstone.gatherer.util.AppendLineOnlyFileDocument;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+
+import org.greenstone.gatherer.collection.CollectionManager;
+
+/** This class provides a GUI view showing some statistics on your current collection, and options for building it. As the collection is built this initial view is replaced with one showing progress bars and a message log of the creation process. This log can be later accessed via the options tree located in the center of the initial pane. This class is also responsible for creating the GShellProgressMonitors that are then attatched to external shell processes, and calling the methods in the CollectionManager for actually importing and building the collection. <br><BR>
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class CreatePane
+    extends JPanel
+    implements GShellListener {
+
+    static private Dimension ARGUMENT_SIZE = new Dimension(800,90);
+    /** The threshold for when the simple view is replaced by the complex one. */
+    static private final int THRESHOLD = Configuration.EXPERT_MODE;
+    /** An identifier for the control panel within the card layout. */
+    static private String CONTROL  = "Control";
+    /** An identifier for the progress panel within the card layout. */
+    static private String PROGRESS = "Progress";
+    /** An identifier for the simple panel within the card layout. */
+    static private String SIMPLE   = "Simple";
+
+    /** Determines the current view that should be shown for this pane. */
+    public boolean processing = false;
+    /** The options pane generates all the various option sheet configuations. */
+    public OptionsPane options_pane = null;
+    private AppendLineOnlyFileDocument document;
+    /** A card layout is used to store the separate configuration and progress panes. */
+    private CardLayout card_layout = null;
+    /** Stores a reference to the current collection. */
+    private Collection previous_collection = null;
+    /** This monitor tracks the build processes progress. */
+    private GShellProgressMonitor build_monitor = null;
+    /** This monitor tracks the import processes progress. */
+    private GShellProgressMonitor import_monitor = null;
+    /** This monitor tracks the schedule processes progress. */ 
+    private GShellProgressMonitor schedule_monitor = null; 
+    /** The button for begining the building processes. */
+    private JButton build_button = null;
+    /** The button for stopping the building processes. */
+    private JButton cancel_button = null;
+    /** The button for setting up scheduling */
+    private JButton schedule_button = null; 
+    /** The button for viewing the collection. */
+    private JButton preview_button = null;
+    private JButton simple_build_button;
+    private JButton simple_cancel_button;
+    private JButton simple_preview_button;
+    /** The radio buttons for chnaging the build type (incremental/full) */
+    private JRadioButton full_build_radio_button;
+    private JRadioButton incremental_build_radio_button;
+    private JRadioButton sfull_build_radio_button;
+    private JRadioButton sincremental_build_radio_button;
+    /** The label displaying the number of documents in this collection. */
+    private JLabel document_count = null;
+    /** The label alongside the build progress bar gets some special treatment so... */
+    private JLabel progress_build_label = null;
+    /** The label alongside the import progress bar gets some special treatment so... */
+    private JLabel progress_import_label = null;
+    private JPanel bar_area;
+    /** The panel on which buttons are rendered on higher detail modes. */
+    private JPanel button_pane;
+    /** The pane which contains the controls for configuration. */
+    private JPanel control_pane = null;
+    /** The pane which has the card layout as its manager. */
+    private JPanel main_pane = null;
+    /** The pane which contains the progress information. */
+    private JPanel progress_pane = null;
+    /** The pane on the right-hand side - shows the requested options view */
+    private JPanel right = null;
+    /** The simple panel on which all of the available arguments are rendered. */
+    private JPanel sargument_configuration_panel;
+    /** The panel on which buttons are rendered on lower details modes. */
+    private JPanel sbutton_panel;
+    /** A simplified version for lower detail modes containing both the control and progress panes smooshed together. */
+    private JSplitPane simple_panel;
+    /** The lower part of the panel which is global so the log pane can be added and removed from it */
+    private JPanel slower_panel;
+    /** The inner panel of the simple pane which is global so that the bar_area can be added and removed from it. */
+    private JPanel sinner_panel;
+    /** The scrolling pane for the log. */
+    private JScrollPane log_scroll;
+    /** The scrolling pane the simple arguments are rendered within. */
+    private JScrollPane sargument_configuration_scroll;
+    /** the scrolling pane the righthand side is inside - only used for import and build options. the log and log list are not inside a scrollpane */
+    private JScrollPane scroll_pane;
+    /** The message log for the entire session. */
+    private JTextArea log_textarea;
+    /** A tree used to display the currently available option views. */
+    private OptionTree tree = null;
+    /** An array used to pass arguments with dictionary calls. */
+    private String args[] = null;
+    /** The homepage address of the current collection */
+    public String homepage = null;
+
+    /** The constructor creates important helper classes, and initializes all the components.
+     * @see org.greenstone.gatherer.collection.CollectionManager
+     * @see org.greenstone.gatherer.gui.BuildOptions
+     * @see org.greenstone.gatherer.gui.CreatePane.BuildButtonListener
+     * @see org.greenstone.gatherer.gui.CreatePane.CancelButtonListener
+     * @see org.greenstone.gatherer.gui.CreatePane.OptionTree
+     * @see org.greenstone.gatherer.gui.OptionsPane
+     * @see org.greenstone.gatherer.shell.GBuildProgressMonitor
+     * @see org.greenstone.gatherer.shell.GImportProgressMonitor
+     * @see org.greenstone.gatherer.shell.GShellProgressMonitor
+     */
+    public CreatePane() {
+        this.setComponentOrientation(Dictionary.getOrientation());
+	log_textarea = new JTextArea();
+	log_scroll = new JScrollPane(log_textarea);
+        
+	// Create components
+	card_layout = new CardLayout();
+	// Control Pane
+	control_pane = new JPanel();
+        control_pane.setComponentOrientation(Dictionary.getOrientation());
+	tree = new OptionTree();
+        tree.setComponentOrientation(Dictionary.getOrientation());
+	button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+
+	// Progress Pane
+	progress_pane = new JPanel(); // One owner of the bar component
+        progress_pane.setComponentOrientation(Dictionary.getOrientation());
+	bar_area = new JPanel(); // This component will be shared about
+        bar_area.setComponentOrientation(Dictionary.getOrientation());
+
+	progress_import_label = new JLabel(Dictionary.get("CreatePane.Import_Progress"));
+	progress_import_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	import_monitor = new GImportProgressMonitor();
+	Gatherer.c_man.registerImportMonitor(import_monitor);
+
+	progress_build_label = new JLabel(Dictionary.get("CreatePane.Build_Progress"));
+	progress_build_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	build_monitor = new GBuildProgressMonitor(import_monitor.getSharedProgress());
+	Gatherer.c_man.registerBuildMonitor(build_monitor);
+
+	//We only need a schedule monitor for text output. No use for a progress bar!
+	
+	//progress_schedule_label = new JLabel(Dictionary.get("CreatePane.Schedule_Progress")); 
+	
+	schedule_monitor = new GScheduleProgressMonitor(); 
+	Gatherer.c_man.registerScheduleMonitor(schedule_monitor); 
+
+    // And the simple panel
+    slower_panel = new JPanel();
+    sbutton_panel = new JPanel();
+    sinner_panel = new JPanel();
+    
+    slower_panel.setComponentOrientation(Dictionary.getOrientation());
+    sbutton_panel.setComponentOrientation(Dictionary.getOrientation());
+    sinner_panel.setComponentOrientation(Dictionary.getOrientation());
+    
+    //Radio buttons
+    incremental_build_radio_button = new JRadioButton(Dictionary.get("CreatePane.Minimal_Build"));
+    incremental_build_radio_button.setComponentOrientation(Dictionary.getOrientation());
+    incremental_build_radio_button.setToolTipText(Dictionary.get("CreatePane.Minimal_Build_Tooltip"));
+    full_build_radio_button = new JRadioButton(Dictionary.get("CreatePane.Full_Build"));
+    full_build_radio_button.setComponentOrientation(Dictionary.getOrientation());
+    full_build_radio_button.setToolTipText(Dictionary.get("CreatePane.Full_Build_Tooltip"));
+    sincremental_build_radio_button = new JRadioButton(Dictionary.get("CreatePane.Minimal_Build"));
+    sincremental_build_radio_button.setComponentOrientation(Dictionary.getOrientation());
+    sincremental_build_radio_button.setToolTipText(Dictionary.get("CreatePane.Minimal_Build_Tooltip"));
+    sfull_build_radio_button = new JRadioButton(Dictionary.get("CreatePane.Full_Build"));
+    sfull_build_radio_button.setComponentOrientation(Dictionary.getOrientation());
+    sfull_build_radio_button.setToolTipText(Dictionary.get("CreatePane.Full_Build_Tooltip"));
+
+    //keep them in sync
+    full_build_radio_button.addActionListener(
+        new ActionListener() { public void actionPerformed(ActionEvent e) {
+            sfull_build_radio_button.setSelected( full_build_radio_button.isSelected() );
+        }});
+    sfull_build_radio_button.addActionListener(
+        new ActionListener() { public void actionPerformed(ActionEvent e) {
+            full_build_radio_button.setSelected( sfull_build_radio_button.isSelected() );
+        }});
+    incremental_build_radio_button.addActionListener(
+        new ActionListener() { public void actionPerformed(ActionEvent e) {
+            sincremental_build_radio_button.setSelected( incremental_build_radio_button.isSelected() );
+        }});
+    sincremental_build_radio_button.addActionListener(
+        new ActionListener() { public void actionPerformed(ActionEvent e) {
+            incremental_build_radio_button.setSelected( sincremental_build_radio_button.isSelected() );
+        }});
+
+	// Buttons
+	BuildButtonListener bbl = new BuildButtonListener();
+	CancelButtonListener cbl = new CancelButtonListener();
+	
+	build_button = new GLIButton(Dictionary.get("CreatePane.Build_Collection"), Dictionary.get("CreatePane.Build_Collection_Tooltip"));
+	build_button.addActionListener(bbl);
+	
+	cancel_button = new GLIButton(Dictionary.get("CreatePane.Cancel_Build"), Dictionary.get("CreatePane.Cancel_Build_Tooltip"));
+	cancel_button.addActionListener(cbl);
+	cancel_button.setEnabled(false);
+	
+	preview_button = new PreviewButton(Dictionary.get("CreatePane.Preview_Collection"), Dictionary.get("CreatePane.Preview_Collection_Tooltip"));
+	//preview_button.addActionListener(pbl);
+	if(Gatherer.c_man != null) {
+	    preview_button.setEnabled(Gatherer.c_man.built());
+	}
+	else {
+	    preview_button.setEnabled(false);
+	}
+	
+	BuildSimpleButtonListener bsbl = new BuildSimpleButtonListener(); 
+	simple_build_button = new GLIButton(Dictionary.get("CreatePane.Build_Collection"), Dictionary.get("CreatePane.Build_Collection_Tooltip"));
+	simple_build_button.addActionListener(bsbl);
+
+	simple_cancel_button = new GLIButton(Dictionary.get("CreatePane.Cancel_Build"), Dictionary.get("CreatePane.Cancel_Build_Tooltip"));
+	simple_cancel_button.addActionListener(cbl);
+	simple_cancel_button.setEnabled(false);
+	
+	simple_preview_button = new PreviewButton(Dictionary.get("CreatePane.Preview_Collection"), Dictionary.get("CreatePane.Preview_Collection_Tooltip"));
+	//simple_preview_button.addActionListener(pbl);
+	if(Gatherer.c_man != null) {
+	    simple_preview_button.setEnabled(Gatherer.c_man.built());
+	}
+	else {
+	    simple_preview_button.setEnabled(false);
+	}
+	
+	bbl = null;
+	bsbl = null; 
+	cbl = null;
+	//pbl = null;
+    }
+
+
+    public void destroy() {
+	if(document != null) {
+	    document.destroy();
+	}
+    }
+    
+    /** This method is called to actually layout the components.
+     * @see org.greenstone.gatherer.Configuration
+     * @see org.greenstone.gatherer.Gatherer
+     */
+    public void display() {
+
+        int current_mode = Configuration.getMode();
+
+        //Complete/incremental build options panel
+        ButtonGroup build_type_group = new ButtonGroup();
+        build_type_group.add(incremental_build_radio_button);
+        build_type_group.add(full_build_radio_button);
+        full_build_radio_button.setSelected(true);
+
+        ButtonGroup sbuild_type_group = new ButtonGroup();
+        sbuild_type_group.add(sincremental_build_radio_button);
+        sbuild_type_group.add(sfull_build_radio_button);
+        sfull_build_radio_button.setSelected(true);
+
+        JPanel build_type_pane = new JPanel(new GridLayout(2,1));
+        build_type_pane.setComponentOrientation(Dictionary.getOrientation());
+        build_type_pane.add(full_build_radio_button);
+        build_type_pane.add(incremental_build_radio_button);
+
+        JPanel sbuild_type_pane = new JPanel(new GridLayout(2,1));
+        sbuild_type_pane.setComponentOrientation(Dictionary.getOrientation());
+        sbuild_type_pane.add(sfull_build_radio_button);
+        sbuild_type_pane.add(sincremental_build_radio_button);
+
+
+        // Build control_pane
+        JPanel left = new JPanel();
+            left.setComponentOrientation(Dictionary.getOrientation());
+        left.setBorder(BorderFactory.createEmptyBorder(0,5,5,5));
+        left.setLayout(new BorderLayout());
+        left.add(tree, BorderLayout.CENTER);
+        left.add(build_type_pane, BorderLayout.SOUTH);
+        //left.add(full_build_radio_button, BorderLayout.SOUTH);
+
+        right = new JPanel();
+            right.setComponentOrientation(Dictionary.getOrientation());
+        right.setBorder(BorderFactory.createEmptyBorder(0,0,5,5));
+        right.setLayout(new BorderLayout());
+
+        JPanel options_area = new JPanel();
+            options_area.setComponentOrientation(Dictionary.getOrientation());
+        options_area.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(5,5,5,5), BorderFactory.createTitledBorder(Dictionary.get("CreatePane.Options_Title"))));
+        options_area.setLayout(new BorderLayout());
+        options_area.add(left, BorderLayout.LINE_START);
+        options_area.add(right, BorderLayout.CENTER);
+
+        button_pane = new JPanel();
+            button_pane.setComponentOrientation(Dictionary.getOrientation());
+        button_pane.setBorder(BorderFactory.createEmptyBorder(5,10,10,10));
+        button_pane.setLayout(new GridLayout(1,4));
+        button_pane.add(build_button);
+        button_pane.add(cancel_button);
+        button_pane.add(preview_button);
+
+        control_pane.setLayout(new BorderLayout());
+        control_pane.add(options_area, BorderLayout.CENTER);
+        control_pane.add(button_pane, BorderLayout.SOUTH);
+
+        // Build progress_pane
+        JPanel labels_pane = new JPanel();
+            labels_pane.setComponentOrientation(Dictionary.getOrientation());
+        labels_pane.setLayout(new GridLayout(2,1,0,5));
+        labels_pane.add(progress_import_label);
+        labels_pane.add(progress_build_label);
+
+        JPanel monitors_pane = new JPanel();
+            monitors_pane.setComponentOrientation(Dictionary.getOrientation());
+        monitors_pane.setLayout(new GridLayout(2,1,0,5));
+        monitors_pane.add(import_monitor.getProgress());
+        monitors_pane.add(build_monitor.getProgress());
+
+        bar_area.setBorder(BorderFactory.createEmptyBorder(10,10,5,10));
+        bar_area.setLayout(new BorderLayout(5,5));
+        bar_area.add(labels_pane, BorderLayout.LINE_START);
+        bar_area.add(monitors_pane, BorderLayout.CENTER);
+
+        progress_pane.setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
+        progress_pane.setLayout(new BorderLayout());
+        progress_pane.add(bar_area, BorderLayout.NORTH);
+        if(current_mode >= THRESHOLD) {
+            progress_pane.add(log_scroll, BorderLayout.CENTER);
+        }
+
+        // Simple panel
+        sbutton_panel.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+        sbutton_panel.setLayout(new GridLayout(1,3));
+        sbutton_panel.add(simple_build_button);
+        sbutton_panel.add(simple_cancel_button);
+        sbutton_panel.add(simple_preview_button);
+
+        JPanel simple_bar_area = new JPanel(new GridLayout(2,1));
+            simple_bar_area.setComponentOrientation(Dictionary.getOrientation());
+        simple_bar_area.setBorder(BorderFactory.createEmptyBorder(0,5,0,0));
+        simple_bar_area.add(import_monitor.getSharedProgress());
+        simple_bar_area.add(sbutton_panel);
+
+        sinner_panel.setBorder(BorderFactory.createEmptyBorder(5,0,5,0));
+        sinner_panel.setLayout(new BorderLayout());
+        sinner_panel.add(sbuild_type_pane, BorderLayout.LINE_START);
+        //sinner_panel.add(full_build_radio_button, BorderLayout.WEST);
+        sinner_panel.add(simple_bar_area, BorderLayout.CENTER);
+
+        if(options_pane != null) {
+            sargument_configuration_panel = options_pane.buildImport(null);
+            sargument_configuration_panel = options_pane.buildBuild(sargument_configuration_panel);
+        }
+        else {
+            sargument_configuration_panel = new JPanel();
+        }
+            sargument_configuration_panel.setComponentOrientation(Dictionary.getOrientation());
+        sargument_configuration_scroll = new JScrollPane(sargument_configuration_panel);
+        sargument_configuration_scroll.setPreferredSize(ARGUMENT_SIZE);
+            sargument_configuration_scroll.setComponentOrientation(Dictionary.getOrientation());
+            
+        slower_panel.setLayout(new BorderLayout());
+        slower_panel.add(sinner_panel, BorderLayout.NORTH);
+        if(current_mode < THRESHOLD) {
+            slower_panel.add(log_scroll, BorderLayout.CENTER);
+        }
+
+        simple_panel = new JSplitPane(JSplitPane.VERTICAL_SPLIT, sargument_configuration_scroll, slower_panel);
+            simple_panel.setComponentOrientation(Dictionary.getOrientation());
+        // Main pane
+        main_pane = new JPanel(card_layout);
+            main_pane.setComponentOrientation(Dictionary.getOrientation());
+        if(current_mode < THRESHOLD) { // Simple mode - add first
+            main_pane.add(simple_panel, SIMPLE);
+        }
+        main_pane.add(control_pane, CONTROL);
+        main_pane.add(progress_pane, PROGRESS);
+        if(current_mode >= THRESHOLD) { // Expert mode - add last
+            main_pane.add(simple_panel, SIMPLE);
+        }
+
+        this.setLayout(new BorderLayout());
+        this.add(main_pane, BorderLayout.CENTER);
+    }
+
+    /** This method is called whenever the 'Create' tab is selected from the view bar. It allows this view to perform any preactions required prior to display. In this case this entails gathering up to date information about the status of the collection including number of documents etc.
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.collection.CollectionManager
+     * @see org.greenstone.gatherer.gui.CreatePane.OptionTree
+     */
+    public void gainFocus() {
+	if(Configuration.getMode() < THRESHOLD) {
+	    card_layout.show(main_pane, SIMPLE);
+	}
+	else if(!processing) {
+	    // Move the buttons to control
+	    control_pane.add(button_pane, BorderLayout.SOUTH);
+	    card_layout.show(main_pane, CONTROL);
+	}
+	else {
+	    // Move the buttons to progress
+	    progress_pane.add(button_pane, BorderLayout.SOUTH);
+	    card_layout.show(main_pane, PROGRESS);
+	}
+	// Refresh the set of controls.
+	TreePath path = tree.getSelectionPath();
+	tree.clearSelection();
+	tree.setSelectionPath(path);
+
+    }
+
+    /** We are informed when this view pane loses focus so we can update build options. */
+    public void loseFocus() {
+	tree.valueChanged(null);
+    }
+
+    /** All implementation of GShellListener must include this method so the listener can be informed of messages from the GShell.
+     * @param event A <strong>GShellEvent</strong> that contains, amoung other things, the message.
+     */
+    public synchronized void message(GShellEvent event) {
+	// Ignore the messages from RecPlug (used for progress bars)
+	if (event.getMessage().startsWith("import.pl> RecPlug - ")) {
+	    return;
+	}
+	document.appendLine(event.getMessage());
+	log_textarea.setCaretPosition(document.getLengthToNearestLine());
+    }
+
+    /** Called when the detail mode has changed which in turn may cause several import/build configuration arguments to be available/hidden
+     * @param mode the new mode as an int
+     */
+    public void modeChanged(int mode) {
+	// If we are below the complexity threshold ensure the simple controls are being shown
+	if(Configuration.getMode() < THRESHOLD) {
+	    // Update the arguments
+	    simple_panel.remove(sargument_configuration_scroll);
+	    if(options_pane != null) {
+		sargument_configuration_panel = options_pane.buildImport(null);
+		sargument_configuration_panel = options_pane.buildBuild(sargument_configuration_panel);
+	    }
+	    else {
+		sargument_configuration_panel = new JPanel();
+	    }
+	    sargument_configuration_scroll = new JScrollPane(sargument_configuration_panel);
+            sargument_configuration_panel.setComponentOrientation(Dictionary.getOrientation());
+            sargument_configuration_scroll.setComponentOrientation(Dictionary.getOrientation());
+	    sargument_configuration_scroll.setPreferredSize(ARGUMENT_SIZE);
+	    simple_panel.setTopComponent(sargument_configuration_scroll);
+	    // Remove the shared components from the expert panels
+	    progress_pane.remove(log_scroll);
+	    // And add to simple one
+	    slower_panel.add(log_scroll, BorderLayout.CENTER);
+	    // And bring the card to the front
+	    card_layout.show(main_pane, SIMPLE);
+	}
+	// And if we are above the threshold change to the complex controls
+	else {
+	    // Remove the shared components from the simple panel
+	    slower_panel.remove(log_scroll);
+	    // And add then to the expert ones
+	    progress_pane.add(log_scroll, BorderLayout.CENTER);
+	    // And bring the appropriate card to the front
+	    if(!processing) {
+		control_pane.add(button_pane, BorderLayout.SOUTH);
+		card_layout.show(main_pane, CONTROL);
+	    }
+	    else {
+		progress_pane.add(button_pane, BorderLayout.SOUTH);
+		card_layout.show(main_pane, PROGRESS);
+	    }
+	}
+	tree.valueChanged(null); // Ensure tree argument panels are rebuilt
+    }
+
+    /** All implementation of GShellListener must include this method so the listener can be informed when a GShell begins its task. Implementation side-effect, not actually used.
+     * @param event A <strong>GShellEvent</strong> that contains details of the initial state of the <strong>GShell</strong> before task comencement.
+     */
+    public synchronized void processBegun(GShellEvent event) {
+	// We don't care. We'll get a more acurate start from the progress monitors.
+    }
+    /** All implementation of GShellListener must include this method so the listener can be informed when a GShell completes its task.
+     * @param event A <strong>GShellEvent</strong> that contains details of the final state of the <strong>GShell</strong> after task completion.
+     */
+    public synchronized void processComplete(GShellEvent event) {
+	DebugStream.println("In CreatePane::processComplete(" + event.getType() + ")...");
+	if(event.getStatus() == GShell.OK) {
+	    if(event.getType() == GShell.SCHEDULE) {
+		
+		processing = false; 
+		build_button.setEnabled(true);
+		cancel_button.setEnabled(false);
+		//preview_button.setEnabled(true);
+		//only enable preview if the collection has been built. 
+		preview_button.setEnabled(Gatherer.c_man.built());
+		simple_build_button.setEnabled(true);
+		simple_cancel_button.setEnabled(false);
+		simple_preview_button.setEnabled(Gatherer.c_man.built()); 
+		int status = event.getStatus();
+		document.setSpecialCharacter(OptionsPane.SCHEDULED); 
+		options_pane.resetFileEntry();
+		build_monitor.reset();
+		import_monitor.reset();
+		if(Configuration.getMode() >= THRESHOLD) {
+		    control_pane.add(button_pane, BorderLayout.SOUTH); 
+		    card_layout.show(main_pane, CONTROL); 
+		}
+	    }
+	    else if(event.getType() == GShell.BUILD) {
+		processing = false;
+		build_button.setEnabled(true);
+		cancel_button.setEnabled(false);
+		preview_button.setEnabled(Gatherer.c_man.built());
+		simple_build_button.setEnabled(true);
+		simple_cancel_button.setEnabled(false);
+		simple_preview_button.setEnabled(Gatherer.c_man.built());
+		int status = event.getStatus();
+		document.setSpecialCharacter(OptionsPane.SUCCESSFUL);
+		options_pane.resetFileEntry();
+		build_monitor.reset();
+		import_monitor.reset();
+		if(Configuration.getMode() >= THRESHOLD) {
+		    control_pane.add(button_pane, BorderLayout.SOUTH);
+		    card_layout.show(main_pane, CONTROL);
+		}
+	    }
+	    // Otherwise its completed import but still got build to go
+	}
+	else {
+	    processing = false;
+	    cancel_button.setEnabled(false);
+	    build_button.setEnabled(true);
+	    // The build may have failed, but a previous index may still be in place
+	    preview_button.setEnabled(Gatherer.c_man.built());
+
+	    simple_build_button.setEnabled(true);
+	    simple_cancel_button.setEnabled(false);
+	    simple_preview_button.setEnabled(Gatherer.c_man.built());
+	    if(event.getStatus() == GShell.CANCELLED) {
+		document.setSpecialCharacter(OptionsPane.CANCELLED);
+	    }
+	    else {
+		document.setSpecialCharacter(OptionsPane.UNSUCCESSFUL);
+	    }
+	    options_pane.resetFileEntry();
+	    if(Configuration.getMode() >= THRESHOLD) {
+		control_pane.add(button_pane, BorderLayout.SOUTH);
+		card_layout.show(main_pane, CONTROL);
+	    }
+	}
+    }
+
+
+    /** This method is invoked at any time there has been a significant change in the collection, such as saving, loading or creating.
+     * @param ready A <strong>boolean</strong> indicating if a collection is currently available.
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.collection.CollectionManager
+     * @see org.greenstone.gatherer.gui.BuildOptions
+     * @see org.greenstone.gatherer.gui.OptionsPane
+     */
+    public void refresh(int refresh_reason, boolean ready)
+    {
+	if (Gatherer.c_man == null || !ready) {
+	    return;
+	}
+	Collection current_collection = Gatherer.c_man.getCollection();
+	if (current_collection != previous_collection && !Gatherer.c_man.isImporting()) {
+	    this.options_pane = new OptionsPane(current_collection.import_options, current_collection.build_options, current_collection.schedule_options);
+	    if (previous_collection != null) {
+		// clear the log
+		Document log_document = log_textarea.getDocument();
+		if (log_document instanceof AppendLineOnlyFileDocument) {
+		    ((AppendLineOnlyFileDocument) log_document).destroy();
+		}
+	    }
+	    previous_collection = current_collection;
+	   
+	} 
+	// If we are in simple mode, we have to rebuild the simple arguments list
+	if(Configuration.getMode() < THRESHOLD) {
+	    simple_panel.remove(sargument_configuration_scroll);
+	    sargument_configuration_panel = options_pane.buildImport(null);
+	    sargument_configuration_panel = options_pane.buildBuild(sargument_configuration_panel);
+	    //if(CollectionManager.canDoScheduling()) {
+	    //sargument_configuration_panel = options_pane.buildSchedule(sargument_configuration_panel); 
+	    //}
+	    sargument_configuration_scroll = new JScrollPane(sargument_configuration_panel);
+            sargument_configuration_scroll.setComponentOrientation(Dictionary.getOrientation());
+	    sargument_configuration_scroll.setPreferredSize(ARGUMENT_SIZE);
+	    simple_panel.setTopComponent(sargument_configuration_scroll);
+	}
+	tree.valueChanged(null);
+
+	// Validate the preview button
+	if (Gatherer.c_man.built() && Configuration.library_url != null) {
+	    preview_button.setEnabled(true);
+	    simple_preview_button.setEnabled(true);
+	}
+	else {
+	    preview_button.setEnabled(false);
+	    simple_preview_button.setEnabled(false);
+	}
+    }
+
+    /** This class serves as the listener for actions on the build button. */
+    private class BuildButtonListener
+	implements ActionListener {
+	/**
+	 * This method checks to see what needs to be done for a build, and starts the process off.
+	 * A complete build proccess is started by {@link CollectionManager.importCollection()}, which then imports and builds the collection.
+	 * However, this doesn't always happen, as sometimes an incremental build will do :-)
+	 * @param event An <strong>ActionEvent</strong> who, thanks to the power of object oriented programming, we don't give two hoots about.
+	 * @see org.greenstone.gatherer.Gatherer
+	 * @see org.greenstone.gatherer.collection.CollectionManager
+	 * @see org.greenstone.gatherer.gui.BuildOptions
+	 * @see org.greenstone.gatherer.shell.GShellProgressMonitor
+	 */
+    public void actionPerformed(ActionEvent event) {
+        Collection collection = Gatherer.c_man.getCollection();
+        String collection_name = collection.getName();
+
+        //if button is labelled for Building
+        if(event.getActionCommand().equals(Dictionary.get("CreatePane.Build_Collection"))) { 
+
+            //set a static variable marking whether this is a "Complete" or "Minimal" build
+            CollectionDesignManager.setCompleteBuild( full_build_radio_button.isSelected() );
+
+            //do the import and build, skipping import if possible
+            /*if( !CollectionDesignManager.isCompleteBuild() &&
+                !collection.getMetadataChanged() && !collection.getFilesChanged() && Gatherer.c_man.imported() &&
+                CollectionDesignManager.getRebuildTypeRequired() <= CollectionDesignManager.BUILDCOL
+                ) {
+                    // Just do build (no import)
+                    DebugStream.println("Just want to run buildcol.pl");
+                    prepareForBuild();
+                    Gatherer.c_man.buildCollection();
+            }
+            else {
+			*/
+                prepareForBuild();
+                Gatherer.c_man.importCollection(); //This starts the building process.
+			/*
+            }
+			*/
+
+        } else { //button is labelled for setting up scheduling
+
+            //this needs to be called to configure buttons... but no building is done
+            prepareForBuild(); 
+            Gatherer.c_man.scheduleBuild(); 
+        }
+        //Re-setting the rebuildTypeRequired is handled by CollectionManager.processComplete(GShellEvent)
+    }
+
+	    
+	/**
+	 * This does some stuff that is needed before a collection can be built.
+	 * For example, buttons are enabled/disabled, and certain flags are set.
+	 * This is called from {@link actionPerformed(ActionEvent)}
+	 */
+	private void prepareForBuild() {
+	    // First we force the build options to be updated if we haven't already.
+	    tree.valueChanged(null);
+	    
+	    // Remember that for lower thresholds the above doesn't work, so try this instead
+	    if(Configuration.getMode() < THRESHOLD) {
+		options_pane.update(sargument_configuration_panel);
+	    }
+	    
+	    // Now go about building.
+	    build_button.setEnabled(false);
+	    cancel_button.setEnabled(true);
+	    preview_button.setEnabled(false);
+	    
+	    simple_build_button.setEnabled(false);
+	    simple_cancel_button.setEnabled(true);
+	    simple_preview_button.setEnabled(false);
+	    
+	    document = options_pane.createNewLogDocument();
+	    log_textarea.setDocument(document);
+	    options_pane.log_textarea.setDocument(document);
+	    // Change the view.
+	    processing = true;
+	    if(Configuration.getMode() >= THRESHOLD) {
+		progress_pane.add(button_pane, BorderLayout.SOUTH);
+		card_layout.show(main_pane, PROGRESS);
+	    }
+	    // Reset the stop flag in all the process monitors, just incase.
+	    ((GBuildProgressMonitor)build_monitor).reset();
+	    import_monitor.setStop(false);
+	}
+    }
+    
+    /** I hope this works. Wendy */ 
+    private class BuildSimpleButtonListener
+	implements ActionListener {
+	/**
+	 * This method checks to see what needs to be done for a build, and starts the process off.
+	 * A complete build proccess is started by {@link CollectionManager.importCollection()}, which then imports and builds the collection.
+	 * However, this doesn't always happen, as sometimes an incremental build will do :-)
+	 * @param event An <strong>ActionEvent</strong> who, thanks to the power of object oriented programming, we don't give two hoots about.
+	 * @see org.greenstone.gatherer.Gatherer
+	 * @see org.greenstone.gatherer.collection.CollectionManager
+	 * @see org.greenstone.gatherer.gui.BuildOptions
+	 * @see org.greenstone.gatherer.shell.GShellProgressMonitor
+	 */
+	public void actionPerformed(ActionEvent event) {
+		Collection collection = Gatherer.c_man.getCollection();
+		String collection_name = collection.getName();
+
+		//set a static variable marking whether this is a "Complete" or "Minimal" build
+		CollectionDesignManager.setCompleteBuild( full_build_radio_button.isSelected() );
+
+		//do the import and build, skipping import if possible
+		/*if( !CollectionDesignManager.isCompleteBuild() &&
+			!collection.getMetadataChanged() && !collection.getFilesChanged() && Gatherer.c_man.imported() &&
+			CollectionDesignManager.getRebuildTypeRequired() <= CollectionDesignManager.BUILDCOL
+			) {
+				// Just do build (no import)
+				DebugStream.println("Just want to run buildcol.pl");
+				prepareForBuild();
+				Gatherer.c_man.buildCollection();
+		}
+		else {
+		*/
+			prepareForBuild();
+			Gatherer.c_man.importCollection(); //This starts the building process.
+		/*
+		}
+		*/
+		
+		//Re-setting the rebuildTypeRequired is handled by CollectionManager.processComplete(GShellEvent)
+	}
+
+	/**
+	 * This does some stuff that is needed before a collection can be built.
+	 * For example, buttons are enabled/disabled, and certain flags are set.
+	 * This is called from {@link actionPerformed(ActionEvent)}
+	 */
+	private void prepareForBuild() {
+	    // First we force the build options to be updated if we haven't already.
+	    tree.valueChanged(null);
+	    
+	    // Remember that for lower thresholds the above doesn't work, so try this instead
+	    if(Configuration.getMode() < THRESHOLD) {
+		options_pane.update(sargument_configuration_panel);
+	    }
+	    
+	    // Now go about building.
+	    build_button.setEnabled(false);
+	    cancel_button.setEnabled(true);
+	    preview_button.setEnabled(false);
+	    
+	    simple_build_button.setEnabled(false);
+	    simple_cancel_button.setEnabled(true);
+	    simple_preview_button.setEnabled(false);
+	    
+	    document = options_pane.createNewLogDocument();
+	    log_textarea.setDocument(document);
+	    options_pane.log_textarea.setDocument(document);
+	    // Change the view.
+	    processing = true;
+	    if(Configuration.getMode() >= THRESHOLD) {
+		progress_pane.add(button_pane, BorderLayout.SOUTH);
+		card_layout.show(main_pane, PROGRESS);
+	    }
+	    // Reset the stop flag in all the process monitors, just incase.
+	    ((GBuildProgressMonitor)build_monitor).reset();
+	    import_monitor.setStop(false);
+	}
+    }
+    
+
+    /** This class serves as the listener for actions on the cancel button. */
+    private class CancelButtonListener
+	implements ActionListener {
+	/** This method attempts to cancel the current GShell task. It does this by first telling CollectionManager not to carry out any further action. This it turn tells the GShell to break from the current job immediately, without waiting for the processEnded message, and then kills the thread in an attempt to stop the process. The results of such an action are debatable.
+	 * @param event An <strong>ActionEvent</strong> who, thanks to the power of object oriented programming, we don't give two hoots about.
+	 * @see org.greenstone.gatherer.Gatherer
+	 * @see org.greenstone.gatherer.collection.CollectionManager
+	 * @see org.greenstone.gatherer.gui.BuildOptions
+	 * @see org.greenstone.gatherer.shell.GShellProgressMonitor
+	 */
+	public void actionPerformed(ActionEvent event) {
+	    build_button.setEnabled(false);
+	    cancel_button.setEnabled(false);
+	    preview_button.setEnabled(false);
+
+	    simple_build_button.setEnabled(false);
+	    simple_cancel_button.setEnabled(false);
+	    simple_preview_button.setEnabled(false);
+
+	    processing = false;
+	    document.setSpecialCharacter(OptionsPane.CANCELLED);
+	    if(Configuration.getMode() >= THRESHOLD) {
+		control_pane.add(button_pane, BorderLayout.SOUTH);
+		card_layout.show(main_pane, CONTROL);
+	    }
+	    // Set the stop flag in all the process monitor.
+	    import_monitor.setStop(true);
+	    import_monitor.reset();
+	    build_monitor.setStop(true);
+	    build_monitor.reset();
+
+	    // Remove the collection lock.
+	    //Gatherer.g_man.lockCollection(false, false);
+	}
+    }
+
+    
+    /** The OptionTree is simply a tree structure that has a root node labelled "Options" and then has a child node for each available options screen. These screens are either combinations of the available import and build arguments, or a message log detailing the shell processes progress. */
+    private class OptionTree
+	extends JTree
+	implements TreeSelectionListener {
+	/** The model behind the tree. */
+	private DefaultTreeModel model = null;
+	/** The previous options view displayed, which is sometimes needed to refresh properly. */
+	private JPanel previous_pane = null;
+	/** The node corresponding to the building options view. */
+	private OptionTreeNode building  = null;
+	/** The node corresponding to the importing options view. */
+	private OptionTreeNode importing = null;
+	/** The node corresponding to the scheduling options view. */ 
+	private OptionTreeNode scheduling = null; 
+	/** The node corresponding to the log view. */
+	private OptionTreeNode log       = null;
+	/** The root node of the options tree, which has no associated options view. */
+	private OptionTreeNode options   = null;
+	/** Constructor.
+	 * @see org.greenstone.gatherer.gui.CreatePane.OptionTreeNode
+	 */
+	public OptionTree() {
+	    super();
+            this.setComponentOrientation(Dictionary.getOrientation());
+	    ToolTipManager.sharedInstance().registerComponent(this);
+	    addTreeSelectionListener(this);
+	    getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
+	    setCellRenderer(new ToolTipTreeCellRenderer());
+	    setRootVisible(false);
+	    setToggleClickCount(1);
+
+	    // Create tree.
+	    building = new OptionTreeNode(Dictionary.get("CreatePane.Build"));
+	    building.setToolTipText(Dictionary.get("CreatePane.Build_Tooltip"));
+	    importing = new OptionTreeNode(Dictionary.get("CreatePane.Import"));
+	    importing.setToolTipText(Dictionary.get("CreatePane.Import_Tooltip"));
+	    if (CollectionManager.canDoScheduling()) {
+	      scheduling = new OptionTreeNode(Dictionary.get("CreatePane.Schedule"));
+	      scheduling.setToolTipText(Dictionary.get("CreatePane.Schedule_Tooltip")); 
+
+	    }
+	    log = new OptionTreeNode(Dictionary.get("CreatePane.Log"));
+	    log.setToolTipText(Dictionary.get("CreatePane.Log_Tooltip"));
+	    options = new OptionTreeNode(Dictionary.get("CreatePane.Options"));
+
+	    model = new DefaultTreeModel(options);
+	    setModel(model);
+	    model.insertNodeInto(importing, options, 0);
+	    model.insertNodeInto(building, options, 1);
+	    if (CollectionManager.canDoScheduling()) {
+	      model.insertNodeInto(scheduling, options, 2); 
+	      model.insertNodeInto(log, options, 3);
+	    } else {
+	      model.insertNodeInto(log, options, 2);
+	    }
+	    // Expand the root node
+	    expandPath(new TreePath(options));
+	}
+	/** Any implementation of TreeSelectionListener must include this method to allow this listener to know when the selection has changed. Here we swap the options view depending on the selected OptionTreeNode.
+	 * @param event A <Strong>TreeSelectionEvent</strong> which contains all the information garnered when the event occured.
+	 * @see org.greenstone.gatherer.gui.CreatePane.OptionTreeNode
+	 */
+	public void valueChanged(TreeSelectionEvent event) {
+	    TreePath path = null;
+	    OptionTreeNode node = null;
+	    //if(event != null) {
+	    //path = event.getPath();
+	    path = getSelectionPath();
+	    if(path != null) {
+		node = (OptionTreeNode)path.getLastPathComponent();
+	    }
+				//}
+	    if(previous_pane != null) {
+		//target_pane.remove(previous_pane);
+		options_pane.update(previous_pane);
+		if(scroll_pane != null) {
+		    right.remove(scroll_pane);
+		}
+		else {
+		    right.remove(previous_pane);
+		}
+		previous_pane = null;
+		scroll_pane = null;
+	    }
+	    if(node != null && node.equals(log)) { 
+		build_button.setActionCommand(Dictionary.get("CreatePane.Build_Collection")); 
+		build_button.setText(Dictionary.get("CreatePane.Build_Collection")); 	
+	    }
+	    if(node != null && node.equals(building)) {
+	      build_button.setActionCommand(Dictionary.get("CreatePane.Build_Collection"));		
+		build_button.setText(Dictionary.get("CreatePane.Build_Collection"));
+ 
+
+		previous_pane = options_pane.buildBuild(null);
+		scroll_pane = new JScrollPane(previous_pane);
+		right.add(scroll_pane, BorderLayout.CENTER);
+		//target_pane.add(previous_pane, BorderLayout.CENTER);
+	    }
+	    else if(node != null && node.equals(importing)) {
+		build_button.setActionCommand(Dictionary.get("CreatePane.Build_Collection")); 
+		build_button.setText(Dictionary.get("CreatePane.Build_Collection")); 
+
+		previous_pane = options_pane.buildImport(null);
+		scroll_pane = new JScrollPane(previous_pane);
+		right.add(scroll_pane, BorderLayout.CENTER);
+		//target_pane.add(previous_pane, BorderLayout.CENTER);
+	    }
+	    else if(node != null && CollectionManager.canDoScheduling() && node.equals(scheduling)) { 
+		build_button.setActionCommand(Dictionary.get("CreatePane.Schedule_Build")); 
+		build_button.setText(Dictionary.get("CreatePane.Schedule_Build"));
+ 
+		previous_pane = options_pane.buildSchedule(null); 
+		scroll_pane = new JScrollPane(previous_pane);
+		right.add(scroll_pane, BorderLayout.CENTER);
+	    }
+	    else {
+		if (options_pane != null) {
+		    previous_pane = options_pane.buildLog();
+		    right.add(previous_pane, BorderLayout.CENTER);
+		    right.updateUI(); // we need to repaint the log pane, cos it hasn't changed since last time
+		    ///ystem.err.println("I've added the log back to the right pane again.");
+		    //target_pane.add(previous_pane, BorderLayout.CENTER);
+		}
+	    }
+	    //scroll_pane.setViewportView(previous_pane);
+	    //previous_pane.validate();
+	    right.validate();
+	    //System.err.println("Current pane size: " + previous_pane.getSize());
+	    //System.err.println("While its preferred size is: " + previous_pane.getPreferredSize());
+	}
+    }
+
+    /** The <strong>OptionTree</strong> is built from these nodes, each of which has several methods used in creating the option panes.
+     */
+    private class OptionTreeNode
+	extends DefaultMutableTreeNode
+	implements Comparable {
+	/** The text label given to this node in the tree. */
+	private String title = null;
+	/** a tool tip to be used for this node in the tree */
+	private String tool_tip = null;
+	/** Constructor.
+	 * @param title The <strong>String</strong> which serves as this nodes title.
+	 */
+	public OptionTreeNode(String title) {
+	    super();
+	    this.title = title;
+	}
+
+	/** This method compares two nodes for ordering.
+	 * @param obj The <strong>Object</strong> to compare to.
+	 * @return An <strong>int</strong> of one of the possible values -1, 0 or 1 indicating if this node is less than, equal to or greater than the target node respectively.
+	 */
+	public int compareTo(Object obj) {
+	    return title.compareTo(obj.toString());
+	}
+
+	/** This method checks if two nodes are equivalent.
+	 * @param obj The <strong>Object</strong> to be tested against.
+	 * @return A <strong>boolean</strong> which is <i>true</i> if the objects are equal, <i>false</i> otherwise.
+	 */
+	public boolean equals(Object obj) {
+	    if(compareTo(obj) == 0) {
+		return true;
+	    }
+	    return false;
+	}
+
+	/** get the tool tip */
+	public String getToolTipText() {
+	    return tool_tip;
+	}
+
+	/** set the tool tip */
+	public void setToolTipText(String tip) {
+	    tool_tip = tip;
+	}
+	
+	/** Method to translate this node into a textual representation.
+	 * @return A <strong>String</strong> which in this case is the title.
+	 */
+	public String toString() {
+	    return title;
+	}
+    }
+
+    // Adds tooltips to the tree nodes
+    private class ToolTipTreeCellRenderer
+	extends DefaultTreeCellRenderer {
+
+	public Component getTreeCellRendererComponent(JTree tree,
+						      Object value,
+						      boolean sel,
+						      boolean expanded,
+						      boolean leaf,
+						      int row,
+						      boolean hasFocus) {
+
+	    super.getTreeCellRendererComponent(tree, value, sel,
+					       expanded, leaf, row,
+					       hasFocus);
+	    if (value instanceof OptionTreeNode) {
+		String tip = ((OptionTreeNode) value).getToolTipText();
+		if (tip != null) {
+		    setToolTipText(tip);
+		}
+	    }
+	    return this;
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/CreateShortcutPrompt.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/CreateShortcutPrompt.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/CreateShortcutPrompt.java	(revision 21123)
@@ -0,0 +1,151 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import java.io.*;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.file.WorkspaceTree;
+
+
+public class CreateShortcutPrompt	
+    extends JDialog
+    implements ActionListener, KeyListener
+{
+    /** The default size of a special mapping dialog. */
+    static final Dimension DIALOG_SIZE = new Dimension(400, 120);
+
+    private boolean cancelled = false;
+    private JButton cancel_button = null;
+    private JButton ok_button = null;
+    private JTextField name_field = null;
+
+
+    public CreateShortcutPrompt(WorkspaceTree workspace_tree, File file)
+    {
+	super(Gatherer.g_man);
+        this.setComponentOrientation(Dictionary.getOrientation());
+	setModal(true);
+	setSize(DIALOG_SIZE);
+	setTitle(Dictionary.get("MappingPrompt.Title"));
+	
+	// Creation
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+	JPanel center_pane = new JPanel();
+        center_pane.setComponentOrientation(Dictionary.getOrientation());
+	JPanel labels_pane = new JPanel();
+        labels_pane.setComponentOrientation(Dictionary.getOrientation());
+	JPanel fields_pane = new JPanel();
+        fields_pane.setComponentOrientation(Dictionary.getOrientation());
+
+	JLabel file_label = new JLabel(Dictionary.get("MappingPrompt.File"));
+	file_label.setComponentOrientation(Dictionary.getOrientation());
+        JLabel file_field = new JLabel(file.getAbsolutePath());
+        file_field.setComponentOrientation(Dictionary.getOrientation());
+        
+	JLabel name_label = new JLabel(Dictionary.get("MappingPrompt.Name"));
+	name_label.setComponentOrientation(Dictionary.getOrientation());                
+        name_field = new JTextField(file.getName());
+        name_field.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	ok_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("General.OK_Tooltip"));
+	ok_button.setEnabled(name_field.getText().length() > 0);
+	cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Cancel_Tooltip"));
+	
+	// Connection
+	cancel_button.addActionListener(this);
+	ok_button.addActionListener(this);
+	name_field.addKeyListener(this);
+
+	// Layout
+	labels_pane.setLayout(new GridLayout(2,1,5,0));
+	labels_pane.add(file_label);
+	labels_pane.add(name_label);
+    
+	fields_pane.setLayout(new GridLayout(2,1,5,0));
+	fields_pane.add(file_field);
+	fields_pane.add(name_field);
+
+	center_pane.setBorder(BorderFactory.createEmptyBorder(0,0,5,0));
+	center_pane.setLayout(new BorderLayout(5,0));
+	center_pane.add(labels_pane, BorderLayout.LINE_START);
+	center_pane.add(fields_pane, BorderLayout.CENTER);
+
+	button_pane.setLayout(new GridLayout(1,2,5,5));
+	button_pane.add(ok_button);
+	button_pane.add(cancel_button);
+
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(center_pane, BorderLayout.CENTER);
+	content_pane.add(button_pane, BorderLayout.SOUTH);
+
+	// Display
+	Dimension screen_size = Configuration.screen_size;
+	setLocation((screen_size.width - DIALOG_SIZE.width) / 2, (screen_size.height - DIALOG_SIZE.height) / 2);
+	setVisible(true);
+
+	// If not cancelled create mapping.
+	if (!cancelled) {
+	    workspace_tree.addDirectoryMapping(name_field.getText(), file);
+	}
+    }
+
+
+    public void actionPerformed(ActionEvent event)
+    {
+	if (event.getSource() == cancel_button) {
+	    cancelled = true;
+	}
+	dispose();
+    }
+
+
+    public void destroy()
+    {
+	cancel_button = null;
+	ok_button = null;
+	name_field = null;
+    }
+
+
+    public void keyPressed(KeyEvent event) { }
+
+    public void keyReleased(KeyEvent event)
+    {
+	ok_button.setEnabled(name_field.getText().length() > 0);
+    }
+
+    public void keyTyped(KeyEvent event) { }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/DeleteCollectionPrompt.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/DeleteCollectionPrompt.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/DeleteCollectionPrompt.java	(revision 21123)
@@ -0,0 +1,358 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import java.net.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.BasicCollectionConfiguration;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.file.WorkspaceTree;  // !!! Don't like this here
+import org.greenstone.gatherer.util.ArrayTools;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+
+/** This class provides the functionality to delete current collections from the GSDLHOME/collect/ directory. The user chooses the collection from a list, where each entry also displays details about itself, confirms the delete of a collection by checking a checkbox then presses the ok button to actually delete the collection.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class DeleteCollectionPrompt
+    extends ModalDialog {
+    /** The currently selected collection for deletion. */
+    private BasicCollectionConfiguration collection = null;
+    /** The model behind the list. */
+    private DefaultListModel list_model = null;
+    /** A reference to ourself so any inner-classes can dispose of us. */
+    private DeleteCollectionPrompt prompt = null;
+    /** The close button, which exits the prompt without deleting anything. */
+    private JButton close_button = null;
+    /** The ok button which causes the selected collection to be deleted. */
+    private JButton ok_button = null;
+    /** The confirmation check box. */
+    private JCheckBox confirmation = null;
+    /** The label above details. */
+    private JLabel details_label = null;
+    /** The label above the list. */
+    private JLabel list_label = null;
+    /** The list of available collections. */
+    private JList list = null;
+    /** The text area used to display details about the collection selected. */
+    private JTextArea details = null;
+    /** A string array used to pass arguments to the phrase retrieval method. */
+    private String args[] = null;
+
+    private boolean current_coll_deleted = false;
+    /** The size of the delete prompt screen. */
+    public static final Dimension SIZE = new Dimension(500, 500);
+
+    /** Constructor.
+     */
+    public DeleteCollectionPrompt() {
+	super(Gatherer.g_man);
+	close_button = new GLIButton(Dictionary.get("General.Close"), Dictionary.get("General.Close_Tooltip"));
+	this.setComponentOrientation(Dictionary.getOrientation());
+	confirmation = new JCheckBox(Dictionary.get("DeleteCollectionPrompt.Confirm_Delete"));
+	confirmation.setComponentOrientation(Dictionary.getOrientation());
+        details = new JTextArea(Dictionary.get("DeleteCollectionPrompt.No_Collection"));
+        details.setComponentOrientation(Dictionary.getOrientation());
+	details.setEditable(false);
+	details_label = new JLabel(Dictionary.get("DeleteCollectionPrompt.Collection_Details"));
+        details_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	list = new JList();
+        list.setComponentOrientation(Dictionary.getOrientation());
+	list_label = new JLabel(Dictionary.get("DeleteCollectionPrompt.Collection_List"));
+	list_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	list_model = new DefaultListModel();
+	ok_button = new GLIButton(Dictionary.get("DeleteCollectionPrompt.Delete"), Dictionary.get("DeleteCollectionPrompt.Delete_Tooltip"));
+	
+	prompt = this;
+	setModal(true);
+	setSize(SIZE);
+	setTitle(Dictionary.get("DeleteCollectionPrompt.Title"));	        
+        
+	setJMenuBar(new SimpleMenuBar("deletingcollections")); 
+	close_button.addActionListener(new CloseButtonListener());
+	confirmation.addActionListener(new ConfirmationCheckBoxListener());
+	confirmation.setEnabled(false);
+	confirmation.setSelected(false);
+	list.addListSelectionListener(new CollectionListListener());
+	list.clearSelection();
+	list.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+	list.setModel(list_model);
+	ok_button.addActionListener(new OKButtonListener());
+	ok_button.setEnabled(false);
+	scanForCollections();
+        
+    }
+
+    /** Destructor. */
+    public void destroy() {
+	list_model.clear();
+	list_model = null;
+	close_button = null;
+	confirmation = null;
+	details = null;
+	details_label = null;
+	list = null;
+	ok_button = null;
+	prompt = null;
+    }
+
+    /** This method causes the modal prompt to be displayed. 
+     * returns true if it has deleted the collection that is currently open */
+    public boolean display() {
+	// Central pane
+        JScrollPane scrol_tmp;
+	JPanel list_pane = new JPanel(new BorderLayout());
+        list_pane.setComponentOrientation(Dictionary.getOrientation());
+	list_pane.add(list_label, BorderLayout.NORTH);
+        scrol_tmp = new JScrollPane(list);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	list_pane.add(scrol_tmp, BorderLayout.CENTER);
+	list_pane.setBorder(BorderFactory.createEmptyBorder(0, 0, 5, 0));
+
+	JPanel details_pane = new JPanel(new BorderLayout());
+        details_pane.setComponentOrientation(Dictionary.getOrientation());
+	details_pane.add(details_label, BorderLayout.NORTH);
+        scrol_tmp = new JScrollPane(details);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	details_pane.add(scrol_tmp, BorderLayout.CENTER);
+	details_pane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
+
+	JPanel central_pane = new JPanel(new GridLayout(2, 1));
+        central_pane.setComponentOrientation(Dictionary.getOrientation());
+	central_pane.add(list_pane);
+	central_pane.add(details_pane);
+	central_pane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
+
+	// Lower pane
+	JPanel confirmation_pane = new JPanel(new BorderLayout());
+        confirmation_pane.setComponentOrientation(Dictionary.getOrientation());
+	confirmation_pane.add(confirmation, BorderLayout.CENTER);
+	confirmation_pane.setBorder(BorderFactory.createEmptyBorder(0,0,5,0));
+
+	JPanel button_pane = new JPanel(new GridLayout(1, 2));
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	button_pane.add(ok_button);
+	button_pane.add(close_button);
+	button_pane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
+
+	JPanel lower_pane = new JPanel(new BorderLayout());
+        lower_pane.setComponentOrientation(Dictionary.getOrientation());
+	lower_pane.add(confirmation_pane, BorderLayout.NORTH);
+	lower_pane.add(button_pane, BorderLayout.SOUTH);
+	lower_pane.setBorder(BorderFactory.createEmptyBorder(0, 5, 5, 5));
+
+	// Final.
+	JPanel content_pane = (JPanel)this.getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(central_pane, BorderLayout.CENTER);
+	content_pane.add(lower_pane, BorderLayout.SOUTH);
+
+	// Center and display.
+	Dimension screen_size = Configuration.screen_size;
+	this.setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	this.setVisible(true); // blocks until the dialog is killed
+	return current_coll_deleted;
+    }
+
+
+    /** Shows a delete complete prompt. 
+     * @param success A <strong>boolean</strong> indicating if the collection was successfully deleted.
+     * @see org.greenstone.gatherer.collection.Collection
+     */
+    public void resultPrompt(boolean success) {
+	args = new String[1];
+	args[0] = collection.getName();
+	if (success) {
+	    JOptionPane.showMessageDialog(prompt,Dictionary.get("DeleteCollectionPrompt.Successful_Delete", args),Dictionary.get("DeleteCollectionPrompt.Successful_Title"),JOptionPane.INFORMATION_MESSAGE);
+	}
+	else {
+	    JOptionPane.showMessageDialog(prompt,Dictionary.get("DeleteCollectionPrompt.Failed_Delete", args),Dictionary.get("DeleteCollectionPrompt.Failed_Title"),JOptionPane.WARNING_MESSAGE);
+	}
+    }
+
+    /** Method to scan the collect directory retrieving and reloading each collection it finds, while building the list of known collections.
+     * @see org.greenstone.gatherer.Configuration
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.util.ArrayTools
+     * @see org.greenstone.gatherer.util.Utility
+     */
+    private void scanForCollections() {
+	// Start at the collect dir.
+	File collect_directory = new File(Gatherer.getCollectDirectoryPath());
+	if (collect_directory.exists()) {
+	  loadCollectionConfigs(collect_directory);
+	}
+    }
+
+  private void loadCollectionConfigs(File directory) {
+    // For each child directory see if it contains an 
+    // etc/collect.cfg file and if so try to load it..
+    File collections[] = directory.listFiles();
+    String file_name = (Gatherer.GS3)? Utility.CONFIG_GS3_FILE : Utility.CONFIG_FILE;
+    ArrayTools.sort(collections);
+    for(int i = 0; collections != null && i < collections.length; i++) {
+      if(collections[i].isDirectory() && !collections[i].getName().equals(StaticStrings.MODEL_COLLECTION_NAME)) {
+	File config_file = new File(collections[i], file_name);
+	if (config_file.exists()) {
+	  BasicCollectionConfiguration config = new BasicCollectionConfiguration(config_file);
+	  if (config.getCollectGroup().equals("true")) {
+	    loadCollectionConfigs(collections[i]);
+	  } else {
+	    list_model.addElement(config);
+	    config = null;
+	  }
+	}
+      }
+    }
+  }
+  
+
+    /** A button listener implementation, which listens for actions on the close button and disposes of the dialog when detected. */
+    private class CloseButtonListener 
+	implements ActionListener {
+	/** Any implementation of ActionListener must include this method so we can be informed when the button is actioned.
+	 * @param event An <strong>ActionEvent</strong> containing all the relevant information garnered from the event itself.
+	 */
+	public void actionPerformed(ActionEvent event) {
+	    // Done
+	    prompt.dispose();
+	}
+    }
+
+    /** This private class listens for selection events in from the list and then displays the appropriate details for that collection.
+     */
+    private class CollectionListListener 
+	implements ListSelectionListener {
+	/** Any implementation of ListSelectionListener must include this method so we can be informed when the list selection changes.
+	 * @param  event a <strong>ListSelectionEvent</strong> containing all the relevant information garnered from the event itself
+	 */
+	public void valueChanged(ListSelectionEvent event) {
+	    ok_button.setEnabled(false);
+	    confirmation.setSelected(false);
+	    if(!list.isSelectionEmpty()) {
+		collection = (BasicCollectionConfiguration) list.getSelectedValue();
+
+		String currentColName = (Gatherer.c_man.getCollection() == null) ? "" : Gatherer.c_man.getCollection().getName();
+		if(!collection.getShortName().equals(currentColName)) { 
+		    // the selected collection can only be deleted if it is NOT the collection that is currently open
+		    confirmation.setEnabled(true);
+		    confirmation.setToolTipText(null); // no tooltip
+		    ok_button.setToolTipText(null);
+
+		    args = new String[3];
+		    args[0] = collection.getCreator();
+		    args[1] = collection.getMaintainer();
+		    args[2] = collection.getDescription();
+		    details.setText(Dictionary.get("DeleteCollectionPrompt.Details", args));
+		    details.setCaretPosition(0);
+		} else { // trying to delete the collection that is open at present
+		    // add a tooltip saying to the confirmation checkbox saying that the current collection can't be deleted 
+		    String tooltip = Dictionary.get("DeleteCollectionPrompt.Cannot_Delete_Open_Collection_Tooltip", 
+						    collection.getName());
+		    confirmation.setToolTipText(tooltip);
+		    ok_button.setToolTipText(tooltip);
+		    // delete/ok button and confirmation checkbox should be disabled
+		    ok_button.setEnabled(false);
+		    confirmation.setEnabled(false);
+		    confirmation.setSelected(false);
+		}
+	    }
+	    else {
+		confirmation.setEnabled(false);
+		details.setText(Dictionary.get("DeleteCollectionPrompt.No_Collection"));
+	    }
+	}
+    }
+
+    /** A check box listener so we can tell if the user has confirmed the deletion */
+    private class ConfirmationCheckBoxListener
+	implements ActionListener {
+	/** Any implementation of ActionListener must include this method so we can be informed when the button is actioned.
+	 * @param event An <strong>ActionEvent</strong> containing all the relevant information garnered from the event itself.
+	 */
+	public void actionPerformed(ActionEvent event) {
+	    // OK button is only enabled if the confirmation check box is ticked
+	    ok_button.setEnabled(confirmation.isSelected());
+	}
+    }
+
+    /** The OK button listener implementation. */
+    private class OKButtonListener 
+	implements ActionListener {
+	/** Any implementation of ActionListener must include this method so we can be informed when the button is actioned.
+	 * @param event An <strong>ActionEvent</strong> containing all the relevant information garnered from the event itself.
+	 * @see org.greenstone.gatherer.Configuration
+	 * @see org.greenstone.gatherer.Gatherer
+	 * @see org.greenstone.gatherer.util.Utility
+	 */
+	public void actionPerformed(ActionEvent event)
+	{
+	    // Delete the selected collection.
+	    if (Gatherer.c_man.deleteCollection(collection.getShortName())) {
+		// Refresh the collections shown in the workspace tree
+		Gatherer.g_man.refreshWorkspaceTree(WorkspaceTree.LIBRARY_CONTENTS_CHANGED);
+
+		if (collection.getShortName().equals(CollectionManager.getLoadedCollectionName())) {
+		    current_coll_deleted = true;
+		}
+		list_model.removeElement(collection);
+
+		resultPrompt(true);
+		details.setText(Dictionary.get("DeleteCollectionPrompt.No_Collection"));
+		confirmation.setEnabled(false);
+		confirmation.setSelected(false);
+		ok_button.setEnabled(false);
+		collection = null;
+	    }
+	    else {
+		resultPrompt(false);
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/DesignPane.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/DesignPane.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/DesignPane.java	(revision 21123)
@@ -0,0 +1,77 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.cdm.CollectionDesignManager;
+import org.greenstone.gatherer.cdm.Control;
+
+import org.greenstone.gatherer.Configuration;
+
+public class DesignPane 
+    extends BaseConfigPane {
+
+    /** The constructor. */
+    public DesignPane() {
+	super();
+	if (Configuration.fedora_info.isActive()) {
+	    contents = new String [] { "CDM.GUI.Plugins" };
+	}
+	else {
+	    contents = new String [] { "CDM.GUI.Plugins", "CDM.GUI.Indexes", "CDM.GUI.Subcollections",  "CDM.GUI.Classifiers" };
+	}
+	
+    }
+
+    protected Control getSubControls(String type) {
+	if(type.equals("CDM.GUI.Plugins")) {
+	    return  CollectionDesignManager.plugin_manager.getControls();
+	}
+	if(type.equals("CDM.GUI.Indexes")) {
+	    return CollectionDesignManager.index_manager.getControls();
+	}
+	if(type.equals("CDM.GUI.Subcollections")) {
+	    return CollectionDesignManager.subcollection_manager.getControls();
+	}
+	if(type.equals("CDM.GUI.Classifiers")) {
+	    return CollectionDesignManager.classifier_manager.getControls();
+	}
+
+	return null;
+    }
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/DesignPaneHeader.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/DesignPaneHeader.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/DesignPaneHeader.java	(revision 21123)
@@ -0,0 +1,82 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: Katherine Don, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.gui.HelpFrame;
+import org.greenstone.gatherer.gui.MenuBar;
+
+/** creates a header pane containing the title of the screen, and a help button which links to the appropriate help page */
+public class DesignPaneHeader
+    extends JPanel
+{
+    protected String help_key_name;
+
+
+    public DesignPaneHeader(String label_key, String help_key)
+    {
+        this.setComponentOrientation(Dictionary.getOrientation());
+	JLabel title_label = new JLabel("<HTML><STRONG><FONT FACE={FONT} COLOR=Black SIZE=5>" + Dictionary.get(label_key) + "</FONT></STRONG></HTML>");
+        title_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel title_pane = new JPanel();
+	title_pane.setBorder(BorderFactory.createEmptyBorder(0,0,0,5));
+	title_pane.setLayout(new BorderLayout());
+	title_pane.add(title_label, BorderLayout.CENTER);
+	title_pane.add(new JSeparator(), BorderLayout.SOUTH);
+        title_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	GLIButton help_button = new GLIButton(Dictionary.get("CDM.HelpButton"), Dictionary.get("CDM.HelpButton_Tooltip"));
+	this.help_key_name = help_key;
+	help_button.setIcon(MenuBar.HELP_ICON);
+	help_button.addActionListener(new ActionListener()
+	    {
+		public void actionPerformed(ActionEvent event) {
+		    HelpFrame.setView(help_key_name);
+		}
+	    });
+
+	setLayout(new BorderLayout());
+	add(title_pane, BorderLayout.CENTER);
+	add(help_button, BorderLayout.LINE_END);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/DownloadPane.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/DownloadPane.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/DownloadPane.java	(revision 21123)
@@ -0,0 +1,740 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import java.net.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.border.*;
+import javax.swing.event.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.file.WorkspaceTree;
+import org.greenstone.gatherer.greenstone.LocalGreenstone;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.download.Download;
+import org.greenstone.gatherer.download.DownloadScrollPane;
+import org.greenstone.gatherer.download.ServerInfoDialog;
+import org.greenstone.gatherer.util.XMLTools;
+import org.greenstone.gatherer.cdm.*;
+import org.greenstone.gatherer.gui.*;
+import org.w3c.dom.*;
+import org.xml.sax.*;
+import org.greenstone.gatherer.GAuthenticator;
+
+/**
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.1
+ */
+public class DownloadPane
+    extends JPanel {
+
+    static final private Dimension LABEL_SIZE = new Dimension(225, 25);
+    static final private Dimension TREE_SIZE = new Dimension(150, 500);
+    static final private String CONTENTS[] = { "DOWNLOAD.MODE.WebDownload", "DOWNLOAD.MODE.MediaWikiDownload", "DOWNLOAD.MODE.OAIDownload", "DOWNLOAD.MODE.ZDownload" , "DOWNLOAD.MODE.SRWDownload"};
+
+    private boolean download_button_enabled = false;
+    private boolean ready = false;
+
+    private JPanel options_pane;
+    // TODO should use Vector to store all loaded downloads!!
+
+    private DesignTree tree;
+    private HashMap download_map;
+    private ServerInfoDialog server_info;
+    private JScrollPane list_scroll;
+    private DownloadScrollPane getter;
+    private String mode = null;
+    private TreePath previous_path;
+    private String proxy_url = "";
+	    
+    /** Main System code */
+    public DownloadPane() {
+	super();
+        JScrollPane scrol_tmp;
+        this.setComponentOrientation(Dictionary.getOrientation());
+	// TODO: Download the WDownload and the download panel fixed!!
+        getter = new DownloadScrollPane();
+        getter.start();
+	list_scroll = getter.getDownloadJobList();      
+        list_scroll.setComponentOrientation(Dictionary.getOrientation());
+	// TODO should use Vector to store all loaded downloads!!
+	String lang = Configuration.getLanguage();
+	download_map = new HashMap();
+	download_map.put("Web", loadDownload("WebDownload",lang));
+	download_map.put("MediaWiki", loadDownload("MediaWikiDownload",lang));
+	download_map.put("OAI", loadDownload("OAIDownload",lang));
+	download_map.put("Z3950", loadDownload("Z3950Download",lang));
+	download_map.put("SRW", loadDownload("SRWDownload",lang));
+
+	// Creation
+	tree = new DesignTree();
+        tree.setComponentOrientation(Dictionary.getOrientation());
+	options_pane = new JPanel();
+        options_pane.setComponentOrientation(Dictionary.getOrientation());
+	
+	JButton clear_cache_button = new GLIButton(Dictionary.get("Mirroring.ClearCache"), Dictionary.get("Mirroring.ClearCache_Tooltip"));
+	clear_cache_button.setEnabled(true);
+	clear_cache_button.setMnemonic(KeyEvent.VK_C);
+
+	JButton download_button = new GLIButton(Dictionary.get("Mirroring.Download"), Dictionary.get("Mirroring.Download_Tooltip"));
+	download_button.setEnabled(true);
+	download_button.setMnemonic(KeyEvent.VK_D);
+
+	JButton information_button =  new GLIButton(Dictionary.get("Download.ServerInformation"), Dictionary.get("Download.ServerInformation_Tooltip"));
+	information_button.setEnabled(true);
+	information_button.setMnemonic(KeyEvent.VK_S);
+
+
+       	JButton preferences_button =  new GLIButton(Dictionary.get("Mirroring.Preferences"), Dictionary.get("Mirroring.Preferences_Tooltip"));
+	preferences_button.setEnabled(true);
+	preferences_button.setMnemonic(KeyEvent.VK_P);
+
+	// Connect
+	clear_cache_button.addActionListener(new ClearCacheListener());
+	download_button.addActionListener(new DownloadButtonListener());
+	preferences_button.addActionListener(new PreferencesButtonActionListener());
+	information_button.addActionListener(new InformationButtonActionListener());
+	tree.addTreeSelectionListener(new TreeListener());
+
+	// Add to Panel
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	button_pane.setLayout(new FlowLayout(FlowLayout.CENTER,20,5));
+	button_pane.setBorder(BorderFactory.createEtchedBorder());
+	button_pane.add(clear_cache_button);
+	button_pane.add(download_button);
+	button_pane.add(information_button);
+	button_pane.add(preferences_button);
+
+	JPanel tree_pane = new JPanel();
+        tree_pane.setComponentOrientation(Dictionary.getOrientation());
+	tree_pane.setLayout(new BorderLayout());
+        scrol_tmp = new JScrollPane(tree);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+       	tree_pane.add(scrol_tmp, BorderLayout.CENTER);
+	tree_pane.setPreferredSize(TREE_SIZE);
+ 
+
+	Color colour_two = Configuration.getColor("coloring.collection_tree_background", false);
+	options_pane.setBackground(colour_two);
+	options_pane.setBorder(BorderFactory.createEtchedBorder());
+
+
+	JScrollPane options_scroll_pane = new JScrollPane(options_pane);
+        options_scroll_pane.setComponentOrientation(Dictionary.getOrientation());
+	JSplitPane mode_pane = new JSplitPane();
+        mode_pane.setComponentOrientation(Dictionary.getOrientation());
+	mode_pane.setBorder(BorderFactory.createEmptyBorder(0,0,0,0));
+        if (Dictionary.getOrientation().isLeftToRight()){
+            mode_pane.add(tree_pane,JSplitPane.LEFT);
+            mode_pane.add(options_scroll_pane,JSplitPane.RIGHT); 
+            mode_pane.setDividerLocation(TREE_SIZE.width);
+        }else{
+            mode_pane.add(tree_pane,JSplitPane.RIGHT);
+            mode_pane.add(options_scroll_pane,JSplitPane.LEFT);
+            mode_pane.setDividerLocation(1-TREE_SIZE.width);
+        }
+		
+    
+	JPanel edit_pane = new JPanel();
+        edit_pane.setComponentOrientation(Dictionary.getOrientation());
+	edit_pane.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(2,0,0,0), BorderFactory.createCompoundBorder(BorderFactory.createTitledBorder("Download Setting"), BorderFactory.createEmptyBorder(2,2,2,2))));
+	edit_pane.setLayout(new BorderLayout());
+	edit_pane.add(mode_pane,BorderLayout.CENTER);
+	edit_pane.add(button_pane,BorderLayout.PAGE_END);
+	
+	// Add to "this"
+	setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	setLayout(new GridLayout(2,1));
+	add(edit_pane);
+	add(list_scroll);
+
+	mode = "Web";
+	generateOptions(options_pane,(Download)download_map.get(mode));
+	previous_path = tree.getSelectionPath();
+    }
+
+    /** System Utilities */
+    public void modeChanged(int gli_mode) {
+	// do nothing at this stage - should we be renewing download options??
+    }
+
+    private void addHeader(String name, Color color, JPanel target_pane) {
+	JPanel header = new JPanel();
+        header.setComponentOrientation(Dictionary.getOrientation());
+	header.setBackground(color);
+	JPanel inner_pane = new JPanel();
+        inner_pane.setComponentOrientation(Dictionary.getOrientation());
+	inner_pane.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(5,5,5,5), BorderFactory.createRaisedBevelBorder()));
+	inner_pane.setBackground(color);
+	JLabel header_label = new JLabel("<html><strong>" + name + "</strong></html>");
+        header_label.setComponentOrientation(Dictionary.getOrientation());
+	header_label.setBackground(Configuration.getColor("coloring.collection_heading_background", false));
+	header_label.setHorizontalAlignment(JLabel.CENTER);
+	header_label.setOpaque(true);
+
+	// Layout
+	inner_pane.setLayout(new BorderLayout());
+	inner_pane.add(header_label, BorderLayout.CENTER);
+
+	header.setLayout(new BorderLayout());
+	header.add(inner_pane, BorderLayout.CENTER);
+	target_pane.add(header);
+    }
+
+    /** Supporting Functions */
+    private Download loadDownload(String download_name, String lang) {
+	Document document = null;
+	
+	try {
+	    if (Gatherer.isGsdlRemote) {
+		String output = Gatherer.remoteGreenstoneServer.getScriptOptions("downloadinfo.pl", "&downloader="+download_name); //OR: "&listall";
+		Reader reader = new StringReader(output);
+		document = XMLTools.parseXML(reader);
+	    }
+	    else {
+		ArrayList args_list = new ArrayList();
+		String args[] = null;
+		if(Configuration.perl_path != null) {
+		    args_list.add(Configuration.perl_path);
+		} else if(Utility.isWindows()) {
+		    args_list.add("Perl.exe");
+		} else {
+		    args_list.add("perl");
+		}
+		args_list.add("-S");
+		args_list.add(LocalGreenstone.getBinScriptDirectoryPath()+"downloadinfo.pl");
+		args_list.add("-xml");
+		args_list.add("-language");
+		args_list.add(lang);
+		args_list.add(download_name);
+		
+		// Create the process.
+		args = (String []) args_list.toArray(new String[0]);
+		Runtime runtime = Runtime.getRuntime();
+		DebugStream.println("Getting Download Info: "+args_list);
+		Process process = runtime.exec(args);
+		
+		InputStream input_stream = process.getErrorStream();
+		document = XMLTools.parseXML(input_stream);
+	    }
+
+            
+	}
+	catch (Exception error) {
+	    System.err.println("Failed when trying to parse: " + download_name);
+	    error.printStackTrace();
+	}
+
+	if(document != null) {
+	    return parseXML(document.getDocumentElement());
+	}
+
+	return null;
+    }
+
+    private Download parseXML(Node root) {
+	Download download = new Download();
+	String node_name = null;
+	for (Node node = root.getFirstChild(); node != null; node = node.getNextSibling()) {
+	    node_name = node.getNodeName();
+	    if(node_name.equalsIgnoreCase("Name")) {
+		String name = XMLTools.getValue(node);
+		download.setName(name);
+	    }
+	    else if (node_name.equalsIgnoreCase("Desc")) {
+		download.setDescription(XMLTools.getValue(node));
+	    }
+	    else if (node_name.equalsIgnoreCase("Abstract")) {
+		download.setIsAbstract(XMLTools.getValue(node).equalsIgnoreCase(StaticStrings.YES_STR));
+	    }
+	    else if(node_name.equalsIgnoreCase("Arguments")) {
+		for(Node arg = node.getFirstChild(); arg != null; arg = arg.getNextSibling()) {
+		    node_name = arg.getNodeName();
+                     if(node_name.equalsIgnoreCase("Option")) {
+			Argument argument = new Argument((Element)arg);
+			argument.parseXML((Element)arg);
+			argument.setValue(argument.getDefaultValue());
+			download.addArgument(argument);
+		     }
+		   
+		}
+	    }
+            else if(node_name.equalsIgnoreCase("DownloadInfo")) {
+                Download super_download = parseXML(node);
+		download.setSuper(super_download);
+	    }
+	}
+
+	if(download.getName() != null) {
+	    return download;
+	}
+	return null;
+    }
+
+    /** Update the previous setup */
+    private boolean updateArguments(boolean checkRequired)
+    {
+	boolean cont = true;
+	for(int i = 0; i < options_pane.getComponentCount(); i++) {
+	   
+	    Component component = options_pane.getComponent(i);
+	    if(component instanceof ArgumentControl) {
+		cont = cont && ((ArgumentControl)component).updateArgument(checkRequired);
+	    }
+	}
+
+	if(cont){return true; }
+
+	return false;
+    }
+    
+    /** Generate Controls for Options */
+    /* at some stage we should think about which options should be shown for
+     * different modes. Currently, always show all options (unless hidden)*/
+    private void generateOptions(JPanel options_pane, ArgumentContainer data) {
+	options_pane.removeAll();
+	/** Create the current option panel */
+
+	ArrayList arguments = data.getArguments(true, false);
+      	int mode = Configuration.getMode();
+        ArrayList added_arguments = new ArrayList();
+     
+	for(int i = 0; i < arguments.size(); i++) {
+	    Argument argument = (Argument) arguments.get(i);
+
+	    if (argument.isHiddenGLI()) continue;
+	    ArgumentControl argument_control = new ArgumentControl(argument,false,null);
+	    added_arguments.add(argument_control);
+	}
+	
+
+       	options_pane.setLayout(new GridLayout(added_arguments.size(),1));
+        for(int i = 0; i <  added_arguments.size(); i++) { 
+	    options_pane.add((ArgumentControl)added_arguments.get(i));
+	    
+	}
+    }
+
+    /** Behaviour Functions */
+    public void afterDisplay() {
+	ready = true;        
+    }
+
+
+    public void gainFocus() {
+	if(!ready) {
+	    return;
+	}
+
+	// It is also a good time to determine if the download should be enabled - ie if its allowed to be enabled and a valid URL is present in the field.
+	download_button_enabled = true;
+	//download_button.setEnabled(download_button_enabled);
+    }
+
+
+
+    public void refresh(int refresh_reason, boolean ready)
+    {
+    }
+
+    /** Private classes */
+    /** This tree provides a 'table of contents' for the various components of the design process (collection configuration in more technical terms). */
+    private class DesignTree extends JTree {
+
+	private DesignNode root = null;
+	/** Constructor. Automatically generates all of the nodes, in the order of CONTENTS. */
+	public DesignTree() {
+	    super();
+            this.setComponentOrientation(Dictionary.getOrientation());
+	    resetModel(Configuration.getMode());
+	    expandRow(0);
+	    setRootVisible(false);
+	    setSelectionRow(0);
+	}
+
+	/** Reset the model used by the design page contents tree. This is necessary to hide the partitions entry when in lower detail modes
+	 * @param mode the current detail mode as an int
+	 */
+	public void resetModel(int mode) {
+	    root = new DesignNode("DOWNLOAD.MODE.Root");
+	    // Now add the design categories.
+	    for(int i = 0; i < CONTENTS.length; i++) {
+		root.add(new DesignNode(CONTENTS[i]));
+	    }
+	    this.setModel(new DefaultTreeModel(root));
+	    updateUI();
+	}
+	/** Set the current view to the one specified.
+	 * @param type the name of the desired view as a String
+	 */
+	public void setSelectedView(String type) {
+	    type = Dictionary.get(type);
+	    for(int i = 0; i < root.getChildCount(); i++) {
+		DesignNode child = (DesignNode) root.getChildAt(i);
+		if(child.toString().equals(type)) {
+		    TreePath path = new TreePath(child.getPath());
+		    setSelectionPath(path);
+		}
+	    }
+	}
+    }
+
+    /** A tree node that retains a reference to one of the possible design sub-views relating to the different sub-managers. */
+    private class DesignNode extends DefaultMutableTreeNode {
+	/** Constructor.
+	 * @param object The <strong>Object</strong> assigned to this node.
+	 */
+	public DesignNode(String object) {
+	    super(object);
+	}
+	/** Retrieve a textual representation of the object.
+	 * @return a String
+	 */
+	public String toString() {
+	    // return Dictionary.get("CDM.GUI." + (String)getUserObject());
+	    return Dictionary.get((String) getUserObject());
+	}
+    }
+
+    /** Listens for selection changes in the 'contents' tree, and switches to the appropriate view. */
+    private class TreeListener
+	implements TreeSelectionListener {
+	/** Called whenever the selection changes, we must update the view so it matches the node selected.
+	 * @param event A <strong>TreeSelectionEvent</strong> containing more information about the tree selection.
+	 * @see org.greenstone.gatherer.cdm.ClassifierManager
+	 * @see org.greenstone.gatherer.cdm.CollectionDesignManager
+	 * @see org.greenstone.gatherer.cdm.CollectionMetaManager
+	 * @see org.greenstone.gatherer.cdm.FormatManager
+	 * @see org.greenstone.gatherer.cdm.LanguageManager
+	 * @see org.greenstone.gatherer.cdm.MetadataSetView
+	 * @see org.greenstone.gatherer.cdm.SubcollectionManager
+	 * @see org.greenstone.gatherer.cdm.TranslationView
+	 * @see org.greenstone.gatherer.cdm.PlugInManager
+	 */
+	public void valueChanged(TreeSelectionEvent event) {
+	    if(!tree.isSelectionEmpty()) {
+		TreePath path = tree.getSelectionPath();
+
+		DesignNode node = (DesignNode)path.getLastPathComponent();
+		String type = (String)node.getUserObject();
+		Gatherer.g_man.wait(true);
+		if(type == CONTENTS[0]) {
+		    mode = "Web";
+		    generateOptions(options_pane,(Download)download_map.get(mode));
+		}
+		else if(type == CONTENTS[1]) {
+		    mode = "MediaWiki";
+		    generateOptions(options_pane,(Download)download_map.get(mode));
+		}
+		else if(type == CONTENTS[2]) {
+		    mode = "OAI";
+		    generateOptions(options_pane,(Download)download_map.get(mode));
+		}
+		else if(type == CONTENTS[3]) {
+		    mode = "Z3950";
+		    generateOptions(options_pane,(Download)download_map.get(mode));
+		}
+		else if(type == CONTENTS[4]) {
+		    mode = "SRW";
+		    generateOptions(options_pane,(Download)download_map.get(mode));
+		}
+		tree.setSelectionPath(path);
+		previous_path = path;
+		repaint();
+
+		Gatherer.g_man.wait(false);
+	    }
+	}
+    }
+
+    private class ClearCacheListener
+	implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+	    // Retrieve the cache folder and delete it.
+	    Utility.delete(Utility.getCacheDir());
+	    // ...and refresh the node in the workspace tree to show it's all gone
+	    Gatherer.g_man.refreshWorkspaceTree(WorkspaceTree.DOWNLOADED_FILES_CHANGED);
+	}
+    }
+
+    private class DownloadButtonListener
+	implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+
+	    if(checkURL(true) && checkProxy() == true) {
+		
+		// Proxy settings are now set. Check that the url is not a redirect, else get
+		// redirect url (we do this step in order to avoid some unintuitive behaviour from wget)
+		Download current_download = (Download)download_map.get(mode);
+		Argument arg_url = current_download.getArgument("url");
+		if(arg_url != null) { // it's null for z3950 and possibly for other downloaders
+		    String url_str = arg_url.getValue();
+		    String redirect_url_str = getRedirectURL(url_str);
+		    
+		    // only update the Argument and its GUI ArgumentControl if the URL
+		    // has in fact changed
+		    if(!url_str.equals(redirect_url_str)) {
+			arg_url.setValue(redirect_url_str);
+			updateArgument(arg_url, redirect_url_str);
+		    }
+		}
+		getter.newDownloadJob((Download)download_map.get(mode) ,mode,proxy_url);
+	    }
+	}
+    }
+
+    /**
+     * The Java code here will retrieve the page at the given url. If the response code is 
+     * a redirect, it will get the redirect url so that wget may be called with the proper url. 
+     * This preprocessing of the URL is necessary because:
+     * Wget does not behave the way the browser does when faced with urls of the form
+     * http://www.englishhistory.net/tudor/citizens and if that page does not exist.
+     * The directory listing with a slash at the end (http://www.englishhistory.net/tudor/citizens/)
+     * does exist, however. In order to prevent wget from assuming that the root URL
+     * to traverse is http://www.englishhistory.net/tudor/ instead of the intended
+     * http://www.englishhistory.net/tudor/citizens/, we need give wget the redirect location
+     * that's returned when we initially make a request for http://www.englishhistory.net/tudor/citizens
+     * The proper url is sent back in the Location header, allowing us to bypass wget's 
+     * unexpected behaviour.
+     * This method ensures that urls like http://www.nzdl.org/niupepa also continue to work:
+     * there is no http://www.nzdl.org/niupepa/ page, because this url actually redirects to an 
+     * entirely different URL.
+     * @return the redirect url for the given url if any redirection is involved, or the
+     * url_str.
+     */
+    private String getRedirectURL(String url_str) {
+	HttpURLConnection connection = null;
+	if(url_str.startsWith("http:")) { // only test http urls
+	    try {
+		URL url = new URL(url_str); 
+		connection = (HttpURLConnection)url.openConnection(); //new HttpURLConnection(url);
+		// don't let it automatically follow redirects, since we want to
+		// find out whether we are dealing with redirects in the first place
+		connection.setInstanceFollowRedirects(false);
+		
+		// now check for whether we get a redirect response
+		// HTTP Codes 3xx are redirects, http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
+		int responseCode = connection.getResponseCode();
+		if(responseCode >= 300 && responseCode < 400) { 
+		    String responseMsg = connection.getResponseMessage();
+
+		    // Get the Location header since this specifies the new location of the resource
+		    String location = connection.getHeaderField("Location");
+		    
+		    // this becomes the url that wget should download from
+		    url_str = location.trim();
+		}
+		
+		connection.disconnect();
+	    } catch(Exception e) {
+		if(connection != null) {
+		    connection.disconnect();
+		}
+		System.err.println("Checking redirection. Tried to connect to "
+				   + url_str + ",\nbut got exception: " + e);
+	    }	    
+	} 
+
+	return url_str;
+    }
+
+    
+    /** For a string-based Argument whose value has changed, this method
+     * updates the GUI ArgumentControl's value correspondingly. */
+    private void updateArgument(Argument arg, String value) {
+	for(int i = 0; i < options_pane.getComponentCount(); i++) {
+	    Component component = options_pane.getComponent(i);
+	    if(component instanceof ArgumentControl) {
+		ArgumentControl control = (ArgumentControl)component;
+		if(control.getArgument() == arg) {
+		    control.setValue(value);
+		    control.repaint();
+		}
+	    }
+	}
+    }
+
+    private boolean checkURL(boolean checkRequired){
+	
+	if (!updateArguments(checkRequired)){
+	    return false;
+	}
+
+	Download current_download = (Download)download_map.get(mode);
+	Argument arg_url = current_download.getArgument("url");
+	
+        if (arg_url == null) return true;
+ 
+	String url_str = arg_url.getValue();
+	URL url = null;
+	try {
+	    url = new URL(url_str);
+	}
+	catch(MalformedURLException error) {
+	    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("Mirroring.Invalid_URL"), Dictionary.get("Mirroring.Invalid_URL_Title"), JOptionPane.ERROR_MESSAGE);
+	    return false;
+	}
+
+	return true;
+    }
+
+    
+    private boolean checkProxy(){
+	 
+	proxy_url = null;
+
+	Download current_download = (Download)download_map.get(mode);
+	
+        Argument arg = current_download.getArgument("proxy_on");
+  
+	if (arg == null) return true;
+	
+	// Determine if we have to use a proxy.
+	if(Configuration.get("general.use_proxy", true)) {
+          
+	    String proxy_host = Configuration.getString("general.proxy_host", true);
+	    String proxy_port = Configuration.getString("general.proxy_port", true);
+	    // Find out whether the user has already authenticated themselves
+	    String user_pass = "";
+	    String address = proxy_host + ":" + proxy_port;
+	    
+            int count = 0;
+	    // Only for wget, need to avoid a second automatic authentication popup (first asks
+	    // the proxy authentication for wget, and the second will ask the same for the realm)
+	    // Once the authentication has been reused, it will set the GAuthenticator state back to REGULAR
+	    GAuthenticator.setMode(GAuthenticator.DOWNLOAD);
+	    while(count < 3 && (user_pass = (String) GAuthenticator.authentications.get(address)) == null) {
+		Authenticator.requestPasswordAuthentication(proxy_host, null, Integer.parseInt(proxy_port), "http://", Dictionary.get("WGet.Prompt"), "HTTP");
+		count++;
+	    }
+	    if(count >= 3) {
+		return false;
+	    }
+
+	    if(user_pass.indexOf("@") != -1) {
+			
+		// Write the use proxy command - we don't do this anymore, instead we set environment variables - hopefully these can't be spied on like the following can (using ps) - actually the environment stuff didn't work for windows, so lets go back to this
+		if (Utility.isWindows()) {
+		     
+		   arg.setValue("true");
+		   arg.setAssigned(true);
+
+		   arg = current_download.getArgument("proxy_host");
+		   arg.setValue(proxy_host);
+		   arg.setAssigned(true);
+
+		   arg = current_download.getArgument("proxy_port");
+		   arg.setValue(proxy_port);
+		   arg.setAssigned(true);
+
+		   arg = current_download.getArgument("user_name");
+		   arg.setValue(user_pass.substring(0, user_pass.indexOf("@")));
+		   arg.setAssigned(true);
+
+		   arg = current_download.getArgument("user_password");
+		   arg.setValue(user_pass.substring(user_pass.indexOf("@") + 1));
+		   arg.setAssigned(true);
+		  }
+	       else{
+ 		    String user_name = user_pass.substring(0, user_pass.indexOf("@"));
+ 		    String user_pwd = user_pass.substring(user_pass.indexOf("@") + 1);
+ 		    proxy_url = user_name+":"+user_pwd+"@"+proxy_host+":"+proxy_port+"/";
+		   
+ 	       }
+		
+	       return true;
+	    }
+	    else{
+		return false;
+	    }
+
+	}
+	
+	return true;
+    }
+
+    /*
+    private class PreferencesButtonActionListener
+    implements ActionListener {
+    public void actionPerformed(ActionEvent event) {
+    new Preferences(Preferences.CONNECTION_PREFS);
+    }
+    }*/
+    
+    private class InformationButtonActionListener
+	implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+	    //turn off the check for find argument
+	    Download current_download = (Download)download_map.get(mode);
+
+            if (!checkProxy() || !checkURL(false) )return;
+
+
+	    if(server_info != null) {
+		server_info.dispose();
+	    }
+
+	   
+	    Argument arg_url = current_download.getArgument("url");
+	    String str_url = "";
+
+	    if( arg_url!= null && arg_url.isAssigned()) {
+		str_url = arg_url.getValue();
+	    }
+
+            
+ 	    server_info = new ServerInfoDialog(str_url ,proxy_url, mode,(Download)download_map.get(mode));
+ 	    
+	}
+    }
+
+     private class PreferencesButtonActionListener
+	implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+	    new Preferences(Preferences.CONNECTION_PREFS);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/EditorDialog.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/EditorDialog.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/EditorDialog.java	(revision 21123)
@@ -0,0 +1,156 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+
+/** A class that extends a JDialog into a editor for editing large block of text for the metadata value.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+final public class EditorDialog
+    extends ModalDialog 
+    implements ActionListener {
+   /** Is this dialog editable? */
+   private boolean editable = true;
+   /** The cancel, and I don't want the text I've typed, button. */
+    private JButton cancel = null;
+    /** The ok, I'll save what I've just typed in, button. */
+    private JButton ok = null;
+    /** The area in which we type. */
+    private JTextArea text = null;
+    /** And what result should be passed back to our caller. */
+    private String result = null;
+    /** The size of the edit pop-up. */
+    final static private Dimension SIZE = new Dimension(400, 300);
+
+    /** Constructor */
+    public EditorDialog() {
+	super(Gatherer.g_man);
+        this.setComponentOrientation(Dictionary.getOrientation());
+    }
+
+    /** Any implementation of ActionListener must include this method so we can be informed when an action has been performed on one of our target controls. In this case we generate a pop-up window to edit in.
+     * @param event An <strong>ActionEvent</strong> containing information about the event.
+     */
+    public void actionPerformed(ActionEvent event) {
+	if (event.getSource() == ok) {
+	    result = text.getText();
+	}
+	dispose();
+    }
+
+    /** Method to display the editing box on screen.
+     * @param value The initial text to be displayed in the editing area, as a <strong>String</strong>.
+     * @return The new value for the metadata value as a <strong>String</strong> or <i>null</i> if the user has pressed cancel.
+     */
+    public String display(String value) {
+	setModal(true);
+	setSize(SIZE);
+	setJMenuBar(new SimpleMenuBar("theenrichview"));
+	if (editable) {
+	    setTitle(Dictionary.get("General.Edit"));
+	} else {
+	    setTitle(Dictionary.get("General.View"));
+	}
+	// Create
+	text = new JTextArea(value);
+        text.setComponentOrientation(Dictionary.getOrientation());
+	text.setCaretPosition(value.length());
+	text.setEditable(editable);
+	text.setLineWrap(true);
+	text.setWrapStyleWord(false);
+	if (editable) {
+	    text.setToolTipText(Dictionary.get("EnrichPane.Value_Field_Tooltip"));
+	} else {
+	    text.setToolTipText(Dictionary.get("EnrichPane.Value_Field_Tooltip_Uneditable"));
+	}
+
+	cancel = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Pure_Cancel_Tooltip"));
+	
+	ok = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("General.OK_Tooltip"));
+	
+
+	// Listeners
+	cancel.addActionListener(this);
+	ok.addActionListener(this);
+
+	// Layout
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	button_pane.setLayout(new GridLayout(1,2));
+	if(editable) {
+	   button_pane.add(ok);
+	   button_pane.add(cancel);
+	}
+	else {
+	   button_pane.add(new JPanel());
+	   button_pane.add(ok);
+	}
+		  
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+	content_pane.setLayout(new BorderLayout());
+        JScrollPane scrol_tmp;
+        scrol_tmp = new JScrollPane(text);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	content_pane.add(scrol_tmp, BorderLayout.CENTER);
+	content_pane.add(button_pane, BorderLayout.SOUTH);
+		  
+	Dimension screen_size = Configuration.screen_size;
+	setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	setVisible(true);
+	return result;
+    }
+
+    /** Specify if this text dialog should be editable or readonly
+     * @param editable true to allow editing, false otherwise
+     */
+    public void setEditable(boolean editable) {
+      if(text == null) {
+	 this.editable = editable;
+      }
+      else {
+	 text.setEditable(editable);
+      }
+   }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/EmailField.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/EmailField.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/EmailField.java	(revision 21123)
@@ -0,0 +1,69 @@
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.util.regex.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.text.*;
+import org.greenstone.gatherer.Dictionary;
+
+public class EmailField
+    extends JTextField 
+    implements DocumentListener {
+
+    static final public Pattern EMAIL_PATTERN = Pattern.compile("([^()\\-<> @,;:\"][^()<> @,;:\"]*|\"[^()<>@,;:\"]+\")@([A-Za-z](-*[A-Za-z0-9])*(\\.[A-Za-z](-*[A-Za-z0-9])*)*)");
+
+    private boolean invalid = false;
+    private Color background;
+    private Color invalid_background;
+
+    public EmailField(Color invalid_background) {
+	super();
+        this.setComponentOrientation(Dictionary.getOrientation());
+	this.invalid_background = invalid_background;
+    }
+
+    public EmailField(String email, Color invalid_background) {
+	super(email);
+	this.invalid_background = invalid_background;
+    }
+
+    /** Gives notification that an attribute or set of attributes changed.
+     * @param e
+     */
+    public void changedUpdate(DocumentEvent e) {
+	validateEmail();
+    }
+          
+    /** Gives notification that there was an insert into the document.
+     * @param e
+     */
+    public void insertUpdate(DocumentEvent e) {
+	validateEmail();
+    }
+          
+    /** Gives notification that a portion of the document has been removed. 
+     * @param e
+     */
+    public void removeUpdate(DocumentEvent e) {
+	validateEmail();
+    }
+
+    private void validateEmail() {
+	Matcher m = EMAIL_PATTERN.matcher(getText());
+	if(m.matches()) {
+	    // It was invalid, but now its valid again
+	    if(invalid) {
+		setBackground(background);
+		invalid = false;
+	    }
+	    // Otherwise nothings changed so why do anything
+	}
+	else {
+	    background = getBackground();
+	    setBackground(invalid_background);
+	    invalid = true;
+	}
+	m = null;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/EnrichPane.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/EnrichPane.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/EnrichPane.java	(revision 21123)
@@ -0,0 +1,419 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ * Based on code by John Thompson
+ *
+ * Copyright (C) 2005 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.gui;
+
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.text.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionTree;
+import org.greenstone.gatherer.collection.CollectionTreeNode;
+import org.greenstone.gatherer.gui.tree.DragTree;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataValue;
+import org.greenstone.gatherer.metadata.MetadataValueTableEntry;
+import org.greenstone.gatherer.metadata.MetadataValueTreeNode;
+import org.greenstone.gatherer.metadata.MetadataXMLFileManager;
+
+
+/** Provides a view of controls for the editing of metadata.
+ */
+public class EnrichPane
+    extends JPanel
+    implements TreeSelectionListener
+{
+    static private Dimension MINIMUM_SIZE = new Dimension(100, 100);
+    static private Dimension COLLECTION_TREE_SIZE = new Dimension(250, 500);
+
+    private boolean has_focus = false;
+    /** The collection tree. */
+    private CollectionTree collection_tree = null;
+    /** The currently reported selection. */
+    private CollectionTreeNode[] file_nodes = null;
+    /** Used to dynamically filter the collection tree. */
+    private Filter collection_filter = null;
+    /** The label at the top of the collection tree, which shows the collection name. */
+    private JLabel collection_label;
+    /** The panel that contains the collection tree. */
+    private JPanel collection_pane = null;
+    /** The scrollable area into which the collection tree is placed. */
+    private JScrollPane collection_scroll = null;
+    /** The splitpane dividing the collection tree and the metadata editing controls. */
+    private JSplitPane external_split;
+    /** The metadata value table shows the metadata values that are currently assigned to a file. */
+    private MetadataValueTablePane metadata_value_table_pane = null;
+    /** The metadata value tree shows the metadata values that are currently assigned to a metadata element. */
+    private MetadataValueTreePane metadata_value_tree_pane = null;
+
+
+    public EnrichPane()
+    {
+	this.setComponentOrientation(Dictionary.getOrientation());
+        // Create the metadata value tree pane
+	metadata_value_tree_pane = new MetadataValueTreePane();        
+	metadata_value_tree_pane.addMetadataValueTreeSelectionListener(new MetadataValueTreeSelectionListener());
+
+	// Create metadata value table pane
+	metadata_value_table_pane = new MetadataValueTablePane();      
+	metadata_value_table_pane.addMetadataValueTableListSelectionListener(new MetadataValueTableListSelectionListener());
+	metadata_value_table_pane.addMetadataValueTableMouseListener(new MetadataValueTableMouseListener());
+	metadata_value_table_pane.addMetadataValueTextFieldDocumentListener(new MetadataValueTextFieldDocumentListener());
+	metadata_value_table_pane.addMetadataValueTextFieldKeyListener(new MetadataValueTextFieldKeyListener());
+    }
+
+
+    /** Some actions can only occur after this panel has been displayed on-screen, so this method is provided to do exactly that. Such actions include the proportioning of the split panes and the setting of table column widths.
+     */
+    public void afterDisplay()
+    {
+        if (Dictionary.getOrientation().isLeftToRight()){
+            external_split.setDividerLocation(0.3);
+        }else{
+            external_split.setDividerLocation(0.7);
+        }
+    }
+
+
+    /** Used to create, connect and layout the components to be shown on this control panel.
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.file.FileOpenActionListener
+     * @see org.greenstone.gatherer.gui.Filter
+     */
+    public void display()
+    {
+	JPanel left_hand_pane = new JPanel(new BorderLayout());
+        left_hand_pane.setComponentOrientation(Dictionary.getOrientation());
+	GLIButton metadata_set_button = new GLIButton(Dictionary.get("EnrichPane.ManageMetadataSets"), Dictionary.get("EnrichPane.ManageMetadataSets_Tooltip"));
+	metadata_set_button.addActionListener(new ActionListener() {
+		public void actionPerformed(ActionEvent event) {
+		    MetadataSetDialog msd = new MetadataSetDialog();
+		    if (msd.setsChanged()) {
+			valueChanged(null);
+		    } 
+		}
+	    });
+	
+	// Collection Tree
+	collection_pane = new JPanel(new BorderLayout());
+     //   collection_pane.setComponentOrientation(Dictionary.getOrientation());
+	collection_pane.setMinimumSize(MINIMUM_SIZE);
+	collection_pane.setPreferredSize(COLLECTION_TREE_SIZE);
+
+	collection_label = new JLabel(Dictionary.get("Collection.No_Collection"));
+        collection_label.setComponentOrientation(Dictionary.getOrientation());
+	collection_label.setOpaque(true);
+
+	collection_tree = Gatherer.c_man.getCollectionTree();
+	collection_tree.getSelectionModel().setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION);
+	collection_tree.addTreeSelectionListener(this); 
+        collection_tree.setComponentOrientation(Dictionary.getOrientation());
+	collection_filter = collection_tree.getFilter();
+	external_split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
+        external_split.setComponentOrientation(Dictionary.getOrientation());
+	// Layout
+	collection_pane.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(3,3,3,3), BorderFactory.createLoweredBevelBorder()));
+	collection_pane.setMinimumSize(MINIMUM_SIZE);
+	collection_pane.setPreferredSize(new Dimension(Gatherer.g_man.getSize().width / 3, Gatherer.g_man.getSize().height));
+        collection_pane.setComponentOrientation(Dictionary.getOrientation());
+	// Collection Pane
+	collection_pane.add(collection_label, BorderLayout.NORTH);
+
+	JSplitPane metadata_editing_pane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
+	metadata_editing_pane.setBorder(BorderFactory.createEmptyBorder(0,5,5,5));
+	metadata_editing_pane.setDividerSize(8);
+        metadata_editing_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	metadata_editing_pane.add(metadata_value_table_pane, JSplitPane.TOP);
+	metadata_editing_pane.add(metadata_value_tree_pane, JSplitPane.BOTTOM);
+	metadata_editing_pane.setDividerLocation(250);
+
+	left_hand_pane.add(collection_pane, BorderLayout.CENTER);
+	left_hand_pane.add(metadata_set_button, BorderLayout.SOUTH);
+        if (Dictionary.getOrientation().isLeftToRight()){
+            external_split.add(left_hand_pane, JSplitPane.LEFT);
+            external_split.add(metadata_editing_pane, JSplitPane.RIGHT);
+        }else{
+            external_split.add(left_hand_pane, JSplitPane.RIGHT);
+            external_split.add(metadata_editing_pane, JSplitPane.LEFT);
+        }
+
+
+	
+	this.setLayout(new BorderLayout());
+	this.add(external_split, BorderLayout.CENTER);
+    }
+
+
+    /** Called to inform this pane that it has just gained focus as an effect of the user clicking on its tab
+     */
+    public void gainFocus()
+    {
+	// Remember that we currently have focus
+	has_focus = true;
+
+	// Add the collection tree and filter back into this pane
+	collection_scroll = new JScrollPane(collection_tree);
+	collection_pane.add(collection_scroll, BorderLayout.CENTER);
+	collection_pane.add(collection_filter, BorderLayout.SOUTH);
+
+	// Select the first node in the tree if nothing is already selected
+	if (collection_tree.getSelectionPaths() == null && collection_tree.getRowCount() > 0) {
+ 	    collection_tree.setImmediate(true);
+ 	    collection_tree.setSelectionRow(0);
+ 	    collection_tree.setImmediate(false);
+	    return;
+	}
+
+	// Force all of the controls to be updated
+	valueChanged(null);
+    }
+
+
+    /** Called to inform this pane that it has just lost focus as an effect of the user clicking on another tab
+     */
+    public void loseFocus()
+    {
+	// Very important: make sure metadata value is saved before leaving the pane
+	metadata_value_table_pane.stopEditingAndRebuild(file_nodes);
+
+	// Make sure all the metadata has been saved to file
+	MetadataXMLFileManager.saveMetadataXMLFiles();
+
+	// Remove the collection tree and filter from this pane so it can be added to the Gather pane
+	collection_pane.remove(collection_scroll);
+	collection_pane.remove(collection_filter);
+
+	// Remember that we no longer have focus
+	has_focus = false;
+    }
+
+
+    /** Called whenever the detail mode changes to ensure the filters are at an appropriate level (ie only editable by those that understand regular expression matching)
+     * @param mode the mode level as an int
+     */
+    public void modeChanged(int mode)
+    {
+	collection_filter.setEditable(mode >= Configuration.LIBRARIAN_MODE);
+    }
+
+
+    /** Refresh this pane, depending on what has just happened (refresh_reason). */
+    public void refresh(int refresh_reason, boolean collection_loaded)
+    {
+	if (collection_loaded) {
+	    // Update collection label
+	    collection_label.setText(Dictionary.get("Collection.Collection"));
+	    collection_label.setBackground(Configuration.getColor("coloring.collection_heading_background", false));
+	    collection_label.setForeground(Configuration.getColor("coloring.collection_heading_foreground", false));
+
+	    // Update collection tree
+	    if (refresh_reason == Gatherer.COLLECTION_OPENED) {
+		collection_tree.setModel(Gatherer.c_man.getCollectionTreeModel());
+	    }
+
+	    // Update collection filter
+	    collection_filter.setBackground(Configuration.getColor("coloring.collection_heading_background", false));
+	}
+	else {
+	    // Update collection label
+	    collection_label.setText(Dictionary.get("Collection.No_Collection"));
+	    collection_label.setBackground(Color.lightGray);
+	    collection_label.setForeground(Color.black);
+
+	    // Update collection tree
+	    collection_tree.setModel(new DefaultTreeModel(new DefaultMutableTreeNode("Error")));
+
+	    // Update collection filter
+	    collection_filter.setBackground(Color.lightGray);
+	}
+
+	// Enable or disable the controls
+	collection_tree.setEnabled(collection_loaded);
+	collection_filter.setEnabled(collection_loaded);
+
+	// Force the metadata table to be rebuilt (for switching extracted metadata on or off)
+	if (refresh_reason == Gatherer.PREFERENCES_CHANGED) {
+	    metadata_value_table_pane.stopEditingAndRebuild(file_nodes);
+	}
+    }
+
+
+  /** Allows other classes to request the enrich pane to prepare for metadata
+   *  saving.
+   *  @author John Thompson, DL Consulting Ltd
+   */
+  public void stopEditingAndRebuild()
+  {
+    // Update the metadata value table (and consequently, the metadata value tree)
+    metadata_value_table_pane.stopEditingAndRebuild(file_nodes);
+  }
+  /** stopEditingAndRebuild() **/
+  
+  /** Called whenever the collection tree selection changes. This causes the metadata value table to be rebuilt. */
+  public void valueChanged(TreeSelectionEvent event)
+    {
+	// If we haven't got focus then it must have been a selection in the Gather pane, so don't bother rebuilding
+	if (has_focus == false) {
+	    return;
+	}
+
+	// Nothing selected in the collection tree
+	if (collection_tree.getSelectionCount() == 0) {
+	    file_nodes = null;
+	}
+
+	// Some files selected in the collection tree
+	else {
+	    TreePath paths[] = collection_tree.getSelectionPaths();
+	    file_nodes = new CollectionTreeNode[paths.length];
+	    for (int i = 0; i < paths.length; i++) {
+		file_nodes[i] = (CollectionTreeNode) paths[i].getLastPathComponent();
+	    }
+	}
+
+	// Update the metadata value table (and consequently, the metadata value tree)
+	metadata_value_table_pane.stopEditingAndRebuild(file_nodes);
+    }
+
+
+    private class MetadataValueTableListSelectionListener
+	implements ListSelectionListener
+    {
+	public void valueChanged(ListSelectionEvent list_selection_event)
+	{
+	    // We only want to handle one event per selection, so wait for the value to stabilise
+	    if (list_selection_event.getValueIsAdjusting()) {
+		return;
+	    }
+
+	    // Update the metadata value tree for the current table selection
+	    metadata_value_tree_pane.rebuild(metadata_value_table_pane.getSelectedMetadataValueTableEntry());
+	}
+    }
+
+
+    private class MetadataValueTableMouseListener
+	extends MouseAdapter
+    {
+	public void mouseClicked(MouseEvent mouse_event)
+	{
+	    // We're only interested in clicks on the inherited column
+	    if (metadata_value_table_pane.isMouseEventForInheritedMetadataValueTableColumn(mouse_event) == false) {
+		return;
+	    }
+
+	    // If the selected metadata is inherited, switch to the folder it came from
+	    MetadataValueTableEntry selected_metadata_value_table_entry = metadata_value_table_pane.getSelectedMetadataValueTableEntry();
+	    if (selected_metadata_value_table_entry.isInheritedMetadata()) {
+		collection_tree.setSelection(selected_metadata_value_table_entry.getFolderMetadataInheritedFrom());
+	    }
+	}
+    }
+
+
+    private class MetadataValueTextFieldDocumentListener
+	implements DocumentListener
+    {
+	/** Gives notification that an attribute or set of attributes changed */
+	public void changedUpdate(DocumentEvent document_event) {
+	    validate(document_event);
+	}
+
+	/** Gives notification that there was an insert into the document */
+	public void insertUpdate(DocumentEvent document_event) {
+	    validate(document_event);
+	}
+
+	/** Gives notification that a portion of the document has been removed */
+	public void removeUpdate(DocumentEvent document_event) {
+	    validate(document_event);
+	}
+
+
+	/** Ensures that the value tree is updated in response to changes in the value text field */
+	private void validate(DocumentEvent document_event)
+	{
+	    try {
+		Document document = document_event.getDocument();
+		String metadata_value_string = document.getText(0, document.getLength());
+		metadata_value_tree_pane.selectBestPathForMetadataValue(metadata_value_string);
+	    }
+	    catch (Exception exception) {
+		DebugStream.printStackTrace(exception);
+	    }
+	}
+    }
+
+
+    private class MetadataValueTextFieldKeyListener
+	extends KeyAdapter
+    {
+	/** Gives notification of key events on the text field */
+	public void keyPressed(KeyEvent key_event)
+	{
+	    // Tab: Auto-complete what is selected in the metadata value tree
+	    if (key_event.getKeyCode() == KeyEvent.VK_TAB) {
+		MetadataValueTreeNode selected_metadata_value_tree_node = metadata_value_tree_pane.getSelectedMetadataValueTreeNode();
+		if (selected_metadata_value_tree_node != null) {
+		    metadata_value_table_pane.setMetadataValueTextFieldValue(selected_metadata_value_tree_node.getFullValue());
+		}
+
+		// We do not want this event to be processed by the table also
+		key_event.consume();
+	    }
+
+	    // Enter: save the current value then add a blank row for the selected metadata element
+	    if (key_event.getKeyCode() == KeyEvent.VK_ENTER) {
+		metadata_value_table_pane.stopEditingAndAddBlankRowForSelectedMetadataElement();
+	    }
+	}
+    }
+
+
+    private class MetadataValueTreeSelectionListener
+	implements TreeSelectionListener
+    {
+	public void valueChanged(TreeSelectionEvent tree_selection_event)
+	{
+	    // When a node is selected in the tree, fill the metadata value text field with the selected node's value
+	    MetadataValueTreeNode selected_metadata_value_tree_node = metadata_value_tree_pane.getSelectedMetadataValueTreeNode();
+	    if (selected_metadata_value_tree_node != null) {
+		metadata_value_table_pane.setMetadataValueTextFieldValue(selected_metadata_value_tree_node.getFullValue());
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/ExplodeMetadataDatabasePrompt.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/ExplodeMetadataDatabasePrompt.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/ExplodeMetadataDatabasePrompt.java	(revision 21123)
@@ -0,0 +1,378 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Katherine Don, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 2005 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.text.*;
+import java.io.*;
+import java.util.ArrayList;
+
+import org.w3c.dom.Document;
+
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.cdm.Argument;
+import org.greenstone.gatherer.cdm.ArgumentControl;
+import org.greenstone.gatherer.cdm.CollectionDesignManager;
+import org.greenstone.gatherer.cdm.Plugin;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.collection.ScriptOptions;
+import org.greenstone.gatherer.collection.Collection;
+import org.greenstone.gatherer.feedback.Base64;
+import org.greenstone.gatherer.greenstone.LocalGreenstone;
+import org.greenstone.gatherer.gui.tree.DragTree;
+import org.greenstone.gatherer.metadata.MetadataXMLFileManager;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataSet;
+import org.greenstone.gatherer.metadata.MetadataSetManager;
+import org.greenstone.gatherer.metadata.MetadataTools;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.greenstone.gatherer.shell.GShell;
+import org.greenstone.gatherer.shell.GShellEvent;
+import org.greenstone.gatherer.shell.GShellListener;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.util.XMLTools;
+
+public class ExplodeMetadataDatabasePrompt	
+    extends ModalDialog
+    implements GShellListener
+{
+    /** The size of this new collection dialog box. */
+    static private Dimension SIZE = new Dimension(675, 350);
+    private JDialog self;
+    
+    /** the file we wil be exploding */
+    private File metadata_file = null;
+    /** the list of potential plugins to be used */
+    private Argument plugin_arg = null;
+    /** holds all the available options for the exploding script */
+    private ScriptOptions options = null;
+    /** the pane containing the options */
+    private JPanel options_pane = null;
+    /** the error message if any */
+    private StringBuffer error_message = null;
+    /** whether we were successful or not */
+    private boolean successful;
+
+
+    public ExplodeMetadataDatabasePrompt(File source_file) {
+	super(Gatherer.g_man, true);
+	this.self = this;
+	this.metadata_file = source_file;
+        this.setComponentOrientation(Dictionary.getOrientation());
+	// check that we actually have an explodable file
+	ArrayList exp_plugins = CollectionDesignManager.plugin_manager.getExploderPlugins(source_file);
+	if (exp_plugins.size() == 0) {
+	    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("ExplodeMetadataPrompt.NotExplodable"), Dictionary.get("ExplodeMetadataPrompt.Title"), JOptionPane.ERROR_MESSAGE);
+	    return;
+	}
+	plugin_arg = createPluginArgument(exp_plugins);
+	setJMenuBar(new SimpleMenuBar("explodingmetadata"));
+	setSize(SIZE);
+	setTitle(Dictionary.get("ExplodeMetadataPrompt.Title"));
+	
+	// set up the script options
+	// we have empty initial values
+	String dom_string = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Options/>";
+	Document doc = XMLTools.parseXML(new StringReader(dom_string));
+	options = new ScriptOptions(doc.getDocumentElement(), "explode_metadata_database.pl");
+	
+	// Creation
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+	content_pane.setOpaque(true);
+	
+	options_pane = new JPanel();
+        options_pane.setComponentOrientation(Dictionary.getOrientation());
+	addScriptOptions(options_pane);
+	JScrollPane middle_pane = new JScrollPane(options_pane);
+        middle_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JTextArea instructions_area = new JTextArea(Dictionary.get("ExplodeMetadataPrompt.Instructions"));
+	instructions_area.setComponentOrientation(Dictionary.getOrientation());
+        instructions_area.setEditable(false);
+	instructions_area.setLineWrap(true);
+	instructions_area.setRows(5);
+	instructions_area.setWrapStyleWord(true);
+	
+	JPanel button_pane = new JPanel();
+	button_pane.setComponentOrientation(Dictionary.getOrientation());
+        JButton explode_button = new GLIButton(Dictionary.get("ExplodeMetadataPrompt.Explode"), Dictionary.get("ExplodeMetadataPrompt.Explode_Tooltip"));
+	JButton cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Cancel_Tooltip"));
+	
+	// Connection
+	cancel_button.addActionListener(new CancelListener());
+	explode_button.addActionListener(new ExplodeListener());
+
+	// Layout
+
+	button_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	button_pane.setLayout(new GridLayout(1,2));
+	button_pane.add(explode_button);
+	button_pane.add(cancel_button);
+
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(instructions_area, BorderLayout.NORTH);
+	content_pane.add(middle_pane, BorderLayout.CENTER);
+	content_pane.add(button_pane, BorderLayout.SOUTH);
+
+	// Final dialog setup & positioning.
+	Dimension screen_size = Configuration.screen_size;
+	setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	setVisible(true);
+    }
+
+    public void destroy() 
+    {
+       	
+    }
+
+    /** All implementation of GShellListener must include this method so the listener can be informed of messages from the GShell.
+     * @param event A <strong>GShellEvent</strong> that contains, amoung other things, the message.
+     */
+    public synchronized void message(GShellEvent event) {
+	String message = event.getMessage();
+	if (message.startsWith("explode_metadata_database.pl>")) {
+	    message = message.substring(29);
+	    error_message.append(message);
+	    error_message.append("\n");
+	}
+    }
+
+    /** All implementation of GShellListener must include this method so the listener can be informed when a GShell begins its task. Implementation side-effect, not actually used.
+     * @param event A <strong>GShellEvent</strong> that contains details of the initial state of the <strong>GShell</strong> before task comencement.
+     */
+    public synchronized void processBegun(GShellEvent event) {
+	// We don't care. 
+    }
+    
+    /** All implementation of GShellListener must include this method so the listener can be informed when a GShell completes its task.
+     * @param event A <strong>GShellEvent</strong> that contains details of the final state of the <strong>GShell</strong> after task completion.
+     */
+    public synchronized void processComplete(GShellEvent event) {
+	successful = false;
+	if(event.getStatus() == GShell.OK) {
+	    successful = true;
+	}
+    }
+
+    private Argument createPluginArgument(ArrayList plugin_list) {
+	Argument arg = new Argument();
+	arg.setName("plugin");
+	arg.setDescription(Dictionary.get("ExplodeMetadataPrompt.Plugin"));
+	arg.setRequired(true);
+	arg.setType(Argument.ENUM);
+	for (int i=0; i<plugin_list.size(); i++) {
+	    Plugin p = (Plugin)plugin_list.get(i);
+	    arg.addOption(p.getName(), p.getName());
+	}
+	return arg;
+    }
+    private void addScriptOptions(JPanel options_pane) {
+
+	options_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	options_pane.setBackground(Configuration.getColor("coloring.collection_heading_background", false));
+	options_pane.setLayout(new BoxLayout(options_pane, BoxLayout.Y_AXIS));
+
+	int current_mode = Configuration.getMode();
+	int total_argument_count = options.getArgumentCount();
+       
+	// first we add the plugin arg
+	ArgumentControl argument_control = new ArgumentControl(plugin_arg, true, null);
+	argument_control.setBackground(Configuration.getColor("coloring.collection_heading_background", false));
+	options_pane.add((JComponent)argument_control);
+	for(int i = 0; i < total_argument_count; i++) {
+	    // Retrieve the argument so we know how to format the control.
+	    Argument argument = options.getArgument(i);
+	    if(!argument.isHiddenGLI() && argument.getModeLevel() <= current_mode) {
+		if (argument.getName().equals("metadata_set")) {
+		    argument.setType(Argument.METADATA_SET_NAMESPACE);
+		    argument_control = new ArgumentControl(argument, true, "Exploded Metadata Set (exp)");
+		}
+		else {
+		    // by default, all args are disabled, and no value
+		    argument_control = new ArgumentControl(argument, false, null);
+		}
+		// make sure they are coloured the way we want - this is not the standard arg control coloring
+		argument_control.setBackground(Configuration.getColor("coloring.collection_heading_background", false));
+		options_pane.add((JComponent)argument_control);
+	    }
+	}
+    }
+
+    private void updateScriptOptions() {
+	for(int i = 0; i < options_pane.getComponentCount(); i++) {
+	    Component component = options_pane.getComponent(i);
+	    if(component instanceof ArgumentControl) {
+		ArgumentControl ac = (ArgumentControl)component;
+		String name = ac.getArgumentName();
+		String value = ac.getValue();
+		boolean enabled = ac.isEnabled();
+		if (!enabled && value==null) {
+		    // flag type, remove from options altogether
+		    options.removeValue(name);
+		} else {
+		    if (value.equals("")) {
+			// if the value is empty, we don't want it to be passed to the script
+			options.setValue(name, false, value);
+		    } else {
+			options.setValue(name, enabled, value);
+		    }
+		}
+
+	    }
+	}
+    }
+
+    private int explodeMetadata()
+    {
+	// Generate the explode_metadata_database.pl command
+	ArrayList command_parts_list = new ArrayList();
+	if (!Gatherer.isGsdlRemote) {
+	    command_parts_list.add(Configuration.perl_path);
+	    command_parts_list.add("-S");
+	}
+	command_parts_list.add(LocalGreenstone.getBinScriptDirectoryPath() + "explode_metadata_database.pl");
+	// Add in the options we preset in GLI
+	if (Gatherer.GS3) {
+	    command_parts_list.add("-site");
+	    command_parts_list.add(Configuration.site_name);
+	}
+	command_parts_list.add("-collection");
+	command_parts_list.add(Gatherer.c_man.getCollection ().getName ());
+	command_parts_list.add("-use_collection_plugin_options");
+	// Add in all the options from the user
+	String[] explode_options = options.getValues();
+	for (int i = 0; i < explode_options.length; i++) {
+	    command_parts_list.add(explode_options[i]);
+	}
+
+	// Local case
+	if (!Gatherer.isGsdlRemote) {
+	    // Add in the filename
+	    command_parts_list.add(metadata_file.getPath());
+	}
+	// Remote case
+	else {
+	    // Add in the filename, relative to the collection directory
+	    String collection_name = CollectionManager.getLoadedCollectionName();
+	    String collection_directory_path = CollectionManager.getCollectionDirectoryPath(collection_name);
+	    String metadata_file_relative_path = Gatherer.remoteGreenstoneServer.getPathRelativeToDirectory(
+                                                          metadata_file, collection_directory_path);
+	    metadata_file_relative_path = metadata_file_relative_path.replace(File.separatorChar, '|');
+	    command_parts_list.add("-file");
+	    command_parts_list.add(Base64.encodeBytes(metadata_file_relative_path.getBytes()));
+
+	    // When running remotely we also need the collection name as the last argument
+	    command_parts_list.add(collection_name);
+	}
+
+	// Run the explode_metadata_database.pl command
+	String[] command_parts = (String[]) command_parts_list.toArray(new String[0]);
+	this.error_message = new StringBuffer();
+	GShell process = new GShell(command_parts, GShell.EXPLODE, 3, this, null, GShell.GSHELL_EXPLODE);
+	//process.start();
+	process.run();
+	
+	if (successful) {
+	    return 0;
+	} 
+	return -1;
+    }
+
+    private void resultPrompt(boolean success, String message)
+    {
+	if (success) {
+	    // !!! TO DO: Get explode_metadata_database.pl strings translated and use SimpleResultDialog below
+	    JOptionPane.showMessageDialog(null, Dictionary.get("ExplodeMetadataPrompt.Successful_Explode", metadata_file.getName()), Dictionary.get("ExplodeMetadataPrompt.Successful_Title"), JOptionPane.INFORMATION_MESSAGE);
+	}
+	else {
+	    String title = Dictionary.get("ExplodeMetadataPrompt.Failed_Title");
+	    String label = Dictionary.get("ExplodeMetadataPrompt.Failed_Explode", metadata_file.getName());
+	    SimpleResultDialog result_dialog = new SimpleResultDialog(title, label, message);
+	    result_dialog.setVisible(true); // Blocks
+	    result_dialog.dispose();
+	    result_dialog = null;
+	}
+    }
+
+    private class CancelListener
+	implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+	    self.dispose();
+	}
+    }
+    
+    private class ExplodeListener
+	implements ActionListener {
+	
+	public void actionPerformed(ActionEvent event) {
+	    Gatherer.g_man.wait(true);
+	    // update the options
+	    updateScriptOptions();
+	    self.dispose();  
+	    (new ExplodeMetadataDatabaseTask()).start();
+	}
+    }
+
+
+    private class ExplodeMetadataDatabaseTask
+	extends Thread
+    {
+	public ExplodeMetadataDatabaseTask()
+	{
+	}
+
+	public void run()
+	{
+	    int exit_value = explodeMetadata();
+	    if (exit_value == 0) { // success
+		// Clear out the old directory containing the metadata file and download the new directory
+		if (Gatherer.isGsdlRemote) {
+		    Utility.delete(metadata_file.getParentFile());
+		    Gatherer.remoteGreenstoneServer.downloadCollectionFile(
+                             CollectionManager.getLoadedCollectionName(), metadata_file.getParentFile());
+		}
+
+		// Load the new metadata.xml files
+                Collection collection = Gatherer.c_man.getCollection();
+             	MetadataXMLFileManager.loadMetadataXMLFiles(metadata_file.getParentFile(),collection.toSkimFile());
+		Gatherer.g_man.refreshCollectionTree(DragTree.COLLECTION_CONTENTS_CHANGED);
+		resultPrompt(true, error_message.toString());
+	    } else { // failure
+		resultPrompt(false, error_message.toString());
+	    }
+	    error_message = null;
+	    Gatherer.g_man.wait(false);
+	}
+    }    
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/ExportAsPrompt.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/ExportAsPrompt.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/ExportAsPrompt.java	(revision 21123)
@@ -0,0 +1,932 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import javax.swing.*;
+import javax.swing.event.*;
+
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.BasicCollectionConfiguration;
+import org.greenstone.gatherer.greenstone.LocalGreenstone;
+import org.greenstone.gatherer.shell.GShell;
+import org.greenstone.gatherer.shell.GShellEvent;
+import org.greenstone.gatherer.shell.GShellListener;
+import org.greenstone.gatherer.shell.GDefaultProgressMonitor;
+import org.greenstone.gatherer.util.ArrayTools;
+import org.greenstone.gatherer.util.CheckList;
+import org.greenstone.gatherer.util.CheckListEntry;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+
+/** This class provides the functionality to export a set of current
+ * collections from the GSDLHOME/collect/ directory to various formats
+ * (hence ExportAs) using export.pl. The user chooses the collection from a
+ * list, where each entry also displays details about itself, confirms the
+ * delete of a collection by checking a checkbox then presses the ok button
+ * to actually delete the collection.  
+ * Copied from WriteCDImagePrompt
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class ExportAsPrompt
+    extends ModalDialog 
+    implements GShellListener {
+
+    static final private Dimension LABEL_SIZE = new Dimension(120, 25);
+    
+    private OKButtonListener ok_button_listener;
+
+    private JLabel saveas_label = null;
+    private JComboBox saveas_combobox = null;
+
+    private ArrayList all_collections = null;
+    private BasicCollectionConfiguration selected_collection = null;
+  /** The list of collections to export */
+    private JList list = null;
+    /** The currently selected collection for deletion. */
+    private BasicCollectionConfiguration collection = null;
+    /** A reference to ourself so any inner-classes can dispose of us. */
+    private ExportAsPrompt prompt = null;
+    /** The close button, which exits the prompt without deleting anything. */
+    private JButton cancel_button = null;
+    /** The ok button which causes the selected collection to be deleted. */
+    private JButton ok_button = null;
+    /** The label above details. */
+    private JLabel details_label = null;
+    /** The label above the list. */
+    private JLabel list_label = null;
+    /** The text area used to display details about the collection selected. */
+    private JTextArea details_textarea = null;
+    /** The text area used to display instructions for the cd-rom/dvd export */
+    private JTextArea instructions_textarea;
+    /** A string array used to pass arguments to the phrase retrieval method. */
+    private JTextField title_field = null;
+    private JLabel title_label = null;
+    private String args[] = null;
+    private String cd_title = null;
+    /** whether the exporting was successful or not */
+    private boolean successful = false;
+    /** whether we are trying to export or not */
+    private boolean exporting = false;
+    /** the error message if any */
+    private StringBuffer error_message = null;
+    /** The size of the export prompt screen. */
+    public static final Dimension SIZE = new Dimension(500, 540);  
+    private GDefaultProgressMonitor progress_monitor;    
+
+    private JButton convert_xml_button1 = null;
+    private JButton convert_xml_button2 = null;
+    private JButton convert_xml_button3 = null;
+    private JButton folder_button = null;
+
+    private JPanel instructions_pane = null;
+    
+    private JPanel convert_xml_pane1 = null;
+    private JPanel convert_xml_pane2 = null;
+    private JPanel mapping_xml_pane = null;
+
+    private JCheckBox convert_xml_checkbox1 = null; 
+    private JCheckBox convert_xml_checkbox2 = null;
+    private JCheckBox mapping_xml_checkbox = null;
+    
+    private JCheckBox output_single_checkbox = null;  
+
+    private JTextField convert_xml_field1 = null;
+    private JTextField convert_xml_field2 = null;
+    private JTextField mapping_xml_field = null;
+
+
+    private File xsl_file1 = null;
+    private File xsl_file2 = null;
+    private File mapping_file = null;
+
+    private JPanel convert_xml_pane = null; 
+
+    private HashMap plugoutMap = new HashMap();
+  
+
+    /** Constructor.
+     * @see org.greenstone.gatherer.collection.ExportAsPrompt.CancelButtonListener
+     * @see org.greenstone.gatherer.collection.ExportAsPrompt.CollectionListListener
+     * @see org.greenstone.gatherer.collection.ExportAsPrompt.OKButtonListener
+     */
+    public ExportAsPrompt() {
+	super(Gatherer.g_man, true);
+	this.setComponentOrientation(Dictionary.getOrientation());
+	plugoutMap.clear();         
+	plugoutMap.put("DSpace","dublin-core.xml");
+        plugoutMap.put("MARCXML","doc.xml");   
+	plugoutMap.put("GreenstoneMETS","doctxt.xml,docmets.xml");     
+	plugoutMap.put("FedoraMETS","doctxt.xml,docmets.xml");     
+
+	// this is the order we want them to appear in the list
+	String [] saveas_formats = {"GreenstoneMETS", "FedoraMETS", "MARCXML", "DSpace"};
+        cancel_button = new GLIButton(Dictionary.get("General.Close"), Dictionary.get("General.Close_Tooltip"));
+	
+	details_textarea = new JTextArea(Dictionary.get("DeleteCollectionPrompt.No_Collection"));
+	details_textarea.setEditable(false);
+	details_textarea.setComponentOrientation(Dictionary.getOrientation());
+        
+	details_label = new JLabel(Dictionary.get("DeleteCollectionPrompt.Collection_Details"));
+	details_label.setComponentOrientation(Dictionary.getOrientation());
+
+	instructions_textarea = new JTextArea(Dictionary.get("ExportAsPrompt.Instructions"));
+	instructions_textarea.setCaretPosition(0);
+	instructions_textarea.setEditable(false);
+	instructions_textarea.setLineWrap(true);
+	instructions_textarea.setRows(4);
+	instructions_textarea.setWrapStyleWord(true);
+	instructions_textarea.setComponentOrientation(Dictionary.getOrientation());
+             
+       
+        saveas_label = new JLabel(Dictionary.get("ExportAsPrompt.SaveAs"));
+        saveas_label.setComponentOrientation(Dictionary.getOrientation());
+        //saveas_label.setPreferredSize(LABEL_SIZE);
+        
+	saveas_combobox = new JComboBox(saveas_formats);
+	saveas_combobox.setOpaque(false);
+	saveas_combobox.setToolTipText(Dictionary.get("ExportAsPrompt.SaveAs_Tooltip"));
+        saveas_combobox.setComponentOrientation(Dictionary.getOrientation());
+
+	// Add xml conversion feature
+	convert_xml_button1 = new GLIButton(Dictionary.get("ExportAsPrompt.Browse"),Dictionary.get("ExportAsPrompt.Browse_Tooltip"));
+	convert_xml_button1.setEnabled(false);
+
+	convert_xml_button2 = new GLIButton(Dictionary.get("ExportAsPrompt.Browse"),Dictionary.get("ExportAsPrompt.Browse_Tooltip"));
+	convert_xml_button2.setEnabled(false);
+	
+	convert_xml_button3 = new GLIButton(Dictionary.get("ExportAsPrompt.Browse"),Dictionary.get("ExportAsPrompt.Browse_Tooltip"));
+	convert_xml_button3.setEnabled(false);
+
+	convert_xml_checkbox1 = new JCheckBox();
+        convert_xml_checkbox1.setText(Dictionary.get("ExportAsPrompt.ApplyXSL","doc.xml"));
+        convert_xml_checkbox1.setToolTipText(Dictionary.get("ExportAsPrompt.ApplyXSL_Tooltip"));
+        convert_xml_checkbox1.setComponentOrientation(Dictionary.getOrientation());
+        
+	convert_xml_checkbox2 = new JCheckBox();
+        convert_xml_checkbox2.setToolTipText(Dictionary.get("ExportAsPrompt.ApplyXSL_Tooltip"));
+        convert_xml_checkbox2.setComponentOrientation(Dictionary.getOrientation());
+        
+        output_single_checkbox = new JCheckBox();
+        output_single_checkbox.setComponentOrientation(Dictionary.getOrientation());
+	output_single_checkbox.setText(Dictionary.get("ExportAsPrompt.MARCXMLGroup"));
+        output_single_checkbox.setToolTipText(Dictionary.get("ExportAsPrompt.MARCXMLGroup_Tooltip"));
+
+
+        mapping_xml_checkbox = new JCheckBox();
+        mapping_xml_checkbox.setComponentOrientation(Dictionary.getOrientation());
+	mapping_xml_checkbox.setText(Dictionary.get("ExportAsPrompt.MappingXML"));
+        mapping_xml_checkbox.setToolTipText(Dictionary.get("ExportAsPrompt.MappingXML_Tooltip"));
+
+        convert_xml_field1 = new JTextField();
+        convert_xml_field1.setComponentOrientation(Dictionary.getOrientation());
+	convert_xml_field1.setEnabled(false);
+
+	convert_xml_field2 = new JTextField();
+        convert_xml_field2.setComponentOrientation(Dictionary.getOrientation());
+	convert_xml_field2.setEnabled(false);
+
+	mapping_xml_field = new JTextField();
+        mapping_xml_field.setComponentOrientation(Dictionary.getOrientation());
+	mapping_xml_field.setEnabled(false);
+
+        convert_xml_pane1 = new JPanel(new BorderLayout());
+	convert_xml_pane1.setComponentOrientation(Dictionary.getOrientation());                
+        
+	convert_xml_pane2 = new JPanel(new BorderLayout());
+        convert_xml_pane2.setComponentOrientation(Dictionary.getOrientation());
+        
+	mapping_xml_pane = new JPanel(new BorderLayout());
+        mapping_xml_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	convert_xml_pane = new JPanel(new GridLayout(3,1));
+        convert_xml_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	all_collections = new ArrayList();
+	//list = new CheckList(true);
+	list = new JList(getCollectionListModel());
+	list.setComponentOrientation(Dictionary.getOrientation());
+	list_label = new JLabel(Dictionary.get("DeleteCollectionPrompt.Collection_List"));
+	list_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	ok_button = new GLIButton(Dictionary.get("ExportAsPrompt.Export"), Dictionary.get("ExportAsPrompt.Export_Tooltip"));
+	
+	title_field = new JTextField();
+        title_field.setComponentOrientation(Dictionary.getOrientation());
+	title_field.setToolTipText(Dictionary.get("ExportAsPrompt.Export_Name_Tooltip"));
+	title_label = new JLabel(Dictionary.get("ExportAsPrompt.Export_Name"));
+        title_label.setComponentOrientation(Dictionary.getOrientation());
+        
+        folder_button = new GLIButton(Dictionary.get("ExportAsPrompt.Browse"),Dictionary.get("ExportAsPrompt.Browse_Tooltip"));
+	folder_button.addActionListener(new FolderButtonListener());
+   
+       
+	prompt = this;
+	setSize(SIZE);
+	setTitle(Dictionary.get("ExportAsPrompt.Title"));
+
+	setJMenuBar(new SimpleMenuBar("exporting")); 
+	cancel_button.addActionListener(new CancelButtonListener());
+	list.addListSelectionListener(new CollectionListListener());
+	list.clearSelection();
+	list.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+	ok_button_listener = new OKButtonListener();
+	ok_button.addActionListener(ok_button_listener);
+	ok_button.setEnabled(false);
+	//title.getDocument().addDocumentListener(new DocumentListener());
+
+       	convert_xml_button1.addActionListener(new ConvertXMLButtonListener());
+	convert_xml_checkbox1.addActionListener(new ConvertXMLCheckboxListener());
+	mapping_xml_checkbox.addActionListener(new ConvertXMLCheckboxListener());
+	convert_xml_button3.addActionListener(new ConvertXMLButtonListener());
+   
+	convert_xml_button2.addActionListener(new ConvertXMLButtonListener());
+	convert_xml_checkbox2.addActionListener(new ConvertXMLCheckboxListener());
+
+        saveas_combobox.addActionListener(new SaveasListener());        
+
+    }
+
+    /** Destructor. */
+    public void destroy() {
+        saveas_label = null;
+	saveas_combobox = null;
+	all_collections.clear();
+	all_collections = null;
+	cancel_button = null;
+	details_textarea = null;
+	details_label = null;
+	list = null;
+	ok_button = null;
+	prompt = null;
+	selected_collection = null;
+	title_field = null;
+	title_label = null;
+    }
+
+    /** This method causes the modal prompt to be displayed. 
+     * returns true if it has exported the collections that are currently selected */
+    public boolean display() {
+        JScrollPane scrol_tmp;
+	// Top pane
+	instructions_pane = new JPanel(new BorderLayout());
+        instructions_pane.setComponentOrientation(Dictionary.getOrientation());
+        instructions_pane.setBorder(BorderFactory.createEmptyBorder(0,0,5,5));
+        scrol_tmp = new JScrollPane(instructions_textarea);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+        instructions_pane.add(scrol_tmp, BorderLayout.CENTER);
+	
+	title_label.setBorder(BorderFactory.createEmptyBorder(0,5,0,15));
+
+	JPanel title_pane = new JPanel(new BorderLayout());
+        title_pane.setComponentOrientation(Dictionary.getOrientation());
+	title_pane.add(title_label, BorderLayout.LINE_START);
+	title_pane.add(title_field, BorderLayout.CENTER);
+        title_pane.add(folder_button, BorderLayout.LINE_END);
+        //apply xsl pane
+          
+	convert_xml_pane1.removeAll();
+        convert_xml_pane2.removeAll();
+	mapping_xml_pane.removeAll();
+	convert_xml_pane.removeAll();
+
+	convert_xml_pane1.add(convert_xml_checkbox1, BorderLayout.LINE_START);
+	convert_xml_pane1.add(convert_xml_field1, BorderLayout.CENTER);
+	convert_xml_pane1.add(convert_xml_button1, BorderLayout.LINE_END);
+
+	convert_xml_pane2.add(convert_xml_checkbox2, BorderLayout.LINE_START);
+	convert_xml_pane2.add(convert_xml_field2, BorderLayout.CENTER);
+	convert_xml_pane2.add(convert_xml_button2, BorderLayout.LINE_END);
+      
+	mapping_xml_pane.add(mapping_xml_checkbox, BorderLayout.LINE_START);
+	mapping_xml_pane.add(mapping_xml_field, BorderLayout.CENTER);
+	mapping_xml_pane.add(convert_xml_button3, BorderLayout.LINE_END);
+
+	convert_xml_pane.add(convert_xml_pane1);
+       	
+        String saveas = (String)saveas_combobox.getSelectedItem();
+	// force the updating of which fields we are displaying
+	saveas_combobox.setSelectedIndex(0);
+
+        // Save as pane
+	JPanel saveas_pane = new JPanel(new BorderLayout());
+        saveas_pane.setComponentOrientation(Dictionary.getOrientation());
+	saveas_label.setBorder(BorderFactory.createEmptyBorder(0,5,0,15));
+	saveas_pane.add(saveas_label, BorderLayout.LINE_START);
+	saveas_pane.add(saveas_combobox, BorderLayout.CENTER);
+
+        JPanel tmp_pane = new JPanel(new BorderLayout());
+        tmp_pane.setComponentOrientation(Dictionary.getOrientation());
+        tmp_pane.add(saveas_pane, BorderLayout.NORTH);
+	tmp_pane.add(title_pane, BorderLayout.CENTER);
+
+	instructions_pane.add(tmp_pane, BorderLayout.NORTH);          
+
+	instructions_pane.add(convert_xml_pane, BorderLayout.CENTER);
+
+	// Central pane
+	JPanel list_pane = new JPanel(new BorderLayout());
+        list_pane.setComponentOrientation(Dictionary.getOrientation());
+	list_pane.add(list_label, BorderLayout.NORTH);
+        scrol_tmp = new JScrollPane(list);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	list_pane.add(scrol_tmp, BorderLayout.CENTER);
+	list_pane.setBorder(BorderFactory.createEmptyBorder(0, 0, 5, 0));
+
+	JPanel details_pane = new JPanel(new BorderLayout());
+        details_pane.setComponentOrientation(Dictionary.getOrientation());
+	details_pane.add(details_label, BorderLayout.NORTH);
+        scrol_tmp = new JScrollPane(details_textarea);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	details_pane.add(scrol_tmp, BorderLayout.CENTER);
+	details_pane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
+
+	JPanel central_pane = new JPanel(new GridLayout(2, 1));
+        central_pane.setComponentOrientation(Dictionary.getOrientation());
+	central_pane.add(list_pane);
+	central_pane.add(details_pane);
+	central_pane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
+
+	// Lower pane
+	JPanel button_pane = new JPanel(new GridLayout(1, 2));
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	button_pane.add(ok_button);
+	button_pane.add(cancel_button);
+	button_pane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
+
+	JPanel lower_pane = new JPanel(new BorderLayout());
+        lower_pane.setComponentOrientation(Dictionary.getOrientation());
+	lower_pane.add(button_pane, BorderLayout.SOUTH);
+	lower_pane.setBorder(BorderFactory.createEmptyBorder(0, 5, 5, 5));
+
+	// Final.
+	JPanel content_pane = (JPanel)this.getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(instructions_pane, BorderLayout.NORTH);
+	content_pane.add(central_pane, BorderLayout.CENTER);
+	content_pane.add(lower_pane, BorderLayout.SOUTH);
+
+	// Center and display.
+	Dimension screen_size = Configuration.screen_size;
+	this.setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	this.setVisible(true); // blocks until the dialog is killed
+	return true;
+	
+    }
+
+    
+    /** This method calls the builcol.pl scripts via a GShell so as to not lock up the processor.
+     * @see org.greenstone.gatherer.Configuration
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.collection.Collection
+     * @see org.greenstone.gatherer.gui.BuildOptions
+     * @see org.greenstone.gatherer.shell.GShell
+     * @see org.greenstone.gatherer.shell.GShellListener
+     * @see org.greenstone.gatherer.shell.GShellProgressMonitor
+     * @see org.greenstone.gatherer.util.Utility
+     */
+    public void exportAsCollections() {
+	DebugStream.println("ExportAsPrompt.exportAsCollections()");
+
+	if (selected_collection == null) return;
+
+	cd_title = title_field.getText();
+
+	String export_type = (String) saveas_combobox.getSelectedItem();
+      
+	// Generate the export.pl command
+	ArrayList command_parts_list = new ArrayList();
+	if (!Gatherer.isGsdlRemote) {
+	    command_parts_list.add(Configuration.perl_path);
+	    command_parts_list.add("-S");
+	}
+	command_parts_list.add(LocalGreenstone.getBinScriptDirectoryPath() + "export.pl");
+	command_parts_list.add("-gli");
+	command_parts_list.add("-language");
+	command_parts_list.add(Configuration.getLanguage());
+	command_parts_list.add("-removeold");
+	command_parts_list.add("-saveas");
+	command_parts_list.add(export_type);
+	command_parts_list.add("-exportdir");
+	String export_dir = LocalGreenstone.getTmpDirectoryPath();
+       	if (cd_title.equals("")) {
+            export_dir += "exported_" + export_type;
+	}
+	else {
+	    File cd_file = new File(cd_title);
+            if (cd_file.isAbsolute())
+		export_dir = cd_title + File.separator + "exported_" + export_type;
+	    else{
+                cd_title = cd_title.replaceAll("\\s+","");
+                cd_title = cd_title.replaceAll("\\\\+","/");
+                cd_title = cd_title.replaceAll("/+","/");
+            	export_dir +=cd_title;
+	    }
+	}
+
+        command_parts_list.add(export_dir);
+
+        if (!export_type.endsWith("METS") && xsl_file1 !=null){
+             command_parts_list.add("-xsltfile");
+             command_parts_list.add(xsl_file1.getPath()); 
+	}
+
+	//add command specific to MARCXML 
+	if (export_type.equals("MARCXML")){
+	    //add default transformation file
+	    if (xsl_file1 == null){
+		command_parts_list.add("-xsltfile");	
+		command_parts_list.add(Configuration.gsdl_path+"etc"+File.separator+"dc2marc.xsl");
+	    }  
+
+	    command_parts_list.add("-mapping_file");
+	    //default mapping file
+	    if (mapping_file == null){
+		command_parts_list.add(Configuration.gsdl_path+"etc"+File.separator+"dc2marc-mapping.xml");
+	    }
+	    else{
+		command_parts_list.add(mapping_file.getPath());	
+	    }
+
+	    if (output_single_checkbox.isSelected()){
+		command_parts_list.add("-group_marc");
+	    }
+
+	}
+
+            
+        if (export_type.endsWith("METS") && xsl_file1 !=null){
+             command_parts_list.add("-xslt_txt");
+             command_parts_list.add(xsl_file1.getPath()); 
+	}
+
+         if (export_type.endsWith("METS") && xsl_file2 !=null){
+             command_parts_list.add("-xslt_mets");
+             command_parts_list.add(xsl_file2.getPath()); 
+	}
+       
+	 command_parts_list.add( selected_collection.getShortName());
+	 
+
+	DebugStream.print("export command = ");
+	for (int i = 0; i < command_parts_list.size(); i++) {
+	    DebugStream.print(command_parts_list.get(i) + " ");
+	    //System.err.print(command_parts_list.get(i) + " ");          
+	}
+	DebugStream.println("");
+
+	// Run the export.pl command
+	String[] command_parts = (String[]) command_parts_list.toArray(new String[0]);
+
+        progress_monitor = new  GDefaultProgressMonitor();
+
+	GShell process = new GShell(command_parts, GShell.EXPORTAS, 3, this,progress_monitor , GShell.GSHELL_EXPORTAS);
+	process.start();
+	//process.run();
+	DebugStream.println("ExportAsPrompt.exportAsCollections().return");
+	
+    }
+
+
+    public void cancelExporting(){
+	progress_monitor.setStop(true);           
+    }
+
+
+    /** Shows an export complete prompt. 
+     * @param success A <strong>boolean</strong> indicating if the collection was successfully deleted.
+     * @see org.greenstone.gatherer.collection.Collection
+     */
+    public void resultPrompt(boolean success, String extra) {
+	args = new String[2];
+	
+	// coll name
+	args[0] = selected_collection.getName() + StaticStrings.SPACE_CHARACTER + StaticStrings.OPEN_PARENTHESIS_CHARACTER + selected_collection.getShortName() + StaticStrings.CLOSE_PARENTHESIS_CHARACTER;
+	
+	String export_type = (String) saveas_combobox.getSelectedItem();       
+       	args[1] = LocalGreenstone.getTmpDirectoryPath();
+       	if (cd_title.equals("")) {
+           args[1] += "exported_" + export_type;
+	}
+	else {
+	    File cd_file = new File(cd_title);
+            if (cd_file.isAbsolute())
+		args[1] = cd_title + File.separator + "exported_" + export_type;
+	    else{
+                cd_title = cd_title.replaceAll("\\s+","");
+                cd_title = cd_title.replaceAll("\\\\+","/");
+                cd_title = cd_title.replaceAll("/+","/");
+            	args[1] +=cd_title;
+	    }
+	}
+        
+
+	String title;
+	String label;
+	String details;
+
+	if (success) {
+	  String successMessage = "ExportAsPrompt.Successful_ExportOne";
+	  title = Dictionary.get("ExportAsPrompt.Successful_Title");
+	  label = Dictionary.get(successMessage, args);
+	  details = Dictionary.get("ExportAsPrompt.Successful_Details", args);
+	} else {
+	  String failedMessage = "ExportAsPrompt.Failed_ExportOne";
+	  title = Dictionary.get("ExportAsPrompt.Failed_Title");
+	  label = Dictionary.get(failedMessage, args);
+	  details = Dictionary.get("ExportAsPrompt.Failed_Details", args);
+	}
+	SimpleResultDialog result_dialog = new SimpleResultDialog(this, title, label, details);
+	result_dialog.setVisible(true); // Blocks
+	result_dialog.dispose();
+	result_dialog = null;
+    }
+
+    /** Method to scan the collect directory retrieving and reloading each collection it finds, while building the list of known collections.
+     * @see org.greenstone.gatherer.Configuration
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.util.ArrayTools
+     * @see org.greenstone.gatherer.util.Utility
+     */
+  private ListModel getCollectionListModel() {
+    DefaultListModel model = new DefaultListModel();
+	// Start at the collect dir.
+	File collect_directory = new File(Gatherer.getCollectDirectoryPath());
+	String file_name = (Gatherer.GS3)? Utility.CONFIG_GS3_FILE : Utility.CONFIG_FILE;
+	if (collect_directory.exists()) {
+	    // Now for each child directory see if it contains a .col file and
+	    // if so try to load it..
+	    File collections[] = collect_directory.listFiles();
+	    ArrayTools.sort(collections);
+	    for(int i = 0; collections != null && i < collections.length; i++) {
+		if(collections[i].isDirectory() && !collections[i].getName().equals(StaticStrings.MODEL_COLLECTION_NAME)) {
+		    File config_file = new File(collections[i], file_name);
+		    if (config_file.exists()) {
+			BasicCollectionConfiguration config = new BasicCollectionConfiguration(config_file);
+			model.addElement(config);		        
+			config = null;
+		    }
+		}
+	    }
+	}
+	return model;
+	// Otherwise the collect directory doesn't actually exist, so there ain't much we can do.
+  }
+
+
+    /** All implementation of GShellListener must include this method so the listener can be informed of messages from the GShell.
+     * @param event A <strong>GShellEvent</strong> that contains, amoung other things, the message.
+     */
+    public synchronized void message(GShellEvent event) {
+	// Ignore the messages from RecPlug with 'show_progress' set (used for progress bars)
+	String message = event.getMessage();
+	if (message.startsWith("export.pl>")) {
+	    message = message.substring(13);
+	    //DebugStream.println("message = "+event.getMessage());
+	    error_message.append(message);
+	    error_message.append("\n");
+	}
+    }
+
+    /** All implementation of GShellListener must include this method so the listener can be informed when a GShell begins its task. Implementation side-effect, not actually used.
+     * @param event A <strong>GShellEvent</strong> that contains details of the initial state of the <strong>GShell</strong> before task comencement.
+     */
+    public synchronized void processBegun(GShellEvent event) {
+	// We don't care. 
+    }
+    /** All implementation of GShellListener must include this method so the listener can be informed when a GShell completes its task.
+     * @param event A <strong>GShellEvent</strong> that contains details of the final state of the <strong>GShell</strong> after task completion.
+     */
+    public synchronized void processComplete(GShellEvent event) {
+	successful = false;
+	if(event.getStatus() == GShell.OK) {
+	    if(event.getType() == GShell.EXPORTAS) {
+		successful = true;
+	    }
+	}
+	ok_button_listener.processComplete();
+    }
+
+    /** A button listener implementation, which listens for actions on the close button and disposes of the dialog when detected. */
+    private class CancelButtonListener 
+	implements ActionListener {
+	/** Any implementation of ActionListener must include this method so we can be informed when the button is actioned.
+	 * @param event An <strong>ActionEvent</strong> containing all the relevant information garnered from the event itself.
+	 */
+	public void actionPerformed(ActionEvent event) {
+	    prompt.dispose();
+	}
+    }
+
+    /** This private class listens for selection events in from the list and then displays the appropriate details for that collection.
+     */
+    private class CollectionListListener 
+	implements ListSelectionListener
+    {
+	/** Any implementation of ListSelectionListener must include this method so we can be informed when the list selection changes.
+	 * @param  event a <strong>ListSelectionEvent</strong> containing all the relevant information garnered from the event itself
+	 */
+	public void valueChanged(ListSelectionEvent event)
+	{
+	    // Can only export when something is ticked
+	    //ok_button.setEnabled(!list.isNothingTicked());
+
+	    if (list.isSelectionEmpty()) {
+		details_textarea.setText(Dictionary.get("DeleteCollectionPrompt.No_Collection"));
+		ok_button.setEnabled(false);
+	    }
+	    else {
+	      BasicCollectionConfiguration collection = (BasicCollectionConfiguration) list.getSelectedValue();
+	      args = new String[3];
+	      args[0] = collection.getCreator();
+	      args[1] = collection.getMaintainer();
+	      args[2] = collection.getDescription();
+	      details_textarea.setText(Dictionary.get("DeleteCollectionPrompt.Details", args));
+	      details_textarea.setCaretPosition(0);
+	      ok_button.setEnabled(true);
+	    }
+	}
+
+    }
+    /** The OK button listener implementation. */
+    private class OKButtonListener 
+	implements ActionListener {
+	private Component glass_pane;
+	private MouseListener mouse_blocker_listener;
+	private ProgressDialog progress_dialog;
+
+	/** Any implementation of ActionListener must include this method so we can be informed when the button is actioned.
+	 * @param event An <strong>ActionEvent</strong> containing all the relevant information garnered from the event itself.
+	 * @see org.greenstone.gatherer.Configuration
+	 * @see org.greenstone.gatherer.Gatherer
+	 * @see org.greenstone.gatherer.util.Utility
+	 */
+	public void actionPerformed(ActionEvent event) {
+	    ///ystem.err.println("OK Clicked");
+	    // Make sure there are some colls specified
+	    selected_collection = (BasicCollectionConfiguration)list.getSelectedValue();
+	    error_message = new StringBuffer();
+	    
+	    // Set the cursor to hourglass
+	    glass_pane = getGlassPane();
+	    mouse_blocker_listener = new MouseAdapter() {};
+	    glass_pane.addMouseListener(mouse_blocker_listener);
+	    glass_pane.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+	    glass_pane.setVisible(true);
+
+	    // Export the selected collection.
+	    ///ystem.err.println("Exporting As for named collections");
+	    exportAsCollections();
+
+	    // Show progress dialog
+	    ///ystem.err.println("Showing progress dialog");
+	    progress_dialog = new ProgressDialog();
+	    progress_dialog.setVisible(true);
+	}
+
+	public void processComplete() {
+	    ///ystem.err.println("Process complete");
+	    // Dispose of progress dialog
+   
+	  
+	    progress_dialog.setVisible(false);
+	    progress_dialog.dispose();
+	    progress_dialog = null;
+
+	    // unset the cursor
+	    glass_pane.setVisible(false);
+	    glass_pane.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+	    glass_pane.removeMouseListener(mouse_blocker_listener);
+	    glass_pane = null;
+	    mouse_blocker_listener= null;
+	    
+	    if (successful) {
+		resultPrompt(true, error_message.toString());
+	    } else {
+		resultPrompt(false, error_message.toString());
+	    }
+	    error_message = null;
+             
+            convert_xml_button1.setEnabled(false); 
+            xsl_file1 = null;
+            convert_xml_field1.setText("");
+            convert_xml_checkbox1.setSelected(false);
+
+	    convert_xml_button2.setEnabled(false); 
+            xsl_file2 = null;
+            convert_xml_field2.setText("");
+            convert_xml_checkbox2.setSelected(false);
+
+	    mapping_xml_checkbox.setSelected(false);
+	    output_single_checkbox.setSelected(false);
+	    convert_xml_button3.setEnabled(false);
+            mapping_xml_field.setText("");
+	    mapping_file = null;
+
+	}
+
+	private class ProgressDialog 
+	    extends ModalDialog {
+	    
+	    private Dimension size = new Dimension(400,110);
+	    
+	    public ProgressDialog() {
+		super(Gatherer.g_man, Dictionary.get("ExportAsPrompt.Title"), true);
+		setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
+		setSize(size);
+		JPanel content_pane = (JPanel) getContentPane();
+		JLabel progress_label = new JLabel(Dictionary.get("ExportAsPrompt.Progress_Label"));
+		
+		JProgressBar progress_bar = new JProgressBar();
+		progress_bar.setIndeterminate(true);
+		content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+		GLIButton cancel_button = new GLIButton(Dictionary.get("ExportAsPrompt.Cancel"),Dictionary.get("ExportAsPrompt.Cancel_Tooltip"));
+		cancel_button.setMnemonic(KeyEvent.VK_C);
+	
+		cancel_button.addActionListener(new ActionListener(){
+			public void actionPerformed(ActionEvent e){
+			    cancelExporting();
+			}
+
+                });
+
+                JPanel cancel_panel = new JPanel(new FlowLayout(FlowLayout.CENTER,0,0));
+		cancel_panel.add(cancel_button);
+                                    
+		content_pane.setLayout(new BorderLayout(0,5));
+		content_pane.add(progress_label, BorderLayout.NORTH);
+		content_pane.add(progress_bar, BorderLayout.CENTER);
+		content_pane.add(cancel_panel, BorderLayout.SOUTH);
+
+		// Position
+		Rectangle frame_bounds = Gatherer.g_man.getBounds();
+		setLocation(frame_bounds.x + (frame_bounds.width - size.width) / 2, frame_bounds.y + (frame_bounds.height - size.height) / 2);
+	    }
+	}
+    }
+
+   private class ConvertXMLCheckboxListener implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+	  
+	    convert_xml_button1.setEnabled(convert_xml_checkbox1.isSelected());
+	    convert_xml_field1.setEnabled(convert_xml_checkbox1.isSelected());
+	    convert_xml_button2.setEnabled(convert_xml_checkbox2.isSelected());
+	    convert_xml_field2.setEnabled(convert_xml_checkbox2.isSelected());
+	    convert_xml_button3.setEnabled(mapping_xml_checkbox.isSelected());
+	    mapping_xml_field.setEnabled(mapping_xml_checkbox.isSelected());
+			
+	}
+    }
+
+
+     
+    private class SaveasListener implements ActionListener {
+    
+	public void actionPerformed(ActionEvent event) {
+		
+	    convert_xml_checkbox1.setSelected(false);
+	    convert_xml_checkbox2.setSelected(false);
+	    mapping_xml_checkbox.setSelected(false);
+	    output_single_checkbox.setSelected(false);
+
+	    convert_xml_button1.setEnabled(false);
+            convert_xml_button2.setEnabled(false);
+	    convert_xml_button3.setEnabled(false);
+
+            convert_xml_field1.setText("");
+	    convert_xml_field2.setText("");
+	    mapping_xml_field.setText("");
+	    
+	    String saveas = (String)saveas_combobox.getSelectedItem();
+
+	    if (convert_xml_pane.getComponentCount() > 1){
+		convert_xml_pane.remove(1);
+		if (convert_xml_pane.getComponentCount() > 1){
+		    convert_xml_pane.remove(1);
+		}
+	    }
+
+	    if (!saveas.endsWith("METS")){
+	
+		convert_xml_checkbox1.setText(Dictionary.get("ExportAsPrompt.ApplyXSL",(String)plugoutMap.get(saveas)));	
+		if (saveas.equals("MARCXML")){
+		    convert_xml_pane.add(mapping_xml_pane);
+		    convert_xml_pane.add(output_single_checkbox);
+		}		
+	    }
+	    else{
+		String[] docs = ((String)plugoutMap.get(saveas)).split(",");
+		convert_xml_checkbox1.setText(Dictionary.get("ExportAsPrompt.ApplyXSL",docs[0]));
+		convert_xml_checkbox2.setText(Dictionary.get("ExportAsPrompt.ApplyXSL",docs[1])); 
+		convert_xml_pane.add(convert_xml_pane2); 		
+	    }
+	    
+	    convert_xml_pane.revalidate();
+	    convert_xml_pane.repaint();
+            instructions_pane.revalidate();
+            instructions_pane.repaint();
+             
+	}
+	
+    }
+       
+     private class ConvertXMLButtonListener implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+	    JFileChooser chooser = new JFileChooser();
+	    // Note: source for ExampleFileFilter can be found in FileChooserDemo,
+	    // under the demo/jfc directory in the Java 2 SDK, Standard Edition.
+	    javax.swing.filechooser.FileFilter filter = new javax.swing.filechooser.FileFilter(){
+		    public boolean accept(File f){
+			return f.getPath().endsWith(".xsl")||f.isDirectory()||f.getPath().endsWith(".xml");
+		    }  
+
+		    public String getDescription(){
+			return "XSL or XML file";
+		    }          
+      };
+	    
+	    chooser.setFileFilter(filter);
+	    int returnVal = chooser.showOpenDialog(prompt);        
+
+	    if(returnVal == JFileChooser.APPROVE_OPTION) {
+		if (event.getSource() == convert_xml_button1){
+
+		    xsl_file1 = chooser.getSelectedFile();
+		    convert_xml_field1.setText(xsl_file1.getPath());
+		}
+                else if (event.getSource() == convert_xml_button2){ 
+                     xsl_file2 = chooser.getSelectedFile();
+		    convert_xml_field2.setText(xsl_file2.getPath());
+		   
+		}
+		else {
+		    mapping_file = chooser.getSelectedFile();
+		    mapping_xml_field.setText(mapping_file.getPath()); 
+		}
+	    }
+	}
+     }
+
+ private class FolderButtonListener implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+	    JFileChooser chooser = new JFileChooser();
+	    chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+	   
+	    int returnVal = chooser.showOpenDialog(prompt);        
+	    
+	    if(returnVal == JFileChooser.APPROVE_OPTION) {
+		File folder_name = chooser.getSelectedFile();
+		title_field.setText(folder_name.getPath());
+	    }
+	    
+	}
+ }
+}
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/FedoraLogin.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/FedoraLogin.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/FedoraLogin.java	(revision 21123)
@@ -0,0 +1,466 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * <p><b>License and Copyright: </b>The contents of this file are subject
+ * to the Educational Community License (the "License"); you may not use
+ * this file except in compliance with the License. You may obtain a copy
+ * of the License at <a href="http://www.opensource.org/licenses/ecl1.txt">
+ * http://www.opensource.org/licenses/ecl1.txt.</a></p>
+ *
+ * <p>Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific language governing rights and limitations under
+ * the License.</p>
+ *
+ * <p>The entire file consists of original code.  Copyright &copy;
+ * 2002-2007 by The Rector and Visitors of the University of Virginia and
+ * Cornell University.  All rights reserved.</p>
+ *
+ * -----------------------------------------------------------------------------
+ */
+
+
+/* Based on Fedora's Client LoginDialog.java code */
+/* Modified to work with Greenstone: 22 Jan 2008 */
+
+package org.greenstone.gatherer.gui;
+
+import java.awt.BorderLayout;
+import java.awt.Container;
+import java.awt.Dimension;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+
+import javax.swing.AbstractAction;
+import javax.swing.BorderFactory;
+import javax.swing.JButton;
+import javax.swing.JComboBox;
+import javax.swing.JComponent;
+import javax.swing.JDialog;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JPasswordField;
+import javax.swing.event.DocumentEvent;
+import javax.swing.event.DocumentListener;
+
+import java.awt.Rectangle;
+import java.awt.Toolkit;
+import org.greenstone.gatherer.Dictionary;
+
+
+
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.Configuration;
+
+public class FedoraLogin extends JDialog 
+{
+    private static final int MAX_ITEMS = 5;
+
+    private static final java.awt.Color LIGHT = new java.awt.Color(244, 244, 224);
+    private static final java.awt.Color TRANSPARENT = new java.awt.Color(0,0,0,0);
+
+    private JPanel m_infoPane;
+    private JComboBox m_serverComboBox;
+    private JComboBox m_protocolComboBox;
+    private JComboBox m_usernameComboBox;
+    private JPasswordField m_passwordField;
+
+    private String m_lastUsername="fedoraAdmin";
+    private String m_lastServer="localhost:8080";
+    private String m_lastProtocol="http";
+    private String m_lastPassword="";
+
+    private boolean login_requested = false;
+
+    public FedoraLogin(String title, boolean can_cancel) 
+    {
+	super(Gatherer.g_man, "Login", true);
+        this.setComponentOrientation(Dictionary.getOrientation());
+	this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
+        
+	JLabel serverLabel=new JLabel("Fedora Server");        
+	JLabel protocolLabel=new JLabel("Protocol");
+        JLabel usernameLabel=new JLabel("Username");
+        JLabel passwordLabel=new JLabel("Password");
+
+        serverLabel.setComponentOrientation(Dictionary.getOrientation());
+        protocolLabel.setComponentOrientation(Dictionary.getOrientation());
+        usernameLabel.setComponentOrientation(Dictionary.getOrientation());
+        passwordLabel.setComponentOrientation(Dictionary.getOrientation());
+        
+        m_serverComboBox=new JComboBox(new String[]{m_lastServer});
+        m_serverComboBox.setComponentOrientation(Dictionary.getOrientation());
+        m_serverComboBox.setEditable(true);
+	m_protocolComboBox=new JComboBox(new String[]{m_lastProtocol, "https"}); // http and https
+        m_protocolComboBox.setComponentOrientation(Dictionary.getOrientation());        
+	m_protocolComboBox.setEditable(true);
+        m_usernameComboBox=new JComboBox(new String[]{m_lastUsername});
+        m_usernameComboBox.setComponentOrientation(Dictionary.getOrientation());
+        m_usernameComboBox.setEditable(true);
+        m_passwordField=new JPasswordField();
+
+        setComboBoxValues();
+
+	
+        LoginAction loginAction=new LoginAction(this);
+        JButton loginButton=new JButton(loginAction);
+
+        loginAction.setButton(loginButton);
+        loginButton.setEnabled(false);
+	this.getRootPane().setDefaultButton(loginButton);
+
+        m_passwordField.getDocument().addDocumentListener(
+                new PasswordChangeListener(loginButton, m_passwordField));
+        m_passwordField.setAction(loginAction);
+
+        JPanel inputPane=new JPanel();
+        inputPane.setComponentOrientation(Dictionary.getOrientation());
+        inputPane.setBorder(BorderFactory.createCompoundBorder(
+                BorderFactory.createCompoundBorder(
+                    BorderFactory.createEmptyBorder(6, 6, 6, 6),
+                    BorderFactory.createEtchedBorder()
+                ),
+                BorderFactory.createEmptyBorder(6,6,6,6)
+                ));
+        GridBagLayout gridBag=new GridBagLayout();
+        inputPane.setLayout(gridBag);
+        addLabelValueRows(new JLabel[] {serverLabel, protocolLabel, usernameLabel, passwordLabel}, 
+                new JComponent[] {m_serverComboBox, m_protocolComboBox, m_usernameComboBox, m_passwordField}, 
+                gridBag, inputPane);
+	
+	// handling Closing and cancelling events
+	this.addWindowListener(new WindowAdapter() {
+		public void windowClosing(WindowEvent e){
+		    // this is important, if we want to stop looping on displaying the dialog:
+		    login_requested = false; 
+		    //dispose(); // defaultCloseOperation of this dialog already set to dispose it
+		}
+	    });
+
+        JButton cancelButton=new JButton(new AbstractAction() {
+        	private static final long serialVersionUID = 1L;
+            public void actionPerformed(ActionEvent evt) {
+		// this is important, if we want to stop looping on displaying the dialog:
+		login_requested = false;
+                dispose();
+            }
+        });
+
+	cancelButton.setText("Exit"); // if haven't logged in yet
+
+        JPanel buttonPane=new JPanel();
+        buttonPane.setComponentOrientation(Dictionary.getOrientation());
+        buttonPane.add(loginButton);
+        buttonPane.add(cancelButton);
+        Container contentPane=getContentPane();
+        contentPane.setComponentOrientation(Dictionary.getOrientation());
+
+        contentPane.setLayout(new BorderLayout());
+	m_infoPane = new JPanel();
+        m_infoPane.setComponentOrientation(Dictionary.getOrientation());
+	m_infoPane.setBackground(TRANSPARENT);
+	contentPane.add(m_infoPane, BorderLayout.NORTH);
+        contentPane.add(inputPane, BorderLayout.CENTER);
+        contentPane.add(buttonPane, BorderLayout.SOUTH);
+        addWindowListener(new WindowAdapter() {
+            public void windowOpened(WindowEvent evt) {
+                m_passwordField.requestFocus();
+            }
+        });
+        pack();
+
+	// Position
+	Dimension size = getSize();
+	if (Gatherer.g_man != null) {
+	    Rectangle frame_bounds = Gatherer.g_man.getBounds();
+	    setLocation(frame_bounds.x + (frame_bounds.width - size.width) / 2, frame_bounds.y + (frame_bounds.height - size.height) / 2);
+	}
+	else {
+	    Dimension screen_size = Toolkit.getDefaultToolkit().getScreenSize();
+	    setLocation((screen_size.width - size.width) / 2, (screen_size.height - size.height) / 2);
+	}
+
+
+        setVisible(true);
+    }
+
+
+    public void saveProperties(JComboBox control, String affectedProperty, String editedValue) {
+	//String editedValue = (String)control.getSelectedItem();
+	// Edited value is the value in the combobox editfield, it has not yet been added to the combobox
+	control.insertItemAt(editedValue, 0); 
+	
+	if(editedValue == null) {
+	    editedValue = (String)control.getItemAt(0); // else reuse the first default
+	} 
+	Configuration.setString(affectedProperty, true, editedValue);
+	
+	// Add the values in the combobox as well.
+	int value_count = 1;
+	for(int i = 0; value_count < MAX_ITEMS && i < control.getItemCount(); i++, value_count++) {
+	    String value = (String)control.getItemAt(i);
+	    if(value == null || value.equals(editedValue) || value.equals("")) { 
+		// skip duplicates of just-edited comboBox value and empty values
+		value_count--;
+	    } else { 
+		Configuration.setString(affectedProperty+value_count, true, value);
+	    } // else retain old value for this affectedProperty (e.g. general.gliserver_url)
+	}
+    }
+
+    private void setComboBoxValues() {
+        // All comboboxes are of the same size
+        Dimension newSize=new Dimension(m_serverComboBox.getPreferredSize().width+20, m_serverComboBox.getPreferredSize().height);
+	m_passwordField.setPreferredSize(newSize);
+      
+	setComboBoxValues(m_serverComboBox, "fedora.server", newSize);
+	setComboBoxValues(m_protocolComboBox, "fedora.protocol", newSize);
+	setComboBoxValues(m_usernameComboBox, "fedora.username", newSize);
+	newSize = null;
+    }
+    
+    private void setComboBoxValues(JComboBox control, String affectedProperty, Dimension newSize) {
+	// get values from Configuration file, if none, it will go back to using defaultvalues
+	// put them into the combobox
+	
+	String value = Configuration.getString(affectedProperty, true);
+	boolean finished = value.equals("");
+	if(!finished) {
+	    control.removeAllItems(); // remove defaults, since config file now contains init values
+	    control.addItem(value);
+	} // else value and combobox already contains the defaults
+	   	    
+	
+	for(int i = 1; !finished; i++) {
+	    value = Configuration.getString(affectedProperty+i, true);
+	    if(value.equals("")) {
+		finished = true;
+	    }
+	    else { // value is not empty
+		control.addItem(value);
+	    }
+	}
+	
+	// setting the size of the dropdown control
+	control.setPreferredSize(newSize);
+    }
+
+    public void addLabelValueRows(JLabel[] labels, JComponent[] values,
+				  GridBagLayout gridBag, Container container) {
+        GridBagConstraints c=new GridBagConstraints();
+        c.insets=new Insets(0, 6, 6, 6);
+        for (int i=0; i<labels.length; i++) {
+            c.anchor=GridBagConstraints.EAST;
+            c.gridwidth=GridBagConstraints.RELATIVE; //next-to-last
+            c.fill=GridBagConstraints.NONE;      //reset to default
+            c.weightx=0.0;                       //reset to default
+            gridBag.setConstraints(labels[i], c);
+            container.add(labels[i]);
+	    
+            c.gridwidth=GridBagConstraints.REMAINDER;     //end row
+            if (!(values[i] instanceof JComboBox)) {
+                c.fill=GridBagConstraints.HORIZONTAL;
+            } else {
+                c.anchor=GridBagConstraints.WEST;
+            }
+            c.weightx=1.0;
+            gridBag.setConstraints(values[i], c);
+            container.add(values[i]);
+        }
+	
+    }
+
+    /** Displays the given errormessage (which is split over several lines)
+	* in the FedoraLogin itself 
+	* @param errorLines: the lines of the error message, where each line
+	* will be presented in its own JLabel in the infoPane.
+     */
+    public void setErrorMessage(String[] errorLines) {
+	m_infoPane.removeAll();
+	m_infoPane.setBackground(LIGHT);
+	// n rows and 1 column
+	m_infoPane.setLayout(new java.awt.GridLayout(errorLines.length, 1));
+	for(int i = 0; i < errorLines.length; i++) {
+	    JLabel line = new JLabel("  " + errorLines[i] + "  ");
+	    m_infoPane.add(line);
+	}
+	
+	// Adjust and resize this dialog to take into account the 
+	// recently added components (labels)
+	m_infoPane.validate();	
+	this.pack();
+    }
+
+    public class PasswordChangeListener
+            implements DocumentListener {
+
+        private JButton m_loginButton;
+        private JPasswordField m_passField;
+
+        public PasswordChangeListener(JButton loginButton, JPasswordField pf) {
+            m_loginButton=loginButton;
+            m_passField=pf;
+        }
+
+        public void changedUpdate(DocumentEvent e) {
+            dataChanged();
+        }
+
+        public void insertUpdate(DocumentEvent e) {
+            dataChanged();
+        }
+
+        public void removeUpdate(DocumentEvent e) {
+            dataChanged();
+        }
+	
+        public void dataChanged() {
+	    if (m_passField.getPassword().length == 0) { 
+                m_loginButton.setEnabled(false);
+            } else {
+                m_loginButton.setEnabled(true);
+            }
+        }
+
+    }
+    
+    
+      public class LoginAction
+	  extends AbstractAction {
+
+	  FedoraLogin m_loginDialog;
+	  JButton m_button;
+	  
+	  public LoginAction(FedoraLogin loginDialog) {
+	      super("Login");
+	      m_loginDialog=loginDialog;
+	  }
+	  
+	  public void setButton(JButton button) {
+            m_button=button;
+	  }
+	  
+	  public void actionPerformed(ActionEvent evt) {
+	     
+	    
+            if (m_button.isEnabled()) {
+
+                try {
+                    // pull out values and do a quick syntax check
+                    String hostPort=(String) m_serverComboBox.getSelectedItem();
+                    int colonPos=hostPort.indexOf(":");
+                    if (colonPos==-1) {
+                        throw new IOException("Server must be specified as host:port");
+                    }
+                    String[] s=hostPort.split(":");
+                    String host=s[0];
+                    if (host.length()==0) {
+                        throw new IOException("No server name provided.");
+                    }
+                    int port=0;
+                    try {
+                        port=Integer.parseInt(s[1]);
+                    } catch (NumberFormatException nfe) {
+                        throw new IOException("Server port must be an integer.");
+                    }
+		    String protocol=(String) m_protocolComboBox.getSelectedItem();
+		    if (protocol.equals("")) {
+			throw new IOException("No protocol provided.");
+		    }
+
+                    String username=(String) m_usernameComboBox.getSelectedItem();
+                    if (username.equals("")) {
+                        throw new IOException("No username provided.");
+                    }
+                    String pass = new String(m_passwordField.getPassword());
+
+
+                    // all looks ok...just save stuff and exit now
+		    m_lastServer=host + ":" + port;
+                    m_lastProtocol=protocol;
+                    m_lastUsername=username;
+		    m_lastPassword=pass;
+
+		    m_loginDialog.saveProperties(m_serverComboBox, "fedora.server", m_lastServer);
+		    m_loginDialog.saveProperties(m_protocolComboBox, "fedora.protocol", m_lastProtocol);
+		    m_loginDialog.saveProperties(m_usernameComboBox, "fedora.username", m_lastUsername);
+		   
+		    // now save these values to the Configuration file
+		    Configuration.save();                   
+
+		    login_requested = true;
+
+		    // hiding it instead of disposing it on OK-press allows us to loop
+		    // on displaying the dialog in case there's more checking to do
+		    m_loginDialog.setVisible(false);
+
+                } catch (Exception e) {
+                    //String msg = e.getMessage();
+		    //System.err.println(msg);
+
+		    e.printStackTrace();
+
+                }
+            }
+	  }    
+      }
+
+    public boolean loginRequested()
+    {
+	return login_requested;
+    }
+
+    public String getLibraryURL()
+    {
+	String libraryUrl = m_lastProtocol + "://" + m_lastServer + "/fedora/search";
+
+	return libraryUrl;
+    }
+
+    public String getHostname()
+    {
+	String[] s=m_lastServer.split(":");
+	String host=s[0];
+	return host;
+    }
+    public String getPort()
+    {
+	String[] s=m_lastServer.split(":");
+
+	String port = s[1];
+	return port;
+    }
+
+    public String getUsername()
+    {
+	return m_lastUsername;
+    }
+
+    public String getPassword()
+    {
+	return m_lastPassword;
+    }
+
+    public String getProtocol()
+    {
+	return m_lastProtocol;
+    }
+
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/FileAssociationDialog.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/FileAssociationDialog.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/FileAssociationDialog.java	(revision 21123)
@@ -0,0 +1,499 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.File;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.filechooser.*;
+import javax.swing.table.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.file.FileAssociationManager;
+import org.greenstone.gatherer.util.TableUtils;
+import org.greenstone.gatherer.util.Utility;
+
+/** The file association allows the entry of new file associations and the modification of existing ones.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class FileAssociationDialog
+    extends ModalDialog {
+
+    /** The default size for the dialog. */
+    static final private Dimension SIZE = new Dimension(600, 450);
+
+    private boolean ignore = false;
+    private FileAssociationDialog self;
+    private FileAssociationManager file_association_manager;
+    private JButton add_button;
+    private JButton browse_button;
+    private JButton close_button;
+    private JButton remove_button;
+    private JButton replace_button;
+    private JTable existing_associations_table;
+    private JTextField command_field;
+    private JTextField extension_field;
+
+    /** Create a new file association dialog.
+     * @param file_association_manager A reference to the <strong>FileAssociationManager</strong> so we can determine what extensions are already associated.
+     */
+    public FileAssociationDialog(FileAssociationManager file_association_manager) {
+	super(Gatherer.g_man);
+	this.file_association_manager = file_association_manager;
+	this.self = this;
+        this.setComponentOrientation(Dictionary.getOrientation());
+	// Creation
+	setModal(true);
+	setSize(SIZE);
+	setTitle(Dictionary.get("FileAssociationDialog.Title"));
+	setJMenuBar(new SimpleMenuBar("fileassociations"));
+
+	JPanel content_pane = (JPanel) getContentPane();
+	content_pane.setBackground(Configuration.getColor("coloring.collection_heading_background", false));
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JTextArea instructions_area = new JTextArea(Dictionary.get("FileAssociationDialog.Instructions"));
+	instructions_area.setEditable(false);
+	instructions_area.setLineWrap(true);
+	instructions_area.setRows(5);
+	instructions_area.setWrapStyleWord(true);
+	instructions_area.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel control_pane = new JPanel();
+        control_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	existing_associations_table = new JTable(file_association_manager);
+	existing_associations_table.setComponentOrientation(Dictionary.getOrientation());
+        existing_associations_table.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN);
+	existing_associations_table.setColumnSelectionAllowed(false);
+	existing_associations_table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+	JPanel lower_pane = new JPanel();
+        lower_pane.setComponentOrientation(Dictionary.getOrientation());
+	JPanel details_pane = new JPanel();
+        details_pane.setComponentOrientation(Dictionary.getOrientation());
+
+	JPanel extension_pane = new JPanel();
+        extension_pane.setComponentOrientation(Dictionary.getOrientation());
+	JLabel extension_label = new JLabel(Dictionary.get("FileAssociationDialog.Extension"));
+        extension_label.setComponentOrientation(Dictionary.getOrientation());
+	extension_field = new NonWhitespaceField();
+	extension_field.setToolTipText(Dictionary.get("FileAssociationDialog.Extension_Tooltip"));
+                
+	JLabel command_label = new JLabel(Dictionary.get("FileAssociationDialog.Command"));
+        command_label.setComponentOrientation(Dictionary.getOrientation());
+        JPanel command_pane = new JPanel();
+        command_pane.setComponentOrientation(Dictionary.getOrientation());
+	command_field = new JTextField();
+        command_field.setComponentOrientation(Dictionary.getOrientation());
+	command_field.setToolTipText(Dictionary.get("FileAssociationDialog.Command_Tooltip"));
+	browse_button = new GLIButton(Dictionary.get("FileAssociationDialog.Browse"));
+	browse_button.setEnabled(!Utility.isMac());
+	if (Utility.isMac()) {
+	    browse_button.setToolTipText(Dictionary.get("FileAssociationDialog.Browse_Tooltip_Mac"));
+	} else {
+	    browse_button.setToolTipText(Dictionary.get("FileAssociationDialog.Browse_Tooltip"));
+	}
+
+
+	JPanel button_pane = new JPanel();       
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	add_button = new GLIButton(Dictionary.get("FileAssociationDialog.Add"), Dictionary.get("FileAssociationDialog.Add_Tooltip"));
+	add_button.setEnabled(false);
+	
+	replace_button = new GLIButton(Dictionary.get("FileAssociationDialog.Replace"), Dictionary.get("FileAssociationDialog.Replace_Tooltip"));
+	replace_button.setEnabled(false);
+	
+	remove_button = new GLIButton(Dictionary.get("FileAssociationDialog.Remove"), Dictionary.get("FileAssociationDialog.Remove_Tooltip"));
+	remove_button.setEnabled(false);
+	
+	close_button = new GLIButton(Dictionary.get("FileAssociationDialog.Close"), Dictionary.get("FileAssociationDialog.Close_Tooltip"));
+	
+	// Connection
+	add_button.addActionListener(new AddButtonListener());
+	browse_button.addActionListener(new BrowseButtonListener());
+	close_button.addActionListener(new CloseButtonListener());
+	remove_button.addActionListener(new RemoveButtonListener());
+	replace_button.addActionListener(new ReplaceButtonListener());
+	CommandOrExtensionFieldListener coefl = new CommandOrExtensionFieldListener();
+	command_field.getDocument().addDocumentListener(coefl);
+	extension_field.getDocument().addDocumentListener(coefl);
+	coefl = null;
+	existing_associations_table.getSelectionModel().addListSelectionListener(new ExistingAssociationsTableListener());
+
+	// Layout
+	extension_pane.setBorder(BorderFactory.createEmptyBorder(2,0,2,0));
+	extension_pane.setLayout(new BorderLayout(5,0));
+	extension_pane.add(extension_label, BorderLayout.LINE_START);
+	extension_pane.add(extension_field, BorderLayout.CENTER);
+
+	command_pane.setBorder(BorderFactory.createEmptyBorder(2,0,2,0));
+	command_pane.setLayout(new BorderLayout());
+	command_pane.add(command_field, BorderLayout.CENTER);
+	command_pane.add(browse_button, BorderLayout.LINE_END);
+
+	details_pane.setBorder(BorderFactory.createTitledBorder(Dictionary.get("FileAssociationDialog.Details")));
+	details_pane.setLayout(new GridLayout(3,1));
+	details_pane.add(extension_pane);
+	details_pane.add(command_label);
+	details_pane.add(command_pane);
+
+	lower_pane.setBorder(BorderFactory.createEmptyBorder(2,0,0,0));
+	button_pane.setLayout(new GridLayout(2,3));
+	button_pane.add(add_button);
+	button_pane.add(replace_button);
+	button_pane.add(remove_button);
+        JPanel tmp ;
+        tmp = new JPanel();
+        tmp.setComponentOrientation(Dictionary.getOrientation());
+	button_pane.add(tmp);
+        tmp = new JPanel();
+        tmp.setComponentOrientation(Dictionary.getOrientation());
+	button_pane.add(tmp);
+	button_pane.add(close_button);
+
+	lower_pane.setBorder(BorderFactory.createEmptyBorder(2,0,0,0));
+	lower_pane.setLayout(new BorderLayout());
+	lower_pane.add(details_pane, BorderLayout.CENTER);
+	lower_pane.add(button_pane, BorderLayout.SOUTH);
+
+	control_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	control_pane.setLayout(new BorderLayout());
+        JScrollPane scrol_tmp;
+        scrol_tmp = new JScrollPane(existing_associations_table);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	control_pane.add(scrol_tmp, BorderLayout.CENTER);
+	control_pane.add(lower_pane, BorderLayout.SOUTH);
+
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.setLayout(new BorderLayout());
+        scrol_tmp = new JScrollPane(instructions_area);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	content_pane.add(scrol_tmp, BorderLayout.NORTH);
+	content_pane.add(control_pane, BorderLayout.CENTER);
+
+	Rectangle screen = Gatherer.g_man.getBounds(null);
+	setLocation((int)(screen.getX() + (screen.getWidth() - SIZE.width) / 2), (int)(screen.getY() + (screen.getHeight() - SIZE.height) / 2));
+	screen = null;
+        
+    }
+
+    public void destroy() {
+	// Disconnect
+	// Clean up
+	file_association_manager = null;
+	self = null;
+    }
+
+    /** Redisplay the dialog, ensuring that the details (or lack thereof) for a certain extension is apparent. In fact if an extension is provided force the user to add it or cancel.
+     * @param new_extension The extension code as a <strong>String</strong>.
+     */
+    public String display(String new_extension) {
+	// Clear the current selection
+	existing_associations_table.clearSelection();
+	if(new_extension != null) {
+	    extension_field.setText(new_extension);
+	}
+	setVisible(true);
+	if(new_extension != null) {
+	    return file_association_manager.getCommandString(new_extension);
+	}
+	return null;
+    }
+
+    protected void processWindowEvent(WindowEvent event) {
+	if(event.getID() == WindowEvent.WINDOW_ACTIVATED) {
+	    TableUtils.fixColumnToPreferredWidth(existing_associations_table, 0); 
+	}
+	else {
+	    super.processWindowEvent(event);
+	}
+    }
+
+    private class AddButtonListener
+	implements ActionListener {
+	
+	public void actionPerformed(ActionEvent event) {
+	    String extension_str = extension_field.getText();
+	    file_association_manager.setCommand(extension_str, command_field.getText());
+	    // Select the appropriate entry in the table
+	    int index = -1;
+	    for(int i = 0; index == -1 && i < file_association_manager.size(); i++) {
+		if(file_association_manager.getExtension(i).equals(extension_str)) {
+		    index = i;
+		}
+	    }
+	    if(index > -1) {
+		existing_associations_table.setRowSelectionInterval(index, index);
+	    }
+	    // And update buttons
+	    add_button.setEnabled(false);
+	    remove_button.setEnabled(true);
+	}
+    }
+
+    /** Batch filter shows only files ending in bat. Based on ImageFilter.java which is a 1.4 example used by FileChooserDemo2.java. */
+    private class BatchFileFilter
+	extends FileFilter {
+
+	/** Accept all .exe files
+	 * @param file a File
+	 * @return true is this file should be shown, false otherwise
+	 */
+	public boolean accept(File file) {
+	    return file.getName().toLowerCase().endsWith(".bat");
+	}
+
+	/** The description of this filter
+	 * @return a String
+	 */
+	public String getDescription() {
+	    return Dictionary.get("FileAssociationDialog.Batch_File");
+	}
+    }
+
+    /** Whenever the user clicks the browse button, we should open up a file browser to allow them to select an executable file from somewhere in the file system. */
+    private class BrowseButtonListener 
+	implements ActionListener {
+	/** Open up a simple JFileChooser when the user clicks the button. 
+	 * @param event An <strong>ActionEvent</strong> containing information about the event.
+	 */
+	public void actionPerformed(ActionEvent event) {
+	    JFileChooser chooser = new JFileChooser(new File(Gatherer.getGLIUserDirectoryPath()));
+	    GUIUtils.disableRename(chooser);
+	    chooser.setDialogTitle(Dictionary.get("FileAssociationDialog.Browse_Title"));
+	    chooser.setFileFilter(new BatchFileFilter());
+	    chooser.setFileFilter(new CoreObjectModelFileFilter());
+	    chooser.setFileFilter(new ExecutableFileFilter());
+	    chooser.setAcceptAllFileFilterUsed(true);
+	    if(chooser.showOpenDialog(Gatherer.g_man) == JFileChooser.APPROVE_OPTION) {
+		command_field.setText(chooser.getSelectedFile().getAbsolutePath());
+	    }
+	}
+    }
+
+    private class CloseButtonListener
+	implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+	    existing_associations_table.clearSelection();
+	    add_button.setEnabled(false);
+	    remove_button.setEnabled(false);
+	    replace_button.setEnabled(false);
+	    self.dispose();
+	}
+    }
+
+    /** Command filter shows only files ending in com. Based on ImageFilter.java which is a 1.4 example used by FileChooserDemo2.java. */
+    private class CoreObjectModelFileFilter
+	extends FileFilter {
+
+	/** Accept all .exe files
+	 * @param file a File
+	 * @return true is this file should be shown, false otherwise
+	 */
+	public boolean accept(File file) {
+	    return file.getName().toLowerCase().endsWith(".com");
+	}
+
+	/** The description of this filter
+	 * @return a String
+	 */
+	public String getDescription() {
+	    return Dictionary.get("FileAssociationDialog.Command_File");
+	}
+    }
+
+    private class CommandOrExtensionFieldListener
+	implements DocumentListener {
+	/** Gives notification that an attribute or set of attributes changed. */
+	public void changedUpdate(DocumentEvent e) {
+	    changed();
+	}
+	/** Gives notification that there was an insert into the document. */
+	public void insertUpdate(DocumentEvent e) {
+	    changed();
+	}
+	/** Gives notification that a portion of the document has been removed. */
+	public void removeUpdate(DocumentEvent e) {
+	    changed();
+	} 
+
+	private void changed() {
+	    ignore = true;
+	    String extension_str = extension_field.getText();
+	    String command_str = command_field.getText();
+	    // Determine if there is currently an association selected
+	    int selected_index = -1;
+	    if((selected_index = existing_associations_table.getSelectionModel().getMinSelectionIndex()) != -1) {
+		String current_extension_str = file_association_manager.getExtension(selected_index);
+		String current_command_str = file_association_manager.getCommandString(current_extension_str);
+		// What buttons are enabled depends a lot on the file extension, taken to be the 'key'
+		if(extension_str.equals(current_extension_str)) {
+		    // If the extensions are the same then remove is enabled
+		    remove_button.setEnabled(true);
+		    // But if the command is different, then enable replace
+		    if(current_command_str.length() == 0) {
+			add_button.setEnabled(true);
+			replace_button.setEnabled(false);
+		    }
+		    else if(!command_str.equals(current_command_str)) {
+			add_button.setEnabled(false);
+			replace_button.setEnabled(true);
+		    }
+		    else {
+			add_button.setEnabled(false);
+			replace_button.setEnabled(false);
+		    }
+		}
+		// We can add it, but we first clear the selection
+		else {
+		    existing_associations_table.clearSelection();
+		    add_button.setEnabled(true);
+		    remove_button.setEnabled(false);
+		    replace_button.setEnabled(false);
+		}
+	    }
+	    // If not, we must first test if the extension is in use
+	    else {
+		int index = -1;
+		for(int i = 0; index == -1 && i < file_association_manager.size(); i++) {
+		    String existing_extension_str = file_association_manager.getExtension(i);
+		    if(existing_extension_str.equals(extension_str)) {
+			index = i;
+		    }
+		}
+		if(index != -1) {
+		    // Selection that index
+		    existing_associations_table.setRowSelectionInterval(index, index);
+		    // Set replace and remove enabled
+		    add_button.setEnabled(false);
+		    remove_button.setEnabled(true);
+		    replace_button.setEnabled(true);
+		}
+		// Otherwise if there is some text in both extension and command, enable add only
+		else if(extension_str.length() > 0 && command_str.length() > 0) {
+		    add_button.setEnabled(true);
+		    remove_button.setEnabled(false);
+		    replace_button.setEnabled(false);
+		}
+		// Otherwise disable everything
+		else {
+		    add_button.setEnabled(false);
+		    remove_button.setEnabled(false);
+		    replace_button.setEnabled(false);
+		}
+	    }
+	    ignore = false;
+	}
+    }
+
+    /** Executable filter shows only files ending in exe. Based on ImageFilter.java which is a 1.4 example used by FileChooserDemo2.java. */
+    private class ExecutableFileFilter
+	extends FileFilter {
+
+	/** Accept all .exe files
+	 * @param file a File
+	 * @return true is this file should be shown, false otherwise
+	 */
+	public boolean accept(File file) {
+	    return file.getName().toLowerCase().endsWith(".exe");
+	}
+
+	/** The description of this filter
+	 * @return a String
+	 */
+	public String getDescription() {
+	    return Dictionary.get("FileAssociationDialog.Executable_File");
+	}
+    }
+
+    private class ExistingAssociationsTableListener
+	implements ListSelectionListener {
+
+	public void valueChanged(ListSelectionEvent event) {
+	    if(!event.getValueIsAdjusting() && !ignore) {
+		int selected_index = -1;
+		if((selected_index = existing_associations_table.getSelectionModel().getMinSelectionIndex()) != -1) {
+		    // Propagate the details of the selection down into the fields
+		    String extension_str = file_association_manager.getExtension(selected_index);
+		    extension_field.setText(extension_str);
+		    command_field.setText(file_association_manager.getCommandString(extension_str));
+		    extension_str = null;
+		    remove_button.setEnabled(true);
+		}
+		else {
+		    // Clear the fields
+		    extension_field.setText("");
+		    command_field.setText("");
+		    remove_button.setEnabled(false);
+		}
+		add_button.setEnabled(false);
+		replace_button.setEnabled(false);
+	    }
+	}
+    }
+
+    private class RemoveButtonListener 
+	implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+	    file_association_manager.setCommand(extension_field.getText(), null);
+	    // And update buttons
+	    add_button.setEnabled(true);
+	    remove_button.setEnabled(false);
+	}
+    }
+
+    private class ReplaceButtonListener 
+	implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+	    file_association_manager.setCommand(extension_field.getText(), command_field.getText());
+	    // And update buttons
+	    replace_button.setEnabled(false);
+	}
+    }
+}
+
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/Filter.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/Filter.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/Filter.java	(revision 21123)
@@ -0,0 +1,336 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import java.util.regex.*;
+import javax.swing.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.file.FileSystemModel;
+import org.greenstone.gatherer.gui.tree.DragTree;
+
+/** <p>This object allows the user to set a filter on one of the workspace trees, specifying a preset type, or a regular expression that a files must match to be in the tree. Note that all directories are included. This class includes the controls for editing the filter. The trick is that several instances of the Filter class can share the same internal data (termed a 'run' of filters), so that the filter set on the GatherPane and the EnrichPane are virtually the same.</p>
+ * <p>The regular expression typed uses '*' as a wildcard character (equivalent to '.*'), and does not use '.' to match any single character (use '?' instead).</p>
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class Filter
+    extends JPanel {
+    /** The other filters in this run of filters, used to ensure they all show the same thing. */
+    private ArrayList others = null;
+    /** Is this the first filter of this run of filters created (later filters will share the same information). */
+    private boolean first = true;
+    /** Prevent any changes we make in the class from causing events which we then process causing events... */
+    private boolean ignore = false;
+    /** A reference to ourselves so inner classes can refer to us. */
+    private Filter this_filter = null;
+    /** The check box to enable/disable filter. */
+    private JCheckBox checkbox = null;
+    /** The editable combobox where you either choose a predefined filter, or type a new pseudo-regular expression. */
+    private GComboBox combobox = null;
+    /** The label shown on the filter controls. */
+    private JLabel label = null;
+    /** A reference to the tree this filter is being applied to. */
+    private DragTree tree = null;
+    /** The default size for the label. */
+    static final private Dimension SIZE = new Dimension(100,30);
+    /** Preprogrammed default filters. */
+    static final private String DEFAULTS[] 
+	= {"^.*\\.html?$", "^.*\\.xml$", "^.*\\.txt$", 
+	   "(^.*\\.jpe?g$)|(^.*\\.png$)|(^.*\\.gif$)|(^.*\\.bmp$)|(^.*\\.tiff?$)",
+	   "^.*\\.pdf$", 
+	   "(^.*\\.docx?$)|(^.*\\.pptx?$)|(^.*\\.xlsx?$)|(^.*\\.od(t|s|p)$)"};
+
+    /** Constructor.
+     * @param tree A reference to the <strong>JTree</strong> being affected.
+     */
+    public Filter(DragTree tree) {
+	this(tree, null);
+    }
+
+    /** Constructor.
+     * @param tree A reference to the <strong>JTree</strong> being affected.
+     * @param others An <strong>ArrayList</strong> of the other Filters already in this run.
+     */
+    public Filter(DragTree tree, ArrayList others) {
+	super();
+        this.setComponentOrientation(Dictionary.getOrientation());
+	if (others == null) {
+	    others = new ArrayList();
+	}
+	this.others = others;
+	this.others.add(this);
+	this.this_filter = this;
+	this.tree = tree;
+	// Create components.
+	combobox = new GComboBox(true);
+	try {
+	    combobox.add(new Entry());
+	}
+	catch (Exception error) {
+	    error.printStackTrace();
+	}
+	for(int i = 0; i < DEFAULTS.length; i++) {
+	    try {
+		Entry entry = new Entry(Dictionary.get("Filter." + i), Pattern.compile(DEFAULTS[i]));
+		combobox.add(entry);
+	    }
+	    catch (Exception error) {
+		error.printStackTrace();
+	    }
+	}
+	label = new JLabel(Dictionary.get("Filter.Filter_Tree"));
+        label.setComponentOrientation(Dictionary.getOrientation());
+        label.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
+	combobox.setToolTipText(Dictionary.get("Collection.Filter_Tooltip"));
+	
+	// Add listeners.
+	combobox.addActionListener(new ComboBoxListener());
+	// Layout.
+	label.setBorder(BorderFactory.createEmptyBorder(0,0,0,5));
+
+	setBorder(BorderFactory.createEmptyBorder(2,2,2,2));
+	setLayout(new BorderLayout());
+	add(label, BorderLayout.LINE_START);
+	add(combobox, BorderLayout.CENTER);
+    }
+
+    /** Used to restore the filter state to enabled, the normal state during collection editing.
+     * @param state The new state for the filter. <i>true</i> for enabled, <i>false</i> otherwise.
+     */
+    public void setEnabled(boolean state) {
+	ignore = true;
+	combobox.setEnabled(state);
+	ignore = false;
+    }
+
+    /** Set the combobox model for this filter.
+     * @param model The new <strong>ComboBoxModel</strong> to use.
+     */
+    public void setComboBoxModel(ComboBoxModel model) {
+	combobox.setModel(model);
+    }
+
+    /** Ensure that a certain entry is selected from the combobox.
+     * @param selection The <strong>Entry</strong> that should be selected.
+     */
+    public void setComboBoxSelection(Entry selection) {
+	ignore = true;
+	combobox.setSelectedItem(selection);
+	ignore = false;
+    }
+
+    /** Sets whether this combobox is editable or not
+     * @param value true to make the control editable, false otherwise
+     */
+    public void setEditable(boolean value) {
+	combobox.setEditable(value);	    
+    }
+
+    /** Set to signify that this filter is the first in a new run of filters.
+     * @param first <i>true</i> if this is the first filter in a run, <i>false</i> if it will just be added to the current run.
+     */
+    public void setFirst(boolean first) {
+	this.first = first;
+    }
+
+    /** Encode an expression in pseudo-regular expression into regular expression.
+     * @param raw The pseudo-regular expression <strong>String</strong> which includes several characters which differ in meaning from regular expression queries.
+     * @return A proper regular expression as a <strong>String</strong>.
+     */
+    private String encode(String raw) {
+	StringBuffer working = new StringBuffer();
+	for(int i = 0; i < raw.length(); i++) {
+	    char c = raw.charAt(i);
+	    switch(c) {
+	    case '.':
+		working.append("\\.");
+		break;
+	    case '*':
+		working.append(".*");
+		break;
+	    case '?':
+		working.append(".");
+		break;
+	    default:
+		working.append(Character.toLowerCase(c));
+	    }
+	}
+	return working.toString();
+    }
+    /** This method applies the given pattern to the tree registered as belonging to this filter.*/
+    private void setFilter(Pattern pattern) {
+	// Show busy cursor.
+	Gatherer.g_man.wait(true);
+	FileSystemModel model = (FileSystemModel) tree.getModel();
+	// Apply filter
+	if(pattern != null) {
+	    model.setFilter(pattern.pattern());
+	}
+	else {
+	    model.setFilter(null);
+	}
+	// Ask tree to completely refresh
+	tree.refresh(null);
+	// Restore cursor
+	Gatherer.g_man.wait(false);
+    }
+
+    /** Listens for changes in the combobox as when one is detected attempts to compile a regular expression from whatever text was entered. If successful, or if the item chosen was a predefined filter, it then applies the filter to the target tree. */
+    private class ComboBoxListener
+	implements ActionListener {
+	/** Called when a new item is selected from the filter combobox, we treat the new entry as a pseudo-regular expression, compile it and then apply it to the tree.
+	 * @param event An <strong>ActionEvent</strong> containing more information about the change performed.
+	 * @see org.greenstone.gatherer.gui.Filter.Entry
+	 */
+	public void actionPerformed(ActionEvent event) {
+	    try {
+		Object temp = combobox.getSelectedItem();
+		Entry entry = null;
+		if(temp instanceof String) {
+		    String temp_str = (String) temp;
+		    ///ystem.err.println("Filter = " + temp_str);
+
+		    // Ignore any string which matches a predefined filter
+		    if(temp_str.equals(Dictionary.get("Filter.All_Files"))) {
+		    }
+		    // HTM & HTML
+		    else if(temp_str.equals(Dictionary.get("Filter.0"))) {
+		    }
+		    // XML
+		    else if(temp_str.equals(Dictionary.get("Filter.1"))) {
+		    }
+		    // Text files
+		    else if(temp_str.equals(Dictionary.get("Filter.2"))) {
+		    }
+		    // Images
+		    else if(temp_str.equals(Dictionary.get("Filter.3"))) {
+		    }
+		    // PDF
+		    else if(temp_str.equals(Dictionary.get("Filter.4"))) {
+		    }
+		    // Office Docs
+		    else if(temp_str.equals(Dictionary.get("Filter.5"))) {
+		    }
+		    else {
+			// Make sure the filter isn't already in the list
+			boolean already_exists = false;
+			for (int i = 0; i < combobox.getItemCount(); i++) {
+			    if (temp_str.equals(combobox.getItemAt(i).toString())) {
+				already_exists = true;
+				entry = (Entry) combobox.getItemAt(i);
+				break;
+			    }
+			}
+
+			if (already_exists == false) {
+			    entry = new Entry(temp_str, Pattern.compile(encode(temp_str)));
+			    int position = combobox.getItemCount();
+			    combobox.insertItemAt(entry, position);
+			    combobox.setSelectedIndex(position);
+			}
+		    }
+		}
+		else {
+		    ///ystem.err.println("Custom Filter");
+		    entry = (Entry) temp;
+		}
+		if(entry != null) {
+		    setFilter(entry.getPattern());
+		}
+		// Else we ignore this event as being one of the painfully erroneous events we receive because we've been silly enough to have an editable combobox.
+	    }
+	    catch (PatternSyntaxException error) {
+		if(first) {
+		    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("Filter.Invalid_Pattern"), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+		}
+	    }
+	}
+    }
+    /** An object that holds a filter entry. This is string used for the filter pattern and, if not custom built, its name. */
+    private class Entry
+	implements Comparable {
+	/** The compiled pattern created from a regular expression. */
+	private Pattern pattern = null;
+	/** The name of this filter entry. */
+	private String name = null;
+	/** Constructor. */
+	public Entry() {
+	}
+	/** Constructor.
+	 * @param name The name of this entry as a <strong>String</strong>.
+	 * @param pattern The compiled regular expression as a <strong>Pattern</strong>.
+	 */
+	public Entry(String name, Pattern pattern) {
+	    this.name = name;
+	    this.pattern = pattern;
+	}
+	/** Compare two Entrys for ordering.
+	 * @param object The other Entry to compare to, as an <strong>Object</strong>.
+	 * @return An <i>int</i> indicating the respective ordering, as defined in java.lang.String#compareTo
+	 */
+	public int compareTo(Object object) {
+	    return toString().compareTo(object.toString());
+	}
+	/** Retrieve the pattern associated with this entry.
+	 * @return The <strong>Pattern</strong>.
+	 */
+	public Pattern getPattern() {
+	    return pattern;
+	}
+	/** Translate this entry into a textual representation.
+	 * @return A <strong>String</strong> containing the representation.
+	 */
+	public String toString() {
+	    String result = null;
+	    if (name != null) {
+		result = name;
+	    }
+	    else if (pattern == null) {
+		result = Dictionary.get("Filter.All_Files");
+	    }
+	    else {
+		result = pattern.pattern();
+	    }
+	    return result;
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/FormatPane.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/FormatPane.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/FormatPane.java	(revision 21123)
@@ -0,0 +1,241 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.cdm.CollectionDesignManager;
+import org.greenstone.gatherer.cdm.FormatManager;
+import org.greenstone.gatherer.cdm.Format;
+import org.greenstone.gatherer.cdm.Format4gs3Manager;
+import org.greenstone.gatherer.cdm.Format4gs3;
+import org.greenstone.gatherer.cdm.DOMProxyListEntry;
+import org.greenstone.gatherer.cdm.Control;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.shell.GShell;
+import org.greenstone.gatherer.shell.GShellEvent;
+import org.greenstone.gatherer.shell.GShellListener;
+
+public class FormatPane
+extends BaseConfigPane
+implements PreviewButtonOwner,GShellListener{
+    
+    
+    /** The button for viewing the collection. */
+    private static PreviewButton preview_button = null;
+    private boolean buildCanceled = false;
+    
+    /** The constructor. */
+    public FormatPane () {
+        super ();
+        if (Gatherer.GS3) {
+            contents = new String []{ "CDM.GUI.General", "CDM.GUI.SearchMetadata", "CDM.GUI.Formats", "CDM.GUI.Translation" };
+        } else {
+            contents = new String []{ "CDM.GUI.General", "CDM.GUI.SearchMetadata", "CDM.GUI.Formats", "CDM.GUI.Translation", "CDM.GUI.SuperCollection","CDM.GUI.Macros", "CDM.GUI.DepositorMetadata" };
+        }
+        JPanel side_panel = new JPanel ();
+        side_panel.setComponentOrientation(Dictionary.getOrientation());
+        side_panel.setLayout (new BorderLayout ());
+        remove (tree_pane);
+        side_panel.add (tree_pane, BorderLayout.CENTER);
+        JPanel preview_pane = new JPanel ();
+        preview_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+        preview_pane.setLayout (new BorderLayout ());
+        preview_pane.setBorder (BorderFactory.createEmptyBorder (5,0,0,0));
+        
+        preview_button = new PreviewButton (Dictionary.get ("CreatePane.Preview_Collection"), Dictionary.get ("CreatePane.Preview_Collection_Tooltip"));
+        preview_button.setEnabled (true);
+        preview_button.setVariablePreview (true);
+        preview_button.setOwner (this);
+        preview_pane.add (preview_button, BorderLayout.CENTER);
+        
+        
+        preview_button.addActionListener (new ActionListener () {
+            public void actionPerformed (ActionEvent event) {
+                if (view != null) {
+                    view.loseFocus ();
+                }
+                
+                if (buildCanceled){
+                    WarningDialog dialog = new WarningDialog ("warning.ShowPreviousCollection", Dictionary.get ("ShowPreviousCollection.Title"), Dictionary.get ("ShowPreviousCollection.Message"), null, false);
+                    dialog.display ();
+                    dialog.dispose ();
+                }
+            }
+            
+        });
+        side_panel.add (preview_pane, BorderLayout.SOUTH);
+        
+        add (side_panel, BorderLayout.LINE_START);
+    }
+    
+    public void gainFocus (){
+        
+        if (Gatherer.c_man.built () && Configuration.library_url != null) {
+            preview_button.setEnabled (true);
+        }
+        else{
+            preview_button.setEnabled (false);
+        }
+        
+    }
+    public static void setPreviewButton (boolean ready_to_preview) {
+        preview_button.setEnabled (ready_to_preview);
+    }
+    
+    /** All implementation of GShellListener must include this method so the listener can be informed of messages from the GShell.
+     * @param event A <strong>GShellEvent</strong> that contains, amoung other things, the message.
+     */
+    public synchronized void message (GShellEvent event) {
+        // We don't care.
+    }
+    
+    
+    /** All implementation of GShellListener must include this method so the listener can be informed when a GShell begins its task. Implementation side-effect, not actually used.
+     * @param event A <strong>GShellEvent</strong> that contains details of the initial state of the <strong>GShell</strong> before task comencement.
+     */
+    public synchronized void processBegun (GShellEvent event) {
+        buildCanceled = false;
+    }
+    
+    /** All implementation of GShellListener must include this method so the listener can be informed when a GShell completes its task.
+     * @param event A <strong>GShellEvent</strong> that contains details of the final state of the <strong>GShell</strong> after task completion.
+     */
+    public synchronized void processComplete (GShellEvent event) {
+        if(event.getStatus () == GShell.OK) {
+            if(event.getType () == GShell.BUILD) {
+                buildCanceled = false;
+            }
+        }
+        else {
+            buildCanceled = true;
+        }
+    }
+    
+    
+    
+    protected Control getSubControls (String type) {
+        if(type.equals ("CDM.GUI.General")) {
+            return CollectionDesignManager.general_manager.getControls ();
+        }
+        if (type.equals ("CDM.GUI.SearchMetadata")) {
+            return CollectionDesignManager.searchmetadata_manager.getControls ();
+        }
+        if(type.equals ("CDM.GUI.Formats")) {
+            return CollectionDesignManager.format_manager.getControls ();
+        }
+        if (type.equals ("CDM.GUI.Translation")) {
+            return CollectionDesignManager.translation_manager.getControls ();
+        }
+        if (type.equals ("CDM.GUI.Macros")) {
+            return CollectionDesignManager.macros_manager.getControls ();
+        }
+        if(type.equals ("CDM.GUI.SuperCollection")) {
+            return CollectionDesignManager.supercollection_manager.getControls ();
+        }
+	if(type.equals ("CDM.GUI.DepositorMetadata")) {
+	    return CollectionDesignManager.depositormetadata_manager.getControls ();
+	}
+        return null;
+    }
+    
+    private int page_type = PreviewButton.HOME_PAGE;
+    private String page_params = "";
+    public int getPageType () {
+        System.err.println ("view type = "+view_type);
+        if (view_type.equals ("CDM.GUI.General") || view_type.equals ("CDM.GUI.Translation")) {
+            page_type = PreviewButton.HOME_PAGE;
+        } else {
+            
+            if (Gatherer.GS3 == true) {
+                Format4gs3 current_format = ((Format4gs3Manager.FormatControl)view).getCurrentFormat ();
+                String feature_name = current_format.getFeatureName ();
+                
+                if (feature_name.equals ("browse")) {
+                    page_type = PreviewButton.CLASSIFIER_PAGE;
+                    page_params = "CL1";
+                } else
+                if (feature_name.startsWith ("CL")) {
+                    page_type = PreviewButton.CLASSIFIER_PAGE;
+                    page_params = current_format.getFeatureName ();
+                }
+                else if (feature_name.startsWith ("display")) {
+                    page_type = PreviewButton.DOCUMENT_PAGE;
+                    page_params = "HASH01e4da6100fdbb11b7ef244b";
+                }
+                else if (feature_name.equals ("search")) {
+                    page_type = PreviewButton.SEARCH_PAGE;
+                    page_params = "the";
+                } else { // HOME_PAGE 
+                }
+            } else {
+                Format current_format = ((FormatManager.FormatControl)view).getCurrentFormat ();
+                String feature_name = current_format.getFeatureName ();
+                System.err.println ("current format = "+feature_name);
+                if (feature_name.equals ("")) {
+                    // must be modifying VList or HList
+                    // what should we do???
+                    page_type = PreviewButton.CLASSIFIER_PAGE;
+                    page_params = "CL1";
+                }
+                if (feature_name.startsWith ("CL")) {
+                    page_type = PreviewButton.CLASSIFIER_PAGE;
+                    page_params = current_format.getFeatureName ();
+                }
+                else if (feature_name.startsWith ("Document")) {
+                    page_type = PreviewButton.DOCUMENT_PAGE;
+                    page_params = "HASH01e4da6100fdbb11b7ef244b";
+                }
+                else if (feature_name.equals ("Search")) {
+                    page_type = PreviewButton.SEARCH_PAGE;
+                    page_params = "the";
+                }
+            }
+        }
+        return page_type;
+    }
+    
+    public String getPageParams () {
+        return page_params;
+    }
+    
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/GComboBox.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/GComboBox.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/GComboBox.java	(revision 21123)
@@ -0,0 +1,398 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.plaf.basic.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.util.Utility;
+
+/**
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class GComboBox
+    extends JComboBox {
+
+    private Color background = null;
+    private Color foreground = null;
+    private Color editable_background = null;
+    private Color editable_foreground = null;
+    private Color selection_background = null;
+    private Color selection_foreground = null;
+
+    private boolean sort_objects = true;
+
+    public GComboBox() {
+	super();
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
+	init();
+	setOpaque(!Utility.isMac());
+    }
+
+    public GComboBox(boolean editable) {
+	super();
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
+	setOpaque(!Utility.isMac());
+	setEditable(editable);
+	init();
+
+    }
+
+    public GComboBox(ArrayList data) {
+	super(data.toArray());
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
+	setOpaque(!Utility.isMac());
+	init();
+    }
+
+    public GComboBox(ArrayList data, boolean editable) {
+	super(data.toArray());
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
+	setOpaque(!Utility.isMac());
+	setEditable(editable);
+	init();
+    }
+
+    public GComboBox(ArrayList data, boolean editable, boolean sorted) {
+	super(data.toArray());
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
+	setOpaque(!Utility.isMac());
+	setEditable(editable);
+	setSorted(sorted);
+	init();
+    }
+
+    public GComboBox(ComboBoxModel model) {
+	super(model);
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
+	setOpaque(!Utility.isMac());
+	init();
+    }
+
+    public GComboBox(ComboBoxModel model, boolean editable) {
+	super(model);
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
+	setOpaque(!Utility.isMac());
+	setEditable(editable);
+	init();
+    }
+
+    public GComboBox(Object data[]) {
+	super(data);
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
+	setOpaque(!Utility.isMac());
+	init();
+    }
+
+    public GComboBox(Object data[], boolean editable) {
+	super(data);
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
+	setOpaque(!Utility.isMac());
+	setEditable(editable);
+	init();
+    }
+
+    public GComboBox(Object data[], boolean editable, boolean sorted) {
+	super(data);
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
+	setOpaque(!Utility.isMac());
+	setEditable(editable);
+	setSorted(sorted);
+	init();
+    }
+
+    public GComboBox(Vector data) {
+	super(data);
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
+	setOpaque(!Utility.isMac());
+	init();
+    }
+
+    public GComboBox(Vector data, boolean editable) {
+	super(data);
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
+	setOpaque(!Utility.isMac());
+	setEditable(editable);
+	init();
+    }
+
+    public void setSorted(boolean sort) {
+	sort_objects = sort;
+    }
+    public int add(Object object) {
+	if (dataModel instanceof Model) {
+	    return ((Model) dataModel).add(object);
+	}
+	else {
+	    return -1;
+	}
+    }
+
+    public Object get(int index) {
+	return dataModel.getElementAt(index);
+    }
+
+    public void clear() {
+	if (dataModel instanceof Model) {
+	    ((Model) dataModel).clear();
+	}
+    }
+
+    public void init() {
+	Model model = new Model();
+	ComboBoxModel old_model = (ComboBoxModel) getModel();
+	setModel(model);
+	setOpaque(true);
+
+	// Restore any data given into our model
+	for(int i = 0; i < old_model.getSize(); i++) {
+	    model.add(old_model.getElementAt(i));
+	}
+
+	// Change component
+	UI ui = new UI();
+	setUI(ui);
+	ui.setButtonBackground();
+
+	// Initialization
+	this.background = Configuration.getColor("coloring.collection_tree_background", false);
+	this.foreground = Configuration.getColor("coloring.collection_tree_foreground", false);
+	this.editable_background = Configuration.getColor("coloring.editable_background", false);
+	this.editable_foreground = Configuration.getColor("coloring.editable_foreground", false);
+	this.selection_background = Configuration.getColor("coloring.collection_selection_background", false);
+	this.selection_foreground = Configuration.getColor("coloring.collection_selection_foreground", false);
+	if (isEditable()) {
+	    this.setBackground(editable_background);
+	    this.setForeground(editable_foreground);
+	}
+	else {
+	    this.setBackground(background);
+	    this.setForeground(foreground);
+	}
+	setBorder(BorderFactory.createLoweredBevelBorder());
+	setRenderer(new Renderer());
+    }
+
+    /** Overridden to do nothing. 
+     * @param background
+     */
+    public void setBackground(Color background) {
+    }
+
+    public void setBackgroundEditableColor(Color editable_background) {
+	this.editable_background = editable_background;
+    }
+
+    public void setBackgroundNonSelectionColor(Color background) {
+	this.background = background;
+    }
+
+    public void setBackgroundSelectionColor(Color selection_background) {
+	this.selection_background = selection_background;
+    }
+
+    public void setEditable(boolean editable) {
+	setEditor(new Editor());
+	super.setEditable(editable);
+	if (isEditable()) {
+	    this.setBackground(editable_background);
+	    this.setForeground(editable_foreground);
+	}
+	else {
+	    this.setBackground(background);
+	    this.setForeground(foreground);
+	}
+    }
+
+    public void setTextEditableColor(Color editable_foreground) {
+	this.editable_foreground = editable_foreground;
+    }
+
+    public void setTextNonSelectionColor(Color foreground) {
+	this.foreground = foreground;
+    }
+
+    public void setTextSelectionColor(Color selection_foreground) {
+	this.selection_foreground = selection_foreground;
+    }
+
+
+    private class Editor
+	extends JTextField
+	implements ComboBoxEditor {
+	public Editor() {
+	    setOpaque(true);
+	    if (isEditable()) {
+		setBackground(editable_background);
+		setForeground(editable_foreground);
+	    }
+	    else {
+		setBackground(background);
+		setForeground(foreground);
+	    }
+	    setSelectionColor(selection_background);
+	    setSelectedTextColor(selection_foreground);
+	}
+
+	public Component getEditorComponent() {
+	    return this;
+	}
+
+	public Object getItem() {
+	    return getText();
+	}
+
+	public void setItem(Object item) {
+	    if(item != null) {
+		setText(item.toString());
+	    }
+	    else {
+		setText("");
+	    }
+	}
+    }
+
+    private class Model
+	extends DefaultComboBoxModel {
+	
+	
+	public int add(Object extension) {
+	    int position = 0;
+	    String extension_str = extension.toString().toLowerCase();
+	    while(extension != null && position < getSize()) {
+		String sibling = getElementAt(position).toString().toLowerCase();
+		int order = extension_str.compareTo(sibling);
+		// If we are now less than the sibling, insert here.
+		if(sort_objects && order < 0) {
+		    insertElementAt(extension, position);
+		    extension = null;
+		}
+		// We are equal to the sibling, thus we already exist in list. Done.
+		else if(order == 0) {
+		    extension = null;
+		}
+		// Continue searching.
+		else {
+		    position++;
+		}
+	    }
+	    if(extension != null) {
+		position = getSize();
+		addElement(extension);
+	    }
+	    return position;
+	}
+
+	public void clear() {
+	    removeAllElements();
+	}
+    }
+
+    private class Renderer
+	extends JLabel
+	implements ListCellRenderer {
+	public Renderer() {
+	    super("");
+	    this.setOpaque(true);
+            this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
+	}
+	public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
+	    if(value != null) {
+		this.setText(value.toString());
+	    }
+	    else {
+		this.setText("");
+	    }
+	    if(isSelected) {
+		this.setBackground(selection_background);
+		this.setForeground(selection_foreground);
+	    }
+	    else if (isEditable()) {
+		this.setBackground(editable_background);
+		this.setForeground(editable_foreground);
+	    }
+	    else {
+		this.setBackground(background);
+		this.setForeground(foreground);
+	    }
+	    return this;
+	}
+    }
+
+    private class UI
+	extends BasicComboBoxUI {
+	public UI() {
+	    super();
+	}
+
+	protected ComboPopup createPopup() {
+	    BasicComboPopup popup = new BasicComboPopup(comboBox);
+	    // ---- I don't know why this code is here... maybe it is needed for the Mac? ----
+// 	    {
+// 		    public void show() {
+// 			if(comboBox.getMaximumRowCount() > 0) {
+// 			    Dimension popupSize = new Dimension( comboBox.getWidth(), getPopupHeightForRowCount( comboBox.getMaximumRowCount()));
+// 			    Rectangle popupBounds = new Rectangle( 0, 0, popupSize.width, popupSize.height);
+// 			    scroller.setMaximumSize( popupBounds.getSize() );
+// 			    scroller.setPreferredSize( popupBounds.getSize() );
+// 			    scroller.setMinimumSize( popupBounds.getSize() );
+// 			    list.invalidate();
+// 			    int selectedIndex = comboBox.getSelectedIndex();
+// 			    if ( selectedIndex == -1 ) {
+// 				list.clearSelection();
+// 			    }
+// 			    else {
+// 				list.setSelectedIndex( selectedIndex );
+// 			    }
+// 			    list.ensureIndexIsVisible( list.getSelectedIndex() );
+// 			    setLightWeightPopupEnabled( comboBox.isLightWeightPopupEnabled() );
+// 			    show(arrowButton, arrowButton.getSize().width - (popupSize.width + 4), arrowButton.getSize().height);
+// 			}
+// 		    }
+// 		};
+	    popup.getAccessibleContext().setAccessibleParent(comboBox);
+	    return popup;
+	}
+
+	public void setButtonBackground() {
+		arrowButton.setBackground(Configuration.getColor("coloring.button_background", false));
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/GLIButton.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/GLIButton.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/GLIButton.java	(revision 21123)
@@ -0,0 +1,85 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import org.greenstone.gatherer.util.Utility;
+
+/** A button that knows whether it should paint itself as opaque or otherwise. */
+public class GLIButton
+    extends JButton {
+
+    public GLIButton() {
+	super();
+	setOpaque(!Utility.isMac());
+    }
+
+    public GLIButton(ImageIcon icon) {
+	super(icon);
+	setOpaque(!Utility.isMac());
+    }
+
+    public GLIButton(String title) {
+	super(title);
+	setOpaque(!Utility.isMac());
+    }
+
+    public GLIButton(String title, ImageIcon icon) {
+	super(title, icon);
+	setOpaque(!Utility.isMac());
+    }
+
+    public GLIButton(ImageIcon icon, String tooltip) {
+	super(icon);
+	setOpaque(!Utility.isMac());
+	setToolTipText(tooltip);
+    }
+    public GLIButton(String title, String tooltip) {
+	super(title);
+	setOpaque(!Utility.isMac());
+	setToolTipText(tooltip);
+    }
+
+    public GLIButton(String title, ImageIcon icon, String tooltip) {
+	super(title, icon);
+	setOpaque(!Utility.isMac());
+	setToolTipText(tooltip);
+    }
+
+   
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/GProgressBar.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/GProgressBar.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/GProgressBar.java	(revision 21123)
@@ -0,0 +1,207 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+
+import javax.swing.*;
+import org.greenstone.gatherer.Dictionary;
+
+
+/** A progress bar that doesn't pack a sad when you feed it longs (such as the sizes of files) which get mangled into negative numbers. I know how it feels, as I often have negative progress. Also tries to be efficent when updating the JProgressBar, so only updates when the value actually changes, which become necessary when you move a large number of files with millions of bytes (where upon shifting a file of a thousand bytes would be pretty insignificant, maybe not even a percent, but would fire several progress updates). 
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ */
+public class GProgressBar
+    extends JProgressBar
+{
+    private long cur_value = 0L;
+    private long max_value = 0L;
+
+    /** The previous percentage value. */
+    private int previous = -1;
+
+
+    public GProgressBar()
+    {
+	super(0, 100);
+        this.setComponentOrientation(Dictionary.getOrientation());
+    }
+
+
+    public void addMaximum(long amount)
+    {
+	if (amount > 0) {
+	    max_value = max_value + amount;
+	    update();
+	}
+    }
+
+
+    public void addValue(long amount)
+    {
+	if (amount > 0) {
+	    cur_value = cur_value + amount;
+	    update();
+	}
+    }
+
+
+    public void clear()
+    {
+ 	previous = -1;
+ 	update();
+    }
+
+
+    public void reset()
+    {
+ 	cur_value = 0L;
+ 	max_value = 0L;
+ 	previous = -1;
+ 	update();
+    }
+
+
+    public void setIndeterminate(boolean indeterminate)
+    {
+	SwingUtilities.invokeLater(new SafeSetIndeterminateTask(indeterminate));		  
+    }
+
+
+    public void setString(String label)
+    {
+	SwingUtilities.invokeLater(new SafeSetStringTask(label));
+    }
+
+
+    public void setMaximum(int value)
+    {
+	max_value = value;
+	update();
+    }
+
+	 
+    public void setValue(int value)
+    {
+	cur_value = value;
+	update();
+    }
+
+
+    /** Only bother updating the progress bar if the percentage has changed. */
+    private void update()
+    {
+	int percentage = -1;
+	if (cur_value == 0L || max_value == 0L) {
+	    percentage = 0;
+	}
+	else {
+	    long per_value = (cur_value * 100) / max_value;
+	    percentage = (int) per_value;
+	    if (percentage > 100) {
+		percentage = 100;
+	    }
+	}
+
+	if (percentage != previous) {
+	    previous = percentage;
+	    setString(percentage + "%");
+	    SwingUtilities.invokeLater(new SafeSetValueTask(percentage));
+	}
+    }
+
+
+    /** Internal class to call JProgressBar.setIndeterminate safely. */
+    private class SafeSetIndeterminateTask
+	implements Runnable
+    {
+	private boolean indeterminate;
+
+	public SafeSetIndeterminateTask(boolean indeterminate)
+	{
+	    this.indeterminate = indeterminate;
+	}
+
+	public void run()
+	{
+	    unsafeSetIndeterminate(indeterminate);
+	}
+    }
+
+    /** This method is unsafe, -unless- it is called from the Event Queue (eg. from SafeSetIndeterminateTask). */
+    private void unsafeSetIndeterminate(boolean indeterminate)
+    {
+	super.setIndeterminate(indeterminate);
+    }
+
+
+    /** Internal class to call JProgressBar.setString safely. */
+    private class SafeSetStringTask
+	implements Runnable
+    {
+	private String label;
+
+	public SafeSetStringTask(String label)
+	{
+	    this.label = label;
+	}
+
+	public void run()
+	{
+	    unsafeSetString(label);
+	}
+    }
+
+    /** This method is unsafe, -unless- it is called from the Event Queue (eg. from SafeSetStringTask). */
+    private void unsafeSetString(String label)
+    {
+	super.setString(label);
+    }
+
+
+    /** Internal class to call JProgressBar.setValue safely. */
+    private class SafeSetValueTask
+	implements Runnable
+    {
+	private int value;
+
+	public SafeSetValueTask(int value)
+	{
+	    this.value = value;
+	}
+
+	public void run()
+	{
+	    unsafeSetValue(value);
+	}
+    }
+
+    /** This method is unsafe, -unless- it is called from the Event Queue (eg. from SafeSetValueTask). */
+    private void unsafeSetValue(int value)
+    {
+	super.setValue(value);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/GUIManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/GUIManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/GUIManager.java	(revision 21123)
@@ -0,0 +1,992 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.datatransfer.*;
+import java.awt.event.*;
+import java.io.File;
+import java.lang.*;
+import java.net.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.filechooser.*;
+import javax.swing.plaf.*;
+import javax.swing.text.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.Collection;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.file.FileOpenActionListener;
+import org.greenstone.gatherer.file.WorkspaceTree;
+import org.greenstone.gatherer.gui.metaaudit.MetaAuditFrame;
+import org.greenstone.gatherer.gui.tree.DragTree;
+import org.greenstone.gatherer.metadata.MetadataSet;
+import org.greenstone.gatherer.metadata.MetadataXMLFileManager;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.greenstone.gatherer.util.JarTools;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+
+/** The GUIManager is in charge of creating the Gatherer window frame then filling it with the goodness of the view panes. GUIManager not only creates these panes, but allows some messaging between them. Furthermore GUIManager includes functionality from menu driven choices, simply as it was easier to put it here once and have it accessible from all pane children. */
+public class GUIManager
+    extends JFrame
+    implements ActionListener, ChangeListener,  WindowFocusListener{
+    /** The download pane contains controls for downloading internet sites. */
+    public DownloadPane download_pane = null;
+    /** The gather pane is more like a file manager where you drag files from one tree to another. */
+    public GatherPane gather_pane = null;
+    /** The enrich pane is used to assign, edit and remove metadata from files within the collection. */
+    public EnrichPane enrich_pane = null;
+    /** The design pane allows you to edit the design of the library in terms of the collection configuration file. - the stuff that requires rebuilding */
+    public DesignPane design_pane = null;
+    /** The create pane contains scripting options for importing and building collections into libraries. */
+    public CreatePane create_pane = null;
+    /** The format pane allows you to edit the design of the library in terms of the collection configuration file. - the stuff that doesn't require rebuilding */
+    public FormatPane format_pane = null;
+    
+    public FileOpenActionListener foa_listener = new FileOpenActionListener();
+
+
+    /** A reference to the currently instantiated help window, if any. */
+    private HelpFrame help = null;
+    /** The menu bar. */
+    public MenuBar menu_bar = null;
+    public MetaAuditFrame meta_audit;
+    /** Are certain panes currently locked? */
+    private boolean locked = false;
+    /** The size of the Gatherer window. */
+    private Dimension size = null;
+    /** The panel within the window that other components are placed on. */
+    private JPanel content_pane = null;
+    /** The last view pane selected. */
+    private JPanel previous_pane;
+    /** The main tab pane containing the different views, available here to trap view change events. */
+    private JTabbedPane tab_pane = null;
+    /** A threaded tab changer to try and avoid NPE on exit. */
+    private TabUpdater tab_updater = null;
+
+
+
+
+
+  final static String newline = "\n";
+    final static String space = "    ";
+   
+
+    /**Constructor. Enable window events and arranges all other components.
+     * @param size The intial <strong>Dimension</strong> of the screen.
+     */
+    public GUIManager(Dimension size) {
+	super();
+        this.setComponentOrientation(Dictionary.getOrientation());
+	// Initialization
+	this.help = new HelpFrame();
+	this.size = size;
+	
+	this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
+
+	// Add a focus listener to ourselves. Thus if we gain focus when a Modal Dialog should instead have it, we can try to bring the modal dialog to the fore.
+	this.addFocusListener(new GLIGUIFocusListener());
+
+	this.addWindowFocusListener(this);
+     
+	// Make the Tool tip hang around for a rediculous amount of time.
+	ToolTipManager.sharedInstance().setDismissDelay(10000);
+
+	// Set up some other UI stuff. (fonts handled in Gatherer.main())
+	UIManager.put("FileChooser.lookInLabelText", Dictionary.get("SaveCollectionBox.Look_In"));
+	UIManager.put("FileChooser.filesOfTypeLabelText", Dictionary.get("SaveCollectionBox.Files_Of_Type"));
+	UIManager.put("FileChooser.fileNameLabelText", Dictionary.get("SaveCollectionBox.File_Name"));
+    }
+
+
+    public void windowGainedFocus(WindowEvent e)
+    {
+    }
+
+
+    public void windowLostFocus(WindowEvent e)
+    {
+	// Save the loaded collection
+	if (Gatherer.c_man != null && Gatherer.c_man.ready() && Gatherer.c_man.getCollection().cdm != null) {
+	    Gatherer.c_man.saveCollection();
+	}
+    }
+
+
+    private class GLIGUIFocusListener
+	extends FocusAdapter {
+	public void focusGained(FocusEvent e) {
+            if (ModalDialog.current_modal != null) {
+		ModalDialog.current_modal.makeVisible();
+		ModalDialog.current_modal.toFront();
+	    }
+	}
+    }
+
+    /** Any implementation of <i>ActionListener</i> must include this method so that we can be informed when an action has occured. In this case we are listening to actions from the menu-bar, and should react appropriately.
+     * @param event An <strong>ActionEvent</strong> containing information about the action that has occured.
+     */
+    public void actionPerformed(ActionEvent event) {
+	Object esrc = event.getSource();
+	// *************
+	// File Options.
+	// *************
+	if (esrc == menu_bar.file_associations) {
+	    Gatherer.assoc_man.edit();
+	}
+	else if (esrc == menu_bar.file_close) {
+	    saveThenCloseCurrentCollection();
+	}
+	else if (esrc == menu_bar.file_delete) {
+	    new DeleteCollectionTask().start();
+	}
+	else if (esrc == menu_bar.file_cdimage) {
+	    WriteCDImagePrompt wcdip = new WriteCDImagePrompt();
+	    wcdip.display();
+	    wcdip.destroy();
+	    wcdip = null;
+	}
+	else if (esrc == menu_bar.file_exportas) {
+	    ExportAsPrompt eap = new ExportAsPrompt();
+	    eap.display();
+	    eap.destroy();
+	    eap = null;
+	}
+	else if (esrc == menu_bar.file_exit) {
+	    exit();
+	}
+        else if (esrc == menu_bar.file_new) {
+	    new NewCollectionTask().start();
+	}
+	else if (esrc == menu_bar.file_open) {
+	    new OpenCollectionTask().start();
+	}
+	else if (esrc == menu_bar.file_options) {
+	    new Preferences();
+	}
+	else if (esrc == menu_bar.file_save) {
+	  // Very important: make sure metadata values are saved too
+	  enrich_pane.stopEditingAndRebuild();
+	  // Make sure all the metadata has been saved to file
+	  MetadataXMLFileManager.saveMetadataXMLFiles();
+	  
+	  Gatherer.c_man.saveCollection();
+	}
+
+	// *************
+	// Edit Options.
+	// *************
+	else if(esrc == menu_bar.edit_copy) {
+	    try {
+		KeyboardFocusManager kfm = KeyboardFocusManager.getCurrentKeyboardFocusManager();
+		// Get the component with selected text as a JTextComponent
+		JTextComponent text = (JTextComponent) kfm.getPermanentFocusOwner();//getFocusOwner();
+		text.copy();
+	    }
+	    catch (Exception cce) {
+		// If the component is not a text component ignore the copy command
+		DebugStream.println(cce.toString());
+	    }
+	}
+	else if(esrc == menu_bar.edit_cut) {
+	    try {
+		KeyboardFocusManager kfm = KeyboardFocusManager.getCurrentKeyboardFocusManager();
+		// Get the component with selected text as a JTextComponent
+		JTextComponent text = (JTextComponent) kfm.getPermanentFocusOwner();
+		// Cut the text to the clipboard
+		text.cut();
+	    }
+	    catch (ClassCastException cce) {
+		// If the component is not a text component ignore the cut command
+		DebugStream.println(cce.toString());
+	    }
+	}
+	else if(esrc == menu_bar.edit_paste) {
+	    try {
+		KeyboardFocusManager kfm = KeyboardFocusManager.getCurrentKeyboardFocusManager();
+		// Get the component with selected text as a JTextComponent
+		JTextComponent text = (JTextComponent) kfm.getPermanentFocusOwner();
+		// Cut the text to the clipboard
+		text.paste();
+	    }
+	    catch (ClassCastException cce) {
+		// If the component is not a text component ignore the paste command
+		DebugStream.println(cce.toString());
+	    }
+	}
+
+	// *************
+	// Help Options.
+	// *************
+	else if (esrc == menu_bar.help_general) {
+	    HelpFrame.setView("introduction");
+	}
+	else if (esrc == menu_bar.help_download) {
+	    HelpFrame.setView("themirrorview");
+	}
+	else if (esrc == menu_bar.help_gather) {
+	    HelpFrame.setView("collectingfiles");
+	}
+	else if (esrc == menu_bar.help_enrich) {
+	    HelpFrame.setView("enrichingacollection");
+	}
+	else if (esrc == menu_bar.help_design) {
+	    HelpFrame.setView("designingacollection");
+	}
+	else if (esrc == menu_bar.help_create) {
+	    HelpFrame.setView("producingthecollection");
+	}
+	else if (esrc == menu_bar.help_format) {
+	    HelpFrame.setView("formattingacollection");
+	}
+	else if (esrc == menu_bar.help_about) {
+	    new AboutDialog(this);
+	}
+    }
+
+
+    /** Any actions that should happen after the display of the Gatherer window can be called here. Currently only updates the browser pane if it is active to work around bug in Mozilla renderer implementation.
+     */
+    public void afterDisplay() {
+	if (download_pane != null) {
+	    download_pane.afterDisplay();
+	}
+	enrich_pane.afterDisplay();
+    }
+
+
+    public void closeCurrentCollection()
+    {
+	tab_pane.setSelectedComponent(gather_pane);
+	Gatherer.c_man.closeCollection();
+    }
+
+
+    public void saveThenCloseCurrentCollection()
+    {
+   	Gatherer.c_man.saveCollection();
+	closeCurrentCollection();
+    }
+
+
+    /** This is called when we're absolutely finished with the GLI. It is *not* called when the applet is suspended.
+     */
+    public void destroy()
+    {
+	// Destroying create pane ensures the latest log has been closed
+	if (create_pane != null) {
+	    create_pane.destroy();
+	}
+
+	// Deal to help
+	if (help != null) {
+	    help.destroy();
+	    help = null;
+	}
+    }
+
+
+    /** Enabled events on the window to be trapped, creates all the visual components, then builds the tab and other layouts.
+     */
+    public void display() {
+	content_pane = (JPanel) this.getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+
+	// Enable window-type events to be fired.
+	enableEvents(AWTEvent.WINDOW_EVENT_MASK);
+	// Initialise and layout sub-components, plus other window dressing.
+	try {
+	    this.setSize(size);
+
+	    // Set the title
+	    String collection_title = null;
+	    String collection_name = null;
+	    if (Gatherer.c_man.ready()) {
+		Collection collection = Gatherer.c_man.getCollection();
+		collection_title = collection.getTitle();
+		collection_name = collection.getGroupQualifiedName(true);
+		collection = null;
+	    }
+	    setTitle(collection_title, collection_name);
+	    collection_title = null;
+	    collection_name = null;
+
+	    // Pretty corner icon
+	    String gsmall_image = "gatherer_small.gif";
+	    if (Configuration.fedora_info.isActive()) {
+		gsmall_image = "fli-" + gsmall_image;
+	    }
+	    this.setIconImage(JarTools.getImage(gsmall_image).getImage());
+	    // BorderLayout for the main screen. I'll try my best to avoid these in subcomponents as they're space greedy.
+	    content_pane.setLayout(new BorderLayout());
+	    // Create the menu-bar and stick it up the top.
+	    menu_bar = new MenuBar(new MenuListenerImpl());
+            menu_bar.setComponentOrientation(Dictionary.getOrientation());
+
+	    //feedback changes
+	    //content_pane.add(menu_bar, BorderLayout.NORTH);
+	    this.setJMenuBar(menu_bar);
+	    // end feedback changes
+
+	    // Create the tabbed pane and plop it in the center where it will
+	    // expand to consume all available space like any good gas would.
+	    tab_pane = new JTabbedPane();
+            tab_pane.setComponentOrientation(Dictionary.getOrientation());
+	    tab_pane.addChangeListener(this);
+	    tab_pane.setFont(Configuration.getFont("general.font", false));
+
+	    if (Configuration.get("workflow.download", true) && Gatherer.isDownloadEnabled) {
+		download_pane = new DownloadPane();
+		// "GUI.Download_Tooltip" is used automatically
+		tab_pane.addTab(Dictionary.get("GUI.Download"), JarTools.getImage("download.gif"), download_pane, Dictionary.get("GUI.Download_Tooltip"));
+		tab_pane.setEnabledAt(tab_pane.indexOfComponent(download_pane), Configuration.get("workflow.download", false));
+	    }
+
+	    gather_pane = new GatherPane();          
+	    gather_pane.display();
+	    if (Configuration.get("workflow.gather", true)) {
+		// "GUI.Gather_Tooltip" is used automatically
+		tab_pane.addTab(Dictionary.get("GUI.Gather"), JarTools.getImage("gather.gif"), gather_pane, Dictionary.get("GUI.Gather_Tooltip"));
+		tab_pane.setEnabledAt(tab_pane.indexOfComponent(gather_pane), Configuration.get("workflow.gather", false));
+	    }
+
+	    enrich_pane = new EnrichPane();
+	    enrich_pane.display();
+	    if (Configuration.get("workflow.enrich", true)) {
+		// "GUI.Enrich_Tooltip" is used automatically
+		tab_pane.addTab(Dictionary.get("GUI.Enrich"), JarTools.getImage("enrich.gif"), enrich_pane, Dictionary.get("GUI.Enrich_Tooltip"));
+		tab_pane.setEnabledAt(tab_pane.indexOfComponent(enrich_pane), false);
+	    }
+
+	    design_pane = new DesignPane();
+	    design_pane.display();
+	    if (Configuration.get("workflow.design", true)) {
+		// "GUI.Design_Tooltip" is used automatically
+		if (Configuration.fedora_info.isActive()) {
+		    tab_pane.addTab("Plugins", JarTools.getImage("design.gif"), design_pane, Dictionary.get("GUI.Design_Tooltip"));
+		}
+		else {
+		    tab_pane.addTab(Dictionary.get("GUI.Design"), JarTools.getImage("design.gif"), design_pane, Dictionary.get("GUI.Design_Tooltip"));
+		}
+
+		tab_pane.setEnabledAt(tab_pane.indexOfComponent(design_pane), false);
+	    }
+
+	    create_pane = new CreatePane();
+            create_pane.setComponentOrientation(Dictionary.getOrientation());
+	    create_pane.display();
+	    if (Configuration.get("workflow.create", true)) {
+		// "GUI.Create_Tooltip" is used automatically
+		tab_pane.addTab(Dictionary.get("GUI.Create"), JarTools.getImage("create.gif"), create_pane, Dictionary.get("GUI.Create_Tooltip"));
+		tab_pane.setEnabledAt(tab_pane.indexOfComponent(create_pane), false);
+	    }
+
+	    format_pane = new FormatPane();
+            format_pane.setComponentOrientation(Dictionary.getOrientation());
+	    format_pane.display();
+	    if (Configuration.get("workflow.format", true)) {
+		tab_pane.addTab(Dictionary.get("GUI.Format"), JarTools.getImage("format.gif"), format_pane, Dictionary.get("GUI.Format_Tooltip"));
+		tab_pane.setEnabledAt(tab_pane.indexOfComponent(format_pane), false);
+	    }
+	    
+	    // The MetaAuditFrame must be created after the gather/enrich panes but before they get focus
+	    meta_audit = new MetaAuditFrame();
+            meta_audit.setComponentOrientation(Dictionary.getOrientation());
+	    // Select the collect pane if it is available
+	    if (tab_pane.indexOfComponent(gather_pane) != -1) {
+		tab_pane.setSelectedComponent(gather_pane);
+	    }
+	    // Otherwise find the first tab that is enabled and select that.
+	    else {
+		for (int i = 0; i < tab_pane.getTabCount(); i++) {
+		    if (tab_pane.isEnabledAt(i)) {
+			tab_pane.setSelectedIndex(i);
+			break;
+		    }
+		}
+	    }
+
+	    content_pane.add(tab_pane, BorderLayout.CENTER);
+
+	    // Add an extra progress bar at the bottom of every screen when using a remote Greenstone server
+	    if (Gatherer.isGsdlRemote) {
+		JPanel remote_greenstone_server_progress_panel = new JPanel();
+               //remote_greenstone_server_progress_panel.setComponentOrientation(Dictionary.getOrientation());
+		JLabel remote_greenstone_server_progress_label = new JLabel(Dictionary.get("RemoteGreenstoneServer.Progress"));
+                //remote_greenstone_server_progress_label.setComponentOrientation(Dictionary.getOrientation());
+		remote_greenstone_server_progress_panel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+		remote_greenstone_server_progress_panel.setLayout(new BorderLayout());
+		remote_greenstone_server_progress_panel.add(remote_greenstone_server_progress_label, BorderLayout.LINE_START);
+		remote_greenstone_server_progress_panel.add(Gatherer.remoteGreenstoneServer.getProgressBar(), BorderLayout.CENTER);
+		content_pane.add(remote_greenstone_server_progress_panel, BorderLayout.SOUTH);
+	    }
+
+	    // Call refresh to update all controls to reflect current collection status.
+	    refresh(-1, Gatherer.c_man.ready());
+	}
+	catch (Exception e) {
+	    DebugStream.printStackTrace(e);
+	    // The GUI failing to build is an app killer
+	    e.printStackTrace();
+	    System.exit(1);
+	}
+    }
+
+    public void exit() 
+    {
+	exit(0);
+    }
+	
+  // some cases we have already saved the collection, but don't want to 
+  // override the general.open_collection value here
+  public void exitNoCollectionSave(int exit_status) {
+	// Store the current position and size of the GLI for next time
+	Configuration.setBounds("general.bounds", true, getBounds());
+
+	// Save configuration
+	Configuration.save();
+
+	// Hide the main window
+	setVisible(false);
+
+	// If we're running as an applet we don't quit here (we quit when the browser calls GathererApplet.destroy())
+	if (!Gatherer.isApplet) {
+	    Gatherer.exit(exit_status);
+	}
+
+  }
+    /** This method ensures that all the things needing saving are saved before Gatherer.exit() is called.
+     */
+    public void exit(int exit_status)
+    {
+	// If we have a collection open remember it for next time, then save it and close it
+	if (Gatherer.c_man.ready()) {
+	    Configuration.setString("general.open_collection"+Configuration.gliPropertyNameSuffix(), 
+				    true, CollectionManager.getLoadedCollectionColFilePath());
+	    saveThenCloseCurrentCollection();
+	}
+	else {
+	    Configuration.setString("general.open_collection"+Configuration.gliPropertyNameSuffix(), true, null);
+	}
+
+	// Store the current position and size of the GLI for next time
+	Configuration.setBounds("general.bounds", true, getBounds());
+
+	// Save configuration
+	Configuration.save();
+
+	// Hide the main window
+	setVisible(false);
+
+	// If we're running as an applet we don't quit here (we quit when the browser calls GathererApplet.destroy())
+	if (!Gatherer.isApplet) {
+	    Gatherer.exit(exit_status);
+	}
+    }
+
+
+    /** This method is called when the collection is being built, and is used to disable all controls in all pane which could change the state of the collection.
+     */
+    public void lockCollection(boolean import_stage, boolean lock)
+    {
+	locked = lock;
+
+	if (import_stage) {
+	    int gather_pos = tab_pane.indexOfComponent(gather_pane);
+	    if (gather_pos != -1) {
+		tab_pane.setEnabledAt(gather_pos, !lock);
+	    }
+	    int enrich_pos = tab_pane.indexOfComponent(enrich_pane);
+	    if (enrich_pos != -1) {
+		tab_pane.setEnabledAt(enrich_pos, !lock);
+	    }
+	}
+
+	int design_pos = tab_pane.indexOfComponent(design_pane);
+	if (design_pos != -1) {
+	    tab_pane.setEnabledAt(design_pos, !lock);
+	}
+    }
+
+
+    public void modeChanged(int mode) {
+	// Set the title
+	String collection_title = null;
+	String collection_name = null;
+	if (Gatherer.c_man.ready()) {
+	    Collection collection = Gatherer.c_man.getCollection();
+	    collection_title = collection.getTitle();
+	    collection_name = collection.getGroupQualifiedName(true);
+	    collection = null;
+	}
+	setTitle(collection_title, collection_name);
+	collection_title = null;
+	collection_name = null;
+	// Now pass on the message to anyone who cares
+	if (download_pane != null) {
+	    download_pane.modeChanged(mode);
+	}
+	if (gather_pane != null) {
+	    gather_pane.modeChanged(mode);
+	}
+	if (enrich_pane != null) {
+	    enrich_pane.modeChanged(mode);
+	}
+	if (design_pane != null) {
+	    design_pane.modeChanged(mode);
+	}
+	if (create_pane != null) {
+	    create_pane.modeChanged(mode);
+	}
+	if (format_pane != null) {
+	    format_pane.modeChanged(mode);
+	}
+    }
+
+
+    public void refresh(int refresh_reason, boolean collection_loaded)
+    {
+	// Set the collection information in the title bar
+	if (collection_loaded) {
+	    Collection collection = Gatherer.c_man.getCollection();
+	    setTitle(collection.getTitle(), collection.getGroupQualifiedName(true));
+	}
+	else {
+	    setTitle(null, null);
+	}
+
+	// Update the menu bar
+	menu_bar.refresh(refresh_reason, collection_loaded);
+
+	// Update the loaded panes
+	if (download_pane != null) {
+	    download_pane.refresh(refresh_reason, collection_loaded);
+	}
+	if (gather_pane != null) {
+	    gather_pane.refresh(refresh_reason, collection_loaded);
+	}
+	if (enrich_pane != null) {
+	    enrich_pane.refresh(refresh_reason, collection_loaded);
+	}
+	if (design_pane != null) {
+	    design_pane.refresh(refresh_reason, collection_loaded);
+	}
+	if (create_pane != null) {
+	    create_pane.refresh(refresh_reason, collection_loaded);
+	}
+	if (format_pane != null) {
+	    format_pane.refresh(refresh_reason, collection_loaded);
+	}
+
+	// Now enable tabs as necessary. Do this on event queue to prevent crazy NPEs
+	if (!locked) {
+	    if (tab_updater == null) {
+		tab_updater = new TabUpdater(tab_pane, collection_loaded);
+	    }
+	    else {
+		tab_updater.setReady(collection_loaded);
+	    }
+	    SwingUtilities.invokeLater(tab_updater);
+	}
+    }
+
+
+    public void refreshCollectionTree(int refresh_reason)
+    {
+	if (gather_pane != null) {
+	    gather_pane.refreshCollectionTree(refresh_reason);
+	}
+    }
+
+
+    public void refreshWorkspaceTree(int refresh_reason)
+    {
+	if (gather_pane != null) {
+	    gather_pane.refreshWorkspaceTree(refresh_reason);
+	}
+    }
+
+
+    /** Specifies whether a certain tab is enabled or not. */
+    private void setTabEnabled(String rawname, boolean state) {
+	// Retrieve the dictionary based name.
+	String name = Dictionary.get("GUI." + rawname);
+	int index = tab_pane.indexOfTab(name);
+	// Of course we may not have this tab available.
+	if(index != -1) {
+	    // Some tabs are also dependant on if a collection is ready
+	    Component component = tab_pane.getComponentAt(index);
+	    if(component == enrich_pane || component == design_pane || component == create_pane || component == format_pane) {
+		tab_pane.setEnabledAt(index, state && Gatherer.c_man != null && Gatherer.c_man.ready());
+	    }
+	    else {
+		tab_pane.setEnabledAt(index, state);
+	    }
+	    // If this was the currently selected tab and it is now disabled, change the view to the first enabled tab.
+	    if(tab_pane.getSelectedIndex() == index && !state) {
+		boolean found = false;
+		for(int i = 0; !found && i < tab_pane.getTabCount(); i++) {
+		    if(tab_pane.isEnabledAt(i)) {
+			tab_pane.setSelectedIndex(i);
+			found = true;
+		    }
+		}
+		// If there are no tabs enabled, which should be impossible, then select the first tab
+		if(!found) {
+		    tab_pane.setSelectedIndex(0);
+		}
+	    }
+	}
+    }
+
+    /** Change the string shown in the title bar of the main gui frame. If either value is null, the 'No Collection' string is shown instead.
+     * @param title
+     * @param name
+     */
+    public void setTitle(String title, String name) {
+      
+	// Finally display the collection name in the title bar.
+	StringBuffer title_buffer = new StringBuffer(Configuration.getApplicationTitle());
+	title_buffer.append(StaticStrings.SPACE_CHARACTER);
+	title_buffer.append(Gatherer.PROGRAM_VERSION);
+	title_buffer.append(StaticStrings.SPACE_CHARACTER);
+	title_buffer.append(StaticStrings.SPACE_CHARACTER);
+	// Server version information
+	title_buffer.append(Gatherer.getServerVersionAsString());
+	title_buffer.append(StaticStrings.SPACE_CHARACTER);
+	title_buffer.append(StaticStrings.SPACE_CHARACTER);	
+	// Describe the current user mode
+	title_buffer.append(StaticStrings.MODE_STR);
+	title_buffer.append(Configuration.getModeAsString());
+	title_buffer.append(StaticStrings.SPACE_CHARACTER);
+	title_buffer.append(StaticStrings.SPACE_CHARACTER);
+	// Now for the current collection
+	title_buffer.append(StaticStrings.COLLECTION_STR);
+	if (title != null && name != null) {
+	    title_buffer.append(title);
+	    title_buffer.append(StaticStrings.SPACE_CHARACTER);
+	    title_buffer.append(StaticStrings.OPEN_PARENTHESIS_CHARACTER);
+	    title_buffer.append(name);
+	    title_buffer.append(StaticStrings.CLOSE_PARENTHESIS_CHARACTER);
+	}
+	else {
+	    title_buffer.append(Dictionary.get("Collection.No_Collection"));
+	}
+	this.setTitle(title_buffer.toString());
+	title_buffer = null;
+    }
+
+
+    private class OpenCollectionTask
+        extends Thread
+    {
+	public void run()
+	{
+	    String collection_file_path = showOpenCollectionDialog();
+
+	    // User has selected a collection to open
+	    if (collection_file_path != null) {
+		// If there is already a collection open, save and close it
+		if (Gatherer.c_man.ready()) {
+		    saveThenCloseCurrentCollection();
+		}
+
+		// Open the selected collection
+		Gatherer.c_man.loadCollection(collection_file_path);
+	    }
+	}
+    }
+
+
+    /** When the load collection option is chosen this method is called to produce the modal file load prompt.
+     */
+    private String showOpenCollectionDialog()
+    {
+	OpenCollectionDialog dialog = new OpenCollectionDialog();
+        dialog.setComponentOrientation(Dictionary.getOrientation());
+	if (dialog.display() == OpenCollectionDialog.OK_OPTION) {
+	    return dialog.getFileName();
+	}
+
+	// User must have cancelled the action
+	return null;
+    }
+
+
+    /** When called this method causes the MetadataAuditTable to display a nice dialog box which contains all the metadata assigned in the collection.
+     */
+    public void showMetaAuditBox() {
+	wait(true);
+	meta_audit.display();
+	wait(false);
+    }
+
+
+    private class NewCollectionTask
+	extends Thread
+    {
+	public void run()
+	{
+	    // Create the collection details prompt from new collection prompt
+	    NewCollectionDetailsPrompt ncd_prompt = new NewCollectionDetailsPrompt();
+
+	    // Create the new collection (if not cancelled) in a new thread.
+	    if (!ncd_prompt.isCancelled()) {
+		// If there is already a collection open, save and close it.
+		if (Gatherer.c_man.ready()) {
+		    saveThenCloseCurrentCollection();
+		}
+		
+		// Create new collection.
+		Gatherer.c_man.createCollection(ncd_prompt.getDescription(), Configuration.getEmail(), ncd_prompt.getName(), ncd_prompt.getTitle(), ncd_prompt.getBase(), new ArrayList());
+		ncd_prompt.dispose();
+	    }
+
+	    // Done
+	    ncd_prompt = null;
+	}
+    }
+
+
+    private class DeleteCollectionTask
+	extends Thread
+    {
+	public void run()
+	{
+	    // The rest is handled by the DeleteCollectionPrompt
+	    DeleteCollectionPrompt dc_prompt = new DeleteCollectionPrompt();
+	    if (dc_prompt.display()) {
+		//closeCurrentCollection();
+	    }
+	    dc_prompt.destroy();
+	    dc_prompt = null;
+	}
+    }
+
+
+    /** Any implementation of ChangeListener must include this method so we can be informed when the state of one of the registered objects changes. In this case we are listening to view changes within the tabbed pane.
+     * @param event A ChangeEvent containing information about the event that fired this call.
+     */
+    public void stateChanged(ChangeEvent event)
+    {
+	if (previous_pane != null) {
+	    if (previous_pane == gather_pane) {
+		gather_pane.loseFocus();
+	    }
+	    else if (previous_pane == enrich_pane) {
+		enrich_pane.loseFocus();
+	    }
+	    else if (previous_pane == design_pane) {
+		design_pane.loseFocus();
+	    }
+	    else if (previous_pane == create_pane) {
+		create_pane.loseFocus();
+	    }
+	    else if (previous_pane == format_pane) {
+		format_pane.loseFocus();
+	    }
+	}
+
+	menu_bar.tabSelected(tab_pane.getSelectedIndex());
+	int selected_index = tab_pane.getSelectedIndex();
+	if (selected_index == tab_pane.indexOfComponent(download_pane)) {
+	    download_pane.gainFocus();
+	}
+	else if (selected_index == tab_pane.indexOfComponent(gather_pane)) {
+	    gather_pane.gainFocus();
+	}
+	else if (selected_index == tab_pane.indexOfComponent(enrich_pane)) {
+	    enrich_pane.gainFocus();
+	}
+	else if (selected_index == tab_pane.indexOfComponent(design_pane)) {
+	    design_pane.gainFocus();
+	}
+	else if (selected_index == tab_pane.indexOfComponent(create_pane)) {
+	    create_pane.gainFocus();
+	}
+	else if (selected_index == tab_pane.indexOfComponent(format_pane)) {
+	    format_pane.gainFocus();
+	}
+
+	previous_pane = (JPanel) tab_pane.getSelectedComponent();
+	
+    }
+
+
+    private MouseListener mouse_blocker_listener = new MouseAdapter() {};
+
+    public void updateUI()
+    {
+	JPanel pane = (JPanel) getContentPane();
+	pane.updateUI();
+	// Also update all of the tabs according to workflow.
+	workflowUpdate("Download", Configuration.get("workflow.download", false));
+	workflowUpdate("Gather", Configuration.get("workflow.gather", false));
+	workflowUpdate("Enrich", Configuration.get("workflow.enrich", false));
+	workflowUpdate("Design", Configuration.get("workflow.design", false));
+	workflowUpdate("Create", Configuration.get("workflow.create", false));
+	workflowUpdate("Format", Configuration.get("workflow.format", false));
+    }
+
+    public void wait(boolean waiting) {
+	Component glass_pane = getGlassPane();
+	if(waiting) {
+	    // Show wait cursor.
+	    glass_pane.addMouseListener(mouse_blocker_listener);
+	    glass_pane.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+	    glass_pane.setVisible(true);
+	}
+	else {
+	    // Hide wait cursor.
+	    glass_pane.setVisible(false);
+	    glass_pane.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+	    glass_pane.removeMouseListener(mouse_blocker_listener);
+	}
+	glass_pane = null;
+    }
+
+    public void workflowUpdate(String raw, boolean state) {
+	WorkflowUpdater task = new WorkflowUpdater(raw, state);
+	SwingUtilities.invokeLater(task);
+	task = null;
+    }
+
+
+    /**Overridden from JFrame so we can exit safely when window is closed (or destroyed).
+     * @param event A <strong>WindowEvent</strong> containing information about the event that fired this call.
+     */
+    protected void processWindowEvent(WindowEvent event) {
+	if(event.getID() == WindowEvent.WINDOW_CLOSING) {
+	    exit();
+	}
+    }
+
+
+    /** Listens to actions upon the menu bar, and if it detects a click over the help menu brings the help window to the front if it has become hidden.
+     */
+    private class MenuListenerImpl
+	implements MenuListener {
+	/** Called whenever a popup menu is hidden, but we don't care.
+	 * @param e Some <strong>MenuEvent</strong> that we could care less about.
+	 */
+	public void menuCanceled(MenuEvent e) {
+	}
+	/** Called whenever a menu header (ie button) becomes unselected, but we don't care.
+	 * @param e Some <strong>MenuEvent</strong> that we could care less about.
+	 */
+	public void menuDeselected(MenuEvent e) {
+	}
+	/** This method, when a menu is first opened, is the only one we respond to by bringing the help window to the front if possible, but only if there is a help window and the help menu is the one opening.
+	 * @param e The <strong>MenuEvent</strong> whose source is checked.
+	 */
+	public void menuSelected(MenuEvent e) {
+	    if(e.getSource() == menu_bar.help) {
+		if(menu_bar.help.isSelected()) {
+		    menu_bar.help.doClick(10);
+		}
+	    }
+	}
+    }
+
+    private class TabUpdater
+	implements Runnable {
+	private boolean ready = false;
+	private int download_pos = -1;
+	private int enrich_pos = -1;
+	private int design_pos = -1;
+	private int create_pos = -1;
+	private int format_pos = -1;
+	private int export_pos = -1;
+	private JTabbedPane tab_pane = null;
+
+	public TabUpdater(JTabbedPane tab_pane, boolean ready) {
+	    this.ready = ready;
+	    this.tab_pane = tab_pane;
+	    download_pos = tab_pane.indexOfComponent(download_pane);
+	    enrich_pos = tab_pane.indexOfComponent(enrich_pane);
+	    design_pos = tab_pane.indexOfComponent(design_pane);
+	    create_pos = tab_pane.indexOfComponent(create_pane);
+	    format_pos = tab_pane.indexOfComponent(format_pane);
+	}
+
+	public void run()
+	{
+	    if (download_pos != -1) {
+		if (ready) {
+		    tab_pane.setEnabledAt(download_pos, Configuration.get("workflow.download", false));
+		}
+		else {
+		    tab_pane.setEnabledAt(download_pos, Configuration.get("workflow.download", true));
+		}
+	    }
+	    if (enrich_pos != -1) {
+		tab_pane.setEnabledAt(enrich_pos, ready && Configuration.get("workflow.enrich", false));
+	    }
+	    if (design_pos != -1) {
+		tab_pane.setEnabledAt(design_pos, ready && Configuration.get("workflow.design", false) && Configuration.getMode() > Configuration.ASSISTANT_MODE);
+	    }
+	    if (create_pos != -1) {
+		tab_pane.setEnabledAt(create_pos, ready && Configuration.get("workflow.create", false));
+	    }
+	    if (format_pos != -1) {
+		tab_pane.setEnabledAt(format_pos, ready && Configuration.get("workflow.format", false) && Configuration.getMode() > Configuration.ASSISTANT_MODE);
+	    }
+	}
+
+	public void setReady(boolean ready) {
+	    this.ready = ready;
+	}
+    }
+
+    private class WorkflowUpdater
+	implements Runnable {
+	private boolean state;
+	private String raw;
+	public WorkflowUpdater(String raw, boolean state) {
+	    this.raw = raw;
+	    this.state = state;
+	}
+	public void run() {
+	    setTabEnabled(raw, state);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/GUIUtils.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/GUIUtils.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/GUIUtils.java	(revision 21123)
@@ -0,0 +1,69 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import java.util.*;
+
+public class GUIUtils {
+
+    /** The name of the mouse listener that initiates editing on a double click. */
+    static final private String SINGLE_CLICK_LISTENER = "SingleClickListener";
+
+    /** Neat method to disable file renaming in filechooser.
+     * Thanks to: vladi21 from www.experts-exchange.com
+     */
+    static public void disableRename(Component c) {
+	if (c instanceof JList){
+	    EventListener[] listeners=c.getListeners(MouseListener.class);
+	    for(int i=0; listeners != null && i < listeners.length; i++) {
+		if (listeners[i].toString().indexOf(SINGLE_CLICK_LISTENER) != -1) {
+		    c.removeMouseListener((MouseListener)listeners[i]);
+		}
+	    }
+	    return;
+	}
+	if (c instanceof Container) {
+	    Component[] children = null;
+	    children = ((Container)c).getComponents();
+	    if (children != null) {
+		for(int i = 0; children != null && i < children.length; i++) {
+		    disableRename(children[i]);
+		}
+	    }
+	}
+    }
+
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/GatherPane.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/GatherPane.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/GatherPane.java	(revision 21123)
@@ -0,0 +1,442 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionTree;
+import org.greenstone.gatherer.collection.CollectionTreeNode;
+import org.greenstone.gatherer.file.FileNode;
+import org.greenstone.gatherer.file.FileOpenActionListener;
+import org.greenstone.gatherer.file.FileQueue;
+import org.greenstone.gatherer.file.FileSystemModel;
+import org.greenstone.gatherer.file.RecycleBin;
+import org.greenstone.gatherer.file.WorkspaceTree;
+import org.greenstone.gatherer.file.WorkspaceTreeNode;
+import org.greenstone.gatherer.gui.tree.DragTree;
+import org.greenstone.gatherer.util.DragComponent;
+import org.greenstone.gatherer.util.DragGroup;
+import org.greenstone.gatherer.util.JarTools;
+import org.greenstone.gatherer.util.Utility;
+
+
+/** The collection pane is analogous with a file manager. It is there that the user chooses which files to include in their collection and what structure the file hierarchy should take. The later aspect is not important for the Greenstone Suite, but is usefull for grouping files for ease of metadata markup. The view essentially consists of two file trees, one denoting the entire source workspace and the other the files within your collection. The trees themselves have a title bar at the top, a filter control at the bottom, and are coloured to indicate activity (grey for disabled). The remainder of the screen is taken by a status area, to indicate current file job progress during copying etc, and three buttons for controlling features of the view.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class GatherPane
+    extends JPanel
+    implements ActionListener
+{
+    private CardLayout card_layout = null;
+    private JPanel card_pane = null;
+    /** The name of the panel containing the "collection loaded" (collection tree) card. */
+    private String COLLECTION_LOADED_CARD = "";
+    /** The name of the panel containing the "no collection loaded" placeholder */
+    private String NO_COLLECTION_LOADED_CARD = "No collection loaded";
+    /** The group encompassing all of the components available as drop targets for drag and drop actions. Required so that only one component renders the ghost and higlights itself as a target, which the other members are restored to their original, pristine, condition. */
+    private DragGroup group = null;
+    /** The tree showing the files within the collection. */
+    private CollectionTree collection_tree = null;
+    /** The threaded queue that handles the actually movement of files, so that the gui remains responsive. */
+    private FileQueue file_queue = null;
+    /** The filter currently applied to the collection tree. */
+    private Filter collection_filter = null;
+    /** The filter currently applied to the workspace tree. */
+    private Filter workspace_filter = null;
+    /** The button used to cancel all pending file queue jobs. */
+    private JButton stop_action =  null;
+    /** The button used to create a new folder in the collection tree. */
+    private JButton new_folder =  null;
+    /** The label shown at the top of the collection tree. */
+    private JLabel collection_label = null;
+    /** The label shown in the status area explaining the file apon which action is taking place. */
+    private JLabel filename_label = null;
+    /** The label shown explaining the current state of the file queue thread. */
+    private JLabel status_label	= null;
+    /** The label at the top of the workspace tree. */
+    private JLabel workspace_label = null;
+    /** The panel that contains the collection tree. */
+    private JPanel collection_pane = null;
+    /** The panel that contains the various controls including the status area. */
+    private JPanel control_pane = null;
+    /** The panel that contains the workspace tree. */
+    private JPanel workspace_pane = null;
+    /** The scrollable area into which the collection tree is placed. */
+    private JScrollPane collection_scroll = null;
+    /** The scrollable area into which the workspace tree is placed. */
+    private JScrollPane workspace_scroll = null;
+    /** A split pane seperating the two trees, allowing for the screen real-estate for each to be changed. */
+    private JSplitPane tree_pane = null;
+    /** The minimum size a gui component can become. */
+    static private Dimension MIN_SIZE = new Dimension( 90,  90);
+    /** The default size of the status area. */
+    static private Dimension STATUS_SIZE = new Dimension(450, 120);
+    /** The initial size of the trees. */
+    static private Dimension TREE_SIZE = new Dimension(400, 430);
+
+    /** The tree showing the available source workspace. */
+    public WorkspaceTree workspace_tree = null;
+
+
+    public GatherPane()
+    {
+	this.group = new DragGroup();
+	this.file_queue = Gatherer.f_man.getQueue();
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
+	// Create components.
+	stop_action = new GLIButton(Dictionary.get("Collection.Stop"), Dictionary.get("Collection.Stop_Tooltip"));
+	stop_action.addActionListener(this);
+	stop_action.setEnabled(false);
+	file_queue.registerStopButton(stop_action);
+		
+	new_folder = new GLIButton(JarTools.getImage("folder.gif"), Dictionary.get("Collection.New_Folder_Tooltip"));
+	new_folder.addActionListener(this);
+	new_folder.setEnabled(false);
+	new_folder.setMinimumSize(MIN_SIZE);
+	new_folder.setPreferredSize(MIN_SIZE);
+	
+    }
+
+    /** Any implementation of ActionListener requires this method so that when an action is performed the appropriate effect can occur. In this case there are three valid possibilities. If the action occured on the recycle bin, then delete the current selection from the collection tree. If the action instead occured on the new folder button, then create a new folder under the current (single) selection in the collection tree. And finally if the cancel button was pressed, cancel the current, and remaining, jobs on the file queue. */
+    public void actionPerformed(ActionEvent event) {
+	// If a user has clicked on the bin button directly remove whatever
+	// files are selected in the active tree.
+	if (event.getSource() == Gatherer.recycle_bin) {
+	    if (!Gatherer.recycle_bin.ignore()) {
+		// Find the active tree (you've made selections in).
+		DragTree tree = (DragTree) group.getActive();
+		if (tree != null) { // if something has indeed been selected
+		    // Fudge things a bit
+		    group.setSource(tree);
+		    // Determine the selection.
+		    TreePath paths[] = tree.getSelectionPaths();
+		    if(paths != null) {
+			FileNode[] source_nodes = new FileNode[paths.length];
+			for(int i = 0; i < paths.length; i++) {
+			    source_nodes[i] = (FileNode)(paths[i].getLastPathComponent());
+			}
+			Gatherer.f_man.action(tree, source_nodes, Gatherer.recycle_bin, null);
+		    }
+		}
+	    }
+	}
+	// If a user has clicked on new_folder create a new folder under
+	// whatever node is selected.
+	else if(event.getSource() == new_folder && collection_tree != null) {
+	    int count = collection_tree.getSelectionCount();
+	    boolean error = false;
+	    if(count == 1) {
+		TreePath path = collection_tree.getSelectionPath();
+		CollectionTreeNode node = (CollectionTreeNode) path.getLastPathComponent();
+		if (node.getAllowsChildren()) {
+		    Gatherer.f_man.newFolder(collection_tree, node);
+		}
+		else {
+		    // try the parent
+		    CollectionTreeNode parent = (CollectionTreeNode) node.getParent();
+		    if (parent!=null && parent.getAllowsChildren()) {
+			Gatherer.f_man.newFolder(collection_tree, parent);
+		    } else {
+			error = true;
+		    }
+		}
+	    }
+	    else {
+		error = true;
+	    }
+	    if(error) {
+		// instead of an error, we now create a new folder at the root
+		CollectionTreeNode node = (CollectionTreeNode) collection_tree.getModel().getRoot();
+		Gatherer.f_man.newFolder(collection_tree, node);
+	    }
+	}
+	else if(event.getSource() == stop_action) {
+	    file_queue.cancelAction();
+	}
+    }
+
+
+    /** Generates the pane on controls used to 'collect' files into the collection. Resposible for creating, connecting and laying out these controls. */
+    public void display()
+    {
+	// Workspace Tree
+	workspace_pane = new JPanel();
+	workspace_pane.setMinimumSize(MIN_SIZE);
+	workspace_pane.setPreferredSize(TREE_SIZE);
+	workspace_pane.setSize(TREE_SIZE);
+        workspace_pane.setComponentOrientation(Dictionary.getOrientation());
+
+	workspace_label = new JLabel(Dictionary.get("Collection.Workspace"));
+	workspace_label.setOpaque(true);
+	workspace_label.setBackground(Configuration.getColor("coloring.workspace_heading_background", false));
+	workspace_label.setForeground(Configuration.getColor("coloring.workspace_heading_foreground", false));
+	workspace_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	workspace_tree = new WorkspaceTree();
+        workspace_tree.setComponentOrientation(Dictionary.getOrientation());
+	group.add(workspace_tree);
+	workspace_scroll = new JScrollPane(workspace_tree);
+        workspace_scroll.setComponentOrientation(Dictionary.getOrientation());
+	workspace_filter = workspace_tree.getFilter();
+        workspace_filter.setComponentOrientation(Dictionary.getOrientation()); 
+        
+	card_layout = new CardLayout();
+
+	// Collection Tree
+	collection_pane = new JPanel();
+	collection_pane.setMinimumSize(MIN_SIZE);
+	collection_pane.setPreferredSize(TREE_SIZE);
+	collection_pane.setSize(TREE_SIZE);
+        collection_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	collection_label = new JLabel(Dictionary.get("Collection.Collection"));
+	collection_label.setOpaque(true);
+	collection_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	collection_tree = Gatherer.c_man.getCollectionTree();
+	collection_tree.setEnabled(Gatherer.c_man.getCollectionTreeModel() != null);
+	group.add(collection_tree);
+	collection_filter = collection_tree.getFilter();
+
+	tree_pane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
+        tree_pane.setComponentOrientation(Dictionary.getOrientation());
+	// No collection loaded pane
+	JPanel no_collection_pane = new JPanel();
+	no_collection_pane.setBackground(Color.lightGray);
+        no_collection_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JLabel no_collection_label = new JLabel(Dictionary.get("Collection.Collection"));
+	no_collection_label.setBackground(Color.lightGray);
+	no_collection_label.setForeground(Color.black);
+	no_collection_label.setOpaque(true);
+        no_collection_label.setComponentOrientation(Dictionary.getOrientation());
+	
+	JPanel no_collection_loaded_panel = new JPanel();
+	no_collection_loaded_panel.setBorder(BorderFactory.createLineBorder(Color.black));
+	no_collection_loaded_panel.setBackground(Color.lightGray);
+        no_collection_loaded_panel.setComponentOrientation(Dictionary.getOrientation());
+        
+	JLabel no_collection_loaded_label = new JLabel(Dictionary.get("Collection.No_Collection_Loaded"));
+	no_collection_loaded_label.setHorizontalAlignment(JLabel.CENTER);
+	no_collection_loaded_label.setVerticalAlignment(JLabel.CENTER);
+	no_collection_loaded_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	// Status pane
+	control_pane = new JPanel();
+        control_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel inner_pane = new JPanel();
+	inner_pane.setSize(STATUS_SIZE);
+        inner_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	card_pane = new JPanel();
+        card_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel file_pane = new JPanel();
+        file_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel progress_pane = new JPanel();
+        progress_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JLabel file_status = file_queue.getFileStatus();
+        file_status.setComponentOrientation(Dictionary.getOrientation());
+        
+	JProgressBar progress_bar = file_queue.getProgressBar();
+        progress_bar.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	RecycleBin recycle_bin = Gatherer.recycle_bin;
+	recycle_bin.addActionListener(this);
+	recycle_bin.setMinimumSize(MIN_SIZE);
+	recycle_bin.setPreferredSize(MIN_SIZE);
+	recycle_bin.setToolTipText(Dictionary.get("Collection.Delete_Tooltip"));
+	group.add(recycle_bin);
+
+	// Layout Components.
+	workspace_pane.setLayout(new BorderLayout());
+	workspace_pane.add(workspace_label, BorderLayout.NORTH);
+	workspace_pane.add(workspace_scroll, BorderLayout.CENTER);
+	workspace_pane.add(workspace_filter, BorderLayout.SOUTH);
+	
+	collection_pane.setLayout(new BorderLayout());
+	collection_pane.add(collection_label, BorderLayout.NORTH);
+
+	no_collection_loaded_panel.setLayout(new BorderLayout());
+	no_collection_loaded_panel.add(no_collection_loaded_label, BorderLayout.CENTER);
+
+	no_collection_pane.setLayout(new BorderLayout());
+	no_collection_pane.add(no_collection_label, BorderLayout.NORTH);
+	no_collection_pane.add(no_collection_loaded_panel, BorderLayout.CENTER);
+
+	card_pane.setLayout(card_layout);
+	card_pane.add(no_collection_pane, NO_COLLECTION_LOADED_CARD);
+	card_pane.add(collection_pane, COLLECTION_LOADED_CARD);
+
+        if (Dictionary.getOrientation().isLeftToRight()){
+            tree_pane.add(workspace_pane, JSplitPane.LEFT);
+            tree_pane.add(card_pane, JSplitPane.RIGHT);
+        }else{
+            tree_pane.add(workspace_pane, JSplitPane.RIGHT);
+            tree_pane.add(card_pane, JSplitPane.LEFT);
+        }
+        
+        
+	tree_pane.setDividerLocation(TREE_SIZE.width - 10);
+
+	file_pane.setBorder(BorderFactory.createEmptyBorder(2,2,2,2));
+	file_pane.setLayout(new BorderLayout());
+	file_pane.add(file_status, BorderLayout.CENTER);
+	file_pane.add(stop_action, BorderLayout.LINE_END);
+
+	progress_pane.setBorder(BorderFactory.createEmptyBorder(2,2,2,2));
+	progress_pane.setLayout(new BorderLayout());
+	progress_pane.add(progress_bar, BorderLayout.CENTER);
+
+	inner_pane.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(10,10,10,10), BorderFactory.createLoweredBevelBorder()));
+	inner_pane.setLayout(new GridLayout(2,1));
+	inner_pane.add(file_pane);
+	inner_pane.add(progress_pane);
+
+	button_pane.add(new_folder);
+	button_pane.add(recycle_bin);
+
+	control_pane.setLayout(new BorderLayout());
+	control_pane.add(inner_pane, BorderLayout.CENTER);
+	control_pane.add(button_pane, BorderLayout.LINE_END);
+
+	this.setLayout(new BorderLayout());
+	this.add(tree_pane, BorderLayout.CENTER);
+	this.add(control_pane, BorderLayout.SOUTH);
+    }
+
+
+    /** Called to inform this control panel that it has just gained focus as an effect of the user clicking on its tab.
+     */
+    public void gainFocus()
+    {
+	// Add the collection tree and filter back into this pane
+	collection_scroll = new JScrollPane(collection_tree);
+	collection_pane.add(collection_scroll, BorderLayout.CENTER);
+	collection_pane.add(collection_filter, BorderLayout.SOUTH);
+    }
+
+
+    /** Called to inform this pane that it has just lost focus as an effect of the user clicking on another tab
+     */
+    public void loseFocus()
+    {
+	// Remove the collection tree and filter from this pane so it can be added to the Enrich pane
+	collection_pane.remove(collection_scroll);
+	collection_pane.remove(collection_filter);
+    }
+
+
+    /** Retrieve a list of the currently selected file records in the collection tree. */
+    private CollectionTreeNode[] getCollectionTreeSelection()
+    {
+	TreePath paths[] = collection_tree.getSelectionPaths();
+	CollectionTreeNode records[] = null;
+	if (paths != null) {
+	    records = new CollectionTreeNode[paths.length];
+	    for (int i = 0; i < records.length; i++) {
+		records[i] = (CollectionTreeNode) paths[i].getLastPathComponent();
+	    }
+	}
+	return records;
+    }
+
+    
+    /** Called whenever the detail mode changes to ensure the filters are at an appropriate level (ie only editable by those that understand regular expression matching)
+     * @param mode the mode level as an int
+     */
+    public void modeChanged(int mode) {
+	collection_filter.setEditable(mode >= Configuration.LIBRARIAN_MODE);
+	workspace_filter.setEditable(mode >= Configuration.LIBRARIAN_MODE);
+    }
+
+
+    /** Refresh this pane, depending on what has just happened (refresh_reason). */
+    public void refresh(int refresh_reason, boolean collection_loaded)
+    {
+	if (collection_loaded) {
+	    // Update collection tree
+	    if (refresh_reason == Gatherer.COLLECTION_OPENED) {
+		collection_tree.setModel(Gatherer.c_man.getCollectionTreeModel());
+	    }
+
+	    card_layout.show(card_pane, COLLECTION_LOADED_CARD);
+	}
+	else {
+	    // Update collection tree
+	    collection_tree.setModel(new DefaultTreeModel(new DefaultMutableTreeNode("Error")));
+
+	    card_layout.show(card_pane, NO_COLLECTION_LOADED_CARD);
+	}
+
+	// File sizes turned on/off
+	if (refresh_reason == Gatherer.PREFERENCES_CHANGED) {
+	    refreshWorkspaceTree(DragTree.TREE_DISPLAY_CHANGED);
+	    refreshCollectionTree(DragTree.TREE_DISPLAY_CHANGED);
+	}
+
+	// Enable or disable the controls
+	collection_tree.setEnabled(collection_loaded);
+	collection_filter.setEnabled(collection_loaded);
+	new_folder.setEnabled(collection_loaded);
+    }
+
+
+    public void refreshCollectionTree(int refresh_reason) {
+	collection_tree.refresh(null);
+    }
+
+
+    public void refreshWorkspaceTree(int refresh_reason) {
+	workspace_tree.refresh(refresh_reason);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/HelpFrame.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/HelpFrame.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/HelpFrame.java	(revision 21123)
@@ -0,0 +1,395 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Principal Author: John Thompson, NZDL Project, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.io.*;
+import java.net.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.util.JarTools;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+
+/**
+ * This class provides a nice help facility. It is a separate frame that can be positioned
+ * as the user wishes, and provides a contents page and the help information.
+ * @author Michael Dewsnip, NZDL Project
+ */
+public class HelpFrame 
+    extends JFrame
+{
+    /** The size of the frame */
+    static private final Dimension SIZE = new Dimension(800, 560);
+
+    static private HelpFrame self = null;
+
+    /** The help view at the bottom of the frame. */
+    static private JEditorPane help_pane = null;
+    /** The help contents tree at the top of the frame. */
+    static private JTree help_contents_tree = null;
+    /** The help contents tree model. */
+    static private HelpContentsTreeModel help_contents_tree_model = null;
+    /** The split between the contents tree and the page view. */
+    static private JSplitPane split_pane = null;
+
+    public HelpFrame()
+    {
+	setDefaultCloseOperation(HIDE_ON_CLOSE);
+	setSize(SIZE);
+	setTitle(Dictionary.get("Help.Title"));
+        this.setComponentOrientation(Dictionary.getOrientation());
+        
+	help_pane = new JEditorPane();
+        help_pane.setComponentOrientation(Dictionary.getOrientation());
+	help_pane.setEditable(false);
+	help_pane.addHyperlinkListener(new HelpPaneHyperlinkListener());
+
+	HelpContentsTreeNode help_tree_root_node = new HelpContentsTreeNode(null, Dictionary.get("Help.Contents"));
+	help_contents_tree_model = new HelpContentsTreeModel(help_tree_root_node);
+	help_contents_tree = new JTree((DefaultTreeModel) help_contents_tree_model);
+        help_contents_tree.setComponentOrientation(Dictionary.getOrientation());
+	help_contents_tree.addTreeSelectionListener(new HelpContentsTreeSelectionListener());
+	help_contents_tree.setExpandsSelectedPaths(true);
+
+	// Creation
+	JPanel content_pane = (JPanel) this.getContentPane();
+	content_pane.setComponentOrientation(Dictionary.getOrientation());
+        split_pane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
+	JScrollPane help_contents_tree_scroll = new JScrollPane(help_contents_tree);
+        help_contents_tree_scroll.setComponentOrientation(Dictionary.getOrientation());
+	JScrollPane help_pane_scroll = new JScrollPane(help_pane);
+        help_pane_scroll.setComponentOrientation(Dictionary.getOrientation());
+
+	// Layout
+        if (Dictionary.getOrientation().isLeftToRight()){
+            split_pane.add(help_contents_tree_scroll, JSplitPane.LEFT);
+            split_pane.add(help_pane_scroll, JSplitPane.RIGHT);
+        }else{
+            split_pane.add(help_contents_tree_scroll, JSplitPane.RIGHT);
+            split_pane.add(help_pane_scroll, JSplitPane.LEFT);
+        }
+        
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(split_pane, BorderLayout.CENTER);
+
+	// Center
+	Dimension screen_size = Toolkit.getDefaultToolkit().getScreenSize();
+	setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+
+
+	// Pretty corner icon
+	String gsmall_image = "gatherer_small.gif";
+	if (Configuration.fedora_info.isActive()) {
+	    gsmall_image = "fli-" + gsmall_image;
+	}
+
+	this.setIconImage(JarTools.getImage(gsmall_image).getImage());
+
+	self = this;
+    }
+
+    public void destroy()
+    {
+	help_contents_tree = null;
+	help_pane = null;
+    }
+
+
+    /** Retrieve the relative file path to the language-specific help index xml file. */
+    private String getHelpFolder()
+    {
+	String help_folder = "help/" + Configuration.getLanguage() + "/";
+
+	// Applet case: get help files out of JAR file
+	if (Gatherer.isApplet && JarTools.getResource("/" + help_folder) != null) {
+	    return help_folder;
+	}
+
+	// Normal case: get help files out of GLI "help" folder
+	if (new File(help_folder).exists()) {
+	    return help_folder;
+	}
+
+	// Resort to English
+	return "help/" + StaticStrings.ENGLISH_LANGUAGE_STR  + "/";
+    }
+
+
+    private URL getURLForSection(String section_name)
+    {
+	// Form the path to the help file from the section name
+	if (section_name != null) {
+	    String help_file_path = getHelpFolder() + section_name + StaticStrings.HTM_FILE_EXTENSION;
+
+	    try {
+		// Applet case: get help file out of JAR file
+		if (Gatherer.isApplet) {
+		    return JarTools.getResource("/" + help_file_path);
+		}
+
+		// Normal case: get help file out of GLI "help" folder
+		return (new File(help_file_path)).toURI().toURL();
+	    }
+	    catch (Exception exception) {
+		DebugStream.printStackTrace(exception);
+	    }
+	}
+
+	return null;
+    }
+
+
+    static private void selectHelpContentsTreeNode(String section_name)
+    {
+	// Find the tree node with this section name, then select it
+	selectHelpContentsTreeNode(help_contents_tree_model.getHelpContentsTreeNodeNamed(section_name));
+    }
+
+
+    static private void selectHelpContentsTreeNode(HelpContentsTreeNode help_tree_node)
+    {
+	// Ensure the node in the help contents tree is selected and visible
+	TreePath help_tree_node_path = new TreePath(help_tree_node.getPath());
+	help_contents_tree.setSelectionPath(help_tree_node_path);
+	help_contents_tree.scrollPathToVisible(help_tree_node_path);
+    }
+
+
+    static public void setView(String section_name)
+    {
+	// Select the appropriate node in the help contents tree
+	selectHelpContentsTreeNode(section_name);
+
+	// Show the help page with the specified section name
+	self.showHelpPage(section_name);
+    }
+
+
+    private void showHelpPage(String section_name)
+    {
+	// Find the tree node with this section name, then show the page for the node
+	showHelpPage(getURLForSection(section_name));
+    }
+
+
+    private void showHelpPage(URL help_page_url)
+    {
+	// Display the selected page
+	if (help_page_url != null) {
+	    try {
+		help_pane.setPage(help_page_url);
+	    }
+	    catch (Exception exception) {
+		DebugStream.printStackTrace(exception);
+	    }
+	}
+
+	// Make the help frame visible
+	setVisible(true);
+	split_pane.setDividerLocation(0.4);
+    }
+
+
+    private class HelpContentsTreeModel
+	extends DefaultTreeModel
+    {
+	public HelpContentsTreeModel(MutableTreeNode help_tree_root_node)
+	{
+	    super(help_tree_root_node);
+
+	    // Load the XML help index file and build the contents structure from it
+	    try {
+		String help_index_file_path = getHelpFolder() + "help_index.xml";
+		Document document = null;
+		if (Gatherer.isApplet && JarTools.getResource(help_index_file_path) != null) {
+		    document = XMLTools.parseXMLFile(help_index_file_path, true);
+		}
+		
+		if (new File(help_index_file_path).exists()) {
+		    document = XMLTools.parseXMLFile(help_index_file_path, false);
+		}		
+
+		if (document == null) {
+		    String errormsg = "HelpFrame.HelpContentsTreeModel constructor(): There's no help document after parsing";
+		    System.err.println(errormsg);
+		    DebugStream.println(errormsg);
+		    return;
+		}
+		// Traverse the help hierarchy, building a tree representing its structure
+		Node document_node = document.getFirstChild();
+
+		// Add a help contents tree node for each major section
+		int section_number = 0;
+		NodeList children = document_node.getChildNodes();
+		for (int i = 0; i < children.getLength(); i++) {
+		    Node child = children.item(i);
+		    if (child.getNodeName().equals(StaticStrings.SECTION_ELEMENT)) {
+			section_number++;
+			buildHelpContentsTree(help_tree_root_node, section_number + StaticStrings.EMPTY_STR, child);
+		    }
+		}
+	    }
+	    catch (Exception exception) {
+		DebugStream.printStackTrace(exception);
+	    }
+	}
+
+
+	private void buildHelpContentsTree(MutableTreeNode parent, String pos, Node node)
+	{
+	    // Determine the section name
+	    String section_name = ((Element) node).getAttribute(StaticStrings.NAME_ATTRIBUTE);
+
+	    // Determine the section title
+	    String section_title = "";
+	    NodeList children = node.getChildNodes();
+	    for (int i = 0; i < children.getLength(); i++) {
+		Node child = children.item(i);
+		if (child.getNodeName().equals(StaticStrings.TITLE_ELEMENT)) {
+		    section_title = pos + ": ";
+		    if (child.getFirstChild() != null) {
+			section_title += child.getFirstChild().getNodeValue();
+		    }
+		}
+	    }
+
+	    // Add the node into the tree
+	    HelpContentsTreeNode help_tree_node = new HelpContentsTreeNode(section_name, section_title);
+	    insertNodeInto(help_tree_node, parent, parent.getChildCount());
+
+	    // Apply recursively to the children of this node
+	    int section_number = 0;
+	    for (int i = 0; i < children.getLength(); i++) {
+		Node child = children.item(i);
+		if (child.getNodeName().equals(StaticStrings.SECTION_ELEMENT)) {
+		    section_number++;
+		    buildHelpContentsTree(help_tree_node, pos + StaticStrings.STOP_CHARACTER + section_number, child);
+		}
+	    }
+	}
+
+
+	private HelpContentsTreeNode getHelpContentsTreeNodeNamed(String section_name)
+	{
+	    // Find the node with name matching section name, somewhere in the tree
+	    if (section_name != null) {
+		Enumeration descendants = ((DefaultMutableTreeNode) root).preorderEnumeration();
+		while (descendants.hasMoreElements()) {
+		    HelpContentsTreeNode help_tree_node = (HelpContentsTreeNode) descendants.nextElement();
+		    if (section_name.equals(help_tree_node.section_name)) {
+			return help_tree_node;
+		    }
+		}
+	    }
+
+	    // Couldn't be found, so just return the root (Contents) node
+	    return (HelpContentsTreeNode) root;
+	}
+    }
+
+
+    /** This listener is used to listen for selection changes in the contents tree, and
+     * to show the appropriate page as required.
+     */
+    private class HelpContentsTreeSelectionListener
+	implements TreeSelectionListener
+    {
+	/** Any implementation of <i>TreeSelectionListener</i> must include this method so we can be informed when the tree selection changes.
+	 * @param event A <strong>TreeSelectionEvent</strong> containing al the relevant information about the event itself.
+	 */
+	public void valueChanged(TreeSelectionEvent event)
+	{
+	    HelpContentsTreeNode help_tree_node = (HelpContentsTreeNode) event.getPath().getLastPathComponent();
+	    selectHelpContentsTreeNode(help_tree_node);
+	    showHelpPage(help_tree_node.section_name);
+	}
+    }
+
+
+    /** This class provides a wrapper around a <strong>DefaultMutableTreeNode</strong> which
+     * provides the ability to set an html page to be loaded when this node is selected.
+     */
+    private class HelpContentsTreeNode 
+	extends DefaultMutableTreeNode
+    {
+	/** The unique name of the section (matches the HTML filename) */
+	public String section_name = null;
+	/** The title to be displayed for this tree node. */
+	public String section_title = null;
+
+	public HelpContentsTreeNode(String section_name, String section_title)
+	{
+	    this.section_name = section_name;
+	    this.section_title = section_title;
+	}
+
+	public String toString()
+	{
+	    return section_title;
+	}
+    }
+
+
+    private class HelpPaneHyperlinkListener
+	implements HyperlinkListener
+    {
+	public void hyperlinkUpdate(HyperlinkEvent e)
+	{
+	    if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
+		// Determine which node in the help contents tree to select, then select it
+		String section_link = e.getURL().getFile();
+		if (section_link.endsWith(".htm")) {
+		    section_link = section_link.substring(section_link.lastIndexOf("/") + 1);
+		    section_link = section_link.substring(0, section_link.length() - ".htm".length());
+		    selectHelpContentsTreeNode(section_link);
+		}
+
+		// Change to the page specified by the link
+		showHelpPage(e.getURL());
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/LockFileDialog.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/LockFileDialog.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/LockFileDialog.java	(revision 21123)
@@ -0,0 +1,246 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import javax.swing.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.util.JarTools;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+/** A lock file dialog is shown whenever GLI detects an existing lock on a collection it is trying to open. The user can look at the details provided with the dialog, and decide whether to 'steal' the lock or to cancel the loading. */
+public class LockFileDialog
+    extends ModalDialog {
+
+    private int choice;
+    private Document document;
+    private JButton cancel_button;
+    private JButton ok_button;
+    private LockFileDialog self;
+
+    static final public int NO_OPTION  = 0;
+    static final public int YES_OPTION = 1;
+
+    static final private Dimension LABEL_SIZE = new Dimension(100, 25);
+    static final private Dimension SIZE = new Dimension(500, 250);
+    static final private int ICON_SIZE = 30;
+
+    public LockFileDialog(JFrame parent, String name, File lock_file) {
+	super(parent, Dictionary.get("LockFileDialog.Title"), true);
+        this.setComponentOrientation(Dictionary.getOrientation());
+	setSize(SIZE);
+	setJMenuBar(new SimpleMenuBar("openingacollection"));
+	this.self = this;
+
+	// Parse the lock file
+	document = XMLTools.parseXMLFile(lock_file);
+
+	// Creation
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+	JPanel upper_pane = new JPanel();
+        upper_pane.setComponentOrientation(Dictionary.getOrientation());
+	ImageIcon icon = JarTools.getImage("lcolicn.gif");
+	ImageIcon scaled_icon = new ImageIcon(icon.getImage().getScaledInstance(ICON_SIZE, ICON_SIZE, Image.SCALE_DEFAULT));
+	JLabel icon_label = new JLabel(scaled_icon);
+        icon_label.setComponentOrientation(Dictionary.getOrientation());
+	JPanel title_pane = new JPanel();
+        title_pane.setComponentOrientation(Dictionary.getOrientation());
+	JLabel title_one_label = new JLabel(Dictionary.get("General.Warning"));
+	title_one_label.setComponentOrientation(Dictionary.getOrientation());
+	JTextArea title_two_textarea = new JTextArea(Dictionary.get("LockFileDialog.Lockfile_Message_One"));
+        title_two_textarea.setComponentOrientation(Dictionary.getOrientation());
+	title_two_textarea.setEditable(false);
+	title_two_textarea.setLineWrap(true);
+	title_two_textarea.setOpaque(false);
+	title_two_textarea.setRows(3);
+	title_two_textarea.setWrapStyleWord(true);
+	
+    	JPanel central_pane = new JPanel();
+        central_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel name_pane = new JPanel();
+        name_pane.setComponentOrientation(Dictionary.getOrientation());
+	JLabel name_label = new JLabel(Dictionary.get("LockFileDialog.Name"));
+        name_label.setComponentOrientation(Dictionary.getOrientation());
+	name_label.setPreferredSize(LABEL_SIZE);
+	
+	JTextField name_field = new JTextField(name);
+        name_field.setComponentOrientation(Dictionary.getOrientation());
+	name_field.setEditable(false);
+	name_field.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+
+
+        JPanel person_pane = new JPanel();
+	person_pane.setComponentOrientation(Dictionary.getOrientation());
+        JLabel person_label = new JLabel(Dictionary.get("LockFileDialog.User"));
+        person_label.setComponentOrientation(Dictionary.getOrientation());
+	person_label.setPreferredSize(LABEL_SIZE);
+	
+	JTextField person_field = new JTextField(getValue("User"));
+        person_field.setComponentOrientation(Dictionary.getOrientation());
+	person_field.setEditable(false);
+	person_field.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+
+	JPanel machine_pane = new JPanel();
+        machine_pane.setComponentOrientation(Dictionary.getOrientation());
+	JLabel machine_label = new JLabel(Dictionary.get("LockFileDialog.Machine"));
+        machine_label.setComponentOrientation(Dictionary.getOrientation());
+	machine_label.setPreferredSize(LABEL_SIZE);
+	
+	JTextField machine_field = new JTextField(getValue("Machine"));
+        machine_field.setComponentOrientation(Dictionary.getOrientation());
+	machine_field.setEditable(false);
+	machine_field.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+
+	JPanel created_pane = new JPanel();
+        created_pane.setComponentOrientation(Dictionary.getOrientation());
+	JLabel created_label = new JLabel(Dictionary.get("LockFileDialog.Date"));
+	created_label.setPreferredSize(LABEL_SIZE);
+        created_label.setComponentOrientation(Dictionary.getOrientation());
+	
+	JTextField created_field = new JTextField(getValue("Date"));
+        created_field.setComponentOrientation(Dictionary.getOrientation());
+	created_field.setEditable(false);
+	created_field.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+
+	JLabel central_label = new JLabel(Dictionary.get("LockFileDialog.Lockfile_Message_Two"));
+	central_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	ok_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("LockFileDialog.OK_Tooltip"));
+	
+	cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("LockFileDialog.Cancel_Tooltip"));
+	
+	// Connection
+	ok_button.addActionListener(new MyActionListener());
+	cancel_button.addActionListener(new MyActionListener());
+
+	// Layout
+	icon_label.setBorder(BorderFactory.createEmptyBorder(0,0,0,10));
+
+	title_pane.setLayout(new BorderLayout());
+	title_pane.add(title_one_label, BorderLayout.NORTH);
+	title_pane.add(title_two_textarea, BorderLayout.CENTER);
+
+	upper_pane.setLayout(new BorderLayout());
+	upper_pane.add(icon_label, BorderLayout.LINE_START);
+	upper_pane.add(title_pane, BorderLayout.CENTER);
+
+	name_pane.setLayout(new BorderLayout());
+	name_pane.add(name_label, BorderLayout.LINE_START);
+	name_pane.add(name_field, BorderLayout.CENTER);
+
+	person_pane.setLayout(new BorderLayout());
+	person_pane.add(person_label, BorderLayout.LINE_START);
+	person_pane.add(person_field, BorderLayout.CENTER);
+
+	machine_pane.setLayout(new BorderLayout());
+	machine_pane.add(machine_label, BorderLayout.LINE_START);
+	machine_pane.add(machine_field, BorderLayout.CENTER);
+
+	created_pane.setLayout(new BorderLayout());
+	created_pane.add(created_label, BorderLayout.LINE_START);
+	created_pane.add(created_field, BorderLayout.CENTER);
+
+	central_pane.setLayout(new GridLayout(5,1,0,5));
+	central_pane.add(name_pane);
+	central_pane.add(person_pane);
+	central_pane.add(machine_pane);
+	central_pane.add(created_pane);
+	central_pane.add(central_label);
+
+	button_pane.setLayout(new GridLayout(1,2,5,0));
+	button_pane.add(ok_button);
+	button_pane.add(cancel_button);
+
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(upper_pane, BorderLayout.NORTH);
+	content_pane.add(central_pane, BorderLayout.CENTER);
+	content_pane.add(button_pane, BorderLayout.SOUTH);
+
+	// Display
+	if (parent != null) {
+	    Rectangle frame_bounds = parent.getBounds();
+	    setLocation(frame_bounds.x + (frame_bounds.width - SIZE.width) / 2, frame_bounds.y + (frame_bounds.height - SIZE.height) / 2);
+	}
+	else {
+	    Dimension screen_size = Toolkit.getDefaultToolkit().getScreenSize();
+	    setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	}
+    }
+
+    public int getChoice() {
+	setVisible(true);
+	return choice;
+    }
+
+    private String getValue(String name) {
+	String value = "";
+	if(document != null) {
+	    try {
+		Element value_element = (Element) XMLTools.getNodeFromNamed(document.getDocumentElement(), name);
+		value = XMLTools.getValue(value_element);
+	    }
+	    catch (Exception error) {
+	    }
+	}
+	else {
+	    value = Dictionary.get("LockFileDialog.Error");
+	}
+	return value;
+    }
+
+    private class MyActionListener
+	implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+	    if(event.getSource() == ok_button) {
+		choice = YES_OPTION;
+	    }
+	    else {
+		choice = NO_OPTION;
+	    }
+	    self.dispose();
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/MenuBar.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/MenuBar.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/MenuBar.java	(revision 21123)
@@ -0,0 +1,285 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.util.JarTools;
+
+/** The menu bar for the Gatherer main GUI. 
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.2
+ */
+public class MenuBar
+    extends JMenuBar
+{
+    static public ImageIcon BLANK_ICON = JarTools.getImage("blank.gif");
+    static public ImageIcon HELP_ICON = JarTools.getImage("help.png");
+
+    /** The icon to be displayed alongside the context choosen help file. */
+    private int current_tab          = -1;
+
+    public JMenu file               = null;
+    public JMenu edit               = null;
+    public JMenu help                = null;
+    public JMenuItem file_associations;
+    public JMenuItem file_cdimage    = null;
+    public JMenuItem file_close      = null;
+    public JMenuItem file_delete     = null;
+    public JMenuItem file_exit       = null;
+    public JMenuItem file_exportas   = null;
+    public JMenuItem file_new        = null;
+    public JMenuItem file_open       = null;
+    public JMenuItem file_options    = null;
+    public JMenuItem file_save       = null;
+    public JMenuItem edit_copy;
+    public JMenuItem edit_cut;
+    public JMenuItem edit_paste;
+    public JMenuItem help_general;
+    public JMenuItem help_download;
+    public JMenuItem help_gather;
+    public JMenuItem help_enrich;
+    public JMenuItem help_design;
+    public JMenuItem help_create;
+    public JMenuItem help_format;
+    public JMenuItem help_about;
+
+
+    public MenuBar(MenuListener menu_listener)
+    {
+        this.setComponentOrientation(Dictionary.getOrientation());
+        
+	file = new JMenu();
+	file.setEnabled(false);
+	file.setText(Dictionary.get("Menu.File"));
+	file.setComponentOrientation(Dictionary.getOrientation());
+        
+	file_associations = new JMenuItem(Dictionary.get("Menu.File_Associations"));
+	file_associations.addActionListener(Gatherer.g_man);	  
+	file_associations.setComponentOrientation(Dictionary.getOrientation());
+        
+	file_cdimage = new JMenuItem(Dictionary.get("Menu.File_CDimage"));
+	file_cdimage.addActionListener(Gatherer.g_man);
+	file_cdimage.setEnabled(!Gatherer.isGsdlRemote);
+	file_cdimage.setComponentOrientation(Dictionary.getOrientation());
+        
+	file_close = new JMenuItem(Dictionary.get("Menu.File_Close"));
+	file_close.addActionListener(Gatherer.g_man);
+	file_close.setEnabled(false);
+	file_close.setComponentOrientation(Dictionary.getOrientation());
+        
+	file_delete = new JMenuItem(Dictionary.get("Menu.File_Delete"));
+	file_delete.addActionListener(Gatherer.g_man);
+	file_delete.setComponentOrientation(Dictionary.getOrientation());
+        
+	file_exit = new JMenuItem(Dictionary.get("Menu.File_Exit"));
+	file_exit.addActionListener(Gatherer.g_man);
+	file_exit.setComponentOrientation(Dictionary.getOrientation());
+        
+	file_exportas = new JMenuItem(Dictionary.get("Menu.File_ExportAs"));
+	file_exportas.addActionListener(Gatherer.g_man);
+	file_exportas.setEnabled((!Gatherer.isGsdlRemote && !Gatherer.GS3));
+	file_exportas.setComponentOrientation(Dictionary.getOrientation());
+      	
+	file_new = new JMenuItem(Dictionary.get("Menu.File_New"));
+	file_new.addActionListener(Gatherer.g_man);
+	file_new.setComponentOrientation(Dictionary.getOrientation());
+        
+	file_open = new JMenuItem(Dictionary.get("Menu.File_Open"));
+	file_open.addActionListener(Gatherer.g_man);
+	file_open.setComponentOrientation(Dictionary.getOrientation());
+        
+	file_options = new JMenuItem(Dictionary.get("Menu.File_Options"));
+	file_options.addActionListener(Gatherer.g_man);
+        file_options.setComponentOrientation(Dictionary.getOrientation());
+	
+	file_save = new JMenuItem(Dictionary.get("Menu.File_Save"));
+	file_save.addActionListener(Gatherer.g_man);
+	file_save.setEnabled(false);
+	file_save.setComponentOrientation(Dictionary.getOrientation());
+        
+	// Layout (file menu)
+	file.add(file_new);
+	file.add(file_open);
+	file.add(file_save);
+	file.add(file_close);
+	file.add(new JSeparator());
+	file.add(file_delete);
+	if (!Gatherer.GS3) {
+	  // these currently don't work. better to just disable them?
+	  file.add(file_exportas);
+	  file.add(file_cdimage);
+	}
+	file.add(new JSeparator());
+	file.add(file_associations);
+	file.add(file_options);
+	file.add(new JSeparator());
+	file.add(file_exit);
+
+	// Edit menu
+	edit = new JMenu();
+	edit.setEnabled(false);
+	edit.setText(Dictionary.get("Menu.Edit"));
+	edit.setComponentOrientation(Dictionary.getOrientation());
+        
+	edit_cut = new JMenuItem(Dictionary.get("Menu.Edit_Cut"));
+	edit_cut.addActionListener(Gatherer.g_man);
+	edit_cut.setComponentOrientation(Dictionary.getOrientation());
+        
+	edit_copy = new JMenuItem(Dictionary.get("Menu.Edit_Copy"));
+	edit_copy.addActionListener(Gatherer.g_man);
+        edit_copy.setComponentOrientation(Dictionary.getOrientation());
+	
+	edit_paste = new JMenuItem(Dictionary.get("Menu.Edit_Paste"));
+	edit_paste.addActionListener(Gatherer.g_man);
+	edit_paste.setComponentOrientation(Dictionary.getOrientation());
+	// Layout (edit menu)
+	edit.add(edit_cut);
+	edit.add(edit_copy);
+	edit.add(edit_paste);
+
+	// Help menu
+	help = new JMenu();
+	help.setIcon(HELP_ICON);
+	help.setText(Dictionary.get("Menu.Help"));
+	help.setComponentOrientation(Dictionary.getOrientation());
+        
+	help_general = new JMenuItem(Dictionary.get("Source.General"));
+	help_general.addActionListener(Gatherer.g_man);
+	help_general.setComponentOrientation(Dictionary.getOrientation());
+        
+	help_download = new JMenuItem(Dictionary.get("GUI.Download"), BLANK_ICON);
+	help_download.addActionListener(Gatherer.g_man);
+	help_download.setComponentOrientation(Dictionary.getOrientation());
+        
+	help_gather = new JMenuItem(Dictionary.get("GUI.Gather"), BLANK_ICON);
+	help_gather.addActionListener(Gatherer.g_man);
+	help_gather.setComponentOrientation(Dictionary.getOrientation());
+        
+	help_enrich = new JMenuItem(Dictionary.get("GUI.Enrich"), BLANK_ICON);
+	help_enrich.addActionListener(Gatherer.g_man);
+	help_enrich.setComponentOrientation(Dictionary.getOrientation());
+        
+	help_design = new JMenuItem(Dictionary.get("GUI.Design"), BLANK_ICON);
+	help_design.addActionListener(Gatherer.g_man);
+	help_design.setComponentOrientation(Dictionary.getOrientation());
+        
+	help_create = new JMenuItem(Dictionary.get("GUI.Create"), BLANK_ICON);
+	help_create.addActionListener(Gatherer.g_man);
+	help_create.setComponentOrientation(Dictionary.getOrientation());
+        
+	help_format = new JMenuItem(Dictionary.get("GUI.Format"), BLANK_ICON);
+	help_format.addActionListener(Gatherer.g_man);
+	help_format.setComponentOrientation(Dictionary.getOrientation());
+        
+	help_about = new JMenuItem(Dictionary.get("Menu.Help_About"));
+	help_about.addActionListener(Gatherer.g_man);
+	help_about.setComponentOrientation(Dictionary.getOrientation());
+        
+	// Layout (help menu)
+	help.add(help_general);
+	help.add(new JSeparator());
+	if (Configuration.get("workflow.download", true) && Gatherer.isDownloadEnabled) {
+	    help.add(help_download);
+	}
+	if (Configuration.get("workflow.gather", true)) {
+	    help.add(help_gather);
+	}
+	if (Configuration.get("workflow.enrich", true)) {
+	    help.add(help_enrich);
+	}
+	if (Configuration.get("workflow.design", true)) {
+	    help.add(help_design);
+	}
+	if (Configuration.get("workflow.create", true)) {
+	    help.add(help_create);
+	}
+	if (Configuration.get("workflow.format", true)) {
+	    help.add(help_format);
+	}
+	help.add(new JSeparator());
+	help.add(help_about);
+
+	// Layout (menu bar)
+	this.add(file);
+	this.add(Box.createHorizontalStrut(15));
+	this.add(edit);
+	this.add(Box.createHorizontalGlue());
+	this.add(help);
+    }
+
+    /** Once a quit has been requested by the user, prevent any further menu selections. */
+    public void exit() {
+	file.setEnabled(false);
+	edit.setEnabled(false);
+	help.setEnabled(false);
+    }
+
+    public void refresh(int refresh_reason, boolean ready)
+    {
+	file_close.setEnabled(ready);
+	file_save.setEnabled(ready);
+    }
+
+
+    /** In order to provide context aware help advice we keep track of which
+     *  tab the user has open, and then highlight that help menu item with
+     *  separators.
+     *  @param tab_index The index of the selected tab (0-7).
+     */
+    public void tabSelected(int tab_index) {
+	JMenuItem selected;
+	if(current_tab != -1) {
+	    // Remove the image
+	    selected = help.getItem(current_tab);
+	    if(selected != null) {
+		selected.setIcon(BLANK_ICON);
+	    }
+	}
+	current_tab = tab_index + 2;
+	selected = help.getItem(current_tab);
+	if(selected != null) {
+	    selected.setIcon(HELP_ICON);
+	}
+	selected = null;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/MetadataElementListCellRenderer.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/MetadataElementListCellRenderer.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/MetadataElementListCellRenderer.java	(revision 21123)
@@ -0,0 +1,82 @@
+package org.greenstone.gatherer.gui;
+
+
+import java.awt.*;
+import javax.swing.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataTools;
+
+
+public class MetadataElementListCellRenderer
+    extends JLabel
+    implements ListCellRenderer
+{
+    private byte previous_directionality = Character.DIRECTIONALITY_UNDEFINED;
+
+
+    public byte getDirectionality()
+    {
+	if (previous_directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT || previous_directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC || previous_directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING || previous_directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE) {
+	    return Character.DIRECTIONALITY_RIGHT_TO_LEFT;
+	}
+	else {
+	    return Character.DIRECTIONALITY_LEFT_TO_RIGHT;
+	}
+    }
+
+
+    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
+    {
+	if (value instanceof MetadataElement) {
+	    MetadataElement metadata_element = (MetadataElement) value;
+
+	    String interface_language_code = Configuration.getLanguage();
+	    String metadata_element_display = "";
+
+	    String metadata_element_display_name = metadata_element.getDisplayName();
+	    if (metadata_element_display_name != null) {
+		metadata_element_display += metadata_element_display_name + ":";
+	    }
+	    else {
+		metadata_element_display += metadata_element.getName() + ":";
+	    }
+
+	    String metadata_element_definition = MetadataTools.getMetadataElementAttribute(metadata_element, "definition", interface_language_code, "en");
+	    if (metadata_element_definition != null) {
+		metadata_element_display += " " + metadata_element_definition;
+	    }
+
+// 	    String metadata_element_comment = MetadataTools.getMetadataElementAttribute(metadata_element, "comment", interface_language_code, "en");
+// 	    if (metadata_element_comment != null) {
+// 		metadata_element_display += " " + metadata_element_comment;
+// 	    }
+
+	    setText(metadata_element_display);
+
+// 	    // Determine if the text should be left aligned or right aligned
+// 	    String text = metadata_element_display;
+// 	    int text_index = 0;
+// 	    byte directionality = Character.DIRECTIONALITY_UNDEFINED;
+// 	    while (directionality == Character.DIRECTIONALITY_UNDEFINED && text_index < text.length()) {
+// 		directionality = Character.getDirectionality(text.charAt(text_index));
+// 		text_index++;
+// 	    }
+// 	    if (directionality != previous_directionality) {
+// 		previous_directionality = directionality;
+// 		if (directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT || directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC || directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING || directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE) {
+// 		    setHorizontalAlignment(JLabel.TRAILING);
+// 		    setHorizontalTextPosition(JLabel.TRAILING);
+// 		    setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
+// 		}
+// 		else {
+// 		    setHorizontalAlignment(JLabel.LEADING);
+// 		    setHorizontalTextPosition(JLabel.LEADING);
+// 		    setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
+// 		}
+// 	    }
+	}
+
+	return this;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/MetadataImportMappingPrompt.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/MetadataImportMappingPrompt.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/MetadataImportMappingPrompt.java	(revision 21123)
@@ -0,0 +1,197 @@
+package org.greenstone.gatherer.gui;
+
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import javax.swing.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataSet;
+import org.greenstone.gatherer.metadata.MetadataSetManager;
+import org.greenstone.gatherer.metadata.MetadataTools;
+
+
+public class MetadataImportMappingPrompt
+    implements ActionListener
+{
+    final static public int ADD_BUTTON_PRESSED = 0;
+    final static public int MERGE_BUTTON_PRESSED = 1;
+    final static public int IGNORE_BUTTON_PRESSED = 2;
+    final static private Dimension DIALOG_SIZE = new Dimension(640, 180);
+
+    private int result;
+    private String metadata_element_name_full = null;
+    private GComboBox metadata_sets_combobox = null;
+    private GComboBox metadata_elements_combobox = null;
+    private JButton add_button = null;
+    private JButton merge_button = null;
+    private JButton ignore_button = null;
+    private JDialog on_screen = null;
+
+
+    public MetadataImportMappingPrompt(String metadata_element_name_full)
+    {
+	this.metadata_element_name_full = metadata_element_name_full;
+
+	// Construction and configuration
+	JDialog dialog = new ModalDialog(Gatherer.g_man);
+        dialog.setComponentOrientation(Dictionary.getOrientation());
+	dialog.setModal(true);
+	dialog.setSize(DIALOG_SIZE);
+	dialog.setJMenuBar(new SimpleMenuBar("importingpreviouslyassignedmetadata"));
+	dialog.setTitle(Dictionary.get("MIMP.Title"));
+	
+	// All the loaded metadata sets except the extracted metadata set are applicable
+	ArrayList metadata_sets = MetadataSetManager.getMetadataSets();
+	for (int i = metadata_sets.size() - 1; i >= 0; i--) {
+	    if (((MetadataSet) metadata_sets.get(i)).getNamespace().equals(MetadataSetManager.EXTRACTED_METADATA_NAMESPACE)) {
+		metadata_sets.remove(i);
+	    }
+	}
+
+  	add_button = new GLIButton(Dictionary.get("MIMP.Add"), Dictionary.get("MIMP.Add_Tooltip"));
+ 	add_button.addActionListener(this);
+  	
+  	merge_button = new GLIButton(Dictionary.get("MIMP.Merge"), Dictionary.get("MIMP.Merge_Tooltip"));
+  	merge_button.addActionListener(this);
+  	merge_button.setEnabled(true);
+  	
+  	ignore_button = new GLIButton(Dictionary.get("MIMP.Ignore"), Dictionary.get("MIMP.Ignore_Tooltip"));
+  	ignore_button.addActionListener(this);
+  	ignore_button.setEnabled(true);
+  	
+	// !! Need to add instructions: "MIMP.Instructions", args: source elem
+	metadata_elements_combobox = new GComboBox();
+
+	metadata_sets_combobox = new GComboBox(metadata_sets);
+	metadata_sets_combobox.addActionListener(new MetadataSetListSelectionListener());
+	metadata_sets_combobox.setSelectedIndex(0);
+
+	// Layout
+	JPanel left_pane = new JPanel();
+        left_pane.setComponentOrientation(Dictionary.getOrientation());
+	left_pane.setLayout(new GridLayout(3,1));
+        
+        JLabel tmp_lable;
+        
+        tmp_lable = new JLabel(Dictionary.get("MIMP.Source_Element"));
+        tmp_lable.setComponentOrientation(Dictionary.getOrientation());
+	left_pane.add(tmp_lable);
+        
+        tmp_lable = new JLabel(Dictionary.get("MIMP.Target_Set"));
+        tmp_lable.setComponentOrientation(Dictionary.getOrientation());
+	left_pane.add(tmp_lable);
+        
+        tmp_lable = new JLabel(Dictionary.get("MIMP.Target_Element"));
+        tmp_lable.setComponentOrientation(Dictionary.getOrientation());
+	left_pane.add(tmp_lable);
+
+	JPanel right_pane = new JPanel();
+        right_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	right_pane.setLayout(new GridLayout(3,1));
+	tmp_lable = new JLabel(metadata_element_name_full);
+        tmp_lable.setComponentOrientation(Dictionary.getOrientation());
+        right_pane.add(tmp_lable);
+	right_pane.add(metadata_sets_combobox);
+	right_pane.add(metadata_elements_combobox);
+
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	button_pane.setBorder(BorderFactory.createEmptyBorder(0,5,5,5));
+	button_pane.setLayout(new GridLayout(1,3));
+	button_pane.add(add_button);
+	button_pane.add(merge_button);
+	button_pane.add(ignore_button);
+
+	JPanel content_pane = (JPanel) dialog.getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+	content_pane.setLayout(new BorderLayout());
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.add(left_pane, BorderLayout.LINE_START);
+	content_pane.add(right_pane, BorderLayout.CENTER);
+	content_pane.add(button_pane, BorderLayout.SOUTH);
+
+	// Display
+	Dimension screen_size = Configuration.screen_size;
+	dialog.setLocation((screen_size.width - DIALOG_SIZE.width) / 2, (screen_size.height - DIALOG_SIZE.height) / 2);
+	on_screen = dialog;
+	on_screen.setVisible(true); // Blocks until hidden.
+	on_screen.dispose();
+	on_screen = null;
+    }
+
+
+    /** Any implementation of <i>ActionListener</i> must include this method so that we can be informed when an action has occured.
+     * @param event An <strong>ActionEvent</strong> containing information gatherer when this event occured.
+     */
+    public void actionPerformed(ActionEvent event)
+    {
+	Object esrc = event.getSource();
+
+	if (esrc == add_button) {
+	    result = ADD_BUTTON_PRESSED;
+	}
+	if (esrc == merge_button) {
+	    result = MERGE_BUTTON_PRESSED;
+	}
+	if (esrc == ignore_button) {
+	    result = IGNORE_BUTTON_PRESSED;
+	}
+
+	on_screen.setVisible(false);
+    }
+
+
+    public MetadataElement getSelectedMetadataElement()
+    {
+	return (MetadataElement) metadata_elements_combobox.getSelectedItem();
+    }
+
+
+    public MetadataSet getSelectedMetadataSet()
+    {
+	return (MetadataSet) metadata_sets_combobox.getSelectedItem();
+    }
+
+
+    public int getResult()
+    {
+	return result;
+    }
+
+
+    private class MetadataSetListSelectionListener
+	implements ActionListener
+    {
+	public void actionPerformed(ActionEvent event)
+	{
+	    boolean enable_add_button = true;
+	    String metadata_element_name = MetadataTools.getMetadataElementName(metadata_element_name_full);
+
+	    MetadataSet metadata_set = (MetadataSet) metadata_sets_combobox.getSelectedItem();
+	    ArrayList metadata_elements = metadata_set.getMetadataSetElements();
+
+	    metadata_elements_combobox.removeAllItems();
+	    for (int i = 0; i < metadata_elements.size(); i++) {
+		MetadataElement metadata_element = (MetadataElement) metadata_elements.get(i);
+		metadata_elements_combobox.addItem(metadata_element);
+		if (metadata_element.getName().equals(metadata_element_name)) {
+		    metadata_elements_combobox.setSelectedIndex(i);
+		    enable_add_button = false;
+		}
+	    }
+
+	    add_button.setEnabled(enable_add_button);
+
+	    // are there any elements in the set? if not (e.g. with exp set),
+	    // disable merge
+	    if (metadata_elements.size()==0) {
+		merge_button.setEnabled(false);
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/MetadataSetDialog.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/MetadataSetDialog.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/MetadataSetDialog.java	(revision 21123)
@@ -0,0 +1,428 @@
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import java.util.ArrayList;
+import java.util.Vector;
+import java.io.File;
+import java.util.Observer;
+import java.util.Observable;
+
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.cdm.DynamicListModel;
+import org.greenstone.gatherer.metadata.MetadataSet;
+import org.greenstone.gatherer.metadata.MetadataSetManager;
+import org.greenstone.gatherer.gems.*;
+
+public class MetadataSetDialog 
+    extends ModalDialog {
+
+    static private Dimension SIZE = new Dimension(600, 300);
+    static private Dimension ADD_SIZE = new Dimension(600, 500);
+    
+    private ArrayList current_metadata_sets;
+    private DynamicListModel current_metadata_model;
+
+    private JButton add_button = null;
+    private JButton edit_button = null;
+    private JButton remove_button = null;
+
+    private JButton close_button = null;
+    
+    private JList current_set_list = null;
+    private MetadataSetDialog set_dialog = null;
+    private boolean sets_changed = false;
+
+    private GEMS gems = null;
+    
+    public MetadataSetDialog() {
+	super(Gatherer.g_man, true);
+	set_dialog = this;
+	this.setComponentOrientation(Dictionary.getOrientation());
+	setJMenuBar(new SimpleMenuBar("selectingmetadatasets"));
+	setSize(SIZE);
+	setTitle(Dictionary.get("MetadataSetDialog.Title"));
+	
+	current_metadata_sets = MetadataSetManager.getMetadataSets();
+	current_metadata_model = new DynamicListModel();
+	
+	int current_size = current_metadata_sets.size();
+	for (int i=0; i<current_size; i++) {
+	    current_metadata_model.addElement(current_metadata_sets.get(i));
+	}
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+        content_pane.setOpaque(true);
+	
+	JLabel current_metadata_sets_label = new JLabel(Dictionary.get("MetadataSetDialog.Current_Sets"));
+	current_metadata_sets_label.setComponentOrientation(Dictionary.getOrientation());
+        current_metadata_sets_label.setOpaque(true);
+	current_set_list = new JList(current_metadata_model);
+        current_set_list.setComponentOrientation(Dictionary.getOrientation());
+	current_set_list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	add_button = new GLIButton(Dictionary.get("MetadataSetDialog.Add"), Dictionary.get("MetadataSetDialog.Add_Tooltip"));
+	add_button.setEnabled(true);
+	
+	edit_button = new GLIButton(Dictionary.get("MetadataSetDialog.Edit"), Dictionary.get("MetadataSetDialog.Edit_Tooltip"));
+	edit_button.setEnabled(false);
+	
+	remove_button = new GLIButton(Dictionary.get("MetadataSetDialog.Remove"), Dictionary.get("MetadataSetDialog.Remove_Tooltip"));
+	remove_button.setEnabled(false);
+	
+	close_button = new GLIButton(Dictionary.get("General.Close"), Dictionary.get("General.Close_Tooltip"));
+	close_button.setEnabled(true);
+
+
+	// Add listeners
+	add_button.addActionListener(new AddButtonListener());
+	edit_button.addActionListener(new EditButtonListener());
+	remove_button.addActionListener(new RemoveButtonListener());
+	close_button.addActionListener(new ActionListener() {
+		public void actionPerformed(ActionEvent event) {
+		    set_dialog.dispose();
+		}
+	    });
+	current_set_list.addListSelectionListener(new MetadataSetListSelectionListener());
+
+	button_pane.setLayout(new GridLayout(2,3));
+	button_pane.add(add_button);
+	button_pane.add(edit_button);
+	button_pane.add(remove_button);
+	button_pane.add(new JPanel());
+	button_pane.add(new JPanel());
+	button_pane.add(close_button);
+
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(current_metadata_sets_label, BorderLayout.NORTH);
+        JScrollPane scrol_tmp;
+        scrol_tmp = new JScrollPane(current_set_list);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	content_pane.add(scrol_tmp, BorderLayout.CENTER);
+	content_pane.add(button_pane, BorderLayout.SOUTH);
+	
+	// Show
+	Dimension screen_size = Configuration.screen_size;
+	setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	setVisible(true);
+
+    }
+
+    public boolean setsChanged() {
+	return sets_changed;
+    }
+    
+    private class AddButtonListener
+	implements ActionListener {
+
+	public void actionPerformed(ActionEvent event) {
+	    AddMetadataSetPrompt amsp = new AddMetadataSetPrompt();
+	    if (!amsp.isCancelled()) {
+		sets_changed = true;
+	    }
+	}
+    }
+    
+    private class EditButtonListener
+	implements ActionListener, GEMSListener {
+	
+	public void actionPerformed(ActionEvent event) {
+	    // do a pop up message
+	    MetadataSet metadata_set = (MetadataSet) current_set_list.getSelectedValue();
+	    String metadata_path = metadata_set.getMetadataSetFile().toString();
+	    if (gems == null){
+		gems = new GEMS(Configuration.gsdl_path,Configuration.gsdl3_path,"", false, false);
+		gems.addGEMSListener(this);
+	    }
+	    gems.displayMetadataSet(metadata_path);
+	}
+
+	public void gemsIsClosed()
+	{
+	    // We assume that the selected metadata was edited, so reload it and remember to update the table
+	    MetadataSet edited_metadata_set = (MetadataSet) current_set_list.getSelectedValue();
+	    MetadataSetManager.unloadMetadataSet(edited_metadata_set);
+	    MetadataSetManager.loadMetadataSet(edited_metadata_set.getMetadataSetFile());
+	    sets_changed = true;
+	}
+    }
+
+    private class RemoveButtonListener
+	implements ActionListener {
+	
+	public void actionPerformed(ActionEvent event) {
+	    MetadataSet metadata_set = (MetadataSet) current_set_list.getSelectedValue();
+	    current_metadata_model.removeElement(metadata_set);
+	    Gatherer.c_man.removeMetadataSet(metadata_set);
+	    sets_changed = true;
+	    
+	}
+
+    }
+
+
+    private class MetadataSetListSelectionListener
+	implements ListSelectionListener {
+	
+	public void valueChanged(ListSelectionEvent event)
+	{
+	    // Wait until we get a stable event
+	    if (event.getValueIsAdjusting()) {
+		return;
+	    }
+
+	    // Now we can process it
+	    if (!current_set_list.isSelectionEmpty() && !((MetadataSet)current_set_list.getSelectedValue()).getNamespace().equals(MetadataSetManager.EXTRACTED_METADATA_NAMESPACE)) {
+		remove_button.setEnabled(true);
+		edit_button.setEnabled(true);
+	    }
+	    else { 
+		remove_button.setEnabled(false);
+		edit_button.setEnabled(false);
+	    }
+	    
+	}
+	
+    }
+
+    private class AddMetadataSetPrompt
+	extends ModalDialog implements GEMSListener{
+	
+	private JDialog add_set_dialog;
+	private boolean cancelled = false;
+	
+	private JList elements_list;
+	private JList available_sets_list;
+
+	private JButton add_button;
+
+	private JButton new_button;
+     
+	private  GEMSListener self;
+
+	public AddMetadataSetPrompt() {
+	    super(Gatherer.g_man, true);
+            this.setComponentOrientation(Dictionary.getOrientation());
+	    add_set_dialog = this;
+	    setModal(true);
+	    setJMenuBar(new SimpleMenuBar("choosingmetadatasets"));
+	    setSize(ADD_SIZE);
+	    setTitle(Dictionary.get("MetadataSetDialog.Add_Title"));
+	    self = this;
+	   
+
+	    JPanel center_pane = new JPanel();
+            center_pane.setComponentOrientation(Dictionary.getOrientation());
+	    JPanel sets_pane = new JPanel();
+            sets_pane.setComponentOrientation(Dictionary.getOrientation());
+	    JLabel sets_label = new JLabel(Dictionary.get("MetadataSetDialog.Available_Sets"));
+            sets_label.setComponentOrientation(Dictionary.getOrientation());
+	    sets_label.setOpaque(false);
+	    
+	    available_sets_list = new JList(getValidSetModel());
+            available_sets_list.setComponentOrientation(Dictionary.getOrientation());
+	    available_sets_list.addListSelectionListener(new AvailableSetListSelectionListener());
+	    available_sets_list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+            
+	    JPanel elements_pane = new JPanel();
+            elements_pane.setComponentOrientation(Dictionary.getOrientation());
+	    JLabel elements_label = new JLabel(Dictionary.get("MetadataSetDialog.Elements"));
+	    elements_label.setComponentOrientation(Dictionary.getOrientation());
+            
+	    elements_list = new JList();
+            elements_list.setComponentOrientation(Dictionary.getOrientation());
+	    elements_list.setCellRenderer(new MetadataElementListCellRenderer());
+	    elements_list.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	    elements_list.setForeground(Configuration.getColor("coloring.collection_tree_foreground", false));
+	    elements_list.setSelectionBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	    elements_list.setSelectionForeground(Configuration.getColor("coloring.collection_tree_foreground", false));
+	    
+	    JPanel button_pane = new JPanel();
+            button_pane.setComponentOrientation(Dictionary.getOrientation());
+	    add_button = new GLIButton(Dictionary.get("MetadataSetDialog.Add_Set"), Dictionary.get("MetadataSetDialog.Add_Set_Tooltip"));
+	    add_button.setEnabled(false);
+          
+	    new_button = new GLIButton(Dictionary.get("MetadataSetDialog.New_Set"), Dictionary.get("MetadataSetDialog.New_Set_Tooltip"));
+	   
+	    JButton browse_button = new GLIButton(Dictionary.get("MetadataSetDialog.Browse"), Dictionary.get("MetadataSetDialog.Browse_Tooltip"));
+	    browse_button.setEnabled(true);
+	    JButton cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Pure_Cancel_Tooltip"));
+	    
+	    add_button.addActionListener(new AddSetActionListener());
+	    browse_button.addActionListener(new BrowseActionListener());
+	    cancel_button.addActionListener(new ActionListener() {
+		    public void actionPerformed(ActionEvent event) {
+			cancelled = true;
+			if (gems != null) {
+			    gems.removeGEMSListener(self);
+			}
+			add_set_dialog.dispose();
+		    }
+		});
+	    
+	    new_button.addActionListener(new ActionListener() {
+		    public void actionPerformed(ActionEvent event) {
+			if (gems == null) {
+			    gems = new GEMS(Configuration.gsdl_path, Configuration.gsdl3_path, "", false, false);
+			}
+			gems.newMetadataSet();
+			gems.addGEMSListener(self);
+		    }
+		});
+            	    	    
+
+	    // Layout
+	    sets_pane.setLayout(new BorderLayout());
+	    sets_pane.add(sets_label, BorderLayout.NORTH);
+	    sets_pane.add(new JScrollPane(available_sets_list), BorderLayout.CENTER);
+
+	    elements_pane.setLayout(new BorderLayout());
+	    elements_pane.add(elements_label, BorderLayout.NORTH);
+	    elements_pane.add(new JScrollPane(elements_list), BorderLayout.CENTER);
+
+	    center_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	    center_pane.setLayout(new GridLayout(2,1,0,5));
+	    center_pane.add(sets_pane);
+	    center_pane.add(elements_pane);
+	    
+	    button_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	    button_pane.setLayout(new GridLayout(1,4,5,0));
+	    button_pane.add(add_button);
+	    button_pane.add(new_button); 
+	    button_pane.add(browse_button);
+	    button_pane.add(cancel_button);
+	    
+	    JPanel content_pane = (JPanel) getContentPane();
+            content_pane.setComponentOrientation(Dictionary.getOrientation());
+	    content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	    content_pane.setLayout(new BorderLayout());
+	    content_pane.add(center_pane, BorderLayout.CENTER);
+	    content_pane.add(button_pane, BorderLayout.SOUTH);
+
+	    // Show
+	    Dimension screen_size = Configuration.screen_size;
+	    setLocation((screen_size.width - ADD_SIZE.width) / 2, (screen_size.height - ADD_SIZE.height) / 2);
+	    setVisible(true);
+	    	   
+	}
+	
+	public DynamicListModel getValidSetModel(){
+	    // Show the metadata sets (except extracted, exploded, and currently assigned sets) in the GLI metadata folder
+	    ArrayList all_metadata_sets = MetadataSetManager.listMetadataSets(new File(Gatherer.getGLIMetadataDirectoryPath()));
+	    ArrayList current_metadata_sets = MetadataSetManager.getMetadataSets();
+	    DynamicListModel valid_sets_model = new DynamicListModel();
+	    for (int i=0; i<all_metadata_sets.size(); i++) {
+		 MetadataSet set = (MetadataSet) all_metadata_sets.get(i);
+		 if (set.getNamespace().equals(MetadataSetManager.EXTRACTED_METADATA_NAMESPACE) || set.getNamespace().equals(MetadataSetManager.EXPLODED_METADATA_NAMESPACE)) {
+		    continue;
+		 }
+		// indexOf uses the equals() method, which for MetadataSets compares the toString() output, not the objects
+		 if (current_metadata_sets.indexOf(set)!=-1) {
+		    continue;
+		 }
+		 valid_sets_model.addElement(set);
+	     }
+	     
+	    return valid_sets_model;
+	}
+
+	
+	public void  gemsIsClosed(){ 
+	    available_sets_list.setModel(getValidSetModel()); 
+	}
+
+	public boolean isCancelled() {
+	    return cancelled;
+	}
+
+	private class AddSetActionListener
+	    implements ActionListener {
+
+	    public void actionPerformed(ActionEvent event) {
+		if (available_sets_list.isSelectionEmpty()) {
+		    return;
+		}
+		MetadataSet metadata_set = (MetadataSet) available_sets_list.getSelectedValue();
+		String namespace = metadata_set.getNamespace();
+		// have we got a variant already in the collection??
+		MetadataSet existing_set = null;
+		if ((existing_set = MetadataSetManager.getMetadataSet(namespace)) != null) {
+		    // warn that we are replacing
+		    String [] args = new String [] {metadata_set.toString(), existing_set.toString()};
+		    WarningDialog namespace_clash_dialog = new WarningDialog("warning.MetadataSetNamespaceClash", Dictionary.get("MetadataSetNamespaceClash.Title"), Dictionary.get("MetadataSetNamespaceClash.Message", args), null, true);
+		    if (namespace_clash_dialog.display()==JOptionPane.CANCEL_OPTION) {
+			namespace_clash_dialog.dispose();
+			return;
+		    }
+		    // if we have got here, then we remove the old set
+		    current_metadata_model.removeElement(existing_set);
+		    Gatherer.c_man.removeMetadataSet(existing_set);
+		    sets_changed = true;
+		    namespace_clash_dialog.dispose();
+		}
+		
+		
+		Gatherer.c_man.importMetadataSet(metadata_set);
+		metadata_set = MetadataSetManager.getMetadataSet(namespace);
+		current_metadata_model.addElement(metadata_set);
+		sets_changed = true;
+		cancelled = false;
+		add_set_dialog.dispose();
+
+	    }
+	}
+
+	private class BrowseActionListener
+	    implements ActionListener {
+
+	    public void actionPerformed(ActionEvent event) {
+		JFileChooser chooser = new JFileChooser(new File(Gatherer.getGLIMetadataDirectoryPath()));
+                chooser.setComponentOrientation(Dictionary.getOrientation());
+		chooser.setFileFilter(new MetadataSet.MetadataSetFileFilter());
+		chooser.setDialogTitle(Dictionary.get("MetadataSetDialog.Add_Title"));
+		int return_val = chooser.showDialog(Gatherer.g_man, Dictionary.get("MetadataSetDialog.Add_Set"));
+		if (return_val == JFileChooser.APPROVE_OPTION) {
+		    MetadataSet meta_set = new MetadataSet(chooser.getSelectedFile());
+		    Gatherer.c_man.importMetadataSet(meta_set);
+		    current_metadata_model.addElement(meta_set);
+		    cancelled = false;
+		    add_set_dialog.dispose();
+		} else {
+		    // we do nothing - user may want to add from the other dialog
+		}
+	    }
+	}
+	
+		
+	private class AvailableSetListSelectionListener 
+	    implements ListSelectionListener
+	{
+	    public void valueChanged(ListSelectionEvent event)
+	    {
+		// Wait until we get a stable event
+		if (event.getValueIsAdjusting()) {
+		    return;
+		}
+
+		if (!available_sets_list.isSelectionEmpty()) {
+		    // Retrieve the selected set
+		    MetadataSet metadata_set = (MetadataSet) available_sets_list.getSelectedValue();
+		    elements_list.setListData(new Vector(metadata_set.getMetadataSetElements()));
+		    add_button.setEnabled(true);
+		}
+		else {
+		    elements_list.setListData(new String[0]);
+		    add_button.setEnabled(false);
+		}
+	    }
+	}
+	
+	
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/MetadataValueTablePane.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/MetadataValueTablePane.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/MetadataValueTablePane.java	(revision 21123)
@@ -0,0 +1,428 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2005 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.gui;
+
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.table.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.collection.CollectionTreeNode;
+import org.greenstone.gatherer.metadata.MetadataChangedListener;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataTools;
+import org.greenstone.gatherer.metadata.MetadataValue;
+import org.greenstone.gatherer.metadata.MetadataValueTableEntry;
+import org.greenstone.gatherer.metadata.MetadataValueTableModel;
+import org.greenstone.gatherer.metadata.MetadataXMLFileManager;
+import org.greenstone.gatherer.util.JarTools;
+import org.greenstone.gatherer.util.Utility;
+
+
+public class MetadataValueTablePane
+    extends JPanel
+{
+    private MetadataValueTable metadata_value_table = null;
+    /** Used to display either the MetadataValueTable (when files are selected) or a placeholder panel */
+    private CardLayout card_layout = null;
+    /** The name of the panel containing the metadata value table */
+    private String METADATA_VALUE_TABLE_CARD = "";
+    /** The name of the panel containing the "no metadata available" placeholder */
+    private String NO_METADATA_AVAILABLE_CARD = "No metadata available";
+    /** The name of the panel containing the "no files selected" placeholder */
+    private String NO_FILES_SELECTED_CARD = "No files selected";
+
+
+    public MetadataValueTablePane()
+    {
+	super();
+        this.setComponentOrientation(Dictionary.getOrientation());
+	metadata_value_table = new MetadataValueTable();
+
+	JScrollPane metadata_value_table_scroll = new JScrollPane(metadata_value_table);
+	metadata_value_table_scroll.getViewport().setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	metadata_value_table_scroll.setOpaque(true);
+        metadata_value_table_scroll.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel metadata_value_table_pane = new JPanel();
+	metadata_value_table_pane.setLayout(new BorderLayout());
+	metadata_value_table_pane.add(metadata_value_table_scroll, BorderLayout.CENTER);
+        metadata_value_table_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JLabel no_metadata_available_label = new JLabel(Dictionary.get("EnrichPane.No_Metadata"));
+	no_metadata_available_label.setHorizontalAlignment(JLabel.CENTER);
+	no_metadata_available_label.setOpaque(false);
+	no_metadata_available_label.setVerticalAlignment(JLabel.CENTER);
+	no_metadata_available_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel no_metadata_available_pane = new JPanel();
+	no_metadata_available_pane.setLayout(new BorderLayout());
+	no_metadata_available_pane.add(no_metadata_available_label, BorderLayout.CENTER);
+        no_metadata_available_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JLabel no_files_selected_label = new JLabel(Dictionary.get("EnrichPane.No_File"));
+	no_files_selected_label.setHorizontalAlignment(JLabel.CENTER);
+	no_files_selected_label.setOpaque(false);
+	no_files_selected_label.setVerticalAlignment(JLabel.CENTER);
+	no_files_selected_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel no_files_selected_pane = new JPanel();
+	no_files_selected_pane.setLayout(new BorderLayout());
+	no_files_selected_pane.add(no_files_selected_label, BorderLayout.CENTER);
+        no_files_selected_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	card_layout = new CardLayout();
+
+	this.setBorder(BorderFactory.createEmptyBorder(5,0,5,0));
+	this.setFont(Configuration.getFont("general.font", false));
+	this.setLayout(card_layout);
+	this.add(metadata_value_table_pane, METADATA_VALUE_TABLE_CARD);
+	this.add(no_metadata_available_pane, NO_METADATA_AVAILABLE_CARD);
+	this.add(no_files_selected_pane, NO_FILES_SELECTED_CARD);
+    }
+
+
+    public void addMetadataValueTableListSelectionListener(ListSelectionListener list_selection_listener)
+    {
+	metadata_value_table.getSelectionModel().addListSelectionListener(list_selection_listener);
+    }
+
+
+    public void addMetadataValueTableMouseListener(MouseListener mouse_listener)
+    {
+	metadata_value_table.addMouseListener(mouse_listener);
+    }
+
+
+    public void addMetadataValueTextFieldDocumentListener(DocumentListener document_listener)
+    {
+	metadata_value_table.getMetadataValueTextField().getDocument().addDocumentListener(document_listener);
+    }
+
+
+    public void addMetadataValueTextFieldKeyListener(KeyListener key_listener)
+    {
+	metadata_value_table.getMetadataValueTextField().addKeyListener(key_listener);
+    }
+
+
+    public MetadataValueTableEntry getSelectedMetadataValueTableEntry()
+    {
+	return metadata_value_table.getSelectedMetadataValueTableEntry();
+    }
+
+
+    public boolean isMouseEventForInheritedMetadataValueTableColumn(MouseEvent mouse_event)
+    {
+	return metadata_value_table.isMouseEventForInheritedMetadataValueTableColumn(mouse_event);
+    }
+
+
+    public void setMetadataValueTextFieldValue(String metadata_value_string)
+    {
+	metadata_value_table.setMetadataValueTextFieldValue(metadata_value_string);
+    }
+
+
+    public void stopEditingAndAddBlankRowForSelectedMetadataElement()
+    {
+	metadata_value_table.stopEditing();
+	metadata_value_table.addBlankRowForSelectedMetadataElement();
+    }
+
+
+    public void stopEditingAndRebuild(CollectionTreeNode[] file_nodes)
+    {
+	metadata_value_table.stopEditing();
+	metadata_value_table.rebuild(file_nodes);
+
+	// If no files are selected display the "no file selected" card
+	if (file_nodes == null) {
+	    card_layout.show(this, NO_FILES_SELECTED_CARD);
+	}
+	// If the metadata value table is empty display the "no metadata available" card
+	else if (metadata_value_table.getRowCount() == 0) {
+	    card_layout.show(this, NO_METADATA_AVAILABLE_CARD);
+	}
+	// Otherwise display the card with the metadata value table
+	else {
+	    card_layout.show(this, METADATA_VALUE_TABLE_CARD);
+	}
+    }
+
+
+    private class MetadataValueTable
+	extends JTable
+	implements MetadataChangedListener
+    {
+	private int MINIMUM_TABLE_HEADER_SIZE = 15;
+
+	private MetadataValueTableModel metadata_value_table_model = null;
+	private JTextField metadata_value_text_field = new JTextField();
+
+
+	public MetadataValueTable()
+	{
+            this.setComponentOrientation(Dictionary.getOrientation());
+	    // Create the model for the table
+	    metadata_value_table_model = new MetadataValueTableModel();
+	    setModel(metadata_value_table_model);
+
+	    // We allow only one row in the table to be selected at a time
+	    setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+
+	    // We use our own editor for the value column so we have easy access to the underlying text field
+	    setDefaultEditor(String.class, new DefaultCellEditor(metadata_value_text_field));
+
+	    // We need to listen for double clicks on the text field to open the editor dialog
+	    metadata_value_text_field.addMouseListener(new MetadataValueTextFieldMouseListener());
+	    metadata_value_text_field.setBorder(null);
+            metadata_value_text_field.setComponentOrientation(Dictionary.getOrientation());
+
+	    // We need to listen for key presses so we can catch Enter presses
+	    addKeyListener(new MetadataValueTableKeyListener());
+
+	    // We need to listen for metadata changes so we can rebuild the table
+	    MetadataXMLFileManager.addMetadataChangedListener(this);
+
+	    // We also have to ensure that the table column header hasn't gone on a severe Jenny Craig binge and has somehow lost 7/8th of its component size
+	    JTableHeader table_header = getTableHeader();
+            table_header.setComponentOrientation(Dictionary.getOrientation());
+            
+	    Dimension table_header_preferred_size = table_header.getPreferredSize();
+	    if (table_header_preferred_size.height < MINIMUM_TABLE_HEADER_SIZE) {
+		table_header_preferred_size.setSize(table_header_preferred_size.width, MINIMUM_TABLE_HEADER_SIZE);
+		table_header.setPreferredSize(table_header_preferred_size);
+	    }
+
+	    // Set the size of the table columns: 2/7 for element, 5/7 for value (actual numbers don't matter) 
+	    TableColumnModel column_model = getColumnModel();
+	    TableColumn inherited_column = column_model.getColumn(0);
+	    inherited_column.setMinWidth(25);
+	    inherited_column.setPreferredWidth(25);
+	    inherited_column.setMaxWidth(25);
+	    TableColumn element_column = column_model.getColumn(1);
+	    element_column.setPreferredWidth(200);
+	    TableColumn value_column = column_model.getColumn(2);
+	    value_column.setPreferredWidth(500);
+
+	    // Use our own renderer for the table cells
+	    MetadataValueTableCellRenderer metadata_value_table_cell_renderer = new MetadataValueTableCellRenderer();
+	    inherited_column.setCellRenderer(metadata_value_table_cell_renderer);
+	    element_column.setCellRenderer(metadata_value_table_cell_renderer);
+	    value_column.setCellRenderer(metadata_value_table_cell_renderer);
+	}
+
+
+	private void addBlankRowForSelectedMetadataElement()
+	{
+	    // Add a blank entry for the selected metadata element, then switch to it
+	    MetadataElement selected_metadata_element = getSelectedMetadataValueTableEntry().getMetadataElement();
+	    int blank_row = metadata_value_table_model.addBlankRowForMetadataElement(selected_metadata_element);
+	    changeSelection(blank_row, 2, false, false);
+	}
+
+
+	private JTextField getMetadataValueTextField()
+	{
+	    return metadata_value_text_field;
+	}
+
+
+	private MetadataValueTableEntry getSelectedMetadataValueTableEntry()
+	{
+	    return metadata_value_table_model.getMetadataValueTableEntry(getSelectedRow());
+	}
+
+
+	private boolean isMouseEventForInheritedMetadataValueTableColumn(MouseEvent mouse_event)
+	{
+	    return (columnAtPoint(mouse_event.getPoint()) == 0);
+	}
+
+
+	public void metadataChanged(CollectionTreeNode[] file_nodes)
+	{
+	    rebuild(file_nodes);
+	}
+
+
+	private void rebuild(CollectionTreeNode[] file_nodes)
+	{
+	    // Note the metadata value table entry currently selected
+	    MetadataValueTableEntry selected_metadata_value_table_entry = getSelectedMetadataValueTableEntry();
+
+	    // We don't want a lot of ListSelectionEvents while the table is rebuilding
+	    clearSelection();
+
+	    // Rebuild the metadata value table model
+	    metadata_value_table_model.rebuild(file_nodes);
+
+	    // Restore the metadata value table entry selection
+	    if (selected_metadata_value_table_entry != null) {
+		int row_to_select = metadata_value_table_model.findMetadataValueTableEntryToSelect(selected_metadata_value_table_entry);
+		changeSelection(row_to_select, 2, false, false);
+	    }
+	}
+
+
+	private void setMetadataValueTextFieldValue(String metadata_value_string)
+	{
+	    metadata_value_text_field.setText(metadata_value_string);
+	    metadata_value_text_field.requestFocus();
+	}
+
+
+	private void stopEditing()
+	{
+	    // Save the current value in the text field, then remove the editor so it doesn't get saved again
+	    TableCellEditor table_cell_editor = getCellEditor();
+	    if (table_cell_editor != null) {
+		Object new_metadata_value = table_cell_editor.getCellEditorValue();
+		setValueAt(new_metadata_value, editingRow, editingColumn);
+		removeEditor();
+	    }
+	}
+
+
+	private class MetadataValueTableCellRenderer
+	    extends DefaultTableCellRenderer
+	{
+	    /** Returns the default table cell renderer.
+	     * @param table The <strong>JTable</strong>.
+	     * @param value The value to assign to the cell at [row, column] as an <strong>Object</strong>.
+	     * @param isSelected <i>true</i> if cell is selected.
+	     * @param hasFocus <i>true</i> if cell has focus.
+	     * @param row The row of the cell to render as an <i>int</i>.
+	     * @param column The column of the cell to render as an <i>int</i>.
+	     * @return The default table cell renderer <strong>Component</strong>.
+	     */
+	    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
+	    {
+		JComponent component = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
+                component.setComponentOrientation(Dictionary.getOrientation());
+                
+		int real_column = table.convertColumnIndexToModel(column);
+		// First column: inherited metadata icon
+		if (real_column == 0 && value != null) {
+		    component = new JLabel(JarTools.getImage("upfolder.gif"));
+		    component.setToolTipText(Dictionary.get("EnrichPane.InheritedMetadata_Tooltip"));
+		}
+
+		// Make sure the focus always stay in the value cell of the selected row
+		if (real_column == 2 && isSelected) {
+		    table.editCellAt(row, column);
+		    if (table.isEditing()) {
+			table.getEditorComponent().requestFocus();
+		    }
+		}
+
+		// Set up the component
+		component.setOpaque(true);
+
+		// Foreground
+		if (metadata_value_table_model.isCommon(row)) {
+		    component.setForeground(Color.black);
+		}
+		else {
+		    component.setForeground(Color.gray);
+		}
+
+		// Background
+		if (isSelected) {
+		    component.setBackground(Configuration.getColor("coloring.workspace_heading_background", true));
+		}
+		else {
+		    if (real_column < 2) {
+			component.setBackground(Configuration.getColor("coloring.collection_heading_background", true));
+		    }
+		    else {
+			component.setBackground(Configuration.getColor("coloring.collection_tree_background", true));
+		    }
+		}
+
+		// The value column of cells never paints focus
+		if (real_column == 2) {
+		    component.setBorder(BorderFactory.createEmptyBorder(0,2,0,0));
+		}
+
+		// We set a tooltip over the element column containing the definition of the element
+		if (value instanceof MetadataElement) {
+		    String interface_language_code = Configuration.getLanguage();
+		    String metadata_element_definition = MetadataTools.getMetadataElementAttribute((MetadataElement) value, "definition", interface_language_code, "en");
+		    if (metadata_element_definition != null) {
+			component.setToolTipText(Utility.formatHTMLWidth(metadata_element_definition, 60));
+		    }
+		}
+
+		return component;
+	    }
+	}
+
+
+	private class MetadataValueTableKeyListener
+	    extends KeyAdapter
+	{
+	    /** Gives notification of key events on the text field */
+	    public void keyPressed(KeyEvent key_event)
+	    {
+		// Enter: save the current value then add a blank row for the selected metadata element
+		if (key_event.getKeyCode() == KeyEvent.VK_ENTER) {
+		    // ...but not for extracted metadata elements of course
+		    MetadataValueTableEntry metadata_value_table_entry = getSelectedMetadataValueTableEntry();
+		    if (!metadata_value_table_entry.getMetadataElement().isExtractedMetadataElement()) {
+			addBlankRowForSelectedMetadataElement();
+		    }
+
+		    // We do not want this event to be processed by the table also
+		    key_event.consume();
+		}
+	    }
+	}
+
+
+	private class MetadataValueTextFieldMouseListener
+	    extends MouseAdapter
+	{
+	    public void mouseClicked(MouseEvent mouse_event)
+	    {
+		// Double-click: pop up an editor dialog for large metadata values
+		if (mouse_event.getClickCount() == 2) {
+ 		    EditorDialog editor_dialog = new EditorDialog();
+ 		    String new_metadata_value_string = editor_dialog.display(metadata_value_text_field.getText());
+ 		    if (new_metadata_value_string != null) {
+ 			setMetadataValueTextFieldValue(new_metadata_value_string);
+ 		    }
+		}
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/MetadataValueTreePane.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/MetadataValueTreePane.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/MetadataValueTreePane.java	(revision 21123)
@@ -0,0 +1,330 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2005 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.gui;
+
+
+import java.awt.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.metadata.MetadataElement;
+import org.greenstone.gatherer.metadata.MetadataValue;
+import org.greenstone.gatherer.metadata.MetadataValueTreeNode;
+import org.greenstone.gatherer.util.PatternTokenizer;
+
+
+/**
+ * This class is a little bit complex, a little bit subtle, and a little bit odd.
+ * The strange interaction model is due to the fact that it is very tightly
+ * coupled to the EnrichPane.
+ *
+ * The interaction is complex because there are three separate controls that the
+ * user may interact with, each of which can affect the other two. The three
+ * controls are:
+ *   - The "assigned metadata" table, at the top right of the meta edit pane.
+ *   - The "metadata value" text field, where users can type in new values.
+ *   - The "metadata value tree", which shows other values that have been
+ *     assigned to the selected metadata element.
+ *
+ * The interactions are:
+ *   - The "assigned metadata" table
+ *     Users may select one (and only one) row in this table. Selecting a row
+ *     chooses one metadata element. The text field will be set to the current
+ *     value of the metadata element. This value will also be selected in the
+ *     metadata value tree.
+ *
+ *   - The "metadata value" text field
+ *     If the value the user has typed in this is a prefix of an entry in the
+ *     value tree, this value will be selected in the value tree. In this case,
+ *     pressing "Tab" will complete the value (ie. make the value in the text
+ *     field the same as the value in the tree). This is to allow users to
+ *     quickly and easily assign existing metadata values to new documents.
+ *
+ *   - The "metadata value tree"
+ *     Selecting a value in the tree will set the text field to this value.
+ */
+public class MetadataValueTreePane
+    extends JPanel
+{
+    private boolean ignore_tree_selection_event = false;
+    /** The metadata value that the tree pane is built on */
+    private MetadataValue metadata_value = null;
+
+    /** Used to display either the MetadataValueTree (when metadata is selected) or a placeholder panel */
+    private CardLayout card_layout = null;
+    /** The name of the panel containing the metadata value tree */
+    private String METADATA_VALUE_TREE_CARD = "";
+    /** The name of the panel containing the "extracted metadata element selected" placeholder */
+    private String EXTRACTED_METADATA_ELEMENT_SELECTED_CARD = "Extracted metadata element selected";
+    /** The name of the panel containing the "inherited metadata selected" placeholder */
+    private String INHERITED_METADATA_SELECTED_CARD = "Inherited metadata selected";
+    /** The name of the panel containing the "not only file only metadata selected" placeholder */
+    private String NOT_ONE_FILE_ONLY_METADATA_SELECTED_CARD = "Not one file only metadata selected";
+    /** The name of the panel containing the "no metadata element selected" placeholder */
+    private String NO_METADATA_ELEMENT_SELECTED_CARD = "No metadata element selected";
+
+    private JLabel metadata_value_tree_label = new JLabel();
+    private JTextArea extracted_metadata_element_selected_message;
+    private JTree metadata_value_tree;
+
+
+    public MetadataValueTreePane()
+    {
+	super();
+        JScrollPane scrol_tmp;
+        this.setComponentOrientation(Dictionary.getOrientation());
+        metadata_value_tree_label.setComponentOrientation(Dictionary.getOrientation());
+	// Card containing the metadata value tree
+	metadata_value_tree = new JTree();
+        metadata_value_tree.setComponentOrientation(Dictionary.getOrientation());
+	metadata_value_tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
+	metadata_value_tree.setModel(null);
+	metadata_value_tree.setRootVisible(false);
+	metadata_value_tree.putClientProperty("JTree.lineStyle", "Angled");
+
+	JPanel metadata_value_tree_pane = new JPanel();
+        metadata_value_tree_pane.setComponentOrientation(Dictionary.getOrientation());        
+	metadata_value_tree_pane.setLayout(new BorderLayout());
+	metadata_value_tree_pane.add(metadata_value_tree_label, BorderLayout.NORTH);
+        scrol_tmp = new JScrollPane(metadata_value_tree);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	metadata_value_tree_pane.add(scrol_tmp, BorderLayout.CENTER);
+
+	// Card containing the "extracted metadata element selected" message
+	extracted_metadata_element_selected_message = new JTextArea("");
+        extracted_metadata_element_selected_message.setComponentOrientation(Dictionary.getOrientation());
+	extracted_metadata_element_selected_message.setEditable(false);
+	extracted_metadata_element_selected_message.setLineWrap(true);
+	extracted_metadata_element_selected_message.setOpaque(false);
+	extracted_metadata_element_selected_message.setWrapStyleWord(true);
+
+	JPanel extracted_metadata_element_selected_pane = new JPanel();
+        extracted_metadata_element_selected_pane.setComponentOrientation(Dictionary.getOrientation());
+	extracted_metadata_element_selected_pane.setBorder(BorderFactory.createEmptyBorder(25,0,0,0));
+	extracted_metadata_element_selected_pane.setLayout(new BorderLayout());
+	extracted_metadata_element_selected_pane.add(extracted_metadata_element_selected_message, BorderLayout.CENTER);
+
+	// Card containing the "inherited metadata selected" message
+	JTextArea inherited_metadata_selected_message = new JTextArea(Dictionary.get("EnrichPane.InheritedMetadataSelected"));
+	inherited_metadata_selected_message.setEditable(false);
+	inherited_metadata_selected_message.setLineWrap(true);
+	inherited_metadata_selected_message.setOpaque(false);
+	inherited_metadata_selected_message.setWrapStyleWord(true);
+        inherited_metadata_selected_message.setComponentOrientation(Dictionary.getOrientation());
+	
+	JPanel inherited_metadata_selected_pane = new JPanel();
+	inherited_metadata_selected_pane.setBorder(BorderFactory.createEmptyBorder(25,0,0,0));
+	inherited_metadata_selected_pane.setLayout(new BorderLayout());
+	inherited_metadata_selected_pane.add(inherited_metadata_selected_message, BorderLayout.CENTER);
+        inherited_metadata_selected_pane.setComponentOrientation(Dictionary.getOrientation());
+	// Card containing the "not one file only metadata selected" message
+	JTextArea not_one_file_only_metadata_selected_message = new JTextArea(Dictionary.get("EnrichPane.NotOneFileOnlyMetadataSelected"));
+	not_one_file_only_metadata_selected_message.setEditable(false);
+	not_one_file_only_metadata_selected_message.setLineWrap(true);
+	not_one_file_only_metadata_selected_message.setOpaque(false);
+	not_one_file_only_metadata_selected_message.setWrapStyleWord(true);
+        not_one_file_only_metadata_selected_message.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel not_one_file_only_metadata_selected_pane = new JPanel();
+	not_one_file_only_metadata_selected_pane.setBorder(BorderFactory.createEmptyBorder(25,0,0,0));
+	not_one_file_only_metadata_selected_pane.setLayout(new BorderLayout());
+	not_one_file_only_metadata_selected_pane.add(not_one_file_only_metadata_selected_message, BorderLayout.CENTER);
+        not_one_file_only_metadata_selected_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	// Card containing the "no metadata element selected" message
+	JLabel no_metadata_element_selected_label = new JLabel(Dictionary.get("EnrichPane.No_Metadata_Element"));
+	no_metadata_element_selected_label.setHorizontalAlignment(JLabel.CENTER);
+	no_metadata_element_selected_label.setOpaque(false);
+	no_metadata_element_selected_label.setVerticalAlignment(JLabel.CENTER);
+        no_metadata_element_selected_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel no_metadata_element_selected_pane = new JPanel();
+	no_metadata_element_selected_pane.setLayout(new BorderLayout());
+	no_metadata_element_selected_pane.add(no_metadata_element_selected_label, BorderLayout.CENTER);
+        no_metadata_element_selected_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	card_layout = new CardLayout();
+        
+	this.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	this.setFont(Configuration.getFont("general.font", false));
+	this.setLayout(card_layout);
+	this.add(no_metadata_element_selected_pane, NO_METADATA_ELEMENT_SELECTED_CARD);
+	this.add(extracted_metadata_element_selected_pane, EXTRACTED_METADATA_ELEMENT_SELECTED_CARD);
+	this.add(inherited_metadata_selected_pane, INHERITED_METADATA_SELECTED_CARD);
+	this.add(not_one_file_only_metadata_selected_pane, NOT_ONE_FILE_ONLY_METADATA_SELECTED_CARD);
+	this.add(metadata_value_tree_pane, METADATA_VALUE_TREE_CARD);
+    }
+
+
+    public void addMetadataValueTreeSelectionListener(TreeSelectionListener tree_selection_listener)
+    {
+	metadata_value_tree.addTreeSelectionListener(tree_selection_listener);
+    }
+
+
+    /** Returns a TreePath for the node most closely matching the metadata value. */
+    private TreePath getClosestPath(String metadata_value_string)
+    {
+	if (metadata_value_tree.getModel() == null) {
+	    return null;
+	}
+
+	// Start at the root of the tree
+	MetadataValueTreeNode tree_node = (MetadataValueTreeNode) metadata_value_tree.getModel().getRoot();
+
+	// Separate hierarchical values
+	PatternTokenizer tokenizer = new PatternTokenizer(metadata_value_string, MetadataValueTreeNode.METADATA_VALUE_TREE_NODE_HIERARCHY_TOKEN);
+	while (tokenizer.hasMoreTokens()) {
+	    String token = tokenizer.nextToken();
+
+	    // All components except the last must match exactly
+	    if (tokenizer.hasMoreTokens()) {
+		for (int i = 0; i < tree_node.getChildCount(); i++) {
+		    MetadataValueTreeNode child_node = (MetadataValueTreeNode) tree_node.getChildAt(i);
+		    if (child_node.getValue().equals(token)) {
+			// The matching node has been found, so move onto the next token
+			tree_node = child_node;
+			break;
+		    }
+		}
+	    }
+
+	    // The last component may match partially
+	    else {
+		for (int i = 0; i < tree_node.getChildCount(); i++) {
+		    MetadataValueTreeNode child_node = (MetadataValueTreeNode) tree_node.getChildAt(i);
+		    if (child_node.getFullValue().startsWith(metadata_value_string)) {
+			// The closest node has been found, so return its path
+			return new TreePath(child_node.getPath());
+		    }
+		}
+
+		// Not even a partial match
+		return null;
+	    }
+	}
+
+	// If nothing else, return the path of the root node
+	return new TreePath(tree_node.getPath());
+    }
+
+
+    public MetadataValueTreeNode getSelectedMetadataValueTreeNode()
+    {
+	if (metadata_value_tree.getSelectionCount() == 0 || ignore_tree_selection_event) {
+	    return null;
+	}
+
+	return (MetadataValueTreeNode) metadata_value_tree.getSelectionPath().getLastPathComponent();
+    }
+
+
+    public void rebuild(MetadataValue new_metadata_value)
+    {
+	// If the metadata value hasn't changed there is nothing to do
+	if (new_metadata_value == metadata_value) {
+	    return;
+	}
+
+	MetadataElement metadata_element = ((metadata_value != null) ? metadata_value.getMetadataElement() : null);
+	metadata_value = new_metadata_value;
+
+	// Selection cleared, so display "no metadata element selected" card and we're done
+	if (new_metadata_value == null) {
+	    metadata_value_tree.setModel(null);
+	    card_layout.show(this, NO_METADATA_ELEMENT_SELECTED_CARD);
+	    return;
+	}
+
+	// If a piece of inherited metadata is selected, display "inherited metadata selected" card and we're done
+	if (new_metadata_value.isInheritedMetadata()) {
+	    card_layout.show(this, INHERITED_METADATA_SELECTED_CARD);
+	    return;
+	}
+
+	// If the metadata applies to multiple files, display "not one file only metadata selected" card and we're done
+	if (new_metadata_value.isOneFileOnlyMetadata() == false) {
+	    card_layout.show(this, NOT_ONE_FILE_ONLY_METADATA_SELECTED_CARD);
+	    return;
+	}
+
+	// If an extracted metadata element is selected, display "extracted metadata element selected" card
+	MetadataElement new_metadata_element = new_metadata_value.getMetadataElement();
+	if (new_metadata_element.isExtractedMetadataElement()) {
+	    String[] args = new String[1];
+	    args[0] = new_metadata_element.getDisplayName();
+	    extracted_metadata_element_selected_message.setText(Dictionary.get("EnrichPane.AutoMessage", args));
+	    card_layout.show(this, EXTRACTED_METADATA_ELEMENT_SELECTED_CARD);
+	    return;
+	}
+
+	// Display the value tree for the selected metadata element
+	String[] args = new String[1];
+	args[0] = new_metadata_element.getDisplayName();
+	metadata_value_tree_label.setText(Dictionary.get("EnrichPane.ExistingValues", args));
+	
+	metadata_value_tree.setModel(new_metadata_element.getMetadataValueTreeModel());
+	card_layout.show(this, METADATA_VALUE_TREE_CARD);
+	selectBestPathForMetadataValue(new_metadata_value.getFullValue());
+    }
+
+
+    public void selectBestPathForMetadataValue(String metadata_value_string)
+    {
+	TreePath best_path = getClosestPath(metadata_value_string);
+
+	// Select the new path in the tree
+	// The tree selection event this causes must be ignored, since it alters the metadata text field value
+	ignore_tree_selection_event = true;
+	metadata_value_tree.setSelectionPath(best_path);
+	ignore_tree_selection_event = false;
+
+	// If a folder has been specified, make sure it is expanded
+	if (metadata_value_string.endsWith(MetadataValueTreeNode.METADATA_VALUE_TREE_NODE_HIERARCHY_TOKEN) && !metadata_value_tree.isExpanded(best_path)) {
+	    metadata_value_tree.expandPath(best_path);
+	}
+
+	// Make sure the tree path is expanded
+	metadata_value_tree.makeVisible(best_path);
+
+	// Make sure the tree path is visible on screen
+	final Rectangle bounds = metadata_value_tree.getPathBounds(best_path);
+	if (bounds != null) {
+	    bounds.x = 0;  // Want the tree to be always flushed left
+
+	    // Scrolling the path to be visible must be done on the GUI thread
+	    Runnable task = new Runnable() {
+		    public void run() {
+			metadata_value_tree.scrollRectToVisible(bounds);
+		    }
+		};
+	    SwingUtilities.invokeLater(task);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/ModalDialog.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/ModalDialog.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/ModalDialog.java	(revision 21123)
@@ -0,0 +1,218 @@
+/*#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+
+
+/** An extension of the JDialog that overrides the JVM's typical modal behaviour. This typical behaviour is that when a modal dialog is opened, all other windows cease to respond to user events until the modal dialog is disposed. However this prevents us opening the help documents property whenever a modal dialog is open. Thus we override the modal behaviour so that only the owner frame or dialog is blocked. 
+ * Note that because we always call the super constructor with modal set to false, this should be made visible with setVisible(true) rather than show() which will return straight away. */
+// feedback note: veronika had changed all the super constructor calls to 
+// use modal instead of false - not sure if this is needed so I have not 
+// put that in. --kjdon
+public class ModalDialog
+    extends JDialog {
+
+    /** The current modal dialog being shown on screen, if any. */
+    static public ModalDialog current_modal = null;
+
+    /** true if this dialog should be modal, ie block user actions to its owner window, false otherwise. */
+    protected boolean modal = false;
+    /** true if this dialog is currently waiting some thread. */
+    protected boolean waiting = false;
+
+    /** Constructor.
+     */
+    public ModalDialog() {
+	super((Frame)null, "", false);
+        this.setComponentOrientation(Dictionary.getOrientation());
+    }
+
+    /** Constructor.
+     * @param parent the Dialog which is the owener of this dialog.
+    */
+    public ModalDialog(Dialog parent) {
+	super(parent, "", false);
+        this.setComponentOrientation(Dictionary.getOrientation());
+    }
+
+    /** Constructor.
+     * @param parent the Dialog which is the owener of this dialog.
+     * @param modal true if this dialog should be modal, ie block user actions to its owner window, false otherwise.
+     */
+    public ModalDialog(Dialog parent, boolean modal) {
+	super(parent, "", false);
+        this.setComponentOrientation(Dictionary.getOrientation());
+	this.modal = modal;
+    }
+    
+    /** Constructor.
+     * @param parent the Dialog which is the owner of this dialog.
+     * @param title the String to use as the title for this dialog.
+     */
+    public ModalDialog(Dialog parent, String title) {
+	super (parent, title, false);
+        this.setComponentOrientation(Dictionary.getOrientation());
+	this.modal = false;
+    }
+
+    /** Constructor.
+     * @param parent the Dialog which is the owener of this dialog.
+     * @param title the String to use as the title for this dialog.
+     * @param modal true if this dialog should be modal, ie block user actions to its owner window, false otherwise.
+     */
+    public ModalDialog(Dialog parent, String title, boolean modal) {
+	super (parent, title, false);
+        this.setComponentOrientation(Dictionary.getOrientation());
+	this.modal = modal;
+    }
+
+   /** Constructor.
+     * @param parent the Frame which is the owener of this dialog.
+     */
+    public ModalDialog(Frame parent) {
+	super(parent, "", false);
+        this.setComponentOrientation(Dictionary.getOrientation());
+    }
+
+    /** Constructor.
+     * @param parent the Frame which is the owener of this dialog.
+     * @param modal whether this dialog is modal or not
+     */
+    public ModalDialog(Frame parent, boolean modal) {
+	super(parent, "", false);
+        this.setComponentOrientation(Dictionary.getOrientation());
+	this.modal = modal;
+    }
+    
+    /** Constructor.
+     * @param parent the Frame which is the owner of this dialog.
+     * @param title the String to use as the title for this dialog.
+     */
+    public ModalDialog(Frame parent, String title) {
+	super (parent, title, false);
+        this.setComponentOrientation(Dictionary.getOrientation());
+    }
+
+    /** Constructor.
+     * @param parent the Frame which is the owener of this dialog.
+     * @param title the String to use as the title for this dialog.
+     * @param modal true if this dialog should be modal, ie block user actions to its owner window, false otherwise.
+     */
+    public ModalDialog(Frame parent, String title, boolean modal) {
+	super (parent, title, false);
+	this.modal = modal;
+        this.setComponentOrientation(Dictionary.getOrientation());
+    }
+
+    public void dispose() {
+	super.dispose();
+    }
+
+    /** Ensures the current dialog is visible. */
+    public void makeVisible() {
+	super.setVisible(true);
+    }
+
+    /** The set visible method is overriden to provide modal functionality. It essentially hijacks control of the event dispatch thread while the dialog is open, only allowing non-user events to be passed to the parent dialog. Furthermore it only has this effect within the current AWT component tree by utilitizing the TreeLock.
+     * @param visible true if this dialog should be painted on-screen, false otherwise.
+     */
+    public void setVisible(boolean visible)
+    {
+	if (visible) {
+	    current_modal = this;
+	}
+	else {
+	    current_modal = null;
+	}
+
+	// If we are in the AWT Dispatch thread then it is all good.
+ 	if (SwingUtilities.isEventDispatchThread()) {
+ 	    super.setVisible(visible);
+	    if (modal && visible) {
+		EventQueue theQueue = getToolkit().getSystemEventQueue();
+		while (isVisible()) {
+		    try {
+			AWTEvent event = theQueue.getNextEvent();
+			Object src = event.getSource();
+
+			// Block all keyboard and mouse events to the parent component
+			if (src.equals(getParent())) {
+			    if (event instanceof KeyEvent || event instanceof MouseEvent) {
+				// System.err.println("Event to parent component blocked.");
+				continue;
+			    }
+			}
+
+			// Re-dispatch other events
+			if (event instanceof ActiveEvent) {
+  			    ((ActiveEvent) event).dispatch();
+  			}			    
+			else if (src instanceof Component) {
+			    ((Component) src).dispatchEvent(event);
+			}
+		    }
+		    catch (Exception exception) {
+			DebugStream.printStackTrace(exception);
+		    }
+		}
+	    }
+ 	}
+ 	else {
+ 	    try {
+ 		SwingUtilities.invokeAndWait(new MakeDialogVisibleTask(this, visible));
+ 	    }
+ 	    catch (Exception exception) {
+ 		DebugStream.printStackTrace(exception);
+ 	    }
+ 	}
+    }
+    
+    private class MakeDialogVisibleTask
+	implements Runnable {
+	private boolean make_visible;
+	private ModalDialog dialog;
+	public MakeDialogVisibleTask(ModalDialog dialog, boolean make_visible) {
+	    this.dialog = dialog;
+	    this.make_visible = make_visible;
+	}
+	public void run() {
+	    // Blocks until the user dismisses the dialog
+	    dialog.setVisible(make_visible);
+	}
+    }
+
+    /** Overridden method so we can control modality and not rely on the Dialog default.
+     * @param modal true if this dialog should be modal, ie block user actions to its owner window, false otherwise.
+     */
+    public void setModal (boolean modal) {
+	this.modal = modal;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/ModalProgressPopup.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/ModalProgressPopup.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/ModalProgressPopup.java	(revision 21123)
@@ -0,0 +1,92 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2005 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.gui;
+
+
+import java.awt.*;
+import javax.swing.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+
+
+public class ModalProgressPopup
+    extends ModalDialog
+{
+    /** The size of the popup */
+    final static private Dimension SIZE = new Dimension(300, 75);
+
+    private String message = null;
+
+
+    public ModalProgressPopup(String title, String message)
+    {
+	super(Gatherer.g_man, title);
+	this.message = message;
+        this.setComponentOrientation(Dictionary.getOrientation());
+    }
+
+
+    /** Method to close the popup. */
+    public void close()
+    {
+	setVisible(false);
+	Gatherer.g_man.wait(false);
+    }
+
+
+    /** Method to display the popup on screen. */
+    public void display()
+    {
+	setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
+	setSize(SIZE);
+
+	// Create
+	JProgressBar progress_bar = new JProgressBar();
+        progress_bar.setComponentOrientation(Dictionary.getOrientation());
+	progress_bar.setIndeterminate(true);
+
+	// Layout
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.setLayout(new BorderLayout());
+        
+        JLabel tmp = new JLabel(message);
+        tmp.setComponentOrientation(Dictionary.getOrientation());
+	
+        content_pane.add(tmp, BorderLayout.NORTH);
+	content_pane.add(progress_bar, BorderLayout.CENTER);
+
+	Dimension screen_size = Configuration.screen_size;
+	setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	setVisible(true);
+
+	// Lock the rest of the GLI interface until close() is called
+	Gatherer.g_man.wait(true);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/NewCollectionDetailsPrompt.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/NewCollectionDetailsPrompt.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/NewCollectionDetailsPrompt.java	(revision 21123)
@@ -0,0 +1,455 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Project, NZDL, University of Waikato
+ *
+ * Copyright (C) 2003 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.File;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.text.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.BasicCollectionConfiguration;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+
+public class NewCollectionDetailsPrompt
+    extends ModalDialog {
+
+     
+	
+    static public boolean titleClashes(String title, File current_config_file) {
+	// An empty collection title never clashes with anything. It may look ugly in the final collection but there is nothing wrong with having no title for a particular language.
+	if(title == null || title.length() == 0) {
+	    return false;
+	}
+	File collect_directory = new File(Gatherer.getCollectDirectoryPath());
+	String file_name = (Gatherer.GS3)? Utility.CONFIG_GS3_FILE : Utility.CONFIG_FILE;
+	File children[] = collect_directory.listFiles();
+	for(int i = 0; children != null && i < children.length; i++) {
+	    if(children[i].isDirectory()) {
+		File config_file = new File(children[i], file_name);
+		if(current_config_file == null || !config_file.equals(current_config_file)) {
+		    BasicCollectionConfiguration other_collection = new BasicCollectionConfiguration(config_file);
+		    if(other_collection.getName().equalsIgnoreCase(title)) {  
+			return true;
+		    }
+		    other_collection = null;
+		}
+		config_file = null;
+	    }
+	}
+	return false;
+    }
+
+    private boolean cancelled;
+    private File base_final;
+    private JButton create_button;
+    private JComboBox base_collection;
+    private JDialog self;
+    private JRadioButton personal_collection_button = null;
+    private JTextArea description;
+    private JTextField title;
+    private String description_final;
+    private String title_final="";
+    static private Dimension COMPONENT_SIZE = new Dimension(230, 25);
+    /** The size of this new collection dialog box. */
+    static private Dimension SIZE = new Dimension(600, 280);
+    static private int FILENAME_SIZE = 8;
+
+    /** Constructor.
+     * @see org.greenstone.gatherer.util.Utility
+     */
+    public NewCollectionDetailsPrompt() {
+	super(Gatherer.g_man, true);        
+	this.cancelled = true;
+        this.setComponentOrientation(Dictionary.getOrientation());
+	this.self = this;
+	// Setup
+	setJMenuBar(new SimpleMenuBar("creatingacollection"));
+	setSize(SIZE);
+	setTitle(Dictionary.get("NewCollectionPrompt.Title"));
+	
+	// Model building. Build a model of all of the collections in the gsdl collect directory with the appropriate directories.
+	Vector base_collection_model = new Vector();
+	// need to modify this to base a coll on any collection from any site
+	if (Gatherer.GS3 && !Gatherer.isGsdlRemote) {
+	    File sites_dir = new File(Gatherer.getSitesDirectoryPath());
+	    File [] sites = sites_dir.listFiles();
+	    for (int i=0; i<sites.length; i++) {
+		File collect_directory = new File(sites_dir + File.separator + sites[i].getName() + File.separator + "collect");
+		if (collect_directory.exists()) {
+		    addCollectionsToModel(base_collection_model, collect_directory, sites[i].getName());
+		}
+	    }
+	} else {
+	   File collect_directory = new File(Gatherer.getCollectDirectoryPath());
+	   addCollectionsToModel(base_collection_model, collect_directory, null);
+	}
+
+	// Sort the result.
+	Collections.sort(base_collection_model);
+	base_collection_model.add(0, new Item(null, Dictionary.get("NewCollectionPrompt.NewCollection")));
+
+	// Creation
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+	content_pane.setOpaque(true);
+	JPanel upper_pane = new JPanel();
+        upper_pane.setComponentOrientation(Dictionary.getOrientation());
+	JLabel instructions_label = new JLabel(Dictionary.get("NewCollectionPrompt.Instructions"));
+	instructions_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel title_pane = new JPanel();
+        title_pane.setComponentOrientation(Dictionary.getOrientation());
+	JLabel title_label = new JLabel(Dictionary.get("CDM.General.Collection_Name"));
+        title_label.setComponentOrientation(Dictionary.getOrientation());
+	title = new JTextField();
+        title.setComponentOrientation(Dictionary.getOrientation());
+	title.setPreferredSize(COMPONENT_SIZE);
+	title.setToolTipText(Dictionary.get("CDM.General.Collection_Name_Tooltip"));
+	JLabel name_label = new JLabel(Dictionary.get("NewCollectionPrompt.Collection_Name"));
+	name_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel center_pane = new JPanel();
+        center_pane.setComponentOrientation(Dictionary.getOrientation());
+	JPanel description_pane = new JPanel();
+        description_pane.setComponentOrientation(Dictionary.getOrientation());
+	JLabel description_label = new JLabel(Dictionary.get("NewCollectionPrompt.Collection_Description"));
+        description_label.setComponentOrientation(Dictionary.getOrientation());
+	description = new JTextArea();
+        description.setComponentOrientation(Dictionary.getOrientation());
+	description.setBackground(Configuration.getColor("coloring.editable_background", false));
+	description.setForeground(Configuration.getColor("coloring.editable_foreground", false));
+	description.setRows(5);
+	description.setToolTipText(Dictionary.get("CDM.General.Collection_Extra_Tooltip"));
+	
+	JPanel bottom_pane = new JPanel();
+        bottom_pane.setComponentOrientation(Dictionary.getOrientation());
+	// Base Collection
+	JPanel base_collection_pane = new JPanel();
+        base_collection_pane.setComponentOrientation(Dictionary.getOrientation());
+	
+        JLabel base_collection_label = new JLabel(Dictionary.get("NewCollectionPrompt.Base_Collection"));
+        base_collection_label.setComponentOrientation(Dictionary.getOrientation());
+	
+        base_collection = new JComboBox(base_collection_model);
+        base_collection.setComponentOrientation(Dictionary.getOrientation());    
+	base_collection.setOpaque(false);
+	base_collection.setToolTipText(Dictionary.get("NewCollectionPrompt.Base_Collection_Tooltip"));
+	
+	JPanel collection_scope_pane = new JPanel();
+        collection_scope_pane.setComponentOrientation(Dictionary.getOrientation());
+	
+        personal_collection_button = new JRadioButton(Dictionary.get("NewCollectionPrompt.Collection_Scope_Personal"));
+        personal_collection_button.setToolTipText(Dictionary.get("NewCollectionPrompt.Collection_Scope_Personal_Tooltip"));
+	personal_collection_button.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	personal_collection_button.setOpaque(false);
+        personal_collection_button.setComponentOrientation(Dictionary.getOrientation());
+	
+        JRadioButton shared_collection_button = new JRadioButton(Dictionary.get("NewCollectionPrompt.Collection_Scope_Shared"));        
+	shared_collection_button.setToolTipText(Dictionary.get("NewCollectionPrompt.Collection_Scope_Shared_Tooltip")); 
+	shared_collection_button.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	shared_collection_button.setOpaque(false);
+        shared_collection_button.setComponentOrientation(Dictionary.getOrientation());
+	
+        ButtonGroup collection_scope_group = new ButtonGroup();
+	collection_scope_group.add(personal_collection_button);
+	collection_scope_group.add(shared_collection_button);
+	personal_collection_button.setSelected(true);
+
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	create_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("General.OK_Tooltip"));
+	JButton cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Cancel_Tooltip"));
+
+	// Connection
+	cancel_button.addActionListener(new CancelListener());
+	create_button.addActionListener(new CreateListener());
+	description.addKeyListener(new DescriptionListener());
+
+	// Layout
+	title_pane.setLayout(new BorderLayout(5,0));
+	title_pane.add(title_label, BorderLayout.LINE_START);
+	title_pane.add(title, BorderLayout.CENTER);
+
+	upper_pane.setLayout(new GridLayout(2,1));
+	upper_pane.add(instructions_label);
+	upper_pane.add(title_pane);
+
+        JScrollPane scrol_tmp;
+        
+	description_pane.setLayout(new BorderLayout());
+	description_pane.add(description_label, BorderLayout.NORTH);        
+        scrol_tmp=new JScrollPane(description);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	description_pane.add(scrol_tmp, BorderLayout.CENTER);
+
+	base_collection_pane.setLayout(new BorderLayout(5,0));
+	base_collection_pane.add(base_collection_label, BorderLayout.LINE_START);
+	base_collection_pane.add(base_collection, BorderLayout.CENTER);
+
+	collection_scope_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	collection_scope_pane.setLayout(new GridLayout(1,2));
+	collection_scope_pane.add(personal_collection_button);
+	collection_scope_pane.add(shared_collection_button);
+
+	center_pane.setBorder(BorderFactory.createEmptyBorder(5,0,5,0));
+	center_pane.setLayout(new BorderLayout());
+	center_pane.add(description_pane, BorderLayout.CENTER);
+
+	bottom_pane.setLayout(new BorderLayout());
+	bottom_pane.add(base_collection_pane, BorderLayout.NORTH);
+	if (Gatherer.isGsdlRemote) {
+	    bottom_pane.add(collection_scope_pane, BorderLayout.CENTER);
+	    bottom_pane.add(button_pane, BorderLayout.SOUTH);
+	}
+	else {
+	    bottom_pane.add(button_pane, BorderLayout.CENTER);
+	}
+
+	button_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	button_pane.setLayout(new GridLayout(1,2));
+	button_pane.add(create_button);
+	button_pane.add(cancel_button);
+
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(upper_pane, BorderLayout.NORTH);
+	content_pane.add(center_pane, BorderLayout.CENTER);
+	content_pane.add(bottom_pane, BorderLayout.SOUTH);
+	// Final dialog setup & positioning.
+	getRootPane().setDefaultButton(create_button);
+	Dimension screen_size = Configuration.screen_size;
+	setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	setVisible(true);
+    }
+
+    public boolean isCancelled() {
+	return cancelled;
+    }
+
+    public File getBase() {
+	return base_final;
+    }
+
+    public String getDescription() {
+	return description_final;
+    }
+ 
+    /** Generates the collection short filename by taking the first eight characters of the title (spaces removed) and then adjusting by further truncating and then adding an unique suffix as necessary.
+     * @return the filename as a String
+     */
+    public String getName()
+    {
+	// Retrieve the first 8 non-whitespace ASCII characters of title_final.
+	StringBuffer name_buffer = new StringBuffer("");
+	for (int i = 0, u = 0; (i < title_final.length() && u < 8); i++) {
+	    // To be safe we make sure the internal collection name (folder name) contains only ASCII characters
+	    char c = title_final.charAt(i);
+	    if ((int) c < 128 && Character.isLetterOrDigit(c)) {
+		name_buffer.append(Character.toLowerCase(c));
+		u++;
+	    }
+	}
+
+	// Use "col" as the base collection name if we have nothing left
+	if (name_buffer.length() == 0) {
+	    name_buffer = new StringBuffer("col");
+	}
+
+	// Remote collections that aren't shared have the user's username prefixed to the collection name
+	if (Gatherer.isGsdlRemote && personal_collection_button.isSelected()) {
+	    name_buffer = new StringBuffer(Gatherer.remoteGreenstoneServer.getUsername() + "-" + name_buffer.toString());
+	}
+
+	// We need to ensure the filename is unique
+	int counter = 0;
+	StringBuffer new_name_buffer = new StringBuffer(name_buffer.toString());
+	while(filenameClashes(new_name_buffer.toString())) {
+	    new_name_buffer = new StringBuffer(name_buffer.toString());
+	    counter++;
+	    String suffix = String.valueOf(counter);
+	    // If we have to truncate the namestring so as to fit the suffix
+	    if(suffix.length() + new_name_buffer.length() > 8) {
+		new_name_buffer.replace(new_name_buffer.length() - suffix.length(), new_name_buffer.length(), suffix);
+	    }
+	    // Or just append it if that isn't necessary
+	    else {
+		new_name_buffer.append(suffix);
+	    }
+	}
+
+	// All done
+	return new_name_buffer.toString();
+    }
+    
+    private boolean filenameClashes(String filename)
+    {
+	File collect_directory = new File(Gatherer.getCollectDirectoryPath());
+	File children[] = collect_directory.listFiles();
+	for(int i = 0; children != null && i < children.length; i++) {
+	    if(children[i].getName().equals(filename)) {
+		return true;
+	    }
+	}
+	return false;
+    }
+
+    public String getTitle() {
+	return title_final;
+    }
+
+    private void addCollectionsToModel(Vector base_collection_model, File collect_directory, String site) {
+	File[] possible_collections = collect_directory.listFiles();
+	String file_name = (Gatherer.GS3)? Utility.CONFIG_GS3_FILE : Utility.CONFIG_FILE;
+	for (int i = 0; possible_collections != null && i < possible_collections.length; i++) {
+	    // If the directory has a etc/collect.cfg file then it looks like a collection
+	    File collect_cfg_file = new File(possible_collections[i], file_name);
+	    if (collect_cfg_file.exists()) {
+		// Check for group coll: Check the collect.cfg for collectgroup=true
+		BasicCollectionConfiguration config = new BasicCollectionConfiguration(collect_cfg_file);
+		if (config.getCollectGroup().equals("true")) {
+		    // try subdirs in here
+		    addCollectionsToModel(base_collection_model, possible_collections[i], site);
+		} 
+		else {
+		    
+		    // If the directory has a metadata/ then the collection can be used as a base
+		    File metadata_directory = new File(possible_collections[i], "metadata");
+		    if (metadata_directory.exists()) {
+			// Add to model
+			BasicCollectionConfiguration collect_cfg = new BasicCollectionConfiguration(collect_cfg_file);
+			if (Gatherer.GS3 && site != null) {
+			    collect_cfg.setSite(site);
+			}
+			Item item = new Item(possible_collections[i], collect_cfg);
+			if (!base_collection_model.contains(item)) {
+			    base_collection_model.add(item);
+			}
+		    }
+		}
+	    }
+	}
+       
+    }
+
+    private class CancelListener
+	implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+	    cancelled = true;
+	    self.dispose();
+	}
+    }
+
+    
+    private class CreateListener
+	implements ActionListener {
+	
+	public void actionPerformed(ActionEvent event) {
+	    // Validate.
+	    title_final = title.getText();
+	    if(title_final.length() == 0) {
+		JOptionPane jOptionPane=new JOptionPane();
+                jOptionPane.setComponentOrientation(Dictionary.getOrientation());
+		jOptionPane.setOpaque(!Utility.isMac());
+		jOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("NewCollectionPrompt.Title_Error"), Dictionary.get("NewCollectionPrompt.Error"), JOptionPane.ERROR_MESSAGE);
+		return;
+	    }
+	    // We must ensure that the collection title is unique. This is a pain in the nether regions as we are forced to load the collect.cfg of each other collection in turn looking for a conflicting title
+	    else {
+		if(titleClashes(title_final, null)) {
+		    JOptionPane jOptionPane=new JOptionPane();
+                    jOptionPane.setComponentOrientation(Dictionary.getOrientation());
+		    jOptionPane.setOpaque(!Utility.isMac());
+		    if (jOptionPane.showConfirmDialog(Gatherer.g_man, Dictionary.get("NewCollectionPrompt.Title_Clash"), Dictionary.get("General.Warning"), JOptionPane.YES_NO_OPTION) == JOptionPane.NO_OPTION) {
+			return;
+		    }
+		}
+	    }
+
+	    description_final = description.getText();
+
+	    // If we got this far there are no errors.
+	    Item item_final = (Item) base_collection.getSelectedItem();
+	    base_final = item_final.getFile();
+	    
+	    cancelled = false;
+	    
+	    self.dispose();
+	}
+    }
+    
+    private class DescriptionListener
+	extends KeyAdapter {
+	public void keyPressed(KeyEvent event) {
+	    if(event.getKeyCode() == KeyEvent.VK_TAB) {
+		event.consume();
+		base_collection.grabFocus();
+	    }
+	}
+    }
+
+    private class Item
+	implements Comparable {
+	private BasicCollectionConfiguration config;
+	private File file;
+	private String name;
+	public Item(File file, BasicCollectionConfiguration config) {
+	    this.config = config;
+	    this.file = file;
+	    this.name = null;
+	}
+	public Item(File file, String name) {
+	    this.config = null;
+	    this.file = file;
+	    this.name = name;
+	}
+	public int compareTo(Object other) {
+	    return toString().toLowerCase().compareTo(other.toString().toLowerCase());
+	}
+	public boolean equals(Object other) {
+	    return compareTo(other) == 0;
+	}
+	public File getFile() {
+	    return file;
+	}
+	public String toString() {
+	    if(name == null && config != null) {
+		name = config.toString();
+	    }
+	    return name;
+	}
+    }
+}
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/NewFolderOrFilePrompt.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/NewFolderOrFilePrompt.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/NewFolderOrFilePrompt.java	(revision 21123)
@@ -0,0 +1,182 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import javax.swing.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionTreeNode;
+import org.greenstone.gatherer.file.FileManager;
+
+public class NewFolderOrFilePrompt
+    extends JDialog 
+    implements ActionListener {
+    private CollectionTreeNode node;
+    private JButton cancel_button;
+    private JButton ok_button;
+    private JTextField name_field;
+    private String name;
+
+    private int type;
+    private String extension="";
+    static final private Dimension SIZE = new Dimension(350,115);
+
+    public NewFolderOrFilePrompt(CollectionTreeNode node, int type, String extension) {
+	super(Gatherer.g_man, true);
+        this.setComponentOrientation(Dictionary.getOrientation());
+	if (type == FileManager.FILE_TYPE) {
+	    setTitle(Dictionary.get("NewFolderOrFilePrompt.Title_File"));
+	} else {
+	    setTitle(Dictionary.get("NewFolderOrFilePrompt.Title_Folder"));
+	}
+	this.type = type;
+	if (extension != null) {
+	    this.extension = extension;
+	}
+	this.node = node;
+    }
+
+    public void actionPerformed(ActionEvent event) {
+	if (event.getSource() == ok_button) {
+	    name = name_field.getText()+extension;
+	}
+	else if(event.getSource() == cancel_button) {
+	    name = null;
+	}
+	dispose();
+    }
+
+    public String display() {
+	setSize(SIZE);
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel labels_pane = new JPanel();
+        labels_pane.setComponentOrientation(Dictionary.getOrientation());
+	JPanel fields_pane = new JPanel();
+        fields_pane.setComponentOrientation(Dictionary.getOrientation());
+	JPanel info_pane = new JPanel();
+        info_pane.setComponentOrientation(Dictionary.getOrientation());
+
+	JLabel destination_label = new JLabel(Dictionary.get("NewFolderOrFilePrompt.Destination_Name"));
+        destination_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	JTextField destination_textfield = new JTextField(node.getFile().getName());
+        destination_textfield.setComponentOrientation(Dictionary.getOrientation());
+	destination_textfield.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	destination_textfield.setEditable(false);
+	
+	JLabel name_label = new JLabel();
+        name_label.setComponentOrientation(Dictionary.getOrientation());;
+	name_field = new JTextField(getAutomaticName());
+        name_field.setComponentOrientation(Dictionary.getOrientation());
+	if (type == FileManager.FILE_TYPE) {
+	    name_label.setText(Dictionary.get("NewFolderOrFilePrompt.File_Name"));
+	    name_field.setToolTipText(Dictionary.get("NewFolderOrFilePrompt.File_Name_Tooltip"));
+	} else {
+	    name_label.setText(Dictionary.get("NewFolderOrFilePrompt.Folder_Name"));
+	    name_field.setToolTipText(Dictionary.get("NewFolderOrFilePrompt.Folder_Name_Tooltip"));
+	}
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	ok_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("General.OK_Tooltip"));
+	
+	cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Pure_Cancel_Tooltip"));
+	
+	// Connection
+	cancel_button.addActionListener(this);
+	ok_button.addActionListener(this);
+
+	// Layout
+	labels_pane.setLayout(new GridLayout(2,1, 5,0));
+	labels_pane.add(destination_label);
+	labels_pane.add(name_label);
+
+	fields_pane.setLayout(new GridLayout(2,1,0,5));
+	fields_pane.add(destination_textfield);
+	fields_pane.add(name_field);
+	
+	info_pane.setLayout(new BorderLayout(5,0));
+	info_pane.add(labels_pane, BorderLayout.LINE_START);
+	info_pane.add(fields_pane, BorderLayout.CENTER);
+
+	button_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	button_pane.setLayout(new GridLayout(1,2,0,5));
+	button_pane.add(ok_button);
+	button_pane.add(cancel_button);
+
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(info_pane, BorderLayout.CENTER);
+	content_pane.add(button_pane, BorderLayout.SOUTH);
+
+	// Display
+	Rectangle frame_bounds = Gatherer.g_man.getBounds();
+	setLocation(frame_bounds.x + (frame_bounds.width - SIZE.width) / 2, frame_bounds.y + (frame_bounds.height - SIZE.height) / 2);
+	setVisible(true);
+	return name;
+    }
+
+    private String getAutomaticName()
+    {
+	File file = node.getFile();
+	String default_name;
+	if (type == FileManager.FILE_TYPE) {
+	    default_name = Dictionary.get("NewFolderOrFilePrompt.Default_File_Name");
+	} else {
+	    default_name = Dictionary.get("NewFolderOrFilePrompt.Default_Folder_Name");
+	}
+	
+	File temp_file = new File(file, default_name+extension);
+	int count = 1;
+	while (temp_file.exists()) {
+	    temp_file = new File(file, default_name + " " + count+extension);
+	    count++;
+	}
+	if (extension.equals("")) {
+	    return temp_file.getName();
+	} 
+	String name = temp_file.getName();
+	// remove the extension
+	return name.substring(0, name.length()-extension.length());
+	
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/NonWhitespaceField.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/NonWhitespaceField.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/NonWhitespaceField.java	(revision 21123)
@@ -0,0 +1,77 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+/**************************************************************************************
+ * Written:     04/07/03
+ * Revised:     
+ **************************************************************************************/
+import javax.swing.*;
+import javax.swing.text.*;
+import org.greenstone.gatherer.Dictionary;
+
+/** A JTextField that doesn't allow whitespace characters. 
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.4
+ */
+public class NonWhitespaceField 
+    extends JTextField {
+ 
+    public NonWhitespaceField() {
+	super();
+        this.setComponentOrientation(Dictionary.getOrientation());
+    }
+
+    public NonWhitespaceField(String text) {
+	super(text);
+        this.setComponentOrientation(Dictionary.getOrientation());
+    }
+ 
+    protected Document createDefaultModel() {
+	return new NonWhitespaceDocument();        
+    }
+ 
+    static class NonWhitespaceDocument 
+	extends PlainDocument {
+		  
+	public void insertString(int offs, String str, AttributeSet a) 
+	    throws BadLocationException {
+				
+	    if (str == null) {
+		return;
+	    }
+	    char[] raw = str.toCharArray();
+	    StringBuffer result = new StringBuffer("");
+	    for (int i = 0; i < raw.length; i++) {
+		if(!Character.isWhitespace(raw[i])) {
+		    result.append(raw[i]);
+		}
+	    }
+	    super.insertString(offs, result.toString(), a);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/OpenCollectionDialog.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/OpenCollectionDialog.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/OpenCollectionDialog.java	(revision 21123)
@@ -0,0 +1,396 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.BasicCollectionConfiguration;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.shell.GShell;
+import org.greenstone.gatherer.shell.GShellEvent;
+import org.greenstone.gatherer.shell.GShellListener;
+import org.greenstone.gatherer.shell.GShellProgressMonitor;
+
+/** A dialog which provides a straight-forward access to the currently installed collections. It also will contain the ability to continue through to the original OpenCollectionDialog if your source collection is located somewhere other than the gsdl collect folder. */
+public class OpenCollectionDialog
+    extends ModalDialog {
+
+    static final public int OK_OPTION = 0;
+    static final public int CANCEL_OPTION = 1;
+
+    static final private Dimension SIZE = new Dimension(640,480);
+    static final private String BLANK = "b";
+    static final private String DESCRIPTION = "d";
+
+    private CardLayout card_layout;
+    private int result;
+    private JButton cancel_button;
+    private JButton open_button;
+    private JList collection_list;
+    private JTextArea description_textarea;
+    private JPanel description_pane;
+    private String filename;
+
+    public OpenCollectionDialog() {
+	super(Gatherer.g_man, "", true);
+	setJMenuBar(new SimpleMenuBar("openingacollection"));
+        this.setComponentOrientation(Dictionary.getOrientation());
+	setSize(SIZE);
+	setTitle(Dictionary.get("OpenCollectionDialog.Title"));
+	
+	// Creation
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel center_pane = new JPanel();
+        center_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel collection_list_pane = new JPanel();
+        collection_list_pane.setComponentOrientation(Dictionary.getOrientation());
+	JLabel collection_list_label = new JLabel(Dictionary.get("OpenCollectionDialog.Available_Collections"));
+        collection_list_label.setComponentOrientation(Dictionary.getOrientation());
+	collection_list = new JList(new CollectionListModel());
+        collection_list.setComponentOrientation(Dictionary.getOrientation());
+        
+	description_pane = new JPanel();
+        description_pane.setComponentOrientation(Dictionary.getOrientation());
+	card_layout = new CardLayout();
+        
+	JPanel blank_pane = new JPanel();
+        blank_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel description_textarea_pane = new JPanel();
+        description_textarea_pane.setComponentOrientation(Dictionary.getOrientation());
+	JLabel description_textarea_label = new JLabel(Dictionary.get("OpenCollectionDialog.Description"));
+        description_textarea_label.setComponentOrientation(Dictionary.getOrientation());
+	description_textarea = new JTextArea();
+        description_textarea.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	open_button = new GLIButton(Dictionary.get("OpenCollectionDialog.Open"), Dictionary.get("OpenCollectionDialog.Open_Tooltip"));
+	open_button.setEnabled(false);
+	
+	cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Pure_Cancel_Tooltip"));
+	
+	// Connection
+	cancel_button.addActionListener(new CancelListener());
+	open_button.addActionListener(new OpenListener());
+	CollectionListSelectionListener clsl = new CollectionListSelectionListener();
+	collection_list.addListSelectionListener(clsl);
+	collection_list.addMouseListener(clsl);
+	clsl = null;
+
+	// Layout
+        JScrollPane scrol_tmp;
+        
+	collection_list_pane.setLayout(new BorderLayout());
+	collection_list_pane.add(collection_list_label, BorderLayout.NORTH);
+        scrol_tmp = new JScrollPane(collection_list);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	collection_list_pane.add(scrol_tmp, BorderLayout.CENTER);
+
+	description_textarea_pane.setLayout(new BorderLayout());
+	description_textarea_pane.add(description_textarea_label, BorderLayout.NORTH);
+	scrol_tmp =new JScrollPane(description_textarea);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+        description_textarea_pane.add(scrol_tmp, BorderLayout.CENTER);
+
+	description_pane.setLayout(card_layout);
+	description_pane.add(description_textarea_pane, DESCRIPTION);
+	description_pane.add(blank_pane, BLANK);
+
+	center_pane.setLayout(new GridLayout(2,1,0,5));
+	center_pane.add(collection_list_pane);
+	center_pane.add(description_pane);
+
+	button_pane.setLayout(new GridLayout(1,4));
+        JPanel tmp =new JPanel();
+        tmp.setComponentOrientation(Dictionary.getOrientation());
+	button_pane.add(tmp);
+	button_pane.add(open_button);
+	button_pane.add(cancel_button);
+
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(center_pane, BorderLayout.CENTER);
+	content_pane.add(button_pane, BorderLayout.SOUTH);
+
+	Dimension screen_size = Configuration.screen_size;
+	setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	screen_size = null;
+    }
+
+    public void destroy() {
+    }
+
+    public int display() {
+	setVisible(true);
+	return result;
+    }
+
+    public String getFileName() {
+	return this.filename;
+    }
+
+    private class CancelListener
+	implements ActionListener {
+
+	public void actionPerformed(ActionEvent event) {
+	    result = CANCEL_OPTION;
+	    OpenCollectionDialog.this.dispose();
+	}
+    }
+
+    private class CollectionListSelectionListener
+	extends MouseAdapter
+	implements ListSelectionListener {
+
+	public void mouseClicked(MouseEvent event) {
+	    ///ystem.err.println("Mouse clicked");
+	    if(event.getClickCount() >= 2) {
+		Point location = event.getPoint();
+		int index = collection_list.locationToIndex(location);
+		collection_list.setSelectedIndex(index);
+		location = null;
+		open_button.doClick();
+	    }
+	}
+
+	public void valueChanged(ListSelectionEvent event) {
+	    if(collection_list.isSelectionEmpty()) {
+		card_layout.show(description_pane, BLANK);
+		open_button.setEnabled(false);
+	    }
+	    else {
+		BasicCollectionConfiguration collection_configuration = (BasicCollectionConfiguration) collection_list.getSelectedValue();
+		description_textarea.setText(collection_configuration.getDescription());
+		description_textarea.setCaretPosition(0);
+		card_layout.show(description_pane, DESCRIPTION);
+		open_button.setEnabled(true);
+	    }
+	}
+    }
+
+    // use this if we ever go back to viewing all colls at once
+    /*    private class GS3CollectionListModel
+	extends AbstractListModel {
+
+	private TreeSet data;
+
+	public GS3CollectionListModel() {
+	    data = new TreeSet();
+	    File sites_folder = new File(Utility.getSitesDir(Configuration.gsdl3_path));
+	    File sites[] = sites_folder.listFiles();
+	    for (int s=0; s<sites.length; s++) {
+		String site_name = sites[s].getName();
+		File collect_folder = new File(Utility.getCollectDir(Configuration.gsdl3_path, site_name) );
+		if (!collect_folder.exists()) {
+		    continue;
+		}
+		File[] collection_folders = collect_folder.listFiles();
+		for(int i = 0; i < collection_folders.length; i++) {
+		    File collection_folder = collection_folders[i];
+		    String collection_foldername = collection_folder.getName();
+		    if(!collection_folder.isFile() && !collection_foldername.equals(StaticStrings.MODEL_COLLECTION_NAME)) {
+			BasicCollectionConfiguration collection_configuration = new BasicCollectionConfiguration(new File(collection_folder, Utility.CONFIG_FILE), site_name);
+			if(!collection_configuration.getName().equals(StaticStrings.ERROR_STR)) {
+			    data.add(collection_configuration);
+			}
+		    }
+		    collection_foldername = null;
+		    collection_folder = null;
+		} // for each collection
+		collection_folders = null;
+		collect_folder = null;
+	    } // for each site
+	    sites_folder = null;
+	    sites = null;
+	}
+
+	public Object getElementAt(int index) {
+	    Iterator iterator = data.iterator();
+	    for(int i = 0; iterator.hasNext(); i++) {
+		Object object = iterator.next();
+		if(i == index) {
+		    iterator = null;
+		    return object;
+		}
+		object = null;
+	    }
+	    iterator = null;
+	    return null;
+	}
+
+	public int getSize() {
+	    return data.size();
+	}
+    }
+    */	
+    private class CollectionListModel
+	extends AbstractListModel {
+
+	private TreeSet data;
+	static final public int COLLECT   = 3;
+
+	public CollectionListModel() {
+	    data = new TreeSet();
+	    File collect_directory = new File(Gatherer.getCollectDirectoryPath());
+	    if (!collect_directory.exists()) {
+		collect_directory = null;
+		return;
+	    }
+
+	    load_collection_configs(data,collect_directory);
+
+	}
+
+
+	protected void load_collection_configs(TreeSet data, File collect_directory) {
+
+	    File[] collection_folders = collect_directory.listFiles();
+
+	    for(int i = 0; i < collection_folders.length; i++) {
+		File collection_folder = collection_folders[i];
+		String collection_foldername = collection_folder.getName();
+
+		if(collection_folder.isDirectory() && !collection_foldername.equals(StaticStrings.MODEL_COLLECTION_NAME)) {
+		    // this 'file_name' has already been prefixed by 'etc'
+		    String file_name;
+		    if (Gatherer.GS3){
+			convertToGS3Collection(collection_folder);
+			file_name = Utility.CONFIG_GS3_FILE;
+		    }else{
+			file_name = Utility.CONFIG_FILE;
+		    }
+		    
+		    File config_file = new File(collection_folder, file_name);
+		    File collection_metadata_directory = new File(collection_folder, "metadata");
+		    if (config_file.exists()) {
+			BasicCollectionConfiguration collection_configuration = new BasicCollectionConfiguration(config_file);
+
+			// look to see if group set?
+			// => if it is, don't add, but recurse to look for child collections in collect-group
+
+			if (collection_configuration.getCollectGroup().equals("true")) {
+			    load_collection_configs(data, collection_folder);
+			}
+			else {
+			    // if we have a metadata directory, then its a valid collection
+			    if (collection_metadata_directory.exists()) {
+				data.add(collection_configuration);
+			    }
+			}
+		    }
+		    config_file = null;
+		}
+		collection_foldername = null;
+		collection_folder = null;
+	    }
+	    collection_folders = null;
+	    collect_directory = null;
+	}
+
+
+
+	public Object getElementAt(int index) {
+	    Iterator iterator = data.iterator();
+	    for(int i = 0; iterator.hasNext(); i++) {
+		Object object = iterator.next();
+		if(i == index) {
+		    iterator = null;
+		    return object;
+		}
+		object = null;
+	    }
+	    iterator = null;
+	    return null;
+	}
+
+	public int getSize() {
+	    return data.size();
+	}
+
+	public void convertToGS3Collection(File collection_folder) {
+
+	    File collect_cfg_file = new File(collection_folder.getAbsolutePath() + File.separator + "etc" + File.separator + "collect.cfg");
+	    File build_cfg_file = new File(collection_folder.getAbsolutePath() + File.separator+"index" + File.separator + "build.cfg");
+
+	    if (collect_cfg_file.exists() && build_cfg_file.exists()){
+		// Generate the convert_coll_from_gs2.pl command
+		ArrayList command_parts_list = new ArrayList();
+		if (!Gatherer.isGsdlRemote) {
+		    command_parts_list.add(Configuration.perl_path);
+		    command_parts_list.add("-S");
+		}
+		command_parts_list.add(Configuration.getGS3ScriptPath() + "convert_coll_from_gs2.pl");
+		command_parts_list.add("-collectdir");
+		command_parts_list.add(collection_folder.getParent());
+		command_parts_list.add(collection_folder.getName());
+
+		// Run the convert_coll_from_gs2.pl command
+		String[] command_parts = (String[]) command_parts_list.toArray(new String[0]);
+		GShell process = new GShell(command_parts, GShell.CONVERT, COLLECT, null, null, GShell.GSHELL_CONVERT);
+		//process.addGShellListener(this);
+		process.run(); // Don't bother threading this... yet
+		
+		collect_cfg_file.delete();
+		build_cfg_file.delete();
+	    }
+	}
+    }
+
+    private class OpenListener
+	implements ActionListener {
+
+	public void actionPerformed(ActionEvent event) {
+	    result = OK_OPTION;
+	    Object selected_object = collection_list.getSelectedValue();
+	    if (selected_object instanceof BasicCollectionConfiguration) {
+		BasicCollectionConfiguration collection_configuration = (BasicCollectionConfiguration)selected_object; //(BasicCollectionConfiguration) collection_list.getSelectedValue();
+		//****************
+		File collect_cfg_file = collection_configuration.getFile(); // returns the collect.cfg file
+		File etc_folder = collect_cfg_file.getParentFile();
+		File collection_folder = etc_folder.getParentFile();
+		filename = collection_folder.getAbsolutePath() + File.separator + collection_folder.getName() + ".col";
+		collection_folder = null;
+		etc_folder = null;
+		collect_cfg_file = null;
+		collection_configuration = null;
+		OpenCollectionDialog.this.dispose();
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/OptionsPane.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/OptionsPane.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/OptionsPane.java	(revision 21123)
@@ -0,0 +1,641 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.text.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.cdm.Argument;
+import org.greenstone.gatherer.cdm.ArgumentControl;
+import org.greenstone.gatherer.collection.ScriptOptions;
+import org.greenstone.gatherer.collection.Collection;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.util.AppendLineOnlyFileDocument;
+import org.greenstone.gatherer.util.AppendLineOnlyFileDocumentOwner;
+import org.greenstone.gatherer.util.StaticStrings;
+
+/** This class serves as the data holder for all subclasses of option panes, such as Import options or All options. It also contains methods for creating each of the option lines as they would appear in the subpane. Futhermore it has a method for considering all the arguments and generating a <strong>String[]</strong> to allow you to pass them to the <strong>GShell</strong>.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.2
+ */
+public class OptionsPane
+    extends JPanel 
+    implements AppendLineOnlyFileDocumentOwner, MouseListener {
+
+    static final public char SUCCESSFUL = 's';
+    static final public char UNSUCCESSFUL = 'u';
+    static final public char CANCELLED = 'c';
+    static final public char UNKNOWN = 'x';
+    static final public char SCHEDULED = 'd'; 
+
+    static private int BUILD = 0;
+    static private int IMPORT = 1;
+    static private int SCHEDULE = 2; 
+    static private int MINIMUM_ROWS = 15;
+    
+    /** All process messages are written to this log text area. */
+    public JTextArea log_textarea = null;
+
+    private ArrayList current_controls;
+
+    /** The <strong>ScriptOptions</strong> data object contains all the option settings we wish to persist between Gatherer sessions (and thus is stored in <strong>Collection</strong>). */
+    private ScriptOptions build_options = null;
+    private ScriptOptions import_options = null;
+    private ScriptOptions schedule_options = null;
+
+    private FileEntry file_entry = null;
+
+    /** the log pane - we only create it once now, not each time */
+    private JPanel log_pane = null;
+    /** the list of previous log messages */
+    private JList log_list = null;
+    private Vector writing_documents;
+
+
+    /** The default constructor creates the few session length options, but either retrieves the rest from the current collection, or creates a default set of options. */
+    public OptionsPane(ScriptOptions import_options, ScriptOptions build_options, ScriptOptions schedule_options) {
+	this.build_options = build_options;
+	this.import_options = import_options;
+	this.schedule_options = schedule_options; 
+	this.current_controls = new ArrayList();
+	this.writing_documents = new Vector();
+        this.setComponentOrientation(Dictionary.getOrientation());
+        
+	// Have to do this here, not in display, as the message log view may not have been displayed yet.
+	log_textarea = new JTextArea();
+        log_textarea.setComponentOrientation(Dictionary.getOrientation());
+	log_textarea.setEditable(false);
+    }
+
+    /** This method creates the panel with all the build only options on it.
+     * @param pane a JPanel which already has previous arguments available on it, to allow for lower moes to concatenate all of the arguments together
+     * @return a JPanel which can be used to display all the build only options
+     * @see org.greenstone.gatherer.Configuration#EXPERT_MODE
+     * @see org.greenstone.gatherer.Configuration#getColor
+     * @see org.greenstone.gatherer.Configuration#getMode
+     * @see org.greenstone.gatherer.Gatherer#config
+     * @see org.greenstone.gatherer.cdm.Argument
+     * @see org.greenstone.gatherer.collection.BuildOptions#getBuildArgument
+     * @see org.greenstone.gatherer.collection.BuildOptions#getBuildArgumentCount
+     * @see org.greenstone.gatherer.collection.BuildOptions#getBuildValue
+     * @see org.greenstone.gatherer.collection.BuildOptions#getBuildValueEnabled
+     * @see org.greenstone.gatherer.gui.OptionsPane.MyArgumentControl
+     */
+    public JPanel buildBuild(JPanel pane) {
+      // Reset the arguments
+      if(pane == null) {
+        current_controls.clear();
+      }
+      ArrayList build_arguments = new ArrayList();
+      int current_mode = Configuration.getMode();
+      int total_build_argument_count = build_options.getArgumentCount();
+      
+      for(int i = 0; i < total_build_argument_count; i++) {
+        // Retrieve the argument so we know how to format the control.
+        Argument argument = build_options.getArgument(i);
+        
+        //A hack to make the disable_OAI option visible in the GLI for Greenstone 3
+        if(argument.getName().equals(StaticStrings.DISABLEOAI_STR) && Gatherer.GS3) {
+          argument.setHiddenGLI(false);
+        }
+        if(!argument.isHiddenGLI() && argument.getModeLevel() <= current_mode) {
+          // Now attempt to retrieve any existing value for this argument.
+          boolean enabled = build_options.getValueEnabled(argument.getName());
+          String value = build_options.getValue(argument.getName());
+          MyArgumentControl argument_control = new MyArgumentControl(BUILD, argument, enabled, value);
+          build_arguments.add(argument_control);
+        }
+      }
+      current_controls.addAll(build_arguments);
+      
+      // Now that we know how many arguments there are we can build the pane to view them on. Modes lower than EXPERT can provide a previous pane on which to add the arguments.
+      if(pane == null || current_mode >= Configuration.EXPERT_MODE) {
+        pane = new JPanel();
+        pane.setComponentOrientation(Dictionary.getOrientation());
+        pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+        pane.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+        int argument_count = build_arguments.size();
+        // If in any of the higher detail modes, and assuming we don't want super phat argument controls, we better ensure there is a minimum number of lines in the grid layout
+        if(current_mode >= Configuration.EXPERT_MODE) {
+          if(argument_count < MINIMUM_ROWS) {
+            argument_count = MINIMUM_ROWS;
+          }
+          pane.setLayout(new GridLayout(argument_count, 1, 5, 5));
+        }
+        // Otherwise we're just going to throw them on one after another and chuck it in a scroll pane anyway
+        else {
+          // use  GridLayout with 0 rows == as many rows as needed. Unfortunately, rows will
+          // grow fat if space too large, but we don't know how many rows we'll need yet.
+          pane.setLayout(new GridLayout(0, 1, 5, 5));
+        }
+      }
+      
+      for(int j = 0; j < build_arguments.size(); j++) {
+        pane.add((JComponent)build_arguments.get(j));
+      }
+      pane.addMouseListener(this);
+      build_arguments = null;
+      return pane;
+    }
+
+    /**Wendy's attempt at writing a buildSchedule Jpanel. */
+    public JPanel buildSchedule(JPanel pane) {
+	//reset the arguments
+	if(pane ==  null) {
+	    current_controls.clear(); 
+	}
+
+	ArrayList schedule_arguments = new ArrayList(); 
+	int current_mode = Configuration.getMode(); 
+
+	int total_schedule_argument_count = schedule_options.getArgumentCount();
+      
+      for(int i = 0; i < total_schedule_argument_count; i++) {
+        // Retrieve the argument so we know how to format the control.
+        Argument argument = schedule_options.getArgument(i);
+        
+        //A hack to make the disable_OAI option visible in the GLI for Greenstone 3
+        if(argument.getName().equals(StaticStrings.DISABLEOAI_STR) && Gatherer.GS3) {
+          argument.setHiddenGLI(false);
+        }
+        if(!argument.isHiddenGLI() && argument.getModeLevel() <= current_mode) {
+          // Now attempt to retrieve any existing value for this argument.
+          boolean enabled = schedule_options.getValueEnabled(argument.getName());
+          String value = schedule_options.getValue(argument.getName());
+          MyArgumentControl argument_control = new MyArgumentControl(SCHEDULE, argument, enabled, value);
+          schedule_arguments.add(argument_control);
+        }
+      }
+      current_controls.addAll(schedule_arguments);
+      
+      // Now that we know how many arguments there are we can build the pane to view them on. Modes lower than EXPERT can provide a previous pane on which to add the arguments.
+      if(pane == null || current_mode >= Configuration.EXPERT_MODE) {
+        pane = new JPanel();
+        pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+        pane.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+        int argument_count = schedule_arguments.size();
+        // If in any of the higher detail modes, and assuming we don't want super phat argument controls, we better ensure there is a minimum number of lines in the grid layout
+        if(current_mode >= Configuration.EXPERT_MODE) {
+          if(argument_count < MINIMUM_ROWS) {
+            argument_count = MINIMUM_ROWS;
+          }
+          pane.setLayout(new GridLayout(argument_count, 1, 5, 5));
+        }
+        // Otherwise we're just going to throw them on one after another and chuck it in a scroll pane anyway
+        else {
+          // use  GridLayout with 0 rows == as many rows as needed. Unfortunately, rows will
+          // grow fat if space too large, but we don't know how many rows we'll need yet.
+          pane.setLayout(new GridLayout(0, 1, 5, 5));
+        }
+      }
+      
+      for(int j = 0; j < schedule_arguments.size(); j++) {
+        pane.add((JComponent)schedule_arguments.get(j));
+      }
+      pane.addMouseListener(this);
+      schedule_arguments = null;
+      return pane;
+
+    }
+
+    /** This method creates the panel with all the import only options on it.
+     * @param pane a JPanel which already has previous arguments available on it, to allow for lower moes to concatenate all of the arguments together
+     * @return a JPanel which can be used to display all the build only options
+     * @see org.greenstone.gatherer.Configuration#EXPERT_MODE
+     * @see org.greenstone.gatherer.Configuration#getColor
+     * @see org.greenstone.gatherer.Configuration#getMode
+     * @see org.greenstone.gatherer.Gatherer#config
+     * @see org.greenstone.gatherer.cdm.Argument
+     * @see org.greenstone.gatherer.collection.BuildOptions#getImportArgument
+     * @see org.greenstone.gatherer.collection.BuildOptions#getImportArgumentCount
+     * @see org.greenstone.gatherer.collection.BuildOptions#getImportValue
+     * @see org.greenstone.gatherer.collection.BuildOptions#getImportValueEnabled
+     * @see org.greenstone.gatherer.gui.OptionsPane.ArgumentControl
+     */
+    public JPanel buildImport(JPanel pane) {
+	// Reset the arguments
+	if(pane == null) {
+	    current_controls.clear();
+	}
+	ArrayList import_arguments = new ArrayList();
+	int current_mode = Configuration.getMode();
+	int total_import_argument_count = import_options.getArgumentCount();       
+	for(int i = 0; i < total_import_argument_count; i++) {
+	    // Retrieve the argument so we know how to format the control.
+	    Argument argument = import_options.getArgument(i);
+	    if(!argument.isHiddenGLI() && argument.getModeLevel() <= current_mode) {
+		// Now attempt to retrieve any existing value for this argument.
+		boolean enabled = import_options.getValueEnabled(argument.getName());
+		String value = import_options.getValue(argument.getName());
+		MyArgumentControl argument_control = new MyArgumentControl(IMPORT, argument, enabled, value);
+		import_arguments.add(argument_control);
+	    }
+	}
+	current_controls.addAll(import_arguments);
+	// Now that we know how many arguments there are we can build the pane to view them on. Modes lower than EXPERT can provide a previous pane on which to add the arguments.
+	if(pane == null || current_mode >= Configuration.EXPERT_MODE) {
+	    pane = new JPanel();
+            pane.setComponentOrientation(Dictionary.getOrientation());
+	    pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	    pane.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	    int argument_count = import_arguments.size();	    
+	    // If in any of the higher detail modes, and assuming we don't want super phat argument controls, we better ensure there is a minimum number of lines in the grid layout
+	    if(current_mode >= Configuration.EXPERT_MODE) {
+		if(argument_count < MINIMUM_ROWS) {
+		    argument_count = MINIMUM_ROWS;
+		}
+		pane.setLayout(new GridLayout(argument_count, 1, 5, 5));
+	    }
+	    // Otherwise we're just going to throw them on one after another and chuck it in a scroll pane anyway
+	    else {
+		// use  GridLayout with 0 rows == as many rows as needed. Unfortunately, rows will 
+		// grow fat if space too large, but we don't know how many rows we'll need yet.
+		pane.setLayout(new GridLayout(0, 1, 5, 5));
+	    }
+	} 
+
+	for(int j = 0; j < import_arguments.size(); j++) {
+	    pane.add((JComponent)import_arguments.get(j));
+	}
+	pane.addMouseListener(this);
+	import_arguments = null;
+	return pane;
+    }
+
+    /** This method is used to build a panel based on the message log, which is nothing like any of the other panels.
+     * @return A <strong>JPanel</strong> containing a scrollable text area which represents the shell process message log.
+     */
+    public JPanel buildLog() {
+	// we now save the log pane
+	if (log_pane == null) {
+	    log_pane = new JPanel(new BorderLayout());
+            log_pane.setComponentOrientation(Dictionary.getOrientation());
+	    // Build a list of the log files available, ordering by last modified. Log files are like build_log.date.txt
+	    DefaultListModel contents = new DefaultListModel();
+	    File log_directory = new File(CollectionManager.getLoadedCollectionLogDirectoryPath());
+	    File children[] = log_directory.listFiles();
+	    for(int i = 0; children != null && i < children.length; i++) {
+		String filename = children[i].getName();
+		if(filename.startsWith("build_log.") && filename.endsWith(".txt") ) {
+		    String datestamp = filename.substring(filename.indexOf(".") + 1, filename.lastIndexOf(".")).toLowerCase();
+		    if(datestamp.indexOf("s") == -1 && datestamp.indexOf("u") == -1 && datestamp.indexOf("c") == -1 && datestamp.indexOf("x") == -1) {
+			FileEntry entry = new FileEntry(children[i].getName(), children[i].getAbsolutePath());
+			// We are about to insert it. But where.
+			boolean found = false;
+			for(int j = 0; !found && j < contents.size(); j++) {
+			    FileEntry sibling = (FileEntry) contents.getElementAt(j);
+			    int order = entry.compareTo(sibling);
+			    if(order > 0) {
+				contents.insertElementAt(entry, j);
+				found = true;
+			    }
+			}
+			if(!found) {
+			    contents.addElement(entry);
+			}
+		    }
+		}
+	    }
+
+	    log_list = new JList(contents);
+            log_list.setComponentOrientation(Dictionary.getOrientation());
+	    log_list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+	    log_list.setLayoutOrientation(JList.VERTICAL);
+	    log_list.setPreferredSize(new Dimension(600, 100));
+	    log_list.setVisibleRowCount(3);
+	    log_list.addListSelectionListener(new LogListListener());
+
+	    JLabel log_history_label = new JLabel(Dictionary.get("OptionsPane.LogHistory"));
+	    log_history_label.setComponentOrientation(Dictionary.getOrientation());
+            JPanel log_history_pane = new JPanel();
+            log_history_pane.setComponentOrientation(Dictionary.getOrientation());
+	    log_history_pane.setPreferredSize(new Dimension(600, 100));
+	    log_history_pane.setLayout(new BorderLayout());
+	    log_history_pane.add(log_history_label, BorderLayout.NORTH);
+            JScrollPane scrol_tmp=new JScrollPane(log_list);
+            scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	    log_history_pane.add(scrol_tmp, BorderLayout.CENTER);
+	    
+            scrol_tmp=new JScrollPane(log_textarea);
+            scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	    log_pane.add(scrol_tmp, BorderLayout.CENTER);
+	    log_pane.add(log_history_pane, BorderLayout.SOUTH);
+	}
+	return log_pane;
+    }
+
+    public AppendLineOnlyFileDocument createNewLogDocument() {
+	long time = System.currentTimeMillis();
+	StringBuffer name = new StringBuffer();
+	name.append("build_log.");
+	name.append(time);
+	name.append(".txt");
+	// just in case there is no log directory
+	File file = new File(CollectionManager.getLoadedCollectionLogDirectoryPath() + name.toString());
+	File parent_file = file.getParentFile();
+	parent_file.mkdirs();
+	parent_file = null;
+	// create the file entry and add it to the list at pos 0 - it will always be the newest one created
+	file_entry = new FileEntry(name.toString(), file.getAbsolutePath());
+	((DefaultListModel)log_list.getModel()).add(0, file_entry);
+	log_list.setSelectedIndex(0);
+	// Finally retrieve and return the document associated with this file entry
+	return file_entry.getDocument();
+    }
+
+
+    /** Attempts to discover the latest document count.
+     * @return An <strong>int</strong> detailing the number of documents in this collection.
+     */
+    public int getDocumentCount() {
+	if(Gatherer.c_man.ready()) {
+	    int count = Gatherer.c_man.getCollection().getDocumentCount();
+	    if(count != 0) {
+		return count;
+	    }
+	}
+	return 1;
+    }
+
+    /** Called by our magic log documents after they have finished writing themselves to file, whereapon it is no longer necessary to hold a reference to them. */
+    public void remove(AppendLineOnlyFileDocument document) {
+	writing_documents.remove(document);
+    }
+
+    public void resetFileEntry() {
+	if(file_entry != null) {
+	    file_entry.reset();
+	}
+    }
+
+    /** Given a panel containing ArgumentControls, update the values associated with them. */
+    public void update(JPanel panel) {
+	if(panel == log_pane) {
+	    return;
+	}
+
+	for(int i = 0; i < panel.getComponentCount(); i++) {
+	    Component component = panel.getComponent(i);
+	    if(component instanceof MyArgumentControl) {
+		((MyArgumentControl)component).update();
+	    }
+	}
+    }
+
+    /** Implementation side-effect
+     * @param e a MouseEvent
+     */
+    public void mouseClicked(MouseEvent e) {}
+
+    /** Implementation side-effect
+     * @param e a MouseEvent
+     */
+    public void mouseEntered(MouseEvent e) {}
+
+    /** Implemented to ensure that, by the time the mouse pointer leaves the current build options screen, ang changes to the value the JSpinners have been commited
+     * @param e a MouseEvent
+     */
+    public void mouseExited(MouseEvent e) {
+	// Loop through the controls, and if the current control is a JSpinner, commit its current editing
+	for(int i = 0; i < current_controls.size(); i++) {
+	    MyArgumentControl control = (MyArgumentControl) current_controls.get(i);
+	    JComponent value_control = control.getValueControl();
+	    if(value_control instanceof JSpinner) {
+		try {
+		    ((JSpinner)value_control).commitEdit();
+		}
+		catch(Exception exception) {
+		    DebugStream.println("Exception in OptionsPane.mouseExited() - unexpected");
+		    DebugStream.printStackTrace(exception);
+		}
+	    }
+	    value_control = null;
+	    control = null;
+	}
+    }
+
+    /** Implementation side-effect
+     * @param e a MouseEvent
+     */
+    public void mousePressed(MouseEvent e) {}
+
+    /** Implementation side-effect
+     * @param e a MouseEvent
+     */
+    public void mouseReleased(MouseEvent e) {}
+
+    private class MyArgumentControl
+	extends ArgumentControl {
+	private int type;
+
+	public MyArgumentControl(int type, Argument argument, boolean enable, String value) {
+	    super(argument, enable, value);
+	    this.type = type;
+	}
+
+	/** Update the values stored in the collection so as to remember the current state of this argument. */
+	public void update() {
+	    String name = getArgumentName();
+	    boolean enable = isEnabled();
+	    String value = getValue();
+	    // If this argument was a flag, but is now disabled, remove from the build options altogether
+	    if(!enable && value == null) {
+		if(type == BUILD) {
+		    build_options.removeValue(name);
+		}
+		else if(type == SCHEDULE) {
+		    schedule_options.removeValue(name); 
+		}
+		else {
+		    import_options.removeValue(name);
+		}
+	    }
+	    // Otherwise update the argument value
+	    else {
+		if(type == BUILD) {
+		    build_options.setValue(name, enable, value);
+		}
+		else if(type == SCHEDULE) {
+		    schedule_options.setValue(name, enable, value); 
+		}
+		else {
+		    import_options.setValue(name, enable, value);
+		}
+	    }
+	}
+    }
+
+    /** Holds a File which has a particular naming convention build_log.date.txt also keeps a Date corresponding to the date in its name*/
+    private class FileEntry {
+
+       private AppendLineOnlyFileDocument current_document;
+       private Date date;
+       private long last_modified;
+       private String display;
+       private String filename;
+       private String filepath;
+       
+       public FileEntry(String filename, String filepath) {
+	  this.date = null;
+	  this.display = null;
+	  this.filename = filename;
+	  this.filepath = filepath;
+	  this.last_modified = 0L;
+       }
+
+	/** returns 0 if the dates are the same, -ve number if the current FileEntry is earlier than the fe FileEntry ...*/
+	public int compareTo(FileEntry file_entry) {
+	    Date our_date = getDate();
+	    Date other_date = file_entry.getDate();
+	    return our_date.compareTo(other_date);
+	}
+
+	public Date getDate() {
+	    if(date == null) {
+		// Need to exclude first '.'
+		int first_index = filename.indexOf(".") + 1;
+		// Need to exclude the last '.'
+		int last_index = filename.lastIndexOf(".");
+		if(first_index > 0 && last_index > 0 && first_index < last_index) {
+		    String date_string = filename.substring(first_index, last_index);
+		    date = new Date(Long.parseLong(date_string));
+		}
+		else {
+		    date = new Date(); // Current date
+		}
+	    }
+	    return date;
+	}
+
+       public AppendLineOnlyFileDocument getDocument() {
+	  if(current_document == null) {
+	     current_document = new AppendLineOnlyFileDocument(filepath);
+	  }
+	  return current_document;
+	}
+
+	public void reset() {
+	    display = null;
+	}
+
+	/** we only want the date out of the file name, not the whole path */
+	public String toString() {
+	    File file = new File(filename);
+	    if(display == null) {
+		last_modified = file.lastModified();
+		StringBuffer d = new StringBuffer();
+		Date date = getDate();
+		d.append(date.toString());
+		char success = UNKNOWN;
+		File the_file = new File(filepath);
+		if(the_file.exists()) {
+		   try {
+		      FileInputStream in = new FileInputStream(the_file);
+		      success = (char) in.read();
+		      in.close();
+		      in = null;
+		   }
+		   catch(Exception error) {
+		      ///ystem.err.println("Log '" + filepath + "' not found!");
+		      ///atherer.printStackTrace(error);
+		   }
+		}
+		the_file = null;
+		switch (success) {
+		case SUCCESSFUL:
+		    d.append(Dictionary.get("OptionsPane.Successful"));
+		    break;
+		case UNSUCCESSFUL:
+		    d.append(Dictionary.get("OptionsPane.Unsuccessful"));
+		    break;
+		case CANCELLED:
+		    d.append(Dictionary.get("OptionsPane.Cancelled"));
+		    break;
+		case SCHEDULED:
+		    d.append(Dictionary.get("OptionsPane.Scheduled"));
+		    break;
+		default:
+		    d.append(Dictionary.get("OptionsPane.Unknown"));
+		}
+		display = d.toString();
+	    }
+	    return display;
+	}
+    }
+
+    /** a ListSelectionListener that triggers the load of a newly selected log */
+    private class LogListListener implements ListSelectionListener {
+
+	public void valueChanged(ListSelectionEvent e) {
+	    if (!e.getValueIsAdjusting()) { // we get two events for one change in list selection - use the false one ( the second one)
+		///ystem.err.println("Log change detected.");
+		JList source  = (JList)e.getSource();
+		file_entry = (FileEntry) source.getSelectedValue();
+		// First we determine if the old log has been completely written to file
+		Document document = log_textarea.getDocument();
+		///ystem.err.println(" * current document: " + document);
+		///ystem.err.println(" * new document:     " + file_entry.getDocument());
+		// If we are dealing with the same document don't do anything.
+		if(document != file_entry.getDocument()) {
+		    if(document instanceof AppendLineOnlyFileDocument) {
+			AppendLineOnlyFileDocument append_line_only_file_document = (AppendLineOnlyFileDocument) document;
+			if(append_line_only_file_document.isStillWriting()) {
+			    ///ystem.err.println("Current log is still active... finishing.");
+			    writing_documents.add(append_line_only_file_document); // We have to maintain a reference until they are all done.
+			    append_line_only_file_document.setOwner(OptionsPane.this);
+			    append_line_only_file_document.setExit();
+			}
+			else {
+			    ///ystem.err.println("Current log is complete. Nothing to do.");
+			}
+		    }
+		    // Load the new log
+		    log_textarea.setDocument(file_entry.getDocument());
+		}
+	    }
+	}
+    }
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/Preferences.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/Preferences.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/Preferences.java	(revision 21123)
@@ -0,0 +1,1102 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import java.net.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.plaf.*;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.GAuthenticator;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.cdm.ClassifierManager;
+import org.greenstone.gatherer.cdm.LanguageManager;
+import org.greenstone.gatherer.cdm.PluginManager;
+import org.greenstone.gatherer.collection.Collection;
+import org.greenstone.gatherer.gui.tree.DragTree;
+import org.greenstone.gatherer.util.ArrayTools; // just for debug
+import org.greenstone.gatherer.util.CheckList;
+import org.greenstone.gatherer.util.CheckListEntry;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+public class Preferences
+    extends ModalDialog
+{
+    static final public String CONNECTION_PREFS = "connection";
+    static final public String GENERAL_PREFS = "general";
+
+    static final private Dimension LABEL_SIZE = new Dimension(280, 25);
+    static final private Dimension ROW_SIZE = new Dimension(640, 25);
+    static final private Dimension SIZE = new Dimension(640, 345);
+    static final private String TRUE = "true";
+
+    private CheckList warning_preferences_check_list;
+    private EmailField email_field;
+    private JButton apply_button;
+    private JButton cancel_button;
+    private JButton ok_button;
+    private JCheckBox show_file_size_checkbox;
+    private JCheckBox use_proxy_checkbox;
+    private JCheckBox view_extracted_metadata_checkbox;
+    private JCheckBox workflow_download;
+    private JCheckBox workflow_gather;
+    private JCheckBox workflow_enrich;
+    private JCheckBox workflow_design;
+    private JCheckBox workflow_create;
+    private JCheckBox workflow_format;
+    private JComboBox language_combobox;
+    private JComboBox servlet_combobox; // GS3
+    private JComboBox site_combobox; // GS3
+    private JRadioButton assistant_mode_radio_button;
+    private JRadioButton expert_mode_radio_button;
+    private JRadioButton librarian_mode_radio_button;
+    private JSpinner proxy_port_field;
+    private JTabbedPane tab_pane;
+    private JTextArea mode_description_textarea;
+    private JTextField font_field;
+    private JTextField gliserver_url_field;
+    private JTextField library_path_field;
+    private JTextField program_field;
+    private JTextField proxy_host_field;
+    private Preferences self;
+
+    private String current_site_selection;
+
+    public Preferences() {
+	this(GENERAL_PREFS);
+    }
+
+    public Preferences(String initial_view) {
+	// Initialize
+	super(Gatherer.g_man, true);
+	this.self = this;
+	setSize(SIZE);
+	setTitle(Dictionary.get("Preferences"));
+	setJMenuBar(new SimpleMenuBar("preferences"));
+
+	// Creation
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+	tab_pane = new JTabbedPane();
+        tab_pane.setComponentOrientation(Dictionary.getOrientation());
+	JPanel general_preferences = createGeneralPreferences();
+        general_preferences.setComponentOrientation(Dictionary.getOrientation());
+	tab_pane.addTab(Dictionary.get("Preferences.General"), null, general_preferences, Dictionary.get("Preferences.General_Tooltip")); 
+	tab_pane.addTab(Dictionary.get("Preferences.Mode"), null, createModePreferences(), Dictionary.get("Preferences.Mode_Tooltip"));
+	//	tab_pane.addTab(Dictionary.get("Preferences.Workflow"), null, createWorkflowPreferences(), Dictionary.get("Preferences.Workflow_Tooltip")); 
+	JPanel connection_preferences = createConnectionPreferences();
+        connection_preferences.setComponentOrientation(Dictionary.getOrientation());
+	tab_pane.addTab(Dictionary.get("Preferences.Connection"), null, connection_preferences, Dictionary.get("Preferences.Connection_Tooltip")); 
+	tab_pane.addTab(Dictionary.get("Preferences.Warnings"), null, createWarningPreferences(), Dictionary.get("Preferences.Warnings_Tooltip")); 
+	
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	ok_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("General.OK_Tooltip"));
+	
+	apply_button = new GLIButton(Dictionary.get("General.Apply"), Dictionary.get("General.Apply_Tooltip"));
+	
+	cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Cancel_Tooltip"));
+	
+	// Connection
+	ok_button.addActionListener(new OKButtonListener(true));
+	apply_button.addActionListener(new OKButtonListener(false));
+	cancel_button.addActionListener(new CancelButtonListener());
+
+	// Layout
+	button_pane.setBorder(BorderFactory.createEmptyBorder(5,2,2,2));
+	button_pane.setLayout(new GridLayout(1,3,0,5));
+	button_pane.add(ok_button);
+	button_pane.add(apply_button);
+	button_pane.add(cancel_button);
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(tab_pane, BorderLayout.CENTER);
+	content_pane.add(button_pane, BorderLayout.SOUTH);
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	Dimension frame_size = Gatherer.g_man.getSize();
+	Point frame_location = Gatherer.g_man.getLocation();
+	setLocation(((frame_size.width - SIZE.width) / 2), ((frame_size.height - SIZE.height)));
+
+	// Bring the desired pane to the fore
+	if (initial_view.equals(CONNECTION_PREFS)) {
+	    tab_pane.setSelectedComponent(connection_preferences);
+	}
+	else {
+	    tab_pane.setSelectedComponent(general_preferences);
+	}
+	
+	// Clean up
+	general_preferences = null;
+	connection_preferences = null;
+	frame_location = null;
+	frame_size = null;
+	cancel_button = null;
+	ok_button = null;
+	button_pane = null;
+	tab_pane = null;
+	content_pane = null;
+
+	setVisible(true);
+    }
+
+    private JPanel createConnectionPreferences() {
+	JPanel program_pane = new JPanel();
+        program_pane.setComponentOrientation(Dictionary.getOrientation());
+	program_pane.setPreferredSize(ROW_SIZE);
+	JLabel program_label = new JLabel(Dictionary.get("Preferences.Connection.ProgramCommand"));
+	program_label.setPreferredSize(LABEL_SIZE);
+	program_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	program_field = new JTextField(Configuration.getPreviewCommand());
+	program_field.setCaretPosition(0);
+	program_field.setToolTipText(Dictionary.get("Preferences.Connection.ProgramCommand_Tooltip"));
+	program_field.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel library_path_pane = new JPanel();
+	library_path_pane.setPreferredSize(ROW_SIZE);
+        library_path_pane.setComponentOrientation(Dictionary.getOrientation());
+	JLabel library_path_label = new JLabel();
+	library_path_label.setPreferredSize(LABEL_SIZE);
+        library_path_label.setComponentOrientation(Dictionary.getOrientation());
+	String library_url_string = "";
+	if (Configuration.library_url != null) {
+	    library_url_string = Configuration.library_url.toString();
+	}
+	library_path_field = new JTextField(library_url_string);
+	library_path_field.setCaretPosition(0);
+        library_path_field.setComponentOrientation(Dictionary.getOrientation());
+	if (Gatherer.GS3) {
+	    library_path_label.setText(Dictionary.get("Preferences.Connection.Library_Path_GS3"));
+	    library_path_field.setToolTipText(Dictionary.get("Preferences.Connection.Library_Path_Tooltip_GS3"));
+	} else {
+	    library_path_label.setText(Dictionary.get("Preferences.Connection.Library_Path"));
+	    library_path_field.setToolTipText(Dictionary.get("Preferences.Connection.Library_Path_Tooltip"));
+	}
+	    
+	// Disable this field when using the applet, as it is automatically determined
+	library_path_label.setEnabled(!Gatherer.isApplet);
+	library_path_field.setEnabled(!Gatherer.isApplet);
+
+	JPanel gliserver_url_pane = null;
+	JLabel gliserver_url_label = null;
+	if (Gatherer.isGsdlRemote && !Gatherer.GS3) {
+	    gliserver_url_pane = new JPanel();
+	    gliserver_url_pane.setPreferredSize(ROW_SIZE);
+	    gliserver_url_label = new JLabel(Dictionary.get("Preferences.Connection.GLIServer_URL"));
+	    gliserver_url_label.setPreferredSize(LABEL_SIZE);
+            gliserver_url_label.setComponentOrientation(Dictionary.getOrientation());
+	    String gliserver_url_string = "";
+	    if (Configuration.gliserver_url != null) {
+		gliserver_url_string = Configuration.gliserver_url.toString();
+	    }
+	    gliserver_url_field = new JTextField(gliserver_url_string);
+            gliserver_url_field.setComponentOrientation(Dictionary.getOrientation());
+	    gliserver_url_field.setCaretPosition(0);
+	    gliserver_url_field.setToolTipText(Dictionary.get("Preferences.Connection.GLIServer_URL_Tooltip"));
+	   
+	    // Disable this field when using the applet, as it is automatically determined
+	    gliserver_url_label.setEnabled(!Gatherer.isApplet);
+	    gliserver_url_field.setEnabled(!Gatherer.isApplet);
+	}
+
+	JPanel site_pane = null;
+	JLabel site_label = null;
+	JPanel servlet_pane = null;
+	JLabel servlet_label = null;
+	if (Gatherer.GS3) {
+	    site_pane = new JPanel();
+	    site_pane.setPreferredSize(ROW_SIZE);
+            site_pane.setComponentOrientation(Dictionary.getOrientation());
+	    site_label = new JLabel(Dictionary.get("Preferences.Connection.Site"));
+	    site_label.setPreferredSize(LABEL_SIZE);
+            site_label.setComponentOrientation(Dictionary.getOrientation());
+	    // what should we do if Gatherer.servlet_config.getSites() is null?
+	    site_combobox = new JComboBox(Gatherer.servlet_config.getSites().toArray());
+	    site_combobox.setOpaque(false);
+	    site_combobox.setToolTipText(Dictionary.get("Preferences.Connection.Site_Tooltip"));
+	    site_combobox.setComponentOrientation(Dictionary.getOrientation());
+            
+	    servlet_pane = new JPanel();
+	    servlet_pane.setPreferredSize(ROW_SIZE);
+            servlet_pane.setComponentOrientation(Dictionary.getOrientation());
+            
+	    servlet_label = new JLabel(Dictionary.get("Preferences.Connection.Servlet"));
+	    servlet_label.setPreferredSize(LABEL_SIZE);
+            servlet_label.setComponentOrientation(Dictionary.getOrientation());
+	    servlet_combobox = new JComboBox();
+	    servlet_combobox.setOpaque(false);
+            servlet_combobox.setComponentOrientation(Dictionary.getOrientation());
+	    // try to locate and select the current site
+	    String this_site = Configuration.site_name;
+	    for(int b = 0; b < site_combobox.getItemCount(); b++) {
+		String entry = (String) site_combobox.getItemAt(b);
+		if(this_site.equals(entry)) {
+		    site_combobox.setSelectedIndex(b);
+		    break;
+		}
+	    }
+
+	    // just in case its not the current one?
+	    current_site_selection = (String)site_combobox.getSelectedItem();
+
+	    ArrayList servlet_options = Gatherer.servlet_config.getServletsForSite(current_site_selection);
+	    if (servlet_options == null) {
+		servlet_combobox.setToolTipText(Dictionary.get("Preferences.Connection.Servlet_Tooltip2"));
+		//servlet_combobox.setModel(new DefaultComboBoxModel());
+		servlet_combobox.setEnabled(false);
+	    } else {
+		///ystem.err.println(ArrayTools.objectArrayToString(servlet_options.toArray()));
+
+		servlet_combobox.setModel(new DefaultComboBoxModel(servlet_options.toArray()));
+		servlet_combobox.setToolTipText(Dictionary.get("Preferences.Connection.Servlet_Tooltip"));
+		servlet_combobox.setEnabled(true);
+		// try to locate and select the current servlet
+		String this_servlet = Configuration.getServletPath();
+		for(int b = 0; b < servlet_combobox.getItemCount(); b++) {
+		    String entry = (String) servlet_combobox.getItemAt(b);
+		    if(this_servlet.equals(entry)) {
+			servlet_combobox.setSelectedIndex(b);
+			break;
+		    }
+		}
+		
+	    }
+	}
+	
+	boolean currently_enabled = Configuration.get("general.use_proxy", true);
+	// Creation
+	JPanel connection_pane = new JPanel();
+        connection_pane.setComponentOrientation(Dictionary.getOrientation());
+	use_proxy_checkbox = new JCheckBox(Dictionary.get("Preferences.Connection.Use_Proxy"));
+	use_proxy_checkbox.setSelected(currently_enabled);
+	use_proxy_checkbox.setComponentOrientation(Dictionary.getOrientation());        
+	use_proxy_checkbox.setPreferredSize(ROW_SIZE);
+	
+        JPanel proxy_host_pane = new JPanel();
+        proxy_host_pane.setComponentOrientation(Dictionary.getOrientation());
+	proxy_host_pane.setPreferredSize(ROW_SIZE);
+        
+	JLabel proxy_host_label = new JLabel(Dictionary.get("Preferences.Connection.Proxy_Host"));
+        proxy_host_label.setComponentOrientation(Dictionary.getOrientation());
+	proxy_host_label.setPreferredSize(LABEL_SIZE);
+	
+	proxy_host_field = new JTextField(Configuration.getString("general.proxy_host", true));
+	proxy_host_field.setEnabled(currently_enabled);
+	proxy_host_field.setToolTipText(Dictionary.get("Preferences.Connection.Proxy_Host_Tooltip"));
+	proxy_host_field.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel proxy_port_pane = new JPanel();
+        proxy_port_pane.setComponentOrientation(Dictionary.getOrientation());
+	proxy_port_pane.setPreferredSize(ROW_SIZE);
+        
+	JLabel proxy_port_label = new JLabel(Dictionary.get("Preferences.Connection.Proxy_Port"));
+	proxy_port_label.setPreferredSize(LABEL_SIZE);
+        proxy_port_label.setComponentOrientation(Dictionary.getOrientation());
+	
+	String port_value = Configuration.getString("general.proxy_port", true);
+	if(port_value.length() > 0) {
+	   proxy_port_field = new JSpinner(new SpinnerNumberModel((new Integer(port_value)).intValue(), 0, 65535, 1));
+	}
+	else {
+	   proxy_port_field = new JSpinner(new SpinnerNumberModel(0, 0, 65535, 1));
+	}
+	proxy_port_field.setEnabled(currently_enabled);
+	proxy_port_field.setToolTipText(Dictionary.get("Preferences.Connection.Proxy_Port_Tooltip"));
+	
+	// Connection
+	use_proxy_checkbox.addActionListener(new UseProxyListener());
+	if (Gatherer.GS3) {
+	    site_combobox.addActionListener(new SiteComboboxListener());
+	}
+
+	// Layout
+	program_pane.setLayout(new BorderLayout());
+	program_pane.add(program_label, BorderLayout.LINE_START);
+	program_pane.add(program_field, BorderLayout.CENTER);
+
+	library_path_pane.setLayout(new BorderLayout());
+	library_path_pane.add(library_path_label, BorderLayout.LINE_START);
+	library_path_pane.add(library_path_field, BorderLayout.CENTER);
+
+	if (Gatherer.isGsdlRemote && !Gatherer.GS3) {
+	    gliserver_url_pane.setLayout(new BorderLayout());
+	    gliserver_url_pane.add(gliserver_url_label, BorderLayout.LINE_START);
+	    gliserver_url_pane.add(gliserver_url_field, BorderLayout.CENTER);
+	}
+
+	if (Gatherer.GS3) {
+	    site_pane.setLayout(new BorderLayout());
+	    site_pane.add(site_label, BorderLayout.LINE_START);
+	    site_pane.add(site_combobox, BorderLayout.CENTER);
+
+	    servlet_pane.setLayout(new BorderLayout());
+	    servlet_pane.add(servlet_label, BorderLayout.LINE_START);
+	    servlet_pane.add(servlet_combobox, BorderLayout.CENTER);
+	}
+
+	proxy_host_pane.setLayout(new BorderLayout());
+	proxy_host_pane.add(proxy_host_label, BorderLayout.LINE_START);
+	proxy_host_pane.add(proxy_host_field, BorderLayout.CENTER);
+
+	proxy_port_pane.setLayout(new BorderLayout());
+	proxy_port_pane.add(proxy_port_label, BorderLayout.LINE_START);
+	proxy_port_pane.add(proxy_port_field, BorderLayout.CENTER);
+
+	connection_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	connection_pane.setLayout(new GridLayout(8,1,0,2));
+	connection_pane.add(program_pane);
+	connection_pane.add(library_path_pane);
+	if (Gatherer.isGsdlRemote && !Gatherer.GS3) {
+	    connection_pane.add(gliserver_url_pane);
+	}
+	if (Gatherer.GS3) {
+	    connection_pane.add(site_pane);
+	    connection_pane.add(servlet_pane);
+	}
+	connection_pane.add(use_proxy_checkbox);
+	connection_pane.add(proxy_host_pane);
+	connection_pane.add(proxy_port_pane);
+
+	return connection_pane;
+    }
+
+    private JPanel createGeneralPreferences() {
+	JPanel general_pane = new JPanel();
+        general_pane.setComponentOrientation(Dictionary.getOrientation());
+	// Build the model of available languages
+	ArrayList dictionary_model = new ArrayList();
+
+	// The new method makes use of the successor to the languages.dat file, classes/xml/languages.xml
+	NodeList language_elements = LanguageManager.LANGUAGES_DOCUMENT.getDocumentElement().getElementsByTagName(StaticStrings.LANGUAGE_ELEMENT);
+	for(int i = 0; i < language_elements.getLength(); i++) {
+	    Element language_element = (Element) language_elements.item(i);
+	    if((language_element.hasAttribute(StaticStrings.GLI_ATTRIBUTE) 
+		&& (language_element.getAttribute(StaticStrings.GLI_ATTRIBUTE)).equalsIgnoreCase(StaticStrings.TRUE_STR)) 
+	       || (language_element.hasAttribute(StaticStrings.MDS_ATTRIBUTE) 
+		   && (language_element.getAttribute(StaticStrings.MDS_ATTRIBUTE)).equalsIgnoreCase(StaticStrings.TRUE_STR)))
+	    {
+		Locale locale = new Locale(language_element.getAttribute(StaticStrings.CODE_ATTRIBUTE));
+		String description = language_element.getAttribute(StaticStrings.NAME_ATTRIBUTE);
+		DictionaryEntry entry = new DictionaryEntry(description, locale);
+		if(!dictionary_model.contains(entry)) {
+		    dictionary_model.add(entry);
+		}
+		entry = null;
+		description = null;
+		locale = null;
+	    }
+	    language_element = null;
+	}
+	language_elements = null;
+
+	// Users email
+	JPanel email_pane = new JPanel();
+        email_pane.setComponentOrientation(Dictionary.getOrientation());
+
+        JLabel email_label = new JLabel(Dictionary.get("Preferences.General.Email"));
+        email_label.setComponentOrientation(Dictionary.getOrientation());
+	email_label.setPreferredSize(LABEL_SIZE);
+	
+        email_field = new EmailField(Configuration.getColor("coloring.error_background", false));
+	email_field.setText(Configuration.getEmail());
+	email_field.setToolTipText(Dictionary.get("Preferences.General.Email_Tooltip"));
+	email_field.setComponentOrientation(Dictionary.getOrientation());
+	// Font selection
+	JPanel font_pane = new JPanel();
+        font_pane.setComponentOrientation(Dictionary.getOrientation());
+	
+        JLabel font_label = new JLabel(Dictionary.get("Preferences.General.Font"));
+        font_label.setComponentOrientation(Dictionary.getOrientation());
+	font_label.setPreferredSize(LABEL_SIZE);
+	
+        font_field = new JTextField(Configuration.getString("general.font", true));
+	font_field.setToolTipText(Dictionary.get("Preferences.General.Font_Tooltip"));
+	font_field.setComponentOrientation(Dictionary.getOrientation());
+        
+	// Extracted metadata
+	view_extracted_metadata_checkbox = new JCheckBox(Dictionary.get("Preferences.General.View_Extracted_Metadata"));
+	view_extracted_metadata_checkbox.setSelected(false);
+        view_extracted_metadata_checkbox.setComponentOrientation(Dictionary.getOrientation());
+	
+        if (Configuration.get("general.view_extracted_metadata", Configuration.COLLECTION_SPECIFIC)) {
+	    view_extracted_metadata_checkbox.setSelected(true);
+	}
+	view_extracted_metadata_checkbox.setToolTipText(Dictionary.get("Preferences.General.View_Extracted_Metadata_Tooltip"));
+        view_extracted_metadata_checkbox.setComponentOrientation(Dictionary.getOrientation());
+        
+	// Show file sizes
+	show_file_size_checkbox = new JCheckBox(Dictionary.get("Preferences.General.Show_File_Size"));
+	show_file_size_checkbox.setSelected(false);
+        show_file_size_checkbox.setComponentOrientation(Dictionary.getOrientation());
+        
+	if (Configuration.get("general.show_file_size", Configuration.COLLECTION_SPECIFIC)) {
+	    show_file_size_checkbox.setSelected(true);
+	}
+	show_file_size_checkbox.setToolTipText(Dictionary.get("Preferences.General.Show_File_Size_Tooltip"));
+	
+	// Language
+	JPanel language_pane = new JPanel();
+        language_pane.setComponentOrientation(Dictionary.getOrientation());
+
+        JLabel language_label = new JLabel(Dictionary.get("Preferences.General.Interface_Language"));
+        language_label.setComponentOrientation(Dictionary.getOrientation());
+	language_label.setPreferredSize(LABEL_SIZE);
+	
+	language_combobox = new JComboBox(dictionary_model.toArray());
+	language_combobox.setOpaque(false);
+	language_combobox.setToolTipText(Dictionary.get("Preferences.General.Interface_Language_Tooltip"));
+	language_combobox.setComponentOrientation(Dictionary.getOrientation());
+        
+	// Try to locate and select the current language
+	// Else default to English
+	String language_code = Configuration.getLanguage();
+	int defaultIndex = 0;
+	DictionaryEntry defaultEntry = null;
+
+	int b = 0;
+	for (; b < language_combobox.getItemCount(); b++) {
+	    DictionaryEntry entry = (DictionaryEntry) language_combobox.getItemAt(b);
+	    if (language_code.equalsIgnoreCase(entry.getLocale().getLanguage())) {
+		language_combobox.setSelectedIndex(b);
+		break;
+	    } else if (entry.getLocale().getLanguage().equalsIgnoreCase("en")) { // store English as fallback
+		defaultIndex = b;
+		defaultEntry = entry;
+	    }
+	}
+	// if we cycled through and couldn't find the chosen language to load, 
+	// then we set the Preferences' and Configuration's language to English
+	if (b == language_combobox.getItemCount()) {
+	    language_combobox.setSelectedIndex(defaultIndex);
+	    Configuration.setLocale("general.locale", true, defaultEntry.getLocale());
+	    System.err.println("*** GLI doesn't yet support the language: " + language_code 
+			       + " and has therefore defaulted to: " + Configuration.getLanguage());
+	}
+
+	// Layout
+	email_pane.setLayout(new BorderLayout());
+	email_pane.add(email_label, BorderLayout.LINE_START);
+	email_pane.add(email_field, BorderLayout.CENTER);
+
+	language_pane.setLayout(new BorderLayout());
+	language_pane.add(language_label, BorderLayout.LINE_START);
+	language_pane.add(language_combobox, BorderLayout.CENTER);
+
+	font_pane.setLayout(new BorderLayout());
+	font_pane.add(font_label, BorderLayout.LINE_START);
+	font_pane.add(font_field, BorderLayout.CENTER);
+
+	general_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	general_pane.setLayout(new GridLayout(5,1,0,5));
+	general_pane.add(email_pane);
+	general_pane.add(language_pane);
+	general_pane.add(font_pane);
+	general_pane.add(view_extracted_metadata_checkbox);
+	general_pane.add(show_file_size_checkbox);
+
+	return general_pane;
+    }
+
+    /** Generate the controls for altering the detail mode.
+     * @return a JPanel of controls
+     */
+    private JPanel createModePreferences() {
+	// Create Controls
+	JPanel mode_panel = new JPanel();
+        mode_panel.setComponentOrientation(Dictionary.getOrientation());
+	
+        JPanel button_panel = new JPanel();
+        button_panel.setComponentOrientation(Dictionary.getOrientation());
+	
+        ButtonGroup mode_button_group = new ButtonGroup();
+	
+        assistant_mode_radio_button = new JRadioButton(Dictionary.get("Preferences.Mode.Assistant"));
+	assistant_mode_radio_button.setOpaque(false);
+        assistant_mode_radio_button.setComponentOrientation(Dictionary.getOrientation());
+	mode_button_group.add(assistant_mode_radio_button);
+	
+        expert_mode_radio_button = new JRadioButton(Dictionary.get("Preferences.Mode.Expert"));
+	expert_mode_radio_button.setOpaque(false);
+        expert_mode_radio_button.setComponentOrientation(Dictionary.getOrientation());
+	mode_button_group.add(expert_mode_radio_button);
+	
+        librarian_mode_radio_button = new JRadioButton(Dictionary.get("Preferences.Mode.Librarian"));
+	librarian_mode_radio_button.setOpaque(false);
+        librarian_mode_radio_button.setComponentOrientation(Dictionary.getOrientation());
+	mode_button_group.add(librarian_mode_radio_button);
+	
+	
+        mode_description_textarea = new JTextArea();
+        mode_description_textarea.setComponentOrientation(Dictionary.getOrientation());
+	mode_description_textarea.setEditable(false);
+	mode_description_textarea.setLineWrap(true);
+	mode_description_textarea.setWrapStyleWord(true);
+	// Determine which value is already selected
+	switch(Configuration.getMode()) {
+	case Configuration.ASSISTANT_MODE:
+	    assistant_mode_radio_button.setSelected(true);
+	    mode_description_textarea.setText(Dictionary.get("Preferences.Mode.Assistant_Description"));
+	    break;
+	case Configuration.EXPERT_MODE:
+	    expert_mode_radio_button.setSelected(true);
+	    mode_description_textarea.setText(Dictionary.get("Preferences.Mode.Expert_Description"));
+	    break;
+	default:
+	    librarian_mode_radio_button.setSelected(true);
+	    mode_description_textarea.setText(Dictionary.get("Preferences.Mode.Librarian_Description"));
+	}
+	// Connection - when a radio button is selected we have to change the description
+	ModeRadioButtonListener listener = new ModeRadioButtonListener();
+	assistant_mode_radio_button.addActionListener(listener);
+	expert_mode_radio_button.addActionListener(listener);
+	librarian_mode_radio_button.addActionListener(listener);
+	listener = null;
+	// Layout
+	button_panel.setBorder(BorderFactory.createEmptyBorder(0,0,5,0));
+	button_panel.setLayout(new GridLayout(3,1,2,2));
+	button_panel.add(assistant_mode_radio_button);
+	button_panel.add(librarian_mode_radio_button);
+	button_panel.add(expert_mode_radio_button);
+
+	mode_panel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	mode_panel.setLayout(new BorderLayout());
+	mode_panel.add(button_panel, BorderLayout.NORTH);
+	mode_panel.add(new JScrollPane(mode_description_textarea), BorderLayout.CENTER);
+
+	return mode_panel;
+    }
+
+
+    /** The warning preferences are controlled through a checklist. */
+    private JPanel createWarningPreferences()
+    {
+	warning_preferences_check_list = new CheckList(false);
+        warning_preferences_check_list.setComponentOrientation(Dictionary.getOrientation());
+
+	// Read all the warnings from the general xml/config.xml file, and their values from the user config.xml file
+	Document general_config_xml_file_document = XMLTools.parseXMLFile("xml/config.xml", true);
+	NodeList argument_elements_nodelist = general_config_xml_file_document.getDocumentElement().getElementsByTagName("Argument");
+	for (int i = 0; i < argument_elements_nodelist.getLength(); i++) {
+	    Element argument_element = (Element) argument_elements_nodelist.item(i);
+	    String argument_element_name = argument_element.getAttribute("name");
+	    if (argument_element_name.startsWith("warning.")) {
+		String warning_title = Dictionary.get(argument_element_name.substring("warning.".length()) + ".Title");
+		boolean warning_enabled = Configuration.get(argument_element_name, true);
+		CheckListEntry warning_entry = new CheckListEntry(warning_title, warning_enabled);
+		warning_entry.setProperty(argument_element_name);
+		warning_preferences_check_list.addEntry(warning_entry);
+	    }
+	}
+
+	JPanel warning_preferences_pane = new JPanel();
+        warning_preferences_pane.setComponentOrientation(Dictionary.getOrientation());
+	warning_preferences_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	warning_preferences_pane.setLayout(new BorderLayout());
+        JScrollPane scrol_tmp = new JScrollPane(warning_preferences_check_list);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	warning_preferences_pane.add(scrol_tmp, BorderLayout.CENTER);
+	return warning_preferences_pane;
+    }
+
+
+    private JPanel createWorkflowPreferences() {
+	// Read in the predefined configurations file
+	Vector predefined = new Vector();
+	Document predefined_document = XMLTools.parseXMLFile("xml/workflows.xml", true);
+	Element predefined_element = predefined_document.getDocumentElement();
+	NodeList workflow_elements = predefined_element.getElementsByTagName("Workflow");
+	for(int i = 0; i < workflow_elements.getLength(); i++) {
+	    predefined.add(new WorkflowElementWrapper((Element)workflow_elements.item(i)));
+	}
+
+	// Creation
+	JPanel workflow_preferences_pane = new JPanel();
+        workflow_preferences_pane.setComponentOrientation(Dictionary.getOrientation());
+	
+        JPanel checklist_pane = new JPanel();
+        checklist_pane.setComponentOrientation(Dictionary.getOrientation());
+	
+        JLabel title_label = new JLabel(Dictionary.get("Preferences.Workflow.Title"));
+        title_label.setComponentOrientation(Dictionary.getOrientation());
+	title_label.setPreferredSize(ROW_SIZE);
+	
+	workflow_download = new JCheckBox(Dictionary.get("GUI.Download")+" - "+Dictionary.get("GUI.Download_Tooltip"));
+        workflow_download.setComponentOrientation(Dictionary.getOrientation());
+	workflow_download.setSelected(Configuration.get("workflow.download", false) && Gatherer.isDownloadEnabled);
+	workflow_download.setPreferredSize(ROW_SIZE);
+	
+	workflow_gather = new JCheckBox(Dictionary.get("GUI.Gather")+" - "+Dictionary.get("GUI.Gather_Tooltip"));
+	workflow_gather.setSelected(Configuration.get("workflow.gather", false));
+	workflow_gather.setPreferredSize(ROW_SIZE);
+	workflow_gather.setComponentOrientation(Dictionary.getOrientation());
+        
+	workflow_enrich = new JCheckBox(Dictionary.get("GUI.Enrich")+" - "+Dictionary.get("GUI.Enrich_Tooltip"));
+	workflow_enrich.setSelected(Configuration.get("workflow.enrich", false));
+	workflow_enrich.setPreferredSize(ROW_SIZE);
+	workflow_enrich.setComponentOrientation(Dictionary.getOrientation());
+        
+	workflow_design = new JCheckBox(Dictionary.get("GUI.Design")+" - "+Dictionary.get("GUI.Design_Tooltip"));
+	workflow_design.setSelected(Configuration.get("workflow.design", false));
+	workflow_design.setPreferredSize(ROW_SIZE);
+	workflow_design.setComponentOrientation(Dictionary.getOrientation());
+        
+	workflow_create = new JCheckBox(Dictionary.get("GUI.Create")+" - "+Dictionary.get("GUI.Create_Tooltip"));
+	workflow_create.setSelected(Configuration.get("workflow.create", false));
+	workflow_create.setPreferredSize(ROW_SIZE);
+	workflow_create.setComponentOrientation(Dictionary.getOrientation());
+        
+	workflow_format = new JCheckBox(Dictionary.get("GUI.Format")+" - "+Dictionary.get("GUI.Format_Tooltip"));
+	workflow_format.setSelected(Configuration.get("workflow.format", false));
+	workflow_format.setPreferredSize(ROW_SIZE);
+	workflow_format.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel predefined_pane = new JPanel();
+        predefined_pane.setComponentOrientation(Dictionary.getOrientation());
+	
+        JLabel predefined_label = new JLabel(Dictionary.get("Preferences.Workflow.Predefined.Label"));
+        predefined_label.setComponentOrientation(Dictionary.getOrientation());
+	
+        JComboBox predefined_combobox = new JComboBox(predefined); 
+	predefined_combobox.setOpaque(false);
+	// Connection
+	predefined_combobox.addActionListener(new PredefinedActionListener());
+
+	// Layout
+	checklist_pane.setLayout(new BoxLayout(checklist_pane, BoxLayout.Y_AXIS));
+	checklist_pane.add(title_label);
+	if (Configuration.get("workflow.download", true)) {
+	    checklist_pane.add(workflow_download);
+	}
+	if (Configuration.get("workflow.gather", true)) {
+	    checklist_pane.add(workflow_gather);
+	}
+	if (Configuration.get("workflow.enrich", true)) {
+	    checklist_pane.add(workflow_enrich);
+	}
+	if (Configuration.get("workflow.design", true)) {
+	    checklist_pane.add(workflow_design);
+	}
+	if (Configuration.get("workflow.create", true)) {
+	    checklist_pane.add(workflow_create);
+	}
+	if (Configuration.get("workflow.format", true)) {
+	    checklist_pane.add(workflow_format);
+	}
+	
+	predefined_pane.setLayout(new BorderLayout(5,0));
+	predefined_pane.add(predefined_label, BorderLayout.LINE_START);
+	predefined_pane.add(predefined_combobox, BorderLayout.CENTER);
+
+	workflow_preferences_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	workflow_preferences_pane.setLayout(new BorderLayout());
+	workflow_preferences_pane.add(checklist_pane, BorderLayout.CENTER);
+	workflow_preferences_pane.add(predefined_pane, BorderLayout.SOUTH);
+
+	return workflow_preferences_pane;
+    }
+
+
+    private class OKButtonListener
+	implements ActionListener {
+	private boolean close;
+	public OKButtonListener(boolean close) {
+	    this.close = close;
+	}
+	public void actionPerformed(ActionEvent event)
+	{
+	    // Several options requiring restarting the GLI to apply: 
+	    // interface font, interface language, changed gliserver url or library url
+	    boolean restart_required = false;
+	    boolean keep_collection_open = false;
+	    String restart_message = "";
+
+	    
+	    // Connection preferences
+	    String program_str = program_field.getText();
+	    if (program_str.length() > 0 && program_str.indexOf("%1") == -1) {
+		program_str = program_str + " %1";
+	    }
+	    Configuration.setPreviewCommand(program_str);
+
+	    String old_library_url = (Configuration.library_url == null) ? null : Configuration.library_url.toString();
+	    String library_url_string = library_path_field.getText();
+	    if(old_library_url != null && !old_library_url.equals(library_url_string)) {
+
+		// If the server is remote and the library path's been changed, then GLI client needs restart
+		// If the server is local, GLI is going to work with the collection of GSDLPath anyway, 
+		// even if the library path for previewing has changed
+		if (Gatherer.isGsdlRemote) {
+		    restart_required = true;
+		    restart_message = Dictionary.get("Preferences.General.Manual_Restart_Required");
+		    
+		}
+		if(Gatherer.c_man.getCollection() != null) {
+		    // if the gliserver url has changed while a collection is open, 
+		    // close the open collection of the old library URL
+		    Gatherer.g_man.saveThenCloseCurrentCollection();
+		    Configuration.setString("general.open_collection"+Configuration.gliPropertyNameSuffix(), true, "");
+		}
+	    }
+	    if (library_url_string.equals("")) {
+		Configuration.library_url = null;
+	    }
+	    else {
+		try {
+		    Configuration.library_url = new URL(library_url_string);
+		}
+		catch (MalformedURLException exception) {
+		    DebugStream.printStackTrace(exception);
+		}
+	    }
+
+	    Configuration.setString("general.library_url"+Configuration.gliPropertyNameSuffix(), 
+				    true, library_url_string);
+
+	    if (Gatherer.isGsdlRemote && !Gatherer.GS3) {
+		String old_gliserver_url = Configuration.gliserver_url.toString(); 
+		String gliserver_url_string = gliserver_url_field.getText();
+		if(!old_gliserver_url.equals(gliserver_url_string)) {
+		    restart_required = true;
+		    restart_message = Dictionary.get("Preferences.General.Manual_Restart_Required");
+
+		    if(Gatherer.c_man.getCollection() != null) {
+			// if the gliserver url has changed while a collection is open, 
+			// close the open collection of the old gliserver URL
+			Gatherer.g_man.saveThenCloseCurrentCollection();
+			Configuration.setString("general.open_collection"+Configuration.gliPropertyNameSuffix(), true, "");
+		    }
+		}
+		if (gliserver_url_string.equals("")) {
+		    Configuration.gliserver_url = null;
+		}
+		else {
+		    try {
+			Configuration.gliserver_url = new URL(gliserver_url_string);
+		    }
+		    catch (MalformedURLException exception) {
+			DebugStream.printStackTrace(exception);
+		    }
+		}
+		Configuration.setString("general.gliserver_url", true, gliserver_url_string);
+	    }
+	    
+
+	    boolean site_changed = false;
+	    if (Gatherer.GS3) {
+		String current_site = Configuration.site_name;
+		String new_site =(String)site_combobox.getSelectedItem() ;
+		if (!new_site.equals(current_site)) {
+		    site_changed = true;
+		}
+		Configuration.setSiteAndServlet(new_site, (String)servlet_combobox.getSelectedItem());
+	    }
+	   
+	    Configuration.set("general.use_proxy", true, use_proxy_checkbox.isSelected());
+	    Configuration.setString("general.proxy_host", true, proxy_host_field.getText());
+	    Configuration.setString("general.proxy_port", true, proxy_port_field.getValue() + "");
+	    Gatherer.setProxy();
+
+	    // General preferences
+	    Configuration.setEmail(email_field.getText());
+	    Configuration.set("general.show_file_size", Configuration.COLLECTION_SPECIFIC, show_file_size_checkbox.isSelected());
+	    Configuration.set("general.view_extracted_metadata", Configuration.COLLECTION_SPECIFIC, view_extracted_metadata_checkbox.isSelected());
+
+
+	    // GLI interface font
+	    String current_font = Configuration.getString("general.font", true);
+	    if (!current_font.equals(font_field.getText())) {
+		Configuration.setString("general.font", true, font_field.getText());
+		restart_required = true;
+		restart_message = Dictionary.get("Preferences.General.Restart_Required");
+
+	    }
+
+	    // GLI interface language
+	    String current_lang = Configuration.getLanguage();
+	    if (!current_lang.equals(((DictionaryEntry) language_combobox.getSelectedItem()).getLocale().getLanguage())) {
+	      // need to save the collection before changing the locale otherwise it stuffs the metadata names up
+	      if(Gatherer.c_man.getCollection() != null) {
+		  Configuration.setString("general.open_collection"+Configuration.gliPropertyNameSuffix(), true, Gatherer.c_man.getLoadedCollectionColFilePath());
+		  Gatherer.g_man.saveThenCloseCurrentCollection();
+		  keep_collection_open = true;
+		}
+
+		Configuration.setLocale("general.locale", Configuration.GENERAL_SETTING, ((DictionaryEntry) language_combobox.getSelectedItem()).getLocale());
+		restart_required = true;
+		restart_message = Dictionary.get("Preferences.General.Restart_Required");
+	    }
+
+	    // Inform the user that a restart is required, if necessary
+	    if (restart_required) {
+		JOptionPane.showMessageDialog(Gatherer.g_man, restart_message, Dictionary.get("General.Warning"), JOptionPane.WARNING_MESSAGE);
+	    }
+
+	    // Mode preferences
+	    int current_mode = Configuration.getMode();
+	    int new_mode;
+	    if (assistant_mode_radio_button.isSelected()) {
+		new_mode = Configuration.ASSISTANT_MODE;
+	    }
+	    else if (expert_mode_radio_button.isSelected()) {
+		new_mode = Configuration.EXPERT_MODE;
+	    }
+	    else {
+		new_mode = Configuration.LIBRARIAN_MODE;
+	    }
+
+	    // If there has been a change in modes, update the config, and also inform the persistant gui views that have a need to know
+	    if (new_mode != current_mode) {
+		Configuration.setMode(new_mode);
+		Collection collection = Gatherer.c_man.getCollection();
+		if (collection != null) {
+		    collection.cdm.modeChanged(new_mode);
+		}
+		Gatherer.g_man.modeChanged(new_mode);
+	    }
+
+	    // Warning preferences
+	    ListModel warning_preferences_check_list_model = warning_preferences_check_list.getModel();
+	    for (int i = 0; i < warning_preferences_check_list_model.getSize(); i++) {
+		CheckListEntry entry = (CheckListEntry) warning_preferences_check_list_model.getElementAt(i);
+		Configuration.set(entry.getProperty(), true, entry.isSelected());
+	    }
+
+	    if (Gatherer.GS3 && site_changed && Gatherer.c_man.getCollection() != null && !Gatherer.isGsdlRemote) {
+		// shut down the collection
+		System.err.println("shutting down the collection");
+		Gatherer.g_man.saveThenCloseCurrentCollection();
+	    }
+
+	    // Workflow preferences
+// 	    Configuration.set("workflow.download", false, workflow_download.isSelected());
+// 	    Configuration.set("workflow.gather", false, workflow_gather.isSelected());
+// 	    Configuration.set("workflow.enrich", false, workflow_enrich.isSelected());
+// 	    Configuration.set("workflow.design", false, workflow_design.isSelected());
+// 	    Configuration.set("workflow.create", false, workflow_create.isSelected());
+// 	    Configuration.set("workflow.format", false, workflow_format.isSelected());
+	    
+// 	    Gatherer.g_man.workflowUpdate("Download", workflow_download.isSelected());
+// 	    Gatherer.g_man.workflowUpdate("Gather", workflow_gather.isSelected());
+// 	    Gatherer.g_man.workflowUpdate("Enrich", workflow_enrich.isSelected());
+// 	    Gatherer.g_man.workflowUpdate("Design", (workflow_design.isSelected() && Configuration.getMode() > Configuration.ASSISTANT_MODE));
+// 	    Gatherer.g_man.workflowUpdate("Create", workflow_create.isSelected());
+// 	    Gatherer.g_man.workflowUpdate("Format", workflow_format.isSelected());
+
+	    // Always save configuration changes immediately (in case the GLI crashes)
+	    Configuration.save();
+	    if (Gatherer.isGsdlRemote && Gatherer.GS3 && site_changed ){
+		Gatherer.remoteGreenstoneServer.downloadCollectionConfigurations();
+	    }
+	    // Refresh the GLI to account for the configuration changes
+	    Gatherer.refresh(Gatherer.PREFERENCES_CHANGED);
+
+	    // If proxy is on but proxy details are incomplete, then can't continue 
+	    if (use_proxy_checkbox.isSelected() && proxy_host_field.getText().equals("")) {
+		JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("Preferences.Connection.Proxy_Host_Missing"),
+					      Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+	    } else {
+		// Hide dialog
+		if (close) {
+		    self.dispose();
+		}
+	    }
+
+	    if (restart_required) {
+	      if (keep_collection_open) {
+		Gatherer.g_man.exitNoCollectionSave(Gatherer.EXIT_THEN_RESTART);
+	      } else {
+		Gatherer.g_man.exit(Gatherer.EXIT_THEN_RESTART);
+	      }
+	    }
+	}
+    }
+
+    private class CancelButtonListener
+	implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+	    self.dispose();
+	}
+    }
+
+    private class DictionaryEntry
+	implements Comparable {
+	private Locale locale;
+	private String description;
+	public DictionaryEntry(Locale locale) {
+	    this.description = null;
+	    this.locale = locale;
+	}
+	public DictionaryEntry(String description, Locale locale) {
+	    this.description = description;
+	    this.locale = locale;
+	}
+	public int compareTo(Object object) {
+	    return toString().compareTo(object.toString());
+	}
+	public boolean equals(Object object) {
+	    return toString().equals(object.toString());
+	}
+	public Locale getLocale() {
+	    return locale;
+	}
+	public String toString() {
+	    if(description != null) {
+		return description;
+	    }
+	    else {
+		return locale.getDisplayName();
+	    }
+	}
+    }
+
+    /** This listener updates the mode description depending on what mode is selected. */
+    private class ModeRadioButtonListener
+	implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+	    Object source = event.getSource();
+	    if(source == assistant_mode_radio_button) {
+		mode_description_textarea.setText(Dictionary.get("Preferences.Mode.Assistant_Description"));
+	    }
+	    else if(source == expert_mode_radio_button) {
+		mode_description_textarea.setText(Dictionary.get("Preferences.Mode.Expert_Description"));
+	    }
+	    else {
+		mode_description_textarea.setText(Dictionary.get("Preferences.Mode.Librarian_Description"));
+	    }
+	    source = null;
+	}
+    }
+
+    private class PredefinedActionListener
+	implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+	    JComboBox cb = (JComboBox) event.getSource();
+	    WorkflowElementWrapper element = (WorkflowElementWrapper) cb.getSelectedItem();
+	    CheckboxUpdater task = new CheckboxUpdater(element);
+	    SwingUtilities.invokeLater(task);
+	}
+
+	private class CheckboxUpdater
+	    implements Runnable {
+	    private WorkflowElementWrapper element;
+	    public CheckboxUpdater(WorkflowElementWrapper element) {
+		this.element = element;
+	    }
+	    public void run() {
+		workflow_download.setSelected(element.getEnabled("download"));
+		workflow_gather.setSelected(element.getEnabled("gather"));
+		workflow_enrich.setSelected(element.getEnabled("enrich"));
+		workflow_design.setSelected(element.getEnabled("design"));
+		workflow_create.setSelected(element.getEnabled("create"));
+		workflow_format.setSelected(element.getEnabled("format"));
+	    }
+	}
+    }
+
+
+    private class SiteComboboxListener
+	implements ActionListener {
+	private boolean ignore_event=false;
+	public void actionPerformed(ActionEvent event) {
+	    System.err.println("event occurred "+event.paramString());
+	    String site = (String) site_combobox.getSelectedItem();
+	    System.err.println("The site changed to = "+site);
+	    if (!site.equals(current_site_selection)) {
+		current_site_selection = site;
+		System.err.println("changed the current selection");
+		
+		ArrayList servlet_options = Gatherer.servlet_config.getServletsForSite(current_site_selection);
+		if (servlet_options == null) {
+		    ///ystem.err.println("no servlets for this site");
+		    servlet_combobox.setModel(new DefaultComboBoxModel());
+		    servlet_combobox.setToolTipText(Dictionary.get("Preferences.Connection.Servlet_Tooltip2"));
+		    servlet_combobox.setEnabled(false);
+
+		} else {
+		    ///ystem.err.println(ArrayTools.objectArrayToString(servlet_options.toArray()));
+		    servlet_combobox.setModel(new DefaultComboBoxModel(servlet_options.toArray()));
+		    servlet_combobox.setToolTipText(Dictionary.get("Preferences.Connection.Servlet_Tooltip"));
+		    servlet_combobox.setEnabled(true);
+		}
+		if (Gatherer.isGsdlRemote){
+		    // Close the current collection, remove the lock on this file, ask to login to the new site, then download collection configurations of the site.
+		    if (Gatherer.c_man.getCollection()!=null){
+			File lock_file = new File(Gatherer.c_man.getLoadedCollectionDirectoryPath() + "gli.lck");
+			Gatherer.remoteGreenstoneServer.deleteCollectionFile(Gatherer.c_man.getLoadedCollectionName(),lock_file);
+			Gatherer.g_man.closeCurrentCollection();
+		    }
+		    Configuration.site_name=site;
+		    Gatherer.remoteGreenstoneServer.set_remote_greenstone_server_authentication_to_null();
+		    Gatherer.remoteGreenstoneServer.downloadCollectionConfigurations();
+		}
+	    }
+	}    
+    }
+
+    private class UseProxyListener
+	implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+	    boolean enabled = use_proxy_checkbox.isSelected();
+	    Configuration.set("general.use_proxy", true, enabled);
+	    // Fortunately this is already driven by the event thread.
+	    proxy_host_field.setEnabled(enabled);
+	    proxy_port_field.setEnabled(enabled);
+	}
+    }
+
+    private class WorkflowElementWrapper {
+	private Element element;
+	private String text;
+	public WorkflowElementWrapper(Element element) {
+	    this.element = element;
+	}
+	public boolean getEnabled(String name) {
+	    boolean result = true;
+	    if(element.getAttribute(name).equalsIgnoreCase("false")) {
+		result = false;
+	    }
+	    return result;
+	}
+	public String toString() {
+	    if (text == null) {
+		text = Dictionary.get(element.getFirstChild().getNodeValue());
+	    }
+	    return text;
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/PreviewButton.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/PreviewButton.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/PreviewButton.java	(revision 21123)
@@ -0,0 +1,168 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.greenstone.LocalLibraryServer;
+import org.greenstone.gatherer.greenstone3.ServletConfiguration;
+import org.greenstone.gatherer.util.StaticStrings;
+
+
+public class PreviewButton 
+    extends GLIButton {
+
+
+    static final public int HOME_PAGE = 1;
+    static final public int SEARCH_PAGE = 2;
+    static final public int CLASSIFIER_PAGE = 3;
+    static final public int DOCUMENT_PAGE = 4;
+
+    private String preview_address;
+    private int page_type = HOME_PAGE;
+    private boolean variable_preview = false;
+    
+    private PreviewButtonOwner owner = null;
+    public PreviewButton() {
+	super();
+	PreviewButtonListener pbl = new PreviewButtonListener();
+	addActionListener(pbl);
+    }
+    public PreviewButton(String text, String tooltip) {
+	super(text, tooltip);
+	PreviewButtonListener pbl = new PreviewButtonListener();
+	addActionListener(pbl);
+    }
+
+    public void setOwner(PreviewButtonOwner o) {
+	owner = o;
+    }
+    public void setVariablePreview(boolean vp) {
+	variable_preview = vp;
+    }
+    protected void configureHomeURL() {
+	// we could be working with standalone collections or collection groups
+	// so getting a collection-name may have a collection group prefix
+	// This means CollectionManager.getLoadedCollectionName() is no longer sufficient
+	String collGroupWithName = CollectionManager.getLoadedGroupQualifiedCollectionName(true);
+
+	// set up the home page for the current collection
+	if (Gatherer.GS3 && !Configuration.fedora_info.isActive()) { // GLI for GS3 case
+	    if(Configuration.library_url == null) {
+		Gatherer.missingEXEC();
+	    } 
+	    // if we now finally have a library URL, then continue with previewing
+	    if(Configuration.library_url != null) {
+		// don't do anything fancy here
+		preview_address = Configuration.library_url.toString() + Configuration.getServletPath() 
+		    + "?a=p&sa=about&c=" + collGroupWithName + "&l=" + Configuration.getLanguage();
+	    }
+	    return;
+	}
+
+	if(Gatherer.isLocalLibrary) {
+	    // check that the local library server is still running  - doesn't do anything if it's not supposed to be running
+	    // !! Don't like this here
+	    LocalLibraryServer.checkServerRunning();
+	    if(LocalLibraryServer.isURLPending()) {
+		// Remind the user to press Enter Library, and return from this method
+		JOptionPane.showMessageDialog(Gatherer.g_man,
+					      Dictionary.get("General.LLS_Not_Started"), 
+					      Dictionary.get("General.LLS_Not_Started_Title"),
+					      JOptionPane.INFORMATION_MESSAGE);
+		preview_address = null;
+		return;	  
+	    } 
+	}
+	// FLI or GLI for GS2 case (no library_url)
+	preview_address = Configuration.library_url.toString() + "?c=" + collGroupWithName + "&l=" + Configuration.getLanguage();
+
+	String main_args = "&a=p&p=about";
+	/* this code is for switching the preview page depending on what 
+	    is currently active. but it is not complete yet
+	String main_args = null;
+	String params = null;
+	if (!variable_preview || owner == null) {
+	    main_args = "&a=p&p=about";
+	} else {
+	    page_type = owner.getPageType();
+	    params = owner.getPageParams();
+	    
+	    switch (page_type) {
+	    case SEARCH_PAGE:
+		main_args = "&a=q&q="+params;
+		break;
+	    case CLASSIFIER_PAGE:
+		main_args = "&a=d&cl="+params;
+		break;
+	    case DOCUMENT_PAGE:
+		  main_args = "&a=d&d="+params;
+		break;
+	    case HOME_PAGE:
+	    default:
+		main_args = "&a=p&p=about";
+		
+		
+	    }
+	    
+
+	}
+	*/
+	preview_address += main_args+StaticStrings.TIMESTAMP_ARGUMENT + System.currentTimeMillis();
+	
+    }
+    private class PreviewButtonListener
+	implements ActionListener {
+
+	public void actionPerformed(ActionEvent event) {
+	    Gatherer.c_man.saveCollection();
+	    
+	    configureHomeURL();
+	    
+	    if (Gatherer.GS3) {
+		// we need to rerun the convert in case the format stuff has changed
+		//for gs3, we don't need this anymore: Gatherer.c_man.convertToGS3Collection();
+		Gatherer.configGS3Server(Configuration.site_name, ServletConfiguration.ADD_COMMAND + Gatherer.c_man.getLoadedCollectionName());
+	    }
+	    if(preview_address != null) {
+		Gatherer.spawnBrowser(preview_address);
+	    }
+
+	}
+
+    }
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/PreviewButtonOwner.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/PreviewButtonOwner.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/PreviewButtonOwner.java	(revision 21123)
@@ -0,0 +1,40 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+public interface PreviewButtonOwner {
+
+    public int getPageType();
+
+    public String getPageParams();
+
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/PreviewCommandDialog.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/PreviewCommandDialog.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/PreviewCommandDialog.java	(revision 21123)
@@ -0,0 +1,268 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.File;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.filechooser.*;
+import javax.swing.table.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.util.Utility;
+
+/** This dialog allows the user to choose which browser to use for the preview command 
+ * @author Katherine Don, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class PreviewCommandDialog
+    extends ModalDialog {
+
+    /** The default size for the dialog. */
+    static final private Dimension SIZE = new Dimension(500, 195);
+
+    private PreviewCommandDialog self;
+    private JButton browse_button;
+    private JButton cancel_button;
+    private JButton ok_button;
+    private JTextField command_field;
+    private String preview_command=null;
+    /** Create a new PreviewCommandDialog
+     */
+    public PreviewCommandDialog() {
+	super(Gatherer.g_man);
+	this.self = this;
+        JScrollPane scrol_tmp;
+        this.setComponentOrientation(Dictionary.getOrientation());
+	// Creation
+	setModal(true);
+	setSize(SIZE);
+	setJMenuBar(new SimpleMenuBar("thepreviewview"));
+	setTitle(Dictionary.get("PreviewCommandDialog.Title"));
+	
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+	content_pane.setBackground(Configuration.getColor("coloring.collection_heading_background", false));
+
+	JTextArea instructions_area = new JTextArea(Dictionary.get("PreviewCommandDialog.Instructions"));
+        instructions_area.setComponentOrientation(Dictionary.getOrientation());
+        instructions_area.setEditable(false);
+	instructions_area.setLineWrap(true);
+	instructions_area.setRows(5);
+	instructions_area.setWrapStyleWord(true);
+	
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	JPanel lower_pane = new JPanel();
+        lower_pane.setComponentOrientation(Dictionary.getOrientation());
+
+	JPanel command_pane = new JPanel();
+        command_pane.setComponentOrientation(Dictionary.getOrientation());
+	command_field = new JTextField();
+        command_field.setComponentOrientation(Dictionary.getOrientation());
+	browse_button = new GLIButton(Dictionary.get("FileAssociationDialog.Browse"));
+	browse_button.setEnabled(!Utility.isMac());
+	if (Utility.isMac()) {
+	    browse_button.setToolTipText(Dictionary.get("FileAssociationDialog.Browse_Tooltip_Mac"));
+	} else {
+	    browse_button.setToolTipText(Dictionary.get("FileAssociationDialog.Browse", "FileAssociationDialog.Browse_Tooltip"));
+	}
+	ok_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("FileAssociationDialog.Close_Tooltip"));
+	cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Pure_Cancel_Tooltip"));
+	
+	// Connection
+	browse_button.addActionListener(new BrowseButtonListener());
+	ok_button.addActionListener(new OkButtonListener());
+	cancel_button.addActionListener(new CancelButtonListener());
+	
+	// Layout
+	command_pane.setBorder(BorderFactory.createEmptyBorder(2,0,2,0));
+	command_pane.setLayout(new BorderLayout());
+	command_pane.add(command_field, BorderLayout.CENTER);
+	command_pane.add(browse_button, BorderLayout.LINE_END);
+
+	lower_pane.setBorder(BorderFactory.createEmptyBorder(2,0,0,0));
+
+	button_pane.setLayout(new GridLayout(1,2,5,0));
+	button_pane.add(ok_button);
+	button_pane.add(cancel_button);
+
+	lower_pane.setBorder(BorderFactory.createEmptyBorder(2,0,0,0));
+	lower_pane.setLayout(new BorderLayout());
+	lower_pane.add(command_pane, BorderLayout.CENTER);
+	lower_pane.add(button_pane, BorderLayout.SOUTH);
+
+
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.setLayout(new BorderLayout());
+        scrol_tmp=new JScrollPane(instructions_area);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	content_pane.add(scrol_tmp, BorderLayout.NORTH);
+	content_pane.add(lower_pane, BorderLayout.CENTER);
+
+	Rectangle screen = Gatherer.g_man.getBounds(null);
+	setLocation((int)(screen.getX() + (screen.getWidth() - SIZE.width) / 2), (int)(screen.getY() + (screen.getHeight() - SIZE.height) / 2));
+	screen = null;
+    }
+
+    public void destroy() {
+	// Disconnect
+	// Clean up
+	self = null;
+    }
+
+    /** Redisplay the dialog
+     */
+    public String display() {
+	setVisible(true);
+	return preview_command;
+    }
+
+
+    private class OkButtonListener
+	implements ActionListener {
+	
+	public void actionPerformed(ActionEvent event) {
+	    preview_command = command_field.getText();
+	    self.dispose();
+	    
+	}
+    }
+
+
+    /** Whenever the user clicks the browse button, we should open up a file browser to allow them to select an executable file from somewhere in the file system. */
+    private class BrowseButtonListener 
+	implements ActionListener {
+	/** Open up a simple JFileChooser when the user clicks the button. 
+	 * @param event An <strong>ActionEvent</strong> containing information about the event.
+	 */
+	public void actionPerformed(ActionEvent event) {
+	    JFileChooser chooser = new JFileChooser(new File(Gatherer.getGLIUserDirectoryPath()));
+            chooser.setComponentOrientation(Dictionary.getOrientation());
+	    GUIUtils.disableRename(chooser);
+	    chooser.setDialogTitle(Dictionary.get("FileAssociationDialog.Browse_Title"));
+	    chooser.setFileFilter(new BatchFileFilter());
+	    chooser.setFileFilter(new CoreObjectModelFileFilter());
+	    chooser.setFileFilter(new ExecutableFileFilter());
+	    chooser.setAcceptAllFileFilterUsed(true);
+	    if(chooser.showOpenDialog(Gatherer.g_man) == JFileChooser.APPROVE_OPTION) {
+		command_field.setText(chooser.getSelectedFile().getAbsolutePath());
+	    }
+	}
+    }
+
+    
+    private class CancelButtonListener
+	implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+	    self.dispose();
+	}
+    }
+
+    /** Batch filter shows only files ending in bat. Based on ImageFilter.java which is a 1.4 example used by FileChooserDemo2.java. */
+    private class BatchFileFilter
+	extends FileFilter {
+
+	/** Accept all .exe files
+	 * @param file a File
+	 * @return true is this file should be shown, false otherwise
+	 */
+	public boolean accept(File file) {
+	    return file.getName().toLowerCase().endsWith(".bat");
+	}
+
+	/** The description of this filter
+	 * @return a String
+	 */
+	public String getDescription() {
+	    return Dictionary.get("FileAssociationDialog.Batch_File");
+	}
+    }
+
+    /** Command filter shows only files ending in com. Based on ImageFilter.java which is a 1.4 example used by FileChooserDemo2.java. */
+    private class CoreObjectModelFileFilter
+	extends FileFilter {
+
+	/** Accept all .com files
+	 * @param file a File
+	 * @return true is this file should be shown, false otherwise
+	 */
+	public boolean accept(File file) {
+	    return file.getName().toLowerCase().endsWith(".com");
+	}
+
+	/** The description of this filter
+	 * @return a String
+	 */
+	public String getDescription() {
+	    return Dictionary.get("FileAssociationDialog.Command_File");
+	}
+    }
+
+
+    /** Executable filter shows only files ending in exe. Based on ImageFilter.java which is a 1.4 example used by FileChooserDemo2.java. */
+    private class ExecutableFileFilter
+	extends FileFilter {
+
+	/** Accept all .exe files
+	 * @param file a File
+	 * @return true is this file should be shown, false otherwise
+	 */
+	public boolean accept(File file) {
+	    return file.getName().toLowerCase().endsWith(".exe");
+	}
+
+	/** The description of this filter
+	 * @return a String
+	 */
+	public String getDescription() {
+	    return Dictionary.get("FileAssociationDialog.Executable_File");
+	}
+    }
+
+
+}
+
+
+
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/RenamePrompt.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/RenamePrompt.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/RenamePrompt.java	(revision 21123)
@@ -0,0 +1,132 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2006 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import javax.swing.*;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionTreeNode;
+
+
+public class RenamePrompt
+    extends JDialog 
+    implements ActionListener, KeyListener
+{
+    private JButton cancel_button;
+    private JButton ok_button;
+    private JTextField name_textfield;
+    private String name;
+
+    static final private Dimension SIZE = new Dimension(350, 100);
+
+
+    public RenamePrompt(CollectionTreeNode collection_tree_node)
+    {
+	super(Gatherer.g_man, true);
+        this.setComponentOrientation(Dictionary.getOrientation());
+	setTitle(Dictionary.get("RenamePrompt.Title"));
+	name = collection_tree_node.getFile().getName();
+    }
+
+
+    public void actionPerformed(ActionEvent event)
+    {
+	if (event.getSource() == ok_button) {
+	    name = name_textfield.getText();
+	}
+	else if (event.getSource() == cancel_button) {
+	    name = null;
+	}
+	dispose();
+    }
+
+    public void keyPressed(KeyEvent e) {
+	if (e.getKeyCode() == KeyEvent.VK_ENTER) {
+            // Enter: Click the button in focus
+            Object source = e.getSource();
+            if (source instanceof AbstractButton) {
+                ((AbstractButton) source).doClick();
+            } else if (source == name_textfield) {
+		ok_button.doClick();
+	    }
+        }
+    }
+
+    public void keyReleased(KeyEvent e) { }
+    
+    public void keyTyped(KeyEvent e) { }
+
+
+    public String display()
+    {
+	setSize(SIZE);
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel info_pane = new JPanel();
+        info_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JLabel name_label = new JLabel(Dictionary.get("RenamePrompt.Name"));
+        name_label.setComponentOrientation(Dictionary.getOrientation());
+	name_textfield = new JTextField(name);
+        name_textfield.setComponentOrientation(Dictionary.getOrientation());
+
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	ok_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("General.OK_Tooltip"));
+	cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Pure_Cancel_Tooltip"));
+	
+	// Connection
+	cancel_button.addActionListener(this);
+	ok_button.addActionListener(this);
+	ok_button.addKeyListener(this);
+	name_textfield.addKeyListener(this);
+
+	// Layout
+	info_pane.setLayout(new BorderLayout(5,0));
+	info_pane.add(name_label, BorderLayout.LINE_START);
+	info_pane.add(name_textfield, BorderLayout.CENTER);
+
+	button_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	button_pane.setLayout(new GridLayout(1,2,0,5));
+	button_pane.add(ok_button);
+	button_pane.add(cancel_button);
+
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(info_pane, BorderLayout.CENTER);
+	content_pane.add(button_pane, BorderLayout.SOUTH);
+
+	// Display
+	Rectangle frame_bounds = Gatherer.g_man.getBounds();
+	setLocation(frame_bounds.x + (frame_bounds.width - SIZE.width) / 2, frame_bounds.y + (frame_bounds.height - SIZE.height) / 2);
+	setVisible(true);
+	return name;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/ReplaceSrcDocWithHtmlPrompt.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/ReplaceSrcDocWithHtmlPrompt.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/ReplaceSrcDocWithHtmlPrompt.java	(revision 21123)
@@ -0,0 +1,425 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Anupama Krishnan, Greenstone Digital Library, University of Waikato
+ * Code based entirely on Katherine Don's ExplodeMetadataDatabasePrompt.java
+ * (part of the Greenstone Digital Library)
+ *
+ * Copyright (C) 2008 Greenstone Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.text.*;
+import java.io.*;
+import java.util.ArrayList;
+
+import org.w3c.dom.Document;
+
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.cdm.Argument;
+import org.greenstone.gatherer.cdm.ArgumentControl;
+import org.greenstone.gatherer.cdm.CollectionDesignManager;
+import org.greenstone.gatherer.cdm.Plugin;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.collection.ScriptOptions;
+import org.greenstone.gatherer.collection.Collection;
+import org.greenstone.gatherer.feedback.Base64;
+import org.greenstone.gatherer.greenstone.LocalGreenstone;
+import org.greenstone.gatherer.gui.tree.DragTree;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.greenstone.gatherer.shell.GShell;
+import org.greenstone.gatherer.shell.GShellEvent;
+import org.greenstone.gatherer.shell.GShellListener;
+import org.greenstone.gatherer.util.Utility;
+import org.greenstone.gatherer.util.XMLTools;
+
+public class ReplaceSrcDocWithHtmlPrompt	
+    extends ModalDialog
+    implements GShellListener
+{
+    /** The size of this new collection dialog box. */
+    static private Dimension SIZE = new Dimension(675, 250);
+    private JDialog self;
+    
+    /** the source document files we wil be replacing with their GS3-generated html equivalent */
+    private File[] srcdoc_files = null;
+     /** the names of the srcdoc_files that could not be replaced with their GS3-generated html equivalent */
+    private java.util.Vector failedFiles = null;
+
+    /** the list of potential plugins to be used */
+    private Argument plugin_arg = null;
+    /** holds all the available options for the src-replacing script */
+    private ScriptOptions options = null;
+    /** the pane containing the options */
+    private JPanel options_pane = null;
+    /** the error message if any */
+    private StringBuffer error_message = null;
+    /** whether we were successful or not */
+    private boolean successful;
+    /** The command output of a successful execution of the replace script 
+     * containing the generated tailname of the replacement file */ 
+    private String successfulOutput;
+
+    public ReplaceSrcDocWithHtmlPrompt(File[] source_files) {
+	super(Gatherer.g_man, true);
+	this.self = this;
+	this.srcdoc_files = source_files;
+	failedFiles = new java.util.Vector(source_files.length); // number of failures will never be more than num source docs
+
+	// check that we actually have a src doc file which can be replaced with its GS3-generated html
+	// since all the files here have the same extension, the first file can be used to work out 
+	// the necessary plugin
+	ArrayList replacer_plugins = CollectionDesignManager.plugin_manager.getSrcReplacerPlugins(source_files[0]);
+	if (replacer_plugins.size() == 0) {
+	    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("ReplaceSrcWithHTMLPrompt.NotSrcReplaceable"), Dictionary.get("ReplaceSrcWithHTMLPrompt.Title"), JOptionPane.ERROR_MESSAGE);
+	    return;
+	}
+	plugin_arg = createPluginArgument(replacer_plugins);
+	setJMenuBar(new SimpleMenuBar("replacingSourceDoc"));
+	setSize(SIZE);
+	setTitle(Dictionary.get("ReplaceSrcWithHTMLPrompt.Title"));
+	
+	// set up the script options
+	// we have empty initial values
+	String dom_string = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Options/>";
+	Document doc = XMLTools.parseXML(new StringReader(dom_string));
+	options = new ScriptOptions(doc.getDocumentElement(), "replace_srcdoc_with_html.pl");
+	
+	// Creation
+	JPanel content_pane = (JPanel) getContentPane();
+	content_pane.setOpaque(true);
+	content_pane.setComponentOrientation(Dictionary.getOrientation());        
+	options_pane = new JPanel();
+        
+	addScriptOptions(options_pane);
+	JScrollPane middle_pane = new JScrollPane(options_pane);
+        middle_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JTextArea instructions_area = new JTextArea(Dictionary.get("ReplaceSrcWithHTMLPrompt.Instructions"));
+	instructions_area.setComponentOrientation(Dictionary.getOrientation());
+        instructions_area.setEditable(false);
+	instructions_area.setLineWrap(true);
+	instructions_area.setRows(5);
+	instructions_area.setWrapStyleWord(true);
+	
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	JButton srcreplace_button = new GLIButton(Dictionary.get("ReplaceSrcWithHTMLPrompt.ReplaceSrc"), Dictionary.get("ReplaceSrcWithHTMLPrompt.ReplaceSrc_Tooltip"));
+	JButton cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Cancel_Tooltip"));
+	
+	// Connection
+	cancel_button.addActionListener(new CancelListener());
+	srcreplace_button.addActionListener(new SrcReplaceListener());
+
+	// Layout
+
+	button_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	button_pane.setLayout(new GridLayout(1,2));
+	button_pane.add(srcreplace_button);
+	button_pane.add(cancel_button);
+
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(instructions_area, BorderLayout.NORTH);
+	content_pane.add(middle_pane, BorderLayout.CENTER);
+	content_pane.add(button_pane, BorderLayout.SOUTH);
+
+	// Final dialog setup & positioning.
+	Dimension screen_size = Configuration.screen_size;
+	setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	setVisible(true);
+    }
+
+    public void destroy() 
+    {
+       	
+    }
+
+    /** All implementation of GShellListener must include this method so the listener can be informed of messages from the GShell.
+     * @param event A <strong>GShellEvent</strong> that contains, amoung other things, the message.
+     */
+    public synchronized void message(GShellEvent event) {
+	String message = event.getMessage();
+	if (message.startsWith("replace_srcdoc_with_html.pl>")) {
+	    message = message.substring(28); // length of "replace_srcdoc_with_html.pl>"?
+	    error_message.append(message);
+	    error_message.append("\n");
+	}
+    }
+
+    /** All implementation of GShellListener must include this method so the listener can be informed when a GShell begins its task. Implementation side-effect, not actually used.
+     * @param event A <strong>GShellEvent</strong> that contains details of the initial state of the <strong>GShell</strong> before task comencement.
+     */
+    public synchronized void processBegun(GShellEvent event) {
+	// We don't care. 
+    }
+    
+    /** All implementation of GShellListener must include this method so the listener can be informed when a GShell completes its task.
+     * @param event A <strong>GShellEvent</strong> that contains details of the final state of the <strong>GShell</strong> after task completion.
+     */
+    public synchronized void processComplete(GShellEvent event) {
+	successful = false;
+	if(event.getStatus() == GShell.OK) {
+	    successful = true;
+	    GShell process = (GShell)event.getSource();
+	    successfulOutput = process.getCommandOutput();
+	    process.resetCommandOutput();
+	}
+    }
+
+    private Argument createPluginArgument(ArrayList plugin_list) {
+	Argument arg = new Argument();
+	arg.setName("plugin");
+	arg.setDescription(Dictionary.get("ReplaceSrcWithHTMLPrompt.Plugin"));
+	arg.setRequired(true);
+	arg.setType(Argument.ENUM);
+	for (int i=0; i<plugin_list.size(); i++) {
+	    Plugin p = (Plugin)plugin_list.get(i);
+	    arg.addOption(p.getName(), p.getName());
+	}
+	return arg;
+    }
+    private void addScriptOptions(JPanel options_pane) {
+
+	options_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	options_pane.setBackground(Configuration.getColor("coloring.collection_heading_background", false));
+	options_pane.setLayout(new BoxLayout(options_pane, BoxLayout.Y_AXIS));
+
+	int current_mode = Configuration.getMode();
+	int total_argument_count = options.getArgumentCount();
+       
+	// first we add the plugin arg
+	ArgumentControl argument_control = new ArgumentControl(plugin_arg, true, null);
+	argument_control.setBackground(Configuration.getColor("coloring.collection_heading_background", false));
+	options_pane.add((JComponent)argument_control);
+	for(int i = 0; i < total_argument_count; i++) {
+	    // Retrieve the argument so we know how to format the control.
+	    Argument argument = options.getArgument(i);
+	    if(!argument.isHiddenGLI() && argument.getModeLevel() <= current_mode) {
+		// by default, all args are disabled, and no value
+		argument_control = new ArgumentControl(argument, false, null);
+	
+		// make sure they are coloured the way we want - this is not the standard arg control coloring
+		argument_control.setBackground(Configuration.getColor("coloring.collection_heading_background", false));
+		options_pane.add((JComponent)argument_control);
+	    }
+	}
+    }
+
+    private void updateScriptOptions() {
+	for(int i = 0; i < options_pane.getComponentCount(); i++) {
+	    Component component = options_pane.getComponent(i);
+	    if(component instanceof ArgumentControl) {
+		ArgumentControl ac = (ArgumentControl)component;
+		String name = ac.getArgumentName();
+		String value = ac.getValue();
+		boolean enabled = ac.isEnabled();
+		if (!enabled && value==null) {
+		    // flag type, remove from options altogether
+		    options.removeValue(name);
+		} else {
+		    if (value.equals("")) {
+			// if the value is empty, we don't want it to be passed to the script
+			options.setValue(name, false, value);
+		    } else {
+			options.setValue(name, enabled, value);
+		    }
+		}
+
+	    }
+	}
+    }
+  
+    private int replaceSrcDoc(int fileNum)
+    {
+	// Generate the replace_srcdoc_with_html.pl command
+	ArrayList command_parts_list = new ArrayList();
+	if (!Gatherer.isGsdlRemote) {
+	    command_parts_list.add(Configuration.perl_path);
+	    command_parts_list.add("-S");
+	}
+	command_parts_list.add(LocalGreenstone.getBinScriptDirectoryPath() + "replace_srcdoc_with_html.pl");
+	
+	// Add in all the options from the user
+	String[] src_replace_options = options.getValues();
+	for (int i = 0; i < src_replace_options.length; i++) {
+	    command_parts_list.add(src_replace_options[i]);
+	}
+
+	// Local case
+	if (!Gatherer.isGsdlRemote) {    
+	    // Add in the filename
+	    command_parts_list.add(this.srcdoc_files[fileNum].getPath());
+	}
+	// Remote case
+	else {
+	    // Add in the filename, relative to the collection directory
+	    String collection_name = CollectionManager.getLoadedCollectionName();
+	    String collection_directory_path = CollectionManager.getCollectionDirectoryPath(collection_name);
+	    String srcdoc_file_relative_path = Gatherer.remoteGreenstoneServer.getPathRelativeToDirectory(
+		this.srcdoc_files[fileNum], collection_directory_path); // preserves spaces in filename
+	    srcdoc_file_relative_path = srcdoc_file_relative_path.replace(File.separatorChar, '|');
+
+	    // base64 encode the relative filepath, so that special characters in the filename are preserved
+	    command_parts_list.add("-file");
+	    command_parts_list.add(Base64.encodeBytes(srcdoc_file_relative_path.getBytes()));
+	    	    
+	    // When running remotely we also need the collection name as the last argument
+	    command_parts_list.add(collection_name);
+	}
+
+	// Run the replace_srcdoc_with_html.pl command
+	String[] command_parts = (String[]) command_parts_list.toArray(new String[0]);
+	this.error_message = new StringBuffer();
+
+	GShell process = new GShell(command_parts, GShell.SRCREPLACE, 3, this, null, GShell.GSHELL_SRCREPLACE);
+	//process.start();
+	process.run();
+	
+	if (successful) {
+	    return 0;
+	} 
+	return 1;
+    }	
+
+    private void resultPrompt(boolean success, String message)
+    {
+	if (success) {
+	    // !!! TO DO: Get replace_srcdoc_with_html.pl strings translated and use SimpleResultDialog below
+	    JOptionPane.showMessageDialog(null, Dictionary.get("ReplaceSrcWithHTMLPrompt.Successful_ReplaceSrc"), Dictionary.get("ReplaceSrcWithHTMLPrompt.Successful_Title"), JOptionPane.INFORMATION_MESSAGE);
+	}
+	else {
+	    String title = Dictionary.get("ReplaceSrcWithHTMLPrompt.Failed_Title");
+	    
+	    // comma separated list of all the names of the files that could not be replaced
+	    String failedFilenames = failedFiles.size() > 0 ? failedFiles.get(0).toString() : "";
+	    for(int i = 1; i < failedFiles.size(); i++) {
+		failedFilenames = failedFilenames + ", " + failedFiles.get(i);
+	    }
+
+	    String label = Dictionary.get("ReplaceSrcWithHTMLPrompt.Failed_ReplaceSrc", failedFilenames);//srcdoc_file.getName());
+	    SimpleResultDialog result_dialog = new SimpleResultDialog(title, label, message);
+	    result_dialog.setVisible(true); // Blocks
+	    result_dialog.dispose();
+	    result_dialog = null;
+	}
+    }
+
+    private class CancelListener
+	implements ActionListener {
+	public void actionPerformed(ActionEvent event) {
+	    self.dispose();
+	}
+    }
+    
+    private class SrcReplaceListener
+	implements ActionListener {
+	
+	public void actionPerformed(ActionEvent event) {
+	    Gatherer.g_man.wait(true);
+	    // update the options
+	    updateScriptOptions();
+	    self.dispose();  
+	    (new ReplaceSrcDocWithHtmlTask()).start();
+	}
+    }
+
+
+    private class ReplaceSrcDocWithHtmlTask
+	extends Thread
+    {
+	public ReplaceSrcDocWithHtmlTask()
+	{
+	}
+
+	public void run()
+	{
+	    int exit_value = 0;
+	    String errMsg = "";
+
+	    // We're going to try replacing all selected documents and then 
+	    // display errormessages
+	    // first run the replace process for all src files, and accumulate error exit values (0 means it's fine)
+	    for(int i = 0; i < srcdoc_files.length; i++) {
+		int exit_value_this_time = replaceSrcDoc(i);
+		exit_value += exit_value_this_time; // if all files successfully replaced, exit_value will stay at 0
+
+		// accumulate all error and success msgs to display after processing all the files
+		// that are to be replaced
+		errMsg += error_message.toString();
+		error_message = null;
+
+		if(exit_value_this_time != 0) {
+		    failedFiles.add(srcdoc_files[i].getName()); // add this file to list of failures
+		} else {
+		    if (Gatherer.isGsdlRemote) {
+			//System.err.println("*****ReplaceSrcDocWithHtmlPrompt.java - run() - gsdl remote case");
+
+			// Conversion may have renamed the file by URL- or base64-encoding it.
+			// The new replacement file's tailname is the last line of the script output.
+			String[] lines = successfulOutput.split("\n");
+			String suffixlessFilename = lines[lines.length-1];
+			String htmlFile = suffixlessFilename+".html";
+
+			// Delete the local copy of the old source document file on the client side 
+			// (it's already been replaced on the server side), and download the updated 
+			// (html) file and any directory containing associated files
+			Utility.delete(srcdoc_files[i]); // remove the local copy of src doc
+
+			// download the generated html file from the server side to put it 
+			// into the import directory on the client side
+			Gatherer.remoteGreenstoneServer.downloadCollectionFile(
+					      CollectionManager.getLoadedCollectionName(),
+					      new File(srcdoc_files[i].getParentFile(), htmlFile));
+			
+			// download any assoc folder which is srcfilename+"_files"
+			File assoc_folder = new File(srcdoc_files[i].getParentFile(), suffixlessFilename+"_files");
+			
+			// If an associated_folder by such a name exists, download it
+			if(Gatherer.remoteGreenstoneServer.exists(CollectionManager.getLoadedCollectionName(), assoc_folder)) {
+			    Gatherer.remoteGreenstoneServer.downloadCollectionFile(
+			                        CollectionManager.getLoadedCollectionName(), assoc_folder);
+			}
+		    }
+		    // Whether remote or local case, need to refressh the GLI filemanager system to show
+		    // what files are in the current collection space
+		    Gatherer.g_man.refreshCollectionTree(DragTree.COLLECTION_CONTENTS_CHANGED); // refreshes coll's content view
+		    Gatherer.g_man.wait(false);
+		}
+	    } // end for loop
+	    
+	    // Display error messages now that we finished processing the multiple files
+	    if(exit_value != 0) {
+		resultPrompt(false, errMsg);
+	    } else {
+		resultPrompt(true, errMsg);
+	    }
+	} // end run method
+
+    }    //end Task class
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/SimpleMenuBar.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/SimpleMenuBar.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/SimpleMenuBar.java	(revision 21123)
@@ -0,0 +1,36 @@
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.util.JarTools;
+
+public class SimpleMenuBar
+    extends JMenuBar
+    implements ActionListener {
+
+    private String page_name;
+
+    public SimpleMenuBar(String page_name) {
+	this.page_name = page_name;
+        this.setComponentOrientation(Dictionary.getOrientation());
+	JMenu help = new JMenu();
+        help.setComponentOrientation(Dictionary.getOrientation());
+	help.setIcon(JarTools.getImage("help.gif"));
+	help.setText(Dictionary.get("Menu.Help"));
+
+	JMenuItem help_help = new JMenuItem(Dictionary.get("Menu.Help"));
+        help_help.setComponentOrientation(Dictionary.getOrientation());
+	help_help.addActionListener(this);
+	
+	help.add(help_help);
+
+	add(Box.createHorizontalGlue());
+	add(help);
+    }
+
+    public void actionPerformed(ActionEvent event) {
+	HelpFrame.setView(page_name);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/SimpleResultDialog.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/SimpleResultDialog.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/SimpleResultDialog.java	(revision 21123)
@@ -0,0 +1,125 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import java.util.ArrayList;
+import javax.swing.*;
+import javax.swing.event.*;
+
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.Dictionary;
+
+public class SimpleResultDialog
+  extends ModalDialog {
+    
+  private Dimension size = new Dimension(600,300);
+  private SimpleResultDialog self;
+    
+  public SimpleResultDialog(String title, String label, String results) {
+    super(Gatherer.g_man, title, true);
+    this.self = this;
+	this.setComponentOrientation(Dictionary.getOrientation());
+        
+    setUpGUI(label, results);
+  }
+
+  /** If you are calling this from another dialog, and you want that dialog blocked while this is open, need to use this method, passing in the calling dialog as the parent */
+  public SimpleResultDialog(Dialog parent, String title, String label, String results) {
+
+    super(parent, title, true);
+    this.self = this;
+  
+    setUpGUI(label, results);
+  }
+
+  private void setUpGUI(String label, String results) {
+    setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
+    setSize(size);
+	
+    JPanel content_pane = (JPanel) getContentPane();
+    content_pane.setComponentOrientation(Dictionary.getOrientation());
+    JLabel result_label = new JLabel(label);
+    result_label.setComponentOrientation(Dictionary.getOrientation());
+	
+    JPanel button_pane = new JPanel();
+    button_pane.setComponentOrientation(Dictionary.getOrientation());
+    JButton close_button = new GLIButton(Dictionary.get("General.Close"));
+    close_button.addActionListener(new CloseButtonListener());
+	
+    JPanel output_pane = new JPanel();
+    output_pane.setComponentOrientation(Dictionary.getOrientation());
+    JLabel output_label = new JLabel(Dictionary.get("General.Review_Output"));
+    output_label.setComponentOrientation(Dictionary.getOrientation());
+
+    JTextArea output_textarea = new JTextArea(results);
+    output_textarea.setComponentOrientation(Dictionary.getOrientation());
+    output_textarea.setCaretPosition(0);
+    output_textarea.setEditable(false);
+    output_textarea.setLineWrap(true);
+    output_textarea.setWrapStyleWord(true);
+	
+    button_pane.setLayout(new BorderLayout());
+    button_pane.add(close_button, BorderLayout.LINE_END);
+	
+    output_pane.setBorder(BorderFactory.createEmptyBorder(5,0,5,0));
+    output_pane.setLayout(new BorderLayout());
+    output_pane.add(output_label, BorderLayout.NORTH);
+    output_pane.add(new JScrollPane(output_textarea), BorderLayout.CENTER);
+	
+    content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+    content_pane.setLayout(new BorderLayout());
+    content_pane.add(result_label, BorderLayout.NORTH);
+    content_pane.add(output_pane, BorderLayout.CENTER);
+    content_pane.add(button_pane, BorderLayout.SOUTH);
+	
+    // Position
+    Rectangle frame_bounds = Gatherer.g_man.getBounds();
+    setLocation(frame_bounds.x + (frame_bounds.width - size.width) / 2, frame_bounds.y + (frame_bounds.height - size.height) / 2);
+    //new SimpleResultDialog(Gatherer.g_man, title, label, results);
+  }
+  
+  
+  private class CloseButtonListener
+    implements ActionListener {
+    public void actionPerformed(ActionEvent event) {
+      self.setVisible(false);
+    }
+  }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/URLField.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/URLField.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/URLField.java	(revision 21123)
@@ -0,0 +1,316 @@
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.net.*;
+import javax.swing.*;
+import java.util.*;
+import java.io.*;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.Configuration;
+
+/** Modified. 
+ * Class used by WarningDialog and Gatherer which represents a textual input control 
+ * (TextField or Combobox) into which a URL can be entered. Provides some static methods
+ * shared by these controls and by a general JTextField control which can all be used 
+ * in a WarningDialog. Class URLField also contains an inner Interface class and two 
+ * static inner classes that implement this interface: Text and DropDown. 
+ * Finally, another static inner class URLCollectionPair associates each Gliserver URL
+ * (or Library URL) that can be displayed in the DropDown with the last opened collection
+ * file for the Greenstone server at that URL. 
+*/
+public class URLField
+{
+    static public String getText(JComponent control)
+    {
+	if(control instanceof JTextField) { // not specifically a URL Field, therefore, we're not meant to do checking
+	    return ((JTextField)control).getText();
+	} 
+	else if(control instanceof URLField.DropDown) {
+	    return (String)((JComboBox)control).getSelectedItem();
+	}
+
+	// unknown control, shouldn't happen
+	return "";
+    }
+
+    static public String setText(JComponent control, String text)
+    {
+	if(control instanceof JTextField) { // not specifically a URL Field, therefore, we're not meant to do checking
+	    ((JTextField)control).setText(text);
+	} 
+	else if(control instanceof URLField.DropDown) {
+	    ((JComboBox)control).setSelectedItem(text);	    
+	}
+
+	// unknown control, shouldn't happen
+	return "";
+    }
+
+    static public boolean validateURL(JComponent control)
+    {
+	if(control instanceof URLField.Text) {
+	    return ((URLField.Text)control).validateURL();
+	} 
+	else if (control instanceof JTextField) {
+	    return true; // not specifically a URL Field, therefore, we're not meant to do checking
+	}
+	else { // control is a DropDown
+	    return ((URLField.DropDown)control).validateURL();
+	}
+    }
+
+    static public boolean validateURL(String url_string)
+    {
+	if (!url_string.equals("")) {
+	    // Check the URL string is valid by trying to create a URL object from it
+	    try {
+		new URL(url_string);
+	    }
+	    catch (MalformedURLException exception) {
+		// URL string is invalid
+		return false;
+	    }
+	}
+
+	// URL string is valid
+	return true;
+    }
+
+    static public void store(JComponent control, String affected_property) {
+	if(control instanceof JTextField) { 
+	    String value = ((JTextField)control).getText();
+	    Configuration.setString(affected_property, true, value);
+	    Configuration.save(); // save it in case of a crash
+	} 
+	else { // DropDown
+	    ((DropDown)control).saveProperties(); // saves it already
+	}
+    }
+
+    
+    /** INTERFACE CLASS IMPLEMENTED BY Static inner classes Text and DropDown */
+    public static interface URLFieldControl {
+	public boolean validateURL();
+    }
+
+
+    /** STATIC INNER CLASS URLTextField */
+    public static class Text 
+	extends JTextField implements URLFieldControl 
+    {
+	public Text(Color foreground, Color background)
+	{
+	    super();
+	     this.setComponentOrientation(Dictionary.getOrientation());
+	    setBackground(background);
+	    setForeground(foreground);
+	}
+
+	public boolean validateURL() {
+	    String url_string = getText();
+	    return URLField.validateURL(url_string);
+	}
+    }
+
+   
+    /** STATIC INNER CLASS DropDown, an editable URLComboBox */
+    public static class DropDown 
+	extends JComboBox implements URLFieldControl
+    {
+	private String checkString = null; // optional string to check the URLs items against to see whether the URLs contain this
+	private String affectedProperty = null; // the Configuration property associated with this DropDown
+	private String coaffectedProperty = null; // the Configuration property whose suffix should change along with the affectedProperty
+	
+	private static final int MAX_URLS = 5;
+
+	public DropDown(Color foreground, Color background, String[] defaultURLs, 
+			String affectedProperty, String coaffectedProperty)
+	{
+	    super(URLCollectionPair.createDefaultsArray(defaultURLs));
+	    this.setEditable(true);
+	    this.getEditor().selectAll();
+	    this.setComponentOrientation(Dictionary.getOrientation());
+
+	    setBackground(background);
+	    setForeground(foreground);
+	    
+	    this.affectedProperty = affectedProperty;
+	    this.coaffectedProperty = coaffectedProperty;
+	    // read any URLS specified in the config file
+	    setComboBoxValues();
+	    
+	}
+
+	public DropDown(Color foreground, Color background, String[] defaultURLs, 
+			String affectedProperty, String coaffectedProperty, String checkString)
+	{
+	    this(foreground, background, defaultURLs, affectedProperty, coaffectedProperty);
+	    this.checkString = checkString;
+	}	
+
+	public boolean validateURL() {
+	    //String url_string = (String)this.getEditor().getItem();
+	    String url_string = this.getSelectedItem().toString(); // returns url of the combobox item
+		
+	    if(checkString != null && !url_string.endsWith(checkString)) {
+		return false;
+	    } else {
+		return URLField.validateURL(url_string);
+	    }
+	}
+
+	public void saveProperties() {
+	    // 1. Add the first url just edited (if any) 
+
+	    // The user might have created a new STRING, or selected an existing URLCollectionPair
+	    // We don't know the type!
+	    Object o = this.getSelectedItem(); 
+	    URLCollectionPair editedItem = (o instanceof URLCollectionPair) 
+		? (URLCollectionPair)o : new URLCollectionPair(o.toString());
+	    	    
+	    if(editedItem != null) {
+		insertItemAt(editedItem, 0);
+	    } else {
+		editedItem = (URLCollectionPair)getItemAt(0); // else reuse the first default:
+	    }
+	    Configuration.setString(affectedProperty, true, editedItem.getURL());
+	    
+	    // concurrently set the last opened collection for this url
+	    String lastOpenedCollection = editedItem.getCollection();
+	    if(lastOpenedCollection.equals("")) {
+		Configuration.setString(coaffectedProperty, true, null);
+	    } else {
+		Configuration.setString(coaffectedProperty, true, lastOpenedCollection);
+	    }
+
+
+	    // 2. Add the remaining urls into the combobox
+	    int url_count = 1; // remain under MAX_URLS AND under the number of actual URLs in the dropdown
+	    for(int i = 0; url_count < MAX_URLS && i < getItemCount(); i++, url_count++) {
+		
+		URLCollectionPair item = (URLCollectionPair)getItemAt(i);
+		String url = item.getURL();
+		
+		if(item == null || url.equals(editedItem.getURL()) || url.equals("")) { 
+		    // skip any duplicates of the just-edited URL and skip empty URLs
+		    url_count--;
+		} 
+		else { 
+		    Configuration.setString(affectedProperty+url_count, true, url);
+		    
+		    // concurrently save the name of the corresponding open collection
+		    if(item.getCollection().equals("")) {
+			Configuration.setString(coaffectedProperty+url_count, true, null);
+		    } else {
+			Configuration.setString(coaffectedProperty+url_count, true, item.getCollection());
+		    }
+
+		} // else retain old value for this affectedProperty (general.gliserver_url)
+	    }
+	    Configuration.save();
+	}
+
+	
+	// Get values from Configuration file, or (if none) use defaultURLs.
+	// Put them into the combobox
+	private void setComboBoxValues() {
+
+	    String url = Configuration.getString(affectedProperty, true);
+	    String collection = Configuration.getString(coaffectedProperty, true);
+	    boolean finished = url.equals("");
+	    if(!finished) {
+		this.removeAllItems(); // remove defaults, since config file now contains init values
+		this.addItem(new URLCollectionPair(url, collection));
+	    } // else urls and combobox already contains the defaults
+	   	    
+
+	    for(int i = 1; !finished; i++) {
+		url = Configuration.getString(affectedProperty+i, true);
+		collection = Configuration.getString(coaffectedProperty+i, true);
+		if(url.equals("")) {
+		    finished = true;
+		}
+		else { // url is not empty
+		    this.addItem(new URLCollectionPair(url, collection));
+		}
+	    }
+	    
+	    // setting the size of the dropdown control
+	    Dimension newSize=new Dimension(getPreferredSize().width+20, getPreferredSize().height);
+	    setPreferredSize(newSize);
+	}
+    }
+
+
+    /** STATIC INNER CLASS URLCollectionPair. 
+     * Since the configuration for a (remote) Greenstone2 and Greenstone3 is now
+     * stored in a single file for both, we can have GLI connecting to different servers 
+     * while for each server, a different collection may have been left open last time.
+     * This class URLCollectionPair will associate a GLIServer_URL or Library_URL with
+     * the last opened collection file for it. It is used by URLField.DropDown combobox. */
+    public static class URLCollectionPair {
+	String url;        // gliserverURL 
+	String collection; // last opened collection for the corresponding gliserver
+
+	
+	public static URLCollectionPair[] createDefaultsArray(String[] defaultURLs) {
+	    URLCollectionPair[] pairs = new URLCollectionPair[defaultURLs.length];
+	    for(int i = 0; i < pairs.length; i++) {
+		pairs[i] = new URLCollectionPair(defaultURLs[i]); // no associated open collection
+	    }
+	    return pairs;
+	}
+
+	public URLCollectionPair(String url) {
+	    this.set(url, "");
+	}
+
+	public URLCollectionPair(String url, String collection) {
+	    this.set(url, collection);
+	}
+
+	public void set(String url, String collection) {
+	    this.url = url;
+	    this.collection = collection;
+	}
+
+	public void setURL(String url) {
+	    this.url = url;
+	}
+
+	public void setCollection(String collection) {
+	    this.collection = collection;
+	}
+
+	public String getCollection() {
+	    return collection;
+	}
+
+	public String getURL() {
+	    return url;
+	}
+
+	/** For display in comboboxes */
+	public String toString() {
+	    return url;
+	}
+
+	/** @returns the number that is suffixed to the gliserver_url */
+	public String getSuffixNumber() {
+	    String numericSuffix = "";
+	    boolean stop = false;
+	    for(int index = url.length()-1; index >= 0 && !stop; index--) { // work from the end
+		char character = url.charAt(index);
+		if(Character.isDigit(character)) {
+		    numericSuffix = Character.toString(character) + numericSuffix;
+		} else {
+		    stop = true;
+		}
+	    }
+
+	    return numericSuffix;
+	}
+    }
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/WarningDialog.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/WarningDialog.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/WarningDialog.java	(revision 21123)
@@ -0,0 +1,288 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Project, NZDL, University of Waikato
+ *
+ * Copyright (C) 2003 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.util.JarTools;
+
+
+/** A dialog that warns about something, and allows the user to turn off the warning in the future. */
+public class WarningDialog
+    extends ModalDialog 
+    implements ActionListener, KeyListener
+{
+    static final private Dimension NORMAL_SIZE = new Dimension(450, 160);
+    static final private Dimension SETTING_SIZE = new Dimension(450, 200);
+
+    private int result = JOptionPane.CANCEL_OPTION;
+    private JButton cancel_button;
+    private JButton ok_button;
+    private JCheckBox show_check;
+    private JComponent value_field;
+    private JPanel value_panel;
+    private String affected_property;
+    private String full_property;
+    /** Whether or not to display the checkbox that will turn off this dialog in future */
+    private final boolean showcheckbox;
+
+
+    public WarningDialog(String warning_name, String warning_title, String warning_message, String affected_property, boolean can_cancel) 
+    {
+	this(warning_name, warning_title, warning_message, affected_property, can_cancel, true); // true for show checkbox
+    }
+
+
+    public WarningDialog(String warning_name, String warning_title, String warning_message, String affected_property, boolean can_cancel,
+			 boolean showcheckbox)
+    {
+	super(Gatherer.g_man, "Warning", true);
+        this.setComponentOrientation(Dictionary.getOrientation());
+	this.showcheckbox = showcheckbox; 
+
+	// Determine the name of this prompt.
+	this.affected_property = affected_property;
+	this.full_property = warning_name;
+
+	// Now build dialog.
+	if (affected_property != null) {
+	    setSize(SETTING_SIZE);
+	}
+	else {
+	    setSize(NORMAL_SIZE);
+	}
+	setTitle(warning_title);
+	
+	// Creation
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+	JPanel text_pane = new JPanel();
+        text_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	String gmedium_image = "gatherer_medium.gif";
+	if (Configuration.fedora_info.isActive()) {
+	    gmedium_image = "fli-" + gmedium_image;
+	}
+
+	JLabel icon_label = new JLabel(JarTools.getImage(gmedium_image));
+        icon_label.setComponentOrientation(Dictionary.getOrientation());
+
+	JTextArea text_area = new JTextArea();
+        text_area.setComponentOrientation(Dictionary.getOrientation());
+	text_area.setEditable(false);
+	text_area.setLineWrap(true);
+	text_area.setText(warning_message);
+	text_area.setCaretPosition(0);
+	text_area.setWrapStyleWord(true);
+
+	value_panel = new JPanel();
+        value_panel.setComponentOrientation(Dictionary.getOrientation());
+	JLabel value_label = new JLabel(Dictionary.get("WarningDialog.Value"));
+	value_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	value_field = new JTextField();
+        value_field.setComponentOrientation(Dictionary.getOrientation());
+	JPanel bottom_pane = new JPanel();
+        bottom_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JPanel control_pane = new JPanel();
+        control_pane.setComponentOrientation(Dictionary.getOrientation());
+	ok_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("General.OK_Tooltip"));
+	cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Pure_Cancel_Tooltip"));
+	
+	// Connection
+	ok_button.addActionListener(this);
+	cancel_button.addActionListener(this);
+	ok_button.addKeyListener(this);
+	cancel_button.addKeyListener(this);
+	getRootPane().setDefaultButton(ok_button);
+
+	// Layout
+	icon_label.setBorder(BorderFactory.createEmptyBorder(0,0,0,5));
+
+	value_label.setBorder(BorderFactory.createEmptyBorder(0, icon_label.getPreferredSize().width, 0, 0));
+
+	value_panel.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	value_panel.setLayout(new BorderLayout(5,0));
+	value_panel.add(value_label, BorderLayout.LINE_START);
+	value_panel.add(value_field, BorderLayout.CENTER);
+
+	text_pane.setLayout(new BorderLayout());
+	text_pane.add(icon_label, BorderLayout.LINE_START);
+	text_pane.add(new JScrollPane(text_area), BorderLayout.CENTER);
+	if(affected_property != null) {
+	    text_pane.add(value_panel, BorderLayout.SOUTH);
+	}
+
+	if(can_cancel) {
+	    control_pane.setLayout(new GridLayout(1,2,5,0));
+	    control_pane.add(ok_button);
+	    control_pane.add(cancel_button);
+	}
+	else {
+	    control_pane.setLayout(new BorderLayout());
+	    control_pane.add(ok_button, BorderLayout.LINE_END);
+	}
+
+	bottom_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	bottom_pane.setLayout(new BorderLayout());
+	bottom_pane.add(control_pane, BorderLayout.LINE_END);
+	if(showcheckbox) {
+	    show_check = new JCheckBox(Dictionary.get("WarningDialog.Dont_Show_Again"));
+	    show_check.setComponentOrientation(Dictionary.getOrientation());
+	    bottom_pane.add(show_check, BorderLayout.CENTER);
+	}
+
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(text_pane, BorderLayout.CENTER);
+	content_pane.add(bottom_pane, BorderLayout.SOUTH);
+
+	// Position
+	Dimension size = getSize();
+	if (Gatherer.g_man != null) {
+	    Rectangle frame_bounds = Gatherer.g_man.getBounds();
+	    setLocation(frame_bounds.x + (frame_bounds.width - size.width) / 2, frame_bounds.y + (frame_bounds.height - size.height) / 2);
+	}
+	else {
+	    Dimension screen_size = Toolkit.getDefaultToolkit().getScreenSize();
+	    setLocation((screen_size.width - size.width) / 2, (screen_size.height - size.height) / 2);
+	}
+    }
+
+    public void actionPerformed(ActionEvent event) {
+	boolean valid_value = true;
+	if(event.getSource() == ok_button) {
+	    if(affected_property != null && Configuration.self != null) {
+		valid_value = URLField.validateURL(value_field);
+		if(valid_value) {
+		    // Store the value of the property
+		    URLField.store(value_field, affected_property); //Configuration.setString(affected_property, true, value);
+		}
+	    }
+	    if(valid_value) {
+		result = JOptionPane.OK_OPTION;
+	    }
+	} 
+
+	if(valid_value) {
+	    if (Configuration.self != null && showcheckbox) {
+		// Store the state of the show message checkbox.
+		Configuration.set(full_property, true, !show_check.isSelected());
+	    }
+	    // Done.
+	    setVisible(false);
+	}
+	else {
+	    JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("WarningDialog.Invalid_Value"), Dictionary.get("General.Error"), JOptionPane.ERROR_MESSAGE);
+	}
+    }
+
+    /** Gives notification of key events on the buttons */
+    public void keyPressed(KeyEvent e) {
+	if (e.getKeyCode() == KeyEvent.VK_ENTER) {
+	    // Enter: Click the button in focus
+	    Object source = e.getSource();
+	    if (source instanceof AbstractButton) {
+		((AbstractButton) source).doClick();
+	    }
+	}
+    }
+
+    public void keyReleased(KeyEvent e) {}
+
+    public void keyTyped(KeyEvent e) {}
+
+
+    public int display() {
+	if (Configuration.self == null || Configuration.get(full_property, false)) {
+	    setVisible(true);
+	}
+	// We are no longer showing this dialog, so result must always be true.
+	else {
+	    result = JOptionPane.OK_OPTION;
+	}
+	// Ask the parent to repaint, just to be sure
+	if(Gatherer.g_man != null) {
+	    Gatherer.g_man.repaint();
+	}
+	return result;
+    }
+
+    /** Allows you to specify whether this dialog is a warning dialog, or only a message dialog.
+     * @param message_only true if this dialog shows a message, false for a warning
+     */
+    public void setMessageOnly(boolean message_only) {
+	if(!showcheckbox) {
+	    return;
+	}
+
+	// If this is a message then change the checkbox
+	if(message_only) {
+	    show_check.setText(Dictionary.get("WarningDialog.Dont_Show_Again_Message"));
+	}
+	// And if its a warning, change them back
+	else {
+	    show_check.setText(Dictionary.get("WarningDialog.Dont_Show_Again"));
+	}
+    }
+
+    /** Allows you to replace the generic text field control with a JTextField subclass with further functionality. For instance you might provide a URLField to allow only valid URLs to be accepted.
+     * @param  control the JTextField subclass you want to use for the control
+     */
+    public void setValueField(JComponent control) {
+	// Remove the current control
+	value_panel.remove(value_field);
+	// Replace with the new one
+	value_field = control;
+	// Re-add
+	value_panel.add(value_field, BorderLayout.CENTER);
+    }
+
+    protected void processWindowEvent(WindowEvent event) {
+	if(event.getID() == WindowEvent.WINDOW_ACTIVATED) {
+	    if(affected_property != null) {
+		value_field.requestFocus();
+	    }
+	    else {
+		ok_button.requestFocus();
+	    }
+	}
+	else {
+	    super.processWindowEvent(event);
+	}
+    }
+
+    public void setValueField(String field_value){
+	URLField.setText(this.value_field, field_value);
+    }
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/WriteCDImagePrompt.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/WriteCDImagePrompt.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/WriteCDImagePrompt.java	(revision 21123)
@@ -0,0 +1,646 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import java.util.ArrayList;
+import javax.swing.*;
+import javax.swing.event.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.BasicCollectionConfiguration;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.greenstone.LocalGreenstone;
+import org.greenstone.gatherer.shell.GShell;
+import org.greenstone.gatherer.shell.GShellEvent;
+import org.greenstone.gatherer.shell.GShellListener;
+import org.greenstone.gatherer.util.ArrayTools;
+import org.greenstone.gatherer.util.CheckList;
+import org.greenstone.gatherer.util.CheckListEntry;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+
+/** This class provides the functionality to write a CD-ROM/DVD image of current collections from the GSDLHOME/collect/ directory to CDROM. The user chooses the collection from a list, where each entry also displays details about itself, confirms the delete of a collection by checking a checkbox then presses the ok button to actually delete the collection.
+    Copied from DeleteCollectionPrompt
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class WriteCDImagePrompt
+    extends ModalDialog 
+    implements GShellListener {
+    
+    private OKButtonListener ok_button_listener;
+    private ArrayList all_collections = null;
+    private ArrayList selected_collections = null;
+    /** The list of collections to include in exported cd-rom/dvd image */
+    private CheckList list = null;
+    /** The currently selected collection for deletion. */
+    private BasicCollectionConfiguration collection = null;
+    /** A reference to ourself so any inner-classes can dispose of us. */
+    private WriteCDImagePrompt prompt = null;
+    /** The close button, which exits the prompt without deleting anything. */
+    private JButton cancel_button = null;
+    /** The ok button which causes the selected collection to be deleted. */
+    private JButton ok_button = null;
+    /** The label above details. */
+    private JLabel details_label = null;
+    /** The label above the list. */
+    private JLabel list_label = null;
+    /** The text area used to display details about the collection selected. */
+    private JTextArea details_textarea = null;
+    /** The text area used to display instructions for the cd-rom/dvd export */
+    private JTextArea instructions_textarea;
+
+    /** The radio button for switching on the noinstall option */
+    private JRadioButton noinstall_button = null;
+    private JRadioButton install_button = null;
+    private JTextField title_field = null;
+    private JTextField estimated_size_field = null;
+    private JLabel title_label = null;
+    private JLabel estimated_size_label = null;
+    /** A string array used to pass arguments to the exportcol.pl script */
+    private String args[] = null;
+    private String cd_title = null;
+    /** whether the exporting was successful or not */
+    private boolean successful = false;
+    /** whether we are trying to export or not */
+    private boolean exporting = false;
+    /** the error message if any */
+    private StringBuffer error_message = null;
+    /** This is the size of the exported stuff on its own without collections. */
+    private long total_exported_size = 14000000;
+    /** The size of the export prompt screen. */
+    public static final Dimension SIZE = new Dimension(500, 500);
+
+    /** Constructor.
+     * @see org.greenstone.gatherer.collection.WriteCDImagePrompt.CancelButtonListener
+     * @see org.greenstone.gatherer.collection.WriteCDImagePrompt.CollectionListListener
+     * @see org.greenstone.gatherer.collection.WriteCDImagePrompt.OKButtonListener
+     */
+    public WriteCDImagePrompt() {
+	super(Gatherer.g_man, true);
+        this.setComponentOrientation(Dictionary.getOrientation());
+	cancel_button = new GLIButton(Dictionary.get("General.Close"), Dictionary.get("General.Close_Tooltip"));
+	
+	details_textarea = new JTextArea(Dictionary.get("DeleteCollectionPrompt.No_Collection"));
+	details_textarea.setComponentOrientation(Dictionary.getOrientation());
+        details_textarea.setEditable(false);
+	
+	details_label = new JLabel(Dictionary.get("DeleteCollectionPrompt.Collection_Details"));
+	details_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	instructions_textarea = new JTextArea(Dictionary.get("WriteCDImagePrompt.Instructions"));
+        instructions_textarea.setComponentOrientation(Dictionary.getOrientation());
+	instructions_textarea.setCaretPosition(0);
+	instructions_textarea.setEditable(false);
+	instructions_textarea.setLineWrap(true);
+	instructions_textarea.setRows(4);
+	instructions_textarea.setWrapStyleWord(true);
+	
+	all_collections = new ArrayList();
+	list = new CheckList(true);
+	list_label = new JLabel(Dictionary.get("DeleteCollectionPrompt.Collection_List"));
+	list_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	ok_button = new GLIButton(Dictionary.get("WriteCDImagePrompt.Export"), Dictionary.get("WriteCDImagePrompt.Export_Tooltip"));	       
+        
+	title_field = new JTextField();
+        title_field.setComponentOrientation(Dictionary.getOrientation());
+	// Dictionary.setTooltip(title_field, "WriteCDImagePrompt.CD_Name_Tooltip");
+	title_label = new JLabel(Dictionary.get("WriteCDImagePrompt.CD_Name"));
+	title_label.setComponentOrientation(Dictionary.getOrientation());
+
+	estimated_size_field = new JTextField();
+        estimated_size_field.setComponentOrientation(Dictionary.getOrientation());
+	estimated_size_field.setEditable(false);
+
+	// work out the size of the images directory - could be large if they
+	// have the classic interface pack installed
+	total_exported_size += getFileSize(new File(LocalGreenstone.getDirectoryPath()+File.separator+"images"));
+	estimated_size_field.setText(Utility.formatFileLength(total_exported_size));
+	estimated_size_field.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	estimated_size_label = new JLabel(Dictionary.get("WriteCDImagePrompt.Size_Label"));
+	estimated_size_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	scanForCollections();
+	list.setListData(all_collections);        
+
+	prompt = this;
+	setSize(SIZE);
+	setTitle(Dictionary.get("WriteCDImagePrompt.Export"));
+	
+	setJMenuBar(new SimpleMenuBar("exportingcollections")); 
+	cancel_button.addActionListener(new CancelButtonListener());
+	list.addListSelectionListener(new CollectionListListener());
+	list.clearSelection();
+	list.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+	ok_button_listener = new OKButtonListener();
+	ok_button.addActionListener(ok_button_listener);
+	ok_button.setEnabled(false);
+	//title.getDocument().addDocumentListener(new DocumentListener());
+	
+	noinstall_button = new JRadioButton(Dictionary.get("WriteCDImagePrompt.NoInstall"));
+	noinstall_button.setToolTipText(Dictionary.get("WriteCDImagePrompt.NoInstall_Tooltip"));
+	noinstall_button.setComponentOrientation(Dictionary.getOrientation());
+	
+	install_button = new JRadioButton(Dictionary.get("WriteCDImagePrompt.Install"));
+	install_button.setToolTipText(Dictionary.get("WriteCDImagePrompt.Install_Tooltip"));
+	install_button.setComponentOrientation(Dictionary.getOrientation());
+        
+    }
+
+    /** Destructor. */
+    public void destroy() {
+	all_collections.clear();
+	all_collections = null;
+	cancel_button = null;
+	details_textarea = null;
+	details_label = null;
+	list = null;
+	ok_button = null;
+	prompt = null;
+	if (selected_collections!=null) {
+	    selected_collections.clear();
+	    selected_collections = null;
+	}
+	title_field = null;
+	title_label = null;
+    }
+
+    /** This method causes the modal prompt to be displayed. 
+     * returns true if it has exported the collections that are currently selected */
+    public boolean display() {
+
+        JScrollPane scrol_tmp;
+	// Radio buttons
+	ButtonGroup radio_group = new ButtonGroup();        
+	radio_group.add(install_button);
+	install_button.setSelected(true);
+	radio_group.add(noinstall_button);
+
+	// Top pane
+	JPanel instructions_pane = new JPanel(new BorderLayout());
+        instructions_pane.setComponentOrientation(Dictionary.getOrientation());
+	instructions_pane.setBorder(BorderFactory.createEmptyBorder(5,5,0,5));
+        scrol_tmp = new JScrollPane(instructions_textarea);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	instructions_pane.add(scrol_tmp, BorderLayout.CENTER);
+	
+	title_label.setBorder(BorderFactory.createEmptyBorder(0,5,0,15));
+
+	JPanel title_pane = new JPanel(new BorderLayout());
+        title_pane.setComponentOrientation(Dictionary.getOrientation());
+	title_pane.add(title_label, BorderLayout.LINE_START);
+	title_pane.add(title_field, BorderLayout.CENTER);
+	title_pane.setBorder(BorderFactory.createEmptyBorder(5,0,5,0));
+
+	JPanel radio_pane = new JPanel(new GridLayout(2,1));
+        radio_pane.setComponentOrientation(Dictionary.getOrientation());
+	install_button.setBackground(Configuration.getColor("coloring.collection_heading_background", true));
+	noinstall_button.setBackground(Configuration.getColor("coloring.collection_heading_background", true));
+	radio_pane.add(install_button);
+	radio_pane.add(noinstall_button);		
+        
+	JPanel options_pane = new JPanel(new BorderLayout());
+        options_pane.setComponentOrientation(Dictionary.getOrientation());
+	options_pane.add(title_pane, BorderLayout.NORTH);
+	options_pane.add(radio_pane, BorderLayout.CENTER);
+	instructions_pane.add(options_pane, BorderLayout.SOUTH);
+
+	// Central pane
+	JPanel list_pane = new JPanel(new BorderLayout());
+        list_pane.setComponentOrientation(Dictionary.getOrientation());
+	list_pane.add(list_label, BorderLayout.NORTH);
+        scrol_tmp =new JScrollPane(list);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	list_pane.add(scrol_tmp, BorderLayout.CENTER);
+	list_pane.setBorder(BorderFactory.createEmptyBorder(0, 0, 5, 0));
+
+	JPanel details_pane = new JPanel(new BorderLayout());
+	details_pane.add(details_label, BorderLayout.NORTH);
+        scrol_tmp =new JScrollPane(details_textarea);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	details_pane.add(scrol_tmp, BorderLayout.CENTER);
+	details_pane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
+        
+	JPanel central_pane = new JPanel(new GridLayout(2, 1));
+        central_pane.setComponentOrientation(Dictionary.getOrientation());
+	central_pane.add(list_pane);
+	central_pane.add(details_pane);
+	central_pane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
+
+	// Lower pane
+	JPanel estimated_size_pane = new JPanel(new BorderLayout());
+        estimated_size_pane.setComponentOrientation(Dictionary.getOrientation());
+	estimated_size_pane.add(estimated_size_label, BorderLayout.LINE_START);
+	estimated_size_pane.add(estimated_size_field, BorderLayout.CENTER);
+	estimated_size_pane.setBorder(BorderFactory.createEmptyBorder(0, 0, 5, 0));
+
+	JPanel button_pane = new JPanel(new GridLayout(1, 2));
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	button_pane.add(ok_button);
+	button_pane.add(cancel_button);
+	button_pane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
+       
+	JPanel lower_pane = new JPanel(new BorderLayout());
+        lower_pane.setComponentOrientation(Dictionary.getOrientation());
+	lower_pane.add(estimated_size_pane, BorderLayout.NORTH);
+	lower_pane.add(button_pane, BorderLayout.SOUTH);
+	lower_pane.setBorder(BorderFactory.createEmptyBorder(0, 5, 5, 5));
+
+	// Final.
+	JPanel content_pane = (JPanel)this.getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(instructions_pane, BorderLayout.NORTH);
+	content_pane.add(central_pane, BorderLayout.CENTER);
+	content_pane.add(lower_pane, BorderLayout.SOUTH);
+        
+	// Center and display.
+	Dimension screen_size = Configuration.screen_size;
+	this.setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	this.setVisible(true); // blocks until the dialog is killed
+	return true;
+	
+    }
+
+    
+    private long getFileSize(File file)
+    {
+	long file_size = 0;
+	
+	// Directory case
+	if (file.isDirectory()) {
+	    File files[] = file.listFiles();
+	    for (int i = 0; i < files.length; i++) {
+		file_size += getFileSize(files[i]);
+	    }
+	}
+	// File case
+	else {
+	    file_size = file.length();
+	}
+	
+	return file_size;
+    }
+
+    /** This method calls the builcol.pl scripts via a GShell so as to not lock up the processor.
+     * @see org.greenstone.gatherer.Configuration
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.collection.Collection
+     * @see org.greenstone.gatherer.gui.BuildOptions
+     * @see org.greenstone.gatherer.shell.GShell
+     * @see org.greenstone.gatherer.shell.GShellListener
+     * @see org.greenstone.gatherer.shell.GShellProgressMonitor
+     * @see org.greenstone.gatherer.util.Utility
+     */
+    public void writeCDImageCollections()
+    {
+	DebugStream.println("WriteCDImagePrompt.writeCDImageCollections()");
+
+	int num_collections = selected_collections.size();
+	if (num_collections == 0) return;
+	cd_title = title_field.getText();
+	cd_title = cd_title.trim();
+	cd_title = cd_title.replaceAll("\"","");
+	
+	// Generate the exportcol.pl command
+	ArrayList command_parts_list = new ArrayList();
+	if (!Gatherer.isGsdlRemote) {
+	    command_parts_list.add(Configuration.perl_path);
+	    command_parts_list.add("-S");
+	}
+	command_parts_list.add(LocalGreenstone.getBinScriptDirectoryPath() + "exportcol.pl");
+
+	command_parts_list.add("-gli");
+	command_parts_list.add("-language");
+	command_parts_list.add(Configuration.getLanguage());
+
+	if (cd_title.equals("")) {
+	    command_parts_list.add("-cdname");
+	    command_parts_list.add("Greenstone Collections");
+
+	    command_parts_list.add("-cddir");
+	    command_parts_list.add("exported_collections");
+	}
+	else {
+	    command_parts_list.add("-cdname");
+	    command_parts_list.add(cd_title);
+
+	    String cd_dir = "exported_"+cd_title.replaceAll("\\s","");
+	    command_parts_list.add("-cddir");
+	    command_parts_list.add(cd_dir);
+	}
+
+	if (noinstall_button.isSelected()) {
+	    command_parts_list.add("-noinstall");
+	}
+
+	for (int i = 0; i < num_collections; i++) {
+	    command_parts_list.add(((BasicCollectionConfiguration) selected_collections.get(i)).getShortName());
+	}
+
+	DebugStream.print("export command = ");
+	for (int i = 0; i < command_parts_list.size(); i++) {
+	    DebugStream.print(command_parts_list.get(i) + " ");
+	}
+	DebugStream.println("");
+	// Run the exportcol.pl command
+	String[] command_parts = (String[]) command_parts_list.toArray(new String[0]);
+	GShell process = new GShell(command_parts, GShell.CDIMAGE, 3, this, null, GShell.GSHELL_CDIMAGE);
+	process.start();
+	//process.run();
+	DebugStream.println("WriteCDImagePrompt.writeCDImageCollections().return");
+	
+    }
+
+    /** Shows an export complete prompt. 
+     * @param success A <strong>boolean</strong> indicating if the collection was successfully deleted.
+     * @see org.greenstone.gatherer.collection.Collection
+     */
+    public void resultPrompt(boolean success, String extra) {
+	args = new String[2];
+	StringBuffer coll_names = new StringBuffer();
+	for (int i=0; i<selected_collections.size();i++) {
+	    if (i>0) {
+		coll_names.append(", ");
+	    }
+	    BasicCollectionConfiguration complete_collection = (BasicCollectionConfiguration)selected_collections.get(i);
+	    coll_names.append(complete_collection.getName() + StaticStrings.SPACE_CHARACTER + StaticStrings.OPEN_PARENTHESIS_CHARACTER + complete_collection.getShortName() + StaticStrings.CLOSE_PARENTHESIS_CHARACTER);
+	    complete_collection = null;
+	}
+	
+	args[0] = coll_names.toString();
+	args[1] = LocalGreenstone.getTmpDirectoryPath();
+	if(cd_title.equals("")) {
+	    args[1] += "exported_collections";
+	} else {
+	    args[1] += "exported_"+cd_title.replaceAll("\\s","");
+	}
+	String title;
+	String label;
+	if (success) {
+	    title = Dictionary.get("WriteCDImagePrompt.Successful_Title");
+	    label = Dictionary.get("WriteCDImagePrompt.Successful_Export", args);
+	} else {
+	    title = Dictionary.get("WriteCDImagePrompt.Failed_Title");
+	    label = Dictionary.get("WriteCDImagePrompt.Failed_Export", args);
+	}
+	SimpleResultDialog result_dialog = new SimpleResultDialog(title, label, extra);
+	result_dialog.setVisible(true); // Blocks
+	result_dialog.dispose();
+	result_dialog = null;
+    }
+
+    /** Method to scan the collect directory retrieving and reloading each collection it finds, while building the list of known collections.
+     * @see org.greenstone.gatherer.Configuration
+     * @see org.greenstone.gatherer.Gatherer
+     * @see org.greenstone.gatherer.util.ArrayTools
+     * @see org.greenstone.gatherer.util.Utility
+     */
+    private void scanForCollections() {
+	// Start at the collect dir.
+	File collect_directory = new File(Gatherer.getCollectDirectoryPath());
+	String file_name = (Gatherer.GS3)? Utility.CONFIG_GS3_FILE : Utility.CONFIG_FILE;
+	if (collect_directory.exists()) {
+	    // Now for each child directory see if it contains a .col file and
+	    // if so try to load it..
+	    File collections[] = collect_directory.listFiles();
+	    ArrayTools.sort(collections);
+	    for(int i = 0; collections != null && i < collections.length; i++) {
+		if(collections[i].isDirectory() && !collections[i].getName().equals(StaticStrings.MODEL_COLLECTION_NAME)) {
+		    File config_file = new File(collections[i], file_name);
+		    if (config_file.exists()) {
+			BasicCollectionConfiguration config = new BasicCollectionConfiguration(config_file);
+			all_collections.add(config);		        
+			config = null;
+		    }
+		}
+	    }
+	}
+	// Otherwise the collect directory doesn't actually exist, so there ain't much we can do.
+    }
+
+
+    /** All implementation of GShellListener must include this method so the listener can be informed of messages from the GShell.
+     * @param event A <strong>GShellEvent</strong> that contains, amoung other things, the message.
+     */
+    public synchronized void message(GShellEvent event) {
+	// Ignore the messages from RecPlug with 'show_progress' set (used for progress bars)
+	String message = event.getMessage();
+	if (message.startsWith("exportcol.pl>")) {
+	    message = message.substring(13);
+	    //DebugStream.println("message = "+event.getMessage());
+	    error_message.append(message);
+	    error_message.append("\n");
+	}
+    }
+
+    /** All implementation of GShellListener must include this method so the listener can be informed when a GShell begins its task. Implementation side-effect, not actually used.
+     * @param event A <strong>GShellEvent</strong> that contains details of the initial state of the <strong>GShell</strong> before task comencement.
+     */
+    public synchronized void processBegun(GShellEvent event) {
+	// We don't care. 
+    }
+    /** All implementation of GShellListener must include this method so the listener can be informed when a GShell completes its task.
+     * @param event A <strong>GShellEvent</strong> that contains details of the final state of the <strong>GShell</strong> after task completion.
+     */
+    public synchronized void processComplete(GShellEvent event) {
+	successful = false;
+	if(event.getStatus() == GShell.OK) {
+	    if(event.getType() == GShell.CDIMAGE) {
+		successful = true;
+	    }
+	}
+	ok_button_listener.processComplete();
+    }
+
+    /** A button listener implementation, which listens for actions on the close button and disposes of the dialog when detected. */
+    private class CancelButtonListener 
+	implements ActionListener {
+	/** Any implementation of ActionListener must include this method so we can be informed when the button is actioned.
+	 * @param event An <strong>ActionEvent</strong> containing all the relevant information garnered from the event itself.
+	 */
+	public void actionPerformed(ActionEvent event) {
+	    prompt.dispose();
+	}
+    }
+
+    /** This private class listens for selection events in from the list and then displays the appropriate details for that collection.
+     */
+    private class CollectionListListener 
+	implements ListSelectionListener
+    {
+	/** Any implementation of ListSelectionListener must include this method so we can be informed when the list selection changes.
+	 * @param  event a <strong>ListSelectionEvent</strong> containing all the relevant information garnered from the event itself
+	 */
+	public void valueChanged(ListSelectionEvent event)
+	{
+	    // Wait for things to settle down a bit
+	    if (event.getValueIsAdjusting()) {
+		return;
+	    }
+
+	    // Can only export when something is ticked
+	    ok_button.setEnabled(!list.isNothingTicked());
+
+	    if (list.isSelectionEmpty()) {
+		// This only happens when the dialog is first entered
+		details_textarea.setText(Dictionary.get("DeleteCollectionPrompt.No_Collection"));
+		return;
+	    }
+
+	    collection = (BasicCollectionConfiguration) ((CheckListEntry) list.getSelectedValue()).getObject();
+	    args = new String[3];
+	    args[0] = collection.getCreator();
+	    args[1] = collection.getMaintainer();
+	    args[2] = collection.getDescription();
+	    details_textarea.setText(Dictionary.get("DeleteCollectionPrompt.Details", args));
+	    details_textarea.setCaretPosition(0);
+
+	    // Find the size of the "etc", "images" and "index" directories of the collection
+	    String collection_directory_path = CollectionManager.getCollectionDirectoryPath(collection.getShortName());
+	    File etc_directory = new File(collection_directory_path + "etc");
+	    File images_directory = new File(collection_directory_path + "images");
+	    File index_directory = new File(collection_directory_path + "index");
+	    long collection_size_built = getFileSize(etc_directory) + getFileSize(images_directory) + getFileSize(index_directory);
+
+	    // Add/subtract it from the total, depending on whether the collection has just been ticked/unticked
+	    if (((CheckListEntry) list.getSelectedValue()).isSelected()) {
+		total_exported_size += collection_size_built;
+	    }
+	    else {
+		total_exported_size -= collection_size_built;
+	    }
+
+	    // Update the size field
+	    estimated_size_field.setText(Utility.formatFileLength(total_exported_size));
+	}
+    }
+
+
+    /** The OK button listener implementation. */
+    private class OKButtonListener 
+	implements ActionListener {
+	private Component glass_pane;
+	private MouseListener mouse_blocker_listener;
+	private ProgressDialog progress_dialog;
+
+	/** Any implementation of ActionListener must include this method so we can be informed when the button is actioned.
+	 * @param event An <strong>ActionEvent</strong> containing all the relevant information garnered from the event itself.
+	 * @see org.greenstone.gatherer.Configuration
+	 * @see org.greenstone.gatherer.Gatherer
+	 * @see org.greenstone.gatherer.util.Utility
+	 */
+	public void actionPerformed(ActionEvent event) {
+	    ///ystem.err.println("OK Clicked");
+	    // Make sure there are some colls specified
+	    selected_collections = list.getTicked();
+	    error_message = new StringBuffer();
+	    
+	    // Set the cursor to hourglass
+	    glass_pane = getGlassPane();
+	    mouse_blocker_listener = new MouseAdapter() {};
+	    glass_pane.addMouseListener(mouse_blocker_listener);
+	    glass_pane.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+	    glass_pane.setVisible(true);
+
+	    // Export the selected collection.
+	    ///ystem.err.println("Write CD-ROM/DVD image for named collections");
+	    writeCDImageCollections();
+
+	    // Show progress dialog
+	    ///ystem.err.println("Showing progress dialog");
+	    progress_dialog = new ProgressDialog();
+	    progress_dialog.setVisible(true);
+	}
+
+	public void processComplete() {
+	    ///ystem.err.println("Process complete");
+	    // Dispose of progress dialog
+	    progress_dialog.setVisible(false);
+	    progress_dialog.dispose();
+	    progress_dialog = null;
+
+	    // unset the cursor
+	    glass_pane.setVisible(false);
+	    glass_pane.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+	    glass_pane.removeMouseListener(mouse_blocker_listener);
+	    glass_pane = null;
+	    mouse_blocker_listener= null;
+	    
+	    if (successful) {
+		resultPrompt(true, error_message.toString());
+	    } else {
+		resultPrompt(false, error_message.toString());
+	    }
+	    error_message = null;
+	}
+
+	private class ProgressDialog 
+	    extends ModalDialog {
+	    
+	    private Dimension size = new Dimension(400,65);
+	    
+	    public ProgressDialog() {
+		super(Gatherer.g_man, Dictionary.get("WriteCDImagePrompt.Title"), true);
+                this.setComponentOrientation(Dictionary.getOrientation());
+		setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
+		setSize(size);
+		JPanel content_pane = (JPanel) getContentPane();
+                content_pane.setComponentOrientation(Dictionary.getOrientation());
+		JLabel progress_label = new JLabel(Dictionary.get("WriteCDImagePrompt.Progress_Label"));
+		progress_label.setComponentOrientation(Dictionary.getOrientation());
+                
+		JProgressBar progress_bar = new JProgressBar();
+                progress_bar.setComponentOrientation(Dictionary.getOrientation());
+		progress_bar.setIndeterminate(true);
+		content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+		content_pane.setLayout(new BorderLayout());
+		content_pane.add(progress_label, BorderLayout.NORTH);
+		content_pane.add(progress_bar, BorderLayout.CENTER);
+		// Position
+		Rectangle frame_bounds = Gatherer.g_man.getBounds();
+		setLocation(frame_bounds.x + (frame_bounds.width - size.width) / 2, frame_bounds.y + (frame_bounds.height - size.height) / 2);
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/Autofilter.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/Autofilter.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/Autofilter.java	(revision 21123)
@@ -0,0 +1,379 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui.metaaudit;
+
+
+import java.util.ArrayList;
+import org.greenstone.gatherer.util.StaticStrings;
+
+/** An Autofilter object stores the filters set on a single column, and provides a method for determining if a certain value passes the filter.
+ * @author John Thompson
+ * @version 2.3
+ */
+public class Autofilter {
+
+    static public void main(String[] args) {
+	if(args.length != 2) {
+	    System.err.println("Usage: java Autofilter <string> <pattern>");
+	}
+	else {
+	    switch(compareToPattern(args[0], args[1])) {
+	    case LESS_THAN:
+		System.err.print(args[0] + " is less than");
+		break;
+	    case GREATER_THAN:
+		System.err.print(args[0] + " is greater than");
+		break;
+	    case EQUAL:
+		System.err.print(args[0] + " is equal to");
+		break;
+	    default:
+		System.err.print(args[0] + " is something to");
+	    }
+	    System.err.println(" " + args[1]);
+	}
+    }
+
+    /** A String comparison which also recognises the WildCard character. The basic idea is that '*' matches zero or more of any characters, and if we limited patterns to be like "a*" then as soon as we hit the star we could return a match. The problem is that we want patterns like "b*y" which would match "boy" but not "bee" nor "bus" (but should return less than or greater than for each of these respectively). Thus our testing has to become non-deterministic so the matches are conducted like so: 
+     * Given p = [ b * y ]
+     * Test  s = [ b e e ]  Result: p0=s0,{(p2>s1=>ERROR),(p1=s1,{(p1>s2=>ERROR),(p2>s2=>LESS_THAN)})} => LESS_THAN
+     * Test  s = [ b o y ]  Result: p0=s0,{(p2>s1=>ERROR),(p1=s1,{(p1>s2=>ERROR),(p2=s2=>EQUAL)})} => EQUAL
+     * Test  s = [ b u s ]  Result: p0=s0,{(p2>s1=>ERROR),(p1=s1,{(p1>s2=>ERROR),(p2<s2=>GREATER_THAN)})} => GREATER_THAN
+     * where the two () phrases within a {} represent two different 'threads' of processing. Errors are generated when one string runs out of characters before the other. Only non-error results are propogated. I've decided to implement this non-deterministic matching as a recursive function call.
+     * If you analyse it you can see there are three possible actions when a '*' is detected.
+     * 1. * is an empty string, ignore it in pattern and try to compare the next character in p with the current character in s. This case only occurs if there are more characters in p (otherwise apple would be greater than a*)
+     * 2. * matches exactly the current character in s, try to match the next character in p with the next character in s
+     * 3. * matches some string of characters including the current character in s, try to match '*' against the next character in s
+     * @param  s the String being matched
+     * @param  p the Pattern to match it against
+     * @return -1 if s is less than p, 0 if they are equal, 1 if s is greater than p
+     */
+    static private int compareToPattern(String s, String p) {
+	if(p.indexOf(StaticStrings.STAR_CHAR) == -1) {
+	    return compareToPattern(s, p, 0, 0, false);
+	}
+	else {
+	    return compareToPattern(s, p, 0, 0, true);
+	}
+    }
+
+    static final private int LESS_THAN = -1;
+    static final private int EQUAL = 0;
+    static final private int GREATER_THAN = 1;
+    static final private int ERROR = 42;
+
+    static private int compareToPattern(String s, String p, int s_index, int p_index, boolean wildcard_matching) {
+	// Lets do the simple cases first.
+	// Both out of characters at the same time
+	if(s_index >= s.length() && p_index >= p.length()) {
+	    ///ystem.err.println("Both out of characters. Equal.");
+	    return EQUAL;
+	}
+	// s out of characters first
+	if(s_index >= s.length()) {
+	    // Not allowed to run out if matching wildcard
+	    if(wildcard_matching) {
+		return ERROR;
+	    }
+	    // Remember that wildcard matches the empty string too, so as long as there are only '*' characters left in the pattern we can say they are equal as well.
+	    else {
+		while(p_index < p.length()) {
+		    if(p.charAt(p_index) == StaticStrings.STAR_CHAR) {
+			p_index++;
+		    }
+		    else {
+			///ystem.err.println("S out of characters. Less Than.");
+			return LESS_THAN;
+		    }
+		}
+		// We've run out of pattern and it only contained '*' so we're still equal
+		///ystem.err.println("Both out of characters. Equal.");
+		return EQUAL;
+	    }
+	}
+	// p out of characters first
+	if(p_index >= p.length()) {
+	    // Not allowed to run out if matching wildcard
+	    if(wildcard_matching) {
+		return ERROR;
+	    }
+	    // so it is greater than
+	    else {
+		///ystem.err.println("P out of characters. Greater Than.");
+		return GREATER_THAN;
+	    }
+	}
+	char s_char = s.charAt(s_index);
+	char p_char = p.charAt(p_index);
+	///ystem.err.println("Comparing " + s_char + " against pattern character " + p_char);
+	// Equivelent characters
+	// Now the tricky-dicky bit - WildCard matching.
+	if(p_char == StaticStrings.STAR_CHAR) {
+	    int result;
+	    // Case 1
+	    ///ystem.err.println("WildCard Case 1");
+	    if(p_index + 1 < p.length()) {
+		if((result = compareToPattern(s, p, s_index, p_index + 1, wildcard_matching)) != ERROR) {
+		    return result;
+		}
+	    }
+	    // Case 2
+	    ///ystem.err.println("WildCard Case 2");
+	    if((result = compareToPattern(s, p, s_index + 1, p_index + 1, wildcard_matching)) != ERROR) {
+		return result;
+	    } 
+	    // Case 3
+	    ///ystem.err.println("WildCard Case 3");
+	    if((result = compareToPattern(s, p, s_index + 1, p_index, wildcard_matching)) != ERROR) {
+		return result;
+	    }
+	}
+	if(s_char == p_char) {
+	    return compareToPattern(s, p, s_index + 1, p_index + 1, wildcard_matching);
+	}
+	// A preceeding character
+	if(s_char < p_char) {
+	    ///ystem.err.println("s char is less than p char");
+	    if(wildcard_matching) {
+		///ystem.err.println("Because we are wildcard matching we still have to match the rest of s incase of errors.");
+		if(compareToPattern(s, p, s_index + 1, p_index + 1, wildcard_matching) != ERROR) {
+		    ///ystem.err.println("No error. Less than.");
+		    return LESS_THAN;
+		}
+		else {
+		    ///ystem.err.println("Error detected.");
+		    return ERROR;
+		}
+	    }
+	    else {
+		///ystem.err.println("Less than.");
+		return LESS_THAN;
+	    }
+	}
+	// A succeeding character
+	if(s_char > p_char) {
+	    ///ystem.err.println("s char is greater than p char");
+	    if(wildcard_matching) {
+		///ystem.err.println("Because we are wildcard matching we still have to match the rest of s incase of errors.");
+		if(compareToPattern(s, p, s_index + 1, p_index + 1, wildcard_matching) != ERROR) {
+		    ///ystem.err.println("No error. Greater than.");
+		    return GREATER_THAN;
+		}
+		else {
+		    ///ystem.err.println("Error detected.");
+		    return ERROR;
+		}
+	    }
+	    else {
+		///ystem.err.println("Greater than.");
+		return GREATER_THAN;
+	    }
+	}
+	// Oh-No. Well, we'll just assume that string is less than pattern
+	return LESS_THAN;
+    }
+
+    /** <i>true</i> if the filter should be applied, <i>false</i> to indicate the filter is turned off. */
+    public boolean active;
+    /** <i>true</i> if the matching for the first expression should be case sensitive, <i>false</i> otherwise. */
+    public boolean casesense_one;
+    /** <i>true</i> if the matching for the second expression should be case sensitive, <i>false</i> otherwise. */
+    public boolean casesense_two;
+    /** Used to determine the operation intended when applying two filters, and set using the values of the OPERATION_TYPE enumeration. */
+    public boolean operation;
+    /** Used to determine how the column this filter is applied to should be sorted, and set using the values of the SORT_TYPE enumeration. */
+    public boolean sort;
+    /** The method to be used for the first filter expression, set from the values of the METHOD_LIST enumeration. */
+    public int method_one;
+    /** The method to be used for the second filter expression, set from the values of the METHOD_LIST enumeration. */
+    public int method_two;
+    /** The value to be matched against for the first expression. */
+    public String value_one;
+    /** The value to be matched against for the second expression. */
+    public String value_two;
+    /** An element of the SORT_TYPE enumeration, indicates lowest to highest value column ordering. */
+    public static final boolean ASCENDING = true;
+    /** An element of the OPERATION_TYPE enumeration, indicates that both filter expressions must be met (conjunction). */
+    public static final boolean AND = true;
+    /** An element of the SORT_TYPE enumeration, indicates highest to lowest value column ordering. */
+    public static final boolean DESCENDING = false;
+    /** An element of the OPERATION_TYPE enumeration, indicates that either (or both) filter expressions must be met (disjunction). */
+    public static final boolean OR = false;
+    /** An enumeration of symbolic names of various matching methods. */
+    public static final String METHOD_LIST[] = { "Autofilter.eqeq", "Autofilter.!eq", "Autofilter.<", "Autofilter.<eq", "Autofilter.>", "Autofilter.>eq", "Autofilter.^", "Autofilter.!^", "Autofilter.$", "Autofilter.!$", "Autofilter.?", "Autofilter.!?" };
+
+    /** Default Constructor. */
+    public Autofilter() {
+	operation = OR;
+	sort = ASCENDING;
+    }
+    /** Determine if this filter is currently active.
+     * @return <i>true</i> if it is active, <i>false</i> otherwise.
+     */
+    public boolean active() {
+	return active;
+    }
+    /** Determine if this list of values (for a certain cell) passes the filter.
+     * @param values An <strong>ArrayList</strong> of values sourced from a single cell in the associated column.
+     * @return <i>true</i> if the values match and should be displayed, <i>false</i> otherwise.
+     */
+    public boolean filter(ArrayList values) {
+	boolean result = false;
+	if(value_one != null) {
+	    result = filter(values, method_one, value_one, casesense_one);
+	    if(result) {
+		if(operation == AND && value_two != null) {
+		    result = filter(values, method_two, value_two, casesense_two);
+		}
+	    }
+	    else if(operation == OR && value_two != null) {
+		result = filter(values, method_two, value_two, casesense_two);
+	    }
+	}
+	return result;
+    }
+    /** Set the current activity state of this filter.
+     * @param active The new state of this filter, <i>true</i> to activate, <i>false</i> otherwise.
+     */
+    public void setActive(boolean active) {
+	this.active = active;
+    }
+    /** Set one of the filter expressions using the given information.
+     * @param number The number of the filter you wish to set as an <i>int</i>. Either 1 or 2.
+     * @param method An <i>int</i> indicating the method to be used when matching.
+     * @param value The <strong>String</strong> to be matched against.
+     * @param casesense <i>true</i> if this expression should be case sensitive, <i>false</i> otherwise.
+     */
+    public void setFilter(int number, int method, String value, boolean casesense) {
+	if(!casesense && value != null) {
+	    value = value.toLowerCase();
+	}
+	if(number == 1) {
+	    casesense_one = casesense;
+	    method_one = method;
+	    value_one = value;
+	}
+	else {
+	    casesense_two = casesense;
+	    method_two = method;
+	    value_two = value;
+	}
+    }
+    /** Set the operation to be used to join the two filters (if a second filter is set).
+     * @param operation <i>true</i> for conjunct filters, <i>false</i> for disjunct.
+     */ 
+    public void setOperation(boolean operation) {
+	this.operation = operation;
+    }
+    /** Set the sort order of this column.
+     * @param sort <i>true</i> for ascending sort, <i>false</i> for descending.
+     */
+    public void setSort(boolean sort) {
+	this.sort = sort;
+    }
+    /** Decide whether a row should be displayed or filtered. The result depends on the selector set with setFilterType.
+     * @param values An <strong>ArrayList</strong> of values to be checked against the filter.
+     * @param method The method of matching to be used, as an <i>int</i>.
+     * @param target The <strong>String</Strong> to match against.
+     * @param casesense <i>true</i> if the match is to be case sensitive, <i>false</i> otherwise.
+     * @return <i>true</i> to display the row, <i>false</i> to hide it.
+     */
+    public boolean filter(ArrayList values, int method, String target, boolean casesense) {
+	boolean result = false;
+	// There are several special cases when the filter always returns turn, such as when the target is the wildcard character.
+	if(target == null || target.length() == 0 || target.equals("*")) {
+	    result = true;
+	}
+	else {
+	    // For each value in the list...
+	    for(int i = 0; i < values.size(); i++) {
+		boolean pass;
+		String source;
+		// Account for case sensitivity.
+		if(casesense) {
+		    source = values.get(i).toString();
+		}
+		else {
+		    source = values.get(i).toString().toLowerCase();
+		}
+		///ystem.err.println("Testing " + source + " against pattern " + target);
+		// Perform the match, based on the selected method.
+		switch(method) {
+		case 1: // !EQ
+		    pass = (compareToPattern(source, target) != 0);
+		    break;
+		case 2: // <
+		    pass = (compareToPattern(source, target) < 0);
+		    break;
+		case 3: // <eq
+		    pass = (compareToPattern(source, target) <= 0);
+		    break;
+		case 4: // >
+		    pass = (compareToPattern(source, target) > 0);
+		    break;
+		case 5: // >eq
+		    pass = (compareToPattern(source, target) >= 0);
+		    break;
+		case 6: // ^
+		    pass = source.startsWith(target);
+		    break;
+		case 7: // !^
+		    pass = !(source.startsWith(target));
+		    break;
+		case 8: // $
+		    pass = source.endsWith(target);
+		    break;
+		case 9: // !$
+		    pass = !(source.endsWith(target));
+		    break;
+		case 10: // ?
+		    pass = (source.indexOf(target) != -1);
+		    break;
+		case 11: // !?
+		    pass = (source.indexOf(target) == -1);
+		    break;
+		default: // EQEQ
+		    pass = (compareToPattern(source, target) == 0);
+		    break;
+		}
+		result = result || pass;
+	    }
+	}
+	return result;		 
+    }
+    /** Produce a textual representation of this autofilter.
+     * @return A <strong>String</strong> displaying details of this autofilter.
+     */
+    public String toString() {
+	String result = "One: " + method_one + " - " + value_one + " - " + casesense_one;
+	if(value_two != null) {
+	    result = result + "\n" + "Operation: " + (operation?"AND":"OR") + "\n";
+	    result = result + "Two: " + method_two + " - " + value_two + " - " + casesense_two;
+	}
+	return result;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/AutofilterDialog.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/AutofilterDialog.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/AutofilterDialog.java	(revision 21123)
@@ -0,0 +1,440 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui.metaaudit;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import javax.swing.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.gui.SimpleMenuBar;
+import org.greenstone.gatherer.gui.ModalDialog;
+
+/** The autofilter concept comes from Microsoft Excel spreadsheets that use autofilters to filter to the sheet. When you click on the heading of a column, a new prompt allows you to specify what filter should be acting apon the selected column. Any new filter is conjoined with any previous filters to provide a sheet containing only rows that match all current filters. Each column must also provide an indicator for determining if a filter is set (in this case a special icon) and and a method for removing a filter (use the clear filter button within the autofilter dialog). Having recently discovered that most JVMs aren't very good at recoving memory used by dialog and frame windows, special care must be made to deallocate all references properly, as a user may open several dozen autofilter prompts over the lifetime of a session.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public final class AutofilterDialog
+    extends ModalDialog {
+    /** The filter being edited. */
+    private Autofilter filter;
+    /** A reference to ourselves so our inner classes can reference us. */
+    private AutofilterDialog self;
+
+    private boolean cancelled;
+    /** The value returned from the filter dialog prompt. Used to determine if a prompt was set or unset, and what subsequent action to take. */
+    private byte return_value = 0;
+    /** The button used to cancel the prompt. */
+    private JButton cancel_button = null;
+    private JButton remove_button = null;
+    private JButton set_button = null;
+    /** Used to specify that the given filters should be applied conjunctly. */
+    private JRadioButton and_radiobutton = null;
+    /** The check box used to specify whether the first filter is case sensitive. */
+    private JCheckBox first_case = null;
+    /** Used to disable the second filter. */
+    private JRadioButton none_radiobutton = null;
+    /** Used to specify that the given filters should be applied disjunctly. */
+    private JRadioButton or_radiobutton = null;
+    /** The check box used to specify whether the second filter is case sensitive. */
+    private JCheckBox second_case = null;
+    /** Used to specify the order of the resulting set: Ascending or Descending. */
+    private JRadioButton ascending_radiobutton = null;
+    private JRadioButton descending_radiobutton = null;
+    /** The method used to match the first filter: Contains, Doesn't contain etc. */
+    private JComboBox first_method = null;
+    /** The value to be matched for the first filter. */
+    private JComboBox first_value = null;
+    /** The method used to match the first filter. Options as for the first method. */
+    private JComboBox second_method = null;
+    /** The value to be matched for the second filter. */
+    private JComboBox second_value = null;
+    /** Used for the most basic filter where an Equals, Case sensitive method is automatically used. */
+    private JComboBox value = null;
+    /** The label which displays the name of the currently selected column (the column that will be associated with the autofilter this dialog produces). */
+    private JLabel name;
+    /** The autofilter prompt contains two different panes, one for basic functionality and one for advanced. This containiner component is used to allow access to each via a 'tabbed' interface. */
+    private JTabbedPane control = null;
+    /** A reference back to the MetaAudit dialog that spawned this prompt. Used to make sure that any open dialog window is always in front of the audit pane. */
+    private MetaAuditFrame dialog;
+    /** The default size for the autofilter control. */
+    static final private Dimension SIZE = new Dimension(640, 245);
+
+    /** Constructor.
+     * @param dialog A reference to the <strong>MetaAuditFrame</strong> that spawned this dialog.
+     * @see org.greenstone.gatherer.gui.metaaudit.Autofilter
+     * @see org.greenstone.gatherer.gui.metaaudit.AutofilterDialog.ButtonListener
+     * @see org.greenstone.gatherer.gui.metaaudit.AutofilterDialog.CheckListener
+     */
+    public AutofilterDialog(MetaAuditFrame dialog) {
+	super(Gatherer.g_man);
+	this.dialog = dialog;
+	this.self = this;
+        this.setComponentOrientation(Dictionary.getOrientation());
+	setModal(true);
+	setJMenuBar(new SimpleMenuBar("reviewingmetadata")); 
+	setSize(SIZE);
+	setTitle(Dictionary.get("Autofilter.Title"));
+	
+	// Creation
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+	JPanel name_pane = new JPanel();
+        name_pane.setComponentOrientation(Dictionary.getOrientation());
+	JLabel name_label = new JLabel(Dictionary.get("Autofilter.Name"));
+        name_label.setComponentOrientation(Dictionary.getOrientation());
+	JTextField name_template = new JTextField();
+        name_template.setComponentOrientation(Dictionary.getOrientation());
+	name = new JLabel();
+        name.setComponentOrientation(Dictionary.getOrientation());
+	name.setBorder(name_template.getBorder());
+	control = new JTabbedPane();
+        control.setComponentOrientation(Dictionary.getOrientation());
+	JPanel value_pane = new JPanel();
+        value_pane.setComponentOrientation(Dictionary.getOrientation());
+	JPanel inner_value_pane = new JPanel();
+        inner_value_pane.setComponentOrientation(Dictionary.getOrientation());
+	JLabel value_label = new JLabel(Dictionary.get("Autofilter.eqeq"));
+        value_label.setComponentOrientation(Dictionary.getOrientation());
+	value = new JComboBox();
+        value.setComponentOrientation(Dictionary.getOrientation());
+	value.setOpaque(false);
+	value.setEditable(false);
+	JPanel custom_pane = new JPanel();
+        custom_pane.setComponentOrientation(Dictionary.getOrientation());
+
+	JPanel first_pane = new JPanel();
+        first_pane.setComponentOrientation(Dictionary.getOrientation());
+	first_method = new JComboBox();
+        first_method.setComponentOrientation(Dictionary.getOrientation());
+	first_method.setOpaque(false);
+	first_value = new JComboBox();
+        first_value.setComponentOrientation(Dictionary.getOrientation());
+	first_value.setOpaque(false);
+	first_value.setEditable(true);
+	first_value.addItem("");
+	first_value.setSelectedItem("");
+	first_case = new JCheckBox(Dictionary.get("Autofilter.Case_Sensitive"));
+        first_case.setComponentOrientation(Dictionary.getOrientation());
+	JPanel operator_pane = new JPanel();
+        operator_pane.setComponentOrientation(Dictionary.getOrientation());
+	JLabel operator_label = new JLabel(Dictionary.get("Autofilter.Operator"));
+        operator_label.setComponentOrientation(Dictionary.getOrientation());
+	ButtonGroup operator_group = new ButtonGroup();        
+	and_radiobutton = new JRadioButton(Dictionary.get("Autofilter.AND"));
+        and_radiobutton.setComponentOrientation(Dictionary.getOrientation());
+	and_radiobutton.setOpaque(false);
+	none_radiobutton = new JRadioButton(Dictionary.get("Autofilter.None"));
+        none_radiobutton.setComponentOrientation(Dictionary.getOrientation());
+	none_radiobutton.setOpaque(false);
+	none_radiobutton.setSelected(true);
+	or_radiobutton = new JRadioButton(Dictionary.get("Autofilter.OR"));
+        or_radiobutton.setComponentOrientation(Dictionary.getOrientation());
+	or_radiobutton.setOpaque(false);
+	operator_group.add(none_radiobutton);
+	operator_group.add(and_radiobutton);
+	operator_group.add(or_radiobutton);
+
+	JPanel second_pane = new JPanel();
+        second_pane.setComponentOrientation(Dictionary.getOrientation());
+	second_method = new JComboBox();
+        second_method.setComponentOrientation(Dictionary.getOrientation());
+	second_method.setOpaque(false);
+	second_method.setEnabled(false);
+	second_value = new JComboBox();
+        second_value.setComponentOrientation(Dictionary.getOrientation());
+	second_value.setOpaque(false);
+	second_value.setEditable(true);
+	second_value.setEnabled(false);
+	second_value.addItem("");
+	second_value.setSelectedItem("");
+	second_case = new JCheckBox(Dictionary.get("Autofilter.Case_Sensitive"));
+        second_case.setComponentOrientation(Dictionary.getOrientation());
+	JPanel lower_pane = new JPanel();
+        lower_pane.setComponentOrientation(Dictionary.getOrientation());
+	JPanel order_pane = new JPanel();
+        order_pane.setComponentOrientation(Dictionary.getOrientation());
+	order_pane.setToolTipText(Dictionary.get("Autofilter.Order_Tooltip"));
+	JLabel order_label = new JLabel(Dictionary.get("Autofilter.Order"));
+	order_label.setComponentOrientation(Dictionary.getOrientation());
+	ButtonGroup order_group = new ButtonGroup();
+	ascending_radiobutton = new JRadioButton(Dictionary.get("Autofilter.Ascending"));
+        ascending_radiobutton.setComponentOrientation(Dictionary.getOrientation());
+	ascending_radiobutton.setOpaque(false);
+	ascending_radiobutton.setSelected(true);
+	descending_radiobutton = new JRadioButton(Dictionary.get("Autofilter.Descending"));
+        descending_radiobutton.setComponentOrientation(Dictionary.getOrientation());
+	descending_radiobutton.setOpaque(false);
+	order_group.add(ascending_radiobutton);
+	order_group.add(descending_radiobutton);
+
+	// Assign values to method comboboxes.
+	for(int i = 0; i < Autofilter.METHOD_LIST.length; i++) {
+	    first_method.addItem(Dictionary.get(Autofilter.METHOD_LIST[i]));
+	    second_method.addItem(Dictionary.get(Autofilter.METHOD_LIST[i]));
+	}
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+	cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Pure_Cancel_Tooltip"));
+	remove_button = new GLIButton(Dictionary.get("Autofilter.Remove"), Dictionary.get("Autofilter.Remove_Tooltip"));
+	set_button = new GLIButton(Dictionary.get("Autofilter.Set"), Dictionary.get("Autofilter.Set_Tooltip"));
+	
+	// Connection
+	and_radiobutton.addActionListener(new CheckListener(true));
+	none_radiobutton.addActionListener(new CheckListener(false));
+	or_radiobutton.addActionListener(new CheckListener(true));
+	cancel_button.addActionListener(new ButtonListener()); // It returns any currently set filter
+	remove_button.addActionListener(new ButtonListener(false));
+	set_button.addActionListener(new ButtonListener(true));
+
+	// Layout		  
+	name_label.setBorder(BorderFactory.createEmptyBorder(0,0,0,5));
+
+	name_pane.setBorder(BorderFactory.createEmptyBorder(0,0,5,0));
+	name_pane.setLayout(new BorderLayout());
+	name_pane.add(name_label, BorderLayout.LINE_START);
+	name_pane.add(name, BorderLayout.CENTER);
+
+	value_label.setBorder(BorderFactory.createEmptyBorder(0,0,0,5));
+
+	inner_value_pane.setLayout(new BorderLayout());
+	inner_value_pane.add(value_label, BorderLayout.LINE_START);
+	inner_value_pane.add(value, BorderLayout.CENTER);
+
+	value_pane.setBorder(BorderFactory.createEmptyBorder(5,10,5,10));
+	value_pane.setLayout(new BorderLayout());
+	value_pane.add(inner_value_pane, BorderLayout.NORTH);
+
+	first_pane.setLayout(new BorderLayout());
+	first_pane.add(first_method, BorderLayout.LINE_START);
+	first_pane.add(first_value, BorderLayout.CENTER);
+	first_pane.add(first_case, BorderLayout.LINE_END);
+
+	operator_pane.setLayout(new GridLayout(1,4));
+	operator_pane.add(operator_label);
+	operator_pane.add(none_radiobutton);
+	operator_pane.add(and_radiobutton);
+	operator_pane.add(or_radiobutton);
+
+	second_pane.setLayout(new BorderLayout());
+	second_pane.add(second_method, BorderLayout.LINE_START);
+	second_pane.add(second_value, BorderLayout.CENTER);
+	second_pane.add(second_case, BorderLayout.LINE_END);
+
+	order_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	order_pane.setLayout(new GridLayout(1,2));
+	order_pane.add(order_label);
+	order_pane.add(ascending_radiobutton);
+	order_pane.add(descending_radiobutton);
+
+	custom_pane.setBorder(BorderFactory.createEmptyBorder(2,2,2,2));
+	custom_pane.setLayout(new GridLayout(3,1));
+	custom_pane.add(first_pane);
+	custom_pane.add(operator_pane);
+	custom_pane.add(second_pane);
+
+	control.add(Dictionary.get("Autofilter.Filter_By_Value"), value_pane);
+	control.add(Dictionary.get("Autofilter.Custom_Filter"), custom_pane);
+
+	button_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
+	button_pane.setLayout(new GridLayout(1, 3));
+	button_pane.add(set_button);
+	button_pane.add(remove_button);
+	button_pane.add(cancel_button);
+
+	lower_pane.setLayout(new BorderLayout());
+	lower_pane.add(order_pane, BorderLayout.CENTER);
+	lower_pane.add(button_pane, BorderLayout.SOUTH);
+
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(name_pane, BorderLayout.NORTH);
+	content_pane.add(control, BorderLayout.CENTER);
+	content_pane.add(lower_pane, BorderLayout.SOUTH);
+
+	Dimension screen_size = Configuration.screen_size;
+	setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	screen_size = null;
+    }
+
+    public boolean cancelled() {
+	return cancelled;
+    }
+
+    /** Destructor. */
+    public void destroy() {
+	dispose();
+	first_case = null;
+	second_case = null;
+	first_method = null;
+	first_value = null;
+	second_method = null;
+	second_value = null;
+	value = null;
+	control = null;
+	dialog = null;
+	self = null;
+	name = null;
+    }
+    /** Display the modal dialog box, allowing the user to define the filter. When the user presses one of the buttons, dispose and return to the caller providing an indication of which button was pressed.
+     * @return An <i>int</i> which indicates which button was pressed to dismiss the dialog.
+     */
+    public Autofilter display(Autofilter filter, ArrayList raw_values, String column_name) {
+	this.cancelled = false;
+	this.filter = filter;
+	name.setText(column_name);
+	// Prune values so it only contains unique entries, then order.
+	TreeSet values = new TreeSet(raw_values);
+	value.setModel(new DefaultComboBoxModel(values.toArray()));
+	String star = "*";
+	value.insertItemAt(star, 0);
+	value.setSelectedItem(star);
+	first_value.setModel(new DefaultComboBoxModel(values.toArray()));
+	second_value.setModel(new DefaultComboBoxModel(values.toArray()));
+	// Restore previous values.
+	if(filter != null && filter.value_one != null) {
+	    value.setSelectedItem(filter.value_one);
+	    first_method.setSelectedIndex(filter.method_one);
+	    first_value.setSelectedItem(filter.value_one);
+	    first_case.setSelected(filter.casesense_one);
+	    if (filter.value_two == null) {
+		none_radiobutton.setSelected(true);
+	    }
+	    else {
+		if (filter.operation) {
+		    and_radiobutton.setSelected(true);
+		}
+		else {
+		    or_radiobutton.setSelected(true);
+		}
+		second_method.setSelectedIndex(filter.method_two);
+		second_value.setSelectedItem(filter.value_two);
+		second_case.setSelected(filter.casesense_two);
+	    }
+	    if (filter.sort) {
+		ascending_radiobutton.setSelected(true);
+		// order.setSelectedIndex(0);
+	    }
+	    else {
+		descending_radiobutton.setSelected(true);
+		// order.setSelectedIndex(1);
+	    }
+	}
+	// Display	  
+	setVisible(true);
+	dialog.toFront();
+	return this.filter;
+    }
+
+    /** Listens for actions on the button it is attached to, and when notified sets the return_value and disposes of the dialog. */
+    private final class ButtonListener
+	implements ActionListener {
+	private boolean cancel_button;
+	private boolean return_filter;
+	
+	/** Default constructor. Returns any filter that was already set */
+	public ButtonListener() {
+	    this.cancel_button = true;
+	}
+
+	/** Does an action on this button cause a filter to be returned. */
+	/** Constructor takes an associated return value as an argument.
+	 * @param return_filter <i>true</i> if we update then return the filter, <i>false</i> to clear existing filter.
+	 */
+	public ButtonListener(boolean return_filter) {
+	    this.cancel_button = false;
+	    this.return_filter = return_filter;
+	}
+	/** When any registered component is actioned apon, set the value and hide the dialog. We hide rather than dispose, because hide assures the data values will be retained. 
+	 * @param event An <strong>ActionEvent</strong> containing information about the action that caused this method call.
+	 * @see org.greenstone.gatherer.gui.metaaudit.Autofilter
+	 */
+	public void actionPerformed(ActionEvent event) {
+	    if(cancel_button) {
+		cancelled = true;
+	    }
+	    else if(return_filter) {
+		if(control.getSelectedIndex() == 0) {
+		    filter.setFilter(1, 0, (String)value.getSelectedItem(), true);
+		    filter.setFilter(2, 0, null, true);
+		}
+		else {
+		    filter.setFilter(1, first_method.getSelectedIndex(), (String)first_value.getSelectedItem(), first_case.isSelected());
+		    if(!none_radiobutton.isSelected()) {
+			if (and_radiobutton.isSelected()) {
+			    filter.setOperation(Autofilter.AND);
+			}
+			else {
+			    filter.setOperation(Autofilter.OR);
+			}
+			filter.setFilter(2, second_method.getSelectedIndex(), (String)second_value.getSelectedItem(), second_case.isSelected());
+		    }
+		}
+		if (ascending_radiobutton.isSelected()) {
+		    filter.setSort(Autofilter.ASCENDING);
+		}
+		else {
+		    filter.setSort(Autofilter.DESCENDING);
+		}
+	    }
+	    else {
+		filter = null;
+	    }
+	    setVisible(false);
+	}
+    }
+    /** Listens for actions on the check box it is attached to, and when notified sets the state of the second method and value to the specified state. */
+    private final class CheckListener
+	implements ActionListener {
+	/** The default desire state any check button this listens to. */
+	private boolean desired_state = false;
+	/** The constructor takes an associated desired state.
+	 * @param desired_state The state that should be set when this is actioned, as a <i>boolean</i>.
+			*/
+	public CheckListener(boolean desired_state) {
+	    this.desired_state = desired_state;
+	}
+	/** Whenever our registered components are actioned apon, set the state of the second method and value to the desired state. */
+	public void actionPerformed(ActionEvent event) {
+	    second_method.setEnabled(desired_state);
+	    second_value.setEnabled(desired_state);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/Filter.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/Filter.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/Filter.java	(revision 21123)
@@ -0,0 +1,151 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui.metaaudit;
+
+/**************************************************************************************
+ * Title:        Gatherer
+ * Description:  The Gatherer: a tool for gathering and enriching a digital collection.
+ * Company:      The University of Waikato
+ * Written:      03/09/02
+ * Revised:      04/10/02 - Commented
+ **************************************************************************************/
+import de.qfs.lib.gui.TableModelFilter;
+import de.qfs.lib.gui.TableModelFilterEvent;
+import de.qfs.lib.gui.TableModelFilterListener;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.Vector;
+import javax.swing.table.TableModel;
+
+/** This class essentially manages the autofilters applied to the metaaudit table.
+ * @author John Thompson
+ * @version 2.3
+ */
+public class Filter
+    implements TableModelFilter {
+    /** An array of autofilters. */
+    private Autofilter filters[];
+    /** The registered TableModelFilterListeners. */
+    private Vector listeners = new Vector ();
+    /** Constructor. 
+     * @param columns The number of columns this Filter will be expected to filter, as an <i>int</i>. 
+     */
+    public Filter(int columns) {
+	filters = new Autofilter[columns];
+    }
+    /** Add a TableModelFilterListener to the TableModelFilter. 
+     * @param listener The <strong>TableModelFilterListener</strong> to add, if it isn't already registered.
+     */
+    public synchronized void addTableModelFilterListener(TableModelFilterListener listener) {
+	if (!listeners.contains(listener)) {
+	    listeners.addElement(listener);
+	}
+    }
+    /** Remove a filter from a column.
+     * @param column The column number to remove the filter from, as an <i>int</i>.
+     */
+    public void clearFilter(int column) {
+	if(filters[column] != null) {
+	    filters[column].setActive(false);
+	}
+    }
+
+
+    /** Determine if a certain row should be shown in the table by checking it against all the current filters.
+     * @param model The <strong>TableModel</strong> the row is from.
+     * @param row The row number as an <i>int</i>
+     * @return <i>true</i> if the rows data matches all autofilters set and should be displayed, <i>false</i> otherwise.
+     */
+    public boolean filter(TableModel model, int row)
+    {
+	for (int i = 0; i < filters.length; i++) {
+	    if (filters[i] != null && filters[i].active()) {
+		ArrayList values = (ArrayList) model.getValueAt(row, i);
+		if (filters[i].filter(values) == false) {
+		    return false;
+		}
+	    }
+	}
+
+	return true;
+    }
+
+
+    /** Retrieve the autofilter associated with a certain column.
+     * @param column The column number as an <i>int</i>.
+     * @return The <strong>Autofilter</strong> assigned to that column.
+     */
+    public Autofilter getFilter(int column) {
+	Autofilter filter = filters[column];
+	if(filter == null) {
+	    filter = new Autofilter();
+	    filters[column] = filter;
+	}
+	return filter;
+    }
+    /** Determine if a certain column is filtered.
+     * @param column The column number as an <i>int</i>.
+     * @return <i>true</i> if there is an active autofilter assigned to this column, <i>false</i> otherwise.
+     */
+    public boolean isFiltered(int column) {
+	boolean result = false;
+	if(filters[column] != null) {
+	    result = filters[column].active();
+	}
+	return result;
+    }
+    /** Remove a TableModelFilterListener from the TableModelFilter.
+     * @param listener The <strong>TableModelFilterListener</strong> to remove.
+     */
+    public synchronized  void removeTableModelFilterListener(TableModelFilterListener listener) {
+	listeners.removeElement(listener);
+    }
+    /** Called whenever the filters assigned changes significantly, thus prompting a reload of the table model data. */
+    public void fireFilterChanged() {
+	///ystem.err.println("Filter Changed!");
+	Vector tmp;
+	synchronized(this) {
+	    tmp = (Vector) listeners.clone();
+	}
+		  
+	TableModelFilterEvent event = new TableModelFilterEvent (this);
+	Enumeration enumeration = tmp.elements();
+	while (enumeration.hasMoreElements()) {
+	    ((TableModelFilterListener) enumeration.nextElement()).filterChanged(event);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/HeaderListener.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/HeaderListener.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/HeaderListener.java	(revision 21123)
@@ -0,0 +1,79 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui.metaaudit;
+
+
+import de.qfs.lib.gui.TableModelSorter;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.util.ArrayList;
+import org.greenstone.gatherer.metadata.MetadataAuditTableModel;
+
+public class HeaderListener
+    extends MouseAdapter {
+    private MetaAuditFrame parent_frame;
+    private MetaAuditTable table;
+    public HeaderListener(MetaAuditFrame parent_frame, MetaAuditTable table) {
+	this.parent_frame = parent_frame;
+	this.table = table;
+    }
+
+    public void mouseClicked(MouseEvent event) {
+	// Determine the column this was clicked on.
+	int column = table.getColumnModel().getColumnIndexAtX(event.getX());
+	int clicked_column = table.convertColumnIndexToModel(column);
+	// Display the currently assigned filter.
+	Filter filter_model = table.getFilter();
+	Autofilter filter = filter_model.getFilter(clicked_column);
+	MetadataAuditTableModel model = table.getOriginalModel();
+	ArrayList default_values = model.getColumnValues(clicked_column);
+	String column_name = model.getColumnName(clicked_column);
+	filter = parent_frame.autofilter_dialog.display(filter, default_values, column_name);
+	if(!parent_frame.autofilter_dialog.cancelled()) {
+	    if(filter == null) {
+		filter_model.clearFilter(clicked_column);
+	    }
+	    else {
+		filter.setActive(true);
+		TableModelSorter sorter = table.getSorter();
+		sorter.setSortColumn(clicked_column);
+		sorter.setSortAscending(filter.sort);
+	    }
+	    filter_model.fireFilterChanged();
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/HeaderRenderer.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/HeaderRenderer.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/HeaderRenderer.java	(revision 21123)
@@ -0,0 +1,79 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui.metaaudit;
+
+import java.awt.*;
+import javax.swing.*;
+import javax.swing.table.TableCellRenderer;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.util.JarTools;
+
+/** This custom button renderer replaces the boring old column headers with clickable versions which are based on JToggleButtons.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class HeaderRenderer 
+    extends JToggleButton
+    implements TableCellRenderer {
+
+    /** The constructor sets up a margin around the button, and adds the filter icons.
+     */
+    public HeaderRenderer() {
+	setMargin(new Insets(0,0,0,0));
+	setIcon(JarTools.getImage("filter.gif"));
+	setSelectedIcon(JarTools.getImage("filter-on.gif")); 
+    }
+
+    /** Called to create the component to be used as the 'rubber-stamp' for the table cell given the follwing arguments.
+     * @param table The <strong>JTable</strong> that is asking the renderer to draw; can be <i>null</i>.
+     * @param value The value of the cell to be rendered as an <strong>Object</strong>. It is up to the specific renderer to interpret and draw the value. For example, if value is the string "true", it could be rendered as a string or it could be rendered as a check box that is checked. null is a valid value.
+     * @param isSelected <i>true</i> if the cell is to be rendered with the selection highlighted; otherwise <i>false</i>.
+     * @param hasFocus If <i>true</i>, render cell appropriately. For example, put a special border on the cell, if the cell can be edited, render in the color used to indicate editing.
+     * @param row The row index of the cell being drawn as an <i>int</i>. When drawing the header, the value of row is -1.
+     * @param column The column index of the cell being drawn as an <i>int</i>.
+     * @see org.greenstone.gatherer.gui.metaaudit.MetaAuditTable
+     */
+    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
+	setText(value.toString());
+	setToolTipText(Dictionary.get("Autofilter.Table_Header_Tooltip", value.toString()));
+	MetaAuditTable temp = (MetaAuditTable) table;
+	if (temp != null) { // And it may if this is called during table init.
+	    setSelected(temp.isFiltered(column));
+	}
+	return this;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/MetaAuditFrame.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/MetaAuditFrame.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/MetaAuditFrame.java	(revision 21123)
@@ -0,0 +1,216 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui.metaaudit;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionTreeNode;
+import org.greenstone.gatherer.gui.GLIButton;
+import org.greenstone.gatherer.gui.SimpleMenuBar;
+import org.greenstone.gatherer.gui.ModalDialog;
+
+
+/** The MetaAuditFrame provides a table view of all of the metadata assigned to a selection of CollectionTreeNodes. All values for a certain file and a certain metadata element appear in the same cell. This table can be sorted by any column, and also has a MS Excel-like AutoFilter allowing you to restrict the rows visible to only those that match a certain set of criteria (applied to each column, and then 'ANDED', or cojoined, to determine the filter). Finally this dialog does not block the Gatherer tool, so the file selection can be changed and the dialog will just generate a new table dynamically.<BR>
+ * Much effort has gone into optimizing this table, as it quickly becomes slow and unresponsive to build/filter/sort when the number of records selected is high. However its performance is still nowhere as good as the Excel spreadsheet, and selections of 1000+ records can cause some serious waiting problems. Performance progression, shown in terms of time taken to perform action, are shown below. Note that building includes both the creation of the data model, and/or the time taken to lay out row and column sizes (due to this using multiple entry cells). Also all tables, by default, must be sorted by one column, which is initially the first column in ascending order:<BR><BR>
+ * <TABLE border=1 cellspacing=0 cellpadding=5>
+ * <TR><TD align=center colspan=5>Time Taken with 1000 records (ms)</TD></TR>
+ * <TR><TD>Action</TD><TD>Original</TD><TD>Revision 1</TD><TD>Revision 2</TD><TD>Revision 3</TD></TR>
+ * <TR><TD>Build</TD><TD align=right>113013</TD><TD align=right>1500</TD><TD align=right>1280</TD><TD align=right>665</TD></TR>
+ * <TR><TD>Sort</TD><TD align=right>34228</TD><TD align=right>353</TD><TD align=right>341</TD><TD align=right>338</TD></TR>
+ * <TR><TD>Filter</TD><TD align=right>57110</TD><TD align=right>485</TD><TD align=right>485</TD><TD align=right>485</TD></TR>
+ * </TABLE>
+ * <BR><BR>
+ * <TABLE border=1 cellspacing=0 cellpadding=5>
+ * <TR><TD align=center colspan=5>Time Taken with 10,000 records (ms) [hdlsub]</TD></TR>
+ * <TR><TD>Action</TD><TD>Original</TD><TD>Revision 1</TD><TD>Revision 2</TD><TD>Revision 3</TD></TR>
+ * <TR><TD>Build</TD><TD align=right>DNF</TD><TD align=right>8667</TD><TD align=right>6784</TD><TD align=right>3081</TD></TR>
+ * <TR><TD>Sort</TD><TD align=right>DNF</TD><TD align=right>236</TD><TD align=right>241</TD><TD align=right>228</TD></TR>
+ * <TR><TD>Filter</TD><TD align=right>DNF</TD><TD align=right>59272</TD><TD align=right>59767</TD><TD align=right>59614</TD></TR>
+ * </TABLE>
+ * <BR><BR>
+ * <TABLE border=1 cellspacing=0 cellpadding=5>
+ * <TR><TD align=center colspan=5>Time Taken with 30,000 records (ms) [hdl]</TD></TR>
+ * <TR><TD>Action</TD><TD>Original</TD><TD>Revision 1</TD><TD>Revision 2</TD><TD>Revision 3</TD></TR>
+ * <TR><TD>Build</TD><TD align=right>DNF</TD><TD align=right>19037</TD><TD align=right>16478</TD><TD align=right>8111</TD></TR>
+ * <TR><TD>Sort</TD><TD align=right>DNF</TD><TD align=right>314</TD><TD align=right>301</TD><TD align=right>385</TD></TR>
+ * <TR><TD>Filter</TD><TD align=right>DNF</TD><TD align=right>[300000]</TD><TD align=right>[300000]</TD><TD align=right>[300000]</TD></TR>
+ * </TABLE><BR><BR>
+ * It is easy to see that while building and sorting have become quite fast and reasonable, sorting is still unacceptable in terms of performance. The difficulty is this, that while sorting is easy (and fast) to implement via the Decorator pattern (making the overall table model a MDVC one) it requires the entire contents of a column to be available. Thus no matter the speed of your sort algorithm you will end up making N calls to getValueAt() in the table data model, for N records. This is not a problem for the initial model, hence the small sort times. However when you attempt to place another deocrator model (or modify the existing one) in order to filter only selected rows, even if the filtering itself takes little time, this little time quickly grows to unacceptable levels. In fact testing has shown it to grow much faster than linear time (though I'm not sure where). Doubling the number of records to filter increases the processing time by 5-7 times.<BR>
+ * In attempting to solve this problem, I have found many resources that mention a similar problem when trying to build visual representations of database tables, especially over networks or other temporally-non-deterministic connections. The common solution is to 'page' only those records necessary into memory on demand, thus making initial response significantly faster, while paying a small price for subsequent page seeks. There are even studies and algorithms for determining pages loads etc, I would imagine garnered from the memory management community. However none of these really help me usless I can get around the problem of having to have the entire columns population immeditaly accessable for sorting purposes.<BR>
+ * I believe with more time is would be possible to make a hybrid table model with properties such as you would require for the aforemenetioned database application, but which also provides fast methods for determining the highest and lowest records perhaps by building traversable heaps in the original model. Such a solution would incur a build penalty, and could consume significant memory, but would provide ordered and sequential access to the data within.<BR>
+ * The discussion aside, I have run out of time to do anything further on this, so will include as is, and provide a warning dialog whenever the number of records might suffer slow processing (1000+ records).
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class MetaAuditFrame
+    extends ModalDialog 
+    implements TreeSelectionListener {
+    public AutofilterDialog autofilter_dialog;
+    /** Whether the selection has changed since the last time we built the model (because it has been hidden and theres no point refreshing a model you can't see!). */
+    private boolean invalid = true;
+    /** An array holding the most recent list of paths selected (plus some nulls for those paths removed). */
+    private CollectionTreeNode[] records = null;
+    /** A reference to ourselves so that inner classes can interact with us. */
+    private MetaAuditFrame self;
+    /** The table in which the metadata is shown. */
+    private MetaAuditTable table;
+    /** The default size for the metaaudit dialog. */
+    static final private Dimension SIZE = new Dimension(640,505);
+
+
+    public MetaAuditFrame()
+    {
+	super(Gatherer.g_man);
+        
+	// Arguments
+	this.autofilter_dialog = new AutofilterDialog(this);
+	this.self = this;
+	this.table = new MetaAuditTable(this);
+        this.setComponentOrientation(Dictionary.getOrientation());
+	// Creation
+	setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
+	setSize(SIZE);
+	setTitle(Dictionary.get("MetaAudit.Title"));
+	setJMenuBar(new SimpleMenuBar("reviewingmetadata")); 
+	
+	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+	JButton close_button = new GLIButton(Dictionary.get("MetaAudit.Close"), Dictionary.get("MetaAudit.Close_Tooltip"));
+	
+	// Connection
+	close_button.addActionListener(new CloseListener());
+	Gatherer.c_man.getCollectionTree().addTreeSelectionListener(this);
+
+	// Layout
+	button_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	button_pane.setLayout(new BorderLayout());
+	button_pane.add(close_button, BorderLayout.CENTER);
+		 
+	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+	content_pane.setLayout(new BorderLayout());
+	content_pane.add(new JScrollPane(table), BorderLayout.CENTER);
+	content_pane.add(button_pane, BorderLayout.SOUTH);
+		  
+	Dimension screen_size = Configuration.screen_size;
+	setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
+	screen_size = null;
+	close_button = null;
+	button_pane = null;
+	content_pane = null;
+    }
+
+    /** Destructor. */
+    public void destroy() {
+	records = null;
+	self = null;
+	table = null;
+    }
+
+    /** Display the dialog on screen. */
+    public void display() {
+	if(invalid) {
+	    rebuildModel();
+	}
+	setVisible(true);
+    }
+
+    /** This method is called whenever the selection within the collection tree changes. This causes the table to be rebuilt with a new model.
+     * @param event A <strong>TreeSelectionEvent</strong> containing information about the event.
+     */
+    public void valueChanged(TreeSelectionEvent event) {
+	Object source = event.getSource();
+	if(source instanceof JTree) {
+	    TreePath paths[] = ((JTree)source).getSelectionPaths();
+	    if(paths != null) {
+		records = new CollectionTreeNode[paths.length];
+		for(int i = 0; i < paths.length; i++) {
+		    records[i] = (CollectionTreeNode) paths[i].getLastPathComponent();
+		}
+		if(isVisible()) {
+		    rebuildModel();
+		}
+		else {
+		    invalid = true;
+		}
+	    }
+	}
+    }
+
+    public void wait(boolean waiting) {
+	Component glass_pane = getGlassPane();
+	if(waiting) {
+	    // Show wait cursor.
+	    glass_pane.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+	    glass_pane.setVisible(true);
+	}
+	else {
+	    // Hide wait cursor.
+	    glass_pane.setVisible(false);
+	    glass_pane.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+	}
+	glass_pane = null;
+    }
+
+    /** Rebuild the metaaudit table model using the current collection tree selection. 
+     */
+    private void rebuildModel() {
+	// Build and set model
+	table.newModel(records);
+	// Done.
+	invalid = false;
+    }
+
+    /** Listens for actions upon the close button, and if detected closes the dialog */
+    private class CloseListener
+	implements ActionListener {
+	/** Any implementation of ActionListener must include this method so that we can be informed when an action has been performed on our target control(s).
+	 * @param event An <strong>ActionEvent</strong> containing information about the event.
+	 */
+	public void actionPerformed(ActionEvent event) {
+	    self.setVisible(false);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/MetaAuditRenderer.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/MetaAuditRenderer.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/MetaAuditRenderer.java	(revision 21123)
@@ -0,0 +1,63 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui.metaaudit;
+
+import java.awt.*;
+import java.util.ArrayList;
+import javax.swing.*;
+import javax.swing.table.DefaultTableCellRenderer;
+
+public class MetaAuditRenderer
+    extends DefaultTableCellRenderer {
+
+    public Component getTableCellRendererComponent(JTable table, Object value, boolean is_selected, boolean has_focus, int row, int column) {
+	ArrayList array = (ArrayList) value;
+	JLabel label = (JLabel) super.getTableCellRendererComponent(table, "", is_selected, has_focus, row, column);
+	JPanel panel = new JPanel();
+	panel.setBackground(label.getBackground());
+	panel.setBorder(label.getBorder());
+	if(array != null) {
+	    panel.setLayout(new GridLayout(array.size(), 1));
+	    for(int i = 0; i < array.size(); i++) {
+		JLabel entry = new JLabel(array.get(i).toString());
+		entry.setFont(label.getFont());
+		panel.add(entry);
+	    }
+	}
+	return panel;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/MetaAuditTable.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/MetaAuditTable.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/metaaudit/MetaAuditTable.java	(revision 21123)
@@ -0,0 +1,200 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui.metaaudit;
+
+import de.qfs.lib.gui.*;
+import java.awt.*;
+import java.util.ArrayList;
+import javax.swing.JTable;
+import javax.swing.event.TableModelEvent;
+import javax.swing.table.*;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.collection.CollectionTreeNode;
+import org.greenstone.gatherer.metadata.MetadataAuditTableModel;
+
+
+/**
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class MetaAuditTable
+    extends JTable 
+    implements TableModelSorterListener {
+
+    private boolean initial_state;
+
+    private Filter filter;
+
+    private HeaderRenderer header_renderer;
+
+    private MetaAuditFrame parent_frame;
+
+    private MetaAuditRenderer cell_renderer;
+
+    private MetadataAuditTableModel metadata_audit_table_model;
+
+    private SortedTableHelper helper;
+
+    static final private int MARGIN = 10;
+
+    public MetaAuditTable(MetaAuditFrame parent_frame) {
+	super();
+        this.setComponentOrientation(Dictionary.getOrientation());
+	this.cell_renderer = new MetaAuditRenderer();
+	this.header_renderer = new HeaderRenderer();
+	this.parent_frame = parent_frame;
+	getTableHeader().addMouseListener(new HeaderListener(parent_frame, this));
+	setAutoResizeMode(AUTO_RESIZE_OFF);
+    }
+
+    public Filter getFilter() {
+	return filter;
+    }
+
+
+   public MetadataAuditTableModel getOriginalModel()
+   {
+      return metadata_audit_table_model;
+   }
+
+
+    public TableModelSorter getSorter() {
+	return helper.getTableModelSorter();
+    }
+
+    public boolean isFiltered(int column) {
+	if(filter == null) {
+	    return false;
+	}
+	return filter.isFiltered(column);
+    }
+
+    public void newModel(CollectionTreeNode records[]) {
+	if(records == null || records.length == 0) {
+	    setModel(new DefaultTableModel());
+	    return;
+	}
+	wait(true);
+	initial_state = true;
+	// System.err.println("Build new Model - should only be called once per click!");
+	metadata_audit_table_model = new MetadataAuditTableModel();
+	metadata_audit_table_model.rebuild(records);
+	setModel(metadata_audit_table_model);
+	filter = new Filter(metadata_audit_table_model.getColumnCount());
+	helper = new SortedTableHelper (this, filter, new DefaultTableModelSorter(), header_renderer, null);
+	helper.prepareTable();
+	// Add renderer to columns.
+	TableColumnModel column_model = getColumnModel();
+	for(int i = 0; i < column_model.getColumnCount(); i++) {
+	    column_model.getColumn(i).setCellRenderer(cell_renderer);
+	    column_model.getColumn(i).setHeaderRenderer(header_renderer);
+	}
+	wait(false);
+	initial_state = false;
+    }
+
+    public void tableChanged(TableModelEvent e) {
+	wait(true);
+	super.tableChanged(e);
+
+	// Create storage area
+	ArrayList heights[] = new ArrayList[dataModel.getRowCount()];
+	int widths_value[] = new int[dataModel.getColumnCount()];
+	ArrayList widths[] = new ArrayList[dataModel.getColumnCount()];
+
+	// Iterate through cell values finding tallest and widest for each row and column respectively.
+	for (int j = 0; j < dataModel.getRowCount(); j++) {
+	    for (int k = 0; k < dataModel.getColumnCount(); k++) {
+		Object object = dataModel.getValueAt(j, k);
+		if (object instanceof ArrayList) {
+		    ArrayList data = (ArrayList) object;
+		    if (heights[j] == null || data.size() > heights[j].size()) {
+			heights[j] = data;
+		    }
+		    String longest = "";
+		    for (int i = 0; i < data.size(); i++) {
+			String temp = data.get(i).toString();
+			if (temp.length() > longest.length()) {
+			    longest = temp;
+			}
+		    }
+		    if (widths[k] == null || longest.length() > widths_value[k]) {
+			widths_value[k] = longest.length();
+			widths[k] = data;
+		    }
+		}
+	    }
+	}
+
+	// Now assign the dimensions we have determined to be the largest.
+	for (int l = 0; l < heights.length; l++) {
+	    if (heights[l] != null) {
+		Component component = cell_renderer.getTableCellRendererComponent(this, heights[l], false, false, 0, 0);
+		Dimension size = component.getPreferredSize();
+		setRowHeight(l, size.height);
+	    }
+	}
+	for (int m = 0; m < widths.length; m++) {
+	    if (widths[m] != null) {
+		Component component = cell_renderer.getTableCellRendererComponent(this, widths[m], false, false, 0, 0);
+		Dimension size = component.getPreferredSize();
+		int width = size.width + MARGIN;
+		if (width > (2 * parent_frame.getSize().width) / 3) {
+		    width = (2 * parent_frame.getSize().width) / 3;
+		}
+
+		Component header = header_renderer.getTableCellRendererComponent(this, dataModel.getColumnName(m), false, false, 0, 0);
+		if (header.getPreferredSize().width + MARGIN > width) {
+		    width = header.getPreferredSize().width + MARGIN;
+		}
+		columnModel.getColumn(m).setPreferredWidth(width);
+	    }
+	}
+
+	wait(initial_state);
+    }
+
+
+    public void sortOrderChanged(TableModelSorterEvent event) {
+    }
+
+    private void wait(boolean waiting) {
+	if(parent_frame != null) {
+	    parent_frame.wait(waiting);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/tree/DragTree.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/tree/DragTree.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/tree/DragTree.java	(revision 21123)
@@ -0,0 +1,820 @@
+package org.greenstone.gatherer.gui.tree;
+
+import java.awt.*;
+import java.awt.datatransfer.*;
+import java.awt.dnd.*;
+import java.awt.event.*;
+import java.awt.geom.AffineTransform;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.plaf.basic.BasicTreeUI;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.file.FileNode;
+import org.greenstone.gatherer.file.FileSystemModel;
+import org.greenstone.gatherer.gui.Filter;
+import org.greenstone.gatherer.util.DragComponent;
+import org.greenstone.gatherer.util.DragGroup;
+import org.greenstone.gatherer.util.DragTreeSelectionModel;
+import org.greenstone.gatherer.util.Utility;
+
+public abstract class DragTree
+    extends JTree
+    implements Autoscroll, DragGestureListener, DragSourceListener, DropTargetListener, DragComponent, TreeSelectionListener {
+    /** The normal background color. */
+    private Color background_color;
+    /** The normal foreground color. */
+    private Color foreground_color;
+    /** The Group this component belongs to. */
+    private DragGroup group;
+    /** The filter for this tree. */
+    protected Filter filter = null;
+    /** The image to use for the disabled background. */
+    private ImageIcon disabled_background;
+    /** The image to use for a normal background. */
+    private ImageIcon normal_background;
+    /** The icon to use for multiple node drag'n'drops. We decided against using the windows paradigm or a block of x horizontal lines for x files. */
+    private ImageIcon multiple_icon = new ImageIcon("resource"+File.separator+"multiple.gif");
+    /** The default drag action, although its not that important as we provide custom icons during drags. */
+    private int drag_action = DnDConstants.ACTION_MOVE;
+    /** The location of the last ghost drawn, so that we can repair the 'spoilt' area. */
+    private Point pt_last = null;
+    /** The region borderer by the lower cue line. */
+    private Rectangle lower_cue_line;
+    /** The region covered by the drag ghost icon. */
+    private Rectangle ra_ghost = new Rectangle();
+    /** The region borderer by the upper cue line. */
+    private Rectangle upper_cue_line;
+    /** The last tree path the drag was hovered over. */
+    private TreePath previous_path = null;
+
+    static private Cursor NO_DRAG_CURSOR = null;
+
+    static private final Color TRANSPARENT_COLOR = new Color(0,0,0,0);
+    /** The distance from the edge of the current view within the scroll bar which if entered causes the view to scroll. */
+    static private final int AUTOSCROLL_MARGIN = 12;
+
+    static public final int TREE_DISPLAY_CHANGED        = 0;
+    static public final int LOADED_COLLECTION_CHANGED   = 1;
+    static public final int COLLECTION_CONTENTS_CHANGED = 2;
+
+
+    public DragTree(TreeModel model, boolean mixed_selection)
+    {
+	super();
+
+	// For some reason these aren't set with Java 1.4.2 and the GTK look and feel?
+	if (UIManager.get("Tree.leftChildIndent") == null) {
+	    UIManager.put("Tree.leftChildIndent", new Integer(7));
+	}
+	if (UIManager.get("Tree.rightChildIndent") == null) {
+	    UIManager.put("Tree.rightChildIndent", new Integer(13));
+	}
+
+	init(mixed_selection);
+	if (model != null) {
+	    setModel(model);
+	}
+    }
+
+    public void init(boolean mixed_selection) {
+	if (NO_DRAG_CURSOR == null) {
+	    NO_DRAG_CURSOR = DragSource.DefaultMoveNoDrop;
+	}
+
+	// Init
+	this.filter = new Filter(this, null);
+
+	// Creation
+	this.putClientProperty("JTree.lineStyle", "Angled");
+	this.setAutoscrolls(true);
+	this.setEditable(false);
+	this.setLargeModel(true);
+	this.setOpaque(true);
+	this.setRootVisible(false);
+	this.setSelectionModel(new DragTreeSelectionModel(this, mixed_selection));
+	this.setShowsRootHandles(true);
+	this.setUI(new BasicTreeUI());
+
+	// Connection
+	addKeyListener(new DragTreeKeyListener());
+	addMouseListener(Gatherer.g_man.foa_listener);
+	addTreeExpansionListener(Gatherer.g_man.foa_listener);
+	addTreeSelectionListener(this);
+
+	DragTreeCellRenderer renderer = new DragTreeCellRenderer();
+	//make the renderer paint nodes as transparent when not selected
+	//renderer.setBackgroundNonSelectionColor(new Color(0,0,0,0));
+	setCellRenderer(renderer);
+	// It turns out VariableHeightLayoutCache is buggy under MacOS, so I'll force it to use FixedHeightLayoutCache. To do that I have to set a cell height, ala below, and set the large model property to true, ala above. And buggy VariableHeightLayoutCache goes away. Plus this actually provides a minor performance boost as the layout manager doesn't have to calculate new bounds each time (well... I suppose any gain is actually pretty much eclipsed by the time taken for file access while we determine what a certain nodes children are).
+	// And once we have the cell renderer, use it to determine a fixed height for the rows
+	Component prototype_row = renderer.getTreeCellRendererComponent(this, "Prototype", true, true, false, 0, true);
+	this.setRowHeight(prototype_row.getSize().height);
+	prototype_row = null;
+
+
+	// Drag'n'drop Setup
+	// Drag source setup.
+	DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(this, drag_action, this);
+	// Drop destination setup.
+	new DropTarget(this, drag_action, this, true);
+    }
+
+    // Autoscroll Interface - Scroll because the mouse cursor is in our scroll zone.<br>
+    // The following code was borrowed from the book:<br>
+    //              Java Swing<br>
+    //              By Robert Eckstein, Marc Loy & Dave Wood<br>
+    //              Paperback - 1221 pages 1 Ed edition (September 1998)<br>
+    //              O'Reilly & Associates; ISBN: 156592455X<br>
+    // The relevant chapter of which can be found at:<br>
+    //              http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf<br>
+    // But I've probably tortured it beyond all recognition anyway.
+    public void autoscroll(Point pt) {
+	// Figure out which row we're on.
+	int row = getRowForLocation(pt.x, pt.y);
+	// If we are not on a row then ignore this autoscroll request
+	if (row < 0) return;
+	Rectangle bounds = getBounds();// Yes, scroll up one row
+	// Now decide if the row is at the top of the screen or at the bottom. We do this to make the previous row (or the next row) visible as appropriate. If we're at the absolute top or bottom, just return the first or last row respectively.
+	// Is row at top of screen?
+	if(pt.y + bounds.y <= AUTOSCROLL_MARGIN) {
+	    // Yes, scroll up one row
+	    if(row <= 0) {
+		row = 0;
+	    }
+	    else {
+		row = row - 1;
+	    }
+	}
+	else {
+	    // No, scroll down one row
+	    if(row < getRowCount() - 1) {
+		row = row + 1;
+	    }
+	}
+	this.scrollRowToVisible(row);
+    }
+
+    /** In order for the appearance to be consistant, given we may be in the situation where the pointer has left our focus but the ghost remains, this method allows other members of the GGroup to tell this component to clear its ghost.
+     */
+    public void clearGhost() {
+	// Erase the last ghost image and cue line
+	paintImmediately(ra_ghost.getBounds());
+    }
+
+    /** Any implementation of DragSourceListener must include this method so we can be notified when the drag event ends (somewhere else), which will in turn remove actions.
+     * @param event A <strong>DragSourceDropEvent</strong> containing all the information about the end of the drag event.
+     */
+    public void dragDropEnd(DragSourceDropEvent event) {
+    }
+
+    /** Any implementation of DragSourceListener must include this method so we can be notified when the drag focus enters this component.
+     * @param event A <strong>DragSourceDragEvent</strong> containing all the information
+     * about the drag event.
+     */
+    public void dragEnter(DragSourceDragEvent event) {
+	// Handled elsewhere.
+    }
+    /** Any implementation of DropTargetListener must include this method so we can be notified when the drag focus enters this component, which in this case is to grab focus from within our group.
+     * @param event A <strong>DropTargetDragEvent</strong> containing all the information about the drag event.
+     */
+    public void dragEnter(DropTargetDragEvent event) {
+	group.grabFocus(this);
+    }
+    /** Any implementation of DragSourceListener must include this method so we can be notified when the drag focus leaves this component.
+     * @param event A <strong>DragSourceEvent</strong> containing all the information about the drag event.
+     */
+    public void dragExit(DragSourceEvent event) {
+	clearGhost();
+    }
+
+    /** Any implementation of DropTargetListener must include this method
+     * so we can be notified when the drag focus leaves this component.
+     * @param event A DropTargetEvent containing all the information
+     * about the drag event.
+     */
+    public void dragExit(DropTargetEvent event) {
+	clearGhost();
+    }
+
+    /** Any implementation of DragGestureListener must include this method
+     * so we can be notified when a drag action has been noticed, thus a
+     * drag action has begun.
+     * @param event A DragGestureEvent containing all the information about
+     * the drag event.
+     */
+    public void dragGestureRecognized(DragGestureEvent event)
+    {
+	// Check that the tree is draggable
+	if (!isDraggable()) {
+	    return;
+	}
+
+	// Disable editing, unless you want to have the edit box pop-up part way through dragging.
+	this.setEditable(false);
+	// We need this to find one of the selected nodes.
+	Point origin = event.getDragOrigin();
+	TreePath path = this.getPathForLocation(origin.x, origin.y);
+	// Taking into account our delayed model of selection, it is possible the user has performed a select and drag in one click. Here we utilize the Windows paradigm like so: If the node at the origin of the drag and drop is already in our selection then we perform multiple drag and drop. Otherwise we recognise that this is a distinct drag-drop and move only the origin node.
+	if(!isPathSelected(path)) {
+	    ((DragTreeSelectionModel)selectionModel).setImmediate(true);
+	    setSelectionPath(path);
+	    ((DragTreeSelectionModel)selectionModel).setImmediate(false);
+	}
+	if(path == null) {
+	    return;
+	}
+	if (!isValidDrag()) {
+	    try {
+		event.startDrag(NO_DRAG_CURSOR, new StringSelection("dummy"), this);
+		//dragging = true;
+	    }
+	    catch(Exception error) {
+		error.printStackTrace();
+	    }
+	    return;
+	}
+	// Now update the selection stored as far as the group is concerned.
+	group.setSelection(getSelectionPaths());
+	group.setSource(this);
+	// First grab ghost.
+	group.grabFocus(this);
+	// Ghost Image stuff.
+	Rectangle rect = this.getPathBounds(path);
+	group.mouse_offset = new Point(origin.x - rect.x, origin.y - rect.y);
+	// Create the ghost image.
+	// Retrieve the selected files.
+	int selection_count = getSelectionCount();
+	if(selection_count > 0) {
+	    JLabel label;
+	    if(selection_count == 1) {
+		TreePath node_path = getSelectionPath();
+		FileNode node = (FileNode) path.getLastPathComponent();
+		label = new JLabel(node.toString(), ((DefaultTreeCellRenderer)getCellRenderer()).getLeafIcon(), JLabel.CENTER);
+	    }
+	    else {
+		String title = getSelectionCount() + " " + Dictionary.get("Tree.Files");
+		label = new JLabel(title, ((DefaultTreeCellRenderer)getCellRenderer()).getClosedIcon(), JLabel.CENTER);
+		title = null;
+	    }
+	    // The layout manager normally does this.
+	    Dimension label_size = label.getPreferredSize();
+	    label.setSize(label_size);
+	    label.setBackground(TRANSPARENT_COLOR);
+	    label.setOpaque(true);
+	    // Get a buffered image of the selection for dragging a ghost image.
+	    group.image_ghost = new BufferedImage(label_size.width, label_size.height, BufferedImage.TYPE_INT_ARGB_PRE);
+	    label_size = null;
+	    // Get a graphics context for this image.
+	    Graphics2D g2 = group.image_ghost.createGraphics();
+	    // Make the image ghostlike
+	    g2.setComposite(AlphaComposite.getInstance (AlphaComposite.SRC, 0.5f));
+	    // Ask the cell renderer to paint itself into the BufferedImage
+	    label.paint(g2);
+	    g2 = null;
+	    label = null;
+	    try {
+		event.startDrag(new Cursor(Cursor.DEFAULT_CURSOR), group.image_ghost, group.mouse_offset, new StringSelection("dummy"), this);
+		//dragging = true;
+	    }
+	    catch(Exception error) {
+		error.printStackTrace();
+	    }
+	}
+
+    }
+
+    /** Implementation side-effect.
+     * @param event A DragSourceDragEvent containing all the information about the drag event.
+     */
+    public void dragOver(DragSourceDragEvent event) {
+    }
+
+    /** Any implementation of DropTargetListener must include this method
+     * so we can be notified when the drag moves in this component.
+     * @param event A DropTargetDragEvent containing all the information
+     * about the drag event.
+     */
+    public void dragOver(DropTargetDragEvent event) {
+	// Draw the mouse ghost
+	Graphics2D g2 = (Graphics2D) getGraphics();
+	Point pt = event.getLocation();
+	if(pt_last != null && pt.equals(pt_last)) {
+	    return;
+	}
+	pt_last = pt;
+	if(!DragSource.isDragImageSupported() && group.image_ghost != null) {
+	    // Erase the last ghost image and cue line
+	    paintImmediately(ra_ghost.getBounds());
+	    // Remember where you are about to draw the new ghost image
+	    ra_ghost.setRect(pt.x - group.mouse_offset.x, pt.y - group.mouse_offset.y, group.image_ghost.getWidth(), group.image_ghost.getHeight());
+	    // Draw the ghost image
+	    g2.drawImage(group.image_ghost, AffineTransform.getTranslateInstance(ra_ghost.getX(), ra_ghost.getY()), null);
+	}
+	// Now we highlight the target node if it is a valid drop target. Of course we don't bother if we are still over a node which has already been identified as to whether its a drop target
+	TreePath target_path = this.getPathForLocation(pt.x, pt.y);
+	
+	if (target_path == null) {
+	    // the user has moved the mouse into background area - need to remove any existing cue lines
+	    if(upper_cue_line != null && lower_cue_line != null) {
+		paintImmediately(upper_cue_line.getBounds());
+		paintImmediately(lower_cue_line.getBounds());
+		previous_path = null;
+	    }
+	    // don't need to display anything
+	    return;
+	} 
+	
+	if(previous_path == null || target_path != null && !target_path.equals(previous_path)) {
+	    // Immediately clear the old cue lines.
+	    if(upper_cue_line != null && lower_cue_line != null) {
+		paintImmediately(upper_cue_line.getBounds());
+		paintImmediately(lower_cue_line.getBounds());
+	    }
+	    if(isValidDrop(target_path)) {
+		// Get the drop target's bounding rectangle
+		Rectangle raPath = getPathBounds(target_path);
+		// Cue line bounds (2 pixels beneath the drop target)
+		upper_cue_line = new Rectangle(0, raPath.y + (int)raPath.getHeight(), getWidth(), 2);
+		lower_cue_line = new Rectangle(0, raPath.y, getWidth(), 2);
+		g2.setColor(((DefaultTreeCellRenderer)cellRenderer).getBackgroundSelectionColor()); // The cue line color
+		g2.fill(upper_cue_line);         // Draw the cue line
+		g2.fill(lower_cue_line);
+	    }
+	    else {
+		upper_cue_line = null;
+		lower_cue_line = null;
+	    }
+	}
+    }
+
+    /** Any implementation of DropTargetListener must include this method
+	  * so we can be notified when the drag ends, ie the transferable is
+	  * dropped.
+	  * @param event A DropTargetDropEvent containing all the information
+	  * about the end of the drag event.
+	  */
+    public void drop(DropTargetDropEvent event) {
+	///start = System.currentTimeMillis();
+	///ystem.err.println("Drop target drop: " + this);
+	if (!isDroppable()) {
+	    return;
+	}
+
+	event.acceptDrop(drag_action);
+
+	// Determine what node we dropped over.
+	Point pt = event.getLocation();
+	TreePath target_path = this.getPathForLocation(pt.x, pt.y);
+	FileNode target = null;
+	if(target_path != null) {
+	    if(isValidDrop(target_path)) {
+		target = (FileNode) target_path.getLastPathComponent();
+	    } else if (isValidDropOntoFile(target_path)) {
+		target = (FileNode) target_path.getParentPath().getLastPathComponent();
+	    }
+	}
+	else {
+	    TreeModel m = getModel();
+	    // check that we have a model and is a FileSystemModel (ie check that a collection is loaded
+	    if (m != null && m instanceof FileSystemModel) {
+		target = (FileNode) m.getRoot();
+	    }
+	}
+	target_path = null;
+	pt = null;
+	if(target != null) {
+	    ///ystem.err.println("Valid drop.");
+	    TreePath[] selection = group.getSelection();
+	    if(target != null && selection != null) {
+		FileNode[] source_nodes = new FileNode[selection.length];
+		for(int i = 0; i < source_nodes.length; i++) {
+		    source_nodes[i] = (FileNode) selection[i].getLastPathComponent();
+		}
+		Gatherer.f_man.action(group.getSource(), source_nodes, this, target);
+		source_nodes = null;
+	    }
+	    group.setSelection(null);
+	    group.setSource(null);
+	    selection = null;
+	    target = null;
+	}
+
+	// Clear up the group.image_ghost
+	paintImmediately(ra_ghost.getBounds());
+	event.getDropTargetContext().dropComplete(true);
+	group.image_ghost = null;
+    }
+
+
+    /** Any implementation of DragSourceListener must include this method
+     * so we can be notified when the action to be taken upon drop changes.
+     * @param event A DragSourceDragEvent containing all the information
+     * about the drag event.
+     */
+    public void dropActionChanged(DragSourceDragEvent event) {
+    }
+
+    /** Any implementation of DropTargetListener must include this method
+     * so we can be notified when the action to be taken upon drop changes.
+     * @param event A DropTargetDragEvent containing all the information
+     * about the drag event.
+     */
+    public void dropActionChanged(DropTargetDragEvent event) {
+    }
+
+    /** Used to notify this component that it has gained focus. It should
+     * make some effort to inform the user of this.
+     */
+    public void gainFocus() {
+	///ystem.err.println("Gained focus: " + this);
+	((DragTreeCellRenderer)cellRenderer).gainFocus();
+	repaint();
+    }
+
+    /** Autoscroll Interface...
+     * The following code was borrowed from the book:
+     *              Java Swing
+     *              By Robert Eckstein, Marc Loy & Dave Wood
+     *              Paperback - 1221 pages 1 Ed edition (September 1998)
+     *              O'Reilly & Associates; ISBN: 156592455X
+     *
+     * The relevant chapter of which can be found at:
+     *              http://www.oreilly.com/catalog/jswing/chapter/dnd.beta.pdf
+     * Calculate the insets for the *JTREE*, not the viewport
+     * the tree is in. This makes it a bit messy.
+     */
+    public Insets getAutoscrollInsets()
+    {
+	Rectangle raOuter = this.getBounds();
+	Rectangle raInner = this.getParent().getBounds();
+	return new Insets(raInner.y - raOuter.y + AUTOSCROLL_MARGIN,
+			  raInner.x - raOuter.x + AUTOSCROLL_MARGIN,
+			  raOuter.height - raInner.height - raInner.y + raOuter.y + AUTOSCROLL_MARGIN,
+			  raOuter.width - raInner.width - raInner.x + raOuter.x + AUTOSCROLL_MARGIN);
+    }
+
+    public Filter getFilter() {
+	return filter;
+    }
+
+    public String getSelectionDetails() {
+	return ((DragTreeSelectionModel)selectionModel).getDetails();
+    }
+
+    public FileSystemModel getTreeModel() {
+	return (FileSystemModel) getModel();
+    }
+
+
+    protected abstract boolean isDraggable();
+
+
+    protected abstract boolean isDroppable();
+
+
+    /** This method is used to inform this component when it loses focus,
+     * and should indicate this somehow.
+     */
+    public void loseFocus() {
+	///ystem.err.println("Lost focus: " + this);
+	((DragTreeCellRenderer)cellRenderer).loseFocus();
+	repaint();
+    }
+
+
+    public void paint(Graphics g) {
+	if(disabled_background != null) {
+	    int height = getSize().height;
+	    int offset = 0;
+	    ImageIcon background;
+	    if(isEnabled()) {
+		background = normal_background;
+	    }
+	    else {
+		background = disabled_background;
+	    }
+	    while((height - offset) > 0) {
+		g.drawImage(background.getImage(), 0, offset, null);
+		offset = offset + background.getIconHeight();
+	    }
+	    background = null;
+	}
+	super.paint(g);
+    }
+
+    public void refresh(TreePath path) {
+	if (treeModel instanceof FileSystemModel) {
+	    ((FileSystemModel)treeModel).refresh(path);
+	}
+	else {
+	    // System.err.println("DragTree::refresh - Tree model is " + treeModel);
+	}
+    }
+
+    public void setBackgroundNonSelectionColor(Color color) {
+	background_color = color;
+	if(isEnabled()) {
+	    setBackground(color);
+	    ((DefaultTreeCellRenderer)cellRenderer).setBackgroundNonSelectionColor(color);
+	}
+	else {
+	    setBackground(Color.lightGray);
+	    ((DefaultTreeCellRenderer)cellRenderer).setBackgroundNonSelectionColor(Color.lightGray);
+	}
+	repaint();
+    }
+
+    public void setBackgroundSelectionColor(Color color) {
+	((DefaultTreeCellRenderer)cellRenderer).setBackgroundSelectionColor(color);
+	repaint();
+    }
+
+    /** Override the normal setEnabled so the Tree exhibits a little more
+     * change, which in this instance is the background colour changing.
+     * @param state Whether this GTree should be in an enabled state.
+     */
+    public void setEnabled(boolean state) {
+	super.setEnabled(state);
+
+	// Change some colors
+	if(state) {
+	    setBackground(background_color);
+	    ((DefaultTreeCellRenderer)cellRenderer).setBackgroundNonSelectionColor(background_color);
+	    ((DefaultTreeCellRenderer)cellRenderer).setTextNonSelectionColor(foreground_color);
+	}
+	else {
+	    setBackground(Color.lightGray);
+	    ((DefaultTreeCellRenderer)cellRenderer).setBackgroundNonSelectionColor(Color.lightGray);
+	    ((DefaultTreeCellRenderer)cellRenderer).setTextNonSelectionColor(Color.black);
+	}
+	repaint();
+    }
+
+    public void setGroup(DragGroup group) {
+	this.group = group;
+    }
+
+    /** Determines whether the following selection attempts should go through the normal delayed selection model, or should happen immediately.*/
+    public void setImmediate(boolean state) {
+	((DragTreeSelectionModel)selectionModel).setImmediate(state);
+    }
+
+    public void setModel(TreeModel model) {
+	super.setModel(model);
+	if(model instanceof FileSystemModel) {
+	    FileSystemModel file_system_model = (FileSystemModel) model;
+	    file_system_model.setTree(this);
+	    removeTreeExpansionListener(file_system_model);
+	    addTreeExpansionListener(file_system_model);
+	    removeTreeWillExpandListener(file_system_model);
+	    addTreeWillExpandListener(file_system_model);
+	    file_system_model = null;
+	}
+    }
+
+    /** Ensure that that file node denoted by the given file is selected. */
+    public void setSelection(File file) {
+	// We know the file exists, and thus that it must exists somewhere in our tree hierarchy.
+	// 1. Retrieve the root node of our tree.
+	FileNode current = (FileNode) getModel().getRoot();
+	// 2. Find that node in the file parents, keeping track of each intermediate file.
+	ArrayList files = new ArrayList();
+	while(file != null && !current.toString().equals(file.getName())) {
+	    files.add(0, file);
+	    file = file.getParentFile();
+	}
+	if(file == null) {
+	    return;
+	}
+	// 3. While there are still remaining intermediate files.
+	while(files.size() > 0) {
+	    file = (File) files.remove(0);
+				// 3a. Find the next file in the current nodes children.
+	    boolean found = false;
+	    current.map();
+	    for(int i = 0; !found && i < current.getChildCount(); i++) {
+		FileNode child = (FileNode) current.getChildAt(i);
+		if(child.toString().equals(file.getName())) {
+		    // 3b. Make the current node this node (if found) and continue.
+		    found = true;
+		    current = child;
+		}
+	    }
+	    // 3c. If not found then return as this node can't exists somehow.
+	    if(!found) {
+		return;
+	    }
+	}
+	// 4. We should now have the desired node. Remember to make the selection immediate.
+	TreePath path = new TreePath(current.getPath());
+	setImmediate(true);
+	setSelectionPath(path);
+	setImmediate(false);
+    }
+
+    public void setTextNonSelectionColor(Color color) {
+	foreground_color = color;
+	if(isEnabled()) {
+	    ((DefaultTreeCellRenderer)cellRenderer).setTextNonSelectionColor(color);
+	}
+	else {
+	    ((DefaultTreeCellRenderer)cellRenderer).setTextNonSelectionColor(Color.black);
+	}
+	repaint();
+    }
+
+    public void setTextSelectionColor(Color color) {
+	((DefaultTreeCellRenderer)cellRenderer).setTextSelectionColor(color);
+	repaint();
+    }
+
+    public void valueChanged(TreeSelectionEvent event) {
+	if(group == null) {
+	    ///ystem.err.println("Oh my god, this tree has no group: " + this);
+	}
+	else {
+	    group.grabFocus(this);
+	}
+    }
+
+    /** returns false for dummy nodes (ones without files), and system root
+     * nodes */
+    private boolean isValidDrag() {
+	//because you cant select nodes that are children of another selection, and we use a contiguous selection model, we just test the first selection path
+	TreePath node_path = getSelectionPath();
+	FileNode node = (FileNode) node_path.getLastPathComponent();
+
+	if (node.getFile() == null) {
+	    return false;
+	}
+	if (node.isFileSystemRoot()) {
+	    return false;
+	}
+	// We also don't allow the user to select files that reside within the currently loaded collection
+	TreePath[] paths = getSelectionPaths();
+	for(int i = 0; i < paths.length; i++) {
+	    FileNode child = (FileNode) paths[i].getLastPathComponent();
+	    if (child.isInLoadedCollection()) {
+		return false;
+	    }
+	}
+	return true;
+    }
+
+    private boolean isValidDropOntoFile(TreePath target_path) {
+	boolean valid = false;
+	if(target_path != null) {
+	    FileNode target_node = (FileNode) target_path.getLastPathComponent();
+	    if (target_node.isLeaf()) {
+		// check the parent node for being a valid drop
+		return isValidDrop(target_path.getParentPath());
+	    }
+	}
+	return false;
+    }
+
+		
+    private boolean isValidDrop(TreePath target_path) {
+	boolean valid = false;
+	if(target_path == null) {
+	    previous_path = null;
+	} 
+	else {
+	    FileNode target_node = (FileNode) target_path.getLastPathComponent();
+	    // We can only continue testing if the node is a folder.
+	    if(!target_node.isLeaf()) {
+		// Now we check if the node is readonly.
+		if(!target_node.isReadOnly()) {
+		    // Finally we check the target path against the paths in the selection to ensure we are not adding to our own ancestors!
+		    TreePath[] selection = group.getSelection();
+		    boolean failed = false;
+		    for(int i = 0; !failed && selection != null && i < selection.length; i++) {
+			failed = selection[i].isDescendant(target_path);
+		    }
+		    // Having finally completed all the tests, we can highlight the drop target.
+		    if(!failed) {
+			valid = true;
+		    }
+		    else {
+			///ystem.err.println("Invalid. Target is descendant of itself.");
+		    }
+		}
+		else {
+		    ///ystem.err.println("Read only.");
+		}
+	    }
+	    else {
+		///ystem.err.println("Leaf node. Children not allowed.");
+	    }
+	    previous_path = target_path;
+	}
+	return valid;
+    }
+
+
+    /** This class listens for certain key presses, such as [Enter] or [Delete], and responds appropriately. */
+    private class DragTreeKeyListener
+	extends KeyAdapter
+    {
+	private boolean vk_left_pressed = false;
+	/** Called whenever a key that was pressed is released, it is this action that will cause the desired effects (this allows for the key event itself to be processed prior to this listener dealing with it). */
+	public void keyReleased(KeyEvent event) {
+	    ///ystem.err.println("Key Release detected. " + event.getKeyCode());
+	    if(event.getKeyCode() == KeyEvent.VK_DELETE) {
+		// Get the selected files from the tree and removal them using the default dnd removal method.
+		// Find the active tree (you've made selections in).
+		DragTree tree = (DragTree) group.getActive();
+		// Fudge things a bit
+		group.setSource(tree);
+		// Determine the selection.
+		TreePath paths[] = tree.getSelectionPaths();
+		if(paths != null) {
+		    FileNode[] source_nodes = new FileNode[paths.length];
+		    for(int i = 0; i < source_nodes.length; i++) {
+			source_nodes[i] = (FileNode) paths[i].getLastPathComponent();
+		    }
+		    Gatherer.f_man.action(tree, source_nodes, Gatherer.recycle_bin, null);
+		    source_nodes = null;
+		}
+	    }
+	    else if(event.getKeyCode() == KeyEvent.VK_ENTER) {
+		// Get the first selected file.
+		DragTree tree = (DragTree)event.getSource();
+		TreePath path = tree.getSelectionPath();
+		if(path != null) {
+		    File file = ((FileNode)path.getLastPathComponent()).getFile();
+		    if (file != null && file.isFile()) {
+			Gatherer.f_man.openFileInExternalApplication(file);
+		    }
+		    else {
+			if(!tree.isExpanded(path)) {
+			    tree.expandPath(path);
+			}
+			else {
+			    tree.collapsePath(path);
+			}
+		    }
+		}
+	    } else if (event.getKeyCode() == KeyEvent.VK_UP || event.getKeyCode() == KeyEvent.VK_DOWN) {
+		DragTree tree = (DragTree)event.getSource();
+		// we need to manually do the up and down selections
+		boolean up = (event.getKeyCode() == KeyEvent.VK_UP);
+		int current_row = tree.getLeadSelectionRow();
+		tree.setImmediate(true);
+		if (up) {
+		    if (current_row > 0) {
+			tree.clearSelection();
+			tree.setSelectionRow(current_row-1);
+		    }
+		} else {
+		    if (current_row < tree.getRowCount()-1){
+			tree.clearSelection();
+			tree.setSelectionRow(current_row+1);
+		    }
+		}
+		tree.setImmediate(false);
+	    } else if (event.getKeyCode() == KeyEvent.VK_LEFT) {
+		// left key on a file shifts the selection to the parent folder
+		DragTree tree = (DragTree)event.getSource();
+		TreePath path = tree.getLeadSelectionPath();
+		if(path != null) {
+		    File file = ((FileNode)path.getLastPathComponent()).getFile();
+		    if(file != null) {
+			if (file.isFile() || vk_left_pressed) {
+			    vk_left_pressed = false;
+			    TreePath parent_path = path.getParentPath();
+			    if (parent_path != null && parent_path.getParentPath() != null) {
+				// if this file is in the top level folder, don't move the focus 
+				tree.setImmediate(true);
+				tree.clearSelection();
+				tree.setSelectionPath(parent_path);
+				tree.setImmediate(false);
+			    }
+			}
+		    }
+		}
+	    }
+	}
+	
+	// we need to watch for left clicks on an unopened folder - should shift the focus to teh parent folder. But because there is some other mysterious key listener that does opening and closing folders on right and left clicks, we must detect the situation before the other handler has done its job, and process it after. 
+	public void keyPressed(KeyEvent event) {
+	    if (event.getKeyCode() == KeyEvent.VK_LEFT) {
+		// left key on  closed directory shifts the selection to the parent folder
+		DragTree tree = (DragTree)event.getSource();
+		TreePath path = tree.getLeadSelectionPath();
+		if(path == null) return; 
+		File file = ((FileNode)path.getLastPathComponent()).getFile();
+		if(file == null) return;
+		
+		if (file.isDirectory() && tree.isCollapsed(path)) {
+		    vk_left_pressed = true;
+		}
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/gui/tree/DragTreeCellRenderer.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/gui/tree/DragTreeCellRenderer.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/gui/tree/DragTreeCellRenderer.java	(revision 21123)
@@ -0,0 +1,89 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.gui.tree;
+
+import java.awt.*;
+import javax.swing.*;
+import javax.swing.tree.DefaultTreeCellRenderer;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.file.FileNode;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.greenstone.gatherer.util.Utility;
+
+public class DragTreeCellRenderer
+    extends DefaultTreeCellRenderer
+{
+    private Color selection_background;
+    private Color selection_foreground;
+
+    public DragTreeCellRenderer() {
+	super();
+	// Have to wait until this image is loaded
+	selection_background = getBackgroundSelectionColor();
+	selection_foreground = getTextSelectionColor();
+    }
+
+    public void gainFocus() {
+	setBackgroundSelectionColor(selection_background);
+	setTextSelectionColor(selection_foreground);
+    }
+
+    /** Configures the renderer based on the passed in components. */
+    public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus)
+    {
+	// Rendering FileNodes
+	if (value instanceof FileNode) {
+	    FileNode node = (FileNode) value;
+	    String node_text = node.toString();
+
+	    // Add file sizes if necessary
+	    if (Configuration.get("general.show_file_size", Configuration.COLLECTION_SPECIFIC) && node.getFile() != null && !node.getAllowsChildren()) {
+		node_text = node_text + StaticStrings.SPACE_CHARACTER + StaticStrings.LBRACKET_CHARACTER + Utility.formatFileLength(node.getFile().length()) + StaticStrings.RBRACKET_CHARACTER;
+	    }
+
+	    return (JLabel) super.getTreeCellRendererComponent(tree, node_text, sel, expanded, leaf, row, hasFocus);
+	}
+
+	// Use default renderer for anything else
+	return (JLabel) super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
+    }
+
+    public void loseFocus() {
+	setBackgroundSelectionColor(Color.lightGray);
+	setTextSelectionColor(Color.black);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/DocGAFile.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/DocGAFile.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/DocGAFile.java	(revision 21123)
@@ -0,0 +1,45 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+
+import java.io.*;
+import java.util.*;
+import java.net.URLDecoder;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.util.Utility;
+
+
+/** This class represents one doc.xml file */
+
+public class DocGAFile extends DocXMLFile
+{
+    public DocGAFile(String doc_xml_file_path)
+    {
+	super(doc_xml_file_path, "Description", "Metadata"); // metadataWrap and metadataItem
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/DocMetsXMLFile.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/DocMetsXMLFile.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/DocMetsXMLFile.java	(revision 21123)
@@ -0,0 +1,44 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+
+import java.io.*;
+import java.util.*;
+import java.net.URLDecoder;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.util.Utility;
+
+
+/** This class represents one docmets.xml file */
+public class DocMetsXMLFile extends DocXMLFile
+{
+    public DocMetsXMLFile(String doc_xml_file_path)
+    {
+	super(doc_xml_file_path, "mets:xmlData", "ex:metadata"); // metadataWrap, metadataItem
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/DocXMLFile.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/DocXMLFile.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/DocXMLFile.java	(revision 21123)
@@ -0,0 +1,539 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+
+import java.io.*;
+import java.util.*;
+import java.net.URLDecoder;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.util.Utility;
+
+
+/** This class represents one doc.xml file */
+
+public abstract class DocXMLFile extends File
+{
+    protected HashMap source_file_name_to_description_elements_mapping = new HashMap();
+
+    protected final String MetadataWrap;
+    protected final String MetadataItem;
+
+    public DocXMLFile(String doc_xml_file_path, String metaWrap, String metaItem)
+    {
+	super(doc_xml_file_path);
+	this.MetadataWrap = metaWrap;
+	this.MetadataItem = metaItem;
+    }
+
+
+    public ArrayList getMetadataExtractedFromFile(File file)
+    {
+	// Build up a list of metadata extracted from this file
+	ArrayList metadata_values = new ArrayList();
+
+	String file_relative_path = file.getAbsolutePath();
+	int import_index = file_relative_path.indexOf("import");
+	if (import_index != -1) {
+	    file_relative_path = file_relative_path.substring(import_index + "import".length() + 1);
+	}
+
+	// Check whether this file (i.e. doc.xml or docmets.xml on inheritance) file contains extracted metadata for the specified file
+	ArrayList description_elements_list = (ArrayList) source_file_name_to_description_elements_mapping.get(file_relative_path);
+	if (description_elements_list == null) {
+	    // ...it doesn't
+	    return metadata_values;
+	}
+
+ 	MetadataSet extracted_metadata_set = MetadataSetManager.getMetadataSet(MetadataSetManager.EXTRACTED_METADATA_NAMESPACE);
+
+	// Parse the file
+	DebugStream.println("Applicable file: " + this);
+	try {
+	    BufferedReader buffered_reader = new BufferedReader(new FileReader(this));
+
+	    int description_element_num = 0;
+	    int next_description_element_start = ((Integer) description_elements_list.get(description_element_num)).intValue();
+	    boolean in_relevant_description_element = false;
+
+	    String line = null;
+	    for (int line_num = 0; (line = buffered_reader.readLine()) != null; line_num++) {
+		// Check if this line contains the start of a relevant "Description" element
+		// (mets:xmlData in METS parlance, Description in GreenstoneArchive format) 
+		if (line_num == next_description_element_start) {
+		    in_relevant_description_element = true;
+		    continue;
+		}
+
+		// If we're not in a relevant Description element we don't care about anything
+		if (in_relevant_description_element == false) {
+		    continue;
+		}
+
+		// Check if this line contains the end of the relevant Description element
+		if (line.indexOf("</"+MetadataWrap+">") != -1) {
+		    description_element_num++;
+		    if (description_element_num == description_elements_list.size()) {
+			break;
+		    }
+
+		    next_description_element_start = ((Integer) description_elements_list.get(description_element_num)).intValue();
+		    in_relevant_description_element = false;
+		    continue;
+		}
+
+		// If this line doesn't contain a complete Metadata element, we're not interested
+		if (line.indexOf("<"+MetadataItem+" ") == -1 || line.indexOf("</"+MetadataItem+">") == -1) {
+		    continue;
+		}
+
+		// Extract the metadata element name
+		int name_index = line.indexOf(" name=\"") + " name=\"".length();
+		String metadata_element_name_full = line.substring(name_index, line.indexOf("\"", name_index));
+
+		// If the metadata has a namespace it isn't extracted metadata, so we're not interested
+		String metadata_set_namespace = MetadataTools.getMetadataSetNamespace(metadata_element_name_full);
+		if (!metadata_set_namespace.equals("")) {
+		    continue;
+		}
+
+		// Extracted metadata!
+		String metadata_element_name = metadata_element_name_full;
+
+		// We completely ignore bibliographic data
+		if (metadata_element_name.equals("SourceSegment")) {
+		    buffered_reader.close();
+		    return new ArrayList();
+		}
+
+		// Ignore metadata starting with gsdl (used to be lowercase metadata and /metadata)
+		if (metadata_element_name.startsWith("gsdl")) {
+		    continue;
+		}
+
+		MetadataElement metadata_element = extracted_metadata_set.getMetadataElementWithName(metadata_element_name);
+
+		// Value trees are not stored for extracted metadata, so create a new value tree node now
+		int value_index = line.indexOf(">", name_index) + ">".length();
+		String metadata_element_value = line.substring(value_index, line.lastIndexOf("</"+MetadataItem+">"));
+
+		metadata_element.addMetadataValue(metadata_element_value);
+		MetadataValueTreeNode metadata_value_tree_node = metadata_element.getMetadataValueTreeNode(metadata_element_value);
+
+		// Add the new metadata value to the list
+		MetadataValue metadata_value = new MetadataValue(metadata_element, metadata_value_tree_node);
+		metadata_values.add(metadata_value);
+	    }
+
+	    buffered_reader.close();
+	}
+	catch (FileNotFoundException exception) {
+ 	    DebugStream.printStackTrace(exception);
+ 	}
+	catch (IOException exception) {
+ 	    DebugStream.printStackTrace(exception);
+ 	}
+
+	return metadata_values;
+    }
+
+
+
+
+    /**
+     * Every file must be skimmed when a collection is opened, for two reasons:
+     *   - To build a mapping from source file to its corresponding doc.xml file
+     *   - To get a complete list of all extracted metadata elements
+     */
+    public void skimFile()
+    {
+	MetadataSet extracted_metadata_set = MetadataSetManager.getMetadataSet(MetadataSetManager.EXTRACTED_METADATA_NAMESPACE);
+
+	// Skim the file as quickly as possible (don't parse as XML), looking at the Metadata elements
+	DebugStream.println("Skimming " + this + "...");
+	try {
+	    BufferedReader buffered_reader = new BufferedReader(new FileReader(this));
+	    int description_element_start = -1;
+
+	    String line = null;
+	    for (int line_num = 0; (line = buffered_reader.readLine()) != null; line_num++) {
+		// This line contains the start of a "MetadataWrap" element 
+		// (mets:xmlData in METS parlance, Description in GreenstoneArchive format) 
+		if (line.indexOf("<"+MetadataWrap+">") != -1) {
+		    if (description_element_start != -1) {
+			System.err.println("Parse error: previous " + MetadataWrap + " element unfinished!");
+		    }
+		    description_element_start = line_num;
+		    continue;
+		}
+
+		// This line contains the end of a "MetadataWrap" element
+		if (line.indexOf("</"+MetadataWrap+">") != -1) {
+		    if (description_element_start == -1) {
+			System.err.println("Parse error: "+MetadataWrap+" element unstarted!");
+		    }
+		    description_element_start = -1;
+		    continue;
+		}
+
+		// If we're not in a"MetadataWrap" element there shouldn't be any Metadata elements
+		if (description_element_start == -1) {
+		    continue;
+		}
+
+		// This line doesn't contain a Metadata element, so we're not interested
+		if (line.indexOf("<"+MetadataItem+" ") == -1) {
+		    DebugStream.println("Warning: "+MetadataWrap+" element line doesn't contain Metadata element.");
+		    continue;
+		}
+
+		// Extract the metadata element name
+		int name_index = line.indexOf(" name=\"") + " name=\"".length();
+		String metadata_element_name_full = line.substring(name_index, line.indexOf("\"", name_index));
+
+		// If the metadata has a namespace it isn't extracted metadata, so we're not interested
+		String metadata_set_namespace = MetadataTools.getMetadataSetNamespace(metadata_element_name_full);
+		if (!metadata_set_namespace.equals("")) {
+		    continue;
+		}
+
+		// Extracted metadata!
+		String metadata_element_name = metadata_element_name_full;
+
+		// Note which file this is for
+		if (metadata_element_name.equals("gsdlsourcefilename")) {
+		    // Extract the gsdlsourcefilename element value
+		    int value_index = line.indexOf(">", name_index) + ">".length();
+		    String gsdlsourcefilename_value = line.substring(value_index, line.indexOf("<", value_index));
+
+		    // We're only interested in the path relative to the import folder
+		    int import_index = gsdlsourcefilename_value.indexOf("import");
+		    if (import_index != -1) {
+			gsdlsourcefilename_value = gsdlsourcefilename_value.substring(import_index + "import".length());
+
+			boolean is_unix_path = gsdlsourcefilename_value.startsWith("/");
+			gsdlsourcefilename_value = gsdlsourcefilename_value.substring(1);
+
+			// URL decode gsdlsourcefilename. Need to set the decoder to use the default system encoding
+			// This is stored in the System's file.encoding property.
+			gsdlsourcefilename_value = URLDecoder.decode(gsdlsourcefilename_value, System.getProperty("file.encoding")); 
+
+			// Make sure the path matches the OS that is running
+			if (is_unix_path && Utility.isWindows()) {
+			    // Convert path from Unix to Windows
+			    gsdlsourcefilename_value = gsdlsourcefilename_value.replaceAll("\\/", "\\\\");
+			}
+			else if (!is_unix_path && !Utility.isWindows()) {
+			    // Convert path from Windows to Unix
+			    gsdlsourcefilename_value = gsdlsourcefilename_value.replaceAll("\\\\", "/");
+			}
+
+			// Remember this for quick access later
+			if (source_file_name_to_description_elements_mapping.get(gsdlsourcefilename_value) == null) {
+			    source_file_name_to_description_elements_mapping.put(gsdlsourcefilename_value, new ArrayList());
+			}
+
+			((ArrayList) source_file_name_to_description_elements_mapping.get(gsdlsourcefilename_value)).add(new Integer(description_element_start));
+		    }
+
+		    // Warn about an odd gsdlsourcefilename, except if it is the Greenstone "tmp" directory or
+		    // (as in the case of using FLI) if it is the etc/collect.cfg or etc/collectionConfig.xml file
+		    // which are the gsdlsourcefilenames for the fedora digital object representing a collection.
+		    // This (tmp dir) is true when the source files come from a zip file processed by ZIPPlug, for example
+		    else if (gsdlsourcefilename_value.indexOf("tmp") == -1 
+			     && !gsdlsourcefilename_value.endsWith("collect.cfg")
+			     && !gsdlsourcefilename_value.endsWith("collectionConfig.xml")) {
+			// We don't really know what is going on...
+			System.err.println("Warning: Could not understand gsdlsourcefilename " + gsdlsourcefilename_value);
+		    }
+		}
+
+		// Ignore metadata starting with gsdl (used to be lowercase metadata and /metadata)
+		if (metadata_element_name.startsWith("gsdl")) {
+		    continue;
+		}
+
+		MetadataElement metadata_element = extracted_metadata_set.getMetadataElementWithName(metadata_element_name);
+		if (metadata_element == null) {
+		    // This element isn't defined in ex.mds, so create it for this session
+		    DebugStream.println("Extracted metadata element not defined: " + metadata_element_name);
+		    extracted_metadata_set.addMetadataElementForThisSession(metadata_element_name);
+		}
+	    }
+
+	    buffered_reader.close();
+	}
+	catch (FileNotFoundException exception) {
+ 	    DebugStream.printStackTrace(exception);
+ 	}
+	catch (IOException exception) {
+ 	    DebugStream.printStackTrace(exception);
+ 	}
+    }
+
+
+    /*
+    public ArrayList getMetadataExtractedFromFile(File file)
+    {
+	// Build up a list of metadata extracted from this file
+	ArrayList metadata_values = new ArrayList();
+
+	String file_relative_path = file.getAbsolutePath();
+	int import_index = file_relative_path.indexOf("import");
+	if (import_index != -1) {
+	    file_relative_path = file_relative_path.substring(import_index + "import".length() + 1);
+	}
+
+	// Check whether this doc.xml file contains extracted metadata for the specified file
+	ArrayList description_elements_list = (ArrayList) source_file_name_to_description_elements_mapping.get(file_relative_path);
+	if (description_elements_list == null) {
+	    // ...it doesn't
+	    return metadata_values;
+	}
+
+ 	MetadataSet extracted_metadata_set = MetadataSetManager.getMetadataSet(MetadataSetManager.EXTRACTED_METADATA_NAMESPACE);
+
+	// Parse the doc.xml file
+	DebugStream.println("Applicable doc.xml file: " + this);
+	try {
+	    BufferedReader buffered_reader = new BufferedReader(new FileReader(this));
+
+	    int description_element_num = 0;
+	    int next_description_element_start = ((Integer) description_elements_list.get(description_element_num)).intValue();
+	    boolean in_relevant_description_element = false;
+
+	    String line = null;
+	    for (int line_num = 0; (line = buffered_reader.readLine()) != null; line_num++) {
+		// Check if this line contains the start of a relevant Description element
+		if (line_num == next_description_element_start) {
+		    in_relevant_description_element = true;
+		    continue;
+		}
+
+		// If we're not in a relevant Description element we don't care about anything
+		if (in_relevant_description_element == false) {
+		    continue;
+		}
+
+		// Check if this line contains the end of the relevant Description element
+		if (line.indexOf("</Description>") != -1) {
+		    description_element_num++;
+		    if (description_element_num == description_elements_list.size()) {
+			break;
+		    }
+
+		    next_description_element_start = ((Integer) description_elements_list.get(description_element_num)).intValue();
+		    in_relevant_description_element = false;
+		    continue;
+		}
+
+		// If this line doesn't contain a complete Metadata element, we're not interested
+		if (line.indexOf("<Metadata ") == -1 || line.indexOf("</Metadata>") == -1) {
+		    continue;
+		}
+
+		// Extract the metadata element name
+		int name_index = line.indexOf(" name=\"") + " name=\"".length();
+		String metadata_element_name_full = line.substring(name_index, line.indexOf("\"", name_index));
+
+		// If the metadata has a namespace it isn't extracted metadata, so we're not interested
+		String metadata_set_namespace = MetadataTools.getMetadataSetNamespace(metadata_element_name_full);
+		if (!metadata_set_namespace.equals("")) {
+		    continue;
+		}
+
+		// Extracted metadata!
+		String metadata_element_name = metadata_element_name_full;
+
+		// We completely ignore bibliographic data
+		if (metadata_element_name.equals("SourceSegment")) {
+		    buffered_reader.close();
+		    return new ArrayList();
+		}
+
+		// Ignore metadata starting with gsdl (used to be lowercase metadata and /metadata)
+		if (metadata_element_name.startsWith("gsdl")) {
+		    continue;
+		}
+
+		MetadataElement metadata_element = extracted_metadata_set.getMetadataElementWithName(metadata_element_name);
+
+		// Value trees are not stored for extracted metadata, so create a new value tree node now
+		int value_index = line.indexOf(">", name_index) + ">".length();
+		String metadata_element_value = line.substring(value_index, line.lastIndexOf("</Metadata>"));
+
+		metadata_element.addMetadataValue(metadata_element_value);
+		MetadataValueTreeNode metadata_value_tree_node = metadata_element.getMetadataValueTreeNode(metadata_element_value);
+
+		// Add the new metadata value to the list
+		MetadataValue metadata_value = new MetadataValue(metadata_element, metadata_value_tree_node);
+		metadata_values.add(metadata_value);
+	    }
+
+	    buffered_reader.close();
+	}
+	catch (FileNotFoundException exception) {
+ 	    DebugStream.printStackTrace(exception);
+ 	}
+	catch (IOException exception) {
+ 	    DebugStream.printStackTrace(exception);
+ 	}
+
+	return metadata_values;
+    }
+
+    */
+
+    /**
+     * Every doc.xml file must be skimmed when a collection is opened, for two reasons:
+     *   - To build a mapping from source file to its corresponding doc.xml file
+     *   - To get a complete list of all extracted metadata elements
+     */
+    /*
+    public void skimFile()
+    {
+	MetadataSet extracted_metadata_set = MetadataSetManager.getMetadataSet(MetadataSetManager.EXTRACTED_METADATA_NAMESPACE);
+
+	// Skim the doc.xml file as quickly as possible (don't parse as XML), looking at the Metadata elements
+	DebugStream.println("Skimming " + this + "...");
+	try {
+	    BufferedReader buffered_reader = new BufferedReader(new FileReader(this));
+	    int description_element_start = -1;
+
+	    String line = null;
+	    for (int line_num = 0; (line = buffered_reader.readLine()) != null; line_num++) {
+		// This line contains the start of a Description element
+		if (line.indexOf("<Description>") != -1) {
+		    if (description_element_start != -1) {
+			System.err.println("Parse error: previous Description element unfinished!");
+		    }
+		    description_element_start = line_num;
+		    continue;
+		}
+
+		// This line contains the end of a Description element
+		if (line.indexOf("</Description>") != -1) {
+		    if (description_element_start == -1) {
+			System.err.println("Parse error: Description element unstarted!");
+		    }
+		    description_element_start = -1;
+		    continue;
+		}
+
+		// If we're not in a Description element there shouldn't be any Metadata elements
+		if (description_element_start == -1) {
+		    continue;
+		}
+
+		// This line doesn't contain a Metadata element, so we're not interested
+		if (line.indexOf("<Metadata ") == -1) {
+		    DebugStream.println("Warning: Description element line doesn't contain Metadata element.");
+		    continue;
+		}
+
+		// Extract the metadata element name
+		int name_index = line.indexOf(" name=\"") + " name=\"".length();
+		String metadata_element_name_full = line.substring(name_index, line.indexOf("\"", name_index));
+
+		// If the metadata has a namespace it isn't extracted metadata, so we're not interested
+		String metadata_set_namespace = MetadataTools.getMetadataSetNamespace(metadata_element_name_full);
+		if (!metadata_set_namespace.equals("")) {
+		    continue;
+		}
+
+		// Extracted metadata!
+		String metadata_element_name = metadata_element_name_full;
+
+		// Note which file this doc.xml is for
+		if (metadata_element_name.equals("gsdlsourcefilename")) {
+		    // Extract the gsdlsourcefilename element value
+		    int value_index = line.indexOf(">", name_index) + ">".length();
+		    String gsdlsourcefilename_value = line.substring(value_index, line.indexOf("<", value_index));
+
+		    // We're only interested in the path relative to the import folder
+		    int import_index = gsdlsourcefilename_value.indexOf("import");
+		    if (import_index != -1) {
+			gsdlsourcefilename_value = gsdlsourcefilename_value.substring(import_index + "import".length());
+
+			boolean is_unix_path = gsdlsourcefilename_value.startsWith("/");
+			gsdlsourcefilename_value = gsdlsourcefilename_value.substring(1);
+
+			// URL decode gsdlsourcefilename. Need to set the decoder to use the default system encoding
+			// This is stored in the System's file.encoding property.
+			gsdlsourcefilename_value = URLDecoder.decode(gsdlsourcefilename_value, System.getProperty("file.encoding")); 
+
+			// Make sure the path matches the OS that is running
+			if (is_unix_path && Utility.isWindows()) {
+			    // Convert path from Unix to Windows
+			    gsdlsourcefilename_value = gsdlsourcefilename_value.replaceAll("\\/", "\\\\");
+			}
+			else if (!is_unix_path && !Utility.isWindows()) {
+			    // Convert path from Windows to Unix
+			    gsdlsourcefilename_value = gsdlsourcefilename_value.replaceAll("\\\\", "/");
+			}
+
+			// Remember this for quick access later
+			if (source_file_name_to_description_elements_mapping.get(gsdlsourcefilename_value) == null) {
+			    source_file_name_to_description_elements_mapping.put(gsdlsourcefilename_value, new ArrayList());
+			}
+
+			((ArrayList) source_file_name_to_description_elements_mapping.get(gsdlsourcefilename_value)).add(new Integer(description_element_start));
+		    }
+
+		    // Warn about an odd gsdlsourcefilename, except if it is the Greenstone "tmp" directory
+		    // This is true when the source files come from a zip file processed by ZIPPlug, for example
+		    else if (gsdlsourcefilename_value.indexOf("tmp") == -1) {
+			// We don't really know what is going on...
+			System.err.println("Warning: Could not understand gsdlsourcefilename " + gsdlsourcefilename_value);
+		    }
+		}
+
+		// Ignore metadata starting with gsdl (used to be lowercase metadata and /metadata)
+		if (metadata_element_name.startsWith("gsdl")) {
+		    continue;
+		}
+
+		MetadataElement metadata_element = extracted_metadata_set.getMetadataElementWithName(metadata_element_name);
+		if (metadata_element == null) {
+		    // This element isn't defined in ex.mds, so create it for this session
+		    DebugStream.println("Extracted metadata element not defined: " + metadata_element_name);
+		    extracted_metadata_set.addMetadataElementForThisSession(metadata_element_name);
+		}
+	    }
+
+	    buffered_reader.close();
+	}
+	catch (FileNotFoundException exception) {
+ 	    DebugStream.printStackTrace(exception);
+ 	}
+	catch (IOException exception) {
+ 	    DebugStream.printStackTrace(exception);
+ 	}
+    }
+    */
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/DocXMLFileManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/DocXMLFileManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/DocXMLFileManager.java	(revision 21123)
@@ -0,0 +1,105 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+
+import java.io.*;
+import java.util.*;
+import org.greenstone.gatherer.DebugStream;
+
+
+/** This class is a static class that manages the doc.xml files */
+public class DocXMLFileManager
+{
+    static private ArrayList doc_xml_files = new ArrayList();
+
+
+    static public void clearDocXMLFiles()
+    {
+	doc_xml_files.clear();
+    }
+
+
+    static public ArrayList getMetadataExtractedFromFile(File file)
+    {
+	// Build up a list of metadata values extracted from this file
+	ArrayList metadata_values = new ArrayList();
+
+	// Look at each loaded doc.xml file to see if any have extracted metadata for this file
+	for (int i = 0; i < doc_xml_files.size(); i++) {
+	    DocXMLFile doc_xml_file = (DocXMLFile) doc_xml_files.get(i);
+	    metadata_values.addAll(doc_xml_file.getMetadataExtractedFromFile(file));
+	}
+
+	return metadata_values;
+    }
+
+
+    static public void loadDocXMLFiles(File directory, String filename_match)
+    {
+	// Make sure the directory (archives) exists
+	if (directory.exists() == false) {
+	    return;
+	}
+
+	// Look recursively at each subfile of the directory for doc.xml files
+	File[] directory_files = directory.listFiles();
+	for (int i = 0; i < directory_files.length; i++) {
+	    File child_file = directory_files[i];
+	    if (child_file.isDirectory()) {
+		loadDocXMLFiles(child_file,filename_match); 
+	    }
+	    else if (child_file.getName().equals(filename_match)) {
+		// e.g. doc.xml (for regular Greenstone, docmets.xml for Fedora)
+
+		loadDocXMLFile(child_file,filename_match);
+	    }
+	}
+    }
+
+
+    static private void loadDocXMLFile(File doc_xml_file_file,String filename_match)
+    {
+	String file = doc_xml_file_file.getAbsolutePath();
+
+	// Need to do typecasts in the following to keep Java 1.4 happy
+	DocXMLFile doc_xml_file 
+	    = (filename_match.equals("docmets.xml")) 
+	    ? (DocXMLFile) new DocMetsXMLFile(file) 
+	    : (DocXMLFile) new DocGAFile(file);
+
+	try {	    
+	    doc_xml_file.skimFile();
+	    doc_xml_files.add(doc_xml_file);
+	}
+	catch (Exception exception) {
+	    // We catch any exceptions here so errors in doc.xml files don't stop the collection from loading
+	    System.err.println("Error: Could not skim doc.xml file " + doc_xml_file.getAbsolutePath());
+	    DebugStream.printStackTrace(exception);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataAuditTableModel.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataAuditTableModel.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataAuditTableModel.java	(revision 21123)
@@ -0,0 +1,240 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+
+import java.awt.*;
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.table.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.collection.CollectionTreeNode;
+
+
+public class MetadataAuditTableModel
+    extends AbstractTableModel
+{
+    /** It is not expected that this class will ever be serialized */
+    private static final long serialVersionUID = 0L;
+
+    /** The CollectionTreeNodes this model is built for */
+    private CollectionTreeNode[] file_nodes = null;
+    /** The list of MetadataElements in the table (columns) */
+    private ArrayList metadata_elements = new ArrayList();
+    /** The list of MetadataAuditTableEntries in the table (rows) */
+    private ArrayList metadata_audit_table_entries = new ArrayList();
+
+
+    /** Returns the number of columns in this table. */
+    public int getColumnCount()
+    {
+	return 1 + metadata_elements.size();
+    }
+
+
+    /** Returns the name of the specified column. */
+    public String getColumnName(int col)
+    {
+	// First column: filename
+	if (col == 0) {
+	    return Dictionary.get("AuditTable.File");
+	}
+
+	int metadata_element_index = col - 1;
+	return metadata_elements.get(metadata_element_index).toString();
+    }
+
+
+    /** Returns the values in a particular column. */
+    public ArrayList getColumnValues(int col)
+    {
+	// First column: filename
+	if (col == 0) {
+	    ArrayList column_values = new ArrayList();
+	    for (int i = 0; i < metadata_audit_table_entries.size(); i++) {
+		MetadataAuditTableEntry metadata_audit_table_entry = (MetadataAuditTableEntry) metadata_audit_table_entries.get(i);
+		column_values.add(metadata_audit_table_entry.getFilename());
+	    }
+
+	    return column_values;
+	}
+
+	// Check values are reasonable
+	int metadata_element_index = col - 1;
+	if (metadata_element_index < 0 || metadata_element_index >= metadata_elements.size()) {
+	    return null;
+	}
+
+	ArrayList column_values = new ArrayList();
+	for (int i = 0; i < metadata_audit_table_entries.size(); i++) {
+	    MetadataAuditTableEntry metadata_audit_table_entry = (MetadataAuditTableEntry) metadata_audit_table_entries.get(i);
+	    MetadataValueTreeNode[] metadata_value_tree_nodes = metadata_audit_table_entry.getMetadataValueTreeNodes(metadata_element_index);
+	    if (metadata_value_tree_nodes != null) {
+		for (int j = 0; j < metadata_value_tree_nodes.length; j++) {
+		    column_values.add(metadata_value_tree_nodes[j].toString());
+		}
+	    }
+	}
+
+	return column_values;
+    }
+
+
+    /** Returns the number of rows in this table. */
+    public int getRowCount()
+    {
+	return metadata_audit_table_entries.size();
+    }
+
+
+    /** Returns the cell value at a given row and column as an Object. */
+    public Object getValueAt(int row, int col)
+    {
+	// Check values are reasonable
+	if (row < 0 || row >= metadata_audit_table_entries.size()) {
+	    return null;
+	}
+
+	// First column: filename
+	if (col == 0) {
+	    ArrayList cell_values = new ArrayList();
+	    cell_values.add(((MetadataAuditTableEntry) metadata_audit_table_entries.get(row)).getFilename());
+	    return cell_values;
+	}
+
+	// Check values are reasonable
+	int metadata_element_index = col - 1;
+	if (metadata_element_index < 0 || metadata_element_index >= metadata_elements.size()) {
+	    return null;
+	}
+
+	ArrayList cell_values = new ArrayList();
+	MetadataAuditTableEntry metadata_audit_table_entry = (MetadataAuditTableEntry) metadata_audit_table_entries.get(row);
+	MetadataValueTreeNode[] metadata_value_tree_nodes = metadata_audit_table_entry.getMetadataValueTreeNodes(metadata_element_index);
+	if (metadata_value_tree_nodes != null) {
+	    for (int j = 0; j < metadata_value_tree_nodes.length; j++) {
+		cell_values.add(metadata_value_tree_nodes[j].toString());
+	    }
+	}
+
+	return cell_values;
+    }
+
+
+    public void rebuild(CollectionTreeNode[] file_nodes)
+    {
+	metadata_elements = MetadataSetManager.getEveryMetadataSetElement();
+	metadata_audit_table_entries.clear();
+
+	this.file_nodes = file_nodes;
+	if (file_nodes != null && file_nodes.length > 0) {
+	    // Create model builder
+	    MetadataAuditTableModelBuilder builder = new MetadataAuditTableModelBuilder();
+	    builder.run();
+	}
+    }
+
+
+    private class MetadataAuditTableModelBuilder
+    {
+	// Build a list of MetadataAuditTableEntries that represent the metadata asssigned to the selected files
+	public void run()
+	{
+	    // Process each of the selected files in turn
+	    for (int i = 0; i < file_nodes.length; i++) {
+		File current_file = file_nodes[i].getFile();
+
+		// Get the metadata assigned to this file
+		ArrayList current_file_metadata = MetadataXMLFileManager.getMetadataAssignedToFile(current_file);
+
+		// Get the extracted metadata for this file, if desired
+		if (Configuration.get("general.view_extracted_metadata", Configuration.COLLECTION_SPECIFIC) == true) {
+		    current_file_metadata.addAll(DocXMLFileManager.getMetadataExtractedFromFile(current_file));
+		}
+
+		MetadataAuditTableEntry metadata_audit_table_entry = new MetadataAuditTableEntry(current_file, current_file_metadata);
+		metadata_audit_table_entries.add(metadata_audit_table_entry);
+	    }
+	}
+    }
+
+
+    /** This class represents one (file, metadata) pair */
+    private class MetadataAuditTableEntry
+    {
+	private File file = null;
+	private ArrayList[] metadata_values = null;
+
+
+	public MetadataAuditTableEntry(File file, ArrayList metadata_values_list)
+	{
+	    this.file = file;
+
+	    metadata_values = new ArrayList[metadata_elements.size()];
+	    for (int i = 0; i < metadata_values.length; i++) {
+		metadata_values[i] = new ArrayList();
+	    }
+
+	    for (int i = 0; i < metadata_values_list.size(); i++) {
+		MetadataValue metadata_value = (MetadataValue) metadata_values_list.get(i);
+		MetadataElement metadata_element = metadata_value.getMetadataElement();
+
+		// Find the right column to put the value in
+		for (int j = 0; j < metadata_elements.size(); j++) {
+		    if (metadata_element.equals(metadata_elements.get(j))) {
+			metadata_values[j].add(metadata_value);
+			break;
+		    }
+		}
+	    }
+	}
+
+
+	public String getFilename()
+	{
+	    return file.getName();
+	}
+
+
+ 	public MetadataValueTreeNode[] getMetadataValueTreeNodes(int metadata_element_index)
+ 	{
+	    ArrayList metadata_values_list = metadata_values[metadata_element_index];
+ 	    if (metadata_values_list == null) {
+ 		return null;
+ 	    }
+
+	    MetadataValueTreeNode[] metadata_value_tree_nodes = new MetadataValueTreeNode[metadata_values_list.size()];
+	    for (int i = 0; i < metadata_values_list.size(); i++) {
+		metadata_value_tree_nodes[i] = ((MetadataValue) metadata_values_list.get(i)).getMetadataValueTreeNode();
+	    }
+
+ 	    return metadata_value_tree_nodes;
+ 	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataChangedListener.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataChangedListener.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataChangedListener.java	(revision 21123)
@@ -0,0 +1,37 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2005 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+
+import org.greenstone.gatherer.collection.CollectionTreeNode;
+
+
+public interface MetadataChangedListener
+{
+    /** Notification that the metadata assigned to the collection has changed. */
+    public void metadataChanged(CollectionTreeNode[] file_nodes);
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataElement.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataElement.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataElement.java	(revision 21123)
@@ -0,0 +1,217 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+
+import java.io.File;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.util.XMLTools;
+import org.greenstone.gatherer.util.StaticStrings;
+import org.w3c.dom.*;
+
+
+/** This class represents one Metadata element */
+public class MetadataElement
+{
+    // Language-independent metadata element name, with namespace (eg. dc.Subject)
+    private String metadata_element_name_full = null;
+    private Element metadata_element_element = null;
+    private MetadataValueTreeModel metadata_value_tree_model = null;
+    /* this is true if the metadata element comes with a pre defined set of values */
+    private boolean predefined_values = false;
+    /* This restricts the user to only the predefined values */
+    private boolean restricted_values = false;
+
+    public MetadataElement(String metadata_element_name_full, Element metadata_element_element)
+    {
+	this.metadata_element_name_full = metadata_element_name_full;
+	this.metadata_element_element = metadata_element_element;
+	this.metadata_value_tree_model = new MetadataValueTreeModel(this);
+	if (metadata_element_element != null) {
+	    if (metadata_element_element.getAttribute(StaticStrings.PREDEFINED_METADATA_ATTRIBUTE).equals("true")) {
+		predefined_values = true;
+		loadOptionList();
+		if (metadata_element_element.getAttribute(StaticStrings.RESTRICTED_METADATA_ATTRIBUTE).equals("true")) {
+		    // cant have restricted values if no predefined values
+		    restricted_values = true;
+		}
+	    }
+	}
+    }
+	
+    // do this better
+    protected boolean loadOptionList() {
+	NodeList values = metadata_element_element.getElementsByTagName("Value");
+	for (int i=0; i<values.getLength(); i++) {
+	    String val = XMLTools.getValue(values.item(i));
+	    addMetadataValue(val);
+	}
+	return true;
+    }
+    public MetadataValueTreeNode addMetadataValue(String metadata_value)
+    {
+	return metadata_value_tree_model.addMetadataValue(metadata_value);
+    }
+
+
+    public String getAttribute(String attribute_name, String language_code)
+    {
+	// Some extracted metadata elements may not be in ex.mds, and so have no attributes
+	if (metadata_element_element == null) {
+	    return null;
+	}
+
+	Element parent_element = metadata_element_element;
+	boolean language_matches = false;
+
+	NodeList language_elements_nodelist = metadata_element_element.getElementsByTagName("Language");
+	for (int i = 0; i < language_elements_nodelist.getLength(); i++) {
+	    Element current_language_element = (Element) language_elements_nodelist.item(i);
+	    String current_language_element_code = current_language_element.getAttribute("code");
+	    if (current_language_element_code.equals(language_code)) {
+		// Found language; use it for the next step
+		parent_element = current_language_element;
+		language_matches = true;
+		break;
+	    }
+	}
+
+	NodeList attribute_elements_nodelist = parent_element.getElementsByTagName("Attribute");
+	for (int i = 0; i < attribute_elements_nodelist.getLength(); i++) {
+	    Element current_attribute_element = (Element) attribute_elements_nodelist.item(i);
+	    String current_attribute_element_name = current_attribute_element.getAttribute("name");
+	    if (!current_attribute_element_name.equals(attribute_name)) {
+		// Move on to the next Attribute element if the name doesn't match
+		continue;
+	    }
+
+	    // Check if the language matches
+	    String current_attribute_element_language = current_attribute_element.getAttribute("language");
+	    if (language_matches || current_attribute_element_language.equals(language_code)) {
+		// Found attribute; returns its value
+		return XMLTools.getElementTextValue(current_attribute_element);
+	    }
+	}
+
+	return null;
+    }
+
+
+    /** Returns language-dependent metadata element name, with namespace (eg. dc.Subject and Keywords) */ 
+    public String getDisplayName()
+    {
+	// now we use label, previously we used identifier
+	String metadata_element_display_name = MetadataTools.getMetadataElementAttribute(this, "label", Configuration.getLanguage(), "en");
+	if (metadata_element_display_name == null) {
+	    // try identifier
+	    metadata_element_display_name = MetadataTools.getMetadataElementAttribute(this, "identifier", Configuration.getLanguage(), "en");
+	}
+	// Root case (no subelements)
+	if (metadata_element_name_full.indexOf(MetadataTools.SUBELEMENT_SEPARATOR) == -1) {
+	    if (metadata_element_display_name != null) {
+		return getNamespace() + "." + metadata_element_display_name;
+	    }
+
+	    return metadata_element_name_full;
+	}
+
+	// Recursive case (hierarchical metadata elements)
+	else {
+	    String parent_metadata_element_name_full = metadata_element_name_full.substring(0, metadata_element_name_full.lastIndexOf(MetadataTools.SUBELEMENT_SEPARATOR));
+	    MetadataElement parent_metadata_element = MetadataTools.getMetadataElementWithName(parent_metadata_element_name_full);
+
+	    String parent_metadata_element_display_name = parent_metadata_element_name_full;
+	    if (parent_metadata_element != null) {
+		parent_metadata_element_display_name = parent_metadata_element.getDisplayName();
+	    }
+
+	    if (metadata_element_display_name != null) {
+		return parent_metadata_element_display_name + MetadataTools.SUBELEMENT_SEPARATOR + metadata_element_display_name;
+	    }
+
+	    return parent_metadata_element_display_name + metadata_element_name_full.substring(parent_metadata_element_name_full.length());
+	}
+    }
+
+
+    public MetadataValueTreeModel getMetadataValueTreeModel()
+    {
+	return metadata_value_tree_model;
+    }
+
+
+    public MetadataValueTreeNode getMetadataValueTreeNode(String metadata_value)
+    {
+	return metadata_value_tree_model.getMetadataValueTreeNode(metadata_value);
+    }
+
+
+    /** Returns language-independent metadata element name, with namespace (eg. dc.Subject) */
+    public String getFullName()
+    {
+	return metadata_element_name_full;
+    }
+
+
+    public String getNamespace()
+    {
+	return MetadataTools.getMetadataSetNamespace(metadata_element_name_full);
+    }
+
+
+    /** Returns language-independent metadata element name, *without* namespace (eg. Subject) */
+    public String getName()
+    {
+	return MetadataTools.getMetadataElementName(metadata_element_name_full);
+    }
+
+
+    public boolean isExtractedMetadataElement()
+    {
+	return getNamespace().equals(MetadataSetManager.EXTRACTED_METADATA_NAMESPACE);
+    }
+
+    public boolean isPredefined() {
+	return predefined_values;
+    }
+
+    public boolean isRestricted() {
+	return restricted_values;
+    }
+
+    public boolean isSubelement()
+    {
+	return (metadata_element_name_full.indexOf(MetadataTools.SUBELEMENT_SEPARATOR) != -1);
+    }
+
+
+    /** This is used to display the element in the metadata value table */
+    public String toString()
+    {
+	return getDisplayName();
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataSet.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataSet.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataSet.java	(revision 21123)
@@ -0,0 +1,226 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+
+import java.io.File;
+import java.util.*;
+import javax.swing.filechooser.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+
+/** This class represents one metadata set */
+public class MetadataSet
+{
+    private File metadata_set_file = null;
+    private ArrayList metadata_set_elements = new ArrayList();
+    private String metadata_set_namespace = null;
+
+
+    public MetadataSet(File metadata_set_file)
+    {
+	this.metadata_set_file = metadata_set_file;
+
+	// Parse the specified metadata set file
+	Document document = XMLTools.parseXMLFile(metadata_set_file);
+	if (document == null) {
+	    System.err.println("Error: Could not parse metadata set file " + metadata_set_file.getAbsolutePath());
+	    return;
+	}
+
+	// Read the metadata set's namespace
+	metadata_set_namespace = document.getDocumentElement().getAttribute("namespace");
+
+	// Read the Element elements in the metadata set
+	NodeList element_elements_nodelist = document.getElementsByTagName("Element");
+	for (int i = 0; i < element_elements_nodelist.getLength(); i++) {
+	    Element metadata_element_element = (Element) element_elements_nodelist.item(i);
+	    String metadata_element_name = metadata_element_element.getAttribute("name");
+
+	    // Deal with hierarchical metadata elements
+	    Element parent_metadata_element_element = (Element) metadata_element_element.getParentNode();
+	    while (parent_metadata_element_element.getTagName().equals("Element")) {
+		String parent_metadata_element_name = parent_metadata_element_element.getAttribute("name");
+		metadata_element_name = parent_metadata_element_name + MetadataTools.SUBELEMENT_SEPARATOR + metadata_element_name;
+		parent_metadata_element_element = (Element) parent_metadata_element_element.getParentNode();
+	    }
+
+	    String metadata_element_name_full = metadata_set_namespace + MetadataTools.NAMESPACE_SEPARATOR + metadata_element_name;
+	    metadata_set_elements.add(new MetadataElement(metadata_element_name_full, metadata_element_element));
+	}
+    }
+
+
+    public MetadataElement addMetadataElementForThisSession(String metadata_element_name)
+    {
+	String metadata_element_name_full = metadata_set_namespace + MetadataTools.NAMESPACE_SEPARATOR + metadata_element_name;
+	MetadataElement metadata_element = new MetadataElement(metadata_element_name_full, null);
+	metadata_set_elements.add(metadata_element);
+	return metadata_element;
+    }
+
+
+    public int compareMetadataElements(MetadataElement metadata_element_a, MetadataElement metadata_element_b)
+    {
+	// Extracted metadata is sorted alphabetically
+	if (metadata_set_namespace.equals(MetadataSetManager.EXTRACTED_METADATA_NAMESPACE)) {
+	    return metadata_element_a.getName().compareTo(metadata_element_b.getName());
+	}
+
+	// Elements in metadata sets are sorted according to the other they are specified in the .mds file
+	return metadata_set_elements.indexOf(metadata_element_a) - metadata_set_elements.indexOf(metadata_element_b);
+    }
+
+    /** we consider MetadataSets to be equal if their names and namespaces match */
+    public boolean equals(Object obj) {
+	if (obj instanceof MetadataSet) {
+	    return toString().equals(obj.toString());
+	}
+	return false;
+    }
+
+
+    public String getAttribute(String attribute_name, String language_code)
+    {
+	// Parse the specified metadata set file
+	Document document = XMLTools.parseXMLFile(metadata_set_file);
+	if (document == null) {
+	    System.err.println("Error: Could not parse metadata set file " + metadata_set_file.getAbsolutePath());
+	    return null;
+	}
+
+	Element document_element = document.getDocumentElement();
+	Element parent_element = document_element;
+	boolean language_matches = false;
+
+	NodeList setlanguage_elements_nodelist = document_element.getElementsByTagName("SetLanguage");
+	for (int i = 0; i < setlanguage_elements_nodelist.getLength(); i++) {
+	    Element current_setlanguage_element = (Element) setlanguage_elements_nodelist.item(i);
+	    String current_setlanguage_element_code = current_setlanguage_element.getAttribute("code");
+	    if (current_setlanguage_element_code.equals(language_code)) {
+		// Found language; use it for the next step
+		parent_element = current_setlanguage_element;
+		language_matches = true;
+		break;
+	    }
+	}
+
+	NodeList attribute_elements_nodelist = parent_element.getElementsByTagName(attribute_name);
+	for (int i = 0; i < attribute_elements_nodelist.getLength(); i++) {
+	    Element current_attribute_element = (Element) attribute_elements_nodelist.item(i);
+
+	    // Check if the language matches
+	    String current_attribute_element_language = current_attribute_element.getAttribute("language");
+	    if (language_matches || current_attribute_element_language.equals(language_code)) {
+		// Found attribute; returns its value
+		return XMLTools.getElementTextValue(current_attribute_element);
+	    }
+	}
+
+	return null;
+    }
+
+
+    public MetadataElement getMetadataElementWithDisplayName(String metadata_element_display_name_full)
+    {
+	// Find the desired metadata element in the list
+	for (int i = 0; i < metadata_set_elements.size(); i++) {
+	    MetadataElement metadata_element = (MetadataElement) metadata_set_elements.get(i);
+	    if (metadata_element.getDisplayName().equals(metadata_element_display_name_full)) {
+		return metadata_element;
+	    }
+	}
+
+	// Not found
+	return null;
+    }
+
+
+    public MetadataElement getMetadataElementWithName(String metadata_element_name)
+    {
+	// Find the desired metadata element in the list
+	for (int i = 0; i < metadata_set_elements.size(); i++) {
+	    MetadataElement metadata_element = (MetadataElement) metadata_set_elements.get(i);
+	    if (metadata_element.getName().equals(metadata_element_name)) {
+		return metadata_element;
+	    }
+	}
+
+	// Not found
+	return null;
+    }
+
+
+    public ArrayList getMetadataSetElements()
+    {
+	// We don't want anyone to modify the list, so return a copy of it
+	return (ArrayList) metadata_set_elements.clone();
+    }
+
+
+    public File getMetadataSetFile()
+    {
+	return metadata_set_file;
+    }
+
+
+    public String getNamespace()
+    {
+	return metadata_set_namespace;
+    }
+
+
+    /** This is used to display the metadata set in the metadata import mapping and explode metadata prompts */
+    public String toString()
+    {
+	return MetadataTools.getMetadataSetAttribute(this, "Name", Configuration.getLanguage(), "en") + " (" + metadata_set_namespace + ")";
+    }
+
+
+    static public class MetadataSetFileFilter
+	extends FileFilter
+    {
+	public boolean accept(File file)
+	{
+	    String file_name = file.getName().toLowerCase();
+	    if (file_name.endsWith(".mds") || file_name.indexOf(".") == -1) {
+		return true;
+	    }
+
+	    return false;
+	}
+
+
+	public String getDescription()
+	{
+	    return Dictionary.get("MetadataSet.Files");
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataSetManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataSetManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataSetManager.java	(revision 21123)
@@ -0,0 +1,214 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+
+import java.io.*;
+import java.util.*;
+import org.greenstone.gatherer.gui.MetadataImportMappingPrompt;
+
+
+/** This class is a static class that manages the metadata sets */
+public class MetadataSetManager
+{
+    static public final String EXTRACTED_METADATA_NAMESPACE = "ex";
+    static public final String EXPLODED_METADATA_NAMESPACE = "exp";
+
+    static private ArrayList metadata_sets = new ArrayList();
+
+
+    static public void clearMetadataSets()
+    {
+	metadata_sets.clear();
+    }
+
+
+    static public int compareMetadataElements(MetadataElement metadata_element_a, MetadataElement metadata_element_b)
+    {
+	// First compare the namespaces of the two metadata elements
+	if (!metadata_element_a.getNamespace().equals(metadata_element_b.getNamespace())) {
+	  if (metadata_element_a.getNamespace().equals(EXTRACTED_METADATA_NAMESPACE)) {
+	    return 1;
+	  }
+	  if (metadata_element_b.getNamespace().equals(EXTRACTED_METADATA_NAMESPACE)) {
+	    return -1;
+	  }
+	  return metadata_element_a.getNamespace().compareTo(metadata_element_b.getNamespace());
+	}
+
+	// Otherwise compare the two elements within the one set
+	MetadataSet metadata_set = getMetadataSet(metadata_element_a.getNamespace());
+	return metadata_set.compareMetadataElements(metadata_element_a, metadata_element_b);
+    }
+
+
+    static public ArrayList getEveryMetadataSetElement()
+    {
+	ArrayList every_metadata_set_element = new ArrayList();
+
+	for (int i = 0; i < metadata_sets.size(); i++) {
+	    MetadataSet metadata_set = (MetadataSet) metadata_sets.get(i);
+	    every_metadata_set_element.addAll(metadata_set.getMetadataSetElements());
+	}
+
+	return every_metadata_set_element;
+    }
+
+
+    static public MetadataSet getMetadataSet(String metadata_set_namespace)
+    {
+	// Find the desired metadata set in the list
+	for (int i = 0; i < metadata_sets.size(); i++) {
+	    MetadataSet metadata_set = (MetadataSet) metadata_sets.get(i);
+	    if (metadata_set.getNamespace().equals(metadata_set_namespace)) {
+		return metadata_set;
+	    }
+	}
+
+	// Not found
+	return null;
+    }
+
+
+    static public ArrayList getMetadataSets()
+    {
+	// We don't want anyone to modify the list, so return a copy of it
+	return (ArrayList) metadata_sets.clone();
+    }
+
+
+    static public ArrayList listMetadataSets(File directory)
+    {
+	// Make sure the directory (metadata) exists
+	if (directory.exists() == false) {
+	    return null;
+	}
+
+	// Load just those .mds files in this directory, and return them
+	ArrayList directory_metadata_sets = new ArrayList();
+	File[] directory_files = directory.listFiles();
+	for (int i = 0; i < directory_files.length; i++) {
+	    File child_file = directory_files[i];
+	    if (!child_file.isDirectory() && child_file.getName().endsWith(".mds")) {
+		MetadataSet metadata_set = new MetadataSet(child_file);
+		directory_metadata_sets.add(metadata_set);
+	    }
+	}
+
+	return directory_metadata_sets;
+    }
+
+
+    static public void loadMetadataSets(File directory)
+    {
+	// Make sure the directory (metadata) exists
+	if (directory.exists() == false) {
+	    return;
+	}
+
+	// Look recursively at each subfile of the directory for .mds files
+	File[] directory_files = directory.listFiles();
+	for (int i = 0; i < directory_files.length; i++) {
+	    File child_file = directory_files[i];
+	    if (child_file.isDirectory()) {
+		loadMetadataSets(child_file);
+	    }
+	    else if (child_file.getName().endsWith(".mds")) {
+		loadMetadataSet(child_file);
+	    }
+	}
+    }
+
+
+    static public void loadMetadataSet(File metadata_set_file)
+    {
+	MetadataSet metadata_set = new MetadataSet(metadata_set_file);
+
+	// Ignore legacy crap
+	if (metadata_set.getNamespace().equals("hidden")) {
+	    return;
+	}
+
+	metadata_sets.add(metadata_set);
+    }
+
+
+    static public String mapUnloadedMetadataElement(String metadata_element_name_full)
+    {
+	// Check if we have an import mapping for this metadata element
+	String target_metadata_element_name_full = ProfileXMLFileManager.getMetadataElementFor(metadata_element_name_full);
+	if (target_metadata_element_name_full != null) {
+	    // Yes, so return it
+	    return target_metadata_element_name_full;
+	}
+
+	// If there are no metadata sets (except extracted) loaded then there is nothing to map the element into
+	if (metadata_sets.size() <= 1) {
+	    return null;
+	}
+
+	// Ask the user how they want to deal with this element
+	MetadataImportMappingPrompt metadata_import_mapping_prompt = new MetadataImportMappingPrompt(metadata_element_name_full);
+	int result = metadata_import_mapping_prompt.getResult();
+
+	// Add the element into an existing metadata set
+	if (result == MetadataImportMappingPrompt.ADD_BUTTON_PRESSED) {
+	    MetadataSet target_metadata_set = metadata_import_mapping_prompt.getSelectedMetadataSet();
+	    String metadata_element_name = MetadataTools.getMetadataElementName(metadata_element_name_full);
+	    target_metadata_set.addMetadataElementForThisSession(metadata_element_name);
+	    target_metadata_element_name_full = target_metadata_set.getNamespace() + "." + metadata_element_name;
+	}
+
+	// Replace the element with an element in an existing metadata set
+	if (result == MetadataImportMappingPrompt.MERGE_BUTTON_PRESSED) {
+	    MetadataElement target_metadata_element = metadata_import_mapping_prompt.getSelectedMetadataElement();
+	    target_metadata_element_name_full = target_metadata_element.getFullName();
+	}
+
+	// Ignore the element
+	if (result == MetadataImportMappingPrompt.IGNORE_BUTTON_PRESSED) {
+	    target_metadata_element_name_full = "";
+	}
+
+	// Store this import mapping for future elements with the same name
+	ProfileXMLFileManager.mapElement(metadata_element_name_full, target_metadata_element_name_full);
+
+	return target_metadata_element_name_full;
+    }
+
+
+    static public void unloadMetadataSet(MetadataSet metadata_set)
+    {
+	// Find the metadata set in the list of loaded sets, and remove it
+	for (int i = 0; i < metadata_sets.size(); i++) {
+	    if (metadata_set == (MetadataSet) metadata_sets.get(i)) {
+		metadata_sets.remove(i);
+		break;
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataTools.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataTools.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataTools.java	(revision 21123)
@@ -0,0 +1,189 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+import java.util.StringTokenizer;
+
+/** This class is a static class containing useful metadata functions */
+public class MetadataTools
+{
+    static final public String NAMESPACE_SEPARATOR = ".";
+    static final public String SUBELEMENT_SEPARATOR = "^";
+
+
+    static public String getDisplayNameForMetadataElementWithName(String metadata_element_name_full)
+    {
+	MetadataElement metadata_element = getMetadataElementWithName(metadata_element_name_full);
+	if (metadata_element != null) {
+	    return metadata_element.getDisplayName();
+	}
+
+	return metadata_element_name_full;
+    }
+
+
+    static public String getMetadataElementAttribute(MetadataElement metadata_element, String attribute_name, String language_code, String fallback_language_code)
+    {
+	String metadata_element_attribute = metadata_element.getAttribute(attribute_name, language_code);
+
+	// If the attribute isn't defined in the desired language, resort to the fallback
+	if (metadata_element_attribute == null && !language_code.equals(fallback_language_code)) {
+	    metadata_element_attribute = metadata_element.getAttribute(attribute_name, fallback_language_code);
+	}
+
+	return metadata_element_attribute;
+    }
+
+
+    static public String getMetadataElementName(String metadata_element_name_full)
+    {
+	// Full element name contains namespace
+	if (metadata_element_name_full.indexOf(NAMESPACE_SEPARATOR) != -1) {
+	    return metadata_element_name_full.substring(metadata_element_name_full.indexOf(NAMESPACE_SEPARATOR) + 1);
+	}
+
+	// No namespace
+	return metadata_element_name_full;      
+    }
+
+
+    static public MetadataElement getMetadataElementWithDisplayName(String metadata_element_display_name_full)
+    {
+	String metadata_set_namespace = getMetadataSetNamespace(metadata_element_display_name_full);
+	MetadataSet metadata_set = MetadataSetManager.getMetadataSet(metadata_set_namespace);
+	if (metadata_set == null) {
+	    return null;
+	}
+
+	return metadata_set.getMetadataElementWithDisplayName(metadata_element_display_name_full);
+    }
+
+
+    static public MetadataElement getMetadataElementWithName(String metadata_element_name_full)
+    {
+	String metadata_set_namespace = getMetadataSetNamespace(metadata_element_name_full);
+	MetadataSet metadata_set = MetadataSetManager.getMetadataSet(metadata_set_namespace);
+	if (metadata_set == null) {
+	    return null;
+	}
+
+	String metadata_element_name = getMetadataElementName(metadata_element_name_full);
+	return metadata_set.getMetadataElementWithName(metadata_element_name);
+    }
+
+
+    static public String getMetadataSetAttribute(MetadataSet metadata_set, String attribute_name, String language_code, String fallback_language_code)
+    {
+	String metadata_set_attribute = metadata_set.getAttribute(attribute_name, language_code);
+
+	// If the attribute isn't defined in the desired language, resort to the fallback
+	if (metadata_set_attribute == null && !language_code.equals(fallback_language_code)) {
+	    metadata_set_attribute = metadata_set.getAttribute(attribute_name, fallback_language_code);
+	}
+
+	return metadata_set_attribute;
+    }
+
+
+    static public String getMetadataSetNamespace(String metadata_element_name_full)
+    {
+	// Full element name contains namespace
+	if (metadata_element_name_full.indexOf(NAMESPACE_SEPARATOR) != -1) {
+	    return metadata_element_name_full.substring(0, metadata_element_name_full.indexOf(NAMESPACE_SEPARATOR));
+	}
+
+	// No namespace
+	return "";
+    }
+
+
+    static public String getRegularExpressionThatMatchesFilePath(String file_path)
+    {
+	// Convert the file path into a regular expression that will match it
+	String file_path_regexp = file_path;
+	file_path_regexp = file_path_regexp.replaceAll("\\.", "\\\\.");
+	file_path_regexp = file_path_regexp.replaceAll("\\(", "\\\\(");
+	file_path_regexp = file_path_regexp.replaceAll("\\)", "\\\\)");
+	file_path_regexp = file_path_regexp.replaceAll("\\[", "\\\\[");
+	file_path_regexp = file_path_regexp.replaceAll("\\]", "\\\\]");
+	file_path_regexp = file_path_regexp.replaceAll("\\{", "\\\\{");
+	file_path_regexp = file_path_regexp.replaceAll("\\}", "\\\\}");
+	file_path_regexp = file_path_regexp.replaceAll("\\+", "\\\\+");
+	return file_path_regexp;
+    }
+
+    static public boolean TO_DISPLAY_NAMES = true;
+    static public boolean FROM_DISPLAY_NAMES = false;
+
+    static public String convertMetadataElementListNames(String value_str, boolean to_display) {
+	if (value_str == null || value_str.length () == 0) {
+	    return value_str;
+	}
+    
+    // final true arg to return delims as tokens
+    StringTokenizer string_tokenizer = new StringTokenizer (value_str, ",;/", true);
+    StringBuffer value_buffer = new StringBuffer ();
+    while (string_tokenizer.hasMoreElements ()) {
+      String raw_token = (String) string_tokenizer.nextElement ();
+      String token = raw_token.trim ();
+      boolean modified_token = false;
+      // not a delimiter token
+      if (!raw_token.equals(",") && !raw_token.equals(";") && !raw_token.equals("/")) {
+	  MetadataElement meta_elem = null;
+	  if (to_display) {
+	     meta_elem = getMetadataElementWithName(token);
+	     if (meta_elem !=null) {
+		 token = meta_elem.getDisplayName();
+		 modified_token = true;
+	     }
+	  } else {
+	      meta_elem = getMetadataElementWithDisplayName(token);
+	      
+	      if (meta_elem != null) {
+		  token = meta_elem.getFullName ();
+		  modified_token = true;
+	      }
+	  }
+      }
+      if (modified_token) {
+	value_buffer.append (token);
+      } else {
+	// we may have had whitespace etc that was part of the string
+	value_buffer.append (raw_token);
+      }
+    }
+    
+    
+    if(value_buffer.length () == 0) {
+      return "";
+    }
+    return value_buffer.toString();
+    }
+ 
+
+}
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataValue.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataValue.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataValue.java	(revision 21123)
@@ -0,0 +1,132 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+
+import java.io.*;
+
+
+/** This class represents one metadata (element, value) pair */
+public class MetadataValue
+    implements Comparable
+{
+    /** The folder that this piece of metadata was inherited from, if applicable */
+    private File folder_metadata_inherited_from = null;
+    private MetadataElement metadata_element = null;
+    private MetadataValueTreeNode metadata_value_tree_node = null;
+    private boolean is_accumulating_metadata = false;
+    /** Whether this metadata applies to only one file (ie. there are no wildcards in the FileSet value) */
+    private boolean is_one_file_only_metadata = true;
+
+
+    public MetadataValue(MetadataElement metadata_element, MetadataValueTreeNode metadata_value_tree_node)
+    {
+	this.metadata_element = metadata_element;
+	this.metadata_value_tree_node = metadata_value_tree_node;
+    }
+
+
+    public int compareTo(Object metadata_value_object)
+    {
+	MetadataValue metadata_value = (MetadataValue) metadata_value_object;
+
+	// First compare the metadata elements
+	int c = MetadataSetManager.compareMetadataElements(this.getMetadataElement(), metadata_value.getMetadataElement());
+	if (c != 0) {
+	    return c;
+	}
+
+	// Then use the metadata values
+	return this.getFullValue().compareTo(metadata_value.getFullValue());
+    }
+
+
+    public File getFolderMetadataInheritedFrom()
+    {
+	return folder_metadata_inherited_from;
+    }
+
+
+    public MetadataElement getMetadataElement()
+    {
+	return metadata_element;
+    }
+
+
+    public String getFullValue()
+    {
+	return metadata_value_tree_node.getFullValue();
+    }
+
+
+    public String getValue()
+    {
+	return metadata_value_tree_node.getValue();
+    }
+
+
+    public MetadataValueTreeNode getMetadataValueTreeNode()
+    {
+	return metadata_value_tree_node;
+    }
+
+
+    public void inheritsMetadataFromFolder(File folder_metadata_inherited_from)
+    {
+	this.folder_metadata_inherited_from = folder_metadata_inherited_from;
+    }
+
+
+    public boolean isAccumulatingMetadata()
+    {
+	return is_accumulating_metadata;
+    }
+
+
+    public boolean isInheritedMetadata()
+    {
+	return (folder_metadata_inherited_from != null);
+    }
+
+
+    public boolean isOneFileOnlyMetadata()
+    {
+	return is_one_file_only_metadata;
+    }
+
+
+    public void setIsAccumulatingMetadata(boolean is_accumulating_metadata)
+    {
+	this.is_accumulating_metadata = is_accumulating_metadata;
+    }
+
+
+    public void setIsOneFileOnlyMetadata(boolean is_one_file_only_metadata)
+    {
+	this.is_one_file_only_metadata = is_one_file_only_metadata;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataValueTableEntry.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataValueTableEntry.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataValueTableEntry.java	(revision 21123)
@@ -0,0 +1,69 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2005 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+
+/** This class represents one entry in the metadata value table. */
+public class MetadataValueTableEntry
+    extends MetadataValue
+{
+    private int occurrences = 0;
+
+
+    public MetadataValueTableEntry(MetadataElement metadata_element, MetadataValueTreeNode metadata_value_tree_node)
+    {
+	super(metadata_element, metadata_value_tree_node);
+
+	occurrences = 1;
+    }
+
+
+    public MetadataValueTableEntry(MetadataValue metadata_value)
+    {
+	this(metadata_value.getMetadataElement(), metadata_value.getMetadataValueTreeNode());
+	inheritsMetadataFromFolder(metadata_value.getFolderMetadataInheritedFrom());
+	setIsOneFileOnlyMetadata(metadata_value.isOneFileOnlyMetadata());
+    }
+
+
+    public void anotherOccurrence()
+    {
+	occurrences++;
+    }
+
+
+    public int getOccurrences()
+    {
+	return occurrences;
+    }
+
+
+    public void setOccurrences(int occurrences)
+    {
+	this.occurrences = occurrences;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataValueTableModel.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataValueTableModel.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataValueTableModel.java	(revision 21123)
@@ -0,0 +1,478 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+
+import java.awt.*;
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.table.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionTreeNode;
+import org.greenstone.gatherer.gui.WarningDialog;
+
+
+public class MetadataValueTableModel
+    extends AbstractTableModel
+{
+    /** It is not expected that this class will ever be serialized */
+    private static final long serialVersionUID = 0L;
+
+    /** The CollectionTreeNodes this model is built for */
+    private CollectionTreeNode[] file_nodes = null;
+    /** The list of MetadataValueTableEntries in the table */
+    private ArrayList metadata_value_table_entries = new ArrayList();
+
+    static final private String[] COLUMN_NAMES = { "", Dictionary.get("Metadata.Element"), Dictionary.get("Metadata.Value") };
+
+
+    public int addBlankRowForMetadataElement(MetadataElement metadata_element)
+    {
+	MetadataValueTableModelBuilder metadata_value_table_model_builder = new MetadataValueTableModelBuilder();
+	MetadataValue blank_metadata_value = new MetadataValue(metadata_element, new MetadataValueTreeNode(""));
+	return metadata_value_table_model_builder.insertMetadataValue(blank_metadata_value);
+    }
+
+
+    public int findMetadataValueTableEntryToSelect(MetadataValueTableEntry metadata_value_table_entry)
+    {
+	MetadataElement metadata_element = metadata_value_table_entry.getMetadataElement();
+
+	// Find the correct entry to select
+	for (int i = 0; i < metadata_value_table_entries.size(); i++) {
+	    MetadataValueTableEntry current_metadata_value_table_entry = (MetadataValueTableEntry) metadata_value_table_entries.get(i);
+	    int element_comparison = MetadataSetManager.compareMetadataElements(current_metadata_value_table_entry.getMetadataElement(), metadata_element);
+
+	    // We've found the right element, so check if the value already exists
+	    if (element_comparison == 0) {
+		int value_comparison = current_metadata_value_table_entry.compareTo(metadata_value_table_entry);
+		if (value_comparison == 0) {
+		    // Entry found!
+		    return i;
+		}
+	    }
+
+	    // We've just gone past the correct entry to select
+	    if (element_comparison > 0) {
+		return i - 1;
+	    }
+	}
+
+	// Have to select the last entry
+	return metadata_value_table_entries.size() - 1;
+    }
+
+
+    public Class getColumnClass(int col)
+    {
+	return getValueAt(0, col).getClass();
+    }
+
+
+    /** Returns the number of columns in this table. */
+    public int getColumnCount()
+    {
+	return COLUMN_NAMES.length;
+    }
+
+
+    /** Retrieves the name of the specified column. */
+    public String getColumnName(int col)
+    {
+	return COLUMN_NAMES[col];
+    }
+
+
+    /* Called to retrieve the MetadataValueTableEntry at a certain row. Usually caused by the user selecting a row in the table. It is synchronized so that the model doesn't up and change while we're trying to retrieve the indicated element. */
+    public synchronized MetadataValueTableEntry getMetadataValueTableEntry(int row)
+    {
+	if (row >= 0 && row < metadata_value_table_entries.size()) {
+	    return (MetadataValueTableEntry) metadata_value_table_entries.get(row);
+	}
+
+	return null;
+    }
+
+
+    /** Returns the number of rows in this table. */
+    public int getRowCount()
+    {
+	return metadata_value_table_entries.size();
+    }
+
+
+    /** Returns the cell value at a given row and column as an Object. */
+    public Object getValueAt(int row, int col)
+    {
+	// Check values are reasonable
+	if (row < 0 || row >= metadata_value_table_entries.size() || col < 0 || col >= COLUMN_NAMES.length) {
+	    return null;
+	}
+
+	MetadataValueTableEntry metadata_value_table_entry = (MetadataValueTableEntry) metadata_value_table_entries.get(row);
+	if (col == 0 && metadata_value_table_entry.isInheritedMetadata()) {
+	    return metadata_value_table_entry.getFolderMetadataInheritedFrom();
+	}
+
+	if (col == 1) {
+	    return metadata_value_table_entry.getMetadataElement();
+	}
+
+	if (col == 2) {
+	    return metadata_value_table_entry.getFullValue();
+	}
+
+	return null;
+    }
+
+
+    public boolean isCellEditable(int row, int col)
+    {
+	// The inherited and element columns are never editable
+	if (col < 2) {
+	    return false;
+	}
+
+	// Extracted and inherited metadata is not editable
+	MetadataValueTableEntry metadata_value_table_entry = (MetadataValueTableEntry) metadata_value_table_entries.get(row);
+	if (metadata_value_table_entry.getMetadataElement().isExtractedMetadataElement() || metadata_value_table_entry.isInheritedMetadata()) {
+	    return false;
+	}
+
+	return true;
+    }
+
+
+    /** Determine if the given metadata is common to all selected file nodes. */
+    public boolean isCommon(MetadataValueTableEntry metadata_value_table_entry)
+    {
+	return (file_nodes != null && metadata_value_table_entry.getOccurrences() == file_nodes.length);
+    }
+
+
+    /** Determine if the given metadata is common to all selected file nodes. */
+    public boolean isCommon(int row)
+    {
+	if (row >= 0 && row < metadata_value_table_entries.size()) {
+	    return isCommon((MetadataValueTableEntry) metadata_value_table_entries.get(row));
+	}
+
+	return false;
+    }
+
+
+    public void rebuild(CollectionTreeNode[] file_nodes)
+    {
+	this.file_nodes = file_nodes;
+	metadata_value_table_entries.clear();
+
+	// Collection is in a state of flux
+	if (!Gatherer.c_man.ready()) {
+	    return;
+	}
+
+	if (file_nodes == null || file_nodes.length == 0) {
+	    return;
+	}
+
+	// Create model builder
+	MetadataValueTableModelBuilder builder = new MetadataValueTableModelBuilder();
+	builder.run();
+    }
+
+
+    public void setValueAt(Object new_metadata_value, int row, int col)
+    {
+	MetadataValueTableEntry metadata_value_table_entry = getMetadataValueTableEntry(row);
+
+	// If nothing has changed no action is necessary
+	String old_metadata_value = metadata_value_table_entry.getFullValue();
+	if (new_metadata_value.equals(old_metadata_value)) {
+	    return;
+	}
+
+	// Lock the interface so nothing can be changed while the metadata edit is being processed
+	Gatherer.g_man.wait(true);
+
+	
+	// Check for a restricted metadata element
+	MetadataElement metadata_element = metadata_value_table_entry.getMetadataElement();
+	if (!new_metadata_value.equals("") && metadata_element.isRestricted()) {
+	    if (metadata_element.getMetadataValueTreeNode((String)new_metadata_value)==null) {
+		WarningDialog dialog = new WarningDialog("warning.InvalidMetadata", Dictionary.get("InvalidMetadata.Title"), Dictionary.get("InvalidMetadata.Message"), null, false);
+		int dialog_result = dialog.display();
+		dialog.dispose();
+		Gatherer.g_man.wait(false);
+		return;
+		
+	    }
+	}
+	
+	// Metadata value added
+	if (old_metadata_value.equals("") && !new_metadata_value.equals("")) {    
+	    // If we're adding metadata to folders display the warning
+ 	    if (!file_nodes[0].isLeaf()) {
+ 		WarningDialog dialog = new WarningDialog("warning.DirectoryLevelMetadata", Dictionary.get("DirectoryLevelMetadata.Title"), Dictionary.get("DirectoryLevelMetadata.Message"), null, true);
+ 		int dialog_result = dialog.display();
+ 		dialog.dispose();
+ 		if (dialog_result != JOptionPane.OK_OPTION) {
+		    Gatherer.g_man.wait(false);
+ 		    return;
+ 		}
+ 	    }
+
+	    MetadataValueTreeNode metadata_value_tree_node = metadata_element.addMetadataValue((String) new_metadata_value);
+	    MetadataValue metadata_value = new MetadataValue(metadata_element, metadata_value_tree_node);
+	    metadata_value.setIsAccumulatingMetadata(true);
+	    (new AppendMetadataTask(metadata_value)).run();
+	}
+
+	// Metadata value removed
+	else if (!old_metadata_value.equals("") && new_metadata_value.equals("")) {
+	    (new RemoveMetadataTask(metadata_value_table_entry)).run();
+	}
+
+	// Metadata value replaced
+	else {
+	    MetadataValueTreeNode metadata_value_tree_node = metadata_element.addMetadataValue((String) new_metadata_value);
+	    MetadataValue metadata_value = new MetadataValue(metadata_element, metadata_value_tree_node);
+	    metadata_value.setIsAccumulatingMetadata(!metadata_value_table_entry.isInheritedMetadata());
+	    (new ReplaceMetadataTask(metadata_value_table_entry, metadata_value)).run();
+	}
+    }
+
+
+    private class AppendMetadataTask
+	// extends Thread
+    {
+	private MetadataValue metadata_value = null;
+
+	private AppendMetadataTask(MetadataValue metadata_value)
+	{
+	    this.metadata_value = metadata_value;
+	}
+
+	public void run()
+	{
+	    try {
+		// Edit metadata.xml files to add the metadata
+		MetadataXMLFileManager.addMetadata(file_nodes, metadata_value);
+	    }
+	    catch (Exception exception) {
+		// We need to catch any exceptions here so the interface is unlocked below
+		DebugStream.printStackTrace(exception);
+	    }
+
+	    // Operation finished, so turn busy cursor off and unlock interface
+	    Gatherer.g_man.wait(false);
+	}
+    }
+
+
+    private class ReplaceMetadataTask
+	// extends Thread
+    {
+	private MetadataValueTableEntry selected_metadata_value_table_entry = null;
+	private MetadataValue metadata_value = null;
+
+	private ReplaceMetadataTask(MetadataValueTableEntry selected_metadata_value_table_entry, MetadataValue metadata_value)
+	{
+	    this.selected_metadata_value_table_entry = selected_metadata_value_table_entry;
+	    this.metadata_value = metadata_value;
+	}
+
+	public void run()
+	{
+	    try {
+		// Edit metadata.xml files to replace the metadata
+		MetadataXMLFileManager.replaceMetadata(file_nodes, selected_metadata_value_table_entry, metadata_value);
+	    }
+	    catch (Exception exception) {
+		// We need to catch any exceptions here so the interface is unlocked below
+		DebugStream.printStackTrace(exception);
+	    }
+
+	    // Operation finished, so turn busy cursor off and unlock interface
+	    Gatherer.g_man.wait(false);
+	}
+    }
+
+
+    private class RemoveMetadataTask
+	// extends Thread
+    {
+	private MetadataValueTableEntry selected_metadata_value_table_entry = null;
+
+	private RemoveMetadataTask(MetadataValueTableEntry selected_metadata_value_table_entry)
+	{
+	    this.selected_metadata_value_table_entry = selected_metadata_value_table_entry;
+	}
+
+	public void run()
+	{
+	    try {
+		// Edit metadata.xml files to remove the metadata
+		MetadataXMLFileManager.removeMetadata(file_nodes, selected_metadata_value_table_entry);
+	    }
+	    catch (Exception exception) {
+		// We need to catch any exceptions here so the interface is unlocked below
+		DebugStream.printStackTrace(exception);
+	    }
+
+	    // Operation finished, so turn busy cursor off and unlock interface
+	    Gatherer.g_man.wait(false);
+	}
+    }
+
+
+    private class MetadataValueTableModelBuilder
+    {
+	public void run()
+	{
+	    // System.err.println("Building MetadataValueTableModel...");
+
+	    // Build a list of MetadataValueTableEntries that represent the metadata asssigned to the selected files
+	    boolean hid_extracted_metadata = false;
+	    ArrayList metadata_elements_seen = new ArrayList();
+
+	    // Process each of the selected files in turn
+	    for (int i = 0; i < file_nodes.length; i++) {
+		File current_file = file_nodes[i].getFile();
+
+		// Get the metadata assigned to this file
+		ArrayList assigned_metadata = MetadataXMLFileManager.getMetadataAssignedToFile(current_file);
+		for (int j = 0; j < assigned_metadata.size(); j++) {
+		    MetadataValue metadata_value = (MetadataValue) assigned_metadata.get(j);
+		    MetadataElement metadata_element = metadata_value.getMetadataElement();
+
+		    // Insert this metadata value into the table, unless it already exists (in which case increment its count)
+		    insertMetadataValue(metadata_value);
+
+		    // Remember we have seen this metadata element
+		    if (metadata_elements_seen.contains(metadata_element) == false) {
+			metadata_elements_seen.add(metadata_element);
+		    }
+		}
+
+		// Get the extracted metadata for this file, if desired
+		if (Configuration.get("general.view_extracted_metadata", Configuration.COLLECTION_SPECIFIC) == true) {
+		    ArrayList extracted_metadata = DocXMLFileManager.getMetadataExtractedFromFile(current_file);
+		    for (int k = 0; k < extracted_metadata.size(); k++) {
+			MetadataValue metadata_value = (MetadataValue) extracted_metadata.get(k);
+
+			// Insert this metadata value into the table, unless it already exists (in which case increment its count)
+			insertMetadataValue(metadata_value);
+		    }
+		}
+	    }
+
+	    // Make sure each non-extracted metadata element appears in the table (even if blank)
+	    ArrayList every_metadata_set_element = MetadataSetManager.getEveryMetadataSetElement();
+	    for (int i = 0; i < every_metadata_set_element.size(); i++) {
+		MetadataElement metadata_element = (MetadataElement) every_metadata_set_element.get(i);
+
+		// If we haven't seen this metadata element and it isn't extracted, add it now
+		if (!metadata_elements_seen.contains(metadata_element) && !metadata_element.isExtractedMetadataElement()) {
+		    MetadataValueTableEntry metadata_value_table_entry = new MetadataValueTableEntry(metadata_element, new MetadataValueTreeNode(""));
+
+		    // Blank metadata is common to all selected files (otherwise it wouldn't be blank!)
+		    metadata_value_table_entry.setOccurrences(file_nodes.length);
+
+		    // Add it to the table
+		    insertMetadataValueTableEntry(metadata_value_table_entry);
+		}
+	    }
+
+	    // If extracted metadata was hidden, display the warning
+	    if (hid_extracted_metadata) {
+		showExtractedMetadataWarning();
+	    }
+	}
+
+
+	/** Inserts the new metadata value into the table */
+	private int insertMetadataValue(MetadataValue metadata_value)
+	{
+	    return insertMetadataValueTableEntry(new MetadataValueTableEntry(metadata_value));
+	}
+
+
+	/** Inserts the new metadata value table entry into the table */
+	private int insertMetadataValueTableEntry(MetadataValueTableEntry metadata_value_table_entry)
+	{
+	    MetadataElement metadata_element = metadata_value_table_entry.getMetadataElement();
+
+	    // Find the correct place to insert the table entry
+	    for (int i = 0; i < metadata_value_table_entries.size(); i++) {
+		MetadataValueTableEntry current_metadata_value_table_entry = (MetadataValueTableEntry) metadata_value_table_entries.get(i);
+		int element_comparison = MetadataSetManager.compareMetadataElements(current_metadata_value_table_entry.getMetadataElement(), metadata_element);
+
+		// We've found the right element, so check if the value already exists
+		if (element_comparison == 0) {
+		    int value_comparison = current_metadata_value_table_entry.compareTo(metadata_value_table_entry);
+		    if (value_comparison == 0) {
+			// Entry already exists, so increment count (except for blank entries)
+			if (!metadata_value_table_entry.getFullValue().equals("")) {
+			    current_metadata_value_table_entry.anotherOccurrence();
+			}
+			return i;
+		    }
+		}
+
+		// Found insertion point
+		if (element_comparison > 0) {
+		    metadata_value_table_entries.add(i, metadata_value_table_entry);
+		    fireTableRowsInserted(i, i);
+		    return i;
+		}
+	    }
+
+	    // Must go at the end of the table
+	    metadata_value_table_entries.add(metadata_value_table_entry);
+	    fireTableRowsInserted(metadata_value_table_entries.size() - 1, metadata_value_table_entries.size() - 1);
+	    return metadata_value_table_entries.size() - 1;
+	}
+
+
+	private void showExtractedMetadataWarning()
+	{
+	    Runnable task = new Runnable() {
+		    public void run() {
+			WarningDialog dialog = new WarningDialog("warning.ExtractedMetadata", Dictionary.get("ExtractedMetadata.Title"), Dictionary.get("ExtractedMetadata.Message"), null, false);
+			dialog.display();
+			dialog.dispose();
+			dialog = null;
+		    }
+		};
+	    SwingUtilities.invokeLater(task);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataValueTreeModel.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataValueTreeModel.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataValueTreeModel.java	(revision 21123)
@@ -0,0 +1,137 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+
+import java.io.*;
+import java.util.*;
+import javax.swing.tree.*;
+
+
+/** This class represents all the metadata values for one metadata element */
+public class MetadataValueTreeModel
+    extends DefaultTreeModel
+{
+    public MetadataValueTreeModel(MetadataElement metadata_element)
+    {
+	// The root node of the value tree is the MetadataElement it represents
+	super(new MetadataValueTreeNode(metadata_element));
+    }
+
+
+    public MetadataValueTreeNode addMetadataValue(String metadata_value)
+    {
+	return addMetadataValueInternal((MetadataValueTreeNode) root, metadata_value);
+    }
+
+
+    private MetadataValueTreeNode addMetadataValueInternal(MetadataValueTreeNode parent_metadata_value_tree_node, String metadata_value_remaining)
+    {
+	// Split the metadata value into a hierarchy
+	int split_point = metadata_value_remaining.indexOf(MetadataValueTreeNode.METADATA_VALUE_TREE_NODE_HIERARCHY_TOKEN);
+	String metadata_value = ((split_point == -1) ? metadata_value_remaining : metadata_value_remaining.substring(0, split_point));
+	metadata_value_remaining = ((split_point == -1) ? "" : metadata_value_remaining.substring(split_point + 1));
+
+	// Add the value into the tree in the correct place (sorted)
+	MetadataValueTreeNode metadata_value_tree_node = null;
+	for (int i = 0; i < parent_metadata_value_tree_node.getChildCount(); i++) {
+	    MetadataValueTreeNode child_metadata_value_tree_node = (MetadataValueTreeNode) parent_metadata_value_tree_node.getChildAt(i);
+	    int c = metadata_value.compareTo(child_metadata_value_tree_node.getValue());
+
+	    // Insert node before existing value
+	    if (c < 0) {
+		metadata_value_tree_node = new MetadataValueTreeNode(metadata_value);
+		insertNodeInto(metadata_value_tree_node, parent_metadata_value_tree_node, i);
+		break;
+	    }
+
+	    // Node already exists (don't add again)
+	    if (c == 0) {
+		metadata_value_tree_node = child_metadata_value_tree_node;
+		break;
+	    }
+	}
+
+	// If no node has been added yet, it must go at the end of the list
+	if (metadata_value_tree_node == null) {
+	    metadata_value_tree_node = new MetadataValueTreeNode(metadata_value);
+	    insertNodeInto(metadata_value_tree_node, parent_metadata_value_tree_node, parent_metadata_value_tree_node.getChildCount());
+	}
+
+	// If there is some of the metadata value remaining, add that hierarchically
+	if (!metadata_value_remaining.equals("")) {
+	    metadata_value_tree_node = addMetadataValueInternal(metadata_value_tree_node, metadata_value_remaining);
+	}
+
+	return metadata_value_tree_node;
+    }
+
+
+    public MetadataValueTreeNode getMetadataValueTreeNode(String metadata_value)
+    {
+	return getMetadataValueTreeNodeInternal((MetadataValueTreeNode) root, metadata_value);
+    }
+
+
+    private MetadataValueTreeNode getMetadataValueTreeNodeInternal(MetadataValueTreeNode parent_metadata_value_tree_node, String metadata_value_remaining)
+    {
+	// Split the metadata value into a hierarchy
+	int split_point = metadata_value_remaining.indexOf(MetadataValueTreeNode.METADATA_VALUE_TREE_NODE_HIERARCHY_TOKEN);
+	String metadata_value = ((split_point == -1) ? metadata_value_remaining : metadata_value_remaining.substring(0, split_point));
+	metadata_value_remaining = ((split_point == -1) ? "" : metadata_value_remaining.substring(split_point + 1));
+
+	// Find the value in the tree in the correct place (sorted)
+	MetadataValueTreeNode metadata_value_tree_node = null;
+	for (int i = 0; i < parent_metadata_value_tree_node.getChildCount(); i++) {
+	    MetadataValueTreeNode child_metadata_value_tree_node = (MetadataValueTreeNode) parent_metadata_value_tree_node.getChildAt(i);
+	    int c = metadata_value.compareTo(child_metadata_value_tree_node.getValue());
+
+	    // Node doesn't exist in the tree
+	    if (c < 0) {
+		return null;
+	    }
+	 
+	    // Node exists
+	    if (c == 0) {
+		metadata_value_tree_node = child_metadata_value_tree_node;
+		break;
+	    }
+	}
+
+	// If no node has been found, it doesn't exist
+	if (metadata_value_tree_node == null) {
+	    return null;
+	}
+
+	// If there is some of the metadata value remaining, find that recursively
+	if (!metadata_value_remaining.equals("")) {
+	    metadata_value_tree_node = getMetadataValueTreeNodeInternal(metadata_value_tree_node, metadata_value_remaining);
+	}
+
+	return metadata_value_tree_node;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataValueTreeNode.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataValueTreeNode.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataValueTreeNode.java	(revision 21123)
@@ -0,0 +1,79 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+
+import javax.swing.tree.*;
+
+
+/** This class represents one Metadata value */
+public class MetadataValueTreeNode
+    extends DefaultMutableTreeNode
+{
+    static public final String METADATA_VALUE_TREE_NODE_HIERARCHY_TOKEN = "|";
+
+    private String value = null;
+
+
+    public MetadataValueTreeNode(Object object)
+    {
+	super(object);
+    }
+
+
+    public MetadataValueTreeNode(String value)
+    {
+	this.value = value;
+    }
+
+
+    public String getFullValue()
+    {
+	if (parent == null) {
+	    return "";
+	}
+
+	if (((MetadataValueTreeNode) parent).isRoot()) {
+	    return value;
+	}
+
+	return ((MetadataValueTreeNode) parent).getFullValue() + METADATA_VALUE_TREE_NODE_HIERARCHY_TOKEN + value;
+    }
+
+
+    public String getValue()
+    {
+	return value;
+    }
+
+
+    /** This is used to display the node in the value tree */
+    public String toString()
+    {
+	return value;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataXMLFile.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataXMLFile.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataXMLFile.java	(revision 21123)
@@ -0,0 +1,641 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+
+import java.io.*;
+import java.util.*;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+
+/** This class represents one metadata.xml file */
+public class MetadataXMLFile
+    extends File
+{
+    static final private String DESCRIPTION_ELEMENT = "Description";
+    static final private String DIRECTORY_FILENAME = ".*";
+    static final private String FILENAME_ELEMENT = "FileName";
+    static final private String FILESET_ELEMENT = "FileSet";
+    static final private String METADATA_ELEMENT = "Metadata";
+
+    // To speed things up a bit we keep the last accessed metadata.xml file in memory
+    static private File loaded_file = null;
+    static private Document loaded_file_document = null;
+    static private boolean loaded_file_changed = false;
+
+
+    public MetadataXMLFile(String metadata_xml_file_path)
+    {
+	super(metadata_xml_file_path);
+    }
+
+
+    public void addMetadata(File file, ArrayList metadata_values)
+    {
+	// If this metadata.xml file isn't the one currently loaded, load it now
+	if (loaded_file != this) {
+	    // First we must save out the currently loaded file
+	    saveLoadedFile();
+
+	    // Parse the metadata.xml file
+	    Document document = XMLTools.parseXMLFile(this);
+            if (document == null) {
+		System.err.println("Error: Could not parse metadata.xml file " + getAbsolutePath());
+		return;
+	    }
+
+	    loaded_file = this;
+	    loaded_file_document = document;
+	}
+
+	// Determine the file's path relative to the location of the metadata.xml file
+	String metadata_xml_file_directory_path = getParentFile().getAbsolutePath();
+	String file_relative_path = file.getAbsolutePath().substring(metadata_xml_file_directory_path.length());
+	if (file_relative_path.startsWith(File.separator)) {
+	    file_relative_path = file_relative_path.substring(File.separator.length());
+	}
+
+	// Form a regular expression that specifies the scope of the metadata
+	String file_path_regexp;
+	if (file_relative_path.equals("")) {
+	    // Special case for matching all files in the directory
+	    file_path_regexp = DIRECTORY_FILENAME;
+	}
+	else {
+	    // Convert the file path into a regular expression that will match it
+	    file_path_regexp = MetadataTools.getRegularExpressionThatMatchesFilePath(file_relative_path);
+	}
+
+	// Find the appropriate FileSet element for this file
+	Element appropriate_fileset_element = null;
+
+	// Read all the FileSet elements in the file
+	NodeList fileset_elements_nodelist = loaded_file_document.getElementsByTagName(FILESET_ELEMENT);
+	for (int i = 0; i < fileset_elements_nodelist.getLength(); i++) {
+	    Element current_fileset_element = (Element) fileset_elements_nodelist.item(i);
+
+	    // Check the FileName elements of the FileSet to see if we have a match
+	    NodeList filename_elements_nodelist = current_fileset_element.getElementsByTagName(FILENAME_ELEMENT);
+	    for (int j = 0; j < filename_elements_nodelist.getLength(); j++) {
+		Element current_filename_element = (Element) filename_elements_nodelist.item(j);
+		String current_filename_element_value = XMLTools.getElementTextValue(current_filename_element);
+
+		// Only exact matches can be extended with new metadata
+		if (current_filename_element_value.equals(file_path_regexp)) {
+		    appropriate_fileset_element = current_fileset_element;
+		    break;
+		}
+	    }
+	}
+
+	// If no appropriate FileSet element exists create a new one for this file
+	if (appropriate_fileset_element == null) {
+	    DebugStream.println("Creating new FileSet element for file since none exists...");
+	    appropriate_fileset_element = loaded_file_document.createElement(FILESET_ELEMENT);
+
+	    Element new_filename_element = loaded_file_document.createElement(FILENAME_ELEMENT);
+	    new_filename_element.appendChild(loaded_file_document.createTextNode(file_path_regexp));
+	    appropriate_fileset_element.appendChild(new_filename_element);
+
+	    Element new_description_element = loaded_file_document.createElement(DESCRIPTION_ELEMENT);
+	    appropriate_fileset_element.appendChild(new_description_element);
+
+	    loaded_file_document.getDocumentElement().appendChild(appropriate_fileset_element);
+	}
+
+	// Add each of the metadata values to the FileSet's Description element
+	Element description_element = (Element) appropriate_fileset_element.getElementsByTagName(DESCRIPTION_ELEMENT).item(0);
+	for (int i = 0; i < metadata_values.size(); i++) {
+	    MetadataValue metadata_value = (MetadataValue) metadata_values.get(i);
+	    String metadata_element_name_full = metadata_value.getMetadataElement().getFullName();
+
+	    // Remove any characters that are invalid in XML
+	    String metadata_value_string = XMLTools.removeInvalidCharacters(metadata_value.getFullValue());
+
+	    // Square brackets need to be escaped because they are a special character in Greenstone
+	    metadata_value_string = metadata_value_string.replaceAll("\\[", "&#091;");
+	    metadata_value_string = metadata_value_string.replaceAll("\\]", "&#093;");
+
+	    // Check if this piece of metadata has already been assigned to this FileSet element
+	    boolean metadata_already_assigned = false;
+	    NodeList metadata_elements_nodelist = description_element.getElementsByTagName(METADATA_ELEMENT);
+	    for (int k = 0; k < metadata_elements_nodelist.getLength(); k++) {
+		Element current_metadata_element = (Element) metadata_elements_nodelist.item(k);
+
+		// Check if the metadata element name matches
+		String current_metadata_element_name_full = current_metadata_element.getAttribute("name");
+		if (current_metadata_element_name_full.equals(metadata_element_name_full)) {
+		    // Check if the metadata element value matches
+		    String current_metadata_value_string = XMLTools.getElementTextValue(current_metadata_element);
+		    if (current_metadata_value_string.equals(metadata_value_string)) {
+			// Metadata already assigned
+			metadata_already_assigned = true;
+			break;
+		    }
+		}
+	    }
+
+	    // If the piece of metadata hasn't already been assigned, add it now
+	    if (!metadata_already_assigned) {
+		// Create a new Metadata element to record this metadata
+		Element new_metadata_element = loaded_file_document.createElement(METADATA_ELEMENT);
+		new_metadata_element.setAttribute("name", metadata_value.getMetadataElement().getFullName());
+		new_metadata_element.setAttribute("mode", (metadata_value.isAccumulatingMetadata() ? "accumulate" : "override"));
+		new_metadata_element.appendChild(loaded_file_document.createTextNode(metadata_value_string));
+
+		// Accumulating metadata: add at the end
+		if (metadata_value.isAccumulatingMetadata()) {
+		    description_element.appendChild(new_metadata_element);
+		}
+		// Override metadata: add at the start (so it overrides inherited metadata without affecting other assigned metadata)
+		else {
+		    description_element.insertBefore(new_metadata_element, description_element.getFirstChild());
+		}
+	    }
+	}
+
+	// Remember that we've changed the file so it gets saved when a new one is loaded
+	loaded_file_changed = true;
+    }
+
+
+    public ArrayList getMetadataAssignedToFile(File file)
+    {
+	// If this metadata.xml file isn't the one currently loaded, load it now
+	if (loaded_file != this) {
+	    // First we must save out the currently loaded file
+	    saveLoadedFile();
+
+	    // Parse the metadata.xml file
+	    Document document = XMLTools.parseXMLFile(this);
+              if (document == null) {
+		System.err.println("Error: Could not parse metadata.xml file " + getAbsolutePath());
+		return new ArrayList();
+	    }
+
+	    loaded_file = this;
+	    loaded_file_document = document;
+	}
+
+	// Determine the file's path relative to the location of the metadata.xml file
+	File metadata_xml_file_directory = getParentFile();
+	String file_relative_path = file.getAbsolutePath().substring(metadata_xml_file_directory.getAbsolutePath().length());
+	if (file_relative_path.startsWith(File.separator)) {
+	    file_relative_path = file_relative_path.substring(File.separator.length());
+	}
+
+	// Build up a list of metadata assigned to this file
+	ArrayList metadata_values = new ArrayList();
+
+	// Read all the FileSet elements in the file
+	NodeList fileset_elements_nodelist = loaded_file_document.getElementsByTagName(FILESET_ELEMENT);
+	for (int i = 0; i < fileset_elements_nodelist.getLength(); i++) {
+	    Element current_fileset_element = (Element) fileset_elements_nodelist.item(i);
+	    boolean current_fileset_matches = false;
+	    boolean is_one_file_only_metadata = true;
+	    File folder_metadata_inherited_from = null;
+
+	    // Check the FileName elements of the FileSet to see if we have a match
+	    NodeList filename_elements_nodelist = current_fileset_element.getElementsByTagName(FILENAME_ELEMENT);
+	    for (int j = 0; j < filename_elements_nodelist.getLength(); j++) {
+		Element current_filename_element = (Element) filename_elements_nodelist.item(j);
+		String current_filename_element_value = XMLTools.getElementTextValue(current_filename_element);
+
+		// Does this fileset specify metadata for one file only?
+		is_one_file_only_metadata = true;
+		if (current_filename_element_value.indexOf("*") != -1 && !current_filename_element_value.equals(DIRECTORY_FILENAME)) {
+		    // No, it specifies metadata for multiple files (but not all the files in the directory)
+		    is_one_file_only_metadata = false;
+		}
+
+		// This fileset specifies metadata for the file
+		if (file_relative_path.matches(current_filename_element_value)) {
+		    current_fileset_matches = true;
+		    if (!file_relative_path.equals("") && current_filename_element_value.equals(DIRECTORY_FILENAME)) {
+			folder_metadata_inherited_from = metadata_xml_file_directory;
+		    }
+		    break;
+		}
+
+		// This fileset specifies metadata for the folder the file is in
+		if (file_relative_path.startsWith(current_filename_element_value + File.separator)) {
+		    current_fileset_matches = true;
+		    folder_metadata_inherited_from = new File(metadata_xml_file_directory, current_filename_element_value);
+		    break;
+		}
+	    }
+
+	    // The FileSet doesn't apply, so move onto the next one
+	    if (current_fileset_matches == false) {
+		continue;
+	    }
+
+	    // Read all the Metadata elements in the fileset
+	    NodeList metadata_elements_nodelist = current_fileset_element.getElementsByTagName(METADATA_ELEMENT);
+	    for (int k = 0; k < metadata_elements_nodelist.getLength(); k++) {
+		Element current_metadata_element = (Element) metadata_elements_nodelist.item(k);
+		String metadata_element_name_full = current_metadata_element.getAttribute("name");
+		String metadata_set_namespace = MetadataTools.getMetadataSetNamespace(metadata_element_name_full);
+
+		// Ignore legacy crap
+		if (metadata_set_namespace.equals("hidden")) {
+		    continue;
+		}
+
+		MetadataSet metadata_set = MetadataSetManager.getMetadataSet(metadata_set_namespace);
+		if (metadata_set == null) {
+		    // The metadata set isn't loaded, so give the option of mapping the element into a loaded set
+		    String target_metadata_element_name_full = MetadataSetManager.mapUnloadedMetadataElement(metadata_element_name_full);
+		    if (target_metadata_element_name_full == null || target_metadata_element_name_full.equals("")) {
+			// Skip this element if we still don't have a loaded element for it
+			continue;
+		    }
+
+		    metadata_element_name_full = target_metadata_element_name_full;
+		    metadata_set_namespace = MetadataTools.getMetadataSetNamespace(metadata_element_name_full);
+		    metadata_set = MetadataSetManager.getMetadataSet(metadata_set_namespace);
+		}
+
+		MetadataElement metadata_element = MetadataTools.getMetadataElementWithName(metadata_element_name_full);
+
+                String metadata_element_name = MetadataTools.getMetadataElementName(metadata_element_name_full);
+		// If the element doesn't exist in the metadata set, we're not interested
+                //Shaoqun modified. It needs to be added to metadata_set because the user might disable skim file   
+		if (metadata_element == null) {
+		    metadata_element = metadata_set.addMetadataElementForThisSession(metadata_element_name);
+		    // continue;
+		}
+
+		// Square brackets need to be escaped because they are a special character in Greenstone
+		String metadata_value_string = XMLTools.getElementTextValue(current_metadata_element);
+		metadata_value_string = metadata_value_string.replaceAll("&#091;", "[");
+		metadata_value_string = metadata_value_string.replaceAll("&#093;", "]");
+
+		MetadataValueTreeNode metadata_value_tree_node = metadata_element.getMetadataValueTreeNode(metadata_value_string);
+
+		// If there is no metadata value tree node for this value, create it
+		if (metadata_value_tree_node == null) {
+		    DebugStream.println("Note: No value tree node for metadata value \"" + metadata_value_string + "\"");
+		    metadata_element.addMetadataValue(metadata_value_string);
+		    metadata_value_tree_node = metadata_element.getMetadataValueTreeNode(metadata_value_string);
+		}
+
+		MetadataValue metadata_value = new MetadataValue(metadata_element, metadata_value_tree_node);
+		metadata_value.inheritsMetadataFromFolder(folder_metadata_inherited_from);
+		metadata_value.setIsOneFileOnlyMetadata(is_one_file_only_metadata);
+
+		// Is this accumulating metadata?
+		if (current_metadata_element.getAttribute("mode").equals("accumulate")) {
+		    metadata_value.setIsAccumulatingMetadata(true);
+		}
+
+		// Add the new metadata value to the list
+		metadata_values.add(metadata_value);
+	    }
+	}
+
+	return metadata_values;
+    }
+
+
+    public void removeMetadata(File file, ArrayList metadata_values)
+    {
+	// If this metadata.xml file isn't the one currently loaded, load it now
+	if (loaded_file != this) {
+	    // First we must save out the currently loaded file
+	    saveLoadedFile();
+
+	    // Parse the metadata.xml file
+	    Document document = XMLTools.parseXMLFile(this);
+	    if (document == null) {
+		System.err.println("Error: Could not parse metadata.xml file " + getAbsolutePath());
+		return;
+	    }
+
+	    loaded_file = this;
+	    loaded_file_document = document;
+	}
+
+	// Determine the file's path relative to the location of the metadata.xml file
+	String metadata_xml_file_directory_path = getParentFile().getAbsolutePath();
+	String file_relative_path = file.getAbsolutePath().substring(metadata_xml_file_directory_path.length());
+	if (file_relative_path.startsWith(File.separator)) {
+	    file_relative_path = file_relative_path.substring(File.separator.length());
+	}
+
+	// Form a regular expression that specifies the scope of the metadata
+	String file_path_regexp;
+	if (file_relative_path.equals("")) {
+	    // Special case for matching all files in the directory
+	    file_path_regexp = DIRECTORY_FILENAME;
+	}
+	else {
+	    // Convert the file path into a regular expression that will match it
+	    file_path_regexp = MetadataTools.getRegularExpressionThatMatchesFilePath(file_relative_path);
+	}
+
+	// Find the appropriate FileSet element for this file
+	Element appropriate_fileset_element = null;
+
+	// Read all the FileSet elements in the file
+	NodeList fileset_elements_nodelist = loaded_file_document.getElementsByTagName(FILESET_ELEMENT);
+	for (int i = 0; i < fileset_elements_nodelist.getLength(); i++) {
+	    Element current_fileset_element = (Element) fileset_elements_nodelist.item(i);
+
+	    // Check the FileName elements of the FileSet to see if we have a match
+	    NodeList filename_elements_nodelist = current_fileset_element.getElementsByTagName(FILENAME_ELEMENT);
+	    for (int j = 0; j < filename_elements_nodelist.getLength(); j++) {
+		Element current_filename_element = (Element) filename_elements_nodelist.item(j);
+		String current_filename_element_value = XMLTools.getElementTextValue(current_filename_element);
+
+		// Only exact matches can be extended with new metadata
+		if (current_filename_element_value.equals(file_path_regexp)) {
+		    appropriate_fileset_element = current_fileset_element;
+		    break;
+		}
+	    }
+	}
+
+	// If no appropriate FileSet element exists the metadata isn't assigned in this metadata.xml file
+	if (appropriate_fileset_element == null) {
+	    DebugStream.println("Note: No appropriate FileSet element found when removing metadata from " + this);
+	    return;
+	}
+
+	// Remove each of the metadata values from the FileSet's Description element
+	for (int i = 0; i < metadata_values.size(); i++) {
+	    MetadataValue metadata_value = (MetadataValue) metadata_values.get(i);
+
+	    // Remove any characters that are invalid in XML
+	    String metadata_value_string = XMLTools.removeInvalidCharacters(metadata_value.getFullValue());
+
+	    // Square brackets need to be escaped because they are a special character in Greenstone
+	    metadata_value_string = metadata_value_string.replaceAll("\\[", "&#091;");
+	    metadata_value_string = metadata_value_string.replaceAll("\\]", "&#093;");
+
+	    // Find the Metadata element to delete from the fileset
+	    String metadata_element_name_full = metadata_value.getMetadataElement().getFullName();
+	    NodeList metadata_elements_nodelist = appropriate_fileset_element.getElementsByTagName(METADATA_ELEMENT);
+	    for (int k = 0; k < metadata_elements_nodelist.getLength(); k++) {
+		Element current_metadata_element = (Element) metadata_elements_nodelist.item(k);
+
+		// Check the metadata element name matches
+		String current_metadata_element_name_full = current_metadata_element.getAttribute("name");
+		if (current_metadata_element_name_full.equals(metadata_element_name_full)) {
+		    // Check the metadata element value matches
+		    String current_metadata_value_string = XMLTools.getElementTextValue(current_metadata_element);
+		    if (current_metadata_value_string.equals(metadata_value_string)) {
+			// Remove this Metadata element
+			current_metadata_element.getParentNode().removeChild(current_metadata_element);
+
+			// If there are no Metadata elements left now, remove the (empty) FileSet element
+			if (metadata_elements_nodelist.getLength() == 0) {
+			    appropriate_fileset_element.getParentNode().removeChild(appropriate_fileset_element);
+			}
+
+			break;
+		    }
+		}
+	    }
+	}
+
+	// Remember that we've changed the file so it gets saved when a new one is loaded
+	loaded_file_changed = true;
+    }
+
+
+    public void replaceMetadata(File file, MetadataValue old_metadata_value, MetadataValue new_metadata_value)
+    {
+	// If this metadata.xml file isn't the one currently loaded, load it now
+	if (loaded_file != this) {
+	    // First we must save out the currently loaded file
+	    saveLoadedFile();
+
+	    // Parse the metadata.xml file
+	    Document document = XMLTools.parseXMLFile(this);
+	    if (document == null) {
+		System.err.println("Error: Could not parse metadata.xml file " + getAbsolutePath());
+		return;
+	    }
+
+	    loaded_file = this;
+	    loaded_file_document = document;
+	}
+
+	// Determine the file's path relative to the location of the metadata.xml file
+	String metadata_xml_file_directory_path = getParentFile().getAbsolutePath();
+	String file_relative_path = file.getAbsolutePath().substring(metadata_xml_file_directory_path.length());
+	if (file_relative_path.startsWith(File.separator)) {
+	    file_relative_path = file_relative_path.substring(File.separator.length());
+	}
+
+	// Form a regular expression that specifies the scope of the metadata
+	String file_path_regexp;
+	if (file_relative_path.equals("")) {
+	    // Special case for matching all files in the directory
+	    file_path_regexp = DIRECTORY_FILENAME;
+	}
+	else {
+	    // Convert the file path into a regular expression that will match it
+	    file_path_regexp = MetadataTools.getRegularExpressionThatMatchesFilePath(file_relative_path);
+	}
+
+	// Remove any characters that are invalid in XML
+	String old_metadata_value_string = XMLTools.removeInvalidCharacters(old_metadata_value.getFullValue());
+	String new_metadata_value_string = XMLTools.removeInvalidCharacters(new_metadata_value.getFullValue());
+
+	// Square brackets need to be escaped because they are a special character in Greenstone
+	old_metadata_value_string = old_metadata_value_string.replaceAll("\\[", "&#091;");
+	old_metadata_value_string = old_metadata_value_string.replaceAll("\\]", "&#093;");
+	new_metadata_value_string = new_metadata_value_string.replaceAll("\\[", "&#091;");
+	new_metadata_value_string = new_metadata_value_string.replaceAll("\\]", "&#093;");
+
+	// Read all the FileSet elements in the file
+	NodeList fileset_elements_nodelist = loaded_file_document.getElementsByTagName(FILESET_ELEMENT);
+	for (int i = 0; i < fileset_elements_nodelist.getLength(); i++) {
+	    Element current_fileset_element = (Element) fileset_elements_nodelist.item(i);
+	    boolean current_fileset_matches = false;
+
+	    // Check the FileName elements of the FileSet to see if we have a match
+	    NodeList filename_elements_nodelist = current_fileset_element.getElementsByTagName(FILENAME_ELEMENT);
+	    for (int j = 0; j < filename_elements_nodelist.getLength(); j++) {
+		Element current_filename_element = (Element) filename_elements_nodelist.item(j);
+		String current_filename_element_value = XMLTools.getElementTextValue(current_filename_element);
+
+		// Only exact matches can be edited
+		if (current_filename_element_value.equals(file_path_regexp)) {
+		    current_fileset_matches = true;
+		    break;
+		}
+	    }
+
+	    // The FileSet doesn't apply, so move onto the next one
+	    if (current_fileset_matches == false) {
+		continue;
+	    }
+
+	    // Each metadata value is only allowed to be assigned once
+	    boolean new_metadata_value_already_exists = false;
+	    Element metadata_element_to_edit = null;
+
+	    // Find the Metadata element to replace in the fileset
+	    String metadata_element_name_full = old_metadata_value.getMetadataElement().getFullName();
+	    NodeList metadata_elements_nodelist = current_fileset_element.getElementsByTagName(METADATA_ELEMENT);
+	    for (int k = 0; k < metadata_elements_nodelist.getLength(); k++) {
+		Element current_metadata_element = (Element) metadata_elements_nodelist.item(k);
+
+		// Check the metadata element name matches
+		String current_metadata_element_name_full = current_metadata_element.getAttribute("name");
+		if (!current_metadata_element_name_full.equals(metadata_element_name_full)) {
+		    continue;
+		}
+
+		// Check the new metadata value doesn't already exist
+		String current_metadata_value_string = XMLTools.getElementTextValue(current_metadata_element);
+		if (current_metadata_value_string.equals(new_metadata_value_string)) {
+		    new_metadata_value_already_exists = true;
+		}
+
+		// Check the metadata element value matches
+		if (current_metadata_value_string.equals(old_metadata_value_string)) {
+		    metadata_element_to_edit = current_metadata_element;
+		}
+	    }
+
+	    // If the new metadata value already existed, remove the original value
+	    if (new_metadata_value_already_exists) {
+		metadata_element_to_edit.getParentNode().removeChild(metadata_element_to_edit);
+	    }
+	    // Otherwise replace the old value with the new value
+	    // Ensure metadata_element_to_edit isn't null (may occur when multiple files are selected)
+	    else if (metadata_element_to_edit != null) {
+		XMLTools.setElementTextValue(metadata_element_to_edit, new_metadata_value_string);
+	    }
+	}
+
+	// Remember that we've changed the file so it gets saved when a new one is loaded
+	loaded_file_changed = true;
+    }
+
+
+    static public void saveLoadedFile()
+    {
+	// If we have a file loaded into memory and it has been modified, save it now
+	if (loaded_file != null && loaded_file_changed == true) {
+	    XMLTools.writeXMLFile(loaded_file, loaded_file_document);
+	    loaded_file_changed = false;
+	}
+    }
+
+
+    /**
+     * Every metadata.xml file must be skimmed when a collection is opened, for three very important reasons:
+     *   - To handle any non-namespaced metadata in the metadata.xml files (this is mapped and the files rewritten)
+     *   - To get a complete list of the metadata elements in the collection (used in Design and Format panes)
+     *   - To build complete and accurate metadata value trees (used in the Enrich pane)
+     */
+    public void skimFile()
+    {
+	boolean file_changed = false;
+
+	// Parse the metadata.xml file
+	DebugStream.println("Skimming metadata.xml file " + this + "...");
+	       
+	Document document = XMLTools.parseXMLFile(this);
+	if (document == null) {
+	    System.err.println("Error: Could not parse metadata.xml file " + getAbsolutePath());
+	    return;
+	}
+
+	// Read all the Metadata elements in the file
+	HashMap target_metadata_element_name_attrs_cache = new HashMap();
+	NodeList metadata_elements_nodelist = document.getElementsByTagName(METADATA_ELEMENT);
+	for (int i = 0; i < metadata_elements_nodelist.getLength(); i++) {
+	    Element current_metadata_element = (Element) metadata_elements_nodelist.item(i);
+	    String metadata_element_name_full = current_metadata_element.getAttribute("name");
+	    String metadata_set_namespace = MetadataTools.getMetadataSetNamespace(metadata_element_name_full);
+
+	    // Ignore legacy crap
+	    if (metadata_set_namespace.equals("hidden")) {
+		continue;
+	    }
+
+	    MetadataSet metadata_set = MetadataSetManager.getMetadataSet(metadata_set_namespace);
+	    if (metadata_set == null) {
+		// The metadata set isn't loaded, so give the option of mapping the element into a loaded set
+		String target_metadata_element_name_full = MetadataSetManager.mapUnloadedMetadataElement(metadata_element_name_full);
+		if (target_metadata_element_name_full == null || target_metadata_element_name_full.equals("")) {
+		    // Skip this element if we still don't have a loaded element for it
+		    continue;
+		}
+
+		// Update the metadata.xml file to have the new (namespaced) element name
+		// Instead of using current_metadata_element.setAttribute("name", target_metadata_element_name_full)
+		//   we create an Attr object for each target metadata element name, and cache them
+		// This makes a *huge* difference (namespacing a metadata.xml file with 45000 metadata entries now
+		//   takes 45 seconds instead of 30 minutes!) -- why is setting the value of a Node so slow?
+		Attr target_metadata_element_name_attr = (Attr) target_metadata_element_name_attrs_cache.get(target_metadata_element_name_full);
+		if (target_metadata_element_name_attr == null) {
+		    target_metadata_element_name_attr = document.createAttribute("name");
+		    target_metadata_element_name_attr.setValue(target_metadata_element_name_full);
+		    target_metadata_element_name_attrs_cache.put(target_metadata_element_name_full, target_metadata_element_name_attr);
+		}
+
+		// Remove the old name attribute and add the new (namespaced) one
+		current_metadata_element.removeAttribute("name");
+		current_metadata_element.setAttributeNode((Attr) target_metadata_element_name_attr.cloneNode(false));
+		file_changed = true;
+
+		metadata_element_name_full = target_metadata_element_name_full;
+		metadata_set_namespace = MetadataTools.getMetadataSetNamespace(metadata_element_name_full);
+		metadata_set = MetadataSetManager.getMetadataSet(metadata_set_namespace);
+	    }
+
+	    String metadata_element_name = MetadataTools.getMetadataElementName(metadata_element_name_full);
+	    MetadataElement metadata_element = metadata_set.getMetadataElementWithName(metadata_element_name);
+
+	    // If the element doesn't exist in the metadata set, add it
+	    if (metadata_element == null) {
+		metadata_element = metadata_set.addMetadataElementForThisSession(metadata_element_name);
+	    }
+
+	    // Square brackets need to be escaped because they are a special character in Greenstone
+	    String metadata_value_string = XMLTools.getElementTextValue(current_metadata_element);
+	    metadata_value_string = metadata_value_string.replaceAll("&#091;", "[");
+	    metadata_value_string = metadata_value_string.replaceAll("&#093;", "]");
+
+	    metadata_element.addMetadataValue(metadata_value_string);
+	}
+
+	// Rewrite the metadata.xml file if it has changed
+	if (file_changed) {
+	    XMLTools.writeXMLFile(this, document);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataXMLFileManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataXMLFileManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/MetadataXMLFileManager.java	(revision 21123)
@@ -0,0 +1,390 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2005 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+
+import java.io.*;
+import java.util.*;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.collection.CollectionTreeNode;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.greenstone.gatherer.util.XMLTools;
+
+
+/** This class is a static class that manages the metadata.xml files */
+public class MetadataXMLFileManager
+{
+    static private ArrayList metadata_xml_files = new ArrayList();
+    /** The objects listening for MetadataChanged events. */
+    static private ArrayList metadata_changed_listeners = new ArrayList();
+    /** Keep track of which metadata.xml files have been modified so we can upload them to the server */
+    static private ArrayList modified_metadata_xml_files = new ArrayList();
+
+
+    static public void addMetadata(CollectionTreeNode file_node, ArrayList metadata_values)
+    {
+	addMetadata(new CollectionTreeNode[] { file_node }, metadata_values);
+    }
+
+
+    static public void addMetadata(CollectionTreeNode[] file_nodes, MetadataValue metadata_value)
+    {
+	ArrayList metadata_values = new ArrayList();
+	metadata_values.add(metadata_value);
+	addMetadata(file_nodes, metadata_values);
+    }
+
+
+    static public void addMetadata(CollectionTreeNode[] file_nodes, ArrayList metadata_values)
+    {
+	// Check the list of metadata values is non-empty
+	if (metadata_values.isEmpty()) {
+	    return;
+	}
+
+	// Add the metadata to each file node in turn
+	for (int i = 0; i < file_nodes.length; i++) {
+	    File current_file = file_nodes[i].getFile();
+	    DebugStream.println("Adding metadata to " + current_file.getAbsolutePath());
+
+	    // Find which metadata.xml file needs editing
+	    boolean applicable_metadata_xml_file_found = false;
+	    File current_file_directory = (current_file.isDirectory() ? current_file : current_file.getParentFile());
+	    String current_file_directory_path = current_file_directory.getAbsolutePath();
+	    for (int j = 0; j < metadata_xml_files.size(); j++) {
+		MetadataXMLFile metadata_xml_file = (MetadataXMLFile) metadata_xml_files.get(j);
+
+		// This metadata.xml file is only applicable if it is at the same level as the file
+		if (current_file_directory_path.equals(metadata_xml_file.getParentFile().getAbsolutePath())) {
+		    applicable_metadata_xml_file_found = true;
+		    metadata_xml_file.addMetadata(current_file, metadata_values);
+		    if (!modified_metadata_xml_files.contains(metadata_xml_file)) {
+			modified_metadata_xml_files.add(metadata_xml_file);
+		    }
+		}
+	    }
+
+	    // If no applicable metadata.xml file exists, we have to create a new one
+	    if (!applicable_metadata_xml_file_found) {
+		// Create a new (empty) metadata.xml file in the file's directory...
+		File new_metadata_xml_file_file = new File(current_file_directory, "metadata.xml");
+		XMLTools.writeXMLFile(new_metadata_xml_file_file, XMLTools.parseXMLFile("xml/metadata.xml", true));
+
+		// ...load it...
+		MetadataXMLFile new_metadata_xml_file = loadMetadataXMLFile(new_metadata_xml_file_file,true);
+
+		// ...and add the metadata
+		new_metadata_xml_file.addMetadata(current_file, metadata_values);
+		if (!modified_metadata_xml_files.contains(new_metadata_xml_file)) {
+		    modified_metadata_xml_files.add(new_metadata_xml_file);
+		}
+	    }
+	}
+
+	// Let any listeners know that the metadata has changed
+	fireMetadataChangedEvent(file_nodes);
+    }
+
+
+    static public void addMetadataChangedListener(MetadataChangedListener metadata_changed_listener)
+    {
+	metadata_changed_listeners.add(metadata_changed_listener);
+    }
+
+
+    static public void clearMetadataXMLFiles()
+    {
+	metadata_xml_files.clear();
+    }
+
+
+    static private void fireMetadataChangedEvent(CollectionTreeNode[] file_nodes)
+    {
+	// Send the event off to all the MetadataChangedListeners
+	for (int i = 0; i < metadata_changed_listeners.size(); i++) {
+	    ((MetadataChangedListener) metadata_changed_listeners.get(i)).metadataChanged(file_nodes);
+	}
+    }
+
+
+    /** Returns the metadata assigned to a file outside the collection, excluding folder-level/inherited metadata. */
+    static public ArrayList getMetadataAssignedDirectlyToExternalFile(File file)
+    {
+	DebugStream.println("Getting metadata assigned directly to external file " + file + "...");
+
+	// Build up a list of applicable metadata.xml files
+	ArrayList applicable_metadata_xml_files = new ArrayList();
+
+	File directory = (file.isDirectory() ? file : file.getParentFile());
+	while (directory != null) {
+	    File metadata_xml_file = new File(directory, "metadata.xml");
+	    if (metadata_xml_file.exists() && !metadata_xml_file.isDirectory()) {
+		// It is very important that shallower files come before deeper ones
+		applicable_metadata_xml_files.add(0, new MetadataXMLFile(metadata_xml_file.getAbsolutePath()));
+	    }
+
+	    directory = directory.getParentFile();
+	}
+
+	// Get the metadata assigned to the specified file from the applicable metadata.xml files
+	ArrayList assigned_metadata = getMetadataAssignedToFile(file, applicable_metadata_xml_files);
+
+	// Remove any folder-level metadata
+	for (int i = assigned_metadata.size() - 1; i >= 0; i--) {
+	    if (((MetadataValue) assigned_metadata.get(i)).isInheritedMetadata()) {
+		assigned_metadata.remove(i);
+	    }
+	}
+
+	return assigned_metadata;
+    }
+
+
+    /** Returns the metadata assigned to a file inside the collection, excluding folder-level/inherited metadata. */
+    static public ArrayList getMetadataAssignedDirectlyToFile(File file)
+    {
+	// Get all the metadata assigned to the specified file...
+	ArrayList assigned_metadata = getMetadataAssignedToFile(file);
+
+	// ...then remove any folder-level metadata
+	for (int i = assigned_metadata.size() - 1; i >= 0; i--) {
+	    if (((MetadataValue) assigned_metadata.get(i)).isInheritedMetadata()) {
+		assigned_metadata.remove(i);
+	    }
+	}
+
+	return assigned_metadata;
+    }
+
+
+    /** Returns all the metadata assigned to a file inside the collection. */
+    static public ArrayList getMetadataAssignedToFile(File file)
+    {
+	// Build up a list of applicable metadata.xml files
+	ArrayList applicable_metadata_xml_files = new ArrayList();
+
+	// Look at each loaded metadata.xml file to see if it is potentially applicable
+	String file_directory_path = (file.isDirectory() ? file : file.getParentFile()).getAbsolutePath() + File.separator;
+	for (int i = 0; i < metadata_xml_files.size(); i++) {
+	    MetadataXMLFile metadata_xml_file = (MetadataXMLFile) metadata_xml_files.get(i);
+
+	    // This metadata.xml file is only potentially applicable if it is above or at the same level as the file
+	    if (file_directory_path.startsWith(metadata_xml_file.getParentFile().getAbsolutePath() + File.separator)) {
+		applicable_metadata_xml_files.add(metadata_xml_file);
+	    }
+	}
+
+	// Return the metadata assigned to the specified file from the applicable metadata.xml files
+	return getMetadataAssignedToFile(file, applicable_metadata_xml_files);
+    }
+
+
+    static private ArrayList getMetadataAssignedToFile(File file, ArrayList applicable_metadata_xml_files)
+    {
+	// Build up a list of metadata values assigned to this file
+	ArrayList metadata_values_all = new ArrayList();
+
+	// Look at each applicable metadata.xml file to see if it assigns metadata to this file
+	for (int i = 0; i < applicable_metadata_xml_files.size(); i++) {
+	    MetadataXMLFile metadata_xml_file = (MetadataXMLFile) applicable_metadata_xml_files.get(i);
+	    DebugStream.println("Applicable metadata.xml file: " + metadata_xml_file);
+
+	    ArrayList metadata_values = metadata_xml_file.getMetadataAssignedToFile(file);
+	    for (int j = 0; j < metadata_values.size(); j++) {
+		MetadataValue metadata_value = (MetadataValue) metadata_values.get(j);
+
+		// Overriding metadata: remove any values with this metadata element
+		if (metadata_value.isAccumulatingMetadata() == false) {
+		    for (int k = metadata_values_all.size() - 1; k >= 0; k--) {
+			if (((MetadataValue) metadata_values_all.get(k)).getMetadataElement().equals(metadata_value.getMetadataElement())) {
+			    metadata_values_all.remove(k);
+			}
+		    }
+		}
+
+		metadata_values_all.add(metadata_value);
+	    }
+	}
+
+	return metadata_values_all;
+    }
+
+
+    static public void loadMetadataXMLFiles(File directory, boolean skimfile)
+    {
+	// Make sure the directory (import) exists
+	if (directory.exists() == false) {
+	    return;
+	}
+
+	// Look recursively at each subfile of the directory for metadata.xml files
+	File[] directory_files = directory.listFiles();
+	for (int i = 0; i < directory_files.length; i++) {
+	    File child_file = directory_files[i];
+	    if (child_file.isDirectory()) {
+		loadMetadataXMLFiles(child_file,skimfile);
+	    }
+	    else if (child_file.getName().equals("metadata.xml")) {
+		loadMetadataXMLFile(child_file,skimfile);
+	    }
+	}
+    }
+
+
+    static private MetadataXMLFile loadMetadataXMLFile(File metadata_xml_file_file, boolean skimfile)
+    {
+	MetadataXMLFile metadata_xml_file = new MetadataXMLFile(metadata_xml_file_file.getAbsolutePath());
+	if (metadata_xml_files.contains(metadata_xml_file)) {
+	    // This metadata.xml file has already been loaded, so return the loaded object
+	    return (MetadataXMLFile) metadata_xml_files.get(metadata_xml_files.indexOf(metadata_xml_file));
+	}
+	if(skimfile){
+	   metadata_xml_file.skimFile();
+	}
+	metadata_xml_files.add(metadata_xml_file);
+	return metadata_xml_file;
+    }
+
+
+    static public void removeMetadata(CollectionTreeNode file_node, ArrayList metadata_values)
+    {
+	removeMetadata(new CollectionTreeNode[] { file_node }, metadata_values);
+    }
+
+
+    static public void removeMetadata(CollectionTreeNode[] file_nodes, MetadataValue metadata_value)
+    {
+	ArrayList metadata_values = new ArrayList();
+	metadata_values.add(metadata_value);
+	removeMetadata(file_nodes, metadata_values);
+    }
+
+
+    static public void removeMetadata(CollectionTreeNode[] file_nodes, ArrayList metadata_values)
+    {
+	// Check the list of metadata values is non-empty
+	if (metadata_values.isEmpty()) {
+	    return;
+	}
+
+	// Remove the metadata from each file node in turn
+	for (int i = 0; i < file_nodes.length; i++) {
+	    File current_file = file_nodes[i].getFile();
+	    DebugStream.println("Removing metadata from " + current_file.getAbsolutePath());
+
+	    // Find which metadata.xml file needs editing
+	    File current_file_directory = (current_file.isDirectory() ? current_file : current_file.getParentFile());
+	    String current_file_directory_path = current_file_directory.getAbsolutePath();
+	    for (int j = 0; j < metadata_xml_files.size(); j++) {
+		MetadataXMLFile metadata_xml_file = (MetadataXMLFile) metadata_xml_files.get(j);
+
+		// This metadata.xml file is only potentially applicable if it is above or at the same level as the file
+		if (current_file_directory_path.startsWith(metadata_xml_file.getParentFile().getAbsolutePath())) {
+		    metadata_xml_file.removeMetadata(current_file, metadata_values);
+		    if (!modified_metadata_xml_files.contains(metadata_xml_file)) {
+			modified_metadata_xml_files.add(metadata_xml_file);
+		    }
+		}
+	    }
+	}
+
+	// Let any listeners know that the metadata has changed
+	fireMetadataChangedEvent(file_nodes);
+    }
+
+
+    static public void removeMetadataChangedListener(MetadataChangedListener metadata_changed_listener)
+    {
+	metadata_changed_listeners.remove(metadata_changed_listener);
+    }
+
+
+    static public void replaceMetadata(CollectionTreeNode[] file_nodes, MetadataValue old_metadata_value, MetadataValue new_metadata_value)
+    {
+	// Replace the metadata in each file node in turn
+	for (int i = 0; i < file_nodes.length; i++) {
+	    File current_file = file_nodes[i].getFile();
+	    DebugStream.println("Replacing metadata in " + current_file.getAbsolutePath());
+
+	    // Find which metadata.xml file needs editing
+	    File current_file_directory = (current_file.isDirectory() ? current_file : current_file.getParentFile());
+	    String current_file_directory_path = current_file_directory.getAbsolutePath();
+	    for (int j = 0; j < metadata_xml_files.size(); j++) {
+		MetadataXMLFile metadata_xml_file = (MetadataXMLFile) metadata_xml_files.get(j);
+
+		// This metadata.xml file is only applicable if it is at the same level as the file
+		if (current_file_directory_path.equals(metadata_xml_file.getParentFile().getAbsolutePath())) {
+		    metadata_xml_file.replaceMetadata(current_file, old_metadata_value, new_metadata_value);
+		    if (!modified_metadata_xml_files.contains(metadata_xml_file)) {
+			modified_metadata_xml_files.add(metadata_xml_file);
+		    }
+		}
+	    }
+	}
+
+	// Let any listeners know that the metadata has changed
+	fireMetadataChangedEvent(file_nodes);
+    }
+
+
+    /** Ensures that all the metadata is written to metadata.xml files. */
+    static public void saveMetadataXMLFiles()
+    {
+	// Save the file currently loaded into memory out to disk
+	MetadataXMLFile.saveLoadedFile();
+
+	// If the collection is stored on a remote server, upload all the modified files now
+	if (Gatherer.isGsdlRemote) {
+	    if (modified_metadata_xml_files.isEmpty()) {
+		DebugStream.println("No modified metadata.xml files to upload.");
+		return;
+	    }
+
+	    // Upload the files modified since last time, then reset the list
+	    Gatherer.remoteGreenstoneServer.uploadCollectionFiles(
+                  CollectionManager.getLoadedCollectionName(), (File[]) modified_metadata_xml_files.toArray(new File[0]));
+	    modified_metadata_xml_files.clear();
+	}
+    }
+
+
+    static public void unloadMetadataXMLFile(File metadata_xml_file_file)
+    {
+	DebugStream.println("Unloading metadata.xml file " + metadata_xml_file_file);
+
+	// Find the metadata.xml file in the list of loaded files, and remove it
+	for (int i = 0; i < metadata_xml_files.size(); i++) {
+	    MetadataXMLFile metadata_xml_file = (MetadataXMLFile) metadata_xml_files.get(i);
+	    if (metadata_xml_file_file.getAbsolutePath().equals(metadata_xml_file.getAbsolutePath())) {
+		metadata_xml_files.remove(i);
+		break;
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/ProfileXMLFile.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/ProfileXMLFile.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/ProfileXMLFile.java	(revision 21123)
@@ -0,0 +1,118 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+
+import java.io.*;
+import java.util.*;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.greenstone.gatherer.util.XMLTools;
+import org.w3c.dom.*;
+
+
+/** This class represents one profile.xml file */
+public class ProfileXMLFile
+    extends File
+{
+    private HashMap metadata_mapping = null;
+
+
+    public ProfileXMLFile(String profile_xml_file_path)
+    {
+	super(profile_xml_file_path);
+    }
+
+
+    public String getMetadataElementFor(String metadata_element_name_full)
+    {
+	if (getMetadataMapping() == null) {
+	    return null;
+	}
+
+	return (String) metadata_mapping.get(metadata_element_name_full);
+    }
+
+
+    public HashMap getMetadataMapping()
+    {
+	// If we have already loaded the metadata mapping, use it
+	if (metadata_mapping != null) {
+	    return metadata_mapping;
+	}
+
+	// Build the metadata mapping from the profile.xml file
+	metadata_mapping = new HashMap();
+
+	// Parse the profile.xml file
+	Document document = XMLTools.parseXMLFile(this);
+	if (document == null) {
+	    System.err.println("Error: Could not parse profile.xml file " + getAbsolutePath());
+	    return null;
+	}
+
+	// Read all the Action elements in the file
+	NodeList action_elements_nodelist = document.getElementsByTagName("Action");
+	for (int i = 0; i < action_elements_nodelist.getLength(); i++) {
+	    Element current_action_element = (Element) action_elements_nodelist.item(i);
+	    String source_metadata_element_name_full = current_action_element.getAttribute("source");
+	    String target_metadata_element_name_full = current_action_element.getAttribute("target");
+	    metadata_mapping.put(source_metadata_element_name_full, target_metadata_element_name_full);
+	}
+
+	return metadata_mapping;
+    }
+
+
+    public void mapElement(String source_metadata_element_name_full, String target_metadata_element_name_full)
+    {
+	// Parse the profile.xml file
+	Document document = XMLTools.parseXMLFile(this);
+	if (document == null) {
+	    System.err.println("Error: Could not parse profile.xml file " + getAbsolutePath());
+	    return;
+	}
+
+	// Create a new Action element to record this mapping
+	Element new_action_element = document.createElement("Action");
+	new_action_element.setAttribute("source", source_metadata_element_name_full);
+	new_action_element.setAttribute("target", target_metadata_element_name_full);
+	document.getDocumentElement().appendChild(new_action_element);
+
+	// Rewrite the profile.xml file
+	XMLTools.writeXMLFile(this, document);
+
+	// This is inefficient but for simplicity we'll just upload the file every time it is changed
+	if (Gatherer.isGsdlRemote) {
+	    Gatherer.remoteGreenstoneServer.uploadCollectionFile(CollectionManager.getLoadedCollectionName(), this);
+	}
+
+	// Invalidate the metadata mapping
+	metadata_mapping = null;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/ProfileXMLFileManager.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/ProfileXMLFileManager.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/metadata/ProfileXMLFileManager.java	(revision 21123)
@@ -0,0 +1,90 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.metadata;
+
+
+import java.io.*;
+import java.util.*;
+import org.greenstone.gatherer.util.XMLTools;
+
+
+/** This class is a static class that manages the profile.xml file */
+public class ProfileXMLFileManager
+{
+    static private ProfileXMLFile profile_xml_file = null;
+
+
+    static public void clearProfileXMLFile()
+    {
+	profile_xml_file = null;
+    }
+
+
+    static public void loadProfileXMLFile(File directory)
+    {
+	// Make sure the directory (metadata) exists
+	if (directory.exists() == false) {
+	    directory.mkdir();
+	}
+
+	File profile_xml_file_file = new File(directory, "profile.xml");
+	if (!profile_xml_file_file.exists()) {
+	    // Create a new (empty) profile.xml file in this directory...
+	    XMLTools.writeXMLFile(profile_xml_file_file, XMLTools.parseXMLFile("xml/profile.xml", true));
+	}
+
+	profile_xml_file = new ProfileXMLFile(profile_xml_file_file.getAbsolutePath());
+    }
+
+
+    static public String getMetadataElementFor(String metadata_element_name_full)
+    {
+	if (profile_xml_file == null) {
+	    return null;
+	}
+
+	return profile_xml_file.getMetadataElementFor(metadata_element_name_full);
+    }
+
+
+    static public HashMap getMetadataMapping()
+    {
+	if (profile_xml_file == null) {
+	    return null;
+	}
+
+	return profile_xml_file.getMetadataMapping();
+    }
+
+
+    static public void mapElement(String metadata_element_name_full, String target_metadata_element_name_full)
+    {
+	if (profile_xml_file != null) {
+	    profile_xml_file.mapElement(metadata_element_name_full, target_metadata_element_name_full);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/remote/ActionQueue.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/remote/ActionQueue.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/remote/ActionQueue.java	(revision 21123)
@@ -0,0 +1,194 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Greenstone Librarian Interface application, part of 
+ * the Greenstone digital library suite from the New Zealand Digital 
+ * Library Project at the University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato
+ *
+ * Copyright (C) 2005 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+
+package org.greenstone.gatherer.remote;
+
+import java.io.*;
+import java.net.*;
+import java.util.*;
+import java.util.zip.*;
+import javax.swing.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.FedoraInfo;
+import org.greenstone.gatherer.GAuthenticator;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.shell.GShell;
+import org.greenstone.gatherer.util.UnzipTools;
+import org.greenstone.gatherer.util.Utility;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.apache.commons.httpclient.methods.GetMethod;
+import org.apache.commons.httpclient.HttpException;
+import org.apache.commons.httpclient.methods.multipart.FilePart;
+import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
+import org.apache.commons.httpclient.methods.multipart.Part;
+import org.apache.commons.httpclient.methods.multipart.*;
+import org.apache.commons.httpclient.params.*;
+import org.apache.commons.httpclient.HttpStatus;
+
+// ----------------------------------------------------------------------------------------------------
+//   Part of the RemoteGreenstoneServer's QUEUE LAYER
+// ----------------------------------------------------------------------------------------------------
+
+// Moved here. Previously called RemoteGreenstoneServerActionQueue
+/** 
+ * A Thread that maintains a queue of RemoteGreenstoneServer Actions
+ * that are to be executed in FIFO fashion.
+*/
+class ActionQueue extends Thread
+{
+    /** The queue of waiting jobs. */
+    private ArrayList queue = null;
+    private boolean exited;
+
+    public ActionQueue()
+    {
+	super("RemoteGreenstoneServerActionQueue");
+	exited = false;
+	if (Gatherer.isGsdlRemote) {
+	    queue = new ArrayList();
+	    start();
+	}
+    }
+    
+    
+    synchronized public void addAction(RemoteGreenstoneServerAction remote_greenstone_server_action)
+    {
+	queue.add(remote_greenstone_server_action);
+	notifyAll();
+    }
+    
+    
+    synchronized public int size()
+    {
+	return queue.size();
+    }
+    
+    synchronized public RemoteGreenstoneServerAction getAction(int i)
+    {
+	return (RemoteGreenstoneServerAction)queue.get(i);
+    }
+
+    synchronized public boolean hasExited() { 
+	return exited; 
+    }
+    
+    synchronized public void clear() { 
+	queue.clear(); 
+    }
+
+    public void run()
+    {
+	boolean exit = false;
+
+	while (!exit) {
+	    RemoteGreenstoneServerAction remote_greenstone_server_action = null;
+	    
+	    // Wait until we are notify()ed by addAction that there is a new job on the queue
+	    try {
+		if(Gatherer.remoteGreenstoneServer != null) {
+		    Gatherer.remoteGreenstoneServer.getProgressBar().setAction(null);
+		}
+		synchronized (this) {
+		    while(queue.size() <= 0) {
+			wait(); // wait for queue size to become > 0, which is done by external thread (performAction())
+		    }
+		    // Now there is at least one job on the queue, get the next in line and process it
+		    remote_greenstone_server_action = (RemoteGreenstoneServerAction) queue.get(0); //getAction(0) is already synchronized 
+		}
+	    } catch (InterruptedException exception) {
+		// It may be that GLI is exiting if we get here 
+		exit = true;
+	    }
+	    
+	    if(exit) {
+		break;
+	    }
+	    
+	    try {
+		remote_greenstone_server_action.perform();
+		
+		// No exceptions were thrown, so the action was successful
+		remote_greenstone_server_action.processed_successfully = true;
+	    }
+	    catch (RemoteGreenstoneServerAction.ActionCancelledException exception) {
+		remote_greenstone_server_action.processed_successfully = false;
+	    } 
+	    catch(java.net.ConnectException exception) {
+		if(exception.getMessage().trim().startsWith("Connection refused")) {
+		    exit = true;
+		} else {
+		    DebugStream.printStackTrace(exception);
+		}
+		JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("RemoteGreenstoneServer.Error", exception.getMessage()), Dictionary.get("RemoteGreenstoneServer.Error_Title"), JOptionPane.ERROR_MESSAGE);
+		remote_greenstone_server_action.processed_successfully = false;			
+	    }
+	    catch (FileNotFoundException exception) {
+		// FileNotFoundException happens when there's no GS server at the user-provided
+		// url (the address of gliserver.pl is wrong).
+		exit = true;
+		DebugStream.printStackTrace(exception);
+		JOptionPane.showMessageDialog(Gatherer.g_man, 
+					      Dictionary.get("RemoteGreenstoneServer.Error", 
+							     "No gliserver.pl found. " + exception.getMessage()), 
+					      Dictionary.get("RemoteGreenstoneServer.Error_Title"), 
+					      JOptionPane.ERROR_MESSAGE);
+		remote_greenstone_server_action.processed_successfully = false;
+	    }
+	    catch (Exception exception) {
+		DebugStream.printStackTrace(exception);
+		JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("RemoteGreenstoneServer.Error", exception.getMessage()), Dictionary.get("RemoteGreenstoneServer.Error_Title"), JOptionPane.ERROR_MESSAGE);
+		remote_greenstone_server_action.processed_successfully = false;
+	    }
+	    
+	    // We're done with this action, for better or worse
+	    try {
+		remote_greenstone_server_action.processed = true;
+		synchronized(remote_greenstone_server_action) {
+		    remote_greenstone_server_action.notifyAll(); // notifies RemoteGreenstoneServer.performAction()
+		}
+	    } catch (Exception exception) {
+		System.err.println("RemoteGreenstoneServerActionQueue.run() - exception: " + exception);
+	    }
+	    synchronized (this) { // remove the action just processed from the queue, since it's done.
+		queue.remove(0);
+	    }
+	}
+
+	// Out of while, means exit = true
+	// Stop the gazillion annoying error messages when the connection was simply
+	// refused or when the user pressed Cancel in the opening dialog, by clearing
+	// the action queue of subsequent actions and setting exited to true.
+	synchronized(this) {
+	    queue.clear();
+	    exited = true;
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/remote/RemoteGreenstoneServer.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/remote/RemoteGreenstoneServer.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/remote/RemoteGreenstoneServer.java	(revision 21123)
@@ -0,0 +1,822 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato
+ *
+ * Copyright (C) 2005 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+
+package org.greenstone.gatherer.remote;
+
+import java.io.*;
+import java.net.*;
+import java.util.*;
+import java.util.zip.*;
+import javax.swing.*;
+import java.io.ByteArrayOutputStream;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.FedoraInfo;
+import org.greenstone.gatherer.GAuthenticator;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.shell.GShell;
+import org.greenstone.gatherer.util.UnzipTools;
+import org.greenstone.gatherer.util.Utility;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.apache.commons.httpclient.methods.GetMethod;
+import org.apache.commons.httpclient.HttpException;
+import org.apache.commons.httpclient.methods.multipart.FilePart;
+import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
+import org.apache.commons.httpclient.methods.multipart.Part;
+import org.apache.commons.httpclient.methods.multipart.*;
+import org.apache.commons.httpclient.params.*;
+import org.apache.commons.httpclient.HttpStatus;
+
+
+public class RemoteGreenstoneServer
+{
+    // A PasswordAuthentication object is created whenever it is required
+    static private PasswordAuthentication remote_greenstone_server_authentication = null;
+    // static private PasswordAuthentication remote_greenstone_server_authentication = new PasswordAuthentication(System.getProperty("user.name"), new char[] { });
+
+    // the language and region environment variables (in "lang_REGION" form)
+    // this is necessary in order for the client and server sides to zip and unzip
+    // using the same settings
+    public final String lang_region;
+
+    private ActionQueue remote_greenstone_server_action_queue;
+    private RemoteGreenstoneServer.ProgressBar progress_bar;
+
+    public RemoteGreenstoneServer() {
+	// Create the progress_bar first since ActionQueue uses it in its thread 
+	// (the thread will start immediately).
+	progress_bar = new RemoteGreenstoneServer.ProgressBar();
+	remote_greenstone_server_action_queue = new ActionQueue();
+
+	String langReg = System.getenv("LANG");
+	lang_region = (langReg == null) ? "" : langReg;	
+    }
+
+    // ----------------------------------------------------------------------------------------------------
+    //   PUBLIC LAYER
+    // ----------------------------------------------------------------------------------------------------
+    public String deleteCollection(String collection_name)
+    {
+	return performAction(new RemoteGreenstoneServerAction.DeleteCollectionAction(collection_name));
+    }
+
+
+    public String deleteCollectionFile(String collection_name, File collection_file)
+    {
+	return performAction(new RemoteGreenstoneServerAction.DeleteCollectionFileAction(collection_name, collection_file));
+    }
+
+
+    public String downloadCollection(String collection_name)
+    {
+	return performAction(new RemoteGreenstoneServerAction.DownloadCollectionAction(collection_name));
+    }
+
+
+    public String downloadCollectionArchives(String collection_name)
+    {
+	return performAction(new RemoteGreenstoneServerAction.DownloadCollectionArchivesAction(collection_name));
+    }
+
+
+    public String downloadCollectionConfigurations()
+    {
+	return performAction(new RemoteGreenstoneServerAction.DownloadCollectionConfigurationsAction());
+    }
+
+
+    public String downloadCollectionFile(String collection_name, File collection_file)
+    {
+	return performAction(new RemoteGreenstoneServerAction.DownloadCollectionFileAction(collection_name, collection_file));
+    }
+    
+    // get web.xml from the server -- for a remote gli of GS3
+    public String downloadWebXMLFile()
+    {
+	return performAction(new RemoteGreenstoneServerAction.DownloadWebXMLFileAction());
+    }
+
+    public String getScriptOptions(String script_name, String script_arguments)
+    {
+	return performAction(new RemoteGreenstoneServerAction.GetScriptOptionsAction(script_name, script_arguments));
+    }
+    
+    //get all available site names from the server -- for a remote gli of GS3
+    public String getSiteNames()
+    {
+	return performAction(new RemoteGreenstoneServerAction.GetSiteNamesAction());
+    }
+
+    public String moveCollectionFile(String collection_name, File source_collection_file, File target_collection_file)
+    {
+	return performAction(new RemoteGreenstoneServerAction.MoveCollectionFileAction(
+                             collection_name, source_collection_file, target_collection_file));
+    }
+
+
+    public String newCollectionDirectory(String collection_name, File new_collection_directory)
+    {
+	return performAction(new RemoteGreenstoneServerAction.NewCollectionDirectoryAction(
+                             collection_name, new_collection_directory));
+    }
+
+
+    public String runScript(String collection_name, String script_name, String script_arguments, GShell shell)
+    {
+	return performAction(new RemoteGreenstoneServerAction.RunScriptAction(
+                             collection_name, script_name, script_arguments, shell));
+    }
+
+
+    public String uploadCollectionFile(String collection_name, File collection_file)
+    {
+	return performAction(new RemoteGreenstoneServerAction.UploadCollectionFilesAction(
+                             collection_name, new File[] { collection_file }));
+    }
+
+
+    public String uploadCollectionFiles(String collection_name, File[] collection_files)
+    {
+	return performAction(new RemoteGreenstoneServerAction.UploadCollectionFilesAction(collection_name, collection_files));
+    }
+
+
+    public String uploadFilesIntoCollection(String collection_name, File[] source_files, File target_collection_directory)
+    {
+	return performAction(new RemoteGreenstoneServerAction.UploadFilesIntoCollectionAction(
+                             collection_name, source_files, target_collection_directory));
+    }
+
+    public boolean exists(String collection_name, File collection_file)
+    {
+	String result = performAction(new RemoteGreenstoneServerAction.ExistsAction(collection_name, collection_file));
+	if(result.indexOf("exists") != -1) {
+	    return true;
+	}
+	else if(result.indexOf("does not exist") != -1) {
+	    return false;
+	}
+	return false;
+    }
+
+    public int getGreenstoneVersion()
+    {
+	// returns message "Greenstone version is: <version number of the Greenstone remote server>"
+	String result = performAction(new RemoteGreenstoneServerAction.VersionAction());
+	int index = result.indexOf(":"); 
+	if(index != -1) {
+	    result = result.substring(index+1).trim(); // skip the space after colon, must remove surrounding spaces
+	}
+	int greenstoneVersion = Integer.parseInt(result);
+	return greenstoneVersion;
+    }
+
+    /** For constructing the preview command (the library URL) with */
+    public String getLibraryURL(String serverHomeURL)
+    {
+	// returns message "Greenstone library URL suffix is: <e.g. /greenstone3/library or /gsdl/cgi-bin/library>"
+	String libSuffix = performAction(new RemoteGreenstoneServerAction.LibraryURLSuffixAction());
+	int index = libSuffix.indexOf(":"); 
+	if(index != -1) {
+	    libSuffix = libSuffix.substring(index+1).trim(); // skip the space after colon and remove surrounding spaces
+	}
+	
+	// serverHomeURL is of the form, http://domain/other/stuff. We want the prefix upto & including domain
+	// and prepend that to the libraryURLSuffix
+	index = -1;
+	for(int i = 0; i < 3; i++) {
+	    index = serverHomeURL.indexOf("/", index+1);
+	    if(index == -1) { // shouldn't happen, but if it does, we'll be in an infinite loop
+		break; 
+	    }
+	}
+	serverHomeURL = serverHomeURL.substring(0, index);
+	return serverHomeURL + libSuffix;
+    }
+
+    // ----------------------------------------------------------------------------------------------------
+
+
+    public void exit()
+    {
+	System.err.println("Exiting, number of jobs on queue: " + remote_greenstone_server_action_queue.size());
+
+	// If there are still jobs on the queue we must wait for the jobs to finish
+	while (remote_greenstone_server_action_queue.size() > 0) {
+	    synchronized (remote_greenstone_server_action_queue) {
+		try {
+		    DebugStream.println("Waiting for queue to become empty...");
+		    remote_greenstone_server_action_queue.wait(500);
+		}
+		catch (InterruptedException exception) {}
+	    }
+	}
+    }
+    
+
+    // ----------------------------------------------------------------------------------------------------
+    //   QUEUE LAYER
+    // ----------------------------------------------------------------------------------------------------
+
+
+    /** Returns null if we cannot wait for the action to finish, "" if the action failed, or the action output. */
+    private String performAction(RemoteGreenstoneServerAction remote_greenstone_server_action)
+    {
+	// Check for whether the queue thread stopped running because 
+	// the user cancelled out. If so, exit GLI.
+	if(remote_greenstone_server_action_queue.hasExited()) {
+	    remote_greenstone_server_action_queue.clear();
+	    //remote_greenstone_server_action_queue = null;
+	    Gatherer.exit();
+	    return "";
+	}
+
+	// Add the action to the queue
+	remote_greenstone_server_action_queue.addAction(remote_greenstone_server_action);
+	String threadName = Thread.currentThread().getName();
+
+	// If we're running in the GUI thread we must return immediately
+	// We cannot wait for the action to complete because this will block any GUI updates
+	if (SwingUtilities.isEventDispatchThread()) {
+	    System.err.println(threadName 
+			       + "\tACTION QUEUED: In event dispatch thread, returning immediately...\n\t" 
+			       + remote_greenstone_server_action);
+	    return null;
+	}
+
+	// Otherwise wait until the action is processed
+	try {
+	    synchronized (remote_greenstone_server_action) {
+		while(!remote_greenstone_server_action.processed) {
+		    //System.err.println("Waiting for action to complete...: " + remote_greenstone_server_action);
+		    DebugStream.println("Waiting for action to complete...");
+		    remote_greenstone_server_action.wait(); // wait to be notified when the action has been processed 
+		}
+	    }
+	} catch (Exception e) {
+	    System.err.println("RemoteGreenstoneServer.performAction() - exception: " + e);
+	    e.printStackTrace();
+	}
+
+	// Return "" if the action failed
+	if (!remote_greenstone_server_action.processed_successfully) {
+	    return "";
+	}
+	// Otherwise return the action output
+	return remote_greenstone_server_action.action_output;
+    }
+
+
+    // ----------------------------------------------------------------------------------------------------
+    //   PROGRESS BAR
+    // ----------------------------------------------------------------------------------------------------
+
+    static class ProgressBar
+	extends JProgressBar
+    {
+	public ProgressBar()
+	{
+	    setBackground(Configuration.getColor("coloring.collection_tree_background", false));
+	    setForeground(Configuration.getColor("coloring.collection_tree_foreground", false));
+	    setString(Dictionary.get("FileActions.No_Activity"));
+	    setStringPainted(true);
+	}
+
+	/** synchronized to avoid conflicts since several threads access this */
+	synchronized public void setAction(String action)
+	{
+	    if (action != null) {
+		DebugStream.println(action);
+	    }
+
+	    // We cannot call this from the GUI thread otherwise the progress bar won't start
+	    if (SwingUtilities.isEventDispatchThread()) {
+		System.err.println("ERROR: RemoteGreenstoneServerProgressBar.setAction() called from event dispatch thread!");
+		return;
+	    }
+
+	    // Set the string on the progress bar, and start or stop it
+	    if (action == null) {
+		setString(Dictionary.get("FileActions.No_Activity"));
+		setIndeterminate(false);
+	    }
+	    else {
+		setString(action);
+		setIndeterminate(true);
+	    }
+	}
+    }
+    
+    /** synchronized to avoid conflicts since several threads access this */
+    synchronized public RemoteGreenstoneServer.ProgressBar getProgressBar()
+    {
+	return progress_bar;
+    }
+
+
+    // ----------------------------------------------------------------------------------------------------
+    //   AUTHENTICATION LAYER
+    // ----------------------------------------------------------------------------------------------------
+
+    static private class RemoteGreenstoneServerAuthenticateTask
+	extends Thread
+    {
+	public void run()
+	{
+	    remote_greenstone_server_authentication = new RemoteGreenstoneServerAuthenticator().getAuthentication();
+	}
+    
+
+	static private class RemoteGreenstoneServerAuthenticator
+	    extends GAuthenticator
+	{
+	    public PasswordAuthentication getAuthentication(String username, String password)
+	    {
+		return getPasswordAuthentication(username,password);
+	    }
+
+	    public PasswordAuthentication getAuthentication()
+	    {
+		return getPasswordAuthentication();
+	    }
+
+	    protected String getMessageString()
+	    {
+		if (Gatherer.GS3){
+		    return (Dictionary.get("RemoteGreenstoneServer.Authentication_Message_gs3") + " " + Configuration.site_name);
+		}
+		return Dictionary.get("RemoteGreenstoneServer.Authentication_Message");
+	    }
+ 	}
+    }
+    
+    public void set_remote_greenstone_server_authentication_to_null() {
+	remote_greenstone_server_authentication = null;
+    }
+
+    private void authenticateUser()
+	throws RemoteGreenstoneServerAction.ActionCancelledException
+    {
+	// If we don't have any authentication information then ask for it now
+	if (remote_greenstone_server_authentication == null) {
+	    try {
+		// We have to do this on the GUI thread
+		SwingUtilities.invokeAndWait(new RemoteGreenstoneServerAuthenticateTask());
+	    }
+	    catch (Exception exception) {
+		System.err.println("Exception occurred when authenticating the user: " + exception);
+		DebugStream.printStackTrace(exception);
+	    }
+
+	    // If it is still null then the user has cancelled the authentication, so the action is cancelled
+	    if (remote_greenstone_server_authentication == null) {
+		throw new RemoteGreenstoneServerAction.ActionCancelledException();
+	    }
+	}
+    }
+
+
+    public String getUsername()
+    {
+	if (remote_greenstone_server_authentication != null) {
+	    return remote_greenstone_server_authentication.getUserName();
+	}
+
+	return null;
+    }
+
+
+    // ----------------------------------------------------------------------------------------------------
+    //   REQUEST LAYER
+    // ----------------------------------------------------------------------------------------------------
+
+
+    /** Returns the command output if the action completed, throws some kind of exception otherwise. */
+    String downloadFile(String gliserver_args, String file_path)
+	throws Exception
+    {
+	while (true) {
+	    // Check that Configuration.gliserver_url is set
+	    if (Configuration.gliserver_url == null) {
+		throw new Exception("Empty gliserver URL: please set this in Preferences before continuing.");
+	    }
+
+	    // Ask for authentication information (if necessary), then perform the action
+	    authenticateUser();
+	    String gliserver_url_string = Configuration.gliserver_url.toString();
+	    String command_output = downloadFileInternal(gliserver_url_string, gliserver_args, file_path);
+
+	    // Debugging - print any ok messages to stderr
+	    //System.err.println("**** RECEIVED (sendCommandToServer()): " + command_output);
+
+	    // Check the first line to see if authentication has failed; if so, go around the loop again
+	    if (command_output.startsWith("ERROR: Authentication failed:")) {
+		JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("RemoteGreenstoneServer.Error", command_output.substring("ERROR: ".length())), Dictionary.get("RemoteGreenstoneServer.Error_Title"), JOptionPane.ERROR_MESSAGE);
+		remote_greenstone_server_authentication = null;
+		continue;
+	    }
+	    // Check if the collection is locked by someone else; if so, see if the user wants to steal the lock
+	    else if (command_output.startsWith("ERROR: Collection is locked by: ")) {
+		if (JOptionPane.showConfirmDialog(Gatherer.g_man, Dictionary.get("RemoteGreenstoneServer.Steal_Lock_Message", command_output.substring("ERROR: Collection is locked by: ".length())), Dictionary.get("RemoteGreenstoneServer.Error_Title"), JOptionPane.YES_NO_OPTION) == JOptionPane.NO_OPTION) {
+		    // The user has decided to cancel the action
+		    throw new RemoteGreenstoneServerAction.ActionCancelledException();
+		}
+
+		// The user has decided to steal the lock... rerun the command with "&steal_lock="
+		gliserver_args += "&steal_lock=";
+		continue;
+	    }
+	    // Handle other types of errors by throwing an exception
+	    else if (command_output.startsWith("ERROR: ")) {
+		throw new Exception(command_output.substring("ERROR: ".length()));
+	    }
+
+	    // There were no exceptions thrown so the action must have succeeded
+	    return command_output;
+	}
+    }
+
+    /** Returns true or false depending on whether authentication is required for the cmd 
+     * string embedded in the given gliserver_args. No authentication is required for either 
+     * of the commands greenstone-server-version and get-library-url-suffix. */
+    private boolean isAuthenticationRequired(String gliserver_args) {
+	return ((gliserver_args.indexOf("greenstone-server-version") == -1) 
+		&& (gliserver_args.indexOf("get-library-url-suffix") == -1));
+    }
+
+
+    /** Returns the command output if the action completed, throws some kind of exception otherwise. 
+     *  Package access, so that RemoteGreenstoneServerAction.java can call this.
+     */
+    String sendCommandToServer(String gliserver_args, GShell shell)
+	throws Exception
+    {
+	while (true) {
+	    
+	    // Check that Configuration.gliserver_url is set
+	    if (Configuration.gliserver_url == null) {
+		throw new Exception("Empty gliserver URL: please set this in Preferences before continuing.");
+	    }
+
+	    // Ask for authentication information (if necessary), then perform the action
+	    if(isAuthenticationRequired(gliserver_args)) {
+		authenticateUser();
+	    }
+	    String gliserver_url_string = Configuration.gliserver_url.toString();
+	    String command_output = sendCommandToServerInternal(gliserver_url_string, gliserver_args, shell);
+	    	    
+	    // Debugging - print any ok messages to stderr
+	    //if(!(command_output.trim().startsWith("<"))) {
+	    //System.err.println("**** RECEIVED (sendCommandToServer()): " + command_output);
+	    //}
+		
+	    // Check the first line to see if authentication has failed; if so, go around the loop again
+	    if (command_output.startsWith("ERROR: Authentication failed:")) {
+		JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("RemoteGreenstoneServer.Error", command_output.substring("ERROR: ".length())), Dictionary.get("RemoteGreenstoneServer.Error_Title"), JOptionPane.ERROR_MESSAGE);
+		remote_greenstone_server_authentication = null;
+		continue;
+	    }
+	    // Check if the collection is locked by someone else; if so, see if the user wants to steal the lock
+	    else if (command_output.startsWith("ERROR: Collection is locked by: ")) {
+		if (JOptionPane.showConfirmDialog(Gatherer.g_man, Dictionary.get("RemoteGreenstoneServer.Steal_Lock_Message", command_output.substring("ERROR: Collection is locked by: ".length())), Dictionary.get("RemoteGreenstoneServer.Error_Title"), JOptionPane.YES_NO_OPTION) == JOptionPane.NO_OPTION) {
+		    // The user has decided to cancel the action
+		    throw new RemoteGreenstoneServerAction.ActionCancelledException();
+		}
+
+		// The user has decided to steal the lock... rerun the command with "&steal_lock="
+		gliserver_args += "&steal_lock=";
+		continue;
+	    }
+	    // Handle other types of errors by throwing an exception
+	    else if (command_output.startsWith("ERROR: ")) { 
+		throw new Exception(command_output.substring("ERROR: ".length()));
+	    } else if (command_output.indexOf("ERROR: ") != -1) { // check if ERROR occurs anywhere else in the output
+		throw new Exception(command_output);
+	    }
+
+	    
+	    // There were no exceptions thrown so the action must have succeeded
+	    return command_output;
+	}
+    }
+
+
+    /** Returns the command output if the action completed, throws some kind of exception otherwise. */
+    String uploadFile(String gliserver_args, String file_path)
+	throws Exception
+    {
+	while (true) {
+	    // Check that Configuration.gliserver_url is set
+	    if (Configuration.gliserver_url == null) {
+		throw new Exception("Empty gliserver URL: please set this in Preferences before continuing.");
+	    }
+
+	    // Ask for authentication information (if necessary), then perform the action
+	    authenticateUser();
+	    String gliserver_url_string = Configuration.gliserver_url.toString();
+	    String command_output = uploadFileInternal(gliserver_url_string, gliserver_args, file_path);
+	    // System.err.println("Command output: " + command_output);
+
+	    // Check the first line to see if authentication has failed; if so, go around the loop again
+	    if (command_output.startsWith("ERROR: Authentication failed:")) {
+		JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("RemoteGreenstoneServer.Error", command_output.substring("ERROR: ".length())), Dictionary.get("RemoteGreenstoneServer.Error_Title"), JOptionPane.ERROR_MESSAGE);
+		remote_greenstone_server_authentication = null;
+		continue;
+	    }
+	    // Check if the collection is locked by someone else; if so, see if the user wants to steal the lock
+	    else if (command_output.startsWith("ERROR: Collection is locked by: ")) {
+		if (JOptionPane.showConfirmDialog(Gatherer.g_man, Dictionary.get("RemoteGreenstoneServer.Steal_Lock_Message", command_output.substring("ERROR: Collection is locked by: ".length())), Dictionary.get("RemoteGreenstoneServer.Error_Title"), JOptionPane.YES_NO_OPTION) == JOptionPane.NO_OPTION) {
+		    // The user has decided to cancel the action
+		    throw new RemoteGreenstoneServerAction.ActionCancelledException();
+		}
+
+		// The user has decided to steal the lock... rerun the command with "&steal_lock="
+		gliserver_args += "&steal_lock=";
+		continue;
+	    }
+	    // Handle other types of errors by throwing an exception
+	    else if (command_output.startsWith("ERROR: ")) {
+		throw new Exception(command_output.substring("ERROR: ".length()));
+	    }
+
+	    // There were no exceptions thrown so the action must have succeeded
+	    return command_output;
+	}
+    }
+
+
+    // ----------------------------------------------------------------------------------------------------
+    //   NETWORK LAYER
+    // ----------------------------------------------------------------------------------------------------
+
+
+    /** Returns the command output if the action completed, throws some kind of exception otherwise. */
+    private String downloadFileInternal(String download_cgi, String cgi_args, String file_path)
+	throws Exception
+    {
+	DebugStream.println("gliserver URL: " + download_cgi);
+	System.err.println("gliserver args: " + cgi_args);
+
+	// Add username and password, and a timestamp
+	cgi_args += "&un=" + remote_greenstone_server_authentication.getUserName();
+	cgi_args += "&pw=" + new String(remote_greenstone_server_authentication.getPassword());
+	cgi_args += "&ts=" + System.currentTimeMillis();
+	if (Gatherer.GS3){
+	    cgi_args += "&site=" + Configuration.site_name;
+	}
+
+	URL download_url = new URL(download_cgi);
+	URLConnection dl_connection = download_url.openConnection();
+	dl_connection.setDoOutput(true);
+	OutputStream dl_os = dl_connection.getOutputStream();
+
+	PrintWriter dl_out = new PrintWriter(dl_os);
+	dl_out.println(cgi_args);
+	dl_out.close();
+
+	// Download result from running cgi script
+	InputStream dl_is = dl_connection.getInputStream();
+	BufferedInputStream dl_bis = new BufferedInputStream(dl_is);
+	DataInputStream dl_dbis = new DataInputStream(dl_bis);
+
+	String first_line = "";
+	byte[] buf = new byte[1024];
+	int len = dl_dbis.read(buf);
+	if (len >= 0) {
+	    String first_chunk = new String(buf, 0, len);
+	    // first_line = first_chunk.substring(0, ((first_chunk.indexOf("\n") != -1) ? first_chunk.indexOf("\n") : len));
+	    first_line = first_chunk.substring(0, ((first_chunk.indexOf("\n") != -1) ? first_chunk.indexOf("\n") : ((first_chunk.length()<len) ? first_chunk.length():len)));
+	    // Save the data to file
+	    FileOutputStream zip_fos = new FileOutputStream(file_path);
+	    BufferedOutputStream zip_bfos = new BufferedOutputStream(zip_fos);
+
+	    while (len >= 0) {
+		zip_bfos.write(buf, 0, len);
+		len = dl_dbis.read(buf);
+	    }
+
+	    zip_bfos.close();
+	    zip_fos.close();
+	}
+
+	dl_dbis.close();
+	dl_bis.close();
+	dl_is.close();
+	return first_line;
+    }
+
+
+    /** Returns the command output if the action completed, throws some kind of exception otherwise. */
+    private String sendCommandToServerInternal(String gliserver_url_string, String cgi_args, GShell shell)
+	throws Exception
+    {
+	DebugStream.println("gliserver URL: " + gliserver_url_string);
+	System.err.println("gliserver args: " + cgi_args);
+
+	// Add username and password, and a timestamp
+	if(isAuthenticationRequired(cgi_args)) {
+	    cgi_args += "&un=" + remote_greenstone_server_authentication.getUserName();
+	    cgi_args += "&pw=" + new String(remote_greenstone_server_authentication.getPassword());
+	}
+	cgi_args += "&ts=" + System.currentTimeMillis();
+	if (Gatherer.GS3){
+	    cgi_args += "&site=" + Configuration.site_name;
+	}
+
+	URL gliserver_url = new URL(gliserver_url_string + "?" + cgi_args);
+	URLConnection gliserver_connection = gliserver_url.openConnection();
+
+	// Read the output of the command from the server, and return it
+	StringBuffer command_output_buffer = new StringBuffer(2048);
+	InputStream gliserver_is = gliserver_connection.getInputStream();
+	BufferedReader gliserver_in = new BufferedReader(new InputStreamReader(gliserver_is, "UTF-8"));
+	String gliserver_output_line = gliserver_in.readLine();
+	while (gliserver_output_line != null) {
+	    if (shell != null) {
+		shell.fireMessage(gliserver_output_line);
+		if (shell.hasSignalledStop()) {
+		    throw new RemoteGreenstoneServerAction.ActionCancelledException();
+		}
+	    }
+	    command_output_buffer.append(gliserver_output_line + "\n");
+	    gliserver_output_line = gliserver_in.readLine();
+	}
+	gliserver_in.close();
+
+	return command_output_buffer.toString();
+    }
+
+	       
+    /** Returns the command output if the action completed, throws some kind of exception otherwise. */
+    private String uploadFileInternal(String upload_cgi, String cgi_args, String file_path)
+	throws Exception
+    {
+	System.err.println("gliserver URL: " + upload_cgi);
+	System.err.println("gliserver args: " + cgi_args);
+
+	//For a remote GS3
+	//GS3 is running on Tomcat, and Tomcat requires a connection timeout to be set up at the client
+	//side while uploading files. As HttpURLConnection couldn't set the connection timeout, HttpClient.jar 
+	//from Jakarta is applied to solve this problem only for uploading files. 
+	if (Gatherer.GS3) {
+
+	    // Setup the POST method
+	    PostMethod httppost = new PostMethod(upload_cgi+"?"+cgi_args); // cgi_args: QUERY_STRING on perl server side
+	    		    
+	    // construct the multipartrequest form
+	    String[] cgi_array=cgi_args.split("&");// get parameter-value pairs from cgi_args string
+	    Part[] parts=new Part[cgi_array.length+5];
+	    
+	    // The FilePart: consisting of the (cgi-arg) name and (optional) filename in the Content-Disposition 
+	    // of the POST request Header (see CGI.pm), and the actual zip file itself. It uses the defaults:
+	    // Content-Type: application/octet-stream; charset=ISO-8859-1,Content-Transfer-Encoding: binary
+	    parts[0]= new FilePart("uploaded_file", "zipFile", new File(file_path));
+
+	    parts[1]= new StringPart("un", remote_greenstone_server_authentication.getUserName());
+	    parts[2]= new StringPart("pw", new String(remote_greenstone_server_authentication.getPassword()));
+	    parts[3]= new StringPart("ts", String.valueOf(System.currentTimeMillis()));
+	    parts[4]= new StringPart("site", Configuration.site_name);
+	    // find all parameters of cgi-args and add them into Part[]
+	    for (int i=0; i<cgi_array.length;i++){
+		parts[5+i]=new StringPart(cgi_array[i].substring(0,cgi_array[i].indexOf("=")),cgi_array[i].substring(cgi_array[i].indexOf("=")+1,cgi_array[i].length()));
+	    }
+
+	    // set MultipartRequestEntity on the POST method
+	    httppost.setRequestEntity(new MultipartRequestEntity(parts, httppost.getParams()));
+
+	    // See file gli/request.txt for the multipart request that's been generated:
+	    //httppost.getRequestEntity().writeRequest(new FileOutputStream("request.txt", true)); // true: appends
+	    
+	    //set up the HttpClient connection
+	    HttpClient client=new HttpClient();	
+	    client.getParams().setBooleanParameter(HttpMethodParams.USE_EXPECT_CONTINUE, false);
+	    client.getParams().setConnectionManagerTimeout(200000); //set the connection timeout
+	    // get the output of the command from the server
+	    String command_output = ""; 
+	    try{
+		client.executeMethod(httppost);
+		if (httppost.getStatusCode() == HttpStatus.SC_OK) {
+		    command_output = httppost.getStatusLine().toString();
+		} else {
+		    command_output = httppost.getStatusLine().toString();
+		    System.out.println("Unexpected failure: " + httppost.getStatusLine().toString());
+		}
+	    }catch(IOException e){
+		e.printStackTrace();
+	    }finally{
+		httppost.releaseConnection();
+	    }
+	    return command_output;
+	}
+
+	//For a remote GS2
+	// Add username and password, and a timestamp
+	cgi_args += "&un=" + remote_greenstone_server_authentication.getUserName();
+	cgi_args += "&pw=" + new String(remote_greenstone_server_authentication.getPassword());
+	cgi_args += "&ts=" + System.currentTimeMillis();
+
+	// Open a HTTP connection to the URL
+	URL url = new URL(upload_cgi);
+	HttpURLConnection gliserver_connection = (HttpURLConnection) url.openConnection();
+
+	gliserver_connection.setDoInput(true);         // Allow Inputs
+	gliserver_connection.setDoOutput(true);        // Allow Outputs
+	gliserver_connection.setUseCaches(false);      // Don't use a cached copy.
+
+	gliserver_connection.setRequestProperty("Connection", "Keep-Alive");	    
+
+	// Send zip file to server
+	File file = new File(file_path);
+	FileInputStream fileInputStream = new FileInputStream(file);
+
+	// Add file size argument, because IIS 6 needs a lot of help
+	int file_size = fileInputStream.available();
+	cgi_args += "&fs=" + file_size;
+
+	DataOutputStream dos = new DataOutputStream(gliserver_connection.getOutputStream());
+	dos.writeBytes(cgi_args + "\n");
+
+	// create a buffer of maximum size
+	final int maxBufferSize = 1024;
+	int bytesAvailable = file_size;
+	int bufferSize = Math.min(bytesAvailable, maxBufferSize);
+	byte[] buffer = new byte[bufferSize];
+
+	// read file and write it into form...
+	// !! This uses a lot of memory when the file being uploaded is big -- Java seems to need to keep
+	//   the entire file in the DataOutputStream? (Use Runtime.getRuntime().totalMemory() to see)
+	int bytesRead = fileInputStream.read(buffer, 0, bufferSize);
+	while (bytesRead > 0) {
+	    dos.write(buffer, 0, bytesRead);
+	    bytesAvailable = fileInputStream.available();
+	    bufferSize = Math.min(bytesAvailable, maxBufferSize);
+	    bytesRead = fileInputStream.read(buffer, 0, bufferSize);
+	}
+
+	// close streams
+	fileInputStream.close();
+	dos.flush();
+	dos.close();
+
+	// Read the output of the command from the server, and return it
+	String command_output = "";
+	InputStream gliserver_is = gliserver_connection.getInputStream();
+	BufferedReader gliserver_in = new BufferedReader(new InputStreamReader(gliserver_is, "UTF-8"));
+	String gliserver_output_line = gliserver_in.readLine();
+	while (gliserver_output_line != null) {
+	    command_output += gliserver_output_line + "\n";
+	    gliserver_output_line = gliserver_in.readLine();
+	}
+	gliserver_in.close();
+
+	return command_output;
+    }
+
+
+    // ----------------------------------------------------------------------------------------------------
+    //   UTILITIES
+    // ----------------------------------------------------------------------------------------------------
+
+
+    public String getPathRelativeToDirectory(File file, String directory_path)
+    {
+	String file_path = file.getAbsolutePath();
+	if (!file_path.startsWith(directory_path)) {
+	    System.err.println("ERROR: File path " + file_path + " is not a child of " + directory_path);
+	    return file_path;
+	}
+
+	String relative_file_path = file_path.substring(directory_path.length());
+	if (relative_file_path.startsWith(File.separator)) {
+	    relative_file_path = relative_file_path.substring(File.separator.length());
+	}
+	return relative_file_path;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/remote/RemoteGreenstoneServerAction.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/remote/RemoteGreenstoneServerAction.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/remote/RemoteGreenstoneServerAction.java	(revision 21123)
@@ -0,0 +1,653 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Greenstone Librarian Interface application, part of 
+ * the Greenstone digital library suite from the New Zealand Digital 
+ * Library Project at the University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato
+ *
+ * Copyright (C) 2005 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+*/
+
+package org.greenstone.gatherer.remote;
+
+import java.io.*;
+import java.net.*;
+import java.util.*;
+import java.util.zip.*;
+import javax.swing.*;
+import java.io.ByteArrayOutputStream;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.FedoraInfo;
+import org.greenstone.gatherer.GAuthenticator;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.feedback.Base64;
+import org.greenstone.gatherer.shell.GShell;
+import org.greenstone.gatherer.util.UnzipTools;
+import org.greenstone.gatherer.util.Utility;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.apache.commons.httpclient.methods.GetMethod;
+import org.apache.commons.httpclient.HttpException;
+import org.apache.commons.httpclient.methods.multipart.FilePart;
+import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
+import org.apache.commons.httpclient.methods.multipart.Part;
+import org.apache.commons.httpclient.methods.multipart.*;
+import org.apache.commons.httpclient.params.*;
+import org.apache.commons.httpclient.HttpStatus;
+
+
+// Code moved here from RemoteGreenstoneServer.java
+// ----------------------------------------------------------------------------------------------------
+//   ACTIONS
+// ----------------------------------------------------------------------------------------------------
+/** RemoteGreenstoneServer Actions that can go into the remote GS server's  ActionQueue.
+ * Contains many package access inner classes that are Actions.   
+*/
+public abstract class RemoteGreenstoneServerAction
+{
+    public String action_output = null;
+    public boolean processed = false;
+    public boolean processed_successfully;
+    
+    protected RemoteGreenstoneServer remote = null;
+    protected RemoteGreenstoneServer.ProgressBar progress_bar = null;
+
+    public RemoteGreenstoneServerAction() {
+	remote = Gatherer.remoteGreenstoneServer;
+	progress_bar = remote.getProgressBar();
+    }
+
+    abstract public void perform()
+	throws Exception;
+
+    /*
+      protected String sendCommandToServer(String gliserver_args, GShell shell) 
+      throws Exception
+      {
+      return Gatherer.remoteGreenstoneServer.sendCommandToServer(gliserver_args, shell);
+      }
+      
+      protected void setAction(String action) {
+      Gatherer.remoteGreenstoneServer.progress_bar.setAction(action);
+    }*/
+    
+    static class ActionCancelledException
+	extends Exception
+    {
+    }
+
+    /**
+     * --------------------------------------------------------------------------------------------
+     *    DELETE COLLECTION
+     * --------------------------------------------------------------------------------------------
+     */
+    static class DeleteCollectionAction
+	extends RemoteGreenstoneServerAction
+    {
+	private String collection_name;
+
+	public DeleteCollectionAction(String collection_name)
+	{
+	    this.collection_name = collection_name;
+	}
+
+	public void perform()
+	    throws Exception
+	{
+	    progress_bar.setAction("Deleting collection " + collection_name + "...");
+
+	    String delete_collection_command = "cmd=delete-collection";
+	    delete_collection_command += "&c=" + URLEncoder.encode(collection_name, "UTF-8");
+	    action_output = remote.sendCommandToServer(delete_collection_command, null);
+	}
+    }
+
+
+    /**
+     * --------------------------------------------------------------------------------------------
+     *    DELETE COLLECTION FILE
+     * --------------------------------------------------------------------------------------------
+     */
+    static class DeleteCollectionFileAction
+	extends RemoteGreenstoneServerAction
+    {
+	private String collection_name;
+	private File collection_file;
+
+	public DeleteCollectionFileAction(String collection_name, File collection_file)
+	{
+	    this.collection_name = collection_name;
+	    this.collection_file = collection_file;
+	}
+
+	public void perform()
+	    throws Exception
+	{
+	    String collection_directory_path = CollectionManager.getCollectionDirectoryPath(collection_name);
+	    String collection_file_relative_path = remote.getPathRelativeToDirectory(collection_file, collection_directory_path);
+	    collection_file_relative_path = collection_file_relative_path.replaceAll((Utility.isWindows() ? "\\\\" : "\\/"), "|");
+	    progress_bar.setAction("Deleting collection file " + collection_file_relative_path + "...");
+
+	    String delete_collection_file_command = "cmd=delete-collection-file";
+	    delete_collection_file_command += "&c=" + URLEncoder.encode(collection_name, "UTF-8");
+	    delete_collection_file_command += "&file=" + Base64.encodeBytes(collection_file_relative_path.getBytes());
+	    action_output = remote.sendCommandToServer(delete_collection_file_command, null);
+	}
+    }
+
+
+    /**
+     * --------------------------------------------------------------------------------------------
+     *    DOWNLOAD COLLECTION
+     * --------------------------------------------------------------------------------------------
+     */
+    static class DownloadCollectionAction
+	extends RemoteGreenstoneServerAction
+    {
+	private String collection_name;
+
+	public DownloadCollectionAction(String collection_name)
+	{
+	    this.collection_name = collection_name;
+	}
+
+	public void perform()
+	    throws Exception
+	{
+	    progress_bar.setAction("Downloading remote collection " + collection_name + "...");
+
+	    String download_collection_command = "cmd=download-collection";
+	    download_collection_command += "&c=" + URLEncoder.encode(collection_name, "UTF-8");
+	    download_collection_command += "&lr=" + remote.lang_region;
+	    String zip_file_path = Gatherer.getCollectDirectoryPath() + collection_name + ".zip";
+	    action_output = remote.downloadFile(download_collection_command, zip_file_path);
+
+	    // Delete the existing (local) collection directory
+	    Utility.delete(new File(CollectionManager.getCollectionDirectoryPath(collection_name)));
+
+	    // Unzip the collection just downloaded
+	    UnzipTools.unzipFile(zip_file_path, Gatherer.getCollectDirectoryPath());
+	}
+    }
+
+
+    /**
+     * --------------------------------------------------------------------------------------------
+     *    DOWNLOAD COLLECTION ARCHIVES
+     * --------------------------------------------------------------------------------------------
+     */
+    static class DownloadCollectionArchivesAction
+	extends RemoteGreenstoneServerAction
+    {
+	private String collection_name;
+
+	public DownloadCollectionArchivesAction(String collection_name)
+	{
+	    this.collection_name = collection_name;
+	}
+
+	public void perform()
+	    throws Exception
+	{
+	    progress_bar.setAction("Downloading collection archives for " + collection_name + "...");
+
+	    String download_collection_archives_command = "cmd=download-collection-archives";
+	    download_collection_archives_command += "&c=" + URLEncoder.encode(collection_name, "UTF-8");
+	    download_collection_archives_command += "&lr=" + remote.lang_region;
+	    String zip_file_path = Gatherer.getCollectDirectoryPath() + collection_name + "-archives.zip";
+	    action_output = remote.downloadFile(download_collection_archives_command, zip_file_path);
+
+	    // Delete the existing (local) collection archives
+	    Utility.delete(new File(CollectionManager.getLoadedCollectionArchivesDirectoryPath()));
+
+	    // Unzip the collection archives just downloaded
+	    UnzipTools.unzipFile(zip_file_path, Gatherer.getCollectDirectoryPath());
+	}
+    }
+
+
+    /**
+     * --------------------------------------------------------------------------------------------
+     *    DOWNLOAD COLLECTION CONFIGURATIONS
+     * --------------------------------------------------------------------------------------------
+     */
+    static class DownloadCollectionConfigurationsAction
+	extends RemoteGreenstoneServerAction
+    {
+	public DownloadCollectionConfigurationsAction()
+	{
+	}
+
+	public void perform()
+	    throws Exception
+	{
+	    progress_bar.setAction("Downloading collection configurations...");
+
+	    // Delete the existing (local) collect directory
+	    Utility.delete(new File(Gatherer.getCollectDirectoryPath()));
+	    new File(Gatherer.getCollectDirectoryPath()).mkdirs();
+
+	    String download_collection_configurations_command = "cmd=download-collection-configurations";
+	    download_collection_configurations_command += "&lr=" + remote.lang_region;
+	    String zip_file_path = Gatherer.getCollectDirectoryPath() + "collections.zip";
+	    action_output = remote.downloadFile(download_collection_configurations_command, zip_file_path);
+
+	    // Unzip the collection configurations just downloaded
+	    UnzipTools.unzipFile(zip_file_path, Gatherer.getCollectDirectoryPath());
+	}
+    }
+
+     /**
+     * --------------------------------------------------------------------------------------------
+     *    DISCOVERING WHAT VERSION THE REMOTE GREENSTONE SERVER IS (2 or 3)
+     * --------------------------------------------------------------------------------------------
+     */
+
+    static class VersionAction
+	extends RemoteGreenstoneServerAction
+    {
+	public void perform()
+	    throws Exception
+	{
+	    action_output = remote.sendCommandToServer("cmd=greenstone-server-version", null);
+	}	
+    }
+
+    static class LibraryURLSuffixAction
+	extends RemoteGreenstoneServerAction
+    {
+	public void perform()
+	    throws Exception
+	{
+	    action_output = remote.sendCommandToServer("cmd=get-library-url-suffix", null);
+	}	
+    }
+    
+    /**
+     * --------------------------------------------------------------------------------------------
+     *    CHECKING IF A FILE/FOLDER EXISTS ON SERVER SIDE
+     * --------------------------------------------------------------------------------------------
+     */
+    static class ExistsAction 
+	extends RemoteGreenstoneServerAction
+    {
+	private String collection_name;
+	private File collection_file;
+	
+	public ExistsAction(String collection_name, File collection_file)
+	{
+	    this.collection_name = collection_name;
+	    this.collection_file = collection_file;
+	}
+	
+	public void perform()
+	    throws Exception
+	{
+	    String collection_directory_path = CollectionManager.getCollectionDirectoryPath(collection_name);
+	    String collection_file_relative_path = remote.getPathRelativeToDirectory(collection_file, collection_directory_path);
+	    collection_file_relative_path = collection_file_relative_path.replaceAll((Utility.isWindows() ? "\\\\" : "\\/"), "|");
+	    File file = new File(collection_directory_path, collection_file_relative_path);
+
+	    String file_exists_command = "cmd=file-exists";
+	    file_exists_command += "&c=" + URLEncoder.encode(collection_name, "UTF-8");
+	    // base64 encode the filename to preserve special characters
+	    file_exists_command += "&file=" + Base64.encodeBytes(collection_file_relative_path.getBytes());
+
+	    // returns either "File <filename> exists" or "File <filename> does not exist"
+	    // for the file/folder collection_file
+	    action_output = remote.sendCommandToServer(file_exists_command, null);
+	}	
+    }
+    
+
+    /**
+     * --------------------------------------------------------------------------------------------
+     *    DOWNLOAD COLLECTION FILE
+     * --------------------------------------------------------------------------------------------
+     */
+    static class DownloadCollectionFileAction
+	extends RemoteGreenstoneServerAction
+    {
+	private String collection_name;
+	private File collection_file;
+
+	public DownloadCollectionFileAction(String collection_name, File collection_file)
+	{
+	    this.collection_name = collection_name;
+	    this.collection_file = collection_file;
+	}
+
+	public void perform()
+	    throws Exception
+	{
+	    String collection_directory_path = CollectionManager.getCollectionDirectoryPath(collection_name);
+	    String collection_file_relative_path = remote.getPathRelativeToDirectory(collection_file, collection_directory_path);
+	    collection_file_relative_path = collection_file_relative_path.replaceAll((Utility.isWindows() ? "\\\\" : "\\/"), "|");
+	    progress_bar.setAction("Downloading collection file " + collection_file_relative_path + "...");
+
+	    String download_collection_file_command = "cmd=download-collection-file";
+	    download_collection_file_command += "&c=" + URLEncoder.encode(collection_name, "UTF-8");
+	    download_collection_file_command += "&file=" + URLEncoder.encode(collection_file_relative_path, "UTF-8");
+	    download_collection_file_command += "&lr=" + remote.lang_region;
+	    String zip_file_name = collection_name + "-" + collection_file.getName() + ".zip";
+	    String zip_file_path = collection_directory_path + zip_file_name;
+	    action_output = remote.downloadFile(download_collection_file_command, zip_file_path);
+
+	    // Unzip the collection file just downloaded
+	    UnzipTools.unzipFile(zip_file_path, collection_directory_path);
+	}
+    }
+
+    /**
+     * --------------------------------------------------------------------------------------------
+     *    DOWNLOAD web.xml FILE --for a remote GS3
+     * --------------------------------------------------------------------------------------------
+     */
+    static class DownloadWebXMLFileAction
+	extends RemoteGreenstoneServerAction
+    {
+	public DownloadWebXMLFileAction()
+	{}
+
+	public void perform()
+	    throws Exception
+	{
+	    String web_xml_directory_path=(Configuration.gli_user_directory_path);
+	    String download_web_xml_file_command = "cmd=download-web-xml-file";
+	    download_web_xml_file_command += "&file=" + URLEncoder.encode("web.xml", "UTF-8");
+	    download_web_xml_file_command += "&lr=" + remote.lang_region;
+	    String zip_file_name = "web-xml.zip";
+	    String zip_file_path = web_xml_directory_path + zip_file_name;
+	    action_output = remote.downloadFile(download_web_xml_file_command, zip_file_path);
+
+	    // Unzip the web.xml file just downloaded
+	    UnzipTools.unzipFile(zip_file_path,web_xml_directory_path);
+	}
+    }
+
+    /**
+     * --------------------------------------------------------------------------------------------
+     *    GET SCRIPT OPTIONS
+     * --------------------------------------------------------------------------------------------
+     */
+    static class GetScriptOptionsAction
+	extends RemoteGreenstoneServerAction
+    {
+	private String script_name;
+	private String script_arguments;
+
+	public GetScriptOptionsAction(String script_name, String script_arguments)
+	{
+	    this.script_name = script_name;
+	    this.script_arguments = script_arguments;
+	}
+
+	public void perform()
+	    throws Exception
+	{
+	    progress_bar.setAction("Getting options for " + script_name + "...");
+
+	    String get_script_options_command = "cmd=get-script-options";
+	    get_script_options_command += "&script=" + script_name;
+	    get_script_options_command += "&xml=";
+	    get_script_options_command += "&language=" + Configuration.getLanguage();
+	    get_script_options_command += script_arguments;
+	    action_output = remote.sendCommandToServer(get_script_options_command, null);
+	}
+    }
+
+    /**
+     * --------------------------------------------------------------------------------------------
+     *    GET ALL NAMES OF SITES // for a remote GS3 
+     * --------------------------------------------------------------------------------------------
+     */
+    static class GetSiteNamesAction
+	extends RemoteGreenstoneServerAction
+    {
+	public GetSiteNamesAction()
+	{}
+
+	public void perform()
+	    throws Exception
+	{
+	    progress_bar.setAction("Getting names of sites ...");
+
+	    String get_script_options_command = "cmd=get-site-names";
+	    action_output = remote.sendCommandToServer(get_script_options_command, null);
+	}
+    }
+
+    /**
+     * --------------------------------------------------------------------------------------------
+     *    MOVE COLLECTION FILE
+     * --------------------------------------------------------------------------------------------
+     */
+    static class MoveCollectionFileAction
+	extends RemoteGreenstoneServerAction
+    {
+	private String collection_name;
+	private File source_collection_file;
+	private File target_collection_file;
+
+	public MoveCollectionFileAction(String collection_name, File source_collection_file, File target_collection_file)
+	{
+	    this.collection_name = collection_name;
+	    this.source_collection_file = source_collection_file;
+	    this.target_collection_file = target_collection_file;
+	}
+
+	public void perform()
+	    throws Exception
+	{
+	    String collection_directory_path = CollectionManager.getCollectionDirectoryPath(collection_name);
+	    String source_collection_file_relative_path = remote.getPathRelativeToDirectory(
+                                                          source_collection_file, collection_directory_path);
+	    source_collection_file_relative_path = source_collection_file_relative_path.replaceAll((Utility.isWindows() ? "\\\\" : "\\/"), "|");
+	    String target_collection_file_relative_path = remote.getPathRelativeToDirectory(
+                                                          target_collection_file, collection_directory_path);
+	    target_collection_file_relative_path = target_collection_file_relative_path.replaceAll((Utility.isWindows() ? "\\\\" : "\\/"), "|");
+	    progress_bar.setAction("Moving file " + source_collection_file_relative_path + " -> " + target_collection_file_relative_path + "...");
+
+	    String move_collection_file_command = "cmd=move-collection-file";
+	    move_collection_file_command += "&c=" + URLEncoder.encode(collection_name, "UTF-8");
+	    move_collection_file_command += "&source=" + Base64.encodeBytes(source_collection_file_relative_path.getBytes());
+	    move_collection_file_command += "&target=" + Base64.encodeBytes(target_collection_file_relative_path.getBytes());
+	    //move_collection_file_command += "&source=" + URLEncoder.encode(source_collection_file_relative_path, "UTF-8");
+	    //move_collection_file_command += "&target=" + URLEncoder.encode(target_collection_file_relative_path, "UTF-8");
+	    action_output = remote.sendCommandToServer(move_collection_file_command, null);
+	}
+    }
+
+
+    /**
+     * --------------------------------------------------------------------------------------------
+     *    NEW COLLECTION DIRECTORY
+     * --------------------------------------------------------------------------------------------
+     */
+    static class NewCollectionDirectoryAction
+	extends RemoteGreenstoneServerAction
+    {
+	private String collection_name;
+	private File new_collection_directory;
+
+	public NewCollectionDirectoryAction(String collection_name, File new_collection_directory)
+	{
+	    this.collection_name = collection_name;
+	    this.new_collection_directory = new_collection_directory;
+	}
+
+	public void perform()
+	    throws Exception
+	{
+	    String collection_directory_path = CollectionManager.getCollectionDirectoryPath(collection_name);
+	    String new_collection_directory_relative_path = remote.getPathRelativeToDirectory(
+                                                            new_collection_directory, collection_directory_path);
+	    new_collection_directory_relative_path = new_collection_directory_relative_path.replaceAll((Utility.isWindows() ? "\\\\" : "\\/"), "|");
+	    progress_bar.setAction("Creating new directory " + new_collection_directory_relative_path + "...");
+
+	    String new_collection_directory_command = "cmd=new-collection-directory";
+	    new_collection_directory_command += "&c=" + URLEncoder.encode(collection_name, "UTF-8");
+	    new_collection_directory_command += "&directory=" + URLEncoder.encode(new_collection_directory_relative_path, "UTF-8");
+	    action_output = remote.sendCommandToServer(new_collection_directory_command, null);
+	}
+    }
+
+
+    /**
+     * --------------------------------------------------------------------------------------------
+     *    RUN SCRIPT
+     * --------------------------------------------------------------------------------------------
+     */
+    static class RunScriptAction
+	extends RemoteGreenstoneServerAction
+    {
+	private String collection_name;
+	private String script_name;
+	private String script_arguments;
+	private GShell shell;
+
+	public RunScriptAction(String collection_name, String script_name, String script_arguments, GShell shell)
+	{
+	    this.collection_name = collection_name;
+	    this.script_name = script_name;
+	    this.script_arguments = script_arguments;
+	    this.shell = shell;
+	}
+
+	public void perform()
+	    throws Exception
+	{
+	    progress_bar.setAction("Running " + script_name + "...");
+
+	    String run_script_command = "cmd=run-script";
+	    run_script_command += "&c=" + URLEncoder.encode(collection_name, "UTF-8");
+	    run_script_command += "&script=" + script_name;
+	    run_script_command += "&language=" + Configuration.getLanguage();
+	    run_script_command += script_arguments;
+	    action_output = remote.sendCommandToServer(run_script_command, shell);
+	}
+    }
+
+
+    /**
+     * --------------------------------------------------------------------------------------------
+     *    UPLOAD COLLECTION FILE
+     * --------------------------------------------------------------------------------------------
+     */
+    static class UploadCollectionFilesAction
+	extends RemoteGreenstoneServerAction
+    {
+	private String collection_name;
+	private File[] collection_files;
+
+
+	public UploadCollectionFilesAction(String collection_name, File[] collection_files)
+	{
+	    this.collection_name = collection_name;
+	    this.collection_files = collection_files;
+	}
+
+
+	public void perform()
+	    throws Exception
+	{
+	    progress_bar.setAction("Uploading collection files...");
+
+	    // Determine the file paths relative to the collection directory
+	    String collection_directory_path = CollectionManager.getCollectionDirectoryPath(collection_name);
+	    String[] collection_file_relative_paths = new String[collection_files.length];
+	    for (int i = 0; i < collection_files.length; i++) {
+		collection_file_relative_paths[i] = remote.getPathRelativeToDirectory(collection_files[i], collection_directory_path);
+	    }
+
+	    // Zip up the files to send to the server
+	    String zip_file_name = collection_name + "-" + System.currentTimeMillis() + ".zip";
+	    String zip_file_path = collection_directory_path + zip_file_name;
+	    ZipTools.zipFiles(zip_file_path, collection_directory_path, collection_file_relative_paths);
+	    
+	    // Upload the zip file
+	    String upload_collection_file_command = "cmd=upload-collection-file";
+	    upload_collection_file_command += "&c=" + URLEncoder.encode(collection_name, "UTF-8");
+	    upload_collection_file_command += "&file=" + URLEncoder.encode(zip_file_name, "UTF-8");
+	    upload_collection_file_command += "&directory=";
+	    upload_collection_file_command += "&zip=true";
+	    upload_collection_file_command += "&lr=" + remote.lang_region;
+	    action_output = remote.uploadFile(upload_collection_file_command, zip_file_path);
+	}
+    }
+
+
+    /**
+     * --------------------------------------------------------------------------------------------
+     *    UPLOAD FILES INTO COLLECTION
+     * --------------------------------------------------------------------------------------------
+     */
+    static class UploadFilesIntoCollectionAction
+	extends RemoteGreenstoneServerAction
+    {
+	private String collection_name;
+	private File[] source_files;
+	private File target_collection_directory;
+
+
+	public UploadFilesIntoCollectionAction(String collection_name, File[] source_files, File target_collection_directory)
+	{
+	    this.collection_name = collection_name;
+	    this.source_files = source_files;
+	    this.target_collection_directory = target_collection_directory;
+	}
+
+
+	public void perform()
+	    throws Exception
+	{
+	    String collection_directory_path = CollectionManager.getCollectionDirectoryPath(collection_name);
+	    String target_collection_directory_relative_path = remote.getPathRelativeToDirectory(
+                                                               target_collection_directory, collection_directory_path);
+	    target_collection_directory_relative_path = target_collection_directory_relative_path.replaceAll((Utility.isWindows() ? "\\\\" : "\\/"), "|");
+	    progress_bar.setAction("Uploading files into collection...");
+	   
+	    String zip_file_name = collection_name + "-" + System.currentTimeMillis() + ".zip";
+	    String zip_file_path = Gatherer.getCollectDirectoryPath() + zip_file_name;
+	    DebugStream.println("Zip file path: " + zip_file_path);
+
+	    String base_directory_path = source_files[0].getParentFile().getAbsolutePath();
+	    DebugStream.println("Base directory path: " + base_directory_path);
+	    String[] source_file_relative_paths = new String[source_files.length];
+	    for (int i = 0; i < source_files.length; i++) {
+		DebugStream.println("Source file path: " + source_files[i]);
+		source_file_relative_paths[i] = remote.getPathRelativeToDirectory(source_files[i], base_directory_path);
+	    }
+	    
+	    ZipTools.zipFiles(zip_file_path, base_directory_path, source_file_relative_paths);
+
+	    String upload_collection_file_command = "cmd=upload-collection-file";
+	    upload_collection_file_command += "&c=" + URLEncoder.encode(collection_name, "UTF-8");
+	    upload_collection_file_command += "&file=" + URLEncoder.encode(zip_file_name, "UTF-8");
+	    upload_collection_file_command += "&directory=" + URLEncoder.encode(target_collection_directory_relative_path, "UTF-8");
+	    upload_collection_file_command += "&zip=true";
+	    upload_collection_file_command += "&lr=" + remote.lang_region;
+	    action_output = remote.uploadFile(upload_collection_file_command, zip_file_path);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/remote/Unzip.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/remote/Unzip.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/remote/Unzip.java	(revision 21123)
@@ -0,0 +1,119 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: David Bainbridge, NZDL Project, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 2005 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+
+package org.greenstone.gatherer.remote;
+
+import java.io.*;
+import java.util.*;
+import java.util.zip.*;
+
+
+public class Unzip 
+{
+
+    public static final void copyInputStream(InputStream in, OutputStream out)
+	throws IOException
+    {
+	byte[] buffer = new byte[1024];
+	int len;
+
+	while((len = in.read(buffer)) >= 0)
+	    out.write(buffer, 0, len);
+
+	in.close();
+	out.close();
+    }
+
+
+    static public void main(String[] args) 
+    {
+	if (args.length != 2) {
+	    System.err.println("Usage: Unzip <zip-file> <destination-directory>");
+	    return;
+	}
+
+	String zip_file_path = args[0];
+	// System.err.println("Zip file path: " + zip_file_path);
+	String destination_directory_path = args[1];
+	if (!destination_directory_path.endsWith(File.separator)) {
+	    destination_directory_path += File.separator;
+	}
+	// System.err.println("Destination directory path: " + destination_directory_path);
+
+	try {
+	    ZipFile zipFile = new ZipFile(zip_file_path);
+
+	    Enumeration entries = zipFile.entries();
+	    while (entries.hasMoreElements()) {
+		ZipEntry entry = (ZipEntry) entries.nextElement();
+
+		if (entry.isDirectory()) {
+		    // Assume directories are stored parents first then children.
+		    // System.err.println("Extracting directory: " + entry.getName());
+		    // This is not robust, just for demonstration purposes.
+		    String dir_name = entry.getName();
+		    String full_dir_name = destination_directory_path + dir_name;
+		    // System.err.println("Full directory name: " + full_dir_name);
+		    File dirFile = new File(full_dir_name);
+		    dirFile.mkdir();
+		}
+		else {
+		    // System.err.println("Extracting file: " + entry.getName());
+		    String file_name = entry.getName();
+		    String full_file_name = destination_directory_path + file_name;
+		    File directory = (new File(full_file_name)).getParentFile();
+		    // System.err.println("Full file name: " + full_file_name);
+		    if (!directory.exists() && !directory.mkdirs()) {
+			System.err.println("Error: Could not create directory " + directory + "!");
+		    }
+
+		    FileOutputStream fos = new FileOutputStream(full_file_name);
+		    BufferedOutputStream bos = new BufferedOutputStream(fos);
+
+		    copyInputStream(zipFile.getInputStream(entry),bos);
+		}
+	    }
+
+	    zipFile.close();
+	}
+	catch (Exception exception) {
+	    System.out.println("ERROR: " + exception);
+	    exception.printStackTrace();
+	    System.exit(1);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/remote/ZipCollectionArchives.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/remote/ZipCollectionArchives.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/remote/ZipCollectionArchives.java	(revision 21123)
@@ -0,0 +1,117 @@
+package org.greenstone.gatherer.remote;
+
+import java.io.*;
+import java.util.zip.*;
+
+
+/**
+ */
+public class ZipCollectionArchives
+{
+    static public void main(String[] args)
+    {
+	if (args.length != 3) {
+	    System.err.println("Usage: ZipCollectionArchives <zip-file> <collect-directory-path> <collection-name>");
+	    return;
+	}
+
+	String zip_file_path = args[0];
+	String collect_directory_path = args[1];
+	String collection_name = args[2];
+
+	if (!collect_directory_path.endsWith(File.separator)) {
+	    collect_directory_path += File.separator;
+	}
+
+ 	try {
+	    ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zip_file_path));
+
+	    // Add archives directory, with doc.xml files only
+	    String archives_relative_path = collection_name + File.separator + "archives";
+	    ZipTools.ZipFilter collection_archives_zip_filter = new CollectionArchivesZipFilter();
+	    ZipTools.addFileToZip(zos, collect_directory_path, archives_relative_path, collection_archives_zip_filter);
+
+	    zos.close();
+	}
+	catch (Exception exception) {
+	    exception.printStackTrace();
+	}
+    }
+
+
+    static public class CollectionArchivesZipFilter
+	extends ZipTools.NullZipFilter
+    {
+	private byte[] bytes_remaining = new byte[0];
+	private int section_depth = 0;
+	private boolean in_section_content = false;
+
+
+	public boolean shouldIncludeFile(String relative_file_path)
+	{
+	    // Only doc.xml files are strictly required, but we include archives.inf as well to prevent
+	    //   errors when zipping up the archives of a collection where no files were imported
+	    //   (in this case the zip file would contain nothing at all)
+	    return (relative_file_path.equals("archives.inf") || relative_file_path.endsWith(File.separator + "archives.inf") || relative_file_path.equals("doc.xml") || relative_file_path.endsWith(File.separator + "doc.xml"));
+	}
+
+
+	public boolean shouldIncludeFileContent(String relative_file_path)
+	{
+	    // Only content for doc.xml files is included
+	    return (relative_file_path.equals("doc.xml") || relative_file_path.endsWith(File.separator + "doc.xml"));
+	}
+
+
+	public void filterFileContent(String relative_file_path, BufferedInputStream bis, ZipOutputStream zos)
+	{
+	    // Reset the status in case there were errors in previous doc.xml files
+	    section_depth = 0;
+	    in_section_content = false;
+
+	    // Filter out the <Content>...</Content> of the doc.xml files
+	    try {
+		BufferedReader reader = new BufferedReader(new InputStreamReader(bis, "UTF-8"));
+		String line = null;
+		while ((line = reader.readLine()) != null) {
+		    // If this line isn't filtered, write it out to zos
+		    if (!filterFileLine(line)) {
+			line += "\n";
+			byte[] bytes = line.getBytes("UTF-8");
+			zos.write(bytes, 0, bytes.length);
+		    }
+		}
+	    }
+	    catch (Exception exception) {
+		exception.printStackTrace();
+	    }
+	}
+
+
+	private boolean filterFileLine(String line)
+	{
+	    boolean filter_line = false;
+
+	    if (line.indexOf("<Section>") != -1) {
+		section_depth++;
+	    }
+	    if (line.indexOf("<Content>") != -1) {
+		in_section_content = true;
+	    }
+
+	    // If we're in a subsection or in a content element, filter this line
+	    if (section_depth > 1 || in_section_content) {
+		filter_line = true;
+	    }
+
+	    if (line.indexOf("</Content>") != -1) {
+		in_section_content = false;
+	    }
+	    if (line.indexOf("</Section>") != -1) {
+		section_depth--;
+	    }
+
+	    return filter_line;
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/remote/ZipCollectionConfigurations.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/remote/ZipCollectionConfigurations.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/remote/ZipCollectionConfigurations.java	(revision 21123)
@@ -0,0 +1,155 @@
+package org.greenstone.gatherer.remote;
+
+import java.io.*;
+import java.util.zip.*;
+
+
+/**
+ */
+public class ZipCollectionConfigurations
+{
+    static public void main(String[] args)
+    {
+	if (args.length != 4) {
+	    System.err.println("Usage: ZipCollectionConfigurations <zip-file> <collect-directory-path> <user-name> <user-groups>");
+	    return;
+	}
+
+	String zip_file_path = args[0];
+	String collect_directory_path = args[1];
+	String user_name = args[2];
+	String user_groups = args[3];
+
+	if (!collect_directory_path.endsWith(File.separator)) {
+	    collect_directory_path += File.separator;
+	}
+	File collect_directory = new File(collect_directory_path);
+
+ 	try {
+	    ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zip_file_path));
+	    ZipTools.ZipFilter collection_etc_zip_filter = new CollectionEtcZipFilter();
+	    ZipTools.ZipFilter collection_metadata_zip_filter = new CollectionMetadataZipFilter();
+
+	    addUserAccessibleCollections(collect_directory_path, "", collect_directory, zos, 
+					 collection_etc_zip_filter, collection_metadata_zip_filter,
+					 user_name, user_groups);
+
+	    
+
+	    zos.putNextEntry(new ZipEntry(".gli"));
+	    zos.close();
+	}
+	catch (Exception exception) {
+	    exception.printStackTrace();
+	}
+    }
+
+    static private void addUserAccessibleCollections(String toplevel_path,        // remains unchanged
+						     String relative_path,        // grows with each level of recursion
+						     File collect_directory,      // current collection (group) directory being considered
+						     ZipOutputStream zos, 
+						     ZipTools.ZipFilter collection_etc_zip_filter,
+						     ZipTools.ZipFilter collection_metadata_zip_filter,
+						     String user_name,
+						     String user_groups) 
+    {
+	
+	if(!relative_path.equals("")) {
+	    relative_path += File.separator;
+	}
+	
+	// Add the etc and metadata directories from each of the collections the user has access to
+	File[] collection_directories = collect_directory.listFiles();
+	for (int i = 0; i < collection_directories.length; i++) {
+	    if (collection_directories[i].isDirectory()) {
+		String collection_name = collection_directories[i].getName();
+		if (checkAccess(collection_name, user_name, user_groups)) {
+		    
+		    String etc_relative_path = relative_path + collection_directories[i].getName() + File.separator + "etc";
+		    ZipTools.addFileToZip(zos, toplevel_path, etc_relative_path, collection_etc_zip_filter);
+		    
+		    // The "metadata" directory may not exist (non-GLI collections)
+		    String metadata_relative_path = relative_path + collection_directories[i].getName() + File.separator + "metadata";
+		    File metadata_directory = new File(toplevel_path + File.separator + metadata_relative_path);
+		    if (metadata_directory.exists()) {
+			ZipTools.addFileToZip(zos, toplevel_path, metadata_relative_path, collection_metadata_zip_filter);
+		    } 
+		    else { // if a collection contains no metadata directory, then check if it is a collectgroup
+			
+			// read from collection config file in etc folder
+			File config_file = new File(collection_directories[i], "etc"+File.separator+"collect.cfg");
+			if(config_file.exists()) {
+			    try {
+				BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(config_file)));
+				String line = null;
+				while((line = reader.readLine()) != null) { // read lines and look for: collectgroup true
+				    line = line.trim(); // need to ignore surrounding whitespace
+				    if(line.startsWith("collectgroup") && line.endsWith("true")) {
+					// if collectgroup, then recurse on current folder
+					addUserAccessibleCollections(toplevel_path, relative_path+collection_directories[i].getName(), collection_directories[i],
+								     zos, collection_etc_zip_filter, collection_metadata_zip_filter,
+								     user_name, user_groups);
+				    }
+				}
+				
+				reader.close();
+			    } catch(Exception e) {
+				System.err.println("Exception reading from file " + config_file + ": " + e);
+				e.printStackTrace();
+			    }
+			}			    
+		    }
+		}
+	    }
+	}
+    }
+
+
+    static private boolean checkAccess(String collection_name, String user_name, String user_groups)
+    {
+	String[] user_groups_array = user_groups.split(",");
+	for (int i = 0; i < user_groups_array.length; i++) {
+	    if (user_groups_array[i].equals("all-collections-editor")) {
+		return true;
+	    }
+	    if (user_groups_array[i].equals("personal-collections-editor") && collection_name.startsWith(user_name + "-")) {
+		return true;
+	    }
+	    if (user_groups_array[i].equals(collection_name + "-collection-editor")) {
+		return true;
+	    }
+	}
+
+	return false;
+    }
+
+
+    static private class CollectionEtcZipFilter
+	extends ZipTools.NullZipFilter
+    {
+	public boolean shouldIncludeFile(String relative_file_path)
+	{
+	    // Only collect.cfg files are included
+	    if (relative_file_path.endsWith("collect.cfg")){
+		return (relative_file_path.equals("collect.cfg") || relative_file_path.endsWith(File.separator + "collect.cfg"));
+	    }
+
+	    // Only collectConfig.xml files are included
+	    if (relative_file_path.endsWith("collectionConfig.xml")){
+		return (relative_file_path.equals("collectionConfig.xml") || relative_file_path.endsWith(File.separator + "collectionConfig.xml"));
+	    }
+	    return false;
+	}
+    }
+
+
+    static private class CollectionMetadataZipFilter
+	extends ZipTools.NullZipFilter
+    {
+	public boolean shouldIncludeFileContent(String relative_file_path)
+	{
+	    // We don't include content for any of the metadata set files
+	    return false;
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/remote/ZipCollectionShell.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/remote/ZipCollectionShell.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/remote/ZipCollectionShell.java	(revision 21123)
@@ -0,0 +1,86 @@
+package org.greenstone.gatherer.remote;
+
+import java.io.*;
+import java.util.zip.*;
+
+
+/**
+ */
+public class ZipCollectionShell
+{
+    static public void main(String[] args)
+    {
+	if ((args.length < 3) || (args.length > 4)) {
+	    System.err.println("Usage: ZipCollectionShell <zip-file> <collect-directory-path> <collection-name> [gsdl3]");
+	    return;
+	}
+
+	String zip_file_path = args[0];
+	String collect_directory_path = args[1];
+	String collection_name = args[2];
+	String run_gsdl3 ="";
+	if (args.length == 4){
+	    run_gsdl3 = args[3];
+	}
+	if (!collect_directory_path.endsWith(File.separator)) {
+	    collect_directory_path += File.separator;
+	}
+
+ 	try {
+	    ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zip_file_path));
+	    ZipTools.ZipFilter null_zip_filter = new ZipTools.NullZipFilter();
+
+	    // Add archives directory, with doc.xml files only
+	    String archives_relative_path = collection_name + File.separator + "archives";
+	    ZipTools.ZipFilter collection_archives_zip_filter = new ZipCollectionArchives.CollectionArchivesZipFilter();
+	    ZipTools.addFileToZip(zos, collect_directory_path, archives_relative_path, collection_archives_zip_filter);
+
+	    // Add /etc/collect.cfg file for 2 GS2
+	    if (run_gsdl3.length()==0){
+		String collect_cfg_relative_path = collection_name + File.separator + "etc" + File.separator + "collect.cfg";
+		ZipTools.addFileToZip(zos, collect_directory_path, collect_cfg_relative_path, null_zip_filter);
+	    }
+	    // Add /etc/collectConfig.xml file for a GS3
+	    if (run_gsdl3.equals("gsdl3")){
+		String collectionConfig_xml_relative_path = collection_name + File.separator + "etc" + File.separator + "collectionConfig.xml";
+		ZipTools.addFileToZip(zos, collect_directory_path, collectionConfig_xml_relative_path, null_zip_filter);
+	    }
+	    // Add images directory
+	    String images_relative_path = collection_name + File.separator + "images";
+	    ZipTools.addFileToZip(zos, collect_directory_path, images_relative_path, null_zip_filter);
+
+	    // Add import directory, with zero-length files except for metadata.xml
+	    String import_relative_path = collection_name + File.separator + "import";
+	    ZipTools.ZipFilter collection_import_zip_filter = new CollectionImportZipFilter();
+	    ZipTools.addFileToZip(zos, collect_directory_path, import_relative_path, collection_import_zip_filter);
+
+	    // Add index/build.cfg file
+	    String build_cfg_relative_path = collection_name + File.separator + "index" + File.separator + "build.cfg";
+	    ZipTools.addFileToZip(zos, collect_directory_path, build_cfg_relative_path, null_zip_filter);
+
+	    // Add macros/extra.dm file
+	    String extra_dm_relative_path = collection_name + File.separator + "macros" + File.separator + "extra.dm";
+	    ZipTools.addFileToZip(zos, collect_directory_path, extra_dm_relative_path, null_zip_filter);
+
+	    // Add metadata directory
+	    String metadata_relative_path = collection_name + File.separator + "metadata";
+	    ZipTools.addFileToZip(zos, collect_directory_path, metadata_relative_path, null_zip_filter);
+
+	    zos.close();
+	}
+	catch (Exception exception) {
+	    exception.printStackTrace();
+	}
+    }
+
+
+    static private class CollectionImportZipFilter
+	extends ZipTools.NullZipFilter
+    {
+	public boolean shouldIncludeFileContent(String relative_file_path)
+	{
+	    // We only include file content for metadata.xml files
+	    return (relative_file_path.equals("metadata.xml") || relative_file_path.endsWith(File.separator + "metadata.xml"));
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/remote/ZipFiles.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/remote/ZipFiles.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/remote/ZipFiles.java	(revision 21123)
@@ -0,0 +1,28 @@
+package org.greenstone.gatherer.remote;
+
+import java.io.File;
+import java.util.ArrayList;
+
+
+/**
+ */
+public class ZipFiles
+{
+    static public void main(String[] args)
+    {
+	if (args.length < 3) {
+	    System.err.println("Usage: ZipFiles <zip-file> <base-directory-path> (<files> ...)");
+	    return;
+	}
+
+	String zip_file_path = args[0];
+	String base_directory_path = args[1];
+	ArrayList relative_file_paths_list = new ArrayList();
+	for (int i = 2; i < args.length; i++) {
+	    relative_file_paths_list.add(args[i]);
+	}
+
+	String[] relative_file_paths = (String[]) relative_file_paths_list.toArray(new String[0]);
+	ZipTools.zipFiles(zip_file_path, base_directory_path, relative_file_paths);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/remote/ZipTools.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/remote/ZipTools.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/remote/ZipTools.java	(revision 21123)
@@ -0,0 +1,151 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: David Bainbridge, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2005 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.remote;
+
+
+import java.io.*;
+import java.util.zip.*;
+
+
+public class ZipTools
+{
+    static public void zipFiles(String zip_file_path, String base_directory_path, String[] relative_file_paths)
+    {
+	try {
+	    ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zip_file_path));
+	    ZipFilter null_zip_filter = new NullZipFilter();
+
+	    // Add each file/directory in turn to the zip file
+	    for (int i = 0; i < relative_file_paths.length; i++) {
+		String relative_file_path = relative_file_paths[i];
+		addFileToZip(zos, base_directory_path, relative_file_path, null_zip_filter);
+	    }
+
+	    zos.close();
+	}
+	catch (Exception exception) {
+	    exception.printStackTrace();
+	}
+    }
+
+
+    static public void addFileToZip(ZipOutputStream zos, String base_directory_path, String relative_file_path, ZipFilter zip_filter)
+    {
+	File file = new File(base_directory_path + File.separator + relative_file_path);
+
+	// Check that the file/directory exists
+	if (!file.exists()) {
+	    System.err.println("File " + file + " does not exist!");
+	    return;
+	}
+
+	try {
+	    // Directory case
+	    if (file.isDirectory()) {
+		// Add a zip entry for this directory
+		// Actually, don't -- this messes things up completely on Windows and doesn't seem to matter on Linux
+		// zos.putNextEntry(new ZipEntry(relative_file_path + File.separator));
+
+		// Apply recursively to each of the children of the directory
+		File[] child_files = file.listFiles();
+		for (int i = 0; i < child_files.length; i++) {
+		    addFileToZip(zos, base_directory_path, relative_file_path + File.separator + child_files[i].getName(), zip_filter);
+		}
+
+		// empty directory. Java zips don't allow empty dirs, so need to put some dummy file in there
+		if(child_files.length == 0) {
+		    String rel_path = relative_file_path.replace('\\', '/') + File.separator + "empty";
+		    System.err.println("Zipping empty dir requires dummy file: " + rel_path);
+		    zos.putNextEntry(new ZipEntry(rel_path));
+		}
+	    }
+
+	    // File case
+	    else {
+		// Add a zip entry for this file
+		if (zip_filter.shouldIncludeFile(relative_file_path)) {
+		    // Always use Unix style paths in zip files, even on Windows
+		    zos.putNextEntry(new ZipEntry(relative_file_path.replace('\\', '/')));
+
+		    if (zip_filter.shouldIncludeFileContent(relative_file_path)) {
+			BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
+			zip_filter.filterFileContent(relative_file_path, bis, zos);
+			bis.close();
+		    }
+		}
+	    }
+	}
+	catch (Exception exception) {
+	    exception.printStackTrace();
+	}
+    }
+
+
+    public interface ZipFilter
+    {
+	public boolean shouldIncludeFile(String relative_file_path);
+
+	public boolean shouldIncludeFileContent(String relative_file_path);
+
+	public void filterFileContent(String relative_file_path, BufferedInputStream bis, ZipOutputStream zos);
+    }
+
+
+    static public class NullZipFilter
+	implements ZipFilter
+    {
+	public boolean shouldIncludeFile(String relative_file_path)
+	{
+	    // All files are included
+	    return true;
+	}
+
+
+	public boolean shouldIncludeFileContent(String relative_file_path)
+	{
+	    // Content for all files is included
+	    return true;
+	}
+
+
+	public void filterFileContent(String relative_file_path, BufferedInputStream bis, ZipOutputStream zos)
+	{
+	    // No filtering: just read the file and write it directly out to zip
+	    try {
+		byte[] data = new byte[1024];
+		int bytes_read;
+		while ((bytes_read = bis.read(data, 0, 1024)) > -1) {
+		    zos.write(data, 0, bytes_read);
+		}
+	    }
+	    catch (Exception exception) {
+		// We can't use DebugStream here
+		exception.printStackTrace();
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GBuildProgressMonitor.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GBuildProgressMonitor.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GBuildProgressMonitor.java	(revision 21123)
@@ -0,0 +1,598 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.shell;
+
+import java.awt.Component;
+import java.util.ArrayList;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.cdm.CollectionDesignManager;
+import org.greenstone.gatherer.gui.GProgressBar;
+import org.greenstone.gatherer.util.StaticStrings;
+/** This implementation of <i>GShellProgressMonitor</i> is designed to parse and translate the progress of a buildcol.pl call.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class GBuildProgressMonitor
+    implements GShellProgressMonitor {
+    /** The minimum value = 0 */
+    static final private int MIN = 0;
+    /** In order to get a smoothish progress bar, set the maximum to a large number = 1000000 */
+    static final private int MAX = 1000000;
+    /** The various states the build progress state machine can be in, starting at the base state. */
+    static final int BASE                          = -1;
+    static final int BUILD                         =  0;
+    static final int COMPRESSTEXT                  = 10;
+    static final int COMPRESSTEXT_COLLECTTEXTSTATS = 11;
+    static final int COMPRESSTEXT_CREATINGCOMPRESS = 12;
+    static final int COMPRESSTEXT_COMPRESSINGTEXT  = 13;
+    static final int INDEX                         = 20;
+    static final int INDEX_CREATINGINDEXDIC        = 21;
+    static final int INDEX_INVERTINGTEXT           = 22;
+    static final int INDEX_CREATETHEWEIGHTS        = 23;
+    static final int INDEX_CREATESTEMMEDDIC        = 24;
+    static final int INDEX_CREATINGSTEMINDX        = 25;
+    static final int CREATEINFODATA                = 30;
+    static final int PHIND                         = 40;
+    static final int PHIND_EXTRACTINGVOCAB         = 41;
+    static final int PHIND_EXTRACTINGPHRASE        = 42;
+    static final int PHIND_SORTANDRENUMBER         = 43;
+    static final int PHIND_PHRASEDATABASES         = 44;
+    static final int PHIND_WORDLEVELINDEXES        = 45;
+    static final int PHIND_DOCINFODATABASES        = 46;
+    static final int CREATINGAUXILARY              = 50;
+    /** Now the language independant sentinel strings. */
+    static final String BADARGUMENT_ELEMENT    = "BadArgument";
+    static final String BADARGUMENTVALUE_ELEMENT = "BadArgumentValue";
+    static final String BADCLASSIFIER_ELEMENT = "BadClassifier";
+    static final String BADPLUGIN_ELEMENT = "BadPlugin";
+    static final String BUILD_ELEMENT          = "Build";
+    static final String COLLECTTEXTSTATS_VALUE = "CollectTextStats";
+    static final String COMPRESSINGTEXT_VALUE  = "CompressingText";
+    static final String COMPRESSTEXT_VALUE     = "CompressText";
+    static final String CREATINGAUXILARY_VALUE = "CreatingAuxilary";
+    static final String CREATINGCOMPRESS_VALUE = "CreatingCompress";
+    static final String CREATINGINDEXDIC_VALUE = "CreatingIndexDic";
+    static final String CREATINGSTEMINDX_VALUE = "CreatingStemIndx";
+    static final String CREATEINFODATA_VALUE   = "CreateInfoData";
+    static final String CREATESTEMMEDDIC_VALUE = "CreateStemmedDic";
+    static final String CREATETHEWEIGHTS_VALUE = "CreateTheWeights";
+    static final String DOCINFODATABASES_VALUE = "DocInfoDatabases";
+    static final String EXTRACTINGPHRASE_VALUE = "ExtractingPhrase";
+    static final String EXTRACTINGVOCAB_VALUE  = "ExtractingVocab";
+    static final String FATALERROR_ELEMENT     = "FatalError";
+    static final String INDEX_VALUE            = "Index";
+    static final String INVERTINGTEXT_VALUE    = "InvertingText";
+    static final String NAME_ATTRIBUTE         = "name";
+    static final String PHASE_ELEMENT          = "Phase";
+    static final String PHIND_VALUE            = "Phind";
+    static final String PHRASEDATABASES_VALUE  = "PhraseDatabases";
+    static final String SKIPCREATINGCOMP_VALUE = "SkipCreatingComp";
+    static final String SORTANDRENUMBER_VALUE  = "SortAndRenumber";
+    static final String SOURCE_ATTRIBUTE       = "source";
+    static final String STAGE_ELEMENT          = "Stage";
+    static final String WARNING_ELEMENT        = "Warning";   
+    static final String WORDLEVELINDEXES_VALUE = "WordLevelIndexes";
+
+    static final private String ARGUMENT_ATTRIBUTE = "a";
+    static final private String CLASSIFIER_ATTRIBUTE = "c";
+    static final private String PLUGIN_ATTRIBUTE = "p";
+
+    /** Indicates if the GUI has asked the process this object monitors to stop. */
+    private boolean stop = false;
+    /** The current number of stages we have completed. */
+    private int current_stages = 0;
+    /** The number of stages we are expecting to complete. */
+    private int expected_stages = 0;
+
+    private int threshold = Configuration.LIBRARIAN_MODE;
+    /** The current state we are in. The state will change depending on the next flag recieved. */
+    private int state = BASE;
+    /** The progress bar this monitor updates. */
+    private GProgressBar progress_bar;
+    /** A progress bar that is shared between this this listener and the Import monitor. */
+    private GProgressBar shared_progress_bar;
+
+    /** Construct a new GBuildProgressMonitor. */
+    public GBuildProgressMonitor(GProgressBar shared_progress_bar) {
+	this.shared_progress_bar = shared_progress_bar;
+	progress_bar = new GProgressBar();
+	progress_bar.setMaximum(MAX);
+	progress_bar.setMinimum(MIN);
+	progress_bar.setString(null);
+	progress_bar.setStringPainted(true);
+	setValue(MIN);
+    }
+
+    /** Method to register a new progress bar with this monitor.
+     * @param progress_bar The new <strong>GProgressBar</strong>.
+     */	 
+    public void addProgressBar(GProgressBar progress_bar) {
+	this.progress_bar = progress_bar;
+	progress_bar.setMaximum(MAX);
+	progress_bar.setMinimum(MIN);
+	progress_bar.setStringPainted(false);
+	progress_bar.setString(null);
+	setValue(MIN);
+    }
+
+    /** Determine the script exit value according to the progress monitor. This gets around a problem where several script failures actually result with a successful exit value.
+     * @return A <i>int</i> with a value of zero if and only if the script was successful.
+     */
+    public int exitValue() {
+	if(state == BASE) {
+	    return 0;
+	}
+	return 1;
+    }
+    /** Method to retrieve whatever control is being used as the progress indicator. Usually a <strong>GProgressBar</strong> but there may be others implemented later.
+     * @return A <strong>Component</strong> on which the progress of the process is being displayed.
+     */
+    public Component getProgress() {
+	return progress_bar;
+    }
+
+    public GProgressBar getSharedProgress() {
+	return shared_progress_bar;
+    }
+
+    public void messageOnProgressBar(String message)
+    {
+	if (message!=null && !message.equals("")) {
+	    progress_bar.setString(message);
+	    shared_progress_bar.setString(message);
+	}
+	else {
+	    progress_bar.setString(null);
+	    shared_progress_bar.setString(null);
+	}
+    }
+
+    /** Method to determine the state of the stop flag, which may be set by the visual component that created this monitor.
+     * @return A <strong>boolean</strong> indicating if the process has been asked to stop.
+     */
+    public synchronized boolean hasSignalledStop() {
+	return stop;
+    }
+    /** Inform the progress bar that it should programatically increment progress by one step. */
+    public void increment() {
+	// There is no reason this should be called for a build.
+    }
+
+    /** This method is used to 'feed in' a line of text captured from the process.
+     * @param queue a queue which at the moment should contain a single GShellEvent
+     */
+    public void process(ArrayList queue) {
+	GShellEvent event = (GShellEvent) queue.get(0);
+	// Remove 'build.pl> ' bit
+	String line = event.getMessage();
+	line = line.substring(line.indexOf(StaticStrings.GREATER_THAN_CHARACTER) + 1);
+	line = line.trim();
+	// We are only really interested in processing pseudo-XML tags
+	if(line.startsWith(StaticStrings.LESS_THAN_CHARACTER) && line.endsWith(StaticStrings.GREATER_THAN_CHARACTER)) {
+	    // All events are vetoed
+	    event.veto();
+	    
+	    // Create a new element from it
+	    GShellElement element = new GShellElement(line);
+	    // Now change states within the state machine as appropriate. A state change may subsequently incur a progress update.
+	    String name = null;
+	    String value = null;
+	    switch(state) {
+	    case BASE:
+		// The only thing we would expect is a build message
+		name = element.getElementName();
+		if(name.equals(BUILD_ELEMENT)) {
+		    progress_bar.setIndeterminate(false);
+		    state = BUILD;
+		    // Produce a lower detail message if required
+		    if(Configuration.getMode() <= threshold && !stop) {
+			queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Build.BuildBegun1"), event.getStatus()));
+		    }
+		}
+		else {
+		    // Unknown command, go indeterminate
+		    DebugStream.println("Unknown name: " + name);
+		    progress_bar.setIndeterminate(true);
+		}
+		name = null;
+		break;
+	    case BUILD:
+		// The only thing we would expect is a stage element or a 
+		// bad classifier arg name
+		name = element.getElementName();
+
+		if(name.equals(STAGE_ELEMENT)) {
+		    progress_bar.setIndeterminate(false);
+		    // Now we determine what stage we are moving to
+		    value = element.getAttribute(NAME_ATTRIBUTE);
+		    if(value.equals(COMPRESSTEXT_VALUE)) {
+			state = COMPRESSTEXT;
+			if(Configuration.getMode() <= threshold) {
+			    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Build.CompressText"), event.getStatus()));
+			}
+		    }
+		    else if(value.equals(INDEX_VALUE)) {
+			state = INDEX;
+			if(Configuration.getMode() <= threshold) {
+			    String args[] = new String[1];
+			    args[0] = element.getAttribute(SOURCE_ATTRIBUTE);
+			    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Build.Index", args), event.getStatus()));
+			    args = null;
+			}
+		    }
+		    else if(value.equals(CREATEINFODATA_VALUE)) {
+			state = CREATEINFODATA;
+			if(Configuration.getMode() <= threshold) {
+			    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Build.InfoDatabase"), event.getStatus()));
+			}
+		    }
+		    else if(value.equals(PHIND_VALUE)) {
+			state = PHIND;
+			if(Configuration.getMode() <= threshold) {
+			    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Build.Phind"), event.getStatus()));
+			}
+		    }
+		    else if(value.equals(CREATINGAUXILARY_VALUE)) {
+			state = CREATINGAUXILARY;
+			if(Configuration.getMode() <= threshold) {
+			    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Build.Auxilary"), event.getStatus()));
+			}
+		    }
+		    else {
+			// Unknown command, go indeterminate
+			DebugStream.println("Unknown value: " + value);
+			progress_bar.setIndeterminate(true);
+		    }
+		    value = null;
+		}
+		// The build end message indicates a successfulish build.
+		else if(name.equals(BUILD_ELEMENT) && element.isClosed()) {
+		    progress_bar.setIndeterminate(false);
+		    setValue(MAX);
+		    state = BASE;
+		    if(Configuration.getMode() <= threshold) {
+			queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Build.BuildComplete1"), event.getStatus()));
+		    }
+		}
+		// We had a bad argument to a plugin/classifier
+		else if (name.equals(BADARGUMENT_ELEMENT)) {
+		    if(Configuration.getMode() <= threshold) {
+			String args[] = new String[1];
+			args[0] = element.getAttribute(ARGUMENT_ATTRIBUTE);    
+			queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.BadArgument", args), event.getStatus()));
+			args = null;
+		    }
+		}
+		// We had a bad argument value to a plugin/clasifier
+		else if (name.equals(BADARGUMENTVALUE_ELEMENT)) {
+		    if(Configuration.getMode() <= threshold) {
+			String args[] = new String[1];
+			args[0] = element.getAttribute(ARGUMENT_ATTRIBUTE);    
+			queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.BadArgumentValue", args), event.getStatus()));
+			args = null;
+		    }
+		}
+		// And this one tellsa us the plugin
+		else if (name.equals(BADPLUGIN_ELEMENT)) {
+		    if(Configuration.getMode() <= threshold) {
+			String args[] = new String[1];
+			args[0] = element.getAttribute(PLUGIN_ATTRIBUTE);    
+			queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.BadPluginOptions", args), event.getStatus()));
+			args = null;
+		    }
+		}
+		// or the classifier
+		else if (name.equals(BADCLASSIFIER_ELEMENT)) {
+		    if(Configuration.getMode() <= threshold) {
+			String args[] = new String[1];
+			args[0] = element.getAttribute(CLASSIFIER_ATTRIBUTE);    
+			queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.BadClassifierOptions", args), event.getStatus()));
+			args = null;
+		    }
+		}
+		
+		else {
+		    // Unknown command, go indeterminate
+		    DebugStream.println("Unknown name: " + name);
+		    progress_bar.setIndeterminate(true);
+		}
+		name = null;
+		break;
+	    case COMPRESSTEXT:
+		// We are either dealing with a phase, aa fatal error or an end stage
+		name = element.getElementName();
+		if(name.equals(PHASE_ELEMENT)) {
+		    // There are three phases within compressing text (or of four possible ones)
+		    value = element.getAttribute(NAME_ATTRIBUTE);
+		    if(value.equals(COLLECTTEXTSTATS_VALUE)) {
+			// Nothing to do
+		    }
+		    else if(value.equals(CREATINGCOMPRESS_VALUE) || value.equals(SKIPCREATINGCOMP_VALUE)) {
+			// One third complete
+			progress_bar.setIndeterminate(false);
+			setValue((int)(((double)current_stages + 0.3d) * MAX) / expected_stages);
+		    }
+		    else if(value.equals(COMPRESSINGTEXT_VALUE)) {
+			// Two thirds complete
+			progress_bar.setIndeterminate(false);
+		        setValue((int)(((double)current_stages + 0.6d) * MAX) / expected_stages);
+		    }
+		    else {
+			// Unknown command, go indeterminate
+			DebugStream.println("Unknown value: " + value);
+			progress_bar.setIndeterminate(true);
+		    }
+		    value = null;
+		}
+		// Note that a fatal error is always followed by an end-stage, but not an end build. Thus the final state will be build (not base) and calls to exitValue() with indicate failure.
+		else if(name.equals(FATALERROR_ELEMENT)) {
+		    // On simplier modes produce a meaningful message
+		    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Build.FatalError"), event.getStatus()));
+		}
+		else if(name.equals(STAGE_ELEMENT) && element.isClosed()) {
+		    // Increase progress so that stage is complete.
+		    current_stages++;
+		    progress_bar.setIndeterminate(false);
+		    setValue((current_stages * MAX) / expected_stages);
+		    state = BUILD;
+		}
+		else {
+		    // Unknown command, go indeterminate
+		    DebugStream.println("Unknown name: " + name);
+		    progress_bar.setIndeterminate(true);
+		}
+		name = null;
+		break;
+	    case INDEX:
+		/** @todo - If on lower modes output a meaningful message. */
+		name = element.getElementName();
+		if(name.equals(PHASE_ELEMENT)) {
+		    value = element.getAttribute(NAME_ATTRIBUTE);
+		    if(value.equals(CREATINGINDEXDIC_VALUE)) {
+			// Nothing to do
+		    }
+		    else if(value.equals(INVERTINGTEXT_VALUE)) {
+			// One fifth complete
+			progress_bar.setIndeterminate(false);
+			setValue((int)(((double)current_stages + 0.2d) * MAX) / expected_stages);
+		    }
+		    else if(value.equals(CREATETHEWEIGHTS_VALUE)) {
+			// Two fifths complete
+			progress_bar.setIndeterminate(false);
+			setValue((int)(((double)current_stages + 0.4d) * MAX) / expected_stages);
+		    }
+		    else if(value.equals(CREATESTEMMEDDIC_VALUE)) {
+			// Three fifths complete
+			progress_bar.setIndeterminate(false);
+			setValue((int)(((double)current_stages + 0.6d) * MAX) / expected_stages);
+		    }
+		    else if(value.equals(CREATINGSTEMINDX_VALUE)) {
+			// Four fifths complete
+			progress_bar.setIndeterminate(false);
+			setValue((int)(((double)current_stages + 0.8d) * MAX) / expected_stages);
+		    }
+		    else {
+			// Unknown command, go indeterminate
+			DebugStream.println("Unknown value: " + value);
+			progress_bar.setIndeterminate(true); 
+		    }
+		    value = null;
+		}
+		else if(name.equals(WARNING_ELEMENT)) {
+		    /** @todo - If on lower modes output a meaningful message. */
+		}
+		// Note that a fatal error is always followed by an end-stage, but not an end build. Thus the final state will be build (not base) and calls to exitValue() with indicate failure.
+		else if(name.equals(FATALERROR_ELEMENT)) {
+		    // On lower modes output a meaningful message.
+		    
+		}
+		else if(name.equals(STAGE_ELEMENT) && element.isClosed()) {
+		    // Increase progress so that stage is complete.
+		    current_stages++;
+		    progress_bar.setIndeterminate(false);
+		    setValue((current_stages * MAX) / expected_stages);
+		    state = BUILD;
+		}
+		else {
+		    // Unknown command, go indeterminate
+		    DebugStream.println("Unknown name: " + name);
+		    progress_bar.setIndeterminate(true); 
+		}
+		name = null;
+		break;
+	    case PHIND:
+		name = element.getElementName();
+		if(name.equals(PHASE_ELEMENT)) {
+		    value = element.getAttribute(NAME_ATTRIBUTE);
+		    if(value.equals(EXTRACTINGVOCAB_VALUE)) {
+			// Nothing to do
+		    }
+		    else if(value.equals(EXTRACTINGPHRASE_VALUE)) {
+			// One sixth complete
+			progress_bar.setIndeterminate(false);
+			setValue((int)(((double)current_stages + 0.16d) * MAX) / expected_stages);
+		    }
+		    else if(value.equals(SORTANDRENUMBER_VALUE)) {
+			// Two sixths complete
+			progress_bar.setIndeterminate(false);
+		        setValue((int)(((double)current_stages + 0.33d) * MAX) / expected_stages);
+		    }
+		    else if(value.equals(PHRASEDATABASES_VALUE)) {
+			// Three sixths complete
+			progress_bar.setIndeterminate(false);
+		        setValue((int)(((double)current_stages + 0.5d) * MAX) / expected_stages);
+		    }
+		    else if(value.equals(WORDLEVELINDEXES_VALUE)) {
+			// Four sixths complete
+			progress_bar.setIndeterminate(false);
+			setValue((int)(((double)current_stages + 0.66d) * MAX) / expected_stages);
+		    }
+		    else if(value.equals(DOCINFODATABASES_VALUE)) {
+			// Five sixths complete
+			progress_bar.setIndeterminate(false);
+			setValue((int)(((double)current_stages + 0.83d) * MAX) / expected_stages);
+		    }
+		    else {
+			// Unknown command, go indeterminate
+			DebugStream.println("Unknown value: " + value);
+			progress_bar.setIndeterminate(true); 
+		    }
+		    value = null;
+		}
+		else if(name.equals(STAGE_ELEMENT) && element.isClosed()) {
+		    // Increase progress so that stage is complete.
+		    current_stages++;
+		    progress_bar.setIndeterminate(false);
+		    setValue((current_stages * MAX) / expected_stages);
+		    state = BUILD;
+		}
+		else {
+		    // Unknown command, go indeterminate
+		    DebugStream.println("Unknown name: " + name);
+		    progress_bar.setIndeterminate(true); 
+		}
+		name = null;
+		break;
+	    case CREATEINFODATA:
+	    case CREATINGAUXILARY:
+		name = element.getElementName();
+		if(name.equals(STAGE_ELEMENT) && element.isClosed()) {
+		    // Another stage complete
+		    current_stages++;
+		    progress_bar.setIndeterminate(false);
+		    setValue((current_stages * MAX) / expected_stages);
+		    state = BUILD;
+		}
+		else {
+		    // Unknown command, go indeterminate
+		    DebugStream.println("Unknown name: " + name);
+		    progress_bar.setIndeterminate(true);
+		}
+		name = null;
+		break;
+	    default:
+		// Unknown command, go indeterminate
+		DebugStream.println("Unknown name: " + name);
+		progress_bar.setIndeterminate(true);
+	    }
+	}
+	// If we are dealing with lower detail modes then veto any other messages. We do this here as the progress monitors are garuenteed to recieve this message before anything else
+	else if(Configuration.getMode() <= threshold) {
+	    event.veto();
+	}
+    }
+
+    public void reset() {
+	current_stages = 0;
+	expected_stages = 0;
+	progress_bar.setIndeterminate(false);
+	progress_bar.setString(null);
+	setValue(MIN);
+	state = BASE;
+	progress_bar.updateUI();
+    }
+
+    public void saving() {
+    }
+
+    public void setSharedProgressBar(GProgressBar shared_progress_bar) {
+	this.shared_progress_bar = shared_progress_bar;
+    }
+
+    /** Since the creator of this process monitor is actually in the GUI, this class provides the simpliest way to send a cancel process message between the two.
+     * @param state The desired state of the stop flag as a <strong>boolean</strong>.
+     */
+    public synchronized void setStop(boolean state) {
+	this.stop = state;
+	progress_bar.setIndeterminate(false);
+    }
+    /** This method resets this monitor to the start, reseting the process parsing and progress bar.
+     * TODO Everthing.
+     */
+    public void start() {
+	stop = false;
+	setValue(MIN);
+	expected_stages = 3; // Always compress text, create info database and auxiliary creation
+	// Retrieve cdm.
+	CollectionDesignManager cdm = Gatherer.c_man.getCollection().cdm;
+	// If we are using MGPP the number of indexes is always 1
+	if(cdm.index_manager.isMGPP()) {
+	    expected_stages = expected_stages + 1;
+	} else if (cdm.index_manager.isLucene()) {
+	    // lucene no of indexes == number of levels
+	    int num_levels = cdm.index_manager.getNumLevels();
+	    if (num_levels == 0) num_levels = 1;
+	    expected_stages = expected_stages + num_levels;
+	}
+	else {
+	    int num_indexes = cdm.index_manager.getNumIndexes();
+	    int num_partitions = cdm.subcollectionindex_manager.getSize();
+	    if(num_partitions > 0) {
+		num_indexes = num_indexes * num_partitions;
+	    }
+	    int num_languages = cdm.language_manager.getSize();
+	    if(num_languages > 0) {
+		num_indexes = num_indexes * num_languages;
+	    }
+	    expected_stages = expected_stages + num_indexes;
+	}
+	// And if we have a phind classifier, we have one further index
+	if(cdm.classifier_manager.isPhindClassifierAssigned()) {
+	    expected_stages = expected_stages + 1;
+	}
+	cdm = null;
+    }
+    /** This method indicates the process is complete. 
+     * TODO Everthing.
+     */
+    public void stop() {
+	progress_bar.setIndeterminate(false);
+	setValue(MAX);
+    }
+
+    private void setValue(int value) {
+	progress_bar.setValue(value);
+	// Incrementing the shared progress bar is a little more problematic as we may very well be trying to set it to MIN but instead set it to halfway if we're not careful.
+	if(value > MIN) {
+	    shared_progress_bar.setValue(MAX + value);
+	}
+    }
+}
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GDefaultProgressMonitor.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GDefaultProgressMonitor.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GDefaultProgressMonitor.java	(revision 21123)
@@ -0,0 +1,90 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.shell;
+
+import org.greenstone.gatherer.gui.GProgressBar;
+import java.util.ArrayList;
+import java.awt.Component;
+
+public class GDefaultProgressMonitor implements GShellProgressMonitor{
+    private GProgressBar progress_bar = null; 
+    private boolean signalledStop = false;    
+
+    public void addProgressBar(GProgressBar progressBar){
+	progress_bar =  progressBar; 
+     }
+
+    public int exitValue(){
+	if (signalledStop){
+	    return 0;
+	}
+	return 1;
+      }
+
+    public GProgressBar getSharedProgress(){
+         return progress_bar;
+     }
+
+    public Component getProgress(){
+        return null;
+    }
+
+    public void messageOnProgressBar(String message){
+
+    }
+
+    public boolean hasSignalledStop(){
+	return signalledStop;
+    }
+   
+    public void increment(){}
+
+    public void process(ArrayList queue){}
+
+    public void reset(){}
+
+    public void saving(){}
+   
+    public void setStop(boolean state){
+        signalledStop = state; 
+    }
+
+    public void start(){}
+
+    public void stop(){}
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GImportProgressMonitor.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GImportProgressMonitor.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GImportProgressMonitor.java	(revision 21123)
@@ -0,0 +1,481 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.shell;
+
+import java.awt.Component;
+import java.util.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.gui.GProgressBar;
+import org.greenstone.gatherer.util.StaticStrings;
+
+/** This implementation of <i>GShellProgressMonitor</i> is designed to parse and translate the progress of a import.pl call.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.1
+ */
+public class GImportProgressMonitor
+    implements GShellProgressMonitor {
+    /** Indicates if the progress bar is currently showing a string. */
+    private boolean showing_string = false;
+    /** Indicates if the GUI has asked the process this object monitors to stop. */
+    private boolean stop = false;
+    /** A count of the extracted files processed so far. */
+    private int extracted_file_count;
+    /** The number of documents processed (or rejected) so far. */
+    private int file_count;
+    /** The next value to be set for the progress bar - I use this rather than a compounding progress measure to try to limit rounding inaccuracies (nothing looks worse than the progress bar having to jump the last 10-15%) */
+    private int next_progress_value;
+    /** The number of files expected to be scanned by this import process. */
+    private int num_expected_docs;
+    /** This holds the number of documents actually processed by the import command, as garnered from the final block of text output. */
+    private int num_docs;
+
+    private int threshold = Configuration.LIBRARIAN_MODE;
+    /** The progress bar this monitor updates. */
+    private GProgressBar progress_bar;
+
+    /** The progress bar that is shared with build monitor. */
+    private GProgressBar shared_progress_bar;
+
+    /** */
+    static final private String BLOCKED_ATTRIBUTE = "blocked";
+    static final private String CONSIDERED_ATTRIBUTE = "considered";
+    static final private String FAILED_ATTRIBUTE = "failed";
+    static final private String IGNORED_ATTRIBUTE = "ignored";
+    static final private String IMPORT_ELEMENT = "Import";
+    static final private String PROCESSED_ATTRIBUTE = "processed";  
+
+    static final private String ARGUMENT_ATTRIBUTE = "a";
+    /** */
+    static final private String NAME_ATTRIBUTE = "n";
+    /** */
+    static final private String PLUGIN_ATTRIBUTE = "p";
+    static final private String REASON_ATTRIBUTE = "r";
+    /** The fixed portion of the progress bar used for the calculating of file size and other pre-import functions. */
+    static final private int CALCULATION = 50000;
+    /** The fixed portion of the progress bar used for extracted metadata. */
+    static final private int EXTRACTED = 200000;
+    /** The fixed portion of the progress bar used for processed documents. */
+    static final private int PROCESSED = 750000;
+    /** The maximum value for this progress bar. */
+    static final private int MAXIMUM = CALCULATION + EXTRACTED + PROCESSED;
+    /** The minimum value for this progress bar. */
+    static final private int MINIMUM = 0;
+    /** The element name of a file detected message. */
+    static final private String FILE_ELEMENT = "File";
+    /** The element name of a file processing message. */
+    static final private String PROCESSING_ELEMENT = "Processing";
+    /** The element name of a processing error message. */
+    static final private String PROCESSINGERROR_ELEMENT = "ProcessingError";
+    /** The element name of an import complete message. */
+    static final private String IMPORTCOMPLETE_ELEMENT = "ImportComplete";
+    /** The element name of a file not processed. */
+    static final private String NONPROCESSEDFILE_ELEMENT = "NonProcessedFile";
+    /** The element name of a file not recognised. */
+    static final private String NONRECOGNISEDFILE_ELEMENT = "NonRecognisedFile";
+    /** The element name of a Warning message */
+    static final private String WARNING_ELEMENT = "Warning";
+    /** The element name of a BadArgument message */
+    static final private String BADARGUMENT_ELEMENT = "BadArgument";
+    static final private String BADARGUMENTVALUE_ELEMENT = "BadArgumentValue";
+    static final private String BADPLUGIN_ELEMENT = "BadPlugin";
+
+    public GImportProgressMonitor() {
+	progress_bar = new GProgressBar();
+	progress_bar.setIndeterminate(false);
+	progress_bar.setMaximum(MAXIMUM);
+	progress_bar.setMinimum(MINIMUM);
+	progress_bar.setString(null);
+	progress_bar.setStringPainted(true);
+	next_progress_value = CALCULATION;
+	shared_progress_bar = new GProgressBar();
+	shared_progress_bar.setIndeterminate(false);
+	shared_progress_bar.setMaximum(MAXIMUM * 2);
+	shared_progress_bar.setMinimum(MINIMUM);
+	shared_progress_bar.setString(null); // Default string
+	shared_progress_bar.setStringPainted(true);
+	setValue(MINIMUM);
+    }
+
+    /** Method to register a new progress bar with this monitor.
+     * @param progress_bar The new <strong>GProgressBar</strong>.
+     */
+    public void addProgressBar(GProgressBar progress_bar) {
+	this.progress_bar = progress_bar;
+	progress_bar.setMaximum(MAXIMUM);
+	progress_bar.setMinimum(MINIMUM);
+	setValue(MINIMUM);
+	next_progress_value = CALCULATION;
+    }
+
+    /** Determine the script exit value according to the progress monitor. This gets around a problem where several script failures actually result with a successful exit value.
+     * @return A <i>int</i> with a value of zero if and only if the script was successful.
+     */
+    public int exitValue() {
+	if(num_docs > 0) {
+	    return 0;
+	}
+	return 1;
+    }
+
+    /** Retrieve the number of documents recorded by the import monitor during the execution of the import scripts.
+     * @return An <i>int</i> giving the document number.
+     */
+    public int getNumberOfDocuments() {
+	return num_docs;
+    }
+
+    /** Method to retrieve whatever control is being used as the progress indicator. Usually a <strong>GProgressBar</strong> but there may be others implemented later.
+     * @return A <strong>Component</strong> on which the progress of the process is being displayed.
+     */
+    public Component getProgress() {
+	return progress_bar;
+    }
+
+    public GProgressBar getSharedProgress() {
+	return shared_progress_bar;
+    }
+
+    public void messageOnProgressBar(String message)
+    {
+	if (message!=null && !message.equals("")) {
+	    progress_bar.setString(message);
+	    shared_progress_bar.setString(message);
+	    showing_string = true;
+	}
+	else {
+	    progress_bar.setString(null);
+	    shared_progress_bar.setString(null);
+	    showing_string = false;
+	}
+    }
+
+    /** Method to determine the state of the stop flag, which may be set by the visual component that created this monitor.
+     * @return A <strong>boolean</strong> indicating if the process has been asked to stop.
+     */
+    public synchronized boolean hasSignalledStop() {
+	return stop;
+    }
+
+    /** Inform the progress bar that it should programatically increment progress by one step. This is only called during the metadata archive extraction so each step should be (1000000 / 5) / num_docs. */
+    public void increment() {
+	extracted_file_count++;
+	// The current progress is calculated to be:
+	// The fixed calculation value plus the fixed processed value plus some portion of the fixed extracted value. This portion is the extracted_file_count over the total number of documents available. Note that this breaks badly for bibliographical files (for now).
+	setValue(CALCULATION + PROCESSED + ((EXTRACTED * extracted_file_count) / num_docs));
+    }
+
+    /** This method is used to 'feed in' a line of text captured from the process.
+     * @param queue a queue which at the moment should contain a single GShellEvent
+     */
+    public void process(ArrayList queue) {
+	// Retrieve the first event.
+	GShellEvent event = (GShellEvent) queue.get(0);
+	// Remove 'import.pl> ' bit
+	String line = event.getMessage();
+	line = line.substring(line.indexOf(StaticStrings.GREATER_THAN_CHARACTER) + 1);
+	line = line.trim();
+	// System.err.println("**** line = " + line);
+
+	///ystem.err.println("Process: " + line);
+	if(line.startsWith(StaticStrings.LESS_THAN_CHARACTER) && line.endsWith(StaticStrings.GREATER_THAN_CHARACTER)) {
+	    // No original event is passed on, even in the lower modes
+	    event.veto();
+	    // Create a new element from it
+	    GShellElement element = new GShellElement(line);
+	    String name = element.getElementName();
+	    ///ystem.err.println("Gatherer tag: " + name);
+	    // We may be reading a file. Remember we have to offset process as we recieve this message 'before' a document is processed. Hence the use of 'next_progress_value'
+	    if(name.equals(IMPORT_ELEMENT)) {
+		///ystem.err.println("#Import");
+		// We're into parsing output, so we don't need the 'calculating file size' etc string.
+		if(showing_string) {
+		    progress_bar.setString(null);
+		    showing_string = false;
+		}
+		if(Configuration.getMode() <= threshold) {
+		    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Import.ImportBegun1"), event.getStatus()));
+		}
+	    }
+	    else if(name.equals(FILE_ELEMENT)) {
+		///ystem.err.println("#File");
+		file_count++;
+		// Set the next progress
+		if(next_progress_value > 0) {
+		    setValue(next_progress_value);
+		}
+		// Now we calculate the next progress value
+		next_progress_value = CALCULATION + ((PROCESSED * file_count) / num_expected_docs);
+		event.veto(); // Unconditional veto
+	    }
+	    // Or we're being told what plugin is actually processing the file
+	    else if(name.equals(PROCESSING_ELEMENT)) {
+		///ystem.err.println("#FileProcessing");
+		// If we are at lower mode settings fire a new 'dumbed down' event
+		if(Configuration.getMode() <= threshold) {
+		    String args[] = new String[2];
+		    args[0] = element.getAttribute(NAME_ATTRIBUTE);
+		    args[1] = element.getAttribute(PLUGIN_ATTRIBUTE);
+		    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Import.FileProcessing", args), event.getStatus()));
+		    args = null;
+		}
+	    }
+	    // processing error
+	    else if (name.equals(PROCESSINGERROR_ELEMENT)) {
+		if(Configuration.getMode() <= threshold) {
+		    String args[] = new String[1];
+		    args[0] = element.getAttribute(NAME_ATTRIBUTE);
+		    String reason = element.getAttribute(REASON_ATTRIBUTE);
+		    if (reason == null || reason.equals("")) {
+			queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Import.FileProcessingError", args), event.getStatus()));
+		    }
+		    else {
+			queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Import.FileProcessingError", args) + " (" + reason + ")", event.getStatus()));
+		    }
+		    args = null;
+		}
+	    }
+	    // unrecognised file
+	    else if (name.equals(NONRECOGNISEDFILE_ELEMENT)) {
+		if(Configuration.getMode() <= threshold) {
+		    String args[] = new String[1];
+		    args[0] =element.getAttribute(NAME_ATTRIBUTE);
+		    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Import.FileNotRecognised", args), event.getStatus()));
+		    args = null;
+		}
+	    }
+	    // unprocessed file
+	    else if (name.equals(NONPROCESSEDFILE_ELEMENT)) {
+		if(Configuration.getMode() <= threshold) {
+		    String args[] = new String[1];
+		    args[0] =element.getAttribute(NAME_ATTRIBUTE);		    
+		    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Import.FileNotProcessed", args), event.getStatus()));
+		    args = null;
+		}
+	    }
+	    // We had a bad argument to a plugin
+	    else if (name.equals(BADARGUMENT_ELEMENT)) {
+		if(Configuration.getMode() <= threshold) {
+		    String args[] = new String[1];
+		    args[0] = element.getAttribute(ARGUMENT_ATTRIBUTE);    
+		    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.BadArgument", args), event.getStatus()));
+		    args = null;
+		}
+	    }
+	    // We had a bad argument value to a plugin
+	    else if (name.equals(BADARGUMENTVALUE_ELEMENT)) {
+		if(Configuration.getMode() <= threshold) {
+		    String args[] = new String[1];
+		    args[0] = element.getAttribute(ARGUMENT_ATTRIBUTE);    
+		    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.BadArgumentValue", args), event.getStatus()));
+		    args = null;
+		}
+	    }
+	    // And this one tellsa us the plugin
+	    else if (name.equals(BADPLUGIN_ELEMENT)) {
+		if(Configuration.getMode() <= threshold) {
+		    String args[] = new String[1];
+		    args[0] = element.getAttribute(PLUGIN_ATTRIBUTE);    
+		    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.BadPluginOptions", args), event.getStatus()));
+		    args = null;
+		}
+	    }
+	    else if (name.equals(WARNING_ELEMENT)) {
+		if(Configuration.getMode() <= threshold) {
+		    String args[] = new String[1];
+		    args[0] = element.getAttribute(PLUGIN_ATTRIBUTE);
+		    String reason = element.getAttribute(REASON_ATTRIBUTE);
+		    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Import.Warning", args) + " " + reason, event.getStatus()));
+		    args = null;
+		}
+	    }
+	    
+	    
+	    // Or the import complete element
+	    else if(name.equals(IMPORTCOMPLETE_ELEMENT)) {
+		// Set the next progress
+		setValue(next_progress_value);
+		// If we are at lower mode settings fire a new 'dumbed down' event
+		if(Configuration.getMode() <= threshold) {
+		    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Import.ImportComplete1"), event.getStatus()));
+		    String considered_str = element.getAttribute(CONSIDERED_ATTRIBUTE);
+
+		    if (considered_str.equals(StaticStrings.ONE_CHARACTER)) {
+			queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Import.ImportComplete2.1"), event.getStatus()));	
+		    } else {
+			queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Import.ImportComplete2", considered_str), event.getStatus()));
+		    }
+		    considered_str = null;
+		    // The number of documents processed
+		    String processed_str = element.getAttribute(PROCESSED_ATTRIBUTE);
+		    if(!processed_str.equals(StaticStrings.ZERO_CHARACTER)) {
+			if(processed_str.equals(StaticStrings.ONE_CHARACTER)) {
+			    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), "    "+Dictionary.get("GShell.Import.ImportComplete.Processed.1"), event.getStatus()));
+			}
+			else {
+			    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), "    "+Dictionary.get("GShell.Import.ImportComplete.Processed", processed_str), event.getStatus()));
+			}
+		    }
+		    // Try to set num docs
+		    try {
+			num_docs = Integer.parseInt(processed_str);
+		    }
+		    catch(Exception exception) {
+			num_docs = 0;
+		    }  
+		    processed_str = null;
+
+		    // The number of documents blocked
+		    String blocked_str = element.getAttribute(BLOCKED_ATTRIBUTE);
+		    if(!blocked_str.equals(StaticStrings.ZERO_CHARACTER)) {
+			if (blocked_str.equals(StaticStrings.ONE_CHARACTER)) {
+			    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), "    "+Dictionary.get("GShell.Import.ImportComplete.Blocked.1"), event.getStatus()));
+			} else {
+			    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), "    "+Dictionary.get("GShell.Import.ImportComplete.Blocked", blocked_str), event.getStatus()));
+			}
+		    }
+		    blocked_str = null;
+		    
+		    // The number of documents ignored
+		    String ignored_str = element.getAttribute(IGNORED_ATTRIBUTE);
+		    if(!ignored_str.equals(StaticStrings.ZERO_CHARACTER)) {
+			if(ignored_str.equals(StaticStrings.ONE_CHARACTER)) {
+			    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), "    "+Dictionary.get("GShell.Import.ImportComplete.Ignored.1"), event.getStatus()));
+			} else {
+			    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), "    "+Dictionary.get("GShell.Import.ImportComplete.Ignored", ignored_str), event.getStatus()));
+			}
+		    }
+		    ignored_str = null;
+		    
+		    // The number of documents failed
+		    String failed_str = element.getAttribute(FAILED_ATTRIBUTE);
+		    if(!failed_str.equals(StaticStrings.ZERO_CHARACTER)) {
+			if(failed_str.equals(StaticStrings.ONE_CHARACTER)) {
+			    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), "    "+Dictionary.get("GShell.Import.ImportComplete.Failed.1"), event.getStatus()));
+			} else {
+			    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), "    "+Dictionary.get("GShell.Import.ImportComplete.Failed", failed_str), event.getStatus()));
+			}
+		    }
+		    failed_str = null;
+		    // Message is finally ready
+		    queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Import.ImportComplete3"), event.getStatus()));
+		} // if mode below threshhold
+		else {
+		    // Try to set num docs
+		    String processed_str = element.getAttribute(PROCESSED_ATTRIBUTE);
+		    try {
+			num_docs = Integer.parseInt(processed_str);
+		    }
+		    catch(Exception exception) {
+			num_docs = 0;
+		    }
+		}
+	    }
+	    else {
+		// Veto it
+		event.veto();
+	    }
+	} // GLI output
+	else if(Configuration.getMode() <= threshold) {
+	    event.veto();
+	}
+    }
+
+    public void reset() {
+	setValue(MINIMUM);
+	progress_bar.setString(null);
+	progress_bar.updateUI();
+    }
+
+    public void saving() {
+	progress_bar.setString(Dictionary.get("SaveProgressDialog.Title"));
+	showing_string = true;
+    }
+
+    /** Since the creator of this process monitor is actually in the GUI, this class provides the simpliest way to send a cancel process message between the two.
+     * @param state The desired state of the stop flag as a <strong>boolean</strong>.
+     */
+    public synchronized void setStop(boolean state) {
+	this.stop = state;
+    }
+
+    /** This method resets this monitor to the start, reseting the process parsing and progress bar.
+     */
+    public void start() {
+	stop = false;
+	setValue(MINIMUM);
+	progress_bar.setString(Dictionary.get("FileActions.Calculating_Size"));
+	showing_string = true;
+	extracted_file_count = 0;
+	file_count = 0;
+	next_progress_value = -1;
+	num_docs = -1;
+	// !! HACK: This is multiplied by 2 because the metadata_read now outputs a <File> tag also
+	// Ideally the metadata read pass would be completely separate and the GLI could work out the number
+	//   of documents accurately and provide a much better progress bar
+	num_expected_docs = Gatherer.c_man.getCollection().getCount() * 2;
+    }
+
+    /** This method indicates the process is complete. 
+     */
+    public void stop() {
+	setValue(MAXIMUM);
+    }
+
+    int previous_value = -1;
+
+    private void setValue(int value)
+    {
+	// Don't let the value go higher than the maximum
+	if (value > MAXIMUM) {
+	    DebugStream.println("Error: Tried to set progress bar higher than maximum!\n");
+	    return;
+	}
+	// Don't let the value go backwards
+	if (value != 0 && value < previous_value) {
+	    DebugStream.println("Error: Tried to set progress bar smaller than previous!\n");
+	    return;
+	}
+
+	progress_bar.setValue(value);
+	shared_progress_bar.setValue(value);
+	previous_value = value;
+    }
+}
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GScheduleProgressMonitor.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GScheduleProgressMonitor.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GScheduleProgressMonitor.java	(revision 21123)
@@ -0,0 +1,262 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.shell;
+
+import java.awt.Component;
+import java.util.ArrayList;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.cdm.CollectionDesignManager;
+import org.greenstone.gatherer.gui.GProgressBar;
+import org.greenstone.gatherer.util.StaticStrings;
+/** This implementation of <i>GShellProgressMonitor</i> is designed to parse and translate the progress of a buildcol.pl call.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+/* Wendy's feeble attempt at writing a schedule progress monitor. While it's not really needed, I'm writing it so that the schedule.pl prompts will go away. ;)  This also may need other "ELEMENTS" added to it. 
+ */ 
+
+public class GScheduleProgressMonitor
+    implements GShellProgressMonitor {
+    /** The minimum value = 0 */
+    static final private int MIN = 0;
+    /** In order to get a smoothish progress bar, set the maximum to a large number = 1000000 */
+    static final private int MAX = 1000000;
+    /** The various states the Schedule progress state machine can be in, starting at the base state. There are only two stages - perl script generation and cron building - so i'm not sure we need too  many steps. */
+    static final int BASE                          = -1;
+    static final int SCHEDULE                      =  0;
+    static final int DONE                          =  1; 
+    /** Now the language independant sentinel strings. */
+    static final String SCHEDULE_ELEMENT = "Schedule"; 
+    static final String SCHEDULE_DELETE = "Delete"; 
+    static final String SCHEDULE_DONE="Done"; 
+
+    static final private String ARGUMENT_ATTRIBUTE = "a";
+    static final private String CLASSIFIER_ATTRIBUTE = "c";
+    static final private String PLUGIN_ATTRIBUTE = "p";
+
+    /** Indicates if the GUI has asked the process this object monitors to stop. */
+    private boolean stop = false;
+    /** The current number of stages we have completed. */
+    private int current_stages = 0;
+    /** The number of stages we are expecting to complete. */
+    private int expected_stages = 0;
+
+    private int threshold = Configuration.LIBRARIAN_MODE;
+    /** The current state we are in. The state will change depending on the next flag recieved. */
+    private int state = BASE;
+    /** The progress bar this monitor updates. */
+    //private GProgressBar progress_bar;
+    /** A progress bar that is shared between this this listener and the Import and build monitor. not sure we need this. */
+    //private GProgressBar shared_progress_bar;
+
+    /** Construct a new GScheduleProgressMonitor. */
+    public GScheduleProgressMonitor() {
+	//this.shared_progress_bar = shared_progress_bar;
+	//progress_bar = new GProgressBar();
+	//progress_bar.setMaximum(MAX);
+	//progress_bar.setMinimum(MIN);
+	//progress_bar.setString(null);
+	//progress_bar.setStringPainted(true);
+	//setValue(MIN);
+    }
+
+    /** Method to register a new progress bar with this monitor.
+     * @param progress_bar The new <strong>GProgressBar</strong>.
+     */	 
+    /*note - we don't really need this. Wendy */ 
+    public void addProgressBar(GProgressBar progress_bar) {
+	//this.progress_bar = progress_bar;
+	//progress_bar.setMaximum(MAX);
+	//progress_bar.setMinimum(MIN);
+	//progress_bar.setStringPainted(false);
+	//progress_bar.setString(null);
+	//setValue(MIN);
+    }
+
+    /** Determine the script exit value according to the progress monitor. This gets around a problem where several script failures actually result with a successful exit value.
+     * @return A <i>int</i> with a value of zero if and only if the script was successful.
+     */
+    public int exitValue() {
+	if(state == BASE) {
+	    return 0;
+	}
+	return 1;
+    }
+    /** Method to retrieve whatever control is being used as the progress indicator. Usually a <strong>GProgressBar</strong> but there may be others implemented later.
+     * @return A <strong>Component</strong> on which the progress of the process is being displayed.
+     */
+    public Component getProgress() {
+	//return progress_bar;
+	return null;
+    }
+
+    public GProgressBar getSharedProgress() {
+    //return shared_progress_bar;
+    //try returning null;
+	return null; 
+    }
+
+    public void messageOnProgressBar(String message)
+    {
+	//if (message!=null && !message.equals("")) {
+	    //progress_bar.setString(message);
+	    //shared_progress_bar.setString(message);
+	//}
+        //else {
+	    //progress_bar.setString(null);
+	    //shared_progress_bar.setString(null);
+        //}
+    }
+
+    /** Method to determine the state of the stop flag, which may be set by the visual component that created this monitor.
+     * @return A <strong>boolean</strong> indicating if the process has been asked to stop.
+     */
+    public synchronized boolean hasSignalledStop() {
+	return stop;
+    }
+    /** Inform the progress bar that it should programatically increment progress by one step. */
+    public void increment() {
+	// I'm not sure we really need this for scheduling, so i'm going to ignore it for now.
+    }
+
+    /** This method is used to 'feed in' a line of text captured from the process.
+     * @param queue a queue which at the moment should contain a single GShellEvent
+     */
+    public void process(ArrayList queue) {
+	GShellEvent event = (GShellEvent) queue.get(0);
+	// Remove 'schedule.pl> ' bit
+	String line = event.getMessage();
+	line = line.substring(line.indexOf(StaticStrings.GREATER_THAN_CHARACTER) + 1);
+	line = line.trim();
+	// We are only really interested in processing pseudo-XML tags 
+	if(line.startsWith(StaticStrings.LESS_THAN_CHARACTER) && line.endsWith(StaticStrings.GREATER_THAN_CHARACTER)) {
+	    // All events are vetoed
+	    event.veto();
+	    
+	    // Create a new element from it
+	    GShellElement element = new GShellElement(line);
+	    // Now change states within the state machine as appropriate. A state change may subsequently incur a progress update.
+	    String name = null;
+	    String value = null;
+
+		name = element.getElementName(); 
+		if(name.equals(SCHEDULE_ELEMENT)) {
+		    //progress_bar.setIndeterminate(false);
+		    // Produce a lower detail message if required
+		    if(Configuration.getMode() <= threshold && !stop) {
+			queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Schedule.ScheduleBegun1"), event.getStatus()));
+		    }
+		}
+		else if(name.equals(SCHEDULE_DELETE)) { 
+		    if(Configuration.getMode() <= threshold) {
+			queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Schedule.ScheduleDelete"), event.getStatus()));
+		    }
+		}
+		else if(name.equals(SCHEDULE_DONE)) { 
+		    if(Configuration.getMode() <= threshold) {
+			queue.add(new GShellEvent(event.getSource(), 0, event.getType(), Dictionary.get("GShell.Schedule.ScheduleComplete1"), event.getStatus()));
+		    }
+		} 
+		else {
+		    // Unknown command, go indeterminate
+		    DebugStream.println("Unknown name: " + name);
+		    //progress_bar.setIndeterminate(true);
+		}
+
+
+
+	}
+	// If we are dealing with lower detail modes then veto any other messages. We do this here as the progress monitors are garuenteed to recieve this message before anything else
+	else if(Configuration.getMode() <= threshold) {
+	    event.veto();
+	}
+    }
+
+    public void reset() {
+	current_stages = 0;
+	expected_stages = 0;
+	//progress_bar.setIndeterminate(false);
+	//progress_bar.setString(null);
+	setValue(MIN);
+	state = BASE;
+	//progress_bar.updateUI();
+    }
+
+    public void saving() {
+    }
+
+    public void setSharedProgressBar(GProgressBar shared_progress_bar) {
+    //this.shared_progress_bar = shared_progress_bar;
+    }
+
+    /** Since the creator of this process monitor is actually in the GUI, this class provides the simpliest way to send a cancel process message between the two.
+     * @param state The desired state of the stop flag as a <strong>boolean</strong>.
+     */
+    public synchronized void setStop(boolean state) {
+	this.stop = state;
+	//progress_bar.setIndeterminate(false);
+    }
+    /** This method resets this monitor to the start, reseting the process parsing and progress bar.
+     * TODO Everthing.
+     */
+    public void start() {
+	stop = false;
+	setValue(MIN);
+	expected_stages = 1; // Always compress text, create info database and auxiliary creation
+
+
+    }
+    /** This method indicates the process is complete. 
+     * TODO Everthing.
+     */
+    public void stop() {
+	//progress_bar.setIndeterminate(false);
+	setValue(MAX);
+    }
+
+    private void setValue(int value) {
+	//progress_bar.setValue(value);
+	// Incrementing the shared progress bar is a little more problematic as we may very well be trying to set it to MIN but instead set it to halfway if we're not careful.
+	//if(value > MIN) {
+	//    shared_progress_bar.setValue(MAX + value);
+	//}
+    }
+}
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GShell.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GShell.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GShell.java	(revision 21123)
@@ -0,0 +1,638 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.shell;
+
+import java.io.*;
+import java.net.*;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.regex.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.Gatherer;
+import org.greenstone.gatherer.cdm.CollectionConfiguration;
+import org.greenstone.gatherer.cdm.CollectionDesignManager;
+import org.greenstone.gatherer.cdm.CollectionMetaManager;
+import org.greenstone.gatherer.cdm.CollectionMeta;
+import org.greenstone.gatherer.collection.CollectionManager;
+import org.greenstone.gatherer.metadata.DocXMLFileManager;
+import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
+import org.greenstone.gatherer.util.StaticStrings; 
+import org.greenstone.gatherer.util.Utility;
+
+
+/** The <strong>GShell</strong> is reponsible for running a separately threaded process in the command shell. This is necessary for executing the Perl Scripts and also for other system related funcitonality.
+ */
+public class GShell
+    extends Thread {
+    /** A flag used to determine if this process has been asked to cancel. */
+    private boolean cancel = false;
+    private BufferedOutputStream buffered_output_stream = null;
+    /** The list of listeners associated with this class. */
+    private EventListenerList listeners = null;
+    /** The current status of this shell process. */
+    private int status = -1;
+    /** The type of message being sent. */
+    private int msg_type = -1;
+    /** The type of shell process. */
+    private int type = -1;
+    /** The caller of this process, and thus the class most interested in messages. */
+    private GShellListener caller = null;
+    /** The progress monitor associated with this process. */
+    private GShellProgressMonitor progress = null;
+    /** Arguments to be given to the process (including the executable you are calling. */
+    private String args[] = null;
+    /** The command_output returned from executing a process */
+    private String commandOutput = null;
+
+    /** Elements in process type enumeration. */
+    static final public int BUILD = 0;
+    static final public int IMPORT = 1;
+    static final public int NEW = 2;
+    static final public int EXPORTAS = 3;
+    static final public int CDIMAGE = 4;
+    static final public int CONVERT = 5;
+    static final public int EXPLODE = 6;
+    static final public int SRCREPLACE = 7; // for replacing source docs with their html
+    static final public int SCHEDULE = 8;
+
+    /** Elements in status type enumeration. */
+    static final public int ERROR = 0;
+    static final public int OK = 1;
+    static final public int CANCELLED = 2;
+
+    /** Elements in process type name enumeration. */
+    static public String GSHELL_BUILD = "gshell_build";
+    static public String GSHELL_IMPORT = "gshell_import";
+    static public String GSHELL_NEW = "gshell_new";
+    static public String GSHELL_EXPORTAS = "gshell_exportas";
+    static public String GSHELL_CDIMAGE = "gshell_cdimage";
+    static public String GSHELL_CONVERT = "gshell_convert";
+    static public String GSHELL_EXPLODE = "gshell_explode";
+    static public String GSHELL_SRCREPLACE = "gshell_srcreplace"; // for replacing source docs with their html versions
+    static public String GSHELL_SCHEDULE = "gshell_schedule"; 
+
+    /** Determine if the given process is still executing. It does this by attempting to throw an exception - not the most efficient way, but the only one as far as I know
+     * @param process the Process to test
+     * @return true if it is still executing, false otherwise
+     */
+    static public boolean processRunning(Process process) {
+	boolean process_running = false;
+
+	try {
+	    process.exitValue(); // This will throw an exception if the process hasn't ended yet.
+	}
+	catch(IllegalThreadStateException itse) {
+	    process_running = true;
+	}
+	catch(Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+	return process_running;
+    }
+
+    /** Constructor gatherer all the data required to create a new process, and emit meaningfull messages.
+     * @param args A <strong>String[]</strong> containing the arguments to the process thread, including the name of the executable.
+     * @param type An <strong>int</strong> that indicates what group of processes this process belongs to, as some are treated slightly differently (i.e an IMPORT type process is always followed by a BUILD one).
+     * @param msg_type As process threads may be background (like a makecol.pl call) or important processes in their own right (such as an IMPORT-BUILD) we must be able to set what level messages posted by this class will have by usings this <strong>int</strong>.
+     * @param caller The default <i>GShellListener</i> that is interested in the progress of this process.
+     * @param progress The <i>GShellProgressMonitor</i> associated with this process.
+     * @param name A <strong>String</strong> identifier given to the process, for convience and debug reasons.
+     */
+    public GShell(String args[], int type, int msg_type, GShellListener caller, GShellProgressMonitor progress, String name) {
+	super(name);
+	this.args = args;
+	this.msg_type = msg_type;
+	this.type = type;
+	this.caller = caller;
+	this.progress = progress;
+	this.status = 0;
+	// Lower this jobs priority
+	this.setPriority(Thread.MIN_PRIORITY);
+	listeners = new EventListenerList();
+	listeners.add(GShellListener.class, caller);
+    }
+    /** This method adds another shell listener to this process.
+     * @param listener The new <i>GShellListener</i>.
+     */
+    public void addGShellListener(GShellListener listener) {
+	listeners.add(GShellListener.class, listener);
+    }
+    /** This method removes a certain shell listener from this process.
+     * @param listener The <i>GShellListener</i> to be removed.
+     */
+    /* private void removeGShellListener(GShellListener listener) {
+       listeners.remove(GShellListener.class, listener);
+       } */
+
+    protected StringBuffer get_stream_char(InputStreamReader isr, StringBuffer line_buffer,
+				   BufferedOutputStream bos) throws IOException 
+    {
+	int c = isr.read();
+	///atherer.println("isr: '" + (char) c + "'");
+	if(c == '\n' || c == '\r') {
+	    if(line_buffer.length() > 0) {
+		String line = line_buffer.toString();
+		// DebugStream.println("* " + line + " *");		
+		fireMessage(type, typeAsString(type) + "> " + line, status, bos);
+		line_buffer = new StringBuffer();
+	    }
+	}
+	else {
+	    line_buffer.append((char)c);
+	}
+
+	return line_buffer;
+    }
+
+    public String getCommandOutput() { return commandOutput; }
+    public void resetCommandOutput() { commandOutput = null; }
+
+    private void runRemote(String[] args, BufferedOutputStream bos)
+    {
+	// Make sure the process hasn't been cancelled
+	if (hasSignalledStop()) {
+	    return;
+	}
+
+	try {
+	    int directory_name_end = args[0].lastIndexOf(File.separator);
+	    String script_name = ((directory_name_end != -1) ? args[0].substring(directory_name_end + 1) : args[0]);
+	    System.err.println("Script name: " + script_name);
+	    String collection_name = args[args.length - 1];
+	    System.err.println("Collection name: " + collection_name);
+
+
+	    String script_args = "";
+	    for (int i = 1; i < (args.length - 1); i++) {
+		// Skip arguments that won't make sense on the server
+		if (args[i].equals("-collectdir") || args[i].equals("-importdir") || args[i].equals("-builddir")) {
+		    i++;
+		    continue;
+		}
+
+		// Script arguments get changed to CGI arguments
+		if (args[i].startsWith("-")) {
+		    script_args += "&" + args[i].substring(1) + "=";
+		    if ((i + 1) < (args.length - 1) && !args[i + 1].startsWith("-")) {
+			script_args += URLEncoder.encode(args[i + 1], "UTF-8");
+			i++;
+		    }
+		}
+	    }
+
+	    System.err.println("Script args: " + script_args);
+	    buffered_output_stream = bos;
+	    String command_output = Gatherer.remoteGreenstoneServer.runScript(collection_name, script_name, script_args, this);
+	    this.commandOutput = command_output;
+	    status = (command_output.equals("") ? CANCELLED : OK);
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	    status = ERROR;
+	}
+    }
+
+
+    private void runLocal(String[] args, BufferedOutputStream bos) 
+    {
+	try {
+	    String command = "";
+	    for(int i = 0; i < args.length; i++) {
+		command = command + args[i] + " ";
+	    }
+	    
+	    ///ystem.err.println("Command: " + command);
+	    fireMessage(type, Dictionary.get("GShell.Command") + ": " + command, status, null);
+	    
+	    Runtime rt = Runtime.getRuntime();
+	    Process prcs = null;
+	  
+	    prcs = rt.exec(args);
+	    // If we used single argument exec, spaces in filenames or paths cause problems
+	    // I.e. better to avoid: prcs = rt.exec(command);
+	    
+	    InputStreamReader eisr = new InputStreamReader( prcs.getErrorStream(), "UTF-8" );
+	    InputStreamReader stdisr = new InputStreamReader( prcs.getInputStream(), "UTF-8"  );	    
+	
+	    StringBuffer eline_buffer = new StringBuffer();
+	    StringBuffer stdline_buffer = new StringBuffer();
+	
+	    while(/*type != GShell.NEW &&*/ processRunning(prcs) && !hasSignalledStop()) {
+		// Hopefully this doesn't block if the process is trying to write to STDOUT.
+		if((eisr!=null) && eisr.ready()) { 
+		    eline_buffer = get_stream_char(eisr,eline_buffer,bos);
+		}
+		// Hopefully this won't block if the process is trying to write to STDERR
+		else if(stdisr.ready()) {
+		    stdline_buffer = get_stream_char(stdisr,stdline_buffer,bos);
+		}
+		else {
+		    try {
+			sleep(100);
+		    }
+		    catch(Exception exception) {	     
+		    }
+		}
+	    }
+	
+	    if(!hasSignalledStop()) {
+		// Of course, just because the process is finished doesn't
+		// mean the incoming streams are empty. Unfortunately I've
+		// got no chance of preserving order, so I'll process the
+		// error stream first, then the out stream
+		while(eisr.ready()) {
+		    eline_buffer = get_stream_char(eisr,eline_buffer,bos);
+		}
+	    
+		while(stdisr.ready()) {
+		    stdline_buffer = get_stream_char(stdisr,stdline_buffer,bos);
+		}
+	    
+		// Ensure that any messages still remaining in the string buffers are fired off.
+		if(eline_buffer.length() > 0) {
+		    String eline = eline_buffer.toString();
+		    //DebugStream.println("Last bit of eline: " + eline);
+		    fireMessage(type, typeAsString(type) + "> " + eline, status, bos);
+		    eline = null;
+		}
+	    
+		if(stdline_buffer.length() > 0) {
+		    String stdline = stdline_buffer.toString();
+		    //DebugStream.println("Last bit of stdline: " + stdline);
+		    fireMessage(type, typeAsString(type) + "> " + stdline, status, null);
+		    stdline = null;
+		}
+	    }
+	    else {
+		DebugStream.println("We've been asked to stop.");
+	    }
+	
+	
+	    if(!hasSignalledStop()) {
+		// Now display final message based on exit value
+	    
+		prcs.waitFor(); 
+
+		if(prcs.exitValue() == 0) {
+		    status = OK;
+		    fireMessage(type, typeAsString(type) + "> " + Dictionary.get("GShell.Success"), status, null);
+		}
+		else {
+		    status = ERROR;
+		    fireMessage(type, typeAsString(type) + "> " + Dictionary.get("GShell.Failure"), status, null);
+		}
+	    
+		eisr.close();
+		stdisr.close();
+	    }
+	    else {
+		// I need to somehow kill the child process. Unfortunately
+		// Thread.stop() and Process.destroy() both fail to do
+		// this. But now, thankx to the magic of Michaels 'close the
+		// stream suggestion', it works fine (no it doesn't!)
+		prcs.getInputStream().close();
+		prcs.getErrorStream().close();
+		prcs.getOutputStream().close();
+		prcs.destroy();
+		status = CANCELLED;
+	    }
+	}
+	// Exception
+	catch (Exception exception) {
+	    DebugStream.println("Exception in GShell.runLocal() - unexpected");
+	    DebugStream.printStackTrace(exception);
+	    status = ERROR;
+	}
+    }
+    
+    
+
+    /** Any threaded class must include this method to allow the thread body to be run. */
+    public void run() {
+	String col_name = args[args.length-1];		
+
+	// Determine if the user has asked for an outfile.
+	String out_name = null;
+	BufferedOutputStream bos = null;
+	if(type == IMPORT || type == BUILD || type == SCHEDULE) {
+	    if(type == IMPORT) {
+		out_name = (String) Gatherer.c_man.getCollection().import_options.getValue("out");
+	    }
+	    else if(type == BUILD) {
+		out_name = (String) Gatherer.c_man.getCollection().build_options.getValue("out");
+	    }
+	    else { // SCHEDULE
+		out_name = (String) Gatherer.c_man.getCollection().schedule_options.getValue("out"); 
+	    }
+	    if(out_name != null && out_name.length() > 0) {
+		try {
+		    bos = new BufferedOutputStream(new FileOutputStream(new File(out_name), true));
+		}
+		catch (Exception error) {
+		    DebugStream.printStackTrace(error);
+		}
+	    }
+	}
+
+	// Issue a processBegun event
+	//ystem.err.println("\nFiring process begun for " + type + "...");
+	fireProcessBegun(type, status);
+	//ystem.err.println("Done process begun.");
+	if (Gatherer.isGsdlRemote) {
+	    runRemote(args,bos);
+	}
+	else {
+	    runLocal(args,bos);
+	}
+	//ystem.err.println("Done runLocal().");
+
+	if(status == OK) {
+	    if (type == NEW) {
+		if (Gatherer.isGsdlRemote) {
+		    Gatherer.remoteGreenstoneServer.downloadCollection(col_name);
+		}
+	    }
+	    else if(type == IMPORT) {
+		
+		// download the archives directory (if gsdl server is remote)			
+		if (Gatherer.isGsdlRemote) {
+
+		    if (progress!=null) {
+			progress.messageOnProgressBar("Downloading archive data from server");
+		    }
+
+		    Gatherer.remoteGreenstoneServer.downloadCollectionArchives(col_name);
+
+		    if (progress!=null) {
+			progress.messageOnProgressBar("");
+		    }      
+		}
+
+		// Refresh the DocXMLFileManager
+		fireMessage(type, typeAsString(type) + "> " + Dictionary.get("GShell.Parsing_Metadata_Start"), status, null);
+		DocXMLFileManager.clearDocXMLFiles();
+		if (Configuration.fedora_info.isActive()) { // FLI case
+		    File collection_export_directory = new File(CollectionManager.getLoadedCollectionExportDirectoryPath());
+		    DocXMLFileManager.loadDocXMLFiles(collection_export_directory,"docmets.xml");
+		}
+		else {
+		    File collection_archives_directory = new File(CollectionManager.getLoadedCollectionArchivesDirectoryPath());
+		    DocXMLFileManager.loadDocXMLFiles(collection_archives_directory,"doc.xml");
+		}
+
+
+		fireMessage(type, typeAsString(type) + "> " + Dictionary.get("GShell.Parsing_Metadata_Complete"), status, null);
+	    }
+
+ 	    else if(type == BUILD) {
+ 		// download the building directory (if gsdl server is remote)
+ 		if ((Gatherer.isGsdlRemote) && (!Configuration.fedora_info.isActive())) {
+ 		    if (progress!=null) {
+ 			progress.messageOnProgressBar("Downloading index data from server");
+ 		    }
+		    			
+		    if (!Gatherer.GS3){
+			// Only need to download build.cfg file
+			File build_cfg_file = new File(CollectionManager.getLoadedCollectionBuildingDirectoryPath(), "build.cfg");
+			Gatherer.remoteGreenstoneServer.downloadCollectionFile(col_name, build_cfg_file);
+		    }else{
+			// Only need to download buildConfig.xml file
+			File buildConfig_xml_file = new File(CollectionManager.getLoadedCollectionBuildingDirectoryPath(), "buildConfig.xml");
+			Gatherer.remoteGreenstoneServer.downloadCollectionFile(col_name, buildConfig_xml_file);
+		    }
+
+ 		    if (progress!=null) {
+ 			progress.messageOnProgressBar("");
+ 		    }
+ 		}
+ 	    }
+	    else if(type == CDIMAGE) {
+		// download exported files from tmp folder (if gsdl server is remote)			
+		if (Gatherer.isGsdlRemote) {
+		    if (progress!=null) {
+			progress.messageOnProgressBar("Downloading CD-ROM data from server");
+		    }
+
+		    // !! TO DO
+		    
+ 		    if (progress!=null) {
+ 			progress.messageOnProgressBar("");
+ 		    }
+		}
+	    }
+	}
+
+	// We're done.	
+	//ystem.err.println("Firing process complete for " + type + "...");
+	fireProcessComplete(type, status);
+	// Close bos
+	if(bos != null) {
+	    try {
+		bos.close();
+		bos = null;
+	    }
+	    catch(Exception error) {
+		DebugStream.printStackTrace(error);
+	    }
+	}
+    }
+
+
+    public void fireMessage(String message)
+    {
+	fireMessage(type, typeAsString(type) + "> " + message, status, buffered_output_stream);
+    }
+
+
+    /** Method for firing a message to all interested listeners.
+     * @param type An <strong>int</strong> indicating the process type.
+     * @param message The message as a <strong>String</strong>.
+     * @param status An <strong>int</strong> specifying the current status of the process.
+     */
+    public void fireMessage(int type, String message, int status, BufferedOutputStream bos) {
+	GShellEvent event = new GShellEvent(this, 0, type, message, status);
+	// If there is a progress monitor attached, pass the event to it first. Note that we pass a queue of messages as the processing may cause one message to be split into several.
+	ArrayList message_queue = new ArrayList();
+	message_queue.add(event);
+	if(progress != null) {
+	    progress.process(message_queue);
+	}
+	for(int j = 0; j < message_queue.size(); j++) {
+	    GShellEvent current_event = (GShellEvent) message_queue.get(j);
+	    // If the event hasn't been vetoed, pass it on to other listeners
+	    if(!current_event.isVetoed()) {
+		Object[] concerned = listeners.getListenerList();
+		for(int i = 0; i < concerned.length ; i++) {
+		    if(concerned[i] == GShellListener.class) {
+			((GShellListener)concerned[i+1]).message(current_event);
+		    }
+		}
+		concerned = null;
+	    }
+	}
+	// And if we have a buffered output stream from error messages, send the message there
+	if(bos != null) {
+	    try {
+		bos.write(message.getBytes(), 0, message.length());
+	    }
+	    catch(Exception exception) {
+		DebugStream.println("Exception in GShell.fireMessage() - unexpected");
+		DebugStream.printStackTrace(exception);
+	    }
+	}
+	message_queue = null;
+	event = null;
+    }
+
+    /** Method for firing a process begun event which is called, strangly enough, when the process begins.
+     * @param type An <strong>int</strong> indicating the process type.
+     * @param status An <strong>int</strong> specifying the current status of the process.
+     */
+    protected void fireProcessBegun(int type, int status) {
+	// Start the progres monitor if available
+	if(progress != null) {
+	    //ystem.err.println("About to call progress.start().");
+	    progress.start();
+	    //ystem.err.println("Called progress.start().");
+	}
+	// Fire an event
+	GShellEvent event = new GShellEvent(this, 0, type, "", status);
+	Object[] concerned = listeners.getListenerList();
+	for(int i = 0; i < concerned.length ; i++) {
+	    if(concerned[i] == GShellListener.class) {
+		((GShellListener)concerned[i+1]).processBegun(event);
+	    }
+	}
+    }
+
+
+    /** Method for firing a process complete event which is called, no surprise here, when the process ends.
+     * @param type An <strong>int</strong> indicating the process type.
+     * @param status An <strong>int</strong> specifying the current status of the process.
+     */
+    protected void fireProcessComplete(int type, int status) {
+	// Tidy up by stopping the progress bar. If it was cancelled then the cancel command has arrived via the progress bars and they don't need to be told again (it actually causes problems).
+	if(progress != null && status != CANCELLED) {
+	    progress.stop();
+	}
+	
+	// If we were cancelled, and we are lower details modes, fire off one last message.
+	if(status == CANCELLED && Configuration.getMode() <= Configuration.LIBRARIAN_MODE) {
+	    GShellEvent current_event = new GShellEvent(this, 0, type, Dictionary.get("GShell.Build.BuildCancelled"), status);
+	    Object[] concerned = listeners.getListenerList();
+	    for(int i = 0; i < concerned.length ; i++) {
+		if(concerned[i] == GShellListener.class) {
+		    ((GShellListener)concerned[i+1]).message(current_event);
+		}
+	    }
+	    concerned = null;
+	}
+	
+	String msg = "";
+	// If we are creating collection and have trouble with permissions, we need more messages
+	if(status == ERROR && type == GShell.NEW){
+	  msg = args[args.length-1];
+	}
+	// And firing off an event
+	GShellEvent event = new GShellEvent(this, 0, type, msg, status);
+	Object[] concerned = listeners.getListenerList();
+	for(int i = 0; i < concerned.length ; i++) {
+	    if(concerned[i] == GShellListener.class) {
+		((GShellListener)concerned[i+1]).processComplete(event);
+	    }
+	}
+    }
+
+    /** Method to determine if the user, via the progress monitor, has signalled stop.
+     * @return A <strong>boolean</strong> indicating if the user wanted to stop.
+     */
+    public boolean hasSignalledStop() {
+	boolean has_signalled_stop = false;
+	if(progress != null) {
+	    has_signalled_stop = progress.hasSignalledStop();
+	}
+	if(has_signalled_stop) {
+	    status = CANCELLED;
+	}
+	return has_signalled_stop;
+    }
+
+    /** Converts a type into a text representation.
+     * @param type An <strong>int</strong> which maps to a shell process type.
+     * @return A <strong>String</strong> which is the thread process's text name.
+     */
+    public String typeAsString(int type) {
+	String name = null;
+	switch(type) {
+	case BUILD:
+	    name = "buildcol.pl";
+	    break;
+	case IMPORT:
+	    name = "import.pl";
+	    break;
+	case NEW:
+	    name = "mkcol.pl";
+	    break;
+	case EXPORTAS:
+	    name = "export.pl";
+	    break;
+	case CDIMAGE:
+	    name = "exportcol.pl";
+	    break;
+	case CONVERT:
+	    name = "convert_coll_from_gs2.pl";
+	    break;
+	case EXPLODE:
+	    name = "explode_metadata_database.pl";
+	    break;
+	case SRCREPLACE: // To work with replace_srcdoc_with_html.pl
+	    name = "replace_srcdoc_with_html.pl";
+	    break;
+	case SCHEDULE:
+	    name = "schedule.pl";
+	    break; 
+	default:
+	    name = "";
+	}
+	return name;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GShellElement.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GShellElement.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GShellElement.java	(revision 21123)
@@ -0,0 +1,106 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, New Zealand Digital Library, University of Waikato
+ *
+ * Copyright (C) 2004 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.shell;
+import java.util.HashMap;
+import java.util.StringTokenizer;
+import org.greenstone.gatherer.util.StaticStrings;
+
+/** This class wraps around a pseudo-XML message we have recieved from an external script, and allows access to the element name, attributes etc via method calls. */
+public class GShellElement {
+    private boolean is_closed = false;
+    private HashMap attributes;
+    private String element_name;
+    /** Create a new element around the message string. The string is expected to start with < and end with > */
+    /** this is a hack - why aren't we using proper XML parsing?? */
+    public GShellElement(String message) {
+	// Remove the angle brackets
+	message = message.substring(1, message.length() - 1);
+	// Tokenize the message
+	StringTokenizer tokenizer = new StringTokenizer(message);
+	// The first token is the element name - be aware it may start with the close tag indicator
+	element_name = tokenizer.nextToken();
+	if(element_name.startsWith(StaticStrings.URL_SEPARATOR_CHARACTER)) {
+	    element_name = element_name.substring(1);
+	    is_closed = true;
+	}
+	// Now while we have remaining tokens
+	while(tokenizer.hasMoreTokens()) {
+	    int index = -1;
+	    // The next token might be a attribute=value pair or it could be the close tag indicator
+	    String token = tokenizer.nextToken();
+	    if(token.equals(StaticStrings.URL_SEPARATOR_CHARACTER)) {
+		is_closed = true;
+	    }
+	    else if(token.length() > 3 && (index = token.indexOf(StaticStrings.EQUALS_CHARACTER)) != -1) {
+		String attribute_name = token.substring(0, index);
+		String attribute_value = token.substring(index + 1);
+		// Value may end in a /
+		if(attribute_value.endsWith(StaticStrings.URL_SEPARATOR_CHARACTER)) {
+		    is_closed = true;
+		    attribute_value = attribute_value.substring(0, attribute_value.length() - 1);
+		}
+		// We may have to strip ' marks off value - if it starts with ' and doesn't end with ' we read in more tokens until we get an ending '
+		if(attribute_value.startsWith(StaticStrings.SINGLE_QUOTE_CHARACTER)) {
+		    while (!attribute_value.endsWith(StaticStrings.SINGLE_QUOTE_CHARACTER) && tokenizer.hasMoreTokens()) {
+			attribute_value += " "+tokenizer.nextToken();
+		    }
+		    if (attribute_value.endsWith(StaticStrings.SINGLE_QUOTE_CHARACTER)) {
+			attribute_value = attribute_value.substring(1, attribute_value.length() - 1);
+		    }
+		}
+		if(attributes == null) {
+		    attributes = new HashMap();
+		}
+		attributes.put(attribute_name, attribute_value);
+		attribute_value = null;
+		attribute_name = null;
+	    }
+	    token = null;
+	}
+	tokenizer = null;
+    }
+
+    public String getAttribute(String attribute_name) {
+	String result = null;
+	if(attributes != null) {
+	    result = (String) attributes.get(attribute_name);
+	}
+	if(result == null) {
+	    result = "";
+	}
+	return result;
+    }
+
+    public String getElementName() {
+	return element_name;
+    }
+
+    public boolean isClosed() {
+	return is_closed;
+    }
+}
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GShellEvent.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GShellEvent.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GShellEvent.java	(revision 21123)
@@ -0,0 +1,120 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.shell;
+
+/** Title:        The Gatherer<br>
+ * Description:  The Gatherer: a tool for gathering and enriching digital collections.<br>
+ * Copyright:    Copyright (c) 2001<br>
+ * Company:      The University of Waikato<br>
+ * Written:        /  /01<br>
+ * Revised:      12/05/02 - Commented<br>
+ *               29/05/02 - Moved into correct package<br>
+ * @author John Thompson, Greenstone Digital Libraries
+ * @version 2.1 */
+import java.awt.AWTEvent;
+
+/** This class encapsulates all the information created by an event within a <strong>GShell</strong> process. */
+public class GShellEvent 
+    extends AWTEvent {
+    /** Allows some part of the program to prevent this message being processed by other parts. */
+    private boolean vetoed = false;
+    /** The status of the process at the completion of event. */
+    private int status = -1;
+    /** The process type (such as COPY, BUILD or IMPORT). */
+    private int type = -1;
+    /** Any message associated with this event. */
+    private String message = null;
+
+    /* Constructor.
+     * @param source The <strong>GShell</strong> that fired this message.
+     * @param id The event identifier as an <strong>int</strong>.
+     * @param type The process type as an <strong>int</strong>.
+     * @param message A <strong>String</strong> representing any message attatched with this event.
+     * @param status The status of the process post event, as an <strong>int</strong>.
+     */
+    public GShellEvent(Object source, int id, int type, String message, int status) {
+	super(source, id);
+	this.message = message;
+	this.status = status;
+	this.type = type;
+    }
+
+    /** Gets the message associated with this event.
+     * @return The message as a <strong>String</strong> or <i>null</i>.
+     */
+    public String getMessage() {
+	return message;
+    }
+
+    /** Gets the status associated with this event. This status can then be matched back to the constants in <strong>GShell</strong>.
+     * @return An <strong>int</strong> signifying the process status.
+     */ 
+    public int getStatus() {
+	return status;
+    }
+
+    /** Gets the type associated with this event. This type can then be matched back to the constants in <strong>GShell</strong>.
+     * @return An <strong>int</strong> signifying the process type.
+     */ 
+    public int getType() {
+	return type;
+    }
+
+    /** Determine if this event has been vetoed by some other part of the GLI
+     * @return true if the event has, and thus shouldn't be further processed, false otherwise.
+     */
+    public boolean isVetoed() {
+	return vetoed;
+    }
+
+    /** Change the message to be displayed by this event - usually from something technical so something easier to understand.
+     * @param message the new message as a String
+     */
+    public void setMessage(String message) {
+	this.message = message;
+    }
+
+    public String toString() {
+	return "org.greenstone.gatherer.shell.GShellEvent[" + message + "," + status + "," + type + "]";
+    }
+
+    /** Prevent this event being processed by other parts of the GLI.
+     */
+    public void veto() {
+	vetoed = true;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GShellListener.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GShellListener.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GShellListener.java	(revision 21123)
@@ -0,0 +1,70 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.shell;
+
+/**
+ * Title:        The Gatherer<br>
+ * Description:  The Gatherer: a tool for gathering and enriching digital collections.<br>
+ * Copyright:    Copyright (c) 2001<br>
+ * Company:      The University of Waikato<br>
+ * Written:        /  /01<br>
+ * Revised:      12/05/02 - Commented<br>
+ *               29/05/02 - Moved into correct package<br>
+ * @author John Thompson, Greenstone Digital Libraries
+ * @version 2.1
+ */
+import java.util.EventListener;
+
+/** This interface details the methods required of a class that wishes to listen to a <strong>GShell</strong>.
+ */
+public interface GShellListener 
+    extends EventListener {
+    /** All implementation of <i>GShellListener</i> must include this method so the listener can be informed of messages from the <strong>GShell</strong>.
+     * @param event A <strong>GShellEvent</strong> that contains, amoung other things, the message.
+     */
+    public void message(GShellEvent event);
+
+    /** All implementation of <i>GShellListener</i> must include this method so the listener can be informed when a <strong>GShell</strong> begins its task.
+     * @param event A <strong>GShellEvent</strong> that contains details of the initial state of the <strong>GShell</strong> before task comencement.
+     */
+    public void processBegun(GShellEvent event);
+
+    /** All implementation of <i>GShellListener</i> must include this method so the listener can be informed when a <strong>GShell</strong> completes its task.
+     * @param event A <strong>GShellEvent</strong> that contains details of the final state of the <strong>GShell</strong> after task completion.
+     */
+    public void processComplete(GShellEvent event);
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GShellProgressMonitor.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GShellProgressMonitor.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/shell/GShellProgressMonitor.java	(revision 21123)
@@ -0,0 +1,105 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.shell;
+
+/**
+ * Title:        The Gatherer<br>
+ * Description:  The Gatherer: a tool for gathering and enriching digital collections.<br>
+ * Copyright:    Copyright (c) 2001<br>
+ * Company:      The University of Waikato<br>
+ * Written:        /  /01<br>
+ * Revised:      12/05/02 - Commented<br>
+ *               29/05/02 - Moved into correct package<br>
+ * @author John Thompson, Greenstone Digital Libraries
+ * @version 2.1
+ */
+import java.awt.Component;
+import java.util.ArrayList;
+import org.greenstone.gatherer.gui.GProgressBar;
+
+/** When implemented, this interface allows another class to monitor the progress of a <strong>GShell</strong> process. Specifically implementing classes should be designed to take the textual output from the process and then translate that message into some quanitive measure of progress which can then be shown on the progress bar.
+ */
+public interface GShellProgressMonitor {
+    /** Method to register a new progress bar with this monitor.
+     * @param progress_bar The new <strong>GProgressBar</strong>.
+     */
+    public void addProgressBar(GProgressBar progress_bar);
+
+    /** Determine the script exit value according to the progress monitor. This gets around a problem where several script failures actually result with a successful exit value.
+     * @return A <i>int</i> with a value of zero if and only if the script was successful.
+     */
+    public int exitValue();
+
+    public GProgressBar getSharedProgress();
+
+    /** Method to retrieve whatever control is being used as the progress indicator. Usually a <strong>GProgressBar</strong> but there may be others implemented later.
+     * @return A <strong>Component</strong> on which the progress of the process is being displayed.
+     */
+    public Component getProgress();
+
+    public void messageOnProgressBar(String message);
+
+    /** Method to determine the state of the stop flag, which may be set by the visual component that created this monitor.
+     * @return A <strong>boolean</strong> indicating if the process has been asked to stop.
+     */
+    public boolean hasSignalledStop();
+
+    /** Inform the progress bar that it should programatically increment progress by one step. */
+    public void increment();
+
+    /** This method is used to 'feed in' a line of text captured from the process.
+     * @param queue what will be used as a queue of events, but what, at the moment, should only have one event in it
+     */
+    public void process(ArrayList queue);
+
+    public void reset();
+
+    public void saving();
+
+    /** Since the creator of this process monitor is actually in the GUI, this class provides the simpliest way to send a cancel process message between the two.
+     * @param state The desired state of the stop flag as a <strong>boolean</strong>.
+     */
+    public void setStop(boolean state);
+
+    /** This method resets this monitor to the start, reseting the process parsing and progress bar.
+     */
+    public void start();
+
+    /** This method indicates the process is complete. 
+     */
+    public void stop();
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/AppendLineOnlyFileDocument.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/AppendLineOnlyFileDocument.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/AppendLineOnlyFileDocument.java	(revision 21123)
@@ -0,0 +1,982 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Greenstone Librarian Interface (GLI) application, 
+ * part of the Greenstone digital library software suite from the New 
+ * Zealand Digital Library Project at the University of Waikato, 
+ * New Zealand.
+ *
+ * Author: John Thompson, Greenstone Project, New Zealand Digital Library, 
+ *         University of Waikato
+ *         http://www.nzdl.org
+ *
+ * Copyright (C) 2004 New Zealand Digital Library, University of Waikato
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+
+package org.greenstone.gatherer.util;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.text.*;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.gui.GLIButton;
+
+/** A Document whose underlying data is stored in a RandomAccessFile, and whose Element implementations lack the memory hogging problems associated with anything that extends the AbstractDocument class. This Document, for reasons of time constraints and sanity, only provides an editting ability of appending new lines to the end of the current document, perfect for our logging needs, completely useless for text editing purposes. Furthermore, since the append actions tend to somewhat swamp the IO, I'll temporarily store strings in the structure model, and write them out using a separate thread. 
+ * @author John Thompson, Greenstone Project, New Zealand Digital Library, University of Waikato
+ * @version 2.41 final
+ */
+public class AppendLineOnlyFileDocument
+    implements Document {
+    /** A default string to append at the start of each log file. Of special note is the beginning '.' character that will, upon completion of the import/build process, be replaced with a letter indicating the final status of this build attempt. */
+    static final private String GLI_HEADER_STR = ".";
+    /** The root element of the document model. */
+    private AppendLineOnlyFileDocumentElement root_element;
+    /** The current owner of this document, useful for callbacks when certain tasks are complete. */
+    private AppendLineOnlyFileDocumentOwner owner;
+    /** Is this document a build log, and hence has some extra functionality, of just a straight log. */
+    private boolean build_log = false;
+    /** A list of listeners attached to this document. */
+    private EventListenerList listeners_list;
+    /** This properties hash map allows you to store any metadata about this document for later review. */
+    private HashMap properties;
+    /** Indicates the current length of the underlying file (which may not equal the current number of characters in the document). */
+    private long length;
+    /** The random access file which will back this document model. */
+    private RandomAccessFile file;
+    /** The filename given to the underlying file. */
+    private String filename;
+    /** An independant thread responsible for writing the 'in memory' contents of the document model to the random access file as appropriate. This is done so IO lag does not effect the gui as much as it used to. */
+    private WriterThread writer;
+
+    
+    public AppendLineOnlyFileDocument(String filename) {
+	this(filename, true);
+    }
+
+    /** The constructor is responsible for creating several necessary data structures as well as opening the random access file. When it creates the new file, as it is wont to do, it will immediately add the special header line defined above.
+     * @param filename the absolute path name of the file as a String
+     * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument.AppendLineOnlyFileDocumentElement
+     * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument.WriterThread
+     * @see org.greenstone.gatherer.util.StaticStrings#NEW_LINE_CHAR
+     */
+    public AppendLineOnlyFileDocument(String filename, boolean build_log) {
+	DebugStream.println("Creating log: " + filename);
+	// Initialization 
+	this.build_log = build_log;
+	this.filename = filename;
+	this.listeners_list = new EventListenerList();
+	this.properties = new HashMap();
+	this.writer = new WriterThread();
+	writer.start();
+	// Open underlying file
+	try {
+	    file = new RandomAccessFile(filename, "rw");
+	    // Create the root element.
+	    length = file.length();
+	    root_element = new AppendLineOnlyFileDocumentElement();
+	    // Now quickly read through the underlying file, building an Element for each line.
+	    long start_offset = 0L;
+	    file.seek(start_offset);
+	    int character = -1;
+	    while((character = file.read()) != -1) {
+		if(character == StaticStrings.NEW_LINE_CHAR) {
+		    long end_offset = file.getFilePointer();
+		    Element child_element = new AppendLineOnlyFileDocumentElement(start_offset, end_offset);
+		    root_element.add(child_element);
+		    child_element = null;
+		    start_offset = end_offset;
+		}
+	    }
+	    // If there we no lines found, and we are a build log, then append the file header.
+	    if(build_log && root_element.getElementCount() == 0) {
+		appendLine(GLI_HEADER_STR);
+	    }
+	}
+	catch (Exception error) {
+	    DebugStream.printStackTrace(error);
+	}
+    }
+
+    /** Adds a document listener for notification of any changes. 
+     * @param listener the new DocumentListener to keep track of
+     */
+    public void addDocumentListener(DocumentListener listener) {
+	///ystem.err.println("addDocumentListener(" + listener + ")");
+	listeners_list.add(DocumentListener.class, listener);
+    }
+
+    /** Append some content after the document. 
+     * @param str the String to add as a new line in the document
+     * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument.AppendLineOnlyFileDocumentElement
+     * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument.AppendLineOnlyFileDocumentEvent
+     * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument.WriterThread#queue
+     */
+    public void appendLine(String str) {
+	// Ensure the string ends in a newline
+	try {
+	    if (!str.endsWith("\n")) {
+		str = str + "\n";
+	    }
+	    int str_length = str.getBytes("UTF-8").length;
+	    long start_offset = length;
+	    long end_offset = start_offset + (long) str_length;
+	    length = length + str_length;
+	    // Create a new element to represent this line
+	    AppendLineOnlyFileDocumentElement new_line_element = new AppendLineOnlyFileDocumentElement(start_offset, end_offset, str);
+	    root_element.add(new_line_element);
+	    // Queue the content to be written.
+	    writer.queue(new_line_element);
+	    // Now fire an event so everyone knows the content has changed.
+	    DocumentEvent event = new AppendLineOnlyFileDocumentEvent(new_line_element, (int)start_offset, str_length, DocumentEvent.EventType.INSERT);
+	    Object[] listeners = listeners_list.getListenerList();
+	    for (int i = listeners.length - 2; i >= 0; i = i - 2) {
+		if (listeners[i] == DocumentListener.class) {
+		    ((DocumentListener)listeners[i+1]).insertUpdate(event);
+		}
+	    }
+	    listeners = null;
+	    event = null;
+	    new_line_element = null;
+	}
+	catch(Exception error) {
+	    DebugStream.printStackTrace(error);
+	}
+    }
+
+    /** Returns a position that will track change as the document is altered. 
+     * @param offs the position offset as an int
+     * @return the Position to be monitored
+     *  @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument.AppendLineOnlyFileDocumentPosition
+     */
+    public Position createPosition(int offs)  {
+	return new AppendLineOnlyFileDocumentPosition(offs);
+    }
+
+    /** The destructor is implemented to ensure the current log file has finished transferring from memory to disk, and that the random access file is properly closed, before GLI exits.
+     * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument.WriterThread#finish
+     */
+    public void destroy() {
+	try {
+	    writer.finish();
+	    file.close();
+	}
+	catch(Exception exception) {
+	    DebugStream.println("Exception in AppendLineOnlyFileDocument.destroy() - unexpected");
+	    DebugStream.printStackTrace(exception);
+	}
+    }
+
+    /** Gets the default root element for the document model. 
+     * @return the root Element of this document
+     */
+    public Element getDefaultRootElement() {
+	return root_element;
+    }
+
+    /** Returns the length of the data. 
+     * @return the length as an int (not a long)
+     */
+    public int getLength() {
+	return (int) length;
+    }
+
+    /** A version of get length which returns the offset to the start of the last line in the document.
+     * @return the offset length as an int
+     * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument.AppendLineOnlyFileDocumentElement
+     */
+    public int getLengthToNearestLine() {
+	AppendLineOnlyFileDocumentElement last_element = (AppendLineOnlyFileDocumentElement)root_element.getElement(root_element.getElementCount() - 1);
+	if(last_element != null ) {
+	    return last_element.getStartOffset();
+	}
+	else {
+	    return (int) length; // The best we can do.
+	}
+    }
+	
+    /** Retrieve a property that has previously been set for this document.
+     * @param key the key String under which the vaue is stored
+     * @return the value which is also a String, or null if no such value
+     */
+    public Object getProperty(Object key) {
+	return properties.get(key);
+    }
+
+    /** Determine if the writer thread is still running, ie a log file which is currently open for writing
+     * @return true if the writer is still active, false otherwise
+     * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument.WriterThread#isStillWriting
+     */
+    public boolean isStillWriting() {
+	return writer.isStillWriting();
+    }
+
+    /** Gets a sequence of text from the document. 
+     * @param offset the starting offset for the fragment of text required, as an int
+     * @param l the length of the text, also as an int
+     * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument.AppendLineOnlyFileDocumentElement
+     * @see org.greenstone.gatherer.util.StaticStrings#EMPTY_STR
+     */
+    public String getText(int offset, int l) 
+	throws BadLocationException {
+
+	if (l == 0) {
+	    return "";
+	}
+
+	try {
+	    return read((long) offset, l);
+	}
+	catch (Exception ex) {
+	}
+
+	return "";
+
+//  	// System.err.println("AppendLineOnlyFileDocument::getText() request...");
+//  	String request = "getText(" + offset + ", " + l + ")";
+//  	///ystem.err.println(request);
+//  	String text = null;
+//  	if(text == null || text.length() < l) {
+//  	    try {
+//  		int file_length = (int) file.length();
+//  		///ystem.err.println("file_length = " + file_length + ", length = " + length);
+//  		if(l == 0) {
+//  		    text = StaticStrings.EMPTY_STR;
+//  		}
+//  		else if(0 <= offset && offset < length && (offset + l) <= length) {
+//  		    if(offset < file_length) {
+//  			text = read((long)offset, l);
+//  			if(text.length() != l) {
+//  			    ///ystem.err.println("Asked for " + l + " characters of text. But only read " + text.length());
+//  			    throw new BadLocationException("AppendLineOnlyDocument.getText(" + offset + ", " + l + ")", offset); 
+//  			}
+//  		    }
+//  		    else {
+//  			int index = root_element.getElementIndex(offset);
+//  			if(index < root_element.getElementCount()) {
+//  			    AppendLineOnlyFileDocumentElement element = (AppendLineOnlyFileDocumentElement) root_element.getElement(index);
+//  			    text = element.getContent();
+//  			}
+//  			else {
+//  			    ///ystem.err.println("Index is " + index + " but there are only " + root_element.getElementCount() + " children.");
+//  			    throw new BadLocationException("AppendLineOnlyDocument.getText(" + offset + ", " + l + ")", offset); 
+//  			}
+//  		    }
+		    
+//  		}
+//  	    }
+//  	    catch (IOException error) {
+//  		DebugStream.printStackTrace(error);
+//  	    }
+//  	    if(text == null) {
+//  		///ystem.err.println("Text is null.");
+//  		throw new BadLocationException("AppendLineOnlyDocument.getText(" + offset + ", " + l + ")", offset);
+//  	    }
+//  	}
+//  	request = null;
+//  	return text;
+    }
+
+    /** Fetches the text contained within the given portion of the document. 
+     * @param offset the starting offset of the desired text fragment, as an int
+     * @param length the length of the text also as an int
+     * @param txt the Segment into which the text fragment should be placed
+     */
+    public void getText(int offset, int length, Segment txt) 
+	throws javax.swing.text.BadLocationException  {
+	String str = getText(offset, length);
+	txt.array = str.toCharArray();
+	txt.count = str.length();
+	txt.offset = 0;
+	str = null;
+    }
+	
+    /** Set a property for this document.
+     * @param key the key to store the value under, as a String
+     * @param value the property value itself also as a String
+     */
+    public void putProperty(Object key, Object value) {
+	properties.put(key, value);
+    }
+
+    /** Determine if this document is ready by testing if it has an open descriptor to the random access file.
+     * @return true if the file exists thus the document is ready, false otherwise
+     */
+    public boolean ready() {
+	return (file != null);
+    }
+	
+    /** Removes a document listener.
+     * @param listener the Document we wish to remove
+     */
+    public void removeDocumentListener(DocumentListener listener) {
+	listeners_list.remove(DocumentListener.class, listener);
+    }
+
+    /** Whenever the user requests a change of the loaded log, this method is called to ensure the previous log has been completely written to file. Note that this only garuentees that text fragments currently queued for writing will be correctly written - while the behaviour is undefined for text fragments added after this call (some may write depending on several race conditions).
+     * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument.WriterThread#exit
+     * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument.WriterThread#finish
+     */
+    public void setExit() {
+	writer.exit();
+	writer.finish();
+    }
+
+    /** Establish the current owner of this document.
+     * @param owner the current AppendLineOnlyFileDocumentOwner
+     */
+    public void setOwner(AppendLineOnlyFileDocumentOwner owner) {
+	this.owner = owner;
+    }
+
+    /** To record the final state of the logging process we reserve a single character at the start of the file, and then replace it when the build process is complete.
+     * @param character the final status char to replace the X at the start of the log
+     */
+    public synchronized void setSpecialCharacter(char character) {
+	if(build_log) {
+	    try {
+		file.seek(0L);
+		file.write((int)character);
+	    }
+	    catch (Exception error) {
+		DebugStream.printStackTrace(error);
+	    }
+	}
+    }
+
+    /** Request a text representation of this document which currently returns the filename.
+     * @return the text as a String
+     */
+    public String toString() {
+	return filename;
+    }
+
+    /** This method reads a fragment of text from the underlying random access file. It is synchronized so that the file isn't being written to at the same time.
+     * @param start_offset the offset within the file to set the read pointer at, as a long
+     * @param l the number of characters to read as an int
+     */
+    private synchronized String read(long start_offset, int l) 
+	throws IOException {
+	//print("read(" + start_offset + ", " + l + ")... ");
+	byte[] buffer = new byte[l];
+	file.seek(start_offset);
+	int result = file.read(buffer, 0, l);
+	return new String(buffer, "UTF-8");
+	//print("read() complete");
+    }
+
+    /** This methods writes a fragment of text to the underlying random access file. It is synchronized so that the file isn't being read from at the same time.
+     * @param start_offset the offset within the file to set the write pointer at, as a long
+     * @param end_offset the final offset of the new text fragment within the file, as a long. This is used to extend the file to be the correct length
+     * @param str the String to be written
+     * @param l the number of characters from str to be written, as an int
+     */
+    private synchronized void write(long start_offset, long end_offset, String str, int l) 
+	throws IOException {	
+	//print("write(" + start_offset + ", " + end_offset + ", " + str + ", " + l + ")");
+	file.setLength(end_offset);
+	file.seek(start_offset);
+	file.write(str.getBytes("UTF-8"), 0, l);
+	//print("write() complete");
+    }
+
+    /** This class provides the building-block for the document model. Each element is a line in the document, or has no content but contains several child elements. Due to the basic nature of what we are modelling only the root node has children. */
+    private class AppendLineOnlyFileDocumentElement
+	extends ArrayList
+	implements Element {
+	/** Our parent Element. */
+	private Element parent;
+	/** The offset to the end of our fragment(s) of text, in respect to the entire document. */
+	private long end;
+	/** The offset to the start of our fragment(s) of text, in respect to the entire document. */
+	private long start;
+	/** If we haven't been written to file yet, this contains the text fragment itself. */
+	private String content;
+
+	/** Construct a new root element, which can have no content, but calculates its start and end from its children. */
+	public AppendLineOnlyFileDocumentElement() {
+	    super();
+	    this.end = 0L;
+	    this.parent = null;
+	    this.start = 0L;
+	}
+
+	/** Construct a new element, whose content is found in bytes start to end - 1 within the random access file backing this document.
+	 * @param start the starting offset as a long
+	 * @param end the ending offset as a long
+	 */
+	public AppendLineOnlyFileDocumentElement(long start, long end) {
+	    super();
+	    this.end = end;
+	    this.parent = null;
+	    this.start = start;
+	}
+
+	/** Construct a new element, whose content is provided, but should at some later time be written to bytes start to end - 1 in the random access file backing this document.
+	 * @param start the starting offset as a long
+	 * @param end the ending offset as a long
+	 * @param content the text fragment String which we represent in the model
+	 */
+	public AppendLineOnlyFileDocumentElement(long start, long end, String content) {
+	    super();
+	    this.content = content;
+	    this.end = end;
+	    this.parent = null;
+	    this.start = start;
+	}
+
+	/** Add the given node as one of our children.
+	 * @param child the new child Element
+	 */
+	public void add(Element child) {
+	    super.add(child);
+	    ((AppendLineOnlyFileDocumentElement)child).setParent(this);
+	}
+
+	/** Having written the content to file this method removes it from the element. */ 
+	public void clearContent() {
+	    content = null;
+	}
+
+	/** This document does not allow content markup. 
+	 * @return always returns null
+	 */
+	public AttributeSet getAttributes() {
+	    return null;
+	}
+
+	/** Retrieve the current content of this element, which may be the text fragment this element represents.
+	 * @return either the text fragment as a String, or null if the fragment has already been written to disk
+	 */
+	public String getContent() {
+	    return content;
+	}
+
+	/** Fetches the document associated with this element. 
+	 * @return the AppendLineOnlyDocument containing this element
+	 * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument
+	 */
+	public Document getDocument() {
+	    return AppendLineOnlyFileDocument.this;
+	}
+
+	/** Fetches the child element at the given index. 
+	 * @param index the int index of the element to retrieve
+	 * @return the requested Element
+	 */
+	public Element getElement(int index) {
+	    Element element;
+	    if(0 <= index && index < size()) {
+		element = (Element) get(index);
+	    }
+	    else {
+		throw new IndexOutOfBoundsException("AppendLineOnlyDocument.AppendLineOnlyFileDocumentElement.getElement(" + index + ")");
+	    }
+	    return element;
+	}
+          
+	/** Gets the number of child elements contained by this element. 
+	 * @return an int
+	 */
+	public int getElementCount() {
+	    return size();
+	}
+
+	/** Gets the child element index closest to the given offset.
+	 * @param offset the offset within the text of the document, which due to the way the model is built must fll within the bounds of one of our child nodes
+	 * @return the closest index as an int
+	 */
+	public int getElementIndex(int offset) {
+	    int index = -1;
+	    if(parent != null) {
+		index = -1;
+	    }
+	    else if(offset < 0) {
+		index = 0;
+	    }
+	    else if(offset >= length) {
+		index = size() - 1;
+	    }
+	    else {
+		int size = size();
+		for(int i = 0; index == -1 && i < size; i++) {
+		    Element child = (Element) get(i);
+		    if(child.getStartOffset() <= offset && offset < child.getEndOffset()) {
+			index = i;
+		    }
+		    child = null;
+		}
+	    }
+	    return index;
+	}
+          
+	/** Fetches the offset from the beginning of the document that this element ends at. 
+	 * @return the offset as an int
+	 */
+	public int getEndOffset() {
+	    if(parent != null) {
+		return (int) end;
+	    }
+	    // Return the Documents length.
+	    else {
+		return (int) length;
+	    }
+	}
+          
+	/** This method retrieves the name of the element, however names are not important in this document so the name is always an empty string.
+	 * @return an empty String
+	 * @see org.greenstone.gatherer.util.StaticStrings#EMPTY_STR
+	 */
+	public String getName() {
+	    return StaticStrings.EMPTY_STR;
+	}
+          
+	/** Fetches the parent element. 
+	 * @return the parent Element
+	 */
+	public Element getParentElement() {
+	    return parent;
+	}
+          
+	/** Fetches the offset from the beginning of the document that this element begins at. 
+	 * @return the offset as an int
+	 */
+	public int getStartOffset() {
+	    if(parent != null) {
+		return (int) start;
+	    }
+	    else {
+		return 0;
+	    }
+	}
+          
+	/** Since this is a very simple model, only the root node can have children. All the children are leaves. 
+	 * @return true if this is the root node, false otherwise
+	 */
+	public boolean isLeaf() {
+	    return (parent != null);
+	} 
+
+	/** Establish the parent of this element
+	 * @param parent the parent Element
+	 */
+	public void setParent(Element parent) {
+	    this.parent = parent;
+	}
+    }
+    // AppendLineOnlyFileDocumentElement
+
+    /** This event is created to encapsulate the details of some change to the document. */
+    private class AppendLineOnlyFileDocumentEvent
+	implements DocumentEvent {
+	/** The type of change event. */
+	private DocumentEvent.EventType type;
+	/** The element this change occured to, or in. */
+	private AppendLineOnlyFileDocumentElement element;
+	/** Another encapsulating class which contains further detail about the change itself. */
+	private AppendLineOnlyFileDocumentElementChange element_change;
+	/** The length of the text fragment affected by the change. */
+	private int len;
+	/** The offset within the document of the start of the change. */
+	private int offset;
+	
+	/** Construct a new AppendLineOnlyFileDocumentEvent given the pertinant details.
+	 * @param element the AppendLineOnlyFileDocumentElement affected by this change
+	 * @param offset the offset within the document of the start of the change
+	 * @param len the length of the text fragment affected by the change
+	 * @param type the type of change event
+	 */
+	public AppendLineOnlyFileDocumentEvent(AppendLineOnlyFileDocumentElement element, int offset, int len, DocumentEvent.EventType type) {
+	    this.element = element;
+	    this.element_change = null;
+	    this.len = len;
+	    this.offset = offset;
+	    this.type = type;
+	}
+
+	/** Retrieve the docment which generated this event.
+	 * @return the Document
+	 * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument
+	 */
+	public Document getDocument() {
+	    return AppendLineOnlyFileDocument.this;
+	}
+
+	/** Retrieve the length of the change.
+	 * @return the length as an int
+	 */
+	public int getLength() {
+	    return len;
+	}
+
+	/** Retrieve the start offset of the change.
+	 * @return the offset as an int
+	 */
+	public int getOffset() {
+	    return offset;
+	}
+
+	/** Retrieve the type of change.
+	 * @return the type as a DocumentEvent.EventType
+	 */
+	public DocumentEvent.EventType getType() {
+	    return type;
+	}
+
+	/** Retrieve the element change object which further describes the changes. Of course given that we only allow the appending of new lines there really is only one type of event.
+	 * @param elem implementation side-effect
+	 * @return a DocumentEvent.ElementChange
+	 * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument.AppendLineOnlyFileDocumentEvent.AppendLineOnlyFileDocumentElementChange
+	 */
+	public DocumentEvent.ElementChange getChange(Element elem) {
+	    if(element_change == null) {
+		element_change = new AppendLineOnlyFileDocumentElementChange();
+	    }
+	    return element_change;
+	}
+
+	/** A pretty unexciting implementation of the document element change class. This usually describes the myriad of possible change events that can occur on a document. However we only allow line appends so there is really only one type of change. */
+	private class AppendLineOnlyFileDocumentElementChange
+	    implements DocumentEvent.ElementChange {
+	    /** This array always contains the one Element that was appended. */ 
+	    private Element[] children_added;
+	    /** This Element array is always empty. */
+	    private Element[] children_removed;
+	    /** The index of the affected element within its parents children. */
+	    private int index;
+	    /** Construct a new AppendLineOnlyFileDocumentElementChange with the default 'append line' details. */
+	    public AppendLineOnlyFileDocumentElementChange() {
+		children_added = new Element[1];
+		children_added[0] = element;
+		children_removed = new Element[0];
+		index = root_element.indexOf(element);
+	    }
+
+	    /** Gets the child element that was appended to the parent element. 
+	     * @return an Element[] containing the added element
+	     */
+	    public Element[] getChildrenAdded() {
+		return children_added;
+	    }
+
+	    /** This model does not allow elements to be removed.
+	     * @return an Element[] containing nothing
+	     */
+	    public Element[] getChildrenRemoved() {
+		return children_removed;
+	    }
+          
+	    /** Returns the root element, as our document structure is only two layers deep.
+	     * @return the root Element
+	     */
+	    public Element getElement() {
+		return root_element;
+	    }
+          
+	    /** Fetches the index within the element represented. 
+	     * @return an int specifying the index of change within the root element
+	     */
+	    public int getIndex() {
+		return index;
+	    }
+	}
+	// AppendLineOnlyFileDocumentElementChange
+    }
+    // AppendLineOnlyFileDocumentEvent
+    
+    /** This class denoted a position within our document by an offset. Quite possibly the last interesting class I've ever had to deal with, but you have to implement it so here goes... */
+    private class AppendLineOnlyFileDocumentPosition
+	implements Position {
+	/** The offset within our document. */
+	private int offset;
+	/** Construct a new position given an offset.
+	 * @param offset the offset as an int
+	 */
+	public AppendLineOnlyFileDocumentPosition(int offset) {
+	    this.offset = offset;
+	}
+	/** Retrieve the offset of this position.
+	 * @return the offset as an int
+	 */
+	public int getOffset() {
+	    return offset;
+	}
+    }
+    // AppendLineOnlyFileDocumentPosition
+    
+    /** This thread is responsible to writing the in memory text fragment contents of the document elements out to the random access file. The writing proceedure is implemented this way so that the gui doesn't take the performance hit of the IO. */
+    private class WriterThread
+	extends Thread {
+	/** When true was are being told to assume the contents of the queue are now static, and once completed the queue will be empty (and not expecting any new jobs). Used to finish the queue before the GLI exits. */
+	private boolean empty_queue;
+	/** Setting this flag to true tells the writer to stop regardless of whether there are items left on the queue. */
+	private boolean exit;
+	/** When the writer thread is busy writing content to the file this flag is set to true. */
+	private boolean running;
+	/** The fragment queue as a Vector (for thread reasons). */
+	private Vector queue;
+	/** Construct a new writer thread with an initially empty queue. */
+	public WriterThread() {
+	    super("WriterThread");
+	    empty_queue = false;
+	    exit = false;
+	    queue = new Vector();
+	}
+
+	/** This method is called to ask the writer thread to die after it finishes any current write proceceedure. */
+	public synchronized void exit() {
+	    //print("WriterThread.exit() start");
+	    exit = true;
+	    notify();
+	    //print("WriterThread.exit() complete");
+	}
+
+	/** When this returns there are no jobs waiting in the queue. */
+	public void finish() {
+	    if(!queue.isEmpty() && running) {
+		///ystem.err.println("Somethings gone wrong, as there are still " + queue.size() + " items to be written out and yet the thread seems to be waiting.");
+		empty_queue = true;
+		run();
+	    }
+	}
+
+	/** Determine if the writer is currently running.
+	 * @return true if it is, false if it has been exited or if it was never running in the first place (an old log)
+	 */
+	public boolean isStillWriting() {
+	    return running;
+	}
+
+	/** The run method of this thread checks if there are any document elements queued to be written to file, and then writes them as necessary.
+	 * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument
+	 * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument.AppendLineOnlyFileDocumentElement
+	 */
+	public void run() {
+	    exit = false;
+	    running = true;
+	    while(!exit) {
+		if(!queue.isEmpty()) { 
+		    AppendLineOnlyFileDocumentElement element = (AppendLineOnlyFileDocumentElement) queue.remove(0);
+		    // Write the content to file.
+		    String content = element.getContent();
+		    if(content != null) {
+			try {
+			    write(element.getStartOffset(), element.getEndOffset(), content, content.getBytes("UTF-8").length);
+			}
+			catch(Exception error) {
+			    DebugStream.printStackTrace(error);
+			}
+			element.clearContent();
+		    }
+		}
+		else if(empty_queue) {
+		    exit = true;
+		}
+		else {
+		    synchronized(this) {
+			try {
+			    print("WriterThread.wait() start");
+			    wait();
+			}
+			catch(Exception exception) {
+			}
+			print("WriterThread.wait() complete");
+		   }
+		}
+	    }
+	    print("WriterThread completely finished. Exiting.");
+	    running = false;
+	    if(owner != null) {
+		owner.remove(AppendLineOnlyFileDocument.this);
+	    }
+	}
+
+	/** Enqueue a document element to have its text content written to file.
+	 * @param element the Element needing its content written out
+	 * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument.AppendLineOnlyFileDocumentElement#getContent
+	 */
+	public synchronized void queue(Element element) {
+	    print("WriterThread.queue(): " + ((AppendLineOnlyFileDocumentElement)element).getContent());
+	    queue.add(element);
+	    notify();
+	}
+    }
+    // WriterThread
+
+    // ***** METHODS WE ARE NOW IGNORING BECAUSE WE ARE VIRTUALLY READ-ONLY *****
+    
+    /** Not implemented. Add a new undo listener to this document.
+     * @param listener UndoableEditListener
+     */
+    public void addUndoableEditListener(UndoableEditListener listener) {}
+    	
+    /** Not implemented. Get the last position in the document.
+     * @return null
+     */
+    public Position getEndPosition() { return null; }
+
+    /** Not implemented. Gets all root elements defined.
+     * @return null
+     */
+    public Element[] getRootElements() { return null; }
+	
+    /** Not implemented. Retrieve the first position in the document.
+     * @return null
+     */
+    public Position getStartPosition() { return null; }
+    
+    /** Not implemented. Insert a text fragment into our document.
+     * @param offset int
+     * @param str String
+     * @param a AttributeSet
+     */
+    public void insertString(int offset, String str, AttributeSet a) {}
+
+    /** Not implemented. Removes some content from the document. 
+     * @param offs int
+     * @param len int
+     */
+    public void remove(int offs, int len) {}
+
+    /** Not implemented. Removes an undo listener. 
+     * @param listener UndoableEditListener
+     */
+    public void removeUndoableEditListener(UndoableEditListener listener) {}
+    
+    /** Not implemented. Renders a runnable apparently - whatever that means. 
+     * @param r Runnable
+     */
+    public void render(Runnable r) {}
+
+    // DEBUG ONLY
+
+    /** Print a message to the GLI debug file stream.
+     * @param message the message to be written as a String
+     */
+    static synchronized public void print(String message) {
+	if (message.endsWith("\n")) {
+	    DebugStream.print(message); 
+	}
+	else {
+	    DebugStream.println(message); 
+	}
+    }
+
+    /** Create a test document with the ability to add new lines of text as necessary.
+     * @param args the initial starting arguments as a String array
+     * @see org.greenstone.gatherer.gui.GLIButton
+     * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument
+     * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument.ReadButtonListener
+     */
+    static public void main(String[] args) {
+	JFrame frame = new JFrame("AppendLineOnlyFileDocument Test");
+	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+	frame.setSize(640,480);
+	JPanel content = (JPanel) frame.getContentPane();
+	
+	//PlainDocument document = new PlainDocument();
+	//document.setAsynchronousLoadPriority(-1);
+	final AppendLineOnlyFileDocument document = new AppendLineOnlyFileDocument("temp.txt");
+
+	final JTextArea text_area = new JTextArea(document);
+
+	JButton read_button = new GLIButton("Read Huge File");
+	read_button.addActionListener(new ReadButtonListener(document));
+	content.setLayout(new BorderLayout());
+	content.add(new JScrollPane(text_area), BorderLayout.CENTER);
+	content.add(read_button, BorderLayout.SOUTH);
+
+	frame.setVisible(true);
+    }
+
+    /** Listens for actions on the read button, and if detected creates a new ReadTask to test the document. 
+     * @author John Thompson, Greenstone Project, New Zealand Digital Library, University of Waikato
+     * @version 2.41 final
+     */
+    static private class ReadButtonListener
+	implements ActionListener {
+	/** The AppendLineOnlyFileDocument object we are testing. */
+	private AppendLineOnlyFileDocument document;
+
+	/** All the constructor does is take a copy of the document to test.
+	 * @param document the Document
+	 */
+	public ReadButtonListener(AppendLineOnlyFileDocument document) {
+	    this.document = document;
+	}
+
+	/** When the button is clicked this method is called to create the new task and run it.
+	 * @param event an ActionEvent containing further information about the button click
+	 * @see org.greenstone.gatherer.util.AppendLineOnlyFileDocument.ReadTask
+	 */
+	public void actionPerformed(ActionEvent event) {
+	    Thread task = new ReadTask(document);
+	    task.start();
+	}
+    }
+
+    /** This threaded task opens a large document, aptly named 'big.txt', and then bombards the document object we are testing with lines from the file. This file should be several megs (such as Alice or TREC) to fully test functionality, thread conditions etc. 
+     * @author John Thompson, Greenstone Project, New Zealand Digital Library, University of Waikato
+     * @version 2.41 final
+     */ 
+    static private class ReadTask
+	extends Thread {
+	/** The AppendLineOnlyFileDocument object we are testing. */
+	private AppendLineOnlyFileDocument document;
+
+	/** Construct a new task which will perform testing on the given document.
+	 * @param document the AppendLineOnlyFileDocument to append lines to
+	 */
+	public ReadTask(AppendLineOnlyFileDocument document) {
+	    super("LoadHugeFileThread");
+	    this.document = document;
+	}
+
+	/** The runable part of this class opens the file, then reads it in a line at a time, appending these lines to the ever growing document. */
+	public void run() {
+	    // Load the specified document
+	    try {
+		BufferedReader in = new BufferedReader(new FileReader(new File("big.txt")));
+		String line;
+		
+		while ((line = in.readLine()) != null) {
+		    document.appendLine(line);
+		    try {
+			// Wait a random ammount of time.
+			synchronized(this) {
+			    //print("LoadHugeFileThread.wait() start");
+			    wait(100);
+			    //print("LoadHugeFileThread.wait() complete");
+			}
+		    }
+		    catch(Exception error) {
+			error.printStackTrace();
+		    }
+		}
+		in.close();
+	    }
+	    catch (Exception error) {
+		error.printStackTrace();
+	    }
+	}
+    }
+    // ReadTask
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/AppendLineOnlyFileDocumentOwner.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/AppendLineOnlyFileDocumentOwner.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/AppendLineOnlyFileDocumentOwner.java	(revision 21123)
@@ -0,0 +1,46 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Greenstone Librarian Interface (GLI) application, 
+ * part of the Greenstone digital library software suite from the New 
+ * Zealand Digital Library Project at the University of Waikato, 
+ * New Zealand.
+ *
+ * Author: John Thompson
+ *         Greenstone Project, New Zealand Digital Library
+ *         University of Waikato
+ *         http://www.nzdl.org
+ *
+ * Copyright (C) 2004 New Zealand Digital Library, University of Waikato
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.util;
+
+
+/** Any class that wants to act as the owner of an AppendLineOnlyFileDocument has to implement this.
+ * @author John Thompson, Greenstone Project, New Zealand Digital Library, University of Waikato
+ * @version 2.41 final
+ */
+public interface AppendLineOnlyFileDocumentOwner {
+    /** Remove the given document from the owner. The is called by the document itself when it no longer needs a hanging reference in the owner class.
+     * @param document the AppendLineOnlyFileDocument to remove
+     */
+    public void remove(AppendLineOnlyFileDocument document);
+}
+
+
+
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/ArrayTools.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/ArrayTools.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/ArrayTools.java	(revision 21123)
@@ -0,0 +1,341 @@
+/* GPL_HEADER */
+package org.greenstone.gatherer.util;
+
+/**************************************************************************************
+ * Title:        Gatherer
+ * Description:  The Gatherer: a tool for gathering and enriching a digital collection.
+ * Company:      The University of Waikato
+ * Written:        /  /01
+ * Revised:      16/08/02 Improved
+ **************************************************************************************/
+import java.awt.*;
+import java.io.*;
+import java.util.*;
+import javax.swing.filechooser.*;
+import org.w3c.dom.*;
+
+/** This utility class contains a series of static methods for common array type manipulations including appending, casting and changing between containers.
+ * @author John Thompson
+ * @version 2.3
+ */
+public class ArrayTools {
+
+    /** Append a Component onto an array of Components. */
+    static public Component[] add(Component[] a, Component b) {
+	Component[] c = null;
+	if(a != null && b != null) {
+	    c = new Component[a.length + 1];
+	    System.arraycopy(a, 0, c, 0, a.length);
+	    c[c.length - 1] = b;
+	}
+	else if(a == null && b != null) {
+	    c = new Component[1];
+	    c[0] = b;
+	}
+	else if(a != null && b == null) {
+	    c = a;
+	}
+	return c;
+    }
+    /** This method efficiently appends a new element onto the end of a element array.
+     * @param a The initial <strong>Element[]</strong>.
+     * @param b The new <strong>Element</strong>.
+     * @return An <strong>Element[]</strong> containing a followed by b.
+     */
+    static public Element[] add(Element a[], Element b) {
+	Element[] c = null;
+	if(a != null && b != null) {
+	    c = new Element[a.length + 1];
+	    System.arraycopy(a, 0, c, 0, a.length);
+	    c[c.length - 1] = b;
+	}
+	else if(a == null && b != null) {
+	    c = new Element[1];
+	    c[0] = b;
+	}
+	else if(a != null && b == null) {
+	    c = a;
+	}
+	return c;
+    }
+    /** This method efficently appends one element array onto the end of another.
+     * @param a The initial <strong>Element[]</strong>.
+     * @param b The <strong>Element[]</strong> to append.
+     * @return An <strong>Element[]</strong> containing a followed by b.
+     */
+    static public Element[] add(Element a[], Element b[]) {
+	Element[] c = null;
+	if(a != null && b != null) {
+	    c = new Element[a.length + b.length];
+	    System.arraycopy(a, 0, c, 0, a.length);
+	    System.arraycopy(b, 0, c, a.length, b.length);
+	}
+	else if(a == null && b != null) {
+	    c = b;
+	}
+	else if(a != null && b == null) {
+	    c = a;
+	}
+	return c;
+    }
+    /** This method efficiently appends a new file onto the end of a file array.
+     * @param a The initial <strong>File[]</strong>.
+     * @param b The new <strong>File</strong>.
+     * @return A <strong>File[]</strong> containing a followed by b.
+     */
+    static public File[] add(File a[], File b) {
+	File[] c = null;
+	if(a != null && b != null) {
+	    c = new File[a.length + 1];
+	    System.arraycopy(a, 0, c, 0, a.length);
+	    c[c.length - 1] = b;
+	}
+	else if(a == null && b != null) {
+	    c = new File[1];
+	    c[0] = b;
+	}
+	else if(a != null && b == null) {
+	    c = a;
+	}
+	return c;
+    }
+    /** This method efficently appends one file array onto the end of another.
+     * @param a The initial <strong>File[]</strong>.
+     * @param b The <strong>File[]</strong> to append.
+     * @return A <strong>File[]</strong> containing a followed by b.
+     */
+    static public File[] add(File a[], File b[]) {
+	File[] c = null;
+	if(a != null && b != null) {
+	    c = new File[a.length + b.length];
+	    System.arraycopy(a, 0, c, 0, a.length);
+	    System.arraycopy(b, 0, c, a.length, b.length);
+	}
+	else if(a == null && b != null) {
+	    c = b;
+	}
+	else if(a != null && b == null) {
+	    c = a;
+	}
+	return c;
+    }
+
+
+    /** This method efficiently appends a new node onto the end of a node array.
+     * @param a The initial <strong>Node[]</strong>.
+     * @param b The new <strong>Node</strong>.
+     * @return A <strong>Node[]</strong> containing a followed by b.
+     */
+    static public Node[] add(Node a[], Node b) {
+	Node[] c = null;
+	if(a != null && b != null) {
+	    c = new Node[a.length + 1];
+	    System.arraycopy(a, 0, c, 0, a.length);
+	    c[c.length - 1] = b;
+	}
+	else if(a == null && b != null) {
+	    c = new Node[1];
+	    c[0] = b;
+	}
+	else if(a != null && b == null) {
+	    c = a;
+	}
+	return c;
+    }
+    /** This method efficently appends one node array onto the end of another.
+     * @param a The initial <strong>Node[]</strong>.
+     * @param b The <strong>Node[]</strong> to append.
+     * @return A <strong>Node[]</strong> containing a followed by b.
+     */
+    static public Node[] add(Node a[], Node b[]) {
+	Node[] c = null;
+	if(a != null && b != null) {
+	    c = new Node[a.length + b.length];
+	    System.arraycopy(a, 0, c, 0, a.length);
+	    System.arraycopy(b, 0, c, a.length, b.length);
+	}
+	else if(a == null && b != null) {
+	    c = b;
+	}
+	else if(a != null && b == null) {
+	    c = a;
+	}
+	return c;
+    }
+	 
+    /** This method efficiently appends a new string onto the end of a string array.
+     * @param a The initial <strong>String[]</strong>.
+     * @param b The new <strong>String</strong>.
+     * @return A <strong>String[]</strong> containing a followed by b.
+     */
+    static public String[] add(String a[], String b) {
+	String[] c = null;
+	if(a != null && b != null) {
+	    c = new String[a.length + 1];
+	    System.arraycopy(a, 0, c, 0, a.length);
+	    c[c.length - 1] = b;
+	}
+	else if(a == null && b != null) {
+	    c = new String[1];
+	    c[0] = b;
+	}
+	else if(a != null && b == null) {
+	    c = a;
+	}
+	return c;
+    }
+    /** This method efficently appends one string array onto the end of another.
+     * @param a The initial <strong>String[]</strong>.
+     * @param b The <strong>String[]</strong> to append.
+     * @return A <strong>String[]</strong> containing a followed by b.
+     */
+    static public String[] add(String a[], String b[]) {
+	String[] c = null;
+	if(a != null && b != null) {
+	    c = new String[a.length + b.length];
+	    System.arraycopy(a, 0, c, 0, a.length);
+	    System.arraycopy(b, 0, c, a.length, b.length);
+	}
+	else if(a == null && b != null) {
+	    c = b;
+	}
+	else if(a != null && b == null) {
+	    c = a;
+	}
+	return c;
+    }
+    /** This method takes an array list and creates a string array.
+     * @param a An <strong>ArrayList</strong> containing hopefully <strong>String</strong> or else this will fail.
+     * @return A <strong>String[]</strong> or <i>null</i> if the array could not be created.
+     */
+    static public String[] arrayListToStringArray(ArrayList a) {
+	String array[] = new String[a.size()];
+	for(int i = 0; i < array.length; i++) {
+	    array[i] = (String)a.get(i);
+	}
+	return array;
+    }
+
+    static public File[] filter(File[] files, String pattern, boolean exclude) {
+	int write_ptr = 0;
+	///ystem.err.println("Filtering by '" + pattern + "', Exclude? " + exclude + " :");
+	for(int read_ptr = 0; read_ptr < files.length; read_ptr++) {
+	    File current = files[read_ptr];
+	    files[write_ptr] = current;
+	    ///ystem.err.print("Testing " + current.getName() + " -> ");
+	    // Determine whether we move the write pointer or not.
+	    if(current.getName().toLowerCase().matches(pattern)) {
+		if(!exclude) {
+		    ///ystem.err.println("Match, Exclude.");
+		    write_ptr++;  
+		}
+		else {
+		    ///ystem.err.println("Match, Include.");
+		}
+	    }
+	    else {
+		// You can't exclude folders with an inclusion filter!
+		if(exclude || current.isDirectory()) {
+		    ///ystem.err.println("Nonmatch, Exclude.");
+		    write_ptr++;
+		}
+		else {
+		    ///ystem.err.println("Nonmatch, Include.");
+		}
+	    }
+	}
+	File[] result = new File[write_ptr];
+	System.arraycopy(files, 0, result, 0, result.length);
+	pattern = null;
+	files = null;
+	return result;
+    }
+
+
+    /** Transforms an Object array into a single string of the form '[o1,o2,...,on]'.
+     * @param objects An <strong>Object[]</strong>. Note that the objects in this array must support toString() reasonably.
+     * @return A <strong>String</strong> representing the given array.
+     */
+    static public String objectArrayToString(Object objects[]) {
+	StringBuffer result = new StringBuffer("[");
+	for(int i = 0; i < objects.length; i++) {
+	    result.append(objects[i].toString());
+	    if(i < objects.length - 1) {
+		result.append(",");
+	    }
+	}
+	result.append("]");
+	return result.toString();
+    }
+
+
+    /** Sorts an array of files, putting non-files first. Case insensitive.
+     * @param files_to_sort The File[] to be sorted.
+     */
+    static public void sort(File[] files_to_sort)
+    {
+	// Return if there is nothing to sort
+	if (files_to_sort == null || files_to_sort.length <= 1) {
+	    return;
+	}
+
+	FileSystemView fileSystemView = FileSystemView.getFileSystemView();
+	FileComparator comparator = new FileComparator();
+
+	// Separate the file system roots and directories from the files, and sort separately
+	ArrayList files_list = new ArrayList((files_to_sort.length * 3) / 4);
+	ArrayList non_files_list = new ArrayList((files_to_sort.length) / 4);
+	for (int i = 0; i < files_to_sort.length; i++) {
+	    File file = files_to_sort[i];
+
+	    // File is a system root
+	    if (fileSystemView.isFileSystemRoot(file)) {
+		non_files_list.add(file);
+	    }
+	    // File is a directory
+	    else if (file.isDirectory()) {
+		non_files_list.add(file);
+	    }
+	    // File is an actual file
+	    else {
+		files_list.add(file);
+	    }
+	}
+
+	// Sort files
+	Object[] files = files_list.toArray();
+	Arrays.sort(files, comparator);
+
+	// Sort non-files
+	Object[] non_files = non_files_list.toArray();
+	Arrays.sort(non_files, comparator);
+
+	// Merge the results, putting non-files before files
+	int j = 0;
+	for (int i = 0; i < non_files.length; i++) {
+	    files_to_sort[j++] = (File) non_files[i];
+	}
+	for (int i = 0; i < files.length; i++) {
+	    files_to_sort[j++] = (File) files[i];
+	}
+    }
+
+
+    /** Comparator used to order files. */
+    static private class FileComparator
+	implements Comparator {
+
+	/** Compare two files in terms of ordering of their paths.
+	 * @param o1 The <strong>Object</strong> that represents the first file.
+	 * @param o2 The other <strong>Object</strong>, also a file.
+	 * @return An <i>int</i> which is <1, 0 or >1 if o1 is <o2, =o2 or >o2 respectively.
+	 */
+	public int compare(Object o1, Object o2)
+	{
+	    File f1 = (File) o1;
+	    File f2 = (File) o2;
+
+	    return f1.getName().compareToIgnoreCase(f2.getName());
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/CheckList.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/CheckList.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/CheckList.java	(revision 21123)
@@ -0,0 +1,246 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.util;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.border.*;
+
+
+/** This class provides a visual component that has the form of a list, as provided by JList but uses JCheckBox for data selection. Thus several elements can be 'ticked' in the list, and this selection returned using the method getSelected().<BR>Parts of this code modified from Trevor Harmon's posting on www.dejanews.com.
+ * @author John Thompson
+ * @version 2.3
+ */ 
+public class CheckList
+    extends JList
+{
+    /** The border used when a list row is not in focus. */
+    static private Border noFocusBorder = new EmptyBorder(1, 1, 1, 1);
+
+    private boolean show_selected_row = true;
+
+
+    /** Constructor. */
+    public CheckList(boolean show_selected_row)
+    {
+	super();
+	this.show_selected_row = show_selected_row;
+
+	setCellRenderer(new CheckListCellRenderer());
+	setModel(new DefaultListModel());
+	setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+	addMouseListener(new CheckListMouseListener());
+    }
+
+
+    public void addEntry(CheckListEntry entry)
+    {
+	DefaultListModel model = (DefaultListModel) getModel();
+
+	// Add the entry in alpabetical order
+	String name = entry.toString();
+	for (int i = 0; i < model.size(); i++) {
+	    Object sibling = model.getElementAt(i);
+	    if (name.compareTo(sibling.toString()) <= 0) {
+		model.add(i, entry);
+		return;
+	    }
+	}
+
+	model.addElement(entry);
+    }
+
+
+    public void clearTicked()
+    {
+	DefaultListModel model = (DefaultListModel) getModel();
+	for (int i = 0; i < model.size(); i++) {
+	    ((CheckListEntry) model.get(i)).setSelected(false);
+	}
+	updateUI();
+    }
+
+    /** Retrieve all the entries from the list
+     */
+    public ArrayList getAll()
+    {
+	ArrayList result = new ArrayList();
+	DefaultListModel model = (DefaultListModel) getModel();
+	for (int i = 0; i < model.size(); i++) {
+	    CheckListEntry entry = (CheckListEntry) model.get(i);
+	    result.add(entry.getObject());
+	}
+	return result;
+    }
+	
+
+    /** Retrieve the currently ticked entries from this list.
+     * @return An <strong>ArrayList</strong> containing only those entries from the initial list that are checked.
+     * @see org.greenstone.gatherer.checklist.Entry
+     */
+    public ArrayList getTicked()
+    {
+	ArrayList result = new ArrayList();
+	DefaultListModel model = (DefaultListModel) getModel();
+	for (int i = 0; i < model.size(); i++) {
+	    CheckListEntry entry = (CheckListEntry) model.get(i);
+	    if (entry.isSelected()) {
+		result.add(entry.getObject());
+	    }
+	}
+	return result;
+    }
+
+
+    /** This is different from isSelectionEmpty! */
+    public boolean isNothingTicked()
+    {
+	DefaultListModel model = (DefaultListModel) getModel();
+	for (int i = 0; i < model.size(); i++) {
+	    if (((CheckListEntry) model.get(i)).isSelected()) {
+		return false;
+	    }
+	}
+
+	return true;
+    }
+
+
+    public void setListData(ArrayList list_data)
+    {
+ 	// Create a new model.
+	setModel(new DefaultListModel());
+
+	// Add the items from the list to the model
+ 	for (int i = 0; i < list_data.size(); i++) {
+ 	    Object list_object = list_data.get(i);
+ 	    if (list_object instanceof CheckListEntry) {
+ 		addEntry((CheckListEntry) list_object);
+ 	    }
+	    else {
+		addEntry(new CheckListEntry(list_object));
+	    }
+ 	}
+    }
+
+
+    public void setTickedObjects(Object[] objects)
+    {
+	if (objects == null) {
+	    return;
+	}
+
+	DefaultListModel model = (DefaultListModel) getModel();
+	for (int i = 0; i < model.size(); i++) {
+	    CheckListEntry entry = (CheckListEntry) model.get(i);
+	    for (int j = 0; j < objects.length; j++) {
+		if (entry.getObject().equals(objects[j])) {
+		    entry.setSelected(true);
+		}
+	    }
+	}
+	updateUI();
+    }
+
+    public void setAllTicked() {
+	DefaultListModel model = (DefaultListModel) getModel();
+	for (int i = 0; i < model.size(); i++) {
+	    CheckListEntry entry = (CheckListEntry) model.get(i);
+	    entry.setSelected(true);
+	}
+	updateUI();
+    }
+
+    /** A custom list cell renderer for producing rows which contain clickable check boxes. */
+    protected class CheckListCellRenderer 
+	implements ListCellRenderer
+    {
+	/** Return a component that has been configured to display the specified value. That component's paint method is then called to "render" the cell. If it is necessary to compute the dimensions of a list because the list cells do not have a fixed size, this method is called to generate a component on which getPreferredSize  can be invoked.
+	 * @param list The </strong>JList</strong> we're painting.
+	 * @param value The value returned by list.getModel().getElementAt(index), as an <strong>Object</strong>.
+	 * @param index The cells index as an <i>int</i>.
+	 * @param is_selected <i>true</i> if the specified cell was selected, <i>false</i> otherwise.
+	 * @param cell_has_focus <i>true</i> if and only if the specified cell has the focus.
+	 * @return A <strong>Component</strong> whose paint() method will render the specified value.
+	 */
+	public Component getListCellRendererComponent(JList list, Object value, int index, boolean is_selected, boolean cell_has_focus) {
+	    JCheckBox checkbox = (JCheckBox) value;
+	    if (show_selected_row) {
+		checkbox.setBackground(is_selected ? list.getSelectionBackground() : list.getBackground());
+		checkbox.setForeground(is_selected ? list.getSelectionForeground() : list.getForeground());
+		checkbox.setBorderPainted(true);
+	    }
+	    else {
+		checkbox.setBackground(list.getBackground());
+		checkbox.setForeground(list.getForeground());
+		checkbox.setBorderPainted(false);
+	    }
+	    checkbox.setEnabled(list.isEnabled());
+	    checkbox.setFont(list.getFont());
+	    checkbox.setFocusPainted(false);
+	    checkbox.setBorder((is_selected) ? UIManager.getBorder("List.focusCellHighlightBorder") : noFocusBorder);
+	    return checkbox;
+	}
+    }
+
+
+    /** Listens for clicks apon the checks within the list, and updates as necessary. */
+    private class CheckListMouseListener 
+	extends MouseAdapter
+    {
+	/** Called whenever the mouse is clicked over our list. We find the nearest checkbox and change its state.
+	 * @param e A <strong>MouseEvent</strong> containing everything you ever wanted to know about the mouse event but were afraid to ask.
+	 */
+	public void mousePressed(MouseEvent e)
+	{
+	    if (!isEnabled()) return;
+	    JList list = (JList) e.getSource();
+	    int index = list.locationToIndex(e.getPoint());
+	    CheckListEntry checkbox = (CheckListEntry) list.getModel().getElementAt(index);
+	    if (!checkbox.isFixed()) {
+		checkbox.setSelected(!checkbox.isSelected());
+	    }
+	    checkbox.grabFocus();
+
+	    // We need to cause a ListSelectionEvent -- this is ugly but I can't find a better way quickly
+	    list.removeSelectionInterval(0, 0);
+	    list.setSelectionInterval(index, index);
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/CheckListEntry.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/CheckListEntry.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/CheckListEntry.java	(revision 21123)
@@ -0,0 +1,81 @@
+package org.greenstone.gatherer.util;
+
+import javax.swing.JCheckBox;
+import org.greenstone.gatherer.Dictionary;
+
+/** A CheckListEntry encapsulates a single row of the list, both its check box and the object the row represents. */
+public class CheckListEntry
+    extends JCheckBox 
+    implements Comparable {
+
+    /** Is this checkboxes state fixed. */
+    private boolean fixed = false;
+    /** The original object this row is based on, and whose toString() is used to generate the check box label. */
+    private Object object = null;
+    /** A sundry string for storing original values (rather than strings retrieved from dictionary). */
+    private String property;
+    /** Constructor. */
+    public CheckListEntry(Object object) {
+	super(object.toString());
+	this.object = object;
+	this.setComponentOrientation(Dictionary.getOrientation());
+    }
+
+    /** Constructor. */
+    public CheckListEntry(String text, boolean is_selected) {
+	super(text);
+	this.setComponentOrientation(Dictionary.getOrientation());
+	setSelected(is_selected);
+    }
+
+    /** Test this CheckListEntry against an Object for ordering. 
+     * @param obj the other Object.
+     * @return <0, 0 or >0 if this CheckListEntry is before, equal to or after the given object.
+     */
+    public int compareTo(Object obj) {
+	return toString().toLowerCase().compareTo(obj.toString().toLowerCase());
+    }
+    /** Test this CheckListEntry against an Object for equality. 
+     * @param obj the other Object.
+     * @return true if the two are equal, false otherwise.
+     */
+    public boolean equals(Object obj) {
+	if (obj == null) {
+	    return false;
+	}
+	return toString().equalsIgnoreCase(obj.toString());
+    }
+
+    /** Retrieve the object associated with this entry.
+     * @return An <strong>Object</strong>.
+     */
+    public Object getObject() {
+	if(object == null) {
+	    return getText();
+	}
+	return object;
+    }
+
+    public String getProperty() {
+	return property;
+    }
+
+    public boolean isFixed() {
+	return fixed;
+    }
+
+    public void setFixed(boolean fixed) {
+	this.fixed = fixed;
+    }
+
+    public void setProperty(String property) {
+	this.property = property;
+    }
+
+    public String toString() {
+	if(object == null) {
+	    return getText();
+	}
+	return object.toString();
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/Codec.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/Codec.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/Codec.java	(revision 21123)
@@ -0,0 +1,379 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.util;
+
+import java.util.*;
+
+/** Provides a standard, extensible way to convert from one format of string to another (given that each format has differing requirements regarding legal characters and escaped characters)
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3d
+ */
+public class Codec {
+    
+    static final public String DECODE_PATH = "DECODE_PATH";
+    static final public String DECODE_SQUARE_BRACKETS = "DECODE_SQUARE_BRACKETS";
+    static final public String DOM_TO_GREENSTONE = "DOM_TO_GREENSTONE";
+    static final public String DOM_TO_TEXT = "DOM_TO_TEXT";
+    static final public String ENCODE_PATH = "ENCODE_PATH";
+    static final public String ENCODE_SQUARE_BRACKETS = "ENCODE_SQUARE_BRACKETS";
+    static final public String GREENSTONE_TO_DOM = "GREENSTONE_TO_DOM";
+    static final public String GREENSTONE_TO_TEXT = "GREENSTONE_TO_TEXT";
+    static final public String TEXT_TO_DOM = "TEXT_TO_DOM";
+    static final public String TEXT_TO_GREENSTONE = "TEXT_TO_GREENSTONE";
+    static final public String TEXT_TO_REGEXP = "TEXT_TO_REGEXP";
+    static final public String TEXT_TO_SHELL_UNIX = "TEXT_TO_SHELL_UNIX";
+    static final public String TEXT_TO_SHELL_WINDOWS = "TEXT_TO_SHELL_WINDOWS";
+    
+    static final private int MAX_CACHE_SIZE = 100;
+    
+    static private HashMap TRANSFORMS;
+    static private HashMap3D CACHE;
+    
+    /** Static function called to construct TRANSFORMS mappings */
+    static {
+	TRANSFORMS = new HashMap();
+
+	String[] decode_path = {
+	    "\\|",    "\\\\",
+	    "&#124;", "\\|"
+	};
+	TRANSFORMS.put(DECODE_PATH, decode_path);
+	decode_path = null;
+
+	// Transform text into text, but without [ and ]
+	String[] decode_square_brackets = {
+	    "&#091;", "\\[",
+	    "&#093;", "\\]" 
+	};
+	TRANSFORMS.put(DECODE_SQUARE_BRACKETS, decode_square_brackets);
+	decode_square_brackets = null;
+
+	// Translate DOM encoded text into Greenstone encoding
+	String[] dom_to_greenstone = {
+	    "&apos;", "\\\\\'",
+	    "&gt;", ">",
+	    "&lt;", "<",
+	    "&quot;", "\\\\\"",
+	    "&amp;", "&"
+	};
+	//  removed "\n", "\\\\n", - config files are allowed new lines
+	// added "\\|", "\\\\"
+
+	TRANSFORMS.put(DOM_TO_GREENSTONE, dom_to_greenstone);
+	dom_to_greenstone = null;
+
+	// Transform DOM encoded text into plain text
+	String[] dom_to_text = {
+	   "&amp;#091;", "\\[",
+	   "&amp;#093;", "\\]",
+	   "&apos;", "\'",
+	   "&gt;", ">",
+	   "&lt;", "<",
+	   "&quot;", "\"",
+	   "&amp;", "&"
+	};
+	TRANSFORMS.put(DOM_TO_TEXT, dom_to_text);
+	dom_to_text = null;
+
+	// Transform text into a regular expression that will match it
+	String[] text_to_regexp = {
+	    "\\\\", "\\\\\\\\",
+	    "\\(", "\\\\(",
+	    "\\)", "\\\\)",
+	    "\\[", "\\\\[",
+	    "\\]", "\\\\]",
+	    "\\{", "\\\\{",
+	    "\\}", "\\\\}",
+	    "\\.", "\\\\."
+	};
+	TRANSFORMS.put(TEXT_TO_REGEXP, text_to_regexp);
+	text_to_regexp = null;
+
+	String[] encode_path = {
+	    "\\|",  "&#124;",
+	    "\\\\", "\\|"
+	};
+	TRANSFORMS.put(ENCODE_PATH, encode_path);
+	encode_path = null;
+
+	// Transform text into text, but without [ and ]
+	String[] encode_square_brackets = {
+	    "\\[", "&#091;",
+	    "\\]", "&#093;"
+	};
+	TRANSFORMS.put(ENCODE_SQUARE_BRACKETS, encode_square_brackets);
+	encode_square_brackets = null;
+
+	// Transform Greenstone encoded text to DOM encoding
+	String[] greenstone_to_dom = {
+	    "&", "&amp;",
+	    "<", "&lt;",
+	    ">", "&gt;",
+	    "\\\\\"", "&quot;",
+	    "\\\\\'", "&apos;",
+	    "\"", "&quot;",
+	    "\'", "&apos;"
+	};
+	// removed"\\\\n", "\n", added "\\\\", "\\|"
+
+	TRANSFORMS.put(GREENSTONE_TO_DOM, greenstone_to_dom);
+	greenstone_to_dom = null;
+
+	// Transform Greenstone encoded text to plain text
+	String[] greenstone_to_text = {
+	    "\\\\\"", "\"",
+	    "\\\\\'", "\'",
+	    "&quot;", "\"",
+	    "&apos;", "\'",
+	    "&#091;", "\\[",
+	    "&#093;", "\\]"
+	};
+	// removed    "\\\\n", "\n", "\\|", "\\\\"
+
+	TRANSFORMS.put(GREENSTONE_TO_TEXT, greenstone_to_text);
+	greenstone_to_text = null;
+
+	// Transform plain html text into something that can be placed in a DOM
+	String[] text_to_dom = {
+	    "&", "&amp;",
+	    "<", "&lt;",
+	    ">", "&gt;",
+	    "\"", "&quot;",
+	    "\'", "&apos;"
+	};
+	TRANSFORMS.put(TEXT_TO_DOM, text_to_dom);
+	text_to_dom = null;
+
+	// Transform plain html text into greenstone encoding
+	String[] text_to_greenstone = {
+
+	    "\\[", "&#091;",
+	    "\\]", "&#093;",
+	    "\"", "&quot;",
+	    "\n", "\\\\n"
+	};
+	// 	    "\'", "&apos;",
+	// removed "\\\\", "\\|",
+	TRANSFORMS.put(TEXT_TO_GREENSTONE, text_to_greenstone);
+	text_to_greenstone = null;
+
+	// Transform plain html text into something that can be placed in a shell command
+	String[] text_to_shell_unix = {
+	    "\"", "\\\\\"",
+	    "\'", "\\\\\'",
+	    "\n", "\\\\n"
+	};
+	TRANSFORMS.put(TEXT_TO_SHELL_UNIX, text_to_shell_unix);
+	text_to_shell_unix = null;
+
+	// Transform plain html text into something that can be placed in a shell command. Windows requires twice as many escaped for speech marks to be passed to underlying processes
+	String[] text_to_shell_windows = {
+	    "\"", "\\\\\\\\\\\\\"",
+	    "\'", "\\\\\'",
+	    "\n", "\\\\n"
+	};
+	TRANSFORMS.put(TEXT_TO_SHELL_WINDOWS, text_to_shell_windows);
+	text_to_shell_windows = null;
+
+	CACHE = new HashMap3D();
+    }
+
+    static public String transform(String raw, String transform) {
+	if(raw == null) {
+	    return raw;
+	}
+	// System.err.println("Transforming by "+transform+":\n" + raw);
+	String processed = (String) CACHE.get(transform, raw);
+	if(processed == null) {
+	    processed = raw;
+	    String[] transforms = (String[]) TRANSFORMS.get(transform);
+	    if(transforms != null) {
+		for(int i = 0; i < transforms.length; i = i + 2) {
+		    String target = transforms[i];
+		    String result = transforms[i+1];
+		    processed = processed.replaceAll(target, result);
+		}
+	    }
+	    //DebugStream.println("\n*** Transform: " + transform + " ***");
+	    //DebugStream.println("*** Raw      : '" + raw + "'");
+	    //DebugStream.println("*** Processed: '" + processed + "'");
+	    // If cache is at maximum size, empty it and start again
+	    if(CACHE.size() == MAX_CACHE_SIZE) {
+		CACHE.clear();
+	    }
+	    CACHE.put(transform, raw, processed);
+	}
+	return processed;
+    }
+
+    /** Transform either of the accepted unicode escape sequences styles from in the string into single characters */
+    static final private char AND_CHAR = '&';
+    static final private char ESCAPE_CHAR = '\\';
+    static final private char HASH_CHAR = '#';
+    static final private char LOWER_U_CHAR = 'u';
+    static final private char UPPER_U_CHAR = 'U';
+    static final private char SEMICOLON_CHAR = ';';
+
+    static public String transformUnicode(String raw) {
+	StringBuffer processed = new StringBuffer();
+	int index = 0;
+	int raw_length = raw.length();
+	while(index < raw_length) {
+	    char c0 = raw.charAt(index);
+	    switch(c0) {
+	    case AND_CHAR:
+		if(index + 1 < raw_length) {
+		    // First the HTML &#231; type
+		    char c1 = raw.charAt(index + 1);
+		    if(c1 == HASH_CHAR) {
+			StringBuffer number_str = new StringBuffer();
+			char c2;
+			int offset = 2;
+			while(index + offset < raw_length && (c2 = raw.charAt(index + offset)) != SEMICOLON_CHAR) {
+			    number_str.append(c2);
+			    offset++;
+			}
+			// We've either run out of characters or have parsed a number
+			if(index + offset < raw_length && raw.charAt(index + offset) == SEMICOLON_CHAR) {
+			    int number = Integer.parseInt(number_str.toString());
+			    processed.append((char)number);
+			    index = index + offset;
+			    number_str = null;
+			    break;
+			}
+			number_str = null;
+		    }
+		}
+		processed.append(c0);
+		break;
+	    case ESCAPE_CHAR:
+		// Now the \u00e7 type
+		if(index + 1 < raw_length) {
+		    char c3 = raw.charAt(index + 1);
+		    if((c3 == UPPER_U_CHAR || c3 == LOWER_U_CHAR) && index + 5 < raw_length) {
+			// We read four digits
+			String hex_str = raw.substring(index + 2, index + 6);
+			int number = Integer.parseInt(hex_str, 16);
+			hex_str = null;
+			processed.append((char)number);
+			index = index + 5;
+			break;
+		    }
+		}
+		processed.append(c0);
+		break;
+	    default:
+		processed.append(c0);
+	    }
+	    index++;
+	}
+	return processed.toString();
+    }
+
+    static public void main(String[] args) {
+	if(args.length < 2) {
+	    String processed;
+	    String raw;
+	    String transform;
+
+	    System.err.println("Running Test Suite");
+
+	    transform = "DOM_TO_GREENSTONE";
+	    System.err.println("Test " + transform);
+	    raw = "A &amp;lt;\nand a &lt;a href=&quot;here.html&quot;&gt;&lt;font size=&apos;2&apos;&gt;URL&lt;/font&gt;&lt;/a&gt;";
+	    System.err.println("Raw:       '" + raw + "'");
+	    processed = transform(raw, transform);
+	    System.err.println("Processed: '" + processed + "'");
+
+	    transform = "DOM_TO_TEXT";
+	    System.err.println("Test " + transform);
+	    raw = "A &amp;lt;\nand a &lt;a href=&quot;here.html&quot;&gt;&lt;font size=&apos;2&apos;&gt;URL&lt;/font&gt;&lt;/a&gt;";
+	    System.err.println("Raw:       '" + raw + "'");
+	    processed = transform(raw, transform);
+	    System.err.println("Processed: '" + processed + "'");
+
+	    transform = "GREENSTONE_TO_DOM";
+	    System.err.println("Test " + transform);
+	    raw = "A &lt;\\nand a <a href=\\\"here.html\\\"><font size=\\\'2\\\'URL</font></a>";
+	    System.err.println("Raw:       '" + raw + "'");
+	    processed = transform(raw, transform);
+	    System.err.println("Processed: '" + processed + "'");
+
+	    transform = "GREENSTONE_TO_TEXT";
+	    System.err.println("Test " + transform);
+	    raw = "These \\[ \\] should be escaped, and so should \\\\ that. These &quot; &apos; \\n are encoded.";
+	    System.err.println("Raw:       '" + raw + "'");
+	    processed = transform(raw, transform);
+	    System.err.println("Processed: '" + processed + "'");
+
+	    transform = "TEXT_TO_DOM";
+	    System.err.println("Test " + transform);
+	    raw = "A &lt;\nand a <a href=\"here.html\"><font size='2'>URL</font></a>";
+	    System.err.println("Raw:       '" + raw + "'");
+	    processed = transform(raw, transform);
+	    System.err.println("Processed: '" + processed + "'");
+
+	    transform = "TEXT_TO_GREENSTONE";
+	    System.err.println("Test " + transform);
+	    raw = "These [ ] should be escaped, and so should \\ that. These \" \' \n are encoded.";
+	    System.err.println("Raw:       '" + raw + "'");
+	    processed = transform(raw, transform);
+	    System.err.println("Processed: '" + processed + "'");
+
+	    transform = "TEXT_TO_SHELL";
+	    System.err.println("Test " + transform);
+	    if(Utility.isWindows()) {
+		System.err.println("[Windows Version]");
+		transform = "TEXT_TO_SHELL_WINDOWS";
+	    }
+	    else {
+		System.err.println("[Unix Version]");
+		transform = "TEXT_TO_SHELL_UNIX";
+	    }
+	    raw = "A &lt;\nand a <a href=\"here.html\"><font size='2'>URL</font></a>";
+	    System.err.println("Raw:       '" + raw + "'");
+	    processed = transform(raw, transform);
+	    System.err.println("Processed: '" + processed + "'");
+
+	    System.err.println("***** UNICODE TEST *****");
+	    System.err.println("\\u0030 => " + transformUnicode("\\u0030"));
+	    System.err.println("\\u0041 => " + transformUnicode("\\u0041"));
+	    System.err.println("\\u007a => " + transformUnicode("\\u007a"));
+	    System.err.println("\\u00e7 => " + transformUnicode("\\u00e7"));
+	    System.err.println("&#48;   => " + transformUnicode("&#48;"));
+	    System.err.println("&#65;   => " + transformUnicode("&#65;"));
+	    System.err.println("&#122;  => " + transformUnicode("&#122;"));
+	    System.err.println("&#231;  => " + transformUnicode("&#231;"));
+	}
+	else {
+	    System.err.println("Raw:       '" + args[0] + "'");
+	    System.err.println("Transform: " + args[1]);
+	    String processed = transform(args[0], args[1]);
+	    System.err.println("Processed: '" + processed + "'");
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/DOMTree.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/DOMTree.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/DOMTree.java	(revision 21123)
@@ -0,0 +1,149 @@
+package org.greenstone.gatherer.util;
+
+import java.util.*;
+import javax.swing.*;
+import javax.swing.tree.*;
+import org.w3c.dom.*;
+
+public class DOMTree
+    extends JTree {
+
+    public DOMTree(Document document) {
+	super();
+	setDocument(document);
+    }
+
+    public void setDocument(Document document) {
+	setModel(new DefaultTreeModel(new DOMTreeNode(document.getDocumentElement(), null)));
+    }
+
+    private class DOMTreeNode 
+	implements TreeNode {
+
+	private Node node = null;
+	private NodeList children = null;
+	private String text = null;
+	private TreeNode parent = null;
+	private TreeNode self = null;
+
+	DOMTreeNode(Node node, TreeNode parent) {
+	    this.node = node;
+	    this.parent = parent;
+	    this.self = this;
+	}
+	
+	/** Returns the children of the receiver as an Enumeration. */
+	public Enumeration children() {
+	    if(children == null) {
+		children = node.getChildNodes();
+	    }
+	    return new NodeListEnumeration();
+	}
+          
+	/** Returns true if the receiver allows children. */
+	public boolean getAllowsChildren() {
+	    return true;
+	}
+          
+	/** Returns the child TreeNode at index childIndex. */
+	public TreeNode getChildAt(int childIndex) {
+	    if(children == null) {
+		children = node.getChildNodes();
+	    }
+	    return new DOMTreeNode(children.item(childIndex), this);
+	}
+          
+	/** Returns the number of children TreeNodes the receiver contains. */
+	public int getChildCount() {
+	    if(children == null) {
+		children = node.getChildNodes();
+	    }
+	    return children.getLength();
+	}
+          
+	/** Returns the index of node in the receivers children. */
+	public int getIndex(TreeNode find_node) {
+	    if(children == null) {
+		children = node.getChildNodes();
+	    }
+	    Node target_node = ((DOMTreeNode)find_node).getNode();
+	    int children_count = children.getLength();
+	    for(int i = 0; i < children_count; i++) {
+		Node test_node = children.item(i);
+		if(target_node == test_node) {
+		    test_node = null;
+		    target_node = null;
+		    return i;
+		}
+		test_node = null;
+	    }
+	    target_node = null;
+	    return -1;
+	}
+	    
+	public Node getNode() {
+	    return node;
+	}
+
+	/** Returns the parent TreeNode of the receiver. */
+	public TreeNode getParent() {
+	    return parent;
+	}
+	    
+	/** Returns true if the receiver is a leaf. */
+	public boolean isLeaf() {
+	    return !node.hasChildNodes();
+	}
+
+	public String toString() {
+	    if(text == null) {
+		StringBuffer temp = new StringBuffer(node.getNodeName());
+		String value = node.getNodeValue();
+		if(value != null && value.length() != 0) {
+		    temp.append("=\"");
+		    temp.append(value);
+		    temp.append("\"");
+		}
+		value = null;
+		if(node instanceof Element) {
+		    Element element = (Element) node;
+		    temp.append(": ");
+		    NamedNodeMap attributes = element.getAttributes();
+		    int attribute_count = attributes.getLength();
+		    for(int i = 0; i < attribute_count; i++) {
+			Node attribute = attributes.item(i);
+			temp.append(attribute.getNodeName());
+			temp.append("=\"");
+			temp.append(attribute.getNodeValue());
+			if(i < attribute_count - 1) {
+			    temp.append("\" ");
+			}
+			else {
+			    temp.append("\"");
+			}
+		    }
+		    attributes = null;
+		    element = null;
+		}
+		text = temp.toString();
+		temp = null;
+	    }
+	    return text;
+	}
+
+	private class NodeListEnumeration
+	    implements Enumeration {
+	    private int index = 0;
+	    /** Tests if this enumeration contains more elements. */
+	    public boolean hasMoreElements() {
+		return index < children.getLength();
+	    }
+	    /** Returns the next element of this enumeration if this enumeration object has at least one more element to provide. */
+	    public Object nextElement() {
+		int old_index = index;
+		index = index + 1;
+		return new DOMTreeNode(children.item(old_index), self);
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/DragComponent.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/DragComponent.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/DragComponent.java	(revision 21123)
@@ -0,0 +1,65 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.util;
+/**
+ * Title:        Gatherer<br>
+ * Description:  The Gatherer: a tool for gathering and enriching a digital collection.<br>
+ * Copyright:    Copyright (c) 2001<br>
+ * Company:      The University of Waikato<br>
+ * Written:        /  /01<br>
+ * Revised:      21/06/02 - Moved into correct package and commented.<br>
+ * @author John Thompson, 9826509
+ * @version 2.1
+ */
+import java.awt.event.FocusListener;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.file.FileSystemModel;
+
+/** Any component that wants to act a GTree like drag'n'drop component must implement this. */
+public interface DragComponent {
+    public void addFocusListener(FocusListener listener);
+    /** In order for the appearance to be consistant, given we may be in the situation where the pointer has left our focus but the ghost remains, this method allows other members of the Group to tell this component to repair the 'spoilt' region left by its ghost. */
+    public void clearGhost();
+    /** Used to notify this component that it has gained focus by some method other that mouse focus. */
+    public void gainFocus();	 
+    /** Retrieve the model associated with this component. */
+    public FileSystemModel getTreeModel();
+    /** This method is used to inform this component when it loses focus by means other than a drag mouse event, and should indicate this somehow. */
+    public void loseFocus();
+    /** Set the components group. */
+    public void setGroup(DragGroup group);
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/DragGroup.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/DragGroup.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/DragGroup.java	(revision 21123)
@@ -0,0 +1,136 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.util;
+
+import java.awt.Point;
+import java.awt.event.*;
+import java.awt.image.BufferedImage;
+import java.util.Vector;
+import javax.swing.JComponent;
+import javax.swing.tree.TreePath;
+import org.greenstone.gatherer.gui.tree.DragTree;
+
+
+/** This class acts as a linker between all the various drag and drop enabled DragComponent. It provides methods for ensuring only one component is the drop target, showing extra user feedback, and maintains a single point of focus. Moreover it provides a storage space for necessary shared variables such as mouse_offset of initial drag etc. */
+public class DragGroup 
+    implements FocusListener {
+    /** The image used for the ghost icon when dragging. */
+    public BufferedImage image_ghost = null;
+    /** The initial offset of the mouse from the selection within a DragComponent. Then as you drag the mouse, the ghost appears in a visually consistant place, and remains at the same offset throughout the dragging process. */
+    public Point mouse_offset = null;
+    /** The component currently in charge of drawing the ghost icon. Note that this isn't necessarily the only component that needs to repaint 'spoilt' screen real-estate as a side effect of the ghost. */
+    private DragComponent ghost_owner = null;
+    /** The component where the drag began, so that extra information necessary for the drag can be garnered by the drop target, or so that focus can return to the source component if the drop is rejected. */
+    private DragTree drag_source = null;
+    /** The selected nodes, as determined when the drag begun. */
+    private TreePath[] selection = null;
+    /** A list of DragComponents registered as being part of this group. */
+    private Vector registered = new Vector();
+
+    /** Register a DragComponent as begin part of this group.
+     * @param component The DragComponent to add.
+     */
+    public void add(DragComponent component) {
+	if(!registered.contains(component)) {
+	    registered.add(component);
+	    component.addFocusListener(this);
+	    component.setGroup(this);
+	}
+    }
+
+    /** Invoked when a component gains the keyboard focus. */
+    public void focusGained(FocusEvent event) {
+	((DragComponent)event.getComponent()).gainFocus();
+    }
+          
+    /** Invoked when a component loses the keyboard focus. */
+    public void focusLost(FocusEvent event) {
+	((DragComponent)event.getComponent()).loseFocus();
+    }          
+    /** Determines the current 'active' component, ie that component with focus.
+     * @return The DragComponent which is currently responsible for drawing the ghost, and thus is active.
+     */
+    public DragComponent getActive() {
+	return ghost_owner;
+    }
+    /** Retrieve the nodes selected at the beginning of this drag operation.
+     * @return A TreePath[].
+     */
+    public TreePath[] getSelection() {
+	return selection;
+    }
+    /** Retrieve the component which served as the source of this drag action.
+     * @return The DragComponent in question.
+     */
+    public DragTree getSource() {
+	return drag_source;
+    }
+    /** When called this method asserts that one of the registered GComponents just became the proud owner of focus, and is henceforth responsible for drawing the ghost, and acting like a component thats in focus.
+     * @param new_owner The DragComponent that has gained focus during a drag action.
+     */
+    public void grabFocus(DragComponent new_owner) {
+	// Tell the previous owner of ghost to clear itself.
+	if(ghost_owner != null) {
+	    ghost_owner.clearGhost();
+	}
+	// Assign new owner
+	ghost_owner = new_owner;
+	// Then tell all other GComponents to indicate they aren't in focus in whatever way they do that (ie selected items of a GTree go gray). Of course the new owners told it is in focus.
+	for(int i = 0; i < registered.size(); i++) {
+	    DragComponent comp = (DragComponent)registered.get(i);
+	    if(comp == new_owner) {
+		comp.gainFocus();
+	    }
+	    else {
+		comp.loseFocus();
+	    }
+	}
+    }
+    /** Sets the value of selected_nodes.
+     * @param selection The new value for selected_nodes as a TreePath[].
+     */
+    public void setSelection(TreePath[] selection) {
+	this.selection = selection;
+    }
+    /** Sets the value of drag_source.
+     * @param drag_source The new value for drag_source as a DragTree.
+     */
+    public void setSource(DragTree drag_source) {
+	this.drag_source = drag_source;
+	///ystem.err.println("The drag source is now " + drag_source);
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/DragTreeSelectionModel.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/DragTreeSelectionModel.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/DragTreeSelectionModel.java	(revision 21123)
@@ -0,0 +1,278 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.util;
+
+import java.awt.Point;
+import java.awt.event.*;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.DebugStream;
+import org.greenstone.gatherer.Dictionary;
+import org.greenstone.gatherer.gui.tree.DragTree;
+
+public class DragTreeSelectionModel
+    extends DefaultTreeSelectionModel
+    implements MouseListener {
+
+    private boolean immediate = false;
+    private boolean mixed_selection = false;
+
+    private int type               = -1;
+
+    private TreePath temp_path     = null;
+    private TreePath temp_paths[]  = null;
+
+    static private final int NONE  = -1;
+    static private final int ADD   =  0;
+    static private final int SET   =  1;
+
+    /** Constructor.
+     * @param tree the DragTree which will use this selection model.
+     * @param mixed_selection true if this selection model allows selections to contain files and folders, false otherwise.
+     */
+    public DragTreeSelectionModel(DragTree tree, boolean mixed_selection) {
+	super();
+	this.mixed_selection = mixed_selection;
+	setSelectionMode(DISCONTIGUOUS_TREE_SELECTION);
+	tree.addMouseListener(this);
+    }
+
+    public void addSelectionPath(TreePath path) {
+	if(!immediate) {
+	    this.temp_path = path;
+	    this.type = this.ADD;
+	}
+	else if(isAppropriate(path)) {
+	    temp_path = null;
+	    super.addSelectionPath(path);
+	}
+    }
+
+    public void addSelectionPaths(TreePath paths[]) {
+	if(!immediate) {
+	    this.temp_paths = paths;
+	    this.type = this.ADD;
+	}
+	else if(isAppropriate(paths, true)) {
+	    temp_paths = null;
+	    super.setSelectionPaths(paths);
+	}
+    }
+
+    public String getDetails() {
+	String suffix = null;
+	int file_count = 0;
+	int folder_count = 0;
+	for(int i = 0; selection != null && i < selection.length; i++) {
+	    TreeNode node = (TreeNode) selection[i].getLastPathComponent();
+	    if(node.isLeaf()) {
+		file_count++;
+	    }
+	    else {
+		folder_count++;
+	    }
+	}
+
+	// Update the metaaudit_suffix
+	String args[] = null;
+	if(file_count > 0 && folder_count > 0) {
+	    if(file_count > 1 && folder_count > 1) {
+		args = new String[2];
+		args[0] = String.valueOf(file_count);
+		args[1] = String.valueOf(folder_count);
+		suffix = Dictionary.get("FileActions.Selected", args);
+	    }
+	    else if(file_count > 1) {
+		args = new String[1];
+		args[0] = String.valueOf(file_count);
+		suffix = Dictionary.get("FileActions.Files_And_Directory_Selected", args);
+	    }
+	    else if(folder_count > 1) {
+		args = new String[1];
+		args[0] = String.valueOf(folder_count);
+		suffix = Dictionary.get("FileActions.File_And_Directories_Selected", args);
+	    }
+	    else {
+		suffix = Dictionary.get("FileActions.File_And_Directory_Selected");
+	    }
+	}
+	else if(file_count > 0) {
+	    if(file_count > 1) {
+		args = new String[1];
+		args[0] = String.valueOf(file_count);
+		suffix = Dictionary.get("FileActions.Files_Selected", args);
+	    }
+	    else if(file_count == 1) {
+		suffix = Dictionary.get("FileActions.File_Selected");
+	    }
+	}
+	else if(folder_count > 0) {
+	    if(folder_count > 1) {
+		args = new String[1];
+		args[0] = String.valueOf(folder_count);
+		suffix = Dictionary.get("FileActions.Directories_Selected", args);
+	    }
+	    else {
+		suffix = Dictionary.get("FileActions.Directory_Selected");
+	    }
+	}
+	args = null;
+
+	return suffix;
+    }
+
+    /** Any implementation of MouseListener must include this method so
+     * we can be informed when the mouse is clicked.
+     * @param event A MouseEvent containing all the information about
+     * this mouse click.
+     */
+    public void mouseClicked(MouseEvent event) {
+    }
+
+    /** Any implementation of MouseListener must include this method so
+     * we can be informed when the mouse enters a component.
+     * @param event A MouseEvent containing all the information about
+     * this mouse action.
+     */
+    public void mouseEntered(MouseEvent event) {
+    }
+
+    /** Any implementation of MouseListener must include this method so
+     * we can be informed when the mouse exits a component.
+     * @param event A MouseEvent containing all the information about
+     * this mouse action.
+     */
+    public void mouseExited(MouseEvent event) {
+    }
+
+    /** Any implementation of MouseListener must include this method so
+     * we can be informed when the mouse is pressed (start of click).
+     * @param event A MouseEvent containing all the information about
+     * this mouse action.
+     */
+    public void mousePressed(MouseEvent event) {
+    }
+
+    /** Any implementation of MouseListener must include this method so
+     * we can be informed when the mouse is released (end of click).
+     * @param event A MouseEvent containing all the information about
+     * this mouse action.
+     */
+    public void mouseReleased(MouseEvent event) {
+	try {
+	switch(this.type) {
+	case 0: // this.ADD
+	    if(this.temp_path != null && isAppropriate(temp_path)) {
+		super.addSelectionPath(this.temp_path);
+		this.temp_path = null;
+	    }
+	    if(this.temp_paths != null && isAppropriate(temp_paths, true)) {
+		super.addSelectionPaths(this.temp_paths);
+		this.temp_paths = null;
+	    }
+	    this.type = this.NONE;
+	    break;
+	case 1: // this.SET
+	    if(this.temp_path != null) {
+		super.setSelectionPath(this.temp_path);
+		this.temp_path = null;
+	    }
+	    if(this.temp_paths != null && isAppropriate(temp_paths, false)) {
+		super.setSelectionPaths(this.temp_paths);
+		this.temp_paths = null;
+	    }
+	    this.type = this.NONE;
+	    break;
+	}
+	}
+	catch (Exception error) {
+		DebugStream.printStackTrace(error);
+	}
+    }
+
+    public void setImmediate(boolean value) {
+	immediate = value;
+    }
+
+    public void setSelectionPath(TreePath path) {
+	// Since this is only a single path we don't need to check whether its an appropriate selection.
+	if(!immediate) {
+	    this.temp_path = path;
+	    this.type = this.SET;
+	}
+	else {
+	    temp_path = null;
+	    super.setSelectionPath(path);
+	}
+    }
+
+    public void setSelectionPaths(TreePath paths[]) {
+	if(!immediate) {
+	    this.temp_paths = paths;
+	    this.type = this.SET;
+	}
+	else if(isAppropriate(paths, false)) {
+	    temp_paths = null;
+	    super.setSelectionPaths(paths);
+	}
+    }
+
+    /** Ensure that the given path is appropriate to add to the current selection, preventing mixed selections of files and folder if required. We also must check that no path is a ancestor/descendant of another.
+     */
+    private boolean isAppropriate(TreePath path) {
+	boolean appropriate = true;
+	TreeNode new_node = (TreeNode) path.getLastPathComponent();
+	// If there is a current selection
+	if(selection != null && selection.length > 0) {
+	    for(int i = 0; appropriate && i < selection.length; i++) {
+		TreeNode current_node = (TreeNode) selection[i].getLastPathComponent();
+		appropriate = appropriate && (mixed_selection || new_node.isLeaf() == current_node.isLeaf());
+		appropriate = appropriate && !path.isDescendant(selection[i]) && !selection[i].isDescendant(path);
+	    }
+	}
+	return appropriate;
+    }
+    /** Ensure that the given paths are appropriate to add to the current selection, preventing mixed selections of files and folder if required. We also must check that no path is a ancestor/descendant of another. One last detail to keep in mind is that adding selections depends upon the current selection, whereas set the selection paths doesn't (replaces them instead) and thus no check of the current paths is needed. */
+    private boolean isAppropriate(TreePath[] paths, boolean check_current) {
+	boolean appropriate = true;
+	if(check_current && paths != null && paths.length > 0) {
+	    for(int i = 0; appropriate && i < paths.length; i++) {
+		appropriate = appropriate && isAppropriate(paths[i]);
+	    }
+	}
+	return appropriate;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/ExternalProgram.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/ExternalProgram.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/ExternalProgram.java	(revision 21123)
@@ -0,0 +1,107 @@
+package org.greenstone.gatherer.util;
+
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.InputStreamReader;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import org.greenstone.gatherer.DebugStream;
+
+
+/**
+ * This class provides a convenient method of running external programs and viewing/analysing
+ * their output. The external programs may be run with or without arguments. 
+ */
+public class ExternalProgram
+{
+    private Process programProcess = null;
+
+    private BufferedReader programOut = null;
+    private BufferedReader programErr = null;
+
+
+    /**
+     * Prepares to run a specified external program with the specified arguments.
+     *
+     * @param programName The name (and path, if necessary) of the program to run.
+     * @param programArgs The arguments to provide to the program when run.
+     */
+    public ExternalProgram(String programName, String programArgs)
+	throws IOException
+    {
+	// Run the program
+	programProcess = Runtime.getRuntime().exec(programName + " " + programArgs);
+
+	// Grab the program output
+	programOut = new BufferedReader(new InputStreamReader(programProcess.getInputStream()));
+	programErr = new BufferedReader(new InputStreamReader(programProcess.getErrorStream()));
+
+    }
+
+
+
+    /**
+     */
+    public int exitProgram()
+	throws IOException
+    {
+	// Finished, thank you
+	//programIn.close();
+
+	// Wait for the process to finish
+	try {
+	    programProcess.waitFor();
+	}
+	catch (InterruptedException ex) {
+	    throw new Error("Internal Error: Process interrupted.\n" + ex);
+	}
+
+	// Return the program exit value
+	return programProcess.exitValue();
+    }
+
+
+    /**
+     * Returns a single line of output sent by the program to standard output.
+     *
+     * @return a single line of output sent by the program to standard output.
+     */
+    public String getLineOfProgramOutput()
+    {
+	// Read in a line from the program output
+	try {
+	    if (programOut.ready())
+		return programOut.readLine();
+	    else
+		return null;
+	}
+	catch (IOException ex) {
+	    DebugStream.println("Error: Exception occurred while reading program output.");
+	    DebugStream.println("Exception: " + ex);
+	    return null;
+	}
+    }
+
+
+    /**
+     * Returns a single line of output sent by the program to standard error.
+     *
+     * @return a single line of output sent by the program to standard error.
+     */
+    public String getLineOfProgramError()
+    {
+	// Read in a line from the program error
+	try {
+	    if (programErr.ready())
+		return programErr.readLine();
+	    else
+		return null;
+	}
+	catch (IOException ex) {
+	    DebugStream.println("Error: Exception occurred while reading program error.");
+	    DebugStream.println("Exception: " + ex);
+	    return null;
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/HTMLStringTokenizer.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/HTMLStringTokenizer.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/HTMLStringTokenizer.java	(revision 21123)
@@ -0,0 +1,142 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.util;
+
+
+/** This class functions much like a <strong>StringTokenizer</strong> in that it tokenizes a long string into tokens, however this tokenizer cleverly notices HTML formatting tags. */
+public class HTMLStringTokenizer {
+    /** The current position in the source string. */
+    private int pos = 0;
+    /** The current token, usually created by the last nextToken call. */
+    private String current = null;
+    /** The previous token. */
+    private String previous = null;
+    /** The string to be tokenized, including any HTML markup. */
+    private String source = null;
+    /** Constructor.
+     * @param source The source <strong>String</strong> to be tokenized.
+     */
+    public HTMLStringTokenizer(String source) {
+	this.source = source;
+	// Parse the first token.
+	parseToken();
+    }
+
+    /** Determines if there are still tokens remaining unparsed in the source.
+     * @return A <strong>boolean</strong> which is <i>true</i> if there are more tokens.
+     */ 
+    public boolean hasMoreTokens() {
+	if(current != null && current.length() > 0) {
+	    return true;
+	}
+	return false;
+    } 
+
+    /** Determines if the tag currently being returned by sameToken is a tag.
+     * @return A <strong>boolean</strong> indicating if the token is a tag.
+     */
+    public boolean isTag() {
+	if(previous.startsWith("<") && previous.endsWith(">")) {
+	    return true;
+	}
+	return false;
+    }
+
+    /** Retrieves the next token. 
+     * @return A <strong>String</strong> representing the token.
+     */
+    public String nextToken() {
+	previous = current;
+	// Get the next token.
+	parseToken();
+	// Return previous.
+	return previous;
+    }
+
+    /** Parses the next token and stores it in current.
+     */
+    private void parseToken() {
+	boolean found = false;
+	boolean tag = false;
+	boolean text = false;
+	// Reset current
+	current = "";
+	// Parse away
+	dumpWhiteSpace();
+	while(pos < source.length() && !found) {
+	    char c = (char)source.charAt(pos);
+	    if(!tag && !text) {
+		if(c == '<') {
+		    tag = true;
+		}
+		else {
+		    text = true;
+		}
+		current = current + c;
+	    }
+				// Reading a tag. Watch only for '>'.
+	    else if(tag) {
+		if(c == '>') {
+		    found = true;
+		}
+		current = current + c;
+	    }
+				// Reading text. Watch for ' ' and '<'. Rollback '<'.
+	    else if(text) {
+		if(c == ' ') {
+		    found = true;
+		}
+		else if(c == '<') {
+		    found = true;
+		    pos--;
+		}
+		else {
+		    current = current + c;
+		}
+	    }
+	    pos++;
+	}
+    }
+
+    /** Method to ignore whitespace in the source.
+     */
+    private void dumpWhiteSpace() {
+	while(pos < source.length() && source.charAt(pos) == ' ') {
+	    pos++;
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/HashMap3D.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/HashMap3D.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/HashMap3D.java	(revision 21123)
@@ -0,0 +1,138 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.util;
+
+/**************************************************************************************
+ * Written:      20/08/02
+ * Revised:      
+ **************************************************************************************/
+import java.util.HashMap;
+import java.util.Iterator;
+
+/** Provides a HashMap implementation that indexes by two keys. Perfect for the storage of metadata references based on their metadata element and assigned value. 
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3
+ */
+public class HashMap3D
+    extends HashMap {
+
+    private int capacity = 4;
+
+    private int size = 0;
+
+    private Object last_key_one = null;
+    private Object last_key_two = null;
+    private Object last_value = null;
+
+    /** Default constructor.
+     */
+    public HashMap3D() {
+	super();
+    }
+    /** Constructor with a specific initial capacity.
+     * @param capacity The initial capacity as an <i>int</i>.
+     */
+    public HashMap3D(int capacity) {
+	super(capacity);
+	this.capacity = capacity;
+    }
+    /** Completely remove the contents of this HashMap and its child HashMaps. */
+    public void clear() {
+	size = 0;
+	Iterator iterator = values().iterator();
+	while(iterator.hasNext()) {
+	    HashMap inner_mapping = (HashMap) iterator.next();
+	    inner_mapping.clear();
+	    inner_mapping = null;
+	}
+	iterator = null;
+	super.clear();
+    }
+    /** Determine if this hash map contains an entry for the given keys. Also cache this entry because theres a good chance the next get call will ask for this entry.
+     * @param key_one The first key as an <strong>Object</strong>.
+     * @param key_two The second key as an <strong>Object</strong>.
+     * @return <i>true</i> if such an entry exists, <i>false</i> otherwise.
+     */
+    public boolean contains(Object key_one, Object key_two) {
+	boolean result = false;
+	// Retrieve the hash mapping at key_one.
+	HashMap map = (HashMap) get(key_one);
+	// If there is such a map then retrieve the value at key_two.
+	if(map != null) {
+	    last_value = map.get(key_two);
+	    if(last_value != null) {
+		last_key_one = key_one;
+		last_key_two = key_two;
+		result = true;
+	    }
+	}
+	return result;
+    }
+
+    /** Retrieve an entry from this three dimensional hash mapping.
+     * @param key_one The first key as an <strong>Object</strong>.
+     * @param key_two The second key as an <strong>Object</strong>.
+     * @return The value <strong>Object</strong> located at (key_one, key_two), or <i>null</i> if no such value.
+     */
+    public Object get(Object key_one, Object key_two) {
+	Object result = null;
+	if(key_one.equals(last_key_one) && key_two.equals(last_key_two)) {
+	    result = last_value;
+	}
+	else {
+	    // Retrieve the hash mapping at key_one.
+	    HashMap map = (HashMap) get(key_one);
+	    // If there is such a map then retrieve the value at key_two.
+	    if(map != null) {
+		result = map.get(key_two);
+		if(result != null) {
+		    last_key_one = key_one;
+		    last_key_two = key_two;
+		    last_value = result;
+		}
+	    }
+	}
+	return result;
+    }
+
+    /** Put an entry into this three dimensional hash mapping.
+     * @param key_one The first key, to store this value under, as an <strong>Object</strong>.
+     * @param key_two The second key, to store this value under, as an <strong>Object</strong>.
+     * @param value The value <strong>Object</strong> itself.
+     */
+    public void put(Object key_one, Object key_two, Object value) {
+	// Retrieve the hash mapping at key_one, or if none exists create one.
+	HashMap map = (HashMap) get(key_one);
+	if(map == null) {
+	    map = new HashMap(capacity);
+	    put(key_one, map);
+	}
+	// Now add the value to this mapping.
+	map.put(key_two, value);
+	size++;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/JarTools.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/JarTools.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/JarTools.java	(revision 21123)
@@ -0,0 +1,141 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: Michael Dewsnip, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2005 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.util;
+
+
+import java.awt.*;
+import java.io.*;
+import java.net.*;
+import javax.swing.*;
+import org.greenstone.gatherer.DebugStream;
+
+
+public class JarTools
+{
+    static private Class root_class = null;
+    static private ImageIcon ERROR_ICON = null; 
+
+
+    static public void initialise(Object root_object)
+    {
+	root_class = root_object.getClass();
+	ERROR_ICON = getImage("error.gif");
+    }
+
+
+    static public void extractFromJar(String filename, String dst_dir, boolean must_be_present) 
+    {
+	try {
+	    // setup input stream for slurping out file
+	    InputStream fis = root_class.getResourceAsStream("/"+filename);
+	    BufferedInputStream fbis = new BufferedInputStream(fis); 
+	    DataInputStream fdbis = new DataInputStream(fbis);
+
+	    // set up output stream for writing to disk
+	    String ofname = dst_dir + filename;
+	    FileOutputStream fos = new FileOutputStream(ofname);
+	    BufferedOutputStream bfos = new BufferedOutputStream(fos);
+
+	    byte[] buf = new byte[1024];
+	    int len;
+	    int total_bytes = 0;
+	    while ((len = fdbis.read(buf)) >= 0) {
+		bfos.write(buf,0,len);
+		total_bytes += len;
+	    }
+
+	    fdbis.close();
+	    bfos.close();
+	}
+	catch (Exception exception) {
+	    if (must_be_present) {
+		exception.printStackTrace();
+	    }
+	}
+    }
+
+
+    /** Method to retrieve an image icon with the given filename found in classpath or the resouces directory.
+     *  @return The specified <strong>ImageIcon</strong>, or an error image replacement if no such images exists.
+     */
+    static public ImageIcon getImage(String filename) {
+	return getImage(filename, false);
+    }
+
+    static public ImageIcon getImage(String filename, boolean wait_until_complete)
+    {
+	ImageIcon image = null;
+	try {
+	    image = new ImageIcon(root_class.getResource("/images/" + filename));
+	}
+	catch (NullPointerException exception) {
+	    System.err.println("Error: Could not load image " + filename);
+	    DebugStream.println("Error: Could not load image " + filename);
+	}
+
+	if (image == null) {
+	    image = ERROR_ICON;
+	}
+
+	if (wait_until_complete) {
+	    int load_status;
+	    do {
+		load_status = image.getImageLoadStatus();
+	    }
+	    while (load_status != MediaTracker.ABORTED && load_status != MediaTracker.ERRORED && load_status != MediaTracker.COMPLETE);
+	}
+
+	return image;
+    }
+
+
+    static public URL getResource(String resource_name)
+    {
+	return root_class.getResource(resource_name);
+    }
+
+
+    static public InputStream getResourceAsStream(String resource_name)
+    {
+	return root_class.getResourceAsStream(resource_name);
+    }
+
+
+    static public boolean isInJar(String filename) 
+    {
+	try {
+	    InputStream fis = root_class.getResourceAsStream("/" + filename);		    
+	    fis.close();
+	}
+	catch (Exception exception) {
+	    exception.printStackTrace();
+	    return false;
+	}
+
+	return true;
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/PatternTokenizer.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/PatternTokenizer.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/PatternTokenizer.java	(revision 21123)
@@ -0,0 +1,72 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.util;
+
+public class PatternTokenizer {
+    private int index;
+    private String content;
+    private String pattern;
+    public PatternTokenizer(String content, String pattern) {
+	this.content = content;
+	this.index = 0;
+	this.pattern = pattern;
+    }
+    public boolean hasMoreTokens() {
+	return (index != -1 && content.length() - index > 0);
+    }
+    public String nextToken() {
+	// Special case when index is zero
+	if(index == 0) {
+	    index = content.indexOf(pattern);
+	    // No occurance of pattern, return whole string
+	    if(index == -1) {
+		return content;
+	    }
+	    // Return the fragment from 0 to index
+	    else {
+		return content.substring(0, index);
+	    }
+	}
+	// Otherwise
+	else {
+	    // We must first skip the pattern, as it should be at the head of our current view into content
+	    index = index + pattern.length();
+	    int end_index = content.indexOf(pattern, index);
+	    String fragment;
+	    // No occurance of pattern, return fragment from index to length
+	    if(end_index == -1) {
+		fragment = content.substring(index);
+	    }
+	    // Return the fragment from index to end index, then set index to end index
+	    else {
+		fragment = content.substring(index, end_index);
+	    }
+	    index = end_index;
+	    return fragment;
+	}
+    }    
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/PortFinder.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/PortFinder.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/PortFinder.java	(revision 21123)
@@ -0,0 +1,136 @@
+package org.greenstone.gatherer.util;
+
+/** Verbatim copy of what's in GS3's org.greenstone.server */
+
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.net.BindException;
+
+// When needing to use sockets, this class can be used to find an available port
+public class PortFinder {
+
+    // Port numbers range from 0 to 65,535. RESERVED PORTS are below 1025
+    // see http://www.gnu.org/software/hello/manual/libc/Ports.html
+    public static final int MAX_PORT = 65535;
+    public static final int PORTS_RESERVED = 1024;
+
+    // Considering a limited range of ports that will be reused (circular buffer)
+    public final int PORT_BASE;
+    public final int PORT_BLOCK_SIZE;
+
+    // Keep track of what port numbers we have checked for availability
+    private int nextFreePort;
+
+    // The socket port number that we will use
+    private int port = -1;
+
+
+    public PortFinder() {
+	this( PORTS_RESERVED+1, (MAX_PORT - PORTS_RESERVED) );
+    }
+
+    public PortFinder(int base, int blocksize) {
+	PORT_BASE = base;
+	PORT_BLOCK_SIZE = blocksize;
+
+	nextFreePort = PORT_BASE;
+    }
+
+    /** Circular buffer. Modifies the value of nextFreePort (the buffer index). */
+    private void incrementNextFreePort() {
+	int offset = nextFreePort - PORT_BASE;
+	offset = (offset + 1) % PORT_BLOCK_SIZE;
+	nextFreePort = PORT_BASE + offset;
+    } 
+
+    /** Finds the first available port in the range specified during Constructor call.
+     *  @return the number of an available port.	
+     */
+    public int findPortInRange(boolean verbose) throws Exception {	
+	try {
+	    boolean foundFreePort = false;
+	    for(int i = 0; i < PORT_BLOCK_SIZE; i++) {
+		
+		if(isPortAvailable(nextFreePort, verbose)) {
+		    foundFreePort = true;
+		    break;
+		    
+		} else {
+		    incrementNextFreePort();
+		}
+	    }
+	    
+	    if(foundFreePort) {
+		// Free port number currently found becomes the port number of the socket
+		// that will be used
+		this.port = nextFreePort;
+		incrementNextFreePort();
+		
+	    } else {
+		throw new Exception("Cannot find an available port in the range " 
+				    + PORT_BASE + "-" + (PORT_BASE+PORT_BLOCK_SIZE));
+	    }
+	    
+	} catch(IOException e) {
+	    System.err.println("Error when trying to find an available port. In PortFinder.findPort() " + e);
+	}
+	return port;
+    }
+
+    /** @return true if the portnumber is in the valid range. */
+    public static boolean isValidPortNumber(int portNum) {
+	return (portNum >= 0 && portNum <= MAX_PORT);
+    }
+
+    /** @return true if the portnumber is in the useable range. */
+    public static boolean isAssignablePortNumber(int portNum) {
+	return (portNum > PORTS_RESERVED && portNum <= MAX_PORT);
+    }
+
+    /** Finds an available port.
+     * @return the number of an available port.
+     */
+    public static int findAnyFreePort() throws Exception {	
+	ServerSocket tmpSocket = null;
+	int portNumber = -1;
+	try {
+	    // Creates a server socket, bound to the specified port.
+	    // A port of 0 creates a socket on any free port. 
+	    tmpSocket = new ServerSocket(0);
+	    portNumber = tmpSocket.getLocalPort();
+	    tmpSocket.close();
+	} catch(Exception e) {
+	    System.err.println("Unable to find a free port or close it. Got Exception: " + e);
+	    tmpSocket = null;
+	}
+	return portNumber;
+    }
+
+    /** @return true if the portnum is available for use */
+    public static boolean isPortAvailable(int portnum, boolean verbose) {
+	ServerSocket tmpSocket = null;
+	try {
+	    tmpSocket = new ServerSocket(portnum);
+	    tmpSocket.close();
+	    //if(verbose) {
+	    //System.err.println("Port " + portnum + " not yet in use.");
+	    //}
+	    return true;
+	    
+	} catch(BindException ex){
+	    // "Signals that an error occurred while attempting to bind a 
+	    // socket to a local address and port. Typically, the port is 
+	    // in use, or the requested local address could not be assigned."
+	    if(verbose) {
+		System.err.println("Port " + portnum + " already in use or can't be assigned.");
+	    }
+	    tmpSocket = null;
+	    return false;	    
+	} catch(Exception ex) { 
+	    // Some other problem creating or closing the server socket
+	    System.err.println("Problem creating or closing server socket at port " + portnum);
+	    tmpSocket = null;
+	    return false;
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/RemoveContentBeforeRootElementXMLReader.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/RemoveContentBeforeRootElementXMLReader.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/RemoveContentBeforeRootElementXMLReader.java	(revision 21123)
@@ -0,0 +1,186 @@
+package org.greenstone.gatherer.util;
+
+import java.io.Reader;
+import java.io.IOException;
+
+import java.io.File;
+import java.io.FileReader;
+
+import java.util.regex.Pattern;
+
+public class RemoveContentBeforeRootElementXMLReader extends Reader {
+
+  static final Pattern[] xmlIndicators;
+  static Pattern commentStart;
+  static Pattern commentStop;
+
+  static {
+    // generate the xml starting sequences we will try to match against
+    xmlIndicators = new Pattern[3];
+    try{
+      xmlIndicators[0] = Pattern.compile("<\\?xml"); //usual xml declaration
+      xmlIndicators[1] = Pattern.compile("<!DOCTYPE"); //doctype declaration
+      xmlIndicators[2] = Pattern.compile("<[a-zA-Z-]+[ >/]"); // the beginning of a root node
+
+      commentStart = Pattern.compile("<!--");
+      commentStop = Pattern.compile("-->");
+
+    } catch ( java.util.regex.PatternSyntaxException pse ) {
+        System.err.println( "Pattern no good. " + pse );
+        xmlIndicators[0] = xmlIndicators[1] = xmlIndicators[2] = null;
+        commentStart = commentStop = null;
+    }
+  }
+
+  Reader ur;
+
+  String finalBuffer = null;
+  int finalBufferIndex = 0;
+
+  public RemoveContentBeforeRootElementXMLReader( Reader ur ) {
+
+    this.ur = ur;
+
+    int found = -1;
+    boolean inComment = false;
+    StringBuffer buffer = null;
+
+    for ( int c = 0;  c != -1 && found == -1; ) {
+
+      //read a character
+      try {
+        c = ur.read();
+      } catch( Exception e ) {
+        System.err.println( "Exception while reading underlying Reader in RemoveContentBeforeRootElementXMLReader" );
+      }
+
+      //break out if we have reached the end of the input
+      if ( c == -1 ) {
+        break;
+      }
+
+      //we start buffering when we come across the first <
+      //regardless of whether it turns out to be a relevant < or not
+      if ( buffer == null && (char)c == '<' )  {
+        buffer = new StringBuffer();
+      }
+
+      //if not buffering, just display the character and move onto next character
+      if ( buffer == null ) {
+         System.err.print( (char)c );
+        continue;
+      }
+
+      buffer.append( (char)c );
+
+      //check for comment open or close
+      if ( !inComment ) {
+        if ( commentStart.matcher(buffer.toString()).find() ) {
+          inComment = true;
+          System.err.print( buffer.toString() );
+          buffer = new StringBuffer();
+        }
+      } else {
+        if ( commentStop.matcher(buffer.toString()).find() ) {
+          inComment = false;
+          System.err.print( buffer.toString() );
+          buffer = new StringBuffer();
+
+          //skip to reading next character
+          continue;
+        }
+      }
+
+      if ( !inComment ) {
+
+        //check each indicator to see if found
+        for ( int i = 0; i < xmlIndicators.length && found == -1; i++ ) {
+          if ( xmlIndicators[i].matcher(buffer.toString()).find() ) {
+            found = i;
+            String line = buffer.toString();
+            int lastIndex = line.lastIndexOf('<');
+            //flush the previous characters in the buffer to the console
+            System.err.print(line.substring(0, lastIndex));
+            buffer.delete(0, lastIndex);
+            finalBuffer = buffer.toString();
+          }
+        }
+
+      }
+    }
+
+    if ( found == -1 ) {
+      System.err.println( "RemoveContentBeforeRootElementXMLReader:\n" +
+        "The XML being loaded was not valid: couldn't find start of XML input" );
+    }
+  
+  }
+
+  public int read( char[] cbuf, int off, int len ) throws IOException {
+
+    for ( int i=off; i<off+len && i<cbuf.length; i++ ) {
+
+      //read from underlying reader
+      int c = read();
+
+      //catch end of stream
+      if ( c == -1 ) {
+        if ( i == off ) {
+          return -1;
+        }
+        return i - off;
+      }
+
+      //insert character into the array
+      cbuf[i] = (char)c;
+    }
+    return len;
+
+  }
+
+  public int read() throws IOException {
+
+    //flush the buffer containing the opening XML sequence
+    if ( finalBuffer != null && finalBuffer.length() > finalBufferIndex ) {
+      char c = finalBuffer.charAt(finalBufferIndex++);
+      if ( finalBufferIndex == finalBuffer.length() ) {
+        finalBuffer = null;
+      }
+      return c;
+    }
+
+    return ur.read();
+  }
+
+  public void close() throws IOException {
+    ur.close();
+  }
+
+  public static void main ( String[] args ) {
+
+    //init
+    System.out.println( "------------\nWill now initialise the test reader\n------------" );
+    RemoveContentBeforeRootElementXMLReader parser = null;
+    try {
+      parser = new RemoveContentBeforeRootElementXMLReader( 
+        new FileReader( new File("text.xml") ) );
+    } catch ( java.io.FileNotFoundException fnfe ) {
+      System.err.println( "Please create text.xml to test this class" );
+      System.exit(-1);
+    }
+
+    //read the rest of the input
+    System.out.println( "------------\nWill now read the rest of the input\n------------" );
+    try {
+      int c = 0;
+      while ( ( c = parser.read() ) != -1 ) {
+        System.out.print( (char)c );
+      }
+    } catch ( Exception e ) {
+      System.err.println("Exception: " + e);
+    }
+    
+  }
+
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/StaticStrings.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/StaticStrings.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/StaticStrings.java	(revision 21123)
@@ -0,0 +1,277 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.util;
+
+
+/** Were you to guess that this is a class object choc-a-block full of static stringy goodness, you'd be right. They come in several flavours: Those ending _STR are strings you might find as values in XML, _ELEMENT are element names, _ATTRIBUTE are attribute names, _CHAR are particular characters while _CHARACTER are also characters but expressed as strings (for regex purposes ie startsWith, endsWith, indexOf and replaceAll); _PATTERN are strings which require extra escaping to put them through regex. Finally anything else is just a static string used within GLI. */
+public class StaticStrings {
+    static final public char CLOSEBRACKET_CHAR = ']';
+    static final public char DOUBLEQUOTE_CHAR = '\"';
+    static final public char BACKSLASH_CHAR = '\\';
+    static final public char FORWARDSLASH_CHAR = '/';
+    static final public char NEW_LINE_CHAR = '\n';
+    static final public char NS_SEP = '.';
+    static final public char OPENBRACKET_CHAR = '[';
+    static final public char SINGLEQUOTE_CHAR = '\'';
+    static final public char SPACE_CHAR = ' ';
+    static final public char STAR_CHAR = '*';
+    static final public String ACCENTFOLD_OPTION_STR = "accentfold";
+    static final public String ALLFIELDS_STR = "allfields";
+    static final public String ARCPLUG_STR = "ArchivesInfPlugin";
+    static final public String ASSIGNED_ATTRIBUTE = "assigned";
+    static final public String ASSOCIATIONS_ELEMENT = "Associations";
+    static final public String ATTRIBUTE_ELEMENT = "Attribute";
+    static final public String BROWSE_STR = "browse";
+    static final public String BUILDTYPE_ELEMENT = "BuildType";
+    static final public String BUILDTYPE_STR = "buildtype";
+    static final public String CASEFOLD_OPTION_STR = "casefold";
+    static final public String CCS_STR = "ccs";
+    static final public String CLASSIFIER_STR = "classifier";
+    static final public String CLASSIFY_ELEMENT = "Classify";
+    static final public String CLASSIFY_STR = "classify";
+    static final public String CLOSE_PARENTHESIS_CHARACTER = ")";
+    static final public String CODE_ATTRIBUTE = "code";
+    static final public String COLNAME_PATTERN = "<col_name>";
+    static final public String COLLECT_CFG = "collect.cfg";
+    static final public String COLLECTION_CFG_XML = "collectionConfig.xml";
+    static final public String COLLECTDIR_ARGUMENT = "-collectdir";
+    static final public String COLLECTION_ELEMENT = "Collection";
+    static final public String COLLECTION_STR = "Collection: ";
+    static final public String COLLECTIONMETADATA_COLLECTIONNAME_STR = "collectionname";
+    static final public String COLLECTIONMETADATA_COLLECTIONEXTRA_STR = "collectionextra";
+    static final public String COLLECTIONMETADATA_CREATOR_ELEMENT = "Creator";
+    static final public String COLLECTIONMETADATA_CREATOR_STR = "creator";
+    static final public String COLLECTIONMETADATA_ELEMENT = "CollectionMetadata";
+    static final public String COLLECTIONMETADATA_ICONCOLLECTION_STR = "iconcollection";
+    static final public String COLLECTIONMETADATA_ICONCOLLECTIONSMALL_STR = "iconcollectionsmall";
+    static final public String COLLECTIONMETADATA_MAINTAINER_ELEMENT = "Maintainer";
+    static final public String COLLECTIONMETADATA_MAINTAINER_STR = "maintainer";
+    static final public String COLLECTIONMETADATA_PUBLIC_ELEMENT = "Public";
+    static final public String COLLECTIONMETADATA_PUBLIC_STR = "public";
+    static final public String COLLECTIONMETADATA_COLLECTGROUP_STR = "collectgroup";
+    static final public String COLLECTIONMETADATA_STR = "collectionmeta";
+    static final public String COLON_CHARACTER = ":";
+    static final public String COMMA_CHARACTER = ",";
+    static final public String COMMENTED_INDEXES_STR = "#indexes";
+    static final public String COMMENTED_INDEX_DEFAULT_STR = "#defaultindex";
+    static final public String COMMENTED_LEVELS_STR = "#levels";
+    static final public String COMMENTED_LEVEL_DEFAULT_STR = "#defaultlevel";
+    static final public String COMMENTED_INDEXOPTIONS_STR = "#indexoptions";
+    static final public String CONTENT_ATTRIBUTE = "content";
+    static final public String CONTENT_ELEMENT = "content";
+    static final public String DATELIST_CLASSIFIER = "DateList";
+    static final public String DEBUG_ARGUMENT = "-debug";
+    static final public String DESCRIPTION_ELEMENT = "Description";
+    static final public String DESCRIPTION_STR = "description";
+    static final public String DIRECTORY_MAPPINGS_ELEMENT = "DirectoryMappings";
+    static final public String DISABLEOAI_STR = "disable_OAI";
+    static final public String DISPLAYITEMLIST_STR = "displayItemList";
+    static final public String DISPLAY_STR = "display";
+    static final public String DISPLAYITEM_STR = "displayItem";
+    static final public String DOCUMENT_STR = "document";
+    static final public String DOT_CHARACTER = ".";
+    static final public String EMPTY_STR = "";
+    static final public String ENGLISH_LANGUAGE_STR = "en";
+    static final public String ENTRY_ELEMENT = "Entry";
+    static final public String ENUM_STR = "enum";
+    static final public String ENUM_STRING_STR = "enumstring";
+    static final public String EQUALS_CHARACTER = "=";
+    static final public String EXCLAMATION_CHARACTER = "!";
+    static final public String EXCLUDE_STR = "exclude";
+    static final public String EXTENSION_ATTRIBUTE = "extension";
+    static final public String EXTRACTED_NAMESPACE = "ex.";
+    static final public String FALSE_STR = "false";
+    static final public String FEEDBACK_ARGUMENT = "-feedback";
+    static final public String FILE_ATTRIBUTE = "file";
+    static final public String FILENAME_STR = "Filename";
+    static final public String FILTER_ATTRIBUTE = "filter";
+    static final public String FLAG_STR = "flag";
+    static final public String FORMAT_ELEMENT = "Format";
+    static final public String FORMAT_STR = "format";
+    static final public String FORMAT_START_TAG = "<format>";
+    static final public String FORMAT_END_TAG = "</format>";
+    static final public String FURTHER_DIALOG_INDICATOR = "...";
+    static final public String FEDORA_MODE= "-fedora";
+    static final public String FEDORA_HOME = "-fedora_home";
+    static final public String FEDORA_VERSION = "-fedora_version";
+    static final public String FEDORA_HOSTNAME = "-fedora_hostname";
+    static final public String FEDORA_PORT     = "-fedora_port";
+    static final public String FEDORA_USERNAME = "-fedora_username";
+    static final public String FEDORA_PASSWORD = "-fedora_password";
+    static final public String FEDORA_PROTOCOL = "-fedora_protocol";
+    static final public String GLI_ATTRIBUTE = "gli";
+    static final public String GLISERVER_URL_ARGUMENT = "-gliserver_url";
+    static final public String GREATER_THAN_CHARACTER = ">";
+    static final public String GSDL_ARGUMENT = "-gsdl";
+    static final public String GSDL3_ARGUMENT = "-gsdl3";
+    static final public String GSDL3_SRC_ARGUMENT = "-gsdl3src";
+    static final public String GSDLOS_ARGUMENT = "-gsdlos";
+    static final public String HFILE_ARGUMENT = "-hfile";
+    static final public String HIERARCHY_CLASSIFIER = "Hierarchy";
+    static final public String HIERARCHY_STR = "hierarchy";
+    static final public String HELP_ARGUMENT = "-help";
+    static final public String HTM_FILE_EXTENSION = ".htm";
+    static final public String ICON_STR = "icon";
+    static final public String ID_STR = "id";
+    static final public String IMAGES_PATH_RELATIVE_TO_GSDL_PREFIX = "_httpprefix_/collect/<col_name>/images/";
+    static final public String INCLUDE_STR = "include";
+    static final public String INDEX_ELEMENT = "Index";
+    static final public String INDEX_LOW_STR = "index";
+    static final public String INDEX_DEFAULT_ELEMENT = "DefaultIndex";
+    static final public String INDEX_DEFAULT_ELEMENT_LOWERCASE = "defaultIndex";
+    static final public String INDEX_DEFAULT_STR = "defaultindex";
+    static final public String INDEX_STR = "indexes";
+    static final public String INDEXES_ELEMENT = "Indexes";
+    static final public String INDEXOPTION_ELEMENT = "Option";
+    static final public String INDEXOPTIONS_ELEMENT = "IndexOption";
+    static final public String INDEXOPTION_STR = "indexOption";
+    static final public String INDEXOPTIONS_STR = "indexoptions";
+    static final public String INDEXOPTION_DEFAULT_ELEMENT = "DefaultIndexOption";
+    static final public String INT_STR = "int";
+    static final public String IMPORT_STR = "import";
+    static final public String[] KEEP_PLUG = { "GreenstoneXMLPlugin", "GreenstoneMETSPlugin" };
+    static final public String LANGUAGE_ARGUMENT = "l=";
+    static final public String LANGUAGE_ATTRIBUTE = "language";
+    static final public String LANGUAGE_ELEMENT = "Language";
+    static final public String LANGUAGE_DEFAULT_ELEMENT = "DefaultLanguage";
+    static final public String LANGUAGE_DEFAULT_INDEX_ELEMENT = "defaultIndexLanguage";
+    static final public String LANGUAGE_DEFAULT_STR = "defaultlanguage";
+    static final public String LANGUAGE_INDEX_ELEMENT = "indexLanguage";
+    static final public String LANGUAGE_METADATA_ELEMENT = "LanguageMetadata";
+    static final public String LANGUAGE_METADATA_ELEMENT_STR = "languageMetadata";
+    static final public String LANGUAGE_METADATA_STR = "languagemetadata";
+    static final public String LANG_STR = "lang";
+    static final public String LANG_ATTRIBUTE = "lang";
+    static final public String LANGUAGE_STR = "language";
+    static final public String LANGUAGES_ELEMENT = "Languages";
+    static final public String LANGUAGES_STR = "languages";
+    static final public String LBRACKET_CHARACTER = "[";
+    static final public String LESS_THAN_CHARACTER = "<";
+    static final public String LEVEL_ATTRIBUTE = "level";
+    static final public String LEVEL_ELEMENT = "level";
+    static final public String LEVEL_DEFAULT_ELEMENT = "defaultLevel";
+    static final public String LEVEL_DEFAULT_STR = "defaultlevel";
+    static final public String LEVELS_STR = "levels";
+    static final public String LIBRARY_URL_ARGUMENT = "-library_url";
+    static final public String LOCAL_LIBRARY_ARGUMENT = "-local_library";
+    static final public String LOAD_ARGUMENT = "-load";
+    static final public String MAC_OPEN_COMMAND = "open %1";
+    static final public String MAPPING_ELEMENT = "Mapping";
+    static final public String MDS_ATTRIBUTE = "mds";
+    static final public String METADATA_ARGUMENT = "-metadata";
+    static final public String METADATA_ELEMENT = "Metadata";
+    static final public String METADATA_SET_EXTENSION = ".mds";
+    static final public String METADATA_STR = "metadata";
+    static final public String METADATALIST_STR = "metadataList";
+    static final public String METADATALIST_ELEMENT = "MetadataList";
+    static final public String METADATA_TYPE_STR = "metadata";
+    static final public String METADATA_XML = "metadata.xml";
+    static final public String METADATAXMLPLUG_STR = "MetadataXMLPlugin";
+    static final public String MGPP_ATTRIBUTE = "mgpp_enabled";
+    static final public String MINUS_CHARACTER = "-";
+    static final public String MODE_STR = "Mode: ";
+    static final public String MODEL_COLLECTION_NAME = "modelcol";
+    static final public String NAME_ATTRIBUTE = "name";
+    static final public String NAME_STR = "name";
+    static final public String NAME_ELEMENT = "Name";
+    static final public String NEWLINE_CHARACTER = "\\";
+    static final public String NO_LOAD_ARGUMENT = "-no_load";
+    static final public String OAI_ELEMENT = "OAI";
+    static final public String ONE_CHARACTER = "1";
+    static final public String OPEN_PARENTHESIS_CHARACTER = "(";
+    static final public String OPTION_ELEMENT = "Option";
+    static final public String OPTION_STR = "option";
+
+    static final public String OPTIONS_ATTRIBUTE = "options";
+    static final public String PARAGRAPH_STR = "paragraph";
+    static final public String PERL_ARGUMENT = "-perl";
+    static final public String PHIND_CLASSIFIER = "Phind";
+    static final public String PLUGIN_ELEMENT = "Plugin";
+    static final public String PLUGIN_STR = "plugin";
+    static final public String PLUGINLIST_STR = "pluginList";
+    static final public String PREDEFINED_METADATA_ATTRIBUTE = "predefined";          
+    static final public String RBRACKET_CHARACTER = "]";
+    static final public String RECPLUG_STR = "DirectoryPlugin";
+    static final public String REGEXP_STR = "regexp";
+    static final public String REPLACELISTREF_STR = "replaceListRef";
+    static final public String RESTRICTED_METADATA_ATTRIBUTE = "restricted";
+    static final public String SEARCHTYPE_ELEMENT = "searchType";
+    static final public String SEARCHTYPE_STR = "searchtype";
+    static final public String SEARCH_STR = "search";
+    static final public String SECTION_ELEMENT = "Section";
+    static final public String SECTION_STR = "section";
+    static final public String SEPARATE_CJK_OPTION_STR = "separate_cjk";
+    static final public String SEPARATOR_ATTRIBUTE = "separator";
+    static final public String SEPARATOR_CHARACTER = "/";
+    static final public String SERVLET_ARGUMENT ="-servlet";
+    static final public String SINGLE_QUOTE_CHARACTER = "'";
+    static final public String SITE_ARGUMENT = "-site";
+    static final public String SMALLICON_STR = "smallicon";
+    static final public String SPACE_CHARACTER = " ";
+    static final public String SPECIAL_ATTRIBUTE = "special";
+    static final public String SPEECH_CHARACTER = "\"";
+    static final public String STEM_OPTION_STR = "stem";
+    static final public String STOP_CHARACTER = ".";
+    static final public String SUBCOLLECTION_ELEMENT = "Subcollection";
+    static final public String SUBCOLLECTION_STR = "subcollection";
+    static final public String SUBCOLLECTION_DEFAULT_INDEX_ELEMENT = "DefaultSubcollection";
+    static final public String SUBCOLLECTION_DEFAULT_INDEX_STR = "defaultsubcollection";
+    static final public String SUBCOLLECTION_INDEX_STR = "indexsubcollections";
+    static final public String SUBCOLLECTION_INDEX_ELEMENT = "indexSubcollection";
+    static final public String SUBCOLLECTION_INDEXES_ELEMENT = "SubcollectionIndexes";
+    static final public String SUPERCOLLECTION_ELEMENT = "Supercollection";
+    static final public String SUPERCOLLECTION_STR = "supercollection";
+    static final public String TAB_CHARACTER = "\t";
+    static final public String TEXT_NODE = "#text";
+    static final public String TEXT_STR = "text";
+    static final public String TIMESTAMP_ARGUMENT = "&uq=";
+    static final public String TITLE_ELEMENT = "Title";
+    static final public String SOURCE_ELEMENT = "Source";
+    static final public String TRUE_STR = "true";
+    static final public String TYPE_ATTRIBUTE = "type";
+    static final public String UNKNOWN_ELEMENT = "Unknown";
+    static final public String UNKNOWNPLUG_STR = "UnknownPlugin";
+    static final public String USE_METADATA_FILES_ARGUMENT = "use_metadata_files";
+    static final public String USE_REMOTE_GREENSTONE_ARGUMENT = "-use_remote_greenstone";
+    static final public String URL_SEPARATOR_CHARACTER = "/";
+    static final public String VALUE_ATTRIBUTE = "value";
+    static final public String VERSION_ATTRIBUTE = "version";
+    static final public String WIN_9X_OPEN_COMMAND = "command.com /c start \"%1\"";
+    static final public String WIN_OPEN_COMMAND = "cmd.exe /c start \"\" \"%1\"";
+    static final public String YES_STR = "yes";
+    static final public String ZERO_CHARACTER = "0";
+    static final public String METADATA_PATH                              = "-metadata_path";
+    static final public String NEW_METADATASET                            = "-new_set";
+    static final public String CACHE_FOLDER                               = "cache";
+    static final public String CUSTOM_ATTRIBUTE                           = "custom";
+    static final public String MG_STR                           = "mg";
+    static final public String MGPP_STR                           = "mgpp";
+    static final public String LUCENE_STR                           = "lucene";
+    
+    static final public String CLASSIFIER_DEFAULT_FORMAT = "<gsf:template match='documentNode'><td valign='top'><gsf:link type='document'><gsf:icon type='document'/></gsf:link></td> <td valign='top'><gsf:metadata name='srclink' /><gsf:choose-metadata><gsf:metadata name='thumbicon' /><gsf:metadata name='srcicon' /></gsf:choose-metadata><gsf:metadata name='/srclink' /></td> <td valign='top'> <gsf:choose-metadata><gsf:metadata name='dc.Title' /><gsf:metadata name='exp.Title' /><gsf:metadata name='Title' /><gsf:default>Untitled</gsf:default></gsf:choose-metadata> <gsf:switch><gsf:metadata name='Source' /><gsf:when test='exists' ><br /><i>(<gsf:metadata name='Source' />)</i></gsf:when></gsf:switch></td></gsf:template><gsf:template match='classifierNode'><td valign='top'><gsf:link type='classifier'><gsf:icon type='classifier'/></gsf:link></td> <td valign='top'><gsf:metadata name='srclink' /><gsf:choose-metadata><gsf:metadata name='thumbicon' /><gsf:metadata name='srcicon' /></gsf:choose-metadata><gsf:metadata name='/srclink' /></td> <td valign='top'> <gsf:choose-metadata><gsf:metadata name='dc.Title' /><gsf:metadata name='exp.Title' /><gsf:metadata name='Title' /><gsf:default>Untitled</gsf:default></gsf:choose-metadata> <gsf:switch><gsf:metadata name='Source' /><gsf:when test='exists' ><br /><i>(<gsf:metadata name='Source' />)</i></gsf:when></gsf:switch></td></gsf:template><gsf:template match='classifierNode' mode='horizontal'><gsf:link type='horizontal'><gsf:metadata name='Title' /></gsf:link></gsf:template>";
+
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/SynchronizedTreeModelTools.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/SynchronizedTreeModelTools.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/SynchronizedTreeModelTools.java	(revision 21123)
@@ -0,0 +1,123 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+package org.greenstone.gatherer.util;
+
+import java.lang.Runnable;
+import javax.swing.SwingUtilities;
+import javax.swing.tree.*;
+import org.greenstone.gatherer.DebugStream;
+
+/** Due to the TreeModel objects not having any synchronization, certain assumptions, such as the model state remaining constant during a repaint, don't always hold - especially given that I'm changing the tree model on a different thread. In order to get around this I will use the latest swing paradigm wherein you flag a section of code to be executed by the AWT GUI Event queue, as soon as other gui tasks have finished. This way I shouldn't have tree redraws throwing NPEs because the array size of the children of a certain node has changed -while- the repaint call was made, i.e. repaint() calls getChildCount() = 13, removeNodeFromParent() called, repaint calls getChildAt(12) = ArrayIndexOutOfBoundsException. 
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3c
+ */
+public class SynchronizedTreeModelTools {
+    /** Adds an insertNodeInto model update onto the AWT Event queue. This gets around the lack of synchronization illustrated above. */
+    static final public Runnable insertNodeInto(DefaultTreeModel model, MutableTreeNode parent, MutableTreeNode target_node) {
+	return insertNodeInto(model, parent, target_node, true);
+    }
+
+    static final public Runnable insertNodeInto(final DefaultTreeModel model, final MutableTreeNode parent, final MutableTreeNode target_node, final boolean wait_allowed) {
+	final Runnable doInsertNodeInto = new Runnable() {
+		public void run() {
+		    ///ystem.err.print("Running task... ");
+		    DebugStream.println("insertNodeInto(" + model + ", " + parent + ", " + target_node + ", " + wait_allowed);
+		    int index = -1;
+		    int pos = 0;
+		    while(index == -1 && pos < parent.getChildCount()) {
+			TreeNode node = parent.getChildAt(pos);
+			int result = 0;
+			///ystem.err.println("Compare " + target_node + " to " + node);
+			if((target_node.isLeaf() && node.isLeaf()) || (!target_node.isLeaf() && !node.isLeaf())) {
+			    result = target_node.toString().toLowerCase().compareTo(node.toString().toLowerCase());
+			}
+			else if(target_node.isLeaf()) {
+			    result = 1;
+			}
+			else {
+			    result = -1;
+			}
+			if(result > 0) {
+			    ///ystem.err.println("Keep searching...");
+			    pos++;
+			}
+			else {
+			    ///ystem.err.println("Found!");
+			    index = pos;
+			}
+		    }
+		    if(index == -1) {
+			index = parent.getChildCount();
+		    }
+		    model.insertNodeInto(target_node, parent, index);
+		}
+	    };
+	///ystem.err.print("Queuing Task... ");
+	try {
+	    if(wait_allowed && !SwingUtilities.isEventDispatchThread()) {
+		///ystem.err.print("In another thread - invoke and wait... ");
+		SwingUtilities.invokeAndWait(doInsertNodeInto);
+	    }
+	    else {
+		///ystem.err.print("In Event Thread or wait not allowed - invoke later... ");
+		SwingUtilities.invokeLater(doInsertNodeInto);
+	    }
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+	///ystem.err.print("Added Task... ");
+	return doInsertNodeInto;
+    }
+
+
+    /** Adds a removeNodeFromParent model update onto the AWT Event queue. This gets around the lack of synchronization illustrated above.
+     * @param model The <strong>GTreeModel</strong> we want to remove the node from.
+     * @param target_node The <strong>GTreeNode</strong> to remove.
+     */
+    static final public void removeNodeFromParent(final DefaultTreeModel model, final MutableTreeNode target_node) {
+	///ystem.err.println("Remove " + target_node + " from parent in model " + model);
+	final Runnable doRemoveNodeFromParent = new Runnable() {
+		public void run() {
+		    model.removeNodeFromParent(target_node);
+		}
+	    };
+	try {
+	    //SwingUtilities.invokeLater(doRemoveNodeFromParent);
+	    SwingUtilities.invokeAndWait(doRemoveNodeFromParent);
+	}
+	catch (Exception exception) {
+	    DebugStream.printStackTrace(exception);
+	}
+	// If we've thrown an error because we tried to invoke the runnable task and wait, when we are in the AWTEvent thread already, then try agin but with an invoke later.
+	catch (java.lang.Error error) {
+	    if(error.toString().equals("java.lang.Error: Cannot call invokeAndWait from the event dispatcher thread")) {
+		SwingUtilities.invokeLater(doRemoveNodeFromParent);
+	    }
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/TableUtils.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/TableUtils.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/TableUtils.java	(revision 21123)
@@ -0,0 +1,92 @@
+package org.greenstone.gatherer.util;
+
+import java.awt.*;
+import javax.swing.*;
+import javax.swing.table.*;
+
+/**
+ * Utilites for manipulating JTables.
+ *
+ * @author Marc Hedlund
+ *   <a href="mailto:marc@precipice.org">&lt;marc@precipice.org&gt;</a>
+ * @version $Revision$
+ */
+
+public class TableUtils  {
+
+  // This is based on code found at
+  // <http://java.sun.com/docs/books/tutorial/ui/swingComponents/table.html>,
+  // somewhat modified.
+
+//    public static void setPreferredCellSizes(JTable table) {
+//      TableModel model = table.getModel();
+//      TableColumnModel colModel = table.getColumnModel();
+
+//      for (int i = 0; i < model.getColumnCount(); i++) {
+//        TableColumn column = colModel.getColumn(i);
+
+//        int longestCell = 0;
+//        int highestCell = 0;
+
+//        for (int j = 0; j < model.getRowCount(); j++) {
+//          Object value = model.getValueAt(j, i);
+//          if (value == null) continue;
+
+//          Component cell =
+//            table.getDefaultRenderer(model.getColumnClass(i)).
+//            getTableCellRendererComponent(table, value,
+//                                          false, false, j, i);
+
+//          int width = cell.getPreferredSize().width;
+//          int height = cell.getPreferredSize().height;
+
+//          if (width > longestCell) longestCell = width;         
+//          if (height > highestCell) highestCell = height;
+//        }
+
+//        Component headerComp = column.getHeaderRenderer().
+//          getTableCellRendererComponent(table, column.getHeaderValue(),
+//                                        false, false, 0, 0);
+
+//        int headerWidth = headerComp.getPreferredSize().width;
+//        int headerHeight = headerComp.getPreferredSize().height;
+
+//        column.setPreferredWidth(Math.max(headerWidth, longestCell));
+
+//        int currentHeight = table.getRowHeight();
+//        int preferredHeight = Math.max(headerHeight, highestCell);
+
+//        table.setRowHeight(Math.max(currentHeight, preferredHeight));
+//      }
+//    }                                                                   
+
+  /**
+   * Takes a column in an existing table and makes it fixed-width.
+   * Specifically, it sets the column's minimum and maximum widths to
+   * its preferred width, and disables auto-resize for the table as a
+   * whole.
+   *
+   * <p>
+   *
+   * Later on this should take a column array for efficiency.
+   *
+   * @param table JTable The table to modify
+   * @param colIndex int Which column to fix
+   * @return int The width of the column as it was fixed
+   */
+
+  public static int fixColumnToPreferredWidth(JTable table, int colIndex) {
+    table.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN);
+
+    TableColumnModel tcm = table.getColumnModel();
+    TableColumn col = tcm.getColumn(colIndex);
+    int width = col.getPreferredWidth();
+
+    col.setMaxWidth(width);
+    col.setMinWidth(width);    
+
+    //table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+
+    return width;
+  }
+}  
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/UnzipTools.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/UnzipTools.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/UnzipTools.java	(revision 21123)
@@ -0,0 +1,98 @@
+/**
+ *############################################################################
+ * A component of the Greenstone Librarian Interface, part of the Greenstone
+ * digital library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * Author: David Bainbridge, NZDL Project, University of Waikato, NZ
+ *
+ * Copyright (C) 2005 New Zealand Digital Library Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *############################################################################
+ */
+
+package org.greenstone.gatherer.util;
+
+
+import java.io.*;
+import java.util.*;
+import java.util.zip.*;
+
+
+public class UnzipTools
+{
+    static public void unzipFile(String zip_file_path, String base_directory_path)
+    {
+	try {
+	    ZipFile zip_file = new ZipFile(new File(zip_file_path), ZipFile.OPEN_READ);
+	    
+	    Enumeration e = zip_file.entries(); 
+	    while (e.hasMoreElements()) {
+		ZipEntry zip_entry = (ZipEntry) e.nextElement();
+		File zip_entry_file = new File(base_directory_path + zip_entry.getName());
+		// System.err.println("    Unzipping: " + zip_entry_file.getAbsolutePath());
+
+		// Directory case
+		if (zip_entry.isDirectory()) {
+		    // Create named directory, if it doesn't already exist
+		    if (!zip_entry_file.exists() && !zip_entry_file.mkdirs()) {
+			System.err.println("Error: unable to create directory " + zip_entry_file);
+		    }
+		}
+
+		// File case
+		else {
+		    // Write out file to disk
+
+		    // Make sure its parent directory exists.
+		    File dir = new File(zip_entry_file.getParent());
+		    dir.mkdirs();
+
+		    // Don't need to unzip files called empty which were created during the zipping process
+		    // in order to be able to generate empty directories in a zip (see remote.ZipTools)
+		    if(!zip_entry_file.getName().equals("empty")) {
+			// Set up input stream
+			InputStream zis = zip_file.getInputStream(zip_entry); 
+			BufferedInputStream bzis = new BufferedInputStream(zis); 
+			DataInputStream dbzis = new DataInputStream(bzis);
+			
+			// Set up output stream
+			FileOutputStream fzos = new FileOutputStream(zip_entry_file);
+			BufferedOutputStream bfzos = new BufferedOutputStream(fzos);
+			
+			byte[] buf = new byte[1024];
+			int len;
+			while ((len = dbzis.read(buf)) >= 0) {
+			    bfzos.write(buf,0,len);
+			}
+			
+			dbzis.close();
+			bzis.close();
+			zis.close();
+			
+			bfzos.close();
+			fzos.close();
+		    }
+		}
+	    }
+
+	    zip_file.close();
+	} 
+	catch (Exception exception) {
+	    exception.printStackTrace();
+	}
+    }
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/Utility.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/Utility.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/Utility.java	(revision 21123)
@@ -0,0 +1,462 @@
+/**
+ *#########################################################################
+ *
+ * A component of the Gatherer application, part of the Greenstone digital
+ * library suite from the New Zealand Digital Library Project at the
+ * University of Waikato, New Zealand.
+ *
+ * <BR><BR>
+ *
+ * Author: John Thompson, Greenstone Digital Library, University of Waikato
+ *
+ * <BR><BR>
+ *
+ * Copyright (C) 1999 New Zealand Digital Library Project
+ *
+ * <BR><BR>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * <BR><BR>
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * <BR><BR>
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *########################################################################
+ */
+
+package org.greenstone.gatherer.util;
+
+
+// Don't even think about adding import java.awt.* here!
+// The functions in this class should not use any graphical classes. Put your function somewhere else buster!
+import java.io.*;
+import java.net.*;
+import java.util.*;
+// Don't even think about adding import javax.swing.* here!
+// The functions in this class should not use any graphical classes. Put your function somewhere else buster!
+import org.greenstone.gatherer.Dictionary;
+// Don't even think about adding import org.greenstone.gatherer.Gatherer in here!
+// The functions in this class should be independent of the Gatherer class. Put your function somewhere else buster!
+
+
+/** To provide a library of common methods, in a static context, for use in the Gatherer.
+ * @author John Thompson, Greenstone Digital Library, University of Waikato
+ * @version 2.3b
+ */
+public class Utility
+{
+    /** Definition of an important directory name, in this case the file the collection configuration is expect to be in. */
+    static final public String CONFIG_FILE = "etc" + File.separator + "collect.cfg";
+    static final public String CONFIG_GS3_FILE = "etc" + File.separator + "collectionConfig.xml";
+    static final public String COLLECT_CFG = "collect.cfg";
+    static final public String COLLECT_BAK = "collect.bak";
+    static final public String COLLECTION_CONFIG_XML = "collectionConfig.xml";
+    static final public String COLLECTION_CONFIG_BAK = "collectionConfig.bak";
+    static final public String GS3MODE_ARGUMENT = "-gs3mode";
+    static final public String BUILD_CFG = "build.cfg";
+    static final public String BUILD_CONFIG_XML = "buildConfig.xml";
+
+    /** The default name of the perl executable under unix. */
+    static final public String PERL_EXECUTABLE_UNIX = "perl";
+    /** The default name of the perl executable under windows. */
+    static final public String PERL_EXECUTABLE_WINDOWS = "Perl.exe";
+
+
+    /**
+     * Delete a file or directory
+     * @param file The <strong>File</strong> you want to delete.
+     * @return A <i>boolean</i> which is <i>true</i> if the file specified was successfully deleted, <i>false</i> otherwise.
+     */
+    static public boolean delete(File file)
+    {
+	// Nothing to do if it doesn't exist
+	if (!file.exists()) {
+	    return true;
+	}
+
+	return deleteInternal(file);
+    }
+
+
+    /** Convenience function. */
+    static public boolean delete(String filename)
+    {
+	return delete(new File(filename));
+    }
+
+
+    /** In Java you have to make sure a directory is empty before you delete it, so recursively delete. */
+    static private boolean deleteInternal(File file)
+    {
+	// If file is a directory, we have to recursively delete its contents first
+	if (file.isDirectory()) {
+	    File files[] = file.listFiles();
+	    for (int i = 0; i < files.length; i++) {
+		if (deleteInternal(files[i]) == false) {
+		    System.err.println("Error: Could not delete folder " + file);
+		    return false;
+		}
+	    }
+	}
+
+	// Delete file
+	if (file.delete() == false) {
+	    System.err.println("Error: Could not delete file " + file);
+	    return false;
+	}
+
+	return true;
+    }
+
+
+    /** Convert a long, detailing the length of a file in bytes, into a nice human readable string using b, kb, Mb and Gb. */
+    static final public String BYTE_SUFFIX = " b";
+    static final public long GIGABYTE = 1024000000l;
+    static final public String GIGABYTE_SUFFIX = " Gb";
+    static final public long KILOBYTE =       1024l;
+    static final public String KILOBYTE_SUFFIX = " kb";
+    static final public long MEGABYTE =    1024000l;
+    static final public String MEGABYTE_SUFFIX = " Mb";
+    static final public String formatFileLength(long length) {
+	StringBuffer result = new StringBuffer("");
+	float number = 0f;
+	String suffix = null;
+	// Determine the floating point number and the suffix (radix) used.
+	if(length >= GIGABYTE) {
+	    number = (float) length / (float) GIGABYTE;
+	    suffix = GIGABYTE_SUFFIX;
+	}
+	else if(length >= MEGABYTE) {
+	    number = (float) length / (float) MEGABYTE;
+	    suffix = MEGABYTE_SUFFIX;
+	}
+	else if(length >= KILOBYTE) {
+	    number = (float) length / (float) KILOBYTE;
+	    suffix = KILOBYTE_SUFFIX;
+	}
+	else {
+	    // Don't need to do anything fancy if the file is smaller than a kilobyte
+	    return length + BYTE_SUFFIX;
+	}
+	// Create the formatted string remembering to round the number to 2.d.p. To do this copy everything in the number string from the start to the first occurance of '.' then copy two more digits. Finally search for and print anything that appears after (and including) the optional 'E' delimter.
+	String number_str = Float.toString(number);
+	char number_char[] = number_str.toCharArray();
+	int pos = 0;
+	// Print the characters up to the '.'
+	while(number_char != null && pos < number_char.length && number_char[pos] != '.') {
+	    result.append(number_char[pos]);
+	    pos++;
+	}
+	if(pos < number_char.length) {
+	    // Print the '.' and at most two characters after it
+	    result.append(number_char[pos]);
+	    pos++;
+	    for(int i = 0; i < 2 && pos < number_char.length; i++, pos++) {
+		result.append(number_char[pos]);
+	    }
+	    // Search through the remaining string for 'E'
+	    while(pos < number_char.length && number_char[pos] != 'E') {
+		pos++;
+	    }
+	    // If we still have string then we found an E. Copy the remaining string.
+	    while(pos < number_char.length) {
+		result.append(number_char[pos]);
+		pos++;
+	    }
+	}
+	// Add suffix
+	result.append(suffix);
+	// Done
+	return result.toString();
+    }
+
+    /** This method formats a given string, using HTML markup, so its width does not exceed the given width and its appearance if justified.
+     * @param text The <strong>String</strong> requiring formatting.
+     * @param width The maximum width per line as an <i>int</i>.
+     * @return A <strong>String</strong> formatted so as to have no line longer than the specified width.
+     * TODO Currently HTML formatting tags are simply removed from the text, as the effects of spreading HTML tags over a break are undetermined. To solve this we need to associate tags with a certain text token so if it gets broken on to the next line the tags go with it, or if the tags cover a sequence of words that are broken we need to close then reopen the tags. However all this is a major task and well beyond anything I have time to 'muck-round' on.
+     */
+    static public String formatHTMLWidth(String text, int width) {
+	if(text == null) {
+	    return "Error";
+	}
+	HTMLStringTokenizer html = new HTMLStringTokenizer(text);
+	int current_width = 0;
+	int threshold = width / 2;
+	Stack lines = new Stack();
+	String line = "";
+	while(html.hasMoreTokens()) {
+	    String token = html.nextToken();
+	    while(token != null) {
+		if(html.isTag()) {
+		    // Insert smart HTML tag code here.
+		    token = null;
+		}
+		else {
+		    // If the token is bigger than two thirds width, before we've even started break it down.
+		    if(current_width + 1 + token.length() > width && token.length() > threshold) {
+			if(width == current_width) {
+			    lines.push(line);
+			    line = token;
+			    current_width = token.length();
+			}
+			else {
+			    String prefix = token.substring(0, width - 1 - current_width);
+			    token = token.substring(prefix.length());
+			    if(current_width == 0) {
+				line = line + prefix;
+			    }
+			    else {
+				line = line + " " + prefix;
+			    }
+			    lines.push(line);
+			    line = "";
+			    current_width = 0;
+			}
+		    }
+		    // If adding the next token would push us over the maximum line width.
+		    else if(current_width + 1 + token.length() > width) {
+			lines.push(line);
+			line = token;
+			current_width = token.length();
+			token = null;
+		    }
+		    // Otherwise we should be able to just add the token, give or take.
+		    else {
+			if(current_width == 0) {
+			    line = line + token;
+			    current_width = token.length();
+			}
+			else {
+			    // Special case for standard punctuation which may exist after a tag like so:
+			    // My name is <scratchy>Slim Shady</scratchy>.   <-- Annoying punctuation.
+			    if(token.equals(".") || token.equals(",") || token.equals("!") || token.equals("?")) {
+				line = line + token;
+				current_width = current_width + 1;
+			    }
+			    else {
+				line = line + " " + token;
+				current_width = current_width + 1 + token.length();
+			    }
+			}
+			token = null;
+		    }
+		}
+	    }
+	}
+	String result = line;
+	while(!lines.empty()) {
+	    result = (String)lines.pop() + "<BR>" + result;
+	}
+	// Replace ' ' with "&nbsp;"
+	boolean tag = false;
+	int pos = 0;
+	while(pos < result.length()) {
+	    if(result.charAt(pos) == '<') {
+		tag = true;
+	    }
+	    else if(result.charAt(pos) == '>') {
+		tag = false;
+	    }
+	    else if(result.charAt(pos) == ' ' && !tag) {
+		String prefix = result.substring(0, pos);
+		String suffix = result.substring(pos + 1);
+		result = prefix + "&nbsp;" + suffix;
+	    }
+	    pos++;
+	}
+	result = "<HTML>" + result + "</HTML>";
+	return result;
+    }
+
+
+    static public String getDateString() {
+	Calendar current = Calendar.getInstance();
+	String day_name = null;
+	switch(current.get(Calendar.DAY_OF_WEEK)) {
+	case Calendar.MONDAY: day_name = "Dates.Mon"; break;
+	case Calendar.TUESDAY: day_name = "Dates.Tue"; break;
+	case Calendar.WEDNESDAY: day_name = "Dates.Wed"; break;
+	case Calendar.THURSDAY: day_name = "Dates.Thu"; break;
+	case Calendar.FRIDAY: day_name = "Dates.Fri"; break;
+	case Calendar.SATURDAY: day_name = "Dates.Sat"; break;
+	case Calendar.SUNDAY: day_name = "Dates.Sun"; break;
+	default: day_name = "";
+	}
+	String month_name = null;
+	switch(current.get(Calendar.MONTH)) {
+	case Calendar.JANUARY: month_name = "Dates.Jan"; break;
+	case Calendar.FEBRUARY: month_name = "Dates.Feb"; break;
+	case Calendar.MARCH: month_name = "Dates.Mar"; break;
+	case Calendar.APRIL: month_name = "Dates.Apr"; break;
+	case Calendar.MAY: month_name = "Dates.May"; break;
+	case Calendar.JUNE: month_name = "Dates.Jun"; break;
+	case Calendar.JULY: month_name = "Dates.Jul"; break;
+	case Calendar.AUGUST: month_name = "Dates.Aug"; break;
+	case Calendar.SEPTEMBER: month_name = "Dates.Sep"; break;
+	case Calendar.OCTOBER: month_name = "Dates.Oct"; break;
+	case Calendar.NOVEMBER: month_name = "Dates.Nov"; break;
+	case Calendar.DECEMBER: month_name = "Dates.Dec"; break;
+	default: month_name = "";
+	}
+	int day = current.get(Calendar.DAY_OF_MONTH);
+	int hour = current.get(Calendar.HOUR_OF_DAY);
+	int minute = current.get(Calendar.MINUTE);
+	int second = current.get(Calendar.SECOND);
+	int year = current.get(Calendar.YEAR);
+
+	return Dictionary.get(day_name) + " " + Dictionary.get(month_name) + " " + day + " " + year + " " + Utility.pad(String.valueOf(hour), 2, '0', true) + ":" + Utility.pad(String.valueOf(minute), 2, '0', true) + ":" + Utility.pad(String.valueOf(second), 2, '0', true);
+    }
+
+
+    /** Determine this machines name.
+     * @return The name as a <strong>String</strong>.
+     */
+    static public String getMachineName() {
+	try {
+	    return InetAddress.getLocalHost().getHostName();
+	}
+	catch(UnknownHostException ex) {
+	}
+	return "Unknown Machine";
+    }
+
+
+    static public String getSitesDir(String gsdl3_path) {
+	return gsdl3_path + "sites" + File.separator;
+
+    }
+
+
+    /** Method to determine if the host system is MacOS based.
+     * @return a boolean which is true if the platform is MacOS, false otherwise
+     */
+    public static boolean isMac() {
+	Properties props = System.getProperties();
+	String os_name = props.getProperty("os.name","");
+	if(os_name.startsWith("Mac OS")) {
+	    return true;
+	}
+	return false;
+    }
+
+   
+    /** Method to determine if the host system is Microsoft Windows based.
+     * @return A <i>boolean</i> which is <i>true</i> if the platform is Windows, <i>false</i> otherwise.
+     */
+    public static boolean isWindows() {
+	Properties props = System.getProperties();
+	String os_name = props.getProperty("os.name","");
+	if(os_name.startsWith("Windows")) {
+	    return true;
+	}
+	return false;
+    }
+
+    public static boolean isWindows9x() {
+	Properties props = System.getProperties();
+	String os_name = props.getProperty("os.name","");
+	if(os_name.startsWith("Windows") && os_name.indexOf("9") != -1) {
+	    return true;
+	}
+	return false;
+    }
+    /** Takes a string and a desired length and pads out the string to the length by adding spaces to the left.
+     * @param str The target <strong>String</strong> that needs to be padded.
+     * @param length The desired length of the string as an <i>int</i>.
+     * @return A <strong>String</strong> made from appending space characters with the string until it has a length equal to length.
+     */
+    static private String pad(String str_raw, int length, char fill, boolean end) {
+	StringBuffer str = new StringBuffer(str_raw);
+	while(str.length() < length) {
+	    if(end) {
+		str.insert(0, fill);
+	    }
+	    else {
+		str.append(fill);
+	    }
+	}
+	return str.toString();
+    }
+
+
+    /** Builds the cache dir by appending the user path and 'cache'.
+     * @return a File representing the path to the private file cache within the current collection.
+     */
+    public static File getCacheDir() {
+	return new File(getGLIUserFolder(), StaticStrings.CACHE_FOLDER);
+    }
+
+   /** Method which constructs the log directory given a certain collection.
+     * @param col_dir The location of the collection directory as a <strong>String</strong>.
+     * @return The location of the given collections log directory, also as a <strong>String</strong>.
+     */
+    public static String getLogDir(String col_dir) {
+	if(col_dir != null) {
+	    return col_dir + LOG_DIR;
+	}
+	else {
+	    return getGLIUserFolder().getAbsolutePath() + File.separator + LOG_DIR;
+	}
+    }
+
+    static final private String APPLICATION_DATA_FOLDER = "Application Data";
+    static final private String UNIX_GLI_CONFIG_FOLDER = ".gli";
+    static final private String USER_HOME_PROPERTY = "user.home";
+    static final private String WIN_GLI_CONFIG_FOLDER = "Greenstone" + File.separator + "GLI";
+     /** Definition of an important directory name, in this case the log directory for the collection. */
+    static final public String LOG_DIR = "log" + File.separator;
+
+    static public File getGLIUserFolder()
+    {
+	if (Utility.isWindows()) {
+	    return new File(System.getProperty(USER_HOME_PROPERTY) + File.separator + APPLICATION_DATA_FOLDER + File.separator + WIN_GLI_CONFIG_FOLDER + File.separator);
+	}
+	else {
+	    return new File(System.getProperty(USER_HOME_PROPERTY) + File.separator + UNIX_GLI_CONFIG_FOLDER + File.separator);
+	}
+    }
+
+  static private HashMap plugin_map = null;
+  
+  static private void setUpPluginNameMap() {
+    plugin_map = new HashMap();
+    plugin_map.put("GAPlug", "GreenstoneXMLPlugin");
+    plugin_map.put("RecPlug", "DirectoryPlugin");
+    plugin_map.put("ArcPlug","ArchivesInfPlugin");
+    plugin_map.put("TEXTPlug","TextPlugin");
+    plugin_map.put("XMLPlug","ReadXMLFile");
+    plugin_map.put("EMAILPlug","EmailPlugin");
+    plugin_map.put("SRCPlug","SourceCodePlugin");
+    plugin_map.put("NULPlug","NulPlugin");
+    plugin_map.put("W3ImgPlug","HTMLImagePlugin");
+    plugin_map.put("PagedImgPlug","PagedImagePlugin");
+    plugin_map.put("METSPlug", "GreenstoneMETSPlugin");
+    plugin_map.put("DBPlug", "DatabasePlugin");
+    plugin_map.put("PPTPlug", "PowerPointPlugin");
+    plugin_map.put("PSPlug", "PostScriptPlugin");
+  }
+
+  static public String ensureNewPluginName(String plugin) {
+    if (plugin.endsWith("Plugin")) return plugin;
+    if (plugin_map == null) {
+      setUpPluginNameMap();
+    }
+    String new_name = (String)plugin_map.get(plugin);
+    if (new_name != null) return new_name;
+    new_name = plugin.replaceAll("Plug", "Plugin");
+    return new_name;
+  }
+   
+}
Index: main/tags/2.83/gli/src/org/greenstone/gatherer/util/XMLTools.java
===================================================================
--- main/tags/2.83/gli/src/org/greenstone/gatherer/util/XMLTools.java	(revision 21123)
+++ main/tags/2.83/gli/src/org/greenstone/gatherer/util/XMLTools.java	(revision 21123)
@@ -0,0 +1,830 @@
+package org.greenstone.gatherer.util;
+
+
+import java.io.*;
+import java.net.*;
+import java.util.*;
+import org.apache.xerces.parsers.*;
+import org.apache.xml.serialize.*;
+import org.greenstone.gatherer.DebugStream;
+import org.w3c.dom.*;
+import org.xml.sax.*;
+
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.StringReader;
+
+// SAX
+import org.xml.sax.XMLReader;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.helpers.DefaultHandler;
+import org.xml.sax.InputSource;
+
+// JAXP
+import javax.xml.parsers.FactoryConfigurationError;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+/** This class is a static class containing useful XML functions */
+public class XMLTools {
+    /** extracts the text out of a node */
+    public static Node getNodeTextNode (Element param) {
+        param.normalize ();
+        Node n = param.getFirstChild ();
+        while (n!=null && n.getNodeType () !=Node.TEXT_NODE) {
+            n=n.getNextSibling ();
+        }
+        return n;
+    }
+    
+    /** extracts the text out of a node */
+    public static String getNodeText (Element param) {
+        Node text_node = getNodeTextNode (param);
+        if (text_node == null) {
+            return "";
+        }
+        return text_node.getNodeValue ();
+    }
+    public static void setNodeText (Element elem, String text) {
+        Node old_text_node = getNodeTextNode (elem);
+        if (old_text_node != null) {
+            elem.removeChild (old_text_node);
+        }
+        Text t = elem.getOwnerDocument ().createTextNode (text);
+        elem.appendChild (t);
+    }
+    /** returns the (first) child element with the given name */
+    public static Node getChildByTagName (Node n, String name) {
+        
+        Node child = n.getFirstChild ();
+        while (child!=null) {
+            if (child.getNodeName ().equals (name)) {
+                return child;
+            }
+            child = child.getNextSibling ();
+        }
+        return null; //not found
+    }
+    
+    /** returns the (nth) child element with the given name
+     * index numbers start at 0 */
+    public static Node getChildByTagNameIndexed (Node n, String name, int index) {
+        if (index == -1) {
+            return getChildByTagName (n, name);
+        }
+        int count = 0;
+        Node child = n.getFirstChild ();
+        while (child!=null) {
+            if (child.getNodeName ().equals (name)) {
+                if (count == index) {
+                    return child;
+                } else {
+                    count++;
+                }
+            }
+            child = child.getNextSibling ();
+        }
+        return null; //not found
+    }
+    
+    /** returns the element parent/node_name[@attribute_name='attribute_value']
+     */
+    public static Element getNamedElement (Element parent, String node_name,
+    String attribute_name,
+    String attribute_value) {
+        
+        NodeList children = parent.getChildNodes ();
+        for (int i=0; i<children.getLength (); i++) {
+            Node child = children.item (i);
+            //logger.debug("getnamed elem, node nmae="+child.getNodeName());
+            if (child.getNodeName ().equals (node_name)) {
+                if (((Element)child).getAttribute (attribute_name).equals (attribute_value))
+                    return (Element)child;
+            }
+        }
+        // not found
+        return null;
+    }
+    /** returns a list of elements parent/node_name[@attribute_name='attribute_value']
+     */
+    public static ArrayList getNamedElementList (Element parent, String node_name,
+    String attribute_name,
+    String attribute_value) {
+        ArrayList elements = new ArrayList ();
+        NodeList children = parent.getChildNodes ();
+        for (int i=0; i<children.getLength (); i++) {
+            //System.out.println("getNamedElementList");
+            Node child = children.item (i);
+            //logger.debug("getnamed elem, node nmae="+child.getNodeName());
+            if (child.getNodeName ().equals (node_name)) {
+                if (((Element)child).getAttribute (attribute_name).equals (attribute_value))
+                    elements.add ((Element)child);
+            }
+        }
+        // not found
+        if (elements.size () == 0) {
+            elements = null;
+        }
+        return elements;
+    }
+    public static void copyAllChildren (Element to, Element from) {
+        
+        Document to_doc = to.getOwnerDocument ();
+        Node child = from.getFirstChild ();
+        while (child != null) {
+            to.appendChild (to_doc.importNode (child, true));
+            child = child.getNextSibling ();
+        }
+    }
+    /** Duplicates an element */
+    public static Element duplicateElement (Document owner, Element element, boolean with_attributes) {
+        return duplicateElementNS (owner, element, null, with_attributes);
+    }
+    
+    /** Duplicates an element */
+    public static Element duplicateElementNS (Document owner,
+    Element element,
+    String namespace_uri,
+    boolean with_attributes) {
+        Element duplicate;
+        if (namespace_uri == null) {
+            duplicate = owner.createElement (element.getTagName ());
+        } else {
+            duplicate = owner.createElementNS (namespace_uri, element.getTagName ());
+        }
+        // Copy element attributes
+        if (with_attributes) {
+            NamedNodeMap attributes = element.getAttributes ();
+            for (int i = 0; i < attributes.getLength (); i++) {
+                Node attribute = attributes.item (i);
+                duplicate.setAttribute (attribute.getNodeName (), attribute.getNodeValue ());
+            }
+        }
+        
+        // Copy element children
+        NodeList children = element.getChildNodes ();
+        for (int i = 0; i < children.getLength (); i++) {
+            Node child = children.item (i);
+            duplicate.appendChild (owner.importNode (child, true));
+        }
+        
+        return duplicate;
+    }
+    
+    
+    /** Remove all of the child nodes from a certain node. */
+    static final public void clear (Node node) {
+        while (node.hasChildNodes ()) {
+            node.removeChild (node.getFirstChild ());
+        }
+    }
+    
+    
+    static public ArrayList getChildElementsByTagName (Element parent_element, String element_name) {
+        ArrayList child_elements = new ArrayList ();
+        
+        NodeList children_nodelist = parent_element.getChildNodes ();
+        for (int i = 0; i < children_nodelist.getLength (); i++) {
+            Node child_node = children_nodelist.item (i);
+            if (child_node.getNodeType () == Node.ELEMENT_NODE && child_node.getNodeName ().equals (element_name)) {
+                child_elements.add (child_node);
+            }
+        }
+        
+        return child_elements;
+    }
+    
+    
+    static public String getElementTextValue (Element element) {
+        // Find the first text node child
+        NodeList children_nodelist = element.getChildNodes ();
+        for (int i = 0; i < children_nodelist.getLength (); i++) {
+            Node child_node = children_nodelist.item (i);
+            if (child_node.getNodeType () == Node.TEXT_NODE) {
+                return child_node.getNodeValue ();
+            }
+        }
+        
+        // None found
+        return "";
+    }
+    
+    
+    /** Method to retrieve the value of a given node.
+     * @param element The <strong>Element</strong> whose value we wish to find.
+     * Soon to be deprecated!
+     */
+    static final public String getValue (Node element) {
+        if (element == null) {
+            return "";
+        }
+        // If we've been given a subject node first retrieve its value node.
+        if(element.getNodeName ().equals ("Subject")) {
+            element = getNodeFromNamed (element, "Value");
+        }
+        // If we've got a value node, then reconstruct the text. Remember that DOM will split text over 256 characters into several text nodes
+        if(element != null && element.hasChildNodes ()) {
+            StringBuffer text_buffer = new StringBuffer ();
+            NodeList text_nodes = element.getChildNodes ();
+            for(int i = 0; i < text_nodes.getLength (); i++) {
+                Node possible_text = text_nodes.item (i);
+                if(possible_text.getNodeName ().equals (StaticStrings.TEXT_NODE)) {
+                    text_buffer.append (possible_text.getNodeValue ());
+                }
+            }
+            return text_buffer.toString ();
+        }
+        return "";
+    }
+    
+    
+    /** Method to retrieve from the node given, a certain child node with the specified name.
+     * @param parent The <strong>Node</strong> whose children should be searched.
+     * @param name The required nodes name as a <strong>String</strong>.
+     * @return The requested <strong>Node</strong> if it is found, <i>null</i> otherwise.
+     * Soon to be deprecated!
+     */
+    static final public Node getNodeFromNamed (Node parent, String name) {
+        Node child = null;
+        for(Node i = parent.getFirstChild (); i != null && child == null;
+        i = i.getNextSibling ()) {
+            if(i.getNodeName ().equals (name)) {
+                child = i;
+            }
+        }
+        return child;
+    }
+    
+    static final public String WELLFORMED= "well-formed !";
+    static final public String NOTWELLFORMED= "not well-formed";
+    static final private String HEADER = "<?xml version='1.0' encoding='UTF-8'?><collectionConfig xmlns:gsf='http://www.greenstone.org/greenstone3/schema/ConfigFormat' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>";
+    static final private String FOOTER = "</collectionConfig>";
+       
+public static String parse (String xml_str) {
+        String validation_msg = WELLFORMED;
+        xml_str = HEADER + xml_str + FOOTER;
+        try {
+            SAXParserFactory factory = SAXParserFactory.newInstance ();
+            factory.setNamespaceAware (true);
+            //factory.setValidating (true);
+            SAXParser parser = factory.newSAXParser ();
+            InputSource iSource = new InputSource ( new StringReader ( xml_str ) );
+//              parser.parse (iSource, new DefaultHandler ());
+            
+            org.xml.sax.XMLReader reader = parser.getXMLReader ();
+            reader.setContentHandler(new DefaultHandler());
+            reader.setErrorHandler(new DefaultHandler());
+            reader.parse(iSource);
+        } catch (FactoryConfigurationError e) {
+            validation_msg = "unable to get a document builder factory";
+        } catch (ParserConfigurationException e) {
+            validation_msg = "unable to configure parser";
+        } catch (SAXParseException e) {
+            validation_msg = NOTWELLFORMED + getLocationString(e) + e.getMessage ();
+        } catch (SAXException e) {
+            validation_msg += " Fatal error: " + e.toString ();
+        } catch (IOException e) {
+            validation_msg = "Unable to read the input, i/o error";
+        }
+        
+        return validation_msg;
+    }
+//In this method, the parsed string xml_str is not wrapped by the header and footer strings.
+public static String parseDOM (String xml_str) {
+        String validation_msg = WELLFORMED;
+        
+        try {
+            SAXParserFactory factory = SAXParserFactory.newInstance ();
+            factory.setNamespaceAware (true);
+            //factory.setValidating (true);
+            SAXParser parser = factory.newSAXParser ();
+            InputSource iSource = new InputSource ( new StringReader ( xml_str ) );
+//              parser.parse (iSource, new DefaultHandler ());
+            
+            org.xml.sax.XMLReader reader = parser.getXMLReader ();
+            reader.setContentHandler(new DefaultHandler());
+            reader.setErrorHandler(new DefaultHandler());
+            reader.parse(iSource);
+        } catch (FactoryConfigurationError e) {
+            validation_msg = "unable to get a document builder factory";
+        } catch (ParserConfigurationException e) {
+            validation_msg = "unable to configure parser";
+        } catch (SAXParseException e) {
+            validation_msg = NOTWELLFORMED + getLocationString(e) + e.getMessage ();
+        } catch (SAXException e) {
+            validation_msg += " " + e.toString ();
+        } catch (IOException e) {
+            validation_msg = "Unable to read the input, i/o error";
+        }
+        
+        return validation_msg;
+    }
+
+public static String parse (File xml_file) {
+        String validation_msg = WELLFORMED;
+
+        try {
+            SAXParserFactory factory = SAXParserFactory.newInstance ();
+            factory.setNamespaceAware (true);
+            //factory.setValidating (true);
+            SAXParser parser = factory.newSAXParser ();
+            FileReader r = new FileReader(xml_file);
+            InputSource iSource = new InputSource(r);
+            XMLReader reader = parser.getXMLReader ();
+            reader.setContentHandler(new DefaultHandler());
+            reader.setErrorHandler(new DefaultHandler());
+            reader.parse(iSource);
+        } catch (FactoryConfigurationError e) {
+            validation_msg = "unable to get a document builder factory";
+        } catch (ParserConfigurationException e) {
+            validation_msg = "unable to configure parser";
+        } catch (SAXParseException e) {
+            validation_msg = NOTWELLFORMED + getLocationString(e) + e.getMessage ();
+        } catch (SAXException e) {
+            validation_msg += " Fatal error: " + e.toString ();
+        } catch (IOException e) {
+            validation_msg = "Unable to read the input, i/o error";
+        }
+        
+        return validation_msg;
+    }    
+    /** Returns a string of the location. */
+    private static String getLocationString(SAXParseException ex) {
+        StringBuffer str = new StringBuffer();
+
+        String systemId = ex.getSystemId();
+        if (systemId != null) {
+            int index = systemId.lastIndexOf('/');
+            if (index != -1)
+                systemId = systemId.substring(index + 1);
+            str.append(systemId);
+        }
+        str.append("(line ");
+        str.append(ex.getLineNumber()-1);
+        str.append(", column ");
+        str.append(ex.getColumnNumber());
+        str.append("): ");
+
+        return str.toString();
+
+    } // getLocationString(SAXParseException):String
+
+
+    /** Parse an XML document from a given file path */
+    static public Document parseXMLFile (String xml_file_path, boolean use_class_loader) {
+        if (use_class_loader == true) {
+            InputStream is = JarTools.getResourceAsStream ("/" + xml_file_path);
+            if (is != null) {
+                return parseXML (is);
+            }
+        }
+        
+        // Try the file outside the classes directory
+        return parseXMLFile (new File (xml_file_path));
+    }
+    
+    
+    /** Parse an XML document from a given file */
+    static public Document parseXMLFile (File xml_file) {
+        // No file? No point trying!
+        if (xml_file.exists () == false) {
+            return null;
+        }
+        
+        try {
+            return parseXML (new FileInputStream (xml_file));
+        }
+        catch (Exception exception) {
+            DebugStream.printStackTrace (exception);
+            return null;
+        }
+    }
+    
+    
+    /** Parse an XML document from a given input stream */
+    static public Document parseXML (InputStream xml_input_stream) {
+        Document document = null;
+        
+        try {
+            InputStreamReader isr = new InputStreamReader (xml_input_stream, "UTF-8");
+            document = parseXML(isr);
+            isr.close ();
+            xml_input_stream.close ();
+        }
+        catch (Exception exception) {
+            DebugStream.printStackTrace (exception);
+        }
+        
+        return document;
+    }
+    
+    
+    /** Parse an XML document from a given reader */
+    static public Document parseXML (Reader xml_reader) {
+        Document document = null;
+
+    // If debugging, the following will store the XML contents to be parsed, 
+    // which can then be inspected upon encountering a SAXException (need to run GLI with -debug on)
+    String xmlContents = "";
+
+    try {
+        Reader reader = null;
+
+        // (1) By default, GLI will remove any contents preceeding (and invalidating) 
+        // the XML and present these lines separately to the user
+        if(!DebugStream.isDebuggingEnabled()) {
+	    try {
+                reader = new BufferedReader( new RemoveContentBeforeRootElementXMLReader(xml_reader) );
+            } catch ( Exception e ) {
+                System.err.println( "Exception while wrapping the reader in parseXML(Reader)" );
+                e.printStackTrace();
+            }
+        } 
+
+        // (2) If we are running GLI in debug mode:
+        // In case parsing exceptions are thrown (SAX Exceptions), we want to get some
+        // idea of where things went wrong. This will print the "XML" contents to either
+        // system.out (if debugging is off) or to the DebugStream otherwise.
+        // We need to read the XML twice to know the line where things went wrong, so
+        // do the additional reading only if we're debugging 
+        else {
+            StringBuffer buf = new StringBuffer();
+            char[] buffer = new char[500];
+            int numCharsRead = xml_reader.read(buffer, 0, buffer.length); 
+            while(numCharsRead != -1) {
+                buf.append(buffer, 0, numCharsRead);
+                numCharsRead = xml_reader.read(buffer, 0, buffer.length); 
+            }
+            xmlContents = buf.toString();
+            xml_reader.close(); // closing the old Reader
+            xml_reader = null;
+            buffer = null;
+            buf = null;
+            // we need a Reader to parse the same contents as the Reader that was just closed
+            reader = new BufferedReader(new StringReader(xmlContents));
+	    //System.err.println("xmlContents:\n" + xmlContents);
+        }
+        
+        // (2) The actual XML parsing
+        InputSource isc       = new InputSource (reader);
+        DOMParser parser      = new DOMParser ();
+        parser.setFeature ("http://xml.org/sax/features/validation", false);
+        parser.setFeature ("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
+        // May or may not be ignored, the documentation for Xerces is contradictory. If it works then parsing -should- be faster.
+        parser.setFeature ("http://apache.org/xml/features/dom/defer-node-expansion", true);
+        parser.setFeature ("http://apache.org/xml/features/dom/include-ignorable-whitespace", false);
+        parser.parse (isc);
+        document = parser.getDocument ();
+        
+    } catch(SAXParseException e) {
+        showXMLParseFailureLine(e, xmlContents);
+    } catch (SAXException exception) {
+        System.err.println ("SAX exception: " + exception.getMessage ());
+        if(DebugStream.isDebuggingEnabled()) {
+        DebugStream.println("Encountered a SAX exception when parsing the following:\n*********START\n" 
+                    + xmlContents + "\n************END\n");
+        // Exit to let the user view the erroneous line/xml before it goes past the screen buffer?
+        DebugStream.println("Debug mode: Exiting the program as there was trouble parsing the XML..."); 
+        System.exit(-1);
+        } 
+        // else, not running in debug mode, so don't exit after exception  
+        System.out.println("***Turn debugging on (run GLI with -debug) to view the XML contents that could not be parsed.");
+        DebugStream.printStackTrace (exception);
+        }
+        catch (Exception exception) {
+            DebugStream.printStackTrace (exception);
+        }
+        
+        return document;
+    }
+
+    /** Displays the line (string) where the SAXParseException occurred, given a String of the 
+     * entire xml that was being parsed and the SAXParseException object that was caught. 
+     * The messages are printed to DebugStream, so run GLI/FLI with -debug to view this output. 
+     * @param xmlContents is the entire xml that was being parsed when the exception occurred
+     * @param e is the SAXParseException object that was thrown upon parsing the xmlContents.
+     */
+    public static void showXMLParseFailureLine(SAXParseException e, String xmlContents) {
+    
+        // There should be no characters at all that preceed the <?xml>... bit. 
+        // The first check is for starting spaces:
+        if(xmlContents.startsWith("\n") || xmlContents.startsWith(" ") || xmlContents.startsWith("\t")) {
+            DebugStream.println("ERROR: illegal start of XML. Space/tab/newline should not preceed xml declaration.\n");
+            DebugStream.println("xmlContents (length is " + xmlContents.length() + "):\n" + xmlContents);
+            return; // nothing more to do, first error identified
+        }
+    
+        // the actual line (String literal) where parsing failed and the SAXParseException occurred.
+        String line = "";
+        int linenumber = e.getLineNumber();
+        DebugStream.print("\n****SAXParseException on LINE NUMBER: " + linenumber);
+        if(DebugStream.isDebuggingEnabled()) {
+            if(linenumber != -1) { 
+		String[] lines = xmlContents.split("\n");
+		if (lines.length > 0) {
+		    DebugStream.println(" (number of lines: " + lines.length + ")");
+		    if(lines.length >= linenumber) {
+			line = lines[linenumber-1];
+		    } else { // error is past the last line
+			line = "Error is past the last line (" + lines.length + "): " + lines[lines.length-1];			
+		    }
+		} else {
+		    DebugStream.print("\n");
+		}
+		lines = null;
+
+                DebugStream.println("The parsing error occurred on this line:\n***********START\n" + line + "\n***********END");
+                DebugStream.println("SAXParseException message: " + e.getMessage() + "\n");
+            } else { // no particular line number, print out all the xml so debugger can inspect it
+                DebugStream.println("Encountered a SAX exception when parsing the following:\n*********START\n" 
+                    + xmlContents + "\n************END\n");
+            }
+            // Exit to let the user view the erroneous line/xml before it goes past the screen buffer?
+            DebugStream.println("\nDebug mode: Exiting the program as there was trouble parsing the XML..."); 
+            System.exit(-1);
+        } else { // not running in debug mode
+            System.out.println("***Turn debugging on (run GLI with -debug) to view the XML contents/line that could not be parsed.");
+        }
+    }
+
+    
+    static public StringBuffer readXMLStream (InputStream input_stream) {
+        StringBuffer xml = new StringBuffer ("");
+        
+        try {
+            InputStreamReader isr = new InputStreamReader (input_stream, "UTF-8");
+            BufferedReader buffered_in = new BufferedReader (isr);
+            
+            String line = "";
+            boolean xml_content = false;
+            while((line = buffered_in.readLine ()) != null) {
+                if(xml_content) {
+                    xml.append (line);
+                    xml.append ("\n");
+                }
+                else if(line.trim ().startsWith ("<?xml")) {
+                    xml_content = true;
+                    xml.append (line);
+                    xml.append ("\n");
+                }
+            }
+            buffered_in = null;
+        }
+        catch (Exception error) {
+            System.err.println ("Failed when trying to parse XML stream");
+            error.printStackTrace ();
+        }
+        
+        return xml;
+    }
+    
+    
+    /** Removes characters that are invalid in XML (see http://www.w3.org/TR/2000/REC-xml-20001006#charsets) */
+    static public String removeInvalidCharacters (String text) {
+        char[] safe_characters = new char[text.length ()];
+        int j = 0;
+        
+        char[] raw_characters = new char[text.length ()];
+        text.getChars (0, text.length (), raw_characters, 0);
+        for (int i = 0; i < raw_characters.length; i++) {
+            char character = raw_characters[i];
+            if ((character >= 0x20 && character <= 0xD7FF) || character == 0x09 || character == 0x0A || character == 0x0D || (character >= 0xE000 && character <= 0xFFFD) || (character >= 0x10000 && character <= 0x10FFFF)) {
+                safe_characters[j] = character;
+                j++;
+            }
+        }
+        
+        return new String (safe_characters, 0, j);
+    }
+    
+    
+    static public void setElementTextValue (Element element, String text) {
+        // Remove all text node children
+        NodeList children_nodelist = element.getChildNodes ();
+        for (int i = children_nodelist.getLength () - 1; i >= 0; i--) {
+            Node child_node = children_nodelist.item (i);
+            if (child_node.getNodeType () == Node.TEXT_NODE) {
+                element.removeChild (child_node);
+            }
+        }
+        
+        // Add a new text node
+        if (text != null) {
+            element.appendChild (element.getOwnerDocument ().createTextNode (text));
+        }
+    }
+    
+    
+    /** Set the #text node value of some element.
+     * @param element the Element whose value we wish to set
+     * @param value the new value for the element as a String
+     * Soon to be deprecated!
+     */
+    static final public void setValue (Element element, String value) {
+        // Remove any existing child node(s)
+        clear (element);
+        // Add new text node.
+        if (value != null) {
+            element.appendChild (element.getOwnerDocument ().createTextNode (value));
+        }
+    }
+    
+    /** Write an XML document to a given file with the text node of the specified element unescaped*/
+    static public void writeXMLFile (File xml_file, Document document, String[] nonEscapingTagNames) {
+        try {
+            OutputStream os = new FileOutputStream (xml_file);
+            // Create an output format for our document.
+            OutputFormat f = new OutputFormat (document);
+            f.setEncoding ("UTF-8");
+            f.setIndenting (true);
+            f.setLineWidth (0); // Why isn't this working!
+            f.setPreserveSpace (false);
+            if (nonEscapingTagNames != null) {
+          f.setNonEscapingElements (nonEscapingTagNames);
+        }
+            // Create the necessary writer stream for serialization.
+            OutputStreamWriter osw = new OutputStreamWriter (os, "UTF-8");
+            Writer w               = new BufferedWriter (osw);
+            // Generate a new serializer from the above.
+            XMLSerializer s        = new XMLSerializer (w, f);
+            s.asDOMSerializer ();
+            // Finally serialize the document to file.
+            s.serialize (document);
+            // And close.
+            os.close ();
+        }
+        catch (Exception exception) {
+            DebugStream.printStackTrace (exception);
+        }
+    }
+    
+    /** Write an XML document to a given file */
+    static public void writeXMLFile (File xml_file, Document document) {
+      writeXMLFile(xml_file, document, null);
+    }
+
+    public static void printXMLNode (Node e) {
+        printXMLNode (e, 0) ;
+    }
+    
+    public static void printXMLNode (Node e, int depth) { //recursive method call using DOM API...
+        
+        for (int i=0 ; i<depth ; i++)
+            System.out.print (' ') ;
+        
+        if (e.getNodeType () == Node.TEXT_NODE){
+            //System.out.println("text") ;
+            if (e.getNodeValue () != "") {
+                System.out.println (e.getNodeValue ()) ;
+            }
+            return ;
+        }
+        
+        System.out.print ('<');
+        System.out.print (e.getNodeName ());
+        NamedNodeMap attrs = e.getAttributes ();
+        if (attrs != null) {
+            for (int i = 0; i < attrs.getLength (); i++) {
+                Node attr = attrs.item (i);
+                System.out.print (' ');
+                System.out.print (attr.getNodeName ());
+                System.out.print ("=\"");
+                System.out.print (attr.getNodeValue ());
+                System.out.print ('"');
+            }
+        }
+        NodeList children = e.getChildNodes ();
+        
+        if (children == null || children.getLength () == 0)
+            System.out.println ("/>") ;
+        else {
+            
+            System.out.println ('>') ;
+            
+            int len = children.getLength ();
+            for (int i = 0; i < len; i++) {
+                printXMLNode (children.item (i), depth + 1);
+            }
+            
+            for (int i=0 ; i<depth ; i++)
+                System.out.print (' ') ;
+            
+            System.out.println ("</" + e.getNodeName () + ">");
+        }
+        
+    }
+    public static String xmlNodeToString (Node e){
+        StringBuffer sb = new StringBuffer ("");
+        xmlNodeToString (sb,e,0);
+        return sb.toString ();
+    }
+    
+    private static void xmlNodeToString (StringBuffer sb, Node e, int depth){
+        
+        for (int i=0 ; i<depth ; i++)
+            sb.append (' ') ;
+        
+        if (e.getNodeType () == Node.TEXT_NODE){
+            if (e.getNodeValue () != "") {
+                sb.append (e.getNodeValue ()) ;
+            }
+            return ;
+        }
+        
+        sb.append ('<');
+        sb.append (e.getNodeName ());
+        NamedNodeMap attrs = e.getAttributes ();
+        if (attrs != null) {
+            for (int i = 0; i < attrs.getLength (); i++) {
+                Node attr = attrs.item (i);
+                sb.append (' ');
+                sb.append (attr.getNodeName ());
+                sb.append ("=\"");
+                sb.append (attr.getNodeValue ());
+                sb.append ('"');
+            }
+        }
+        NodeList children = e.getChildNodes ();
+        
+        if (children == null || children.getLength () == 0)
+            sb.append ("/>\n") ;
+        else {
+            
+            sb.append (">\n") ;
+            
+            int len = children.getLength ();
+            for (int i = 0; i < len; i++) {
+                xmlNodeToString (sb,children.item (i), depth + 1);
+            }
+            
+            for (int i=0 ; i<depth ; i++)
+                sb.append (' ') ;
+            
+            sb.append ("</" + e.getNodeName () + ">\n");
+        }
+        
+        
+    }
+
+  public static String xmlNodeToStringWithoutIndenting (Node e) {
+    StringBuffer sb = new StringBuffer ("");
+    xmlNodeToStringWithoutNewline(sb, e, -1);
+    return sb.toString();
+  }
+    public static String xmlNodeToStringWithoutNewline (Node e){
+        StringBuffer sb = new StringBuffer ("");
+        xmlNodeToStringWithoutNewline (sb,e,0);
+        return sb.toString ();
+    }
+    
+    private static void xmlNodeToStringWithoutNewline (StringBuffer sb, Node e, int depth){
+        
+        for (int i=0 ; i<depth ; i++)
+            sb.append (' ') ;
+      
+        if (e.getNodeType () == Node.TEXT_NODE){
+            if (e.getNodeValue () != "") {
+                sb.append (e.getNodeValue ()) ;
+            }
+            return ;
+        }
+        
+        sb.append ('<');
+        sb.append (e.getNodeName ());
+        NamedNodeMap attrs = e.getAttributes ();
+        if (attrs != null) {
+            for (int i = 0; i < attrs.getLength (); i++) {
+                Node attr = attrs.item (i);
+                sb.append (' ');
+                sb.append (attr.getNodeName ());
+                sb.append ("=\"");
+                sb.append (attr.getNodeValue ());
+                sb.append ('"');
+            }
+        }
+        NodeList children = e.getChildNodes ();
+        
+        if (children == null || children.getLength () == 0)
+            sb.append ("/>") ;
+        else {
+            
+            sb.append (">") ;
+            
+            int len = children.getLength ();
+            for (int i = 0; i < len; i++) {
+          if (depth >= 0) {
+                xmlNodeToStringWithoutNewline (sb,children.item (i), depth + 1);
+          } else {
+        xmlNodeToStringWithoutNewline (sb,children.item (i), depth);
+          }
+            }
+            
+            for (int i=0 ; i<depth ; i++)
+                sb.append (' ') ;
+            
+            sb.append ("</" + e.getNodeName () + ">");
+        }
+    }
+}
