ვებგვერდის მართვა
თარგმანის სამუშაო პროცესი

ზოგჯერ საჭიროა ცვლილებების შეტანა თარგმანის ფაილებში Weblate-ის გარეთ, ამ შემთხვევაში მნიშვნელოვანია შემდეგი მოთხოვნების დაცვა:
- ცვლილებები, რომლებიც ** მხოლოდ ინგლისურ წყაროზე მოქმედებს ** ფაილების გაერთიანება შესაძლებელია ნებისმიერ შემთხვევაში დრო.
- ცვლილებები, რომლებიც ცვლის თარგმნილი ენის ფაილებს, შეიძლება მხოლოდ გაერთიანებული იყოს Weblate-თან კოორდინაცია:
- Weblate-დან თარგმანები ყველა შესრულებულია (“შემდეგი ცვლილებების შესრულება”).
- თარგმანები იძაბება და იხსნება შერწყმის მოთხოვნა.
- თარგმანები ჩაკეტილია Weblate-ში ცვლილებებისთვის.
- Weblate MR გაერთიანდა, Weblate რჩება ჩაკეტილი.
- თავად პოტენციური შერწყმის კონფლიქტების მოგვარების შემდეგ, იცვლება გარეგანი შერწყმულია.
- მას შემდეგ, რაც ყველა ცვლილება განხორციელდება მთავარ ფილიალში, Weblate განახლდება და განბლოკილია.
- თარგმნილი ენის ფაილების განახლება უნდა მოხდეს მხოლოდ მაშინ, როცა ისინი სინქრონიზებულია Weblate და Weblate დაბლოკილია კონფლიქტური ცვლილებების თავიდან ასაცილებლად.
ენის ტიპები
ენები იყოფა ორ ტიპად:
- ენები ერთი ან მეტი გამოყოფილი მიმომხილველით.
- კონტრიბუტორებს შეუძლიათ მხოლოდ თარგმანის შემოთავაზებების დამატება.
- მიმომხილველები პასუხისმგებელნი არიან შეამოწმონ წინადადებები და მიიღონ გადაწყვეტილება მიიღოს თუ უარყო ისინი.
- ენები ყოველგვარი მიმომხილველის გარეშე.
- ეს არის ნაგულისხმევი ტიპი.
- კონტრიბუტორებს შეუძლიათ თარგმანის წინადადებების დამატება და ხმის მიცემა.
- შეთავაზება ხდება ახალი თარგმანი, როდესაც ის მიაღწევს გარკვეულ რაოდენობას დადებითი ხმების.
ენის კონფიგურაცია
დააყენეთ ენის ტიპი
ჩვენი პროექტი Weblate-ზე ნაგულისხმევად ვარაუდობს, რომ არცერთ ენას არ აქვს გამოყოფილი ენა რეცენზენტები. კონფიგურირებულია მხოლოდ ერთი ან მეტი მიმომხილველის მქონე ენები აშკარად ადმინისტრატორების მიერ.
წარმოვიდგინოთ შემდეგი სცენარი:
- თურქულ ენას არ ჰყავს სპეციალური მიმომხილველი Weblate-ზე.
- ჩვენი საზოგადოების წევრი, მერი, ითხოვს იყოს რეფერენტი თურქულში ველორენის თარგმანი.
- თურქული ენა უნდა შეიცვალოს ნაგულისხმევი, იმპლიციტური ქცევისგან ახალ, გამოკვეთილ ქცევას. ქცევა ენებისთვის თავდადებული რეცენზენტები.
როგორც ჩვენი Weblate პროექტის ადმინისტრატორს, თქვენ უნდა მიჰყვეთ ეს ნაბიჯები:
- გადადით თურქულის ენის პარამეტრებზე Weblate-ზე.
- URL ამ კონტექსტში იქნება: https://translate.codeberg.org/settings/veloren/-/tr/
- დარწმუნდით, რომ ჩართულია მხოლოდ ეს ველები:
- დააკონფიგურიროთ თარგმანის სამუშაო პროცესი ამ ენაზე
- ჩართეთ წინადადებები
- დაამატეთ Mary-ის მომხმარებელი Weblate-ზე ** მიმომხილველები: თურქული ** პროექტის გუნდში.
- URL ამ კონტექსტში იქნება: https://translate.codeberg.org/teams/487/
განსხვავება ახლა, რაც შეეხება ნაგულისხმევ ქცევას, არის ის, რომ თურქული აქვს
Suggestion voting გამორთულია. ამრიგად, რეცენზენტები, როგორიცაა მერი, ერთადერთია
ადამიანები, რომლებსაც შეუძლიათ თარგმანის მართვა: რა სტრიქონები ქმნიან მას
GitLab საცავი.
თუ გსურთ დაიბრუნოთ ნაგულისხმევი ქცევა ენისთვის (განმხილველის გარეშე), მიჰყევით ამ ნაბიჯებს:
- წაშალეთ ყველა მომხმარებელი შესაბამისი მიმომხილველი გუნდიდან.
- გადადით ენის პარამეტრებზე და გამორთეთ **Customize translation სამუშაო პროცესი ამ ენისთვის ** მოსანიშნი ველი.
ენის დამატება Weblate-ში
ჩვენ შეიძლება დროდადრო მივიღოთ მოთხოვნები Weblate-ზე ენების დასამატებლად რომელიც ჯერ არ არის თამაშის თარგმანი. ჩვენი ვებგვერდის ადმინისტრატორები პროექტები პასუხისმგებელნი არიან ასეთ თხოვნაზე დასწრებაზე.
Weblate-ში ახალი ენების დასამატებლად საჭიროა Git-ის ლოკალური ინსტალაცია.
თაღლითური ფურცელი
თუ ენის სწრაფად დამატება გჭირდებათ, მიჰყევით ამ ნაბიჯებს:
- დარწმუნდით, რომ თქვენს მოწყობილობაზე გაქვთ Veloren საცავის ადგილობრივი ასლი.
git clone https://gitlab.com/veloren/dev/veloren.git
```
2. შექმენით ახალი ფილიალი.
```bash
cd veloren
git checkout -b <yourusername>/add-<language>
```
3. გადადით `assets/voxygen/i18n` დირექტორიაში.
```bash
cd assets/voxygen/i18n
```
4. გააკეთეთ თქვენი ენის სახელის დასახელებული `en/` დირექტორიას ასლი.
მაგალითად, თუ გსურთ თარგმნოთ თურქულად,
თქვენს დირექტორიას დაერქმევა `tr/`:
```bash
cp en <ietf_bcp_47_code>
```
5. წაშალეთ ყველა Fluent ფაილის შიგთავსი თქვენს ახალ დირექტორიაში. ყველა
ფაილები `.ftl` ფაილის გაფართოებით. დარწმუნდით, რომ ფაილები ჯერ კიდევ არსებობს,
მაგრამ ცარიელი.
6. გახსენით `_manifest.ron` ფაილი და შეცვალეთ `language_name` და `language_identifier`
შესაბამისი ველები (იხილეთ ქვემოთ ამ ფაილის შესახებ დამატებითი დეტალებისთვის.)
7. განახორციელეთ თქვენი ცვლილებები ადგილობრივად.
```bash
git commit
```
8. დააყენეთ თქვენი ადგილობრივი ფილიალი დინების ზემოთ.
```bash
git push -u origin <yourusername>/add-<language>
```
9. გადადით თქვენს ახალ ფილიალში GitLab-ზე: <https://gitlab.com/veloren/dev/veloren/-/branches>
10. შექმენით შერწყმის მოთხოვნა (MR), რომელიც მიზნად ისახავს მთავარი საცავის `master` ფილიალს.
#### manifest ფაილის შესახებ
`_manifest.ron` ფაილს აქვს მეტამონაცემების განყოფილება.
ამ განყოფილებას აქვს თქვენი თარგმანის საჩვენებელი სახელი და ენის იდენტიფიკატორი.
შეცვალეთ `language_name` ადამიანის წაკითხვადი სახელით თქვენს ენაზე ამ ფორმატით:
```txt
<name_in_original_language> (<name_in_english>)
მაგალითად:
metadata: (
language_name: "Türkçe (Turkish)",
language_identifier: "tr",
),
თუ ენა არის ვარიანტი, რომელზეც საუბრობენ გარკვეულ რეგიონში ან ქვეყანაში, მიჰყევით ამ ფორმატს:
<name_in_original_language> (<name_in_english> - <region>)
ამ შემთხვევის ორი მაგალითია:
metadata: (
language_name: "Español de España (Spanish - Spain)",
language_identifier: "es",
),
და:
metadata: (
language_name: "Español de Hispanoamérica (Spanish - Latin America)",
language_identifier: "es-419",
),
არ დაგავიწყდეთ დააყენოთ language_identifier მნიშვნელობა, რათა შეესაბამებოდეს მშობლის დირექტორიას სახელს.
აი სრული მაგალითი:
/// Localization for Čeština
(
metadata: (
language_name: "Čeština (Czech)",
language_identifier: "cs",
),
fonts: {
"alkhemi": Font (
asset_key: "voxygen.font.Alkhemikal",
scale_ratio: 1.0,
),
"cyri": Font (
asset_key: "voxygen.font.EnterCommand",
scale_ratio: 1.0,
),
}
)
შრიფტებს აქვს ორი აუცილებელი ჩანაწერი და ერთი არასავალდებულო:
- alkhemi ნიშნავს სუპერ ლამაზი შრიფტს, რომელსაც ვიყენებთ სპეციალური სტრიქონებისთვის. მხოლოდ ინგლისური ჩვეულებრივ.
- cyri ნიშნავს ჩვეულებრივ შრიფტს, რომელსაც ვიყენებთ ყველაფერში. გამოიყენება თარგმნილი სტრიქონებისთვის.
- უნივერსალური ნიშნავს შრიფტს, რომელიც უნდა მოიცავდეს ყველა ენას. გამოიყენება ჩეთის ან მსგავსი შემთხვევებისთვის.
ჩვეულებრივ, არ გჭირდებათ “უნივერსალური” შრიფტის დაყენება, მაგრამ თუ უნივერსალური შრიფტი არ მოიცავს თქვენს ენას, გსურთ მისი გადალახვა. ასე აკეთებს კორეელი.
/// WARNING: Localization files shall be saved in UTF-8 format without BOM
/// Localization for Korean
(
metadata: (
language_name: "한국어 (Korean)",
language_identifier: "ko",
),
fonts: {
"universal": Font (
asset_key: "voxygen.font.bdfUMplus-outline",
scale_ratio: 0.75,
),
"alkhemi": Font (
asset_key: "voxygen.font.bdfUMplus-outline",
scale_ratio: 0.75,
),
"cyri": Font (
asset_key: "voxygen.font.bdfUMplus-outline",
scale_ratio: 0.75,
),
}
)
ახალი შრიფტის დამატება
თუ assets/voxygen/font/ საქაღალდეში არსებული შრიფტები საკმარისი არ არის თქვენთვის, შეგიძლიათ დაამატოთ ახალი ან შეცვალოთ არსებული შრიფტები.
არსებული შრიფტების შეცვლის ინსტრუქცია სცილდება, მაგრამ გახსოვდეთ, რომ შრიფტებს აქვთ სხვადასხვა ლიცენზია და
პოტენციურად ყველა შრიფტი არ უჭერს მხარს მოდიფიკაციას.
თუ გსურთ დაამატოთ ახალი შრიფტი, უნდა იპოვოთ ის, აიღოთ მისი ლიცენზია, შეამოწმოთ, რომ ის თავსებადია ჩვენს პროექტთან და ჩვენ შეგვიძლია გადაანაწილეთ იგი.
როდესაც თქვენ გაქვთ შრიფტის ფაილი (TTF ფორმატში) და ლიცენზია, ნაბიჯები შემდეგია:
- ჩასვით შრიფტი
assets/voxygen/font-ში - დაამატეთ
<font>-license.txtლიცენზიით - აღნიშნეთ შრიფტი
assets/credits.ron-ში
თარგმანის სისტემა განმარტა
თქვენ შეგიძლიათ იხილოთ ლოკალიზაციის ფაილები assets/voxygen/i18n დირექტორიაში.
შიგნით თითოეული ქვედირექტორი წარმოადგენს ენას, ან მის ვარიანტს.
დირექტორიები დასახელებულია IETF BCP 47 (RFC5646) ენის ტეგების (მაგ. en/, de/, pt-BR/ და ა.შ.) მიხედვით. ენის ტეგი შედგება ერთი ან მეტი ქვეთეგისაგან, გამოყოფილი დეფისებით (“-”).
ეს არის ხელმისაწვდომი ენის ქვეთეგების ყოვლისმომცველი სია:
ისინი უნდა იყოს ფორმატირებული UTF-8-ში, [BOM]-ის გარეშე (https://en.wikipedia.org/wiki/Byte_order_mark).
თითოეული ენის დირექტორია შეიცავს _manifest.ron ფაილს მეტამონაცემების განყოფილებით,
შრიფტის პარამეტრები, რომლებიც გამოყენებული იქნება თამაშში და convert_utf8_to_ascii ვარიანტი,
რომელიც შეიძლება გამოყენებულ იქნას ენის თარგმნისას, რომელსაც აქვს სიმბოლოები, რომლებიც არ არის
შრიფტებში Veloren იყენებს.
მეტამონაცემების განყოფილება შეიცავს საჩვენებელ სახელს და იდენტიფიკატორს ენა. საჩვენებელი სახელი შეიძლება თავისუფლად შეიცვალოს, მაგრამ იდენტიფიკატორი უნდა იყოს დარჩით იგივე ახალი ენის შემოღების შემდეგ:
metadata: (
language_name: "English",
language_identifier: "en",
),
შენიშვნა: ენის იდენტიფიკატორი უნდა შეესაბამებოდეს ენის შემცველი საქაღალდის სახელს. ეს მოთხოვნა გულისხმობს, რომ იდენტიფიკატორი ასევე უნდა შეესაბამებოდეს IETF BCP 47 დასახელების სტანდარტს.
პრობლემების მოგვარება
მე ვიღებ ასობით ან თუნდაც ათასობით წერილს Weblate-ისგან
ერთხელ, ჩვენი Weblate პროექტის პირველად კონფიგურაციისას, იყო ინციდენტი, სადაც მაშინდელმა ადმინისტრატორებმა მნიშვნელოვანი მიიღეს შეტყობინებების რაოდენობა Weblate-დან ელ.ფოსტით. როგორც ჩანს, ეს გამოწვეული იყო ან პროგრამული შეცდომით ან ცუდი კონფიგურაციით.
თუ თქვენ ხართ ჩვენი პროექტის ადმინისტრატორი Weblate-ზე და გსურთ მიიღოთ შეტყობინება ელექტრონული ფოსტით, ყოველი შემთხვევისთვის, ჩვენ გირჩევთ დააყენოთ პირადი შემოსულების წესები, რათა გადაიტანოთ შეტყობინებები შემდეგი გამგზავნიდან თქვენს მიერ არჩეულ ელფოსტის საქაღალდეში: