บล็อก Blog Blog Blog المدونة Blog Blog Blog Blog Blog 博客 ブログ 블로그
← บทความทั้งหมด ← All posts ← Semua catatan ← Tất cả bài viết ← جميع المقالات ← Tous les articles ← Alle Beiträge ← Todas las publicaciones ← Tutti gli articoli ← Todas as publicações ← 所有文章 ← すべての投稿 ← 모든 게시물
2026-07-16

การแปลชื่อประเทศ 112 ประเทศให้เป็นภาษาท้องถิ่นโดยไม่ต้องส่งไฟล์แปล Localizing 112 country names without shipping a translation file Menyetempatkan 112 nama negara tanpa menghantar fail terjemahan Bản địa hóa 112 tên quốc gia mà không cần gửi kèm tệp dịch توطين أسماء 112 دولة دون شحن ملف ترجمة Localiser 112 noms de pays sans livrer de fichier de traduction 112 Ländernamen lokalisieren, ohne eine Übersetzungsdatei auszuliefern Localizar 112 nombres de países sin enviar un archivo de traducción Localizzare 112 nomi di paesi senza distribuire un file di traduzione Localizar 112 nomes de países sem distribuir um ficheiro de tradução 无需附带翻译文件即可本地化112个国家名称 翻訳ファイルを同梱せずに112か国の国名をローカライズする 번역 파일 없이 112개 국가 이름을 현지화하기

ส่วนเอกสารที่รองรับของเราแสดงรายชื่อ 112 ประเทศที่เราได้ติดตั้ง trust anchor ของหนังสือเดินทางไว้ เมื่อเราขยายเว็บไซต์ให้รองรับ 13 ภาษา ชื่อประเทศเหล่านั้นกลายเป็นปัญหาขึ้นมาทันที การแปลชื่อ 112 ประเทศด้วยมือเป็นอีกสิบสองภาษาหมายถึงข้อความจำนวนมหาศาลที่ต้องเขียน ตรวจทาน และคอยทำให้ตรงกันอยู่เสมอ Our supported-documents section lists 112 countries whose passport trust anchors we've installed. When we expanded the site to 13 languages, those country names were suddenly a problem: hand-translating 112 names into twelve more languages is a lot of strings to write, review, and keep in sync. Bahagian dokumen yang disokong kami menyenaraikan 112 negara yang trust anchor pasport mereka telah kami pasang. Apabila kami mengembangkan laman ini kepada 13 bahasa, nama-nama negara itu tiba-tiba menjadi masalah: menterjemah 112 nama secara manual ke dalam dua belas bahasa lagi bermakna terlalu banyak rentetan untuk ditulis, disemak, dan dikekalkan selari. Phần tài liệu được hỗ trợ của chúng tôi liệt kê 112 quốc gia mà chúng tôi đã cài đặt trust anchor cho hộ chiếu. Khi mở rộng trang web sang 13 ngôn ngữ, những tên quốc gia đó bỗng trở thành vấn đề: dịch thủ công 112 tên sang mười hai ngôn ngữ nữa là rất nhiều chuỗi ký tự phải viết, rà soát và giữ đồng bộ. يسرد قسم الوثائق المدعومة لدينا 112 دولة قمنا بتثبيت trust anchor لجوازات سفرها. عندما وسّعنا الموقع ليدعم 13 لغة، أصبحت أسماء تلك الدول مشكلة فجأة: ترجمة 112 اسمًا يدويًا إلى اثنتي عشرة لغة إضافية تعني عددًا هائلًا من النصوص يجب كتابتها ومراجعتها وإبقاؤها متزامنة. Notre section des documents pris en charge répertorie 112 pays dont nous avons installé les trust anchors de passeport. Lorsque nous avons étendu le site à 13 langues, ces noms de pays sont soudain devenus un problème : traduire à la main 112 noms dans douze langues de plus représente énormément de chaînes à rédiger, à relire et à maintenir synchronisées. Unser Abschnitt zu unterstützten Dokumenten listet 112 Länder auf, deren Pass-Trust-Anchors wir installiert haben. Als wir die Website auf 13 Sprachen erweiterten, wurden diese Ländernamen plötzlich zum Problem: 112 Namen von Hand in zwölf weitere Sprachen zu übersetzen bedeutet sehr viele Zeichenketten, die geschrieben, geprüft und synchron gehalten werden müssen. Nuestra sección de documentos compatibles enumera 112 países cuyos trust anchors de pasaporte hemos instalado. Cuando ampliamos el sitio a 13 idiomas, esos nombres de países se convirtieron de repente en un problema: traducir a mano 112 nombres a doce idiomas más son muchísimas cadenas que escribir, revisar y mantener sincronizadas. La nostra sezione dei documenti supportati elenca 112 paesi di cui abbiamo installato i trust anchor del passaporto. Quando abbiamo esteso il sito a 13 lingue, quei nomi di paesi sono improvvisamente diventati un problema: tradurre a mano 112 nomi in altre dodici lingue significa moltissime stringhe da scrivere, revisionare e mantenere sincronizzate. A nossa secção de documentos suportados lista 112 países cujos trust anchors de passaporte instalámos. Quando expandimos o site para 13 idiomas, esses nomes de países tornaram-se de repente um problema: traduzir à mão 112 nomes para mais doze idiomas representa imensas cadeias de texto para escrever, rever e manter sincronizadas. 我们的受支持文档部分列出了112个国家,我们已为这些国家安装了护照信任锚(trust anchor)。当我们将网站扩展到13种语言时,这些国家名称突然成了问题:手动将112个名称翻译成另外十二种语言,意味着要编写、审校并保持同步的字符串数量极其庞大。 当社の対応文書セクションには、パスポートのtrust anchorを導入済みの112か国が掲載されています。サイトを13言語に拡張した際、これらの国名が突然問題になりました。112の国名をさらに12言語へ手作業で翻訳するのは、書き起こし、レビューし、同期を保ち続けるべき文字列が膨大になるということです。 저희의 지원 문서 섹션에는 여권 trust anchor를 설치한 112개 국가가 나열되어 있습니다. 사이트를 13개 언어로 확장했을 때 이 국가 이름들이 갑자기 문제가 되었습니다. 112개 이름을 열두 개 언어로 손수 번역하는 것은 작성하고, 검토하고, 동기화를 유지해야 할 문자열이 엄청나게 많다는 뜻입니다.

