# translation of sed-4.0.9.id.po to Indonesian
# sed 4.0.9 (Indonesian)
# Copyright (C) 1999, 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
# This file is distributed under the same license as the sed package.
# Tedi Heriyanto <tedi_h@gmx.net>, 2002, 2003, 2004.
# Arif E. Nugroho <arif_endro@yahoo.com>, 2008.
#
msgid ""
msgstr ""
"Project-Id-Version: sed 4.2.0\n"
"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
"POT-Creation-Date: 2009-06-27 15:08+0200\n"
"PO-Revision-Date: 2008-11-09 20:15+0700\n"
"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#: sed/compile.c:161
msgid "multiple `!'s"
msgstr "multiple `!'"

#: sed/compile.c:162
msgid "unexpected `,'"
msgstr "tidak diduga `,'"

#: sed/compile.c:163
msgid "invalid usage of +N or ~N as first address"
msgstr "penggunaan tidak valid dari +N atau ~N sebagai alamat pertama"

#: sed/compile.c:164
msgid "unmatched `{'"
msgstr "tidak cocok `{'"

#: sed/compile.c:165
msgid "unexpected `}'"
msgstr "tidak diduga `}'"

#: sed/compile.c:166
msgid "extra characters after command"
msgstr "karakter tambahan setelah perintah"

#: sed/compile.c:167
msgid "expected \\ after `a', `c' or `i'"
msgstr "diharapkan \\ setelah `a', `c' atau `i'"

#: sed/compile.c:168
msgid "`}' doesn't want any addresses"
msgstr "`}' tidak menginginkan alamat apapun"

#: sed/compile.c:169
msgid ": doesn't want any addresses"
msgstr ": tidak menginginkan alamat apapun"

#: sed/compile.c:170
msgid "comments don't accept any addresses"
msgstr "komentar tidak menerima alamat apapun"

#: sed/compile.c:171
msgid "missing command"
msgstr "perintah hilang"

#: sed/compile.c:172
msgid "command only uses one address"
msgstr "perintah hanya menggunakan satu alamat"

#: sed/compile.c:173
msgid "unterminated address regex"
msgstr "alamat regex yang tidak selesai"

#: sed/compile.c:174
msgid "unterminated `s' command"
msgstr "perintah `s' tidak selesai"

#: sed/compile.c:175
msgid "unterminated `y' command"
msgstr "perintah `y' tidak selesai"

#: sed/compile.c:176
msgid "unknown option to `s'"
msgstr "opsi `s' tidak diketahui"

#: sed/compile.c:177
msgid "multiple `p' options to `s' command"
msgstr "multiple opsi `p' untuk perintah `s'"

#: sed/compile.c:178
msgid "multiple `g' options to `s' command"
msgstr "multiple opsi `g' untuk perintah `s'"

#: sed/compile.c:179
msgid "multiple number options to `s' command"
msgstr "multiple jumlah opsi untuk perintah `s'"

#: sed/compile.c:180
msgid "number option to `s' command may not be zero"
msgstr "jumlah opsi untuk perintah `s' tidak boleh nol"

#: sed/compile.c:181
msgid "strings for `y' command are different lengths"
msgstr "string untuk perintah `y' memiliki panjang berbeda"

#: sed/compile.c:182
msgid "delimiter character is not a single-byte character"
msgstr "karakter pembatas bukan sebuah karakter byte-tunggal"

#: sed/compile.c:183
msgid "expected newer version of sed"
msgstr "diduga versi baru sed"

#: sed/compile.c:184
msgid "invalid usage of line address 0"
msgstr "penggunaan tidak dari baris alamat 0"

#: sed/compile.c:185
#, c-format
msgid "unknown command: `%c'"
msgstr "perintah: `%c' tidak dikenal"

#: sed/compile.c:208
#, c-format
msgid "%s: file %s line %lu: %s\n"
msgstr "%s: berkas %s baris %lu: %s\n"

