;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; with all optimizations. ;;; This file contains utf-8 non-ASCII characters, ;;; and so cannot be loaded into Emacs 22 or earlier. (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (string-lessp emacs-version "23") (error "`%s' was compiled for Emacs 23 or later" #$)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@47 Version number of this version of po-mode.el. (defconst po-mode-version-string "2.27" (#$ . 408)) (byte-code "\300\301!\204 \302\301\303\"\210\300\304!\204\302\304\305\"\210\300\207" [fboundp set-translation-domain defalias #[(string) "\300\207" [nil] 1] translate-string #[(string) "\207" [string] 1]] 3) (defalias '_ #[(string) "\207" [string] 2]) (put '_ 'byte-optimizer 'byte-compile-inline-expand) (defalias 'N_ #[(string) "\207" [string] 1]) (byte-code "\300\301\302\303#\210\3041\305\306!0\202\210\202\210\307\306!\203\"\310\311!\2040\312\313\314\315B\"\210\312\316\314\317B\"\210\320\321\322\323\324\325%\210\311\326\322\327\330\331\324\321&\210\311\332\322\333\330\331\324\321&\210\311\334\335\336\330\337\324\321&\210\311\340\322\341\330\331\324\321&\210\311\342\322\343\330\331\324\321&\210\311\344\335\345\330\346\324\321&\210\311\347\335\350\330\351\324\321&\210\311\352\353\354\330\355\324\321&\210\311\356\357\360\330\355\324\321&\210\311\361\362\363\330\355\324\321&\210\311\364\335\365\330\331\324\321&\210\311\366\367\370\330\371\324\321&\210\311\372\373\374\330\375\324\321&\210\311\376\377\201@\330\355\324\321&\207" [put N_ byte-optimizer byte-compile-inline-expand (error) require custom featurep fboundp custom-declare-variable defalias defgroup macro #[(&rest args) "\300\207" [nil] 1] defcustom #[(var value doc &rest args) "\303 \nF\207" [var value doc defvar] 4] custom-declare-group po nil "Major mode for editing PO files" :group i18n po-auto-edit-with-msgid "*Automatically use msgid when editing untranslated entries." :type boolean po-auto-fuzzy-on-edit "*Automatically mark entries fuzzy when being edited." po-auto-delete-previous-msgid t "*Automatically delete previous msgid (marked #|) when editing entry.\nValue is nil, t, or ask." (choice (const nil) (const t) (const ask)) po-auto-select-on-unfuzzy "*Automatically select some new entry while making an entry not fuzzy." po-keep-mo-file "*Set whether MO file should be kept or discarded after validation." po-auto-update-file-header "*Automatically revise headers. Value is nil, t, or ask." (choice (const nil) (const t) (const ask)) po-auto-replace-revision-date "*Automatically revise date in headers. Value is nil, t, or ask." (choice (const nil) (const t) (const ask)) po-default-file-header "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Free Software Foundation, Inc.\n# FIRST AUTHOR , YEAR.\n#\n#, fuzzy\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: PACKAGE VERSION\\n\"\n\"PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\\n\"\n\"Last-Translator: FULL NAME \\n\"\n\"Language-Team: LANGUAGE \\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=CHARSET\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n" "*Default PO file header." string po-translation-project-address "robot@translationproject.org" "*Electronic mail address of the Translation Project.\nTyping \\[po-send-mail] (normally bound to `M') the user will send the PO file\nto this email address." po-translation-project-mail-label "TP-Robot" "*Subject label when sending the PO file to `po-translation-project-address'." po-highlighting "*Highlight text whenever appropriate, when non-nil.\nHowever, on older Emacses, a yet unexplained highlighting bug causes files\nto get mangled." po-highlight-face 'highlight "*The face used for PO mode highlighting. For Emacses with overlays.\nPossible values are 'highlight', 'modeline', 'secondary-selection',\n'region', and 'underline'.\nThis variable can be set by the user to whatever face they desire.\nIt's most convenient if the cursor color and highlight color are\nslightly different." face po-team-name-to-code '(("LANGUAGE" . "LL") ("(Afan) Oromo" . "om") ("Abkhazian" . "ab") ("Achinese" . "ace") ("Afar" . "aa") ("Afrikaans" . "af") ("Akan" . "ak") ("Albanian" . "sq") ("Amharic" . "am") ("Arabic" . "ar") ("Aragonese" . "an") ("Argentinian" . "es_AR") ("Armenian" . "hy") ("Assamese" . "as") ("Austrian" . "de_AT") ("Avaric" . "av") ("Avestan" . "ae") ("Awadhi" . "awa") ("Aymara" . "ay") ("Azerbaijani" . "az") ("Balinese" . "ban") ("Baluchi" . "bal") ("Bambara" . "bm") ("Bashkir" . "ba") ("Basque" . "eu") ("Beja" . "bej") ("Belarusian" . "be") ("Bemba" . "bem") ("Bengali" . "bn") ("Bhojpuri" . "bho") ("Bihari" . "bh") ("Bikol" . "bik") ("Bini" . "bin") ("Bislama" . "bi") ("Bosnian" . "bs") ("Brazilian Portuguese" . "pt_BR") ("Breton" . "br") ("Buginese" . "bug") ("Bulgarian" . "bg") ("Burmese" . "my") ("Catalan" . "ca") ("Cebuano" . "ceb") ("Central Khmer" . "km") ("Chamorro" . "ch") ("Chechen" . "ce") ("Chinese" . "zh") ("Chinese (Hong Kong)" . "zh_HK") ("Chinese (simplified)" . "zh_CN") ("Chinese (traditional)" . "zh_TW") ("Church Slavic" . "cu") ("Chuvash" . "cv") ("Cornish" . "kw") ("Corsican" . "co") ("Cree" . "cr") ("Croatian" . "hr") ("Czech" . "cs") ("Danish" . "da") ("Dinka" . "din") ("Divehi" . "dv") ("Dogri" . "doi") ("Dutch" . "nl") ("Dzongkha" . "dz") ("English" . "en") ("English (British)" . "en_GB") ("Esperanto" . "eo") ("Estonian" . "et") ("Ewe" . "ee") ("Faroese" . "fo") ("Fijian" . "fj") ("Filipino" . "fil") ("Finnish" . "fi") ("Fon" . "fon") ("French" . "fr") ("Frisian" . "fy") ("Fulah" . "ff") ("Galician" . "gl") ("Ganda" . "lg") ("Georgian" . "ka") ("German" . "de") ("Gondi" . "gon") ("Greek" . "el") ("Guarani" . "gn") ("Gujarati" . "gu") ("Haitian" . "ht") ("Hausa" . "ha") ("Hebrew" . "he") ("Herero" . "hz") ("Hiligaynon" . "hil") ("Hindi" . "hi") ("Hiri Motu" . "ho") ("Hmong" . "hmn") ("Hungarian" . "hu") ("Hyam" . "jab") ("Icelandic" . "is") ("Ido" . "io") ("Igbo" . "ig") ("Iloko" . "ilo") ("Indonesian" . "id") ("Interlingua" . "ia") ("Interlingue" . "ie") ("Inuktitut" . "iu") ("Inupiak" . "ik") ("Irish" . "ga") ("Italian" . "it") ("Japanese" . "ja") ("Javanese" . "jv") ("Jju" . "kaj") ("Kabardian" . "kbd") ("Kabyle" . "kab") ("Kagoma" . "kdm") ("Kalaallisut" . "kl") ("Kamba" . "kam") ("Kannada" . "kn") ("Kanuri" . "kr") ("Kashmiri" . "ks") ("Kashubian" . "csb") ("Kazakh" . "kk") ("Khmer" . "km") ("Kikuyu" . "ki") ("Kimbundu" . "kmb") ("Kinyarwanda" . "rw") ("Kirghiz" . "ky") ("Kirundi" . "rn") ("Komi" . "kv") ("Kongo" . "kg") ("Konkani" . "kok") ("Korean" . "ko") ("Kuanyama" . "kj") ("Kurdish" . "ku") ("Kurukh" . "kru") ("Laotian" . "lo") ("Latin" . "la") ("Latvian" . "lv") ("Letzeburgesch" . "lb") ("Limburgish" . "li") ("Lingala" . "ln") ("Lithuanian" . "lt") ("Low Saxon" . "nds") ("Luba-Katanga" . "lu") ("Luba-Lulua" . "lua") ("Luo" . "luo") ("Macedonian" . "mk") ("Madurese" . "mad") ("Magahi" . "mag") ("Maithili" . "mai") ("Makasar" . "mak") ("Malagasy" . "mg") ("Malay" . "ms") ("Malayalam" . "ml") ("Maltese" . "mt") ("Mandingo" . "man") ("Manipuri" . "mni") ("Manx" . "gv") ("Maori" . "mi") ("Marathi" . "mr") ("Marshall" . "mh") ("Marshallese" . "mh") ("Marwari" . "mwr") ("Mayan" . "myn") ("Mende" . "men") ("Minangkabau" . "min") ("Moldavian" . "mo") ("Mongolian" . "mn") ("Mossi" . "mos") ("Nahuatl" . "nah") ("Nauru" . "na") ("Navajo" . "nv") ("Ndonga" . "ng") ("Neapolitan" . "nap") ("Nepali" . "ne") ("North Ndebele" . "nd") ("Northern Sami" . "se") ("Northern Sotho" . "nso") ("Norwegian Bokmal" . "nb") ("Norwegian Nynorsk" . "nn") ("Norwegian" . "no") ("Nyamwezi" . "nym") ("Nyanja" . "ny") ("Nyankole" . "nyn") ("Occitan" . "oc") ("Ojibwa" . "oj") ("Old English" . "ang") ("Oriya" . "or") ("Ossetian" . "os") ("Páez" . "pbb") ("Pali" . "pi") ("Pampanga" . "pam") ("Pangasinan" . "pag") ("Pashto" . "ps") ("Persian" . "fa") ("Polish" . "pl") ("Portuguese" . "pt") ("Punjabi" . "pa") ("Quechua" . "qu") ("Rajasthani" . "raj") ("Rhaeto-Roman" . "rm") ("Romanian" . "ro") ("Romansh" . "rm") ("Russian" . "ru") ("Samoan" . "sm") ("Sango" . "sg") ("Sanskrit" . "sa") ("Santali" . "sat") ("Sardinian" . "sc") ("Sasak" . "sas") ("Scots" . "gd") ("Scottish Gaelic" . "gd") ("Serbian" . "sr") ("Serer" . "srr") ("Sesotho" . "st") ("Setswana" . "tn") ("Shan" . "shn") ("Shona" . "sn") ("Sichuan Yi" . "ii") ("Sicilian" . "scn") ("Sidamo" . "sid") ("Sindhi" . "sd") ("Sinhala" . "si") ("Sinhalese" . "si") ("Siswati" . "ss") ("Slovak" . "sk") ("Slovenian" . "sl") ("Somali" . "so") ("Sorbian" . "wen") ("South Ndebele" . "nr") ("Spanish" . "es") ("Spanish (Canary Islands)" . "es_IC") ("Sukuma" . "suk") ("Sundanese" . "su") ("Susu" . "sus") ("Swahili" . "sw") ("Swedish" . "sv") ("Swiss German" . "gsw") ("Tagalog" . "tl") ("Tahitian" . "ty") ("Tajik" . "tg") ("Tamil" . "ta") ("Tatar" . "tt") ("Telugu" . "te") ("Tetum" . "tet") ("Thai" . "th") ("Tibetan" . "bo") ("Tigrinya" . "ti") ("Timne" . "tem") ("Tiv" . "tiv") ("Tonga" . "to") ("Tsonga" . "ts") ("Tumbuka" . "tum") ("Turkish" . "tr") ("Turkmen" . "tk") ("Twi" . "tw") ("Tyap" . "kcg") ("Uighur" . "ug") ("Ukrainian" . "uk") ("Umbundu" . "umb") ("Urdu" . "ur") ("Uzbek" . "uz") ("Venda" . "ve") ("Vietnamese" . "vi") ("Volapuk" . "vo") ("Walloon" . "wa") ("Walamo" . "wal") ("Waray" . "war") ("Welsh" . "cy") ("Western Frisian" . "fy") ("Wolof" . "wo") ("Xhosa" . "xh") ("Yao" . "yao") ("Yiddish" . "yi") ("Yoruba" . "yo") ("Zapotec" . "zap") ("Zhuang" . "za") ("Zulu" . "zu")) "*Association list giving team codes from team names.\nThis is used for generating a submission file name for the 'M' command.\nIf a string instead of an alist, it is a team code to use unconditionnally." sexp po-gzip-uuencode-command "gzip -9 | uuencode -m" "*The filter to use for preparing a mail invoice of the PO file.\nNormally \"gzip -9 | uuencode -m\", remove the -9 for lesser compression,\nor remove the -m if you are not using the GNU version of 'uuencode'."] 8) #@37 Syntax table used while in PO mode. (defvar po-subedit-mode-syntax-table (copy-syntax-table text-mode-syntax-table) (#$ . 10001)) (byte-code "\300\301\302!\203 \302\202\f\303KM\210\301\304!\203\305\304KM\210\202\"\306\305\307\"\210\301\310!\2030\311\310KM\210\2027\306\311\312\313B\"\210\301\314!\203E\315\314KM\210\202J\306\315\316\"\210\317\301\320!\203U\320\202V\321M\210\301\322!\203f\323\322KM\210\202k\306\323\324\"\210\300\207" [po-buffer-substring fboundp buffer-substring-no-properties buffer-substring match-string-no-properties po-match-string defalias #[(number) "\301\224\225\"\207" [number po-buffer-substring] 3 "Return string of text matched by last search."] with-temp-buffer po-with-temp-buffer macro #[(&rest forms) "\303\304!\303\305!\306 \307B\310BD\311\312\313D\nBB\313 D\314\315D\316DEFE*\207" [temp-buffer curr-buffer forms make-symbol "curr-buffer" "temp-buffer" let ((current-buffer)) ((get-buffer-create (generate-new-buffer-name " *po-temp*"))) unwind-protect progn set-buffer and buffer-name kill-buffer] 9 "Create a temporary buffer, and evaluate FORMS there like 'progn'."] kill-new po-kill-new #[(string) "\302\303!rq\210\304\216 c\210\305ed\"+\207" [#1=#:temp-buffer string generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] kill-region] 3 "Push STRING onto the kill ring, for Emacs 18 where kill-new is missing."] po-read-event read-event read-char force-mode-line-update po-force-mode-line-update #[nil "\300\301 !\207" [set-buffer-modified-p buffer-modified-p] 2 "Force the mode-line of the current buffer to be redisplayed."]] 4) #@123 Create and return a deleted overlay structure. The variable 'po-highlight-face' selects the face to use for highlighting. (defalias 'po-create-overlay #[nil "\302``\"\303\304 #\210\305!\210)\207" [overlay po-highlight-face make-overlay overlay-put face delete-overlay] 4 (#$ . 11641)]) #@127 Use OVERLAY to highlight the string from START to END. If limits are not relative to the current buffer, use optional BUFFER. (defalias 'po-highlight #[(overlay start end &optional buffer) "\304 \n \206 p$\207" [overlay start end buffer move-overlay] 5 (#$ . 11938)]) #@132 Display normally the last string which OVERLAY highlighted. The current buffer should be in PO mode, when this function is called. (defalias 'po-dehighlight #[(overlay) "\301!\207" [overlay delete-overlay] 2 (#$ . 12215)]) #@29 Show Emacs PO mode version. (defalias 'po-mode-version #[nil "\301\302\"\207" [po-mode-version-string message "Emacs PO mode, version %s"] 3 (#$ . 12445) nil]) #@24 Help page for PO mode. (defconst po-help-display-string "PO Mode Summary Next Previous Miscellaneous\n*: Later, /: Docum n p Any type . Redisplay\n t T Translated /v Version info\nMoving around f F Fuzzy ?, h This help\n< First if any o O Obsolete = Current index\n> Last if any u U Untranslated 0 Other window\n/SPC Auto select V Validate\n Msgstr Comments M Mail officially\nModifying entries RET # Call editor _ Undo\nTAB Remove fuzzy mark k K Kill to E Edit out full\nDEL Fuzzy or fade out w W Copy to Q Forceful quit\nLFD Init with msgid y Y Yank from q Confirm and quit\n\ngettext Keyword Marking Position Stack\n, Find next string Compendiums m Mark and push current\nM-, Mark translatable *c To compendium r Pop and return\nM-. Change mark, mark *M-C Select, save x Exchange current/top\n\nProgram Sources Auxiliary Files Lexicography\ns Cycle reference a Cycle file *l Lookup translation\nM-s Select reference C-c C-a Select file *M-l Add/edit translation\nS Consider path A Consider PO file *L Consider lexicon\nM-S Ignore path M-A Ignore PO file *M-L Ignore lexicon\n" (#$ . 12612)) (defconst po-mode-menu-layout '("PO" ("Moving around" ["Auto select" po-auto-select-entry :help "Jump to next interesting entry"] "---" ["Any next" po-next-entry :help "Jump to next entry"] ["Next translated" po-next-translated-entry :help "Jump to next translated entry"] ["Next fuzzy" po-next-fuzzy-entry :help "Jump to next fuzzy entry"] ["Next obsolete" po-next-obsolete-entry :help "Jump to next obsolete entry"] ["Next untranslated" po-next-untranslated-entry :help "Jump to next untranslated entry"] ["Last file entry" po-last-entry :help "Jump to last entry"] "---" ["Any previous" po-previous-entry :help "Jump to previous entry"] ["Previous translated" po-previous-translated-entry :help "Jump to previous translated entry"] ["Previous fuzzy" po-previous-fuzzy-entry :help "Jump to previous fuzzy entry"] ["Previous obsolete" po-previous-obsolete-entry :help "Jump to previous obsolete entry"] ["Previous untranslated" po-previous-untranslated-entry :help "Jump to previous untranslated entry"] ["First file entry" po-first-entry :help "Jump to first entry"] "---" ["Mark and push current" po-push-location :help "Remember current location"] ["Pop and return" po-pop-location :help "Jump to last remembered location and forget about it"] ["Exchange current/top" po-exchange-location :help "Jump to last remembered location and remember current location"] "---" ["Redisplay" po-current-entry :help "Make current entry properly visible"] ["Current index" po-statistics :help "Statistical info on current translation file"]) ("Modifying entries" ["Undo" po-undo :help "Revoke last changed entry"] "---" ["Edit msgstr" po-edit-msgstr :help "Edit current translation"] ["Ediff and merge msgstr" po-edit-msgstr-and-ediff :help "Call `ediff' on current translation for merging"] ["Cut msgstr" po-kill-msgstr :help "Cut (kill) current translation"] ["Copy msgstr" po-kill-ring-save-msgstr :help "Copy current translation"] ["Paste msgstr" po-yank-msgstr :help "Paste (yank) text most recently cut/copied translation"] "---" ["Edit comment" po-edit-comment :help "Edit current comment"] ["Ediff and merge comment" po-edit-comment-and-ediff :help "Call `ediff' on current comment for merging"] ["Cut comment" po-kill-comment :help "Cut (kill) current comment"] ["Copy comment" po-kill-ring-save-comment :help "Copy current translation"] ["Paste comment" po-yank-comment :help "Paste (yank) text most recently cut/copied"] "---" ["Remove fuzzy mark" po-unfuzzy :help "Remove \"#, fuzzy\""] ["Fuzzy or fade out" po-fade-out-entry :help "Set current entry fuzzy, or if already fuzzy delete it"] ["Init with msgid" po-msgid-to-msgstr :help "Initialize or replace current translation with the original message"]) ("Other files" ["Other window" po-other-window :help "Select other window; if necessay split current frame"] "---" ["Cycle reference in source file" po-cycle-source-reference t] ["Select reference" po-select-source-reference t] ["Consider path" po-consider-source-path t] ["Ignore path" po-ignore-source-path t] "---" ["Cycle through auxilicary file" po-cycle-auxiliary t] ["Select auxilicary file" po-select-auxiliary t] ["Consider as auxilicary file" po-consider-as-auxiliary t] ["Ignore as auxilicary file" po-ignore-as-auxiliary t] "---" "Source marking" ["Find first string" (po-tags-search '(nil)) t] ["Prefer keyword" (po-select-mark-and-mark '(nil)) t] ["Find next string" po-tags-search t] ["Mark preferred" po-mark-translatable t] ["Mark with keyword" po-select-mark-and-mark t]) "---" ["Version info" po-mode-version :help "Display version number of PO mode"] ["Help page" po-help :help "Show the PO mode help screen"] ["Validate" po-validate :help "Check validity of current translation file using `msgfmt'"] ["Mail officially" po-send-mail :help "Send current translation file to the Translation Robot by mail"] ["Edit out full" po-edit-out-full :help "Leave PO mode to edit translation file using fundamental mode"] "---" ["Forceful quit" po-quit :help "Close (kill) current translation file without saving"] ["Soft quit" po-confirm-and-quit :help "Save current translation file, than close (kill) it"])) (defconst po-subedit-mode-menu-layout '("PO-Edit" ["Ediff and merge translation variants" po-subedit-ediff :help "Call `ediff' for merging variants"] ["Cycle through auxiliary files" po-subedit-cycle-auxiliary t] "---" ["Abort edit" po-subedit-abort :help "Don't change the translation"] ["Exit edit" po-subedit-exit :help "Use this text as the translation and close current edit buffer"])) #@69 Message to post in the minibuffer when an edit buffer is displayed. (defconst po-subedit-message "Type 'C-c C-c' once done, or 'C-c C-k' to abort edit" (#$ . 18711)) #@56 List of auxiliary PO files, in completing read format. (defvar po-auxiliary-list nil (#$ . 18883)) #@38 Cursor into the 'po-auxiliary-list'. (defvar po-auxiliary-cursor nil (#$ . 18988)) #@52 Function to start composing an electronic message. (defvar po-compose-mail-function (byte-code "\302\303\204 \203 \304 @!\203 @\211\202 A\202\2069\304\305!\203.\306\2029\304\307!\2038\310\2029\311*\207" [result functions (compose-mail-other-window message-mail-other-window compose-mail message-mail) nil fboundp mail-other-window #[(to subject) "\302\303 #\207" [to subject mail-other-window nil] 4] mail #[(to subject) "\302\303 #\207" [to subject mail nil] 4] #[(to subject) "\301\302\"\207" [to error "I do not know how to mail to '%s'"] 3]] 3) (#$ . 19077)) #@68 Regexp matching a whole #| msgctxt field, whether obsolete or not. (defvar po-any-previous-msgctxt-regexp "^#\\(~\\)?|[ ]*msgctxt.*\n\\(#\\(~\\)?|[ ]*\".*\n\\)*" (#$ . 19669)) #@66 Regexp matching a whole #| msgid field, whether obsolete or not. (defvar po-any-previous-msgid-regexp "^#\\(~\\)?|[ ]*msgid.*\n\\(#\\(~\\)?|[ ]*\".*\n\\)*" (#$ . 19853)) #@73 Regexp matching a whole #| msgid_plural field, whether obsolete or not. (defvar po-any-previous-msgid_plural-regexp "^#\\(~\\)?|[ ]*msgid_plural.*\n\\(#\\(~\\)?|[ ]*\".*\n\\)*" (#$ . 20031)) #@74 Regexp matching a whole msgctxt or msgid field, whether obsolete or not. (defvar po-any-msgctxt-msgid-regexp "^\\(#~[ ]*\\)?msg\\(ctxt\\|id\\).*\n\\(\\(#~[ ]*\\)?\".*\n\\)*" (#$ . 20230)) #@63 Regexp matching a whole msgid field, whether obsolete or not. (defvar po-any-msgid-regexp "^\\(#~[ ]*\\)?msgid.*\n\\(\\(#~[ ]*\\)?\".*\n\\)*" (#$ . 20426)) #@70 Regexp matching a whole msgid_plural field, whether obsolete or not. (defvar po-any-msgid_plural-regexp "^\\(#~[ ]*\\)?msgid_plural.*\n\\(\\(#~[ ]*\\)?\".*\n\\)*" (#$ . 20590)) #@76 Regexp matching a whole msgstr or msgstr[] field, whether obsolete or not. (defvar po-any-msgstr-block-regexp "^\\(#~[ ]*\\)?msgstr\\([ ]\\|\\[0\\]\\).*\n\\(\\(#~[ ]*\\)?\".*\n\\)*\\(\\(#~[ ]*\\)?msgstr\\[[0-9]\\].*\n\\(\\(#~[ ]*\\)?\".*\n\\)*\\)*" (#$ . 20775)) #@77 Regexp matching just one msgstr or msgstr[] field, whether obsolete or not. (defvar po-any-msgstr-form-regexp "^\\(#~[ ]*\\)?msgstr\\(\\[[0-9]\\]\\)?.*\n\\(\\(#~[ ]*\\)?\".*\n\\)*" (#$ . 21049)) #@69 Regexp matching an indexed msgstr keyword, whether obsolete or not. (defvar po-msgstr-idx-keyword-regexp "^\\(#~[ ]*\\)?msgstr\\[[0-9]\\]" (#$ . 21252)) #@50 Path to msgfmt program from GNU gettext package. (defvar po-msgfmt-program "msgfmt" (#$ . 21412)) #@49 Additional expressions to highlight in PO mode. (defconst po-font-lock-keywords '(("^# .*\\|^#[:,]?" . font-lock-comment-face) ("^#:\\(.*\\)" 1 font-lock-reference-face) ("^#,\\(.*\\)" 1 font-lock-function-name-face) ("^\\(\\(msg\\(ctxt\\|id\\(_plural\\)?\\|str\\(\\[[0-9]\\]\\)?\\)\\) \\)?\"\\|\"$" . font-lock-keyword-face) ("\\\\.\\|%[*$-.0-9hjltuzL]*[a-zA-Z]" . font-lock-variable-name-face)) (#$ . 21516)) (byte-code "\300\301!\204\n\302\303!\210\300\207" [fboundp po-find-file-coding-system require po-compat] 2) #@37 Abbrev table used while in PO mode. (defvar po-mode-abbrev-table nil (#$ . 22042)) (define-abbrev-table 'po-mode-abbrev-table nil) #@21 Keymap for PO mode. (defvar po-mode-map (byte-code "\301 \302!\210\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\303\316\317#\210\303\320\321#\210\303\322\323#\210\303\324\325#\210\303\326\327#\210\303\330\331#\210\303\332\333#\210\303\334\335#\210\303\336\315#\210\303\337\340#\210\303\341\342#\210\303\343\344#\210\303\345\346#\210\303\347\350#\210\303\351\352#\210\303\353\354#\210\303\355\356#\210\303\357\360#\210\303\361\362#\210\303\363\364#\210\303\365\366#\210\303\367\370#\210\303\371\372#\210\303\373\374#\210\303\375\376#\210\303\377\201@#\210\303\201A\201B#\210\303\201C\201D#\210\303\201E\201F#\210\303\201G\201H#\210\303\201I\201J#\210\303\201K\201L#\210\303\201M\201N#\210\303\201O\201P#\210\303\201Q\201R#\210\303\201S\201T#\210\303\201U\201V#\210\303\201W\201V#\210\303\201X\201V#\210\303\201Y\201Z#\210\303\201[\201\\#\210\303\201]\201^#\210\303\201_\201`#\210\303\201a\201b#\210\303\201c\201b#\210\303\201d\201e#\210\303\201f\201g#\210\303\201h\201i#\210\303\201j\201k#\210\303\201l\201m#\210)\207" [po-mode-map make-keymap suppress-keymap define-key " " po-unfuzzy "\n" po-msgid-to-msgstr " " po-edit-msgstr " " po-auto-select-entry "?" po-help "#" po-edit-comment "," po-tags-search "." po-current-entry "<" po-first-entry "=" po-statistics ">" po-last-entry "a" po-cycle-auxiliary "f" po-next-fuzzy-entry "h" "k" po-kill-msgstr "m" po-push-location "n" po-next-entry "o" po-next-obsolete-entry "p" po-previous-entry "q" po-confirm-and-quit "r" po-pop-location "s" po-cycle-source-reference "t" po-next-translated-entry "u" po-next-untranslated-entry "v" po-mode-version "w" po-kill-ring-save-msgstr "x" po-exchange-location "y" po-yank-msgstr "A" po-consider-as-auxiliary "E" po-edit-out-full "F" po-previous-fuzzy-entry "K" po-kill-comment "M" po-send-mail "O" po-previous-obsolete-entry "T" po-previous-translated-entry "U" po-previous-untranslated-entry "Q" po-quit "S" po-consider-source-path "V" po-validate "W" po-kill-ring-save-comment "Y" po-yank-comment "_" po-undo "" "u" "0" po-other-window "" po-fade-out-entry "" po-select-auxiliary "" po-edit-msgstr-and-ediff [3 67108899] po-edit-comment-and-ediff "" "\254" po-mark-translatable "\256" po-select-mark-and-mark "\363" po-select-source-reference "\301" po-ignore-as-auxiliary "\323" po-ignore-source-path] 4) (#$ . 22179)) #@304 Major mode for translators when they edit PO files. Special commands: \{po-mode-map} Turning on PO mode calls the value of the variable 'po-mode-hook', if that value is non-nil. Behaviour may be adjusted through some variables, all reachable through 'M-x customize', in group 'Emacs.Editing.I18n.Po'. (defalias 'po-mode #[nil "\306 \210\307\310\311\n!\210\312\313!\203\314\315!\210\316\317\n\320 $\210\321\304!\210\322\321\323!\210 \324\321\325!\210\321\326!\210\321\327!\210\321\330!\210\321\331!\210\321\332!\210\321\333!\210\321\334!\210\321\335!\210\321\336!\210\321\337!\210\321\340!\210\324:\341 \210\342\315!\210\321\343!\210\315#\321\344!\210\315$\321\345!\210\346%\321\347!\210\315'\321\350!\210\315(\321\351!\210\352)\321\353!\210\354+\321\355!\210\315-\321\356!\210\315.\321\357!\210\315/\321\360!\210\3150\321\361!\210\362 1\363\364\365\"\210\366\367!\210\370\371!\207" [major-mode mode-name po-mode-map po-mode-menu-layout font-lock-defaults buffer-read-only kill-all-local-variables po-mode "PO" use-local-map fboundp easy-menu-define (lambda (#1=#:def-tmp-var) (defvar po-mode-menu #1# #2="")) nil easy-menu-do-define po-mode-menu #2# make-local-variable (po-font-lock-keywords t) po-read-only t po-start-of-entry po-start-of-msgctxt po-start-of-msgid po-start-of-msgid_plural po-start-of-msgstr-block po-end-of-entry po-entry-type po-translated-counter po-fuzzy-counter po-untranslated-counter po-obsolete-counter po-mode-line-string po-check-file-header po-compute-counters po-edited-fields po-marker-stack po-search-path (("./") ("../")) po-reference-alist po-reference-cursor po-reference-check 0 po-keywords (("gettext") ("gettext_noop") ("_") ("N_")) po-string-contents po-string-buffer po-string-start po-string-end po-marking-overlay po-create-overlay add-hook write-contents-hooks po-replace-revision-date run-hooks po-mode-hook message "You may type 'h' or '?' for a short PO mode reminder." po-mode-flag] 5 (#$ . 24650) nil]) #@61 Keymap while editing a PO mode entry (or the full PO file). (defvar po-subedit-mode-map (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210)\207" [po-subedit-mode-map make-keymap define-key "" po-subedit-cycle-auxiliary "" po-subedit-exit "" po-subedit-ediff " " po-subedit-abort] 4) (#$ . 26631)) (make-variable-buffer-local 'po-mode-flag) #@53 Mode line format entry displaying MODE-LINE-STRING. (defvar po-mode-line-entry '(po-mode-flag (" " po-mode-line-string)) (#$ . 27025)) (byte-code " \235\204\303 >\206\304 \235\206\305 !\211\nAB\241\210)\303\207" [po-mode-line-entry mode-line-format prev-entry global-mode-string " " last] 4) #@58 Compute a new statistics string to display in mode line. (defalias 'po-update-mode-line-string #[nil "\305\306\" \307V\205\305\310 \"\n\307V\205\305\311\n\" \307V\205\"\305\312 \"R\313 \207" [po-translated-counter po-fuzzy-counter po-untranslated-counter po-obsolete-counter po-mode-line-string format "%dt" 0 "+%df" "+%du" "+%do" po-force-mode-line-update] 6 (#$ . 27335)]) #@74 Return the symbol name of the counter appropriate for the current entry. (defalias 'po-type-counter #[nil "\301\267\202\302\207\303\207\304\207\305\207\306\307!\207" [po-entry-type #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (obsolete 6 fuzzy 8 translated 10 untranslated 12)) po-obsolete-counter po-fuzzy-counter po-translated-counter po-untranslated-counter error "Unknown entry type"] 2 (#$ . 27723)]) #@72 Decrease the counter corresponding to the nature of the current entry. (defalias 'po-decrease-type-counter #[nil "\301 \211\302!SL)\207" [counter po-type-counter eval] 4 (#$ . 28178)]) #@109 Increase the counter corresponding to the nature of the current entry. Then, update the mode line counters. (defalias 'po-increase-type-counter #[nil "\301 \211\302!TL\210)\303 \207" [counter po-type-counter eval po-update-mode-line-string] 4 (#$ . 28372)]) #@77 Prepare counters for mode line display. If FLAG, also echo entry position. (defalias 'po-compute-counters #[(flag) "\203\306 \210\307\211\307\211\307\211\310\211\212\306 \210eb\210\306 \210\311 \312\230\2033b\210\313\314d\315#\203\264\313\310\315#\203\236\316\246\307U\203b\203\\\317\320#\210\202b\317\321\"\210`\307\224b\210T\203|`=\203|g\322=\203\210\fT\202\230\323!\203\225 T\202\230 T b\210\202;eb\210\313\310\315#\203\260\nT\202\241 \nZ)\203\311\317\324 \n \f&\210\202\315\317\312!\210,\325 \207" [flag po-translated-counter po-fuzzy-counter po-untranslated-counter po-obsolete-counter here po-find-span-of-entry 0 nil po-get-msgid "" re-search-forward "^msgid" t 20 message "Position %d/%d" "Position %d" 35 looking-at "Position %d/%d; %d translated, %d fuzzy, %d untranslated, %d obsolete" po-update-mode-line-string current total position po-start-of-msgstr-block po-end-of-entry po-any-msgstr-block-regexp po-untranslated-regexp po-fuzzy-regexp] 9 (#$ . 28638)]) #@30 Redisplay the current entry. (defalias 'po-redisplay #[nil "b\207" [po-start-of-msgid] 1 (#$ . 29692)]) #@53 Get the cursor into another window, out of PO mode. (defalias 'po-other-window #[nil "\300\301!\203\302 \210\303\304 !\207\305\306!\207" [one-window-p t split-window switch-to-buffer other-buffer other-window 1] 2 (#$ . 29803) nil]) #@131 Create a missing PO mode file header, or replace an oldish one. Can be customized with the `po-auto-update-file-header' variable. (defalias 'po-check-file-header #[nil "\306=\204\307=\203w\310\311!\203w\212\214~\210 \312\211eb\210\313 \312\306#\203a\314\224b\210\315y\210\314\225\316\317!\203\\\313\320\n\306#\204c\nb\210`eV\203T\315y\210\321c\210\322 \210\202B\322 \210\306\202c\306\202c\306eb\210 \205uc\210m?\205u\323c-\207\324\325!\207" [po-auto-update-file-header po-read-only end-of-header insert-flag buffer-read-only po-any-msgstr-block-regexp t ask y-or-n-p "May I update the PO Header Entry? " nil re-search-forward 0 -1 looking-at "msgid \"\"\n" "\n\"PO-Revision-Date: " "#~ " beginning-of-line "\n" message "PO Header Entry was not updated..." po-default-file-header] 4 (#$ . 30045)]) #@66 Replace the revision date by current time in the PO file header. (defalias 'po-replace-revision-date #[nil "\306\307!\203h\310=\204\311=\203a\312\313!\203a\212eb\210\314\315\316\310#\203] \317 \320 !@\2061\321\322\f!\323\245\324\325\f\321W\203D\326\202E\327 \323\245 \323\246$\330\331\307\332 \"\333R\310\211#\210-)\202l\334\335!\210\202l\334\336!\210\316\207" [po-auto-replace-revision-date po-read-only buffer-read-only time seconds minutes fboundp format-time-string t ask y-or-n-p "May I set PO-Revision-Date? " re-search-forward "^\"PO-Revision-Date:.*" nil current-time current-time-zone 0 abs 60 format "%c%02d%02d" 45 43 replace-match "\"PO-Revision-Date: " "%Y-%m-%d %H:%M" "\\n\"" message "" "PO-Revision-Date should be adjusted..." zone] 6 (#$ . 30872)]) #@316 Find the extent of the PO file entry where the cursor is. Set variables po-start-of-entry, po-start-of-msgctxt, po-start-of-msgid, po-start-of-msgid_plural, po-start-of-msgstr-block, po-end-of-entry, and po-entry-type to meaningful values. po-entry-type may be set to: obsolete, fuzzy, untranslated, or translated. (defalias 'po-find-span-of-entry #[nil "`\306 \307\310#\203_\311 !\210\312\225X\203D\312\225\312\224\312\225\311 \307\310#\203/\312\224\312\225\202n b\210\306 \307\310#\203?\312\225\202@e\202n\312\224\312\225 b\210\306 \307\310#\203Z\312\225\202[e\202ne\211b\210\311 !\210\312\224\312\225\nb\210\311 !\210\312\224\nb\210\311!\210\312\224\212b\210\311 \310#\205\225\312\224)\212 Y\203\251b\210\307\210\306\313!\210\311!\210\312\224\312\225)g\314=\203\301\315\202\341\nb\210\311\310#\203\322\316\202\341 b\210\317!\203\340\320\202\341\321b)\207" [here po-any-msgstr-block-regexp po-start-of-entry po-start-of-msgstr-block po-end-of-entry po-any-msgctxt-msgid-regexp re-search-backward nil t re-search-forward 0 "^\\(#~[ ]*\\)?msgstr" 35 obsolete fuzzy looking-at untranslated translated po-start-of-msgctxt po-any-msgid-regexp po-start-of-msgid po-any-msgid_plural-regexp po-start-of-msgid_plural po-any-msgstr-form-regexp po-start-of-msgstr-form po-end-of-msgstr-form po-fuzzy-regexp po-untranslated-regexp po-entry-type] 5 (#$ . 31666)]) #@70 Add attribute NAME to the current entry, unless it is already there. (defalias 'po-add-attribute #[(name) "\212\nb\210\305\306 \307#\203/\214\310\224\310\225}\210eb\210\305\311\f\311Q\312\307#?\205+db\210\313\f\261)\202D\314\312w\210g\315=\203?\316y\210\2023\317\f\314\261*\207" [po-read-only buffer-read-only po-start-of-entry po-start-of-msgctxt name re-search-forward "\n#, .*" t 0 "\\b" nil ", " "\n" 35 1 "#, "] 4 (#$ . 33088)]) #@55 Delete attribute NAME from the current entry, if any. (defalias 'po-delete-attribute #[(name) "\212\nb\210\305\306 \307#\205.\214\310\224\310\225}\210eb\210\305\311\f\312\f\313\f\314\260\315\307#\205-\316\317\307\211#)*\207" [po-read-only buffer-read-only po-start-of-entry po-start-of-msgctxt name re-search-forward "\n#, .*" t 0 "\\(\n#, " "$\\|, " "$\\| " ",\\)" nil replace-match ""] 8 (#$ . 33537)]) #@52 Tell how many entries in the entry location stack. (defalias 'po-say-location-depth #[nil "G\211\302U\203\303\304!\202 \305U\203\303\306!\202\303\307 \")\207" [po-marker-stack depth 0 message "Empty location stack" 1 "One entry in location stack" "%d entries in location stack"] 4 (#$ . 33953)]) #@60 Stack the location of the current entry, for later return. (defalias 'po-push-location #[nil "\302 \210\212b\210\303 B)\304 \207" [po-start-of-msgid po-marker-stack po-find-span-of-entry point-marker po-say-location-depth] 2 (#$ . 34265) nil]) #@66 Unstack a saved location, and return to the corresponding entry. (defalias 'po-pop-location #[nil "\203@b\210A\301 \210\302 \207\303\304!\207" [po-marker-stack po-current-entry po-say-location-depth error "The entry location stack is empty"] 2 (#$ . 34518) nil]) #@67 Exchange the location of the current entry with the top of stack. (defalias 'po-exchange-location #[nil "\203\303 \210 b\210\304 @b\210\nAB)\305 \210\306 \207\307\310!\207" [po-marker-stack po-start-of-msgid location po-find-span-of-entry point-marker po-current-entry po-say-location-depth error "The entry location stack is empty"] 2 (#$ . 34793) nil]) #@28 Display the current entry. (defalias 'po-current-entry #[nil "\300 \210\301 \207" [po-find-span-of-entry po-redisplay] 1 (#$ . 35161) nil]) #@66 Display the first entry in the file which msgstr matches REGEXP. (defalias 'po-first-entry-with-regexp #[(regexp) "`eb\210\302 \303\304#\203\305\224b\210\306 \202b\210\307\310!)\207" [here regexp re-search-forward nil t 0 po-current-entry error "There is no such entry"] 4 (#$ . 35307)]) #@65 Display the last entry in the file which msgstr matches REGEXP. (defalias 'po-last-entry-with-regexp #[(regexp) "`db\210\302 \303\304#\203\305 \202b\210\306\307!)\207" [here regexp re-search-backward nil t po-current-entry error "There is no such entry"] 4 (#$ . 35607)]) #@135 Display the entry following the current entry which msgstr matches REGEXP. If WRAP is not nil, the search may wrap around the buffer. (defalias 'po-next-entry-with-regexp #[(regexp wrap) "\305 \210` b\210\306\n\307\310#\203\311\224b\210\312 \202; \2035eb\210\306\n\f\310#\2035\311\224b\210\312 \210\313\314!\202;b\210\315\316!)\207" [here po-end-of-entry regexp wrap po-start-of-entry po-find-span-of-entry re-search-forward nil t 0 po-current-entry message "Wrapping around the buffer" error "There is no such entry"] 4 (#$ . 35892)]) #@137 Redisplay the entry preceding the current entry which msgstr matches REGEXP. If WRAP is not nil, the search may wrap around the buffer. (defalias 'po-previous-entry-with-regexp #[(regexp wrap) "\305 \210` b\210\306\n\307\310#\203\311 \2023 \203-db\210\306\n\f\310#\203-\311 \210\312\313!\2023b\210\314\315!)\207" [here po-start-of-entry regexp wrap po-end-of-entry po-find-span-of-entry re-search-backward nil t po-current-entry message "Wrapping around the buffer" error "There is no such entry"] 4 (#$ . 36443)]) #@26 Display the first entry. (defalias 'po-first-entry #[nil "\301!\207" [po-any-msgstr-block-regexp po-first-entry-with-regexp] 2 (#$ . 36972) nil]) #@25 Display the last entry. (defalias 'po-last-entry #[nil "\301!\207" [po-any-msgstr-block-regexp po-last-entry-with-regexp] 2 (#$ . 37125) nil]) #@48 Display the entry following the current entry. (defalias 'po-next-entry #[nil "\301\302\"\207" [po-any-msgstr-block-regexp po-next-entry-with-regexp nil] 3 (#$ . 37275) nil]) #@48 Display the entry preceding the current entry. (defalias 'po-previous-entry #[nil "\301\302\"\207" [po-any-msgstr-block-regexp po-previous-entry-with-regexp nil] 3 (#$ . 37457) nil]) #@65 Regexp which should be true after a full msgstr string matched. (defvar po-after-entry-regexp "\\(\\'\\|\\(#[ ]*\\)?$\\)" (#$ . 37647)) #@69 Regexp matching a whole msgstr field, but only if active and empty. (defvar po-untranslated-regexp (concat "^msgstr\\(\\[[0-9]\\]\\)?[ ]*\"\"\n" po-after-entry-regexp) (#$ . 37790)) #@65 Find the next untranslated entry, wrapping around if necessary. (defalias 'po-next-untranslated-entry #[nil "\301\302\"\207" [po-untranslated-regexp po-next-entry-with-regexp t] 3 (#$ . 37979) nil]) #@69 Find the previous untranslated entry, wrapping around if necessary. (defalias 'po-previous-untranslated-entry #[nil "\301\302\"\207" [po-untranslated-regexp po-previous-entry-with-regexp t] 3 (#$ . 38185) nil]) #@61 Use another window to edit msgstr reinitialized with msgid. (defalias 'po-msgid-to-msgstr #[nil "\301 \210\302=\204\303=\204\304\305!\306\307!\210\205'\310\311 \206!\312 !\205'\313 \207" [po-entry-type po-find-span-of-entry untranslated obsolete y-or-n-p "Really lose previous translation? " message "" po-set-msgstr-form po-get-msgid_plural po-get-msgid po-maybe-delete-previous-untranslated] 3 (#$ . 38403) nil]) #@60 Regexp matching a whole msgstr field of an obsolete entry. (defvar po-obsolete-msgstr-regexp "^#~[ ]*msgstr.*\n\\(#~[ ]*\".*\n\\)*" (#$ . 38833)) #@61 Find the next obsolete entry, wrapping around if necessary. (defalias 'po-next-obsolete-entry #[nil "\301\302\"\207" [po-obsolete-msgstr-regexp po-next-entry-with-regexp t] 3 (#$ . 38987) nil]) #@65 Find the previous obsolete entry, wrapping around if necessary. (defalias 'po-previous-obsolete-entry #[nil "\301\302\"\207" [po-obsolete-msgstr-regexp po-previous-entry-with-regexp t] 3 (#$ . 39188) nil]) #@96 Regexp matching the string inserted by msgmerge for translations which does not match exactly. (defvar po-fuzzy-regexp "^#, .*fuzzy" (#$ . 39401)) #@58 Find the next fuzzy entry, wrapping around if necessary. (defalias 'po-next-fuzzy-entry #[nil "\301\302\"\207" [po-fuzzy-regexp po-next-entry-with-regexp t] 3 (#$ . 39554) nil]) #@58 Find the next fuzzy entry, wrapping around if necessary. (defalias 'po-previous-fuzzy-entry #[nil "\301\302\"\207" [po-fuzzy-regexp po-previous-entry-with-regexp t] 3 (#$ . 39739) nil]) #@51 Remove the fuzzy attribute for the current entry. (defalias 'po-unfuzzy #[nil "\302 \210\303=\203\304 \210\305\306!\210\307 \210\310 \210\311 \210 \203 \312 \210\313 \207" [po-entry-type po-auto-select-on-unfuzzy po-find-span-of-entry fuzzy po-decrease-type-counter po-delete-attribute "fuzzy" po-maybe-delete-previous-untranslated po-current-entry po-increase-type-counter po-auto-select-entry po-update-mode-line-string] 2 (#$ . 39932) nil]) #@63 Find the next translated entry, wrapping around if necessary. (defalias 'po-next-translated-entry #[nil "\303U\203\n\304\305!\207\306 \307\"\210\310 \210\n\311=?\205$\306 \307\"\210\310 \210\202\207" [po-translated-counter po-any-msgstr-block-regexp po-entry-type 0 error "There is no such entry" po-next-entry-with-regexp t po-find-span-of-entry translated] 3 (#$ . 40386) nil]) #@67 Find the previous translated entry, wrapping around if necessary. (defalias 'po-previous-translated-entry #[nil "\303U\203\n\304\305!\207\306 \307\"\210\310 \210\n\311=?\205$\306 \307\"\210\310 \210\202\207" [po-translated-counter po-any-msgstr-block-regexp po-entry-type 0 error "There is no such entry" po-previous-entry-with-regexp t po-find-span-of-entry translated] 3 (#$ . 40777) nil]) #@288 Select the next entry having the same type as the current one. If none, wrap from the beginning of the buffer with another type, going from untranslated to fuzzy, and from fuzzy to obsolete. Plain translated entries are always disregarded unless there are no entries of the other types. (defalias 'po-auto-select-entry #[nil "\306 \210b\210 \307U\203-\n\307U\203- \307U\203-\310\f\311\312#\203'\307\224b\210\202\267eb\210\202\267 \313=\2037\314\2028 \203\266\314=\203e \307V\203_\310\311\312#\203_\307\224b\210\311\202eeb\210\315\315=\203\213\n\307V\203\205\310\311\312#\203\205\307\224b\210\311\202\213eb\210\316\316=\203: \307V\203\254\310\311\312#\203\254\307\224b\210\311\211\202<eb\210\314\211\204?)\317 \207" [po-end-of-entry po-untranslated-counter po-fuzzy-counter po-obsolete-counter po-any-msgstr-block-regexp po-entry-type po-find-span-of-entry 0 re-search-forward nil t translated untranslated fuzzy obsolete po-current-entry goal po-untranslated-regexp po-fuzzy-regexp po-obsolete-msgstr-regexp] 5 (#$ . 41181) nil]) #@134 Extract and return the unquoted string in BUFFER going from START to END. Crumb preceding or following the quoted string is ignored. (defalias 'po-extract-unquoted #[(buffer start end) "\212b\210\303\304!\210` b\210\305\304!\210`)\306\n #\207" [start end buffer search-forward "\"" search-backward po-extract-part-unquoted] 4 (#$ . 42269)]) #@149 Extract and return the unquoted string in BUFFER going from START to END. Surrounding quotes are already excluded by the position of START and END. (defalias 'po-extract-part-unquoted #[(buffer start end) "\305\306!rq\210\307\216\310 \n #\210eb\210\311\312\313\314#\203$\315\316\314\211#\210\202eb\210\311\317\313\314#\2038\315\316\314\211#\210\202'eb\210\311\320\313\314#\203\324h\321=\203R\315\322\314\211#\210\202;h\323=\203a\315\324\314\211#\210\202;h\325=\203p\315\326\314\211#\210\202;h\327=\203\315\330\314\211#\210\202;h\331=\203\216\315\332\314\211#\210\202;h\333=\203\235\315\334\314\211#\210\202;h\335=\203\254\315\336\314\211#\210\202;h\337Z\315\316\314\211#\210\340\341!\203\315\342\f_g\337Z\\\315\316\314\211#\210\202\266\fc\210)\202;\343 +\207" [#1=#:temp-buffer buffer start end value generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] insert-buffer-substring re-search-forward "\"[ ]*\\\\?\n\\(#~\\)?[ ]*\"" nil t replace-match "" "\\\\[ ]*\n" "\\\\[\"abfnt\\0-7]" 34 "\"" 97 "" 98 "" 102 "\f" 110 "\n" 116 " " 92 "\\" 48 looking-at "[0-7]" 8 buffer-string] 4 (#$ . 42621)]) #@364 Eval FORM, which inserts a string, and return the string fully requoted. If PREFIX, precede the result with its contents. If OBSOLETE, comment all generated lines in the returned string. Evaluating FORM should insert the wanted string in the buffer which is current at the time of evaluation. If FORM is itself a string, then this string is used for insertion. (defalias 'po-eval-requoted #[(form prefix obsolete) "\305\306!rq\210\307\216 ;\203 c\210\202\310 \210\311 !\210eb\210\312\313\314\315#eb\210\312\316\314\315#\203\264h\317=\203?\320\321\315\211#\210\202(h\322=\203N\320\323\315\211#\210\202(h\324=\203]\320\325\315\211#\210\202(h\326=\203l\320\327\315\211#\210\202(h\330=\203\207\320\n\203{m\203\331\202\200\332\315\211#\210\202(h\333=\203\226\320\334\315\211#\210\202(h\335=\203\245\320\336\315\211#\210\202(h\337=\203(\320\340\315\211#\210\202(eb\210 \203\300 \341\261\210\n\203\310\342\202\311\343c\210db\210\343c\210 \203\330\344c\210\f\203\363eb\210m\204\363g\330=\204\354\345c\210\346\344!\210\202\337\347 ,\207" [#1=#:temp-buffer form multi-line prefix obsolete generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] push-mark eval re-search-forward "[^\n]\n+[^\n]" nil t "[\"\f\n \\]" 34 replace-match "\\\"" 7 "\\a" 8 "\\b" 12 "\\f" 10 "\\n" "\\n\"\n\"" 13 "\\r" 9 "\\t" 92 "\\\\" " " "\"\"\n\"" "\"" "\n" "#~ " search-forward buffer-string] 4 (#$ . 43796)]) #@47 Extract and return the unquoted msgid string. (defalias 'po-get-msgid #[nil "\303p \206\n#\207" [po-start-of-msgid po-start-of-msgid_plural po-start-of-msgstr-block po-extract-unquoted] 5 (#$ . 45261)]) #@87 Extract and return the unquoted msgid_plural string. Return nil if it is not present. (defalias 'po-get-msgid_plural #[nil "\205 \302p #\207" [po-start-of-msgid_plural po-start-of-msgstr-block po-extract-unquoted] 5 (#$ . 45473)]) #@108 Helper function to detect msgstr and msgstr[] variants. Returns one of "msgstr" or "msgstr[i]" for some i. (defalias 'po-get-msgstr-flavor #[nil "\212b\210\301\302!\210\303\304!)\207" [po-start-of-msgstr-form re-search-forward "^\\(#~[ ]*\\)?\\(msgstr\\(\\[[0-9]\\]\\)?\\)" match-string 2] 2 (#$ . 45714)]) #@48 Extract and return the unquoted msgstr string. (defalias 'po-get-msgstr-form #[nil "\302p #\207" [po-start-of-msgstr-form po-end-of-msgstr-form po-extract-unquoted] 5 (#$ . 46029)]) #@402 Replace the current msgid, using FORM to get a string. Evaluating FORM should insert the wanted string in the current buffer. If FORM is itself a string, then this string is used for insertion. The string is properly requoted before the replacement occurs. Returns 'nil' if the buffer has not been modified, for if the new msgid described by FORM is merely identical to the msgid already in place. (defalias 'po-set-msgid #[(form) "\306\307 \310=#\212 b\210\311\f \"\210\312\313!\n\230?\205-\314\n\315\211#\210b\210\316 \210)\315*\207" [form po-entry-type string po-start-of-entry po-any-msgid-regexp po-start-of-msgstr-block po-eval-requoted "msgid" obsolete re-search-forward po-match-string 0 replace-match t po-find-span-of-entry po-read-only buffer-read-only po-start-of-msgid] 5 (#$ . 46219)]) #@417 Replace the current msgstr or msgstr[], using FORM to get a string. Evaluating FORM should insert the wanted string in the current buffer. If FORM is itself a string, then this string is used for insertion. The string is properly requoted before the replacement occurs. Returns 'nil' if the buffer has not been modified, for if the new msgstr described by FORM is merely identical to the msgstr already in place. (defalias 'po-set-msgstr-form #[(form) "\306\307 \310=#\212 b\210\311\f \"\210\312\313!\n\230?\2054\314 \210\315\n\316\211#\210b\210\317 \210\320 \210)\316*\207" [form po-entry-type string po-start-of-msgstr-form po-any-msgstr-form-regexp po-end-of-msgstr-form po-eval-requoted po-get-msgstr-flavor obsolete re-search-forward po-match-string 0 po-decrease-type-counter replace-match t po-find-span-of-entry po-increase-type-counter po-read-only buffer-read-only po-start-of-msgid] 5 (#$ . 47038)]) #@61 Push the msgstr string from current entry on the kill ring. (defalias 'po-kill-ring-save-msgstr #[nil "\301 \210\302 \303!\210)\207" [string po-find-span-of-entry po-get-msgstr-form po-kill-new] 2 (#$ . 47968) nil]) #@74 Empty the msgstr string from current entry, pushing it on the kill ring. (defalias 'po-kill-msgstr #[nil "\300 \210\301\302!\205 \303 \207" [po-kill-ring-save-msgstr po-set-msgstr-form "" po-maybe-delete-previous-untranslated] 2 (#$ . 48193) nil]) #@64 Replace the current msgstr string by the top of the kill ring. (defalias 'po-yank-msgstr #[nil "\302 \210\303\304=\203\305\202\306!\203\307 \210\304\211\207" [last-command this-command po-find-span-of-entry po-set-msgstr-form yank (yank-pop 1) (yank) po-maybe-delete-previous-untranslated] 3 (#$ . 48448) nil]) #@148 Mark an active entry as fuzzy; obsolete a fuzzy or untranslated entry; or completely delete an obsolete entry, saving its msgstr on the kill ring. (defalias 'po-fade-out-entry #[nil "\306 \210\307=\203\310 \210\311\312!\210\313 \210\314 \207\315=\204\"\316=\203S\317\320!\203O\310 \210\212\214 \n}\210 eb\210\321\322w\210m\204H\323c\210\324\321!\210\202:+\313 \210\314 \210\325\326!\207\327=\205\230\330 !\205\230\330 !\205\230\310 \210\331 \210\332\333 !\210  \n|\210) b\210\334!\322\335#\203\213\336\224b\210\202\222\337!\322\335#\210\313 \210\325\326!\207" [po-entry-type po-start-of-entry po-end-of-entry po-read-only buffer-read-only po-start-of-msgid po-find-span-of-entry translated po-decrease-type-counter po-add-attribute "fuzzy" po-current-entry po-increase-type-counter fuzzy untranslated y-or-n-p "Should I really obsolete this entry? " "\n" nil "#~ " search-forward message "" obsolete po-check-for-pending-edit po-update-mode-line-string po-kill-new po-get-msgstr-form re-search-forward t 0 re-search-backward po-start-of-msgstr-block po-any-msgstr-block-regexp] 4 (#$ . 48774) nil]) #@62 Regexp matching the whole editable comment part of an entry. (defvar po-comment-regexp "^\\(#\n\\|# .*\n\\)+" (#$ . 49900)) #@124 Extract and return the editable comment string, uncommented. If KILL-FLAG, then add the unquoted comment to the kill ring. (defalias 'po-get-comment #[(kill-flag) "p\301=\212 b\210\306\f \307#\203W\310\311!rq\210\312\216\313\n\314\224\314\225#\210eb\210m\204G\315 \2036\316\2027\317!\203A\320\321\307\211#\210\322y\210\202)\203Q\323ed\"\210\324 +\202X\321+\207" [po-entry-type obsolete buffer po-start-of-entry po-comment-regexp po-end-of-entry re-search-forward t generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#1=#:temp-buffer buffer-name kill-buffer] 2] insert-buffer-substring 0 looking-at "#\\(\n\\| \\)" "# ?" replace-match "" 1 copy-region-as-kill buffer-string #1# kill-flag] 4 (#$ . 50031)]) #@272 Using FORM to get a string, replace the current editable comment. Evaluating FORM should insert the wanted string in the current buffer. If FORM is itself a string, then this string is used for insertion. The string is properly recommented before the replacement occurs. (defalias 'po-set-comment #[(form) "\302=\306\307\310!r q\210\311\216\f;\203\fc\210\202\"\312 \210\313\f!\210o\204/h\314U\204/\315c\210eb\210m\204Jg\314U\203@\316\202A\317c\210\320\315!\210\2022\321 + b\210\322\323#\203q\324\325! \230\204}\326 \323\211#\210)\202}\327\306w\210 c\210)*\330 \207" [po-entry-type string obsolete #1=#:temp-buffer form po-start-of-entry nil generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] push-mark eval 10 "\n" "#" "# " search-forward buffer-string re-search-forward t po-match-string 0 replace-match " \n" po-current-entry po-comment-regexp po-end-of-entry po-read-only buffer-read-only] 4 (#$ . 50771)]) #@61 Push the msgstr string from current entry on the kill ring. (defalias 'po-kill-ring-save-comment #[nil "\300 \210\301\302!\207" [po-find-span-of-entry po-get-comment t] 2 (#$ . 51760) nil]) #@74 Empty the msgstr string from current entry, pushing it on the kill ring. (defalias 'po-kill-comment #[nil "\300 \210\301\302!\210\303 \207" [po-kill-ring-save-comment po-set-comment "" po-redisplay] 2 (#$ . 51956) nil]) #@65 Replace the current comment string by the top of the kill ring. (defalias 'po-yank-comment #[nil "\302 \210\303\304=\203\305\202\306!\210\304\307 \207" [last-command this-command po-find-span-of-entry po-set-comment yank (yank-pop 1) (yank) po-redisplay] 3 (#$ . 52182) nil]) #@101 Return the list of previous untranslated regions (at most one) for the given regular expression RX. (defalias 'po-previous-untranslated-region-for #[(rx) "\212b\210\303 \n\304#\205\305\306\224!\305\306\225!BC)\207" [po-start-of-entry rx po-start-of-msgctxt re-search-forward t copy-marker 0] 4 (#$ . 52471)]) #@72 Return the list of previous untranslated regions in the current entry. (defalias 'po-previous-untranslated-regions #[nil "\303\304!\304 !\304\n!#\207" [po-any-previous-msgctxt-regexp po-any-previous-msgid-regexp po-any-previous-msgid_plural-regexp append po-previous-untranslated-region-for] 5 (#$ . 52789)]) #@105 Delete the previous msgctxt, msgid, msgid_plural fields (marked as #| comments) from the current entry. (defalias 'po-delete-previous-untranslated #[nil "\304 \210\305 \306\211\203 @\211@\nA|\210 A\211\204+\307 \207" [po-read-only buffer-read-only region --dolist-tail-- po-find-span-of-entry po-previous-untranslated-regions nil po-redisplay] 3 (#$ . 53106) nil]) #@139 Delete the previous msgctxt, msgid, msgid_plural fields (marked as #| comments) from the current entry, if the user gives the permission. (defalias 'po-maybe-delete-previous-untranslated #[nil "\306 \210\307 \211\205O \310=\204/ \311=\205O\312\313\216\314\315\"@@b\210\316\317!\320\321!\210*\205O \312\211\205N@\211@ A|\210A\211\204:\312+)\207" [previous-regions po-auto-delete-previous-msgid overlays po-read-only buffer-read-only region po-find-span-of-entry po-previous-untranslated-regions t ask nil #[nil "\301\302\"\207" [overlays mapc po-dehighlight] 3] mapcar #[(region) "\302 \303 @ A#\210)\207" [overlay region po-create-overlay po-highlight] 4] y-or-n-p "Delete previous msgid comments? " message "" --dolist-tail--] 4 (#$ . 53488)]) #@69 From EDITED-FIELDS, clean out any edit having a killed edit buffer. (defalias 'po-clean-out-killed-edits #[nil " \205* @ A\304\nA@!\204&\305\n8\211\203 \306 !\210)\307\n\")\202)\207" [po-edited-fields cursor slot overlay buffer-name 2 po-dehighlight delete] 4 (#$ . 54266)]) #@55 Resume any pending edit. Return nil if some remains. (defalias 'po-check-all-pending-edits #[nil "\303 \210?\206@\211@b\210\304 A@!\210\305\n!\210)\306\207" [po-edited-fields slot po-subedit-message po-clean-out-killed-edits pop-to-buffer message nil] 3 (#$ . 54559)]) #@71 Resume any pending edit at POSITION. Return nil if such edit exists. (defalias 'po-check-for-pending-edit #[(position) "\305 \210\306 \211 \307\223\210\310\n\"\211\203!b\210\311 A@!\210\312\f!\210 *?\207" [marker position po-edited-fields slot po-subedit-message po-clean-out-killed-edits make-marker nil assoc pop-to-buffer message] 4 (#$ . 54840)]) #@65 Get out of PO mode, leaving PO file buffer in fundamental mode. (defalias 'po-edit-out-full #[nil "\302 \205 \303 \210\304\305!\207" [po-read-only buffer-read-only po-check-all-pending-edits fundamental-mode message "Type 'M-x po-mode RET' once done"] 2 (#$ . 55203) nil]) #@39 Quit ediff and exit `recursive-edit'. (defalias 'po-ediff-quit #[nil "\300\301!\210\302 \207" [ediff-quit t exit-recursive-edit] 2 (#$ . 55485) nil]) (add-hook 'ediff-keymap-setup-hook '(lambda nil (define-key ediff-mode-map "Q" 'po-ediff-quit))) #@308 Ediff buffer B1 and B2, pop back to OLDBUF and replace the old variants. This function will delete the first two variants in OLDBUF, call `ediff-buffers' to compare both strings and replace the two variants in OLDBUF with the contents of B2. Once done kill B1 and B2. For more info cf. `po-subedit-ediff'. (defalias 'po-ediff-buffers-exit-recursive #[(b1 b2 oldbuf end) "\305 \"\210\306 \210\307\n!\210e |\210\310 !\210\311\312 D\"\210\313\f\314\"\207" [b1 b2 oldbuf end entry-buffer ediff-buffers recursive-edit pop-to-buffer insert-buffer-substring mapc kill-buffer display-buffer t] 4 (#$ . 55739)]) #@521 Edit the subedit buffer using `ediff'. `po-subedit-ediff' calls `po-ediff-buffers-exit-recursive' to edit translation variants side by side if they are actually different; if variants are equal just delete the first one. `msgcat' is able to produce those variants; every variant is marked with: #-#-#-#-# file name reference #-#-#-#-# Put changes in second buffer. When done with the `ediff' session press \[exit-recursive-edit] exit to `recursive-edit', or call \[po-ediff-quit] (`Q') in the ediff control panel. (defalias 'po-subedit-ediff #[nil "\306\307\310\211\310\211\310\211@\311!eb\210\312!\2031\313\314!\211\2031\314y\210`\315d\316#\204A\317\320!\202\264\313\314!\321\224p r\322\323 !!q\210\310!\324 \210\325 \f#\210\316!)`\212\315d\316#\203v\321\224\202{dSb)r\322\323\n!!q\210\324 \210\325 #\210)\326 \f\"\326 \"\230\204\250\327 \n $\202\263\330\331 \"\210\332y\210e`|).\n\207" [marker-regex buf1 buf2 start-1 end-1 start-2 "^#-#-#-#-# \\(.*\\) #-#-#-#-#\n" " *po-msgstr-1" nil marker-buffer looking-at match-string-no-properties 1 re-search-forward t error "Only 1 msgstr found" 0 get-buffer-create generate-new-buffer-name erase-buffer insert-buffer-substring buffer-substring-no-properties po-ediff-buffers-exit-recursive message "Variants are equal; delete %s" -1 end-2 po-subedit-back-pointer back-pointer entry-marker entry-buffer oldbuf buffer-read-only] 6 (#$ . 56352) nil]) #@58 Exit the subedit buffer, merely discarding its contents. (defalias 'po-subedit-abort #[nil "p \211@\306\n8\307 !\211\204\310\311!\202<\312 \204!\313 \210\314 !\210 b\210\f\2030\315\f!\210\316!\210\317\n\"\211-\207" [edit-buffer po-subedit-back-pointer back-pointer entry-marker overlay-info entry-buffer 2 marker-buffer error "Corresponding PO buffer does not exist anymore" one-window-p delete-window switch-to-buffer po-dehighlight kill-buffer delete po-edited-fields] 4 (#$ . 57811) nil]) #@65 Exit the subedit buffer, replacing the string in the PO buffer. (defalias 'po-subedit-exit #[nil "db\210\305\306x\210h\307=\203`Sd|\210\310\311!\210\312 \313 \210\314 \210` U\203.\315!\210\316 \202X`\nU\203V\317!\205X\320 \210 \205X\f\321=\205X\322 \210\323\324!\210\325 \210\326 \202X\327 )\207" [string po-start-of-msgid po-start-of-msgstr-form po-auto-fuzzy-on-edit po-entry-type " \n" nil 60 run-hooks po-subedit-exit-hook buffer-string po-subedit-abort po-find-span-of-entry po-set-comment po-redisplay po-set-msgstr-form po-maybe-delete-previous-untranslated translated po-decrease-type-counter po-add-attribute "fuzzy" po-current-entry po-increase-type-counter debug] 2 (#$ . 58324) nil]) #@183 Prepare a pop up buffer for editing STRING, which is of a given TYPE. TYPE may be 'comment or 'msgstr. If EXPAND-TABS, expand tabs to spaces. Run functions on po-subedit-mode-hook. (defalias 'po-edit-string #[(string type expand-tabs) "\306 \211 \307\267\202\n\202 \202\310\310\223\210\311!\205\311\312\313\314 \313Q!\fp\310\211'()* \315=\203e+\203e\212,b\210\316-\310\317#\210\320\225S.\320\224b\210\316\321\310\317#\210\322 '\323'`.($\210**'E\211/B/\324*!\210\325 \210\326\327!\210 \326\330!\210\331)01\332 \2102\333\261\210eb\2103\203\243\3104\3345!\210\335\336!\203\273\337\310!\210\340\3415\3426$\210\3437!\210\344\345!\210\3468!-)\207" [marker type po-start-of-msgid po-start-of-msgstr-form buffer-file-coding-system slot make-marker #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (comment 10 msgstr 14)) nil po-check-for-pending-edit generate-new-buffer "*" buffer-name msgstr re-search-forward t 0 "msgid +" po-create-overlay po-highlight pop-to-buffer text-mode make-local-variable po-subedit-back-pointer indent-line-function indent-relative erase-buffer "<" use-local-map fboundp easy-menu-define (lambda (#1=#:def-tmp-var) (defvar po-subedit-mode-menu #1# #2="")) easy-menu-do-define po-subedit-mode-menu #2# set-syntax-table run-hooks po-subedit-mode-hook message overlay buffer edit-coding edit-buffer po-highlighting po-start-of-entry po-any-msgid-regexp end po-edited-fields po-mode-abbrev-table local-abbrev-table string expand-tabs indent-tabs-mode po-subedit-mode-map po-subedit-mode-menu-layout po-subedit-mode-syntax-table po-subedit-message] 6 (#$ . 59040)]) #@60 Use another window to edit the current translator comment. (defalias 'po-edit-comment #[nil "\300 \210\301\302\303!\304\303#\207" [po-find-span-of-entry po-edit-string po-get-comment nil comment] 4 (#$ . 60716) nil]) #@167 Use `ediff' to edit the current translator comment. This function calls `po-edit-msgstr' and `po-subedit-ediff'; for more info read `po-subedit-ediff' documentation. (defalias 'po-edit-comment-and-ediff #[nil "\300 \210\301 \207" [po-edit-comment po-subedit-ediff] 1 (#$ . 60940) nil]) #@48 Use another window to edit the current msgstr. (defalias 'po-edit-msgstr #[nil "\302 \210\303\203 \304=\203\305 \202\306 \307\310#\207" [po-auto-edit-with-msgid po-entry-type po-find-span-of-entry po-edit-string untranslated po-get-msgid po-get-msgstr-form msgstr t] 4 (#$ . 61232) nil]) #@155 Use `ediff' to edit the current msgstr. This function calls `po-edit-msgstr' and `po-subedit-ediff'; for more info read `po-subedit-ediff' documentation. (defalias 'po-edit-msgstr-and-ediff #[nil "\300 \210\301 \207" [po-edit-msgstr po-subedit-ediff] 1 (#$ . 61534) nil]) #@144 Normalize old gettext style fields using K&R C multiline string syntax. To minibuffer messages sent while normalizing, add the EXPLAIN string. (defalias 'po-normalize-old-style #[(explain) "\305 \306eb\210\307\310\n\f#\210\311\312\313\314#\2032\n\315\246\306U\203&\307\310\n\f#\210\316\317\314\313#\210\nT\202 b\210\307\320\n\"+\207" [po-read-only buffer-read-only counter here explain point-marker 0 message "Normalizing %d, %s" re-search-forward "\\(^#?[ ]*msg\\(id\\|str\\)[ ]*\"\\|[^\" ][ ]*\\)\\\\\n" nil t 10 replace-match "\\1\"\n\"" "Normalizing %d...done"] 4 (#$ . 61813)]) #@149 Normalize FIELD of all entries. FIELD is either the symbol msgid or msgstr. To minibuffer messages sent while normalizing, add the EXPLAIN string. (defalias 'po-normalize-field #[(field explain) "\306 \307eb\210\310\n\311\312#\203A\313\246\307U\203\314\315 #\210\307\224b\210\316 \210\f\317\267\2028\320\321 !\210\2028\322\323 !\210 b\210T\202 b\210\314\324\"*\207" [counter here po-any-msgstr-block-regexp explain field po-end-of-entry point-marker 0 re-search-forward nil t 10 message "Normalizing %d, %s" po-find-span-of-entry #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (msgid 43 msgstr 51)) po-set-msgid po-get-msgid po-set-msgstr-form po-get-msgstr-form "Normalizing %d...done"] 4 (#$ . 62416)]) (defalias 'po-normalise #[nil "\300 \207" [po-normalize] 1]) (put 'po-normalise 'byte-optimizer 'byte-compile-inline-expand) #@39 Normalize all entries in the PO file. (defalias 'po-normalize #[nil "\303\304!\210\305\306\307\"\210\305\310\311\"\210dU\204 \312d\"\210)\313\310!\207" [po-end-of-entry po-read-only buffer-read-only po-normalize-old-style "pass 1/3" po-normalize-field t "pass 2/3" nil "pass 3/3" kill-region po-compute-counters] 3 (#$ . 63305) nil]) #@54 Echo the current auxiliary list in the message area. (defalias 'po-show-auxiliary-list #[nil "\203= \304\211\203\n\211\205\305 @@Q A\211\204\f\211 =\2048\n\211\205,\305 @@Q A\211\202!\306\n!*\207\306\307!\207" [po-auxiliary-list po-auxiliary-cursor string cursor nil " " message "No auxiliary files."] 4 (#$ . 63650)]) #@57 Add the current PO file to the list of auxiliary files. (defalias 'po-consider-as-auxiliary #[nil "C \235\204 CC\244\n\204 \303 \207" [buffer-file-name po-auxiliary-list po-auxiliary-cursor po-show-auxiliary-list] 2 (#$ . 63993) nil]) #@62 Delete the current PO file from the list of auxiliary files. (defalias 'po-ignore-as-auxiliary #[nil "\303C \"\211\304 \207" [buffer-file-name po-auxiliary-list po-auxiliary-cursor delete po-show-auxiliary-list] 4 (#$ . 64242) nil]) #@339 Search a PO file NAME for a 'msgid' STRING having a non-empty 'msgstr'. STRING is the full quoted msgid field, including the 'msgid' keyword. When found, display the file over the current window, with the 'msgstr' field possibly highlighted, the cursor at start of msgid, then return 't'. Otherwise, move nothing, and just return 'nil'. (defalias 'po-seek-equivalent-translation #[(name string) "p\306! q\210`\307eb\210 \2045\310 \307\311#\2035\312\313!\203\314 \210{\315\230\204\311\211\203 \203o\316 !\210\314 \210\203hb\210\317\307\311#\210\320\225S\320\224b\210\317\321\307\311#\210\322`#\210)b\210\202x\fb\210\314 \210\nq\210 ,\207" [name buffer current found start string find-file-noselect nil search-forward t looking-at "^msgstr " po-find-span-of-entry "msgstr \"\"\n" switch-to-buffer re-search-forward 0 "msgstr +" po-highlight po-start-of-msgstr-block po-end-of-entry po-highlighting po-start-of-entry po-any-msgstr-block-regexp end po-marking-overlay po-start-of-msgid] 5 (#$ . 64485)]) #@67 Select the next auxiliary file having an entry with same 'msgid'. (defalias 'po-cycle-auxiliary #[nil "\306 \210\205t \n{ \307\211\f \204=\f\203=\f@@\f\230\2045\310\f \"\2035\311\f\fA\f\202\f \204j\f\203j\f@@\f\230\204b\310\f \"\203b\311\f\fA\f\202@ \204r\312\313!\210 ,\207" [po-auxiliary-list po-start-of-msgid po-start-of-msgstr-block po-auxiliary-cursor name found po-find-span-of-entry nil po-seek-equivalent-translation t message "No other translation found" cursor string buffer-file-name] 4 (#$ . 65527) nil]) #@61 Cycle auxiliary file, but from the translation edit buffer. (defalias 'po-subedit-cycle-auxiliary #[nil "@\304 !p\305\n!\210\306 \210\305 !+\207" [po-subedit-back-pointer entry-marker entry-buffer buffer marker-buffer pop-to-buffer po-cycle-auxiliary] 2 (#$ . 66094) nil]) #@180 Select one of the available auxiliary files and locate an equivalent entry. If an entry having the same 'msgid' cannot be found, merely select the file without moving its cursor. (defalias 'po-select-auxiliary #[nil "\305 \210\205$ \n{\306\307\310\311\312$\"@\313 \210\314 \f\"\206#\315 !*\207" [po-auxiliary-list po-start-of-msgid po-start-of-msgstr-block name string po-find-span-of-entry assoc completing-read "Which auxiliary file? " nil t po-consider-as-auxiliary po-seek-equivalent-translation find-file] 7 (#$ . 66378) nil]) #@58 Echo the current source search path in the message area. (defalias 'po-show-source-path #[nil "\203#\303\211\203 \211\205\304\n@@Q\nA\211\204\f\305 !*\207\305\306!\207" [po-search-path string cursor nil " " message "Empty source path."] 4 (#$ . 66923)]) #@76 Add a given DIRECTORY, requested interactively, to the source search path. (defalias 'po-consider-source-path #[(directory) "\303\304\"\203 \202\305PC B\306\307 \207" [directory po-search-path po-reference-check string-match "/$" "/" 0 po-show-source-path] 3 (#$ . 67195) "DDirectory for search path: "]) #@76 Delete a directory, selected with completion, from the source search path. (defalias 'po-ignore-source-path #[nil "\302\303\304\305\306$C\"\307\310 \207" [po-search-path po-reference-check delete completing-read "Directory to remove? " nil t 0 po-show-source-path] 6 (#$ . 67514) nil]) #@72 Extract all references into a list, with paths resolved, if necessary. (defalias 'po-ensure-source-references #[nil "\306 \210 U?\205\204\307\212b\210\310\311 \312#\203z\307\211\211\211\211\313\314!\203y\315\225b\210\316\317!\316\320!\321\230\204a\322 @@P\211!\204Z \203Z A\202C \205_\f\203%\323Q\324!E\nB\202%-)\n\237\211\211\207" [po-start-of-entry po-reference-check po-reference-alist po-start-of-msgid file path po-find-span-of-entry nil re-search-forward "^#:" t looking-at "\\(\n#:\\)? *\\([^: ]*\\):\\([0-9]+\\)" 0 po-match-string 2 3 "" file-exists-p ":" string-to-number line name current po-search-path po-reference-cursor] 6 (#$ . 67810)]) #@70 Show the source context given a TRIPLET which is (PROMPT FILE LINE). (defalias 'po-show-source-context #[(triplet) "\306A@!\210\307AA@!\210\310\311!\210\312\313 \n@=\204'\fT\nA\202\fT\n\n\203:\fT\nA\211\2040\314\315 \f@$+\207" [triplet po-reference-alist cursor position maximum po-reference-cursor find-file-other-window goto-line other-window 1 0 nil message "Displaying %d/%d: \"%s\""] 6 (#$ . 68520)]) #@124 Display some source context for the current entry. If the command is repeated many times in a row, cycle through contexts. (defalias 'po-cycle-source-reference #[nil "\303 \210\203\304 \305=\203A\206\n\202@!\207\306\307!\207" [po-reference-cursor last-command po-reference-alist po-ensure-source-references po-show-source-context po-cycle-source-reference error "No resolved source references"] 3 (#$ . 68951) nil]) #@68 Select one of the available source contexts for the current entry. (defalias 'po-select-source-reference #[nil "\301 \210\203\302\303\304\305\306\307$\"!\207\310\311!\207" [po-reference-alist po-ensure-source-references po-show-source-context assoc completing-read "Which source context? " nil t error "No resolved source references"] 7 (#$ . 69384) nil]) #@195 Find an unmarked translatable string through all files in tags table. Disregard some simple strings which are most probably non-translatable. With prefix argument, restart search at first file. (defalias 'po-tags-search #[(restart) "\306\307!\210\203\f\310 !\210\311p \312!\210\204+@\313=\203+\314\311!\210\2025\315\316\314\317!\210\320\321 !!\210*\n\205\217\322  !\320\321 !!\210b\210\323!\204f\324\325!\210\323!\203tb\210\202|b\210\324\326!\210\320!!\210\205\216\327  $,\207" [po-highlighting po-marking-overlay po-string-contents po-keywords po-current-po-keywords po-current-po-buffer require etags po-dehighlight nil pop-to-buffer po-tags-loop-operate tags-loop-continue (po-tags-loop-scan) (po-tags-loop-operate) t select-window get-buffer-window selected-window pos-visible-in-window-p recenter (nil) -1 po-highlight po-string-buffer restart tags-loop-operate tags-loop-scan po-string-start po-string-end end start buffer window] 5 (#$ . 69752) "P"]) #@72 Decide if the current buffer is still interesting for PO mode strings. (defalias 'po-tags-loop-scan #[nil "m?\207" [] 1 (#$ . 70769)]) #@138 Find an acceptable tag in the current buffer, according to mode. Disregard some simple strings which are most probably non-translatable. (defalias 'po-tags-loop-operate #[nil "\306 \210\307\310 \203f\n !\211\203`\311\312!r\fq\210\313\216@c\210eb\210\314\315\310\307#\2031\310\202\\\314\316\310\307#\203\\\317 eb\210\314\320\310\307#\203P\321\322\307\211#\210\202?\323\317 _ W\203[\310)+\202\310\211\204 \203\210p\212q\210@A@\3238*\202\213db\210*?\207" [data continue po-find-string-function po-current-po-keywords #1=#:temp-buffer total po-preset-string-functions t nil generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] re-search-forward "[A-Za-z][A-Za-z][A-Za-z]" "[A-Za-z][A-Za-z]" buffer-size "[A-Za-z]+" replace-match "" 2 buffer po-current-po-buffer po-string-contents po-string-buffer po-string-start po-string-end] 5 (#$ . 70911)]) #@75 Mark last found string in program sources as translatable, using KEYWORD. (defalias 'po-mark-found-string #[(keyword) "\204\306\307!\210 \203\310\n!\210 \f \311\211\212q\210\312e\"#\210)db\210\313\314\315\316 !#\261\210\212\317\320\311#\321\261\210)T\322 \210)\311\211.\207" [po-string-contents po-highlighting po-marking-overlay po-string-buffer po-string-start po-string-end error "No such string" po-dehighlight nil count-lines "\n" format "#: %s:%d\n" buffer-file-name po-eval-requoted "msgid" "msgstr \"\"\n" po-update-mode-line-string string line end start buffer contents po-mark-string-function keyword po-read-only buffer-read-only po-untranslated-counter] 6 (#$ . 71841)]) #@71 Mark last found string in program sources as translatable, using '_'. (defalias 'po-mark-translatable #[nil "\300\301!\207" [po-mark-found-string "_"] 2 (#$ . 72578) nil]) #@220 Mark last found string in program sources as translatable, ask for keyword, using completion. With prefix argument, just ask the name of a preferred keyword for subsequent commands, also added to possible completions. (defalias 'po-select-mark-and-mark #[(arg) "\203\305\306!C\211\307 \n\"B\211)\207 \204\310\311!\210\n@@\312\313\314\f\"\n\315\316$\211\317\230\2031\f\320 !*\207" [arg keyword po-keywords po-string-contents default read-from-minibuffer "Keyword: " delete error "No such string" completing-read format "Mark with keyword? [%s] " nil t "" po-mark-found-string] 6 (#$ . 72757) "P"]) #@151 Preset FIND-STRING-FUNCTION and MARK-STRING-FUNCTION according to mode. These variables are locally set in source buffer only when not already bound. (defalias 'po-preset-string-functions #[nil "\305\267\202\306\202'\307\202'\310\202'\311\202'\312=\203& \313\230\203&\314\202'\315\316\303!\2045\317\303!\210\n@\316\304!\206C\317\304!\210\nA\211)\207" [major-mode mode-line-process pair po-find-string-function po-mark-string-function #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (awk-mode 6 c-mode 10 c++-mode 10 emacs-lisp-mode 14 python-mode 18)) (po-find-awk-string . po-mark-awk-string) (po-find-c-string . po-mark-c-string) (po-find-emacs-lisp-string . po-mark-emacs-lisp-string) (po-find-python-string . po-mark-python-string) sh-mode "[bash]" (po-find-bash-string . po-mark-bash-string) (po-find-unknown-string . po-mark-unknown-string) boundp make-local-variable] 2 (#$ . 73373)]) #@62 Dummy function to skip over a file, finding no string in it. (defalias 'po-find-unknown-string #[(keywords) "\300\207" [nil] 1 (#$ . 74324)]) #@60 Dummy function to mark a given string. May not be called. (defalias 'po-mark-unknown-string #[(start end keyword) "\300\301!\207" [error "Dummy function called"] 2 (#$ . 74472)]) #@142 Find the next Awk string, excluding those marked by any of KEYWORDS. Return (CONTENTS START END) for the found string, or nil if none found. (defalias 'po-find-awk-string #[(keywords) "\304\211 \204\227\305\306\304\307#\203\227h\310U\203$\311\312\304\307#\204db\210\202h\313U\203Fg\313U\204@\314\304w\210g\315U\203*\316u\210\202*\317u\210\202`Sg\320U\204_\321\304w\210g\315U\203I\316u\210\202I\317u\210`\212 b\210h\322U\203u\304\211\202\223h\323U\203\223\324u\210`\325\304x\210\326`\n\"C \235\203\222\304\211))\202 \205\247\205\247\327p # E*\207" [end start end-keyword keywords nil re-search-forward "[#/\"]" t 35 search-forward "\n" 47 "^/\\\\" 92 2 1 34 "^\"\\\\" 95 40 -1 "_A-Za-z0-9" po-buffer-substring po-extract-unquoted] 5 (#$ . 74659)]) #@88 Mark the Awk string, from START to END, with KEYWORD. Leave point after marked string. (defalias 'po-mark-awk-string #[(start end keyword) "\303\230\203 b\210\303c\210\nTb\207\nb\210\304c\210\212 b\210\305\261)\207" [keyword start end "_" ")" "("] 2 (#$ . 75448)]) #@139 Find the next unmarked Bash string. KEYWORDS are merely ignored. Return (CONTENTS START END) for the found string, or nil if none found. (defalias 'po-find-bash-string #[(keywords) "\302\211 \204v\303\304\302\305#\203vh\306U\203$\307\310\302\305#\204db\210\202h\311U\203Fg\311U\204@\312\302w\210g\313U\203*\314u\210\202*\315u\210\202`Sg\316U\204_\317\302w\210g\313U\203I\314u\210\202I\315u\210`\212 b\210h\320U\203r\302\211)\202 \205\206\205\206\321p # E*\207" [end start nil re-search-forward "[#'\"]" t 35 search-forward "\n" 39 "^'\\\\" 92 2 1 34 "^\"\\\\" 36 po-extract-unquoted] 5 (#$ . 75725)]) #@106 Mark the Bash string, from START to END, with '$'. KEYWORD is ignored. Leave point after marked string. (defalias 'po-mark-bash-string #[(start end keyword) "b\210\302c\210 Tb\207" [start end "$"] 1 (#$ . 76364)]) #@141 Find the next C string, excluding those marked by any of KEYWORDS. Returns (CONTENTS START END) for the found string, or nil if none found. (defalias 'po-find-c-string #[(keywords) "\304\211 \204\306\305\306\304\307#\203\306h\310U\203\311\312!\210\202h\313U\203,\304\210\314u\210\202h\315U\203Bg\316U\203<\317\202=\320u\210\202\212\321 \210\322\323!)\203S\304\210\202`S\304\204\213g\324U\203x\322\325!\203o\326\225b\210\202X\314u\210`\211\202Yg\316U\203\204\320u\210\202X\327\304w\210\202X b\210\330\304x\210h\331U\203\300\332u\210\330\304x\210`\333\304x\210\334`\n\"C \235\203\271b\210\304\211\202\274b\210)\202b\210\202 \205\326\205\326\335p # E*\207" [end start end-keyword keywords nil re-search-forward "\\([\"']\\|/\\*\\|//\\)" t 42 search-forward "*/" 47 1 39 92 3 2 beginning-of-line looking-at "^# *\\(include\\|line\\)" 34 "\"[ \n\\\\]*\"" 0 "^\"\\\\" " \n " 40 -1 "_A-Za-z0-9" po-buffer-substring po-extract-unquoted] 5 (#$ . 76587)]) #@86 Mark the C string, from START to END, with KEYWORD. Leave point after marked string. (defalias 'po-mark-c-string #[(start end keyword) "b\210\303c\210\212 b\210\nc\210\n\304\230\204\305c\210\306c)\207" [end start keyword ")" "_" " " "("] 2 (#$ . 77591)]) #@150 Find the next Emacs LISP string, excluding those marked by any of KEYWORDS. Returns (CONTENTS START END) for the found string, or nil if none found. (defalias 'po-find-emacs-lisp-string #[(keywords) "\304\211 \204y\305\306\304\307#\203yh\310U\203\311\312!\210\202h\313U\2033g\314U\203-\315\202.\316u\210\202`Sg\317U\204L\320\304w\210g\314U\2036\315u\210\2026\316u\210` b\210\321\304x\210`\322\304x\210h\323U\203u\324`\n\"C \235\203ub\210\304\211)\202 \205\211\205\211\325p # E*\207" [end start end-keyword keywords nil re-search-forward "[;\"?]" t 59 search-forward "\n" 63 92 2 1 34 "^\"\\\\" " \n " "-_A-Za-z0-9" 40 po-buffer-substring po-extract-unquoted] 5 (#$ . 77856)]) #@95 Mark the Emacs LISP string, from START to END, with KEYWORD. Leave point after marked string. (defalias 'po-mark-emacs-lisp-string #[(start end keyword) "b\210\303c\210\212 b\210\304\n\261\210\n\305\230\206\306c)\207" [end start keyword ")" "(" "_" " "] 2 (#$ . 78569)]) #@221 Find the next Python string, excluding those marked by any of KEYWORDS. Also disregard strings when preceded by an empty string of the other type. Returns (CONTENTS START END) for the found string, or nil if none found. (defalias 'po-find-python-string #[(keywords) "\305\211\211\n\204\202\306\307\305\310#\203\202\311u\210g\312U\203\"\313\314!\210\202\315\316!\203.\317 \210\202\315\320!\203:\317 \210\202h\321>\203C\311u\210`\317 ` b\210\322\305x\210h\323U\203\\\305\202|h\324U\203|\311u\210\322\305x\210`\325\305x\210\326` \"C\f\235\203{\305)b\210\202\n\205\212\n E+\207" [end start contents end-keyword keywords nil re-search-forward "[#\"']" t -1 35 search-forward "\n" looking-at "\"\"'" po-skip-over-python-string "''\"" (114 82) " \n " 91 40 "_A-Za-z0-9" po-buffer-substring] 4 (#$ . 78851)]) #@141 Skip over a Python string, possibly made up of many concatenated parts. Leave point after string. Return unquoted overall string contents. (defalias 'po-skip-over-python-string #[nil "\306\307\310\211\211\211 \203\376\311\310w\210g\312U\203#\310\313\314!\210\202\345\315\316!\2031\310\317u\210\202\345\315\320!\203Ng\321>\322\225\211b\210\313\323!\210`\211\324Z\202\345\315\325!\203kg\326>\322\225\211b\210\313\327!\210`\211\324Z\202\345\315\330!\203\246g\331>\322\225\211b\210g\332>\204\221\333\310w\210g\334U\203{\317u\210\202{m\203\234\310\211\202\241`\335u\210`\202\345\315\336!\203\341g\337>\322\225\211b\210g\340>\204\314\341\310w\210g\334U\203\266\317u\210\202\266m\203\327\310\211\202\334`\335u\210`\202\345\310\211\n\203\f\f \203\364\n {\202\371\342p\n #P\202\fb\210\f.\207" [resume end start raw contents continue t "" nil " \n" 35 search-forward "\n" looking-at "\\\n" 2 "[rR]?\"\"\"" (114 82) 0 "\"\"\"" 3 "[rr]?'''" (114 82) "'''" "[rR]?\"" (114 82) (0 34) "^\"\\\\" 92 1 "[rR]?'" (114 82) (0 39) "^'\\\\" po-extract-part-unquoted] 7 (#$ . 79689)]) #@168 Mark the Python string, from START to END, with KEYWORD. If KEYWORD is '.', prefix the string with an empty string of the other type. Leave point after marked string. (defalias 'po-mark-python-string #[(start end keyword) "\303\230\203% b\210\212\nb\210g\304U\203\305\202\"g\306U\203!\307\202\"\310c)\207 b\210\311c\210\212\nb\210\312\261)\207" [keyword end start "." 39 "\"\"" 34 "''" "??" ")" "("] 2 (#$ . 80820)]) #@37 Provide an help window for PO mode. (defalias 'po-help #[nil "\303\304!rq\210\305\216 c\210eb\210\306 \307\216\310p!\210\311 \210\312\313!\210\314 -\207" [#1=#:temp-buffer po-help-display-string #2=#:wconfig generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] current-window-configuration #[nil "\301!\207" [#2# set-window-configuration] 2] switch-to-buffer delete-other-windows message "Type any character to continue" po-read-event] 2 (#$ . 81252) nil]) #@38 Undo the last change to the PO file. (defalias 'po-undo #[nil "\302 \210)\303\304!\207" [po-read-only buffer-read-only undo po-compute-counters nil] 2 (#$ . 81760) nil]) #@66 Say how many entries in each category, and the current position. (defalias 'po-statistics #[nil "\300\301!\207" [po-compute-counters t] 2 (#$ . 81938) nil]) #@59 Use 'msgfmt' for validating the current PO file contents. (defalias 'po-validate #[nil "\306\307!\210\310\300!\203\202 \311>\203\312\202\313 \203&\314\f!\315P\202'\n\316\317\320 !\321\320\f!\260\322 \210\307!,\207" [null-device system-type dev-null po-keep-mo-file buffer-file-name output require compile boundp (windows-nt windows-95) "NUL" "/dev/null" file-name-sans-extension ".mo" #[(mode-name) "\301\302Q\207" [mode-name "*" " validation*"] 3] " --statistics -c -v -o " shell-quote-argument " " po-msgfmt-version-check compilation-buffer-name-function po-msgfmt-program compile-command] 6 (#$ . 82101) nil]) (defvar po-msgfmt-version-checked nil) #@59 'msgfmt' from GNU gettext 0.10.36 or greater is required. (defalias 'po-msgfmt-version-check #[nil "\303\304!rq\210\305\216 \206m\3061\307\n\310\311\310\312\313&0\202#\210\202j\203jeb\210\314\315!\204G\314\316!\204G\314\317!\204G\314\320!\204G\314\321!\203j\322\323\324\322\325\326!!\322\325\327!!\322\325\330!\206\\\331!$!\332Y\203j\311\211\206m\333\334!+\207" [#1=#:temp-buffer po-msgfmt-version-checked po-msgfmt-program generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] (file-error) call-process nil t "--verbose" "--version" looking-at ".* \\([0-9]+\\)\\.\\([0-9]+\\)$" ".* \\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)$" ".* \\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)$" ".* \\([0-9]+\\)\\.\\([0-9]+\\)[-_A-Za-z0-9]+$" ".* \\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)[-_A-Za-z0-9]+$" string-to-number format "%d%03d%03d" match-string 1 2 3 "0" 10036 error "'msgfmt' from GNU gettext 0.10.36 or greater is required"] 8 (#$ . 82782)]) #@70 Return the ideal file name for this PO file in the central archives. (defalias 'po-guess-archive-name #[nil "\306!\307\211\211\211\211#\212eb\210\310$!\210\311\224\311\225 b\210\310\312\f\313#\2031\314\315!\314\316! \203E \317\230\204E\n\203E\n\320\230\203I\321\322!\210\323\324#\"\204q\323\325 !\326P#\"\203q\n\314\327#\"\232\204q\321\330\314\327#\"\n#\210%;\203}%\202\256 b\210\310\331\f\313#\203\256\314\327!\211&\203\255\332&%\"\211'\203\244'A\202\254\333\334\335&\"!)) \203\270 \336\230\203\274\321\337!\210 \340\n\341 \342\260.\207" [buffer-file-name team version package end-of-header start-of-header file-name-nondirectory nil re-search-forward 0 "\n\"Project-Id-Version: \\(GNU \\|Free \\)?\\([^\n ]+\\) \\([^\n ]+\\)\\\\n\"$" t po-match-string 2 3 "PACKAGE" "VERSION" error "Project-Id-Version field does not have a proper value" string-match "^[^\\.]*\\.po\\'" regexp-quote "-\\(.*\\)\\.[^\\.]*\\.po\\'" 1 "Version mismatch: file name: %s; header: %s.\nAdjust Project-Id-Version field to match file name and try again" "\n\"Language-Team: \\([^ ].*[^ ]\\) <.+@.+>\\\\n\"$" assoc read-string format "Team name '%s' unknown. What is the team code? " "LL" "Language-Team field does not have a proper value" "-" "." ".po" filename po-any-msgstr-block-regexp po-team-name-to-code name pair] 7 (#$ . 83798)]) #@50 Return the team address related to this PO file. (defalias 'po-guess-team-address #[nil "\302\212eb\210\303 !\210\304\224b\210\303\305\304\225\306#\203\307\310!\203%\311\230\203)\312\313!\210\307\314!*\207" [team po-any-msgstr-block-regexp nil re-search-forward 0 "\n\"Language-Team: +\\(.*<\\(.*\\)@.*>\\)\\\\n\"$" t po-match-string 2 "LL" error "Language-Team field does not have a proper value" 1] 4 (#$ . 85164)]) #@67 Start composing a letter, possibly including the current PO file. (defalias 'po-send-mail #[nil "\306\307!\211\203 \310 \202 \306\311!\204 \n\312\313!\"\210\202\253\314 \203(\315\316!\210\306\317!\203\253\f\320U\204=\306\321\322\f\"!\203\253 \320U\204L\306\321\323 \"!\203\253#\320U\204]\306\321\324#\"!\203\253p\325 \326$\211%&'() \n\203z\312\313!\202\201\321\327*(#\"\210eb\210\330\331\332+!\333Q!\210\212\214``}\210\334)!\210\335ed,\336(\337R\340\211%\210.*\341\342!\207" [team-flag po-translation-project-address address po-compose-mail-function po-untranslated-counter po-fuzzy-counter y-or-n-p "Write to your team? ('n' if writing to the Translation Project robot) " po-guess-team-address "Include current PO file in mail? " read-string "Subject? " buffer-modified-p error "The file is not even saved, you did not validate it." "You validated ('V') this file, didn't you? " 0 format "%d entries are untranslated, include anyway? " "%d entries are still fuzzy, include anyway? " "%d entries are obsolete, include anyway? " po-guess-archive-name nil "%s %s" re-search-forward "^" regexp-quote "\n" insert-buffer-substring shell-command-on-region " " ".gz" t message "" po-obsolete-counter buffer-file-coding-system coding-system-for-write coding-system-for-read transient-mark-mode name buffer po-translation-project-mail-label mail-header-separator po-gzip-uuencode-command] 8 (#$ . 85596) nil]) #@130 Confirm if quit should be attempted and then, do it. This is a failsafe. Confirmation is asked if only the real quit would not. (defalias 'po-confirm-and-quit #[nil "\303 \205(\304 \204\"\305V\204\" \305V\204\"\n\305V\204\"\306\307!\203%\310 \210\311\312!\207" [po-untranslated-counter po-fuzzy-counter po-obsolete-counter po-check-all-pending-edits buffer-modified-p 0 y-or-n-p "Really quit editing this PO file? " po-quit message ""] 2 (#$ . 87039) nil]) #@129 Save the PO file and kill buffer. However, offer validation if appropriate and ask confirmation if untranslated strings remain. (defalias 'po-quit #[nil "\304 \205K\305\306 \203\307\310!\204\311\312!\210\313 \210\314\203< \315V\2041\n\315V\2041 \315V\203<\307\316!\204<\314\317 \210\311\312!\210\205J\320 \210\321p!)\207" [quit po-untranslated-counter po-fuzzy-counter po-obsolete-counter po-check-all-pending-edits t buffer-modified-p y-or-n-p "File was modified; skip validation step? " message "" po-validate nil 0 "Unprocessed entries remain; quit anyway? " po-auto-select-entry save-buffer kill-buffer] 2 (#$ . 87511) nil]) (provide 'po-mode)