เราจึงปล่อยให้เบราว์เซอร์ทำแทน อีโมจิธงทุกอันคือตัวอักษร "regional indicator" ของ Unicode สองตัวที่แมปตรงกับรหัสประเทศ ISO 3166-1 — 🇯🇵 คือ J + P ตรงตัว จากรหัสนั้น API Intl.DisplayNames ที่มีมาในตัวจะคืนชื่อประเทศในภาษาใดก็ตามที่หน้าเว็บกำลังตั้งค่าอยู่ So we let the browser do it. Every flag emoji is two Unicode 'regional indicator' letters that map directly to an ISO 3166-1 country code — 🇯🇵 is literally J + P. From that code, the built-in Intl.DisplayNames API returns the country's name in whatever language the page is currently set to. Jadi kami biarkan pelayar yang melakukannya. Setiap emoji bendera ialah dua huruf 'regional indicator' Unicode yang dipetakan terus kepada kod negara ISO 3166-1 — 🇯🇵 secara harfiahnya ialah J + P. Daripada kod itu, API Intl.DisplayNames terbina dalam memulangkan nama negara dalam apa jua bahasa yang ditetapkan pada halaman itu ketika ini. Vì vậy chúng tôi để trình duyệt tự làm việc đó. Mỗi biểu tượng cảm xúc lá cờ là hai ký tự 'regional indicator' của Unicode ánh xạ trực tiếp tới một mã quốc gia ISO 3166-1 — 🇯🇵 đúng nghĩa là J + P. Từ mã đó, API Intl.DisplayNames tích hợp sẵn trả về tên quốc gia bằng bất kỳ ngôn ngữ nào mà trang đang được đặt. لذا تركنا المتصفح يقوم بذلك. كل رمز تعبيري لعلم هو حرفان من نوع 'regional indicator' في Unicode يرتبطان مباشرة برمز دولة وفق ISO 3166-1 — فـ 🇯🇵 هو حرفيًا J + P. انطلاقًا من ذلك الرمز، تعيد واجهة Intl.DisplayNames المدمجة اسم الدولة بأي لغة تكون الصفحة مضبوطة عليها حاليًا. Nous laissons donc le navigateur s'en charger. Chaque emoji de drapeau est composé de deux lettres Unicode « regional indicator » qui correspondent directement à un code pays ISO 3166-1 — 🇯🇵 est littéralement J + P. À partir de ce code, l'API intégrée Intl.DisplayNames renvoie le nom du pays dans la langue à laquelle la page est actuellement réglée. Also überlassen wir das dem Browser. Jedes Flaggen-Emoji besteht aus zwei Unicode-„regional indicator"-Buchstaben, die direkt einem ISO 3166-1-Ländercode entsprechen — 🇯🇵 ist buchstäblich J + P. Aus diesem Code gibt die eingebaute Intl.DisplayNames-API den Ländernamen in der Sprache zurück, auf die die Seite gerade eingestellt ist. Así que dejamos que lo haga el navegador. Cada emoji de bandera son dos letras Unicode 'regional indicator' que corresponden directamente a un código de país ISO 3166-1 — 🇯🇵 es literalmente J + P. A partir de ese código, la API integrada Intl.DisplayNames devuelve el nombre del país en el idioma en el que esté configurada la página en ese momento. Così lasciamo che sia il browser a farlo. Ogni emoji di bandiera è composta da due lettere Unicode 'regional indicator' che corrispondono direttamente a un codice paese ISO 3166-1 — 🇯🇵 è letteralmente J + P. Da quel codice, l'API integrata Intl.DisplayNames restituisce il nome del paese nella lingua a cui la pagina è impostata in quel momento. Por isso deixamos o navegador tratar disso. Cada emoji de bandeira são duas letras Unicode 'regional indicator' que correspondem diretamente a um código de país ISO 3166-1 — 🇯🇵 é literalmente J + P. A partir desse código, a API integrada Intl.DisplayNames devolve o nome do país no idioma em que a página está definida no momento. 于是我们让浏览器来完成这件事。每个国旗表情符号都是两个 Unicode "regional indicator"(区域指示符)字母,直接对应一个 ISO 3166-1 国家代码——🇯🇵 就是字面意义上的 J + P。根据该代码,内置的 Intl.DisplayNames API 会以页面当前设定的任何语言返回该国家的名称。 そこで、この処理はブラウザに任せることにしました。すべての旗の絵文字は Unicode の「regional indicator」文字2つで構成され、ISO 3166-1 の国コードに直接対応します。🇯🇵 は文字どおり J + P です。そのコードから、組み込みの Intl.DisplayNames API が、ページに現在設定されている言語で国名を返します。 그래서 이 일은 브라우저에 맡겼습니다. 모든 국기 이모지는 두 개의 Unicode 'regional indicator' 문자로, ISO 3166-1 국가 코드에 직접 대응합니다 — 🇯🇵 는 문자 그대로 J + P 입니다. 이 코드로부터 내장 Intl.DisplayNames API 가 페이지에 현재 설정된 언어로 국가 이름을 반환합니다.

