Localisation de phrase avec pluriel(s) éventuel(s)

Il me faut localiser des phrases anglaises, mais j'ai des soucis de créer un fichier .stringsdict.


 


Les phrases sont :


 


1. Used in calculation


 


2. Not used in calculation


 


La problème c'est que, en anglais, ces phrases ne changent pas selon la quantité de trucs qui sont utilisées ou non ; mais en français je veux qu'ils soient différents.


 


Y-a-t-il quelqu'un qui peut m'aider à  bien traduire les phrases et les mettre dans un fichier .stringsdict ?


Réponses

  • Je penses que la meilleurs solution sera de faire deux cas de traduction et d'avoir la même en anglais et deux différentes en français



    NSString *srting = NSLocalizedString((([casdupluriel])?@idstringpluriel:@idstringsingulier),nil); 

    Ou alors tiré par les cheveux mais pourquoi pas



    NSString *srting = [NSString stringWithFormat:NSLocalizedString(@m%@ traduction%@", nil), ([self multipleTranslation])?@es:@a, ([self multipleTranslation])?@s:@""];

    //Dans la trad française
    "m%@ traduction%@=m%1$@ traduction%2$@";

    //Dans la trad anglaise
    "m%@ traduction%@=my translate";

    Trouvé sur http://nshipster.com/nslocalizedstring/ pas du tout testé si tu as un retour ça m'intéresse sinon je testerais ça se weekend ;)

  • AliGatorAliGator Membre, Modérateur
    Moi j'utilise des macros pour ça qui se débrouillent toutes seules pour savoir si la valeur est singulier ou pluriel et chercher la bonne clé de traduction en conséquence.


    Si tu fais une recherche tu devrais retrouver le sujet "Vos macros les plus utiles" sur le forum où je cite cette macro (la je suis sur iPhone pas simple pour le retrouver pour toi) c'est les macros _Tf() et _Tf_n() pour la version qui gère les pluriels.
  • AliGatorAliGator Membre, Modérateur
    juillet 2014 modifié #4
    Bon le sujet en question est là  mais après relecture il semble qu'à  l'époque je n'ai pas parlé de mes macros _Tf_n() ... ou peut être dans un autre sujet sur le forum ?


    [EDIT] Ah non ça y est j'ai retrouvé où je les ai publiées, c'est sur le repo de mon célèbre OHAutoNIBi18n ! (En particulier ici). À adapter en fonction de tes besoins mais tu vois l'idée (et en plus dans mon exemple j'illistre l'utilisation des positional parameters avec "1$", "%2$@" etc)
  • Joanna CarterJoanna Carter Membre, Modérateur
    juillet 2014 modifié #5

    Merci pour vos réponses mais je cherchais comment utiliser les fichiers .stringsdict - et, enfin, j'y suis arrivée !


     


    Voilà  la démarche...


     


    // Localizable.stringsdict


    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>%d Used in calculation</key>
    <dict>
    <key>NSStringLocalizedFormatKey</key>
    <string>%#@used@<;/string>
    <key>used</key>
    <dict>
    <key>NSStringFormatSpecTypeKey</key>
    <string>NSStringPluralRuleType</string>
    <key>NSStringFormatValueTypeKey</key>
    <string>d</string>
    <key>zero</key>
    <string>inutilisé dans calcul</string>
    <key>one</key>
    <string>utilisé dans calcul</string>
    <key>other</key>
    <string>utilisés dans calcul</string>
    </dict>
    </dict>
    </dict>
    </plist>

    // code



    {
    NSUInteger numberOfObstacles = // nombre d'obstacles

    self.usedLabel.text = [NSString localizedStringWithFormat:NSLocalizedString(@%d Used in calculation, nil), numberOfObstacles];

    ...
    }

    ... qui renvoie ...


     


    pour 0 obstacle - "inutilisé dans calcul"


     


    pour 1 obstacle - "utilisé dans calcul"


     


    pour >1 obstacles - "utilisés dans calcul"


     


    Mais si quelqu'un peut corriger les traductions ?  :-*


  • DrakenDraken Membre
    juillet 2014 modifié #6
    Pour une bonne traduction, tu dois nous donner plus de détails sur le logiciel. Que fait-il ? à  qui s'adresse-t-il ? Il faut connaà®tre le contexte d'utilisation pour trouver les bonnes phrases.
  • Et as-tu pensé aussi qu'il peut y avoir aussi des accords masculin/féminin ?
  • Joanna CarterJoanna Carter Membre, Modérateur


    Pour une bonne traduction, tu dois nous donner plus de détails sur le logiciel. Que fait-il ? à  qui s'adresse-t-il ? Il faut connaà®tre le contexte d'utilisation pour trouver les bonnes phrases.




     


    Ah, merci. Les pilotes des jets privés se serviront de l'app afin de calculer les paramètres de décollage/atterrissage/masse & centrage/etc.


     


    Ce qui concerne les traductions c'est lors du calcul du décollage quand il faut compter sur la disposition des obstacles après la fin de la piste.


     


    On peut tenir compte des obstacles ou non. Du coup, je veut traduire les phrases "Not used in calculation" et "Used in calculation" mais en occupant le moins d'espace que possible. On pourrait avoir un ou plus d'obstacles, donc il faut localiser les phrases en tenant compte du nombre d'obstacles.

  • Joanna CarterJoanna Carter Membre, Modérateur


    Et as-tu pensé aussi qu'il peut y avoir aussi des accords masculin/féminin ?




     


    Bah, ouais ! Mais, apparemment, soit le mechanism ne fonctionne pas, soit le documentation est pauvre, je n'arrive pas encore à  réussir. Heureusement, pour le moment, les deux sujets sont masculins  ::)


     


    Toutefois, il faudrait signaler le genre du mot chaque fois que l'on veut traduire.

  • Une solution est de dire "non pris en compte" qui sera le même au singulier et au pluriel...


     


    En plus, je peux te dire que les accords de participe passé chez les pilotes, ce n'est pas vraiment leur truc !!! Et je parle en connaissance de cause !  xd


  • Ah, et autre chose, chez nous, les calculs de limitations sont non localisés (tout en anglais)... Les pilotes sont censés parler anglais !


    Bon, mais çà , c'est plutôt pour contourner le problème, et je pense que ce n'est pas ton objectif !




  • En plus, je peux te dire que les accords de participe passé chez les pilotes, ce n'est pas vraiment leur truc !!! Et je parle en connaissance de cause !  xd




     


    Mais les pilotes ne sont pas tous des chats :)

  • Joanna CarterJoanna Carter Membre, Modérateur


    Une solution est de dire "non pris en compte" qui sera le même au singulier et au pluriel...




     


    Et, en revanche, "pris en compte" ?


     




    En plus, je peux te dire que les accords de participe passé chez les pilotes, ce n'est pas vraiment leur truc !!! Et je parle en connaissance de cause !   xd



     


    Tu travail(ais) dans l'aéronautique ?


     





    Ah, et autre chose, chez nous, les calculs de limitations sont non localisés (tout en anglais)... Les pilotes sont censés parler anglais !




     


    Bien sûr, mais nous avons trouvé que n'importe quelle métier, avoir le logiciel en langue maternelle, ça évite d'avoir besoin de traduire en saisissant et en lisant les infos assez techniques.



  • Mais les pilotes ne sont pas tous des chats :)




     


    Non, car j'en ai mangé un certain nombre !  ;D


     




    Et, en revanche, "pris en compte" ?




     


    Oui, çà  ne me choque pas... (obstacle pris en compte dans les calculs). Ou alors, tu peux aussi dire, "dans la trouée d'envol", quoique il peut y avoir des obstacles dans la trouée d'envol, qui n'ont pas d'influence sur les limitations décollage (pour les appareils performants).


     


     



     


    Tu travail(ais) dans l'aéronautique ?



     




     


     


    Oui, et j'utilise tous les jours ces ******* de fiches de limitations décollage (sauf là , car je suis en congé !)


     


     



     


    Bien sûr, mais nous avons trouvé que n'importe quelle métier, avoir le logiciel en langue maternelle, ça évite d'avoir besoin de traduire en saisissant et en lisant les infos assez techniques.



     


    Pour ce type d'application, je te confirme que ce n'est vraiment pas un problème. Notre documentation est, pour une assez grosse partie, en anglais... Mais si c'est une contrainte imposée par un client, je comprends ton besoin.

  • Joanna CarterJoanna Carter Membre, Modérateur


    Oui, çà  ne me choque pas... (obstacle pris en compte dans les calculs). Ou alors, tu peux aussi dire, "dans la trouée d'envol", quoique il peut y avoir des obstacles dans la trouée d'envol, qui n'ont pas d'influence sur les limitations décollage (pour les appareils performants).




     


    J'ai pas beaucoup d'espace, si je mettais seulement "pris en compte" ou "non pris en compte", ça ira ? Le contexte est bien clair.


     




    Pour ce type d'application, je te confirme que ce n'est vraiment pas un problème. Notre documentation est, pour une assez grosse partie, en anglais... Mais si c'est une contrainte imposée par un client, je comprends ton besoin.




     


    J'ai déjà  montré l'app à  plusieurs pilotes français est ils m'ont dit que ils étaient agréablement surpris que nous avons fait l'effort et que c'était bien apprécié.


     


    La prochaine étape sera de le traduire vers le chinois  B)   :*



     


     




  • La prochaine étape sera de le traduire vers le chinois  B)   :*



     





     


    Désolée, je ne pourrais t'être d'aucun secours...  xd

Connectez-vous ou Inscrivez-vous pour répondre.