Internasionalisasi (i18n)
Rancang dan kembangkan komponen yang dapat beradaptasi dengan lancar terhadap berbagai bahasa, budaya, dan preferensi regional.
Internasionalisasi (i18n) adalah pelajaran Design Systems & Component Libraries gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Design Systems & Component Libraries, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Design Systems & Component Libraries mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
Intro to Internationalization
Internationalization (i18n) is the process of designing and developing your components and applications so they can be easily adapted to different languages, regional differences, and technical requirements of a target country, region, or culture.
Think of it as preparing your product for the world! It's not just about translation, but about making sure your UI works everywhere.
Understanding Locale
A locale is a set of parameters that defines the user's language, country, and any special variant preferences that should be used to present information.
en-US: English (United States)fr-CA: French (Canada)es-MX: Spanish (Mexico)
These codes help your system know how to format things correctly.
Translating Text with Keys
Instead of hardcoding text directly into your components, you use translation keys. These keys are like placeholders.
For example, instead of "Hello", you might use a key like "greeting.hello". Your application then looks up the actual translated text for that key based on the user's locale.
Code: Dynamic Greetings
Here's a conceptual example of how translation keys work. The getTranslatedString function would fetch the correct text based on the locale from a translation file.
public class Greeter {
public static String getTranslatedString(String key, String locale) {
if (locale.equals("en-US")) {
if (key.equals("greeting.hello")) return "Hello!";
if (key.equals("action.welcome")) return "Welcome!";
} else if (locale.equals("es-MX")) {
if (key.equals("greeting.hello")) return "¡Hola!";
if (key.equals("action.welcome")) return "¡Bienvenido!";
}
return "Translation missing for " + key;
}
public static void main(String[] args) {
String userLocale = "es-MX"; // Imagine this comes from user settings
System.out.println(getTranslatedString("greeting.hello", userLocale));
userLocale = "en-US";
System.out.println(getTranslatedString("action.welcome", userLocale));
}
}Adapting Dates & Times
Dates and times are presented differently around the world. For example, "03/04/2023" means March 4th in the US but April 3rd in many other countries.
Your design system components should use locale-aware formatting utilities to display dates and times correctly for the user's region.
Formatting Numbers & Money
Number formats also vary. The decimal separator can be a dot (.) or a comma (,).
- US:
1,234.56 - Germany:
1.234,56
Currencies need their symbol and correct placement (e.g., $100.00 vs. 100,00 €).
Handling Text Direction
Most languages read from Left-to-Right (LTR). However, languages like Arabic, Hebrew, and Farsi read from Right-to-Left (RTL).
For RTL languages, the entire layout of your components needs to be mirrored. This includes text alignment, icon placement, and the flow of elements.
Cultural Imagery
Sometimes, images, icons, or even videos need to change based on the user's culture or region.
A picture that resonates well in one country might be confusing or even offensive in another. Your design system should support managing and delivering locale-specific assets.
Design Systems for i18n
A design system is key for good i18n because it provides:
- Centralized Translations: All strings managed in one place.
- Adaptable Components: Components designed to handle varying text lengths and RTL layouts.
- Consistent Formatting: Standardized date, time, and number formatting.
This ensures a consistent global experience.
i18n Quick Check
You're building a button component for your design system. Which of these is the BEST practice for displaying the button's text to support internationalization?
i18n Recap
We've explored Internationalization (i18n), understanding that it's more than just translation.
- We learned about locales and how they define regional preferences.
- We saw how to use translation keys for dynamic text.
- We discussed adapting dates, numbers, currencies, and layouts (RTL).
- And finally, how a design system provides a powerful foundation for building globally-ready components.
Keep these principles in mind for truly global products!
Belajar Design Systems & Component Libraries dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 12
- Pelajaran
- 48
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Internasionalisasi (i18n)” gratis?
Ya — teks lengkap “Internasionalisasi (i18n)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Design Systems & Component Libraries, upgrade ke CoddyKit PRO. Kursus Design Systems & Component Libraries mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Internasionalisasi (i18n)”?
Rancang dan kembangkan komponen yang dapat beradaptasi dengan lancar terhadap berbagai bahasa, budaya, dan preferensi regional. Kamu berlatih Design Systems & Component Libraries dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Design Systems & Component Libraries?
Tidak diperlukan pengalaman sebelumnya. Design Systems & Component Libraries di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Internasionalisasi (i18n)” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Design Systems & Component Libraries ini?
Ya. Setiap pelajaran Design Systems & Component Libraries menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Penerapan Tema & Pelabelan Putih
- Internasionalisasi (i18n)
- Pengoptimalan Kinerja
- Membangun Komponen Polimorfik