ผลลัพธ์คือ รายการเดียวกันแสดงเป็น 'Japan / 日本 / اليابان / Japon' โดยไม่ต้องมีไฟล์แปลใดๆ เลย และยังคงถูกต้องทันทีที่ภาษาเปลี่ยน เบราว์เซอร์เป็นเจ้าของคำแปลเหล่านั้น โดยอาศัยข้อมูล CLDR ชุดเดียวกับที่อยู่เบื้องหลังระบบปฏิบัติการส่วนใหญ่ The result: the same list renders as 'Japan / 日本 / اليابان / Japon' with no translation files at all, and it stays correct the instant the language changes. The browser owns the translations, backed by the same CLDR data that sits behind most operating systems. Hasilnya: senarai yang sama dipaparkan sebagai 'Japan / 日本 / اليابان / Japon' tanpa sebarang fail terjemahan langsung, dan ia kekal tepat sebaik sahaja bahasa bertukar. Pelayar yang memiliki terjemahan itu, disokong oleh data CLDR yang sama yang berada di sebalik kebanyakan sistem pengendalian. Kết quả: cùng một danh sách hiển thị thành 'Japan / 日本 / اليابان / Japon' mà không cần bất kỳ tệp dịch nào, và nó luôn chính xác ngay khi ngôn ngữ thay đổi. Trình duyệt sở hữu các bản dịch, dựa trên cùng dữ liệu CLDR nằm phía sau hầu hết các hệ điều hành. والنتيجة: القائمة نفسها تُعرض بصيغة 'Japan / 日本 / اليابان / Japon' دون أي ملفات ترجمة على الإطلاق، وتظل صحيحة في اللحظة التي تتغير فيها اللغة. المتصفح هو من يملك الترجمات، مدعومًا بنفس بيانات CLDR الموجودة خلف معظم أنظمة التشغيل. Résultat : la même liste s'affiche sous la forme « Japan / 日本 / اليابان / Japon » sans aucun fichier de traduction, et elle reste correcte dès l'instant où la langue change. Le navigateur possède les traductions, appuyées sur les mêmes données CLDR qui se trouvent derrière la plupart des systèmes d'exploitation. Das Ergebnis: Dieselbe Liste erscheint als „Japan / 日本 / اليابان / Japon" ganz ohne Übersetzungsdateien und bleibt in dem Moment korrekt, in dem die Sprache wechselt. Der Browser besitzt die Übersetzungen, gestützt auf dieselben CLDR-Daten, die hinter den meisten Betriebssystemen stehen. El resultado: la misma lista se muestra como 'Japan / 日本 / اليابان / Japon' sin ningún archivo de traducción, y se mantiene correcta en el instante en que cambia el idioma. El navegador es dueño de las traducciones, respaldado por los mismos datos CLDR que están detrás de la mayoría de los sistemas operativos. Il risultato: la stessa lista viene mostrata come 'Japan / 日本 / اليابان / Japon' senza alcun file di traduzione, e rimane corretta nell'istante in cui la lingua cambia. Il browser possiede le traduzioni, sostenuto dagli stessi dati CLDR che stanno dietro alla maggior parte dei sistemi operativi. O resultado: a mesma lista é apresentada como 'Japan / 日本 / اليابان / Japon' sem quaisquer ficheiros de tradução, e mantém-se correta no instante em que o idioma muda. O navegador é o dono das traduções, apoiado nos mesmos dados CLDR que estão por trás da maioria dos sistemas operativos. 结果是:同一份列表会渲染为 'Japan / 日本 / اليابان / Japon',完全不需要任何翻译文件,而且在语言切换的瞬间就保持正确。浏览器掌管这些翻译,其背后是与大多数操作系统所依赖的同一套 CLDR 数据。 その結果、同じリストが翻訳ファイルを一切使わずに「Japan / 日本 / اليابان / Japon」と表示され、言語が変わった瞬間に正しい表記を保ちます。翻訳を保有しているのはブラウザであり、その裏付けはほとんどのオペレーティングシステムを支えているのと同じ CLDR データです。 그 결과, 동일한 목록이 번역 파일 하나 없이 'Japan / 日本 / اليابان / Japon' 으로 렌더링되고, 언어가 바뀌는 즉시 올바른 표기를 유지합니다. 번역을 소유한 것은 브라우저이며, 이는 대부분의 운영 체제를 뒷받침하는 것과 동일한 CLDR 데이터에 기반합니다.

