Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Translation waves: every language to daily use

A measured plan, in small independent waves, that brings every language of Exponential to daily use, administration, extensions and help, so that nobody needs English to work with the product; the priority group of the…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/translation-waves.md

On this page

Translation waves: every language to daily use

The goal is that a person can work with Exponential in their own language every day, without ever falling back to English: the administration, the extensions they use and the help. This page measures where each language stands and cuts the remaining work into waves. A wave is one language and one work set, small enough for one translator (a person or an agent) to start and finish in one sitting, at any time, independently of every other wave.

The figures and the queue below are generated from the files of this release; the rest of the page explains how a wave is done and checked. The languages, their locales and their administration translations are described in Languages in Exponential.

Contents

  1. The plan, measured: where each language stands, the help in tiers, languages without a translation, the queue
  2. What the waves are
  3. The order of the waves
  4. Before a wave: the prerequisites
  5. How each kind of wave is done
  6. The checks after every wave
  7. Traps
  8. Done: daily use and the goal
  9. Speakers and difficulty
  10. Keeping this page current

The plan, measured

Measured on 5 November 2026 by ./console exp:i18n waves from the files of this release (no database):

WhatSize
Administration: strings of share/translations/untranslated/translation.ts, in 11 parts20,855 (140,414 words)
Shipped extensions (expimageeditor, ezjscore, ezoe)567 strings
Help: pages below doc/eng-us/ (the generated example pages left out)5,976 pages, 5,374,950 words
Help: tables of the generated example pages (.examples/)4,295 entries, 117,233 words
Administration translations, complete of them156, 156
of them in daily use (administration, extensions and daily-use help ≥ 97 %)2
Languages without an administration translation (list), being translated on a branch41, 0
Waves to 100 % in every language33,981

Where each language stands

Percent of the strings (administration, extensions) and of the words (help), rounded down. Bold: below 97 %. "Daily-use help" is the part for editors, users and administrators (tiers).

LanguageCodeSpeakers (millions)DifficultyAdministrationExtensionsDaily-use helpAll helpWaves leftNext wave
Afrikaansafr-ZA17210010000219#648 S
Akanaka-GH11310010000219#673 S
Albaniansqi-AL8210010000219#672 S
Amharicamh-ET60410010000219#632 S
Arabicara-SA400410010000219#2 S
Aramaicarc-IQ< 1510010000219#727 S
Armenianhye-AM5410010000219#696 S
Assameseasm-IN15510010000219#677 S
Asturianast-ES< 1310010000219#725 S
Azerbaijaniaze-AZ10310010000219#675 S
Bambarabam-ML14310010000219#664 S
Basqueeus-ES< 1310010000219#718 S
Belarusianbel-BY5410010000219#697 S
Bengaliben-BD285410010000219#609 S
Bhojpuribho-IN52510010000219#639 S
Bodobrx-IN2510010000219#716 S
Bosnianbos-BA3310010000219#702 S
Bretonbre-FR< 1410010000219#732 S
Bulgarianbul-BG8210010000219#668 S
Burmesemya-MM43510010000219#647 S
Catalancat-ES10110010000219#641 S
Cebuanoceb-PH28310010000219#643 S
Central Kurdish (Sorani)ckb-IQ7510010000219#694 S
Chechenche-RU2510010000219#714 S
Chinese (Simplified)chi-CN1,100210010000219#601 S
Chinese (Traditional)chi-TW31210010000219#628 S
Croatiancro-HR5210010000219#682 S
Czechcze-CZ11210010000219#661 S
Danishdan-DK6110010000219#659 S
Dari (Persian of Afghanistan)fas-AF35410010000219#645 S
Dhivehidiv-MV< 1510010000219#729 S
Dogridoi-IN3510010000219#710 S
Dutchdut-NL25110010000219#620 S
Dzongkhadzo-BT< 1510010000219#724 S
English (Australia)eng-AU1,50011001001001000source texts
English (United States)eng-US1,50011001001001000source texts
Esperantoepo-EO< 1210010000219#733 S
Estonianest-EE1310010000219#713 S
Eweewe-GH5310010000219#691 S
Faroesefao-FO< 1410010000219#736 S
Filipinofil-PH83210010000219#614 S
Finnishfin-FI6210010000219#679 S
Frenchfre-FR310110010000219#603 S
Fulaful-SN37410010000219#644 S
Galicianglg-ES2210010000219#700 S
Gandalug-UG11410010000219#681 S
Georgiankat-GE4410010000219#706 S
Germanger-DE1352100761001001#1 E
Greekell-GR13310010000219#667 S
Greenlandickal-GL< 1410010000219#737 S
Guaranigrn-PY741008000220#600 E
Gujaratiguj-IN62410010000219#629 S
Hausahau-NG94310010000219#617 S
Hawaiianhaw-US< 1310010000219#739 S
Hebrewheb-IL9410010000219#684 S
Hindihin-IN610410010000219#606 S
Hulaulá (Jewish Neo-Aramaic)huy-IL< 1510010000219#743 S
Hungarianhun-HU13210010000219#658 S
Icelandicisl-IS< 1310010000219#726 S
Igboibo-NG31310010000219#640 S
Indonesianind-ID252110010000219#604 S
Irishgle-IE2410010000219#711 S
isiXhosaxho-ZA19410010000219#663 S
isiZuluzul-ZA28410010000219#655 S
Italianita-IT68110010000219#610 S
Japanesejpn-JP123310010000219#615 S
Javanesejav-ID68310010000219#623 S
Kabylekab-DZ5410010000219#698 S
Kannadakan-IN59510010000219#635 S
Kashmirikas-IN7510010000219#695 S
Kazakhkaz-KZ16410010000219#669 S
Khmerkhm-KH18410010000219#665 S
Kikuyukik-KE8410010000219#687 S
Kinyarwandakin-RW15410010000219#670 S
Kirundirun-BI12410010000219#678 S
Klingontlh-QO< 1410010000219#746 S
Konkanikok-IN2510010000219#712 S
Koreankor-KR82310010000219#618 S
Korean (North Korea, Munhwaŏ)kor-KP26310010000219#646 S
Kurdish (Kurmanji)kur-TR16310010000219#8 S
Kyrgyzkir-KG5510010000219#703 S
Laolao-LA30510010000219#660 S
Latinlat-VA< 1410010000219#744 S
Latvianlav-LV2310010000219#709 S
Lingalalin-CD40410010000219#642 S
Lithuanianlit-LT3310010000219#704 S
Lower Sorbiandsb-DE< 1410010000219#742 S
Luxembourgishltz-LU< 1210010000219#719 S
Macedonianmkd-MK2310010000219#708 S
Maithilimai-IN34510010000219#656 S
Malagasymlg-MG25310010000219#649 S
Malaymsa-MY60110010000219#611 S
Malayalammal-IN37510010000219#653 S
Maltesemlt-MT< 1310010000219#721 S
Manipurimni-IN2510010000219#715 S
Māorimri-NZ< 1310010000219#730 S
Marathimar-IN99410010000219#622 S
Mongolianmon-MN6510010000219#701 S
Nepalinep-NP32410010000219#650 S
Nigerian Pidginpcm-NG120310010000219#616 S
Northern Samisme-NO< 1410010000219#738 S
Norwegiannor-NO5110010000219#662 S
N’Konqo-GN–510010000219#745 S
Occitanoci-FR< 1310010000219#723 S
Odiaori-IN40510010000219#651 S
Oromoorm-ET45410010000219#637 S
Pashtopus-AF60510010000219#7 S
Persianfas-IR83410010000219#6 S
Polishpol-PL40210010000219#624 S
Portuguese (Brazil)por-BR215110010000219#605 S
Portuguese (Portugal)por-PT50110010000219#613 S
Punjabipan-IN48410010000219#634 S
Quechuaque-PE8410010000219#688 S
Romanianron-RO25110010000219#621 S
Romanshroh-CH< 1310010000219#735 S
Russianrus-RU255310010000219#5 S
Sanskritsan-IN< 1510010000219#740 S
Santalisat-IN8510010000219#693 S
Scottish Gaelicgla-GB< 1410010000219#734 S
Serbian (Cyrillic)srp-RS10410010000219#683 S
Serbian (Latin)ser-SR10310010000219#676 S
Shonasna-ZW15410010000219#671 S
Sindhisnd-PK34510010000219#657 S
Sinhalasin-LK18410010000219#666 S
Slovakslk-SK7210010000219#674 S
Slovenianslv-SI3310010000219#707 S
Somalisom-SO24310010000219#652 S
Spanish (Mexico)esl-MX130110010000219#607 S
Spanish (Spain)esl-ES430110010000219#602 S
Standard Moroccan Tamazightzgh-MA14510010000219#680 S
Sundanesesun-ID32310010000219#638 S
Swahiliswa-KE80310010000219#619 S
Swedishswe-SE13110010000219#633 S
Syriacsyr-IQ< 1510010000219#728 S
Tajiktgk-TJ9410010000219#685 S
Tamiltam-IN87510010000219#627 S
Tatartat-RU5510010000219#705 S
Telugutel-IN96510010000219#625 S
Thaitha-TH61410010000219#631 S
Tibetanbod-CN6510010000219#699 S
Tigrinyatir-ET10510010000219#689 S
Tonganton-TO< 1310010000219#731 S
Turkishtur-TR90210010000219#3 S
Turkmentuk-TM7410010000219#690 S
Ukrainianukr-UA39310010000219#4 S
Upper Sorbianhsb-DE< 1410010000219#741 S
Urduurd-PK232410010000219#612 S
Uyghuruig-CN11510010000219#686 S
Uzbekuzb-UZ35310010000219#636 S
Vietnamesevie-VN86110010000219#608 S
Welshcym-GB< 1310010000219#717 S
Western Frisianfry-NL< 1310010000219#722 S
Western Punjabipnb-PK90510010000219#626 S
Wolofwol-SN22310010000219#654 S
Yiddishyid-US1510010000219#720 S
Yorubayor-NG46310010000219#630 S

