Sobes.tech
Middle

Чӣ гуна санҷиши байналмилалӣ гузаронида мешавад?

sobes.tech AI

Ҷавоб аз AI

Тестгирии байналмилалӣ (i18n) ва маҳаллӣ (l10n) тасдиқ мекунад, ки барнома барои забонҳо, фарҳангҳо ва минтақаҳои гуногун дуруст намоиш дода мешавад ва кор мекунад.

Қадамҳои асосӣ:

  1. Тестгирии байналмилалӣ (i18n Testing): Ба архитектура ва тарҳи барнома нигаронида шудааст, то боварӣ ҳосил кунад, ки он метавонад бо забонҳо ва форматҳои фарҳангӣ бе тағир додани коди барнома кор кунад.

    • Тестгирии псевдолокализация: Ҳама сатрҳои матнро бо аломатҳои махсус ё вариантҳои дарозкардашуда иваз кардан, то санҷиш шавад, ки барнома дуруст бо дарозии гуногуни сатрҳо ва аломатҳо кор мекунад ва сатрҳои сахт кодикушударо ошкор мекунад.
    • Тестгирии коркарди маълумоти фарҳангӣ вобаста:
      • Форматҳои рақамҳо ва ҷудогарии даҳликӣ.
      • Форматҳои сана ва вақт.
      • Символҳо ва форматҳои асъор.
      • Воҳидҳои андоза.
      • Тартиби сортинг.
    • Тестгирии масштабсозии матн: Боварӣ ҳосил кардан, ки интерфейси корбар дуруст нишон дода мешавад, вақте ки дарозии сатрҳо ба таври назаррас зиёд мешавад.
    • Тестгирии дастгирии рамзгузорӣ: Санҷиш кардани кор дар бо рамзгузориҳои гуногун (масалан, UTF-8).
  2. Тестгирии маҳаллӣ (l10n Testing): Ба санҷиши версияҳои маҳаллӣ барои забонҳо ва минтақаҳои муайян нигаронида шудааст.

    • Тестгирии матни тарҷумашуда: Санҷиши дурустӣ ва мувофиқати тарҷума, набудани хатоҳои грамматикӣ ва имло.
    • Тестгирии намоиши мундариҷаи маҳаллӣ: Боварӣ ҳосил кардан, ки ҳамаи унсурҳои интерфейс (матн, тасвирҳо, нишонаҳо) дуруст нишон дода мешаванд, бо дарназардошти хусусиятҳои маҳаллӣ.
    • Тестгирии функсионалӣ дар муҳити маҳаллӣ: Санҷиш кардани он, ки тамоми функсияҳои барнома бо маълумоти маҳаллӣ дуруст кор мекунанд.
    • Тестгирии форматҳои махсуси маҳаллӣ: Тасдиқ кардани намоиши дурусти форматҳои сана/вакт, рақамҳо, асъор ва дигар маълумотҳо мувофиқи стандартҳои маҳаллӣ.
    • Тестгирии мувофиқати фарҳангӣ: Баҳо додан, ки мундариҷа ва интерфейси корбар то чӣ андоза ба нормҳои фарҳангӣ ва интизориҳои аудиторияи мақсад мувофиқанд.

Асбобҳо ва усулҳои автоматизатсия метавонанд барои:

  • Санҷиши мавҷудияти ҳамаи калидҳои маҳаллӣ.
  • Ошкор кардани сатрҳои сахт кодикушударо.
  • Санҷиши асосии формати маълумотҳои вобаста ба фарҳанг.
  • Автоматизатсияи санҷишҳои интерфейси корбар дар муҳитҳои маҳаллӣ бо истифода аз фреймворкҳо ба монанди Selenium ё Appium.
# Намунаи санҷиши мавҷудияти калидҳои маҳаллӣ дар файл
import json

def check_localization_keys(default_lang_file, lang_file):
    with open(default_lang_file, 'r', encoding='utf-8') as f_default:
        default_keys = set(json.load(f_default).keys())

    with open(lang_file, 'r', encoding='utf-8') as f_lang:
        lang_keys = set(json.load(f_lang).keys())

    missing_keys = default_keys - lang_keys
    if missing_keys:
        print(f"Калидҳои норасо дар {lang_file}: {missing_keys}")
    
    extra_keys = lang_keys - default_keys
    if extra_keys:
        print(f"Калидҳои иловагӣ дар {lang_file}: {extra_keys}")

# Функсияро барои муқоиса кардани калидҳо дар файли асосӣ ва забони дигар даъват кунед
# check_localization_keys('en.json', 'ru.json')