มีกรณีพิเศษอยู่บ้าง บางรายการไม่ใช่ประเทศ — เอกสารเดินทางของสหภาพยุโรปและสหประชาชาติ และโคโซโว ซึ่งธงของมันไม่มีรหัส ISO — สำหรับรายการเหล่านี้เราจึงถอยกลับไปใช้ป้ายกำกับที่เก็บไว้ ส่วนที่เหลือทั้งหมดเป็นแบบอัตโนมัติ There are a few edge cases. Some entries aren't countries — the EU and UN travel documents, and Kosovo, whose flag has no ISO code — so for those we fall back to a stored label. Everything else is automatic. Terdapat beberapa kes luar biasa. Sesetengah entri bukan negara — dokumen perjalanan EU dan PBB, serta Kosovo, yang benderanya tiada kod ISO — jadi untuk yang itu kami berpatah kembali kepada label yang disimpan. Selebihnya adalah automatik. Có một vài trường hợp ngoại lệ. Một số mục không phải là quốc gia — giấy tờ đi lại của EU và Liên Hợp Quốc, và Kosovo, lá cờ không có mã ISO — nên với những mục đó chúng tôi quay lại dùng nhãn được lưu sẵn. Mọi thứ còn lại đều tự động. هناك بعض الحالات الاستثنائية. بعض المدخلات ليست دولًا — وثائق سفر الاتحاد الأوروبي والأمم المتحدة، وكوسوفو التي لا يملك علمها رمز ISO — لذا نلجأ لتلك الحالات إلى تسمية مخزّنة مسبقًا. أما كل ما عداها فيتم تلقائيًا. Il existe quelques cas particuliers. Certaines entrées ne sont pas des pays — les documents de voyage de l'UE et de l'ONU, ainsi que le Kosovo, dont le drapeau n'a pas de code ISO — pour celles-ci, nous nous rabattons donc sur un libellé stocké. Tout le reste est automatique. Es gibt einige Sonderfälle. Manche Einträge sind keine Länder — die Reisedokumente der EU und der UN sowie das Kosovo, dessen Flagge keinen ISO-Code hat — für diese greifen wir daher auf eine gespeicherte Bezeichnung zurück. Alles andere geschieht automatisch. Hay algunos casos límite. Algunas entradas no son países — los documentos de viaje de la UE y la ONU, y Kosovo, cuya bandera no tiene código ISO — así que para esos recurrimos a una etiqueta almacenada. Todo lo demás es automático. Ci sono alcuni casi limite. Alcune voci non sono paesi — i documenti di viaggio dell'UE e dell'ONU, e il Kosovo, la cui bandiera non ha un codice ISO — quindi per quelli ripieghiamo su un'etichetta memorizzata. Tutto il resto è automatico. Há alguns casos particulares. Algumas entradas não são países — os documentos de viagem da UE e da ONU, e o Kosovo, cuja bandeira não tem código ISO — por isso, para esses recorremos a um rótulo armazenado. Todo o resto é automático. 也有一些边缘情况。有些条目并不是国家——欧盟和联合国的旅行证件,以及旗帜没有 ISO 代码的科索沃——对于这些,我们会回退到预先存储的标签。其余一切都是自动完成的。 いくつかの例外もあります。一部の項目は国ではありません。EU と国連の渡航文書、そして旗に ISO コードがないコソボです。これらについては、保存済みのラベルにフォールバックします。それ以外はすべて自動です。 몇 가지 예외 사례가 있습니다. 일부 항목은 국가가 아닙니다 — EU 와 UN 의 여행 증명서, 그리고 국기에 ISO 코드가 없는 코소보입니다 — 그래서 이러한 항목에는 저장된 라벨로 대체합니다. 나머지는 모두 자동입니다.

