Ƒöŕḿàţš
À ƒöŕḿàţ îñ neokapi îš à þàîŕéđ ŕéàđéŕ àñđ ŵŕîţéŕ ƒöŕ à đöçüḿéñţ ţýþé. Ţĥé ŕéàđéŕ ţüŕñš à ƒîļé îñţö à šţŕéàḿ öƒ Þàŕţš (ţĥé çöñţéñţ ƃļöçķš àñđ ţĥé šüŕŕöüñđîñĝ šţŕüçţüŕé), àñđ ţĥé ŵŕîţéŕ ţüŕñš ţĥàţ šţŕéàḿ ƃàçķ îñţö à ƒîļé. Ţĥîš ŕéàđ/þŕöçéšš/ŵŕîţé šýḿḿéţŕý îš ŵĥàţ ļéţš ţĥé šàḿé ţööļš àñđ ƒļöŵš öþéŕàţé öñ àñý ƒöŕḿàţ: ƃý ţĥé ţîḿé à ţööļ šééš à Ƃļöçķ, îţ ñö ļöñĝéŕ ḿàţţéŕš ŵĥéţĥéŕ îţ çàḿé ƒŕöḿ ĴŠÖÑ, ĤŢḾĻ, öŕ ĐÖÇẊ.
:::ţîþ Šéé ţĥé šķéļéţöñ þŕéšéŕṽéđ
Ŕéàđîñĝ à ƒîļé šþļîţš îţ îñţö çöñţéñţ ƃļöçķš àñđ
à ñöñ-ţŕàñšļàţàƃļé šķéļéţöñ: éṽéŕý ţàĝ, ķéý, àţţŕîƃüţé, àñđ đéļîḿîţéŕ ţĥé
ŵŕîţéŕ ñééđš ţö ŕéþŕöđüçé ţĥé öŕîĝîñàļ šţŕüçţüŕé. Ŕüñ à ƒîļé ţĥŕöüĝĥ
pseudo-translate ƃéļöŵ àñđ çöḿþàŕé ţĥé šöüŕçé ŵîţĥ ţĥé ŕöüñđ-ţŕîþþéđ öüţþüţ:
öñļý ţĥé ļéàƒ ţéẋţ çĥàñĝéš, ŵĥîļé ţĥé šķéļéţöñ çöḿéš ƃàçķ ƃýţé-ƒöŕ-ƃýţé. Ţĥîš
ŕüñš ţĥé ŕéàļ kapi ŕéàđéŕ àñđ ŵŕîţéŕ îñ ýöüŕ ƃŕöŵšéŕ ṽîà ŴéƃÀššéḿƃļý.
:::
neokapi šĥîþš ƃüîļţ-îñ ŕéàđéŕš àñđ ŵŕîţéŕš šþàññîñĝ šéṽéŕàļ ƒàḿîļîéš:
- Šöƒţŵàŕé î18ñ çàţàļöĝš: ĴŠÖÑ (îñçļüđîñĝ î18ñéẋţ, ÀŔƂ, àñđ đéšîĝñ
ţöķéñš), ÝÀḾĻ, Ĵàṽà þŕöþéŕţîéš, Àñđŕöîđ
strings.xml, Àþþļé.strings/.xcstrings, ŔÉŠẊ, Ǫţ ŢŠ, ĝéţţéẋţ ÞÖ/ḾÖ, ÎÇÜ ḾéššàĝéƑöŕḿàţ. - Đöçüḿéñţš & ḿàŕķüþ: Ḿàŕķđöŵñ àñđ ḾĐẊ, ĤŢḾĻ, ÀšçîîĐöç, ẊḾĻ (ŵîţĥ çöñƒîĝüŕàƃļé ţŕàñšļàţàƃļé éļéḿéñţš), þļàîñ ţéẋţ.
- Öƒƒîçé & þüƃļîšĥîñĝ: Öƒƒîçé Öþéñ ẊḾĻ (
.docx,.xlsx,.pptx), ÖþéñĐöçüḿéñţ, ÉÞÜƂ, ÞĐƑ. - Đàţà: ÇŠṼ/ŢŠṼ, ŵîţĥ çöļüḿñ-ŕöļé çöñƒîĝüŕàţîöñ.
- Šüƃţîţļéš & ḿéđîà: ŠüƃŔîþ (ŠŔŢ), ŴéƃṼŢŢ; îḿàĝéš, àüđîö, àñđ ṽîđéö àš þéŕ-ļöçàļé àššéţš.
- Šöüŕçé çöđé: ţĥé þŕöšé îñšîđé šöüŕçé ƒîļéš, ŕéàđ ŵîţĥ à ĝŕàḿḿàŕ (à
þàçķàĝé çàšķ'š đéšçŕîþţîöñ, à šţŕîñĝ ļîţéŕàļ îñ Ĝö öŕ ŢýþéŠçŕîþţ), þŕöṽîđéđ ƃý
ţĥé
kapi-sourcecodeþļüĝîñ. Îţ îš ŕéàđ-öñļý: à çöļļéçţîöñ îñ ţĥîš ƒöŕḿàţ îš đéçļàŕéđsource_only: trueàñđ îš çĥéçķéđ ŕàţĥéŕ ţĥàñ ţŕàñšļàţéđ. Šéé Šöüŕçé çöđé àñđ Ṽéŕîƒý çöñţéñţ îñ šöüŕçé ƒîļéš. - Ƃîļîñĝüàļ îñţéŕçĥàñĝé: ẊĻÎƑƑ 1.2 àñđ 2.ẋ, ÞÖ, ŢḾẊ, àñđ ţĥé ñàţîṽé Kapi ƒöŕḿàţ ƒàḿîļý, ţĥé ţŕàñšļàţöŕ-ĥàñđöƒƒ ļàýéŕ.
- Çöñţàîñéŕš & àŕçĥîṽéš: ŽÎÞ, ŢÀŔ, àñđ ĝžîþ-çöḿþŕéššéđ ŢÀŔ, ţŕéàţéđ àš à ƒöļđéŕ öƒ šüƃ-đöçüḿéñţš (šéé ƃéļöŵ).
Àñ îḿàĝé îš ŕéàđ àš àñ àššéţ îñ îţš öŵñ ŕîĝĥţ: ţĥé þîçţüŕé îţšéļƒ îš ţĥé üñîţ
à ŵöŕķƒļöŵ çàñ ŕéþļàçé ŵîţĥ à þéŕ-ļöçàļé ṽàŕîàñţ. Ŵîţĥ ţĥé kapi-vision þļüĝîñ
îñšţàļļéđ (àñđ ţĥé ocr/layout öþţîöñš öñ), ţĥé ŕéàđéŕ àļšö éẋţŕàçţš îñ-îḿàĝé
ţéẋţ àñđ đöçüḿéñţ ļàýöüţ (ŕéĝîöñš, ŕéàđîñĝ öŕđéŕ, ţàƃļéš), ţüŕñîñĝ à šçŕééñšĥöţ
öŕ šçàññéđ þàĝé îñţö šţŕüçţüŕéđ, ţŕàñšļàţàƃļé çöñţéñţ. Ţĥé đéšîĝñ, àñđ ţĥé ƒüļļ
šéţ öƒ îḿàĝé-àđàþţàţîöñ ḿöđéš, àŕé đéšçŕîƃéđ îñ
Ḿ-03.
ÞĐƑ îš ŕéàđ ƃý Ĝööĝļé'š ÞĐƑîüḿ ŕàţĥéŕ ţĥàñ à ƃüîļţ-îñ ŕéàđéŕ: öñ ţĥé đéšķţöþ àñđ
ÇĻÎ ţĥŕöüĝĥ ţĥé kapi-pdfium þļüĝîñ, àñđ îñ ţĥé ƃŕöŵšéŕ ţĥŕöüĝĥ ÞĐƑîüḿ çöḿþîļéđ
ţö ŴéƃÀššéḿƃļý. Ƃéýöñđ ţéẋţ, îţ ŕéçöṽéŕš éàçĥ ƒŕàĝḿéñţ'š þöšîţîöñ öñ ţĥé þàĝé
(ĝéöḿéţŕý) àñđ ţĥé đöçüḿéñţ'š šţŕüçţüŕé (ĥéàđîñĝš, þàŕàĝŕàþĥš, àñđ ţàƃļéš) ƒŕöḿ
ţĥé ÞĐƑ'š öŵñ ţàĝš ŵĥéŕé þŕéšéñţ àñđ ƃý ĝéöḿéţŕîç îñƒéŕéñçé öţĥéŕŵîšé. Ýöü çàñ ţŕý
îţ öñ ýöüŕ öŵñ ƒîļéš îñ ţĥé Šţŕüçţüŕé & Ļàýöüţ ļàƃ; ţĥé đéšîĝñ îš đéšçŕîƃéđ îñ
É-08.
Àñ àŕçĥîṽé (à ŽÎÞ, ŢÀŔ, öŕ ĝžîþ-çöḿþŕéššéđ ŢÀŔ) îš à ñàḿéšþàçé öƒ îññéŕ
đöçüḿéñţš ŕàţĥéŕ ţĥàñ öñé đöçüḿéñţ, šö îţ îš ĥàñđļéđ àš à çöñţàîñéŕ ƃîñđîñĝ
(É-04) ŕàţĥéŕ ţĥàñ à ƒöŕḿàţ
ŵîţĥ à ŵŕîţéŕ. Þöîñţéđ àţ àñ öüţþüţ-þŕöđüçîñĝ çöḿḿàñđ, éàçĥ éñţŕý îš þŕöçéššéđ
àš îţš öŵñ ƒîļé ŕüñ (ţĥŕöüĝĥ ţĥàţ éñţŕý'š ñöŕḿàļ ŕéàđéŕ àñđ ŵŕîţéŕ ŵîţĥ ƒüļļ
šķéļéţöñ ŕöüñđ-ţŕîþ) àñđ ţĥé ŕéšüļţš àŕé ŕéþàçķéđ öṽéŕ ţĥé öŕîĝîñàļ çöñţàîñéŕ,
çöþýîñĝ éṽéŕý öţĥéŕ ḿéḿƃéŕ ƃýţé-ƒöŕ-ƃýţé. Ƃéçàüšé éàçĥ éñţŕý îš à ŕéàļ,
šţàñđàļöñé ƒîļé ŕüñ, à þàçķàĝéđ ƒöŕḿàţ šüçĥ àš à ĐÖÇẊ öŕ ÉÞÜƂ îñšîđé ţĥé
àŕçĥîṽé ŕöüñđ-ţŕîþš ƒàîţĥƒüļļý, àñđ éàçĥ éñţŕý ŕéšöļṽéš îţš öŵñ ƒöŕḿàţ
çöñƒîĝüŕàţîöñ. Ƃîñàŕý àššéţš, ñéšţéđ çöñţàîñéŕš, àñđ ƃîļîñĝüàļ îñţéŕçĥàñĝé ƒîļéš
þàšš ţĥŕöüĝĥ üñçĥàñĝéđ. Šö kapi pseudo-translate bundle.zip -o out.zip
þšéüđö-ţŕàñšļàţéš éṽéŕý ŕéçöĝñîšéđ ƒîļé îñšîđé îţ, ñéšţéđ Öƒƒîçé
đöçüḿéñţš îñçļüđéđ, îñ öñé þàšš. Ƒöŕ îñšþéçţîöñ, à ŕéàđ-öñļý archive ŕéàđéŕ šüŕƒàçéš éàçĥ éñţŕý'š
çöñţéñţ šö kapi inspect bundle.zip šĥöŵš ŵĥàţ îš îñšîđé.
Éàçĥ ƒöŕḿàţ éẋþöšéš îţš öŵñ çöñƒîĝüŕàţîöñ (éẋţŕàçţîöñ ŕüļéš, šéĝḿéñţàţîöñ, îñļîñé-çöđé ĥàñđļîñĝ). Ŕàţĥéŕ ţĥàñ ḿàîñţàîñ à ļîšţ ƃý ĥàñđ, ţĥé Ƒöŕḿàţ Ŕéƒéŕéñçé îš ĝéñéŕàţéđ đîŕéçţļý ƒŕöḿ ţĥé ƒöŕḿàţ ŕéĝîšţŕý; îţ àļŵàýš ŕéƒļéçţš ţĥé ƒöŕḿàţš àñđ þàŕàḿéţéŕš îñ ţĥé çüŕŕéñţ ƃüîļđ.
Ĥöŵ kapi ŕéàđš à ƒîļé
Ţĥé çļéàŕéšţ ŵàý ţö šéé ŵĥàţ à ƒöŕḿàţ ŕéàđéŕ đöéš îš ţö ŵàţçĥ îţ þàŕšé à ƒîļé.
Ƃéļöŵ, kapi ŕéàđš àñ Àñđŕöîđ strings.xml ŕéšöüŕçé àñđ þŕöđüçéš ţĥé çöñţéñţ
ḿöđéļ: ţĥé ţŕàñšļàţàƃļé ƃļöçķš, ţĥéîŕ îđéñţîƒîéŕš, àñđ ţĥéîŕ šöüŕçé ţéẋţ. Ţĥîš
îš ţĥé ŕéàđéŕ šţàĝé öƒ ţĥé þîþéļîñé, ŵîţĥ ñö ţŕàñšƒöŕḿàţîöñ àþþļîéđ:
Ţĥé šàḿé þàŕšéŕ, þöîñţéđ àţ à đéŕéñţ ƒöŕḿàţ, þŕöđüçéš ƃļöçķš öƒ ţĥé šàḿé šĥàþé. Ĥéŕé àñ ẊĻÎƑƑ ƃîļîñĝüàļ ƒîļé ŕéšöļṽéš ţö ţĥé šàḿé ķîñđ öƒ ƃļöçķ šţŕéàḿ:
Ţĥé ƃļöçķ šĥàþé îš ţĥé šàḿé, ƃüţ ƃîļîñĝüàļ ƒöŕḿàţš çàŕŕý ḿöŕé. À ḿöñöļîñĝüàļ ƒöŕḿàţ (ĴŠÖÑ, ÝÀḾĻ, þŕöþéŕţîéš) þŕöđüçéš ŵĥöļé-ƃļöçķ šöüŕçé çöñţéñţ ŵîţĥ ñö îñţéŕñàļ šéĝḿéñţ šţŕüçţüŕé. À ƃîļîñĝüàļ ƒöŕḿàţ (ẊĻÎƑƑ, ŢḾẊ) àđđîţîöñàļļý þöþüļàţéš šţàñđ-öƒƒ šéĝḿéñţàţîöñ àñđ àļîĝñḿéñţ öṽéŕļàýš: ţĥé ƒîļé'š éẋîšţîñĝ šéĝḿéñţ ƃöüñđàŕîéš àñđ šöüŕçé↔ţàŕĝéţ þàîŕîñĝš àŕé ŕéçöŕđéđ àš öṽéŕļàýš öṽéŕ ţĥé ŕüñš ŕàţĥéŕ ţĥàñ ƃàķéđ îñţö šţŕüçţüŕé, šö ţĥéý šüŕṽîṽé à ŕöüñđ-ţŕîþ ŵĥéñ þŕéšéñţ àñđ àŕé àƃšéñţ ŵĥéñ à ƒöŕḿàţ đöéšñ'ţ đéƒîñé ţĥéḿ. Ţööļš àñđ ŵŕîţéŕš ŕéàđ ţĥöšé öṽéŕļàýš; à ƒöŕḿàţ ţĥàţ éḿîţš ñöñé ŵöŕķš àţ ŵĥöļé-ƃļöçķ ĝŕàñüļàŕîţý.
Çöñţéñţ ƒîđéļîţý: çöñţéẋţ ƒöŕ îñĝéšţîöñ
Ţĥé šþļîţ àƃöṽé (ţŕàñšļàţàƃļé ƃļöçķš þļüš àñ îñéŕţ šķéļéţöñ) îš öñļý þàŕţ öƒ ţĥé šţöŕý. À đöçüḿéñţ çàŕŕîéš ţéẋţ ţĥàţ šĥöüļđ ñöţ ƃé ţŕàñšļàţéđ ƃüţ îš šţîļļ ḿéàñîñĝƒüļ: çöđé ļîšţîñĝš, îḿàĝé çàþţîöñš àñđ àļţ-ţéẋţ, ƒöŕḿüļàš, šţŕîñĝš éẋþļîçîţļý ḿàŕķéđ đö-ñöţ-ţŕàñšļàţé, àñđ ṽàļüéš à çöñƒîĝ ŕüļé éẋçļüđéđ ƒŕöḿ ţŕàñšļàţîöñ. Ƒöŕ à ţŕàñšļàţîöñ ŕüñ ţĥîš îš ñöîšé; ƒöŕ ƒééđîñĝ à đöçüḿéñţ ţö àñ ĻĻḾ öŕ à ŕéţŕîéṽàļ îñđéẋ, îţ îš éẋàçţļý ţĥé çöñţéẋţ ýöü ŵàñţ ţö ķééþ.
Ƃý đéƒàüļţ, neokapi ŕéàđéŕš šüŕƒàçé ţĥîš çöñţéẋţüàļ çöñţéñţ àš ñöñ-ţŕàñšļàţàƃļé ƃļöçķš ŕàţĥéŕ ţĥàñ ĥîđîñĝ îţ îñ ţĥé šķéļéţöñ. Šüçĥ à ƃļöçķ îš ṽîšîƃļé ţö àñýţĥîñĝ ţĥàţ ŕéàđš ţĥé Þàŕţ šţŕéàḿ (ţĥé éđîţöŕ, àñ éẋþöŕţ ţö Ḿàŕķđöŵñ, àñ îñĝéšţîöñ þîþéļîñé) àñđ îš ţàĝĝéđ ŵîţĥ à ŕöļé (çöđé, ƒöŕḿüļà, çàþţîöñ, …) šö çöñšüḿéŕš ķñöŵ ŵĥàţ îţ îš, ƃüţ ḿàçĥîñé ţŕàñšļàţîöñ šķîþš îţ àñđ ţĥé ŕöüñđ-ţŕîþ îš üñàƒƒéçţéđ (îţš öŕîĝîñàļ ƃýţéš àŕé šţîļļ ŕéþļàýéđ ṽéŕƃàţîḿ). Çöḿḿéñţš àñđ šîḿîļàŕ ḿéţàđàţà šüŕƒàçé àš đàţà öŕ ñöţéš àļöñĝšîđé ţĥé çöñţéñţ.
Éàçĥ ŕéàđéŕ ţĥàţ šüþþöŕţš ţĥîš éẋþöšéš àñ extractNonTranslatableContent öþţîöñ
(öñ ƃý đéƒàüļţ) îñ ţĥé Ƒöŕḿàţ Ŕéƒéŕéñçé; šéţ îţ ƒàļšé ţö ŕéšţöŕé ţĥé
öļđéŕ šķéļéţöñ-öñļý ƃéĥàṽîöŕ. Ţĥé đéšîĝñ, àñđ ŵĥý îţ ļéàṽéš ţŕàñšļàţîöñ öüţþüţ
àñđ ţĥé ŕöüñđ-ţŕîþ ĝüàŕàñţéé üñçĥàñĝéđ, îš đéšçŕîƃéđ îñ
É-02. Éǫüàţîöñš àŕé
à ñöţàƃļé çàšé: Ŵöŕđ/ÖḾḾĻ ƒöŕḿüļàš àŕé çöñṽéŕţéđ ţö ĻàŢéẊ/ḾàţĥḾĻ àñđ ŕéñđéŕéđ öñ
çŕöšš-ƒöŕḿàţ éẋþöŕţ, àñđ ţĥé ñàţüŕàļ-ļàñĝüàĝé þŕöšé îñšîđé àñ éǫüàţîöñ îš
ţŕàñšļàţàƃļé; šéé ķçöñṽ àñđ
Ḿ-04.
Þļüĝîñ ƒöŕḿàţš
Þļüĝîñš çàñ ŕéĝîšţéŕ àđđîţîöñàļ ŕéàđéŕš àñđ ŵŕîţéŕš
àļöñĝšîđé ţĥé ƃüîļţ-îñ šéţ: ţĥé kapi-pdfium þļüĝîñ àđđš ţĥé ÞĐƑ ŕéàđéŕ, ƒöŕ
éẋàḿþļé. Öñçé îñšţàļļéđ, à þļüĝîñ'š ƒöŕḿàţš þàŕţîçîþàţé îñ đéţéçţîöñ, kapi formats, àñđ ƒļöŵš éẋàçţļý ļîķé ţĥé ƃüîļţ-îñ öñéš.
Ƒöŕḿàţ Đéţéçţîöñ
neokapi àüţöḿàţîçàļļý đéţéçţš ƒöŕḿàţš üšîñĝ à çàšçàđé šţŕàţéĝý:
- Éẋþļîçîţ ḾÎḾÉ ţýþé (îƒ þŕöṽîđéđ)
- Ƒîļé éẋţéñšîöñ ḿàþþîñĝ
- Ḿàĝîç ƃýţéš / çöñţéñţ šñîñĝ
Ýöü çàñ öṽéŕŕîđé đéţéçţîöñ ŵîţĥ ţĥé --format ƒļàĝ öñ àñý çöḿḿàñđ.
Ļîšţîñĝ Ƒöŕḿàţš
kapi formats
Üšé --mime öŕ --ext ţö ƒîļţéŕ:
kapi formats --mime text/html
kapi formats --ext .docx
Îñţéŕàçţîṽé Ƒöŕḿàţ Ŕéƒéŕéñçé
Šéé ţĥé Ƒöŕḿàţ Ŕéƒéŕéñçé þàĝé ƒöŕ îñţéŕàçţîṽé đöçüḿéñţàţîöñ öƒ àļļ ƒöŕḿàţš ŵîţĥ çöñƒîĝüŕàƃļé þàŕàḿéţéŕš.