The help in tiers

TierSectionsPagesWordsParts
Daily use: editors, users, administrators’ how-toshelp, help/manual, help/non-technical-people, guides, help/book-learning, help/book-building-a-site344445,57417
Product and audience guidesinstall, features, competition, help/adopters, help/advocates, help/business, help/businesses, help/community and 27 more3,8153,063,779123
Developer referencehelp/extension-development, help/template-language, help/template-operators, help/build-two-ways, help/php-developers, help/cms-developers, help/dxp-developers, help/software-engineers and 12 more1,8171,865,59773
Tables of the generated examplesexamples4,295 entries117,2335
The 218 parts of the help
PartTierPagesWordsFirst … last page
H-help-01daily1433,869help/README.md … help/free-documentation.md
H-help-02daily1417,497help/getting-started.md … help/reading-help-in-other-languages.md
H-help-03daily1435,462help/recent-content.md … help/why-exponential-supports-php-7-4.md
H-help-manual-01daily4417,659help/manual/README.md … help/manual/how-do-i-let-a-translator-edit-one-language.md
H-help-manual-02daily4418,751help/manual/how-do-i-move-a-user-to-another-group.md … help/manual/why-does-search-not-find-an-item.md
H-help-non-technical-peopledaily4828,376help/non-technical-people/a-website-without-hosting-costs.md … help/non-technical-people/words/the-site-and-the-administration.md
H-guides-01daily1331,880guides/README.md … guides/content-history.md
H-guides-02daily1431,047guides/content-languages.md … guides/from-static-html-to-exponential-and-back.md
H-guides-03daily1436,973guides/getting-started.md … guides/migrations-repositories.md
H-guides-04daily1433,352guides/migrations-rollback-and-captions.md … guides/pdf-exports.md
H-guides-05daily1438,165guides/preloading-caches.md … guides/smarty-templates-migrating.md
H-guides-06daily1425,559guides/smarty-templates-operator-reference.md … guides/static-publishing-history-and-rollback.md
H-guides-07daily1421,885guides/static-publishing-limits-and-github-terms.md … guides/twig-templates-compatibility.md
H-guides-08daily1414,197guides/twig-templates-converter.md … guides/twig-templates-tutorial.md
H-guides-09daily1436,569guides/twig-templates.md … guides/your-devices-and-sessions.md
H-help-book-learningdaily3118,870help/book-learning/README.md … help/book-learning/workflows-and-triggers.md
H-help-book-building-a-sitedaily105,463help/book-building-a-site/README.md … help/book-building-a-site/your-first-static-site-in-15-minutes.md
H-install-01guides736,149install/01-introduction.md … install/07-console-install.md
H-install-02guides760,821install/08-serving-the-site.md … install/14-migrating-from-4x.md
H-install-03guides739,901install/15-migrating-from-5x-legacy.md … install/migration/checklist.md
H-install-04guides78,467install/migration/coldfusion-apps.md … install/migration/exponential-platform-legacy.md
H-install-05guides77,934install/migration/exponential-platform-nexus.md … install/migration/magento.md
H-install-06guides75,299install/migration/older-releases.md … install/migration/wordpress.md
H-features-01guides2033,136features/4.7/cluster_events.md … features/6.0/audit-trail.md
H-features-02guides2040,482features/6.0/benchmark.md … features/6.0/editor-account-approval.md
H-features-03guides2016,334features/6.0/environment-settings.md … features/6.0/extensions/expai.md
H-features-04guides2014,597features/6.0/extensions/expimageeditor.md … features/6.0/extensions/ezstarrating.md
H-features-05guides2016,880features/6.0/extensions/eztags.md … features/6.0/extensions/swark.md
H-features-06guides2055,048features/6.0/extensions/syndication.md … features/6.0/log-viewer.md
H-features-07guides2022,926features/6.0/mail-layout.md … features/6.0/package-wizard.md
H-features-08guides2023,986features/6.0/pagelayout-hooks.md … features/6.0/remote-services-expservices.md
H-features-09guides2024,241features/6.0/repair-from-the-browser.md … features/6.0/smarty-templates.md
H-features-10guides2026,308features/6.0/soap-client-tls.md … features/6.0/ui-switch.md
H-features-11guides2128,636features/6.0/user-audit.md … features/6.0/website-sidebar.md
H-competitionguides413,376competition/README.md … competition/proprietary-dxp-and-saas.md
H-help-adoptersguides4716,998help/adopters/adopters-checklists.md … help/adopters/what-adoption-means.md
H-help-advocates-01guides4829,486help/advocates/7x-and-the-foundation-for-advocates.md … help/advocates/proposing-a-contribution-sprint.md
H-help-advocates-02guides4829,620help/advocates/proposing-a-meetup.md … help/advocates/your-first-week-as-an-advocate.md
H-help-business-01guides615,690help/business/brand-and-naming-rules.md … help/business/feature-highlights-for-customers.md
H-help-business-02guides615,383help/business/growing-the-community.md … help/business/who-exponential-is-for.md
H-help-businesses-01guides2625,794help/businesses/associations/README.md … help/businesses/costs/what-you-do-not-pay-for.md
H-help-businesses-02guides2625,357help/businesses/costs/worked-example-intranet.md … help/businesses/intranets/two-factor-and-sign-in.md
H-help-businesses-03guides2726,111help/businesses/libraries/README.md … help/businesses/mobile-and-headless/responsive-sites.md
H-help-businesses-04guides2624,905help/businesses/mobile-and-headless/rest-api-v1-and-v2-for-businesses.md … help/businesses/newsletters/opt-in-and-consent.md
H-help-businesses-05guides2729,917help/businesses/newsletters/writing-and-sending-editions.md … help/businesses/reliability/restore-drills.md
H-help-businesses-06guides2626,999help/businesses/reliability/static-and-response-cache.md … help/businesses/stores/payment-gateways-for-businesses.md
H-help-businesses-07guides2722,322help/businesses/stores/paypal-payments.md … help/businesses/why-businesses-rely-on-exponential.md
H-help-communityguides5327,394help/community/a-free-site-for-your-user-group.md … help/community/your-first-week-in-the-community.md
H-help-creators-01guides4723,586help/creators/app-creators/access-control-in-code.md … help/creators/app-creators/remote-services-expservices.md
H-help-creators-02guides4726,278help/creators/app-creators/rest-api.md … help/creators/website-creators/member-registration-and-areas.md
H-help-creators-03guides4729,000help/creators/website-creators/menus-and-navigation.md … help/creators/website-creators/your-first-site-step-by-step.md
H-help-customers-01guides3725,803help/customers/commerce/README.md … help/customers/day-to-day/analytics-and-what-to-measure.md
H-help-customers-02guides3826,709help/customers/day-to-day/approvals-and-review.md … help/customers/growth/rss-and-podcast-feeds.md
H-help-customers-03guides3824,975help/customers/growth/using-ai-drafts-responsibly.md … help/customers/partners-and-hosts/who-does-what.md
H-help-customers-04guides3822,272help/customers/partners-and-hosts/working-with-7x-and-the-project.md … help/customers/what-you-own.md
H-help-designers-01guides6328,332help/designers/README.md … help/designers/extensions/gitignore-for-themes.md
H-help-designers-02guides6424,321help/designers/extensions/install-and-changelog-files.md … help/designers/sales/assets-under-separate-licenses.md
H-help-designers-03guides6323,137help/designers/sales/contracts-and-terms.md … help/designers/templates/if-and-conditions.md
H-help-designers-04guides6426,861help/designers/templates/include.md … help/designers/theme-design/color-contrast.md
H-help-designers-05guides6438,389help/designers/theme-design/csp-safe-design.md … help/designers/theme-design/what-a-design-is.md
H-help-e-commerce-01guides2617,960help/e-commerce/catalog/README.md … help/e-commerce/operations/analytics-for-stores.md
H-help-e-commerce-02guides2718,329help/e-commerce/operations/commerce-audit-trail.md … help/e-commerce/settings/workflow-ini-for-the-shop.md
H-help-ecosystemguides4518,856help/ecosystem/a-short-history-of-the-ecosystem.md … help/ecosystem/what-the-ecosystem-is.md
H-help-government-01guides5332,975help/government/accessibility/README.md … help/government/building/documents-and-publications/pdf-export.md
H-help-government-02guides5324,742help/government/building/documents-and-publications/versions-of-documents.md … help/government/building/news-and-alerts/README.md
H-help-government-03guides5328,368help/government/building/news-and-alerts/archive-and-expiry.md … help/government/checklists/quarterly-access-review.md
H-help-government-04guides5331,704help/government/checklists/records-checklist.md … help/government/languages/redirecting-to-the-visitors-language.md
H-help-government-05guides5334,251help/government/languages/removing-a-translation-safely.md … help/government/levels/parliaments/structure-sections-and-roles.md
H-help-government-06guides5335,269help/government/levels/parliaments/what-it-publishes.md … help/government/operations/availability/database-high-availability.md
H-help-government-07guides5339,235help/government/operations/availability/high-availability-overview.md … help/government/operations/incidents/data-breach-notification-framing.md
H-help-government-08guides5334,233help/government/operations/incidents/database-unreachable.md … help/government/privacy/README.md
H-help-government-09guides5332,204help/government/privacy/analytics.md … help/government/procurement/exit-plans/lock-in-clauses-to-avoid.md
H-help-government-10guides5334,358help/government/procurement/exit-plans/personal-data-at-exit.md … help/government/procurement/total-cost-of-ownership/staff-and-skills.md
H-help-government-11guides5330,491help/government/procurement/total-cost-of-ownership/support-contracts.md … help/government/security/file-uploads-and-svg.md
H-help-government-12guides5331,608help/government/security/forwarding-audit-to-a-siem.md … help/government/tasks/compliance/add-security-txt.md
H-help-government-13guides5319,562help/government/tasks/compliance/add-your-own-words-to-the-weak-password-list.md … help/government/tasks/operations/bring-the-site-back-online.md
H-help-government-14guides5323,496help/government/tasks/operations/check-file-and-directory-permissions.md … help/government/tasks/people-and-permissions/keep-editors-out-of-the-admin-siteaccess.md
H-help-government-15guides5325,206help/government/tasks/people-and-permissions/let-a-contractor-edit-only-one-folder.md … help/government/tasks/publishing/find-and-fix-broken-links.md
H-help-government-16guides5324,198help/government/tasks/publishing/follow-changes-with-notifications.md … help/government/tasks/sites-and-languages/connect-staff-sign-in-to-ldap.md
H-help-government-17guides5321,481help/government/tasks/sites-and-languages/export-a-list-of-content-as-csv.md … help/government/transparency-and-foi/withdrawing-and-correcting-published-information.md
H-help-hosting-01guides2425,768help/hosting/basics/README.md … help/hosting/business/marketing-exponential-hosting.md
H-help-hosting-02guides2422,215help/hosting/business/partner-programs.md … help/hosting/models/managed-hosting.md
H-help-hosting-03guides2431,750help/hosting/models/platform-as-a-service.md … help/hosting/operations/storage-layout.md
H-help-hosting-04guides2428,982help/hosting/operations/system-card-for-hosts.md … help/hosting/performance/varnish-and-reverse-proxies.md
H-help-hosting-05guides2422,444help/hosting/performance/velocity-response-cache.md … help/hosting/security/demo-mode-for-hosts.md
H-help-hosting-06guides2432,160help/hosting/security/first-sign-in-and-default-passwords.md … help/hosting/static-publishing-and-your-hosting.md
H-help-individuals-01guides2820,557help/individuals/blogs/README.md … help/individuals/individuals-reading-path.md
H-help-individuals-02guides2821,329help/individuals/individuals-start-here.md … help/individuals/your-personal-site-for-free.md
H-help-leadership-01guides919,895help/leadership/accessibility-security-and-compliance-checklists.md … help/leadership/planning-an-exponential-project.md
H-help-leadership-02guides920,242help/leadership/project-managers-start-here.md … help/leadership/working-with-the-community.md
H-help-local-businesses-01guides2818,013help/local-businesses/a-fast-free-brochure-site-for-your-business.md … help/local-businesses/getting-started/working-with-a-local-partner-or-freelancer.md
H-help-local-businesses-02guides2819,105help/local-businesses/local-businesses-faq.md … help/local-businesses/templates/website-brief-for-a-local-business.md
H-help-migrations-01guides2220,677help/migrations/README.md … help/migrations/recipes/coming-from-sql-update-files.md
H-help-migrations-02guides2321,845help/migrations/recipes/create-or-change-a-content-class.md … help/migrations/when-a-migration-fails.md
H-help-non-profits-01guides2819,186help/non-profits/a-free-website-for-your-nonprofit.md … help/non-profits/non-profits-faq.md
H-help-non-profits-02guides2819,746help/non-profits/non-profits-glossary.md … help/non-profits/volunteers/volunteers-as-editors.md
H-help-partners-01guides3715,750help/partners/application-checklist.md … help/partners/partner-faq.md
H-help-partners-02guides3817,508help/partners/partner-glossary.md … help/partners/your-partner-page.md
H-help-podcasters-01guides2417,308help/podcasters/a-release-calendar.md … help/podcasters/podcaster-checklists.md
H-help-podcasters-02guides2418,395help/podcasters/podcaster-faq.md … help/podcasters/writing-show-notes.md
H-help-press-01guides3827,987help/press/7x-for-reporters.md … help/press/fact-checking-guide.md
H-help-press-02guides3825,330help/press/fact-sheet-for-journalists.md … help/press/reporter-faq.md
H-help-press-03guides3823,973help/press/requesting-an-interview.md … help/press/story-online-editor-tinymce-8.md
H-help-press-04guides3825,257help/press/story-open-source-and-licenses.md … help/press/writing-about-the-ez-publish-years.md
H-help-projectguides1216,030help/project/README.md … help/project/roadmap.md
H-help-resellers-01guides2617,388help/resellers/basics/choosing-a-partner-level.md … help/resellers/offers/demo-sites.md
H-help-resellers-02guides2718,547help/resellers/offers/e-commerce-offers.md … help/resellers/sales/sales-process.md
H-help-site-packages-01guides2627,331help/site-packages/README.md … help/site-packages/cjw-multisite/the-cjw-themes-jumper-extension.md
H-help-site-packages-02guides2629,251help/site-packages/cjw-multisite/the-demo-content-package.md … help/site-packages/requirements/the-requirements-checklist.md
H-help-site-packages-03guides2626,784help/site-packages/requirements/thumbnails-and-screenshots.md … help/site-packages/your-own/versioning-your-own-packages.md
H-help-sponsorsguides115,286help/sponsors/7x-the-first-sponsor.md … help/sponsors/what-sponsorship-funds.md
H-help-static-publishingguides2513,266help/static-publishing/README.md … help/static-publishing/who-may-publish-roles-and-policies.md
H-help-students-01guides2821,897help/students/asking-for-help-and-study-groups.md … help/students/project-05-a-multilingual-site.md
H-help-students-02guides2822,743help/students/project-06-search-that-finds-the-right-things.md … help/students/your-first-site-three-ways.md
H-help-supportersguides125,721help/supporters/advocacy.md … help/supporters/ways-to-support-exponential.md
H-help-theme-designers-01guides2218,799help/theme-designers/building-a-portfolio-and-getting-work.md … help/theme-designers/designing-view-modes.md
H-help-theme-designers-02guides2218,806help/theme-designers/designing-with-real-content.md … help/theme-designers/your-first-day-as-a-theme-designer.md
H-help-trainers-01guides3131,213help/trainers/assessments/README.md … help/trainers/assessments/module-05-newsletter-and-migration/README.md
H-help-trainers-02guides3232,172help/trainers/assessments/module-05-newsletter-and-migration/migration-practical-task.md … help/trainers/developers/module-03-designs-overrides-and-debugging/the-design-chain.md
H-help-trainers-03guides3129,141help/trainers/developers/module-04-content-classes-and-datatypes/README.md … help/trainers/developers/module-09-the-console-and-persistent-objects/sql-safely-with-ezdb.md
H-help-trainers-04guides3230,122help/trainers/developers/module-09-the-console-and-persistent-objects/the-console.md … help/trainers/editors-101/module-04-the-online-editor/README.md
H-help-trainers-05guides3229,014help/trainers/editors-101/module-04-the-online-editor/embeds-tables-and-choosing-the-editor.md … help/trainers/editors-201/module-03-organizing-content/README.md
H-help-trainers-06guides3126,155help/trainers/editors-201/module-03-organizing-content/large-operations-and-the-trash.md … help/trainers/exponential-intelligence/module-02-the-intelligence-tab/keeping-sending-and-discarding-drafts.md
H-help-trainers-07guides3229,476help/trainers/exponential-intelligence/module-03-the-edit-form/README.md … help/trainers/hosting-operations/module-03-databases/README.md
H-help-trainers-08guides3130,398help/trainers/hosting-operations/module-03-databases/choosing-a-database.md … help/trainers/layouts/module-01-introducing-layouts/the-five-ideas.md
H-help-trainers-09guides3226,649help/trainers/layouts/module-02-layouts-and-layout-types/README.md … help/trainers/migration/module-01-planning-a-migration/phases-and-the-checklist.md
H-help-trainers-10guides3232,621help/trainers/migration/module-01-planning-a-migration/rehearsal-cut-over-and-rollback.md … help/trainers/multisite-and-packages/module-01-siteaccesses-for-several-sites/a-siteaccess-per-language.md
H-help-trainers-11guides3135,761help/trainers/multisite-and-packages/module-01-siteaccesses-for-several-sites/adding-a-second-site.md … help/trainers/newsletter/README.md
H-help-trainers-12guides3231,603help/trainers/newsletter/module-01-getting-started/README.md … help/trainers/search/module-01-how-search-works/where-people-search.md
H-help-trainers-13guides3130,701help/trainers/search/module-02-indexing/README.md … help/trainers/site-administrators/module-02-users-and-groups/passwords-resets-and-lockouts.md
H-help-trainers-14guides3232,752help/trainers/site-administrators/module-02-users-and-groups/unactivated-users-and-account-checks.md … help/trainers/site-administrators/module-08-security/README.md
H-help-trainers-15guides3235,241help/trainers/site-administrators/module-08-security/content-security-policy.md … help/trainers/theme-designers/module-03-stylesheets-and-scripts/listing-files-in-design-ini.md
H-help-trainers-16guides3130,777help/trainers/theme-designers/module-03-stylesheets-and-scripts/ready-for-a-content-security-policy.md … help/trainers/train-the-trainer/module-01-preparing-to-teach/the-help-center-as-your-textbook.md
H-help-trainers-17guides3222,473help/trainers/train-the-trainer/module-01-preparing-to-teach/your-material-and-the-gfdl.md … help/trainers/train-the-trainer/module-06-assessment-and-follow-up/certificates-of-attendance.md
H-help-trainers-18guides3219,670help/trainers/train-the-trainer/module-06-assessment-and-follow-up/checking-understanding-during-class.md … help/trainers/workshops/module-05-capstone-projects/multilingual-event-site.md
H-help-user-management-from-the-consoleguides207,853help/user-management-from-the-console/README.md … help/user-management-from-the-console/when-a-command-fails.md
H-referenceguides11,858reference/template-check-rules.md
H-root-01guides517,545COMMUNITY.md … HISTORY.md
H-root-02guides517,213INSTALL.md … UNINSTALL.md
H-root-03guides537,414UPDATE.md … languages.md
H-help-extension-development-01reference4336,475help/extension-development/README.md … help/extension-development/part-2-builder/the-exp-ini-command.md
H-help-extension-development-02reference4325,325help/extension-development/part-2-builder/view-modes-for-builders.md … help/extension-development/part-3-extension-developer/tutorials/by-hand-custom-tag.md
H-help-extension-development-03reference4328,708help/extension-development/part-3-extension-developer/tutorials/by-hand-datatype.md … help/extension-development/part-4-upgrading/old-jquery-to-jquery-4.md
H-help-extension-development-04reference4330,248help/extension-development/part-4-upgrading/php-8-1-to-8-5-deprecations.md … help/extension-development/part-7-releasing/github-releases-and-release-notes.md
H-help-extension-development-05reference4424,525help/extension-development/part-7-releasing/packages-ezpkg.md … help/extension-development/reading-paths.md
H-help-template-language-01reference1618,348help/template-language/README.md … help/template-language/moving-from-tpl-to-twig.md
H-help-template-language-02reference1717,445help/template-language/namespaces.md … help/template-language/what-the-template-language-is.md
H-help-template-operators-01reference2424,150help/template-operators/README.md … help/template-operators/menu-and-tree-operators.md
H-help-template-operators-02reference2430,407help/template-operators/newsletter-operators.md … help/template-operators/url-operators.md
H-help-build-two-ways-01reference8327,828help/build-two-ways/README.md … help/build-two-ways/examples/maintain/add-a-recipe-to-the-index.md
H-help-build-two-ways-02reference8320,834help/build-two-ways/examples/maintain/adjust-spacing.md … help/build-two-ways/examples/plan/inventory-from-the-console.md
H-help-build-two-ways-03reference8430,664help/build-two-ways/examples/plan/inventory-page-types.md … help/build-two-ways/your-own-design-extension.md
H-help-php-developers-01reference2823,394help/php-developers/a-php-development-checkout.md … help/php-developers/php-developer-faq.md
H-help-php-developers-02reference2821,569help/php-developers/php-developer-reading-path.md … help/php-developers/writing-migrations-in-php.md
H-help-cms-developers-01reference2523,859help/cms-developers/accessibility.md … help/cms-developers/headless-delivery.md
H-help-cms-developers-02reference2623,026help/cms-developers/images-and-image-aliases.md … help/cms-developers/workflows-and-triggers.md
H-help-dxp-developersreference5227,610help/dxp-developers/application-cache-and-redis.md … help/dxp-developers/what-the-dxp-ships-and-what-it-does-not.md
H-help-software-engineers-01reference2619,211help/software-engineers/api-design-rest-ezjscore-headless.md … help/software-engineers/http-security-csp-and-proxies.md
H-help-software-engineers-02reference2621,759help/software-engineers/i18n-and-right-to-left.md … help/software-engineers/writing-portable-sql.md
H-help-web-framework-developers-01reference2718,466help/web-framework-developers/authentication-and-sessions.md … help/web-framework-developers/migrations-and-dba-schema-files.md
H-help-web-framework-developers-02reference2819,394help/web-framework-developers/mixing-exponential-and-a-framework.md … help/web-framework-developers/your-first-module-step-by-step.md
H-help-mobile-app-developers-01reference2715,938help/mobile-app-developers/auth/README.md … help/mobile-app-developers/media-and-images/images-in-rest-answers.md
H-help-mobile-app-developers-02reference2817,528help/mobile-app-developers/mobile-app-developers-faq.md … help/mobile-app-developers/which-api-for-your-app.md
H-help-database-administrators-01reference2419,502help/database-administrators/applying-the-6-0-15-database-update.md … help/database-administrators/mysql-read-replicas.md
H-help-database-administrators-02reference2522,034help/database-administrators/oracle-connections-and-tuning.md … help/database-administrators/upgrades-and-sql-update-files.md
H-help-ai-agents-01reference2416,131help/ai-agents/agentic-workflows/README.md … help/ai-agents/expai/chains-and-queued-work.md
H-help-ai-agents-02reference2418,470help/ai-agents/expai/configuring-a-provider.md … help/ai-agents/which-path-fits-your-task.md
H-help-bundlers-01reference2719,462help/bundlers/adding-and-removing-extensions.md … help/bundlers/hosting-panel-installers.md
H-help-bundlers-02reference2820,538help/bundlers/integrity-checks.md … help/bundlers/your-own-package-server.md
H-help-integrators-01reference2821,732help/integrators/ai-job-queue-and-mcp.md … help/integrators/interface-specification-template.md
H-help-integrators-02reference2924,168help/integrators/login-handlers-ldap-and-textfile.md … help/integrators/writing-an-import-script.md
H-help-sqli-importreference66,974help/sqli-import/README.md … help/sqli-import/upgrading-from-1x.md
H-specifications-01reference1417,988specifications/6.0/README.md … specifications/6.0/help-standards.md
H-specifications-02reference1424,377specifications/6.0/help-style-guide.md … specifications/6.0/platform-package-map.md
H-specifications-03reference1422,670specifications/6.0/platform-sqlite-installer.md … specifications/6.0/xrowextract.md
H-standards-01reference1834,552standards/README.md … standards/patterns/area-extension-bcgooglesitemaps.md
H-standards-02reference1821,769standards/patterns/area-extension-bcwebsitestatistics.md … standards/patterns/area-extension-explayouts-content-browser.md
H-standards-03reference1915,548standards/patterns/area-extension-explayouts-core.md … standards/patterns/area-extension-ezautosave.md
H-standards-04reference1810,141standards/patterns/area-extension-ezdemo.md … standards/patterns/area-extension-ezprestapiprovider.md
H-standards-05reference1910,278standards/patterns/area-extension-ezssp.md … standards/patterns/area-extension-sevenx-themes-super.md
H-standards-06reference1821,979standards/patterns/area-extension-sqliimport.md … standards/patterns/area-kernel-classes-datatable.md
H-standards-07reference1910,021standards/patterns/area-kernel-classes-datatypes.md … standards/patterns/area-kernel-classes-secrets.md
H-standards-08reference1823,028standards/patterns/area-kernel-classes-shopaccounthandlers.md … standards/patterns/area-kernel-private-classes-httpcache.md
H-standards-09reference1921,656standards/patterns/area-kernel-private-classes-requestrules.md … standards/patterns/area-lib-eztemplate.md
H-standards-10reference1890,563standards/patterns/area-lib-ezutils.md … standards/patterns/module-view.md
H-standards-11reference1957,198standards/patterns/observer.md … standards/web-platform.md
H-bc-01reference1034,139bc/5.90/README.md … bc/6.0/SUBITEMS_MENU_MORE_ACTIONS_MENU_EXPANSION_HIDE_UNHIDE.md
H-bc-02reference1172,739bc/6.0/admin4-styling.md … bc/6.0/bookmarks-of-system-pages.md
H-bc-03reference1029,067bc/6.0/cache-console.md … bc/6.0/debug-bar.md
H-bc-04reference1116,158bc/6.0/demo-mode.md … bc/6.0/ezpsessionhandlerdb-php8-bugfix-and-tests.md
H-bc-05reference1027,094bc/6.0/file-modes.md … bc/6.0/ini-save-file-permissions.md
H-bc-06reference1114,484bc/6.0/installer-crontab.md … bc/6.0/love/L01-callers.md
H-bc-07reference1118,567bc/6.0/love/MIGRATION.md … bc/6.0/middle-out-compression.md
H-bc-08reference1014,107bc/6.0/multi-node-edit.md … bc/6.0/passkeys-and-verify-its-you.md
H-bc-09reference1120,963bc/6.0/password-change-at-next-sign-in.md … bc/6.0/rad-extension-points.md
H-bc-10reference1026,591bc/6.0/rad-extension-surface.md … bc/6.0/site-packages-no-extension-packages.md
H-bc-11reference1130,390bc/6.0/soap-entry-script-index-soap.md … bc/6.0/ui-switch-design.md
H-bc-12reference1128,256bc/6.0/ui-switch.md … bc/6.0/yui-removal.md
H-history-01reference239,704history/2023/2023-12.md … history/2025/2025-09.md
H-history-02reference2442,499history/2025/2025-10.md … history/ecosystem/adminneo.md
H-history-03reference2420,834history/ecosystem/cjw-exponential-platform-nexus.md … history/ecosystem/ezplatform-query-fieldtype.md
H-history-04reference2411,147history/ecosystem/ezplatform-richtext.md … history/ecosystem/months/2021-10.md
H-history-05reference249,108history/ecosystem/months/2021-11.md … history/ecosystem/months/2024-10.md
H-history-06reference2419,259history/ecosystem/months/2024-11.md … history/ecosystem/oss-skeleton.md
H-history-07reference2420,764history/ecosystem/oss.md … history/extensions/ezjscore.md
H-history-08reference2418,075history/extensions/ezmbpaex.md … history/extensions/months/2024-08.md
H-history-09reference2424,372history/extensions/months/2024-09.md … history/extensions/sevenx_valkey_cache.md
H-history-10reference2473,419history/extensions/swark.md … history/ledger/exp_enhanced_link.md
H-history-11reference2479,951history/ledger/explayouts_ui.md … history/ledger/ezoe.md
H-history-12reference247,378history/ledger/ezpaypal.md … history/ledger/eztags.md
H-history-13reference2433,737history/ledger/ezupdate.md … history/ledger/recaptcha.md
H-history-14reference2440,503history/ledger/sevenx-recipes.md … history/velocity/installers-and-packages.md
H-examplesreference2724,802examples/README.md … examples/web-servers/velocity.md
X01tables1,139 entries26,009descriptions/01-command-accesscheck.json … descriptions/05-ini-settings-content-ini.json
X02tables598 entries26,051descriptions/06-ini-settings-debugbar-ini.json … descriptions/08-ini-settings-package-ini.json
X03tables690 entries29,504descriptions/09-ini-settings-site-ini.json … descriptions/12-shell-checkcalltimeref.json
X04tables1,373 entries28,744descriptions/13-command-exptemplateconvert.json … descriptions/37-help-left-menu-2026-11-04.json
X05tables495 entries6,925descriptions/38-help-examples-catch-up-2026-11-05.json … strings.json
The 11 parts of the administration catalogue
PartStringsWordsContexts (first … last)
A011,96612,338contentstructuremenu/show_content_structure … design/admin/error/shop
A021,92211,372design/admin/ezinfo/about … design/admin/pdf/edit
A031,93912,857design/admin/pdf/list … design/admin/setup/extensions
A041,97220,876design/admin/setup/info … design/admin/setup/rad/override
A051,99814,899design/admin/setup/rad/settings … design/admin/visual/templateview
A061,9939,020design/admin/visual/toolbar … design/standard/section
A071,92913,688design/standard/setup … kernel/collaboration
A081,83913,074kernel/content … kernel/contentfinder
A091,94810,348design/admin/audit … design/admin/mailpreferences
A101,92813,144design/standard/mailpreferences … kernel/user/security/mail
A111,4218,798design/admin/graphql … design/admin/class/datatype

