|
@@ -0,0 +1,259 @@
|
|
|
|
|
+#!/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()
|