Tworzymy dużą aplikację, składającą się z wielu małych pakietów. Każdy pakiet ma własny zestaw plików zasobów do lokalizacji.
Jakie jest najlepsze podejście do organizowania i nazywania ciągów lokalizacji?
Oto moje dotychczasowe przemyślenia:
Obsługa duplikatów
Ten sam tekst (powiedzmy „kod pocztowy”) może występować wiele razy w ramach danego pakietu. Instynkt programistyczny (DRY) każe mi utworzyć pojedynczy zasób łańcucha, który będzie współużytkowany przez wszystkie wystąpienia .
Z drugiej strony tłumacz może chcieć wybrać długie tłumaczenie („Postleitzahl”) w niektórych miejscach i krótsze („PLZ”) w miejscach o mniejszej przestrzeni. Lub możemy zdecydować o dołączeniu dwukropka do niektórych wystąpień („Kod pocztowy:”), ale nie do innych. Lub może wymagać innej litery („kod pocztowy”) w niektórych miejscach. Wszystkie te argumenty wskazują na utworzenie jednego zasobu na użycie, nawet jeśli ich zawartość jest identyczna .
Nazewnictwo
Jeśli naszym celem jest wyeliminowanie duplikatów, sensowne jest nazwanie zasobów według zawartości , być może wskazując na rodzaj użycia za pomocą prefiksu. Więc możemy mieć labelOK
= "OK" , messageFileTooLarge
= "Plik przekracza maksymalny rozmiar pliku." i labelZipCode
= „Kod pocztowy” .
Nazywanie według zawartości ma tę zaletę, że naturalnie obsługuje argumenty formatu: zasób messageFileHas_0_MBWhileMaximumIs_1_MB
wyraźnie przyjmuje dwa argumenty formatowania, rzeczywisty rozmiar pliku i maksymalny rozmiar pliku.
Jeśli pozwolimy na duplikaty, nazywanie samych treści nie ma sensu. Aby uzyskać unikalne nazwy zasobów, musimy jakoś zawrzeć miejsce użycia w nazwie zasobu. Działa to w przypadku kontrolek graficznych, chociaż identyfikatory mają tendencję do wydłużania się: fileSelectionConfirmationButtonText
= „OK” , customerDetailsTableColumnZipCode
= „Kod pocztowy” . Jednak w przypadku plików kodu niewizualnego jest trudniej. Jak nazwać określone użycie łańcucha, jeśli nie wiesz, gdzie ostatecznie zostanie wyświetlone? Według pliku kodu i nazwy funkcji? Wydaje mi się raczej niezdarny i kruchy.
Podsumowując, skłaniam się ku dopuszczeniu duplikatów, ale staram się znaleźć spójny schemat nazewnictwa, który to obsługuje.
Edycja: To pytanie ma dwa aspekty: Jak organizować zasoby (DRY vs. duplikaty) i jak je nazwać . Jak dotąd odpowiedzi koncentrowały się na pierwszym aspekcie. Byłbym wdzięczny za opinie dotyczące konwencji nazewnictwa!