diff --git a/config/template_config.ini b/config/template_config.ini index 5d914f6..44ac6f4 100644 --- a/config/template_config.ini +++ b/config/template_config.ini @@ -17,8 +17,9 @@ is_template = yes ; uk - Ukrainian, by https://github.com/pzhuk ; ru - Russian, by https://github.com/pzhuk ; zh_cn - Simplified Chinese, by https://github.com/zhihuiyuze +; he - Hebrew, by https://github.com/netanelkoli ; The lanugages that messages can be displayed in -enabled_languages = it | en | uk | ru | zh_cn +enabled_languages = it | en | uk | ru | zh_cn | he ; The default language to be set for users whose language cannot be autodetected or whose language is not enabled default_language = it ; The language to fallback to if a string is missing in a specific language diff --git a/strings/he.py b/strings/he.py new file mode 100644 index 0000000..c567691 --- /dev/null +++ b/strings/he.py @@ -0,0 +1,420 @@ +# Strings / localization file for greed +# Can be edited, but DON'T REMOVE THE REPLACEMENT FIELDS (words surrounded by {curly braces}) + +# Currency symbol +currency_symbol = "€" + +# Positioning of the currency symbol +currency_format_string = "{symbol} {value}" + +# Quantity of a product in stock +in_stock_format_string = "מוצרים למכירה {quantity}" + +# Copies of a product in cart +in_cart_format_string = "פריטים בעגלה {quantity}" + +# Product information +product_format_string = "{name}\n" \ + "{description}\n" \ + "{price}\n" \ + "{cart}" + +# Order number, displayed in the order info +order_number = " #{id} הזמנה מספר" + +# Order info string, shown to the admins +order_format_string = "{user} על ידי\n" \ + "{date} נוצר בתאריך\n" \ + "\n" \ + "{items}\n" \ + "{value}: סך הכל\n" \ + "\n" \ + "{notes}: הערות הקונה\n" + +# Order info string, shown to the user +user_order_format_string = "{status_emoji} הזמנה {status_text}\n" \ + "{items}\n" \ + "סך הכל: {value}\n" \ + "\n" \ + "הערות: {notes}\n" + +# Transaction page is loading +loading_transactions = "טוען הזמנות...\n" \ + "פעולה זו יכולה לקחת כמה דקות" + +# Transactions page +transactions_page = "עמוד {page}:\n" \ + "\n" \ + "{transactions}" + +# transactions.csv caption +csv_caption = "קובץ מסד נתונים עם כל פירוטי העסקאות נוצר כעת\n" \ + "תוכל להשתמש במגוון כלי מסד נתונים כדי לפתוח קובץ זה" \ + " ולראות את כל הנתונים" + +# Conversation: the start command was sent and the bot should welcome the user +conversation_after_start = "! היי וברוך הבא \n" \ + "הלקוחות שלנו חשובים לנו ונשמח לעמוד לרשותכם לכל עת בעמוד הבית" + +# Conversation: to send an inline keyboard you need to send a message with it +conversation_open_user_menu = "היי וברוך הבא\n" \ + "💰 {credit} : כמה כסף יש לי בארנק\n" \ + "\n" \ + "לחץ על הכפתור שבתפריט כדי לבחור שירות\n" \ + "אם המקלדת נפתחה, לחץ על ארבעת הריבועים הקטנים" \ + "בשורת הטקסט" + +# Conversation: like above, but for administrators +conversation_open_admin_menu = "אתה המנהל של החנות הזו Manager!\n" \ + "?מה ברצונך לעשות\n" \ + "\n" \ + "לחץ על הכפתור הרלוונטי כדי לבחור אפשרות מהתפריט\n" \ + "אם המקלדת נפתחת, תוכל לפתוח את התפריט על ידי לחיצה על האייקון " \ + " עם ארבעת העיגולים הקטנים בשורת ההקלדה" + +# Conversation: select a payment method +conversation_payment_method = "?איך תרצה לטעון כסף לחשבונך" + +# Conversation: select a product to edit +conversation_admin_select_product = "✏️ איזה מוצרים תרצה לערוך" + +# Conversation: select a product to delete +conversation_admin_select_product_to_delete = "❌ איזה מוצרים תרצה למחוק" + +# Conversation: select a user to edit +conversation_admin_select_user = "בחר איזה משתמש תרצה לערוך" + +# Conversation: click below to pay for the purchase +conversation_cart_actions = "תוכל להוסיף מוצרים לעגלת הקניות בלחיצה על כפתור הוסף" \ + " כשסיימת להוסיף את כל הפריטים תוכל לחזור להודעה זאת" \ + " ולחץ כל כפתור בוצע לסיום" + +# Conversation: confirm the cart contents +conversation_confirm_cart = "🛒 העגלה שלך מכילה את הפריטים הבאים\n" \ + "{product_list}" \ + "{total_cost} :סך הכל\n" \ + "\n" \ + "אם אתה מעוניין להמשיך, לחץ על הכפתור סיום\n" \ + "לביטול, לחץ על מנת לבטל עסקה" + +# Conversation: the user activated the live orders mode +conversation_live_orders_start = "אתה כעת במצב עריכה לייב Live Orders\n" \ + "כל ההזמנות החדשות שנוצרות על ידי קונים יוצגו כאן בזמן אמת" \ + " ואתה תוכל לסמן אותם כבוצעו בהצלחה ✅" \ + " ✴️ או לבחור להחזיר את הכסף ללקוחות\n" \ + "\n" \ + "לחץ על כפתור עצור בתפריט כדי לעצור את" \ + " הטעינה" + +# Conversation: help menu has been opened +conversation_open_help_menu = " ?היי, איזה עזרה אתה צריך" + +# Conversation: confirm promotion to admin +conversation_confirm_admin_promotion = "?האם אתה בטוח שברצונך לקדם משתמש זה להיות מנהל\n" \ + "לא תוכל לבטל פעולה זו!" + +# Conversation: language select menu header +conversation_language_select = "בחר שפה:" + +# Conversation: switching to user mode +conversation_switch_to_user_mode = " כעת תעבור למצב שמדמה קונה בחנות.\n" \ + "/start אם תרצה לחזור בכל זמן לחזור לפאל הניהול, לחץ על" + +# Notification: the conversation has expired +conversation_expired = "🕐 המערכת זיהתה שלא הייתה שום פעילות כבר זמן ממושך. לכן המערכת מושהית" \ + " כדי לחסוך במשאבים\n" \ + "/start כדי להתחיל מחדש פשוט לחצו על" + +# User menu: order +menu_order = "🛒 רשימת פריטים" + +# User menu: order status +menu_order_status = "🛍 ההזמנות שלי" + +# User menu: add credit +menu_add_credit = "💵 טעינת כסף בחשבון" + +# User menu: bot info +menu_bot_info = "ℹ ️מידע על הבוט" + +# User menu: cash +menu_cash = "💵 במזומן" + +# User menu: credit card +menu_credit_card = "💳 בכרטיס אשראי" + +# Admin menu: products +menu_products = "📝️ מוצרים" + +# Admin menu: orders +menu_orders = "📦 הזמנות" + +# Menu: transactions +menu_transactions = "💳 רשימת כל העסקאות" + +# Menu: edit credit +menu_edit_credit = "💰 יצירת עסקה" + +# Admin menu: go to user mode +menu_user_mode = "👤 החלף למצב מדמה משתמש" + +# Admin menu: add product +menu_add_product = "✨ הוספת מוצר חדש" + +# Admin menu: delete product +menu_delete_product = "❌ מחיקת מוצר קיים" + +# Menu: cancel +menu_cancel = "🔙 ביטול" + +# Menu: skip +menu_skip = "⏭ דלג" + +# Menu: done +menu_done = "✅️ בוצע" + +# Menu: pay invoice +menu_pay = "💳 תשלום" + +# Menu: complete +menu_complete = "✅ בוצע" + +# Menu: refund +menu_refund = "✴️ החזר כספי" + +# Menu: stop +menu_stop = "🛑 עצור" + +# Menu: add to cart +menu_add_to_cart = "➕ הוסף" + +# Menu: remove from cart +menu_remove_from_cart = "➖ מחק" + +# Menu: help menu +menu_help = "❓ עזרה/תמיכה" + +# Menu: guide +menu_guide = "📖 מדריך" + +# Menu: next page +menu_next = "▶️ הבא" + +# Menu: previous page +menu_previous = "◀️ הקודם" + +# Menu: contact the shopkeeper +menu_contact_shopkeeper = "👨‍ 💼 צור קשר עם החנות" + +# Menu: generate transactions .csv file +menu_csv = "📄 .csv" + +# Menu: edit admins list +menu_edit_admins = "🏵 עריכת מנהלים" + +# Menu: language +menu_language = "🇮🇱 שפות נוספות" + +# Emoji: unprocessed order +emoji_not_processed = "*️⃣" + +# Emoji: completed order +emoji_completed = "✅" + +# Emoji: refunded order +emoji_refunded = "✴️" + +# Emoji: yes +emoji_yes = "✅" + +# Emoji: no +emoji_no = "🚫" + +# Text: unprocessed order +text_not_processed = "מושהה" + +# Text: completed order +text_completed = "הסתיים" + +# Text: refunded order +text_refunded = "כסף הוחזר" + +# Add product: name? +ask_product_name = "איזה שם תרצה לתת למוצר?" + +# Add product: description? +ask_product_description = "איזה תיאור תרצה לתת למוצר?" + +# Add product: price? +ask_product_price = "מה מחיר המוצר?\n" \ + "אם ברצונך לדגם על שלב זה כעת X אנא הקלד" + +# Add product: image? +ask_product_image = "🖼 איזה תמונה לתת למוצר?\n" \ + "\n" \ + "העלה תמונה, או דלג על שלב זה כעת על ידי לחיצה על כפתור דלג" + +# Order product: notes? +ask_order_notes = "?תרצה להשאיר הודעה לחנות\n" \ + "💼 כך מנהלי החנות יוכלו לקרוא אותה לפני המשלוח\n" \ + "\n" \ + "הקלד את ההודעה שתרצה להשאיר, או לחץ על דלג" \ + " כדי לא להשאיר הודעה כלל" + +# Refund product: reason? +ask_refund_reason = " מה הסיבה להחזר הכסף\n" \ + "👤 המשתמש יוכל לראות זאת" + +# Edit credit: notes? +ask_transaction_notes = " הוסף הערה לעסקא זו\n" \ + "👤 זה יוצג משתמש לאחר שהוא יטעי כסף לחשבונו" \ + " ולמנהלים ברשימת העסקאות." + +# Edit credit: amount? +ask_credit = "איך תרצה לשנות את הסכום הטעון בחשבון הלקוח?\n" \ + "\n" \ + "שלח הודעה עם הסכום שתרצה להעיק לו\n" \ + " + השתמש בסימן הבא כדי להוסיף כסף לחשבונו" \ + " כדי להוריד סכום מחשבונו - והשתמש בסימן" + +# Header for the edit admin message +admin_properties = "הרשאות של {name}:" + +# Edit admin: can edit products? +prop_edit_products = "עריכת פריטים" + +# Edit admin: can receive orders? +prop_receive_orders = "קבלת הזמנות" + +# Edit admin: can create transactions? +prop_create_transactions = "ניהול עסקאות" + +# Edit admin: show on help message? +prop_display_on_help = "הצגללקוח" + +# Thread has started downloading an image and might be unresponsive +downloading_image = "אני מוריד את התמונה כעת!\n" \ + "זה יכול לקחת קצת זמן... אנא המתן בסבלנות!\n" \ + "אני לא אוכל לענות לך בזמן שאני טוען את התמונה" + +# Edit product: current value +edit_current_value = "המחיר כרגע הוא\n" \ + "
{value}
\n" \ + "\n" \ + "לחץ על כפתור דלג אם ברצונך לשמור על ערך זה" + +# Payment: cash payment info +payment_cash = "תוכל לשלם במזומן בחנות עצמה\n" \ + "תשלום בקופה ונא העבר זאת למנהל\n" \ + "{user_cash_id}" + +# Payment: invoice amount +payment_cc_amount = "?איזה סכום תרצה להוסיף לחשבונך\n" \ + "\n" \ + "בחר סכום מהרשימה, או לחלופין הקלד את הסכום שתרצה לטעון" + +# Payment: add funds invoice title +payment_invoice_title = "טעינת כספים" + +# Payment: add funds invoice description +payment_invoice_description = " {amount}: תשלום על חשבון זה יוסיף את הסכום הבא לחשבונך " + +# Payment: label of the labeled price on the invoice +payment_invoice_label = "מעדכן" + +# Payment: label of the labeled price on the invoice +payment_invoice_fee_label = "עמלת העברה" + +# Notification: order has been placed +notification_order_placed = "נוצרה הזמנה חדשה:\n" \ + "{order}" + +# Notification: order has been completed +notification_order_completed = "ההזמנה הוצרה בהצלחה\n" \ + "{order}" + +# Notification: order has been refunded +notification_order_refunded = "הכסף על ההזמנה הבא הוחזר בהצלחה\n" \ + "{order}" + +# Notification: a manual transaction was applied +notification_transaction_created = "ℹ️ עסקא חדשה קושרה לחשבונך\n" \ + "{transaction}" + +# Refund reason +refund_reason = ":סיבה להחזר כספי\n" \ + "{reason}" + +# Info: informazioni sul bot +bot_info = 'This bot is using greed,' \ + ' a framework by @Steffo for Telegram payments released under the' \ + ' ' \ + 'Affero General Public License 3.0.\n' + +# Help: guide +help_msg = "greed's guide is available at this address:\n" \ + "https://docs.google.com/document/d/1f4MKVr0B7RSQfWTSa_6ZO0LM4nPpky_GX_qdls3EHtQ/" + +# Help: contact shopkeeper +contact_shopkeeper = "המשתמשים שיכולים לספק תמיכה הם\n" \ + "{shopkeepers}\n" \ + "לחץ על אחד השמות כדי ליצור עימם קשר בצאט פרטי" + +# Success: product has been added/edited to the database +success_product_edited = "✅ מוצר זה השתנה בהצלחה!" + +# Success: product has been added/edited to the database +success_product_deleted = "✅ מוצר זה נמחק בהצלחה" + +# Success: order has been created +success_order_created = "✅ ההזמנה נשלחה בהצלחה\n" \ + "\n" \ + "{order}" + +# Success: order was marked as completed +success_order_completed = "✅ #{order_id} סימנת את העסקא הבאה כבוצעה בהצלחה" + +# Success: order was refunded successfully +success_order_refunded = "✴️ #{order_id}: בוצע החזר כספי לעסקה" + +# Success: transaction was created successfully +success_transaction_created = "✅ העסקה נוצרה בהצלחה\n" \ + "{transaction}" + +# Error: message received not in a private chat +error_nonprivate_chat = "⚠️ הבוט עובד רק בצאט פרטי" + +# Error: a message was sent in a chat, but no worker exists for that chat. +# Suggest the creation of a new worker with /start +error_no_worker_for_chat = "⚠️ הפעילות עם הבוט הופסקה\n" \ + "/start על מנת לחדש אותה, לחץ על" + +# Error: add funds amount over max +error_payment_amount_over_max = "⚠️ הסכום המקסימלי האפשרי להוסיף לעסקה אחת הוא {max_amount}." + +# Error: add funds amount under min +error_payment_amount_under_min = "⚠️ הסכום המינימלי האפשרי להוסיף לעסקה אחת הוא {min_amount}." + +# Error: the invoice has expired and can't be paid +error_invoice_expired = "⚠️ החשבונית הזאת בוטלה , ולא ניתן להתשמש בה יותר. כדי לטעון כספים " \ + " נא השתמש באפשרות טעינת הכספים מהתפריט הראשי" + +# Error: a product with that name already exists +error_duplicate_name = "️⚠️ קיים בחנות מוצר בעל שם זהה" + +# Error: not enough credit to order +error_not_enough_credit = "⚠️ אין לך מספיק כסף בארנק כדי לבצע את העסקה" + +# Error: order has already been cleared +error_order_already_cleared = "⚠️ ההזמנה הזאתי כבר בוצעה" + +# Error: no orders have been placed, so none can be shown +error_no_orders = "⚠️ לא ביצעת עדיין הזמנה, אז אין מה להציג" + +# Error: selected user does not exist +error_user_does_not_exist = "⚠️ משתמש כזה לא קיים" + +# Fatal: conversation raised an exception +fatal_conversation_exception = "☢️ באג גרם לקריסה An error הו לא\n" \ + "הבאג דווח למנהל כדי שיוכל לטפל בבעיות אלה בעתיד\n" \ + "/start על מנת לחדש את השיחה עם הבוט, אנא לחץ על" diff --git a/worker.py b/worker.py index f95ee8c..13db475 100644 --- a/worker.py +++ b/worker.py @@ -1370,6 +1370,10 @@ class Worker(threading.Thread): lang = "🇨🇳 简体中文" keyboard.append([telegram.KeyboardButton(lang)]) options[lang] = "zh_cn" + if "he" in configloader.config["Language"]["enabled_languages"]: + lang = "🇮🇱 עברית" + keyboard.append([telegram.KeyboardButton(lang)]) + options[lang] = "he" # Send the previously created keyboard to the user (ensuring it can be clicked only 1 time) self.bot.send_message(self.chat.id, self.loc.get("conversation_language_select"),