2012-12-29 9 views
5

Gdy kursor myszy nad ikoną aplikacji na pasku zadań, nazwa aplikacji pojawi się na ikonie aplikacji.OSX: jak zlokalizować nazwę pojawiającą się, gdy mysz leci nad ikoną aplikacji w doku?

Zgodnie z przeprowadzonymi właśnie testami, szwy potwierdzają, że nazwa, która się pojawia, odpowiada "nazwie produktu" zdefiniowanej w celu projektu (w menu "Ustawienia kompilacji").

Pytanie brzmi: jak mogę zlokalizować nazwę docelowego produktu, aby nazwa mojej aplikacji była wyświetlana we właściwym języku, gdy użytkownik ustawi kursor myszy nad ikoną mojej aplikacji?

Czy jest jakaś inna metoda lokalizacji nazwy aplikacji, która pojawia się, gdy użytkownik ustawi kursor myszy nad ikoną mojej aplikacji?

Dzięki!

Odpowiedz

5

posiadać plik InfoPlist.strings, w którym zlokalizowano CFBundleDisplayName, można również zlokalizować NSHumanReadableCopyrigh et al.

To jest rzeczywiście zobowiązane do przestrzegania ściśle kroki opisane w tym artykule: http://kb.applingua.com/2011/10/how-to-localize-app-names/

+0

Dziękuję za odpowiedź, ale z wyjątkiem sytuacji, gdy naprawdę coś przeoczyłem (nie zapomniałem zrobić czystego :)) to nie działa! –

+0

CFBundleDisplayName - patrz http: //kb.applingua.com/2011/10/how-to-localize-app-names/ –

+0

Przepraszam naprawiono moją odpowiedź –

2

Po tylu latach ten problem nadal niepokoi mnie (i prawdopodobnych tysiące innych programistów) dłużej niż godzinę.

Biorąc pod uwagę, że link w zaakceptowanej odpowiedzi powyżej przez Daij-Djan jest już martwy (Zaktualizowany link jest teraz na https://kb.applingua.com/2015/10/how-to-localize-app-names/), piszę kolejną odpowiedź z dodanymi przypadkami.

Upewnij się, że zrobili, co następuje:

  1. Info.plist nie jest zaznaczone dla docelowego
  2. Info.plist ma "Aplikacja zlokalizowane nazwy Display" ustawiona na TAK
  3. Info .plist ma "Nazwę pakietu" (CFBundleName), a jej wartość to "$ (PRODUCT_NAME)" (nie pytaj mnie dlaczego: jeśli ustawię tę wartość na inną wartość, to nie zadziała.)
  4. Info.plist nie ma wpisu "Nazwa wyświetlana paczki" (CFBundleDisplayName)
  5. InfoPlist.strings jest zaznaczone dla twojego celu
  6. InfoPlist.strings jest zaznaczone dla we wszystkich językach (w moim przypadku, tylko w języku Base i angielskim.) przynajmniej w języku podstawowym.
  7. InfoPlist.strings ma zarówno "CFBundleDisplayName" i "CFBundleName" wpisy

Powyższy pracował dla mnie. Zasadniczo brakowało mi części wartości "$ (PRODUCT_NAME)" w ciągu ostatniej godziny.

Jeśli to nadal nie działa, należy spróbować utworzyć zupełnie nowy projekt XCode i spróbować nazwać aplikację w coś innego, postępując zgodnie z powyższymi instrukcjami. Następnie porównaj Info.plist i listę Info.plist prawdziwego projektu i zobacz, jaka jest różnica. Właśnie w ten sposób dowiaduję się o wymaganiu "$ (PRODUCT_NAME)".

+1

Chciałem dodać, że jeśli nie dodasz nazwy CFBundleName, nazwa aplikacji w menu głównym nie będzie zlokalizowana. Jeśli chcesz to zlokalizować, potrzebujesz nazwy CFBundleName, zobacz: http://stackoverflow.com/questions/19653849/xcode-application-name-in-os-x-cannot-be-localized – mateuscb