package | pomo |
---|---|
inherited_from | \Gettext_Translations |
add_entry(array | \Translation_Entry $entry) : boolean
array
\Translation_Entry
&$entry
boolean
true on success, false if the entry doesn't have a keyadd_entry_or_merge(array|\Translation_Entry $entry) : boolean
array
\Translation_Entry
boolean
comment_block(string $text, string $char = ' '
)
access | private |
---|
string
the comment text
string
character to denote a special PO comment, like :, default is a space
export(boolean $include_headers = true
) : string
boolean
whether to include the headers in the export
string
ready for inclusion in PO file string for headers and all the enrtriesexport_entries() : string
string
sequence of mgsgid/msgstr PO strings, doesn't containt newline at the endexport_entry(\Translation_Entry $entry) : false | string
static |
---|
\Translation_Entry
&$entry the entry to convert to po string
false
string
PO-style formatted string for the entry or
false if the entry is emptyexport_headers() : string
string
msgid/msgstr PO entry for this PO file headers, doesn't contain newline at the endexport_to_file(string $filename, boolean $include_headers = true
) : boolean
string
where to write the PO string
boolean
whether to include tje headers in the export
boolean
true on success, false on errorget_header(string $header)
string
get_plural_forms_count() : integer
integer
gettext_select_plural_form(integer $count)
It lives in this class, because there are more than one descendand, which will use it and they can't share it effectively.
integer
import_from_file(string $filename) : boolean
string
boolean
make_headers(string $translation) : array
string
array
make_plural_form_function(integer $nplurals, string $expression)
integer
string
match_begin_and_end_newlines($translation, $original)
merge_originals_with(object $other)
object
merge_with(Object $other) : void
Object
&$other Another Translation object, whose translations will be merged in this one
nplurals_and_expression_from_header(string $header) : array
string
array
parenthesize_plural_exression(string $expression) : string
string
the expression without parentheses
string
the expression with parentheses addedpoify(string $string) : string
static |
---|
string
the string to format
string
the poified stringprepend_each_line(string $string, string $with)
static |
---|
string
prepend lines in this string
string
prepend lines with this string
read_entry(resource $f, integer $lineno = 0
) : null | false | array
resource
integer
null
false
array
read_line(resource $f, string $action = 'read'
) : boolean
staticvar | string $last_line |
---|---|
staticvar | boolean $use_last_line |
resource
string
boolean
select_plural_form(integer $count)
Here, in the base Translations class, the common logic for English is implemented: 0 if there is one element, 1 otherwise
This function should be overrided by the sub-classes. For example MO/PO can derive the logic from their headers.
integer
number of items
set_comment_before_headers($text)
Doesn't need to include # in the beginning of lines, these are added automatically
set_header(string $header, string $value)
If the header already exists, it will be overwritten
TODO: this should be out of this class, it is gettext specific
string
header name, without trailing :
string
header value, without trailing \n
set_headers(array $headers)
array
translate(string $singular, string $context = null
) : string
string
string
string
translate_entry(\Translation_Entry $entry)
\Translation_Entry
translate_plural(string $singular, string $plural, integer $count, string $context = null
)
string
string
integer
string
trim_quotes(string $s) : \sring
string
\sring
unpoify(string $string) : string
static |
---|
string
PO-formatted string
string
enascaped string$comments_before_headers
''
$entries
array()
$headers
array()
add_comment_to_entry()
Parameters
$entry
\Translation_Entry
$po_comment_line
string