fedora i18n · fedora i18n past, present, future jens petersen flock 2014, prague. about jens...

48
Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague

Upload: others

Post on 11-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18nPast, Present, Future

Jens Petersen

Flock 2014, Prague

Page 2: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

About

● Jens Petersen● Red Hat since 2001● i18n Engineering Team● Born in Denmark● Lived 15 years now in Japan● Fedora Haskell SIG

Page 3: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

FOSS and i18n

Freedom to read and write in one's own native language

Page 4: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen4

OS i18n

● Encodings and Locales

● Fonts

● Input Methods

● Packaging

Page 5: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen5

Internationalization vs Localization

i18n:

● Encodings and locales

● International fonts and complex text rendering

● Input methods for complex text input

● Gettext

● Language tools

l10n:

● Software translation● strings extracted

using gettext, etc

● Documentation translation

● Publican, etc

● Transifex, Zanata, etc

Page 6: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen6

Encodings and default locales

Past

Native charset encodings and locales

iso8859-{1,2,...},

EUC, S_JIS, GB2312,

etc, etc, etc

Rpmbuild still defaults to LANG=C !

Present

Unicode encodingand locales

UTF-8

Note: Fedora console does not use CIJK locales

Page 7: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen7

Installer

Page 8: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen8

Installer language (EL5 era)

Page 9: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen9

Installer keyboard selection (EL5 era)

Page 10: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen10

Installer language (EL6 era)

Page 11: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen11

Installer keyboard selection (EL6 era)

Page 12: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen12

Installer language selection (F20/F21)

Page 13: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen13

Installer keyboard selection (F20/F21)

Page 14: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen14

GDM

Page 15: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen15

GDM (EL5 era)

Page 16: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen16

GDM language (EL5)

Page 17: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen17

GDM (EL6 era)

Page 18: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen18

Current GDM

Page 19: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen19

Gnome-initial-setup

Page 20: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen20

Gnome-initial-setup Input Sources

Page 21: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen21

Gnome-initial-setup IME

Page 22: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen22

Fonts and Rendering

Page 23: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen23

Evolution of fonts and rendering

● Bitmap fonts

xfs

X fontsets

FreeType

● Outline fonts● TrueType, OpenType

Fontconfig

Pango

Harfbuzz

Page 24: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen24

Fonts coverage

Page 25: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen25

Asian Fonts

● Japanese: vlgothic (also IPA)

● Chinese: WQY Zenhei, cjkuni

● Korean: Baekmuk → Nanum

● Indic: Lohit● Rewriting of OpenType tables and rules

● New fonts appearing from Google, etc● Eg Noto, Caladia, Carlito, etc

Page 26: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen26

Fonts-tweak-tool

Page 27: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen27

Input methods

Page 28: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen28

Input methods evolution

XIM → iiimf → scim → ibus → ...

Page 29: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen29

e.g. Japanese input method backend evolution

Canna → anthy → libkkc

Page 30: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen30

ibus under GNOME 2

Page 31: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen31

GNOME 3 ibus integration

Page 32: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen32

Input Methods

● Japanese: ibus-kkc/libkkc

● Chinese: ibus-libpinyin/libpinyin● ibus-chewing, ibus-table, ibus-cangjie● ibus-libzhuyin in development

● Korean: ibus-hangul

● M17n: for Indic and many other languages● Including input without native keyboard

● ibus-typing-booster provides suggestions and basic predictions

Page 33: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen33

Next Generation Input method(for Wayland etc)

Page 34: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Traditional IM architecture

Pinyin engine

Hangul engine

Cangjie engine

Kana Kanji engine

Languagedata

GTK immodule

Panel UI

XIM server

Complexengine

Simpleengine

Custom protocol

SCIM, etc.

Page 35: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

IBus architecture

gnome-shell

ibus-daemon

Pinyin engine

Hangul engine

Cangjie engine

Kana Kanji engine

GTK immodule

D-Bus protocolPanel

Client

Page 36: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Proposed architecture

IM server library

IM clientlibrary

GTK immodule

Kana Kanji engine

IM panellibrary

gnome-shell

Complex engine process

IM backendlibrary

Kana Kanji engine

Simple engine process

Hangul engine

Cangjie engineIM backend

library

CreateEngine, ShowCandidateList,RegisterMenu, ...

Sessionbus

Page 37: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Proposed architecture

IM server library

IM clientlibrary

GTK immodule

Kana Kanji engine

IM panellibrary

gnome-shell

Complex engine process

IM backendlibrary

Kana Kanji engine

Simple engine process

Hangul engine

Cangjie engineIM backend

library

Directly talkwithout daemon

KeyPress, FocusIn, ...

Page 38: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen38

Packaging

Page 39: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen39

Comps

● @fonts

● @input-methods

● Lang-packs

● Language groups → yum-langpacks

● system-config-language

Page 40: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen40

Looking Ahead

Page 41: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen41

Wanted or nice to have

● Subpackaging of glibc locales?● Needed for Cloud, small Server, etc

● Bilingual searching

● Better spellchecking● Eg Hunspell: aa → å, but not oe → ø and ae → æ

● Restricting keyboard layout choices by geometry?

Page 42: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen42

XDG folders i18n

Page 43: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen43

Plans

● Wayland input method integration

● Enhancements to smart input methods

● Revamping localized man-pages and hunspell

● Glibc unicode and locales refreshing

● dnf-langpacks

Page 44: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen44

Fedora i18n sub-project

Page 45: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen45

FAS i18n-team pseudouser

● 255 packages in pkgdb

● i18n-bugs mailing-list for bugzilla mail

Page 46: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen46

Summary of what we do

● Package maintenance and packaging● Fonts● Input methods● Other: yum-langpacks, langtable, comps, etc

● Upstream development● ibus● fontconfig● gettext● Contribute to gnome, glibc, etc

Page 47: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen47

Fedora i18n Communication

● Fedora i18n mailing-list

● Freenode #fedora-i18n IRC channel

● Weekly meeting in #fedora-meeting (APAC time)

● http://fedoraproject.org/wiki/I18N

● Welcome more Fedora community collaboration and interaction

Page 48: Fedora i18n · Fedora i18n Past, Present, Future Jens Petersen Flock 2014, Prague. About Jens Petersen Red Hat since 2001 i18n Engineering Team Born in Denmark Lived 15 years now

Fedora i18n | Jens Petersen48

Thank you

Fedora i18n Project

http://fedoraproject.org/wiki/I18N

Contact me:

[email protected]

juhp on freenode, github, twitter