| Strings Words Characters | |||
|---|---|---|---|
| 803 2,365 13,986 |
|
All strings | Browse Translate Zen |
| 789 2,198 13,040 |
|
Translated strings | Browse Translate Zen |
| 789 2,198 13,040 |
|
Strings waiting for review | Browse Translate Zen |
| 14 167 946 |
|
Unfinished strings | Browse Translate Zen |
| 8 147 846 |
|
Untranslated strings | Browse Translate Zen |
| 6 20 100 |
|
Strings marked for edit | Browse Translate Zen |
| 25 33 307 |
|
Strings with any failing checks | Browse Translate Zen |
| 24 28 291 |
|
Translated strings with any failing checks | Browse Translate Zen |
| 7 8 39 |
|
Translated strings with dismissed checks | Browse Translate Zen |
| 12 16 141 |
|
Failing check: Unchanged translation | Browse Translate Zen |
| 13 17 166 |
|
Failing check: Vue I18n formatting | Browse Translate Zen |
Overview
| Project website | github.com/vatesfr/xen-orchestra/blob/master/CONTRIBUTING.md | |
|---|---|---|
| Instructions for translators | Internationalization (i18n) and Weblate usage
Internationalization of the app is done with Vue-i18n. Sources of truth are Information about the workflowAdding a new localeWhen you add a new locale, there might be a delay before the new file is available in the Web Core locales folder, as the translations' PR is generally reviewed and merged once by the end of the month, before the technical release. Adding new translationsWhen adding new translations in Weblate, an automatic PR is created to update the translation files in the repository. Weblate checks regularly for new translations and updates the PR accordingly. When adding new translations, please make sure to follow the guidelines below to ensure consistency across all locales. General guidelines when adding translations in WeblatePunctuationStrings punctuation SHOULD be included in the translation key. This allows better adapting the punctuation to the rules of the target language. For example:
ExampleEnglish
French
Spanish
PluralizationWhen a number is involved, the translation MUST use VueI18n pluralization system. ExampleEnglish
French
Handling zero in pluralization and custom plural formsWhen handling the pluralization of zero, you should provide a separate translation value for the zero cases. Example
French
To use a custom plural form for complex translations, please refer to the VueI18n custom pluralization documentation.
Linked translationsSometimes we may need to add the same translation for different keys. This is because in one language the translation is the same, but in another language it may differ due to context (for example, in French the gender differs depending on the context). If the translation in your language for this new key is the same as an already existing one, to avoid duplications, you can use linked translations with the syntax Example
This provides the option to override the |
|
| Project maintainers |
|
|
| Translation process |
|
|
| Source code repository |
https://github.com/vatesfr/xen-orchestra.git
|
|
| Repository branch | master | |
| Last remote commit |
fix(rest-api): various vm dashboard fixes (#9380)
bdd9b2665
Mathieu authored yesterday |
|
| Last commit in Weblate |
feat(web-stack/i18n): update Japanese
6b01f1fda
|
|
| Weblate repository |
http://translate.vates.tech/git/xen-orchestra/xen-orchestra-6/
|
|
| File mask |
@xen-orchestra/web-core/lib/locales/*.json
|
|
| Monolingual base language file |
@xen-orchestra/web-core/lib/locales/en.json
|
|
| Translation file |
Download
@xen-orchestra/web-core/lib/locales/es.json
|
|
| Last change | Dec. 27, 2025, 8:49 p.m. | |
| Last change made by | Pavel Borecki | |
| Language | Spanish | |
| Language code | es | |
| Text direction | Left to right | |
| Case sensitivity | Case-sensitive | |
| Number of speakers | 507,161,083 | |
| Number of plurals | 3 | |
| Plural type | One/many/other | |
| Plurals | One | 1 | Many | 1000000, 2000000 |
| Other | 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, … | |
| Plural formula |
(n == 1) ? 0 : ((n != 0 && n % 1000000 == 0) ? 1 : 2)
|
|
String statistics
| Strings percent | Hosted strings | Words percent | Hosted words | Characters percent | Hosted characters | |
|---|---|---|---|---|---|---|
| Total | 803 | 2,365 | 13,986 | |||
| Approved | 0% | 0 | 0% | 0 | 0% | 0 |
| Waiting for review | 98% | 789 | 92% | 2,198 | 93% | 13,040 |
| Translated | 98% | 789 | 92% | 2,198 | 93% | 13,040 |
| Needs editing | 1% | 6 | 1% | 20 | 1% | 100 |
| Read-only | 0% | 0 | 0% | 0 | 0% | 0 |
| Failing checks | 3% | 25 | 1% | 33 | 2% | 307 |
| Strings with suggestions | 0% | 0 | 0% | 0 | 0% | 0 |
| Untranslated strings | 1% | 8 | 6% | 147 | 6% | 846 |
Quick numbers
Trends of last 30 days
|
Marked for edit |
|
None
Changes committed |
Changes committed
2 weeks ago
|
|
Translation added |
|
|
Translation changed |
|
|
Translation added |
|
|
Translation added |
|
|
Translation added |
|
|
Translation added |
|
None
Changes committed |
Changes committed
2 weeks ago
|
|
Translation changed |
|
| 803 | File in original format as translated in the repository | JSON file | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 803 | All strings, converted files enriched with comments; suitable for offline translation | Android String Resource | CSV | JSON | JSON nested structure file | gettext PO | iOS strings | TBX | TMX | XLIFF 1.1 with gettext extensions | XLIFF 1.1 | XLSX |
| 14 | Unfinished strings, converted files enriched with comments; suitable for offline translation | Android String Resource | CSV | JSON | JSON nested structure file | gettext PO | iOS strings | TBX | TMX | XLIFF 1.1 with gettext extensions | XLIFF 1.1 | XLSX |
None