aboutsummaryrefslogblamecommitdiff
path: root/utils-i18n.nix
blob: 95ae3126249fb783c7f4c9df3d1e238b0c6bc9e3 (plain) (tree)

























                                                                                                                      
                                    






















                                                                         




                                                                         

    
{ pkgs }: rec {
  sphinx-intl = with pkgs.python3.pkgs;
    buildPythonPackage rec {
      pname = "sphinx-intl";
      version = "2.0.1";
      src = fetchPypi {
        inherit pname version;
        sha256 = "1d1q0sanjp4nkfvhsxi75zf3xjyyi8nzxvl3v7l0jy9ld70nwnmj";
      };
      propagatedBuildInputs = with pkgs.python3Packages; [ Babel click sphinx ];
    };
  dicts = rec {
    mkDict = let
      prefix =
        "https://raw.githubusercontent.com/wooorm/dictionaries/61016e00e276f9bf5e52cbc6c02a45f2e49b2c7e/dictionaries";
    in { lang, dicSHA256, affSHA256 }:
    let
      dic = builtins.fetchurl {
        url = "${prefix}/${lang}/index.dic";
        sha256 = dicSHA256;
      };
      aff = builtins.fetchurl {
        url = "${prefix}/${lang}/index.aff";
        sha256 = affSHA256;
      };
    in pkgs.stdenv.mkDerivation {
      name = "website-dict-${lang}";
      builder = builtins.toFile "builder.sh" ''
        source $stdenv/setup
        install -dm755 $out/share/hunspell
        install -m644 ${dic} $out/share/hunspell/${lang}.dic
        install -m644 ${aff} $out/share/hunspell/${lang}.aff
        runHook postInstall
      '';
    };
    en = mkDict {
      lang = "en";
      dicSHA256 = "1k4660ccwwpwac0rc7b8ih3vd24kxgvljkrakv2l1f72yfpw3bp2";
      affSHA256 = "0yvc2fhc03y0y1gwjyb20ifcrxnzm3ama1fri9r5gna092fz3qca";
    };
    pt = mkDict {
      lang = "pt";
      dicSHA256 = "1z0kfxv8m361xhp4zwdlsn2ib8q3rnljj0b2s4482alyxpd00h9x";
      affSHA256 = "1ssj1g7qwh0lv3ajzvchwsfr7cgzrlqms28m1j3gm1y2avi50qhw";
    };
    fr = mkDict {
      lang = "fr";
      dicSHA256 = "10p6jlk9j117mjd1z3dp3vfszcvxqha11kfvksqhvrq4ld9xwzbn";
      affSHA256 = "0d6k608h7gm1za3vdq1fhlwqzz2zxg1z0bx1bfvi0spg4a2mn09p";
    };
    eo = mkDict {
      lang = "eo";
      dicSHA256 = "1hbs8f67kq953llcx8pm0rwi2ln2y693pva952fb9mjc4l99ic3m";
      affSHA256 = "198jaiab98xks5srizi3ww7sg5biqhjl7acjhrsrmcycp8jvns56";
    };
  };
}