0Pricing
SwiftUI Academy · درس

توطين السلاسل وString Catalogs

ترجم واجهة المستخدم باستخدام String Catalogs

توطين السلاسل وString Catalogs درس مجاني في SwiftUI Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في SwiftUI Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة SwiftUI Academy 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Why Localize?

Localization translates your app's text so people read it in their own language. It widens your audience around the world. 🌍

Strings Are Already Keys

In SwiftUI, a Text("Hello") literal is automatically treated as a localizable key. You often get translation for free.

Text("Welcome back")

Meet the String Catalog

A modern String Catalog (.xcstrings) gathers every key in one editable table with a column per language.

Adding a Catalog

Add a String Catalog via File, New File, then build once. Xcode auto-collects the strings used across your app.

Adding Languages

In project settings, add a language under Localizations. A new column appears in the catalog, ready for translations.

Interpolating Values

Insert dynamic values right inside Text. Swift turns them into a format key so each language can place them correctly.

Text("Hi, \(name)!")

Giving Translators Context

Add a comment so translators know what a string means. The same word can be a noun or a verb.

Text("Open", comment: "Verb on a button that opens a file")

Handling Plurals

Languages pluralize differently. A String Catalog supports plural variations so "1 item" and "5 items" both read naturally.

Text("^[\(count) item](inflect: true)")

Localizing in Code

Outside a Text view, wrap user-facing strings in String(localized:) so they still get translated.

let msg = String(localized: "Saved")

Don't Hardcode Layout

Translations can be much longer than English. Let views resize instead of using fixed widths so text never gets clipped.

Test with a Pseudolanguage

Run the scheme in a pseudolanguage to expand and accent text. It surfaces clipped labels before real translation begins.

Quick Check

Which file type is the modern, recommended way to manage translations in Xcode?

Recap

You can reach a global audience: Text literals are keys, a String Catalog holds translations, and comments plus plurals keep them accurate. 🌟

الأسئلة الشائعة

هل درس «توطين السلاسل وString Catalogs» مجاني؟

نعم — نص درس «توطين السلاسل وString Catalogs» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة SwiftUI Academy، انتقل إلى CoddyKit PRO. تتضمن دورة SwiftUI Academy 4 دروس في المجموع.

ماذا ستتعلم في «توطين السلاسل وString Catalogs»؟

ترجم واجهة المستخدم باستخدام String Catalogs تتمرن على SwiftUI Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ SwiftUI Academy؟

لا تُشترط خبرة سابقة. SwiftUI Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «توطين السلاسل وString Catalogs»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس SwiftUI Academy هذا؟

نعم. كل درس في SwiftUI Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ‏VoiceOver وتسميات إمكانية الوصول
  2. النوع الديناميكي والخطوط المتدرجة
  3. توطين السلاسل وString Catalogs
  4. التكيف مع الوضع الفاتح والداكن
← العودة إلى SwiftUI Academy