வலைபெயர்ப்பு ஃபிரான்டென்ட்

ஃபிரான்டெண்ட் தற்போது தொடக்கவார், சேவினாவல் மற்றும் சில மூன்றாம் தரப்பு நூலகங்களைப் பயன்படுத்தி கட்டப்பட்டுள்ளது.

உதவி உலாவிகள்

அனைத்து முக்கிய உலாவிகள் மற்றும் தளங்களின் அண்மைக் கால, நிலையான வெளியீடுகளை வலைபெயர்ப்பு ஆதரிக்கிறது.

வெப்கிட், பிளிங்க் அல்லது கெக்கோவின் அண்மைக் கால பதிப்பைப் பயன்படுத்தும் மாற்று உலாவிகள், நேரடியாகவோ அல்லது இயங்குதளத்தின் வலை பார்வை பநிஇ வழியாகவோ வெளிப்படையாக ஆதரிக்கப்படவில்லை. இருப்பினும், வலைபெயர்ப்பு (பெரும்பாலான சந்தர்ப்பங்களில்) இந்த உலாவிகளிலும் சரியாக செயல்பட வேண்டும்.

பழைய உலாவிகள் வேலை செய்யக்கூடும், ஆனால் சில நற்பொருத்தங்கள் குறைவாக இருக்கலாம்.

Accessibility

Weblate targets WCAG 2.2 Level AA for new and changed user-facing functionality where practical. Use semantic HTML and Bootstrap components before adding custom interaction code.

When changing the frontend:

  • Make all interactive controls reachable and usable with a keyboard.

  • Keep focus order logical and preserve visible focus styling.

  • Prefer native buttons, links, inputs, selects, and tables over custom widgets.

  • Associate every form control with a label, help text, and validation errors where applicable.

  • Do not use color, icon shape, or position as the only way to convey state.

  • Announce dynamic status changes that are not otherwise visible to assistive technology.

  • Respect reduced-motion preferences for animation or scrolling behavior.

  • Test changed workflows with keyboard-only navigation and, when practical, a screen reader spot check.

சார்பு மேலாண்மை

சாங்கோ திட்டத்தின் கிளையண்டில் ' 3 வது தரப்பு` நூலகங்களை நிறுவுவதும் நிர்வகிப்பதும் சற்று தந்திரமானதாக இருக்கும். வெப் பேக் ஐப் பயன்படுத்தி வெப்லேட்டின்` கிளையன்ட் பக்கத்தின் 'பயன்படுத்தும் 3 வது தரப்பு நூலகங்களை எவ்வாறு நிறுவுவது மற்றும் நிர்வகிப்பது என்பது குறித்த படிப்படியான வழிகாட்டியை இந்த பிரிவு வழங்குகிறது.

முன்நிபந்தனைகள்

ஒரு நிறுவலுடன் தொடர்வதற்கு முன், உங்களிடம் பின்வரும் முன்நிபந்தனைகள் இருப்பதை உறுதிப்படுத்திக் கொள்ளுங்கள்:

  • A supported Node.js release.

  • yarn தொகுப்பு மேலாளர் உங்கள் கணினியில் நிறுவப்பட்டுள்ளது.

  • சிடி கிளையன்ட் ஐ இயக்கவும்.

  • Run yarn install --check-files.

நிறுவல்

ஒரு நூலகத்தை நிறுவ, முதலில் பின்வரும் கட்டளையை இயக்கவும்:

yarn add <lib-name>

நூலகத்தை இறக்குமதி செய்தல்