ทำไมต้องเล่าเรื่องเล็กๆ แบบนี้ เพราะมันเป็นตัวอย่างที่ซื่อตรงถึงแนวทางที่เราชอบสร้างสรรค์ — เลือกใช้ข้อมูลที่แพลตฟอร์มดูแลไว้อย่างดี แทนที่จะประดิษฐ์อะไรบางอย่างที่เปราะบางขึ้นมาเองแล้วค่อยๆ ล้าสมัยไปอย่างเงียบๆ Why share such a small thing: it's an honest example of how we prefer to build — reach for the platform's own well-maintained data instead of hand-rolling something brittle that quietly drifts out of date. Mengapa berkongsi perkara sekecil ini: ia contoh jujur tentang cara kami lebih suka membina — meraih data platform sendiri yang diselenggara dengan baik, berbanding membuat sendiri sesuatu yang rapuh dan diam-diam menjadi lapuk. Vì sao lại chia sẻ một điều nhỏ nhặt như vậy: đó là một ví dụ trung thực về cách chúng tôi thích xây dựng — tận dụng dữ liệu được duy trì tốt của chính nền tảng, thay vì tự tay dựng nên một thứ gì đó dễ vỡ và lặng lẽ trở nên lỗi thời. لماذا نشارك أمرًا بهذا الصغر: لأنه مثال صادق على الطريقة التي نفضّل البناء بها — أن نلجأ إلى بيانات المنصة نفسها المُصانة جيدًا بدلًا من صناعة شيء هش يدويًا يتقادم بصمت. Pourquoi partager une si petite chose : c'est un exemple honnête de notre façon de construire — recourir aux données bien entretenues de la plateforme elle-même plutôt que de bricoler à la main quelque chose de fragile qui se périme discrètement. Warum wir so eine Kleinigkeit teilen: Sie ist ein ehrliches Beispiel dafür, wie wir am liebsten bauen — auf die gut gepflegten Daten der Plattform selbst zurückgreifen, statt etwas Fragiles von Hand zu bauen, das stillschweigend veraltet. Por qué compartir algo tan pequeño: es un ejemplo honesto de cómo preferimos construir — recurrir a los propios datos bien mantenidos de la plataforma en lugar de fabricar a mano algo frágil que queda desactualizado en silencio. Perché condividere una cosa così piccola: è un esempio onesto di come preferiamo costruire — attingere ai dati ben mantenuti della piattaforma stessa invece di realizzare a mano qualcosa di fragile che silenziosamente diventa obsoleto. Porquê partilhar algo tão pequeno: é um exemplo honesto da forma como preferimos construir — recorrer aos dados bem mantidos da própria plataforma em vez de fabricar à mão algo frágil que fica desatualizado em silêncio. 为什么要分享这么小的一件事:因为它是我们偏好的构建方式的一个真实例子——借助平台自身维护良好的数据,而不是手工搭建一些脆弱、会悄然过时的东西。 なぜこんな小さなことを共有するのか。それは、私たちが好む作り方を素直に示す一例だからです。脆くて静かに時代遅れになっていくものを手作りするのではなく、プラットフォーム自身がよく整備しているデータを活用する、ということです。 왜 이렇게 사소한 것을 공유하는가: 그것은 저희가 선호하는 구축 방식을 솔직하게 보여주는 사례이기 때문입니다 — 조용히 낡아가는 취약한 무언가를 손수 만드는 대신, 플랫폼 자체가 잘 관리하는 데이터를 활용하는 것입니다.

