Gettext_Translations class.

package pomo
inherited_from \Gettext_Translations

 Methods

add_comment_to_entry()

add_comment_to_entry(\Translation_Entry $entry, string $po_comment_line) 

Parameters

$entry

\Translation_Entry

$po_comment_line

string

Adds an entry to the PO structure.

add_entry(array|\Translation_Entry $entry) : boolean
Inherited
since 2.8.0

Parameters

$entry

array\Translation_Entry

Returns

booleanTrue on success, false if the entry doesn't have a key.

Adds or merges an entry to the PO structure.

add_entry_or_merge(array|\Translation_Entry $entry) : boolean
Inherited
since 2.8.0

Parameters

$entry

array\Translation_Entry

Returns

booleanTrue on success, false if the entry doesn't have a key.

Prepare a text as a comment -- wraps the lines and prepends # and a special character to each line

comment_block(string $text, string $char = ' '
Static
access private

Parameters

$text

string

the comment text

$char

string

character to denote a special PO comment, like :, default is a space

Exports the whole PO file as a string

export(boolean $include_headers = true) : string

Parameters

$include_headers

boolean

whether to include the headers in the export

Returns

stringready for inclusion in PO file string for headers and all the entries

Exports all entries to PO format

export_entries() : string

Returns

stringsequence of msgid/msgstr PO strings, doesn't contain a newline at the end

Builds a string from the entry for inclusion in PO file

export_entry(\Translation_Entry $entry) : string | false
Static

Parameters

$entry

\Translation_Entry

the entry to convert to po string.

Returns

stringfalsePO-style formatted string for the entry or false if the entry is empty

Exports headers to a PO entry

export_headers() : string

Returns

stringmsgid/msgstr PO entry for this PO file headers, doesn't contain newline at the end

Same as {@link export}, but writes the result to a file

export_to_file(string $filename, boolean $include_headers = true) : boolean

Parameters

$filename

string

Where to write the PO string.

$include_headers

boolean

Whether to include the headers in the export.

Returns

booleantrue on success, false on error

Returns a given translation header.

get_header(string $header) : string | false
Inherited
since 2.8.0

Parameters

$header

string

Returns

stringfalseHeader if it exists, false otherwise.

Returns the plural forms count.

get_plural_forms_count() : integer
Inherited
since 2.8.0

Returns

integerPlural forms count.

The gettext implementation of select_plural_form.

gettext_select_plural_form(integer $count) : integer
Inherited

It lives in this class, because there are more than one descendant, which will use it and they can't share it effectively.

since 2.8.0

Parameters

$count

integer

Plural forms count.

Returns

integerPlural form to use.

import_from_file()

import_from_file(string $filename) : boolean

Parameters

$filename

string

Returns

boolean

Prepare translation headers.

make_headers(string $translation) : \array<string,
Inherited
since 2.8.0

Parameters

$translation

string

Returns

\array<string,string> Translation headers

Makes a function, which will return the right translation index, according to the plural forms header.

make_plural_form_function(integer $nplurals, string $expression) : callable
Inherited
since 2.8.0

Parameters

$nplurals

integer

$expression

string

Returns

callable

match_begin_and_end_newlines()

match_begin_and_end_newlines($translation, $original) 
Static

Parameters

$translation

$original

Merges originals with existing entries.

merge_originals_with(\Translations $other) 
Inherited
since 2.8.0

Parameters

$other

\Translations

Merges other translations into the current one.

merge_with(\Translations $other) 
Inherited
since 2.8.0

Parameters

$other

\Translations

Another Translation object, whose translations will be merged in this one (passed by reference).

Returns the nplurals and plural forms expression from the Plural-Forms header.

nplurals_and_expression_from_header(string $header) : \array{0:
Inherited
since 2.8.0

Parameters

$header

string

Returns

\array{0:int, 1: string}

Adds parentheses to the inner parts of ternary operators in plural expressions, because PHP evaluates ternary operators from left to right

parenthesize_plural_exression(string $expression) : string
Inherited
since 2.8.0
deprecated 6.5.0 Use the Plural_Forms class instead.
see

Parameters

$expression

string

the expression without parentheses

Returns

stringthe expression with parentheses added

Formats a string in PO-style

poify(string $input_string) : string
Static

Parameters

$input_string

string

the string to format

Returns

stringthe poified string

Inserts $with in the beginning of every new line of $input_string and returns the modified string

prepend_each_line(string $input_string, string $with) 
Static

Parameters

$input_string

string

prepend lines in this string

$with

string

prepend lines with this string

read_entry()

read_entry(resource $f, integer $lineno = 0) : null | false | array

Parameters

$f

resource

$lineno

integer

Returns

nullfalsearray

read_line()

read_line(resource $f, string $action = 'read') : boolean

Parameters

$f

resource

$action

string

Returns

boolean

Given the number of items, returns the 0-based index of the plural form to use

select_plural_form(integer $count) : integer
Inherited

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 overridden by the subclasses. For example MO/PO can derive the logic from their headers.

since 2.8.0

Parameters

$count

integer

Number of items.

Returns

integerPlural form to use.

Text to include as a comment before the start of the PO contents

set_comment_before_headers(string $text) 

Doesn't need to include # in the beginning of lines, these are added automatically

Parameters

$text

string

Text to include as a comment.

Sets $header PO header to $value

set_header(string $header, string $value) 
Inherited

If the header already exists, it will be overwritten

TODO: this should be out of this class, it is gettext specific

since 2.8.0

Parameters

$header

string

header name, without trailing :

$value

string

header value, without trailing \n

Sets translation headers.

set_headers(array $headers) 
Inherited
since 2.8.0

Parameters

$headers

array

Associative array of headers.

Translates a singular string.

translate(string $singular, string $context = null) : string
Inherited
since 2.8.0

Parameters

$singular

string

$context

string

Returns

string

Returns a given translation entry.

translate_entry(\Translation_Entry $entry) : \Translation_Entry | false
Inherited
since 2.8.0

Parameters

$entry

\Translation_Entry

Translation entry.

Returns

\Translation_EntryfalseTranslation entry if it exists, false otherwise.

Translates a plural string.

translate_plural(string $singular, string $plural, integer $count, string $context = null) : string
Inherited
since 2.8.0

Parameters

$singular

string

$plural

string

$count

integer

$context

string

Returns

string

trim_quotes()

trim_quotes(string $s) : string
Static

Parameters

$s

string

Returns

string

Gives back the original string from a PO-formatted string

unpoify(string $input_string) : string
Static

Parameters

$input_string

string

PO-formatted string

Returns

stringunescaped string

Helper function for read_entry

is_final(string $context) : boolean
Static

Parameters

$context

string

Returns

boolean

 Properties

 

Callback to retrieve the plural form.

$_gettext_select_plural_form : callable

Default

since 2.8.0
 

Number of plural forms.

$_nplurals : integer

Default

since 2.8.0
 

$comments_before_headers

$comments_before_headers 

Default

''
 

List of translation entries.

$entries : array<mixed,\Translation_Entry>

Default

array()
since 2.8.0
 

List of translation headers.

$headers : \array<string,

Default

array()
since 2.8.0