სამი წესი¶
FiberQ-ის docs/TRANSLATING.md სამ წესს „დაურღვევლად" (inviolable) მოიხსენიებს.
ყველა მათგანის დარღვევა ჩუმად ხდება — შეცდომის შეტყობინება არ არსებობს.
წესი 1 — <source> არასდროს იცვლება¶
ინგლისური ტექსტი არის lookup key. გაშვებული პლაგინი ზუსტად ამ ფრაზის თარგმანს ითხოვს.
<!-- არასწორი — ეს სტრიქონი აღარასდროს ითარგმნება -->
<source>ჭის განთავსება</source>
<translation>ჭის განთავსება</translation>
ერთი სიმბოლოც კი — ზედმეტი ჰარიც — და ფრაზა ჩუმად ბრუნდება ინგლისურზე.
თუ ინგლისურში შეცდომა შენიშნე
ეს რეალური და სასარგებლო აღმოჩენაა — მაგრამ .ts ფაილში კი არ სწორდება, არამედ
issue იხსნება.
წესი 2 — placeholder-ები ზუსტად უნდა შენარჩუნდეს¶
ფიგურულ ფრჩხილებში ჩასმული მარკერები, რომლებსაც პლაგინი გაშვებისას რეალური მნიშვნელობებით ცვლის.
თარგმანში უნდა გამოჩნდეს ზუსტად ისე, როგორც ინგლისურში — ფრჩხილებით, პატარა ასოებით. გადაადგილება შეიძლება, გადარქმევა/თარგმნა/წაშლა — არა.
source: Imported {count} points into layer '{layer}'!
✅ სწორი: '{layer}' შრეში იმპორტირებულია {count} წერტილი!
❌ არა: '{შრე}' შრეში იმპორტირებულია {რაოდენობა} წერტილი!
❌ არა: შრეში იმპორტირებულია წერტილები!
წაშლილი placeholder უარესია, ვიდრე უთარგმნელი სტრიქონი
პლაგინი შეიძლება შეცდომას აგდებდეს, როცა ცარიელი ადგილის შევსებას შეეცდება.
კოდში ამის დამცავიც კია — safe_format(), რომელიც ინგლისურზე ბრუნდება, თუ თარგმანი
ვერ ფორმატირდა. მაგრამ მაშინ მომხმარებელი ინგლისურ წარწერას ხედავს.
ქართული და ბრუნვები¶
ყველაზე ხშირი ხაფანგი ჩვენთვის. დაბოლოება ფრჩხილების გარეთ ჯდება:
| ბრუნვა | მაგალითი |
|---|---|
| ვითარებითი | '{layer}'-ში |
| მიცემითი | {crs}-სთვის |
| ნათესაობითი | ODF-ის |
| მოქმედებითი | {distance}-ითაა |
| ვისგან | {target}-იდან |
ასე placeholder ბაიტ-იდენტური რჩება და წინადადებაც ბუნებრივად იბრუნება.
34 placeholder¶
{allowed} {bound} {computed} {count} {crs} {details} {distance} {expected}
{ext} {features} {fid} {field} {fields} {format} {km} {label} {language}
{layer} {layer_id} {layers} {list} {name} {new} {old} {path} {rules}
{scope} {shortcut} {shown} {stored} {summary} {target} {tol} {total}
{value}
პლუს Qt-ის საკუთარი %n მთვლელი 13 numerus სტრიქონში.
სხვა, რაც უნდა შენარჩუნდეს¶
| ელემენტი | მაგალითი | რატომ |
|---|---|---|
\n |
Language set to {language}.\n\n… |
ხაზის გადატანა |
… (U+2026) |
Add drawing… |
Qt-ის კონვენცია: „იხსნება დიალოგი" |
... (სამი ASCII წერტილი) |
Export selected... |
კატალოგში ორივე სტილია — თითოეულს თავისი |
: |
Severity: |
ფილტრის წარწერა |
;; |
Images (*.jpg);;All files (*.*) |
Qt-ის ფაილ-ფილტრის გამყოფი |
-> |
Project -> Properties -> CRS |
მენიუს გზა |
წესი 3 — არაფერი კომპილირდება¶
.qm ფაილები არის ბინარული კატალოგები, რომლებსაც პლაგინი რეალურად კითხულობს.
მათ მეინთეინერი აგენერირებს.
- Qt Linguist-ში: File → Save ✅
- Qt Linguist-ში: File → Release ❌ არასდროს
- უკან მიდის მხოლოდ
.ts
რაც არ არის წესი, მაგრამ მნიშვნელოვანია¶
მანქანური თარგმანი ნედლად არ იგზავნება. CONTRIBUTING.md ხსნის რატომ: ძრავები
ბოჭკოს ტერმინოლოგიას თავდაჯერებულად და თანმიმდევრულად ამახინჯებენ. პირველ დრაფტად
გამოყენება, რომელსაც შემდეგ თვითონ ასწორებ, ნორმალურია; ნედლი გამოსავალის გაგზავნა — არა,
რადგან დასრულებულად გამოიყურება და გამოუსადეგარია.
<extracomment> ჯერ იკითხება, მერე ითარგმნება. 95 სტრიქონს აქვს მეინთეინერის
შენიშვნა. ისინი არსებობს იმიტომ, რომ ინგლისური მარტო ორაზროვანია.
ეჭვის შემთხვევაში — კითხე, ნუ გამოიცნობ.
a flagged gap is more useful than a confident wrong term
უთარგმნელი სტრიქონი აშკარად ინგლისურია და აშკარად მოსაგვარებელი. არასწორი ტერმინი კი დასრულებულად გამოიყურება, გადადის შემდეგ ნამუშევარში, მიდის მომხმარებლამდე და შეცდომაში შეჰყავს ინჟინრები, რომლებიც მას ენდობიან.