Skip to content

MattieBelt/strapi-plugin-international-fields

Repository files navigation

strapi-plugin-international-fields

NPM Version Monthly download on NPM

This plugin adds the following custom fields to your Strapi application:

The option labels have localisation applied to if available. Check the locales table down below for the included Admin panel locales.

preview

Supported Strapi versions:

  • v3.6 (and higher)

Older versions may work but are not tested.

Installation

Add plugin package

# using yarn
yarn add strapi-plugin-international-fields

# using npm
npm install strapi-plugin-international-fields --save

Rebuild Admin Panel

# using yarn
yarn build --clean

# using npm
npm run build --clean

Usage

Currently it isn't possible to add custom fields through the Content-Types Builder with Strapi, so you'll need to add it manually. To add one of the custom fields to a content type you need to add it to the attributes field in the models settings file (api/*/models/*.settings.json) like the example below.

{
  // ...
  "attributes": {
    "country": {
-      "type": "string",
+      "type": "country",
+      "columnType": "CHAR(2)"
    },
    "language": {
-      "type": "string",
+      "type": "language",
+      "columnType": "CHAR(2)"
    },
    "nationality": {
-      "type": "string",
+      "type": "nationality",
+      "columnType": "CHAR(2)"
    },
  }
}

Fields

Country

The country field provides an dropdown with every country from the ISO 3166 standard. The two-letter country code (ISO 3166-1 alpha-2) will be saved in the database. Almost all the Strapi Admin panel locales are included, so depending on the selected Interface language, the dropdown will be displayed with localized option labels.

Language

The language field provides an dropdown with every language from the ISO 639 standard. The two-letter language code (ISO 639-1 alpha-2) will be saved in the database. Almost all the Strapi Admin panel locales are included, so depending on the selected Interface language, the dropdown will be displayed with localized option labels.

Nationality

The nationality field provides an dropdown with every nationality from the ISO 3166 standard. The two-letter country code (ISO 3166-1 alpha-2) will be saved in the database. Only English, German and French are included, so depending on the selected Interface language, the dropdown will be displayed with i18n options, with english as fallback.

Locales

The following Strapi locales are supported per field. The default fallback is en (English).

i18n locale Native name Country Language Nationality
ar العربية x
cs Čeština x x
de Deutsch x x x
dk Dansk x
en English x x x
es Español x x
fr Français x x x
he עברית x
id Indonesian x x
it Italiano x x
ja 日本語 x x
ko 한국어 x
ms Melayu x x
nl Nederlands x x
no Norwegian x x
pl Polski x x
pt-BR Português (Brasil) pt pt
pt Português (Portugal) x x
ru Русский x x
sk Slovenčina x
th ไทย x x
tr Türkçe x
uk Українська x
vi Tiếng Việt x x
zh-Hans 中文 (简体) zh zh
zh 中文 (繁體) x x

i18n packages

The following packages are used to display the localized option labels.

Support

Resources

License

  • Copyright (c) 2020-2021 Mattias van den Belt & Strapi Solutions (MIT License).