es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Haga referencia a un archivo de cadenas desde un stringsdict.

Tengo un archivo de cadenas llamado Localizable.strings que tiene todas las cadenas para mi aplicación y tengo otro archivo stringsdict que contiene todas las cadenas plurales.

Mi archivo stringsdict se ve así:

<?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>GLOBAL_JOUR</key>
    <dict>
      <key>NSStringLocalizedFormatKey</key>
      <string>%#@VARIABLE@</string>
      <key>VARIABLE</key>
      <dict>
        <key>NSStringFormatSpecTypeKey</key>
        <string>NSStringPluralRuleType</string>
        <key>NSStringFormatValueTypeKey</key>
        <string>u</string>
        <key>zero</key>
        <string>0 day</string>
        <key>one</key>
        <string>1 day</string>
        <key>other</key>
        <string>%u days</string>
      </dict>
    </dict>
  </dict>
</plist>

Ahora lo que me gustaría hacer es tener básicamente las cadenas “día” y “días” en mi archivo de cadenas y tener una referencia a ellas desde mi archivo stringsdict para no tener que duplicar las cadenas plurales. ¿Alguien sabe cómo hacerlo? No puedo encontrar nada en la documentación.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en iOS, Swift, string, Xcode y traducción, puedo ofrecer una solución al problema de duplicación de cadenas plurales en los archivos Localizable.strings y stringsdict. Una forma de evitar la duplicación es definir las formas singular y plural de una cadena en el archivo Localizable.strings y hacer referencia a ellas en el archivo stringsdict utilizando marcadores %@. Por ejemplo:

    Localizable.strings

    "day" = "día";
    "days" = "días";
    

    archivo stringsdict

    <key>GLOBAL_JOUR</key>
    <dict>
        <key>NSStringLocalizedFormatKey</key>
        <string>%#@VARIABLE@</string>
        <key>VARIABLE</key>
        <dict>
            <key>NSStringFormatSpecTypeKey</key>
            <string>NSStringPluralRuleType</string>
            <key>NSStringFormatValueTypeKey</key>
            <string>u</string>
            <key>zero</key>
            <string>0 %@</string>
            <key>one</key>
            <<string>1 %@</string>
            <key>other</key>
            <string>%u %@</string>
        </dict>
    </dict>
    

    De esta manera, el archivo stringsdict hace referencia a las formas singular y plural de la cadena utilizando los marcadores %@, que se reemplazan por los valores reales del código en tiempo de ejecución. Este enfoque reduce la duplicación de recursos de cadena y hace que el proceso de localización sea más eficiente.

Comments are closed.