Module GettextPo
- author
- Sylvain Le Gall
val empty_po : GettextTypes.po_content
empty_po : value representing an empty PO
val add_po_translation_no_domain : GettextTypes.po_content -> GettextTypes.po_commented_translation -> GettextTypes.po_content
add_po_translation_no_domain po (comment_lst,location_lst,translation) : add a translation to a corpus of already defined translation with no domain defined. If the translation already exist, they are merged concerning location, and follow these rules for the translation itself :
- singular and singular : if there is an empty string ( "" ) in one of the translation, use the other translation,
- plural and plural : if there is an empty string list (
"" ; ""
) in one of the translaiton, use the other translation, - singular and plural : merge into a plural form. There is checks during the merge that can raise PoInconsistentMerge :
- for one singular string if the two plural strings differs
- if there is some elements that differs (considering the special case of the empty string ) in the translation
val add_po_translation_domain : GettextTypes.MapTextdomain.key -> GettextTypes.po_content -> GettextTypes.po_commented_translation -> GettextTypes.po_content
add_po_translation_domain po domain (comment_lst,location_lst,translation): add a translation to the already defined translation with the domain defined. See add_translation_no_domain for details.
val merge_po : GettextTypes.po_content -> GettextTypes.po_content -> GettextTypes.po_content
merge_po po1 po2 : merge two PO. The rule for merging are the same as defined in add_po_translation_no_domain. Can raise PoInconsistentMerge
val merge_pot : GettextTypes.po_content -> GettextTypes.po_content -> GettextTypes.po_content
merge_pot po pot : merge a PO with a POT. Only consider strings that exists in the pot. Always use location as defined in the POT. If a string is not found, use the translation provided in the POT. If a plural is found and a singular should be used, downgrade the plural to singular. If a singular is found and a plural should be used, upgrade singular to plural, using the strings provided in the POT for ending the translation.
val input_po : Stdlib.in_channel -> GettextTypes.po_content
val output_po : Stdlib.out_channel -> GettextTypes.po_content -> unit
val translation_of_po_translation : GettextTypes.po_translation -> GettextTypes.translation