- Add language_code field (ISO 639-1/639-2) to naming schema - Position language code after country code in filename structure - Migrate country codes from SAP to ISO 3166-1 standard (38 countries) - Add comprehensive language codes library (25 languages) - Update API endpoints to handle language_code in build/decode operations - Add new /api.php?action=languages endpoint - Update UI with language code dropdown and decoder display - Update help documentation with ISO standards info and FAQs - New format: [OMG]_[BRAND]_[COUNTRY]_[LANGUAGE]_[SUBJECT]_[ASSET]_[VERSION]*_[DURATION]S_[RATIO] - Example: 12345_RAF_IT_it_ME MOMENT_OLV_6S_1x1 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
314 lines
No EOL
7.9 KiB
JSON
314 lines
No EOL
7.9 KiB
JSON
{
|
|
"naming_structure": {
|
|
"BRAND_CODE": {
|
|
"min_length": 2,
|
|
"max_length": 5,
|
|
"description": "Brand Code"
|
|
},
|
|
"COUNTRY_CODE": {
|
|
"min_length": 2,
|
|
"max_length": 2,
|
|
"description": "Country Code (ISO 3166-1)"
|
|
},
|
|
"LANGUAGE_CODE": {
|
|
"min_length": 2,
|
|
"max_length": 3,
|
|
"description": "Language Code (ISO 639-1/639-2)"
|
|
},
|
|
"SUBJECT_TITLE": {
|
|
"min_length": 1,
|
|
"max_length": 15,
|
|
"description": "Subject Title"
|
|
},
|
|
"ASSET_TYPE": {
|
|
"min_length": 3,
|
|
"max_length": 3,
|
|
"description": "Asset Type"
|
|
},
|
|
"SPOT_VERSION": {
|
|
"min_length": 3,
|
|
"max_length": 3,
|
|
"description": "Spot Version (add MST if Master File)"
|
|
},
|
|
"SECONDS": {
|
|
"min_length": 2,
|
|
"max_length": 3,
|
|
"description": "Duration in Seconds"
|
|
},
|
|
"ASPECT_RATIO": {
|
|
"min_length": 4,
|
|
"max_length": 4,
|
|
"description": "Aspect Ratio"
|
|
}
|
|
},
|
|
"brands": {
|
|
"MC": "MON CHERI",
|
|
"PK": "POCKET COFFEE",
|
|
"ROC": "ROCHER",
|
|
"FPR": "FERRERO PRESTIGE",
|
|
"KMAX": "KINDER MAXI",
|
|
"KSB": "SCHOKOBONS",
|
|
"KCH": "KINDER CHOCOLATE",
|
|
"RAF": "RAFFAELLO",
|
|
"DUN": "DUPLO NOCCIOLATO",
|
|
"TRO": "TRONKY",
|
|
"KCY": "KINDER COUNTRY",
|
|
"BUE": "KINDER BUENO",
|
|
"KSUR": "KINDER SURPRISE",
|
|
"KMS": "KINDER MAXI SURPRISE",
|
|
"KPI": "KINDER PINGUI",
|
|
"NUT": "NUTELLA",
|
|
"NUGO": "NUTELLA & GO",
|
|
"FFIE": "FERRERO FIESTA",
|
|
"KBRI": "KINDER BRIOSS",
|
|
"FBRI": "FERRERO BRIOSS",
|
|
"KFL": "KINDER MILK SLICE",
|
|
"KCOL": "KINDER COLAZIONE PIU",
|
|
"KDEL": "KINDER DELICE",
|
|
"KCHO": "KINDER CHOCOFRESH",
|
|
"KHH": "KINDER HAPPY HIPPO",
|
|
"TT": "TIC TAC",
|
|
"ET": "ESTATHE",
|
|
"DEL": "DELACRE",
|
|
"KUS": "KUSSCHEN",
|
|
"KPAR": "KINDER PARADISO",
|
|
"KMKNG": "KINDER MAXI KING",
|
|
"HAN": "HANUTA",
|
|
"GIO": "GIOTTO",
|
|
"KJOY": "KINDER MERENDERO/JOY",
|
|
"KPC": "KINDER PAN E CIOC",
|
|
"YOG": "YOGURETTE",
|
|
"DU": "DUPLO",
|
|
"KSBCR": "KINDER SCHOKOBONS CRISPY",
|
|
"KMIX": "KINDER MIX",
|
|
"TTCHE": "TIC TAC CHEWY",
|
|
"100GR": "100 GRAND",
|
|
"BRUTH": "BABY RUTH",
|
|
"GOOB": "GOOBERS",
|
|
"BTF": "BUTTERFINGER",
|
|
"CHU": "CHUNKY",
|
|
"CRU": "CRUNCH",
|
|
"RAIS": "RAISINETS",
|
|
"SCAPS": "SNO CAPS",
|
|
"UPPR": "UOVA PASQUA PRALINE",
|
|
"MWF": "MISTE WAFERATE(COLLECTION)",
|
|
"KPLUM": "KINDER PLUMCAKE",
|
|
"TTJEL": "TIC TAC JELLY",
|
|
"OVMOD": "OVETTI MODELLATI",
|
|
"KCHIC": "KINDER CHOCOLATE ICE CREAM",
|
|
"BUEIC": "KINDER BUENO ICE CREAM",
|
|
"ROIC": "FERRERO ROCHER ICE CREAM",
|
|
"RAFIC": "RAFFAELLO ICE CREAM",
|
|
"ETIC": "ESTATHE ICE",
|
|
"RDN": "RONDNOIR",
|
|
"TTSF": "TIC TAC CHILL/TIC TAC BREEZE",
|
|
"KCCK": "KINDER CRUNCHY COOKIES",
|
|
"KDUO": "KINDER DUO",
|
|
"KTRO": "KINDER TRONKY",
|
|
"FRO": "FERRERO ROCHER ORIGINS",
|
|
"KSURM": "KINDER SORPRESA MAXI",
|
|
"NUCOK": "NUTELLA COOKIES",
|
|
"RDNIC": "RONDNOIR ICE CREAM",
|
|
"PKIC": "POCKET COFFEE ICE CREAM",
|
|
"YOGIC": "YOGURETTE ICE CREAM",
|
|
"FCRO": "FIGURA CAVA ROCHER",
|
|
"SQGM": "SQUARES GRANDI MARCHE",
|
|
"BURT": "BURTONS",
|
|
"FTG": "TAVOLETTE GRANDI MARCHE",
|
|
"NUBR": "NUTELLA B-READY",
|
|
"TTTWO": "TIC TAC TWO",
|
|
"NUIC": "NUTELLA ICE CREAM",
|
|
"HANR": "HANUTA RIEGEL",
|
|
"KCHH": "KINDER CIOCCOLATO HAPPY",
|
|
"KTRIS": "KINDER TRIS",
|
|
"NUCRE": "NUTELLA CREPES",
|
|
"NUDON": "NUTELLA DONUT",
|
|
"GFRO": "GRAND FERRERO ROCHER",
|
|
"MBPAT": "MA BARRE PATISSIERE",
|
|
"TROSN": "TRONKY SANDWICH",
|
|
"KCRO": "KINDER CROISSANT",
|
|
"NUCRO": "NUTELLA CROISSANT",
|
|
"RABIS": "RAFFAELLO BISCUITS",
|
|
"KCYB": "KINDER COUNTRY BISCUIT",
|
|
"KCARD": "KINDER CARDS",
|
|
"KHMO": "KINDER HAPPY MOMENTS",
|
|
"KKIND": "KINDER KINDERINI",
|
|
"KKOR": "KINDER KORNETTI",
|
|
"THO": "THORNTONS",
|
|
"DDCH": "DELACRE DELICHOC",
|
|
"KCRE": "KINDER CREAMY",
|
|
"NUBIS": "NUTELLA BISCUITS",
|
|
"ROMO": "FERRERO ROCHER MOMENTS",
|
|
"KCLA": "KINDER COEUR AU LAIT",
|
|
"FULF": "FF ENERGY BA",
|
|
"KFIG": "KINDER FIGURE",
|
|
"KCER": "KINDER CEREALE",
|
|
"FOX": "FOX",
|
|
"EATN": "EAT NATURAL",
|
|
"FCIC": "FERRERO COLLECTION EXPERIENCE ICE CREAM",
|
|
"RAFTE": "RAFFAELLO TRIPLE EXPERIENCE ICE CREAM"
|
|
},
|
|
"countries": {
|
|
"GL": "Global",
|
|
"AR": "Argentina",
|
|
"AT": "Austria",
|
|
"AU": "Australia",
|
|
"BE": "Belgium",
|
|
"BR": "Brazil",
|
|
"CA": "Canada",
|
|
"CH": "Switzerland",
|
|
"CN": "China",
|
|
"CZ": "Czech Republic",
|
|
"DE": "Germany",
|
|
"DK": "Denmark",
|
|
"ES": "Spain",
|
|
"FI": "Finland",
|
|
"FR": "France",
|
|
"GB": "United Kingdom",
|
|
"GR": "Greece",
|
|
"HU": "Hungary",
|
|
"IE": "Ireland",
|
|
"IL": "Israel",
|
|
"IN": "India",
|
|
"IT": "Italy",
|
|
"JP": "Japan",
|
|
"KR": "South Korea",
|
|
"LI": "Liechtenstein",
|
|
"MX": "Mexico",
|
|
"NL": "Netherlands",
|
|
"NO": "Norway",
|
|
"PL": "Poland",
|
|
"PT": "Portugal",
|
|
"RO": "Romania",
|
|
"RU": "Russia",
|
|
"SE": "Sweden",
|
|
"SG": "Singapore",
|
|
"TH": "Thailand",
|
|
"TR": "Turkey",
|
|
"TW": "Taiwan",
|
|
"US": "United States"
|
|
},
|
|
"languages": {
|
|
"ar": "Arabic",
|
|
"cs": "Czech",
|
|
"da": "Danish",
|
|
"de": "German",
|
|
"el": "Greek",
|
|
"en": "English",
|
|
"es": "Spanish",
|
|
"fi": "Finnish",
|
|
"fr": "French",
|
|
"he": "Hebrew",
|
|
"hi": "Hindi",
|
|
"hu": "Hungarian",
|
|
"it": "Italian",
|
|
"ja": "Japanese",
|
|
"ko": "Korean",
|
|
"nl": "Dutch",
|
|
"no": "Norwegian",
|
|
"pl": "Polish",
|
|
"pt": "Portuguese",
|
|
"ro": "Romanian",
|
|
"ru": "Russian",
|
|
"sv": "Swedish",
|
|
"th": "Thai",
|
|
"tr": "Turkish",
|
|
"zh": "Chinese"
|
|
},
|
|
"asset_types": {
|
|
"FNT": "Font",
|
|
"GDT": "Gadget",
|
|
"GRG": "Group Guidelines",
|
|
"IMG": "Immagine Guida /",
|
|
"FPO": "Front of Pack Image",
|
|
"LGL": "Local Guidelines",
|
|
"LOG": "Logo",
|
|
"MLF": "Marketing Leaflet",
|
|
"OLV": "On Line Video",
|
|
"PAW": "Pack Artworks",
|
|
"PKI": "Pack Images",
|
|
"POS": "POS Material",
|
|
"PDM": "Product Demo",
|
|
"PRI": "Product Images",
|
|
"QRC": "QR code",
|
|
"SND": "Sound",
|
|
"SIP": "Styleguide Internal Properties",
|
|
"SGL": "Styleguide Licenses",
|
|
"TVC": "TVC",
|
|
"VIE": "Visual Identity Elements",
|
|
"3RT": "3D Real Toys",
|
|
"APC": "Applaydu Characters",
|
|
"BBK": "Brand Book",
|
|
"BRC": "Brand Character",
|
|
"BSG": "Brand Signature",
|
|
"CKV": "Campaign Key Visual",
|
|
"CID": "Creative Idea",
|
|
"DAT": "Digital Assets/Toolkit",
|
|
"ECA": "E-COMM: A+",
|
|
"ECB": "E-COMM: Back Packshot",
|
|
"EBS": "E-COMM: Beauty shot",
|
|
"EBR": "E-COMM: Brand Store",
|
|
"EEM": "E-COMM: E-Media",
|
|
"EHI": "E-COMM: Hero Image",
|
|
"EIL": "E-COMM: Ingredients List",
|
|
"EOP": "E-COMM: Out Of Pack",
|
|
"EUG": "E-COMM: UGC",
|
|
"EWB": "E-COMM: Why Buy",
|
|
"FLA": "Flyer Artworks"
|
|
},
|
|
"aspect_ratios": [
|
|
"16x9",
|
|
"1x1",
|
|
"2x3",
|
|
"4x5",
|
|
"5x4",
|
|
"9x16"
|
|
],
|
|
"spot_versions": [
|
|
"Master"
|
|
],
|
|
"examples": [
|
|
{
|
|
"brand": "Raffaello",
|
|
"filename": "RAF_GL_en_ME MOMENT_OLV_6S_1x1",
|
|
"breakdown": {
|
|
"brand_code": "RAF",
|
|
"country_code": "GL",
|
|
"language_code": "en",
|
|
"subject_title": "ME MOMENT",
|
|
"asset_type": "OLV",
|
|
"spot_version": "",
|
|
"seconds": "6S",
|
|
"aspect_ratio": "1x1"
|
|
}
|
|
},
|
|
{
|
|
"brand": "Kinder Gran Sorpresa",
|
|
"filename": "KGS_IT_it_IN THE AIR_TVC_MST_20S_16x9",
|
|
"breakdown": {
|
|
"brand_code": "KGS",
|
|
"country_code": "IT",
|
|
"language_code": "it",
|
|
"subject_title": "IN THE AIR",
|
|
"asset_type": "TVC",
|
|
"spot_version": "MST",
|
|
"seconds": "20S",
|
|
"aspect_ratio": "16x9"
|
|
}
|
|
},
|
|
{
|
|
"brand": "Bueno Ice Cream",
|
|
"filename": "BIC_GL_en_HOW BUENO IT IS_OLV_6S_1x1",
|
|
"breakdown": {
|
|
"brand_code": "BIC",
|
|
"country_code": "GL",
|
|
"language_code": "en",
|
|
"subject_title": "HOW BUENO IT IS",
|
|
"asset_type": "OLV",
|
|
"spot_version": "",
|
|
"seconds": "6S",
|
|
"aspect_ratio": "1x1"
|
|
}
|
|
}
|
|
]
|
|
} |