Languages without a translation

The languages of the shipped locales that the administration shows in English, the ones being translated on a branch, and languages of five million speakers or more that have no locale yet (the code is a proposal). Sorted by speakers per point of difficulty.

LanguageCodeSpeakers (millions)ScriptDirectionDifficultyState
Haitian Creolehat-HT13LatnLTR2new locale, wave #128
Saraikiskr-PK26ArabRTL5new locale, wave #140
Tswanatsn-ZA14LatnLTR3new locale, wave #152
Dyuladyu-CI12LatnLTR3new locale, wave #164
Chichewanya-MW15LatnLTR4new locale, wave #176
Northern Sothonso-ZA14LatnLTR4new locale, wave #188
Sesothosot-ZA14LatnLTR4new locale, wave #200
Moorémos-BF10LatnLTR3new locale, wave #212
South Azerbaijaniazb-IR15ArabRTL5new locale, wave #224
Kanurikau-NG10LatnLTR4new locale, wave #236
Makhuwavmw-MZ9LatnLTR4new locale, wave #248
Kongokon-CD7LatnLTR4new locale, wave #260
Luhyaluy-KE7LatnLTR4new locale, wave #272
Tsongatso-ZA7LatnLTR4new locale, wave #284
Umbunduumb-AO7LatnLTR4new locale, wave #296
Dholuoluo-KE5LatnLTR3new locale, wave #308
Sangosag-CF5LatnLTR3new locale, wave #320
Balochibal-PK8ArabRTL5new locale, wave #332
Kalenjinkln-KE6LatnLTR4new locale, wave #344
Luba-Kasailua-CD6LatnLTR4new locale, wave #356
Sukumasuk-TZ5LatnLTR4new locale, wave #368
ale-USale-US–LatnLTR3wave #380
arn-CLarn-CL–LatnLTR3wave #391
aym-BOaym-BO–LatnLTR3wave #402
chr-USchr-US–LatnLTR3wave #413
cre-CAcre-CA–LatnLTR3wave #424
ems-USems-US–LatnLTR3wave #435
esu-USesu-US–LatnLTR3wave #446
gwi-USgwi-US–LatnLTR3wave #457
hai-UShai-US–LatnLTR3wave #468
iku-CAiku-CA–LatnLTR3wave #479
ipk-USipk-US–LatnLTR3wave #490
lkt-USlkt-US–LatnLTR3wave #501
moh-CAmoh-CA–LatnLTR3wave #512
nah-MXnah-MX–LatnLTR3wave #523
nav-USnav-US–LatnLTR3wave #534
oji-CAoji-CA–LatnLTR3wave #545
quc-GTquc-GT–LatnLTR3wave #556
tli-UStli-US–LatnLTR3wave #567
tsi-UStsi-US–LatnLTR3wave #578
yua-MXyua-MX–LatnLTR3wave #589