பின்னர், நூலகத்தை இறக்குமதி செய்ய இரண்டு வழிகள் உள்ளன:

  1. இது ஒரு திட்ட அளவிலான நூலகமாக இருந்தால் (இது அனைத்து/பெரும்பாலான பக்கங்களிலும் பயன்படுத்தப்படுகிறது/தேவைப்படுகிறது):
    • நூலகத்தை src/main.js இல் இறக்குமதி செய்யவும்.

    • உலகளாவிய நோக்கத்தில் (தேவைப்பட்டால்) அறிவிக்கவும்.

  2. இது பக்க-குறிப்பிட்ட நூலகமாக இருந்தால் (நூலகம் ஒரு குறிப்பிட்ட பக்கம் அல்லது வார்ப்புருவில் பயன்படுத்தப்படுகிறது):
    • src/<lib-name>.js என்ற பெயரில் புதிய கோப்பை உருவாக்கவும்.

    • அதில் உள்ள நூலகத்தை இறக்குமதி செய்யவும். உலகளவில் அணுகக்கூடியதாக இருக்க, அதை சன்னல் பொருளில் செலுத்தவும்.

    • webpack.config.js இல் உள்ளீட்டைச் சேர்க்கவும்: <lib-name>: "src/<lib-name>.js".

    • webpack.config.js இல் mainLicenseTransform இல் excludePrefixes வரிசையில் நூலகப் பெயரைச் சேர்க்கவும்.

    • webpack.config.js இல் plugins வரிசையில் LicensePlugin இல் additionalFiles இல் உரிமக் கோப்பு பெயரைச் சேர்க்கவும்.

    • முந்தைய படிகளில் அறிமுகப்படுத்தப்பட்ட உரிமக் கோப்பிற்கான <lib-name>LicenseTransform செயல்பாட்டை உருவாக்கி அதைப் பயன்படுத்தவும்.

    குறிப்பு: <lib-name> என்பதை மூன்றாம் தரப்பு நூலகத்தின் உண்மையான பெயருடன் மாற்றவும்.

நூலகத்தை உருவாக்குதல்

பின்வரும் கட்டளையை இயக்குவதன் மூலம் திட்டத்தால் பயன்படுத்தப்படும் நூலகங்களை உருவாக்குங்கள்:

yarn build

நூலகம் உட்பட

இப்போது நூலகம் கட்டப்பட்டு பயன்படுத்த தயாராக உள்ளது. இதைச் சேர்க்க இந்த படிகளைப் பின்பற்றவும்:

  1. நூலகம் src/main.js இல் இறக்குமதி செய்யப்பட்டிருந்தால், மேலும் படிகள் தேவையில்லை (இது ஏற்கனவே base.html இல் சேர்க்கப்பட்டுள்ளது).

  2. நூலகம் அதன் குறிப்பிட்ட கோப்பான src/<lib-name>.js இல் இறக்குமதி செய்யப்பட்டிருந்தால், weblate/templates இல் உள்ள ச்டேடிக் சாவாச்கிரிப்ட் கோப்புடன் இணைக்க அடங்கிய குறிச்சொற்களைப் பயன்படுத்தவும்:

{% load static %}
<script src="{% static 'js/vendor/<lib-name>.js' %}"></script>

குறியீட்டு நடை

Weblate relies on Biome for formatting and linting the JavaScript and CSS code. Django templates are formatted and linted separately by djade and djlint.

உள்ளகமாக்கல்

முகப்புக் குறியீட்டில் உங்களுக்கு ஏதேனும் பயனர் காணக்கூடிய உரை தேவைப்பட்டால், அது உள்ளூர்மயமாக்கக்கூடியதாக இருக்க வேண்டும். பெரும்பாலான சந்தர்ப்பங்களில், உங்கள் உரையை gettext செயல்பாட்டிற்குள் மடிக்க வேண்டும், ஆனால் இன்னும் சிக்கலான நற்பொருத்தங்கள் உள்ளன:

document.write(gettext("this is to be translated"));

var object_count = 1 // or 0, or 2, or 3, ...
s = ngettext("literal for the singular case",
        "literal for the plural case", object_count);

fmts = ngettext("There is %s object. Remaining: %s",
        "There are %s objects. Remaining: %s", 11);
s = interpolate(fmts, [11, 20]);
// s is "There are 11 objects. Remaining: 20"

சின்னங்கள்

வலைபெயர்ப்பு தற்போது பொருள் வடிவமைப்பு ஐகான்கள் ஐப் பயன்படுத்துகிறது, நீங்கள் புதிய சின்னத்தைத் தேடுகிறீர்கள் என்றால், அதைச் சரிபார்க்கவும்.

கூடுதலாக, SVG இன் அளவைக் குறைக்க scripts/optimize-svg உள்ளது, ஏனெனில் பெரும்பாலான ஐகான்கள் உஉகுமொ க்குள் பதிக்கப்பட்டதால் பாதைகளின் ச்டைலிங்கை அனுமதிக்கும்.