Localización de mensajes de sustantivo plural dinámico (por ejemplo, "5 elementos procesados") en iPhone usando Objective-C

En mi aplicación actual, tengo un código que muestra un mensaje, p. "5 elementos procesados". Para mantener la frase gramaticalmente correcta, es decir, si debe ser o no "5 elementos" o "5 elementos", utilizo el siguiente código:

int numItems = 5;
NSString *myString = [[NSString alloc] initWithFormat:@"%d Item%@ Processed", numItems, (numItems == 1 ? @"" : @"s")];

Esto funciona bien por ahora. Pero estoy localizando mi aplicación y quiero asegurarme de que el texto sea gramaticalmente correcto en todos los idiomas a los que estoy traduciendo la aplicación. YOpodrí hacer algo como esto:

int numItems = 5;
NSString *myString = (numItems == 1 ? 
NSLocalizedStringWithTable(@"%d Item Processed", @"myApp", @"singular version") :
NSLocalizedStringWithTable(@"%d Items Processed", @"myApp", @"plural version"));

Sin embargo, ¡no todos los idiomas tienen las mismas reglas sobre cómo funcionan los plurales! Por ejemplo, (perdone mi ejemplo muy específico aquí) en ruso, los sustantivos modificados con números que terminan con el último dígito 1 (es decir, 21, 31, peron 11) tome el caso nominativo, los números que terminan en 2-4 toman el genitivo singular y 5+ toman el caso genitivo plural. Esto requeriría una lógica mucho más seria para manejar cómo pluralizar un sustantivo particular de una manera gramaticalmente correcta, y esta lógica no coincidiría con la lógica inglesa. Por lo tanto, en teoría, no puedo tener la lógica gramatical en mi código Objective-C, sino que debería tener la lógica gramatical en el archivo de cadenas. ¿Hay alguna forma de hacer esto? @Cómo traducen las personas el texto dinámico de sus aplicaciones para que siga siendo gramaticalmente correcto?

Respuestas a la pregunta(4)

Su respuesta a la pregunta