Eine neue Funktionalität in der deutschen Zen Cart Version seit 1.5.5 sind die mehrsprachigen Ländernamen.
In älteren Zen Cart Versionen sind die Ländernamen immer nur einsprachig auf englisch in der Tabelle countries hinterlegt.
Die Namen können dort natürlich geändert werden, z.B. Germany auf Deutschland umbenennen.
In mehrsprachigen Shops bekommen die Kunden die Ländernamen aber immer gleich angezeigt, der deutsche Besucher sieht Deutschland, der englische Besucher auch, weil es ja nur einen Ländernamen gibt.
Seit Zen Cart 1.5.5 deutsch werden die Ländernamen dagegen aus einer neuen Tabelle ausgelesen (countries_name), die die Ländernamen mehrsprachig hinterlegt hat. Immer wenn im Shop egal ob in Frontend oder im Admin ein Ländername angezeigt wird, dann wird berücksichtigt ob der Shop auf englisch oder auf deutsch geschaltet ist und der entsprechende Ländername aus der Tabelle countries_name herangezogen.
Das ermöglicht eine vollständige Mehrsprachigkeit, die dann auch in den Bestellungen in den Adressen oder im Adressbuch des Kunden durchgezogen wird.
Besucher, die die englische Version des Shops nutzen bekommen somit keine deutschen Begriffe mehr zu sehen.
Die Tabelle countries besteht natürlich weiter, sie ist auch ganz zentral, nur die in ihr hinterlegten Ländernamen werden nicht mehr berücksichtigt.
Beim Bearbeiten eines Landes steht ein neues Eingabefeld zur Verfügung, mit dem der Ländername für die im Shop aktiven Sprachen geändert werden kann.
Mitgeliefert werden die Ländernamen für die deutsche und englische Sprache, so dass nach der Installation die Tabelle countries_name bereits für alle Länder mit den entsprechenden Ländernamen vorausgefüllt ist. Die countries_id entspricht der countries_id in der Tabelle countries. Die language_id 1 kennzeichnet die englischen Namen, die language_id 43 die der deutschen Ländernamen:
Sollten im Shop nachträglich neue Sprachen hinzugefügt werden, dann werden danach die entsprechenden Ländernamen für diese Sprache in der Tabelle countries_name nicht vorhanden sein. Sie werden aber benötigt, um die Ländernamen in dieser Sprache anzeigen zu können.
Daher ist es nach dem Hinzufügen einer neuen Sprache nötig, die im Shop aktiven Länder unter Länder & Steuern > Länder zu überarbeiten und den gewünschten Ländernamen für die neu hinzugefügte Sprache nachzutragen.
Wenn im Shop viele Länder aktiv sind kann das mühsam sein
Um sofort auf einen Schlag Ländernamen für alle Länder in der neuen Sprache verfügbar zu haben, kann folgender SQL Befehl via Admin > Tools > SQL Patches installieren oder direkt via phpMyAdmin eingespielt werden:
In diesem Beispiel werden die Ländernamen für die polnische Sprache hinzugefügt. Polnisch hat normalerweise die language_id 48.
Wenn Sie eine andere Sprache hinzugefügt haben, dann ändern Sie natürlich die 48 auf die language_id Ihrer Sprache:
INSERT INTO `countries_name` (`countries_id`, `language_id`, `countries_name`) VALUES (1, 48, 'Afghanistan'), (2, 48, 'Albania'), (3, 48, 'Algeria'), (4, 48, 'American Samoa'), (5, 48, 'Andorra'), (6, 48, 'Angola'), (7, 48, 'Anguilla'), (8, 48, 'Antarctica'), (9, 48, 'Antigua and Barbuda'), (10, 48, 'Argentina'), (11, 48, 'Armenia'), (12, 48, 'Aruba'), (13, 48, 'Australia'), (14, 48, 'Austria'), (15, 48, 'Azerbaijan'), (16, 48, 'Bahamas'), (17, 48, 'Bahrain'), (18, 48, 'Bangladesh'), (19, 48, 'Barbados'), (20, 48, 'Belarus'), (21, 48, 'Belgium'), (22, 48, 'Belize'), (23, 48, 'Benin'), (24, 48, 'Bermuda'), (25, 48, 'Bhutan'), (26, 48, 'Bolivia'), (27, 48, 'Bosnia and Herzegowina'), (28, 48, 'Botswana'), (29, 48, 'Bouvet Island'), (30, 48, 'Brazil'), (31, 48, 'British Indian Ocean Territory'), (32, 48, 'Brunei Darussalam'), (33, 48, 'Bulgaria'), (34, 48, 'Burkina Faso'), (35, 48, 'Burundi'), (36, 48, 'Cambodia'), (37, 48, 'Cameroon'), (38, 48, 'Canada'), (39, 48, 'Cape Verde'), (40, 48, 'Cayman Islands'), (41, 48, 'Central African Republic'), (42, 48, 'Chad'), (43, 48, 'Chile'), (44, 48, 'China'), (45, 48, 'Christmas Island'), (46, 48, 'Cocos (Keeling) Islands'), (47, 48, 'Colombia'), (48, 48, 'Comoros'), (49, 48, 'Congo'), (50, 48, 'Cook Islands'), (51, 48, 'Costa Rica'), (52, 48, 'Côte d''Ivoire'), (53, 48, 'Croatia'), (54, 48, 'Cuba'), (55, 48, 'Cyprus'), (56, 48, 'Czech Republic'), (57, 48, 'Denmark'), (58, 48, 'Djibouti'), (59, 48, 'Dominica'), (60, 48, 'Dominican Republic'), (61, 48, 'Timor-Leste'), (62, 48, 'Ecuador'), (63, 48, 'Egypt'), (64, 48, 'El Salvador'), (65, 48, 'Equatorial Guinea'), (66, 48, 'Eritrea'), (67, 48, 'Estonia'), (68, 48, 'Ethiopia'), (69, 48, 'Falkland Islands (Malvinas)'), (70, 48, 'Faroe Islands'), (71, 48, 'Fiji'), (72, 48, 'Finland'), (73, 48, 'France'), (75, 48, 'French Guiana'), (76, 48, 'French Polynesia'), (77, 48, 'French Southern Territories'), (78, 48, 'Gabon'), (79, 48, 'Gambia'), (80, 48, 'Georgia'), (81, 48, 'Germany'), (82, 48, 'Ghana'), (83, 48, 'Gibraltar'), (84, 48, 'Greece'), (85, 48, 'Greenland'), (86, 48, 'Grenada'), (87, 48, 'Guadeloupe'), (88, 48, 'Guam'), (89, 48, 'Guatemala'), (90, 48, 'Guinea'), (91, 48, 'Guinea-bissau'), (92, 48, 'Guyana'), (93, 48, 'Haiti'), (94, 48, 'Heard and Mc Donald Islands'), (95, 48, 'Honduras'), (96, 48, 'Hong Kong'), (97, 48, 'Hungary'), (98, 48, 'Iceland'), (99, 48, 'India'), (100, 48, 'Indonesia'), (101, 48, 'Iran (Islamic Republic of)'), (102, 48, 'Iraq'), (103, 48, 'Ireland'), (104, 48, 'Israel'), (105, 48, 'Italy'), (106, 48, 'Jamaica'), (107, 48, 'Japan'), (108, 48, 'Jordan'), (109, 48, 'Kazakhstan'), (110, 48, 'Kenya'), (111, 48, 'Kiribati'), (112, 48, 'Korea, Democratic People''s Republic of'), (113, 48, 'Korea, Republic of'), (114, 48, 'Kuwait'), (115, 48, 'Kyrgyzstan'), (116, 48, 'Lao People''s Democratic Republic'), (117, 48, 'Latvia'), (118, 48, 'Lebanon'), (119, 48, 'Lesotho'), (120, 48, 'Liberia'), (121, 48, 'Libya'), (122, 48, 'Liechtenstein'), (123, 48, 'Lithuania'), (124, 48, 'Luxembourg'), (125, 48, 'Macao'), (126, 48, 'Macedonia, The Former Yugoslav Republic of'), (127, 48, 'Madagascar'), (128, 48, 'Malawi'), (129, 48, 'Malaysia'), (130, 48, 'Maldives'), (131, 48, 'Mali'), (132, 48, 'Malta'), (133, 48, 'Marshall Islands'), (134, 48, 'Martinique'), (135, 48, 'Mauritania'), (136, 48, 'Mauritius'), (137, 48, 'Mayotte'), (138, 48, 'Mexico'), (139, 48, 'Micronesia, Federated States of'), (140, 48, 'Moldova'), (141, 48, 'Monaco'), (142, 48, 'Mongolia'), (143, 48, 'Montserrat'), (144, 48, 'Morocco'), (145, 48, 'Mozambique'), (146, 48, 'Myanmar'), (147, 48, 'Namibia'), (148, 48, 'Nauru'), (149, 48, 'Nepal'), (150, 48, 'Netherlands'), (151, 48, 'Bonaire, Sint Eustatius and Saba'), (152, 48, 'New Caledonia'), (153, 48, 'New Zealand'), (154, 48, 'Nicaragua'), (155, 48, 'Niger'), (156, 48, 'Nigeria'), (157, 48, 'Niue'), (158, 48, 'Norfolk Island'), (159, 48, 'Northern Mariana Islands'), (160, 48, 'Norway'), (161, 48, 'Oman'), (162, 48, 'Pakistan'), (163, 48, 'Palau'), (164, 48, 'Panama'), (165, 48, 'Papua New Guinea'), (166, 48, 'Paraguay'), (167, 48, 'Peru'), (168, 48, 'Philippines'), (169, 48, 'Pitcairn'), (170, 48, 'Poland'), (171, 48, 'Portugal'), (172, 48, 'Puerto Rico'), (173, 48, 'Qatar'), (174, 48, 'Réunion'), (175, 48, 'Romania'), (176, 48, 'Russian Federation'), (177, 48, 'Rwanda'), (178, 48, 'Saint Kitts and Nevis'), (179, 48, 'Saint Lucia'), (180, 48, 'Saint Vincent and the Grenadines'), (181, 48, 'Samoa'), (182, 48, 'San Marino'), (183, 48, 'Sao Tome and Principe'), (184, 48, 'Saudi Arabia'), (185, 48, 'Senegal'), (186, 48, 'Seychelles'), (187, 48, 'Sierra Leone'), (188, 48, 'Singapore'), (189, 48, 'Slovakia (Slovak Republic)'), (190, 48, 'Slovenia'), (191, 48, 'Solomon Islands'), (192, 48, 'Somalia'), (193, 48, 'South Africa'), (194, 48, 'South Georgia and the South Sandwich Islands'), (195, 48, 'Spain'), (196, 48, 'Sri Lanka'), (197, 48, 'St. Helena'), (198, 48, 'St. Pierre and Miquelon'), (199, 48, 'Sudan'), (200, 48, 'Suriname'), (201, 48, 'Svalbard and Jan Mayen Islands'), (202, 48, 'Swaziland'), (203, 48, 'Sweden'), (204, 48, 'Switzerland'), (205, 48, 'Syrian Arab Republic'), (206, 48, 'Taiwan'), (207, 48, 'Tajikistan'), (208, 48, 'Tanzania, United Republic of'), (209, 48, 'Thailand'), (210, 48, 'Togo'), (211, 48, 'Tokelau'), (212, 48, 'Tonga'), (213, 48, 'Trinidad and Tobago'), (214, 48, 'Tunisia'), (215, 48, 'Turkey'), (216, 48, 'Turkmenistan'), (217, 48, 'Turks and Caicos Islands'), (218, 48, 'Tuvalu'), (219, 48, 'Uganda'), (220, 48, 'Ukraine'), (221, 48, 'United Arab Emirates'), (222, 48, 'United Kingdom'), (223, 48, 'United States'), (224, 48, 'United States Minor Outlying Islands'), (225, 48, 'Uruguay'), (226, 48, 'Uzbekistan'), (227, 48, 'Vanuatu'), (228, 48, 'Vatican City State (Holy See)'), (229, 48, 'Venezuela'), (230, 48, 'Viet Nam'), (231, 48, 'Virgin Islands (British)'), (232, 48, 'Virgin Islands (U.S.)'), (233, 48, 'Wallis and Futuna Islands'), (234, 48, 'Western Sahara'), (235, 48, 'Yemen'), (236, 48, 'Serbia'), (238, 48, 'Zambia'), (239, 48, 'Zimbabwe'), (240, 48, 'Åland Islands'), (241, 48, 'Palestine, State of'), (242, 48, 'Montenegro'), (243, 48, 'Guernsey'), (244, 48, 'Isle of Man'), (245, 48, 'Jersey'), (246, 48, 'South Sudan'), (247, 48, 'Curaçao'), (248, 48, 'Sint Maarten');
Danach hat man bei jedem Land für die polnische Sprache zumindest mal die englischen Ländernamen hinterlegt und kann die Länder, die für den Shop relevant sind danach in der Administration für die polnische Sprache überarbeiten.
Auch wenn ein Update von 1.5.4 und älter auf 1.5.7 durchgeführt wird, werden nur die deutschen und englischen Ländernamen mitgeliefert.
Sollte der zu aktualisierende Shop noch weitere Sprachen als deutsch und englisch verwenden, dann müssen Sie nach dem Update die Ländernamen für Ihre weiteren Sprachen so wie oben beschrieben nachtragen.