diff --git a/CHANGELOG.md b/CHANGELOG.md index 37fbb11..01c0f22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Documentation: added release process instructions +- Translation: added French translation ## 0.7.4 - 2022-04-03 diff --git a/docs/translators.md b/docs/translators.md index b74ac4c..ff986fa 100644 --- a/docs/translators.md +++ b/docs/translators.md @@ -14,11 +14,17 @@ To create or update the PO template (`po/diffuse.pot`), use this command at the repo root: ```sh -xgettext -w 84 -o po/diffuse.pot -f po/POTFILES.in +xgettext -w 84 -o po/diffuse.pot -f po/POTFILES ``` +Regenerating the POT file will add a bunch of new lines coming from +`data/io.github.mightycreak.Diffuse.appdata.xml.in`. Not all the lines need to +be translated in this file. In `diffuse.pot`, look for the comment +`Translators: no need to translate after this comment`, and remove all the +added lines for this file. + _Note:_ why 84 characters, you ask? because the usage text has to be 80-char -wide, plus the beginning and ending `"` and the final `\n` (literally two +wide, plus the beginning and ending `"` and the final `\n` (which is two characters). ## Create a new translation @@ -29,7 +35,7 @@ created, refer to previous section "Create PO template". 1. Create a .po file for the translation (replace `` with your language): ```sh - msginit -l -o .po -i diffuse.pot + msginit -w 84 -l -o .po -i diffuse.pot ``` 2. Manually complete in the translations in the .po file using either an diff --git a/po/LINGUAS b/po/LINGUAS index 21d0769..173d1d7 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -2,6 +2,7 @@ cs de es +fr it ja ko diff --git a/po/diffuse.pot b/po/diffuse.pot index 8a9db5e..2376484 100644 --- a/po/diffuse.pot +++ b/po/diffuse.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-27 21:56-0500\n" +"POT-Creation-Date: 2022-04-04 12:00-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -38,7 +38,7 @@ msgstr "" msgid "Main window: diff between two files" msgstr "" -#: src/diffuse/constants.py:24 +#: src/diffuse/constants.py:25 msgid "Copyright" msgstr "" @@ -91,518 +91,518 @@ msgstr "" msgid "Search Backwards" msgstr "" -#: src/diffuse/main.py:79 +#: src/diffuse/main.py:85 msgid "Close Tab" msgstr "" -#: src/diffuse/main.py:124 +#: src/diffuse/main.py:132 msgid "Open File..." msgstr "" -#: src/diffuse/main.py:125 +#: src/diffuse/main.py:133 msgid "Reload File" msgstr "" -#: src/diffuse/main.py:126 +#: src/diffuse/main.py:134 msgid "Save File" msgstr "" -#: src/diffuse/main.py:127 +#: src/diffuse/main.py:135 msgid "Save File As..." msgstr "" -#: src/diffuse/main.py:280 +#: src/diffuse/main.py:288 msgid "Save changes before loading the new file?" msgstr "" -#: src/diffuse/main.py:391 +#: src/diffuse/main.py:399 #, python-format msgid "Error reading revision %(rev)s of %(file)s." msgstr "" -#: src/diffuse/main.py:394 src/diffuse/main.py:1849 +#: src/diffuse/main.py:402 src/diffuse/main.py:1857 #, python-format msgid "Error reading %s." msgstr "" -#: src/diffuse/main.py:416 +#: src/diffuse/main.py:424 msgid "Open File" msgstr "" -#: src/diffuse/main.py:473 +#: src/diffuse/main.py:481 #, python-format msgid "The file %s changed on disk. Do you want to reload the file?" msgstr "" -#: src/diffuse/main.py:499 +#: src/diffuse/main.py:507 #, python-format msgid "Save %(title)s Pane %(pane)d" msgstr "" -#: src/diffuse/main.py:531 +#: src/diffuse/main.py:539 #, python-format msgid "A file named %s already exists. Do you want to overwrite it?" msgstr "" -#: src/diffuse/main.py:538 +#: src/diffuse/main.py:546 #, python-format msgid "" "The file %s has been modified by another process since reading it. If you save, " "all the external changes could be lost. Save anyways?" msgstr "" -#: src/diffuse/main.py:580 +#: src/diffuse/main.py:588 #, python-format msgid "Error encoding to %s." msgstr "" -#: src/diffuse/main.py:584 src/diffuse/preferences.py:298 +#: src/diffuse/main.py:592 src/diffuse/preferences.py:299 #, python-format msgid "Error writing %s." msgstr "" -#: src/diffuse/main.py:614 +#: src/diffuse/main.py:622 msgid "Go To Line..." msgstr "" -#: src/diffuse/main.py:615 +#: src/diffuse/main.py:623 msgid "Line Number: " msgstr "" -#: src/diffuse/main.py:646 +#: src/diffuse/main.py:654 msgid "" "Press the enter key or double click to edit. Press the space bar or use the RMB " "menu to manually align." msgstr "" -#: src/diffuse/main.py:650 +#: src/diffuse/main.py:658 msgid "Press the escape key to finish editing." msgstr "" -#: src/diffuse/main.py:653 +#: src/diffuse/main.py:661 msgid "" "Select target line and press the space bar to align. Press the escape key to " "cancel." msgstr "" -#: src/diffuse/main.py:776 +#: src/diffuse/main.py:784 msgid "_File" msgstr "" -#: src/diffuse/main.py:777 +#: src/diffuse/main.py:785 msgid "_Open File..." msgstr "" -#: src/diffuse/main.py:778 +#: src/diffuse/main.py:786 msgid "Open File In New _Tab..." msgstr "" -#: src/diffuse/main.py:779 +#: src/diffuse/main.py:787 msgid "Open _Modified Files..." msgstr "" -#: src/diffuse/main.py:780 +#: src/diffuse/main.py:788 msgid "Open Commi_t..." msgstr "" -#: src/diffuse/main.py:781 +#: src/diffuse/main.py:789 msgid "_Reload File" msgstr "" -#: src/diffuse/main.py:783 +#: src/diffuse/main.py:791 msgid "_Save File" msgstr "" -#: src/diffuse/main.py:784 +#: src/diffuse/main.py:792 msgid "Save File _As..." msgstr "" -#: src/diffuse/main.py:785 +#: src/diffuse/main.py:793 msgid "Save A_ll" msgstr "" -#: src/diffuse/main.py:787 +#: src/diffuse/main.py:795 msgid "New _2-Way File Merge" msgstr "" -#: src/diffuse/main.py:788 +#: src/diffuse/main.py:796 msgid "New _3-Way File Merge" msgstr "" -#: src/diffuse/main.py:789 +#: src/diffuse/main.py:797 msgid "New _N-Way File Merge..." msgstr "" -#: src/diffuse/main.py:791 +#: src/diffuse/main.py:799 msgid "_Close Tab" msgstr "" -#: src/diffuse/main.py:792 +#: src/diffuse/main.py:800 msgid "_Undo Close Tab" msgstr "" -#: src/diffuse/main.py:793 +#: src/diffuse/main.py:801 msgid "_Quit" msgstr "" -#: src/diffuse/main.py:796 +#: src/diffuse/main.py:804 msgid "_Edit" msgstr "" -#: src/diffuse/main.py:797 +#: src/diffuse/main.py:805 msgid "_Undo" msgstr "" -#: src/diffuse/main.py:798 +#: src/diffuse/main.py:806 msgid "_Redo" msgstr "" -#: src/diffuse/main.py:800 +#: src/diffuse/main.py:808 msgid "Cu_t" msgstr "" -#: src/diffuse/main.py:801 +#: src/diffuse/main.py:809 msgid "_Copy" msgstr "" -#: src/diffuse/main.py:802 +#: src/diffuse/main.py:810 msgid "_Paste" msgstr "" -#: src/diffuse/main.py:804 +#: src/diffuse/main.py:812 msgid "Select _All" msgstr "" -#: src/diffuse/main.py:805 +#: src/diffuse/main.py:813 msgid "C_lear Edits" msgstr "" -#: src/diffuse/main.py:806 +#: src/diffuse/main.py:814 msgid "_Dismiss All Edits" msgstr "" -#: src/diffuse/main.py:808 +#: src/diffuse/main.py:816 msgid "_Find..." msgstr "" -#: src/diffuse/main.py:809 +#: src/diffuse/main.py:817 msgid "Find _Next" msgstr "" -#: src/diffuse/main.py:810 +#: src/diffuse/main.py:818 msgid "Find Pre_vious" msgstr "" -#: src/diffuse/main.py:811 +#: src/diffuse/main.py:819 msgid "_Go To Line..." msgstr "" -#: src/diffuse/main.py:813 +#: src/diffuse/main.py:821 msgid "Pr_eferences..." msgstr "" -#: src/diffuse/main.py:817 +#: src/diffuse/main.py:825 msgid "None" msgstr "" -#: src/diffuse/main.py:835 +#: src/diffuse/main.py:843 msgid "_View" msgstr "" -#: src/diffuse/main.py:836 +#: src/diffuse/main.py:844 msgid "_Syntax Highlighting" msgstr "" -#: src/diffuse/main.py:838 +#: src/diffuse/main.py:846 msgid "Re_align All" msgstr "" -#: src/diffuse/main.py:839 +#: src/diffuse/main.py:847 msgid "_Isolate" msgstr "" -#: src/diffuse/main.py:841 +#: src/diffuse/main.py:849 msgid "_First Difference" msgstr "" -#: src/diffuse/main.py:842 +#: src/diffuse/main.py:850 msgid "_Previous Difference" msgstr "" -#: src/diffuse/main.py:843 +#: src/diffuse/main.py:851 msgid "_Next Difference" msgstr "" -#: src/diffuse/main.py:844 +#: src/diffuse/main.py:852 msgid "_Last Difference" msgstr "" -#: src/diffuse/main.py:846 +#: src/diffuse/main.py:854 msgid "Fir_st Tab" msgstr "" -#: src/diffuse/main.py:847 +#: src/diffuse/main.py:855 msgid "Pre_vious Tab" msgstr "" -#: src/diffuse/main.py:848 +#: src/diffuse/main.py:856 msgid "Next _Tab" msgstr "" -#: src/diffuse/main.py:849 +#: src/diffuse/main.py:857 msgid "Las_t Tab" msgstr "" -#: src/diffuse/main.py:851 +#: src/diffuse/main.py:859 msgid "Shift Pane _Right" msgstr "" -#: src/diffuse/main.py:852 +#: src/diffuse/main.py:860 msgid "Shift Pane _Left" msgstr "" -#: src/diffuse/main.py:855 +#: src/diffuse/main.py:863 msgid "F_ormat" msgstr "" -#: src/diffuse/main.py:856 +#: src/diffuse/main.py:864 msgid "Convert To _Upper Case" msgstr "" -#: src/diffuse/main.py:857 +#: src/diffuse/main.py:865 msgid "Convert To _Lower Case" msgstr "" -#: src/diffuse/main.py:859 +#: src/diffuse/main.py:867 msgid "Sort Lines In _Ascending Order" msgstr "" -#: src/diffuse/main.py:860 +#: src/diffuse/main.py:868 msgid "Sort Lines In D_escending Order" msgstr "" -#: src/diffuse/main.py:862 +#: src/diffuse/main.py:870 msgid "Remove Trailing _White Space" msgstr "" -#: src/diffuse/main.py:863 +#: src/diffuse/main.py:871 msgid "Convert Tabs To _Spaces" msgstr "" -#: src/diffuse/main.py:864 +#: src/diffuse/main.py:872 msgid "Convert Leading Spaces To _Tabs" msgstr "" -#: src/diffuse/main.py:866 +#: src/diffuse/main.py:874 msgid "_Increase Indenting" msgstr "" -#: src/diffuse/main.py:867 +#: src/diffuse/main.py:875 msgid "De_crease Indenting" msgstr "" -#: src/diffuse/main.py:869 +#: src/diffuse/main.py:877 msgid "Convert To _DOS Format" msgstr "" -#: src/diffuse/main.py:870 +#: src/diffuse/main.py:878 msgid "Convert To _Mac Format" msgstr "" -#: src/diffuse/main.py:871 +#: src/diffuse/main.py:879 msgid "Convert To Uni_x Format" msgstr "" -#: src/diffuse/main.py:874 +#: src/diffuse/main.py:882 msgid "_Merge" msgstr "" -#: src/diffuse/main.py:875 +#: src/diffuse/main.py:883 msgid "Copy Selection _Right" msgstr "" -#: src/diffuse/main.py:876 +#: src/diffuse/main.py:884 msgid "Copy Selection _Left" msgstr "" -#: src/diffuse/main.py:878 +#: src/diffuse/main.py:886 msgid "Copy Left _Into Selection" msgstr "" -#: src/diffuse/main.py:879 +#: src/diffuse/main.py:887 msgid "Copy Right I_nto Selection" msgstr "" -#: src/diffuse/main.py:880 +#: src/diffuse/main.py:888 msgid "_Merge From Left Then Right" msgstr "" -#: src/diffuse/main.py:881 +#: src/diffuse/main.py:889 msgid "M_erge From Right Then Left" msgstr "" -#: src/diffuse/main.py:884 +#: src/diffuse/main.py:892 msgid "_Help" msgstr "" -#: src/diffuse/main.py:885 +#: src/diffuse/main.py:893 msgid "_Help Contents..." msgstr "" -#: src/diffuse/main.py:887 +#: src/diffuse/main.py:895 #, python-format msgid "_About %s..." msgstr "" -#: src/diffuse/main.py:902 +#: src/diffuse/main.py:910 msgid "New 2-Way File Merge" msgstr "" -#: src/diffuse/main.py:903 +#: src/diffuse/main.py:911 msgid "New 3-Way File Merge" msgstr "" -#: src/diffuse/main.py:905 +#: src/diffuse/main.py:913 msgid "Realign All" msgstr "" -#: src/diffuse/main.py:906 +#: src/diffuse/main.py:914 msgid "First Difference" msgstr "" -#: src/diffuse/main.py:907 +#: src/diffuse/main.py:915 msgid "Previous Difference" msgstr "" -#: src/diffuse/main.py:908 +#: src/diffuse/main.py:916 msgid "Next Difference" msgstr "" -#: src/diffuse/main.py:909 +#: src/diffuse/main.py:917 msgid "Last Difference" msgstr "" -#: src/diffuse/main.py:911 +#: src/diffuse/main.py:919 msgid "Copy Selection Right" msgstr "" -#: src/diffuse/main.py:912 +#: src/diffuse/main.py:920 msgid "Copy Selection Left" msgstr "" -#: src/diffuse/main.py:913 +#: src/diffuse/main.py:921 msgid "Copy Left Into Selection" msgstr "" -#: src/diffuse/main.py:914 +#: src/diffuse/main.py:922 msgid "Copy Right Into Selection" msgstr "" -#: src/diffuse/main.py:915 +#: src/diffuse/main.py:923 msgid "Merge From Left Then Right" msgstr "" -#: src/diffuse/main.py:916 +#: src/diffuse/main.py:924 msgid "Merge From Right Then Left" msgstr "" -#: src/diffuse/main.py:918 +#: src/diffuse/main.py:926 msgid "Undo" msgstr "" -#: src/diffuse/main.py:919 +#: src/diffuse/main.py:927 msgid "Redo" msgstr "" -#: src/diffuse/main.py:920 src/diffuse/widgets.py:1847 +#: src/diffuse/main.py:928 src/diffuse/widgets.py:1849 msgid "Cut" msgstr "" -#: src/diffuse/main.py:921 src/diffuse/widgets.py:1848 +#: src/diffuse/main.py:929 src/diffuse/widgets.py:1850 msgid "Copy" msgstr "" -#: src/diffuse/main.py:922 src/diffuse/widgets.py:1849 +#: src/diffuse/main.py:930 src/diffuse/widgets.py:1851 msgid "Paste" msgstr "" -#: src/diffuse/main.py:923 src/diffuse/widgets.py:1852 +#: src/diffuse/main.py:931 src/diffuse/widgets.py:1854 msgid "Clear Edits" msgstr "" -#: src/diffuse/main.py:1046 +#: src/diffuse/main.py:1054 msgid "Some files have unsaved changes. Select the files to save before closing." msgstr "" -#: src/diffuse/main.py:1060 +#: src/diffuse/main.py:1068 msgid "Tab" msgstr "" -#: src/diffuse/main.py:1065 +#: src/diffuse/main.py:1073 msgid "Pane" msgstr "" -#: src/diffuse/main.py:1076 +#: src/diffuse/main.py:1084 msgid "Close _Without Saving" msgstr "" -#: src/diffuse/main.py:1115 +#: src/diffuse/main.py:1123 #, python-format msgid "Closing this tab will quit %s." msgstr "" -#: src/diffuse/main.py:1198 +#: src/diffuse/main.py:1206 #, python-format msgid "File Merge %d" msgstr "" -#: src/diffuse/main.py:1304 +#: src/diffuse/main.py:1312 #, python-format msgid "Error retrieving commits for %s." msgstr "" -#: src/diffuse/main.py:1336 +#: src/diffuse/main.py:1344 #, python-format msgid "Error retrieving modifications for %s." msgstr "" -#: src/diffuse/main.py:1369 +#: src/diffuse/main.py:1377 msgid "Open File In New Tab" msgstr "" -#: src/diffuse/main.py:1392 +#: src/diffuse/main.py:1400 msgid "Choose Folder With Modified Files" msgstr "" -#: src/diffuse/main.py:1410 +#: src/diffuse/main.py:1418 msgid "No modified files found." msgstr "" -#: src/diffuse/main.py:1416 +#: src/diffuse/main.py:1424 msgid "Choose Folder With Commit" msgstr "" -#: src/diffuse/main.py:1436 +#: src/diffuse/main.py:1444 msgid "No committed files found." msgstr "" -#: src/diffuse/main.py:1472 +#: src/diffuse/main.py:1480 msgid "New N-Way File Merge..." msgstr "" -#: src/diffuse/main.py:1473 +#: src/diffuse/main.py:1481 msgid "Number of panes: " msgstr "" -#: src/diffuse/main.py:1547 +#: src/diffuse/main.py:1555 msgid "Phrase not found. Continue from the end of the file?" msgstr "" -#: src/diffuse/main.py:1549 +#: src/diffuse/main.py:1557 msgid "Phrase not found. Continue from the start of the file?" msgstr "" -#: src/diffuse/main.py:1770 +#: src/diffuse/main.py:1778 msgid "" "Usage:\n" " diffuse [OPTION...] [FILE...]\n" @@ -642,174 +642,174 @@ msgid "" " ( -w | --ignore-all-space ) Ignore white space differences" msgstr "" -#: src/diffuse/main.py:1937 +#: src/diffuse/main.py:1945 msgid "Error parsing line number." msgstr "" -#: src/diffuse/main.py:1947 -#, python-format -msgid "Skipping unknown argument \"%s\"." -msgstr "" - #: src/diffuse/main.py:1955 #, python-format +msgid "Skipping unknown argument \"%s\"." +msgstr "" + +#: src/diffuse/main.py:1963 +#, python-format msgid "Error processing argument \"%s\". Directory not expected." msgstr "" -#: src/diffuse/preferences.py:79 +#: src/diffuse/preferences.py:80 msgid "Display" msgstr "" -#: src/diffuse/preferences.py:82 +#: src/diffuse/preferences.py:83 msgid "Font" msgstr "" -#: src/diffuse/preferences.py:83 +#: src/diffuse/preferences.py:84 msgid "Tab width" msgstr "" -#: src/diffuse/preferences.py:84 +#: src/diffuse/preferences.py:85 msgid "Show right margin" msgstr "" -#: src/diffuse/preferences.py:85 +#: src/diffuse/preferences.py:86 msgid "Right margin" msgstr "" -#: src/diffuse/preferences.py:86 +#: src/diffuse/preferences.py:87 msgid "Show line numbers" msgstr "" -#: src/diffuse/preferences.py:87 +#: src/diffuse/preferences.py:88 msgid "Show white space characters" msgstr "" -#: src/diffuse/preferences.py:88 +#: src/diffuse/preferences.py:89 msgid "Ignore case differences" msgstr "" -#: src/diffuse/preferences.py:89 +#: src/diffuse/preferences.py:90 msgid "Ignore white space differences" msgstr "" -#: src/diffuse/preferences.py:90 src/diffuse/preferences.py:99 +#: src/diffuse/preferences.py:91 src/diffuse/preferences.py:100 msgid "Ignore changes to white space" msgstr "" -#: src/diffuse/preferences.py:91 +#: src/diffuse/preferences.py:92 msgid "Ignore blank line differences" msgstr "" -#: src/diffuse/preferences.py:92 +#: src/diffuse/preferences.py:93 msgid "Ignore end of line differences" msgstr "" -#: src/diffuse/preferences.py:94 +#: src/diffuse/preferences.py:95 msgid "Alignment" msgstr "" -#: src/diffuse/preferences.py:97 +#: src/diffuse/preferences.py:98 msgid "Ignore case" msgstr "" -#: src/diffuse/preferences.py:98 +#: src/diffuse/preferences.py:99 msgid "Ignore white space" msgstr "" -#: src/diffuse/preferences.py:100 +#: src/diffuse/preferences.py:101 msgid "Ignore blank lines" msgstr "" -#: src/diffuse/preferences.py:101 +#: src/diffuse/preferences.py:102 msgid "Ignore end of line characters" msgstr "" -#: src/diffuse/preferences.py:103 +#: src/diffuse/preferences.py:104 msgid "Editor" msgstr "" -#: src/diffuse/preferences.py:106 +#: src/diffuse/preferences.py:107 msgid "Auto indent" msgstr "" -#: src/diffuse/preferences.py:107 +#: src/diffuse/preferences.py:108 msgid "Expand tabs to spaces" msgstr "" -#: src/diffuse/preferences.py:108 +#: src/diffuse/preferences.py:109 msgid "Soft tab width" msgstr "" -#: src/diffuse/preferences.py:110 +#: src/diffuse/preferences.py:111 msgid "Tabs" msgstr "" -#: src/diffuse/preferences.py:113 +#: src/diffuse/preferences.py:114 msgid "Default panes" msgstr "" -#: src/diffuse/preferences.py:114 +#: src/diffuse/preferences.py:115 msgid "Always show the tab bar" msgstr "" -#: src/diffuse/preferences.py:115 +#: src/diffuse/preferences.py:116 #, python-format msgid "Warn me when closing a tab will quit %s" msgstr "" -#: src/diffuse/preferences.py:117 +#: src/diffuse/preferences.py:118 msgid "Regional Settings" msgstr "" -#: src/diffuse/preferences.py:120 +#: src/diffuse/preferences.py:121 msgid "Default codec" msgstr "" -#: src/diffuse/preferences.py:121 +#: src/diffuse/preferences.py:122 msgid "Order of codecs used to identify encoding" msgstr "" -#: src/diffuse/preferences.py:142 +#: src/diffuse/preferences.py:143 msgid "Cygwin" msgstr "" -#: src/diffuse/preferences.py:144 +#: src/diffuse/preferences.py:145 msgid "Root directory" msgstr "" -#: src/diffuse/preferences.py:145 +#: src/diffuse/preferences.py:146 msgid "Cygdrive prefix" msgstr "" -#: src/diffuse/preferences.py:164 +#: src/diffuse/preferences.py:165 msgid "Version control system search order" msgstr "" -#: src/diffuse/preferences.py:172 +#: src/diffuse/preferences.py:173 msgid "\"co\" command" msgstr "" -#: src/diffuse/preferences.py:173 +#: src/diffuse/preferences.py:174 msgid "\"rlog\" command" msgstr "" -#: src/diffuse/preferences.py:175 +#: src/diffuse/preferences.py:176 msgid "Command" msgstr "" -#: src/diffuse/preferences.py:181 +#: src/diffuse/preferences.py:182 msgid "Launch from a Bash login shell" msgstr "" -#: src/diffuse/preferences.py:188 +#: src/diffuse/preferences.py:189 msgid "Update paths for Cygwin" msgstr "" -#: src/diffuse/preferences.py:193 +#: src/diffuse/preferences.py:194 msgid "Version Control" msgstr "" -#: src/diffuse/preferences.py:258 +#: src/diffuse/preferences.py:259 msgid "Preferences" msgstr "" @@ -841,7 +841,7 @@ msgstr "" #: src/diffuse/resources.py:409 #, python-brace-format -msgid "Options \"{option}\" is unknown" +msgid "Option \"{option}\" is unknown" msgstr "" #: src/diffuse/resources.py:416 @@ -894,36 +894,36 @@ msgstr "" msgid "Unhandled error at line {line} of {file}." msgstr "" -#: src/diffuse/utils.py:63 +#: src/diffuse/utils.py:66 msgid "Auto Detect" msgstr "" -#: src/diffuse/vcs/cvs.py:53 src/diffuse/vcs/rcs.py:62 src/diffuse/vcs/svn.py:95 +#: src/diffuse/vcs/cvs.py:54 src/diffuse/vcs/rcs.py:63 src/diffuse/vcs/svn.py:97 #, python-format msgid "Error parsing revision %s." msgstr "" -#: src/diffuse/vcs/vcs_registry.py:233 +#: src/diffuse/vcs/vcs_registry.py:238 #, python-format msgid "Error parsing %s." msgstr "" -#: src/diffuse/widgets.py:1843 +#: src/diffuse/widgets.py:1845 msgid "Align with Selection" msgstr "" -#: src/diffuse/widgets.py:1844 +#: src/diffuse/widgets.py:1846 msgid "Isolate" msgstr "" -#: src/diffuse/widgets.py:1845 +#: src/diffuse/widgets.py:1847 msgid "Merge Selection" msgstr "" -#: src/diffuse/widgets.py:1851 +#: src/diffuse/widgets.py:1853 msgid "Select All" msgstr "" -#: src/diffuse/widgets.py:1854 +#: src/diffuse/widgets.py:1856 msgid "Swap with Selected Pane" msgstr "" diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..06284e6 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,1003 @@ +# French translations for Diffuse package. +# Copyright (C) 2021 Romain Failliot +# This file is distributed under the same license as the Diffuse package. +# Romain Failliot , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-04-04 12:00-0400\n" +"PO-Revision-Date: 2022-04-04 11:58-0400\n" +"Last-Translator: Romain Failliot \n" +"Language-Team: French\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Poedit 3.0.1\n" + +#: data/io.github.mightycreak.Diffuse.desktop.in:3 +#: data/io.github.mightycreak.Diffuse.appdata.xml.in:4 +msgid "Diffuse" +msgstr "Diffuse" + +#: data/io.github.mightycreak.Diffuse.desktop.in:4 +#: data/io.github.mightycreak.Diffuse.appdata.xml.in:5 +msgid "Graphical tool for merging and comparing text files" +msgstr "Outil graphique pour fusionner et comparer des fichiers texte" + +#: data/io.github.mightycreak.Diffuse.appdata.xml.in:7 +msgid "" +"Diffuse is a graphical tool for comparing and merging text files. It can retrieve " +"files for comparison from Bazaar, CVS, Darcs, Git, Mercurial, Monotone, RCS, " +"Subversion, and SVK repositories." +msgstr "" +"Diffuse est un outil graphique pour comparer et fusionner des fichiers textes. Il " +"peut récupérer et comparer les fichiers à partir de dépôts Bazaar, CVS, Darcs, " +"Git, Mercurial, Monotone, RCS, Subversion, et SVK." + +#: data/io.github.mightycreak.Diffuse.appdata.xml.in:21 +msgid "Main window: diff between two files" +msgstr "Fenêtre principale: diff entre deux fichiers" + +#: src/diffuse/constants.py:25 +msgid "Copyright" +msgstr "Copyright" + +#: src/diffuse/dialogs.py:40 +msgid "Diffuse is a graphical tool for merging and comparing text files." +msgstr "" +"Diffuse est un outil graphique pour fusionner et comparer des fichiers textes." + +#: src/diffuse/dialogs.py:45 +msgid "translator-credits" +msgstr "Romain Failliot " + +#: src/diffuse/dialogs.py:49 +msgid "" +"This program is free software; you can redistribute it and/or modify\n" +"it under the terms of the GNU General Public License as published by\n" +"the Free Software Foundation; either version 2 of the License, or\n" +"(at your option) any later version.\n" +"\n" +"This program is distributed in the hope that it will be useful,\n" +"but WITHOUT ANY WARRANTY; without even the implied warranty of\n" +"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" +"GNU General Public License for more details.\n" +"\n" +"You should have received a copy of the GNU General Public License along\n" +"with this program; if not, write to the Free Software Foundation, Inc.,\n" +"51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA." +msgstr "" +"This program is free software; you can redistribute it and/or modify\n" +"it under the terms of the GNU General Public License as published by\n" +"the Free Software Foundation; either version 2 of the License, or\n" +"(at your option) any later version.\n" +"\n" +"This program is distributed in the hope that it will be useful,\n" +"but WITHOUT ANY WARRANTY; without even the implied warranty of\n" +"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" +"GNU General Public License for more details.\n" +"\n" +"You should have received a copy of the GNU General Public License along\n" +"with this program; if not, write to the Free Software Foundation, Inc.,\n" +"51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA." + +#: src/diffuse/dialogs.py:83 +msgid "Encoding: " +msgstr "Encodage: " + +#: src/diffuse/dialogs.py:95 +msgid "Revision: " +msgstr "Révision: " + +#: src/diffuse/dialogs.py:151 +msgid "Find..." +msgstr "Rechercher..." + +#: src/diffuse/dialogs.py:159 +msgid "Search For: " +msgstr "Rechercher: " + +#: src/diffuse/dialogs.py:184 +msgid "Match Case" +msgstr "Respecter la casse" + +#: src/diffuse/dialogs.py:189 +msgid "Search Backwards" +msgstr "Rechercher vers le haut" + +#: src/diffuse/main.py:85 +msgid "Close Tab" +msgstr "Fermer l'onglet" + +#: src/diffuse/main.py:132 +msgid "Open File..." +msgstr "Ouvrir un fichier..." + +#: src/diffuse/main.py:133 +msgid "Reload File" +msgstr "Recharger le fichier" + +#: src/diffuse/main.py:134 +msgid "Save File" +msgstr "Enregistrer le fichier" + +#: src/diffuse/main.py:135 +msgid "Save File As..." +msgstr "Enregistrer le fichier sous..." + +#: src/diffuse/main.py:288 +msgid "Save changes before loading the new file?" +msgstr "Sauvegarder les changements avant de charger le nouveau fichier?" + +#: src/diffuse/main.py:399 +#, python-format +msgid "Error reading revision %(rev)s of %(file)s." +msgstr "Erreur durant la lecture de %(file)s à la révision %(rev)s." + +#: src/diffuse/main.py:402 src/diffuse/main.py:1857 +#, python-format +msgid "Error reading %s." +msgstr "Erreur durant la lecture de %s." + +#: src/diffuse/main.py:424 +msgid "Open File" +msgstr "Ouvrir un fichier" + +#: src/diffuse/main.py:481 +#, python-format +msgid "The file %s changed on disk. Do you want to reload the file?" +msgstr "Le fichier %s a changé sur le disque. Voulez-vous recharger le fichier?" + +#: src/diffuse/main.py:507 +#, python-format +msgid "Save %(title)s Pane %(pane)d" +msgstr "Sauvegarder %(title)s Panel %(pane)d" + +#: src/diffuse/main.py:539 +#, python-format +msgid "A file named %s already exists. Do you want to overwrite it?" +msgstr "Un fichier nommé %s existe déjà. Voulez-vous l'écraser?" + +#: src/diffuse/main.py:546 +#, python-format +msgid "" +"The file %s has been modified by another process since reading it. If you save, " +"all the external changes could be lost. Save anyways?" +msgstr "" +"Le fichier %s a été modifié par un autre process depuis la dernière lecture. Si " +"vous sauvegardez, tous les changements externes pourraient être perdus. " +"Sauvegarder quand même?" + +#: src/diffuse/main.py:588 +#, python-format +msgid "Error encoding to %s." +msgstr "Erreur durant l'encodage vers %s." + +#: src/diffuse/main.py:592 src/diffuse/preferences.py:299 +#, python-format +msgid "Error writing %s." +msgstr "Erreur à l'écriture de %s." + +#: src/diffuse/main.py:622 +msgid "Go To Line..." +msgstr "Aller à la ligne..." + +#: src/diffuse/main.py:623 +msgid "Line Number: " +msgstr "Numéro de la ligne: " + +#: src/diffuse/main.py:654 +msgid "" +"Press the enter key or double click to edit. Press the space bar or use the RMB " +"menu to manually align." +msgstr "" +"Appuyez sur Entrée ou double-cliquer pour éditer. Appuyez sur la barre Espace ou " +"utiliser le menu du clic droit pour aligner manuellement." + +#: src/diffuse/main.py:658 +msgid "Press the escape key to finish editing." +msgstr "Appuyez sur Échap pour finir l'édition." + +#: src/diffuse/main.py:661 +msgid "" +"Select target line and press the space bar to align. Press the escape key to " +"cancel." +msgstr "" +"Sélectionner la ligne de destination et appuyez sur la barre Espace pour aligner. " +"Appuyez sur Échap pour annuler." + +#: src/diffuse/main.py:784 +msgid "_File" +msgstr "_Fichier" + +#: src/diffuse/main.py:785 +msgid "_Open File..." +msgstr "_Ouvrir un fichier..." + +#: src/diffuse/main.py:786 +msgid "Open File In New _Tab..." +msgstr "Ouvrir un fichier dans un nouvel ongle_t..." + +#: src/diffuse/main.py:787 +msgid "Open _Modified Files..." +msgstr "Ouvrir les fichiers _modifiés..." + +#: src/diffuse/main.py:788 +msgid "Open Commi_t..." +msgstr "Ouvrir un commi_t..." + +#: src/diffuse/main.py:789 +msgid "_Reload File" +msgstr "Recharger le fichier" + +#: src/diffuse/main.py:791 +msgid "_Save File" +msgstr "_Enregistrer le fichier" + +#: src/diffuse/main.py:792 +msgid "Save File _As..." +msgstr "_Enregistrer le fichier sous..." + +#: src/diffuse/main.py:793 +msgid "Save A_ll" +msgstr "_Enregistrer tous" + +#: src/diffuse/main.py:795 +msgid "New _2-Way File Merge" +msgstr "Nouvelle fusion à _2 panneaux" + +#: src/diffuse/main.py:796 +msgid "New _3-Way File Merge" +msgstr "Nouvelle fusion à _3 panneaux" + +#: src/diffuse/main.py:797 +msgid "New _N-Way File Merge..." +msgstr "Nouvelle fusion à _N panneaux..." + +#: src/diffuse/main.py:799 +msgid "_Close Tab" +msgstr "Fermer l'onglet" + +#: src/diffuse/main.py:800 +msgid "_Undo Close Tab" +msgstr "Annuler la fermeture de l'onglet" + +#: src/diffuse/main.py:801 +msgid "_Quit" +msgstr "_Quitter" + +#: src/diffuse/main.py:804 +msgid "_Edit" +msgstr "_Édition" + +#: src/diffuse/main.py:805 +msgid "_Undo" +msgstr "Annuler" + +#: src/diffuse/main.py:806 +msgid "_Redo" +msgstr "Refaire" + +#: src/diffuse/main.py:808 +msgid "Cu_t" +msgstr "Cou_per" + +#: src/diffuse/main.py:809 +msgid "_Copy" +msgstr "_Copier" + +#: src/diffuse/main.py:810 +msgid "_Paste" +msgstr "Co_ller" + +#: src/diffuse/main.py:812 +msgid "Select _All" +msgstr "_Tout sélectionner" + +#: src/diffuse/main.py:813 +msgid "C_lear Edits" +msgstr "Effacer les changements" + +#: src/diffuse/main.py:814 +msgid "_Dismiss All Edits" +msgstr "Effacer tous les changements" + +#: src/diffuse/main.py:816 +msgid "_Find..." +msgstr "_Rechercher..." + +#: src/diffuse/main.py:817 +msgid "Find _Next" +msgstr "Recherche _suivante" + +#: src/diffuse/main.py:818 +msgid "Find Pre_vious" +msgstr "Rechercher _précédente" + +#: src/diffuse/main.py:819 +msgid "_Go To Line..." +msgstr "_Aller à la ligne..." + +#: src/diffuse/main.py:821 +msgid "Pr_eferences..." +msgstr "_Préférences..." + +#: src/diffuse/main.py:825 +msgid "None" +msgstr "Aucune" + +#: src/diffuse/main.py:843 +msgid "_View" +msgstr "_Vue" + +#: src/diffuse/main.py:844 +msgid "_Syntax Highlighting" +msgstr "Coloration _syntaxique" + +#: src/diffuse/main.py:846 +msgid "Re_align All" +msgstr "Tout _réaligner" + +#: src/diffuse/main.py:847 +msgid "_Isolate" +msgstr "_Isoler" + +#: src/diffuse/main.py:849 +msgid "_First Difference" +msgstr "_Première différence" + +#: src/diffuse/main.py:850 +msgid "_Previous Difference" +msgstr "Différence _précédente" + +#: src/diffuse/main.py:851 +msgid "_Next Difference" +msgstr "Différence _suivante" + +#: src/diffuse/main.py:852 +msgid "_Last Difference" +msgstr "_Dernière différence" + +#: src/diffuse/main.py:854 +msgid "Fir_st Tab" +msgstr "_Premier onglet" + +#: src/diffuse/main.py:855 +msgid "Pre_vious Tab" +msgstr "Onglet _précédent" + +#: src/diffuse/main.py:856 +msgid "Next _Tab" +msgstr "Onglet _suivant" + +#: src/diffuse/main.py:857 +msgid "Las_t Tab" +msgstr "_Dernier onglet" + +#: src/diffuse/main.py:859 +msgid "Shift Pane _Right" +msgstr "Décaler le panneau à droite" + +#: src/diffuse/main.py:860 +msgid "Shift Pane _Left" +msgstr "Décaler le panneau à gauche" + +#: src/diffuse/main.py:863 +msgid "F_ormat" +msgstr "F_ormater" + +#: src/diffuse/main.py:864 +msgid "Convert To _Upper Case" +msgstr "Convertir en majuscules" + +#: src/diffuse/main.py:865 +msgid "Convert To _Lower Case" +msgstr "Convertir en minuscules" + +#: src/diffuse/main.py:867 +msgid "Sort Lines In _Ascending Order" +msgstr "Trier les lignes en ordre croissant" + +#: src/diffuse/main.py:868 +msgid "Sort Lines In D_escending Order" +msgstr "Trier les lignes en ordre décroissant" + +#: src/diffuse/main.py:870 +msgid "Remove Trailing _White Space" +msgstr "Supprimer les espaces en fin de ligne" + +#: src/diffuse/main.py:871 +msgid "Convert Tabs To _Spaces" +msgstr "Convertir les tabulations en espaces" + +#: src/diffuse/main.py:872 +msgid "Convert Leading Spaces To _Tabs" +msgstr "Convertir les espaces de début de ligne en tabulations" + +#: src/diffuse/main.py:874 +msgid "_Increase Indenting" +msgstr "Augmenter l'indentation" + +#: src/diffuse/main.py:875 +msgid "De_crease Indenting" +msgstr "Diminuer l'indentation" + +#: src/diffuse/main.py:877 +msgid "Convert To _DOS Format" +msgstr "Convertir au format _DOS" + +#: src/diffuse/main.py:878 +msgid "Convert To _Mac Format" +msgstr "Convertir au format _Mac" + +#: src/diffuse/main.py:879 +msgid "Convert To Uni_x Format" +msgstr "Convertir au format Uni_x" + +#: src/diffuse/main.py:882 +msgid "_Merge" +msgstr "Fusionner" + +#: src/diffuse/main.py:883 +msgid "Copy Selection _Right" +msgstr "Copier la sélection vers la droite" + +#: src/diffuse/main.py:884 +msgid "Copy Selection _Left" +msgstr "Copier la sélection vers la gauche" + +#: src/diffuse/main.py:886 +msgid "Copy Left _Into Selection" +msgstr "Copier la gauche vers la sélection" + +#: src/diffuse/main.py:887 +msgid "Copy Right I_nto Selection" +msgstr "Copier la droite vers la sélection" + +#: src/diffuse/main.py:888 +msgid "_Merge From Left Then Right" +msgstr "Fusionner de la gauche puis la droite" + +#: src/diffuse/main.py:889 +msgid "M_erge From Right Then Left" +msgstr "Fusionner de la droite puis la gauche" + +#: src/diffuse/main.py:892 +msgid "_Help" +msgstr "Aide" + +#: src/diffuse/main.py:893 +msgid "_Help Contents..." +msgstr "Contenu de l'aide..." + +#: src/diffuse/main.py:895 +#, python-format +msgid "_About %s..." +msgstr "À propos de %s..." + +#: src/diffuse/main.py:910 +msgid "New 2-Way File Merge" +msgstr "Nouvelle fusion à 2 panneaux" + +#: src/diffuse/main.py:911 +msgid "New 3-Way File Merge" +msgstr "Nouvelle fusion à 3 panneaux" + +#: src/diffuse/main.py:913 +msgid "Realign All" +msgstr "Tout réaligner" + +#: src/diffuse/main.py:914 +msgid "First Difference" +msgstr "Première différence" + +#: src/diffuse/main.py:915 +msgid "Previous Difference" +msgstr "Différence précédente" + +#: src/diffuse/main.py:916 +msgid "Next Difference" +msgstr "Différence suivante" + +#: src/diffuse/main.py:917 +msgid "Last Difference" +msgstr "Dernière différence" + +#: src/diffuse/main.py:919 +msgid "Copy Selection Right" +msgstr "Copier la sélection vers la droite" + +#: src/diffuse/main.py:920 +msgid "Copy Selection Left" +msgstr "Copier la sélection vers la gauche" + +#: src/diffuse/main.py:921 +msgid "Copy Left Into Selection" +msgstr "Copier la gauche vers la sélection" + +#: src/diffuse/main.py:922 +msgid "Copy Right Into Selection" +msgstr "Copier la droite vers la sélection" + +#: src/diffuse/main.py:923 +msgid "Merge From Left Then Right" +msgstr "Fusionner de la gauche puis la droite" + +#: src/diffuse/main.py:924 +msgid "Merge From Right Then Left" +msgstr "Fusionner de la droite puis la gauche" + +#: src/diffuse/main.py:926 +msgid "Undo" +msgstr "Annuler" + +#: src/diffuse/main.py:927 +msgid "Redo" +msgstr "Refaire" + +#: src/diffuse/main.py:928 src/diffuse/widgets.py:1849 +msgid "Cut" +msgstr "Couper" + +#: src/diffuse/main.py:929 src/diffuse/widgets.py:1850 +msgid "Copy" +msgstr "Copier" + +#: src/diffuse/main.py:930 src/diffuse/widgets.py:1851 +msgid "Paste" +msgstr "Coller" + +#: src/diffuse/main.py:931 src/diffuse/widgets.py:1854 +msgid "Clear Edits" +msgstr "Effacer les changements" + +#: src/diffuse/main.py:1054 +msgid "Some files have unsaved changes. Select the files to save before closing." +msgstr "" +"Certains fichiers ne sont pas encore sauvegarder. Sélectionner les fichiers à " +"sauvegarder avant de fermer." + +#: src/diffuse/main.py:1068 +msgid "Tab" +msgstr "Onglet" + +#: src/diffuse/main.py:1073 +msgid "Pane" +msgstr "Panneau" + +#: src/diffuse/main.py:1084 +msgid "Close _Without Saving" +msgstr "Fermer sans sauvegarder" + +#: src/diffuse/main.py:1123 +#, python-format +msgid "Closing this tab will quit %s." +msgstr "Fermer cet onglet fermera %s." + +#: src/diffuse/main.py:1206 +#, python-format +msgid "File Merge %d" +msgstr "Ficher fusionné %d" + +#: src/diffuse/main.py:1312 +#, python-format +msgid "Error retrieving commits for %s." +msgstr "Erreur à la récupération des commits de %s." + +#: src/diffuse/main.py:1344 +#, python-format +msgid "Error retrieving modifications for %s." +msgstr "Erreur à la récupération des changements de %s." + +#: src/diffuse/main.py:1377 +msgid "Open File In New Tab" +msgstr "Ouvrir le fichier dans un nouvel onglet" + +#: src/diffuse/main.py:1400 +msgid "Choose Folder With Modified Files" +msgstr "Choisir un dossier avec les fichiers modifiés" + +#: src/diffuse/main.py:1418 +msgid "No modified files found." +msgstr "Aucun fichier modifié trouvé." + +#: src/diffuse/main.py:1424 +msgid "Choose Folder With Commit" +msgstr "Choisir un dossier avec des commits" + +#: src/diffuse/main.py:1444 +msgid "No committed files found." +msgstr "Aucun fichier commité trouvé." + +#: src/diffuse/main.py:1480 +msgid "New N-Way File Merge..." +msgstr "Nouvelle fusion à N panneaux..." + +#: src/diffuse/main.py:1481 +msgid "Number of panes: " +msgstr "Nombre de panneaux: " + +#: src/diffuse/main.py:1555 +msgid "Phrase not found. Continue from the end of the file?" +msgstr "Phrase non trouvée. Continuer à partir de la fin du fichier?" + +#: src/diffuse/main.py:1557 +msgid "Phrase not found. Continue from the start of the file?" +msgstr "Phrase non trouvée. Continuer à partir du début du fichier?" + +#: src/diffuse/main.py:1778 +msgid "" +"Usage:\n" +" diffuse [OPTION...] [FILE...]\n" +" diffuse ( -h | -? | --help | -v | --version )\n" +"\n" +"Diffuse is a graphical tool for merging and comparing text files. Diffuse is\n" +"able to compare an arbitrary number of files side-by-side and gives users the\n" +"ability to manually adjust line matching and directly edit files. Diffuse can\n" +"also retrieve revisions of files from several VCSs for comparison and merging.\n" +"\n" +"Help Options:\n" +" ( -h | -? | --help ) Display this usage information\n" +" ( -v | --version ) Display version and copyright information\n" +"\n" +"Configuration Options:\n" +" --no-rcfile Do not read any resource files\n" +" --rcfile Specify explicit resource file\n" +"\n" +"General Options:\n" +" ( -c | --commit ) File revisions and \n" +" ( -D | --close-if-same ) Close all tabs with no differences\n" +" ( -e | --encoding ) Use to read and write files\n" +" ( -L | --label )