The queue: the first 60 waves

PhaseWaves
1. Catalogues of the priority group1
2. German: daily-use help0
3. Daily-use help of the priority group126
4. New translations472
5. Extensions of the other languages1
6. Daily-use help of the other languages2,628
7. Rest of the help of the priority group1,407
8. Rest of the help of the other languages29,346
#WaveLanguageWork setSize (left)DifficultyPrerequisites
1ger-DE/EGermanShipped extensions137 of 567 strings2GUIDE.md
2ara-SA/SArabicSet up the helpsmall4GUIDE.md, RTL, PDF font Arab
3tur-TR/STurkishSet up the helpsmall2GUIDE.md
4ukr-UA/SUkrainianSet up the helpsmall3GUIDE.md
5rus-RU/SRussianSet up the helpsmall3GUIDE.md
6fas-IR/SPersianSet up the helpsmall4GUIDE.md, RTL, PDF font Arab
7pus-AF/SPashtoSet up the helpsmall5GUIDE.md, RTL, PDF font Arab
8kur-TR/SKurdish (Kurmanji)Set up the helpsmall3GUIDE.md
9ara-SA/H-help-01ArabicHelp H-help-0114 pages, 33,869 words4GUIDE.md, RTL, PDF font Arab, waves S and administration
10tur-TR/H-help-01TurkishHelp H-help-0114 pages, 33,869 words2GUIDE.md, waves S and administration
11ukr-UA/H-help-01UkrainianHelp H-help-0114 pages, 33,869 words3GUIDE.md, waves S and administration
12rus-RU/H-help-01RussianHelp H-help-0114 pages, 33,869 words3GUIDE.md, waves S and administration
13fas-IR/H-help-01PersianHelp H-help-0114 pages, 33,869 words4GUIDE.md, RTL, PDF font Arab, waves S and administration
14pus-AF/H-help-01PashtoHelp H-help-0114 pages, 33,869 words5GUIDE.md, RTL, PDF font Arab, waves S and administration
15kur-TR/H-help-01Kurdish (Kurmanji)Help H-help-0114 pages, 33,869 words3GUIDE.md, waves S and administration
16ara-SA/H-help-02ArabicHelp H-help-0214 pages, 17,497 words4GUIDE.md, RTL, PDF font Arab, waves S and administration
17tur-TR/H-help-02TurkishHelp H-help-0214 pages, 17,497 words2GUIDE.md, waves S and administration
18ukr-UA/H-help-02UkrainianHelp H-help-0214 pages, 17,497 words3GUIDE.md, waves S and administration
19rus-RU/H-help-02RussianHelp H-help-0214 pages, 17,497 words3GUIDE.md, waves S and administration
20fas-IR/H-help-02PersianHelp H-help-0214 pages, 17,497 words4GUIDE.md, RTL, PDF font Arab, waves S and administration
21pus-AF/H-help-02PashtoHelp H-help-0214 pages, 17,497 words5GUIDE.md, RTL, PDF font Arab, waves S and administration
22kur-TR/H-help-02Kurdish (Kurmanji)Help H-help-0214 pages, 17,497 words3GUIDE.md, waves S and administration
23ara-SA/H-help-03ArabicHelp H-help-0314 pages, 35,462 words4GUIDE.md, RTL, PDF font Arab, waves S and administration
24tur-TR/H-help-03TurkishHelp H-help-0314 pages, 35,462 words2GUIDE.md, waves S and administration
25ukr-UA/H-help-03UkrainianHelp H-help-0314 pages, 35,462 words3GUIDE.md, waves S and administration
26rus-RU/H-help-03RussianHelp H-help-0314 pages, 35,462 words3GUIDE.md, waves S and administration
27fas-IR/H-help-03PersianHelp H-help-0314 pages, 35,462 words4GUIDE.md, RTL, PDF font Arab, waves S and administration
28pus-AF/H-help-03PashtoHelp H-help-0314 pages, 35,462 words5GUIDE.md, RTL, PDF font Arab, waves S and administration
29kur-TR/H-help-03Kurdish (Kurmanji)Help H-help-0314 pages, 35,462 words3GUIDE.md, waves S and administration
30ara-SA/H-help-manual-01ArabicHelp H-help-manual-0144 pages, 17,659 words4GUIDE.md, RTL, PDF font Arab, waves S and administration
31tur-TR/H-help-manual-01TurkishHelp H-help-manual-0144 pages, 17,659 words2GUIDE.md, waves S and administration
32ukr-UA/H-help-manual-01UkrainianHelp H-help-manual-0144 pages, 17,659 words3GUIDE.md, waves S and administration
33rus-RU/H-help-manual-01RussianHelp H-help-manual-0144 pages, 17,659 words3GUIDE.md, waves S and administration
34fas-IR/H-help-manual-01PersianHelp H-help-manual-0144 pages, 17,659 words4GUIDE.md, RTL, PDF font Arab, waves S and administration
35pus-AF/H-help-manual-01PashtoHelp H-help-manual-0144 pages, 17,659 words5GUIDE.md, RTL, PDF font Arab, waves S and administration
36kur-TR/H-help-manual-01Kurdish (Kurmanji)Help H-help-manual-0144 pages, 17,659 words3GUIDE.md, waves S and administration
37ara-SA/H-help-manual-02ArabicHelp H-help-manual-0244 pages, 18,751 words4GUIDE.md, RTL, PDF font Arab, waves S and administration
38tur-TR/H-help-manual-02TurkishHelp H-help-manual-0244 pages, 18,751 words2GUIDE.md, waves S and administration
39ukr-UA/H-help-manual-02UkrainianHelp H-help-manual-0244 pages, 18,751 words3GUIDE.md, waves S and administration
40rus-RU/H-help-manual-02RussianHelp H-help-manual-0244 pages, 18,751 words3GUIDE.md, waves S and administration
41fas-IR/H-help-manual-02PersianHelp H-help-manual-0244 pages, 18,751 words4GUIDE.md, RTL, PDF font Arab, waves S and administration
42pus-AF/H-help-manual-02PashtoHelp H-help-manual-0244 pages, 18,751 words5GUIDE.md, RTL, PDF font Arab, waves S and administration
43kur-TR/H-help-manual-02Kurdish (Kurmanji)Help H-help-manual-0244 pages, 18,751 words3GUIDE.md, waves S and administration
44ara-SA/H-help-non-technical-peopleArabicHelp H-help-non-technical-people48 pages, 28,376 words4GUIDE.md, RTL, PDF font Arab, waves S and administration
45tur-TR/H-help-non-technical-peopleTurkishHelp H-help-non-technical-people48 pages, 28,376 words2GUIDE.md, waves S and administration
46ukr-UA/H-help-non-technical-peopleUkrainianHelp H-help-non-technical-people48 pages, 28,376 words3GUIDE.md, waves S and administration
47rus-RU/H-help-non-technical-peopleRussianHelp H-help-non-technical-people48 pages, 28,376 words3GUIDE.md, waves S and administration
48fas-IR/H-help-non-technical-peoplePersianHelp H-help-non-technical-people48 pages, 28,376 words4GUIDE.md, RTL, PDF font Arab, waves S and administration
49pus-AF/H-help-non-technical-peoplePashtoHelp H-help-non-technical-people48 pages, 28,376 words5GUIDE.md, RTL, PDF font Arab, waves S and administration
50kur-TR/H-help-non-technical-peopleKurdish (Kurmanji)Help H-help-non-technical-people48 pages, 28,376 words3GUIDE.md, waves S and administration
51ara-SA/H-guides-01ArabicHelp H-guides-0113 pages, 31,880 words4GUIDE.md, RTL, PDF font Arab, waves S and administration
52tur-TR/H-guides-01TurkishHelp H-guides-0113 pages, 31,880 words2GUIDE.md, waves S and administration
53ukr-UA/H-guides-01UkrainianHelp H-guides-0113 pages, 31,880 words3GUIDE.md, waves S and administration
54rus-RU/H-guides-01RussianHelp H-guides-0113 pages, 31,880 words3GUIDE.md, waves S and administration
55fas-IR/H-guides-01PersianHelp H-guides-0113 pages, 31,880 words4GUIDE.md, RTL, PDF font Arab, waves S and administration
56pus-AF/H-guides-01PashtoHelp H-guides-0113 pages, 31,880 words5GUIDE.md, RTL, PDF font Arab, waves S and administration
57kur-TR/H-guides-01Kurdish (Kurmanji)Help H-guides-0113 pages, 31,880 words3GUIDE.md, waves S and administration
58ara-SA/H-guides-02ArabicHelp H-guides-0214 pages, 31,047 words4GUIDE.md, RTL, PDF font Arab, waves S and administration
59tur-TR/H-guides-02TurkishHelp H-guides-0214 pages, 31,047 words2GUIDE.md, waves S and administration
60ukr-UA/H-guides-02UkrainianHelp H-guides-0214 pages, 31,047 words3GUIDE.md, waves S and administration

