Toepassingen lokaliseren

Flash Player 9 of hoger, Adobe AIR 1.0 of hoger

Lokalisatie is het proces waarbij assets worden toegevoegd voor de ondersteuning van meerdere landinstellingen. Een landinstelling is de combinatie van een taal en een landcode. Zo verwijst en_US bijvoorbeeld naar de Engelse taal zoals die wordt gesproken in de Verenigde Staten, en fr_FR naar de Franse taal zoals die wordt gesproken in Frankrijk. Als u een toepassing wilt lokaliseren voor deze landinstellingen, moet u beschikken over twee sets assets: een voor de landinstelling en_US en een voor de landinstelling fr_FR.

Verschillende landinstellingen kunnen gebruikmaken van dezelfde taal. en_US en en_GB (Groot-Brittannië) zijn bijvoorbeeld verschillende landinstellingen. In dit geval maken beide landinstellingen gebruik van de Engelse taal, maar de landcode geeft aan dat het verschillende landinstellingen betreft die daarom mogelijk gebruikmaken van verschillende assets. Bij een toepassing voor de landinstelling en_US kan het woord "kleur" bijvoorbeeld worden gespeld als "color", terwijl voor de landinstelling en_GB dit "colour" is. Ook worden valuta-eenheden aangegeven in dollars of ponden, afhankelijk van de landinstelling, en kan de notatie van datums en tijden verschillen.

U kunt ook een set assets voor een taal opgeven zonder een taalcode te specificeren. U kunt bijvoorbeeld en-assets opgeven voor de Engelse taal en aanvullende assets voor de landinstelling en_US, die specifiek zijn voor Amerikaans Engels.

Lokalisatie is meer dan het vertalen van de tekenreeksen die worden gebruikt in uw toepassing. Elk willekeurig type asset, zoals geluidsbestanden, beelden en video's, kan hierbij worden betrokken.

Een landinstelling kiezen

Om te bepalen van welke landinstelling de inhoud of toepassing gebruikmaakt, kunt u een van de volgende methoden gebruiken:

  • flash.globalization-pakket: met de klassen in het flash.globalization-pakket waarmee de landinstelling kan worden vastgesteld kunt u de standaardlandinstelling voor de gebruiker ophalen op basis van het besturingssysteem en de gebruikersvoorkeuren. Dit is de voorkeursaanpak bij toepassingen die worden uitgevoerd op runtimes van Flash Player 10.1 of hoger of AIR 2.0 of hoger. Zie De landinstelling bepalen voor meer informatie.

  • Vragen aan de gebruiker - U kunt de toepassing starten met een standaardlandinstelling en dan de gebruiker vragen de gewenste landinstelling te kiezen.

  • (Alleen AIR) Capabilities.languages - De eigenschap Capabilities.languages geeft een array weer met de voorkeurstalen die zijn ingesteld via het besturingssysteem van de gebruiker. Deze strings bevatten taaltags (en script- en regiogegevens, indien van toepassing) zoals gedefinieerd in RFC4646 ( http://www.ietf.org/rfc/rfc4646.txt ). Bij deze tekenreeksen worden koppeltekens gebruikt als scheidingsteken (bijvoorbeeld "en-US" of "ja-JP" ). Het eerste item in de geretourneerde array heeft dezelfde primaire taal-id als de eigenschap language. Als languages[0] bijvoorbeeld wordt ingesteld op "en-US" , wordt de eigenschap language ingesteld op "en". Als de taaleigenschap echter op 'xu' is ingesteld (waarmee u een onbekende taal opgeeft), is het eerste element in de array languages anders.

  • Capabilities.language - De eigenschap Capabilities.language geeft de taalcode voor de gebruikersinterface van het besturingssysteem op. Deze eigenschap is echter beperkt tot 20 bekende talen. Op Engelse systemen retourneert deze eigenschap alleen de taalcode, niet de landcode. Om deze redenen is het beter om het eerste element van de array Capabilities.languages te gebruiken.

Flex-inhoud lokaliseren

Adobe Flex biedt een raamwerk voor het lokaliseren van Flex-inhoud. Dit raamwerk omvat de klassen Locale, ResourceBundle en ResourceManagerImpl, evenals de interfaces IResourceBundle en IResourceManagerImpl.

Er is een Flex-localisatiebibliotheek met hulpprogrammaklassen voor het sorteren van landinstellingen voor toepassingen beschikbaar op Google Code (http://code.google.com/p/as3localelib/).

Flash-inhoud lokaliseren

Adobe Flash Professional bevat een Locale-klasse in de ActionScript 3.0-componenten. Met de klasse Locale kunt u bepalen hoe een SWF-bestand meertalige tekst weergeeft. Via het Flash-deelvenster Tekenreeksen kunt u in dynamische tekstvelden tekenreeks-id's gebruiken in plaats van letterlijke tekenreeksen. U kunt hiermee een SWF-bestand maken, waarmee tekst wordt weergegeven die vanaf een taalspecifiek XML-bestand is geladen. Zie de Naslaggids voor ActionScript 3.0 voor het Adobe Flash-platform voor informatie over het gebruik van de klasse Locale.

AIR-toepassingen lokaliseren

De AIR SDK biedt een HTML Localization Framework (dit bevindt zich in het bestand AIRLocalizer.js). Dit framework bevat API's waardoor het werken met meerdere landinstellingen in HTML-toepassingen eenvoudiger wordt. Er is een ActionScript-bibliotheek voor het sorteren van landinstellingen beschikbaar op http://code.google.com/p/as3localelib/.

Datums, tijden en valuta's lokaliseren

De manier waarop toepassingen datums, tijden en valuta's presenteren, is heel erg afhankelijk van de landinstelling. In de Verenigde Staten wordt bijvoorbeeld voor de notatie van datums maand/dag/jaar gebruikt, terwijl de Europese standaard dag/maand/jaar is.

U kunt code schrijven om datums, tijden en valuta's op te maken. De volgende code converteert bijvoorbeeld een Date-object naar de notatie maand/dag/jaar of dag/maand/jaar. Als de variabele locale (die de landinstelling vertegenwoordigt) wordt ingesteld op "en_US" , retourneert de functie de notatie maand/dag/jaar. Het voorbeeld converteert een Date-object bij alle andere landinstellingen naar de notatie dag/maand/jaar:

function convertDate(date) 
{ 
    if (locale == "en_US") 
    { 
        return (date.getMonth() + 1) + "/" + date.getDate() + "/" + date.getFullYear(); 
    } 
    else 
    { 
        return date.getDate() + "/" + (date.getMonth() + 1) + "/" + date.getFullYear(); 
    } 
}

ADOBE FLEX

Het Flex-framework bevat besturingselementen voor het opmaken van datums, tijden en valuta's. Deze besturingselementen omvatten de besturingselementen DateFormatter en CurrencyFormatter.