Py-l18n

Jul 20, 2023

Internationalization for pytz timezones and territories

As you may have noticed, l18n is a contraction of i18n and l10n, namely ‘internationalisation’ and ‘localization’. It basically provides lazy translations for names used for localization purposes e.g. places and timezones.

I started writing l18n when I was looking for translations for the pytz library. Indeed, on a multi-lingual site where users can select the timezone they are in, it’s much better if they can select in their language, as in some cases, the differences with the english name can be significant, hence the place to look for it when it’s sorted in alphabetical order.

And as I am lazy, I thought of a way to - almost - automatically fetch the translations from the CLDR Unicode’s Common Locale Data Repository database.

Integrating function to link timezone to country codes, there was no reason not to try and provide translations also for the latter. In the near future, I - or contributors - may also add currencies or measurement units fetched from the CLDR database …



Checkout these related ports:
  • Zziplib - Library to provide transparent read access to zipped files
  • Zydis - Fast and lightweight x86/x86-64 disassembler library
  • Zycore-c - Support library with platform independent types, macros, etc for Zydis
  • Zthread - Platform-independent object-oriented C++ threading library
  • Zookeeper - Coordination Service for Distributed Applications
  • Zls - Zig LSP implementation + Zig Language Server
  • Zfp - High throughput library for compressed floating-point arrays
  • Zeal - Offline documentation browser
  • Zapcc - C++ caching compiler based on clang
  • Zanata-platform - Web-based translation platform
  • Zanata-cli - Zanata Java command line client
  • Z88dk - Complete Z80/Z180 development kit
  • Z80ex - ZiLOG Z80 CPU emulator library
  • Z80asm - Assembler for the Z80 microprocessor
  • Z80-asm - Z80 assembly code assembler and disassembler