#: sed/compile.c:211
#, c-format
msgid "%s: -e expression #%lu, char %lu: %s\n"
msgstr "%s: -e ekspresi #%lu, char %lu: %s\n"

#: sed/compile.c:1665
#, c-format
msgid "can't find label for jump to `%s'"
msgstr "Tidak dapat menemukan label untuk melompat ke `%s'"

#: sed/execute.c:709
#, c-format
msgid "%s: can't read %s: %s\n"
msgstr "%s: tidak dapat membaca %s: %s\n"

#: sed/execute.c:740
#, c-format
msgid "couldn't edit %s: is a terminal"
msgstr "tidak dapat mengubah %s: adalah sebuah terminal"

#: sed/execute.c:745
#, c-format
msgid "couldn't edit %s: not a regular file"
msgstr "tidak dapat mengubah %s: bukan berkas regular"

#: sed/execute.c:757
#, c-format
msgid "%s: warning: failed to set default file creation context to %s: %s"
msgstr ""

#: sed/execute.c:764
#, c-format
msgid "%s: warning: failed to get security context of %s: %s"
msgstr ""

#: sed/execute.c:783 sed/utils.c:227
#, c-format
msgid "couldn't open temporary file %s: %s"
msgstr "Tidak dapat membuka berkas sementara %s: %s"

#: sed/execute.c:1317 sed/execute.c:1497
msgid "error in subprocess"
msgstr "kesalahan dalam subproses"

#: sed/execute.c:1319
msgid "option `e' not supported"
msgstr "optsi `e' tidak didukung"

#: sed/execute.c:1499
msgid "`e' command not supported"
msgstr "perintah `e' tidak didukung"

#: sed/execute.c:1843
msgid "no input files"
msgstr "tidak ada berkas masukan"

#: sed/regexp.c:41
msgid "no previous regular expression"
msgstr "Tidak ada reguler ekspresi sebelumnya"

#: sed/regexp.c:42
msgid "cannot specify modifiers on empty regexp"
msgstr "Tidak dapat menspesifikasikan pemodifikasi pada regexp kosong"

#: sed/regexp.c:131
#, c-format
msgid "invalid reference \\%d on `s' command's RHS"
msgstr "referensi tidak valid \\%d pada perintah `s' RHS"

#: sed/sed.c:97
#, c-format
msgid ""
"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
msgstr ""

#: sed/sed.c:104
#, fuzzy, c-format
msgid ""
"E-mail bug reports to: <%s>.\n"
"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
msgstr ""
"Laporkan bug ke email: %s \n"
"Pastikan untuk menyertakan kata \"%s\" di field \"Subject:\".\n"

#: sed/sed.c:117
msgid ""
"  -R, --regexp-perl\n"
"                 use Perl 5's regular expressions syntax in the script.\n"
msgstr ""
"  -R, --regexp-perl\n"
"                 gunakan sintaks reguler ekspresi Perl 5 dalam skrip.\n"

#: sed/sed.c:122
#, c-format
msgid ""
"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
"\n"
msgstr ""
"Penggunaan: %s [OPSI]... {hanya-script-jika-tidak-ada-script-lain} [berkas-"
"masukan]...\n"
"\n"

#: sed/sed.c:126
#, c-format
msgid ""
"  -n, --quiet, --silent\n"
"                 suppress automatic printing of pattern space\n"
msgstr ""
"  -n, --quiet, --silent\n"
"                 tekan penampilan otomatis dari pola ruang\n"

#: sed/sed.c:128
#, c-format
msgid ""
"  -e script, --expression=script\n"
"                 add the script to the commands to be executed\n"
msgstr ""
"  -e script, --expression=script\n"
"                 tambahkan script ke perintah untuk dijalankan\n"

#: sed/sed.c:130
#, c-format
msgid ""
"  -f script-file, --file=script-file\n"
"                 add the contents of script-file to the commands to be "
"executed\n"
msgstr ""
"  -f berkas-script, --file=berkas-script\n"
"                 tambahkan isi dari berkas-script ke perintah yang akan "
"dijalankan\n"

