Che cos'è il formato di file STRINGS?
Un file .strings è un file di testo che memorizza stringhe di visualizzazione localizzate - avvisi, messaggi di errore, etichette di pulsanti e altro testo dell'interfaccia utente - per applicazioni macOS e iOS. Molti file .strings contenenti vari messaggi di avviso, notifica ed errore sono memorizzati all'interno del bundle dell'app, organizzati in directory .lproj specifiche per lingua (ad esempio, en.lproj/ per l'inglese o fr.lproj/ per il francese). Il sistema operativo seleziona la cartella .lproj corretta al runtime per visualizzare il testo appropriato alla lingua locale.
Il nome file più comune è Localizable.strings - il file predefinito che Xcode cerca automaticamente. Ogni voce segue una semplice sintassi chiave-valore: "chiave" = "valore"; - chiavi e valori sono stringhe tra virgolette, separate da = e terminate con un punto e virgola. I commenti utilizzano la sintassi in stile C /* */ o //. I file .strings sorgente sono codificati come UTF-8 (preferito da Xcode 10) o storicamente come UTF-16 con un byte-order mark.
Un file .strings può essere aperto e modificato da Apple Xcode, MacroMates TextMate, BBEdit, VS Code o qualsiasi editor di testo semplice. Durante una compilazione Xcode, i file .strings sorgente vengono compilati nel formato binary property list all'interno del bundle dell'app, quindi i file distribuiti differiscono dal testo sorgente.
Apple ha introdotto .xcstrings (String Catalogs) in Xcode 15 (2023) come alternativa moderna basata su JSON con supporto integrato per plurali e varianti grammaticali. Il formato .strings rimane pienamente supportato e ampiamente utilizzato su macOS, iOS, iPadOS, tvOS e watchOS.
Sicurezza e incolumità
RISCHIO: LOWI file .strings sono testo semplice senza contenuto eseguibile. Nessun rischio per la sicurezza nell'aprirli. Quando si modificano le stringhe all'interno di un bundle di app di terze parti (jailbreak/mod), si potrebbe violare la licenza o i termini di servizio dell'app.
Dettagli del formato
in sintesiProgrammi che aprono file STRINGS
Dettagli tecnici
specifiche approfondite| Codifica | UTF-8 (preferita, Xcode 10+); UTF-16 LE o BE con BOM (convenzione legacy) |
| BOM legacy | UTF-16 LE: `FF FE`; UTF-16 BE: `FE FF`; la forma plist binaria compilata inizia con `bplist` (hex 62 70 6C 69 73 74) |
| Sintassi delle voci | `"chiave" = "valore";` - sia chiave che valore tra virgolette doppie; terminatore punto e virgola richiesto |
| Sintassi dei commenti | Stile C `/* commento a blocco */` o commenti di riga `//` |
| Convenzione directory | File posizionati in directory `.lproj` nominate in base alla lingua (es. `en.lproj/`, `ja.lproj/`, `fr.lproj/`) |
| Nome file predefinito | `Localizable.strings` - il file in cui Xcode cerca le stringhe visibili all'utente per impostazione predefinita |
| Forma compilata | Xcode converte i `.strings` sorgente in plist binari durante la compilazione dell'app; i bundle delle app distribuite contengono binari, non testo sorgente |
| Regole per plurali/genere | Un file `.stringsdict` associato (XML plist) nella stessa cartella `.lproj` gestisce le forme plurali e le varianti grammaticali |
| Formato successore | `.xcstrings` (String Catalogs, basato su JSON, Xcode 15 / 2023) è il sostituto moderno per i nuovi progetti |
| Tipo MIME | `text/plain` per la forma sorgente; la forma binaria compilata è `application/octet-stream` |
| Ambito piattaforma | macOS, iOS, iPadOS, tvOS, watchOS e visionOS |
| Strumenti di compilazione | `genstrings` estrae i letterali stringa dal codice sorgente nei file `.strings`; `ibtool` li compila in plist binari nel bundle dell'app |
| Rilasciato | Mac OS X 10.0 (March 2001); later adopted for iOS (2007) |
| Ultima versione | Strings files remain current; Apple introduced .xcstrings (String Catalogs) in Xcode 15 / 2023 as a modern alternative |
| Specifica | developer.apple.com |
Conversioni STRINGS
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file STRINGS.
Domande frequenti
Cos'è un file .strings su Mac?
Come si modifica un file .strings?
Quale codifica utilizza un file .strings?
Cosa ha sostituito i file .strings?
.xcstrings (String Catalogs), introdotto in Xcode 15 (2023), è il sostituto moderno. Consolida tutte le localizzazioni in un unico file JSON con strumenti migliori. I file .strings legacy rimangono pienamente supportati.Come aggiungo una nuova lingua a un'app iOS usando .strings?
.lproj con una copia dei tuoi file .strings da tradurre.