Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion generate.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,9 @@ def get_project_data(
core_change,
change,
built,
translated_name=languages_built.get(language.code, ''),
translated_name=languages_built.get(language.code)
or translated_names._babel_autonym(language.code)
or '',
contribution_link=contribute.get_contrib_link(language.code, repo),
)

Expand Down
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
babel
gitpython
urllib3
potodo
Expand Down
5 changes: 4 additions & 1 deletion tests/test_translated_names.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,13 @@ def test_get_languages(self):
self.assertIn('pl', result)
self.assertIn('zh-cn', result)

self.assertEqual(result.get('en'), None)
self.assertEqual(result.get('pl'), 'polski')
self.assertEqual(result.get('zh-cn'), '简体中文')

def test__babel_autonym(self):
self.assertEqual(translated_names._babel_autonym('en'), 'English')
self.assertEqual(translated_names._babel_autonym('ga'), 'Gaeilge')
Comment thread
StanFromIreland marked this conversation as resolved.
Outdated


if __name__ == '__main__':
unittest.main()
11 changes: 11 additions & 0 deletions translated_names.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,20 @@
import tomllib
from collections.abc import Iterator

from babel import Locale
from babel.core import UnknownLocaleError
from urllib3 import PoolManager


def _babel_autonym(code: str) -> str | None:
Comment thread
StanFromIreland marked this conversation as resolved.
Outdated
"""Get the translated name for a language code with Babel"""
try:
locale = Locale.parse(code.replace('-', '_'))
return locale.get_display_name(locale)
except (UnknownLocaleError, ValueError):
return None


def get_languages(http: PoolManager) -> Iterator[tuple[str, str]]:
Comment thread
StanFromIreland marked this conversation as resolved.
data = http.request(
'GET',
Expand Down
Loading