#: sed/sed.c:133
#, c-format
msgid ""
"  --follow-symlinks\n"
"                 follow symlinks when processing in place\n"
msgstr ""
"  --follow-symlinks\n"
"                 ikuti symlinks ketika pemrosesan di tempat\n"

#: sed/sed.c:136
#, c-format
msgid ""
"  -i[SUFFIX], --in-place[=SUFFIX]\n"
"                 edit files in place (makes backup if extension supplied)\n"
msgstr ""
"  -i[AKHIRAN], --in-place[=AKHIRAN]\n"
"                 ubah berkas di tempat (buat backup jika ekstensi "
"diberikan)\n"

#: sed/sed.c:139
#, c-format
msgid ""
"  -b, --binary\n"
"                 open files in binary mode (CR+LFs are not processed "
"specially)\n"
msgstr ""
"  -b, --binary\n"
"                 buka berkas dalam mode binari (CR+LF tidak diproses secara "
"spesial)\n"

#: sed/sed.c:142
#, c-format
msgid ""
"  -l N, --line-length=N\n"
"                 specify the desired line-wrap length for the `l' command\n"
msgstr ""
"  -l N, --line-length=N\n"
"                 spesifikasikan panjang line-wrap yang diinginkan untuk "
"perintah `l'\n"

#: sed/sed.c:144
#, c-format
msgid ""
"  --posix\n"
"                 disable all GNU extensions.\n"
msgstr ""
"  --posix\n"
"                 non-aktifkan seluruh ekstensi GNU.\n"

#: sed/sed.c:146
#, c-format
msgid ""
"  -r, --regexp-extended\n"
"                 use extended regular expressions in the script.\n"
msgstr ""
"  -r, --regexp-extended\n"
"                 gunakan ekspresi ekstensi regular dalam skrip.\n"

#: sed/sed.c:151
#, c-format
msgid ""
"  -s, --separate\n"
"                 consider files as separate rather than as a single "
"continuous\n"
"                 long stream.\n"
msgstr ""
"  -s, --separate\n"
"                 pertimbangkat berkas sebagai terpisah daripa sebagai "
"sebuah\n"
"                 stream tunggal panjang berkelanjutan.\n"

#: sed/sed.c:154
#, c-format
msgid ""
"  -u, --unbuffered\n"
"                 load minimal amounts of data from the input files and "
"flush\n"
"                 the output buffers more often\n"
msgstr ""
"  -u, --unbuffered\n"
"                 load jumlah minimal dari data dari berkas masukan dan "
"flush\n"
"                 buffer keluaran lebih sering\n"

#: sed/sed.c:157
#, c-format
msgid "      --help     display this help and exit\n"
msgstr "      --help     tampilkan pesan bantuan dan keluar\n"

#: sed/sed.c:158
#, c-format
msgid "      --version  output version information and exit\n"
msgstr "      --version  keluarkan informasi versi dan keluar\n"

#: sed/sed.c:159
#, c-format
msgid ""
"\n"
"If no -e, --expression, -f, or --file option is given, then the first\n"
"non-option argument is taken as the sed script to interpret.  All\n"
"remaining arguments are names of input files; if no input files are\n"
"specified, then the standard input is read.\n"
"\n"
msgstr ""
"\n"
"Jika tidak ada opsi -e, --expression, -f, atau -f diberikan, maka argumen\n"
"bukan-opsi pertama diambil sebagai script yang akan diinterpretasikan.\n"
"Seluruh argumen yang tersisa adalah nama dari berkas masukan; jika tidak "
"ada\n"
"berkas masukan yang dispesifikasikan, maka standar masukan yang dibaca.\n"
"\n"

#: sed/sed.c:315
#, c-format
msgid "super-sed version %s\n"
msgstr "super-sed versi %s\n"

#: sed/sed.c:316
#, c-format
msgid ""
"based on GNU sed version %s\n"
"\n"
msgstr ""
"berdasarkan pada GNU sed versi %s\n"
"\n"

