Începând cu internaționalizarea

Aveți un proiect și doriți să îl traduceți în mai multe limbi? Acest ghid vă va ajuta să faceți acest lucru. Sunt prezentate mai multe situații tipice, dar majoritatea exemplelor sunt generice și pot fi aplicate și la alte scenarii.

Înainte de a traduce orice software, trebuie să vă dați seama că limbile din întreaga lume sunt foarte diferite și nu trebuie să faceți nicio presupunere bazată pe experiența dumneavoastră. Pentru majoritatea limbilor, va arăta ciudat dacă încercați să concatenați o propoziție din segmente traduse. De asemenea, ar trebui să gestionați în mod corespunzător formele de plural, deoarece multe limbi au reguli complexe în acest sens, iar cadrul de internaționalizare pe care ajungeți să îl utilizați ar trebui să suporte acest lucru.

Nu în ultimul rând, uneori ar putea fi necesar să se adauge un context la șirul tradus. Imaginați-vă că un traducător ar primi șirul Sun pentru a traduce. Fără context, cei mai mulți oameni ar traduce acest cuvânt ca fiind cea mai apropiată stea a noastră, dar ar putea fi folosit de fapt ca o abreviere pentru duminică.

Alegerea cadrului de internaționalizare

Alegeți ceea ce este standard pe platforma dvs., încercați să evitați reinventarea roții prin crearea propriului cadru pentru a gestiona localizările. Weblate acceptă majoritatea cadrelor utilizate pe scară largă, consultați Localization file formats pentru mai multe informații (în special Capabilități ale tipurilor de traducere).

Recomandarea noastră personală pentru unele platforme este prezentată în tabelul următor. Aceasta se bazează pe experiența noastră, dar nu poate acoperi toate cazurile de utilizare, așa că luați întotdeauna în considerare mediul dumneavoastră atunci când faceți alegerea.

Fluxul de lucru mai detaliat pentru anumite formate este descris în capitolele următoare:

Educating developers for proper internationalization

Software internationalization is not just about being able to translate strings but about making the whole software look native to a user from another country. This also includes things like date or number formatting, currency display, or inputting text in the right direction. Most software frameworks have good support for this, so please follow their instructions for all these areas.

The string translation might not be a straightforward task as well. This is especially true for short strings like captions or button labels. Different languages have different rules, and it is not reasonable to expect that the same string will always be translated the same. In many situations it also might not be clear how to translate, and it is even challenging to distinguish whether the word is a verb or a noun.

All developers should understand this and uniquely identify strings used in different scopes. For example, None meaning „no users” might be translated differently from None meaning „no items”. Use different keys or contexts to distinguish these terms for translators. You can provide additional context in Weblate, such as Screenshots and visual context or Explicație.

The technical side is only part of the work. Translators also notice the project workflow around strings, releases, and communication. A few practices make collaboration much easier:

  • Respond to translator questions and comments, and make sure the advertised contact channel is actually monitored.

  • Avoid unnecessary churn in source strings. Rewording or replacing existing strings without a user-visible reason creates avoidable translation work.

  • Add enough context for translators to understand short or ambiguous strings. Avoid concatenating sentences from fragments, use placeholders that can be reordered, and rely on built-in plural handling.

  • Ship translations regularly so completed work does not stay unused in Weblate for long periods.

  • Communicate workflow or policy changes, and keep contribution requirements realistic for smaller language teams.

  • If a project is no longer maintained, reflect that in the translation workflow instead of leaving components open indefinitely.

Weblate can help with some of these issues. In particular, regular automatic commits from Weblate make translation progress visible in the source code history and reduce the risk that finished work is forgotten before a release. See Traducere continuă for automation options.