ดูรายชื่อเอกสารที่รองรับ → See the supported-documents list → Lihat senarai dokumen yang disokong → Xem danh sách tài liệu được hỗ trợ → اطّلع على قائمة الوثائق المدعومة → Voir la liste des documents pris en charge → Die Liste der unterstützten Dokumente ansehen → Ver la lista de documentos compatibles → Vedi l'elenco dei documenti supportati → Ver a lista de documentos suportados → 查看受支持文档列表 → 対応文書の一覧を見る → 지원 문서 목록 보기 → ดูภาพรวมสำหรับนักพัฒนา → See the developer overview → Lihat gambaran keseluruhan pembangun → Xem tổng quan dành cho nhà phát triển → اطّلع على نظرة عامة للمطورين → Voir l'aperçu pour les développeurs → Die Entwicklerübersicht ansehen → Ver la descripción general para desarrolladores → Vedi la panoramica per sviluppatori → Ver a visão geral para programadores → 查看开发者概览 → 開発者向け概要を見る → 개발자 개요 보기 →
← กลับไปดูบทความทั้งหมด ← Back to all posts ← Kembali ke semua catatan ← Quay lại tất cả bài viết ← العودة إلى جميع المقالات ← Retour à tous les articles ← Zurück zu allen Beiträgen ← Volver a todas las publicaciones ← Torna a tutti gli articoli ← Voltar para todas as publicações ← 返回所有文章 ← すべての投稿に戻る ← 모든 게시물로 돌아가기