#: sed/sed.c:318
#, c-format
msgid "GNU sed version %s\n"
msgstr "GNU sed versi %s\n"

#: sed/sed.c:320
#, fuzzy, c-format
msgid ""
"Copyright (C) %d Free Software Foundation, Inc.\n"
"This is free software; see the source for copying conditions.  There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
"to the extent permitted by law.\n"
msgstr ""
"%s\n"
"Ini adalah aplikasi bebas; lihat kode program untuk persyaratan penyalinan.\n"
"TIDAK ADA garansi disini; bahkan untuk DIPERDAGANGKAN atau KECOCOKAN UNTUK "
"TUJUAN TERTENTU,\n"
"sejauh diijinkan oleh hukum yang berlaku.\n"

#: sed/utils.c:93 sed/utils.c:438
#, c-format
msgid "cannot remove %s: %s"
msgstr "tidak dapat menghapus %s: %s"

#: sed/utils.c:163
#, c-format
msgid "couldn't open file %s: %s"
msgstr "tidak dapat membuka berkas %s: %s"

#: sed/utils.c:186
#, c-format
msgid "couldn't attach to %s: %s"
msgstr "tidak dapat meng-attach ke %s: %s"

#: sed/utils.c:245
#, c-format
msgid "couldn't write %d item to %s: %s"
msgid_plural "couldn't write %d items to %s: %s"
msgstr[0] "tidak dapat menulis %d item ke %s: %s"

#: sed/utils.c:260 sed/utils.c:276
#, c-format
msgid "read error on %s: %s"
msgstr "kesalahan pembacaan pada %s: %s"

#: sed/utils.c:378
#, c-format
msgid "couldn't follow symlink %s: %s"
msgstr "tidak dapat mengikuti symlink %s: %s"

#: sed/utils.c:412
#, c-format
msgid "cannot stat %s: %s"
msgstr "tidak dapat memperoleh statistik %s: %s"

#: sed/utils.c:443
#, c-format
msgid "cannot rename %s: %s"
msgstr "tidak dapat mengubah nama %s: %s"

#: lib/regcomp.c:134
msgid "Success"
msgstr "Sukses"

#: lib/regcomp.c:137
msgid "No match"
msgstr "Tidak cocok"

#: lib/regcomp.c:140
msgid "Invalid regular expression"
msgstr "Reguler ekspresi tidak valid"

#: lib/regcomp.c:143
msgid "Invalid collation character"
msgstr "Karakter kolasi tidak valid"

#: lib/regcomp.c:146
msgid "Invalid character class name"
msgstr "Nama kelas karakter tidak valid"

#: lib/regcomp.c:149
msgid "Trailing backslash"
msgstr "Trailing backslash"

#: lib/regcomp.c:152
msgid "Invalid back reference"
msgstr "Referensi balik tidak valid"

#: lib/regcomp.c:155
msgid "Unmatched [ or [^"
msgstr "[ atau [^ tidak sesuai"

#: lib/regcomp.c:158
msgid "Unmatched ( or \\("
msgstr "( atau \\( tidak sesuai"

#: lib/regcomp.c:161
msgid "Unmatched \\{"
msgstr "\\{ tidak sesuai"

#: lib/regcomp.c:164
msgid "Invalid content of \\{\\}"
msgstr "Isi \\{\\} tidak valid"

#: lib/regcomp.c:167
msgid "Invalid range end"
msgstr "Batas akhir tidak valid"

#: lib/regcomp.c:170
msgid "Memory exhausted"
msgstr "Kehabisan memori"

#: lib/regcomp.c:173
msgid "Invalid preceding regular expression"
msgstr "Reguler ekspresi yang mengawali tidak valid"

#: lib/regcomp.c:176
msgid "Premature end of regular expression"
msgstr "Reguler ekspresi berakhir prematur"

#: lib/regcomp.c:179
msgid "Regular expression too big"
msgstr "Reguler ekspresi terlalu besar"

#: lib/regcomp.c:182
msgid "Unmatched ) or \\)"
msgstr ") atau \\) tidak sesuai"