The whole queue and the pages of a wave: ./console exp:i18n waves --list, ./console exp:i18n waves --wave=<wave>.

Made by ./console exp:i18n waves; ./console exp:i18n waves --check and the test expI18nTranslationWavesTest fail when a percentage changed or a size is more than 3 % off.

What the waves are

A work set is a piece of the product's text that is translated as a whole:

Work setWhat it isSize of one wave
A01 … A10A part of the administration catalogue share/translations/<code>/translation.ts: its contexts in their order, at most 2,000 stringsup to 2,000 strings
EThe catalogues of the extensions the kernel ships (extension/<name>/translations/<code>/translation.ts)a few hundred strings
E1 … E6The catalogues of the other extensions of an installation, in groups (see below)up to 1,900 strings
LA new locale (share/locale/<code>.ini), or a catalogue derived from a complete one (Dari, North Korean)one file, or one copy and its glossary
SThe setup of the help in a language: its directory below doc/, its settings, its direction and fontsa few settings
H-…A part of the help: one section of doc/eng-us/, cut into parts of at most 100 pages and about 30,000 wordsup to 100 pages
X01 …A part of the tables from which the reference examples are generated (doc/<language>/.examples/)up to 30,000 words

A wave is a work set for one language, named <locale>/<work set>: ara-SA/H-help-manual-01 is the first part of the user manual in Arabic. The command shows what a wave covers and what of it is done:

