ื›ืœื™ ื—ื™ื ืžื™

    ืžืขืฆื‘ ื•ืขื•ืจืš ืงื•ื‘ืฆื™ GNU Gettext PO

    ืขืฆื‘ื•, ืืžืชื• ื•ื‘ื“ืงื• ืงื•ื‘ืฆื™ ืชืจื’ื•ื GNU Gettext PO ืขื msgid, โ€msgstr, โ€msgid_plural ื•ืžืฆื™ื™ื ื™ ืžืงื•ื ืฉืœ printf โ€(%s, %d).

    ืชื‘ื ื™ื•ืช9
    PO ืขื•ืจืš
    ืชื—ื‘ื™ืจ ืชืงื™ืŸ
    68 ืชื•ื•ื™ื3 ืฉื•ืจื•ืช

    ืžืฉืชื ื™ ื‘ื“ื™ืงื” ื•ืชืฆื•ื’ื” ืžืงื“ื™ืžื” ื—ื™ื”

    ืฉื ื• ืžืฉืชื ื™ื ื•ื”ื—ืœื™ืคื• ืฉืคื•ืช ื›ื“ื™ ืœืืžืช ืืช ื›ืœืœื™ ื”ืจื‘ื™ื ืฉืœ CLDR

    ืฉืคื”:
    ืœื ื–ื•ื”ื• ืžืฉืชื ื™ื ื‘ืžื—ืจื•ื–ืช ื”ื”ื•ื“ืขื”.
    ืคืœื˜ ืžืจื•ื ื“ืจ (fr):
    # Simple greeting msgid "Hello, world!" msgstr "Bonjour, le monde !"
    ื™ื™ืฆื•ื ืœื”ืฆื”ืจื” ื‘ื˜ื•ื—ื” ื‘ื˜ื™ืคื•ืกื™ื ืฉืœ Intlayer
    import { type Dictionary } from 'intlayer';const convertedMessageContent = {  key: 'converted-message',  content: `# Simple greetingmsgid "Hello, world!"msgstr "Bonjour, le monde !"`,} satisfies Dictionary;export default convertedMessageContent;
    Intlayer ืžืืžืชืช ืชืจื’ื•ืžื™ื ื‘ื–ืžืŸ ื”ืงื•ืžืคื™ืœืฆื™ื” ืขื ื”ืฉืœืžื” ืื•ื˜ื•ืžื˜ื™ืช ืžืœืื” ืฉืœ TypeScript.

    GNU Gettext PO Syntax Cheat Sheet

    ื›ืœืœื™ ืชื—ื‘ื™ืจ ืžื”ื™ืจื™ื ื•ื›ื™ืฆื“ ื›ืœ ื“ืคื•ืก ืžืžื•ืคื” ืœื”ืฆื”ืจื•ืช ื‘ื˜ื•ื—ื•ืช ื‘ื˜ื™ืคื•ืกื™ื ืฉืœ Intlayer

    ืคื™ืฆ'ืจืชื—ื‘ื™ืจื“ื•ื’ืžื”ื”ืขืจื•ืชื”ืžืงื‘ื™ืœื” ื‘-Intlayer
    Singular Messagemsgid "..." \n msgstr "..."msgid "Hello" \n msgstr "Bonjour"msgid is source key, msgstr is translated textt({ en: "Hello", fr: "Bonjour" })
    Plural Messagesmsgid_plural "..." \n msgstr[N] "..."msgid "file" \n msgid_plural "files" \n msgstr[0] "fichier" \n msgstr[1] "fichiers"Plural-Forms header defines index calculationplural({ one: "file", other: "{{count}} files" })
    Context (msgctxt)msgctxt "context" \n msgid "..."msgctxt "menu" \n msgid "File"Disambiguates identical msgid in different contextsSeparate keys or select() nodes
    Printf Specifiers%s, %d, %1$smsgid "%d items found"Position-aware C printf formatters{{count}} or named interpolations
    Comments# translator, #: reference, #, flag#: src/app.tsx:42Standard PO comments generated by xgettextTypeScript comments in .content.ts
    ื”ืืจื›ื™ื˜ืงื˜ื•ืจื” ืžื‘ื•ืกืกืช ื”ืงื•ืžืคื™ื™ืœืจ ืฉืœ Intlayer ืžื—ืœื™ืคื” ื ื™ืชื•ื— ื”ื•ื“ืขื•ืช ืžื•ืจื›ื‘ ื‘ื–ืžืŸ ืจื™ืฆื” ื‘ื‘ื˜ื™ื—ื•ืช ื˜ื™ืคื•ืกื™ื ื‘ื–ืžืŸ ืงื•ืžืคื™ืœืฆื™ื” ื•ื‘ื—ื™ืœื•ืฅ ืื•ื˜ื•ืžื˜ื™.
    ื”ืืงื•ืกื™ืกื˜ื ืฉืœ Intlayer

    ืœืขื•ืœื ืืœ ืชื“ืื’ื• ืฉื•ื‘ ืžืชื—ื‘ื™ืจ ืžื•ืจื›ื‘

    Intlayer ื”ื•ืคื›ืช ืืช ื”ื‘ื™ื ืื•ื ืœื—ื•ื•ื™ื™ืช ืคื™ืชื•ื— ืžื”ื ื” ืขื ื‘ื˜ื™ื—ื•ืช ื˜ื™ืคื•ืกื™ื ื‘ื–ืžืŸ ืงื•ืžืคื™ืœืฆื™ื”, ื—ื™ืœื•ืฅ ืื•ื˜ื•ืžื˜ื™ ืžืงื•ืžืคื•ื ื ื˜ื•ืช ื•ืฉื™ืœื•ื‘ ื—ืœืง ืขื ื”-CMS.