| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259 |
- #!/usr/bin/env python3
- """Patch Apple and PDF strings so brand/format terms are localized (not left in English)."""
- import os
- import re
- base = os.path.join(os.path.dirname(__file__), "..", "App for Indeed")
- KEYS = [
- "There was nothing to restore for this Apple ID.",
- "CV Maker, profiles & PDF export",
- "Export PDF…",
- "Layout matches the CV Maker thumbnail for this template. Export a PDF that matches what you see here (fonts, columns, colours, and rules).",
- "The résumé could not be rendered to PDF (empty output). Try scrolling the preview so it lays out, then export again.",
- "Couldn’t save PDF",
- "We couldn't save the PDF. Try again or choose a different folder.",
- "This disk is read-only. Choose another folder to save your PDF.",
- ]
- # Values per locale (same key order as KEYS)
- LOCALE_VALUES = {
- "ar": [
- "لا يوجد شيء لاستعادته لمعرّف أبل هذا.",
- "صانع السيرة الذاتية، الملفات الشخصية وتصدير بي دي إف",
- "تصدير بي دي إف…",
- "يتطابق التخطيط مع الصورة المصغرة لصانع السيرة الذاتية لهذا القالب. قم بتصدير ملف بي دي إف يطابق ما تراه هنا (الخطوط، الأعمدة، الألوان، والقواعد).",
- "تعذر تحويل السيرة الذاتية إلى بي دي إف (مخرجات فارغة). حاول تمرير المعاينة حتى يتم ترتيبها، ثم قم بالتصدير مرة أخرى.",
- "تعذر حفظ ملف بي دي إف",
- "تعذر حفظ ملف بي دي إف. حاول مرة أخرى أو اختر مجلداً مختلفاً.",
- "هذا القرص للقراءة فقط. اختر مجلداً آخر لحفظ ملف بي دي إف.",
- ],
- "de": [
- "Für diese Apple-ID gab es nichts wiederherzustellen.",
- "Lebenslauf-Ersteller, Profile und Export portabler Dokumente",
- "Portables Dokument exportieren…",
- "Das Layout entspricht der Miniaturansicht des Lebenslauf-Erstellers für diese Vorlage. Exportieren Sie ein portables Dokument, das dem hier Gesehenen entspricht (Schriften, Spalten, Farben und Regeln).",
- "Der Lebenslauf konnte nicht als portables Dokument gerendert werden (leere Ausgabe). Versuchen Sie, in der Vorschau zu scrollen, damit sie sich richtig anordnet, und exportieren Sie dann erneut.",
- "Portables Dokument konnte nicht gespeichert werden",
- "Das portable Dokument konnte nicht gespeichert werden. Versuchen Sie es erneut oder wählen Sie einen anderen Ordner.",
- "Dieses Laufwerk ist schreibgeschützt. Wählen Sie einen anderen Ordner für Ihr portables Dokument.",
- ],
- "el": [
- "Δεν υπήρχε τίποτα για επαναφορά για αυτό το αναγνωριστικό Απόλ.",
- "Δημιουργός Βιογραφικού, προφίλ και εξαγωγή φορητού εγγράφου",
- "Εξαγωγή φορητού εγγράφου…",
- "Η διάταξη ταιριάζει με τη μικρογραφία του Δημιουργού Βιογραφικού για αυτό το πρότυπο. Εξάγετε ένα φορητό έγγραφο που ταιριάζει με αυτό που βλέπετε εδώ (γραμματοσειρές, στήλες, χρώματα και γραμμές).",
- "Δεν ήταν δυνατή η απόδοση του βιογραφικού ως φορητό έγγραφο (κενή έξοδος). Δοκιμάστε να κυλίσετε την προεπισκόπηση για να διαμορφωθεί και στη συνέχεια εξάγετε ξανά.",
- "Αδυναμία αποθήκευσης φορητού εγγράφου",
- "Δεν ήταν δυνατή η αποθήκευση του φορητού εγγράφου. Δοκιμάστε ξανά ή επιλέξτε διαφορετικό φάκελο.",
- "Αυτός ο δίσκος είναι μόνο για ανάγνωση. Επιλέξτε άλλο φάκελο για να αποθηκεύσετε το φορητό σας έγγραφο.",
- ],
- "es": [
- "No había nada que restaurar para este identificador de Apple.",
- "Creador de CV, perfiles y exportación de documentos portátiles",
- "Exportar documento portátil…",
- "El diseño coincide con la miniatura del Creador de CV para esta plantilla. Exporta un documento portátil que coincida con lo que ves aquí (fuentes, columnas, colores y líneas).",
- "No se pudo renderizar el CV como documento portátil (salida vacía). Intenta desplazar la vista previa para que se organice y luego exporta de nuevo.",
- "No se pudo guardar el documento portátil",
- "No se pudo guardar el documento portátil. Inténtalo de nuevo o elige una carpeta diferente.",
- "Este disco es de solo lectura. Elige otra carpeta para guardar tu documento portátil.",
- ],
- "es-MX": [
- "No había nada que restaurar para este identificador de Apple.",
- "Creador de CV, perfiles y exportación de documentos portátiles",
- "Exportar documento portátil…",
- "El diseño coincide con la miniatura del Creador de CV para esta plantilla. Exporta un documento portátil que coincida con lo que ves aquí (fuentes, columnas, colores y líneas).",
- "No se pudo convertir el CV a documento portátil (salida vacía). Intenta desplazar la vista previa para que se organice y luego exporta de nuevo.",
- "No se pudo guardar el documento portátil",
- "No se pudo guardar el documento portátil. Inténtalo de nuevo o elige una carpeta diferente.",
- "Este disco es de solo lectura. Elige otra carpeta para guardar tu documento portátil.",
- ],
- "fi": [
- "Tälle Apple-tunnukselle ei ollut mitään palautettavaa.",
- "CV-tekijä, profiilit ja siirrettävän asiakirjan vienti",
- "Vie siirrettävä asiakirja…",
- "Asettelu vastaa CV-tekijän pikkukuvaa tälle mallille. Vie siirrettävä asiakirja, joka vastaa sitä, mitä näet tässä (fontit, sarakkeet, värit ja viivat).",
- "Ansioluetteloa ei voitu muuntaa siirrettäväksi asiakirjaksi (tyhjä tulos). Yritä vierittää esikatselua, jotta se asettuu, ja vie sitten uudelleen.",
- "Siirrettävää asiakirjaa ei voitu tallentaa",
- "Siirrettävää asiakirjaa ei voitu tallentaa. Yritä uudelleen tai valitse toinen kansio.",
- "Tämä levy on kirjoitussuojattu. Valitse toinen kansio tallentaaksesi siirrettävän asiakirjasi.",
- ],
- "fr": [
- "Il n'y avait rien à restaurer pour cet identifiant Apple.",
- "Créateur de CV, profils et export de documents portables",
- "Exporter en document portable…",
- "La mise en page correspond à la miniature du Créateur de CV pour ce modèle. Exportez un document portable qui correspond à ce que vous voyez ici (polices, colonnes, couleurs et règles).",
- "Le CV n'a pas pu être converti en document portable (sortie vide). Essayez de faire défiler l'aperçu pour qu'il se mette en page, puis exportez à nouveau.",
- "Impossible d'enregistrer le document portable",
- "Impossible d'enregistrer le document portable. Réessayez ou choisissez un autre dossier.",
- "Ce disque est en lecture seule. Choisissez un autre dossier pour enregistrer votre document portable.",
- ],
- "fr-CA": [
- "Il n'y avait rien à restaurer pour cet identifiant Apple.",
- "Créateur de CV, profils et export de documents portables",
- "Exporter en document portable…",
- "La mise en page correspond à la vignette du Créateur de CV pour ce modèle. Exportez un document portable qui correspond à ce que vous voyez ici (polices, colonnes, couleurs et règles).",
- "Le CV n'a pas pu être converti en document portable (sortie vide). Essayez de faire défiler l'aperçu pour qu'il se mette en page, puis exportez à nouveau.",
- "Impossible d'enregistrer le document portable",
- "Impossible d'enregistrer le document portable. Réessayez ou choisissez un autre dossier.",
- "Ce disque est en lecture seule. Choisissez un autre dossier pour enregistrer votre document portable.",
- ],
- "he": [
- "לא היה מה לשחזר עבור מזהה אפל זה.",
- "יוצר קורות חיים, פרופילים וייצוא פי־די־אף",
- "ייצוא פי־די־אף…",
- "הפריסה תואמת את התמונה הממוזערת של יוצר קורות חיים עבור תבנית זו. ייצא קובץ פי־די־אף שתואם את מה שאתה רואה כאן (גופנים, עמודות, צבעים וקווים).",
- "לא ניתן היה לעבד את קורות החיים לפי־די־אף (פלט ריק). נסה לגלול בתצוגה המקדימה כדי שתפרוס, ולאחר מכן ייצא שוב.",
- "לא ניתן לשמור קובץ פי־די־אף",
- "לא הצלחנו לשמור את קובץ הפי־די־אף. נסה שוב או בחר תיקיה אחרת.",
- "דיסק זה לקריאה בלבד. בחר תיקיה אחרת כדי לשמור את קובץ הפי־די־אף שלך.",
- ],
- "it": [
- "Non c'era nulla da ripristinare per questo ID Apple.",
- "Creatore CV, profili ed esportazione di documenti portatili",
- "Esporta documento portatile…",
- "Il layout corrisponde alla miniatura del Creatore CV per questo modello. Esporta un documento portatile che corrisponde a ciò che vedi qui (font, colonne, colori e linee).",
- "Impossibile renderizzare il CV come documento portatile (output vuoto). Prova a scorrere l'anteprima per farlo impaginare, quindi esporta di nuovo.",
- "Impossibile salvare il documento portatile",
- "Impossibile salvare il documento portatile. Riprova o scegli una cartella diversa.",
- "Questo disco è di sola lettura. Scegli un'altra cartella per salvare il tuo documento portatile.",
- ],
- "ko": [
- "이 애플 계정에 복원할 구독이 없습니다.",
- "이력서 제작기, 프로필 및 피디에프보내기",
- "피디에프보내기…",
- "레이아웃이 이 템플릿의 이력서 제작기 썸네일과 일치합니다. 여기에서 보는 내용(글꼴, 열, 색상 및 선)과 일치하는 피디에프를보냅니다.",
- "이력서를 피디에프로 렌더링할 수 없습니다(빈 출력). 미리보기를 스크롤하여 레이아웃을 잡은 후 다시보내세요.",
- "피디에프를 저장할 수 없음",
- "피디에프를 저장할 수 없습니다. 다시 시도하거나 다른 폴더를 선택하세요.",
- "이 디스크는 읽기 전용입니다. 피디에프를 저장할 다른 폴더를 선택하세요.",
- ],
- "nb": [
- "Det var ingenting å gjenopprette for denne Apple-kontoen.",
- "CV-maker, profiler og eksport av bærbare dokumenter",
- "Eksporter bærbart dokument…",
- "Oppsettet samsvarer med CV-makerens miniatyrbilde for denne malen. Eksporter et bærbart dokument som samsvarer med det du ser her (fonter, kolonner, farger og linjer).",
- "CV-et kunne ikke gjengis som bærbart dokument (tom utgang). Prøv å rulle gjennom forhåndsvisningen slik at den legger seg, og eksporter deretter på nytt.",
- "Kunne ikke lagre bærbart dokument",
- "Vi kunne ikke lagre det bærbare dokumentet. Prøv igjen eller velg en annen mappe.",
- "Denne disken er skrivebeskyttet. Velg en annen mappe for å lagre ditt bærbare dokument.",
- ],
- "nl": [
- "Er was niets te herstellen voor deze Apple-ID.",
- "CV-maker, profielen en export van draagbare documenten",
- "Draagbaar document exporteren…",
- "Lay-out komt overeen met de miniatuur van de CV-maker voor dit sjabloon. Exporteer een draagbaar document dat overeenkomt met wat u hier ziet (lettertypen, kolommen, kleuren en lijnen).",
- "Het CV kon niet worden weergegeven als draagbaar document (lege uitvoer). Probeer door de preview te scrollen zodat het wordt opgemaakt en exporteer opnieuw.",
- "Kon draagbaar document niet opslaan",
- "We konden het draagbare document niet opslaan. Probeer het opnieuw of kies een andere map.",
- "Deze schijf is alleen-lezen. Kies een andere map om uw draagbare document op te slaan.",
- ],
- "pl": [
- "Nie było nic do przywrócenia dla tego konta Apple.",
- "Kreator CV, profile i eksport przenośnych dokumentów",
- "Eksportuj przenośny dokument…",
- "Układ odpowiada miniaturowi Kreatora CV dla tego szablonu. Eksportuj przenośny dokument, który odpowiada temu, co widzisz tutaj (czcionki, kolumny, kolory i linie).",
- "Nie można wyrenderować CV jako przenośnego dokumentu (puste wyjście). Spróbuj przewinąć podgląd, aby się ułożył, a następnie wyeksportuj ponownie.",
- "Nie można zapisać przenośnego dokumentu",
- "Nie można zapisać przenośnego dokumentu. Spróbuj ponownie lub wybierz inny folder.",
- "Ten dysk jest tylko do odczytu. Wybierz inny folder, aby zapisać swój przenośny dokument.",
- ],
- "pt-BR": [
- "Não havia nada para restaurar para este ID Apple.",
- "Criador de Currículo, perfis e exportação de documentos portáteis",
- "Exportar documento portátil…",
- "O layout corresponde à miniatura do Criador de Currículo para este modelo. Exporte um documento portátil que corresponda ao que você vê aqui (fontes, colunas, cores e linhas).",
- "O currículo não pôde ser convertido em documento portátil (saída vazia). Tente rolar a prévia para que ele se organize e exporte novamente.",
- "Não foi possível salvar o documento portátil",
- "Não foi possível salvar o documento portátil. Tente novamente ou escolha uma pasta diferente.",
- "Este disco é somente leitura. Escolha outra pasta para salvar seu documento portátil.",
- ],
- "ru": [
- "Нечего восстанавливать для этой учётной записи Эпл.",
- "Создание резюме, профили и экспорт в формате ПДФ",
- "Экспорт ПДФ…",
- "Макет соответствует миниатюре Создания резюме для этого шаблона. Экспортируйте файл ПДФ, соответствующий тому, что вы видите здесь (шрифты, колонки, цвета и линии).",
- "Не удалось преобразовать резюме в ПДФ (пустой вывод). Попробуйте прокрутить предпросмотр, чтобы оно выстроилось, затем экспортируйте снова.",
- "Не удалось сохранить ПДФ",
- "Не удалось сохранить ПДФ. Повторите попытку или выберите другую папку.",
- "Этот диск доступен только для чтения. Выберите другую папку для сохранения ПДФ.",
- ],
- "sv": [
- "Det fanns inget att återställa för detta Apple-ID.",
- "CV-skapare, profiler och export av bärbara dokument",
- "Exportera bärbart dokument…",
- "Layouten matchar CV-skaparens miniatyrbild för den här mallen. Exportera ett bärbart dokument som matchar det du ser här (typsnitt, kolumner, färger och regler).",
- "CV:t kunde inte renderas som bärbart dokument (tom utdata). Försök rulla förhandsvisningen så att den lägger ut sig, exportera sedan igen.",
- "Kunde inte spara bärbart dokument",
- "Vi kunde inte spara det bärbara dokumentet. Försök igen eller välj en annan mapp.",
- "Disken är skrivskyddad. Välj en annan mapp för ditt bärbare dokument.",
- ],
- "uk": [
- "Немає нічого для відновлення для цього облікового запису Епл.",
- "Створення резюме, профілі та експорт у форматі ПДФ",
- "Експортувати ПДФ…",
- "Макет відповідає мініатюрі Створення резюме для цього шаблону. Експортуйте файл ПДФ, який відповідає тому, що ви бачите тут (шрифти, колонки, кольори та лінії).",
- "Не вдалося перетворити резюме на ПДФ (порожній вихід). Спробуйте прокрутити попередній перегляд, щоб воно вибудувалося, а потім експортуйте знову.",
- "Не вдалося зберегти ПДФ",
- "Не вдалося зберегти ПДФ. Спробуйте ще раз або виберіть іншу теку.",
- "Цей диск доступний лише для читання. Виберіть іншу теку, щоб зберегти ПДФ.",
- ],
- "vi": [
- "Không có gì để khôi phục cho mã định danh Áp-pồ này.",
- "Tạo CV, hồ sơ và xuất tài liệu di động",
- "Xuất tài liệu di động…",
- "Bố cục khớp với hình thu nhỏ của Trình tạo CV cho mẫu này. Xuất tài liệu di động khớp với những gì bạn thấy ở đây (phông chữ, cột, màu sắc và đường kẻ).",
- "Không thể kết xuất CV thành tài liệu di động (đầu ra trống). Thử cuộn trong phần xem trước để bố cục hiển thị, sau đó xuất lại.",
- "Không thể lưu tài liệu di động",
- "Không thể lưu tài liệu di động. Hãy thử lại hoặc chọn một thư mục khác.",
- "Ổ đĩa này chỉ đọc. Hãy chọn thư mục khác để lưu tài liệu di động của bạn.",
- ],
- "zh-Hans": [
- "此苹果账户没有可恢复的内容。",
- "简历制作器、个人资料和便携式文档导出",
- "导出便携式文档…",
- "布局与此模板的简历制作器缩略图匹配。导出与您在此处看到的内容匹配的便携式文档(字体、列、颜色和规则)。",
- "无法将简历渲染为便携式文档(输出为空)。尝试滚动预览使其布局完整,然后再次导出。",
- "无法保存便携式文档",
- "无法保存便携式文档。请重试或选择其他文件夹。",
- "此磁盘为只读。请选择其他文件夹保存便携式文档。",
- ],
- "zh-Hant": [
- "此蘋果帳號沒有可回復的內容。",
- "履歷製作器、個人資料和可攜式文件匯出",
- "匯出可攜式文件…",
- "佈局與此範本的履歷製作器縮圖匹配。匯出與您在此處看到的內容匹配的可攜式文件(字型、欄、顏色和規則)。",
- "無法將履歷轉譯為可攜式文件(輸出為空)。嘗試捲動預覽使其佈局完整,然後再次匯出。",
- "無法儲存可攜式文件",
- "無法儲存可攜式文件。請再試一次或選擇其他資料夾。",
- "此磁碟為唯讀。請選擇其他資料夾儲存可攜式文件。",
- ],
- }
- def set_key(content: str, key: str, value: str) -> str:
- esc_key = key.replace("\\", "\\\\").replace('"', '\\"').replace("\n", "\\n")
- esc_val = value.replace("\\", "\\\\").replace('"', '\\"').replace("\n", "\\n")
- pattern = re.compile(r'"' + re.escape(esc_key) + r'"\s*=\s*"(?:\\.|[^"\\])*"\s*;')
- repl = f'"{esc_key}" = "{esc_val}";'
- if pattern.search(content):
- return pattern.sub(repl, content, count=1)
- return content.rstrip() + f'\n"{esc_key}" = "{esc_val}";\n'
- def main():
- for loc, values in LOCALE_VALUES.items():
- if len(values) != len(KEYS):
- raise ValueError(f"{loc}: expected {len(KEYS)} values, got {len(values)}")
- path = os.path.join(base, f"{loc}.lproj", "Localizable.strings")
- with open(path, encoding="utf-8") as f:
- content = f.read()
- for key, val in zip(KEYS, values):
- content = set_key(content, key, val)
- with open(path, "w", encoding="utf-8") as f:
- f.write(content)
- print(f"Patched {loc}: {len(KEYS)} Apple/PDF keys")
- if __name__ == "__main__":
- main()
|