Base de connaissance Apps Panel

S’abonner

Textmanager

Le module Text Manager permet d'avoir tous les textes de votre application centralisés dans un seul endroit via un fichier au format JSON.

De cette façon, aucun texte n'est en dur dans l'application et peut être directement modifiable en ligne. Cela évite d'avoir recours à une mise à jour d'une application pour un simple changement de texte.

Si une modification de texte est faite, les changements seront effectifs dés le prochain lancement de l'application (en mode connecté).

1. Format du JSON

Le format du JSON est simple, il se présente sous la forme de Clef - Valeur :

{
    "nom" : "Apps",
    "prenom" : "Panel",
    "dateDeNaissance" : "mai 2016",
    "citation" :"Apps par ci Apps partout",
    "humeur" : "joyeuse" 
}

Règles de nommage :

Les clefs commencent par une minuscule, chaque nouveau mot par une majuscule sans espace. Les caractères autorisés sont [a-z][A-Z] : pas de chiffres, de caractères spéciaux ou d'accents acceptés.

Accessible sur le BO depuis : Tools/Configurer mon App/ Gestion des Strings

http://bo.apps-panel.com/config/strings/

Fichier de Sortie :

Le fichier de sortie doit s'appeler apnl_strings_XX.json où XX correspond à la langue des textes.

Se référer à la table IOS 639-1 pour le code en 2 lettres

http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes

ex :

apnl_strings_fr.json

apnl_strings_en.json

Ainsi, vous pouvez avoir plusieurs JSON ce qui vous permet de gérer une application multilingue, le fichier sera sélectionné automatiquement selon la langue mise en préférence par l'utilisateur sur son support.

2. Intégration pour le SDK iOS

Les fichiers JSON sont à placer à la racine du dossier de votre application.

Classe

APTextManager.h

Import à faire :

    #import <AppsPanelSDK/APTextManager.h>

Méthodes disponibles

    + (void)setDefaultTextDictionary:(NSString *)langues;
    + (NSInteger)numberOfKeys;
    + (NSString *)stringForKey:(NSString*) key;

Intégration

Initialisation

A placer généralement dans l'appdelegate après initialisation du SDK

    NSString *langue = @"fr";
    [APTextManager setDefaultTextDictionary: langue];

Comportement : Chargement du dictionnaire depuis le serveur si il existe sinon recherche d'un fichier en local.

Si langue = nil, la langue par défaut sera celle du iDevice

Utilisation

    NSLog(@"Nombre de clefs dans le dictionnaire : %d",[APTextManager numberOfKeys]);
    NSLog(@"%@",[APTextManager stringForKey:@"MaJolieClef"]);

Méthode delegate

Il est possible de savoir quand le SDK a terminé (ou s'il a échoué) de télécharger le fichier de string grâce aux méthodes delegate textManagerFinishedDownload et textManagerFailedDownload

    - (IBAction)changeLang:(id)sender {
        [[APTextManager sharedInstance] setDelegate:self];
        [APTextManager setDefaultTextDictionary:@"fr"];
    }

    - (void)textManagerFinishedDownload {
        NSLog(@"success");
    }

    - (void)textManagerFailedDownload {
        NSLog(@"failed !");
    }
Cet article vous a-t-il été utile ?
Utilisateurs qui ont trouvé cela utile : 0 sur 0
Vous avez d’autres questions ? Envoyer une demande