./console exp:i18n waves --wave=ara-SA/H-help-manual-01    # the pages, + done, - open
./console exp:i18n waves --wave=A03                         # the contexts of part A03
./console exp:i18n waves --list                             # the whole queue

The help in tiers. The sections of the help are grouped by who needs them every day:

  • Daily use: the pages of the help center (help/*.md: getting started, signing in, editing content, media, searching, shortcuts), the user manual (help/manual/), the plain-language guides (help/non-technical-people/), the administrator's how-tos (guides/) and the two books of learning (help/book-learning/, help/book-building-a-site/). These come first in every language.
  • Product and audience guides: installation, the feature descriptions, and the guides for each audience of the help center (government, businesses, trainers, designers, hosting and the others).
  • Developer reference: extension development, the template language and operators, backwards compatibility, standards, specifications, history and the hand-written examples.
  • Tables of the generated examples: the more than two thousand reference pages are generated from the code (exp:help:examples); a language translates their tables, not the pages (see the examples).

The order of the waves

The queue is computed, not chosen by hand. It runs in eight phases; within a phase a language with more speakers per point of difficulty comes first:

  1. The catalogues of the priority group below 100 %: the administration parts and the shipped extensions of German, Arabic, Turkish, Ukrainian, Russian, Persian, Pashto and Kurdish (Kurmanji), and the Dari catalogue (fas-AF, see derived catalogues).
  2. German: the daily-use help that is not translated yet (German has nearly all of the help).
  3. The daily-use help of the priority group: first the setup of each language's help (S), then part after part, one language after the other: every language gets the getting-started pages before any language gets the manual. The order is Arabic (which serves the Syrian children too), Turkish, Ukrainian, Russian, Persian, Pashto, Kurdish.
  4. New administration translations: the review of the derived catalogues, North Korean, then every language without a translation, the languages of five million speakers or more without a locale among them (their locale first, wave L). The languages being translated on a branch wait until it is merged.
  5. The shipped extensions of every other translation below 100 %.
  6. The daily-use help of every other translation, in the same way as phase 3.
  7. The rest of the help of the priority group: guides, reference and tables, German first.
  8. The rest of the help of every other translation.

The priority group is the most common home languages of refugee children in Hamburg: German, English, Arabic (Syrian Arabic reads Modern Standard Arabic, ara-SA), Turkish, Ukrainian, Russian, Persian (Farsi fas-IR, Dari fas-AF), Pashto and Kurdish (Kurmanji, kur-TR). Their administration is complete; what they lack is the help and some extensions, so their help comes before the new languages.

Before a wave: the prerequisites

Read these before the first wave of a language, and again when a wave touches something new:

  • share/translations/TRANSLATING.md: the rules every language shares (placeholders, markup, whitespace, what is not translated, words that need their context, the forms of the interface).
  • The language's GUIDE.md next to its catalogue (share/translations/<code>/GUIDE.md): register, form of address, script and typography, and the glossary, which binds the kernel, every extension and the help. A new language writes its GUIDE.md in its first wave (A01), before the first string; a term changes in the guide first. The help uses the same glossary as the administration, so a button is named in a page as it is on screen.
  • Right to left (Arabic, Persian, Pashto, Urdu, Hebrew, Yiddish, Sindhi, Uyghur, Sorani, Dhivehi, Syriac, N’Ko): the locale has TextDirection=rtl, and the help shows a language right to left when its code is in expHelpLanguage::RTL_LANGUAGES (check it in wave S; Syriac and N’Ko are not listed yet). See Right-to-left languages.
  • Fonts: the administration uses the reader's system fonts; the help's PDF export embeds the font of exphelp.ini [PdfSettings] FontFiles[] (DejaVu Sans), which draws Latin, Cyrillic, Greek, Armenian, Georgian and Hebrew. For any other script, wave S adds a font that has it (a Noto font) before the first page is exported; scripts with complex shaping (Arabic, the Indic scripts, Thai, Khmer, Burmese, Tibetan) must be checked in a printed page, not only on screen. See Scripts, fonts and line breaking.
  • The locale: a language needs its share/locale/<code>.ini before its catalogue can be chosen (wave L, see Adding a locale).

How each kind of wave is done

Every wave is one branch with one commit (or a few), named after the wave (i18n-wave-ara-SA-H-help-manual-01), so that two translators do not take the same wave: look at the open branches first. Start from a current main.

Administration part (A01 to A10)

  1. ./console exp:i18n waves --wave=A03 lists the contexts of the part.
  2. A new language: create share/translations/<code>/ from share/translations/untranslated/translation.ts (change the language attribute of <TS>), write GUIDE.md in A01. An existing one: refresh it with bin/linux/ezlupdate <code> (section 8 of the languages page).
  3. Translate every message of the part's contexts: text in <translation>, type="unfinished" removed. Keep each <source> exactly as it is, byte for byte (see traps).
  4. Measure: php bin/php/ezchecktranslation.php <code> --allow-root-user, and ./console exp:i18n waves --check names the part when its percentage changed.
  5. A language that reaches 100 % in every part joins the list of tests/tests/lib/ezi18n/expTranslationQualityTest.php and the settings of a new translation (section 8).

Shipped extensions (E)

The catalogues of ezoe, ezjscore and expimageeditor (the extensions with a catalogue in the kernel's manifest). A missing catalogue is created from the extension's translations/untranslated/translation.ts; then as above, with the extension's own context names. ezoe and ezjscore are in the quality test too.

The extensions of an installation (E1 to E6)

The other extensions are released from their own repositories, so their catalogues are measured on an installation, not here: ./console exp:i18n fallbacks --locale=<code> lists each extension's coverage. On the reference installation (38 extensions with catalogues, 9,060 strings, measured on 26 October 2026) Croatian, Czech, Danish, Dutch, Italian, Norwegian, Polish, Portuguese (Brazil), Swedish and Turkish had 98 % of them, Spanish and Hebrew 96 %, German, Mexican Spanish, Latin and Klingon 94 %, every other translation between 28 and 35 %, Yiddish 5 %. The groups, done in this order after a language's daily-use help:

GroupExtensionsStrings
E1 editingezoe, exp_oe_tiptap, expimageeditor, eztags, ezmultiupload, ezautosave, ezwt, expui, ezownerchange, expchangeclass, enhancedezbinaryfile, enhancedselection2, ezstarrating, ezgmaplocation, birthday, recaptcha, powercontent, ngclasslist, exp_enhanced_link, ezjscore1,628
E2 layoutsexplayouts, explayouts_ui, explayouts_ui_api, explayouts_content_browser_ui1,177
E3 administration toolsezupdate, git_manager, sevenx_authentication_2fa, expqueue, xrowmetadata, bccie, ezodf, sevenx_dse, bcwebsitestatistics1,294
E4 site designsezwebin, sevenx_themes_media, sevenx_themes_simple1,434
E5 newslettercjw_newsletter1,822
E6 data exportxrowextract1,705

Each group is a commit in each extension's repository and a new release of that extension, with its version raised as every extension release does.

New locale (L)

A language without share/locale/<code>.ini gets it first, as Adding a locale describes: generated from CLDR where CLDR has the language, else written by hand and checked by a speaker (most of the African languages and Haitian Creole and Guarani have no CLDR data in the generator's ICU, see Common languages still missing). Its check, expLocaleFilesTest, must pass. The code in the table Languages without a translation is a proposal: take the ISO 639-2 code the other locales use and the country with the most readers.

Derived catalogues: Dari and North Korean

Two languages are close enough to a complete catalogue that the first wave copies it and changes only what differs. Wave L makes the catalogue usable at once; the review waves (A01 to A10, marked "review") read it part by part against the glossary.

  • Dari (fas-AF, the Persian of Afghanistan): the locale exists and falls back to Iranian Persian (fas-IR). Wave L copies share/translations/fas-IR/ to fas-AF/, writes in its GUIDE.md the terms where Dari differs (vocabulary, the names of the solar months used in Afghanistan, the name of the language, دری), applies them, and removes the fallback line of fas-AF from settings/i18n.ini. A reader from Afghanistan reviews it.
  • North Korean (kor-KP, Munhwaŏ, the standard of the Democratic People's Republic of Korea): a new locale derived from kor-KR. The differences are systematic, so they belong in the GUIDE.md before any string changes: no initial-sound rule (리용, 련결, 로동 where the South writes 이용, 연결, 노동); different spacing, compounds written together; the interstitial ㅅ not written; loanwords in the northern form or a native word (콤퓨터, 프로그람, 화일, 차림표 for computer, program, file, menu); the name of the language 조선말 and of the country 조선민주주의인민공화국, never the southern names; a different alphabetical order of the letters, which the locale's sorting must follow. The locale file (share/locale/kor-KP.ini, ContentLanguage=ko-KP, the North Korean won) comes from CLDR. A speaker of the northern standard reviews it.

Setting up a help language (S)

  1. Create the directory doc/<locale in lower case>/ (doc/ara-sa/) and add it to exphelp.ini [DocLanguages] Directories[] and Names[]; the name is translated in the kernel/exphelp context of the catalogues. Other locales of the language read it without a Map[] entry (ara-EG reads doc/ara-sa/).
  2. Keep the English file names: a page at the same relative path needs no .paths.json. Translated file names (as German has) are possible but cost every later wave a map entry; in a script other than Latin they are not recommended.
  3. Check the direction (expHelpLanguage::RTL_LANGUAGES) and the PDF font, as in the prerequisites.
  4. The procedure and the settings are in Translated documentation.

Help part (H-…)

  1. ./console exp:i18n waves --wave=<locale>/<part> lists the pages of the part, - for those still open.
  2. Copy each open page from doc/eng-us/ to the same path below the language's directory and translate it: the text, the headings, the link texts and the image descriptions. The front matter keys, code blocks, commands, settings, file names and anchors written in code stay as they are; the summary: is translated. Links keep their targets: a link to a page that is not translated yet shows the English page.
  3. Use the glossary: a button, menu or setting is named in the page as the administration names it in that language.
  4. Commit only the pages of the part: the help shows only pages git tracks.

Tables of the generated examples (X…)

The reference pages are made by php bin/php/exphelpexamples.php from tables in doc/<language>/.examples/ (strings.json and descriptions/*.json). A wave translates the entries of its files: ./console exp:help:examples --language=<directory> --worklist=var/tmp/todo.json writes the open ones, the command then generates the pages, and --check must pass. The method is described in the examples.

The checks after every wave

# the rules of the catalogues (placeholders, markup, whitespace, not empty, not English)
vendor/bin/phpunit --no-coverage tests/tests/lib/ezi18n/expTranslationQualityTest.php
# the finished share of a catalogue
php bin/php/ezchecktranslation.php <code> --allow-root-user
# the links and images of the help, below the part's section
./console exp:help check --below=<section>/
# the generated examples are current
php bin/php/exphelpexamples.php --check --allow-root-user
# this page: the percentages it shows are the measured ones
./console exp:i18n waves --check
# the manifest of the shipped files, before every commit
php bin/php/checkmanifest.php --fix

Then read the result in the running product: the administration with a user preference or a siteaccess Locale=<code> after clearing the translation cache (php bin/php/ezcache.php --clear-tag=i18n --allow-root-user), and the translated pages in the help center in that language. After a wave, run ./console exp:i18n waves and commit the updated page with the wave, so that the queue shows the next one.

Traps

  • A source with a Qt byte element. One source text of the administration catalogue holds an apostrophe stored as <byte value="x19"/> inside <source>. Copy every <source> element unchanged, never retype or "repair" it: the translator finds a message by its exact source, and a changed source is a new, untranslated message.
  • PHP and Python count differently. A Python script that reads <source> with ElementTree's .text stops at that byte element, and one that does not skip type="vanished" or blank translations counts them as done. The figures of this page, of the languages page and of the interface language switch come from the PHP reader (expUISwitchLanguageCatalogue::messageKeys(): context, source and comment; unfinished, obsolete and empty translations not counted; percentages rounded down). When two counts disagree, the PHP one is right.
  • A worktree with a linked vendor directory. In a git worktree whose vendor/ is a symbolic link to another checkout, Composer's autoloader loads that checkout's kernel classes, so the tests test the other code and still pass. Give the worktree its own vendor/composer/ and vendor/autoload.php (copies; the packages may stay links) and confirm that the test run reports tests and assertions, not "No tests executed".
  • The manifest. share/filelist.md5 lists every shipped file with its checksum; the upgrade check reports every file that differs from it. Run php bin/php/checkmanifest.php --fix before each commit, after the last change.
  • Placeholders and markup. %1, %name, <b>, &nbsp; stay exactly; nothing is glued to a placeholder (TRANSLATING.md, rule 1). The quality test catches most of it, not all of it.
  • The translation cache. A changed catalogue shows only after php bin/php/ezcache.php --clear-tag=i18n.
  • Translated file names in the help need an entry in .paths.json; two translators who both add entries merge them with ./console exp:help maps --language=<directory> --fix.
  • The generated part of this page is never edited by hand; ./console exp:i18n waves writes it.

Done: daily use and the goal

  • A wave is done when its work set is 100 % in that language, the checks above pass and the result has been read in the running product.
  • A language is in daily use when its administration, its extensions and its daily-use help are each at least 97 %: what is left is rare enough that a reader does not meet English in a normal working day.
  • The goal is 100 % in every work set, the whole help included.

Speakers and difficulty

The speaker figures are total speakers, first and second language, in millions, rounded, after Ethnologue as Wikipedia's "List of languages by total number of speakers" and the languages' own articles give them (state of 2025). They order the queue; they are not a census, and a better figure is welcome as a change of expI18nTranslationWaves::LANGUAGES.

The difficulty (1 to 5) of a language is 1, plus 1 for a script other than Latin (2 for a script with complex shaping or without spaces between words: the Indic scripts, Thai, Lao, Khmer, Burmese, Tibetan, Ol Chiki), plus 1 for right to left, plus 1 for rich inflection or agglutination, plus 1 or 2 when little software terminology exists in the language, at most 5. The queue orders by speakers per point of difficulty.

Languages that are written in another standard are served by it and get no waves of their own: Swiss German and Bavarian (German), Neapolitan and Sicilian (Italian), the spoken varieties of Arabic (Modern Standard Arabic), Cantonese and Wu (written Chinese), the regional languages of India written in Hindi or Bengali.

Keeping this page current

./console exp:i18n waves measures again and writes the generated part of this page and of its German translation; it keeps the date while nothing changes. This page itself is not counted among the help's pages. ./console exp:i18n waves --check and the test tests/tests/kernel/classes/i18n/expI18nTranslationWavesTest.php (no database) fail when a percentage of a language changed, a language without a translation was added or got one, or a size is more than 3 % away from the measured one, so that a small edit of a help page does not make every other change fail, while the plan cannot go stale.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x