Co to jest format pliku STRINGS?
Plik .strings to plik tekstowy przechowujący zlokalizowane ciągi wyświetlane - alerty, komunikaty o błędach, etykiety przycisków i inne teksty interfejsu użytkownika - dla aplikacji macOS i iOS. Wiele plików .strings zawierających różne komunikaty o alertach, powiadomieniach i błędach jest przechowywanych w pakiecie aplikacji, zorganizowanych w katalogach .lproj specyficznych dla danego języka (na przykład en.lproj/ dla angielskiego lub fr.lproj/ dla francuskiego). System operacyjny wybiera odpowiedni folder .lproj w czasie wykonywania, aby wyświetlić tekst właściwy dla danej lokalizacji.
Najczęstszą nazwą pliku jest Localizable.strings - domyślny plik, którego Xcode szuka automatycznie. Każdy wpis jest zgodny z prostą składnią klucz-wartość: "klucz" = "wartość"; - klucze i wartości są ciągami ujętymi w cudzysłów, oddzielonymi znakiem = i zakończonymi średnikiem. Komentarze używają składni w stylu C: /* */ lub //. Źródłowe pliki .strings są kodowane jako UTF-8 (preferowane od Xcode 10) lub historycznie jako UTF-16 ze znakiem kolejności bajtów (BOM).
Plik .strings może być otwierany i edytowany przez Apple Xcode, MacroMates TextMate, BBEdit, VS Code lub dowolny edytor zwykłego tekstu. Podczas budowania projektu w Xcode, źródłowe pliki .strings są kompilowane do formatu binarnej listy właściwości (property list) wewnątrz pakietu aplikacji, więc pliki wdrożone różnią się od tekstu źródłowego.
Apple wprowadziło .xcstrings (String Catalogs) w Xcode 15 (2023) jako nowoczesną alternatywę opartą na JSON z wbudowaną obsługą liczb mnogich i wariantów gramatycznych. Format .strings pozostaje w pełni obsługiwany i szeroko stosowany w systemach macOS, iOS, iPadOS, tvOS i watchOS.
Bezpieczeństwo
RYZYKO: LOWPliki .strings są zwykłym tekstem bez zawartości wykonywalnej. Brak ryzyka bezpieczeństwa przy ich otwieraniu. Podczas modyfikowania ciągów wewnątrz pakietu aplikacji innej firmy (jailbreak/modyfikacje) możesz naruszyć licencję aplikacji lub warunki korzystania z usługi.
Szczegóły formatu
w pigułceProgramy otwierające pliki STRINGS
Szczegóły techniczne
specyfikacja| Kodowanie | UTF-8 (preferowane, Xcode 10+); UTF-16 LE lub BE z BOM (starsza konwencja) |
| Historyczny BOM | UTF-16 LE: `FF FE`; UTF-16 BE: `FE FF`; skompilowana binarna forma plist zaczyna się od `bplist` (hex 62 70 6C 69 73 74) |
| Składnia wpisu | `"klucz" = "wartość";` - zarówno klucz, jak i wartość w cudzysłowie; wymagany średnik na końcu |
| Składnia komentarzy | W stylu C `/* komentarz blokowy */` lub komentarze liniowe `//` |
| Konwencja katalogów | Pliki umieszczane w katalogach `.lproj` nazwanych według lokalizacji (np. `en.lproj/`, `ja.lproj/`, `fr.lproj/`) |
| Domyślna nazwa pliku | `Localizable.strings` - plik, w którym Xcode domyślnie szuka ciągów widocznych dla użytkownika |
| Forma skompilowana | Xcode konwertuje źródłowe `.strings` na binarny plist podczas budowania aplikacji; wdrożone pakiety aplikacji zawierają tekst binarny, a nie źródłowy |
| Reguły liczby mnogiej/rodzaju | Sparowany plik `.stringsdict` (XML plist) w tym samym katalogu `.lproj` obsługuje formy liczby mnogiej i warianty gramatyczne |
| Format następcy | `.xcstrings` (String Catalogs, oparty na JSON, Xcode 15 / 2023) to nowoczesny następca dla nowych projektów |
| Typ MIME | `text/plain` dla formy źródłowej; skompilowana forma binarna to `application/octet-stream` |
| Zakres platform | macOS, iOS, iPadOS, tvOS, watchOS i visionOS |
| Narzędzia budowania | `genstrings` wyodrębnia literały ciągów z kodu źródłowego do plików `.strings`; `ibtool` kompiluje je do binarnego plist w pakiecie aplikacji |
| Wydano | Mac OS X 10.0 (March 2001); later adopted for iOS (2007) |
| Najnowsza wersja | Strings files remain current; Apple introduced .xcstrings (String Catalogs) in Xcode 15 / 2023 as a modern alternative |
| Specyfikacja | developer.apple.com |
Konwersje STRINGS
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki STRINGS.