#: lib/regcomp.c:703
msgid "No previous regular expression"
msgstr "Tidak ada reguler ekspresi sebelumnya"

#~ msgid "Called savchar() with unexpected pushback (%x)"
#~ msgstr "Dipanggil savchar() dengan pushback (%x) yang tidak diharapkan"

#~ msgid "INTERNAL ERROR: bad address type"
#~ msgstr "KESALAHAN INTERNAL: tipe alamat buruk"

#~ msgid "INTERNAL ERROR: Bad cmd %c"
#~ msgstr "KESALAHAN INTERNAL: Perintah %c buruk"

#~ msgid ""
#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
#~ "\n"
#~ "  -n, --quiet, --silent\n"
#~ "                 suppress automatic printing of pattern space\n"
#~ "  -e script, --expression=script\n"
#~ "                 add the script to the commands to be executed\n"
#~ "  -f script-file, --file=script-file\n"
#~ "                 add the contents of script-file to the commands to be "
#~ "executed\n"
#~ "  -i[suffix], --in-place[=suffix]\n"
#~ "                 edit files in place (makes backup if extension "
#~ "supplied)\n"
#~ "  -l N, --line-length=N\n"
#~ "                 specify the desired line-wrap length for the `l' "
#~ "command\n"
#~ "  -r, --regexp-extended\n"
#~ "                 use extended regular expressions in the script.\n"
#~ "%s  -s, --separate\n"
#~ "                 consider files as separate rather than as a single "
#~ "continuous\n"
#~ "                 long stream.\n"
#~ "  -u, --unbuffered\n"
#~ "                 load minimal amounts of data from the input files and "
#~ "flush\n"
#~ "                 the output buffers more often\n"
#~ "      --help     display this help and exit\n"
#~ "  -V, --version  output version information and exit\n"
#~ "\n"
#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
#~ "non-option argument is taken as the sed script to interpret.  All\n"
#~ "remaining arguments are names of input files; if no input files are\n"
#~ "specified, then the standard input is read.\n"
#~ "\n"
#~ msgstr ""
#~ "Penggunaan: %s [OPTION]... {script-only-if-no-other-script} [input-"
#~ "file]...\n"
#~ "\n"
#~ "  -n, --quiet, --silent\n"
#~ "                 tiadakan pencetakan otomatis ruang pola\n"
#~ "  -e script, --expression=script\n"
#~ "                 tambah skrip ke perintah yang akan dieksekusi\n"
#~ "  -f script-file, --file=script-file\n"
#~ "                 tambah isi file skrip ke perintah yang akan dieksekusi\n"
#~ " -i[suffix], --in-place[=suffix]\n"
#~ "                 edit file secara langsung (buat backup jika ada "
#~ "ekstensi)\n"
#~ "  -l N, --line-length=N\n"
#~ "                 spesifikasikan panjang baris pemotongan yang diinginkan "
#~ "untuk perintah `l'\n"
#~ " -r, --regexp-extended\n"
#~ "                 gunakan extended regular expressions dalam skrip .\n"
#~ "%s  -s, --separate\n"
#~ "                 anggap file sebagai stream terpisah alih-alih "
#~ "continuous\n"
#~ "                 long stream.\n"
#~ "  -u, --unbuffered\n"
#~ "\n"
#~ "      --help     tampilkan bantuan ini dan keluar\n"
#~ "  -V, --version  tampilkan informasi versi dan keluar\n"
#~ "\n"
#~ "Jika tidak diberikan opsi -e, --expression, -f, atau --file, maka "
#~ "argumen\n"
#~ "non-opsi pertama akan dianggap sebagai skrip sed untuk "
#~ "diinterpretasikan.  Seluruh\n"
#~ "argumen sisanya adalah nama file input; jika tidak ada file input\n"
#~ "dispesifikasikan, maka standar input akan dibaca.\n"
#~ "\n"

#~ msgid "Unexpected End-of-file"
#~ msgstr "Akhir file tidak diharapkan"
