Fix for UBSan build
[platform/upstream/doxygen.git] / src / translator_id.h
1 /******************************************************************************
2  *
3  * 
4  *
5  * Copyright (C) 1997-2012 by Dimitri van Heesch.
6  *
7  * Permission to use, copy, modify, and distribute this software and its
8  * documentation under the terms of the GNU General Public License is hereby 
9  * granted. No representations are made about the suitability of this software 
10  * for any purpose. It is provided "as is" without express or implied warranty.
11  * See the GNU General Public License for more details.
12  *
13  * Documents produced by Doxygen are derivative works derived from the
14  * input used in their production; they are not affected by this license.
15  *
16  */
17
18 #ifndef TRANSLATOR_ID_H
19 #define TRANSLATOR_ID_H
20
21 /* 
22  * Translasi berikut didasarkan pada versi translator_en.h dalam
23  * Doxygen 1.7.5.1.
24  *
25  * Penterjemah: Adhi Hargo <cadmus_sw at yahoo.com>
26  */
27 class TranslatorIndonesian : public TranslatorAdapter_1_8_0
28 {
29   public:
30
31     // --- Language control methods -------------------
32
33     /*! Used for identification of the language. The identification 
34      * should not be translated. It should be replaced by the name 
35      * of the language in English using lower-case characters only
36      * (e.g. "czech", "japanese", "russian", etc.). It should be equal to 
37      * the identification used in language.cpp.
38      */
39     virtual QCString idLanguage()
40     { return "indonesian"; }
41
42     /*! Used to get the LaTeX command(s) for the language support. 
43      *  This method should return string with commands that switch
44      *  LaTeX to the desired language.  For example 
45      *  <pre>"\\usepackage[german]{babel}\n"
46      *  </pre>
47      *  or
48      *  <pre>"\\usepackage{polski}\n"
49      *  "\\usepackage[latin2]{inputenc}\n"
50      *  "\\usepackage[T1]{fontenc}\n"
51      *  </pre>
52      * 
53      * The English LaTeX does not use such commands.  Because of this
54      * the empty string is returned in this implementation.
55      */
56     virtual QCString latexLanguageSupportCommand()
57     {
58       return "\\usepackage[bahasa]{babel}";
59     }
60
61     /*! return the language charset. This will be used for the HTML output */
62     virtual QCString idLanguageCharset()
63     {
64       return "iso-8859-1";
65     }
66
67     // --- Language translation methods -------------------
68
69     /*! used in the compound documentation before a list of related functions. */
70     virtual QCString trRelatedFunctions()
71     { return "Fungsi-fungsi Terkait"; }
72
73     /*! subscript for the related functions. */
74     virtual QCString trRelatedSubscript()
75     { return "(Perhatikan bahwa fungsi-fungsi tersebut bukan fungsi anggota.)"; }
76
77     /*! header that is put before the detailed description of files, classes and namespaces. */
78     virtual QCString trDetailedDescription()
79     { return "Keterangan Lengkap"; }
80
81     /*! header that is put before the list of typedefs. */
82     virtual QCString trMemberTypedefDocumentation()
83     { return "Dokumentasi Anggota: Tipe"; }
84
85     /*! header that is put before the list of enumerations. */
86     virtual QCString trMemberEnumerationDocumentation()
87     { return "Dokumentasi Anggota: Enumerasi"; }
88
89     /*! header that is put before the list of member functions. */
90     virtual QCString trMemberFunctionDocumentation()
91     { return "Dokumentasi Anggota: Fungsi"; }
92
93     /*! header that is put before the list of member attributes. */
94     virtual QCString trMemberDataDocumentation()
95     { 
96       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
97       {
98         return "Dokumentasi Variabel"; 
99       }
100       else
101       {
102         return "Dokumentasi Anggota: Data"; 
103       }
104     }
105
106     /*! this is the text of a link put after brief descriptions. */
107     virtual QCString trMore() 
108     { return "Selengkapnya..."; }
109
110     /*! put in the class documentation */
111     virtual QCString trListOfAllMembers()
112     { return "Daftar semua anggota"; }
113
114     /*! used as the title of the "list of all members" page of a class */
115     virtual QCString trMemberList()
116     { return "Daftar anggota"; }
117
118     /*! this is the first part of a sentence that is followed by a class name */
119     virtual QCString trThisIsTheListOfAllMembers()
120     { return "Berikut ini daftar lengkap anggota untuk "; }
121
122     /*! this is the remainder of the sentence after the class name */
123     virtual QCString trIncludingInheritedMembers()
124     { return ", termasuk semua anggota yang diwariskan."; }
125
126     /*! this is put at the author sections at the bottom of man pages.
127      *  parameter s is name of the project name.
128      */
129     virtual QCString trGeneratedAutomatically(const char *s)
130     { QCString result="Dibangkitkan secara otomatis oleh Doxygen";
131       if (s) result+=(QCString)" untuk "+s;
132       result+=" dari kode sumber."; 
133       return result;
134     }
135
136     /*! put after an enum name in the list of all members */
137     virtual QCString trEnumName()
138     { return "nama enumerasi"; }
139
140     /*! put after an enum value in the list of all members */
141     virtual QCString trEnumValue()
142     { return "nilai enumerasi"; }
143
144     /*! put after an undocumented member in the list of all members */
145     virtual QCString trDefinedIn()
146     { return "didefinisikan di"; }
147
148     // quick reference sections
149
150     /*! This is put above each page as a link to the list of all groups of 
151      *  compounds or files (see the \\group command).
152      */
153     virtual QCString trModules()
154     { return "Modul"; }
155
156     /*! This is put above each page as a link to the class hierarchy */
157     virtual QCString trClassHierarchy()
158     { return "Hierarki Kelas"; }
159
160     /*! This is put above each page as a link to the list of annotated classes */
161     virtual QCString trCompoundList()
162     { 
163       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
164       {
165         return "Struktur Data";
166       }
167       else
168       {
169         return "Daftar Kelas"; 
170       }
171     }
172
173     /*! This is put above each page as a link to the list of documented files */
174     virtual QCString trFileList()
175     { return "Daftar File"; }
176
177     /*! This is put above each page as a link to all members of compounds. */
178     virtual QCString trCompoundMembers()
179     { 
180       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
181       {
182         return "Variabel Data"; 
183       }
184       else
185       {
186         return "Daftar Anggota Kelas"; 
187       }
188     }
189
190     /*! This is put above each page as a link to all members of files. */
191     virtual QCString trFileMembers()
192     { 
193       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
194       {
195         return "Daftar Definisi Global"; 
196       }
197       else
198       {
199         return "Daftar Anggota File";
200       }
201     }
202
203     /*! This is put above each page as a link to all related pages. */
204     virtual QCString trRelatedPages()
205     { return "Halaman Terkait"; }
206
207     /*! This is put above each page as a link to all examples. */
208     virtual QCString trExamples()
209     { return "Contoh"; }
210
211     /*! This is put above each page as a link to the search engine. */
212     virtual QCString trSearch()
213     { return "Cari"; }
214
215     /*! This is an introduction to the class hierarchy. */
216     virtual QCString trClassHierarchyDescription()
217     { return "Hierarki kelas ini diurutkan kurang-lebih"
218         " berdasarkan abjad:";
219     }
220
221     /*! This is an introduction to the list with all files. */
222     virtual QCString trFileListDescription(bool extractAll)
223     {
224       QCString result="Berikut ini daftar seluruh file";
225       if (!extractAll) result+=" yang didokumentasikan";
226       result += ", dengan penjelasan singkat:";
227       return result;
228     }
229
230     /*! This is an introduction to the annotated compound list. */
231     virtual QCString trCompoundListDescription()
232     { 
233
234       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
235       {
236         return "Berikut ini daftar struktur data, dengan penjelasan singkat:"; 
237       }
238       else
239       {
240         return "Berikut ini daftar kelas, struct, union, dan interface, dengan penjelasan singkat:";
241       }
242     }
243
244     /*! This is an introduction to the page with all class members. */
245     virtual QCString trCompoundMembersDescription(bool extractAll)
246     {
247       QCString result="Berikut ini daftar seluruh ";
248       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
249       {
250         result+="variabel anggota struct dan union";
251       }
252       else
253       {
254         result+="kelas";
255       }
256       if (!extractAll)
257       {
258         result+=" yang didokumentasikan";
259       }
260       result+=", dengan tautan ke ";
261       if (!extractAll) 
262       {
263         if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
264         {
265           result+="dokumentasi struct/union untuk setiap variabel:";
266         }
267         else
268         {
269           result+="dokumentasi kelas untuk setiap anggota:";
270         }
271       }
272       else 
273       {
274         if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
275         {
276           result+="struct/union yang memuatnya:";
277         }
278         else
279         {
280           result+="kelas yang memuatnya:";
281         }
282       }
283       return result;
284     }
285
286     /*! This is an introduction to the page with all file members. */
287     virtual QCString trFileMembersDescription(bool extractAll)
288     {
289       QCString result="Berikut ini daftar ";
290
291       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
292       {
293         result+="fungsi, variabel, makro definisi, enumerasi, dan tipe";
294       }
295       else
296       {
297         result+="file";
298       }
299       if (!extractAll) result+=" yang didokumentasikan";
300       result+=", dengan tautan ke ";
301       if (extractAll) 
302         result+="file yang memuatnya:";
303       else 
304         result+="dokumentasinya:";
305       return result;
306     }
307
308     /*! This is an introduction to the page with the list of all examples */
309     virtual QCString trExamplesDescription()
310     { return "Berikut ini daftar semua contoh:"; }
311
312     /*! This is an introduction to the page with the list of related pages */
313     virtual QCString trRelatedPagesDescription()
314     { return "Berikut ini daftar semua halaman dokumentasi yang terkait:"; }
315
316     /*! This is an introduction to the page with the list of class/file groups */
317     virtual QCString trModulesDescription()
318     { return "Berikut ini daftar semua modul:"; }
319
320     // index titles (the project name is prepended for these) 
321
322     /*! This is used in HTML as the title of index.html. */
323     virtual QCString trDocumentation()
324     { return "Dokumentasi"; }
325
326     /*! This is used in LaTeX as the title of the chapter with the 
327      * index of all groups.
328      */
329     virtual QCString trModuleIndex()
330     { return "Indeks Modul"; }
331
332     /*! This is used in LaTeX as the title of the chapter with the 
333      * class hierarchy.
334      */
335     virtual QCString trHierarchicalIndex()
336     { return "Indeks Hierarki Kelas"; }
337
338     /*! This is used in LaTeX as the title of the chapter with the 
339      * annotated compound index.
340      */
341     virtual QCString trCompoundIndex()
342     {
343       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
344       { 
345         return "Indeks Struktur Data";
346       }
347       else
348       {
349         return "Indeks Kelas"; 
350       }
351     }
352
353     /*! This is used in LaTeX as the title of the chapter with the
354      * list of all files.
355      */
356     virtual QCString trFileIndex() 
357     { return "Indeks File"; }
358
359     /*! This is used in LaTeX as the title of the chapter containing
360      *  the documentation of all groups.
361      */
362     virtual QCString trModuleDocumentation()
363     { return "Dokumentasi Modul"; }
364
365     /*! This is used in LaTeX as the title of the chapter containing
366      *  the documentation of all classes, structs and unions.
367      */
368     virtual QCString trClassDocumentation()
369     { 
370       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
371       {
372         return "Dokumentasi Struktur Data"; 
373       }
374       else
375       {
376         return "Dokumentasi Kelas"; 
377       }
378     }
379
380     /*! This is used in LaTeX as the title of the chapter containing
381      *  the documentation of all files.
382      */
383     virtual QCString trFileDocumentation()
384     { return "Dokumentasi File"; }
385
386     /*! This is used in LaTeX as the title of the chapter containing
387      *  the documentation of all examples.
388      */
389     virtual QCString trExampleDocumentation()
390     { return "Dokumentasi Contoh"; }
391
392     /*! This is used in LaTeX as the title of the chapter containing
393      *  the documentation of all related pages.
394      */
395     virtual QCString trPageDocumentation()
396     { return "Dokumentasi Halaman"; }
397
398     /*! This is used in LaTeX as the title of the document */
399     virtual QCString trReferenceManual()
400     { return "Dokumen Referensi"; }
401
402     /*! This is used in the documentation of a file as a header before the 
403      *  list of defines
404      */
405     virtual QCString trDefines()
406     { return "Makro Definisi"; }
407
408     /*! This is used in the documentation of a file as a header before the 
409      *  list of function prototypes
410      */
411     virtual QCString trFuncProtos()
412     { return "Prototipe Fungsi"; }
413
414     /*! This is used in the documentation of a file as a header before the 
415      *  list of typedefs
416      */
417     virtual QCString trTypedefs()
418     { return "Definisi Tipe"; }
419
420     /*! This is used in the documentation of a file as a header before the 
421      *  list of enumerations
422      */
423     virtual QCString trEnumerations()
424     { return "Enumerasi"; }
425
426     /*! This is used in the documentation of a file as a header before the 
427      *  list of (global) functions
428      */
429     virtual QCString trFunctions()
430     { return "Fungsi"; }
431
432     /*! This is used in the documentation of a file as a header before the 
433      *  list of (global) variables
434      */
435     virtual QCString trVariables()
436     { return "Variabel"; }
437
438     /*! This is used in the documentation of a file as a header before the 
439      *  list of (global) variables
440      */
441     virtual QCString trEnumerationValues()
442     { return "Nilai enumerasi"; }
443
444     /*! This is used in the documentation of a file before the list of
445      *  documentation blocks for defines
446      */
447     virtual QCString trDefineDocumentation()
448     { return "Dokumentasi Makro Definisi"; }
449
450     /*! This is used in the documentation of a file/namespace before the list 
451      *  of documentation blocks for function prototypes
452      */
453     virtual QCString trFunctionPrototypeDocumentation()
454     { return "Dokumentasi Prototipe Fungsi"; }
455
456     /*! This is used in the documentation of a file/namespace before the list 
457      *  of documentation blocks for typedefs
458      */
459     virtual QCString trTypedefDocumentation()
460     { return "Dokumentasi Definisi Tipe"; }
461
462     /*! This is used in the documentation of a file/namespace before the list 
463      *  of documentation blocks for enumeration types
464      */
465     virtual QCString trEnumerationTypeDocumentation()
466     { return "Dokumentasi Tipe Enumerasi"; }
467
468     /*! This is used in the documentation of a file/namespace before the list 
469      *  of documentation blocks for functions
470      */
471     virtual QCString trFunctionDocumentation()
472     { return "Dokumentasi Fungsi"; }
473
474     /*! This is used in the documentation of a file/namespace before the list 
475      *  of documentation blocks for variables
476      */
477     virtual QCString trVariableDocumentation()
478     { return "Dokumentasi Variabel"; }
479
480     /*! This is used in the documentation of a file/namespace/group before 
481      *  the list of links to documented compounds
482      */
483     virtual QCString trCompounds()
484     { 
485       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
486       {
487         return "Struktur Data"; 
488       }
489       else
490       {
491         return "Kelas"; 
492       }
493     }
494
495     /*! This is used in the standard footer of each page and indicates when 
496      *  the page was generated 
497      */
498     virtual QCString trGeneratedAt(const char *date,const char *projName)
499     { 
500       QCString result=(QCString)"Dibangkitkan pada tanggal "+date;
501       if (projName) result+=(QCString)" untuk "+projName;
502       result+=(QCString)" oleh";
503       return result;
504     }
505     /*! This is part of the sentence used in the standard footer of each page.
506      */
507     virtual QCString trWrittenBy()
508     {
509       return "ditulis oleh";
510     }
511
512     /*! this text is put before a class diagram */
513     virtual QCString trClassDiagram(const char *clName)
514     {
515       return (QCString)"Diagram hierarki kelas untuk "+clName+":";
516     }
517
518     /*! this text is generated when the \\internal command is used. */
519     virtual QCString trForInternalUseOnly()
520     { return "Hanya untuk digunakan secara internal."; }
521
522     /*! this text is generated when the \\warning command is used. */
523     virtual QCString trWarning()
524     { return "Peringatan"; }
525
526     /*! this text is generated when the \\version command is used. */
527     virtual QCString trVersion()
528     { return "Versi"; }
529
530     /*! this text is generated when the \\date command is used. */
531     virtual QCString trDate()
532     { return "Tanggal"; }
533
534     /*! this text is generated when the \\return command is used. */
535     virtual QCString trReturns()
536     { return "Mengembalikan"; }
537
538     /*! this text is generated when the \\sa command is used. */
539     virtual QCString trSeeAlso()
540     { return "Lihat juga"; }
541
542     /*! this text is generated when the \\param command is used. */
543     virtual QCString trParameters()
544     { return "Parameter"; }
545
546     /*! this text is generated when the \\exception command is used. */
547     virtual QCString trExceptions()
548     { return "Eksepsi"; }
549
550     /*! this text is used in the title page of a LaTeX document. */
551     virtual QCString trGeneratedBy()
552     { return "Dibangkitkan oleh"; }
553
554 //////////////////////////////////////////////////////////////////////////
555 // new since 0.49-990307
556 //////////////////////////////////////////////////////////////////////////
557
558     /*! used as the title of page containing all the index of all namespaces. */
559     virtual QCString trNamespaceList()
560     { return "Daftar Namespace"; }
561
562     /*! used as an introduction to the namespace list */
563     virtual QCString trNamespaceListDescription(bool extractAll)
564     {
565       QCString result="Berikut ini daftar namespace";
566       if (!extractAll) result+=" yang didokumentasikan";
567       result+=", dengan keterangan singkat:";
568       return result;
569     }
570
571     /*! used in the class documentation as a header before the list of all
572      *  friends of a class
573      */
574     virtual QCString trFriends()
575     { return "Friend"; }
576
577 //////////////////////////////////////////////////////////////////////////
578 // new since 0.49-990405
579 //////////////////////////////////////////////////////////////////////////
580
581     /*! used in the class documentation as a header before the list of all
582      * related classes 
583      */
584     virtual QCString trRelatedFunctionDocumentation()
585     { return "Dokumentasi Friend Dan Fungsi Terkait"; }
586
587 //////////////////////////////////////////////////////////////////////////
588 // new since 0.49-990425
589 //////////////////////////////////////////////////////////////////////////
590
591     /*! used as the title of the HTML page of a class/struct/union */
592     virtual QCString trCompoundReference(const char *clName,
593         ClassDef::CompoundType compType,
594         bool isTemplate)
595     {
596       QCString result="Referensi";
597       switch(compType)
598       {
599         case ClassDef::Class:      result+=" Kelas "; break;
600         case ClassDef::Struct:     result+=" Struct "; break;
601         case ClassDef::Union:      result+=" Union "; break;
602         case ClassDef::Interface:  result+=" Interface "; break;
603         case ClassDef::Protocol:   result+=" Protokol "; break;
604         case ClassDef::Category:   result+=" Kategori "; break;
605         case ClassDef::Exception:  result+=" Eksepsi "; break;
606       }
607       if (isTemplate) result+=" Template ";
608       result+=(QCString)clName;
609       return result;
610     }
611
612     /*! used as the title of the HTML page of a file */
613     virtual QCString trFileReference(const char *fileName)
614     {
615       QCString result="Referensi File ";
616       result+=fileName; 
617       return result;
618     }
619
620     /*! used as the title of the HTML page of a namespace */
621     virtual QCString trNamespaceReference(const char *namespaceName)
622     {
623       QCString result="Referensi Namespace ";
624       result+=namespaceName;
625       return result;
626     }
627
628     virtual QCString trPublicMembers()
629     { return "Fungsi Anggota Publik"; }
630     virtual QCString trPublicSlots()
631     { return "Slot Publik"; }
632     virtual QCString trSignals()
633     { return "Signal"; }
634     virtual QCString trStaticPublicMembers()
635     { return "Fungsi Anggota Publik Statis"; }
636     virtual QCString trProtectedMembers()
637     { return "Fungsi Anggota Diproteksi"; }
638     virtual QCString trProtectedSlots()
639     { return "Slot Diproteksi"; }
640     virtual QCString trStaticProtectedMembers()
641     { return "Fungsi Anggota Diproteksi Statis"; }
642     virtual QCString trPrivateMembers()
643     { return "Fungsi Anggota Privat"; }
644     virtual QCString trPrivateSlots()
645     { return "Slot Privat"; }
646     virtual QCString trStaticPrivateMembers()
647     { return "Fungsi Anggota Privat Statis"; }
648
649     /*! this function is used to produce a comma-separated list of items.
650      *  use generateMarker(i) to indicate where item i should be put.
651      */
652     virtual QCString trWriteList(int numEntries)
653     {
654       QCString result;
655       int i;
656       // the inherits list contain `numEntries' classes
657       for (i=0;i<numEntries;i++) 
658       {
659         // use generateMarker to generate placeholders for the class links!
660         result+=generateMarker(i); // generate marker for entry i in the list 
661         // (order is left to right)
662
663         if (i!=numEntries-1)  // not the last entry, so we need a separator
664         {
665           if (i<numEntries-2) // not the fore last entry 
666             result+=", ";
667           else                // the fore last entry
668             result+=", dan ";
669         }
670       }
671       return result; 
672     }
673
674     /*! used in class documentation to produce a list of base classes,
675      *  if class diagrams are disabled.
676      */
677     virtual QCString trInheritsList(int numEntries)
678     {
679       return "Mewarisi "+trWriteList(numEntries)+".";
680     }
681
682     /*! used in class documentation to produce a list of super classes,
683      *  if class diagrams are disabled.
684      */
685     virtual QCString trInheritedByList(int numEntries)
686     {
687       return "Diwariskan ke "+trWriteList(numEntries)+".";
688     }
689
690     /*! used in member documentation blocks to produce a list of 
691      *  members that are hidden by this one.
692      */
693     virtual QCString trReimplementedFromList(int numEntries)
694     {
695       return "Di-reimplementasikan dari "+trWriteList(numEntries)+".";
696     }
697
698     /*! used in member documentation blocks to produce a list of
699      *  all member that overwrite the implementation of this member.
700      */
701     virtual QCString trReimplementedInList(int numEntries)
702     {
703       return "Diimplementasikan ulang di "+trWriteList(numEntries)+".";
704     }
705
706     /*! This is put above each page as a link to all members of namespaces. */
707     virtual QCString trNamespaceMembers()
708     { return "Anggota Namespace"; }
709
710     /*! This is an introduction to the page with all namespace members */
711     virtual QCString trNamespaceMemberDescription(bool extractAll)
712     { 
713       QCString result="Berikut ini daftar anggota namespace";
714       if (!extractAll) result+=" yang didokumentasikan";
715       result+=", dengan tautan ke ";
716       if (extractAll) 
717         result+="dokumentasi namespace untuk setiap anggota:";
718       else 
719         result+="namespace yang memuatnya:";
720       return result;
721     }
722     /*! This is used in LaTeX as the title of the chapter with the 
723      *  index of all namespaces.
724      */
725     virtual QCString trNamespaceIndex()
726     { return "Indeks Namespace"; }
727
728     /*! This is used in LaTeX as the title of the chapter containing
729      *  the documentation of all namespaces.
730      */
731     virtual QCString trNamespaceDocumentation()
732     { return "Dokumentasi Namespace"; }
733
734 //////////////////////////////////////////////////////////////////////////
735 // new since 0.49-990522
736 //////////////////////////////////////////////////////////////////////////
737
738     /*! This is used in the documentation before the list of all
739      *  namespaces in a file.
740      */
741     virtual QCString trNamespaces()
742     { return "Daftar Namespace"; }
743
744 //////////////////////////////////////////////////////////////////////////
745 // new since 0.49-990728
746 //////////////////////////////////////////////////////////////////////////
747
748     /*! This is put at the bottom of a class documentation page and is
749      *  followed by a list of files that were used to generate the page.
750      */
751     virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
752         bool single)
753     { // here s is one of " Class", " Struct" or " Union"
754       // single is true implies a single file
755       QCString result=(QCString)"Dokumentasi untuk ";
756       switch(compType)
757       {
758         case ClassDef::Class:      result+="kelas"; break;
759         case ClassDef::Struct:     result+="struct"; break;
760         case ClassDef::Union:      result+="union"; break;
761         case ClassDef::Interface:  result+="interface"; break;
762         case ClassDef::Protocol:   result+="protokol"; break;
763         case ClassDef::Category:   result+="kategori"; break;
764         case ClassDef::Exception:  result+="eksepsi"; break;
765       }
766       result+=" ini dibangkitkan dari file";
767       result+=single ? "" : "-file";
768       result+=" berikut:";
769       return result;
770     }
771
772     /*! This is in the (quick) index as a link to the alphabetical compound
773      * list.
774      */
775     virtual QCString trAlphabeticalList()
776     { return "Daftar Berdasarkan Abjad"; }
777
778 //////////////////////////////////////////////////////////////////////////
779 // new since 0.49-990901
780 //////////////////////////////////////////////////////////////////////////
781
782     /*! This is used as the heading text for the retval command. */
783     virtual QCString trReturnValues()
784     { return "Nilai kembali"; }
785
786     /*! This is in the (quick) index as a link to the main page (index.html)
787      */
788     virtual QCString trMainPage()
789     { return "Halaman Utama"; }
790
791     /*! This is used in references to page that are put in the LaTeX 
792      *  documentation. It should be an abbreviation of the word page.
793      */
794     virtual QCString trPageAbbreviation()
795     { return "hal."; }
796
797 //////////////////////////////////////////////////////////////////////////
798 // new since 0.49-991003
799 //////////////////////////////////////////////////////////////////////////
800
801     virtual QCString trDefinedAtLineInSourceFile()
802     {
803       return "Definisi pada baris @0 dalam file @1.";
804     }
805     virtual QCString trDefinedInSourceFile()
806     {
807       return "Definisi dalam file @0.";
808     }
809
810 //////////////////////////////////////////////////////////////////////////
811 // new since 0.49-991205
812 //////////////////////////////////////////////////////////////////////////
813
814     virtual QCString trDeprecated()
815     {
816       return "Kadaluarsa";
817     }
818
819 //////////////////////////////////////////////////////////////////////////
820 // new since 1.0.0
821 //////////////////////////////////////////////////////////////////////////
822
823     /*! this text is put before a collaboration diagram */
824     virtual QCString trCollaborationDiagram(const char *clName)
825     {
826       return (QCString)"Diagram kolaborasi untuk "+clName+":";
827     }
828     /*! this text is put before an include dependency graph */
829     virtual QCString trInclDepGraph(const char *fName)
830     {
831       return (QCString)"Bagan kebergantungan pemuatan untuk "+fName+":";
832     }
833     /*! header that is put before the list of constructor/destructors. */
834     virtual QCString trConstructorDocumentation()
835     {
836       return "Dokumentasi Konstruktor & Destruktor"; 
837     }
838     /*! Used in the file documentation to point to the corresponding sources. */
839     virtual QCString trGotoSourceCode()
840     {
841       return "Ke kode sumber file ini.";
842     }
843     /*! Used in the file sources to point to the corresponding documentation. */
844     virtual QCString trGotoDocumentation()
845     {
846       return "Ke dokumentasi file ini.";
847     }
848     /*! Text for the \\pre command */
849     virtual QCString trPrecondition()
850     {
851       return "Kondisi Awal";
852     }
853     /*! Text for the \\post command */
854     virtual QCString trPostcondition()
855     {
856       return "Kondisi Akhir";
857     }
858     /*! Text for the \\invariant command */
859     virtual QCString trInvariant()
860     {
861       return "Invarian";
862     }
863     /*! Text shown before a multi-line variable/enum initialization */
864     virtual QCString trInitialValue()
865     {
866       return "Nilai awal:";
867     }
868     /*! Text used the source code in the file index */
869     virtual QCString trCode()
870     {
871       return "kode";
872     }
873     virtual QCString trGraphicalHierarchy()
874     {
875       return "Hierarki Kelas Secara Grafis";
876     }
877     virtual QCString trGotoGraphicalHierarchy()
878     {
879       return "Ke bagan grafis hierarki kelas";
880     }
881     virtual QCString trGotoTextualHierarchy()
882     {
883       return "Ke bagan tekstual hierarki kelas";
884     }
885     virtual QCString trPageIndex()
886     {
887       return "Indeks Halaman";
888     }
889
890 //////////////////////////////////////////////////////////////////////////
891 // new since 1.1.0
892 //////////////////////////////////////////////////////////////////////////
893
894     virtual QCString trNote()
895     {
896       return "Catatan";
897     }
898     virtual QCString trPublicTypes()
899     {
900       return "Tipe Publik";
901     }
902     virtual QCString trPublicAttribs()
903     {
904       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
905       {
906         return "Variabel Data";
907       }
908       else
909       {
910         return "Atribut Publik";
911       }
912     }
913     virtual QCString trStaticPublicAttribs()
914     {
915       return "Atribut Publik Statis";
916     }
917     virtual QCString trProtectedTypes()
918     {
919       return "Tipe Diproteksi";
920     }
921     virtual QCString trProtectedAttribs()
922     {
923       return "Atribut Diproteksi";
924     }
925     virtual QCString trStaticProtectedAttribs()
926     {
927       return "Atribut Diproteksi Statis";
928     }
929     virtual QCString trPrivateTypes()
930     {
931       return "Tipe Privat";
932     }
933     virtual QCString trPrivateAttribs()
934     {
935       return "Atribut Privat";
936     }
937     virtual QCString trStaticPrivateAttribs()
938     {
939       return "Atribut Privat Statis";
940     }
941
942 //////////////////////////////////////////////////////////////////////////
943 // new since 1.1.3
944 //////////////////////////////////////////////////////////////////////////
945
946     /*! Used as a marker that is put before a \\todo item */
947     virtual QCString trTodo()
948     {
949       return "Tugas";
950     }
951     /*! Used as the header of the todo list */
952     virtual QCString trTodoList()
953     {
954       return "Daftar Tugas";
955     }
956
957 //////////////////////////////////////////////////////////////////////////
958 // new since 1.1.4
959 //////////////////////////////////////////////////////////////////////////
960
961     virtual QCString trReferencedBy()
962     {
963       return "Direferensikan oleh";
964     }
965     virtual QCString trRemarks()
966     {
967       return "Keterangan";
968     }
969     virtual QCString trAttention()
970     {
971       return "Perhatian";
972     }
973     virtual QCString trInclByDepGraph()
974     {
975       return "Bagan ini menunjukkan file-file yang memuat"
976         " atau menggunakan file ini baik secara langsung maupun"
977         " tidak langsung:";
978     }
979     virtual QCString trSince()
980     {
981       return "Sejak";
982     }
983
984 //////////////////////////////////////////////////////////////////////////
985 // new since 1.1.5
986 //////////////////////////////////////////////////////////////////////////
987
988     /*! title of the graph legend page */
989     virtual QCString trLegendTitle()
990     {
991       return "Keterangan Bagan";
992     }
993     /*! page explaining how the dot graph's should be interpreted 
994      *  The %A in the text below are to prevent link to classes called "A".
995      */
996     virtual QCString trLegendDocs()
997     {
998       return 
999         "Halaman ini berisi keterangan cara membaca bagan yang dibangkitkan "
1000         "oleh doxygen.<p>\n"
1001         "Contoh:\n"
1002         "\\code\n"
1003         "/*! Invisible class because of truncation */\n"
1004         "class Invisible { };\n\n"
1005         "/*! Truncated class, inheritance relation is hidden */\n"
1006         "class Truncated : public Invisible { };\n\n"
1007         "/* Class not documented with doxygen comments */\n"
1008         "class Undocumented { };\n\n"
1009         "/*! Class that is inherited using public inheritance */\n"
1010         "class PublicBase : public Truncated { };\n\n"
1011         "/*! A template class */\n"
1012         "template<class T> class Templ { };\n\n"
1013         "/*! Class that is inherited using protected inheritance */\n"
1014         "class ProtectedBase { };\n\n"
1015         "/*! Class that is inherited using private inheritance */\n"
1016         "class PrivateBase { };\n\n"
1017         "/*! Class that is used by the Inherited class */\n"
1018         "class Used { };\n\n"
1019         "/*! Super class that inherits a number of other classes */\n"
1020         "class Inherited : public PublicBase,\n"
1021         "                  protected ProtectedBase,\n"
1022         "                  private PrivateBase,\n"
1023         "                  public Undocumented,\n"
1024         "                  public Templ<int>\n"
1025         "{\n"
1026         "  private:\n"
1027         "    Used *m_usedClass;\n"
1028         "};\n"
1029         "\\endcode\n"
1030         "Apabila tag \\c MAX_DOT_GRAPH_HEIGHT di file konfigurasi "
1031         "diset ke 240 kode di atas akan menghasilkan bagan berikut:"
1032         "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
1033         "<p>\n"
1034         "Kotak-kotak pada bagan di atas mempunyai arti sebagai berikut:\n"
1035         "<ul>\n"
1036         "<li>%Kotak hitam merupakan struct atau kelas yang bersangkutan.\n"
1037         "<li>%Kotak berbingkai hitam adalah struct atau kelas yang mempunyai dokumentasi.\n"
1038         "<li>%Kotak dengan bingkai abu-abu adalah struct atau kelas tanpa dokumentasi.\n"
1039         "<li>%Kotak dengan bingkai merah merupakan struct atau kelas yang didokumentasikan tetapi"
1040         "tidak semua relasinya ditampilkan. %Sebuah bagan "
1041         "akan terpotong apabila lebih besar daripada ukuran yang ditentukan.\n"
1042         "</ul>\n"
1043         "Arti dari tanda-tanda panah adalah sebagai berikut:\n"
1044         "<ul>\n"
1045         "<li>%Panah biru tua menandakan pewarisan publik.\n"
1046         "<li>%Panah hijau tua untuk pewarisan diproteksi.\n"
1047         "<li>%Panah merah tua untuk pewarisan privat.\n"
1048         "<li>%Panah ungu putus-putus menandakan kelas tersebut berhubungan dengan kelas lain. "
1049         "Panah tersebut diberi judul sesuai dengan kelas atau struct tujuan.\n"
1050         "<li>%Panah kuning putus-putus menandakan hubungan antara sebuah template kelas dan "
1051         "instance dari template tersebut. Panah tersebut diberi judul sesuai dengan "
1052         "parameter template yang digunakan.\n"
1053         "</ul>\n";
1054     }
1055     /*! text for the link to the legend page */
1056     virtual QCString trLegend()
1057     {
1058       return "keterangan";
1059     }
1060
1061 //////////////////////////////////////////////////////////////////////////
1062 // new since 1.2.0
1063 //////////////////////////////////////////////////////////////////////////
1064
1065     /*! Used as a marker that is put before a test item */
1066     virtual QCString trTest()
1067     {
1068       return "Tes";
1069     }
1070     /*! Used as the header of the test list */
1071     virtual QCString trTestList()
1072     {
1073       return "Daftar Tes";
1074     }
1075
1076 //////////////////////////////////////////////////////////////////////////
1077 // new since 1.2.1
1078 //////////////////////////////////////////////////////////////////////////
1079
1080     /*! Used as a section header for KDE-2 IDL methods */
1081     virtual QCString trDCOPMethods()
1082     {
1083       return "Fungsi Anggota: DCOP";
1084     }
1085
1086 //////////////////////////////////////////////////////////////////////////
1087 // new since 1.2.2
1088 //////////////////////////////////////////////////////////////////////////
1089
1090     /*! Used as a section header for IDL properties */
1091     virtual QCString trProperties()
1092     {
1093       return "Daftar Property";
1094     }
1095     /*! Used as a section header for IDL property documentation */
1096     virtual QCString trPropertyDocumentation()
1097     {
1098       return "Dokumentasi Property";
1099     }
1100
1101 //////////////////////////////////////////////////////////////////////////
1102 // new since 1.2.4
1103 //////////////////////////////////////////////////////////////////////////
1104
1105     /*! Used for Java classes in the summary section of Java packages */
1106     virtual QCString trClasses()
1107     {
1108       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
1109       {
1110         return "Struktur Data";
1111       }
1112       else
1113       {
1114         return "Daftar Kelas";
1115       }
1116     }
1117     /*! Used as the title of a Java package */
1118     virtual QCString trPackage(const char *name)
1119     {
1120       return (QCString)"Paket "+name;
1121     }
1122     /*! Title of the package index page */
1123     virtual QCString trPackageList()
1124     {
1125       return "Daftar Paket";
1126     }
1127     /*! The description of the package index page */
1128     virtual QCString trPackageListDescription()
1129     {
1130       return "Berikut ini daftar paket, dengan keterangan singkat (apabila tersedia):";
1131     }
1132     /*! The link name in the Quick links header for each page */
1133     virtual QCString trPackages()
1134     {
1135       return "Daftar Paket";
1136     }
1137     /*! Text shown before a multi-line define */
1138     virtual QCString trDefineValue()
1139     {
1140       return "Nilai:";
1141     }
1142
1143 //////////////////////////////////////////////////////////////////////////
1144 // new since 1.2.5
1145 //////////////////////////////////////////////////////////////////////////
1146
1147     /*! Used as a marker that is put before a \\bug item */
1148     virtual QCString trBug()
1149     {
1150       return "Bug";
1151     }
1152     /*! Used as the header of the bug list */
1153     virtual QCString trBugList()
1154     {
1155       return "Daftar Bug";
1156     }
1157
1158 //////////////////////////////////////////////////////////////////////////
1159 // new since 1.2.6
1160 //////////////////////////////////////////////////////////////////////////
1161
1162     /*! Used as ansicpg for RTF file 
1163      * 
1164      * The following table shows the correlation of Charset name, Charset Value and 
1165      * <pre>
1166      * Codepage number:
1167      * Charset Name       Charset Value(hex)  Codepage number
1168      * ------------------------------------------------------
1169      * DEFAULT_CHARSET           1 (x01)
1170      * SYMBOL_CHARSET            2 (x02)
1171      * OEM_CHARSET             255 (xFF)
1172      * ANSI_CHARSET              0 (x00)            1252
1173      * RUSSIAN_CHARSET         204 (xCC)            1251
1174      * EE_CHARSET              238 (xEE)            1250
1175      * GREEK_CHARSET           161 (xA1)            1253
1176      * TURKISH_CHARSET         162 (xA2)            1254
1177      * BALTIC_CHARSET          186 (xBA)            1257
1178      * HEBREW_CHARSET          177 (xB1)            1255
1179      * ARABIC _CHARSET         178 (xB2)            1256
1180      * SHIFTJIS_CHARSET        128 (x80)             932
1181      * HANGEUL_CHARSET         129 (x81)             949
1182      * GB2313_CHARSET          134 (x86)             936
1183      * CHINESEBIG5_CHARSET     136 (x88)             950
1184      * </pre>
1185      * 
1186      */
1187     virtual QCString trRTFansicp()
1188     {
1189       return "1252";
1190     }
1191
1192
1193     /*! Used as ansicpg for RTF fcharset 
1194      *  \see trRTFansicp() for a table of possible values.
1195      */
1196     virtual QCString trRTFCharSet()
1197     {
1198       return "0";
1199     }
1200
1201     /*! Used as header RTF general index */
1202     virtual QCString trRTFGeneralIndex()
1203     {
1204       return "Indeks";
1205     }
1206
1207     /*! This is used for translation of the word that will possibly
1208      *  be followed by a single name or by a list of names 
1209      *  of the category.
1210      */
1211     virtual QCString trClass(bool first_capital, bool singular)
1212     { 
1213       QCString result((first_capital ? "Kelas" : "kelas"));
1214       if (!singular) result+="-kelas";
1215       return result; 
1216     }
1217
1218     /*! This is used for translation of the word that will possibly
1219      *  be followed by a single name or by a list of names 
1220      *  of the category.
1221      */
1222     virtual QCString trFile(bool first_capital, bool singular)
1223     { 
1224       QCString result((first_capital ? "File" : "file"));
1225       if (!singular) result+="-file";
1226       return result; 
1227     }
1228
1229     /*! This is used for translation of the word that will possibly
1230      *  be followed by a single name or by a list of names 
1231      *  of the category.
1232      */
1233     virtual QCString trNamespace(bool first_capital, bool)
1234     { 
1235       QCString result((first_capital ? "Namespace" : "namespace"));
1236       return result; 
1237     }
1238
1239     /*! This is used for translation of the word that will possibly
1240      *  be followed by a single name or by a list of names 
1241      *  of the category.
1242      */
1243     virtual QCString trGroup(bool first_capital, bool singular)
1244     { 
1245       QCString result((first_capital ? "Kelompok" : "kelompok"));
1246       if (!singular) result+="-kelompok";
1247       return result; 
1248     }
1249
1250     /*! This is used for translation of the word that will possibly
1251      *  be followed by a single name or by a list of names 
1252      *  of the category.
1253      */
1254     virtual QCString trPage(bool first_capital, bool singular)
1255     { 
1256       QCString result((first_capital ? "Halaman" : "halaman"));
1257       if (!singular) result+="-halaman";
1258       return result; 
1259     }
1260
1261     /*! This is used for translation of the word that will possibly
1262      *  be followed by a single name or by a list of names 
1263      *  of the category.
1264      */
1265     virtual QCString trMember(bool first_capital, bool singular)
1266     { 
1267       QCString result((first_capital ? "Anggota" : "anggota"));
1268       if (!singular) result+="-anggota";
1269       return result; 
1270     }
1271
1272     /*! This is used for translation of the word that will possibly
1273      *  be followed by a single name or by a list of names 
1274      *  of the category.
1275      */
1276     virtual QCString trGlobal(bool first_capital, bool singular)
1277     { 
1278       QCString result((first_capital ? "Definisi" : "definisi"));
1279       if (!singular)  result+="-definisi";
1280       result += " global";
1281       return result; 
1282     }
1283
1284 //////////////////////////////////////////////////////////////////////////
1285 // new since 1.2.7
1286 //////////////////////////////////////////////////////////////////////////
1287
1288     /*! This text is generated when the \\author command is used and
1289      *  for the author section in man pages. */
1290     virtual QCString trAuthor(bool first_capital, bool)
1291     {                                                                         
1292       QCString result((first_capital ? "Penulis" : "penulis"));
1293       //if (!singular)  result+="s";
1294       return result; 
1295     }
1296
1297 //////////////////////////////////////////////////////////////////////////
1298 // new since 1.2.11
1299 //////////////////////////////////////////////////////////////////////////
1300
1301     /*! This text is put before the list of members referenced by a member
1302      */
1303     virtual QCString trReferences()
1304     {
1305       return "Referensi";
1306     }
1307
1308 //////////////////////////////////////////////////////////////////////////
1309 // new since 1.2.13
1310 //////////////////////////////////////////////////////////////////////////
1311
1312     /*! used in member documentation blocks to produce a list of 
1313      *  members that are implemented by this one.
1314      */
1315     virtual QCString trImplementedFromList(int numEntries)
1316     {
1317       return "Mengimplementasikan "+trWriteList(numEntries)+".";
1318     }
1319
1320     /*! used in member documentation blocks to produce a list of
1321      *  all members that implement this abstract member.
1322      */
1323     virtual QCString trImplementedInList(int numEntries)
1324     {
1325       return "Diimplementasikan di "+trWriteList(numEntries)+".";
1326     }
1327
1328 //////////////////////////////////////////////////////////////////////////
1329 // new since 1.2.16
1330 //////////////////////////////////////////////////////////////////////////
1331
1332     /*! used in RTF documentation as a heading for the Table
1333      *  of Contents.
1334      */
1335     virtual QCString trRTFTableOfContents()
1336     {
1337       return "Daftar Isi";
1338     }
1339
1340 //////////////////////////////////////////////////////////////////////////
1341 // new since 1.2.17
1342 //////////////////////////////////////////////////////////////////////////
1343
1344     /*! Used as the header of the list of item that have been 
1345      *  flagged deprecated 
1346      */
1347     virtual QCString trDeprecatedList()
1348     {
1349       return "Daftar Kadaluarsa";
1350     }
1351
1352 //////////////////////////////////////////////////////////////////////////
1353 // new since 1.2.18
1354 //////////////////////////////////////////////////////////////////////////
1355
1356     /*! Used as a header for declaration section of the events found in 
1357      * a C# program
1358      */
1359     virtual QCString trEvents()
1360     {
1361       return "Event";
1362     }
1363     /*! Header used for the documentation section of a class' events. */
1364     virtual QCString trEventDocumentation()
1365     {
1366       return "Dokumentasi Event";
1367     }
1368
1369 //////////////////////////////////////////////////////////////////////////
1370 // new since 1.3
1371 //////////////////////////////////////////////////////////////////////////
1372
1373     /*! Used as a heading for a list of Java class types with package scope.
1374      */
1375     virtual QCString trPackageTypes()
1376     { 
1377       return "Jenis Paket";
1378     }
1379     /*! Used as a heading for a list of Java class functions with package 
1380      * scope. 
1381      */
1382     virtual QCString trPackageMembers()
1383     { 
1384       return "Daftar Fungsi Paket";
1385     }
1386     /*! Used as a heading for a list of static Java class functions with 
1387      *  package scope.
1388      */
1389     virtual QCString trStaticPackageMembers()
1390     { 
1391       return "Daftar Fungsi Statis Paket";
1392     }
1393     /*! Used as a heading for a list of Java class variables with package 
1394      * scope.
1395      */
1396     virtual QCString trPackageAttribs()
1397     { 
1398       return "Daftar Atribut Paket";
1399     }
1400     /*! Used as a heading for a list of static Java class variables with 
1401      * package scope.
1402      */
1403     virtual QCString trStaticPackageAttribs()
1404     { 
1405       return "Daftar Atribut Statis Paket";
1406     }
1407
1408 //////////////////////////////////////////////////////////////////////////
1409 // new since 1.3.1
1410 //////////////////////////////////////////////////////////////////////////
1411
1412     /*! Used in the quick index of a class/file/namespace member list page 
1413      *  to link to the unfiltered list of all members.
1414      */
1415     virtual QCString trAll()
1416     {
1417       return "Semua";
1418     }
1419     /*! Put in front of the call graph for a function. */
1420     virtual QCString trCallGraph()
1421     {
1422       return "Berikut ini bagan fungsi-terpanggil untuk fungsi ini:";
1423     }
1424
1425 //////////////////////////////////////////////////////////////////////////
1426 // new since 1.3.3
1427 //////////////////////////////////////////////////////////////////////////
1428
1429     /*! When the search engine is enabled this text is put in the header 
1430      *  of each page before the field where one can enter the text to search 
1431      *  for. 
1432      */
1433     virtual QCString trSearchForIndex()
1434     {
1435       return "Cari";
1436     }
1437     /*! This string is used as the title for the page listing the search
1438      *  results.
1439      */
1440     virtual QCString trSearchResultsTitle()
1441     {
1442       return "Hasil Pencarian";
1443     }
1444     /*! This string is put just before listing the search results. The
1445      *  text can be different depending on the number of documents found.
1446      *  Inside the text you can put the special marker $num to insert
1447      *  the number representing the actual number of search results.
1448      *  The @a numDocuments parameter can be either 0, 1 or 2, where the 
1449      *  value 2 represents 2 or more matches. HTML markup is allowed inside
1450      *  the returned string.
1451      */
1452     virtual QCString trSearchResults(int numDocuments)
1453     {
1454       if (numDocuments==0)
1455       {
1456         return "Maaf, tidak ada dokumen yang cocok.";
1457       }
1458       else if (numDocuments==1)
1459       {
1460         return "Ditemukan <b>1</b> dokumen yang cocok.";
1461       }
1462       else 
1463       {
1464         return "Ditemukan <b>$num</b> documents yang cocok. "
1465                "Menampilkan hasil terbaik lebih awal.";
1466       }
1467     }
1468     /*! This string is put before the list of matched words, for each search 
1469      *  result. What follows is the list of words that matched the query.
1470      */
1471     virtual QCString trSearchMatches()
1472     {
1473       return "Kecocokan:";
1474     }
1475
1476 //////////////////////////////////////////////////////////////////////////
1477 // new since 1.3.8
1478 //////////////////////////////////////////////////////////////////////////
1479
1480     /*! This is used in HTML as the title of page with source code for file filename
1481      */
1482     virtual QCString trSourceFile(QCString& filename)
1483     {
1484       return "Kode Sumber:" + filename;
1485     }
1486
1487 //////////////////////////////////////////////////////////////////////////
1488 // new since 1.3.9
1489 //////////////////////////////////////////////////////////////////////////
1490
1491     /*! This is used as the name of the chapter containing the directory
1492      *  hierarchy.
1493      */
1494     virtual QCString trDirIndex()
1495     { return "Hierarki Direktori"; }
1496
1497     /*! This is used as the name of the chapter containing the documentation
1498      *  of the directories.
1499      */
1500     virtual QCString trDirDocumentation()
1501     { return "Dokumentasi Direktori"; }
1502
1503     /*! This is used as the title of the directory index and also in the
1504      *  Quick links of an HTML page, to link to the directory hierarchy.
1505      */
1506     virtual QCString trDirectories()
1507     { return "Daftar Direktori"; }
1508
1509     /*! This returns a sentences that introduces the directory hierarchy. 
1510      *  and the fact that it is sorted alphabetically per level
1511      */
1512     virtual QCString trDirDescription()
1513     { return "Struktur direktori ini diurutkan hampir berdasarkan abjad:";
1514     }
1515
1516     /*! This returns the title of a directory page. The name of the
1517      *  directory is passed via \a dirName.
1518      */
1519     virtual QCString trDirReference(const char *dirName)
1520     { QCString result="Referensi Direktori "; result+=dirName; return result; }
1521
1522     /*! This returns the word directory with or without starting capital
1523      *  (\a first_capital) and in sigular or plural form (\a singular).
1524      */
1525     virtual QCString trDir(bool first_capital, bool)
1526     { 
1527       QCString result((first_capital ? "Direktori" : "direktori"));
1528       //if (singular) result+="y"; else result+="ies";
1529       return result; 
1530     }
1531
1532 //////////////////////////////////////////////////////////////////////////
1533 // new since 1.4.1
1534 //////////////////////////////////////////////////////////////////////////
1535
1536     /*! This text is added to the documentation when the \\overload command
1537      *  is used for a overloaded function.
1538      */
1539     virtual QCString trOverloadText()
1540     {
1541       return "Ini adalah fungsi anggota yang di-overload"
1542         " untuk kemudahan. Perbedaannya dengan fungsi di atas"
1543         " hanya pada parameter-parameter yang diterima.";
1544     }
1545
1546 //////////////////////////////////////////////////////////////////////////
1547 // new since 1.4.6
1548 //////////////////////////////////////////////////////////////////////////
1549
1550     /*! This is used to introduce a caller (or called-by) graph */
1551     virtual QCString trCallerGraph()
1552     {
1553       return "Berikut ini bagan fungsi-pemanggil untuk fungsi ini:";
1554     }
1555
1556     /*! This is used in the documentation of a file/namespace before the list 
1557      *  of documentation blocks for enumeration values
1558      */
1559     virtual QCString trEnumerationValueDocumentation()
1560     { return "Dokumentasi Nilai Enumerasi"; }
1561
1562 //////////////////////////////////////////////////////////////////////////
1563 // new since 1.5.4 (mainly for Fortran)
1564 //////////////////////////////////////////////////////////////////////////
1565     
1566     /*! header that is put before the list of member subprograms (Fortran). */
1567     virtual QCString trMemberFunctionDocumentationFortran()
1568     { return "Dokumentasi Fungsi/Subrutin Anggota"; }
1569
1570     /*! This is put above each page as a link to the list of annotated data types (Fortran). */    
1571     virtual QCString trCompoundListFortran()
1572     { return "Daftar Tipe Data"; }
1573
1574     /*! This is put above each page as a link to all members of compounds (Fortran). */
1575     virtual QCString trCompoundMembersFortran()
1576     { return "Variabel Data"; }
1577
1578     /*! This is an introduction to the annotated compound list (Fortran). */
1579     virtual QCString trCompoundListDescriptionFortran()
1580     { return "Berikut daftar tipe data, dengan penjelasan singkat:"; }
1581
1582     /*! This is an introduction to the page with all data types (Fortran). */
1583     virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)
1584     {
1585       QCString result="Berikut daftar semua anggota tipe data ";
1586       if (!extractAll)
1587       {
1588         result+="terdokumentasi ";
1589       }
1590       result+=" dengan tautan ke ";
1591       if (!extractAll) 
1592       {
1593          result+="dokumentasi struktur data untuk setiap anggota:";
1594       }
1595       else 
1596       {
1597          result+="tipe data yang memuatnya:";
1598       }
1599       return result;
1600     }
1601
1602     /*! This is used in LaTeX as the title of the chapter with the 
1603      * annotated compound index (Fortran).
1604      */
1605     virtual QCString trCompoundIndexFortran()
1606     { return "Indeks Tipe Data"; }
1607
1608     /*! This is used in LaTeX as the title of the chapter containing
1609      *  the documentation of all data types (Fortran).
1610      */
1611     virtual QCString trTypeDocumentation()
1612     { return "Dokumentasi Tipe Data"; }
1613
1614     /*! This is used in the documentation of a file as a header before the 
1615      *  list of (global) subprograms (Fortran).
1616      */
1617     virtual QCString trSubprograms()
1618     { return "Fungsi/Subrutin"; }
1619
1620     /*! This is used in the documentation of a file/namespace before the list 
1621      *  of documentation blocks for subprograms (Fortran)
1622      */
1623     virtual QCString trSubprogramDocumentation()
1624     { return "Dokumentasi Fungsi/Subrutin"; }
1625
1626     /*! This is used in the documentation of a file/namespace/group before 
1627      *  the list of links to documented compounds (Fortran)
1628      */
1629      virtual QCString trDataTypes()
1630     { return "Tipe Data"; }
1631     
1632     /*! used as the title of page containing all the index of all modules (Fortran). */
1633     virtual QCString trModulesList()
1634     { return "Modules List"; }
1635
1636     /*! used as an introduction to the modules list (Fortran) */
1637     virtual QCString trModulesListDescription(bool extractAll)
1638     {
1639       QCString result="Berikut daftar semua modul";
1640       if (!extractAll) result+=" terdokumentasi";
1641       result+=", dengan penjelasan singkat:";
1642       return result;
1643     }
1644
1645     /*! used as the title of the HTML page of a module/type (Fortran) */
1646     virtual QCString trCompoundReferenceFortran(const char *clName,
1647                                     ClassDef::CompoundType compType,
1648                                     bool isTemplate)
1649     {
1650       QCString result="Referensi ";
1651       if (isTemplate) result+="Template ";
1652       switch(compType)
1653       {
1654         case ClassDef::Class:      result+="Modul "; break;
1655         case ClassDef::Struct:     result+="Tipe "; break;
1656         case ClassDef::Union:      result+="Union "; break;
1657         case ClassDef::Interface:  result+="Antarmuka "; break;
1658         case ClassDef::Protocol:   result+="Protokol "; break;
1659         case ClassDef::Category:   result+="Kategori "; break;
1660         case ClassDef::Exception:  result+="Eksepsi "; break;
1661       }
1662       result+=(QCString)clName;
1663       return result;
1664     }
1665     /*! used as the title of the HTML page of a module (Fortran) */
1666     virtual QCString trModuleReference(const char *namespaceName)
1667     {
1668       QCString result="Referensi Modul ";
1669       result+=namespaceName;
1670       return result;
1671     }
1672     
1673     /*! This is put above each page as a link to all members of modules. (Fortran) */
1674     virtual QCString trModulesMembers()
1675     { return "Anggota Modul"; }
1676
1677     /*! This is an introduction to the page with all modules members (Fortran) */
1678     virtual QCString trModulesMemberDescription(bool extractAll)
1679     { 
1680       QCString result="Berikut daftar semua anggota modul ";
1681       if (!extractAll) result+="terdokumentasi ";
1682       result+="dengan tautan ke ";
1683       if (extractAll) 
1684       {
1685         result+="dokumentasi modul untuk setiap anggota:";
1686       }
1687       else 
1688       {
1689         result+="modul yang memuatnya:";
1690       }
1691       return result;
1692     }
1693
1694     /*! This is used in LaTeX as the title of the chapter with the 
1695      *  index of all modules (Fortran).
1696      */
1697     virtual QCString trModulesIndex()
1698     { return "Indeks Modul"; }
1699     
1700     /*! This is used for translation of the word that will possibly
1701      *  be followed by a single name or by a list of names 
1702      *  of the category.
1703      */
1704     virtual QCString trModule(bool first_capital, bool singular)
1705     {       
1706       QCString result((first_capital ? "Modul" : "modul"));
1707       if (!singular)  result+="-modul";
1708       return result; 
1709     }
1710     /*! This is put at the bottom of a module documentation page and is
1711      *  followed by a list of files that were used to generate the page.
1712      */
1713     virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType,
1714         bool single)
1715     { // here s is one of " Module", " Struct" or " Union"
1716       // single is true implies a single file
1717       QCString result=(QCString)"Dokumentasi untuk ";
1718       switch(compType)
1719       {
1720         case ClassDef::Class:      result+="module"; break;
1721         case ClassDef::Struct:     result+="type"; break;
1722         case ClassDef::Union:      result+="union"; break;
1723         case ClassDef::Interface:  result+="interface"; break;
1724         case ClassDef::Protocol:   result+="protocol"; break;
1725         case ClassDef::Category:   result+="category"; break;
1726         case ClassDef::Exception:  result+="exception"; break;
1727       }
1728       result+=" ini dibangkitkan dari file";
1729       if (!single) result+="-file ";
1730           result+="berikut:";
1731       return result;
1732     }
1733     /*! This is used for translation of the word that will possibly
1734      *  be followed by a single name or by a list of names 
1735      *  of the category.
1736      */
1737     virtual QCString trType(bool first_capital, bool singular)
1738     { 
1739       QCString result((first_capital ? "Tipe" : "tipe"));
1740       if (!singular)  result+="-tipe";
1741       return result; 
1742     }
1743     /*! This is used for translation of the word that will possibly
1744      *  be followed by a single name or by a list of names 
1745      *  of the category.
1746      */
1747     virtual QCString trSubprogram(bool first_capital, bool singular)
1748     { 
1749       QCString result((first_capital ? "Subprogram" : "subprogram"));
1750       if (!singular)  result+="-subprogram";
1751       return result; 
1752     }
1753
1754     /*! C# Type Constraint list */
1755     virtual QCString trTypeConstraints()
1756     {
1757       return "Batasan Tipe";
1758     }
1759
1760 //////////////////////////////////////////////////////////////////////////
1761 // new since 1.6.0 (mainly for the new search engine)
1762 //////////////////////////////////////////////////////////////////////////
1763
1764     /*! directory relation for \a name */
1765     virtual QCString trDirRelation(const char *name)
1766     {
1767       return "Relasi "+QCString(name);
1768     }
1769
1770     /*! Loading message shown when loading search results */
1771     virtual QCString trLoading()
1772     {
1773       return "Memuat...";
1774     }
1775
1776     /*! Label used for search results in the global namespace */
1777     virtual QCString trGlobalNamespace()
1778     {
1779       return "Namespace Global";
1780     }
1781
1782     /*! Message shown while searching */
1783     virtual QCString trSearching()
1784     {
1785       return "Mencari...";
1786     }
1787
1788     /*! Text shown when no search results are found */
1789     virtual QCString trNoMatches()
1790     {
1791       return "Tidak Ditemukan";
1792     }
1793
1794 //////////////////////////////////////////////////////////////////////////
1795 // new since 1.6.3 (missing items for the directory pages)
1796 //////////////////////////////////////////////////////////////////////////
1797
1798     /*! introduction text for the directory dependency graph */
1799     virtual QCString trDirDependency(const char *name)
1800     {
1801       return (QCString)"Bagan dependensi direktori untuk "+name;
1802     }
1803
1804     /*! when clicking a directory dependency label, a page with a
1805      *  table is shown. The heading for the first column mentions the
1806      *  source file that has a relation to another file.
1807      */
1808     virtual QCString trFileIn(const char *name)
1809     {
1810       return (QCString)"File dimuat dalam "+name;
1811     }
1812
1813     /*! when clicking a directory dependency label, a page with a
1814      *  table is shown. The heading for the second column mentions the
1815      *  destination file that is included.
1816      */
1817     virtual QCString trIncludesFileIn(const char *name)
1818     {
1819       return (QCString)"Memuat file dalam "+name;
1820     }
1821
1822     /** Compiles a date string. 
1823      *  @param year Year in 4 digits
1824      *  @param month Month of the year: 1=January
1825      *  @param day Day of the Month: 1..31
1826      *  @param dayOfWeek Day of the week: 1=Monday..7=Sunday
1827      *  @param hour Hour of the day: 0..23
1828      *  @param minutes Minutes in the hour: 0..59
1829      *  @param seconds Seconds within the minute: 0..59
1830      *  @param includeTime Include time in the result string?
1831      */
1832     virtual QCString trDateTime(int year,int month,int day,int dayOfWeek,
1833                                 int hour,int minutes,int seconds,
1834                                 bool includeTime)
1835     {
1836       static const char *days[]   = { "Senin","Selasa","Rabu","Kamis","Jumat","Sabtu","Minggu" };
1837       static const char *months[] = { "Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember" };
1838       QCString sdate;
1839       sdate.sprintf("%s %d %s %d",days[dayOfWeek-1],day,months[month-1],year);
1840       if (includeTime)
1841       {
1842         QCString stime;
1843         stime.sprintf(" %.2d:%.2d:%.2d",hour,minutes,seconds);
1844         sdate+=stime;
1845       }
1846       return sdate;
1847     }
1848
1849 //////////////////////////////////////////////////////////////////////////
1850 // new since 1.7.5
1851 //////////////////////////////////////////////////////////////////////////
1852
1853     /*! Header for the page with bibliographic citations */
1854     virtual QCString trCiteReferences()
1855     { return "Daftar Pustaka"; }
1856
1857     /*! Text for copyright paragraph */
1858     virtual QCString trCopyright()
1859     { return "Hak Cipta"; }
1860
1861     /*! Header for the graph showing the directory dependencies */
1862     virtual QCString trDirDepGraph(const char *name)
1863     { return QCString("Bagan dependensi directori untuk ")+name+":"; }
1864
1865 };
1866
1867 #endif