Your career: say “Programming languages” where the product means programming languages, so “Languages” stays the spoken ones #690
Labels
No labels
accessibility
authentication
breaking change
bug
documentation
enhancement
interface
internationalisation
observability
performance
security
tier
1
tier
2
tier
3
tier/4
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo#690
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two different things are called “Languages” in the career record: the section for spoken languages, and the example heading the product gives for a group of skills. The maintainer's list (under Your career): "Prefer “Programming languages” over just “Languages”, might create some confusion with spoken/written languages."
What exists today
Languages, is used at seven places: the career page's section and sidebar (src/postulo/resume/registry.py:77-78), the CV heading (src/postulo/documents/rendering.py:48), the candidate file's review (src/postulo/resume/candidate.py:272,src/postulo/resume/views_candidate.py:43), the Europass review (src/postulo/resume/views.py:506,src/postulo/templates/resume/europass_import.html:99) and the preview (src/postulo/templates/resume/preview.html:100). The model says "A spoken language" (src/postulo/resume/models.py:251) and the wiki “Spoken languages, rated on the CEFR scale” (Your-career-record.md:18).src/postulo/resume/registry.py:53, drawn attemplates/resume/overview.html:60-61); the same example is in theSkillGroupdocstring (resume/models.py:125), two code comments (resume/candidate.py:255,resume/importing.py:266) and the wiki (Your-career-record.md:16). The demo data creates a skill group named “Languages” (Python, Go, SQL, TypeScript) and, on the same CVs, three spoken languages (src/postulo/core/management/commands/seed_demo.py:452,:483-487,:736), so a demo CV prints a heading “Languages” (spoken,rendering.py:48) above a skills line “Languages: Python, Go, SQL, TypeScript”.CharField(100),resume/models.py:127), not a catalogue string. Nothing in the product prints “Programming languages” today; no such msgid exists.tests/test_candidate_file.py:157,587,847,1828,tests/test_export.py:47,238,tests/test_documents.py:167,tests/test_document_formats.py:115,188,tests/test_career_ordering.py:87,tests/test_career_languages.py:411,tests/security/test_candidate_file.py:309,tests/e2e/test_candidate_file.py:94,tests/e2e/test_accessibility.py:851). They model arbitrary names; none asserts the help text.core/server_forms.py:169,templates/server/defaults.html:65), “Languages this entry speaks” (templates/resume/translations.html:36), the picker classes incore/language_field.py.Languages(68 catalogues, 39 translated) is untouched by the recommended reading below.Checked against
mainatf09b6010b.Proposal
SkillGroupdocstring, the two comments and the wiki sentence (Your-career-record.md:16) follow.seed_demonames the group “Programming languages” (both uses), so a demo CV reads “Languages” (spoken) above “Programming languages: Python, Go, SQL, TypeScript”.tests/test_document_formats.py:115,188asserts a rendered line); leave the rest.Decisions
SECTION_LABELS["languageskill"]follows.documents/rendering.py:346-347).Needed by
Nothing. #705 ("Kind" or "Type") is the other string sweep of this list; the two should not edit the same catalogue lines in one bunch.
Done when
src/, the wiki and the docs, recorded in the commit message; no test can know the sense of a word).manage.py seed_demoproduces a CV reading “Languages” and “Programming languages: Python, Go, SQL, TypeScript”;tests/test_document_formats.pyfollows the demo's wording where it models it.tests/test_candidate_file.pyandtests/test_export.py, which round-trip such a group, still pass.(#N).From the list of improvements of 2026-10-02.