אודות

Polyglot הוא תוסף קוד פתוח לבינאום עבור בלוגים של Jekyll. Polyglot קל להתקנה ולשימוש בכל פרויקט, והוא מתרחב לשפות שתרצו לתמוך בהן. עם תמיכה בגיבוי לתוכן חסר, יחסיות אוטומטית של כתובות URL, ומתכוני SEO עוצמתיים, Polyglot מאפשר לכל בלוג רב-לשוני להתמקד בתוכן ללא עבודה מייגעת.

jekyll-polyglot עדיין אינו נתמך באופן מקורי ב-github-actions

התקנה

gem install jekyll-polyglot

ניהול שפות נתמכות

בקובץ _config.yml, המאפיינים הבאים מנהלים אילו שפות נתמכות באתר שלכם. תוכלו להוסיף תמיכה בשפה חדשה על ידי הוספתה לערכים אלה (ראו למטה). שפות מזוהות לפי קודי המקום הרשמיים שלהן.

languages: ["en", "es", "fr", "de"]
default_lang: "en"
exclude_from_localization: ["images", "fonts", "sitemap"]
url: https://polyglot.untra.io

הוספת שפה חדשה

בהנחה שכבר יש לכם אתר פונקציונלי בשפה אחת, הוספת שפה חדשה לא תהיה טריוויאלית. כדי ליצור באמת אתר רב-לשוני, עליכם לצפות שתצטרכו ליצור מחדש את כל התוכן שלכם בשפה החדשה. זה אולי נראה כמשימה גדולה, אבל שקלו את התרגום בחלקים. תוכן הוא המלך; חשוב יותר שדפים ופוסטים חדשים יקבלו מילים מתורגמות. יצירת אתר רב-לשוני קשה רק אם אתם דורשים שיהיה מתורגם בצורה מושלמת מההתחלה.

ראשית, אתם (והצוות שלכם, וגם המנהלים שלכם אם יש לכם כמה כאלה) צריכים לדון ולבחור איזה תוכן אתם צריכים לתרגם לאתר החדש. עליכם לבחור את התוכן הבסיסי המועדף לתרגום. שקלו אנליטיקס, דפים ופוסטים פופולריים, וזרימת המשתמשים הנוכחיים והעתידיים לאתר שלכם. כאשר יש ספק, תעדיפו דפים על פני פוסטים ישנים. אם זה אומר להשיק שפה חדשה מוקדם יותר, פוסטים ישנים עשויים לדרוש יותר מאמץ ממה שהם שווים בתרגום.

שנית, עליכם (או מומלץ מאוד) לספק כיסוי של 100% לתוכן עשיר ברחבי האתר. אלה מחרוזות קטנות המוטמעות בדרכים מורכבות יותר. ישנן מספר דרכים לעבור על תוכן עשיר. זכרו, עליכם לתמוך בכל המחרוזות הקטנות בכל השפות בתוכן העשיר שלכם.

תוכן רב-לשוני

תוכן האתר מגיע בשני טעמים: בסיסי ועשיר.

תוכן בסיסי הוא הטקסט השטוח של פוסטים, דפים ותוכן לא אינטראקטיבי. חשבו על דפים ופוסטים. תוכן בסיסי הוא הדלק ללחיצות באתר שלכם. Polyglot נותן לתוכן בסיסי תמיכה בגיבוי.

תוכן עשיר הוא אינטראקטיבי, מרשים ומורכב ממחרוזות קצרות יותר. חשבו על סרגלי ניווט ותפריטים נפתחים. תוכן עשיר הוא יותר טכני, ושומר את המבקרים שלכם באתר. אין תמיכה בגיבוי לתוכן עשיר חסר.

כלי Liquid

כלי ה-Liquid הבאים זמינים לשימוש עם jekyll-polyglot:

en

es

de

fr

ru

nl

he

ko

zh-CN

pt-BR

ar

jp

it

tr

`site.languages` מצביע ישירות למערך `languages` ב-_config.yml. ניתן לגשת אליו דרך Liquid.

* **site.default_lang**
```html
en

site.default_lang מצביע ישירות למחרוזת default_lang ב-_config.yml. ניתן לגשת אליו דרך Liquid.

`site.active_lang` הוא קוד המקום שהדף נבנה עבורו. זה `"de"` עבור הגרסה הגרמנית של דף, `"es"` עבור הגרסה הספרדית, וכן הלאה. ניתן לגשת אליו דרך Liquid.

באמצעות כלים אלה, תוכלו לציין כיצד לצרף את התוכן העשיר הנכון.

### תמיכה ב-Github Pages
כברירת מחדל, Github מונע מ[בלוגים של Jekyll להשתמש בתוספים](https://help.github.com/articles/using-jekyll-with-pages/#configuration-overrides). זה נעשה בכוונה כדי למנוע מקוד זדוני לרוץ על שרתי Github. למרות שזה מקשה על השימוש ב-Polyglot (ותוספים אחרים של Jekyll), זה עדיין אפשרי.

#### בניית `_site/` ל-gh-pages
במקום לארח את מנוע הבלוג של Jekyll שלכם ב-Github, תוכלו לפתח את אתר Jekyll שלכם בענף נפרד, ואז לדחוף את תוכן `_site/` הבנוי לענף `gh-pages` שלכם. זה מאפשר לכם לנהל ולשלוט במקור בפיתוח האתר שלכם עם Github *מבלי להסתמך על Github לבנות את האתר שלכם!*

תוכלו לעשות זאת על ידי שמירת תוכן Jekyll שלכם בענף נפרד, והעלאת רק תיקיית `_site/` לענף gh-pages שלכם. מכיוון שאלה רק דפי HTML סטטיים בתיקיות, Github יארח אותם כמו כל תוכן [gh-pages](https://pages.github.com/) אחר.

#### אוטומציה!

תהליך זה מתייעל מאוד עם סקריפט פשוט שיבנה את האתר שלכם וידחוף את תיקיית `_site/` ל-gh-pages שלכם. הרבה אנשים יש להם כזה. [הנה אחד](http://www.jokecamp.com/blog/Simple-jekyll-deployment-with-a-shell-script-and-github/). [הנה עוד אחד](https://gist.github.com/cobyism/4730490). הנה [סקריפט הפרסום שלי](https://github.com/untra/polyglot/blob/main/publi.sh):
```bash
#! /bin/sh
# שנו את שמות הענפים בהתאם
rm -rf site/_site/
cd site && bundle exec jekyll build && cd ..
git add site/_site/ && git commit -m "$(date)"
git subtree push --prefix site/_site origin gh-pages